aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2019-01-08 04:21:38 -0500
committerGravatar Andres Erbsen <andreser@mit.edu>2019-01-09 22:49:02 -0500
commit3ca227f1137e6a3b65bc33f5689e1c230d591595 (patch)
treee1e5a2dd2a2f34f239d3276227ddbdc69eeeb667
parent3ec21c64b3682465ca8e159a187689b207c71de4 (diff)
remove old pipeline
-rw-r--r--.travis.yml104
-rw-r--r--Makefile439
-rw-r--r--README.md339
-rw-r--r--_CoqProject6384
-rwxr-xr-xcapture.sh21
-rw-r--r--etc/measure.c (renamed from measure.c)0
-rw-r--r--expansion.md79
-rwxr-xr-xextract-function-header.sh41
-rwxr-xr-xextract-function.sh92
-rw-r--r--failures.txt144
-rw-r--r--generate_parameters.py372
-rw-r--r--liblow/cmovznz.c13
-rw-r--r--liblow/liblow.h3
-rw-r--r--measurements/2017-11-03-gcc/aggregate.sh4
-rw-r--r--measurements/2017-11-03-gcc/benchmarks.log652
-rw-r--r--measurements/2017-11-03-gcc/benchmarks2.log652
-rw-r--r--measurements/2017-11-03-gcc/setup34
-rw-r--r--measurements/2017-11-03/aggregate.sh8
-rw-r--r--measurements/2017-11-03/format.py31
-rw-r--r--measurements/2017-11-03/results-by-field.txt1119
-rw-r--r--measurements/2017-11-03/setop33
-rw-r--r--measurements/2017-11-03/table.tex358
-rw-r--r--measurements/2017-11-03/table.txt82
-rw-r--r--measurements/2017-11-10-android/first.txt13
-rw-r--r--measurements/2017-11-10-android/solinas32.txt94
-rw-r--r--measurements/2017-11-11-android/android32-bench-all.sh50
-rw-r--r--measurements/2017-11-11-android/c32.txt975
-rw-r--r--measurements/2017-11-11-android/results-by-field.txt195
-rw-r--r--measurements/2017-11-13-android/android32-bench-all.sh49
-rw-r--r--measurements/2017-11-13-android/measurements.txt276
-rw-r--r--measurements/2017-11-13-android/results-by-field.txt276
-rw-r--r--measurements/2017-11-13/results-by-field.txt571
-rwxr-xr-xmeasurements/2017-11-16/bench-android.sh48
-rw-r--r--measurements/2017-11-16/bench.sh26
-rw-r--r--measurements/2017-11-16/measurements-haswell.txt713
-rw-r--r--measurements/2017-11-16/measurements-krait.txt397
-rw-r--r--measurements/2017-11-16/missing-haswell.txt146
-rw-r--r--measurements/2017-11-16/missing-krait.txt106
-rw-r--r--measurements/gather_results.sh2
-rw-r--r--measurements/graph_aggregate_32.tex234
-rw-r--r--measurements/graph_aggregate_64.tex272
-rw-r--r--measurements/results-by-field-aggregate32.txt295
-rw-r--r--measurements/results-by-field-aggregate64.txt573
-rw-r--r--measurements/tolatex.py233
-rw-r--r--optimizations.md13
-rwxr-xr-xregenerate-curves.sh11
-rwxr-xr-xregister-allocate.py970
-rw-r--r--src/Arithmetic/Core.v1431
-rw-r--r--src/Arithmetic/CoreUnfolder.v400
-rw-r--r--src/Arithmetic/Karatsuba.v228
-rw-r--r--src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v61
-rw-r--r--src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Definition.v81
-rw-r--r--src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Proofs.v582
-rw-r--r--src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Proofs.v497
-rw-r--r--src/Arithmetic/MontgomeryReduction/WordByWord/Definition.v108
-rw-r--r--src/Arithmetic/MontgomeryReduction/WordByWord/Proofs.v329
-rw-r--r--src/Arithmetic/Saturated/AddSub.v285
-rw-r--r--src/Arithmetic/Saturated/Core.v485
-rw-r--r--src/Arithmetic/Saturated/CoreUnfolder.v97
-rw-r--r--src/Arithmetic/Saturated/Freeze.v145
-rw-r--r--src/Arithmetic/Saturated/FreezeUnfolder.v27
-rw-r--r--src/Arithmetic/Saturated/MontgomeryAPI.v691
-rw-r--r--src/Arithmetic/Saturated/MulSplit.v100
-rw-r--r--src/Arithmetic/Saturated/MulSplitUnfolder.v45
-rw-r--r--src/Arithmetic/Saturated/UniformWeight.v93
-rw-r--r--src/Arithmetic/Saturated/UniformWeightInstances.v34
-rw-r--r--src/Arithmetic/Saturated/Wrappers.v68
-rw-r--r--src/Arithmetic/Saturated/WrappersUnfolder.v45
-rw-r--r--src/Compilers/CommonSubexpressionElimination.v259
-rw-r--r--src/Compilers/CommonSubexpressionEliminationDenote.v120
-rw-r--r--src/Compilers/CommonSubexpressionEliminationInterp.v218
-rw-r--r--src/Compilers/CommonSubexpressionEliminationProperties.v189
-rw-r--r--src/Compilers/CommonSubexpressionEliminationWf.v223
-rw-r--r--src/Compilers/Conversion.v110
-rw-r--r--src/Compilers/CountLets.v66
-rw-r--r--src/Compilers/Equality.v90
-rw-r--r--src/Compilers/Eta.v75
-rw-r--r--src/Compilers/EtaInterp.v118
-rw-r--r--src/Compilers/EtaWf.v122
-rw-r--r--src/Compilers/ExprInversion.v359
-rw-r--r--src/Compilers/FilterLive.v70
-rw-r--r--src/Compilers/FoldTypes.v45
-rw-r--r--src/Compilers/GeneralizeVar.v39
-rw-r--r--src/Compilers/GeneralizeVarInterp.v79
-rw-r--r--src/Compilers/GeneralizeVarWf.v77
-rw-r--r--src/Compilers/InSet/Syntax.v84
-rw-r--r--src/Compilers/InSet/Typeify.v58
-rw-r--r--src/Compilers/InSet/TypeifyInterp.v114
-rw-r--r--src/Compilers/Inline.v104
-rw-r--r--src/Compilers/InlineConstAndOp.v149
-rw-r--r--src/Compilers/InlineConstAndOpByRewrite.v93
-rw-r--r--src/Compilers/InlineConstAndOpByRewriteInterp.v136
-rw-r--r--src/Compilers/InlineConstAndOpByRewriteWf.v171
-rw-r--r--src/Compilers/InlineConstAndOpInterp.v161
-rw-r--r--src/Compilers/InlineConstAndOpWf.v219
-rw-r--r--src/Compilers/InlineInterp.v137
-rw-r--r--src/Compilers/InlineWf.v231
-rw-r--r--src/Compilers/InputSyntax.v252
-rw-r--r--src/Compilers/InterpByIso.v33
-rw-r--r--src/Compilers/InterpByIsoProofs.v117
-rw-r--r--src/Compilers/InterpProofs.v66
-rw-r--r--src/Compilers/InterpRewriting.v197
-rw-r--r--src/Compilers/InterpSideConditions.v40
-rw-r--r--src/Compilers/InterpWf.v80
-rw-r--r--src/Compilers/InterpWfRel.v94
-rw-r--r--src/Compilers/Intros.v94
-rw-r--r--src/Compilers/Linearize.v97
-rw-r--r--src/Compilers/LinearizeInterp.v136
-rw-r--r--src/Compilers/LinearizeWf.v179
-rw-r--r--src/Compilers/Map.v30
-rw-r--r--src/Compilers/MapBaseType.v116
-rw-r--r--src/Compilers/MapBaseTypeWf.v117
-rw-r--r--src/Compilers/MapCastByDeBruijn.v62
-rw-r--r--src/Compilers/MapCastByDeBruijnInterp.v129
-rw-r--r--src/Compilers/MapCastByDeBruijnWf.v108
-rw-r--r--src/Compilers/MultiSizeTest.v277
-rw-r--r--src/Compilers/Named/AListContext.v143
-rw-r--r--src/Compilers/Named/Compile.v59
-rw-r--r--src/Compilers/Named/CompileInterp.v207
-rw-r--r--src/Compilers/Named/CompileInterpSideConditions.v253
-rw-r--r--src/Compilers/Named/CompileProperties.v74
-rw-r--r--src/Compilers/Named/CompileWf.v254
-rw-r--r--src/Compilers/Named/Context.v65
-rw-r--r--src/Compilers/Named/ContextDefinitions.v67
-rw-r--r--src/Compilers/Named/ContextOn.v24
-rw-r--r--src/Compilers/Named/ContextProperties.v181
-rw-r--r--src/Compilers/Named/ContextProperties/NameUtil.v161
-rw-r--r--src/Compilers/Named/ContextProperties/Proper.v142
-rw-r--r--src/Compilers/Named/ContextProperties/SmartMap.v299
-rw-r--r--src/Compilers/Named/ContextProperties/Tactics.v101
-rw-r--r--src/Compilers/Named/CountLets.v49
-rw-r--r--src/Compilers/Named/DeadCodeElimination.v54
-rw-r--r--src/Compilers/Named/DeadCodeEliminationInterp.v67
-rw-r--r--src/Compilers/Named/EstablishLiveness.v105
-rw-r--r--src/Compilers/Named/ExprInversion.v21
-rw-r--r--src/Compilers/Named/FMapContext.v70
-rw-r--r--src/Compilers/Named/GetNames.v38
-rw-r--r--src/Compilers/Named/IdContext.v27
-rw-r--r--src/Compilers/Named/InterpSideConditions.v54
-rw-r--r--src/Compilers/Named/InterpSideConditionsInterp.v45
-rw-r--r--src/Compilers/Named/InterpretToPHOAS.v65
-rw-r--r--src/Compilers/Named/InterpretToPHOASInterp.v89
-rw-r--r--src/Compilers/Named/InterpretToPHOASWf.v139
-rw-r--r--src/Compilers/Named/MapCast.v72
-rw-r--r--src/Compilers/Named/MapCastInterp.v290
-rw-r--r--src/Compilers/Named/MapCastWf.v285
-rw-r--r--src/Compilers/Named/MapType.v59
-rw-r--r--src/Compilers/Named/NameUtil.v56
-rw-r--r--src/Compilers/Named/NameUtilProperties.v223
-rw-r--r--src/Compilers/Named/PositiveContext.v8
-rw-r--r--src/Compilers/Named/PositiveContext/Defaults.v29
-rw-r--r--src/Compilers/Named/PositiveContext/DefaultsProperties.v38
-rw-r--r--src/Compilers/Named/RegisterAssign.v89
-rw-r--r--src/Compilers/Named/RegisterAssignInterp.v239
-rw-r--r--src/Compilers/Named/SmartMap.v20
-rw-r--r--src/Compilers/Named/Syntax.v92
-rw-r--r--src/Compilers/Named/WeakListContext.v10
-rw-r--r--src/Compilers/Named/Wf.v56
-rw-r--r--src/Compilers/Named/WfFromUnit.v82
-rw-r--r--src/Compilers/Named/WfInterp.v41
-rw-r--r--src/Compilers/Reify.v591
-rw-r--r--src/Compilers/Relations.v368
-rw-r--r--src/Compilers/RenameBinders.v78
-rw-r--r--src/Compilers/Rewriter.v39
-rw-r--r--src/Compilers/RewriterInterp.v50
-rw-r--r--src/Compilers/RewriterWf.v61
-rw-r--r--src/Compilers/SmartMap.v453
-rw-r--r--src/Compilers/StripExpr.v35
-rw-r--r--src/Compilers/Syntax.v154
-rw-r--r--src/Compilers/TestCase.v276
-rw-r--r--src/Compilers/Tuple.v88
-rw-r--r--src/Compilers/TypeInversion.v193
-rw-r--r--src/Compilers/TypeUtil.v35
-rw-r--r--src/Compilers/Wf.v68
-rw-r--r--src/Compilers/WfInversion.v208
-rw-r--r--src/Compilers/WfProofs.v473
-rw-r--r--src/Compilers/WfReflective.v280
-rw-r--r--src/Compilers/WfReflectiveGen.v334
-rw-r--r--src/Compilers/Z/ArithmeticSimplifier.v611
-rw-r--r--src/Compilers/Z/ArithmeticSimplifierInterp.v247
-rw-r--r--src/Compilers/Z/ArithmeticSimplifierUtil.v79
-rw-r--r--src/Compilers/Z/ArithmeticSimplifierWf.v218
-rw-r--r--src/Compilers/Z/BinaryNotationConstants.v3901
-rw-r--r--src/Compilers/Z/Bounds/Interpretation.v289
-rw-r--r--src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v214
-rw-r--r--src/Compilers/Z/Bounds/InterpretationLemmas/PullCast.v192
-rw-r--r--src/Compilers/Z/Bounds/InterpretationLemmas/Tactics.v197
-rw-r--r--src/Compilers/Z/Bounds/MapCastByDeBruijn.v24
-rw-r--r--src/Compilers/Z/Bounds/MapCastByDeBruijnInterp.v48
-rw-r--r--src/Compilers/Z/Bounds/MapCastByDeBruijnWf.v42
-rw-r--r--src/Compilers/Z/Bounds/Pipeline.v56
-rw-r--r--src/Compilers/Z/Bounds/Pipeline/Definition.v285
-rw-r--r--src/Compilers/Z/Bounds/Pipeline/Glue.v550
-rw-r--r--src/Compilers/Z/Bounds/Pipeline/OutputType.v52
-rw-r--r--src/Compilers/Z/Bounds/Pipeline/ReflectiveTactics.v362
-rw-r--r--src/Compilers/Z/Bounds/Relax.v135
-rw-r--r--src/Compilers/Z/Bounds/RoundUpLemmas.v34
-rw-r--r--src/Compilers/Z/CNotations.v12696
-rw-r--r--src/Compilers/Z/CommonSubexpressionElimination.v230
-rw-r--r--src/Compilers/Z/CommonSubexpressionEliminationInterp.v23
-rw-r--r--src/Compilers/Z/CommonSubexpressionEliminationWf.v29
-rw-r--r--src/Compilers/Z/FoldTypes.v17
-rw-r--r--src/Compilers/Z/GeneralizeVar.v15
-rw-r--r--src/Compilers/Z/GeneralizeVarInterp.v23
-rw-r--r--src/Compilers/Z/GeneralizeVarWf.v30
-rw-r--r--src/Compilers/Z/HexNotationConstants.v7043
-rw-r--r--src/Compilers/Z/Inline.v10
-rw-r--r--src/Compilers/Z/InlineConstAndOp.v11
-rw-r--r--src/Compilers/Z/InlineConstAndOpByRewrite.v13
-rw-r--r--src/Compilers/Z/InlineConstAndOpByRewriteInterp.v12
-rw-r--r--src/Compilers/Z/InlineConstAndOpByRewriteWf.v13
-rw-r--r--src/Compilers/Z/InlineConstAndOpInterp.v11
-rw-r--r--src/Compilers/Z/InlineConstAndOpWf.v11
-rw-r--r--src/Compilers/Z/InlineInterp.v15
-rw-r--r--src/Compilers/Z/InlineWf.v15
-rw-r--r--src/Compilers/Z/InterpSideConditions.v9
-rw-r--r--src/Compilers/Z/JavaNotations.v882
-rw-r--r--src/Compilers/Z/MapCastByDeBruijn.v28
-rw-r--r--src/Compilers/Z/MapCastByDeBruijnInterp.v56
-rw-r--r--src/Compilers/Z/MapCastByDeBruijnWf.v56
-rw-r--r--src/Compilers/Z/Named/DeadCodeElimination.v14
-rw-r--r--src/Compilers/Z/Named/DeadCodeEliminationInterp.v50
-rw-r--r--src/Compilers/Z/Named/RewriteAddToAdc.v147
-rw-r--r--src/Compilers/Z/Named/RewriteAddToAdcInterp.v449
-rw-r--r--src/Compilers/Z/OpInversion.v29
-rw-r--r--src/Compilers/Z/Reify.v108
-rw-r--r--src/Compilers/Z/RewriteAddToAdc.v58
-rw-r--r--src/Compilers/Z/RewriteAddToAdcInterp.v71
-rw-r--r--src/Compilers/Z/RewriteAddToAdcWf.v39
-rw-r--r--src/Compilers/Z/Syntax.v103
-rw-r--r--src/Compilers/Z/Syntax/Equality.v215
-rw-r--r--src/Compilers/Z/Syntax/Util.v317
-rw-r--r--src/Compilers/Z/TypeInversion.v43
-rw-r--r--src/Compilers/ZExtended/InlineConstAndOp.v10
-rw-r--r--src/Compilers/ZExtended/InlineConstAndOpByRewrite.v12
-rw-r--r--src/Compilers/ZExtended/InlineConstAndOpByRewriteInterp.v15
-rw-r--r--src/Compilers/ZExtended/InlineConstAndOpByRewriteWf.v13
-rw-r--r--src/Compilers/ZExtended/InlineConstAndOpInterp.v14
-rw-r--r--src/Compilers/ZExtended/InlineConstAndOpWf.v11
-rw-r--r--src/Compilers/ZExtended/MapBaseType.v22
-rw-r--r--src/Compilers/ZExtended/Syntax.v89
-rw-r--r--src/Compilers/ZExtended/Syntax/Util.v81
-rw-r--r--src/Experiments/PartialEvaluationWithLetIn.v876
-rw-r--r--src/Experiments/SimplyTypedArithmetic.v12784
-rw-r--r--src/LegacyArithmetic/ArchitectureToZLike.v38
-rw-r--r--src/LegacyArithmetic/ArchitectureToZLikeProofs.v128
-rw-r--r--src/LegacyArithmetic/BarretReduction.v98
-rw-r--r--src/LegacyArithmetic/BaseSystem.v39
-rw-r--r--src/LegacyArithmetic/BaseSystemProofs.v134
-rw-r--r--src/LegacyArithmetic/Double/Core.v253
-rw-r--r--src/LegacyArithmetic/Double/Proofs/BitwiseOr.v32
-rw-r--r--src/LegacyArithmetic/Double/Proofs/Decode.v188
-rw-r--r--src/LegacyArithmetic/Double/Proofs/LoadImmediate.v32
-rw-r--r--src/LegacyArithmetic/Double/Proofs/Multiply.v135
-rw-r--r--src/LegacyArithmetic/Double/Proofs/RippleCarryAddSub.v203
-rw-r--r--src/LegacyArithmetic/Double/Proofs/SelectConditional.v25
-rw-r--r--src/LegacyArithmetic/Double/Proofs/ShiftLeft.v43
-rw-r--r--src/LegacyArithmetic/Double/Proofs/ShiftLeftRightTactic.v50
-rw-r--r--src/LegacyArithmetic/Double/Proofs/ShiftRight.v42
-rw-r--r--src/LegacyArithmetic/Double/Proofs/ShiftRightDoubleWordImmediate.v42
-rw-r--r--src/LegacyArithmetic/Double/Proofs/SpreadLeftImmediate.v152
-rw-r--r--src/LegacyArithmetic/Interface.v451
-rw-r--r--src/LegacyArithmetic/InterfaceProofs.v231
-rw-r--r--src/LegacyArithmetic/MontgomeryReduction.v114
-rw-r--r--src/LegacyArithmetic/Pow2Base.v18
-rw-r--r--src/LegacyArithmetic/Pow2BaseProofs.v564
-rw-r--r--src/LegacyArithmetic/README.md3
-rw-r--r--src/LegacyArithmetic/VerdiTactics.v414
-rw-r--r--src/LegacyArithmetic/ZBounded.v158
-rw-r--r--src/LegacyArithmetic/ZBoundedZ.v90
-rw-r--r--src/README.md197
-rw-r--r--src/Specific/CurveParameters/X25519_C64/scalarmult.c309
-rw-r--r--src/Specific/CurveParameters/montgomery32/fesquare.c3
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e127m1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e129m25_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e130m5_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e137m13_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e140m27_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e141m9_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e150m3_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e150m5_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e152m17_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e158m15_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e165m25_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e166m5_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e171m19_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e174m17_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e174m3_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e189m25_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e190m11_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e191m19_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e192m2e64m1_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e194m33_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e196m15_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e198m17_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e206m5_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e212m29_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e213m3_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e216m2e108m1_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e221m3_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e222m117_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e224m2e96p1_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e226m5_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e230m27_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e235m15_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e243m9_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e251m9_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e255m19_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e255m765_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m189_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m2e32m977_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m4294968273_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e266m3_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e285m9_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e291m19_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e321m9_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e322m2e161m1_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e336m17_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e336m3_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e338m15_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e369m25_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e379m19_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e382m105_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e383m187_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e383m31_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e383m421_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m317_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e389m21_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e401m31_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e413m21_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e414m17_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e416m2e208m1_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e444m17_14limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e448m2e224m1_14limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e450m2e225m1_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e452m3_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e468m17_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e480m2e240m1_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e488m17_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e489m21_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e495m31_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e511m187_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e511m481_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e512m569_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery32_2e521m1_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64/fesquare.c3
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e127m1_2limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e129m25_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e130m5_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e137m13_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e140m27_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e141m9_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e150m3_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e150m5_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e152m17_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e158m15_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e165m25_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e166m5_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e171m19_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e174m17_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e174m3_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e189m25_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e190m11_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e191m19_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e192m2e64m1_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e194m33_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e196m15_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e198m17_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e206m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e212m29_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e213m3_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e216m2e108m1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e221m3_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e222m117_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e224m2e96p1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e226m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e230m27_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e235m15_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e243m9_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e251m9_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e255m19_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e255m765_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m189_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m2e32m977_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m4294968273_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e266m3_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e285m9_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e291m19_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e321m9_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e322m2e161m1_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e336m17_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e336m3_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e338m15_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e369m25_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e379m19_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e382m105_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e383m187_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e383m31_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e383m421_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m317_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e389m21_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e401m31_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e413m21_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e414m17_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e416m2e208m1_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e444m17_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e448m2e224m1_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e450m2e225m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e452m3_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e468m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e480m2e240m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e488m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e489m21_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e495m31_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e511m187_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e511m481_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e512m569_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/montgomery64_2e521m1_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/nistp256_amd128.json9
-rw-r--r--src/Specific/CurveParameters/nistp256_amd64.json9
-rwxr-xr-xsrc/Specific/CurveParameters/remake_curves.sh470
-rw-r--r--src/Specific/CurveParameters/solinas32_2e127m1_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e127m1_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e129m25_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e129m25_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e130m5_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e130m5_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e137m13_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e137m13_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e140m27_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e140m27_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e141m9_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e141m9_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e150m3_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e150m3_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e150m5_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e150m5_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e152m17_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e152m17_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e158m15_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e158m15_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e165m25_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e165m25_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e166m5_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e166m5_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e171m19_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e171m19_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e174m17_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e174m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e174m3_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e174m3_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e189m25_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e189m25_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e190m11_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e190m11_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e191m19_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e191m19_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e192m2e64m1_10limbs.json39
-rw-r--r--src/Specific/CurveParameters/solinas32_2e192m2e64m1_9limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas32_2e194m33_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e194m33_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e196m15_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e196m15_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e198m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e198m17_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e206m5_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e206m5_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e212m29_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e212m29_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e213m3_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e213m3_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e216m2e108m1_10limbs.json40
-rw-r--r--src/Specific/CurveParameters/solinas32_2e216m2e108m1_8limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas32_2e221m3_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e221m3_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e222m117_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e222m117_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e224m2e96p1_10limbs.json39
-rw-r--r--src/Specific/CurveParameters/solinas32_2e224m2e96p1_11limbs.json40
-rw-r--r--src/Specific/CurveParameters/solinas32_2e226m5_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e226m5_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e230m27_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e230m27_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e235m15_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e235m15_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e243m9_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e243m9_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e251m9_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e251m9_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m19_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m19_10limbs_donna.json237
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m19_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m765_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e255m765_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m189_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m189_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_11limbs.json44
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_12limbs.json45
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m2e32m977_12limbs.json41
-rw-r--r--src/Specific/CurveParameters/solinas32_2e256m2e32m977_13limbs.json42
-rw-r--r--src/Specific/CurveParameters/solinas32_2e266m3_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e266m3_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e285m9_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e285m9_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e291m19_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e291m19_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e321m9_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e321m9_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e322m2e161m1_12limbs.json42
-rw-r--r--src/Specific/CurveParameters/solinas32_2e322m2e161m1_14limbs.json44
-rw-r--r--src/Specific/CurveParameters/solinas32_2e336m17_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e336m17_14limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e336m3_12limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e336m3_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e338m15_13limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e338m15_14limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e369m25_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e369m25_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e379m19_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e379m19_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e382m105_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e382m105_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e383m187_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e383m187_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e383m31_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e383m31_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e383m421_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e383m421_18limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_18limbs.json51
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_19limbs.json52
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m317_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e384m317_18limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e389m21_15limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e389m21_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e401m31_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e401m31_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e413m21_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e413m21_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e414m17_16limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e414m17_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e416m2e208m1_16limbs.json46
-rw-r--r--src/Specific/CurveParameters/solinas32_2e416m2e208m1_18limbs.json48
-rw-r--r--src/Specific/CurveParameters/solinas32_2e444m17_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e444m17_18limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e448m2e224m1_16limbs.json46
-rw-r--r--src/Specific/CurveParameters/solinas32_2e448m2e224m1_18limbs.json48
-rw-r--r--src/Specific/CurveParameters/solinas32_2e450m2e225m1_18limbs.json48
-rw-r--r--src/Specific/CurveParameters/solinas32_2e450m2e225m1_20limbs.json50
-rw-r--r--src/Specific/CurveParameters/solinas32_2e452m3_17limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e452m3_18limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e468m17_18limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e468m17_19limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e480m2e240m1_18limbs.json48
-rw-r--r--src/Specific/CurveParameters/solinas32_2e480m2e240m1_20limbs.json50
-rw-r--r--src/Specific/CurveParameters/solinas32_2e488m17_19limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e488m17_20limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e489m21_19limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e489m21_20limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e495m31_20limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e495m31_21limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e511m187_22limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e511m187_23limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e511m481_23limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e511m481_24limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e512m569_24limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e512m569_25limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e521m1_19limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas32_2e521m1_20limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e127m1_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e129m25_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e129m25_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e130m5_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e130m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e137m13_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e137m13_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e140m27_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e140m27_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e141m9_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e141m9_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e150m3_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e150m3_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e150m5_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e150m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e152m17_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e152m17_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e158m15_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e158m15_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e165m25_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e165m25_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e166m5_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e166m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e171m19_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e171m19_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e174m17_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e174m17_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e174m3_3limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e174m3_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e189m25_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e189m25_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e190m11_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e190m11_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e191m19_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e191m19_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e192m2e64m1_4limbs.json33
-rw-r--r--src/Specific/CurveParameters/solinas64_2e192m2e64m1_5limbs.json34
-rw-r--r--src/Specific/CurveParameters/solinas64_2e194m33_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e194m33_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e196m15_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e196m15_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e198m17_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e198m17_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e206m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e206m5_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e212m29_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e212m29_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e213m3_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e213m3_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e216m2e108m1_4limbs.json34
-rw-r--r--src/Specific/CurveParameters/solinas64_2e216m2e108m1_5limbs.json35
-rw-r--r--src/Specific/CurveParameters/solinas64_2e221m3_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e221m3_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e222m117_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e222m117_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e224m2e96p1_5limbs.json34
-rw-r--r--src/Specific/CurveParameters/solinas64_2e224m2e96p1_6limbs.json35
-rw-r--r--src/Specific/CurveParameters/solinas64_2e226m5_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e226m5_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e230m27_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e230m27_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e235m15_4limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e235m15_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e243m9_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e243m9_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e251m9_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e251m9_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m19_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m19_5limbs_donna.json80
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m19_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m765_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e255m765_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m189_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m189_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_5limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_6limbs.json39
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m2e32m977_6limbs.json34
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m2e32m977_7limbs.json35
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m4294968273_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e256m4294968273_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e266m3_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e266m3_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e285m9_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e285m9_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e291m19_5limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e291m19_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e321m9_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e321m9_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e322m2e161m1_6limbs.json36
-rw-r--r--src/Specific/CurveParameters/solinas64_2e322m2e161m1_7limbs.json37
-rw-r--r--src/Specific/CurveParameters/solinas64_2e336m17_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e336m17_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e336m3_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e336m3_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e338m15_6limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e338m15_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e369m25_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e369m25_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e379m19_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e379m19_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e382m105_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e382m105_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e383m187_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e383m187_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e383m31_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e383m31_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e383m421_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e383m421_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_10limbs.json43
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_9limbs.json42
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m317_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e384m317_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e389m21_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e389m21_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e401m31_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e401m31_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e413m21_7limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e413m21_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e414m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e414m17_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e416m2e208m1_8limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas64_2e416m2e208m1_9limbs.json39
-rw-r--r--src/Specific/CurveParameters/solinas64_2e444m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e444m17_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e448m2e224m1_10limbs.json40
-rw-r--r--src/Specific/CurveParameters/solinas64_2e448m2e224m1_8limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas64_2e450m2e225m1_10limbs.json40
-rw-r--r--src/Specific/CurveParameters/solinas64_2e450m2e225m1_8limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas64_2e452m3_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e452m3_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e468m17_8limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e468m17_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e480m2e240m1_10limbs.json40
-rw-r--r--src/Specific/CurveParameters/solinas64_2e480m2e240m1_8limbs.json38
-rw-r--r--src/Specific/CurveParameters/solinas64_2e488m17_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e488m17_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e489m21_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e489m21_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e495m31_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e495m31_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e511m187_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e511m187_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e511m481_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e511m481_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e512m569_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e512m569_11limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e521m1_10limbs.json18
-rw-r--r--src/Specific/CurveParameters/solinas64_2e521m1_9limbs.json18
-rw-r--r--src/Specific/CurveParameters/x2448_c64_karatsuba.json12
-rw-r--r--src/Specific/CurveParameters/x25519_c32.json230
-rw-r--r--src/Specific/CurveParameters/x25519_c64.json74
-rw-r--r--src/Specific/CurveParameters/x2555_130.json10
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/Base.v282
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/BasePackage.v247
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/Defaults.v405
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/DefaultsPackage.v208
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/Freeze.v80
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/FreezePackage.v60
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/HelperTactics.v121
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/Karatsuba.v102
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/KaratsubaPackage.v61
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/Ladderstep.v87
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/LadderstepPackage.v75
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/Montgomery.v550
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/MontgomeryPackage.v498
-rw-r--r--src/Specific/Framework/ArithmeticSynthesis/SquareFromMul.v28
-rwxr-xr-xsrc/Specific/Framework/ArithmeticSynthesis/remake_packages.py253
-rw-r--r--src/Specific/Framework/CurveParameters.v425
-rw-r--r--src/Specific/Framework/CurveParametersPackage.v90
-rw-r--r--src/Specific/Framework/IntegrationTestDisplayCommon.v24
-rw-r--r--src/Specific/Framework/IntegrationTestDisplayCommonTactics.v149
-rw-r--r--src/Specific/Framework/IntegrationTestTemporaryMiscCommon.v360
-rw-r--r--src/Specific/Framework/MontgomeryReificationTypes.v46
-rw-r--r--src/Specific/Framework/MontgomeryReificationTypesPackage.v94
-rw-r--r--src/Specific/Framework/OutputType.v164
-rw-r--r--src/Specific/Framework/Packages.v12
-rw-r--r--src/Specific/Framework/RawCurveParameters.v77
-rw-r--r--src/Specific/Framework/ReificationTypes.v229
-rw-r--r--src/Specific/Framework/ReificationTypesPackage.v282
-rw-r--r--src/Specific/Framework/SynthesisFramework.v170
-rw-r--r--src/Specific/Framework/bench/fibe.c326
-rw-r--r--src/Specific/Framework/bench/gmpsec.c234
-rw-r--r--src/Specific/Framework/bench/gmpvar.c233
-rw-r--r--src/Specific/Framework/bench/gmpxx.cpp154
-rw-r--r--src/Specific/Framework/bench/montladder.py95
-rwxr-xr-xsrc/Specific/Framework/bench/prettyprint.py77
-rwxr-xr-xsrc/Specific/Framework/make_curve.py542
-rw-r--r--src/Specific/IntegrationTestSquareDisplayHandPostLinearizedCSE.log68
-rw-r--r--src/Specific/NISTP256/AMD128/CurveParameters.v39
-rw-r--r--src/Specific/NISTP256/AMD128/Synthesis.v9
-rw-r--r--src/Specific/NISTP256/AMD128/compiler.sh4
-rw-r--r--src/Specific/NISTP256/AMD128/feadd.v14
-rw-r--r--src/Specific/NISTP256/AMD128/feaddDisplay.log14
-rw-r--r--src/Specific/NISTP256/AMD128/feaddDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD128/femul.v14
-rw-r--r--src/Specific/NISTP256/AMD128/femulDisplay.log40
-rw-r--r--src/Specific/NISTP256/AMD128/femulDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD128/fenz.v16
-rw-r--r--src/Specific/NISTP256/AMD128/fenzDisplay.log8
-rw-r--r--src/Specific/NISTP256/AMD128/fenzDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD128/feopp.v14
-rw-r--r--src/Specific/NISTP256/AMD128/feoppDisplay.log14
-rw-r--r--src/Specific/NISTP256/AMD128/feoppDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD128/fesub.v14
-rw-r--r--src/Specific/NISTP256/AMD128/fesubDisplay.log14
-rw-r--r--src/Specific/NISTP256/AMD128/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/NISTP256/AMD128/py_interpreter.sh4
-rw-r--r--src/Specific/NISTP256/AMD64/CurveParameters.v39
-rw-r--r--src/Specific/NISTP256/AMD64/Synthesis.v9
-rw-r--r--src/Specific/NISTP256/AMD64/bench_madd.c7
-rwxr-xr-xsrc/Specific/NISTP256/AMD64/compiler.sh4
-rw-r--r--src/Specific/NISTP256/AMD64/feadd.v14
-rw-r--r--src/Specific/NISTP256/AMD64/feaddDisplay.log20
-rw-r--r--src/Specific/NISTP256/AMD64/feaddDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD64/femul.v14
-rw-r--r--src/Specific/NISTP256/AMD64/femulDisplay.log114
-rw-r--r--src/Specific/NISTP256/AMD64/femulDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD64/fenz.v16
-rw-r--r--src/Specific/NISTP256/AMD64/fenzDisplay.log10
-rw-r--r--src/Specific/NISTP256/AMD64/fenzDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD64/feopp.v14
-rw-r--r--src/Specific/NISTP256/AMD64/feoppDisplay.log19
-rw-r--r--src/Specific/NISTP256/AMD64/feoppDisplay.v4
-rw-r--r--src/Specific/NISTP256/AMD64/fesub.v14
-rw-r--r--src/Specific/NISTP256/AMD64/fesubDisplay.log19
-rw-r--r--src/Specific/NISTP256/AMD64/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/NISTP256/AMD64/icc/compiler.sh4
-rw-r--r--src/Specific/NISTP256/AMD64/icc/compiler.txt1
-rw-r--r--src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s2952
-rw-r--r--src/Specific/NISTP256/AMD64/icc/measurements.txt7
-rw-r--r--src/Specific/NISTP256/AMD64/measurements.txt4
-rw-r--r--src/Specific/NISTP256/AMD64/p256.h5
-rw-r--r--src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c82
-rwxr-xr-xsrc/Specific/NISTP256/AMD64/py_interpreter.sh4
-rw-r--r--src/Specific/NISTP256/AMD64/test/feadd_test.c46
-rw-r--r--src/Specific/NISTP256/AMD64/test/femul_test.c55
-rw-r--r--src/Specific/NISTP256/AMD64/test/p256_test.c1918
-rw-r--r--src/Specific/NISTP256/AMD64/test/p256_test.sage93
-rw-r--r--src/Specific/NISTP256/FancyMachine256/Barrett.v155
-rw-r--r--src/Specific/NISTP256/FancyMachine256/Core.v339
-rw-r--r--src/Specific/NISTP256/FancyMachine256/Montgomery.v157
-rw-r--r--src/Specific/X2448/Karatsuba/C64/CurveParameters.v39
-rw-r--r--src/Specific/X2448/Karatsuba/C64/Synthesis.v9
-rw-r--r--src/Specific/X2448/Karatsuba/C64/femul.v14
-rw-r--r--src/Specific/X2448/Karatsuba/C64/femulDisplay.log61
-rw-r--r--src/Specific/X2448/Karatsuba/C64/femulDisplay.v4
-rwxr-xr-xsrc/Specific/X2448/Karatsuba/C64/py_interpreter.sh4
-rw-r--r--src/Specific/X25519/C32/CurveParameters.v257
-rw-r--r--src/Specific/X25519/C32/Synthesis.v9
-rwxr-xr-xsrc/Specific/X25519/C32/compiler.sh4
-rw-r--r--src/Specific/X25519/C32/feadd.v14
-rw-r--r--src/Specific/X25519/C32/feaddDisplay.log7
-rw-r--r--src/Specific/X25519/C32/feaddDisplay.v4
-rw-r--r--src/Specific/X25519/C32/fecarry.v14
-rw-r--r--src/Specific/X25519/C32/fecarryDisplay.log42
-rw-r--r--src/Specific/X25519/C32/fecarryDisplay.v4
-rw-r--r--src/Specific/X25519/C32/femul.v14
-rw-r--r--src/Specific/X25519/C32/femulDisplay.log88
-rw-r--r--src/Specific/X25519/C32/femulDisplay.v4
-rw-r--r--src/Specific/X25519/C32/fesquare.v14
-rw-r--r--src/Specific/X25519/C32/fesquareDisplay.log88
-rw-r--r--src/Specific/X25519/C32/fesquareDisplay.v4
-rw-r--r--src/Specific/X25519/C32/fesub.v14
-rw-r--r--src/Specific/X25519/C32/fesubDisplay.log7
-rw-r--r--src/Specific/X25519/C32/fesubDisplay.v4
-rw-r--r--src/Specific/X25519/C32/freeze.v14
-rw-r--r--src/Specific/X25519/C32/freezeDisplay.log38
-rw-r--r--src/Specific/X25519/C32/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/X25519/C32/py_interpreter.sh4
-rw-r--r--src/Specific/X25519/C64/CurveParameters.v74
-rw-r--r--src/Specific/X25519/C64/Synthesis.v9
-rwxr-xr-xsrc/Specific/X25519/C64/compiler.sh4
-rw-r--r--src/Specific/X25519/C64/feadd.v14
-rw-r--r--src/Specific/X25519/C64/feaddDisplay.log7
-rw-r--r--src/Specific/X25519/C64/feaddDisplay.v4
-rw-r--r--src/Specific/X25519/C64/fecarry.v14
-rw-r--r--src/Specific/X25519/C64/fecarryDisplay.log27
-rw-r--r--src/Specific/X25519/C64/fecarryDisplay.v4
-rw-r--r--src/Specific/X25519/C64/femul.v14
-rw-r--r--src/Specific/X25519/C64/femulDisplay.log40
-rw-r--r--src/Specific/X25519/C64/femulDisplay.v4
-rw-r--r--src/Specific/X25519/C64/fesquare.v14
-rw-r--r--src/Specific/X25519/C64/fesquareDisplay.log37
-rw-r--r--src/Specific/X25519/C64/fesquareDisplay.v4
-rw-r--r--src/Specific/X25519/C64/fesub.v14
-rw-r--r--src/Specific/X25519/C64/fesubDisplay.log7
-rw-r--r--src/Specific/X25519/C64/fesubDisplay.v4
-rw-r--r--src/Specific/X25519/C64/freeze.v14
-rw-r--r--src/Specific/X25519/C64/freezeDisplay.log23
-rw-r--r--src/Specific/X25519/C64/freezeDisplay.v4
-rw-r--r--src/Specific/X25519/C64/ladderstep.v24
-rw-r--r--src/Specific/X25519/C64/ladderstepDisplay.log370
-rw-r--r--src/Specific/X25519/C64/ladderstepDisplay.v4
-rw-r--r--src/Specific/X25519/C64/measurements.txt6
-rwxr-xr-xsrc/Specific/X25519/C64/py_interpreter.sh4
-rw-r--r--src/Specific/X25519/C64/scalarmult.c311
-rw-r--r--src/Specific/X25519/supercop-benchmarks.txt21
-rw-r--r--src/Specific/X25519/x25519_test.c29
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e127m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e127m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/femul.c126
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.log118
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e127m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e129m25_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e129m25_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/femul.c182
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.log171
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e129m25_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e130m5_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e130m5_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e130m5_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e137m13_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e137m13_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e137m13_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e140m27_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e140m27_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e140m27_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e141m9_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e141m9_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e141m9_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e150m3_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e150m3_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e150m3_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e150m5_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e150m5_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e150m5_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e152m17_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e152m17_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e152m17_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e158m15_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e158m15_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e158m15_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e165m25_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e165m25_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e165m25_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e166m5_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e166m5_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e166m5_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e171m19_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e171m19_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e171m19_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e174m17_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e174m17_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e174m17_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e174m3_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e174m3_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e174m3_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e189m25_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e189m25_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e189m25_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e190m11_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e190m11_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e190m11_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e191m19_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e191m19_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e191m19_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e192m2e64m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e192m2e64m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.c260
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.log246
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e192m2e64m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e194m33_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e194m33_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e194m33_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e196m15_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e196m15_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e196m15_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e198m17_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e198m17_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e198m17_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e205m45x2e198m1_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e205m45x2e198m1_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e205m45x2e198m1_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e206m5_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e206m5_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e206m5_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e212m29_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e212m29_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e212m29_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e213m3_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e213m3_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e213m3_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e216m2e108m1_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e216m2e108m1_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e216m2e108m1_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e221m3_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e221m3_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e221m3_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e222m117_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e222m117_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e224m2e96p1_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e224m2e96p1_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e224m2e96p1_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e226m5_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e226m5_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e226m5_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e230m27_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e230m27_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e230m27_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e235m15_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e235m15_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e235m15_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e243m9_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e243m9_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e243m9_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e251m9_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e251m9_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e251m9_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e254m127x2e240m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e254m127x2e240m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.c443
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.log423
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.c44
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.c52
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e254m127x2e240m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e255m19_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e255m19_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e255m19_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e255m765_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e255m765_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e255m765_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e256m189_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m189_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m189_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.c379
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.log359
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e256m2e32m977_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m2e32m977_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m2e32m977_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e256m4294968273_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m4294968273_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m4294968273_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e256m88x2e240m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m88x2e240m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.c443
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.log423
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.c44
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.c52
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.log32
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e256m88x2e240m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e266m3_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e266m3_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/feadd.c58
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.log35
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fenz.c21
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.log15
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e266m3_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e285m9_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e285m9_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/feadd.c58
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log35
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fenz.c21
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log15
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e291m19_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e291m19_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/feadd.c64
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.log38
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fenz.c23
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.log16
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e291m19_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e321m9_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e321m9_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/feadd.c70
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fenz.c25
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.log17
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e321m9_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e322m2e161m1_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e322m2e161m1_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.c70
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.c25
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.log17
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e322m2e161m1_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e336m17_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e336m17_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/feadd.c70
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fenz.c25
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.log17
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e336m17_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e336m3_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e336m3_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/feadd.c70
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fenz.c25
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.log17
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e336m3_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e338m15_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e338m15_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/feadd.c70
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fenz.c25
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.log17
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e338m15_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e369m25_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e369m25_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e369m25_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e379m19_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e379m19_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e379m19_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e382m105_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e382m105_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e382m105_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e383m187_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e383m187_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e383m187_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e383m31_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e383m31_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e383m31_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e383m421_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e383m421_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e383m421_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e384m317_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m317_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m317_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e384m5x2e368m1_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m5x2e368m1_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m5x2e368m1_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e384m79x2e376m1_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m79x2e376m1_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.c76
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.c27
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.log18
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e384m79x2e376m1_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e389m21_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e389m21_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/feadd.c82
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fenz.c29
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.log19
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e389m21_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e401m31_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e401m31_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/feadd.c82
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fenz.c29
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.log19
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e401m31_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e413m21_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e413m21_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/feadd.c82
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fenz.c29
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.log19
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e413m21_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e414m17_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e414m17_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/feadd.c82
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fenz.c29
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.log19
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e414m17_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e416m2e208m1_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e416m2e208m1_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.c82
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.c29
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.log19
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e416m2e208m1_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e444m17_14limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e444m17_14limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/feadd.c88
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.log50
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fenz.c31
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.log20
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e444m17_14limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e448m2e224m1_14limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e448m2e224m1_14limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.c88
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.log50
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.c31
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.log20
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e448m2e224m1_14limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e450m2e225m1_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e450m2e225m1_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.c94
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.c33
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.log21
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e450m2e225m1_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e452m3_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e452m3_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/feadd.c94
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fenz.c33
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.log21
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e452m3_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e468m17_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e468m17_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/feadd.c94
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fenz.c33
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.log21
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e468m17_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e480m2e240m1_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e480m2e240m1_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.c94
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.c33
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.log21
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e480m2e240m1_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e488m17_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e488m17_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e488m17_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e489m21_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e489m21_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e489m21_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e495m31_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e495m31_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e495m31_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e510m290x2e496m1_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e510m290x2e496m1_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e510m290x2e496m1_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e511m187_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e511m187_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e511m187_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e511m481_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e511m481_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e511m481_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e512m491x2e496m1_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e512m491x2e496m1_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e512m491x2e496m1_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e512m569_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e512m569_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/feadd.c100
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.log56
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fenz.c35
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.log22
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e512m569_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery32_2e521m1_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery32_2e521m1_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/feadd.c106
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/feadd.v14
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.log59
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/femul.v14
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fenz.c37
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fenz.v16
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.log23
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/feopp.v14
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fesub.v14
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery32_2e521m1_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e127m1_2limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e127m1_2limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feadd.c16
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/femul.c40
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.log38
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fenz.c7
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.log8
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feopp.c14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fesub.c16
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e127m1_2limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e129m25_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e129m25_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/femul.c74
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.log69
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e129m25_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e130m5_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e130m5_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e130m5_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e137m13_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e137m13_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e137m13_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e140m27_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e140m27_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e140m27_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e141m9_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e141m9_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e141m9_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e150m3_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e150m3_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e150m3_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e150m5_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e150m5_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e150m5_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e152m17_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e152m17_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e152m17_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e158m15_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e158m15_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e158m15_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e165m25_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e165m25_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e165m25_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e166m5_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e166m5_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e166m5_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e171m19_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e171m19_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e171m19_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e174m17_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e174m17_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e174m17_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e174m3_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e174m3_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e174m3_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e189m25_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e189m25_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e189m25_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e190m11_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e190m11_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e190m11_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e191m19_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e191m19_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/femul.c80
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.log75
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e191m19_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e192m2e64m1_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e192m2e64m1_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.c22
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.c77
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.log72
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.c9
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.log9
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.c19
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.c22
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.log17
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e192m2e64m1_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e194m33_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e194m33_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e194m33_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e196m15_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e196m15_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e196m15_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e198m17_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e198m17_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e198m17_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e205m45x2e198m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e205m45x2e198m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.c126
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.log118
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e205m45x2e198m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e206m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e206m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e206m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e212m29_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e212m29_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e212m29_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e213m3_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e213m3_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e213m3_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e216m2e108m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e216m2e108m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.c126
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.log118
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e216m2e108m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e221m3_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e221m3_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e221m3_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e222m117_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e222m117_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e222m117_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e224m2e96p1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e224m2e96p1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.c122
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.log114
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e224m2e96p1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e226m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e226m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e226m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e230m27_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e230m27_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e230m27_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e235m15_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e235m15_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e235m15_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e243m9_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e243m9_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e243m9_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e251m9_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e251m9_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e251m9_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e254m127x2e240m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e254m127x2e240m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.c126
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.log118
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e254m127x2e240m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e255m19_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e255m19_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e255m19_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e255m765_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e255m765_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e255m765_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e256m189_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m189_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m189_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.c122
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.log114
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.c23
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.log19
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.c27
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.log19
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e256m2e32m977_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m2e32m977_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m2e32m977_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e256m4294968273_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m4294968273_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/femul.c130
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.log122
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m4294968273_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e256m88x2e240m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m88x2e240m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.c28
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.c126
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.log118
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.c11
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.log10
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.c24
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.c28
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.log20
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e256m88x2e240m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e266m3_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e266m3_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e266m3_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e285m9_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e285m9_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e285m9_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e291m19_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e291m19_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feadd.c34
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/femul.c192
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.log181
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fenz.c13
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.log11
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feopp.c29
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fesub.c34
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.log23
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e291m19_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e321m9_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e321m9_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/femul.c254
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.log240
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e321m9_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e322m2e161m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e322m2e161m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.c260
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.log246
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e322m2e161m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e336m17_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e336m17_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e336m17_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e336m3_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e336m3_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e336m3_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e338m15_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e338m15_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e338m15_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e369m25_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e369m25_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e369m25_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e379m19_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e379m19_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e379m19_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e382m105_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e382m105_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e382m105_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e383m187_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e383m187_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e383m187_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e383m31_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e383m31_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e383m31_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e383m421_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e383m421_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e383m421_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e384m317_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m317_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/femul.c266
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.log252
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m317_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e384m5x2e368m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m5x2e368m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.c260
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.log246
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m5x2e368m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e384m79x2e376m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m79x2e376m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.c40
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.c260
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.log246
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.c15
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.log12
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.c34
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.c40
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.log26
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e384m79x2e376m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e389m21_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e389m21_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e389m21_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e401m31_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e401m31_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e401m31_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e413m21_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e413m21_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e413m21_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e414m17_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e414m17_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e414m17_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e416m2e208m1_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e416m2e208m1_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e416m2e208m1_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e444m17_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e444m17_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e444m17_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e448m2e224m1_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e448m2e224m1_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.c46
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.log29
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.c17
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.log13
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e448m2e224m1_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e450m2e225m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e450m2e225m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e450m2e225m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e452m3_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e452m3_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e452m3_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e468m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e468m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e468m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e480m2e240m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e480m2e240m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e480m2e240m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e488m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e488m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e488m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e489m21_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e489m21_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e489m21_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e495m31_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e495m31_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e495m31_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e510m290x2e496m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e510m290x2e496m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.c443
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.log423
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e510m290x2e496m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e511m187_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e511m187_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e511m187_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e511m481_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e511m481_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e511m481_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e512m491x2e496m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e512m491x2e496m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.c443
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.log423
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e512m491x2e496m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e512m569_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e512m569_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/feadd.c52
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.log32
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fenz.c19
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.log14
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e512m569_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/montgomery64_2e521m1_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/montgomery64_2e521m1_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/feadd.c58
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/feadd.v14
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.log35
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/femul.v14
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fenz.c21
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fenz.v16
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.log15
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/feopp.v14
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/feoppDisplay.v4
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fesub.v14
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fesubDisplay.v4
-rwxr-xr-xsrc/Specific/montgomery64_2e521m1_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e127m1_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e127m1_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/femul.c43
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e127m1_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e127m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e127m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e127m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e129m25_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e129m25_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/femul.c43
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e129m25_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e129m25_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e129m25_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e129m25_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e130m5_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e130m5_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/femul.c43
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e130m5_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e130m5_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e130m5_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e130m5_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e137m13_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e137m13_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/femul.c43
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e137m13_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e137m13_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e137m13_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e137m13_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e140m27_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e140m27_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e140m27_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e140m27_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e140m27_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e140m27_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e141m9_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e141m9_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e141m9_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e141m9_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e141m9_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e141m9_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e150m3_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e150m3_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e150m3_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e150m3_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e150m3_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e150m3_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e150m5_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e150m5_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e150m5_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e150m5_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e150m5_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e150m5_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e152m17_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e152m17_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e152m17_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e152m17_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e152m17_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e152m17_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e158m15_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e158m15_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e158m15_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e158m15_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e158m15_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e158m15_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e165m25_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e165m25_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e165m25_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e165m25_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e165m25_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e165m25_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e166m5_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e166m5_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/femul.c50
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e166m5_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e166m5_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e166m5_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e166m5_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e171m19_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e171m19_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e171m19_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e171m19_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e171m19_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e171m19_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e174m17_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e174m17_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e174m17_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e174m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e174m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e174m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e174m3_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e174m3_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e174m3_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e174m3_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e174m3_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e174m3_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e189m25_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e189m25_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e189m25_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e189m25_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e189m25_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e189m25_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e190m11_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e190m11_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/femul.c57
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e190m11_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e190m11_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e190m11_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e190m11_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e191m19_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e191m19_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e191m19_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e191m19_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e191m19_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e191m19_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e192m2e64m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e192m2e64m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/femul.c89
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.log63
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.c79
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.log63
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e192m2e64m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e192m2e64m1_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e192m2e64m1_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/femul.c82
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.log59
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.c73
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.log59
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e192m2e64m1_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e194m33_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e194m33_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e194m33_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e194m33_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e194m33_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e194m33_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e196m15_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e196m15_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e196m15_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e196m15_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e196m15_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e196m15_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e198m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e198m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e198m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e198m17_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e198m17_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e198m17_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e206m5_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e206m5_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e206m5_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e206m5_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e206m5_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e206m5_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e212m29_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e212m29_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e212m29_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e212m29_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e212m29_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e212m29_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e213m3_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e213m3_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e213m3_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e213m3_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e213m3_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e213m3_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e216m2e108m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e216m2e108m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/femul.c97
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.log71
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.c87
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.log71
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e216m2e108m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e216m2e108m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e216m2e108m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/femul.c81
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.log61
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.c73
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.log61
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e216m2e108m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e221m3_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e221m3_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/femul.c64
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e221m3_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e221m3_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e221m3_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e221m3_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e222m117_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e222m117_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e222m117_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e222m117_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e222m117_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e222m117_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e224m2e96p1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e224m2e96p1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.c51
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e224m2e96p1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e224m2e96p1_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e224m2e96p1_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.c56
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e224m2e96p1_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e226m5_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e226m5_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e226m5_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e226m5_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e226m5_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e226m5_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e230m27_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e230m27_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e230m27_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e230m27_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e230m27_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e230m27_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e235m15_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e235m15_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e235m15_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e235m15_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e235m15_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e235m15_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e243m9_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e243m9_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e243m9_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e243m9_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e243m9_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/femul.c71
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e243m9_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e251m9_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e251m9_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e251m9_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e251m9_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e251m9_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/femul.c85
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e251m9_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fecarry.c58
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.log42
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/CurveParameters.v257
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_10limbs_donna/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_10limbs_donna/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/feadd.c33
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/feadd.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.c58
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.log42
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/femul.c114
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/femul.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.log88
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.log88
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesub.c33
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesub.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/freeze.c54
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/freeze.v14
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_10limbs_donna/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fecarry.c63
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.log45
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/femul.c85
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e255m19_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e255m765_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e255m765_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/femul.c92
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/femulDisplay.log60
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesquare.c80
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.log60
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e255m765_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e255m765_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e255m765_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/feadd.c42
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/femul.c99
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/femulDisplay.log64
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesquare.c86
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.log64
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesub.c42
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/freeze.c69
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.log47
-rw-r--r--src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e255m765_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e256m189_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e256m189_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/femul.c85
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e256m189_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e256m189_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e256m189_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/femul.c92
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/femulDisplay.log60
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesquare.c80
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.log60
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e256m189_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.c56
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.c60
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.log40
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e32m977_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e32m977_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/femul.c103
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.log71
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.c91
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.log71
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e32m977_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e32m977_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e32m977_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.c42
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/femul.c110
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.log75
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.c97
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.log75
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.c42
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.c69
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.log47
-rw-r--r--src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e256m2e32m977_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e266m3_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e266m3_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/femul.c78
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e266m3_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e266m3_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e266m3_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/femul.c85
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e266m3_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e285m9_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e285m9_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/femul.c85
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e285m9_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e285m9_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e285m9_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/femul.c92
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/femulDisplay.log60
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesquare.c80
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.log60
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e285m9_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e291m19_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e291m19_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/femul.c85
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e291m19_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e291m19_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e291m19_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/femul.c92
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/femulDisplay.log60
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesquare.c80
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.log60
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e291m19_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e321m9_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e321m9_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/femul.c92
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/femulDisplay.log60
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesquare.c80
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.log60
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e321m9_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e321m9_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e321m9_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/feadd.c42
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/femul.c99
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/femulDisplay.log64
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesquare.c86
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.log64
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesub.c42
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/freeze.c69
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.log47
-rw-r--r--src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e321m9_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e322m2e161m1_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e322m2e161m1_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/femul.c113
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.log81
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.c101
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.log81
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e322m2e161m1_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e322m2e161m1_14limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e322m2e161m1_14limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.c45
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/femul.c129
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.log91
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.c115
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.log91
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.c45
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.c74
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.log50
-rw-r--r--src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e322m2e161m1_14limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e336m17_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e336m17_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/feadd.c42
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/femul.c99
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/femulDisplay.log64
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesquare.c86
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.log64
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesub.c42
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/freeze.c69
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.log47
-rw-r--r--src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e336m17_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e336m17_14limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e336m17_14limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/feadd.c45
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/femul.c106
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/femulDisplay.log68
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesquare.c92
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.log68
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesub.c45
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/freeze.c74
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.log50
-rw-r--r--src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e336m17_14limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e336m3_12limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e336m3_12limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/feadd.c39
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/femul.c92
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/femulDisplay.log60
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesquare.c80
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.log60
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesub.c39
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/freeze.c64
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e336m3_12limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e336m3_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e336m3_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/feadd.c42
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/femul.c99
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/femulDisplay.log64
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesquare.c86
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.log64
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesub.c42
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/freeze.c69
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.log47
-rw-r--r--src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e336m3_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e338m15_13limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e338m15_13limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/feadd.c42
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/femul.c99
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/femulDisplay.log64
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesquare.c86
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.log64
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesub.c42
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/freeze.c69
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.log47
-rw-r--r--src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e338m15_13limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e338m15_14limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e338m15_14limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/feadd.c45
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/femul.c106
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/femulDisplay.log68
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesquare.c92
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.log68
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesub.c45
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/freeze.c74
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.log50
-rw-r--r--src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e338m15_14limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e369m25_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e369m25_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/feadd.c48
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/femul.c113
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/femulDisplay.log72
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesquare.c98
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.log72
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesub.c48
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/freeze.c79
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.log53
-rw-r--r--src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e369m25_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e369m25_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e369m25_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e369m25_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e369m25_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e379m19_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e379m19_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/feadd.c48
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/femul.c113
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/femulDisplay.log72
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesquare.c98
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.log72
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesub.c48
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/freeze.c79
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.log53
-rw-r--r--src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e379m19_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e379m19_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e379m19_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e379m19_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e379m19_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e382m105_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e382m105_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e382m105_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e382m105_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e382m105_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e382m105_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e382m105_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e383m187_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e383m187_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e383m187_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e383m187_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e383m187_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e383m187_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e383m187_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e383m31_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e383m31_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/feadd.c48
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/femul.c113
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/femulDisplay.log72
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesquare.c98
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.log72
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesub.c48
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/freeze.c79
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.log53
-rw-r--r--src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e383m31_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e383m31_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e383m31_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e383m31_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e383m31_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e383m421_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e383m421_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e383m421_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e383m421_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e383m421_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/femul.c134
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesquare.c116
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e383m421_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.c92
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.log60
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.c60
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.c97
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.log63
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e384m317_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e384m317_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e384m317_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e384m317_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e384m317_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/femul.c134
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesquare.c116
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e384m317_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e389m21_15limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e389m21_15limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/feadd.c48
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/femul.c113
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/femulDisplay.log72
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesquare.c98
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.log72
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesub.c48
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/freeze.c79
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.log53
-rw-r--r--src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e389m21_15limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e389m21_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e389m21_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e389m21_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e389m21_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e401m31_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e401m31_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e401m31_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e401m31_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e401m31_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e401m31_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e401m31_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e413m21_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e413m21_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e413m21_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e413m21_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e413m21_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e413m21_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e413m21_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e414m17_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e414m17_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/femul.c120
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/femulDisplay.log76
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesquare.c104
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.log76
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e414m17_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e414m17_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e414m17_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e414m17_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e414m17_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e416m2e208m1_16limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e416m2e208m1_16limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.c51
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/femul.c145
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/femulDisplay.log101
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.c129
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesquareDisplay.log101
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.c51
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.c84
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/freezeDisplay.log56
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_16limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e416m2e208m1_16limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e416m2e208m1_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e416m2e208m1_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/femul.c161
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.log111
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.c143
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.log111
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e416m2e208m1_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e444m17_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e444m17_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e444m17_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e444m17_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e444m17_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/femul.c134
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesquare.c116
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e444m17_18limbs/py_interpreter.sh4
-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
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e448m2e224m1_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e448m2e224m1_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/femul.c161
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.log111
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.c143
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.log111
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e448m2e224m1_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e450m2e225m1_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e450m2e225m1_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.c143
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.log111
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e450m2e225m1_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e450m2e225m1_20limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e450m2e225m1_20limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.c63
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.c63
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.c104
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.log68
-rw-r--r--src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e450m2e225m1_20limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e452m3_17limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e452m3_17limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/feadd.c54
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/femul.c127
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log80
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesquare.c110
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log80
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesub.c54
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/freeze.c89
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.log59
-rw-r--r--src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e452m3_17limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e452m3_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e452m3_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/femul.c134
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesquare.c116
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e452m3_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e468m17_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e468m17_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/femul.c134
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesquare.c116
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e468m17_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e468m17_19limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e468m17_19limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/feadd.c60
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/femul.c141
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/femulDisplay.log88
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesquare.c122
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.log88
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesub.c60
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/freeze.c99
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.log65
-rw-r--r--src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e468m17_19limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e480m2e240m1_18limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e480m2e240m1_18limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.c57
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/femul.c161
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.log111
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.c143
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.log111
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.c57
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.c94
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.log62
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e480m2e240m1_18limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e480m2e240m1_20limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e480m2e240m1_20limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.c63
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.c157
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.log121
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.c63
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.c104
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.log68
-rw-r--r--src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e480m2e240m1_20limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e488m17_19limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e488m17_19limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/feadd.c60
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/femul.c141
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/femulDisplay.log88
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesquare.c122
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.log88
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesub.c60
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/freeze.c99
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.log65
-rw-r--r--src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e488m17_19limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e488m17_20limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e488m17_20limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/feadd.c63
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/femul.c148
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/femulDisplay.log92
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesquare.c128
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.log92
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesub.c63
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/freeze.c104
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.log68
-rw-r--r--src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e488m17_20limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e489m21_19limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e489m21_19limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/feadd.c60
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/femul.c141
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/femulDisplay.log88
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesquare.c122
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.log88
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesub.c60
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/freeze.c99
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.log65
-rw-r--r--src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e489m21_19limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e489m21_20limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e489m21_20limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/feadd.c63
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/femul.c148
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/femulDisplay.log92
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesquare.c128
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.log92
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesub.c63
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/freeze.c104
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.log68
-rw-r--r--src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e489m21_20limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e495m31_20limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e495m31_20limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/feadd.c63
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/femul.c148
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/femulDisplay.log92
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesquare.c128
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.log92
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesub.c63
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/freeze.c104
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.log68
-rw-r--r--src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e495m31_20limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e495m31_21limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e495m31_21limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/feadd.c66
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/femul.c155
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/femulDisplay.log96
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesquare.c134
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.log96
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesub.c66
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/freeze.c109
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.log71
-rw-r--r--src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e495m31_21limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e511m187_22limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e511m187_22limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/feadd.c69
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/femul.c162
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/femulDisplay.log100
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesquare.c140
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.log100
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesub.c69
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/freeze.c114
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.log74
-rw-r--r--src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e511m187_22limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e511m187_23limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e511m187_23limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/feadd.c72
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesquare.c146
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.log104
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesub.c72
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/freeze.c119
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.log77
-rw-r--r--src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e511m187_23limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e511m481_23limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e511m481_23limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/feadd.c72
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesquare.c146
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.log104
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesub.c72
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/freeze.c119
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.log77
-rw-r--r--src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e511m481_23limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e511m481_24limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e511m481_24limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/feadd.c75
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesquare.c152
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.log108
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesub.c75
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/freeze.c124
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.log80
-rw-r--r--src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e511m481_24limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e512m569_24limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e512m569_24limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/feadd.c75
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesquare.c152
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.log108
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesub.c75
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/freeze.c124
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.log80
-rw-r--r--src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e512m569_24limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e512m569_25limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e512m569_25limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/feadd.c78
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesquare.c158
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.log112
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesub.c78
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/freeze.c129
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.log83
-rw-r--r--src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e512m569_25limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e521m1_19limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e521m1_19limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/feadd.c60
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/femul.c141
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/femulDisplay.log88
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesquare.c122
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.log88
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesub.c60
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/freeze.c99
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.log65
-rw-r--r--src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e521m1_19limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas32_2e521m1_20limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas32_2e521m1_20limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/feadd.c63
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/feadd.v14
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fecarry.v14
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/femul.c148
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/femul.v14
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/femulDisplay.log92
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesquare.c128
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesquare.v14
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.log92
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesub.c63
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesub.v14
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/freeze.c104
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/freeze.v14
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.log68
-rw-r--r--src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas32_2e521m1_20limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e127m1_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e127m1_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e127m1_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e129m25_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e129m25_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e129m25_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e129m25_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e129m25_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e129m25_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e130m5_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e130m5_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e130m5_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e130m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e130m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e130m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e137m13_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e137m13_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e137m13_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e137m13_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e137m13_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e137m13_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e140m27_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e140m27_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e140m27_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e140m27_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e140m27_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e140m27_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e141m9_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e141m9_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e141m9_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e141m9_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e141m9_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e141m9_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e150m3_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e150m3_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e150m3_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e150m3_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e150m3_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e150m3_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e150m5_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e150m5_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e150m5_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e150m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e150m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e150m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e152m17_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e152m17_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e152m17_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e152m17_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e152m17_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e152m17_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e158m15_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e158m15_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e158m15_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e158m15_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e158m15_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e158m15_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e165m25_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e165m25_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e165m25_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e165m25_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e165m25_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e165m25_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e166m5_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e166m5_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e166m5_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e166m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e166m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e166m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e171m19_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e171m19_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e171m19_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e171m19_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e171m19_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e171m19_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e174m17_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e174m17_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e174m17_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e174m17_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e174m17_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e174m17_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e174m3_3limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e174m3_3limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/feadd.c12
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/femul.c29
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/femulDisplay.log24
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesquare.c26
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.log24
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesub.c12
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/freeze.c19
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.log17
-rw-r--r--src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e174m3_3limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e174m3_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e174m3_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e174m3_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e189m25_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e189m25_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e189m25_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e189m25_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e189m25_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e189m25_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e190m11_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e190m11_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e190m11_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e190m11_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e190m11_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e190m11_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e191m19_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e191m19_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e191m19_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e191m19_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e191m19_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e191m19_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e192m2e64m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e192m2e64m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/femul.c47
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.log39
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.c43
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.log39
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e192m2e64m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e192m2e64m1_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e192m2e64m1_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/femul.c54
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.log43
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.c49
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.log43
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e192m2e64m1_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e194m33_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e194m33_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e194m33_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e194m33_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e194m33_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e194m33_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e196m15_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e196m15_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e196m15_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e196m15_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e196m15_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e196m15_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e198m17_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e198m17_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e198m17_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e198m17_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e198m17_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e198m17_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e206m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e206m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e206m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e206m5_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e206m5_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e206m5_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e212m29_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e212m29_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e212m29_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e212m29_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e212m29_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e212m29_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e213m3_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e213m3_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e213m3_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e213m3_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e213m3_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e213m3_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e216m2e108m1_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e216m2e108m1_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/femul.c49
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.log41
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.c45
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.log41
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e216m2e108m1_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e216m2e108m1_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e216m2e108m1_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e216m2e108m1_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e221m3_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e221m3_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e221m3_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e221m3_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e221m3_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e221m3_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e222m117_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e222m117_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e222m117_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e222m117_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e222m117_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e222m117_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e224m2e96p1_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e224m2e96p1_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.c28
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.log22
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e224m2e96p1_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e224m2e96p1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e224m2e96p1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.c33
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.log25
-rw-r--r--src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e224m2e96p1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e226m5_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e226m5_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e226m5_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e226m5_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e226m5_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e226m5_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e230m27_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e230m27_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e230m27_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e230m27_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e230m27_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e230m27_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e235m15_4limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e235m15_4limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/feadd.c15
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/femul.c36
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/femulDisplay.log28
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesquare.c32
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.log28
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesub.c15
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/freeze.c24
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.log20
-rw-r--r--src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e235m15_4limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e235m15_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e235m15_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e235m15_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e243m9_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e243m9_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e243m9_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e243m9_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e243m9_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e243m9_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e251m9_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e251m9_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e251m9_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e251m9_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e251m9_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e251m9_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fecarry.c33
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.log27
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/CurveParameters.v74
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_5limbs_donna/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_5limbs_donna/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/feadd.c18
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/feadd.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.c33
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.log27
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/femul.c51
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/femul.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.c43
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.log37
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesub.c18
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesub.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/freeze.c29
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/freeze.v14
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_5limbs_donna/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fecarry.c38
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.log30
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e255m19_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e255m765_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e255m765_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e255m765_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e255m765_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e255m765_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e255m765_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m189_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m189_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m189_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m189_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m189_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m189_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.c28
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.log22
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.c33
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.log25
-rw-r--r--src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e32m977_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e32m977_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/femul.c58
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.c52
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e32m977_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e32m977_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e32m977_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/femul.c65
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.c58
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m2e32m977_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m4294968273_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m4294968273_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m4294968273_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e256m4294968273_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e256m4294968273_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e256m4294968273_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e266m3_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e266m3_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e266m3_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e266m3_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e266m3_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e266m3_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e285m9_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e285m9_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e285m9_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e285m9_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e285m9_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e285m9_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e291m19_5limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e291m19_5limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/feadd.c18
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/femul.c43
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/femulDisplay.log32
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesquare.c38
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.log32
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesub.c18
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/freeze.c29
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.log23
-rw-r--r--src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e291m19_5limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e291m19_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e291m19_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e291m19_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e321m9_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e321m9_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e321m9_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e321m9_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e321m9_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e321m9_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e322m2e161m1_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e322m2e161m1_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/femul.c65
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.log51
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.c59
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.log51
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e322m2e161m1_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e322m2e161m1_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e322m2e161m1_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e322m2e161m1_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e336m17_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e336m17_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e336m17_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e336m17_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e336m17_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e336m17_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e336m3_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e336m3_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e336m3_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e336m3_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e336m3_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e336m3_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e338m15_6limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e338m15_6limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/feadd.c21
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/femul.c50
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/femulDisplay.log36
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesquare.c44
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.log36
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesub.c21
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/freeze.c34
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.log26
-rw-r--r--src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e338m15_6limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e338m15_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e338m15_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e338m15_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e369m25_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e369m25_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e369m25_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e369m25_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e369m25_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e369m25_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e379m19_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e379m19_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e379m19_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e379m19_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e379m19_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e379m19_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e382m105_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e382m105_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e382m105_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e382m105_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e382m105_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e382m105_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e383m187_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e383m187_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e383m187_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e383m187_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e383m187_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e383m187_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e383m31_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e383m31_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e383m31_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e383m31_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e383m31_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e383m31_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e383m421_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e383m421_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e383m421_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e383m421_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e383m421_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e383m421_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.c53
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.log37
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.c48
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.log34
-rw-r--r--src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e384m317_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e384m317_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e384m317_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e384m317_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e384m317_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e384m317_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e389m21_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e389m21_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e389m21_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e389m21_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e389m21_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e389m21_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e401m31_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e401m31_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e401m31_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e401m31_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e401m31_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e401m31_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e413m21_7limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e413m21_7limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/feadd.c24
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/femul.c57
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/femulDisplay.log40
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesquare.c50
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.log40
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesub.c24
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/freeze.c39
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.log29
-rw-r--r--src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e413m21_7limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e413m21_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e413m21_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e413m21_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e414m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e414m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e414m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e414m17_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e414m17_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e414m17_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e416m2e208m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e416m2e208m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/femul.c81
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.log61
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.c73
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.log61
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e416m2e208m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e416m2e208m1_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e416m2e208m1_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e416m2e208m1_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e444m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e444m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e444m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e444m17_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e444m17_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e444m17_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e448m2e224m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e448m2e224m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/femul.c97
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.log71
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.c87
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.log71
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e448m2e224m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e448m2e224m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e448m2e224m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/femul.c81
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.log61
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.c73
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.log61
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e448m2e224m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e450m2e225m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e450m2e225m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/femul.c97
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.log71
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.c87
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.log71
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e450m2e225m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e450m2e225m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e450m2e225m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/femul.c81
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.log61
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.c73
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.log61
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e450m2e225m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e452m3_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e452m3_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e452m3_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e452m3_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e452m3_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e452m3_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e468m17_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e468m17_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/femul.c64
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/femulDisplay.log44
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesquare.c56
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.log44
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e468m17_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e468m17_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e468m17_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e468m17_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e480m2e240m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e480m2e240m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/femul.c97
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.log71
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.c87
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.log71
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e480m2e240m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e480m2e240m1_8limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e480m2e240m1_8limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.c27
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/femul.c81
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.log61
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.c73
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.log61
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.c27
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.c44
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.log32
-rw-r--r--src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e480m2e240m1_8limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e488m17_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e488m17_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e488m17_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e488m17_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e488m17_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e488m17_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e489m21_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e489m21_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e489m21_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e489m21_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e489m21_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e489m21_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e495m31_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e495m31_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e495m31_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e495m31_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e495m31_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e495m31_9limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e511m187_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e511m187_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e511m187_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e511m187_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e511m187_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/femul.c85
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e511m187_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e511m481_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e511m481_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e511m481_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e511m481_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e511m481_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/femul.c85
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e511m481_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e512m569_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e512m569_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e512m569_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e512m569_11limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e512m569_11limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/feadd.c36
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/femul.c85
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/femulDisplay.log56
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesquare.c74
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.log56
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesub.c36
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/freeze.c59
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.log41
-rw-r--r--src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e512m569_11limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e521m1_10limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e521m1_10limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/feadd.c33
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/femul.c78
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/femulDisplay.log52
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesquare.c68
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.log52
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesub.c33
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/freeze.c54
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.log38
-rw-r--r--src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e521m1_10limbs/py_interpreter.sh4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/CurveParameters.v39
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/Synthesis.v9
-rwxr-xr-xsrc/Specific/solinas64_2e521m1_9limbs/compiler.sh4
-rwxr-xr-xsrc/Specific/solinas64_2e521m1_9limbs/compilerxx.sh4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/feadd.c30
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/feadd.v14
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fecarry.v14
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fecarryDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/femul.c71
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/femul.v14
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/femulDisplay.log48
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/femulDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesquare.c62
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesquare.v14
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.log48
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesub.c30
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesub.v14
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.v4
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/freeze.c49
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/freeze.v14
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.log35
-rw-r--r--src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.v4
-rwxr-xr-xsrc/Specific/solinas64_2e521m1_9limbs/py_interpreter.sh4
-rw-r--r--src/Toplevel2.v3
-rw-r--r--synthesis-parameters.txt53
-rw-r--r--third_party/curve25519-donna-c64/LICENSE.md46
-rwxr-xr-xthird_party/curve25519-donna-c64/compiler.sh4
-rw-r--r--third_party/curve25519-donna-c64/crypto_scalarmult_bench.c6
-rw-r--r--third_party/curve25519-donna-c64/curve25519-donna-c64.c449
-rw-r--r--third_party/curve25519-donna-c64/measurements.txt1
-rw-r--r--third_party/openssl-curve25519/LICENSE125
-rwxr-xr-xthird_party/openssl-curve25519/compiler.sh4
-rw-r--r--third_party/openssl-curve25519/crypto_scalarmult_bench.c5
-rw-r--r--third_party/openssl-curve25519/ec_curve25519.c1126
-rw-r--r--third_party/openssl-curve25519/ec_curve25519.h2
-rw-r--r--third_party/openssl-curve25519/measurements.txt4
-rw-r--r--third_party/openssl-nistp256c64/LICENSE125
-rw-r--r--third_party/openssl-nistp256c64/bench_madd.c16
-rwxr-xr-xthird_party/openssl-nistp256c64/compiler.sh4
-rw-r--r--third_party/openssl-nistp256c64/ecp_nistp256.c1314
-rw-r--r--third_party/openssl-nistp256c64/ecp_nistp256.h55
-rw-r--r--third_party/openssl-nistp256c64/measurements.txt4
-rw-r--r--third_party/openssl-nistz256-adx/LICENSE125
-rw-r--r--third_party/openssl-nistz256-adx/bench_madd.c8
-rwxr-xr-xthird_party/openssl-nistz256-adx/compiler.sh4
-rw-r--r--third_party/openssl-nistz256-adx/cpu_intel.c2
-rw-r--r--third_party/openssl-nistz256-adx/ecp_nistz256-x86_64.s6226
-rw-r--r--third_party/openssl-nistz256-adx/measurements.txt7
-rw-r--r--third_party/openssl-nistz256-adx/nistz256.h14
-rw-r--r--third_party/openssl-nistz256-amd64/LICENSE125
-rw-r--r--third_party/openssl-nistz256-amd64/bench_madd.c8
-rwxr-xr-xthird_party/openssl-nistz256-amd64/compiler.sh4
-rw-r--r--third_party/openssl-nistz256-amd64/cpu_intel.c2
-rw-r--r--third_party/openssl-nistz256-amd64/ecp_nistz256-x86_64.s6226
-rw-r--r--third_party/openssl-nistz256-amd64/measurements.txt3
-rw-r--r--third_party/openssl-nistz256-amd64/nistz256.h14
12530 files changed, 289 insertions, 371333 deletions
diff --git a/.travis.yml b/.travis.yml
index d9b6ca309..d25cbe379 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,16 +33,6 @@ before_script:
matrix:
fast_finish: true
-stages:
- - some-early util
- - printlite lite
- - pre-standalone
- - new-pipeline
- - no-curves-proofs-non-specific
- - curves-proofs
- - selected-specific selected-specific-display
- - selected-test selected-bench
-
jobs:
include:
- stage: some-early util
@@ -114,111 +104,81 @@ jobs:
env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
script: PREV=lite CUR=pre-standalone ./etc/ci/travis.sh pre-standalone
- - stage: new-pipeline
+ - stage: coq
env: COQ_VERSION="master" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-master-daily"
allow_failure: true
- script: PREV=pre-standalone CUR=new-pipeline ./etc/ci/travis.sh new-pipeline
- - stage: new-pipeline
+ script: PREV=pre-standalone CUR=coq ./etc/ci/travis.sh coq
+ - stage: coq
env: COQ_VERSION="v8.9" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.9-daily"
allow_failure: true
- script: PREV=pre-standalone CUR=new-pipeline ./etc/ci/travis.sh new-pipeline
- - stage: new-pipeline
+ script: PREV=pre-standalone CUR=coq ./etc/ci/travis.sh coq
+ - stage: coq
env: COQ_VERSION="v8.8" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.8-daily"
allow_failure: true
- script: PREV=pre-standalone CUR=new-pipeline ./etc/ci/travis.sh new-pipeline
- - stage: new-pipeline
+ script: PREV=pre-standalone CUR=coq ./etc/ci/travis.sh coq
+ - stage: coq
env: COQ_VERSION="v8.7" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.7-daily"
allow_failure: true
- script: PREV=pre-standalone CUR=new-pipeline ./etc/ci/travis.sh new-pipeline
- - stage: new-pipeline
+ script: PREV=pre-standalone CUR=coq ./etc/ci/travis.sh coq
+ - stage: coq
env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=pre-standalone CUR=new-pipeline ./etc/ci/travis.sh new-pipeline
- - stage: new-pipeline
+ script: PREV=pre-standalone CUR=coq ./etc/ci/travis.sh coq
+ - stage: coq
env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=pre-standalone CUR=new-pipeline ./etc/ci/travis.sh new-pipeline
+ script: PREV=pre-standalone CUR=coq ./etc/ci/travis.sh coq
- - stage: no-curves-proofs-non-specific
+ - stage: no-curves-proofs
env: COQ_VERSION="master" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-master-daily"
allow_failure: true
- script: PREV=new-pipeline CUR=no-curves-proofs-non-specific ./etc/ci/travis.sh no-curves-proofs-non-specific
- - stage: no-curves-proofs-non-specific
+ script: PREV=coq CUR=no-curves-proofs ./etc/ci/travis.sh no-curves-proofs
+ - stage: no-curves-proofs
env: COQ_VERSION="v8.9" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.9-daily"
allow_failure: true
- script: PREV=new-pipeline CUR=no-curves-proofs-non-specific ./etc/ci/travis.sh no-curves-proofs-non-specific
- - stage: no-curves-proofs-non-specific
+ script: PREV=coq CUR=no-curves-proofs ./etc/ci/travis.sh no-curves-proofs
+ - stage: no-curves-proofs
env: COQ_VERSION="v8.8" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.8-daily"
allow_failure: true
- script: PREV=new-pipeline CUR=no-curves-proofs-non-specific ./etc/ci/travis.sh no-curves-proofs-non-specific
- - stage: no-curves-proofs-non-specific
+ script: PREV=coq CUR=no-curves-proofs ./etc/ci/travis.sh no-curves-proofs
+ - stage: no-curves-proofs
env: COQ_VERSION="v8.7" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.7-daily"
allow_failure: true
- script: PREV=new-pipeline CUR=no-curves-proofs-non-specific ./etc/ci/travis.sh no-curves-proofs-non-specific
- - stage: no-curves-proofs-non-specific
+ script: PREV=coq CUR=no-curves-proofs ./etc/ci/travis.sh no-curves-proofs
+ - stage: no-curves-proofs
env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=new-pipeline CUR=no-curves-proofs-non-specific ./etc/ci/travis.sh no-curves-proofs-non-specific
- - stage: no-curves-proofs-non-specific
+ script: PREV=coq CUR=no-curves-proofs ./etc/ci/travis.sh no-curves-proofs
+ - stage: no-curves-proofs
env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=new-pipeline CUR=no-curves-proofs-non-specific ./etc/ci/travis.sh no-curves-proofs-non-specific
+ script: PREV=coq CUR=no-curves-proofs ./etc/ci/travis.sh no-curves-proofs
- stage: curves-proofs
env: COQ_VERSION="master" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-master-daily"
allow_failure: true
- script: PREV=no-curves-proofs-non-specific CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
+ script: PREV=no-curves-proofs CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
- stage: curves-proofs
env: COQ_VERSION="v8.9" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.9-daily"
allow_failure: true
- script: PREV=no-curves-proofs-non-specific CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
+ script: PREV=no-curves-proofs CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
- stage: curves-proofs
env: COQ_VERSION="v8.8" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.8-daily"
allow_failure: true
- script: PREV=no-curves-proofs-non-specific CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
+ script: PREV=no-curves-proofs CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
- stage: curves-proofs
env: COQ_VERSION="v8.7" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.7-daily"
allow_failure: true
- script: PREV=no-curves-proofs-non-specific CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
+ script: PREV=no-curves-proofs CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
- stage: curves-proofs
env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=no-curves-proofs-non-specific CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
+ script: PREV=no-curves-proofs CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
- stage: curves-proofs
env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=no-curves-proofs-non-specific CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
-
- - stage: selected-specific selected-specific-display
- env: COQ_VERSION="master" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-master-daily"
- allow_failure: true
- script: PREV=curves-proofs CUR=selected-specific ./etc/ci/travis.sh selected-specific selected-specific-display
- - stage: selected-specific selected-specific-display
- env: COQ_VERSION="v8.9" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.9-daily"
- allow_failure: true
- script: PREV=curves-proofs CUR=selected-specific ./etc/ci/travis.sh selected-specific selected-specific-display
- - stage: selected-specific selected-specific-display
- env: COQ_VERSION="v8.8" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.8-daily"
- allow_failure: true
- script: PREV=curves-proofs CUR=selected-specific ./etc/ci/travis.sh selected-specific selected-specific-display
- - stage: selected-specific selected-specific-display
- env: COQ_VERSION="v8.7" COQ_PACKAGE="coq" PPA="ppa:jgross-h/coq-8.7-daily"
- allow_failure: true
- script: PREV=curves-proofs CUR=selected-specific ./etc/ci/travis.sh selected-specific selected-specific-display
- - stage: selected-specific selected-specific-display
- env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=curves-proofs CUR=selected-specific ./etc/ci/travis.sh selected-specific selected-specific-display
- - stage: selected-specific selected-specific-display
- env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=curves-proofs CUR=selected-specific ./etc/ci/travis.sh selected-specific selected-specific-display
-
- - stage: build-selected-test build-selected-bench
- env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=selected-specific CUR=build-selected ./etc/ci/travis.sh build-selected-test build-selected-bench
- - stage: build-selected-test build-selected-bench
- env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=selected-specific CUR=build-selected ./etc/ci/travis.sh build-selected-test build-selected-bench
+ script: PREV=no-curves-proofs CUR=curves-proofs ./etc/ci/travis.sh curves-proofs
- stage: standalone-ocaml
env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=build-selected CUR=standalone-ocaml ./etc/ci/travis.sh standalone-ocaml c-files test-c-files CC=gcc
+ script: PREV=curves-proofs CUR=standalone-ocaml ./etc/ci/travis.sh standalone-ocaml c-files test-c-files CC=gcc
- stage: standalone-ocaml
env: COQ_VERSION="8.7.2" COQ_PACKAGE="coq-8.7.2" PPA="ppa:jgross-h/many-coq-versions"
- script: PREV=build-selected CUR=standalone-ocaml ./etc/ci/travis.sh standalone-ocaml c-files test-c-files CC=gcc
+ script: PREV=curves-proofs CUR=standalone-ocaml ./etc/ci/travis.sh standalone-ocaml c-files test-c-files CC=gcc
# - stage: selected-test selected-bench
# env: COQ_VERSION="8.8.2" COQ_PACKAGE="coq-8.8.2" PPA="ppa:jgross-h/many-coq-versions"
diff --git a/Makefile b/Makefile
index 56cbed38a..b62ce04b8 100644
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,8 @@ TIMER_FULL=$(if $(TIMED), $(STDTIME_FULL), $(TIMECMD_FULL))
GHC?=ghc
GHCFLAGS?= # -XStrict
+CFLAGS?=
+
PROFILE?=
VERBOSE?=
SHOW := $(if $(VERBOSE),@true "",@echo "")
@@ -21,145 +23,61 @@ INSTALLDEFAULTROOT := Crypto
.PHONY: coq clean update-_CoqProject cleanall install \
install-coqprime clean-coqprime coqprime coqprime-all \
- old-pipeline-nobigmem print-old-pipeline-nobigmem \
- old-pipeline-lite print-old-pipeline-lite \
- coq-without-new-pipeline \
+ util c-files \
nobigmem print-nobigmem \
- util some-early \
- specific-c specific-display display \
- specific non-specific lite only-heavy printlite lite-display print-lite-display \
- new-pipeline pre-standalone \
- curves-proofs no-curves-proofs no-curves-proofs-non-specific \
- selected-specific selected-specific-display nonautogenerated-specific nonautogenerated-specific-display nonautogenerated-c build-selected-test selected-test build-selected-bench selected-bench selected-c \
- build-test test build-bench bench c \
- standalone standalone-haskell standalone-ocaml \
- regenerate-curves
-
-SORT_COQPROJECT = sed 's,[^/]*/,~&,g' | env LC_COLLATE=C sort | sed 's,~,,g' | uniq
-
-FAST_TARGETS += archclean clean cleanall clean-coqprime printenv clean-old update-_CoqProject regenerate-curves Makefile.coq
-SUPER_FAST_TARGETS += update-_CoqProject Makefile.coq regenerate-curves only-test-c-files
-
-SLOW :=
-ifneq ($(filter-out $(SUPER_FAST_TARGETS),$(MAKECMDGOALS)),)
-SLOW := 1
-else
-ifeq ($(MAKECMDGOALS),)
-SLOW := 1
-endif
-endif
-
-ifneq ($(SLOW),)
-COQ_VERSION_PREFIX = The Coq Proof Assistant, version
-COQ_VERSION := $(firstword $(subst $(COQ_VERSION_PREFIX),,$(shell "$(COQBIN)coqc" --version 2>/dev/null)))
+ lite only-heavy printlite \
+ curves-proofs no-curves-proofs \
+ some-early pre-standalone standalone standalone-haskell standalone-ocaml \
+ test-c-files
-include Makefile.coq
-endif
-
-ifeq ($(filter curves-proofs no-curves-proofs no-curves-proofs-non-specific selected-specific selected-specific-display lite only-heavy printdeps printreversedeps printlite print-lite-display lite-display nobigmem print-nobigmem new-pipeline pre-standalone old-pipeline-nobigmem print-old-pipeline-nobigmem old-pipeline-lite print-old-pipeline-lite util,$(MAKECMDGOALS)),)
--include etc/coq-scripts/Makefile.vo_closure
-else
include etc/coq-scripts/Makefile.vo_closure
-endif
-.DEFAULT_GOAL := coq
+.DEFAULT_GOAL := all
+SORT_COQPROJECT = sed 's,[^/]*/,~&,g' | env LC_COLLATE=C sort | sed 's,~,,g' | uniq
update-_CoqProject::
$(SHOW)'ECHO > _CoqProject'
$(HIDE)(echo '-R $(SRC_DIR) $(MOD_NAME)'; echo '-R bbv/theories bbv'; ((git ls-files 'src/*.v'; (git submodule foreach 'git ls-files "*.v" 2>/dev/null | sed "s|^|$$path/|"' | grep 'bbv/')) | $(SORT_COQPROJECT))) > _CoqProject
-# add files to this list to prevent them from being built by default
-UNMADE_VOFILES :=
-UNMADE_C_FILES := \
- src/Specific/X25519/C64/fesub.c src/Specific/X25519/C64/feadd.c src/Specific/X25519/C64/fecarry.c \
- src/Specific/X25519/C64/fesub.h src/Specific/X25519/C64/feadd.h src/Specific/X25519/C64/fecarry.h \
- src/Specific/X25519/C32/fesub.c src/Specific/X25519/C32/feadd.c src/Specific/X25519/C32/fecarry.c \
- src/Specific/X25519/C32/fesub.h src/Specific/X25519/C32/feadd.h src/Specific/X25519/C32/fecarry.h
-# files that are treated specially
+# coq .vo files that are not compiled using coq_makefile
SPECIAL_VOFILES := \
- src/Specific/%Display.vo \
src/ExtractionOCaml/%.vo \
src/ExtractionHaskell/%.vo
-SPECIFIC_GENERATED_VOFILES := src/Specific/solinas%.vo src/Specific/montgomery%.vo
# add files to this list to prevent them from being built as final
# targets by the "lite" target
-NEW_PIPELINE_FILTER := src/%
LITE_UNMADE_VOFILES := src/Curves/Weierstrass/AffineProofs.vo \
src/Curves/Weierstrass/Jacobian.vo \
src/Curves/Weierstrass/Projective.vo \
- src/Specific/X2448/Karatsuba/C64/fe%.vo \
- src/Specific/NISTP256/AMD64/fe%.vo \
- src/Specific/NISTP256/AMD128/fe%.vo \
- src/Specific/X25519/C64/ladderstep.vo \
- src/Specific/X25519/C32/fe%.vo \
src/RewriterWf1.vo \
src/RewriterWf2.vo \
src/RewriterRulesGood.vo \
src/RewriterProofs.vo \
- src/Toplevel2.vo \
- src/SlowPrimeSynthesisExamples.vo \
- src/Experiments/SimplyTypedArithmetic.vo \
- $(SPECIFIC_GENERATED_VOFILES)
+ src/Toplevel2.vo
NOBIGMEM_UNMADE_VOFILES := \
src/Curves/Weierstrass/AffineProofs.vo \
src/Curves/Weierstrass/Jacobian.vo \
- src/Curves/Weierstrass/Projective.vo \
- $(SPECIFIC_GENERATED_VOFILES)
-OLD_PIPELINE_LITE_UNMADE_VOFILES := $(LITE_UNMADE_VOFILES) $(NEW_PIPELINE_FILTER)
-OLD_PIPELINE_NOBIGMEM_UNMADE_VOFILES := $(NOBIGMEM_UNMADE_VOFILES) $(NEW_PIPELINE_FILTER)
-REGULAR_VOFILES := $(filter-out $(SPECIAL_VOFILES) $(UNMADE_VOFILES),$(VOFILES))
+ src/Curves/Weierstrass/Projective.vo
+REGULAR_VOFILES := $(filter-out $(SPECIAL_VOFILES),$(VOFILES))
CURVES_PROOFS_PRE_VOFILES := $(filter src/Curves/Weierstrass/Jacobian.vo src/Curves/%Proofs.vo,$(REGULAR_VOFILES))
-NO_CURVES_PROOFS_UNMADE_VOFILES := src/Curves/Weierstrass/AffineProofs.vo \
+NO_CURVES_PROOFS_UNMADE_VOFILES := \
+ src/Curves/Weierstrass/AffineProofs.vo \
src/Curves/Weierstrass/Jacobian.vo
-NO_CURVES_PROOFS_NON_SPECIFIC_UNMADE_VOFILES := $(filter $(NO_CURVES_PROOFS_UNMADE_VOFILES) src/Specific/%.vo,$(VOFILES))
-REAL_SPECIFIC_GENERATED_VOFILES := $(filter $(SPECIFIC_GENERATED_VOFILES),$(VOFILES))
-NEW_PIPELINE_PRE_VOFILES := $(filter $(NEW_PIPELINE_FILTER),$(REGULAR_VOFILES))
PRE_STANDALONE_PRE_VOFILES := $(filter src/Standalone%.vo,$(REGULAR_VOFILES))
UTIL_PRE_VOFILES := $(filter bbv/%.vo src/Algebra/%.vo src/Tactics/%.vo src/Util/%.vo,$(REGULAR_VOFILES))
-COQ_WITHOUT_NEW_PIPELINE_VOFILES := $(filter-out $(NEW_PIPELINE_FILTER),$(REGULAR_VOFILES))
SOME_EARLY_VOFILES := \
- src/Arithmetic.vo \
- src/Rewriter.vo \
- src/Experiments/SimplyTypedArithmetic.vo
-
-SELECTED_PATTERN := \
- src/Specific/X25519/C64/% \
- src/Specific/X25519/C32/Synthesis.vo \
- src/Specific/NISTP256/AMD64/% \
- src/Specific/NISTP256/AMD128/Synthesis.vo \
- src/Specific/NISTP256/FancyMachine256/% \
- third_party/%
-SELECTED_SPECIFIC_PRE_VOFILES := $(filter $(SELECTED_PATTERN),$(REGULAR_VOFILES))
-
-COQ_VOFILES := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(REGULAR_VOFILES))
-FILESTOINSTALL := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(FILESTOINSTALL))
-SPECIFIC_VO := $(filter src/Specific/%,$(REGULAR_VOFILES))
-NONAUTOGENERATED_SPECIFIC_VO := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(SPECIFIC_VO))
-NON_SPECIFIC_VO := $(filter-out $(SPECIFIC_VO),$(REGULAR_VOFILES))
-SPECIFIC_DISPLAY_VO := $(filter src/Specific/%Display.vo,$(filter-out $(UNMADE_VOFILES),$(VOFILES)))
-NONAUTOGENERATED_SPECIFIC_DISPLAY_VO := $(filter-out $(SPECIFIC_GENERATED_VOFILES),$(SPECIFIC_DISPLAY_VO))
-DISPLAY_VO := $(SPECIFIC_DISPLAY_VO)
-DISPLAY_JAVA_VO := $(filter %JavaDisplay.vo,$(DISPLAY_VO))
-DISPLAY_NON_JAVA_VO := $(filter-out $(DISPLAY_JAVA_VO),$(DISPLAY_VO))
-SELECTED_SPECIFIC_DISPLAY_VO := $(filter $(SELECTED_PATTERN),$(DISPLAY_VO))
+ src/Arithmetic.vo \
+ src/Rewriter.vo
+
# computing the vo_reverse_closure is slow, so we only do it if we're
# asked to make the lite target
-ifneq ($(filter printlite lite lite-display print-lite-display,$(MAKECMDGOALS)),)
+ifneq ($(filter printlite lite,$(MAKECMDGOALS)),)
LITE_ALL_UNMADE_VOFILES := $(foreach vo,$(LITE_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-LITE_VOFILES := $(filter-out $(LITE_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
-LITE_DISPLAY_VOFILES := $(filter-out $(LITE_ALL_UNMADE_VOFILES),$(DISPLAY_VO))
-endif
-ifneq ($(filter print-old-pipeline-lite old-pipeline-lite,$(MAKECMDGOALS)),)
-OLD_PIPELINE_LITE_ALL_UNMADE_VOFILES := $(foreach vo,$(OLD_PIPELINE_LITE_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-OLD_PIPELINE_LITE_VOFILES := $(filter-out $(OLD_PIPELINE_LITE_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
+LITE_VOFILES := $(filter-out $(LITE_ALL_UNMADE_VOFILES),$(REGULAR_VOFILES))
endif
ifneq ($(filter nobigmem print-nobigmem,$(MAKECMDGOALS)),)
NOBIGMEM_ALL_UNMADE_VOFILES := $(foreach vo,$(NOBIGMEM_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-NOBIGMEM_VOFILES := $(filter-out $(NOBIGMEM_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
-endif
-ifneq ($(filter old-pipeline-nobigmem print-old-pipeline-nobigmem,$(MAKECMDGOALS)),)
-OLD_PIPELINE_NOBIGMEM_ALL_UNMADE_VOFILES := $(foreach vo,$(OLD_PIPELINE_NOBIGMEM_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-OLD_PIPELINE_NOBIGMEM_VOFILES := $(filter-out $(OLD_PIPELINE_NOBIGMEM_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
+NOBIGMEM_VOFILES := $(filter-out $(NOBIGMEM_ALL_UNMADE_VOFILES),$(REGULAR_VOFILES))
endif
ifneq ($(filter only-heavy,$(MAKECMDGOALS)),)
HEAVY_VOFILES := $(call vo_closure,$(LITE_UNMADE_VOFILES))
@@ -169,81 +87,31 @@ UTIL_VOFILES := $(call vo_closure,$(UTIL_PRE_VOFILES))
endif
ifneq ($(filter no-curves-proofs,$(MAKECMDGOALS)),)
NO_CURVES_PROOFS_ALL_UNMADE_VOFILES := $(foreach vo,$(NO_CURVES_PROOFS_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-NO_CURVES_PROOFS_VOFILES := $(filter-out $(NO_CURVES_PROOFS_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
-endif
-ifneq ($(filter no-curves-proofs-non-specific,$(MAKECMDGOALS)),)
-NO_CURVES_PROOFS_NON_SPECIFIC_ALL_UNMADE_VOFILES := $(foreach vo,$(NO_CURVES_PROOFS_NON_SPECIFIC_UNMADE_VOFILES),$(call vo_reverse_closure,$(VOFILES),$(vo)))
-NO_CURVES_PROOFS_NON_SPECIFIC_VOFILES := $(filter-out $(NO_CURVES_PROOFS_NON_SPECIFIC_ALL_UNMADE_VOFILES),$(COQ_VOFILES))
+NO_CURVES_PROOFS_VOFILES := $(filter-out $(NO_CURVES_PROOFS_ALL_UNMADE_VOFILES),$(REGULAR_VOFILES))
endif
ifneq ($(filter curves-proofs,$(MAKECMDGOALS)),)
CURVES_PROOFS_VOFILES := $(call vo_closure,$(CURVES_PROOFS_PRE_VOFILES))
endif
-ifneq ($(filter selected-specific,$(MAKECMDGOALS)),)
-SELECTED_SPECIFIC_VOFILES := $(call vo_closure,$(SELECTED_SPECIFIC_PRE_VOFILES))
-endif
-ifneq ($(filter new-pipeline,$(MAKECMDGOALS)),)
-NEW_PIPELINE_VOFILES := $(call vo_closure,$(NEW_PIPELINE_PRE_VOFILES))
-endif
ifneq ($(filter pre-standalone,$(MAKECMDGOALS)),)
PRE_STANDALONE_VOFILES := $(call vo_closure,$(PRE_STANDALONE_PRE_VOFILES))
endif
-specific: $(SPECIFIC_VO)
-non-specific: $(NON_SPECIFIC_VO)
-coq: $(COQ_VOFILES)
+all: coq c-files
+coq: $(REGULAR_VOFILES)
+c-files: $(ALL_C_FILES)
+
lite: $(LITE_VOFILES)
-old-pipeline-lite: $(OLD_PIPELINE_LITE_VOFILES)
-lite-display: $(LITE_DISPLAY_VOFILES:.vo=.log)
-coq-without-new-pipeline: $(COQ_WITHOUT_NEW_PIPELINE_VOFILES)
nobigmem: $(NOBIGMEM_VOFILES)
-old-pipeline-nobigmem: $(OLD_PIPELINE_NOBIGMEM_VOFILES)
only-heavy: $(HEAVY_VOFILES)
util: $(UTIL_VOFILES)
curves-proofs: $(CURVES_PROOFS_VOFILES)
no-curves-proofs: $(NO_CURVES_PROOFS_VOFILES)
-no-curves-proofs-non-specific: $(NO_CURVES_PROOFS_NON_SPECIFIC_VOFILES)
-new-pipeline: $(NEW_PIPELINE_VOFILES)
pre-standalone: $(PRE_STANDALONE_VOFILES)
-specific-display: $(SPECIFIC_DISPLAY_VO:.vo=.log)
-specific-c: $(filter-out $(UNMADE_C_FILES),$(SPECIFIC_DISPLAY_VO:Display.vo=.c) $(SPECIFIC_DISPLAY_VO:Display.vo=.h))
-selected-specific: $(SELECTED_SPECIFIC_VOFILES)
-selected-specific-display: $(SELECTED_SPECIFIC_DISPLAY_VO:.vo=.log)
-selected-c: $(filter-out $(UNMADE_C_FILES),$(SELECTED_SPECIFIC_DISPLAY_VO:Display.vo=.c) $(SELECTED_SPECIFIC_DISPLAY_VO:Display.vo=.h))
some-early: $(SOME_EARLY_VOFILES)
-nonautogenerated-specific: $(NONAUTOGENERATED_SPECIFIC_VOFILES)
-nonautogenerated-specific-display: $(NONAUTOGENERATED_SPECIFIC_DISPLAY_VO:.vo=.log)
-nonautogenerated-c: $(filter-out $(UNMADE_C_FILES),$(NONAUTOGENERATED_SPECIFIC_DISPLAY_VO:Display.vo=.c) $(NONAUTOGENERATED_SPECIFIC_DISPLAY_VO:Display.vo=.h))
-display: $(DISPLAY_VO:.vo=.log)
-
-regenerate-curves::
- ./regenerate-curves.sh
-
-# extra target for faster coqdep
-.PHONY: src/Specific/.autgenerated-deps
-src/Specific/.autgenerated-deps:
- $(SHOW)'COQDEP $@'
- $(HIDE)$(COQDEP) $(COQLIBS) -dyndep var -c $(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v) $(redir_if_ok)
-
-.PHONY: fast-autogenerated-deps
-fast-autogenerated-deps: src/Specific/.autgenerated-deps
- $(SHOW)'CP .v.d'
- $(HIDE)for i in $(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d); do rm -f $$i; ln -s "$(shell cd src/Specific && pwd)/.autgenerated-deps" $$i; done
-
-.PHONY: fake-autogenerated-deps
-fake-autogenerated-deps:
- $(SHOW)'FAKE COQDEP SPECIFIC.v.d'
- $(HIDE)touch $(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d)
-
-ifneq ($(filter fast-autogenerated-deps,$(MAKECMDGOALS)),)
-$(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d): fast-autogenerated-deps
- @ true
-endif
-ifneq ($(filter fake-autogenerated-deps,$(MAKECMDGOALS)),)
-$(REAL_SPECIFIC_GENERATED_VOFILES:.vo=.v.d): fake-autogenerated-deps
- @ true
-endif
+# backwards-compat for coq ci:
+new-pipeline: coq
printlite::
@@ -254,22 +122,6 @@ printlite::
@echo 'Files Not Made:'
@for i in $(sort $(LITE_ALL_UNMADE_VOFILES)); do echo $$i; done
-print-old-pipeline-lite::
- @echo 'Files Made:'
- @for i in $(sort $(OLD_PIPELINE_LITE_VOFILES)); do echo $$i; done
- @echo
- @echo
- @echo 'Files Not Made:'
- @for i in $(sort $(OLD_PIPELINE_LITE_ALL_UNMADE_VOFILES)); do echo $$i; done
-
-print-lite-display::
- @echo 'Files Made:'
- @for i in $(sort $(LITE_DISPLAY_VOFILES)); do echo $$i; done
- @echo
- @echo
- @echo 'Files Not Made:'
- @for i in $(sort $(LITE_ALL_UNMADE_VOFILES)); do echo $$i; done
-
print-nobigmem::
@echo 'Files Made:'
@for i in $(sort $(NOBIGMEM_VOFILES)); do echo $$i; done
@@ -278,21 +130,10 @@ print-nobigmem::
@echo 'Files Not Made:'
@for i in $(sort $(NOBIGMEM_ALL_UNMADE_VOFILES)); do echo $$i; done
-print-old-pipeline-nobigmem::
- @echo 'Files Made:'
- @for i in $(sort $(OLD_PIPELINE_NOBIGMEM_VOFILES)); do echo $$i; done
- @echo
- @echo
- @echo 'Files Not Made:'
- @for i in $(sort $(OLD_PIPELINE_NOBIGMEM_ALL_UNMADE_VOFILES)); do echo $$i; done
-
-ifneq ($(filter 8.5%,$(COQ_VERSION)),) # 8.5
-else
+OTHERFLAGS += -w "-notation-overridden"
ifneq ($(PROFILE),)
OTHERFLAGS += -profile-ltac
endif
-OTHERFLAGS += -w "-notation-overridden"
-endif
ifneq ($(filter /cygdrive/%,$(CURDIR)),)
CURDIR_SAFE := $(shell cygpath -m "$(CURDIR)")
@@ -329,219 +170,12 @@ install: install-coqprime
endif
-etc/tscfreq: etc/tscfreq.c
- gcc etc/tscfreq.c -s -Os -o etc/tscfreq
-
Makefile.coq: Makefile _CoqProject
$(SHOW)'COQ_MAKEFILE -f _CoqProject > $@'
$(HIDE)$(COQBIN)coq_makefile -f _CoqProject INSTALLDEFAULTROOT = $(INSTALLDEFAULTROOT) -o Makefile-old && cat Makefile-old | sed s'/^printenv:/printenv::/g' | sed s'/^printenv:::/printenv::/g' > $@ && rm -f Makefile-old
-$(DISPLAY_NON_JAVA_VO:.vo=.log) : %Display.log : %.vo src/Compilers/Z/CNotations.vo src/Specific/Framework/IntegrationTestDisplayCommon.vo
-
-$(DISPLAY_NON_JAVA_VO:.vo=.log) : %.log : %.v
- $(SHOW)'COQC $< > $@'
- $(HIDE)$(TIMER) $(COQC) $(COQDEBUG) $(COQFLAGS) $(COQLIBS) $< > $@.tmp
- $(HIDE)sed s'/\r\n/\n/g' $@.tmp > $@ && rm -f $@.tmp
-
-DISPLAY_X25519_C64_VO := $(filter src/Specific/X25519/C64/%,$(DISPLAY_NON_JAVA_VO))
-DISPLAY_X25519_C32_VO := $(filter src/Specific/X25519/C32/%,$(DISPLAY_NON_JAVA_VO))
-DISPLAY_NON_JAVA_C32_VO := $(DISPLAY_X25519_C32_VO)
-DISPLAY_NON_JAVA_C64_VO := $(filter-out $(DISPLAY_NON_JAVA_C32_VO) $(SPECIFIC_GENERATED_VOFILES),$(DISPLAY_NON_JAVA_VO))
-DISPLAY_GENERATED_VO := $(filter $(SPECIFIC_GENERATED_VOFILES),$(DISPLAY_NON_JAVA_VO))
-DISPLAY_NON_GENERATED_VO := $(filter-out $(DISPLAY_GENERATED_VO),$(DISPLAY_NON_JAVA_VO))
-
-c: $(filter-out $(UNMADE_C_FILES),$(DISPLAY_NON_JAVA_VO:Display.vo=.c) $(DISPLAY_NON_GENERATED_VO:Display.vo=.h))
-
-$(DISPLAY_NON_JAVA_C64_VO:Display.vo=.c) : %.c : %Display.log extract-function.sh
- BITWIDTH=64 FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM="" ./extract-function.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_NON_JAVA_C32_VO:Display.vo=.c) : %.c : %Display.log extract-function.sh
- BITWIDTH=32 FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM="" ./extract-function.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_NON_JAVA_C64_VO:Display.vo=.h) : %.h : %Display.log extract-function-header.sh
- BITWIDTH=64 ./extract-function-header.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_NON_JAVA_C32_VO:Display.vo=.h) : %.h : %Display.log extract-function-header.sh
- BITWIDTH=32 ./extract-function-header.sh $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-
-$(DISPLAY_GENERATED_VO:Display.vo=.c) : %.c : %Display.log src/Specific/Framework/bench/prettyprint.py
- ./src/Specific/Framework/bench/prettyprint.py $(patsubst %Display.log,%,$(notdir $<)) < $< > $@
-$(DISPLAY_JAVA_VO:.vo=.log) : %JavaDisplay.log : %.vo src/Compilers/Z/JavaNotations.vo src/Specific/Framework/IntegrationTestDisplayCommon.vo
-
-$(DISPLAY_JAVA_VO:.vo=.log) : %.log : %.v
- $(SHOW)'COQC $< > $@'
- $(HIDE)$(TIMER) $(COQC) $(COQDEBUG) $(COQFLAGS) $< | sed s'/\r\n/\n/g' > $@.tmp && mv -f $@.tmp $@
-
-TEST_BINARIES := \
- src/Specific/X25519/C64/test \
- src/Specific/NISTP256/AMD64/test/feadd_test \
- src/Specific/NISTP256/AMD64/test/femul_test \
- src/Specific/NISTP256/AMD64/test/p256_test \
- src/Specific/NISTP256/AMD64/icc/p256_test
-RUN_TEST_BINARIES := $(addsuffix -run,$(TEST_BINARIES))
-MEASUREMENTS := \
- src/Specific/X25519/C64/measurements.txt \
- third_party/openssl-curve25519/measurements.txt \
- third_party/curve25519-donna-c64/measurements.txt \
- third_party/openssl-nistz256-amd64/measurements.txt \
- third_party/openssl-nistz256-adx/measurements.txt \
- third_party/openssl-nistp256c64/measurements.txt \
- src/Specific/NISTP256/AMD64/measurements.txt \
- src/Specific/NISTP256/AMD64/icc/measurements.txt
-MEASURE_BINARIES := $(addsuffix measure,$(dir $(MEASUREMENTS)))
-
-SELECTED_TEST_BINARIES := $(filter $(SELECTED_PATTERN),$(TEST_BINARIES))
-RUN_SELECTED_TEST_BINARIES := $(filter $(SELECTED_PATTERN),$(RUN_TEST_BINARIES))
-SELECTED_MEASURE_BINARIES := $(filter $(SELECTED_PATTERN),$(MEASURE_BINARIES))
-SELECTED_MEASUREMENTS := $(filter $(SELECTED_PATTERN),$(MEASUREMENTS))
-
-src/Specific/X25519/C64/test src/Specific/X25519/C64/measure: $(filter-out $(UNMADE_C_FILES),$(DISPLAY_X25519_C64_VO:Display.vo=.c) $(DISPLAY_X25519_C64_VO:Display.vo=.h)) src/Specific/X25519/C64/scalarmult.c
-src/Specific/X25519/C64/test: src/Specific/X25519/C64/compiler.sh src/Specific/X25519/x25519_test.c
-src/Specific/X25519/C64/test: INCLUDE_FOLDER=src/Specific/X25519/C64
-src/Specific/X25519/C64/measure: UUT=crypto_scalarmult_bench
-src/Specific/X25519/C64/measurements.txt: COUNT=2047
-
-third_party/openssl-curve25519/measure: third_party/openssl-curve25519/crypto_scalarmult_bench.c third_party/openssl-curve25519/ec_curve25519.c third_party/openssl-curve25519/ec_curve25519.h
-third_party/openssl-curve25519/measure: UUT=crypto_scalarmult_bench
-third_party/openssl-curve25519/measurements.txt: COUNT=2047
-
-third_party/curve25519-donna-c64/measure: third_party/curve25519-donna-c64/crypto_scalarmult_bench.c third_party/curve25519-donna-c64/curve25519-donna-c64.c
-third_party/curve25519-donna-c64/measure: UUT=crypto_scalarmult_bench
-third_party/curve25519-donna-c64/measurements.txt: COUNT=2047
-
-third_party/openssl-nistz256-amd64/measure: third_party/openssl-nistz256-amd64/bench_madd.c third_party/openssl-nistz256-amd64/cpu_intel.c third_party/openssl-nistz256-amd64/ecp_nistz256-x86_64.s third_party/openssl-nistz256-amd64/nistz256.h
-third_party/openssl-nistz256-amd64/measure: UUT=bench_madd
-third_party/openssl-nistz256-amd64/measurements.txt: COUNT=65535
-
-third_party/openssl-nistz256-adx/measure: third_party/openssl-nistz256-adx/bench_madd.c third_party/openssl-nistz256-adx/cpu_intel.c third_party/openssl-nistz256-adx/ecp_nistz256-x86_64.s third_party/openssl-nistz256-adx/nistz256.h
-third_party/openssl-nistz256-adx/measure: UUT=bench_madd
-third_party/openssl-nistz256-adx/measurements.txt: COUNT=65535
-
-third_party/openssl-nistp256c64/measure: third_party/openssl-nistp256c64/bench_madd.c third_party/openssl-nistp256c64/ecp_nistp256.c third_party/openssl-nistp256c64/ecp_nistp256.h
-third_party/openssl-nistp256c64/measure: UUT=bench_madd
-third_party/openssl-nistp256c64/measurements.txt: COUNT=65535
-
-src/Specific/NISTP256/AMD64/measure: src/Specific/NISTP256/AMD64/bench_madd.c src/Specific/NISTP256/AMD64/feadd.h src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/femul.h src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/fenz.h src/Specific/NISTP256/AMD64/fenz.c src/Specific/NISTP256/AMD64/feopp.h src/Specific/NISTP256/AMD64/feopp.c src/Specific/NISTP256/AMD64/fesub.h src/Specific/NISTP256/AMD64/fesub.c src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c liblow/cmovznz.c
-src/Specific/NISTP256/AMD64/measure: UUT=bench_madd
-src/Specific/NISTP256/AMD64/measurements.txt: COUNT=65535
-
-src/Specific/NISTP256/AMD64/icc/measure: src/Specific/NISTP256/AMD64/p256.h src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s src/Specific/NISTP256/AMD64/bench_madd.c liblow/cmovznz.c
-src/Specific/NISTP256/AMD64/icc/measure: UUT=bench_madd
-src/Specific/NISTP256/AMD64/icc/measurements.txt: COUNT=65535
-
-
-src/Specific/NISTP256/AMD64/test/feadd_test src/Specific/NISTP256/AMD64/test/femul_test src/Specific/NISTP256/AMD64/test/p256_test: src/Specific/NISTP256/AMD64/compiler.sh liblow/cmovznz.c
-src/Specific/NISTP256/AMD64/test/feadd_test src/Specific/NISTP256/AMD64/test/femul_test src/Specific/NISTP256/AMD64/test/p256_test: INCLUDE_FOLDER=src/Specific/NISTP256/AMD64/
-
-src/Specific/NISTP256/AMD64/test/feadd_test: src/Specific/NISTP256/AMD64/feadd.h src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/test/feadd_test.c
-
-src/Specific/NISTP256/AMD64/test/femul_test: src/Specific/NISTP256/AMD64/femul.h src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/test/femul_test.c
-
-src/Specific/NISTP256/AMD64/test/p256_test: src/Specific/NISTP256/AMD64/test/p256_test.c src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/feadd.h src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/femul.h src/Specific/NISTP256/AMD64/fenz.c src/Specific/NISTP256/AMD64/fenz.h src/Specific/NISTP256/AMD64/fesub.c src/Specific/NISTP256/AMD64/fesub.h src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c src/Specific/NISTP256/AMD64/p256.h
-
-src/Specific/NISTP256/AMD64/icc/p256_test: src/Specific/NISTP256/AMD64/icc/compiler.sh src/Specific/NISTP256/AMD64/test/p256_test.c src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s src/Specific/NISTP256/AMD64/p256.h
-src/Specific/NISTP256/AMD64/icc/p256_test: INCLUDE_FOLDER=src/Specific/NISTP256/AMD64/
-
-$(TEST_BINARIES):
- $(filter %/compiler.sh,$^) -o $@ -I liblow -I $(INCLUDE_FOLDER) $(filter %.c %.s,$^)
-
-$(MEASURE_BINARIES) : %/measure : %/compiler.sh measure.c
- $*/compiler.sh -o $@ -I liblow -I $* $(filter %.c %.s,$^) -D UUT=$(UUT)
-
-$(MEASUREMENTS) : %/measurements.txt : %/measure capture.sh etc/machine.sh etc/cpufreq etc/tscfreq
- ./capture.sh $* $(COUNT)
-
-src/Specific/NISTP256/AMD64/icc/combined.c: liblow/cmovznz.c src/Specific/NISTP256/AMD64/feadd.c src/Specific/NISTP256/AMD64/femul.c src/Specific/NISTP256/AMD64/fenz.c src/Specific/NISTP256/AMD64/fesub.c src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c extract-function.sh
- (cd src/Specific/NISTP256/AMD64 && ( BITWIDTH=64 FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM="" ../../../../extract-function.sh "stdint" < /dev/null | grep -v stdint && sed 's:^uint64_t:static inline &:' ../../../../liblow/cmovznz.c && echo fenz.c feadd.c fesub.c femul.c p256_jacobian_add_affine.c | xargs -n1 grep -A99999 void -- ) | sed 's:^void force_inline:static inline void force_inline:' | grep -v liblow > icc/combined.c )
-
-GENERATED_FOLDERS := $(sort $(dir $(filter $(SPECIFIC_GENERATED_VOFILES),$(REGULAR_VOFILES))))
-GENERATED_PY_MEASUREMENTS := $(addsuffix montladder.log,$(GENERATED_FOLDERS))
-GENERATED_GMPXX := $(addsuffix gmpxx,$(GENERATED_FOLDERS))
-GENERATED_GMPXX_MEASUREMENTS := $(addsuffix .log,$(GENERATED_GMPXX))
-GENERATED_GMPVAR := $(addsuffix gmpvar,$(GENERATED_FOLDERS))
-GENERATED_GMPVAR_MEASUREMENTS := $(addsuffix .log,$(GENERATED_GMPVAR))
-GENERATED_GMPSEC := $(addsuffix gmpsec,$(GENERATED_FOLDERS))
-GENERATED_GMPSEC_MEASUREMENTS := $(addsuffix .log,$(GENERATED_GMPSEC))
-GENERATED_FIBE := $(addsuffix fibe,$(GENERATED_FOLDERS))
-GENERATED_FIBE_MEASUREMENTS := $(addsuffix .log,$(GENERATED_FIBE))
-
-generated-benchmarks: $(GENERATED_FIBE) $(GENERATED_GMPSEC) $(GENERATED_GMPVAR) $(GENERATED_GMPXX)
-
-$(GENERATED_PY_MEASUREMENTS) : %/montladder.log : %/py_interpreter.sh src/Specific/Framework/bench/montladder.py
- sh $*/py_interpreter.sh src/Specific/Framework/bench/montladder.py > $@
-
-$(GENERATED_GMPXX) : %/gmpxx : %/compilerxx.sh src/Specific/Framework/bench/gmpxx.cpp
- sh $*/compilerxx.sh src/Specific/Framework/bench/gmpxx.cpp -lgmp -lgmpxx -o $@
-
-$(GENERATED_GMPXX_MEASUREMENTS) : %/gmpxx.log : %/gmpxx
- $(STDTIME) $< 2>&1 | tee $@
-
-$(GENERATED_GMPVAR) : %/gmpvar : %/compiler.sh src/Specific/Framework/bench/gmpvar.c
- sh $*/compiler.sh src/Specific/Framework/bench/gmpvar.c -lgmp -o $@
-
-$(GENERATED_GMPVAR_MEASUREMENTS) : %/gmpvar.log : %/gmpvar
- $(STDTIME) $< 2>&1 | tee $@
-
-$(GENERATED_GMPSEC) : %/gmpsec : %/compiler.sh src/Specific/Framework/bench/gmpsec.c
- sh $*/compiler.sh src/Specific/Framework/bench/gmpsec.c -lgmp -o $@
-
-$(GENERATED_GMPSEC_MEASUREMENTS) : %/gmpsec.log : %/gmpsec
- $(STDTIME) $< 2>&1 | tee $@
-
-$(GENERATED_FIBE) : %/fibe : %/compiler.sh src/Specific/Framework/bench/fibe.c %/feadd.c %/femul.c %/fesquare.c %/fesub.c liblow/liblow.h liblow/cmovznz.c
- sh $*/compiler.sh -I liblow/ liblow/cmovznz.c src/Specific/Framework/bench/fibe.c -I $*/ -o $@
-
-$(GENERATED_FIBE_MEASUREMENTS) : %/fibe.log : %/fibe
- $(STDTIME) $< 2>&1 | tee $@
-
-.PHONY: generated-py-bench
-generated-py-bench: $(GENERATED_PY_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-gmpxx-bench
-generated-gmpxx-bench: $(GENERATED_GMPXX_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-gmpvar-bench
-generated-gmpvar-bench: $(GENERATED_GMPVAR_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-gmpsec-bench
-generated-gmpsec-bench: $(GENERATED_GMPSEC_MEASUREMENTS)
- head -999999 $?
-
-.PHONY: generated-fibe-bench
-generated-fibe-bench: $(GENERATED_FIBE_MEASUREMENTS)
- head -999999 $?
-
-bench: $(MEASUREMENTS)
- head -999999 $?
-
-selected-bench: $(SELECTED_MEASUREMENTS)
- head -999999 $?
-
-
-.PHONY: $(RUN_TEST_BINARIES)
-$(RUN_TEST_BINARIES) : %-run : %
- $<
-
-test: $(RUN_TEST_BINARIES)
-
-build-test: $(TEST_BINARIES)
-
-selected-test: $(RUN_SELECTED_TEST_BINARIES)
-
-build-selected-test: $(SELECTED_TEST_BINARIES)
-
-build-bench: $(MEASURE_BINARIES)
-
-build-selected-bench: $(SELECTED_MEASURE_BINARIES)
-
-STANDALONE := \
- unsaturated_solinas \
- saturated_solinas \
- word_by_word_montgomery
+STANDALONE := unsaturated_solinas saturated_solinas word_by_word_montgomery
$(STANDALONE:%=src/ExtractionOCaml/%.ml) : %.ml : %.v src/StandaloneOCamlMain.vo
$(SHOW)'COQC $< > $@'
@@ -561,18 +195,15 @@ $(STANDALONE:%=src/ExtractionHaskell/%) : % : %.hs
$(TIMER_FULL) $(GHC) $(GHCFLAGS) -o $@ $<
standalone: standalone-haskell standalone-ocaml
-
standalone-haskell: $(STANDALONE:%=src/ExtractionHaskell/%)
standalone-ocaml: $(STANDALONE:%=src/ExtractionOCaml/%)
UNSATURATED_SOLINAS_C_FILES := curve25519_64.c curve25519_32.c p521_64.c p521_32.c # p224_solinas_64.c
WORD_BY_WORD_MONTGOMERY_C_FILES := p256_64.c p256_32.c p384_64.c p384_32.c secp256k1_64.c secp256k1_32.c p224_64.c p224_32.c
+ALL_C_FILES := $(UNSATURATED_SOLINAS_C_FILES) $(WORD_BY_WORD_MONTGOMERY_C_FILES)
FUNCTIONS_FOR_25519 := carry_mul carry_square carry_scmul121666 carry add sub opp selectznz to_bytes from_bytes
UNSATURATED_SOLINAS := src/ExtractionOCaml/unsaturated_solinas
WORD_BY_WORD_MONTGOMERY := src/ExtractionOCaml/word_by_word_montgomery
-ALL_C_FILES := $(UNSATURATED_SOLINAS_C_FILES) $(WORD_BY_WORD_MONTGOMERY_C_FILES)
-.PHONY: c-files
-c-files: $(ALL_C_FILES)
$(UNSATURATED_SOLINAS_C_FILES): $(UNSATURATED_SOLINAS) # Makefile
@@ -623,15 +254,11 @@ p224_64.c p224_32.c : p224_%.c :
$(SHOW)'SYNTHESIZE > $@'
$(HIDE)$(TIMER_FULL) $(WORD_BY_WORD_MONTGOMERY) 'p224' '2^224' '2^96,1;1,-1' '$*' > $@
-CFLAGS?=
-.PHONY: only-test-c-files test-c-files
-only-test-c-files test-c-files:
- $(CC) -Wall -Wno-unused-function -Werror $(CFLAGS) -c $(ALL_C_FILES)
-
test-c-files: $(ALL_C_FILES)
+ $(CC) -Wall -Wno-unused-function -Werror $(CFLAGS) -c $(ALL_C_FILES)
clean::
- rm -f Makefile.coq remake_curves.log src/Specific/.autgenerated-deps
+ rm -f Makefile.coq
cleanall:: clean
diff --git a/README.md b/README.md
index 0215e2e2c..5417ee120 100644
--- a/README.md
+++ b/README.md
@@ -1,59 +1,45 @@
-Fiat-Crypto: Synthesizing Correct-by-Construction Code for Cryptographic Primitives
+naFiat-Crypto: Synthesizing Correct-by-Construction Code for Cryptographic Primitives
=====
-[![Build Status](https://api.travis-ci.org/mit-plv/fiat-crypto.png?branch=master)](https://travis-ci.org/mit-plv/fiat-crypto)
-
-See [src/README.md](src/README.md).
-
-OLD PIPELINE README BELOW
-=========================
-
-
-Build Requirements
+Building
-----
-This repository requires:
-- To build the proofs and almost-C-like outputs: [Coq 8.7](https://github.com/coq/coq/releases/tag/V8.7.2) or [Coq 8.8](https://github.com/coq/coq/releases/tag/V8.8.0) (tested with 8.7.2, 8.8.0)
-If you checked out this repository via `git`, you should run
+This repository requires coq 8.8 or later. 8.7 may work, but we don't use it ourselves.
+
+Git submodules are used for some dependencies. If you did not clone with `--recursive`, run
git submodule update --init --recursive
To build (if your COQPATH variable is empty):
- make
+ make
To build:
- export COQPATH="$(pwd)/coqprime${COQPATH:+:}$COQPATH"
- make
-
-You may get non-fatal errors such as `make: execvp: /bin/sh: Argument list too long`; this is an artifact of the [old pipeline](#old-pipeline) and is a [bug in Coq](https://github.com/coq/coq/issues/7584) that will prevent `make install` from succeeding, but will not impact the build itself.
+ export COQPATH="$(pwd)/coqprime${COQPATH:+:}$COQPATH"
+ make
-New Pipeline
+Usage
-----
-The new pipeline (nearly finished) generates binaries that take in arguments on the command line and print out C code on stdout.
-A collection of C files can be made with
+The Coq development builds binary compilers that generate code using some implementation strategy.
+The parameters (modulus, hardware multiplication input bitwidth, etc.) are are specified on the command line of the compiler.
+The generated C code is written to standard output.
+
+A collection of C files for popular curves can be made with
make c-files
The C files will appear in the top-level directory.
-The binaries generating these C files can be made with
+Just the compilers generating these C files can be made with
make standalone
or `make standalone-haskell` or `make standalone-ocaml` for binaries generated with just one compiler.
+The binaries are located in `src/ExtractionOcaml/` and `src/ExtractionHaskell` respectively.
-The binaries are located in
-
- src/Experiments/NewPipeline/ExtractionOCaml/
-
-or
-
- src/Experiments/NewPipeline/ExtractionHaskell/
-
-The binaries are:
+There is a separate compiler binary for each implementation strategy:
- `saturated_solinas`
- `unsaturated_solinas`
@@ -71,95 +57,218 @@ Here are some examples of ways to invoke the binaries (from the directories that
./word_by_word_montgomery 'p256' '2^256' '2^224,1;2^192,-1;2^96,-1;1,1' '32' > p256_32.c
./word_by_word_montgomery 'p256' '2^256' '2^224,1;2^192,-1;2^96,-1;1,1' '64' > p256_64.c
-Old Pipeline
-----
-
-To build a representative subset, instead of `make`, run
-
- make selected-specific-display non-specific
-
-The core library (target `nonautogenerated-specific-display non-specific`) is expected to build within about one hour (in serial, on a particularly fast machine), within about 3.5--4 GB of RAM, plus an additional 1-5 minutes to run `coqdep` on all of our files. Of the additional curves, 90% finish within 5 minutes per file, and 99% finish within 15 minutes per file (though some take upwards of 50 GB of RAM). These 99% of curves together take about 60 hours.
-
-- To build the C outputs: Python (2 or 3)
-
-To build:
-
- make c
-
-or, for a representative subset,
-
- make selected-c
-
-- To build and run the binaries, gcc (7.1.2; or 7.1.1 with `-fno-peephole2`) or clang of a new enough version to support the appropriate compiler intrinsics.
-
-To build and run:
-
- make test bench
-or, for a representative subset,
+Reading The Code
+----------------
- make selected-test selected-bench
-
-Exploring the code
------
-
-### Push-button synthesis
-
-To add a new prime, add a new line to [`primes.txt`](https://github.com/mit-plv/fiat-crypto/blob/master/primes.txt) with your prime. Then run
-
- ./generate_parameters.py; ./src/Specific/CurveParameters/remake_curves.sh
-
-You will see a bunch of lines starting with `git add`; any `.v` files that show up in these lines must be added to `_CoqProject`. (If you are working in the git repository, you may simply run the `git add` lines, and then run `make update-_CoqProject`.) Note that the directory structure involves a textual representation of your prime, call it `${REPRESENTATION_OF_YOUR_PRIME}`. To build, you can run
-
- make src/Specific/{montgomery,solinas}{32,64}_${REPRESENTATION_OF_YOUR_PRIME}/fibe
-
-This will build all the necessary `.vo` and `.c` files, as well as the `fibe` binary, which is automatically run when you `make bench` or `make test`.
+### Demo of Synthesis
-### Curve Correctness Theorems
+The idea of the synthesis process is demoed in [`src/Demo.v`](./src/Demo.v).
+We strongly recommend reading this before studying the full-scale system.
+
+### Actual Synthesis Pipeline
+
+The ordering of files (eliding `*Proofs.v` files) is:
+
+```
+ Language.v ←──────────────────────────────────────────────────┬───────────────────────────────┐
+ ↗ ↖ │ │
+ ↗ ↖ │ │
+ UnderLets.v GENERATEDIdentifiersWithoutTypes.v MiscCompilerPasses.v PushButtonSynthesis/ReificationCache.v
+ ↑ ↖ ↗ ↑ ↑
+AbstractInterpretation.v Rewriter.v │ │
+ ↑ ↑ ┌────────────────────────────────────────────────────┘ │
+CStringification.v │ │ Arithmetic.v │
+ ↑ ┌───────────────────┴─┘ ↑ │
+BoundsPipeline.v COperationSpecifications.v │
+ ↑ ↑ │
+ │ ┌────────────────────────────────────────┴────────────────────────────────────────────────────────────────┘
+PushButtonSynthesis.v ←── Toplevel2.v ←───────────┐
+ ↑ │
+CLI.v SlowPrimeSynthesisExamples.v
+↑ ↑
+│ └────────────────────────────┐
+StandaloneHaskellMain.v StandaloneOCamlMain.v
+ ↑ ↑
+ExtractionHaskell.v ExtractionOCaml.v
+```
+
+The files contain:
+
+- Arithmetic.v: All of the high-level field arithmetic stuff
+
+- Language.v:
+ + PHOAS
+ + reification
+ + denotation/intepretation
+ + utilities for inverting PHOAS exprs
+ + default/dummy values of PHOAS exprs
+ + default instantiation of generic PHOAS types
+ + gallina reification of ground terms
+ + Flat/indexed syntax trees, and conversions to and from PHOAS
+ Defines the passes:
+ + ToFlat
+ + FromFlat
+ + GeneralizeVar
+
+- UnderLets.v: the UnderLets monad, a pass that does substitution of var-like
+ things, a pass that inserts let-binders in the next-to-last line of code,
+ substituting away var-like things (this is used to ensure that when we output
+ C code, aliasing the input and the output arrays doesn't cause issues).
+ Defines the passes:
+ + SubstVarFstSndPairOppCast
+
+- AbstractInterpretation.v: type-code-based ZRange definitions, abstract
+ interpretation of identifiers (which does let-lifting, for historical reasons,
+ and the dependency on UnderLets should probably be removed), defines the
+ passes:
+ + PartialEvaluateWithBounds
+ + PartialEvaluateWithListInfoFromBounds
+ + CheckPartialEvaluateWithBounds
+
+- GENERATEDIdentifiersWithoutTypes.v: generated by a python script which is
+ included in a comment in the file, this is an untyped version of identifiers
+ for the rewriter
+
+- Rewriter.v: rewrite rules, rewriting. Defines the passes:
+ + Rewrite
+ + RewriteToFancy
+ + PartialEvaluate (which is just a synonym for Rewrite)
+
+- MiscCompilerPasses.v: Defines the passes:
+ + EliminateDead (dead code elimination)
+ + Subst01 (substitute let-binders used 0 or 1 times)
+
+- CStringification.v: conversion to C code as strings. (Depends on
+ AbstractInterpretation.v for ZRange utilities.) Defines the passes:
+ + ToString.ToFunctionLines
+ + ToString.ToFunctionString
+ + ToString.LinesToString
+
+- CompilersTestCases.v: Various test cases to ensure everything is working
+
+- BoundsPipeline.v: Assemble the various compiler passes together into
+ a composed pipeline. It is the final interface for the compiler.
+ Also contains some tactics for applying the BoundsPipeline
+ correctness lemma.
+
+- COperationSpecifications.v: The specifications for the various
+ operations to be synthesized.
+
+- PushButtonSynthesis/ReificationCache.v: Defines the cache that holds
+ reified versions of operations, as well as the tactics that reify
+ and apply things from the cache.
+
+- PushButtonSynthesis.v: Reifies the various operations from
+ Arithmetic.v, definies the compositions of the BoundsPipeline with
+ these operations, proves that their interpretations satisfies the
+ specs from COperationSpecifications.v, assembles the reified
+ post-bounds operations into synthesis targets. This is the file
+ that CLI.v depends on.
+
+- Toplevel2.v: Some not-quite-finished-but-kind-of-slow pipeline stuff
+ + all the stuff that uses compilers + arithmetic, together with more
+ examples. Also has semi-broken fancy-machine stuff. This should
+ probably be merged into Toplevel1.v when working on the pipeline.
+
+- SlowPrimeSynthesisExamples.v: Additional uses of the pipeline for
+ primes that are kind-of slow, which I don't want extraction blocking
+ on.
+
+- CLI.v: Setting up all of the language-independent parts of extraction; relies
+ on having a list of strings-or-error-messages for each pipeline, and on the
+ arguments to that pipeline, and builds a parser for command line arguments for
+ that.
+
+- StandaloneHaskellMain.v, StandaloneOCamlMain.v, ExtractionHaskell.v,
+ ExtractionOCaml.v: Extraction of pipeline to various languages
+
+
+Proofs files:
+For Language.v, there is a semi-arbitrary split between two files
+`LanguageInversion` and `LanguageWf`.
+- LanguageInversion.v:
+ + classifies equality of type codes and exprs
+ + type codes have decidable equality
+ + correctness of the various type-transport definitions
+ + correctness lemmas for the various `expr.invert_*` definitions
+ + correctness lemmas for the various `reify_*` definitions in Language.v
+ + inversion_type, which inverts equality of type codes
+ + type_beq_to_eq, which converts boolean equality of types to
+ Leibniz equality
+ + rewrite_type_transport_correct, which rewrites with the
+ correctness lemmas of the various type-transport definitions
+ + `type.invert_one e` which does case analysis on any inductive type
+ indexed over type codes, in a way that preserves information
+ about the type of `e`, and generally works even when the goal is
+ dependently typed over `e` and/or its type
+ + ident.invert, which does case-anaylsis on idents whose type has
+ structure (i.e., is not a var)
+ + ident.invert_match, which does case-analysis on idents appearing as
+ the discriminee of a `match` in the goal or in any hypothesis
+ + expr.invert, which does case-anaylsis on exprs whose type has
+ structure (i.e., is not a var)
+ + expr.invert_match, which does case-analysis on exprs appearing as
+ the discriminee of a `match` in the goal or in any hypothesis
+ + expr.invert_subst, which does case-analysis on exprs which show up
+ in hypotheses of the form `expr.invert_* _ = Some _`
+ + expr.inversion_expr, which inverts equalities of exprs
+
+- LanguageWf.v: Depends on LanguageInversion.v
+ Defines:
+ + expr.wf, expr.Wf, expr.wf3, expr.Wf3
+ + GeneralizeVar.Flat.wf
+ + expr.inversion_wf (and variants), which invert `wf` hypotheses
+ + expr.wf_t (and variants wf_unsafe_t and wf_safe_t) which make
+ progress on `wf` goals; `wf_safe_t` should never turn a provable
+ goal into an unprovable one, while `wf_unsafe_t` might.
+ + expr.interp_t (and variants), which should make progress on
+ equivalence-of-interp hypotheses and goals, but is not used much
+ (mainly because I forgot I had defined it)
+ + prove_Wf, which proves wf goals on concrete syntax trees in a more
+ optimized way than `repeat constructor`
+ Proves:
+ + funext → (type.eqv ↔ Logic.eq) (`eqv_iff_eq_of_funext`)
+ + type.related and type.eqv are PERs
+ + Proper instances for type.app_curried, type.and_for_each_lhs_of_arrow
+ + type.is_not_higher_order → Reflexive (type.and_for_each_lhs_of_arrow type.eqv)
+ + iff between type.related{,_hetero} and related of type.app_curried
+ + various properties of type.and{,b_bool}for_each_lhs_of_arrow
+ + various properties of type.eqv and ident.{gen_,}interp
+ + various properties of ident.cast
+ + various properties of expr.wf (particularly of things defined in Language.v)
+ + interp and wf proofs for the passes to/from Flat
+
+- UnderLetsProofs.v: wf and interp lemmas for the various passes defined in UnderLets.v
+- MiscCompilerPassesProofs.v: wf and interp lemmas for the various passes defined in MiscCompilerPasses.v
+- GENERATEDIdentifiersWithoutTypesProofs.v: various lemmas about the definitions in GENERATEDIdentifiersWithoutTypes.v
+- AbstractInterpretationZRangeProofs.v: Proves correctness lemmas of the per-operation zrange-bounds-analysis functions
+- AbstractInterpretationWf.v: wf lemmas for the AbstractInterpretation pass
+- AbstractInterpretationProofs.v: interp lemmas for the
+ AbstractInterpretation pass, and also correctness lemmas that
+ combine Wf and interp
+- RewriterWf1.v: a semi-arbitrary collection of proofs and definitions
+ that are mostly shared between the wf proofs and the interp proofs.
+ Importantly, this file defines everything needed to state and prove
+ that specific rewrite rules are correct.
+- RewriterRulesGood.v: Proves that all specific rewriter rules are
+ good enough for wf proofs (as specified in RewriterWf1.v)
+- RewriterRulesInterpGood.v: Proves that all specific rewriter rules
+ are good enough for interp proofs (as specified in RewriterWf1.v)
+- RewriterWf2.v: Proves wf of the generic rewriter pass, taking in
+ specific-rewriter-rule-correctness as a hypothesis
+- RewriterInterpProofs1.v: Proves interp-correctness of the generic
+ rewriter pass, taking in specific-rewriter-rule-correctness as a
+ hypothesis
+- RewriterProofs.v: assembles the proofs from RewriterRulesGood.v,
+ RewriterRulesInterpGood.v, RewriterWf2.v, and
+ RewriterInterpProofs1.v into correctness lemmas for the overall
+ rewriter pass, specialized and pre-evaluated for specific rewrite
+ rules
+
+There are also proofs about elliptic curves, for example:
-Specifications live in [`src/Spec`](./src/Spec), e.g., [`src/Spec/Ed25519.v`](./src/Spec/Ed25519.v).
-Some selected cuve-level proofs live in
- [`src/Curves/Edwards/AffineProofs.v`](./src/Curves/Edwards/AffineProofs.v),
- [`src/Curves/Edwards/XYZT/Basic.v`](./src/Curves/Edwards/XYZT/Basic.v),
- [`src/Curves/Montgomery/AffineProofs.v`](./src/Curves/Montgomery/AffineProofs.v),
- [`src/Curves/Montgomery/XZProofs.v`](src/Curves/Montgomery/XZProofs.v).
-
-### Arithmetic Core
-
-Generic mathematical optimization strategies live in [`src/Arithmetic`](./src/Arithmetic).
-Good examples include
-- [`src/Arithmetic/Core.v`](src/Arithmetic/Core.v),
-- [`src/Arithmetic/Karatsuba.v`](src/Arithmetic/Karatsuba.v),
-- [`src/Arithmetic/Saturated/Core.v`](./src/Arithmetic/Saturated/Core.v),
-- [`src/Arithmetic/BarrettReduction/HAC.v`](./src/Arithmetic/BarrettReduction/HAC.v),
-- [`src/Arithmetic/MontgomeryReduction/Definition.v`](./src/Arithmetic/MontgomeryReduction/Definition.v),
-- [`src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v`](./src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v).
-
-### Demo of Synthesis
-
-The idea of the synthesis process is demoed in [`src/Demo.v`](./src/Demo.v).
-
-### Actual Synthesis
-
-- The curve-non-specific synthesis framework lives in [`src/Compilers/Z/Bounds/Pipeline`](./src/Compilers/Z/Bounds/Pipeline).
-- The API for the reflective simplification and bounds analysis pipeline is in [`src/Compilers/Z/Bounds/Pipeline.v`](./src/Compilers/Z/Bounds/Pipeline.v).
-- The definition of the pipeline and the correctness proof are in [`src/Compilers/Z/Bounds/Pipeline/Definition.v`](./src/Compilers/Z/Bounds/Pipeline/Definition.v).
-- Generic reflective syntax trees are defined in [`src/Compilers/Syntax.v`](./src/Compilers/Syntax.v); the specialization to the arithmetic operations on Z that we use occurs in [`src/Compilers/Z/Syntax.v`](./src/Compilers/Z/Syntax.v).
-- The trusted pretty-printer lives in [`src/Compilers/Z/CNotations.v`](./src/Compilers/Z/CNotations.v) and [`src/Compilers/Z/HexNotationConstants.v`](./src/Compilers/Z/HexNotationConstants.v), which were generated by the couple-hundred-line Python scripts in a comment near the top of each file.
-- The core of the bounds-analysis transformation lives in [`src/Compilers/Z/Bounds/Interpretation.v`](./src/Compilers/Z/Bounds/Interpretation.v); the corresponding proofs live in [`src/Compilers/Z/Bounds/InterpretationLemmas`](./src/Compilers/Z/Bounds/InterpretationLemmas), and the instantation of the bounds-analysis transformation with the core lives in [`src/Compilers/Z/Bounds/MapCastByDeBruijn.v`](./src/Compilers/Z/Bounds/MapCastByDeBruijn.v).
-
-
-The curve-specific synthesis framework lives in [`src/Specific/Framework`](./src/Specific/Framework).
-- The input `.json` files live in [`src/Specific/CurveParameters`](./src/Specific/CurveParameters), and the processor for those files lives in [`src/Specific/Framework/make_curve.py`](./src/Specific/Framework/make_curve.py).
-- The record of curve specific parameters is defined in [`src/Specific/Framework/RawCurveParameters.v`](./src/Specific/Framework/RawCurveParameters.v), and defaults are filled in [`src/Specific/Framework/CurveParameters.v`](src/Specific/Framework/CurveParameters.v).
-- The tactics that specialize the various arithmetic optimizations to specific curves live in [`src/Specific/Framework/ArithmeticSynthesis`](./src/Specific/Framework/ArithmeticSynthesis), e.g., [`src/Specific/Framework/ArithmeticSynthesis/Montgomery.v`](./src/Specific/Framework/ArithmeticSynthesis/Montgomery.v).
-- The script at [`src/Specific/Framework/ArithmeticSynthesis/remake_packages.py`](./src/Specific/Framework/ArithmeticSynthesis/remake_packages.py) processes these files to add relevant boilerplate, and gets run after significantly changing an optimization, or after adding a new optimization.
-- The synthesis tactics are assembled in [`src/Specific/Framework/SynthesisFramework.v`](./src/Specific/Framework/SynthesisFramework.v).
-Note that magic<a name="magic-ref">[¹](#magic)</a> is used to create identifiers refering to the curve-specific parameters, from tactics, so that they can be used in other curve-specific files.
-
-### Example Output
-
-The c output lives in the various subfolders of [`src/Specific`](./src/Specific). For example, C-like code for X25519 multiplication on 64-bit machines lives in [`src/Specific/X25519/C64/femulDisplay.log`](./src/Specific/X25519/C64/femulDisplay.log), which is generated from [`src/Specific/X25519/C64/femulDisplay.v`](./src/Specific/X25519/C64/femulDisplay.v), which in turn uses synthesis run in [`src/Specific/X25519/C64/femul.v`](./src/Specific/X25519/C64/femul.v). The `c` target turns this into `src/Specific/X25519/C64/femul.c`.
-
-## Footnotes
-<a name="magic">[¹](#magic-ref)</a> This magic comes in the form of calls to `transparent_abstract`, packaged up in some tactics in [`src/Util/Tactics/CacheTerm.v`](./src/Util/Tactics/CacheTerm.v).
diff --git a/_CoqProject b/_CoqProject
index 5cb9ea44c..4845010e5 100644
--- a/_CoqProject
+++ b/_CoqProject
@@ -58,9 +58,6 @@ src/Algebra/Nsatz.v
src/Algebra/Ring.v
src/Algebra/ScalarMult.v
src/Algebra/SubsetoidRing.v
-src/Arithmetic/Core.v
-src/Arithmetic/CoreUnfolder.v
-src/Arithmetic/Karatsuba.v
src/Arithmetic/ModularArithmeticPre.v
src/Arithmetic/ModularArithmeticTheorems.v
src/Arithmetic/PrimeFieldTheorems.v
@@ -70,198 +67,6 @@ src/Arithmetic/BarrettReduction/RidiculousFish.v
src/Arithmetic/BarrettReduction/Wikipedia.v
src/Arithmetic/MontgomeryReduction/Definition.v
src/Arithmetic/MontgomeryReduction/Proofs.v
-src/Arithmetic/MontgomeryReduction/WordByWord/Definition.v
-src/Arithmetic/MontgomeryReduction/WordByWord/Proofs.v
-src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v
-src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Proofs.v
-src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Definition.v
-src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Proofs.v
-src/Arithmetic/Saturated/AddSub.v
-src/Arithmetic/Saturated/Core.v
-src/Arithmetic/Saturated/CoreUnfolder.v
-src/Arithmetic/Saturated/Freeze.v
-src/Arithmetic/Saturated/FreezeUnfolder.v
-src/Arithmetic/Saturated/MontgomeryAPI.v
-src/Arithmetic/Saturated/MulSplit.v
-src/Arithmetic/Saturated/MulSplitUnfolder.v
-src/Arithmetic/Saturated/UniformWeight.v
-src/Arithmetic/Saturated/UniformWeightInstances.v
-src/Arithmetic/Saturated/Wrappers.v
-src/Arithmetic/Saturated/WrappersUnfolder.v
-src/Compilers/CommonSubexpressionElimination.v
-src/Compilers/CommonSubexpressionEliminationDenote.v
-src/Compilers/CommonSubexpressionEliminationInterp.v
-src/Compilers/CommonSubexpressionEliminationProperties.v
-src/Compilers/CommonSubexpressionEliminationWf.v
-src/Compilers/Conversion.v
-src/Compilers/CountLets.v
-src/Compilers/Equality.v
-src/Compilers/Eta.v
-src/Compilers/EtaInterp.v
-src/Compilers/EtaWf.v
-src/Compilers/ExprInversion.v
-src/Compilers/FilterLive.v
-src/Compilers/FoldTypes.v
-src/Compilers/GeneralizeVar.v
-src/Compilers/GeneralizeVarInterp.v
-src/Compilers/GeneralizeVarWf.v
-src/Compilers/Inline.v
-src/Compilers/InlineConstAndOp.v
-src/Compilers/InlineConstAndOpByRewrite.v
-src/Compilers/InlineConstAndOpByRewriteInterp.v
-src/Compilers/InlineConstAndOpByRewriteWf.v
-src/Compilers/InlineConstAndOpInterp.v
-src/Compilers/InlineConstAndOpWf.v
-src/Compilers/InlineInterp.v
-src/Compilers/InlineWf.v
-src/Compilers/InputSyntax.v
-src/Compilers/InterpByIso.v
-src/Compilers/InterpByIsoProofs.v
-src/Compilers/InterpProofs.v
-src/Compilers/InterpRewriting.v
-src/Compilers/InterpSideConditions.v
-src/Compilers/InterpWf.v
-src/Compilers/InterpWfRel.v
-src/Compilers/Intros.v
-src/Compilers/Linearize.v
-src/Compilers/LinearizeInterp.v
-src/Compilers/LinearizeWf.v
-src/Compilers/Map.v
-src/Compilers/MapBaseType.v
-src/Compilers/MapBaseTypeWf.v
-src/Compilers/MapCastByDeBruijn.v
-src/Compilers/MapCastByDeBruijnInterp.v
-src/Compilers/MapCastByDeBruijnWf.v
-src/Compilers/MultiSizeTest.v
-src/Compilers/Reify.v
-src/Compilers/Relations.v
-src/Compilers/RenameBinders.v
-src/Compilers/Rewriter.v
-src/Compilers/RewriterInterp.v
-src/Compilers/RewriterWf.v
-src/Compilers/SmartMap.v
-src/Compilers/StripExpr.v
-src/Compilers/Syntax.v
-src/Compilers/TestCase.v
-src/Compilers/Tuple.v
-src/Compilers/TypeInversion.v
-src/Compilers/TypeUtil.v
-src/Compilers/Wf.v
-src/Compilers/WfInversion.v
-src/Compilers/WfProofs.v
-src/Compilers/WfReflective.v
-src/Compilers/WfReflectiveGen.v
-src/Compilers/InSet/Syntax.v
-src/Compilers/InSet/Typeify.v
-src/Compilers/InSet/TypeifyInterp.v
-src/Compilers/Named/AListContext.v
-src/Compilers/Named/Compile.v
-src/Compilers/Named/CompileInterp.v
-src/Compilers/Named/CompileInterpSideConditions.v
-src/Compilers/Named/CompileProperties.v
-src/Compilers/Named/CompileWf.v
-src/Compilers/Named/Context.v
-src/Compilers/Named/ContextDefinitions.v
-src/Compilers/Named/ContextOn.v
-src/Compilers/Named/ContextProperties.v
-src/Compilers/Named/CountLets.v
-src/Compilers/Named/DeadCodeElimination.v
-src/Compilers/Named/DeadCodeEliminationInterp.v
-src/Compilers/Named/EstablishLiveness.v
-src/Compilers/Named/ExprInversion.v
-src/Compilers/Named/FMapContext.v
-src/Compilers/Named/GetNames.v
-src/Compilers/Named/IdContext.v
-src/Compilers/Named/InterpSideConditions.v
-src/Compilers/Named/InterpSideConditionsInterp.v
-src/Compilers/Named/InterpretToPHOAS.v
-src/Compilers/Named/InterpretToPHOASInterp.v
-src/Compilers/Named/InterpretToPHOASWf.v
-src/Compilers/Named/MapCast.v
-src/Compilers/Named/MapCastInterp.v
-src/Compilers/Named/MapCastWf.v
-src/Compilers/Named/MapType.v
-src/Compilers/Named/NameUtil.v
-src/Compilers/Named/NameUtilProperties.v
-src/Compilers/Named/PositiveContext.v
-src/Compilers/Named/RegisterAssign.v
-src/Compilers/Named/RegisterAssignInterp.v
-src/Compilers/Named/SmartMap.v
-src/Compilers/Named/Syntax.v
-src/Compilers/Named/WeakListContext.v
-src/Compilers/Named/Wf.v
-src/Compilers/Named/WfFromUnit.v
-src/Compilers/Named/WfInterp.v
-src/Compilers/Named/ContextProperties/NameUtil.v
-src/Compilers/Named/ContextProperties/Proper.v
-src/Compilers/Named/ContextProperties/SmartMap.v
-src/Compilers/Named/ContextProperties/Tactics.v
-src/Compilers/Named/PositiveContext/Defaults.v
-src/Compilers/Named/PositiveContext/DefaultsProperties.v
-src/Compilers/Z/ArithmeticSimplifier.v
-src/Compilers/Z/ArithmeticSimplifierInterp.v
-src/Compilers/Z/ArithmeticSimplifierUtil.v
-src/Compilers/Z/ArithmeticSimplifierWf.v
-src/Compilers/Z/BinaryNotationConstants.v
-src/Compilers/Z/CNotations.v
-src/Compilers/Z/CommonSubexpressionElimination.v
-src/Compilers/Z/CommonSubexpressionEliminationInterp.v
-src/Compilers/Z/CommonSubexpressionEliminationWf.v
-src/Compilers/Z/FoldTypes.v
-src/Compilers/Z/GeneralizeVar.v
-src/Compilers/Z/GeneralizeVarInterp.v
-src/Compilers/Z/GeneralizeVarWf.v
-src/Compilers/Z/HexNotationConstants.v
-src/Compilers/Z/Inline.v
-src/Compilers/Z/InlineConstAndOp.v
-src/Compilers/Z/InlineConstAndOpByRewrite.v
-src/Compilers/Z/InlineConstAndOpByRewriteInterp.v
-src/Compilers/Z/InlineConstAndOpByRewriteWf.v
-src/Compilers/Z/InlineConstAndOpInterp.v
-src/Compilers/Z/InlineConstAndOpWf.v
-src/Compilers/Z/InlineInterp.v
-src/Compilers/Z/InlineWf.v
-src/Compilers/Z/InterpSideConditions.v
-src/Compilers/Z/JavaNotations.v
-src/Compilers/Z/MapCastByDeBruijn.v
-src/Compilers/Z/MapCastByDeBruijnInterp.v
-src/Compilers/Z/MapCastByDeBruijnWf.v
-src/Compilers/Z/OpInversion.v
-src/Compilers/Z/Reify.v
-src/Compilers/Z/RewriteAddToAdc.v
-src/Compilers/Z/RewriteAddToAdcInterp.v
-src/Compilers/Z/RewriteAddToAdcWf.v
-src/Compilers/Z/Syntax.v
-src/Compilers/Z/TypeInversion.v
-src/Compilers/Z/Bounds/Interpretation.v
-src/Compilers/Z/Bounds/MapCastByDeBruijn.v
-src/Compilers/Z/Bounds/MapCastByDeBruijnInterp.v
-src/Compilers/Z/Bounds/MapCastByDeBruijnWf.v
-src/Compilers/Z/Bounds/Pipeline.v
-src/Compilers/Z/Bounds/Relax.v
-src/Compilers/Z/Bounds/RoundUpLemmas.v
-src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v
-src/Compilers/Z/Bounds/InterpretationLemmas/PullCast.v
-src/Compilers/Z/Bounds/InterpretationLemmas/Tactics.v
-src/Compilers/Z/Bounds/Pipeline/Definition.v
-src/Compilers/Z/Bounds/Pipeline/Glue.v
-src/Compilers/Z/Bounds/Pipeline/OutputType.v
-src/Compilers/Z/Bounds/Pipeline/ReflectiveTactics.v
-src/Compilers/Z/Named/DeadCodeElimination.v
-src/Compilers/Z/Named/DeadCodeEliminationInterp.v
-src/Compilers/Z/Named/RewriteAddToAdc.v
-src/Compilers/Z/Named/RewriteAddToAdcInterp.v
-src/Compilers/Z/Syntax/Equality.v
-src/Compilers/Z/Syntax/Util.v
-src/Compilers/ZExtended/InlineConstAndOp.v
-src/Compilers/ZExtended/InlineConstAndOpByRewrite.v
-src/Compilers/ZExtended/InlineConstAndOpByRewriteInterp.v
-src/Compilers/ZExtended/InlineConstAndOpByRewriteWf.v
-src/Compilers/ZExtended/InlineConstAndOpInterp.v
-src/Compilers/ZExtended/InlineConstAndOpWf.v
-src/Compilers/ZExtended/MapBaseType.v
-src/Compilers/ZExtended/Syntax.v
-src/Compilers/ZExtended/Syntax/Util.v
src/Curves/Edwards/AffineProofs.v
src/Curves/Edwards/Pre.v
src/Curves/Edwards/XYZT/Basic.v
@@ -275,39 +80,12 @@ src/Curves/Weierstrass/Affine.v
src/Curves/Weierstrass/AffineProofs.v
src/Curves/Weierstrass/Jacobian.v
src/Curves/Weierstrass/Projective.v
-src/Experiments/PartialEvaluationWithLetIn.v
-src/Experiments/SimplyTypedArithmetic.v
src/ExtractionHaskell/saturated_solinas.v
src/ExtractionHaskell/unsaturated_solinas.v
src/ExtractionHaskell/word_by_word_montgomery.v
src/ExtractionOCaml/saturated_solinas.v
src/ExtractionOCaml/unsaturated_solinas.v
src/ExtractionOCaml/word_by_word_montgomery.v
-src/LegacyArithmetic/ArchitectureToZLike.v
-src/LegacyArithmetic/ArchitectureToZLikeProofs.v
-src/LegacyArithmetic/BarretReduction.v
-src/LegacyArithmetic/BaseSystem.v
-src/LegacyArithmetic/BaseSystemProofs.v
-src/LegacyArithmetic/Interface.v
-src/LegacyArithmetic/InterfaceProofs.v
-src/LegacyArithmetic/MontgomeryReduction.v
-src/LegacyArithmetic/Pow2Base.v
-src/LegacyArithmetic/Pow2BaseProofs.v
-src/LegacyArithmetic/VerdiTactics.v
-src/LegacyArithmetic/ZBounded.v
-src/LegacyArithmetic/ZBoundedZ.v
-src/LegacyArithmetic/Double/Core.v
-src/LegacyArithmetic/Double/Proofs/BitwiseOr.v
-src/LegacyArithmetic/Double/Proofs/Decode.v
-src/LegacyArithmetic/Double/Proofs/LoadImmediate.v
-src/LegacyArithmetic/Double/Proofs/Multiply.v
-src/LegacyArithmetic/Double/Proofs/RippleCarryAddSub.v
-src/LegacyArithmetic/Double/Proofs/SelectConditional.v
-src/LegacyArithmetic/Double/Proofs/ShiftLeft.v
-src/LegacyArithmetic/Double/Proofs/ShiftLeftRightTactic.v
-src/LegacyArithmetic/Double/Proofs/ShiftRight.v
-src/LegacyArithmetic/Double/Proofs/ShiftRightDoubleWordImmediate.v
-src/LegacyArithmetic/Double/Proofs/SpreadLeftImmediate.v
src/Primitives/EdDSARepChange.v
src/Primitives/MxDHRepChange.v
src/PushButtonSynthesis/ReificationCache.v
@@ -319,6168 +97,6 @@ src/Spec/MontgomeryCurve.v
src/Spec/MxDH.v
src/Spec/WeierstrassCurve.v
src/Spec/Test/X25519.v
-src/Specific/Framework/CurveParameters.v
-src/Specific/Framework/CurveParametersPackage.v
-src/Specific/Framework/IntegrationTestDisplayCommon.v
-src/Specific/Framework/IntegrationTestDisplayCommonTactics.v
-src/Specific/Framework/IntegrationTestTemporaryMiscCommon.v
-src/Specific/Framework/MontgomeryReificationTypes.v
-src/Specific/Framework/MontgomeryReificationTypesPackage.v
-src/Specific/Framework/OutputType.v
-src/Specific/Framework/Packages.v
-src/Specific/Framework/RawCurveParameters.v
-src/Specific/Framework/ReificationTypes.v
-src/Specific/Framework/ReificationTypesPackage.v
-src/Specific/Framework/SynthesisFramework.v
-src/Specific/Framework/ArithmeticSynthesis/Base.v
-src/Specific/Framework/ArithmeticSynthesis/BasePackage.v
-src/Specific/Framework/ArithmeticSynthesis/Defaults.v
-src/Specific/Framework/ArithmeticSynthesis/DefaultsPackage.v
-src/Specific/Framework/ArithmeticSynthesis/Freeze.v
-src/Specific/Framework/ArithmeticSynthesis/FreezePackage.v
-src/Specific/Framework/ArithmeticSynthesis/HelperTactics.v
-src/Specific/Framework/ArithmeticSynthesis/Karatsuba.v
-src/Specific/Framework/ArithmeticSynthesis/KaratsubaPackage.v
-src/Specific/Framework/ArithmeticSynthesis/Ladderstep.v
-src/Specific/Framework/ArithmeticSynthesis/LadderstepPackage.v
-src/Specific/Framework/ArithmeticSynthesis/Montgomery.v
-src/Specific/Framework/ArithmeticSynthesis/MontgomeryPackage.v
-src/Specific/Framework/ArithmeticSynthesis/SquareFromMul.v
-src/Specific/NISTP256/AMD128/CurveParameters.v
-src/Specific/NISTP256/AMD128/Synthesis.v
-src/Specific/NISTP256/AMD128/feadd.v
-src/Specific/NISTP256/AMD128/feaddDisplay.v
-src/Specific/NISTP256/AMD128/femul.v
-src/Specific/NISTP256/AMD128/femulDisplay.v
-src/Specific/NISTP256/AMD128/fenz.v
-src/Specific/NISTP256/AMD128/fenzDisplay.v
-src/Specific/NISTP256/AMD128/feopp.v
-src/Specific/NISTP256/AMD128/feoppDisplay.v
-src/Specific/NISTP256/AMD128/fesub.v
-src/Specific/NISTP256/AMD128/fesubDisplay.v
-src/Specific/NISTP256/AMD64/CurveParameters.v
-src/Specific/NISTP256/AMD64/Synthesis.v
-src/Specific/NISTP256/AMD64/feadd.v
-src/Specific/NISTP256/AMD64/feaddDisplay.v
-src/Specific/NISTP256/AMD64/femul.v
-src/Specific/NISTP256/AMD64/femulDisplay.v
-src/Specific/NISTP256/AMD64/fenz.v
-src/Specific/NISTP256/AMD64/fenzDisplay.v
-src/Specific/NISTP256/AMD64/feopp.v
-src/Specific/NISTP256/AMD64/feoppDisplay.v
-src/Specific/NISTP256/AMD64/fesub.v
-src/Specific/NISTP256/AMD64/fesubDisplay.v
-src/Specific/NISTP256/FancyMachine256/Barrett.v
-src/Specific/NISTP256/FancyMachine256/Core.v
-src/Specific/NISTP256/FancyMachine256/Montgomery.v
-src/Specific/X2448/Karatsuba/C64/CurveParameters.v
-src/Specific/X2448/Karatsuba/C64/Synthesis.v
-src/Specific/X2448/Karatsuba/C64/femul.v
-src/Specific/X2448/Karatsuba/C64/femulDisplay.v
-src/Specific/X25519/C32/CurveParameters.v
-src/Specific/X25519/C32/Synthesis.v
-src/Specific/X25519/C32/feadd.v
-src/Specific/X25519/C32/feaddDisplay.v
-src/Specific/X25519/C32/fecarry.v
-src/Specific/X25519/C32/fecarryDisplay.v
-src/Specific/X25519/C32/femul.v
-src/Specific/X25519/C32/femulDisplay.v
-src/Specific/X25519/C32/fesquare.v
-src/Specific/X25519/C32/fesquareDisplay.v
-src/Specific/X25519/C32/fesub.v
-src/Specific/X25519/C32/fesubDisplay.v
-src/Specific/X25519/C32/freeze.v
-src/Specific/X25519/C32/freezeDisplay.v
-src/Specific/X25519/C64/CurveParameters.v
-src/Specific/X25519/C64/Synthesis.v
-src/Specific/X25519/C64/feadd.v
-src/Specific/X25519/C64/feaddDisplay.v
-src/Specific/X25519/C64/fecarry.v
-src/Specific/X25519/C64/fecarryDisplay.v
-src/Specific/X25519/C64/femul.v
-src/Specific/X25519/C64/femulDisplay.v
-src/Specific/X25519/C64/fesquare.v
-src/Specific/X25519/C64/fesquareDisplay.v
-src/Specific/X25519/C64/fesub.v
-src/Specific/X25519/C64/fesubDisplay.v
-src/Specific/X25519/C64/freeze.v
-src/Specific/X25519/C64/freezeDisplay.v
-src/Specific/X25519/C64/ladderstep.v
-src/Specific/X25519/C64/ladderstepDisplay.v
-src/Specific/montgomery32_2e127m1_4limbs/CurveParameters.v
-src/Specific/montgomery32_2e127m1_4limbs/Synthesis.v
-src/Specific/montgomery32_2e127m1_4limbs/feadd.v
-src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.v
-src/Specific/montgomery32_2e127m1_4limbs/femul.v
-src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.v
-src/Specific/montgomery32_2e127m1_4limbs/fenz.v
-src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.v
-src/Specific/montgomery32_2e127m1_4limbs/feopp.v
-src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.v
-src/Specific/montgomery32_2e127m1_4limbs/fesub.v
-src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.v
-src/Specific/montgomery32_2e129m25_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e129m25_5limbs/Synthesis.v
-src/Specific/montgomery32_2e129m25_5limbs/feadd.v
-src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e129m25_5limbs/femul.v
-src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e129m25_5limbs/fenz.v
-src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e129m25_5limbs/feopp.v
-src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e129m25_5limbs/fesub.v
-src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e130m5_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e130m5_5limbs/Synthesis.v
-src/Specific/montgomery32_2e130m5_5limbs/feadd.v
-src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e130m5_5limbs/femul.v
-src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e130m5_5limbs/fenz.v
-src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e130m5_5limbs/feopp.v
-src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e130m5_5limbs/fesub.v
-src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e137m13_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e137m13_5limbs/Synthesis.v
-src/Specific/montgomery32_2e137m13_5limbs/feadd.v
-src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e137m13_5limbs/femul.v
-src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e137m13_5limbs/fenz.v
-src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e137m13_5limbs/feopp.v
-src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e137m13_5limbs/fesub.v
-src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e140m27_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e140m27_5limbs/Synthesis.v
-src/Specific/montgomery32_2e140m27_5limbs/feadd.v
-src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e140m27_5limbs/femul.v
-src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e140m27_5limbs/fenz.v
-src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e140m27_5limbs/feopp.v
-src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e140m27_5limbs/fesub.v
-src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e141m9_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e141m9_5limbs/Synthesis.v
-src/Specific/montgomery32_2e141m9_5limbs/feadd.v
-src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e141m9_5limbs/femul.v
-src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e141m9_5limbs/fenz.v
-src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e141m9_5limbs/feopp.v
-src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e141m9_5limbs/fesub.v
-src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e150m3_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e150m3_5limbs/Synthesis.v
-src/Specific/montgomery32_2e150m3_5limbs/feadd.v
-src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e150m3_5limbs/femul.v
-src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e150m3_5limbs/fenz.v
-src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e150m3_5limbs/feopp.v
-src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e150m3_5limbs/fesub.v
-src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e150m5_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e150m5_5limbs/Synthesis.v
-src/Specific/montgomery32_2e150m5_5limbs/feadd.v
-src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e150m5_5limbs/femul.v
-src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e150m5_5limbs/fenz.v
-src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e150m5_5limbs/feopp.v
-src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e150m5_5limbs/fesub.v
-src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e152m17_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e152m17_5limbs/Synthesis.v
-src/Specific/montgomery32_2e152m17_5limbs/feadd.v
-src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e152m17_5limbs/femul.v
-src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e152m17_5limbs/fenz.v
-src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e152m17_5limbs/feopp.v
-src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e152m17_5limbs/fesub.v
-src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e158m15_5limbs/CurveParameters.v
-src/Specific/montgomery32_2e158m15_5limbs/Synthesis.v
-src/Specific/montgomery32_2e158m15_5limbs/feadd.v
-src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.v
-src/Specific/montgomery32_2e158m15_5limbs/femul.v
-src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.v
-src/Specific/montgomery32_2e158m15_5limbs/fenz.v
-src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.v
-src/Specific/montgomery32_2e158m15_5limbs/feopp.v
-src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.v
-src/Specific/montgomery32_2e158m15_5limbs/fesub.v
-src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.v
-src/Specific/montgomery32_2e165m25_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e165m25_6limbs/Synthesis.v
-src/Specific/montgomery32_2e165m25_6limbs/feadd.v
-src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e165m25_6limbs/femul.v
-src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e165m25_6limbs/fenz.v
-src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e165m25_6limbs/feopp.v
-src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e165m25_6limbs/fesub.v
-src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e166m5_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e166m5_6limbs/Synthesis.v
-src/Specific/montgomery32_2e166m5_6limbs/feadd.v
-src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e166m5_6limbs/femul.v
-src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e166m5_6limbs/fenz.v
-src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e166m5_6limbs/feopp.v
-src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e166m5_6limbs/fesub.v
-src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e171m19_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e171m19_6limbs/Synthesis.v
-src/Specific/montgomery32_2e171m19_6limbs/feadd.v
-src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e171m19_6limbs/femul.v
-src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e171m19_6limbs/fenz.v
-src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e171m19_6limbs/feopp.v
-src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e171m19_6limbs/fesub.v
-src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e174m17_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e174m17_6limbs/Synthesis.v
-src/Specific/montgomery32_2e174m17_6limbs/feadd.v
-src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e174m17_6limbs/femul.v
-src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e174m17_6limbs/fenz.v
-src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e174m17_6limbs/feopp.v
-src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e174m17_6limbs/fesub.v
-src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e174m3_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e174m3_6limbs/Synthesis.v
-src/Specific/montgomery32_2e174m3_6limbs/feadd.v
-src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e174m3_6limbs/femul.v
-src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e174m3_6limbs/fenz.v
-src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e174m3_6limbs/feopp.v
-src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e174m3_6limbs/fesub.v
-src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e189m25_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e189m25_6limbs/Synthesis.v
-src/Specific/montgomery32_2e189m25_6limbs/feadd.v
-src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e189m25_6limbs/femul.v
-src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e189m25_6limbs/fenz.v
-src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e189m25_6limbs/feopp.v
-src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e189m25_6limbs/fesub.v
-src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e190m11_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e190m11_6limbs/Synthesis.v
-src/Specific/montgomery32_2e190m11_6limbs/feadd.v
-src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e190m11_6limbs/femul.v
-src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e190m11_6limbs/fenz.v
-src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e190m11_6limbs/feopp.v
-src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e190m11_6limbs/fesub.v
-src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e191m19_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e191m19_6limbs/Synthesis.v
-src/Specific/montgomery32_2e191m19_6limbs/feadd.v
-src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e191m19_6limbs/femul.v
-src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e191m19_6limbs/fenz.v
-src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e191m19_6limbs/feopp.v
-src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e191m19_6limbs/fesub.v
-src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/CurveParameters.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/Synthesis.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.v
-src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.v
-src/Specific/montgomery32_2e194m33_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e194m33_7limbs/Synthesis.v
-src/Specific/montgomery32_2e194m33_7limbs/feadd.v
-src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e194m33_7limbs/femul.v
-src/Specific/montgomery32_2e194m33_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e194m33_7limbs/fenz.v
-src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e194m33_7limbs/feopp.v
-src/Specific/montgomery32_2e194m33_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e194m33_7limbs/fesub.v
-src/Specific/montgomery32_2e194m33_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e196m15_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e196m15_7limbs/Synthesis.v
-src/Specific/montgomery32_2e196m15_7limbs/feadd.v
-src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e196m15_7limbs/femul.v
-src/Specific/montgomery32_2e196m15_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e196m15_7limbs/fenz.v
-src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e196m15_7limbs/feopp.v
-src/Specific/montgomery32_2e196m15_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e196m15_7limbs/fesub.v
-src/Specific/montgomery32_2e196m15_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e198m17_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e198m17_7limbs/Synthesis.v
-src/Specific/montgomery32_2e198m17_7limbs/feadd.v
-src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e198m17_7limbs/femul.v
-src/Specific/montgomery32_2e198m17_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e198m17_7limbs/fenz.v
-src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e198m17_7limbs/feopp.v
-src/Specific/montgomery32_2e198m17_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e198m17_7limbs/fesub.v
-src/Specific/montgomery32_2e198m17_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/Synthesis.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femul.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feopp.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesub.v
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e206m5_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e206m5_7limbs/Synthesis.v
-src/Specific/montgomery32_2e206m5_7limbs/feadd.v
-src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e206m5_7limbs/femul.v
-src/Specific/montgomery32_2e206m5_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e206m5_7limbs/fenz.v
-src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e206m5_7limbs/feopp.v
-src/Specific/montgomery32_2e206m5_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e206m5_7limbs/fesub.v
-src/Specific/montgomery32_2e206m5_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e212m29_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e212m29_7limbs/Synthesis.v
-src/Specific/montgomery32_2e212m29_7limbs/feadd.v
-src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e212m29_7limbs/femul.v
-src/Specific/montgomery32_2e212m29_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e212m29_7limbs/fenz.v
-src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e212m29_7limbs/feopp.v
-src/Specific/montgomery32_2e212m29_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e212m29_7limbs/fesub.v
-src/Specific/montgomery32_2e212m29_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e213m3_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e213m3_7limbs/Synthesis.v
-src/Specific/montgomery32_2e213m3_7limbs/feadd.v
-src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e213m3_7limbs/femul.v
-src/Specific/montgomery32_2e213m3_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e213m3_7limbs/fenz.v
-src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e213m3_7limbs/feopp.v
-src/Specific/montgomery32_2e213m3_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e213m3_7limbs/fesub.v
-src/Specific/montgomery32_2e213m3_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/Synthesis.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/femul.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/feopp.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/fesub.v
-src/Specific/montgomery32_2e216m2e108m1_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e221m3_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e221m3_7limbs/Synthesis.v
-src/Specific/montgomery32_2e221m3_7limbs/feadd.v
-src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e221m3_7limbs/femul.v
-src/Specific/montgomery32_2e221m3_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e221m3_7limbs/fenz.v
-src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e221m3_7limbs/feopp.v
-src/Specific/montgomery32_2e221m3_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e221m3_7limbs/fesub.v
-src/Specific/montgomery32_2e221m3_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e222m117_7limbs/Synthesis.v
-src/Specific/montgomery32_2e222m117_7limbs/feadd.v
-src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e222m117_7limbs/femul.v
-src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e222m117_7limbs/fenz.v
-src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e222m117_7limbs/feopp.v
-src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e222m117_7limbs/fesub.v
-src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/CurveParameters.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/Synthesis.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/femul.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/femulDisplay.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/feopp.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/feoppDisplay.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/fesub.v
-src/Specific/montgomery32_2e224m2e96p1_7limbs/fesubDisplay.v
-src/Specific/montgomery32_2e226m5_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e226m5_8limbs/Synthesis.v
-src/Specific/montgomery32_2e226m5_8limbs/feadd.v
-src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e226m5_8limbs/femul.v
-src/Specific/montgomery32_2e226m5_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e226m5_8limbs/fenz.v
-src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e226m5_8limbs/feopp.v
-src/Specific/montgomery32_2e226m5_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e226m5_8limbs/fesub.v
-src/Specific/montgomery32_2e226m5_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e230m27_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e230m27_8limbs/Synthesis.v
-src/Specific/montgomery32_2e230m27_8limbs/feadd.v
-src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e230m27_8limbs/femul.v
-src/Specific/montgomery32_2e230m27_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e230m27_8limbs/fenz.v
-src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e230m27_8limbs/feopp.v
-src/Specific/montgomery32_2e230m27_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e230m27_8limbs/fesub.v
-src/Specific/montgomery32_2e230m27_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e235m15_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e235m15_8limbs/Synthesis.v
-src/Specific/montgomery32_2e235m15_8limbs/feadd.v
-src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e235m15_8limbs/femul.v
-src/Specific/montgomery32_2e235m15_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e235m15_8limbs/fenz.v
-src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e235m15_8limbs/feopp.v
-src/Specific/montgomery32_2e235m15_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e235m15_8limbs/fesub.v
-src/Specific/montgomery32_2e235m15_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e243m9_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e243m9_8limbs/Synthesis.v
-src/Specific/montgomery32_2e243m9_8limbs/feadd.v
-src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e243m9_8limbs/femul.v
-src/Specific/montgomery32_2e243m9_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e243m9_8limbs/fenz.v
-src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e243m9_8limbs/feopp.v
-src/Specific/montgomery32_2e243m9_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e243m9_8limbs/fesub.v
-src/Specific/montgomery32_2e243m9_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e251m9_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e251m9_8limbs/Synthesis.v
-src/Specific/montgomery32_2e251m9_8limbs/feadd.v
-src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e251m9_8limbs/femul.v
-src/Specific/montgomery32_2e251m9_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e251m9_8limbs/fenz.v
-src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e251m9_8limbs/feopp.v
-src/Specific/montgomery32_2e251m9_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e251m9_8limbs/fesub.v
-src/Specific/montgomery32_2e251m9_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/Synthesis.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.v
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e255m19_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e255m19_8limbs/Synthesis.v
-src/Specific/montgomery32_2e255m19_8limbs/feadd.v
-src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e255m19_8limbs/femul.v
-src/Specific/montgomery32_2e255m19_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e255m19_8limbs/fenz.v
-src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e255m19_8limbs/feopp.v
-src/Specific/montgomery32_2e255m19_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e255m19_8limbs/fesub.v
-src/Specific/montgomery32_2e255m19_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e255m765_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e255m765_8limbs/Synthesis.v
-src/Specific/montgomery32_2e255m765_8limbs/feadd.v
-src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e255m765_8limbs/femul.v
-src/Specific/montgomery32_2e255m765_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e255m765_8limbs/fenz.v
-src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e255m765_8limbs/feopp.v
-src/Specific/montgomery32_2e255m765_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e255m765_8limbs/fesub.v
-src/Specific/montgomery32_2e255m765_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e256m189_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e256m189_8limbs/Synthesis.v
-src/Specific/montgomery32_2e256m189_8limbs/feadd.v
-src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e256m189_8limbs/femul.v
-src/Specific/montgomery32_2e256m189_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e256m189_8limbs/fenz.v
-src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e256m189_8limbs/feopp.v
-src/Specific/montgomery32_2e256m189_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e256m189_8limbs/fesub.v
-src/Specific/montgomery32_2e256m189_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/Synthesis.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feopp.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesub.v
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/Synthesis.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/femul.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/feopp.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/fesub.v
-src/Specific/montgomery32_2e256m2e32m977_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/Synthesis.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/femul.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/feopp.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/fesub.v
-src/Specific/montgomery32_2e256m4294968273_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/CurveParameters.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/Synthesis.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.v
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.v
-src/Specific/montgomery32_2e266m3_9limbs/CurveParameters.v
-src/Specific/montgomery32_2e266m3_9limbs/Synthesis.v
-src/Specific/montgomery32_2e266m3_9limbs/feadd.v
-src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.v
-src/Specific/montgomery32_2e266m3_9limbs/femul.v
-src/Specific/montgomery32_2e266m3_9limbs/femulDisplay.v
-src/Specific/montgomery32_2e266m3_9limbs/fenz.v
-src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.v
-src/Specific/montgomery32_2e266m3_9limbs/feopp.v
-src/Specific/montgomery32_2e266m3_9limbs/feoppDisplay.v
-src/Specific/montgomery32_2e266m3_9limbs/fesub.v
-src/Specific/montgomery32_2e266m3_9limbs/fesubDisplay.v
-src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v
-src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v
-src/Specific/montgomery32_2e285m9_9limbs/feadd.v
-src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v
-src/Specific/montgomery32_2e285m9_9limbs/femul.v
-src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v
-src/Specific/montgomery32_2e285m9_9limbs/fenz.v
-src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v
-src/Specific/montgomery32_2e285m9_9limbs/feopp.v
-src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v
-src/Specific/montgomery32_2e285m9_9limbs/fesub.v
-src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v
-src/Specific/montgomery32_2e291m19_10limbs/CurveParameters.v
-src/Specific/montgomery32_2e291m19_10limbs/Synthesis.v
-src/Specific/montgomery32_2e291m19_10limbs/feadd.v
-src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.v
-src/Specific/montgomery32_2e291m19_10limbs/femul.v
-src/Specific/montgomery32_2e291m19_10limbs/femulDisplay.v
-src/Specific/montgomery32_2e291m19_10limbs/fenz.v
-src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.v
-src/Specific/montgomery32_2e291m19_10limbs/feopp.v
-src/Specific/montgomery32_2e291m19_10limbs/feoppDisplay.v
-src/Specific/montgomery32_2e291m19_10limbs/fesub.v
-src/Specific/montgomery32_2e291m19_10limbs/fesubDisplay.v
-src/Specific/montgomery32_2e321m9_11limbs/CurveParameters.v
-src/Specific/montgomery32_2e321m9_11limbs/Synthesis.v
-src/Specific/montgomery32_2e321m9_11limbs/feadd.v
-src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.v
-src/Specific/montgomery32_2e321m9_11limbs/femul.v
-src/Specific/montgomery32_2e321m9_11limbs/femulDisplay.v
-src/Specific/montgomery32_2e321m9_11limbs/fenz.v
-src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.v
-src/Specific/montgomery32_2e321m9_11limbs/feopp.v
-src/Specific/montgomery32_2e321m9_11limbs/feoppDisplay.v
-src/Specific/montgomery32_2e321m9_11limbs/fesub.v
-src/Specific/montgomery32_2e321m9_11limbs/fesubDisplay.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/CurveParameters.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/Synthesis.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/femul.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/femulDisplay.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/feopp.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/feoppDisplay.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/fesub.v
-src/Specific/montgomery32_2e322m2e161m1_11limbs/fesubDisplay.v
-src/Specific/montgomery32_2e336m17_11limbs/CurveParameters.v
-src/Specific/montgomery32_2e336m17_11limbs/Synthesis.v
-src/Specific/montgomery32_2e336m17_11limbs/feadd.v
-src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.v
-src/Specific/montgomery32_2e336m17_11limbs/femul.v
-src/Specific/montgomery32_2e336m17_11limbs/femulDisplay.v
-src/Specific/montgomery32_2e336m17_11limbs/fenz.v
-src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.v
-src/Specific/montgomery32_2e336m17_11limbs/feopp.v
-src/Specific/montgomery32_2e336m17_11limbs/feoppDisplay.v
-src/Specific/montgomery32_2e336m17_11limbs/fesub.v
-src/Specific/montgomery32_2e336m17_11limbs/fesubDisplay.v
-src/Specific/montgomery32_2e336m3_11limbs/CurveParameters.v
-src/Specific/montgomery32_2e336m3_11limbs/Synthesis.v
-src/Specific/montgomery32_2e336m3_11limbs/feadd.v
-src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.v
-src/Specific/montgomery32_2e336m3_11limbs/femul.v
-src/Specific/montgomery32_2e336m3_11limbs/femulDisplay.v
-src/Specific/montgomery32_2e336m3_11limbs/fenz.v
-src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.v
-src/Specific/montgomery32_2e336m3_11limbs/feopp.v
-src/Specific/montgomery32_2e336m3_11limbs/feoppDisplay.v
-src/Specific/montgomery32_2e336m3_11limbs/fesub.v
-src/Specific/montgomery32_2e336m3_11limbs/fesubDisplay.v
-src/Specific/montgomery32_2e338m15_11limbs/CurveParameters.v
-src/Specific/montgomery32_2e338m15_11limbs/Synthesis.v
-src/Specific/montgomery32_2e338m15_11limbs/feadd.v
-src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.v
-src/Specific/montgomery32_2e338m15_11limbs/femul.v
-src/Specific/montgomery32_2e338m15_11limbs/femulDisplay.v
-src/Specific/montgomery32_2e338m15_11limbs/fenz.v
-src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.v
-src/Specific/montgomery32_2e338m15_11limbs/feopp.v
-src/Specific/montgomery32_2e338m15_11limbs/feoppDisplay.v
-src/Specific/montgomery32_2e338m15_11limbs/fesub.v
-src/Specific/montgomery32_2e338m15_11limbs/fesubDisplay.v
-src/Specific/montgomery32_2e369m25_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e369m25_12limbs/Synthesis.v
-src/Specific/montgomery32_2e369m25_12limbs/feadd.v
-src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e369m25_12limbs/femul.v
-src/Specific/montgomery32_2e369m25_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e369m25_12limbs/fenz.v
-src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e369m25_12limbs/feopp.v
-src/Specific/montgomery32_2e369m25_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e369m25_12limbs/fesub.v
-src/Specific/montgomery32_2e369m25_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e379m19_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e379m19_12limbs/Synthesis.v
-src/Specific/montgomery32_2e379m19_12limbs/feadd.v
-src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e379m19_12limbs/femul.v
-src/Specific/montgomery32_2e379m19_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e379m19_12limbs/fenz.v
-src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e379m19_12limbs/feopp.v
-src/Specific/montgomery32_2e379m19_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e379m19_12limbs/fesub.v
-src/Specific/montgomery32_2e379m19_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e382m105_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e382m105_12limbs/Synthesis.v
-src/Specific/montgomery32_2e382m105_12limbs/feadd.v
-src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e382m105_12limbs/femul.v
-src/Specific/montgomery32_2e382m105_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e382m105_12limbs/fenz.v
-src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e382m105_12limbs/feopp.v
-src/Specific/montgomery32_2e382m105_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e382m105_12limbs/fesub.v
-src/Specific/montgomery32_2e382m105_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e383m187_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e383m187_12limbs/Synthesis.v
-src/Specific/montgomery32_2e383m187_12limbs/feadd.v
-src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e383m187_12limbs/femul.v
-src/Specific/montgomery32_2e383m187_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e383m187_12limbs/fenz.v
-src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e383m187_12limbs/feopp.v
-src/Specific/montgomery32_2e383m187_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e383m187_12limbs/fesub.v
-src/Specific/montgomery32_2e383m187_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e383m31_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e383m31_12limbs/Synthesis.v
-src/Specific/montgomery32_2e383m31_12limbs/feadd.v
-src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e383m31_12limbs/femul.v
-src/Specific/montgomery32_2e383m31_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e383m31_12limbs/fenz.v
-src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e383m31_12limbs/feopp.v
-src/Specific/montgomery32_2e383m31_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e383m31_12limbs/fesub.v
-src/Specific/montgomery32_2e383m31_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e383m421_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e383m421_12limbs/Synthesis.v
-src/Specific/montgomery32_2e383m421_12limbs/feadd.v
-src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e383m421_12limbs/femul.v
-src/Specific/montgomery32_2e383m421_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e383m421_12limbs/fenz.v
-src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e383m421_12limbs/feopp.v
-src/Specific/montgomery32_2e383m421_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e383m421_12limbs/fesub.v
-src/Specific/montgomery32_2e383m421_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/Synthesis.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femul.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feopp.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesub.v
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e384m317_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e384m317_12limbs/Synthesis.v
-src/Specific/montgomery32_2e384m317_12limbs/feadd.v
-src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e384m317_12limbs/femul.v
-src/Specific/montgomery32_2e384m317_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e384m317_12limbs/fenz.v
-src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e384m317_12limbs/feopp.v
-src/Specific/montgomery32_2e384m317_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e384m317_12limbs/fesub.v
-src/Specific/montgomery32_2e384m317_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/Synthesis.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femul.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feopp.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesub.v
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/CurveParameters.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/Synthesis.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femul.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femulDisplay.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feopp.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feoppDisplay.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesub.v
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesubDisplay.v
-src/Specific/montgomery32_2e389m21_13limbs/CurveParameters.v
-src/Specific/montgomery32_2e389m21_13limbs/Synthesis.v
-src/Specific/montgomery32_2e389m21_13limbs/feadd.v
-src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.v
-src/Specific/montgomery32_2e389m21_13limbs/femul.v
-src/Specific/montgomery32_2e389m21_13limbs/femulDisplay.v
-src/Specific/montgomery32_2e389m21_13limbs/fenz.v
-src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.v
-src/Specific/montgomery32_2e389m21_13limbs/feopp.v
-src/Specific/montgomery32_2e389m21_13limbs/feoppDisplay.v
-src/Specific/montgomery32_2e389m21_13limbs/fesub.v
-src/Specific/montgomery32_2e389m21_13limbs/fesubDisplay.v
-src/Specific/montgomery32_2e401m31_13limbs/CurveParameters.v
-src/Specific/montgomery32_2e401m31_13limbs/Synthesis.v
-src/Specific/montgomery32_2e401m31_13limbs/feadd.v
-src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.v
-src/Specific/montgomery32_2e401m31_13limbs/femul.v
-src/Specific/montgomery32_2e401m31_13limbs/femulDisplay.v
-src/Specific/montgomery32_2e401m31_13limbs/fenz.v
-src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.v
-src/Specific/montgomery32_2e401m31_13limbs/feopp.v
-src/Specific/montgomery32_2e401m31_13limbs/feoppDisplay.v
-src/Specific/montgomery32_2e401m31_13limbs/fesub.v
-src/Specific/montgomery32_2e401m31_13limbs/fesubDisplay.v
-src/Specific/montgomery32_2e413m21_13limbs/CurveParameters.v
-src/Specific/montgomery32_2e413m21_13limbs/Synthesis.v
-src/Specific/montgomery32_2e413m21_13limbs/feadd.v
-src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.v
-src/Specific/montgomery32_2e413m21_13limbs/femul.v
-src/Specific/montgomery32_2e413m21_13limbs/femulDisplay.v
-src/Specific/montgomery32_2e413m21_13limbs/fenz.v
-src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.v
-src/Specific/montgomery32_2e413m21_13limbs/feopp.v
-src/Specific/montgomery32_2e413m21_13limbs/feoppDisplay.v
-src/Specific/montgomery32_2e413m21_13limbs/fesub.v
-src/Specific/montgomery32_2e413m21_13limbs/fesubDisplay.v
-src/Specific/montgomery32_2e414m17_13limbs/CurveParameters.v
-src/Specific/montgomery32_2e414m17_13limbs/Synthesis.v
-src/Specific/montgomery32_2e414m17_13limbs/feadd.v
-src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.v
-src/Specific/montgomery32_2e414m17_13limbs/femul.v
-src/Specific/montgomery32_2e414m17_13limbs/femulDisplay.v
-src/Specific/montgomery32_2e414m17_13limbs/fenz.v
-src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.v
-src/Specific/montgomery32_2e414m17_13limbs/feopp.v
-src/Specific/montgomery32_2e414m17_13limbs/feoppDisplay.v
-src/Specific/montgomery32_2e414m17_13limbs/fesub.v
-src/Specific/montgomery32_2e414m17_13limbs/fesubDisplay.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/CurveParameters.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/Synthesis.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/femul.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/femulDisplay.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/feopp.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/feoppDisplay.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/fesub.v
-src/Specific/montgomery32_2e416m2e208m1_13limbs/fesubDisplay.v
-src/Specific/montgomery32_2e444m17_14limbs/CurveParameters.v
-src/Specific/montgomery32_2e444m17_14limbs/Synthesis.v
-src/Specific/montgomery32_2e444m17_14limbs/feadd.v
-src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.v
-src/Specific/montgomery32_2e444m17_14limbs/femul.v
-src/Specific/montgomery32_2e444m17_14limbs/femulDisplay.v
-src/Specific/montgomery32_2e444m17_14limbs/fenz.v
-src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.v
-src/Specific/montgomery32_2e444m17_14limbs/feopp.v
-src/Specific/montgomery32_2e444m17_14limbs/feoppDisplay.v
-src/Specific/montgomery32_2e444m17_14limbs/fesub.v
-src/Specific/montgomery32_2e444m17_14limbs/fesubDisplay.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/CurveParameters.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/Synthesis.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/femul.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/femulDisplay.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/feopp.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/feoppDisplay.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/fesub.v
-src/Specific/montgomery32_2e448m2e224m1_14limbs/fesubDisplay.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/CurveParameters.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/Synthesis.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/femul.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/femulDisplay.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/feopp.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/feoppDisplay.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/fesub.v
-src/Specific/montgomery32_2e450m2e225m1_15limbs/fesubDisplay.v
-src/Specific/montgomery32_2e452m3_15limbs/CurveParameters.v
-src/Specific/montgomery32_2e452m3_15limbs/Synthesis.v
-src/Specific/montgomery32_2e452m3_15limbs/feadd.v
-src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.v
-src/Specific/montgomery32_2e452m3_15limbs/femul.v
-src/Specific/montgomery32_2e452m3_15limbs/femulDisplay.v
-src/Specific/montgomery32_2e452m3_15limbs/fenz.v
-src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.v
-src/Specific/montgomery32_2e452m3_15limbs/feopp.v
-src/Specific/montgomery32_2e452m3_15limbs/feoppDisplay.v
-src/Specific/montgomery32_2e452m3_15limbs/fesub.v
-src/Specific/montgomery32_2e452m3_15limbs/fesubDisplay.v
-src/Specific/montgomery32_2e468m17_15limbs/CurveParameters.v
-src/Specific/montgomery32_2e468m17_15limbs/Synthesis.v
-src/Specific/montgomery32_2e468m17_15limbs/feadd.v
-src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.v
-src/Specific/montgomery32_2e468m17_15limbs/femul.v
-src/Specific/montgomery32_2e468m17_15limbs/femulDisplay.v
-src/Specific/montgomery32_2e468m17_15limbs/fenz.v
-src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.v
-src/Specific/montgomery32_2e468m17_15limbs/feopp.v
-src/Specific/montgomery32_2e468m17_15limbs/feoppDisplay.v
-src/Specific/montgomery32_2e468m17_15limbs/fesub.v
-src/Specific/montgomery32_2e468m17_15limbs/fesubDisplay.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/CurveParameters.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/Synthesis.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/femul.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/femulDisplay.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/feopp.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/feoppDisplay.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/fesub.v
-src/Specific/montgomery32_2e480m2e240m1_15limbs/fesubDisplay.v
-src/Specific/montgomery32_2e488m17_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e488m17_16limbs/Synthesis.v
-src/Specific/montgomery32_2e488m17_16limbs/feadd.v
-src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e488m17_16limbs/femul.v
-src/Specific/montgomery32_2e488m17_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e488m17_16limbs/fenz.v
-src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e488m17_16limbs/feopp.v
-src/Specific/montgomery32_2e488m17_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e488m17_16limbs/fesub.v
-src/Specific/montgomery32_2e488m17_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e489m21_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e489m21_16limbs/Synthesis.v
-src/Specific/montgomery32_2e489m21_16limbs/feadd.v
-src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e489m21_16limbs/femul.v
-src/Specific/montgomery32_2e489m21_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e489m21_16limbs/fenz.v
-src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e489m21_16limbs/feopp.v
-src/Specific/montgomery32_2e489m21_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e489m21_16limbs/fesub.v
-src/Specific/montgomery32_2e489m21_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e495m31_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e495m31_16limbs/Synthesis.v
-src/Specific/montgomery32_2e495m31_16limbs/feadd.v
-src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e495m31_16limbs/femul.v
-src/Specific/montgomery32_2e495m31_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e495m31_16limbs/fenz.v
-src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e495m31_16limbs/feopp.v
-src/Specific/montgomery32_2e495m31_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e495m31_16limbs/fesub.v
-src/Specific/montgomery32_2e495m31_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/Synthesis.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femul.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feopp.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesub.v
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e511m187_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e511m187_16limbs/Synthesis.v
-src/Specific/montgomery32_2e511m187_16limbs/feadd.v
-src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e511m187_16limbs/femul.v
-src/Specific/montgomery32_2e511m187_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e511m187_16limbs/fenz.v
-src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e511m187_16limbs/feopp.v
-src/Specific/montgomery32_2e511m187_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e511m187_16limbs/fesub.v
-src/Specific/montgomery32_2e511m187_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e511m481_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e511m481_16limbs/Synthesis.v
-src/Specific/montgomery32_2e511m481_16limbs/feadd.v
-src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e511m481_16limbs/femul.v
-src/Specific/montgomery32_2e511m481_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e511m481_16limbs/fenz.v
-src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e511m481_16limbs/feopp.v
-src/Specific/montgomery32_2e511m481_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e511m481_16limbs/fesub.v
-src/Specific/montgomery32_2e511m481_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/Synthesis.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femul.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feopp.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesub.v
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e512m569_16limbs/CurveParameters.v
-src/Specific/montgomery32_2e512m569_16limbs/Synthesis.v
-src/Specific/montgomery32_2e512m569_16limbs/feadd.v
-src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.v
-src/Specific/montgomery32_2e512m569_16limbs/femul.v
-src/Specific/montgomery32_2e512m569_16limbs/femulDisplay.v
-src/Specific/montgomery32_2e512m569_16limbs/fenz.v
-src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.v
-src/Specific/montgomery32_2e512m569_16limbs/feopp.v
-src/Specific/montgomery32_2e512m569_16limbs/feoppDisplay.v
-src/Specific/montgomery32_2e512m569_16limbs/fesub.v
-src/Specific/montgomery32_2e512m569_16limbs/fesubDisplay.v
-src/Specific/montgomery32_2e521m1_17limbs/CurveParameters.v
-src/Specific/montgomery32_2e521m1_17limbs/Synthesis.v
-src/Specific/montgomery32_2e521m1_17limbs/feadd.v
-src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.v
-src/Specific/montgomery32_2e521m1_17limbs/femul.v
-src/Specific/montgomery32_2e521m1_17limbs/femulDisplay.v
-src/Specific/montgomery32_2e521m1_17limbs/fenz.v
-src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.v
-src/Specific/montgomery32_2e521m1_17limbs/feopp.v
-src/Specific/montgomery32_2e521m1_17limbs/feoppDisplay.v
-src/Specific/montgomery32_2e521m1_17limbs/fesub.v
-src/Specific/montgomery32_2e521m1_17limbs/fesubDisplay.v
-src/Specific/montgomery64_2e127m1_2limbs/CurveParameters.v
-src/Specific/montgomery64_2e127m1_2limbs/Synthesis.v
-src/Specific/montgomery64_2e127m1_2limbs/feadd.v
-src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.v
-src/Specific/montgomery64_2e127m1_2limbs/femul.v
-src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.v
-src/Specific/montgomery64_2e127m1_2limbs/fenz.v
-src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.v
-src/Specific/montgomery64_2e127m1_2limbs/feopp.v
-src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.v
-src/Specific/montgomery64_2e127m1_2limbs/fesub.v
-src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.v
-src/Specific/montgomery64_2e129m25_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e129m25_3limbs/Synthesis.v
-src/Specific/montgomery64_2e129m25_3limbs/feadd.v
-src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e129m25_3limbs/femul.v
-src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e129m25_3limbs/fenz.v
-src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e129m25_3limbs/feopp.v
-src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e129m25_3limbs/fesub.v
-src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e130m5_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e130m5_3limbs/Synthesis.v
-src/Specific/montgomery64_2e130m5_3limbs/feadd.v
-src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e130m5_3limbs/femul.v
-src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e130m5_3limbs/fenz.v
-src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e130m5_3limbs/feopp.v
-src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e130m5_3limbs/fesub.v
-src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e137m13_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e137m13_3limbs/Synthesis.v
-src/Specific/montgomery64_2e137m13_3limbs/feadd.v
-src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e137m13_3limbs/femul.v
-src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e137m13_3limbs/fenz.v
-src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e137m13_3limbs/feopp.v
-src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e137m13_3limbs/fesub.v
-src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e140m27_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e140m27_3limbs/Synthesis.v
-src/Specific/montgomery64_2e140m27_3limbs/feadd.v
-src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e140m27_3limbs/femul.v
-src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e140m27_3limbs/fenz.v
-src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e140m27_3limbs/feopp.v
-src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e140m27_3limbs/fesub.v
-src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e141m9_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e141m9_3limbs/Synthesis.v
-src/Specific/montgomery64_2e141m9_3limbs/feadd.v
-src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e141m9_3limbs/femul.v
-src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e141m9_3limbs/fenz.v
-src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e141m9_3limbs/feopp.v
-src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e141m9_3limbs/fesub.v
-src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e150m3_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e150m3_3limbs/Synthesis.v
-src/Specific/montgomery64_2e150m3_3limbs/feadd.v
-src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e150m3_3limbs/femul.v
-src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e150m3_3limbs/fenz.v
-src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e150m3_3limbs/feopp.v
-src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e150m3_3limbs/fesub.v
-src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e150m5_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e150m5_3limbs/Synthesis.v
-src/Specific/montgomery64_2e150m5_3limbs/feadd.v
-src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e150m5_3limbs/femul.v
-src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e150m5_3limbs/fenz.v
-src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e150m5_3limbs/feopp.v
-src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e150m5_3limbs/fesub.v
-src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e152m17_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e152m17_3limbs/Synthesis.v
-src/Specific/montgomery64_2e152m17_3limbs/feadd.v
-src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e152m17_3limbs/femul.v
-src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e152m17_3limbs/fenz.v
-src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e152m17_3limbs/feopp.v
-src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e152m17_3limbs/fesub.v
-src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e158m15_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e158m15_3limbs/Synthesis.v
-src/Specific/montgomery64_2e158m15_3limbs/feadd.v
-src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e158m15_3limbs/femul.v
-src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e158m15_3limbs/fenz.v
-src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e158m15_3limbs/feopp.v
-src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e158m15_3limbs/fesub.v
-src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e165m25_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e165m25_3limbs/Synthesis.v
-src/Specific/montgomery64_2e165m25_3limbs/feadd.v
-src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e165m25_3limbs/femul.v
-src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e165m25_3limbs/fenz.v
-src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e165m25_3limbs/feopp.v
-src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e165m25_3limbs/fesub.v
-src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e166m5_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e166m5_3limbs/Synthesis.v
-src/Specific/montgomery64_2e166m5_3limbs/feadd.v
-src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e166m5_3limbs/femul.v
-src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e166m5_3limbs/fenz.v
-src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e166m5_3limbs/feopp.v
-src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e166m5_3limbs/fesub.v
-src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e171m19_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e171m19_3limbs/Synthesis.v
-src/Specific/montgomery64_2e171m19_3limbs/feadd.v
-src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e171m19_3limbs/femul.v
-src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e171m19_3limbs/fenz.v
-src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e171m19_3limbs/feopp.v
-src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e171m19_3limbs/fesub.v
-src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e174m17_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e174m17_3limbs/Synthesis.v
-src/Specific/montgomery64_2e174m17_3limbs/feadd.v
-src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e174m17_3limbs/femul.v
-src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e174m17_3limbs/fenz.v
-src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e174m17_3limbs/feopp.v
-src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e174m17_3limbs/fesub.v
-src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e174m3_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e174m3_3limbs/Synthesis.v
-src/Specific/montgomery64_2e174m3_3limbs/feadd.v
-src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e174m3_3limbs/femul.v
-src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e174m3_3limbs/fenz.v
-src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e174m3_3limbs/feopp.v
-src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e174m3_3limbs/fesub.v
-src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e189m25_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e189m25_3limbs/Synthesis.v
-src/Specific/montgomery64_2e189m25_3limbs/feadd.v
-src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e189m25_3limbs/femul.v
-src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e189m25_3limbs/fenz.v
-src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e189m25_3limbs/feopp.v
-src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e189m25_3limbs/fesub.v
-src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e190m11_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e190m11_3limbs/Synthesis.v
-src/Specific/montgomery64_2e190m11_3limbs/feadd.v
-src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e190m11_3limbs/femul.v
-src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e190m11_3limbs/fenz.v
-src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e190m11_3limbs/feopp.v
-src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e190m11_3limbs/fesub.v
-src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e191m19_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e191m19_3limbs/Synthesis.v
-src/Specific/montgomery64_2e191m19_3limbs/feadd.v
-src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e191m19_3limbs/femul.v
-src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e191m19_3limbs/fenz.v
-src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e191m19_3limbs/feopp.v
-src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e191m19_3limbs/fesub.v
-src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/CurveParameters.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/Synthesis.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.v
-src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.v
-src/Specific/montgomery64_2e194m33_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e194m33_4limbs/Synthesis.v
-src/Specific/montgomery64_2e194m33_4limbs/feadd.v
-src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e194m33_4limbs/femul.v
-src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e194m33_4limbs/fenz.v
-src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e194m33_4limbs/feopp.v
-src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e194m33_4limbs/fesub.v
-src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e196m15_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e196m15_4limbs/Synthesis.v
-src/Specific/montgomery64_2e196m15_4limbs/feadd.v
-src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e196m15_4limbs/femul.v
-src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e196m15_4limbs/fenz.v
-src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e196m15_4limbs/feopp.v
-src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e196m15_4limbs/fesub.v
-src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e198m17_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e198m17_4limbs/Synthesis.v
-src/Specific/montgomery64_2e198m17_4limbs/feadd.v
-src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e198m17_4limbs/femul.v
-src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e198m17_4limbs/fenz.v
-src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e198m17_4limbs/feopp.v
-src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e198m17_4limbs/fesub.v
-src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/Synthesis.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.v
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e206m5_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e206m5_4limbs/Synthesis.v
-src/Specific/montgomery64_2e206m5_4limbs/feadd.v
-src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e206m5_4limbs/femul.v
-src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e206m5_4limbs/fenz.v
-src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e206m5_4limbs/feopp.v
-src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e206m5_4limbs/fesub.v
-src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e212m29_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e212m29_4limbs/Synthesis.v
-src/Specific/montgomery64_2e212m29_4limbs/feadd.v
-src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e212m29_4limbs/femul.v
-src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e212m29_4limbs/fenz.v
-src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e212m29_4limbs/feopp.v
-src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e212m29_4limbs/fesub.v
-src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e213m3_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e213m3_4limbs/Synthesis.v
-src/Specific/montgomery64_2e213m3_4limbs/feadd.v
-src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e213m3_4limbs/femul.v
-src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e213m3_4limbs/fenz.v
-src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e213m3_4limbs/feopp.v
-src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e213m3_4limbs/fesub.v
-src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/Synthesis.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.v
-src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e221m3_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e221m3_4limbs/Synthesis.v
-src/Specific/montgomery64_2e221m3_4limbs/feadd.v
-src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e221m3_4limbs/femul.v
-src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e221m3_4limbs/fenz.v
-src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e221m3_4limbs/feopp.v
-src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e221m3_4limbs/fesub.v
-src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e222m117_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e222m117_4limbs/Synthesis.v
-src/Specific/montgomery64_2e222m117_4limbs/feadd.v
-src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e222m117_4limbs/femul.v
-src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e222m117_4limbs/fenz.v
-src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e222m117_4limbs/feopp.v
-src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e222m117_4limbs/fesub.v
-src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/Synthesis.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.v
-src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e226m5_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e226m5_4limbs/Synthesis.v
-src/Specific/montgomery64_2e226m5_4limbs/feadd.v
-src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e226m5_4limbs/femul.v
-src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e226m5_4limbs/fenz.v
-src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e226m5_4limbs/feopp.v
-src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e226m5_4limbs/fesub.v
-src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e230m27_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e230m27_4limbs/Synthesis.v
-src/Specific/montgomery64_2e230m27_4limbs/feadd.v
-src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e230m27_4limbs/femul.v
-src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e230m27_4limbs/fenz.v
-src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e230m27_4limbs/feopp.v
-src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e230m27_4limbs/fesub.v
-src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e235m15_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e235m15_4limbs/Synthesis.v
-src/Specific/montgomery64_2e235m15_4limbs/feadd.v
-src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e235m15_4limbs/femul.v
-src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e235m15_4limbs/fenz.v
-src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e235m15_4limbs/feopp.v
-src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e235m15_4limbs/fesub.v
-src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e243m9_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e243m9_4limbs/Synthesis.v
-src/Specific/montgomery64_2e243m9_4limbs/feadd.v
-src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e243m9_4limbs/femul.v
-src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e243m9_4limbs/fenz.v
-src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e243m9_4limbs/feopp.v
-src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e243m9_4limbs/fesub.v
-src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e251m9_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e251m9_4limbs/Synthesis.v
-src/Specific/montgomery64_2e251m9_4limbs/feadd.v
-src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e251m9_4limbs/femul.v
-src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e251m9_4limbs/fenz.v
-src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e251m9_4limbs/feopp.v
-src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e251m9_4limbs/fesub.v
-src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/Synthesis.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.v
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e255m19_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e255m19_4limbs/Synthesis.v
-src/Specific/montgomery64_2e255m19_4limbs/feadd.v
-src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e255m19_4limbs/femul.v
-src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e255m19_4limbs/fenz.v
-src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e255m19_4limbs/feopp.v
-src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e255m19_4limbs/fesub.v
-src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e255m765_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e255m765_4limbs/Synthesis.v
-src/Specific/montgomery64_2e255m765_4limbs/feadd.v
-src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e255m765_4limbs/femul.v
-src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e255m765_4limbs/fenz.v
-src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e255m765_4limbs/feopp.v
-src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e255m765_4limbs/fesub.v
-src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e256m189_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e256m189_4limbs/Synthesis.v
-src/Specific/montgomery64_2e256m189_4limbs/feadd.v
-src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e256m189_4limbs/femul.v
-src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e256m189_4limbs/fenz.v
-src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e256m189_4limbs/feopp.v
-src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e256m189_4limbs/fesub.v
-src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/Synthesis.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.v
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/Synthesis.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.v
-src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/Synthesis.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/femul.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.v
-src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/CurveParameters.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/Synthesis.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.v
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.v
-src/Specific/montgomery64_2e266m3_5limbs/CurveParameters.v
-src/Specific/montgomery64_2e266m3_5limbs/Synthesis.v
-src/Specific/montgomery64_2e266m3_5limbs/feadd.v
-src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.v
-src/Specific/montgomery64_2e266m3_5limbs/femul.v
-src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.v
-src/Specific/montgomery64_2e266m3_5limbs/fenz.v
-src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.v
-src/Specific/montgomery64_2e266m3_5limbs/feopp.v
-src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.v
-src/Specific/montgomery64_2e266m3_5limbs/fesub.v
-src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.v
-src/Specific/montgomery64_2e285m9_5limbs/CurveParameters.v
-src/Specific/montgomery64_2e285m9_5limbs/Synthesis.v
-src/Specific/montgomery64_2e285m9_5limbs/feadd.v
-src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.v
-src/Specific/montgomery64_2e285m9_5limbs/femul.v
-src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.v
-src/Specific/montgomery64_2e285m9_5limbs/fenz.v
-src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.v
-src/Specific/montgomery64_2e285m9_5limbs/feopp.v
-src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.v
-src/Specific/montgomery64_2e285m9_5limbs/fesub.v
-src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.v
-src/Specific/montgomery64_2e291m19_5limbs/CurveParameters.v
-src/Specific/montgomery64_2e291m19_5limbs/Synthesis.v
-src/Specific/montgomery64_2e291m19_5limbs/feadd.v
-src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.v
-src/Specific/montgomery64_2e291m19_5limbs/femul.v
-src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.v
-src/Specific/montgomery64_2e291m19_5limbs/fenz.v
-src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.v
-src/Specific/montgomery64_2e291m19_5limbs/feopp.v
-src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.v
-src/Specific/montgomery64_2e291m19_5limbs/fesub.v
-src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.v
-src/Specific/montgomery64_2e321m9_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e321m9_6limbs/Synthesis.v
-src/Specific/montgomery64_2e321m9_6limbs/feadd.v
-src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e321m9_6limbs/femul.v
-src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e321m9_6limbs/fenz.v
-src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e321m9_6limbs/feopp.v
-src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e321m9_6limbs/fesub.v
-src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/Synthesis.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.v
-src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e336m17_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e336m17_6limbs/Synthesis.v
-src/Specific/montgomery64_2e336m17_6limbs/feadd.v
-src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e336m17_6limbs/femul.v
-src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e336m17_6limbs/fenz.v
-src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e336m17_6limbs/feopp.v
-src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e336m17_6limbs/fesub.v
-src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e336m3_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e336m3_6limbs/Synthesis.v
-src/Specific/montgomery64_2e336m3_6limbs/feadd.v
-src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e336m3_6limbs/femul.v
-src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e336m3_6limbs/fenz.v
-src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e336m3_6limbs/feopp.v
-src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e336m3_6limbs/fesub.v
-src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e338m15_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e338m15_6limbs/Synthesis.v
-src/Specific/montgomery64_2e338m15_6limbs/feadd.v
-src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e338m15_6limbs/femul.v
-src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e338m15_6limbs/fenz.v
-src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e338m15_6limbs/feopp.v
-src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e338m15_6limbs/fesub.v
-src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e369m25_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e369m25_6limbs/Synthesis.v
-src/Specific/montgomery64_2e369m25_6limbs/feadd.v
-src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e369m25_6limbs/femul.v
-src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e369m25_6limbs/fenz.v
-src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e369m25_6limbs/feopp.v
-src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e369m25_6limbs/fesub.v
-src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e379m19_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e379m19_6limbs/Synthesis.v
-src/Specific/montgomery64_2e379m19_6limbs/feadd.v
-src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e379m19_6limbs/femul.v
-src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e379m19_6limbs/fenz.v
-src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e379m19_6limbs/feopp.v
-src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e379m19_6limbs/fesub.v
-src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e382m105_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e382m105_6limbs/Synthesis.v
-src/Specific/montgomery64_2e382m105_6limbs/feadd.v
-src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e382m105_6limbs/femul.v
-src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e382m105_6limbs/fenz.v
-src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e382m105_6limbs/feopp.v
-src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e382m105_6limbs/fesub.v
-src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e383m187_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e383m187_6limbs/Synthesis.v
-src/Specific/montgomery64_2e383m187_6limbs/feadd.v
-src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e383m187_6limbs/femul.v
-src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e383m187_6limbs/fenz.v
-src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e383m187_6limbs/feopp.v
-src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e383m187_6limbs/fesub.v
-src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e383m31_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e383m31_6limbs/Synthesis.v
-src/Specific/montgomery64_2e383m31_6limbs/feadd.v
-src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e383m31_6limbs/femul.v
-src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e383m31_6limbs/fenz.v
-src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e383m31_6limbs/feopp.v
-src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e383m31_6limbs/fesub.v
-src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e383m421_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e383m421_6limbs/Synthesis.v
-src/Specific/montgomery64_2e383m421_6limbs/feadd.v
-src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e383m421_6limbs/femul.v
-src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e383m421_6limbs/fenz.v
-src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e383m421_6limbs/feopp.v
-src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e383m421_6limbs/fesub.v
-src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/Synthesis.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.v
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e384m317_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e384m317_6limbs/Synthesis.v
-src/Specific/montgomery64_2e384m317_6limbs/feadd.v
-src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e384m317_6limbs/femul.v
-src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e384m317_6limbs/fenz.v
-src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e384m317_6limbs/feopp.v
-src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e384m317_6limbs/fesub.v
-src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/Synthesis.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.v
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/CurveParameters.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/Synthesis.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.v
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.v
-src/Specific/montgomery64_2e389m21_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e389m21_7limbs/Synthesis.v
-src/Specific/montgomery64_2e389m21_7limbs/feadd.v
-src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e389m21_7limbs/femul.v
-src/Specific/montgomery64_2e389m21_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e389m21_7limbs/fenz.v
-src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e389m21_7limbs/feopp.v
-src/Specific/montgomery64_2e389m21_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e389m21_7limbs/fesub.v
-src/Specific/montgomery64_2e389m21_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e401m31_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e401m31_7limbs/Synthesis.v
-src/Specific/montgomery64_2e401m31_7limbs/feadd.v
-src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e401m31_7limbs/femul.v
-src/Specific/montgomery64_2e401m31_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e401m31_7limbs/fenz.v
-src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e401m31_7limbs/feopp.v
-src/Specific/montgomery64_2e401m31_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e401m31_7limbs/fesub.v
-src/Specific/montgomery64_2e401m31_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e413m21_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e413m21_7limbs/Synthesis.v
-src/Specific/montgomery64_2e413m21_7limbs/feadd.v
-src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e413m21_7limbs/femul.v
-src/Specific/montgomery64_2e413m21_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e413m21_7limbs/fenz.v
-src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e413m21_7limbs/feopp.v
-src/Specific/montgomery64_2e413m21_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e413m21_7limbs/fesub.v
-src/Specific/montgomery64_2e413m21_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e414m17_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e414m17_7limbs/Synthesis.v
-src/Specific/montgomery64_2e414m17_7limbs/feadd.v
-src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e414m17_7limbs/femul.v
-src/Specific/montgomery64_2e414m17_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e414m17_7limbs/fenz.v
-src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e414m17_7limbs/feopp.v
-src/Specific/montgomery64_2e414m17_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e414m17_7limbs/fesub.v
-src/Specific/montgomery64_2e414m17_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/Synthesis.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/femul.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/feopp.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/fesub.v
-src/Specific/montgomery64_2e416m2e208m1_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e444m17_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e444m17_7limbs/Synthesis.v
-src/Specific/montgomery64_2e444m17_7limbs/feadd.v
-src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e444m17_7limbs/femul.v
-src/Specific/montgomery64_2e444m17_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e444m17_7limbs/fenz.v
-src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e444m17_7limbs/feopp.v
-src/Specific/montgomery64_2e444m17_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e444m17_7limbs/fesub.v
-src/Specific/montgomery64_2e444m17_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/CurveParameters.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/Synthesis.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/femul.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/femulDisplay.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/feopp.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/feoppDisplay.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/fesub.v
-src/Specific/montgomery64_2e448m2e224m1_7limbs/fesubDisplay.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/Synthesis.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/femul.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/feopp.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/fesub.v
-src/Specific/montgomery64_2e450m2e225m1_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e452m3_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e452m3_8limbs/Synthesis.v
-src/Specific/montgomery64_2e452m3_8limbs/feadd.v
-src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e452m3_8limbs/femul.v
-src/Specific/montgomery64_2e452m3_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e452m3_8limbs/fenz.v
-src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e452m3_8limbs/feopp.v
-src/Specific/montgomery64_2e452m3_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e452m3_8limbs/fesub.v
-src/Specific/montgomery64_2e452m3_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e468m17_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e468m17_8limbs/Synthesis.v
-src/Specific/montgomery64_2e468m17_8limbs/feadd.v
-src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e468m17_8limbs/femul.v
-src/Specific/montgomery64_2e468m17_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e468m17_8limbs/fenz.v
-src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e468m17_8limbs/feopp.v
-src/Specific/montgomery64_2e468m17_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e468m17_8limbs/fesub.v
-src/Specific/montgomery64_2e468m17_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/Synthesis.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/femul.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/feopp.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/fesub.v
-src/Specific/montgomery64_2e480m2e240m1_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e488m17_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e488m17_8limbs/Synthesis.v
-src/Specific/montgomery64_2e488m17_8limbs/feadd.v
-src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e488m17_8limbs/femul.v
-src/Specific/montgomery64_2e488m17_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e488m17_8limbs/fenz.v
-src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e488m17_8limbs/feopp.v
-src/Specific/montgomery64_2e488m17_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e488m17_8limbs/fesub.v
-src/Specific/montgomery64_2e488m17_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e489m21_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e489m21_8limbs/Synthesis.v
-src/Specific/montgomery64_2e489m21_8limbs/feadd.v
-src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e489m21_8limbs/femul.v
-src/Specific/montgomery64_2e489m21_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e489m21_8limbs/fenz.v
-src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e489m21_8limbs/feopp.v
-src/Specific/montgomery64_2e489m21_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e489m21_8limbs/fesub.v
-src/Specific/montgomery64_2e489m21_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e495m31_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e495m31_8limbs/Synthesis.v
-src/Specific/montgomery64_2e495m31_8limbs/feadd.v
-src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e495m31_8limbs/femul.v
-src/Specific/montgomery64_2e495m31_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e495m31_8limbs/fenz.v
-src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e495m31_8limbs/feopp.v
-src/Specific/montgomery64_2e495m31_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e495m31_8limbs/fesub.v
-src/Specific/montgomery64_2e495m31_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/Synthesis.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feopp.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesub.v
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e511m187_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e511m187_8limbs/Synthesis.v
-src/Specific/montgomery64_2e511m187_8limbs/feadd.v
-src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e511m187_8limbs/femul.v
-src/Specific/montgomery64_2e511m187_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e511m187_8limbs/fenz.v
-src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e511m187_8limbs/feopp.v
-src/Specific/montgomery64_2e511m187_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e511m187_8limbs/fesub.v
-src/Specific/montgomery64_2e511m187_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e511m481_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e511m481_8limbs/Synthesis.v
-src/Specific/montgomery64_2e511m481_8limbs/feadd.v
-src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e511m481_8limbs/femul.v
-src/Specific/montgomery64_2e511m481_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e511m481_8limbs/fenz.v
-src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e511m481_8limbs/feopp.v
-src/Specific/montgomery64_2e511m481_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e511m481_8limbs/fesub.v
-src/Specific/montgomery64_2e511m481_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/Synthesis.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feopp.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesub.v
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e512m569_8limbs/CurveParameters.v
-src/Specific/montgomery64_2e512m569_8limbs/Synthesis.v
-src/Specific/montgomery64_2e512m569_8limbs/feadd.v
-src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.v
-src/Specific/montgomery64_2e512m569_8limbs/femul.v
-src/Specific/montgomery64_2e512m569_8limbs/femulDisplay.v
-src/Specific/montgomery64_2e512m569_8limbs/fenz.v
-src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.v
-src/Specific/montgomery64_2e512m569_8limbs/feopp.v
-src/Specific/montgomery64_2e512m569_8limbs/feoppDisplay.v
-src/Specific/montgomery64_2e512m569_8limbs/fesub.v
-src/Specific/montgomery64_2e512m569_8limbs/fesubDisplay.v
-src/Specific/montgomery64_2e521m1_9limbs/CurveParameters.v
-src/Specific/montgomery64_2e521m1_9limbs/Synthesis.v
-src/Specific/montgomery64_2e521m1_9limbs/feadd.v
-src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.v
-src/Specific/montgomery64_2e521m1_9limbs/femul.v
-src/Specific/montgomery64_2e521m1_9limbs/femulDisplay.v
-src/Specific/montgomery64_2e521m1_9limbs/fenz.v
-src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.v
-src/Specific/montgomery64_2e521m1_9limbs/feopp.v
-src/Specific/montgomery64_2e521m1_9limbs/feoppDisplay.v
-src/Specific/montgomery64_2e521m1_9limbs/fesub.v
-src/Specific/montgomery64_2e521m1_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e127m1_5limbs/CurveParameters.v
-src/Specific/solinas32_2e127m1_5limbs/Synthesis.v
-src/Specific/solinas32_2e127m1_5limbs/feadd.v
-src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.v
-src/Specific/solinas32_2e127m1_5limbs/fecarry.v
-src/Specific/solinas32_2e127m1_5limbs/fecarryDisplay.v
-src/Specific/solinas32_2e127m1_5limbs/femul.v
-src/Specific/solinas32_2e127m1_5limbs/femulDisplay.v
-src/Specific/solinas32_2e127m1_5limbs/fesquare.v
-src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.v
-src/Specific/solinas32_2e127m1_5limbs/fesub.v
-src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.v
-src/Specific/solinas32_2e127m1_5limbs/freeze.v
-src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.v
-src/Specific/solinas32_2e127m1_6limbs/CurveParameters.v
-src/Specific/solinas32_2e127m1_6limbs/Synthesis.v
-src/Specific/solinas32_2e127m1_6limbs/feadd.v
-src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e127m1_6limbs/fecarry.v
-src/Specific/solinas32_2e127m1_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e127m1_6limbs/femul.v
-src/Specific/solinas32_2e127m1_6limbs/femulDisplay.v
-src/Specific/solinas32_2e127m1_6limbs/fesquare.v
-src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e127m1_6limbs/fesub.v
-src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e127m1_6limbs/freeze.v
-src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e129m25_5limbs/CurveParameters.v
-src/Specific/solinas32_2e129m25_5limbs/Synthesis.v
-src/Specific/solinas32_2e129m25_5limbs/feadd.v
-src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.v
-src/Specific/solinas32_2e129m25_5limbs/fecarry.v
-src/Specific/solinas32_2e129m25_5limbs/fecarryDisplay.v
-src/Specific/solinas32_2e129m25_5limbs/femul.v
-src/Specific/solinas32_2e129m25_5limbs/femulDisplay.v
-src/Specific/solinas32_2e129m25_5limbs/fesquare.v
-src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.v
-src/Specific/solinas32_2e129m25_5limbs/fesub.v
-src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.v
-src/Specific/solinas32_2e129m25_5limbs/freeze.v
-src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.v
-src/Specific/solinas32_2e129m25_6limbs/CurveParameters.v
-src/Specific/solinas32_2e129m25_6limbs/Synthesis.v
-src/Specific/solinas32_2e129m25_6limbs/feadd.v
-src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e129m25_6limbs/fecarry.v
-src/Specific/solinas32_2e129m25_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e129m25_6limbs/femul.v
-src/Specific/solinas32_2e129m25_6limbs/femulDisplay.v
-src/Specific/solinas32_2e129m25_6limbs/fesquare.v
-src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e129m25_6limbs/fesub.v
-src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e129m25_6limbs/freeze.v
-src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e130m5_5limbs/CurveParameters.v
-src/Specific/solinas32_2e130m5_5limbs/Synthesis.v
-src/Specific/solinas32_2e130m5_5limbs/feadd.v
-src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.v
-src/Specific/solinas32_2e130m5_5limbs/fecarry.v
-src/Specific/solinas32_2e130m5_5limbs/fecarryDisplay.v
-src/Specific/solinas32_2e130m5_5limbs/femul.v
-src/Specific/solinas32_2e130m5_5limbs/femulDisplay.v
-src/Specific/solinas32_2e130m5_5limbs/fesquare.v
-src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.v
-src/Specific/solinas32_2e130m5_5limbs/fesub.v
-src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.v
-src/Specific/solinas32_2e130m5_5limbs/freeze.v
-src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.v
-src/Specific/solinas32_2e130m5_6limbs/CurveParameters.v
-src/Specific/solinas32_2e130m5_6limbs/Synthesis.v
-src/Specific/solinas32_2e130m5_6limbs/feadd.v
-src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e130m5_6limbs/fecarry.v
-src/Specific/solinas32_2e130m5_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e130m5_6limbs/femul.v
-src/Specific/solinas32_2e130m5_6limbs/femulDisplay.v
-src/Specific/solinas32_2e130m5_6limbs/fesquare.v
-src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e130m5_6limbs/fesub.v
-src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e130m5_6limbs/freeze.v
-src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e137m13_5limbs/CurveParameters.v
-src/Specific/solinas32_2e137m13_5limbs/Synthesis.v
-src/Specific/solinas32_2e137m13_5limbs/feadd.v
-src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.v
-src/Specific/solinas32_2e137m13_5limbs/fecarry.v
-src/Specific/solinas32_2e137m13_5limbs/fecarryDisplay.v
-src/Specific/solinas32_2e137m13_5limbs/femul.v
-src/Specific/solinas32_2e137m13_5limbs/femulDisplay.v
-src/Specific/solinas32_2e137m13_5limbs/fesquare.v
-src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.v
-src/Specific/solinas32_2e137m13_5limbs/fesub.v
-src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.v
-src/Specific/solinas32_2e137m13_5limbs/freeze.v
-src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.v
-src/Specific/solinas32_2e137m13_6limbs/CurveParameters.v
-src/Specific/solinas32_2e137m13_6limbs/Synthesis.v
-src/Specific/solinas32_2e137m13_6limbs/feadd.v
-src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e137m13_6limbs/fecarry.v
-src/Specific/solinas32_2e137m13_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e137m13_6limbs/femul.v
-src/Specific/solinas32_2e137m13_6limbs/femulDisplay.v
-src/Specific/solinas32_2e137m13_6limbs/fesquare.v
-src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e137m13_6limbs/fesub.v
-src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e137m13_6limbs/freeze.v
-src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e140m27_6limbs/CurveParameters.v
-src/Specific/solinas32_2e140m27_6limbs/Synthesis.v
-src/Specific/solinas32_2e140m27_6limbs/feadd.v
-src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e140m27_6limbs/fecarry.v
-src/Specific/solinas32_2e140m27_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e140m27_6limbs/femul.v
-src/Specific/solinas32_2e140m27_6limbs/femulDisplay.v
-src/Specific/solinas32_2e140m27_6limbs/fesquare.v
-src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e140m27_6limbs/fesub.v
-src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e140m27_6limbs/freeze.v
-src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e140m27_7limbs/CurveParameters.v
-src/Specific/solinas32_2e140m27_7limbs/Synthesis.v
-src/Specific/solinas32_2e140m27_7limbs/feadd.v
-src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e140m27_7limbs/fecarry.v
-src/Specific/solinas32_2e140m27_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e140m27_7limbs/femul.v
-src/Specific/solinas32_2e140m27_7limbs/femulDisplay.v
-src/Specific/solinas32_2e140m27_7limbs/fesquare.v
-src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e140m27_7limbs/fesub.v
-src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e140m27_7limbs/freeze.v
-src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e141m9_6limbs/CurveParameters.v
-src/Specific/solinas32_2e141m9_6limbs/Synthesis.v
-src/Specific/solinas32_2e141m9_6limbs/feadd.v
-src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e141m9_6limbs/fecarry.v
-src/Specific/solinas32_2e141m9_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e141m9_6limbs/femul.v
-src/Specific/solinas32_2e141m9_6limbs/femulDisplay.v
-src/Specific/solinas32_2e141m9_6limbs/fesquare.v
-src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e141m9_6limbs/fesub.v
-src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e141m9_6limbs/freeze.v
-src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e141m9_7limbs/CurveParameters.v
-src/Specific/solinas32_2e141m9_7limbs/Synthesis.v
-src/Specific/solinas32_2e141m9_7limbs/feadd.v
-src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e141m9_7limbs/fecarry.v
-src/Specific/solinas32_2e141m9_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e141m9_7limbs/femul.v
-src/Specific/solinas32_2e141m9_7limbs/femulDisplay.v
-src/Specific/solinas32_2e141m9_7limbs/fesquare.v
-src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e141m9_7limbs/fesub.v
-src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e141m9_7limbs/freeze.v
-src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e150m3_6limbs/CurveParameters.v
-src/Specific/solinas32_2e150m3_6limbs/Synthesis.v
-src/Specific/solinas32_2e150m3_6limbs/feadd.v
-src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e150m3_6limbs/fecarry.v
-src/Specific/solinas32_2e150m3_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e150m3_6limbs/femul.v
-src/Specific/solinas32_2e150m3_6limbs/femulDisplay.v
-src/Specific/solinas32_2e150m3_6limbs/fesquare.v
-src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e150m3_6limbs/fesub.v
-src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e150m3_6limbs/freeze.v
-src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e150m3_7limbs/CurveParameters.v
-src/Specific/solinas32_2e150m3_7limbs/Synthesis.v
-src/Specific/solinas32_2e150m3_7limbs/feadd.v
-src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e150m3_7limbs/fecarry.v
-src/Specific/solinas32_2e150m3_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e150m3_7limbs/femul.v
-src/Specific/solinas32_2e150m3_7limbs/femulDisplay.v
-src/Specific/solinas32_2e150m3_7limbs/fesquare.v
-src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e150m3_7limbs/fesub.v
-src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e150m3_7limbs/freeze.v
-src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e150m5_6limbs/CurveParameters.v
-src/Specific/solinas32_2e150m5_6limbs/Synthesis.v
-src/Specific/solinas32_2e150m5_6limbs/feadd.v
-src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e150m5_6limbs/fecarry.v
-src/Specific/solinas32_2e150m5_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e150m5_6limbs/femul.v
-src/Specific/solinas32_2e150m5_6limbs/femulDisplay.v
-src/Specific/solinas32_2e150m5_6limbs/fesquare.v
-src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e150m5_6limbs/fesub.v
-src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e150m5_6limbs/freeze.v
-src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e150m5_7limbs/CurveParameters.v
-src/Specific/solinas32_2e150m5_7limbs/Synthesis.v
-src/Specific/solinas32_2e150m5_7limbs/feadd.v
-src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e150m5_7limbs/fecarry.v
-src/Specific/solinas32_2e150m5_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e150m5_7limbs/femul.v
-src/Specific/solinas32_2e150m5_7limbs/femulDisplay.v
-src/Specific/solinas32_2e150m5_7limbs/fesquare.v
-src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e150m5_7limbs/fesub.v
-src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e150m5_7limbs/freeze.v
-src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e152m17_6limbs/CurveParameters.v
-src/Specific/solinas32_2e152m17_6limbs/Synthesis.v
-src/Specific/solinas32_2e152m17_6limbs/feadd.v
-src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e152m17_6limbs/fecarry.v
-src/Specific/solinas32_2e152m17_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e152m17_6limbs/femul.v
-src/Specific/solinas32_2e152m17_6limbs/femulDisplay.v
-src/Specific/solinas32_2e152m17_6limbs/fesquare.v
-src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e152m17_6limbs/fesub.v
-src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e152m17_6limbs/freeze.v
-src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e152m17_7limbs/CurveParameters.v
-src/Specific/solinas32_2e152m17_7limbs/Synthesis.v
-src/Specific/solinas32_2e152m17_7limbs/feadd.v
-src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e152m17_7limbs/fecarry.v
-src/Specific/solinas32_2e152m17_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e152m17_7limbs/femul.v
-src/Specific/solinas32_2e152m17_7limbs/femulDisplay.v
-src/Specific/solinas32_2e152m17_7limbs/fesquare.v
-src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e152m17_7limbs/fesub.v
-src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e152m17_7limbs/freeze.v
-src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e158m15_6limbs/CurveParameters.v
-src/Specific/solinas32_2e158m15_6limbs/Synthesis.v
-src/Specific/solinas32_2e158m15_6limbs/feadd.v
-src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e158m15_6limbs/fecarry.v
-src/Specific/solinas32_2e158m15_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e158m15_6limbs/femul.v
-src/Specific/solinas32_2e158m15_6limbs/femulDisplay.v
-src/Specific/solinas32_2e158m15_6limbs/fesquare.v
-src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e158m15_6limbs/fesub.v
-src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e158m15_6limbs/freeze.v
-src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e158m15_7limbs/CurveParameters.v
-src/Specific/solinas32_2e158m15_7limbs/Synthesis.v
-src/Specific/solinas32_2e158m15_7limbs/feadd.v
-src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e158m15_7limbs/fecarry.v
-src/Specific/solinas32_2e158m15_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e158m15_7limbs/femul.v
-src/Specific/solinas32_2e158m15_7limbs/femulDisplay.v
-src/Specific/solinas32_2e158m15_7limbs/fesquare.v
-src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e158m15_7limbs/fesub.v
-src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e158m15_7limbs/freeze.v
-src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e165m25_7limbs/CurveParameters.v
-src/Specific/solinas32_2e165m25_7limbs/Synthesis.v
-src/Specific/solinas32_2e165m25_7limbs/feadd.v
-src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e165m25_7limbs/fecarry.v
-src/Specific/solinas32_2e165m25_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e165m25_7limbs/femul.v
-src/Specific/solinas32_2e165m25_7limbs/femulDisplay.v
-src/Specific/solinas32_2e165m25_7limbs/fesquare.v
-src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e165m25_7limbs/fesub.v
-src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e165m25_7limbs/freeze.v
-src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e165m25_8limbs/CurveParameters.v
-src/Specific/solinas32_2e165m25_8limbs/Synthesis.v
-src/Specific/solinas32_2e165m25_8limbs/feadd.v
-src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e165m25_8limbs/fecarry.v
-src/Specific/solinas32_2e165m25_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e165m25_8limbs/femul.v
-src/Specific/solinas32_2e165m25_8limbs/femulDisplay.v
-src/Specific/solinas32_2e165m25_8limbs/fesquare.v
-src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e165m25_8limbs/fesub.v
-src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e165m25_8limbs/freeze.v
-src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e166m5_6limbs/CurveParameters.v
-src/Specific/solinas32_2e166m5_6limbs/Synthesis.v
-src/Specific/solinas32_2e166m5_6limbs/feadd.v
-src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.v
-src/Specific/solinas32_2e166m5_6limbs/fecarry.v
-src/Specific/solinas32_2e166m5_6limbs/fecarryDisplay.v
-src/Specific/solinas32_2e166m5_6limbs/femul.v
-src/Specific/solinas32_2e166m5_6limbs/femulDisplay.v
-src/Specific/solinas32_2e166m5_6limbs/fesquare.v
-src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.v
-src/Specific/solinas32_2e166m5_6limbs/fesub.v
-src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.v
-src/Specific/solinas32_2e166m5_6limbs/freeze.v
-src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.v
-src/Specific/solinas32_2e166m5_7limbs/CurveParameters.v
-src/Specific/solinas32_2e166m5_7limbs/Synthesis.v
-src/Specific/solinas32_2e166m5_7limbs/feadd.v
-src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e166m5_7limbs/fecarry.v
-src/Specific/solinas32_2e166m5_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e166m5_7limbs/femul.v
-src/Specific/solinas32_2e166m5_7limbs/femulDisplay.v
-src/Specific/solinas32_2e166m5_7limbs/fesquare.v
-src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e166m5_7limbs/fesub.v
-src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e166m5_7limbs/freeze.v
-src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e171m19_7limbs/CurveParameters.v
-src/Specific/solinas32_2e171m19_7limbs/Synthesis.v
-src/Specific/solinas32_2e171m19_7limbs/feadd.v
-src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e171m19_7limbs/fecarry.v
-src/Specific/solinas32_2e171m19_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e171m19_7limbs/femul.v
-src/Specific/solinas32_2e171m19_7limbs/femulDisplay.v
-src/Specific/solinas32_2e171m19_7limbs/fesquare.v
-src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e171m19_7limbs/fesub.v
-src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e171m19_7limbs/freeze.v
-src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e171m19_8limbs/CurveParameters.v
-src/Specific/solinas32_2e171m19_8limbs/Synthesis.v
-src/Specific/solinas32_2e171m19_8limbs/feadd.v
-src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e171m19_8limbs/fecarry.v
-src/Specific/solinas32_2e171m19_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e171m19_8limbs/femul.v
-src/Specific/solinas32_2e171m19_8limbs/femulDisplay.v
-src/Specific/solinas32_2e171m19_8limbs/fesquare.v
-src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e171m19_8limbs/fesub.v
-src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e171m19_8limbs/freeze.v
-src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e174m17_7limbs/CurveParameters.v
-src/Specific/solinas32_2e174m17_7limbs/Synthesis.v
-src/Specific/solinas32_2e174m17_7limbs/feadd.v
-src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e174m17_7limbs/fecarry.v
-src/Specific/solinas32_2e174m17_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e174m17_7limbs/femul.v
-src/Specific/solinas32_2e174m17_7limbs/femulDisplay.v
-src/Specific/solinas32_2e174m17_7limbs/fesquare.v
-src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e174m17_7limbs/fesub.v
-src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e174m17_7limbs/freeze.v
-src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e174m17_8limbs/CurveParameters.v
-src/Specific/solinas32_2e174m17_8limbs/Synthesis.v
-src/Specific/solinas32_2e174m17_8limbs/feadd.v
-src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e174m17_8limbs/fecarry.v
-src/Specific/solinas32_2e174m17_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e174m17_8limbs/femul.v
-src/Specific/solinas32_2e174m17_8limbs/femulDisplay.v
-src/Specific/solinas32_2e174m17_8limbs/fesquare.v
-src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e174m17_8limbs/fesub.v
-src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e174m17_8limbs/freeze.v
-src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e174m3_7limbs/CurveParameters.v
-src/Specific/solinas32_2e174m3_7limbs/Synthesis.v
-src/Specific/solinas32_2e174m3_7limbs/feadd.v
-src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e174m3_7limbs/fecarry.v
-src/Specific/solinas32_2e174m3_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e174m3_7limbs/femul.v
-src/Specific/solinas32_2e174m3_7limbs/femulDisplay.v
-src/Specific/solinas32_2e174m3_7limbs/fesquare.v
-src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e174m3_7limbs/fesub.v
-src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e174m3_7limbs/freeze.v
-src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e174m3_8limbs/CurveParameters.v
-src/Specific/solinas32_2e174m3_8limbs/Synthesis.v
-src/Specific/solinas32_2e174m3_8limbs/feadd.v
-src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e174m3_8limbs/fecarry.v
-src/Specific/solinas32_2e174m3_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e174m3_8limbs/femul.v
-src/Specific/solinas32_2e174m3_8limbs/femulDisplay.v
-src/Specific/solinas32_2e174m3_8limbs/fesquare.v
-src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e174m3_8limbs/fesub.v
-src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e174m3_8limbs/freeze.v
-src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e189m25_7limbs/CurveParameters.v
-src/Specific/solinas32_2e189m25_7limbs/Synthesis.v
-src/Specific/solinas32_2e189m25_7limbs/feadd.v
-src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e189m25_7limbs/fecarry.v
-src/Specific/solinas32_2e189m25_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e189m25_7limbs/femul.v
-src/Specific/solinas32_2e189m25_7limbs/femulDisplay.v
-src/Specific/solinas32_2e189m25_7limbs/fesquare.v
-src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e189m25_7limbs/fesub.v
-src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e189m25_7limbs/freeze.v
-src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e189m25_8limbs/CurveParameters.v
-src/Specific/solinas32_2e189m25_8limbs/Synthesis.v
-src/Specific/solinas32_2e189m25_8limbs/feadd.v
-src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e189m25_8limbs/fecarry.v
-src/Specific/solinas32_2e189m25_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e189m25_8limbs/femul.v
-src/Specific/solinas32_2e189m25_8limbs/femulDisplay.v
-src/Specific/solinas32_2e189m25_8limbs/fesquare.v
-src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e189m25_8limbs/fesub.v
-src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e189m25_8limbs/freeze.v
-src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e190m11_7limbs/CurveParameters.v
-src/Specific/solinas32_2e190m11_7limbs/Synthesis.v
-src/Specific/solinas32_2e190m11_7limbs/feadd.v
-src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.v
-src/Specific/solinas32_2e190m11_7limbs/fecarry.v
-src/Specific/solinas32_2e190m11_7limbs/fecarryDisplay.v
-src/Specific/solinas32_2e190m11_7limbs/femul.v
-src/Specific/solinas32_2e190m11_7limbs/femulDisplay.v
-src/Specific/solinas32_2e190m11_7limbs/fesquare.v
-src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.v
-src/Specific/solinas32_2e190m11_7limbs/fesub.v
-src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.v
-src/Specific/solinas32_2e190m11_7limbs/freeze.v
-src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.v
-src/Specific/solinas32_2e190m11_8limbs/CurveParameters.v
-src/Specific/solinas32_2e190m11_8limbs/Synthesis.v
-src/Specific/solinas32_2e190m11_8limbs/feadd.v
-src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e190m11_8limbs/fecarry.v
-src/Specific/solinas32_2e190m11_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e190m11_8limbs/femul.v
-src/Specific/solinas32_2e190m11_8limbs/femulDisplay.v
-src/Specific/solinas32_2e190m11_8limbs/fesquare.v
-src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e190m11_8limbs/fesub.v
-src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e190m11_8limbs/freeze.v
-src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e191m19_8limbs/CurveParameters.v
-src/Specific/solinas32_2e191m19_8limbs/Synthesis.v
-src/Specific/solinas32_2e191m19_8limbs/feadd.v
-src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e191m19_8limbs/fecarry.v
-src/Specific/solinas32_2e191m19_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e191m19_8limbs/femul.v
-src/Specific/solinas32_2e191m19_8limbs/femulDisplay.v
-src/Specific/solinas32_2e191m19_8limbs/fesquare.v
-src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e191m19_8limbs/fesub.v
-src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e191m19_8limbs/freeze.v
-src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e191m19_9limbs/CurveParameters.v
-src/Specific/solinas32_2e191m19_9limbs/Synthesis.v
-src/Specific/solinas32_2e191m19_9limbs/feadd.v
-src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e191m19_9limbs/fecarry.v
-src/Specific/solinas32_2e191m19_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e191m19_9limbs/femul.v
-src/Specific/solinas32_2e191m19_9limbs/femulDisplay.v
-src/Specific/solinas32_2e191m19_9limbs/fesquare.v
-src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e191m19_9limbs/fesub.v
-src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e191m19_9limbs/freeze.v
-src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/CurveParameters.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/Synthesis.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/fecarry.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/femul.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.v
-src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/CurveParameters.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/Synthesis.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/fecarry.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/femul.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.v
-src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e194m33_8limbs/CurveParameters.v
-src/Specific/solinas32_2e194m33_8limbs/Synthesis.v
-src/Specific/solinas32_2e194m33_8limbs/feadd.v
-src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e194m33_8limbs/fecarry.v
-src/Specific/solinas32_2e194m33_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e194m33_8limbs/femul.v
-src/Specific/solinas32_2e194m33_8limbs/femulDisplay.v
-src/Specific/solinas32_2e194m33_8limbs/fesquare.v
-src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e194m33_8limbs/fesub.v
-src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e194m33_8limbs/freeze.v
-src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e194m33_9limbs/CurveParameters.v
-src/Specific/solinas32_2e194m33_9limbs/Synthesis.v
-src/Specific/solinas32_2e194m33_9limbs/feadd.v
-src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e194m33_9limbs/fecarry.v
-src/Specific/solinas32_2e194m33_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e194m33_9limbs/femul.v
-src/Specific/solinas32_2e194m33_9limbs/femulDisplay.v
-src/Specific/solinas32_2e194m33_9limbs/fesquare.v
-src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e194m33_9limbs/fesub.v
-src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e194m33_9limbs/freeze.v
-src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e196m15_8limbs/CurveParameters.v
-src/Specific/solinas32_2e196m15_8limbs/Synthesis.v
-src/Specific/solinas32_2e196m15_8limbs/feadd.v
-src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e196m15_8limbs/fecarry.v
-src/Specific/solinas32_2e196m15_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e196m15_8limbs/femul.v
-src/Specific/solinas32_2e196m15_8limbs/femulDisplay.v
-src/Specific/solinas32_2e196m15_8limbs/fesquare.v
-src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e196m15_8limbs/fesub.v
-src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e196m15_8limbs/freeze.v
-src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e196m15_9limbs/CurveParameters.v
-src/Specific/solinas32_2e196m15_9limbs/Synthesis.v
-src/Specific/solinas32_2e196m15_9limbs/feadd.v
-src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e196m15_9limbs/fecarry.v
-src/Specific/solinas32_2e196m15_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e196m15_9limbs/femul.v
-src/Specific/solinas32_2e196m15_9limbs/femulDisplay.v
-src/Specific/solinas32_2e196m15_9limbs/fesquare.v
-src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e196m15_9limbs/fesub.v
-src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e196m15_9limbs/freeze.v
-src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e198m17_8limbs/CurveParameters.v
-src/Specific/solinas32_2e198m17_8limbs/Synthesis.v
-src/Specific/solinas32_2e198m17_8limbs/feadd.v
-src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e198m17_8limbs/fecarry.v
-src/Specific/solinas32_2e198m17_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e198m17_8limbs/femul.v
-src/Specific/solinas32_2e198m17_8limbs/femulDisplay.v
-src/Specific/solinas32_2e198m17_8limbs/fesquare.v
-src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e198m17_8limbs/fesub.v
-src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e198m17_8limbs/freeze.v
-src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e198m17_9limbs/CurveParameters.v
-src/Specific/solinas32_2e198m17_9limbs/Synthesis.v
-src/Specific/solinas32_2e198m17_9limbs/feadd.v
-src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e198m17_9limbs/fecarry.v
-src/Specific/solinas32_2e198m17_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e198m17_9limbs/femul.v
-src/Specific/solinas32_2e198m17_9limbs/femulDisplay.v
-src/Specific/solinas32_2e198m17_9limbs/fesquare.v
-src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e198m17_9limbs/fesub.v
-src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e198m17_9limbs/freeze.v
-src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e206m5_8limbs/CurveParameters.v
-src/Specific/solinas32_2e206m5_8limbs/Synthesis.v
-src/Specific/solinas32_2e206m5_8limbs/feadd.v
-src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e206m5_8limbs/fecarry.v
-src/Specific/solinas32_2e206m5_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e206m5_8limbs/femul.v
-src/Specific/solinas32_2e206m5_8limbs/femulDisplay.v
-src/Specific/solinas32_2e206m5_8limbs/fesquare.v
-src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e206m5_8limbs/fesub.v
-src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e206m5_8limbs/freeze.v
-src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e206m5_9limbs/CurveParameters.v
-src/Specific/solinas32_2e206m5_9limbs/Synthesis.v
-src/Specific/solinas32_2e206m5_9limbs/feadd.v
-src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e206m5_9limbs/fecarry.v
-src/Specific/solinas32_2e206m5_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e206m5_9limbs/femul.v
-src/Specific/solinas32_2e206m5_9limbs/femulDisplay.v
-src/Specific/solinas32_2e206m5_9limbs/fesquare.v
-src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e206m5_9limbs/fesub.v
-src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e206m5_9limbs/freeze.v
-src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e212m29_8limbs/CurveParameters.v
-src/Specific/solinas32_2e212m29_8limbs/Synthesis.v
-src/Specific/solinas32_2e212m29_8limbs/feadd.v
-src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e212m29_8limbs/fecarry.v
-src/Specific/solinas32_2e212m29_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e212m29_8limbs/femul.v
-src/Specific/solinas32_2e212m29_8limbs/femulDisplay.v
-src/Specific/solinas32_2e212m29_8limbs/fesquare.v
-src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e212m29_8limbs/fesub.v
-src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e212m29_8limbs/freeze.v
-src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e212m29_9limbs/CurveParameters.v
-src/Specific/solinas32_2e212m29_9limbs/Synthesis.v
-src/Specific/solinas32_2e212m29_9limbs/feadd.v
-src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e212m29_9limbs/fecarry.v
-src/Specific/solinas32_2e212m29_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e212m29_9limbs/femul.v
-src/Specific/solinas32_2e212m29_9limbs/femulDisplay.v
-src/Specific/solinas32_2e212m29_9limbs/fesquare.v
-src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e212m29_9limbs/fesub.v
-src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e212m29_9limbs/freeze.v
-src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e213m3_8limbs/CurveParameters.v
-src/Specific/solinas32_2e213m3_8limbs/Synthesis.v
-src/Specific/solinas32_2e213m3_8limbs/feadd.v
-src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e213m3_8limbs/fecarry.v
-src/Specific/solinas32_2e213m3_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e213m3_8limbs/femul.v
-src/Specific/solinas32_2e213m3_8limbs/femulDisplay.v
-src/Specific/solinas32_2e213m3_8limbs/fesquare.v
-src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e213m3_8limbs/fesub.v
-src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e213m3_8limbs/freeze.v
-src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e213m3_9limbs/CurveParameters.v
-src/Specific/solinas32_2e213m3_9limbs/Synthesis.v
-src/Specific/solinas32_2e213m3_9limbs/feadd.v
-src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e213m3_9limbs/fecarry.v
-src/Specific/solinas32_2e213m3_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e213m3_9limbs/femul.v
-src/Specific/solinas32_2e213m3_9limbs/femulDisplay.v
-src/Specific/solinas32_2e213m3_9limbs/fesquare.v
-src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e213m3_9limbs/fesub.v
-src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e213m3_9limbs/freeze.v
-src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/CurveParameters.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/Synthesis.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/fecarry.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/femul.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.v
-src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/CurveParameters.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/Synthesis.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/fecarry.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/femul.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.v
-src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e221m3_8limbs/CurveParameters.v
-src/Specific/solinas32_2e221m3_8limbs/Synthesis.v
-src/Specific/solinas32_2e221m3_8limbs/feadd.v
-src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.v
-src/Specific/solinas32_2e221m3_8limbs/fecarry.v
-src/Specific/solinas32_2e221m3_8limbs/fecarryDisplay.v
-src/Specific/solinas32_2e221m3_8limbs/femul.v
-src/Specific/solinas32_2e221m3_8limbs/femulDisplay.v
-src/Specific/solinas32_2e221m3_8limbs/fesquare.v
-src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.v
-src/Specific/solinas32_2e221m3_8limbs/fesub.v
-src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.v
-src/Specific/solinas32_2e221m3_8limbs/freeze.v
-src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.v
-src/Specific/solinas32_2e221m3_9limbs/CurveParameters.v
-src/Specific/solinas32_2e221m3_9limbs/Synthesis.v
-src/Specific/solinas32_2e221m3_9limbs/feadd.v
-src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e221m3_9limbs/fecarry.v
-src/Specific/solinas32_2e221m3_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e221m3_9limbs/femul.v
-src/Specific/solinas32_2e221m3_9limbs/femulDisplay.v
-src/Specific/solinas32_2e221m3_9limbs/fesquare.v
-src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e221m3_9limbs/fesub.v
-src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e221m3_9limbs/freeze.v
-src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e222m117_10limbs/CurveParameters.v
-src/Specific/solinas32_2e222m117_10limbs/Synthesis.v
-src/Specific/solinas32_2e222m117_10limbs/feadd.v
-src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e222m117_10limbs/fecarry.v
-src/Specific/solinas32_2e222m117_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e222m117_10limbs/femul.v
-src/Specific/solinas32_2e222m117_10limbs/femulDisplay.v
-src/Specific/solinas32_2e222m117_10limbs/fesquare.v
-src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e222m117_10limbs/fesub.v
-src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e222m117_10limbs/freeze.v
-src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e222m117_9limbs/CurveParameters.v
-src/Specific/solinas32_2e222m117_9limbs/Synthesis.v
-src/Specific/solinas32_2e222m117_9limbs/feadd.v
-src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e222m117_9limbs/fecarry.v
-src/Specific/solinas32_2e222m117_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e222m117_9limbs/femul.v
-src/Specific/solinas32_2e222m117_9limbs/femulDisplay.v
-src/Specific/solinas32_2e222m117_9limbs/fesquare.v
-src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e222m117_9limbs/fesub.v
-src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e222m117_9limbs/freeze.v
-src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/CurveParameters.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/Synthesis.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/fecarry.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/femul.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/femulDisplay.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/fesquare.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/fesub.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.v
-src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/CurveParameters.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/Synthesis.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/feadd.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/fecarry.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/femul.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/femulDisplay.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/fesquare.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/fesub.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/freeze.v
-src/Specific/solinas32_2e224m2e96p1_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e226m5_10limbs/CurveParameters.v
-src/Specific/solinas32_2e226m5_10limbs/Synthesis.v
-src/Specific/solinas32_2e226m5_10limbs/feadd.v
-src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e226m5_10limbs/fecarry.v
-src/Specific/solinas32_2e226m5_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e226m5_10limbs/femul.v
-src/Specific/solinas32_2e226m5_10limbs/femulDisplay.v
-src/Specific/solinas32_2e226m5_10limbs/fesquare.v
-src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e226m5_10limbs/fesub.v
-src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e226m5_10limbs/freeze.v
-src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e226m5_9limbs/CurveParameters.v
-src/Specific/solinas32_2e226m5_9limbs/Synthesis.v
-src/Specific/solinas32_2e226m5_9limbs/feadd.v
-src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e226m5_9limbs/fecarry.v
-src/Specific/solinas32_2e226m5_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e226m5_9limbs/femul.v
-src/Specific/solinas32_2e226m5_9limbs/femulDisplay.v
-src/Specific/solinas32_2e226m5_9limbs/fesquare.v
-src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e226m5_9limbs/fesub.v
-src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e226m5_9limbs/freeze.v
-src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e230m27_10limbs/CurveParameters.v
-src/Specific/solinas32_2e230m27_10limbs/Synthesis.v
-src/Specific/solinas32_2e230m27_10limbs/feadd.v
-src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e230m27_10limbs/fecarry.v
-src/Specific/solinas32_2e230m27_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e230m27_10limbs/femul.v
-src/Specific/solinas32_2e230m27_10limbs/femulDisplay.v
-src/Specific/solinas32_2e230m27_10limbs/fesquare.v
-src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e230m27_10limbs/fesub.v
-src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e230m27_10limbs/freeze.v
-src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e230m27_9limbs/CurveParameters.v
-src/Specific/solinas32_2e230m27_9limbs/Synthesis.v
-src/Specific/solinas32_2e230m27_9limbs/feadd.v
-src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e230m27_9limbs/fecarry.v
-src/Specific/solinas32_2e230m27_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e230m27_9limbs/femul.v
-src/Specific/solinas32_2e230m27_9limbs/femulDisplay.v
-src/Specific/solinas32_2e230m27_9limbs/fesquare.v
-src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e230m27_9limbs/fesub.v
-src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e230m27_9limbs/freeze.v
-src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e235m15_10limbs/CurveParameters.v
-src/Specific/solinas32_2e235m15_10limbs/Synthesis.v
-src/Specific/solinas32_2e235m15_10limbs/feadd.v
-src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e235m15_10limbs/fecarry.v
-src/Specific/solinas32_2e235m15_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e235m15_10limbs/femul.v
-src/Specific/solinas32_2e235m15_10limbs/femulDisplay.v
-src/Specific/solinas32_2e235m15_10limbs/fesquare.v
-src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e235m15_10limbs/fesub.v
-src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e235m15_10limbs/freeze.v
-src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e235m15_9limbs/CurveParameters.v
-src/Specific/solinas32_2e235m15_9limbs/Synthesis.v
-src/Specific/solinas32_2e235m15_9limbs/feadd.v
-src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e235m15_9limbs/fecarry.v
-src/Specific/solinas32_2e235m15_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e235m15_9limbs/femul.v
-src/Specific/solinas32_2e235m15_9limbs/femulDisplay.v
-src/Specific/solinas32_2e235m15_9limbs/fesquare.v
-src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e235m15_9limbs/fesub.v
-src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e235m15_9limbs/freeze.v
-src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e243m9_10limbs/CurveParameters.v
-src/Specific/solinas32_2e243m9_10limbs/Synthesis.v
-src/Specific/solinas32_2e243m9_10limbs/feadd.v
-src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e243m9_10limbs/fecarry.v
-src/Specific/solinas32_2e243m9_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e243m9_10limbs/femul.v
-src/Specific/solinas32_2e243m9_10limbs/femulDisplay.v
-src/Specific/solinas32_2e243m9_10limbs/fesquare.v
-src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e243m9_10limbs/fesub.v
-src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e243m9_10limbs/freeze.v
-src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e243m9_9limbs/CurveParameters.v
-src/Specific/solinas32_2e243m9_9limbs/Synthesis.v
-src/Specific/solinas32_2e243m9_9limbs/feadd.v
-src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.v
-src/Specific/solinas32_2e243m9_9limbs/fecarry.v
-src/Specific/solinas32_2e243m9_9limbs/fecarryDisplay.v
-src/Specific/solinas32_2e243m9_9limbs/femul.v
-src/Specific/solinas32_2e243m9_9limbs/femulDisplay.v
-src/Specific/solinas32_2e243m9_9limbs/fesquare.v
-src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.v
-src/Specific/solinas32_2e243m9_9limbs/fesub.v
-src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.v
-src/Specific/solinas32_2e243m9_9limbs/freeze.v
-src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.v
-src/Specific/solinas32_2e251m9_10limbs/CurveParameters.v
-src/Specific/solinas32_2e251m9_10limbs/Synthesis.v
-src/Specific/solinas32_2e251m9_10limbs/feadd.v
-src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e251m9_10limbs/fecarry.v
-src/Specific/solinas32_2e251m9_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e251m9_10limbs/femul.v
-src/Specific/solinas32_2e251m9_10limbs/femulDisplay.v
-src/Specific/solinas32_2e251m9_10limbs/fesquare.v
-src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e251m9_10limbs/fesub.v
-src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e251m9_10limbs/freeze.v
-src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e251m9_11limbs/CurveParameters.v
-src/Specific/solinas32_2e251m9_11limbs/Synthesis.v
-src/Specific/solinas32_2e251m9_11limbs/feadd.v
-src/Specific/solinas32_2e251m9_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e251m9_11limbs/fecarry.v
-src/Specific/solinas32_2e251m9_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e251m9_11limbs/femul.v
-src/Specific/solinas32_2e251m9_11limbs/femulDisplay.v
-src/Specific/solinas32_2e251m9_11limbs/fesquare.v
-src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e251m9_11limbs/fesub.v
-src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e251m9_11limbs/freeze.v
-src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e255m19_10limbs/CurveParameters.v
-src/Specific/solinas32_2e255m19_10limbs/Synthesis.v
-src/Specific/solinas32_2e255m19_10limbs/feadd.v
-src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e255m19_10limbs/fecarry.v
-src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e255m19_10limbs/femul.v
-src/Specific/solinas32_2e255m19_10limbs/femulDisplay.v
-src/Specific/solinas32_2e255m19_10limbs/fesquare.v
-src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e255m19_10limbs/fesub.v
-src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e255m19_10limbs/freeze.v
-src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e255m19_10limbs_donna/CurveParameters.v
-src/Specific/solinas32_2e255m19_10limbs_donna/Synthesis.v
-src/Specific/solinas32_2e255m19_10limbs_donna/feadd.v
-src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.v
-src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.v
-src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.v
-src/Specific/solinas32_2e255m19_10limbs_donna/femul.v
-src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.v
-src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.v
-src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.v
-src/Specific/solinas32_2e255m19_10limbs_donna/fesub.v
-src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.v
-src/Specific/solinas32_2e255m19_10limbs_donna/freeze.v
-src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.v
-src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v
-src/Specific/solinas32_2e255m19_11limbs/Synthesis.v
-src/Specific/solinas32_2e255m19_11limbs/feadd.v
-src/Specific/solinas32_2e255m19_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e255m19_11limbs/fecarry.v
-src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e255m19_11limbs/femul.v
-src/Specific/solinas32_2e255m19_11limbs/femulDisplay.v
-src/Specific/solinas32_2e255m19_11limbs/fesquare.v
-src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e255m19_11limbs/fesub.v
-src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e255m19_11limbs/freeze.v
-src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e255m765_12limbs/CurveParameters.v
-src/Specific/solinas32_2e255m765_12limbs/Synthesis.v
-src/Specific/solinas32_2e255m765_12limbs/feadd.v
-src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e255m765_12limbs/fecarry.v
-src/Specific/solinas32_2e255m765_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e255m765_12limbs/femul.v
-src/Specific/solinas32_2e255m765_12limbs/femulDisplay.v
-src/Specific/solinas32_2e255m765_12limbs/fesquare.v
-src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e255m765_12limbs/fesub.v
-src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e255m765_12limbs/freeze.v
-src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e255m765_13limbs/CurveParameters.v
-src/Specific/solinas32_2e255m765_13limbs/Synthesis.v
-src/Specific/solinas32_2e255m765_13limbs/feadd.v
-src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.v
-src/Specific/solinas32_2e255m765_13limbs/fecarry.v
-src/Specific/solinas32_2e255m765_13limbs/fecarryDisplay.v
-src/Specific/solinas32_2e255m765_13limbs/femul.v
-src/Specific/solinas32_2e255m765_13limbs/femulDisplay.v
-src/Specific/solinas32_2e255m765_13limbs/fesquare.v
-src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.v
-src/Specific/solinas32_2e255m765_13limbs/fesub.v
-src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.v
-src/Specific/solinas32_2e255m765_13limbs/freeze.v
-src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.v
-src/Specific/solinas32_2e256m189_11limbs/CurveParameters.v
-src/Specific/solinas32_2e256m189_11limbs/Synthesis.v
-src/Specific/solinas32_2e256m189_11limbs/feadd.v
-src/Specific/solinas32_2e256m189_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e256m189_11limbs/fecarry.v
-src/Specific/solinas32_2e256m189_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e256m189_11limbs/femul.v
-src/Specific/solinas32_2e256m189_11limbs/femulDisplay.v
-src/Specific/solinas32_2e256m189_11limbs/fesquare.v
-src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e256m189_11limbs/fesub.v
-src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e256m189_11limbs/freeze.v
-src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e256m189_12limbs/CurveParameters.v
-src/Specific/solinas32_2e256m189_12limbs/Synthesis.v
-src/Specific/solinas32_2e256m189_12limbs/feadd.v
-src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e256m189_12limbs/fecarry.v
-src/Specific/solinas32_2e256m189_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e256m189_12limbs/femul.v
-src/Specific/solinas32_2e256m189_12limbs/femulDisplay.v
-src/Specific/solinas32_2e256m189_12limbs/fesquare.v
-src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e256m189_12limbs/fesub.v
-src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e256m189_12limbs/freeze.v
-src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/CurveParameters.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/Synthesis.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarry.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femul.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femulDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquare.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesub.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/CurveParameters.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/Synthesis.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarry.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femul.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femulDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquare.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesub.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.v
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/CurveParameters.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/Synthesis.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/fecarry.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/femul.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.v
-src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/CurveParameters.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/Synthesis.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/fecarry.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/fecarryDisplay.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/femul.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.v
-src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.v
-src/Specific/solinas32_2e266m3_10limbs/CurveParameters.v
-src/Specific/solinas32_2e266m3_10limbs/Synthesis.v
-src/Specific/solinas32_2e266m3_10limbs/feadd.v
-src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.v
-src/Specific/solinas32_2e266m3_10limbs/fecarry.v
-src/Specific/solinas32_2e266m3_10limbs/fecarryDisplay.v
-src/Specific/solinas32_2e266m3_10limbs/femul.v
-src/Specific/solinas32_2e266m3_10limbs/femulDisplay.v
-src/Specific/solinas32_2e266m3_10limbs/fesquare.v
-src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.v
-src/Specific/solinas32_2e266m3_10limbs/fesub.v
-src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.v
-src/Specific/solinas32_2e266m3_10limbs/freeze.v
-src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.v
-src/Specific/solinas32_2e266m3_11limbs/CurveParameters.v
-src/Specific/solinas32_2e266m3_11limbs/Synthesis.v
-src/Specific/solinas32_2e266m3_11limbs/feadd.v
-src/Specific/solinas32_2e266m3_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e266m3_11limbs/fecarry.v
-src/Specific/solinas32_2e266m3_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e266m3_11limbs/femul.v
-src/Specific/solinas32_2e266m3_11limbs/femulDisplay.v
-src/Specific/solinas32_2e266m3_11limbs/fesquare.v
-src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e266m3_11limbs/fesub.v
-src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e266m3_11limbs/freeze.v
-src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e285m9_11limbs/CurveParameters.v
-src/Specific/solinas32_2e285m9_11limbs/Synthesis.v
-src/Specific/solinas32_2e285m9_11limbs/feadd.v
-src/Specific/solinas32_2e285m9_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e285m9_11limbs/fecarry.v
-src/Specific/solinas32_2e285m9_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e285m9_11limbs/femul.v
-src/Specific/solinas32_2e285m9_11limbs/femulDisplay.v
-src/Specific/solinas32_2e285m9_11limbs/fesquare.v
-src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e285m9_11limbs/fesub.v
-src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e285m9_11limbs/freeze.v
-src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e285m9_12limbs/CurveParameters.v
-src/Specific/solinas32_2e285m9_12limbs/Synthesis.v
-src/Specific/solinas32_2e285m9_12limbs/feadd.v
-src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e285m9_12limbs/fecarry.v
-src/Specific/solinas32_2e285m9_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e285m9_12limbs/femul.v
-src/Specific/solinas32_2e285m9_12limbs/femulDisplay.v
-src/Specific/solinas32_2e285m9_12limbs/fesquare.v
-src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e285m9_12limbs/fesub.v
-src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e285m9_12limbs/freeze.v
-src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e291m19_11limbs/CurveParameters.v
-src/Specific/solinas32_2e291m19_11limbs/Synthesis.v
-src/Specific/solinas32_2e291m19_11limbs/feadd.v
-src/Specific/solinas32_2e291m19_11limbs/feaddDisplay.v
-src/Specific/solinas32_2e291m19_11limbs/fecarry.v
-src/Specific/solinas32_2e291m19_11limbs/fecarryDisplay.v
-src/Specific/solinas32_2e291m19_11limbs/femul.v
-src/Specific/solinas32_2e291m19_11limbs/femulDisplay.v
-src/Specific/solinas32_2e291m19_11limbs/fesquare.v
-src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.v
-src/Specific/solinas32_2e291m19_11limbs/fesub.v
-src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.v
-src/Specific/solinas32_2e291m19_11limbs/freeze.v
-src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.v
-src/Specific/solinas32_2e291m19_12limbs/CurveParameters.v
-src/Specific/solinas32_2e291m19_12limbs/Synthesis.v
-src/Specific/solinas32_2e291m19_12limbs/feadd.v
-src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e291m19_12limbs/fecarry.v
-src/Specific/solinas32_2e291m19_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e291m19_12limbs/femul.v
-src/Specific/solinas32_2e291m19_12limbs/femulDisplay.v
-src/Specific/solinas32_2e291m19_12limbs/fesquare.v
-src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e291m19_12limbs/fesub.v
-src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e291m19_12limbs/freeze.v
-src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e321m9_12limbs/CurveParameters.v
-src/Specific/solinas32_2e321m9_12limbs/Synthesis.v
-src/Specific/solinas32_2e321m9_12limbs/feadd.v
-src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e321m9_12limbs/fecarry.v
-src/Specific/solinas32_2e321m9_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e321m9_12limbs/femul.v
-src/Specific/solinas32_2e321m9_12limbs/femulDisplay.v
-src/Specific/solinas32_2e321m9_12limbs/fesquare.v
-src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e321m9_12limbs/fesub.v
-src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e321m9_12limbs/freeze.v
-src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e321m9_13limbs/CurveParameters.v
-src/Specific/solinas32_2e321m9_13limbs/Synthesis.v
-src/Specific/solinas32_2e321m9_13limbs/feadd.v
-src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.v
-src/Specific/solinas32_2e321m9_13limbs/fecarry.v
-src/Specific/solinas32_2e321m9_13limbs/fecarryDisplay.v
-src/Specific/solinas32_2e321m9_13limbs/femul.v
-src/Specific/solinas32_2e321m9_13limbs/femulDisplay.v
-src/Specific/solinas32_2e321m9_13limbs/fesquare.v
-src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.v
-src/Specific/solinas32_2e321m9_13limbs/fesub.v
-src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.v
-src/Specific/solinas32_2e321m9_13limbs/freeze.v
-src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/CurveParameters.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/Synthesis.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/fecarry.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/femul.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.v
-src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/CurveParameters.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/Synthesis.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/fecarry.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/fecarryDisplay.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/femul.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.v
-src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.v
-src/Specific/solinas32_2e336m17_13limbs/CurveParameters.v
-src/Specific/solinas32_2e336m17_13limbs/Synthesis.v
-src/Specific/solinas32_2e336m17_13limbs/feadd.v
-src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.v
-src/Specific/solinas32_2e336m17_13limbs/fecarry.v
-src/Specific/solinas32_2e336m17_13limbs/fecarryDisplay.v
-src/Specific/solinas32_2e336m17_13limbs/femul.v
-src/Specific/solinas32_2e336m17_13limbs/femulDisplay.v
-src/Specific/solinas32_2e336m17_13limbs/fesquare.v
-src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.v
-src/Specific/solinas32_2e336m17_13limbs/fesub.v
-src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.v
-src/Specific/solinas32_2e336m17_13limbs/freeze.v
-src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.v
-src/Specific/solinas32_2e336m17_14limbs/CurveParameters.v
-src/Specific/solinas32_2e336m17_14limbs/Synthesis.v
-src/Specific/solinas32_2e336m17_14limbs/feadd.v
-src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.v
-src/Specific/solinas32_2e336m17_14limbs/fecarry.v
-src/Specific/solinas32_2e336m17_14limbs/fecarryDisplay.v
-src/Specific/solinas32_2e336m17_14limbs/femul.v
-src/Specific/solinas32_2e336m17_14limbs/femulDisplay.v
-src/Specific/solinas32_2e336m17_14limbs/fesquare.v
-src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.v
-src/Specific/solinas32_2e336m17_14limbs/fesub.v
-src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.v
-src/Specific/solinas32_2e336m17_14limbs/freeze.v
-src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.v
-src/Specific/solinas32_2e336m3_12limbs/CurveParameters.v
-src/Specific/solinas32_2e336m3_12limbs/Synthesis.v
-src/Specific/solinas32_2e336m3_12limbs/feadd.v
-src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.v
-src/Specific/solinas32_2e336m3_12limbs/fecarry.v
-src/Specific/solinas32_2e336m3_12limbs/fecarryDisplay.v
-src/Specific/solinas32_2e336m3_12limbs/femul.v
-src/Specific/solinas32_2e336m3_12limbs/femulDisplay.v
-src/Specific/solinas32_2e336m3_12limbs/fesquare.v
-src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.v
-src/Specific/solinas32_2e336m3_12limbs/fesub.v
-src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.v
-src/Specific/solinas32_2e336m3_12limbs/freeze.v
-src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.v
-src/Specific/solinas32_2e336m3_13limbs/CurveParameters.v
-src/Specific/solinas32_2e336m3_13limbs/Synthesis.v
-src/Specific/solinas32_2e336m3_13limbs/feadd.v
-src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.v
-src/Specific/solinas32_2e336m3_13limbs/fecarry.v
-src/Specific/solinas32_2e336m3_13limbs/fecarryDisplay.v
-src/Specific/solinas32_2e336m3_13limbs/femul.v
-src/Specific/solinas32_2e336m3_13limbs/femulDisplay.v
-src/Specific/solinas32_2e336m3_13limbs/fesquare.v
-src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.v
-src/Specific/solinas32_2e336m3_13limbs/fesub.v
-src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.v
-src/Specific/solinas32_2e336m3_13limbs/freeze.v
-src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.v
-src/Specific/solinas32_2e338m15_13limbs/CurveParameters.v
-src/Specific/solinas32_2e338m15_13limbs/Synthesis.v
-src/Specific/solinas32_2e338m15_13limbs/feadd.v
-src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.v
-src/Specific/solinas32_2e338m15_13limbs/fecarry.v
-src/Specific/solinas32_2e338m15_13limbs/fecarryDisplay.v
-src/Specific/solinas32_2e338m15_13limbs/femul.v
-src/Specific/solinas32_2e338m15_13limbs/femulDisplay.v
-src/Specific/solinas32_2e338m15_13limbs/fesquare.v
-src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.v
-src/Specific/solinas32_2e338m15_13limbs/fesub.v
-src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.v
-src/Specific/solinas32_2e338m15_13limbs/freeze.v
-src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.v
-src/Specific/solinas32_2e338m15_14limbs/CurveParameters.v
-src/Specific/solinas32_2e338m15_14limbs/Synthesis.v
-src/Specific/solinas32_2e338m15_14limbs/feadd.v
-src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.v
-src/Specific/solinas32_2e338m15_14limbs/fecarry.v
-src/Specific/solinas32_2e338m15_14limbs/fecarryDisplay.v
-src/Specific/solinas32_2e338m15_14limbs/femul.v
-src/Specific/solinas32_2e338m15_14limbs/femulDisplay.v
-src/Specific/solinas32_2e338m15_14limbs/fesquare.v
-src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.v
-src/Specific/solinas32_2e338m15_14limbs/fesub.v
-src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.v
-src/Specific/solinas32_2e338m15_14limbs/freeze.v
-src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.v
-src/Specific/solinas32_2e369m25_15limbs/CurveParameters.v
-src/Specific/solinas32_2e369m25_15limbs/Synthesis.v
-src/Specific/solinas32_2e369m25_15limbs/feadd.v
-src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.v
-src/Specific/solinas32_2e369m25_15limbs/fecarry.v
-src/Specific/solinas32_2e369m25_15limbs/fecarryDisplay.v
-src/Specific/solinas32_2e369m25_15limbs/femul.v
-src/Specific/solinas32_2e369m25_15limbs/femulDisplay.v
-src/Specific/solinas32_2e369m25_15limbs/fesquare.v
-src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.v
-src/Specific/solinas32_2e369m25_15limbs/fesub.v
-src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.v
-src/Specific/solinas32_2e369m25_15limbs/freeze.v
-src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.v
-src/Specific/solinas32_2e369m25_16limbs/CurveParameters.v
-src/Specific/solinas32_2e369m25_16limbs/Synthesis.v
-src/Specific/solinas32_2e369m25_16limbs/feadd.v
-src/Specific/solinas32_2e369m25_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e369m25_16limbs/fecarry.v
-src/Specific/solinas32_2e369m25_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e369m25_16limbs/femul.v
-src/Specific/solinas32_2e369m25_16limbs/femulDisplay.v
-src/Specific/solinas32_2e369m25_16limbs/fesquare.v
-src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e369m25_16limbs/fesub.v
-src/Specific/solinas32_2e369m25_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e369m25_16limbs/freeze.v
-src/Specific/solinas32_2e369m25_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e379m19_15limbs/CurveParameters.v
-src/Specific/solinas32_2e379m19_15limbs/Synthesis.v
-src/Specific/solinas32_2e379m19_15limbs/feadd.v
-src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.v
-src/Specific/solinas32_2e379m19_15limbs/fecarry.v
-src/Specific/solinas32_2e379m19_15limbs/fecarryDisplay.v
-src/Specific/solinas32_2e379m19_15limbs/femul.v
-src/Specific/solinas32_2e379m19_15limbs/femulDisplay.v
-src/Specific/solinas32_2e379m19_15limbs/fesquare.v
-src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.v
-src/Specific/solinas32_2e379m19_15limbs/fesub.v
-src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.v
-src/Specific/solinas32_2e379m19_15limbs/freeze.v
-src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.v
-src/Specific/solinas32_2e379m19_16limbs/CurveParameters.v
-src/Specific/solinas32_2e379m19_16limbs/Synthesis.v
-src/Specific/solinas32_2e379m19_16limbs/feadd.v
-src/Specific/solinas32_2e379m19_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e379m19_16limbs/fecarry.v
-src/Specific/solinas32_2e379m19_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e379m19_16limbs/femul.v
-src/Specific/solinas32_2e379m19_16limbs/femulDisplay.v
-src/Specific/solinas32_2e379m19_16limbs/fesquare.v
-src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e379m19_16limbs/fesub.v
-src/Specific/solinas32_2e379m19_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e379m19_16limbs/freeze.v
-src/Specific/solinas32_2e379m19_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e382m105_16limbs/CurveParameters.v
-src/Specific/solinas32_2e382m105_16limbs/Synthesis.v
-src/Specific/solinas32_2e382m105_16limbs/feadd.v
-src/Specific/solinas32_2e382m105_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e382m105_16limbs/fecarry.v
-src/Specific/solinas32_2e382m105_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e382m105_16limbs/femul.v
-src/Specific/solinas32_2e382m105_16limbs/femulDisplay.v
-src/Specific/solinas32_2e382m105_16limbs/fesquare.v
-src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e382m105_16limbs/fesub.v
-src/Specific/solinas32_2e382m105_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e382m105_16limbs/freeze.v
-src/Specific/solinas32_2e382m105_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e382m105_17limbs/CurveParameters.v
-src/Specific/solinas32_2e382m105_17limbs/Synthesis.v
-src/Specific/solinas32_2e382m105_17limbs/feadd.v
-src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e382m105_17limbs/fecarry.v
-src/Specific/solinas32_2e382m105_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e382m105_17limbs/femul.v
-src/Specific/solinas32_2e382m105_17limbs/femulDisplay.v
-src/Specific/solinas32_2e382m105_17limbs/fesquare.v
-src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e382m105_17limbs/fesub.v
-src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e382m105_17limbs/freeze.v
-src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e383m187_16limbs/CurveParameters.v
-src/Specific/solinas32_2e383m187_16limbs/Synthesis.v
-src/Specific/solinas32_2e383m187_16limbs/feadd.v
-src/Specific/solinas32_2e383m187_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e383m187_16limbs/fecarry.v
-src/Specific/solinas32_2e383m187_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e383m187_16limbs/femul.v
-src/Specific/solinas32_2e383m187_16limbs/femulDisplay.v
-src/Specific/solinas32_2e383m187_16limbs/fesquare.v
-src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e383m187_16limbs/fesub.v
-src/Specific/solinas32_2e383m187_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e383m187_16limbs/freeze.v
-src/Specific/solinas32_2e383m187_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e383m187_17limbs/CurveParameters.v
-src/Specific/solinas32_2e383m187_17limbs/Synthesis.v
-src/Specific/solinas32_2e383m187_17limbs/feadd.v
-src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e383m187_17limbs/fecarry.v
-src/Specific/solinas32_2e383m187_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e383m187_17limbs/femul.v
-src/Specific/solinas32_2e383m187_17limbs/femulDisplay.v
-src/Specific/solinas32_2e383m187_17limbs/fesquare.v
-src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e383m187_17limbs/fesub.v
-src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e383m187_17limbs/freeze.v
-src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e383m31_15limbs/CurveParameters.v
-src/Specific/solinas32_2e383m31_15limbs/Synthesis.v
-src/Specific/solinas32_2e383m31_15limbs/feadd.v
-src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.v
-src/Specific/solinas32_2e383m31_15limbs/fecarry.v
-src/Specific/solinas32_2e383m31_15limbs/fecarryDisplay.v
-src/Specific/solinas32_2e383m31_15limbs/femul.v
-src/Specific/solinas32_2e383m31_15limbs/femulDisplay.v
-src/Specific/solinas32_2e383m31_15limbs/fesquare.v
-src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.v
-src/Specific/solinas32_2e383m31_15limbs/fesub.v
-src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.v
-src/Specific/solinas32_2e383m31_15limbs/freeze.v
-src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.v
-src/Specific/solinas32_2e383m31_16limbs/CurveParameters.v
-src/Specific/solinas32_2e383m31_16limbs/Synthesis.v
-src/Specific/solinas32_2e383m31_16limbs/feadd.v
-src/Specific/solinas32_2e383m31_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e383m31_16limbs/fecarry.v
-src/Specific/solinas32_2e383m31_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e383m31_16limbs/femul.v
-src/Specific/solinas32_2e383m31_16limbs/femulDisplay.v
-src/Specific/solinas32_2e383m31_16limbs/fesquare.v
-src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e383m31_16limbs/fesub.v
-src/Specific/solinas32_2e383m31_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e383m31_16limbs/freeze.v
-src/Specific/solinas32_2e383m31_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e383m421_17limbs/CurveParameters.v
-src/Specific/solinas32_2e383m421_17limbs/Synthesis.v
-src/Specific/solinas32_2e383m421_17limbs/feadd.v
-src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e383m421_17limbs/fecarry.v
-src/Specific/solinas32_2e383m421_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e383m421_17limbs/femul.v
-src/Specific/solinas32_2e383m421_17limbs/femulDisplay.v
-src/Specific/solinas32_2e383m421_17limbs/fesquare.v
-src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e383m421_17limbs/fesub.v
-src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e383m421_17limbs/freeze.v
-src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e383m421_18limbs/CurveParameters.v
-src/Specific/solinas32_2e383m421_18limbs/Synthesis.v
-src/Specific/solinas32_2e383m421_18limbs/feadd.v
-src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e383m421_18limbs/fecarry.v
-src/Specific/solinas32_2e383m421_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e383m421_18limbs/femul.v
-src/Specific/solinas32_2e383m421_18limbs/femulDisplay.v
-src/Specific/solinas32_2e383m421_18limbs/fesquare.v
-src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e383m421_18limbs/fesub.v
-src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e383m421_18limbs/freeze.v
-src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/CurveParameters.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/Synthesis.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarry.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femul.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femulDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquare.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesub.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/CurveParameters.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/Synthesis.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarry.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarryDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femul.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femulDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquare.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquareDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesub.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesubDisplay.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.v
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.v
-src/Specific/solinas32_2e384m317_17limbs/CurveParameters.v
-src/Specific/solinas32_2e384m317_17limbs/Synthesis.v
-src/Specific/solinas32_2e384m317_17limbs/feadd.v
-src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e384m317_17limbs/fecarry.v
-src/Specific/solinas32_2e384m317_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e384m317_17limbs/femul.v
-src/Specific/solinas32_2e384m317_17limbs/femulDisplay.v
-src/Specific/solinas32_2e384m317_17limbs/fesquare.v
-src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e384m317_17limbs/fesub.v
-src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e384m317_17limbs/freeze.v
-src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e384m317_18limbs/CurveParameters.v
-src/Specific/solinas32_2e384m317_18limbs/Synthesis.v
-src/Specific/solinas32_2e384m317_18limbs/feadd.v
-src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e384m317_18limbs/fecarry.v
-src/Specific/solinas32_2e384m317_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e384m317_18limbs/femul.v
-src/Specific/solinas32_2e384m317_18limbs/femulDisplay.v
-src/Specific/solinas32_2e384m317_18limbs/fesquare.v
-src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e384m317_18limbs/fesub.v
-src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e384m317_18limbs/freeze.v
-src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e389m21_15limbs/CurveParameters.v
-src/Specific/solinas32_2e389m21_15limbs/Synthesis.v
-src/Specific/solinas32_2e389m21_15limbs/feadd.v
-src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.v
-src/Specific/solinas32_2e389m21_15limbs/fecarry.v
-src/Specific/solinas32_2e389m21_15limbs/fecarryDisplay.v
-src/Specific/solinas32_2e389m21_15limbs/femul.v
-src/Specific/solinas32_2e389m21_15limbs/femulDisplay.v
-src/Specific/solinas32_2e389m21_15limbs/fesquare.v
-src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.v
-src/Specific/solinas32_2e389m21_15limbs/fesub.v
-src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.v
-src/Specific/solinas32_2e389m21_15limbs/freeze.v
-src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.v
-src/Specific/solinas32_2e389m21_16limbs/CurveParameters.v
-src/Specific/solinas32_2e389m21_16limbs/Synthesis.v
-src/Specific/solinas32_2e389m21_16limbs/feadd.v
-src/Specific/solinas32_2e389m21_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e389m21_16limbs/fecarry.v
-src/Specific/solinas32_2e389m21_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e389m21_16limbs/femul.v
-src/Specific/solinas32_2e389m21_16limbs/femulDisplay.v
-src/Specific/solinas32_2e389m21_16limbs/fesquare.v
-src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e389m21_16limbs/fesub.v
-src/Specific/solinas32_2e389m21_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e389m21_16limbs/freeze.v
-src/Specific/solinas32_2e389m21_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e401m31_16limbs/CurveParameters.v
-src/Specific/solinas32_2e401m31_16limbs/Synthesis.v
-src/Specific/solinas32_2e401m31_16limbs/feadd.v
-src/Specific/solinas32_2e401m31_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e401m31_16limbs/fecarry.v
-src/Specific/solinas32_2e401m31_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e401m31_16limbs/femul.v
-src/Specific/solinas32_2e401m31_16limbs/femulDisplay.v
-src/Specific/solinas32_2e401m31_16limbs/fesquare.v
-src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e401m31_16limbs/fesub.v
-src/Specific/solinas32_2e401m31_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e401m31_16limbs/freeze.v
-src/Specific/solinas32_2e401m31_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e401m31_17limbs/CurveParameters.v
-src/Specific/solinas32_2e401m31_17limbs/Synthesis.v
-src/Specific/solinas32_2e401m31_17limbs/feadd.v
-src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e401m31_17limbs/fecarry.v
-src/Specific/solinas32_2e401m31_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e401m31_17limbs/femul.v
-src/Specific/solinas32_2e401m31_17limbs/femulDisplay.v
-src/Specific/solinas32_2e401m31_17limbs/fesquare.v
-src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e401m31_17limbs/fesub.v
-src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e401m31_17limbs/freeze.v
-src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e413m21_16limbs/CurveParameters.v
-src/Specific/solinas32_2e413m21_16limbs/Synthesis.v
-src/Specific/solinas32_2e413m21_16limbs/feadd.v
-src/Specific/solinas32_2e413m21_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e413m21_16limbs/fecarry.v
-src/Specific/solinas32_2e413m21_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e413m21_16limbs/femul.v
-src/Specific/solinas32_2e413m21_16limbs/femulDisplay.v
-src/Specific/solinas32_2e413m21_16limbs/fesquare.v
-src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e413m21_16limbs/fesub.v
-src/Specific/solinas32_2e413m21_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e413m21_16limbs/freeze.v
-src/Specific/solinas32_2e413m21_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e413m21_17limbs/CurveParameters.v
-src/Specific/solinas32_2e413m21_17limbs/Synthesis.v
-src/Specific/solinas32_2e413m21_17limbs/feadd.v
-src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e413m21_17limbs/fecarry.v
-src/Specific/solinas32_2e413m21_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e413m21_17limbs/femul.v
-src/Specific/solinas32_2e413m21_17limbs/femulDisplay.v
-src/Specific/solinas32_2e413m21_17limbs/fesquare.v
-src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e413m21_17limbs/fesub.v
-src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e413m21_17limbs/freeze.v
-src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e414m17_16limbs/CurveParameters.v
-src/Specific/solinas32_2e414m17_16limbs/Synthesis.v
-src/Specific/solinas32_2e414m17_16limbs/feadd.v
-src/Specific/solinas32_2e414m17_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e414m17_16limbs/fecarry.v
-src/Specific/solinas32_2e414m17_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e414m17_16limbs/femul.v
-src/Specific/solinas32_2e414m17_16limbs/femulDisplay.v
-src/Specific/solinas32_2e414m17_16limbs/fesquare.v
-src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e414m17_16limbs/fesub.v
-src/Specific/solinas32_2e414m17_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e414m17_16limbs/freeze.v
-src/Specific/solinas32_2e414m17_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e414m17_17limbs/CurveParameters.v
-src/Specific/solinas32_2e414m17_17limbs/Synthesis.v
-src/Specific/solinas32_2e414m17_17limbs/feadd.v
-src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e414m17_17limbs/fecarry.v
-src/Specific/solinas32_2e414m17_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e414m17_17limbs/femul.v
-src/Specific/solinas32_2e414m17_17limbs/femulDisplay.v
-src/Specific/solinas32_2e414m17_17limbs/fesquare.v
-src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e414m17_17limbs/fesub.v
-src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e414m17_17limbs/freeze.v
-src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/CurveParameters.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/Synthesis.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/fecarry.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/femul.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/femulDisplay.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.v
-src/Specific/solinas32_2e416m2e208m1_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/CurveParameters.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/Synthesis.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/fecarry.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/femul.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.v
-src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e444m17_17limbs/CurveParameters.v
-src/Specific/solinas32_2e444m17_17limbs/Synthesis.v
-src/Specific/solinas32_2e444m17_17limbs/feadd.v
-src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e444m17_17limbs/fecarry.v
-src/Specific/solinas32_2e444m17_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e444m17_17limbs/femul.v
-src/Specific/solinas32_2e444m17_17limbs/femulDisplay.v
-src/Specific/solinas32_2e444m17_17limbs/fesquare.v
-src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e444m17_17limbs/fesub.v
-src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e444m17_17limbs/freeze.v
-src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e444m17_18limbs/CurveParameters.v
-src/Specific/solinas32_2e444m17_18limbs/Synthesis.v
-src/Specific/solinas32_2e444m17_18limbs/feadd.v
-src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e444m17_18limbs/fecarry.v
-src/Specific/solinas32_2e444m17_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e444m17_18limbs/femul.v
-src/Specific/solinas32_2e444m17_18limbs/femulDisplay.v
-src/Specific/solinas32_2e444m17_18limbs/fesquare.v
-src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e444m17_18limbs/fesub.v
-src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e444m17_18limbs/freeze.v
-src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/CurveParameters.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/Synthesis.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/feadd.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/feaddDisplay.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/fecarry.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/fecarryDisplay.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/femul.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/femulDisplay.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/fesquare.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/fesquareDisplay.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/fesub.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/fesubDisplay.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/freeze.v
-src/Specific/solinas32_2e448m2e224m1_16limbs/freezeDisplay.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/CurveParameters.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/Synthesis.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/fecarry.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/femul.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.v
-src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/CurveParameters.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/Synthesis.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/fecarry.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/femul.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/femulDisplay.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.v
-src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/CurveParameters.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/Synthesis.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/fecarry.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/fecarryDisplay.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/femul.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/femulDisplay.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/fesquare.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/fesquareDisplay.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.v
-src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.v
-src/Specific/solinas32_2e452m3_17limbs/CurveParameters.v
-src/Specific/solinas32_2e452m3_17limbs/Synthesis.v
-src/Specific/solinas32_2e452m3_17limbs/feadd.v
-src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.v
-src/Specific/solinas32_2e452m3_17limbs/fecarry.v
-src/Specific/solinas32_2e452m3_17limbs/fecarryDisplay.v
-src/Specific/solinas32_2e452m3_17limbs/femul.v
-src/Specific/solinas32_2e452m3_17limbs/femulDisplay.v
-src/Specific/solinas32_2e452m3_17limbs/fesquare.v
-src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.v
-src/Specific/solinas32_2e452m3_17limbs/fesub.v
-src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.v
-src/Specific/solinas32_2e452m3_17limbs/freeze.v
-src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.v
-src/Specific/solinas32_2e452m3_18limbs/CurveParameters.v
-src/Specific/solinas32_2e452m3_18limbs/Synthesis.v
-src/Specific/solinas32_2e452m3_18limbs/feadd.v
-src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e452m3_18limbs/fecarry.v
-src/Specific/solinas32_2e452m3_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e452m3_18limbs/femul.v
-src/Specific/solinas32_2e452m3_18limbs/femulDisplay.v
-src/Specific/solinas32_2e452m3_18limbs/fesquare.v
-src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e452m3_18limbs/fesub.v
-src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e452m3_18limbs/freeze.v
-src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e468m17_18limbs/CurveParameters.v
-src/Specific/solinas32_2e468m17_18limbs/Synthesis.v
-src/Specific/solinas32_2e468m17_18limbs/feadd.v
-src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e468m17_18limbs/fecarry.v
-src/Specific/solinas32_2e468m17_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e468m17_18limbs/femul.v
-src/Specific/solinas32_2e468m17_18limbs/femulDisplay.v
-src/Specific/solinas32_2e468m17_18limbs/fesquare.v
-src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e468m17_18limbs/fesub.v
-src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e468m17_18limbs/freeze.v
-src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e468m17_19limbs/CurveParameters.v
-src/Specific/solinas32_2e468m17_19limbs/Synthesis.v
-src/Specific/solinas32_2e468m17_19limbs/feadd.v
-src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.v
-src/Specific/solinas32_2e468m17_19limbs/fecarry.v
-src/Specific/solinas32_2e468m17_19limbs/fecarryDisplay.v
-src/Specific/solinas32_2e468m17_19limbs/femul.v
-src/Specific/solinas32_2e468m17_19limbs/femulDisplay.v
-src/Specific/solinas32_2e468m17_19limbs/fesquare.v
-src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.v
-src/Specific/solinas32_2e468m17_19limbs/fesub.v
-src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.v
-src/Specific/solinas32_2e468m17_19limbs/freeze.v
-src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/CurveParameters.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/Synthesis.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/fecarry.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/fecarryDisplay.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/femul.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.v
-src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/CurveParameters.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/Synthesis.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/fecarry.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/fecarryDisplay.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/femul.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/femulDisplay.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.v
-src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.v
-src/Specific/solinas32_2e488m17_19limbs/CurveParameters.v
-src/Specific/solinas32_2e488m17_19limbs/Synthesis.v
-src/Specific/solinas32_2e488m17_19limbs/feadd.v
-src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.v
-src/Specific/solinas32_2e488m17_19limbs/fecarry.v
-src/Specific/solinas32_2e488m17_19limbs/fecarryDisplay.v
-src/Specific/solinas32_2e488m17_19limbs/femul.v
-src/Specific/solinas32_2e488m17_19limbs/femulDisplay.v
-src/Specific/solinas32_2e488m17_19limbs/fesquare.v
-src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.v
-src/Specific/solinas32_2e488m17_19limbs/fesub.v
-src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.v
-src/Specific/solinas32_2e488m17_19limbs/freeze.v
-src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.v
-src/Specific/solinas32_2e488m17_20limbs/CurveParameters.v
-src/Specific/solinas32_2e488m17_20limbs/Synthesis.v
-src/Specific/solinas32_2e488m17_20limbs/feadd.v
-src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.v
-src/Specific/solinas32_2e488m17_20limbs/fecarry.v
-src/Specific/solinas32_2e488m17_20limbs/fecarryDisplay.v
-src/Specific/solinas32_2e488m17_20limbs/femul.v
-src/Specific/solinas32_2e488m17_20limbs/femulDisplay.v
-src/Specific/solinas32_2e488m17_20limbs/fesquare.v
-src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.v
-src/Specific/solinas32_2e488m17_20limbs/fesub.v
-src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.v
-src/Specific/solinas32_2e488m17_20limbs/freeze.v
-src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.v
-src/Specific/solinas32_2e489m21_19limbs/CurveParameters.v
-src/Specific/solinas32_2e489m21_19limbs/Synthesis.v
-src/Specific/solinas32_2e489m21_19limbs/feadd.v
-src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.v
-src/Specific/solinas32_2e489m21_19limbs/fecarry.v
-src/Specific/solinas32_2e489m21_19limbs/fecarryDisplay.v
-src/Specific/solinas32_2e489m21_19limbs/femul.v
-src/Specific/solinas32_2e489m21_19limbs/femulDisplay.v
-src/Specific/solinas32_2e489m21_19limbs/fesquare.v
-src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.v
-src/Specific/solinas32_2e489m21_19limbs/fesub.v
-src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.v
-src/Specific/solinas32_2e489m21_19limbs/freeze.v
-src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.v
-src/Specific/solinas32_2e489m21_20limbs/CurveParameters.v
-src/Specific/solinas32_2e489m21_20limbs/Synthesis.v
-src/Specific/solinas32_2e489m21_20limbs/feadd.v
-src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.v
-src/Specific/solinas32_2e489m21_20limbs/fecarry.v
-src/Specific/solinas32_2e489m21_20limbs/fecarryDisplay.v
-src/Specific/solinas32_2e489m21_20limbs/femul.v
-src/Specific/solinas32_2e489m21_20limbs/femulDisplay.v
-src/Specific/solinas32_2e489m21_20limbs/fesquare.v
-src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.v
-src/Specific/solinas32_2e489m21_20limbs/fesub.v
-src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.v
-src/Specific/solinas32_2e489m21_20limbs/freeze.v
-src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.v
-src/Specific/solinas32_2e495m31_20limbs/CurveParameters.v
-src/Specific/solinas32_2e495m31_20limbs/Synthesis.v
-src/Specific/solinas32_2e495m31_20limbs/feadd.v
-src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.v
-src/Specific/solinas32_2e495m31_20limbs/fecarry.v
-src/Specific/solinas32_2e495m31_20limbs/fecarryDisplay.v
-src/Specific/solinas32_2e495m31_20limbs/femul.v
-src/Specific/solinas32_2e495m31_20limbs/femulDisplay.v
-src/Specific/solinas32_2e495m31_20limbs/fesquare.v
-src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.v
-src/Specific/solinas32_2e495m31_20limbs/fesub.v
-src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.v
-src/Specific/solinas32_2e495m31_20limbs/freeze.v
-src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.v
-src/Specific/solinas32_2e495m31_21limbs/CurveParameters.v
-src/Specific/solinas32_2e495m31_21limbs/Synthesis.v
-src/Specific/solinas32_2e495m31_21limbs/feadd.v
-src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.v
-src/Specific/solinas32_2e495m31_21limbs/fecarry.v
-src/Specific/solinas32_2e495m31_21limbs/fecarryDisplay.v
-src/Specific/solinas32_2e495m31_21limbs/femul.v
-src/Specific/solinas32_2e495m31_21limbs/femulDisplay.v
-src/Specific/solinas32_2e495m31_21limbs/fesquare.v
-src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.v
-src/Specific/solinas32_2e495m31_21limbs/fesub.v
-src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.v
-src/Specific/solinas32_2e495m31_21limbs/freeze.v
-src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.v
-src/Specific/solinas32_2e511m187_22limbs/CurveParameters.v
-src/Specific/solinas32_2e511m187_22limbs/Synthesis.v
-src/Specific/solinas32_2e511m187_22limbs/feadd.v
-src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.v
-src/Specific/solinas32_2e511m187_22limbs/fecarry.v
-src/Specific/solinas32_2e511m187_22limbs/fecarryDisplay.v
-src/Specific/solinas32_2e511m187_22limbs/femul.v
-src/Specific/solinas32_2e511m187_22limbs/femulDisplay.v
-src/Specific/solinas32_2e511m187_22limbs/fesquare.v
-src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.v
-src/Specific/solinas32_2e511m187_22limbs/fesub.v
-src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.v
-src/Specific/solinas32_2e511m187_22limbs/freeze.v
-src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.v
-src/Specific/solinas32_2e511m187_23limbs/CurveParameters.v
-src/Specific/solinas32_2e511m187_23limbs/Synthesis.v
-src/Specific/solinas32_2e511m187_23limbs/feadd.v
-src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.v
-src/Specific/solinas32_2e511m187_23limbs/fecarry.v
-src/Specific/solinas32_2e511m187_23limbs/fecarryDisplay.v
-src/Specific/solinas32_2e511m187_23limbs/femul.v
-src/Specific/solinas32_2e511m187_23limbs/femulDisplay.v
-src/Specific/solinas32_2e511m187_23limbs/fesquare.v
-src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.v
-src/Specific/solinas32_2e511m187_23limbs/fesub.v
-src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.v
-src/Specific/solinas32_2e511m187_23limbs/freeze.v
-src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.v
-src/Specific/solinas32_2e511m481_23limbs/CurveParameters.v
-src/Specific/solinas32_2e511m481_23limbs/Synthesis.v
-src/Specific/solinas32_2e511m481_23limbs/feadd.v
-src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.v
-src/Specific/solinas32_2e511m481_23limbs/fecarry.v
-src/Specific/solinas32_2e511m481_23limbs/fecarryDisplay.v
-src/Specific/solinas32_2e511m481_23limbs/femul.v
-src/Specific/solinas32_2e511m481_23limbs/femulDisplay.v
-src/Specific/solinas32_2e511m481_23limbs/fesquare.v
-src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.v
-src/Specific/solinas32_2e511m481_23limbs/fesub.v
-src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.v
-src/Specific/solinas32_2e511m481_23limbs/freeze.v
-src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.v
-src/Specific/solinas32_2e511m481_24limbs/CurveParameters.v
-src/Specific/solinas32_2e511m481_24limbs/Synthesis.v
-src/Specific/solinas32_2e511m481_24limbs/feadd.v
-src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.v
-src/Specific/solinas32_2e511m481_24limbs/fecarry.v
-src/Specific/solinas32_2e511m481_24limbs/fecarryDisplay.v
-src/Specific/solinas32_2e511m481_24limbs/femul.v
-src/Specific/solinas32_2e511m481_24limbs/femulDisplay.v
-src/Specific/solinas32_2e511m481_24limbs/fesquare.v
-src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.v
-src/Specific/solinas32_2e511m481_24limbs/fesub.v
-src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.v
-src/Specific/solinas32_2e511m481_24limbs/freeze.v
-src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.v
-src/Specific/solinas32_2e512m569_24limbs/CurveParameters.v
-src/Specific/solinas32_2e512m569_24limbs/Synthesis.v
-src/Specific/solinas32_2e512m569_24limbs/feadd.v
-src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.v
-src/Specific/solinas32_2e512m569_24limbs/fecarry.v
-src/Specific/solinas32_2e512m569_24limbs/fecarryDisplay.v
-src/Specific/solinas32_2e512m569_24limbs/femul.v
-src/Specific/solinas32_2e512m569_24limbs/femulDisplay.v
-src/Specific/solinas32_2e512m569_24limbs/fesquare.v
-src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.v
-src/Specific/solinas32_2e512m569_24limbs/fesub.v
-src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.v
-src/Specific/solinas32_2e512m569_24limbs/freeze.v
-src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.v
-src/Specific/solinas32_2e512m569_25limbs/CurveParameters.v
-src/Specific/solinas32_2e512m569_25limbs/Synthesis.v
-src/Specific/solinas32_2e512m569_25limbs/feadd.v
-src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.v
-src/Specific/solinas32_2e512m569_25limbs/fecarry.v
-src/Specific/solinas32_2e512m569_25limbs/fecarryDisplay.v
-src/Specific/solinas32_2e512m569_25limbs/femul.v
-src/Specific/solinas32_2e512m569_25limbs/femulDisplay.v
-src/Specific/solinas32_2e512m569_25limbs/fesquare.v
-src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.v
-src/Specific/solinas32_2e512m569_25limbs/fesub.v
-src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.v
-src/Specific/solinas32_2e512m569_25limbs/freeze.v
-src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.v
-src/Specific/solinas32_2e521m1_19limbs/CurveParameters.v
-src/Specific/solinas32_2e521m1_19limbs/Synthesis.v
-src/Specific/solinas32_2e521m1_19limbs/feadd.v
-src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.v
-src/Specific/solinas32_2e521m1_19limbs/fecarry.v
-src/Specific/solinas32_2e521m1_19limbs/fecarryDisplay.v
-src/Specific/solinas32_2e521m1_19limbs/femul.v
-src/Specific/solinas32_2e521m1_19limbs/femulDisplay.v
-src/Specific/solinas32_2e521m1_19limbs/fesquare.v
-src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.v
-src/Specific/solinas32_2e521m1_19limbs/fesub.v
-src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.v
-src/Specific/solinas32_2e521m1_19limbs/freeze.v
-src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.v
-src/Specific/solinas32_2e521m1_20limbs/CurveParameters.v
-src/Specific/solinas32_2e521m1_20limbs/Synthesis.v
-src/Specific/solinas32_2e521m1_20limbs/feadd.v
-src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.v
-src/Specific/solinas32_2e521m1_20limbs/fecarry.v
-src/Specific/solinas32_2e521m1_20limbs/fecarryDisplay.v
-src/Specific/solinas32_2e521m1_20limbs/femul.v
-src/Specific/solinas32_2e521m1_20limbs/femulDisplay.v
-src/Specific/solinas32_2e521m1_20limbs/fesquare.v
-src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.v
-src/Specific/solinas32_2e521m1_20limbs/fesub.v
-src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.v
-src/Specific/solinas32_2e521m1_20limbs/freeze.v
-src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.v
-src/Specific/solinas64_2e127m1_3limbs/CurveParameters.v
-src/Specific/solinas64_2e127m1_3limbs/Synthesis.v
-src/Specific/solinas64_2e127m1_3limbs/feadd.v
-src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e127m1_3limbs/fecarry.v
-src/Specific/solinas64_2e127m1_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e127m1_3limbs/femul.v
-src/Specific/solinas64_2e127m1_3limbs/femulDisplay.v
-src/Specific/solinas64_2e127m1_3limbs/fesquare.v
-src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e127m1_3limbs/fesub.v
-src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e127m1_3limbs/freeze.v
-src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e129m25_3limbs/CurveParameters.v
-src/Specific/solinas64_2e129m25_3limbs/Synthesis.v
-src/Specific/solinas64_2e129m25_3limbs/feadd.v
-src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e129m25_3limbs/fecarry.v
-src/Specific/solinas64_2e129m25_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e129m25_3limbs/femul.v
-src/Specific/solinas64_2e129m25_3limbs/femulDisplay.v
-src/Specific/solinas64_2e129m25_3limbs/fesquare.v
-src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e129m25_3limbs/fesub.v
-src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e129m25_3limbs/freeze.v
-src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e129m25_4limbs/CurveParameters.v
-src/Specific/solinas64_2e129m25_4limbs/Synthesis.v
-src/Specific/solinas64_2e129m25_4limbs/feadd.v
-src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e129m25_4limbs/fecarry.v
-src/Specific/solinas64_2e129m25_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e129m25_4limbs/femul.v
-src/Specific/solinas64_2e129m25_4limbs/femulDisplay.v
-src/Specific/solinas64_2e129m25_4limbs/fesquare.v
-src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e129m25_4limbs/fesub.v
-src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e129m25_4limbs/freeze.v
-src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e130m5_3limbs/CurveParameters.v
-src/Specific/solinas64_2e130m5_3limbs/Synthesis.v
-src/Specific/solinas64_2e130m5_3limbs/feadd.v
-src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e130m5_3limbs/fecarry.v
-src/Specific/solinas64_2e130m5_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e130m5_3limbs/femul.v
-src/Specific/solinas64_2e130m5_3limbs/femulDisplay.v
-src/Specific/solinas64_2e130m5_3limbs/fesquare.v
-src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e130m5_3limbs/fesub.v
-src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e130m5_3limbs/freeze.v
-src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e130m5_4limbs/CurveParameters.v
-src/Specific/solinas64_2e130m5_4limbs/Synthesis.v
-src/Specific/solinas64_2e130m5_4limbs/feadd.v
-src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e130m5_4limbs/fecarry.v
-src/Specific/solinas64_2e130m5_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e130m5_4limbs/femul.v
-src/Specific/solinas64_2e130m5_4limbs/femulDisplay.v
-src/Specific/solinas64_2e130m5_4limbs/fesquare.v
-src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e130m5_4limbs/fesub.v
-src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e130m5_4limbs/freeze.v
-src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e137m13_3limbs/CurveParameters.v
-src/Specific/solinas64_2e137m13_3limbs/Synthesis.v
-src/Specific/solinas64_2e137m13_3limbs/feadd.v
-src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e137m13_3limbs/fecarry.v
-src/Specific/solinas64_2e137m13_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e137m13_3limbs/femul.v
-src/Specific/solinas64_2e137m13_3limbs/femulDisplay.v
-src/Specific/solinas64_2e137m13_3limbs/fesquare.v
-src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e137m13_3limbs/fesub.v
-src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e137m13_3limbs/freeze.v
-src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e137m13_4limbs/CurveParameters.v
-src/Specific/solinas64_2e137m13_4limbs/Synthesis.v
-src/Specific/solinas64_2e137m13_4limbs/feadd.v
-src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e137m13_4limbs/fecarry.v
-src/Specific/solinas64_2e137m13_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e137m13_4limbs/femul.v
-src/Specific/solinas64_2e137m13_4limbs/femulDisplay.v
-src/Specific/solinas64_2e137m13_4limbs/fesquare.v
-src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e137m13_4limbs/fesub.v
-src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e137m13_4limbs/freeze.v
-src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e140m27_3limbs/CurveParameters.v
-src/Specific/solinas64_2e140m27_3limbs/Synthesis.v
-src/Specific/solinas64_2e140m27_3limbs/feadd.v
-src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e140m27_3limbs/fecarry.v
-src/Specific/solinas64_2e140m27_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e140m27_3limbs/femul.v
-src/Specific/solinas64_2e140m27_3limbs/femulDisplay.v
-src/Specific/solinas64_2e140m27_3limbs/fesquare.v
-src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e140m27_3limbs/fesub.v
-src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e140m27_3limbs/freeze.v
-src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e140m27_4limbs/CurveParameters.v
-src/Specific/solinas64_2e140m27_4limbs/Synthesis.v
-src/Specific/solinas64_2e140m27_4limbs/feadd.v
-src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e140m27_4limbs/fecarry.v
-src/Specific/solinas64_2e140m27_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e140m27_4limbs/femul.v
-src/Specific/solinas64_2e140m27_4limbs/femulDisplay.v
-src/Specific/solinas64_2e140m27_4limbs/fesquare.v
-src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e140m27_4limbs/fesub.v
-src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e140m27_4limbs/freeze.v
-src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e141m9_3limbs/CurveParameters.v
-src/Specific/solinas64_2e141m9_3limbs/Synthesis.v
-src/Specific/solinas64_2e141m9_3limbs/feadd.v
-src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e141m9_3limbs/fecarry.v
-src/Specific/solinas64_2e141m9_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e141m9_3limbs/femul.v
-src/Specific/solinas64_2e141m9_3limbs/femulDisplay.v
-src/Specific/solinas64_2e141m9_3limbs/fesquare.v
-src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e141m9_3limbs/fesub.v
-src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e141m9_3limbs/freeze.v
-src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e141m9_4limbs/CurveParameters.v
-src/Specific/solinas64_2e141m9_4limbs/Synthesis.v
-src/Specific/solinas64_2e141m9_4limbs/feadd.v
-src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e141m9_4limbs/fecarry.v
-src/Specific/solinas64_2e141m9_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e141m9_4limbs/femul.v
-src/Specific/solinas64_2e141m9_4limbs/femulDisplay.v
-src/Specific/solinas64_2e141m9_4limbs/fesquare.v
-src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e141m9_4limbs/fesub.v
-src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e141m9_4limbs/freeze.v
-src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e150m3_3limbs/CurveParameters.v
-src/Specific/solinas64_2e150m3_3limbs/Synthesis.v
-src/Specific/solinas64_2e150m3_3limbs/feadd.v
-src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e150m3_3limbs/fecarry.v
-src/Specific/solinas64_2e150m3_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e150m3_3limbs/femul.v
-src/Specific/solinas64_2e150m3_3limbs/femulDisplay.v
-src/Specific/solinas64_2e150m3_3limbs/fesquare.v
-src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e150m3_3limbs/fesub.v
-src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e150m3_3limbs/freeze.v
-src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e150m3_4limbs/CurveParameters.v
-src/Specific/solinas64_2e150m3_4limbs/Synthesis.v
-src/Specific/solinas64_2e150m3_4limbs/feadd.v
-src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e150m3_4limbs/fecarry.v
-src/Specific/solinas64_2e150m3_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e150m3_4limbs/femul.v
-src/Specific/solinas64_2e150m3_4limbs/femulDisplay.v
-src/Specific/solinas64_2e150m3_4limbs/fesquare.v
-src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e150m3_4limbs/fesub.v
-src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e150m3_4limbs/freeze.v
-src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e150m5_3limbs/CurveParameters.v
-src/Specific/solinas64_2e150m5_3limbs/Synthesis.v
-src/Specific/solinas64_2e150m5_3limbs/feadd.v
-src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e150m5_3limbs/fecarry.v
-src/Specific/solinas64_2e150m5_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e150m5_3limbs/femul.v
-src/Specific/solinas64_2e150m5_3limbs/femulDisplay.v
-src/Specific/solinas64_2e150m5_3limbs/fesquare.v
-src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e150m5_3limbs/fesub.v
-src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e150m5_3limbs/freeze.v
-src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e150m5_4limbs/CurveParameters.v
-src/Specific/solinas64_2e150m5_4limbs/Synthesis.v
-src/Specific/solinas64_2e150m5_4limbs/feadd.v
-src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e150m5_4limbs/fecarry.v
-src/Specific/solinas64_2e150m5_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e150m5_4limbs/femul.v
-src/Specific/solinas64_2e150m5_4limbs/femulDisplay.v
-src/Specific/solinas64_2e150m5_4limbs/fesquare.v
-src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e150m5_4limbs/fesub.v
-src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e150m5_4limbs/freeze.v
-src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e152m17_3limbs/CurveParameters.v
-src/Specific/solinas64_2e152m17_3limbs/Synthesis.v
-src/Specific/solinas64_2e152m17_3limbs/feadd.v
-src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e152m17_3limbs/fecarry.v
-src/Specific/solinas64_2e152m17_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e152m17_3limbs/femul.v
-src/Specific/solinas64_2e152m17_3limbs/femulDisplay.v
-src/Specific/solinas64_2e152m17_3limbs/fesquare.v
-src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e152m17_3limbs/fesub.v
-src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e152m17_3limbs/freeze.v
-src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e152m17_4limbs/CurveParameters.v
-src/Specific/solinas64_2e152m17_4limbs/Synthesis.v
-src/Specific/solinas64_2e152m17_4limbs/feadd.v
-src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e152m17_4limbs/fecarry.v
-src/Specific/solinas64_2e152m17_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e152m17_4limbs/femul.v
-src/Specific/solinas64_2e152m17_4limbs/femulDisplay.v
-src/Specific/solinas64_2e152m17_4limbs/fesquare.v
-src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e152m17_4limbs/fesub.v
-src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e152m17_4limbs/freeze.v
-src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e158m15_3limbs/CurveParameters.v
-src/Specific/solinas64_2e158m15_3limbs/Synthesis.v
-src/Specific/solinas64_2e158m15_3limbs/feadd.v
-src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e158m15_3limbs/fecarry.v
-src/Specific/solinas64_2e158m15_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e158m15_3limbs/femul.v
-src/Specific/solinas64_2e158m15_3limbs/femulDisplay.v
-src/Specific/solinas64_2e158m15_3limbs/fesquare.v
-src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e158m15_3limbs/fesub.v
-src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e158m15_3limbs/freeze.v
-src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e158m15_4limbs/CurveParameters.v
-src/Specific/solinas64_2e158m15_4limbs/Synthesis.v
-src/Specific/solinas64_2e158m15_4limbs/feadd.v
-src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e158m15_4limbs/fecarry.v
-src/Specific/solinas64_2e158m15_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e158m15_4limbs/femul.v
-src/Specific/solinas64_2e158m15_4limbs/femulDisplay.v
-src/Specific/solinas64_2e158m15_4limbs/fesquare.v
-src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e158m15_4limbs/fesub.v
-src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e158m15_4limbs/freeze.v
-src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e165m25_3limbs/CurveParameters.v
-src/Specific/solinas64_2e165m25_3limbs/Synthesis.v
-src/Specific/solinas64_2e165m25_3limbs/feadd.v
-src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e165m25_3limbs/fecarry.v
-src/Specific/solinas64_2e165m25_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e165m25_3limbs/femul.v
-src/Specific/solinas64_2e165m25_3limbs/femulDisplay.v
-src/Specific/solinas64_2e165m25_3limbs/fesquare.v
-src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e165m25_3limbs/fesub.v
-src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e165m25_3limbs/freeze.v
-src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e165m25_4limbs/CurveParameters.v
-src/Specific/solinas64_2e165m25_4limbs/Synthesis.v
-src/Specific/solinas64_2e165m25_4limbs/feadd.v
-src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e165m25_4limbs/fecarry.v
-src/Specific/solinas64_2e165m25_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e165m25_4limbs/femul.v
-src/Specific/solinas64_2e165m25_4limbs/femulDisplay.v
-src/Specific/solinas64_2e165m25_4limbs/fesquare.v
-src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e165m25_4limbs/fesub.v
-src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e165m25_4limbs/freeze.v
-src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e166m5_3limbs/CurveParameters.v
-src/Specific/solinas64_2e166m5_3limbs/Synthesis.v
-src/Specific/solinas64_2e166m5_3limbs/feadd.v
-src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e166m5_3limbs/fecarry.v
-src/Specific/solinas64_2e166m5_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e166m5_3limbs/femul.v
-src/Specific/solinas64_2e166m5_3limbs/femulDisplay.v
-src/Specific/solinas64_2e166m5_3limbs/fesquare.v
-src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e166m5_3limbs/fesub.v
-src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e166m5_3limbs/freeze.v
-src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e166m5_4limbs/CurveParameters.v
-src/Specific/solinas64_2e166m5_4limbs/Synthesis.v
-src/Specific/solinas64_2e166m5_4limbs/feadd.v
-src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e166m5_4limbs/fecarry.v
-src/Specific/solinas64_2e166m5_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e166m5_4limbs/femul.v
-src/Specific/solinas64_2e166m5_4limbs/femulDisplay.v
-src/Specific/solinas64_2e166m5_4limbs/fesquare.v
-src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e166m5_4limbs/fesub.v
-src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e166m5_4limbs/freeze.v
-src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e171m19_3limbs/CurveParameters.v
-src/Specific/solinas64_2e171m19_3limbs/Synthesis.v
-src/Specific/solinas64_2e171m19_3limbs/feadd.v
-src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e171m19_3limbs/fecarry.v
-src/Specific/solinas64_2e171m19_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e171m19_3limbs/femul.v
-src/Specific/solinas64_2e171m19_3limbs/femulDisplay.v
-src/Specific/solinas64_2e171m19_3limbs/fesquare.v
-src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e171m19_3limbs/fesub.v
-src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e171m19_3limbs/freeze.v
-src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e171m19_4limbs/CurveParameters.v
-src/Specific/solinas64_2e171m19_4limbs/Synthesis.v
-src/Specific/solinas64_2e171m19_4limbs/feadd.v
-src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e171m19_4limbs/fecarry.v
-src/Specific/solinas64_2e171m19_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e171m19_4limbs/femul.v
-src/Specific/solinas64_2e171m19_4limbs/femulDisplay.v
-src/Specific/solinas64_2e171m19_4limbs/fesquare.v
-src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e171m19_4limbs/fesub.v
-src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e171m19_4limbs/freeze.v
-src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e174m17_3limbs/CurveParameters.v
-src/Specific/solinas64_2e174m17_3limbs/Synthesis.v
-src/Specific/solinas64_2e174m17_3limbs/feadd.v
-src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e174m17_3limbs/fecarry.v
-src/Specific/solinas64_2e174m17_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e174m17_3limbs/femul.v
-src/Specific/solinas64_2e174m17_3limbs/femulDisplay.v
-src/Specific/solinas64_2e174m17_3limbs/fesquare.v
-src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e174m17_3limbs/fesub.v
-src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e174m17_3limbs/freeze.v
-src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e174m17_4limbs/CurveParameters.v
-src/Specific/solinas64_2e174m17_4limbs/Synthesis.v
-src/Specific/solinas64_2e174m17_4limbs/feadd.v
-src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e174m17_4limbs/fecarry.v
-src/Specific/solinas64_2e174m17_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e174m17_4limbs/femul.v
-src/Specific/solinas64_2e174m17_4limbs/femulDisplay.v
-src/Specific/solinas64_2e174m17_4limbs/fesquare.v
-src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e174m17_4limbs/fesub.v
-src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e174m17_4limbs/freeze.v
-src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e174m3_3limbs/CurveParameters.v
-src/Specific/solinas64_2e174m3_3limbs/Synthesis.v
-src/Specific/solinas64_2e174m3_3limbs/feadd.v
-src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.v
-src/Specific/solinas64_2e174m3_3limbs/fecarry.v
-src/Specific/solinas64_2e174m3_3limbs/fecarryDisplay.v
-src/Specific/solinas64_2e174m3_3limbs/femul.v
-src/Specific/solinas64_2e174m3_3limbs/femulDisplay.v
-src/Specific/solinas64_2e174m3_3limbs/fesquare.v
-src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.v
-src/Specific/solinas64_2e174m3_3limbs/fesub.v
-src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.v
-src/Specific/solinas64_2e174m3_3limbs/freeze.v
-src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.v
-src/Specific/solinas64_2e174m3_4limbs/CurveParameters.v
-src/Specific/solinas64_2e174m3_4limbs/Synthesis.v
-src/Specific/solinas64_2e174m3_4limbs/feadd.v
-src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e174m3_4limbs/fecarry.v
-src/Specific/solinas64_2e174m3_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e174m3_4limbs/femul.v
-src/Specific/solinas64_2e174m3_4limbs/femulDisplay.v
-src/Specific/solinas64_2e174m3_4limbs/fesquare.v
-src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e174m3_4limbs/fesub.v
-src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e174m3_4limbs/freeze.v
-src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e189m25_4limbs/CurveParameters.v
-src/Specific/solinas64_2e189m25_4limbs/Synthesis.v
-src/Specific/solinas64_2e189m25_4limbs/feadd.v
-src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e189m25_4limbs/fecarry.v
-src/Specific/solinas64_2e189m25_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e189m25_4limbs/femul.v
-src/Specific/solinas64_2e189m25_4limbs/femulDisplay.v
-src/Specific/solinas64_2e189m25_4limbs/fesquare.v
-src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e189m25_4limbs/fesub.v
-src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e189m25_4limbs/freeze.v
-src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e189m25_5limbs/CurveParameters.v
-src/Specific/solinas64_2e189m25_5limbs/Synthesis.v
-src/Specific/solinas64_2e189m25_5limbs/feadd.v
-src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e189m25_5limbs/fecarry.v
-src/Specific/solinas64_2e189m25_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e189m25_5limbs/femul.v
-src/Specific/solinas64_2e189m25_5limbs/femulDisplay.v
-src/Specific/solinas64_2e189m25_5limbs/fesquare.v
-src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e189m25_5limbs/fesub.v
-src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e189m25_5limbs/freeze.v
-src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e190m11_4limbs/CurveParameters.v
-src/Specific/solinas64_2e190m11_4limbs/Synthesis.v
-src/Specific/solinas64_2e190m11_4limbs/feadd.v
-src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e190m11_4limbs/fecarry.v
-src/Specific/solinas64_2e190m11_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e190m11_4limbs/femul.v
-src/Specific/solinas64_2e190m11_4limbs/femulDisplay.v
-src/Specific/solinas64_2e190m11_4limbs/fesquare.v
-src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e190m11_4limbs/fesub.v
-src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e190m11_4limbs/freeze.v
-src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e190m11_5limbs/CurveParameters.v
-src/Specific/solinas64_2e190m11_5limbs/Synthesis.v
-src/Specific/solinas64_2e190m11_5limbs/feadd.v
-src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e190m11_5limbs/fecarry.v
-src/Specific/solinas64_2e190m11_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e190m11_5limbs/femul.v
-src/Specific/solinas64_2e190m11_5limbs/femulDisplay.v
-src/Specific/solinas64_2e190m11_5limbs/fesquare.v
-src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e190m11_5limbs/fesub.v
-src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e190m11_5limbs/freeze.v
-src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e191m19_4limbs/CurveParameters.v
-src/Specific/solinas64_2e191m19_4limbs/Synthesis.v
-src/Specific/solinas64_2e191m19_4limbs/feadd.v
-src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e191m19_4limbs/fecarry.v
-src/Specific/solinas64_2e191m19_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e191m19_4limbs/femul.v
-src/Specific/solinas64_2e191m19_4limbs/femulDisplay.v
-src/Specific/solinas64_2e191m19_4limbs/fesquare.v
-src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e191m19_4limbs/fesub.v
-src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e191m19_4limbs/freeze.v
-src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e191m19_5limbs/CurveParameters.v
-src/Specific/solinas64_2e191m19_5limbs/Synthesis.v
-src/Specific/solinas64_2e191m19_5limbs/feadd.v
-src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e191m19_5limbs/fecarry.v
-src/Specific/solinas64_2e191m19_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e191m19_5limbs/femul.v
-src/Specific/solinas64_2e191m19_5limbs/femulDisplay.v
-src/Specific/solinas64_2e191m19_5limbs/fesquare.v
-src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e191m19_5limbs/fesub.v
-src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e191m19_5limbs/freeze.v
-src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/CurveParameters.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/Synthesis.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/fecarry.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/femul.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.v
-src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/CurveParameters.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/Synthesis.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/fecarry.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/femul.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.v
-src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e194m33_4limbs/CurveParameters.v
-src/Specific/solinas64_2e194m33_4limbs/Synthesis.v
-src/Specific/solinas64_2e194m33_4limbs/feadd.v
-src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e194m33_4limbs/fecarry.v
-src/Specific/solinas64_2e194m33_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e194m33_4limbs/femul.v
-src/Specific/solinas64_2e194m33_4limbs/femulDisplay.v
-src/Specific/solinas64_2e194m33_4limbs/fesquare.v
-src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e194m33_4limbs/fesub.v
-src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e194m33_4limbs/freeze.v
-src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e194m33_5limbs/CurveParameters.v
-src/Specific/solinas64_2e194m33_5limbs/Synthesis.v
-src/Specific/solinas64_2e194m33_5limbs/feadd.v
-src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e194m33_5limbs/fecarry.v
-src/Specific/solinas64_2e194m33_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e194m33_5limbs/femul.v
-src/Specific/solinas64_2e194m33_5limbs/femulDisplay.v
-src/Specific/solinas64_2e194m33_5limbs/fesquare.v
-src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e194m33_5limbs/fesub.v
-src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e194m33_5limbs/freeze.v
-src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e196m15_4limbs/CurveParameters.v
-src/Specific/solinas64_2e196m15_4limbs/Synthesis.v
-src/Specific/solinas64_2e196m15_4limbs/feadd.v
-src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e196m15_4limbs/fecarry.v
-src/Specific/solinas64_2e196m15_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e196m15_4limbs/femul.v
-src/Specific/solinas64_2e196m15_4limbs/femulDisplay.v
-src/Specific/solinas64_2e196m15_4limbs/fesquare.v
-src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e196m15_4limbs/fesub.v
-src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e196m15_4limbs/freeze.v
-src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e196m15_5limbs/CurveParameters.v
-src/Specific/solinas64_2e196m15_5limbs/Synthesis.v
-src/Specific/solinas64_2e196m15_5limbs/feadd.v
-src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e196m15_5limbs/fecarry.v
-src/Specific/solinas64_2e196m15_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e196m15_5limbs/femul.v
-src/Specific/solinas64_2e196m15_5limbs/femulDisplay.v
-src/Specific/solinas64_2e196m15_5limbs/fesquare.v
-src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e196m15_5limbs/fesub.v
-src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e196m15_5limbs/freeze.v
-src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e198m17_4limbs/CurveParameters.v
-src/Specific/solinas64_2e198m17_4limbs/Synthesis.v
-src/Specific/solinas64_2e198m17_4limbs/feadd.v
-src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e198m17_4limbs/fecarry.v
-src/Specific/solinas64_2e198m17_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e198m17_4limbs/femul.v
-src/Specific/solinas64_2e198m17_4limbs/femulDisplay.v
-src/Specific/solinas64_2e198m17_4limbs/fesquare.v
-src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e198m17_4limbs/fesub.v
-src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e198m17_4limbs/freeze.v
-src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e198m17_5limbs/CurveParameters.v
-src/Specific/solinas64_2e198m17_5limbs/Synthesis.v
-src/Specific/solinas64_2e198m17_5limbs/feadd.v
-src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e198m17_5limbs/fecarry.v
-src/Specific/solinas64_2e198m17_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e198m17_5limbs/femul.v
-src/Specific/solinas64_2e198m17_5limbs/femulDisplay.v
-src/Specific/solinas64_2e198m17_5limbs/fesquare.v
-src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e198m17_5limbs/fesub.v
-src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e198m17_5limbs/freeze.v
-src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e206m5_4limbs/CurveParameters.v
-src/Specific/solinas64_2e206m5_4limbs/Synthesis.v
-src/Specific/solinas64_2e206m5_4limbs/feadd.v
-src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e206m5_4limbs/fecarry.v
-src/Specific/solinas64_2e206m5_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e206m5_4limbs/femul.v
-src/Specific/solinas64_2e206m5_4limbs/femulDisplay.v
-src/Specific/solinas64_2e206m5_4limbs/fesquare.v
-src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e206m5_4limbs/fesub.v
-src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e206m5_4limbs/freeze.v
-src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e206m5_5limbs/CurveParameters.v
-src/Specific/solinas64_2e206m5_5limbs/Synthesis.v
-src/Specific/solinas64_2e206m5_5limbs/feadd.v
-src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e206m5_5limbs/fecarry.v
-src/Specific/solinas64_2e206m5_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e206m5_5limbs/femul.v
-src/Specific/solinas64_2e206m5_5limbs/femulDisplay.v
-src/Specific/solinas64_2e206m5_5limbs/fesquare.v
-src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e206m5_5limbs/fesub.v
-src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e206m5_5limbs/freeze.v
-src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e212m29_4limbs/CurveParameters.v
-src/Specific/solinas64_2e212m29_4limbs/Synthesis.v
-src/Specific/solinas64_2e212m29_4limbs/feadd.v
-src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e212m29_4limbs/fecarry.v
-src/Specific/solinas64_2e212m29_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e212m29_4limbs/femul.v
-src/Specific/solinas64_2e212m29_4limbs/femulDisplay.v
-src/Specific/solinas64_2e212m29_4limbs/fesquare.v
-src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e212m29_4limbs/fesub.v
-src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e212m29_4limbs/freeze.v
-src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e212m29_5limbs/CurveParameters.v
-src/Specific/solinas64_2e212m29_5limbs/Synthesis.v
-src/Specific/solinas64_2e212m29_5limbs/feadd.v
-src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e212m29_5limbs/fecarry.v
-src/Specific/solinas64_2e212m29_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e212m29_5limbs/femul.v
-src/Specific/solinas64_2e212m29_5limbs/femulDisplay.v
-src/Specific/solinas64_2e212m29_5limbs/fesquare.v
-src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e212m29_5limbs/fesub.v
-src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e212m29_5limbs/freeze.v
-src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e213m3_4limbs/CurveParameters.v
-src/Specific/solinas64_2e213m3_4limbs/Synthesis.v
-src/Specific/solinas64_2e213m3_4limbs/feadd.v
-src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e213m3_4limbs/fecarry.v
-src/Specific/solinas64_2e213m3_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e213m3_4limbs/femul.v
-src/Specific/solinas64_2e213m3_4limbs/femulDisplay.v
-src/Specific/solinas64_2e213m3_4limbs/fesquare.v
-src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e213m3_4limbs/fesub.v
-src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e213m3_4limbs/freeze.v
-src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e213m3_5limbs/CurveParameters.v
-src/Specific/solinas64_2e213m3_5limbs/Synthesis.v
-src/Specific/solinas64_2e213m3_5limbs/feadd.v
-src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e213m3_5limbs/fecarry.v
-src/Specific/solinas64_2e213m3_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e213m3_5limbs/femul.v
-src/Specific/solinas64_2e213m3_5limbs/femulDisplay.v
-src/Specific/solinas64_2e213m3_5limbs/fesquare.v
-src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e213m3_5limbs/fesub.v
-src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e213m3_5limbs/freeze.v
-src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/CurveParameters.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/Synthesis.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/fecarry.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/femul.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.v
-src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/CurveParameters.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/Synthesis.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/fecarry.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/femul.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/femulDisplay.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/fesquare.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.v
-src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e221m3_4limbs/CurveParameters.v
-src/Specific/solinas64_2e221m3_4limbs/Synthesis.v
-src/Specific/solinas64_2e221m3_4limbs/feadd.v
-src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e221m3_4limbs/fecarry.v
-src/Specific/solinas64_2e221m3_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e221m3_4limbs/femul.v
-src/Specific/solinas64_2e221m3_4limbs/femulDisplay.v
-src/Specific/solinas64_2e221m3_4limbs/fesquare.v
-src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e221m3_4limbs/fesub.v
-src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e221m3_4limbs/freeze.v
-src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e221m3_5limbs/CurveParameters.v
-src/Specific/solinas64_2e221m3_5limbs/Synthesis.v
-src/Specific/solinas64_2e221m3_5limbs/feadd.v
-src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e221m3_5limbs/fecarry.v
-src/Specific/solinas64_2e221m3_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e221m3_5limbs/femul.v
-src/Specific/solinas64_2e221m3_5limbs/femulDisplay.v
-src/Specific/solinas64_2e221m3_5limbs/fesquare.v
-src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e221m3_5limbs/fesub.v
-src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e221m3_5limbs/freeze.v
-src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e222m117_4limbs/CurveParameters.v
-src/Specific/solinas64_2e222m117_4limbs/Synthesis.v
-src/Specific/solinas64_2e222m117_4limbs/feadd.v
-src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e222m117_4limbs/fecarry.v
-src/Specific/solinas64_2e222m117_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e222m117_4limbs/femul.v
-src/Specific/solinas64_2e222m117_4limbs/femulDisplay.v
-src/Specific/solinas64_2e222m117_4limbs/fesquare.v
-src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e222m117_4limbs/fesub.v
-src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e222m117_4limbs/freeze.v
-src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e222m117_5limbs/CurveParameters.v
-src/Specific/solinas64_2e222m117_5limbs/Synthesis.v
-src/Specific/solinas64_2e222m117_5limbs/feadd.v
-src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e222m117_5limbs/fecarry.v
-src/Specific/solinas64_2e222m117_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e222m117_5limbs/femul.v
-src/Specific/solinas64_2e222m117_5limbs/femulDisplay.v
-src/Specific/solinas64_2e222m117_5limbs/fesquare.v
-src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e222m117_5limbs/fesub.v
-src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e222m117_5limbs/freeze.v
-src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/CurveParameters.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/Synthesis.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/fecarry.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/femul.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/femulDisplay.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/fesquare.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/fesub.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.v
-src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/CurveParameters.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/Synthesis.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/fecarry.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/femul.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/femulDisplay.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/fesquare.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/fesub.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.v
-src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e226m5_4limbs/CurveParameters.v
-src/Specific/solinas64_2e226m5_4limbs/Synthesis.v
-src/Specific/solinas64_2e226m5_4limbs/feadd.v
-src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e226m5_4limbs/fecarry.v
-src/Specific/solinas64_2e226m5_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e226m5_4limbs/femul.v
-src/Specific/solinas64_2e226m5_4limbs/femulDisplay.v
-src/Specific/solinas64_2e226m5_4limbs/fesquare.v
-src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e226m5_4limbs/fesub.v
-src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e226m5_4limbs/freeze.v
-src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e226m5_5limbs/CurveParameters.v
-src/Specific/solinas64_2e226m5_5limbs/Synthesis.v
-src/Specific/solinas64_2e226m5_5limbs/feadd.v
-src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e226m5_5limbs/fecarry.v
-src/Specific/solinas64_2e226m5_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e226m5_5limbs/femul.v
-src/Specific/solinas64_2e226m5_5limbs/femulDisplay.v
-src/Specific/solinas64_2e226m5_5limbs/fesquare.v
-src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e226m5_5limbs/fesub.v
-src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e226m5_5limbs/freeze.v
-src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e230m27_4limbs/CurveParameters.v
-src/Specific/solinas64_2e230m27_4limbs/Synthesis.v
-src/Specific/solinas64_2e230m27_4limbs/feadd.v
-src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e230m27_4limbs/fecarry.v
-src/Specific/solinas64_2e230m27_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e230m27_4limbs/femul.v
-src/Specific/solinas64_2e230m27_4limbs/femulDisplay.v
-src/Specific/solinas64_2e230m27_4limbs/fesquare.v
-src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e230m27_4limbs/fesub.v
-src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e230m27_4limbs/freeze.v
-src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e230m27_5limbs/CurveParameters.v
-src/Specific/solinas64_2e230m27_5limbs/Synthesis.v
-src/Specific/solinas64_2e230m27_5limbs/feadd.v
-src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e230m27_5limbs/fecarry.v
-src/Specific/solinas64_2e230m27_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e230m27_5limbs/femul.v
-src/Specific/solinas64_2e230m27_5limbs/femulDisplay.v
-src/Specific/solinas64_2e230m27_5limbs/fesquare.v
-src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e230m27_5limbs/fesub.v
-src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e230m27_5limbs/freeze.v
-src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e235m15_4limbs/CurveParameters.v
-src/Specific/solinas64_2e235m15_4limbs/Synthesis.v
-src/Specific/solinas64_2e235m15_4limbs/feadd.v
-src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.v
-src/Specific/solinas64_2e235m15_4limbs/fecarry.v
-src/Specific/solinas64_2e235m15_4limbs/fecarryDisplay.v
-src/Specific/solinas64_2e235m15_4limbs/femul.v
-src/Specific/solinas64_2e235m15_4limbs/femulDisplay.v
-src/Specific/solinas64_2e235m15_4limbs/fesquare.v
-src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.v
-src/Specific/solinas64_2e235m15_4limbs/fesub.v
-src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.v
-src/Specific/solinas64_2e235m15_4limbs/freeze.v
-src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.v
-src/Specific/solinas64_2e235m15_5limbs/CurveParameters.v
-src/Specific/solinas64_2e235m15_5limbs/Synthesis.v
-src/Specific/solinas64_2e235m15_5limbs/feadd.v
-src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e235m15_5limbs/fecarry.v
-src/Specific/solinas64_2e235m15_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e235m15_5limbs/femul.v
-src/Specific/solinas64_2e235m15_5limbs/femulDisplay.v
-src/Specific/solinas64_2e235m15_5limbs/fesquare.v
-src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e235m15_5limbs/fesub.v
-src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e235m15_5limbs/freeze.v
-src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e243m9_5limbs/CurveParameters.v
-src/Specific/solinas64_2e243m9_5limbs/Synthesis.v
-src/Specific/solinas64_2e243m9_5limbs/feadd.v
-src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e243m9_5limbs/fecarry.v
-src/Specific/solinas64_2e243m9_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e243m9_5limbs/femul.v
-src/Specific/solinas64_2e243m9_5limbs/femulDisplay.v
-src/Specific/solinas64_2e243m9_5limbs/fesquare.v
-src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e243m9_5limbs/fesub.v
-src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e243m9_5limbs/freeze.v
-src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e243m9_6limbs/CurveParameters.v
-src/Specific/solinas64_2e243m9_6limbs/Synthesis.v
-src/Specific/solinas64_2e243m9_6limbs/feadd.v
-src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e243m9_6limbs/fecarry.v
-src/Specific/solinas64_2e243m9_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e243m9_6limbs/femul.v
-src/Specific/solinas64_2e243m9_6limbs/femulDisplay.v
-src/Specific/solinas64_2e243m9_6limbs/fesquare.v
-src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e243m9_6limbs/fesub.v
-src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e243m9_6limbs/freeze.v
-src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e251m9_5limbs/CurveParameters.v
-src/Specific/solinas64_2e251m9_5limbs/Synthesis.v
-src/Specific/solinas64_2e251m9_5limbs/feadd.v
-src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e251m9_5limbs/fecarry.v
-src/Specific/solinas64_2e251m9_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e251m9_5limbs/femul.v
-src/Specific/solinas64_2e251m9_5limbs/femulDisplay.v
-src/Specific/solinas64_2e251m9_5limbs/fesquare.v
-src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e251m9_5limbs/fesub.v
-src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e251m9_5limbs/freeze.v
-src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e251m9_6limbs/CurveParameters.v
-src/Specific/solinas64_2e251m9_6limbs/Synthesis.v
-src/Specific/solinas64_2e251m9_6limbs/feadd.v
-src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e251m9_6limbs/fecarry.v
-src/Specific/solinas64_2e251m9_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e251m9_6limbs/femul.v
-src/Specific/solinas64_2e251m9_6limbs/femulDisplay.v
-src/Specific/solinas64_2e251m9_6limbs/fesquare.v
-src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e251m9_6limbs/fesub.v
-src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e251m9_6limbs/freeze.v
-src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e255m19_5limbs/CurveParameters.v
-src/Specific/solinas64_2e255m19_5limbs/Synthesis.v
-src/Specific/solinas64_2e255m19_5limbs/feadd.v
-src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e255m19_5limbs/fecarry.v
-src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e255m19_5limbs/femul.v
-src/Specific/solinas64_2e255m19_5limbs/femulDisplay.v
-src/Specific/solinas64_2e255m19_5limbs/fesquare.v
-src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e255m19_5limbs/fesub.v
-src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e255m19_5limbs/freeze.v
-src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e255m19_5limbs_donna/CurveParameters.v
-src/Specific/solinas64_2e255m19_5limbs_donna/Synthesis.v
-src/Specific/solinas64_2e255m19_5limbs_donna/feadd.v
-src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.v
-src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.v
-src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.v
-src/Specific/solinas64_2e255m19_5limbs_donna/femul.v
-src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.v
-src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.v
-src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.v
-src/Specific/solinas64_2e255m19_5limbs_donna/fesub.v
-src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.v
-src/Specific/solinas64_2e255m19_5limbs_donna/freeze.v
-src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.v
-src/Specific/solinas64_2e255m19_6limbs/CurveParameters.v
-src/Specific/solinas64_2e255m19_6limbs/Synthesis.v
-src/Specific/solinas64_2e255m19_6limbs/feadd.v
-src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e255m19_6limbs/fecarry.v
-src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e255m19_6limbs/femul.v
-src/Specific/solinas64_2e255m19_6limbs/femulDisplay.v
-src/Specific/solinas64_2e255m19_6limbs/fesquare.v
-src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e255m19_6limbs/fesub.v
-src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e255m19_6limbs/freeze.v
-src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e255m765_5limbs/CurveParameters.v
-src/Specific/solinas64_2e255m765_5limbs/Synthesis.v
-src/Specific/solinas64_2e255m765_5limbs/feadd.v
-src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e255m765_5limbs/fecarry.v
-src/Specific/solinas64_2e255m765_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e255m765_5limbs/femul.v
-src/Specific/solinas64_2e255m765_5limbs/femulDisplay.v
-src/Specific/solinas64_2e255m765_5limbs/fesquare.v
-src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e255m765_5limbs/fesub.v
-src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e255m765_5limbs/freeze.v
-src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e255m765_6limbs/CurveParameters.v
-src/Specific/solinas64_2e255m765_6limbs/Synthesis.v
-src/Specific/solinas64_2e255m765_6limbs/feadd.v
-src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e255m765_6limbs/fecarry.v
-src/Specific/solinas64_2e255m765_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e255m765_6limbs/femul.v
-src/Specific/solinas64_2e255m765_6limbs/femulDisplay.v
-src/Specific/solinas64_2e255m765_6limbs/fesquare.v
-src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e255m765_6limbs/fesub.v
-src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e255m765_6limbs/freeze.v
-src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m189_5limbs/CurveParameters.v
-src/Specific/solinas64_2e256m189_5limbs/Synthesis.v
-src/Specific/solinas64_2e256m189_5limbs/feadd.v
-src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m189_5limbs/fecarry.v
-src/Specific/solinas64_2e256m189_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m189_5limbs/femul.v
-src/Specific/solinas64_2e256m189_5limbs/femulDisplay.v
-src/Specific/solinas64_2e256m189_5limbs/fesquare.v
-src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m189_5limbs/fesub.v
-src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m189_5limbs/freeze.v
-src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m189_6limbs/CurveParameters.v
-src/Specific/solinas64_2e256m189_6limbs/Synthesis.v
-src/Specific/solinas64_2e256m189_6limbs/feadd.v
-src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m189_6limbs/fecarry.v
-src/Specific/solinas64_2e256m189_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m189_6limbs/femul.v
-src/Specific/solinas64_2e256m189_6limbs/femulDisplay.v
-src/Specific/solinas64_2e256m189_6limbs/fesquare.v
-src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m189_6limbs/fesub.v
-src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m189_6limbs/freeze.v
-src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/CurveParameters.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/Synthesis.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarry.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femul.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femulDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquare.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesub.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/CurveParameters.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/Synthesis.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarry.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femul.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femulDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquare.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesub.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.v
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/CurveParameters.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/Synthesis.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/fecarry.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/femul.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.v
-src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/CurveParameters.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/Synthesis.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/fecarry.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/femul.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.v
-src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m4294968273_10limbs/CurveParameters.v
-src/Specific/solinas64_2e256m4294968273_10limbs/Synthesis.v
-src/Specific/solinas64_2e256m4294968273_10limbs/feadd.v
-src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m4294968273_10limbs/fecarry.v
-src/Specific/solinas64_2e256m4294968273_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m4294968273_10limbs/femul.v
-src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.v
-src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.v
-src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m4294968273_10limbs/fesub.v
-src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m4294968273_10limbs/freeze.v
-src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e256m4294968273_9limbs/CurveParameters.v
-src/Specific/solinas64_2e256m4294968273_9limbs/Synthesis.v
-src/Specific/solinas64_2e256m4294968273_9limbs/feadd.v
-src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e256m4294968273_9limbs/fecarry.v
-src/Specific/solinas64_2e256m4294968273_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e256m4294968273_9limbs/femul.v
-src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.v
-src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.v
-src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e256m4294968273_9limbs/fesub.v
-src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e256m4294968273_9limbs/freeze.v
-src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e266m3_5limbs/CurveParameters.v
-src/Specific/solinas64_2e266m3_5limbs/Synthesis.v
-src/Specific/solinas64_2e266m3_5limbs/feadd.v
-src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e266m3_5limbs/fecarry.v
-src/Specific/solinas64_2e266m3_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e266m3_5limbs/femul.v
-src/Specific/solinas64_2e266m3_5limbs/femulDisplay.v
-src/Specific/solinas64_2e266m3_5limbs/fesquare.v
-src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e266m3_5limbs/fesub.v
-src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e266m3_5limbs/freeze.v
-src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e266m3_6limbs/CurveParameters.v
-src/Specific/solinas64_2e266m3_6limbs/Synthesis.v
-src/Specific/solinas64_2e266m3_6limbs/feadd.v
-src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e266m3_6limbs/fecarry.v
-src/Specific/solinas64_2e266m3_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e266m3_6limbs/femul.v
-src/Specific/solinas64_2e266m3_6limbs/femulDisplay.v
-src/Specific/solinas64_2e266m3_6limbs/fesquare.v
-src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e266m3_6limbs/fesub.v
-src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e266m3_6limbs/freeze.v
-src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e285m9_5limbs/CurveParameters.v
-src/Specific/solinas64_2e285m9_5limbs/Synthesis.v
-src/Specific/solinas64_2e285m9_5limbs/feadd.v
-src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e285m9_5limbs/fecarry.v
-src/Specific/solinas64_2e285m9_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e285m9_5limbs/femul.v
-src/Specific/solinas64_2e285m9_5limbs/femulDisplay.v
-src/Specific/solinas64_2e285m9_5limbs/fesquare.v
-src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e285m9_5limbs/fesub.v
-src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e285m9_5limbs/freeze.v
-src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e285m9_6limbs/CurveParameters.v
-src/Specific/solinas64_2e285m9_6limbs/Synthesis.v
-src/Specific/solinas64_2e285m9_6limbs/feadd.v
-src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e285m9_6limbs/fecarry.v
-src/Specific/solinas64_2e285m9_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e285m9_6limbs/femul.v
-src/Specific/solinas64_2e285m9_6limbs/femulDisplay.v
-src/Specific/solinas64_2e285m9_6limbs/fesquare.v
-src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e285m9_6limbs/fesub.v
-src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e285m9_6limbs/freeze.v
-src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e291m19_5limbs/CurveParameters.v
-src/Specific/solinas64_2e291m19_5limbs/Synthesis.v
-src/Specific/solinas64_2e291m19_5limbs/feadd.v
-src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.v
-src/Specific/solinas64_2e291m19_5limbs/fecarry.v
-src/Specific/solinas64_2e291m19_5limbs/fecarryDisplay.v
-src/Specific/solinas64_2e291m19_5limbs/femul.v
-src/Specific/solinas64_2e291m19_5limbs/femulDisplay.v
-src/Specific/solinas64_2e291m19_5limbs/fesquare.v
-src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.v
-src/Specific/solinas64_2e291m19_5limbs/fesub.v
-src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.v
-src/Specific/solinas64_2e291m19_5limbs/freeze.v
-src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.v
-src/Specific/solinas64_2e291m19_6limbs/CurveParameters.v
-src/Specific/solinas64_2e291m19_6limbs/Synthesis.v
-src/Specific/solinas64_2e291m19_6limbs/feadd.v
-src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e291m19_6limbs/fecarry.v
-src/Specific/solinas64_2e291m19_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e291m19_6limbs/femul.v
-src/Specific/solinas64_2e291m19_6limbs/femulDisplay.v
-src/Specific/solinas64_2e291m19_6limbs/fesquare.v
-src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e291m19_6limbs/fesub.v
-src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e291m19_6limbs/freeze.v
-src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e321m9_6limbs/CurveParameters.v
-src/Specific/solinas64_2e321m9_6limbs/Synthesis.v
-src/Specific/solinas64_2e321m9_6limbs/feadd.v
-src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e321m9_6limbs/fecarry.v
-src/Specific/solinas64_2e321m9_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e321m9_6limbs/femul.v
-src/Specific/solinas64_2e321m9_6limbs/femulDisplay.v
-src/Specific/solinas64_2e321m9_6limbs/fesquare.v
-src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e321m9_6limbs/fesub.v
-src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e321m9_6limbs/freeze.v
-src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e321m9_7limbs/CurveParameters.v
-src/Specific/solinas64_2e321m9_7limbs/Synthesis.v
-src/Specific/solinas64_2e321m9_7limbs/feadd.v
-src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e321m9_7limbs/fecarry.v
-src/Specific/solinas64_2e321m9_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e321m9_7limbs/femul.v
-src/Specific/solinas64_2e321m9_7limbs/femulDisplay.v
-src/Specific/solinas64_2e321m9_7limbs/fesquare.v
-src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e321m9_7limbs/fesub.v
-src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e321m9_7limbs/freeze.v
-src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/CurveParameters.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/Synthesis.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/fecarry.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/femul.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.v
-src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/CurveParameters.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/Synthesis.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/fecarry.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/femul.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/femulDisplay.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/fesquare.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.v
-src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e336m17_6limbs/CurveParameters.v
-src/Specific/solinas64_2e336m17_6limbs/Synthesis.v
-src/Specific/solinas64_2e336m17_6limbs/feadd.v
-src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e336m17_6limbs/fecarry.v
-src/Specific/solinas64_2e336m17_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e336m17_6limbs/femul.v
-src/Specific/solinas64_2e336m17_6limbs/femulDisplay.v
-src/Specific/solinas64_2e336m17_6limbs/fesquare.v
-src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e336m17_6limbs/fesub.v
-src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e336m17_6limbs/freeze.v
-src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e336m17_7limbs/CurveParameters.v
-src/Specific/solinas64_2e336m17_7limbs/Synthesis.v
-src/Specific/solinas64_2e336m17_7limbs/feadd.v
-src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e336m17_7limbs/fecarry.v
-src/Specific/solinas64_2e336m17_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e336m17_7limbs/femul.v
-src/Specific/solinas64_2e336m17_7limbs/femulDisplay.v
-src/Specific/solinas64_2e336m17_7limbs/fesquare.v
-src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e336m17_7limbs/fesub.v
-src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e336m17_7limbs/freeze.v
-src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e336m3_6limbs/CurveParameters.v
-src/Specific/solinas64_2e336m3_6limbs/Synthesis.v
-src/Specific/solinas64_2e336m3_6limbs/feadd.v
-src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e336m3_6limbs/fecarry.v
-src/Specific/solinas64_2e336m3_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e336m3_6limbs/femul.v
-src/Specific/solinas64_2e336m3_6limbs/femulDisplay.v
-src/Specific/solinas64_2e336m3_6limbs/fesquare.v
-src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e336m3_6limbs/fesub.v
-src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e336m3_6limbs/freeze.v
-src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e336m3_7limbs/CurveParameters.v
-src/Specific/solinas64_2e336m3_7limbs/Synthesis.v
-src/Specific/solinas64_2e336m3_7limbs/feadd.v
-src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e336m3_7limbs/fecarry.v
-src/Specific/solinas64_2e336m3_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e336m3_7limbs/femul.v
-src/Specific/solinas64_2e336m3_7limbs/femulDisplay.v
-src/Specific/solinas64_2e336m3_7limbs/fesquare.v
-src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e336m3_7limbs/fesub.v
-src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e336m3_7limbs/freeze.v
-src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e338m15_6limbs/CurveParameters.v
-src/Specific/solinas64_2e338m15_6limbs/Synthesis.v
-src/Specific/solinas64_2e338m15_6limbs/feadd.v
-src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.v
-src/Specific/solinas64_2e338m15_6limbs/fecarry.v
-src/Specific/solinas64_2e338m15_6limbs/fecarryDisplay.v
-src/Specific/solinas64_2e338m15_6limbs/femul.v
-src/Specific/solinas64_2e338m15_6limbs/femulDisplay.v
-src/Specific/solinas64_2e338m15_6limbs/fesquare.v
-src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.v
-src/Specific/solinas64_2e338m15_6limbs/fesub.v
-src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.v
-src/Specific/solinas64_2e338m15_6limbs/freeze.v
-src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.v
-src/Specific/solinas64_2e338m15_7limbs/CurveParameters.v
-src/Specific/solinas64_2e338m15_7limbs/Synthesis.v
-src/Specific/solinas64_2e338m15_7limbs/feadd.v
-src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e338m15_7limbs/fecarry.v
-src/Specific/solinas64_2e338m15_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e338m15_7limbs/femul.v
-src/Specific/solinas64_2e338m15_7limbs/femulDisplay.v
-src/Specific/solinas64_2e338m15_7limbs/fesquare.v
-src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e338m15_7limbs/fesub.v
-src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e338m15_7limbs/freeze.v
-src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e369m25_7limbs/CurveParameters.v
-src/Specific/solinas64_2e369m25_7limbs/Synthesis.v
-src/Specific/solinas64_2e369m25_7limbs/feadd.v
-src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e369m25_7limbs/fecarry.v
-src/Specific/solinas64_2e369m25_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e369m25_7limbs/femul.v
-src/Specific/solinas64_2e369m25_7limbs/femulDisplay.v
-src/Specific/solinas64_2e369m25_7limbs/fesquare.v
-src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e369m25_7limbs/fesub.v
-src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e369m25_7limbs/freeze.v
-src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e369m25_8limbs/CurveParameters.v
-src/Specific/solinas64_2e369m25_8limbs/Synthesis.v
-src/Specific/solinas64_2e369m25_8limbs/feadd.v
-src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e369m25_8limbs/fecarry.v
-src/Specific/solinas64_2e369m25_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e369m25_8limbs/femul.v
-src/Specific/solinas64_2e369m25_8limbs/femulDisplay.v
-src/Specific/solinas64_2e369m25_8limbs/fesquare.v
-src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e369m25_8limbs/fesub.v
-src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e369m25_8limbs/freeze.v
-src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e379m19_7limbs/CurveParameters.v
-src/Specific/solinas64_2e379m19_7limbs/Synthesis.v
-src/Specific/solinas64_2e379m19_7limbs/feadd.v
-src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e379m19_7limbs/fecarry.v
-src/Specific/solinas64_2e379m19_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e379m19_7limbs/femul.v
-src/Specific/solinas64_2e379m19_7limbs/femulDisplay.v
-src/Specific/solinas64_2e379m19_7limbs/fesquare.v
-src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e379m19_7limbs/fesub.v
-src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e379m19_7limbs/freeze.v
-src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e379m19_8limbs/CurveParameters.v
-src/Specific/solinas64_2e379m19_8limbs/Synthesis.v
-src/Specific/solinas64_2e379m19_8limbs/feadd.v
-src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e379m19_8limbs/fecarry.v
-src/Specific/solinas64_2e379m19_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e379m19_8limbs/femul.v
-src/Specific/solinas64_2e379m19_8limbs/femulDisplay.v
-src/Specific/solinas64_2e379m19_8limbs/fesquare.v
-src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e379m19_8limbs/fesub.v
-src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e379m19_8limbs/freeze.v
-src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e382m105_7limbs/CurveParameters.v
-src/Specific/solinas64_2e382m105_7limbs/Synthesis.v
-src/Specific/solinas64_2e382m105_7limbs/feadd.v
-src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e382m105_7limbs/fecarry.v
-src/Specific/solinas64_2e382m105_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e382m105_7limbs/femul.v
-src/Specific/solinas64_2e382m105_7limbs/femulDisplay.v
-src/Specific/solinas64_2e382m105_7limbs/fesquare.v
-src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e382m105_7limbs/fesub.v
-src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e382m105_7limbs/freeze.v
-src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e382m105_8limbs/CurveParameters.v
-src/Specific/solinas64_2e382m105_8limbs/Synthesis.v
-src/Specific/solinas64_2e382m105_8limbs/feadd.v
-src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e382m105_8limbs/fecarry.v
-src/Specific/solinas64_2e382m105_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e382m105_8limbs/femul.v
-src/Specific/solinas64_2e382m105_8limbs/femulDisplay.v
-src/Specific/solinas64_2e382m105_8limbs/fesquare.v
-src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e382m105_8limbs/fesub.v
-src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e382m105_8limbs/freeze.v
-src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e383m187_7limbs/CurveParameters.v
-src/Specific/solinas64_2e383m187_7limbs/Synthesis.v
-src/Specific/solinas64_2e383m187_7limbs/feadd.v
-src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e383m187_7limbs/fecarry.v
-src/Specific/solinas64_2e383m187_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e383m187_7limbs/femul.v
-src/Specific/solinas64_2e383m187_7limbs/femulDisplay.v
-src/Specific/solinas64_2e383m187_7limbs/fesquare.v
-src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e383m187_7limbs/fesub.v
-src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e383m187_7limbs/freeze.v
-src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e383m187_8limbs/CurveParameters.v
-src/Specific/solinas64_2e383m187_8limbs/Synthesis.v
-src/Specific/solinas64_2e383m187_8limbs/feadd.v
-src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e383m187_8limbs/fecarry.v
-src/Specific/solinas64_2e383m187_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e383m187_8limbs/femul.v
-src/Specific/solinas64_2e383m187_8limbs/femulDisplay.v
-src/Specific/solinas64_2e383m187_8limbs/fesquare.v
-src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e383m187_8limbs/fesub.v
-src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e383m187_8limbs/freeze.v
-src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e383m31_7limbs/CurveParameters.v
-src/Specific/solinas64_2e383m31_7limbs/Synthesis.v
-src/Specific/solinas64_2e383m31_7limbs/feadd.v
-src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e383m31_7limbs/fecarry.v
-src/Specific/solinas64_2e383m31_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e383m31_7limbs/femul.v
-src/Specific/solinas64_2e383m31_7limbs/femulDisplay.v
-src/Specific/solinas64_2e383m31_7limbs/fesquare.v
-src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e383m31_7limbs/fesub.v
-src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e383m31_7limbs/freeze.v
-src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e383m31_8limbs/CurveParameters.v
-src/Specific/solinas64_2e383m31_8limbs/Synthesis.v
-src/Specific/solinas64_2e383m31_8limbs/feadd.v
-src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e383m31_8limbs/fecarry.v
-src/Specific/solinas64_2e383m31_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e383m31_8limbs/femul.v
-src/Specific/solinas64_2e383m31_8limbs/femulDisplay.v
-src/Specific/solinas64_2e383m31_8limbs/fesquare.v
-src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e383m31_8limbs/fesub.v
-src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e383m31_8limbs/freeze.v
-src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e383m421_7limbs/CurveParameters.v
-src/Specific/solinas64_2e383m421_7limbs/Synthesis.v
-src/Specific/solinas64_2e383m421_7limbs/feadd.v
-src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e383m421_7limbs/fecarry.v
-src/Specific/solinas64_2e383m421_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e383m421_7limbs/femul.v
-src/Specific/solinas64_2e383m421_7limbs/femulDisplay.v
-src/Specific/solinas64_2e383m421_7limbs/fesquare.v
-src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e383m421_7limbs/fesub.v
-src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e383m421_7limbs/freeze.v
-src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e383m421_8limbs/CurveParameters.v
-src/Specific/solinas64_2e383m421_8limbs/Synthesis.v
-src/Specific/solinas64_2e383m421_8limbs/feadd.v
-src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e383m421_8limbs/fecarry.v
-src/Specific/solinas64_2e383m421_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e383m421_8limbs/femul.v
-src/Specific/solinas64_2e383m421_8limbs/femulDisplay.v
-src/Specific/solinas64_2e383m421_8limbs/fesquare.v
-src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e383m421_8limbs/fesub.v
-src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e383m421_8limbs/freeze.v
-src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/CurveParameters.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/Synthesis.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarry.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femul.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femulDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquare.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesub.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/CurveParameters.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/Synthesis.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarry.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femul.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femulDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquare.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesub.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.v
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e384m317_7limbs/CurveParameters.v
-src/Specific/solinas64_2e384m317_7limbs/Synthesis.v
-src/Specific/solinas64_2e384m317_7limbs/feadd.v
-src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e384m317_7limbs/fecarry.v
-src/Specific/solinas64_2e384m317_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e384m317_7limbs/femul.v
-src/Specific/solinas64_2e384m317_7limbs/femulDisplay.v
-src/Specific/solinas64_2e384m317_7limbs/fesquare.v
-src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e384m317_7limbs/fesub.v
-src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e384m317_7limbs/freeze.v
-src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e384m317_8limbs/CurveParameters.v
-src/Specific/solinas64_2e384m317_8limbs/Synthesis.v
-src/Specific/solinas64_2e384m317_8limbs/feadd.v
-src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e384m317_8limbs/fecarry.v
-src/Specific/solinas64_2e384m317_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e384m317_8limbs/femul.v
-src/Specific/solinas64_2e384m317_8limbs/femulDisplay.v
-src/Specific/solinas64_2e384m317_8limbs/fesquare.v
-src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e384m317_8limbs/fesub.v
-src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e384m317_8limbs/freeze.v
-src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e389m21_7limbs/CurveParameters.v
-src/Specific/solinas64_2e389m21_7limbs/Synthesis.v
-src/Specific/solinas64_2e389m21_7limbs/feadd.v
-src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e389m21_7limbs/fecarry.v
-src/Specific/solinas64_2e389m21_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e389m21_7limbs/femul.v
-src/Specific/solinas64_2e389m21_7limbs/femulDisplay.v
-src/Specific/solinas64_2e389m21_7limbs/fesquare.v
-src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e389m21_7limbs/fesub.v
-src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e389m21_7limbs/freeze.v
-src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e389m21_8limbs/CurveParameters.v
-src/Specific/solinas64_2e389m21_8limbs/Synthesis.v
-src/Specific/solinas64_2e389m21_8limbs/feadd.v
-src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e389m21_8limbs/fecarry.v
-src/Specific/solinas64_2e389m21_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e389m21_8limbs/femul.v
-src/Specific/solinas64_2e389m21_8limbs/femulDisplay.v
-src/Specific/solinas64_2e389m21_8limbs/fesquare.v
-src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e389m21_8limbs/fesub.v
-src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e389m21_8limbs/freeze.v
-src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e401m31_7limbs/CurveParameters.v
-src/Specific/solinas64_2e401m31_7limbs/Synthesis.v
-src/Specific/solinas64_2e401m31_7limbs/feadd.v
-src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e401m31_7limbs/fecarry.v
-src/Specific/solinas64_2e401m31_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e401m31_7limbs/femul.v
-src/Specific/solinas64_2e401m31_7limbs/femulDisplay.v
-src/Specific/solinas64_2e401m31_7limbs/fesquare.v
-src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e401m31_7limbs/fesub.v
-src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e401m31_7limbs/freeze.v
-src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e401m31_8limbs/CurveParameters.v
-src/Specific/solinas64_2e401m31_8limbs/Synthesis.v
-src/Specific/solinas64_2e401m31_8limbs/feadd.v
-src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e401m31_8limbs/fecarry.v
-src/Specific/solinas64_2e401m31_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e401m31_8limbs/femul.v
-src/Specific/solinas64_2e401m31_8limbs/femulDisplay.v
-src/Specific/solinas64_2e401m31_8limbs/fesquare.v
-src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e401m31_8limbs/fesub.v
-src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e401m31_8limbs/freeze.v
-src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e413m21_7limbs/CurveParameters.v
-src/Specific/solinas64_2e413m21_7limbs/Synthesis.v
-src/Specific/solinas64_2e413m21_7limbs/feadd.v
-src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.v
-src/Specific/solinas64_2e413m21_7limbs/fecarry.v
-src/Specific/solinas64_2e413m21_7limbs/fecarryDisplay.v
-src/Specific/solinas64_2e413m21_7limbs/femul.v
-src/Specific/solinas64_2e413m21_7limbs/femulDisplay.v
-src/Specific/solinas64_2e413m21_7limbs/fesquare.v
-src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.v
-src/Specific/solinas64_2e413m21_7limbs/fesub.v
-src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.v
-src/Specific/solinas64_2e413m21_7limbs/freeze.v
-src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.v
-src/Specific/solinas64_2e413m21_8limbs/CurveParameters.v
-src/Specific/solinas64_2e413m21_8limbs/Synthesis.v
-src/Specific/solinas64_2e413m21_8limbs/feadd.v
-src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e413m21_8limbs/fecarry.v
-src/Specific/solinas64_2e413m21_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e413m21_8limbs/femul.v
-src/Specific/solinas64_2e413m21_8limbs/femulDisplay.v
-src/Specific/solinas64_2e413m21_8limbs/fesquare.v
-src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e413m21_8limbs/fesub.v
-src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e413m21_8limbs/freeze.v
-src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e414m17_8limbs/CurveParameters.v
-src/Specific/solinas64_2e414m17_8limbs/Synthesis.v
-src/Specific/solinas64_2e414m17_8limbs/feadd.v
-src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e414m17_8limbs/fecarry.v
-src/Specific/solinas64_2e414m17_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e414m17_8limbs/femul.v
-src/Specific/solinas64_2e414m17_8limbs/femulDisplay.v
-src/Specific/solinas64_2e414m17_8limbs/fesquare.v
-src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e414m17_8limbs/fesub.v
-src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e414m17_8limbs/freeze.v
-src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e414m17_9limbs/CurveParameters.v
-src/Specific/solinas64_2e414m17_9limbs/Synthesis.v
-src/Specific/solinas64_2e414m17_9limbs/feadd.v
-src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e414m17_9limbs/fecarry.v
-src/Specific/solinas64_2e414m17_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e414m17_9limbs/femul.v
-src/Specific/solinas64_2e414m17_9limbs/femulDisplay.v
-src/Specific/solinas64_2e414m17_9limbs/fesquare.v
-src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e414m17_9limbs/fesub.v
-src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e414m17_9limbs/freeze.v
-src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/CurveParameters.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/Synthesis.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/fecarry.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/femul.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.v
-src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/CurveParameters.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/Synthesis.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/fecarry.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/femul.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/femulDisplay.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/fesquare.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.v
-src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e444m17_8limbs/CurveParameters.v
-src/Specific/solinas64_2e444m17_8limbs/Synthesis.v
-src/Specific/solinas64_2e444m17_8limbs/feadd.v
-src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e444m17_8limbs/fecarry.v
-src/Specific/solinas64_2e444m17_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e444m17_8limbs/femul.v
-src/Specific/solinas64_2e444m17_8limbs/femulDisplay.v
-src/Specific/solinas64_2e444m17_8limbs/fesquare.v
-src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e444m17_8limbs/fesub.v
-src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e444m17_8limbs/freeze.v
-src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e444m17_9limbs/CurveParameters.v
-src/Specific/solinas64_2e444m17_9limbs/Synthesis.v
-src/Specific/solinas64_2e444m17_9limbs/feadd.v
-src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e444m17_9limbs/fecarry.v
-src/Specific/solinas64_2e444m17_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e444m17_9limbs/femul.v
-src/Specific/solinas64_2e444m17_9limbs/femulDisplay.v
-src/Specific/solinas64_2e444m17_9limbs/fesquare.v
-src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e444m17_9limbs/fesub.v
-src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e444m17_9limbs/freeze.v
-src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/CurveParameters.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/Synthesis.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/fecarry.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/femul.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.v
-src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/CurveParameters.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/Synthesis.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/fecarry.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/femul.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.v
-src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/CurveParameters.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/Synthesis.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/fecarry.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/femul.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.v
-src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/CurveParameters.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/Synthesis.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/fecarry.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/femul.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.v
-src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e452m3_8limbs/CurveParameters.v
-src/Specific/solinas64_2e452m3_8limbs/Synthesis.v
-src/Specific/solinas64_2e452m3_8limbs/feadd.v
-src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e452m3_8limbs/fecarry.v
-src/Specific/solinas64_2e452m3_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e452m3_8limbs/femul.v
-src/Specific/solinas64_2e452m3_8limbs/femulDisplay.v
-src/Specific/solinas64_2e452m3_8limbs/fesquare.v
-src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e452m3_8limbs/fesub.v
-src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e452m3_8limbs/freeze.v
-src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e452m3_9limbs/CurveParameters.v
-src/Specific/solinas64_2e452m3_9limbs/Synthesis.v
-src/Specific/solinas64_2e452m3_9limbs/feadd.v
-src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e452m3_9limbs/fecarry.v
-src/Specific/solinas64_2e452m3_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e452m3_9limbs/femul.v
-src/Specific/solinas64_2e452m3_9limbs/femulDisplay.v
-src/Specific/solinas64_2e452m3_9limbs/fesquare.v
-src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e452m3_9limbs/fesub.v
-src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e452m3_9limbs/freeze.v
-src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e468m17_8limbs/CurveParameters.v
-src/Specific/solinas64_2e468m17_8limbs/Synthesis.v
-src/Specific/solinas64_2e468m17_8limbs/feadd.v
-src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e468m17_8limbs/fecarry.v
-src/Specific/solinas64_2e468m17_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e468m17_8limbs/femul.v
-src/Specific/solinas64_2e468m17_8limbs/femulDisplay.v
-src/Specific/solinas64_2e468m17_8limbs/fesquare.v
-src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e468m17_8limbs/fesub.v
-src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e468m17_8limbs/freeze.v
-src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e468m17_9limbs/CurveParameters.v
-src/Specific/solinas64_2e468m17_9limbs/Synthesis.v
-src/Specific/solinas64_2e468m17_9limbs/feadd.v
-src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e468m17_9limbs/fecarry.v
-src/Specific/solinas64_2e468m17_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e468m17_9limbs/femul.v
-src/Specific/solinas64_2e468m17_9limbs/femulDisplay.v
-src/Specific/solinas64_2e468m17_9limbs/fesquare.v
-src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e468m17_9limbs/fesub.v
-src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e468m17_9limbs/freeze.v
-src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/CurveParameters.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/Synthesis.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/fecarry.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/femul.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.v
-src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/CurveParameters.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/Synthesis.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/fecarry.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/fecarryDisplay.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/femul.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.v
-src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.v
-src/Specific/solinas64_2e488m17_10limbs/CurveParameters.v
-src/Specific/solinas64_2e488m17_10limbs/Synthesis.v
-src/Specific/solinas64_2e488m17_10limbs/feadd.v
-src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e488m17_10limbs/fecarry.v
-src/Specific/solinas64_2e488m17_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e488m17_10limbs/femul.v
-src/Specific/solinas64_2e488m17_10limbs/femulDisplay.v
-src/Specific/solinas64_2e488m17_10limbs/fesquare.v
-src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e488m17_10limbs/fesub.v
-src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e488m17_10limbs/freeze.v
-src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e488m17_9limbs/CurveParameters.v
-src/Specific/solinas64_2e488m17_9limbs/Synthesis.v
-src/Specific/solinas64_2e488m17_9limbs/feadd.v
-src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e488m17_9limbs/fecarry.v
-src/Specific/solinas64_2e488m17_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e488m17_9limbs/femul.v
-src/Specific/solinas64_2e488m17_9limbs/femulDisplay.v
-src/Specific/solinas64_2e488m17_9limbs/fesquare.v
-src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e488m17_9limbs/fesub.v
-src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e488m17_9limbs/freeze.v
-src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e489m21_10limbs/CurveParameters.v
-src/Specific/solinas64_2e489m21_10limbs/Synthesis.v
-src/Specific/solinas64_2e489m21_10limbs/feadd.v
-src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e489m21_10limbs/fecarry.v
-src/Specific/solinas64_2e489m21_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e489m21_10limbs/femul.v
-src/Specific/solinas64_2e489m21_10limbs/femulDisplay.v
-src/Specific/solinas64_2e489m21_10limbs/fesquare.v
-src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e489m21_10limbs/fesub.v
-src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e489m21_10limbs/freeze.v
-src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e489m21_9limbs/CurveParameters.v
-src/Specific/solinas64_2e489m21_9limbs/Synthesis.v
-src/Specific/solinas64_2e489m21_9limbs/feadd.v
-src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e489m21_9limbs/fecarry.v
-src/Specific/solinas64_2e489m21_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e489m21_9limbs/femul.v
-src/Specific/solinas64_2e489m21_9limbs/femulDisplay.v
-src/Specific/solinas64_2e489m21_9limbs/fesquare.v
-src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e489m21_9limbs/fesub.v
-src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e489m21_9limbs/freeze.v
-src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e495m31_10limbs/CurveParameters.v
-src/Specific/solinas64_2e495m31_10limbs/Synthesis.v
-src/Specific/solinas64_2e495m31_10limbs/feadd.v
-src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e495m31_10limbs/fecarry.v
-src/Specific/solinas64_2e495m31_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e495m31_10limbs/femul.v
-src/Specific/solinas64_2e495m31_10limbs/femulDisplay.v
-src/Specific/solinas64_2e495m31_10limbs/fesquare.v
-src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e495m31_10limbs/fesub.v
-src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e495m31_10limbs/freeze.v
-src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e495m31_9limbs/CurveParameters.v
-src/Specific/solinas64_2e495m31_9limbs/Synthesis.v
-src/Specific/solinas64_2e495m31_9limbs/feadd.v
-src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e495m31_9limbs/fecarry.v
-src/Specific/solinas64_2e495m31_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e495m31_9limbs/femul.v
-src/Specific/solinas64_2e495m31_9limbs/femulDisplay.v
-src/Specific/solinas64_2e495m31_9limbs/fesquare.v
-src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e495m31_9limbs/fesub.v
-src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e495m31_9limbs/freeze.v
-src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.v
-src/Specific/solinas64_2e511m187_10limbs/CurveParameters.v
-src/Specific/solinas64_2e511m187_10limbs/Synthesis.v
-src/Specific/solinas64_2e511m187_10limbs/feadd.v
-src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e511m187_10limbs/fecarry.v
-src/Specific/solinas64_2e511m187_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e511m187_10limbs/femul.v
-src/Specific/solinas64_2e511m187_10limbs/femulDisplay.v
-src/Specific/solinas64_2e511m187_10limbs/fesquare.v
-src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e511m187_10limbs/fesub.v
-src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e511m187_10limbs/freeze.v
-src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e511m187_11limbs/CurveParameters.v
-src/Specific/solinas64_2e511m187_11limbs/Synthesis.v
-src/Specific/solinas64_2e511m187_11limbs/feadd.v
-src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.v
-src/Specific/solinas64_2e511m187_11limbs/fecarry.v
-src/Specific/solinas64_2e511m187_11limbs/fecarryDisplay.v
-src/Specific/solinas64_2e511m187_11limbs/femul.v
-src/Specific/solinas64_2e511m187_11limbs/femulDisplay.v
-src/Specific/solinas64_2e511m187_11limbs/fesquare.v
-src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.v
-src/Specific/solinas64_2e511m187_11limbs/fesub.v
-src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.v
-src/Specific/solinas64_2e511m187_11limbs/freeze.v
-src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.v
-src/Specific/solinas64_2e511m481_10limbs/CurveParameters.v
-src/Specific/solinas64_2e511m481_10limbs/Synthesis.v
-src/Specific/solinas64_2e511m481_10limbs/feadd.v
-src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e511m481_10limbs/fecarry.v
-src/Specific/solinas64_2e511m481_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e511m481_10limbs/femul.v
-src/Specific/solinas64_2e511m481_10limbs/femulDisplay.v
-src/Specific/solinas64_2e511m481_10limbs/fesquare.v
-src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e511m481_10limbs/fesub.v
-src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e511m481_10limbs/freeze.v
-src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e511m481_11limbs/CurveParameters.v
-src/Specific/solinas64_2e511m481_11limbs/Synthesis.v
-src/Specific/solinas64_2e511m481_11limbs/feadd.v
-src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.v
-src/Specific/solinas64_2e511m481_11limbs/fecarry.v
-src/Specific/solinas64_2e511m481_11limbs/fecarryDisplay.v
-src/Specific/solinas64_2e511m481_11limbs/femul.v
-src/Specific/solinas64_2e511m481_11limbs/femulDisplay.v
-src/Specific/solinas64_2e511m481_11limbs/fesquare.v
-src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.v
-src/Specific/solinas64_2e511m481_11limbs/fesub.v
-src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.v
-src/Specific/solinas64_2e511m481_11limbs/freeze.v
-src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.v
-src/Specific/solinas64_2e512m569_10limbs/CurveParameters.v
-src/Specific/solinas64_2e512m569_10limbs/Synthesis.v
-src/Specific/solinas64_2e512m569_10limbs/feadd.v
-src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e512m569_10limbs/fecarry.v
-src/Specific/solinas64_2e512m569_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e512m569_10limbs/femul.v
-src/Specific/solinas64_2e512m569_10limbs/femulDisplay.v
-src/Specific/solinas64_2e512m569_10limbs/fesquare.v
-src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e512m569_10limbs/fesub.v
-src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e512m569_10limbs/freeze.v
-src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e512m569_11limbs/CurveParameters.v
-src/Specific/solinas64_2e512m569_11limbs/Synthesis.v
-src/Specific/solinas64_2e512m569_11limbs/feadd.v
-src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.v
-src/Specific/solinas64_2e512m569_11limbs/fecarry.v
-src/Specific/solinas64_2e512m569_11limbs/fecarryDisplay.v
-src/Specific/solinas64_2e512m569_11limbs/femul.v
-src/Specific/solinas64_2e512m569_11limbs/femulDisplay.v
-src/Specific/solinas64_2e512m569_11limbs/fesquare.v
-src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.v
-src/Specific/solinas64_2e512m569_11limbs/fesub.v
-src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.v
-src/Specific/solinas64_2e512m569_11limbs/freeze.v
-src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.v
-src/Specific/solinas64_2e521m1_10limbs/CurveParameters.v
-src/Specific/solinas64_2e521m1_10limbs/Synthesis.v
-src/Specific/solinas64_2e521m1_10limbs/feadd.v
-src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.v
-src/Specific/solinas64_2e521m1_10limbs/fecarry.v
-src/Specific/solinas64_2e521m1_10limbs/fecarryDisplay.v
-src/Specific/solinas64_2e521m1_10limbs/femul.v
-src/Specific/solinas64_2e521m1_10limbs/femulDisplay.v
-src/Specific/solinas64_2e521m1_10limbs/fesquare.v
-src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.v
-src/Specific/solinas64_2e521m1_10limbs/fesub.v
-src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.v
-src/Specific/solinas64_2e521m1_10limbs/freeze.v
-src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.v
-src/Specific/solinas64_2e521m1_9limbs/CurveParameters.v
-src/Specific/solinas64_2e521m1_9limbs/Synthesis.v
-src/Specific/solinas64_2e521m1_9limbs/feadd.v
-src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.v
-src/Specific/solinas64_2e521m1_9limbs/fecarry.v
-src/Specific/solinas64_2e521m1_9limbs/fecarryDisplay.v
-src/Specific/solinas64_2e521m1_9limbs/femul.v
-src/Specific/solinas64_2e521m1_9limbs/femulDisplay.v
-src/Specific/solinas64_2e521m1_9limbs/fesquare.v
-src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.v
-src/Specific/solinas64_2e521m1_9limbs/fesub.v
-src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.v
-src/Specific/solinas64_2e521m1_9limbs/freeze.v
-src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.v
src/Util/AdditionChainExponentiation.v
src/Util/Arg.v
src/Util/AutoRewrite.v
diff --git a/capture.sh b/capture.sh
deleted file mode 100755
index bdc9e7d65..000000000
--- a/capture.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-set -eu
-
-grep -q constant_tsc /proc/cpuinfo || (echo "need constant_tsc" ; exit 100 )
-
-machine=$(etc/machine.sh)
-cpufreq=$(etc/cpufreq)
-tscfreq=$(etc/tscfreq)
-compiler=$($1/compiler.sh -dumpversion)
-revision=$(git rev-parse --short HEAD)
-status=$(git status -u no --porcelain >/dev/null && echo '+')
-tsccycles=$($1/measure $2 | (LC_ALL=C sort -n || true) | head "-$(($2/2))" | tail -1)
-cpucycles_expr="$tsccycles*$cpufreq/$tscfreq"
-cpucycles=$(echo "$cpucycles_expr" | bc)
-
-(
- grep -v "$machine" "$1/measurements.txt" 2>/dev/null || true;
- echo "$cpucycles =$cpucycles_expr $machine $compiler $revision$status"
-) | (LC_ALL=C sort -n || true) > "$1/measurements.txt.tmp"
-
-mv "$1/measurements.txt.tmp" "$1/measurements.txt"
diff --git a/measure.c b/etc/measure.c
index 8b206550e..8b206550e 100644
--- a/measure.c
+++ b/etc/measure.c
diff --git a/expansion.md b/expansion.md
deleted file mode 100644
index ca74dfcdc..000000000
--- a/expansion.md
+++ /dev/null
@@ -1,79 +0,0 @@
-This file is to list tractable, can-be-started-now expansions of the library.
-None of this is necessarily going to happen, but better have it here than in
-people's heads.
-
-**poly1305** spec and simple implementation using existing field-arithmetic
-synthesis tools and a Gallina-level loop. Possibly model this after the
-implementation in go.crypto for AMD64.
-
-**striping** for poly1305 -- evaluating a polynomial by splitting it into, for
-example, 4 polynomials such that coefficient i is in polynomial i mod 4 and
-evaluating the 4 polynomials in parallel, then combining results. Model this
-after Andy Polyakov's AVX2 code in OpenSSL.
-
-**precomputed** tables for ed25519 fixed-basepoint scalar multiplication. Model
-after the ed25519 paper and the go.crypto implementation. This would include
-implementing unsigned-to-signed conversion for bignums.
-
-**fixed window** variable-basepoint scalar multiplication. Currently we use
-binary exponentiation (window of 1 bit), but 4 would be much faster. See
-go.crypto ed25519 for reference, or maybe go.crypto p256.
-
-**homomorphism** from ed25519 to x25519 -- the signing scheme and key agreement
-system use the same curve but in different coordinates. The ed25519
-fixed-basepoint scalar multiplication with precomputed tables is faster than
-x25519 scalar multiplication which cannot use precomputed tables, so one would
-want to perform the computation in Edwards coordinates and then convert to
-Montgomery-X coordinates. Model after blog post on imperialvolet.org. First
-investigate whether this task actually depends on the next one.
-
-**elligator** encoding of ed25519 points, primarily requiring a homomorphism
-from Edwards coordinates to Weierstrass coordinates. This homomorphism would
-also validate our transcription of the x25519 spec. Model after the "Elligator
-2" in the Elligator paper and a imperialviolet.org post.
-
-**subgroup** membership checks for ed25519 -- the group has order 8*prime, but
-some algorithms require checking that the inputs are in the prime-order
-subgroup. Model github.com/yahoo/coname VRF implementation for an implementation
-of such checks, hopefully it also contains a reference to a paper that explained
-why these checks are sufficient. Capitalize on this by implementing VxEdDSA as
-specified by OpenWhisperSystems.
-
-**decaf** cofactor removal for the ed448-goldilocks elliptic curve as explained
-in the decaf paper. I don't know what a good use case for this would be, though.
-
-**ECDSA** signature scheme specification, to complement EdDSA. Synthesize code
-for some existing curve for to test it; the real target would be p256.
-
-**freeze** (field element canonicalization) the way Mike Hamburg does it -- it
-may or may not be better than our current one, but it very well might be less
-code+proof.
-
-**refined Montgomery multiplication** for p256 and maybe RSA. Model after the
-work of Shay Gueron and Vlad Krasnov -- the code is in OpenSSL ("rsaz" and
-"p256z" assembly for AMD64) and there are papers as well. Note that we already
-have proofs and code generation for some variants of Montgomery multiplication,
-so the first task would be to figure out how much of them can be reused.
-
-**Chinese Remainder Theorem** decomposition and recombination for RSA signing,
-maybe modeled after Brian Smith's ring library or go.crypto. Note that we would
-first need to have some story for modular multiplication at RSA sizes.
-
-**NewHope-simple** -- study it, see what would be needed to create an implementation.
-
-**McBits** -- study it, see what would be needed to create an implementation.
-
-**verified compilation** of PHOAS straight-line code to Jasmine-lang. This would
-involve register allocation and instruction scheduling.
-
-**verified compilation** of PHOAS code to VST C.
-
-**loops** for our PHOAS language. Possibly hardcoded to [fold_left] of [seq], or
-something else that is sufficient to encode C "for" loops. Importantly, we
-should have a way to reify existing code
-
-**modules** for our PHOAS language so we don't have to inline everything.
-Basically we want to allow one Coq-level object to represent a collection of
-PHOAS functions that may call one another. It should be possible to optimize one
-function using a verified PHOAS pass of whatever and maintain the correctness
-results of the other functions that call it.
diff --git a/extract-function-header.sh b/extract-function-header.sh
deleted file mode 100755
index 36676db06..000000000
--- a/extract-function-header.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-set -eu
-
-case "$#" in
- 0)
- funcname=f
- ;;
- 1)
- funcname="$1"
- ;;
- *)
- exit 111
- ;;
-esac
-
-cat <<"EOF"
-#include <stdint.h>
-
-#undef force_inline
-#define force_inline __attribute__((always_inline))
-
-EOF
-
-if [ -z "${BITWIDTH}" ]; then
- BITWIDTH=64
-fi
-
-while IFS= read -r line; do
- case "$line" in
- *"λ '"*)
- echo -n "void force_inline $funcname("
- echo -n "uint${BITWIDTH}_t* out"
- echo "$line" | grep -owP -- '\w+\d+' | \
- while IFS= read -r arg; do
- echo -n ", uint${BITWIDTH}_t $arg"
- done
- echo ');'
- break
- ;;
- esac
-done
diff --git a/extract-function.sh b/extract-function.sh
deleted file mode 100755
index 024dda40f..000000000
--- a/extract-function.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/sh
-set -eu
-
-case "$#" in
- 0)
- funcname=f
- ;;
- 1)
- funcname="$1"
- ;;
- *)
- exit 111
- ;;
-esac
-
-cat <<EOF
-#include <stdint.h>
-#include <stdbool.h>
-#include <x86intrin.h>
-#include "liblow.h"
-
-#include "$funcname.h"
-
-typedef unsigned int uint128_t __attribute__((mode(TI)));
-
-#if (defined(__GNUC__) || defined(__GNUG__)) && !(defined(__clang__)||defined(__INTEL_COMPILER))
-// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81294
-#define _subborrow_u32 __builtin_ia32_sbb_u32
-#define _subborrow_u64 __builtin_ia32_sbb_u64
-#endif
-
-#undef force_inline
-#define force_inline __attribute__((always_inline))
-
-EOF
-
-lines=0
-show=false
-brace='{ '
-close_brace='}'
-function_open_brace=''
-if [ ! -z "${FIAT_CRYPTO_EXTRACT_FUNCTION_IS_ASM}" ]; then
- function_open_brace=' {'
- brace=''
- close_brace=''
-fi
-if [ -z "${BITWIDTH}" ]; then
- BITWIDTH=64
-fi
-while IFS= read -r line; do
- case "$line" in
- *"λ '"*)
- echo -n "void force_inline $funcname("
- echo -n "uint${BITWIDTH}_t* out"
- echo "$line" | grep -owP -- '\w+\d+' | \
- while IFS= read -r arg; do
- echo -n ", uint${BITWIDTH}_t $arg"
- done
- echo -n ')'
- echo "${function_open_brace}"
- show=true
- ;;
- *"Return "*|*"return "*)
- i=0
- echo "$line" | \
- sed 's:return::g' | sed 's:Return::g' | tr -d '(' | tr -d ')' | tr , '\n' | sed 's/^\s\+//g' | \
- ( while IFS= read -r ret; do
- echo "out[$i] = $ret;"
- i=$((i+1))
- done;
- seq 2 "$lines" | while IFS= read -r _; do
- echo -n "${close_brace}"
- done
- echo "}"
- echo "// caller: uint${BITWIDTH}_t out[$i];" )
- show=false
- break
- ;;
- *)
- case "$show" in
- true)
- lines=$((lines+1))
- line="$(printf "%s" "$line" | \
- sed s':^\([^,]*\),\(\s*\)\([^ ]*\) \([^ ]*\)\(.*\)\(mulx.*\))\([; ]*\)$: \3 \4;\2\1\5_\6, \&\4)\7:' | \
- sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(addcarryx.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:' | \
- sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(subborrow.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:')"
- printf "%s%s\n" "${brace}" "${line}"
- ;;
- esac
- ;;
- esac
-done
diff --git a/failures.txt b/failures.txt
deleted file mode 100644
index fd37ef097..000000000
--- a/failures.txt
+++ /dev/null
@@ -1,144 +0,0 @@
-First, some failures are detected with in the heuristic script that picks number of limbs and etc:
-
-solinas32 2^383 - 421: Unable to pick a number of limbs for prime [[1, 383], [-421, 0]] and bitwidth 32 in range 17-85 limbs
-solinas64 2^383 - 421: Unable to pick a number of limbs for prime [[1, 383], [-421, 0]] and bitwidth 64 in range 7-35 limbs
-solinas32 2^383 - 187: Unable to pick a number of limbs for prime [[1, 383], [-187, 0]] and bitwidth 32 in range 16-80 limbs
-solinas64 2^383 - 187: Unable to pick a number of limbs for prime [[1, 383], [-187, 0]] and bitwidth 64 in range 7-35 limbs
-solinas32 2^383 - 31: Unable to pick a number of limbs for prime [[1, 383], [-31, 0]] and bitwidth 32 in range 15-75 limbs
-solinas64 2^383 - 31: Unable to pick a number of limbs for prime [[1, 383], [-31, 0]] and bitwidth 64 in range 7-35 limbs
-solinas32 2^389 - 21: Unable to pick a number of limbs for prime [[1, 389], [-21, 0]] and bitwidth 32 in range 15-75 limbs
-solinas64 2^389 - 21: Unable to pick a number of limbs for prime [[1, 389], [-21, 0]] and bitwidth 64 in range 7-35 limbs
-solinas32 2^413 - 21: Unable to pick a number of limbs for prime [[1, 413], [-21, 0]] and bitwidth 32 in range 16-80 limbs
-solinas32 2^256 - 4294968273: Unable to pick a number of limbs for prime [[1, 256], [-4294968273, 0]] and bitwidth 32 in range -256--1280 limbs
-
-Failures in the makefile pipeline are below.
-
-"." is a filler
-"synth" means that no code was synthesizd, either due to a side condition failure or timeout
-"bounds" means that code was synthesized but the intermediate values did not fit within machine registers
-Op means that code was synthesized, but some operations in it are not available in C
-the above are not mutually exclusive -- some files may fail to "synth" while others get "bounds" or "Op"
-
-src/Specific/solinas32_2e150m3 . bounds Op
-src/Specific/solinas32_2e174m3 . bounds Op
-src/Specific/solinas32_2e189m25 . bounds Op
-src/Specific/solinas32_2e190m11 . bounds Op
-src/Specific/solinas32_2e192m2e64m1 . bounds Op
-src/Specific/solinas32_2e196m15 . bounds Op
-src/Specific/solinas32_2e205m45x2e198m1 synth . Op
-src/Specific/solinas32_2e212m29 . bounds Op
-src/Specific/solinas32_2e224m2e96p1 synth bounds Op
-src/Specific/solinas32_2e226m5 . bounds Op
-src/Specific/solinas32_2e254m127x2e240m1 synth . Op
-src/Specific/solinas32_2e255m2e4m2e1m1 . bounds Op
-src/Specific/solinas32_2e256m2e224p2e192p2e96m1 synth bounds Op
-src/Specific/solinas32_2e256m88x2e240m1 synth . Op
-src/Specific/solinas32_2e336m3 . bounds Op
-src/Specific/solinas32_2e383m187 synth . .
-src/Specific/solinas32_2e383m31 synth . .
-src/Specific/solinas32_2e383m421 synth . .
-src/Specific/solinas32_2e384m2e128m2e96p2e32m1 synth bounds Op
-src/Specific/solinas32_2e384m5x2e368m1 synth . Op
-src/Specific/solinas32_2e384m79x2e376m1 synth . Op
-src/Specific/solinas32_2e389m21 synth . .
-src/Specific/solinas32_2e413m21 synth . .
-src/Specific/solinas32_2e448m2e224m1 . bounds Op
-src/Specific/solinas32_2e450m2e225m1 synth . Op
-src/Specific/solinas32_2e452m3 . bounds Op
-src/Specific/solinas32_2e480m2e240m1 . bounds Op
-src/Specific/solinas32_2e488m17 synth . Op
-src/Specific/solinas32_2e489m21 synth . Op
-src/Specific/solinas32_2e495m31 . bounds Op
-src/Specific/solinas32_2e510m290x2e496m1 synth . Op
-src/Specific/solinas32_2e511m187 synth . Op
-src/Specific/solinas32_2e511m481 synth . Op
-src/Specific/solinas32_2e512m491x2e496m1 synth . Op
-src/Specific/solinas32_2e512m569 synth . Op
-src/Specific/solinas64_2e205m45x2e198m1 synth . Op
-src/Specific/solinas64_2e224m2e96p1 synth bounds Op
-src/Specific/solinas64_2e254m127x2e240m1 synth . Op
-src/Specific/solinas64_2e256m2e224p2e192p2e96m1 synth bounds Op
-src/Specific/solinas64_2e256m2e32m977 . bounds Op
-src/Specific/solinas64_2e256m4294968273 synth . .
-src/Specific/solinas64_2e256m88x2e240m1 synth . Op
-src/Specific/solinas64_2e322m2e161m1 synth . Op
-src/Specific/solinas64_2e383m187 synth . .
-src/Specific/solinas64_2e383m31 synth . .
-src/Specific/solinas64_2e383m421 synth . .
-src/Specific/solinas64_2e384m2e128m2e96p2e32m1 synth bounds Op
-src/Specific/solinas64_2e384m5x2e368m1 synth . Op
-src/Specific/solinas64_2e384m79x2e376m1 synth . Op
-src/Specific/solinas64_2e389m21 synth . .
-src/Specific/solinas64_2e413m21 . bounds Op
-src/Specific/solinas64_2e510m290x2e496m1 synth . .
-src/Specific/solinas64_2e512m491x2e496m1 synth . Op
-src/Specific/montgomery32_2e194m33 . . Op
-src/Specific/montgomery32_2e196m15 . . Op
-src/Specific/montgomery32_2e198m17 . . Op
-src/Specific/montgomery32_2e226m5 . . Op
-src/Specific/montgomery32_2e230m27 synth . Op
-src/Specific/montgomery32_2e235m15 synth . .
-src/Specific/montgomery32_2e243m9 synth . .
-src/Specific/montgomery32_2e251m9 synth . .
-src/Specific/montgomery32_2e254m127x2e240m1 synth . .
-src/Specific/montgomery32_2e255m19 synth . .
-src/Specific/montgomery32_2e255m2e4m2e1m1 synth . .
-src/Specific/montgomery32_2e255m765 synth . .
-src/Specific/montgomery32_2e256m189 synth . .
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1 synth . .
-src/Specific/montgomery32_2e256m2e32m977 synth . .
-src/Specific/montgomery32_2e256m4294968273 synth . .
-src/Specific/montgomery32_2e256m88x2e240m1 synth . .
-src/Specific/montgomery32_2e266m3 synth . .
-src/Specific/montgomery32_2e285m9 synth . .
-src/Specific/montgomery32_2e291m19 synth . .
-src/Specific/montgomery32_2e321m9 synth . .
-src/Specific/montgomery32_2e322m2e161m1 synth . .
-src/Specific/montgomery32_2e336m17 synth . .
-src/Specific/montgomery32_2e336m3 synth . .
-src/Specific/montgomery32_2e338m15 synth . .
-src/Specific/montgomery32_2e369m25 synth . .
-src/Specific/montgomery32_2e379m19 synth . .
-src/Specific/montgomery32_2e382m105 synth . .
-src/Specific/montgomery32_2e383m187 synth . .
-src/Specific/montgomery32_2e383m31 synth . .
-src/Specific/montgomery32_2e383m421 synth . .
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1 synth . .
-src/Specific/montgomery32_2e384m317 synth . .
-src/Specific/montgomery32_2e384m5x2e368m1 synth . .
-src/Specific/montgomery32_2e384m79x2e376m1 synth . .
-src/Specific/montgomery32_2e389m21 synth . .
-src/Specific/montgomery32_2e401m31 synth . .
-src/Specific/montgomery32_2e413m21 synth . .
-src/Specific/montgomery32_2e414m17 synth . .
-src/Specific/montgomery32_2e416m2e208m1 synth . .
-src/Specific/montgomery32_2e444m17 synth . .
-src/Specific/montgomery32_2e448m2e224m1 synth . .
-src/Specific/montgomery32_2e450m2e225m1 synth . .
-src/Specific/montgomery32_2e452m3 synth . .
-src/Specific/montgomery32_2e468m17 synth . .
-src/Specific/montgomery32_2e480m2e240m1 synth . .
-src/Specific/montgomery32_2e488m17 synth . .
-src/Specific/montgomery32_2e489m21 synth . .
-src/Specific/montgomery32_2e495m31 synth . .
-src/Specific/montgomery32_2e510m290x2e496m1 synth . .
-src/Specific/montgomery32_2e511m187 synth . .
-src/Specific/montgomery32_2e511m481 synth . .
-src/Specific/montgomery32_2e512m491x2e496m1 synth . .
-src/Specific/montgomery32_2e512m569 synth . .
-src/Specific/montgomery32_2e521m1 synth . .
-src/Specific/montgomery64_2e256m4294968273 synth . .
-src/Specific/montgomery64_2e413m21 synth . .
-src/Specific/montgomery64_2e450m2e225m1 synth . .
-src/Specific/montgomery64_2e452m3 synth . .
-src/Specific/montgomery64_2e468m17 synth . .
-src/Specific/montgomery64_2e480m2e240m1 synth . .
-src/Specific/montgomery64_2e488m17 synth . .
-src/Specific/montgomery64_2e489m21 synth . .
-src/Specific/montgomery64_2e495m31 synth . .
-src/Specific/montgomery64_2e510m290x2e496m1 synth . .
-src/Specific/montgomery64_2e511m187 synth . .
-src/Specific/montgomery64_2e511m481 synth . .
-src/Specific/montgomery64_2e512m491x2e496m1 synth . .
-src/Specific/montgomery64_2e512m569 synth . .
-src/Specific/montgomery64_2e521m1 synth . .
diff --git a/generate_parameters.py b/generate_parameters.py
deleted file mode 100644
index 60ee5bce0..000000000
--- a/generate_parameters.py
+++ /dev/null
@@ -1,372 +0,0 @@
-
-'''
-EXAMPLES (handwritten):
-
-
-# p256 - amd128
-{
- "modulus" : "2^256-2^224+2^192+2^96-1",
- "base" : "128",
- "sz" : "2",
- "bitwidth" : "128",
- "montgomery" : "true",
- "operations" : ["fenz", "feadd", "femul", "feopp", "fesub"],
- "compiler" : "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing"
-}
-
-# p256 - amd64
-{
- "modulus" : "2^256-2^224+2^192+2^96-1",
- "base" : "64",
- "sz" : "4",
- "bitwidth" : "64",
- "montgomery" : "true",
- "operations" : ["fenz", "feadd", "femul", "feopp", "fesub"],
- "compiler" : "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing"
-}
-
-
-# p448 - c64
-{
- "modulus" : "2^448-2^224-1",
- "base" : "56",
- "goldilocks" : "true",
- "sz" : "8",
- "bitwidth" : "64",
- "carry_chains" : [[3, 7],
- [0, 4, 1, 5, 2, 6, 3, 7],
- [4, 0]],
- "coef_div_modulus" : "2",
- "operations" : ["femul"]
-}
-
-# curve25519 - c64
-{
- "modulus" : "2^255-19",
- "base" : "51",
- "sz" : "5",
- "bitwidth" : "64",
- "carry_chains" : "default",
- "coef_div_modulus" : "2",
- "operations" : ["femul", "fesquare", "freeze"],
- "compiler" : "gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes",
-}
-
-# curve25519 - c32
-{
- "modulus" : "2^255-19",
- "base" : "25.5",
- "sz" : "10",
- "bitwidth" : "32",
- "carry_chains" : "default",
- "coef_div_modulus" : "2",
- "operations" : ["femul", "fesquare", "freeze"],
- "compiler" : "gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes",
-}
-
-'''
-
-import math,json,sys,os,traceback,re,textwrap
-from fractions import Fraction
-
-CC = "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"
-CCX = "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"
-
-# for montgomery
-COMPILER_MONT = CC
-COMPILERXX_MONT = CCX
-# for solinas
-COMPILER_SOLI = CC
-COMPILERXX_SOLI = CCX
-CUR_PATH = os.path.dirname(os.path.realpath(__file__))
-JSON_DIRECTORY = os.path.join(CUR_PATH, "src/Specific/CurveParameters")
-REMAKE_CURVES = os.path.join(JSON_DIRECTORY, 'remake_curves.sh')
-
-class LimbPickingException(Exception): pass
-class NonBase2Exception(Exception): pass
-class UnexpectedPrimeException(Exception): pass
-
-# given a string representing one term or "tap" in a prime, returns a pair of
-# integers representing the weight and coefficient of that tap
-# "2 ^ y" -> [1, y]
-# "x * 2 ^ y" -> [x, y]
-# "x * y" -> [x*y,0]
-# "x" -> [x,0]
-def parse_term(t) :
- if "*" not in t and "^" not in t:
- return [int(t),0]
-
- if "*" in t:
- if len(t.split("*")) > 2: # this occurs when e.g. [w - x * y] has been turned into [w + -1 * x * y]
- a1,a2,b = t.split("*")
- a = int(a1) * int(a2)
- else:
- a,b = t.split("*")
- if "^" not in b:
- return [int(a) * int(b),0]
- else:
- a,b = (1,t)
-
- b,e = b.split("^")
- if int(b) != 2:
- raise NonBase2Exception("Could not parse term, power with base other than 2: %s" %t)
- return [int(a),int(e)]
-
-
-# expects prime to be a string and expressed as sum/difference of products of
-# two with small coefficients (e.g. '2^448 - 2^224 - 1', '2^255 - 19')
-def parse_prime(prime):
- prime = prime.replace("-", "+ -").replace(' ', '').replace('+-2^', '+-1*2^')
- terms = prime.split("+")
- return list(map(parse_term, terms))
-
-# check that the parsed prime makes sense
-def sanity_check(p):
- if not all([
- # are there at least 2 terms?
- len(p) > 1,
- # do all terms have 2 elements?
- all(map(lambda t:len(t) == 2, p)),
- # are terms are in order (most to least significant)?
- p == list(sorted(p,reverse=True,key=lambda t:t[1])),
- # does the least significant term have weight 2^0=1?
- p[-1][1] == 0,
- # are all the exponents positive and the coefficients nonzero?
- all(map(lambda t:t[0] != 0 and t[1] >= 0, p)),
- # is second-most-significant term negative?
- p[1][0] < 0,
- # are any exponents repeated?
- len(set(map(lambda t:t[1], p))) == len(p)]) :
- raise UnexpectedPrimeException("Parsed prime %s has unexpected format" %p)
-
-
-def eval_numexpr(numexpr):
- # copying from https://stackoverflow.com/a/25437733/377022
- numexpr = re.sub(r"\.(?![0-9])", "", numexpr) # purge any instance of '.' not followed by a number
- return eval(numexpr, {'__builtins__':None})
-
-def get_extra_compiler_params(q, base, bitwidth, sz):
- def log_wt(i):
- return int(math.ceil(sum(map(Fraction, map(str.strip, str(base).split('+')))) * i))
- q_int = eval_numexpr(q.replace('^', '**'))
- a24 = 12345 # TODO
- modulus_bytes = (q_int.bit_length()+7)//8
- limb_widths = repr('{%s}' % ','.join(str(int(log_wt(i + 1) - log_wt(i))) for i in range(sz)))
- defs = {
- 'q_mpz' : repr(re.sub(r'2(\s*)\^(\s*)([0-9]+)', r'(1_mpz\1<<\2\3)', str(q))),
- 'modulus_bytes_val' : repr(str(modulus_bytes)),
- 'modulus_array' : repr('{%s}' % ','.join(reversed(list('0x%02x' % ((q_int >> 8*i)&0xff) for i in range(modulus_bytes))))),
- 'a_minus_two_over_four_array' : repr('{%s}' % ','.join(reversed(list('0x%02x' % ((a24 >> 8*i)&0xff) for i in range(modulus_bytes))))),
- 'a24_val' : repr(str(a24)),
- 'a24_hex' : repr(hex(a24)),
- 'bitwidth' : repr(str(bitwidth)),
- 'modulus_limbs' : repr(str(sz)),
- 'limb_weight_gaps_array' : limb_widths
- }
- return ' ' + ' '.join('-D%s=%s' % (k, v) for k, v in sorted(defs.items()))
-
-def num_bits(p):
- return p[0][1]
-
-def get_params_montgomery(prime, bitwidth):
- p = parse_prime(prime)
- sanity_check(p)
- sz = int(math.ceil(num_bits(p) / float(bitwidth)))
- return [{
- "modulus" : prime,
- "base" : str(bitwidth),
- "sz" : str(sz),
- "montgomery" : True,
- "operations" : ["fenz", "feadd", "femul", "feopp", "fesub"],
- "extra_files" : ["montgomery%s/fesquare.c" % str(bitwidth)],
- "compiler" : COMPILER_MONT + get_extra_compiler_params(prime, bitwidth, bitwidth, sz),
- "compilerxx" : COMPILERXX_MONT + get_extra_compiler_params(prime, bitwidth, bitwidth, sz)
- }]
-
-def place(weight, nlimbs, wt):
- for i in range(nlimbs):
- if weight(i) <= wt and weight(i+1) > wt:
- return i
- return None
-
-def solinas_reduce(p, pprods):
- out = []
- for wt, x in pprods:
- if wt >= num_bits(p):
- for coef, exp in p[1:]:
- out.append((wt - num_bits(p) + exp, -coef * x))
- else:
- out.append((wt, x))
- return out
-
-# check if the suggested number of limbs will overflow when adding partial
-# products after a multiplication and then doing solinas reduction
-def overflow_free(p, bitwidth, nlimbs):
- # weight (exponent only)
- weight = lambda n : math.ceil(n * (num_bits(p) / nlimbs))
- # bit widths in canonical form
- width = lambda i : weight(i + 1) - weight(i)
-
- # num of bits in each term after 1 addition of things with bounds at 1.125 * width
- start = [(2**width(i))*1.125*2-1 for i in range(nlimbs)]
-
- # get partial products in (weight, # bits) pairs
- pp = [(weight(i) + weight(j), start[i] * start[j]) for i in range(nlimbs) for j in range(nlimbs)]
-
- # reduction step
- ppr = pp
- while max(ppr, key=lambda t:t[0])[0] >= num_bits(p):
- ppr = solinas_reduce(p, ppr)
-
- # accumulate partial products
- cols = [[] for _ in range(nlimbs)]
- for wt, x in ppr:
- i = place(weight, nlimbs, wt)
- if i == None:
- raise LimbPickingException("Could not place weight %s (%s limbs, p=%s)" %(wt, nlimbs, p))
- cols[i].append(x * (2**(wt - weight(i))))
-
- # add partial products together at each position
- final = [math.log2(sum(ls)) if sum(ls) > 0 else 0 for ls in cols]
- #print(nlimbs, list(map(lambda x: round(x,1), final)))
-
- result = all(map(lambda x:x < 2*bitwidth, final))
- return result
-
-# given a parsed prime, pick out all plausible numbers of (unsaturated) limbs
-def get_possible_limbs(p, bitwidth):
- # we want to leave enough bits unused to do a full solinas reduction
- # without carrying; the number of bits necessary is the sum of the bits in
- # the negative coefficients of p (other than the most significant digit)
- unused_bits = sum(map(lambda t: math.ceil(math.log(-t[0], 2)) if t[0] < 0 else 0, p[1:]))
- min_limbs = int(math.ceil(num_bits(p) / (bitwidth - unused_bits)))
-
- # don't search past 2x as many limbs as saturated representation; that's just wasteful
- result = list(filter(lambda n : overflow_free(p, bitwidth, n), range(min_limbs, 2*min_limbs)))
- # print("for prime %s, %s / %s limb choices were successful" %(p, len(result), min_limbs))
- return result
-
-def is_goldilocks(p):
- return p[0][1] == 2 * p[1][1]
-
-def format_base(numerator, denominator):
- if numerator % denominator == 0:
- base = int(numerator / denominator)
- else:
- base = Fraction(numerator=numerator, denominator=denominator)
- if base.denominator in (1, 2, 4, 5, 8, 10):
- base = float(base)
- else:
- base_int, base_frac = int(base), base - int(base)
- base = '%d + %s' % (base_int, str(base_frac))
- return base
-
-# removes latest occurences, preserves order
-def remove_duplicates(l):
- seen = []
- for x in l:
- if x not in seen:
- seen.append(x)
- return seen
-
-def get_params_solinas(prime, bitwidth):
- p = parse_prime(prime)
- sanity_check(p)
- out = []
- l = get_possible_limbs(p, bitwidth)
- if len(l) == 0:
- raise LimbPickingException("Could not find a good number of limbs for prime %s and bitwidth %s" %(prime, bitwidth))
- # only use the top 2 choices
- for sz in l[:2]:
- base = format_base(num_bits(p), sz)
-
- # Uncomment to pretty-print primes/bases
- # print(" ".join(map(str, [prime, " "*(35-len(prime)), bitwidth, base, sz])))
-
- if len(p) > 2:
- # do interleaved carry chains, starting at where the taps are
- starts = [(int(t[1] / (num_bits(p) / sz)) - 1) % sz for t in p[1:]]
- chain2 = []
- for n in range(1,sz):
- for j in starts:
- chain2.append((j + n) % sz)
- chain2 = remove_duplicates(chain2)
- chain3 = list(map(lambda x:(x+1)%sz,starts))
- carry_chains = [starts,chain2,chain3]
- else:
- carry_chains = "default"
- params = {
- "modulus": prime,
- "base" : str(base),
- "sz" : str(sz),
- "bitwidth" : bitwidth,
- "carry_chains" : carry_chains,
- "coef_div_modulus" : str(2),
- "operations" : ["femul", "feadd", "fesub", "fesquare", "fecarry", "freeze"],
- "compiler" : COMPILER_SOLI + get_extra_compiler_params(prime, base, bitwidth, sz),
- "compilerxx" : COMPILERXX_SOLI + get_extra_compiler_params(prime, base, bitwidth, sz)
- }
- if is_goldilocks(p):
- params["goldilocks"] = True
- out.append(params)
- return out
-
-def write_if_changed(filename, contents):
- if os.path.isfile(filename):
- with open(filename, 'r') as f:
- old = f.read()
- if old == contents: return
- with open(filename, 'w') as f:
- f.write(contents)
-
-def update_remake_curves(filename):
- with open(REMAKE_CURVES, 'r') as f:
- lines = f.readlines()
- new_line = '${MAKE} "$@" %s ../%s/\n' % (filename, filename[:-len('.json')])
- if new_line in lines: return
- if any(filename in line for line in lines):
- lines = [(line if filename not in line else new_line)
- for line in lines]
- else:
- lines.append(new_line)
- write_if_changed(REMAKE_CURVES, ''.join(lines))
-
-def format_json(params):
- return json.dumps(params, indent=4, separators=(',', ': '), sort_keys=True) + '\n'
-
-
-def write_output(name, params):
- prime = params["modulus"]
- nlimbs = params["sz"]
- filename = (name + "_" + prime + "_" + nlimbs + "limbs" + ".json").replace("^","e").replace(" ","").replace("-","m").replace("+","p").replace("*","x")
-
- write_if_changed(os.path.join(JSON_DIRECTORY, filename),
- format_json(params))
- update_remake_curves(filename)
-
-def try_write_output(name, get_params, prime, bitwidth):
- try:
- all_params = get_params(prime, bitwidth)
- for params in all_params:
- write_output(name, params)
- except (LimbPickingException, NonBase2Exception, UnexpectedPrimeException) as e:
- print(e)
- except Exception as e:
- traceback.print_exc()
-
-USAGE = "python generate_parameters.py input_file"
-if __name__ == "__main__":
- if len(sys.argv) < 2:
- print(USAGE)
- sys.exit()
- f = open(sys.argv[1])
- for line in f:
- # skip comments and empty lines
- if line.strip().startswith("#") or len(line.strip()) == 0:
- continue
- prime = line.split("#")[0].strip() # remove trailing comments and trailing/leading whitespace
- try_write_output("montgomery32", get_params_montgomery, prime, 32)
- try_write_output("montgomery64", get_params_montgomery, prime, 64)
- try_write_output("solinas32", get_params_solinas, prime, 32)
- try_write_output("solinas64", get_params_solinas, prime, 64)
- f.close()
diff --git a/liblow/cmovznz.c b/liblow/cmovznz.c
deleted file mode 100644
index f0b3012b6..000000000
--- a/liblow/cmovznz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdint.h>
-#include "liblow.h"
-uint64_t cmovznz(uint64_t t, uint64_t z, uint64_t nz) {
- asm ("testq %1, %1;" "\n"
- "\t" "cmovnzq %3, %0;"
- :"=r"(z)
- :"r"(t), "0"(z), "r"(nz)
- );
- return z;
-}
-uint64_t cmovznz64(uint64_t t, uint64_t z, uint64_t nz) {
- return cmovznz(t, z, nz);
-}
diff --git a/liblow/liblow.h b/liblow/liblow.h
deleted file mode 100644
index 69764c4a8..000000000
--- a/liblow/liblow.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdint.h>
-uint64_t cmovznz(uint64_t t, uint64_t z, uint64_t nz);
-uint64_t cmovznz64(uint64_t t, uint64_t z, uint64_t nz);
diff --git a/measurements/2017-11-03-gcc/aggregate.sh b/measurements/2017-11-03-gcc/aggregate.sh
deleted file mode 100644
index 590a45a0e..000000000
--- a/measurements/2017-11-03-gcc/aggregate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-for f in $(find . -name gmpxx.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tgmpxx\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
-for f in $(find . -name gmpsec.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tgmpsec\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
-for f in $(find . -name gmpvar.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tgmpvar\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
-for f in $(find . -name fibe.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tfibe_$(basename "$(dirname "$f")" | cut -d_ -f1)\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
diff --git a/measurements/2017-11-03-gcc/benchmarks.log b/measurements/2017-11-03-gcc/benchmarks.log
deleted file mode 100644
index 14eaeb6d3..000000000
--- a/measurements/2017-11-03-gcc/benchmarks.log
+++ /dev/null
@@ -1,652 +0,0 @@
-2^127-1 fiat_solinas64 0.00
-2^129-25 fiat_solinas64 0.00
-2^130-5 fiat_solinas64 0.00
-2^141-9 fiat_solinas64 0.00
-2^150-3 fiat_solinas64 0.00
-2^150-5 fiat_solinas64 0.00
-2^165-25 fiat_solinas64 0.00
-2^166-5 fiat_solinas64 0.00
-2^171-19 fiat_solinas64 0.00
-2^174-17 fiat_solinas64 0.00
-2^174-3 fiat_solinas64 0.00
-2^130-5 fiat_solinas32 0.04
-2^127-1 fiat_solinas32 0.05
-2^140-27 fiat_solinas64 0.05
-2^158-15 fiat_solinas32 0.05
-2^196-15 fiat_solinas64 0.05
-2^212-29 fiat_solinas64 0.05
-2^216-2^108-1 fiat_solinas64 0.05
-2^222-117 fiat_solinas64 0.05
-2^230-27 fiat_solinas64 0.05
-2^127-1 fiat_montgomery64 0.06
-2^129-25 fiat_solinas32 0.06
-2^137-13 fiat_solinas64 0.06
-2^140-27 fiat_solinas32 0.06
-2^141-9 fiat_solinas32 0.06
-2^150-5 fiat_solinas32 0.06
-2^152-17 fiat_solinas32 0.06
-2^152-17 fiat_solinas64 0.06
-2^158-15 fiat_solinas64 0.06
-2^189-25 fiat_solinas64 0.06
-2^190-11 fiat_solinas64 0.06
-2^194-33 fiat_solinas64 0.06
-2^198-17 fiat_solinas64 0.06
-2^206-5 fiat_solinas64 0.06
-2^213-3 fiat_solinas64 0.06
-2^221-3 fiat_solinas64 0.06
-2^226-5 fiat_solinas64 0.06
-2^191-19 fiat_solinas64 0.07
-2^192-2^64-1 fiat_solinas64 0.07
-2^235-15 fiat_solinas64 0.07
-2^251-9 fiat_solinas64 0.07
-2^255-19 fiat_solinas64 0.07
-2^255-765 fiat_solinas64 0.07
-2^256-189 fiat_solinas64 0.07
-2^266-3 fiat_solinas64 0.07
-2^285-9 fiat_solinas64 0.07
-2^216-2^108-1 fiat_solinas32 0.08
-2^255-2^4-2^1-1 fiat_solinas64 0.08
-2^291-19 fiat_solinas64 0.08
-2^137-13 fiat_solinas32 0.09
-2^194-33 fiat_solinas32 0.09
-2^243-9 fiat_solinas64 0.09
-2^336-17 fiat_solinas64 0.09
-2^336-3 fiat_solinas64 0.09
-2^243-9 fiat_solinas32 0.10
-2^321-9 fiat_solinas64 0.10
-2^338-15 fiat_solinas64 0.10
-2^165-25 fiat_solinas32 0.11
-2^171-19 fiat_solinas32 0.11
-2^174-17 fiat_solinas32 0.11
-2^198-17 fiat_solinas32 0.11
-2^235-15 fiat_solinas32 0.11
-2^191-19 fiat_solinas32 0.12
-2^127-1 fiat_montgomery32 0.13
-2^221-3 fiat_solinas32 0.13
-2^222-117 fiat_solinas32 0.13
-2^230-27 fiat_solinas32 0.13
-2^251-9 fiat_solinas32 0.13
-2^255-19 fiat_solinas32 0.13
-2^379-19 fiat_solinas64 0.13
-2^416-2^208-1 fiat_solinas64 0.13
-2^448-2^224-1 fiat_solinas64 0.13
-2^450-2^225-1 fiat_solinas64 0.14
-2^480-2^240-1 fiat_solinas64 0.14
-2^127-1 gmpvar 0.15
-2^166-5 fiat_solinas32 0.15
-2^369-25 fiat_solinas64 0.15
-2^384-317 fiat_solinas64 0.15
-2^468-17 fiat_solinas64 0.15
-2^401-31 fiat_solinas64 0.16
-2^444-17 fiat_solinas64 0.16
-2^452-3 fiat_solinas64 0.16
-2^206-5 fiat_solinas32 0.17
-2^266-3 fiat_solinas32 0.17
-2^255-765 fiat_solinas32 0.18
-2^256-189 fiat_solinas32 0.18
-2^291-19 fiat_solinas32 0.18
-2^414-17 fiat_solinas64 0.18
-2^489-21 fiat_solinas64 0.18
-2^256-2^32-977 fiat_solinas32 0.19
-2^495-31 fiat_solinas64 0.19
-2^521-1 fiat_solinas64 0.20
-2^338-15 fiat_solinas32 0.22
-2^382-105 fiat_solinas64 0.22
-2^511-481 fiat_solinas64 0.23
-2^512-569 fiat_solinas64 0.23
-2^192-2^64-1 gmpvar 0.24
-2^192-2^64-1 gmpvar 0.25
-2^127-1 gmpsec 0.26
-2^191-19 gmpvar 0.26
-2^511-187 fiat_solinas64 0.26
-2^129-25 gmpvar 0.27
-2^130-5 gmpvar 0.27
-2^137-13 gmpvar 0.27
-2^140-27 gmpvar 0.27
-2^141-9 gmpvar 0.27
-2^150-3 gmpvar 0.27
-2^150-5 gmpvar 0.27
-2^152-17 gmpvar 0.27
-2^158-15 gmpvar 0.27
-2^165-25 gmpvar 0.27
-2^166-5 gmpvar 0.27
-2^171-19 gmpvar 0.27
-2^174-17 gmpvar 0.27
-2^174-3 gmpvar 0.27
-2^189-25 gmpvar 0.27
-2^190-11 gmpvar 0.27
-2^191-19 gmpvar 0.27
-2^130-5 gmpvar 0.28
-2^137-13 gmpvar 0.28
-2^140-27 gmpvar 0.28
-2^141-9 gmpvar 0.28
-2^150-5 gmpvar 0.28
-2^152-17 gmpvar 0.28
-2^158-15 gmpvar 0.28
-2^171-19 gmpvar 0.28
-2^174-17 gmpvar 0.28
-2^190-11 gmpvar 0.28
-2^192-2^64-1 gmpsec 0.28
-2^129-25 gmpvar 0.29
-2^137-13 gmpvar 0.30
-2^255-19 gmpvar 0.32
-2^255-2^4-2^1-1 gmpvar 0.32
-2^255-765 gmpvar 0.32
-2^256-2^224+2^192+2^96-1 gmpvar 0.32
-2^171-19 gmpvar 0.33
-2^194-33 gmpvar 0.33
-2^198-17 gmpvar 0.33
-2^216-2^108-1 gmpvar 0.33
-2^221-3 gmpvar 0.33
-2^222-117 gmpvar 0.33
-2^224-2^96+1 gmpvar 0.33
-2^255-2^4-2^1-1 gmpvar 0.33
-2^255-765 gmpvar 0.33
-2^256-189 gmpvar 0.33
-2^256-2^224+2^192+2^96-1 gmpvar 0.33
-2^256-2^32-977 gmpvar 0.33
-2^194-33 gmpvar 0.34
-2^196-15 gmpvar 0.34
-2^198-17 gmpvar 0.34
-2^205-45x2^198-1 gmpvar 0.34
-2^206-5 gmpvar 0.34
-2^212-29 gmpvar 0.34
-2^213-3 gmpvar 0.34
-2^216-2^108-1 gmpvar 0.34
-2^221-3 gmpvar 0.34
-2^222-117 gmpvar 0.34
-2^224-2^96+1 gmpvar 0.34
-2^226-5 gmpvar 0.34
-2^230-27 gmpvar 0.34
-2^235-15 gmpvar 0.34
-2^243-9 gmpvar 0.34
-2^251-9 gmpvar 0.34
-2^254-127x2^240-1 gmpvar 0.34
-2^256-189 gmpvar 0.34
-2^256-2^32-977 gmpvar 0.34
-2^256-88x2^240-1 gmpvar 0.34
-2^196-15 gmpvar 0.35
-2^205-45x2^198-1 gmpvar 0.35
-2^212-29 gmpvar 0.35
-2^216-2^108-1 gmpvar 0.35
-2^222-117 gmpvar 0.35
-2^230-27 gmpvar 0.35
-2^235-15 gmpvar 0.35
-2^254-127x2^240-1 gmpvar 0.35
-2^256-2^32-977 gmpvar 0.35
-2^205-45x2^198-1 gmpvar 0.36
-2^243-9 gmpvar 0.36
-2^256-88x2^240-1 gmpvar 0.36
-2^190-11 gmpsec 0.37
-2^191-19 gmpsec 0.37
-2^256-189 gmpsec 0.37
-2^256-2^224+2^192+2^96-1 gmpsec 0.37
-2^256-2^32-977 gmpsec 0.37
-2^256-88x2^240-1 gmpsec 0.37
-2^129-25 gmpsec 0.38
-2^130-5 gmpsec 0.38
-2^137-13 gmpsec 0.38
-2^140-27 gmpsec 0.38
-2^141-9 gmpsec 0.38
-2^150-3 gmpsec 0.38
-2^150-5 gmpsec 0.38
-2^152-17 gmpsec 0.38
-2^158-15 gmpsec 0.38
-2^165-25 gmpsec 0.38
-2^166-5 gmpsec 0.38
-2^174-17 gmpsec 0.38
-2^174-3 gmpsec 0.38
-2^189-25 gmpsec 0.38
-2^190-11 gmpsec 0.38
-2^191-19 gmpsec 0.38
-2^256-189 gmpsec 0.38
-2^256-2^224+2^192+2^96-1 gmpsec 0.38
-2^256-2^32-977 gmpsec 0.38
-2^256-88x2^240-1 gmpsec 0.38
-2^137-13 gmpsec 0.39
-2^140-27 gmpsec 0.39
-2^158-15 gmpsec 0.39
-2^165-25 gmpsec 0.39
-2^166-5 gmpsec 0.39
-2^171-19 gmpsec 0.39
-2^174-17 gmpsec 0.39
-2^174-3 gmpsec 0.39
-2^189-25 gmpsec 0.39
-2^256-189 gmpsec 0.39
-2^137-13 gmpsec 0.40
-2^256-2^224+2^192+2^96-1 gmpsec 0.41
-2^266-3 gmpvar 0.42
-2^285-9 gmpvar 0.42
-2^291-19 gmpvar 0.42
-2^251-9 gmpvar 0.43
-2^285-9 gmpvar 0.43
-2^291-19 gmpvar 0.43
-2^291-19 gmpvar 0.44
-2^266-3 gmpvar 0.45
-2^285-9 gmpvar 0.45
-2^384-2^128-2^96+2^32-1 gmpvar 0.45
-2^384-317 gmpvar 0.45
-2^384-5x2^368-1 gmpvar 0.45
-2^384-79x2^376-1 gmpvar 0.45
-2^384-2^128-2^96+2^32-1 gmpvar 0.46
-2^384-317 gmpvar 0.46
-2^384-79x2^376-1 gmpvar 0.46
-2^255-19 gmpsec 0.47
-2^255-2^4-2^1-1 gmpsec 0.47
-2^255-765 gmpsec 0.47
-2^384-317 gmpvar 0.47
-2^384-5x2^368-1 gmpvar 0.47
-2^384-79x2^376-1 gmpvar 0.47
-2^255-19 gmpsec 0.48
-2^255-2^4-2^1-1 gmpsec 0.48
-2^255-765 gmpsec 0.48
-2^212-29 gmpsec 0.49
-2^213-3 gmpsec 0.49
-2^216-2^108-1 gmpsec 0.49
-2^221-3 gmpsec 0.49
-2^224-2^96+1 gmpsec 0.49
-2^226-5 gmpsec 0.49
-2^230-27 gmpsec 0.49
-2^235-15 gmpsec 0.49
-2^243-9 gmpsec 0.49
-2^254-127x2^240-1 gmpsec 0.49
-2^255-765 gmpsec 0.49
-2^383-187 gmpvar 0.49
-2^194-33 gmpsec 0.50
-2^196-15 gmpsec 0.50
-2^205-45x2^198-1 gmpsec 0.50
-2^206-5 gmpsec 0.50
-2^212-29 gmpsec 0.50
-2^213-3 gmpsec 0.50
-2^216-2^108-1 gmpsec 0.50
-2^222-117 gmpsec 0.50
-2^224-2^96+1 gmpsec 0.50
-2^226-5 gmpsec 0.50
-2^230-27 gmpsec 0.50
-2^235-15 gmpsec 0.50
-2^243-9 gmpsec 0.50
-2^251-9 gmpsec 0.50
-2^254-127x2^240-1 gmpsec 0.50
-2^383-187 gmpvar 0.50
-2^383-31 gmpvar 0.50
-2^198-17 gmpsec 0.51
-2^213-3 gmpsec 0.51
-2^221-3 gmpsec 0.51
-2^224-2^96+1 gmpsec 0.51
-2^226-5 gmpsec 0.51
-2^230-27 gmpsec 0.51
-2^235-15 gmpsec 0.51
-2^243-9 gmpsec 0.51
-2^254-127x2^240-1 gmpsec 0.51
-2^383-421 gmpvar 0.51
-2^198-17 gmpsec 0.52
-2^206-5 gmpsec 0.52
-2^221-3 gmpsec 0.52
-2^251-9 gmpsec 0.52
-2^322-2^161-1 gmpvar 0.52
-2^336-17 gmpvar 0.52
-2^336-3 gmpvar 0.52
-2^338-15 gmpvar 0.52
-2^369-25 gmpvar 0.52
-2^379-19 gmpvar 0.52
-2^382-105 gmpvar 0.52
-2^384-2^128-2^96+2^32-1 fiat_montgomery64 0.52
-2^198-17 gmpsec 0.53
-2^321-9 gmpvar 0.53
-2^322-2^161-1 gmpvar 0.53
-2^336-3 gmpvar 0.53
-2^338-15 gmpvar 0.53
-2^369-25 gmpvar 0.53
-2^379-19 gmpvar 0.53
-2^382-105 gmpvar 0.53
-2^383-421 gmpvar 0.53
-2^448-2^224-1 gmpvar 0.53
-2^336-17 gmpvar 0.54
-2^379-19 gmpvar 0.54
-2^127-1 gmpxx 0.55
-2^382-105 gmpvar 0.55
-2^448-2^224-1 gmpvar 0.55
-2^127-1 gmpxx 0.56
-2^206-5 gmpsec 0.58
-2^401-31 gmpvar 0.59
-2^413-21 gmpvar 0.59
-2^414-17 gmpvar 0.59
-2^416-2^208-1 gmpvar 0.59
-2^444-17 gmpvar 0.59
-2^127-1 gmpxx 0.60
-2^389-21 gmpvar 0.60
-2^401-31 gmpvar 0.60
-2^413-21 gmpvar 0.60
-2^414-17 gmpvar 0.60
-2^416-2^208-1 gmpvar 0.60
-2^384-317 gmpsec 0.61
-2^389-21 gmpvar 0.61
-2^401-31 gmpvar 0.61
-2^414-17 gmpvar 0.61
-2^416-2^208-1 gmpvar 0.61
-2^444-17 gmpvar 0.61
-2^512-491x2^496-1 gmpvar 0.61
-2^512-569 gmpvar 0.61
-2^384-2^128-2^96+2^32-1 gmpsec 0.62
-2^384-317 gmpsec 0.62
-2^384-5x2^368-1 gmpsec 0.62
-2^384-79x2^376-1 gmpsec 0.62
-2^512-491x2^496-1 gmpvar 0.62
-2^512-569 gmpvar 0.62
-2^512-491x2^496-1 gmpvar 0.63
-2^266-3 gmpsec 0.64
-2^285-9 gmpsec 0.64
-2^291-19 gmpsec 0.64
-2^511-481 gmpvar 0.64
-2^285-9 gmpsec 0.65
-2^384-2^128-2^96+2^32-1 gmpsec 0.65
-2^511-187 gmpvar 0.65
-2^511-481 gmpvar 0.65
-2^266-3 gmpsec 0.66
-2^291-19 gmpsec 0.66
-2^285-9 gmpsec 0.67
-2^511-481 gmpvar 0.67
-2^137-13 gmpxx 0.68
-2^291-19 gmpsec 0.68
-2^450-2^225-1 gmpvar 0.68
-2^468-17 gmpvar 0.68
-2^480-2^240-1 gmpvar 0.68
-2^489-21 gmpvar 0.68
-2^495-31 gmpvar 0.68
-2^510-290x2^496-1 gmpvar 0.68
-2^137-13 gmpxx 0.69
-2^140-27 gmpxx 0.69
-2^141-9 gmpxx 0.69
-2^150-5 gmpxx 0.69
-2^450-2^225-1 gmpvar 0.69
-2^468-17 gmpvar 0.69
-2^480-2^240-1 gmpvar 0.69
-2^488-17 gmpvar 0.69
-2^489-21 gmpvar 0.69
-2^495-31 gmpvar 0.69
-2^510-290x2^496-1 gmpvar 0.69
-2^137-13 gmpxx 0.70
-2^141-9 gmpxx 0.70
-2^150-3 gmpxx 0.70
-2^150-5 gmpxx 0.70
-2^152-17 gmpxx 0.70
-2^450-2^225-1 gmpvar 0.70
-2^452-3 gmpvar 0.70
-2^468-17 gmpvar 0.70
-2^488-17 gmpvar 0.70
-2^150-3 gmpxx 0.71
-2^150-5 gmpxx 0.71
-2^158-15 gmpxx 0.71
-2^452-3 gmpvar 0.71
-2^468-17 gmpvar 0.71
-2^129-25 gmpxx 0.72
-2^130-5 gmpxx 0.72
-2^158-15 gmpxx 0.72
-2^165-25 gmpxx 0.72
-2^166-5 gmpxx 0.72
-2^174-17 gmpxx 0.72
-2^130-5 gmpxx 0.73
-2^152-17 gmpxx 0.73
-2^165-25 gmpxx 0.73
-2^166-5 gmpxx 0.73
-2^171-19 gmpxx 0.73
-2^174-17 gmpxx 0.73
-2^174-3 gmpxx 0.73
-2^191-19 gmpxx 0.73
-2^192-2^64-1 gmpxx 0.73
-2^452-3 gmpvar 0.73
-2^129-25 gmpxx 0.74
-2^130-5 gmpxx 0.74
-2^166-5 gmpxx 0.74
-2^171-19 gmpxx 0.74
-2^174-17 gmpxx 0.74
-2^189-25 gmpxx 0.74
-2^171-19 gmpxx 0.75
-2^189-25 gmpxx 0.75
-2^190-11 gmpxx 0.75
-2^191-19 gmpxx 0.75
-2^383-187 gmpsec 0.75
-2^383-31 gmpsec 0.75
-2^383-421 gmpsec 0.75
-2^189-25 gmpxx 0.76
-2^190-11 gmpxx 0.76
-2^383-187 gmpsec 0.76
-2^129-25 gmpxx 0.77
-2^448-2^224-1 gmpsec 0.77
-2^322-2^161-1 gmpsec 0.78
-2^448-2^224-1 gmpsec 0.78
-2^150-5 gmpxx 0.79
-2^321-9 gmpsec 0.79
-2^322-2^161-1 gmpsec 0.79
-2^336-17 gmpsec 0.79
-2^336-3 gmpsec 0.79
-2^338-15 gmpsec 0.79
-2^369-25 gmpsec 0.79
-2^379-19 gmpsec 0.79
-2^382-105 gmpsec 0.79
-2^322-2^161-1 gmpsec 0.80
-2^336-17 gmpsec 0.80
-2^336-3 gmpsec 0.80
-2^338-15 gmpsec 0.80
-2^369-25 gmpsec 0.80
-2^379-19 gmpsec 0.80
-2^382-105 gmpsec 0.80
-2^321-9 gmpsec 0.81
-2^322-2^161-1 gmpsec 0.81
-2^382-105 gmpsec 0.81
-2^521-1 gmpvar 0.81
-2^198-17 gmpxx 0.82
-2^206-5 gmpxx 0.82
-2^212-29 gmpxx 0.82
-2^521-1 gmpvar 0.82
-2^196-15 gmpxx 0.83
-2^206-5 gmpxx 0.83
-2^212-29 gmpxx 0.83
-2^213-3 gmpxx 0.83
-2^222-117 gmpxx 0.83
-2^336-17 gmpsec 0.83
-2^196-15 gmpxx 0.84
-2^198-17 gmpxx 0.84
-2^221-3 gmpxx 0.84
-2^222-117 gmpxx 0.84
-2^256-189 gmpxx 0.84
-2^256-2^224+2^192+2^96-1 gmpxx 0.84
-2^256-2^32-977 gmpxx 0.84
-2^256-88x2^240-1 gmpxx 0.84
-2^521-1 gmpvar 0.84
-2^196-15 gmpxx 0.85
-2^198-17 gmpxx 0.85
-2^206-5 gmpxx 0.85
-2^213-3 gmpxx 0.85
-2^221-3 gmpxx 0.85
-2^222-117 gmpxx 0.85
-2^226-5 gmpxx 0.85
-2^255-19 gmpxx 0.85
-2^255-2^4-2^1-1 gmpxx 0.85
-2^256-189 gmpxx 0.85
-2^256-2^32-977 gmpxx 0.85
-2^256-88x2^240-1 gmpxx 0.85
-2^198-17 gmpxx 0.86
-2^205-45x2^198-1 gmpxx 0.86
-2^212-29 gmpxx 0.86
-2^216-2^108-1 gmpxx 0.86
-2^226-5 gmpxx 0.86
-2^230-27 gmpxx 0.86
-2^255-19 gmpxx 0.86
-2^255-2^4-2^1-1 gmpxx 0.86
-2^255-765 gmpxx 0.86
-2^256-2^224+2^192+2^96-1 gmpxx 0.86
-2^256-88x2^240-1 gmpxx 0.86
-2^205-45x2^198-1 gmpxx 0.87
-2^216-2^108-1 gmpxx 0.87
-2^224-2^96+1 gmpxx 0.87
-2^226-5 gmpxx 0.87
-2^230-27 gmpxx 0.87
-2^235-15 gmpxx 0.87
-2^243-9 gmpxx 0.87
-2^251-9 gmpxx 0.87
-2^255-19 gmpxx 0.87
-2^255-2^4-2^1-1 gmpxx 0.87
-2^255-765 gmpxx 0.87
-2^256-189 gmpxx 0.87
-2^194-33 gmpxx 0.88
-2^216-2^108-1 gmpxx 0.88
-2^224-2^96+1 gmpxx 0.88
-2^243-9 gmpxx 0.88
-2^251-9 gmpxx 0.88
-2^254-127x2^240-1 gmpxx 0.88
-2^255-765 gmpxx 0.88
-2^256-2^224+2^192+2^96-1 gmpxx 0.88
-2^336-3 gmpsec 0.88
-2^221-3 gmpxx 0.89
-2^224-2^96+1 gmpxx 0.89
-2^251-9 gmpxx 0.89
-2^254-127x2^240-1 gmpxx 0.89
-2^243-9 gmpxx 0.90
-2^130-5 gmpxx 0.91
-2^512-491x2^496-1 gmpsec 0.95
-2^512-569 gmpsec 0.95
-2^384-2^128-2^96+2^32-1 gmpxx 0.96
-2^384-317 gmpxx 0.96
-2^384-79x2^376-1 gmpxx 0.96
-2^389-21 gmpsec 0.96
-2^401-31 gmpsec 0.96
-2^413-21 gmpsec 0.96
-2^414-17 gmpsec 0.96
-2^416-2^208-1 gmpsec 0.96
-2^444-17 gmpsec 0.96
-2^235-15 gmpxx 0.97
-2^285-9 gmpxx 0.97
-2^384-2^128-2^96+2^32-1 gmpxx 0.97
-2^384-317 gmpxx 0.97
-2^384-5x2^368-1 gmpxx 0.97
-2^389-21 gmpsec 0.97
-2^401-31 gmpsec 0.97
-2^413-21 gmpsec 0.97
-2^416-2^208-1 gmpsec 0.97
-2^512-491x2^496-1 gmpsec 0.97
-2^512-569 gmpsec 0.97
-2^194-33 gmpxx 0.98
-2^266-3 gmpxx 0.98
-2^285-9 gmpxx 0.98
-2^291-19 gmpxx 0.98
-2^384-2^128-2^96+2^32-1 gmpxx 0.98
-2^384-5x2^368-1 gmpxx 0.98
-2^384-79x2^376-1 gmpxx 0.98
-2^401-31 gmpsec 0.98
-2^414-17 gmpsec 0.98
-2^266-3 gmpxx 0.99
-2^291-19 gmpxx 0.99
-2^384-2^128-2^96+2^32-1 gmpxx 0.99
-2^384-317 gmpxx 0.99
-2^285-9 gmpxx 1.00
-2^291-19 gmpxx 1.00
-2^291-19 gmpxx 1.01
-2^383-421 gmpxx 1.03
-2^383-31 gmpxx 1.04
-2^448-2^224-1 gmpxx 1.04
-2^336-3 gmpxx 1.05
-2^383-187 gmpxx 1.05
-2^448-2^224-1 gmpxx 1.05
-2^336-17 gmpxx 1.06
-2^336-3 gmpxx 1.06
-2^338-15 gmpxx 1.06
-2^369-25 gmpxx 1.06
-2^379-19 gmpxx 1.06
-2^336-17 gmpxx 1.07
-2^336-3 gmpxx 1.07
-2^369-25 gmpxx 1.07
-2^379-19 gmpxx 1.07
-2^382-105 gmpxx 1.07
-2^383-31 gmpxx 1.07
-2^383-421 gmpxx 1.07
-2^448-2^224-1 gmpxx 1.07
-2^336-17 gmpxx 1.08
-2^369-25 gmpxx 1.08
-2^382-105 gmpxx 1.08
-2^336-17 gmpxx 1.09
-2^338-15 gmpxx 1.09
-2^338-15 gmpxx 1.10
-2^379-19 gmpxx 1.10
-2^511-481 gmpsec 1.10
-2^511-187 gmpsec 1.11
-2^511-481 gmpsec 1.11
-2^369-25 gmpxx 1.12
-2^511-187 gmpsec 1.12
-2^322-2^161-1 gmpxx 1.13
-2^512-569 gmpxx 1.13
-2^512-491*2^496-1 gmpxx 1.14
-2^512-569 gmpxx 1.14
-2^321-9 gmpxx 1.15
-2^414-17 gmpxx 1.15
-2^416-2^208-1 gmpxx 1.15
-2^512-569 gmpxx 1.15
-2^401-31 gmpxx 1.16
-2^413-21 gmpxx 1.16
-2^414-17 gmpxx 1.16
-2^416-2^208-1 gmpxx 1.16
-2^444-17 gmpxx 1.16
-2^480-2^240-1 gmpsec 1.16
-2^488-17 gmpsec 1.16
-2^512-491*2^496-1 gmpxx 1.16
-2^321-9 gmpxx 1.17
-2^322-2^161-1 gmpxx 1.17
-2^389-21 gmpxx 1.17
-2^401-31 gmpxx 1.17
-2^413-21 gmpxx 1.17
-2^416-2^208-1 gmpxx 1.17
-2^444-17 gmpxx 1.17
-2^450-2^225-1 gmpsec 1.17
-2^452-3 gmpsec 1.17
-2^468-17 gmpsec 1.17
-2^480-2^240-1 gmpsec 1.17
-2^488-17 gmpsec 1.17
-2^489-21 gmpsec 1.17
-2^495-31 gmpsec 1.17
-2^510-290*2^496-1 gmpsec 1.17
-2^512-491*2^496-1 gmpxx 1.17
-2^512-569 gmpxx 1.17
-2^401-31 gmpxx 1.18
-2^416-2^208-1 gmpxx 1.18
-2^444-17 gmpxx 1.18
-2^450-2^225-1 gmpsec 1.18
-2^452-3 gmpsec 1.18
-2^468-17 gmpsec 1.18
-2^480-2^240-1 gmpsec 1.18
-2^488-17 gmpsec 1.18
-2^495-31 gmpsec 1.18
-2^510-290*2^496-1 gmpsec 1.18
-2^511-187 gmpxx 1.20
-2^511-481 gmpxx 1.20
-2^511-187 gmpxx 1.21
-2^511-481 gmpxx 1.21
-2^489-21 gmpsec 1.24
-2^510-290*2^496-1 gmpxx 1.24
-2^468-17 gmpxx 1.25
-2^480-2^240-1 gmpxx 1.25
-2^468-17 gmpxx 1.26
-2^480-2^240-1 gmpxx 1.26
-2^489-21 gmpxx 1.26
-2^495-31 gmpxx 1.26
-2^510-290*2^496-1 gmpxx 1.26
-2^414-17 gmpxx 1.27
-2^468-17 gmpxx 1.27
-2^488-17 gmpxx 1.27
-2^495-31 gmpxx 1.27
-2^510-290*2^496-1 gmpxx 1.27
-2^489-21 gmpsec 1.28
-2^489-21 gmpxx 1.28
-2^452-3 gmpxx 1.29
-2^489-21 gmpxx 1.29
-2^480-2^240-1 gmpxx 1.31
-2^452-3 gmpxx 1.32
-2^450-2^225-1 gmpxx 1.33
-2^510-290*2^496-1 gmpxx 1.33
-2^450-2^225-1 gmpxx 1.34
-2^450-2^225-1 gmpsec 1.35
-2^450-2^225-1 gmpxx 1.35
-2^521-1 gmpxx 1.38
-2^521-1 gmpsec 1.39
-2^521-1 gmpxx 1.39
-2^521-1 gmpsec 1.40
-2^521-1 gmpxx 1.40
diff --git a/measurements/2017-11-03-gcc/benchmarks2.log b/measurements/2017-11-03-gcc/benchmarks2.log
deleted file mode 100644
index 8210fff92..000000000
--- a/measurements/2017-11-03-gcc/benchmarks2.log
+++ /dev/null
@@ -1,652 +0,0 @@
-2^127-1 fiat_solinas64 0.00
-2^129-25 fiat_solinas64 0.00
-2^130-5 fiat_solinas64 0.00
-2^141-9 fiat_solinas64 0.00
-2^150-3 fiat_solinas64 0.00
-2^150-5 fiat_solinas64 0.00
-2^165-25 fiat_solinas64 0.00
-2^166-5 fiat_solinas64 0.00
-2^171-19 fiat_solinas64 0.00
-2^174-17 fiat_solinas64 0.00
-2^174-3 fiat_solinas64 0.00
-2^130-5 fiat_solinas32 0.04
-2^127-1 fiat_solinas32 0.05
-2^140-27 fiat_solinas64 0.05
-2^158-15 fiat_solinas32 0.05
-2^196-15 fiat_solinas64 0.05
-2^212-29 fiat_solinas64 0.05
-2^216-2^108-1 fiat_solinas64 0.05
-2^222-117 fiat_solinas64 0.05
-2^230-27 fiat_solinas64 0.05
-2^127-1 fiat_montgomery64 0.06
-2^129-25 fiat_solinas32 0.06
-2^137-13 fiat_solinas64 0.06
-2^140-27 fiat_solinas32 0.06
-2^141-9 fiat_solinas32 0.06
-2^150-5 fiat_solinas32 0.06
-2^152-17 fiat_solinas32 0.06
-2^152-17 fiat_solinas64 0.06
-2^158-15 fiat_solinas64 0.06
-2^189-25 fiat_solinas64 0.06
-2^190-11 fiat_solinas64 0.06
-2^194-33 fiat_solinas64 0.06
-2^198-17 fiat_solinas64 0.06
-2^206-5 fiat_solinas64 0.06
-2^213-3 fiat_solinas64 0.06
-2^221-3 fiat_solinas64 0.06
-2^226-5 fiat_solinas64 0.06
-2^191-19 fiat_solinas64 0.07
-2^192-2^64-1 fiat_solinas64 0.07
-2^235-15 fiat_solinas64 0.07
-2^251-9 fiat_solinas64 0.07
-2^255-19 fiat_solinas64 0.07
-2^255-765 fiat_solinas64 0.07
-2^256-189 fiat_solinas64 0.07
-2^266-3 fiat_solinas64 0.07
-2^285-9 fiat_solinas64 0.07
-2^216-2^108-1 fiat_solinas32 0.08
-2^255-2^4-2^1-1 fiat_solinas64 0.08
-2^291-19 fiat_solinas64 0.08
-2^137-13 fiat_solinas32 0.09
-2^194-33 fiat_solinas32 0.09
-2^243-9 fiat_solinas64 0.09
-2^336-17 fiat_solinas64 0.09
-2^336-3 fiat_solinas64 0.09
-2^243-9 fiat_solinas32 0.10
-2^321-9 fiat_solinas64 0.10
-2^338-15 fiat_solinas64 0.10
-2^165-25 fiat_solinas32 0.11
-2^171-19 fiat_solinas32 0.11
-2^174-17 fiat_solinas32 0.11
-2^198-17 fiat_solinas32 0.11
-2^235-15 fiat_solinas32 0.11
-2^191-19 fiat_solinas32 0.12
-2^127-1 fiat_montgomery32 0.13
-2^221-3 fiat_solinas32 0.13
-2^222-117 fiat_solinas32 0.13
-2^230-27 fiat_solinas32 0.13
-2^251-9 fiat_solinas32 0.13
-2^255-19 fiat_solinas32 0.13
-2^379-19 fiat_solinas64 0.13
-2^416-2^208-1 fiat_solinas64 0.13
-2^448-2^224-1 fiat_solinas64 0.13
-2^450-2^225-1 fiat_solinas64 0.14
-2^480-2^240-1 fiat_solinas64 0.14
-2^127-1 gmpvar 0.15
-2^166-5 fiat_solinas32 0.15
-2^369-25 fiat_solinas64 0.15
-2^384-317 fiat_solinas64 0.15
-2^468-17 fiat_solinas64 0.15
-2^401-31 fiat_solinas64 0.16
-2^444-17 fiat_solinas64 0.16
-2^452-3 fiat_solinas64 0.16
-2^206-5 fiat_solinas32 0.17
-2^266-3 fiat_solinas32 0.17
-2^255-765 fiat_solinas32 0.18
-2^256-189 fiat_solinas32 0.18
-2^291-19 fiat_solinas32 0.18
-2^414-17 fiat_solinas64 0.18
-2^489-21 fiat_solinas64 0.18
-2^256-2^32-977 fiat_solinas32 0.19
-2^495-31 fiat_solinas64 0.19
-2^521-1 fiat_solinas64 0.20
-2^338-15 fiat_solinas32 0.22
-2^382-105 fiat_solinas64 0.22
-2^511-481 fiat_solinas64 0.23
-2^512-569 fiat_solinas64 0.23
-2^192-2^64-1 gmpvar 0.24
-2^192-2^64-1 gmpvar 0.25
-2^127-1 gmpsec 0.26
-2^191-19 gmpvar 0.26
-2^511-187 fiat_solinas64 0.26
-2^129-25 gmpvar 0.27
-2^130-5 gmpvar 0.27
-2^137-13 gmpvar 0.27
-2^140-27 gmpvar 0.27
-2^141-9 gmpvar 0.27
-2^150-3 gmpvar 0.27
-2^150-5 gmpvar 0.27
-2^152-17 gmpvar 0.27
-2^158-15 gmpvar 0.27
-2^165-25 gmpvar 0.27
-2^166-5 gmpvar 0.27
-2^171-19 gmpvar 0.27
-2^174-17 gmpvar 0.27
-2^174-3 gmpvar 0.27
-2^189-25 gmpvar 0.27
-2^190-11 gmpvar 0.27
-2^191-19 gmpvar 0.27
-2^130-5 gmpvar 0.28
-2^137-13 gmpvar 0.28
-2^140-27 gmpvar 0.28
-2^141-9 gmpvar 0.28
-2^150-5 gmpvar 0.28
-2^152-17 gmpvar 0.28
-2^158-15 gmpvar 0.28
-2^171-19 gmpvar 0.28
-2^174-17 gmpvar 0.28
-2^190-11 gmpvar 0.28
-2^192-2^64-1 gmpsec 0.28
-2^129-25 gmpvar 0.29
-2^137-13 gmpvar 0.30
-2^255-19 gmpvar 0.32
-2^255-2^4-2^1-1 gmpvar 0.32
-2^255-765 gmpvar 0.32
-2^256-2^224+2^192+2^96-1 gmpvar 0.32
-2^171-19 gmpvar 0.33
-2^194-33 gmpvar 0.33
-2^198-17 gmpvar 0.33
-2^216-2^108-1 gmpvar 0.33
-2^221-3 gmpvar 0.33
-2^222-117 gmpvar 0.33
-2^224-2^96+1 gmpvar 0.33
-2^255-2^4-2^1-1 gmpvar 0.33
-2^255-765 gmpvar 0.33
-2^256-189 gmpvar 0.33
-2^256-2^224+2^192+2^96-1 gmpvar 0.33
-2^256-2^32-977 gmpvar 0.33
-2^194-33 gmpvar 0.34
-2^196-15 gmpvar 0.34
-2^198-17 gmpvar 0.34
-2^205-45*2^198-1 gmpvar 0.34
-2^206-5 gmpvar 0.34
-2^212-29 gmpvar 0.34
-2^213-3 gmpvar 0.34
-2^216-2^108-1 gmpvar 0.34
-2^221-3 gmpvar 0.34
-2^222-117 gmpvar 0.34
-2^224-2^96+1 gmpvar 0.34
-2^226-5 gmpvar 0.34
-2^230-27 gmpvar 0.34
-2^235-15 gmpvar 0.34
-2^243-9 gmpvar 0.34
-2^251-9 gmpvar 0.34
-2^254-127*2^240-1 gmpvar 0.34
-2^256-189 gmpvar 0.34
-2^256-2^32-977 gmpvar 0.34
-2^256-88*2^240-1 gmpvar 0.34
-2^196-15 gmpvar 0.35
-2^205-45*2^198-1 gmpvar 0.35
-2^212-29 gmpvar 0.35
-2^216-2^108-1 gmpvar 0.35
-2^222-117 gmpvar 0.35
-2^230-27 gmpvar 0.35
-2^235-15 gmpvar 0.35
-2^254-127*2^240-1 gmpvar 0.35
-2^256-2^32-977 gmpvar 0.35
-2^205-45*2^198-1 gmpvar 0.36
-2^243-9 gmpvar 0.36
-2^256-88*2^240-1 gmpvar 0.36
-2^190-11 gmpsec 0.37
-2^191-19 gmpsec 0.37
-2^256-189 gmpsec 0.37
-2^256-2^224+2^192+2^96-1 gmpsec 0.37
-2^256-2^32-977 gmpsec 0.37
-2^256-88*2^240-1 gmpsec 0.37
-2^129-25 gmpsec 0.38
-2^130-5 gmpsec 0.38
-2^137-13 gmpsec 0.38
-2^140-27 gmpsec 0.38
-2^141-9 gmpsec 0.38
-2^150-3 gmpsec 0.38
-2^150-5 gmpsec 0.38
-2^152-17 gmpsec 0.38
-2^158-15 gmpsec 0.38
-2^165-25 gmpsec 0.38
-2^166-5 gmpsec 0.38
-2^174-17 gmpsec 0.38
-2^174-3 gmpsec 0.38
-2^189-25 gmpsec 0.38
-2^190-11 gmpsec 0.38
-2^191-19 gmpsec 0.38
-2^256-189 gmpsec 0.38
-2^256-2^224+2^192+2^96-1 gmpsec 0.38
-2^256-2^32-977 gmpsec 0.38
-2^256-88*2^240-1 gmpsec 0.38
-2^137-13 gmpsec 0.39
-2^140-27 gmpsec 0.39
-2^158-15 gmpsec 0.39
-2^165-25 gmpsec 0.39
-2^166-5 gmpsec 0.39
-2^171-19 gmpsec 0.39
-2^174-17 gmpsec 0.39
-2^174-3 gmpsec 0.39
-2^189-25 gmpsec 0.39
-2^256-189 gmpsec 0.39
-2^137-13 gmpsec 0.40
-2^256-2^224+2^192+2^96-1 gmpsec 0.41
-2^266-3 gmpvar 0.42
-2^285-9 gmpvar 0.42
-2^291-19 gmpvar 0.42
-2^251-9 gmpvar 0.43
-2^285-9 gmpvar 0.43
-2^291-19 gmpvar 0.43
-2^291-19 gmpvar 0.44
-2^266-3 gmpvar 0.45
-2^285-9 gmpvar 0.45
-2^384-2^128-2^96+2^32-1 gmpvar 0.45
-2^384-317 gmpvar 0.45
-2^384-5*2^368-1 gmpvar 0.45
-2^384-79*2^376-1 gmpvar 0.45
-2^384-2^128-2^96+2^32-1 gmpvar 0.46
-2^384-317 gmpvar 0.46
-2^384-79*2^376-1 gmpvar 0.46
-2^255-19 gmpsec 0.47
-2^255-2^4-2^1-1 gmpsec 0.47
-2^255-765 gmpsec 0.47
-2^384-317 gmpvar 0.47
-2^384-5*2^368-1 gmpvar 0.47
-2^384-79*2^376-1 gmpvar 0.47
-2^255-19 gmpsec 0.48
-2^255-2^4-2^1-1 gmpsec 0.48
-2^255-765 gmpsec 0.48
-2^212-29 gmpsec 0.49
-2^213-3 gmpsec 0.49
-2^216-2^108-1 gmpsec 0.49
-2^221-3 gmpsec 0.49
-2^224-2^96+1 gmpsec 0.49
-2^226-5 gmpsec 0.49
-2^230-27 gmpsec 0.49
-2^235-15 gmpsec 0.49
-2^243-9 gmpsec 0.49
-2^254-127*2^240-1 gmpsec 0.49
-2^255-765 gmpsec 0.49
-2^383-187 gmpvar 0.49
-2^194-33 gmpsec 0.50
-2^196-15 gmpsec 0.50
-2^205-45*2^198-1 gmpsec 0.50
-2^206-5 gmpsec 0.50
-2^212-29 gmpsec 0.50
-2^213-3 gmpsec 0.50
-2^216-2^108-1 gmpsec 0.50
-2^222-117 gmpsec 0.50
-2^224-2^96+1 gmpsec 0.50
-2^226-5 gmpsec 0.50
-2^230-27 gmpsec 0.50
-2^235-15 gmpsec 0.50
-2^243-9 gmpsec 0.50
-2^251-9 gmpsec 0.50
-2^254-127*2^240-1 gmpsec 0.50
-2^383-187 gmpvar 0.50
-2^383-31 gmpvar 0.50
-2^198-17 gmpsec 0.51
-2^213-3 gmpsec 0.51
-2^221-3 gmpsec 0.51
-2^224-2^96+1 gmpsec 0.51
-2^226-5 gmpsec 0.51
-2^230-27 gmpsec 0.51
-2^235-15 gmpsec 0.51
-2^243-9 gmpsec 0.51
-2^254-127*2^240-1 gmpsec 0.51
-2^383-421 gmpvar 0.51
-2^198-17 gmpsec 0.52
-2^206-5 gmpsec 0.52
-2^221-3 gmpsec 0.52
-2^251-9 gmpsec 0.52
-2^322-2^161-1 gmpvar 0.52
-2^336-17 gmpvar 0.52
-2^336-3 gmpvar 0.52
-2^338-15 gmpvar 0.52
-2^369-25 gmpvar 0.52
-2^379-19 gmpvar 0.52
-2^382-105 gmpvar 0.52
-2^384-2^128-2^96+2^32-1 fiat_montgomery64 0.52
-2^198-17 gmpsec 0.53
-2^321-9 gmpvar 0.53
-2^322-2^161-1 gmpvar 0.53
-2^336-3 gmpvar 0.53
-2^338-15 gmpvar 0.53
-2^369-25 gmpvar 0.53
-2^379-19 gmpvar 0.53
-2^382-105 gmpvar 0.53
-2^383-421 gmpvar 0.53
-2^448-2^224-1 gmpvar 0.53
-2^336-17 gmpvar 0.54
-2^379-19 gmpvar 0.54
-2^127-1 gmpxx 0.55
-2^382-105 gmpvar 0.55
-2^448-2^224-1 gmpvar 0.55
-2^127-1 gmpxx 0.56
-2^206-5 gmpsec 0.58
-2^401-31 gmpvar 0.59
-2^413-21 gmpvar 0.59
-2^414-17 gmpvar 0.59
-2^416-2^208-1 gmpvar 0.59
-2^444-17 gmpvar 0.59
-2^127-1 gmpxx 0.60
-2^389-21 gmpvar 0.60
-2^401-31 gmpvar 0.60
-2^413-21 gmpvar 0.60
-2^414-17 gmpvar 0.60
-2^416-2^208-1 gmpvar 0.60
-2^384-317 gmpsec 0.61
-2^389-21 gmpvar 0.61
-2^401-31 gmpvar 0.61
-2^414-17 gmpvar 0.61
-2^416-2^208-1 gmpvar 0.61
-2^444-17 gmpvar 0.61
-2^512-491*2^496-1 gmpvar 0.61
-2^512-569 gmpvar 0.61
-2^384-2^128-2^96+2^32-1 gmpsec 0.62
-2^384-317 gmpsec 0.62
-2^384-5*2^368-1 gmpsec 0.62
-2^384-79*2^376-1 gmpsec 0.62
-2^512-491*2^496-1 gmpvar 0.62
-2^512-569 gmpvar 0.62
-2^512-491*2^496-1 gmpvar 0.63
-2^266-3 gmpsec 0.64
-2^285-9 gmpsec 0.64
-2^291-19 gmpsec 0.64
-2^511-481 gmpvar 0.64
-2^285-9 gmpsec 0.65
-2^384-2^128-2^96+2^32-1 gmpsec 0.65
-2^511-187 gmpvar 0.65
-2^511-481 gmpvar 0.65
-2^266-3 gmpsec 0.66
-2^291-19 gmpsec 0.66
-2^285-9 gmpsec 0.67
-2^511-481 gmpvar 0.67
-2^137-13 gmpxx 0.68
-2^291-19 gmpsec 0.68
-2^450-2^225-1 gmpvar 0.68
-2^468-17 gmpvar 0.68
-2^480-2^240-1 gmpvar 0.68
-2^489-21 gmpvar 0.68
-2^495-31 gmpvar 0.68
-2^510-290*2^496-1 gmpvar 0.68
-2^137-13 gmpxx 0.69
-2^140-27 gmpxx 0.69
-2^141-9 gmpxx 0.69
-2^150-5 gmpxx 0.69
-2^450-2^225-1 gmpvar 0.69
-2^468-17 gmpvar 0.69
-2^480-2^240-1 gmpvar 0.69
-2^488-17 gmpvar 0.69
-2^489-21 gmpvar 0.69
-2^495-31 gmpvar 0.69
-2^510-290*2^496-1 gmpvar 0.69
-2^137-13 gmpxx 0.70
-2^141-9 gmpxx 0.70
-2^150-3 gmpxx 0.70
-2^150-5 gmpxx 0.70
-2^152-17 gmpxx 0.70
-2^450-2^225-1 gmpvar 0.70
-2^452-3 gmpvar 0.70
-2^468-17 gmpvar 0.70
-2^488-17 gmpvar 0.70
-2^150-3 gmpxx 0.71
-2^150-5 gmpxx 0.71
-2^158-15 gmpxx 0.71
-2^452-3 gmpvar 0.71
-2^468-17 gmpvar 0.71
-2^129-25 gmpxx 0.72
-2^130-5 gmpxx 0.72
-2^158-15 gmpxx 0.72
-2^165-25 gmpxx 0.72
-2^166-5 gmpxx 0.72
-2^174-17 gmpxx 0.72
-2^130-5 gmpxx 0.73
-2^152-17 gmpxx 0.73
-2^165-25 gmpxx 0.73
-2^166-5 gmpxx 0.73
-2^171-19 gmpxx 0.73
-2^174-17 gmpxx 0.73
-2^174-3 gmpxx 0.73
-2^191-19 gmpxx 0.73
-2^192-2^64-1 gmpxx 0.73
-2^452-3 gmpvar 0.73
-2^129-25 gmpxx 0.74
-2^130-5 gmpxx 0.74
-2^166-5 gmpxx 0.74
-2^171-19 gmpxx 0.74
-2^174-17 gmpxx 0.74
-2^189-25 gmpxx 0.74
-2^171-19 gmpxx 0.75
-2^189-25 gmpxx 0.75
-2^190-11 gmpxx 0.75
-2^191-19 gmpxx 0.75
-2^383-187 gmpsec 0.75
-2^383-31 gmpsec 0.75
-2^383-421 gmpsec 0.75
-2^189-25 gmpxx 0.76
-2^190-11 gmpxx 0.76
-2^383-187 gmpsec 0.76
-2^129-25 gmpxx 0.77
-2^448-2^224-1 gmpsec 0.77
-2^322-2^161-1 gmpsec 0.78
-2^448-2^224-1 gmpsec 0.78
-2^150-5 gmpxx 0.79
-2^321-9 gmpsec 0.79
-2^322-2^161-1 gmpsec 0.79
-2^336-17 gmpsec 0.79
-2^336-3 gmpsec 0.79
-2^338-15 gmpsec 0.79
-2^369-25 gmpsec 0.79
-2^379-19 gmpsec 0.79
-2^382-105 gmpsec 0.79
-2^322-2^161-1 gmpsec 0.80
-2^336-17 gmpsec 0.80
-2^336-3 gmpsec 0.80
-2^338-15 gmpsec 0.80
-2^369-25 gmpsec 0.80
-2^379-19 gmpsec 0.80
-2^382-105 gmpsec 0.80
-2^321-9 gmpsec 0.81
-2^322-2^161-1 gmpsec 0.81
-2^382-105 gmpsec 0.81
-2^521-1 gmpvar 0.81
-2^198-17 gmpxx 0.82
-2^206-5 gmpxx 0.82
-2^212-29 gmpxx 0.82
-2^521-1 gmpvar 0.82
-2^196-15 gmpxx 0.83
-2^206-5 gmpxx 0.83
-2^212-29 gmpxx 0.83
-2^213-3 gmpxx 0.83
-2^222-117 gmpxx 0.83
-2^336-17 gmpsec 0.83
-2^196-15 gmpxx 0.84
-2^198-17 gmpxx 0.84
-2^221-3 gmpxx 0.84
-2^222-117 gmpxx 0.84
-2^256-189 gmpxx 0.84
-2^256-2^224+2^192+2^96-1 gmpxx 0.84
-2^256-2^32-977 gmpxx 0.84
-2^256-88*2^240-1 gmpxx 0.84
-2^521-1 gmpvar 0.84
-2^196-15 gmpxx 0.85
-2^198-17 gmpxx 0.85
-2^206-5 gmpxx 0.85
-2^213-3 gmpxx 0.85
-2^221-3 gmpxx 0.85
-2^222-117 gmpxx 0.85
-2^226-5 gmpxx 0.85
-2^255-19 gmpxx 0.85
-2^255-2^4-2^1-1 gmpxx 0.85
-2^256-189 gmpxx 0.85
-2^256-2^32-977 gmpxx 0.85
-2^256-88*2^240-1 gmpxx 0.85
-2^198-17 gmpxx 0.86
-2^205-45*2^198-1 gmpxx 0.86
-2^212-29 gmpxx 0.86
-2^216-2^108-1 gmpxx 0.86
-2^226-5 gmpxx 0.86
-2^230-27 gmpxx 0.86
-2^255-19 gmpxx 0.86
-2^255-2^4-2^1-1 gmpxx 0.86
-2^255-765 gmpxx 0.86
-2^256-2^224+2^192+2^96-1 gmpxx 0.86
-2^256-88*2^240-1 gmpxx 0.86
-2^205-45*2^198-1 gmpxx 0.87
-2^216-2^108-1 gmpxx 0.87
-2^224-2^96+1 gmpxx 0.87
-2^226-5 gmpxx 0.87
-2^230-27 gmpxx 0.87
-2^235-15 gmpxx 0.87
-2^243-9 gmpxx 0.87
-2^251-9 gmpxx 0.87
-2^255-19 gmpxx 0.87
-2^255-2^4-2^1-1 gmpxx 0.87
-2^255-765 gmpxx 0.87
-2^256-189 gmpxx 0.87
-2^194-33 gmpxx 0.88
-2^216-2^108-1 gmpxx 0.88
-2^224-2^96+1 gmpxx 0.88
-2^243-9 gmpxx 0.88
-2^251-9 gmpxx 0.88
-2^254-127*2^240-1 gmpxx 0.88
-2^255-765 gmpxx 0.88
-2^256-2^224+2^192+2^96-1 gmpxx 0.88
-2^336-3 gmpsec 0.88
-2^221-3 gmpxx 0.89
-2^224-2^96+1 gmpxx 0.89
-2^251-9 gmpxx 0.89
-2^254-127*2^240-1 gmpxx 0.89
-2^243-9 gmpxx 0.90
-2^130-5 gmpxx 0.91
-2^512-491*2^496-1 gmpsec 0.95
-2^512-569 gmpsec 0.95
-2^384-2^128-2^96+2^32-1 gmpxx 0.96
-2^384-317 gmpxx 0.96
-2^384-79*2^376-1 gmpxx 0.96
-2^389-21 gmpsec 0.96
-2^401-31 gmpsec 0.96
-2^413-21 gmpsec 0.96
-2^414-17 gmpsec 0.96
-2^416-2^208-1 gmpsec 0.96
-2^444-17 gmpsec 0.96
-2^235-15 gmpxx 0.97
-2^285-9 gmpxx 0.97
-2^384-2^128-2^96+2^32-1 gmpxx 0.97
-2^384-317 gmpxx 0.97
-2^384-5*2^368-1 gmpxx 0.97
-2^389-21 gmpsec 0.97
-2^401-31 gmpsec 0.97
-2^413-21 gmpsec 0.97
-2^416-2^208-1 gmpsec 0.97
-2^512-491*2^496-1 gmpsec 0.97
-2^512-569 gmpsec 0.97
-2^194-33 gmpxx 0.98
-2^266-3 gmpxx 0.98
-2^285-9 gmpxx 0.98
-2^291-19 gmpxx 0.98
-2^384-2^128-2^96+2^32-1 gmpxx 0.98
-2^384-5*2^368-1 gmpxx 0.98
-2^384-79*2^376-1 gmpxx 0.98
-2^401-31 gmpsec 0.98
-2^414-17 gmpsec 0.98
-2^266-3 gmpxx 0.99
-2^291-19 gmpxx 0.99
-2^384-2^128-2^96+2^32-1 gmpxx 0.99
-2^384-317 gmpxx 0.99
-2^285-9 gmpxx 1.00
-2^291-19 gmpxx 1.00
-2^291-19 gmpxx 1.01
-2^383-421 gmpxx 1.03
-2^383-31 gmpxx 1.04
-2^448-2^224-1 gmpxx 1.04
-2^336-3 gmpxx 1.05
-2^383-187 gmpxx 1.05
-2^448-2^224-1 gmpxx 1.05
-2^336-17 gmpxx 1.06
-2^336-3 gmpxx 1.06
-2^338-15 gmpxx 1.06
-2^369-25 gmpxx 1.06
-2^379-19 gmpxx 1.06
-2^336-17 gmpxx 1.07
-2^336-3 gmpxx 1.07
-2^369-25 gmpxx 1.07
-2^379-19 gmpxx 1.07
-2^382-105 gmpxx 1.07
-2^383-31 gmpxx 1.07
-2^383-421 gmpxx 1.07
-2^448-2^224-1 gmpxx 1.07
-2^336-17 gmpxx 1.08
-2^369-25 gmpxx 1.08
-2^382-105 gmpxx 1.08
-2^336-17 gmpxx 1.09
-2^338-15 gmpxx 1.09
-2^338-15 gmpxx 1.10
-2^379-19 gmpxx 1.10
-2^511-481 gmpsec 1.10
-2^511-187 gmpsec 1.11
-2^511-481 gmpsec 1.11
-2^369-25 gmpxx 1.12
-2^511-187 gmpsec 1.12
-2^322-2^161-1 gmpxx 1.13
-2^512-569 gmpxx 1.13
-2^512-491*2^496-1 gmpxx 1.14
-2^512-569 gmpxx 1.14
-2^321-9 gmpxx 1.15
-2^414-17 gmpxx 1.15
-2^416-2^208-1 gmpxx 1.15
-2^512-569 gmpxx 1.15
-2^401-31 gmpxx 1.16
-2^413-21 gmpxx 1.16
-2^414-17 gmpxx 1.16
-2^416-2^208-1 gmpxx 1.16
-2^444-17 gmpxx 1.16
-2^480-2^240-1 gmpsec 1.16
-2^488-17 gmpsec 1.16
-2^512-491*2^496-1 gmpxx 1.16
-2^321-9 gmpxx 1.17
-2^322-2^161-1 gmpxx 1.17
-2^389-21 gmpxx 1.17
-2^401-31 gmpxx 1.17
-2^413-21 gmpxx 1.17
-2^416-2^208-1 gmpxx 1.17
-2^444-17 gmpxx 1.17
-2^450-2^225-1 gmpsec 1.17
-2^452-3 gmpsec 1.17
-2^468-17 gmpsec 1.17
-2^480-2^240-1 gmpsec 1.17
-2^488-17 gmpsec 1.17
-2^489-21 gmpsec 1.17
-2^495-31 gmpsec 1.17
-2^510-290*2^496-1 gmpsec 1.17
-2^512-491*2^496-1 gmpxx 1.17
-2^512-569 gmpxx 1.17
-2^401-31 gmpxx 1.18
-2^416-2^208-1 gmpxx 1.18
-2^444-17 gmpxx 1.18
-2^450-2^225-1 gmpsec 1.18
-2^452-3 gmpsec 1.18
-2^468-17 gmpsec 1.18
-2^480-2^240-1 gmpsec 1.18
-2^488-17 gmpsec 1.18
-2^495-31 gmpsec 1.18
-2^510-290*2^496-1 gmpsec 1.18
-2^511-187 gmpxx 1.20
-2^511-481 gmpxx 1.20
-2^511-187 gmpxx 1.21
-2^511-481 gmpxx 1.21
-2^489-21 gmpsec 1.24
-2^510-290*2^496-1 gmpxx 1.24
-2^468-17 gmpxx 1.25
-2^480-2^240-1 gmpxx 1.25
-2^468-17 gmpxx 1.26
-2^480-2^240-1 gmpxx 1.26
-2^489-21 gmpxx 1.26
-2^495-31 gmpxx 1.26
-2^510-290*2^496-1 gmpxx 1.26
-2^414-17 gmpxx 1.27
-2^468-17 gmpxx 1.27
-2^488-17 gmpxx 1.27
-2^495-31 gmpxx 1.27
-2^510-290*2^496-1 gmpxx 1.27
-2^489-21 gmpsec 1.28
-2^489-21 gmpxx 1.28
-2^452-3 gmpxx 1.29
-2^489-21 gmpxx 1.29
-2^480-2^240-1 gmpxx 1.31
-2^452-3 gmpxx 1.32
-2^450-2^225-1 gmpxx 1.33
-2^510-290*2^496-1 gmpxx 1.33
-2^450-2^225-1 gmpxx 1.34
-2^450-2^225-1 gmpsec 1.35
-2^450-2^225-1 gmpxx 1.35
-2^521-1 gmpxx 1.38
-2^521-1 gmpsec 1.39
-2^521-1 gmpxx 1.39
-2^521-1 gmpsec 1.40
-2^521-1 gmpxx 1.40
diff --git a/measurements/2017-11-03-gcc/setup b/measurements/2017-11-03-gcc/setup
deleted file mode 100644
index de6939206..000000000
--- a/measurements/2017-11-03-gcc/setup
+++ /dev/null
@@ -1,34 +0,0 @@
-gcc (Debian 6.3.0-18) 6.3.0 20170516
-Copyright (C) 2016 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-Architecture: x86_64
-CPU op-mode(s): 32-bit, 64-bit
-Byte Order: Little Endian
-CPU(s): 16
-On-line CPU(s) list: 0-15
-Thread(s) per core: 2
-Core(s) per socket: 8
-Socket(s): 1
-NUMA node(s): 1
-Vendor ID: GenuineIntel
-CPU family: 6
-Model: 63
-Model name: Intel(R) Xeon(R) CPU @ 2.30GHz
-Stepping: 0
-CPU MHz: 2300.000
-BogoMIPS: 4600.00
-Hypervisor vendor: KVM
-Virtualization type: full
-L1d cache: 32K
-L1i cache: 32K
-L2 cache: 256K
-L3 cache: 46080K
-NUMA node0 CPU(s): 0-15
-Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms xsaveopt
-commit 0b8080dfb1021c6fb24e922ee4eea22364974f51
-Author: Jason Gross <jgross@mit.edu>
-Date: Fri Nov 3 08:13:40 2017 -0400
-
- Update display logs and c files
diff --git a/measurements/2017-11-03/aggregate.sh b/measurements/2017-11-03/aggregate.sh
deleted file mode 100644
index 08fd6f2f6..000000000
--- a/measurements/2017-11-03/aggregate.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#/bin/bash
-(
- for f in $(find . -name gmpxx.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tgmpxx\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
- for f in $(find . -name gmpsec.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tgmpsec\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
- for f in $(find . -name gmpvar.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tgmpvar\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
- for f in $(find . -name fibe.log); do echo -e "$(basename "$(dirname "$f")" | cut -d_ -f2-)\tfibe_$(basename "$(dirname "$f")" | cut -d_ -f1)\t$(cat "$f" | cut -d' ' -f3 | cut -d, -f1)"; done
-) \
-| sort -n -k3 | sed 's:fibe:fiat:g' | sed 's/\(\d\)m\(\d\)/\1-\2/g' | sed 's/\(\d\)e\(\d\)/\1^\2/g' | sed 's/\(\d\)x\(\d\)/\1*\2/g' | sed 's/\(\d\)p\(\d\)/\1+\2/g'
diff --git a/measurements/2017-11-03/format.py b/measurements/2017-11-03/format.py
deleted file mode 100644
index b31a34709..000000000
--- a/measurements/2017-11-03/format.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import sys, collections
-
-
-results = {}
-
-def do_impl(prime, impl, time):
- if prime not in results.keys():
- results[prime] = {}
- if impl not in results[prime].keys():
- results[prime][impl] = 1e400
- results[prime][impl] = min(results[prime][impl], time)
-
-for line in sys.stdin:
- prime, impl, time = line.split()
- # impl = {'fiat_solinas32':'fiat_solinas',
- # 'fiat_solinas64':'fiat_solinas',
- # 'fiat_montgomery64':'fiat_montgomery',
- # 'fiat_montgomery32':'fiat_montgomery',
- # }.get(impl, impl)
- time = float(time)
- do_impl(prime, impl, time)
- # do_impl(prime,'xfiat' if 'fiat' in impl else 'xgmp', time)
-
-def format_prime(p):
- return p.replace('x','*').replace('p','+').replace('e','^').replace('m','-')
-
-impls = sorted(set(sum((list(d.keys()) for d in results.values()),[])))
-print('\t'.join(['.']+impls))
-for p in sorted(list(results.keys())):
- r = results[p].get('xgmp', 1e400) / results[p].get('xfiat', 1e400)
- print('\t'.join([format_prime(p)]+[str(results[p].get(i,'-')) for i in impls]))
diff --git a/measurements/2017-11-03/results-by-field.txt b/measurements/2017-11-03/results-by-field.txt
deleted file mode 100644
index 3e6ce7dcd..000000000
--- a/measurements/2017-11-03/results-by-field.txt
+++ /dev/null
@@ -1,1119 +0,0 @@
-2e127m1 fiat_montgomery32 0.12
-2e127m1 fiat_montgomery64 0.04
-2e127m1 fiat_solinas32 0.05
-2e127m1 fiat_solinas64 0.02
-2e127m1 gmpsec64 0.27
-2e127m1 gmpsec64 0.27
-2e127m1 gmpsec64 0.27
-2e127m1 gmpsec64 0.27
-2e127m1 gmpvar64 0.15
-2e127m1 gmpvar64 0.15
-2e127m1 gmpvar64 0.15
-2e127m1 gmpvar64 0.15
-2e127m1 gmpxx64 0.61
-2e127m1 gmpxx64 0.61
-2e127m1 gmpxx64 0.62
-2e127m1 gmpxx64 0.62
-2e129m25 fiat_montgomery32 0.19
-2e129m25 fiat_montgomery64 0.08
-2e129m25 fiat_solinas32 0.06
-2e129m25 fiat_solinas64 0.03
-2e129m25 gmpsec64 0.38
-2e129m25 gmpsec64 0.38
-2e129m25 gmpsec64 0.38
-2e129m25 gmpsec64 0.38
-2e129m25 gmpvar64 0.27
-2e129m25 gmpvar64 0.27
-2e129m25 gmpvar64 0.27
-2e129m25 gmpvar64 0.27
-2e129m25 gmpxx64 0.79
-2e129m25 gmpxx64 0.79
-2e129m25 gmpxx64 0.79
-2e129m25 gmpxx64 0.80
-2e130m5 fiat_solinas32 0.03
-2e130m5 fiat_solinas64 0.03
-2e130m5 gmpsec64 0.38
-2e130m5 gmpsec64 0.38
-2e130m5 gmpsec64 0.38
-2e130m5 gmpsec64 0.38
-2e130m5 gmpvar64 0.27
-2e130m5 gmpvar64 0.27
-2e130m5 gmpvar64 0.27
-2e130m5 gmpvar64 0.28
-2e130m5 gmpxx64 0.78
-2e130m5 gmpxx64 0.78
-2e130m5 gmpxx64 0.79
-2e130m5 gmpxx64 0.80
-2e137m13 fiat_montgomery32 0.20
-2e137m13 fiat_montgomery64 0.09
-2e137m13 fiat_solinas32 0.11
-2e137m13 fiat_solinas64 0.05
-2e137m13 gmpsec64 0.38
-2e137m13 gmpsec64 0.38
-2e137m13 gmpsec64 0.38
-2e137m13 gmpsec64 0.39
-2e137m13 gmpvar64 0.27
-2e137m13 gmpvar64 0.27
-2e137m13 gmpvar64 0.27
-2e137m13 gmpvar64 0.28
-2e137m13 gmpxx64 0.81
-2e137m13 gmpxx64 0.81
-2e137m13 gmpxx64 0.81
-2e137m13 gmpxx64 0.82
-2e140m27 fiat_montgomery32 0.20
-2e140m27 fiat_montgomery64 0.08
-2e140m27 fiat_solinas32 0.06
-2e140m27 fiat_solinas64 0.04
-2e140m27 gmpsec64 0.38
-2e140m27 gmpsec64 0.38
-2e140m27 gmpsec64 0.38
-2e140m27 gmpsec64 0.46
-2e140m27 gmpvar64 0.27
-2e140m27 gmpvar64 0.27
-2e140m27 gmpvar64 0.27
-2e140m27 gmpvar64 0.27
-2e140m27 gmpxx64 0.81
-2e140m27 gmpxx64 0.81
-2e140m27 gmpxx64 0.82
-2e140m27 gmpxx64 0.84
-2e141m9 fiat_montgomery32 0.20
-2e141m9 fiat_montgomery64 0.08
-2e141m9 fiat_solinas32 0.06
-2e141m9 fiat_solinas64 0.03
-2e141m9 gmpsec64 0.38
-2e141m9 gmpsec64 0.38
-2e141m9 gmpsec64 0.38
-2e141m9 gmpsec64 0.39
-2e141m9 gmpvar64 0.27
-2e141m9 gmpvar64 0.28
-2e141m9 gmpvar64 0.28
-2e141m9 gmpvar64 0.33
-2e141m9 gmpxx64 0.81
-2e141m9 gmpxx64 0.81
-2e141m9 gmpxx64 0.82
-2e141m9 gmpxx64 0.83
-2e150m3 fiat_montgomery32 0.20
-2e150m3 fiat_montgomery64 0.08
-2e150m3 fiat_solinas64 0.03
-2e150m3 gmpsec64 0.38
-2e150m3 gmpsec64 0.38
-2e150m3 gmpsec64 0.38
-2e150m3 gmpsec64 0.39
-2e150m3 gmpvar64 0.27
-2e150m3 gmpvar64 0.28
-2e150m3 gmpvar64 0.28
-2e150m3 gmpvar64 0.29
-2e150m3 gmpxx64 0.80
-2e150m3 gmpxx64 0.81
-2e150m3 gmpxx64 0.82
-2e150m3 gmpxx64 0.92
-2e150m5 fiat_montgomery32 0.20
-2e150m5 fiat_montgomery64 0.09
-2e150m5 fiat_solinas32 0.06
-2e150m5 fiat_solinas64 0.03
-2e150m5 gmpsec64 0.38
-2e150m5 gmpsec64 0.38
-2e150m5 gmpsec64 0.38
-2e150m5 gmpsec64 0.38
-2e150m5 gmpvar64 0.27
-2e150m5 gmpvar64 0.27
-2e150m5 gmpvar64 0.27
-2e150m5 gmpvar64 0.27
-2e150m5 gmpxx64 0.81
-2e150m5 gmpxx64 0.82
-2e150m5 gmpxx64 0.82
-2e150m5 gmpxx64 0.83
-2e152m17 fiat_montgomery32 0.19
-2e152m17 fiat_montgomery64 0.09
-2e152m17 fiat_solinas32 0.06
-2e152m17 fiat_solinas64 0.04
-2e152m17 gmpsec64 0.38
-2e152m17 gmpsec64 0.38
-2e152m17 gmpsec64 0.38
-2e152m17 gmpsec64 0.38
-2e152m17 gmpvar64 0.27
-2e152m17 gmpvar64 0.28
-2e152m17 gmpvar64 0.28
-2e152m17 gmpvar64 0.28
-2e152m17 gmpxx64 0.80
-2e152m17 gmpxx64 0.81
-2e152m17 gmpxx64 0.81
-2e152m17 gmpxx64 0.81
-2e158m15 fiat_montgomery32 0.20
-2e158m15 fiat_montgomery64 0.08
-2e158m15 fiat_solinas32 0.06
-2e158m15 fiat_solinas64 0.04
-2e158m15 gmpsec64 0.38
-2e158m15 gmpsec64 0.38
-2e158m15 gmpsec64 0.38
-2e158m15 gmpsec64 0.38
-2e158m15 gmpvar64 0.27
-2e158m15 gmpvar64 0.27
-2e158m15 gmpvar64 0.28
-2e158m15 gmpvar64 0.28
-2e158m15 gmpxx64 0.76
-2e158m15 gmpxx64 0.76
-2e158m15 gmpxx64 0.77
-2e158m15 gmpxx64 0.79
-2e165m25 fiat_montgomery64 0.08
-2e165m25 fiat_solinas32 0.11
-2e165m25 fiat_solinas64 0.03
-2e165m25 gmpsec64 0.38
-2e165m25 gmpsec64 0.39
-2e165m25 gmpsec64 0.39
-2e165m25 gmpsec64 0.42
-2e165m25 gmpvar64 0.27
-2e165m25 gmpvar64 0.27
-2e165m25 gmpvar64 0.28
-2e165m25 gmpvar64 0.28
-2e165m25 gmpxx64 0.79
-2e165m25 gmpxx64 0.79
-2e165m25 gmpxx64 0.84
-2e165m25 gmpxx64 0.97
-2e166m5 fiat_montgomery64 0.08
-2e166m5 fiat_solinas32 0.16
-2e166m5 fiat_solinas64 0.03
-2e166m5 gmpsec64 0.38
-2e166m5 gmpsec64 0.39
-2e166m5 gmpsec64 0.39
-2e166m5 gmpsec64 0.39
-2e166m5 gmpvar64 0.27
-2e166m5 gmpvar64 0.27
-2e166m5 gmpvar64 0.28
-2e166m5 gmpvar64 0.28
-2e166m5 gmpxx64 0.78
-2e166m5 gmpxx64 0.79
-2e166m5 gmpxx64 0.81
-2e166m5 gmpxx64 0.82
-2e171m19 fiat_montgomery32 0.28
-2e171m19 fiat_montgomery64 0.08
-2e171m19 fiat_solinas32 0.12
-2e171m19 fiat_solinas64 0.03
-2e171m19 gmpsec64 0.38
-2e171m19 gmpsec64 0.38
-2e171m19 gmpsec64 0.39
-2e171m19 gmpsec64 0.39
-2e171m19 gmpvar64 0.27
-2e171m19 gmpvar64 0.27
-2e171m19 gmpvar64 0.28
-2e171m19 gmpvar64 0.28
-2e171m19 gmpxx64 0.79
-2e171m19 gmpxx64 0.80
-2e171m19 gmpxx64 0.80
-2e171m19 gmpxx64 0.80
-2e174m17 fiat_montgomery32 0.28
-2e174m17 fiat_montgomery64 0.08
-2e174m17 fiat_solinas32 0.12
-2e174m17 fiat_solinas64 0.03
-2e174m17 gmpsec64 0.38
-2e174m17 gmpsec64 0.38
-2e174m17 gmpsec64 0.38
-2e174m17 gmpsec64 0.38
-2e174m17 gmpvar64 0.27
-2e174m17 gmpvar64 0.27
-2e174m17 gmpvar64 0.27
-2e174m17 gmpvar64 0.28
-2e174m17 gmpxx64 0.78
-2e174m17 gmpxx64 0.79
-2e174m17 gmpxx64 0.79
-2e174m17 gmpxx64 0.81
-2e174m3 fiat_montgomery32 0.29
-2e174m3 fiat_montgomery64 0.08
-2e174m3 fiat_solinas64 0.03
-2e174m3 gmpsec64 0.38
-2e174m3 gmpsec64 0.38
-2e174m3 gmpsec64 0.38
-2e174m3 gmpsec64 0.39
-2e174m3 gmpvar64 0.27
-2e174m3 gmpvar64 0.27
-2e174m3 gmpvar64 0.27
-2e174m3 gmpvar64 0.28
-2e174m3 gmpxx64 0.78
-2e174m3 gmpxx64 0.79
-2e174m3 gmpxx64 0.80
-2e174m3 gmpxx64 0.81
-2e189m25 fiat_montgomery32 0.28
-2e189m25 fiat_montgomery64 0.08
-2e189m25 fiat_solinas64 0.04
-2e189m25 gmpsec64 0.38
-2e189m25 gmpsec64 0.38
-2e189m25 gmpsec64 0.38
-2e189m25 gmpsec64 0.38
-2e189m25 gmpvar64 0.28
-2e189m25 gmpvar64 0.28
-2e189m25 gmpvar64 0.28
-2e189m25 gmpvar64 0.29
-2e189m25 gmpxx64 0.79
-2e189m25 gmpxx64 0.80
-2e189m25 gmpxx64 0.80
-2e189m25 gmpxx64 0.80
-2e190m11 fiat_montgomery32 0.29
-2e190m11 fiat_montgomery64 0.08
-2e190m11 fiat_solinas64 0.04
-2e190m11 gmpsec64 0.38
-2e190m11 gmpsec64 0.38
-2e190m11 gmpsec64 0.38
-2e190m11 gmpsec64 0.39
-2e190m11 gmpvar64 0.27
-2e190m11 gmpvar64 0.27
-2e190m11 gmpvar64 0.28
-2e190m11 gmpvar64 0.28
-2e190m11 gmpxx64 0.78
-2e190m11 gmpxx64 0.79
-2e190m11 gmpxx64 0.81
-2e190m11 gmpxx64 0.92
-2e191m19 fiat_montgomery32 0.28
-2e191m19 fiat_montgomery64 0.08
-2e191m19 fiat_solinas32 0.15
-2e191m19 fiat_solinas64 0.07
-2e191m19 gmpsec64 0.36
-2e191m19 gmpsec64 0.36
-2e191m19 gmpsec64 0.36
-2e191m19 gmpsec64 0.37
-2e191m19 gmpvar64 0.26
-2e191m19 gmpvar64 0.27
-2e191m19 gmpvar64 0.27
-2e191m19 gmpvar64 0.28
-2e191m19 gmpxx64 0.77
-2e191m19 gmpxx64 0.78
-2e191m19 gmpxx64 0.79
-2e191m19 gmpxx64 0.83
-2e192m2e64m1 fiat_montgomery32 0.27
-2e192m2e64m1 fiat_montgomery64 0.08
-2e192m2e64m1 fiat_solinas64 0.05
-2e192m2e64m1 gmpsec64 0.28
-2e192m2e64m1 gmpsec64 0.28
-2e192m2e64m1 gmpsec64 0.28
-2e192m2e64m1 gmpsec64 0.28
-2e192m2e64m1 gmpvar64 0.24
-2e192m2e64m1 gmpvar64 0.24
-2e192m2e64m1 gmpvar64 0.24
-2e192m2e64m1 gmpvar64 0.24
-2e192m2e64m1 gmpxx64 0.71
-2e192m2e64m1 gmpxx64 0.71
-2e192m2e64m1 gmpxx64 0.71
-2e192m2e64m1 gmpxx64 0.73
-2e194m33 fiat_solinas32 0.09
-2e194m33 fiat_solinas64 0.04
-2e194m33 gmpsec64 0.50
-2e194m33 gmpsec64 0.50
-2e194m33 gmpsec64 0.51
-2e194m33 gmpsec64 0.53
-2e194m33 gmpvar64 0.35
-2e194m33 gmpvar64 0.35
-2e194m33 gmpvar64 0.35
-2e194m33 gmpvar64 0.36
-2e194m33 gmpxx64 0.93
-2e194m33 gmpxx64 0.93
-2e194m33 gmpxx64 0.94
-2e194m33 gmpxx64 0.95
-2e196m15 fiat_solinas64 0.04
-2e196m15 gmpsec64 0.50
-2e196m15 gmpsec64 0.50
-2e196m15 gmpsec64 0.51
-2e196m15 gmpsec64 0.51
-2e196m15 gmpvar64 0.34
-2e196m15 gmpvar64 0.35
-2e196m15 gmpvar64 0.35
-2e196m15 gmpvar64 0.35
-2e196m15 gmpxx64 0.87
-2e196m15 gmpxx64 0.88
-2e196m15 gmpxx64 0.89
-2e196m15 gmpxx64 0.91
-2e198m17 fiat_solinas32 0.11
-2e198m17 fiat_solinas64 0.04
-2e198m17 gmpsec64 0.50
-2e198m17 gmpsec64 0.50
-2e198m17 gmpsec64 0.50
-2e198m17 gmpsec64 0.50
-2e198m17 gmpvar64 0.34
-2e198m17 gmpvar64 0.35
-2e198m17 gmpvar64 0.35
-2e198m17 gmpvar64 0.35
-2e198m17 gmpxx64 0.86
-2e198m17 gmpxx64 0.87
-2e198m17 gmpxx64 0.87
-2e198m17 gmpxx64 0.87
-2e205m45x2e198m1 fiat_montgomery32 0.36
-2e205m45x2e198m1 fiat_montgomery64 0.13
-2e205m45x2e198m1 gmpsec64 0.49
-2e205m45x2e198m1 gmpsec64 0.50
-2e205m45x2e198m1 gmpsec64 0.51
-2e205m45x2e198m1 gmpsec64 0.52
-2e205m45x2e198m1 gmpvar64 0.34
-2e205m45x2e198m1 gmpvar64 0.35
-2e205m45x2e198m1 gmpvar64 0.35
-2e205m45x2e198m1 gmpvar64 0.36
-2e205m45x2e198m1 gmpxx64 0.84
-2e205m45x2e198m1 gmpxx64 0.84
-2e205m45x2e198m1 gmpxx64 0.85
-2e205m45x2e198m1 gmpxx64 0.94
-2e206m5 fiat_montgomery32 0.37
-2e206m5 fiat_montgomery64 0.13
-2e206m5 fiat_solinas32 0.19
-2e206m5 fiat_solinas64 0.04
-2e206m5 gmpsec64 0.50
-2e206m5 gmpsec64 0.50
-2e206m5 gmpsec64 0.50
-2e206m5 gmpsec64 0.54
-2e206m5 gmpvar64 0.34
-2e206m5 gmpvar64 0.34
-2e206m5 gmpvar64 0.35
-2e206m5 gmpvar64 0.35
-2e206m5 gmpxx64 0.86
-2e206m5 gmpxx64 0.86
-2e206m5 gmpxx64 0.87
-2e206m5 gmpxx64 0.89
-2e212m29 fiat_montgomery32 0.38
-2e212m29 fiat_montgomery64 0.13
-2e212m29 fiat_solinas64 0.05
-2e212m29 gmpsec64 0.50
-2e212m29 gmpsec64 0.50
-2e212m29 gmpsec64 0.51
-2e212m29 gmpsec64 0.52
-2e212m29 gmpvar64 0.35
-2e212m29 gmpvar64 0.35
-2e212m29 gmpvar64 0.35
-2e212m29 gmpvar64 0.36
-2e212m29 gmpxx64 0.88
-2e212m29 gmpxx64 0.88
-2e212m29 gmpxx64 0.88
-2e212m29 gmpxx64 0.89
-2e213m3 fiat_montgomery32 0.37
-2e213m3 fiat_montgomery64 0.13
-2e213m3 fiat_solinas32 0.28
-2e213m3 fiat_solinas64 0.04
-2e213m3 gmpsec64 0.50
-2e213m3 gmpsec64 0.50
-2e213m3 gmpsec64 0.50
-2e213m3 gmpsec64 0.51
-2e213m3 gmpvar64 0.35
-2e213m3 gmpvar64 0.35
-2e213m3 gmpvar64 0.35
-2e213m3 gmpvar64 0.36
-2e213m3 gmpxx64 0.88
-2e213m3 gmpxx64 0.88
-2e213m3 gmpxx64 0.88
-2e213m3 gmpxx64 0.89
-2e216m2e108m1 fiat_montgomery32 0.38
-2e216m2e108m1 fiat_montgomery64 0.12
-2e216m2e108m1 fiat_solinas32 0.08
-2e216m2e108m1 fiat_solinas64 0.04
-2e216m2e108m1 gmpsec64 0.50
-2e216m2e108m1 gmpsec64 0.50
-2e216m2e108m1 gmpsec64 0.50
-2e216m2e108m1 gmpsec64 0.54
-2e216m2e108m1 gmpvar64 0.35
-2e216m2e108m1 gmpvar64 0.35
-2e216m2e108m1 gmpvar64 0.35
-2e216m2e108m1 gmpvar64 0.36
-2e216m2e108m1 gmpxx64 0.86
-2e216m2e108m1 gmpxx64 0.86
-2e216m2e108m1 gmpxx64 0.87
-2e216m2e108m1 gmpxx64 0.88
-2e221m3 fiat_montgomery32 0.38
-2e221m3 fiat_montgomery64 0.13
-2e221m3 fiat_solinas32 0.13
-2e221m3 fiat_solinas64 0.04
-2e221m3 gmpsec64 0.50
-2e221m3 gmpsec64 0.50
-2e221m3 gmpsec64 0.50
-2e221m3 gmpsec64 0.50
-2e221m3 gmpvar64 0.35
-2e221m3 gmpvar64 0.36
-2e221m3 gmpvar64 0.36
-2e221m3 gmpvar64 0.36
-2e221m3 gmpxx64 0.88
-2e221m3 gmpxx64 0.88
-2e221m3 gmpxx64 0.88
-2e221m3 gmpxx64 0.91
-2e222m117 fiat_montgomery32 0.37
-2e222m117 fiat_montgomery64 0.13
-2e222m117 fiat_solinas32 0.13
-2e222m117 fiat_solinas64 0.05
-2e222m117 gmpsec64 0.50
-2e222m117 gmpsec64 0.50
-2e222m117 gmpsec64 0.50
-2e222m117 gmpsec64 0.51
-2e222m117 gmpvar64 0.34
-2e222m117 gmpvar64 0.35
-2e222m117 gmpvar64 0.36
-2e222m117 gmpvar64 0.36
-2e222m117 gmpxx64 0.88
-2e222m117 gmpxx64 0.89
-2e222m117 gmpxx64 0.91
-2e222m117 gmpxx64 0.92
-2e224m2e96p1 fiat_montgomery32 0.32
-2e224m2e96p1 fiat_montgomery64 0.12
-2e224m2e96p1 gmpsec64 0.50
-2e224m2e96p1 gmpsec64 0.50
-2e224m2e96p1 gmpsec64 0.50
-2e224m2e96p1 gmpsec64 0.50
-2e224m2e96p1 gmpvar64 0.35
-2e224m2e96p1 gmpvar64 0.35
-2e224m2e96p1 gmpvar64 0.36
-2e224m2e96p1 gmpvar64 0.37
-2e224m2e96p1 gmpxx64 0.86
-2e224m2e96p1 gmpxx64 0.86
-2e224m2e96p1 gmpxx64 0.86
-2e224m2e96p1 gmpxx64 0.88
-2e226m5 fiat_montgomery64 0.12
-2e226m5 fiat_solinas64 0.04
-2e226m5 gmpsec64 0.50
-2e226m5 gmpsec64 0.50
-2e226m5 gmpsec64 0.50
-2e226m5 gmpsec64 0.51
-2e226m5 gmpvar64 0.34
-2e226m5 gmpvar64 0.34
-2e226m5 gmpvar64 0.35
-2e226m5 gmpvar64 0.37
-2e226m5 gmpxx64 0.90
-2e226m5 gmpxx64 0.91
-2e226m5 gmpxx64 0.96
-2e226m5 gmpxx64 1.01
-2e230m27 fiat_montgomery64 0.13
-2e230m27 fiat_solinas32 0.13
-2e230m27 fiat_solinas64 0.05
-2e230m27 gmpsec64 0.49
-2e230m27 gmpsec64 0.50
-2e230m27 gmpsec64 0.51
-2e230m27 gmpsec64 0.51
-2e230m27 gmpvar64 0.34
-2e230m27 gmpvar64 0.35
-2e230m27 gmpvar64 0.35
-2e230m27 gmpvar64 0.35
-2e230m27 gmpxx64 0.88
-2e230m27 gmpxx64 0.89
-2e230m27 gmpxx64 0.90
-2e230m27 gmpxx64 0.91
-2e235m15 fiat_montgomery64 0.13
-2e235m15 fiat_solinas32 0.10
-2e235m15 fiat_solinas64 0.07
-2e235m15 gmpsec64 0.50
-2e235m15 gmpsec64 0.50
-2e235m15 gmpsec64 0.50
-2e235m15 gmpsec64 0.50
-2e235m15 gmpvar64 0.34
-2e235m15 gmpvar64 0.34
-2e235m15 gmpvar64 0.34
-2e235m15 gmpvar64 0.34
-2e235m15 gmpxx64 0.88
-2e235m15 gmpxx64 0.88
-2e235m15 gmpxx64 0.88
-2e235m15 gmpxx64 0.89
-2e243m9 fiat_montgomery64 0.12
-2e243m9 fiat_solinas32 0.10
-2e243m9 fiat_solinas64 0.10
-2e243m9 gmpsec64 0.50
-2e243m9 gmpsec64 0.51
-2e243m9 gmpsec64 0.51
-2e243m9 gmpsec64 0.51
-2e243m9 gmpvar64 0.34
-2e243m9 gmpvar64 0.34
-2e243m9 gmpvar64 0.35
-2e243m9 gmpvar64 0.35
-2e243m9 gmpxx64 0.89
-2e243m9 gmpxx64 0.89
-2e243m9 gmpxx64 0.90
-2e243m9 gmpxx64 0.91
-2e251m9 fiat_montgomery64 0.13
-2e251m9 fiat_solinas32 0.13
-2e251m9 fiat_solinas64 0.06
-2e251m9 gmpsec64 0.50
-2e251m9 gmpsec64 0.50
-2e251m9 gmpsec64 0.50
-2e251m9 gmpsec64 0.50
-2e251m9 gmpvar64 0.35
-2e251m9 gmpvar64 0.35
-2e251m9 gmpvar64 0.35
-2e251m9 gmpvar64 0.36
-2e251m9 gmpxx64 0.90
-2e251m9 gmpxx64 0.90
-2e251m9 gmpxx64 0.90
-2e251m9 gmpxx64 0.97
-2e254m127x2e240m1 fiat_montgomery64 0.13
-2e254m127x2e240m1 gmpsec64 0.50
-2e254m127x2e240m1 gmpsec64 0.51
-2e254m127x2e240m1 gmpsec64 0.51
-2e254m127x2e240m1 gmpsec64 0.51
-2e254m127x2e240m1 gmpvar64 0.35
-2e254m127x2e240m1 gmpvar64 0.35
-2e254m127x2e240m1 gmpvar64 0.35
-2e254m127x2e240m1 gmpvar64 0.36
-2e254m127x2e240m1 gmpxx64 0.90
-2e254m127x2e240m1 gmpxx64 0.91
-2e254m127x2e240m1 gmpxx64 0.91
-2e254m127x2e240m1 gmpxx64 0.93
-2e255m19 fiat_montgomery64 0.13
-2e255m19 fiat_solinas32 0.13
-2e255m19 fiat_solinas64 0.06
-2e255m19 gmpsec64 0.48
-2e255m19 gmpsec64 0.48
-2e255m19 gmpsec64 0.49
-2e255m19 gmpsec64 0.49
-2e255m19 gmpvar64 0.33
-2e255m19 gmpvar64 0.33
-2e255m19 gmpvar64 0.34
-2e255m19 gmpvar64 0.34
-2e255m19 gmpxx64 0.87
-2e255m19 gmpxx64 0.87
-2e255m19 gmpxx64 0.87
-2e255m19 gmpxx64 0.90
-2e255m765 fiat_montgomery64 0.13
-2e255m765 fiat_solinas32 0.19
-2e255m765 fiat_solinas64 0.06
-2e255m765 gmpsec64 0.47
-2e255m765 gmpsec64 0.47
-2e255m765 gmpsec64 0.47
-2e255m765 gmpsec64 0.49
-2e255m765 gmpvar64 0.33
-2e255m765 gmpvar64 0.33
-2e255m765 gmpvar64 0.33
-2e255m765 gmpvar64 0.35
-2e255m765 gmpxx64 0.87
-2e255m765 gmpxx64 0.87
-2e255m765 gmpxx64 0.88
-2e255m765 gmpxx64 0.88
-2e256m189 fiat_montgomery64 0.13
-2e256m189 fiat_solinas32 0.18
-2e256m189 fiat_solinas64 0.06
-2e256m189 gmpsec64 0.38
-2e256m189 gmpsec64 0.38
-2e256m189 gmpsec64 0.39
-2e256m189 gmpsec64 0.39
-2e256m189 gmpvar64 0.34
-2e256m189 gmpvar64 0.34
-2e256m189 gmpvar64 0.34
-2e256m189 gmpvar64 0.35
-2e256m189 gmpxx64 0.85
-2e256m189 gmpxx64 0.87
-2e256m189 gmpxx64 0.87
-2e256m189 gmpxx64 0.88
-2e256m2e224p2e192p2e96m1 fiat_montgomery64 0.11
-2e256m2e224p2e192p2e96m1 gmpsec64 0.37
-2e256m2e224p2e192p2e96m1 gmpsec64 0.37
-2e256m2e224p2e192p2e96m1 gmpsec64 0.38
-2e256m2e224p2e192p2e96m1 gmpsec64 0.39
-2e256m2e224p2e192p2e96m1 gmpvar64 0.33
-2e256m2e224p2e192p2e96m1 gmpvar64 0.33
-2e256m2e224p2e192p2e96m1 gmpvar64 0.34
-2e256m2e224p2e192p2e96m1 gmpvar64 0.34
-2e256m2e224p2e192p2e96m1 gmpxx64 0.85
-2e256m2e224p2e192p2e96m1 gmpxx64 0.86
-2e256m2e224p2e192p2e96m1 gmpxx64 0.86
-2e256m2e224p2e192p2e96m1 gmpxx64 0.87
-2e256m2e32m977 fiat_montgomery64 0.13
-2e256m2e32m977 fiat_solinas32 0.19
-2e256m2e32m977 gmpsec64 0.37
-2e256m2e32m977 gmpsec64 0.37
-2e256m2e32m977 gmpsec64 0.37
-2e256m2e32m977 gmpsec64 0.38
-2e256m2e32m977 gmpvar64 0.34
-2e256m2e32m977 gmpvar64 0.34
-2e256m2e32m977 gmpvar64 0.34
-2e256m2e32m977 gmpvar64 0.34
-2e256m2e32m977 gmpxx64 0.86
-2e256m2e32m977 gmpxx64 0.86
-2e256m2e32m977 gmpxx64 0.86
-2e256m2e32m977 gmpxx64 0.89
-2e256m88x2e240m1 fiat_montgomery64 0.12
-2e256m88x2e240m1 gmpsec64 0.37
-2e256m88x2e240m1 gmpsec64 0.38
-2e256m88x2e240m1 gmpsec64 0.38
-2e256m88x2e240m1 gmpsec64 0.38
-2e256m88x2e240m1 gmpvar64 0.34
-2e256m88x2e240m1 gmpvar64 0.34
-2e256m88x2e240m1 gmpvar64 0.34
-2e256m88x2e240m1 gmpvar64 0.37
-2e256m88x2e240m1 gmpxx64 0.86
-2e256m88x2e240m1 gmpxx64 0.86
-2e256m88x2e240m1 gmpxx64 0.88
-2e256m88x2e240m1 gmpxx64 0.91
-2e266m3 fiat_montgomery64 0.18
-2e266m3 fiat_solinas32 0.19
-2e266m3 fiat_solinas64 0.06
-2e266m3 gmpsec64 0.64
-2e266m3 gmpsec64 0.65
-2e266m3 gmpsec64 0.66
-2e266m3 gmpsec64 0.67
-2e266m3 gmpvar64 0.43
-2e266m3 gmpvar64 0.43
-2e266m3 gmpvar64 0.43
-2e266m3 gmpvar64 0.45
-2e266m3 gmpxx64 0.98
-2e266m3 gmpxx64 0.99
-2e266m3 gmpxx64 1.00
-2e266m3 gmpxx64 1.03
-2e285m9 fiat_montgomery64 0.19
-2e285m9 fiat_solinas32 0.27
-2e285m9 fiat_solinas64 0.06
-2e285m9 gmpsec64 0.65
-2e285m9 gmpsec64 0.65
-2e285m9 gmpsec64 0.67
-2e285m9 gmpsec64 0.67
-2e285m9 gmpvar64 0.43
-2e285m9 gmpvar64 0.44
-2e285m9 gmpvar64 0.44
-2e285m9 gmpvar64 0.44
-2e285m9 gmpxx64 0.97
-2e285m9 gmpxx64 0.99
-2e285m9 gmpxx64 0.99
-2e285m9 gmpxx64 1.02
-2e291m19 fiat_montgomery64 0.19
-2e291m19 fiat_solinas32 0.18
-2e291m19 fiat_solinas64 0.07
-2e291m19 gmpsec64 0.64
-2e291m19 gmpsec64 0.65
-2e291m19 gmpsec64 0.65
-2e291m19 gmpsec64 0.67
-2e291m19 gmpvar64 0.43
-2e291m19 gmpvar64 0.43
-2e291m19 gmpvar64 0.45
-2e291m19 gmpvar64 0.48
-2e291m19 gmpxx64 0.99
-2e291m19 gmpxx64 1.00
-2e291m19 gmpxx64 1.01
-2e291m19 gmpxx64 1.03
-2e321m9 fiat_montgomery64 0.25
-2e321m9 fiat_solinas32 0.30
-2e321m9 fiat_solinas64 0.10
-2e321m9 gmpsec64 0.80
-2e321m9 gmpsec64 0.81
-2e321m9 gmpsec64 0.85
-2e321m9 gmpsec64 0.87
-2e321m9 gmpvar64 0.52
-2e321m9 gmpvar64 0.53
-2e321m9 gmpvar64 0.53
-2e321m9 gmpvar64 0.55
-2e321m9 gmpxx64 1.16
-2e321m9 gmpxx64 1.16
-2e321m9 gmpxx64 1.16
-2e321m9 gmpxx64 1.17
-2e322m2e161m1 fiat_solinas32 0.21
-2e322m2e161m1 gmpsec64 0.81
-2e322m2e161m1 gmpsec64 0.81
-2e322m2e161m1 gmpsec64 0.81
-2e322m2e161m1 gmpsec64 0.85
-2e322m2e161m1 gmpvar64 0.52
-2e322m2e161m1 gmpvar64 0.52
-2e322m2e161m1 gmpvar64 0.53
-2e322m2e161m1 gmpvar64 0.58
-2e322m2e161m1 gmpxx64 1.13
-2e322m2e161m1 gmpxx64 1.13
-2e322m2e161m1 gmpxx64 1.15
-2e322m2e161m1 gmpxx64 1.15
-2e336m17 fiat_montgomery64 0.25
-2e336m17 fiat_solinas32 0.23
-2e336m17 fiat_solinas64 0.10
-2e336m17 gmpsec64 0.80
-2e336m17 gmpsec64 0.82
-2e336m17 gmpsec64 0.82
-2e336m17 gmpsec64 0.82
-2e336m17 gmpvar64 0.53
-2e336m17 gmpvar64 0.53
-2e336m17 gmpvar64 0.54
-2e336m17 gmpvar64 0.54
-2e336m17 gmpxx64 1.07
-2e336m17 gmpxx64 1.08
-2e336m17 gmpxx64 1.14
-2e336m17 gmpxx64 1.24
-2e336m3 fiat_montgomery64 0.27
-2e336m3 fiat_solinas64 0.10
-2e336m3 gmpsec64 0.81
-2e336m3 gmpsec64 0.81
-2e336m3 gmpsec64 0.82
-2e336m3 gmpsec64 0.89
-2e336m3 gmpvar64 0.53
-2e336m3 gmpvar64 0.53
-2e336m3 gmpvar64 0.54
-2e336m3 gmpvar64 0.54
-2e336m3 gmpxx64 1.06
-2e336m3 gmpxx64 1.06
-2e336m3 gmpxx64 1.08
-2e336m3 gmpxx64 1.11
-2e338m15 fiat_montgomery64 0.27
-2e338m15 fiat_solinas32 0.20
-2e338m15 fiat_solinas64 0.10
-2e338m15 gmpsec64 0.79
-2e338m15 gmpsec64 0.80
-2e338m15 gmpsec64 0.80
-2e338m15 gmpsec64 0.84
-2e338m15 gmpvar64 0.53
-2e338m15 gmpvar64 0.53
-2e338m15 gmpvar64 0.54
-2e338m15 gmpvar64 0.62
-2e338m15 gmpxx64 1.06
-2e338m15 gmpxx64 1.07
-2e338m15 gmpxx64 1.08
-2e338m15 gmpxx64 1.09
-2e369m25 fiat_montgomery64 0.27
-2e369m25 fiat_solinas32 0.29
-2e369m25 fiat_solinas64 0.15
-2e369m25 gmpsec64 0.79
-2e369m25 gmpsec64 0.80
-2e369m25 gmpsec64 0.80
-2e369m25 gmpsec64 0.80
-2e369m25 gmpvar64 0.53
-2e369m25 gmpvar64 0.53
-2e369m25 gmpvar64 0.53
-2e369m25 gmpvar64 0.53
-2e369m25 gmpxx64 1.06
-2e369m25 gmpxx64 1.07
-2e369m25 gmpxx64 1.08
-2e369m25 gmpxx64 1.09
-2e379m19 fiat_montgomery64 0.28
-2e379m19 fiat_solinas64 0.13
-2e379m19 gmpsec64 0.80
-2e379m19 gmpsec64 0.80
-2e379m19 gmpsec64 0.81
-2e379m19 gmpsec64 0.82
-2e379m19 gmpvar64 0.53
-2e379m19 gmpvar64 0.53
-2e379m19 gmpvar64 0.54
-2e379m19 gmpvar64 0.54
-2e379m19 gmpxx64 1.07
-2e379m19 gmpxx64 1.07
-2e379m19 gmpxx64 1.08
-2e379m19 gmpxx64 1.09
-2e382m105 fiat_montgomery64 0.27
-2e382m105 fiat_solinas64 0.23
-2e382m105 gmpsec64 0.81
-2e382m105 gmpsec64 0.82
-2e382m105 gmpsec64 0.83
-2e382m105 gmpsec64 0.88
-2e382m105 gmpvar64 0.53
-2e382m105 gmpvar64 0.53
-2e382m105 gmpvar64 0.54
-2e382m105 gmpvar64 0.54
-2e382m105 gmpxx64 1.08
-2e382m105 gmpxx64 1.08
-2e382m105 gmpxx64 1.08
-2e382m105 gmpxx64 1.10
-2e383m187 fiat_montgomery64 0.27
-2e383m187 gmpsec64 0.75
-2e383m187 gmpsec64 0.76
-2e383m187 gmpvar64 0.50
-2e383m187 gmpvar64 0.50
-2e383m187 gmpxx64 1.04
-2e383m187 gmpxx64 1.08
-2e383m31 fiat_montgomery64 0.27
-2e383m31 gmpsec64 0.76
-2e383m31 gmpsec64 0.80
-2e383m31 gmpvar64 0.50
-2e383m31 gmpvar64 0.51
-2e383m31 gmpxx64 1.04
-2e383m31 gmpxx64 1.04
-2e383m421 fiat_montgomery64 0.27
-2e383m421 gmpsec64 0.76
-2e383m421 gmpsec64 0.76
-2e383m421 gmpvar64 0.50
-2e383m421 gmpvar64 0.51
-2e383m421 gmpxx64 1.03
-2e383m421 gmpxx64 1.07
-2e384m2e128m2e96p2e32m1 fiat_montgomery64 0.26
-2e384m2e128m2e96p2e32m1 gmpsec64 0.63
-2e384m2e128m2e96p2e32m1 gmpsec64 0.63
-2e384m2e128m2e96p2e32m1 gmpsec64 0.63
-2e384m2e128m2e96p2e32m1 gmpsec64 0.66
-2e384m2e128m2e96p2e32m1 gmpvar64 0.47
-2e384m2e128m2e96p2e32m1 gmpvar64 0.47
-2e384m2e128m2e96p2e32m1 gmpvar64 0.47
-2e384m2e128m2e96p2e32m1 gmpvar64 0.47
-2e384m2e128m2e96p2e32m1 gmpxx64 0.97
-2e384m2e128m2e96p2e32m1 gmpxx64 0.97
-2e384m2e128m2e96p2e32m1 gmpxx64 0.97
-2e384m2e128m2e96p2e32m1 gmpxx64 0.99
-2e384m317 fiat_montgomery64 0.26
-2e384m317 fiat_solinas64 0.15
-2e384m317 gmpsec64 0.63
-2e384m317 gmpsec64 0.63
-2e384m317 gmpsec64 0.63
-2e384m317 gmpsec64 0.64
-2e384m317 gmpvar64 0.46
-2e384m317 gmpvar64 0.47
-2e384m317 gmpvar64 0.48
-2e384m317 gmpvar64 0.48
-2e384m317 gmpxx64 0.96
-2e384m317 gmpxx64 0.97
-2e384m317 gmpxx64 0.97
-2e384m317 gmpxx64 0.97
-2e384m5x2e368m1 fiat_montgomery64 0.23
-2e384m5x2e368m1 gmpsec64 0.62
-2e384m5x2e368m1 gmpsec64 0.62
-2e384m5x2e368m1 gmpsec64 0.63
-2e384m5x2e368m1 gmpsec64 0.63
-2e384m5x2e368m1 gmpvar64 0.46
-2e384m5x2e368m1 gmpvar64 0.46
-2e384m5x2e368m1 gmpvar64 0.48
-2e384m5x2e368m1 gmpvar64 0.51
-2e384m5x2e368m1 gmpxx64 0.97
-2e384m5x2e368m1 gmpxx64 0.97
-2e384m5x2e368m1 gmpxx64 0.98
-2e384m5x2e368m1 gmpxx64 0.99
-2e384m79x2e376m1 fiat_montgomery64 0.23
-2e384m79x2e376m1 gmpsec64 0.62
-2e384m79x2e376m1 gmpsec64 0.63
-2e384m79x2e376m1 gmpsec64 0.63
-2e384m79x2e376m1 gmpsec64 0.67
-2e384m79x2e376m1 gmpvar64 0.46
-2e384m79x2e376m1 gmpvar64 0.47
-2e384m79x2e376m1 gmpvar64 0.47
-2e384m79x2e376m1 gmpvar64 0.54
-2e384m79x2e376m1 gmpxx64 0.96
-2e384m79x2e376m1 gmpxx64 0.97
-2e384m79x2e376m1 gmpxx64 0.98
-2e384m79x2e376m1 gmpxx64 0.98
-2e389m21 gmpsec64 0.96
-2e389m21 gmpsec64 0.97
-2e389m21 gmpvar64 0.59
-2e389m21 gmpvar64 0.62
-2e389m21 gmpxx64 1.18
-2e389m21 gmpxx64 1.19
-2e401m31 fiat_montgomery64 0.35
-2e401m31 fiat_solinas32 0.30
-2e401m31 fiat_solinas64 0.15
-2e401m31 gmpsec64 0.97
-2e401m31 gmpsec64 0.98
-2e401m31 gmpsec64 0.98
-2e401m31 gmpsec64 0.99
-2e401m31 gmpvar64 0.60
-2e401m31 gmpvar64 0.60
-2e401m31 gmpvar64 0.60
-2e401m31 gmpvar64 0.61
-2e401m31 gmpxx64 1.16
-2e401m31 gmpxx64 1.17
-2e401m31 gmpxx64 1.17
-2e401m31 gmpxx64 1.18
-2e413m21 gmpsec64 0.97
-2e413m21 gmpsec64 0.97
-2e413m21 gmpsec64 0.97
-2e413m21 gmpvar64 0.61
-2e413m21 gmpvar64 0.61
-2e413m21 gmpvar64 0.61
-2e413m21 gmpxx64 1.17
-2e413m21 gmpxx64 1.17
-2e413m21 gmpxx64 1.18
-2e414m17 fiat_montgomery64 0.35
-2e414m17 fiat_solinas64 0.20
-2e414m17 gmpsec64 0.96
-2e414m17 gmpsec64 0.96
-2e414m17 gmpsec64 0.97
-2e414m17 gmpsec64 0.98
-2e414m17 gmpvar64 0.60
-2e414m17 gmpvar64 0.61
-2e414m17 gmpvar64 0.61
-2e414m17 gmpvar64 0.76
-2e414m17 gmpxx64 1.16
-2e414m17 gmpxx64 1.17
-2e414m17 gmpxx64 1.17
-2e414m17 gmpxx64 1.18
-2e416m2e208m1 fiat_montgomery64 0.35
-2e416m2e208m1 fiat_solinas32 0.25
-2e416m2e208m1 fiat_solinas64 0.12
-2e416m2e208m1 gmpsec64 0.96
-2e416m2e208m1 gmpsec64 0.97
-2e416m2e208m1 gmpsec64 0.97
-2e416m2e208m1 gmpsec64 1.00
-2e416m2e208m1 gmpvar64 0.60
-2e416m2e208m1 gmpvar64 0.61
-2e416m2e208m1 gmpvar64 0.62
-2e416m2e208m1 gmpvar64 0.62
-2e416m2e208m1 gmpxx64 1.17
-2e416m2e208m1 gmpxx64 1.18
-2e416m2e208m1 gmpxx64 1.18
-2e416m2e208m1 gmpxx64 1.19
-2e444m17 fiat_montgomery64 0.35
-2e444m17 fiat_solinas64 0.16
-2e444m17 gmpsec64 0.96
-2e444m17 gmpsec64 0.96
-2e444m17 gmpsec64 0.96
-2e444m17 gmpsec64 0.96
-2e444m17 gmpvar64 0.60
-2e444m17 gmpvar64 0.60
-2e444m17 gmpvar64 0.60
-2e444m17 gmpvar64 0.61
-2e444m17 gmpxx64 1.17
-2e444m17 gmpxx64 1.18
-2e444m17 gmpxx64 1.19
-2e444m17 gmpxx64 1.20
-2e448m2e224m1 fiat_montgomery64 0.32
-2e448m2e224m1 fiat_solinas64 0.12
-2e448m2e224m1 gmpsec64 0.77
-2e448m2e224m1 gmpsec64 0.78
-2e448m2e224m1 gmpsec64 0.78
-2e448m2e224m1 gmpsec64 0.81
-2e448m2e224m1 gmpvar64 0.53
-2e448m2e224m1 gmpvar64 0.54
-2e448m2e224m1 gmpvar64 0.54
-2e448m2e224m1 gmpvar64 0.57
-2e448m2e224m1 gmpxx64 1.05
-2e448m2e224m1 gmpxx64 1.07
-2e448m2e224m1 gmpxx64 1.07
-2e448m2e224m1 gmpxx64 1.07
-2e450m2e225m1 fiat_solinas64 0.12
-2e450m2e225m1 gmpsec64 1.17
-2e450m2e225m1 gmpsec64 1.18
-2e450m2e225m1 gmpsec64 1.18
-2e450m2e225m1 gmpsec64 1.19
-2e450m2e225m1 gmpvar64 0.69
-2e450m2e225m1 gmpvar64 0.70
-2e450m2e225m1 gmpvar64 0.70
-2e450m2e225m1 gmpvar64 0.70
-2e450m2e225m1 gmpxx64 1.34
-2e450m2e225m1 gmpxx64 1.34
-2e450m2e225m1 gmpxx64 1.36
-2e450m2e225m1 gmpxx64 1.36
-2e452m3 fiat_solinas64 0.16
-2e452m3 gmpsec64 1.17
-2e452m3 gmpsec64 1.18
-2e452m3 gmpsec64 1.18
-2e452m3 gmpsec64 1.19
-2e452m3 gmpvar64 0.68
-2e452m3 gmpvar64 0.69
-2e452m3 gmpvar64 0.71
-2e452m3 gmpvar64 0.72
-2e452m3 gmpxx64 1.29
-2e452m3 gmpxx64 1.30
-2e452m3 gmpxx64 1.32
-2e452m3 gmpxx64 1.34
-2e468m17 fiat_solinas64 0.17
-2e468m17 gmpsec64 1.17
-2e468m17 gmpsec64 1.18
-2e468m17 gmpsec64 1.18
-2e468m17 gmpsec64 1.21
-2e468m17 gmpvar64 0.69
-2e468m17 gmpvar64 0.70
-2e468m17 gmpvar64 0.70
-2e468m17 gmpvar64 0.79
-2e468m17 gmpxx64 1.26
-2e468m17 gmpxx64 1.28
-2e468m17 gmpxx64 1.30
-2e468m17 gmpxx64 1.40
-2e480m2e240m1 fiat_solinas64 0.15
-2e480m2e240m1 gmpsec64 1.17
-2e480m2e240m1 gmpsec64 1.17
-2e480m2e240m1 gmpsec64 1.23
-2e480m2e240m1 gmpsec64 1.26
-2e480m2e240m1 gmpvar64 0.69
-2e480m2e240m1 gmpvar64 0.70
-2e480m2e240m1 gmpvar64 0.71
-2e480m2e240m1 gmpvar64 0.78
-2e480m2e240m1 gmpxx64 1.27
-2e480m2e240m1 gmpxx64 1.27
-2e480m2e240m1 gmpxx64 1.28
-2e480m2e240m1 gmpxx64 1.33
-2e488m17 fiat_solinas64 0.55
-2e488m17 gmpsec64 1.16
-2e488m17 gmpsec64 1.17
-2e488m17 gmpsec64 1.17
-2e488m17 gmpsec64 1.21
-2e488m17 gmpvar64 0.69
-2e488m17 gmpvar64 0.69
-2e488m17 gmpvar64 0.70
-2e488m17 gmpvar64 0.78
-2e488m17 gmpxx64 1.27
-2e488m17 gmpxx64 1.28
-2e488m17 gmpxx64 1.31
-2e488m17 gmpxx64 1.32
-2e489m21 fiat_solinas64 0.20
-2e489m21 gmpsec64 1.17
-2e489m21 gmpsec64 1.17
-2e489m21 gmpsec64 1.17
-2e489m21 gmpsec64 1.19
-2e489m21 gmpvar64 0.69
-2e489m21 gmpvar64 0.69
-2e489m21 gmpvar64 0.70
-2e489m21 gmpvar64 0.71
-2e489m21 gmpxx64 1.27
-2e489m21 gmpxx64 1.28
-2e489m21 gmpxx64 1.28
-2e489m21 gmpxx64 1.29
-2e495m31 fiat_solinas64 0.19
-2e495m31 gmpsec64 1.16
-2e495m31 gmpsec64 1.17
-2e495m31 gmpsec64 1.17
-2e495m31 gmpsec64 1.18
-2e495m31 gmpvar64 0.69
-2e495m31 gmpvar64 0.69
-2e495m31 gmpvar64 0.69
-2e495m31 gmpvar64 0.72
-2e495m31 gmpxx64 1.29
-2e495m31 gmpxx64 1.29
-2e495m31 gmpxx64 1.30
-2e495m31 gmpxx64 1.40
-2e510m290x2e496m1 gmpsec64 1.17
-2e510m290x2e496m1 gmpsec64 1.17
-2e510m290x2e496m1 gmpsec64 1.17
-2e510m290x2e496m1 gmpsec64 1.19
-2e510m290x2e496m1 gmpvar64 0.69
-2e510m290x2e496m1 gmpvar64 0.70
-2e510m290x2e496m1 gmpvar64 0.70
-2e510m290x2e496m1 gmpvar64 0.70
-2e510m290x2e496m1 gmpxx64 1.26
-2e510m290x2e496m1 gmpxx64 1.30
-2e510m290x2e496m1 gmpxx64 1.31
-2e510m290x2e496m1 gmpxx64 1.41
-2e511m187 fiat_solinas64 0.24
-2e511m187 gmpsec64 1.11
-2e511m187 gmpsec64 1.12
-2e511m187 gmpsec64 1.12
-2e511m187 gmpsec64 1.12
-2e511m187 gmpvar64 0.65
-2e511m187 gmpvar64 0.65
-2e511m187 gmpvar64 0.66
-2e511m187 gmpvar64 0.67
-2e511m187 gmpxx64 1.22
-2e511m187 gmpxx64 1.22
-2e511m187 gmpxx64 1.22
-2e511m187 gmpxx64 1.23
-2e511m481 fiat_solinas64 0.24
-2e511m481 gmpsec64 1.11
-2e511m481 gmpsec64 1.11
-2e511m481 gmpsec64 1.11
-2e511m481 gmpsec64 1.21
-2e511m481 gmpvar64 0.65
-2e511m481 gmpvar64 0.66
-2e511m481 gmpvar64 0.66
-2e511m481 gmpvar64 0.66
-2e511m481 gmpxx64 1.21
-2e511m481 gmpxx64 1.21
-2e511m481 gmpxx64 1.22
-2e511m481 gmpxx64 1.25
-2e512m491x2e496m1 gmpsec64 0.95
-2e512m491x2e496m1 gmpsec64 0.96
-2e512m491x2e496m1 gmpsec64 0.96
-2e512m491x2e496m1 gmpsec64 1.06
-2e512m491x2e496m1 gmpvar64 0.63
-2e512m491x2e496m1 gmpvar64 0.63
-2e512m491x2e496m1 gmpvar64 0.63
-2e512m491x2e496m1 gmpvar64 0.65
-2e512m491x2e496m1 gmpxx64 1.15
-2e512m491x2e496m1 gmpxx64 1.15
-2e512m491x2e496m1 gmpxx64 1.16
-2e512m491x2e496m1 gmpxx64 1.18
-2e512m569 fiat_solinas64 0.24
-2e512m569 gmpsec64 0.96
-2e512m569 gmpsec64 0.97
-2e512m569 gmpsec64 1.05
-2e512m569 gmpsec64 1.05
-2e512m569 gmpvar64 0.62
-2e512m569 gmpvar64 0.63
-2e512m569 gmpvar64 0.64
-2e512m569 gmpvar64 0.64
-2e512m569 gmpxx64 1.14
-2e512m569 gmpxx64 1.15
-2e512m569 gmpxx64 1.16
-2e512m569 gmpxx64 1.17
-2e521m1 fiat_solinas64 0.25
-2e521m1 gmpsec64 1.41
-2e521m1 gmpsec64 1.41
-2e521m1 gmpsec64 1.42
-2e521m1 gmpsec64 1.43
-2e521m1 gmpvar64 0.81
-2e521m1 gmpvar64 0.82
-2e521m1 gmpvar64 0.82
-2e521m1 gmpvar64 0.85
-2e521m1 gmpxx64 1.39
-2e521m1 gmpxx64 1.40
-2e521m1 gmpxx64 1.40
-2e521m1 gmpxx64 1.41
diff --git a/measurements/2017-11-03/setop b/measurements/2017-11-03/setop
deleted file mode 100644
index 7462ae0fd..000000000
--- a/measurements/2017-11-03/setop
+++ /dev/null
@@ -1,33 +0,0 @@
-clang version 6.0.0 (trunk 313786)
-Target: x86_64-unknown-linux-gnu
-Thread model: posix
-InstalledDir: /home/andreser/boringssl/util/bot/llvm-build/bin
-Architecture: x86_64
-CPU op-mode(s): 32-bit, 64-bit
-Byte Order: Little Endian
-CPU(s): 16
-On-line CPU(s) list: 0-15
-Thread(s) per core: 2
-Core(s) per socket: 8
-Socket(s): 1
-NUMA node(s): 1
-Vendor ID: GenuineIntel
-CPU family: 6
-Model: 63
-Model name: Intel(R) Xeon(R) CPU @ 2.30GHz
-Stepping: 0
-CPU MHz: 2300.000
-BogoMIPS: 4600.00
-Hypervisor vendor: KVM
-Virtualization type: full
-L1d cache: 32K
-L1i cache: 32K
-L2 cache: 256K
-L3 cache: 46080K
-NUMA node0 CPU(s): 0-15
-Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms xsaveopt
-commit 788b2eb9e4beae39fab6f64538d11c4539d1038e
-Author: Andres Erbsen <andreser@google.com>
-Date: Fri Nov 3 18:06:49 2017 +0000
-
- clang -fbracket-depth=999999
diff --git a/measurements/2017-11-03/table.tex b/measurements/2017-11-03/table.tex
deleted file mode 100644
index 7d7541e59..000000000
--- a/measurements/2017-11-03/table.tex
+++ /dev/null
@@ -1,358 +0,0 @@
-
- \begin{figure*}
- \begin{tikzpicture}
- \begin{axis}[
- height=9cm,
- width=\textwidth,
- legend pos= north west,
- xtick distance=100,
- extra x ticks={130,255,448,480},
- extra x tick style={grid=major, tick label style={rotate=45,anchor=east}},
- extra x tick labels={poly1305,curve25519/p256,goldilocks,ridinghood},
- xlabel=log2(prime),
- ylabel=Time (seconds)] \addplot[color=blue,mark=square*] coordinates {
- (127.0, 0.04)
- (129.0, 0.08)
- (137.0, 0.09)
- (140.0, 0.08)
- (141.0, 0.08)
- (150.0, 0.08)
- (152.0, 0.09)
- (158.0, 0.08)
- (165.0, 0.08)
- (166.0, 0.08)
- (171.0, 0.08)
- (174.0, 0.08)
- (189.0, 0.08)
- (190.0, 0.08)
- (191.0, 0.08)
- (192.0, 0.08)
- (204.37503943134692, 0.13)
- (206.0, 0.13)
- (212.0, 0.13)
- (213.0, 0.13)
- (216.0, 0.12)
- (221.0, 0.13)
- (222.0, 0.13)
- (224.0, 0.12)
- (226.0, 0.12)
- (230.0, 0.13)
- (235.0, 0.13)
- (243.0, 0.12)
- (251.0, 0.13)
- (253.98877343250717, 0.13)
- (255.0, 0.13)
- (256.0, 0.13)
- (255.99999999966408, 0.11)
- (255.9980614856364, 0.12)
- (266.0, 0.18)
- (285.0, 0.19)
- (291.0, 0.19)
- (321.0, 0.25)
- (336.0, 0.25)
- (338.0, 0.27)
- (369.0, 0.27)
- (379.0, 0.28)
- (382.0, 0.27)
- (383.0, 0.27)
- (384.0, 0.26)
- (383.9998899269044, 0.23)
- (383.467605550083, 0.23)
- (401.0, 0.35)
- (414.0, 0.35)
- (416.0, 0.35)
- (444.0, 0.35)
- (448.0, 0.32)
- };
- \addlegendentry{ours, Montgomery reduction}
-
- \addplot[color=blue,mark=square] coordinates {
- (127.0, 0.02)
- (129.0, 0.03)
- (130.0, 0.03)
- (137.0, 0.05)
- (140.0, 0.04)
- (141.0, 0.03)
- (150.0, 0.03)
- (152.0, 0.04)
- (158.0, 0.04)
- (165.0, 0.03)
- (166.0, 0.03)
- (171.0, 0.03)
- (174.0, 0.03)
- (189.0, 0.04)
- (190.0, 0.04)
- (191.0, 0.07)
- (192.0, 0.05)
- (194.0, 0.04)
- (196.0, 0.04)
- (198.0, 0.04)
- (206.0, 0.04)
- (212.0, 0.05)
- (213.0, 0.04)
- (216.0, 0.04)
- (221.0, 0.04)
- (222.0, 0.05)
- (226.0, 0.04)
- (230.0, 0.05)
- (235.0, 0.07)
- (243.0, 0.10)
- (251.0, 0.06)
- (255.0, 0.06)
- (256.0, 0.06)
- (266.0, 0.06)
- (285.0, 0.06)
- (291.0, 0.07)
- (321.0, 0.10)
- (336.0, 0.10)
- (338.0, 0.10)
- (369.0, 0.15)
- (379.0, 0.13)
- (382.0, 0.23)
- (384.0, 0.15)
- (401.0, 0.15)
- (414.0, 0.20)
- (416.0, 0.12)
- (444.0, 0.16)
- (448.0, 0.12)
- (450.0, 0.12)
- (452.0, 0.16)
- (468.0, 0.17)
- (480.0, 0.15)
- (488.0, 0.55)
- (489.0, 0.20)
- (495.0, 0.19)
- (511.0, 0.24)
- (512.0, 0.24)
- (521.0, 0.25)
- };
- \addlegendentry{ours, Solinas reduction}
-
- \addplot[color=red,mark=*] coordinates {
- (127.0, 0.15)
- (129.0, 0.27)
- (130.0, 0.27)
- (137.0, 0.27)
- (140.0, 0.27)
- (141.0, 0.27)
- (150.0, 0.27)
- (152.0, 0.27)
- (158.0, 0.27)
- (165.0, 0.27)
- (166.0, 0.27)
- (171.0, 0.27)
- (174.0, 0.27)
- (189.0, 0.28)
- (190.0, 0.27)
- (191.0, 0.26)
- (192.0, 0.24)
- (194.0, 0.35)
- (196.0, 0.34)
- (198.0, 0.34)
- (204.37503943134692, 0.34)
- (206.0, 0.34)
- (212.0, 0.35)
- (213.0, 0.35)
- (216.0, 0.35)
- (221.0, 0.35)
- (222.0, 0.34)
- (224.0, 0.35)
- (226.0, 0.34)
- (230.0, 0.34)
- (235.0, 0.34)
- (243.0, 0.34)
- (251.0, 0.35)
- (253.98877343250717, 0.35)
- (255.0, 0.33)
- (256.0, 0.34)
- (255.99999999966408, 0.33)
- (255.9980614856364, 0.34)
- (266.0, 0.43)
- (285.0, 0.43)
- (291.0, 0.43)
- (321.0, 0.52)
- (322.0, 0.52)
- (336.0, 0.53)
- (338.0, 0.53)
- (369.0, 0.53)
- (379.0, 0.53)
- (382.0, 0.53)
- (383.0, 0.50)
- (384.0, 0.47)
- (383.9998899269044, 0.46)
- (383.467605550083, 0.46)
- (389.0, 0.59)
- (401.0, 0.60)
- (413.0, 0.61)
- (414.0, 0.60)
- (416.0, 0.60)
- (444.0, 0.60)
- (448.0, 0.53)
- (450.0, 0.69)
- (452.0, 0.68)
- (468.0, 0.69)
- (480.0, 0.69)
- (488.0, 0.69)
- (489.0, 0.69)
- (495.0, 0.69)
- (509.97423531735535, 0.69)
- (511.0, 0.65)
- (511.9891505409899, 0.63)
- (512.0, 0.62)
- (521.0, 0.81)
- };
- \addlegendentry{GMP mpn\_ API}
-
- \addplot[color=red,mark=o] coordinates {
- (127.0, 0.61)
- (129.0, 0.79)
- (130.0, 0.78)
- (137.0, 0.81)
- (140.0, 0.81)
- (141.0, 0.81)
- (150.0, 0.80)
- (152.0, 0.80)
- (158.0, 0.76)
- (165.0, 0.79)
- (166.0, 0.78)
- (171.0, 0.79)
- (174.0, 0.78)
- (189.0, 0.79)
- (190.0, 0.78)
- (191.0, 0.77)
- (192.0, 0.71)
- (194.0, 0.93)
- (196.0, 0.87)
- (198.0, 0.86)
- (204.37503943134692, 0.84)
- (206.0, 0.86)
- (212.0, 0.88)
- (213.0, 0.88)
- (216.0, 0.86)
- (221.0, 0.88)
- (222.0, 0.88)
- (224.0, 0.86)
- (226.0, 0.90)
- (230.0, 0.88)
- (235.0, 0.88)
- (243.0, 0.89)
- (251.0, 0.90)
- (253.98877343250717, 0.90)
- (255.0, 0.87)
- (256.0, 0.85)
- (255.99999999966408, 0.85)
- (255.9980614856364, 0.86)
- (266.0, 0.98)
- (285.0, 0.97)
- (291.0, 0.99)
- (321.0, 1.16)
- (322.0, 1.13)
- (336.0, 1.07)
- (338.0, 1.06)
- (369.0, 1.06)
- (379.0, 1.07)
- (382.0, 1.08)
- (383.0, 1.04)
- (384.0, 0.97)
- (383.9998899269044, 0.97)
- (383.467605550083, 0.96)
- (389.0, 1.18)
- (401.0, 1.16)
- (413.0, 1.17)
- (414.0, 1.16)
- (416.0, 1.17)
- (444.0, 1.17)
- (448.0, 1.05)
- (450.0, 1.34)
- (452.0, 1.29)
- (468.0, 1.26)
- (480.0, 1.27)
- (488.0, 1.27)
- (489.0, 1.27)
- (495.0, 1.29)
- (509.97423531735535, 1.26)
- (511.0, 1.22)
- (511.9891505409899, 1.15)
- (512.0, 1.14)
- (521.0, 1.39)
- };
- \addlegendentry{GMP C++ API}
-
- \addplot[color=red,mark=x] coordinates {
- (127.0, 0.27)
- (129.0, 0.38)
- (130.0, 0.38)
- (137.0, 0.38)
- (140.0, 0.38)
- (141.0, 0.38)
- (150.0, 0.38)
- (152.0, 0.38)
- (158.0, 0.38)
- (165.0, 0.38)
- (166.0, 0.38)
- (171.0, 0.38)
- (174.0, 0.38)
- (189.0, 0.38)
- (190.0, 0.38)
- (191.0, 0.36)
- (192.0, 0.28)
- (194.0, 0.50)
- (196.0, 0.50)
- (198.0, 0.50)
- (204.37503943134692, 0.49)
- (206.0, 0.50)
- (212.0, 0.50)
- (213.0, 0.50)
- (216.0, 0.50)
- (221.0, 0.50)
- (222.0, 0.50)
- (224.0, 0.50)
- (226.0, 0.50)
- (230.0, 0.49)
- (235.0, 0.50)
- (243.0, 0.50)
- (251.0, 0.50)
- (253.98877343250717, 0.50)
- (255.0, 0.48)
- (256.0, 0.38)
- (255.99999999966408, 0.37)
- (255.9980614856364, 0.37)
- (266.0, 0.64)
- (285.0, 0.65)
- (291.0, 0.64)
- (321.0, 0.80)
- (322.0, 0.81)
- (336.0, 0.80)
- (338.0, 0.79)
- (369.0, 0.79)
- (379.0, 0.80)
- (382.0, 0.81)
- (383.0, 0.75)
- (384.0, 0.63)
- (383.9998899269044, 0.62)
- (383.467605550083, 0.62)
- (389.0, 0.96)
- (401.0, 0.97)
- (413.0, 0.97)
- (414.0, 0.96)
- (416.0, 0.96)
- (444.0, 0.96)
- (448.0, 0.77)
- (450.0, 1.17)
- (452.0, 1.17)
- (468.0, 1.17)
- (480.0, 1.17)
- (488.0, 1.16)
- (489.0, 1.17)
- (495.0, 1.16)
- (509.97423531735535, 1.17)
- (511.0, 1.11)
- (511.9891505409899, 0.95)
- (512.0, 0.96)
- (521.0, 1.41)
- };
- \addlegendentry{GMP mpn\_sec API}
-
- \end{axis}
-\end{tikzpicture}
-\end{figure*}
diff --git a/measurements/2017-11-03/table.txt b/measurements/2017-11-03/table.txt
deleted file mode 100644
index d0a079f08..000000000
--- a/measurements/2017-11-03/table.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-. fiat_montgomery32 fiat_montgomery64 fiat_solinas32 fiat_solinas64 gmpsec gmpvar gmpxx
-2^127-1 0.12 0.04 0.05 0.02 0.27 0.15 0.61
-2^129-25 0.19 0.08 0.06 0.03 0.38 0.27 0.79
-2^130-5 - - 0.03 0.03 0.38 0.27 0.78
-2^137-13 0.2 0.09 0.11 0.05 0.38 0.27 0.81
-2^140-27 0.2 0.08 0.06 0.04 0.38 0.27 0.81
-2^141-9 0.2 0.08 0.06 0.03 0.38 0.27 0.81
-2^150-3 0.2 0.08 - 0.03 0.38 0.27 0.8
-2^150-5 0.2 0.09 0.06 0.03 0.38 0.27 0.81
-2^152-17 0.19 0.09 0.06 0.04 0.38 0.27 0.8
-2^158-15 0.2 0.08 0.06 0.04 0.38 0.27 0.76
-2^165-25 - 0.08 0.11 0.03 0.38 0.27 0.79
-2^166-5 - 0.08 0.16 0.03 0.38 0.27 0.78
-2^171-19 0.28 0.08 0.12 0.03 0.38 0.27 0.79
-2^174-17 0.28 0.08 0.12 0.03 0.38 0.27 0.78
-2^174-3 0.29 0.08 - 0.03 0.38 0.27 0.78
-2^189-25 0.28 0.08 - 0.04 0.38 0.28 0.79
-2^190-11 0.29 0.08 - 0.04 0.38 0.27 0.78
-2^191-19 0.28 0.08 0.15 0.07 0.36 0.26 0.77
-2^192-2^64-1 0.27 0.08 - 0.05 0.28 0.24 0.71
-2^194-33 - - 0.09 0.04 0.5 0.35 0.93
-2^196-15 - - - 0.04 0.5 0.34 0.87
-2^198-17 - - 0.11 0.04 0.5 0.34 0.86
-2^205-45*2^198-1 0.36 0.13 - - 0.49 0.34 0.84
-2^206-5 0.37 0.13 0.19 0.04 0.5 0.34 0.86
-2^212-29 0.38 0.13 - 0.05 0.5 0.35 0.88
-2^213-3 0.37 0.13 0.28 0.04 0.5 0.35 0.88
-2^216-2^108-1 0.38 0.12 0.08 0.04 0.5 0.35 0.86
-2^221-3 0.38 0.13 0.13 0.04 0.5 0.35 0.88
-2^222-117 0.37 0.13 0.13 0.05 0.5 0.34 0.88
-2^224-2^96+1 0.32 0.12 - - 0.5 0.35 0.86
-2^226-5 - 0.12 - 0.04 0.5 0.34 0.9
-2^230-27 - 0.13 0.13 0.05 0.49 0.34 0.88
-2^235-15 - 0.13 0.1 0.07 0.5 0.34 0.88
-2^243-9 - 0.12 0.1 0.1 0.5 0.34 0.89
-2^251-9 - 0.13 0.13 0.06 0.5 0.35 0.9
-2^254-127*2^240-1 - 0.13 - - 0.5 0.35 0.9
-2^255-19 - 0.13 0.13 0.06 0.48 0.33 0.87
-2^255-2^4-2^1-1 - 0.13 - 0.07 0.47 0.33 0.88
-2^255-765 - 0.13 0.19 0.06 0.47 0.33 0.87
-2^256-189 - 0.13 0.18 0.06 0.38 0.34 0.85
-2^256-2^224+2^192+2^96-1 - 0.11 - - 0.37 0.33 0.85
-2^256-2^32-977 - 0.13 0.19 - 0.37 0.34 0.86
-2^256-88*2^240-1 - 0.12 - - 0.37 0.34 0.86
-2^266-3 - 0.18 0.19 0.06 0.64 0.43 0.98
-2^285-9 - 0.19 0.27 0.06 0.65 0.43 0.97
-2^291-19 - 0.19 0.18 0.07 0.64 0.43 0.99
-2^321-9 - 0.25 0.3 0.1 0.8 0.52 1.16
-2^322-2^161-1 - - 0.21 - 0.81 0.52 1.13
-2^336-17 - 0.25 0.23 0.1 0.8 0.53 1.07
-2^336-3 - 0.27 - 0.1 0.81 0.53 1.06
-2^338-15 - 0.27 0.2 0.1 0.79 0.53 1.06
-2^369-25 - 0.27 0.29 0.15 0.79 0.53 1.06
-2^379-19 - 0.28 - 0.13 0.8 0.53 1.07
-2^382-105 - 0.27 - 0.23 0.81 0.53 1.08
-2^383-187 - 0.27 - - 0.75 0.5 1.04
-2^383-31 - 0.27 - - 0.76 0.5 1.04
-2^383-421 - 0.27 - - 0.76 0.5 1.03
-2^384-2^128-2^96+2^32-1 - 0.26 - - 0.63 0.47 0.97
-2^384-317 - 0.26 - 0.15 0.63 0.46 0.96
-2^384-5*2^368-1 - 0.23 - - 0.62 0.46 0.97
-2^384-79*2^376-1 - 0.23 - - 0.62 0.46 0.96
-2^389-21 - - - - 0.96 0.59 1.18
-2^401-31 - 0.35 0.3 0.15 0.97 0.6 1.16
-2^413-21 - - - - 0.97 0.61 1.17
-2^414-17 - 0.35 - 0.2 0.96 0.6 1.16
-2^416-2^208-1 - 0.35 0.25 0.12 0.96 0.6 1.17
-2^444-17 - 0.35 - 0.16 0.96 0.6 1.17
-2^448-2^224-1 - 0.32 - 0.12 0.77 0.53 1.05
-2^450-2^225-1 - - - 0.12 1.17 0.69 1.34
-2^452-3 - - - 0.16 1.17 0.68 1.29
-2^468-17 - - - 0.17 1.17 0.69 1.26
-2^480-2^240-1 - - - 0.15 1.17 0.69 1.27
-2^488-17 - - - 0.55 1.16 0.69 1.27
-2^489-21 - - - 0.2 1.17 0.69 1.27
-2^495-31 - - - 0.19 1.16 0.69 1.29
-2^510-290*2^496-1 - - - - 1.17 0.69 1.26
-2^511-187 - - - 0.24 1.11 0.65 1.22
-2^511-481 - - - 0.24 1.11 0.65 1.21
-2^512-491*2^496-1 - - - - 0.95 0.63 1.15
-2^512-569 - - - 0.24 0.96 0.62 1.14
-2^521-1 - - - 0.25 1.41 0.81 1.39
diff --git a/measurements/2017-11-10-android/first.txt b/measurements/2017-11-10-android/first.txt
deleted file mode 100644
index 5c737828f..000000000
--- a/measurements/2017-11-10-android/first.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-andreser@andreser:~/fiat-crypto$ arm-linux-androideabi-gcc -pie -I ~/android-toolchain/gmp-6.1.2/ -std=gnu11 -O3 -flto -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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19' src/Specific/Framework/bench/gmpsec.c android-toolchain/gmp-6.1.2/.libs/libgmp.a -o /tmp/main && adb push /tmp/main /data/local/tmp/main && adb shell "time /data/local/tmp/main"
-arm-linux-androideabi-gcc: error: android-toolchain/gmp-6.1.2/.libs/libgmp.a: No such file or directory
-andreser@andreser:~/fiat-crypto$ arm-linux-androideabi-gcc -pie -I ~/android-toolchain/gmp-6.1.2/ -std=gnu11 -O3 -flto -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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19' src/Specific/Framework/bench/gmpsec.c ~/android-toolchain/gmp-6.1.2/.libs/libgmp.a -o /tmp/main && adb push /tmp/main /data/local/tmp/main && adb shell "time /data/local/tmp/main"
-[100%] /data/local/tmp/main
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.25s real 0m5.22s user 0m0.01s system
-andreser@andreser:~/fiat-crypto$ arm-linux-androideabi-gcc -pie -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dbitwidth=32 src/Specific/Framework/bench/fibe.c -I src/Specific/solinas32_2e255m19/ -o /tmp/main && adb push /tmp/main /data/local/tmp/main && adb shell "time /data/local/tmp/main"
-[100%] /data/local/tmp/main
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.97s real 0m0.93s user 0m0.01s system
diff --git a/measurements/2017-11-10-android/solinas32.txt b/measurements/2017-11-10-android/solinas32.txt
deleted file mode 100644
index cbd33c2a2..000000000
--- a/measurements/2017-11-10-android/solinas32.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-andreser@andreser:~/fiat-crypto$ for d in $(cat td32) ; do arm-linux-androideabi-gcc -pie -I liblow -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -Dbitwidth=32 src/Specific/Framework/bench/fibe.c -I "$d" -o /tmp/main && adb push /tmp/main /data/local/tmp/main >/dev/null && echo "$d" && adb shell "time /data/local/tmp/main" | grep -v WARNING ; done
-src/Specific/solinas32_2e127m1
- 0m0.40s real 0m0.36s user 0m0.01s system
-src/Specific/solinas32_2e129m25
- 0m0.48s real 0m0.45s user 0m0.01s system
-src/Specific/solinas32_2e130m5
- 0m0.42s real 0m0.38s user 0m0.01s system
-src/Specific/solinas32_2e137m13
- 0m0.68s real 0m0.65s user 0m0.01s system
-src/Specific/solinas32_2e140m27
- 0m0.46s real 0m0.43s user 0m0.01s system
-src/Specific/solinas32_2e141m9
- 0m0.47s real 0m0.44s user 0m0.01s system
-src/Specific/solinas32_2e150m5
- 0m0.50s real 0m0.47s user 0m0.00s system
-src/Specific/solinas32_2e152m17
- 0m0.48s real 0m0.46s user 0m0.00s system
-src/Specific/solinas32_2e158m15
- 0m0.50s real 0m0.47s user 0m0.01s system
-src/Specific/solinas32_2e165m25
- 0m0.79s real 0m0.77s user 0m0.00s system
-src/Specific/solinas32_2e166m5
- 0m1.17s real 0m1.14s user 0m0.00s system
-src/Specific/solinas32_2e171m19
- 0m0.78s real 0m0.74s user 0m0.02s system
-src/Specific/solinas32_2e174m17
- 0m0.84s real 0m0.80s user 0m0.02s system
-src/Specific/solinas32_2e191m19
- 0m0.94s real 0m0.92s user 0m0.00s system
-src/Specific/solinas32_2e194m33
- 0m0.75s real 0m0.72s user 0m0.01s system
-src/Specific/solinas32_2e198m17
- 0m0.81s real 0m0.79s user 0m0.00s system
-src/Specific/solinas32_2e206m5
- 0m1.28s real 0m1.27s user 0m0.00s system
-src/Specific/solinas32_2e213m3
- 0m2.24s real 0m2.19s user 0m0.02s system
-src/Specific/solinas32_2e216m2e108m1
- 0m0.70s real 0m0.64s user 0m0.02s system
-src/Specific/solinas32_2e221m3
- 0m0.94s real 0m0.91s user 0m0.00s system
-src/Specific/solinas32_2e222m117
- 0m0.96s real 0m0.92s user 0m0.01s system
-src/Specific/solinas32_2e230m27
- 0m0.94s real 0m0.90s user 0m0.02s system
-src/Specific/solinas32_2e235m15
- 0m0.88s real 0m0.84s user 0m0.01s system
-src/Specific/solinas32_2e243m9
- 0m0.78s real 0m0.75s user 0m0.01s system
-src/Specific/solinas32_2e251m9
- 0m1.12s real 0m1.07s user 0m0.01s system
-src/Specific/solinas32_2e255m19
- 0m0.98s real 0m0.94s user 0m0.02s system
-src/Specific/solinas32_2e255m765
- 0m1.39s real 0m1.35s user 0m0.01s system
-src/Specific/solinas32_2e256m189
- 0m1.40s real 0m1.35s user 0m0.02s system
-src/Specific/solinas32_2e256m2e32m977
- 0m1.55s real 0m1.52s user 0m0.01s system
-src/Specific/solinas32_2e266m3
- 0m1.23s real 0m1.19s user 0m0.01s system
-src/Specific/solinas32_2e285m9
- 0m2.17s real 0m2.11s user 0m0.02s system
-src/Specific/solinas32_2e291m19
- 0m1.28s real 0m1.23s user 0m0.02s system
-src/Specific/solinas32_2e321m9
- 0m2.59s real 0m2.56s user 0m0.01s system
-src/Specific/solinas32_2e322m2e161m1
- 0m1.67s real 0m1.63s user 0m0.02s system
-src/Specific/solinas32_2e336m17
- 0m1.79s real 0m1.74s user 0m0.02s system
-src/Specific/solinas32_2e338m15
- 0m1.55s real 0m1.51s user 0m0.00s system
-src/Specific/solinas32_2e369m25
- 0m2.53s real 0m2.48s user 0m0.01s system
-src/Specific/solinas32_2e379m19
- 0m3.17s real 0m3.12s user 0m0.01s system
-src/Specific/solinas32_2e382m105
- 0m6.06s real 0m5.97s user 0m0.01s system
-src/Specific/solinas32_2e384m317
- 0m4.06s real 0m4.00s user 0m0.01s system
-src/Specific/solinas32_2e401m31
- 0m2.65s real 0m2.60s user 0m0.01s system
-src/Specific/solinas32_2e414m17
- 0m3.09s real 0m3.06s user 0m0.01s system
-src/Specific/solinas32_2e416m2e208m1
- 0m2.21s real 0m2.18s user 0m0.01s system
-src/Specific/solinas32_2e444m17
- 0m7.17s real 0m7.10s user 0m0.00s system
-src/Specific/solinas32_2e468m17
- 0m3.02s real 0m2.95s user 0m0.01s system
-src/Specific/solinas32_2e521m1
- 0m3.89s real 0m3.83s user 0m0.01s system
-
diff --git a/measurements/2017-11-11-android/android32-bench-all.sh b/measurements/2017-11-11-android/android32-bench-all.sh
deleted file mode 100644
index 10a8ce4d0..000000000
--- a/measurements/2017-11-11-android/android32-bench-all.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-
-for impldir in src/Specific/*32_*2e* ; do
-
- sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impldir\" \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/fibe.c \
- -o /tmp/main" \
- > /dev/null 2> /dev/null \
- && printf "%s\tfibe\n" "$(basename "$impldir")" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main" || continue
-
- sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impldir\" \
- -I ~/android-toolchain/gmp-6.1.2/ \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/gmpvar.c \
- $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- -o /tmp/main" \
- > /dev/null 2> /dev/null \
- && printf "%s\tgmpvar\n" "$(basename "$impldir")" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main"
-
- sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impldir\" \
- -I ~/android-toolchain/gmp-6.1.2/ \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/gmpsec.c \
- $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- -o /tmp/main" \
- > /dev/null 2> /dev/null \
- && printf "%s\tgmpsec\n" "$(basename "$impldir")" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main"
-
- # fails to find libc++ on android
- #
- # sh -c "arm-linux-androideabi-g++ -pie \
- # $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- # -I \"$impldir\" \
- # -I ~/android-toolchain/gmp-6.1.2/ \
- # -L /usr/lib/android-ndk/sources/cxx-stl/llvm-libc++/libs/armeabi/ \
- # -Wl,--allow-multiple-definition \
- # -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- # src/Specific/Framework/bench/gmpxx.cpp \
- # $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- # -o /tmp/main" \
- # && printf "%s\tgmpxx\n" "$(basename "$impldir")" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main"
- printf "\n"
-done
diff --git a/measurements/2017-11-11-android/c32.txt b/measurements/2017-11-11-android/c32.txt
deleted file mode 100644
index 073fe9243..000000000
--- a/measurements/2017-11-11-android/c32.txt
+++ /dev/null
@@ -1,975 +0,0 @@
-montgomery32_2e127m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.15s real 0m1.13s user 0m0.00s system
-montgomery32_2e127m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.24s real 0m3.19s user 0m0.02s system
-montgomery32_2e127m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m2.84s real 0m2.81s user 0m0.00s system
-
-montgomery32_2e129m25 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.70s real 0m1.67s user 0m0.00s system
-montgomery32_2e129m25 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.77s real 0m3.73s user 0m0.01s system
-montgomery32_2e129m25 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.39s real 0m3.35s user 0m0.02s system
-
-montgomery32_2e130m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.84s real 0m1.82s user 0m0.00s system
-montgomery32_2e130m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.75s real 0m3.70s user 0m0.02s system
-montgomery32_2e130m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.41s real 0m3.36s user 0m0.00s system
-
-montgomery32_2e137m13 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.97s real 0m1.92s user 0m0.02s system
-montgomery32_2e137m13 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.80s real 0m3.74s user 0m0.01s system
-montgomery32_2e137m13 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.58s real 0m3.49s user 0m0.01s system
-
-montgomery32_2e140m27 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.97s real 0m1.93s user 0m0.02s system
-montgomery32_2e140m27 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.78s real 0m3.73s user 0m0.02s system
-montgomery32_2e140m27 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.40s real 0m3.33s user 0m0.02s system
-
-montgomery32_2e141m9 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.97s real 0m1.92s user 0m0.02s system
-montgomery32_2e141m9 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.88s real 0m3.84s user 0m0.00s system
-montgomery32_2e141m9 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.41s real 0m3.35s user 0m0.02s system
-
-montgomery32_2e150m3 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.01s real 0m1.95s user 0m0.02s system
-montgomery32_2e150m3 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.77s real 0m3.74s user 0m0.00s system
-montgomery32_2e150m3 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.41s real 0m3.36s user 0m0.00s system
-
-montgomery32_2e150m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.99s real 0m1.96s user 0m0.01s system
-montgomery32_2e150m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.79s real 0m3.71s user 0m0.02s system
-montgomery32_2e150m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.41s real 0m3.36s user 0m0.01s system
-
-montgomery32_2e152m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.94s real 0m1.88s user 0m0.02s system
-montgomery32_2e152m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.81s real 0m3.75s user 0m0.00s system
-montgomery32_2e152m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.41s real 0m3.36s user 0m0.01s system
-
-montgomery32_2e158m15 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.03s real 0m2.00s user 0m0.00s system
-montgomery32_2e158m15 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.86s real 0m3.80s user 0m0.01s system
-montgomery32_2e158m15 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.53s real 0m3.44s user 0m0.01s system
-
-montgomery32_2e165m25 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.45s real 0m2.41s user 0m0.02s system
-montgomery32_2e165m25 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.52s real 0m4.44s user 0m0.01s system
-montgomery32_2e165m25 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.02s real 0m3.97s user 0m0.01s system
-
-montgomery32_2e166m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.48s real 0m2.43s user 0m0.02s system
-montgomery32_2e166m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.45s real 0m4.38s user 0m0.01s system
-montgomery32_2e166m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.00s real 0m3.96s user 0m0.01s system
-
-montgomery32_2e171m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.60s real 0m2.57s user 0m0.01s system
-montgomery32_2e171m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.37s real 0m4.30s user 0m0.02s system
-montgomery32_2e171m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.04s real 0m4.00s user 0m0.01s system
-
-montgomery32_2e174m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.60s real 0m2.58s user 0m0.00s system
-montgomery32_2e174m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.39s real 0m4.33s user 0m0.00s system
-montgomery32_2e174m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.07s real 0m4.01s user 0m0.00s system
-
-montgomery32_2e174m3 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.62s real 0m2.60s user 0m0.00s system
-montgomery32_2e174m3 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.40s real 0m4.31s user 0m0.03s system
-montgomery32_2e174m3 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.02s real 0m3.97s user 0m0.01s system
-
-montgomery32_2e189m25 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.63s real 0m2.60s user 0m0.00s system
-montgomery32_2e189m25 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.43s real 0m4.36s user 0m0.01s system
-montgomery32_2e189m25 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.06s real 0m4.03s user 0m0.00s system
-
-montgomery32_2e190m11 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.66s real 0m2.60s user 0m0.01s system
-montgomery32_2e190m11 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.37s real 0m4.35s user 0m0.00s system
-montgomery32_2e190m11 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.12s real 0m4.05s user 0m0.01s system
-
-montgomery32_2e191m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.64s real 0m2.59s user 0m0.02s system
-montgomery32_2e191m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.41s real 0m4.36s user 0m0.02s system
-montgomery32_2e191m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.10s real 0m4.04s user 0m0.02s system
-
-montgomery32_2e192m2e64m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.39s real 0m2.34s user 0m0.01s system
-montgomery32_2e192m2e64m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.30s real 0m4.25s user 0m0.01s system
-montgomery32_2e192m2e64m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.56s real 0m3.51s user 0m0.00s system
-
-solinas32_2e127m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.41s real 0m0.37s user 0m0.01s system
-solinas32_2e127m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.28s real 0m3.22s user 0m0.01s system
-solinas32_2e127m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m2.88s real 0m2.83s user 0m0.01s system
-
-solinas32_2e129m25 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.45s real 0m0.42s user 0m0.01s system
-solinas32_2e129m25 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.79s real 0m3.74s user 0m0.00s system
-solinas32_2e129m25 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.43s real 0m3.35s user 0m0.02s system
-
-solinas32_2e130m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.40s real 0m0.37s user 0m0.00s system
-solinas32_2e130m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.88s real 0m3.73s user 0m0.01s system
-solinas32_2e130m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.39s real 0m3.36s user 0m0.00s system
-
-solinas32_2e137m13 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.66s real 0m0.64s user 0m0.00s system
-solinas32_2e137m13 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.83s real 0m3.77s user 0m0.01s system
-solinas32_2e137m13 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.40s real 0m3.32s user 0m0.02s system
-
-solinas32_2e140m27 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.47s real 0m0.43s user 0m0.01s system
-solinas32_2e140m27 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.85s real 0m3.77s user 0m0.02s system
-solinas32_2e140m27 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.44s real 0m3.40s user 0m0.01s system
-
-solinas32_2e141m9 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.48s real 0m0.43s user 0m0.03s system
-solinas32_2e141m9 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.79s real 0m3.78s user 0m0.00s system
-solinas32_2e141m9 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.41s real 0m3.38s user 0m0.00s system
-
-solinas32_2e150m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.47s real 0m0.43s user 0m0.01s system
-solinas32_2e150m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.85s real 0m3.78s user 0m0.00s system
-solinas32_2e150m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.35s real 0m3.34s user 0m0.00s system
-
-solinas32_2e152m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.49s real 0m0.47s user 0m0.00s system
-solinas32_2e152m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.78s real 0m3.73s user 0m0.02s system
-solinas32_2e152m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.43s real 0m3.38s user 0m0.00s system
-
-solinas32_2e158m15 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.49s real 0m0.46s user 0m0.01s system
-solinas32_2e158m15 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.80s real 0m3.74s user 0m0.01s system
-solinas32_2e158m15 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m3.42s real 0m3.38s user 0m0.01s system
-
-solinas32_2e165m25 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.82s real 0m0.79s user 0m0.01s system
-solinas32_2e165m25 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.51s real 0m4.40s user 0m0.01s system
-solinas32_2e165m25 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.04s real 0m3.99s user 0m0.01s system
-
-solinas32_2e166m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.20s real 0m1.17s user 0m0.01s system
-solinas32_2e166m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.44s real 0m4.39s user 0m0.02s system
-solinas32_2e166m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.07s real 0m3.99s user 0m0.02s system
-
-solinas32_2e171m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.81s real 0m0.76s user 0m0.02s system
-solinas32_2e171m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.37s real 0m4.34s user 0m0.00s system
-solinas32_2e171m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.05s real 0m3.99s user 0m0.01s system
-
-solinas32_2e174m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.83s real 0m0.81s user 0m0.00s system
-solinas32_2e174m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.32s real 0m4.30s user 0m0.00s system
-solinas32_2e174m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.01s real 0m3.98s user 0m0.01s system
-
-solinas32_2e191m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.02s real 0m0.99s user 0m0.00s system
-solinas32_2e191m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.34s real 0m4.33s user 0m0.00s system
-solinas32_2e191m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.09s real 0m4.04s user 0m0.01s system
-
-solinas32_2e194m33 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.73s real 0m0.70s user 0m0.01s system
-solinas32_2e194m33 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.93s real 0m4.88s user 0m0.02s system
-solinas32_2e194m33 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.67s real 0m4.61s user 0m0.00s system
-
-solinas32_2e198m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.93s real 0m0.88s user 0m0.01s system
-solinas32_2e198m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.97s real 0m4.95s user 0m0.01s system
-solinas32_2e198m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.65s real 0m4.59s user 0m0.01s system
-
-solinas32_2e206m5 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.36s real 0m1.32s user 0m0.01s system
-solinas32_2e206m5 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.00s real 0m4.92s user 0m0.02s system
-solinas32_2e206m5 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.66s real 0m4.61s user 0m0.00s system
-
-solinas32_2e213m3 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.44s real 0m2.41s user 0m0.00s system
-solinas32_2e213m3 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.95s real 0m4.90s user 0m0.00s system
-solinas32_2e213m3 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.67s real 0m4.59s user 0m0.02s system
-
-solinas32_2e216m2e108m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.68s real 0m0.64s user 0m0.01s system
-solinas32_2e216m2e108m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.92s real 0m4.88s user 0m0.01s system
-solinas32_2e216m2e108m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.67s real 0m4.61s user 0m0.00s system
-
-solinas32_2e221m3 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.95s real 0m0.91s user 0m0.01s system
-solinas32_2e221m3 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.94s real 0m4.92s user 0m0.00s system
-solinas32_2e221m3 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.67s real 0m4.61s user 0m0.00s system
-
-solinas32_2e222m117 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.98s real 0m0.97s user 0m0.00s system
-solinas32_2e222m117 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.98s real 0m4.89s user 0m0.00s system
-solinas32_2e222m117 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.66s real 0m4.58s user 0m0.02s system
-
-solinas32_2e230m27 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.96s real 0m0.91s user 0m0.02s system
-solinas32_2e230m27 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.72s real 0m5.62s user 0m0.01s system
-solinas32_2e230m27 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.29s real 0m5.21s user 0m0.02s system
-
-solinas32_2e235m15 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.93s real 0m0.89s user 0m0.01s system
-solinas32_2e235m15 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.72s real 0m5.64s user 0m0.00s system
-solinas32_2e235m15 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.27s real 0m5.19s user 0m0.02s system
-
-solinas32_2e243m9 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.81s real 0m0.79s user 0m0.00s system
-solinas32_2e243m9 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.70s real 0m5.62s user 0m0.00s system
-solinas32_2e243m9 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.31s real 0m5.23s user 0m0.01s system
-
-solinas32_2e251m9 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.15s real 0m1.10s user 0m0.01s system
-solinas32_2e251m9 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.68s real 0m5.61s user 0m0.03s system
-solinas32_2e251m9 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.23s real 0m5.18s user 0m0.01s system
-
-solinas32_2e255m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m0.99s real 0m0.97s user 0m0.00s system
-solinas32_2e255m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.74s real 0m5.69s user 0m0.00s system
-solinas32_2e255m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.23s real 0m5.19s user 0m0.02s system
-
-solinas32_2e255m765 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.45s real 0m1.41s user 0m0.01s system
-solinas32_2e255m765 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.73s real 0m5.66s user 0m0.02s system
-solinas32_2e255m765 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.30s real 0m5.23s user 0m0.00s system
-
-solinas32_2e256m189 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.45s real 0m1.42s user 0m0.00s system
-solinas32_2e256m189 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.53s real 0m5.45s user 0m0.01s system
-solinas32_2e256m189 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.73s real 0m4.67s user 0m0.00s system
-
-solinas32_2e256m2e32m977 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.64s real 0m1.60s user 0m0.01s system
-solinas32_2e256m2e32m977 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m5.51s real 0m5.45s user 0m0.02s system
-solinas32_2e256m2e32m977 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m4.74s real 0m4.67s user 0m0.01s system
-
-solinas32_2e266m3 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.30s real 0m1.26s user 0m0.01s system
-solinas32_2e266m3 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m6.42s real 0m6.35s user 0m0.01s system
-solinas32_2e266m3 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m6.11s real 0m6.06s user 0m0.01s system
-
-solinas32_2e285m9 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.25s real 0m2.21s user 0m0.01s system
-solinas32_2e285m9 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m6.36s real 0m6.31s user 0m0.01s system
-solinas32_2e285m9 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m6.07s real 0m6.01s user 0m0.00s system
-
-solinas32_2e291m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.35s real 0m1.33s user 0m0.00s system
-solinas32_2e291m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.08s real 0m6.99s user 0m0.00s system
-solinas32_2e291m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m6.95s real 0m6.87s user 0m0.01s system
-
-solinas32_2e321m9 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.81s real 0m2.76s user 0m0.02s system
-solinas32_2e321m9 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.75s real 0m7.67s user 0m0.00s system
-solinas32_2e321m9 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.66s real 0m7.56s user 0m0.01s system
-
-solinas32_2e322m2e161m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.85s real 0m1.75s user 0m0.02s system
-solinas32_2e322m2e161m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.77s real 0m7.70s user 0m0.00s system
-solinas32_2e322m2e161m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.62s real 0m7.54s user 0m0.00s system
-
-solinas32_2e336m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.86s real 0m1.80s user 0m0.01s system
-solinas32_2e336m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.76s real 0m7.68s user 0m0.01s system
-solinas32_2e336m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.66s real 0m7.57s user 0m0.01s system
-
-solinas32_2e338m15 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m1.57s real 0m1.52s user 0m0.01s system
-solinas32_2e338m15 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.76s real 0m7.67s user 0m0.01s system
-solinas32_2e338m15 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.56s real 0m7.51s user 0m0.02s system
-
-solinas32_2e369m25 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.70s real 0m2.66s user 0m0.01s system
-solinas32_2e369m25 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.15s real 0m9.07s user 0m0.01s system
-solinas32_2e369m25 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m8.39s real 0m8.35s user 0m0.01s system
-
-solinas32_2e379m19 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m3.23s real 0m3.18s user 0m0.02s system
-solinas32_2e379m19 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.10s real 0m9.00s user 0m0.01s system
-solinas32_2e379m19 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m8.43s real 0m8.33s user 0m0.02s system
-
-solinas32_2e382m105 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m6.05s real 0m5.98s user 0m0.00s system
-solinas32_2e382m105 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.06s real 0m9.03s user 0m0.00s system
-solinas32_2e382m105 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m8.40s real 0m8.33s user 0m0.01s system
-
-solinas32_2e384m317 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m4.26s real 0m4.19s user 0m0.01s system
-solinas32_2e384m317 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m8.81s real 0m8.72s user 0m0.01s system
-solinas32_2e384m317 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m7.66s real 0m7.59s user 0m0.00s system
-
-solinas32_2e401m31 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.84s real 0m2.79s user 0m0.01s system
-solinas32_2e401m31 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.92s real 0m9.81s user 0m0.02s system
-solinas32_2e401m31 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.35s real 0m9.25s user 0m0.02s system
-
-solinas32_2e414m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m3.22s real 0m3.15s user 0m0.02s system
-solinas32_2e414m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.96s real 0m9.88s user 0m0.00s system
-solinas32_2e414m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.31s real 0m9.27s user 0m0.01s system
-
-solinas32_2e416m2e208m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x228
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m2.51s real 0m2.48s user 0m0.01s system
-solinas32_2e416m2e208m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m9.65s real 0m9.55s user 0m0.02s system
-solinas32_2e416m2e208m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m8.54s real 0m8.50s user 0m0.01s system
-
-solinas32_2e444m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m7.06s real 0m7.03s user 0m0.01s system
-solinas32_2e444m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m10.90s real 0m10.83s user 0m0.00s system
-solinas32_2e444m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m10.46s real 0m10.34s user 0m0.00s system
-
-solinas32_2e468m17 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m3.18s real 0m3.13s user 0m0.01s system
-solinas32_2e468m17 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m11.67s real 0m11.57s user 0m0.02s system
-solinas32_2e468m17 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m11.29s real 0m11.25s user 0m0.00s system
-
-solinas32_2e521m1 fibe
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x244
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
- 0m3.87s real 0m3.81s user 0m0.01s system
-solinas32_2e521m1 gmpvar
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m13.95s real 0m13.87s user 0m0.02s system
-solinas32_2e521m1 gmpsec
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6ffffffe arg 0x42c
-WARNING: linker: /data/local/tmp/main: unused DT entry: type 0x6fffffff arg 0x1
-WARNING: linker: /data/local/tmp/main has text relocations. This is wasting memory and prevents security hardening. Please fix.
- 0m13.37s real 0m13.21s user 0m0.02s system
-
diff --git a/measurements/2017-11-11-android/results-by-field.txt b/measurements/2017-11-11-android/results-by-field.txt
deleted file mode 100644
index ce37dcef4..000000000
--- a/measurements/2017-11-11-android/results-by-field.txt
+++ /dev/null
@@ -1,195 +0,0 @@
-2e127m1 fiat_solinas32 1.15
-2e127m1 gmpvar32 3.24
-2e127m1 gmpsec32 2.84
-2e129m25 fiat_solinas32 1.70
-2e129m25 gmpvar32 3.77
-2e129m25 gmpsec32 3.39
-2e130m5 fiat_solinas32 1.84
-2e130m5 gmpvar32 3.75
-2e130m5 gmpsec32 3.41
-2e137m13 fiat_solinas32 1.97
-2e137m13 gmpvar32 3.80
-2e137m13 gmpsec32 3.58
-2e140m27 fiat_solinas32 1.97
-2e140m27 gmpvar32 3.78
-2e140m27 gmpsec32 3.40
-2e141m9 fiat_solinas32 1.97
-2e141m9 gmpvar32 3.88
-2e141m9 gmpsec32 3.41
-2e150m3 fiat_solinas32 2.01
-2e150m3 gmpvar32 3.77
-2e150m3 gmpsec32 3.41
-2e150m5 fiat_solinas32 1.99
-2e150m5 gmpvar32 3.79
-2e150m5 gmpsec32 3.41
-2e152m17 fiat_solinas32 1.94
-2e152m17 gmpvar32 3.81
-2e152m17 gmpsec32 3.41
-2e158m15 fiat_solinas32 2.03
-2e158m15 gmpvar32 3.86
-2e158m15 gmpsec32 3.53
-2e165m25 fiat_solinas32 2.45
-2e165m25 gmpvar32 4.52
-2e165m25 gmpsec32 4.02
-2e166m5 fiat_solinas32 2.48
-2e166m5 gmpvar32 4.45
-2e166m5 gmpsec32 4.00
-2e171m19 fiat_solinas32 2.60
-2e171m19 gmpvar32 4.37
-2e171m19 gmpsec32 4.04
-2e174m17 fiat_solinas32 2.60
-2e174m17 gmpvar32 4.39
-2e174m17 gmpsec32 4.07
-2e174m3 fiat_solinas32 2.62
-2e174m3 gmpvar32 4.40
-2e174m3 gmpsec32 4.02
-2e189m25 fiat_solinas32 2.63
-2e189m25 gmpvar32 4.43
-2e189m25 gmpsec32 4.06
-2e190m11 fiat_solinas32 2.66
-2e190m11 gmpvar32 4.37
-2e190m11 gmpsec32 4.12
-2e191m19 fiat_solinas32 2.64
-2e191m19 gmpvar32 4.41
-2e191m19 gmpsec32 4.10
-2e192m2e64m1 fiat_solinas32 2.39
-2e192m2e64m1 gmpvar32 4.30
-2e192m2e64m1 gmpsec32 3.56
-2e127m1 fiat_solinas32 0.41
-2e127m1 gmpvar32 3.28
-2e127m1 gmpsec32 2.88
-2e129m25 fiat_solinas32 0.45
-2e129m25 gmpvar32 3.79
-2e129m25 gmpsec32 3.43
-2e130m5 fiat_solinas32 0.40
-2e130m5 gmpvar32 3.88
-2e130m5 gmpsec32 3.39
-2e137m13 fiat_solinas32 0.66
-2e137m13 gmpvar32 3.83
-2e137m13 gmpsec32 3.40
-2e140m27 fiat_solinas32 0.47
-2e140m27 gmpvar32 3.85
-2e140m27 gmpsec32 3.44
-2e141m9 fiat_solinas32 0.48
-2e141m9 gmpvar32 3.79
-2e141m9 gmpsec32 3.41
-2e150m5 fiat_solinas32 0.47
-2e150m5 gmpvar32 3.85
-2e150m5 gmpsec32 3.35
-2e152m17 fiat_solinas32 0.49
-2e152m17 gmpvar32 3.78
-2e152m17 gmpsec32 3.43
-2e158m15 fiat_solinas32 0.49
-2e158m15 gmpvar32 3.80
-2e158m15 gmpsec32 3.42
-2e165m25 fiat_solinas32 0.82
-2e165m25 gmpvar32 4.51
-2e165m25 gmpsec32 4.04
-2e166m5 fiat_solinas32 1.20
-2e166m5 gmpvar32 4.44
-2e166m5 gmpsec32 4.07
-2e171m19 fiat_solinas32 0.81
-2e171m19 gmpvar32 4.37
-2e171m19 gmpsec32 4.05
-2e174m17 fiat_solinas32 0.83
-2e174m17 gmpvar32 4.32
-2e174m17 gmpsec32 4.01
-2e191m19 fiat_solinas32 1.02
-2e191m19 gmpvar32 4.34
-2e191m19 gmpsec32 4.09
-2e194m33 fiat_solinas32 0.73
-2e194m33 gmpvar32 4.93
-2e194m33 gmpsec32 4.67
-2e198m17 fiat_solinas32 0.93
-2e198m17 gmpvar32 4.97
-2e198m17 gmpsec32 4.65
-2e206m5 fiat_solinas32 1.36
-2e206m5 gmpvar32 5.00
-2e206m5 gmpsec32 4.66
-2e213m3 fiat_solinas32 2.44
-2e213m3 gmpvar32 4.95
-2e213m3 gmpsec32 4.67
-2e216m2e108m1 fiat_solinas32 0.68
-2e216m2e108m1 gmpvar32 4.92
-2e216m2e108m1 gmpsec32 4.67
-2e221m3 fiat_solinas32 0.95
-2e221m3 gmpvar32 4.94
-2e221m3 gmpsec32 4.67
-2e222m117 fiat_solinas32 0.98
-2e222m117 gmpvar32 4.98
-2e222m117 gmpsec32 4.66
-2e230m27 fiat_solinas32 0.96
-2e230m27 gmpvar32 5.72
-2e230m27 gmpsec32 5.29
-2e235m15 fiat_solinas32 0.93
-2e235m15 gmpvar32 5.72
-2e235m15 gmpsec32 5.27
-2e243m9 fiat_solinas32 0.81
-2e243m9 gmpvar32 5.70
-2e243m9 gmpsec32 5.31
-2e251m9 fiat_solinas32 1.15
-2e251m9 gmpvar32 5.68
-2e251m9 gmpsec32 5.23
-2e255m19 fiat_solinas32 0.99
-2e255m19 gmpvar32 5.74
-2e255m19 gmpsec32 5.23
-2e255m765 fiat_solinas32 1.45
-2e255m765 gmpvar32 5.73
-2e255m765 gmpsec32 5.30
-2e256m189 fiat_solinas32 1.45
-2e256m189 gmpvar32 5.53
-2e256m189 gmpsec32 4.73
-2e256m2e32m977 fiat_solinas32 1.64
-2e256m2e32m977 gmpvar32 5.51
-2e256m2e32m977 gmpsec32 4.74
-2e266m3 fiat_solinas32 1.30
-2e266m3 gmpvar32 6.42
-2e266m3 gmpsec32 6.11
-2e285m9 fiat_solinas32 2.25
-2e285m9 gmpvar32 6.36
-2e285m9 gmpsec32 6.07
-2e291m19 fiat_solinas32 1.35
-2e291m19 gmpvar32 7.08
-2e291m19 gmpsec32 6.95
-2e321m9 fiat_solinas32 2.81
-2e321m9 gmpvar32 7.75
-2e321m9 gmpsec32 7.66
-2e322m2e161m1 fiat_solinas32 1.85
-2e322m2e161m1 gmpvar32 7.77
-2e322m2e161m1 gmpsec32 7.62
-2e336m17 fiat_solinas32 1.86
-2e336m17 gmpvar32 7.76
-2e336m17 gmpsec32 7.66
-2e338m15 fiat_solinas32 1.57
-2e338m15 gmpvar32 7.76
-2e338m15 gmpsec32 7.56
-2e369m25 fiat_solinas32 2.70
-2e369m25 gmpvar32 9.15
-2e369m25 gmpsec32 8.39
-2e379m19 fiat_solinas32 3.23
-2e379m19 gmpvar32 9.10
-2e379m19 gmpsec32 8.43
-2e382m105 fiat_solinas32 6.05
-2e382m105 gmpvar32 9.06
-2e382m105 gmpsec32 8.40
-2e384m317 fiat_solinas32 4.26
-2e384m317 gmpvar32 8.81
-2e384m317 gmpsec32 7.66
-2e401m31 fiat_solinas32 2.84
-2e401m31 gmpvar32 9.92
-2e401m31 gmpsec32 9.35
-2e414m17 fiat_solinas32 3.22
-2e414m17 gmpvar32 9.96
-2e414m17 gmpsec32 9.31
-2e416m2e208m1 fiat_solinas32 2.51
-2e416m2e208m1 gmpvar32 9.65
-2e416m2e208m1 gmpsec32 8.54
-2e444m17 fiat_solinas32 7.06
-2e444m17 gmpvar32 10.90
-2e444m17 gmpsec32 10.46
-2e468m17 fiat_solinas32 3.18
-2e468m17 gmpvar32 11.67
-2e468m17 gmpsec32 11.29
-2e521m1 fiat_solinas32 3.87
-2e521m1 gmpvar32 13.95
-2e521m1 gmpsec32 13.37
diff --git a/measurements/2017-11-13-android/android32-bench-all.sh b/measurements/2017-11-13-android/android32-bench-all.sh
deleted file mode 100644
index 59c62d077..000000000
--- a/measurements/2017-11-13-android/android32-bench-all.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-for impldir in src/Specific/*32_*2e*_* ; do
-
- sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impldir\" \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/fibe.c \
- -o /tmp/main" \
- > /dev/null 2> /dev/null \
- && printf "$impldir/fibe" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main 2>/dev/null" || continue
-
- sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impldir\" \
- -I ~/android-toolchain/gmp-6.1.2/ \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/gmpvar.c \
- $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- -o /tmp/main" \
- > /dev/null 2> /dev/null \
- && printf "$impldir/gmpvar" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main 2>/dev/null"
-
- sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impldir\" \
- -I ~/android-toolchain/gmp-6.1.2/ \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/gmpsec.c \
- $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- -o /tmp/main" \
- > /dev/null 2> /dev/null \
- && printf "$impldir/gmpsec" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main 2>/dev/null"
-
- # fails to find libc++ on android
- #
- # sh -c "arm-linux-androideabi-g++ -pie \
- # $(tail -1 "$impldir/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- # -I \"$impldir\" \
- # -I ~/android-toolchain/gmp-6.1.2/ \
- # -L /usr/lib/android-ndk/sources/cxx-stl/llvm-libc++/libs/armeabi/ \
- # -Wl,--allow-multiple-definition \
- # -std=gnu++11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- # src/Specific/Framework/bench/gmpxx.cpp \
- # $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- # -o /tmp/main" \
- # && printf "$impldir/gmpxx" && adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null && adb shell "time /data/local/tmp/main 2>/dev/null"
-done
diff --git a/measurements/2017-11-13-android/measurements.txt b/measurements/2017-11-13-android/measurements.txt
deleted file mode 100644
index 267847b6e..000000000
--- a/measurements/2017-11-13-android/measurements.txt
+++ /dev/null
@@ -1,276 +0,0 @@
-src/Specific/solinas32_2e127m1_5limbs/fibe 0m0.33s real 0m0.30s user 0m0.00s system
-src/Specific/solinas32_2e127m1_5limbs/gmpvar 0m3.24s real 0m3.20s user 0m0.02s system
-src/Specific/solinas32_2e127m1_5limbs/gmpsec 0m2.90s real 0m2.83s user 0m0.01s system
-src/Specific/solinas32_2e127m1_6limbs/fibe 0m0.43s real 0m0.40s user 0m0.01s system
-src/Specific/solinas32_2e127m1_6limbs/gmpvar 0m3.24s real 0m3.20s user 0m0.00s system
-src/Specific/solinas32_2e127m1_6limbs/gmpsec 0m2.88s real 0m2.82s user 0m0.01s system
-src/Specific/solinas32_2e129m25_5limbs/fibe 0m0.37s real 0m0.34s user 0m0.01s system
-src/Specific/solinas32_2e129m25_5limbs/gmpvar 0m3.78s real 0m3.73s user 0m0.01s system
-src/Specific/solinas32_2e129m25_5limbs/gmpsec 0m3.43s real 0m3.39s user 0m0.01s system
-src/Specific/solinas32_2e129m25_6limbs/fibe 0m0.51s real 0m0.48s user 0m0.01s system
-src/Specific/solinas32_2e129m25_6limbs/gmpvar 0m3.76s real 0m3.72s user 0m0.02s system
-src/Specific/solinas32_2e129m25_6limbs/gmpsec 0m3.41s real 0m3.40s user 0m0.00s system
-src/Specific/solinas32_2e130m5_5limbs/fibe 0m0.45s real 0m0.40s user 0m0.02s system
-src/Specific/solinas32_2e130m5_5limbs/gmpvar 0m3.77s real 0m3.74s user 0m0.00s system
-src/Specific/solinas32_2e130m5_5limbs/gmpsec 0m3.42s real 0m3.40s user 0m0.00s system
-src/Specific/solinas32_2e130m5_6limbs/fibe 0m0.47s real 0m0.46s user 0m0.00s system
-src/Specific/solinas32_2e130m5_6limbs/gmpvar 0m3.75s real 0m3.72s user 0m0.01s system
-src/Specific/solinas32_2e130m5_6limbs/gmpsec 0m3.44s real 0m3.39s user 0m0.01s system
-src/Specific/solinas32_2e137m13_6limbs/fibe 0m0.48s real 0m0.46s user 0m0.00s system
-src/Specific/solinas32_2e137m13_6limbs/gmpvar 0m3.79s real 0m3.76s user 0m0.01s system
-src/Specific/solinas32_2e137m13_6limbs/gmpsec 0m3.38s real 0m3.37s user 0m0.00s system
-src/Specific/solinas32_2e140m27_6limbs/fibe 0m0.49s real 0m0.46s user 0m0.01s system
-src/Specific/solinas32_2e140m27_6limbs/gmpvar 0m3.80s real 0m3.77s user 0m0.01s system
-src/Specific/solinas32_2e140m27_6limbs/gmpsec 0m3.39s real 0m3.36s user 0m0.01s system
-src/Specific/solinas32_2e140m27_7limbs/fibe 0m0.55s real 0m0.52s user 0m0.01s system
-src/Specific/solinas32_2e140m27_7limbs/gmpvar 0m3.90s real 0m3.82s user 0m0.01s system
-src/Specific/solinas32_2e140m27_7limbs/gmpsec 0m3.42s real 0m3.40s user 0m0.00s system
-src/Specific/solinas32_2e141m9_6limbs/fibe 0m0.48s real 0m0.45s user 0m0.01s system
-src/Specific/solinas32_2e141m9_6limbs/gmpvar 0m3.81s real 0m3.77s user 0m0.00s system
-src/Specific/solinas32_2e141m9_6limbs/gmpsec 0m3.44s real 0m3.39s user 0m0.00s system
-src/Specific/solinas32_2e141m9_7limbs/fibe 0m0.60s real 0m0.57s user 0m0.01s system
-src/Specific/solinas32_2e141m9_7limbs/gmpvar 0m3.78s real 0m3.75s user 0m0.01s system
-src/Specific/solinas32_2e141m9_7limbs/gmpsec 0m3.41s real 0m3.39s user 0m0.00s system
-src/Specific/solinas32_2e150m3_6limbs/fibe 0m0.43s real 0m0.42s user 0m0.00s system
-src/Specific/solinas32_2e150m3_6limbs/gmpvar 0m3.83s real 0m3.76s user 0m0.01s system
-src/Specific/solinas32_2e150m3_6limbs/gmpsec 0m3.42s real 0m3.40s user 0m0.00s system
-src/Specific/solinas32_2e150m3_7limbs/fibe 0m0.59s real 0m0.57s user 0m0.00s system
-src/Specific/solinas32_2e150m3_7limbs/gmpvar 0m3.79s real 0m3.75s user 0m0.01s system
-src/Specific/solinas32_2e150m3_7limbs/gmpsec 0m3.42s real 0m3.38s user 0m0.00s system
-src/Specific/solinas32_2e150m5_6limbs/fibe 0m0.47s real 0m0.44s user 0m0.01s system
-src/Specific/solinas32_2e150m5_6limbs/gmpvar 0m3.76s real 0m3.72s user 0m0.02s system
-src/Specific/solinas32_2e150m5_6limbs/gmpsec 0m3.41s real 0m3.37s user 0m0.00s system
-src/Specific/solinas32_2e150m5_7limbs/fibe 0m0.56s real 0m0.53s user 0m0.01s system
-src/Specific/solinas32_2e150m5_7limbs/gmpvar 0m3.80s real 0m3.75s user 0m0.01s system
-src/Specific/solinas32_2e150m5_7limbs/gmpsec 0m3.45s real 0m3.40s user 0m0.01s system
-src/Specific/solinas32_2e152m17_6limbs/fibe 0m0.48s real 0m0.45s user 0m0.01s system
-src/Specific/solinas32_2e152m17_6limbs/gmpvar 0m3.85s real 0m3.77s user 0m0.02s system
-src/Specific/solinas32_2e152m17_6limbs/gmpsec 0m3.40s real 0m3.37s user 0m0.01s system
-src/Specific/solinas32_2e152m17_7limbs/fibe 0m0.61s real 0m0.58s user 0m0.01s system
-src/Specific/solinas32_2e152m17_7limbs/gmpvar 0m3.80s real 0m3.75s user 0m0.01s system
-src/Specific/solinas32_2e152m17_7limbs/gmpsec 0m3.42s real 0m3.36s user 0m0.01s system
-src/Specific/solinas32_2e158m15_6limbs/fibe 0m0.51s real 0m0.47s user 0m0.01s system
-src/Specific/solinas32_2e158m15_6limbs/gmpvar 0m3.77s real 0m3.74s user 0m0.01s system
-src/Specific/solinas32_2e158m15_6limbs/gmpsec 0m3.41s real 0m3.36s user 0m0.01s system
-src/Specific/solinas32_2e158m15_7limbs/fibe 0m0.62s real 0m0.58s user 0m0.02s system
-src/Specific/solinas32_2e158m15_7limbs/gmpvar 0m3.80s real 0m3.75s user 0m0.01s system
-src/Specific/solinas32_2e158m15_7limbs/gmpsec 0m3.41s real 0m3.37s user 0m0.00s system
-src/Specific/solinas32_2e165m25_7limbs/fibe 0m0.60s real 0m0.58s user 0m0.01s system
-src/Specific/solinas32_2e165m25_7limbs/gmpvar 0m4.43s real 0m4.40s user 0m0.01s system
-src/Specific/solinas32_2e165m25_7limbs/gmpsec 0m4.03s real 0m3.98s user 0m0.01s system
-src/Specific/solinas32_2e165m25_8limbs/fibe 0m0.71s real 0m0.69s user 0m0.00s system
-src/Specific/solinas32_2e165m25_8limbs/gmpvar 0m4.43s real 0m4.38s user 0m0.01s system
-src/Specific/solinas32_2e165m25_8limbs/gmpsec 0m4.00s real 0m3.96s user 0m0.00s system
-src/Specific/solinas32_2e166m5_7limbs/fibe 0m0.62s real 0m0.60s user 0m0.00s system
-src/Specific/solinas32_2e166m5_7limbs/gmpvar 0m4.45s real 0m4.41s user 0m0.01s system
-src/Specific/solinas32_2e166m5_7limbs/gmpsec 0m3.99s real 0m3.95s user 0m0.00s system
-src/Specific/solinas32_2e171m19_7limbs/fibe 0m0.62s real 0m0.59s user 0m0.01s system
-src/Specific/solinas32_2e171m19_7limbs/gmpvar 0m4.35s real 0m4.32s user 0m0.01s system
-src/Specific/solinas32_2e171m19_7limbs/gmpsec 0m4.02s real 0m3.97s user 0m0.01s system
-src/Specific/solinas32_2e171m19_8limbs/fibe 0m0.73s real 0m0.70s user 0m0.01s system
-src/Specific/solinas32_2e171m19_8limbs/gmpvar 0m4.39s real 0m4.34s user 0m0.00s system
-src/Specific/solinas32_2e171m19_8limbs/gmpsec 0m4.02s real 0m3.97s user 0m0.01s system
-src/Specific/solinas32_2e174m17_7limbs/fibe 0m0.62s real 0m0.60s user 0m0.00s system
-src/Specific/solinas32_2e174m17_7limbs/gmpvar 0m4.40s real 0m4.33s user 0m0.01s system
-src/Specific/solinas32_2e174m17_7limbs/gmpsec 0m4.04s real 0m3.99s user 0m0.01s system
-src/Specific/solinas32_2e174m17_8limbs/fibe 0m0.74s real 0m0.70s user 0m0.02s system
-src/Specific/solinas32_2e174m17_8limbs/gmpvar 0m4.36s real 0m4.33s user 0m0.01s system
-src/Specific/solinas32_2e174m17_8limbs/gmpsec 0m4.04s real 0m3.98s user 0m0.01s system
-src/Specific/solinas32_2e174m3_7limbs/fibe 0m0.59s real 0m0.56s user 0m0.01s system
-src/Specific/solinas32_2e174m3_7limbs/gmpvar 0m4.41s real 0m4.37s user 0m0.01s system
-src/Specific/solinas32_2e174m3_7limbs/gmpsec 0m4.03s real 0m4.01s user 0m0.00s system
-src/Specific/solinas32_2e174m3_8limbs/fibe 0m0.66s real 0m0.64s user 0m0.00s system
-src/Specific/solinas32_2e174m3_8limbs/gmpvar 0m4.36s real 0m4.33s user 0m0.01s system
-src/Specific/solinas32_2e174m3_8limbs/gmpsec 0m4.06s real 0m3.98s user 0m0.01s system
-src/Specific/solinas32_2e189m25_8limbs/fibe 0m0.71s real 0m0.68s user 0m0.01s system
-src/Specific/solinas32_2e189m25_8limbs/gmpvar 0m4.40s real 0m4.36s user 0m0.01s system
-src/Specific/solinas32_2e189m25_8limbs/gmpsec 0m4.07s real 0m4.02s user 0m0.01s system
-src/Specific/solinas32_2e190m11_8limbs/fibe 0m0.69s real 0m0.66s user 0m0.01s system
-src/Specific/solinas32_2e190m11_8limbs/gmpvar 0m4.42s real 0m4.35s user 0m0.01s system
-src/Specific/solinas32_2e190m11_8limbs/gmpsec 0m4.04s real 0m4.02s user 0m0.01s system
-src/Specific/solinas32_2e191m19_8limbs/fibe 0m0.70s real 0m0.67s user 0m0.01s system
-src/Specific/solinas32_2e191m19_8limbs/gmpvar 0m4.40s real 0m4.36s user 0m0.01s system
-src/Specific/solinas32_2e191m19_8limbs/gmpsec 0m4.08s real 0m4.01s user 0m0.01s system
-src/Specific/solinas32_2e191m19_9limbs/fibe 0m0.86s real 0m0.84s user 0m0.01s system
-src/Specific/solinas32_2e191m19_9limbs/gmpvar 0m4.42s real 0m4.37s user 0m0.00s system
-src/Specific/solinas32_2e191m19_9limbs/gmpsec 0m4.04s real 0m4.01s user 0m0.01s system
-src/Specific/solinas32_2e194m33_8limbs/fibe 0m0.72s real 0m0.69s user 0m0.01s system
-src/Specific/solinas32_2e194m33_8limbs/gmpvar 0m5.01s real 0m4.94s user 0m0.01s system
-src/Specific/solinas32_2e194m33_8limbs/gmpsec 0m4.65s real 0m4.62s user 0m0.01s system
-src/Specific/solinas32_2e194m33_9limbs/fibe 0m0.90s real 0m0.88s user 0m0.00s system
-src/Specific/solinas32_2e194m33_9limbs/gmpvar 0m5.02s real 0m4.92s user 0m0.00s system
-src/Specific/solinas32_2e194m33_9limbs/gmpsec 0m4.66s real 0m4.63s user 0m0.01s system
-src/Specific/solinas32_2e196m15_8limbs/fibe 0m0.76s real 0m0.74s user 0m0.01s system
-src/Specific/solinas32_2e196m15_8limbs/gmpvar 0m4.95s real 0m4.91s user 0m0.01s system
-src/Specific/solinas32_2e196m15_8limbs/gmpsec 0m4.69s real 0m4.62s user 0m0.01s system
-src/Specific/solinas32_2e196m15_9limbs/fibe 0m0.89s real 0m0.86s user 0m0.01s system
-src/Specific/solinas32_2e196m15_9limbs/gmpvar 0m4.95s real 0m4.89s user 0m0.01s system
-src/Specific/solinas32_2e196m15_9limbs/gmpsec 0m4.67s real 0m4.62s user 0m0.00s system
-src/Specific/solinas32_2e198m17_8limbs/fibe 0m0.72s real 0m0.69s user 0m0.01s system
-src/Specific/solinas32_2e198m17_8limbs/gmpvar 0m4.93s real 0m4.91s user 0m0.00s system
-src/Specific/solinas32_2e198m17_8limbs/gmpsec 0m4.69s real 0m4.62s user 0m0.01s system
-src/Specific/solinas32_2e206m5_8limbs/fibe 0m0.72s real 0m0.69s user 0m0.01s system
-src/Specific/solinas32_2e206m5_8limbs/gmpvar 0m4.97s real 0m4.90s user 0m0.00s system
-src/Specific/solinas32_2e206m5_8limbs/gmpsec 0m4.64s real 0m4.61s user 0m0.01s system
-src/Specific/solinas32_2e206m5_9limbs/fibe 0m0.84s real 0m0.81s user 0m0.01s system
-src/Specific/solinas32_2e206m5_9limbs/gmpvar 0m4.95s real 0m4.92s user 0m0.00s system
-src/Specific/solinas32_2e206m5_9limbs/gmpsec 0m4.72s real 0m4.62s user 0m0.01s system
-src/Specific/solinas32_2e212m29_9limbs/fibe 0m0.89s real 0m0.86s user 0m0.01s system
-src/Specific/solinas32_2e212m29_9limbs/gmpvar 0m4.98s real 0m4.93s user 0m0.01s system
-src/Specific/solinas32_2e212m29_9limbs/gmpsec 0m4.66s real 0m4.62s user 0m0.00s system
-src/Specific/solinas32_2e213m3_8limbs/fibe 0m0.70s real 0m0.67s user 0m0.01s system
-src/Specific/solinas32_2e213m3_8limbs/gmpvar 0m4.97s real 0m4.91s user 0m0.00s system
-src/Specific/solinas32_2e213m3_8limbs/gmpsec 0m4.66s real 0m4.61s user 0m0.00s system
-src/Specific/solinas32_2e213m3_9limbs/fibe 0m0.81s real 0m0.78s user 0m0.00s system
-src/Specific/solinas32_2e213m3_9limbs/gmpvar 0m4.96s real 0m4.91s user 0m0.00s system
-src/Specific/solinas32_2e213m3_9limbs/gmpsec 0m4.64s real 0m4.60s user 0m0.00s system
-src/Specific/solinas32_2e216m2e108m1_10limbs/fibe 0m0.96s real 0m0.93s user 0m0.01s system
-src/Specific/solinas32_2e216m2e108m1_10limbs/gmpvar 0m4.93s real 0m4.90s user 0m0.01s system
-src/Specific/solinas32_2e216m2e108m1_10limbs/gmpsec 0m4.68s real 0m4.63s user 0m0.00s system
-src/Specific/solinas32_2e216m2e108m1_8limbs/fibe 0m0.67s real 0m0.65s user 0m0.00s system
-src/Specific/solinas32_2e216m2e108m1_8limbs/gmpvar 0m4.92s real 0m4.89s user 0m0.01s system
-src/Specific/solinas32_2e216m2e108m1_8limbs/gmpsec 0m4.70s real 0m4.63s user 0m0.00s system
-src/Specific/solinas32_2e221m3_9limbs/fibe 0m0.81s real 0m0.78s user 0m0.01s system
-src/Specific/solinas32_2e221m3_9limbs/gmpvar 0m5.08s real 0m4.97s user 0m0.01s system
-src/Specific/solinas32_2e221m3_9limbs/gmpsec 0m4.67s real 0m4.61s user 0m0.01s system
-src/Specific/solinas32_2e222m117_9limbs/fibe 0m0.88s real 0m0.84s user 0m0.01s system
-src/Specific/solinas32_2e222m117_9limbs/gmpvar 0m4.93s real 0m4.89s user 0m0.01s system
-src/Specific/solinas32_2e222m117_9limbs/gmpsec 0m4.68s real 0m4.62s user 0m0.01s system
-src/Specific/solinas32_2e226m5_10limbs/fibe 0m1.02s real 0m0.99s user 0m0.00s system
-src/Specific/solinas32_2e226m5_10limbs/gmpvar 0m5.70s real 0m5.63s user 0m0.01s system
-src/Specific/solinas32_2e226m5_10limbs/gmpsec 0m5.25s real 0m5.22s user 0m0.01s system
-src/Specific/solinas32_2e226m5_9limbs/fibe 0m0.90s real 0m0.86s user 0m0.01s system
-src/Specific/solinas32_2e226m5_9limbs/gmpvar 0m5.65s real 0m5.62s user 0m0.01s system
-src/Specific/solinas32_2e226m5_9limbs/gmpsec 0m5.28s real 0m5.22s user 0m0.00s system
-src/Specific/solinas32_2e230m27_9limbs/fibe 0m0.82s real 0m0.80s user 0m0.00s system
-src/Specific/solinas32_2e230m27_9limbs/gmpvar 0m5.68s real 0m5.65s user 0m0.01s system
-src/Specific/solinas32_2e230m27_9limbs/gmpsec 0m5.28s real 0m5.22s user 0m0.00s system
-src/Specific/solinas32_2e235m15_10limbs/fibe 0m1.19s real 0m1.11s user 0m0.01s system
-src/Specific/solinas32_2e235m15_10limbs/gmpvar 0m5.65s real 0m5.62s user 0m0.01s system
-src/Specific/solinas32_2e235m15_10limbs/gmpsec 0m5.24s real 0m5.20s user 0m0.02s system
-src/Specific/solinas32_2e243m9_10limbs/fibe 0m1.09s real 0m1.06s user 0m0.01s system
-src/Specific/solinas32_2e243m9_10limbs/gmpvar 0m5.72s real 0m5.66s user 0m0.01s system
-src/Specific/solinas32_2e243m9_10limbs/gmpsec 0m5.26s real 0m5.22s user 0m0.01s system
-src/Specific/solinas32_2e251m9_11limbs/fibe 0m1.16s real 0m1.14s user 0m0.00s system
-src/Specific/solinas32_2e251m9_11limbs/gmpvar 0m5.68s real 0m5.65s user 0m0.01s system
-src/Specific/solinas32_2e251m9_11limbs/gmpsec 0m5.29s real 0m5.23s user 0m0.00s system
-src/Specific/solinas32_2e255m19_11limbs/fibe 0m1.16s real 0m1.14s user 0m0.00s system
-src/Specific/solinas32_2e255m19_11limbs/gmpvar 0m5.69s real 0m5.66s user 0m0.01s system
-src/Specific/solinas32_2e255m19_11limbs/gmpsec 0m5.27s real 0m5.24s user 0m0.01s system
-src/Specific/solinas32_2e255m765_13limbs/fibe 0m1.61s real 0m1.60s user 0m0.00s system
-src/Specific/solinas32_2e255m765_13limbs/gmpvar 0m5.72s real 0m5.65s user 0m0.00s system
-src/Specific/solinas32_2e255m765_13limbs/gmpsec 0m5.36s real 0m5.29s user 0m0.01s system
-src/Specific/solinas32_2e256m189_11limbs/fibe 0m1.15s real 0m1.11s user 0m0.01s system
-src/Specific/solinas32_2e256m189_11limbs/gmpvar 0m5.53s real 0m5.48s user 0m0.00s system
-src/Specific/solinas32_2e256m189_11limbs/gmpsec 0m4.74s real 0m4.68s user 0m0.00s system
-src/Specific/solinas32_2e256m2e32m977_13limbs/fibe 0m1.97s real 0m1.94s user 0m0.00s system
-src/Specific/solinas32_2e256m2e32m977_13limbs/gmpvar 0m5.55s real 0m5.49s user 0m0.01s system
-src/Specific/solinas32_2e256m2e32m977_13limbs/gmpsec 0m4.73s real 0m4.67s user 0m0.01s system
-src/Specific/solinas32_2e266m3_10limbs/fibe 0m0.97s real 0m0.95s user 0m0.00s system
-src/Specific/solinas32_2e266m3_10limbs/gmpvar 0m6.39s real 0m6.31s user 0m0.00s system
-src/Specific/solinas32_2e266m3_10limbs/gmpsec 0m6.07s real 0m6.05s user 0m0.00s system
-src/Specific/solinas32_2e266m3_11limbs/fibe 0m1.09s real 0m1.07s user 0m0.00s system
-src/Specific/solinas32_2e266m3_11limbs/gmpvar 0m6.32s real 0m6.30s user 0m0.01s system
-src/Specific/solinas32_2e266m3_11limbs/gmpsec 0m6.12s real 0m6.04s user 0m0.01s system
-src/Specific/solinas32_2e285m9_11limbs/fibe 0m1.22s real 0m1.12s user 0m0.01s system
-src/Specific/solinas32_2e285m9_11limbs/gmpvar 0m6.38s real 0m6.30s user 0m0.01s system
-src/Specific/solinas32_2e285m9_11limbs/gmpsec 0m6.08s real 0m6.05s user 0m0.01s system
-src/Specific/solinas32_2e285m9_12limbs/fibe 0m1.49s real 0m1.46s user 0m0.00s system
-src/Specific/solinas32_2e285m9_12limbs/gmpvar 0m6.32s real 0m6.30s user 0m0.00s system
-src/Specific/solinas32_2e285m9_12limbs/gmpsec 0m6.05s real 0m6.03s user 0m0.00s system
-src/Specific/solinas32_2e321m9_13limbs/fibe 0m1.73s real 0m1.70s user 0m0.00s system
-src/Specific/solinas32_2e321m9_13limbs/gmpvar 0m7.75s real 0m7.71s user 0m0.01s system
-src/Specific/solinas32_2e321m9_13limbs/gmpsec 0m7.67s real 0m7.62s user 0m0.00s system
-src/Specific/solinas32_2e322m2e161m1_12limbs/fibe 0m1.34s real 0m1.32s user 0m0.00s system
-src/Specific/solinas32_2e322m2e161m1_12limbs/gmpvar 0m7.76s real 0m7.71s user 0m0.01s system
-src/Specific/solinas32_2e322m2e161m1_12limbs/gmpsec 0m7.71s real 0m7.66s user 0m0.00s system
-src/Specific/solinas32_2e336m17_13limbs/fibe 0m1.66s real 0m1.63s user 0m0.01s system
-src/Specific/solinas32_2e336m17_13limbs/gmpvar 0m7.74s real 0m7.69s user 0m0.02s system
-src/Specific/solinas32_2e336m17_13limbs/gmpsec 0m7.59s real 0m7.57s user 0m0.00s system
-src/Specific/solinas32_2e336m3_13limbs/fibe 0m1.59s real 0m1.56s user 0m0.01s system
-src/Specific/solinas32_2e336m3_13limbs/gmpvar 0m7.75s real 0m7.70s user 0m0.02s system
-src/Specific/solinas32_2e336m3_13limbs/gmpsec 0m7.65s real 0m7.58s user 0m0.00s system
-src/Specific/solinas32_2e338m15_14limbs/fibe 0m1.93s real 0m1.92s user 0m0.00s system
-src/Specific/solinas32_2e338m15_14limbs/gmpvar 0m7.73s real 0m7.69s user 0m0.00s system
-src/Specific/solinas32_2e338m15_14limbs/gmpsec 0m7.60s real 0m7.57s user 0m0.01s system
-src/Specific/solinas32_2e369m25_15limbs/fibe 0m2.53s real 0m2.45s user 0m0.01s system
-src/Specific/solinas32_2e369m25_15limbs/gmpvar 0m9.06s real 0m9.02s user 0m0.01s system
-src/Specific/solinas32_2e369m25_15limbs/gmpsec 0m8.40s real 0m8.36s user 0m0.01s system
-src/Specific/solinas32_2e379m19_15limbs/fibe 0m2.49s real 0m2.46s user 0m0.02s system
-src/Specific/solinas32_2e379m19_15limbs/gmpvar 0m9.16s real 0m9.06s user 0m0.01s system
-src/Specific/solinas32_2e379m19_15limbs/gmpsec 0m8.41s real 0m8.38s user 0m0.00s system
-src/Specific/solinas32_2e379m19_16limbs/fibe 0m3.02s real 0m2.99s user 0m0.01s system
-src/Specific/solinas32_2e379m19_16limbs/gmpvar 0m9.04s real 0m9.01s user 0m0.01s system
-src/Specific/solinas32_2e379m19_16limbs/gmpsec 0m8.45s real 0m8.38s user 0m0.00s system
-src/Specific/solinas32_2e382m105_16limbs/fibe 0m2.68s real 0m2.64s user 0m0.01s system
-src/Specific/solinas32_2e382m105_16limbs/gmpvar 0m9.09s real 0m9.05s user 0m0.01s system
-src/Specific/solinas32_2e382m105_16limbs/gmpsec 0m8.39s real 0m8.35s user 0m0.01s system
-src/Specific/solinas32_2e382m105_17limbs/fibe 0m4.03s real 0m3.99s user 0m0.02s system
-src/Specific/solinas32_2e382m105_17limbs/gmpvar 0m9.08s real 0m9.04s user 0m0.01s system
-src/Specific/solinas32_2e382m105_17limbs/gmpsec 0m8.46s real 0m8.41s user 0m0.00s system
-src/Specific/solinas32_2e383m187_16limbs/fibe 0m2.59s real 0m2.55s user 0m0.01s system
-src/Specific/solinas32_2e383m187_16limbs/gmpvar 0m9.18s real 0m9.11s user 0m0.01s system
-src/Specific/solinas32_2e383m187_16limbs/gmpsec 0m8.43s real 0m8.34s user 0m0.01s system
-src/Specific/solinas32_2e383m187_17limbs/fibe 0m4.18s real 0m4.12s user 0m0.01s system
-src/Specific/solinas32_2e383m187_17limbs/gmpvar 0m9.10s real 0m9.04s user 0m0.01s system
-src/Specific/solinas32_2e383m187_17limbs/gmpsec 0m8.41s real 0m8.36s user 0m0.02s system
-src/Specific/solinas32_2e383m31_16limbs/fibe 0m2.58s real 0m2.56s user 0m0.00s system
-src/Specific/solinas32_2e383m31_16limbs/gmpvar 0m9.12s real 0m9.04s user 0m0.00s system
-src/Specific/solinas32_2e383m31_16limbs/gmpsec 0m8.38s real 0m8.35s user 0m0.01s system
-src/Specific/solinas32_2e383m421_17limbs/fibe 0m4.20s real 0m4.15s user 0m0.01s system
-src/Specific/solinas32_2e383m421_17limbs/gmpvar 0m9.20s real 0m9.12s user 0m0.01s system
-src/Specific/solinas32_2e383m421_17limbs/gmpsec 0m8.45s real 0m8.37s user 0m0.00s system
-src/Specific/solinas32_2e383m421_18limbs/fibe 0m3.57s real 0m3.52s user 0m0.01s system
-src/Specific/solinas32_2e383m421_18limbs/gmpvar 0m9.06s real 0m9.04s user 0m0.01s system
-src/Specific/solinas32_2e383m421_18limbs/gmpsec 0m8.42s real 0m8.34s user 0m0.00s system
-src/Specific/solinas32_2e384m317_17limbs/fibe 0m3.94s real 0m3.90s user 0m0.00s system
-src/Specific/solinas32_2e384m317_17limbs/gmpvar 0m8.88s real 0m8.77s user 0m0.02s system
-src/Specific/solinas32_2e384m317_17limbs/gmpsec 0m7.67s real 0m7.58s user 0m0.01s system
-src/Specific/solinas32_2e389m21_16limbs/fibe 0m3.00s real 0m2.85s user 0m0.00s system
-src/Specific/solinas32_2e389m21_16limbs/gmpvar 0m9.84s real 0m9.81s user 0m0.01s system
-src/Specific/solinas32_2e389m21_16limbs/gmpsec 0m9.39s real 0m9.28s user 0m0.01s system
-src/Specific/solinas32_2e401m31_17limbs/fibe 0m4.18s real 0m4.11s user 0m0.01s system
-src/Specific/solinas32_2e401m31_17limbs/gmpvar 0m9.86s real 0m9.83s user 0m0.01s system
-src/Specific/solinas32_2e401m31_17limbs/gmpsec 0m9.38s real 0m9.35s user 0m0.00s system
-src/Specific/solinas32_2e413m21_17limbs/fibe 0m3.53s real 0m3.50s user 0m0.02s system
-src/Specific/solinas32_2e413m21_17limbs/gmpvar 0m10.02s real 0m9.90s user 0m0.00s system
-src/Specific/solinas32_2e413m21_17limbs/gmpsec 0m9.33s real 0m9.30s user 0m0.01s system
-src/Specific/solinas32_2e414m17_17limbs/fibe 0m3.73s real 0m3.70s user 0m0.01s system
-src/Specific/solinas32_2e414m17_17limbs/gmpvar 0m9.86s real 0m9.83s user 0m0.00s system
-src/Specific/solinas32_2e414m17_17limbs/gmpsec 0m9.40s real 0m9.31s user 0m0.00s system
-src/Specific/solinas32_2e416m2e208m1_18limbs/fibe 0m3.32s real 0m3.30s user 0m0.01s system
-src/Specific/solinas32_2e416m2e208m1_18limbs/gmpvar 0m9.66s real 0m9.57s user 0m0.01s system
-src/Specific/solinas32_2e416m2e208m1_18limbs/gmpsec 0m8.52s real 0m8.49s user 0m0.01s system
-src/Specific/solinas32_2e444m17_18limbs/fibe 0m3.63s real 0m3.57s user 0m0.01s system
-src/Specific/solinas32_2e444m17_18limbs/gmpvar 0m10.77s real 0m10.74s user 0m0.01s system
-src/Specific/solinas32_2e444m17_18limbs/gmpsec 0m10.38s real 0m10.29s user 0m0.01s system
-src/Specific/solinas32_2e448m2e224m1_18limbs/fibe 0m3.16s real 0m3.15s user 0m0.00s system
-src/Specific/solinas32_2e448m2e224m1_18limbs/gmpvar 0m10.54s real 0m10.47s user 0m0.01s system
-src/Specific/solinas32_2e448m2e224m1_18limbs/gmpsec 0m9.42s real 0m9.40s user 0m0.00s system
-src/Specific/solinas32_2e452m3_17limbs/fibe 0m3.74s real 0m3.69s user 0m0.01s system
-src/Specific/solinas32_2e452m3_17limbs/gmpvar 0m11.70s real 0m11.62s user 0m0.02s system
-src/Specific/solinas32_2e452m3_17limbs/gmpsec 0m11.40s real 0m11.29s user 0m0.00s system
-src/Specific/solinas32_2e452m3_18limbs/fibe 0m3.22s real 0m3.18s user 0m0.00s system
-src/Specific/solinas32_2e452m3_18limbs/gmpvar 0m11.63s real 0m11.52s user 0m0.01s system
-src/Specific/solinas32_2e452m3_18limbs/gmpsec 0m11.30s real 0m11.27s user 0m0.01s system
-src/Specific/solinas32_2e468m17_19limbs/fibe 0m5.37s real 0m5.35s user 0m0.01s system
-src/Specific/solinas32_2e468m17_19limbs/gmpvar 0m11.62s real 0m11.58s user 0m0.01s system
-src/Specific/solinas32_2e468m17_19limbs/gmpsec 0m11.39s real 0m11.28s user 0m0.01s system
-src/Specific/solinas32_2e480m2e240m1_18limbs/fibe 0m3.55s real 0m3.53s user 0m0.00s system
-src/Specific/solinas32_2e480m2e240m1_18limbs/gmpvar 0m11.36s real 0m11.24s user 0m0.02s system
-src/Specific/solinas32_2e480m2e240m1_18limbs/gmpsec 0m10.48s real 0m10.39s user 0m0.00s system
-src/Specific/solinas32_2e488m17_20limbs/fibe 0m8.01s real 0m7.93s user 0m0.01s system
-src/Specific/solinas32_2e488m17_20limbs/gmpvar 0m13.04s real 0m12.89s user 0m0.00s system
-src/Specific/solinas32_2e488m17_20limbs/gmpsec 0m12.31s real 0m12.20s user 0m0.01s system
-src/Specific/solinas32_2e489m21_20limbs/fibe 0m7.70s real 0m7.64s user 0m0.00s system
-src/Specific/solinas32_2e489m21_20limbs/gmpvar 0m12.91s real 0m12.80s user 0m0.01s system
-src/Specific/solinas32_2e489m21_20limbs/gmpsec 0m12.22s real 0m12.11s user 0m0.00s system
-src/Specific/solinas32_2e495m31_20limbs/fibe 0m6.06s real 0m6.02s user 0m0.01s system
-src/Specific/solinas32_2e495m31_20limbs/gmpvar 0m12.97s real 0m12.87s user 0m0.02s system
-src/Specific/solinas32_2e495m31_20limbs/gmpsec 0m12.20s real 0m12.16s user 0m0.01s system
-src/Specific/solinas32_2e495m31_21limbs/fibe 0m8.62s real 0m8.54s user 0m0.01s system
-src/Specific/solinas32_2e495m31_21limbs/gmpvar 0m12.97s real 0m12.85s user 0m0.00s system
-src/Specific/solinas32_2e495m31_21limbs/gmpsec 0m12.28s real 0m12.19s user 0m0.01s system
-src/Specific/solinas32_2e521m1_19limbs/fibe 0m5.33s real 0m5.26s user 0m0.00s system
-src/Specific/solinas32_2e521m1_19limbs/gmpvar 0m13.94s real 0m13.89s user 0m0.01s system
-src/Specific/solinas32_2e521m1_19limbs/gmpsec 0m13.35s real 0m13.23s user 0m0.01s system
diff --git a/measurements/2017-11-13-android/results-by-field.txt b/measurements/2017-11-13-android/results-by-field.txt
deleted file mode 100644
index a31bd7486..000000000
--- a/measurements/2017-11-13-android/results-by-field.txt
+++ /dev/null
@@ -1,276 +0,0 @@
-2e127m1 fiat_solinas32 0.33
-2e127m1 gmpvar32 3.24
-2e127m1 gmpsec32 2.90
-2e127m1 fiat_solinas32 0.43
-2e127m1 gmpvar32 3.24
-2e127m1 gmpsec32 2.88
-2e129m25 fiat_solinas32 0.37
-2e129m25 gmpvar32 3.78
-2e129m25 gmpsec32 3.43
-2e129m25 fiat_solinas32 0.51
-2e129m25 gmpvar32 3.76
-2e129m25 gmpsec32 3.41
-2e130m5 fiat_solinas32 0.45
-2e130m5 gmpvar32 3.77
-2e130m5 gmpsec32 3.42
-2e130m5 fiat_solinas32 0.47
-2e130m5 gmpvar32 3.75
-2e130m5 gmpsec32 3.44
-2e137m13 fiat_solinas32 0.48
-2e137m13 gmpvar32 3.79
-2e137m13 gmpsec32 3.38
-2e140m27 fiat_solinas32 0.49
-2e140m27 gmpvar32 3.80
-2e140m27 gmpsec32 3.39
-2e140m27 fiat_solinas32 0.55
-2e140m27 gmpvar32 3.90
-2e140m27 gmpsec32 3.42
-2e141m9 fiat_solinas32 0.48
-2e141m9 gmpvar32 3.81
-2e141m9 gmpsec32 3.44
-2e141m9 fiat_solinas32 0.60
-2e141m9 gmpvar32 3.78
-2e141m9 gmpsec32 3.41
-2e150m3 fiat_solinas32 0.43
-2e150m3 gmpvar32 3.83
-2e150m3 gmpsec32 3.42
-2e150m3 fiat_solinas32 0.59
-2e150m3 gmpvar32 3.79
-2e150m3 gmpsec32 3.42
-2e150m5 fiat_solinas32 0.47
-2e150m5 gmpvar32 3.76
-2e150m5 gmpsec32 3.41
-2e150m5 fiat_solinas32 0.56
-2e150m5 gmpvar32 3.80
-2e150m5 gmpsec32 3.45
-2e152m17 fiat_solinas32 0.48
-2e152m17 gmpvar32 3.85
-2e152m17 gmpsec32 3.40
-2e152m17 fiat_solinas32 0.61
-2e152m17 gmpvar32 3.80
-2e152m17 gmpsec32 3.42
-2e158m15 fiat_solinas32 0.51
-2e158m15 gmpvar32 3.77
-2e158m15 gmpsec32 3.41
-2e158m15 fiat_solinas32 0.62
-2e158m15 gmpvar32 3.80
-2e158m15 gmpsec32 3.41
-2e165m25 fiat_solinas32 0.60
-2e165m25 gmpvar32 4.43
-2e165m25 gmpsec32 4.03
-2e165m25 fiat_solinas32 0.71
-2e165m25 gmpvar32 4.43
-2e165m25 gmpsec32 4.00
-2e166m5 fiat_solinas32 0.62
-2e166m5 gmpvar32 4.45
-2e166m5 gmpsec32 3.99
-2e171m19 fiat_solinas32 0.62
-2e171m19 gmpvar32 4.35
-2e171m19 gmpsec32 4.02
-2e171m19 fiat_solinas32 0.73
-2e171m19 gmpvar32 4.39
-2e171m19 gmpsec32 4.02
-2e174m17 fiat_solinas32 0.62
-2e174m17 gmpvar32 4.40
-2e174m17 gmpsec32 4.04
-2e174m17 fiat_solinas32 0.74
-2e174m17 gmpvar32 4.36
-2e174m17 gmpsec32 4.04
-2e174m3 fiat_solinas32 0.59
-2e174m3 gmpvar32 4.41
-2e174m3 gmpsec32 4.03
-2e174m3 fiat_solinas32 0.66
-2e174m3 gmpvar32 4.36
-2e174m3 gmpsec32 4.06
-2e189m25 fiat_solinas32 0.71
-2e189m25 gmpvar32 4.40
-2e189m25 gmpsec32 4.07
-2e190m11 fiat_solinas32 0.69
-2e190m11 gmpvar32 4.42
-2e190m11 gmpsec32 4.04
-2e191m19 fiat_solinas32 0.70
-2e191m19 gmpvar32 4.40
-2e191m19 gmpsec32 4.08
-2e191m19 fiat_solinas32 0.86
-2e191m19 gmpvar32 4.42
-2e191m19 gmpsec32 4.04
-2e194m33 fiat_solinas32 0.72
-2e194m33 gmpvar32 5.01
-2e194m33 gmpsec32 4.65
-2e194m33 fiat_solinas32 0.90
-2e194m33 gmpvar32 5.02
-2e194m33 gmpsec32 4.66
-2e196m15 fiat_solinas32 0.76
-2e196m15 gmpvar32 4.95
-2e196m15 gmpsec32 4.69
-2e196m15 fiat_solinas32 0.89
-2e196m15 gmpvar32 4.95
-2e196m15 gmpsec32 4.67
-2e198m17 fiat_solinas32 0.72
-2e198m17 gmpvar32 4.93
-2e198m17 gmpsec32 4.69
-2e206m5 fiat_solinas32 0.72
-2e206m5 gmpvar32 4.97
-2e206m5 gmpsec32 4.64
-2e206m5 fiat_solinas32 0.84
-2e206m5 gmpvar32 4.95
-2e206m5 gmpsec32 4.72
-2e212m29 fiat_solinas32 0.89
-2e212m29 gmpvar32 4.98
-2e212m29 gmpsec32 4.66
-2e213m3 fiat_solinas32 0.70
-2e213m3 gmpvar32 4.97
-2e213m3 gmpsec32 4.66
-2e213m3 fiat_solinas32 0.81
-2e213m3 gmpvar32 4.96
-2e213m3 gmpsec32 4.64
-2e216m2e108m1 fiat_solinas32 0.96
-2e216m2e108m1 gmpvar32 4.93
-2e216m2e108m1 gmpsec32 4.68
-2e216m2e108m1 fiat_solinas32 0.67
-2e216m2e108m1 gmpvar32 4.92
-2e216m2e108m1 gmpsec32 4.70
-2e221m3 fiat_solinas32 0.81
-2e221m3 gmpvar32 5.08
-2e221m3 gmpsec32 4.67
-2e222m117 fiat_solinas32 0.88
-2e222m117 gmpvar32 4.93
-2e222m117 gmpsec32 4.68
-2e226m5 fiat_solinas32 1.02
-2e226m5 gmpvar32 5.70
-2e226m5 gmpsec32 5.25
-2e226m5 fiat_solinas32 0.90
-2e226m5 gmpvar32 5.65
-2e226m5 gmpsec32 5.28
-2e230m27 fiat_solinas32 0.82
-2e230m27 gmpvar32 5.68
-2e230m27 gmpsec32 5.28
-2e235m15 fiat_solinas32 1.19
-2e235m15 gmpvar32 5.65
-2e235m15 gmpsec32 5.24
-2e243m9 fiat_solinas32 1.09
-2e243m9 gmpvar32 5.72
-2e243m9 gmpsec32 5.26
-2e251m9 fiat_solinas32 1.16
-2e251m9 gmpvar32 5.68
-2e251m9 gmpsec32 5.29
-2e255m19 fiat_solinas32 1.16
-2e255m19 gmpvar32 5.69
-2e255m19 gmpsec32 5.27
-2e255m765 fiat_solinas32 1.61
-2e255m765 gmpvar32 5.72
-2e255m765 gmpsec32 5.36
-2e256m189 fiat_solinas32 1.15
-2e256m189 gmpvar32 5.53
-2e256m189 gmpsec32 4.74
-2e256m2e32m977 fiat_solinas32 1.97
-2e256m2e32m977 gmpvar32 5.55
-2e256m2e32m977 gmpsec32 4.73
-2e266m3 fiat_solinas32 0.97
-2e266m3 gmpvar32 6.39
-2e266m3 gmpsec32 6.07
-2e266m3 fiat_solinas32 1.09
-2e266m3 gmpvar32 6.32
-2e266m3 gmpsec32 6.12
-2e285m9 fiat_solinas32 1.22
-2e285m9 gmpvar32 6.38
-2e285m9 gmpsec32 6.08
-2e285m9 fiat_solinas32 1.49
-2e285m9 gmpvar32 6.32
-2e285m9 gmpsec32 6.05
-2e321m9 fiat_solinas32 1.73
-2e321m9 gmpvar32 7.75
-2e321m9 gmpsec32 7.67
-2e322m2e161m1 fiat_solinas32 1.34
-2e322m2e161m1 gmpvar32 7.76
-2e322m2e161m1 gmpsec32 7.71
-2e336m17 fiat_solinas32 1.66
-2e336m17 gmpvar32 7.74
-2e336m17 gmpsec32 7.59
-2e336m3 fiat_solinas32 1.59
-2e336m3 gmpvar32 7.75
-2e336m3 gmpsec32 7.65
-2e338m15 fiat_solinas32 1.93
-2e338m15 gmpvar32 7.73
-2e338m15 gmpsec32 7.60
-2e369m25 fiat_solinas32 2.53
-2e369m25 gmpvar32 9.06
-2e369m25 gmpsec32 8.40
-2e379m19 fiat_solinas32 2.49
-2e379m19 gmpvar32 9.16
-2e379m19 gmpsec32 8.41
-2e379m19 fiat_solinas32 3.02
-2e379m19 gmpvar32 9.04
-2e379m19 gmpsec32 8.45
-2e382m105 fiat_solinas32 2.68
-2e382m105 gmpvar32 9.09
-2e382m105 gmpsec32 8.39
-2e382m105 fiat_solinas32 4.03
-2e382m105 gmpvar32 9.08
-2e382m105 gmpsec32 8.46
-2e383m187 fiat_solinas32 2.59
-2e383m187 gmpvar32 9.18
-2e383m187 gmpsec32 8.43
-2e383m187 fiat_solinas32 4.18
-2e383m187 gmpvar32 9.10
-2e383m187 gmpsec32 8.41
-2e383m31 fiat_solinas32 2.58
-2e383m31 gmpvar32 9.12
-2e383m31 gmpsec32 8.38
-2e383m421 fiat_solinas32 4.20
-2e383m421 gmpvar32 9.20
-2e383m421 gmpsec32 8.45
-2e383m421 fiat_solinas32 3.57
-2e383m421 gmpvar32 9.06
-2e383m421 gmpsec32 8.42
-2e384m317 fiat_solinas32 3.94
-2e384m317 gmpvar32 8.88
-2e384m317 gmpsec32 7.67
-2e389m21 fiat_solinas32 3.00
-2e389m21 gmpvar32 9.84
-2e389m21 gmpsec32 9.39
-2e401m31 fiat_solinas32 4.18
-2e401m31 gmpvar32 9.86
-2e401m31 gmpsec32 9.38
-2e413m21 fiat_solinas32 3.53
-2e413m21 gmpvar32 10.02
-2e413m21 gmpsec32 9.33
-2e414m17 fiat_solinas32 3.73
-2e414m17 gmpvar32 9.86
-2e414m17 gmpsec32 9.40
-2e416m2e208m1 fiat_solinas32 3.32
-2e416m2e208m1 gmpvar32 9.66
-2e416m2e208m1 gmpsec32 8.52
-2e444m17 fiat_solinas32 3.63
-2e444m17 gmpvar32 10.77
-2e444m17 gmpsec32 10.38
-2e448m2e224m1 fiat_solinas32 3.16
-2e448m2e224m1 gmpvar32 10.54
-2e448m2e224m1 gmpsec32 9.42
-2e452m3 fiat_solinas32 3.74
-2e452m3 gmpvar32 11.70
-2e452m3 gmpsec32 11.40
-2e452m3 fiat_solinas32 3.22
-2e452m3 gmpvar32 11.63
-2e452m3 gmpsec32 11.30
-2e468m17 fiat_solinas32 5.37
-2e468m17 gmpvar32 11.62
-2e468m17 gmpsec32 11.39
-2e480m2e240m1 fiat_solinas32 3.55
-2e480m2e240m1 gmpvar32 11.36
-2e480m2e240m1 gmpsec32 10.48
-2e488m17 fiat_solinas32 8.01
-2e488m17 gmpvar32 13.04
-2e488m17 gmpsec32 12.31
-2e489m21 fiat_solinas32 7.70
-2e489m21 gmpvar32 12.91
-2e489m21 gmpsec32 12.22
-2e495m31 fiat_solinas32 6.06
-2e495m31 gmpvar32 12.97
-2e495m31 gmpsec32 12.20
-2e495m31 fiat_solinas32 8.62
-2e495m31 gmpvar32 12.97
-2e495m31 gmpsec32 12.28
-2e521m1 fiat_solinas32 5.33
-2e521m1 gmpvar32 13.94
-2e521m1 gmpsec32 13.35
diff --git a/measurements/2017-11-13/results-by-field.txt b/measurements/2017-11-13/results-by-field.txt
deleted file mode 100644
index 2c4dfff17..000000000
--- a/measurements/2017-11-13/results-by-field.txt
+++ /dev/null
@@ -1,571 +0,0 @@
-2e127m1 fiat_solinas64 0.02
-2e129m25 fiat_solinas64 0.03
-2e129m25 fiat_solinas64 0.04
-2e130m5 fiat_solinas64 0.03
-2e130m5 fiat_solinas64 0.04
-2e137m13 fiat_solinas64 0.03
-2e137m13 fiat_solinas64 0.04
-2e140m27 fiat_solinas64 0.03
-2e140m27 fiat_solinas64 0.04
-2e141m9 fiat_solinas64 0.03
-2e141m9 fiat_solinas64 0.04
-2e150m3 fiat_solinas64 0.03
-2e150m3 fiat_solinas64 0.04
-2e150m5 fiat_solinas64 0.03
-2e150m5 fiat_solinas64 0.04
-2e152m17 fiat_solinas64 0.03
-2e152m17 fiat_solinas64 0.04
-2e158m15 fiat_solinas64 0.03
-2e158m15 fiat_solinas64 0.04
-2e165m25 fiat_solinas64 0.03
-2e165m25 fiat_solinas64 0.04
-2e166m5 fiat_solinas64 0.03
-2e166m5 fiat_solinas64 0.04
-2e171m19 fiat_solinas64 0.03
-2e171m19 fiat_solinas64 0.04
-2e174m17 fiat_solinas64 0.03
-2e174m17 fiat_solinas64 0.04
-2e174m3 fiat_solinas64 0.03
-2e174m3 fiat_solinas64 0.04
-2e189m25 fiat_solinas64 0.04
-2e189m25 fiat_solinas64 0.06
-2e190m11 fiat_solinas64 0.04
-2e190m11 fiat_solinas64 0.06
-2e191m19 fiat_solinas64 0.04
-2e191m19 fiat_solinas64 0.06
-2e192m2e64m1 fiat_solinas64 0.04
-2e192m2e64m1 fiat_solinas64 0.07
-2e194m33 fiat_solinas64 0.04
-2e194m33 fiat_solinas64 0.06
-2e196m15 fiat_solinas64 0.04
-2e196m15 fiat_solinas64 0.06
-2e198m17 fiat_solinas64 0.04
-2e198m17 fiat_solinas64 0.06
-2e206m5 fiat_solinas64 0.04
-2e206m5 fiat_solinas64 0.06
-2e212m29 fiat_solinas64 0.05
-2e212m29 fiat_solinas64 0.06
-2e213m3 fiat_solinas64 0.04
-2e213m3 fiat_solinas64 0.06
-2e216m2e108m1 fiat_solinas64 0.04
-2e221m3 fiat_solinas64 0.04
-2e221m3 fiat_solinas64 0.06
-2e222m117 fiat_solinas64 0.04
-2e222m117 fiat_solinas64 0.06
-2e226m5 fiat_solinas64 0.05
-2e226m5 fiat_solinas64 0.06
-2e230m27 fiat_solinas64 0.05
-2e230m27 fiat_solinas64 0.06
-2e235m15 fiat_solinas64 0.04
-2e235m15 fiat_solinas64 0.06
-2e243m9 fiat_solinas64 0.06
-2e243m9 fiat_solinas64 0.10
-2e251m9 fiat_solinas64 0.06
-2e251m9 fiat_solinas64 0.09
-2e255m19 fiat_solinas64 0.06
-2e255m19 fiat_solinas64 0.10
-2e255m765 fiat_solinas64 0.06
-2e255m765 fiat_solinas64 0.10
-2e256m189 fiat_solinas64 0.06
-2e256m189 fiat_solinas64 0.10
-2e256m2e32m977 fiat_solinas64 0.10
-2e256m2e32m977 fiat_solinas64 0.12
-2e256m4294968273 fiat_solinas64 0.16
-2e256m4294968273 fiat_solinas64 0.14
-2e266m3 fiat_solinas64 0.06
-2e266m3 fiat_solinas64 0.10
-2e285m9 fiat_solinas64 0.06
-2e285m9 fiat_solinas64 0.10
-2e291m19 fiat_solinas64 0.07
-2e291m19 fiat_solinas64 0.11
-2e321m9 fiat_solinas64 0.10
-2e321m9 fiat_solinas64 0.12
-2e322m2e161m1 fiat_solinas64 0.08
-2e336m17 fiat_solinas64 0.11
-2e336m17 fiat_solinas64 0.12
-2e336m3 fiat_solinas64 0.10
-2e336m3 fiat_solinas64 0.13
-2e338m15 fiat_solinas64 0.11
-2e338m15 fiat_solinas64 0.12
-2e369m25 fiat_solinas64 0.13
-2e369m25 fiat_solinas64 0.15
-2e379m19 fiat_solinas64 0.13
-2e379m19 fiat_solinas64 0.16
-2e382m105 fiat_solinas64 0.13
-2e382m105 fiat_solinas64 0.15
-2e383m187 fiat_solinas64 0.13
-2e383m187 fiat_solinas64 0.15
-2e383m31 fiat_solinas64 0.13
-2e383m31 fiat_solinas64 0.15
-2e383m421 fiat_solinas64 0.13
-2e383m421 fiat_solinas64 0.15
-2e384m317 fiat_solinas64 0.13
-2e384m317 fiat_solinas64 0.15
-2e389m21 fiat_solinas64 0.13
-2e389m21 fiat_solinas64 0.15
-2e401m31 fiat_solinas64 0.13
-2e401m31 fiat_solinas64 0.15
-2e413m21 fiat_solinas64 0.15
-2e414m17 fiat_solinas64 0.15
-2e416m2e208m1 fiat_solinas64 0.12
-2e444m17 fiat_solinas64 0.16
-2e444m17 fiat_solinas64 0.19
-2e448m2e224m1 fiat_solinas64 0.18
-2e448m2e224m1 fiat_solinas64 0.12
-2e450m2e225m1 fiat_solinas64 0.18
-2e450m2e225m1 fiat_solinas64 0.12
-2e452m3 fiat_solinas64 0.16
-2e452m3 fiat_solinas64 0.19
-2e468m17 fiat_solinas64 0.16
-2e468m17 fiat_solinas64 0.19
-2e480m2e240m1 fiat_solinas64 0.18
-2e480m2e240m1 fiat_solinas64 0.12
-2e488m17 fiat_solinas64 0.23
-2e488m17 fiat_solinas64 0.19
-2e489m21 fiat_solinas64 0.23
-2e495m31 fiat_solinas64 0.23
-2e511m187 fiat_solinas64 0.28
-2e511m481 fiat_solinas64 0.28
-2e512m569 fiat_solinas64 0.28
-2e521m1 fiat_solinas64 0.18
-2e127m1 gmpvar64 0.15
-2e129m25 gmpvar64 0.27
-2e129m25 gmpvar64 0.27
-2e130m5 gmpvar64 0.27
-2e130m5 gmpvar64 0.27
-2e137m13 gmpvar64 0.27
-2e137m13 gmpvar64 0.27
-2e140m27 gmpvar64 0.27
-2e140m27 gmpvar64 0.30
-2e141m9 gmpvar64 0.27
-2e141m9 gmpvar64 0.27
-2e150m3 gmpvar64 0.27
-2e150m3 gmpvar64 0.27
-2e150m5 gmpvar64 0.27
-2e150m5 gmpvar64 0.27
-2e152m17 gmpvar64 0.27
-2e152m17 gmpvar64 0.27
-2e158m15 gmpvar64 0.27
-2e158m15 gmpvar64 0.31
-2e165m25 gmpvar64 0.27
-2e165m25 gmpvar64 0.27
-2e166m5 gmpvar64 0.28
-2e166m5 gmpvar64 0.27
-2e171m19 gmpvar64 0.27
-2e171m19 gmpvar64 0.27
-2e174m17 gmpvar64 0.27
-2e174m17 gmpvar64 0.27
-2e174m3 gmpvar64 0.27
-2e174m3 gmpvar64 0.27
-2e189m25 gmpvar64 0.27
-2e189m25 gmpvar64 0.27
-2e190m11 gmpvar64 0.27
-2e190m11 gmpvar64 0.27
-2e191m19 gmpvar64 0.26
-2e191m19 gmpvar64 0.26
-2e192m2e64m1 gmpvar64 0.24
-2e192m2e64m1 gmpvar64 0.24
-2e194m33 gmpvar64 0.35
-2e194m33 gmpvar64 0.34
-2e196m15 gmpvar64 0.34
-2e196m15 gmpvar64 0.34
-2e198m17 gmpvar64 0.34
-2e198m17 gmpvar64 0.34
-2e206m5 gmpvar64 0.34
-2e206m5 gmpvar64 0.34
-2e212m29 gmpvar64 0.34
-2e212m29 gmpvar64 0.34
-2e213m3 gmpvar64 0.35
-2e213m3 gmpvar64 0.35
-2e216m2e108m1 gmpvar64 0.35
-2e216m2e108m1 gmpvar64 0.35
-2e221m3 gmpvar64 0.35
-2e221m3 gmpvar64 0.35
-2e222m117 gmpvar64 0.34
-2e222m117 gmpvar64 0.35
-2e224m2e96p1 gmpvar64 0.35
-2e224m2e96p1 gmpvar64 0.34
-2e226m5 gmpvar64 0.34
-2e226m5 gmpvar64 0.34
-2e230m27 gmpvar64 0.34
-2e230m27 gmpvar64 0.34
-2e235m15 gmpvar64 0.34
-2e235m15 gmpvar64 0.34
-2e243m9 gmpvar64 0.34
-2e243m9 gmpvar64 0.34
-2e251m9 gmpvar64 0.35
-2e251m9 gmpvar64 0.35
-2e255m19 gmpvar64 0.33
-2e255m19 gmpvar64 0.33
-2e255m765 gmpvar64 0.33
-2e255m765 gmpvar64 0.33
-2e256m189 gmpvar64 0.33
-2e256m189 gmpvar64 0.34
-2e256m2e224p2e192p2e96m1 gmpvar64 0.33
-2e256m2e224p2e192p2e96m1 gmpvar64 0.34
-2e256m2e32m977 gmpvar64 0.33
-2e256m2e32m977 gmpvar64 0.35
-2e256m4294968273 gmpvar64 0.34
-2e256m4294968273 gmpvar64 0.34
-2e266m3 gmpvar64 0.43
-2e266m3 gmpvar64 0.43
-2e285m9 gmpvar64 0.43
-2e285m9 gmpvar64 0.43
-2e291m19 gmpvar64 0.46
-2e291m19 gmpvar64 0.42
-2e321m9 gmpvar64 0.52
-2e321m9 gmpvar64 0.52
-2e322m2e161m1 gmpvar64 0.52
-2e322m2e161m1 gmpvar64 0.52
-2e336m17 gmpvar64 0.52
-2e336m17 gmpvar64 0.52
-2e336m3 gmpvar64 0.52
-2e336m3 gmpvar64 0.52
-2e338m15 gmpvar64 0.53
-2e338m15 gmpvar64 0.53
-2e369m25 gmpvar64 0.53
-2e369m25 gmpvar64 0.53
-2e379m19 gmpvar64 0.53
-2e379m19 gmpvar64 0.53
-2e382m105 gmpvar64 0.53
-2e382m105 gmpvar64 0.53
-2e383m187 gmpvar64 0.49
-2e383m187 gmpvar64 0.49
-2e383m31 gmpvar64 0.51
-2e383m31 gmpvar64 0.50
-2e383m421 gmpvar64 0.50
-2e383m421 gmpvar64 0.50
-2e384m2e128m2e96p2e32m1 gmpvar64 0.46
-2e384m2e128m2e96p2e32m1 gmpvar64 0.46
-2e384m317 gmpvar64 0.46
-2e384m317 gmpvar64 0.46
-2e389m21 gmpvar64 0.59
-2e389m21 gmpvar64 0.59
-2e401m31 gmpvar64 0.60
-2e401m31 gmpvar64 0.59
-2e413m21 gmpvar64 0.60
-2e413m21 gmpvar64 0.59
-2e414m17 gmpvar64 0.60
-2e414m17 gmpvar64 0.59
-2e416m2e208m1 gmpvar64 0.60
-2e416m2e208m1 gmpvar64 0.59
-2e444m17 gmpvar64 0.60
-2e444m17 gmpvar64 0.64
-2e448m2e224m1 gmpvar64 0.54
-2e448m2e224m1 gmpvar64 0.55
-2e450m2e225m1 gmpvar64 0.69
-2e450m2e225m1 gmpvar64 0.69
-2e452m3 gmpvar64 0.71
-2e452m3 gmpvar64 0.68
-2e468m17 gmpvar64 0.68
-2e468m17 gmpvar64 0.69
-2e480m2e240m1 gmpvar64 0.69
-2e480m2e240m1 gmpvar64 0.69
-2e488m17 gmpvar64 0.69
-2e488m17 gmpvar64 0.69
-2e489m21 gmpvar64 0.69
-2e489m21 gmpvar64 0.70
-2e495m31 gmpvar64 0.69
-2e495m31 gmpvar64 0.69
-2e511m187 gmpvar64 0.65
-2e511m187 gmpvar64 0.65
-2e511m481 gmpvar64 0.65
-2e511m481 gmpvar64 0.65
-2e512m569 gmpvar64 0.64
-2e512m569 gmpvar64 0.61
-2e521m1 gmpvar64 0.81
-2e521m1 gmpvar64 0.81
-2e127m1 gmpsec64 0.26
-2e129m25 gmpsec64 0.38
-2e129m25 gmpsec64 0.40
-2e130m5 gmpsec64 0.38
-2e130m5 gmpsec64 0.38
-2e137m13 gmpsec64 0.37
-2e137m13 gmpsec64 0.38
-2e140m27 gmpsec64 0.37
-2e140m27 gmpsec64 0.37
-2e141m9 gmpsec64 0.38
-2e141m9 gmpsec64 0.37
-2e150m3 gmpsec64 0.37
-2e150m3 gmpsec64 0.37
-2e150m5 gmpsec64 0.37
-2e150m5 gmpsec64 0.38
-2e152m17 gmpsec64 0.37
-2e152m17 gmpsec64 0.38
-2e158m15 gmpsec64 0.38
-2e158m15 gmpsec64 0.37
-2e165m25 gmpsec64 0.38
-2e165m25 gmpsec64 0.39
-2e166m5 gmpsec64 0.39
-2e166m5 gmpsec64 0.38
-2e171m19 gmpsec64 0.37
-2e171m19 gmpsec64 0.37
-2e174m17 gmpsec64 0.38
-2e174m17 gmpsec64 0.37
-2e174m3 gmpsec64 0.37
-2e174m3 gmpsec64 0.37
-2e189m25 gmpsec64 0.37
-2e189m25 gmpsec64 0.37
-2e190m11 gmpsec64 0.37
-2e190m11 gmpsec64 0.37
-2e191m19 gmpsec64 0.36
-2e191m19 gmpsec64 0.36
-2e192m2e64m1 gmpsec64 0.28
-2e192m2e64m1 gmpsec64 0.27
-2e194m33 gmpsec64 0.50
-2e194m33 gmpsec64 0.50
-2e196m15 gmpsec64 0.50
-2e196m15 gmpsec64 0.49
-2e198m17 gmpsec64 0.50
-2e198m17 gmpsec64 0.50
-2e206m5 gmpsec64 0.49
-2e206m5 gmpsec64 0.50
-2e212m29 gmpsec64 0.49
-2e212m29 gmpsec64 0.50
-2e213m3 gmpsec64 0.49
-2e213m3 gmpsec64 0.53
-2e216m2e108m1 gmpsec64 0.54
-2e216m2e108m1 gmpsec64 0.49
-2e221m3 gmpsec64 0.52
-2e221m3 gmpsec64 0.49
-2e222m117 gmpsec64 0.49
-2e222m117 gmpsec64 0.49
-2e224m2e96p1 gmpsec64 0.49
-2e224m2e96p1 gmpsec64 0.49
-2e226m5 gmpsec64 0.49
-2e226m5 gmpsec64 0.49
-2e230m27 gmpsec64 0.49
-2e230m27 gmpsec64 0.49
-2e235m15 gmpsec64 0.49
-2e235m15 gmpsec64 0.50
-2e243m9 gmpsec64 0.50
-2e243m9 gmpsec64 0.50
-2e251m9 gmpsec64 0.49
-2e251m9 gmpsec64 0.49
-2e255m19 gmpsec64 0.47
-2e255m19 gmpsec64 0.47
-2e255m765 gmpsec64 0.47
-2e255m765 gmpsec64 0.47
-2e256m189 gmpsec64 0.38
-2e256m189 gmpsec64 0.38
-2e256m2e224p2e192p2e96m1 gmpsec64 0.37
-2e256m2e224p2e192p2e96m1 gmpsec64 0.37
-2e256m2e32m977 gmpsec64 0.37
-2e256m2e32m977 gmpsec64 0.37
-2e256m4294968273 gmpsec64 0.37
-2e256m4294968273 gmpsec64 0.37
-2e266m3 gmpsec64 0.64
-2e266m3 gmpsec64 0.63
-2e285m9 gmpsec64 0.65
-2e285m9 gmpsec64 0.65
-2e291m19 gmpsec64 0.64
-2e291m19 gmpsec64 0.64
-2e321m9 gmpsec64 0.80
-2e321m9 gmpsec64 0.79
-2e322m2e161m1 gmpsec64 0.79
-2e322m2e161m1 gmpsec64 0.79
-2e336m17 gmpsec64 0.80
-2e336m17 gmpsec64 0.80
-2e336m3 gmpsec64 0.80
-2e336m3 gmpsec64 0.80
-2e338m15 gmpsec64 0.79
-2e338m15 gmpsec64 0.79
-2e369m25 gmpsec64 0.79
-2e369m25 gmpsec64 0.79
-2e379m19 gmpsec64 0.79
-2e379m19 gmpsec64 0.80
-2e382m105 gmpsec64 0.79
-2e382m105 gmpsec64 0.84
-2e383m187 gmpsec64 0.74
-2e383m187 gmpsec64 0.75
-2e383m31 gmpsec64 0.74
-2e383m31 gmpsec64 0.75
-2e383m421 gmpsec64 0.75
-2e383m421 gmpsec64 0.74
-2e384m2e128m2e96p2e32m1 gmpsec64 0.62
-2e384m2e128m2e96p2e32m1 gmpsec64 0.62
-2e384m317 gmpsec64 0.62
-2e384m317 gmpsec64 0.62
-2e389m21 gmpsec64 0.96
-2e389m21 gmpsec64 0.96
-2e401m31 gmpsec64 0.95
-2e401m31 gmpsec64 0.96
-2e413m21 gmpsec64 0.96
-2e413m21 gmpsec64 0.96
-2e414m17 gmpsec64 0.96
-2e414m17 gmpsec64 0.96
-2e416m2e208m1 gmpsec64 0.97
-2e416m2e208m1 gmpsec64 0.96
-2e444m17 gmpsec64 0.96
-2e444m17 gmpsec64 0.95
-2e448m2e224m1 gmpsec64 0.79
-2e448m2e224m1 gmpsec64 0.77
-2e450m2e225m1 gmpsec64 1.17
-2e450m2e225m1 gmpsec64 1.17
-2e452m3 gmpsec64 1.16
-2e452m3 gmpsec64 1.17
-2e468m17 gmpsec64 1.17
-2e468m17 gmpsec64 1.17
-2e480m2e240m1 gmpsec64 1.18
-2e480m2e240m1 gmpsec64 1.15
-2e488m17 gmpsec64 1.15
-2e488m17 gmpsec64 1.18
-2e489m21 gmpsec64 1.16
-2e489m21 gmpsec64 1.15
-2e495m31 gmpsec64 1.15
-2e495m31 gmpsec64 1.16
-2e511m187 gmpsec64 1.11
-2e511m187 gmpsec64 1.10
-2e511m481 gmpsec64 1.10
-2e511m481 gmpsec64 1.10
-2e512m569 gmpsec64 0.95
-2e512m569 gmpsec64 0.95
-2e521m1 gmpsec64 1.41
-2e521m1 gmpsec64 1.37
-2e127m1 gmpxx64 0.61
-2e129m25 gmpxx64 0.78
-2e129m25 gmpxx64 0.78
-2e130m5 gmpxx64 0.77
-2e130m5 gmpxx64 0.78
-2e137m13 gmpxx64 0.80
-2e137m13 gmpxx64 0.81
-2e140m27 gmpxx64 0.80
-2e140m27 gmpxx64 0.80
-2e141m9 gmpxx64 0.89
-2e141m9 gmpxx64 0.79
-2e150m3 gmpxx64 0.79
-2e150m3 gmpxx64 0.79
-2e150m5 gmpxx64 0.81
-2e150m5 gmpxx64 0.79
-2e152m17 gmpxx64 0.79
-2e152m17 gmpxx64 0.80
-2e158m15 gmpxx64 0.75
-2e158m15 gmpxx64 0.75
-2e165m25 gmpxx64 0.79
-2e165m25 gmpxx64 0.79
-2e166m5 gmpxx64 0.78
-2e166m5 gmpxx64 0.77
-2e171m19 gmpxx64 0.78
-2e171m19 gmpxx64 0.78
-2e174m17 gmpxx64 0.78
-2e174m17 gmpxx64 0.77
-2e174m3 gmpxx64 0.78
-2e174m3 gmpxx64 0.78
-2e189m25 gmpxx64 0.90
-2e189m25 gmpxx64 0.78
-2e190m11 gmpxx64 0.79
-2e190m11 gmpxx64 0.78
-2e191m19 gmpxx64 0.78
-2e191m19 gmpxx64 0.78
-2e192m2e64m1 gmpxx64 0.71
-2e192m2e64m1 gmpxx64 0.70
-2e194m33 gmpxx64 0.92
-2e194m33 gmpxx64 0.94
-2e196m15 gmpxx64 0.87
-2e196m15 gmpxx64 0.87
-2e198m17 gmpxx64 0.85
-2e198m17 gmpxx64 0.85
-2e206m5 gmpxx64 0.85
-2e206m5 gmpxx64 0.85
-2e212m29 gmpxx64 0.87
-2e212m29 gmpxx64 0.87
-2e213m3 gmpxx64 0.87
-2e213m3 gmpxx64 0.89
-2e216m2e108m1 gmpxx64 0.84
-2e216m2e108m1 gmpxx64 0.84
-2e221m3 gmpxx64 0.87
-2e221m3 gmpxx64 0.88
-2e222m117 gmpxx64 0.87
-2e222m117 gmpxx64 0.87
-2e224m2e96p1 gmpxx64 0.87
-2e224m2e96p1 gmpxx64 0.85
-2e226m5 gmpxx64 0.87
-2e226m5 gmpxx64 0.87
-2e230m27 gmpxx64 0.87
-2e230m27 gmpxx64 0.87
-2e235m15 gmpxx64 0.86
-2e235m15 gmpxx64 0.87
-2e243m9 gmpxx64 0.89
-2e243m9 gmpxx64 0.88
-2e251m9 gmpxx64 0.89
-2e251m9 gmpxx64 0.89
-2e255m19 gmpxx64 0.87
-2e255m19 gmpxx64 0.87
-2e255m765 gmpxx64 0.86
-2e255m765 gmpxx64 0.88
-2e256m189 gmpxx64 0.84
-2e256m189 gmpxx64 0.84
-2e256m2e224p2e192p2e96m1 gmpxx64 0.85
-2e256m2e224p2e192p2e96m1 gmpxx64 0.85
-2e256m2e32m977 gmpxx64 0.86
-2e256m2e32m977 gmpxx64 0.84
-2e256m4294968273 gmpxx64 0.84
-2e256m4294968273 gmpxx64 0.84
-2e266m3 gmpxx64 1.13
-2e266m3 gmpxx64 0.98
-2e285m9 gmpxx64 0.97
-2e285m9 gmpxx64 0.97
-2e291m19 gmpxx64 1.02
-2e291m19 gmpxx64 0.98
-2e321m9 gmpxx64 1.14
-2e321m9 gmpxx64 1.15
-2e322m2e161m1 gmpxx64 1.12
-2e322m2e161m1 gmpxx64 1.12
-2e336m17 gmpxx64 1.08
-2e336m17 gmpxx64 1.07
-2e336m3 gmpxx64 1.06
-2e336m3 gmpxx64 1.05
-2e338m15 gmpxx64 1.06
-2e338m15 gmpxx64 1.06
-2e369m25 gmpxx64 1.07
-2e369m25 gmpxx64 1.07
-2e379m19 gmpxx64 1.17
-2e379m19 gmpxx64 1.06
-2e382m105 gmpxx64 1.08
-2e382m105 gmpxx64 1.06
-2e383m187 gmpxx64 1.11
-2e383m187 gmpxx64 1.02
-2e383m31 gmpxx64 1.02
-2e383m31 gmpxx64 1.03
-2e383m421 gmpxx64 1.02
-2e383m421 gmpxx64 1.02
-2e384m2e128m2e96p2e32m1 gmpxx64 0.96
-2e384m2e128m2e96p2e32m1 gmpxx64 0.97
-2e384m317 gmpxx64 0.98
-2e384m317 gmpxx64 0.97
-2e389m21 gmpxx64 1.18
-2e389m21 gmpxx64 1.17
-2e401m31 gmpxx64 1.15
-2e401m31 gmpxx64 1.16
-2e413m21 gmpxx64 1.16
-2e413m21 gmpxx64 1.16
-2e414m17 gmpxx64 1.16
-2e414m17 gmpxx64 1.15
-2e416m2e208m1 gmpxx64 1.18
-2e416m2e208m1 gmpxx64 1.15
-2e444m17 gmpxx64 1.16
-2e444m17 gmpxx64 1.16
-2e448m2e224m1 gmpxx64 1.04
-2e448m2e224m1 gmpxx64 1.05
-2e450m2e225m1 gmpxx64 1.33
-2e450m2e225m1 gmpxx64 1.34
-2e452m3 gmpxx64 1.28
-2e452m3 gmpxx64 1.32
-2e468m17 gmpxx64 1.24
-2e468m17 gmpxx64 1.24
-2e480m2e240m1 gmpxx64 1.25
-2e480m2e240m1 gmpxx64 1.26
-2e488m17 gmpxx64 1.27
-2e488m17 gmpxx64 1.40
-2e489m21 gmpxx64 1.25
-2e489m21 gmpxx64 1.26
-2e495m31 gmpxx64 1.27
-2e495m31 gmpxx64 1.26
-2e511m187 gmpxx64 1.21
-2e511m187 gmpxx64 1.19
-2e511m481 gmpxx64 1.20
-2e511m481 gmpxx64 1.19
-2e512m569 gmpxx64 1.14
-2e512m569 gmpxx64 1.14
-2e521m1 gmpxx64 1.36
-2e521m1 gmpxx64 1.41
diff --git a/measurements/2017-11-16/bench-android.sh b/measurements/2017-11-16/bench-android.sh
deleted file mode 100755
index f644ce49f..000000000
--- a/measurements/2017-11-16/bench-android.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-set -e
-export PATH="$PATH:$HOME/android-toolchain/bin/"
-for p in $(cat primes.txt | sed 's:#.*::g' | grep . | tr -d ' ' | tr '^*+-' 'expm'); do
- for synth in solinas32 montgomery32; do
- impls=$(ls -d "src/Specific/${synth}_${p}_"*"limbs" 2>/dev/null || true)
- if [ -z "$impls" ]; then
- printf "# MISSING src/Specific/%s_%s_*limbs\n" "$synth" "$p";
- continue
- fi
- for impl in $impls; do
- if ! sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impl/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impl\" \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/fibe.c \
- -o /tmp/main" \
- > /dev/null 2> /dev/null
- then
- printf "# MISSING %s\n" "$impl/fibe"
- continue
- fi
- adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null
- printf "$impl/fibe"
- adb shell "time /data/local/tmp/main 2>/dev/null" | sed 's:0m::g' | sed 's:s\sreal.*::g'
- done
- done
- for ref in gmpvar gmpsec; do
- impl=$(ls -d "src/Specific/montgomery32_$p"* 2>/dev/null || true)
- if ! sh -c "arm-linux-androideabi-gcc -pie \
- $(tail -1 "$impl/compiler.sh" | tr ' ' '\n' | grep -A99999 -- -D | grep -v '"$@"' | tr '\n' ' ') \
- -I \"$impl\" \
- -I ~/android-toolchain/gmp-6.1.2/ \
- -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing \
- src/Specific/Framework/bench/$ref.c \
- $HOME/android-toolchain/gmp-6.1.2/.libs/libgmp.a \
- -o /tmp/main" \
- > /dev/null 2> /dev/null
- then
- printf "# MISSING %s\n" "$impl/$ref"
- continue
- fi
- adb push /tmp/main /data/local/tmp/main >/dev/null 2>/dev/null
- printf "$impl/$ref"
- adb shell "time /data/local/tmp/main 2>/dev/null" | sed 's:0m::g' | sed 's:s\sreal.*::g'
- done
-done
-
diff --git a/measurements/2017-11-16/bench.sh b/measurements/2017-11-16/bench.sh
deleted file mode 100644
index f7d882f3c..000000000
--- a/measurements/2017-11-16/bench.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-set -e
-for p in $(cat primes.txt | sed 's:#.*::g' | grep . | tr -d ' ' | tr '^*+-' 'expm'); do
- for synth in solinas64 solinas32 montgomery64 montgomery32; do
- impls=$(ls -d "src/Specific/${synth}_${p}_"*"limbs" 2>/dev/null || true)
- if [ -z "$impls" ]; then
- printf "# MISSING src/Specific/%s_%s_*limbs\n" "$synth" "$p";
- continue
- fi
- for impl in $impls; do
- if [ ! -x "$impl/fibe" ]; then
- printf "# MISSING %s\n" "$impl/fibe"
- continue
- fi
- /usr/bin/time -f "$impl/fibe\t%e" "$impl/fibe" 2>&1
- done
- done
- for ref in gmpvar gmpsec gmpxx; do
- impl=$(ls -d "src/Specific/montgomery64_$p"* 2>/dev/null || true)
- if [ ! -x "$impl/$ref" ]; then
- printf "# MISSING %s\n" "$impl/$ref"
- continue
- fi
- /usr/bin/time -f "$impl/$ref\t%e" "$impl/$ref" 2>&1
- done
-done
diff --git a/measurements/2017-11-16/measurements-haswell.txt b/measurements/2017-11-16/measurements-haswell.txt
deleted file mode 100644
index da6155575..000000000
--- a/measurements/2017-11-16/measurements-haswell.txt
+++ /dev/null
@@ -1,713 +0,0 @@
-src/Specific/solinas64_2e127m1_3limbs/fibe 0.03
-src/Specific/solinas32_2e127m1_5limbs/fibe 0.04
-src/Specific/solinas32_2e127m1_6limbs/fibe 0.05
-src/Specific/montgomery64_2e127m1_2limbs/fibe 0.04
-src/Specific/montgomery32_2e127m1_4limbs/fibe 0.12
-src/Specific/montgomery64_2e127m1_2limbs/gmpvar 0.15
-src/Specific/montgomery64_2e127m1_2limbs/gmpsec 0.26
-src/Specific/montgomery64_2e127m1_2limbs/gmpxx 0.67
-src/Specific/solinas64_2e129m25_3limbs/fibe 0.03
-src/Specific/solinas64_2e129m25_4limbs/fibe 0.04
-src/Specific/solinas32_2e129m25_5limbs/fibe 0.03
-src/Specific/solinas32_2e129m25_6limbs/fibe 0.06
-src/Specific/montgomery64_2e129m25_3limbs/fibe 0.07
-src/Specific/montgomery32_2e129m25_5limbs/fibe 0.18
-src/Specific/montgomery64_2e129m25_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e129m25_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e129m25_3limbs/gmpxx 0.80
-src/Specific/solinas64_2e130m5_3limbs/fibe 0.04
-src/Specific/solinas64_2e130m5_4limbs/fibe 0.04
-src/Specific/solinas32_2e130m5_5limbs/fibe 0.03
-src/Specific/solinas32_2e130m5_6limbs/fibe 0.06
-src/Specific/montgomery64_2e130m5_3limbs/fibe 0.09
-src/Specific/montgomery32_2e130m5_5limbs/fibe 0.19
-src/Specific/montgomery64_2e130m5_3limbs/gmpvar 0.28
-src/Specific/montgomery64_2e130m5_3limbs/gmpsec 0.39
-src/Specific/montgomery64_2e130m5_3limbs/gmpxx 0.79
-src/Specific/solinas64_2e137m13_3limbs/fibe 0.03
-src/Specific/solinas64_2e137m13_4limbs/fibe 0.04
-# MISSING src/Specific/solinas32_2e137m13_5limbs/fibe
-src/Specific/solinas32_2e137m13_6limbs/fibe 0.06
-src/Specific/montgomery64_2e137m13_3limbs/fibe 0.08
-src/Specific/montgomery32_2e137m13_5limbs/fibe 0.19
-src/Specific/montgomery64_2e137m13_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e137m13_3limbs/gmpsec 0.37
-src/Specific/montgomery64_2e137m13_3limbs/gmpxx 0.80
-src/Specific/solinas64_2e140m27_3limbs/fibe 0.03
-src/Specific/solinas64_2e140m27_4limbs/fibe 0.04
-src/Specific/solinas32_2e140m27_6limbs/fibe 0.06
-src/Specific/solinas32_2e140m27_7limbs/fibe 0.07
-src/Specific/montgomery64_2e140m27_3limbs/fibe 0.08
-src/Specific/montgomery32_2e140m27_5limbs/fibe 0.19
-src/Specific/montgomery64_2e140m27_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e140m27_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e140m27_3limbs/gmpxx 0.80
-src/Specific/solinas64_2e141m9_3limbs/fibe 0.03
-src/Specific/solinas64_2e141m9_4limbs/fibe 0.04
-src/Specific/solinas32_2e141m9_6limbs/fibe 0.06
-src/Specific/solinas32_2e141m9_7limbs/fibe 0.07
-src/Specific/montgomery64_2e141m9_3limbs/fibe 0.08
-src/Specific/montgomery32_2e141m9_5limbs/fibe 0.19
-src/Specific/montgomery64_2e141m9_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e141m9_3limbs/gmpsec 0.39
-src/Specific/montgomery64_2e141m9_3limbs/gmpxx 0.83
-src/Specific/solinas64_2e150m5_3limbs/fibe 0.03
-src/Specific/solinas64_2e150m5_4limbs/fibe 0.04
-src/Specific/solinas32_2e150m5_6limbs/fibe 0.06
-src/Specific/solinas32_2e150m5_7limbs/fibe 0.07
-src/Specific/montgomery64_2e150m5_3limbs/fibe 0.08
-src/Specific/montgomery32_2e150m5_5limbs/fibe 0.19
-src/Specific/montgomery64_2e150m5_3limbs/gmpvar 0.29
-src/Specific/montgomery64_2e150m5_3limbs/gmpsec 0.39
-src/Specific/montgomery64_2e150m5_3limbs/gmpxx 0.84
-src/Specific/solinas64_2e150m3_3limbs/fibe 0.03
-src/Specific/solinas64_2e150m3_4limbs/fibe 0.04
-src/Specific/solinas32_2e150m3_6limbs/fibe 0.06
-src/Specific/solinas32_2e150m3_7limbs/fibe 0.07
-src/Specific/montgomery64_2e150m3_3limbs/fibe 0.08
-src/Specific/montgomery32_2e150m3_5limbs/fibe 0.19
-src/Specific/montgomery64_2e150m3_3limbs/gmpvar 0.30
-src/Specific/montgomery64_2e150m3_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e150m3_3limbs/gmpxx 0.80
-src/Specific/solinas64_2e152m17_3limbs/fibe 0.03
-src/Specific/solinas64_2e152m17_4limbs/fibe 0.04
-src/Specific/solinas32_2e152m17_6limbs/fibe 0.06
-src/Specific/solinas32_2e152m17_7limbs/fibe 0.08
-src/Specific/montgomery64_2e152m17_3limbs/fibe 0.08
-src/Specific/montgomery32_2e152m17_5limbs/fibe 0.20
-src/Specific/montgomery64_2e152m17_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e152m17_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e152m17_3limbs/gmpxx 0.82
-src/Specific/solinas64_2e158m15_3limbs/fibe 0.03
-src/Specific/solinas64_2e158m15_4limbs/fibe 0.04
-src/Specific/solinas32_2e158m15_6limbs/fibe 0.06
-src/Specific/solinas32_2e158m15_7limbs/fibe 0.07
-src/Specific/montgomery64_2e158m15_3limbs/fibe 0.08
-src/Specific/montgomery32_2e158m15_5limbs/fibe 0.19
-src/Specific/montgomery64_2e158m15_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e158m15_3limbs/gmpsec 0.37
-src/Specific/montgomery64_2e158m15_3limbs/gmpxx 0.76
-src/Specific/solinas64_2e165m25_3limbs/fibe 0.03
-src/Specific/solinas64_2e165m25_4limbs/fibe 0.04
-src/Specific/solinas32_2e165m25_7limbs/fibe 0.07
-src/Specific/solinas32_2e165m25_8limbs/fibe 0.10
-src/Specific/montgomery64_2e165m25_3limbs/fibe 0.08
-src/Specific/montgomery32_2e165m25_6limbs/fibe 0.27
-src/Specific/montgomery64_2e165m25_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e165m25_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e165m25_3limbs/gmpxx 0.78
-src/Specific/solinas64_2e166m5_3limbs/fibe 0.03
-src/Specific/solinas64_2e166m5_4limbs/fibe 0.04
-# MISSING src/Specific/solinas32_2e166m5_6limbs/fibe
-src/Specific/solinas32_2e166m5_7limbs/fibe 0.07
-src/Specific/montgomery64_2e166m5_3limbs/fibe 0.08
-src/Specific/montgomery32_2e166m5_6limbs/fibe 0.27
-src/Specific/montgomery64_2e166m5_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e166m5_3limbs/gmpsec 0.39
-src/Specific/montgomery64_2e166m5_3limbs/gmpxx 0.79
-src/Specific/solinas64_2e171m19_3limbs/fibe 0.03
-src/Specific/solinas64_2e171m19_4limbs/fibe 0.04
-src/Specific/solinas32_2e171m19_7limbs/fibe 0.07
-src/Specific/solinas32_2e171m19_8limbs/fibe 0.10
-src/Specific/montgomery64_2e171m19_3limbs/fibe 0.08
-src/Specific/montgomery32_2e171m19_6limbs/fibe 0.27
-src/Specific/montgomery64_2e171m19_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e171m19_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e171m19_3limbs/gmpxx 0.79
-src/Specific/solinas64_2e174m17_3limbs/fibe 0.03
-src/Specific/solinas64_2e174m17_4limbs/fibe 0.04
-src/Specific/solinas32_2e174m17_7limbs/fibe 0.07
-src/Specific/solinas32_2e174m17_8limbs/fibe 0.09
-src/Specific/montgomery64_2e174m17_3limbs/fibe 0.08
-src/Specific/montgomery32_2e174m17_6limbs/fibe 0.28
-src/Specific/montgomery64_2e174m17_3limbs/gmpvar 0.28
-src/Specific/montgomery64_2e174m17_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e174m17_3limbs/gmpxx 0.78
-src/Specific/solinas64_2e174m3_3limbs/fibe 0.03
-src/Specific/solinas64_2e174m3_4limbs/fibe 0.04
-src/Specific/solinas32_2e174m3_7limbs/fibe 0.07
-src/Specific/solinas32_2e174m3_8limbs/fibe 0.09
-src/Specific/montgomery64_2e174m3_3limbs/fibe 0.08
-src/Specific/montgomery32_2e174m3_6limbs/fibe 0.27
-src/Specific/montgomery64_2e174m3_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e174m3_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e174m3_3limbs/gmpxx 0.78
-src/Specific/solinas64_2e189m25_4limbs/fibe 0.04
-src/Specific/solinas64_2e189m25_5limbs/fibe 0.06
-# MISSING src/Specific/solinas32_2e189m25_7limbs/fibe
-src/Specific/solinas32_2e189m25_8limbs/fibe 0.09
-src/Specific/montgomery64_2e189m25_3limbs/fibe 0.08
-src/Specific/montgomery32_2e189m25_6limbs/fibe 0.27
-src/Specific/montgomery64_2e189m25_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e189m25_3limbs/gmpsec 0.39
-src/Specific/montgomery64_2e189m25_3limbs/gmpxx 0.80
-src/Specific/solinas64_2e190m11_4limbs/fibe 0.04
-src/Specific/solinas64_2e190m11_5limbs/fibe 0.06
-# MISSING src/Specific/solinas32_2e190m11_7limbs/fibe
-src/Specific/solinas32_2e190m11_8limbs/fibe 0.09
-src/Specific/montgomery64_2e190m11_3limbs/fibe 0.08
-src/Specific/montgomery32_2e190m11_6limbs/fibe 0.27
-src/Specific/montgomery64_2e190m11_3limbs/gmpvar 0.27
-src/Specific/montgomery64_2e190m11_3limbs/gmpsec 0.38
-src/Specific/montgomery64_2e190m11_3limbs/gmpxx 0.78
-src/Specific/solinas64_2e191m19_4limbs/fibe 0.04
-src/Specific/solinas64_2e191m19_5limbs/fibe 0.06
-src/Specific/solinas32_2e191m19_8limbs/fibe 0.10
-src/Specific/solinas32_2e191m19_9limbs/fibe 0.11
-src/Specific/montgomery64_2e191m19_3limbs/fibe 0.09
-src/Specific/montgomery32_2e191m19_6limbs/fibe 0.27
-src/Specific/montgomery64_2e191m19_3limbs/gmpvar 0.26
-src/Specific/montgomery64_2e191m19_3limbs/gmpsec 0.36
-src/Specific/montgomery64_2e191m19_3limbs/gmpxx 0.78
-src/Specific/solinas64_2e194m33_4limbs/fibe 0.04
-src/Specific/solinas64_2e194m33_5limbs/fibe 0.06
-src/Specific/solinas32_2e194m33_8limbs/fibe 0.09
-src/Specific/solinas32_2e194m33_9limbs/fibe 0.11
-src/Specific/montgomery64_2e194m33_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e194m33_7limbs/fibe
-src/Specific/montgomery64_2e194m33_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e194m33_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e194m33_4limbs/gmpxx 0.93
-src/Specific/solinas64_2e196m15_4limbs/fibe 0.04
-src/Specific/solinas64_2e196m15_5limbs/fibe 0.06
-src/Specific/solinas32_2e196m15_8limbs/fibe 0.09
-src/Specific/solinas32_2e196m15_9limbs/fibe 0.11
-src/Specific/montgomery64_2e196m15_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e196m15_7limbs/fibe
-src/Specific/montgomery64_2e196m15_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e196m15_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e196m15_4limbs/gmpxx 0.89
-src/Specific/solinas64_2e198m17_4limbs/fibe 0.04
-src/Specific/solinas64_2e198m17_5limbs/fibe 0.06
-src/Specific/solinas32_2e198m17_8limbs/fibe 0.09
-src/Specific/solinas32_2e198m17_9limbs/fibe 0.11
-src/Specific/montgomery64_2e198m17_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e198m17_7limbs/fibe
-src/Specific/montgomery64_2e198m17_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e198m17_4limbs/gmpsec 0.51
-src/Specific/montgomery64_2e198m17_4limbs/gmpxx 0.87
-src/Specific/solinas64_2e206m5_4limbs/fibe 0.04
-src/Specific/solinas64_2e206m5_5limbs/fibe 0.06
-src/Specific/solinas32_2e206m5_8limbs/fibe 0.08
-src/Specific/solinas32_2e206m5_9limbs/fibe 0.11
-src/Specific/montgomery64_2e206m5_4limbs/fibe 0.14
-# MISSING src/Specific/montgomery32_2e206m5_7limbs/fibe
-src/Specific/montgomery64_2e206m5_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e206m5_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e206m5_4limbs/gmpxx 0.84
-src/Specific/solinas64_2e212m29_4limbs/fibe 0.05
-src/Specific/solinas64_2e212m29_5limbs/fibe 0.06
-# MISSING src/Specific/solinas32_2e212m29_8limbs/fibe
-src/Specific/solinas32_2e212m29_9limbs/fibe 0.11
-src/Specific/montgomery64_2e212m29_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e212m29_7limbs/fibe
-src/Specific/montgomery64_2e212m29_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e212m29_4limbs/gmpsec 0.49
-src/Specific/montgomery64_2e212m29_4limbs/gmpxx 0.87
-src/Specific/solinas64_2e213m3_4limbs/fibe 0.04
-src/Specific/solinas64_2e213m3_5limbs/fibe 0.06
-src/Specific/solinas32_2e213m3_8limbs/fibe 0.09
-src/Specific/solinas32_2e213m3_9limbs/fibe 0.11
-src/Specific/montgomery64_2e213m3_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e213m3_7limbs/fibe
-src/Specific/montgomery64_2e213m3_4limbs/gmpvar 0.37
-src/Specific/montgomery64_2e213m3_4limbs/gmpsec 0.49
-src/Specific/montgomery64_2e213m3_4limbs/gmpxx 0.88
-src/Specific/solinas64_2e221m3_4limbs/fibe 0.05
-src/Specific/solinas64_2e221m3_5limbs/fibe 0.07
-# MISSING src/Specific/solinas32_2e221m3_8limbs/fibe
-src/Specific/solinas32_2e221m3_9limbs/fibe 0.10
-src/Specific/montgomery64_2e221m3_4limbs/fibe 0.15
-# MISSING src/Specific/montgomery32_2e221m3_7limbs/fibe
-src/Specific/montgomery64_2e221m3_4limbs/gmpvar 0.36
-src/Specific/montgomery64_2e221m3_4limbs/gmpsec 0.51
-src/Specific/montgomery64_2e221m3_4limbs/gmpxx 0.89
-src/Specific/solinas64_2e222m117_4limbs/fibe 0.05
-src/Specific/solinas64_2e222m117_5limbs/fibe 0.06
-src/Specific/solinas32_2e222m117_10limbs/fibe 0.13
-src/Specific/solinas32_2e222m117_9limbs/fibe 0.11
-src/Specific/montgomery64_2e222m117_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e222m117_7limbs/fibe
-src/Specific/montgomery64_2e222m117_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e222m117_4limbs/gmpsec 0.53
-src/Specific/montgomery64_2e222m117_4limbs/gmpxx 0.91
-src/Specific/solinas64_2e226m5_4limbs/fibe 0.04
-src/Specific/solinas64_2e226m5_5limbs/fibe 0.08
-src/Specific/solinas32_2e226m5_10limbs/fibe 0.13
-src/Specific/solinas32_2e226m5_9limbs/fibe 0.11
-src/Specific/montgomery64_2e226m5_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e226m5_8limbs/fibe
-src/Specific/montgomery64_2e226m5_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e226m5_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e226m5_4limbs/gmpxx 0.92
-src/Specific/solinas64_2e230m27_4limbs/fibe 0.05
-src/Specific/solinas64_2e230m27_5limbs/fibe 0.06
-src/Specific/solinas32_2e230m27_10limbs/fibe 0.13
-src/Specific/solinas32_2e230m27_9limbs/fibe 0.11
-src/Specific/montgomery64_2e230m27_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e230m27_8limbs/fibe
-src/Specific/montgomery64_2e230m27_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e230m27_4limbs/gmpsec 0.54
-src/Specific/montgomery64_2e230m27_4limbs/gmpxx 0.91
-src/Specific/solinas64_2e235m15_4limbs/fibe 0.06
-src/Specific/solinas64_2e235m15_5limbs/fibe 0.06
-src/Specific/solinas32_2e235m15_10limbs/fibe 0.13
-src/Specific/solinas32_2e235m15_9limbs/fibe 0.11
-src/Specific/montgomery64_2e235m15_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e235m15_8limbs/fibe
-src/Specific/montgomery64_2e235m15_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e235m15_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e235m15_4limbs/gmpxx 0.89
-src/Specific/solinas64_2e243m9_5limbs/fibe 0.06
-src/Specific/solinas64_2e243m9_6limbs/fibe 0.11
-src/Specific/solinas32_2e243m9_10limbs/fibe 0.12
-src/Specific/solinas32_2e243m9_9limbs/fibe 0.10
-src/Specific/montgomery64_2e243m9_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e243m9_8limbs/fibe
-src/Specific/montgomery64_2e243m9_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e243m9_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e243m9_4limbs/gmpxx 0.89
-src/Specific/solinas64_2e251m9_5limbs/fibe 0.06
-src/Specific/solinas64_2e251m9_6limbs/fibe 0.10
-src/Specific/solinas32_2e251m9_10limbs/fibe 0.13
-src/Specific/solinas32_2e251m9_11limbs/fibe 0.16
-src/Specific/montgomery64_2e251m9_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e251m9_8limbs/fibe
-src/Specific/montgomery64_2e251m9_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e251m9_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e251m9_4limbs/gmpxx 0.94
-src/Specific/solinas64_2e255m765_5limbs/fibe 0.06
-src/Specific/solinas64_2e255m765_6limbs/fibe 0.10
-src/Specific/solinas32_2e255m765_12limbs/fibe 0.18
-src/Specific/solinas32_2e255m765_13limbs/fibe 0.20
-src/Specific/montgomery64_2e255m765_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e255m765_8limbs/fibe
-src/Specific/montgomery64_2e255m765_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e255m765_4limbs/gmpsec 0.52
-src/Specific/montgomery64_2e255m765_4limbs/gmpxx 0.90
-src/Specific/solinas64_2e255m19_5limbs/fibe 0.06
-src/Specific/solinas64_2e255m19_6limbs/fibe 0.10
-src/Specific/solinas32_2e255m19_10limbs/fibe 0.15
-src/Specific/solinas32_2e255m19_11limbs/fibe 0.17
-src/Specific/montgomery64_2e255m19_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e255m19_8limbs/fibe
-src/Specific/montgomery64_2e255m19_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e255m19_4limbs/gmpsec 0.48
-src/Specific/montgomery64_2e255m19_4limbs/gmpxx 0.90
-src/Specific/solinas64_2e256m189_5limbs/fibe 0.06
-src/Specific/solinas64_2e256m189_6limbs/fibe 0.11
-src/Specific/solinas32_2e256m189_11limbs/fibe 0.15
-src/Specific/solinas32_2e256m189_12limbs/fibe 0.18
-src/Specific/montgomery64_2e256m189_4limbs/fibe 0.14
-# MISSING src/Specific/montgomery32_2e256m189_8limbs/fibe
-src/Specific/montgomery64_2e256m189_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e256m189_4limbs/gmpsec 0.38
-src/Specific/montgomery64_2e256m189_4limbs/gmpxx 0.87
-src/Specific/solinas64_2e266m3_5limbs/fibe 0.06
-src/Specific/solinas64_2e266m3_6limbs/fibe 0.10
-src/Specific/solinas32_2e266m3_10limbs/fibe 0.12
-src/Specific/solinas32_2e266m3_11limbs/fibe 0.15
-src/Specific/montgomery64_2e266m3_5limbs/fibe 0.18
-# MISSING src/Specific/montgomery32_2e266m3_9limbs/fibe
-src/Specific/montgomery64_2e266m3_5limbs/gmpvar 0.45
-src/Specific/montgomery64_2e266m3_5limbs/gmpsec 0.66
-src/Specific/montgomery64_2e266m3_5limbs/gmpxx 1.13
-src/Specific/solinas64_2e285m9_5limbs/fibe 0.06
-src/Specific/solinas64_2e285m9_6limbs/fibe 0.10
-src/Specific/solinas32_2e285m9_11limbs/fibe 0.15
-src/Specific/solinas32_2e285m9_12limbs/fibe 0.17
-src/Specific/montgomery64_2e285m9_5limbs/fibe 0.18
-# MISSING src/Specific/montgomery32_2e285m9_9limbs/fibe
-src/Specific/montgomery64_2e285m9_5limbs/gmpvar 0.43
-src/Specific/montgomery64_2e285m9_5limbs/gmpsec 0.73
-src/Specific/montgomery64_2e285m9_5limbs/gmpxx 0.97
-src/Specific/solinas64_2e291m19_5limbs/fibe 0.07
-src/Specific/solinas64_2e291m19_6limbs/fibe 0.10
-# MISSING src/Specific/solinas32_2e291m19_11limbs/fibe
-src/Specific/solinas32_2e291m19_12limbs/fibe 0.18
-src/Specific/montgomery64_2e291m19_5limbs/fibe 0.18
-# MISSING src/Specific/montgomery32_2e291m19_10limbs/fibe
-src/Specific/montgomery64_2e291m19_5limbs/gmpvar 0.42
-src/Specific/montgomery64_2e291m19_5limbs/gmpsec 0.68
-src/Specific/montgomery64_2e291m19_5limbs/gmpxx 1.00
-src/Specific/solinas64_2e321m9_6limbs/fibe 0.10
-src/Specific/solinas64_2e321m9_7limbs/fibe 0.12
-# MISSING src/Specific/solinas32_2e321m9_12limbs/fibe
-src/Specific/solinas32_2e321m9_13limbs/fibe 0.19
-src/Specific/montgomery64_2e321m9_6limbs/fibe 0.26
-# MISSING src/Specific/montgomery32_2e321m9_11limbs/fibe
-src/Specific/montgomery64_2e321m9_6limbs/gmpvar 0.54
-src/Specific/montgomery64_2e321m9_6limbs/gmpsec 0.80
-src/Specific/montgomery64_2e321m9_6limbs/gmpxx 1.18
-src/Specific/solinas64_2e336m17_6limbs/fibe 0.10
-src/Specific/solinas64_2e336m17_7limbs/fibe 0.15
-src/Specific/solinas32_2e336m17_13limbs/fibe 0.22
-src/Specific/solinas32_2e336m17_14limbs/fibe 0.23
-src/Specific/montgomery64_2e336m17_6limbs/fibe 0.27
-# MISSING src/Specific/montgomery32_2e336m17_11limbs/fibe
-src/Specific/montgomery64_2e336m17_6limbs/gmpvar 0.53
-src/Specific/montgomery64_2e336m17_6limbs/gmpsec 0.80
-src/Specific/montgomery64_2e336m17_6limbs/gmpxx 1.11
-src/Specific/solinas64_2e336m3_6limbs/fibe 0.09
-src/Specific/solinas64_2e336m3_7limbs/fibe 0.12
-# MISSING src/Specific/solinas32_2e336m3_12limbs/fibe
-src/Specific/solinas32_2e336m3_13limbs/fibe 0.20
-src/Specific/montgomery64_2e336m3_6limbs/fibe 0.27
-# MISSING src/Specific/montgomery32_2e336m3_11limbs/fibe
-src/Specific/montgomery64_2e336m3_6limbs/gmpvar 0.53
-src/Specific/montgomery64_2e336m3_6limbs/gmpsec 0.86
-src/Specific/montgomery64_2e336m3_6limbs/gmpxx 1.08
-src/Specific/solinas64_2e338m15_6limbs/fibe 0.10
-src/Specific/solinas64_2e338m15_7limbs/fibe 0.12
-src/Specific/solinas32_2e338m15_13limbs/fibe 0.20
-src/Specific/solinas32_2e338m15_14limbs/fibe 0.23
-src/Specific/montgomery64_2e338m15_6limbs/fibe 0.25
-# MISSING src/Specific/montgomery32_2e338m15_11limbs/fibe
-src/Specific/montgomery64_2e338m15_6limbs/gmpvar 0.54
-src/Specific/montgomery64_2e338m15_6limbs/gmpsec 0.80
-src/Specific/montgomery64_2e338m15_6limbs/gmpxx 1.06
-src/Specific/solinas64_2e369m25_7limbs/fibe 0.13
-src/Specific/solinas64_2e369m25_8limbs/fibe 0.15
-src/Specific/solinas32_2e369m25_15limbs/fibe 0.26
-src/Specific/solinas32_2e369m25_16limbs/fibe 0.31
-src/Specific/montgomery64_2e369m25_6limbs/fibe 0.26
-# MISSING src/Specific/montgomery32_2e369m25_12limbs/fibe
-src/Specific/montgomery64_2e369m25_6limbs/gmpvar 0.52
-src/Specific/montgomery64_2e369m25_6limbs/gmpsec 0.79
-src/Specific/montgomery64_2e369m25_6limbs/gmpxx 1.10
-src/Specific/solinas64_2e379m19_7limbs/fibe 0.12
-src/Specific/solinas64_2e379m19_8limbs/fibe 0.17
-src/Specific/solinas32_2e379m19_15limbs/fibe 0.27
-src/Specific/solinas32_2e379m19_16limbs/fibe 0.30
-src/Specific/montgomery64_2e379m19_6limbs/fibe 0.26
-# MISSING src/Specific/montgomery32_2e379m19_12limbs/fibe
-src/Specific/montgomery64_2e379m19_6limbs/gmpvar 0.55
-src/Specific/montgomery64_2e379m19_6limbs/gmpsec 0.79
-src/Specific/montgomery64_2e379m19_6limbs/gmpxx 1.07
-src/Specific/solinas64_2e382m105_7limbs/fibe 0.13
-src/Specific/solinas64_2e382m105_8limbs/fibe 0.15
-src/Specific/solinas32_2e382m105_16limbs/fibe 0.30
-src/Specific/solinas32_2e382m105_17limbs/fibe 0.34
-src/Specific/montgomery64_2e382m105_6limbs/fibe 0.25
-# MISSING src/Specific/montgomery32_2e382m105_12limbs/fibe
-src/Specific/montgomery64_2e382m105_6limbs/gmpvar 0.57
-src/Specific/montgomery64_2e382m105_6limbs/gmpsec 0.92
-src/Specific/montgomery64_2e382m105_6limbs/gmpxx 1.11
-src/Specific/solinas64_2e383m421_7limbs/fibe 0.13
-src/Specific/solinas64_2e383m421_8limbs/fibe 0.15
-src/Specific/solinas32_2e383m421_17limbs/fibe 0.32
-src/Specific/solinas32_2e383m421_18limbs/fibe 0.40
-src/Specific/montgomery64_2e383m421_6limbs/fibe 0.25
-# MISSING src/Specific/montgomery32_2e383m421_12limbs/fibe
-src/Specific/montgomery64_2e383m421_6limbs/gmpvar 0.51
-src/Specific/montgomery64_2e383m421_6limbs/gmpsec 0.76
-src/Specific/montgomery64_2e383m421_6limbs/gmpxx 1.06
-src/Specific/solinas64_2e383m187_7limbs/fibe 0.13
-src/Specific/solinas64_2e383m187_8limbs/fibe 0.16
-src/Specific/solinas32_2e383m187_16limbs/fibe 0.30
-src/Specific/solinas32_2e383m187_17limbs/fibe 0.34
-src/Specific/montgomery64_2e383m187_6limbs/fibe 0.28
-# MISSING src/Specific/montgomery32_2e383m187_12limbs/fibe
-src/Specific/montgomery64_2e383m187_6limbs/gmpvar 0.50
-src/Specific/montgomery64_2e383m187_6limbs/gmpsec 0.75
-src/Specific/montgomery64_2e383m187_6limbs/gmpxx 1.05
-src/Specific/solinas64_2e383m31_7limbs/fibe 0.13
-src/Specific/solinas64_2e383m31_8limbs/fibe 0.16
-# MISSING src/Specific/solinas32_2e383m31_15limbs/fibe
-src/Specific/solinas32_2e383m31_16limbs/fibe 0.30
-src/Specific/montgomery64_2e383m31_6limbs/fibe 0.26
-# MISSING src/Specific/montgomery32_2e383m31_12limbs/fibe
-src/Specific/montgomery64_2e383m31_6limbs/gmpvar 0.51
-src/Specific/montgomery64_2e383m31_6limbs/gmpsec 0.75
-src/Specific/montgomery64_2e383m31_6limbs/gmpxx 1.05
-src/Specific/solinas64_2e384m317_7limbs/fibe 0.13
-src/Specific/solinas64_2e384m317_8limbs/fibe 0.15
-src/Specific/solinas32_2e384m317_17limbs/fibe 0.32
-src/Specific/solinas32_2e384m317_18limbs/fibe 0.37
-src/Specific/montgomery64_2e384m317_6limbs/fibe 0.26
-# MISSING src/Specific/montgomery32_2e384m317_12limbs/fibe
-src/Specific/montgomery64_2e384m317_6limbs/gmpvar 0.48
-src/Specific/montgomery64_2e384m317_6limbs/gmpsec 0.67
-src/Specific/montgomery64_2e384m317_6limbs/gmpxx 1.00
-src/Specific/solinas64_2e389m21_7limbs/fibe 0.13
-src/Specific/solinas64_2e389m21_8limbs/fibe 0.16
-# MISSING src/Specific/solinas32_2e389m21_15limbs/fibe
-src/Specific/solinas32_2e389m21_16limbs/fibe 0.32
-# MISSING src/Specific/montgomery64_2e389m21_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e389m21_13limbs/fibe
-src/Specific/montgomery64_2e389m21_7limbs/gmpvar 0.60
-src/Specific/montgomery64_2e389m21_7limbs/gmpsec 0.97
-src/Specific/montgomery64_2e389m21_7limbs/gmpxx 1.22
-src/Specific/solinas64_2e401m31_7limbs/fibe 0.14
-src/Specific/solinas64_2e401m31_8limbs/fibe 0.15
-src/Specific/solinas32_2e401m31_16limbs/fibe 0.31
-src/Specific/solinas32_2e401m31_17limbs/fibe 0.33
-# MISSING src/Specific/montgomery64_2e401m31_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e401m31_13limbs/fibe
-src/Specific/montgomery64_2e401m31_7limbs/gmpvar 0.61
-src/Specific/montgomery64_2e401m31_7limbs/gmpsec 0.97
-src/Specific/montgomery64_2e401m31_7limbs/gmpxx 1.17
-# MISSING src/Specific/solinas64_2e413m21_7limbs/fibe
-src/Specific/solinas64_2e413m21_8limbs/fibe 0.16
-# MISSING src/Specific/solinas32_2e413m21_16limbs/fibe
-src/Specific/solinas32_2e413m21_17limbs/fibe 0.36
-# MISSING src/Specific/montgomery64_2e413m21_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e413m21_13limbs/fibe
-src/Specific/montgomery64_2e413m21_7limbs/gmpvar 0.62
-src/Specific/montgomery64_2e413m21_7limbs/gmpsec 0.99
-src/Specific/montgomery64_2e413m21_7limbs/gmpxx 1.22
-src/Specific/solinas64_2e414m17_8limbs/fibe 0.15
-src/Specific/solinas64_2e414m17_9limbs/fibe 0.18
-# MISSING src/Specific/solinas32_2e414m17_16limbs/fibe
-src/Specific/solinas32_2e414m17_17limbs/fibe 0.34
-# MISSING src/Specific/montgomery64_2e414m17_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e414m17_13limbs/fibe
-src/Specific/montgomery64_2e414m17_7limbs/gmpvar 0.60
-src/Specific/montgomery64_2e414m17_7limbs/gmpsec 0.98
-src/Specific/montgomery64_2e414m17_7limbs/gmpxx 1.21
-src/Specific/solinas64_2e444m17_8limbs/fibe 0.17
-src/Specific/solinas64_2e444m17_9limbs/fibe 0.19
-# MISSING src/Specific/solinas32_2e444m17_17limbs/fibe
-src/Specific/solinas32_2e444m17_18limbs/fibe 0.36
-# MISSING src/Specific/montgomery64_2e444m17_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e444m17_14limbs/fibe
-src/Specific/montgomery64_2e444m17_7limbs/gmpvar 0.60
-src/Specific/montgomery64_2e444m17_7limbs/gmpsec 0.96
-src/Specific/montgomery64_2e444m17_7limbs/gmpxx 1.20
-src/Specific/solinas64_2e452m3_8limbs/fibe 0.16
-src/Specific/solinas64_2e452m3_9limbs/fibe 0.19
-src/Specific/solinas32_2e452m3_17limbs/fibe 0.32
-src/Specific/solinas32_2e452m3_18limbs/fibe 0.38
-# MISSING src/Specific/montgomery64_2e452m3_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e452m3_15limbs/fibe
-src/Specific/montgomery64_2e452m3_8limbs/gmpvar 0.71
-src/Specific/montgomery64_2e452m3_8limbs/gmpsec 1.24
-src/Specific/montgomery64_2e452m3_8limbs/gmpxx 1.32
-src/Specific/solinas64_2e468m17_8limbs/fibe 0.16
-src/Specific/solinas64_2e468m17_9limbs/fibe 0.19
-src/Specific/solinas32_2e468m17_18limbs/fibe 0.38
-src/Specific/solinas32_2e468m17_19limbs/fibe 0.43
-# MISSING src/Specific/montgomery64_2e468m17_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e468m17_15limbs/fibe
-src/Specific/montgomery64_2e468m17_8limbs/gmpvar 0.71
-src/Specific/montgomery64_2e468m17_8limbs/gmpsec 1.23
-src/Specific/montgomery64_2e468m17_8limbs/gmpxx 1.29
-src/Specific/solinas64_2e488m17_10limbs/fibe 0.28
-src/Specific/solinas64_2e488m17_9limbs/fibe 0.19
-# MISSING src/Specific/solinas32_2e488m17_19limbs/fibe
-src/Specific/solinas32_2e488m17_20limbs/fibe 0.48
-# MISSING src/Specific/montgomery64_2e488m17_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e488m17_16limbs/fibe
-src/Specific/montgomery64_2e488m17_8limbs/gmpvar 0.70
-src/Specific/montgomery64_2e488m17_8limbs/gmpsec 1.20
-src/Specific/montgomery64_2e488m17_8limbs/gmpxx 1.28
-src/Specific/solinas64_2e489m21_10limbs/fibe 0.23
-src/Specific/solinas64_2e489m21_9limbs/fibe 0.20
-# MISSING src/Specific/solinas32_2e489m21_19limbs/fibe
-src/Specific/solinas32_2e489m21_20limbs/fibe 0.49
-# MISSING src/Specific/montgomery64_2e489m21_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e489m21_16limbs/fibe
-src/Specific/montgomery64_2e489m21_8limbs/gmpvar 0.69
-src/Specific/montgomery64_2e489m21_8limbs/gmpsec 1.17
-src/Specific/montgomery64_2e489m21_8limbs/gmpxx 1.27
-src/Specific/solinas64_2e495m31_10limbs/fibe 0.23
-src/Specific/solinas64_2e495m31_9limbs/fibe 0.19
-src/Specific/solinas32_2e495m31_20limbs/fibe 0.45
-src/Specific/solinas32_2e495m31_21limbs/fibe 0.50
-# MISSING src/Specific/montgomery64_2e495m31_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e495m31_16limbs/fibe
-src/Specific/montgomery64_2e495m31_8limbs/gmpvar 0.69
-src/Specific/montgomery64_2e495m31_8limbs/gmpsec 1.17
-src/Specific/montgomery64_2e495m31_8limbs/gmpxx 1.30
-src/Specific/solinas64_2e511m481_10limbs/fibe 0.25
-src/Specific/solinas64_2e511m481_11limbs/fibe 0.28
-# MISSING src/Specific/solinas32_2e511m481_23limbs/fibe
-# MISSING src/Specific/solinas32_2e511m481_24limbs/fibe
-# MISSING src/Specific/montgomery64_2e511m481_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m481_16limbs/fibe
-src/Specific/montgomery64_2e511m481_8limbs/gmpvar 0.66
-src/Specific/montgomery64_2e511m481_8limbs/gmpsec 1.12
-src/Specific/montgomery64_2e511m481_8limbs/gmpxx 1.24
-src/Specific/solinas64_2e511m187_10limbs/fibe 0.25
-src/Specific/solinas64_2e511m187_11limbs/fibe 0.28
-src/Specific/solinas32_2e511m187_22limbs/fibe 0.56
-# MISSING src/Specific/solinas32_2e511m187_23limbs/fibe
-# MISSING src/Specific/montgomery64_2e511m187_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m187_16limbs/fibe
-src/Specific/montgomery64_2e511m187_8limbs/gmpvar 0.66
-src/Specific/montgomery64_2e511m187_8limbs/gmpsec 1.13
-src/Specific/montgomery64_2e511m187_8limbs/gmpxx 1.21
-src/Specific/solinas64_2e512m569_10limbs/fibe 0.24
-src/Specific/solinas64_2e512m569_11limbs/fibe 0.28
-# MISSING src/Specific/solinas32_2e512m569_24limbs/fibe
-# MISSING src/Specific/solinas32_2e512m569_25limbs/fibe
-# MISSING src/Specific/montgomery64_2e512m569_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m569_16limbs/fibe
-src/Specific/montgomery64_2e512m569_8limbs/gmpvar 0.62
-src/Specific/montgomery64_2e512m569_8limbs/gmpsec 0.95
-src/Specific/montgomery64_2e512m569_8limbs/gmpxx 1.14
-src/Specific/solinas64_2e521m1_10limbs/fibe 0.25
-src/Specific/solinas64_2e521m1_9limbs/fibe 0.18
-src/Specific/solinas32_2e521m1_19limbs/fibe 0.36
-src/Specific/solinas32_2e521m1_20limbs/fibe 0.39
-# MISSING src/Specific/montgomery64_2e521m1_9limbs/fibe
-# MISSING src/Specific/montgomery32_2e521m1_17limbs/fibe
-src/Specific/montgomery64_2e521m1_9limbs/gmpvar 0.81
-src/Specific/montgomery64_2e521m1_9limbs/gmpsec 1.40
-src/Specific/montgomery64_2e521m1_9limbs/gmpxx 1.44
-src/Specific/solinas64_2e192m2e64m1_4limbs/fibe 0.05
-src/Specific/solinas64_2e192m2e64m1_5limbs/fibe 0.07
-# MISSING src/Specific/solinas32_2e192m2e64m1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e192m2e64m1_9limbs/fibe
-src/Specific/montgomery64_2e192m2e64m1_3limbs/fibe 0.07
-src/Specific/montgomery32_2e192m2e64m1_6limbs/fibe 0.26
-src/Specific/montgomery64_2e192m2e64m1_3limbs/gmpvar 0.24
-src/Specific/montgomery64_2e192m2e64m1_3limbs/gmpsec 0.31
-src/Specific/montgomery64_2e192m2e64m1_3limbs/gmpxx 0.79
-src/Specific/solinas64_2e216m2e108m1_4limbs/fibe 0.04
-# MISSING src/Specific/solinas64_2e216m2e108m1_5limbs/fibe
-src/Specific/solinas32_2e216m2e108m1_10limbs/fibe 0.12
-src/Specific/solinas32_2e216m2e108m1_8limbs/fibe 0.08
-src/Specific/montgomery64_2e216m2e108m1_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e216m2e108m1_7limbs/fibe
-src/Specific/montgomery64_2e216m2e108m1_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e216m2e108m1_4limbs/gmpsec 0.51
-src/Specific/montgomery64_2e216m2e108m1_4limbs/gmpxx 0.88
-src/Specific/solinas64_2e322m2e161m1_6limbs/fibe 0.07
-# MISSING src/Specific/solinas64_2e322m2e161m1_7limbs/fibe
-src/Specific/solinas32_2e322m2e161m1_12limbs/fibe 0.16
-src/Specific/solinas32_2e322m2e161m1_14limbs/fibe 0.23
-src/Specific/montgomery64_2e322m2e161m1_6limbs/fibe 0.27
-# MISSING src/Specific/montgomery32_2e322m2e161m1_11limbs/fibe
-src/Specific/montgomery64_2e322m2e161m1_6limbs/gmpvar 0.53
-src/Specific/montgomery64_2e322m2e161m1_6limbs/gmpsec 0.83
-src/Specific/montgomery64_2e322m2e161m1_6limbs/gmpxx 1.15
-src/Specific/solinas64_2e416m2e208m1_8limbs/fibe 0.14
-# MISSING src/Specific/solinas64_2e416m2e208m1_9limbs/fibe
-src/Specific/solinas32_2e416m2e208m1_16limbs/fibe 0.25
-src/Specific/solinas32_2e416m2e208m1_18limbs/fibe 0.33
-# MISSING src/Specific/montgomery64_2e416m2e208m1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e416m2e208m1_13limbs/fibe
-src/Specific/montgomery64_2e416m2e208m1_7limbs/gmpvar 0.60
-src/Specific/montgomery64_2e416m2e208m1_7limbs/gmpsec 0.98
-src/Specific/montgomery64_2e416m2e208m1_7limbs/gmpxx 1.16
-src/Specific/solinas64_2e448m2e224m1_10limbs/fibe 0.18
-src/Specific/solinas64_2e448m2e224m1_8limbs/fibe 0.12
-# MISSING src/Specific/solinas32_2e448m2e224m1_16limbs/fibe
-src/Specific/solinas32_2e448m2e224m1_18limbs/fibe 0.30
-# MISSING src/Specific/montgomery64_2e448m2e224m1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e448m2e224m1_14limbs/fibe
-src/Specific/montgomery64_2e448m2e224m1_7limbs/gmpvar 0.52
-src/Specific/montgomery64_2e448m2e224m1_7limbs/gmpsec 0.79
-src/Specific/montgomery64_2e448m2e224m1_7limbs/gmpxx 1.06
-src/Specific/solinas64_2e450m2e225m1_10limbs/fibe 0.18
-src/Specific/solinas64_2e450m2e225m1_8limbs/fibe 0.13
-# MISSING src/Specific/solinas32_2e450m2e225m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e450m2e225m1_20limbs/fibe
-# MISSING src/Specific/montgomery64_2e450m2e225m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e450m2e225m1_15limbs/fibe
-src/Specific/montgomery64_2e450m2e225m1_8limbs/gmpvar 0.74
-src/Specific/montgomery64_2e450m2e225m1_8limbs/gmpsec 1.22
-src/Specific/montgomery64_2e450m2e225m1_8limbs/gmpxx 1.34
-src/Specific/solinas64_2e480m2e240m1_10limbs/fibe 0.19
-src/Specific/solinas64_2e480m2e240m1_8limbs/fibe 0.13
-src/Specific/solinas32_2e480m2e240m1_18limbs/fibe 0.34
-# MISSING src/Specific/solinas32_2e480m2e240m1_20limbs/fibe
-# MISSING src/Specific/montgomery64_2e480m2e240m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e480m2e240m1_15limbs/fibe
-src/Specific/montgomery64_2e480m2e240m1_8limbs/gmpvar 0.71
-src/Specific/montgomery64_2e480m2e240m1_8limbs/gmpsec 1.18
-src/Specific/montgomery64_2e480m2e240m1_8limbs/gmpxx 1.28
-# MISSING src/Specific/solinas64_2e205m45x2e198m1_*limbs
-# MISSING src/Specific/solinas32_2e205m45x2e198m1_*limbs
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fibe 0.14
-# MISSING src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fibe
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/gmpsec 0.51
-src/Specific/montgomery64_2e205m45x2e198m1_4limbs/gmpxx 0.87
-# MISSING src/Specific/solinas64_2e224m2e96p1_5limbs/fibe
-# MISSING src/Specific/solinas64_2e224m2e96p1_6limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_11limbs/fibe
-src/Specific/montgomery64_2e224m2e96p1_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e224m2e96p1_7limbs/fibe
-src/Specific/montgomery64_2e224m2e96p1_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e224m2e96p1_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e224m2e96p1_4limbs/gmpxx 0.88
-# MISSING src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fibe
-# MISSING src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fibe
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fibe 0.11
-# MISSING src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fibe
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/gmpvar 0.33
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/gmpsec 0.38
-src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/gmpxx 0.84
-src/Specific/solinas64_2e256m2e32m977_6limbs/fibe 0.10
-src/Specific/solinas64_2e256m2e32m977_7limbs/fibe 0.13
-src/Specific/solinas32_2e256m2e32m977_12limbs/fibe 0.19
-src/Specific/solinas32_2e256m2e32m977_13limbs/fibe 0.20
-src/Specific/montgomery64_2e256m2e32m977_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e256m2e32m977_8limbs/fibe
-src/Specific/montgomery64_2e256m2e32m977_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e256m2e32m977_4limbs/gmpsec 0.38
-src/Specific/montgomery64_2e256m2e32m977_4limbs/gmpxx 0.87
-src/Specific/solinas64_2e256m4294968273_10limbs/fibe 0.16
-src/Specific/solinas64_2e256m4294968273_9limbs/fibe 0.14
-# MISSING src/Specific/solinas32_2e256m4294968273_*limbs
-src/Specific/montgomery64_2e256m4294968273_4limbs/fibe 0.13
-# MISSING src/Specific/montgomery32_2e256m4294968273_8limbs/fibe
-src/Specific/montgomery64_2e256m4294968273_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e256m4294968273_4limbs/gmpsec 0.37
-src/Specific/montgomery64_2e256m4294968273_4limbs/gmpxx 0.86
-# MISSING src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fibe
-# MISSING src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fibe
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fibe 0.25
-# MISSING src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fibe
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/gmpvar 0.47
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/gmpsec 0.64
-src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/gmpxx 0.98
-# MISSING src/Specific/solinas64_2e256m88x2e240m1_*limbs
-# MISSING src/Specific/solinas32_2e256m88x2e240m1_*limbs
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fibe 0.11
-# MISSING src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fibe
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/gmpvar 0.34
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/gmpsec 0.39
-src/Specific/montgomery64_2e256m88x2e240m1_4limbs/gmpxx 0.88
-# MISSING src/Specific/solinas64_2e254m127x2e240m1_*limbs
-# MISSING src/Specific/solinas32_2e254m127x2e240m1_*limbs
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fibe 0.12
-# MISSING src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fibe
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/gmpvar 0.35
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/gmpsec 0.50
-src/Specific/montgomery64_2e254m127x2e240m1_4limbs/gmpxx 0.92
-# MISSING src/Specific/solinas64_2e384m79x2e376m1_*limbs
-# MISSING src/Specific/solinas32_2e384m79x2e376m1_*limbs
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fibe 0.23
-# MISSING src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fibe
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/gmpvar 0.46
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/gmpsec 0.62
-src/Specific/montgomery64_2e384m79x2e376m1_6limbs/gmpxx 0.99
-# MISSING src/Specific/solinas64_2e384m5x2e368m1_*limbs
-# MISSING src/Specific/solinas32_2e384m5x2e368m1_*limbs
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fibe 0.23
-# MISSING src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fibe
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/gmpvar 0.46
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/gmpsec 0.63
-src/Specific/montgomery64_2e384m5x2e368m1_6limbs/gmpxx 0.99
-# MISSING src/Specific/solinas64_2e512m491x2e496m1_*limbs
-# MISSING src/Specific/solinas32_2e512m491x2e496m1_*limbs
-# MISSING src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fibe
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/gmpvar 0.62
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/gmpsec 0.99
-src/Specific/montgomery64_2e512m491x2e496m1_8limbs/gmpxx 1.15
-# MISSING src/Specific/solinas64_2e510m290x2e496m1_*limbs
-# MISSING src/Specific/solinas32_2e510m290x2e496m1_*limbs
-# MISSING src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fibe
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/gmpvar 0.70
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/gmpsec 1.20
-src/Specific/montgomery64_2e510m290x2e496m1_8limbs/gmpxx 1.28
diff --git a/measurements/2017-11-16/measurements-krait.txt b/measurements/2017-11-16/measurements-krait.txt
deleted file mode 100644
index 35bda9119..000000000
--- a/measurements/2017-11-16/measurements-krait.txt
+++ /dev/null
@@ -1,397 +0,0 @@
-src/Specific/solinas32_2e127m1_5limbs/fibe 0.30
-src/Specific/solinas32_2e127m1_6limbs/fibe 0.41
-src/Specific/montgomery32_2e127m1_4limbs/fibe 1.19
-src/Specific/montgomery32_2e127m1_4limbs/gmpvar 3.23
-src/Specific/montgomery32_2e127m1_4limbs/gmpsec 2.86
-src/Specific/solinas32_2e129m25_5limbs/fibe 0.35
-src/Specific/solinas32_2e129m25_6limbs/fibe 0.46
-src/Specific/montgomery32_2e129m25_5limbs/fibe 1.70
-src/Specific/montgomery32_2e129m25_5limbs/gmpvar 3.77
-src/Specific/montgomery32_2e129m25_5limbs/gmpsec 3.38
-src/Specific/solinas32_2e130m5_5limbs/fibe 0.44
-src/Specific/solinas32_2e130m5_6limbs/fibe 0.49
-src/Specific/montgomery32_2e130m5_5limbs/fibe 1.87
-src/Specific/montgomery32_2e130m5_5limbs/gmpvar 3.79
-src/Specific/montgomery32_2e130m5_5limbs/gmpsec 3.56
-# MISSING src/Specific/solinas32_2e137m13_5limbs/fibe
-src/Specific/solinas32_2e137m13_6limbs/fibe 0.48
-src/Specific/montgomery32_2e137m13_5limbs/fibe 2.06
-src/Specific/montgomery32_2e137m13_5limbs/gmpvar 3.78
-src/Specific/montgomery32_2e137m13_5limbs/gmpsec 3.41
-src/Specific/solinas32_2e140m27_6limbs/fibe 0.51
-src/Specific/solinas32_2e140m27_7limbs/fibe 0.58
-src/Specific/montgomery32_2e140m27_5limbs/fibe 1.98
-src/Specific/montgomery32_2e140m27_5limbs/gmpvar 3.77
-src/Specific/montgomery32_2e140m27_5limbs/gmpsec 3.43
-src/Specific/solinas32_2e141m9_6limbs/fibe 0.51
-src/Specific/solinas32_2e141m9_7limbs/fibe 0.59
-src/Specific/montgomery32_2e141m9_5limbs/fibe 2.00
-src/Specific/montgomery32_2e141m9_5limbs/gmpvar 3.81
-src/Specific/montgomery32_2e141m9_5limbs/gmpsec 3.43
-src/Specific/solinas32_2e150m5_6limbs/fibe 0.49
-src/Specific/solinas32_2e150m5_7limbs/fibe 0.59
-src/Specific/montgomery32_2e150m5_5limbs/fibe 1.99
-src/Specific/montgomery32_2e150m5_5limbs/gmpvar 3.80
-src/Specific/montgomery32_2e150m5_5limbs/gmpsec 3.38
-src/Specific/solinas32_2e150m3_6limbs/fibe 0.42
-src/Specific/solinas32_2e150m3_7limbs/fibe 0.57
-src/Specific/montgomery32_2e150m3_5limbs/fibe 2.00
-src/Specific/montgomery32_2e150m3_5limbs/gmpvar 3.79
-src/Specific/montgomery32_2e150m3_5limbs/gmpsec 3.56
-src/Specific/solinas32_2e152m17_6limbs/fibe 0.50
-src/Specific/solinas32_2e152m17_7limbs/fibe 0.62
-src/Specific/montgomery32_2e152m17_5limbs/fibe 1.96
-src/Specific/montgomery32_2e152m17_5limbs/gmpvar 3.82
-src/Specific/montgomery32_2e152m17_5limbs/gmpsec 3.40
-src/Specific/solinas32_2e158m15_6limbs/fibe 0.52
-src/Specific/solinas32_2e158m15_7limbs/fibe 0.64
-src/Specific/montgomery32_2e158m15_5limbs/fibe 2.04
-src/Specific/montgomery32_2e158m15_5limbs/gmpvar 3.77
-src/Specific/montgomery32_2e158m15_5limbs/gmpsec 3.40
-src/Specific/solinas32_2e165m25_7limbs/fibe 0.59
-src/Specific/solinas32_2e165m25_8limbs/fibe 0.73
-src/Specific/montgomery32_2e165m25_6limbs/fibe 2.46
-src/Specific/montgomery32_2e165m25_6limbs/gmpvar 4.45
-src/Specific/montgomery32_2e165m25_6limbs/gmpsec 4.02
-# MISSING src/Specific/solinas32_2e166m5_6limbs/fibe
-src/Specific/solinas32_2e166m5_7limbs/fibe 0.61
-src/Specific/montgomery32_2e166m5_6limbs/fibe 2.43
-src/Specific/montgomery32_2e166m5_6limbs/gmpvar 4.43
-src/Specific/montgomery32_2e166m5_6limbs/gmpsec 4.02
-src/Specific/solinas32_2e171m19_7limbs/fibe 0.57
-src/Specific/solinas32_2e171m19_8limbs/fibe 0.75
-src/Specific/montgomery32_2e171m19_6limbs/fibe 2.68
-src/Specific/montgomery32_2e171m19_6limbs/gmpvar 4.51
-src/Specific/montgomery32_2e171m19_6limbs/gmpsec 4.04
-src/Specific/solinas32_2e174m17_7limbs/fibe 0.58
-src/Specific/solinas32_2e174m17_8limbs/fibe 0.77
-src/Specific/montgomery32_2e174m17_6limbs/fibe 2.63
-src/Specific/montgomery32_2e174m17_6limbs/gmpvar 4.39
-src/Specific/montgomery32_2e174m17_6limbs/gmpsec 4.03
-src/Specific/solinas32_2e174m3_7limbs/fibe 0.61
-src/Specific/solinas32_2e174m3_8limbs/fibe 0.71
-src/Specific/montgomery32_2e174m3_6limbs/fibe 2.62
-src/Specific/montgomery32_2e174m3_6limbs/gmpvar 4.40
-src/Specific/montgomery32_2e174m3_6limbs/gmpsec 4.02
-# MISSING src/Specific/solinas32_2e189m25_7limbs/fibe
-src/Specific/solinas32_2e189m25_8limbs/fibe 0.70
-src/Specific/montgomery32_2e189m25_6limbs/fibe 2.65
-src/Specific/montgomery32_2e189m25_6limbs/gmpvar 4.40
-src/Specific/montgomery32_2e189m25_6limbs/gmpsec 4.05
-# MISSING src/Specific/solinas32_2e190m11_7limbs/fibe
-src/Specific/solinas32_2e190m11_8limbs/fibe 0.71
-src/Specific/montgomery32_2e190m11_6limbs/fibe 2.64
-src/Specific/montgomery32_2e190m11_6limbs/gmpvar 4.42
-src/Specific/montgomery32_2e190m11_6limbs/gmpsec 4.10
-src/Specific/solinas32_2e191m19_8limbs/fibe 0.66
-src/Specific/solinas32_2e191m19_9limbs/fibe 0.86
-src/Specific/montgomery32_2e191m19_6limbs/fibe 2.69
-src/Specific/montgomery32_2e191m19_6limbs/gmpvar 4.40
-src/Specific/montgomery32_2e191m19_6limbs/gmpsec 4.03
-src/Specific/solinas32_2e194m33_8limbs/fibe 0.75
-src/Specific/solinas32_2e194m33_9limbs/fibe 0.94
-# MISSING src/Specific/montgomery32_2e194m33_7limbs/fibe
-src/Specific/montgomery32_2e194m33_7limbs/gmpvar 4.94
-src/Specific/montgomery32_2e194m33_7limbs/gmpsec 4.66
-src/Specific/solinas32_2e196m15_8limbs/fibe 0.77
-src/Specific/solinas32_2e196m15_9limbs/fibe 0.91
-# MISSING src/Specific/montgomery32_2e196m15_7limbs/fibe
-src/Specific/montgomery32_2e196m15_7limbs/gmpvar 4.94
-src/Specific/montgomery32_2e196m15_7limbs/gmpsec 4.64
-src/Specific/solinas32_2e198m17_8limbs/fibe 0.76
-src/Specific/solinas32_2e198m17_9limbs/fibe 0.89
-# MISSING src/Specific/montgomery32_2e198m17_7limbs/fibe
-src/Specific/montgomery32_2e198m17_7limbs/gmpvar 4.97
-src/Specific/montgomery32_2e198m17_7limbs/gmpsec 4.72
-src/Specific/solinas32_2e206m5_8limbs/fibe 0.76
-src/Specific/solinas32_2e206m5_9limbs/fibe 0.83
-# MISSING src/Specific/montgomery32_2e206m5_7limbs/fibe
-src/Specific/montgomery32_2e206m5_7limbs/gmpvar 4.91
-src/Specific/montgomery32_2e206m5_7limbs/gmpsec 4.62
-# MISSING src/Specific/solinas32_2e212m29_8limbs/fibe
-src/Specific/solinas32_2e212m29_9limbs/fibe 0.86
-# MISSING src/Specific/montgomery32_2e212m29_7limbs/fibe
-src/Specific/montgomery32_2e212m29_7limbs/gmpvar 4.91
-src/Specific/montgomery32_2e212m29_7limbs/gmpsec 4.68
-src/Specific/solinas32_2e213m3_8limbs/fibe 0.70
-src/Specific/solinas32_2e213m3_9limbs/fibe 0.84
-# MISSING src/Specific/montgomery32_2e213m3_7limbs/fibe
-src/Specific/montgomery32_2e213m3_7limbs/gmpvar 4.94
-src/Specific/montgomery32_2e213m3_7limbs/gmpsec 4.68
-# MISSING src/Specific/solinas32_2e221m3_8limbs/fibe
-src/Specific/solinas32_2e221m3_9limbs/fibe 0.80
-# MISSING src/Specific/montgomery32_2e221m3_7limbs/fibe
-src/Specific/montgomery32_2e221m3_7limbs/gmpvar 4.92
-src/Specific/montgomery32_2e221m3_7limbs/gmpsec 4.68
-src/Specific/solinas32_2e222m117_10limbs/fibe 1.03
-src/Specific/solinas32_2e222m117_9limbs/fibe 0.87
-# MISSING src/Specific/montgomery32_2e222m117_7limbs/fibe
-src/Specific/montgomery32_2e222m117_7limbs/gmpvar 4.87
-src/Specific/montgomery32_2e222m117_7limbs/gmpsec 4.72
-src/Specific/solinas32_2e226m5_10limbs/fibe 1.02
-src/Specific/solinas32_2e226m5_9limbs/fibe 0.87
-# MISSING src/Specific/montgomery32_2e226m5_8limbs/fibe
-src/Specific/montgomery32_2e226m5_8limbs/gmpvar 5.65
-src/Specific/montgomery32_2e226m5_8limbs/gmpsec 5.25
-src/Specific/solinas32_2e230m27_10limbs/fibe 1.00
-src/Specific/solinas32_2e230m27_9limbs/fibe 0.83
-# MISSING src/Specific/montgomery32_2e230m27_8limbs/fibe
-src/Specific/montgomery32_2e230m27_8limbs/gmpvar 5.71
-src/Specific/montgomery32_2e230m27_8limbs/gmpsec 5.29
-src/Specific/solinas32_2e235m15_10limbs/fibe 1.09
-src/Specific/solinas32_2e235m15_9limbs/fibe 0.90
-# MISSING src/Specific/montgomery32_2e235m15_8limbs/fibe
-src/Specific/montgomery32_2e235m15_8limbs/gmpvar 5.69
-src/Specific/montgomery32_2e235m15_8limbs/gmpsec 5.31
-src/Specific/solinas32_2e243m9_10limbs/fibe 1.07
-src/Specific/solinas32_2e243m9_9limbs/fibe 0.86
-# MISSING src/Specific/montgomery32_2e243m9_8limbs/fibe
-src/Specific/montgomery32_2e243m9_8limbs/gmpvar 5.62
-src/Specific/montgomery32_2e243m9_8limbs/gmpsec 5.29
-src/Specific/solinas32_2e251m9_10limbs/fibe 1.12
-src/Specific/solinas32_2e251m9_11limbs/fibe 1.18
-# MISSING src/Specific/montgomery32_2e251m9_8limbs/fibe
-src/Specific/montgomery32_2e251m9_8limbs/gmpvar 5.65
-src/Specific/montgomery32_2e251m9_8limbs/gmpsec 5.30
-src/Specific/solinas32_2e255m765_12limbs/fibe 1.43
-src/Specific/solinas32_2e255m765_13limbs/fibe 1.61
-# MISSING src/Specific/montgomery32_2e255m765_8limbs/fibe
-src/Specific/montgomery32_2e255m765_8limbs/gmpvar 5.71
-src/Specific/montgomery32_2e255m765_8limbs/gmpsec 5.27
-src/Specific/solinas32_2e255m19_10limbs/fibe 1.01
-src/Specific/solinas32_2e255m19_11limbs/fibe 1.14
-# MISSING src/Specific/montgomery32_2e255m19_8limbs/fibe
-src/Specific/montgomery32_2e255m19_8limbs/gmpvar 5.70
-src/Specific/montgomery32_2e255m19_8limbs/gmpsec 5.25
-src/Specific/solinas32_2e256m189_11limbs/fibe 1.20
-src/Specific/solinas32_2e256m189_12limbs/fibe 1.52
-# MISSING src/Specific/montgomery32_2e256m189_8limbs/fibe
-src/Specific/montgomery32_2e256m189_8limbs/gmpvar 5.49
-src/Specific/montgomery32_2e256m189_8limbs/gmpsec 4.71
-src/Specific/solinas32_2e266m3_10limbs/fibe 1.01
-src/Specific/solinas32_2e266m3_11limbs/fibe 1.11
-# MISSING src/Specific/montgomery32_2e266m3_9limbs/fibe
-src/Specific/montgomery32_2e266m3_9limbs/gmpvar 6.32
-src/Specific/montgomery32_2e266m3_9limbs/gmpsec 6.10
-src/Specific/solinas32_2e285m9_11limbs/fibe 1.13
-src/Specific/solinas32_2e285m9_12limbs/fibe 1.49
-# MISSING src/Specific/montgomery32_2e285m9_9limbs/fibe
-src/Specific/montgomery32_2e285m9_9limbs/gmpvar 6.34
-src/Specific/montgomery32_2e285m9_9limbs/gmpsec 6.13
-# MISSING src/Specific/solinas32_2e291m19_11limbs/fibe
-src/Specific/solinas32_2e291m19_12limbs/fibe 1.33
-# MISSING src/Specific/montgomery32_2e291m19_10limbs/fibe
-src/Specific/montgomery32_2e291m19_10limbs/gmpvar 6.98
-src/Specific/montgomery32_2e291m19_10limbs/gmpsec 6.94
-# MISSING src/Specific/solinas32_2e321m9_12limbs/fibe
-src/Specific/solinas32_2e321m9_13limbs/fibe 1.72
-# MISSING src/Specific/montgomery32_2e321m9_11limbs/fibe
-src/Specific/montgomery32_2e321m9_11limbs/gmpvar 7.66
-src/Specific/montgomery32_2e321m9_11limbs/gmpsec 7.60
-src/Specific/solinas32_2e336m17_13limbs/fibe 1.67
-src/Specific/solinas32_2e336m17_14limbs/fibe 1.83
-# MISSING src/Specific/montgomery32_2e336m17_11limbs/fibe
-src/Specific/montgomery32_2e336m17_11limbs/gmpvar 7.74
-src/Specific/montgomery32_2e336m17_11limbs/gmpsec 7.64
-# MISSING src/Specific/solinas32_2e336m3_12limbs/fibe
-src/Specific/solinas32_2e336m3_13limbs/fibe 1.59
-# MISSING src/Specific/montgomery32_2e336m3_11limbs/fibe
-src/Specific/montgomery32_2e336m3_11limbs/gmpvar 7.69
-src/Specific/montgomery32_2e336m3_11limbs/gmpsec 7.58
-src/Specific/solinas32_2e338m15_13limbs/fibe 1.70
-src/Specific/solinas32_2e338m15_14limbs/fibe 1.96
-# MISSING src/Specific/montgomery32_2e338m15_11limbs/fibe
-src/Specific/montgomery32_2e338m15_11limbs/gmpvar 7.67
-src/Specific/montgomery32_2e338m15_11limbs/gmpsec 7.66
-src/Specific/solinas32_2e369m25_15limbs/fibe 2.44
-src/Specific/solinas32_2e369m25_16limbs/fibe 2.74
-# MISSING src/Specific/montgomery32_2e369m25_12limbs/fibe
-src/Specific/montgomery32_2e369m25_12limbs/gmpvar 9.03
-src/Specific/montgomery32_2e369m25_12limbs/gmpsec 8.41
-src/Specific/solinas32_2e379m19_15limbs/fibe 2.47
-src/Specific/solinas32_2e379m19_16limbs/fibe 3.04
-# MISSING src/Specific/montgomery32_2e379m19_12limbs/fibe
-src/Specific/montgomery32_2e379m19_12limbs/gmpvar 9.25
-src/Specific/montgomery32_2e379m19_12limbs/gmpsec 8.44
-src/Specific/solinas32_2e382m105_16limbs/fibe 2.66
-src/Specific/solinas32_2e382m105_17limbs/fibe 4.05
-# MISSING src/Specific/montgomery32_2e382m105_12limbs/fibe
-src/Specific/montgomery32_2e382m105_12limbs/gmpvar 9.04
-src/Specific/montgomery32_2e382m105_12limbs/gmpsec 8.41
-src/Specific/solinas32_2e383m421_17limbs/fibe 4.19
-src/Specific/solinas32_2e383m421_18limbs/fibe 3.58
-# MISSING src/Specific/montgomery32_2e383m421_12limbs/fibe
-src/Specific/montgomery32_2e383m421_12limbs/gmpvar 9.11
-src/Specific/montgomery32_2e383m421_12limbs/gmpsec 8.45
-src/Specific/solinas32_2e383m187_16limbs/fibe 2.63
-src/Specific/solinas32_2e383m187_17limbs/fibe 4.14
-# MISSING src/Specific/montgomery32_2e383m187_12limbs/fibe
-src/Specific/montgomery32_2e383m187_12limbs/gmpvar 9.11
-src/Specific/montgomery32_2e383m187_12limbs/gmpsec 8.44
-# MISSING src/Specific/solinas32_2e383m31_15limbs/fibe
-src/Specific/solinas32_2e383m31_16limbs/fibe 2.60
-# MISSING src/Specific/montgomery32_2e383m31_12limbs/fibe
-src/Specific/montgomery32_2e383m31_12limbs/gmpvar 9.13
-src/Specific/montgomery32_2e383m31_12limbs/gmpsec 8.47
-src/Specific/solinas32_2e384m317_17limbs/fibe 3.95
-src/Specific/solinas32_2e384m317_18limbs/fibe 4.18
-# MISSING src/Specific/montgomery32_2e384m317_12limbs/fibe
-src/Specific/montgomery32_2e384m317_12limbs/gmpvar 8.82
-src/Specific/montgomery32_2e384m317_12limbs/gmpsec 7.62
-# MISSING src/Specific/solinas32_2e389m21_15limbs/fibe
-src/Specific/solinas32_2e389m21_16limbs/fibe 2.89
-# MISSING src/Specific/montgomery32_2e389m21_13limbs/fibe
-src/Specific/montgomery32_2e389m21_13limbs/gmpvar 9.93
-src/Specific/montgomery32_2e389m21_13limbs/gmpsec 9.41
-src/Specific/solinas32_2e401m31_16limbs/fibe 2.85
-src/Specific/solinas32_2e401m31_17limbs/fibe 4.17
-# MISSING src/Specific/montgomery32_2e401m31_13limbs/fibe
-src/Specific/montgomery32_2e401m31_13limbs/gmpvar 9.92
-src/Specific/montgomery32_2e401m31_13limbs/gmpsec 9.35
-# MISSING src/Specific/solinas32_2e413m21_16limbs/fibe
-src/Specific/solinas32_2e413m21_17limbs/fibe 3.53
-# MISSING src/Specific/montgomery32_2e413m21_13limbs/fibe
-src/Specific/montgomery32_2e413m21_13limbs/gmpvar 9.93
-src/Specific/montgomery32_2e413m21_13limbs/gmpsec 9.48
-# MISSING src/Specific/solinas32_2e414m17_16limbs/fibe
-src/Specific/solinas32_2e414m17_17limbs/fibe 3.72
-# MISSING src/Specific/montgomery32_2e414m17_13limbs/fibe
-src/Specific/montgomery32_2e414m17_13limbs/gmpvar 9.86
-src/Specific/montgomery32_2e414m17_13limbs/gmpsec 9.40
-# MISSING src/Specific/solinas32_2e444m17_17limbs/fibe
-src/Specific/solinas32_2e444m17_18limbs/fibe 3.70
-# MISSING src/Specific/montgomery32_2e444m17_14limbs/fibe
-src/Specific/montgomery32_2e444m17_14limbs/gmpvar 10.89
-src/Specific/montgomery32_2e444m17_14limbs/gmpsec 10.31
-src/Specific/solinas32_2e452m3_17limbs/fibe 3.76
-src/Specific/solinas32_2e452m3_18limbs/fibe 3.23
-# MISSING src/Specific/montgomery32_2e452m3_15limbs/fibe
-src/Specific/montgomery32_2e452m3_15limbs/gmpvar 11.63
-src/Specific/montgomery32_2e452m3_15limbs/gmpsec 11.33
-src/Specific/solinas32_2e468m17_18limbs/fibe 3.20
-src/Specific/solinas32_2e468m17_19limbs/fibe 5.38
-# MISSING src/Specific/montgomery32_2e468m17_15limbs/fibe
-src/Specific/montgomery32_2e468m17_15limbs/gmpvar 11.63
-src/Specific/montgomery32_2e468m17_15limbs/gmpsec 11.37
-# MISSING src/Specific/solinas32_2e488m17_19limbs/fibe
-src/Specific/solinas32_2e488m17_20limbs/fibe 7.99
-# MISSING src/Specific/montgomery32_2e488m17_16limbs/fibe
-src/Specific/montgomery32_2e488m17_16limbs/gmpvar 12.92
-src/Specific/montgomery32_2e488m17_16limbs/gmpsec 12.23
-# MISSING src/Specific/solinas32_2e489m21_19limbs/fibe
-src/Specific/solinas32_2e489m21_20limbs/fibe 7.70
-# MISSING src/Specific/montgomery32_2e489m21_16limbs/fibe
-src/Specific/montgomery32_2e489m21_16limbs/gmpvar 12.81
-src/Specific/montgomery32_2e489m21_16limbs/gmpsec 12.26
-src/Specific/solinas32_2e495m31_20limbs/fibe 6.07
-src/Specific/solinas32_2e495m31_21limbs/fibe 8.60
-# MISSING src/Specific/montgomery32_2e495m31_16limbs/fibe
-src/Specific/montgomery32_2e495m31_16limbs/gmpvar 13.10
-src/Specific/montgomery32_2e495m31_16limbs/gmpsec 12.20
-# MISSING src/Specific/solinas32_2e511m481_23limbs/fibe
-# MISSING src/Specific/solinas32_2e511m481_24limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m481_16limbs/fibe
-src/Specific/montgomery32_2e511m481_16limbs/gmpvar 12.90
-src/Specific/montgomery32_2e511m481_16limbs/gmpsec 12.23
-src/Specific/solinas32_2e511m187_22limbs/fibe 9.73
-# MISSING src/Specific/solinas32_2e511m187_23limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m187_16limbs/fibe
-src/Specific/montgomery32_2e511m187_16limbs/gmpvar 13.07
-src/Specific/montgomery32_2e511m187_16limbs/gmpsec 12.21
-# MISSING src/Specific/solinas32_2e512m569_24limbs/fibe
-# MISSING src/Specific/solinas32_2e512m569_25limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m569_16limbs/fibe
-src/Specific/montgomery32_2e512m569_16limbs/gmpvar 12.55
-src/Specific/montgomery32_2e512m569_16limbs/gmpsec 11.23
-src/Specific/solinas32_2e521m1_19limbs/fibe 5.27
-src/Specific/solinas32_2e521m1_20limbs/fibe 3.90
-# MISSING src/Specific/montgomery32_2e521m1_17limbs/fibe
-src/Specific/montgomery32_2e521m1_17limbs/gmpvar 13.91
-src/Specific/montgomery32_2e521m1_17limbs/gmpsec 13.30
-# MISSING src/Specific/solinas32_2e192m2e64m1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e192m2e64m1_9limbs/fibe
-src/Specific/montgomery32_2e192m2e64m1_6limbs/fibe 2.41
-src/Specific/montgomery32_2e192m2e64m1_6limbs/gmpvar 4.23
-src/Specific/montgomery32_2e192m2e64m1_6limbs/gmpsec 3.56
-src/Specific/solinas32_2e216m2e108m1_10limbs/fibe 1.00
-src/Specific/solinas32_2e216m2e108m1_8limbs/fibe 0.70
-# MISSING src/Specific/montgomery32_2e216m2e108m1_7limbs/fibe
-src/Specific/montgomery32_2e216m2e108m1_7limbs/gmpvar 4.92
-src/Specific/montgomery32_2e216m2e108m1_7limbs/gmpsec 4.67
-src/Specific/solinas32_2e322m2e161m1_12limbs/fibe 1.37
-src/Specific/solinas32_2e322m2e161m1_14limbs/fibe 1.82
-# MISSING src/Specific/montgomery32_2e322m2e161m1_11limbs/fibe
-src/Specific/montgomery32_2e322m2e161m1_11limbs/gmpvar 7.74
-src/Specific/montgomery32_2e322m2e161m1_11limbs/gmpsec 7.66
-src/Specific/solinas32_2e416m2e208m1_16limbs/fibe 2.48
-src/Specific/solinas32_2e416m2e208m1_18limbs/fibe 3.34
-# MISSING src/Specific/montgomery32_2e416m2e208m1_13limbs/fibe
-src/Specific/montgomery32_2e416m2e208m1_13limbs/gmpvar 9.67
-src/Specific/montgomery32_2e416m2e208m1_13limbs/gmpsec 8.54
-# MISSING src/Specific/solinas32_2e448m2e224m1_16limbs/fibe
-src/Specific/solinas32_2e448m2e224m1_18limbs/fibe 3.18
-# MISSING src/Specific/montgomery32_2e448m2e224m1_14limbs/fibe
-src/Specific/montgomery32_2e448m2e224m1_14limbs/gmpvar 10.51
-src/Specific/montgomery32_2e448m2e224m1_14limbs/gmpsec 9.57
-# MISSING src/Specific/solinas32_2e450m2e225m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e450m2e225m1_20limbs/fibe
-# MISSING src/Specific/montgomery32_2e450m2e225m1_15limbs/fibe
-src/Specific/montgomery32_2e450m2e225m1_15limbs/gmpvar 11.63
-src/Specific/montgomery32_2e450m2e225m1_15limbs/gmpsec 11.37
-src/Specific/solinas32_2e480m2e240m1_18limbs/fibe 3.58
-# MISSING src/Specific/solinas32_2e480m2e240m1_20limbs/fibe
-# MISSING src/Specific/montgomery32_2e480m2e240m1_15limbs/fibe
-src/Specific/montgomery32_2e480m2e240m1_15limbs/gmpvar 11.33
-src/Specific/montgomery32_2e480m2e240m1_15limbs/gmpsec 10.47
-# MISSING src/Specific/solinas32_2e205m45x2e198m1_*limbs
-# MISSING src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fibe
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/gmpvar 5.03
-src/Specific/montgomery32_2e205m45x2e198m1_7limbs/gmpsec 4.66
-# MISSING src/Specific/solinas32_2e224m2e96p1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e224m2e96p1_7limbs/fibe
-src/Specific/montgomery32_2e224m2e96p1_7limbs/gmpvar 4.85
-src/Specific/montgomery32_2e224m2e96p1_7limbs/gmpsec 4.13
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fibe
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/gmpvar 5.46
-src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/gmpsec 4.70
-src/Specific/solinas32_2e256m2e32m977_12limbs/fibe 1.65
-src/Specific/solinas32_2e256m2e32m977_13limbs/fibe 2.00
-# MISSING src/Specific/montgomery32_2e256m2e32m977_8limbs/fibe
-src/Specific/montgomery32_2e256m2e32m977_8limbs/gmpvar 5.45
-src/Specific/montgomery32_2e256m2e32m977_8limbs/gmpsec 4.72
-# MISSING src/Specific/solinas32_2e256m4294968273_*limbs
-# MISSING src/Specific/montgomery32_2e256m4294968273_8limbs/fibe
-src/Specific/montgomery32_2e256m4294968273_8limbs/gmpvar 5.48
-src/Specific/montgomery32_2e256m4294968273_8limbs/gmpsec 4.77
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fibe
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/gmpvar 8.80
-src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/gmpsec 7.62
-# MISSING src/Specific/solinas32_2e256m88x2e240m1_*limbs
-# MISSING src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fibe
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/gmpvar 5.46
-src/Specific/montgomery32_2e256m88x2e240m1_8limbs/gmpsec 4.78
-# MISSING src/Specific/solinas32_2e254m127x2e240m1_*limbs
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fibe 3.97
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/gmpvar 5.70
-src/Specific/montgomery32_2e254m127x2e240m1_8limbs/gmpsec 5.26
-# MISSING src/Specific/solinas32_2e384m79x2e376m1_*limbs
-# MISSING src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fibe
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/gmpvar 8.84
-src/Specific/montgomery32_2e384m79x2e376m1_12limbs/gmpsec 7.66
-# MISSING src/Specific/solinas32_2e384m5x2e368m1_*limbs
-# MISSING src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fibe
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/gmpvar 8.94
-src/Specific/montgomery32_2e384m5x2e368m1_12limbs/gmpsec 7.64
-# MISSING src/Specific/solinas32_2e512m491x2e496m1_*limbs
-# MISSING src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fibe
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/gmpvar 12.58
-src/Specific/montgomery32_2e512m491x2e496m1_16limbs/gmpsec 11.26
-# MISSING src/Specific/solinas32_2e510m290x2e496m1_*limbs
-# MISSING src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fibe
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/gmpvar 12.90
-src/Specific/montgomery32_2e510m290x2e496m1_16limbs/gmpsec 12.17
diff --git a/measurements/2017-11-16/missing-haswell.txt b/measurements/2017-11-16/missing-haswell.txt
deleted file mode 100644
index b5694cab1..000000000
--- a/measurements/2017-11-16/missing-haswell.txt
+++ /dev/null
@@ -1,146 +0,0 @@
-andreser@linux-andreser:~/fiat-crypto$ grep MISSING measurements/2017-11-16/measurements-haswell.txt | grep '*'
-# MISSING src/Specific/solinas64_2e205m45x2e198m1_*limbs
-# MISSING src/Specific/solinas32_2e205m45x2e198m1_*limbs
-# MISSING src/Specific/solinas32_2e256m4294968273_*limbs
-# MISSING src/Specific/solinas64_2e256m88x2e240m1_*limbs
-# MISSING src/Specific/solinas32_2e256m88x2e240m1_*limbs
-# MISSING src/Specific/solinas64_2e254m127x2e240m1_*limbs
-# MISSING src/Specific/solinas32_2e254m127x2e240m1_*limbs
-# MISSING src/Specific/solinas64_2e384m79x2e376m1_*limbs
-# MISSING src/Specific/solinas32_2e384m79x2e376m1_*limbs
-# MISSING src/Specific/solinas64_2e384m5x2e368m1_*limbs
-# MISSING src/Specific/solinas32_2e384m5x2e368m1_*limbs
-# MISSING src/Specific/solinas64_2e512m491x2e496m1_*limbs
-# MISSING src/Specific/solinas32_2e512m491x2e496m1_*limbs
-# MISSING src/Specific/solinas64_2e510m290x2e496m1_*limbs
-# MISSING src/Specific/solinas32_2e510m290x2e496m1_*limbs
-andreser@linux-andreser:~/fiat-crypto$ grep MISSING measurements/2017-11-16/measurements-haswell.txt | grep -v '*' | grep solinas32
-# MISSING src/Specific/solinas32_2e137m13_5limbs/fibe
-# MISSING src/Specific/solinas32_2e166m5_6limbs/fibe
-# MISSING src/Specific/solinas32_2e189m25_7limbs/fibe
-# MISSING src/Specific/solinas32_2e190m11_7limbs/fibe
-# MISSING src/Specific/solinas32_2e212m29_8limbs/fibe
-# MISSING src/Specific/solinas32_2e221m3_8limbs/fibe
-# MISSING src/Specific/solinas32_2e291m19_11limbs/fibe
-# MISSING src/Specific/solinas32_2e321m9_12limbs/fibe
-# MISSING src/Specific/solinas32_2e336m3_12limbs/fibe
-# MISSING src/Specific/solinas32_2e383m31_15limbs/fibe
-# MISSING src/Specific/solinas32_2e389m21_15limbs/fibe
-# MISSING src/Specific/solinas32_2e413m21_16limbs/fibe
-# MISSING src/Specific/solinas32_2e414m17_16limbs/fibe
-# MISSING src/Specific/solinas32_2e444m17_17limbs/fibe
-# MISSING src/Specific/solinas32_2e488m17_19limbs/fibe
-# MISSING src/Specific/solinas32_2e489m21_19limbs/fibe
-# MISSING src/Specific/solinas32_2e511m481_23limbs/fibe
-# MISSING src/Specific/solinas32_2e511m481_24limbs/fibe
-# MISSING src/Specific/solinas32_2e511m187_23limbs/fibe
-# MISSING src/Specific/solinas32_2e512m569_24limbs/fibe
-# MISSING src/Specific/solinas32_2e512m569_25limbs/fibe
-# MISSING src/Specific/solinas32_2e192m2e64m1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e192m2e64m1_9limbs/fibe
-# MISSING src/Specific/solinas32_2e448m2e224m1_16limbs/fibe
-# MISSING src/Specific/solinas32_2e450m2e225m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e450m2e225m1_20limbs/fibe
-# MISSING src/Specific/solinas32_2e480m2e240m1_20limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_11limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fibe
-andreser@linux-andreser:~/fiat-crypto$ grep MISSING measurements/2017-11-16/measurements-haswell.txt | grep -v '*' | grep solinas64
-# MISSING src/Specific/solinas64_2e413m21_7limbs/fibe
-# MISSING src/Specific/solinas64_2e216m2e108m1_5limbs/fibe
-# MISSING src/Specific/solinas64_2e322m2e161m1_7limbs/fibe
-# MISSING src/Specific/solinas64_2e416m2e208m1_9limbs/fibe
-# MISSING src/Specific/solinas64_2e224m2e96p1_5limbs/fibe
-# MISSING src/Specific/solinas64_2e224m2e96p1_6limbs/fibe
-# MISSING src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fibe
-# MISSING src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fibe
-# MISSING src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fibe
-# MISSING src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fibe
-andreser@linux-andreser:~/fiat-crypto$ grep MISSING measurements/2017-11-16/measurements-haswell.txt | grep -v '*' | grep montgomery32
-# MISSING src/Specific/montgomery32_2e194m33_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e196m15_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e198m17_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e206m5_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e212m29_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e213m3_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e221m3_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e222m117_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e226m5_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e230m27_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e235m15_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e243m9_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e251m9_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e255m765_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e255m19_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m189_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e266m3_9limbs/fibe
-# MISSING src/Specific/montgomery32_2e285m9_9limbs/fibe
-# MISSING src/Specific/montgomery32_2e291m19_10limbs/fibe
-# MISSING src/Specific/montgomery32_2e321m9_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e336m17_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e336m3_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e338m15_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e369m25_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e379m19_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e382m105_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e383m421_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e383m187_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e383m31_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m317_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e389m21_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e401m31_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e413m21_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e414m17_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e444m17_14limbs/fibe
-# MISSING src/Specific/montgomery32_2e452m3_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e468m17_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e488m17_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e489m21_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e495m31_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m481_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m187_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m569_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e521m1_17limbs/fibe
-# MISSING src/Specific/montgomery32_2e216m2e108m1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e322m2e161m1_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e416m2e208m1_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e448m2e224m1_14limbs/fibe
-# MISSING src/Specific/montgomery32_2e450m2e225m1_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e480m2e240m1_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e224m2e96p1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m2e32m977_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m4294968273_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fibe
-andreser@linux-andreser:~/fiat-crypto$ grep MISSING measurements/2017-11-16/measurements-haswell.txt | grep -v '*' | grep montgomery64
-# MISSING src/Specific/montgomery64_2e389m21_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e401m31_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e413m21_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e414m17_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e444m17_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e452m3_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e468m17_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e488m17_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e489m21_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e495m31_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e511m481_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e511m187_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e512m569_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e521m1_9limbs/fibe
-# MISSING src/Specific/montgomery64_2e416m2e208m1_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e448m2e224m1_7limbs/fibe
-# MISSING src/Specific/montgomery64_2e450m2e225m1_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e480m2e240m1_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fibe
-# MISSING src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fibe
-
diff --git a/measurements/2017-11-16/missing-krait.txt b/measurements/2017-11-16/missing-krait.txt
deleted file mode 100644
index 61f279ae9..000000000
--- a/measurements/2017-11-16/missing-krait.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-andreser@andreser:~/fiat-crypto$ grep MISSING ./measurements/2017-11-16/measurements-krail.txt | grep '*'
-# MISSING src/Specific/solinas32_2e205m45x2e198m1_*limbs
-# MISSING src/Specific/solinas32_2e256m4294968273_*limbs
-# MISSING src/Specific/solinas32_2e256m88x2e240m1_*limbs
-# MISSING src/Specific/solinas32_2e254m127x2e240m1_*limbs
-# MISSING src/Specific/solinas32_2e384m79x2e376m1_*limbs
-# MISSING src/Specific/solinas32_2e384m5x2e368m1_*limbs
-# MISSING src/Specific/solinas32_2e512m491x2e496m1_*limbs
-# MISSING src/Specific/solinas32_2e510m290x2e496m1_*limbs
-andreser@andreser:~/fiat-crypto$ grep MISSING ./measurements/2017-11-16/measurements-krail.txt | grep -v '*' | grep solinas
-# MISSING src/Specific/solinas32_2e137m13_5limbs/fibe
-# MISSING src/Specific/solinas32_2e166m5_6limbs/fibe
-# MISSING src/Specific/solinas32_2e189m25_7limbs/fibe
-# MISSING src/Specific/solinas32_2e190m11_7limbs/fibe
-# MISSING src/Specific/solinas32_2e212m29_8limbs/fibe
-# MISSING src/Specific/solinas32_2e221m3_8limbs/fibe
-# MISSING src/Specific/solinas32_2e291m19_11limbs/fibe
-# MISSING src/Specific/solinas32_2e321m9_12limbs/fibe
-# MISSING src/Specific/solinas32_2e336m3_12limbs/fibe
-# MISSING src/Specific/solinas32_2e383m31_15limbs/fibe
-# MISSING src/Specific/solinas32_2e389m21_15limbs/fibe
-# MISSING src/Specific/solinas32_2e413m21_16limbs/fibe
-# MISSING src/Specific/solinas32_2e414m17_16limbs/fibe
-# MISSING src/Specific/solinas32_2e444m17_17limbs/fibe
-# MISSING src/Specific/solinas32_2e488m17_19limbs/fibe
-# MISSING src/Specific/solinas32_2e489m21_19limbs/fibe
-# MISSING src/Specific/solinas32_2e511m481_23limbs/fibe
-# MISSING src/Specific/solinas32_2e511m481_24limbs/fibe
-# MISSING src/Specific/solinas32_2e511m187_23limbs/fibe
-# MISSING src/Specific/solinas32_2e512m569_24limbs/fibe
-# MISSING src/Specific/solinas32_2e512m569_25limbs/fibe
-# MISSING src/Specific/solinas32_2e192m2e64m1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e192m2e64m1_9limbs/fibe
-# MISSING src/Specific/solinas32_2e448m2e224m1_16limbs/fibe
-# MISSING src/Specific/solinas32_2e450m2e225m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e450m2e225m1_20limbs/fibe
-# MISSING src/Specific/solinas32_2e480m2e240m1_20limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_10limbs/fibe
-# MISSING src/Specific/solinas32_2e224m2e96p1_11limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fibe
-# MISSING src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fibe
-# MISSING src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fibe
-andreser@andreser:~/fiat-crypto$ grep MISSING ./measurements/2017-11-16/measurements-krail.txt | grep -v '*' | grep montgomery
-# MISSING src/Specific/montgomery32_2e194m33_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e196m15_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e198m17_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e206m5_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e212m29_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e213m3_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e221m3_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e222m117_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e226m5_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e230m27_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e235m15_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e243m9_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e251m9_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e255m765_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e255m19_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m189_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e266m3_9limbs/fibe
-# MISSING src/Specific/montgomery32_2e285m9_9limbs/fibe
-# MISSING src/Specific/montgomery32_2e291m19_10limbs/fibe
-# MISSING src/Specific/montgomery32_2e321m9_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e336m17_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e336m3_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e338m15_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e369m25_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e379m19_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e382m105_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e383m421_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e383m187_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e383m31_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m317_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e389m21_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e401m31_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e413m21_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e414m17_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e444m17_14limbs/fibe
-# MISSING src/Specific/montgomery32_2e452m3_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e468m17_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e488m17_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e489m21_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e495m31_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m481_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e511m187_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m569_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e521m1_17limbs/fibe
-# MISSING src/Specific/montgomery32_2e216m2e108m1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e322m2e161m1_11limbs/fibe
-# MISSING src/Specific/montgomery32_2e416m2e208m1_13limbs/fibe
-# MISSING src/Specific/montgomery32_2e448m2e224m1_14limbs/fibe
-# MISSING src/Specific/montgomery32_2e450m2e225m1_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e480m2e240m1_15limbs/fibe
-# MISSING src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e224m2e96p1_7limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m2e32m977_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m4294968273_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fibe
-# MISSING src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fibe
-# MISSING src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fibe
-andreser@andreser:~/fiat-crypto$ grep MISSING ./measurements/2017-11-16/measurements-krail.txt | grep -v '*' | grep gmp
diff --git a/measurements/gather_results.sh b/measurements/gather_results.sh
deleted file mode 100644
index 8b6b0ca98..000000000
--- a/measurements/gather_results.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-cat 2017-11-16/measurements-krait.txt | grep -v "^#" | grep -o "[a-z0-9]*_2e.*_.*/[a-z]*\s.*" | sed "s/_[0-9]*limbs\//\t/g" | sed "s/montgomery[0-9][0-9]_\(.*\)fibe/\1fiat_montgomery/g" | sed "s/montgomery[0-9][0-9]_\(.*\)gmp/\1gmp/g" | sed "s/solinas[0-9][0-9]_\(.*\)fibe/\1fiat_solinas/g" | sed "s/gmp\([a-z]*\)\s*\([0-9]\)/gmp\1\t\2/g" | sed "s/fiat_\([a-z]*\)\s*\([0-9]\)/fiat_\1\t\2/g" > results-by-field-aggregate32.txt
-cat 2017-11-16/measurements-haswell.txt | grep -v "^#" | grep -o "[a-z0-9]*_2e.*_.*/[a-z]*\s.*" | sed "s/_[0-9]*limbs\//\t/g" | sed "s/montgomery[0-9][0-9]_\(.*\)fibe/\1fiat_montgomery/g" | sed "s/montgomery[0-9][0-9]_\(.*\)gmp/\1gmp/g" | sed "s/solinas[0-9][0-9]_\(.*\)fibe/\1fiat_solinas/g" | sed "s/gmp\([a-z]*\)\s*\([0-9]\)/gmp\1\t\2/g" | sed "s/fiat_\([a-z]*\)\s*\([0-9]\)/fiat_\1\t\2/g" > results-by-field-aggregate64.txt
diff --git a/measurements/graph_aggregate_32.tex b/measurements/graph_aggregate_32.tex
deleted file mode 100644
index f4a9fdb0e..000000000
--- a/measurements/graph_aggregate_32.tex
+++ /dev/null
@@ -1,234 +0,0 @@
-
- \begin{figure*}
- \begin{tikzpicture}
- \begin{axis}[
- height=3.4cm,
- title style={font=\small},
- title=32-bit Field Arithmetic Benchmarks,
- width=\textwidth,
- legend pos= north west,
- xtick distance=64,
- legend style={font=\tiny},
- label style={font=\footnotesize},
- xlabel style={at={(0.5,0.1)}, anchor=north},
- legend columns=2,
- tick label style={font=\footnotesize},
- grid=major,
- ymin=0,
- xlabel=log2(prime),
- ylabel=Time (seconds)]
- \addplot[color=red,mark=o,mark size=2pt] coordinates {
- (127.0, 3.24)
- (129.0, 3.78)
- (130.0, 3.77)
- (137.0, 3.79)
- (140.0, 3.80)
- (141.0, 3.81)
- (150.0, 3.76)
- (150.0, 3.83)
- (152.0, 3.85)
- (158.0, 3.77)
- (165.0, 4.43)
- (166.0, 4.45)
- (171.0, 4.35)
- (174.0, 4.40)
- (174.0, 4.41)
- (189.0, 4.40)
- (190.0, 4.42)
- (191.0, 4.40)
- (192.0, 4.30)
- (194.0, 5.01)
- (196.0, 4.95)
- (198.0, 4.93)
- (206.0, 4.97)
- (212.0, 4.98)
- (213.0, 4.97)
- (216.0, 4.93)
- (221.0, 5.08)
- (222.0, 4.93)
- (226.0, 5.70)
- (230.0, 5.68)
- (235.0, 5.65)
- (243.0, 5.72)
- (251.0, 5.68)
- (255.0, 5.72)
- (255.0, 5.69)
- (256.0, 5.55)
- (256.0, 5.53)
- (266.0, 6.39)
- (285.0, 6.38)
- (291.0, 7.08)
- (321.0, 7.75)
- (322.0, 7.76)
- (336.0, 7.74)
- (336.0, 7.75)
- (338.0, 7.73)
- (369.0, 9.06)
- (379.0, 9.16)
- (382.0, 9.09)
- (383.0, 9.20)
- (383.0, 9.18)
- (383.0, 9.12)
- (384.0, 8.88)
- (389.0, 9.84)
- (401.0, 9.86)
- (413.0, 10.02)
- (414.0, 9.86)
- (416.0, 9.66)
- (444.0, 10.77)
- (448.0, 10.54)
- (452.0, 11.70)
- (468.0, 11.62)
- (480.0, 11.36)
- (488.0, 13.04)
- (489.0, 12.91)
- (495.0, 12.97)
- (521.0, 13.94)
- };
- \addlegendentry{GMP mpn API}
-
- \addplot[color=red,mark=*,mark size=2pt] coordinates {
- (127.0, 2.90)
- (129.0, 3.43)
- (130.0, 3.42)
- (137.0, 3.38)
- (140.0, 3.39)
- (141.0, 3.44)
- (150.0, 3.41)
- (150.0, 3.42)
- (152.0, 3.40)
- (158.0, 3.41)
- (165.0, 4.03)
- (166.0, 3.99)
- (171.0, 4.02)
- (174.0, 4.04)
- (174.0, 4.03)
- (189.0, 4.07)
- (190.0, 4.04)
- (191.0, 4.08)
- (192.0, 3.56)
- (194.0, 4.65)
- (196.0, 4.69)
- (198.0, 4.69)
- (206.0, 4.64)
- (212.0, 4.66)
- (213.0, 4.66)
- (216.0, 4.68)
- (221.0, 4.67)
- (222.0, 4.68)
- (226.0, 5.25)
- (230.0, 5.28)
- (235.0, 5.24)
- (243.0, 5.26)
- (251.0, 5.29)
- (255.0, 5.36)
- (255.0, 5.27)
- (256.0, 4.73)
- (256.0, 4.74)
- (266.0, 6.07)
- (285.0, 6.08)
- (291.0, 6.95)
- (321.0, 7.67)
- (322.0, 7.71)
- (336.0, 7.59)
- (336.0, 7.65)
- (338.0, 7.60)
- (369.0, 8.40)
- (379.0, 8.41)
- (382.0, 8.39)
- (383.0, 8.45)
- (383.0, 8.43)
- (383.0, 8.38)
- (384.0, 7.67)
- (389.0, 9.39)
- (401.0, 9.38)
- (413.0, 9.33)
- (414.0, 9.40)
- (416.0, 8.52)
- (444.0, 10.38)
- (448.0, 9.42)
- (452.0, 11.40)
- (468.0, 11.39)
- (480.0, 10.48)
- (488.0, 12.31)
- (489.0, 12.22)
- (495.0, 12.20)
- (521.0, 13.35)
- };
- \addlegendentry{GMP mpn\_sec API}
-
- \addplot[color=blue,mark=triangle*,mark size=2pt] coordinates {
- (127.0, 0.33)
- (129.0, 0.37)
- (130.0, 0.45)
- (137.0, 0.48)
- (140.0, 0.49)
- (141.0, 0.48)
- (150.0, 0.47)
- (150.0, 0.43)
- (152.0, 0.48)
- (158.0, 0.51)
- (165.0, 0.60)
- (166.0, 0.62)
- (171.0, 0.62)
- (174.0, 0.62)
- (174.0, 0.59)
- (189.0, 0.71)
- (190.0, 0.69)
- (191.0, 0.70)
- (192.0, 2.39)
- (194.0, 0.72)
- (196.0, 0.76)
- (198.0, 0.72)
- (204.37503943134692, 0.36)
- (206.0, 0.72)
- (212.0, 0.89)
- (213.0, 0.70)
- (216.0, 0.96)
- (221.0, 0.81)
- (222.0, 0.88)
- (224.0, 0.32)
- (226.0, 1.02)
- (230.0, 0.82)
- (235.0, 1.19)
- (243.0, 1.09)
- (251.0, 1.16)
- (255.0, 1.61)
- (255.0, 1.16)
- (256.0, 1.97)
- (256.0, 1.15)
- (266.0, 0.97)
- (285.0, 1.22)
- (291.0, 1.35)
- (321.0, 1.73)
- (322.0, 1.34)
- (336.0, 1.66)
- (336.0, 1.59)
- (338.0, 1.93)
- (369.0, 2.53)
- (379.0, 2.49)
- (382.0, 2.68)
- (383.0, 4.20)
- (383.0, 2.59)
- (383.0, 2.58)
- (384.0, 3.94)
- (389.0, 3.00)
- (401.0, 4.18)
- (413.0, 3.53)
- (414.0, 3.73)
- (416.0, 3.32)
- (444.0, 3.63)
- (448.0, 3.16)
- (452.0, 3.74)
- (468.0, 5.37)
- (480.0, 3.55)
- (488.0, 8.01)
- (489.0, 7.70)
- (495.0, 6.06)
- (521.0, 5.33)
- };
- \addlegendentry{this paper}
-
- \end{axis}
-\end{tikzpicture}
-\end{figure*}
diff --git a/measurements/graph_aggregate_64.tex b/measurements/graph_aggregate_64.tex
deleted file mode 100644
index 6c456c151..000000000
--- a/measurements/graph_aggregate_64.tex
+++ /dev/null
@@ -1,272 +0,0 @@
-
- \begin{figure*}
- \begin{tikzpicture}
- \begin{axis}[
- height=3.4cm,
- title style={font=\small},
- title=64-bit Field Arithmetic Benchmarks,
- width=\textwidth,
- legend pos= north west,
- xtick distance=64,
- legend style={font=\tiny},
- label style={font=\footnotesize},
- xlabel style={at={(0.5,0.1)}, anchor=north},
- legend columns=2,
- tick label style={font=\footnotesize},
- grid=major,
- ymin=0,
- xlabel=log2(prime),
- ylabel=Time (seconds)]
- \addplot[color=red,mark=o,mark size=2pt] coordinates {
- (127.0, 0.15)
- (129.0, 0.27)
- (130.0, 0.27)
- (137.0, 0.27)
- (140.0, 0.27)
- (141.0, 0.27)
- (150.0, 0.27)
- (150.0, 0.27)
- (152.0, 0.27)
- (158.0, 0.27)
- (165.0, 0.27)
- (166.0, 0.28)
- (171.0, 0.27)
- (174.0, 0.27)
- (174.0, 0.27)
- (189.0, 0.27)
- (190.0, 0.27)
- (191.0, 0.26)
- (192.0, 0.24)
- (194.0, 0.35)
- (196.0, 0.34)
- (198.0, 0.34)
- (204.37503943134692, 0.34)
- (206.0, 0.34)
- (212.0, 0.34)
- (213.0, 0.35)
- (216.0, 0.35)
- (221.0, 0.35)
- (222.0, 0.34)
- (224.0, 0.35)
- (226.0, 0.34)
- (230.0, 0.34)
- (235.0, 0.34)
- (243.0, 0.34)
- (251.0, 0.35)
- (253.98877343250717, 0.35)
- (255.0, 0.33)
- (255.0, 0.33)
- (255.9980614856364, 0.34)
- (255.99999999966408, 0.33)
- (256.0, 0.33)
- (256.0, 0.33)
- (266.0, 0.43)
- (285.0, 0.43)
- (291.0, 0.46)
- (321.0, 0.52)
- (322.0, 0.52)
- (336.0, 0.52)
- (336.0, 0.52)
- (338.0, 0.53)
- (369.0, 0.53)
- (379.0, 0.53)
- (382.0, 0.53)
- (383.0, 0.50)
- (383.0, 0.49)
- (383.0, 0.51)
- (383.467605550083, 0.46)
- (383.9998899269044, 0.46)
- (384.0, 0.46)
- (384.0, 0.46)
- (389.0, 0.59)
- (401.0, 0.60)
- (413.0, 0.60)
- (414.0, 0.60)
- (416.0, 0.60)
- (444.0, 0.60)
- (448.0, 0.54)
- (450.0, 0.69)
- (452.0, 0.71)
- (468.0, 0.68)
- (480.0, 0.69)
- (488.0, 0.69)
- (489.0, 0.69)
- (495.0, 0.69)
- (509.97423531735535, 0.69)
- (511.0, 0.65)
- (511.0, 0.65)
- (511.9891505409899, 0.63)
- (512.0, 0.64)
- (521.0, 0.81)
- };
- \addlegendentry{GMP mpn API}
-
- \addplot[color=red,mark=*,mark size=2pt] coordinates {
- (127.0, 0.26)
- (129.0, 0.38)
- (130.0, 0.38)
- (137.0, 0.37)
- (140.0, 0.37)
- (141.0, 0.38)
- (150.0, 0.37)
- (150.0, 0.37)
- (152.0, 0.37)
- (158.0, 0.38)
- (165.0, 0.38)
- (166.0, 0.39)
- (171.0, 0.37)
- (174.0, 0.38)
- (174.0, 0.37)
- (189.0, 0.37)
- (190.0, 0.37)
- (191.0, 0.36)
- (192.0, 0.28)
- (194.0, 0.50)
- (196.0, 0.50)
- (198.0, 0.50)
- (204.37503943134692, 0.49)
- (206.0, 0.49)
- (212.0, 0.49)
- (213.0, 0.49)
- (216.0, 0.54)
- (221.0, 0.52)
- (222.0, 0.49)
- (224.0, 0.49)
- (226.0, 0.49)
- (230.0, 0.49)
- (235.0, 0.49)
- (243.0, 0.50)
- (251.0, 0.49)
- (253.98877343250717, 0.50)
- (255.0, 0.47)
- (255.0, 0.47)
- (255.9980614856364, 0.37)
- (255.99999999966408, 0.37)
- (256.0, 0.37)
- (256.0, 0.38)
- (266.0, 0.64)
- (285.0, 0.65)
- (291.0, 0.64)
- (321.0, 0.80)
- (322.0, 0.79)
- (336.0, 0.80)
- (336.0, 0.80)
- (338.0, 0.79)
- (369.0, 0.79)
- (379.0, 0.79)
- (382.0, 0.79)
- (383.0, 0.75)
- (383.0, 0.74)
- (383.0, 0.74)
- (383.467605550083, 0.62)
- (383.9998899269044, 0.62)
- (384.0, 0.62)
- (384.0, 0.62)
- (389.0, 0.96)
- (401.0, 0.95)
- (413.0, 0.96)
- (414.0, 0.96)
- (416.0, 0.97)
- (444.0, 0.96)
- (448.0, 0.79)
- (450.0, 1.17)
- (452.0, 1.16)
- (468.0, 1.17)
- (480.0, 1.18)
- (488.0, 1.15)
- (489.0, 1.16)
- (495.0, 1.15)
- (509.97423531735535, 1.17)
- (511.0, 1.10)
- (511.0, 1.11)
- (511.9891505409899, 0.95)
- (512.0, 0.95)
- (521.0, 1.41)
- };
- \addlegendentry{GMP mpn\_sec API}
-
- \addplot[color=blue,mark=triangle*,mark size=2pt] coordinates {
- (127.0, 0.02)
- (129.0, 0.03)
- (130.0, 0.03)
- (137.0, 0.03)
- (140.0, 0.03)
- (141.0, 0.03)
- (150.0, 0.03)
- (150.0, 0.03)
- (152.0, 0.03)
- (158.0, 0.03)
- (165.0, 0.03)
- (166.0, 0.03)
- (171.0, 0.03)
- (174.0, 0.03)
- (174.0, 0.03)
- (189.0, 0.04)
- (190.0, 0.04)
- (191.0, 0.04)
- (192.0, 0.04)
- (194.0, 0.04)
- (196.0, 0.04)
- (198.0, 0.04)
- (204.37503943134692, 0.13)
- (206.0, 0.04)
- (212.0, 0.05)
- (213.0, 0.04)
- (216.0, 0.04)
- (221.0, 0.04)
- (222.0, 0.04)
- (224.0, 0.12)
- (226.0, 0.05)
- (230.0, 0.05)
- (235.0, 0.04)
- (243.0, 0.06)
- (251.0, 0.06)
- (253.98877343250717, 0.13)
- (255.0, 0.06)
- (255.0, 0.06)
- (255.9980614856364, 0.12)
- (255.99999999966408, 0.11)
- (256.0, 0.10)
- (256.0, 0.06)
- (266.0, 0.06)
- (285.0, 0.06)
- (291.0, 0.07)
- (321.0, 0.10)
- (322.0, 0.08)
- (336.0, 0.11)
- (336.0, 0.10)
- (338.0, 0.11)
- (369.0, 0.13)
- (379.0, 0.13)
- (382.0, 0.13)
- (383.0, 0.13)
- (383.0, 0.13)
- (383.0, 0.13)
- (383.467605550083, 0.23)
- (383.9998899269044, 0.23)
- (384.0, 0.26)
- (384.0, 0.13)
- (389.0, 0.13)
- (401.0, 0.13)
- (413.0, 0.15)
- (414.0, 0.15)
- (416.0, 0.12)
- (444.0, 0.16)
- (448.0, 0.18)
- (450.0, 0.18)
- (452.0, 0.16)
- (468.0, 0.16)
- (480.0, 0.18)
- (488.0, 0.23)
- (489.0, 0.23)
- (495.0, 0.23)
- (511.0, 0.28)
- (511.0, 0.28)
- (512.0, 0.28)
- (521.0, 0.18)
- };
- \addlegendentry{this paper}
-
- \end{axis}
-\end{tikzpicture}
-\end{figure*}
diff --git a/measurements/results-by-field-aggregate32.txt b/measurements/results-by-field-aggregate32.txt
deleted file mode 100644
index dd12f226e..000000000
--- a/measurements/results-by-field-aggregate32.txt
+++ /dev/null
@@ -1,295 +0,0 @@
-2e127m1 fiat_solinas 0.30
-2e127m1 fiat_solinas 0.41
-2e127m1 fiat_montgomery 1.19
-2e127m1 gmpvar 3.23
-2e127m1 gmpsec 2.86
-2e129m25 fiat_solinas 0.35
-2e129m25 fiat_solinas 0.46
-2e129m25 fiat_montgomery 1.70
-2e129m25 gmpvar 3.77
-2e129m25 gmpsec 3.38
-2e130m5 fiat_solinas 0.44
-2e130m5 fiat_solinas 0.49
-2e130m5 fiat_montgomery 1.87
-2e130m5 gmpvar 3.79
-2e130m5 gmpsec 3.56
-2e137m13 fiat_solinas 0.48
-2e137m13 fiat_montgomery 2.06
-2e137m13 gmpvar 3.78
-2e137m13 gmpsec 3.41
-2e140m27 fiat_solinas 0.51
-2e140m27 fiat_solinas 0.58
-2e140m27 fiat_montgomery 1.98
-2e140m27 gmpvar 3.77
-2e140m27 gmpsec 3.43
-2e141m9 fiat_solinas 0.51
-2e141m9 fiat_solinas 0.59
-2e141m9 fiat_montgomery 2.00
-2e141m9 gmpvar 3.81
-2e141m9 gmpsec 3.43
-2e150m5 fiat_solinas 0.49
-2e150m5 fiat_solinas 0.59
-2e150m5 fiat_montgomery 1.99
-2e150m5 gmpvar 3.80
-2e150m5 gmpsec 3.38
-2e150m3 fiat_solinas 0.42
-2e150m3 fiat_solinas 0.57
-2e150m3 fiat_montgomery 2.00
-2e150m3 gmpvar 3.79
-2e150m3 gmpsec 3.56
-2e152m17 fiat_solinas 0.50
-2e152m17 fiat_solinas 0.62
-2e152m17 fiat_montgomery 1.96
-2e152m17 gmpvar 3.82
-2e152m17 gmpsec 3.40
-2e158m15 fiat_solinas 0.52
-2e158m15 fiat_solinas 0.64
-2e158m15 fiat_montgomery 2.04
-2e158m15 gmpvar 3.77
-2e158m15 gmpsec 3.40
-2e165m25 fiat_solinas 0.59
-2e165m25 fiat_solinas 0.73
-2e165m25 fiat_montgomery 2.46
-2e165m25 gmpvar 4.45
-2e165m25 gmpsec 4.02
-2e166m5 fiat_solinas 0.61
-2e166m5 fiat_montgomery 2.43
-2e166m5 gmpvar 4.43
-2e166m5 gmpsec 4.02
-2e171m19 fiat_solinas 0.57
-2e171m19 fiat_solinas 0.75
-2e171m19 fiat_montgomery 2.68
-2e171m19 gmpvar 4.51
-2e171m19 gmpsec 4.04
-2e174m17 fiat_solinas 0.58
-2e174m17 fiat_solinas 0.77
-2e174m17 fiat_montgomery 2.63
-2e174m17 gmpvar 4.39
-2e174m17 gmpsec 4.03
-2e174m3 fiat_solinas 0.61
-2e174m3 fiat_solinas 0.71
-2e174m3 fiat_montgomery 2.62
-2e174m3 gmpvar 4.40
-2e174m3 gmpsec 4.02
-2e189m25 fiat_solinas 0.70
-2e189m25 fiat_montgomery 2.65
-2e189m25 gmpvar 4.40
-2e189m25 gmpsec 4.05
-2e190m11 fiat_solinas 0.71
-2e190m11 fiat_montgomery 2.64
-2e190m11 gmpvar 4.42
-2e190m11 gmpsec 4.10
-2e191m19 fiat_solinas 0.66
-2e191m19 fiat_solinas 0.86
-2e191m19 fiat_montgomery 2.69
-2e191m19 gmpvar 4.40
-2e191m19 gmpsec 4.03
-2e194m33 fiat_solinas 0.75
-2e194m33 fiat_solinas 0.94
-2e194m33 gmpvar 4.94
-2e194m33 gmpsec 4.66
-2e196m15 fiat_solinas 0.77
-2e196m15 fiat_solinas 0.91
-2e196m15 gmpvar 4.94
-2e196m15 gmpsec 4.64
-2e198m17 fiat_solinas 0.76
-2e198m17 fiat_solinas 0.89
-2e198m17 gmpvar 4.97
-2e198m17 gmpsec 4.72
-2e206m5 fiat_solinas 0.76
-2e206m5 fiat_solinas 0.83
-2e206m5 gmpvar 4.91
-2e206m5 gmpsec 4.62
-2e212m29 fiat_solinas 0.86
-2e212m29 gmpvar 4.91
-2e212m29 gmpsec 4.68
-2e213m3 fiat_solinas 0.70
-2e213m3 fiat_solinas 0.84
-2e213m3 gmpvar 4.94
-2e213m3 gmpsec 4.68
-2e221m3 fiat_solinas 0.80
-2e221m3 gmpvar 4.92
-2e221m3 gmpsec 4.68
-2e222m117 fiat_solinas 1.03
-2e222m117 fiat_solinas 0.87
-2e222m117 gmpvar 4.87
-2e222m117 gmpsec 4.72
-2e226m5 fiat_solinas 1.02
-2e226m5 fiat_solinas 0.87
-2e226m5 gmpvar 5.65
-2e226m5 gmpsec 5.25
-2e230m27 fiat_solinas 1.00
-2e230m27 fiat_solinas 0.83
-2e230m27 gmpvar 5.71
-2e230m27 gmpsec 5.29
-2e235m15 fiat_solinas 1.09
-2e235m15 fiat_solinas 0.90
-2e235m15 gmpvar 5.69
-2e235m15 gmpsec 5.31
-2e243m9 fiat_solinas 1.07
-2e243m9 fiat_solinas 0.86
-2e243m9 gmpvar 5.62
-2e243m9 gmpsec 5.29
-2e251m9 fiat_solinas 1.12
-2e251m9 fiat_solinas 1.18
-2e251m9 gmpvar 5.65
-2e251m9 gmpsec 5.30
-2e255m765 fiat_solinas 1.43
-2e255m765 fiat_solinas 1.61
-2e255m765 gmpvar 5.71
-2e255m765 gmpsec 5.27
-2e255m19 fiat_solinas 1.01
-2e255m19 fiat_solinas 1.14
-2e255m19 gmpvar 5.70
-2e255m19 gmpsec 5.25
-2e256m189 fiat_solinas 1.20
-2e256m189 fiat_solinas 1.52
-2e256m189 gmpvar 5.49
-2e256m189 gmpsec 4.71
-2e266m3 fiat_solinas 1.01
-2e266m3 fiat_solinas 1.11
-2e266m3 gmpvar 6.32
-2e266m3 gmpsec 6.10
-2e285m9 fiat_solinas 1.13
-2e285m9 fiat_solinas 1.49
-2e285m9 gmpvar 6.34
-2e285m9 gmpsec 6.13
-2e291m19 fiat_solinas 1.33
-2e291m19 gmpvar 6.98
-2e291m19 gmpsec 6.94
-2e321m9 fiat_solinas 1.72
-2e321m9 gmpvar 7.66
-2e321m9 gmpsec 7.60
-2e336m17 fiat_solinas 1.67
-2e336m17 fiat_solinas 1.83
-2e336m17 gmpvar 7.74
-2e336m17 gmpsec 7.64
-2e336m3 fiat_solinas 1.59
-2e336m3 gmpvar 7.69
-2e336m3 gmpsec 7.58
-2e338m15 fiat_solinas 1.70
-2e338m15 fiat_solinas 1.96
-2e338m15 gmpvar 7.67
-2e338m15 gmpsec 7.66
-2e369m25 fiat_solinas 2.44
-2e369m25 fiat_solinas 2.74
-2e369m25 gmpvar 9.03
-2e369m25 gmpsec 8.41
-2e379m19 fiat_solinas 2.47
-2e379m19 fiat_solinas 3.04
-2e379m19 gmpvar 9.25
-2e379m19 gmpsec 8.44
-2e382m105 fiat_solinas 2.66
-2e382m105 fiat_solinas 4.05
-2e382m105 gmpvar 9.04
-2e382m105 gmpsec 8.41
-2e383m421 fiat_solinas 4.19
-2e383m421 fiat_solinas 3.58
-2e383m421 gmpvar 9.11
-2e383m421 gmpsec 8.45
-2e383m187 fiat_solinas 2.63
-2e383m187 fiat_solinas 4.14
-2e383m187 gmpvar 9.11
-2e383m187 gmpsec 8.44
-2e383m31 fiat_solinas 2.60
-2e383m31 gmpvar 9.13
-2e383m31 gmpsec 8.47
-2e384m317 fiat_solinas 3.95
-2e384m317 fiat_solinas 4.18
-2e384m317 gmpvar 8.82
-2e384m317 gmpsec 7.62
-2e389m21 fiat_solinas 2.89
-2e389m21 gmpvar 9.93
-2e389m21 gmpsec 9.41
-2e401m31 fiat_solinas 2.85
-2e401m31 fiat_solinas 4.17
-2e401m31 gmpvar 9.92
-2e401m31 gmpsec 9.35
-2e413m21 fiat_solinas 3.53
-2e413m21 gmpvar 9.93
-2e413m21 gmpsec 9.48
-2e414m17 fiat_solinas 3.72
-2e414m17 gmpvar 9.86
-2e414m17 gmpsec 9.40
-2e444m17 fiat_solinas 3.70
-2e444m17 gmpvar 10.89
-2e444m17 gmpsec 10.31
-2e452m3 fiat_solinas 3.76
-2e452m3 fiat_solinas 3.23
-2e452m3 gmpvar 11.63
-2e452m3 gmpsec 11.33
-2e468m17 fiat_solinas 3.20
-2e468m17 fiat_solinas 5.38
-2e468m17 gmpvar 11.63
-2e468m17 gmpsec 11.37
-2e488m17 fiat_solinas 7.99
-2e488m17 gmpvar 12.92
-2e488m17 gmpsec 12.23
-2e489m21 fiat_solinas 7.70
-2e489m21 gmpvar 12.81
-2e489m21 gmpsec 12.26
-2e495m31 fiat_solinas 6.07
-2e495m31 fiat_solinas 8.60
-2e495m31 gmpvar 13.10
-2e495m31 gmpsec 12.20
-2e511m481 gmpvar 12.90
-2e511m481 gmpsec 12.23
-2e511m187 fiat_solinas 9.73
-2e511m187 gmpvar 13.07
-2e511m187 gmpsec 12.21
-2e512m569 gmpvar 12.55
-2e512m569 gmpsec 11.23
-2e521m1 fiat_solinas 5.27
-2e521m1 fiat_solinas 3.90
-2e521m1 gmpvar 13.91
-2e521m1 gmpsec 13.30
-2e192m2e64m1 fiat_montgomery 2.41
-2e192m2e64m1 gmpvar 4.23
-2e192m2e64m1 gmpsec 3.56
-2e216m2e108m1 fiat_solinas 1.00
-2e216m2e108m1 fiat_solinas 0.70
-2e216m2e108m1 gmpvar 4.92
-2e216m2e108m1 gmpsec 4.67
-2e322m2e161m1 fiat_solinas 1.37
-2e322m2e161m1 fiat_solinas 1.82
-2e322m2e161m1 gmpvar 7.74
-2e322m2e161m1 gmpsec 7.66
-2e416m2e208m1 fiat_solinas 2.48
-2e416m2e208m1 fiat_solinas 3.34
-2e416m2e208m1 gmpvar 9.67
-2e416m2e208m1 gmpsec 8.54
-2e448m2e224m1 fiat_solinas 3.18
-2e448m2e224m1 gmpvar 10.51
-2e448m2e224m1 gmpsec 9.57
-2e450m2e225m1 gmpvar 11.63
-2e450m2e225m1 gmpsec 11.37
-2e480m2e240m1 fiat_solinas 3.58
-2e480m2e240m1 gmpvar 11.33
-2e480m2e240m1 gmpsec 10.47
-2e205m45x2e198m1 gmpvar 5.03
-2e205m45x2e198m1 gmpsec 4.66
-2e224m2e96p1 gmpvar 4.85
-2e224m2e96p1 gmpsec 4.13
-2e256m2e224p2e192p2e96m1 gmpvar 5.46
-2e256m2e224p2e192p2e96m1 gmpsec 4.70
-2e256m2e32m977 fiat_solinas 1.65
-2e256m2e32m977 fiat_solinas 2.00
-2e256m2e32m977 gmpvar 5.45
-2e256m2e32m977 gmpsec 4.72
-2e256m4294968273 gmpvar 5.48
-2e256m4294968273 gmpsec 4.77
-2e384m2e128m2e96p2e32m1 gmpvar 8.80
-2e384m2e128m2e96p2e32m1 gmpsec 7.62
-2e256m88x2e240m1 gmpvar 5.46
-2e256m88x2e240m1 gmpsec 4.78
-2e254m127x2e240m1 fiat_montgomery 3.97
-2e254m127x2e240m1 gmpvar 5.70
-2e254m127x2e240m1 gmpsec 5.26
-2e384m79x2e376m1 gmpvar 8.84
-2e384m79x2e376m1 gmpsec 7.66
-2e384m5x2e368m1 gmpvar 8.94
-2e384m5x2e368m1 gmpsec 7.64
-2e512m491x2e496m1 gmpvar 12.58
-2e512m491x2e496m1 gmpsec 11.26
-2e510m290x2e496m1 gmpvar 12.90
-2e510m290x2e496m1 gmpsec 12.17
diff --git a/measurements/results-by-field-aggregate64.txt b/measurements/results-by-field-aggregate64.txt
deleted file mode 100644
index a755bff58..000000000
--- a/measurements/results-by-field-aggregate64.txt
+++ /dev/null
@@ -1,573 +0,0 @@
-2e127m1 fiat_solinas 0.03
-2e127m1 fiat_solinas 0.04
-2e127m1 fiat_solinas 0.05
-2e127m1 fiat_montgomery 0.04
-2e127m1 fiat_montgomery 0.12
-2e127m1 gmpvar 0.15
-2e127m1 gmpsec 0.26
-2e127m1 gmpxx 0.67
-2e129m25 fiat_solinas 0.03
-2e129m25 fiat_solinas 0.04
-2e129m25 fiat_solinas 0.03
-2e129m25 fiat_solinas 0.06
-2e129m25 fiat_montgomery 0.07
-2e129m25 fiat_montgomery 0.18
-2e129m25 gmpvar 0.27
-2e129m25 gmpsec 0.38
-2e129m25 gmpxx 0.80
-2e130m5 fiat_solinas 0.04
-2e130m5 fiat_solinas 0.04
-2e130m5 fiat_solinas 0.03
-2e130m5 fiat_solinas 0.06
-2e130m5 fiat_montgomery 0.09
-2e130m5 fiat_montgomery 0.19
-2e130m5 gmpvar 0.28
-2e130m5 gmpsec 0.39
-2e130m5 gmpxx 0.79
-2e137m13 fiat_solinas 0.03
-2e137m13 fiat_solinas 0.04
-2e137m13 fiat_solinas 0.06
-2e137m13 fiat_montgomery 0.08
-2e137m13 fiat_montgomery 0.19
-2e137m13 gmpvar 0.27
-2e137m13 gmpsec 0.37
-2e137m13 gmpxx 0.80
-2e140m27 fiat_solinas 0.03
-2e140m27 fiat_solinas 0.04
-2e140m27 fiat_solinas 0.06
-2e140m27 fiat_solinas 0.07
-2e140m27 fiat_montgomery 0.08
-2e140m27 fiat_montgomery 0.19
-2e140m27 gmpvar 0.27
-2e140m27 gmpsec 0.38
-2e140m27 gmpxx 0.80
-2e141m9 fiat_solinas 0.03
-2e141m9 fiat_solinas 0.04
-2e141m9 fiat_solinas 0.06
-2e141m9 fiat_solinas 0.07
-2e141m9 fiat_montgomery 0.08
-2e141m9 fiat_montgomery 0.19
-2e141m9 gmpvar 0.27
-2e141m9 gmpsec 0.39
-2e141m9 gmpxx 0.83
-2e150m5 fiat_solinas 0.03
-2e150m5 fiat_solinas 0.04
-2e150m5 fiat_solinas 0.06
-2e150m5 fiat_solinas 0.07
-2e150m5 fiat_montgomery 0.08
-2e150m5 fiat_montgomery 0.19
-2e150m5 gmpvar 0.29
-2e150m5 gmpsec 0.39
-2e150m5 gmpxx 0.84
-2e150m3 fiat_solinas 0.03
-2e150m3 fiat_solinas 0.04
-2e150m3 fiat_solinas 0.06
-2e150m3 fiat_solinas 0.07
-2e150m3 fiat_montgomery 0.08
-2e150m3 fiat_montgomery 0.19
-2e150m3 gmpvar 0.30
-2e150m3 gmpsec 0.38
-2e150m3 gmpxx 0.80
-2e152m17 fiat_solinas 0.03
-2e152m17 fiat_solinas 0.04
-2e152m17 fiat_solinas 0.06
-2e152m17 fiat_solinas 0.08
-2e152m17 fiat_montgomery 0.08
-2e152m17 fiat_montgomery 0.20
-2e152m17 gmpvar 0.27
-2e152m17 gmpsec 0.38
-2e152m17 gmpxx 0.82
-2e158m15 fiat_solinas 0.03
-2e158m15 fiat_solinas 0.04
-2e158m15 fiat_solinas 0.06
-2e158m15 fiat_solinas 0.07
-2e158m15 fiat_montgomery 0.08
-2e158m15 fiat_montgomery 0.19
-2e158m15 gmpvar 0.27
-2e158m15 gmpsec 0.37
-2e158m15 gmpxx 0.76
-2e165m25 fiat_solinas 0.03
-2e165m25 fiat_solinas 0.04
-2e165m25 fiat_solinas 0.07
-2e165m25 fiat_solinas 0.10
-2e165m25 fiat_montgomery 0.08
-2e165m25 fiat_montgomery 0.27
-2e165m25 gmpvar 0.27
-2e165m25 gmpsec 0.38
-2e165m25 gmpxx 0.78
-2e166m5 fiat_solinas 0.03
-2e166m5 fiat_solinas 0.04
-2e166m5 fiat_solinas 0.07
-2e166m5 fiat_montgomery 0.08
-2e166m5 fiat_montgomery 0.27
-2e166m5 gmpvar 0.27
-2e166m5 gmpsec 0.39
-2e166m5 gmpxx 0.79
-2e171m19 fiat_solinas 0.03
-2e171m19 fiat_solinas 0.04
-2e171m19 fiat_solinas 0.07
-2e171m19 fiat_solinas 0.10
-2e171m19 fiat_montgomery 0.08
-2e171m19 fiat_montgomery 0.27
-2e171m19 gmpvar 0.27
-2e171m19 gmpsec 0.38
-2e171m19 gmpxx 0.79
-2e174m17 fiat_solinas 0.03
-2e174m17 fiat_solinas 0.04
-2e174m17 fiat_solinas 0.07
-2e174m17 fiat_solinas 0.09
-2e174m17 fiat_montgomery 0.08
-2e174m17 fiat_montgomery 0.28
-2e174m17 gmpvar 0.28
-2e174m17 gmpsec 0.38
-2e174m17 gmpxx 0.78
-2e174m3 fiat_solinas 0.03
-2e174m3 fiat_solinas 0.04
-2e174m3 fiat_solinas 0.07
-2e174m3 fiat_solinas 0.09
-2e174m3 fiat_montgomery 0.08
-2e174m3 fiat_montgomery 0.27
-2e174m3 gmpvar 0.27
-2e174m3 gmpsec 0.38
-2e174m3 gmpxx 0.78
-2e189m25 fiat_solinas 0.04
-2e189m25 fiat_solinas 0.06
-2e189m25 fiat_solinas 0.09
-2e189m25 fiat_montgomery 0.08
-2e189m25 fiat_montgomery 0.27
-2e189m25 gmpvar 0.27
-2e189m25 gmpsec 0.39
-2e189m25 gmpxx 0.80
-2e190m11 fiat_solinas 0.04
-2e190m11 fiat_solinas 0.06
-2e190m11 fiat_solinas 0.09
-2e190m11 fiat_montgomery 0.08
-2e190m11 fiat_montgomery 0.27
-2e190m11 gmpvar 0.27
-2e190m11 gmpsec 0.38
-2e190m11 gmpxx 0.78
-2e191m19 fiat_solinas 0.04
-2e191m19 fiat_solinas 0.06
-2e191m19 fiat_solinas 0.10
-2e191m19 fiat_solinas 0.11
-2e191m19 fiat_montgomery 0.09
-2e191m19 fiat_montgomery 0.27
-2e191m19 gmpvar 0.26
-2e191m19 gmpsec 0.36
-2e191m19 gmpxx 0.78
-2e194m33 fiat_solinas 0.04
-2e194m33 fiat_solinas 0.06
-2e194m33 fiat_solinas 0.09
-2e194m33 fiat_solinas 0.11
-2e194m33 fiat_montgomery 0.12
-2e194m33 gmpvar 0.34
-2e194m33 gmpsec 0.50
-2e194m33 gmpxx 0.93
-2e196m15 fiat_solinas 0.04
-2e196m15 fiat_solinas 0.06
-2e196m15 fiat_solinas 0.09
-2e196m15 fiat_solinas 0.11
-2e196m15 fiat_montgomery 0.12
-2e196m15 gmpvar 0.34
-2e196m15 gmpsec 0.50
-2e196m15 gmpxx 0.89
-2e198m17 fiat_solinas 0.04
-2e198m17 fiat_solinas 0.06
-2e198m17 fiat_solinas 0.09
-2e198m17 fiat_solinas 0.11
-2e198m17 fiat_montgomery 0.12
-2e198m17 gmpvar 0.34
-2e198m17 gmpsec 0.51
-2e198m17 gmpxx 0.87
-2e206m5 fiat_solinas 0.04
-2e206m5 fiat_solinas 0.06
-2e206m5 fiat_solinas 0.08
-2e206m5 fiat_solinas 0.11
-2e206m5 fiat_montgomery 0.14
-2e206m5 gmpvar 0.34
-2e206m5 gmpsec 0.50
-2e206m5 gmpxx 0.84
-2e212m29 fiat_solinas 0.05
-2e212m29 fiat_solinas 0.06
-2e212m29 fiat_solinas 0.11
-2e212m29 fiat_montgomery 0.12
-2e212m29 gmpvar 0.35
-2e212m29 gmpsec 0.49
-2e212m29 gmpxx 0.87
-2e213m3 fiat_solinas 0.04
-2e213m3 fiat_solinas 0.06
-2e213m3 fiat_solinas 0.09
-2e213m3 fiat_solinas 0.11
-2e213m3 fiat_montgomery 0.13
-2e213m3 gmpvar 0.37
-2e213m3 gmpsec 0.49
-2e213m3 gmpxx 0.88
-2e221m3 fiat_solinas 0.05
-2e221m3 fiat_solinas 0.07
-2e221m3 fiat_solinas 0.10
-2e221m3 fiat_montgomery 0.15
-2e221m3 gmpvar 0.36
-2e221m3 gmpsec 0.51
-2e221m3 gmpxx 0.89
-2e222m117 fiat_solinas 0.05
-2e222m117 fiat_solinas 0.06
-2e222m117 fiat_solinas 0.13
-2e222m117 fiat_solinas 0.11
-2e222m117 fiat_montgomery 0.12
-2e222m117 gmpvar 0.35
-2e222m117 gmpsec 0.53
-2e222m117 gmpxx 0.91
-2e226m5 fiat_solinas 0.04
-2e226m5 fiat_solinas 0.08
-2e226m5 fiat_solinas 0.13
-2e226m5 fiat_solinas 0.11
-2e226m5 fiat_montgomery 0.13
-2e226m5 gmpvar 0.35
-2e226m5 gmpsec 0.50
-2e226m5 gmpxx 0.92
-2e230m27 fiat_solinas 0.05
-2e230m27 fiat_solinas 0.06
-2e230m27 fiat_solinas 0.13
-2e230m27 fiat_solinas 0.11
-2e230m27 fiat_montgomery 0.13
-2e230m27 gmpvar 0.35
-2e230m27 gmpsec 0.54
-2e230m27 gmpxx 0.91
-2e235m15 fiat_solinas 0.06
-2e235m15 fiat_solinas 0.06
-2e235m15 fiat_solinas 0.13
-2e235m15 fiat_solinas 0.11
-2e235m15 fiat_montgomery 0.13
-2e235m15 gmpvar 0.34
-2e235m15 gmpsec 0.50
-2e235m15 gmpxx 0.89
-2e243m9 fiat_solinas 0.06
-2e243m9 fiat_solinas 0.11
-2e243m9 fiat_solinas 0.12
-2e243m9 fiat_solinas 0.10
-2e243m9 fiat_montgomery 0.13
-2e243m9 gmpvar 0.34
-2e243m9 gmpsec 0.50
-2e243m9 gmpxx 0.89
-2e251m9 fiat_solinas 0.06
-2e251m9 fiat_solinas 0.10
-2e251m9 fiat_solinas 0.13
-2e251m9 fiat_solinas 0.16
-2e251m9 fiat_montgomery 0.13
-2e251m9 gmpvar 0.35
-2e251m9 gmpsec 0.50
-2e251m9 gmpxx 0.94
-2e255m765 fiat_solinas 0.06
-2e255m765 fiat_solinas 0.10
-2e255m765 fiat_solinas 0.18
-2e255m765 fiat_solinas 0.20
-2e255m765 fiat_montgomery 0.13
-2e255m765 gmpvar 0.34
-2e255m765 gmpsec 0.52
-2e255m765 gmpxx 0.90
-2e255m19 fiat_solinas 0.06
-2e255m19 fiat_solinas 0.10
-2e255m19 fiat_solinas 0.15
-2e255m19 fiat_solinas 0.17
-2e255m19 fiat_montgomery 0.13
-2e255m19 gmpvar 0.35
-2e255m19 gmpsec 0.48
-2e255m19 gmpxx 0.90
-2e256m189 fiat_solinas 0.06
-2e256m189 fiat_solinas 0.11
-2e256m189 fiat_solinas 0.15
-2e256m189 fiat_solinas 0.18
-2e256m189 fiat_montgomery 0.14
-2e256m189 gmpvar 0.34
-2e256m189 gmpsec 0.38
-2e256m189 gmpxx 0.87
-2e266m3 fiat_solinas 0.06
-2e266m3 fiat_solinas 0.10
-2e266m3 fiat_solinas 0.12
-2e266m3 fiat_solinas 0.15
-2e266m3 fiat_montgomery 0.18
-2e266m3 gmpvar 0.45
-2e266m3 gmpsec 0.66
-2e266m3 gmpxx 1.13
-2e285m9 fiat_solinas 0.06
-2e285m9 fiat_solinas 0.10
-2e285m9 fiat_solinas 0.15
-2e285m9 fiat_solinas 0.17
-2e285m9 fiat_montgomery 0.18
-2e285m9 gmpvar 0.43
-2e285m9 gmpsec 0.73
-2e285m9 gmpxx 0.97
-2e291m19 fiat_solinas 0.07
-2e291m19 fiat_solinas 0.10
-2e291m19 fiat_solinas 0.18
-2e291m19 fiat_montgomery 0.18
-2e291m19 gmpvar 0.42
-2e291m19 gmpsec 0.68
-2e291m19 gmpxx 1.00
-2e321m9 fiat_solinas 0.10
-2e321m9 fiat_solinas 0.12
-2e321m9 fiat_solinas 0.19
-2e321m9 fiat_montgomery 0.26
-2e321m9 gmpvar 0.54
-2e321m9 gmpsec 0.80
-2e321m9 gmpxx 1.18
-2e336m17 fiat_solinas 0.10
-2e336m17 fiat_solinas 0.15
-2e336m17 fiat_solinas 0.22
-2e336m17 fiat_solinas 0.23
-2e336m17 fiat_montgomery 0.27
-2e336m17 gmpvar 0.53
-2e336m17 gmpsec 0.80
-2e336m17 gmpxx 1.11
-2e336m3 fiat_solinas 0.09
-2e336m3 fiat_solinas 0.12
-2e336m3 fiat_solinas 0.20
-2e336m3 fiat_montgomery 0.27
-2e336m3 gmpvar 0.53
-2e336m3 gmpsec 0.86
-2e336m3 gmpxx 1.08
-2e338m15 fiat_solinas 0.10
-2e338m15 fiat_solinas 0.12
-2e338m15 fiat_solinas 0.20
-2e338m15 fiat_solinas 0.23
-2e338m15 fiat_montgomery 0.25
-2e338m15 gmpvar 0.54
-2e338m15 gmpsec 0.80
-2e338m15 gmpxx 1.06
-2e369m25 fiat_solinas 0.13
-2e369m25 fiat_solinas 0.15
-2e369m25 fiat_solinas 0.26
-2e369m25 fiat_solinas 0.31
-2e369m25 fiat_montgomery 0.26
-2e369m25 gmpvar 0.52
-2e369m25 gmpsec 0.79
-2e369m25 gmpxx 1.10
-2e379m19 fiat_solinas 0.12
-2e379m19 fiat_solinas 0.17
-2e379m19 fiat_solinas 0.27
-2e379m19 fiat_solinas 0.30
-2e379m19 fiat_montgomery 0.26
-2e379m19 gmpvar 0.55
-2e379m19 gmpsec 0.79
-2e379m19 gmpxx 1.07
-2e382m105 fiat_solinas 0.13
-2e382m105 fiat_solinas 0.15
-2e382m105 fiat_solinas 0.30
-2e382m105 fiat_solinas 0.34
-2e382m105 fiat_montgomery 0.25
-2e382m105 gmpvar 0.57
-2e382m105 gmpsec 0.92
-2e382m105 gmpxx 1.11
-2e383m421 fiat_solinas 0.13
-2e383m421 fiat_solinas 0.15
-2e383m421 fiat_solinas 0.32
-2e383m421 fiat_solinas 0.40
-2e383m421 fiat_montgomery 0.25
-2e383m421 gmpvar 0.51
-2e383m421 gmpsec 0.76
-2e383m421 gmpxx 1.06
-2e383m187 fiat_solinas 0.13
-2e383m187 fiat_solinas 0.16
-2e383m187 fiat_solinas 0.30
-2e383m187 fiat_solinas 0.34
-2e383m187 fiat_montgomery 0.28
-2e383m187 gmpvar 0.50
-2e383m187 gmpsec 0.75
-2e383m187 gmpxx 1.05
-2e383m31 fiat_solinas 0.13
-2e383m31 fiat_solinas 0.16
-2e383m31 fiat_solinas 0.30
-2e383m31 fiat_montgomery 0.26
-2e383m31 gmpvar 0.51
-2e383m31 gmpsec 0.75
-2e383m31 gmpxx 1.05
-2e384m317 fiat_solinas 0.13
-2e384m317 fiat_solinas 0.15
-2e384m317 fiat_solinas 0.32
-2e384m317 fiat_solinas 0.37
-2e384m317 fiat_montgomery 0.26
-2e384m317 gmpvar 0.48
-2e384m317 gmpsec 0.67
-2e384m317 gmpxx 1.00
-2e389m21 fiat_solinas 0.13
-2e389m21 fiat_solinas 0.16
-2e389m21 fiat_solinas 0.32
-2e389m21 gmpvar 0.60
-2e389m21 gmpsec 0.97
-2e389m21 gmpxx 1.22
-2e401m31 fiat_solinas 0.14
-2e401m31 fiat_solinas 0.15
-2e401m31 fiat_solinas 0.31
-2e401m31 fiat_solinas 0.33
-2e401m31 gmpvar 0.61
-2e401m31 gmpsec 0.97
-2e401m31 gmpxx 1.17
-2e413m21 fiat_solinas 0.16
-2e413m21 fiat_solinas 0.36
-2e413m21 gmpvar 0.62
-2e413m21 gmpsec 0.99
-2e413m21 gmpxx 1.22
-2e414m17 fiat_solinas 0.15
-2e414m17 fiat_solinas 0.18
-2e414m17 fiat_solinas 0.34
-2e414m17 gmpvar 0.60
-2e414m17 gmpsec 0.98
-2e414m17 gmpxx 1.21
-2e444m17 fiat_solinas 0.17
-2e444m17 fiat_solinas 0.19
-2e444m17 fiat_solinas 0.36
-2e444m17 gmpvar 0.60
-2e444m17 gmpsec 0.96
-2e444m17 gmpxx 1.20
-2e452m3 fiat_solinas 0.16
-2e452m3 fiat_solinas 0.19
-2e452m3 fiat_solinas 0.32
-2e452m3 fiat_solinas 0.38
-2e452m3 gmpvar 0.71
-2e452m3 gmpsec 1.24
-2e452m3 gmpxx 1.32
-2e468m17 fiat_solinas 0.16
-2e468m17 fiat_solinas 0.19
-2e468m17 fiat_solinas 0.38
-2e468m17 fiat_solinas 0.43
-2e468m17 gmpvar 0.71
-2e468m17 gmpsec 1.23
-2e468m17 gmpxx 1.29
-2e488m17 fiat_solinas 0.28
-2e488m17 fiat_solinas 0.19
-2e488m17 fiat_solinas 0.48
-2e488m17 gmpvar 0.70
-2e488m17 gmpsec 1.20
-2e488m17 gmpxx 1.28
-2e489m21 fiat_solinas 0.23
-2e489m21 fiat_solinas 0.20
-2e489m21 fiat_solinas 0.49
-2e489m21 gmpvar 0.69
-2e489m21 gmpsec 1.17
-2e489m21 gmpxx 1.27
-2e495m31 fiat_solinas 0.23
-2e495m31 fiat_solinas 0.19
-2e495m31 fiat_solinas 0.45
-2e495m31 fiat_solinas 0.50
-2e495m31 gmpvar 0.69
-2e495m31 gmpsec 1.17
-2e495m31 gmpxx 1.30
-2e511m481 fiat_solinas 0.25
-2e511m481 fiat_solinas 0.28
-2e511m481 gmpvar 0.66
-2e511m481 gmpsec 1.12
-2e511m481 gmpxx 1.24
-2e511m187 fiat_solinas 0.25
-2e511m187 fiat_solinas 0.28
-2e511m187 fiat_solinas 0.56
-2e511m187 gmpvar 0.66
-2e511m187 gmpsec 1.13
-2e511m187 gmpxx 1.21
-2e512m569 fiat_solinas 0.24
-2e512m569 fiat_solinas 0.28
-2e512m569 gmpvar 0.62
-2e512m569 gmpsec 0.95
-2e512m569 gmpxx 1.14
-2e521m1 fiat_solinas 0.25
-2e521m1 fiat_solinas 0.18
-2e521m1 fiat_solinas 0.36
-2e521m1 fiat_solinas 0.39
-2e521m1 gmpvar 0.81
-2e521m1 gmpsec 1.40
-2e521m1 gmpxx 1.44
-2e192m2e64m1 fiat_solinas 0.05
-2e192m2e64m1 fiat_solinas 0.07
-2e192m2e64m1 fiat_montgomery 0.07
-2e192m2e64m1 fiat_montgomery 0.26
-2e192m2e64m1 gmpvar 0.24
-2e192m2e64m1 gmpsec 0.31
-2e192m2e64m1 gmpxx 0.79
-2e216m2e108m1 fiat_solinas 0.04
-2e216m2e108m1 fiat_solinas 0.12
-2e216m2e108m1 fiat_solinas 0.08
-2e216m2e108m1 fiat_montgomery 0.12
-2e216m2e108m1 gmpvar 0.35
-2e216m2e108m1 gmpsec 0.51
-2e216m2e108m1 gmpxx 0.88
-2e322m2e161m1 fiat_solinas 0.07
-2e322m2e161m1 fiat_solinas 0.16
-2e322m2e161m1 fiat_solinas 0.23
-2e322m2e161m1 fiat_montgomery 0.27
-2e322m2e161m1 gmpvar 0.53
-2e322m2e161m1 gmpsec 0.83
-2e322m2e161m1 gmpxx 1.15
-2e416m2e208m1 fiat_solinas 0.14
-2e416m2e208m1 fiat_solinas 0.25
-2e416m2e208m1 fiat_solinas 0.33
-2e416m2e208m1 gmpvar 0.60
-2e416m2e208m1 gmpsec 0.98
-2e416m2e208m1 gmpxx 1.16
-2e448m2e224m1 fiat_solinas 0.18
-2e448m2e224m1 fiat_solinas 0.12
-2e448m2e224m1 fiat_solinas 0.30
-2e448m2e224m1 gmpvar 0.52
-2e448m2e224m1 gmpsec 0.79
-2e448m2e224m1 gmpxx 1.06
-2e450m2e225m1 fiat_solinas 0.18
-2e450m2e225m1 fiat_solinas 0.13
-2e450m2e225m1 gmpvar 0.74
-2e450m2e225m1 gmpsec 1.22
-2e450m2e225m1 gmpxx 1.34
-2e480m2e240m1 fiat_solinas 0.19
-2e480m2e240m1 fiat_solinas 0.13
-2e480m2e240m1 fiat_solinas 0.34
-2e480m2e240m1 gmpvar 0.71
-2e480m2e240m1 gmpsec 1.18
-2e480m2e240m1 gmpxx 1.28
-2e205m45x2e198m1 fiat_montgomery 0.14
-2e205m45x2e198m1 gmpvar 0.34
-2e205m45x2e198m1 gmpsec 0.51
-2e205m45x2e198m1 gmpxx 0.87
-2e224m2e96p1 fiat_montgomery 0.13
-2e224m2e96p1 gmpvar 0.35
-2e224m2e96p1 gmpsec 0.50
-2e224m2e96p1 gmpxx 0.88
-2e256m2e224p2e192p2e96m1 fiat_montgomery 0.11
-2e256m2e224p2e192p2e96m1 gmpvar 0.33
-2e256m2e224p2e192p2e96m1 gmpsec 0.38
-2e256m2e224p2e192p2e96m1 gmpxx 0.84
-2e256m2e32m977 fiat_solinas 0.10
-2e256m2e32m977 fiat_solinas 0.13
-2e256m2e32m977 fiat_solinas 0.19
-2e256m2e32m977 fiat_solinas 0.20
-2e256m2e32m977 fiat_montgomery 0.12
-2e256m2e32m977 gmpvar 0.34
-2e256m2e32m977 gmpsec 0.38
-2e256m2e32m977 gmpxx 0.87
-2e256m4294968273 fiat_solinas 0.16
-2e256m4294968273 fiat_solinas 0.14
-2e256m4294968273 fiat_montgomery 0.13
-2e256m4294968273 gmpvar 0.34
-2e256m4294968273 gmpsec 0.37
-2e256m4294968273 gmpxx 0.86
-2e384m2e128m2e96p2e32m1 fiat_montgomery 0.25
-2e384m2e128m2e96p2e32m1 gmpvar 0.47
-2e384m2e128m2e96p2e32m1 gmpsec 0.64
-2e384m2e128m2e96p2e32m1 gmpxx 0.98
-2e256m88x2e240m1 fiat_montgomery 0.11
-2e256m88x2e240m1 gmpvar 0.34
-2e256m88x2e240m1 gmpsec 0.39
-2e256m88x2e240m1 gmpxx 0.88
-2e254m127x2e240m1 fiat_montgomery 0.12
-2e254m127x2e240m1 gmpvar 0.35
-2e254m127x2e240m1 gmpsec 0.50
-2e254m127x2e240m1 gmpxx 0.92
-2e384m79x2e376m1 fiat_montgomery 0.23
-2e384m79x2e376m1 gmpvar 0.46
-2e384m79x2e376m1 gmpsec 0.62
-2e384m79x2e376m1 gmpxx 0.99
-2e384m5x2e368m1 fiat_montgomery 0.23
-2e384m5x2e368m1 gmpvar 0.46
-2e384m5x2e368m1 gmpsec 0.63
-2e384m5x2e368m1 gmpxx 0.99
-2e512m491x2e496m1 gmpvar 0.62
-2e512m491x2e496m1 gmpsec 0.99
-2e512m491x2e496m1 gmpxx 1.15
-2e510m290x2e496m1 gmpvar 0.70
-2e510m290x2e496m1 gmpsec 1.20
-2e510m290x2e496m1 gmpxx 1.28
diff --git a/measurements/tolatex.py b/measurements/tolatex.py
deleted file mode 100644
index f85ee41af..000000000
--- a/measurements/tolatex.py
+++ /dev/null
@@ -1,233 +0,0 @@
-# Generates benchmark graphs in LaTex (following format from the pgfplots
-# package)
-import sys, math, re
-
-USAGE = "USAGE: python tolatex.py [input file] {plot32, plot64, table32, table64}"
-
-SETUPS = {
- "gmpxx": "color=red,mark=x",
- "gmpsec" : "color=red,mark=*",
- "gmpvar": "color=red,mark=o",
- "fiat_montgomery": "color=blue,mark=triangle*",
- "fiat_solinas": "color=blue,mark=triangle",
- }
-
-# setups to combine and functions to combine them
-COMBINE = [
- ("fiat_montgomery", "fiat_solinas", min),
- ]
-
-# setups to exclude
-EXCLUDE = [
- "gmpxx"
- ]
-
-LEGEND = {
- "fiat_montgomery": "this paper",
- "fiat_solinas": "this paper",
- "gmpvar": "GMP mpn API",
- "gmpxx": "GMP C++ API",
- "gmpsec" : "GMP mpn_sec API"
- }
-
-class ParseException(Exception): pass
-class MissingDataException(Exception): pass
-
-# given a string representing one term or "tap" in a prime, returns a pair of
-# integers representing the weight and coefficient of that tap
-# "2 ^ y" -> [1, y]
-# "x * 2 ^ y" -> [x, y]
-# "x * y" -> [x*y,0]
-# "x" -> [x,0]
-def parse_term(t) :
- if "*" not in t and "^" not in t:
- return [int(t),0]
-
- if "*" in t:
- if len(t.split("*")) > 2: # this occurs when e.g. [w - x * y] has been turned into [w + -1 * x * y]
- a1,a2,b = t.split("*")
- a = int(a1) * int(a2)
- else:
- a,b = t.split("*")
- if "^" not in b:
- return [int(a) * int(b),0]
- else:
- a,b = (1,t)
-
- b,e = b.split("^")
- if int(b) != 2:
- raise ParseException("Could not parse term, power with base other than 2: %s" %t)
- return [int(a),int(e)]
-
-# expects prime to be a string and expressed as sum/difference of products of
-# two with small coefficients (e.g. '2^448 - 2^224 - 1', '2^255 - 19')
-# returns tuple (string representation, numeric value)
-def parse_prime(prime):
- rep = prime.replace("e", "^").replace("m", "-").replace("p","+").replace("x","*")
- terms = rep.replace("-", "+ -").replace(' ', '').replace('+-2^', '+-1*2^').split("+")
- value = sum([(x * (2**e)) for x,e in map(parse_term, terms)])
- return (rep, value)
-
-def parse_line(line):
- data = line.strip().split("\t")
- if len(data) != 3 or (data[1] not in SETUPS) or ("2e" not in data[0]) :
- raise ParseException("Could not parse line %s" %line.strip())
- return {
- "prime" : data[0],
- "setup" : data[1],
- "time" : data[2] }
-
-def final_lines(bits):
- out = []
- for s in SETUPS:
- if (s in EXCLUDE) or any([x[1]==s for x in COMBINE]):
- continue # in this case, the setup has been combined into some other one
- out.append(s)
- return out
-
-# check for missing data points
-def check_missing(data, bits):
- all_primes = set()
- for s in final_lines(bits):
- all_primes = all_primes | set(data[s].keys())
- missing = []
- for s in final_lines(bits):
- x = all_primes ^ set(data[s].keys())
- if len(x) != 0:
- missing.append((s, x))
- if len(missing) > 0:
- message = "\n".join(["missing datapoints in %s: primes are %s" %(LEGEND[s],list(map(lambda t:t[0], x))) for s,x in missing])
- print("WARNING: %s" %message)
- #raise MissingDataException(message)
-
-# reorganize, and parse primes
-def clean_plot_data(parsed_lines, bits):
- out = {s:{} for s in SETUPS}
- for ln in parsed_lines:
- p = parse_prime(ln["prime"])
- if p in out[ln["setup"]]:
- out[ln["setup"]][p] = min(float(ln["time"]), out[ln["setup"]][p])
- else:
- out[ln["setup"]][p] = float(ln["time"])
- # combine setups according to COMBINE list
- for s1, s2, f in COMBINE:
- all_primes = list(out[s1].keys())
- all_primes.extend(out[s2].keys())
- for p in set(all_primes):
- if p in out[s1] and p in out[s2]:
- out[s1][p] = f(out[s1][p], out[s2][p])
- elif p in out[s2]:
- out[s1][p] = out[s2][p]
- check_missing(out, bits)
- return out
-
-# remove duplicates, reorganize, and parse primes
-def clean_table_data(parsed_lines):
- all_primes = set([ln["prime"] for ln in parsed_lines])
- out = {p:{} for p in all_primes}
- for ln in parsed_lines:
- prime = ln["prime"]
- s = ln["setup"]
- if s in out[prime]:
- out[prime][s] = min(float(ln["time"]), out[prime][s])
- else:
- out[prime][s] = float(ln["time"])
- return out
-
-def maketable(data, bits):
- if bits == 64:
- out="""\\tablehead{%
- \\hline
- & \\multicolumn{2}{c|}{\\textbf{Our Code}} & \\multicolumn{3}{c|}{\\textbf{GMP Code}} & \\\\
- \\cline{2-6}
- \\textbf{Prime} & \\textbf{Sol.} & \\textbf{Mont.} & \\textbf{const time} & \\textbf{var time} & \\textbf{C++} & \\textbf{Speedup} \\\\ \\hline}
-\\footnotesize
-\\begin{xtabular}{|l|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|p{0.6cm}|}\n"""
- else:
- out="""\\tablehead{%
- \\hline
- & \\multicolumn{2}{c|}{\\textbf{Our Code}} & \\multicolumn{2}{c|}{\\textbf{GMP Code}} & \\\\
- \\cline{2-5}
- \\textbf{Prime} & \\textbf{Solinas} & \\textbf{Mont.} & \\textbf{const time} & \\textbf{var time} & \\textbf{Speedup} \\\\ \\hline}
-\\footnotesize
-\\begin{xtabular}{|l|p{0.7cm}|p{0.7cm}|p{0.7cm}|p{0.7cm}|p{0.9cm}|}\n"""
-
- cols_64 = ["fiat_solinas", "fiat_montgomery", "gmpsec", "gmpvar", "gmpxx"]
- cols_32 = ["fiat_solinas", "fiat_montgomery", "gmpsec", "gmpvar"]
- cols = cols_64 if bits == 64 else cols_32
-
- for p in sorted(data.keys()):
- prime_latex= re.sub("2\^[0-9]+", lambda matchobj : "2^{%s}" %matchobj.group(0)[2:], parse_prime(p)[0])
- prime_latex= re.sub("[0-9]\*[0-9]", lambda matchobj : "%s\cdot %s" %(matchobj.group(0)[0], matchobj.group(0)[2]), prime_latex)
- row = ["$" + prime_latex + "$"]
- our_best = None
- gmp_best = None
- for s in cols:
- if s in data[p]:
- row.append(str(data[p][s]))
- if "fiat" in s and (our_best == None or float(data[p][s]) < our_best):
- our_best = float(data[p][s])
- if "gmp" in s and (gmp_best == None or float(data[p][s]) < gmp_best):
- gmp_best = float(data[p][s])
- else:
- row.append("-")
- if our_best != None and gmp_best != None:
- row.append(str(round(gmp_best/our_best, 2)))
- else:
- row.append("-")
- out += ("\t" + " & ".join(row) + " \\\\ \n")
-
- out +="""\\hline\n\\end{xtabular}"""
- return out
-
-def makeplot(data, bits):
- out = """
- \\begin{figure*}
- \\begin{tikzpicture}
- \t\\begin{axis}[
- \t\theight=3.4cm,
- \t\ttitle style={font=\small},
- \t\ttitle=%s-Bit Field Arithmetic Benchmarks,
- \t\twidth=\\textwidth,
- \t\tlegend pos= north west,
- \t\txtick distance=64,
- \t\tlegend style={font=\\tiny},
- \t\tlabel style={font=\\footnotesize},
- \t\txlabel style={at={(0.5,0.1)}, anchor=north},
- \t\tlegend columns=2,
- \t\ttick label style={font=\\footnotesize},
- \t\tgrid=major,
- \t\tymin=0,
- \t\txlabel=log2(prime),
- \t\tylabel=Time (seconds)]\n""" %bits
- for s in final_lines(bits):
- out +="\t\t\\addplot[%s,mark size=2pt] coordinates {\n" %SETUPS[s]
- for p,t in sorted(data[s].items()):
- out += "\t\t\t(%s, %s) \n" %(math.log2(p[1]), t)
- out += "\t\t};\n"
- out += "\t\t\\addlegendentry{%s}\n\n" %LEGEND[s].replace("_", "\_")
- out += "\t\end{axis}\n\\end{tikzpicture}\n\\end{figure*}"
- return out
-
-if __name__ == "__main__":
- if len(sys.argv) != 3 or sys.argv[2] not in ["plot32", "plot64", "table32", "table64"]:
- print(USAGE)
- sys.exit()
- f = open(sys.argv[1])
- parsed_lines = []
- for line in f:
- try:
- parsed_lines.append(parse_line(line))
- except ParseException:
- print("WARNING: Could not parse line %s, skipping" %line.strip().split("\t"))
- f.close()
-
- if sys.argv[2] == "table32":
- print(maketable(clean_table_data(parsed_lines), 32))
- if sys.argv[2] == "table64":
- print(maketable(clean_table_data(parsed_lines), 64))
- elif sys.argv[2] == "plot32":
- print(makeplot(clean_plot_data(parsed_lines, 32), 32))
- elif sys.argv[2] == "plot64":
- print(makeplot(clean_plot_data(parsed_lines, 64), 64))
-
diff --git a/optimizations.md b/optimizations.md
deleted file mode 100644
index ca26adc5e..000000000
--- a/optimizations.md
+++ /dev/null
@@ -1,13 +0,0 @@
-| Category | Name | Status | Lemma(s) | Description |
-|-----------------------|-------------------------------------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Field Arithmetic | Unsaturated limbs/delayed carrying | Implemented | [ModularBaseSystemProofs.v#L347](https://github.com/mit-plv/fiat-crypto/blob/master/src/ModularArithmetic/ModularBaseSystemProofs.v#L347) | Represent field elements using more machine words than strictly necessary in order to delay carrying (for example, represent a 255-bit number using 51 bits per 64-bit word) |
-| Field Arithmetic | Division-free Modular Reduction | Implemented | [PseudoMersenneBaseParamProofs.v#L41](https://github.com/mit-plv/fiat-crypto/blob/master/src/ModularArithmetic/PseudoMersenneBaseParamProofs.v#L41) | Reduce $x$ modulo $2^k-c$ by splitting $x$ into $a$ and $b$ such that $a + 2^k * b = x$, then returning $a + c * b$ |
-| Field Arithmetic | Inverse square root | Not Implemented | n/a | Compute $\frac{1}{\sqrt{x}}$ rather than $\sqrt{x}$. Then, for example, in order to compute $\sqrt{\frac{x}{y}}$, compute $x * \frac{1}{\sqrt{xy}}$ rather than doing two expensive square root computations |
-| Field Arithmetic | Addition Chain Exponentiation | Implemented | [AdditionChainExponentiation.v#L53](https://github.com/mit-plv/fiat-crypto/blob/master/src/Util/AdditionChainExponentiation.v#L53) | https://en.wikipedia.org/wiki/Addition-chain_exponentiation |
-| Field Arithmetic | Specialized Squaring | Not Implemented | n/a | Write a specialized function for squaring field elts rather than just using mul |
-| Field Arithmetic | Karatsuba | Not Implemented | n/a | Use Karatsuba's trick for multiplication (mostly relevant for primes $> 400$ bits in size) |
-| Elliptic Curve Points | Extended Coordinates | Implemented | [ExtendedCoordinates.v#L258](https://github.com/mit-plv/fiat-crypto/blob/master/src/CompleteEdwardsCurve/ExtendedCoordinates.v#L258) | http://hyperelliptic.org/EFD/g1p/auto-edwards.html |
-| Elliptic Curve Points | Precomputed Tables | Not Implemented | n/a | Precompute powers of base point |
-| Elliptic Curve Points | Hex Exponentiation | Not Implemented | n/a | Use hexadecimal exponentiation for elliptic curve scalar multiplication |
-| Elliptic Curve Points | Point Compression | Implemented | [PointEncodingPre.v#L313](https://github.com/mit-plv/fiat-crypto/blob/master/src/Encoding/PointEncodingPre.v#L313) and [PointEncodingPre.v#L412](https://github.com/mit-plv/fiat-crypto/blob/master/src/Encoding/PointEncodingPre.v#L412) | Instead of transmitting $(x,y)$ to transmit a point, transmit $y$ and a bit representing the sign of $x$. Decode $x$ by solving the curve equation for $x^2$, taking the square root, and picking the square root with the appropriate sign bit |
-| Low-Level | Use Varied-size Registers | Half-Implemented | [MapCastWithCastOp.v#L116](https://github.com/mit-plv/fiat-crypto/blob/master/src/Reflection/MapCastWithCastOp.v#L116) | Rather than using the largest available integer size (e.g., `uint32_t` on x86_32, `uint64_t` on x86_64) for all operations, pick the smallest integer size which is guaranteed to fit the result for each arithmetic operation separately |
diff --git a/regenerate-curves.sh b/regenerate-curves.sh
deleted file mode 100755
index c57afff63..000000000
--- a/regenerate-curves.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -o pipefail
-set -ex
-
-cd "$( dirname "${BASH_SOURCE[0]}" )"
-
-python3 generate_parameters.py primes.txt
-./src/Specific/CurveParameters/remake_curves.sh -f | tee remake_curves.log
-grep 'git add ' remake_curves.log | sed s'/git add //g' | tr '"' '\n' | grep -v '^\s*$' | xargs git add
-make update-_CoqProject
diff --git a/register-allocate.py b/register-allocate.py
deleted file mode 100755
index 276deb46c..000000000
--- a/register-allocate.py
+++ /dev/null
@@ -1,970 +0,0 @@
-#!/usr/bin/env python
-from __future__ import with_statement
-import codecs, re, sys, os
-
-LAMBDA = u'\u03bb'
-
-NAMED_REGISTERS = ('RAX', 'RCX', 'RDX', 'RBX', 'RSP', 'RBP', 'RSI', 'RDI')
-NUMBERED_REGISTERS = tuple('r%d' % i for i in range(16))
-RESERVED_REGISTERS = ('RBP', )
-TO_BE_RESTORED_REGISTERS = ('RSP', )
-NAMED_REGISTER_MAPPING = dict(('r%d' % i, reg) for i, reg in enumerate(NAMED_REGISTERS))
-REAL_REGISTERS = tuple(list(NAMED_REGISTERS) + list(NUMBERED_REGISTERS))
-REGISTERS = ['reg%d' % i for i in range(13)]
-DEFAULT_DIALECT = 'att'
-
-def get_lines(filename):
- with codecs.open(filename, 'r', encoding='utf8') as f:
- lines = f.read().replace('\r\n', '\n')
- return [line.strip() for line in re.findall("%s '.*?[Rr]eturn [^\r\n]*" % LAMBDA, lines, flags=re.DOTALL)[0].split('\n')]
-
-def strip_casts(text):
- return re.sub(r'\(u?int[0-9]*_t\)\s*\(?([^\)]*)\)?', r'\1', text)
-
-def parse_lines(lines):
- lines = list(map(strip_casts, lines))
- assert lines[0][:len(LAMBDA + ' ')] == LAMBDA + ' '
- assert lines[0][-1] == ','
- ret = {}
- ret['header'] = lines[0]
- ret['footer'] = lines[-1]
- ret['vars'] = lines[0][len(LAMBDA + ' '):-1]
- assert lines[-1][-1] == ')'
- ret['return'] = lines[-1][:-1].replace('return ', '').replace('Return ', '')
- ret['lines'] = []
- for line in lines[1:-1]:
- match0 = re.findall('^(u?int[0-9]*_t) ([^ ]*), (u?int[0-9]*_t) ([^ ]*) = ([^\(]*)\(([^ ]*), ([^ ]*), ([^ ]*)\);$', line)
- match1 = re.findall('^(u?int[0-9]*_t) ([^ ]*) = ([^\(]*)\(([^ ]*), ([^ ]*), ([^ ]*)\);$', line)
- match2 = re.findall('^(u?int[0-9]*_t) ([^ ]*) = ([^ ]*) ([^ ]*) ([^ ]*);$', line)
- if len(match0) > 0:
- datatype1, varname1, datatype2, varname2, op, arg1, arg2, arg3 = match0[0]
- print('XXX FIXME %s' % line)
- ret['lines'].append({'type':datatype1, 'out':varname1, 'op':op, 'args':(arg1, arg2, arg3), 'source':line, 'out2':varname2, 'type2':datatype2})
- elif len(match1) > 0:
- datatype, varname, op, arg1, arg2, arg3 = match1[0]
- ret['lines'].append({'type':datatype, 'out':varname, 'op':op, 'args':(arg1, arg2, arg3), 'source':line})
- elif len(match2) > 0:
- datatype, varname, arg1, op, arg2 = match2[0]
- ret['lines'].append({'type':datatype, 'out':varname, 'op':op, 'args':(arg1, arg2), 'source':line})
- else:
- print(line)
- assert(False)
- ret['lines'] = tuple(ret['lines'])
- return ret
-
-def get_var_names(input_data):
- return tuple(line['out'] for line in input_data['lines'])
-
-def get_input_var_names(input_data):
- return tuple(i for i in data['vars'].replace('%core', '').replace(',', ' ').replace('(', ' ').replace(')', ' ').replace("'", ' ').split(' ')
- if i != '')
-
-def get_output_var_names(input_data):
- return tuple(i for i in data['return'].replace(',', ' ').replace('(', ' ').replace(')', ' ').split(' ')
- if i != '')
-
-def line_of_var(input_data, var):
- retv = [line for line in input_data['lines'] if line['out'] == var]
- if len(retv) > 0: return retv[0]
- return {'out': var, 'args':tuple(), 'op': 'INPUT', 'type':'uint64_t'}
-
-def make_data_dependencies(input_data):
- input_var_names = get_input_var_names(input_data)
- dependencies = dict((var, tuple()) for var in input_var_names)
- for line in input_data['lines']:
- dependencies[line['out']] = tuple(arg for arg in line['args']
- if arg[0] not in '0123456789')
- return dependencies
-def make_reverse_data_dependencies(dependencies):
- reverse_dependencies = dict((k, []) for k in dependencies.keys())
- for k, v in dependencies.items():
- for arg in v:
- reverse_dependencies[arg].append(k)
- return reverse_dependencies
-
-def get_low_or_high(obj, low_or_high):
- assert(low_or_high in ('low', 'high'))
- if obj['op'] == 'COMBINE':
- if low_or_high == 'low': return obj['deps'][0]
- if low_or_high == 'high': return obj['deps'][1]
- else:
- return {'out':obj['out'] + '_' + low_or_high, 'style':'', 'deps':(obj,), 'op':'GET_' + low_or_high.upper(), 'type':'uint64_t', 'extra_out':tuple(o + '_' + low_or_high for o in obj['extra_out']), 'rev_deps':tuple()}
-
-def add_combine_low_high(objs):
- for obj in objs:
- if obj['type'] == 'uint128_t':
- obj_low = get_low_or_high(obj, 'low')
- obj_high = get_low_or_high(obj, 'high')
- obj_new = {'out':obj['out'], 'style':'', 'deps':(obj_low, obj_high), 'op':'COMBINE', 'type':'uint128_t', 'extra_out':obj['extra_out'], 'rev_deps':obj['rev_deps']}
- obj['out'] += '_tmp'
- obj['rev_deps'] = (obj_low, obj_high)
- obj_high['rev_deps'] = (obj_new,)
- obj_low['rev_deps'] = (obj_new,)
- for rdep in obj_new['rev_deps']:
- rdep['deps'] = tuple(d if d is not obj else obj_new
- for d in rdep['deps'])
-
-
-def split_graph(objs):
- for obj in objs:
- if obj['op'] == '&' and obj['type'] == 'uint64_t' and len(obj['deps']) == 1 and obj['deps'][0]['type'] == 'uint128_t' and obj['deps'][0]['op'] == 'COMBINE':
- combine_node = obj['deps'][0]
- low = combine_node['deps'][0]
- obj['deps'] = (low,)
- low['rev_deps'] = tuple(list(low['rev_deps']) + [obj])
- if obj['op'] == '+' and obj['type'] == 'uint128_t' and len(obj['rev_deps']) == 2 and obj['rev_deps'][0]['op'] == 'GET_LOW' and obj['rev_deps'][1]['op'] == 'GET_HIGH':
- for tmp in ('_tmp', '_temp'):
- if obj['out'][-len(tmp):] == tmp:
- obj['out'] = obj['out'][:-len(tmp)]
- obj_low, obj_high = obj['rev_deps']
- obj_carry = {'out':'c' + obj['out'], 'style':'', 'deps':(obj_low,), 'op':'GET_CARRY', 'type':'CARRY', 'extra_out':tuple(), 'rev_deps':(obj_high,)}
- assert(len(obj_low['deps']) == 1)
- assert(len(obj_high['deps']) == 1)
- assert(obj_low['type'] == 'uint64_t')
- assert(obj_high['type'] == 'uint64_t')
- obj_low['deps'], obj_high['deps'] = [], [obj_carry]
- obj_low['op'] = '+'
- obj_high['op'] = '+'
- for dep in obj['deps']:
- if dep['type'] == 'uint64_t':
- obj_low['deps'].append(dep)
- dep['rev_deps'] = tuple(d if d is not obj else obj_low
- for d in dep['rev_deps'])
- elif dep['type'] == 'uint128_t':
- dep_low, dep_high = get_low_or_high(dep, 'low'), get_low_or_high(dep, 'high')
- obj_low['deps'].append(dep_low)
- obj_high['deps'].append(dep_high)
- dep_low['rev_deps'] = tuple(list(dep_low['rev_deps']) + [obj_low])
- dep_high['rev_deps'] = tuple(list(dep_high['rev_deps']) + [obj_high])
- else:
- assert(False)
- obj_low['deps'], obj_high['deps'] = tuple(obj_low['deps']), tuple(obj_high['deps'])
- obj_low['rev_deps'] = list(obj_low['rev_deps']) + [obj_carry]
- obj['deps'] = tuple()
- obj['rev_deps'] = tuple()
-
-def collect_ac_buckets(graph):
- seen = set()
- to_process = list(graph['out'].values())
- while len(to_process) > 0:
- line, to_process = to_process[0], to_process[1:]
- if line['out'] in seen: continue
- seen.add(line['out'])
- if line['op'] == '+':
- args = list(line['deps'])
- new_args = []
- while len(args) > 0:
- arg, args = args[0], args[1:]
- if arg['op'] == '+' and len(arg['rev_deps']) == 1 and line['type'] == 'uint128_t':
- line['extra_out'] = tuple(sorted(list(line['extra_out']) + [arg['out']] + list(arg['extra_out'])))
- for arg_arg in arg['deps']:
- arg_arg['rev_deps'] = (line,)
- args.append(arg_arg)
- else:
- new_args.append(arg)
- line['deps'] = tuple(new_args)
- to_process += list(line['deps'])
-
-def get_objects(start, ret=None):
- if ret is None: ret = {}
- for node in start:
- if node['out'] in ret.keys(): continue
- ret[node['out']] = node
- get_objects(node['deps'], ret=ret)
- return ret
-
-def int_or_zero_key(v):
- orig = v
- v = v.strip('abcdefghijklmnopqrstuvwxyz')
- if v.isdigit(): return (int(v), orig)
- return (0, orig)
-
-def prune(start):
- objs = get_objects(start)
- for var in objs.keys():
- objs[var]['rev_deps'] = tuple(obj for obj in objs[var]['rev_deps']
- if obj['out'] in objs.keys() and any(node['out'] == var for node in obj['deps']))
-
-def to_graph(input_data):
- objs = dict((var, {'out':var, 'style':'', 'rev_deps':[]}) for var in list(get_input_var_names(input_data)) + list(get_var_names(input_data)))
- for var in get_input_var_names(input_data):
- objs[var]['deps'] = tuple()
- objs[var]['op'] = 'INPUT'
- objs[var]['type'] = 'uint64_t'
- objs[var]['extra_out'] = tuple()
- for line in input_data['lines']:
- var = line['out']
- objs[var]['extra_out'] = tuple()
- objs[var]['op'] = line['op']
- objs[var]['type'] = line['type']
- objs[var]['deps'] = tuple(objs[arg] for arg in line['args'] if arg in objs.keys())
- for node in objs[var]['deps']:
- node['rev_deps'].append(objs[var])
- for var in objs.keys():
- objs[var]['rev_deps'] = tuple(sorted(objs[var]['rev_deps'], key=(lambda n: int_or_zero_key(n['out']))))
- graph = {'out':dict((var, objs[var]) for var in get_output_var_names(input_data)),
- 'in':dict((var, objs[var]) for var in get_input_var_names(input_data)) }
- collect_ac_buckets(graph)
- add_combine_low_high(objs.values())
- split_graph(objs.values())
- prune(tuple(graph['out'].values()))
- #split_graph(objs)
- return graph
-
-
-def adjust_bits(input_data, graph):
- for line in input_data['lines']:
- if line['type'] == 'uint128_t':
- graph = graph.replace(line['out'], line['out'] + '_128')
- return graph
-
-def fill_node(node, color='red'):
- node['style'] = ', style="filled", fillcolor="%s"' % color
-
-def fill_deps(node, color='red'):
- fill_node(node)
- for dep in node['deps']:
- fill_deps(dep, color=color)
-
-def fill_subgraph(in_node, color='red'):
- #print((in_node['out'], in_node['op'], [d['out'] for d in in_node['rev_deps']]))
- fill_node(in_node, color=color)
- if in_node['op'] != '+':
- fill_deps(in_node, color=color)
- for rdep in in_node['rev_deps']:
- fill_subgraph(rdep, color=color)
-
-def is_temp(node):
- for tmp in ('_tmp', '_temp'):
- if node['out'][-len(tmp):] == tmp:
- return True
- return False
-
-def is_allocated_to_reg(full_map, node):
- return node['out'] in full_map.keys() and all(reg in REGISTERS for reg in full_map[node['out']].split(':'))
-
-def deps_allocated(full_map, node):
- if node['op'] == 'INPUT': return True
- if node['out'] not in full_map.keys(): return False
- return all(deps_allocated(full_map, dep) for dep in node['deps'])
-
-# returns {cur_map with new_name->reg}, still_free_temps, still_free_list, all_temps, freed, new_buckets, emit_vars
-def allocate_node(existing, node, *args):
- cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars = args
- free_temps = list(free_temps)
- free_list = list(free_list)
- all_temps = list(all_temps)
- full_map = dict(existing)
- cur_map = dict(cur_map)
- freed = list(freed)
- new_buckets = list(new_buckets)
- emit_vars = list(emit_vars)
- full_map.update(cur_map)
- def do_ret():
- return cur_map, tuple(free_temps), tuple(free_list), tuple(all_temps), tuple(freed), tuple(new_buckets), tuple(emit_vars)
- def do_free(var):
- for reg in full_map[var].split(':'):
- if reg in all_temps:
- if reg not in free_temps:
- free_temps.append(reg)
- elif reg in REGISTERS:
- if reg not in free_list:
-# print('freeing %s from %s' % (reg, var))
- free_list.append(reg)
- def do_free_deps(node):
- full_map.update(cur_map)
- if node['out'] in full_map.keys():
- for dep in node['deps']:
- if dep['out'] in freed or dep['out'] not in full_map.keys(): continue
- if not is_allocated_to_reg(full_map, dep): continue
- if (all(deps_allocated(full_map, rdep) for rdep in dep['rev_deps']) or
- all(reg in all_temps for reg in full_map[dep['out']].split(':'))):
- do_free(dep['out'])
- freed.append(dep['out'])
- if node['out'] in full_map.keys():
- do_free_deps(node)
- return do_ret()
- if node['op'] in ('GET_HIGH', 'GET_LOW') and len(node['deps']) == 1 and len(node['deps'][0]['rev_deps']) <= 2 and all(n['op'] in ('GET_HIGH', 'GET_LOW') for n in node['deps'][0]['rev_deps']) and is_allocated_to_reg(full_map, node['deps'][0]):
- reg_idx = {'GET_LOW':0, 'GET_HIGH':1}[node['op']]
- cur_map[node['out']] = full_map[node['deps'][0]['out']].split(':')[reg_idx]
- emit_vars.append(node)
- return do_ret()
- if len(node['deps']) == 1 and len(node['deps'][0]['rev_deps']) == 1 and is_allocated_to_reg(full_map, node['deps'][0]) and node['type'] == node['deps'][0]['type']:
- cur_map[node['out']] = full_map[node['deps'][0]['out']]
- emit_vars.append(node)
- return do_ret()
- if len(node['deps']) == 0 and node['op'] == 'INPUT':
- assert(node['type'] == 'uint64_t')
- cur_map[node['out']] = 'm' + node['out'] # free_list.pop()
- emit_vars.append(node)
- return do_ret()
- if is_temp(node):
- num_reg = {'uint64_t':1, 'uint128_t':2}[node['type']]
- # TODO: make this more efficient by allowing re-use of
- # dependnecies which are no longer needed (which are currently
- # only reaped after this node is assigned)
- while len(free_temps) < num_reg:
- reg = free_list.pop()
- free_temps.append(reg)
- all_temps.append(reg)
- cur_map[node['out']] = ':'.join(free_temps[:num_reg])
- free_temps = free_temps[num_reg:]
- emit_vars.append(node)
- do_free_deps(node)
- return do_ret()
- if node['op'] == '+' and node['type'] == 'uint64_t' and len(node['extra_out']) > 0:
- cur_map[node['out']] = free_list.pop()
- emit_vars.append(node)
- new_buckets.append(node)
- do_free_deps(node)
- return do_ret()
- if node['op'] == '*' and node['type'] == 'uint64_t' and len(node['deps']) == 1:
- dep = node['deps'][0]
- assert(dep['out'] in full_map.keys())
- if is_allocated_to_reg(full_map, dep) and \
- all(rdep is node or (is_allocated_to_reg(full_map, rdep) and full_map[rdep['out']] != full_map[dep['out']])
- for rdep in dep['rev_deps']):
- cur_map[node['out']] = full_map[dep['out']]
- freed += [dep['out']]
- else:
- cur_map[node['out']] = free_list.pop()
- emit_vars.append(node)
- return do_ret()
- raw_input([node['out'], node['op'], node['type'], [(dep['out'], full_map.get(dep['out'])) for dep in node['deps']]])
- return do_ret()
-
-def allocate_deps(existing, node, *args):
- for dep in node['deps']:
- args = allocate_deps(existing, dep, *args)
- return allocate_node(existing, node, *args)
-
-def allocate_subgraph(existing, node, *args):
- if node['op'] != '+':
- args = allocate_deps(existing, node, *args)
- else:
- args = allocate_node(existing, node, *args)
- if node['op'] != '+':
- for rdep in node['rev_deps']:
- args = allocate_subgraph(existing, rdep, *args)
- return args
-
-def annotate_with_alloc(objs, mapping):
- for obj in objs:
- if obj['out'] in mapping.keys():
- obj['reg'] = ' (' + mapping[obj['out']] + ')'
- else:
- obj['reg'] = ''
-
-def get_plus_deps(nodes, ops=('+',), types=('uint64_t',), seen=None):
- if seen is None: seen = set()
- for node in nodes:
- for dep in node['deps']:
- if dep['out'] in seen: continue
- seen.add(dep['out'])
- if dep['op'] in ops and dep['type'] in types:
- yield dep
- for dep in get_plus_deps([dep], ops=ops, types=types, seen=seen):
- yield dep
-
-deps_table_memo = {}
-def all_deps_of(node):
- if node['out'] in deps_table_memo.keys(): return deps_table_memo[node['out']]
- ret = set()
- for dep in node['deps']:
- ret.add(dep['out'])
- ret.update(all_deps_of(dep))
- deps_table_memo[node['out']] = tuple(sorted(ret, key=int_or_zero_key))
- return deps_table_memo[node['out']]
-
-def transitively_depends_on(node, maybe_dep):
- return (node['out'] == maybe_dep['out']) or (maybe_dep['out'] in all_deps_of(node))
-
-def cmp_node_by_dep(x, y):
- default = cmp(x['out'], y['out'])
- if x['out'] == y['out']: return default
- if transitively_depends_on(x, y): ret = 1
- elif transitively_depends_on(y, x): ret = -1
- else: ret = default
- return ret
-
-
-
-def print_nodes(objs):
- for var in sorted(objs.keys(), key=(lambda s:(int(s.strip('cx_lowhightmp')), s))):
- yield ' %s [label="%s%s" %s];\n' % (objs[var]['out'], ' + '.join(sorted([objs[var]['out']] + list(objs[var]['extra_out']))), objs[var]['reg'], objs[var]['style'])
-def print_deps(objs):
- for var in sorted(objs.keys()):
- for dep in objs[var]['deps']:
- yield ' %s -> %s [ label="%s" ] ;\n' % (dep['out'], objs[var]['out'], objs[var]['op'])
-
-def push_allocate(existing, nodes, *args, **kwargs):
- if 'seen' not in kwargs.keys(): kwargs['seen'] = set()
- full_map = dict(existing)
- for node in nodes:
- if node['out'] in kwargs['seen']: continue
- cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars = args
- free_temps = list(free_temps)
- free_list = list(free_list)
- all_temps = list(all_temps)
- cur_map = dict(cur_map)
- freed = list(freed)
- new_buckets = list(new_buckets)
- emit_vars = list(emit_vars)
- full_map.update(cur_map)
- if node['out'] in full_map.keys() and node['op'] == '+' and all(d['out'] not in full_map.keys() for d in node['rev_deps']) and set(d['op'] for d in node['rev_deps']) == set(('&', 'COMBINE', 'GET_CARRY')):
- and_node = [d for d in node['rev_deps'] if d['op'] == '&'][0]
- carry_node = [d for d in node['rev_deps'] if d['op'] == 'GET_CARRY'][0]
- combine_node = [d for d in node['rev_deps'] if d['op'] == 'COMBINE'][0]
- high_node = [d for d in combine_node['deps'] if d is not node][0]
- assert(len(combine_node['rev_deps']) == 1)
- shr_node = combine_node['rev_deps'][0]
- assert(shr_node['op'] == '>>')
- assert(shr_node['out'] not in full_map.keys())
- assert(len(combine_node['deps']) == 2)
- assert(all(d['out'] in full_map.keys() for d in combine_node['deps']))
- cur_map[carry_node['out']] = 'c0'
- emit_vars.append(carry_node)
- cur_map[combine_node['out']] = ':'.join(full_map[d['out']] for d in combine_node['deps'])
- emit_vars.append(combine_node)
- assert(high_node['out'] in full_map.keys())
- cur_map[shr_node['out']] = full_map[high_node['out']]
- emit_vars.append(shr_node)
- cur_map[and_node['out']] = full_map[node['out']]
- emit_vars.append(and_node)
- fill_node(combine_node)
- fill_node(carry_node)
- fill_node(shr_node)
- fill_node(and_node)
- freed += [node['out'], carry_node['out'], high_node['out'], combine_node['out']]
- elif node['out'] in full_map.keys() and len(node['rev_deps']) == 1 and all(d['out'] not in full_map.keys() for d in node['rev_deps']) and len(node['rev_deps'][0]['deps']) == 1 and node['type'] == node['rev_deps'][0]['type']:
- next_node = node['rev_deps'][0]
- cur_map[next_node['out']] = full_map[node['out']]
- emit_vars.append(next_node)
- fill_node(next_node)
- full_map.update(cur_map)
- freed += [node['out']]
- elif node['out'] not in full_map.keys() and len(node['rev_deps']) == 2 and len(node['deps']) == 2 and all(d['out'] not in full_map.keys() for d in node['rev_deps']) and all(d['out'] in full_map.keys() for d in node['deps']) and node['type'] == 'uint64_t' and all(d['type'] == 'uint64_t' for d in node['rev_deps']) and all(d['type'] == 'uint64_t' for d in node['deps']):
- from1, from2 = node['deps']
- to1, to2 = node['rev_deps']
- assert(full_map[from1['out']] != full_map[from2['out']])
- cur_map[node['out']] = full_map[from1['out']]
- emit_vars.append(node)
- cur_map[to1['out']] = full_map[from1['out']]
- emit_vars.append(to1)
- cur_map[to2['out']] = full_map[from2['out']]
- emit_vars.append(to2)
- fill_node(node)
- fill_node(to1)
- fill_node(to2)
- full_map.update(cur_map)
- freed += [node['out'], from1['out'], from2['out']]
- elif node['out'] not in full_map.keys() and len(node['rev_deps']) == 0 and len(node['deps']) == 2 and all(d['out'] not in full_map.keys() for d in node['rev_deps']) and all(d['out'] in full_map.keys() for d in node['deps']) and node['type'] == 'uint64_t' and all(d['type'] == 'uint64_t' for d in node['rev_deps']) and all(d['type'] == 'uint64_t' for d in node['deps']):
- from1, from2 = node['deps']
- assert(full_map[from1['out']] != full_map[from2['out']])
- cur_map[node['out']] = full_map[from1['out']]
- emit_vars.append(node)
- fill_node(node)
- full_map.update(cur_map)
- freed += [from1['out'], from2['out']]
- full_map.update(cur_map)
- args = (cur_map, tuple(free_temps), tuple(free_list), tuple(all_temps), tuple(freed), tuple(new_buckets), tuple(emit_vars))
- kwargs['seen'].add(node['out'])
- args = push_allocate(existing, node['rev_deps'], *args, **kwargs)
- return args
-
-def allocate_one_subtree(in_nodes, possible_nodes, existing, *args):
- cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars = args
- existing, cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars \
- = dict(existing), dict(cur_map), list(free_temps), list(free_list), list(all_temps), tuple(freed), tuple(new_buckets), tuple(emit_vars)
- args = (cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars)
- sorted_nodes = []
- for node in possible_nodes:
- try:
- lens = [len([rd for rd in d['rev_deps'] if rd['out'] not in existing.keys()]) for d in node['deps']]
- temp_cur_map, temp_free_temps, temp_free_list, temp_all_temps, temp_freed, temp_new_buckets, temp_emit_vars = allocate_subgraph(existing, node, *args)
- if set(temp_free_temps) != set(temp_all_temps):
- print(('BAD', node['out'], temp_cur_map, temp_free_temps, temp_free_list, temp_all_temps, temp_freed))
- sorted_nodes.append(((len(temp_free_list),
- -min(lens),
- -max(lens),
- -len(temp_new_buckets),
- len(temp_free_temps),
- -int(node['out'].strip('x_lowhightemp'))),
- node))
- except IndexError:
- print('Too many reg: %s' % node['out'])
- sorted_nodes = tuple(reversed(sorted(sorted_nodes, key=(lambda v: v[0]))))
-# print([(n[0], n[1]['out']) for n in sorted_nodes])
- node = sorted_nodes[0][1]
- possible_nodes = [n for n in possible_nodes if n is not node]
-# print('Allocating for %s' % node['out'])
- args = allocate_subgraph(existing, node, *args)
- fill_subgraph(node)
- args = push_allocate(existing, in_nodes, *args)
- cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars = args
- return possible_nodes, cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars
-
-
-def print_graph(graph, allocs):
- objs = get_objects(graph['out'].values())
- annotate_with_alloc(objs.values(), allocs)
- body = ''.join(print_nodes(objs))
- body += ''.join(print_deps(objs))
- body += ''.join(' in -> %s ;\n' % node['out'] for node in graph['in'].values())
- body += ''.join(' %s -> out ;\n' % node['out'] for node in graph['out'].values())
- return ('digraph G {\n' + body + '}\n')
-
-def fix_emit_vars(emit_vars):
- ret = []
- waiting = []
- seen = set()
- get_high_waiting = None
- for node in emit_vars:
- waiting.append(node)
- early_new_waiting = []
- new_waiting = []
- for wnode in waiting:
- if wnode['out'] in seen:
- continue
- elif wnode['op'] == 'GET_HIGH' and wnode['deps'][0]['out'] == get_high_waiting:
- ret.append(wnode)
- seen.add(wnode['out'])
- get_high_waiting = None
- elif wnode['op'] == 'GET_HIGH' and len(wnode['rev_deps']) > 0 and wnode['rev_deps'][0]['op'] == '+':
- new_waiting.append(wnode)
- elif get_high_waiting is None and wnode['op'] == 'GET_LOW' and len(wnode['rev_deps']) > 0 and wnode['rev_deps'][0]['op'] == '+':
- ret.append(wnode)
- seen.add(wnode['out'])
- assert(len(wnode['deps']) == 1)
- get_high_waiting = wnode['deps'][0]['out']
- elif get_high_waiting is not None:
- new_waiting.append(wnode)
- elif all(dep['out'] in seen for dep in wnode['deps']):
- ret.append(wnode)
- seen.add(wnode['out'])
- else:
- new_waiting.append(wnode)
- waiting = early_new_waiting + new_waiting
- while len(waiting) > 0:
-# print('Waiting on...')
-# print(list(sorted(node['out'] for node in waiting)))
- new_waiting = []
- for wnode in waiting:
- if wnode['out'] in seen:
- continue
- elif all(dep['out'] in seen for dep in wnode['deps']):
- ret.append(wnode)
- seen.add(wnode['out'])
- else:
- new_waiting.append(wnode)
- waiting = new_waiting
- return tuple(ret)
-
-def print_input(reg_out, mem_in):
- #return '%s <- LOAD %s;\n' % (reg_out, mem_in)
- #return '"mov %%[%s], %%[%s]\\n\\t"\n' % (mem_in, reg_out)
- return ""
-
-def print_val(reg, dialect=DEFAULT_DIALECT, numbered_registers=False, final_pass=False):
- assert(dialect in ('intel', 'att'))
- if reg.upper() in NAMED_REGISTERS or (numbered_registers and reg.lower() in NUMBERED_REGISTERS):
- if dialect == 'intel':
- if final_pass:
- return reg
- else:
- return '%%%s' % reg
- elif dialect == 'att':
- return '%%%%%s' % reg
- if reg[:2] == '0x':
- if dialect == 'intel':
- return '%s' % reg
- elif dialect == 'att':
- return '$%s' % reg
- return '%%[%s]' % reg
-
-# args should be (outputs, inputs), as in intel syntax, regardless of what dialect says
-def print_instr(instr, args, comment=None, dialect=DEFAULT_DIALECT, do_print_val=True):
- if do_print_val:
- args = tuple(print_val(arg, dialect=dialect) for arg in args)
- if dialect == 'att':
- args = tuple(reversed(args))
- ret ='"%s %s\\t\\n"' % (instr, ', '.join(args))
- if comment is not None:
- ret += ' // %s' % comment
- ret += '\n'
- return ret
-
-def print_mov_no_adjust(reg_out, reg_in, comment=None, do_print_val=False):
- #return '%s <- MOV %s;\n' % (reg_out, reg_in)
- #ret, reg_in = print_load(reg_in)
- return print_instr('mov', (reg_out, reg_in), comment=comment, do_print_val=do_print_val)
-
-def print_mov(reg_out, reg_in):
- #return '%s <- MOV %s;\n' % (reg_out, reg_in)
- #ret, reg_in = print_load(reg_in)
- return print_mov_no_adjust(reg_out, reg_in, do_print_val=True)
-
-def print_load_constant(reg_out, imm):
- assert(imm[:2] == '0x')
- return print_mov_no_adjust(reg_out, imm, do_print_val=True)
-
-def print_load_specific_reg(reg, specific_reg='rdx'):
- ret = ''
- #ret += '"mov %%%s, %%[%s_backup]\\t\\n" // XXX: How do I specify that a particular register should be %s?\n' % (specific_reg, specific_reg, specific_reg)
- if reg != specific_reg:
- ret += print_mov_no_adjust(specific_reg, reg, do_print_val=True)
- return ret, specific_reg
-def print_unload_specific_reg(specific_reg='rdx'):
- ret = ''
- #ret += '"mov %%[%s_backup], %%%s\\t\\n" // XXX: How do I specify that a particular register should be %s?\n' % (specific_reg, specific_reg, specific_reg)
- return ret
-#def get_arg_reg(d):
-# return 'arg%d' % d
-def print_load(reg, can_clobber=tuple(), dont_clobber=tuple()):
- assert(not isinstance(can_clobber, str))
- assert(not isinstance(dont_clobber, str))
- can_clobber = [i for i in reversed(can_clobber) if i not in dont_clobber]
- if reg in REGISTERS:
- return ('', reg)
- else:
- cur_reg = can_clobber.pop()
- ret = print_mov_no_adjust(print_val(cur_reg), print_val(reg))
- return (ret, cur_reg)
-
-def print_mulx(reg_out_low, reg_out_high, rx1, rx2, src):
- #return '%s:%s <- MULX %s, %s; // %s\n' % (reg_out_low, reg_out_high, rx1, rx2, src)
- ret = ''
- ret2, actual_rx1 = print_load_specific_reg(rx1, 'rdx')
- assert(rx2 != actual_rx1)
- ret3, actual_rx2 = print_load(rx2, can_clobber=[reg_out_high, reg_out_low], dont_clobber=[actual_rx1])
- ret += ret2 + ret3 + print_instr('mulx', (reg_out_high, reg_out_low, actual_rx2), comment=src)
- ret += print_unload_specific_reg('rdx')
- return ret
-
-def print_mov_bucket(reg_out, reg_in, bucket):
- #return '%s <- MOV %s; // bucket: %s\n' % (reg_out, reg_in, bucket)
- #ret, reg_in = print_load(reg_in, can_clobber=[reg_out])
- return print_mov_no_adjust(print_val(reg_out), print_val(reg_in), 'bucket: ' + bucket)
-
-LAST_CARRY = None
-
-def print_imul_constant(reg_out, reg_in, imm, src):
- global LAST_CARRY
- LAST_CARRY = None
- ret = ''
- assert(imm[:2] == '0x')
- ret2, reg_in = print_load(reg_in, can_clobber=[reg_out])
- ret += ret2 + print_instr('imul', (reg_out, reg_in, imm), comment=src)
- return ret
-
-
-def print_mul_by_constant(reg_out, reg_in, constant, src):
- #return '%s <- MULX %s, %s; // %s\n' % (ret_out, reg_in, constant, src)
- ret = ''
- #if constant == '0x13':
- # ret += ('// FIXME: lea for %s\n' % src)
- assert(constant[:2] == '0x')
- #return ret + \
- # print_load_constant('rdx', constant) + \
- # print_mulx(reg_out, 'rdx', 'rdx', reg_in, src)
- return ret + \
- print_imul_constant(reg_out, reg_in, constant, src)
-
-def print_adx(reg_out, rx1, rx2, bucket):
- #return '%s <- ADX %s, %s; // bucket: %s\n' % (reg_out, rx1, rx2, bucket)
- assert(rx1 == reg_out)
- ret, rx2 = print_load(rx2, dont_clobber=[rx1])
- return ret + print_instr('adx', (reg_out, rx2), 'bucket: ' + bucket)
-
-def print_adc(reg_out, carry_out, carry_in, rx1, rx2, bucket):
- #return '%s <- ADCX %s, %s; // bucket: %s\n' % (reg_out, rx1, rx2, bucket)
- global LAST_CARRY
- assert(LAST_CARRY == carry_in)
- LAST_CARRY = carry_out
- assert(rx1 == reg_out)
- ret, rx2 = print_load(rx2, dont_clobber=[rx1])
- return ret + print_instr('adc', (reg_out, rx2), 'bucket: ' + bucket)
-
-def print_add(reg_out, cf, rx1, rx2, bucket):
- #return '%s, (%s) <- ADD %s, %s; // bucket: %s\n' % (reg_out, cf, rx1, rx2, bucket)
- global LAST_CARRY
- assert(reg_out == rx1)
- #assert(LAST_CARRY is None or LAST_CARRY == cf)
- LAST_CARRY = cf
- ret, rx2 = print_load(rx2, dont_clobber=[rx1])
- return ret + print_instr('add', (reg_out, rx2), 'bucket: ' + bucket)
-
-def print_adc(reg_out, cf_out, cf_in, rx1, rx2, bucket):
- #return '%s, (%s) <- ADC (%s), %s, %s; // bucket: %s\n' % (reg_out, cf_out, cf_in, rx1, rx2, bucket)
- assert(reg_out == rx1)
- ret = ''
- global LAST_CARRY
- if LAST_CARRY != cf_in:
- ret += 'ERRRRRRROR: %s != %s\n' % (LAST_CARRY, cf_in)
- LAST_CARRY = cf_out
- ret2, rx2 = print_load(rx2, dont_clobber=[rx1])
- ret += ret2
- return ret + print_instr('adc', (reg_out, rx2), 'bucket: ' + bucket)
-
-def print_adcx(reg_out, cf, bucket):
- #return '%s <- ADCX (%s), %s, 0x0; // bucket: %s\n' % (reg_out, cf, reg_out, bucket)
- assert(LAST_CARRY == cf)
- return print_instr('adcx', (reg_out, '0x0'), 'bucket: ' + bucket)
-
-def print_and(reg_out, rx1, rx2, src):
- #return '%s <- AND %s, %s; // %s\n' % (reg_out, rx1, rx2, src)
- global LAST_CARRY
- LAST_CARRY = None
- if reg_out != rx1:
- return print_mov(reg_out, rx1) + print_and(reg_out, reg_out, rx2, src)
- else:
- ret, rx2 = print_load(rx2, can_clobber=[reg_out, 'rdx'], dont_clobber=[rx1])
- return ret + print_instr('and', (reg_out, rx2), src)
-
-
-def print_shr(reg_out, rx1, imm, src):
- #return '%s <- SHR %s, %s; // %s\n' % (reg_out, rx1, imm, src)
- global LAST_CARRY
- LAST_CARRY = None
- assert(rx1 == reg_out)
- assert(imm[:2] == '0x')
- return print_instr('shr', (reg_out, imm), src)
-
-def print_shrd(reg_out, rx_low, rx_high, imm, src):
- #return '%s <- SHR %s, %s; // %s\n' % (reg_out, rx1, imm, src)
- global LAST_CARRY
- LAST_CARRY = None
- if rx_low != reg_out and rx_high == reg_out:
- return print_mov('rdx', rx_low) + \
- print_mov(rx_high, rx_low) + \
- print_mov(rx_low, 'rdx') + \
- print_shrd(reg_out, rx_high, rx_low, imm, src)
- assert(rx_low == reg_out)
- assert(imm[:2] == '0x')
- return print_instr('shrd', (rx_low, rx_high, imm), src)
-
-
-def schedule(input_data, existing, emit_vars):
- ret = ''
- buckets_seen = set()
- emit_vars = fix_emit_vars(emit_vars)
- ret += ('// Convention is low_reg:high_reg\n')
- for node in emit_vars:
- if node['op'] == 'INPUT':
- ret += print_input(existing[node['out']], node['out'])
- elif node['op'] == '*' and len(node['deps']) == 2:
- assert(len(existing[node['out']].split(':')) == 2)
- out_low, out_high = existing[node['out']].split(':')
- ret += print_mulx(out_low, out_high,
- existing[node['deps'][0]['out']],
- existing[node['deps'][1]['out']],
- '%s = %s * %s'
- % (node['out'],
- node['deps'][0]['out'],
- node['deps'][1]['out']))
- elif node['op'] == '*' and len(node['deps']) == 1:
- extra_arg = [arg for arg in line_of_var(data, node['out'])['args'] if arg[:2] == '0x'][0]
- ret += print_mul_by_constant(existing[node['out']],
- existing[node['deps'][0]['out']],
- extra_arg,
- '%s = %s * %s'
- % (node['out'],
- node['deps'][0]['out'],
- extra_arg))
- elif node['op'] == '&' and len(node['deps']) == 1:
- extra_arg = [arg for arg in line_of_var(data, node['out'])['args'] if arg[:2] == '0x'][0]
- ret += print_and(existing[node['out']],
- existing[node['deps'][0]['out']],
- extra_arg,
- '%s = %s & %s'
- % (node['out'],
- node['deps'][0]['out'],
- extra_arg))
- elif node['op'] == '>>' and len(node['deps']) == 1 and node['deps'][0]['op'] == 'COMBINE':
- extra_arg = [arg for arg in line_of_var(data, node['out'])['args'] if arg[:2] == '0x'][0]
- ret += print_shrd(existing[node['out']],
- existing[node['deps'][0]['deps'][0]['out']],
- existing[node['deps'][0]['deps'][1]['out']],
- extra_arg,
- '%s = %s:%s >> %s'
- % (node['out'],
- node['deps'][0]['deps'][0]['out'],
- node['deps'][0]['deps'][1]['out'],
- extra_arg))
- elif node['op'] == '>>' and len(node['deps']) == 1 and node['deps'][0]['type'] == 'uint64_t':
- extra_arg = [arg for arg in line_of_var(data, node['out'])['args'] if arg[:2] == '0x'][0]
- ret += print_shr(existing[node['out']],
- existing[node['deps'][0]['deps'][0]['out']],
- extra_arg,
- '%s = %s >> %s'
- % (node['out'],
- node['deps'][0]['deps'][0]['out'],
- extra_arg))
- elif node['op'] in ('GET_HIGH', 'GET_LOW'):
- if node['rev_deps'][0]['out'] not in buckets_seen:
- ret += print_mov_bucket(existing[node['rev_deps'][0]['out']],
- existing[node['out']],
- ' + '.join(sorted([node['rev_deps'][0]['out']] + list(node['rev_deps'][0]['extra_out']))))
- buckets_seen.add(node['rev_deps'][0]['out'])
- elif node['op'] == 'GET_HIGH':
- carry = 'c' + node['rev_deps'][0]['out'][:-len('_high')]
- ret += print_adc(existing[node['rev_deps'][0]['out']],
- None,
- carry,
- existing[node['rev_deps'][0]['out']],
- existing[node['out']],
- ' + '.join(sorted([node['rev_deps'][0]['out']] + list(node['rev_deps'][0]['extra_out']))))
- elif node['op'] == 'GET_LOW':
- carry = 'c' + node['rev_deps'][0]['out'][:-len('_low')]
- ret += print_add(existing[node['rev_deps'][0]['out']],
- carry,
- existing[node['rev_deps'][0]['out']],
- existing[node['out']],
- ' + '.join(sorted([node['rev_deps'][0]['out']] + list(node['rev_deps'][0]['extra_out']))))
- elif node['op'] in ('GET_CARRY',):
- #carry = 'c' + node['rev_deps'][0]['out'][:-len('_high')]
- #ret += print_adc(existing[node['rev_deps'][0]['out']],
- # carry,
- # ' + '.join(sorted([node['rev_deps'][0]['out']] + list(node['rev_deps'][0]['extra_out']))))
- pass
- elif node['op'] == '+' and len(node['extra_out']) > 0:
- pass
- elif node['op'] == '+' and len(node['deps']) == 2 and node['type'] == 'uint64_t':
- ret += print_add(existing[node['out']],
- None,
- existing[node['deps'][0]['out']],
- existing[node['deps'][1]['out']],
- '%s = %s + %s'
- % (node['out'],
- node['deps'][0]['out'],
- node['deps'][1]['out']))
- elif node['op'] in ('COMBINE',):
- pass
- else:
- raw_input((node['out'], node['op']))
- if node['op'] not in ('GET_HIGH', 'GET_LOW', 'COMBINE', 'GET_CARRY'):
- for rdep in node['rev_deps']:
- if len(rdep['extra_out']) > 0 and rdep['op'] == '+':
- if rdep['out'] not in buckets_seen:
- ret += print_mov_bucket(existing[rdep['out']],
- existing[node['out']],
- ' + '.join(sorted([rdep['out']] + list(rdep['extra_out']))))
- buckets_seen.add(rdep['out'])
- elif 'high' in rdep['out']:
- carry = 'c' + rdep['out'][:-len('_high')]
- ret += print_adc(existing[rdep['out']],
- None,
- carry,
- existing[rdep['out']],
- existing[node['out']],
- ' + '.join(sorted([rdep['out']] + list(rdep['extra_out']))))
- elif 'low' in rdep['out']:
- carry = 'c' + rdep['out'][:-len('_low')]
- ret += print_add(existing[rdep['out']],
- carry,
- existing[rdep['out']],
- existing[node['out']],
- ' + '.join(sorted([rdep['out']] + list(rdep['extra_out']))))
- else:
- assert(False)
- return ret
-
-def inline_schedule(sched, input_vars, output_vars):
- KNOWN_CONSTRAINTS = dict(('r%sx' % l, l) for l in 'abcd')
- variables = list(sorted(set(list(re.findall('%\[([a-zA-Z0-9_]*)\]', sched)) +
- list(re.findall('%([a-zA-Z0-9_]+)', sched))),
- key=int_or_zero_key))
- mems, variables = [i for i in variables if i[:2] == 'mx'], [i for i in variables if i[:2] != 'mx']
- special_reg, variables = [i for i in variables if i.upper() in NAMED_REGISTERS], [i for i in variables if i.upper() not in NAMED_REGISTERS]
- transient_regs, output_regs = [i for i in variables if i not in output_vars.values()], [i for i in variables if i in output_vars.keys()]
- available_registers = [NAMED_REGISTER_MAPPING.get('r%d' % i, 'r%d' % i).lower() for i in range(16)
- if ('r%d' % i) not in NAMED_REGISTER_MAPPING.keys() or (NAMED_REGISTER_MAPPING['r%d' % i].lower() not in special_reg
- and NAMED_REGISTER_MAPPING['r%d' % i] not in RESERVED_REGISTERS)]
- assert(len(available_registers) >= len(transient_regs))
- for reg in output_regs:
- sched = sched.replace('%%[%s]' % reg, '%%[r%s]' % output_vars[reg])
- available_registers = available_registers[-len(transient_regs):]
- assert(len(available_registers) > len(TO_BE_RESTORED_REGISTERS)) # makes the replacement of low registers with ones we have to handle specially easier
- count = len([reg for reg in TO_BE_RESTORED_REGISTERS if reg.lower() not in available_registers])
- available_registers = [reg.lower() for reg in TO_BE_RESTORED_REGISTERS] + \
- [reg for reg in available_registers[count:] if reg.upper() not in TO_BE_RESTORED_REGISTERS]
- renaming = dict((from_reg, to_reg) for from_reg, to_reg in zip(transient_regs, available_registers[-len(transient_regs):]))
- for from_reg, to_reg in renaming.items():
- sched = sched.replace('%%[%s]' % from_reg, print_val(to_reg, numbered_registers=True))
- transient_regs = [renaming[reg] for reg in transient_regs]
- for reg in REAL_REGISTERS:
- sched = sched.replace(print_val(reg.lower(), numbered_registers=True),
- print_val(reg.lower(), numbered_registers=True, final_pass=True))
- ret = ''
- ret += 'uint64_t %s;\n' % ', '.join(output_vars[reg] for reg in output_regs)
- ret += 'uint64_t %s;\n\n' % ', '.join(reg.lower() for reg in TO_BE_RESTORED_REGISTERS)
- ret += 'asm (\n'
- for reg in map(str.lower, TO_BE_RESTORED_REGISTERS):
- ret += print_mov_no_adjust('%%[%s]' % reg, print_val(reg, numbered_registers=True, final_pass=True))
- ret += sched
- for reg in map(str.lower, TO_BE_RESTORED_REGISTERS):
- ret += print_mov_no_adjust(print_val(reg, final_pass=True), '%%[%s]' % reg)
- ret += ': ' + ', '.join(['[r%s] "=&r" (%s)' % (output_vars[reg], output_vars[reg]) for reg in output_regs]) + '\n'
- ret += ': ' + ', '.join(['[%s] "m" (%s)' % (reg, input_vars[reg]) for reg in input_vars] +
- ['[%s] "m" (%s)' % (reg, reg) for reg in map(str.lower, TO_BE_RESTORED_REGISTERS)]) + '\n'
- ret += ': ' + ', '.join(['"cc"'] +
- ['"%s"' % reg for reg in special_reg] +
- ['"%s"' % reg for reg in transient_regs if reg.upper() not in TO_BE_RESTORED_REGISTERS]) + '\n'
- ret += ');\n'
- return ret
-
-if __name__ == '__main__':
- if len(sys.argv) != 3:
- print('USAGE: %s INPUT OUTPUT' % os.path.basename(__file__))
- sys.exit(1)
- in_file, out_file = sys.argv[1], sys.argv[2]
- data = parse_lines(get_lines(in_file))
- graph = to_graph(data)
- #possible_nodes = dict((n['out'], n)
- # for in_obj in graph['in'].values()
- # for n in in_obj['rev_deps']
- # if n['op'] == '*')
- #for var, node in list(possible_nodes.items()):
- # possible_nodes.update(dict((n['out'], n)
- # for n in node['rev_deps']
- # if n['op'] == '*'))
- #possible_nodes = list(sorted(possible_nodes.items()))
- #possible_nodes = [n for v, n in possible_nodes]
- in_nodes = tuple(graph['in'].values())
- existing, cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars = {}, {}, tuple(), tuple(REGISTERS), tuple(), tuple(), tuple(), tuple()
- objs = get_objects(graph['out'].values())
- def vars_for(var, rec=True):
- pre_ret = [n['out'] for n in objs[var]['rev_deps']]
- ret = [v for v in pre_ret if 'tmp' in v]
- if rec:
- for v in pre_ret:
- if 'tmp' not in v:
- ret += list(vars_for(v, rec=False))
- return tuple(ret)
- def vars_for_bucket(var):
- if '_' not in var:
- return tuple(list(vars_for_bucket(var + '_low')) + list(vars_for_bucket(var + '_high')))
- ret = []
- for dep in objs[var]['deps']:
- if dep['op'] in ('GET_HIGH', 'GET_LOW'):
- assert(len(dep['deps']) == 1)
- assert('tmp' in dep['deps'][0]['out'])
- ret.append(dep['deps'][0]['out'])
- return tuple(ret)
- plus_deps = tuple(n for n in get_plus_deps(objs.values())
- if len(n['extra_out']) > 0)
- plus_deps = tuple(sorted(plus_deps, cmp=cmp_node_by_dep))
- for var in [v
- for n in plus_deps
- for v in vars_for_bucket(n['out'])]:
- cur_possible_nodes = [objs[var]] # [n for n in possible_nodes if n['out'] == var]
- cur_possible_nodes, cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars \
- = allocate_one_subtree(in_nodes, cur_possible_nodes, existing, cur_map, free_temps, free_list, all_temps, freed, new_buckets, emit_vars)
- existing.update(cur_map)
- cur_map = {}
- sched = inline_schedule(schedule(data, existing, emit_vars),
- dict((existing[n['out']], n['out']) for n in graph['in'].values()),
- dict((existing[n['out']], n['out']) for n in graph['out'].values()))
- deps = adjust_bits(data, print_graph(graph, existing))
- with codecs.open(out_file, 'w', encoding='utf8') as f:
- f.write(data['header'] + '\n\n' + sched + '\n\n' + data['footer'] + '\n')
diff --git a/src/Arithmetic/Core.v b/src/Arithmetic/Core.v
deleted file mode 100644
index 48046d7e3..000000000
--- a/src/Arithmetic/Core.v
+++ /dev/null
@@ -1,1431 +0,0 @@
-(*****
-
-This file provides a generalized version of arithmetic with "mixed
-radix" numerical systems. Later, parameters are entered into the
-general functions, and they are partially evaluated until only runtime
-basic arithmetic operations remain.
-
-CPS
----
-
-Fuctions are written in continuation passing style (CPS). This means
-that each operation is passed a "continuation" function, which it is
-expected to call on its own output (like a callback). See the end of
-this comment for a motivating example explaining why we do CPS,
-despite a fair amount of resulting boilerplate code for each
-operation. The code block for an operation called A would look like
-this:
-
-```
-Definition A_cps x y {T} f : T := ...
-
-Definition A x y := A_cps x y id.
-Lemma A_cps_id x y : forall {T} f, @A_cps x y T f = f (A x y).
-Hint Opaque A : uncps.
-Hint Rewrite A_cps_id : uncps.
-
-Lemma eval_A x y : eval (A x y) = ...
-Hint Rewrite eval_A : push_basesystem_eval.
-```
-
-`A_cps` is the main, CPS-style definition of the operation (`f` is the
-continuation function). `A` is the non-CPS version of `A_cps`, simply
-defined by passing an identity function to `A_cps`. `A_cps_id` states
-that we can replace the CPS version with the non-cps version. `eval_A`
-is the actual correctness lemma for the operation, stating that it has
-the correct arithmetic properties. In general, the middle block
-containing `A` and `A_cps_id` is boring boilerplate and can be safely
-ignored.
-
-HintDbs
--------
-
-+ `uncps` : Converts CPS operations to their non-CPS versions.
-+ `push_basesystem_eval` : Contains all the correctness lemmas for
- operations in this file, which are in terms of the `eval` function.
-
-Positional/Associational
-------------------------
-
-We represent mixed-radix numbers in a few different ways:
-
-+ "Positional" : a tuple of numbers and a weight function (nat->Z),
-which is evaluated by multiplying the `i`th element of the tuple by
-`weight i`, and then summing the products.
-+ "Associational" : a list of pairs of numbers--the first is the
-weight, the second is the runtime value. Evaluated by multiplying each
-pair and summing the products.
-
-The associational representation is good for basic operations like
-addition and multiplication; for addition, one can simply just append
-two associational lists. But the end-result code should use the
-positional representation (with each digit representing a machine
-word). Since converting to and fro can be easily compiled away once
-the weight function is known, we use associational to write most of
-the operations and liberally convert back and forth to ensure correct
-output. In particular, it is important to convert before carrying.
-
-Runtime Operations
-------------------
-
-Since some instances of e.g. Z.add or Z.mul operate on (compile-time)
-weights, and some operate on runtime values, we need a way to
-differentiate these cases before partial evaluation. We define a
-runtime_scope to mark certain additions/multiplications as runtime
-values, so they will not be unfolded during partial evaluation. For
-instance, if we have:
-
-```
-Definition f (x y : Z * Z) := (fst x + fst y, (snd x + snd y)%RT).
-```
-
-then when we are partially evaluating `f`, we can easily exclude the
-runtime operations (`cbv - [runtime_add]`) and prevent Coq from trying
-to simplify the second addition.
-
-
-Why CPS?
---------
-
-Let's suppose we want to add corresponding elements of two `list Z`s
-(so on inputs `[1,2,3]` and `[2,3,1]`, we get `[3,5,4]`). We might
-write our function like this :
-
-```
-Fixpoint add_lists (p q : list Z) :=
- match p, q with
- | p0 :: p', q0 :: q' =>
- dlet sum := p0 + q0 in
- sum :: add_lists p' q'
- | _, _ => nil
- end.
-```
-
-(Note : `dlet` is a notation for `Let_In`, which is just a dumb
-wrapper for `let`. This allows us to `cbv - [Let_In]` if we want to
-not simplify certain `let`s.)
-
-A CPS equivalent of `add_lists` would look like this:
-
-```
-Fixpoint add_lists_cps (p q : list Z) {T} (f:list Z->T) :=
- match p, q with
- | p0 :: p', q0 :: q' =>
- dlet sum := p0 + q0 in
- add_lists_cps p' q' (fun r => f (sum :: r))
- | _, _ => f nil
- end.
-```
-
-Now let's try some partial evaluation. The expression we'll evaluate is:
-
-```
-Definition x :=
- (fun a0 a1 a2 b0 b1 b2 =>
- let r := add_lists [a0;a1;a2] [b0;b1;b2] in
- let rr := add_lists r r in
- add_lists rr rr).
-```
-
-Or, using `add_lists_cps`:
-
-```
-Definition y :=
- (fun a0 a1 a2 b0 b1 b2 =>
- add_lists_cps [a0;a1;a2] [b0;b1;b2]
- (fun r => add_lists_cps r r
- (fun rr => add_lists_cps rr rr id))).
-```
-
-If we run `Eval cbv -[Z.add] in x` and `Eval cbv -[Z.add] in y`, we get
-identical output:
-
-```
-fun a0 a1 a2 b0 b1 b2 : Z =>
- [a0 + b0 + (a0 + b0) + (a0 + b0 + (a0 + b0));
- a1 + b1 + (a1 + b1) + (a1 + b1 + (a1 + b1));
- a2 + b2 + (a2 + b2) + (a2 + b2 + (a2 + b2))]
-```
-
-However, there are a lot of common subexpressions here--this is what
-the `dlet` we put into the functions should help us avoid. Let's try
-`Eval cbv -[Let_In Z.add] in x`:
-
-```
-fun a0 a1 a2 b0 b1 b2 : Z =>
- (fix add_lists (p q : list Z) {struct p} :
- list Z :=
- match p with
- | [] => []
- | p0 :: p' =>
- match q with
- | [] => []
- | q0 :: q' =>
- dlet sum := p0 + q0 in
- sum :: add_lists p' q'
- end
- end)
- ((fix add_lists (p q : list Z) {struct p} :
- list Z :=
- match p with
- | [] => []
- | p0 :: p' =>
- match q with
- | [] => []
- | q0 :: q' =>
- dlet sum := p0 + q0 in
- sum :: add_lists p' q'
- end
- end)
- (dlet sum := a0 + b0 in
- sum
- :: (dlet sum0 := a1 + b1 in
- sum0 :: (dlet sum1 := a2 + b2 in
- [sum1])))
- (dlet sum := a0 + b0 in
- sum
- :: (dlet sum0 := a1 + b1 in
- sum0 :: (dlet sum1 := a2 + b2 in
- [sum1]))))
- ((fix add_lists (p q : list Z) {struct p} :
- list Z :=
- match p with
- | [] => []
- | p0 :: p' =>
- match q with
- | [] => []
- | q0 :: q' =>
- dlet sum := p0 + q0 in
- sum :: add_lists p' q'
- end
- end)
- (dlet sum := a0 + b0 in
- sum
- :: (dlet sum0 := a1 + b1 in
- sum0 :: (dlet sum1 := a2 + b2 in
- [sum1])))
- (dlet sum := a0 + b0 in
- sum
- :: (dlet sum0 := a1 + b1 in
- sum0 :: (dlet sum1 := a2 + b2 in
- [sum1]))))
-```
-
-Not so great. Because the `dlet`s are stuck in the inner terms, we
-can't simplify the expression very nicely. Let's try that on the CPS
-version (`Eval cbv -[Let_In Z.add] in y`):
-
-```
-fun a0 a1 a2 b0 b1 b2 : Z =>
- dlet sum := a0 + b0 in
- dlet sum0 := a1 + b1 in
- dlet sum1 := a2 + b2 in
- dlet sum2 := sum + sum in
- dlet sum3 := sum0 + sum0 in
- dlet sum4 := sum1 + sum1 in
- dlet sum5 := sum2 + sum2 in
- dlet sum6 := sum3 + sum3 in
- dlet sum7 := sum4 + sum4 in
- [sum5; sum6; sum7]
-```
-
-Isn't that lovely? Since we can push continuation functions "under"
-the `dlet`s, we can end up with a nice, concise, simplified
-expression.
-
-One might suggest that we could just inline the `dlet`s and do common
-subexpression elimination. But some of our terms have so many `dlet`s
-that inlining them all would make a term too huge to process in
-reasonable time, so this is not really an option.
-
-*****)
-
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz Coq.omega.Omega.
-Require Import Coq.ZArith.BinIntDef.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Algebra.Nsatz.
-Require Import Crypto.Util.Decidable Crypto.Util.LetIn.
-Require Import Crypto.Util.ListUtil Crypto.Util.Sigma.
-Require Import Crypto.Util.CPSUtil Crypto.Util.Prod.
-Require Import Crypto.Util.ZUtil.Modulo.PullPush.
-Require Import Crypto.Util.ZUtil.Zselect.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.CPS.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Tactics.VM.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.Notations.
-
-Require Import Coq.Lists.List. Import ListNotations.
-Require Crypto.Util.Tuple. Local Notation tuple := Tuple.tuple.
-
-Local Ltac prove_id :=
- repeat match goal with
- | _ => progress intros
- | _ => progress simpl
- | _ => progress cbv [Let_In]
- | _ => progress (autorewrite with uncps push_id in * )
- | _ => break_innermost_match_step
- | _ => contradiction
- | _ => reflexivity
- | _ => nsatz
- | _ => solve [auto]
- end.
-
-Create HintDb push_basesystem_eval discriminated.
-Local Ltac prove_eval :=
- repeat match goal with
- | _ => progress intros
- | _ => progress simpl
- | _ => progress cbv [Let_In]
- | _ => progress Z.ltb_to_lt
- | _ => progress (autorewrite with push_basesystem_eval uncps push_id cancel_pair in * )
- | _ => break_innermost_match_step
- | _ => split
- | H : _ /\ _ |- _ => destruct H
- | H : Some _ = Some _ |- _ => progress (inversion H; subst)
- | _ => discriminate
- | _ => reflexivity
- | _ => nsatz
- end.
-
-Definition mod_eq (m:positive) a b := a mod m = b mod m.
-Global Instance mod_eq_equiv m : RelationClasses.Equivalence (mod_eq m).
-Proof. constructor; congruence. Qed.
-Definition mod_eq_dec m a b : {mod_eq m a b} + {~ mod_eq m a b}
- := Z.eq_dec _ _.
-Lemma mod_eq_Z2F_iff m a b :
- mod_eq m a b <-> Logic.eq (F.of_Z m a) (F.of_Z m b).
-Proof. rewrite <-F.eq_of_Z_iff; reflexivity. Qed.
-
-Delimit Scope runtime_scope with RT.
-
-Definition runtime_mul := Z.mul.
-Global Notation "a * b" := (runtime_mul a%RT b%RT) : runtime_scope.
-Definition runtime_add := Z.add.
-Global Notation "a + b" := (runtime_add a%RT b%RT) : runtime_scope.
-Definition runtime_opp := Z.opp.
-Global Notation "- a" := (runtime_opp a%RT) : runtime_scope.
-Definition runtime_and := Z.land.
-Global Notation "a &' b" := (runtime_and a%RT b%RT) : runtime_scope.
-Definition runtime_shr := Z.shiftr.
-Global Notation "a >> b" := (runtime_shr a%RT b%RT) : runtime_scope.
-Definition runtime_lor := Z.lor.
-Global Arguments runtime_lor (_ _)%RT.
-
-Ltac cbv_runtime := cbv beta delta [runtime_add runtime_and runtime_lor runtime_mul runtime_opp runtime_shr].
-
-Module B.
- Definition limb := (Z*Z)%type. (* position coefficient and run-time value *)
- Module Associational.
- Definition eval (p:list limb) : Z :=
- List.fold_right Z.add 0%Z (List.map (fun t => fst t * snd t) p).
-
- Lemma eval_nil : eval nil = 0. Proof. reflexivity. Qed.
- Lemma eval_cons p q : eval (p::q) = (fst p) * (snd p) + eval q. Proof. reflexivity. Qed.
- Lemma eval_app p q: eval (p++q) = eval p + eval q.
- Proof. induction p; simpl eval; rewrite ?eval_nil, ?eval_cons; nsatz. Qed.
- Hint Rewrite eval_nil eval_cons eval_app : push_basesystem_eval.
-
- Definition multerm (t t' : limb) : limb :=
- (fst t * fst t', (snd t * snd t')%RT).
- Lemma eval_map_multerm (a:limb) (q:list limb)
- : eval (List.map (multerm a) q) = fst a * snd a * eval q.
- Proof.
- induction q; cbv [multerm]; simpl List.map;
- autorewrite with push_basesystem_eval cancel_pair; nsatz.
- Qed. Hint Rewrite eval_map_multerm : push_basesystem_eval.
-
- Definition mul_cps (p q:list limb) {T} (f : list limb->T) :=
- flat_map_cps (fun t => @map_cps _ _ (multerm t) q) p f.
-
- Definition mul (p q:list limb) := mul_cps p q id.
- Lemma mul_cps_id p q: forall {T} f, @mul_cps p q T f = f (mul p q).
- Proof. cbv [mul_cps mul]; prove_id. Qed.
- Hint Opaque mul : uncps.
- Hint Rewrite mul_cps_id : uncps.
-
- Lemma eval_mul p q: eval (mul p q) = eval p * eval q.
- Proof. cbv [mul mul_cps]; induction p; prove_eval. Qed.
- Hint Rewrite eval_mul : push_basesystem_eval.
-
- Section split_cps.
- Context (s:Z) {T : Type}.
-
- Fixpoint split_cps (xs:list limb)
- (f :list limb*list limb->T) :=
- match xs with
- | nil => f (nil, nil)
- | cons x xs' =>
- split_cps xs'
- (fun sxs' =>
- Z.eqb_cps (fst x mod s) 0
- (fun b =>
- if b
- then f (fst sxs', cons (fst x / s, snd x) (snd sxs'))
- else f (cons x (fst sxs'), snd sxs')))
- end.
- End split_cps.
-
- Definition split s xs := split_cps s xs id.
- Lemma split_cps_id s p: forall {T} f,
- @split_cps s T p f = f (split s p).
- Proof.
- induction p as [|?? IHp];
- repeat match goal with
- | _ => rewrite IHp
- | _ => progress (cbv [split]; prove_id)
- end.
- Qed.
- Hint Opaque split : uncps.
- Hint Rewrite split_cps_id : uncps.
-
- Lemma eval_split s p (s_nonzero:s<>0):
- eval (fst (split s p)) + s*eval (snd (split s p)) = eval p.
- Proof.
- cbv [split]; induction p; prove_eval.
- match goal with
- H:_ |- _ =>
- unique pose proof (Z_div_exact_full_2 _ _ s_nonzero H)
- end; nsatz.
- Qed. Hint Rewrite @eval_split using auto : push_basesystem_eval.
-
- Definition reduce_cps (s:Z) (c:list limb) (p:list limb)
- {T} (f : list limb->T) :=
- split_cps s p
- (fun ab => mul_cps c (snd ab)
- (fun rr =>f (fst ab ++ rr))).
-
- Definition reduce s c p := reduce_cps s c p id.
- Lemma reduce_cps_id s c p {T} f:
- @reduce_cps s c p T f = f (reduce s c p).
- Proof. cbv [reduce_cps reduce]; prove_id. Qed.
- Hint Opaque reduce : uncps.
- Hint Rewrite reduce_cps_id : uncps.
-
- Lemma reduction_rule a b s c m (m_eq:Z.pos m = s - c):
- (a + s * b) mod m = (a + c * b) mod m.
- Proof.
- rewrite m_eq. pose proof (Pos2Z.is_pos m).
- replace (a + s * b) with ((a + c*b) + b*(s-c)) by ring.
- rewrite Z.add_mod, Z_mod_mult, Z.add_0_r, Z.mod_mod by omega.
- trivial.
- Qed.
- Lemma eval_reduce s c p (s_nonzero:s<>0) m (m_eq : Z.pos m = s - eval c) :
- mod_eq m (eval (reduce s c p)) (eval p).
- Proof.
- cbv [reduce reduce_cps mod_eq]; prove_eval.
- erewrite <-reduction_rule by eauto; prove_eval.
- Qed.
- Hint Rewrite eval_reduce using (omega || assumption) : push_basesystem_eval.
- (* Why TF does this hint get picked up outside the section (while other eval_ hints do not?) *)
-
-
- Definition negate_snd_cps (p:list limb) {T} (f:list limb ->T) :=
- map_cps (fun cx => (fst cx, (-snd cx)%RT)) p f.
-
- Definition negate_snd p := negate_snd_cps p id.
- Lemma negate_snd_id p {T} f : @negate_snd_cps p T f = f (negate_snd p).
- Proof. cbv [negate_snd_cps negate_snd]; prove_id. Qed.
- Hint Opaque negate_snd : uncps.
- Hint Rewrite negate_snd_id : uncps.
-
- Lemma eval_negate_snd p : eval (negate_snd p) = - eval p.
- Proof.
- cbv [negate_snd_cps negate_snd]; induction p; prove_eval.
- Qed. Hint Rewrite eval_negate_snd : push_basesystem_eval.
-
- Section Carries.
- Context {modulo_cps div_cps:forall {R},Z->Z->(Z->R)->R}.
- Let modulo x y := modulo_cps _ x y id.
- Let div x y := div_cps _ x y id.
- Context {modulo_cps_id : forall R x y f, modulo_cps R x y f = f (modulo x y)}
- {div_cps_id : forall R x y f, div_cps R x y f = f (div x y)}.
- Context {div_mod : forall a b:Z, b <> 0 ->
- a = b * (div a b) + modulo a b}.
- Hint Rewrite modulo_cps_id div_cps_id : uncps.
-
- Definition carryterm_cps (w fw:Z) (t:limb) {T} (f:list limb->T) :=
- Z.eqb_cps (fst t) w (fun eqb =>
- if eqb
- then dlet t2 := snd t in
- div_cps _ t2 fw (fun d2 =>
- modulo_cps _ t2 fw (fun m2 =>
- dlet d2 := d2 in
- dlet m2 := m2 in
- f ((w*fw, d2) :: (w, m2) :: @nil limb)))
- else f [t]).
-
- Definition carryterm w fw t := carryterm_cps w fw t id.
- Lemma carryterm_cps_id w fw t {T} f :
- @carryterm_cps w fw t T f
- = f (@carryterm w fw t).
- Proof using div_cps_id modulo_cps_id.
- cbv [carryterm_cps carryterm Let_In]; prove_id.
- Qed.
- Hint Opaque carryterm : uncps.
- Hint Rewrite carryterm_cps_id : uncps.
-
-
- Lemma eval_carryterm w fw (t:limb) (fw_nonzero:fw<>0):
- eval (carryterm w fw t) = eval [t].
- Proof using Type*.
- cbv [carryterm_cps carryterm Let_In]; prove_eval.
- specialize (div_mod (snd t) fw fw_nonzero).
- nsatz.
- Qed. Hint Rewrite eval_carryterm using auto : push_basesystem_eval.
-
- Definition carry_cps (w fw:Z) (p:list limb) {T} (f:list limb->T) :=
- flat_map_cps (carryterm_cps w fw) p f.
-
- Definition carry w fw p := carry_cps w fw p id.
- Lemma carry_cps_id w fw p {T} f:
- @carry_cps w fw p T f = f (carry w fw p).
- Proof using div_cps_id modulo_cps_id.
- cbv [carry_cps carry]; prove_id.
- Qed.
- Hint Opaque carry : uncps.
- Hint Rewrite carry_cps_id : uncps.
-
- Lemma eval_carry w fw p (fw_nonzero:fw<>0):
- eval (carry w fw p) = eval p.
- Proof using Type*. cbv [carry_cps carry]; induction p; prove_eval. Qed.
- Hint Rewrite eval_carry using auto : push_basesystem_eval.
- End Carries.
-
- End Associational.
-
- Ltac div_mod_cps_t :=
- intros; autorewrite with uncps push_id; try reflexivity.
-
- Hint Rewrite
- @Associational.reduce_cps_id
- @Associational.split_cps_id
- @Associational.mul_cps_id : uncps.
- Hint Rewrite
- @Associational.carry_cps_id
- @Associational.carryterm_cps_id
- using div_mod_cps_t : uncps.
-
-
- Module Positional.
- Section Positional.
- Import Associational.
- Context (weight : nat -> Z) (* [weight i] is the weight of position [i] *)
- (weight_0 : weight 0%nat = 1%Z)
- (weight_nonzero : forall i, weight i <> 0).
-
- (** Converting from positional to associational *)
- Definition to_associational_cps {n:nat} (xs:tuple Z n)
- {T} (f:list limb->T) :=
- map_cps weight (seq 0 n)
- (fun r =>
- to_list_cps n xs (fun rr => combine_cps r rr f)).
-
- Definition to_associational {n} xs :=
- @to_associational_cps n xs _ id.
- Lemma to_associational_cps_id {n} x {T} f:
- @to_associational_cps n x T f = f (to_associational x).
- Proof using Type. cbv [to_associational_cps to_associational]; prove_id. Qed.
- Hint Opaque to_associational : uncps.
- Hint Rewrite @to_associational_cps_id : uncps.
-
- Definition eval {n} x :=
- @to_associational_cps n x _ Associational.eval.
-
- Lemma eval_single (x:Z) : eval (n:=1) x = weight 0%nat * x.
- Proof. cbv - [Z.mul Z.add]. ring. Qed.
-
- Lemma eval_unit : eval (n:=0) tt = 0.
- Proof. reflexivity. Qed.
- Hint Rewrite eval_unit eval_single : push_basesystem_eval.
-
- Lemma eval_to_associational {n} x :
- Associational.eval (@to_associational n x) = eval x.
- Proof using Type.
- cbv [to_associational_cps eval to_associational]; prove_eval.
- Qed. Hint Rewrite @eval_to_associational : push_basesystem_eval.
-
- (** (modular) equality that tolerates redundancy **)
- Definition eq {sz} m (a b : tuple Z sz) : Prop :=
- mod_eq m (eval a) (eval b).
-
- (** Converting from associational to positional *)
-
- Definition zeros n : tuple Z n := Tuple.repeat 0 n.
- Lemma eval_zeros n : eval (zeros n) = 0.
- Proof using Type.
- cbv [eval Associational.eval to_associational_cps zeros].
- pose proof (seq_length n 0). generalize dependent (seq 0 n).
- intro xs; revert n; induction xs as [|?? IHxs]; intros n H;
- [autorewrite with uncps; reflexivity|].
- destruct n as [|n]; [distr_length|].
- specialize (IHxs n). autorewrite with uncps in *.
- rewrite !@Tuple.to_list_repeat in *.
- simpl List.repeat. rewrite map_cons, combine_cons, map_cons.
- simpl fold_right. rewrite IHxs by distr_length. ring.
- Qed. Hint Rewrite eval_zeros : push_basesystem_eval.
-
- Definition add_to_nth_cps {n} i x t {T} (f:tuple Z n->T) :=
- @on_tuple_cps _ _ 0 (update_nth_cps i (runtime_add x)) n n t _ f.
-
- Definition add_to_nth {n} i x t := @add_to_nth_cps n i x t _ id.
- Lemma add_to_nth_cps_id {n} i x xs {T} f:
- @add_to_nth_cps n i x xs T f = f (add_to_nth i x xs).
- Proof using weight.
- cbv [add_to_nth_cps add_to_nth]; erewrite !on_tuple_cps_correct
- by (intros; autorewrite with uncps; reflexivity); prove_id.
- Unshelve.
- intros; subst. autorewrite with uncps push_id. distr_length.
- Qed.
- Hint Opaque add_to_nth : uncps.
- Hint Rewrite @add_to_nth_cps_id : uncps.
-
- Lemma eval_add_to_nth {n} (i:nat) (x:Z) (H:(i<n)%nat) (xs:tuple Z n):
- eval (@add_to_nth n i x xs) = weight i * x + eval xs.
- Proof using Type.
- cbv [eval to_associational_cps add_to_nth add_to_nth_cps runtime_add].
- erewrite on_tuple_cps_correct by (intros; autorewrite with uncps; reflexivity).
- prove_eval.
- cbv [Tuple.on_tuple].
- rewrite !Tuple.to_list_from_list.
- autorewrite with uncps push_id.
- rewrite ListUtil.combine_update_nth_r at 1.
- rewrite <-(update_nth_id i (List.combine _ _)) at 2.
- rewrite <-!(ListUtil.splice_nth_equiv_update_nth_update _ _ (weight 0, 0)); cbv [ListUtil.splice_nth id];
- repeat match goal with
- | _ => progress (apply Zminus_eq; ring_simplify)
- | _ => progress autorewrite with push_basesystem_eval cancel_pair distr_length
- | _ => progress rewrite <-?ListUtil.map_nth_default_always, ?map_fst_combine, ?List.firstn_all2, ?ListUtil.map_nth_default_always, ?nth_default_seq_inbouns, ?plus_O_n
- end; trivial; lia.
- Unshelve.
- intros; subst. autorewrite with uncps push_id. distr_length.
- Qed. Hint Rewrite @eval_add_to_nth using omega : push_basesystem_eval.
-
- Section place_cps.
- Context {T : Type}.
-
- Fixpoint place_cps (t:limb) (i:nat) (f:nat * Z->T) :=
- Z.eqb_cps (fst t mod weight i) 0 (fun eqb =>
- if eqb
- then f (i, let c := fst t / weight i in (c * snd t)%RT)
- else match i with S i' => place_cps t i' f | O => f (O, fst t * snd t)%RT end).
- End place_cps.
-
- Definition place t i := place_cps t i id.
- Lemma place_cps_id t i {T} f :
- @place_cps T t i f = f (place t i).
- Proof using Type. cbv [place]; induction i; prove_id. Qed.
- Hint Opaque place : uncps.
- Hint Rewrite place_cps_id : uncps.
-
- Lemma place_cps_in_range (t:limb) (n:nat)
- : (fst (place_cps t n id) < S n)%nat.
- Proof using Type. induction n; simpl; cbv [Z.eqb_cps]; break_match; simpl; omega. Qed.
- Lemma weight_place_cps t i
- : weight (fst (place_cps t i id)) * snd (place_cps t i id)
- = fst t * snd t.
- Proof using Type*.
- induction i; cbv [id]; simpl place_cps; cbv [Z.eqb_cps]; break_match;
- Z.ltb_to_lt;
- autorewrite with cancel_pair;
- try match goal with [H:_|-_] => apply Z_div_exact_full_2 in H end;
- nsatz || auto.
- Qed.
-
- Definition from_associational_cps n (p:list limb)
- {T} (f:tuple Z n->T):=
- fold_right_cps2
- (fun t st T' f' =>
- place_cps t (pred n)
- (fun p=> add_to_nth_cps (fst p) (snd p) st f'))
- (zeros n) p f.
-
- Definition from_associational n p := from_associational_cps n p id.
- Lemma from_associational_cps_id {n} p {T} f:
- @from_associational_cps n p T f = f (from_associational n p).
- Proof using Type.
- cbv [from_associational_cps from_associational]; prove_id.
- Qed.
- Hint Opaque from_associational : uncps.
- Hint Rewrite @from_associational_cps_id : uncps.
-
- Lemma eval_from_associational {n} p (n_nonzero:n<>O):
- eval (from_associational n p) = Associational.eval p.
- Proof using Type*.
- cbv [from_associational_cps from_associational]; induction p;
- [|pose proof (place_cps_in_range a (pred n))]; prove_eval.
- cbv [place]; rewrite weight_place_cps. nsatz.
- Qed.
- Hint Rewrite @eval_from_associational using omega
- : push_basesystem_eval.
-
-
- Section Wrappers.
- (* Simple wrappers for Associational definitions; convert to
- associational, do the operation, convert back. *)
-
- Definition add_cps {n} (p q : tuple Z n) {T} (f:tuple Z n->T) :=
- to_associational_cps p
- (fun P => to_associational_cps q
- (fun Q => from_associational_cps n (P++Q) f)).
-
- Definition mul_cps {n m} (p q : tuple Z n) {T} (f:tuple Z m->T) :=
- to_associational_cps p
- (fun P => to_associational_cps q
- (fun Q => Associational.mul_cps P Q
- (fun PQ => from_associational_cps m PQ f))).
-
- Definition reduce_cps {m n} (s:Z) (c:list B.limb) (p : tuple Z m)
- {T} (f:tuple Z n->T) :=
- to_associational_cps p
- (fun P => Associational.reduce_cps s c P
- (fun R => from_associational_cps n R f)).
-
- Definition negate_snd_cps {n} (p : tuple Z n)
- {T} (f:tuple Z n->T) :=
- to_associational_cps p
- (fun P => Associational.negate_snd_cps P
- (fun R => from_associational_cps n R f)).
-
- Definition split_cps {n m1 m2} (s:Z) (p : tuple Z n)
- {T} (f:(tuple Z m1 * tuple Z m2) -> T) :=
- to_associational_cps p
- (fun P => Associational.split_cps s P
- (fun split_P =>
- from_associational_cps m1 (fst split_P)
- (fun m1_P =>
- from_associational_cps m2 (snd split_P)
- (fun m2_P =>
- f (m1_P, m2_P))))).
-
- Definition scmul_cps {n} (x : Z) (p: tuple Z n)
- {T} (f:tuple Z n->T) :=
- to_associational_cps p
- (fun P => Associational.mul_cps P [(1, x)]
- (fun R => from_associational_cps n R f)).
-
- (* This version of sub does not add balance; bounds must be
- carefully handled. *)
- Definition unbalanced_sub_cps {n} (p q: tuple Z n)
- {T} (f:tuple Z n->T) :=
- to_associational_cps p
- (fun P => to_associational_cps q
- (fun Q => Associational.negate_snd_cps Q
- (fun negQ => from_associational_cps n (P ++ negQ) f))).
-
- End Wrappers.
- Hint Unfold
- Positional.add_cps
- Positional.mul_cps
- Positional.reduce_cps
- Positional.negate_snd_cps
- Positional.split_cps
- Positional.scmul_cps
- Positional.unbalanced_sub_cps
- .
-
- Section Carries.
- Context {modulo_cps div_cps:forall {R},Z->Z->(Z->R)->R}.
- Let modulo x y := modulo_cps _ x y id.
- Let div x y := div_cps _ x y id.
- Context {modulo_cps_id : forall R x y f, modulo_cps R x y f = f (modulo x y)}
- {div_cps_id : forall R x y f, div_cps R x y f = f (div x y)}.
- Context {div_mod : forall a b:Z, b <> 0 ->
- a = b * (div a b) + modulo a b}.
- Hint Rewrite modulo_cps_id div_cps_id : uncps.
-
- Definition carry_cps {n m} (index:nat) (p:tuple Z n)
- {T} (f:tuple Z m->T) :=
- to_associational_cps p
- (fun P => @Associational.carry_cps
- modulo_cps div_cps
- (weight index)
- (weight (S index) / weight index)
- P T
- (fun R => from_associational_cps m R f)).
-
- Definition carry {n m} i p := @carry_cps n m i p _ id.
- Lemma carry_cps_id {n m} i p {T} f:
- @carry_cps n m i p T f = f (carry i p).
- Proof.
- cbv [carry_cps carry]; prove_id; rewrite carry_cps_id; reflexivity.
- Qed.
- Hint Opaque carry : uncps. Hint Rewrite @carry_cps_id : uncps.
-
- Lemma eval_carry {n m} i p: (n <> 0%nat) -> (m <> 0%nat) ->
- weight (S i) / weight i <> 0 ->
- eval (carry (n:=n) (m:=m) i p) = eval p.
- Proof.
- cbv [carry_cps carry]; intros. prove_eval.
- rewrite @eval_carry by eauto.
- apply eval_to_associational.
- Qed.
- Hint Rewrite @eval_carry : push_basesystem_eval.
-
- Definition carry_reduce_cps {n}
- (s:Z) (c:list limb) (p : tuple Z n)
- {T} (f: tuple Z n ->T) :=
- carry_cps (n:=n) (m:=S n) (pred n) p
- (fun r => reduce_cps (m:=S n) (n:=n) s c r f).
- Hint Unfold carry_reduce_cps.
-
- (* N.B. It is important to reverse [idxs] here. Like
- [fold_right], [fold_right_cps2] is written such that the first
- terms in the list are actually used last in the computation. For
- example, running:
-
- `Eval cbv - [Z.add] in (fun a b c d => fold_right Z.add d [a;b;c]).`
-
- will produce [fun a b c d => (a + (b + (c + d)))].*)
- Definition chained_carries_cps {n} (p:tuple Z n) (idxs : list nat)
- {T} (f:tuple Z n->T) :=
- fold_right_cps2 carry_cps p (rev idxs) f.
-
- Definition chained_carries {n} p idxs := @chained_carries_cps n p idxs _ id.
- Lemma chained_carries_id {n} p idxs : forall {T} f,
- @chained_carries_cps n p idxs T f = f (chained_carries p idxs).
- Proof using modulo_cps_id div_cps_id.
- cbv [chained_carries_cps chained_carries]; prove_id.
- Qed.
- Hint Opaque chained_carries : uncps.
- Hint Rewrite @chained_carries_id : uncps.
-
- Lemma eval_chained_carries {n} (p:tuple Z n) idxs :
- (forall i, In i idxs -> weight (S i) / weight i <> 0) ->
- eval (chained_carries p idxs) = eval p.
- Proof using Type*.
- cbv [chained_carries chained_carries_cps]; intros;
- autorewrite with uncps push_id.
- apply fold_right_invariant; [|intro; rewrite <-in_rev];
- destruct n; prove_eval; auto.
- Qed. Hint Rewrite @eval_chained_carries : push_basesystem_eval.
-
- Definition chained_carries_reduce_cps_step {n} (s:Z) (c:list limb) {T}
- (chained_carries_reduce_cps : forall (p:tuple Z n) (carry_chains : list (list nat)) (f : tuple Z n -> T), T)
- (p : tuple Z n) (carry_chains : list (list nat))
- (f : tuple Z n -> T)
- : T
- := match carry_chains with
- | nil => f p
- | carry_chain :: nil
- => chained_carries_cps
- (n:=n) p carry_chain f
- | carry_chain :: carry_chains
- => chained_carries_cps
- (n:=n) p carry_chain
- (fun r => carry_reduce_cps (n:=n) s c r
- (fun r' => chained_carries_reduce_cps r' carry_chains f))
- end.
- Section chained_carries_reduce_cps.
- Context {n:nat} (s:Z) (c:list limb) {T:Type}.
-
- Fixpoint chained_carries_reduce_cps
- (p : tuple Z n) (carry_chains : list (list nat))
- (f : tuple Z n -> T)
- : T
- := @chained_carries_reduce_cps_step
- n s c T
- chained_carries_reduce_cps p carry_chains f.
- End chained_carries_reduce_cps.
-
- Lemma step_chained_carries_reduce_cps {n} (s:Z) (c:list limb) {T} p carry_chain carry_chains (f : tuple Z n -> T)
- : chained_carries_reduce_cps s c p (carry_chain :: carry_chains) f
- = match length carry_chains with
- | O => chained_carries_cps
- (n:=n) p carry_chain f
- | S _
- => chained_carries_cps
- (n:=n) p carry_chain
- (fun r => carry_reduce_cps (n:=n) s c r
- (fun r' => chained_carries_reduce_cps s c r' carry_chains f))
- end.
- Proof.
- destruct carry_chains; reflexivity.
- Qed.
-
- Definition chained_carries_reduce {n} (s:Z) (c:list limb) (p:tuple Z n) (carry_chains : list (list nat))
- : tuple Z n
- := chained_carries_reduce_cps s c p carry_chains id.
-
- Lemma chained_carries_reduce_id {n} s c {T} p carry_chains f
- : @chained_carries_reduce_cps n s c T p carry_chains f
- = f (@chained_carries_reduce n s c p carry_chains).
- Proof.
- destruct carry_chains as [|carry_chain carry_chains]; [ reflexivity | ].
- cbv [chained_carries_reduce].
- revert p carry_chain; induction carry_chains as [|? carry_chains IHcarry_chains]; intros.
- { simpl; repeat autounfold; autorewrite with uncps. reflexivity. }
- { rewrite !step_chained_carries_reduce_cps.
- simpl @length; cbv iota beta.
- repeat autounfold; autorewrite with uncps.
- rewrite !IHcarry_chains.
- reflexivity. }
- Qed.
- Hint Opaque chained_carries_reduce : uncps.
- Hint Rewrite @chained_carries_reduce_id : uncps.
-
- Lemma eval_chained_carries_reduce {n} (s:Z) (c:list limb) (p:tuple Z n) carry_chains
- (Hn : n <> 0%nat)
- (s_nonzero:s<>0) m (m_eq : Z.pos m = s - Associational.eval c)
- (Hwt : weight (S (Init.Nat.pred n)) / weight (Init.Nat.pred n) <> 0)
- : (List.fold_right
- and
- True
- (List.map
- (fun idxs
- => forall i, In i idxs -> weight (S i) / weight i <> 0)
- carry_chains)) ->
- mod_eq m (eval (chained_carries_reduce s c p carry_chains)) (eval p).
- Proof using Type*.
- destruct carry_chains as [|carry_chain carry_chains]; [ reflexivity | ].
- cbv [chained_carries_reduce].
- revert p carry_chain; induction carry_chains as [|? carry_chains IHcarry_chains]; intros.
- { cbn in *; prove_eval; auto. }
- { rewrite !step_chained_carries_reduce_cps.
- simpl @length; cbv iota beta.
- repeat autounfold; autorewrite with uncps push_id push_basesystem_eval.
- cbv [chained_carries_reduce].
- rewrite !IHcarry_chains by (cbn in *; tauto); clear IHcarry_chains.
- cbn in * |- .
- prove_eval; auto. }
- Qed.
- Hint Rewrite @eval_chained_carries_reduce using (omega || assumption) : push_basesystem_eval.
-
- (* Reverse of [eval]; translate from Z to basesystem by putting
- everything in first digit and then carrying. This function, like
- [eval], is not defined using CPS. *)
- Definition encode {n} (x : Z) : tuple Z n :=
- chained_carries (from_associational n [(1,x)]) (seq 0 n).
- Lemma eval_encode {n} x : (n <> 0%nat) ->
- (forall i, In i (seq 0 n) -> weight (S i) / weight i <> 0) ->
- eval (@encode n x) = x.
- Proof using Type*. cbv [encode]; intros; prove_eval; auto. Qed.
- Hint Rewrite @eval_encode : push_basesystem_eval.
-
- End Carries.
- Hint Unfold carry_reduce_cps.
-
- Section Subtraction.
- Context {m n} {coef : tuple Z n}
- {coef_mod : mod_eq m (eval coef) 0}.
-
- Definition sub_cps (p q : tuple Z n) {T} (f:tuple Z n->T):=
- add_cps coef p
- (fun cp => negate_snd_cps q
- (fun _q => add_cps cp _q f)).
-
- Definition sub p q := sub_cps p q id.
- Lemma sub_id p q {T} f : @sub_cps p q T f = f (sub p q).
- Proof using Type. cbv [sub_cps sub]; autounfold; prove_id. Qed.
- Hint Opaque sub : uncps.
- Hint Rewrite sub_id : uncps.
-
- Lemma eval_sub p q : mod_eq m (eval (sub p q)) (eval p - eval q).
- Proof using Type*.
- cbv [sub sub_cps]; autounfold; destruct n; prove_eval.
- transitivity (eval coef + (eval p - eval q)).
- { apply f_equal2; ring. }
- { cbv [mod_eq] in *; rewrite Z.add_mod_full, coef_mod, Z.add_0_l, Zmod_mod. reflexivity. }
- Qed.
-
- Definition opp_cps (p : tuple Z n) {T} (f:tuple Z n->T):=
- sub_cps (zeros n) p f.
- End Subtraction.
-
- (* Lemmas about converting to/from F. Will be useful in proving
- that basesystem is isomorphic to F.commutative_ring_modulo.*)
- Section F.
- Context {sz:nat} {sz_nonzero : sz<>0%nat} {m :positive}.
- Context (weight_divides : forall i : nat, weight (S i) / weight i <> 0).
- Context {modulo_cps div_cps:forall {R},Z->Z->(Z->R)->R}.
- Let modulo x y := modulo_cps _ x y id.
- Let div x y := div_cps _ x y id.
- Context {modulo_cps_id : forall R x y f, modulo_cps R x y f = f (modulo x y)}
- {div_cps_id : forall R x y f, div_cps R x y f = f (div x y)}.
- Context {div_mod : forall a b:Z, b <> 0 ->
- a = b * (div a b) + modulo a b}.
- Hint Rewrite modulo_cps_id div_cps_id : uncps.
-
- Definition Fencode (x : F m) : tuple Z sz :=
- encode (div_cps:=div_cps) (modulo_cps:=modulo_cps) (F.to_Z x).
-
- Definition Fdecode (x : tuple Z sz) : F m := F.of_Z m (eval x).
-
- Lemma Fdecode_Fencode_id x : Fdecode (Fencode x) = x.
- Proof using div_mod sz_nonzero weight_0 weight_divides weight_nonzero div_cps_id modulo_cps_id.
- cbv [Fdecode Fencode]; rewrite @eval_encode by eauto.
- apply F.of_Z_to_Z.
- Qed.
-
- Lemma eq_Feq_iff a b :
- Logic.eq (Fdecode a) (Fdecode b) <-> eq m a b.
- Proof using Type. cbv [Fdecode]; rewrite <-F.eq_of_Z_iff; reflexivity. Qed.
- End F.
-
-
- End Positional.
- Hint Rewrite eval_unit eval_single : push_basesystem_eval.
-
- (* Helper lemmas and definitions for [eval] that to be in a
- separate section so the weight function can change. *)
- Section EvalHelpers.
- Lemma eval_step {n} (x:tuple Z n) : forall wt z,
- eval wt (Tuple.append z x) = wt 0%nat * z + eval (fun i => wt (S i)) x.
- Proof.
- destruct n; [reflexivity|].
- intros; cbv [eval to_associational_cps].
- autorewrite with uncps. rewrite map_S_seq. reflexivity.
- Qed.
-
- Lemma eval_left_append {n} : forall wt x xs,
- eval wt (Tuple.left_append (n:=n) x xs)
- = wt n * x + eval wt xs.
- Proof.
- induction n as [|n IHn]; intros wt x xs; try destruct xs;
- unfold Tuple.left_append; fold @Tuple.left_append;
- autorewrite with push_basesystem_eval; [ring|].
- rewrite (Tuple.subst_append xs), Tuple.hd_append, Tuple.tl_append.
- rewrite !eval_step, IHn. ring.
- Qed.
- Hint Rewrite @eval_left_append : push_basesystem_eval.
-
- Lemma eval_wt_equiv {n} :forall wta wtb (x:tuple Z n),
- (forall i, wta i = wtb i) -> eval wta x = eval wtb x.
- Proof.
- destruct n as [|n]; [reflexivity|].
- induction n as [|n IHn]; intros wta wtb x H; [rewrite !eval_single, H; reflexivity|].
- simpl tuple in *; destruct x.
- change (t, z) with (Tuple.append (n:=S n) z t).
- rewrite !eval_step. rewrite (H 0%nat). apply Group.cancel_left.
- apply IHn; auto.
- Qed.
-
- Definition eval_from {n} weight (offset:nat) (x : tuple Z n) : Z :=
- eval (fun i => weight (i+offset)%nat) x.
-
- Lemma eval_from_0 {n} wt x : @eval_from n wt 0 x = eval wt x.
- Proof. cbv [eval_from]. auto using eval_wt_equiv. Qed.
- End EvalHelpers.
-
- Section Select.
- Context {weight : nat -> Z}.
-
- Definition select_cps {n} (mask cond:Z) (p:tuple Z n)
- {T} (f:tuple Z n->T) :=
- dlet t := Z.zselect cond 0 mask in Tuple.map_cps (runtime_and t) p f.
-
- Definition select {n} mask cond p := @select_cps n mask cond p _ id.
- Lemma select_id {n} mask cond p T f :
- @select_cps n mask cond p T f = f (select mask cond p).
- Proof.
- cbv [select select_cps Let_In]; autorewrite with uncps push_id;
- reflexivity.
- Qed.
- Hint Opaque select : uncps.
-
- Lemma map_and_0 {n} (p:tuple Z n) : Tuple.map (Z.land 0) p = zeros n.
- Proof.
- induction n as [|n IHn]; [destruct p; reflexivity | ].
- rewrite (Tuple.subst_append p), Tuple.map_append, Z.land_0_l, IHn.
- reflexivity.
- Qed.
-
- Lemma eval_select {n} mask cond x (H:Tuple.map (Z.land mask) x = x) :
- B.Positional.eval weight (@select n mask cond x) =
- if dec (cond = 0) then 0 else B.Positional.eval weight x.
- Proof.
- cbv [select select_cps Let_In].
- autorewrite with uncps push_id.
- rewrite Z.zselect_correct; break_match.
- { rewrite map_and_0. apply B.Positional.eval_zeros. }
- { change runtime_and with Z.land. rewrite H; reflexivity. }
- Qed.
-
- End Select.
-
- End Positional.
-
- Hint Unfold
- Positional.add_cps
- Positional.mul_cps
- Positional.reduce_cps
- Positional.carry_reduce_cps
- Positional.negate_snd_cps
- Positional.split_cps
- Positional.scmul_cps
- Positional.unbalanced_sub_cps
- Positional.opp_cps
- .
- Hint Rewrite
- @Associational.reduce_cps_id
- @Associational.split_cps_id
- @Associational.mul_cps_id
- @Positional.from_associational_cps_id
- @Positional.place_cps_id
- @Positional.add_to_nth_cps_id
- @Positional.to_associational_cps_id
- @Positional.sub_id
- @Positional.select_id
- : uncps.
- Hint Rewrite
- @Associational.carry_cps_id
- @Associational.carryterm_cps_id
- @Positional.carry_cps_id
- @Positional.chained_carries_id
- @Positional.chained_carries_reduce_id
- using div_mod_cps_t : uncps.
- Hint Rewrite
- @Associational.eval_mul
- @Positional.eval_single
- @Positional.eval_unit
- @Positional.eval_to_associational
- @Positional.eval_left_append
- @Associational.eval_carry
- @Associational.eval_carryterm
- @Associational.eval_reduce
- @Associational.eval_split
- @Positional.eval_zeros
- @Positional.eval_carry
- @Positional.eval_from_associational
- @Positional.eval_add_to_nth
- @Positional.eval_chained_carries
- @Positional.eval_chained_carries_reduce
- @Positional.eval_sub
- @Positional.eval_select
- using (assumption || (div_mod_cps_t; auto) || vm_decide) : push_basesystem_eval.
-End B.
-
-(* Modulo and div that do shifts if possible, otherwise normal mod/div *)
-Section DivMod.
- Definition modulo_cps {T} (a b : Z) (f : Z -> T) : T :=
- Z.eqb_cps (2 ^ (Z.log2 b)) b (fun eqb =>
- if eqb
- then let x := (Z.ones (Z.log2 b)) in f (a &' x)%RT
- else f (Z.modulo a b)).
-
- Definition div_cps {T} (a b : Z) (f : Z -> T) : T :=
- Z.eqb_cps (2 ^ (Z.log2 b)) b (fun eqb =>
- if eqb
- then let x := Z.log2 b in f ((a >> x)%RT)
- else f (Z.div a b)).
-
- Definition modulo (a b : Z) : Z := modulo_cps a b id.
- Definition div (a b : Z) : Z := div_cps a b id.
-
- Lemma modulo_id {T} a b f
- : @modulo_cps T a b f = f (modulo a b).
- Proof. cbv [modulo_cps modulo]; autorewrite with uncps; break_match; reflexivity. Qed.
- Hint Opaque modulo : uncps.
- Hint Rewrite @modulo_id : uncps.
-
- Lemma div_id {T} a b f
- : @div_cps T a b f = f (div a b).
- Proof. cbv [div_cps div]; autorewrite with uncps; break_match; reflexivity. Qed.
- Hint Opaque div : uncps.
- Hint Rewrite @div_id : uncps.
-
- Lemma div_cps_correct {T} a b f : @div_cps T a b f = f (Z.div a b).
- Proof.
- cbv [div_cps Z.eqb_cps]; intros. break_match; try reflexivity.
- rewrite Z.shiftr_div_pow2 by apply Z.log2_nonneg.
- Z.ltb_to_lt; congruence.
- Qed.
-
- Lemma modulo_cps_correct {T} a b f : @modulo_cps T a b f = f (Z.modulo a b).
- Proof.
- cbv [modulo_cps Z.eqb_cps]; intros. break_match; try reflexivity.
- rewrite Z.land_ones by apply Z.log2_nonneg.
- Z.ltb_to_lt; congruence.
- Qed.
-
- Definition div_correct a b : div a b = Z.div a b := div_cps_correct a b id.
- Definition modulo_correct a b : modulo a b = Z.modulo a b := modulo_cps_correct a b id.
-
- Lemma div_mod a b (H:b <> 0) : a = b * div a b + modulo a b.
- Proof.
- rewrite div_correct, modulo_correct; auto using Z.div_mod.
- Qed.
-End DivMod.
-
-Hint Opaque div modulo : uncps.
-Hint Rewrite @div_id @modulo_id : uncps.
-
-Import B.
-
-Create HintDb basesystem_partial_evaluation_unfolder.
-
-Hint Unfold
- id
- Associational.eval
- Associational.multerm
- Associational.mul_cps
- Associational.mul
- Associational.split_cps
- Associational.split
- Associational.reduce_cps
- Associational.reduce
- Associational.negate_snd_cps
- Associational.negate_snd
- Associational.carryterm_cps
- Associational.carryterm
- Associational.carry_cps
- Associational.carry
- Positional.to_associational_cps
- Positional.to_associational
- Positional.eval
- Positional.zeros
- Positional.add_to_nth_cps
- Positional.add_to_nth
- Positional.place_cps
- Positional.place
- Positional.from_associational_cps
- Positional.from_associational
- Positional.carry_cps
- Positional.carry
- Positional.chained_carries_cps
- Positional.chained_carries
- Positional.chained_carries_reduce_cps_step
- Positional.chained_carries_reduce_cps
- Positional.chained_carries_reduce
- Positional.encode
- Positional.add_cps
- Positional.mul_cps
- Positional.reduce_cps
- Positional.carry_reduce_cps
- Positional.negate_snd_cps
- Positional.split_cps
- Positional.scmul_cps
- Positional.unbalanced_sub_cps
- Positional.sub_cps
- Positional.sub
- Positional.opp_cps
- Positional.Fencode
- Positional.Fdecode
- Positional.eval_from
- Positional.select_cps
- Positional.select
- modulo div modulo_cps div_cps
- id_tuple_with_alt id_tuple'_with_alt id_tuple_with_alt_cps'
- Z.add_get_carry_full Z.add_get_carry_full_cps
- : basesystem_partial_evaluation_unfolder.
-
-Hint Unfold
- B.limb ListUtil.sum ListUtil.sum_firstn
- CPSUtil.Tuple.mapi_with_cps CPSUtil.Tuple.mapi_with'_cps CPSUtil.flat_map_cps CPSUtil.on_tuple_cps CPSUtil.fold_right_cps2
- Decidable.dec Decidable.dec_eq_Z
- id_tuple_with_alt id_tuple'_with_alt id_tuple_with_alt_cps'
- Z.add_get_carry_full Z.add_get_carry_full_cps Z.mul_split Z.mul_split_cps Z.mul_split_cps'
- : basesystem_partial_evaluation_unfolder.
-
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- eval
- cbv
- delta [
- (* this list must contain all definitions referenced by t that reference [Let_In], [runtime_add], [runtime_opp], [runtime_mul], [runtime_shr], or [runtime_and] *)
- id
- Positional.to_associational_cps Positional.to_associational
- Positional.eval Positional.zeros Positional.add_to_nth_cps
- Positional.add_to_nth Positional.place_cps Positional.place
- Positional.from_associational_cps Positional.from_associational
- Positional.carry_cps Positional.carry
- Positional.chained_carries_cps Positional.chained_carries
- Positional.chained_carries_reduce_cps
- Positional.chained_carries_reduce
- Positional.chained_carries_reduce_cps_step
- Positional.sub_cps Positional.sub Positional.split_cps
- Positional.scmul_cps Positional.unbalanced_sub_cps
- Positional.negate_snd_cps Positional.add_cps Positional.opp_cps
- Associational.eval Associational.multerm Associational.mul_cps
- Associational.mul Associational.split_cps Associational.split
- Associational.reduce_cps Associational.reduce
- Associational.carryterm_cps Associational.carryterm
- Associational.carry_cps Associational.carry
- Associational.negate_snd_cps Associational.negate_snd div modulo
- id_tuple_with_alt id_tuple'_with_alt id_tuple_with_alt_cps'
- Z.add_get_carry_full Z.add_get_carry_full_cps
- ] in t.
-
-Ltac pattern_strip t :=
- let t := (eval pattern @Let_In,
- @runtime_mul, @runtime_add, @runtime_opp, @runtime_shr, @runtime_and, @runtime_lor,
- @id_with_alt,
- @Z.add_get_carry, @Z.zselect
- in t) in
- let t := match t with ?t _ _ _ _ _ _ _ _ _ _ => t end in
- t.
-
-Ltac apply_patterned t1 :=
- constr:(t1
- (@Let_In)
- (@runtime_mul)
- (@runtime_add)
- (@runtime_opp)
- (@runtime_shr)
- (@runtime_and)
- (@runtime_lor)
- (@id_with_alt)
- (@Z.add_get_carry)
- (@Z.zselect)).
-
-Ltac pattern_strip_full t :=
- let t := (eval pattern
- (@Let_In Z (fun _ => Z)),
- @Z.add_get_carry_cps, @Z.mul_split_at_bitwidth_cps,
- (@Z.eq_dec_cps), (@Z.eqb_cps),
- @runtime_mul, @runtime_add, @runtime_opp, @runtime_shr, @runtime_and, @runtime_lor,
- (@id_with_alt Z),
- @Z.add_get_carry, @Z.zselect, @Z.mul_split_at_bitwidth,
- Z.mul, Z.add, Z.opp, Z.shiftr, Z.shiftl, Z.land, Z.lor,
- Z.modulo, Z.div, Z.log2, Z.pow, Z.ones,
- Z.eq_dec, Z.eqb,
- (@ModularArithmetic.F.to_Z), (@ModularArithmetic.F.of_Z),
- 2%Z, 1%Z, 0%Z
- in t) in
- let t := match t with ?t
- _
- _ _
- _ _
- _ _ _ _ _ _
- _
- _ _ _
- _ _ _ _ _ _ _
- _ _ _ _ _
- _ _
- _ _
- _ _ _ => t end in
- let t := (eval pattern Z, (@Let_In), (@id_with_alt) in t) in
- let t := match t with ?t _ _ _ => t end in
- t.
-
-Ltac apply_patterned_full t1 :=
- constr:(t1
- Z
- (@Let_In) (@id_with_alt)
- (@Let_In Z (fun _ => Z))
- (@Z.add_get_carry_cps) (@Z.mul_split_at_bitwidth_cps)
- (@Z.eq_dec_cps) (@Z.eqb_cps)
- (@runtime_mul) (@runtime_add) (@runtime_opp) (@runtime_shr) (@runtime_and) (@runtime_lor)
- (@id_with_alt Z)
- (@Z.add_get_carry) (@Z.zselect) (@Z.mul_split_at_bitwidth)
- Z.mul Z.add Z.opp Z.shiftr Z.shiftl Z.land Z.lor
- Z.modulo Z.div Z.log2 Z.pow Z.ones
- Z.eq_dec Z.eqb
- (@ModularArithmetic.F.to_Z) (@ModularArithmetic.F.of_Z)
- 2%Z 1%Z 0%Z).
-
-Ltac basesystem_partial_evaluation_gen unfold_tac t t1 :=
- let t := unfold_tac t in
- let t := pattern_strip t in
- let dummy := match goal with _ => pose t as t1 end in
- let t1' := apply_patterned t1 in
- t1'.
-
-Ltac basesystem_partial_evaluation_RHS_gen unfold_tac :=
- let t := match goal with |- _ _ ?t => t end in
- let t1 := fresh "t1" in
- let t1' := basesystem_partial_evaluation_gen unfold_tac t t1 in
- transitivity t1';
- [replace_with_vm_compute t1; clear t1|reflexivity].
-
-Ltac basesystem_partial_evaluation_default_unfolder t :=
- basesystem_partial_evaluation_unfolder t.
-
-Ltac basesystem_partial_evaluation_RHS :=
- basesystem_partial_evaluation_RHS_gen basesystem_partial_evaluation_default_unfolder.
-Ltac basesystem_partial_evaluation :=
- basesystem_partial_evaluation_gen basesystem_partial_evaluation_default_unfolder.
-
-
-(** This block of tactic code works around bug #5434
- (https://coq.inria.fr/bugs/show_bug.cgi?id=5434), that
- [vm_compute] breaks an invariant in pretyping/constr_matching.ml.
- So we refresh all of the names in match statements in the goal by
- crawling it.
-
- In particular, [replace_with_vm_compute] creates a [vm_compute]d
- term which has anonymous binders where pretyping expects there to
- be named binders. This shows up when you try to match on the
- function (the branch statement of the match) with an Ltac pattern
- like [(fun x : ?T => ?C)] rather than [(fun x : ?T => @?C x)]; we
- use the former in reification to save the cost of many extra
- invocations of [cbv beta]. Luckily, patterns like [(fun x : ?T =>
- @?C x)] don't trigger this anomaly, so we can walk the term,
- fixing all match statements whose branches are functions whose
- binder names were eaten by [vm_compute] (note that in a match,
- every branch where the corresponding constructor takes arguments
- is represented internally as a function (lambda term)). We fix
- the match statements by pulling out the branch with the [@?]
- pattern that doesn't trigger the anomaly, and then recreating the
- match with a destructuring [let] that hasn't been through
- [vm_compute], and therefore has name information that
- constr_matching is happy with. *)
-Ltac replace_match_with_destructuring_match T :=
- match T with
- | ?F ?X
- => let F' := replace_match_with_destructuring_match F in
- let X' := replace_match_with_destructuring_match X in
- constr:(F' X')
- (* we must use [@?f a b] here and not [?f], or else we get an anomaly *)
- | match ?d with pair a b => @?f a b end
- => let d' := replace_match_with_destructuring_match d in
- let T' := fresh in
- constr:(let '(a, b) := d' in
- match f a b with
- | T' => ltac:(let v := (eval cbv beta delta [T'] in T') in
- let v := replace_match_with_destructuring_match v in
- exact v)
- end)
- | (fun a : ?A => @?f a)
- => let T' := fresh in
- let T' := fresh T' in
- let T' := fresh T' in
- constr:(fun a : A
- => match f a with
- | T' => ltac:(let v := (eval cbv beta delta [T'] in T') in
- let v := replace_match_with_destructuring_match v in
- exact v)
- end)
- | ?x => x
- end.
-Ltac do_replace_match_with_destructuring_match_in_goal :=
- let G := get_goal in
- let G' := replace_match_with_destructuring_match G in
- change G'.
-
-(* TODO : move *)
-Lemma F_of_Z_opp {m} x : F.of_Z m (- x) = F.opp (F.of_Z m x).
-Proof.
- cbv [F.opp]; intros. rewrite F.to_Z_of_Z, <-Z.sub_0_l.
- etransitivity; rewrite F.of_Z_mod;
- [rewrite Z.opp_mod_mod|]; reflexivity.
-Qed.
-
-Hint Rewrite <-@F.of_Z_add : pull_FofZ.
-Hint Rewrite <-@F.of_Z_mul : pull_FofZ.
-Hint Rewrite <-@F.of_Z_sub : pull_FofZ.
-Hint Rewrite <-@F_of_Z_opp : pull_FofZ.
-
-Ltac F_mod_eq :=
- cbv [Positional.Fdecode]; autorewrite with pull_FofZ;
- apply mod_eq_Z2F_iff.
-
-Ltac presolve_op_mod_eq wt x :=
- transitivity (Positional.eval wt x); repeat autounfold;
- [ cbv [mod_eq]; apply f_equal2; [|reflexivity];
- apply f_equal
- | autorewrite with uncps push_id push_basesystem_eval ].
-
-Ltac solve_op_mod_eq wt x :=
- presolve_op_mod_eq wt x;
- [ basesystem_partial_evaluation_RHS;
- do_replace_match_with_destructuring_match_in_goal
- | reflexivity ].
-
-Ltac solve_op_F wt x := F_mod_eq; solve_op_mod_eq wt x.
-Ltac presolve_op_F wt x := F_mod_eq; presolve_op_mod_eq wt x.
diff --git a/src/Arithmetic/CoreUnfolder.v b/src/Arithmetic/CoreUnfolder.v
deleted file mode 100644
index b1c79f16d..000000000
--- a/src/Arithmetic/CoreUnfolder.v
+++ /dev/null
@@ -1,400 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.CPS.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.CPSUtil.
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Util.Tactics.VM.
-
-Create HintDb arithmetic_cps_unfolder.
-
-Hint Unfold Core.div Core.modulo : arithmetic_cps_unfolder.
-
-Ltac make_parameterized_sig t :=
- refine (_ : { v : _ | v = t });
- eexists; cbv delta [t
- Core.B.Positional.chained_carries_reduce_cps_step
- B.limb ListUtil.sum ListUtil.sum_firstn
- CPSUtil.Tuple.mapi_with_cps CPSUtil.Tuple.mapi_with'_cps CPSUtil.flat_map_cps CPSUtil.on_tuple_cps CPSUtil.fold_right_cps2
- Decidable.dec Decidable.dec_eq_Z
- id_tuple_with_alt id_tuple'_with_alt id_tuple_with_alt_cps'
- Z.add_get_carry_full Z.mul_split
- Z.add_get_carry_full_cps Z.mul_split_cps Z.mul_split_cps'
- Z.add_get_carry_cps];
- repeat autorewrite with pattern_runtime;
- reflexivity.
-
-Notation parameterize_sig t := ltac:(let v := constr:(t) in make_parameterized_sig v) (only parsing).
-
-Ltac make_parameterized_from_sig t_sig :=
- let t := (eval cbv [proj1_sig t_sig] in (proj1_sig t_sig)) in
- let t := pattern_strip t in
- exact t.
-
-Notation parameterize_from_sig t := ltac:(let v := constr:(t) in make_parameterized_from_sig v) (only parsing).
-
-Ltac make_parameterized_eq t t_sig :=
- let t := apply_patterned t in
- exact (proj2_sig t_sig : t = _).
-
-Notation parameterize_eq t t_sig := ltac:(let v := constr:(t) in let v_sig := t_sig in make_parameterized_eq v v_sig) (only parsing).
-
-Ltac basesystem_partial_evaluation_RHS_fast :=
- repeat autorewrite with pattern_runtime;
- let t := match goal with |- _ _ ?t => t end in
- let t := pattern_strip t in
- let t1 := fresh "t1" in
- pose t as t1;
- let t1' := apply_patterned t1 in
- transitivity t1';
- [replace_with_vm_compute t1; clear t1|reflexivity].
-
-Module B.
- Module Associational.
- (**
-<<
-#!/bin/bash
-for i in eval multerm mul_cps mul split_cps split reduce_cps reduce negate_snd_cps negate_snd carryterm_cps carryterm carry_cps carry; do
- echo " Definition ${i}_sig := parameterize_sig (@Core.B.Associational.${i}).";
- echo " Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo " Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo " Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo " Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
-echo " End Associational."
-echo " Module Positional."
-for i in to_associational_cps to_associational eval zeros add_to_nth_cps add_to_nth place_cps place from_associational_cps from_associational carry_cps carry chained_carries_cps chained_carries encode add_cps mul_cps reduce_cps carry_reduce_cps chained_carries_reduce_cps_step chained_carries_reduce_cps chained_carries_reduce negate_snd_cps split_cps scmul_cps unbalanced_sub_cps sub_cps sub opp_cps Fencode Fdecode eval_from select_cps select; do
- echo " Definition ${i}_sig := parameterize_sig (@Core.B.Positional.${i}).";
- echo " Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo " Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo " Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo " Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
-echo " End Positional."
-echo "End B."
-echo ""
-for i in modulo_cps div_cps modulo div; do
- echo "Definition ${i}_sig := parameterize_sig (@Core.${i}).";
- echo "Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo "Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo "Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo "Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
->> *)
- Definition eval_sig := parameterize_sig (@Core.B.Associational.eval).
- Definition eval := parameterize_from_sig eval_sig.
- Definition eval_eq := parameterize_eq eval eval_sig.
- Hint Unfold eval : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- eval_eq : pattern_runtime.
-
- Definition multerm_sig := parameterize_sig (@Core.B.Associational.multerm).
- Definition multerm := parameterize_from_sig multerm_sig.
- Definition multerm_eq := parameterize_eq multerm multerm_sig.
- Hint Unfold multerm : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- multerm_eq : pattern_runtime.
-
- Definition mul_cps_sig := parameterize_sig (@Core.B.Associational.mul_cps).
- Definition mul_cps := parameterize_from_sig mul_cps_sig.
- Definition mul_cps_eq := parameterize_eq mul_cps mul_cps_sig.
- Hint Unfold mul_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- mul_cps_eq : pattern_runtime.
-
- Definition mul_sig := parameterize_sig (@Core.B.Associational.mul).
- Definition mul := parameterize_from_sig mul_sig.
- Definition mul_eq := parameterize_eq mul mul_sig.
- Hint Unfold mul : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- mul_eq : pattern_runtime.
-
- Definition split_cps_sig := parameterize_sig (@Core.B.Associational.split_cps).
- Definition split_cps := parameterize_from_sig split_cps_sig.
- Definition split_cps_eq := parameterize_eq split_cps split_cps_sig.
- Hint Unfold split_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- split_cps_eq : pattern_runtime.
-
- Definition split_sig := parameterize_sig (@Core.B.Associational.split).
- Definition split := parameterize_from_sig split_sig.
- Definition split_eq := parameterize_eq split split_sig.
- Hint Unfold split : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- split_eq : pattern_runtime.
-
- Definition reduce_cps_sig := parameterize_sig (@Core.B.Associational.reduce_cps).
- Definition reduce_cps := parameterize_from_sig reduce_cps_sig.
- Definition reduce_cps_eq := parameterize_eq reduce_cps reduce_cps_sig.
- Hint Unfold reduce_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- reduce_cps_eq : pattern_runtime.
-
- Definition reduce_sig := parameterize_sig (@Core.B.Associational.reduce).
- Definition reduce := parameterize_from_sig reduce_sig.
- Definition reduce_eq := parameterize_eq reduce reduce_sig.
- Hint Unfold reduce : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- reduce_eq : pattern_runtime.
-
- Definition negate_snd_cps_sig := parameterize_sig (@Core.B.Associational.negate_snd_cps).
- Definition negate_snd_cps := parameterize_from_sig negate_snd_cps_sig.
- Definition negate_snd_cps_eq := parameterize_eq negate_snd_cps negate_snd_cps_sig.
- Hint Unfold negate_snd_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- negate_snd_cps_eq : pattern_runtime.
-
- Definition negate_snd_sig := parameterize_sig (@Core.B.Associational.negate_snd).
- Definition negate_snd := parameterize_from_sig negate_snd_sig.
- Definition negate_snd_eq := parameterize_eq negate_snd negate_snd_sig.
- Hint Unfold negate_snd : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- negate_snd_eq : pattern_runtime.
-
- Definition carryterm_cps_sig := parameterize_sig (@Core.B.Associational.carryterm_cps).
- Definition carryterm_cps := parameterize_from_sig carryterm_cps_sig.
- Definition carryterm_cps_eq := parameterize_eq carryterm_cps carryterm_cps_sig.
- Hint Unfold carryterm_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carryterm_cps_eq : pattern_runtime.
-
- Definition carryterm_sig := parameterize_sig (@Core.B.Associational.carryterm).
- Definition carryterm := parameterize_from_sig carryterm_sig.
- Definition carryterm_eq := parameterize_eq carryterm carryterm_sig.
- Hint Unfold carryterm : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carryterm_eq : pattern_runtime.
-
- Definition carry_cps_sig := parameterize_sig (@Core.B.Associational.carry_cps).
- Definition carry_cps := parameterize_from_sig carry_cps_sig.
- Definition carry_cps_eq := parameterize_eq carry_cps carry_cps_sig.
- Hint Unfold carry_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carry_cps_eq : pattern_runtime.
-
- Definition carry_sig := parameterize_sig (@Core.B.Associational.carry).
- Definition carry := parameterize_from_sig carry_sig.
- Definition carry_eq := parameterize_eq carry carry_sig.
- Hint Unfold carry : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carry_eq : pattern_runtime.
-
- End Associational.
- Module Positional.
- Definition to_associational_cps_sig := parameterize_sig (@Core.B.Positional.to_associational_cps).
- Definition to_associational_cps := parameterize_from_sig to_associational_cps_sig.
- Definition to_associational_cps_eq := parameterize_eq to_associational_cps to_associational_cps_sig.
- Hint Unfold to_associational_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- to_associational_cps_eq : pattern_runtime.
-
- Definition to_associational_sig := parameterize_sig (@Core.B.Positional.to_associational).
- Definition to_associational := parameterize_from_sig to_associational_sig.
- Definition to_associational_eq := parameterize_eq to_associational to_associational_sig.
- Hint Unfold to_associational : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- to_associational_eq : pattern_runtime.
-
- Definition eval_sig := parameterize_sig (@Core.B.Positional.eval).
- Definition eval := parameterize_from_sig eval_sig.
- Definition eval_eq := parameterize_eq eval eval_sig.
- Hint Unfold eval : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- eval_eq : pattern_runtime.
-
- Definition zeros_sig := parameterize_sig (@Core.B.Positional.zeros).
- Definition zeros := parameterize_from_sig zeros_sig.
- Definition zeros_eq := parameterize_eq zeros zeros_sig.
- Hint Unfold zeros : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- zeros_eq : pattern_runtime.
-
- Definition add_to_nth_cps_sig := parameterize_sig (@Core.B.Positional.add_to_nth_cps).
- Definition add_to_nth_cps := parameterize_from_sig add_to_nth_cps_sig.
- Definition add_to_nth_cps_eq := parameterize_eq add_to_nth_cps add_to_nth_cps_sig.
- Hint Unfold add_to_nth_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- add_to_nth_cps_eq : pattern_runtime.
-
- Definition add_to_nth_sig := parameterize_sig (@Core.B.Positional.add_to_nth).
- Definition add_to_nth := parameterize_from_sig add_to_nth_sig.
- Definition add_to_nth_eq := parameterize_eq add_to_nth add_to_nth_sig.
- Hint Unfold add_to_nth : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- add_to_nth_eq : pattern_runtime.
-
- Definition place_cps_sig := parameterize_sig (@Core.B.Positional.place_cps).
- Definition place_cps := parameterize_from_sig place_cps_sig.
- Definition place_cps_eq := parameterize_eq place_cps place_cps_sig.
- Hint Unfold place_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- place_cps_eq : pattern_runtime.
-
- Definition place_sig := parameterize_sig (@Core.B.Positional.place).
- Definition place := parameterize_from_sig place_sig.
- Definition place_eq := parameterize_eq place place_sig.
- Hint Unfold place : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- place_eq : pattern_runtime.
-
- Definition from_associational_cps_sig := parameterize_sig (@Core.B.Positional.from_associational_cps).
- Definition from_associational_cps := parameterize_from_sig from_associational_cps_sig.
- Definition from_associational_cps_eq := parameterize_eq from_associational_cps from_associational_cps_sig.
- Hint Unfold from_associational_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- from_associational_cps_eq : pattern_runtime.
-
- Definition from_associational_sig := parameterize_sig (@Core.B.Positional.from_associational).
- Definition from_associational := parameterize_from_sig from_associational_sig.
- Definition from_associational_eq := parameterize_eq from_associational from_associational_sig.
- Hint Unfold from_associational : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- from_associational_eq : pattern_runtime.
-
- Definition carry_cps_sig := parameterize_sig (@Core.B.Positional.carry_cps).
- Definition carry_cps := parameterize_from_sig carry_cps_sig.
- Definition carry_cps_eq := parameterize_eq carry_cps carry_cps_sig.
- Hint Unfold carry_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carry_cps_eq : pattern_runtime.
-
- Definition carry_sig := parameterize_sig (@Core.B.Positional.carry).
- Definition carry := parameterize_from_sig carry_sig.
- Definition carry_eq := parameterize_eq carry carry_sig.
- Hint Unfold carry : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carry_eq : pattern_runtime.
-
- Definition chained_carries_cps_sig := parameterize_sig (@Core.B.Positional.chained_carries_cps).
- Definition chained_carries_cps := parameterize_from_sig chained_carries_cps_sig.
- Definition chained_carries_cps_eq := parameterize_eq chained_carries_cps chained_carries_cps_sig.
- Hint Unfold chained_carries_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- chained_carries_cps_eq : pattern_runtime.
-
- Definition chained_carries_sig := parameterize_sig (@Core.B.Positional.chained_carries).
- Definition chained_carries := parameterize_from_sig chained_carries_sig.
- Definition chained_carries_eq := parameterize_eq chained_carries chained_carries_sig.
- Hint Unfold chained_carries : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- chained_carries_eq : pattern_runtime.
-
- Definition encode_sig := parameterize_sig (@Core.B.Positional.encode).
- Definition encode := parameterize_from_sig encode_sig.
- Definition encode_eq := parameterize_eq encode encode_sig.
- Hint Unfold encode : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- encode_eq : pattern_runtime.
-
- Definition add_cps_sig := parameterize_sig (@Core.B.Positional.add_cps).
- Definition add_cps := parameterize_from_sig add_cps_sig.
- Definition add_cps_eq := parameterize_eq add_cps add_cps_sig.
- Hint Unfold add_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- add_cps_eq : pattern_runtime.
-
- Definition mul_cps_sig := parameterize_sig (@Core.B.Positional.mul_cps).
- Definition mul_cps := parameterize_from_sig mul_cps_sig.
- Definition mul_cps_eq := parameterize_eq mul_cps mul_cps_sig.
- Hint Unfold mul_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- mul_cps_eq : pattern_runtime.
-
- Definition reduce_cps_sig := parameterize_sig (@Core.B.Positional.reduce_cps).
- Definition reduce_cps := parameterize_from_sig reduce_cps_sig.
- Definition reduce_cps_eq := parameterize_eq reduce_cps reduce_cps_sig.
- Hint Unfold reduce_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- reduce_cps_eq : pattern_runtime.
-
- Definition carry_reduce_cps_sig := parameterize_sig (@Core.B.Positional.carry_reduce_cps).
- Definition carry_reduce_cps := parameterize_from_sig carry_reduce_cps_sig.
- Definition carry_reduce_cps_eq := parameterize_eq carry_reduce_cps carry_reduce_cps_sig.
- Hint Unfold carry_reduce_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- carry_reduce_cps_eq : pattern_runtime.
-
- Definition chained_carries_reduce_cps_step_sig := parameterize_sig (@Core.B.Positional.chained_carries_reduce_cps_step).
- Definition chained_carries_reduce_cps_step := parameterize_from_sig chained_carries_reduce_cps_step_sig.
- Definition chained_carries_reduce_cps_step_eq := parameterize_eq chained_carries_reduce_cps_step chained_carries_reduce_cps_step_sig.
- Hint Unfold chained_carries_reduce_cps_step : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- chained_carries_reduce_cps_step_eq : pattern_runtime.
-
- Definition chained_carries_reduce_cps_sig := parameterize_sig (@Core.B.Positional.chained_carries_reduce_cps).
- Definition chained_carries_reduce_cps := parameterize_from_sig chained_carries_reduce_cps_sig.
- Definition chained_carries_reduce_cps_eq := parameterize_eq chained_carries_reduce_cps chained_carries_reduce_cps_sig.
- Hint Unfold chained_carries_reduce_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- chained_carries_reduce_cps_eq : pattern_runtime.
-
- Definition chained_carries_reduce_sig := parameterize_sig (@Core.B.Positional.chained_carries_reduce).
- Definition chained_carries_reduce := parameterize_from_sig chained_carries_reduce_sig.
- Definition chained_carries_reduce_eq := parameterize_eq chained_carries_reduce chained_carries_reduce_sig.
- Hint Unfold chained_carries_reduce : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- chained_carries_reduce_eq : pattern_runtime.
-
- Definition negate_snd_cps_sig := parameterize_sig (@Core.B.Positional.negate_snd_cps).
- Definition negate_snd_cps := parameterize_from_sig negate_snd_cps_sig.
- Definition negate_snd_cps_eq := parameterize_eq negate_snd_cps negate_snd_cps_sig.
- Hint Unfold negate_snd_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- negate_snd_cps_eq : pattern_runtime.
-
- Definition split_cps_sig := parameterize_sig (@Core.B.Positional.split_cps).
- Definition split_cps := parameterize_from_sig split_cps_sig.
- Definition split_cps_eq := parameterize_eq split_cps split_cps_sig.
- Hint Unfold split_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- split_cps_eq : pattern_runtime.
-
- Definition scmul_cps_sig := parameterize_sig (@Core.B.Positional.scmul_cps).
- Definition scmul_cps := parameterize_from_sig scmul_cps_sig.
- Definition scmul_cps_eq := parameterize_eq scmul_cps scmul_cps_sig.
- Hint Unfold scmul_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- scmul_cps_eq : pattern_runtime.
-
- Definition unbalanced_sub_cps_sig := parameterize_sig (@Core.B.Positional.unbalanced_sub_cps).
- Definition unbalanced_sub_cps := parameterize_from_sig unbalanced_sub_cps_sig.
- Definition unbalanced_sub_cps_eq := parameterize_eq unbalanced_sub_cps unbalanced_sub_cps_sig.
- Hint Unfold unbalanced_sub_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- unbalanced_sub_cps_eq : pattern_runtime.
-
- Definition sub_cps_sig := parameterize_sig (@Core.B.Positional.sub_cps).
- Definition sub_cps := parameterize_from_sig sub_cps_sig.
- Definition sub_cps_eq := parameterize_eq sub_cps sub_cps_sig.
- Hint Unfold sub_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- sub_cps_eq : pattern_runtime.
-
- Definition sub_sig := parameterize_sig (@Core.B.Positional.sub).
- Definition sub := parameterize_from_sig sub_sig.
- Definition sub_eq := parameterize_eq sub sub_sig.
- Hint Unfold sub : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- sub_eq : pattern_runtime.
-
- Definition opp_cps_sig := parameterize_sig (@Core.B.Positional.opp_cps).
- Definition opp_cps := parameterize_from_sig opp_cps_sig.
- Definition opp_cps_eq := parameterize_eq opp_cps opp_cps_sig.
- Hint Unfold opp_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- opp_cps_eq : pattern_runtime.
-
- Definition Fencode_sig := parameterize_sig (@Core.B.Positional.Fencode).
- Definition Fencode := parameterize_from_sig Fencode_sig.
- Definition Fencode_eq := parameterize_eq Fencode Fencode_sig.
- Hint Unfold Fencode : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- Fencode_eq : pattern_runtime.
-
- Definition Fdecode_sig := parameterize_sig (@Core.B.Positional.Fdecode).
- Definition Fdecode := parameterize_from_sig Fdecode_sig.
- Definition Fdecode_eq := parameterize_eq Fdecode Fdecode_sig.
- Hint Unfold Fdecode : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- Fdecode_eq : pattern_runtime.
-
- Definition eval_from_sig := parameterize_sig (@Core.B.Positional.eval_from).
- Definition eval_from := parameterize_from_sig eval_from_sig.
- Definition eval_from_eq := parameterize_eq eval_from eval_from_sig.
- Hint Unfold eval_from : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- eval_from_eq : pattern_runtime.
-
- Definition select_cps_sig := parameterize_sig (@Core.B.Positional.select_cps).
- Definition select_cps := parameterize_from_sig select_cps_sig.
- Definition select_cps_eq := parameterize_eq select_cps select_cps_sig.
- Hint Unfold select_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- select_cps_eq : pattern_runtime.
-
- Definition select_sig := parameterize_sig (@Core.B.Positional.select).
- Definition select := parameterize_from_sig select_sig.
- Definition select_eq := parameterize_eq select select_sig.
- Hint Unfold select : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- select_eq : pattern_runtime.
-
- End Positional.
-End B.
-
-Definition modulo_cps_sig := parameterize_sig (@Core.modulo_cps).
-Definition modulo_cps := parameterize_from_sig modulo_cps_sig.
-Definition modulo_cps_eq := parameterize_eq modulo_cps modulo_cps_sig.
-Hint Unfold modulo_cps : basesystem_partial_evaluation_unfolder.
-Hint Rewrite <- modulo_cps_eq : pattern_runtime.
-
-Definition div_cps_sig := parameterize_sig (@Core.div_cps).
-Definition div_cps := parameterize_from_sig div_cps_sig.
-Definition div_cps_eq := parameterize_eq div_cps div_cps_sig.
-Hint Unfold div_cps : basesystem_partial_evaluation_unfolder.
-Hint Rewrite <- div_cps_eq : pattern_runtime.
-
-Definition modulo_sig := parameterize_sig (@Core.modulo).
-Definition modulo := parameterize_from_sig modulo_sig.
-Definition modulo_eq := parameterize_eq modulo modulo_sig.
-Hint Unfold modulo : basesystem_partial_evaluation_unfolder.
-Hint Rewrite <- modulo_eq : pattern_runtime.
-
-Definition div_sig := parameterize_sig (@Core.div).
-Definition div := parameterize_from_sig div_sig.
-Definition div_eq := parameterize_eq div div_sig.
-Hint Unfold div : basesystem_partial_evaluation_unfolder.
-Hint Rewrite <- div_eq : pattern_runtime.
diff --git a/src/Arithmetic/Karatsuba.v b/src/Arithmetic/Karatsuba.v
deleted file mode 100644
index 1873e5ef1..000000000
--- a/src/Arithmetic/Karatsuba.v
+++ /dev/null
@@ -1,228 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Lia.
-Require Import Crypto.Algebra.Nsatz.
-Require Import Crypto.Util.LetIn Crypto.Util.CPSUtil.
-Require Import Crypto.Arithmetic.Core. Import B. Import Positional.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-Local Open Scope Z_scope.
-
-Section Karatsuba.
-Context (weight : nat -> Z)
- (weight_0 : weight 0%nat = 1%Z)
- (weight_nonzero : forall i, weight i <> 0).
- (* [tuple Z n] is the "half-length" type,
- [tuple Z n2] is the "full-length" type *)
- Context {n n2 : nat} (n_nonzero : n <> 0%nat) (n2_nonzero : n2 <> 0%nat).
- Let T := tuple Z n.
- Let T2 := tuple Z n2.
-
- (*
- If x = x0 + sx1 and y = y0 + sy1, then xy = s^2 * z2 + s * z1 + s * z0,
- with:
-
- z2 = x1y1
- z0 = x0y0
- z1 = (x1+x0)(y1+y0) - (z2 + z0)
-
- Computing z1 one operation at a time:
- sum_z = z0 + z2
- sum_x = x1 + x0
- sum_y = y1 + y0
- mul_sumxy = sum_x * sum_y
- z1 = mul_sumxy - sum_z
- *)
- Definition karatsuba_mul_cps s (x y : T2) {R} (f:T2->R) :=
- split_cps (n:=n2) (m1:=n) (m2:=n) weight s x
- (fun x0_x1 => split_cps weight s y
- (fun y0_y1 => mul_cps weight (fst x0_x1) (fst y0_y1)
- (fun z0 => mul_cps weight(snd x0_x1) (snd y0_y1)
- (fun z2 => add_cps weight z0 z2
- (fun sum_z => add_cps weight (fst x0_x1) (snd x0_x1)
- (fun sum_x => add_cps weight (fst y0_y1) (snd y0_y1)
- (fun sum_y => mul_cps weight sum_x sum_y
- (fun mul_sumxy => unbalanced_sub_cps weight mul_sumxy sum_z
- (fun z1 => scmul_cps weight s z1
- (fun sz1 => scmul_cps weight (s^2) z2
- (fun s2z2 => add_cps weight s2z2 sz1
- (fun add_s2z2_sz1 => add_cps weight add_s2z2_sz1 z0 f)))))))))))).
-
- Definition karatsuba_mul s x y := @karatsuba_mul_cps s x y _ id.
- Lemma karatsuba_mul_id s x y R f :
- @karatsuba_mul_cps s x y R f = f (karatsuba_mul s x y).
- Proof.
- cbv [karatsuba_mul karatsuba_mul_cps].
- repeat autounfold.
- autorewrite with cancel_pair push_id uncps.
- reflexivity.
- Qed.
- Hint Opaque karatsuba_mul : uncps.
- Hint Rewrite karatsuba_mul_id : uncps.
-
- Lemma eval_karatsuba_mul s x y (s_nonzero:s <> 0) :
- eval weight (karatsuba_mul s x y) = eval weight x * eval weight y.
- Proof.
- cbv [karatsuba_mul karatsuba_mul_cps]; repeat autounfold.
- autorewrite with cancel_pair push_id uncps push_basesystem_eval.
- repeat match goal with
- | _ => rewrite <-eval_to_associational
- | |- context [(to_associational ?w ?x)] =>
- rewrite <-(Associational.eval_split
- s (to_associational w x)) by assumption
- | _ => rewrite <-Associational.eval_split by assumption
- | _ => setoid_rewrite Associational.eval_nil
- end.
- ring_simplify.
- nsatz.
- Qed.
-
- (* These definitions are intended to make bounds analysis go through
- for karatsuba. Essentially, we provide a version of the code to
- actually run and a version to bounds-check, along with a proof
- that they are exactly equal. This works around cases where the
- bounds proof requires high-level reasoning. *)
- Local Notation id_with_alt_bounds_cps := id_tuple_with_alt_cps'.
-
- (*
- If:
- s^2 mod p = (s + 1) mod p
- x = x0 + sx1
- y = y0 + sy1
- Then, with z0 and z2 as before (x0y0 and x1y1 respectively), let z1 = ((x0 + x1) * (y0 + y1)) - z0.
-
- Computing xy one operation at a time:
- sum_z = z0 + z2
- sum_x = x0 + x1
- sum_y = y0 + y1
- mul_sumxy = sum_x * sum_y
- z1 = mul_sumxy - z0
- sz1 = s * z1
- xy = sum_z - sz1
-
- The subtraction in the computation of z1 presents issues for
- bounds analysis. In particular, just analyzing the upper and lower
- bounds of the values would indicate that it could underflow--we
- know it won't because
-
- mul_sumxy -z0 = ((x0+x1) * (y0+y1)) - x0y0
- = (x0y0 + x1y0 + x0y1 + x1y1) - x0y0
- = x1y0 + x0y1 + x1y1
-
- Therefore, we use id_with_alt_bounds to indicate that the
- bounds-checker should check the non-subtracting form.
-
- *)
-
- (*
- Definition goldilocks_mul_cps_for_bounds_checker
- s (xs ys : T2) {R} (f:T2->R) :=
- split_cps (m1:=n) (m2:=n) weight s xs
- (fun x0_x1 => split_cps weight s ys
-
- (fun z1 => Positional.to_associational_cps weight z1
- (fun z1 => Associational.mul_cps (pair s 1::nil) z1
- (fun sz1 => Positional.from_associational_cps weight n2 sz1
- (fun sz1 => add_cps weight sum_z sz1 f)))))))))))).
- *)
-
- Let T3 := tuple Z (n2+n).
- Definition goldilocks_mul_cps s (xs ys : T2) {R} (f:T3->R) :=
- split_cps (m1:=n) (m2:=n) weight s xs
- (fun x0_x1 => split_cps weight s ys
- (fun y0_y1 => mul_cps weight (fst x0_x1) (fst y0_y1)
- (fun z0 => mul_cps weight (snd x0_x1) (snd y0_y1)
- (fun z2 => add_cps weight z0 z2
- (fun sum_z : tuple _ n2 => add_cps weight (fst x0_x1) (snd x0_x1)
- (fun sum_x => add_cps weight (fst y0_y1) (snd y0_y1)
- (fun sum_y => mul_cps weight sum_x sum_y
- (fun mul_sumxy =>
-
- id_with_alt_bounds_cps (fun f =>
- (unbalanced_sub_cps weight mul_sumxy z0 f)) (fun f =>
-
- (mul_cps weight (fst x0_x1) (snd y0_y1)
- (fun x0_y1 => mul_cps weight (snd x0_x1) (fst y0_y1)
- (fun x1_y0 => mul_cps weight (fst x0_x1) (fst y0_y1)
- (fun z0 => mul_cps weight (snd x0_x1) (snd y0_y1)
- (fun z2 => add_cps weight z0 z2
- (fun sum_z => add_cps weight x0_y1 x1_y0
- (fun z1' => add_cps weight z1' z2 f)))))))) (fun z1 =>
-
- Positional.to_associational_cps weight z1
- (fun z1 => Associational.mul_cps (pair s 1::nil) z1
- (fun sz1 => Positional.to_associational_cps weight sum_z
- (fun sum_z => Positional.from_associational_cps weight _ (sum_z++sz1) f
- )))))))))))).
-
- Definition goldilocks_mul s xs ys := goldilocks_mul_cps s xs ys id.
- Lemma goldilocks_mul_id s xs ys R f :
- @goldilocks_mul_cps s xs ys R f = f (goldilocks_mul s xs ys).
- Proof.
- cbv [goldilocks_mul goldilocks_mul_cps Let_In].
- repeat autounfold. autorewrite with uncps push_id.
- reflexivity.
- Qed.
- Hint Opaque goldilocks_mul : uncps.
- Hint Rewrite goldilocks_mul_id : uncps.
-
- Local Existing Instances Z.equiv_modulo_Reflexive
- RelationClasses.eq_Reflexive Z.equiv_modulo_Symmetric
- Z.equiv_modulo_Transitive Z.mul_mod_Proper Z.add_mod_Proper
- Z.modulo_equiv_modulo_Proper.
-
- Lemma goldilocks_mul_correct (p : Z) (p_nonzero : p <> 0) s (s_nonzero : s <> 0) (s2_modp : (s^2) mod p = (s+1) mod p) xs ys :
- (eval weight (goldilocks_mul s xs ys)) mod p = (eval weight xs * eval weight ys) mod p.
- Proof.
- cbv [goldilocks_mul_cps goldilocks_mul Let_In].
- Zmod_to_equiv_modulo.
- progress autounfold.
- progress autorewrite with push_id cancel_pair uncps push_basesystem_eval.
- rewrite !unfold_id_tuple_with_alt.
- repeat match goal with
- | _ => rewrite <-eval_to_associational
- | |- context [(to_associational ?w ?x)] =>
- rewrite <-(Associational.eval_split
- s (to_associational w x)) by assumption
- | _ => rewrite <-Associational.eval_split by assumption
- | _ => setoid_rewrite Associational.eval_nil
- end.
- progress autorewrite with push_id cancel_pair uncps push_basesystem_eval.
- repeat (rewrite ?eval_from_associational, ?eval_to_associational).
- progress autorewrite with push_id cancel_pair uncps push_basesystem_eval.
- repeat match goal with
- | _ => rewrite <-eval_to_associational
- | |- context [(to_associational ?w ?x)] =>
- rewrite <-(Associational.eval_split
- s (to_associational w x)) by assumption
- | _ => rewrite <-Associational.eval_split by assumption
- | _ => setoid_rewrite Associational.eval_nil
- end.
- ring_simplify.
- setoid_rewrite s2_modp.
- apply f_equal2; nsatz.
- assumption. assumption. omega.
- Qed.
-
- Lemma eval_goldilocks_mul (p : positive) s (s_nonzero : s <> 0) (s2_modp : mod_eq p (s^2) (s+1)) xs ys :
- mod_eq p (eval weight (goldilocks_mul s xs ys)) (eval weight xs * eval weight ys).
- Proof.
- apply goldilocks_mul_correct; auto; lia.
- Qed.
-End Karatsuba.
-Hint Opaque karatsuba_mul goldilocks_mul : uncps.
-Hint Rewrite karatsuba_mul_id goldilocks_mul_id : uncps.
-
-Hint Rewrite
- @eval_karatsuba_mul
- @eval_goldilocks_mul
- @goldilocks_mul_correct
- using (assumption || (div_mod_cps_t; auto)) : push_basesystem_eval.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t := (eval cbv delta [goldilocks_mul karatsuba_mul goldilocks_mul_cps karatsuba_mul_cps] in t) in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v b/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v
deleted file mode 100644
index 2ea623b0b..000000000
--- a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Definition.v
+++ /dev/null
@@ -1,61 +0,0 @@
-(*** Word-By-Word Montgomery Multiplication *)
-(** This file implements Montgomery Form, Montgomery Reduction, and
- Montgomery Multiplication on an abstract [T]. See
- https://github.com/mit-plv/fiat-crypto/issues/157 for a discussion
- of the algorithm; note that it may be that none of the algorithms
- there exactly match what we're doing here. *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.ZUtil.Definitions.
-
-Local Open Scope Z_scope.
-
-Section WordByWordMontgomery.
- Local Coercion Z.pos : positive >-> Z.
- Context
- {T : Type}
- {eval : T -> Z}
- {numlimbs : T -> nat}
- {zero : nat -> T}
- {divmod : T -> T * Z} (* returns lowest limb and all-but-lowest-limb *)
- {r : positive}
- {scmul : Z -> T -> T} (* uses double-output multiply *)
- {R : positive}
- {add : T -> T -> T} (* joins carry *)
- {drop_high : T -> T} (* drops the highest limb *)
- (N : T).
-
- (* Recurse for a as many iterations as A has limbs, varying A := A, S := 0, r, bounds *)
- Section Iteration.
- Context (B : T) (k : Z).
- Context (A S : T).
- (* Given A, B < R, we want to compute A * B / R mod N. R = bound 0 * ... * bound (n-1) *)
- Local Definition A_a := dlet p := divmod A in p. Local Definition A' := fst A_a. Local Definition a := snd A_a.
- Local Definition S1 := add S (scmul a B).
- Local Definition s := snd (divmod S1).
- Local Definition q := fst (Z.mul_split r s k).
- Local Definition S2 := add S1 (scmul q N).
- Local Definition S3 := fst (divmod S2).
- Local Definition S4 := drop_high S3.
- End Iteration.
-
- Section loop.
- Context (A B : T) (k : Z) (S' : T).
-
- Definition redc_body : T * T -> T * T
- := fun '(A, S') => (A' A, S4 B k A S').
-
- Fixpoint redc_loop (count : nat) : T * T -> T * T
- := match count with
- | O => fun A_S => A_S
- | S count' => fun A_S => redc_loop count' (redc_body A_S)
- end.
-
- Definition redc : T
- := snd (redc_loop (numlimbs A) (A, zero (1 + numlimbs B))).
- End loop.
-End WordByWordMontgomery.
-
-Create HintDb word_by_word_montgomery.
-Hint Unfold S4 S3 S2 q s S1 a A' A_a Let_In : word_by_word_montgomery.
diff --git a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Definition.v b/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Definition.v
deleted file mode 100644
index cff906465..000000000
--- a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Definition.v
+++ /dev/null
@@ -1,81 +0,0 @@
-(*** Word-By-Word Montgomery Multiplication *)
-(** This file implements Montgomery Form, Montgomery Reduction, and
- Montgomery Multiplication on an abstract [T : ℕ → Type]. See
- https://github.com/mit-plv/fiat-crypto/issues/157 for a discussion
- of the algorithm; note that it may be that none of the algorithms
- there exactly match what we're doing here. *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.ZUtil.Definitions.
-
-Local Open Scope Z_scope.
-
-Section WordByWordMontgomery.
- Local Coercion Z.pos : positive >-> Z.
- Context
- {T : nat -> Type}
- {eval : forall {n}, T n -> Z}
- {zero : forall {n}, T n}
- {divmod : forall {n}, T (S n) -> T n * Z} (* returns lowest limb and all-but-lowest-limb *)
- {r : positive}
- {R : positive}
- {R_numlimbs : nat}
- {scmul : forall {n}, Z -> T n -> T (S n)} (* uses double-output multiply *)
- {addT : forall {n}, T n -> T n -> T (S n)} (* joins carry *)
- {addT' : forall {n}, T (S n) -> T n -> T (S (S n))} (* joins carry *)
- {drop_high : T (S (S R_numlimbs)) -> T (S R_numlimbs)} (* drops the highest limb *)
- {conditional_sub : T (S R_numlimbs) -> T R_numlimbs} (* computes [arg - N] if [N <= arg], and drops high bit *)
- {sub_then_maybe_add : T R_numlimbs -> T R_numlimbs -> T R_numlimbs} (* computes [a - b + if (a - b) <? 0 then N else 0] *)
- (N : T R_numlimbs).
-
- (* Recurse for a as many iterations as A has limbs, varying A := A, S := 0, r, bounds *)
- Section Iteration.
- Context (pred_A_numlimbs : nat)
- (B : T R_numlimbs) (k : Z)
- (A : T (S pred_A_numlimbs))
- (S : T (S R_numlimbs)).
- (* Given A, B < R, we want to compute A * B / R mod N. R = bound 0 * ... * bound (n-1) *)
- Local Definition A_a := dlet p := divmod _ A in p. Local Definition A' := fst A_a. Local Definition a := snd A_a.
- Local Definition S1 := addT _ S (scmul _ a B).
- Local Definition s := snd (divmod _ S1).
- Local Definition q := fst (Z.mul_split r s k).
- Local Definition S2 := addT' _ S1 (scmul _ q N).
- Local Definition S3 := fst (divmod _ S2).
- Local Definition S4 := drop_high S3.
- End Iteration.
-
- Section loop.
- Context (A_numlimbs : nat)
- (A : T A_numlimbs)
- (B : T R_numlimbs)
- (k : Z)
- (S' : T (S R_numlimbs)).
-
- Definition redc_body {pred_A_numlimbs} : T (S pred_A_numlimbs) * T (S R_numlimbs)
- -> T pred_A_numlimbs * T (S R_numlimbs)
- := fun '(A, S') => (A' _ A, S4 _ B k A S').
-
- Fixpoint redc_loop (count : nat) : T count * T (S R_numlimbs) -> T O * T (S R_numlimbs)
- := match count return T count * _ -> _ with
- | O => fun A_S => A_S
- | S count' => fun A_S => redc_loop count' (redc_body A_S)
- end.
-
- Definition pre_redc : T (S R_numlimbs)
- := snd (redc_loop A_numlimbs (A, zero (1 + R_numlimbs))).
-
- Definition redc : T R_numlimbs
- := conditional_sub pre_redc.
- End loop.
-
- Definition add (A B : T R_numlimbs) : T R_numlimbs
- := conditional_sub (addT _ A B).
- Definition sub (A B : T R_numlimbs) : T R_numlimbs
- := sub_then_maybe_add A B.
- Definition opp (A : T R_numlimbs) : T R_numlimbs
- := sub (zero _) A.
-End WordByWordMontgomery.
-
-Create HintDb word_by_word_montgomery.
-Hint Unfold S4 S3 S2 q s S1 a A' A_a Let_In : word_by_word_montgomery.
diff --git a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Proofs.v b/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Proofs.v
deleted file mode 100644
index 3dd7fc0b3..000000000
--- a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Dependent/Proofs.v
+++ /dev/null
@@ -1,582 +0,0 @@
-(*** Word-By-Word Montgomery Multiplication Proofs *)
-Require Import Coq.Arith.Arith.
-Require Import Coq.ZArith.BinInt Coq.ZArith.ZArith Coq.ZArith.Zdiv Coq.micromega.Lia.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Arithmetic.ModularArithmeticTheorems Crypto.Spec.ModularArithmetic.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Abstract.Dependent.Definition.
-Require Import Crypto.Algebra.Ring.
-Require Import Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.ZUtil.Modulo.PullPush.
-Require Import Crypto.Util.ZUtil.Tactics.PeelLe.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Tactics.SetEvars.
-Require Import Crypto.Util.Tactics.SubstEvars.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Local Open Scope Z_scope.
-
-Section WordByWordMontgomery.
- Context
- {T : nat -> Type}
- {eval : forall {n}, T n -> Z}
- {zero : forall {n}, T n}
- {divmod : forall {n}, T (S n) -> T n * Z} (* returns lowest limb and all-but-lowest-limb *)
- {r : positive}
- {r_big : r > 1}
- {R : positive}
- {R_numlimbs : nat}
- {R_correct : R = r^Z.of_nat R_numlimbs :> Z}
- {small : forall {n}, T n -> Prop}
- {eval_zero : forall n, eval (@zero n) = 0}
- {small_zero : forall n, small (@zero n)}
- {eval_div : forall n v, small v -> eval (fst (@divmod n v)) = eval v / r}
- {eval_mod : forall n v, small v -> snd (@divmod n v) = eval v mod r}
- {small_div : forall n v, small v -> small (fst (@divmod n v))}
- {scmul : forall {n}, Z -> T n -> T (S n)} (* uses double-output multiply *)
- {eval_scmul: forall n a v, small v -> 0 <= a < r -> 0 <= eval v < R -> eval (@scmul n a v) = a * eval v}
- {small_scmul : forall n a v, small v -> 0 <= a < r -> 0 <= eval v < R -> small (@scmul n a v)}
- {addT : forall {n}, T n -> T n -> T (S n)} (* joins carry *)
- {eval_addT : forall n a b, eval (@addT n a b) = eval a + eval b}
- {small_addT : forall n a b, small a -> small b -> small (@addT n a b)}
- {addT' : forall {n}, T (S n) -> T n -> T (S (S n))} (* joins carry *)
- {eval_addT' : forall n a b, eval (@addT' n a b) = eval a + eval b}
- {small_addT' : forall n a b, small a -> small b -> small (@addT' n a b)}
- {drop_high : T (S (S R_numlimbs)) -> T (S R_numlimbs)} (* drops the highest limb *)
- {eval_drop_high : forall v, small v -> eval (drop_high v) = eval v mod (r * r^Z.of_nat R_numlimbs)}
- {small_drop_high : forall v, small v -> small (drop_high v)}
- (N : T R_numlimbs) (Npos : positive) (Npos_correct: eval N = Z.pos Npos)
- (small_N : small N)
- (N_lt_R : eval N < R)
- {conditional_sub : T (S R_numlimbs) -> T R_numlimbs} (* computes [arg - N] if [N <= arg], and drops high bit *)
- {eval_conditional_sub : forall v, small v -> 0 <= eval v < eval N + R -> eval (conditional_sub v) = eval v + if eval N <=? eval v then -eval N else 0}
- {small_conditional_sub : forall v, small v -> 0 <= eval v < eval N + R -> small (conditional_sub v)}
- {sub_then_maybe_add : T R_numlimbs -> T R_numlimbs -> T R_numlimbs} (* computes [a - b + if (a - b) <? 0 then N else 0] *)
- {eval_sub_then_maybe_add : forall a b, small a -> small b -> 0 <= eval a < eval N -> 0 <= eval b < eval N -> eval (sub_then_maybe_add a b) = eval a - eval b + if eval a - eval b <? 0 then eval N else 0}
- {small_sub_then_maybe_add : forall a b, small (sub_then_maybe_add a b)}
- (B : T R_numlimbs)
- (B_bounds : 0 <= eval B < R)
- (small_B : small B)
- ri (ri_correct : r*ri mod (eval N) = 1 mod (eval N))
- (k : Z) (k_correct : k * eval N mod r = (-1) mod r).
-
- Create HintDb push_eval discriminated.
- Local Ltac t_small :=
- repeat first [ assumption
- | apply small_addT
- | apply small_addT'
- | apply small_div
- | apply small_drop_high
- | apply small_zero
- | apply small_scmul
- | apply small_conditional_sub
- | apply small_sub_then_maybe_add
- | apply Z_mod_lt
- | rewrite Z.mul_split_mod
- | solve [ auto with zarith ]
- | lia
- | progress autorewrite with push_eval
- | progress autounfold with word_by_word_montgomery
- | match goal with
- | [ H : and _ _ |- _ ] => destruct H
- end ].
- Hint Rewrite
- eval_zero
- eval_div
- eval_mod
- eval_addT
- eval_addT'
- eval_scmul
- eval_drop_high
- eval_conditional_sub
- eval_sub_then_maybe_add
- using (repeat autounfold with word_by_word_montgomery; t_small)
- : push_eval.
-
- Local Arguments eval {_} _.
- Local Arguments small {_} _.
- Local Arguments divmod {_} _.
-
- (* Recurse for a as many iterations as A has limbs, varying A := A, S := 0, r, bounds *)
- Section Iteration.
- Context (pred_A_numlimbs : nat)
- (A : T (S pred_A_numlimbs))
- (S : T (S R_numlimbs))
- (small_A : small A)
- (small_S : small S)
- (S_nonneg : 0 <= eval S).
- (* Given A, B < R, we want to compute A * B / R mod N. R = bound 0 * ... * bound (n-1) *)
-
- Local Coercion eval : T >-> Z.
-
- Local Notation a := (@WordByWord.Abstract.Dependent.Definition.a T (@divmod) pred_A_numlimbs A).
- Local Notation A' := (@WordByWord.Abstract.Dependent.Definition.A' T (@divmod) pred_A_numlimbs A).
- Local Notation S1 := (@WordByWord.Abstract.Dependent.Definition.S1 T (@divmod) R_numlimbs scmul addT pred_A_numlimbs B A S).
- Local Notation s := (@WordByWord.Abstract.Dependent.Definition.s T (@divmod) R_numlimbs scmul addT pred_A_numlimbs B A S).
- Local Notation q := (@WordByWord.Abstract.Dependent.Definition.q T (@divmod) r R_numlimbs scmul addT pred_A_numlimbs B k A S).
- Local Notation S2 := (@WordByWord.Abstract.Dependent.Definition.S2 T (@divmod) r R_numlimbs scmul addT addT' N pred_A_numlimbs B k A S).
- Local Notation S3 := (@WordByWord.Abstract.Dependent.Definition.S3 T (@divmod) r R_numlimbs scmul addT addT' N pred_A_numlimbs B k A S).
- Local Notation S4 := (@WordByWord.Abstract.Dependent.Definition.S4 T (@divmod) r R_numlimbs scmul addT addT' drop_high N pred_A_numlimbs B k A S).
-
- Lemma S3_bound
- : eval S < eval N + eval B
- -> eval S3 < eval N + eval B.
- Proof.
- assert (Hmod : forall a b, 0 < b -> a mod b <= b - 1)
- by (intros x y; pose proof (Z_mod_lt x y); omega).
- intro HS.
- unfold S3, S2, S1.
- autorewrite with push_eval; [].
- eapply Z.le_lt_trans.
- { transitivity ((N+B-1 + (r-1)*B + (r-1)*N) / r);
- [ | set_evars; ring_simplify_subterms; subst_evars; reflexivity ].
- Z.peel_le; repeat apply Z.add_le_mono; repeat apply Z.mul_le_mono_nonneg; try lia;
- repeat autounfold with word_by_word_montgomery; rewrite ?Z.mul_split_mod;
- autorewrite with push_eval;
- try Z.zero_bounds;
- auto with lia. }
- rewrite (Z.mul_comm _ r), <- Z.add_sub_assoc, <- Z.add_opp_r, !Z.div_add_l' by lia.
- autorewrite with zsimplify.
- simpl; omega.
- Qed.
-
- Lemma small_A'
- : small A'.
- Proof.
- repeat autounfold with word_by_word_montgomery; auto.
- Qed.
-
- Lemma small_S3
- : small S3.
- Proof. repeat autounfold with word_by_word_montgomery; t_small. Qed.
-
- Lemma S3_nonneg : 0 <= eval S3.
- Proof.
- repeat autounfold with word_by_word_montgomery; rewrite ?Z.mul_split_mod;
- autorewrite with push_eval; [].
- rewrite ?Npos_correct; Z.zero_bounds; lia.
- Qed.
-
- Lemma S4_nonneg : 0 <= eval S4.
- Proof. unfold S4; rewrite eval_drop_high by apply small_S3; Z.zero_bounds. Qed.
-
- Lemma S4_bound
- : eval S < eval N + eval B
- -> eval S4 < eval N + eval B.
- Proof.
- intro H; pose proof (S3_bound H); pose proof S3_nonneg.
- unfold S4.
- rewrite eval_drop_high by apply small_S3.
- rewrite Z.mod_small by nia.
- assumption.
- Qed.
-
- Lemma small_S4
- : small S4.
- Proof. repeat autounfold with word_by_word_montgomery; t_small. Qed.
-
- Lemma S1_eq : eval S1 = S + a*B.
- Proof.
- cbv [S1 a A'].
- repeat autorewrite with push_eval.
- reflexivity.
- Qed.
-
- Lemma S2_mod_N : (eval S2) mod N = (S + a*B) mod N.
- Proof.
- cbv [S2]; autorewrite with push_eval zsimplify. rewrite S1_eq. reflexivity.
- Qed.
-
- Lemma S2_mod_r : S2 mod r = 0.
- Proof.
- cbv [S2 q s]; autorewrite with push_eval.
- assert (r > 0) by lia.
- assert (Hr : (-(1 mod r)) mod r = r - 1 /\ (-(1)) mod r = r - 1).
- { destruct (Z.eq_dec r 1) as [H'|H'].
- { rewrite H'; split; reflexivity. }
- { rewrite !Z_mod_nz_opp_full; rewrite ?Z.mod_mod; Z.rewrite_mod_small; [ split; reflexivity | omega.. ]. } }
- autorewrite with pull_Zmod.
- replace 0 with (0 mod r) by apply Zmod_0_l.
- eapply F.eq_of_Z_iff.
- rewrite Z.mul_split_mod.
- repeat rewrite ?F.of_Z_add, ?F.of_Z_mul, <-?F.of_Z_mod.
- rewrite <-Algebra.Hierarchy.associative.
- replace ((F.of_Z r k * F.of_Z r (eval N))%F) with (F.opp (m:=r) F.one).
- { cbv [F.of_Z F.add]; simpl.
- apply path_sig_hprop; [ intro; exact HProp.allpath_hprop | ].
- simpl.
- rewrite (proj1 Hr), Z.mul_sub_distr_l.
- push_Zmod; pull_Zmod.
- autorewrite with zsimplify; reflexivity. }
- { rewrite <- F.of_Z_mul.
- rewrite F.of_Z_mod.
- rewrite k_correct.
- cbv [F.of_Z F.add F.opp F.one]; simpl.
- change (-(1)) with (-1) in *.
- apply path_sig_hprop; [ intro; exact HProp.allpath_hprop | ]; simpl.
- rewrite (proj1 Hr), (proj2 Hr); Z.rewrite_mod_small; reflexivity. }
- Qed.
-
- Lemma S3_mod_N
- : S3 mod N = (S + a*B)*ri mod N.
- Proof.
- cbv [S3]; autorewrite with push_eval cancel_pair.
- pose proof fun a => Z.div_to_inv_modulo N a r ri eq_refl ri_correct as HH;
- cbv [Z.equiv_modulo] in HH; rewrite HH; clear HH.
- etransitivity; [rewrite (fun a => Z.mul_mod_l a ri N)|
- rewrite (fun a => Z.mul_mod_l a ri N); reflexivity].
- rewrite <-S2_mod_N; repeat (f_equal; []); autorewrite with push_eval.
- autorewrite with push_Zmod;
- rewrite S2_mod_r;
- autorewrite with zsimplify.
- reflexivity.
- Qed.
-
- Lemma S4_mod_N
- (Hbound : eval S < eval N + eval B)
- : S4 mod N = (S + a*B)*ri mod N.
- Proof.
- pose proof (S3_bound Hbound); pose proof S3_nonneg.
- unfold S4; autorewrite with push_eval.
- rewrite (Z.mod_small _ (r * _)) by nia.
- apply S3_mod_N.
- Qed.
- End Iteration.
-
- Local Notation redc_body := (@redc_body T (@divmod) r R_numlimbs scmul addT addT' drop_high N B k).
- Local Notation redc_loop := (@redc_loop T (@divmod) r R_numlimbs scmul addT addT' drop_high N B k).
- Local Notation pre_redc A := (@pre_redc T zero (@divmod) r R_numlimbs scmul addT addT' drop_high N _ A B k).
- Local Notation redc A := (@redc T zero (@divmod) r R_numlimbs scmul addT addT' drop_high conditional_sub N _ A B k).
-
- Section body.
- Context (pred_A_numlimbs : nat)
- (A_S : T (S pred_A_numlimbs) * T (S R_numlimbs)).
- Let A:=fst A_S.
- Let S:=snd A_S.
- Let A_a:=divmod A.
- Let a:=snd A_a.
- Context (small_A : small A)
- (small_S : small S)
- (S_bound : 0 <= eval S < eval N + eval B).
-
- Lemma small_fst_redc_body : small (fst (redc_body A_S)).
- Proof. destruct A_S; apply small_A'; assumption. Qed.
- Lemma small_snd_redc_body : small (snd (redc_body A_S)).
- Proof. destruct A_S; unfold redc_body; apply small_S4; assumption. Qed.
- Lemma snd_redc_body_nonneg : 0 <= eval (snd (redc_body A_S)).
- Proof. destruct A_S; apply S4_nonneg; assumption. Qed.
-
- Lemma snd_redc_body_mod_N
- : (eval (snd (redc_body A_S))) mod (eval N) = (eval S + a*eval B)*ri mod (eval N).
- Proof. destruct A_S; apply S4_mod_N; auto; omega. Qed.
-
- Lemma fst_redc_body
- : (eval (fst (redc_body A_S))) = eval (fst A_S) / r.
- Proof.
- destruct A_S; simpl; repeat autounfold with word_by_word_montgomery; simpl.
- autorewrite with push_eval.
- reflexivity.
- Qed.
-
- Lemma fst_redc_body_mod_N
- : (eval (fst (redc_body A_S))) mod (eval N) = ((eval (fst A_S) - a)*ri) mod (eval N).
- Proof.
- rewrite fst_redc_body.
- etransitivity; [ eapply Z.div_to_inv_modulo; try eassumption; lia | ].
- unfold a, A_a, A.
- autorewrite with push_eval.
- reflexivity.
- Qed.
-
- Lemma redc_body_bound
- : eval S < eval N + eval B
- -> eval (snd (redc_body A_S)) < eval N + eval B.
- Proof.
- destruct A_S; apply S4_bound; unfold S in *; cbn [snd] in *; try assumption; try omega.
- Qed.
- End body.
-
- Local Arguments Z.pow !_ !_.
- Local Arguments Z.of_nat !_.
- Local Ltac induction_loop count IHcount
- := induction count as [|count IHcount]; intros; cbn [redc_loop] in *; [ | (*rewrite redc_loop_comm_body in * *) ].
- Lemma redc_loop_good count A_S
- (Hsmall : small (fst A_S) /\ small (snd A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : (small (fst (redc_loop count A_S)) /\ small (snd (redc_loop count A_S)))
- /\ 0 <= eval (snd (redc_loop count A_S)) < eval N + eval B.
- Proof.
- induction_loop count IHcount; auto; [].
- change (id (0 <= eval B < R)) in B_bounds (* don't let [destruct_head'_and] loop *).
- destruct_head'_and.
- repeat first [ apply conj
- | apply small_fst_redc_body
- | apply small_snd_redc_body
- | apply redc_body_bound
- | apply snd_redc_body_nonneg
- | apply IHcount
- | solve [ auto ] ].
- Qed.
-
- Lemma small_redc_loop count A_S
- (Hsmall : small (fst A_S) /\ small (snd A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : small (fst (redc_loop count A_S)) /\ small (snd (redc_loop count A_S)).
- Proof. apply redc_loop_good; assumption. Qed.
-
- Lemma redc_loop_bound count A_S
- (Hsmall : small (fst A_S) /\ small (snd A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : 0 <= eval (snd (redc_loop count A_S)) < eval N + eval B.
- Proof. apply redc_loop_good; assumption. Qed.
-
- Local Ltac handle_IH_small :=
- repeat first [ apply redc_loop_good
- | apply small_fst_redc_body
- | apply small_snd_redc_body
- | apply redc_body_bound
- | apply snd_redc_body_nonneg
- | apply conj
- | progress cbn [fst snd]
- | progress destruct_head' and
- | solve [ auto ] ].
-
- Lemma fst_redc_loop count A_S
- (Hsmall : small (fst A_S) /\ small (snd A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : eval (fst (redc_loop count A_S)) = eval (fst A_S) / r^(Z.of_nat count).
- Proof.
- induction_loop count IHcount.
- { simpl; autorewrite with zsimplify; reflexivity. }
- { rewrite IHcount, fst_redc_body by handle_IH_small.
- change (1 + R_numlimbs)%nat with (S R_numlimbs) in *.
- rewrite Zdiv_Zdiv by Z.zero_bounds.
- rewrite <- (Z.pow_1_r r) at 1.
- rewrite <- Z.pow_add_r by lia.
- replace (1 + Z.of_nat count) with (Z.of_nat (S count)) by lia.
- reflexivity. }
- Qed.
-
- Lemma fst_redc_loop_mod_N count A_S
- (Hsmall : small (fst A_S) /\ small (snd A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : eval (fst (redc_loop count A_S)) mod (eval N)
- = (eval (fst A_S) - eval (fst A_S) mod r^Z.of_nat count)
- * ri^(Z.of_nat count) mod (eval N).
- Proof.
- rewrite fst_redc_loop by assumption.
- destruct count.
- { simpl; autorewrite with zsimplify; reflexivity. }
- { etransitivity;
- [ eapply Z.div_to_inv_modulo;
- try solve [ eassumption
- | apply Z.lt_gt, Z.pow_pos_nonneg; lia ]
- | ].
- { erewrite <- Z.pow_mul_l, <- Z.pow_1_l.
- { apply Z.pow_mod_Proper; [ eassumption | reflexivity ]. }
- { lia. } }
- reflexivity. }
- Qed.
-
- Local Arguments Z.pow : simpl never.
- Lemma snd_redc_loop_mod_N count A_S
- (Hsmall : small (fst A_S) /\ small (snd A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : (eval (snd (redc_loop count A_S))) mod (eval N)
- = ((eval (snd A_S) + (eval (fst A_S) mod r^(Z.of_nat count))*eval B)*ri^(Z.of_nat count)) mod (eval N).
- Proof.
- induction_loop count IHcount.
- { simpl; autorewrite with zsimplify; reflexivity. }
- { rewrite IHcount by handle_IH_small.
- push_Zmod; rewrite snd_redc_body_mod_N, fst_redc_body by handle_IH_small; pull_Zmod.
- autorewrite with push_eval; [].
- match goal with
- | [ |- ?x mod ?N = ?y mod ?N ]
- => change (Z.equiv_modulo N x y)
- end.
- destruct A_S as [A S].
- cbn [fst snd].
- change (Z.pos (Pos.of_succ_nat ?n)) with (Z.of_nat (Datatypes.S n)).
- rewrite !Z.mul_add_distr_r.
- rewrite <- !Z.mul_assoc.
- replace (ri * ri^(Z.of_nat count)) with (ri^(Z.of_nat (Datatypes.S count)))
- by (change (Datatypes.S count) with (1 + count)%nat;
- autorewrite with push_Zof_nat; rewrite Z.pow_add_r by lia; simpl Z.succ; rewrite Z.pow_1_r; nia).
- rewrite <- !Z.add_assoc.
- apply Z.add_mod_Proper; [ reflexivity | ].
- unfold Z.equiv_modulo; push_Zmod; rewrite (Z.mul_mod_l (_ mod r) _ (eval N)).
- rewrite Z.mod_pull_div by auto with zarith lia.
- push_Zmod.
- erewrite Z.div_to_inv_modulo;
- [
- | apply Z.lt_gt; lia
- | eassumption ].
- pull_Zmod.
- match goal with
- | [ |- ?x mod ?N = ?y mod ?N ]
- => change (Z.equiv_modulo N x y)
- end.
- repeat first [ rewrite <- !Z.pow_succ_r, <- !Nat2Z.inj_succ by lia
- | rewrite (Z.mul_comm _ ri)
- | rewrite (Z.mul_assoc _ ri _)
- | rewrite (Z.mul_comm _ (ri^_))
- | rewrite (Z.mul_assoc _ (ri^_) _) ].
- repeat first [ rewrite <- Z.mul_assoc
- | rewrite <- Z.mul_add_distr_l
- | rewrite (Z.mul_comm _ (eval B))
- | rewrite !Nat2Z.inj_succ, !Z.pow_succ_r by lia;
- rewrite <- Znumtheory.Zmod_div_mod by (apply Z.divide_factor_r || Z.zero_bounds)
- | rewrite Zplus_minus
- | rewrite (Z.mul_comm r (r^_))
- | reflexivity ]. }
- Qed.
-
- Lemma pre_redc_bound A_numlimbs (A : T A_numlimbs)
- (small_A : small A)
- : 0 <= eval (pre_redc A) < eval N + eval B.
- Proof.
- unfold pre_redc.
- apply redc_loop_good; simpl; autorewrite with push_eval;
- rewrite ?Npos_correct; auto; lia.
- Qed.
-
- Lemma small_pre_redc A_numlimbs (A : T A_numlimbs)
- (small_A : small A)
- : small (pre_redc A).
- Proof.
- unfold pre_redc.
- apply redc_loop_good; simpl; autorewrite with push_eval;
- rewrite ?Npos_correct; auto; lia.
- Qed.
-
- Lemma pre_redc_mod_N A_numlimbs (A : T A_numlimbs) (small_A : small A) (A_bound : 0 <= eval A < r ^ Z.of_nat A_numlimbs)
- : (eval (pre_redc A)) mod (eval N) = (eval A * eval B * ri^(Z.of_nat A_numlimbs)) mod (eval N).
- Proof.
- unfold pre_redc.
- rewrite snd_redc_loop_mod_N; cbn [fst snd];
- autorewrite with push_eval zsimplify;
- [ | rewrite ?Npos_correct; auto; lia.. ].
- Z.rewrite_mod_small.
- reflexivity.
- Qed.
-
- Lemma redc_mod_N A_numlimbs (A : T A_numlimbs) (small_A : small A) (A_bound : 0 <= eval A < r ^ Z.of_nat A_numlimbs)
- : (eval (redc A)) mod (eval N) = (eval A * eval B * ri^(Z.of_nat A_numlimbs)) mod (eval N).
- Proof.
- pose proof (@small_pre_redc _ A small_A).
- pose proof (@pre_redc_bound _ A small_A).
- unfold redc.
- autorewrite with push_eval; [].
- break_innermost_match;
- try rewrite Z.add_opp_r, Zminus_mod, Z_mod_same_full;
- autorewrite with zsimplify_fast;
- apply pre_redc_mod_N; auto.
- Qed.
-
- Lemma redc_bound_tight A_numlimbs (A : T A_numlimbs)
- (small_A : small A)
- : 0 <= eval (redc A) < eval N + eval B + if eval N <=? eval (pre_redc A) then -eval N else 0.
- Proof.
- pose proof (@small_pre_redc _ A small_A).
- pose proof (@pre_redc_bound _ A small_A).
- unfold redc.
- rewrite eval_conditional_sub by t_small.
- break_innermost_match; Z.ltb_to_lt; omega.
- Qed.
-
- Lemma redc_bound_N A_numlimbs (A : T A_numlimbs)
- (small_A : small A)
- : eval B < eval N -> 0 <= eval (redc A) < eval N.
- Proof.
- pose proof (@small_pre_redc _ A small_A).
- pose proof (@pre_redc_bound _ A small_A).
- unfold redc.
- rewrite eval_conditional_sub by t_small.
- break_innermost_match; Z.ltb_to_lt; omega.
- Qed.
-
- Lemma redc_bound A_numlimbs (A : T A_numlimbs)
- (small_A : small A)
- (A_bound : 0 <= eval A < r ^ Z.of_nat A_numlimbs)
- : 0 <= eval (redc A) < R.
- Proof.
- pose proof (@small_pre_redc _ A small_A).
- pose proof (@pre_redc_bound _ A small_A).
- unfold redc.
- rewrite eval_conditional_sub by t_small.
- break_innermost_match; Z.ltb_to_lt; try omega.
- Qed.
-
- Lemma small_redc A_numlimbs (A : T A_numlimbs)
- (small_A : small A)
- (A_bound : 0 <= eval A < r ^ Z.of_nat A_numlimbs)
- : small (redc A).
- Proof.
- pose proof (@small_pre_redc _ A small_A).
- pose proof (@pre_redc_bound _ A small_A).
- unfold redc.
- apply small_conditional_sub; [ apply small_pre_redc | .. ]; auto; omega.
- Qed.
-
- Local Notation add := (@add T R_numlimbs addT conditional_sub).
- Local Notation sub := (@sub T R_numlimbs sub_then_maybe_add).
- Local Notation opp := (@opp T (@zero) R_numlimbs sub_then_maybe_add).
-
- Section add_sub.
- Context (Av Bv : T R_numlimbs)
- (small_Av : small Av)
- (small_Bv : small Bv)
- (Av_bound : 0 <= eval Av < eval N)
- (Bv_bound : 0 <= eval Bv < eval N).
-
- Local Ltac do_clear :=
- clear dependent B; clear dependent k; clear dependent ri; clear dependent Npos.
-
- Lemma small_add : small (add Av Bv).
- Proof. do_clear; unfold add; t_small. Qed.
- Lemma small_sub : small (sub Av Bv).
- Proof. do_clear; unfold sub; t_small. Qed.
- Lemma small_opp : small (opp Av).
- Proof. clear dependent Bv; do_clear; unfold opp, sub; t_small. Qed.
-
- Lemma eval_add : eval (add Av Bv) = eval Av + eval Bv + if (eval N <=? eval Av + eval Bv) then -eval N else 0.
- Proof. do_clear; unfold add; autorewrite with push_eval; reflexivity. Qed.
- Lemma eval_sub : eval (sub Av Bv) = eval Av - eval Bv + if (eval Av - eval Bv <? 0) then eval N else 0.
- Proof. do_clear; unfold sub; autorewrite with push_eval; reflexivity. Qed.
- Lemma eval_opp : eval (opp Av) = (if (eval Av =? 0) then 0 else eval N) - eval Av.
- Proof.
- clear dependent Bv; do_clear; unfold opp, sub; autorewrite with push_eval.
- break_innermost_match; Z.ltb_to_lt; lia.
- Qed.
-
- Local Ltac t_mod_N :=
- repeat first [ progress break_innermost_match
- | reflexivity
- | let H := fresh in intro H; rewrite H; clear H
- | progress autorewrite with zsimplify_const
- | rewrite Z.add_opp_r
- | progress (push_Zmod; pull_Zmod) ].
-
- Lemma eval_add_mod_N : eval (add Av Bv) mod eval N = (eval Av + eval Bv) mod eval N.
- Proof. generalize eval_add; clear. t_mod_N. Qed.
- Lemma eval_sub_mod_N : eval (sub Av Bv) mod eval N = (eval Av - eval Bv) mod eval N.
- Proof. generalize eval_sub; clear. t_mod_N. Qed.
- Lemma eval_opp_mod_N : eval (opp Av) mod eval N = (-eval Av) mod eval N.
- Proof. generalize eval_opp; clear; t_mod_N. Qed.
-
- Lemma add_bound : 0 <= eval (add Av Bv) < eval N.
- Proof. do_clear; generalize eval_add; break_innermost_match; Z.ltb_to_lt; lia. Qed.
- Lemma sub_bound : 0 <= eval (sub Av Bv) < eval N.
- Proof. do_clear; generalize eval_sub; break_innermost_match; Z.ltb_to_lt; lia. Qed.
- Lemma opp_bound : 0 <= eval (opp Av) < eval N.
- Proof. do_clear; generalize eval_opp; break_innermost_match; Z.ltb_to_lt; lia. Qed.
- End add_sub.
-End WordByWordMontgomery.
diff --git a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Proofs.v b/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Proofs.v
deleted file mode 100644
index 9eabc5ce4..000000000
--- a/src/Arithmetic/MontgomeryReduction/WordByWord/Abstract/Proofs.v
+++ /dev/null
@@ -1,497 +0,0 @@
-(*** Word-By-Word Montgomery Multiplication Proofs *)
-Require Import Coq.Arith.Arith.
-Require Import Coq.ZArith.BinInt Coq.ZArith.ZArith Coq.ZArith.Zdiv Coq.micromega.Lia.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Arithmetic.ModularArithmeticTheorems Crypto.Spec.ModularArithmetic.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Abstract.Definition.
-Require Import Crypto.Algebra.Ring.
-Require Import Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.ZUtil.Modulo.PullPush.
-Require Import Crypto.Util.ZUtil.Tactics.PeelLe.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Tactics.SetEvars.
-Require Import Crypto.Util.Tactics.SubstEvars.
-Require Import Crypto.Util.Tactics.DestructHead.
-Local Open Scope Z_scope.
-
-Section WordByWordMontgomery.
- Context
- {T : Type}
- {eval : T -> Z}
- {numlimbs : T -> nat}
- {zero : nat -> T}
- {divmod : T -> T * Z} (* returns lowest limb and all-but-lowest-limb *)
- {r : positive}
- {r_big : r > 1}
- {R : positive}
- {R_numlimbs : nat}
- {R_correct : R = r^Z.of_nat R_numlimbs :> Z}
- {small : T -> Prop}
- {eval_zero : forall n, eval (zero n) = 0}
- {numlimbs_zero : forall n, numlimbs (zero n) = n}
- {eval_div : forall v, small v -> eval (fst (divmod v)) = eval v / r}
- {eval_mod : forall v, small v -> snd (divmod v) = eval v mod r}
- {small_div : forall v, small v -> small (fst (divmod v))}
- {numlimbs_div : forall v, numlimbs (fst (divmod v)) = pred (numlimbs v)}
- {scmul : Z -> T -> T} (* uses double-output multiply *)
- {eval_scmul: forall a v, 0 <= a < r -> 0 <= eval v < R -> eval (scmul a v) = a * eval v}
- {numlimbs_scmul : forall a v, 0 <= a < r -> numlimbs (scmul a v) = S (numlimbs v)}
- {add : T -> T -> T} (* joins carry *)
- {eval_add : forall a b, eval (add a b) = eval a + eval b}
- {small_add : forall a b, small (add a b)}
- {numlimbs_add : forall a b, numlimbs (add a b) = Datatypes.S (max (numlimbs a) (numlimbs b))}
- {drop_high : T -> T} (* drops things after [S R_numlimbs] *)
- {eval_drop_high : forall v, small v -> eval (drop_high v) = eval v mod (r * r^Z.of_nat R_numlimbs)}
- {numlimbs_drop_high : forall v, numlimbs (drop_high v) = min (numlimbs v) (S R_numlimbs)}
- (N : T) (Npos : positive) (Npos_correct: eval N = Z.pos Npos)
- (N_lt_R : eval N < R)
- (B : T)
- (B_bounds : 0 <= eval B < R)
- ri (ri_correct : r*ri mod (eval N) = 1 mod (eval N)).
- Context (k : Z) (k_correct : k * eval N mod r = (-1) mod r).
-
- Create HintDb push_numlimbs discriminated.
- Create HintDb push_eval discriminated.
- Local Ltac t_small :=
- repeat first [ assumption
- | apply small_add
- | apply small_div
- | apply Z_mod_lt
- | rewrite Z.mul_split_mod
- | solve [ auto with zarith ]
- | lia
- | progress autorewrite with push_eval
- | progress autorewrite with push_numlimbs ].
- Hint Rewrite
- eval_zero
- eval_div
- eval_mod
- eval_add
- eval_scmul
- eval_drop_high
- using (repeat autounfold with word_by_word_montgomery; t_small)
- : push_eval.
- Hint Rewrite
- numlimbs_zero
- numlimbs_div
- numlimbs_add
- numlimbs_scmul
- numlimbs_drop_high
- using (repeat autounfold with word_by_word_montgomery; t_small)
- : push_numlimbs.
- Hint Rewrite <- Max.succ_max_distr pred_Sn Min.succ_min_distr : push_numlimbs.
-
-
- (* Recurse for a as many iterations as A has limbs, varying A := A, S := 0, r, bounds *)
- Section Iteration.
- Context (A S : T)
- (small_A : small A)
- (S_nonneg : 0 <= eval S).
- (* Given A, B < R, we want to compute A * B / R mod N. R = bound 0 * ... * bound (n-1) *)
-
- Local Coercion eval : T >-> Z.
-
- Local Notation a := (@WordByWord.Abstract.Definition.a T divmod A).
- Local Notation A' := (@WordByWord.Abstract.Definition.A' T divmod A).
- Local Notation S1 := (@WordByWord.Abstract.Definition.S1 T divmod scmul add B A S).
- Local Notation S2 := (@WordByWord.Abstract.Definition.S2 T divmod r scmul add N B k A S).
- Local Notation S3 := (@WordByWord.Abstract.Definition.S3 T divmod r scmul add N B k A S).
- Local Notation S4 := (@WordByWord.Abstract.Definition.S4 T divmod r scmul add drop_high N B k A S).
-
- Lemma S3_bound
- : eval S < eval N + eval B
- -> eval S3 < eval N + eval B.
- Proof.
- assert (Hmod : forall a b, 0 < b -> a mod b <= b - 1)
- by (intros x y; pose proof (Z_mod_lt x y); omega).
- intro HS.
- unfold S3, WordByWord.Abstract.Definition.S2, WordByWord.Abstract.Definition.S1.
- autorewrite with push_eval; [].
- eapply Z.le_lt_trans.
- { transitivity ((N+B-1 + (r-1)*B + (r-1)*N) / r);
- [ | set_evars; ring_simplify_subterms; subst_evars; reflexivity ].
- Z.peel_le; repeat apply Z.add_le_mono; repeat apply Z.mul_le_mono_nonneg; try lia;
- repeat autounfold with word_by_word_montgomery; rewrite ?Z.mul_split_mod;
- autorewrite with push_eval;
- try Z.zero_bounds;
- auto with lia. }
- rewrite (Z.mul_comm _ r), <- Z.add_sub_assoc, <- Z.add_opp_r, !Z.div_add_l' by lia.
- autorewrite with zsimplify.
- omega.
- Qed.
-
- Lemma small_A'
- : small A'.
- Proof.
- repeat autounfold with word_by_word_montgomery; auto.
- Qed.
-
- Lemma small_S3
- : small S3.
- Proof. repeat autounfold with word_by_word_montgomery; t_small. Qed.
-
- Lemma S3_nonneg : 0 <= eval S3.
- Proof.
- repeat autounfold with word_by_word_montgomery; rewrite Z.mul_split_mod;
- autorewrite with push_eval; [].
- rewrite ?Npos_correct; Z.zero_bounds; lia.
- Qed.
-
- Lemma S4_nonneg : 0 <= eval S4.
- Proof. unfold S4; rewrite eval_drop_high by apply small_S3; Z.zero_bounds. Qed.
-
- Lemma S4_bound
- : eval S < eval N + eval B
- -> eval S4 < eval N + eval B.
- Proof.
- intro H; pose proof (S3_bound H); pose proof S3_nonneg.
- unfold S4.
- rewrite eval_drop_high by apply small_S3.
- rewrite Z.mod_small by nia.
- assumption.
- Qed.
-
- Lemma numlimbs_S4 : numlimbs S4 = min (max (1 + numlimbs S) (1 + max (1 + numlimbs B) (numlimbs N))) (1 + R_numlimbs).
- Proof.
- cbn [plus].
- repeat autounfold with word_by_word_montgomery; rewrite Z.mul_split_mod.
- repeat autorewrite with push_numlimbs.
- change Init.Nat.max with Nat.max.
- rewrite <- ?(Max.max_assoc (numlimbs S)).
- reflexivity.
- Qed.
-
- Lemma S1_eq : eval S1 = S + a*B.
- Proof.
- cbv [S1 a WordByWord.Abstract.Definition.A'].
- repeat autorewrite with push_eval.
- reflexivity.
- Qed.
-
- Lemma S2_mod_N : (eval S2) mod N = (S + a*B) mod N.
- Proof.
- cbv [S2 WordByWord.Abstract.Definition.q WordByWord.Abstract.Definition.s]; autorewrite with push_eval zsimplify. rewrite S1_eq. reflexivity.
- Qed.
-
- Lemma S2_mod_r : S2 mod r = 0.
- cbv [S2 WordByWord.Abstract.Definition.q WordByWord.Abstract.Definition.s]; autorewrite with push_eval.
- assert (r > 0) by lia.
- assert (Hr : (-(1 mod r)) mod r = r - 1 /\ (-(1)) mod r = r - 1).
- { destruct (Z.eq_dec r 1) as [H'|H'].
- { rewrite H'; split; reflexivity. }
- { rewrite !Z_mod_nz_opp_full; rewrite ?Z.mod_mod; Z.rewrite_mod_small; [ split; reflexivity | omega.. ]. } }
- autorewrite with pull_Zmod.
- replace 0 with (0 mod r) by apply Zmod_0_l.
- eapply F.eq_of_Z_iff.
- rewrite Z.mul_split_mod.
- repeat rewrite ?F.of_Z_add, ?F.of_Z_mul, <-?F.of_Z_mod.
- rewrite <-Algebra.Hierarchy.associative.
- replace ((F.of_Z r k * F.of_Z r (eval N))%F) with (F.opp (m:=r) F.one).
- { cbv [F.of_Z F.add]; simpl.
- apply path_sig_hprop; [ intro; exact HProp.allpath_hprop | ].
- simpl.
- rewrite (proj1 Hr), Z.mul_sub_distr_l.
- push_Zmod; pull_Zmod.
- autorewrite with zsimplify; reflexivity. }
- { rewrite <- F.of_Z_mul.
- rewrite F.of_Z_mod.
- rewrite k_correct.
- cbv [F.of_Z F.add F.opp F.one]; simpl.
- change (-(1)) with (-1) in *.
- apply path_sig_hprop; [ intro; exact HProp.allpath_hprop | ]; simpl.
- rewrite (proj1 Hr), (proj2 Hr); Z.rewrite_mod_small; reflexivity. }
- Qed.
-
- Lemma S3_mod_N
- : S3 mod N = (S + a*B)*ri mod N.
- Proof.
- cbv [S3]; autorewrite with push_eval cancel_pair.
- pose proof fun a => Z.div_to_inv_modulo N a r ri eq_refl ri_correct as HH;
- cbv [Z.equiv_modulo] in HH; rewrite HH; clear HH.
- etransitivity; [rewrite (fun a => Z.mul_mod_l a ri N)|
- rewrite (fun a => Z.mul_mod_l a ri N); reflexivity].
- rewrite <-S2_mod_N; repeat (f_equal; []); autorewrite with push_eval.
- autorewrite with push_Zmod;
- rewrite S2_mod_r;
- autorewrite with zsimplify.
- reflexivity.
- Qed.
-
- Lemma S4_mod_N
- (Hbound : eval S < eval N + eval B)
- : S4 mod N = (S + a*B)*ri mod N.
- Proof.
- pose proof (S3_bound Hbound); pose proof S3_nonneg.
- unfold S4; autorewrite with push_eval.
- rewrite (Z.mod_small _ (r * _)) by nia.
- apply S3_mod_N.
- Qed.
- End Iteration.
-
- Local Notation redc_body := (@redc_body T divmod r scmul add drop_high N B k).
- Local Notation redc_loop := (@redc_loop T divmod r scmul add drop_high N B k).
- Local Notation redc A := (@redc T numlimbs zero divmod r scmul add drop_high N A B k).
-
- Lemma redc_loop_comm_body count
- : forall A_S, redc_loop count (redc_body A_S) = redc_body (redc_loop count A_S).
- Proof.
- induction count as [|count IHcount]; try reflexivity.
- simpl; intro; rewrite IHcount; reflexivity.
- Qed.
-
- Section body.
- Context (A_S : T * T).
- Let A:=fst A_S.
- Let S:=snd A_S.
- Let A_a:=divmod A.
- Let a:=snd A_a.
- Context (small_A : small A)
- (S_bound : 0 <= eval S < eval N + eval B).
-
- Lemma small_fst_redc_body : small (fst (redc_body A_S)).
- Proof. destruct A_S; apply small_A'; assumption. Qed.
- Lemma snd_redc_body_nonneg : 0 <= eval (snd (redc_body A_S)).
- Proof. destruct A_S; apply S4_nonneg; assumption. Qed.
-
- Lemma snd_redc_body_mod_N
- : (eval (snd (redc_body A_S))) mod (eval N) = (eval S + a*eval B)*ri mod (eval N).
- Proof. destruct A_S; apply S4_mod_N; auto; omega. Qed.
-
- Lemma fst_redc_body
- : (eval (fst (redc_body A_S))) = eval (fst A_S) / r.
- Proof.
- destruct A_S; simpl; unfold WordByWord.Abstract.Definition.A', WordByWord.Abstract.Definition.A_a, Let_In, a, A_a, A; simpl.
- autorewrite with push_eval.
- reflexivity.
- Qed.
-
- Lemma fst_redc_body_mod_N
- : (eval (fst (redc_body A_S))) mod (eval N) = ((eval (fst A_S) - a)*ri) mod (eval N).
- Proof.
- rewrite fst_redc_body.
- etransitivity; [ eapply Z.div_to_inv_modulo; try eassumption; lia | ].
- unfold a, A_a, A.
- autorewrite with push_eval.
- reflexivity.
- Qed.
-
- Lemma redc_body_bound
- : eval S < eval N + eval B
- -> eval (snd (redc_body A_S)) < eval N + eval B.
- Proof.
- destruct A_S; apply S4_bound; unfold S in *; cbn [snd] in *; try assumption; try omega.
- Qed.
-
- Lemma numlimbs_redc_body : numlimbs (snd (redc_body A_S))
- = min (max (1 + numlimbs (snd A_S)) (1 + max (1 + numlimbs B) (numlimbs N))) (1 + R_numlimbs).
- Proof. destruct A_S; apply numlimbs_S4; assumption. Qed.
- End body.
-
- Local Arguments Z.pow !_ !_.
- Local Arguments Z.of_nat !_.
- Local Ltac induction_loop count IHcount
- := induction count as [|count IHcount]; intros; cbn [redc_loop] in *; [ | rewrite redc_loop_comm_body in * ].
- Lemma redc_loop_good A_S count
- (Hsmall : small (fst A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : small (fst (redc_loop count A_S))
- /\ 0 <= eval (snd (redc_loop count A_S)) < eval N + eval B.
- Proof.
- induction_loop count IHcount; auto; [].
- change (id (0 <= eval B < R)) in B_bounds (* don't let [destruct_head'_and] loop *).
- destruct_head'_and.
- repeat first [ apply conj
- | apply small_fst_redc_body
- | apply redc_body_bound
- | apply snd_redc_body_nonneg
- | solve [ auto ] ].
- Qed.
-
- Lemma redc_loop_bound A_S count
- (Hsmall : small (fst A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : 0 <= eval (snd (redc_loop count A_S)) < eval N + eval B.
- Proof. apply redc_loop_good; assumption. Qed.
-
- Local Ltac t_min_max_step _ :=
- match goal with
- | [ |- context[Init.Nat.max ?x ?y] ]
- => first [ rewrite (Max.max_l x y) by omega
- | rewrite (Max.max_r x y) by omega ]
- | [ |- context[Init.Nat.min ?x ?y] ]
- => first [ rewrite (Min.min_l x y) by omega
- | rewrite (Min.min_r x y) by omega ]
- | _ => progress change Init.Nat.max with Nat.max
- | _ => progress change Init.Nat.min with Nat.min
- end.
-
- Lemma numlimbs_redc_loop A_S count
- (Hsmall : small (fst A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- (Hnumlimbs : (R_numlimbs <= numlimbs (snd A_S))%nat)
- : numlimbs (snd (redc_loop count A_S))
- = match count with
- | O => numlimbs (snd A_S)
- | S _ => 1 + R_numlimbs
- end%nat.
- Proof.
- assert (Hgen
- : numlimbs (snd (redc_loop count A_S))
- = match count with
- | O => numlimbs (snd A_S)
- | S _ => min (max (count + numlimbs (snd A_S)) (1 + max (1 + numlimbs B) (numlimbs N))) (1 + R_numlimbs)
- end).
- { induction_loop count IHcount; [ reflexivity | ].
- rewrite numlimbs_redc_body by (try apply redc_loop_good; auto).
- rewrite IHcount; clear IHcount.
- destruct count; [ reflexivity | ].
- destruct (Compare_dec.le_lt_dec (1 + max (1 + numlimbs B) (numlimbs N)) (S count + numlimbs (snd A_S))),
- (Compare_dec.le_lt_dec (1 + R_numlimbs) (S count + numlimbs (snd A_S))),
- (Compare_dec.le_lt_dec (1 + R_numlimbs) (1 + max (1 + numlimbs B) (numlimbs N)));
- repeat first [ reflexivity
- | t_min_max_step ()
- | progress autorewrite with push_numlimbs
- | rewrite Nat.min_comm, Nat.min_max_distr ]. }
- rewrite Hgen; clear Hgen.
- destruct count; [ reflexivity | ].
- repeat apply Max.max_case_strong; apply Min.min_case_strong; omega.
- Qed.
-
-
- Lemma fst_redc_loop A_S count
- (Hsmall : small (fst A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : eval (fst (redc_loop count A_S)) = eval (fst A_S) / r^(Z.of_nat count).
- Proof.
- induction_loop count IHcount.
- { simpl; autorewrite with zsimplify; reflexivity. }
- { rewrite fst_redc_body, IHcount
- by (apply redc_loop_good; auto).
- rewrite Zdiv_Zdiv by Z.zero_bounds.
- rewrite <- (Z.pow_1_r r) at 2.
- rewrite <- Z.pow_add_r by lia.
- replace (Z.of_nat count + 1) with (Z.of_nat (S count)) by (simpl; lia).
- reflexivity. }
- Qed.
-
- Lemma fst_redc_loop_mod_N A_S count
- (Hsmall : small (fst A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : eval (fst (redc_loop count A_S)) mod (eval N)
- = (eval (fst A_S) - eval (fst A_S) mod r^Z.of_nat count)
- * ri^(Z.of_nat count) mod (eval N).
- Proof.
- rewrite fst_redc_loop by assumption.
- destruct count.
- { simpl; autorewrite with zsimplify; reflexivity. }
- { etransitivity;
- [ eapply Z.div_to_inv_modulo;
- try solve [ eassumption
- | apply Z.lt_gt, Z.pow_pos_nonneg; lia ]
- | ].
- { erewrite <- Z.pow_mul_l, <- Z.pow_1_l.
- { apply Z.pow_mod_Proper; [ eassumption | reflexivity ]. }
- { lia. } }
- reflexivity. }
- Qed.
-
- Local Arguments Z.pow : simpl never.
- Lemma snd_redc_loop_mod_N A_S count
- (Hsmall : small (fst A_S))
- (Hbound : 0 <= eval (snd A_S) < eval N + eval B)
- : (eval (snd (redc_loop count A_S))) mod (eval N)
- = ((eval (snd A_S) + (eval (fst A_S) mod r^(Z.of_nat count))*eval B)*ri^(Z.of_nat count)) mod (eval N).
- Proof.
- induction_loop count IHcount.
- { simpl; autorewrite with zsimplify; reflexivity. }
- { simpl; rewrite snd_redc_body_mod_N
- by (apply redc_loop_good; auto).
- push_Zmod; rewrite IHcount; pull_Zmod.
- autorewrite with push_eval; [ | apply redc_loop_good; auto.. ]; [].
- match goal with
- | [ |- ?x mod ?N = ?y mod ?N ]
- => change (Z.equiv_modulo N x y)
- end.
- destruct A_S as [A S].
- cbn [fst snd].
- change (Z.pos (Pos.of_succ_nat ?n)) with (Z.of_nat (Datatypes.S n)).
- rewrite !Z.mul_add_distr_r.
- rewrite <- !Z.mul_assoc.
- replace (ri^(Z.of_nat count) * ri) with (ri^(Z.of_nat (Datatypes.S count)))
- by (change (Datatypes.S count) with (1 + count)%nat;
- autorewrite with push_Zof_nat; rewrite Z.pow_add_r by lia; simpl Z.succ; rewrite Z.pow_1_r; nia).
- rewrite <- !Z.add_assoc.
- apply Z.add_mod_Proper; [ reflexivity | ].
- unfold Z.equiv_modulo; push_Zmod; rewrite (Z.mul_mod_l (_ mod r) _ (eval N)).
- rewrite fst_redc_loop by (try apply redc_loop_good; auto; omega).
- cbn [fst].
- rewrite Z.mod_pull_div by lia.
- erewrite Z.div_to_inv_modulo;
- [
- | solve [ eassumption | apply Z.lt_gt, Z.pow_pos_nonneg; lia ]
- | erewrite <- Z.pow_mul_l, <- Z.pow_1_l;
- [ apply Z.pow_mod_Proper; [ eassumption | reflexivity ]
- | lia ] ].
- pull_Zmod.
- match goal with
- | [ |- ?x mod ?N = ?y mod ?N ]
- => change (Z.equiv_modulo N x y)
- end.
- repeat first [ rewrite <- !Z.pow_succ_r, <- !Nat2Z.inj_succ by lia
- | rewrite (Z.mul_comm _ ri)
- | rewrite (Z.mul_assoc _ ri _)
- | rewrite (Z.mul_comm _ (ri^_))
- | rewrite (Z.mul_assoc _ (ri^_) _) ].
- repeat first [ rewrite <- Z.mul_assoc
- | rewrite <- Z.mul_add_distr_l
- | rewrite (Z.mul_comm _ (eval B))
- | rewrite !Nat2Z.inj_succ, !Z.pow_succ_r by lia;
- rewrite <- Znumtheory.Zmod_div_mod by (apply Z.divide_factor_r || Z.zero_bounds)
- | rewrite Zplus_minus
- | reflexivity ]. }
- Qed.
-
- Lemma redc_bound A
- (small_A : small A)
- : 0 <= eval (redc A) < eval N + eval B.
- Proof.
- unfold redc.
- apply redc_loop_good; simpl; autorewrite with push_eval;
- rewrite ?Npos_correct; auto; lia.
- Qed.
-
- Lemma numlimbs_redc_gen A (small_A : small A) (Hnumlimbs : (R_numlimbs <= numlimbs B)%nat)
- : numlimbs (redc A)
- = match numlimbs A with
- | O => S (numlimbs B)
- | _ => S R_numlimbs
- end.
- Proof.
- unfold redc; rewrite numlimbs_redc_loop by (cbn [fst snd]; t_small);
- cbn [snd]; rewrite ?numlimbs_zero.
- reflexivity.
- Qed.
- Lemma numlimbs_redc A (small_A : small A) (Hnumlimbs : R_numlimbs = numlimbs B)
- : numlimbs (redc A) = S (numlimbs B).
- Proof. rewrite numlimbs_redc_gen; subst; auto; destruct (numlimbs A); reflexivity. Qed.
-
- Lemma redc_mod_N A (small_A : small A) (A_bound : 0 <= eval A < r ^ Z.of_nat (numlimbs A))
- : (eval (redc A)) mod (eval N) = (eval A * eval B * ri^(Z.of_nat (numlimbs A))) mod (eval N).
- Proof.
- unfold redc.
- rewrite snd_redc_loop_mod_N; cbn [fst snd];
- autorewrite with push_eval zsimplify;
- [ | rewrite ?Npos_correct; auto; lia.. ].
- Z.rewrite_mod_small.
- reflexivity.
- Qed.
-End WordByWordMontgomery.
diff --git a/src/Arithmetic/MontgomeryReduction/WordByWord/Definition.v b/src/Arithmetic/MontgomeryReduction/WordByWord/Definition.v
deleted file mode 100644
index fd4869f23..000000000
--- a/src/Arithmetic/MontgomeryReduction/WordByWord/Definition.v
+++ /dev/null
@@ -1,108 +0,0 @@
-(*** Word-By-Word Montgomery Multiplication *)
-(** This file implements Montgomery Form, Montgomery Reduction, and
- Montgomery Multiplication on an abstract [ℤⁿ]. See
- https://github.com/mit-plv/fiat-crypto/issues/157 for a discussion
- of the algorithm; note that it may be that none of the algorithms
- there exactly match what we're doing here. *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.Saturated.MontgomeryAPI.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Abstract.Dependent.Definition.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.CPS.
-
-Local Open Scope Z_scope.
-
-Section WordByWordMontgomery.
- Local Coercion Z.pos : positive >-> Z.
- (** TODO: pick better names for the arguments to this definition. *)
- Context
- {r : positive}
- {R_numlimbs : nat}
- (N : T R_numlimbs).
-
- Local Notation scmul := (@scmul (Z.pos r)).
- Local Notation addT' := (@MontgomeryAPI.add_S1 (Z.pos r)).
- Local Notation addT := (@MontgomeryAPI.add (Z.pos r)).
- Local Notation conditional_sub_cps := (fun V => @conditional_sub_cps (Z.pos r) _ V N _).
- Local Notation conditional_sub := (fun V => @conditional_sub (Z.pos r) _ V N).
- Local Notation sub_then_maybe_add_cps :=
- (fun V1 V2 => @sub_then_maybe_add_cps (Z.pos r) R_numlimbs (Z.pos r - 1) V1 V2 N).
- Local Notation sub_then_maybe_add := (fun V1 V2 => @sub_then_maybe_add (Z.pos r) R_numlimbs (Z.pos r - 1) V1 V2 N).
-
- Definition redc_body_no_cps (B : T R_numlimbs) (k : Z) {pred_A_numlimbs} (A_S : T (S pred_A_numlimbs) * T (S R_numlimbs))
- : T pred_A_numlimbs * T (S R_numlimbs)
- := @redc_body T (@divmod) r R_numlimbs (@scmul) (@addT) (@addT') (@drop_high (S R_numlimbs)) N B k _ A_S.
- Definition redc_loop_no_cps (B : T R_numlimbs) (k : Z) (count : nat) (A_S : T count * T (S R_numlimbs))
- : T 0 * T (S R_numlimbs)
- := @redc_loop T (@divmod) r R_numlimbs (@scmul) (@addT) (@addT') (@drop_high (S R_numlimbs)) N B k count A_S.
- Definition pre_redc_no_cps {A_numlimbs} (A : T A_numlimbs) (B : T R_numlimbs) (k : Z) : T (S R_numlimbs)
- := @pre_redc T (@zero) (@divmod) r R_numlimbs (@scmul) (@addT) (@addT') (@drop_high (S R_numlimbs)) N _ A B k.
- Definition redc_no_cps {A_numlimbs} (A : T A_numlimbs) (B : T R_numlimbs) (k : Z) : T R_numlimbs
- := @redc T (@zero) (@divmod) r R_numlimbs (@scmul) (@addT) (@addT') (@drop_high (S R_numlimbs)) conditional_sub N _ A B k.
-
- Definition redc_body_cps {pred_A_numlimbs} (A : T (S pred_A_numlimbs)) (B : T R_numlimbs) (k : Z) (S' : T (S R_numlimbs))
- {cpsT} (rest : T pred_A_numlimbs * T (S R_numlimbs) -> cpsT)
- : cpsT
- := divmod_cps A (fun '(A, a) =>
- @scmul_cps r _ a B _ (fun aB => @add_cps r _ S' aB _ (fun S1 =>
- divmod_cps S1 (fun '(_, s) =>
- Z.mul_split_cps' r s k (fun mul_split_r_s_k =>
- dlet q := fst mul_split_r_s_k in
- @scmul_cps r _ q N _ (fun qN => @add_S1_cps r _ S1 qN _ (fun S2 =>
- divmod_cps S2 (fun '(S3, _) =>
- @drop_high_cps (S R_numlimbs) S3 _ (fun S4 => rest (A, S4)))))))))).
-
- Section loop.
- Context {A_numlimbs} (A : T A_numlimbs) (B : T R_numlimbs) (k : Z) {cpsT : Type}.
- Fixpoint redc_loop_cps (count : nat) (rest : T 0 * T (S R_numlimbs) -> cpsT) : T count * T (S R_numlimbs) -> cpsT
- := match count with
- | O => rest
- | S count' => fun '(A, S') => redc_body_cps A B k S' (redc_loop_cps count' rest)
- end.
-
- Definition pre_redc_cps (rest : T (S R_numlimbs) -> cpsT) : cpsT
- := redc_loop_cps A_numlimbs (fun '(A, S') => rest S') (A, zero).
-
- Definition redc_cps (rest : T R_numlimbs -> cpsT) : cpsT
- := pre_redc_cps (fun v => conditional_sub_cps v rest).
- End loop.
-
- Definition redc_body {pred_A_numlimbs} (A : T (S pred_A_numlimbs)) (B : T R_numlimbs) (k : Z) (S' : T (S R_numlimbs))
- : T pred_A_numlimbs * T (S R_numlimbs)
- := redc_body_cps A B k S' id.
- Definition redc_loop (B : T R_numlimbs) (k : Z) (count : nat) : T count * T (S R_numlimbs) -> T 0 * T (S R_numlimbs)
- := redc_loop_cps B k count id.
- Definition pre_redc {A_numlimbs} (A : T A_numlimbs) (B : T R_numlimbs) (k : Z) : T (S R_numlimbs)
- := pre_redc_cps A B k id.
- Definition redc {A_numlimbs} (A : T A_numlimbs) (B : T R_numlimbs) (k : Z) : T R_numlimbs
- := redc_cps A B k id.
-
- Definition add_no_cps (A B : T R_numlimbs) : T R_numlimbs
- := @add T R_numlimbs (@addT) (@conditional_sub) A B.
- Definition sub_no_cps (A B : T R_numlimbs) : T R_numlimbs
- := @sub T R_numlimbs (@sub_then_maybe_add) A B.
- Definition opp_no_cps (A : T R_numlimbs) : T R_numlimbs
- := @opp T (@zero) R_numlimbs (@sub_then_maybe_add) A.
-
- Definition add_cps (A B : T R_numlimbs) {cpsT} (rest : T R_numlimbs -> cpsT) : cpsT
- := @add_cps r _ A B
- _ (fun v => conditional_sub_cps v rest).
- Definition add (A B : T R_numlimbs) : T R_numlimbs
- := add_cps A B id.
- Definition sub_cps (A B : T R_numlimbs) {cpsT} (rest : T R_numlimbs -> cpsT) : cpsT
- := @sub_then_maybe_add_cps A B _ rest.
- Definition sub (A B : T R_numlimbs) : T R_numlimbs
- := sub_cps A B id.
- Definition opp_cps (A : T R_numlimbs) {cpsT} (rest : T R_numlimbs -> cpsT) : cpsT
- := sub_cps zero A rest.
- Definition opp (A : T R_numlimbs) : T R_numlimbs
- := opp_cps A id.
- Definition nonzero_cps (A : T R_numlimbs) {cpsT} (f : Z -> cpsT) : cpsT
- := @nonzero_cps R_numlimbs A cpsT f.
- Definition nonzero (A : T R_numlimbs) : Z
- := nonzero_cps A id.
-End WordByWordMontgomery.
-
-Hint Opaque redc pre_redc redc_body redc_loop add sub opp nonzero : uncps.
diff --git a/src/Arithmetic/MontgomeryReduction/WordByWord/Proofs.v b/src/Arithmetic/MontgomeryReduction/WordByWord/Proofs.v
deleted file mode 100644
index 35c9e377b..000000000
--- a/src/Arithmetic/MontgomeryReduction/WordByWord/Proofs.v
+++ /dev/null
@@ -1,329 +0,0 @@
-(*** Word-By-Word Montgomery Multiplication Proofs *)
-Require Import Coq.ZArith.BinInt.
-Require Import Coq.micromega.Lia.
-Require Import Crypto.Arithmetic.Saturated.UniformWeight.
-Require Import Crypto.Arithmetic.Saturated.MontgomeryAPI.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Abstract.Dependent.Definition.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Abstract.Dependent.Proofs.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Definition.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Local Open Scope Z_scope.
-Local Coercion Z.pos : positive >-> Z.
-Section WordByWordMontgomery.
- (** XXX TODO: pick better names for things like [R_numlimbs] *)
- Context (r : positive)
- (R_numlimbs : nat).
- Local Notation small := (@small (Z.pos r)).
- Local Notation eval := (@eval (Z.pos r)).
- Local Notation addT' := (@MontgomeryAPI.add_S1 (Z.pos r)).
- Local Notation addT := (@MontgomeryAPI.add (Z.pos r)).
- Local Notation scmul := (@scmul (Z.pos r)).
- Local Notation eval_zero := (@eval_zero (Z.pos r)).
- Local Notation small_zero := (@small_zero r (Zorder.Zgt_pos_0 _)).
- Local Notation small_scmul := (fun n a v _ _ _ => @small_scmul r (Zorder.Zgt_pos_0 _) n a v).
- Local Notation eval_join0 := (@eval_zero (Z.pos r) (Zorder.Zgt_pos_0 _)).
- Local Notation eval_div := (@eval_div (Z.pos r) (Zorder.Zgt_pos_0 _)).
- Local Notation eval_mod := (@eval_mod (Z.pos r)).
- Local Notation small_div := (@small_div (Z.pos r)).
- Local Notation eval_scmul := (fun n a v smallv abound vbound => @eval_scmul (Z.pos r) (Zorder.Zgt_pos_0 _) n a v smallv abound).
- Local Notation eval_addT := (@eval_add_same (Z.pos r) (Zorder.Zgt_pos_0 _)).
- Local Notation eval_addT' := (@eval_add_S1 (Z.pos r) (Zorder.Zgt_pos_0 _)).
- Local Notation drop_high := (@drop_high (S R_numlimbs)).
- Local Notation small_drop_high := (@small_drop_high (Z.pos r) (S R_numlimbs)).
- Context (A_numlimbs : nat)
- (N : T R_numlimbs)
- (A : T A_numlimbs)
- (B : T R_numlimbs)
- (k : Z).
- Context ri
- (r_big : r > 1)
- (small_A : small A)
- (ri_correct : r*ri mod (eval N) = 1 mod (eval N))
- (small_N : small N)
- (small_B : small B)
- (N_nonzero : eval N <> 0)
- (N_mask : Tuple.map (Z.land (Z.pos r - 1)) N = N)
- (k_correct : k * eval N mod r = (-1) mod r).
- Let R : positive := match (Z.pos r ^ Z.of_nat R_numlimbs)%Z with
- | Z.pos R => R
- | _ => 1%positive
- end.
- Let Npos : positive := match eval N with
- | Z.pos N => N
- | _ => 1%positive
- end.
- Local Lemma R_correct : Z.pos R = Z.pos r ^ Z.of_nat R_numlimbs.
- Proof.
- assert (0 < r^Z.of_nat R_numlimbs) by (apply Z.pow_pos_nonneg; lia).
- subst R; destruct (Z.pos r ^ Z.of_nat R_numlimbs) eqn:?; [ | reflexivity | ];
- lia.
- Qed.
- Local Lemma small_addT : forall n a b, small a -> small b -> small (@addT n a b).
- Proof.
- intros; apply MontgomeryAPI.small_add; auto; lia.
- Qed.
- Local Lemma small_addT' : forall n a b, small a -> small b -> small (@addT' n a b).
- Proof.
- intros; apply MontgomeryAPI.small_add_S1; auto; lia.
- Qed.
-
- Local Notation conditional_sub_cps := (fun V : T (S R_numlimbs) => @conditional_sub_cps (Z.pos r) _ V N _).
- Local Notation conditional_sub := (fun V : T (S R_numlimbs) => @conditional_sub (Z.pos r) _ V N).
- Local Notation eval_conditional_sub' := (fun V small_V V_bound => @eval_conditional_sub (Z.pos r) (Zorder.Zgt_pos_0 _) _ V N small_V small_N V_bound).
-
- Local Lemma eval_conditional_sub
- : forall v, small v -> 0 <= eval v < eval N + R -> eval (conditional_sub v) = eval v + if eval N <=? eval v then -eval N else 0.
- Proof. rewrite R_correct; exact eval_conditional_sub'. Qed.
- Local Notation small_conditional_sub' := (fun V small_V V_bound => @small_conditional_sub (Z.pos r) (Zorder.Zgt_pos_0 _) _ V N small_V small_N V_bound).
- Local Lemma small_conditional_sub
- : forall v : T (S R_numlimbs), small v -> 0 <= eval v < eval N + R -> small (conditional_sub v).
- Proof. rewrite R_correct; exact small_conditional_sub'. Qed.
-
- Local Lemma A_bound : 0 <= eval A < Z.pos r ^ Z.of_nat A_numlimbs.
- Proof. apply eval_small; auto; lia. Qed.
- Local Lemma B_bound' : 0 <= eval B < r^Z.of_nat R_numlimbs.
- Proof. apply eval_small; auto; lia. Qed.
- Local Lemma N_bound' : 0 <= eval N < r^Z.of_nat R_numlimbs.
- Proof. apply eval_small; auto; lia. Qed.
- Local Lemma N_bound : 0 < eval N < r^Z.of_nat R_numlimbs.
- Proof. pose proof N_bound'; lia. Qed.
- Local Lemma Npos_correct: eval N = Z.pos Npos.
- Proof. pose proof N_bound; subst Npos; destruct (eval N); [ | reflexivity | ]; lia. Qed.
- Local Lemma N_lt_R : eval N < R.
- Proof. rewrite R_correct; apply N_bound. Qed.
- Local Lemma B_bound : 0 <= eval B < R.
- Proof. rewrite R_correct; apply B_bound'. Qed.
- Local Lemma eval_drop_high : forall v, small v -> eval (drop_high v) = eval v mod (r * r^Z.of_nat R_numlimbs).
- Proof.
- intros; erewrite eval_drop_high by (eassumption || lia).
- f_equal; unfold uweight.
- rewrite Znat.Nat2Z.inj_succ, Z.pow_succ_r by lia; reflexivity.
- Qed.
-
- Local Notation redc_body_no_cps := (@redc_body_no_cps r R_numlimbs N).
- Local Notation redc_body_cps := (@redc_body_cps r R_numlimbs N).
- Local Notation redc_body := (@redc_body r R_numlimbs N).
- Local Notation redc_loop_no_cps := (@redc_loop_no_cps r R_numlimbs N B k).
- Local Notation redc_loop_cps := (@redc_loop_cps r R_numlimbs N B k).
- Local Notation redc_loop := (@redc_loop r R_numlimbs N B k).
- Local Notation pre_redc_no_cps := (@pre_redc_no_cps r R_numlimbs N A_numlimbs A B k).
- Local Notation pre_redc_cps := (@pre_redc_cps r R_numlimbs N A_numlimbs A B k).
- Local Notation pre_redc := (@pre_redc r R_numlimbs N A_numlimbs A B k).
- Local Notation redc_no_cps := (@redc_no_cps r R_numlimbs N A_numlimbs A B k).
- Local Notation redc_cps := (@redc_cps r R_numlimbs N A_numlimbs A B k).
- Local Notation redc := (@redc r R_numlimbs N A_numlimbs A B k).
-
- Definition redc_no_cps_bound : 0 <= eval redc_no_cps < R
- := @redc_bound T (@eval) (@zero) (@divmod) r r_big R R_numlimbs R_correct (@small) eval_zero small_zero eval_div eval_mod small_div (@scmul) eval_scmul small_scmul (@addT) eval_addT small_addT (@addT') eval_addT' small_addT' drop_high eval_drop_high small_drop_high N Npos Npos_correct small_N N_lt_R conditional_sub eval_conditional_sub B B_bound small_B ri k A_numlimbs A small_A A_bound.
- Definition redc_no_cps_bound_N : eval B < eval N -> 0 <= eval redc_no_cps < eval N
- := @redc_bound_N T (@eval) (@zero) (@divmod) r r_big R R_numlimbs R_correct (@small) eval_zero small_zero eval_div eval_mod small_div (@scmul) eval_scmul small_scmul (@addT) eval_addT small_addT (@addT') eval_addT' small_addT' drop_high eval_drop_high small_drop_high N Npos Npos_correct small_N N_lt_R conditional_sub eval_conditional_sub B B_bound small_B ri k A_numlimbs A small_A.
- Definition redc_no_cps_mod_N
- : (eval redc_no_cps) mod (eval N) = (eval A * eval B * ri^(Z.of_nat A_numlimbs)) mod (eval N)
- := @redc_mod_N T (@eval) (@zero) (@divmod) r r_big R R_numlimbs R_correct (@small) eval_zero small_zero eval_div eval_mod small_div (@scmul) eval_scmul small_scmul (@addT) eval_addT small_addT (@addT') eval_addT' small_addT' drop_high eval_drop_high small_drop_high N Npos Npos_correct small_N N_lt_R conditional_sub eval_conditional_sub B B_bound small_B ri ri_correct k k_correct A_numlimbs A small_A A_bound.
- Definition small_redc_no_cps
- : small redc_no_cps
- := @small_redc T (@eval) (@zero) (@divmod) r r_big R R_numlimbs R_correct (@small) eval_zero small_zero eval_div eval_mod small_div (@scmul) eval_scmul small_scmul (@addT) eval_addT small_addT (@addT') eval_addT' small_addT' drop_high eval_drop_high small_drop_high N Npos Npos_correct small_N N_lt_R conditional_sub small_conditional_sub B B_bound small_B ri k A_numlimbs A small_A A_bound.
-
- Lemma redc_body_cps_id pred_A_numlimbs (A' : T (S pred_A_numlimbs)) (S' : T (S R_numlimbs)) {cpsT} f
- : @redc_body_cps pred_A_numlimbs A' B k S' cpsT f = f (redc_body A' B k S').
- Proof.
- unfold redc_body, redc_body_cps, LetIn.Let_In.
- repeat first [ reflexivity
- | break_innermost_match_step
- | progress autorewrite with uncps ].
- Qed.
-
- Lemma redc_loop_cps_id (count : nat) (A_S : T count * T (S R_numlimbs)) {cpsT} f
- : @redc_loop_cps cpsT count f A_S = f (redc_loop count A_S).
- Proof.
- unfold redc_loop.
- revert A_S f.
- induction count as [|count IHcount].
- { reflexivity. }
- { intros [A' S']; simpl; intros.
- etransitivity; rewrite @redc_body_cps_id; [ rewrite IHcount | ]; reflexivity. }
- Qed.
- Lemma pre_redc_cps_id {cpsT} f : @pre_redc_cps cpsT f = f pre_redc.
- Proof.
- unfold pre_redc, pre_redc_cps.
- etransitivity; rewrite redc_loop_cps_id; [ | reflexivity ]; break_innermost_match;
- reflexivity.
- Qed.
- Lemma redc_cps_id {cpsT} f : @redc_cps cpsT f = f redc.
- Proof.
- unfold redc, redc_cps.
- etransitivity; rewrite pre_redc_cps_id; [ | reflexivity ];
- autorewrite with uncps;
- reflexivity.
- Qed.
-
- Lemma redc_body_id_no_cps pred_A_numlimbs A' S'
- : @redc_body pred_A_numlimbs A' B k S' = redc_body_no_cps B k (A', S').
- Proof.
- unfold redc_body, redc_body_cps, redc_body_no_cps, Abstract.Dependent.Definition.redc_body, LetIn.Let_In, id.
- repeat autounfold with word_by_word_montgomery.
- repeat first [ reflexivity
- | progress cbn [fst snd id]
- | progress autorewrite with uncps
- | break_innermost_match_step
- | f_equal; [] ].
- Qed.
- Lemma redc_loop_cps_id_no_cps count A_S
- : redc_loop count A_S = redc_loop_no_cps count A_S.
- Proof.
- unfold redc_loop_no_cps, id.
- revert A_S.
- induction count as [|count IHcount]; simpl; [ reflexivity | ].
- intros [A' S']; unfold redc_loop; simpl.
- rewrite redc_body_cps_id, redc_loop_cps_id, IHcount, redc_body_id_no_cps.
- reflexivity.
- Qed.
- Lemma pre_redc_cps_id_no_cps : pre_redc = pre_redc_no_cps.
- Proof.
- unfold pre_redc, pre_redc_cps, pre_redc_no_cps, Abstract.Dependent.Definition.pre_redc.
- rewrite redc_loop_cps_id, (surjective_pairing (redc_loop _ _)).
- rewrite redc_loop_cps_id_no_cps; reflexivity.
- Qed.
- Lemma redc_cps_id_no_cps : redc = redc_no_cps.
- Proof.
- unfold redc, redc_no_cps, redc_cps, Abstract.Dependent.Definition.redc.
- rewrite pre_redc_cps_id, pre_redc_cps_id_no_cps.
- autorewrite with uncps; reflexivity.
- Qed.
-
- Lemma redc_bound : 0 <= eval redc < R.
- Proof. rewrite redc_cps_id_no_cps; apply redc_no_cps_bound. Qed.
- Lemma redc_bound_N : eval B < eval N -> 0 <= eval redc < eval N.
- Proof. rewrite redc_cps_id_no_cps; apply redc_no_cps_bound_N. Qed.
- Lemma redc_mod_N
- : (eval redc) mod (eval N) = (eval A * eval B * ri^(Z.of_nat A_numlimbs)) mod (eval N).
- Proof. rewrite redc_cps_id_no_cps; apply redc_no_cps_mod_N. Qed.
- Lemma small_redc
- : small redc.
- Proof. rewrite redc_cps_id_no_cps; apply small_redc_no_cps. Qed.
-
- Section add_sub.
- Context (Av Bv : T R_numlimbs)
- (small_Av : small Av)
- (small_Bv : small Bv)
- (Av_bound : 0 <= eval Av < eval N)
- (Bv_bound : 0 <= eval Bv < eval N).
- Local Notation add_no_cps := (@add_no_cps r R_numlimbs N Av Bv).
- Local Notation add_cps := (@add_cps r R_numlimbs N Av Bv).
- Local Notation add := (@add r R_numlimbs N Av Bv).
- Local Notation sub_no_cps := (@sub_no_cps r R_numlimbs N Av Bv).
- Local Notation sub_cps := (@sub_cps r R_numlimbs N Av Bv).
- Local Notation sub := (@sub r R_numlimbs N Av Bv).
- Local Notation opp_no_cps := (@opp_no_cps r R_numlimbs N Av).
- Local Notation opp_cps := (@opp_cps r R_numlimbs N Av).
- Local Notation opp := (@opp r R_numlimbs N Av).
- Local Notation sub_then_maybe_add_cps :=
- (fun p q => @sub_then_maybe_add_cps (Z.pos r) R_numlimbs (Z.pos r - 1) p q N).
- Local Notation sub_then_maybe_add :=
- (fun p q => @sub_then_maybe_add (Z.pos r) R_numlimbs (Z.pos r - 1) p q N).
- Local Notation eval_sub_then_maybe_add :=
- (fun p q smp smq => @eval_sub_then_maybe_add (Z.pos r) (Zorder.Zgt_pos_0 _) _ (Z.pos r - 1) p q N smp smq small_N N_mask).
- Local Notation small_sub_then_maybe_add :=
- (fun p q => @small_sub_then_maybe_add (Z.pos r) (Zorder.Zgt_pos_0 _) _ (Z.pos r - 1) p q N).
-
- Definition add_no_cps_bound : 0 <= eval add_no_cps < eval N
- := @add_bound T (@eval) r R R_numlimbs (@small) (@addT) (@eval_addT) (@small_addT) N N_lt_R (@conditional_sub) (@eval_conditional_sub) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition sub_no_cps_bound : 0 <= eval sub_no_cps < eval N
- := @sub_bound T (@eval) r R R_numlimbs (@small) N (@sub_then_maybe_add) (@eval_sub_then_maybe_add) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition opp_no_cps_bound : 0 <= eval opp_no_cps < eval N
- := @opp_bound T (@eval) (@zero) r R R_numlimbs (@small) (@eval_zero) (@small_zero) N (@sub_then_maybe_add) (@eval_sub_then_maybe_add) Av small_Av Av_bound.
-
- Definition small_add_no_cps : small add_no_cps
- := @small_add T (@eval) r R R_numlimbs (@small) (@addT) (@eval_addT) (@small_addT) N N_lt_R (@conditional_sub) (@small_conditional_sub) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition small_sub_no_cps : small sub_no_cps
- := @small_sub T R_numlimbs (@small) (@sub_then_maybe_add) (@small_sub_then_maybe_add) Av Bv.
- Definition small_opp_no_cps : small opp_no_cps
- := @small_opp T (@zero) R_numlimbs (@small) (@sub_then_maybe_add) (@small_sub_then_maybe_add) Av.
-
- Definition eval_add_no_cps : eval add_no_cps = eval Av + eval Bv + (if eval N <=? eval Av + eval Bv then - eval N else 0)
- := @eval_add T (@eval) r R R_numlimbs (@small) (@addT) (@eval_addT) (@small_addT) N N_lt_R (@conditional_sub) (@eval_conditional_sub) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition eval_sub_no_cps : eval sub_no_cps = eval Av - eval Bv + (if eval Av - eval Bv <? 0 then eval N else 0)
- := @eval_sub T (@eval) R_numlimbs (@small) N (@sub_then_maybe_add) (@eval_sub_then_maybe_add) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition eval_opp_no_cps : eval opp_no_cps = (if eval Av =? 0 then 0 else eval N) - eval Av
- := @eval_opp T (@eval) (@zero) r R R_numlimbs (@small) (@eval_zero) (@small_zero) N (@sub_then_maybe_add ) (@eval_sub_then_maybe_add) Av small_Av Av_bound.
-
- Definition eval_add_no_cps_mod_N : eval add_no_cps mod eval N = (eval Av + eval Bv) mod eval N
- := @eval_add_mod_N T (@eval) r R R_numlimbs (@small) (@addT) (@eval_addT) (@small_addT) N N_lt_R (@conditional_sub) (@eval_conditional_sub) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition eval_sub_no_cps_mod_N : eval sub_no_cps mod eval N = (eval Av - eval Bv) mod eval N
- := @eval_sub_mod_N T (@eval) R_numlimbs (@small) N (@sub_then_maybe_add) (@eval_sub_then_maybe_add) Av Bv small_Av small_Bv Av_bound Bv_bound.
- Definition eval_opp_no_cps_mod_N : eval opp_no_cps mod eval N = (-eval Av) mod eval N
- := @eval_opp_mod_N T (@eval) (@zero) r R R_numlimbs (@small) (@eval_zero) (@small_zero) N (@sub_then_maybe_add) (@eval_sub_then_maybe_add) Av small_Av Av_bound.
-
- Lemma add_cps_id_no_cps : add = add_no_cps.
- Proof.
- unfold add_no_cps, add, add_cps, Abstract.Dependent.Definition.add; autorewrite with uncps; reflexivity.
- Qed.
- Lemma sub_cps_id_no_cps : sub = sub_no_cps.
- Proof.
- unfold sub_no_cps, sub, sub_cps, Abstract.Dependent.Definition.sub; autorewrite with uncps; reflexivity.
- Qed.
- Lemma opp_cps_id_no_cps : opp = opp_no_cps.
- Proof.
- unfold opp, opp_cps, opp_no_cps, Abstract.Dependent.Definition.opp, sub_no_cps, sub, sub_cps, Abstract.Dependent.Definition.sub; autorewrite with uncps; reflexivity.
- Qed.
-
- Lemma add_cps_id {cpsT} f : @add_cps cpsT f = f add.
- Proof. unfold add, add_cps; autorewrite with uncps; reflexivity. Qed.
- Lemma sub_cps_id {cpsT} f : @sub_cps cpsT f = f sub.
- Proof. unfold sub, sub_cps; autorewrite with uncps. reflexivity. Qed.
- Lemma opp_cps_id {cpsT} f : @opp_cps cpsT f = f opp.
- Proof. unfold opp, opp_cps, sub, sub_cps; autorewrite with uncps. reflexivity. Qed.
-
- Local Ltac do_rewrite :=
- first [ rewrite add_cps_id_no_cps
- | rewrite sub_cps_id_no_cps
- | rewrite opp_cps_id_no_cps ].
- Local Ltac do_apply :=
- first [ apply add_no_cps_bound
- | apply sub_no_cps_bound
- | apply opp_no_cps_bound
- | apply small_add_no_cps
- | apply small_sub_no_cps
- | apply small_opp_no_cps
- | apply eval_add_no_cps
- | apply eval_sub_no_cps
- | apply eval_opp_no_cps
- | apply eval_add_no_cps_mod_N
- | apply eval_sub_no_cps_mod_N
- | apply eval_opp_no_cps_mod_N ].
- Local Ltac t := do_rewrite; do_apply.
-
- Lemma add_bound : 0 <= eval add < eval N. Proof. t. Qed.
- Lemma sub_bound : 0 <= eval sub < eval N. Proof. t. Qed.
- Lemma opp_bound : 0 <= eval opp < eval N. Proof. t. Qed.
-
- Lemma small_add : small add. Proof. t. Qed.
- Lemma small_sub : small sub. Proof. t. Qed.
- Lemma small_opp : small opp. Proof. t. Qed.
-
- Lemma eval_add : eval add = eval Av + eval Bv + (if eval N <=? eval Av + eval Bv then - eval N else 0).
- Proof. t. Qed.
- Lemma eval_sub : eval sub = eval Av - eval Bv + (if eval Av - eval Bv <? 0 then eval N else 0).
- Proof. t. Qed.
- Lemma eval_opp : eval opp = (if eval Av =? 0 then 0 else eval N) - eval Av.
- Proof. t. Qed.
-
- Lemma eval_add_mod_N : eval add mod eval N = (eval Av + eval Bv) mod eval N.
- Proof. t. Qed.
- Lemma eval_sub_mod_N : eval sub mod eval N = (eval Av - eval Bv) mod eval N.
- Proof. t. Qed.
- Lemma eval_opp_mod_N : eval opp mod eval N = (-eval Av) mod eval N.
- Proof. t. Qed.
- End add_sub.
-
- Section nonzero.
- Lemma nonzero_cps_id Av {cpsT} f : @nonzero_cps R_numlimbs Av cpsT f = f (@nonzero R_numlimbs Av).
- Proof. unfold nonzero, nonzero_cps; autorewrite with uncps; reflexivity. Qed.
-
- Lemma eval_nonzero Av : small Av -> @nonzero R_numlimbs Av = 0 <-> eval Av = 0.
- Proof. apply eval_nonzero; lia. Qed.
- End nonzero.
-End WordByWordMontgomery.
-
-Hint Rewrite redc_body_cps_id redc_loop_cps_id pre_redc_cps_id redc_cps_id add_cps_id sub_cps_id opp_cps_id : uncps.
diff --git a/src/Arithmetic/Saturated/AddSub.v b/src/Arithmetic/Saturated/AddSub.v
deleted file mode 100644
index d3ab6897f..000000000
--- a/src/Arithmetic/Saturated/AddSub.v
+++ /dev/null
@@ -1,285 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.Saturated.Core.
-Require Import Crypto.Arithmetic.Saturated.UniformWeight.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.CPS.
-Require Import Crypto.Util.ZUtil.AddGetCarry.
-Require Import Crypto.Util.Tuple Crypto.Util.LetIn.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Local Notation "A ^ n" := (tuple A n) : type_scope.
-
-Module B.
- Module Positional.
- Section Positional.
- Context {s:Z} {s_pos : 0 < s}. (* s is bitwidth *)
- Let small {n} := @small s n.
- Section GenericOp.
- Context {op : Z -> Z -> Z}
- {op_get_carry_cps : forall {T}, Z -> Z -> (Z * Z -> T) -> T} (* no carry in, carry out *)
- {op_with_carry_cps : forall {T}, Z -> Z -> Z -> (Z * Z -> T) -> T}. (* carry in, carry out *)
- Let op_get_carry x y := op_get_carry_cps _ x y id.
- Let op_with_carry x y z := op_with_carry_cps _ x y z id.
- Context {op_get_carry_id : forall {T} x y f,
- @op_get_carry_cps T x y f = f (op_get_carry x y)}
- {op_with_carry_id : forall {T} x y z f,
- @op_with_carry_cps T x y z f = f (op_with_carry x y z)}.
- Hint Rewrite @op_get_carry_id @op_with_carry_id : uncps.
-
- Section chain_op'_cps.
- Context (T : Type).
-
- Fixpoint chain_op'_cps {n} (c:option Z) (p q:Z^n)
- : (Z*Z^n->T)->T :=
- match n return option Z -> Z^n -> Z^n -> (Z*Z^n -> T) -> T with
- | O => fun c p _ f =>
- let carry := match c with | None => 0 | Some x => x end in
- f (carry,p)
- | S n' =>
- fun c p q f =>
- (* for the first call, use op_get_carry, then op_with_carry *)
- let op'_cps := match c with
- | None => op_get_carry_cps _
- | Some x => op_with_carry_cps _ x end in
- op'_cps (hd p) (hd q) (fun carry_result =>
- dlet carry_result := carry_result in
- chain_op'_cps (Some (snd carry_result)) (tl p) (tl q)
- (fun carry_pq =>
- f (fst carry_pq,
- append (fst carry_result) (snd carry_pq))))
- end c p q.
- End chain_op'_cps.
- Definition chain_op' {n} c p q := @chain_op'_cps _ n c p q id.
- Definition chain_op_cps {n} p q {T} f := @chain_op'_cps T n None p q f.
- Definition chain_op {n} p q : Z * Z^n := chain_op_cps p q id.
-
- Lemma chain_op'_id {n} : forall c p q T f,
- @chain_op'_cps T n c p q f = f (chain_op' c p q).
- Proof.
- cbv [chain_op']; induction n; intros; destruct c;
- simpl chain_op'_cps; cbv [Let_In]; try reflexivity;
- autorewrite with uncps.
- { etransitivity; rewrite IHn; reflexivity. }
- { etransitivity; rewrite IHn; reflexivity. }
- Qed.
-
- Lemma chain_op_id {n} p q T f :
- @chain_op_cps n p q T f = f (chain_op p q).
- Proof. apply (@chain_op'_id n None). Qed.
- End GenericOp.
- Hint Opaque chain_op chain_op' : uncps.
- Hint Rewrite @chain_op_id @chain_op'_id using (assumption || (intros; autorewrite with uncps; reflexivity)) : uncps.
-
- Section AddSub.
- Create HintDb divmod discriminated.
- Hint Rewrite
- Z.add_get_carry_full_mod
- Z.add_get_carry_full_div
- Z.add_with_get_carry_full_mod
- Z.add_with_get_carry_full_div
- Z.sub_get_borrow_full_mod
- Z.sub_get_borrow_full_div
- Z.sub_with_get_borrow_full_mod
- Z.sub_with_get_borrow_full_div
- : divmod.
- Let eval {n} := B.Positional.eval (n:=n) (uweight s).
-
- Definition sat_add_cps {n} p q T (f:Z*Z^n->T) :=
- chain_op_cps (op_get_carry_cps := fun T => Z.add_get_carry_full_cps s)
- (op_with_carry_cps := fun T => Z.add_with_get_carry_full_cps s)
- p q f.
- Definition sat_add {n} p q := @sat_add_cps n p q _ id.
-
- Lemma sat_add_id n p q T f :
- @sat_add_cps n p q T f = f (sat_add p q).
- Proof. cbv [sat_add sat_add_cps]. autorewrite with uncps. reflexivity. Qed.
-
- Lemma sat_add_mod_step n c d :
- c mod s + s * ((d + c / s) mod (uweight s n))
- = (s * d + c) mod (s * uweight s n).
- Proof.
- assert (0 < uweight s n) as wt_pos
- by auto using Z.lt_gt, Z.gt_lt, uweight_positive.
- rewrite <-(Columns.compact_mod_step s (uweight s n) c d s_pos wt_pos).
- repeat (ring_simplify; f_equal; ring_simplify; try omega).
- Qed.
-
- Lemma sat_add_div_step n c d :
- (d + c / s) / uweight s n = (s * d + c) / (s * uweight s n).
- Proof.
- assert (0 < uweight s n) as wt_pos
- by auto using Z.lt_gt, Z.gt_lt, uweight_positive.
- rewrite <-(Columns.compact_div_step s (uweight s n) c d s_pos wt_pos).
- repeat (ring_simplify; f_equal; ring_simplify; try omega).
- Qed.
-
- Lemma sat_add_divmod n p q :
- eval (snd (@sat_add n p q)) = (eval p + eval q) mod (uweight s n)
- /\ fst (@sat_add n p q) = (eval p + eval q) / (uweight s n).
- Proof.
- cbv [sat_add sat_add_cps chain_op_cps].
- remember None as c.
- replace (eval p + eval q) with
- (eval p + eval q + match c with | None => 0 | Some x => x end)
- by (subst; ring).
- destruct Heqc. revert c.
- induction n; [|destruct c]; intros; simpl chain_op'_cps;
- repeat match goal with
- | _ => progress cbv [eval Let_In] in *
- | _ => progress autorewrite with uncps divmod push_id cancel_pair push_basesystem_eval
- | _ => rewrite uweight_0, ?Z.mod_1_r, ?Z.div_1_r
- | _ => rewrite uweight_succ
- | _ => rewrite Z.sub_opp_r
- | _ => rewrite sat_add_mod_step
- | _ => rewrite sat_add_div_step
- | p : Z ^ 0 |- _ => destruct p
- | _ => rewrite uweight_eval_step, ?hd_append, ?tl_append
- | |- context[B.Positional.eval _ (snd (chain_op' ?c ?p ?q))]
- => specialize (IHn p q c); autorewrite with push_id uncps in IHn;
- rewrite (proj1 IHn); rewrite (proj2 IHn)
- | _ => split; ring
- | _ => solve [split; repeat (f_equal; ring_simplify; try omega)]
- end.
- Qed.
-
- Lemma sat_add_mod n p q :
- eval (snd (@sat_add n p q)) = (eval p + eval q) mod (uweight s n).
- Proof. exact (proj1 (sat_add_divmod n p q)). Qed.
-
- Lemma sat_add_div n p q :
- fst (@sat_add n p q) = (eval p + eval q) / (uweight s n).
- Proof. exact (proj2 (sat_add_divmod n p q)). Qed.
-
- Lemma small_sat_add n p q : small (snd (@sat_add n p q)).
- Proof.
- cbv [small UniformWeight.small sat_add sat_add_cps chain_op_cps].
- remember None as c. destruct Heqc. revert c.
- induction n; intros;
- repeat match goal with
- | p: Z^0 |- _ => destruct p
- | _ => progress (cbv [Let_In] in * )
- | _ => progress (simpl chain_op'_cps in * )
- | _ => progress autorewrite with uncps push_id cancel_pair in H
- | H : _ |- _ => rewrite to_list_append in H;
- simpl In in H
- | H : _ \/ _ |- _ => destruct H
- | _ => contradiction
- | _ => break_innermost_match_hyps_step
- | _ => progress subst
- | [ H : In _ (to_list _ (snd _)) |- _ ]
- => apply IHn in H; assumption
- end;
- try solve [ rewrite ?Z.add_with_get_carry_full_mod,
- ?Z.add_get_carry_full_mod;
- apply Z.mod_pos_bound; omega ].
- Qed.
-
- Definition sat_sub_cps {n} p q T (f:Z*Z^n->T) :=
- chain_op_cps (op_get_carry_cps := fun T => Z.sub_get_borrow_full_cps s)
- (op_with_carry_cps := fun T => Z.sub_with_get_borrow_full_cps s)
- p q f.
- Definition sat_sub {n} p q := @sat_sub_cps n p q _ id.
-
- Lemma sat_sub_id n p q T f :
- @sat_sub_cps n p q T f = f (sat_sub p q).
- Proof. cbv [sat_sub sat_sub_cps]. autorewrite with uncps. reflexivity. Qed.
- Lemma sat_sub_divmod n p q :
- eval (snd (@sat_sub n p q)) = (eval p - eval q) mod (uweight s n)
- /\ fst (@sat_sub n p q) = - ((eval p - eval q) / (uweight s n)).
- Proof.
- cbv [sat_sub sat_sub_cps chain_op_cps].
- remember None as c.
- replace (eval p - eval q) with
- (eval p - eval q - match c with | None => 0 | Some x => x end)
- by (subst; ring).
- destruct Heqc. revert c.
- induction n; [|destruct c]; intros; simpl chain_op'_cps;
- repeat match goal with
- | _ => progress cbv [eval Let_In] in *
- | _ => progress autorewrite with uncps divmod push_id cancel_pair push_basesystem_eval
- | _ => rewrite uweight_0, ?Z.mod_1_r, ?Z.div_1_r
- | _ => rewrite uweight_succ
- | _ => rewrite Z.sub_opp_r
- | _ => rewrite sat_add_mod_step
- | _ => rewrite sat_add_div_step
- | p : Z ^ 0 |- _ => destruct p
- | _ => rewrite uweight_eval_step, ?hd_append, ?tl_append
- | |- context[B.Positional.eval _ (snd (chain_op' ?c ?p ?q))]
- => specialize (IHn p q c); autorewrite with push_id uncps in IHn;
- rewrite (proj1 IHn); rewrite (proj2 IHn)
- | _ => split; ring
- | _ => solve [split; repeat (f_equal; ring_simplify; try omega)]
- end.
- Qed.
-
- Lemma sat_sub_mod n p q :
- eval (snd (@sat_sub n p q)) = (eval p - eval q) mod (uweight s n).
- Proof. exact (proj1 (sat_sub_divmod n p q)). Qed.
-
- Lemma sat_sub_div n p q :
- fst (@sat_sub n p q) = - ((eval p - eval q) / uweight s n).
- Proof. exact (proj2 (sat_sub_divmod n p q)). Qed.
-
- Lemma small_sat_sub n p q : small (snd (@sat_sub n p q)).
- Proof.
- cbv [small UniformWeight.small sat_sub sat_sub_cps chain_op_cps].
- remember None as c. destruct Heqc. revert c.
- induction n; intros;
- repeat match goal with
- | p: Z^0 |- _ => destruct p
- | _ => progress (cbv [Let_In] in * )
- | _ => progress (simpl chain_op'_cps in * )
- | _ => progress autorewrite with uncps push_id cancel_pair in H
- | H : _ |- _ => rewrite to_list_append in H;
- simpl In in H
- | H : _ \/ _ |- _ => destruct H
- | _ => contradiction
- | _ => break_innermost_match_hyps_step
- | _ => progress subst
- | [ H : In _ (to_list _ (snd _)) |- _ ]
- => apply IHn in H; assumption
- end;
- try solve [ rewrite ?Z.sub_with_get_borrow_full_mod,
- ?Z.sub_get_borrow_full_mod;
- apply Z.mod_pos_bound; omega ].
- Qed.
- End AddSub.
- End Positional.
- End Positional.
-End B.
-Hint Opaque B.Positional.sat_sub B.Positional.sat_add B.Positional.chain_op B.Positional.chain_op' : uncps.
-Hint Rewrite @B.Positional.sat_sub_id @B.Positional.sat_add_id : uncps.
-Hint Rewrite @B.Positional.chain_op_id @B.Positional.chain_op' using (assumption || (intros; autorewrite with uncps; reflexivity)) : uncps.
-Hint Rewrite @B.Positional.sat_sub_mod @B.Positional.sat_sub_div @B.Positional.sat_add_mod @B.Positional.sat_add_div using (omega || assumption) : push_basesystem_eval.
-
-Hint Unfold
- B.Positional.chain_op'_cps
- B.Positional.chain_op'
- B.Positional.chain_op_cps
- B.Positional.chain_op
- B.Positional.sat_add_cps
- B.Positional.sat_add
- B.Positional.sat_sub_cps
- B.Positional.sat_sub
- : basesystem_partial_evaluation_unfolder.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t := (eval cbv delta [
- B.Positional.chain_op'_cps
- B.Positional.chain_op'
- B.Positional.chain_op_cps
- B.Positional.chain_op
- B.Positional.sat_add_cps
- B.Positional.sat_add
- B.Positional.sat_sub_cps
- B.Positional.sat_sub
- ] in t) in
- let t := Arithmetic.Saturated.Core.basesystem_partial_evaluation_unfolder t in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/Saturated/Core.v b/src/Arithmetic/Saturated/Core.v
deleted file mode 100644
index a597b7bf2..000000000
--- a/src/Arithmetic/Saturated/Core.v
+++ /dev/null
@@ -1,485 +0,0 @@
-Require Import Coq.micromega.Lia.
-Require Import Coq.Init.Nat.
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Algebra.Nsatz.
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Util.LetIn Crypto.Util.CPSUtil.
-Require Import Crypto.Util.Tuple Crypto.Util.ListUtil.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.ZUtil.Modulo.PullPush.
-Require Import Crypto.Util.ZUtil.Le.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Local Notation "A ^ n" := (tuple A n) : type_scope.
-
-(***
-
-Arithmetic on bignums that handles carry bits; this is useful for
-saturated limbs. Compatible with mixed-radix bases.
-
-Uses "columns" representation: a bignum has type [tuple (list Z) n].
-Associated with a weight function w, the bignum B represents:
-
- \sum_{i=0}^{n}{w[i] * sum{B[i]}}
-
-Example: ([a21, a20],[],[a0]) with weight function (fun i => 10^i)
-represents
-
- a0 + 10*0 + 100 * (a20 + a21)
-
-If you picture this representation with the weights on the bottom and
-the terms in each list stacked above the corresponding weight,
-
- a20
- a0 a21
- ---------------
- 1 10 100
-
-it's easy to see how the lists can be called "columns".
-
-This is a particularly useful representation for adding partial
-products after multiplication, particularly when we want to do this
-using a carrying add. We want to add together the terms from each
-column, accumulating the carries together along the way. Then we want
-to add the carry accumulator to the next column, and repeat, producing
-a [tuple Z n] as output. This operation is called "compact".
-
-As an example, let's compact the product of 571 and 645 in base 10.
-At first, the partial products look like this:
-
-
- 1*6
- 1*4 7*4 7*6
- 1*5 7*5 5*5 5*4 5*6
- ------------------------------------
- 1 10 100 1000 10000
-
- 6
- 4 28 42
- 5 35 25 20 30
- ------------------------------------
- 1 10 100 1000 10000
-
-Now, we process the first column:
-
- {carry_acc = 0; output =()}
- STEP [5]
- {carry_acc = 0; output=(5,)}
-
-Since we have only one term, there's no addition to do, and no carry
-bit. We add a 0 to the next column and continue.
-
- STEP [0,4,35] (0 + 4 = 4)
- {carry_acc = 0; output=(5,)}
- STEP [4,35] (4 + 35 = 39)
- {carry_acc = 3; output=(9,5)}
-
-This time, we have a carry. We add it to the third column and process
-that:
-
- STEP [3,6,28,25] (3 + 6 = 9)
- {carry_acc = 0; output=(9,5)}
- STEP [9,28,25] (9 + 28 = 37)
- {carry_acc = 3; output=(9,5)}
- STEP [7,25] (7 + 25 = 32)
- {carry_acc = 6; output=(2,9,5)}
-
-You're probably getting the idea, but here are the fourth and fifth
-columns:
-
- STEP [6,42,20] (6 + 42 = 48)
- {carry_acc = 4; output=(2,9,5)}
- STEP [8,20] (8 + 20 = 28)
- {carry_acc = 6; output=(8,2,9,5)}
-
- STEP [6,30] (6 + 30 = 36)
- {carry_acc = 3; output=(6,8,2,9,5)}
-
-The final result is the output plus the final carry, so we produce
-(6,8,2,9,5) and 3, representing the number 368295. A quick calculator
-check confirms our result.
-
- ***)
-
-Module Columns.
- Section Columns.
- Context (weight : nat->Z)
- {weight_0 : weight 0%nat = 1}
- {weight_nonzero : forall i, weight i <> 0}
- {weight_positive : forall i, weight i > 0}
- {weight_multiples : forall i, weight (S i) mod weight i = 0}
- {weight_divides : forall i : nat, weight (S i) / weight i > 0}
- (* add_get_carry takes in a number at which to split output *)
- {add_get_carry_cps: forall {T}, Z ->Z -> Z -> (Z * Z -> T) -> T}
- {div_cps modulo_cps : forall {T}, Z -> Z -> (Z -> T) -> T}.
- Let add_get_carry s x y := add_get_carry_cps _ s x y id.
- Let div x y := div_cps _ x y id.
- Let modulo x y := modulo_cps _ x y id.
- Context {add_get_carry_cps_id : forall {T} s x y f,
- @add_get_carry_cps T s x y f = f (add_get_carry s x y)}
- {add_get_carry_mod : forall s x y,
- fst (add_get_carry s x y) = (x + y) mod s}
- {add_get_carry_div : forall s x y,
- snd (add_get_carry s x y) = (x + y) / s}
- {div_cps_id : forall {T} x y f,
- @div_cps T x y f = f (div x y)}
- {modulo_cps_id : forall {T} x y f,
- @modulo_cps T x y f = f (modulo x y)}
- {div_correct : forall a b, div a b = a / b}
- {modulo_correct : forall a b, modulo a b = a mod b}
- .
- Hint Rewrite div_correct modulo_correct add_get_carry_mod add_get_carry_div : div_mod.
- Hint Rewrite add_get_carry_cps_id div_cps_id modulo_cps_id : uncps.
-
- Definition eval {n} (x : (list Z)^n) : Z :=
- B.Positional.eval weight (Tuple.map sum x).
-
- Lemma eval_unit (x:unit) : eval (n:=0) x = 0.
- Proof. reflexivity. Qed.
- Hint Rewrite eval_unit : push_basesystem_eval.
-
- Lemma eval_single (x:list Z) : eval (n:=1) x = sum x.
- Proof.
- cbv [eval]. simpl map. cbv - [Z.mul Z.add sum].
- rewrite weight_0; ring.
- Qed. Hint Rewrite eval_single : push_basesystem_eval.
-
- Definition eval_from {n} (offset:nat) (x : (list Z)^n) : Z :=
- B.Positional.eval (fun i => weight (i+offset)) (Tuple.map sum x).
-
- Lemma eval_from_0 {n} x : @eval_from n 0 x = eval x.
- Proof using Type. cbv [eval_from eval]. auto using B.Positional.eval_wt_equiv. Qed.
-
- Lemma eval_from_S {n}: forall i (inp : (list Z)^(S n)),
- eval_from i inp = eval_from (S i) (tl inp) + weight i * sum (hd inp).
- Proof using Type.
- intros i inp; cbv [eval_from].
- replace inp with (append (hd inp) (tl inp))
- by (simpl in *; destruct n; destruct inp; reflexivity).
- rewrite map_append, B.Positional.eval_step, hd_append, tl_append.
- autorewrite with natsimplify; ring_simplify; rewrite Group.cancel_left.
- apply B.Positional.eval_wt_equiv; intros; f_equal; omega.
- Qed.
-
- (* Sums a list of integers using carry bits.
- Output : carry, sum
- *)
- Section compact_digit_cps.
- Context (n : nat) {T : Type}.
-
- Fixpoint compact_digit_cps (digit : list Z) (f:Z * Z->T) :=
- match digit with
- | nil => f (0, 0)
- | x :: nil => div_cps _ x (weight (S n) / weight n) (fun d =>
- modulo_cps _ x (weight (S n) / weight n) (fun m =>
- f (d, m)))
- | x :: y :: nil =>
- add_get_carry_cps _ (weight (S n) / weight n) x y (fun sum_carry =>
- dlet sum_carry := sum_carry in
- dlet carry := snd sum_carry in
- f (carry, fst sum_carry))
- | x :: tl =>
- compact_digit_cps tl
- (fun rec =>
- add_get_carry_cps _ (weight (S n) / weight n) x (snd rec) (fun sum_carry =>
- dlet sum_carry := sum_carry in
- dlet carry' := (fst rec + snd sum_carry)%RT in
- f (carry', fst sum_carry)))
- end.
- End compact_digit_cps.
-
- Definition compact_digit n digit := compact_digit_cps n digit id.
- Lemma compact_digit_id n digit: forall {T} f,
- @compact_digit_cps n T digit f = f (compact_digit n digit).
- Proof using add_get_carry_cps_id div_cps_id modulo_cps_id.
- induction digit; intros; cbv [compact_digit]; [reflexivity|].
- simpl compact_digit_cps; break_match; rewrite ?IHdigit; clear IHdigit;
- cbv [Let_In]; autorewrite with uncps; reflexivity.
- Qed.
- Hint Opaque compact_digit : uncps.
- Hint Rewrite compact_digit_id : uncps.
-
- Definition compact_step_cps (index:nat) (carry:Z) (digit: list Z)
- {T} (f:Z * Z->T) :=
- compact_digit_cps index (carry::digit) f.
-
- Definition compact_step i c d := compact_step_cps i c d id.
- Lemma compact_step_id i c d T f :
- @compact_step_cps i c d T f = f (compact_step i c d).
- Proof using add_get_carry_cps_id div_cps_id modulo_cps_id. cbv [compact_step_cps compact_step]; autorewrite with uncps; reflexivity. Qed.
- Hint Opaque compact_step : uncps.
- Hint Rewrite compact_step_id : uncps.
-
- Definition compact_cps {n} (xs : (list Z)^n) {T} (f:Z * Z^n->T) :=
- Tuple.mapi_with_cps compact_step_cps 0 xs f.
-
- Definition compact {n} xs := @compact_cps n xs _ id.
- Lemma compact_id {n} xs {T} f : @compact_cps n xs T f = f (compact xs).
- Proof using add_get_carry_cps_id div_cps_id modulo_cps_id. cbv [compact_cps compact]; autorewrite with uncps; reflexivity. Qed.
-
- Lemma compact_digit_mod i (xs : list Z) :
- snd (compact_digit i xs) = sum xs mod (weight (S i) / weight i).
- Proof using add_get_carry_div add_get_carry_mod div_correct modulo_correct add_get_carry_cps_id div_cps_id modulo_cps_id.
- induction xs; cbv [compact_digit]; simpl compact_digit_cps;
- cbv [Let_In];
- repeat match goal with
- | _ => progress autorewrite with div_mod
- | _ => rewrite IHxs, <-Z.add_mod_r
- | _ => progress (rewrite ?sum_cons, ?sum_nil in * )
- | _ => progress (autorewrite with uncps push_id cancel_pair in * )
- | _ => progress break_match; try discriminate
- | _ => reflexivity
- | _ => f_equal; ring
- end.
- Qed. Hint Rewrite compact_digit_mod : div_mod.
-
- Lemma compact_digit_div i (xs : list Z) :
- fst (compact_digit i xs) = sum xs / (weight (S i) / weight i).
- Proof using add_get_carry_div add_get_carry_mod div_correct modulo_correct weight_0 weight_divides add_get_carry_cps_id div_cps_id modulo_cps_id.
- induction xs; cbv [compact_digit]; simpl compact_digit_cps;
- cbv [Let_In];
- repeat match goal with
- | _ => progress autorewrite with div_mod
- | _ => rewrite IHxs
- | _ => progress (rewrite ?sum_cons, ?sum_nil in * )
- | _ => progress (autorewrite with uncps push_id cancel_pair in * )
- | _ => progress break_match; try discriminate
- | _ => reflexivity
- | _ => f_equal; ring
- end.
- assert (weight (S i) / weight i <> 0) by auto using Z.positive_is_nonzero.
- match goal with |- _ = (?a + ?X) / ?D =>
- transitivity ((a + X mod D + D * (X / D)) / D);
- [| rewrite (Z.div_mod'' X D) at 3; f_equal; auto; ring]
- end.
- rewrite Z.div_add' by auto; nsatz.
- Qed.
-
- Lemma small_mod_eq a b n: a mod n = b mod n -> 0 <= a < n -> a = b mod n.
- Proof. intros; rewrite <-(Z.mod_small a n); auto. Qed.
-
- (* helper for some of the modular logic in compact *)
- Lemma compact_mod_step a b c d: 0 < a -> 0 < b ->
- a * ((c / a + d) mod b) + c mod a = (a * d + c) mod (a * b).
- Proof.
- clear.
- intros Ha Hb. assert (a <= a * b) by (apply Z.le_mul_diag_r; omega).
- pose proof (Z.mod_pos_bound c a Ha).
- pose proof (Z.mod_pos_bound (c/a+d) b Hb).
- apply small_mod_eq.
- { rewrite <-(Z.mod_small (c mod a) (a * b)) by omega.
- rewrite <-Z.mul_mod_distr_l with (c:=a) by omega.
- rewrite Z.mul_add_distr_l, Z.mul_div_eq, <-Z.add_mod_full by omega.
- f_equal; ring. }
- { split; [Z.zero_bounds|].
- apply Z.lt_le_trans with (m:=a*(b-1)+a); [|ring_simplify; omega].
- apply Z.add_le_lt_mono; try apply Z.mul_le_mono_nonneg_l; omega. }
- Qed.
-
- Lemma compact_div_step a b c d : 0 < a -> 0 < b ->
- (c / a + d) / b = (a * d + c) / (a * b).
- Proof.
- clear. intros Ha Hb.
- rewrite <-Z.div_div by omega.
- rewrite Z.div_add_l' by omega.
- f_equal; ring.
- Qed.
-
- Lemma compact_div_mod {n} inp :
- (B.Positional.eval weight (snd (compact inp))
- = (eval inp) mod (weight n))
- /\ (fst (compact inp) = eval (n:=n) inp / weight n).
- Proof.
- cbv [compact compact_cps compact_step compact_step_cps];
- autorewrite with uncps push_id.
- change (fun i s a => compact_digit_cps i (s :: a) id)
- with (fun i s a => compact_digit i (s :: a)).
-
- apply mapi_with'_linvariant; [|tauto].
-
- clear n inp. intros n st x0 xs ys Hst Hys [Hmod Hdiv].
- pose proof (weight_positive n). pose proof (weight_divides n).
- autorewrite with push_basesystem_eval.
- destruct n; cbv [mapi_with] in *; simpl tuple in *;
- [destruct xs, ys; subst; simpl| cbv [eval] in *];
- repeat match goal with
- | _ => rewrite mapi_with'_left_step
- | _ => rewrite compact_digit_div, sum_cons
- | _ => rewrite compact_digit_mod, sum_cons
- | _ => rewrite map_left_append
- | _ => rewrite B.Positional.eval_left_append
- | _ => rewrite weight_0, ?Z.div_1_r, ?Z.mod_1_r
- | _ => rewrite Hdiv
- | _ => rewrite Hmod
- | _ => progress subst
- | _ => progress autorewrite with natsimplify cancel_pair push_basesystem_eval
- | _ => solve [split; ring_simplify; f_equal; ring]
- end.
- remember (weight (S (S n)) / weight (S n)) as bound.
- replace (weight (S (S n))) with (weight (S n) * bound)
- by (subst bound; rewrite Z.mul_div_eq by omega;
- rewrite weight_multiples; ring).
- split; [apply compact_mod_step | apply compact_div_step]; omega.
- Qed.
-
- Lemma compact_mod {n} inp :
- (B.Positional.eval weight (snd (compact inp))
- = (eval (n:=n) inp) mod (weight n)).
- Proof. apply (proj1 (compact_div_mod inp)). Qed.
- Hint Rewrite @compact_mod : push_basesystem_eval.
-
- Lemma compact_div {n} inp :
- fst (compact inp) = eval (n:=n) inp / weight n.
- Proof. apply (proj2 (compact_div_mod inp)). Qed.
- Hint Rewrite @compact_div : push_basesystem_eval.
-
- (* TODO : move to tuple *)
- Lemma hd_to_list {A n} a (t : A^(S n)) : List.hd a (to_list (S n) t) = hd t.
- Proof.
- rewrite (subst_append t), to_list_append, hd_append. reflexivity.
- Qed.
-
- Definition cons_to_nth_cps {n} i (x:Z) (t:(list Z)^n)
- {T} (f:(list Z)^n->T) :=
- @on_tuple_cps _ _ nil (update_nth_cps i (cons x)) n n t _ f.
-
- Definition cons_to_nth {n} i x t := @cons_to_nth_cps n i x t _ id.
- Lemma cons_to_nth_id {n} i x t T f :
- @cons_to_nth_cps n i x t T f = f (cons_to_nth i x t).
- Proof using Type.
- cbv [cons_to_nth_cps cons_to_nth].
- assert (forall xs : list (list Z), length xs = n ->
- length (update_nth_cps i (cons x) xs id) = n) as Hlen.
- { intros. autorewrite with uncps push_id distr_length. assumption. }
- rewrite !on_tuple_cps_correct with (H:=Hlen)
- by (intros; autorewrite with uncps push_id; reflexivity). reflexivity.
- Qed.
- Hint Opaque cons_to_nth : uncps.
- Hint Rewrite @cons_to_nth_id : uncps.
-
- Lemma map_sum_update_nth l : forall i x,
- List.map sum (update_nth i (cons x) l) =
- update_nth i (Z.add x) (List.map sum l).
- Proof using Type.
- induction l as [|a l IHl]; intros i x; destruct i; simpl; rewrite ?IHl; reflexivity.
- Qed.
-
- Lemma cons_to_nth_add_to_nth n i x t :
- map sum (@cons_to_nth n i x t) = B.Positional.add_to_nth i x (map sum t).
- Proof using weight.
- cbv [B.Positional.add_to_nth B.Positional.add_to_nth_cps cons_to_nth cons_to_nth_cps on_tuple_cps].
- induction n; [simpl; rewrite !update_nth_cps_correct; reflexivity|].
- specialize (IHn (tl t)). autorewrite with uncps push_id in *.
- apply to_list_ext. rewrite <-!map_to_list.
- erewrite !from_list_default_eq, !to_list_from_list.
- rewrite map_sum_update_nth. reflexivity.
- Unshelve.
- distr_length.
- distr_length.
- Qed.
-
- Lemma eval_cons_to_nth n i x t : (i < n)%nat ->
- eval (@cons_to_nth n i x t) = weight i * x + eval t.
- Proof using Type.
- cbv [eval]; intros. rewrite cons_to_nth_add_to_nth.
- auto using B.Positional.eval_add_to_nth.
- Qed.
- Hint Rewrite eval_cons_to_nth using omega : push_basesystem_eval.
-
- Definition nils n : (list Z)^n := Tuple.repeat nil n.
-
- Lemma map_sum_nils n : map sum (nils n) = B.Positional.zeros n.
- Proof using Type.
- cbv [nils B.Positional.zeros]; induction n as [|n]; [reflexivity|].
- change (List.repeat nil (S n)) with (@nil Z :: List.repeat nil n).
- rewrite Tuple.map_repeat, sum_nil. reflexivity.
- Qed.
-
- Lemma eval_nils n : eval (nils n) = 0.
- Proof using Type. cbv [eval]. rewrite map_sum_nils, B.Positional.eval_zeros. reflexivity. Qed. Hint Rewrite eval_nils : push_basesystem_eval.
-
- Definition from_associational_cps n (p:list B.limb)
- {T} (f:(list Z)^n -> T) :=
- fold_right_cps2
- (fun t st T' f' =>
- B.Positional.place_cps weight t (pred n)
- (fun p=> cons_to_nth_cps (fst p) (snd p) st f'))
- (nils n) p f.
-
- Definition from_associational n p := from_associational_cps n p id.
- Lemma from_associational_id n p T f :
- @from_associational_cps n p T f = f (from_associational n p).
- Proof using Type.
- cbv [from_associational_cps from_associational].
- autorewrite with uncps push_id; reflexivity.
- Qed.
- Hint Opaque from_associational : uncps.
- Hint Rewrite from_associational_id : uncps.
-
- Lemma eval_from_associational n p (n_nonzero:n<>0%nat):
- eval (from_associational n p) = B.Associational.eval p.
- Proof using weight_0 weight_nonzero.
- cbv [from_associational_cps from_associational]; induction p;
- autorewrite with uncps push_id push_basesystem_eval; [reflexivity|].
- pose proof (B.Positional.weight_place_cps weight weight_0 weight_nonzero a (pred n)).
- pose proof (B.Positional.place_cps_in_range weight a (pred n)).
- rewrite Nat.succ_pred in * by assumption. simpl.
- autorewrite with uncps push_id push_basesystem_eval in *.
- rewrite eval_cons_to_nth by omega. nsatz.
- Qed.
- End Columns.
-End Columns.
-Hint Rewrite
- @Columns.compact_digit_id
- @Columns.compact_step_id
- @Columns.compact_id
- using (assumption || (intros; autorewrite with uncps; reflexivity))
- : uncps.
-Hint Rewrite
- @Columns.cons_to_nth_id
- @Columns.from_associational_id
- : uncps.
-Hint Rewrite
- @Columns.compact_mod
- @Columns.compact_div
- @Columns.eval_cons_to_nth
- @Columns.eval_from_associational
- @Columns.eval_nils
- using (assumption || omega): push_basesystem_eval.
-
-Hint Unfold
- Columns.eval Columns.eval_from
- Columns.compact_digit_cps Columns.compact_digit
- Columns.compact_step_cps Columns.compact_step
- Columns.compact_cps Columns.compact
- Columns.cons_to_nth_cps Columns.cons_to_nth
- Columns.nils
- Columns.from_associational_cps Columns.from_associational
- : basesystem_partial_evaluation_unfolder.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t :=
- (eval
- cbv
- delta [
- (* this list must contain all definitions referenced by t that reference [Let_In], [runtime_add], [runtime_opp], [runtime_mul], [runtime_shr], or [runtime_and] *)
- Columns.eval Columns.eval_from
- Columns.compact_digit_cps Columns.compact_digit
- Columns.compact_step_cps Columns.compact_step
- Columns.compact_cps Columns.compact
- Columns.cons_to_nth_cps Columns.cons_to_nth
- Columns.nils
- Columns.from_associational_cps Columns.from_associational
- ] in t) in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/Saturated/CoreUnfolder.v b/src/Arithmetic/Saturated/CoreUnfolder.v
deleted file mode 100644
index 9a0e0c06a..000000000
--- a/src/Arithmetic/Saturated/CoreUnfolder.v
+++ /dev/null
@@ -1,97 +0,0 @@
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.Core.
-
-Hint Unfold Core.Columns.compact_digit_cps Core.Columns.compact_step_cps Core.Columns.compact_cps : arithmetic_cps_unfolder.
-
-Module Columns.
- (**
-<<
-#!/bin/bash
-for i in eval eval_from compact_digit_cps compact_digit compact_step_cps compact_step compact_cps compact cons_to_nth_cps cons_to_nth nils from_associational_cps from_associational; do
- echo " Definition ${i}_sig := parameterize_sig (@Core.Columns.${i}).";
- echo " Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo " Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo " Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo " Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
-echo "End Columns."
->> *)
- Definition eval_sig := parameterize_sig (@Core.Columns.eval).
- Definition eval := parameterize_from_sig eval_sig.
- Definition eval_eq := parameterize_eq eval eval_sig.
- Hint Unfold eval : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- eval_eq : pattern_runtime.
-
- Definition eval_from_sig := parameterize_sig (@Core.Columns.eval_from).
- Definition eval_from := parameterize_from_sig eval_from_sig.
- Definition eval_from_eq := parameterize_eq eval_from eval_from_sig.
- Hint Unfold eval_from : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- eval_from_eq : pattern_runtime.
-
- Definition compact_digit_cps_sig := parameterize_sig (@Core.Columns.compact_digit_cps).
- Definition compact_digit_cps := parameterize_from_sig compact_digit_cps_sig.
- Definition compact_digit_cps_eq := parameterize_eq compact_digit_cps compact_digit_cps_sig.
- Hint Unfold compact_digit_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- compact_digit_cps_eq : pattern_runtime.
-
- Definition compact_digit_sig := parameterize_sig (@Core.Columns.compact_digit).
- Definition compact_digit := parameterize_from_sig compact_digit_sig.
- Definition compact_digit_eq := parameterize_eq compact_digit compact_digit_sig.
- Hint Unfold compact_digit : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- compact_digit_eq : pattern_runtime.
-
- Definition compact_step_cps_sig := parameterize_sig (@Core.Columns.compact_step_cps).
- Definition compact_step_cps := parameterize_from_sig compact_step_cps_sig.
- Definition compact_step_cps_eq := parameterize_eq compact_step_cps compact_step_cps_sig.
- Hint Unfold compact_step_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- compact_step_cps_eq : pattern_runtime.
-
- Definition compact_step_sig := parameterize_sig (@Core.Columns.compact_step).
- Definition compact_step := parameterize_from_sig compact_step_sig.
- Definition compact_step_eq := parameterize_eq compact_step compact_step_sig.
- Hint Unfold compact_step : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- compact_step_eq : pattern_runtime.
-
- Definition compact_cps_sig := parameterize_sig (@Core.Columns.compact_cps).
- Definition compact_cps := parameterize_from_sig compact_cps_sig.
- Definition compact_cps_eq := parameterize_eq compact_cps compact_cps_sig.
- Hint Unfold compact_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- compact_cps_eq : pattern_runtime.
-
- Definition compact_sig := parameterize_sig (@Core.Columns.compact).
- Definition compact := parameterize_from_sig compact_sig.
- Definition compact_eq := parameterize_eq compact compact_sig.
- Hint Unfold compact : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- compact_eq : pattern_runtime.
-
- Definition cons_to_nth_cps_sig := parameterize_sig (@Core.Columns.cons_to_nth_cps).
- Definition cons_to_nth_cps := parameterize_from_sig cons_to_nth_cps_sig.
- Definition cons_to_nth_cps_eq := parameterize_eq cons_to_nth_cps cons_to_nth_cps_sig.
- Hint Unfold cons_to_nth_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- cons_to_nth_cps_eq : pattern_runtime.
-
- Definition cons_to_nth_sig := parameterize_sig (@Core.Columns.cons_to_nth).
- Definition cons_to_nth := parameterize_from_sig cons_to_nth_sig.
- Definition cons_to_nth_eq := parameterize_eq cons_to_nth cons_to_nth_sig.
- Hint Unfold cons_to_nth : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- cons_to_nth_eq : pattern_runtime.
-
- Definition nils_sig := parameterize_sig (@Core.Columns.nils).
- Definition nils := parameterize_from_sig nils_sig.
- Definition nils_eq := parameterize_eq nils nils_sig.
- Hint Unfold nils : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- nils_eq : pattern_runtime.
-
- Definition from_associational_cps_sig := parameterize_sig (@Core.Columns.from_associational_cps).
- Definition from_associational_cps := parameterize_from_sig from_associational_cps_sig.
- Definition from_associational_cps_eq := parameterize_eq from_associational_cps from_associational_cps_sig.
- Hint Unfold from_associational_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- from_associational_cps_eq : pattern_runtime.
-
- Definition from_associational_sig := parameterize_sig (@Core.Columns.from_associational).
- Definition from_associational := parameterize_from_sig from_associational_sig.
- Definition from_associational_eq := parameterize_eq from_associational from_associational_sig.
- Hint Unfold from_associational : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- from_associational_eq : pattern_runtime.
-
-End Columns.
diff --git a/src/Arithmetic/Saturated/Freeze.v b/src/Arithmetic/Saturated/Freeze.v
deleted file mode 100644
index d8e7f4b5e..000000000
--- a/src/Arithmetic/Saturated/Freeze.v
+++ /dev/null
@@ -1,145 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.Saturated.Core.
-Require Import Crypto.Arithmetic.Saturated.Wrappers.
-Require Import Crypto.Util.ZUtil.AddGetCarry.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.Modulo.PullPush.
-Require Import Crypto.Util.ZUtil.Le.
-Require Import Crypto.Util.ZUtil.CPS.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Tuple Crypto.Util.LetIn.
-Local Notation "A ^ n" := (tuple A n) : type_scope.
-
-(* Canonicalize bignums by fully reducing them modulo p.
- This works on unsaturated digits, but uses saturated add/subtract
- loops.*)
-Section Freeze.
- Context (weight : nat->Z)
- {weight_0 : weight 0%nat = 1}
- {weight_nonzero : forall i, weight i <> 0}
- {weight_positive : forall i, weight i > 0}
- {weight_multiples : forall i, weight (S i) mod weight i = 0}
- {weight_divides : forall i : nat, weight (S i) / weight i > 0}
- .
-
-
- (*
- The input to [freeze] should be less than 2*m (this can probably
- be accomplished by a single carry_reduce step, for most moduli).
-
- [freeze] has the following steps:
- (1) subtract modulus in a carrying loop (in our framework, this
- consists of two steps; [Columns.unbalanced_sub_cps] combines the
- input p and the modulus m such that the ith limb in the output is
- the list [p[i];-m[i]]. We can then call [Columns.compact].)
- (2) look at the final carry, which should be either 0 or -1. If
- it's -1, then we add the modulus back in. Otherwise we add 0 for
- constant-timeness.
- (3) discard the carry after this last addition; it should be 1 if
- the carry in step 3 was -1, so they cancel out.
- *)
- Definition freeze_cps {n} mask (m:Z^n) (p:Z^n) {T} (f : Z^n->T) :=
- Columns.unbalanced_sub_cps (n3:=n) weight p m
- (fun carry_p => Columns.conditional_add_cps (n3:=n) weight mask (fst carry_p) (snd carry_p) m
- (fun carry_r => f (snd carry_r)))
- .
-
- Definition freeze {n} mask m p :=
- @freeze_cps n mask m p _ id.
- Lemma freeze_id {n} mask m p T f:
- @freeze_cps n mask m p T f = f (freeze mask m p).
- Proof.
- cbv [freeze_cps freeze]; repeat progress autounfold;
- autorewrite with uncps push_id; reflexivity.
- Qed.
- Hint Opaque freeze : uncps.
- Hint Rewrite @freeze_id : uncps.
-
- Lemma freezeZ m s c y y0 z z0 c0 a :
- m = s - c ->
- 0 < c < s ->
- s <> 0 ->
- 0 <= y < 2*m ->
- y0 = y - m ->
- z = y0 mod s ->
- c0 = y0 / s ->
- z0 = z + (if (dec (c0 = 0)) then 0 else m) ->
- a = z0 mod s ->
- a mod m = y0 mod m.
- Proof.
- clear. intros. subst. break_match.
- { rewrite Z.add_0_r, Z.mod_mod by omega.
- assert (-(s-c) <= y - (s-c) < s-c) by omega.
- match goal with H : s <> 0 |- _ =>
- rewrite (proj2 (Z.mod_small_iff _ s H))
- by (apply Z.div_small_iff; assumption)
- end.
- reflexivity. }
- { rewrite <-Z.add_mod_l, Z.sub_mod_full.
- rewrite Z.mod_same, Z.sub_0_r, Z.mod_mod by omega.
- rewrite Z.mod_small with (b := s)
- by (pose proof (Z.div_small (y - (s-c)) s); omega).
- f_equal. ring. }
- Qed.
-
- Lemma eval_freeze {n} c mask m p
- (n_nonzero:n<>0%nat)
- (Hc : 0 < B.Associational.eval c < weight n)
- (Hmask : Tuple.map (Z.land mask) m = m)
- modulus (Hm : B.Positional.eval weight m = Z.pos modulus)
- (Hp : 0 <= B.Positional.eval weight p < 2*(Z.pos modulus))
- (Hsc : Z.pos modulus = weight n - B.Associational.eval c)
- :
- mod_eq modulus
- (B.Positional.eval weight (@freeze n mask m p))
- (B.Positional.eval weight p).
- Proof.
- cbv [freeze_cps freeze].
- repeat progress autounfold.
- pose proof Z.add_get_carry_full_mod.
- pose proof Z.add_get_carry_full_div.
- pose proof div_correct. pose proof modulo_correct.
- pose proof @div_id. pose proof @modulo_id.
- pose proof @Z.add_get_carry_full_cps_correct.
- autorewrite with uncps push_id push_basesystem_eval.
-
- pose proof (weight_nonzero n).
-
- remember (B.Positional.eval weight p) as y.
- remember (y + -B.Positional.eval weight m) as y0.
- rewrite Hm in *.
-
- transitivity y0; cbv [mod_eq].
- { eapply (freezeZ (Z.pos modulus) (weight n) (B.Associational.eval c) y y0);
- try assumption; reflexivity. }
- { subst y0.
- assert (Z.pos modulus <> 0) by auto using Z.positive_is_nonzero, Zgt_pos_0.
- rewrite Z.add_mod by assumption.
- rewrite Z.mod_opp_l_z by auto using Z.mod_same.
- rewrite Z.add_0_r, Z.mod_mod by assumption.
- reflexivity. }
- Qed.
-End Freeze.
-Hint Opaque freeze_cps : uncps.
-Hint Rewrite @freeze_id : uncps.
-Hint Rewrite @eval_freeze
- using (assumption || reflexivity || auto || eassumption || omega) : push_basesystem_eval.
-
-Hint Unfold
- freeze freeze_cps
- : basesystem_partial_evaluation_unfolder.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t := (eval cbv delta [freeze freeze_cps] in t) in
- let t := Saturated.Wrappers.basesystem_partial_evaluation_unfolder t in
- let t := Saturated.Core.basesystem_partial_evaluation_unfolder t in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/Saturated/FreezeUnfolder.v b/src/Arithmetic/Saturated/FreezeUnfolder.v
deleted file mode 100644
index bae1a87f3..000000000
--- a/src/Arithmetic/Saturated/FreezeUnfolder.v
+++ /dev/null
@@ -1,27 +0,0 @@
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.WrappersUnfolder.
-Require Import Crypto.Arithmetic.Saturated.Freeze.
-
-(**
-<<
-#!/bin/bash
-for i in freeze freeze_cps; do
- echo "Definition ${i}_sig := parameterize_sig (@Freeze.${i}).";
- echo "Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo "Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo "Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo "Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
->> *)
-Definition freeze_cps_sig := parameterize_sig (@Freeze.freeze_cps).
-Definition freeze_cps := parameterize_from_sig freeze_cps_sig.
-Definition freeze_cps_eq := parameterize_eq freeze_cps freeze_cps_sig.
-Hint Unfold freeze_cps : basesystem_partial_evaluation_unfolder.
-Hint Rewrite <- freeze_cps_eq : pattern_runtime.
-
-Definition freeze_sig := parameterize_sig (@Freeze.freeze).
-Definition freeze := parameterize_from_sig freeze_sig.
-Definition freeze_eq := parameterize_eq freeze freeze_sig.
-Hint Unfold freeze : basesystem_partial_evaluation_unfolder.
-Hint Rewrite <- freeze_eq : pattern_runtime.
diff --git a/src/Arithmetic/Saturated/MontgomeryAPI.v b/src/Arithmetic/Saturated/MontgomeryAPI.v
deleted file mode 100644
index d08fe7a8b..000000000
--- a/src/Arithmetic/Saturated/MontgomeryAPI.v
+++ /dev/null
@@ -1,691 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Lia.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.Saturated.Core.
-Require Import Crypto.Arithmetic.Saturated.UniformWeight.
-Require Import Crypto.Arithmetic.Saturated.Wrappers.
-Require Import Crypto.Arithmetic.Saturated.AddSub.
-Require Import Crypto.Util.LetIn Crypto.Util.CPSUtil.
-Require Import Crypto.Util.Tuple Crypto.Util.LetIn.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.Util.ZUtil.Tactics.DivModToQuotRem.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.CPS.
-Require Import Crypto.Util.ZUtil.Zselect.
-Require Import Crypto.Util.ZUtil.AddGetCarry.
-Require Import Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Opp.
-Require Import Crypto.Util.Tactics.UniquePose.
-Local Notation "A ^ n" := (tuple A n) : type_scope.
-
-Section API.
- Context (bound : Z) {bound_pos : bound > 0}.
- Definition T : nat -> Type := tuple Z.
-
- (* lowest limb is less than its bound; this is required for [divmod]
- to simply separate the lowest limb from the rest and be equivalent
- to normal div/mod with [bound]. *)
- Local Notation small := (@small bound).
-
- Definition zero {n:nat} : T n := B.Positional.zeros n.
-
- (** Returns 0 iff all limbs are 0 *)
- Definition nonzero_cps {n} (p : T n) {cpsT} (f : Z -> cpsT) : cpsT
- := CPSUtil.to_list_cps _ p (fun p => CPSUtil.fold_right_cps runtime_lor 0%Z p f).
- Definition nonzero {n} (p : T n) : Z
- := nonzero_cps p id.
-
- Definition join0_cps {n:nat} (p : T n) {R} (f:T (S n) -> R)
- := Tuple.left_append_cps 0 p f.
- Definition join0 {n} p : T (S n) := @join0_cps n p _ id.
-
- Definition divmod_cps {n} (p : T (S n)) {R} (f:T n * Z->R) : R
- := Tuple.tl_cps p (fun d => Tuple.hd_cps p (fun m => f (d, m))).
- Definition divmod {n} p : T n * Z := @divmod_cps n p _ id.
-
- Definition drop_high_cps {n : nat} (p : T (S n)) {R} (f:T n->R)
- := Tuple.left_tl_cps p f.
- Definition drop_high {n} p : T n := @drop_high_cps n p _ id.
-
- Definition scmul_cps {n} (c : Z) (p : T n) {R} (f:T (S n)->R) :=
- Columns.mul_cps (n1:=1) (n3:=S n) (uweight bound) bound c p
- (* The carry that comes out of Columns.mul_cps will be 0, since
- (S n) limbs is enough to hold the result of the
- multiplication, so we can safely discard it. *)
- (fun carry_result =>f (snd carry_result)).
- Definition scmul {n} c p : T (S n) := @scmul_cps n c p _ id.
-
- Definition add_cps {n} (p q: T n) {R} (f:T (S n)->R) :=
- B.Positional.sat_add_cps (s:=bound) p q _
- (* join the last carry *)
- (fun carry_result => Tuple.left_append_cps (fst carry_result) (snd carry_result) f).
- Definition add {n} p q : T (S n) := @add_cps n p q _ id.
-
- (* Wrappers for additions with slightly uneven limb counts *)
- Definition add_S1_cps {n} (p: T (S n)) (q: T n) {R} (f:T (S (S n))->R) :=
- join0_cps q (fun Q => add_cps p Q f).
- Definition add_S1 {n} p q := @add_S1_cps n p q _ id.
- Definition add_S2_cps {n} (p: T n) (q: T (S n)) {R} (f:T (S (S n))->R) :=
- join0_cps p (fun P => add_cps P q f).
- Definition add_S2 {n} p q := @add_S2_cps n p q _ id.
-
- Definition sub_then_maybe_add_cps {n} mask (p q r : T n)
- {R} (f:T n -> R) :=
- B.Positional.sat_sub_cps (s:=bound) p q _
- (* the carry will be 0 unless we underflow--we do the addition only
- in the underflow case *)
- (fun carry_result =>
- B.Positional.select_cps mask (fst carry_result) r
- (fun selected => join0_cps selected
- (fun selected' =>
- B.Positional.sat_add_cps (s:=bound) (left_append (- (fst carry_result))%RT (snd carry_result)) selected' _
- (* We can now safely discard the carry and the highest digit.
- This relies on the precondition that p - q + r < bound^n. *)
- (fun carry_result' => drop_high_cps (snd carry_result') f)))).
- Definition sub_then_maybe_add {n} mask (p q r : T n) :=
- sub_then_maybe_add_cps mask p q r id.
-
- (* Subtract q if and only if p >= q. We rely on the preconditions
- that 0 <= p < 2*q and q < bound^n (this ensures the output is less
- than bound^n). *)
- Definition conditional_sub_cps {n} (p:Z^S n) (q:Z^n) R (f:Z^n->R) :=
- join0_cps q
- (fun qq => B.Positional.sat_sub_cps (s:=bound) p qq _
- (* if carry is zero, we select the result of the subtraction,
- otherwise the first input *)
- (fun carry_result =>
- Tuple.map2_cps (Z.zselect (fst carry_result)) (snd carry_result) p
- (* in either case, since our result must be < q and therefore <
- bound^n, we can drop the high digit *)
- (fun r => drop_high_cps r f))).
- Definition conditional_sub {n} p q := @conditional_sub_cps n p q _ id.
-
- Hint Opaque join0 divmod drop_high scmul add sub_then_maybe_add conditional_sub : uncps.
-
- Section CPSProofs.
-
- Local Ltac prove_id :=
- repeat autounfold;
- repeat (intros; autorewrite with uncps push_id);
- reflexivity.
-
- Lemma nonzero_id n p {cpsT} f : @nonzero_cps n p cpsT f = f (@nonzero n p).
- Proof. cbv [nonzero nonzero_cps]. prove_id. Qed.
-
- Lemma join0_id n p R f :
- @join0_cps n p R f = f (join0 p).
- Proof. cbv [join0_cps join0]. prove_id. Qed.
-
- Lemma divmod_id n p R f :
- @divmod_cps n p R f = f (divmod p).
- Proof. cbv [divmod_cps divmod]; prove_id. Qed.
-
- Lemma drop_high_id n p R f :
- @drop_high_cps n p R f = f (drop_high p).
- Proof. cbv [drop_high_cps drop_high]; prove_id. Qed.
- Hint Rewrite drop_high_id : uncps.
-
- Lemma scmul_id n c p R f :
- @scmul_cps n c p R f = f (scmul c p).
- Proof. cbv [scmul_cps scmul]. prove_id. Qed.
-
- Lemma add_id n p q R f :
- @add_cps n p q R f = f (add p q).
- Proof. cbv [add_cps add Let_In]. prove_id. Qed.
- Hint Rewrite add_id : uncps.
-
- Lemma add_S1_id n p q R f :
- @add_S1_cps n p q R f = f (add_S1 p q).
- Proof. cbv [add_S1_cps add_S1 join0_cps]. prove_id. Qed.
-
- Lemma add_S2_id n p q R f :
- @add_S2_cps n p q R f = f (add_S2 p q).
- Proof. cbv [add_S2_cps add_S2 join0_cps]. prove_id. Qed.
-
- Lemma sub_then_maybe_add_id n mask p q r R f :
- @sub_then_maybe_add_cps n mask p q r R f = f (sub_then_maybe_add mask p q r).
- Proof. cbv [sub_then_maybe_add_cps sub_then_maybe_add join0_cps Let_In]. prove_id. Qed.
-
- Lemma conditional_sub_id n p q R f :
- @conditional_sub_cps n p q R f = f (conditional_sub p q).
- Proof. cbv [conditional_sub_cps conditional_sub join0_cps Let_In]. prove_id. Qed.
-
- End CPSProofs.
- Hint Rewrite nonzero_id join0_id divmod_id drop_high_id scmul_id add_id sub_then_maybe_add_id conditional_sub_id : uncps.
-
- Section Proofs.
-
- Definition eval {n} (p : T n) : Z :=
- B.Positional.eval (uweight bound) p.
-
- Definition encode n (z : Z) : T n :=
- B.Positional.encode (uweight bound) (modulo_cps:=@modulo_cps) (div_cps:=@div_cps) z.
-
- Lemma eval_small n (p : T n) (Hsmall : small p) :
- 0 <= eval p < uweight bound n.
- Proof.
- cbv [small eval] in *; intros.
- induction n; cbv [T uweight] in *; [destruct p|rewrite (subst_left_append p)];
- repeat match goal with
- | _ => progress autorewrite with push_basesystem_eval
- | _ => rewrite Z.pow_0_r
- | _ => specialize (IHn (left_tl p))
- | _ =>
- let H := fresh "H" in
- match type of IHn with
- ?P -> _ => assert P as H by auto using Tuple.In_to_list_left_tl;
- specialize (IHn H)
- end
- | |- context [?b ^ Z.of_nat (S ?n)] =>
- replace (b ^ Z.of_nat (S n)) with (b ^ Z.of_nat n * b) by
- (rewrite Nat2Z.inj_succ, <-Z.add_1_r, Z.pow_add_r,
- Z.pow_1_r by (omega || auto using Nat2Z.is_nonneg);
- reflexivity)
- | _ => omega
- end.
-
- specialize (Hsmall _ (Tuple.In_left_hd _ p)).
- split; [Z.zero_bounds; omega |].
- apply Z.lt_le_trans with (m:=bound^Z.of_nat n * (left_hd p+1)).
- { rewrite Z.mul_add_distr_l.
- apply Z.add_le_lt_mono; omega. }
- { apply Z.mul_le_mono_nonneg; omega. }
- Qed.
-
- Lemma small_encode n (v : Z) (Hsmall : 0 <= v < uweight bound n)
- : small (encode n v).
- Proof.
- Admitted. (* TODO(jadep): prove me *)
-
- Lemma eval_encode n (v : Z) (Hsmall : 0 <= v < uweight bound n)
- : eval (encode n v) = v.
- Proof.
- destruct n as [|n].
- { cbv -[Z.le Z.lt Z.gt] in *; omega. }
- { cbv [eval encode].
- pose proof (@uweight_divides _ bound_pos) as Hdiv.
- apply B.Positional.eval_encode; try reflexivity;
- eauto using modulo_id, div_id, div_mod, uweight_nonzero.
- { intros i ?; specialize (Hdiv i); omega. } }
- Qed.
-
- Lemma eval_zero n : eval (@zero n) = 0.
- Proof.
- cbv [eval zero].
- autorewrite with push_basesystem_eval.
- reflexivity.
- Qed.
-
- Lemma small_zero n : small (@zero n).
- Proof.
- cbv [zero small B.Positional.zeros]. destruct n; [simpl;tauto|].
- rewrite to_list_repeat.
- intros x H; apply repeat_spec in H; subst x; omega.
- Qed.
-
- Lemma small_hd n p : @small (S n) p -> 0 <= hd p < bound.
- Proof.
- cbv [small]. let H := fresh "H" in intro H; apply H.
- rewrite (subst_append p). rewrite to_list_append, hd_append.
- apply in_eq.
- Qed.
-
- Lemma In_to_list_tl {A n} (p : A^(S n)) x :
- In x (to_list n (tl p)) -> In x (to_list (S n) p).
- Proof.
- intros. rewrite (subst_append p).
- rewrite to_list_append. simpl In. tauto.
- Qed.
-
- Lemma small_tl n p : @small (S n) p -> small (tl p).
- Proof.
- cbv [small]. let H := fresh "H" in intros H ? ?; apply H.
- auto using In_to_list_tl.
- Qed.
-
- Lemma add_nonneg_zero_iff a b c : 0 <= a -> 0 <= b -> 0 < c ->
- a = 0 /\ b = 0 <-> a + c * b = 0.
- Proof. nia. Qed.
-
- Lemma eval_pair n (p : T (S (S n))) : small p ->
- (snd p = 0 /\ eval (n:=S n) (fst p) = 0) <-> eval p = 0.
- Proof.
- intro Hsmall. cbv [eval].
- rewrite uweight_eval_step with (p:=p).
- change (fst p) with (tl p). change (snd p) with (hd p).
- apply add_nonneg_zero_iff; try omega.
- { apply small_hd in Hsmall. omega. }
- { apply small_tl, eval_small in Hsmall.
- cbv [eval] in Hsmall; omega. }
- Qed.
-
- Lemma eval_nonzero n p : small p -> @nonzero n p = 0 <-> eval p = 0.
- Proof.
- destruct n as [|n].
- { compute; split; trivial. }
- induction n as [|n IHn].
- { simpl; rewrite Z.lor_0_r; unfold eval, id.
- cbv -[Z.add iff].
- rewrite Z.add_0_r.
- destruct p; omega. }
- { destruct p as [ps p]; specialize (IHn ps).
- unfold nonzero, nonzero_cps in *.
- autorewrite with uncps in *.
- unfold id in *.
- setoid_rewrite to_list_S.
- set (k := S n) in *; simpl in *.
- intro Hsmall.
- rewrite Z.lor_eq_0_iff, IHn
- by (hnf in Hsmall |- *; simpl in *; eauto);
- clear IHn.
- exact (eval_pair n (ps, p) Hsmall). }
- Qed.
-
- Lemma eval_join0 n p
- : eval (@join0 n p) = eval p.
- Proof.
- cbv [join0 join0_cps eval]. autorewrite with uncps push_id.
- rewrite B.Positional.eval_left_append. ring.
- Qed.
-
- Local Ltac pose_uweight bound :=
- match goal with H : bound > 0 |- _ =>
- pose proof (uweight_0 bound);
- pose proof (@uweight_positive bound H);
- pose proof (@uweight_nonzero bound H);
- pose proof (@uweight_multiples bound);
- pose proof (@uweight_divides bound H)
- end.
-
- Local Ltac pose_all :=
- pose_uweight bound;
- pose proof Z.add_get_carry_full_div;
- pose proof Z.add_get_carry_full_mod;
- pose proof Z.mul_split_div; pose proof Z.mul_split_mod;
- pose proof div_correct; pose proof modulo_correct;
- pose proof @div_id; pose proof @modulo_id;
- pose proof @Z.add_get_carry_full_cps_correct;
- pose proof @Z.mul_split_cps_correct;
- pose proof @Z.mul_split_cps'_correct.
-
- Lemma eval_add n p q :
- eval (@add n p q) = eval p + eval q.
- Proof.
- intros. pose_all. cbv [add_cps add eval Let_In].
- autorewrite with uncps push_id cancel_pair push_basesystem_eval.
- symmetry; auto using Z.div_mod.
- Qed.
-
- Lemma eval_add_same n p q
- : eval (@add n p q) = eval p + eval q.
- Proof. apply eval_add; omega. Qed.
- Lemma eval_add_S1 n p q
- : eval (@add_S1 n p q) = eval p + eval q.
- Proof.
- cbv [add_S1 add_S1_cps]. autorewrite with uncps push_id.
- rewrite eval_add; rewrite eval_join0; reflexivity.
- Qed.
- Lemma eval_add_S2 n p q
- : eval (@add_S2 n p q) = eval p + eval q.
- Proof.
- cbv [add_S2 add_S2_cps]. autorewrite with uncps push_id.
- rewrite eval_add; rewrite eval_join0; reflexivity.
- Qed.
- Hint Rewrite eval_add_same eval_add_S1 eval_add_S2 using (omega || assumption): push_basesystem_eval.
-
- Local Definition compact {n} := Columns.compact (n:=n) (add_get_carry_cps:=@Z.add_get_carry_full_cps) (div_cps:=@div_cps) (modulo_cps:=@modulo_cps) (uweight bound).
- Local Definition compact_digit := Columns.compact_digit (add_get_carry_cps:=@Z.add_get_carry_full_cps) (div_cps:=@div_cps) (modulo_cps:=@modulo_cps) (uweight bound).
- Lemma small_compact {n} (p:(list Z)^n) : small (snd (compact p)).
- Proof.
- pose_all.
- match goal with
- |- ?G => assert (G /\ fst (compact p) = fst (compact p)); [|tauto]
- end. (* assert a dummy second statement so that fst (compact x) is in context *)
- cbv [compact Columns.compact Columns.compact_cps small
- Columns.compact_step Columns.compact_step_cps];
- autorewrite with uncps push_id.
- change (fun i s a => Columns.compact_digit_cps (uweight bound) i (s :: a) id)
- with (fun i s a => compact_digit i (s :: a)).
- remember (fun i s a => compact_digit i (s :: a)) as f.
-
- apply @mapi_with'_linvariant with (n:=n) (f:=f) (inp:=p);
- intros; [|simpl; tauto]. split; [|reflexivity].
- let P := fresh "H" in
- match goal with H : _ /\ _ |- _ => destruct H end.
- destruct n0; subst f.
- { cbv [compact_digit uweight to_list to_list' In].
- rewrite Columns.compact_digit_mod
- by (assumption || (intros; autorewrite with uncps push_id; auto)).
- rewrite Z.pow_0_r, Z.pow_1_r, Z.div_1_r. intros x ?.
- match goal with
- H : _ \/ False |- _ => destruct H; [|exfalso; assumption] end.
- subst x. apply Z.mod_pos_bound, Z.gt_lt, bound_pos. }
- { rewrite Tuple.to_list_left_append.
- let H := fresh "H" in
- intros x H; apply in_app_or in H; destruct H;
- [solve[auto]| cbv [In] in H; destruct H;
- [|exfalso; assumption] ].
- subst x. cbv [compact_digit].
- rewrite Columns.compact_digit_mod
- by (assumption || (intros; autorewrite with uncps push_id; auto)).
- rewrite !uweight_succ, Z.div_mul by
- (apply Z.neq_mul_0; split; auto; omega).
- apply Z.mod_pos_bound, Z.gt_lt, bound_pos. }
- Qed.
-
- Lemma small_left_append {n} b x :
- 0 <= x < bound -> small b -> small (@left_append _ n x b).
- Proof.
- intros.
- cbv [small].
- setoid_rewrite Tuple.to_list_left_append.
- setoid_rewrite in_app_iff.
- intros y HIn; destruct HIn as [HIn|[]]; (contradiction||omega||eauto).
- Qed.
-
- Lemma small_add n a b :
- (2 <= bound) ->
- small a -> small b -> small (@add n a b).
- Proof.
- intros.
- cbv [add add_cps]; autorewrite with uncps push_id in *.
- pose proof @B.Positional.small_sat_add bound ltac:(omega) _ a b.
- eapply small_left_append; eauto.
- rewrite @B.Positional.sat_add_div by omega.
- repeat match goal with H:_|-_=> unique pose proof (eval_small _ _ H) end.
- cbv [eval] in *; Z.div_mod_to_quot_rem_in_goal; nia.
- Qed.
-
- Lemma small_join0 {n} b : small b -> small (@join0 n b).
- Proof.
- cbv [join0 join0_cps]; autorewrite with uncps push_id in *.
- eapply small_left_append; omega.
- Qed.
-
- Lemma small_add_S1 n a b :
- (2 <= bound) ->
- small a -> small b -> small (@add_S1 n a b).
- Proof.
- intros.
- cbv [add_S1 add_S1_cps Let_In]; autorewrite with uncps push_id in *.
- eauto using small_add, small_join0.
- Qed.
-
- Lemma small_left_tl n (v:T (S n)) : small v -> small (left_tl v).
- Proof. cbv [small]. auto using Tuple.In_to_list_left_tl. Qed.
-
- Lemma eval_drop_high n v :
- small v -> eval (@drop_high n v) = eval v mod (uweight bound n).
- Proof.
- cbv [drop_high drop_high_cps eval].
- rewrite Tuple.left_tl_cps_correct, push_id. (* TODO : for some reason autorewrite with uncps doesn't work here *)
- intro H. apply small_left_tl in H.
- rewrite (subst_left_append v) at 2.
- autorewrite with push_basesystem_eval.
- apply eval_small in H.
- rewrite Z.mod_add_l' by (pose_uweight bound; auto).
- rewrite Z.mod_small; auto.
- Qed.
-
- Lemma small_drop_high n v : small v -> small (@drop_high n v).
- Proof.
- cbv [drop_high drop_high_cps].
- rewrite Tuple.left_tl_cps_correct, push_id.
- apply small_left_tl.
- Qed.
-
- Lemma div_nonzero_neg_iff x y : x < y -> 0 < y ->
- - (x / y) = 0 <-> x <? 0 = false.
- Proof.
- repeat match goal with
- | _ => progress intros
- | _ => rewrite Z.ltb_ge
- | _ => rewrite Z.opp_eq_0_iff
- | _ => rewrite Z.div_small_iff by omega
- | _ => split
- | _ => omega
- end.
- Qed.
-
- Lemma eval_sub_then_maybe_add n mask p q r:
- small p -> small q -> small r ->
- (map (Z.land mask) r = r) ->
- (0 <= eval p < eval r) -> (0 <= eval q < eval r) ->
- eval (@sub_then_maybe_add n mask p q r) = eval p - eval q + (if eval p - eval q <? 0 then eval r else 0).
- Proof.
- pose_all.
- pose proof (@uweight_le_mono _ bound_pos n (S n) (Nat.le_succ_diag_r _)).
- intros.
- repeat match goal with
- | _ => progress (intros; cbv [eval runtime_opp sub_then_maybe_add sub_then_maybe_add_cps] in * )
- | _ => progress autorewrite with uncps push_id push_basesystem_eval
- | _ => rewrite eval_drop_high by (apply @B.Positional.small_sat_add; omega)
- | _ => rewrite B.Positional.sat_sub_mod by omega
- | _ => rewrite B.Positional.sat_sub_div by omega
- | _ => rewrite B.Positional.sat_add_mod by omega
- | _ => rewrite B.Positional.eval_left_append
- | _ => rewrite eval_join0
- | H : small _ |- _ => apply eval_small in H
- end.
- let H := fresh "H" in
- match goal with |- context [- (?X / ?Y) = 0] =>
- assert ((- (X / Y) = 0) <-> X <? 0 = false) as H
- by (apply div_nonzero_neg_iff; omega)
- end; destruct H.
- break_match; try match goal with
- H : ?x = ?x -> _ |- _
- => specialize (H (eq_refl x)) end;
- try congruence;
- match goal with
- | H : _ |- _ => rewrite Z.ltb_ge in H
- | H : _ |- _ => rewrite Z.ltb_lt in H
- end.
- { repeat (rewrite Z.mod_small; try omega). }
- { rewrite !Z.mul_opp_r, Z.opp_involutive.
- rewrite Z.mul_div_eq_full by (subst; auto).
- match goal with |- context [?a - ?b + ?b] =>
- replace (a - b + b) with a by ring end.
- repeat (rewrite Z.mod_small; try omega). }
- Qed.
-
- Lemma small_sub_then_maybe_add n mask (p q r : T n) :
- small (sub_then_maybe_add mask p q r).
- Proof.
- cbv [sub_then_maybe_add_cps sub_then_maybe_add]; intros.
- repeat progress autounfold. autorewrite with uncps push_id.
- apply small_drop_high, @B.Positional.small_sat_add; omega.
- Qed.
-
- Lemma map2_zselect n cond x y :
- Tuple.map2 (n:=n) (Z.zselect cond) x y = if dec (cond = 0) then x else y.
- Proof.
- unfold Z.zselect.
- break_innermost_match; Z.ltb_to_lt; subst; try omega;
- [ rewrite Tuple.map2_fst, Tuple.map_id
- | rewrite Tuple.map2_snd, Tuple.map_id ];
- reflexivity.
- Qed.
-
- Lemma eval_conditional_sub_nz n (p:T (S n)) (q:T n)
- (n_nonzero: (n <> 0)%nat) (psmall : small p) (qsmall : small q):
- 0 <= eval p < eval q + uweight bound n ->
- eval (conditional_sub p q) = eval p + (if eval q <=? eval p then - eval q else 0).
- Proof.
- pose_all.
- pose proof (@uweight_le_mono _ bound_pos n (S n) (Nat.le_succ_diag_r _)).
- intros.
- repeat match goal with
- | _ => progress (intros; cbv [eval conditional_sub conditional_sub_cps] in * )
- | _ => progress autorewrite with uncps push_id push_basesystem_eval
- | _ => rewrite eval_drop_high
- by (break_match; try assumption; apply @B.Positional.small_sat_sub; omega)
- | _ => rewrite map2_zselect
- | _ => rewrite B.Positional.sat_sub_mod by omega
- | _ => rewrite B.Positional.sat_sub_div by omega
- | _ => rewrite B.Positional.sat_add_mod by omega
- | _ => rewrite B.Positional.eval_left_append
- | _ => rewrite eval_join0
- | H : small _ |- _ => apply eval_small in H
- end.
- let H := fresh "H" in
- match goal with |- context [- (?X / ?Y) = 0] =>
- assert ((- (X / Y) = 0) <-> X <? 0 = false) as H
- by (apply div_nonzero_neg_iff; omega)
- end; destruct H.
- break_match; try match goal with
- H : ?x = ?x -> _ |- _
- => specialize (H (eq_refl x)) end;
- repeat match goal with
- | H : _ |- _ => rewrite Z.leb_gt in H
- | H : _ |- _ => rewrite Z.leb_le in H
- | H : _ |- _ => rewrite Z.ltb_lt in H
- | H : _ |- _ => rewrite Z.ltb_ge in H
- end; try omega.
- { rewrite @B.Positional.sat_sub_mod by omega.
- rewrite eval_join0; cbv [eval].
- repeat (rewrite Z.mod_small; try omega). }
- { repeat (rewrite Z.mod_small; try omega). }
- Qed.
-
- Lemma eval_conditional_sub n (p:T (S n)) (q:T n)
- (psmall : small p) (qsmall : small q) :
- 0 <= eval p < eval q + uweight bound n ->
- eval (conditional_sub p q) = eval p + (if eval q <=? eval p then - eval q else 0).
- Proof.
- destruct n; [|solve[auto using eval_conditional_sub_nz]].
- repeat match goal with
- | _ => progress (intros; cbv [T tuple tuple'] in p, q)
- | q : unit |- _ => destruct q
- | _ => progress (cbv [conditional_sub conditional_sub_cps eval] in * )
- | _ => progress autounfold
- | _ => progress (autorewrite with uncps push_id push_basesystem_eval in * )
- | _ => (rewrite uweight_0 in * )
- | _ => assert (p = 0) by omega; subst p; break_match; ring
- end.
- Qed.
-
- Lemma small_conditional_sub n (p:T (S n)) (q:T n)
- (psmall : small p) (qsmall : small q) :
- 0 <= eval p < eval q + uweight bound n ->
- small (conditional_sub p q).
- Proof.
- intros.
- cbv [conditional_sub conditional_sub_cps]; autorewrite with uncps push_id.
- eapply small_drop_high.
- rewrite map2_zselect; break_match; [|assumption].
- eauto using @B.Positional.small_sat_sub with omega.
- Qed.
-
- Lemma eval_scmul n a v : small v -> 0 <= a < bound ->
- eval (@scmul n a v) = a * eval v.
- Proof.
- intro Hsmall. pose_all. apply eval_small in Hsmall.
- intros. cbv [scmul scmul_cps eval] in *. repeat autounfold.
- autorewrite with uncps.
- autorewrite with push_basesystem_eval.
- autorewrite with uncps push_id push_basesystem_eval.
- rewrite uweight_0, Z.mul_1_l. apply Z.mod_small.
- split; [solve[Z.zero_bounds]|]. cbv [uweight] in *.
- rewrite !Nat2Z.inj_succ, Z.pow_succ_r by auto using Nat2Z.is_nonneg.
- apply Z.mul_lt_mono_nonneg; omega.
- Qed.
-
- Lemma small_scmul n a v : small (@scmul n a v).
- Proof.
- cbv [scmul scmul_cps eval] in *. repeat autounfold.
- autorewrite with uncps push_id push_basesystem_eval.
- apply small_compact.
- Qed.
-
- (* TODO : move to tuple *)
- Lemma from_list_tl {A n} (ls : list A) H H':
- from_list n (List.tl ls) H = tl (from_list (S n) ls H').
- Proof.
- induction ls; distr_length. simpl List.tl.
- rewrite from_list_cons, tl_append, <-!(from_list_default_eq a ls).
- reflexivity.
- Qed.
-
- Lemma eval_div n p : small p -> eval (fst (@divmod n p)) = eval p / bound.
- Proof.
- cbv [divmod divmod_cps eval]. intros.
- autorewrite with uncps push_id cancel_pair.
- rewrite (subst_append p) at 2.
- rewrite uweight_eval_step. rewrite hd_append, tl_append.
- rewrite Z.div_add' by omega. rewrite Z.div_small by auto using small_hd.
- ring.
- Qed.
-
- Lemma eval_mod n p : small p -> snd (@divmod n p) = eval p mod bound.
- Proof.
- cbv [divmod divmod_cps eval]. intros.
- autorewrite with uncps push_id cancel_pair.
- rewrite (subst_append p) at 2.
- rewrite uweight_eval_step, Z.mod_add'_full, hd_append.
- rewrite Z.mod_small by auto using small_hd. reflexivity.
- Qed.
-
- Lemma small_div n v : small v -> small (fst (@divmod n v)).
- Proof.
- cbv [divmod divmod_cps]. intros.
- autorewrite with uncps push_id cancel_pair.
- auto using small_tl.
- Qed.
- End Proofs.
-End API.
-Hint Rewrite nonzero_id join0_id divmod_id drop_high_id scmul_id add_id add_S1_id add_S2_id sub_then_maybe_add_id conditional_sub_id : uncps.
-
-Hint Unfold
- nonzero_cps
- nonzero
- scmul_cps
- scmul
- add_cps
- add
- add_S1_cps
- add_S1
- add_S2_cps
- add_S2
- sub_then_maybe_add_cps
- sub_then_maybe_add
- conditional_sub_cps
- conditional_sub
- eval
- encode
- : basesystem_partial_evaluation_unfolder.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t := (eval cbv delta [
- nonzero_cps
- nonzero
- scmul_cps
- scmul
- add_cps
- add
- add_S1_cps
- add_S1
- add_S2_cps
- add_S2
- sub_then_maybe_add_cps
- sub_then_maybe_add
- conditional_sub_cps
- conditional_sub
- eval
- encode
- ] in t) in
- let t := Saturated.AddSub.basesystem_partial_evaluation_unfolder t in
- let t := Saturated.Wrappers.basesystem_partial_evaluation_unfolder t in
- let t := Saturated.Core.basesystem_partial_evaluation_unfolder t in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/Saturated/MulSplit.v b/src/Arithmetic/Saturated/MulSplit.v
deleted file mode 100644
index cd86a8b48..000000000
--- a/src/Arithmetic/Saturated/MulSplit.v
+++ /dev/null
@@ -1,100 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Util.LetIn Crypto.Util.CPSUtil.
-
-(* Defines bignum multiplication using a two-output multiply operation. *)
-Module B.
- Module Associational.
- Section Associational.
- Context {mul_split_cps : forall {T}, Z -> Z -> Z -> (Z * Z -> T) -> T} (* first argument is where to split output; [mul_split s x y] gives ((x * y) mod s, (x * y) / s) *)
- {mul_split_cps_id : forall {T} s x y f,
- @mul_split_cps T s x y f = f (@mul_split_cps _ s x y id)}
- {mul_split_mod : forall s x y,
- fst (mul_split_cps s x y id) = (x * y) mod s}
- {mul_split_div : forall s x y,
- snd (mul_split_cps s x y id) = (x * y) / s}
- .
-
- Local Lemma mul_split_cps_correct {T} s x y f
- : @mul_split_cps T s x y f = f ((x * y) mod s, (x * y) / s).
- Proof.
- now rewrite mul_split_cps_id, <- mul_split_mod, <- mul_split_div, <- surjective_pairing.
- Qed.
- Hint Rewrite @mul_split_cps_correct : uncps.
-
- Definition sat_multerm_cps s (t t' : B.limb) {T} (f:list B.limb ->T) :=
- mul_split_cps _ s (snd t) (snd t') (fun xy =>
- dlet xy := xy in
- f ((fst t * fst t', fst xy) :: (fst t * fst t' * s, snd xy) :: nil)).
-
- Definition sat_multerm s t t' := sat_multerm_cps s t t' id.
- Lemma sat_multerm_id s t t' T f :
- @sat_multerm_cps s t t' T f = f (sat_multerm s t t').
- Proof.
- unfold sat_multerm, sat_multerm_cps;
- etransitivity; rewrite mul_split_cps_id; reflexivity.
- Qed.
- Hint Opaque sat_multerm : uncps.
- Hint Rewrite sat_multerm_id : uncps.
-
- Definition sat_mul_cps s (p q : list B.limb) {T} (f : list B.limb -> T) :=
- flat_map_cps (fun t => @flat_map_cps _ _ (sat_multerm_cps s t) q) p f.
-
- Definition sat_mul s p q := sat_mul_cps s p q id.
- Lemma sat_mul_id s p q T f : @sat_mul_cps s p q T f = f (sat_mul s p q).
- Proof. cbv [sat_mul sat_mul_cps]. autorewrite with uncps. reflexivity. Qed.
- Hint Opaque sat_mul : uncps.
- Hint Rewrite sat_mul_id : uncps.
-
- Lemma eval_map_sat_multerm s a q (s_nonzero:s<>0):
- B.Associational.eval (flat_map (sat_multerm s a) q) = fst a * snd a * B.Associational.eval q.
- Proof.
- cbv [sat_multerm sat_multerm_cps Let_In]; induction q;
- repeat match goal with
- | _ => progress autorewrite with uncps push_id cancel_pair push_basesystem_eval in *
- | _ => progress simpl flat_map
- | _ => progress unfold id in *
- | _ => progress rewrite ?IHq, ?mul_split_mod, ?mul_split_div
- | _ => rewrite Z.mod_eq by assumption
- | _ => rewrite B.Associational.eval_nil
- | _ => progress change (Z * Z)%type with B.limb
- | _ => ring_simplify; omega
- end.
- Qed.
- Hint Rewrite eval_map_sat_multerm using (omega || assumption)
- : push_basesystem_eval.
-
- Lemma eval_sat_mul s p q (s_nonzero:s<>0):
- B.Associational.eval (sat_mul s p q) = B.Associational.eval p * B.Associational.eval q.
- Proof.
- cbv [sat_mul sat_mul_cps]; induction p; [reflexivity|].
- repeat match goal with
- | _ => progress (autorewrite with uncps push_id push_basesystem_eval in * )
- | _ => progress simpl flat_map
- | _ => rewrite IHp
- | _ => progress change (fun x => sat_multerm_cps s a x id) with (sat_multerm s a)
- | _ => ring_simplify; omega
- end.
- Qed.
- Hint Rewrite eval_sat_mul : push_basesystem_eval.
- End Associational.
- End Associational.
-End B.
-Hint Opaque B.Associational.sat_mul B.Associational.sat_multerm : uncps.
-Hint Rewrite @B.Associational.sat_mul_id @B.Associational.sat_multerm_id using (assumption || (intros; autorewrite with uncps; reflexivity)) : uncps.
-Hint Rewrite @B.Associational.eval_sat_mul @B.Associational.eval_map_sat_multerm using (omega || assumption) : push_basesystem_eval.
-
-Hint Unfold
- B.Associational.sat_multerm_cps B.Associational.sat_multerm B.Associational.sat_mul_cps B.Associational.sat_mul
- : basesystem_partial_evaluation_unfolder.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t := (eval cbv delta [B.Associational.sat_multerm_cps B.Associational.sat_multerm B.Associational.sat_mul_cps B.Associational.sat_mul] in t) in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/Saturated/MulSplitUnfolder.v b/src/Arithmetic/Saturated/MulSplitUnfolder.v
deleted file mode 100644
index e9747eb79..000000000
--- a/src/Arithmetic/Saturated/MulSplitUnfolder.v
+++ /dev/null
@@ -1,45 +0,0 @@
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.MulSplit.
-
-Module B.
- Module Associational.
-(**
-<<
-#!/bin/bash
-for i in sat_multerm_cps sat_multerm sat_mul_cps sat_mul; do
- echo " Definition ${i}_sig := parameterize_sig (@MulSplit.B.Associational.${i}).";
- echo " Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo " Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo " Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo " Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
-echo " End Associational."
-echo "End B."
->> *)
- Definition sat_multerm_cps_sig := parameterize_sig (@MulSplit.B.Associational.sat_multerm_cps).
- Definition sat_multerm_cps := parameterize_from_sig sat_multerm_cps_sig.
- Definition sat_multerm_cps_eq := parameterize_eq sat_multerm_cps sat_multerm_cps_sig.
- Hint Unfold sat_multerm_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- sat_multerm_cps_eq : pattern_runtime.
-
- Definition sat_multerm_sig := parameterize_sig (@MulSplit.B.Associational.sat_multerm).
- Definition sat_multerm := parameterize_from_sig sat_multerm_sig.
- Definition sat_multerm_eq := parameterize_eq sat_multerm sat_multerm_sig.
- Hint Unfold sat_multerm : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- sat_multerm_eq : pattern_runtime.
-
- Definition sat_mul_cps_sig := parameterize_sig (@MulSplit.B.Associational.sat_mul_cps).
- Definition sat_mul_cps := parameterize_from_sig sat_mul_cps_sig.
- Definition sat_mul_cps_eq := parameterize_eq sat_mul_cps sat_mul_cps_sig.
- Hint Unfold sat_mul_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- sat_mul_cps_eq : pattern_runtime.
-
- Definition sat_mul_sig := parameterize_sig (@MulSplit.B.Associational.sat_mul).
- Definition sat_mul := parameterize_from_sig sat_mul_sig.
- Definition sat_mul_eq := parameterize_eq sat_mul sat_mul_sig.
- Hint Unfold sat_mul : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- sat_mul_eq : pattern_runtime.
-
- End Associational.
-End B.
diff --git a/src/Arithmetic/Saturated/UniformWeight.v b/src/Arithmetic/Saturated/UniformWeight.v
deleted file mode 100644
index bf069f2d6..000000000
--- a/src/Arithmetic/Saturated/UniformWeight.v
+++ /dev/null
@@ -1,93 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.Saturated.Core.
-Require Import Crypto.Util.ZUtil.Le.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.ZUtil.Tactics.PeelLe.
-Require Import Crypto.Util.LetIn Crypto.Util.Tuple.
-Local Notation "A ^ n" := (tuple A n) : type_scope.
-
-Section UniformWeight.
- Context (bound : Z) {bound_pos : bound > 0}.
-
- Definition uweight : nat -> Z := fun i => bound ^ Z.of_nat i.
- Lemma uweight_0 : uweight 0%nat = 1. Proof. reflexivity. Qed.
- Lemma uweight_positive i : uweight i > 0.
- Proof. apply Z.lt_gt, Z.pow_pos_nonneg; omega. Qed.
- Lemma uweight_nonzero i : uweight i <> 0.
- Proof. auto using Z.positive_is_nonzero, uweight_positive. Qed.
- Lemma uweight_multiples i : uweight (S i) mod uweight i = 0.
- Proof. apply Z.mod_same_pow; rewrite Nat2Z.inj_succ; omega. Qed.
- Lemma uweight_divides i : uweight (S i) / uweight i > 0.
- Proof.
- cbv [uweight]. rewrite <-Z.pow_sub_r by (rewrite ?Nat2Z.inj_succ; omega).
- apply Z.lt_gt, Z.pow_pos_nonneg; rewrite ?Nat2Z.inj_succ; omega.
- Qed.
-
- (* TODO : move to Positional *)
- Lemma eval_from_eq {n} (p:Z^n) wt offset :
- (forall i, wt i = uweight (i + offset)) ->
- B.Positional.eval wt p = B.Positional.eval_from uweight offset p.
- Proof. cbv [B.Positional.eval_from]. auto using B.Positional.eval_wt_equiv. Qed.
-
- Lemma uweight_eval_from {n} (p:Z^n): forall offset,
- B.Positional.eval_from uweight offset p = uweight offset * B.Positional.eval uweight p.
- Proof.
- induction n; intros; cbv [B.Positional.eval_from];
- [|rewrite (subst_append p)];
- repeat match goal with
- | _ => destruct p
- | _ => rewrite B.Positional.eval_unit; [ ]
- | _ => rewrite B.Positional.eval_step; [ ]
- | _ => rewrite IHn; [ ]
- | _ => rewrite eval_from_eq with (offset0:=S offset)
- by (intros; f_equal; omega)
- | _ => rewrite eval_from_eq with
- (wt:=fun i => uweight (S i)) (offset0:=1%nat)
- by (intros; f_equal; omega)
- | _ => ring
- end.
- repeat match goal with
- | _ => cbv [uweight]; progress autorewrite with natsimplify
- | _ => progress (rewrite ?Nat2Z.inj_succ, ?Nat2Z.inj_0, ?Z.pow_0_r)
- | _ => rewrite !Z.pow_succ_r by (try apply Nat2Z.is_nonneg; omega)
- | _ => ring
- end.
- Qed.
-
- Lemma uweight_eval_step {n} (p:Z^S n):
- B.Positional.eval uweight p = hd p + bound * B.Positional.eval uweight (tl p).
- Proof.
- rewrite (subst_append p) at 1; rewrite B.Positional.eval_step.
- rewrite eval_from_eq with (offset := 1%nat) by (intros; f_equal; omega).
- rewrite uweight_eval_from. cbv [uweight]; rewrite Z.pow_0_r, Z.pow_1_r.
- ring.
- Qed.
-
- Lemma uweight_le_mono n m : (n <= m)%nat ->
- uweight n <= uweight m.
- Proof.
- unfold uweight; intro; Z.peel_le; omega.
- Qed.
-
- Lemma uweight_lt_mono (bound_gt_1 : bound > 1) n m : (n < m)%nat ->
- uweight n < uweight m.
- Proof.
- clear bound_pos.
- unfold uweight; intro; apply Z.pow_lt_mono_r; omega.
- Qed.
-
- Lemma uweight_succ n : uweight (S n) = bound * uweight n.
- Proof.
- unfold uweight.
- rewrite Nat2Z.inj_succ, Z.pow_succ_r by auto using Nat2Z.is_nonneg; reflexivity.
- Qed.
-
-
- Definition small {n} (p : Z^n) : Prop :=
- forall x, In x (to_list _ p) -> 0 <= x < bound.
-
-End UniformWeight.
diff --git a/src/Arithmetic/Saturated/UniformWeightInstances.v b/src/Arithmetic/Saturated/UniformWeightInstances.v
deleted file mode 100644
index 7ca7b1f3e..000000000
--- a/src/Arithmetic/Saturated/UniformWeightInstances.v
+++ /dev/null
@@ -1,34 +0,0 @@
-Require Import Coq.ZArith.BinInt.
-Require Import Crypto.Arithmetic.Saturated.UniformWeight.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Fixpoint small_Decidable' {bound n} : forall (p : Tuple.tuple' Z n), Decidable (small (n:=S n) bound p).
-Proof.
- refine match n as n return forall p : Tuple.tuple' Z n, id (Decidable (small (n:=S n) bound p)) with
- | 0
- => fun p : Z
- => if dec (0 <= p < bound)%Z then left _ else right _
- | S n'
- => fun p : Tuple.tuple' Z n' * Z
- => if dec (0 <= snd p < bound)%Z
- then if dec (small (n:=S n') bound (fst p))%Z
- then left _
- else right _
- else right _
- end;
- unfold id, small in *; simpl in *;
- [ clear small_Decidable' n
- | clear small_Decidable' n
- | clear small_Decidable'; simpl in *.. ];
- [ abstract (simpl in *; intros; destruct_head'_or; subst; auto; exfalso; assumption)
- | abstract (simpl in *; intros; destruct_head'_or; subst; auto; exfalso; assumption)
- | abstract (destruct p; simpl in *; intros; destruct_head'_or; subst; auto).. ].
-Defined.
-
-Global Instance small_Decidable {bound n} : forall (p : Tuple.tuple Z n), Decidable (small bound p).
-Proof.
- destruct n; simpl; [ left | apply small_Decidable' ].
- intros ??; exfalso; assumption.
-Defined.
diff --git a/src/Arithmetic/Saturated/Wrappers.v b/src/Arithmetic/Saturated/Wrappers.v
deleted file mode 100644
index cbd4c42b5..000000000
--- a/src/Arithmetic/Saturated/Wrappers.v
+++ /dev/null
@@ -1,68 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.Saturated.Core.
-Require Import Crypto.Arithmetic.Saturated.MulSplit.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.CPS.
-Require Import Crypto.Util.Tuple.
-Local Notation "A ^ n" := (tuple A n) : type_scope.
-
-(* Define wrapper definitions that use Columns representation
-internally but with input and output in Positonal representation.*)
-Module Columns.
- Section Wrappers.
- Context (weight : nat->Z).
-
- Definition add_cps {n1 n2 n3} (p : Z^n1) (q : Z^n2)
- {T} (f : (Z*Z^n3)->T) :=
- B.Positional.to_associational_cps weight p
- (fun P => B.Positional.to_associational_cps weight q
- (fun Q => Columns.from_associational_cps weight n3 (P++Q)
- (fun R => Columns.compact_cps (div_cps:=@div_cps) (modulo_cps:=@modulo_cps) (add_get_carry_cps:=@Z.add_get_carry_full_cps) weight R f))).
-
- Definition unbalanced_sub_cps {n1 n2 n3} (p : Z^n1) (q:Z^n2)
- {T} (f : (Z*Z^n3)->T) :=
- B.Positional.to_associational_cps weight p
- (fun P => B.Positional.negate_snd_cps weight q
- (fun nq => B.Positional.to_associational_cps weight nq
- (fun Q => Columns.from_associational_cps weight n3 (P++Q)
- (fun R => Columns.compact_cps (div_cps:=@div_cps) (modulo_cps:=@modulo_cps) (add_get_carry_cps:=@Z.add_get_carry_full_cps) weight R f)))).
-
- Definition mul_cps {n1 n2 n3} s (p : Z^n1) (q : Z^n2)
- {T} (f : (Z*Z^n3)->T) :=
- B.Positional.to_associational_cps weight p
- (fun P => B.Positional.to_associational_cps weight q
- (fun Q => B.Associational.sat_mul_cps (mul_split_cps := @Z.mul_split_cps') s P Q
- (fun PQ => Columns.from_associational_cps weight n3 PQ
- (fun R => Columns.compact_cps (div_cps:=@div_cps) (modulo_cps:=@modulo_cps) (add_get_carry_cps:=@Z.add_get_carry_full_cps) weight R f)))).
-
- Definition conditional_add_cps {n1 n2 n3} mask cond (p:Z^n1) (q:Z^n2)
- {T} (f:_->T) :=
- B.Positional.select_cps mask cond q
- (fun qq => add_cps (n3:=n3) p qq f).
-
- End Wrappers.
-End Columns.
-Hint Unfold
- Columns.conditional_add_cps
- Columns.add_cps
- Columns.unbalanced_sub_cps
- Columns.mul_cps.
-
-Hint Unfold
- Columns.add_cps Columns.unbalanced_sub_cps Columns.mul_cps Columns.conditional_add_cps
- : basesystem_partial_evaluation_unfolder.
-
-Ltac basesystem_partial_evaluation_unfolder t :=
- let t := (eval cbv delta [Columns.add_cps Columns.unbalanced_sub_cps Columns.mul_cps Columns.conditional_add_cps] in t) in
- let t := Saturated.MulSplit.basesystem_partial_evaluation_unfolder t in
- let t := Saturated.Core.basesystem_partial_evaluation_unfolder t in
- let t := Arithmetic.Core.basesystem_partial_evaluation_unfolder t in
- t.
-
-Ltac Arithmetic.Core.basesystem_partial_evaluation_default_unfolder t ::=
- basesystem_partial_evaluation_unfolder t.
diff --git a/src/Arithmetic/Saturated/WrappersUnfolder.v b/src/Arithmetic/Saturated/WrappersUnfolder.v
deleted file mode 100644
index b8fe6afc6..000000000
--- a/src/Arithmetic/Saturated/WrappersUnfolder.v
+++ /dev/null
@@ -1,45 +0,0 @@
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.MulSplitUnfolder.
-Require Import Crypto.Arithmetic.Saturated.Wrappers.
-
-Hint Unfold Wrappers.Columns.add_cps Wrappers.Columns.unbalanced_sub_cps Wrappers.Columns.mul_cps : arithmetic_cps_unfolder.
-
-Module Columns.
- (**
-<<
-#!/bin/bash
-for i in add_cps unbalanced_sub_cps mul_cps conditional_add_cps; do
- echo " Definition ${i}_sig := parameterize_sig (@Wrappers.Columns.${i}).";
- echo " Definition ${i} := parameterize_from_sig ${i}_sig.";
- echo " Definition ${i}_eq := parameterize_eq ${i} ${i}_sig.";
- echo " Hint Unfold ${i} : basesystem_partial_evaluation_unfolder.";
- echo " Hint Rewrite <- ${i}_eq : pattern_runtime."; echo "";
-done
-echo "End Columns."
->> *)
- Definition add_cps_sig := parameterize_sig (@Wrappers.Columns.add_cps).
- Definition add_cps := parameterize_from_sig add_cps_sig.
- Definition add_cps_eq := parameterize_eq add_cps add_cps_sig.
- Hint Unfold add_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- add_cps_eq : pattern_runtime.
-
- Definition unbalanced_sub_cps_sig := parameterize_sig (@Wrappers.Columns.unbalanced_sub_cps).
- Definition unbalanced_sub_cps := parameterize_from_sig unbalanced_sub_cps_sig.
- Definition unbalanced_sub_cps_eq := parameterize_eq unbalanced_sub_cps unbalanced_sub_cps_sig.
- Hint Unfold unbalanced_sub_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- unbalanced_sub_cps_eq : pattern_runtime.
-
- Definition mul_cps_sig := parameterize_sig (@Wrappers.Columns.mul_cps).
- Definition mul_cps := parameterize_from_sig mul_cps_sig.
- Definition mul_cps_eq := parameterize_eq mul_cps mul_cps_sig.
- Hint Unfold mul_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- mul_cps_eq : pattern_runtime.
-
- Definition conditional_add_cps_sig := parameterize_sig (@Wrappers.Columns.conditional_add_cps).
- Definition conditional_add_cps := parameterize_from_sig conditional_add_cps_sig.
- Definition conditional_add_cps_eq := parameterize_eq conditional_add_cps conditional_add_cps_sig.
- Hint Unfold conditional_add_cps : basesystem_partial_evaluation_unfolder.
- Hint Rewrite <- conditional_add_cps_eq : pattern_runtime.
-
-End Columns.
diff --git a/src/Compilers/CommonSubexpressionElimination.v b/src/Compilers/CommonSubexpressionElimination.v
deleted file mode 100644
index c5ffeb088..000000000
--- a/src/Compilers/CommonSubexpressionElimination.v
+++ /dev/null
@@ -1,259 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.Lists.List.
-Require Import Coq.FSets.FMapInterface.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.AListContext.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.Decidable.
-
-Local Open Scope list_scope.
-
-Inductive symbolic_expr {base_type_code op_code} : Type :=
-| STT
-| SVar (n : nat)
-| SOp (argT : flat_type base_type_code) (op : op_code) (args : symbolic_expr)
-| SPair (x y : symbolic_expr)
-| SFst (A B : flat_type base_type_code) (x : symbolic_expr)
-| SSnd (A B : flat_type base_type_code) (x : symbolic_expr)
-| SInvalid.
-Scheme Equality for symbolic_expr.
-
-Arguments symbolic_expr : clear implicits.
-
-Global Instance symbolic_expr_dec {base_type_code op_code}
- `{DecidableRel (@eq base_type_code), DecidableRel (@eq op_code)}
- : DecidableRel (@eq (symbolic_expr base_type_code op_code)).
-Proof.
- unfold Decidable in *; intros; repeat decide equality.
-Defined.
-
-Ltac inversion_symbolic_expr_step :=
- match goal with
- | [ H : SVar _ = SVar _ |- _ ] => inversion H; clear H
- | [ H : SOp _ _ _ = SOp _ _ _ |- _ ] => inversion H; clear H
- | [ H : SPair _ _ = SPair _ _ |- _ ] => inversion H; clear H
- | [ H : SFst _ _ _ = SFst _ _ _ |- _ ] => inversion H; clear H
- | [ H : SSnd _ _ _ = SSnd _ _ _ |- _ ] => inversion H; clear H
- end.
-Ltac inversion_symbolic_expr := repeat inversion_symbolic_expr_step.
-
-Local Open Scope ctype_scope.
-Section symbolic.
- (** Holds decidably-equal versions of raw expressions, for lookup. *)
- Context (base_type_code : Type)
- (op_code : Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (op_code_beq : op_code -> op_code -> bool)
- (base_type_code_bl : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (op_code_bl : forall x y, op_code_beq x y = true -> x = y)
- (op_code_lb : forall x y, x = y -> op_code_beq x y = true)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (symbolize_op : forall s d, op s d -> op_code)
- (op_code_leb : op_code -> op_code -> bool)
- (base_type_leb : base_type_code -> base_type_code -> bool).
- Local Notation symbolic_expr := (symbolic_expr base_type_code op_code).
- Context (normalize_symbolic_op_arguments : op_code -> symbolic_expr -> symbolic_expr)
- (inline_symbolic_expr_in_lookup : bool).
-
- Local Notation symbolic_expr_beq := (@symbolic_expr_beq base_type_code op_code base_type_code_beq op_code_beq).
- Local Notation symbolic_expr_lb := (@internal_symbolic_expr_dec_lb base_type_code op_code base_type_code_beq op_code_beq base_type_code_lb op_code_lb).
- Local Notation symbolic_expr_bl := (@internal_symbolic_expr_dec_bl base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op_code_bl).
-
- Local Notation flat_type_beq := (@flat_type_beq base_type_code base_type_code_beq).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Definition SymbolicExprContext {var : flat_type -> Type}
- : Context symbolic_expr var
- := @AListContext symbolic_expr symbolic_expr_beq _ var flat_type_beq (@flat_type_dec_bl _ _ base_type_code_bl).
-
- Local Instance SymbolicExprContextOk {var} : ContextOk (@SymbolicExprContext var)
- := @AListContextOk
- symbolic_expr symbolic_expr_beq symbolic_expr_bl symbolic_expr_lb
- _ _ _ _ (@flat_type_dec_lb _ _ base_type_code_lb).
-
- Fixpoint push_pair_symbolic_expr {t : flat_type} (s : symbolic_expr)
- : interp_flat_type (fun _ => symbolic_expr) t
- := match t with
- | Unit => tt
- | Tbase T => s
- | Prod A B
- => (@push_pair_symbolic_expr A (SFst A B s), @push_pair_symbolic_expr B (SSnd A B s))
- end.
-
- Section with_var0.
- Context {var : base_type_code -> Type}.
-
- Fixpoint prepend_prefix {t} (e : @exprf var t) (ls : list (sigT (fun t : flat_type => @exprf var t)))
- : @exprf var t
- := match ls with
- | nil => e
- | x :: xs => LetIn (projT2 x) (fun _ => @prepend_prefix _ e xs)
- end.
- End with_var0.
-
- Local Notation op_code_eqb argT1 argT2 op1 op2
- := (flat_type_beq _ base_type_code_beq argT1 argT2 && op_code_beq op1 op2).
- Local Notation ltb_of_leb leb eqb
- := (leb && negb eqb).
- Local Notation leb_pair leb1 eqb1 leb2
- := (ltb_of_leb leb1 eqb1 || (eqb1 && leb2)).
- Local Notation op_code_ltb op1 op2
- := (ltb_of_leb (op_code_leb op1 op2)
- (op_code_beq op1 op2)).
-
- Fixpoint flat_type_leb (x y : flat_type) : bool
- := match x, y with
- | Unit, _ => true
- | _, Unit => false
- | Tbase x, Tbase y => base_type_leb x y
- | Tbase _, _ => true
- | _, Tbase _ => false
- | Prod A1 B1, Prod A2 B2
- => leb_pair (flat_type_leb A1 A2)
- (flat_type_beq A1 A2)
- (flat_type_leb B1 B2)
- end.
-
- Fixpoint symbolic_expr_leb (x y : symbolic_expr) : bool
- := match x, y with
- | STT, _ => true
- | _, STT => false
- | SVar n1, SVar n2 => Nat.leb n1 n2
- | SVar _, _ => true
- | _, SVar _ => false
- | SOp argT1 op1 args1, SOp argT2 op2 args2
- => leb_pair (leb_pair (op_code_leb op1 op2)
- (op_code_beq op1 op2)
- (flat_type_leb argT1 argT2))
- (op_code_beq op1 op2 && flat_type_beq argT1 argT2)
- (symbolic_expr_leb args1 args2)
- | SOp _ _ _, _ => true
- | _, SOp _ _ _ => false
- | SPair x1 y1, SPair x2 y2
- => leb_pair (symbolic_expr_leb x1 x2)
- (symbolic_expr_beq x1 x2)
- (symbolic_expr_leb y1 y2)
- | SPair _ _, _ => true
- | _, SPair _ _ => false
- | SFst A B x, SFst A' B' y
- => leb_pair (flat_type_leb (Prod A B) (Prod A' B'))
- (flat_type_beq (Prod A B) (Prod A' B'))
- (symbolic_expr_leb x y)
- | SFst _ _ _, _ => true
- | _, SFst _ _ _ => false
- | SSnd A B x, SSnd A' B' y
- => leb_pair (flat_type_leb (Prod A B) (Prod A' B'))
- (flat_type_beq (Prod A B) (Prod A' B'))
- (symbolic_expr_leb x y)
- | SSnd _ _ _, _ => true
- | _, SSnd _ _ _ => false
- | SInvalid, _ => true
- end.
- Definition symbolic_expr_ltb x y
- := ltb_of_leb (symbolic_expr_leb x y) (symbolic_expr_beq x y).
-
- Fixpoint symbolic_expr_normalize (x : symbolic_expr) : symbolic_expr
- := match x with
- | STT => STT
- | SVar n => SVar n
- | SOp argT op args
- => SOp argT op (normalize_symbolic_op_arguments op args)
- | SPair x y
- => SPair (symbolic_expr_normalize x) (symbolic_expr_normalize y)
- | SFst A B x => SFst A B (symbolic_expr_normalize x)
- | SSnd A B x => SFst A B (symbolic_expr_normalize x)
- | SInvalid => SInvalid
- end.
-
- Section with_var.
- Context {var : base_type_code -> Type}.
-
- Local Notation svar t := (var t * symbolic_expr)%type.
- Local Notation fsvar := (fun t => svar t).
- Local Notation mapping := (@SymbolicExprContext (interp_flat_type var)).
-
- Context (prefix : list (sigT (fun t : flat_type => @exprf fsvar t))).
-
- Definition symbolize_var (xs : mapping) (t : flat_type) : symbolic_expr :=
- SVar (length xs).
-
- Fixpoint symbolize_exprf
- {t} (v : @exprf fsvar t) {struct v}
- : option symbolic_expr
- := match v with
- | TT => Some STT
- | Var _ x => Some (snd x)
- | Op argsT _ op args => option_map
- (fun sargs => SOp argsT (symbolize_op _ _ op) sargs)
- (@symbolize_exprf _ args)
- | LetIn _ ex _ eC => None
- | Pair _ ex _ ey => match @symbolize_exprf _ ex, @symbolize_exprf _ ey with
- | Some sx, Some sy => Some (SPair sx sy)
- | _, _ => None
- end
- end.
-
- Definition norm_symbolize_exprf {t} v : option symbolic_expr
- := option_map symbolic_expr_normalize (@symbolize_exprf t v).
-
- Definition symbolicify_smart_var {t : flat_type}
- (vs : interp_flat_type var t)
- (ss : symbolic_expr)
- : interp_flat_type fsvar t
- := SmartVarfMap2 (fun t v s => (v, s)) vs (push_pair_symbolic_expr ss).
-
- Definition csef_step
- (csef : forall {t} (v : @exprf fsvar t) (xs : mapping), @exprf var t)
- {t} (v : @exprf fsvar t) (xs : mapping)
- : @exprf var t
- := match v in @Syntax.exprf _ _ _ t return exprf t with
- | LetIn tx ex _ eC
- => let sx := norm_symbolize_exprf ex in
- let ex' := @csef _ ex xs in
- let '(sx, sv) := match sx with
- | Some sx => (sx, lookupb xs sx)
- | None => (symbolize_var xs tx, None)
- end in
- let reduced_sx := if inline_symbolic_expr_in_lookup then sx else symbolize_var xs tx in
- match sv with
- | Some v => @csef _ (eC (symbolicify_smart_var v reduced_sx)) (extendb xs reduced_sx v)
- | None
- => LetIn ex' (fun x => let sx' := symbolicify_smart_var x reduced_sx in
- @csef _ (eC sx') (extendb (extendb xs sx x) reduced_sx x))
- end
- | TT => TT
- | Var _ x => Var (fst x)
- | Op _ _ op args => Op op (@csef _ args xs)
- | Pair _ ex _ ey => Pair (@csef _ ex xs) (@csef _ ey xs)
- end.
-
- Fixpoint csef {t} (v : @exprf fsvar t) (xs : mapping)
- := @csef_step (@csef) t v xs.
-
- Definition cse {t} (v : @expr fsvar t) (xs : mapping) : @expr var t
- := match v in @Syntax.expr _ _ _ t return expr t with
- | Abs src dst f
- => let sx := symbolize_var xs src in
- Abs (fun x => let x' := symbolicify_smart_var x sx in
- csef (prepend_prefix (f x') prefix) (extendb xs sx x))
- end.
- End with_var.
-
- Definition CSE {t} (e : Expr t) (prefix : forall var, list (sigT (fun t : flat_type => @exprf var t)))
- : Expr t
- := fun var => cse (prefix _) (e _) empty.
-End symbolic.
-
-Global Arguments csef {_} op_code base_type_code_beq op_code_beq base_type_code_bl {_} symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup {var t} _ _.
-Global Arguments cse {_} op_code base_type_code_beq op_code_beq base_type_code_bl {_} symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup {var} prefix {t} _ _.
-Global Arguments CSE {_} op_code base_type_code_beq op_code_beq base_type_code_bl {_} symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup {t} e prefix var.
diff --git a/src/Compilers/CommonSubexpressionEliminationDenote.v b/src/Compilers/CommonSubexpressionEliminationDenote.v
deleted file mode 100644
index 2218f62eb..000000000
--- a/src/Compilers/CommonSubexpressionEliminationDenote.v
+++ /dev/null
@@ -1,120 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.AListContext.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-
-Section symbolic.
- Context (base_type_code : Type)
- (op_code : Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (op_code_beq : op_code -> op_code -> bool)
- (base_type_code_bl : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (op_code_bl : forall x y, op_code_beq x y = true -> x = y)
- (op_code_lb : forall x y, x = y -> op_code_beq x y = true)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (symbolize_op : forall s d, op s d -> op_code)
- (denote_op : forall s d, op_code -> option (op s d))
- (denote_symbolize_op : forall s d opc, denote_op s d (symbolize_op s d opc) = Some opc).
-
- Local Notation symbolic_expr := (symbolic_expr base_type_code op_code).
- Local Notation symbolic_expr_beq := (@symbolic_expr_beq base_type_code op_code base_type_code_beq op_code_beq).
- Local Notation symbolic_expr_lb := (@internal_symbolic_expr_dec_lb base_type_code op_code base_type_code_beq op_code_beq base_type_code_lb op_code_lb).
- Local Notation symbolic_expr_bl := (@internal_symbolic_expr_dec_bl base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op_code_bl).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Local Notation flat_type_beq := (@flat_type_beq base_type_code base_type_code_beq).
- Local Notation flat_type_dec_bl := (@flat_type_dec_bl base_type_code base_type_code_beq base_type_code_bl).
-
- Local Notation symbolicify_smart_var := (@symbolicify_smart_var base_type_code op_code).
- Local Notation symbolize_exprf := (@symbolize_exprf base_type_code op_code op symbolize_op).
- Local Notation csef := (@csef base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op).
- Local Notation cse := (@cse base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op).
- Local Notation CSE := (@CSE base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op).
- Local Notation SymbolicExprContext := (@SymbolicExprContext base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl).
- Local Notation SymbolicExprContextOk := (@SymbolicExprContextOk base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl base_type_code_lb op_code_bl op_code_lb).
- Local Notation prepend_prefix := (@prepend_prefix base_type_code op).
-
- Section with_var.
- Context {interp_base_type : base_type_code -> Type}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- (m : @SymbolicExprContext (interp_flat_type interp_base_type)).
-
- Local Notation var_cast := (@var_cast _ (interp_flat_type interp_base_type) flat_type_beq flat_type_dec_bl).
- Fixpoint denote_symbolic_expr
- (t : flat_type)
- (se : symbolic_expr)
- : option (interp_flat_type interp_base_type t)
- := match se, t with
- | STT, Unit => Some tt
- | SVar n, t
- => match List.nth_error m (length m - S n) with
- | Some e => @var_cast _ t (projT2 (snd e))
- | None => None
- end
- | SOp argsT op args, _
- => match denote_op argsT t op, @denote_symbolic_expr argsT args with
- | Some opc, Some eargs => Some (interp_op _ _ opc eargs)
- | Some _, None | None, Some _ | None, None => None
- end
- | SPair x y, Prod A B
- => match @denote_symbolic_expr A x, @denote_symbolic_expr B y with
- | Some ex, Some ey => Some (ex, ey)
- | Some _, None | None, Some _ | None, None => None
- end
- | SFst A B x, A'
- => if flat_type_beq A A'
- then option_map (@fst _ _) (@denote_symbolic_expr (Prod A' B) x)
- else None
- | SSnd A B x, B'
- => if flat_type_beq B B'
- then option_map (@snd _ _) (@denote_symbolic_expr (Prod A B') x)
- else None
- | SInvalid, _
- | STT, _
- | SPair _ _, _
- => None
- end.
-
- Fail Lemma denote_symbolize_exprf
- (*(Hm : forall n v, List.nth_error m n = Some v -> denote_symbolic_expr *)
- t e se e'
- : @symbolize_exprf var t e = Some se
- -> denote_symbolic_expr t se = Some e'
- -> e' = e. (* The command has indeed failed with message:
-In environment
-base_type_code : Type
-op_code : Type
-base_type_code_beq : base_type_code -> base_type_code -> bool
-op_code_beq : op_code -> op_code -> bool
-base_type_code_bl : forall x y : base_type_code, base_type_code_beq x y = true -> x = y
-base_type_code_lb : forall x y : base_type_code, x = y -> base_type_code_beq x y = true
-op_code_bl : forall x y : op_code, op_code_beq x y = true -> x = y
-op_code_lb : forall x y : op_code, x = y -> op_code_beq x y = true
-op : flat_type -> flat_type -> Type
-symbolize_op : forall s d : flat_type, op s d -> op_code
-denote_op : forall s d : flat_type, op_code -> option (op s d)
-denote_symbolize_op : forall (s d : flat_type) (opc : op s d), denote_op s d (symbolize_op s d opc) = Some opc
-var : base_type_code -> Type
-m : SymbolicExprContext
-t : flat_type
-e : exprf t
-se : symbolic_expr
-e' : exprf t
-The term "e" has type
- "@Syntax.exprf base_type_code op
- (fun t : base_type_code => prod (var t) (CommonSubexpressionElimination.symbolic_expr base_type_code op_code)) t"
-while it is expected to have type "@Syntax.exprf base_type_code op var t".
- *)
- End with_var.
-End symbolic.
diff --git a/src/Compilers/CommonSubexpressionEliminationInterp.v b/src/Compilers/CommonSubexpressionEliminationInterp.v
deleted file mode 100644
index 2152b5466..000000000
--- a/src/Compilers/CommonSubexpressionEliminationInterp.v
+++ /dev/null
@@ -1,218 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.AListContext.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-Require Import Crypto.Compilers.CommonSubexpressionEliminationDenote.
-Require Import Crypto.Compilers.CommonSubexpressionEliminationWf.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Decidable.
-
-Section symbolic.
- Context (base_type_code : Type)
- (op_code : Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (op_code_beq : op_code -> op_code -> bool)
- (base_type_code_bl : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (op_code_bl : forall x y, op_code_beq x y = true -> x = y)
- (op_code_lb : forall x y, x = y -> op_code_beq x y = true)
- (interp_base_type : base_type_code -> Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (interp_op : forall s d (opc : op s d), interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d)
- (symbolize_op : forall s d, op s d -> op_code)
- (denote_op : forall s d, op_code -> option (op s d)).
- Local Notation symbolic_expr := (symbolic_expr base_type_code op_code).
- Context (normalize_symbolic_op_arguments : op_code -> symbolic_expr -> symbolic_expr)
- (inline_symbolic_expr_in_lookup : bool).
-
- Local Notation symbolic_expr_beq := (@symbolic_expr_beq base_type_code op_code base_type_code_beq op_code_beq).
- Local Notation symbolic_expr_lb := (@internal_symbolic_expr_dec_lb base_type_code op_code base_type_code_beq op_code_beq base_type_code_lb op_code_lb).
- Local Notation symbolic_expr_bl := (@internal_symbolic_expr_dec_bl base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op_code_bl).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type_gen := interp_flat_type.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Local Notation symbolicify_smart_var := (@symbolicify_smart_var base_type_code op_code).
- Local Notation symbolize_exprf := (@symbolize_exprf base_type_code op_code op symbolize_op).
- Local Notation csef := (@csef base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup).
- Local Notation cse := (@cse base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup).
- Local Notation CSE := (@CSE base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup).
- Local Notation SymbolicExprContext := (@SymbolicExprContext base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl).
- Local Notation SymbolicExprContextOk := (@SymbolicExprContextOk base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl base_type_code_lb op_code_bl op_code_lb).
- Local Notation prepend_prefix := (@prepend_prefix base_type_code op).
-
- Local Notation denote_symbolic_expr := (@denote_symbolic_expr base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op denote_op interp_base_type interp_op).
-
- Local Instance base_type_code_dec : DecidableRel (@eq base_type_code)
- := dec_rel_of_bool_dec_rel base_type_code_beq base_type_code_bl base_type_code_lb.
- Local Instance op_code_dec : DecidableRel (@eq op_code)
- := dec_rel_of_bool_dec_rel op_code_beq op_code_bl op_code_lb.
-
- Lemma interpf_flatten_binding_list T t x y v s
- (H : List.In (existT _ t (x, y)) (flatten_binding_list (var2:=interp_base_type) (t:=T) (symbolicify_smart_var v s) v))
- : fst x = y.
- Proof.
- revert dependent s; induction T;
- repeat first [ progress simpl in *
- | reflexivity
- | tauto
- | progress destruct_head or
- | progress inversion_sigma
- | progress inversion_prod
- | progress subst
- | rewrite List.in_app_iff in *
- | progress intros
- | solve [ eauto ] ].
- Qed.
-
- (*Lemma interpf_symbolize_exprf_injective
- s
- : forall G0 G1 t e0 e1 e0' e1'
- (HG0 : forall t x y, In (existT _ t (x, y)) G0 -> fst x = y)
- (HG1 : forall t x y, In (existT _ t (x, y)) G1 -> fst x = y)
- (Hwf0 : wff G0 (t:=t) e0 e0')
- (Hwf1 : wff G1 (t:=t) e1 e1')
- (Hs0 : symbolize_exprf e0 = Some s)
- (Hs1 : symbolize_exprf e1 = Some s),
- interpf interp_op e0' = interpf interp_op e1'.
- Proof.
- induction s; intros;
- destruct Hwf0;
- try (invert_one_expr e1; break_innermost_match; try exact I; intros);
- try (invert_one_expr e1'; break_innermost_match; try exact I; intros);
- try solve [ repeat first [ reflexivity
- | progress subst
- | progress destruct_head'_sig
- | progress destruct_head'_and
- | progress destruct_head'_prod
- | progress inversion_option
- | congruence
- | progress simpl in *
- | progress unfold option_map in *
- | progress inversion_wf_constr
- | break_innermost_match_hyps_step
- | match goal with
- | [ HG : forall t x y, In _ ?G -> fst x = y, H : In _ ?G |- _ ]
- => pose proof (HG _ _ _ H); progress subst
- end ] ].
- Focus 3.
- { simpl in *.
- Focus 3.
- try reflexivity;
- simpl in *.
- inversion_expr.
- .
- inversion_wf.
- move s at top; reverse.
- ->
-
-*)
-
-
-
- Local Arguments lookupb : simpl never.
- Local Arguments extendb : simpl never.
- Lemma interpf_csef G t e1 e2
- (HG : forall t x y, In (existT _ t (x, y)) G -> fst x = y)
- (m : @SymbolicExprContext (interp_flat_type_gen _))
- (HGm : forall t s v,
- lookupb m s = Some v
- -> forall k,
- List.In k (flatten_binding_list (@symbolicify_smart_var interp_base_type t v s) v)
- -> List.In k G)
- (Hm : forall t sv v,
- lookupb m sv = Some v
- -> denote_symbolic_expr m t sv = Some v)
- (Hwf : wff G e1 e2)
- : interpf interp_op (@csef interp_base_type t e1 m) = interpf interp_op e2.
- Proof.
- cbv beta in *.
- revert dependent m;
- induction Hwf; simpl; cbv [LetIn.Let_In symbolize_var]; intros; eauto;
- rewrite_hyp ?* by eauto; try reflexivity; eauto.
- (*{ break_match; break_match_hyps; try congruence; inversion_prod; inversion_option; subst;
- simpl; unfold LetIn.Let_In;
- [ match goal with
- | [ Hm : forall t e1 e2 s v, symbolize_exprf _ = _ -> _, H' : symbolize_exprf _ = _ |- _ ]
- => erewrite (Hm _ _ _ _ _ H') by eassumption
- end
- | rewrite_hyp !* by eauto
- | rewrite_hyp !* by eauto ];
- match goal with
- | [ H : context[interpf interp_op (csef _ _)] |- _ ] => erewrite H; [ reflexivity | | eauto | eauto ]
- end;
- intros *;
- try solve [ repeat first [ rewrite !(fun var => @lookupb_extendb_full flat_type _ symbolic_expr _ var _ SymbolicExprContextOk)
- | setoid_rewrite in_app_iff
- | progress break_innermost_match
- | progress subst
- | progress simpl in *
- | progress inversion_prod
- | progress inversion_option
- | progress destruct_head or
- | solve [ eauto using interpf_flatten_binding_list ]
- | progress intros ] ].
- admit.
- admit.
- admit. }*)
- Admitted.
-
- Lemma interpf_prepend_prefix t e prefix
- : interpf interp_op (@prepend_prefix _ t e prefix) = interpf interp_op e.
- Proof.
- induction prefix; simpl; [ reflexivity | unfold LetIn.Let_In; assumption ].
- Qed.
-
- Lemma interp_cse prefix t e1 e2
- (Hwf : wf e1 e2)
- : forall x, interp interp_op (@cse interp_base_type prefix t e1 empty) x = interp interp_op e2 x.
- Proof.
- destruct Hwf; simpl; intros.
- etransitivity; [ | eapply interpf_prepend_prefix ].
- eapply interpf_csef; eauto;
- [ ..
- | eapply wff_prepend_prefix; [ .. | solve [ eauto ] ] ].
- { intros; eapply interpf_flatten_binding_list; eassumption. }
- { admit. }
- { admit. }
- Admitted.
-
- Lemma InterpCSE t (e : Expr t)
- (prefix : forall var, list (sigT (fun t : flat_type => @exprf var t)))
- (*(Hlen : forall var1 var2, length (prefix var1) = length (prefix var2))
- (Hprefix : forall var1 var2 n t1 t2 e1 e2,
- nth_error (prefix var1) n = Some (existT _ t1 e1)
- -> nth_error (prefix var2) n = Some (existT _ t2 e2)
- -> exists pf : t1 = t2, wff nil (eq_rect _ exprf e1 _ pf) e2)*)
- (Hwf : Wf e)
- : forall x, Interp interp_op (@CSE t e prefix) x = Interp interp_op e x.
- Proof.
- apply interp_cse; auto.
- Qed.
-End symbolic.
-
-Hint Rewrite @InterpCSE using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/CommonSubexpressionEliminationProperties.v b/src/Compilers/CommonSubexpressionEliminationProperties.v
deleted file mode 100644
index b52afcb18..000000000
--- a/src/Compilers/CommonSubexpressionEliminationProperties.v
+++ /dev/null
@@ -1,189 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.omega.Omega.
-Require Import Coq.Lists.List.
-Require Import Coq.FSets.FMapInterface.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-Require Import Crypto.Util.NatUtil.
-
-Local Open Scope list_scope.
-
-Local Open Scope ctype_scope.
-Section symbolic.
- (** Holds decidably-equal versions of raw expressions, for lookup. *)
- Context (base_type_code : Type)
- (op_code : Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (op_code_beq : op_code -> op_code -> bool)
- (base_type_code_bl : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (op_code_bl : forall x y, op_code_beq x y = true -> x = y)
- (op_code_lb : forall x y, x = y -> op_code_beq x y = true)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (symbolize_op : forall s d, op s d -> op_code)
- (op_code_leb : op_code -> op_code -> bool)
- (base_type_leb : base_type_code -> base_type_code -> bool)
- (op_code_leb_total : forall x y, op_code_leb x y = true \/ op_code_leb y x = true)
- (base_type_leb_total : forall x y, base_type_leb x y = true \/ base_type_leb y x = true)
- (op_code_leb_antisymmetric : forall x y, op_code_leb x y = true -> op_code_leb y x = true -> op_code_beq x y = true)
- (base_type_leb_antisymmetric : forall x y, base_type_leb x y = true -> base_type_leb y x = true -> base_type_code_beq x y = true).
- Local Notation symbolic_expr := (symbolic_expr base_type_code op_code).
- Context (normalize_symbolic_op_arguments : op_code -> symbolic_expr -> symbolic_expr).
-
- Local Notation symbolic_expr_beq := (@symbolic_expr_beq base_type_code op_code base_type_code_beq op_code_beq).
- Local Notation symbolic_expr_lb := (@internal_symbolic_expr_dec_lb base_type_code op_code base_type_code_beq op_code_beq base_type_code_lb op_code_lb).
- Local Notation symbolic_expr_bl := (@internal_symbolic_expr_dec_bl base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op_code_bl).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Local Notation symbolic_expr_leb := (@symbolic_expr_leb base_type_code op_code base_type_code_beq op_code_beq op_code_leb base_type_leb).
- Local Notation flat_type_leb := (@flat_type_leb base_type_code base_type_code_beq base_type_leb).
- Local Notation flat_type_beq := (@flat_type_beq base_type_code base_type_code_beq).
- Local Notation flat_type_bl := (@internal_flat_type_dec_bl base_type_code base_type_code_beq base_type_code_bl).
- Local Notation flat_type_lb := (@internal_flat_type_dec_lb base_type_code base_type_code_beq base_type_code_lb).
-
- Lemma base_type_leb_reflexive x : base_type_leb x x = true.
- Proof using base_type_leb_total. destruct (base_type_leb_total x x); assumption. Qed.
-
- Lemma op_code_leb_reflexive x : op_code_leb x x = true.
- Proof using op_code_leb_total. destruct (op_code_leb_total x x); assumption. Qed.
-
- Theorem flat_type_leb_total : forall a1 a2, flat_type_leb a1 a2 = true \/ flat_type_leb a2 a1 = true.
- Proof using base_type_code_bl base_type_leb_total.
- induction a1, a2;
- repeat first [ progress simpl
- | progress subst
- | solve [ auto ]
- | match goal with
- | [ H : forall a2', ?leb ?a1 a2' = true \/ _ |- context[?leb ?a1 ?a2] ]
- => let H' := fresh in destruct (H a2) as [H'|H']; rewrite H'
- | [ H : flat_type_beq _ _ = true |- _ ] => apply flat_type_bl in H
- | [ |- context[flat_type_beq ?x ?y] ]
- => destruct (flat_type_beq x y) eqn:?
- end ].
- Qed.
-
- Theorem flat_type_leb_reflexive x : flat_type_leb x x = true.
- Proof using base_type_code_bl base_type_leb_total. destruct (flat_type_leb_total x x); assumption. Qed.
-
- Local Ltac rewrite_beq_leb_flat_type_op_code_reflexive :=
- repeat match goal with
- | [ H : flat_type_beq _ _ = true |- _ ] => apply flat_type_bl in H
- | [ H : op_code_beq _ _ = true |- _ ] => apply op_code_bl in H
- | [ H : symbolic_expr_beq _ _ = true |- _ ] => apply symbolic_expr_bl in H
- | [ H : context[flat_type_leb ?x ?x] |- _ ]
- => rewrite (flat_type_leb_reflexive x) in H
- | [ |- context[flat_type_leb ?x ?x] ]
- => rewrite (flat_type_leb_reflexive x)
- | [ H : context[flat_type_beq ?x ?x] |- _ ]
- => rewrite (flat_type_lb x x eq_refl) in H
- | [ |- context[flat_type_beq ?x ?x] ]
- => rewrite (flat_type_lb x x eq_refl)
- | [ H : context[op_code_leb ?x ?x] |- _ ]
- => rewrite (op_code_leb_reflexive x) in H
- | [ |- context[op_code_leb ?x ?x] ]
- => rewrite (op_code_leb_reflexive x)
- | [ H : context[op_code_beq ?x ?x] |- _ ]
- => rewrite (op_code_lb x x eq_refl) in H
- | [ |- context[op_code_beq ?x ?x] ]
- => rewrite (op_code_lb x x eq_refl)
- end.
-
- Theorem flat_type_leb_antisymmetric : forall a1 a2, flat_type_leb a1 a2 = true -> flat_type_leb a2 a1 = true -> flat_type_beq a1 a2 = true.
- Proof using base_type_code_bl base_type_code_lb base_type_leb_antisymmetric base_type_leb_total.
- induction a1, a2;
- repeat first [ progress simpl
- | progress subst
- | solve [ auto ]
- | progress rewrite ?andb_true_r, ?orb_false_r
- | progress rewrite_beq_leb_flat_type_op_code_reflexive
- | match goal with
- | [ |- context[flat_type_beq ?x ?y] ]
- => destruct (flat_type_beq x y) eqn:?
- | [ H : forall a2, ?leb ?x a2 = true -> ?leb a2 ?x = true -> _, H0 : ?leb ?x ?a2' = true, H1 : ?leb ?a2' ?x = true |- _ ]
- => specialize (H _ H0 H1)
- end
- | progress intros ].
- Qed.
-
- Theorem symbolic_expr_leb_total : forall a1 a2, symbolic_expr_leb a1 a2 = true \/ symbolic_expr_leb a2 a1 = true.
- Proof using base_type_code_bl base_type_code_lb base_type_leb_total op_code_bl op_code_lb op_code_leb_total.
- induction a1, a2;
- repeat first [ rewrite !PeanoNat.Nat.leb_le
- | progress subst
- | progress simpl
- | solve [ auto ]
- | omega
- | progress rewrite_beq_leb_flat_type_op_code_reflexive
- | match goal with
- | [ |- context[flat_type_beq ?x ?y] ]
- => destruct (flat_type_beq x y) eqn:?
- | [ |- context[op_code_beq ?x ?y] ]
- => destruct (op_code_beq x y) eqn:?
- | [ |- context[symbolic_expr_beq ?x ?y] ]
- => destruct (symbolic_expr_beq x y) eqn:?
- | [ H : forall a2', ?leb ?a1 a2' = true \/ _ |- context[?leb ?a1 ?a2] ]
- => let H' := fresh in destruct (H a2) as [H'|H']; rewrite H'
- | [ |- context[flat_type_leb ?a1 ?a2] ]
- => let H' := fresh in destruct (flat_type_leb_total a1 a2) as [H'|H']; rewrite H'
- | [ |- context[op_code_leb ?a1 ?a2] ]
- => let H' := fresh in destruct (op_code_leb_total a1 a2) as [H'|H']; rewrite H'
- end ].
- Qed.
-
- Theorem symbolic_expr_leb_reflexive x : symbolic_expr_leb x x = true.
- Proof using base_type_code_bl base_type_code_lb base_type_leb_total op_code_bl op_code_lb op_code_leb_total. destruct (symbolic_expr_leb_total x x); assumption. Qed.
-
- Local Ltac rewrite_beq_leb_symbolic_expr_reflexive :=
- repeat match goal with
- | [ H : symbolic_expr_beq _ _ = true |- _ ] => apply symbolic_expr_bl in H
- | [ H : context[symbolic_expr_leb ?x ?x] |- _ ]
- => rewrite (symbolic_expr_leb_reflexive x) in H
- | [ |- context[symbolic_expr_leb ?x ?x] ]
- => rewrite (symbolic_expr_leb_reflexive x)
- | [ H : context[symbolic_expr_beq ?x ?x] |- _ ]
- => rewrite (symbolic_expr_lb x x eq_refl) in H
- | [ |- context[symbolic_expr_beq ?x ?x] ]
- => rewrite (symbolic_expr_lb x x eq_refl)
- end.
-
- Theorem symbolic_expr_leb_antisymmetric : forall a1 a2, symbolic_expr_leb a1 a2 = true -> symbolic_expr_leb a2 a1 = true -> symbolic_expr_beq a1 a2 = true.
- Proof using base_type_code_bl base_type_code_lb base_type_leb_antisymmetric base_type_leb_total op_code_bl op_code_lb op_code_leb_antisymmetric op_code_leb_total.
- induction a1, a2;
- repeat first [ rewrite !PeanoNat.Nat.leb_le
- | progress subst
- | progress simpl
- | solve [ auto ]
- | omega
- | progress rewrite ?andb_true_r, ?orb_false_r
- | progress rewrite_beq_leb_flat_type_op_code_reflexive
- | progress rewrite_beq_leb_symbolic_expr_reflexive
- | match goal with
- | [ |- context[flat_type_beq ?x ?y] ]
- => destruct (flat_type_beq x y) eqn:?
- | [ |- context[op_code_beq ?x ?y] ]
- => destruct (op_code_beq x y) eqn:?
- | [ |- context[symbolic_expr_beq ?x ?y] ]
- => destruct (symbolic_expr_beq x y) eqn:?
- | [ |- context[nat_beq ?x ?x] ]
- => rewrite (internal_nat_dec_lb x x eq_refl)
- | [ |- context[flat_type_leb ?a1 ?a2] ]
- => let H' := fresh in destruct (flat_type_leb_total a1 a2) as [H'|H']; rewrite H'
- | [ |- context[op_code_leb ?a1 ?a2] ]
- => let H' := fresh in destruct (op_code_leb_total a1 a2) as [H'|H']; rewrite H'
- | [ H : ?x <= ?y, H' : ?y <= ?x |- _ ] => assert (x = y) by omega; clear H H'
- | [ H : forall a2, ?leb ?x a2 = true -> ?leb a2 ?x = true -> _, H0 : ?leb ?x ?a2' = true, H1 : ?leb ?a2' ?x = true |- _ ]
- => specialize (H _ H0 H1)
- | [ H0 : flat_type_leb ?x' ?y' = true, H1 : flat_type_leb ?y' ?x' = true |- _ ]
- => pose proof (flat_type_leb_antisymmetric _ _ H0 H1); clear H0 H1
- | [ H : forall x y, ?leb x y = true -> ?leb y x = true -> _, H0 : ?leb ?x' ?y' = true, H1 : ?leb ?y' ?x' = true |- _ ]
- => pose proof (H _ _ H0 H1); clear H0 H1
- end
- | progress intros ].
- Qed.
-End symbolic.
diff --git a/src/Compilers/CommonSubexpressionEliminationWf.v b/src/Compilers/CommonSubexpressionEliminationWf.v
deleted file mode 100644
index 8d7bf2727..000000000
--- a/src/Compilers/CommonSubexpressionEliminationWf.v
+++ /dev/null
@@ -1,223 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.AListContext.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Decidable.
-
-Section symbolic.
- Context (base_type_code : Type)
- (op_code : Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (op_code_beq : op_code -> op_code -> bool)
- (base_type_code_bl : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (op_code_bl : forall x y, op_code_beq x y = true -> x = y)
- (op_code_lb : forall x y, x = y -> op_code_beq x y = true)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (symbolize_op : forall s d, op s d -> op_code).
- Local Notation symbolic_expr := (symbolic_expr base_type_code op_code).
- Context (normalize_symbolic_op_arguments : op_code -> symbolic_expr -> symbolic_expr)
- (inline_symbolic_expr_in_lookup : bool).
-
- Local Notation symbolic_expr_beq := (@symbolic_expr_beq base_type_code op_code base_type_code_beq op_code_beq).
- Local Notation symbolic_expr_lb := (@internal_symbolic_expr_dec_lb base_type_code op_code base_type_code_beq op_code_beq base_type_code_lb op_code_lb).
- Local Notation symbolic_expr_bl := (@internal_symbolic_expr_dec_bl base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op_code_bl).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Local Notation symbolicify_smart_var := (@symbolicify_smart_var base_type_code op_code).
- Local Notation symbolize_exprf := (@symbolize_exprf base_type_code op_code op symbolize_op).
- Local Notation norm_symbolize_exprf := (@norm_symbolize_exprf base_type_code op_code op symbolize_op normalize_symbolic_op_arguments).
- Local Notation csef := (@csef base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup).
- Local Notation cse := (@cse base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup).
- Local Notation CSE := (@CSE base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl op symbolize_op normalize_symbolic_op_arguments inline_symbolic_expr_in_lookup).
- Local Notation SymbolicExprContext := (@SymbolicExprContext base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl).
- Local Notation SymbolicExprContextOk := (@SymbolicExprContextOk base_type_code op_code base_type_code_beq op_code_beq base_type_code_bl base_type_code_lb op_code_bl op_code_lb).
- Local Notation prepend_prefix := (@prepend_prefix base_type_code op).
-
- Local Instance base_type_code_dec : DecidableRel (@eq base_type_code)
- := dec_rel_of_bool_dec_rel base_type_code_beq base_type_code_bl base_type_code_lb.
- Local Instance op_code_dec : DecidableRel (@eq op_code)
- := dec_rel_of_bool_dec_rel op_code_beq op_code_bl op_code_lb.
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
-
- Lemma wff_symbolize_exprf G t e1 e2
- (HG : forall t x y, List.In (existT _ t (x, y)) G -> snd x = snd y)
- (Hwf : wff G e1 e2)
- : @symbolize_exprf var1 t e1 = @symbolize_exprf var2 t e2.
- Proof.
- induction Hwf; simpl; erewrite_hyp ?* by eassumption; reflexivity.
- Qed.
-
- Lemma wff_norm_symbolize_exprf G t e1 e2
- (HG : forall t x y, List.In (existT _ t (x, y)) G -> snd x = snd y)
- (Hwf : wff G e1 e2)
- : @norm_symbolize_exprf var1 t e1 = @norm_symbolize_exprf var2 t e2.
- Proof.
- unfold norm_symbolize_exprf; erewrite wff_symbolize_exprf by eassumption; reflexivity.
- Qed.
-
- Local Arguments lookupb : simpl never.
- Local Arguments extendb : simpl never.
- Lemma wff_csef G G' t e1 e2
- (m1 : @SymbolicExprContext (interp_flat_type var1))
- (m2 : @SymbolicExprContext (interp_flat_type var2))
- (Hlen : length m1 = length m2)
- (Hm1m2None : forall t v, lookupb t m1 v = None <-> lookupb t m2 v = None)
- (Hm1m2Some : forall t v sv1 sv2,
- lookupb t m1 v = Some sv1
- -> lookupb t m2 v = Some sv2
- -> forall k,
- List.In k (flatten_binding_list
- (t:=t)
- (symbolicify_smart_var sv1 v)
- (symbolicify_smart_var sv2 v))
- -> List.In k G)
- (HG : forall t x y, List.In (existT _ t (x, y)) G -> snd x = snd y)
- (HGG' : forall t x x', List.In (existT _ t (x, x')) G -> List.In (existT _ t (fst x, fst x')) G')
- (Hwf : wff G e1 e2)
- : wff G' (@csef var1 t e1 m1) (@csef var2 t e2 m2).
- Proof.
- revert dependent m1; revert m2; revert dependent G'.
- induction Hwf; simpl; intros G' HGG' m2 m1 Hlen Hm1m2None Hm1m2Some; try constructor; auto.
- { erewrite wff_norm_symbolize_exprf by eassumption.
- break_innermost_match;
- try match goal with
- | [ H : lookupb ?m1 ?x = Some ?k, H' : lookupb ?m2 ?x = None |- _ ]
- => apply Hm1m2None in H'; congruence
- end;
- lazymatch goal with
- | [ |- wff _ (LetIn _ _) (LetIn _ _) ]
- => constructor; intros; auto; []
- | _ => idtac
- end;
- match goal with H : _ |- _ => apply H end;
- try solve [ repeat first [ progress unfold symbolize_var
- | rewrite Hlen
- | progress subst
- | setoid_rewrite length_extendb
- | setoid_rewrite List.in_app_iff
- | progress destruct_head' or
- | solve [ eauto ]
- | progress intros
- | match goal with
- | [ H : List.In _ (flatten_binding_list (symbolicify_smart_var ?x1 ?v) (symbolicify_smart_var ?x2 ?v)) |- _ ]
- => solve [ destruct (flatten_binding_list_SmartVarfMap2_pair_In_split H); eauto ]
- | [ H : List.In _ (flatten_binding_list (symbolicify_smart_var ?x1 ?v) (symbolicify_smart_var ?x2 ?v)) |- _ ]
- => exact (flatten_binding_list_SmartVarfMap2_pair_same_in_eq2 H)
- | [ H : context[lookupb (extendb _ _ _) _] |- _ ]
- => rewrite (fun var => @lookupb_extendb_full flat_type _ symbolic_expr _ var _ SymbolicExprContextOk) in H
- end
- | rewrite !(fun var => @lookupb_extendb_full flat_type _ symbolic_expr _ var _ SymbolicExprContextOk)
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | progress simpl in *
- | solve [ intuition (eauto || congruence) ]
- | match goal with
- | [ H : forall t x y, _ |- _ ] => specialize (fun t x0 x1 y0 y1 => H t (x0, x1) (y0, y1)); cbn [fst snd] in H
- | [ H : In (existT _ ?t (?x, ?x')) (flatten_binding_list (symbolicify_smart_var _ _) (symbolicify_smart_var _ _)),
- Hm1m2Some : forall t v sv1 sv2, _ -> _ -> forall k', In k' (flatten_binding_list _ _) -> In k' ?G |- _ ]
- => is_var x; is_var x';
- lazymatch goal with
- | [ H : In (existT _ t ((fst x, _), (fst x', _))) G |- _ ] => fail
- | _ => let H' := fresh in
- refine (let H' := flatten_binding_list_SmartVarfMap2_pair_in_generalize2 H _ _ in _);
- destruct H' as [? [? H']];
- eapply Hm1m2Some in H'; [ | eassumption.. ]
- end
- end ] ].
- repeat first [ progress unfold symbolize_var
- | rewrite Hlen
- | progress subst
- | setoid_rewrite length_extendb
- | setoid_rewrite List.in_app_iff
- | progress destruct_head' or
- | solve [ eauto ]
- | progress intros ].
- (** FIXME: This actually isn't true, because the symbolic
- expr stored in G might not be the same as the one in the
- expression tree, when the one in the expression tree is a
- fresh var *)
- admit. }
- Admitted.
-
- Lemma wff_prepend_prefix {var1' var2'} prefix1 prefix2 G t e1 e2
- (Hlen : length prefix1 = length prefix2)
- (Hprefix : forall n t1 t2 e1 e2,
- nth_error prefix1 n = Some (existT _ t1 e1)
- -> nth_error prefix2 n = Some (existT _ t2 e2)
- -> exists pf : t1 = t2, wff nil (eq_rect _ exprf e1 _ pf) e2)
- (Hwf : wff G e1 e2)
- : wff G (@prepend_prefix var1' t e1 prefix1) (@prepend_prefix var2' t e2 prefix2).
- Proof.
- revert dependent G; revert dependent prefix2; induction prefix1, prefix2; simpl; intros Hlen Hprefix G Hwf; try congruence.
- { pose proof (Hprefix 0) as H0; specialize (fun n => Hprefix (S n)).
- destruct_head sigT; simpl in *.
- specialize (H0 _ _ _ _ eq_refl eq_refl); destruct_head ex; subst; simpl in *.
- constructor.
- { eapply wff_in_impl_Proper; [ eassumption | simpl; tauto ]. }
- { intros.
- apply IHprefix1; try congruence; auto.
- eapply wff_in_impl_Proper; [ eassumption | simpl; intros; rewrite in_app_iff; auto ]. } }
- Qed.
-
- Lemma wf_cse prefix1 prefix2 t e1 e2 (Hwf : wf e1 e2)
- (Hlen : length prefix1 = length prefix2)
- (Hprefix : forall n t1 t2 e1 e2,
- nth_error prefix1 n = Some (existT _ t1 e1)
- -> nth_error prefix2 n = Some (existT _ t2 e2)
- -> exists pf : t1 = t2, wff nil (eq_rect _ exprf e1 _ pf) e2)
- : wf (@cse var1 prefix1 t e1 empty) (@cse var2 prefix2 t e2 empty).
- Proof.
- destruct Hwf; simpl; constructor; intros.
- lazymatch goal with
- | [ |- wff (flatten_binding_list (t:=?src) ?x ?y) (csef _ (extendb _ ?n ?v)) (csef _ (extendb _ ?n' ?v')) ]
- => unify n n';
- apply wff_csef with (G:=flatten_binding_list (t:=src) (symbolicify_smart_var v n) (symbolicify_smart_var v' n'))
- end.
- { setoid_rewrite length_extendb; reflexivity. }
- { intros; rewrite !(fun var => @lookupb_extendb_full flat_type _ symbolic_expr _ var _ SymbolicExprContextOk).
- break_innermost_match; subst; simpl; intuition (eauto || congruence). }
- { intros *; rewrite !(fun var => @lookupb_extendb_full flat_type _ symbolic_expr _ var _ SymbolicExprContextOk).
- break_innermost_match; subst; simpl; try setoid_rewrite lookupb_empty; eauto using SymbolicExprContextOk; try congruence. }
- { intros *; intro H'; exact (flatten_binding_list_SmartVarfMap2_pair_same_in_eq2 H'). }
- { intros *; intro H'; destruct (flatten_binding_list_SmartVarfMap2_pair_In_split H'); eauto. }
- { apply wff_prepend_prefix; auto. }
- Qed.
- End with_var.
-
- Lemma Wf_CSE t (e : Expr t)
- (prefix : forall var, list (sigT (fun t : flat_type => @exprf var t)))
- (Hlen : forall var1 var2, length (prefix var1) = length (prefix var2))
- (Hprefix : forall var1 var2 n t1 t2 e1 e2,
- nth_error (prefix var1) n = Some (existT _ t1 e1)
- -> nth_error (prefix var2) n = Some (existT _ t2 e2)
- -> exists pf : t1 = t2, wff nil (eq_rect _ exprf e1 _ pf) e2)
- (Hwf : Wf e)
- : Wf (@CSE t e prefix).
- Proof.
- intros var1 var2; apply wf_cse; eauto.
- Qed.
-End symbolic.
-
-Hint Resolve Wf_CSE : wf.
diff --git a/src/Compilers/Conversion.v b/src/Compilers/Conversion.v
deleted file mode 100644
index 29874c96f..000000000
--- a/src/Compilers/Conversion.v
+++ /dev/null
@@ -1,110 +0,0 @@
-(** * Convert between interpretations of types *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Map.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-
-Local Open Scope expr_scope.
-
-Section language.
- Context (base_type_code : Type).
- Context (op : flat_type base_type_code -> flat_type base_type_code -> Type).
- Section map.
- Context {var1 var2 : base_type_code -> Type}.
- Context (f_var12 : forall t, var1 t -> var2 t)
- (f_var21 : forall t, var2 t -> var1 t).
-
- Fixpoint mapf
- {t}
- (e : @exprf base_type_code op var1 t)
- : @exprf base_type_code op var2 t
- := match e in @exprf _ _ _ t return @exprf _ _ _ t with
- | TT => TT
- | Var _ x => Var (f_var12 _ x)
- | Op _ _ op args => Op op (@mapf _ args)
- | LetIn _ ex _ eC => LetIn (@mapf _ ex)
- (fun x => @mapf _ (eC (mapf_interp_flat_type f_var21 x)))
- | Pair _ ex _ ey => Pair (@mapf _ ex)
- (@mapf _ ey)
- end.
-
- Definition map {t} (e : @expr base_type_code op var1 t)
- : @expr base_type_code op var2 t
- := match e with
- | Abs _ _ f => Abs (fun x => mapf (f (mapf_interp_flat_type f_var21 x)))
- end.
- End map.
-
- Section mapf_id.
- Context (functional_extensionality : forall {A B} (f g : A -> B), (forall x, f x = g x) -> f = g)
- {var : base_type_code -> Type}.
-
- Lemma mapf_idmap_ext {t} e
- : @mapf var var
- (fun _ x => x) (fun _ x => x)
- t e
- = e.
- Proof using functional_extensionality.
- induction e;
- repeat match goal with
- | _ => reflexivity
- | _ => progress simpl in *
- | _ => rewrite_hyp !*
- | _ => apply (f_equal2 (fun x f => LetIn x f))
- | _ => solve [ eauto ]
- | _ => apply functional_extensionality; intro
- end.
- clear e IHe H.
- revert dependent tC; induction tx; simpl; [ reflexivity | reflexivity | ]; intros.
- destruct x as [x0 x1]; simpl in *.
- lazymatch goal with
- | [ |- ?e0 (?x0', ?x1')%core = _ ]
- => rewrite (IHtx1 x0 _ (fun x0'' => e0 (x0'', x1')%core)); cbv beta in *
- end.
- lazymatch goal with
- | [ |- ?e0 (?x0', ?x1')%core = _ ]
- => rewrite (IHtx2 x1 _ (fun x1'' => e0 (x0', x1'')%core)); cbv beta in *
- end.
- reflexivity.
- Qed.
- End mapf_id.
-
- Section mapf_id_interp.
- Context {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst)
- (f_var12 f_var21 : forall t, interp_base_type t -> interp_base_type t)
- (f_var12_id : forall t x, f_var12 t x = x)
- (f_var21_id : forall t x, f_var21 t x = x).
-
- Lemma mapf_idmap {t} e
- : interpf interp_op
- (@mapf _ _
- f_var12 f_var21
- t e)
- = interpf interp_op e.
- Proof using f_var12_id f_var21_id.
- induction e;
- repeat match goal with
- | _ => progress unfold LetIn.Let_In
- | _ => reflexivity
- | _ => progress simpl in *
- | _ => rewrite_hyp !*
- | _ => apply (f_equal2 (fun x f => LetIn x f))
- | _ => solve [ eauto ]
- end.
- clear H IHe.
- generalize (interpf interp_op e); intro x; clear e.
- revert dependent tC; induction tx; simpl;
- [ intros; rewrite_hyp ?*; reflexivity | reflexivity | ]; intros.
- destruct x as [x0 x1]; simpl in *.
- lazymatch goal with
- | [ |- interpf _ (?e0 (?x0', ?x1')%core) = _ ]
- => rewrite (IHtx1 x0 _ (fun x0'' => e0 (x0'', x1')%core)); cbv beta in *
- end.
- lazymatch goal with
- | [ |- interpf _ (?e0 (?x0', ?x1')%core) = _ ]
- => apply (IHtx2 x1 _ (fun x1'' => e0 (x0', x1'')%core)); cbv beta in *
- end.
- Qed.
- End mapf_id_interp.
-End language.
diff --git a/src/Compilers/CountLets.v b/src/Compilers/CountLets.v
deleted file mode 100644
index 4810162c8..000000000
--- a/src/Compilers/CountLets.v
+++ /dev/null
@@ -1,66 +0,0 @@
-(** * Counts how many binders there are *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation Expr := (@Expr base_type_code op).
-
- Fixpoint count_pairs (t : flat_type) : nat
- := match t with
- | Tbase _ => 1
- | Unit => 0
- | Prod A B => count_pairs A + count_pairs B
- end%nat.
-
- Section with_var.
- Context {var : base_type_code -> Type}
- (mkVar : forall t, var t).
-
- Local Notation exprf := (@exprf base_type_code op var).
- Local Notation expr := (@expr base_type_code op var).
-
- Section gen.
- Context (count_type_let : flat_type -> nat).
- Context (count_type_abs : flat_type -> nat).
-
- Fixpoint count_lets_genf {t} (e : exprf t) : nat
- := match e with
- | LetIn tx _ _ eC
- => count_type_let tx + @count_lets_genf _ (eC (SmartValf var mkVar tx))
- | Op _ _ _ e => @count_lets_genf _ e
- | Pair _ ex _ ey => @count_lets_genf _ ex + @count_lets_genf _ ey
- | _ => 0
- end.
- Definition count_lets_gen {t} (e : expr t) : nat
- := match e with
- | Abs tx _ f => count_type_abs tx + @count_lets_genf _ (f (SmartValf _ mkVar tx))
- end.
- End gen.
-
- Definition count_let_bindersf {t} (e : exprf t) : nat
- := count_lets_genf count_pairs e.
- Definition count_letsf {t} (e : exprf t) : nat
- := count_lets_genf (fun _ => 1) e.
- Definition count_let_binders {t} (e : expr t) : nat
- := count_lets_gen count_pairs (fun _ => 0) e.
- Definition count_lets {t} (e : expr t) : nat
- := count_lets_gen (fun _ => 1) (fun _ => 0) e.
- Definition count_binders {t} (e : expr t) : nat
- := count_lets_gen count_pairs count_pairs e.
- End with_var.
-
- Definition CountLetsGen (count_type_let : flat_type -> nat) (count_type_abs : flat_type -> nat) {t} (e : Expr t) : nat
- := count_lets_gen (fun _ => tt) count_type_let count_type_abs (e _).
- Definition CountLetBinders {t} (e : Expr t) : nat
- := count_let_binders (fun _ => tt) (e _).
- Definition CountLets {t} (e : Expr t) : nat
- := count_lets (fun _ => tt) (e _).
- Definition CountBinders {t} (e : Expr t) : nat
- := count_binders (fun _ => tt) (e _).
-End language.
diff --git a/src/Compilers/Equality.v b/src/Compilers/Equality.v
deleted file mode 100644
index 2b54a7892..000000000
--- a/src/Compilers/Equality.v
+++ /dev/null
@@ -1,90 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.FixCoqMistakes.
-
-Section language.
- Context (base_type_code : Type)
- (eq_base_type_code : base_type_code -> base_type_code -> bool)
- (base_type_code_bl : forall x y, eq_base_type_code x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> eq_base_type_code x y = true).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
-
- Fixpoint flat_type_beq (X Y : flat_type) {struct X} : bool
- := match X, Y with
- | Tbase T, Tbase T0 => eq_base_type_code T T0
- | Unit, Unit => true
- | Prod A B, Prod A0 B0 => (flat_type_beq A A0 && flat_type_beq B B0)%bool
- | Tbase _, _
- | Prod _ _, _
- | Unit, _
- => false
- end.
- Local Ltac t :=
- repeat match goal with
- | _ => intro
- | _ => reflexivity
- | _ => assumption
- | _ => progress simpl in *
- | _ => solve [ eauto with nocore ]
- | [ H : False |- _ ] => exfalso; assumption
- | [ H : false = true |- _ ] => apply Bool.diff_false_true in H
- | [ |- Prod _ _ = Prod _ _ ] => apply f_equal2
- | [ |- Arrow _ _ = Arrow _ _ ] => apply f_equal2
- | [ |- Tbase _ = Tbase _ ] => apply f_equal
- | [ H : forall Y, _ = true -> _ = Y |- _ = ?Y' ]
- => is_var Y'; apply H; solve [ t ]
- | [ H : forall X Y, X = Y -> _ = true |- _ = true ]
- => eapply H; solve [ t ]
- | [ H : true = true |- _ ] => clear H
- | [ H : andb ?x ?y = true |- _ ]
- => destruct x, y; simpl in H; solve [ t ]
- | [ H : andb ?x ?y = true |- _ ]
- => destruct x eqn:?; simpl in H
- | [ H : ?f ?x = true |- _ ] => destruct (f x); solve [ t ]
- | [ H : ?x = true |- andb _ ?x = true ]
- => destruct x
- | [ |- andb ?x _ = true ]
- => cut (x = true); [ destruct x; simpl | ]
- end.
- Lemma flat_type_dec_bl X : forall Y, flat_type_beq X Y = true -> X = Y.
- Proof. clear base_type_code_lb; induction X, Y; t. Defined.
- Lemma flat_type_dec_lb X : forall Y, X = Y -> flat_type_beq X Y = true.
- Proof. clear base_type_code_bl; intros Y **; subst Y; induction X; t. Defined.
- Definition flat_type_eq_dec (X Y : flat_type) : {X = Y} + {X <> Y}
- := match Sumbool.sumbool_of_bool (flat_type_beq X Y) with
- | left pf => left (flat_type_dec_bl _ _ pf)
- | right pf => right (fun pf' => let pf'' := eq_sym (flat_type_dec_lb _ _ pf') in
- Bool.diff_true_false (eq_trans pf'' pf))
- end.
- Definition type_beq (X Y : type) : bool
- := match X, Y with
- | Arrow A B, Arrow A0 B0 => (flat_type_beq A A0 && flat_type_beq B B0)%bool
- end.
- Lemma type_dec_bl X : forall Y, type_beq X Y = true -> X = Y.
- Proof. clear base_type_code_lb; pose proof flat_type_dec_bl; induction X, Y; t. Defined.
- Lemma type_dec_lb X : forall Y, X = Y -> type_beq X Y = true.
- Proof. clear base_type_code_bl; pose proof flat_type_dec_lb; intros Y **; subst Y; induction X; t. Defined.
- Definition type_eq_dec (X Y : type) : {X = Y} + {X <> Y}
- := match Sumbool.sumbool_of_bool (type_beq X Y) with
- | left pf => left (type_dec_bl _ _ pf)
- | right pf => right (fun pf' => let pf'' := eq_sym (type_dec_lb _ _ pf') in
- Bool.diff_true_false (eq_trans pf'' pf))
- end.
-End language.
-
-Lemma dec_eq_flat_type {base_type_code} `{DecidableRel (@eq base_type_code)}
- : DecidableRel (@eq (flat_type base_type_code)).
-Proof.
- repeat intro; hnf; decide equality; apply dec; auto.
-Defined.
-Hint Extern 1 (Decidable (@eq (flat_type ?base_type_code) ?x ?y))
-=> simple apply (@dec_eq_flat_type base_type_code) : typeclass_instances.
-Lemma dec_eq_type {base_type_code} `{DecidableRel (@eq base_type_code)}
- : DecidableRel (@eq (type base_type_code)).
-Proof.
- repeat intro; hnf; decide equality; apply dec; typeclasses eauto.
-Defined.
-Hint Extern 1 (Decidable (@eq (type ?base_type_code) ?x ?y))
-=> simple apply (@dec_eq_type base_type_code) : typeclass_instances.
diff --git a/src/Compilers/Eta.v b/src/Compilers/Eta.v
deleted file mode 100644
index 9ca778f15..000000000
--- a/src/Compilers/Eta.v
+++ /dev/null
@@ -1,75 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Local Notation Expr := (@Expr base_type_code op).
- Section with_var.
- Context {var : base_type_code -> Type}.
- Local Notation exprf := (@exprf base_type_code op var).
- Local Notation expr := (@expr base_type_code op var).
-
- Section gen_flat_type.
- Context (eta : forall {A B}, A * B -> A * B).
- Fixpoint interp_flat_type_eta_gen {t T} : (interp_flat_type var t -> T) -> interp_flat_type var t -> T
- := match t return (interp_flat_type var t -> T) -> interp_flat_type var t -> T with
- | Tbase T => fun f => f
- | Unit => fun f => f
- | Prod A B
- => fun f x
- => let '(a, b) := eta _ _ x in
- @interp_flat_type_eta_gen
- A _
- (fun a' => @interp_flat_type_eta_gen B _ (fun b' => f (a', b')) b)
- a
- end.
-
- Section gen_type.
- Context (exprf_eta : forall {t} (e : exprf t), exprf t).
- Definition expr_eta_gen {t} (e : expr t) : expr (Arrow (domain t) (codomain t))
- := Abs (interp_flat_type_eta_gen (fun x => exprf_eta _ (invert_Abs e x))).
- End gen_type.
-
- Fixpoint exprf_eta_gen {t} (e : exprf t) : exprf t
- := match e in Syntax.exprf _ _ t return exprf t with
- | TT => TT
- | Var t v => Var v
- | Op t1 tR opc args => Op opc (@exprf_eta_gen _ args)
- | LetIn tx ex tC eC
- => LetIn (@exprf_eta_gen _ ex)
- (interp_flat_type_eta_gen (fun x => @exprf_eta_gen _ (eC x)))
- | Pair tx ex ty ey => Pair (@exprf_eta_gen _ ex) (@exprf_eta_gen _ ey)
- end.
- End gen_flat_type.
-
- Definition interp_flat_type_eta {t T}
- := @interp_flat_type_eta_gen (fun _ _ x => x) t T.
- Definition interp_flat_type_eta' {t T}
- := @interp_flat_type_eta_gen (fun _ _ x => (fst x, snd x)) t T.
- Definition exprf_eta {t}
- := @exprf_eta_gen (fun _ _ x => x) t.
- Definition exprf_eta' {t}
- := @exprf_eta_gen (fun _ _ x => (fst x, snd x)) t.
- Definition expr_eta {t}
- := @expr_eta_gen (fun _ _ x => x) (@exprf_eta) t.
- Definition expr_eta' {t}
- := @expr_eta_gen (fun _ _ x => (fst x, snd x)) (@exprf_eta') t.
- End with_var.
- Definition ExprEtaGen eta {t} (e : Expr t) : Expr (Arrow (domain t) (codomain t))
- := fun var => expr_eta_gen eta (@exprf_eta_gen var eta) (e var).
- Definition ExprEta {t} (e : Expr t) : Expr (Arrow (domain t) (codomain t))
- := fun var => expr_eta (e var).
- Definition ExprEta' {t} (e : Expr t) : Expr (Arrow (domain t) (codomain t))
- := fun var => expr_eta' (e var).
-End language.
-(* put these outside the section so the argument order lines up with
- [interp] and [Interp] *)
-Definition interp_eta {base_type_code interp_base_type op} interp_op
- {t} (e : @expr base_type_code op interp_base_type t)
- : interp_type interp_base_type t
- := interp_flat_type_eta (interp interp_op e).
-Definition InterpEta {base_type_code interp_base_type op} interp_op
- {t} (e : @Expr base_type_code op t)
- : interp_type interp_base_type t
- := interp_eta interp_op (e _).
diff --git a/src/Compilers/EtaInterp.v b/src/Compilers/EtaInterp.v
deleted file mode 100644
index 2b6bd9b86..000000000
--- a/src/Compilers/EtaInterp.v
+++ /dev/null
@@ -1,118 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Eta.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section language.
- Context {base_type_code : Type}
- {interp_base_type : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}.
-
- Local Notation exprf := (@exprf base_type_code op interp_base_type).
-
- Local Ltac t_step :=
- match goal with
- | _ => reflexivity
- | _ => progress simpl in *
- | _ => intro
- | _ => progress break_match
- | _ => progress destruct_head prod
- | _ => progress cbv [LetIn.Let_In]
- | [ H : _ |- _ ] => rewrite H
- | _ => progress autorewrite with core
- | [ H : forall A B x, ?f A B x = x, H' : context[?f _ _ _] |- _ ]
- => rewrite H in H'
- | _ => progress unfold interp_flat_type_eta, interp_flat_type_eta', exprf_eta, exprf_eta', expr_eta, expr_eta'
- end.
- Local Ltac t := repeat t_step.
-
- Section gen_flat_type.
- Context (eta : forall {A B}, A * B -> A * B)
- (eq_eta : forall A B x, @eta A B x = x).
- Lemma eq_interp_flat_type_eta_gen {var t T f} x
- : @interp_flat_type_eta_gen base_type_code var eta t T f x = f x.
- Proof using eq_eta. induction t; t. Qed.
-
- (* Local *) Hint Rewrite @eq_interp_flat_type_eta_gen.
-
- Section gen_type.
- Context (exprf_eta : forall {t} (e : exprf t), exprf t)
- (eq_interp_exprf_eta : forall t e, interpf (@interp_op) (@exprf_eta t e) = interpf (@interp_op) e).
- Lemma interp_expr_eta_gen {t e}
- : forall x,
- interp (@interp_op) (expr_eta_gen eta exprf_eta (t:=t) e) x = interp (@interp_op) e x.
- Proof using Type*. t. Qed.
- End gen_type.
- (* Local *) Hint Rewrite @interp_expr_eta_gen.
-
- Lemma interpf_exprf_eta_gen {t e}
- : interpf (@interp_op) (exprf_eta_gen eta (t:=t) e) = interpf (@interp_op) e.
- Proof using eq_eta. induction e; t. Qed.
-
- Lemma InterpExprEtaGen {t e}
- : forall x, Interp (@interp_op) (ExprEtaGen eta (t:=t) e) x = Interp (@interp_op) e x.
- Proof using eq_eta. apply interp_expr_eta_gen; intros; apply interpf_exprf_eta_gen. Qed.
- End gen_flat_type.
- (* Local *) Hint Rewrite @eq_interp_flat_type_eta_gen.
- (* Local *) Hint Rewrite @interp_expr_eta_gen.
- (* Local *) Hint Rewrite @interpf_exprf_eta_gen.
-
- Lemma eq_interp_flat_type_eta {var t T f} x
- : @interp_flat_type_eta base_type_code var t T f x = f x.
- Proof using Type. t. Qed.
- (* Local *) Hint Rewrite @eq_interp_flat_type_eta.
- Lemma eq_interp_flat_type_eta' {var t T f} x
- : @interp_flat_type_eta' base_type_code var t T f x = f x.
- Proof using Type. t. Qed.
- (* Local *) Hint Rewrite @eq_interp_flat_type_eta'.
- Lemma interpf_exprf_eta {t e}
- : interpf (@interp_op) (exprf_eta (t:=t) e) = interpf (@interp_op) e.
- Proof using Type. t. Qed.
- (* Local *) Hint Rewrite @interpf_exprf_eta.
- Lemma interpf_exprf_eta' {t e}
- : interpf (@interp_op) (exprf_eta' (t:=t) e) = interpf (@interp_op) e.
- Proof using Type. t. Qed.
- (* Local *) Hint Rewrite @interpf_exprf_eta'.
- Lemma interp_expr_eta {t e}
- : forall x, interp (@interp_op) (expr_eta (t:=t) e) x = interp (@interp_op) e x.
- Proof using Type. t. Qed.
- Lemma interp_expr_eta' {t e}
- : forall x, interp (@interp_op) (expr_eta' (t:=t) e) x = interp (@interp_op) e x.
- Proof using Type. t. Qed.
- Lemma InterpExprEta {t e}
- : forall x, Interp (@interp_op) (ExprEta (t:=t) e) x = Interp (@interp_op) e x.
- Proof using Type. apply interp_expr_eta. Qed.
- Lemma InterpExprEta' {t e}
- : forall x, Interp (@interp_op) (ExprEta' (t:=t) e) x = Interp (@interp_op) e x.
- Proof using Type. apply interp_expr_eta'. Qed.
- Lemma InterpExprEta_arrow {s d e}
- : forall x, Interp (t:=Arrow s d) (@interp_op) (ExprEta (t:=Arrow s d) e) x = Interp (@interp_op) e x.
- Proof using Type. exact (@InterpExprEta (Arrow s d) e). Qed.
- Lemma InterpExprEta'_arrow {s d e}
- : forall x, Interp (t:=Arrow s d) (@interp_op) (ExprEta' (t:=Arrow s d) e) x = Interp (@interp_op) e x.
- Proof using Type. exact (@InterpExprEta' (Arrow s d) e). Qed.
-
- Lemma InterpExprEta_ind {t} (P : _ -> Prop) {e x}
- : P (Interp (@interp_op) e x) -> P (Interp (@interp_op) (ExprEta (t:=t) e) x).
- Proof using Type. rewrite InterpExprEta; exact id. Qed.
- Lemma InterpExprEta'_ind {t} (P : _ -> Prop) {e x}
- : P (Interp (@interp_op) e x) -> P (Interp (@interp_op) (ExprEta' (t:=t) e) x).
- Proof using Type. rewrite InterpExprEta'; exact id. Qed.
- Lemma InterpExprEta_arrow_ind {s d} (P : _ -> Prop) {e x}
- : P (Interp (@interp_op) e x) -> P (Interp (t:=Arrow s d) (@interp_op) (ExprEta (t:=Arrow s d) e) x).
- Proof using Type. rewrite InterpExprEta_arrow; exact id. Qed.
- Lemma InterpExprEta'_arrow_ind {s d} (P : _ -> Prop) {e x}
- : P (Interp (@interp_op) e x) -> P (Interp (t:=Arrow s d) (@interp_op) (ExprEta' (t:=Arrow s d) e) x).
- Proof using Type. rewrite InterpExprEta'_arrow; exact id. Qed.
-
- Lemma eq_interp_eta {t e}
- : forall x, interp_eta interp_op (t:=t) e x = interp interp_op e x.
- Proof using Type. apply eq_interp_flat_type_eta. Qed.
- Lemma eq_InterpEta {t e}
- : forall x, InterpEta interp_op (t:=t) e x = Interp interp_op e x.
- Proof using Type. apply eq_interp_eta. Qed.
-End language.
-
-Hint Rewrite @eq_interp_flat_type_eta @eq_interp_flat_type_eta' @interpf_exprf_eta @interpf_exprf_eta' @interp_expr_eta @interp_expr_eta' @InterpExprEta @InterpExprEta' @InterpExprEta_arrow @InterpExprEta'_arrow @eq_interp_eta @eq_InterpEta : reflective_interp.
diff --git a/src/Compilers/EtaWf.v b/src/Compilers/EtaWf.v
deleted file mode 100644
index 1134b5d05..000000000
--- a/src/Compilers/EtaWf.v
+++ /dev/null
@@ -1,122 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Eta.
-Require Import Crypto.Compilers.EtaInterp.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SplitInContext.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Local Notation exprf := (@exprf base_type_code op).
-
- Local Ltac t_step :=
- match goal with
- | _ => intro
- | _ => progress subst
- | _ => progress destruct_head' sig
- | _ => progress destruct_head' and
- | _ => progress simpl in *
- | _ => progress inversion_expr
- | _ => progress destruct_head' @expr
- | _ => progress invert_expr_step
- | [ |- iff _ _ ] => split
- | [ |- wf _ _ ] => constructor
- | _ => progress split_iff
- | _ => rewrite eq_interp_flat_type_eta_gen by assumption
- | [ H : _ |- _ ] => rewrite eq_interp_flat_type_eta_gen in H by assumption
- | [ H : context[interp_flat_type_eta_gen] |- _ ]
- => setoid_rewrite eq_interp_flat_type_eta_gen in H; [ | assumption.. ]
- | _ => progress break_match
- | [ H : wff _ _ _ |- _ ] => solve [ inversion H ]
- | [ |- wff _ _ _ ] => constructor
- | _ => solve [ auto | congruence | tauto ]
- end.
- Local Ltac t := repeat t_step.
-
- Local Hint Constructors wff.
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
- Section gen_flat_type.
- Context (eta : forall {A B}, A * B -> A * B)
- (eq_eta : forall A B x, @eta A B x = x).
- Section gen_type.
- Context (exprf_eta1 : forall {t} (e : exprf t), exprf t)
- (exprf_eta2 : forall {t} (e : exprf t), exprf t)
- (wff_exprf_eta : forall G t e1 e2, @wff _ _ var1 var2 G t e1 e2
- <-> @wff _ _ var1 var2 G t (@exprf_eta1 t e1) (@exprf_eta2 t e2)).
- Lemma wf_expr_eta_gen {t e1 e2}
- : wf (expr_eta_gen eta exprf_eta1 (t:=t) e1)
- (expr_eta_gen eta exprf_eta2 (t:=t) e2)
- <-> wf e1 e2.
- Proof using Type*. unfold expr_eta_gen; t; inversion_wf_step; t. Qed.
- End gen_type.
-
- Lemma wff_exprf_eta_gen {t e1 e2} G
- : wff G (exprf_eta_gen eta (t:=t) e1) (exprf_eta_gen eta (t:=t) e2)
- <-> @wff base_type_code op var1 var2 G t e1 e2.
- Proof using eq_eta.
- revert G; induction e1; first [ progress invert_expr | destruct e2 ];
- t; inversion_wf_step; t.
- Qed.
- End gen_flat_type.
-
- (* Local *) Hint Resolve -> wff_exprf_eta_gen.
- (* Local *) Hint Resolve <- wff_exprf_eta_gen.
-
- Lemma wff_exprf_eta {G t e1 e2}
- : wff G (exprf_eta (t:=t) e1) (exprf_eta (t:=t) e2)
- <-> @wff base_type_code op var1 var2 G t e1 e2.
- Proof using Type. setoid_rewrite wff_exprf_eta_gen; reflexivity. Qed.
- Lemma wff_exprf_eta' {G t e1 e2}
- : wff G (exprf_eta' (t:=t) e1) (exprf_eta' (t:=t) e2)
- <-> @wff base_type_code op var1 var2 G t e1 e2.
- Proof using Type. setoid_rewrite wff_exprf_eta_gen; intuition. Qed.
- Lemma wf_expr_eta {t e1 e2}
- : wf (expr_eta (t:=t) e1) (expr_eta (t:=t) e2)
- <-> @wf base_type_code op var1 var2 t e1 e2.
- Proof using Type.
- unfold expr_eta, exprf_eta.
- setoid_rewrite wf_expr_eta_gen; intuition (solve [ eapply wff_exprf_eta_gen; [ | eassumption ]; intuition ] || eauto).
- Qed.
- Lemma wf_expr_eta' {t e1 e2}
- : wf (expr_eta' (t:=t) e1) (expr_eta' (t:=t) e2)
- <-> @wf base_type_code op var1 var2 t e1 e2.
- Proof using Type.
- unfold expr_eta', exprf_eta'.
- setoid_rewrite wf_expr_eta_gen; intuition (solve [ eapply wff_exprf_eta_gen; [ | eassumption ]; intuition ] || eauto).
- Qed.
- End with_var.
-
- Lemma Wf_ExprEtaGen
- (eta : forall {A B}, A * B -> A * B)
- (eq_eta : forall A B x, @eta A B x = x)
- {t e}
- : Wf (ExprEtaGen (@eta) e) <-> @Wf base_type_code op t e.
- Proof using Type.
- split; intros H var1 var2; specialize (H var1 var2);
- revert H; eapply wf_expr_eta_gen; try eassumption; intros;
- symmetry; apply wff_exprf_eta_gen;
- auto.
- Qed.
- Lemma Wf_ExprEta_iff
- {t e}
- : Wf (ExprEta e) <-> @Wf base_type_code op t e.
- Proof using Type.
- unfold Wf; setoid_rewrite wf_expr_eta; reflexivity.
- Qed.
- Lemma Wf_ExprEta'_iff
- {t e}
- : Wf (ExprEta' e) <-> @Wf base_type_code op t e.
- Proof using Type.
- unfold Wf; setoid_rewrite wf_expr_eta'; reflexivity.
- Qed.
- Definition Wf_ExprEta {t e} : Wf e -> Wf (ExprEta e) := proj2 (@Wf_ExprEta_iff t e).
- Definition Wf_ExprEta' {t e} : Wf e -> Wf (ExprEta' e) := proj2 (@Wf_ExprEta'_iff t e).
-End language.
-
-Hint Resolve Wf_ExprEta Wf_ExprEta' : wf.
diff --git a/src/Compilers/ExprInversion.v b/src/Compilers/ExprInversion.v
deleted file mode 100644
index f3b469e83..000000000
--- a/src/Compilers/ExprInversion.v
+++ /dev/null
@@ -1,359 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Notations.
-
-Section language.
- Context {base_type_code : Type}
- {interp_base_type : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type_gen := interp_flat_type.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}.
-
- Local Notation exprf := (@exprf base_type_code op var).
- Local Notation expr := (@expr base_type_code op var).
-
- Definition invert_Var {t} (e : exprf (Tbase t)) : option (var t)
- := match e in Syntax.exprf _ _ t'
- return option (var match t' with
- | Tbase t' => t'
- | _ => t
- end)
- with
- | Var _ v => Some v
- | _ => None
- end.
- Definition invert_Op {t} (e : exprf t) : option { t1 : flat_type & op t1 t * exprf t1 }%type
- := match e with Op _ _ opc args => Some (existT _ _ (opc, args)) | _ => None end.
- Definition invert_LetIn {A} (e : exprf A) : option { B : _ & exprf B * (Syntax.interp_flat_type var B -> exprf A) }%type
- := match e in Syntax.exprf _ _ t return option { B : _ & _ * (_ -> exprf t) }%type with
- | LetIn _ ex _ eC => Some (existT _ _ (ex, eC))
- | _ => None
- end.
- Definition invert_Pair {A B} (e : exprf (Prod A B)) : option (exprf A * exprf B)
- := match e in Syntax.exprf _ _ t
- return option match t with
- | Prod _ _ => _
- | _ => unit
- end with
- | Pair _ x _ y => Some (x, y)%core
- | _ => None
- end.
- Definition invert_Abs {T} (e : expr T) : interp_flat_type_gen var (domain T) -> exprf (codomain T)
- := match e with Abs _ _ f => f end.
-
- Section const.
- Context (invert_Const : forall s d, op s d -> exprf s -> option (interp_flat_type d)).
-
- Fixpoint lift_option {t} : interp_flat_type t -> interp_flat_type_gen (fun t => option (interp_base_type t)) t
- := match t with
- | Tbase T => fun x => Some x
- | Unit => fun _ => tt
- | Prod A B => fun (ab : interp_flat_type A * interp_flat_type B)
- => let '(a, b) := ab in
- (lift_option a, lift_option b)
- end.
-
- Fixpoint invert_PairsConst_gen {T} (e : exprf T)
- : option (interp_flat_type_gen (fun t => option (interp_base_type t)) T)
- := match e in Syntax.exprf _ _ t return option (interp_flat_type_gen (fun t => option (interp_base_type t)) t) with
- | TT => Some tt
- | Pair tx ex ty ey
- => match @invert_PairsConst_gen tx ex, @invert_PairsConst_gen ty ey with
- | Some x, Some y => Some (x, y)
- | Some _, None | None, Some _ | None, None => None
- end
- | Op s d opv args
- => option_map lift_option (invert_Const s d opv args)
- | Var _ _
- | LetIn _ _ _ _
- => None
- end.
- Fixpoint invert_PairsConst {T} (e : exprf T)
- : option (interp_flat_type T)
- := match e in Syntax.exprf _ _ t return option (interp_flat_type t) with
- | TT => Some tt
- | Pair tx ex ty ey
- => match @invert_PairsConst tx ex, @invert_PairsConst ty ey with
- | Some x, Some y => Some (x, y)
- | Some _, None | None, Some _ | None, None => None
- end
- | Op s d opv args
- => invert_Const s d opv args
- | Var _ _
- | LetIn _ _ _ _
- => None
- end.
- End const.
-
- Fixpoint invert_Pairs {T} (e : exprf T) : option (interp_flat_type_gen (fun ty => exprf (Tbase ty)) T)
- := match e in Syntax.exprf _ _ t
- return option (interp_flat_type_gen (fun ty => exprf (Tbase ty)) t)
- with
- | TT => Some tt
- | Var t _ as e => Some e
- | Pair tx ex ty ey
- => match @invert_Pairs tx ex, @invert_Pairs ty ey with
- | Some x, Some y => Some (x, y)
- | Some _, None | None, Some _ | None, None => None
- end
- | Op _ t _ _ as e
- | LetIn _ _ t _ as e
- => match t return exprf t -> option (interp_flat_type_gen _ t) with
- | Tbase _ => fun e => Some e
- | _ => fun _ => None
- end e
- end.
-
- Definition compose {A B C} (f : expr (B -> C)) (g : expr (A -> B))
- : expr (A -> C)
- := Abs (fun v => LetIn (invert_Abs g v)
- (invert_Abs f)).
-
- Definition exprf_code {t} (e : exprf t) : exprf t -> Prop
- := match e with
- | TT => fun e' => TT = e'
- | Var _ v => fun e' => invert_Var e' = Some v
- | Pair _ x _ y => fun e' => invert_Pair e' = Some (x, y)%core
- | Op _ _ opc args => fun e' => invert_Op e' = Some (existT _ _ (opc, args)%core)
- | LetIn _ ex _ eC => fun e' => invert_LetIn e' = Some (existT _ _ (ex, eC)%core)
- end.
-
- Definition expr_code {t} (e1 e2 : expr t) : Prop
- := invert_Abs e1 = invert_Abs e2.
-
- Definition exprf_encode {t} (x y : exprf t) : x = y -> exprf_code x y.
- Proof. intro p; destruct p, x; reflexivity. Defined.
- Definition expr_encode {t} (x y : expr t) : x = y -> expr_code x y.
- Proof. intro p; destruct p, x; reflexivity. Defined.
-
- Local Ltac t' :=
- repeat first [ intro
- | progress simpl in *
- | reflexivity
- | assumption
- | progress destruct_head False
- | progress subst
- | progress inversion_option
- | progress inversion_sigma
- | progress break_match ].
- Local Ltac t :=
- lazymatch goal with
- | [ |- _ = Some ?v -> ?e = _ ]
- => revert v;
- refine match e with
- | Var _ _ => _
- | _ => _
- end
- | [ |- _ = ?v -> ?e = _ ]
- => revert v;
- refine match e with
- | Abs _ _ _ => _
- end
- end;
- t'.
-
- Lemma invert_Var_Some {t e v}
- : @invert_Var t e = Some v -> e = Var v.
- Proof. t. Defined.
-
- Lemma invert_Op_Some {t e v}
- : @invert_Op t e = Some v -> e = Op (fst (projT2 v)) (snd (projT2 v)).
- Proof. t. Defined.
-
- Lemma invert_LetIn_Some {t e v}
- : @invert_LetIn t e = Some v -> e = LetIn (fst (projT2 v)) (snd (projT2 v)).
- Proof. t. Defined.
-
- Lemma invert_Pair_Some {A B e v}
- : @invert_Pair A B e = Some v -> e = Pair (fst v) (snd v).
- Proof. t. Defined.
-
- Lemma invert_Abs_Some {A B e v}
- : @invert_Abs (Arrow A B) e = v -> e = Abs v.
- Proof. t. Defined.
-
- Definition exprf_decode {t} (x y : exprf t) : exprf_code x y -> x = y.
- Proof.
- destruct x; simpl; trivial;
- intro H;
- first [ apply invert_Var_Some in H
- | apply invert_Op_Some in H
- | apply invert_LetIn_Some in H
- | apply invert_Pair_Some in H ];
- symmetry; assumption.
- Defined.
- Definition expr_decode {t} (x y : expr t) : expr_code x y -> x = y.
- Proof.
- destruct x; unfold expr_code; simpl.
- intro H; symmetry in H.
- apply invert_Abs_Some in H.
- symmetry; assumption.
- Defined.
- Definition path_exprf_rect {t} {x y : exprf t} (Q : x = y -> Type)
- (f : forall p, Q (exprf_decode x y p))
- : forall p, Q p.
- Proof. intro p; specialize (f (exprf_encode x y p)); destruct x, p; exact f. Defined.
- Definition path_expr_rect {t} {x y : expr t} (Q : x = y -> Type)
- (f : forall p, Q (expr_decode x y p))
- : forall p, Q p.
- Proof. intro p; specialize (f (expr_encode x y p)); destruct x, p; exact f. Defined.
- End with_var.
-
- Lemma interpf_invert_Abs interp_op {T e} x
- : Syntax.interpf interp_op (@invert_Abs interp_base_type T e x)
- = Syntax.interp interp_op e x.
- Proof using Type. destruct e; reflexivity. Qed.
-
- Lemma interpf_invert_PairsConst invert_Const interp_op {T} e v
- (Hinvert_Const
- : forall s d opc e v, invert_Const s d opc e = Some v
- -> interp_op s d opc (interpf interp_op e) = v)
- (H : invert_PairsConst (T:=T) invert_Const e = Some v)
- : Syntax.interpf interp_op e = v.
- Proof using Type.
- induction e;
- repeat first [ reflexivity
- | progress subst
- | solve [ auto ]
- | progress inversion_option
- | progress inversion_prod
- | progress simpl in *
- | progress break_innermost_match_hyps
- | apply (f_equal2 (@pair _ _)) ].
- Qed.
-
- Definition Compose {A B C} (f : Expr (B -> C)) (g : Expr (A -> B))
- : Expr (A -> C)
- := fun var => compose (f var) (g var).
-
- Lemma InterpCompose {A B C} interp_op f g
- : forall x, Interp interp_op (@Compose A B C f g) x
- = Interp interp_op f (Interp (interp_base_type:=interp_base_type) interp_op g x).
- Proof. reflexivity. Qed.
-End language.
-
-Global Arguments invert_Var {_ _ _ _} _.
-Global Arguments invert_Op {_ _ _ _} _.
-Global Arguments invert_LetIn {_ _ _ _} _.
-Global Arguments invert_Pair {_ _ _ _ _} _.
-Global Arguments invert_Pairs {_ _ _ _} _.
-Global Arguments invert_PairsConst {_ _ _ _} _ {T} _.
-Global Arguments invert_Abs {_ _ _ _} _ _.
-
-Hint Rewrite @InterpCompose : reflective_rewrite.
-
-Module Export Notations.
- Infix "∘" := Compose : expr_scope.
- Infix "∘f" := compose : expr_scope.
- Infix "∘ᶠ" := compose : expr_scope.
-End Notations.
-
-Ltac invert_one_expr e :=
- preinvert_one_type e;
- intros ? e;
- destruct e;
- try exact I.
-
-Ltac invert_expr_step :=
- match goal with
- | [ e : exprf _ _ (Tbase _) |- _ ] => invert_one_expr e
- | [ e : exprf _ _ (Prod _ _) |- _ ] => invert_one_expr e
- | [ e : exprf _ _ Unit |- _ ] => invert_one_expr e
- | [ e : expr _ _ (Arrow _ _) |- _ ] => invert_one_expr e
- end.
-
-Ltac invert_expr := repeat invert_expr_step.
-
-Ltac invert_match_expr_step :=
- match goal with
- | [ |- context[match ?e with TT => _ | _ => _ end] ]
- => invert_one_expr e
- | [ |- context[match ?e with Abs _ _ _ => _ end] ]
- => invert_one_expr e
- | [ H : context[match ?e with TT => _ | _ => _ end] |- _ ]
- => invert_one_expr e
- | [ H : context[match ?e with Abs _ _ _ => _ end] |- _ ]
- => invert_one_expr e
- end.
-
-Ltac invert_match_expr := repeat invert_match_expr_step.
-
-Ltac invert_expr_subst_step_helper guard_tac :=
- match goal with
- | [ H : invert_Var ?e = Some _ |- _ ] => guard_tac H; apply invert_Var_Some in H
- | [ H : invert_Op ?e = Some _ |- _ ] => guard_tac H; apply invert_Op_Some in H
- | [ H : invert_LetIn ?e = Some _ |- _ ] => guard_tac H; apply invert_LetIn_Some in H
- | [ H : invert_Pair ?e = Some _ |- _ ] => guard_tac H; apply invert_Pair_Some in H
- | [ e : expr _ _ _ |- _ ]
- => guard_tac e;
- let f := fresh e in
- let H := fresh in
- rename e into f;
- remember (invert_Abs f) as e eqn:H;
- symmetry in H;
- apply invert_Abs_Some in H;
- subst f
- | [ H : invert_Abs ?e = _ |- _ ] => guard_tac H; apply invert_Abs_Some in H
- end.
-Ltac invert_expr_subst_step :=
- first [ invert_expr_subst_step_helper ltac:(fun _ => idtac)
- | subst ].
-Ltac invert_expr_subst := repeat invert_expr_subst_step.
-
-Ltac induction_expr_in_using H rect :=
- induction H as [H] using (rect _ _ _);
- cbv [exprf_code expr_code invert_Var invert_LetIn invert_Pair invert_Op invert_Abs] in H;
- try lazymatch type of H with
- | Some _ = Some _ => apply option_leq_to_eq in H; unfold option_eq in H
- | Some _ = None => exfalso; clear -H; solve [ inversion H ]
- | None = Some _ => exfalso; clear -H; solve [ inversion H ]
- end;
- let H1 := fresh H in
- let H2 := fresh H in
- try lazymatch type of H with
- | existT _ _ _ = existT _ _ _ => induction_sigma_in_using H @path_sigT_rect
- end;
- try lazymatch type of H2 with
- | _ = (_, _)%core => induction_path_prod H2
- end.
-Ltac inversion_expr_step :=
- match goal with
- | [ H : _ = Var _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : _ = TT |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : _ = Op _ _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : _ = Pair _ _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : _ = LetIn _ _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : _ = Abs _ |- _ ]
- => induction_expr_in_using H @path_expr_rect
- | [ H : Var _ = _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : TT = _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : Op _ _ = _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : Pair _ _ = _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : LetIn _ _ = _ |- _ ]
- => induction_expr_in_using H @path_exprf_rect
- | [ H : Abs _ = _ |- _ ]
- => induction_expr_in_using H @path_expr_rect
- end.
-Ltac inversion_expr := repeat inversion_expr_step.
diff --git a/src/Compilers/FilterLive.v b/src/Compilers/FilterLive.v
deleted file mode 100644
index f54a8febb..000000000
--- a/src/Compilers/FilterLive.v
+++ /dev/null
@@ -1,70 +0,0 @@
-(** * Computes a list of live variables *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Util.ListUtil.
-
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope ctype_scope.
-Section language.
- Context (base_type_code : Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (Name : Type)
- (dead_name : Name)
- (merge_names : Name -> Name -> Name)
- (* equations:
- - [merge_names x dead_name = merge_names dead_name x = x]
- - [merge_names x x = x] *).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation var := (fun t : base_type_code => list Name).
- Local Notation exprf := (@exprf base_type_code op var).
- Local Notation expr := (@expr base_type_code op var).
- Local Notation Expr := (@Expr base_type_code op var).
-
- Fixpoint merge_name_lists (ls1 ls2 : list Name) : list Name :=
- match ls1, ls2 with
- | cons x xs, cons y ys => cons (merge_names x y) (merge_name_lists xs ys)
- | ls1, nil => ls1
- | nil, ls2 => ls2
- end.
-
- Definition names_to_list {t} : interp_flat_type (fun _ : base_type_code => Name) t -> list Name
- := smart_interp_flat_map (g:=fun _ => list Name) (fun _ x => x :: nil)%list nil (fun _ _ x y => x ++ y)%list.
-
- Fixpoint filter_live_namesf (prefix remaining : list Name) {t} (e : exprf t) : list Name
- := match e with
- | TT => prefix
- | Var _ x => x
- | Op _ _ op args => @filter_live_namesf prefix remaining _ args
- | LetIn tx ex _ eC
- => let namesx := @filter_live_namesf prefix nil _ ex in
- let '(ns, remaining') := eta (split_names tx remaining) in
- match ns with
- | Some n =>
- @filter_live_namesf
- (prefix ++ List.repeat dead_name (count_pairs tx))%list remaining' _
- (eC (SmartValf (fun _ => list Name) (fun _ => namesx ++ names_to_list n)%list _))
- | None => nil
- end
- | Pair _ ex _ ey => merge_name_lists (@filter_live_namesf prefix remaining _ ex)
- (@filter_live_namesf prefix remaining _ ey)
- end.
-
- Definition filter_live_names (prefix remaining : list Name) {t} (e : expr t) : list Name
- := match e with
- | Abs src _ ef
- => let '(ns, remaining') := eta (split_names src remaining) in
- match ns with
- | Some n =>
- let prefix' := (prefix ++ names_to_list n)%list in
- filter_live_namesf
- prefix' remaining'
- (ef (SmartValf _ (fun _ => prefix') src))
- | None => nil
- end
- end.
-End language.
diff --git a/src/Compilers/FoldTypes.v b/src/Compilers/FoldTypes.v
deleted file mode 100644
index 0b923fcc9..000000000
--- a/src/Compilers/FoldTypes.v
+++ /dev/null
@@ -1,45 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.SmartMap.
-
-Section language.
- Context {base_type_code} {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Section generic_type.
- Context {A}
- (process : base_type_code -> A)
- (fold : A -> A -> A).
-
- Section with_var.
- Context {var : base_type_code -> Type}
- (init : A)
- (dummy : forall t, var t).
-
- Fixpoint fold_flat_type (t : flat_type base_type_code) : A
- := match t with
- | Tbase T => process T
- | Unit => init
- | Prod A B => fold (fold_flat_type A) (fold_flat_type B)
- end.
-
- Fixpoint type_foldf {t} (e : @exprf base_type_code op var t) : A
- := match e with
- | TT => init
- | Var t v => process t
- | Op t tR opc args
- => fold (@type_foldf t args) (fold_flat_type tR)
- | LetIn tx ex tC eC
- => fold (@type_foldf tx ex)
- (@type_foldf tC (eC (SmartValf _ dummy _)))
- | Pair tx ex ty ey
- => fold (@type_foldf tx ex) (@type_foldf ty ey)
- end.
-
- Definition type_fold {t} (e : @expr base_type_code op var t) : A
- := fold (fold_flat_type (domain t)) (type_foldf (invert_Abs e (SmartValf _ dummy _))).
- End with_var.
-
- Definition TypeFold (init : A) {t} (e : Expr base_type_code op t) : A
- := type_fold init (fun _ => tt) (e (fun _ => unit)).
- End generic_type.
-End language.
diff --git a/src/Compilers/GeneralizeVar.v b/src/Compilers/GeneralizeVar.v
deleted file mode 100644
index d73c3efd2..000000000
--- a/src/Compilers/GeneralizeVar.v
+++ /dev/null
@@ -1,39 +0,0 @@
-(** * Generalize [var] in [exprf] *)
-Require Import Coq.PArith.BinPos.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.InterpretToPHOAS.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.Syntax.
-
-(** N.B. This procedure only works when there are no nested lets,
- i.e., nothing like [let x := let y := z in w] in the PHOAS syntax
- tree. This is a limitation of [compile]. *)
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t)).
-
- Local Notation PContext var := (PositiveContext _ var _ base_type_code_bl_transparent).
-
- Definition GeneralizeVar {t} (e : @Syntax.expr base_type_code op (fun _ => FMapPositive.PositiveMap.key) t)
- : option (@Syntax.Expr base_type_code op (domain t -> codomain t))
- := let e := compile e (default_names_for (fun _ => 1%positive) e) in
- let e := match e with
- | Some e
- => match wf_unit (Context:=PContext _) empty e with
- | Some PointedProp.trivial => Some e
- | Some (PointedProp.inject _) => None
- | None => None
- end
- | None => None
- end in
- let e := option_map (InterpToPHOAS (Context:=fun var => PContext var) failb) e in
- e.
-End language.
diff --git a/src/Compilers/GeneralizeVarInterp.v b/src/Compilers/GeneralizeVarInterp.v
deleted file mode 100644
index aa7109ab1..000000000
--- a/src/Compilers/GeneralizeVarInterp.v
+++ /dev/null
@@ -1,79 +0,0 @@
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.InterpretToPHOASInterp.
-Require Import Crypto.Compilers.Named.CompileInterp.
-Require Import Crypto.Compilers.Named.CompileInterpSideConditions.
-Require Import Crypto.Compilers.Named.CompileWf.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Named.PositiveContext.DefaultsProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.GeneralizeVar.
-Require Import Crypto.Compilers.InterpSideConditions.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t))
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation GeneralizeVar
- := (@GeneralizeVar
- base_type_code op base_type_code_beq base_type_code_bl_transparent
- failb).
-
- Local Notation PositiveContextOk := (@PositiveContextOk base_type_code _ base_type_code_beq base_type_code_bl_transparent base_type_code_lb).
-
- Local Instance dec_base_type_code_eq : DecidableRel (@eq base_type_code).
- Proof.
- refine (fun x y => (if base_type_code_beq x y as b return base_type_code_beq x y = b -> Decidable (x = y)
- then fun pf => left (base_type_code_bl_transparent _ _ pf)
- else fun pf => right _) eq_refl).
- { clear -pf base_type_code_lb.
- let pf := pf in
- abstract (intro; erewrite base_type_code_lb in pf by eassumption; congruence). }
- Defined.
-
- Local Arguments Compile.compile : simpl never.
- Lemma interp_GeneralizeVar
- {t} (e1 e2 : expr base_type_code op t)
- (Hwf : wf e1 e2)
- e'
- (He' : GeneralizeVar e1 = Some e')
- : forall v, Interp interp_op e' v = interp interp_op e2 v.
- Proof using base_type_code_lb.
- unfold GeneralizeVar.GeneralizeVar, option_map in *.
- break_innermost_match_hyps; inversion_option; subst; intro.
- change (interp interp_op (?e ?var) ?v') with (Interp interp_op e v').
- unfold Interp, InterpretToPHOAS.Named.InterpToPHOAS, InterpretToPHOAS.Named.InterpToPHOAS_gen.
- match goal with |- ?L = ?R => cut (Some L = Some R); [ congruence | ] end.
- setoid_rewrite <- interp_interp_to_phoas.
- { erewrite (interp_compile (ContextOk:=PositiveContextOk)) with (e':=e2);
- [ reflexivity | auto | .. | eassumption ];
- auto using name_list_unique_default_names_for. }
- { eapply (wf_compile (ContextOk:=PositiveContextOk) (make_var':=fun _ => id)) with (e':= e2);
- [ auto | .. | eassumption ];
- auto using name_list_unique_default_names_for. }
- Qed.
-
- Lemma InterpGeneralizeVar
- {t} (e : Expr base_type_code op t)
- (Hwf : Wf e)
- e'
- (He' : GeneralizeVar (e _) = Some e')
- : forall v, Interp interp_op e' v = Interp interp_op e v.
- Proof using base_type_code_lb. eapply interp_GeneralizeVar; eauto. Qed.
-End language.
diff --git a/src/Compilers/GeneralizeVarWf.v b/src/Compilers/GeneralizeVarWf.v
deleted file mode 100644
index 9815d5092..000000000
--- a/src/Compilers/GeneralizeVarWf.v
+++ /dev/null
@@ -1,77 +0,0 @@
-Require Import Coq.PArith.BinPos.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.InterpretToPHOASWf.
-Require Import Crypto.Compilers.Named.WfFromUnit.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Named.PositiveContext.DefaultsProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.GeneralizeVar.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t))
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation GeneralizeVar
- := (@GeneralizeVar
- base_type_code op base_type_code_beq base_type_code_bl_transparent
- failb).
-
- Local Notation PositiveContextOk := (@PositiveContextOk base_type_code _ base_type_code_beq base_type_code_bl_transparent base_type_code_lb).
-
- Local Instance dec_base_type_code_eq : DecidableRel (@eq base_type_code).
- Proof using base_type_code_lb base_type_code_bl_transparent.
- refine (fun x y => (if base_type_code_beq x y as b return base_type_code_beq x y = b -> Decidable (x = y)
- then fun pf => left (base_type_code_bl_transparent _ _ pf)
- else fun pf => right _) eq_refl).
- { clear -pf base_type_code_lb.
- let pf := pf in
- abstract (intro; erewrite base_type_code_lb in pf by eassumption; congruence). }
- Defined.
-
- Local Arguments Compile.compile : simpl never.
- Lemma Wf_GeneralizeVar
- {t} (e1 : expr base_type_code op t)
- e'
- (He' : GeneralizeVar e1 = Some e')
- : Wf e'.
- Proof using base_type_code_lb.
- unfold GeneralizeVar, option_map in *.
- break_innermost_match_hyps; try congruence; intros v v'; [].
- inversion_option; subst.
- unfold InterpretToPHOAS.Named.InterpToPHOAS, InterpretToPHOAS.Named.InterpToPHOAS_gen.
- destruct t as [src dst].
- eapply (@wf_interp_to_phoas
- base_type_code op FMapPositive.PositiveMap.key _ _ _ _
- (PositiveContext base_type_code _ base_type_code_beq base_type_code_bl_transparent)
- (PositiveContext base_type_code _ base_type_code_beq base_type_code_bl_transparent)
- PositiveContextOk PositiveContextOk
- (failb _) (failb _) _ _);
- [ revert v | revert v' ];
- refine (_ : Wf.Named.Wf _ e);
- apply Wf_from_unit; auto using PositiveContextOk.
- Qed.
-
- Lemma Wf_GeneralizeVar_arrow
- {s d} (e : expr base_type_code op (Arrow s d))
- e'
- (He' : GeneralizeVar e = Some e')
- : Wf e'.
- Proof using base_type_code_lb. eapply Wf_GeneralizeVar; eassumption. Qed.
-End language.
-
-Hint Resolve Wf_GeneralizeVar Wf_GeneralizeVar_arrow : wf.
diff --git a/src/Compilers/InSet/Syntax.v b/src/Compilers/InSet/Syntax.v
deleted file mode 100644
index 4a3bb7a46..000000000
--- a/src/Compilers/InSet/Syntax.v
+++ /dev/null
@@ -1,84 +0,0 @@
-(** * PHOAS Representation of Gallina, in [Set] *)
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Compilers.Syntax.
-
-(** Universes are annoying. See, e.g.,
- [bug#5996](https://github.com/coq/coq/issues/5996), where using
- [pattern] and [constr:(...)] to replace [Set] with [Type] breaks
- things. Because we need to get reflective syntax by patterning [Z
- : Set], we make a version of [exprf] in [Set]. We build the
- minimial infrastructure needed to get this sort of expression into
- the [Type]-based one. *)
-
-Delimit Scope set_expr_scope with set_expr.
-Local Open Scope set_expr_scope.
-Section language.
- Context (base_type_code : Set).
-
- Local Notation flat_type := (flat_type base_type_code).
-
- Let Tbase' := @Tbase base_type_code.
- Local Coercion Tbase' : base_type_code >-> flat_type.
-
- Section interp.
- Context (interp_base_type : base_type_code -> Set).
- Fixpoint interp_flat_type (t : flat_type) :=
- match t with
- | Tbase t => interp_base_type t
- | Unit => unit
- | Prod x y => prod (interp_flat_type x) (interp_flat_type y)
- end.
- End interp.
-
- Section expr_param.
- Context (interp_base_type : base_type_code -> Set).
- Context (op : flat_type (* input tuple *) -> flat_type (* output type *) -> Set).
- Local Notation interp_flat_type_gen := interp_flat_type.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Section expr.
- Context {var : base_type_code -> Set}.
-
- Inductive exprf : flat_type -> Set :=
- | TT : exprf Unit
- | Var {t} (v : var t) : exprf t
- | Op {t1 tR} (opc : op t1 tR) (args : exprf t1) : exprf tR
- | LetIn {tx} (ex : exprf tx) {tC} (eC : interp_flat_type_gen var tx -> exprf tC) : exprf tC
- | Pair {tx} (ex : exprf tx) {ty} (ey : exprf ty) : exprf (Prod tx ty).
- Bind Scope set_expr_scope with exprf.
- End expr.
-
- Section interp.
- Context (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst).
-
- Definition interpf_step
- (interpf : forall {t} (e : @exprf interp_flat_type t), interp_flat_type t)
- {t} (e : @exprf interp_flat_type t) : interp_flat_type t
- := match e in exprf t return interp_flat_type t with
- | TT => tt
- | Var _ x => x
- | Op _ _ op args => @interp_op _ _ op (@interpf _ args)
- | LetIn _ ex _ eC => dlet x := @interpf _ ex in @interpf _ (eC x)
- | Pair _ ex _ ey => (@interpf _ ex, @interpf _ ey)
- end.
-
- Fixpoint interpf {t} e
- := @interpf_step (@interpf) t e.
- End interp.
- End expr_param.
-End language.
-Global Arguments Var {_ _ _ _} _.
-Global Arguments TT {_ _ _}.
-Global Arguments Op {_ _ _ _ _} _ _.
-Global Arguments LetIn {_ _ _ _} _ {_} _.
-Global Arguments Pair {_ _ _ _} _ {_} _.
-Global Arguments Abs {_ _ _ _ _} _.
-Global Arguments interp_flat_type {_} _ _.
-Global Arguments interpf {_ _ _} interp_op {t} _.
-
-Module Export Notations.
- Notation "'slet' x .. y := A 'in' b" := (LetIn A%set_expr (fun x => .. (fun y => b%set_expr) .. )) : set_expr_scope.
- Notation "( x , y , .. , z )" := (Pair .. (Pair x%set_expr y%set_expr) .. z%set_expr) : set_expr_scope.
- Notation "( )" := TT : set_expr_scope.
- Notation "()" := TT : set_expr_scope.
-End Notations.
diff --git a/src/Compilers/InSet/Typeify.v b/src/Compilers/InSet/Typeify.v
deleted file mode 100644
index d2fbad987..000000000
--- a/src/Compilers/InSet/Typeify.v
+++ /dev/null
@@ -1,58 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InSet.Syntax.
-
-Section language.
- Context {base_type_code : Set}
- {op : flat_type base_type_code -> flat_type base_type_code -> Set}
- {var : base_type_code -> Set}.
-
- Fixpoint typeify_interp_flat_type {t}
- : InSet.Syntax.interp_flat_type var t -> Compilers.Syntax.interp_flat_type var t
- := match t with
- | Tbase T => fun v => v
- | Unit => fun v => v
- | Prod A B => fun ab : InSet.Syntax.interp_flat_type _ A * InSet.Syntax.interp_flat_type _ B
- => (@typeify_interp_flat_type _ (fst ab),
- @typeify_interp_flat_type _ (snd ab))
- end.
- Fixpoint untypeify_interp_flat_type {t}
- : Compilers.Syntax.interp_flat_type var t -> InSet.Syntax.interp_flat_type var t
- := match t with
- | Tbase T => fun v => v
- | Unit => fun v => v
- | Prod A B => fun ab : Compilers.Syntax.interp_flat_type _ A * Compilers.Syntax.interp_flat_type _ B
- => (@untypeify_interp_flat_type _ (fst ab),
- @untypeify_interp_flat_type _ (snd ab))
- end.
-
- Fixpoint typeify {t} (e : @InSet.Syntax.exprf base_type_code op var t)
- : @Compilers.Syntax.exprf base_type_code op var t
- := match e with
- | TT => Compilers.Syntax.TT
- | Var t v => Compilers.Syntax.Var v
- | Op t1 tR opc args => Compilers.Syntax.Op opc (@typeify _ args)
- | LetIn tx ex tC eC
- => Compilers.Syntax.LetIn
- (@typeify _ ex)
- (fun x => @typeify _ (eC (untypeify_interp_flat_type x)))
- | Pair tx ex ty ey => Compilers.Syntax.Pair
- (@typeify _ ex)
- (@typeify _ ey)
- end.
-
- Fixpoint untypeify {t} (e : @Compilers.Syntax.exprf base_type_code op var t)
- : @InSet.Syntax.exprf base_type_code op var t
- := match e with
- | Compilers.Syntax.TT => TT
- | Compilers.Syntax.Var t v => Var v
- | Compilers.Syntax.Op t1 tR opc args => Op opc (@untypeify _ args)
- | Compilers.Syntax.LetIn tx ex tC eC
- => LetIn
- (@untypeify _ ex)
- (fun x => @untypeify _ (eC (typeify_interp_flat_type x)))
- | Compilers.Syntax.Pair tx ex ty ey
- => Pair
- (@untypeify _ ex)
- (@untypeify _ ey)
- end.
-End language.
diff --git a/src/Compilers/InSet/TypeifyInterp.v b/src/Compilers/InSet/TypeifyInterp.v
deleted file mode 100644
index 77790eec8..000000000
--- a/src/Compilers/InSet/TypeifyInterp.v
+++ /dev/null
@@ -1,114 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InSet.Syntax.
-Require Import Crypto.Compilers.InSet.Typeify.
-
-
-Local Ltac t :=
- repeat first [ reflexivity
- | progress simpl in *
- | apply (f_equal2 (@pair _ _))
- | solve [ auto ]
- | progress cbv [LetIn.Let_In]
- | progress autorewrite with core
- | progress intros
- | match goal with
- | [ v : _ * _ |- _ ] => destruct v
- | [ H : _ |- _ ] => rewrite H
- end ].
-
-Section language.
- Context {base_type_code : Set}
- {op : flat_type base_type_code -> flat_type base_type_code -> Set}
- {interp_base_type : base_type_code -> Set}.
-
- Lemma typeify_untypeify_interp_flat_type {t} v
- : @typeify_interp_flat_type base_type_code interp_base_type t (untypeify_interp_flat_type v) = v.
- Proof using Type. induction t; t. Qed.
- Lemma untypeify_typeify_interp_flat_type {t} v
- : @untypeify_interp_flat_type base_type_code interp_base_type t (typeify_interp_flat_type v) = v.
- Proof using Type. induction t; t. Qed.
- Hint Rewrite @typeify_untypeify_interp_flat_type @untypeify_typeify_interp_flat_type.
-
- Section gen.
- Context {interp_op : forall s d, op s d -> Compilers.Syntax.interp_flat_type interp_base_type s -> Compilers.Syntax.interp_flat_type interp_base_type d}
- {interp_op' : forall s d, op s d -> InSet.Syntax.interp_flat_type interp_base_type s -> InSet.Syntax.interp_flat_type interp_base_type d}
- (untypeify_interp_op
- : forall s d opc args,
- untypeify_interp_flat_type (interp_op s d opc args)
- = interp_op' s d opc (untypeify_interp_flat_type args))
- (typeify_interp_op
- : forall s d opc args,
- typeify_interp_flat_type (interp_op' s d opc args)
- = interp_op s d opc (typeify_interp_flat_type args)).
-
- Local Notation interpf := (Compilers.Syntax.interpf interp_op).
- Local Notation interpf' := (InSet.Syntax.interpf interp_op').
- Local Notation typeify := (typeify (var:=interp_base_type)).
-
- Lemma interpf_typeify {t} e
- : interpf (typeify e) = typeify_interp_flat_type (t:=t) (interpf' e).
- Proof using typeify_interp_op. induction e; t. Qed.
- Lemma interpf_untypeify {t} e
- : interpf' (untypeify e) = untypeify_interp_flat_type (t:=t) (interpf e).
- Proof using untypeify_interp_op. induction e; t. Qed.
-
- Lemma interpf_typeify_untypeify {t} e
- : interpf (typeify (untypeify (t:=t) e)) = interpf e.
- Proof using Type. induction e; t. Qed.
- Lemma interpf_untypeify_typeify {t} e
- : interpf' (untypeify (t:=t) (typeify e)) = interpf' e.
- Proof using Type. induction e; t. Qed.
- End gen.
-End language.
-
-Module Compilers.
- Import Compilers.Syntax.
- Section language.
- Context {base_type_code : Set}
- {op : flat_type base_type_code -> flat_type base_type_code -> Set}
- {interp_base_type : base_type_code -> Set}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}.
-
- Hint Rewrite @typeify_untypeify_interp_flat_type @untypeify_typeify_interp_flat_type.
-
- Local Notation interp_op' :=
- (fun s d opc args => untypeify_interp_flat_type (interp_op s d opc (typeify_interp_flat_type args))).
-
- Local Notation interpf := (Compilers.Syntax.interpf interp_op).
- Local Notation interpf' := (InSet.Syntax.interpf interp_op').
- Local Notation typeify := (typeify (var:=interp_base_type)).
-
- Lemma interpf_typeify {t} e
- : interpf (typeify e) = typeify_interp_flat_type (t:=t) (interpf' e).
- Proof using Type. apply interpf_typeify; t. Qed.
- Lemma interpf_untypeify {t} e
- : interpf' (untypeify e) = untypeify_interp_flat_type (t:=t) (interpf e).
- Proof using Type. apply interpf_untypeify; t. Qed.
- End language.
-End Compilers.
-
-Module InSet.
- Import InSet.Syntax.
- Section language.
- Context {base_type_code : Set}
- {op : flat_type base_type_code -> flat_type base_type_code -> Set}
- {interp_base_type : base_type_code -> Set}
- {interp_op' : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}.
-
- Hint Rewrite @typeify_untypeify_interp_flat_type @untypeify_typeify_interp_flat_type.
-
- Local Notation interp_op :=
- (fun s d opc args => typeify_interp_flat_type (interp_op' s d opc (untypeify_interp_flat_type args))).
-
- Local Notation interpf := (Compilers.Syntax.interpf interp_op).
- Local Notation interpf' := (InSet.Syntax.interpf interp_op').
- Local Notation typeify := (typeify (var:=interp_base_type)).
-
- Lemma interpf_typeify {t} e
- : interpf (typeify e) = typeify_interp_flat_type (t:=t) (interpf' e).
- Proof using Type. apply interpf_typeify; t. Qed.
- Lemma interpf_untypeify {t} e
- : interpf' (untypeify e) = untypeify_interp_flat_type (t:=t) (interpf e).
- Proof using Type. apply interpf_untypeify; t. Qed.
- End language.
-End InSet.
diff --git a/src/Compilers/Inline.v b/src/Compilers/Inline.v
deleted file mode 100644
index bd39b48a0..000000000
--- a/src/Compilers/Inline.v
+++ /dev/null
@@ -1,104 +0,0 @@
-(** * Inline: Remove some [Let] expressions *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Let Tbase := @Tbase base_type_code.
- Local Coercion Tbase : base_type_code >-> Syntax.flat_type.
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}.
-
- Inductive inline_directive : flat_type -> Type :=
- | default_inline {t} (e : @exprf var t) : inline_directive t
- | inline {t} (e : interp_flat_type (fun t => @exprf var (Tbase t)) t) : inline_directive t
- | no_inline {t} (e : @exprf var t) : inline_directive t
- | partial_inline
- {tx tC}
- (ex : @exprf var tx)
- (eC : interp_flat_type var tx -> interp_flat_type (fun t => @exprf var (Tbase t)) tC)
- : inline_directive tC.
-
- Definition exprf_of_inline_directive {t} (v : inline_directive t) : @exprf var t
- := match v with
- | default_inline t e => e
- | inline t e => SmartPairf e
- | no_inline t e => e
- | partial_inline _ _ ex eC
- => LetIn ex (fun x => SmartPairf (eC x))
- end.
-
- Context (postprocess : forall {t}, @exprf var t -> inline_directive t).
-
- Fixpoint inline_const_genf {t} (e : @exprf (@exprf var) t) : @exprf var t
- := match e in Syntax.exprf _ _ t return @exprf var t with
- | LetIn tx ex tC eC
- => match postprocess _ (@inline_const_genf _ ex) in inline_directive t' return (interp_flat_type _ t' -> @exprf var tC) -> @exprf var tC with
- | default_inline _ ex
- => match ex in Syntax.exprf _ _ t' return (interp_flat_type _ t' -> @exprf var tC) -> @exprf var tC with
- | TT => fun eC => eC tt
- | Var _ x => fun eC => eC (Var x)
- | ex => fun eC => LetIn ex (fun x => eC (SmartVarVarf x))
- end
- | no_inline _ ex
- => fun eC => LetIn ex (fun x => eC (SmartVarVarf x))
- | inline _ ex => fun eC => eC ex
- | partial_inline _ _ ex eC'
- => fun eC => LetIn ex (fun x => eC (eC' x))
- end (fun x => @inline_const_genf _ (eC x))
- | Var _ x => x
- | TT => TT
- | Pair _ ex _ ey => Pair (@inline_const_genf _ ex) (@inline_const_genf _ ey)
- | Op _ _ op args => Op op (@inline_const_genf _ args)
- end.
-
- Definition inline_const_gen {t} (e : @expr (@exprf var) t) : @expr var t
- := match e in Syntax.expr _ _ t return @expr var t with
- | Abs _ _ f => Abs (fun x => inline_const_genf (f (SmartVarVarf x)))
- end.
-
- Section with_is_const.
- Context (is_const : forall s d, op s d -> bool).
-
- Definition postprocess_for_const (t : flat_type) (v : @exprf var t) : inline_directive t
- := if match v with Op _ _ op _ => @is_const _ _ op | _ => false end
- then match t return @exprf _ t -> inline_directive t with
- | Syntax.Tbase _ => @inline (Tbase _)
- | _ => @default_inline _
- end v
- else default_inline v.
- End with_is_const.
- End with_var.
-
- Definition inline_constf is_const {var t}
- := @inline_const_genf var (postprocess_for_const is_const) t.
- Definition inline_const is_const {var t}
- := @inline_const_gen var (postprocess_for_const is_const) t.
-
- Definition InlineConstGen (postprocess : forall var t, @exprf var t -> @inline_directive var t)
- {t} (e : Expr t) : Expr t
- := fun var => inline_const_gen (postprocess _) (e _).
- Definition InlineConst is_const {t}
- := @InlineConstGen (fun var => postprocess_for_const is_const) t.
-End language.
-
-Global Arguments inline_directive {_} _ _ _, {_ _ _} _.
-Global Arguments no_inline {_ _ _ _} _.
-Global Arguments inline {_ _ _ _} _.
-Global Arguments default_inline {_ _ _ _} _.
-Global Arguments partial_inline {_ _ _ _ _} ex eC.
-Global Arguments inline_const_genf {_ _ _} postprocess {_} _.
-Global Arguments inline_const_gen {_ _ _} postprocess {_} _.
-Global Arguments InlineConstGen {_ _} postprocess {_} _ var.
-Global Arguments inline_constf {_ _} is_const {_ t} _.
-Global Arguments inline_const {_ _} is_const {_ t} _.
-Global Arguments InlineConst {_ _} is_const {_} _ var.
diff --git a/src/Compilers/InlineConstAndOp.v b/src/Compilers/InlineConstAndOp.v
deleted file mode 100644
index 842fc628a..000000000
--- a/src/Compilers/InlineConstAndOp.v
+++ /dev/null
@@ -1,149 +0,0 @@
-(** * Inline: Remove some [Let] expressions, inline constants, interpret constant operations *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Compilers.ExprInversion.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}
- (invert_Const : forall s d, op s d -> @exprf var s -> option (interp_flat_type interp_base_type d))
- (Const : forall t, interp_base_type t -> @exprf var (Tbase t)).
-
- Local Notation invert_PairsConst' T
- := (@invert_PairsConst base_type_code interp_base_type op var invert_Const T).
- Local Notation invert_PairsConst
- := (invert_PairsConst' _).
-
- Fixpoint postprocess_for_const_and_op {t} (e : exprf t)
- : inline_directive (var:=var) (op:=op) t
- := match e with
- | TT => inline (t:=Unit) tt
- | Var t v => inline (t:=Tbase _) (Var v)
- | Op t1 tR opc args as e
- => match invert_PairsConst args with
- | Some args
- => inline (SmartVarfMap Const (interp_op _ _ opc args))
- | None
- => no_inline e
- end
- | LetIn _ _ _ _ as e
- => no_inline e
- | Pair tx ex ty ey as e
- => match @postprocess_for_const_and_op _ ex in inline_directive tx, @postprocess_for_const_and_op _ ey in inline_directive ty
- return inline_directive (Prod tx ty) -> inline_directive (Prod tx ty)
- with
- | inline tx ex, inline ty ey
- => fun _ => inline (t:=Prod tx ty) (ex, ey)
- | partial_inline tx tC ex eC, partial_inline ty tC' ey eC'
- => fun _ => partial_inline
- (tC:=Prod _ _)
- (Pair ex ey)
- (fun xy : interp_flat_type _ _ * interp_flat_type _ _
- => (eC (fst xy), eC' (snd xy)))
- | no_inline _ ex, no_inline _ ey
- => fun _ => no_inline (Pair ex ey)
- | no_inline tx ex, inline ty ey
- => fun _ => partial_inline
- (tC:=Prod _ _)
- ex (fun x => (SmartVarVarf x, ey))
- | inline tx ex, no_inline ty ey
- => fun _ => partial_inline
- (tC:=Prod _ _)
- ey (fun y => (ex, SmartVarVarf y))
- | partial_inline tx tC ex eC, inline ty ey
- => fun _ => partial_inline
- (tC:=Prod _ _)
- ex (fun x => (eC x, ey))
- | inline tx ex, partial_inline ty tC ey eC
- => fun _ => partial_inline
- (tC:=Prod _ _)
- ey (fun y => (ex, eC y))
- | partial_inline tx tC ex eC, no_inline ty ey
- => fun _ => partial_inline
- (tC:=Prod _ _)
- (Pair ex ey)
- (fun xy : interp_flat_type _ _ * interp_flat_type _ _
- => (eC (fst xy), SmartVarVarf (snd xy)))
- | no_inline tx ex, partial_inline ty tC ey eC
- => fun _ => partial_inline
- (tC:=Prod _ _)
- (Pair ex ey)
- (fun xy : interp_flat_type _ _ * interp_flat_type _ _
- => (SmartVarVarf (fst xy), eC (snd xy)))
- | default_inline _ ex, default_inline _ ey
- => fun d => d
- | default_inline _ _, _
- | _, default_inline _ _
- => fun d => d
- end (default_inline e)
- end.
-
- Definition inline_const_and_op_genf {t}
- := @inline_const_genf base_type_code op var (@postprocess_for_const_and_op) t.
-
- Definition inline_const_and_op_gen {t}
- := @inline_const_gen base_type_code op var (@postprocess_for_const_and_op) t.
- End with_var.
-
- Section const_unit.
- Context {var : base_type_code -> Type}
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t)).
-
- Definition invert_ConstUnit' {s d} : op s d -> option (interp_flat_type interp_base_type d)
- := match s with
- | Unit
- => fun opv => Some (interp_op _ _ opv tt)
- | _ => fun _ => None
- end.
- Definition invert_ConstUnit {s d} (opv : op s d) (e : @exprf var s)
- : option (interp_flat_type interp_base_type d)
- := invert_ConstUnit' opv.
-
- Definition Const {t} v := Op (var:=var) (OpConst t v) TT.
-
- Definition inline_const_and_opf {t}
- := @inline_const_and_op_genf var (@invert_ConstUnit) (@Const) t.
- Definition inline_const_and_op {t}
- := @inline_const_and_op_gen var (@invert_ConstUnit) (@Const) t.
- End const_unit.
-
- Definition InlineConstAndOpGen
- (invert_Const : forall var s d, op s d -> @exprf var s -> option (interp_flat_type interp_base_type d))
- (Const : forall var t, interp_base_type t -> @exprf var (Tbase t))
- {t} (e : Expr t)
- : Expr t
- := @InlineConstGen
- base_type_code op
- (fun var => @postprocess_for_const_and_op var (invert_Const _) (Const _))
- t
- e.
-
- Definition InlineConstAndOp
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t)
- : Expr t
- := @InlineConstGen
- base_type_code op
- (fun var => @postprocess_for_const_and_op var (@invert_ConstUnit _) (@Const _ OpConst))
- t
- e.
-End language.
-
-Global Arguments inline_const_and_op_genf {_ _ _} interp_op {var} invert_Const Const {t} _ : assert.
-Global Arguments inline_const_and_op_gen {_ _ _} interp_op {var} invert_Const Const {t} _ : assert.
-Global Arguments inline_const_and_opf {_ _ _} interp_op {var} OpConst {t} _ : assert.
-Global Arguments inline_const_and_op {_ _ _} interp_op {var} OpConst {t} _ : assert.
-Global Arguments InlineConstAndOpGen {_ _ _} interp_op invert_Const Const {t} _ var : assert.
-Global Arguments InlineConstAndOp {_ _ _} interp_op OpConst {t} _ var : assert.
diff --git a/src/Compilers/InlineConstAndOpByRewrite.v b/src/Compilers/InlineConstAndOpByRewrite.v
deleted file mode 100644
index d1d610f8b..000000000
--- a/src/Compilers/InlineConstAndOpByRewrite.v
+++ /dev/null
@@ -1,93 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Rewriter.
-
-Module Export Rewrite.
- Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d).
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}
- (invert_Const : forall s d, op s d -> @exprf var s -> option (interp_flat_type interp_base_type d))
- (Const : forall t, interp_base_type t -> @exprf var (Tbase t)).
-
- Local Notation invert_PairsConst' T
- := (@invert_PairsConst base_type_code interp_base_type op var invert_Const T).
- Local Notation invert_PairsConst
- := (invert_PairsConst' _).
-
- Definition rewrite_for_const_and_op src dst (opc : op src dst) (args : @exprf var src)
- : @exprf var dst
- := match invert_PairsConst args with
- | Some argsv
- => SmartPairf (SmartVarfMap Const (interp_op _ _ opc argsv))
- | None => Op opc args
- end.
-
- Definition inline_const_and_op_genf {t} (e : @exprf var t) : @exprf var t
- := @rewrite_opf base_type_code op var rewrite_for_const_and_op t e.
- Definition inline_const_and_op_gen {t} (e : @expr var t) : @expr var t
- := @rewrite_op base_type_code op var rewrite_for_const_and_op t e.
- End with_var.
-
-
- Section const_unit.
- Context {var : base_type_code -> Type}
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t)).
-
- Definition invert_ConstUnit' {s d} : op s d -> option (interp_flat_type interp_base_type d)
- := match s with
- | Unit
- => fun opv => Some (interp_op _ _ opv tt)
- | _ => fun _ => None
- end.
- Definition invert_ConstUnit {s d} (opv : op s d) (e : @exprf var s)
- : option (interp_flat_type interp_base_type d)
- := invert_ConstUnit' opv.
-
- Definition Const {t} v := Op (var:=var) (OpConst t v) TT.
-
- Definition inline_const_and_opf {t}
- := @inline_const_and_op_genf var (@invert_ConstUnit) (@Const) t.
- Definition inline_const_and_op {t}
- := @inline_const_and_op_gen var (@invert_ConstUnit) (@Const) t.
- End const_unit.
-
- Definition InlineConstAndOpGen
- (invert_Const : forall var s d, op s d -> @exprf var s -> option (interp_flat_type interp_base_type d))
- (Const : forall var t, interp_base_type t -> @exprf var (Tbase t))
- {t} (e : Expr t)
- : Expr t
- := @RewriteOp
- base_type_code op
- (fun var => @rewrite_for_const_and_op var (invert_Const _) (Const _))
- t
- e.
-
- Definition InlineConstAndOp
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t)
- : Expr t
- := @RewriteOp
- base_type_code op
- (fun var => @rewrite_for_const_and_op var (@invert_ConstUnit _) (@Const _ OpConst))
- t
- e.
- End language.
-
- Global Arguments inline_const_and_op_genf {_ _ _} interp_op {var} invert_Const Const {t} _ : assert.
- Global Arguments inline_const_and_op_gen {_ _ _} interp_op {var} invert_Const Const {t} _ : assert.
- Global Arguments inline_const_and_opf {_ _ _} interp_op {var} OpConst {t} _ : assert.
- Global Arguments inline_const_and_op {_ _ _} interp_op {var} OpConst {t} _ : assert.
- Global Arguments InlineConstAndOpGen {_ _ _} interp_op invert_Const Const {t} _ var : assert.
- Global Arguments InlineConstAndOp {_ _ _} interp_op OpConst {t} _ var : assert.
-End Rewrite.
diff --git a/src/Compilers/InlineConstAndOpByRewriteInterp.v b/src/Compilers/InlineConstAndOpByRewriteInterp.v
deleted file mode 100644
index 33e525ed4..000000000
--- a/src/Compilers/InlineConstAndOpByRewriteInterp.v
+++ /dev/null
@@ -1,136 +0,0 @@
-(** * Inline: Remove some [Let] expressions, inline constants, interpret constant operations *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Rewriter.
-Require Import Crypto.Compilers.RewriterInterp.
-Require Import Crypto.Compilers.InlineConstAndOpByRewrite.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Module Export Rewrite.
- Local Open Scope ctype_scope.
- Section language.
- Context (base_type_code : Type)
- (interp_base_type : base_type_code -> Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_invert.
- Context (invert_Const : forall s d, op s d -> @exprf interp_base_type s -> option (interp_flat_type d))
- (Const : forall t, interp_base_type t -> @exprf interp_base_type (Tbase t))
- (Hinvert_Const
- : forall s d opc e v, invert_Const s d opc e = Some v
- -> interp_op s d opc (interpf interp_op e) = v)
- (interpf_Const : forall t v, interpf interp_op (Const t v) = v).
-
- Lemma interpf_rewrite_for_const_and_op s d opc args
- : interpf interp_op (rewrite_for_const_and_op interp_op invert_Const Const s d opc args)
- = interp_op _ _ opc (interpf interp_op args).
- Proof using Hinvert_Const interpf_Const.
- cbv [rewrite_for_const_and_op].
- repeat first [ break_innermost_match_step
- | reflexivity
- | progress cbn [interpf exprf_of_inline_directive interpf_step LetIn.Let_In SmartVarVarf fst snd] in *
- | rewrite interpf_SmartPairf
- | rewrite SmartVarfMap_compose
- | rewrite SmartVarfMap_id
- | setoid_rewrite interpf_Const
- | erewrite interpf_invert_PairsConst by eassumption ].
- Qed.
-
- Lemma interpf_inline_const_and_op_genf
- {t} e
- : interpf interp_op (inline_const_and_op_genf (t:=t) interp_op invert_Const Const e)
- = interpf interp_op e.
- Proof.
- unfold inline_const_and_op_genf;
- eapply interpf_rewrite_opf; eauto using interpf_rewrite_for_const_and_op.
- Qed.
-
- Lemma interpf_inline_const_and_op_gen
- {t} e
- : forall x,
- interp interp_op (inline_const_and_op_gen (t:=t) interp_op invert_Const Const e) x
- = interp interp_op e x.
- Proof.
- unfold inline_const_and_op_gen;
- eapply interp_rewrite_op; eauto using interpf_rewrite_for_const_and_op.
- Qed.
- End with_invert.
-
- Section const_unit.
- Context (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- (interp_op_OpConst : forall t v, interp_op _ _ (OpConst t v) tt = v).
-
- Lemma interpf_invert_ConstUnit s d opc e v
- (H : invert_ConstUnit interp_op opc e = Some v)
- : interp_op s d opc (interpf interp_op e) = v.
- Proof using Type.
- destruct s; simpl in *; inversion_option; subst.
- edestruct interpf; reflexivity.
- Qed.
-
- Lemma interpf_Const t v
- : interpf interp_op (Const OpConst (t:=t) v) = v.
- Proof using interp_op_OpConst.
- apply interp_op_OpConst.
- Qed.
-
- Lemma interpf_inline_const_and_opf
- {t} e
- : interpf interp_op (inline_const_and_opf (t:=t) interp_op OpConst e)
- = interpf interp_op e.
- Proof.
- unfold inline_const_and_opf;
- eapply interpf_rewrite_opf; eauto using interpf_rewrite_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
-
- Lemma interpf_inline_const_and_op
- {t} e
- : forall x,
- interp interp_op (inline_const_and_op (t:=t) interp_op OpConst e) x
- = interp interp_op e x.
- Proof.
- unfold inline_const_and_op;
- eapply interp_rewrite_op; eauto using interpf_rewrite_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
- End const_unit.
-
- Lemma InterpInlineConstAndOpGen
- (invert_Const : forall var s d, op s d -> @exprf var s -> option (interp_flat_type d))
- (Const : forall var t, interp_base_type t -> @exprf var (Tbase t))
-
- {t} (e : Expr t)
- (Hinvert_Const
- : forall s d opc e v,
- invert_Const _ s d opc e = Some v
- -> interp_op s d opc (interpf interp_op e) = v)
- (interpf_Const : forall t v, interpf interp_op (Const _ t v) = v)
- : forall x, Interp interp_op (InlineConstAndOpGen interp_op invert_Const Const e) x = Interp interp_op e x.
- Proof using Type.
- eapply InterpRewriteOp;
- eauto using interpf_rewrite_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
-
- Lemma InterpInlineConstAndOp
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t)
- (interp_op_OpConst : forall t v, interp_op _ _ (OpConst t v) tt = v)
- : forall x, Interp interp_op (InlineConstAndOp interp_op OpConst e) x = Interp interp_op e x.
- Proof using Type.
- eapply InterpRewriteOp;
- eauto using interpf_rewrite_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
- End language.
-
- Hint Rewrite @InterpInlineConstAndOp @InterpInlineConstAndOpGen using assumption : reflective_interp.
-End Rewrite.
diff --git a/src/Compilers/InlineConstAndOpByRewriteWf.v b/src/Compilers/InlineConstAndOpByRewriteWf.v
deleted file mode 100644
index c1d06be99..000000000
--- a/src/Compilers/InlineConstAndOpByRewriteWf.v
+++ /dev/null
@@ -1,171 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Rewriter.
-Require Import Crypto.Compilers.RewriterWf.
-Require Import Crypto.Compilers.InlineConstAndOpByRewrite.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Option.
-
-Module Export Rewrite.
- Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation Tbase := (@Tbase base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
-
- Local Hint Constructors Wf.wff.
-
- Section with_var.
- Context {interp_op1 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {interp_op2 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {var1 var2 : base_type_code -> Type}
- {invert_Const1 : forall s d, op s d -> @exprf var1 s -> option (interp_flat_type interp_base_type d)}
- {invert_Const2 : forall s d, op s d -> @exprf var2 s -> option (interp_flat_type interp_base_type d)}
- {Const1 : forall t, interp_base_type t -> @exprf var1 (Tbase t)}
- {Const2 : forall t, interp_base_type t -> @exprf var2 (Tbase t)}
- (Hinterp_op : forall s d opv args, interp_op1 s d opv args = interp_op2 s d opv args)
- (Hinvert_Const : forall s d opv G e1 e2, wff G e1 e2 -> invert_Const1 s d opv e1 = invert_Const2 s d opv e2)
- (HConst : forall t v G, wff G (Const1 t v) (Const2 t v)).
-
-
- Local Ltac t_fin :=
- repeat first [ intro
- | exfalso; assumption
- | exact I
- | progress destruct_head'_prod
- | progress destruct_head'_and
- | progress destruct_head'_sig
- | progress subst
- | rewrite Hinterp_op
- | rewrite SmartPairf_Pair
- | tauto
- | solve [ auto with nocore
- | apply wff_SmartPairf_SmartVarfMap_same; auto ]
- | progress simpl in *
- | constructor
- | solve [ eauto ]
- | progress inversion_wf_constr
- | match goal with
- | [ H : invert_PairsConst _ _ = ?x, H' : invert_PairsConst _ _ = ?y |- _ ]
- => assert (x = y)
- by (rewrite <- H, <- H'; eapply wff_invert_PairsConst; [ eauto | eassumption ]);
- inversion_option;
- progress (subst || congruence)
- end
- | break_innermost_match_hyps_step
- | break_innermost_match_step ].
- Lemma wff_rewrite_for_const_and_op G s d opc args1 args2
- (Hwf : wff G (var1:=var1) (var2:=var2) args1 args2)
- : wff G
- (rewrite_for_const_and_op interp_op1 invert_Const1 Const1 s d opc args1)
- (rewrite_for_const_and_op interp_op2 invert_Const2 Const2 s d opc args2).
- Proof using HConst Hinterp_op Hinvert_Const. cbv [rewrite_for_const_and_op]; t_fin. Qed.
-
- Lemma wff_inline_const_and_op_genf {t} e1 e2 G
- (wf : wff G e1 e2)
- : @wff var1 var2 G t
- (inline_const_and_op_genf interp_op1 invert_Const1 Const1 e1)
- (inline_const_and_op_genf interp_op2 invert_Const2 Const2 e2).
- Proof using HConst Hinvert_Const Hinterp_op.
- unfold inline_const_and_op_genf;
- eauto using wff_rewrite_opf, wff_rewrite_for_const_and_op.
- Qed.
-
- Lemma wff_inline_const_and_op_gen {t} e1 e2
- (Hwf : wf e1 e2)
- : @wf var1 var2 t
- (inline_const_and_op_gen interp_op1 invert_Const1 Const1 e1)
- (inline_const_and_op_gen interp_op2 invert_Const2 Const2 e2).
- Proof using HConst Hinvert_Const Hinterp_op.
- unfold inline_const_and_op_gen;
- eauto using wf_rewrite_op, wff_rewrite_for_const_and_op.
- Qed.
- End with_var.
-
- Section const_unit.
- Context {interp_op1 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {interp_op2 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {var1 var2 : base_type_code -> Type}
- (OpConst1 OpConst2 : forall t, interp_base_type t -> op Unit (Tbase t))
- (HOpConst : forall t v, OpConst1 t v = OpConst2 t v)
- (Hinterp_op : forall s d opv args, interp_op1 s d opv args = interp_op2 s d opv args).
-
- Lemma wff_invert_ConstUnit
- s d opv e1 e2
- : @invert_ConstUnit _ _ _ interp_op1 var1 s d opv e1
- = @invert_ConstUnit _ _ _ interp_op2 var2 s d opv e2.
- Proof using Hinterp_op.
- cbv [invert_ConstUnit invert_ConstUnit']; destruct s; f_equal; auto.
- Qed.
-
- Lemma wff_Const {t} v G
- : wff G (@Const _ _ _ var1 OpConst1 t v) (@Const _ _ _ var2 OpConst2 t v).
- Proof using HOpConst.
- cbv [Const]; rewrite HOpConst; auto.
- Qed.
-
- Lemma wff_inline_const_and_opf {t} e1 e2 G
- (wf : wff G e1 e2)
- : @wff var1 var2 G t
- (inline_const_and_opf interp_op1 OpConst1 e1)
- (inline_const_and_opf interp_op2 OpConst2 e2).
- Proof using HOpConst Hinterp_op.
- unfold inline_const_and_opf;
- eauto using wff_inline_const_and_op_genf, wff_invert_ConstUnit, wff_Const.
- Qed.
-
- Lemma wff_inline_const_and_op {t} e1 e2
- (Hwf : wf e1 e2)
- : @wf var1 var2 t (inline_const_and_op interp_op1 OpConst1 e1) (inline_const_and_op interp_op2 OpConst2 e2).
- Proof using HOpConst Hinterp_op.
- unfold inline_const_and_op;
- eauto using wff_inline_const_and_op_gen, wff_invert_ConstUnit, wff_Const.
- Qed.
- End const_unit.
-
- Lemma Wf_InlineConstAndOpGen
- {interp_op}
- (invert_Const : forall var s d, op s d -> @exprf var s -> option (interp_flat_type interp_base_type d))
- (Const : forall var t, interp_base_type t -> @exprf var (Tbase t))
- (Hinvert_Const
- : forall var1 var2 s d opv G e1 e2,
- wff G e1 e2
- -> invert_Const var1 s d opv e1 = invert_Const var2 s d opv e2)
- (HConst
- : forall var1 var2 t v G,
- wff G (Const var1 t v) (Const var2 t v))
- {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (InlineConstAndOpGen interp_op invert_Const Const e).
- Proof using Type.
- unfold InlineConstAndOpGen;
- eauto using Wf_RewriteOp, wff_rewrite_for_const_and_op.
- Qed.
-
- Lemma Wf_InlineConstAndOp
- {interp_op}
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (InlineConstAndOp interp_op OpConst e).
- Proof using Type.
- unfold InlineConstAndOp;
- eauto using Wf_RewriteOp, wff_rewrite_for_const_and_op, wff_Const.
- Qed.
- End language.
-
- Hint Resolve Wf_InlineConstAndOpGen Wf_InlineConstAndOp : wf.
-End Rewrite.
diff --git a/src/Compilers/InlineConstAndOpInterp.v b/src/Compilers/InlineConstAndOpInterp.v
deleted file mode 100644
index e464d1e8a..000000000
--- a/src/Compilers/InlineConstAndOpInterp.v
+++ /dev/null
@@ -1,161 +0,0 @@
-(** * Inline: Remove some [Let] expressions, inline constants, interpret constant operations *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.InlineConstAndOpWf.
-Require Import Crypto.Compilers.InterpProofs.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Compilers.InlineInterp.
-Require Import Crypto.Compilers.InlineConstAndOp.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-
-Local Open Scope ctype_scope.
-Section language.
- Context (base_type_code : Type)
- (interp_base_type : base_type_code -> Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
-
- Section with_invert.
- Context (invert_Const : forall s d, op s d -> @exprf interp_base_type s -> option (interp_flat_type d))
- (Const : forall t, interp_base_type t -> @exprf interp_base_type (Tbase t))
- (Hinvert_Const
- : forall s d opc e v, invert_Const s d opc e = Some v
- -> interp_op s d opc (interpf interp_op e) = v)
- (interpf_Const : forall t v, interpf interp_op (Const t v) = v).
-
- Lemma interpf_postprocess_for_const_and_op {t} (e : exprf t)
- : interpf interp_op
- (exprf_of_inline_directive
- (postprocess_for_const_and_op interp_op invert_Const Const e))
- = interpf interp_op e.
- Proof.
- induction e; try reflexivity; simpl in *.
- all:repeat first [ reflexivity
- | break_innermost_match_step
- | progress cbv [SmartVarVarf]
- | progress cbn [interpf exprf_of_inline_directive interpf_step LetIn.Let_In SmartVarVarf fst snd] in *
- | solve [ auto ]
- | rewrite SmartPairf_Pair
- | apply (f_equal2 (@pair _ _))
- | rewrite interpf_SmartPairf
- | rewrite SmartVarfMap_compose
- | rewrite SmartVarfMap_id
- | setoid_rewrite interpf_Const
- | erewrite ExprInversion.interpf_invert_PairsConst by eassumption ].
- Qed.
-
- Lemma interpf_inline_const_and_op_genf
- G {t} e1 e2
- (wf : @wff _ _ G t e1 e2)
- (H : forall t x x',
- List.In
- (existT (fun t : base_type_code => (exprf (Tbase t) * interp_base_type t)%type) t
- (x, x')) G
- -> interpf interp_op x = x')
- : interpf interp_op (inline_const_and_op_genf (t:=t) interp_op invert_Const Const e1)
- = interpf interp_op e2.
- Proof.
- unfold inline_const_and_op_genf;
- eapply interpf_inline_const_genf; eauto using interpf_postprocess_for_const_and_op.
- Qed.
-
- Lemma interpf_inline_const_and_op_gen
- {t} e1 e2
- (Hwf : @wf _ _ t e1 e2)
- : forall x,
- interp interp_op (inline_const_and_op_gen (t:=t) interp_op invert_Const Const e1) x
- = interp interp_op e2 x.
- Proof.
- unfold inline_const_and_op_gen;
- eapply interp_inline_const_gen; eauto using interpf_postprocess_for_const_and_op.
- Qed.
- End with_invert.
-
- Section const_unit.
- Context (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- (interp_op_OpConst : forall t v, interp_op _ _ (OpConst t v) tt = v).
-
- Lemma interpf_invert_ConstUnit s d opc e v
- (H : invert_ConstUnit interp_op opc e = Some v)
- : interp_op s d opc (interpf interp_op e) = v.
- Proof using Type.
- destruct s; simpl in *; inversion_option; subst.
- edestruct interpf; reflexivity.
- Qed.
-
- Lemma interpf_Const t v
- : interpf interp_op (Const OpConst (t:=t) v) = v.
- Proof using interp_op_OpConst.
- apply interp_op_OpConst.
- Qed.
-
- Lemma interpf_inline_const_and_opf
- G {t} e1 e2
- (wf : @wff _ _ G t e1 e2)
- (H : forall t x x',
- List.In
- (existT (fun t : base_type_code => (exprf (Tbase t) * interp_base_type t)%type) t
- (x, x')) G
- -> interpf interp_op x = x')
- : interpf interp_op (inline_const_and_opf (t:=t) interp_op OpConst e1)
- = interpf interp_op e2.
- Proof.
- unfold inline_const_and_opf;
- eapply interpf_inline_const_genf; eauto using interpf_postprocess_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
-
- Lemma interpf_inline_const_and_op
- {t} e1 e2
- (Hwf : @wf _ _ t e1 e2)
- : forall x,
- interp interp_op (inline_const_and_op (t:=t) interp_op OpConst e1) x
- = interp interp_op e2 x.
- Proof.
- unfold inline_const_and_op;
- eapply interp_inline_const_gen; eauto using interpf_postprocess_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
- End const_unit.
-
- Lemma InterpInlineConstAndOpGen
- (invert_Const : forall var s d, op s d -> @exprf var s -> option (interp_flat_type d))
- (Const : forall var t, interp_base_type t -> @exprf var (Tbase t))
-
- {t} (e : Expr t)
- (wf : Wf e)
- (Hinvert_Const
- : forall s d opc e v,
- invert_Const _ s d opc e = Some v
- -> interp_op s d opc (interpf interp_op e) = v)
- (interpf_Const : forall t v, interpf interp_op (Const _ t v) = v)
- : forall x, Interp interp_op (InlineConstAndOpGen interp_op invert_Const Const e) x = Interp interp_op e x.
- Proof using Type.
- eapply InterpInlineConstGen;
- eauto using interpf_postprocess_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
-
- Lemma InterpInlineConstAndOp
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t)
- (wf : Wf e)
- (interp_op_OpConst : forall t v, interp_op _ _ (OpConst t v) tt = v)
- : forall x, Interp interp_op (InlineConstAndOp interp_op OpConst e) x = Interp interp_op e x.
- Proof using Type.
- eapply InterpInlineConstGen;
- eauto using interpf_postprocess_for_const_and_op, interpf_invert_ConstUnit, interpf_Const.
- Qed.
-End language.
-
-(*Hint Rewrite @InterpInlineConst @interp_inline_const @interpf_inline_constf using solve_wf_side_condition : reflective_interp.*)
diff --git a/src/Compilers/InlineConstAndOpWf.v b/src/Compilers/InlineConstAndOpWf.v
deleted file mode 100644
index 0de978e90..000000000
--- a/src/Compilers/InlineConstAndOpWf.v
+++ /dev/null
@@ -1,219 +0,0 @@
-(** * Inline: Remove some [Let] expressions, inline constants, interpret constant operations *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Compilers.InlineWf.
-Require Import Crypto.Compilers.InlineConstAndOp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}.
-
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation Tbase := (@Tbase base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
-
- Local Hint Constructors Wf.wff.
-
- Local Notation wff_inline_directive G x y :=
- (wff G (exprf_of_inline_directive x) (exprf_of_inline_directive y)
- /\ (fun x' y'
- => match x', y' with
- | default_inline _ _, default_inline _ _
- | no_inline _ _, no_inline _ _
- | inline _ _, inline _ _
- | partial_inline _ _ _ _, partial_inline _ _ _ _
- => True
- | default_inline _ _, _
- | no_inline _ _, _
- | inline _ _, _
- | partial_inline _ _ _ _, _
- => False
- end) x y).
-
-
- Section with_var.
- Context {interp_op1 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {interp_op2 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {var1 var2 : base_type_code -> Type}
- {invert_Const1 : forall s d, op s d -> @exprf var1 s -> option (interp_flat_type interp_base_type d)}
- {invert_Const2 : forall s d, op s d -> @exprf var2 s -> option (interp_flat_type interp_base_type d)}
- {Const1 : forall t, interp_base_type t -> @exprf var1 (Tbase t)}
- {Const2 : forall t, interp_base_type t -> @exprf var2 (Tbase t)}
- (Hinterp_op : forall s d opv args, interp_op1 s d opv args = interp_op2 s d opv args)
- (Hinvert_Const : forall s d opv G e1 e2, wff G e1 e2 -> invert_Const1 s d opv e1 = invert_Const2 s d opv e2)
- (HConst : forall t v G, wff G (Const1 t v) (Const2 t v)).
-
- Local Ltac t_fin :=
- repeat first [ intro
- | progress inversion_sigma
- | progress inversion_prod
- | exfalso; assumption
- | exact I
- | progress destruct_head'_prod
- | progress destruct_head'_and
- | progress destruct_head'_sig
- | progress subst
- | rewrite Hinterp_op
- | rewrite SmartPairfSmartVarVarf_SmartVarf
- | rewrite SmartPairf_Pair
- | tauto
- | solve [ auto with nocore
- | eapply (@wff_SmartVarVarf _ _ _ _ _ _ (_ * _)); auto
- | eapply wff_SmartVarVarf; eauto with nocore
- | eapply wff_SmartPairf; eauto with nocore
- | eapply wff_app_post, wff_SmartVarf
- | apply wff_SmartPairf_SmartVarfMap_same; auto ]
- | progress simpl in *
- | constructor
- | solve [ eauto
- | eauto using wff_app_pre, wff_app_post
- | eapply wff_in_impl_Proper;
- [ solve [ eauto using wff_SmartVarf ]
- | intros *;
- repeat setoid_rewrite List.in_app_iff;
- tauto ] ]
- | progress inversion_wf_constr
- | match goal with
- | [ H : invert_PairsConst _ _ = ?x, H' : invert_PairsConst _ _ = ?y |- _ ]
- => assert (x = y)
- by (rewrite <- H, <- H'; eapply wff_invert_PairsConst; [ eauto | eassumption ]);
- inversion_option;
- progress (subst || congruence)
- end
- | break_innermost_match_hyps_step
- | break_innermost_match_step ].
-
- Lemma wff_postprocess_for_const_and_op
- G t e1 e2
- (Hwf : wff (t:=t) G e1 e2)
- : wff_inline_directive
- G
- (postprocess_for_const_and_op interp_op1 invert_Const1 Const1 e1)
- (postprocess_for_const_and_op interp_op2 invert_Const2 Const2 e2).
- Proof using Hinvert_Const Hinterp_op HConst.
- induction Hwf; split; cbv beta;
- repeat match goal with
- | [ H : wff _ _ _ /\ _ |- match _ with _ => _ end _ ] => destruct H as [_ ?]
- end.
- { t_fin. }
- { t_fin. }
- { t_fin. }
- { t_fin. }
- { destruct IHHwf as [? _]. (* for speed *)
- t_fin. }
- { t_fin. }
- { t_fin. }
- { t_fin. }
- { t_fin. }
- { t_fin. }
- Qed.
-
- Lemma wff_inline_const_and_op_genf {t} e1 e2 G G'
- (H : forall t x x', List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x, x')) G'
- -> wff G x x')
- (wf : wff G' e1 e2)
- : @wff var1 var2 G t (inline_const_and_op_genf interp_op1 invert_Const1 Const1 e1) (inline_const_and_op_genf interp_op2 invert_Const2 Const2 e2).
- Proof using HConst Hinvert_Const Hinterp_op.
- unfold inline_const_and_op_genf;
- eauto using wff_inline_const_genf, wff_postprocess_for_const_and_op.
- Qed.
-
- Lemma wff_inline_const_and_op_gen {t} e1 e2
- (Hwf : wf e1 e2)
- : @wf var1 var2 t (inline_const_and_op_gen interp_op1 invert_Const1 Const1 e1) (inline_const_and_op_gen interp_op2 invert_Const2 Const2 e2).
- Proof using HConst Hinvert_Const Hinterp_op.
- unfold inline_const_and_op_gen;
- eauto using wf_inline_const_gen, wff_postprocess_for_const_and_op.
- Qed.
- End with_var.
-
- Section const_unit.
- Context {interp_op1 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {interp_op2 : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {var1 var2 : base_type_code -> Type}
- (OpConst1 OpConst2 : forall t, interp_base_type t -> op Unit (Tbase t))
- (HOpConst : forall t v, OpConst1 t v = OpConst2 t v)
- (Hinterp_op : forall s d opv args, interp_op1 s d opv args = interp_op2 s d opv args).
-
- Lemma wff_invert_ConstUnit
- s d opv e1 e2
- : @invert_ConstUnit _ _ _ interp_op1 var1 s d opv e1
- = @invert_ConstUnit _ _ _ interp_op2 var2 s d opv e2.
- Proof using Hinterp_op.
- cbv [invert_ConstUnit invert_ConstUnit']; destruct s; f_equal; auto.
- Qed.
-
- Lemma wff_Const {t} v G
- : wff G (@Const _ _ _ var1 OpConst1 t v) (@Const _ _ _ var2 OpConst2 t v).
- Proof using HOpConst.
- cbv [Const]; rewrite HOpConst; auto.
- Qed.
-
- Lemma wff_inline_const_and_opf {t} e1 e2 G G'
- (H : forall t x x', List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x, x')) G'
- -> wff G x x')
- (wf : wff G' e1 e2)
- : @wff var1 var2 G t (inline_const_and_opf interp_op1 OpConst1 e1) (inline_const_and_opf interp_op2 OpConst2 e2).
- Proof using HOpConst Hinterp_op.
- unfold inline_const_and_opf;
- eauto using wff_inline_const_and_op_genf, wff_invert_ConstUnit, wff_Const.
- Qed.
-
- Lemma wff_inline_const_and_op {t} e1 e2
- (Hwf : wf e1 e2)
- : @wf var1 var2 t (inline_const_and_op interp_op1 OpConst1 e1) (inline_const_and_op interp_op2 OpConst2 e2).
- Proof using HOpConst Hinterp_op.
- unfold inline_const_and_op;
- eauto using wff_inline_const_and_op_gen, wff_invert_ConstUnit, wff_Const.
- Qed.
- End const_unit.
-
- Lemma Wf_InlineConstAndOpGen
- {interp_op}
- (invert_Const : forall var s d, op s d -> @exprf var s -> option (interp_flat_type interp_base_type d))
- (Const : forall var t, interp_base_type t -> @exprf var (Tbase t))
- (Hinvert_Const
- : forall var1 var2 s d opv G e1 e2,
- wff G e1 e2
- -> invert_Const var1 s d opv e1 = invert_Const var2 s d opv e2)
- (HConst
- : forall var1 var2 t v G,
- wff G (Const var1 t v) (Const var2 t v))
- {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (InlineConstAndOpGen interp_op invert_Const Const e).
- Proof using Type.
- unfold InlineConstAndOpGen;
- eauto using Wf_InlineConstGen, wff_postprocess_for_const_and_op.
- Qed.
-
- Lemma Wf_InlineConstAndOp
- {interp_op}
- (OpConst : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (InlineConstAndOp interp_op OpConst e).
- Proof using Type.
- unfold InlineConstAndOp;
- eauto using Wf_InlineConstGen, wff_postprocess_for_const_and_op, wff_Const.
- Qed.
-End language.
-
-Hint Resolve Wf_InlineConstAndOpGen Wf_InlineConstAndOp : wf.
diff --git a/src/Compilers/InlineInterp.v b/src/Compilers/InlineInterp.v
deleted file mode 100644
index caef4245a..000000000
--- a/src/Compilers/InlineInterp.v
+++ /dev/null
@@ -1,137 +0,0 @@
-(** * Inline: Remove some [Let] expressions *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.InlineWf.
-Require Import Crypto.Compilers.InterpProofs.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-
-Local Open Scope ctype_scope.
-Section language.
- Context (base_type_code : Type).
- Context (interp_base_type : base_type_code -> Type).
- Context (op : flat_type base_type_code -> flat_type base_type_code -> Type).
- Context (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
-
- Local Hint Extern 1 => eapply interpf_SmartVarVarf.
-
- Local Ltac t_fin_step :=
- match goal with
- | _ => reflexivity
- | _ => progress simpl in *
- | _ => progress unfold postprocess_for_const in *
- | _ => progress intros
- | _ => progress inversion_sigma
- | _ => progress inversion_prod
- | _ => solve [ intuition eauto ]
- | _ => apply (f_equal (interp_op _ _ _))
- | _ => apply (f_equal2 (@pair _ _))
- | _ => progress specialize_by assumption
- | _ => progress subst
- | [ H : context[List.In _ (_ ++ _)] |- _ ] => setoid_rewrite List.in_app_iff in H
- | [ H : _ = _ :> inline_directive _ |- _ ]
- => apply (f_equal exprf_of_inline_directive) in H
- | [ H : exprf_of_inline_directive _ = _ |- _ ]
- => apply (f_equal (interpf interp_op)) in H
- | [ H : @fst ?A ?B ?x = _, H' : context H'T[@fst ?A' ?B' ?x] |- _ ]
- => let H'T' := context H'T[@fst A B x] in
- progress change H'T' in H'
- | [ H : @snd ?A ?B ?x = _, H' : context H'T[@snd ?A' ?B' ?x] |- _ ]
- => let H'T' := context H'T[@snd A B x] in
- progress change H'T' in H'
- | [ H : or _ _ |- _ ] => destruct H
- | _ => progress break_match
- | _ => rewrite <- !surjective_pairing
- | [ H : ?x = _, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : _ |- _ ] => rewrite H; []
- | [ H : _, H' : _ |- _ ] => rewrite H in H' by fail
- | [ H : _ |- _ ] => apply H; solve [ repeat t_fin_step ]
- | [ H : _ |- _ ] => rewrite H; solve [ repeat t_fin_step ]
- | _ => solve [ eapply WfProofs.flatten_binding_list_interpf_SmartPairf_same; eauto ]
- end.
- Local Ltac t_fin := repeat t_fin_step.
-
- Lemma interpf_inline_const_genf postprocess G {t} e1 e2
- (wf : @wff _ _ G t e1 e2)
- (Hpostprocess : forall t e, interpf interp_op (exprf_of_inline_directive (postprocess t e)) = interpf interp_op e)
- (H : forall t x x',
- List.In
- (existT (fun t : base_type_code => (exprf (Tbase t) * interp_base_type t)%type) t
- (x, x')) G
- -> interpf interp_op x = x')
- : interpf interp_op (inline_const_genf postprocess e1) = interpf interp_op e2.
- Proof using Type.
- clear -wf H Hpostprocess.
- induction wf; t_fin.
- Qed.
-
- Lemma interpf_postprocess_for_const is_const t e
- : interpf interp_op (exprf_of_inline_directive (postprocess_for_const is_const t e)) = interpf interp_op e.
- Proof using Type.
- unfold postprocess_for_const; t_fin.
- Qed.
-
- Local Hint Resolve interpf_postprocess_for_const.
-
- Lemma interpf_inline_constf is_const G {t} e1 e2
- (wf : @wff _ _ G t e1 e2)
- (H : forall t x x',
- List.In
- (existT (fun t : base_type_code => (exprf (Tbase t) * interp_base_type t)%type) t
- (x, x')) G
- -> interpf interp_op x = x')
- : interpf interp_op (inline_constf is_const e1) = interpf interp_op e2.
- Proof using Type. eapply interpf_inline_const_genf; eauto. Qed.
-
- Local Hint Resolve interpf_inline_constf.
-
- Lemma interp_inline_const_gen postprocess {t} e1 e2
- (wf : @wf _ _ t e1 e2)
- (Hpostprocess : forall t e, interpf interp_op (exprf_of_inline_directive (postprocess t e)) = interpf interp_op e)
- : forall x, interp interp_op (inline_const_gen postprocess e1) x = interp interp_op e2 x.
- Proof using Type.
- destruct wf.
- simpl in *; intro; eapply (interpf_inline_const_genf postprocess); eauto.
- Qed.
-
- Local Hint Resolve interp_inline_const_gen.
-
- Lemma interp_inline_const is_const {t} e1 e2
- (wf : @wf _ _ t e1 e2)
- : forall x, interp interp_op (inline_const is_const e1) x = interp interp_op e2 x.
- Proof using Type.
- eapply interp_inline_const_gen; eauto.
- Qed.
-
- Lemma InterpInlineConstGen postprocess {t} (e : Expr t)
- (wf : Wf e)
- (Hpostprocess : forall t e, interpf interp_op (exprf_of_inline_directive (postprocess _ t e)) = interpf interp_op e)
- : forall x, Interp interp_op (InlineConstGen postprocess e) x = Interp interp_op e x.
- Proof using Type.
- unfold Interp, InlineConst.
- eapply (interp_inline_const_gen (postprocess _)); simpl; intuition.
- Qed.
-
- Lemma InterpInlineConst is_const {t} (e : Expr t)
- (wf : Wf e)
- : forall x, Interp interp_op (InlineConst is_const e) x = Interp interp_op e x.
- Proof using Type.
- eapply InterpInlineConstGen; eauto.
- Qed.
-End language.
-
-Hint Rewrite @InterpInlineConst @interp_inline_const @interpf_inline_constf using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/InlineWf.v b/src/Compilers/InlineWf.v
deleted file mode 100644
index a9fc959d0..000000000
--- a/src/Compilers/InlineWf.v
+++ /dev/null
@@ -1,231 +0,0 @@
-(** * Inline: Remove some [Let] expressions *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Util.Tactics.SpecializeBy Crypto.Util.Tactics.DestructHead Crypto.Util.Sigma Crypto.Util.Prod.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Tactics.SplitInContext.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation Tbase := (@Tbase base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
-
- Local Notation wff_inline_directive G x y :=
- (wff G (exprf_of_inline_directive x) (exprf_of_inline_directive y)
- /\ (fun x' y'
- => match x', y' with
- | default_inline _ _, default_inline _ _
- | no_inline _ _, no_inline _ _
- | inline _ _, inline _ _
- | partial_inline _ _ _ _, partial_inline _ _ _ _
- => True
- | default_inline _ _, _
- | no_inline _ _, _
- | inline _ _, _
- | partial_inline _ _ _ _, _
- => False
- end) x y).
-
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
-
- Local Hint Constructors Wf.wff.
- Local Hint Resolve List.in_app_or List.in_or_app.
-
- Local Hint Constructors or.
- Local Hint Constructors Wf.wff.
- Local Hint Extern 1 => progress unfold List.In in *.
- Local Hint Resolve wff_in_impl_Proper.
- Local Hint Resolve wff_SmartVarf.
- Local Hint Resolve wff_SmartVarVarf.
-
- Local Ltac t_fin :=
- repeat first [ intro
- | progress inversion_sigma
- | progress inversion_prod
- | tauto
- | progress subst
- | solve [ auto with nocore
- | eapply (@wff_SmartVarVarf _ _ _ _ _ _ (_ * _)); auto
- | eapply wff_SmartVarVarf; eauto with nocore
- | eapply wff_SmartPairf; eauto with nocore ]
- | progress simpl in *
- | constructor
- | solve [ eauto ] ].
-
- Local Ltac invert_inline_directive' i :=
- preinvert_one_type i;
- intros ? i;
- destruct i;
- try exact I.
- Local Ltac invert_inline_directive :=
- match goal with
- | [ i : inline_directive _ |- _ ] => invert_inline_directive' i
- end.
-
- (** XXX TODO: Clean up this proof *)
- Lemma wff_inline_const_genf postprocess1 postprocess2 {t} e1 e2 G G'
- (H : forall t x x', List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x, x')) G'
- -> wff G x x')
- (wf : wff G' e1 e2)
- (wf_postprocess : forall G t e1 e2,
- wff G e1 e2
- -> wff_inline_directive G (postprocess1 t e1) (postprocess2 t e2))
- : @wff var1 var2 G t (inline_const_genf postprocess1 e1) (inline_const_genf postprocess2 e2).
- Proof using Type.
- revert dependent G; induction wf; simpl in *; auto; intros; [].
- repeat match goal with
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => setoid_rewrite List.in_app_iff in H
- | [ |- context[postprocess1 ?t ?e1] ]
- => match goal with
- | [ |- context[postprocess2 t ?e2] ]
- => specialize (fun G => wf_postprocess G t e1 e2);
- generalize dependent (postprocess1 t e1);
- generalize dependent (postprocess2 t e2)
- end
- | _ => intro
- end.
- repeat match goal with
- | [ H : forall G : list _, _ |- wff ?G' _ _ ]
- => unique pose proof (H G')
- | [ H : forall x y (G : list _), _ |- wff ?G' _ _ ]
- => unique pose proof (fun x y => H x y G')
- | [ H : forall x1 x2, (forall t x x', _ \/ List.In _ ?G -> wff ?G0 x x') -> _,
- H' : forall t1 x1 x1', List.In _ ?G -> wff ?G0 x1 x1' |- _ ]
- => unique pose proof (fun x1 x2 f => H x1 x2 (fun t x x' pf => match pf with or_introl pf => f t x x' pf | or_intror pf => H' t x x' pf end))
- end.
- repeat match goal with
- | _ => exact I
- | [ H : forall x1 : unit, _ |- _ ] => specialize (H tt)
- | [ H : False |- _ ] => exfalso; assumption
- | _ => progress subst
- | _ => progress inversion_sigma
- | _ => progress inversion_prod
- | _ => progress destruct_head' and
- | _ => inversion_wf_step; destruct_head' sig; progress subst
- | _ => progress specialize_by_assumption
- | _ => progress break_match
- | _ => progress invert_inline_directive
- | [ |- context[match ?e with _ => _ end] ]
- => invert_one_expr e
- | _ => progress destruct_head' or
- | _ => progress simpl in *
- | _ => intro
- | _ => progress split_and
- | [ H : wff _ TT _ |- _ ] => solve [ inversion H ]
- | [ H : wff _ (Var _ _) _ |- _ ] => solve [ inversion H ]
- | [ H : wff _ (Op _ _) _ |- _ ] => solve [ inversion H ]
- | [ H : wff _ (LetIn _ _) _ |- _ ] => solve [ inversion H ]
- | [ H : wff _ (Pair _ _) _ |- _ ] => solve [ inversion H ]
- end;
- repeat first [ progress specialize_by tauto
- | progress specialize_by auto
- | solve [ auto ] ];
- try (constructor; auto; intros).
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head or; t_fin. }
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head or; t_fin. }
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head or; t_fin. }
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head' or; t_fin. }
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head or; t_fin. }
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head or; t_fin. }
- { match goal with H : _ |- _ => apply H end.
- intros; destruct_head or; t_fin. }
- Qed.
-
- Lemma wff_postprocess_for_const is_const G t
- (e1 : @exprf var1 t)
- (e2 : @exprf var2 t)
- (Hwf : wff G e1 e2)
- : wff_inline_directive G (postprocess_for_const is_const t e1) (postprocess_for_const is_const t e2).
- Proof using Type.
- destruct e1; unfold postprocess_for_const;
- repeat first [ progress subst
- | intro
- | progress destruct_head' sig
- | progress destruct_head' and
- | progress inversion_sigma
- | progress inversion_option
- | progress inversion_prod
- | progress destruct_head' False
- | progress simpl in *
- | progress unfold SmartMap.SmartPairf
- | progress invert_expr
- | progress inversion_wf
- | progress break_innermost_match_step
- | discriminate
- | congruence
- | solve [ auto ] ].
- Qed.
-
- Local Hint Resolve wff_postprocess_for_const.
-
- Lemma wff_inline_constf is_const {t} e1 e2 G G'
- (H : forall t x x', List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x, x')) G'
- -> wff G x x')
- (wf : wff G' e1 e2)
- : @wff var1 var2 G t (inline_constf is_const e1) (inline_constf is_const e2).
- Proof using Type. eapply wff_inline_const_genf; eauto. Qed.
-
- Lemma wf_inline_const_gen postprocess1 postprocess2 {t} e1 e2
- (Hwf : wf e1 e2)
- (wf_postprocess : forall G t e1 e2,
- wff G e1 e2
- -> wff_inline_directive G (postprocess1 t e1) (postprocess2 t e2))
- : @wf var1 var2 t (inline_const_gen postprocess1 e1) (inline_const_gen postprocess2 e2).
- Proof using Type.
- destruct Hwf; constructor; intros.
- eapply wff_inline_const_genf; eauto using wff_SmartVarVarf_nil.
- Qed.
-
- Lemma wf_inline_const is_const {t} e1 e2
- (Hwf : wf e1 e2)
- : @wf var1 var2 t (inline_const is_const e1) (inline_const is_const e2).
- Proof using Type. eapply wf_inline_const_gen; eauto. Qed.
- End with_var.
-
- Lemma Wf_InlineConstGen postprocess {t} (e : Expr t)
- (Hwf : Wf e)
- (Hpostprocess : forall var1 var2 G t e1 e2,
- wff G e1 e2
- -> wff_inline_directive G (postprocess var1 t e1) (postprocess var2 t e2))
- : Wf (InlineConstGen postprocess e).
- Proof using Type.
- intros var1 var2.
- apply (@wf_inline_const_gen var1 var2 (postprocess _) (postprocess _) t (e _) (e _)); simpl; auto.
- Qed.
-
- Lemma Wf_InlineConst is_const {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (InlineConst is_const e).
- Proof using Type.
- intros var1 var2.
- apply (@wf_inline_const var1 var2 is_const t (e _) (e _)); simpl.
- apply Hwf.
- Qed.
-End language.
-
-Hint Resolve Wf_InlineConstGen Wf_InlineConst : wf.
diff --git a/src/Compilers/InputSyntax.v b/src/Compilers/InputSyntax.v
deleted file mode 100644
index af2a6f277..000000000
--- a/src/Compilers/InputSyntax.v
+++ /dev/null
@@ -1,252 +0,0 @@
-(** * PHOAS Representation of Gallina which allows exact denotation *)
-Require Import Coq.Strings.String.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.InterpProofs.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Notations.
-
-(** We parameterize the language over a type of basic type codes (for
- things like [Z], [word], [bool]), as well as a type of n-ary
- operations returning one value, and n-ary operations returning two
- values. *)
-Local Open Scope ctype_scope.
-Section language.
- Context (base_type_code : Type).
-
- Local Notation flat_type := (flat_type base_type_code).
- Inductive type := Tflat (A : flat_type) | Arrow (A : flat_type) (B : type).
-
- Section expr_param.
- Context (interp_base_type : base_type_code -> Type).
- Context (op : flat_type (* input tuple *) -> flat_type (* output type *) -> Type).
- Local Notation interp_flat_type_gen := interp_flat_type.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
-
- Fixpoint interp_type (t : type) :=
- match t with
- | Tflat A => interp_flat_type A
- | Arrow A B => (interp_flat_type A -> interp_type B)%type
- end.
-
- Section expr.
- Context {var : flat_type -> Type}.
-
- (** N.B. [Let] destructures pairs *)
- Inductive exprf : flat_type -> Type :=
- | Const {t : flat_type} : interp_flat_type t -> exprf t
- | Var {t} : var t -> exprf t
- | Op {t1 tR} : op t1 tR -> exprf t1 -> exprf tR
- | LetIn : forall {tx}, exprf tx -> forall {tC}, (var tx -> exprf tC) -> exprf tC
- | Pair : forall {t1}, exprf t1 -> forall {t2}, exprf t2 -> exprf (Prod t1 t2)
- | MatchPair : forall {t1 t2}, exprf (Prod t1 t2) -> forall {tC}, (var t1 -> var t2 -> exprf tC) -> exprf tC.
- Inductive expr : type -> Type :=
- | Return {T} : exprf T -> expr (Tflat T)
- | Abs {src dst} : (var src -> expr dst) -> expr (Arrow src dst).
-
- Definition Fst {t1 t2} (v : exprf (Prod t1 t2)) : exprf t1 := MatchPair v (fun x y => Var x).
- Definition Snd {t1 t2} (v : exprf (Prod t1 t2)) : exprf t2 := MatchPair v (fun x y => Var y).
- End expr.
-
- Definition Expr (t : type) := forall var, @expr var t.
-
- Section interp.
- Context (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst).
-
- Fixpoint interpf {t} (e : @exprf interp_flat_type t) : interp_flat_type t
- := match e in exprf t return interp_flat_type t with
- | Const _ x => x
- | Var _ x => x
- | Op _ _ op args => @interp_op _ _ op (@interpf _ args)
- | LetIn _ ex _ eC => dlet x := @interpf _ ex in @interpf _ (eC x)
- | Pair _ ex _ ey => (@interpf _ ex, @interpf _ ey)
- | MatchPair _ _ ex _ eC => match @interpf _ ex with pair x y => @interpf _ (eC x y) end
- end.
- Fixpoint interp {t} (e : @expr interp_flat_type t) : interp_type t
- := match e in expr t return interp_type t with
- | Return _ v => interpf v
- | Abs _ _ f => fun x => @interp _ (f x)
- end.
-
- Definition Interp {t} (E : Expr t) : interp_type t := interp (E _).
- End interp.
-
- Section compile.
- Context {var : base_type_code -> Type}
- (make_const : forall t, interp_base_type t -> op Unit (Tbase t)).
-
- Fixpoint compilet (t : type) : Syntax.type base_type_code
- := Syntax.Arrow
- match t with
- | Tflat T => Unit
- | Arrow A (Tflat B) => A
- | Arrow A B
- => A * domain (compilet B)
- end%ctype
- match t with
- | Tflat T => T
- | Arrow A B => codomain (compilet B)
- end.
-
- Fixpoint SmartConst (t : flat_type) : interp_flat_type t -> Syntax.exprf base_type_code op (var:=var) t
- := match t return interp_flat_type t -> Syntax.exprf _ _ t with
- | Unit => fun _ => TT
- | Tbase _ => fun v => Syntax.Op (make_const _ v) TT
- | Prod _ _ => fun v => Syntax.Pair (@SmartConst _ (fst v))
- (@SmartConst _ (snd v))
- end.
-
- Fixpoint compilef {t} (e : @exprf (interp_flat_type_gen var) t) : @Syntax.exprf base_type_code op var t
- := match e in exprf t return @Syntax.exprf _ _ _ t with
- | Const _ x => @SmartConst _ x
- | Var _ x => SmartMap.SmartVarf x
- | Op _ _ op args => Syntax.Op op (@compilef _ args)
- | LetIn _ ex _ eC => Syntax.LetIn (@compilef _ ex) (fun x => @compilef _ (eC x))
- | Pair _ ex _ ey => Syntax.Pair (@compilef _ ex) (@compilef _ ey)
- | MatchPair _ _ ex _ eC => Syntax.LetIn (@compilef _ ex) (fun xy => @compilef _ (eC (fst xy) (snd xy)))
- end.
-
- (* ugh, so much manual annotation *)
- Fixpoint compile {t} (e : @expr (interp_flat_type_gen var) t) : @Syntax.expr base_type_code op var (compilet t)
- := match e in expr t return @Syntax.expr _ _ _ (compilet t) with
- | Return _ v => Syntax.Abs (fun _ => compilef v)
- | Abs src dst f
- => let res := fun x => @compile _ (f x) in
- match dst
- return (_ -> Syntax.expr _ _ (compilet dst))
- -> Syntax.expr _ _ (compilet (Arrow src dst))
- with
- | Tflat T
- => fun resf => Syntax.Abs (fun x => invert_Abs (resf x) tt)
- | Arrow A B as dst'
- => match compilet dst' as cdst
- return (_ -> Syntax.expr _ _ cdst)
- -> Syntax.expr _ _ (Syntax.Arrow
- (_ * domain cdst)
- (codomain cdst))
- with
- | Syntax.Arrow A' B'
- => fun resf => Syntax.Abs (fun x : interp_flat_type_gen var (_ * _)
- => invert_Abs (resf (fst x)) (snd x))
- end
- end res
- end.
- End compile.
-
- Definition Compile
- (make_const : forall t, interp_base_type t -> op Unit (Tbase t))
- {t} (e : Expr t) : Syntax.Expr base_type_code op (compilet t)
- := fun var => compile make_const (e _).
-
- Section compile_correct.
- Context (make_const : forall t, interp_base_type t -> op Unit (Tbase t))
- (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst)
- (make_const_correct : forall T v, interp_op Unit (Tbase T) (make_const T v) tt = v).
-
- Lemma SmartConst_correct t v
- : Syntax.interpf interp_op (SmartConst make_const t v) = v.
- Proof using Type*.
- induction t; try destruct v; simpl in *; congruence.
- Qed.
-
- Lemma compilef_correct {t} (e : @exprf interp_flat_type t)
- : Syntax.interpf interp_op (compilef make_const e) = interpf interp_op e.
- Proof using Type*.
- induction e;
- repeat match goal with
- | _ => reflexivity
- | _ => progress unfold LetIn.Let_In
- | _ => progress simpl in *
- | _ => rewrite interpf_SmartVarf
- | _ => rewrite SmartConst_correct
- | _ => rewrite <- surjective_pairing
- | _ => progress rewrite_hyp *
- | [ |- context[let (x, y) := ?v in _] ]
- => rewrite (surjective_pairing v); cbv beta iota
- end.
- Qed.
-
- Lemma compile_flat_correct {T} (e : expr (Tflat T))
- : forall x, Syntax.interp interp_op (compile make_const e) x = interp interp_op e.
- Proof using Type*.
- intros []; simpl.
- let G := match goal with |- ?G => G end in
- let G := match (eval pattern T, e in G) with ?G _ _ => G end in
- refine match e in expr t return match t return expr t -> _ with
- | Tflat T => G T
- | _ => fun _ => True
- end e
- with
- | Return _ _ => _
- | Abs _ _ _ => I
- end; simpl.
- apply compilef_correct.
- Qed.
-
- Lemma Compile_flat_correct_flat {T} (e : Expr (Tflat T))
- : forall x, Syntax.Interp interp_op (Compile make_const e) x = Interp interp_op e.
- Proof using Type*. apply compile_flat_correct. Qed.
-
- Lemma Compile_correct {src dst} (e : @Expr (Arrow src (Tflat dst)))
- : forall x, Syntax.Interp interp_op (Compile make_const e) x = Interp interp_op e x.
- Proof using Type*.
- unfold Interp, Compile, Syntax.Interp; simpl.
- pose (e interp_flat_type) as E.
- repeat match goal with |- context[e ?f] => change (e f) with E end.
- clearbody E; clear e.
- let G := match goal with |- ?G => G end in
- let G := match (eval pattern src, dst, E in G) with ?G _ _ _ => G end in
- refine match E in expr t return match t return expr t -> _ with
- | Arrow src (Tflat dst) => G src dst
- | _ => fun _ => True
- end E
- with
- | Abs src dst e
- => match dst
- return (forall e : _ -> expr dst,
- match dst return expr (Arrow src dst) -> _ with
- | Tflat dst => G src dst
- | _ => fun _ => True
- end (Abs e))
- with
- | Tflat _
- => fun e0 x
- => _
- | Arrow _ _ => fun _ => I
- end e
- | Return _ _ => I
- end; simpl.
- refine match e0 x as e0x in expr t
- return match t return expr t -> _ with
- | Tflat _
- => fun e0x
- => Syntax.interpf _ (invert_Abs (compile _ e0x) _)
- = interp _ e0x
- | _ => fun _ => True
- end e0x
- with
- | Abs _ _ _ => I
- | Return _ _ => _
- end; simpl.
- apply compilef_correct.
- Qed.
- End compile_correct.
- End expr_param.
-End language.
-
-Global Arguments Arrow {_} _ _.
-Global Arguments Tflat {_} _.
-Global Arguments Const {_ _ _ _ _} _.
-Global Arguments Var {_ _ _ _ _} _.
-Global Arguments Op {_ _ _ _ _ _} _ _.
-Global Arguments LetIn {_ _ _ _ _} _ {_} _.
-Global Arguments MatchPair {_ _ _ _ _ _} _ {_} _.
-Global Arguments Fst {_ _ _ _ _ _} _.
-Global Arguments Snd {_ _ _ _ _ _} _.
-Global Arguments Pair {_ _ _ _ _} _ {_} _.
-Global Arguments Return {_ _ _ _ _} _.
-Global Arguments Abs {_ _ _ _ _ _} _.
-Global Arguments Compile {_ _ _} make_const {t} _ _.
diff --git a/src/Compilers/InterpByIso.v b/src/Compilers/InterpByIso.v
deleted file mode 100644
index a2263364b..000000000
--- a/src/Compilers/InterpByIso.v
+++ /dev/null
@@ -1,33 +0,0 @@
-(** * PHOAS interpretation function for any retract of [var:=interp_base_type] *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.SmartMap.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst)
- {var : base_type_code -> Type}
- (var_of_interp : forall t, interp_base_type t -> var t)
- (interp_of_var : forall t, var t -> interp_base_type t)
- (var_is_retract : forall t x, interp_of_var t (var_of_interp t x) = x).
-
- Fixpoint interpf_retr {t} (e : @exprf base_type_code op var t)
- : interp_flat_type interp_base_type t
- := match e in exprf _ _ t return interp_flat_type interp_base_type t with
- | TT => tt
- | Var t v => interp_of_var _ v
- | Op t1 tR opc args => interp_op _ _ opc (@interpf_retr _ args)
- | LetIn tx ex tC eC
- => let ev := @interpf_retr _ ex in
- @interpf_retr _ (eC (SmartVarfMap var_of_interp ev))
- | Pair tx ex ty ey => (@interpf_retr _ ex, @interpf_retr _ ey)
- end.
-
- Definition interp_retr {t} (e : @expr base_type_code op var t)
- : interp_type interp_base_type t
- := fun x => interpf_retr (invert_Abs e (SmartVarfMap var_of_interp x)).
-End language.
-
-Global Arguments interp_retr _ _ _ _ _ _ _ _ !_ / _ .
diff --git a/src/Compilers/InterpByIsoProofs.v b/src/Compilers/InterpByIsoProofs.v
deleted file mode 100644
index 98e700738..000000000
--- a/src/Compilers/InterpByIsoProofs.v
+++ /dev/null
@@ -1,117 +0,0 @@
-(** * PHOAS interpretation function for any retract of [var:=interp_base_type] *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InterpByIso.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation interpf_retr := (@interpf_retr base_type_code op interp_base_type interp_op).
- Local Notation interp_retr := (@interp_retr base_type_code op interp_base_type interp_op).
-
- Lemma interpf_retr_id {t} (e : @exprf interp_base_type t)
- : interpf_retr (fun _ x => x) (fun _ x => x) e = interpf interp_op e.
- Proof using Type.
- induction e; simpl; cbv [LetIn.Let_In]; rewrite_hyp ?*; rewrite ?SmartVarfMap_id; reflexivity.
- Qed.
- Lemma interp_retr_id {t} (e : @expr interp_base_type t)
- : forall x,
- interp_retr (fun _ x => x) (fun _ x => x) e x = interp interp_op e x.
- Proof using Type.
- destruct e; simpl; intros; rewrite interpf_retr_id, SmartVarfMap_id; reflexivity.
- Qed.
-
- Section with_var2.
- Context {var1 var2 : base_type_code -> Type}
- (var1_of_interp : forall t, interp_base_type t -> var1 t)
- (interp_of_var1 : forall t, var1 t -> interp_base_type t)
- (var2_of_interp : forall t, interp_base_type t -> var2 t)
- (interp_of_var2 : forall t, var2 t -> interp_base_type t)
- (interp_of_var12 : forall t x, interp_of_var1 t (var1_of_interp t x)
- = interp_of_var2 t (var2_of_interp t x)).
- Hint Rewrite @flatten_binding_list_SmartVarfMap @List.in_map_iff @List.in_app_iff.
- Lemma interp_of_var12_SmartVarfMap
- t1 e1 t x1 x2
- (H : List.In (existT _ t (x1, x2))
- (flatten_binding_list
- (SmartVarfMap (t:=t1) var1_of_interp e1)
- (SmartVarfMap var2_of_interp e1)))
- : interp_of_var1 t x1 = interp_of_var2 t x2.
- Proof using interp_of_var12.
- repeat first [ progress repeat autorewrite with core in *
- | progress subst
- | progress inversion_sigma
- | progress inversion_prod
- | progress simpl in *
- | progress destruct_head' ex
- | progress destruct_head' and
- | progress destruct_head' or
- | progress destruct_head' sigT
- | progress destruct_head' prod
- | progress rewrite_hyp !*
- | solve [ auto ] ].
- do 2 apply f_equal.
- eapply interp_flat_type_rel_pointwise_flatten_binding_list with (R':=fun _ => eq); [ eassumption | ].
- apply lift_interp_flat_type_rel_pointwise_f_eq; reflexivity.
- Qed.
- Local Hint Resolve List.in_app_or interp_of_var12_SmartVarfMap.
-
- Lemma wff_interpf_retr G {t} (e1 : @exprf var1 t) (e2 : @exprf var2 t)
- (HG : forall t x1 x2,
- List.In (existT _ t (x1, x2)) G
- -> interp_of_var1 t x1 = interp_of_var2 t x2)
- (Hwf : wff G e1 e2)
- : interpf_retr var1_of_interp interp_of_var1 e1
- = interpf_retr var2_of_interp interp_of_var2 e2.
- Proof using interp_of_var12.
- induction Hwf; simpl; rewrite_hyp ?*; try reflexivity; auto.
- { match goal with H : _ |- _ => apply H end.
- intros ???; rewrite List.in_app_iff.
- intros [?|?]; eauto. }
- Qed.
- Lemma wf_interp_retr {t} (e1 : @expr var1 t) (e2 : @expr var2 t)
- (Hwf : wf e1 e2)
- : forall x,
- interp_retr var1_of_interp interp_of_var1 e1 x
- = interp_retr var2_of_interp interp_of_var2 e2 x.
- Proof using interp_of_var12.
- destruct Hwf; simpl; repeat intro; subst; eapply wff_interpf_retr; eauto.
- Qed.
- End with_var2.
-
- Section with_var.
- Context {var : base_type_code -> Type}
- (var_of_interp : forall t, interp_base_type t -> var t)
- (interp_of_var : forall t, var t -> interp_base_type t)
- (var_is_retract : forall t x, interp_of_var t (var_of_interp t x) = x).
- Lemma wff_interpf_retr_correct G {t} (e1 : @exprf var t) (e2 : @exprf interp_base_type t)
- (HG : forall t x1 x2,
- List.In (existT _ t (x1, x2)) G
- -> interp_of_var t x1 = x2)
- (Hwf : wff G e1 e2)
- : interpf_retr var_of_interp interp_of_var e1 = interpf interp_op e2.
- Proof using var_is_retract.
- erewrite wff_interpf_retr, interpf_retr_id; eauto.
- Qed.
- Lemma wf_interp_retr_correct {t} (e1 : @expr var t) (e2 : @expr interp_base_type t)
- (Hwf : wf e1 e2)
- x
- : interp_retr var_of_interp interp_of_var e1 x
- = interp interp_op e2 x.
- Proof using var_is_retract.
- erewrite wf_interp_retr, interp_retr_id; eauto.
- Qed.
- End with_var.
-End language.
diff --git a/src/Compilers/InterpProofs.v b/src/Compilers/InterpProofs.v
deleted file mode 100644
index 5ea1a99a4..000000000
--- a/src/Compilers/InterpProofs.v
+++ /dev/null
@@ -1,66 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-
-Local Open Scope ctype_scope.
-Section language.
- Context (base_type_code : Type).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Context (interp_base_type : base_type_code -> Type).
- Context (op : flat_type (* input tuple *) -> flat_type (* output type *) -> Type).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Context (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst).
-
- Lemma interpf_LetIn tx ex tC eC
- : Syntax.interpf interp_op (LetIn (tx:=tx) ex (tC:=tC) eC)
- = dlet x := Syntax.interpf interp_op ex in
- Syntax.interpf interp_op (eC x).
- Proof using Type. reflexivity. Qed.
-
- Lemma interpf_SmartVarf t v
- : Syntax.interpf interp_op (SmartVarf (t:=t) v) = v.
- Proof using Type.
- unfold SmartVarf; induction t;
- repeat match goal with
- | _ => reflexivity
- | _ => progress simpl in *
- | _ => progress rewrite_hyp *
- | _ => rewrite <- surjective_pairing
- end.
- Qed.
-
- Lemma interpf_SmartVarVarf {t t'} v x x'
- (Hin : List.In
- (existT (fun t : base_type_code => (exprf base_type_code op (Tbase t) * interp_base_type t)%type)
- t (x, x'))
- (flatten_binding_list (t := t') (SmartVarVarf v) v))
- : interpf interp_op x = x'.
- Proof using Type.
- clear -Hin.
- induction t'; simpl in *; try tauto.
- { intuition (inversion_sigma; inversion_prod; subst; eauto). }
- { apply List.in_app_iff in Hin.
- intuition (inversion_sigma; inversion_prod; subst; eauto). }
- Qed.
-
- Lemma interpf_SmartVarVarf_eq {t t'} v v' x x'
- (Heq : v = v')
- (Hin : List.In
- (existT (fun t : base_type_code => (exprf base_type_code op (Tbase t) * interp_base_type t)%type)
- t (x, x'))
- (flatten_binding_list (t := t') (SmartVarVarf v') v))
- : interpf interp_op x = x'.
- Proof using Type.
- subst; eapply interpf_SmartVarVarf; eassumption.
- Qed.
-End language.
-
-Hint Rewrite @interpf_LetIn @interpf_SmartVarf : reflective_interp.
-Hint Rewrite @interpf_SmartVarVarf using assumption : reflective_interp.
diff --git a/src/Compilers/InterpRewriting.v b/src/Compilers/InterpRewriting.v
deleted file mode 100644
index 048452a35..000000000
--- a/src/Compilers/InterpRewriting.v
+++ /dev/null
@@ -1,197 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Util.Tactics.CacheTerm.
-Require Import Crypto.Util.Tactics.Head.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Util.Tactics.Not.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section lang.
- Context {base_type}
- {op : flat_type base_type -> flat_type base_type -> Type}
- {interp_base_type : base_type -> Type}
- {interp_op : forall s d, op s d
- -> interp_flat_type interp_base_type s
- -> interp_flat_type interp_base_type d}.
- Local Notation Expr := (@Expr base_type op).
- Local Notation Interp := (@Interp base_type interp_base_type op interp_op).
-
- Definition packaged_expr_functionP A :=
- (fun F : Expr A -> Expr A
- => forall e',
- Wf e'
- -> Wf (F e')
- /\ forall v, Interp (F e') v = Interp e' v).
- Local Notation packaged_expr_function A :=
- (sig (packaged_expr_functionP A)).
-
- Definition compose {A} (f g : packaged_expr_function A)
- : packaged_expr_function A.
- Proof.
- exists (fun x => proj1_sig f (proj1_sig g x)).
- clear.
- abstract (
- destruct f as [f Hf], g as [g Hg]; cbn [proj1_sig];
- intros e' Wfe; split; [ apply Hf, Hg, Wfe | ];
- intro x; etransitivity; [ apply Hf, Hg, Wfe | apply Hg, Wfe ]
- ).
- Defined.
-
- Definition id_package {A} : packaged_expr_function A
- := exist (packaged_expr_functionP A)
- id
- (fun e' Wfe' => conj Wfe' (fun v => eq_refl)).
-
- Inductive reified_transformation :=
- | base (idx : nat)
- | transform (idx : nat) (rest : reified_transformation)
- | cond (test : bool) (iftrue iffalse : reified_transformation).
- Fixpoint denote {A}
- (ls : list (packaged_expr_function A))
- (ls' : list { x : Expr A | Wf x })
- default
- (f : reified_transformation)
- := match f with
- | base idx => proj1_sig (List.nth_default default ls' idx)
- | transform idx rest
- => proj1_sig (List.nth_default id_package ls idx)
- (denote ls ls' default rest)
- | cond test iftrue iffalse
- => if test
- then denote ls ls' default iftrue
- else denote ls ls' default iffalse
- end.
- Fixpoint reduce (f : reified_transformation) : reified_transformation
- := match f with
- | base idx => base idx
- | transform idx rest => reduce rest
- | cond test iftrue iffalse
- => match reduce iftrue, reduce iffalse with
- | base idx0 as t, base idx1 as f
- => if nat_beq idx0 idx1
- then base idx0
- else cond test t f
- | t, f => cond test t f
- end
- end.
- Lemma Wf_denote A ctx es d f : Wf (@denote A ctx es d f).
- Proof.
- induction f; simpl; unfold proj1_sig; break_innermost_match; split_and; auto.
- match goal with H : _ |- _ => apply H; assumption end.
- Qed.
- Lemma Wf_denote_iff_True A ctx es d f : Wf (@denote A ctx es d f) <-> True.
- Proof. split; auto using Wf_denote. Qed.
- Lemma Interp_denote_reduce A ctx es d f
- : forall v, Interp (@denote A ctx es d f) v = Interp (@denote A nil es d (reduce f)) v.
- Proof.
- induction f; simpl; unfold proj1_sig; break_innermost_match;
- nat_beq_to_eq; subst;
- try reflexivity; auto.
- intro; rewrite <- IHf.
- match goal with H : _ |- _ => apply H, Wf_denote end.
- Qed.
-End lang.
-
-Local Ltac find ctx f :=
- lazymatch ctx with
- | (exist _ f _ :: _)%list => constr:(0)
- | (_ :: ?ctx)%list
- => let v := find ctx f in
- constr:(S v)
- end.
-
-Local Ltac reify_transformation interp_base_type interp_op ctx es T cont :=
- let reify_transformation := reify_transformation interp_base_type interp_op in
- let ExprA := type of T in
- let packageP := lazymatch type of T with
- | @Expr ?base_type_code ?op ?A
- => constr:(@packaged_expr_functionP base_type_code op interp_base_type interp_op A)
- end in
- let es := lazymatch es with
- | tt => constr:(@nil { x : ExprA | Wf x })
- | _ => es
- end in
- let ctx := lazymatch ctx with
- | tt => constr:(@nil (sig packageP))
- | _ => ctx
- end in
- lazymatch T with
- | ?f ?e
- => let ctx := lazymatch ctx with
- | context[exist _ f _] => ctx
- | _ => let hf := head f in
- let fId := fresh hf in
- let rfPf :=
- cache_proof_with_type_by
- (packageP f)
- ltac:(refine (fun e Hwf
- => (fun Hwf'
- => conj Hwf' (fun v => _)) _);
- [ autorewrite with reflective_interp; reflexivity
- | auto with wf ])
- fId in
- constr:(cons (exist packageP f rfPf)
- ctx)
- end in
- reify_transformation
- ctx es e
- ltac:(fun ctx es re
- => let idx := find ctx f in
- cont ctx es (transform idx re))
- | match ?b with true => ?t | false => ?f end
- => reify_transformation
- ctx es t
- ltac:(fun ctx es rt
- => reify_transformation
- ctx es f
- ltac:(fun ctx es rf
- => reify_transformation
- ctx es t
- ltac:(fun ctx es rt
- => cont ctx es (cond b rt rf))))
- | _ => let es := lazymatch es with
- | context[exist _ T _] => es
- | _
- => let Hwf := lazymatch goal with
- | [ Hwf : Wf T |- _ ] => Hwf
-
- | _
- => let Hwf := fresh "Hwf" in
- cache_proof_with_type_by
- (Wf T)
- ltac:(idtac; solve_wf_side_condition)
- Hwf
- end in
- constr:(cons (exist Wf T Hwf) es)
- end in
- let idx := find es T in
- cont ctx es (base idx)
- end.
-Ltac finish_rewrite_reflective_interp_cached :=
- rewrite ?Wf_denote_iff_True;
- cbv [reduce nat_beq];
- try (rewrite Interp_denote_reduce;
- cbv [reduce nat_beq];
- cbv [denote List.nth_default List.nth_error];
- cbn [proj1_sig]).
-Ltac rewrite_reflective_interp_cached_then ctx es cont :=
- let e := match goal with
- | [ |- context[@Interp _ _ _ _ _ ?e] ]
- => let test := match goal with _ => not is_var e end in
- e
- end in
- lazymatch goal with
- | [ |- context[@Interp ?base_type ?interp_base_type ?op ?interp_op _ e] ]
- => reify_transformation
- interp_base_type interp_op ctx es e
- ltac:(fun ctx es r
- => lazymatch es with
- | cons ?default _
- => change e with (denote ctx es default r)
- end;
- finish_rewrite_reflective_interp_cached;
- cont ctx es)
- end.
-Ltac rewrite_reflective_interp_cached :=
- rewrite_reflective_interp_cached_then tt tt ltac:(fun _ _ => idtac).
diff --git a/src/Compilers/InterpSideConditions.v b/src/Compilers/InterpSideConditions.v
deleted file mode 100644
index 42467e7fc..000000000
--- a/src/Compilers/InterpSideConditions.v
+++ /dev/null
@@ -1,40 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Notations.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d)
- (interped_op_side_conditions : forall s d, op s d -> interp_flat_type interp_base_type s -> pointed_Prop).
-
- Local Notation exprf := (@exprf base_type_code op interp_base_type).
- Local Notation expr := (@expr base_type_code op interp_base_type).
- Local Notation Expr := (@Expr base_type_code op).
-
- Fixpoint interpf_side_conditions_gen {t} (e : exprf t) : pointed_Prop * interp_flat_type interp_base_type t
- := match e with
- | TT => (trivial, tt)
- | Var t v => (trivial, v)
- | Op t1 tR opc args
- => let '(args_cond, argsv) := @interpf_side_conditions_gen _ args in
- (args_cond /\ interped_op_side_conditions _ _ opc argsv, interp_op _ _ opc argsv)
- | LetIn tx ex tC eC
- => let '(x_cond, xv) := @interpf_side_conditions_gen _ ex in
- let '(c_cond, cv) := @interpf_side_conditions_gen _ (eC xv) in
- (x_cond /\ c_cond, cv)
- | Pair tx ex ty ey
- => let '(x_cond, xv) := @interpf_side_conditions_gen _ ex in
- let '(y_cond, yv) := @interpf_side_conditions_gen _ ey in
- (x_cond /\ y_cond, (xv, yv))
- end%pointed_prop.
- Definition interpf_side_conditions {t} e : pointed_Prop
- := fst (@interpf_side_conditions_gen t e).
- Definition interp_side_conditions {t} (e : expr t) : interp_flat_type interp_base_type (domain t) -> pointed_Prop
- := fun x => interpf_side_conditions (invert_Abs e x).
- Definition InterpSideConditions {t} (e : Expr t) : interp_flat_type interp_base_type (domain t) -> pointed_Prop
- := interp_side_conditions (e _).
-End language.
diff --git a/src/Compilers/InterpWf.v b/src/Compilers/InterpWf.v
deleted file mode 100644
index e1572ceed..000000000
--- a/src/Compilers/InterpWf.v
+++ /dev/null
@@ -1,80 +0,0 @@
-Require Import Coq.Strings.String Coq.Classes.RelationClasses.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Notations.
-Local Open Scope ctype_scope.
-Local Open Scope expr_scope.
-
-Section language.
- Context {base_type_code : Type}
- {interp_base_type : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst).
-
- Local Notation exprf := (@exprf base_type_code op interp_base_type).
- Local Notation expr := (@expr base_type_code op interp_base_type).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation interpf := (@interpf base_type_code interp_base_type op interp_op).
- Local Notation interp := (@interp base_type_code interp_base_type op interp_op).
- Local Notation Interp := (@Interp base_type_code interp_base_type op interp_op).
-
- Lemma eq_in_flatten_binding_list
- {t x x' T e}
- (HIn : List.In (existT (fun t : base_type_code => (interp_base_type t * interp_base_type t)%type) t (x, x')%core)
- (flatten_binding_list (t:=T) e e))
- : x = x'.
- Proof using Type.
- induction T; simpl in *; [ | | rewrite List.in_app_iff in HIn ];
- repeat first [ progress destruct_head or
- | progress destruct_head False
- | progress destruct_head and
- | progress inversion_sigma
- | progress inversion_prod
- | progress subst
- | solve [ eauto ] ].
- Qed.
-
-
- Local Hint Resolve List.in_app_or List.in_or_app eq_in_flatten_binding_list.
-
- Section wf.
- Lemma interpf_wff
- {t} {e1 e2 : exprf t}
- {G}
- (HG : forall t x x',
- List.In (existT (fun t : base_type_code => (interp_base_type t * interp_base_type t)%type) t (x, x')%core) G
- -> x = x')
- (Rwf : wff G e1 e2)
- : interpf e1 = interpf e2.
- Proof using Type.
- induction Rwf; simpl; auto;
- specialize_by auto; try congruence.
- rewrite_hyp !*; auto.
- repeat match goal with
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => setoid_rewrite List.in_app_iff in H
- end.
- match goal with
- | [ H : _ |- _ ]
- => apply H; intros; destruct_head' or; solve [ eauto ]
- end.
- Qed.
-
- Local Hint Resolve interpf_wff.
-
- Lemma interp_wf
- {t} {e1 e2 : expr t}
- (Rwf : wf e1 e2)
- : forall x, interp e1 x = interp e2 x.
- Proof using Type.
- destruct Rwf; simpl; eauto.
- Qed.
- End wf.
-End language.
diff --git a/src/Compilers/InterpWfRel.v b/src/Compilers/InterpWfRel.v
deleted file mode 100644
index 46be4220d..000000000
--- a/src/Compilers/InterpWfRel.v
+++ /dev/null
@@ -1,94 +0,0 @@
-Require Import Coq.Strings.String Coq.Classes.RelationClasses.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Notations.
-Local Open Scope ctype_scope.
-Local Open Scope expr_scope.
-
-Section language.
- Context {base_type_code : Type}
- {interp_base_type1 interp_base_type2 : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (interp_op1 : forall src dst, op src dst -> interp_flat_type interp_base_type1 src -> interp_flat_type interp_base_type1 dst)
- (interp_op2 : forall src dst, op src dst -> interp_flat_type interp_base_type2 src -> interp_flat_type interp_base_type2 dst)
- {R : forall t, interp_base_type1 t -> interp_base_type2 t -> Prop}
- (Rop : forall src dst op sv1 sv2, interp_flat_type_rel_pointwise R sv1 sv2
- -> interp_flat_type_rel_pointwise
- R (interp_op1 src dst op sv1) (interp_op2 src dst op sv2)).
-
- Local Notation exprf1 := (@exprf base_type_code op interp_base_type1).
- Local Notation exprf2 := (@exprf base_type_code op interp_base_type2).
- Local Notation expr1 := (@expr base_type_code op interp_base_type1).
- Local Notation expr2 := (@expr base_type_code op interp_base_type2).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation interpf1 := (@interpf base_type_code interp_base_type1 op interp_op1).
- Local Notation interpf2 := (@interpf base_type_code interp_base_type2 op interp_op2).
- Local Notation interp1 := (@interp base_type_code interp_base_type1 op interp_op1).
- Local Notation interp2 := (@interp base_type_code interp_base_type2 op interp_op2).
- Local Notation Interp1 := (@Interp base_type_code interp_base_type1 op interp_op1).
- Local Notation Interp2 := (@Interp base_type_code interp_base_type2 op interp_op2).
-
- Lemma interp_flat_type_rel_pointwise_flatten_binding_list
- {t x x' T e1 e2}
- (Hpointwise : interp_flat_type_rel_pointwise R e1 e2)
- (HIn : List.In (existT (fun t : base_type_code => (interp_base_type1 t * interp_base_type2 t)%type) t (x, x')%core)
- (flatten_binding_list (t:=T) e1 e2))
- : R t x x'.
- Proof using Type.
- induction T; simpl in *; try tauto; [ | rewrite List.in_app_iff in HIn ];
- repeat first [ progress destruct_head or
- | progress destruct_head False
- | progress destruct_head and
- | progress inversion_sigma
- | progress inversion_prod
- | progress subst
- | solve [ eauto ] ].
- Qed.
-
- Local Hint Resolve List.in_app_or List.in_or_app interp_flat_type_rel_pointwise_flatten_binding_list.
-
- Section wf.
- Lemma interpf_wff
- {t} {e1 : exprf1 t} {e2 : exprf2 t}
- {G}
- (HG : forall t x x',
- List.In (existT (fun t : base_type_code => (interp_base_type1 t * interp_base_type2 t)%type) t (x, x')%core) G
- -> R t x x')
- (Rwf : wff G e1 e2)
- : interp_flat_type_rel_pointwise R (interpf1 e1) (interpf2 e2).
- Proof using Type*.
- induction Rwf; simpl; auto.
- repeat match goal with
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => setoid_rewrite List.in_app_iff in H
- end.
- match goal with
- | [ H : _ |- _ ]
- => apply H; intros; destruct_head' or; solve [ eauto ]
- end.
- Qed.
-
- Local Hint Resolve interpf_wff.
-
- Lemma interp_wf
- {t} {e1 : expr1 t} {e2 : expr2 t}
- (Rwf : wf e1 e2)
- : interp_type_rel_pointwise R (interp1 e1) (interp2 e2).
- Proof using Type*.
- destruct Rwf; simpl; repeat intro; eauto.
- Qed.
-
- Lemma InterpWf
- {t} {e : Expr t}
- (Rwf : Wf e)
- : interp_type_rel_pointwise R (Interp1 e) (Interp2 e).
- Proof using Type*.
- unfold Interp, Wf in *; apply interp_wf; simpl; intuition.
- Qed.
- End wf.
-End language.
diff --git a/src/Compilers/Intros.v b/src/Compilers/Intros.v
deleted file mode 100644
index e51c9c2fa..000000000
--- a/src/Compilers/Intros.v
+++ /dev/null
@@ -1,94 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-
-Section language.
- Context {base_type_code}
- {var : base_type_code -> Type}.
-
- Section cps.
- Context {rT : Type}
- (Forall : forall T (R : var T -> rT), rT).
-
- Fixpoint intros_interp_flat_type_cps
- {t : flat_type base_type_code}
- : forall (R : interp_flat_type var t -> rT),
- rT
- := match t return (interp_flat_type var t -> rT) -> rT with
- | Tbase T => fun R => Forall _ (fun v : var T => R v)
- | Unit => fun R => R tt
- | Prod A B
- => fun R : interp_flat_type _ A * interp_flat_type _ B -> _
- => @intros_interp_flat_type_cps
- A
- (fun a
- => @intros_interp_flat_type_cps
- B
- (fun b
- => R (a, b)))
- end.
- End cps.
- Definition intros_interp_flat_type_Prop {t}
- := @intros_interp_flat_type_cps Prop (fun T R => forall v : var T, R v) t.
- Definition intros_interp_flat_type_Type {t}
- := @intros_interp_flat_type_cps Type (fun T R => forall v : var T, R v) t.
-
- Fixpoint intros_interp_flat_type
- {t : flat_type base_type_code}
- : forall {R : interp_flat_type var t -> Type},
- @intros_interp_flat_type_Type t R
- -> (forall v : interp_flat_type var t, R v)
- := match t return forall R : interp_flat_type var t -> Type,
- @intros_interp_flat_type_Type t R -> (forall v : interp_flat_type _ t, R v)
- with
- | Tbase T => fun R f => f
- | Unit => fun R p 'tt => p
- | Prod A B
- => fun (R : interp_flat_type _ A * interp_flat_type _ B -> _)
- (f : intros_interp_flat_type_Type
- (fun a => intros_interp_flat_type_Type (fun b => R (a, b))))
- '((a, b) : interp_flat_type _ A * interp_flat_type _ B)
- => @intros_interp_flat_type
- B _ (@intros_interp_flat_type A _ f a) b
- end.
-
- Fixpoint introsP_interp_flat_type
- {t : flat_type base_type_code}
- : forall {R : interp_flat_type var t -> Prop},
- @intros_interp_flat_type_Prop t R
- -> (forall v : interp_flat_type var t, R v)
- := match t return forall R : interp_flat_type var t -> Prop,
- @intros_interp_flat_type_Prop t R -> (forall v : interp_flat_type _ t, R v)
- with
- | Tbase T => fun R f => f
- | Unit => fun R p 'tt => p
- | Prod A B
- => fun (R : interp_flat_type _ A * interp_flat_type _ B -> _)
- (f : intros_interp_flat_type_Prop
- (fun a => intros_interp_flat_type_Prop (fun b => R (a, b))))
- '((a, b) : interp_flat_type _ A * interp_flat_type _ B)
- => @introsP_interp_flat_type
- B _ (@introsP_interp_flat_type A _ f a) b
- end.
-End language.
-
-Ltac post_intro_interp_flat_type_intros :=
- let do_cbv _ :=
- (cbv [intros_interp_flat_type_Type intros_interp_flat_type_Prop intros_interp_flat_type_cps]) in
- lazymatch goal with
- | [ |- @intros_interp_flat_type_Type _ ?var ?t ?R ]
- => let t' := (eval cbv in t) in
- change (@intros_interp_flat_type_Type _ var t' (fun v => id (R v)));
- do_cbv (); post_intro_interp_flat_type_intros
- | [ |- @intros_interp_flat_type_Prop _ ?var ?t ?R ]
- => let t' := (eval cbv in t) in
- change (@intros_interp_flat_type_Prop _ var t' (fun v => id (R v)));
- do_cbv (); post_intro_interp_flat_type_intros
- | [ |- forall x, _ ] => intro; post_intro_interp_flat_type_intros
- | [ |- id ?P ] => change P
- end.
-Ltac intro_interp_flat_type :=
- lazymatch goal with
- | [ |- forall v : interp_flat_type ?var ?t, @?R v ]
- => let t' := (eval compute in t) in
- refine (@intros_interp_flat_type _ var t' (fun v => id (R v)) _);
- post_intro_interp_flat_type_intros
- end.
diff --git a/src/Compilers/Linearize.v b/src/Compilers/Linearize.v
deleted file mode 100644
index e5d136f5f..000000000
--- a/src/Compilers/Linearize.v
+++ /dev/null
@@ -1,97 +0,0 @@
-(** * Linearize: Place all and only operations in let binders *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-(*Require Import Crypto.Util.Tactics.*)
-
-Local Open Scope ctype_scope.
-Section language.
- Context (let_bind_op_args : bool)
- {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation Tbase := (@Tbase base_type_code).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}.
- Local Notation exprf := (@exprf base_type_code op var).
- Local Notation expr := (@expr base_type_code op var).
-
- Section under_lets.
- Fixpoint under_letsf' (bind_pairs : bool) {t} (e : exprf t)
- : forall {tC} (C : interp_flat_type var t + exprf t -> exprf tC), exprf tC
- := match e in Syntax.exprf _ _ t return forall {tC} (C : interp_flat_type var t + exprf t -> exprf tC), exprf tC with
- | LetIn _ ex _ eC
- => fun _ C => @under_letsf' true _ ex _ (fun v =>
- match v with
- | inl v => @under_letsf' false _ (eC v) _ C
- | inr v => LetIn v (fun v => @under_letsf' false _ (eC v) _ C)
- end)
- | TT => fun _ C => C (inl tt)
- | Var _ x => fun _ C => C (inl x)
- | Op _ _ op args as e
- => if let_bind_op_args
- then fun _ C => LetIn e (fun v => C (inl v))
- else fun _ C => C (inr e)
- | Pair A x B y => fun _ C => @under_letsf' bind_pairs A x _ (fun x =>
- @under_letsf' bind_pairs B y _ (fun y =>
- match x, y, bind_pairs with
- | inl x, inl y, _ => C (inl (x, y))
- | inl x, inr y, false => C (inr (Pair (SmartVarf x) y))
- | inr x, inl y, false => C (inr (Pair x (SmartVarf y)))
- | inr x, inr y, false => C (inr (Pair x y))
- | inl x, inr y, true => LetIn y (fun y => C (inl (x, y)))
- | inr x, inl y, true => LetIn x (fun x => C (inl (x, y)))
- | inr x, inr y, true => LetIn x (fun x => LetIn y (fun y => C (inl (x, y))))
- end))
- end.
- Definition under_letsf {t} (e : exprf t)
- {tC} (C : exprf t -> exprf tC)
- : exprf tC
- := under_letsf' false e (fun v => match v with inl v => C (SmartVarf v) | inr v => C v end).
- End under_lets.
-
- Fixpoint linearizef_gen {t} (e : exprf t) : exprf t
- := match e in Syntax.exprf _ _ t return exprf t with
- | LetIn _ ex _ eC
- => under_letsf (LetIn (@linearizef_gen _ ex) (fun x => @linearizef_gen _ (eC x))) (fun x => x)
- | TT => TT
- | Var _ x => Var x
- | Op _ _ op args
- => if let_bind_op_args
- then under_letsf (@linearizef_gen _ args) (fun args => LetIn (Op op args) SmartVarf)
- else under_letsf (@linearizef_gen _ args) (fun args => Op op args)
- | Pair A ex B ey
- => under_letsf (Pair (@linearizef_gen _ ex) (@linearizef_gen _ ey)) (fun v => v)
- end.
-
- Definition linearize_gen {t} (e : expr t) : expr t
- := match e in Syntax.expr _ _ t return expr t with
- | Abs _ _ f => Abs (fun x => linearizef_gen (f x))
- end.
- End with_var.
-
- Definition Linearize_gen {t} (e : Expr t) : Expr t
- := fun var => linearize_gen (e _).
-End language.
-
-Global Arguments under_letsf' _ {_ _ _} bind_pairs {_} _ {tC} _.
-Global Arguments under_letsf _ {_ _ _ _} _ {tC} _.
-Global Arguments linearizef_gen _ {_ _ _ _} _.
-Global Arguments linearize_gen _ {_ _ _ _} _.
-Global Arguments Linearize_gen _ {_ _ _} _ var.
-
-Definition linearizef {base_type_code op var t} e
- := @linearizef_gen false base_type_code op var t e.
-Definition a_normalf {base_type_code op var t} e
- := @linearizef_gen true base_type_code op var t e.
-Definition linearize {base_type_code op var t} e
- := @linearize_gen false base_type_code op var t e.
-Definition a_normal {base_type_code op var t} e
- := @linearize_gen true base_type_code op var t e.
-Definition Linearize {base_type_code op t} e
- := @Linearize_gen false base_type_code op t e.
-Definition ANormal {base_type_code op t} e
- := @Linearize_gen true base_type_code op t e.
diff --git a/src/Compilers/LinearizeInterp.v b/src/Compilers/LinearizeInterp.v
deleted file mode 100644
index 160826b70..000000000
--- a/src/Compilers/LinearizeInterp.v
+++ /dev/null
@@ -1,136 +0,0 @@
-(** * Linearize: Place all and only operations in let binders *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.InterpProofs.
-Require Import Crypto.Compilers.Linearize.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {interp_base_type : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Local Hint Extern 1 => eapply interpf_SmartVarVarf.
-
- Local Ltac t_fin :=
- repeat match goal with
- | _ => reflexivity
- | _ => progress unfold LetIn.Let_In
- | _ => progress simpl in *
- | _ => progress intros
- | _ => progress inversion_sigma
- | _ => progress inversion_prod
- | _ => solve [ intuition eauto | eauto | symmetry; eauto ]
- | _ => apply (f_equal (interp_op _ _ _))
- | _ => apply (f_equal2 (@pair _ _))
- | _ => progress specialize_by assumption
- | _ => progress subst
- | [ H : context[List.In _ (_ ++ _)] |- _ ] => setoid_rewrite List.in_app_iff in H
- | [ H : or _ _ |- _ ] => destruct H
- | _ => progress break_match
- | _ => rewrite <- !surjective_pairing
- | [ H : ?x = _, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : _ |- _ ] => apply H
- | [ H : _ |- _ ] => rewrite H
- | [ H : _ |- _ ] => erewrite H by reflexivity
- | _ => rewrite interpf_SmartVarf
- end.
-
- Lemma interpf_under_letsf' let_bind_op_args bind_pairs {t tC} (ex : exprf t) (eC : _ -> exprf tC)
- (eC_resp : forall x y,
- x = interpf interp_op y
- -> interpf interp_op (eC (inr y)) = interpf interp_op (eC (inl x)))
- : interpf interp_op (under_letsf' let_bind_op_args bind_pairs ex eC)
- = let x := interpf interp_op ex in interpf interp_op (eC (inl x)).
- Proof using Type.
- clear -eC_resp; revert bind_pairs.
- induction ex; t_fin.
- Qed.
-
- Lemma interpf_under_letsf let_bind_op_args {t tC} (ex : exprf t) (eC : _ -> exprf tC)
- (eC_resp : forall x y,
- interpf interp_op x = interpf interp_op y
- -> interpf interp_op (eC x) = interpf interp_op (eC y))
- : interpf interp_op (under_letsf let_bind_op_args ex eC)
- = let x := interpf interp_op ex in interpf interp_op (eC (SmartMap.SmartVarf x)).
- Proof using Type.
- unfold under_letsf; rewrite interpf_under_letsf'; t_fin.
- Qed.
-
- Section gen.
- Context (let_bind_op_args : bool).
-
- Lemma interpf_linearizef_gen {t} e
- : interpf interp_op (linearizef_gen let_bind_op_args (t:=t) e) = interpf interp_op e.
- Proof using Type.
- clear.
- induction e;
- repeat first [ progress rewrite ?interpf_under_letsf, ?interpf_SmartVarf
- | progress simpl
- | t_fin ].
- Qed.
-
- Local Hint Resolve interpf_linearizef_gen.
-
- Lemma interp_linearize_gen {t} e
- : forall x, interp interp_op (linearize_gen let_bind_op_args (t:=t) e) x = interp interp_op e x.
- Proof using Type.
- induction e; simpl; eauto.
- Qed.
-
- Lemma InterpLinearize_gen {t} (e : Expr t)
- : forall x, Interp interp_op (Linearize_gen let_bind_op_args e) x = Interp interp_op e x.
- Proof using Type.
- unfold Interp, Linearize_gen.
- eapply interp_linearize_gen.
- Qed.
-
- Lemma InterpLinearize_gen_ind {t} (P : _ -> Prop) {e : Expr t} {x}
- : P (Interp interp_op e x) -> P (Interp interp_op (Linearize_gen let_bind_op_args e) x).
- Proof using Type. rewrite InterpLinearize_gen; exact id. Qed.
- End gen.
-
- Definition interpf_linearizef {t} e
- : interpf interp_op (linearizef (t:=t) e) = interpf interp_op e
- := interpf_linearizef_gen _ e.
- Definition interpf_a_normalf {t} e
- : interpf interp_op (a_normalf (t:=t) e) = interpf interp_op e
- := interpf_linearizef_gen _ e.
-
- Definition interp_linearize {t} e
- : forall x, interp interp_op (linearize (t:=t) e) x = interp interp_op e x
- := interp_linearize_gen _ e.
- Definition interp_a_normal {t} e
- : forall x, interp interp_op (a_normal (t:=t) e) x = interp interp_op e x
- := interp_linearize_gen _ e.
-
- Definition InterpLinearize {t} (e : Expr t)
- : forall x, Interp interp_op (Linearize e) x = Interp interp_op e x
- := InterpLinearize_gen _ e.
- Definition InterpANormal {t} (e : Expr t)
- : forall x, Interp interp_op (ANormal e) x = Interp interp_op e x
- := InterpLinearize_gen _ e.
-
- Definition InterpLinearize_ind {t} (P : _ -> Prop) {e : Expr t} {x}
- : P (Interp interp_op e x) -> P (Interp interp_op (Linearize e) x)
- := InterpLinearize_gen_ind _ P.
- Definition InterpANormal_ind {t} (P : _ -> Prop) {e : Expr t} {x}
- : P (Interp interp_op e x) -> P (Interp interp_op (ANormal e) x)
- := InterpLinearize_gen_ind _ P.
-End language.
-
-Hint Rewrite @interpf_under_letsf : reflective_interp.
-Hint Rewrite @InterpLinearize_gen @interp_linearize_gen @interpf_linearizef_gen @InterpLinearize @interp_linearize @interpf_linearizef @InterpANormal @interp_a_normal @interpf_a_normalf : reflective_interp.
diff --git a/src/Compilers/LinearizeWf.v b/src/Compilers/LinearizeWf.v
deleted file mode 100644
index d2e7f2807..000000000
--- a/src/Compilers/LinearizeWf.v
+++ /dev/null
@@ -1,179 +0,0 @@
-(** * Linearize: Place all and only operations in let binders *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.Linearize.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation Tbase := (@Tbase base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
-
- Local Ltac t_fin_step tac :=
- match goal with
- | _ => assumption
- | _ => progress simpl in *
- | _ => progress subst
- | _ => progress inversion_sigma
- | _ => progress destruct_head'_sig
- | _ => progress destruct_head'_and
- | _ => setoid_rewrite List.in_app_iff
- | [ H : context[List.In _ (_ ++ _)] |- _ ] => setoid_rewrite List.in_app_iff in H
- | _ => progress intros
- | _ => solve [ eauto ]
- | _ => solve [ intuition (subst; eauto) ]
- | [ H : forall (x : prod _ _) (y : prod _ _), _ |- _ ] => specialize (fun x x' y y' => H (x, x') (y, y'))
- | _ => rewrite !List.app_assoc
- | [ H : _ \/ _ |- _ ] => destruct H
- | [ H : _ |- _ ] => apply H
- | [ H : forall G : list _, _ |- _ ] => apply (H nil)
- | _ => eapply wff_in_impl_Proper; [ solve [ eauto using wff_SmartVarf ] | solve [ repeat t_fin_step tac ] ]
- | _ => progress tac
- | [ |- wff _ _ _ ] => constructor
- | [ |- wf _ _ _ ] => constructor
- | _ => break_innermost_match_step
- | _ => progress inversion_expr
- | _ => congruence
- | _ => progress destruct_head' sum
- | _ => progress unfold invert_Op in *
- | _ => break_innermost_match_hyps_step
- end.
- Local Ltac t_fin tac := repeat t_fin_step tac.
-
- Local Hint Constructors Wf.wff.
- Local Hint Resolve List.in_app_or List.in_or_app.
-
- Section gen1.
- Context (let_bind_op_args : bool).
-
- Fixpoint wff_under_letsf' G {t} e1 e2 {tC} eC1 eC2
- let_bind_pairs
- (wf : @wff var1 var2 G t e1 e2)
- (H : forall (x1 : interp_flat_type var1 t) (x2 : interp_flat_type var2 t),
- wff (flatten_binding_list x1 x2 ++ G) (eC1 (inl x1)) (eC2 (inl x2)))
- (H' : forall G' (x y : exprf t),
- wff (G' ++ G) x y
- -> wff (G' ++ G) (eC1 (inr x)) (eC2 (inr y)))
- {struct e1}
- : @wff var1 var2 G tC (under_letsf' let_bind_op_args let_bind_pairs e1 eC1) (under_letsf' let_bind_op_args let_bind_pairs e2 eC2).
- Proof using Type.
- revert H.
- set (e1v := e1) in *.
- destruct e1 as [ | | ? ? ? args | tx ex tC0 eC0 | ? ex ? ey ];
- [ clear wff_under_letsf'
- | clear wff_under_letsf'
- | clear wff_under_letsf'
- | generalize (fun G => match e1v return match e1v with LetIn _ _ _ _ => _ | _ => _ end with
- | LetIn _ ex _ eC => wff_under_letsf' G _ ex
- | _ => I
- end);
- generalize (fun G => match e1v return match e1v with LetIn tx0 _ tC1 e0 => _ | _ => _ end with
- | LetIn _ ex tC' eC => fun x => wff_under_letsf' G tC' (eC x)
- | _ => I
- end);
- clear wff_under_letsf'
- | generalize (fun G => match e1v return match e1v with Pair _ _ _ _ => _ | _ => _ end with
- | Pair _ ex _ ey => wff_under_letsf' G _ ex
- | _ => I
- end);
- generalize (fun G => match e1v return match e1v with Pair _ _ _ _ => _ | _ => _ end with
- | Pair _ ex _ ey => wff_under_letsf' G _ ey
- | _ => I
- end);
- clear wff_under_letsf' ];
- subst e1v;
- cbv beta iota;
- (invert_one_expr e2 || destruct e2); intros; try break_innermost_match_step; try exact I; intros;
- inversion_wf;
- t_fin idtac.
- Qed.
-
- Lemma wff_under_letsf G {t} e1 e2 {tC} eC1 eC2
- (wf : @wff var1 var2 G t e1 e2)
- (H' : forall G' (x y : exprf t),
- wff (G' ++ G) x y
- -> wff (G' ++ G) (eC1 x) (eC2 y))
- : @wff var1 var2 G tC (under_letsf let_bind_op_args e1 eC1) (under_letsf let_bind_op_args e2 eC2).
- Proof using Type.
- apply wff_under_letsf'; t_fin idtac.
- Qed.
- End gen1.
-
- Local Hint Resolve wff_under_letsf.
- Local Hint Constructors or.
- Local Hint Extern 1 => progress unfold List.In in *.
- Local Hint Resolve wff_in_impl_Proper.
- Local Hint Resolve wff_SmartVarf.
-
- Section gen2.
- Context (let_bind_op_args : bool).
-
- Lemma wff_linearizef_gen G {t} e1 e2
- : @wff var1 var2 G t e1 e2
- -> @wff var1 var2 G t (linearizef_gen let_bind_op_args e1) (linearizef_gen let_bind_op_args e2).
- Proof using Type.
- induction 1; t_fin ltac:(apply wff_under_letsf).
- Qed.
-
- Local Hint Resolve wff_linearizef_gen.
-
- Lemma wf_linearize_gen {t} e1 e2
- : @wf var1 var2 t e1 e2
- -> @wf var1 var2 t (linearize_gen let_bind_op_args e1) (linearize_gen let_bind_op_args e2).
- Proof using Type.
- destruct 1; constructor; auto.
- Qed.
- End gen2.
- End with_var.
-
- Section gen.
- Context (let_bind_op_args : bool).
-
- Lemma Wf_Linearize_gen {t} (e : Expr t) : Wf e -> Wf (Linearize_gen let_bind_op_args e).
- Proof using Type.
- intros wf var1 var2; apply wf_linearize_gen, wf.
- Qed.
- End gen.
-
- Definition wff_linearizef {var1 var2} G {t} e1 e2
- : @wff var1 var2 G t e1 e2
- -> @wff var1 var2 G t (linearizef e1) (linearizef e2)
- := wff_linearizef_gen _ G e1 e2.
- Definition wff_a_normalf {var1 var2} G {t} e1 e2
- : @wff var1 var2 G t e1 e2
- -> @wff var1 var2 G t (a_normalf e1) (a_normalf e2)
- := wff_linearizef_gen _ G e1 e2.
-
- Definition wf_linearize {var1 var2 t} e1 e2
- : @wf var1 var2 t e1 e2
- -> @wf var1 var2 t (linearize e1) (linearize e2)
- := wf_linearize_gen _ e1 e2.
- Definition wf_a_normal {var1 var2 t} e1 e2
- : @wf var1 var2 t e1 e2
- -> @wf var1 var2 t (a_normal e1) (a_normal e2)
- := wf_linearize_gen _ e1 e2.
-
- Definition Wf_Linearize {t} (e : Expr t) : Wf e -> Wf (Linearize e)
- := Wf_Linearize_gen _ e.
- Definition Wf_ANormal {t} (e : Expr t) : Wf e -> Wf (ANormal e)
- := Wf_Linearize_gen _ e.
-End language.
-
-Hint Resolve Wf_Linearize_gen Wf_Linearize Wf_ANormal : wf.
diff --git a/src/Compilers/Map.v b/src/Compilers/Map.v
deleted file mode 100644
index 9fe9f7011..000000000
--- a/src/Compilers/Map.v
+++ /dev/null
@@ -1,30 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {var1 var2 : base_type_code -> Type}
- (fvar12 : forall t, var1 t -> var2 t)
- (fvar21 : forall t, var2 t -> var1 t).
- Local Notation exprf := (@exprf base_type_code op).
- Fixpoint mapf_interp_flat_type {t} (e : interp_flat_type var2 t) {struct t}
- : interp_flat_type var1 t
- := match t return interp_flat_type _ t -> interp_flat_type _ t with
- | Tbase _ => fvar21 _
- | Unit => fun v : unit => v
- | Prod x y => fun xy => (@mapf_interp_flat_type _ (fst xy),
- @mapf_interp_flat_type _ (snd xy))
- end e.
-
- Fixpoint mapf {t} (e : @exprf var1 t) : @exprf var2 t
- := match e in Syntax.exprf _ _ t return exprf t with
- | TT => TT
- | Var _ x => Var (fvar12 _ x)
- | Op _ _ op args => Op op (@mapf _ args)
- | LetIn _ ex _ eC => LetIn (@mapf _ ex) (fun x => @mapf _ (eC (mapf_interp_flat_type x)))
- | Pair _ ex _ ey => Pair (@mapf _ ex) (@mapf _ ey)
- end.
-End language.
-
-Global Arguments mapf_interp_flat_type {_ _ _} _ {t} _.
-Global Arguments mapf {_ _ _ _} _ _ {t} _.
diff --git a/src/Compilers/MapBaseType.v b/src/Compilers/MapBaseType.v
deleted file mode 100644
index 554bba4a2..000000000
--- a/src/Compilers/MapBaseType.v
+++ /dev/null
@@ -1,116 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-
-Section language.
- Context {base_type_code1 base_type_code2 : Type}
- {op1 : flat_type base_type_code1 -> flat_type base_type_code1 -> Type}
- {op2 : flat_type base_type_code2 -> flat_type base_type_code2 -> Type}
- (f_base : base_type_code1 -> base_type_code2)
- (f_op : forall var s d,
- op1 s d
- -> exprf base_type_code1 op1 (var:=var) s
- -> option (op2 (lift_flat_type f_base s) (lift_flat_type f_base d))).
-
- Section with_var.
- Context {var1 : base_type_code1 -> Type}
- {var2 : base_type_code2 -> Type}
- (f_var12 : forall t, var1 t -> var2 (f_base t))
- (f_var21 : forall t, var2 (f_base t) -> var1 t)
- (failb : forall t, exprf _ op2 (var:=var2) (Tbase t)).
-
- Local Notation failf t
- := (SmartPairf (SmartValf _ failb t)).
-
- Fixpoint mapf_base_type
- {t} (e : exprf base_type_code1 op1 (var:=var1) t)
- : exprf base_type_code2 op2 (var:=var2) (lift_flat_type f_base t)
- := match e in exprf _ _ t return exprf _ _ (lift_flat_type f_base t) with
- | TT => TT
- | Var t x => Var (f_var12 _ x)
- | Op t1 tR opc args
- => let opc := f_op _ _ _ opc args in
- let args := @mapf_base_type _ args in
- match opc with
- | Some opc => Op opc args
- | None => failf _
- end
- | LetIn tx ex tC eC
- => let ex := @mapf_base_type _ ex in
- let eC := fun x => @mapf_base_type _ (eC x) in
- LetIn ex (fun x => eC (untransfer_interp_flat_type (t:=tx) f_base f_var21 x))
- | Pair tx ex ty ey
- => let ex := @mapf_base_type _ ex in
- let ey := @mapf_base_type _ ey in
- Pair ex ey
- end.
-
- Definition map_base_type
- {t} (e : expr base_type_code1 op1 t)
- : expr base_type_code2 op2 (Arrow (lift_flat_type f_base (domain t)) (lift_flat_type f_base (codomain t)))
- := let f := invert_Abs e in
- let f := fun x => mapf_base_type (f x) in
- Abs (src:=lift_flat_type f_base (domain t))
- (fun x => f (untransfer_interp_flat_type _ f_var21 x)).
- End with_var.
-
- Section bool_gen.
- Context (check_base_type : base_type_code1 -> bool)
- {var : base_type_code1 -> Type}
- (val : forall t, var t).
-
- Fixpoint check_mapf_base_type_gen
- {t} (e : exprf base_type_code1 op1 (var:=var) t)
- : bool
- := match e with
- | TT => true
- | Var t x => check_base_type t
- | Op t1 tR opc args
- => let opc := f_op _ _ _ opc args in
- let check_args := @check_mapf_base_type_gen _ args in
- match opc with
- | Some opc => check_args
- | None => false
- end
- | LetIn tx ex tC eC
- => let check_ex := @check_mapf_base_type_gen _ ex in
- let check_eC := fun x => @check_mapf_base_type_gen _ (eC x) in
- andb check_ex (check_eC (SmartValf _ val _))
- | Pair tx ex ty ey
- => let check_ex := @check_mapf_base_type_gen _ ex in
- let check_ey := @check_mapf_base_type_gen _ ey in
- andb check_ex check_ey
- end.
-
- Definition check_map_base_type_gen
- {t} (e : expr base_type_code1 op1 (var:=var) t)
- : bool
- := let f := invert_Abs e in
- let f := fun x => check_mapf_base_type_gen (f x) in
- f (SmartValf _ val _).
- End bool_gen.
-
- Section bool.
- Definition check_mapf_base_type check_base_type {t} e
- := @check_mapf_base_type_gen check_base_type (fun _ => unit) (fun _ => tt) t e.
- Definition check_map_base_type check_base_type {t} e
- := @check_map_base_type_gen check_base_type (fun _ => unit) (fun _ => tt) t e.
- End bool.
-
- Definition MapBaseType'
- (failb : forall var t, exprf _ op2 (var:=var) (Tbase t))
- {t} (e : Expr base_type_code1 op1 t)
- : Expr base_type_code2 op2 (Arrow (lift_flat_type f_base (domain t)) (lift_flat_type f_base (codomain t)))
- := fun var => map_base_type
- (var1:=fun t => var (f_base t)) (var2:=var)
- (fun _ x => x) (fun _ x => x) (failb _) (e _).
-
- Definition MapBaseType
- (failb : forall var t, exprf _ op2 (var:=var) (Tbase t))
- {t} (e : Expr base_type_code1 op1 t)
- : option (Expr base_type_code2 op2 (Arrow (lift_flat_type f_base (domain t)) (lift_flat_type f_base (codomain t))))
- := if check_map_base_type (fun _ => true (* any base type is allowed *)) (e _)
- then Some (MapBaseType' failb e)
- else None.
-End language.
diff --git a/src/Compilers/MapBaseTypeWf.v b/src/Compilers/MapBaseTypeWf.v
deleted file mode 100644
index 87c15d200..000000000
--- a/src/Compilers/MapBaseTypeWf.v
+++ /dev/null
@@ -1,117 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfProofs.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.MapBaseType.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Prod.
-
-Section language.
- Context {base_type_code1 base_type_code2 : Type}
- {op1 : flat_type base_type_code1 -> flat_type base_type_code1 -> Type}
- {op2 : flat_type base_type_code2 -> flat_type base_type_code2 -> Type}
- (f_base : base_type_code1 -> base_type_code2)
- (f_op : forall var1 s d,
- op1 s d
- -> exprf _ op1 (var:=var1) s
- -> option (op2 (lift_flat_type f_base s) (lift_flat_type f_base d))).
-
- Local Hint Constructors wf wff or.
-
- Local Notation mapf_base_type :=
- (@mapf_base_type base_type_code1 base_type_code2 op1 op2 f_base f_op).
- Local Notation map_base_type :=
- (@map_base_type base_type_code1 base_type_code2 op1 op2 f_base f_op).
-
- Section with_var.
- Context {var1 var1' : base_type_code1 -> Type}
- {var2 var2' : base_type_code2 -> Type}
- (f_var12 : forall t, var1 t -> var2 (f_base t))
- (f_var21 : forall t, var2 (f_base t) -> var1 t)
- (f_var'12 : forall t, var1' t -> var2' (f_base t))
- (f_var'21 : forall t, var2' (f_base t) -> var1' t)
- (failb : forall t, exprf _ op2 (var:=var2) (Tbase t))
- (failb' : forall t, exprf _ op2 (var:=var2') (Tbase t))
- (Hwf_failb : forall t G, wff G (failb t) (failb' t))
- (Hwf_f_op : forall G s d opc e1 e2,
- wff G e1 e2
- -> f_op var1 s d opc e1 = f_op var1' s d opc e2)
- (Hvar12 : forall t v, f_var12 t (f_var21 t v) = v)
- (Hvar'12 : forall t v, f_var'12 t (f_var'21 t v) = v).
-
- Lemma wff_mapf_base_type G G' {t}
- (e : exprf base_type_code1 op1 (var:=var1) t)
- (e' : exprf base_type_code1 op1 (var:=var1') t)
- (HG : forall t x x',
- List.In (existT _ t (x, x')) G
- -> List.In (existT _ (f_base t) (f_var12 _ x, f_var'12 _ x')) G')
- (Hwf : wff G e e')
- : wff G'
- (mapf_base_type f_var12 f_var21 failb e)
- (mapf_base_type f_var'12 f_var'21 failb' e').
- Proof.
- revert dependent G'; induction Hwf;
- repeat first [ progress simpl in *
- | progress intros
- | progress inversion_option
- | progress subst
- | break_innermost_match_step
- | progress specialize_by_assumption
- | apply wff_SmartPairf_SmartValf
- | solve [ eauto using In_flatten_binding_list_untransfer_interp_flat_type ]
- | match goal with
- | [ |- wff _ _ _ ] => constructor
- | [ H : _ |- _ ] => apply H; try setoid_rewrite List.in_app_iff
- | [ H : f_op _ ?s ?d ?opc ?e = ?x, H' : f_op _ ?s ?d ?opc ?e' = ?y |- _ ]
- => assert (x = y) by (rewrite <- H, <- H'; eauto); clear H'
- end
- | progress destruct_head'_or ].
- Qed.
-
- Lemma wf_map_base_type {t}
- (e : expr base_type_code1 op1 (var:=var1) t)
- (e' : expr base_type_code1 op1 (var:=var1') t)
- (Hwf : wf e e')
- : wf
- (map_base_type f_var12 f_var21 failb e)
- (map_base_type f_var'12 f_var'21 failb' e').
- Proof.
- destruct Hwf; constructor; simpl; intros.
- eapply wff_mapf_base_type; [ | eauto ].
- eauto using In_flatten_binding_list_untransfer_interp_flat_type.
- Qed.
- End with_var.
-
- Section MapBaseType.
- Context (failb : forall var t, exprf _ op2 (var:=var) (Tbase t))
- (Hwf_failb : forall var1 var2 G t, wff G (failb var1 t) (failb var2 t))
- (Hwf_f_op : forall var1 var1' s d opc G e1 e2,
- wff G e1 e2
- -> f_op var1 s d opc e1 = f_op var1' s d opc e2)
- {t} (e : Expr base_type_code1 op1 t)
- (Hwf : Wf e).
-
- Lemma Wf_MapBaseType'
- : Wf (MapBaseType' f_base f_op failb e).
- Proof using Hwf Hwf_failb Hwf_f_op.
- intros var1 var2; apply wf_map_base_type; eauto.
- Qed.
-
- Lemma Wf_MapBaseType
- r
- (H : MapBaseType f_base f_op failb e = Some r)
- : Wf r.
- Proof using Hwf Hwf_failb Hwf_f_op.
- cbv [MapBaseType] in *; break_innermost_match_hyps; inversion_option; subst.
- apply Wf_MapBaseType'.
- Qed.
- End MapBaseType.
-End language.
-
-Hint Resolve @Wf_MapBaseType' : wf.
diff --git a/src/Compilers/MapCastByDeBruijn.v b/src/Compilers/MapCastByDeBruijn.v
deleted file mode 100644
index 0eb137a06..000000000
--- a/src/Compilers/MapCastByDeBruijn.v
+++ /dev/null
@@ -1,62 +0,0 @@
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.MapCast.
-Require Import Crypto.Compilers.Named.InterpretToPHOAS.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Syntax.
-
-(** N.B. This procedure only works when there are no nested lets,
- i.e., nothing like [let x := let y := z in w] in the PHOAS syntax
- tree. This is a limitation of [compile]. *)
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t))
- {interp_base_type_bounds : base_type_code -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type_code).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs))).
-
- Local Notation PContext var := (PositiveContext _ var _ base_type_code_bl_transparent).
-
- Section MapCast.
- Context {t} (e : Expr base_type_code op t)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t)).
-
- Definition MapCastCompile
- := compile (e _) (DefaultNamesFor e).
- Definition MapCastDoCast (e' : option (Named.expr base_type_code op BinNums.positive t))
- := option_map
- (fun e'' => map_cast
- interp_op_bounds pick_typeb cast_op
- (BoundsContext:=PContext _)
- empty
- e''
- input_bounds)
- e'.
- Definition MapCastDoInterp
- (e' : option
- (option
- { output_bounds : interp_flat_type interp_base_type_bounds (codomain t) &
- Named.expr _ _ _ (Arrow (pick_type input_bounds) (pick_type output_bounds)) }))
- : option { output_bounds : interp_flat_type interp_base_type_bounds (codomain t)
- & Expr base_type_code op (Arrow (pick_type input_bounds) (pick_type output_bounds)) }
- := match e' with
- | Some (Some (existT output_bounds e''))
- => Some (existT _ output_bounds (InterpToPHOAS (Context:=fun var => PContext var) failb e''))
- | Some None | None => None
- end.
- Definition MapCast
- : option { output_bounds : interp_flat_type interp_base_type_bounds (codomain t)
- & Expr base_type_code op (Arrow (pick_type input_bounds) (pick_type output_bounds)) }
- := MapCastDoInterp (MapCastDoCast MapCastCompile).
- End MapCast.
-End language.
diff --git a/src/Compilers/MapCastByDeBruijnInterp.v b/src/Compilers/MapCastByDeBruijnInterp.v
deleted file mode 100644
index 9e7454c2a..000000000
--- a/src/Compilers/MapCastByDeBruijnInterp.v
+++ /dev/null
@@ -1,129 +0,0 @@
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.MapCastInterp.
-Require Import Crypto.Compilers.Named.MapCastWf.
-Require Import Crypto.Compilers.Named.InterpretToPHOASInterp.
-Require Import Crypto.Compilers.Named.CompileInterp.
-Require Import Crypto.Compilers.Named.CompileInterpSideConditions.
-Require Import Crypto.Compilers.Named.CompileWf.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Named.PositiveContext.DefaultsProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.MapCastByDeBruijn.
-Require Import Crypto.Compilers.InterpSideConditions.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t))
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst)
- {interp_base_type_bounds : base_type_code -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (interped_op_side_conditions : forall s d, op s d -> interp_flat_type interp_base_type s -> pointed_Prop)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type_code).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs)))
- (cast_backb: forall t b, interp_base_type (pick_typeb t b) -> interp_base_type t).
- Let cast_back : forall t b, interp_flat_type interp_base_type (pick_type b) -> interp_flat_type interp_base_type t
- := fun t b => SmartFlatTypeMapUnInterp cast_backb.
- Context (inboundsb : forall t, interp_base_type_bounds t -> interp_base_type t -> Prop).
- Let inbounds : forall t, interp_flat_type interp_base_type_bounds t -> interp_flat_type interp_base_type t -> Prop
- := fun t => interp_flat_type_rel_pointwise inboundsb (t:=t).
- Context (interp_op_bounds_correct
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type t)
- (H : inbounds t bs v)
- (Hside : to_prop (interped_op_side_conditions _ _ opc v)),
- inbounds tR (interp_op_bounds t tR opc bs) (interp_op t tR opc v))
- (pull_cast_back
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type (pick_type bs))
- (H : inbounds t bs (cast_back t bs v))
- (Hside : to_prop (interped_op_side_conditions _ _ opc (cast_back t bs v))),
- interp_op t tR opc (cast_back t bs v)
- =
- cast_back _ _ (interp_op _ _ (cast_op _ _ opc bs) v)).
-
- Local Notation MapCast
- := (@MapCast
- base_type_code op base_type_code_beq base_type_code_bl_transparent
- failb interp_base_type_bounds interp_op_bounds pick_typeb cast_op).
-
- Local Notation PositiveContextOk := (@PositiveContextOk base_type_code _ base_type_code_beq base_type_code_bl_transparent base_type_code_lb).
-
- Local Instance dec_base_type_code_eq : DecidableRel (@eq base_type_code).
- Proof.
- refine (fun x y => (if base_type_code_beq x y as b return base_type_code_beq x y = b -> Decidable (x = y)
- then fun pf => left (base_type_code_bl_transparent _ _ pf)
- else fun pf => right _) eq_refl).
- { clear -pf base_type_code_lb.
- let pf := pf in
- abstract (intro; erewrite base_type_code_lb in pf by eassumption; congruence). }
- Defined.
-
- Local Arguments Compile.compile : simpl never.
- Lemma MapCastCorrect
- {t} (e : Expr base_type_code op t)
- (Hwf : Wf e)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- : forall {b} e' (He':MapCast e input_bounds = Some (existT _ b e'))
- v v' (Hv : @inbounds _ input_bounds v /\ cast_back _ _ v' = v)
- (Hside : to_prop (InterpSideConditions interp_op interped_op_side_conditions e v)),
- Interp interp_op_bounds e input_bounds = b
- /\ @inbounds _ b (Interp interp_op e v)
- /\ cast_back _ _ (Interp interp_op e' v') = (Interp interp_op e v).
- Proof using base_type_code_lb interp_op_bounds_correct pull_cast_back.
- unfold MapCastByDeBruijn.MapCast, MapCastCompile, MapCastDoCast, MapCastDoInterp, option_map; intros b e'.
- break_innermost_match; try congruence; intros ? v v'.
- inversion_option; inversion_sigma; subst; simpl in *; intros.
- lazymatch goal with
- | [ H : MapCast.map_cast _ _ _ _ _ _ = Some _ |- _ ]
- => eapply map_cast_correct with (t:=Arrow _ _) (oldValues:=empty) (newValues:=empty) in H;
- [ destruct H; split; [ | eassumption ] | try eassumption.. ]
- end;
- try solve [ eassumption
- | auto using PositiveContextOk with typeclass_instances
- | repeat first [ rewrite !lookupb_empty by (apply PositiveContextOk; assumption)
- | intro
- | congruence ] ];
- unfold Interp;
- [ match goal with
- | [ H : ?y = Some ?b |- ?x = ?b ]
- => cut (y = Some x); [ congruence | ]
- end
- |
- | change (interp interp_op (?e ?var) ?v') with (Interp interp_op e v');
- unfold Interp, InterpretToPHOAS.Named.InterpToPHOAS, InterpretToPHOAS.Named.InterpToPHOAS_gen;
- rewrite <- interp_interp_to_phoas; [ reflexivity | ]
- | ].
- { erewrite (interp_compile (ContextOk:=PositiveContextOk)) with (e':=e _);
- [ reflexivity | auto | .. | eassumption ];
- auto using name_list_unique_DefaultNamesFor. }
- { erewrite (interp_compile (ContextOk:=PositiveContextOk)) with (e':=e _);
- [ reflexivity | auto | .. | eassumption ];
- auto using name_list_unique_DefaultNamesFor. }
- { intro; eapply wf_map_cast with (t := Arrow _ _) (fValues := empty); eauto using PositiveContextOk with typeclass_instances.
- { eapply (wf_compile (ContextOk:=PositiveContextOk) (make_var':=fun _ => id)) with (e':= e _);
- [ auto | .. | eassumption ];
- auto using name_list_unique_DefaultNamesFor. }
- { intros ???; rewrite lookupb_empty by apply PositiveContextOk; congruence. } }
- { erewrite (interp_side_conditions_compile (ContextOk:=PositiveContextOk)) with (e':=e _);
- [ assumption | auto | .. | eassumption ];
- auto using name_list_unique_DefaultNamesFor. }
- Qed.
-End language.
diff --git a/src/Compilers/MapCastByDeBruijnWf.v b/src/Compilers/MapCastByDeBruijnWf.v
deleted file mode 100644
index d611f50b6..000000000
--- a/src/Compilers/MapCastByDeBruijnWf.v
+++ /dev/null
@@ -1,108 +0,0 @@
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.MapCastWf.
-Require Import Crypto.Compilers.Named.InterpretToPHOASWf.
-Require Import Crypto.Compilers.Named.CompileWf.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Named.PositiveContext.DefaultsProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.MapCastByDeBruijn.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true)
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t))
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst)
- {interp_base_type_bounds : base_type_code -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type_code).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs)))
- (cast_backb: forall t b, interp_base_type (pick_typeb t b) -> interp_base_type t).
- Let cast_back : forall t b, interp_flat_type interp_base_type (pick_type b) -> interp_flat_type interp_base_type t
- := fun t b => SmartFlatTypeMapUnInterp cast_backb.
- Context (inboundsb : forall t, interp_base_type_bounds t -> interp_base_type t -> Prop).
- Let inbounds : forall t, interp_flat_type interp_base_type_bounds t -> interp_flat_type interp_base_type t -> Prop
- := fun t => interp_flat_type_rel_pointwise inboundsb (t:=t).
- Context (interp_op_bounds_correct
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type t)
- (H : inbounds t bs v),
- inbounds tR (interp_op_bounds t tR opc bs) (interp_op t tR opc v))
- (pull_cast_back
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type (pick_type bs))
- (H : inbounds t bs (cast_back t bs v)),
- interp_op t tR opc (cast_back t bs v)
- =
- cast_back _ _ (interp_op _ _ (cast_op _ _ opc bs) v)).
-
- Local Notation MapCast
- := (@MapCast
- base_type_code op base_type_code_beq base_type_code_bl_transparent
- failb interp_base_type_bounds interp_op_bounds pick_typeb cast_op).
-
- Local Notation PositiveContextOk := (@PositiveContextOk base_type_code _ base_type_code_beq base_type_code_bl_transparent base_type_code_lb).
-
- Local Instance dec_base_type_code_eq : DecidableRel (@eq base_type_code).
- Proof.
- refine (fun x y => (if base_type_code_beq x y as b return base_type_code_beq x y = b -> Decidable (x = y)
- then fun pf => left (base_type_code_bl_transparent _ _ pf)
- else fun pf => right _) eq_refl).
- { clear -pf base_type_code_lb.
- let pf := pf in
- abstract (intro; erewrite base_type_code_lb in pf by eassumption; congruence). }
- Defined.
-
- Local Arguments Compile.compile : simpl never.
- Lemma Wf_MapCast
- {t} (e : Expr base_type_code op t)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- : forall {b} e' (He':MapCast e input_bounds = Some (existT _ b e')) (Hwf : Wf e),
- Wf e'.
- Proof using base_type_code_lb.
- unfold MapCastByDeBruijn.MapCast, MapCastCompile, MapCastDoCast, MapCastDoInterp, option_map; intros b e'.
- break_innermost_match; try congruence; intros ? v v'.
- inversion_option; inversion_sigma; subst; simpl in *; intros.
- unfold InterpretToPHOAS.Named.InterpToPHOAS, InterpretToPHOAS.Named.InterpToPHOAS_gen.
- destruct t as [src dst].
- eapply (@wf_interp_to_phoas
- base_type_code op FMapPositive.PositiveMap.key _ _ _ _
- (PositiveContext base_type_code _ base_type_code_beq base_type_code_bl_transparent)
- (PositiveContext base_type_code _ base_type_code_beq base_type_code_bl_transparent)
- PositiveContextOk PositiveContextOk
- (failb _) (failb _) _ e1);
- (eapply wf_map_cast with (fValues:=empty); eauto using PositiveContextOk with typeclass_instances);
- try (eapply (wf_compile (make_var':=fun _ => id) (ContextOk:=PositiveContextOk));
- [ eauto
- | ..
- | eassumption ]);
- try solve [ auto using name_list_unique_DefaultNamesFor
- | intros ???; rewrite lookupb_empty by apply PositiveContextOk; congruence ].
- Qed.
-
- Lemma Wf_MapCast_arrow
- {s d} (e : Expr base_type_code op (Arrow s d))
- (input_bounds : interp_flat_type interp_base_type_bounds s)
- : forall {b} (e' : Expr _ _ (Arrow (pick_type input_bounds) (pick_type b)))
- (He':MapCast e input_bounds = Some (existT _ b e'))
- (Hwf : Wf e),
- Wf e'.
- Proof using base_type_code_lb. exact (@Wf_MapCast (Arrow s d) e input_bounds). Qed.
-End language.
-
-Hint Resolve Wf_MapCast Wf_MapCast_arrow : wf.
diff --git a/src/Compilers/MultiSizeTest.v b/src/Compilers/MultiSizeTest.v
deleted file mode 100644
index c31127126..000000000
--- a/src/Compilers/MultiSizeTest.v
+++ /dev/null
@@ -1,277 +0,0 @@
-Require Import Coq.omega.Omega.
-Require Import Crypto.Compilers.SmartMap.
-
-Set Implicit Arguments.
-Set Asymmetric Patterns.
-
-(** * Preliminaries: bounded and unbounded number types *)
-
-Definition bound8 := 256.
-
-Definition word8 := {n | n < bound8}.
-
-Definition bound9 := 512.
-
-Definition word9 := {n | n < bound9}.
-
-
-(** * Expressions over unbounded words *)
-
-Section unbounded.
- Variable var : Type.
-
- Inductive unbounded :=
- | Const : nat -> unbounded
- | Var : var -> unbounded
- | Plus : unbounded -> unbounded -> unbounded
- | LetIn : unbounded -> (var -> unbounded) -> unbounded.
-End unbounded.
-
-Arguments Const [var] _.
-
-Definition Unbounded := forall var, unbounded var.
-
-Fixpoint unboundedD (e : unbounded nat) : nat :=
- match e with
- | Const n => n
- | Var n => n
- | Plus e1 e2 => unboundedD e1 + unboundedD e2
- | LetIn e1 e2 => unboundedD (e2 (unboundedD e1))
- end.
-
-Definition UnboundedD (E : Unbounded) : nat :=
- unboundedD (E _).
-
-(** * Opt-in bounded types *)
-
-Section bounded.
- Inductive type :=
- | Nat
- | Word8
- | Word9.
-
- Variable var : type -> Type.
-
- Inductive bounded : type -> Type :=
- | BConst : nat -> bounded Nat
- | BConst8 : word8 -> bounded Word8
- | BConst9 : word9 -> bounded Word9
- | BVar : forall t, var t -> bounded t
- | BPlus : bounded Nat -> bounded Nat -> bounded Nat
- | BPlus8 : bounded Word8 -> bounded Word8 -> bounded Word8
- | BPlus9 : bounded Word9 -> bounded Word9 -> bounded Word9
- | BLetIn : forall t1 t2, bounded t1 -> (var t1 -> bounded t2) -> bounded t2
-
- | Unbound : forall t, bounded t -> bounded Nat
- | Bound : forall t, bounded Nat -> bounded t.
-End bounded.
-
-Arguments BConst [var] _.
-Arguments BConst8 [var] _.
-Arguments BConst9 [var] _.
-Arguments BVar [var t] _.
-Arguments Unbound [var t] _.
-Arguments Bound [var] _ _.
-
-Definition Bounded t := forall var, bounded var t.
-
-Definition typeD (t : type) : Type :=
- match t with
- | Nat => nat
- | Word8 => word8
- | Word9 => word9
- end.
-
-Theorem O_lt_S : forall n, O < S n.
-Proof.
- intros; omega.
-Qed.
-
-Definition plus8 (a b : word8) : word8 :=
- let n := proj1_sig a + proj1_sig b in
- match le_lt_dec bound8 n with
- | left _ => exist _ O (O_lt_S _)
- | right pf => exist _ n pf
- end.
-
-Definition plus9 (a b : word9) : word9 :=
- let n := proj1_sig a + proj1_sig b in
- match le_lt_dec bound9 n with
- | left _ => exist _ O (O_lt_S _)
- | right pf => exist _ n pf
- end.
-
-Infix "+8" := plus8 (at level 50).
-Infix "+9" := plus9 (at level 50).
-
-Definition unbound {t} : typeD t -> nat :=
- match t with
- | Nat => fun x => x
- | Word8 => fun x => proj1_sig x
- | Word9 => fun x => proj1_sig x
- end.
-
-Definition bound {t} : nat -> typeD t :=
- match t return nat -> typeD t with
- | Nat => fun x => x
- | Word8 => fun x =>
- match le_lt_dec bound8 x with
- | left _ => exist _ O (O_lt_S _)
- | right pf => exist _ x pf
- end
- | Word9 => fun x =>
- match le_lt_dec bound9 x with
- | left _ => exist _ O (O_lt_S _)
- | right pf => exist _ x pf
- end
- end.
-
-Fixpoint boundedD t (e : bounded typeD t) : typeD t :=
- match e with
- | BConst n => n
- | BConst8 n => n
- | BConst9 n => n
- | BVar _ n => n
- | BPlus e1 e2 => boundedD e1 + boundedD e2
- | BPlus8 e1 e2 => boundedD e1 +8 boundedD e2
- | BPlus9 e1 e2 => boundedD e1 +9 boundedD e2
- | BLetIn _ _ e1 e2 => boundedD (e2 (boundedD e1))
- | Unbound _ e1 => unbound (boundedD e1)
- | Bound _ e1 => bound (boundedD e1)
- end.
-
-Definition BoundedD t (E : Bounded t) : typeD t :=
- boundedD (E _).
-
-
-(** * Insertion of bounded types opportunistically *)
-
-Definition fail {var} : nat * bounded var Nat := (0, BConst 0).
-
-Fixpoint boundOf (eb : unbounded nat) : nat :=
- match eb with
- | Const n => n
- | Var n => n
- | Plus eb1 eb2 => boundOf eb1 + boundOf eb2
- | LetIn eb1 eb2 => boundOf (eb2 (boundOf eb1))
- end.
-
-Fixpoint boundify {var} (eb : unbounded nat) (e : unbounded (var Nat)) : nat * bounded var Nat :=
- match e with
- | Const n => (n,
- match le_lt_dec bound8 n with
- | left _ =>
- match le_lt_dec bound9 n with
- | left _ => BConst n
- | right pf => Unbound (BConst9 (exist _ n pf))
- end
- | right pf => Unbound (BConst8 (exist _ n pf))
- end)
- | Var x =>
- match eb with
- | Var n => (n, BVar x)
- | _ => fail
- end
- | Plus e1 e2 =>
- match eb with
- | Plus eb1 eb2 =>
- let (n1, e1') := boundify eb1 e1 in
- let (n2, e2') := boundify eb2 e2 in
- (n1 + n2,
- if le_lt_dec bound8 (n1 + n2)
- then if le_lt_dec bound9 (n1 + n2)
- then BPlus e1' e2'
- else Unbound (BPlus9 (Bound _ e1') (Bound _ e2'))
- else Unbound (BPlus8 (Bound _ e1') (Bound _ e2')))
- | _ => fail
- end
- | LetIn e1 e2 =>
- match eb with
- | LetIn eb1 eb2 =>
- let (n1, e1') := boundify eb1 e1 in
- (boundOf (eb2 n1), BLetIn e1' (fun x => snd (boundify (eb2 n1) (e2 x))))
- | _ => fail
- end
- end.
-
-Definition Boundify (E : Unbounded) : Bounded Nat :=
- fun _ => snd (boundify (E _) (E _)).
-
-
-(** * Moving [Unbound] operators down from [LetIn]s to their use sites *)
-
-Fixpoint movedown {var t} (e : bounded (bounded var) t) : bounded var t :=
- match e with
- | BConst n => BConst n
- | BConst8 n => BConst8 n
- | BConst9 n => BConst9 n
- | BVar _ e => e
- | BPlus e1 e2 => BPlus (movedown e1) (movedown e2)
- | BPlus8 e1 e2 => BPlus8 (movedown e1) (movedown e2)
- | BPlus9 e1 e2 => BPlus9 (movedown e1) (movedown e2)
- | BLetIn _ _ e1 e2 =>
- match movedown e1 in bounded _ t return (bounded _ t -> _) -> _ with
- | Unbound _ e1'' => fun e2_rec => BLetIn e1'' (fun x => e2_rec (Unbound (BVar x)))
- | e1' => fun e2_rec => BLetIn e1' (fun x => e2_rec (BVar x))
- end (fun x => movedown (e2 x))
- | Unbound _ e1 => Unbound (movedown e1)
- | Bound t e1 => Bound t (movedown e1)
- end.
-
-Definition Movedown t (E : Bounded t) : Bounded t :=
- fun _ => movedown (E _).
-
-
-(** * Canceling matching [Bound] and [Unbound] *)
-
-Definition type_eq_dec : forall t1 t2 : type, {t1 = t2} + {t1 <> t2}.
-Proof.
- decide equality.
-Defined.
-
-Fixpoint cancel {var t} (e : bounded var t) : bounded var t :=
- match e with
- | BConst n => BConst n
- | BConst8 n => BConst8 n
- | BConst9 n => BConst9 n
- | BVar _ x => BVar x
- | BPlus e1 e2 => BPlus (cancel e1) (cancel e2)
- | BPlus8 e1 e2 => BPlus8 (cancel e1) (cancel e2)
- | BPlus9 e1 e2 => BPlus9 (cancel e1) (cancel e2)
- | BLetIn _ _ e1 e2 => BLetIn (cancel e1) (fun x => cancel (e2 x))
- | Unbound _ e1 => Unbound (cancel e1)
- | Bound t e1 =>
- match cancel e1 with
- | Unbound t' e1' =>
- match type_eq_dec t' t with
- | left pf => match pf in _ = T return bounded _ T with
- | eq_refl => e1'
- end
- | right _ => Bound t (Unbound e1')
- end
- | e1' => Bound t e1'
- end
- end.
-
-Definition Cancel t (E : Bounded t) : Bounded t :=
- fun _ => cancel (E _).
-
-
-(** * Examples *)
-
-Example ex1 : Unbounded := fun _ =>
- LetIn (Const 127) (fun a =>
- LetIn (Const 63) (fun b =>
- LetIn (Plus (Var a) (Var b)) (fun c =>
- Plus (Var c) (Var c)))).
-
-Eval compute in (UnboundedD ex1).
-
-Definition ex1b := Boundify ex1.
-Eval compute in ex1b.
-
-Definition ex1bm := Movedown (Boundify ex1).
-Eval compute in ex1bm.
-
-Definition ex1bmc := Cancel (Movedown (Boundify ex1)).
-Eval compute in ex1bmc.
diff --git a/src/Compilers/Named/AListContext.v b/src/Compilers/Named/AListContext.v
deleted file mode 100644
index ffc8355ee..000000000
--- a/src/Compilers/Named/AListContext.v
+++ /dev/null
@@ -1,143 +0,0 @@
-(** * Context made from an associative list, without modules *)
-Require Import Coq.Bool.Sumbool.
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Equality.
-
-Local Open Scope list_scope.
-Section ctx.
- Context (key : Type)
- (key_beq : key -> key -> bool)
- (key_bl : forall k1 k2, key_beq k1 k2 = true -> k1 = k2)
- (key_lb : forall k1 k2, k1 = k2 -> key_beq k1 k2 = true)
- base_type_code (var : base_type_code -> Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true).
-
- Definition var_cast {a b} (x : var a) : option (var b)
- := match Sumbool.sumbool_of_bool (base_type_code_beq a b), Sumbool.sumbool_of_bool (base_type_code_beq b b) with
- | left pf, left pf' => match eq_trans (base_type_code_bl_transparent _ _ pf) (eq_sym (base_type_code_bl_transparent _ _ pf')) with
- | eq_refl => Some x
- end
- | right _, _ | _, right _ => None
- end.
-
- Fixpoint find (k : key) (xs : list (key * { t : _ & var t })) {struct xs}
- : option { t : _ & var t }
- := match xs with
- | nil => None
- | k'x :: xs' =>
- if key_beq k (fst k'x)
- then Some (snd k'x)
- else find k xs'
- end.
-
- Fixpoint remove (k : key) (xs : list (key * { t : _ & var t })) {struct xs}
- : list (key * { t : _ & var t })
- := match xs with
- | nil => nil
- | k'x :: xs' =>
- if key_beq k (fst k'x)
- then remove k xs'
- else k'x :: remove k xs'
- end.
-
- Definition add (k : key) (x : { t : _ & var t }) (xs : list (key * { t : _ & var t }))
- : list (key * { t : _ & var t })
- := (k, x) :: xs.
-
- Lemma find_remove_neq k k' xs (H : k <> k')
- : find k (remove k' xs) = find k xs.
- Proof.
- induction xs as [|x xs IHxs]; [ reflexivity | simpl ].
- break_innermost_match;
- repeat match goal with
- | [ H : key_beq _ _ = true |- _ ] => apply key_bl in H
- | [ H : context[key_beq ?x ?x] |- _ ] => rewrite (key_lb x x) in H by reflexivity
- | [ |- context[key_beq ?x ?x] ] => rewrite (key_lb x x) by reflexivity
- | [ H : ?x = false |- context[?x] ] => rewrite H
- | _ => congruence
- | _ => assumption
- | _ => progress subst
- | _ => progress simpl
- end.
- Qed.
-
- Lemma find_remove_same k xs
- : find k (remove k xs) = None.
- Proof.
- induction xs as [|x xs IHxs]; [ reflexivity | simpl ].
- break_innermost_match;
- repeat match goal with
- | [ H : key_beq _ _ = true |- _ ] => apply key_bl in H
- | [ H : context[key_beq ?x ?x] |- _ ] => rewrite (key_lb x x) in H by reflexivity
- | [ |- context[key_beq ?x ?x] ] => rewrite (key_lb x x) by reflexivity
- | [ H : ?x = false |- context[?x] ] => rewrite H
- | _ => congruence
- | _ => assumption
- | _ => progress subst
- | _ => progress simpl
- end.
- Qed.
-
- Lemma find_remove_nbeq k k' xs (H : key_beq k k' = false)
- : find k (remove k' xs) = find k xs.
- Proof.
- rewrite find_remove_neq; [ reflexivity | intro; subst ].
- rewrite key_lb in H by reflexivity; congruence.
- Qed.
-
- Lemma find_remove_beq k k' xs (H : key_beq k k' = true)
- : find k (remove k' xs) = None.
- Proof.
- apply key_bl in H; subst.
- rewrite find_remove_same; reflexivity.
- Qed.
-
- Definition AListContext : @Context base_type_code key var
- := {| ContextT := list (key * { t : _ & var t });
- lookupb t ctx n
- := match find n ctx with
- | Some (existT t' v)
- => var_cast v
- | None => None
- end;
- extendb t ctx n v
- := add n (existT _ t v) ctx;
- removeb t ctx n
- := remove n ctx;
- empty := nil |}.
-
- Lemma length_extendb (ctx : AListContext) k t v
- : length (@extendb _ _ _ AListContext t ctx k v) = S (length ctx).
- Proof. reflexivity. Qed.
-
- Lemma AListContextOk : @ContextOk base_type_code key var AListContext.
- Proof using base_type_code_lb key_bl key_lb.
- split;
- repeat first [ reflexivity
- | progress simpl in *
- | progress intros
- | rewrite find_remove_nbeq by eassumption
- | rewrite find_remove_beq by eassumption
- | rewrite find_remove_neq by congruence
- | rewrite find_remove_same by congruence
- | match goal with
- | [ |- context[key_beq ?x ?y] ]
- => destruct (key_beq x y) eqn:?
- | [ H : key_beq ?x ?y = true |- _ ]
- => apply key_bl in H
- end
- | break_innermost_match_step
- | progress unfold var_cast
- | rewrite key_lb in * by reflexivity
- | rewrite base_type_code_lb in * by reflexivity
- | rewrite concat_pV
- | congruence
- | break_innermost_match_hyps_step
- | progress unfold var_cast in * ].
- Qed.
-End ctx.
diff --git a/src/Compilers/Named/Compile.v b/src/Compilers/Named/Compile.v
deleted file mode 100644
index bee71cea5..000000000
--- a/src/Compilers/Named/Compile.v
+++ /dev/null
@@ -1,59 +0,0 @@
-(** * PHOAS → Named Representation of Gallina *)
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Syntax.
-
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope ctype_scope.
-Local Open Scope nexpr_scope.
-Local Open Scope expr_scope.
-Section language.
- Context (base_type_code : Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (Name : Type).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op (fun _ => Name)).
- Local Notation expr := (@expr base_type_code op (fun _ => Name)).
- Local Notation nexprf := (@Named.exprf base_type_code op Name).
- Local Notation nexpr := (@Named.expr base_type_code op Name).
-
- Fixpoint ocompilef {t} (e : exprf t) (ls : list (option Name)) {struct e}
- : option (nexprf t)
- := match e in @Syntax.exprf _ _ _ t return option (nexprf t) with
- | TT => Some Named.TT
- | Var _ x => Some (Named.Var x)
- | Op _ _ op args => option_map (Named.Op op) (@ocompilef _ args ls)
- | LetIn tx ex _ eC
- => match @ocompilef _ ex nil, split_onames tx ls with
- | Some x, (Some n, ls')%core
- => option_map (fun C => Named.LetIn tx n x C) (@ocompilef _ (eC n) ls')
- | _, _ => None
- end
- | Pair _ ex _ ey => match @ocompilef _ ex nil, @ocompilef _ ey nil with
- | Some x, Some y => Some (Named.Pair x y)
- | _, _ => None
- end
- end.
-
- Definition ocompile {t} (e : expr t) (ls : list (option Name))
- : option (nexpr t)
- := match e in @Syntax.expr _ _ _ t return option (nexpr t) with
- | Abs src _ f
- => match split_onames src ls with
- | (Some n, ls')%core
- => option_map (Named.Abs n) (@ocompilef _ (f n) ls')
- | _ => None
- end
- end.
-
- Definition compilef {t} (e : exprf t) (ls : list Name) := @ocompilef t e (List.map (@Some _) ls).
- Definition compile {t} (e : expr t) (ls : list Name) := @ocompile t e (List.map (@Some _) ls).
-End language.
-
-Global Arguments ocompilef {_ _ _ _} e ls.
-Global Arguments ocompile {_ _ _ _} e ls.
-Global Arguments compilef {_ _ _ _} e ls.
-Global Arguments compile {_ _ _ _} e ls.
diff --git a/src/Compilers/Named/CompileInterp.v b/src/Compilers/Named/CompileInterp.v
deleted file mode 100644
index 20a536ddc..000000000
--- a/src/Compilers/Named/CompileInterp.v
+++ /dev/null
@@ -1,207 +0,0 @@
-(** * PHOAS → Named Representation of Gallina *)
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Named.NameUtilProperties.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.NameUtil.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-Local Open Scope ctype_scope.
-Local Open Scope nexpr_scope.
-Local Open Scope expr_scope.
-Section language.
- Context {base_type_code}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}
- {base_type_dec : DecidableRel (@eq base_type_code)}
- {Name_dec : DecidableRel (@eq Name)}
- {Context : @Context base_type_code Name interp_base_type}
- {ContextOk : ContextOk Context}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op (fun _ => Name)).
- Local Notation expr := (@expr base_type_code op (fun _ => Name)).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op (fun _ => Name) interp_base_type).
- Local Notation wf := (@wf base_type_code op (fun _ => Name) interp_base_type).
- Local Notation nexprf := (@Named.exprf base_type_code op Name).
- Local Notation nexpr := (@Named.expr base_type_code op Name).
- Local Notation ocompilef := (@ocompilef base_type_code op Name).
- Local Notation ocompile := (@ocompile base_type_code op Name).
- Local Notation compilef := (@compilef base_type_code op Name).
- Local Notation compile := (@compile base_type_code op Name).
-
- Lemma interpf_ocompilef (ctx : Context) {t} (e : exprf t) e' (ls : list (option Name))
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
- v
- (H : ocompilef e ls = Some v)
- (Hls : oname_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In (Some n) ls -> False)
- : Named.interpf (interp_op:=interp_op) (ctx:=ctx) v
- = Some (interpf interp_op e').
- Proof using ContextOk Name_dec base_type_dec.
- revert dependent ctx; revert dependent ls; induction Hwf;
- repeat first [ progress intros
- | progress subst
- | progress inversion_option
- | apply (f_equal (@Some _))
- | apply (f_equal (@interp_op _ _ _))
- | solve [ eauto ]
- | progress simpl in *
- | progress unfold option_map, LetIn.Let_In in *
- | progress break_innermost_match_step
- | progress break_match_hyps
- | progress destruct_head' or
- | progress inversion_prod
- | progress specialize_by_assumption
- | progress specialize_by auto using oname_list_unique_nil
- | match goal with
- | [ H : forall x, oname_list_unique ?ls -> _ |- _ ]
- => specialize (fun pf x => H x pf)
- | [ H : context[snd (split_onames _ _)] |- _ ]
- => rewrite snd_split_onames_skipn in H
- | [ H : oname_list_unique (List.skipn _ _) -> _ |- _ ]
- => specialize (fun pf => H (@oname_list_unique_skipn _ _ _ pf))
- | [ IH : forall v ls, ocompilef ?e ls = Some v -> _, H : ocompilef ?e ?ls' = Some ?v' |- _ ]
- => specialize (IH _ _ H)
- | [ IH : forall x1 x2 v ls, ocompilef (?e x1) ls = Some v -> _, H : ocompilef (?e ?x1') ?ls' = Some ?v' |- _ ]
- => specialize (fun x2 => IH _ x2 _ _ H)
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => rewrite List.in_app_iff in H
- | [ H : forall ctx, _ -> Named.interpf ?e = Some _, H' : context[Named.interpf ?e] |- _ ]
- => rewrite H in H' by assumption
- | [ H : forall x2 ctx, _ -> Named.interpf ?e = Some _ |- Named.interpf ?e = Some _ ]
- => apply H; clear H
- | [ H : forall x2, _ -> forall ctx, _ -> Named.interpf ?e = Some _ |- Named.interpf ?e = Some _ ]
- => apply H; clear H
- end ];
- repeat match goal with
- | _ => erewrite lookupb_extend by assumption
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : _ |- _ ] => erewrite H by eassumption
- | _ => progress unfold dec in *
- | _ => progress break_innermost_match_step
- | _ => progress subst
- | _ => progress destruct_head' and
- | _ => congruence
- | [ H : List.In _ (flatten_binding_list _ _) |- _ ]
- => erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]
- | [ H : _ |- _ ]
- => first [ erewrite find_Name_and_val_wrong_type in H by eassumption
- | rewrite find_Name_and_val_different in H by assumption
- | rewrite snd_split_onames_skipn in H ]
- | _ => solve [ eauto using In_skipn, In_firstn
- | eapply split_onames_find_Name_Some_unique; [ | apply path_prod; simpl | ]; eauto ]
- | [ H : find_Name_and_val _ _ ?t ?n ?N ?V None = Some _, H' : List.In (Some ?n) (List.skipn _ ?ls) |- False ]
- => eapply find_Name_and_val_find_Name_Some, split_onames_find_Name_Some_unique in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]
- | [ H : List.In (existT _ ?t (?n, _)%core) ?G,
- H' : List.In (Some ?n) (List.skipn _ ?ls),
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> List.In (Some n') ?ls -> False
- |- False ]
- => apply (IH _ _ _ H); clear IH H
- | [ H : List.In (existT _ ?t (?n, _)%core) ?G,
- H' : find_Name _ ?n ?N = Some ?t',
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> List.In (Some n') ?ls -> False
- |- _ ]
- => exfalso; apply (IH _ _ _ H); clear IH H
- end.
- Qed.
-
- Lemma interp_ocompile (ctx : Context) {t} (e : expr t) e' (ls : list (option Name))
- (Hwf : wf e e')
- f
- (Hls : oname_list_unique ls)
- (H : ocompile e ls = Some f)
- : forall v, Named.interp (interp_op:=interp_op) (ctx:=ctx) f v
- = Some (interp interp_op e' v).
- Proof using ContextOk Name_dec base_type_dec.
- revert H; destruct Hwf;
- repeat first [ progress simpl in *
- | progress unfold option_map, Named.interp in *
- | congruence
- | progress break_innermost_match
- | progress inversion_option
- | progress subst
- | progress intros ].
- eapply interpf_ocompilef;
- [ eauto | | eassumption
- | inversion_prod; subst; rewrite snd_split_onames_skipn; eauto using oname_list_unique_skipn
- |intros ???; erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) by eassumption;
- let H := fresh in
- intro H; apply find_Name_and_val_find_Name_Some in H;
- eapply split_onames_find_Name_Some_unique in H; [ | eassumption.. ];
- intuition ].
- { intros ???.
- repeat first [ solve [ auto ]
- | rewrite (lookupb_extend _ _ _)
- | progress subst
- | progress break_innermost_match
- | erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) by eassumption
- | congruence
- | match goal with
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : _ |- _ ] => first [ erewrite find_Name_and_val_wrong_type in H by eassumption
- | erewrite find_Name_and_val_different in H by eassumption ]
- end
- | progress intros ]. }
- Qed.
-
- Lemma interpf_compilef (ctx : Context) {t} (e : exprf t) e' (ls : list Name)
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
- v
- (H : compilef e ls = Some v)
- (Hls : name_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In n ls -> False)
- : Named.interpf (interp_op:=interp_op) (ctx:=ctx) v
- = Some (interpf interp_op e').
- Proof using ContextOk Name_dec base_type_dec.
- eapply interpf_ocompilef; try eassumption.
- setoid_rewrite List.in_map_iff; intros; destruct_head' ex; destruct_head' and; inversion_option; subst.
- eauto.
- Qed.
-
- Lemma interp_compile (ctx : Context) {t} (e : expr t) e' (ls : list Name)
- (Hwf : wf e e')
- f
- (Hls : name_list_unique ls)
- (H : compile e ls = Some f)
- : forall v, Named.interp (interp_op:=interp_op) (ctx:=ctx) f v
- = Some (interp interp_op e' v).
- Proof using ContextOk Name_dec base_type_dec. eapply interp_ocompile; eassumption. Qed.
-
- Lemma Interp_compile {t} (e : Expr t) (ls : list Name)
- (Hwf : Wf e)
- f
- (Hls : name_list_unique ls)
- (H : compile (e _) ls = Some f)
- : forall v, Named.Interp (Context:=Context) (interp_op:=interp_op) f v
- = Some (Interp interp_op e v).
- Proof using ContextOk Name_dec base_type_dec. eapply interp_compile; eauto. Qed.
-End language.
diff --git a/src/Compilers/Named/CompileInterpSideConditions.v b/src/Compilers/Named/CompileInterpSideConditions.v
deleted file mode 100644
index da8e1d8b2..000000000
--- a/src/Compilers/Named/CompileInterpSideConditions.v
+++ /dev/null
@@ -1,253 +0,0 @@
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Named.NameUtilProperties.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.NameUtil.
-Require Import Crypto.Compilers.Named.InterpSideConditions.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InterpSideConditions.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-Section language.
- Context {base_type_code}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}
- {base_type_dec : DecidableRel (@eq base_type_code)}
- {Name_dec : DecidableRel (@eq Name)}
- {interped_op_side_conditions : forall s d, op s d -> interp_flat_type interp_base_type s -> pointed_Prop}
- {Context : @Context base_type_code Name interp_base_type}
- {ContextOk : ContextOk Context}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op (fun _ => Name)).
- Local Notation expr := (@expr base_type_code op (fun _ => Name)).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op (fun _ => Name) interp_base_type).
- Local Notation wf := (@wf base_type_code op (fun _ => Name) interp_base_type).
- Local Notation nexprf := (@Named.exprf base_type_code op Name).
- Local Notation nexpr := (@Named.expr base_type_code op Name).
- Local Notation ocompilef := (@ocompilef base_type_code op Name).
- Local Notation ocompile := (@ocompile base_type_code op Name).
- Local Notation compilef := (@compilef base_type_code op Name).
- Local Notation compile := (@compile base_type_code op Name).
-
- Lemma interpf_side_conditions_gen_ocompilef (ctx : Context) {t} (e : exprf t) e' (ls : list (option Name))
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
- v
- (H : ocompilef e ls = Some v)
- (Hls : oname_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In (Some n) ls -> False)
- : Named.interpf_side_conditions_gen interp_op interped_op_side_conditions ctx v
- = Some (interpf_side_conditions_gen interp_op interped_op_side_conditions e').
- Proof using ContextOk Name_dec base_type_dec.
- revert dependent ctx; revert dependent ls; induction Hwf;
- repeat first [ progress intros
- | progress subst
- | progress inversion_option
- | apply (f_equal (@Some _))
- | apply (f_equal2 (@pair _ _))
- | apply (f_equal2 and_pointed_Prop)
- | apply (f_equal (@interp_op _ _ _))
- | solve [ eauto ]
- | progress simpl in *
- | progress unfold option_map, LetIn.Let_In in *
- | progress break_innermost_match_step
- | progress break_match_hyps
- | progress destruct_head' or
- | progress inversion_prod
- | progress specialize_by_assumption
- | progress specialize_by auto using oname_list_unique_nil
- | match goal with
- | [ H : forall x, oname_list_unique ?ls -> _ |- _ ]
- => specialize (fun pf x => H x pf)
- | [ H : context[snd (split_onames _ _)] |- _ ]
- => rewrite snd_split_onames_skipn in H
- | [ H : oname_list_unique (List.skipn _ _) -> _ |- _ ]
- => specialize (fun pf => H (@oname_list_unique_skipn _ _ _ pf))
- | [ IH : forall v ls, ocompilef ?e ls = Some v -> _, H : ocompilef ?e ?ls' = Some ?v' |- _ ]
- => specialize (IH _ _ H)
- | [ IH : forall x1 x2 v ls, ocompilef (?e x1) ls = Some v -> _, H : ocompilef (?e ?x1') ?ls' = Some ?v' |- _ ]
- => specialize (fun x2 => IH _ x2 _ _ H)
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => rewrite List.in_app_iff in H
- | [ H : forall ctx, _ -> Named.interpf_side_conditions_gen _ _ _ ?e = Some _, H' : context[Named.interpf_side_conditions_gen _ _ _ ?e] |- _ ]
- => rewrite H in H' by assumption
- | [ H : forall x2 ctx, _ -> Named.interpf_side_conditions_gen _ _ _ ?e = Some _ |- Named.interpf_side_conditions_gen _ _ _ ?e = Some _ ]
- => apply H; clear H
- | [ H : forall x2, _ -> forall ctx, _ -> Named.interpf_side_conditions_gen _ _ _ ?e = Some _ |- Named.interpf_side_conditions_gen _ _ _ ?e = Some _ ]
- => apply H; clear H
- | [ H : forall x2 ctx, _ -> Named.interpf_side_conditions_gen _ _ _ ?e = Some _, H' : context[Named.interpf_side_conditions_gen _ _ _ ?e] |- _ ]
- => erewrite H in H'; clear H
- | [ H : forall x2, _ -> forall ctx, _ -> Named.interpf_side_conditions_gen _ _ _ ?e = Some _, H' : context[Named.interpf_side_conditions_gen _ _ _ ?e] |- _ ]
- => erewrite H in H'; clear H
- end ];
- repeat match goal with
- | _ => erewrite lookupb_extend by assumption
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : _ |- _ ] => erewrite H by eassumption
- | _ => progress unfold dec in *
- | _ => progress break_innermost_match_step
- | _ => progress subst
- | _ => progress destruct_head' and
- | _ => congruence
- | [ H : List.In _ (flatten_binding_list _ _) |- _ ]
- => erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]
- | [ H : _ |- _ ]
- => first [ erewrite find_Name_and_val_wrong_type in H by eassumption
- | rewrite find_Name_and_val_different in H by assumption
- | rewrite snd_split_onames_skipn in H ]
- | _ => solve [ eauto using In_skipn, In_firstn
- | eapply split_onames_find_Name_Some_unique; [ | apply path_prod; simpl | ]; eauto ]
- | [ H : find_Name_and_val _ _ ?t ?n ?N ?V None = Some _, H' : List.In (Some ?n) (List.skipn _ ?ls) |- False ]
- => eapply find_Name_and_val_find_Name_Some, split_onames_find_Name_Some_unique in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]
- | [ H : List.In (existT _ ?t (?n, _)%core) ?G,
- H' : List.In (Some ?n) (List.skipn _ ?ls),
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> List.In (Some n') ?ls -> False
- |- False ]
- => apply (IH _ _ _ H); clear IH H
- | [ H : List.In (existT _ ?t (?n, _)%core) ?G,
- H' : find_Name _ ?n ?N = Some ?t',
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> List.In (Some n') ?ls -> False
- |- _ ]
- => exfalso; apply (IH _ _ _ H); clear IH H
- | [ H : List.In (existT _ ?t (?n, ?v')%core) ?G,
- H' : lookupb ?ctx ?x = Some ?v,
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> lookupb ?ctx n' = Some x'
- |- _ ]
- => assert (v = v') by (pose proof (IH _ _ _ H); congruence);
- (subst v || subst v')
- | [ H : List.In (existT _ ?t (?n, ?v')%core) ?G,
- H' : lookupb ?ctx ?x = _,
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> lookupb ?ctx n' = Some x'
- |- _ ]
- => pose proof (IH _ _ _ H); congruence
- end.
- Qed.
-
- Lemma interpf_side_conditions_ocompilef (ctx : Context) {t} (e : exprf t) e' (ls : list (option Name))
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
- v
- (H : ocompilef e ls = Some v)
- (Hls : oname_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In (Some n) ls -> False)
- : Named.interpf_side_conditions interp_op interped_op_side_conditions ctx v
- = Some (interpf_side_conditions interp_op interped_op_side_conditions e').
- Proof using ContextOk Name_dec base_type_dec.
- unfold Named.interpf_side_conditions; erewrite interpf_side_conditions_gen_ocompilef by eassumption.
- reflexivity.
- Qed.
-
- Lemma interp_side_conditions_ocompile (ctx : Context) {t} (e : expr t) e' (ls : list (option Name))
- (Hwf : wf e e')
- f
- (Hls : oname_list_unique ls)
- (H : ocompile e ls = Some f)
- : forall v, Named.interp_side_conditions interp_op interped_op_side_conditions ctx f v
- = Some (interp_side_conditions interp_op interped_op_side_conditions e' v).
- Proof using ContextOk Name_dec base_type_dec.
- revert H; destruct Hwf;
- repeat first [ progress simpl in *
- | progress unfold option_map, Named.interp in *
- | congruence
- | progress break_innermost_match
- | progress inversion_option
- | progress subst
- | progress intros ].
- eapply interpf_side_conditions_ocompilef;
- [ eauto | | eassumption
- | inversion_prod; subst; rewrite snd_split_onames_skipn; eauto using oname_list_unique_skipn
- |intros ???; erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) by eassumption;
- let H := fresh in
- intro H; apply find_Name_and_val_find_Name_Some in H;
- eapply split_onames_find_Name_Some_unique in H; [ | eassumption.. ];
- intuition ].
- { intros ???.
- repeat first [ solve [ auto ]
- | rewrite (lookupb_extend _ _ _)
- | progress subst
- | progress break_innermost_match
- | erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) by eassumption
- | congruence
- | match goal with
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : _ |- _ ] => first [ erewrite find_Name_and_val_wrong_type in H by eassumption
- | erewrite find_Name_and_val_different in H by eassumption ]
- end
- | progress intros ]. }
- Qed.
-
- Lemma interpf_side_conditions_gen_compilef (ctx : Context) {t} (e : exprf t) e' (ls : list Name)
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
- v
- (H : compilef e ls = Some v)
- (Hls : name_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In n ls -> False)
- : Named.interpf_side_conditions_gen interp_op interped_op_side_conditions ctx v
- = Some (interpf_side_conditions_gen interp_op interped_op_side_conditions e').
- Proof using ContextOk Name_dec base_type_dec.
- eapply interpf_side_conditions_gen_ocompilef; try eassumption.
- setoid_rewrite List.in_map_iff; intros; destruct_head' ex; destruct_head' and; inversion_option; subst.
- eauto.
- Qed.
-
- Lemma interpf_side_conditions_compilef (ctx : Context) {t} (e : exprf t) e' (ls : list Name)
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
- v
- (H : compilef e ls = Some v)
- (Hls : name_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In n ls -> False)
- : Named.interpf_side_conditions interp_op interped_op_side_conditions ctx v
- = Some (interpf_side_conditions interp_op interped_op_side_conditions e').
- Proof using ContextOk Name_dec base_type_dec.
- unfold Named.interpf_side_conditions; erewrite interpf_side_conditions_gen_compilef by eassumption.
- reflexivity.
- Qed.
-
- Lemma interp_side_conditions_compile (ctx : Context) {t} (e : expr t) e' (ls : list Name)
- (Hwf : wf e e')
- f
- (Hls : name_list_unique ls)
- (H : compile e ls = Some f)
- : forall v, Named.interp_side_conditions interp_op interped_op_side_conditions ctx f v
- = Some (interp_side_conditions interp_op interped_op_side_conditions e' v).
- Proof using ContextOk Name_dec base_type_dec. eapply interp_side_conditions_ocompile; eassumption. Qed.
-
- Lemma InterpSideConditions_compile {t} (e : Expr t) (ls : list Name)
- (Hwf : Wf e)
- f
- (Hls : name_list_unique ls)
- (H : compile (e _) ls = Some f)
- : forall v, Named.InterpSideConditions (Context:=Context) interp_op interped_op_side_conditions f v
- = Some (InterpSideConditions interp_op interped_op_side_conditions e v).
- Proof using ContextOk Name_dec base_type_dec. eapply interp_side_conditions_compile; eauto. Qed.
-End language.
diff --git a/src/Compilers/Named/CompileProperties.v b/src/Compilers/Named/CompileProperties.v
deleted file mode 100644
index 9803946b2..000000000
--- a/src/Compilers/Named/CompileProperties.v
+++ /dev/null
@@ -1,74 +0,0 @@
-Require Import Coq.omega.Omega.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Named.NameUtilProperties.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.ListUtil.
-
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope ctype_scope.
-Local Open Scope nexpr_scope.
-Local Open Scope expr_scope.
-Section language.
- Context (base_type_code : Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (Name : Type)
- (dummy : base_type_code -> Name).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprft := (@exprf base_type_code op (fun _ => unit)).
- Local Notation exprt := (@expr base_type_code op (fun _ => unit)).
- Local Notation exprf := (@exprf base_type_code op (fun _ => Name)).
- Local Notation expr := (@expr base_type_code op (fun _ => Name)).
- Local Notation nexprf := (@Named.exprf base_type_code op Name).
- Local Notation nexpr := (@Named.expr base_type_code op Name).
-
- Lemma compilef_count_let_bindersf_enough {t}
- (e1 : exprf t) (e2 : exprft t)
- G
- (Hwf : wff G e1 e2)
- : forall (ls1 : list Name)
- (He : compilef e1 ls1 <> None)
- (ls2 : list Name)
- (Hls : List.length ls2 >= count_let_bindersf dummy e1),
- compilef e1 ls2 <> None.
- Proof.
- unfold compilef; induction Hwf;
- repeat first [ progress simpl in *
- | progress cbv [option_map] in *
- | progress subst
- | progress inversion_prod
- | congruence
- | omega
- | progress break_innermost_match_step
- | progress break_match_hyps
- | progress intros
- | progress specialize_by congruence
- | match goal with
- | [ H : forall ls1, ocompilef ?e _ <> None -> _, H' : ocompilef ?e (List.map _ ?ls') = Some _ |- _ ]
- => specialize (H ls'); rewrite H' in H
- | [ H : forall ls1, ocompilef ?e _ <> None -> _, H' : ocompilef ?e nil = Some _ |- _ ]
- => specialize (H nil); simpl in H; rewrite H' in H
- | [ H : forall v ls1, ocompilef (?e v) _ <> None -> _, H' : ocompilef (?e ?v') _ = Some _ |- _ ]
- => specialize (H v')
- | [ H : forall ls1, List.length ls1 >= ?k -> _, H' : List.length _ >= ?k |- _ ]
- => specialize (H _ H')
- | [ H : context[snd (split_onames _ _)] |- _ ]
- => rewrite snd_split_onames_skipn in H
- | [ H : context[List.skipn _ (List.map _ _)] |- _]
- => rewrite skipn_map in H
- | [ H : fst (split_onames ?t (List.map _ ?ls)) = None |- _ ]
- => rewrite split_onames_split_names in H
- | [ H : fst (split_names _ _) = None |- _ ]
- => apply length_fst_split_names_None_iff in H
- end ].
- Abort.
-End language.
diff --git a/src/Compilers/Named/CompileWf.v b/src/Compilers/Named/CompileWf.v
deleted file mode 100644
index 3ccff8d58..000000000
--- a/src/Compilers/Named/CompileWf.v
+++ /dev/null
@@ -1,254 +0,0 @@
-(** * PHOAS → Named Representation of Gallina *)
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.NameUtil.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Named.NameUtilProperties.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Local Open Scope ctype_scope.
-Local Open Scope nexpr_scope.
-Local Open Scope expr_scope.
-Section language.
- Context {base_type_code var} {var' : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {base_type_dec : DecidableRel (@eq base_type_code)}
- {Name_dec : DecidableRel (@eq Name)}
- {Context : @Context base_type_code Name var}
- {ContextOk : ContextOk Context}
- {make_var' : forall t, var t -> var' t} (* probably only needed because I was clumsy in the proof method *).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op (fun _ => Name)).
- Local Notation expr := (@expr base_type_code op (fun _ => Name)).
- Local Notation wff := (@wff base_type_code op (fun _ => Name) var').
- Local Notation wf := (@wf base_type_code op (fun _ => Name) var').
- Local Notation nexprf := (@Named.exprf base_type_code op Name).
- Local Notation nexpr := (@Named.expr base_type_code op Name).
- Local Notation nwff := (@Named.wff base_type_code Name op var Context).
- Local Notation nwf := (@Named.wf base_type_code Name op var Context).
- Local Notation ocompilef := (@ocompilef base_type_code op Name).
- Local Notation ocompile := (@ocompile base_type_code op Name).
- Local Notation compilef := (@compilef base_type_code op Name).
- Local Notation compile := (@compile base_type_code op Name).
-
- Local Ltac finish_with_var' :=
- (* FIXME: clean this up *)
- lazymatch goal with
- | [ H : find_Name_and_val _ _ ?b ?n ?i ?v None = Some _
- |- find_Name_and_val _ _ ?b ?n ?i _ None <> None ]
- => (is_evar v;
- let T := type of v in
- let H := fresh in
- assert (H : { k : T | k = v }));
- [
- | let H' := fresh in
- let H'' := fresh in
- intro H';
- let T := match type of H with ?T = _ => T end in
- assert (H'' : T <> None) by congruence; apply H''; revert H';
- rewrite <- !find_Name_and_val_None_iff;
- tauto ]
- end;
- match goal with
- | [ v : interp_flat_type _ ?t |- @sig (interp_flat_type _ ?t) _ ]
- => exists (SmartMap.SmartVarfMap make_var' v)
- end;
- reflexivity.
-
- Lemma wff_ocompilef (ctx : Context) G
- (HG : forall t n v,
- List.In (existT _ t (n, v)%core) G -> lookupb t ctx n <> None)
- {t} (e : exprf t) e' (ls : list (option Name))
- (Hwf : wff G e e')
- v
- (H : ocompilef e ls = Some v)
- (Hls : oname_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In (Some n) ls -> False)
- : prop_of_option (nwff ctx v).
- Proof using ContextOk Name_dec base_type_dec make_var'.
- revert dependent ctx; revert dependent ls; induction Hwf;
- repeat first [ progress intros
- | progress subst
- | progress inversion_option
- | solve [ auto ]
- | progress simpl in *
- | progress unfold option_map in *
- | progress break_innermost_match_step
- | progress break_match_hyps
- | progress autorewrite with push_prop_of_option in *
- | progress specialize_by tauto
- | progress specialize_by auto using oname_list_unique_nil
- | solve [ unfold not in *; eauto using In_skipn, oname_list_unique_firstn, oname_list_unique_skipn ]
- | progress destruct_head' or
- | match goal with
- | [ IH : forall v ls, ocompilef ?e ls = Some v -> _, H : ocompilef ?e ?ls' = Some ?v' |- _ ]
- => specialize (IH _ _ H)
- | [ IH : forall x1 x2 v ls, ocompilef (?e2 x1) ls = Some v -> _, H : ocompilef (?e2 ?x1') ?ls' = Some ?v' |- _ ]
- => specialize (fun x2 => IH _ x2 _ _ H)
- | [ HG : forall t n v, List.In _ _ -> _ = Some _, H : _ = None |- _ ]
- => erewrite HG in H by eassumption
- | [ |- _ /\ _ ] => split
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => setoid_rewrite List.in_app_iff in H
- | [ H : split_onames _ _ = (_, _)%core |- _ ]
- => pose proof (f_equal (@fst _ _) H);
- pose proof (f_equal (@snd _ _) H);
- clear H
- | [ H : context[snd (split_onames _ _)] |- _ ]
- => rewrite snd_split_onames_skipn in H
- | [ H : forall a, (forall x y z, _ \/ _ -> _) -> _ |- _ ]
- => specialize (fun a pf1 pf2
- => H a (fun x y z pf
- => match pf with
- | or_introl pf' => pf1 x y z pf'
- | or_intror pf' => pf2 x y z pf'
- end))
- | [ H : forall a b, (forall x y z, _ \/ _ -> _) -> _ |- _ ]
- => specialize (fun a b pf1 pf2
- => H a b (fun x y z pf
- => match pf with
- | or_introl pf' => pf1 x y z pf'
- | or_intror pf' => pf2 x y z pf'
- end))
- | [ H : forall a b c, (forall x y z, _ \/ _ -> _) -> _ |- _ ]
- => specialize (fun a b c pf1 pf2
- => H a b c (fun x y z pf
- => match pf with
- | or_introl pf' => pf1 x y z pf'
- | or_intror pf' => pf2 x y z pf'
- end))
- | [ H : forall a b c d, (forall x y z, _ \/ _ -> _) -> _ |- _ ]
- => specialize (fun a b c d pf1 pf2
- => H a b c d (fun x y z pf
- => match pf with
- | or_introl pf' => pf1 x y z pf'
- | or_intror pf' => pf2 x y z pf'
- end))
- | [ H : _ |- _ ]
- => progress rewrite ?firstn_nil, ?skipn_nil, ?skipn_skipn in H
- | [ H : List.In ?x (List.firstn ?a (List.skipn ?b ?ls)), H' : List.In ?x (List.skipn (?b + ?a) ?ls) |- False ]
- => rewrite firstn_skipn_add in H; apply In_skipn in H
- | [ H : ?T |- prop_of_option (nwff _ ?v) ]
- => eapply H; clear H
- end ];
- repeat match goal with
- | _ => erewrite lookupb_extend by assumption
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : _ |- _ ] => erewrite H by eassumption
- | _ => progress unfold dec in *
- | _ => progress break_innermost_match_step
- | _ => progress subst
- | _ => progress destruct_head' and
- | _ => congruence
- | [ H : List.In _ (flatten_binding_list _ _) |- _ ]
- => erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]
- | [ H : _ |- _ ]
- => first [ erewrite find_Name_and_val_wrong_type in H by eassumption
- | rewrite find_Name_and_val_different in H by assumption
- | rewrite snd_split_onames_skipn in H ]
- | _ => solve [ eauto using In_skipn, In_firstn
- | eapply split_onames_find_Name_Some_unique; [ | apply path_prod; simpl | ]; eauto ]
- | [ H : find_Name_and_val _ _ ?t ?n ?N ?V None = Some _, H' : List.In (Some ?n) (List.skipn _ ?ls) |- False ]
- => eapply find_Name_and_val_find_Name_Some, split_onames_find_Name_Some_unique in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]
- | [ H : List.In (existT _ ?t (?n, _)%core) ?G,
- H' : List.In (Some ?n) (List.skipn _ ?ls),
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> List.In (Some n') ?ls -> False
- |- False ]
- => apply (IH _ _ _ H); clear IH H
- | [ H : List.In (existT _ ?t (?n, _)%core) ?G,
- H' : find_Name _ ?n ?N = Some ?t',
- IH : forall t' n' x', List.In (existT _ t' (n', x')%core) ?G -> List.In (Some n') ?ls -> False
- |- _ ]
- => exfalso; apply (IH _ _ _ H); clear IH H
- end.
- finish_with_var'.
- Qed.
-
- Lemma wf_ocompile (ctx : Context) {t} (e : expr t) e' (ls : list (option Name))
- (Hwf : wf e e')
- f
- (Hls : oname_list_unique ls)
- (H : ocompile e ls = Some f)
- : nwf ctx f.
- Proof using ContextOk Name_dec base_type_dec make_var'.
- revert H; destruct Hwf;
- repeat first [ progress simpl in *
- | progress unfold option_map, Named.interp in *
- | congruence
- | progress break_innermost_match
- | progress inversion_option
- | progress subst
- | progress intros ].
- intro; simpl.
- eapply wff_ocompilef;
- [ | solve [ eauto ] | eassumption
- | inversion_prod; subst; rewrite snd_split_onames_skipn; eauto using oname_list_unique_skipn
- | intros ???; erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) by eassumption;
- let H := fresh in
- intro H; apply find_Name_and_val_find_Name_Some in H;
- eapply split_onames_find_Name_Some_unique in H; [ | eassumption.. ];
- intuition ].
- { intros ???.
- repeat first [ solve [ auto ]
- | rewrite (lookupb_extend _ _ _)
- | progress subst
- | progress break_innermost_match
- | erewrite <- (flatten_binding_list_find_Name_and_val_unique _ _) by eassumption
- | congruence
- | eassumption
- | match goal with
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : _ |- _ ] => first [ erewrite find_Name_and_val_wrong_type in H by eassumption
- | erewrite find_Name_and_val_different in H by eassumption ]
- end
- | progress intros ].
- finish_with_var'. }
- Qed.
-
- Lemma wff_compilef (ctx : Context) {t} (e : exprf t) e' (ls : list Name)
- G
- (Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n <> None)
- v
- (H : compilef e ls = Some v)
- (Hls : name_list_unique ls)
- (HGls : forall t n x, List.In (existT _ t (n, x)%core) G -> List.In n ls -> False)
- : prop_of_option (nwff ctx v).
- Proof using ContextOk Name_dec base_type_dec make_var'.
- eapply wff_ocompilef; try eassumption.
- setoid_rewrite List.in_map_iff; intros; destruct_head' ex; destruct_head' and; inversion_option; subst.
- eauto.
- Qed.
-
- Lemma wf_compile (ctx : Context) {t} (e : expr t) e' (ls : list Name)
- (Hwf : wf e e')
- f
- (Hls : name_list_unique ls)
- (H : compile e ls = Some f)
- : nwf ctx f.
- Proof using ContextOk Name_dec base_type_dec make_var'. eapply wf_ocompile; eassumption. Qed.
-End language.
diff --git a/src/Compilers/Named/Context.v b/src/Compilers/Named/Context.v
deleted file mode 100644
index fd84e5b94..000000000
--- a/src/Compilers/Named/Context.v
+++ /dev/null
@@ -1,65 +0,0 @@
-(** * Contexts for Named Representation of Gallina *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Util.Notations.
-
-Record Context {base_type_code} (Name : Type) (var : base_type_code -> Type) :=
- { ContextT : Type;
- lookupb : forall {t : base_type_code}, ContextT -> Name -> option (var t);
- extendb : forall {t : base_type_code}, ContextT -> Name -> var t -> ContextT;
- removeb : base_type_code -> ContextT -> Name -> ContextT;
- empty : ContextT }.
-Coercion ContextT : Context >-> Sortclass.
-Arguments ContextT {_ _ _ _}, {_ _ _} _.
-Arguments lookupb {_ _ _ _ _} _ _, {_ _ _ _} _ _ _.
-Arguments extendb {_ _ _ _} [_] _ _ _.
-Arguments removeb {_ _ _ _} _ _ _.
-Arguments empty {_ _ _ _}.
-
-Section language.
- Context {base_type_code : Type}
- {Name : Type}
- {var : base_type_code -> Type}
- {Context : Context Name var}.
-
- Local Notation flat_type := (flat_type base_type_code).
-
- Fixpoint extend {t : flat_type} (ctx : Context)
- (n : interp_flat_type (fun _ => Name) t) (v : interp_flat_type var t)
- : Context
- := match t return interp_flat_type (fun _ => Name) t -> interp_flat_type var t -> Context with
- | Tbase t => fun n v => extendb ctx n v
- | Unit => fun _ _ => ctx
- | Prod A B => fun n v : interp_flat_type _ A * interp_flat_type _ B
- => let ctx := @extend A ctx (fst n) (fst v) in
- let ctx := @extend B ctx (snd n) (snd v) in
- ctx
- end n v.
-
- Fixpoint remove {t : flat_type} (ctx : Context)
- (n : interp_flat_type (fun _ => Name) t)
- : Context
- := match t return interp_flat_type (fun _ => Name) t -> Context with
- | Tbase t => fun n => removeb t ctx n
- | Unit => fun _ => ctx
- | Prod A B => fun n : interp_flat_type _ A * interp_flat_type _ B
- => let ctx := @remove A ctx (fst n) in
- let ctx := @remove B ctx (snd n) in
- ctx
- end n.
-
- Definition lookup {t} (ctx : Context)
- : interp_flat_type (fun _ => Name) t -> option (interp_flat_type var t)
- := smart_interp_flat_map
- (g := fun t => option (interp_flat_type var t))
- (fun t v => lookupb ctx v)
- (Some tt)
- (fun A B x y => match x, y with
- | Some x', Some y' => Some (x', y')%core
- | _, _ => None
- end).
-End language.
-
-Global Arguments extend {_ _ _ _} {_} ctx _ _.
-Global Arguments remove {_ _ _ _} {_} ctx _.
-Global Arguments lookup {_ _ _ _} {_} ctx _, {_ _ _ _} _ ctx _.
diff --git a/src/Compilers/Named/ContextDefinitions.v b/src/Compilers/Named/ContextDefinitions.v
deleted file mode 100644
index 1b57e5b51..000000000
--- a/src/Compilers/Named/ContextDefinitions.v
+++ /dev/null
@@ -1,67 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Decidable.
-
-Section with_context.
- Context {base_type_code Name var} (Context : @Context base_type_code Name var)
- (base_type_code_dec : DecidableRel (@eq base_type_code))
- (Name_dec : DecidableRel (@eq Name)).
-
- Fixpoint find_Name n
- {T : flat_type base_type_code}
- : interp_flat_type (fun _ => Name) T -> option base_type_code
- := match T with
- | Tbase t' => fun n' : Name => if dec (n = n') then Some t' else None
- | Unit => fun _ => None
- | Prod A B
- => fun ab : interp_flat_type _ A * interp_flat_type _ B
- => match @find_Name n B (snd ab), @find_Name n A (fst ab) with
- | Some tb, _ => Some tb
- | None, Some ta => Some ta
- | None, None => None
- end
- end.
-
- Fixpoint find_Name_and_val {var'} t (n : Name)
- {T : flat_type base_type_code}
- : interp_flat_type (fun _ => Name) T -> interp_flat_type var' T -> option (var' t) -> option (var' t)
- := match T with
- | Tbase t' => fun (n' : Name) v default
- => if dec (n = n')
- then cast_if_eq t' t v
- else default
- | Unit => fun _ _ default => default
- | Prod A B
- => fun (ab : interp_flat_type _ A * interp_flat_type _ B)
- (a'b' : interp_flat_type _ A * interp_flat_type _ B)
- default
- => @find_Name_and_val
- var' t n B (snd ab) (snd a'b')
- (@find_Name_and_val
- var' t n A (fst ab) (fst a'b')
- default)
- end.
-
- Class ContextOk :=
- { lookupb_extendb_same
- : forall (ctx : Context) n t v, lookupb t (extendb ctx n (t:=t) v) n = Some v;
- lookupb_extendb_different
- : forall (ctx : Context) n n' t t' v, n <> n' -> lookupb t' (extendb ctx n (t:=t) v) n'
- = lookupb t' ctx n';
- lookupb_extendb_wrong_type
- : forall (ctx : Context) n t t' v, t <> t' -> lookupb t' (extendb ctx n (t:=t) v) n = None;
- lookupb_removeb_different
- : forall (ctx : Context) n n' t t', n <> n' -> lookupb t' (removeb t ctx n) n'
- = lookupb t' ctx n';
- lookupb_removeb_same
- : forall (ctx : Context) n t t', lookupb t' (removeb t ctx n) n = None;
- lookupb_empty
- : forall n t, lookupb t (@empty _ _ _ Context) n = None;
-
- lookupb_unique_type
- : forall (ctx : Context) n t t', lookupb t' ctx n <> None -> lookupb t ctx n <> None -> t = t' }.
-
- Definition context_equiv (a b : Context)
- := forall n t, lookupb t a n = lookupb t b n.
-End with_context.
diff --git a/src/Compilers/Named/ContextOn.v b/src/Compilers/Named/ContextOn.v
deleted file mode 100644
index 17d8690fc..000000000
--- a/src/Compilers/Named/ContextOn.v
+++ /dev/null
@@ -1,24 +0,0 @@
-(** * Transfer [Context] across an injection *)
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-
-Section language.
- Context {base_type_code Name1 Name2 : Type}
- (f : Name2 -> Name1)
- (f_inj : forall x y, f x = f y -> x = y)
- {var : base_type_code -> Type}.
-
- Definition ContextOn (Ctx : Context Name1 var) : Context Name2 var
- := {| ContextT := Ctx;
- lookupb t ctx n := lookupb t ctx (f n);
- extendb t ctx n v := extendb ctx (f n) v;
- removeb t ctx n := removeb t ctx (f n);
- empty := empty |}.
-
- Lemma ContextOnOk {Ctx} (COk : ContextOk Ctx) : ContextOk (ContextOn Ctx).
- Proof.
- unfold ContextOn in *; split; intros; try eapply COk; eauto.
- Qed.
-End language.
-
-Arguments ContextOnOk {_ _ _ f} f_inj {_ _} COk.
diff --git a/src/Compilers/Named/ContextProperties.v b/src/Compilers/Named/ContextProperties.v
deleted file mode 100644
index 782fc9a54..000000000
--- a/src/Compilers/Named/ContextProperties.v
+++ /dev/null
@@ -1,181 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.Tactics.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section with_context.
- Context {base_type_code}
- (base_type_code_dec : DecidableRel (@eq base_type_code))
- {Name}
- (Name_dec : DecidableRel (@eq Name))
- {var} (Context : @Context base_type_code Name var)
- (ContextOk : ContextOk Context).
-
- Local Notation find_Name := (@find_Name base_type_code Name Name_dec).
- Local Notation find_Name_and_val := (@find_Name_and_val base_type_code Name base_type_code_dec Name_dec).
-
- Lemma lookupb_eq_cast
- : forall (ctx : Context) n t t' (pf : t = t'),
- lookupb t' ctx n = option_map (fun v => eq_rect _ var v _ pf) (lookupb t ctx n).
- Proof.
- intros; subst; edestruct lookupb; reflexivity.
- Defined.
- Lemma lookupb_extendb_eq
- : forall (ctx : Context) n t t' (pf : t = t') v,
- lookupb t' (extendb ctx n (t:=t) v) n = Some (eq_rect _ var v _ pf).
- Proof.
- intros; subst; apply lookupb_extendb_same; assumption.
- Defined.
-
- Lemma lookupb_extendb_full (ctx : Context) n n' t t' v
- : lookupb t' (extendb ctx n (t:=t) v) n'
- = match dec (n = n'), dec (t = t') with
- | left _, left pf
- => Some (eq_rect _ var v _ pf)
- | left _, _
- => None
- | right _, _
- => lookupb t' ctx n'
- end.
- Proof using ContextOk.
- break_innermost_match; subst; simpl.
- { apply lookupb_extendb_same; assumption. }
- { apply lookupb_extendb_wrong_type; assumption. }
- { apply lookupb_extendb_different; assumption. }
- Qed.
-
- Lemma lookupb_extend (ctx : Context)
- T N t n v
- : lookupb t (extend ctx N (t:=T) v) n
- = find_Name_and_val t n N v (lookupb t ctx n).
- Proof using ContextOk. revert ctx; induction T; t. Qed.
-
- Lemma lookupb_remove (ctx : Context)
- T N t n
- : lookupb t (remove ctx N) n
- = match @find_Name n T N with
- | Some _ => None
- | None => lookupb t ctx n
- end.
- Proof using ContextOk. revert ctx; induction T; t. Qed.
-
- Lemma lookupb_remove_not_in (ctx : Context)
- T N t n
- (H : @find_Name n T N = None)
- : lookupb t (remove ctx N) n = lookupb t ctx n.
- Proof using ContextOk. rewrite lookupb_remove, H; reflexivity. Qed.
-
- Lemma lookupb_remove_in (ctx : Context)
- T N t n
- (H : @find_Name n T N <> None)
- : lookupb t (remove ctx N) n = None.
- Proof using ContextOk. rewrite lookupb_remove; break_match; congruence. Qed.
-
- Lemma find_Name_and_val_Some_None
- {var' var''}
- {t n T N}
- {x : interp_flat_type var' T}
- {y : interp_flat_type var'' T}
- {default default' v}
- (H0 : @find_Name_and_val var' t n T N x default = Some v)
- (H1 : @find_Name_and_val var'' t n T N y default' = None)
- : default = Some v /\ default' = None.
- Proof using Type.
- revert dependent default; revert dependent default'; induction T; t.
- Qed.
-
- Lemma find_Name_and_val_default_to_None
- {var'}
- {t n T N}
- {x : interp_flat_type var' T}
- {default}
- (H : @find_Name n T N <> None)
- : @find_Name_and_val var' t n T N x default
- = @find_Name_and_val var' t n T N x None.
- Proof using Type. revert default; induction T; t. Qed.
- Hint Rewrite @find_Name_and_val_default_to_None using congruence : ctx_db.
-
- Lemma find_Name_and_val_different
- {var'}
- {t n T N}
- {x : interp_flat_type var' T}
- {default}
- (H : @find_Name n T N = None)
- : @find_Name_and_val var' t n T N x default = default.
- Proof using Type. revert default; induction T; t. Qed.
- Hint Rewrite @find_Name_and_val_different using assumption : ctx_db.
-
- Lemma find_Name_and_val_wrong_type_iff
- {var'}
- {t t' n T N}
- {x : interp_flat_type var' T}
- {default}
- (H : @find_Name n T N = Some t')
- : t <> t'
- <-> @find_Name_and_val var' t n T N x default = None.
- Proof using Type. split; revert default; induction T; t. Qed.
- Lemma find_Name_and_val_wrong_type
- {var'}
- {t t' n T N}
- {x : interp_flat_type var' T}
- {default}
- (H : @find_Name n T N = Some t')
- (Ht : t <> t')
- : @find_Name_and_val var' t n T N x default = None.
- Proof using Type. eapply find_Name_and_val_wrong_type_iff; eassumption. Qed.
- Hint Rewrite @find_Name_and_val_wrong_type using congruence : ctx_db.
-
- Lemma find_Name_find_Name_and_val_wrong {var' n t' T V N}
- : find_Name n N = Some t'
- -> @find_Name_and_val var' t' n T N V None = None
- -> False.
- Proof using Type. induction T; t. Qed.
-
- Lemma find_Name_and_val_None_iff
- {var'}
- {t n T N}
- {x : interp_flat_type var' T}
- {default}
- : (@find_Name n T N <> Some t
- /\ (@find_Name n T N <> None \/ default = None))
- <-> @find_Name_and_val var' t n T N x default = None.
- Proof using Type.
- destruct (@find_Name n T N) eqn:?; unfold not; t;
- try solve [ eapply find_Name_and_val_wrong_type; [ eassumption | congruence ]
- | eapply find_Name_find_Name_and_val_wrong; eassumption
- | left; congruence ].
- Qed.
-
- Lemma find_Name_and_val_split
- {var' t n T N V default}
- : @find_Name_and_val var' t n T N V default
- = match @find_Name n T N with
- | Some t' => if dec (t = t')
- then @find_Name_and_val var' t n T N V None
- else None
- | None => default
- end.
- Proof using Type.
- t; erewrite find_Name_and_val_wrong_type by solve [ eassumption | congruence ]; reflexivity.
- Qed.
- Lemma find_Name_and_val_find_Name_Some
- {var' t n T N V v}
- (H : @find_Name_and_val var' t n T N V None = Some v)
- : @find_Name n T N = Some t.
- Proof using Type.
- rewrite find_Name_and_val_split in H; break_match_hyps; subst; congruence.
- Qed.
-End with_context.
-
-Ltac find_Name_and_val_default_to_None_step :=
- match goal with
- | [ H : context[find_Name_and_val ?tdec ?ndec _ _ _ _ ?default] |- _ ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default)) in H
- | [ |- context[find_Name_and_val ?tdec ?ndec _ _ _ _ ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- end.
-Ltac find_Name_and_val_default_to_None := repeat find_Name_and_val_default_to_None_step.
diff --git a/src/Compilers/Named/ContextProperties/NameUtil.v b/src/Compilers/Named/ContextProperties/NameUtil.v
deleted file mode 100644
index 320d910f0..000000000
--- a/src/Compilers/Named/ContextProperties/NameUtil.v
+++ /dev/null
@@ -1,161 +0,0 @@
-Require Import Coq.omega.Omega.
-Require Import Crypto.Util.FixCoqMistakes.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Named.NameUtilProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.Tactics.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-Section with_context.
- Context {base_type_code Name var} (Context : @Context base_type_code Name var)
- (base_type_code_dec : DecidableRel (@eq base_type_code))
- (Name_dec : DecidableRel (@eq Name))
- (ContextOk : ContextOk Context).
-
- Local Notation find_Name := (@find_Name base_type_code Name Name_dec).
- Local Notation find_Name_and_val := (@find_Name_and_val base_type_code Name base_type_code_dec Name_dec).
-
- Hint Rewrite (@find_Name_and_val_default_to_None _ base_type_code_dec _ Name_dec) using congruence : ctx_db.
- Hint Rewrite (@find_Name_and_val_different _ base_type_code_dec _ Name_dec) using assumption : ctx_db.
- Hint Rewrite (@find_Name_and_val_wrong_type _ base_type_code_dec _ Name_dec) using congruence : ctx_db.
- Hint Rewrite (@snd_split_onames_skipn base_type_code Name) : ctx_db.
-
- Local Ltac misc_oname_t_step :=
- match goal with
- | [ H : oname_list_unique (List.skipn _ _) -> _ |- _ ]
- => specialize (fun pf => H (@oname_list_unique_skipn _ _ _ pf))
- | [ H : ((_, _) = (_, _))%core -> _ |- _ ]
- => specialize (fun a b => H (f_equal2 (@pair _ _) a b))
- | [ H : ?x = (_,_)%core -> _ |- _ ]
- => rewrite (surjective_pairing x) in H;
- specialize (fun a b => H (f_equal2 (@pair _ _) a b))
- end.
-
- Lemma split_onames_find_Name
- {n T N ls ls'}
- (H : split_onames _ ls = (Some N, ls')%core)
- : (exists t, @find_Name n T N = Some t)
- <-> List.In (Some n) (List.firstn (CountLets.count_pairs T) ls).
- Proof using Type.
- revert dependent ls; intro ls; revert ls ls'; induction T; intros ls ls' H;
- [ | | specialize (IHT1 (fst N) ls (snd (split_onames T1 ls)));
- specialize (IHT2 (snd N) (snd (split_onames T1 ls)) (snd (split_onames (T1 * T2) ls))) ];
- repeat first [ misc_oname_t_step
- | t_step
- | progress split_iff
- | progress specialize_by (eexists; eauto)
- | solve [ eauto using In_skipn, In_firstn ]
- | match goal with
- | [ H : List.In ?x (List.firstn ?n ?ls) |- List.In ?x (List.firstn (?n + ?m) ?ls) ]
- => apply (In_firstn n); rewrite firstn_firstn by omega
- | [ H : _ |- _ ] => first [ rewrite firstn_skipn_add in H
- | rewrite firstn_firstn in H by omega ]
- | [ H : List.In ?x' (List.firstn (?n + ?m) ?ls) |- List.In ?x' (List.firstn ?m (List.skipn ?n ?ls)) ]
- => apply (In_firstn_skipn_split n) in H
- end ].
- Qed.
-
- Lemma split_onames_find_Name_Some_unique_iff
- {n T N ls ls'}
- (Hls : oname_list_unique ls)
- (H : split_onames _ ls = (Some N, ls')%core)
- : (exists t, @find_Name n T N = Some t)
- <-> List.In (Some n) ls /\ ~List.In (Some n) ls'.
- Proof using Type.
- rewrite (split_onames_find_Name (ls':=ls') (ls:=ls)) by assumption.
- rewrite (surjective_pairing (split_onames _ _)) in H.
- rewrite fst_split_onames_firstn, snd_split_onames_skipn in H.
- inversion_prod; subst.
- split; [ split | intros [? ?] ]; eauto using In_firstn, oname_list_unique_specialize.
- match goal with
- | [ H : List.In (Some _) ?ls |- _ ]
- => is_var ls;
- eapply In_firstn_skipn_split in H; destruct_head' or; eauto; exfalso; eauto
- end.
- Qed.
-
- Lemma split_onames_find_Name_Some_unique
- {t n T N ls ls'}
- (Hls : oname_list_unique ls)
- (H : split_onames _ ls = (Some N, ls')%core)
- (Hfind : @find_Name n T N = Some t)
- : List.In (Some n) ls /\ ~List.In (Some n) ls'.
- Proof using Type.
- eapply split_onames_find_Name_Some_unique_iff; eauto.
- Qed.
-
- Lemma flatten_binding_list_find_Name_and_val_unique
- {var' t n T N V v ls ls'}
- (Hls : oname_list_unique ls)
- (H : split_onames _ ls = (Some N, ls')%core)
- : @find_Name_and_val var' t n T N V None = Some v
- <-> List.In (existT (fun t => (Name * var' t)%type) t (n, v)) (Wf.flatten_binding_list N V).
- Proof using Type.
- revert dependent ls; intro ls; revert ls ls'; induction T; intros ls ls' Hls H;
- [ | | specialize (IHT1 (fst N) (fst V) ls (snd (split_onames T1 ls)));
- specialize (IHT2 (snd N) (snd V) (snd (split_onames T1 ls)) (snd (split_onames (T1 * T2) ls))) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | progress simpl in *
- | rewrite List.in_app_iff
- | misc_oname_t_step
- | t_step
- | progress split_iff
- | lazymatch goal with
- | [ H : find_Name ?n ?x = Some ?t, H' : find_Name_and_val ?t' ?n ?X ?V None = Some ?v |- _ ]
- => apply find_Name_and_val_find_Name_Some in H'
- | [ H : find_Name ?n ?x = Some ?t, H' : find_Name ?n ?x' = Some ?t' |- _ ]
- => let apply_in_tac H :=
- (eapply split_onames_find_Name_Some_unique in H;
- [ | | apply path_prod_uncurried; split; [ eassumption | simpl; reflexivity ] ];
- [ | solve [ eauto using oname_list_unique_firstn, oname_list_unique_skipn ] ]) in
- first [ constr_eq x x'; fail 1
- | apply_in_tac H; apply_in_tac H' ]
- end ].
- Qed.
-
- Lemma fst_split_mnames__flatten_binding_list__find_Name
- (MName : Type) (force : MName -> option Name)
- {var' t n T N V v} {ls : list MName}
- (Hs : fst (split_mnames force T ls) = Some N)
- (HN : List.In (existT _ t (n, v)%core) (Wf.flatten_binding_list (var2:=var') N V))
- : find_Name n N = Some t.
- Proof.
- revert dependent ls; induction T;
- [ | | specialize (IHT1 (fst N) (fst V));
- specialize (IHT2 (snd N) (snd V)) ];
- repeat first [ misc_oname_t_step
- | t_step
- | match goal with
- | [ H : _ |- _ ] => first [ rewrite snd_split_mnames_skipn in H
- | rewrite List.in_app_iff in H ]
- | [ H : context[fst (split_mnames _ _ ?ls)] |- _ ]
- => is_var ls; rewrite (@fst_split_mnames_firstn _ _ _ _ _ ls) in H
- end ].
- Abort.
-
- Lemma fst_split_mnames__find_Name__flatten_binding_list
- (MName : Type) (force : MName -> option Name)
- {var' t n T N V v default} {ls : list MName}
- (Hs : fst (split_mnames force T ls) = Some N)
- (Hfind : find_Name n N = Some t)
- (HN : List.In (existT _ t (n, v)%core) (Wf.flatten_binding_list N V))
- : @find_Name_and_val var' t n T N V default = Some v.
- Proof.
- revert default; revert dependent ls; induction T;
- [ | | specialize (IHT1 (fst N) (fst V));
- specialize (IHT2 (snd N) (snd V)) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | rewrite List.in_app_iff in *
- | t_step ].
- Abort.
-End with_context.
diff --git a/src/Compilers/Named/ContextProperties/Proper.v b/src/Compilers/Named/ContextProperties/Proper.v
deleted file mode 100644
index 0c583e446..000000000
--- a/src/Compilers/Named/ContextProperties/Proper.v
+++ /dev/null
@@ -1,142 +0,0 @@
-Require Import Coq.Classes.Morphisms.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section with_context.
- Context {base_type_code}
- {base_type_code_dec : DecidableRel (@eq base_type_code)}
- {Name}
- {Name_dec : DecidableRel (@eq Name)}
- {var} {Context : @Context base_type_code Name var}
- {ContextOk : ContextOk Context}.
-
- Local Notation context_equiv := (@context_equiv base_type_code Name var Context).
- Local Notation extendb := (@extendb base_type_code Name var Context).
- Local Notation removeb := (@removeb base_type_code Name var Context).
- Local Notation lookupb := (@lookupb base_type_code Name var Context).
- Local Notation extend := (@extend base_type_code Name var Context).
- Local Notation remove := (@remove base_type_code Name var Context).
- Local Notation lookup := (@lookup base_type_code Name var Context).
-
- Global Instance context_equiv_Equivalence : Equivalence context_equiv | 10.
- Proof. split; repeat intro; congruence. Qed.
- Global Instance context_equiv_Reflexive : Reflexive context_equiv | 10 := _.
- Global Instance context_equiv_Symmetric : Symmetric context_equiv | 10 := _.
- Global Instance context_equiv_Transitive : Transitive context_equiv | 10 := _.
-
- Local Ltac proper_t n n' t t' :=
- destruct (dec (n = n')), (dec (t = t')); subst;
- repeat first [ reflexivity
- | rewrite lookupb_extendb_same by assumption
- | rewrite lookupb_extendb_different by assumption
- | rewrite lookupb_extendb_wrong_type by assumption
- | rewrite lookupb_removeb_same by assumption
- | rewrite lookupb_removeb_different by assumption
- | solve [ auto ] ].
-
- Global Instance extendb_Proper : forall {t}, Proper (context_equiv ==> eq ==> eq ==> context_equiv) (@extendb t) | 10.
- Proof.
- intros t ??? n n0 ???? n' t'; subst n0; subst; proper_t n n' t t'.
- Qed.
- Global Instance removeb_Proper : forall {t}, Proper (context_equiv ==> eq ==> context_equiv) (@removeb t) | 10.
- Proof.
- intros t ??? n n0 ? n' t'; subst n0; subst; proper_t n n' t t'.
- Qed.
- Global Instance lookupb_Proper : forall {t}, Proper (context_equiv ==> eq ==> eq) (@lookupb t) | 10.
- Proof. repeat intro; subst; auto. Qed.
-
- Local Ltac proper_t2 t :=
- let IHt1 := fresh "IHt1" in
- let IHt2 := fresh "IHt2" in
- induction t as [ | | ? IHt1 ? IHt2];
- simpl;
- repeat match goal with
- | [ |- context[fun a b => ?f a b] ]
- => change (fun a b => f a b) with f
- end;
- [ try exact _
- | repeat intro; auto
- | repeat intro; subst;
- destruct_head_prod;
- first [ eapply IHt2; [ eapply IHt1 | .. ]; auto
- | idtac ] ].
-
- Global Instance extend_Proper : forall {t}, Proper (context_equiv ==> eq ==> eq ==> context_equiv) (@extend t) | 10.
- Proof. intro t; proper_t2 t. Qed.
- Global Instance remove_Proper : forall {t}, Proper (context_equiv ==> eq ==> context_equiv) (@remove t) | 10.
- Proof. intro t; proper_t2 t. Qed.
-
- Global Instance lookup_Proper : forall {t}, Proper (context_equiv ==> eq ==> eq) (@lookup t) | 10.
- Proof.
- intro t; proper_t2 t.
- repeat match goal with
- | [ |- context G[lookup (?A * ?B) ?ctx (?na, ?nb)] ]
- => let G' := context G[match lookup A ctx na, lookup B ctx nb with
- | Some a, Some b => Some (a, b)
- | _, _ => None
- end] in
- change G'
- end.
- break_innermost_match;
- repeat match goal with
- | _ => progress subst
- | _ => progress inversion_option
- | _ => reflexivity
- | [ IHt2 : Proper _ (lookup t2), H : lookup _ _ _ = ?x, H' : lookup _ _ _ = ?y |- _ ]
- => assert (x = y)
- by (rewrite <- H, <- H'; first [ eapply IHt1 | eapply IHt2 ]; (assumption || reflexivity));
- clear H H'
- end.
- Qed.
-End with_context.
-
-Section language.
- Context {base_type_code}
- {base_type_code_dec : DecidableRel (@eq base_type_code)}
- {Name}
- {Name_dec : DecidableRel (@eq Name)}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}
- {Context : @Context base_type_code Name interp_base_type}
- {ContextOk : ContextOk Context}.
-
- Local Notation context_equiv := (@context_equiv base_type_code Name interp_base_type Context).
- Local Notation interpf := (@interpf base_type_code interp_base_type op Name Context interp_op).
- Local Notation interp := (@interp base_type_code interp_base_type op Name Context interp_op).
-
- Global Instance interpf_Proper {t} : Proper (context_equiv ==> eq ==> eq) (@interpf t).
- Proof.
- intros c0 c1 Hc e e' ?; subst e'; revert c0 c1 Hc.
- induction e;
- repeat first [ progress subst
- | reflexivity
- | progress inversion_option
- | progress simpl in *
- | progress unfold LetIn.Let_In
- | intros; eapply lookupb_Proper; (assumption || reflexivity)
- | intros; eapply extendb_Proper; (assumption || reflexivity)
- | intros; eapply lookup_Proper; (assumption || reflexivity)
- | intros; eapply extend_Proper; (assumption || reflexivity)
- | intros; erewrite_hyp *; [ | eassumption ]
- | intros; erewrite_hyp *; [ reflexivity | ]
- | break_innermost_match_step
- | match goal with
- | [ H : interpf _ = ?x, H' : interpf _ = ?y |- _ ]
- => assert (x = y) by (rewrite <- H, <- H'; eauto); clear H H'
- end ].
- Qed.
-
- Global Instance interp_Proper {t} : Proper (context_equiv ==> eq ==> eq ==> eq) (@interp t).
- Proof.
- intros ??? e e' ????; subst e'; subst.
- eapply interpf_Proper; [ eapply extend_Proper; auto | reflexivity ].
- Qed.
-End language.
diff --git a/src/Compilers/Named/ContextProperties/SmartMap.v b/src/Compilers/Named/ContextProperties/SmartMap.v
deleted file mode 100644
index 2bfba38dc..000000000
--- a/src/Compilers/Named/ContextProperties/SmartMap.v
+++ /dev/null
@@ -1,299 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.Tactics.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Section with_context.
- Context {base_type_code Name var} (Context : @Context base_type_code Name var)
- (base_type_code_dec : DecidableRel (@eq base_type_code))
- (Name_dec : DecidableRel (@eq Name))
- (ContextOk : ContextOk Context).
-
- Local Notation find_Name := (@find_Name base_type_code Name Name_dec).
- Local Notation find_Name_and_val := (@find_Name_and_val base_type_code Name base_type_code_dec Name_dec).
-
- Hint Rewrite (@find_Name_and_val_default_to_None _ base_type_code_dec _ Name_dec) using congruence : ctx_db.
- Hint Rewrite (@find_Name_and_val_different _ base_type_code_dec _ Name_dec) using assumption : ctx_db.
- Hint Rewrite (@find_Name_and_val_wrong_type _ base_type_code_dec _ Name_dec) using congruence : ctx_db.
-
- Lemma find_Name_and_val_flatten_binding_list
- {var' var'' t n T N V1 V2 v1 v2}
- (H1 : @find_Name_and_val var' t n T N V1 None = Some v1)
- (H2 : @find_Name_and_val var'' t n T N V2 None = Some v2)
- : List.In (existT (fun t => (var' t * var'' t)%type) t (v1, v2)) (Wf.flatten_binding_list V1 V2).
- Proof using Type.
- induction T;
- [ | | specialize (IHT1 (fst N) (fst V1) (fst V2));
- specialize (IHT2 (snd N) (snd V1) (snd V2)) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | rewrite List.in_app_iff
- | t_step ].
- Qed.
-
- Lemma find_Name_SmartFlatTypeMapInterp2_None_iff {var' n f T V N}
- : @find_Name n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N) = None
- <-> find_Name n N = None.
- Proof using Type.
- split;
- (induction T;
- [ | | specialize (IHT1 (fst V) (fst N));
- specialize (IHT2 (snd V) (snd N)) ]);
- t.
- Qed.
- Hint Rewrite @find_Name_SmartFlatTypeMapInterp2_None_iff : ctx_db.
- Lemma find_Name_SmartFlatTypeMapInterp2_None {var' n f T V N}
- : @find_Name n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N) = None
- -> find_Name n N = None.
- Proof using Type. apply find_Name_SmartFlatTypeMapInterp2_None_iff. Qed.
- Hint Rewrite @find_Name_SmartFlatTypeMapInterp2_None using eassumption : ctx_db.
- Lemma find_Name_SmartFlatTypeMapInterp2_None' {var' n f T V N}
- : find_Name n N = None
- -> @find_Name n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N) = None.
- Proof using Type. apply find_Name_SmartFlatTypeMapInterp2_None_iff. Qed.
- Lemma find_Name_SmartFlatTypeMapInterp2_None_Some_wrong {var' n f T V N v}
- : @find_Name n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N) = None
- -> find_Name n N = Some v
- -> False.
- Proof using Type.
- intro; erewrite find_Name_SmartFlatTypeMapInterp2_None by eassumption; congruence.
- Qed.
- Local Hint Resolve @find_Name_SmartFlatTypeMapInterp2_None_Some_wrong.
-
- Lemma find_Name_SmartFlatTypeMapInterp2 {var' n f T V N}
- : @find_Name n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N)
- = match find_Name n N with
- | Some t' => match find_Name_and_val t' n N V None with
- | Some v => Some (f t' v)
- | None => None
- end
- | None => None
- end.
- Proof using Type.
- induction T;
- [ | | specialize (IHT1 (fst V) (fst N));
- specialize (IHT2 (snd V) (snd N)) ].
- { t. }
- { t. }
- { repeat first [ fin_t_step
- | inversion_step
- | rewrite_lookupb_extendb_step
- | misc_t_step
- | refolder_t_step ].
- repeat match goal with
- | [ |- context[match @find_Name ?n ?T ?N with _ => _ end] ]
- => destruct (@find_Name n T N) eqn:?
- | [ H : context[match @find_Name ?n ?T ?N with _ => _ end] |- _ ]
- => destruct (@find_Name n T N) eqn:?
- end;
- repeat first [ fin_t_step
- | rewriter_t_step
- | fin_t_late_step ]. }
- Qed.
-
- Lemma find_Name_and_val__SmartFlatTypeMapInterp2__SmartFlatTypeMapUnInterp__Some_Some_alt
- {var' var'' var''' t b n f g T V N X v v'}
- (Hfg
- : forall (V : var' t) (X : var'' (f t V)) (H : f t V = f t b),
- g t b (eq_rect (f t V) var'' X (f t b) H) = g t V X)
- : @find_Name_and_val
- var'' (f t b) n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N) X None = Some v
- -> @find_Name_and_val
- var''' t n T N (SmartFlatTypeMapUnInterp (f:=f) g X) None = Some v'
- -> g t b v = v'.
- Proof using Type.
- induction T;
- [ | | specialize (IHT1 (fst V) (fst N) (fst X));
- specialize (IHT2 (snd V) (snd N) (snd X)) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | t_step
- | match goal with
- | [ H : _ |- _ ]
- => progress rewrite find_Name_and_val_different in H
- by solve [ congruence
- | apply find_Name_SmartFlatTypeMapInterp2_None'; assumption ]
- end ].
- Qed.
-
- Lemma find_Name_and_val__SmartFlatTypeMapInterp2__SmartFlatTypeMapUnInterp__Some_Some
- {var' var'' var''' t b n f g T V N X v v'}
- : @find_Name_and_val
- var'' (f t b) n (SmartFlatTypeMap f (t:=T) V)
- (SmartFlatTypeMapInterp2 (var':=var') (fun _ _ (n' : Name) => n') V N) X None = Some v
- -> @find_Name_and_val
- _ t n T N V None = Some b
- -> @find_Name_and_val
- var''' t n T N (SmartFlatTypeMapUnInterp (f:=f) g X) None = Some v'
- -> g t b v = v'.
- Proof using Type.
- induction T;
- [ | | specialize (IHT1 (fst V) (fst N) (fst X));
- specialize (IHT2 (snd V) (snd N) (snd X)) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | t_step
- | match goal with
- | [ H : _ |- _ ]
- => progress rewrite find_Name_and_val_different in H
- by solve [ congruence
- | apply find_Name_SmartFlatTypeMapInterp2_None'; assumption ]
- end ].
- Qed.
-
- Lemma interp_flat_type_rel_pointwise__find_Name_and_val
- {var' var'' t n T N x y R v0 v1}
- (H0 : @find_Name_and_val var' t n T N x None = Some v0)
- (H1 : @find_Name_and_val var'' t n T N y None = Some v1)
- (HR : interp_flat_type_rel_pointwise R x y)
- : R _ v0 v1.
- Proof using Type.
- induction T;
- [ | | specialize (IHT1 (fst N) (fst x) (fst y));
- specialize (IHT2 (snd N) (snd x) (snd y)) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | t_step ].
- Qed.
-
- Lemma find_Name_and_val_SmartFlatTypeMapUnInterp2_Some_Some
- {var' var'' var''' f g}
- {T}
- {N : interp_flat_type (fun _ : base_type_code => Name) T}
- {B : interp_flat_type var' T}
- {V : interp_flat_type var'' (SmartFlatTypeMap (t:=T) f B)}
- {n : Name}
- {t : base_type_code}
- {v : var''' t}
- {b}
- {h} {i : forall v, var'' (f _ (h v))}
- (Hn : find_Name n N = Some t)
- (Hf : find_Name_and_val t n N (SmartFlatTypeMapUnInterp2 g V) None = Some v)
- (Hb : find_Name_and_val t n N B None = Some b)
- (Hig : forall B V,
- existT _ (h (g _ B V)) (i (g _ B V))
- = existT _ B V
- :> { b : _ & var'' (f _ b)})
- (N' := SmartFlatTypeMapInterp2 (var'':=fun _ => Name) (f:=f) (fun _ _ n => n) _ N)
- : b = h v /\ find_Name_and_val (f t (h v)) n N' V None = Some (i v).
- Proof using Type.
- induction T;
- [ | | specialize (IHT1 (fst N) (fst B) (fst V));
- specialize (IHT2 (snd N) (snd B) (snd V)) ];
- repeat first [ find_Name_and_val_default_to_None_step
- | lazymatch goal with
- | [ H : context[find_Name ?n (@SmartFlatTypeMapInterp2 _ ?var' _ _ ?f _ ?T ?V ?N)] |- _ ]
- => setoid_rewrite find_Name_SmartFlatTypeMapInterp2 in H
- end
- | t_step
- | match goal with
- | [ Hhg : forall B V, existT _ (?h (?g ?t B V)) _ = existT _ B _ |- context[?h (?g ?t ?B' ?V')] ]
- => specialize (Hhg B' V'); generalize dependent (g t B' V')
- end ].
- Qed.
-End with_context.
-
-Section with_context2.
- Context {base_type_code1 base_type_code2 Name var1 var2}
- {Context1 : @Context base_type_code1 Name var1}
- {Context2 : @Context base_type_code2 Name var2}
- {base_type_code1_dec : DecidableRel (@eq base_type_code1)}
- {base_type_code2_dec : DecidableRel (@eq base_type_code2)}
- {Name_dec : DecidableRel (@eq Name)}
- {Context1Ok : ContextOk Context1}
- {Context2Ok : ContextOk Context2}
- {f_base : base_type_code1 -> base_type_code2}
- {cast_backb: forall t, var2 (f_base t) -> var1 t}.
-
- Let cast_back : forall t, interp_flat_type var2 (lift_flat_type _ t) -> interp_flat_type var1 t
- := fun t => untransfer_interp_flat_type f_base cast_backb.
-
- Local Notation find_Name1 := (@find_Name base_type_code1 Name Name_dec).
- Local Notation find_Name_and_val1 := (@find_Name_and_val base_type_code1 Name base_type_code1_dec Name_dec).
- Local Notation find_Name2 := (@find_Name base_type_code2 Name Name_dec).
- Local Notation find_Name_and_val2 := (@find_Name_and_val base_type_code2 Name base_type_code2_dec Name_dec).
-
- Lemma find_Name_transfer_interp_flat_type {T n N}
- : find_Name2
- n
- (transfer_interp_flat_type
- f_base (fun _ (n : Name) => n)
- N)
- = option_map f_base (find_Name1 (T:=T) n N).
- Proof.
- induction T; simpl in *;
- [ | | specialize (IHT1 (fst N));
- specialize (IHT2 (snd N)) ];
- repeat first [ reflexivity
- | misc_t_step
- | rewriter_t_step
- | progress cbv [option_map] in *
- | fin_t_late_step
- | break_t_step ].
- Qed.
-
- Local Ltac t' :=
- repeat first [ reflexivity
- | progress subst
- | progress inversion_step
- | progress intros
- | progress simpl in *
- | rewrite cast_if_eq_refl
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | solve [ auto ]
- | specializer_t_step
- | symmetry; find_Name_and_val_default_to_None_step; symmetry;
- rewrite find_Name_transfer_interp_flat_type
- | find_Name_and_val_default_to_None_step;
- match goal with
- | [ H : ?x = None |- context[?x] ] => rewrite H
- end
- | progress cbv [option_map] in *
- | congruence ].
-
- Lemma find_Name_and_val_transfer_interp_flat_type {t T} {n : Name} {N' N} {default default'}
- (H' : find_Name Name_dec n N = Some t)
- : find_Name_and_val1 t n N (cast_back T N') default
- = option_map
- (cast_backb _)
- (find_Name_and_val2
- (f_base t) n
- (transfer_interp_flat_type
- f_base
- (fun _ (n : Name) => n) N)
- N'
- default').
- Proof.
- revert default default'; induction T; intros;
- [ | | specialize (IHT1 (fst N') (fst N));
- specialize (IHT2 (snd N') (snd N)) ];
- t'.
- Qed.
-
- Lemma find_Name_and_val_transfer_interp_flat_type_None {t T} {n : Name} {N' N} {default'}
- (H' : find_Name Name_dec n N = None)
- : find_Name_and_val2
- (var':=var2)
- (f_base t) n
- (transfer_interp_flat_type
- (t:=T)
- f_base
- (fun _ (n : Name) => n) N)
- N'
- default'
- = default'.
- Proof.
- revert default'; induction T; intros;
- [ | | specialize (IHT1 (fst N') (fst N));
- specialize (IHT2 (snd N') (snd N)) ];
- t'.
- Qed.
-End with_context2.
diff --git a/src/Compilers/Named/ContextProperties/Tactics.v b/src/Compilers/Named/ContextProperties/Tactics.v
deleted file mode 100644
index b7e11a769..000000000
--- a/src/Compilers/Named/ContextProperties/Tactics.v
+++ /dev/null
@@ -1,101 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.HProp.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-Ltac fin_t_step :=
- solve [ reflexivity ].
-Ltac fin_t_late_step :=
- solve [ tauto
- | congruence
- | eauto
- | exfalso; unfold not in *; eauto ].
-Ltac inversion_step :=
- first [ progress subst
- | match goal with
- | [ H := _ |- _ ] => subst H
- | [ H : ?x = ?y |- _ ] => subst x || subst y
- end
- | progress inversion_option
- | progress inversion_sigma
- | progress inversion_prod
- | progress destruct_head' and
- | progress eliminate_hprop_eq
- | match goal with
- | [ H : ?T, H' : ?T |- _ ] => clear H'
- | [ H : ?x = ?x |- _ ] => clear H
- end
- | progress split_and ].
-Ltac rewrite_lookupb_extendb_step :=
- first [ rewrite lookupb_extendb_different by congruence
- | rewrite lookupb_extendb_same
- | rewrite lookupb_removeb_same
- | rewrite lookupb_extendb_wrong_type by assumption
- | rewrite lookupb_removeb_different by congruence ].
-Ltac specializer_t_step :=
- match goal with
- | _ => progress specialize_by_assumption
- | [ H : ?x = ?x -> _ |- _ ] => specialize (H eq_refl)
- | [ H : ?T, H' : ?T |- _ ] => clear H'
- | [ H : forall v, Some _ = Some v -> _ |- _ ]
- => specialize (H _ eq_refl)
- | [ H : forall v, Some v = Some _ -> _ |- _ ]
- => specialize (H _ eq_refl)
- end.
-Ltac misc_t_step :=
- first [ progress intros
- | progress simpl in * ].
-Ltac break_t_step :=
- first [ progress break_innermost_match_step
- | progress unfold cast_if_eq in *
- | match goal with
- | [ H : context[match _ with _ => _ end] |- _ ]
- => revert H; progress break_innermost_match_step
- | [ |- _ /\ _ ] => split
- | [ |- _ <-> _ ] => split
- | [ |- ~ _ ] => intro
- end
- | progress destruct_head' ex
- | progress destruct_head' or ].
-Ltac refolder_t_step :=
- let myfold_in_star c :=
- (let c' := (eval cbv [interp_flat_type] in c) in
- change c' with c in * ) in
- first [ match goal with
- | [ var : ?base_type_code -> Type |- _ ]
- => progress myfold_in_star (@interp_flat_type base_type_code var)
- | [ base_type_code : Type, Name : Type |- _ ]
- => progress myfold_in_star (@interp_flat_type base_type_code (fun _ => Name))
-
- end ].
-Ltac rewriter_t_step :=
- first [ match goal with
- | [ H : _ |- _ ] => rewrite H by (assumption || congruence)
- | [ H : _ |- _ ] => etransitivity; [ | rewrite H by (assumption || congruence); reflexivity ]
- | [ H : ?x = Some _, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : ?x = None, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : ?x = ?a :> option _, H' : ?x = ?b :> option _ |- _ ]
- => assert (a = b)
- by (transitivity x; [ symmetry | ]; assumption);
- clear H'
- | _ => progress autorewrite with ctx_db in *
- end ].
-Ltac t_step :=
- first [ fin_t_step
- | inversion_step
- | rewrite_lookupb_extendb_step
- | specializer_t_step
- | misc_t_step
- | break_t_step
- | refolder_t_step
- | rewriter_t_step
- | fin_t_late_step ].
-Ltac t := repeat t_step.
diff --git a/src/Compilers/Named/CountLets.v b/src/Compilers/Named/CountLets.v
deleted file mode 100644
index 1daa8a286..000000000
--- a/src/Compilers/Named/CountLets.v
+++ /dev/null
@@ -1,49 +0,0 @@
-(** * Counts how many binders there are *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
-
- Local Notation count_pairs := (@count_pairs base_type_code).
-
- Local Notation exprf := (@Named.exprf base_type_code op Name).
- Local Notation expr := (@Named.expr base_type_code op Name).
-
- Section gen.
- Context (count_type_let : flat_type -> nat).
- Context (count_type_abs : flat_type -> nat).
-
- Fixpoint count_lets_genf {t} (e : exprf t) : nat
- := match e with
- | LetIn tx _ _ _ eC
- => count_type_let tx + @count_lets_genf _ eC
- | Op _ _ _ e => @count_lets_genf _ e
- | Pair _ ex _ ey => @count_lets_genf _ ex + @count_lets_genf _ ey
- | _ => 0
- end.
- Definition count_lets_gen {t} (e : expr t) : nat
- := match e with
- | Abs tx _ _ f => count_type_abs tx + @count_lets_genf _ f
- end.
- End gen.
-
- Definition count_let_bindersf {t} (e : exprf t) : nat
- := count_lets_genf count_pairs e.
- Definition count_letsf {t} (e : exprf t) : nat
- := count_lets_genf (fun _ => 1) e.
- Definition count_let_binders {t} (e : expr t) : nat
- := count_lets_gen count_pairs (fun _ => 0) e.
- Definition count_lets {t} (e : expr t) : nat
- := count_lets_gen (fun _ => 1) (fun _ => 0) e.
- Definition count_binders {t} (e : expr t) : nat
- := count_lets_gen count_pairs count_pairs e.
-End language.
diff --git a/src/Compilers/Named/DeadCodeElimination.v b/src/Compilers/Named/DeadCodeElimination.v
deleted file mode 100644
index 340c5dd0d..000000000
--- a/src/Compilers/Named/DeadCodeElimination.v
+++ /dev/null
@@ -1,54 +0,0 @@
-(** * PHOAS → Named Representation of Gallina *)
-Require Import Coq.PArith.BinPos Coq.Lists.List.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Compilers.Named.RegisterAssign.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.EstablishLiveness.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.LetIn.
-
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope ctype_scope.
-Local Open Scope nexpr_scope.
-Local Open Scope expr_scope.
-Section language.
- Context (base_type_code : Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (Name : Type)
- {base_type_code_beq : base_type_code -> base_type_code -> bool}
- (base_type_code_bl : forall t1 t2, base_type_code_beq t1 t2 = true -> t1 = t2)
- {Context : Context Name (fun _ : base_type_code => positive)}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op (fun _ => Name)).
- Local Notation expr := (@expr base_type_code op (fun _ => Name)).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation nexprf := (@Named.exprf base_type_code op Name).
- Local Notation nexpr := (@Named.expr base_type_code op Name).
-
- Local Notation PContext var := (@PositiveContext base_type_code var base_type_code_beq base_type_code_bl).
-
- Definition EliminateDeadCode
- {t} (e : @Named.expr base_type_code op _ t) (ls : list Name)
- : option (nexpr t)
- := Let_In (insert_dead_names (Context:=PositiveContext_nd) None e ls) (* help vm_compute by factoring this out *)
- (fun names => register_reassign (InContext:=PContext _) (ReverseContext:=Context) Pos.eqb empty empty e names).
-
- Definition CompileAndEliminateDeadCode
- {t} (e : Expr t) (ls : list Name)
- : option (nexpr t)
- := let e := compile (Name:=positive) (e _) (List.map Pos.of_nat (seq 1 (CountBinders e))) in
- match e with
- | Some e => EliminateDeadCode e ls
- | None => None
- end.
-End language.
-
-Global Arguments EliminateDeadCode {_ _ _ _ _ _ t} e ls.
-Global Arguments CompileAndEliminateDeadCode {_ _ _ _ _ _ t} e ls.
diff --git a/src/Compilers/Named/DeadCodeEliminationInterp.v b/src/Compilers/Named/DeadCodeEliminationInterp.v
deleted file mode 100644
index f822e6e29..000000000
--- a/src/Compilers/Named/DeadCodeEliminationInterp.v
+++ /dev/null
@@ -1,67 +0,0 @@
-Require Import Coq.PArith.BinPos.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.RegisterAssignInterp.
-Require Import Crypto.Compilers.Named.DeadCodeElimination.
-Require Import Crypto.Util.Decidable.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {Name : Type}
- {InContext : Context Name (fun _ : base_type_code => BinNums.positive)}
- {InContextOk : ContextOk InContext}
- {Name_beq : Name -> Name -> bool}
- {InterpContext : Context Name interp_base_type}
- {InterpContextOk : ContextOk InterpContext}
- {base_type_code_beq : base_type_code -> base_type_code -> bool}
- (base_type_code_bl : forall t1 t2, base_type_code_beq t1 t2 = true -> t1 = t2)
- (base_type_code_lb : forall t1 t2, t1 = t2 -> base_type_code_beq t1 t2 = true)
- (Name_bl : forall n1 n2, Name_beq n1 n2 = true -> n1 = n2)
- (Name_lb : forall n1 n2, n1 = n2 -> Name_beq n1 n2 = true).
-
- Local Notation EliminateDeadCode := (@EliminateDeadCode base_type_code op Name _ base_type_code_bl InContext).
- Local Notation PContext var := (@PositiveContext base_type_code var base_type_code_beq base_type_code_bl).
-
- Local Instance Name_dec : DecidableRel (@eq Name)
- := dec_rel_of_bool_dec_rel Name_beq Name_bl Name_lb.
- Local Instance base_type_code_dec : DecidableRel (@eq base_type_code)
- := dec_rel_of_bool_dec_rel base_type_code_beq base_type_code_bl base_type_code_lb.
-
- Lemma interp_EliminateDeadCode
- t e new_names
- (ctxi_interp : PContext _)
- (ctxr_interp : InterpContext)
- eout v1 v2 x
- : @EliminateDeadCode t e new_names = Some eout
- -> interp (interp_op:=interp_op) (ctx:=ctxr_interp) eout x = Some v1
- -> interp (interp_op:=interp_op) (ctx:=ctxi_interp) e x = Some v2
- -> v1 = v2.
- Proof using InContextOk InterpContextOk Name_bl Name_lb base_type_code_lb.
- eapply @interp_register_reassign;
- first [ assumption
- | apply @PositiveContextOk; assumption
- | apply Peqb_true_eq
- | apply Pos.eqb_eq
- | exact _
- | intros *; rewrite !lookupb_empty by (try apply @PositiveContextOk; assumption);
- congruence ].
- Qed.
-
- Lemma InterpEliminateDeadCode
- t e new_names
- eout
- v1 v2 x
- : @EliminateDeadCode t e new_names = Some eout
- -> Interp (Context:=InterpContext) (interp_op:=interp_op) eout x = Some v1
- -> Interp (Context:=PContext _) (interp_op:=interp_op) e x = Some v2
- -> v1 = v2.
- Proof using InContextOk InterpContextOk Name_bl Name_lb base_type_code_lb.
- apply interp_EliminateDeadCode.
- Qed.
-End language.
diff --git a/src/Compilers/Named/EstablishLiveness.v b/src/Compilers/Named/EstablishLiveness.v
deleted file mode 100644
index 706327918..000000000
--- a/src/Compilers/Named/EstablishLiveness.v
+++ /dev/null
@@ -1,105 +0,0 @@
-(** * Compute a list of liveness values for each binding *)
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Util.ListUtil.
-
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope ctype_scope.
-Delimit Scope nexpr_scope with nexpr.
-
-Inductive liveness := live | dead.
-Fixpoint merge_liveness (ls1 ls2 : list liveness) :=
- match ls1, ls2 with
- | cons x xs, cons y ys
- => cons match x, y with
- | live, _
- | _, live
- => live
- | dead, dead
- => dead
- end
- (@merge_liveness xs ys)
- | nil, ls
- | ls, nil
- => ls
- end.
-
-Section language.
- Context (base_type_code : Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
-
- Section internal.
- Context (Name : Type)
- (OutName : Type)
- {Context : Context Name (fun _ : base_type_code => list liveness)}.
-
- Definition compute_livenessf_step
- (compute_livenessf : forall (ctx : Context) {t} (e : exprf Name t) (prefix : list liveness), list liveness)
- (ctx : Context)
- {t} (e : exprf Name t) (prefix : list liveness)
- : list liveness
- := match e with
- | TT => prefix
- | Var t' name => match lookup (Tbase t') ctx name with
- | Some ls => ls
- | _ => nil
- end
- | Op _ _ op args
- => @compute_livenessf ctx _ args prefix
- | LetIn tx n ex _ eC
- => let lx := @compute_livenessf ctx _ ex prefix in
- let lx := merge_liveness lx (prefix ++ repeat live (count_pairs tx)) in
- let ctx := extend ctx n (SmartValf _ (fun _ => lx) tx) in
- @compute_livenessf ctx _ eC (prefix ++ repeat dead (count_pairs tx))
- | Pair _ ex _ ey
- => merge_liveness (@compute_livenessf ctx _ ex prefix)
- (@compute_livenessf ctx _ ey prefix)
- end.
-
- Fixpoint compute_livenessf ctx {t} e prefix
- := @compute_livenessf_step (@compute_livenessf) ctx t e prefix.
-
- Definition compute_liveness (ctx : Context)
- {t} (e : expr Name t) (prefix : list liveness)
- : list liveness
- := match e with
- | Abs src _ n f
- => let prefix := prefix ++ repeat live (count_pairs src) in
- let ctx := extend (t:=src) ctx n (SmartValf _ (fun _ => prefix) src) in
- compute_livenessf ctx f prefix
- end.
-
- Section insert_dead.
- Context (default_out : option OutName).
-
- Fixpoint insert_dead_names_gen (ls : list liveness) (lsn : list OutName)
- : list (option OutName)
- := match ls with
- | nil => nil
- | cons live xs
- => match lsn with
- | cons n lsn' => Some n :: @insert_dead_names_gen xs lsn'
- | nil => default_out :: @insert_dead_names_gen xs nil
- end
- | cons dead xs
- => None :: @insert_dead_names_gen xs lsn
- end.
- Definition insert_dead_names {t} (e : expr Name t)
- := insert_dead_names_gen (compute_liveness empty e nil).
- End insert_dead.
- End internal.
-End language.
-
-Global Arguments compute_livenessf {_ _ _ _} ctx {t} e prefix.
-Global Arguments compute_liveness {_ _ _ _} ctx {t} e prefix.
-Global Arguments insert_dead_names {_ _ _ _ _} default_out {t} e lsn.
diff --git a/src/Compilers/Named/ExprInversion.v b/src/Compilers/Named/ExprInversion.v
deleted file mode 100644
index 783341f26..000000000
--- a/src/Compilers/Named/ExprInversion.v
+++ /dev/null
@@ -1,21 +0,0 @@
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Module Export Named.
- Ltac invert_one_expr e :=
- preinvert_one_type e;
- intros ? e;
- destruct e;
- try exact I.
-
- Ltac invert_expr_step :=
- match goal with
- | [ e : Named.exprf _ _ _ (Tbase _) |- _ ] => invert_one_expr e
- | [ e : Named.exprf _ _ _ (Prod _ _) |- _ ] => invert_one_expr e
- | [ e : Named.exprf _ _ _ Unit |- _ ] => invert_one_expr e
- | [ e : Named.expr _ _ _ (Arrow _ _) |- _ ] => invert_one_expr e
- end.
-
- Ltac invert_expr := repeat invert_expr_step.
-End Named.
diff --git a/src/Compilers/Named/FMapContext.v b/src/Compilers/Named/FMapContext.v
deleted file mode 100644
index b69d78d09..000000000
--- a/src/Compilers/Named/FMapContext.v
+++ /dev/null
@@ -1,70 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Coq.FSets.FMapInterface.
-Require Import Coq.FSets.FMapFacts.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Equality.
-
-Module FMapContextFun (E : DecidableType) (W : WSfun E).
- Module Import Properties := WProperties_fun E W.
- Import F.
- Section ctx.
- Context (E_eq_l : forall x y, E.eq x y -> x = y)
- base_type_code (var : base_type_code -> Type)
- (base_type_code_beq : base_type_code -> base_type_code -> bool)
- (base_type_code_bl_transparent : forall x y, base_type_code_beq x y = true -> x = y)
- (base_type_code_lb : forall x y, x = y -> base_type_code_beq x y = true).
-
- Definition var_cast {a b} (x : var a) : option (var b)
- := match Sumbool.sumbool_of_bool (base_type_code_beq a b), Sumbool.sumbool_of_bool (base_type_code_beq b b) with
- | left pf, left pf' => match eq_trans (base_type_code_bl_transparent _ _ pf) (eq_sym (base_type_code_bl_transparent _ _ pf')) with
- | eq_refl => Some x
- end
- | right _, _ | _, right _ => None
- end.
- Definition FMapContext : @Context base_type_code W.key var
- := {| ContextT := W.t { t : _ & var t };
- lookupb t ctx n
- := match W.find n ctx with
- | Some (existT t' v)
- => var_cast v
- | None => None
- end;
- extendb t ctx n v
- := W.add n (existT _ t v) ctx;
- removeb t ctx n
- := W.remove n ctx;
- empty := W.empty _ |}.
- Lemma FMapContextOk : @ContextOk base_type_code W.key var FMapContext.
- Proof using E_eq_l base_type_code_lb.
- split;
- repeat first [ reflexivity
- | progress simpl in *
- | progress intros
- | rewrite add_eq_o by reflexivity
- | progress rewrite ?add_neq_o, ?remove_neq_o, ?remove_eq_o in * by intuition
- | progress rewrite empty_o in *
- | progress unfold var_cast
- | progress break_innermost_match_step
- | rewrite concat_pV
- | congruence
- | rewrite base_type_code_lb in * by reflexivity
- | break_innermost_match_hyps_step
- | progress unfold var_cast in * ].
- Qed.
- End ctx.
-
- Section ctx_nd.
- Context {base_type_code var : Type}.
-
- Definition FMapContext_nd : @Context base_type_code W.key (fun _ => var)
- := {| ContextT := W.t var;
- lookupb t ctx n := W.find n ctx;
- extendb t ctx n v := W.add n v ctx;
- removeb t ctx n := W.remove n ctx;
- empty := W.empty _ |}.
- End ctx_nd.
-End FMapContextFun.
-
-Module FMapContext (W : WS) := FMapContextFun W.E W.
diff --git a/src/Compilers/Named/GetNames.v b/src/Compilers/Named/GetNames.v
deleted file mode 100644
index ce26b1bca..000000000
--- a/src/Compilers/Named/GetNames.v
+++ /dev/null
@@ -1,38 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Local Open Scope list_scope.
-
-Section language.
- Context {base_type_code}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}.
-
- Local Notation exprf := (@exprf base_type_code op Name).
- Local Notation expr := (@expr base_type_code op Name).
-
- Fixpoint get_names_of_type {t} : interp_flat_type (fun _ : base_type_code => Name) t -> list Name
- := match t with
- | Tbase T => fun n => n::nil
- | Unit => fun _ => nil
- | Prod A B => fun ab : interp_flat_type _ A * interp_flat_type _ B
- => @get_names_of_type _ (fst ab) ++ @get_names_of_type _ (snd ab)
- end.
-
- Fixpoint get_namesf {t} (e : exprf t) : list Name
- := match e with
- | TT => nil
- | Var _ x => x::nil
- | Op _ _ opc args => @get_namesf _ args
- | LetIn tx nx ex tC eC
- => get_names_of_type nx ++ (* @get_namesf _ ex ++ *) @get_namesf _ eC
- | Pair _ ex _ ey
- => @get_namesf _ ex ++ @get_namesf _ ey
- end.
-
- Fixpoint get_names {t} (e : expr t) : list Name
- := match e with
- | Abs _ _ n f => get_names_of_type n ++ get_namesf f
- end.
-End language.
diff --git a/src/Compilers/Named/IdContext.v b/src/Compilers/Named/IdContext.v
deleted file mode 100644
index d82740cb4..000000000
--- a/src/Compilers/Named/IdContext.v
+++ /dev/null
@@ -1,27 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Section language.
- Context {base_type_code Name}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- (Context : @Context base_type_code Name (fun _ => Name)).
-
- Fixpoint collect_binders {t} (e : Named.exprf base_type_code op Name t)
- : list { t : flat_type base_type_code & interp_flat_type (fun _ => Name) t }
- := match e with
- | TT => nil
- | Var t n => (existT _ (Tbase t) n) :: nil
- | Op t1 tR opc args => @collect_binders _ args
- | LetIn tx n ex tC eC
- => (existT _ tx n) :: @collect_binders tx ex ++ @collect_binders tC eC
- | Pair tx ex ty ey
- => @collect_binders tx ex ++ @collect_binders ty ey
- end%list.
- Definition idcontext {t} (e : Named.exprf base_type_code op Name t) : Context
- := List.fold_right
- (fun v ctx => extend ctx (projT2 v) (projT2 v))
- empty
- (collect_binders e).
-End language.
diff --git a/src/Compilers/Named/InterpSideConditions.v b/src/Compilers/Named/InterpSideConditions.v
deleted file mode 100644
index bd90eac23..000000000
--- a/src/Compilers/Named/InterpSideConditions.v
+++ /dev/null
@@ -1,54 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Notations.
-
-Module Export Named.
- Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type : base_type_code -> Type}
- {Context : Context Name interp_base_type}
- (interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d)
- (interped_op_side_conditions : forall s d, op s d -> interp_flat_type interp_base_type s -> pointed_Prop).
-
- Local Notation exprf := (@exprf base_type_code op Name).
- Local Notation expr := (@expr base_type_code op Name).
-
- Fixpoint interpf_side_conditions_gen {t} (ctx : Context) (e : exprf t)
- : option (pointed_Prop * interp_flat_type interp_base_type t)
- := match e with
- | TT => Some (trivial, tt)
- | Var t' x => option_map (fun v => (trivial, v)) (lookupb t' ctx x)
- | Op t1 tR opc args
- => match @interpf_side_conditions_gen _ ctx args with
- | Some (args_cond, argsv)
- => Some (args_cond /\ interped_op_side_conditions _ _ opc argsv, interp_op _ _ opc argsv)
- | None => None
- end
- | LetIn _ n ex _ eC
- => match @interpf_side_conditions_gen _ ctx ex with
- | Some (x_cond, x)
- => match @interpf_side_conditions_gen _ (extend ctx n x) eC with
- | Some (c_cond, cv)
- => Some (x_cond /\ c_cond, cv)
- | None => None
- end
- | None => None
- end
- | Pair _ ex _ ey
- => match @interpf_side_conditions_gen _ ctx ex, @interpf_side_conditions_gen _ ctx ey with
- | Some (x_cond, xv), Some (y_cond, yv) => Some (x_cond /\ y_cond, (xv, yv))
- | None, _ | _, None => None
- end
- end%pointed_prop.
- Definition interpf_side_conditions {t} ctx e : option pointed_Prop
- := option_map (@fst _ _) (@interpf_side_conditions_gen t ctx e).
- Definition interp_side_conditions {t} ctx (e : expr t) : interp_flat_type interp_base_type (domain t) -> option pointed_Prop
- := fun x => interpf_side_conditions (extend ctx (Abs_name e) x) (invert_Abs e).
- Definition InterpSideConditions {t} (e : expr t) : interp_flat_type interp_base_type (domain t) -> option pointed_Prop
- := interp_side_conditions empty e.
- End language.
-End Named.
diff --git a/src/Compilers/Named/InterpSideConditionsInterp.v b/src/Compilers/Named/InterpSideConditionsInterp.v
deleted file mode 100644
index 72bb9c9e0..000000000
--- a/src/Compilers/Named/InterpSideConditionsInterp.v
+++ /dev/null
@@ -1,45 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.InterpSideConditions.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Option.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type : base_type_code -> Type}
- {Context : Context Name interp_base_type}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {interped_op_side_conditions : forall s d, op s d -> interp_flat_type interp_base_type s -> pointed_Prop}.
-
- Local Notation exprf := (@exprf base_type_code op Name).
- Local Notation expr := (@expr base_type_code op Name).
-
- Lemma snd_interpf_side_conditions_gen_eq {t} {ctx : Context} {e}
- : interpf (t:=t) (ctx:=ctx) (interp_op:=interp_op) e
- = option_map (@snd _ _) (interpf_side_conditions_gen interp_op interped_op_side_conditions ctx e).
- Proof.
- revert ctx; induction e; intros;
- repeat first [ reflexivity
- | progress subst
- | progress inversion_option
- | progress unfold option_map, LetIn.Let_In in *
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | progress simpl in *
- | match goal with
- | [ H : forall ctx, interpf ?e = _, H' : context[interpf ?e] |- _ ]
- => rewrite H in H'
- | [ H : forall ctx, interpf ?e = _ |- context[interpf ?e] ]
- => rewrite H
- end ].
- Qed.
- Lemma snd_interpf_side_conditions_gen_Some {t} {ctx : Context} {e v}
- : interpf (t:=t) (ctx:=ctx) (interp_op:=interp_op) e = Some v
- <-> option_map (@snd _ _) (interpf_side_conditions_gen interp_op interped_op_side_conditions ctx e) = Some v.
- Proof. rewrite snd_interpf_side_conditions_gen_eq; reflexivity. Qed.
-End language.
diff --git a/src/Compilers/Named/InterpretToPHOAS.v b/src/Compilers/Named/InterpretToPHOAS.v
deleted file mode 100644
index 4e74fc59a..000000000
--- a/src/Compilers/Named/InterpretToPHOAS.v
+++ /dev/null
@@ -1,65 +0,0 @@
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.PointedProp.
-
-Local Notation eta_and x := (conj (let (a, b) := x in a) (let (a, b) := x in b)).
-
-Module Export Named.
- Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}.
- Section with_var.
- Context {var : base_type_code -> Type}
- {Context : Context Name var}
- (failb : forall t, @Syntax.exprf base_type_code op var (Tbase t)).
-
- Local Notation failf t (* : @Syntax.exprf base_type_code op var t*)
- := (SmartPairf (SmartValf _ failb t)).
-
- Fixpoint interpf_to_phoas
- (ctx : Context)
- {t} (e : @Named.exprf base_type_code op Name t)
- {struct e}
- : @Syntax.exprf base_type_code op var t
- := match e in Named.exprf _ _ _ t return @Syntax.exprf base_type_code op var t with
- | Named.Var t' x
- => match lookupb t' ctx x with
- | Some v => Var v
- | None => failf _
- end
- | Named.TT => TT
- | Named.Pair tx ex ty ey
- => Pair (@interpf_to_phoas ctx tx ex) (@interpf_to_phoas ctx ty ey)
- | Named.Op _ _ opc args
- => Op opc (@interpf_to_phoas ctx _ args)
- | Named.LetIn _ n ex _ eC
- => LetIn (@interpf_to_phoas ctx _ ex)
- (fun v
- => @interpf_to_phoas (extend ctx n v) _ eC)
- end.
-
- Definition interp_to_phoas
- (ctx : Context)
- {t} (e : @Named.expr base_type_code op Name t)
- : @Syntax.expr base_type_code op var (domain t -> codomain t)
- := Abs (fun v => interpf_to_phoas (extend ctx (Abs_name e) v) (invert_Abs e)).
- End with_var.
-
- Section all.
- Context {Context : forall var, @Context base_type_code Name var}
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t)).
- Definition InterpToPHOAS_gen
- (ctx : forall var, Context var)
- {t} (e : @Named.expr base_type_code op Name t)
- : @Syntax.Expr base_type_code op (domain t -> codomain t)
- := fun var => interp_to_phoas (failb var) (ctx var) e.
-
- Definition InterpToPHOAS {t} e
- := @InterpToPHOAS_gen (fun var => empty) t e.
- End all.
- End language.
-End Named.
diff --git a/src/Compilers/Named/InterpretToPHOASInterp.v b/src/Compilers/Named/InterpretToPHOASInterp.v
deleted file mode 100644
index 7fe50c994..000000000
--- a/src/Compilers/Named/InterpretToPHOASInterp.v
+++ /dev/null
@@ -1,89 +0,0 @@
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.InterpretToPHOAS.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {base_type_code_dec : DecidableRel (@eq base_type_code)}
- {Name_dec : DecidableRel (@eq Name)}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}.
- Section with_context.
- Context {Context : Context Name interp_base_type}
- {ContextOk : ContextOk Context}
- (failb : forall t, @Syntax.exprf base_type_code op interp_base_type (Tbase t)).
-
- Lemma interpf_interpf_to_phoas
- (ctx : Context)
- {t} (e : @Named.exprf base_type_code op Name t)
- (Hwf : prop_of_option (Named.wff ctx e))
- : Named.interpf (interp_op:=interp_op) (ctx:=ctx) e
- = Some (Syntax.interpf interp_op (interpf_to_phoas failb ctx e)).
- Proof using Type.
- revert dependent ctx; induction e;
- repeat first [ progress intros
- | progress subst
- | progress inversion_option
- | progress destruct_head' and
- | progress break_innermost_match_step
- | progress unfold option_map, LetIn.Let_In in *
- | apply (f_equal (@Some _))
- | apply (f_equal (@interp_op _ _ _))
- | progress simpl in *
- | progress autorewrite with push_prop_of_option in *
- | solve [ eauto | congruence | tauto ]
- | match goal with
- | [ H : forall ctx Hwf', Named.interpf ?e = Some _, Hwf : prop_of_option (Named.wff _ ?e) |- _ ]
- => specialize (H _ Hwf)
- | [ H : forall ctx Hwf, Named.interpf ?e = Some _ |- Named.interpf ?e = Some _ ]
- => rewrite H by auto
- end ].
- Qed.
-
- Lemma interp_interp_to_phoas
- (ctx : Context)
- {t} (e : @Named.expr base_type_code op Name t)
- (Hwf : Named.wf ctx e)
- v
- : Named.interp (interp_op:=interp_op) (ctx:=ctx) e v
- = Some (Syntax.interp interp_op (interp_to_phoas failb ctx e) v).
- Proof using Type.
- unfold interp, interp_to_phoas, Named.interp; apply interpf_interpf_to_phoas; auto.
- Qed.
- End with_context.
-
- Section all.
- Context {Context : forall var, @Context base_type_code Name var}
- {ContextOk : forall var, ContextOk (Context var)}
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t)).
-
- Lemma Interp_InterpToPHOAS_gen
- {ctx : forall var, Context var}
- {t} (e : @Named.expr base_type_code op Name t)
- (Hwf : forall var, Named.wf (ctx var) e)
- v
- : Named.interp (interp_op:=interp_op) (ctx:=ctx _) e v
- = Some (Interp interp_op (InterpToPHOAS_gen failb ctx e) v).
- Proof using Type. apply interp_interp_to_phoas; auto. Qed.
-
- Lemma Interp_InterpToPHOAS
- {t} (e : @Named.expr base_type_code op Name t)
- (Hwf : Named.Wf Context e)
- v
- : Named.Interp (Context:=Context _) (interp_op:=interp_op) e v
- = Some (Interp interp_op (InterpToPHOAS (Context:=Context) failb e) v).
- Proof using Type. apply interp_interp_to_phoas; auto. Qed.
- End all.
-End language.
diff --git a/src/Compilers/Named/InterpretToPHOASWf.v b/src/Compilers/Named/InterpretToPHOASWf.v
deleted file mode 100644
index d2b3f18d3..000000000
--- a/src/Compilers/Named/InterpretToPHOASWf.v
+++ /dev/null
@@ -1,139 +0,0 @@
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.SmartMap.
-Require Import Crypto.Compilers.Named.InterpretToPHOAS.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {base_type_code_dec : DecidableRel (@eq base_type_code)}
- {Name_dec : DecidableRel (@eq Name)}.
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}
- {Context1 : Context Name var1}
- {Context2 : Context Name var2}
- {Context1Ok : ContextOk Context1}
- {Context2Ok : ContextOk Context2}
- (failb1 : forall t, @Syntax.exprf base_type_code op var1 (Tbase t))
- (failb2 : forall t, @Syntax.exprf base_type_code op var2 (Tbase t)).
-
- Local Ltac t_step :=
- first [ progress intros
- | progress unfold dec in *
- | reflexivity
- | progress subst
- | progress inversion_option
- | erewrite lookupb_extend by assumption
- | rewrite <- !find_Name_and_val_None_iff
- | progress break_innermost_match_step
- | progress break_match_hyps
- | solve [ eauto using find_Name_and_val_flatten_binding_list ]
- | congruence
- | tauto
- | match goal with
- | [ H : lookupb (extend _ _ _) _ = _ |- _ ]
- => erewrite (lookupb_extend _ _ _) in H by assumption
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => setoid_rewrite List.in_app_iff in H
- | [ |- context[List.In _ (_ ++ _)] ]
- => rewrite List.in_app_iff
- | [ |- context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default))
- | [ H : context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] |- _ ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite (find_Name_and_val_split tdec ndec (default:=default)) in H
- | [ H : forall n t, lookupb _ n = None <-> lookupb _ n = None |- context[lookupb _ _ = None] ]
- => rewrite H
- | [ H : forall n t, lookupb _ n = None |- context[lookupb _ _ = None] ]
- => rewrite H
- end ].
- Local Ltac t := repeat t_step.
-
- Lemma wff_interpf_to_phoas
- (ctx1 : Context1) (ctx2 : Context2)
- {t} (e : @Named.exprf base_type_code op Name t)
- (Hwf1 : prop_of_option (Named.wff ctx1 e))
- (Hwf2 : prop_of_option (Named.wff ctx2 e))
- G
- (HG : forall n t v1 v2,
- lookupb t ctx1 n = Some v1
- -> lookupb t ctx2 n = Some v2
- -> List.In (existT _ t (v1, v2)%core) G)
- (Hctx1_ctx2 : forall n t,
- lookupb t ctx1 n = None <-> lookupb t ctx2 n = None)
- : wff G (interpf_to_phoas failb1 ctx1 e) (interpf_to_phoas failb2 ctx2 e).
- Proof using Context1Ok Context2Ok Name_dec base_type_code_dec.
- revert dependent G; revert dependent ctx1; revert dependent ctx2; induction e;
- repeat first [ progress intros
- | progress destruct_head' and
- | progress break_innermost_match_step
- | progress simpl in *
- | progress autorewrite with push_prop_of_option in *
- | solve [ eauto | tauto ]
- | match goal with
- | [ |- wff _ _ _ ] => constructor
- end ].
- match goal with H : _ |- _ => eapply H end; t.
- Qed.
-
- Lemma wf_interp_to_phoas_gen
- (ctx1 : Context1) (ctx2 : Context2)
- {t} (e : @Named.expr base_type_code op Name t)
- (Hwf1 : Named.wf ctx1 e)
- (Hwf2 : Named.wf ctx2 e)
- (Hctx1 : forall n t, lookupb t ctx1 n = None)
- (Hctx2 : forall n t, lookupb t ctx2 n = None)
- : wf (interp_to_phoas failb1 ctx1 e) (interp_to_phoas failb2 ctx2 e).
- Proof using Context1Ok Context2Ok Name_dec base_type_code_dec.
- constructor; intros.
- apply wff_interpf_to_phoas; t.
- Qed.
-
- Lemma wf_interp_to_phoas
- {t} (e : @Named.expr base_type_code op Name t)
- (Hwf1 : Named.wf (Context:=Context1) empty e)
- (Hwf2 : Named.wf (Context:=Context2) empty e)
- : wf (interp_to_phoas (Context:=Context1) failb1 empty e) (interp_to_phoas (Context:=Context2) failb2 empty e).
- Proof using Context1Ok Context2Ok Name_dec base_type_code_dec.
- apply wf_interp_to_phoas_gen; auto using lookupb_empty.
- Qed.
- End with_var.
-
- Section all.
- Context {Context : forall var, @Context base_type_code Name var}
- {ContextOk : forall var, ContextOk (Context var)}
- (failb : forall var t, @Syntax.exprf base_type_code op var (Tbase t)).
-
- Lemma Wf_InterpToPHOAS_gen
- {ctx : forall var, Context var}
- {t} (e : @Named.expr base_type_code op Name t)
- (Hctx : forall var n t, lookupb t (ctx var) n = None)
- (Hwf : forall var, Named.wf (ctx var) e)
- : Wf (InterpToPHOAS_gen failb ctx e).
- Proof using ContextOk Name_dec base_type_code_dec.
- intros ??; apply wf_interp_to_phoas_gen; auto.
- Qed.
-
- Lemma Wf_InterpToPHOAS
- {t} (e : @Named.expr base_type_code op Name t)
- (Hwf : Named.Wf Context e)
- : Wf (InterpToPHOAS (Context:=Context) failb e).
- Proof using ContextOk Name_dec base_type_code_dec.
- intros ??; apply wf_interp_to_phoas; auto.
- Qed.
- End all.
-End language.
-
-Hint Resolve Wf_InterpToPHOAS : wf.
diff --git a/src/Compilers/Named/MapCast.v b/src/Compilers/Named/MapCast.v
deleted file mode 100644
index fddee84fa..000000000
--- a/src/Compilers/Named/MapCast.v
+++ /dev/null
@@ -1,72 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Local Open Scope nexpr_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type_bounds : base_type_code -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type_code).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs)))
- {BoundsContext : Context Name interp_base_type_bounds}.
-
- Fixpoint mapf_cast
- (ctx : BoundsContext)
- {t} (e : exprf base_type_code op Name t)
- {struct e}
- : option { bounds : interp_flat_type interp_base_type_bounds t
- & exprf base_type_code op Name (pick_type bounds) }
- := match e in exprf _ _ _ t return option { bounds : interp_flat_type interp_base_type_bounds t
- & exprf base_type_code op Name (pick_type bounds) } with
- | TT => Some (existT _ tt TT)
- | Pair tx ex ty ey
- => match @mapf_cast ctx _ ex, @mapf_cast ctx _ ey with
- | Some (existT x_bs xv), Some (existT y_bs yv)
- => Some (existT _ (x_bs, y_bs)%core (Pair xv yv))
- | None, _ | _, None => None
- end
- | Var t x
- => option_map
- (fun bounds => existT _ bounds (Var x))
- (lookupb (t:=t) ctx x)
- | LetIn tx n ex tC eC
- => match @mapf_cast ctx _ ex with
- | Some (existT x_bounds ex')
- => option_map
- (fun eC' => let 'existT Cx_bounds C_expr := eC' in
- existT _ Cx_bounds (LetIn (pick_type x_bounds)
- (SmartFlatTypeMapInterp2 (t:=tx) (fun _ _ (n : Name) => n) x_bounds n) ex' C_expr))
- (@mapf_cast (extend (t:=tx) ctx n x_bounds) _ eC)
- | None => None
- end
- | Op t tR opc args
- => option_map
- (fun args'
- => let 'existT args_bounds argsv := args' in
- existT _
- (interp_op_bounds _ _ _ args_bounds)
- (Op (cast_op t tR opc args_bounds) argsv))
- (@mapf_cast ctx _ args)
- end.
-
- Definition map_cast
- (ctx : BoundsContext)
- {t} (e : expr base_type_code op Name t)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- : option { output_bounds : interp_flat_type interp_base_type_bounds (codomain t)
- & expr base_type_code op Name (Arrow (pick_type input_bounds) (pick_type output_bounds)) }
- := option_map
- (fun v => existT
- _
- (projT1 v)
- (Abs (SmartFlatTypeMapInterp2 (fun _ _ (n' : Name) => n') input_bounds (Abs_name e))
- (projT2 v)))
- (mapf_cast (extend ctx (Abs_name e) input_bounds) (invert_Abs e)).
-End language.
diff --git a/src/Compilers/Named/MapCastInterp.v b/src/Compilers/Named/MapCastInterp.v
deleted file mode 100644
index c38eadd9c..000000000
--- a/src/Compilers/Named/MapCastInterp.v
+++ /dev/null
@@ -1,290 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Coq.Logic.Eqdep_dec.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.SmartMap.
-Require Import Crypto.Compilers.Named.InterpSideConditions.
-Require Import Crypto.Compilers.Named.InterpSideConditionsInterp.
-Require Import Crypto.Compilers.Named.MapCast.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-
-Local Open Scope nexpr_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type_bounds : base_type_code -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type_code).
- Local Notation pick_type t v := (SmartFlatTypeMap pick_typeb (t:=t) v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type _ args_bs) (pick_type _ (interp_op_bounds t tR opc args_bs)))
- {BoundsContext : Context Name interp_base_type_bounds}
- (BoundsContextOk : ContextOk BoundsContext)
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst,
- op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst)
- (interped_op_side_conditions : forall s d, op s d -> interp_flat_type interp_base_type s -> pointed_Prop)
- (cast_backb: forall t b, interp_base_type (pick_typeb t b) -> interp_base_type t).
- Let cast_back : forall t b, interp_flat_type interp_base_type (@pick_type t b) -> interp_flat_type interp_base_type t
- := fun t b => SmartFlatTypeMapUnInterp cast_backb.
- Context {Context : Context Name interp_base_type}
- (ContextOk : ContextOk Context)
- (inboundsb : forall t, interp_base_type_bounds t -> interp_base_type t -> Prop).
- Let inbounds : forall t, interp_flat_type interp_base_type_bounds t -> interp_flat_type interp_base_type t -> Prop
- := fun t => interp_flat_type_rel_pointwise inboundsb (t:=t).
- Context (interp_op_bounds_correct:
- forall t tR opc bs
- (v : interp_flat_type interp_base_type t)
- (H : inbounds t bs v)
- (Hside : to_prop (interped_op_side_conditions _ _ opc v)),
- inbounds tR (interp_op_bounds t tR opc bs) (interp_op t tR opc v))
- (pull_cast_back:
- forall t tR opc bs
- (v : interp_flat_type interp_base_type (pick_type t bs))
- (H : inbounds t bs (cast_back t bs v))
- (Hside : to_prop (interped_op_side_conditions _ _ opc (cast_back t bs v))),
- interp_op t tR opc (cast_back t bs v)
- =
- cast_back _ _ (interp_op _ _ (cast_op _ _ opc bs) v))
- (base_type_dec : DecidableRel (@eq base_type_code))
- (Name_dec : DecidableRel (@eq Name)).
-
- Local Notation mapf_cast := (@mapf_cast _ op Name _ interp_op_bounds pick_typeb cast_op BoundsContext).
- Local Notation map_cast := (@map_cast _ op Name _ interp_op_bounds pick_typeb cast_op BoundsContext).
-
- Local Ltac handle_options_step :=
- match goal with
- | _ => progress inversion_option
- | [ H : ?x = Some _ |- context[?x] ] => rewrite H
- | [ H : ?x = None |- context[?x] ] => rewrite H
- | [ H : ?x = Some _, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : ?x = None, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : Some _ <> None \/ _ |- _ ] => clear H
- | [ H : Some ?x <> Some ?y |- _ ] => assert (x <> y) by congruence; clear H
- | [ H : None <> Some _ |- _ ] => clear H
- | [ H : Some _ <> None |- _ ] => clear H
- | [ H : ?x <> ?x \/ _ |- _ ] => destruct H; [ exfalso; apply H; reflexivity | ]
- | [ H : _ \/ None = Some _ |- _ ] => destruct H; [ | exfalso; clear -H; congruence ]
- | [ H : _ \/ Some _ = None |- _ ] => destruct H; [ | exfalso; clear -H; congruence ]
- | [ H : ?x = Some ?y, H' : ?x = Some ?y' |- _ ]
- => assert (y = y') by congruence; (subst y' || subst y)
- | _ => progress simpl @option_map
- end.
-
- Local Ltac handle_lookupb_step :=
- let do_eq_dec dec t t' :=
- first [ constr_eq t t'; fail 1
- | lazymatch goal with
- | [ H : t = t' |- _ ] => fail 1
- | [ H : t <> t' |- _ ] => fail 1
- | [ H : t = t' -> False |- _ ] => fail 1
- | _ => destruct (dec t t')
- end ] in
- let do_type_dec := do_eq_dec base_type_dec in
- match goal with
- | _ => progress unfold dec in *
- | _ => handle_options_step
- (* preprocess *)
- | [ H : context[lookupb (extend _ _ _) _] |- _ ]
- => first [ rewrite (lookupb_extend base_type_dec Name_dec) in H by assumption
- | setoid_rewrite (lookupb_extend base_type_dec Name_dec) in H; [ | assumption.. ] ]
- | [ |- context[lookupb (extend _ _ _) _] ]
- => first [ rewrite (fun C => lookupb_extend C base_type_dec Name_dec) by assumption
- | setoid_rewrite (lookupb_extend base_type_dec Name_dec); [ | assumption.. ] ]
- | _ => progress subst
- (* handle multiple hypotheses *)
- | [ H : find_Name _ ?n ?N = Some ?t', H'' : context[find_Name_and_val _ _ ?t ?n ?N ?x ?default] |- _ ]
- => do_type_dec t t'
- (* clear the default value *)
- | [ H : context[find_Name_and_val ?tdec ?ndec ?t ?n (T:=?T) ?N ?V ?default] |- _ ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite find_Name_and_val_split in H
- (* generic handlers *)
- | [ H : find_Name _ ?n ?N = Some ?t', H' : ?t <> ?t', H'' : context[find_Name_and_val _ _ ?t ?n ?N ?x ?default] |- _ ]
- => erewrite find_Name_and_val_wrong_type in H'' by eassumption
- | [ H : context[find_Name _ _ (SmartFlatTypeMapInterp2 _ _ _)] |- _ ]
- => rewrite find_Name_SmartFlatTypeMapInterp2 with (base_type_code_dec:=base_type_dec) in H
- | [ H : find_Name_and_val _ _ _ _ _ _ _ = None |- _ ]
- => apply find_Name_and_val_None_iff in H
- (* destructers *)
- | [ |- context[find_Name_and_val ?tdec ?ndec ?t ?n ?N ?V ?default] ]
- => destruct (find_Name_and_val tdec ndec t n N V default) eqn:?
- | [ H : context[match find_Name_and_val ?tdec ?ndec ?t ?n ?N ?V ?default with _ => _ end] |- _ ]
- => destruct (find_Name_and_val tdec ndec t n N V default) eqn:?
- | [ H : context[match find_Name ?ndec ?n ?N with _ => _ end] |- _ ]
- => destruct (find_Name ndec n N) eqn:?
- | [ H : context[match base_type_dec ?x ?y with _ => _ end] |- _ ]
- => destruct (base_type_dec x y)
- | [ H : context[match Name_dec ?x ?y with _ => _ end] |- _ ]
- => destruct (Name_dec x y)
- end.
-
- Local Ltac handle_exists_in_goal :=
- lazymatch goal with
- | [ |- exists v, Some ?k = Some v /\ @?B v ]
- => exists k; split; [ reflexivity | ]
- | [ |- (exists v, None = Some v /\ @?B v) ]
- => exfalso
- | [ |- ?A /\ (exists v, Some ?k = Some v /\ @?B v) ]
- => cut (A /\ B k); [ clear; solve [ intuition eauto ] | cbv beta ]
- | [ |- ?A /\ (exists v, None = Some v /\ @?B v) ]
- => exfalso
- end.
- Local Ltac handle_bounds_side_conditions_step :=
- match goal with
- | [ H : interpf ?e = Some ?v, H' : interpf_side_conditions_gen _ _ _ ?e = Some (_, ?v')%core |- _ ]
- => first [ constr_eq v v'; fail 1
- | assert (Some v = Some v')
- by (erewrite <- H, snd_interpf_side_conditions_gen_eq, H'; reflexivity);
- inversion_option; (subst v || subst v') ]
- end.
- Local Ltac fin_inbounds_cast_back_t_step :=
- match goal with
- | [ |- inboundsb _ _ _ /\ _ ]
- => split; [ eapply interp_flat_type_rel_pointwise__find_Name_and_val; eassumption | ]
- | [ |- cast_backb _ _ _ = _ ]
- => eapply find_Name_and_val__SmartFlatTypeMapInterp2__SmartFlatTypeMapUnInterp__Some_Some; [ | eassumption.. ]
- end.
- Local Ltac specializer_t_step :=
- match goal with
- | [ H : ?T, H' : ?T |- _ ] => clear H
- | [ H : forall x, Some _ = Some x -> _ |- _ ] => specialize (H _ eq_refl)
- | [ H : ?x = Some _, IH : forall a b, ?x = Some _ -> _ |- _ ]
- => specialize (IH _ _ H)
- | [ H : ?x = Some _, IH : forall a, ?x = Some _ -> _ |- _ ]
- => specialize (IH _ H)
- | [ H : forall t n v, lookupb ?ctx n = _ -> _, H' : lookupb ?ctx ?n' = _ |- _ ]
- => specialize (H _ _ _ H')
- | _ => progress specialize_by auto
- end.
-
- Local Ltac break_t_step :=
- first [ progress destruct_head'_ex
- | progress destruct_head'_and ].
-
- Local Ltac t_step :=
- first [ progress intros
- | break_t_step
- | handle_lookupb_step
- | handle_exists_in_goal
- | solve [ auto ]
- | specializer_t_step
- | fin_inbounds_cast_back_t_step
- | handle_options_step
- | handle_bounds_side_conditions_step ].
- Local Ltac t := repeat t_step.
-
- Local Ltac do_specialize_IHe :=
- repeat match goal with
- | [ IH : context[interpf ?e], H' : interpf (ctx:=?ctx) ?e = _ |- _ ]
- => let check_tac _ := (rewrite H' in IH) in
- first [ specialize (IH ctx); check_tac ()
- | specialize (fun a => IH a ctx); check_tac ()
- | specialize (fun a b => IH a b ctx); check_tac () ]
- | [ IH : context[mapf_cast _ ?e], H' : mapf_cast ?ctx ?e = _ |- _ ]
- => let check_tac _ := (rewrite H' in IH) in
- first [ specialize (IH ctx); check_tac ()
- | specialize (fun a => IH a ctx); check_tac ()
- | specialize (fun a b => IH a b ctx); check_tac () ]
- | [ H : forall x y z, Some _ = Some _ -> _ |- _ ]
- => first [ specialize (H _ _ _ eq_refl)
- | specialize (fun x => H x _ _ eq_refl) ]
- | [ H : forall x y, Some _ = Some _ -> _ |- _ ]
- => first [ specialize (H _ _ eq_refl)
- | specialize (fun x => H x _ eq_refl) ]
- | _ => progress specialize_by_assumption
- end.
-
- Lemma mapf_cast_correct
- {t} (e:exprf base_type_code op Name t)
- : forall
- (oldValues:Context)
- (newValues:Context)
- (varBounds:BoundsContext)
- {b} e' (He':mapf_cast varBounds e = Some (existT _ b e'))
- (Hctx:forall {t} n v,
- lookupb (t:=t) oldValues n = Some v
- -> exists b, lookupb (t:=t) varBounds n = Some b
- /\ @inboundsb _ b v
- /\ exists v', lookupb (t:=pick_typeb t b) newValues n = Some v'
- /\ cast_backb t b v' = v)
- r (Hr:interpf (interp_op:=interp_op) (ctx:=oldValues) e = Some r)
- r' (Hr':interpf (interp_op:=interp_op) (ctx:=newValues) e' = Some r')
- (Hside : prop_of_option (interpf_side_conditions interp_op interped_op_side_conditions oldValues e))
- , interpf (interp_op:=interp_op_bounds) (ctx:=varBounds) e = Some b
- /\ @inbounds _ b r /\ cast_back _ _ r' = r.
- Proof using Type*.
- induction e; simpl interpf; simpl mapf_cast; unfold option_map, cast_back in *; intros;
- unfold interpf_side_conditions in *; simpl in Hside;
- repeat (repeat handle_options_step; break_match_hyps; inversion_option; inversion_sigma; autorewrite with push_to_prop in *; simpl in *; unfold option_map in *; subst; try tauto).
- { destruct (Hctx _ _ _ Hr) as [b' [Hb'[Hb'v[v'[Hv' Hv'v]]]]]; clear Hctx Hr; subst.
- repeat match goal with
- [H: ?e = Some ?x, G:?e = Some ?x' |- _] =>
- pose proof (eq_trans (eq_sym G) H); clear G; inversion_option; subst
- end.
- auto. }
- { do_specialize_IHe.
- repeat (handle_options_step || destruct_head_and || specialize_by_assumption).
- subst; intuition eauto; try (symmetry; rewrite_hyp ?*; eauto);
- repeat handle_bounds_side_conditions_step; auto. }
- { cbv [LetIn.Let_In] in *.
- do_specialize_IHe.
- destruct_head'_and.
- destruct IHe1 as [IHe1_eq IHe1]; rewrite_hyp *; try assumption.
- { apply IHe2; clear IHe2; try reflexivity; [ | t ].
- intros ??? Hlookup.
- let b := fresh "b" in
- let H' := fresh "H'" in
- match goal with |- exists b0, ?v = Some b0 /\ _ => destruct v as [b|] eqn:H' end;
- [ exists b; split; [ reflexivity | ] | exfalso ];
- revert Hlookup H'; t. } }
- { do_specialize_IHe.
- t. }
- Qed.
-
- Lemma map_cast_correct
- {t} (e:expr base_type_code op Name t)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- : forall
- (oldValues:Context)
- (newValues:Context)
- (varBounds:BoundsContext)
- {b} e' (He':map_cast varBounds e input_bounds = Some (existT _ b e'))
- (Hctx:forall {t} n v,
- lookupb (t:=t) oldValues n = Some v
- -> exists b, lookupb (t:=t) varBounds n = Some b
- /\ @inboundsb _ b v
- /\ exists v', lookupb (t:=pick_typeb t b) newValues n = Some v'
- /\ cast_backb t b v' = v)
- v v' (Hv : @inbounds _ input_bounds v /\ cast_back _ _ v' = v)
- r (Hr:interp (interp_op:=interp_op) (ctx:=oldValues) e v = Some r)
- r' (Hr':interp (interp_op:=interp_op) (ctx:=newValues) e' v' = Some r')
- (Hside : prop_of_option (interp_side_conditions interp_op interped_op_side_conditions oldValues e v))
- , interp (interp_op:=interp_op_bounds) (ctx:=varBounds) e input_bounds = Some b
- /\ @inbounds _ b r /\ cast_back _ _ r' = r.
- Proof using Type*.
- unfold map_cast, option_map, interp; simpl; intros.
- repeat first [ progress subst
- | progress inversion_option
- | progress inversion_sigma
- | progress break_match_hyps
- | progress destruct_head' sigT
- | progress simpl in * ].
- eapply mapf_cast_correct; try eassumption.
- t.
- Qed.
-End language.
diff --git a/src/Compilers/Named/MapCastWf.v b/src/Compilers/Named/MapCastWf.v
deleted file mode 100644
index eb141cad1..000000000
--- a/src/Compilers/Named/MapCastWf.v
+++ /dev/null
@@ -1,285 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Coq.Logic.Eqdep_dec.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextProperties.SmartMap.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.Named.MapCast.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Local Open Scope nexpr_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}
- {interp_base_type_bounds : base_type_code -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type_code).
- Local Notation pick_type t v := (SmartFlatTypeMap pick_typeb (t:=t) v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type _ args_bs) (pick_type _ (interp_op_bounds t tR opc args_bs)))
- {BoundsContext : Context Name interp_base_type_bounds}
- (BoundsContextOk : ContextOk BoundsContext)
- {interp_base_type : base_type_code -> Type}
- (interp_op : forall src dst,
- op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst)
- {FullContext : Context Name (fun t => { b : interp_base_type_bounds t & interp_base_type (pick_typeb t b) }%type)}
- (FullContextOk : ContextOk FullContext)
- {Context : Context Name interp_base_type}
- (ContextOk : ContextOk Context)
- (base_type_dec : DecidableRel (@eq base_type_code))
- (Name_dec : DecidableRel (@eq Name)).
-
- Local Notation mapf_cast := (@mapf_cast _ op Name _ interp_op_bounds pick_typeb cast_op BoundsContext).
- Local Notation map_cast := (@map_cast _ op Name _ interp_op_bounds pick_typeb cast_op BoundsContext).
-
- Local Ltac handle_options_step :=
- match goal with
- | _ => progress inversion_option
- | [ H : ?x = Some _ |- context[?x] ] => rewrite H
- | [ H : ?x = None |- context[?x] ] => rewrite H
- | [ H : ?x = Some _, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : ?x = None, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : Some _ <> None \/ _ |- _ ] => clear H
- | [ H : Some ?x <> Some ?y |- _ ] => assert (x <> y) by congruence; clear H
- | [ H : None <> Some _ |- _ ] => clear H
- | [ H : Some _ <> None |- _ ] => clear H
- | [ H : ?x <> ?x \/ _ |- _ ] => destruct H; [ exfalso; apply H; reflexivity | ]
- | [ H : _ \/ None = Some _ |- _ ] => destruct H; [ | exfalso; clear -H; congruence ]
- | [ H : _ \/ Some _ = None |- _ ] => destruct H; [ | exfalso; clear -H; congruence ]
- | [ H : ?x = Some ?y, H' : ?x = Some ?y' |- _ ]
- => assert (y = y') by congruence; (subst y' || subst y)
- | _ => progress simpl @option_map
- | _ => progress unfold option_map in *
- end.
-
- Local Ltac handle_lookupb_step_extra := fail.
- Local Ltac handle_lookupb_step :=
- let do_eq_dec dec t t' :=
- first [ constr_eq t t'; fail 1
- | lazymatch goal with
- | [ H : t = t' |- _ ] => fail 1
- | [ H : t <> t' |- _ ] => fail 1
- | [ H : t = t' -> False |- _ ] => fail 1
- | _ => destruct (dec t t')
- end ] in
- let do_type_dec := do_eq_dec base_type_dec in
- match goal with
- | _ => progress unfold dec in *
- | _ => handle_options_step
- (* preprocess *)
- | [ H : context[lookupb (extend _ _ _) _] |- _ ]
- => first [ rewrite (lookupb_extend base_type_dec Name_dec) in H by assumption
- | setoid_rewrite (lookupb_extend base_type_dec Name_dec) in H; [ | assumption.. ] ]
- | [ |- context[lookupb (extend _ _ _) _] ]
- => first [ rewrite (lookupb_extend base_type_dec Name_dec) by assumption
- | setoid_rewrite (lookupb_extend base_type_dec Name_dec); [ | assumption.. ] ]
- | _ => progress subst
- (* handle multiple hypotheses *)
- | [ H : find_Name _ ?n ?N = Some ?t', H'' : context[find_Name_and_val _ _ ?t ?n ?N ?x ?default] |- _ ]
- => do_type_dec t t'
- (* clear the default value *)
- | [ H : context[find_Name_and_val ?tdec ?ndec ?t ?n (T:=?T) ?N ?V ?default] |- _ ]
- => lazymatch default with None => fail | _ => idtac end;
- rewrite find_Name_and_val_split in H
- (* generic handlers *)
- | [ H : find_Name _ ?n ?N = Some ?t', H' : ?t <> ?t', H'' : context[find_Name_and_val _ _ ?t ?n ?N ?x ?default] |- _ ]
- => erewrite find_Name_and_val_wrong_type in H'' by eassumption
- | [ H : context[find_Name _ _ (SmartFlatTypeMapInterp2 _ _ _)] |- _ ]
- => rewrite find_Name_SmartFlatTypeMapInterp2 with (base_type_code_dec:=base_type_dec) in H
- | [ H : find_Name_and_val _ _ _ _ _ _ _ = None |- _ ]
- => apply find_Name_and_val_None_iff in H
- | _ => progress handle_lookupb_step_extra
- (* destructers *)
- | [ |- context[find_Name_and_val ?tdec ?ndec ?t ?n ?N ?V ?default] ]
- => destruct (find_Name_and_val tdec ndec t n N V default) eqn:?
- | [ H : context[match find_Name_and_val ?tdec ?ndec ?t ?n ?N ?V ?default with _ => _ end] |- _ ]
- => destruct (find_Name_and_val tdec ndec t n N V default) eqn:?
- | [ H : context[match find_Name ?ndec ?n ?N with _ => _ end] |- _ ]
- => destruct (find_Name ndec n N) eqn:?
- | [ H : context[match base_type_dec ?x ?y with _ => _ end] |- _ ]
- => destruct (base_type_dec x y)
- | [ H : context[match Name_dec ?x ?y with _ => _ end] |- _ ]
- => destruct (Name_dec x y)
- end.
-
- Local Ltac handle_exists_in_goal :=
- lazymatch goal with
- | [ |- exists v, Some ?k = Some v /\ @?B v ]
- => exists k; split; [ reflexivity | ]
- | [ |- exists v, Some ?k = Some v ]
- => exists k; reflexivity
- | [ |- (exists v, None = Some v /\ @?B v) ]
- => exfalso
- | [ |- ?A /\ (exists v, Some ?k = Some v /\ @?B v) ]
- => cut (A /\ B k); [ clear; solve [ intuition eauto ] | cbv beta ]
- | [ |- ?A /\ (exists v, None = Some v /\ @?B v) ]
- => exfalso
- end.
- Local Ltac specializer_t_step :=
- match goal with
- | [ H : ?T, H' : ?T |- _ ] => clear H
- | [ H : forall x, Some _ = Some x -> _ |- _ ] => specialize (H _ eq_refl)
- | [ H : ?x = Some _, IH : forall a b c, ?x = Some _ -> _ |- _ ]
- => specialize (IH _ _ _ H)
- | [ H : ?x = Some _, IH : forall a b, ?x = Some _ -> _ |- _ ]
- => specialize (IH _ _ H)
- | [ H : ?x = Some _, IH : forall a, ?x = Some _ -> _ |- _ ]
- => specialize (IH _ H)
- | [ H : forall t n x y z, lookupb ?ctx n = _ -> _, H' : lookupb ?ctx ?n' = _ |- _ ]
- => specialize (H _ _ _ _ _ H')
- | [ H : forall t n x y, lookupb ?ctx n = _ -> _, H' : lookupb ?ctx ?n' = _ |- _ ]
- => specialize (H _ _ _ _ H')
- | [ H : forall t n v, lookupb ?ctx n = _ -> _, H' : lookupb ?ctx ?n' = _ |- _ ]
- => specialize (H _ _ _ H')
- | _ => progress specialize_by auto
- end.
-
- Local Ltac break_t_step :=
- first [ progress subst
- | progress destruct_head'_ex
- | progress destruct_head'_and
- | progress inversion_option
- | progress inversion_prod
- | progress inversion_sigma
- | progress autorewrite with push_prop_of_option in *
- | progress break_match_hyps ].
-
- Local Ltac do_specialize_IHe_step :=
- match goal with
- | [ IH : context[mapf_cast _ ?e], H' : mapf_cast ?ctx ?e = _ |- _ ]
- => let check_tac _ := (rewrite H' in IH) in
- first [ specialize (IH ctx); check_tac ()
- | specialize (fun a => IH a ctx); check_tac ()
- | specialize (fun a b => IH a b ctx); check_tac () ]
- | [ H : forall x y z w, Some _ = Some _ -> _ |- _ ]
- => first [ specialize (H _ _ _ _ eq_refl)
- | specialize (fun x y => H x y _ _ eq_refl) ]
- | [ H : forall x y z, Some _ = Some _ -> _ |- _ ]
- => first [ specialize (H _ _ _ eq_refl)
- | specialize (fun x => H x _ _ eq_refl) ]
- | [ H : forall x y, Some _ = Some _ -> _ |- _ ]
- => first [ specialize (H _ _ eq_refl)
- | specialize (fun x => H x _ eq_refl) ]
- | _ => progress specialize_by_assumption
- | [ H : forall a b, prop_of_option (Named.wff a ?e) -> _, H' : prop_of_option (Named.wff _ ?e) |- _ ]
- => specialize (fun b => H _ b H')
- | [ H : forall b v, _ -> prop_of_option (Named.wff b ?e) |- prop_of_option (Named.wff ?ctx ?e) ]
- => specialize (H ctx)
- | [ H : forall b v, _ -> _ -> prop_of_option (Named.wff b ?e) |- prop_of_option (Named.wff ?ctx ?e) ]
- => specialize (H ctx)
- | [ H : forall a b, _ -> _ -> _ -> prop_of_option (Named.wff b ?e) |- prop_of_option (Named.wff ?ctx ?e) ]
- => specialize (fun a => H a ctx)
- | [ H : forall a b, prop_of_option (Named.wff a ?e) -> _, H' : forall v, prop_of_option (Named.wff _ ?e) |- _ ]
- => specialize (fun b v => H _ b (H' v))
- end.
- Ltac do_specialize_IHe := repeat do_specialize_IHe_step.
-
- Definition make_fContext_value {t} {b : interp_flat_type interp_base_type_bounds t}
- (v : interp_flat_type interp_base_type (pick_type t b))
- : interp_flat_type
- (fun t => { b : interp_base_type_bounds t & interp_base_type (pick_typeb t b)})
- t
- := SmartFlatTypeMapUnInterp2
- (fun t b (v : interp_flat_type _ (Tbase _))
- => existT (fun b => interp_base_type (pick_typeb t b)) b v)
- v.
-
- Local Ltac t_step :=
- first [ progress intros
- | progress simpl in *
- | break_t_step
- | handle_lookupb_step
- | handle_exists_in_goal
- | apply conj
- | solve [ auto | exfalso; auto ]
- | specializer_t_step
- | progress do_specialize_IHe
- | match goal with
- | [ IH : forall v, _ -> ?T, v' : interp_flat_type _ _ |- ?T ]
- => apply (IH (make_fContext_value v')); clear IH
- end ].
- Local Ltac t := repeat t_step.
-
- Lemma find_Name_and_val_make_fContext_value_Some {T}
- {N : interp_flat_type (fun _ : base_type_code => Name) T}
- {B : interp_flat_type interp_base_type_bounds T}
- {V : interp_flat_type interp_base_type (pick_type T B)}
- {n : Name}
- {t : base_type_code}
- {v : { b : interp_base_type_bounds t & interp_base_type (pick_typeb t b)}}
- {b}
- (Hn : find_Name Name_dec n N = Some t)
- (Hf : find_Name_and_val base_type_dec Name_dec t n N (make_fContext_value V) None = Some v)
- (Hb : find_Name_and_val base_type_dec Name_dec t n N B None = Some b)
- (N' := SmartFlatTypeMapInterp2 (var'':=fun _ => Name) (f:=pick_typeb) (fun _ _ n => n) _ N)
- : b = projT1 v /\ find_Name_and_val base_type_dec Name_dec (pick_typeb t (projT1 v)) n N' V None = Some (projT2 v).
- Proof using Type.
- eapply (find_Name_and_val_SmartFlatTypeMapUnInterp2_Some_Some base_type_dec Name_dec (h:=@projT1 _ _) (i:=@projT2 _ _) (f:=pick_typeb) (g:=fun _ => existT _));
- auto.
- Qed.
-
- Local Ltac handle_lookupb_step_extra ::=
- lazymatch goal with
- | [ H : find_Name _ ?n ?N = Some ?t,
- H' : find_Name_and_val _ _ ?t ?n ?N (@make_fContext_value ?T ?B ?v) None = Some ?v',
- H'' : find_Name_and_val _ _ ?t ?n ?N ?B None = Some _
- |- _ ]
- => pose proof (find_Name_and_val_make_fContext_value_Some H H' H''); clear H'
- end.
-
- Lemma wff_mapf_cast
- {t} (e:exprf base_type_code op Name t)
- : forall
- (fValues:FullContext)
- (newValues:Context)
- (varBounds:BoundsContext)
- {b} e' (He':mapf_cast varBounds e = Some (existT _ b e'))
- (Hwf : prop_of_option (Named.wff fValues e))
- (Hctx:forall {t} n v,
- lookupb (t:=t) fValues n = Some v
- -> lookupb (t:=t) varBounds n = Some (projT1 v)
- /\ lookupb (t:=pick_typeb t (projT1 v)) newValues n = Some (projT2 v)),
- prop_of_option (Named.wff newValues e').
- Proof using BoundsContextOk ContextOk FullContextOk Name_dec base_type_dec. induction e; t. Qed.
-
- Lemma wf_map_cast
- {t} (e:expr base_type_code op Name t)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- : forall
- (fValues:FullContext)
- (newValues:Context)
- (varBounds:BoundsContext)
- {b} e' (He':map_cast varBounds e input_bounds = Some (existT _ b e'))
- (Hwf : Named.wf fValues e)
- (Hctx:forall {t} n v,
- lookupb (t:=t) fValues n = Some v
- -> lookupb (t:=t) varBounds n = Some (projT1 v)
- /\ lookupb (t:=pick_typeb t (projT1 v)) newValues n = Some (projT2 v)),
- Named.wf newValues e'.
- Proof using BoundsContextOk ContextOk FullContextOk Name_dec base_type_dec.
- unfold Named.wf, map_cast, option_map, interp; simpl; intros.
- repeat first [ progress subst
- | progress inversion_option
- | progress inversion_sigma
- | progress break_match_hyps
- | progress destruct_head' sigT
- | progress simpl in * ].
- match goal with v : _ |- _ => specialize (Hwf (make_fContext_value v)) end.
- eapply wff_mapf_cast; eauto; [].
- t.
- Qed.
-End language.
diff --git a/src/Compilers/Named/MapType.v b/src/Compilers/Named/MapType.v
deleted file mode 100644
index 15b40f7b7..000000000
--- a/src/Compilers/Named/MapType.v
+++ /dev/null
@@ -1,59 +0,0 @@
-Require Import Coq.Bool.Sumbool.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Local Open Scope nexpr_scope.
-Section language.
- Context {base_type_code1 base_type_code2 : Type}
- {op1 : flat_type base_type_code1 -> flat_type base_type_code1 -> Type}
- {op2 : flat_type base_type_code2 -> flat_type base_type_code2 -> Type}
- {Name : Type}
- (f_base : base_type_code1 -> base_type_code2)
- (f_op : forall s d,
- op1 s d
- -> option (op2 (lift_flat_type f_base s) (lift_flat_type f_base d))).
-
- Fixpoint mapf_type
- {t} (e : exprf base_type_code1 op1 Name t)
- : option (exprf base_type_code2 op2 Name (lift_flat_type f_base t))
- := match e in exprf _ _ _ t return option (exprf _ _ _ (lift_flat_type f_base t)) with
- | TT => Some TT
- | Var t x => Some (Var x)
- | Op t1 tR opc args
- => let opc := f_op _ _ opc in
- let args := @mapf_type _ args in
- match opc, args with
- | Some opc, Some args => Some (Op opc args)
- | _, _ => None
- end
- | LetIn tx n ex tC eC
- => let n := transfer_interp_flat_type f_base (fun _ (n : Name) => n) n in
- let ex := @mapf_type _ ex in
- let eC := @mapf_type _ eC in
- match ex, eC with
- | Some ex, Some eC
- => Some (LetIn _ n ex eC)
- | _, _ => None
- end
- | Pair tx ex ty ey
- => let ex := @mapf_type _ ex in
- let ey := @mapf_type _ ey in
- match ex, ey with
- | Some ex, Some ey
- => Some (Pair ex ey)
- | _, _ => None
- end
- end.
-
- Definition map_type
- {t} (e : expr base_type_code1 op1 Name t)
- : option (expr base_type_code2 op2 Name (Arrow (lift_flat_type f_base (domain t)) (lift_flat_type f_base (codomain t))))
- := let f := invert_Abs e in
- let f := mapf_type f in
- let n := Abs_name e in
- let n := transfer_interp_flat_type f_base (fun _ (n : Name) => n) n in
- option_map
- (fun f => Abs n f)
- f.
-End language.
diff --git a/src/Compilers/Named/NameUtil.v b/src/Compilers/Named/NameUtil.v
deleted file mode 100644
index 8b099ffdf..000000000
--- a/src/Compilers/Named/NameUtil.v
+++ /dev/null
@@ -1,56 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-
-Local Open Scope core_scope.
-Local Notation eta x := (fst x, snd x).
-
-Section language.
- Context {base_type_code : Type}
- {Name : Type}.
-
- Section monad.
- Context (MName : Type) (force : MName -> option Name).
- Fixpoint split_mnames
- (t : flat_type base_type_code) (ls : list MName)
- : option (interp_flat_type (fun _ => Name) t) * list MName
- := match t return option (@interp_flat_type base_type_code (fun _ => Name) t) * _ with
- | Tbase _
- => match ls with
- | cons n ls'
- => match force n with
- | Some n => (Some n, ls')
- | None => (None, ls')
- end
- | nil => (None, nil)
- end
- | Unit => (Some tt, ls)
- | Prod A B
- => let '(a, ls) := eta (@split_mnames A ls) in
- let '(b, ls) := eta (@split_mnames B ls) in
- (match a, b with
- | Some a', Some b' => Some (a', b')
- | _, _ => None
- end,
- ls)
- end.
- Definition mname_list_unique (ls : list MName) : Prop
- := forall k n,
- List.In (Some n) (firstn k (List.map force ls))
- -> List.In (Some n) (skipn k (List.map force ls))
- -> False.
- End monad.
- Definition split_onames := @split_mnames (option Name) (fun x => x).
- Definition split_names := @split_mnames Name (@Some _).
-
- Definition oname_list_unique (ls : list (option Name)) : Prop
- := mname_list_unique (option Name) (fun x => x) ls.
- Definition name_list_unique (ls : list Name) : Prop
- := oname_list_unique (List.map (@Some Name) ls).
-End language.
-
-Global Arguments split_mnames {_ _ MName} force _ _, {_ _} MName force _ _.
-Global Arguments split_onames {_ _} _ _.
-Global Arguments split_names {_ _} _ _.
-Global Arguments mname_list_unique {_ MName} force ls, {_} MName force ls.
-Global Arguments oname_list_unique {_} ls.
-Global Arguments name_list_unique {_} ls.
diff --git a/src/Compilers/Named/NameUtilProperties.v b/src/Compilers/Named/NameUtilProperties.v
deleted file mode 100644
index 944d164f2..000000000
--- a/src/Compilers/Named/NameUtilProperties.v
+++ /dev/null
@@ -1,223 +0,0 @@
-Require Import Coq.omega.Omega.
-Require Import Coq.Arith.Arith.
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-
-Local Open Scope core_scope.
-Section language.
- Context {base_type_code : Type}
- {Name : Type}.
-
- Section monad.
- Context (MName : Type) (force : MName -> option Name).
-
- Lemma split_mnames_firstn_skipn
- (t : flat_type base_type_code) (ls : list MName)
- : split_mnames force t ls
- = (fst (split_mnames force t (firstn (count_pairs t) ls)),
- skipn (count_pairs t) ls).
- Proof using Type.
- apply path_prod_uncurried; simpl.
- revert ls; induction t; split; split_prod;
- repeat first [ progress simpl in *
- | progress intros
- | rewrite <- skipn_skipn
- | reflexivity
- | progress break_innermost_match_step
- | apply (f_equal2 (@pair _ _))
- | rewrite_hyp <- !*
- | match goal with
- | [ H : forall ls, snd (split_mnames _ _ _) = _, H' : context[snd (split_mnames _ _ _)] |- _ ]
- => rewrite H in H'
- | [ H : _ |- _ ] => first [ rewrite <- firstn_skipn_add in H ]
- | [ H : forall ls', fst (split_mnames _ _ _) = _, H' : context[fst (split_mnames _ _ (skipn ?n ?ls))] |- _ ]
- => rewrite (H (skipn n ls)) in H'
- | [ H : forall ls', fst (split_mnames _ _ _) = _, H' : context[fst (split_mnames _ ?t (firstn (count_pairs ?t + ?n) ?ls))] |- _ ]
- => rewrite (H (firstn (count_pairs t + n) ls)), firstn_firstn in H' by omega
- | [ H : forall ls', fst (split_mnames _ _ _) = _, H' : context[fst (split_mnames _ ?t ?ls)] |- _ ]
- => is_var ls; rewrite (H ls) in H'
- | [ H : ?x = Some _, H' : ?x = None |- _ ] => congruence
- | [ H : ?x = Some ?a, H' : ?x = Some ?b |- _ ]
- => assert (a = b) by congruence; (subst a || subst b)
- end ].
- Qed.
-
- Lemma snd_split_mnames_skipn
- (t : flat_type base_type_code) (ls : list MName)
- : snd (split_mnames force t ls) = skipn (count_pairs t) ls.
- Proof using Type. rewrite split_mnames_firstn_skipn; reflexivity. Qed.
- Lemma fst_split_mnames_firstn
- (t : flat_type base_type_code) (ls : list MName)
- : fst (split_mnames force t ls) = fst (split_mnames force t (firstn (count_pairs t) ls)).
- Proof using Type. rewrite split_mnames_firstn_skipn at 1; reflexivity. Qed.
-
- Lemma mname_list_unique_firstn_skipn n ls
- : mname_list_unique force ls
- -> (mname_list_unique force (firstn n ls)
- /\ mname_list_unique force (skipn n ls)).
- Proof using Type.
- unfold mname_list_unique; intro H; split; intros k N;
- rewrite <- ?firstn_map, <- ?skipn_map, ?skipn_skipn, ?firstn_firstn_min, ?firstn_skipn_add;
- intros; eapply H; try eassumption.
- { apply Min.min_case_strong.
- { match goal with H : _ |- _ => rewrite skipn_firstn in H end;
- eauto using In_firstn. }
- { intro; match goal with H : _ |- _ => rewrite skipn_all in H by (rewrite firstn_length; omega * ) end.
- simpl in *; tauto. } }
- { eauto using In_skipn. }
- Qed.
- Definition mname_list_unique_firstn n ls
- : mname_list_unique force ls -> mname_list_unique force (firstn n ls)
- := fun H => proj1 (@mname_list_unique_firstn_skipn n ls H).
- Definition mname_list_unique_skipn n ls
- : mname_list_unique force ls -> mname_list_unique force (skipn n ls)
- := fun H => proj2 (@mname_list_unique_firstn_skipn n ls H).
- Lemma mname_list_unique_nil
- : mname_list_unique force nil.
- Proof using Type.
- unfold mname_list_unique; simpl; intros ??.
- rewrite firstn_nil, skipn_nil; simpl; auto.
- Qed.
- End monad.
-
- Lemma split_onames_firstn_skipn
- (t : flat_type base_type_code) (ls : list (option Name))
- : split_onames t ls
- = (fst (split_onames t (firstn (count_pairs t) ls)),
- skipn (count_pairs t) ls).
- Proof using Type. apply split_mnames_firstn_skipn. Qed.
- Lemma snd_split_onames_skipn
- (t : flat_type base_type_code) (ls : list (option Name))
- : snd (split_onames t ls) = skipn (count_pairs t) ls.
- Proof using Type. apply snd_split_mnames_skipn. Qed.
- Lemma fst_split_onames_firstn
- (t : flat_type base_type_code) (ls : list (option Name))
- : fst (split_onames t ls) = fst (split_onames t (firstn (count_pairs t) ls)).
- Proof using Type. apply fst_split_mnames_firstn. Qed.
-
- Lemma oname_list_unique_firstn n (ls : list (option Name))
- : oname_list_unique ls -> oname_list_unique (firstn n ls).
- Proof using Type. apply mname_list_unique_firstn. Qed.
- Lemma oname_list_unique_skipn n (ls : list (option Name))
- : oname_list_unique ls -> oname_list_unique (skipn n ls).
- Proof using Type. apply mname_list_unique_skipn. Qed.
- Lemma oname_list_unique_specialize (ls : list (option Name))
- : oname_list_unique ls
- -> forall k n,
- List.In (Some n) (firstn k ls)
- -> List.In (Some n) (skipn k ls)
- -> False.
- Proof using Type.
- intros H k n; specialize (H k n).
- rewrite map_id in H; assumption.
- Qed.
- Definition oname_list_unique_nil : oname_list_unique (@nil (option Name))
- := mname_list_unique_nil _ (fun x => x).
-
-
- Lemma split_names_firstn_skipn
- (t : flat_type base_type_code) (ls : list Name)
- : split_names t ls
- = (fst (split_names t (firstn (count_pairs t) ls)),
- skipn (count_pairs t) ls).
- Proof using Type. apply split_mnames_firstn_skipn. Qed.
- Lemma snd_split_names_skipn
- (t : flat_type base_type_code) (ls : list Name)
- : snd (split_names t ls) = skipn (count_pairs t) ls.
- Proof using Type. apply snd_split_mnames_skipn. Qed.
- Lemma fst_split_names_firstn
- (t : flat_type base_type_code) (ls : list Name)
- : fst (split_names t ls) = fst (split_names t (firstn (count_pairs t) ls)).
- Proof using Type. apply fst_split_mnames_firstn. Qed.
-
- Lemma name_list_unique_firstn n (ls : list Name)
- : name_list_unique ls -> name_list_unique (firstn n ls).
- Proof using Type.
- unfold name_list_unique; intro H; apply oname_list_unique_firstn with (n:=n) in H.
- rewrite <- firstn_map; assumption.
- Qed.
- Lemma name_list_unique_skipn n (ls : list Name)
- : name_list_unique ls -> name_list_unique (skipn n ls).
- Proof using Type.
- unfold name_list_unique; intro H; apply oname_list_unique_skipn with (n:=n) in H.
- rewrite <- skipn_map; assumption.
- Qed.
- Lemma name_list_unique_specialize (ls : list Name)
- : name_list_unique ls
- -> forall k n,
- List.In n (firstn k ls)
- -> List.In n (skipn k ls)
- -> False.
- Proof using Type.
- intros H k n; specialize (H k n).
- rewrite !map_id, !firstn_map, !skipn_map in H.
- eauto using in_map.
- Qed.
- Definition name_list_unique_nil : name_list_unique nil
- := mname_list_unique_nil _ (@Some Name).
-
- Lemma length_fst_split_names_Some_iff
- (t : flat_type base_type_code) (ls : list Name)
- : fst (split_names t ls) <> None <-> List.length ls >= count_pairs t.
- Proof using Type.
- revert ls; induction t; intros ls;
- try solve [ destruct ls; simpl; intuition (omega || congruence) ].
- repeat first [ progress simpl in *
- | progress break_innermost_match_step
- | progress specialize_by congruence
- | progress specialize_by omega
- | rewrite snd_split_names_skipn in *
- | progress intros
- | congruence
- | omega
- | match goal with
- | [ H : forall ls, fst (split_names ?t ls) <> None <-> _, H' : fst (split_names ?t ?ls') = _ |- _ ]
- => specialize (H ls'); rewrite H' in H
- | [ H : _ |- _ ] => rewrite skipn_length in H
- end
- | progress split_iff
- | match goal with
- | [ |- iff _ _ ] => split
- end ].
- Qed.
-
- Lemma length_fst_split_names_None_iff
- (t : flat_type base_type_code) (ls : list Name)
- : fst (split_names t ls) = None <-> List.length ls < count_pairs t.
- Proof using Type.
- destruct (length_fst_split_names_Some_iff t ls).
- destruct (le_lt_dec (count_pairs t) (List.length ls)); specialize_by omega;
- destruct (fst (split_names t ls)); split; try intuition (congruence || omega).
- Qed.
-
- Lemma split_onames_split_names (t : flat_type base_type_code) (ls : list Name)
- : split_onames t (List.map Some ls)
- = (fst (split_names t ls), List.map Some (snd (split_names t ls))).
- Proof using Type.
- revert ls; induction t;
- try solve [ destruct ls; reflexivity ].
- repeat first [ progress simpl in *
- | progress intros
- | rewrite snd_split_names_skipn
- | rewrite snd_split_onames_skipn
- | rewrite skipn_map
- | match goal with
- | [ H : forall ls, split_onames ?t (map Some ls) = _ |- context[split_onames ?t (map Some ?ls')] ]
- => specialize (H ls')
- end
- | break_innermost_match_step
- | progress inversion_prod
- | congruence ].
- Qed.
-End language.
diff --git a/src/Compilers/Named/PositiveContext.v b/src/Compilers/Named/PositiveContext.v
deleted file mode 100644
index 7b57098de..000000000
--- a/src/Compilers/Named/PositiveContext.v
+++ /dev/null
@@ -1,8 +0,0 @@
-Require Import Coq.FSets.FMapPositive.
-Require Import Crypto.Compilers.Named.FMapContext.
-
-Module PositiveContext := FMapContext PositiveMap.
-Notation PositiveContext := PositiveContext.FMapContext.
-Notation PositiveContext_nd := PositiveContext.FMapContext_nd.
-Definition PositiveContextOk := PositiveContext.FMapContextOk (fun x y pf => pf).
-Global Existing Instance PositiveContextOk.
diff --git a/src/Compilers/Named/PositiveContext/Defaults.v b/src/Compilers/Named/PositiveContext/Defaults.v
deleted file mode 100644
index 066de61cb..000000000
--- a/src/Compilers/Named/PositiveContext/Defaults.v
+++ /dev/null
@@ -1,29 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Coq.Numbers.BinNums.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.CountLets.
-Require Import Crypto.Compilers.CountLets.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Definition default_names_forf {var} (dummy : forall t, var t) {t} (e : exprf base_type_code op (var:=var) t) : list positive
- := map BinPos.Pos.of_succ_nat (seq 0 (count_let_bindersf dummy e)).
- Definition default_names_for {var} (dummy : forall t, var t) {t} (e : expr base_type_code op (var:=var) t) : list positive
- := map BinPos.Pos.of_succ_nat (seq 0 (count_binders dummy e)).
- Definition DefaultNamesFor {t} (e : Expr base_type_code op t) : list positive
- := map BinPos.Pos.of_succ_nat (seq 0 (CountBinders e)).
-End language.
-
-Module Named.
- Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Definition default_names_forf {Name} {t} (e : Named.exprf base_type_code op Name t) : list positive
- := map BinPos.Pos.of_succ_nat (seq 0 (Named.CountLets.count_let_bindersf e)).
- Definition default_names_for {Name} {t} (e : Named.expr base_type_code op Name t) : list positive
- := map BinPos.Pos.of_succ_nat (seq 0 (Named.CountLets.count_binders e)).
- End language.
-End Named.
diff --git a/src/Compilers/Named/PositiveContext/DefaultsProperties.v b/src/Compilers/Named/PositiveContext/DefaultsProperties.v
deleted file mode 100644
index 2b46de136..000000000
--- a/src/Compilers/Named/PositiveContext/DefaultsProperties.v
+++ /dev/null
@@ -1,38 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Coq.Numbers.BinNums.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Lemma name_list_unique_map_pos_of_succ_nat_seq a b
- : name_list_unique (map BinPos.Pos.of_succ_nat (seq a b)).
- Proof using Type.
- unfold name_list_unique, oname_list_unique, mname_list_unique.
- intros k n.
- rewrite !map_map, firstn_map, skipn_map, firstn_seq, skipn_seq.
- rewrite !in_map_iff; intros; destruct_head' ex; destruct_head' and; inversion_option; subst.
- match goal with H : _ |- _ => apply Pnat.SuccNat2Pos.inj in H end; subst.
- rewrite in_seq in *.
- omega *.
- Qed.
-
- Lemma name_list_unique_default_names_forf {var dummy t e}
- : name_list_unique (@default_names_forf base_type_code op var dummy t e).
- Proof using Type. apply name_list_unique_map_pos_of_succ_nat_seq. Qed.
- Lemma name_list_unique_default_names_for {var dummy t e}
- : name_list_unique (@default_names_for base_type_code op var dummy t e).
- Proof using Type. apply name_list_unique_map_pos_of_succ_nat_seq. Qed.
- Lemma name_list_unique_DefaultNamesFor {t e}
- : name_list_unique (@DefaultNamesFor base_type_code op t e).
- Proof using Type. apply name_list_unique_map_pos_of_succ_nat_seq. Qed.
-End language.
diff --git a/src/Compilers/Named/RegisterAssign.v b/src/Compilers/Named/RegisterAssign.v
deleted file mode 100644
index 0b6c9b7b9..000000000
--- a/src/Compilers/Named/RegisterAssign.v
+++ /dev/null
@@ -1,89 +0,0 @@
-(** * Reassign registers *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.NameUtil.
-Require Import Crypto.Util.Decidable.
-
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope ctype_scope.
-Delimit Scope nexpr_scope with nexpr.
-Section language.
- Context (base_type_code : Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
-
- Section internal.
- Context (InName OutName : Type)
- {InContext : Context InName (fun _ : base_type_code => OutName)}
- {ReverseContext : Context OutName (fun _ : base_type_code => InName)}
- (InName_beq : InName -> InName -> bool).
-
- Definition register_reassignf_step
- (register_reassignf : forall (ctxi : InContext) (ctxr : ReverseContext)
- {t} (e : exprf InName t) (new_names : list (option OutName)),
- option (exprf OutName t))
- (ctxi : InContext) (ctxr : ReverseContext)
- {t} (e : exprf InName t) (new_names : list (option OutName))
- : option (exprf OutName t)
- := match e in Named.exprf _ _ _ t return option (exprf _ t) with
- | TT => Some TT
- | Var t' name => match lookupb t' ctxi name with
- | Some new_name
- => match lookupb t' ctxr new_name with
- | Some name'
- => if InName_beq name name'
- then Some (Var new_name)
- else None
- | None => None
- end
- | None => None
- end
- | Op _ _ op args
- => option_map (Op op) (@register_reassignf ctxi ctxr _ args new_names)
- | LetIn tx n ex _ eC
- => let '(n', new_names') := eta (split_onames tx new_names) in
- match n', @register_reassignf ctxi ctxr _ ex nil with
- | Some n', Some x
- => let ctxi := extend ctxi n n' in
- let ctxr := extend ctxr n' n in
- option_map (LetIn tx n' x) (@register_reassignf ctxi ctxr _ eC new_names')
- | _, _
- => let ctxi := remove ctxi n in
- @register_reassignf ctxi ctxr _ eC new_names'
- end
- | Pair _ ex _ ey
- => match @register_reassignf ctxi ctxr _ ex nil, @register_reassignf ctxi ctxr _ ey nil with
- | Some x, Some y
- => Some (Pair x y)
- | _, _ => None
- end
- end.
- Fixpoint register_reassignf ctxi ctxr {t} e new_names
- := @register_reassignf_step (@register_reassignf) ctxi ctxr t e new_names.
-
- Definition register_reassign (ctxi : InContext) (ctxr : ReverseContext)
- {t} (e : expr InName t) (new_names : list (option OutName))
- : option (expr OutName t)
- := match e in Named.expr _ _ _ t return option (expr _ t) with
- | Abs src _ n f
- => let '(n', new_names') := eta (split_onames src new_names) in
- match n' with
- | Some n'
- => let ctxi := extend (t:=src) ctxi n n' in
- let ctxr := extend (t:=src) ctxr n' n in
- option_map (Abs n') (register_reassignf ctxi ctxr f new_names')
- | None => None
- end
- end.
- End internal.
-End language.
-
-Global Arguments register_reassign {_ _ _ _ _ _} _ ctxi ctxr {t} e _.
-Global Arguments register_reassignf {_ _ _ _ _ _} _ ctxi ctxr {t} e _.
diff --git a/src/Compilers/Named/RegisterAssignInterp.v b/src/Compilers/Named/RegisterAssignInterp.v
deleted file mode 100644
index be0e9cace..000000000
--- a/src/Compilers/Named/RegisterAssignInterp.v
+++ /dev/null
@@ -1,239 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.RegisterAssign.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.HProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Local Open Scope nexpr_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {InName OutName : Type}
- {InContext : Context InName (fun _ : base_type_code => OutName)}
- {ReverseContext : Context OutName (fun _ : base_type_code => InName)}
- {InContextOk : ContextOk InContext}
- {ReverseContextOk : ContextOk ReverseContext}
- {InName_beq : InName -> InName -> bool}
- {InterpInContext : Context InName interp_base_type}
- {InterpOutContext : Context OutName interp_base_type}
- {InterpInContextOk : ContextOk InterpInContext}
- {InterpOutContextOk : ContextOk InterpOutContext}
- {base_type_code_dec : DecidableRel (@eq base_type_code)}
- {OutName_dec : DecidableRel (@eq OutName)}
- (InName_bl : forall n1 n2, InName_beq n1 n2 = true -> n1 = n2)
- (InName_lb : forall n1 n2, n1 = n2 -> InName_beq n1 n2 = true).
-
- Local Instance InName_dec : DecidableRel (@eq InName)
- := dec_rel_of_bool_dec_rel InName_beq InName_bl InName_lb.
-
- Local Notation register_reassignf := (@register_reassignf base_type_code op InName OutName InContext ReverseContext InName_beq).
- Local Notation register_reassign := (@register_reassign base_type_code op InName OutName InContext ReverseContext InName_beq).
-
- Local Ltac t_find T :=
- induction T;
- repeat first [ progress subst
- | progress inversion_option
- | progress simpl in *
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | progress destruct_head'_and
- | repeat apply conj; congruence
- | progress cbv [cast_if_eq] in *
- | progress eliminate_hprop_eq
- | solve [ eauto ]
- | match goal with
- | [ |- context[@find_Name_and_val ?base_type_code ?Name ?base_type_code_dec ?Name_dec ?var' ?t ?n ?T ?N ?V ?default] ]
- => lazymatch default with
- | None => fail
- | _ => rewrite (@find_Name_and_val_split base_type_code base_type_code_dec Name Name_dec var' t n T N V default)
- end
- | [ H : context[@find_Name_and_val ?base_type_code ?Name ?base_type_code_dec ?Name_dec ?var' ?t ?n ?T ?N ?V ?default] |- _ ]
- => lazymatch default with
- | None => fail
- | _ => rewrite (@find_Name_and_val_split base_type_code base_type_code_dec Name Name_dec var' t n T N V default) in H
- end
- | [ H : forall a b, find_Name_and_val _ _ _ _ _ _ _ = Some _ -> _ |- find_Name_and_val _ _ _ _ _ _ _ = Some _ -> _ ]
- => let H' := fresh in intro H'; pose proof (H _ _ H')
- | [ H : forall a b, find_Name_and_val _ _ _ _ _ _ _ = Some _ -> _, H' : find_Name_and_val _ _ _ _ _ _ _ = Some _ |- _ ]
- => specialize (H _ _ H')
- | [ H : ?x = Some ?a, H' : ?y = Some ?b |- _ ]
- => assert (a = b) by congruence; progress subst
- end ].
-
-
- Lemma find_Name_and_val_OutToIn t T NI NO n_in n_out
- : find_Name_and_val base_type_code_dec OutName_dec (T:=T) t n_out NO NI None = Some n_in
- -> find_Name InName_dec n_in NI <> None.
- Proof using Type. t_find T. Qed.
- Lemma find_Name_and_val_InToOut t T NI NO n_in n_out
- : find_Name_and_val base_type_code_dec InName_dec (T:=T) t n_in NI NO None = Some n_out
- -> find_Name OutName_dec n_out NO <> None.
- Proof using Type. t_find T. Qed.
-
- Lemma lookupb_extend_helper {ctxi : InContext} {ctxr : ReverseContext} {t T NI NO n_in n_out}
- (H0 : lookupb t (extend (t:=T) ctxi NI NO) n_in = Some n_out)
- (H1 : lookupb t (extend (t:=T) ctxr NO NI) n_out = Some n_in)
- : ((lookupb t ctxi n_in = Some n_out /\ lookupb t ctxr n_out = Some n_in)
- /\ (find_Name _ n_in NI = None /\ find_Name _ n_out NO = None))
- \/ (find_Name_and_val _ _ t n_in NI NO None = Some n_out
- /\ find_Name_and_val _ _ t n_out NO NI None = Some n_in).
- Proof using InContextOk ReverseContextOk.
- rewrite (@lookupb_extend base_type_code _ InName _) in H0 by assumption.
- rewrite (@lookupb_extend base_type_code _ OutName _) in H1 by assumption.
- repeat first [ progress subst
- | match goal with
- | [ H : find_Name_and_val _ _ _ _ _ _ ?x = _ |- _ ]
- => lazymatch x with
- | None => fail
- | _ => rewrite find_Name_and_val_split in H
- end
- end
- | break_innermost_match_hyps_step
- | congruence
- | solve [ auto
- | exfalso; eapply find_Name_and_val_OutToIn; eassumption
- | exfalso; eapply find_Name_and_val_InToOut; eassumption ] ].
- Qed.
-
- Lemma find_Name_and_val_same_val {var' t T n_in n_out NI NO V v1 v2}
- (H0 : find_Name_and_val base_type_code_dec InName_dec t (T:=T) (var':=var') n_in NI V None = Some v1)
- (H1 : find_Name_and_val base_type_code_dec OutName_dec t (T:=T) n_out NO V None = Some v2)
- (H2 : find_Name_and_val base_type_code_dec InName_dec t n_in NI NO None = Some n_out)
- (H3 : find_Name_and_val base_type_code_dec OutName_dec t n_out NO NI None = Some n_in)
- : v1 = v2.
- Proof using Type.
- t_find T;
- match goal with
- | [ H : _ = None |- _ ]
- => first [ eapply find_Name_and_val_OutToIn in H; [ | eassumption ]
- | eapply find_Name_and_val_InToOut in H; [ | eassumption ] ];
- destruct H
- end.
- Qed.
-
- Lemma find_Name_and_val_same_oval {var' t T n_in n_out NI NO V}
- (H2 : find_Name_and_val base_type_code_dec InName_dec t n_in NI NO None = Some n_out)
- (H3 : find_Name_and_val base_type_code_dec OutName_dec t n_out NO NI None = Some n_in)
- : find_Name_and_val base_type_code_dec InName_dec t (T:=T) (var':=var') n_in NI V None
- = find_Name_and_val base_type_code_dec OutName_dec t (T:=T) n_out NO V None.
- Proof using Type.
- t_find T;
- match goal with
- | [ H : _ = None |- _ ]
- => first [ eapply find_Name_and_val_OutToIn in H; [ | eassumption ]
- | eapply find_Name_and_val_InToOut in H; [ | eassumption ] ];
- destruct H
- end.
- Qed.
-
- Local Ltac t :=
- repeat first [ reflexivity
- | assumption
- | progress subst
- | progress inversion_option
- | progress simpl in *
- | progress intros *
- | progress intros
- | progress destruct_head'_and
- | progress destruct_head'_or
- | match goal with
- | [ H : InName_beq _ _ = true |- _ ] => apply InName_bl in H
- | [ H : _ = Some ?v1, H' : _ = Some ?v2 |- _ ]
- => is_var v1; is_var v2;
- assert (v1 = v2) by eauto; progress subst
- | [ H : lookupb (extend _ _ _) _ = Some _, H' : lookupb (extend _ _ _) _ = Some _ |- _ ]
- => pose proof (lookupb_extend_helper H H'); clear H H'
- | [ H : find_Name_and_val _ _ _ _ _ _ ?x = _ |- _ ]
- => lazymatch x with
- | None => fail
- | _ => rewrite find_Name_and_val_split in H
- end
- | [ |- context[@find_Name_and_val ?base_type_code ?Name ?base_type_code_dec ?Name_dec ?var' ?t ?n ?T ?N ?V ?default] ]
- => lazymatch default with
- | None => fail
- | _ => rewrite (@find_Name_and_val_split base_type_code base_type_code_dec Name Name_dec var' t n T N V default)
- end
- | [ H : _ |- _ ]
- => first [ rewrite (@lookupb_remove base_type_code InName _) in H
- | rewrite (@lookupb_remove base_type_code OutName _) in H
- | rewrite (@lookupb_extend base_type_code _ InName _) in H
- | rewrite (@lookupb_extend base_type_code _ OutName _) in H
- | rewrite find_Name_and_val_different in H by assumption ]
- end
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | progress cbv [option_map LetIn.Let_In] in *
- | solve [ eauto using find_Name_and_val_same_val ]
- | match goal with
- | [ H : _ |- ?v1 = ?v2 ]
- => is_var v1; is_var v2;
- eapply H; [ | eassumption | eassumption | eassumption ]; clear H
- end ].
-
- Lemma interpf_register_reassignf
- ctxi ctxr t e new_names
- (ctxi_interp : InterpInContext)
- (ctxr_interp : InterpOutContext)
- eout
- v1 v2
- : (forall t (n_in : InName) (n_out : OutName) v1 v2,
- lookupb t ctxi n_in = Some n_out
- -> lookupb t ctxr n_out = Some n_in
- -> lookupb t ctxi_interp n_in = Some v1
- -> lookupb t ctxr_interp n_out = Some v2
- -> v1 = v2)
- -> @register_reassignf ctxi ctxr t e new_names = Some eout
- -> interpf (interp_op:=interp_op) (ctx:=ctxr_interp) eout = Some v1
- -> interpf (interp_op:=interp_op) (ctx:=ctxi_interp) e = Some v2
- -> v1 = v2.
- Proof using InContextOk InName_bl InName_lb InterpInContextOk InterpOutContextOk OutName_dec ReverseContextOk base_type_code_dec.
- revert ctxi ctxr new_names ctxi_interp ctxr_interp eout v1 v2.
- induction e; t.
- Qed.
-
- Lemma interp_register_reassign
- ctxi ctxr t e new_names
- (ctxi_interp : InterpInContext)
- (ctxr_interp : InterpOutContext)
- eout
- v1 v2 x
- : (forall t (n_in : InName) (n_out : OutName) v1 v2,
- lookupb t ctxi n_in = Some n_out
- -> lookupb t ctxr n_out = Some n_in
- -> lookupb t ctxi_interp n_in = Some v1
- -> lookupb t ctxr_interp n_out = Some v2
- -> v1 = v2)
- -> @register_reassign ctxi ctxr t e new_names = Some eout
- -> interp (interp_op:=interp_op) (ctx:=ctxr_interp) eout x = Some v1
- -> interp (interp_op:=interp_op) (ctx:=ctxi_interp) e x = Some v2
- -> v1 = v2.
- Proof using InContextOk InName_bl InName_lb InterpInContextOk InterpOutContextOk OutName_dec ReverseContextOk base_type_code_dec.
- destruct e; unfold interp, register_reassign, option_map in *.
- break_innermost_match; try congruence.
- intros; inversion_option; subst; simpl in *.
- eapply interpf_register_reassignf; [ | eassumption.. ].
- t.
- Qed.
-
- Lemma Interp_register_reassign
- t e new_names
- eout
- v1 v2 x
- : @register_reassign empty empty t e new_names = Some eout
- -> Interp (Context:=InterpOutContext) (interp_op:=interp_op) eout x = Some v1
- -> Interp (Context:=InterpInContext) (interp_op:=interp_op) e x = Some v2
- -> v1 = v2.
- Proof using InContextOk InName_bl InName_lb InterpInContextOk InterpOutContextOk OutName_dec ReverseContextOk base_type_code_dec.
- apply interp_register_reassign; intros *.
- rewrite !lookupb_empty; congruence.
- Qed.
-End language.
diff --git a/src/Compilers/Named/SmartMap.v b/src/Compilers/Named/SmartMap.v
deleted file mode 100644
index 76b2eec58..000000000
--- a/src/Compilers/Named/SmartMap.v
+++ /dev/null
@@ -1,20 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Module Export Named.
- Section language.
- Context {base_type_code : Type}
- {interp_base_type : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {Name : Type}.
-
- (** [SmartVar] is like [Var], except that it inserts
- pair-projections and [Pair] as necessary to handle
- [flat_type], and not just [base_type_code] *)
- Definition SmartVar {t} : interp_flat_type (fun _ => Name) t -> @exprf base_type_code op Name t
- := smart_interp_flat_map (f:=fun _ => Name) (g:=@exprf _ _ _) (fun t => Var) TT (fun A B x y => Pair x y).
- End language.
-End Named.
-
-Global Arguments SmartVar {_ _ _ _} _.
diff --git a/src/Compilers/Named/Syntax.v b/src/Compilers/Named/Syntax.v
deleted file mode 100644
index 4cc4ccbf2..000000000
--- a/src/Compilers/Named/Syntax.v
+++ /dev/null
@@ -1,92 +0,0 @@
-(** * Named Representation of Gallina *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-
-Local Open Scope ctype_scope.
-Local Open Scope expr_scope.
-Delimit Scope nexpr_scope with nexpr.
-Module Export Named.
- Section language.
- Context (base_type_code : Type)
- (interp_base_type : base_type_code -> Type)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (Name : Type).
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type_gen := interp_flat_type.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
-
- Inductive exprf : flat_type -> Type :=
- | TT : exprf Unit
- | Var {t : base_type_code} : Name -> exprf (Tbase t)
- | Op {t1 tR} : op t1 tR -> exprf t1 -> exprf tR
- | LetIn : forall {tx}, interp_flat_type_gen (fun _ => Name) tx -> exprf tx -> forall {tC}, exprf tC -> exprf tC
- | Pair : forall {t1}, exprf t1 -> forall {t2}, exprf t2 -> exprf (Prod t1 t2).
- Bind Scope nexpr_scope with exprf.
- Inductive expr : type -> Type :=
- | Abs {src dst} : interp_flat_type_gen (fun _ => Name) src -> exprf dst -> expr (Arrow src dst).
- Bind Scope nexpr_scope with expr.
- Definition Abs_name {t} (e : expr t) : interp_flat_type_gen (fun _ => Name) (domain t)
- := match e with Abs _ _ n f => n end.
- Definition invert_Abs {t} (e : expr t) : exprf (codomain t)
- := match e with Abs _ _ n f => f end.
-
- Section with_val_context.
- Context (Context : Context Name interp_base_type)
- (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst).
-
- Fixpoint interpf
- {t} (ctx : Context) (e : exprf t)
- : option (interp_flat_type t)
- := match e in exprf t return option (interp_flat_type t) with
- | Var t' x => lookupb t' ctx x
- | TT => Some tt
- | Pair _ ex _ ey
- => match @interpf _ ctx ex, @interpf _ ctx ey with
- | Some xv, Some yv => Some (xv, yv)%core
- | None, _ | _, None => None
- end
- | Op _ _ opc args
- => option_map (@interp_op _ _ opc) (@interpf _ ctx args)
- | LetIn _ n ex _ eC
- => match @interpf _ ctx ex with
- | Some xv
- => dlet x := xv in
- @interpf _ (extend ctx n x) eC
- | None => None
- end
- end.
-
- Definition interp {t} (ctx : Context) (e : expr t)
- : interp_flat_type (domain t) -> option (interp_flat_type (codomain t))
- := fun v => @interpf _ (extend ctx (Abs_name e) v) (invert_Abs e).
-
- Definition Interp {t} (e : expr t)
- : interp_flat_type (domain t) -> option (interp_flat_type (codomain t))
- := interp empty e.
- End with_val_context.
- End language.
-End Named.
-
-Global Arguments TT {_ _ _}.
-Global Arguments Var {_ _ _ _} _.
-Global Arguments Op {_ _ _ _ _} _ _.
-Global Arguments LetIn {_ _ _} _ _ _ {_} _.
-Global Arguments Pair {_ _ _ _} _ {_} _.
-Global Arguments Abs {_ _ _ _ _} _ _.
-Global Arguments invert_Abs {_ _ _ _} _.
-Global Arguments Abs_name {_ _ _ _} _.
-Global Arguments interpf {_ _ _ _ _ interp_op t ctx} _.
-Global Arguments interp {_ _ _ _ _ interp_op t ctx} _ _.
-Global Arguments Interp {_ _ _ _ _ interp_op t} _ _.
-
-Notation "'nlet' x := A 'in' b" := (LetIn _ x A%nexpr b%nexpr) : nexpr_scope.
-Notation "'nlet' x : tx := A 'in' b" := (LetIn tx%ctype x%core A%nexpr b%nexpr) : nexpr_scope.
-Notation "'λn' x .. y , t" := (Abs x .. (Abs y t%nexpr) .. ) : nexpr_scope.
-Notation "( x , y , .. , z )" := (Pair .. (Pair x%nexpr y%nexpr) .. z%nexpr) : nexpr_scope.
-Notation "()" := TT : nexpr_scope.
diff --git a/src/Compilers/Named/WeakListContext.v b/src/Compilers/Named/WeakListContext.v
deleted file mode 100644
index f1c4a46e3..000000000
--- a/src/Compilers/Named/WeakListContext.v
+++ /dev/null
@@ -1,10 +0,0 @@
-(** * Context made from an associative list *)
-Require Import Coq.FSets.FMapWeakList.
-Require Import Coq.FSets.FMapInterface.
-Require Import Crypto.Compilers.Named.FMapContext.
-
-Module WeakListContext (E : DecidableType).
- Module WL := FMapWeakList.Make E.
- Module Context := FMapContext WL.
- Include Context.
-End WeakListContext.
diff --git a/src/Compilers/Named/Wf.v b/src/Compilers/Named/Wf.v
deleted file mode 100644
index 79f620edb..000000000
--- a/src/Compilers/Named/Wf.v
+++ /dev/null
@@ -1,56 +0,0 @@
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Util.PointedProp.
-
-Module Export Named.
- Section language.
- Context {base_type_code Name : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Section with_var.
- Context {var}
- (Context : @Context base_type_code Name var).
-
- Section gen.
- Context (quantify : forall tx, (interp_flat_type var tx -> option pointed_Prop) -> option pointed_Prop).
-
- Fixpoint wff_gen (ctx : Context) {t} (e : @exprf base_type_code op Name t) : option pointed_Prop
- := match e with
- | TT => Some trivial
- | Var t n => match lookupb t ctx n return bool with
- | Some _ => true
- | None => false
- end
- | Op _ _ op args => @wff_gen ctx _ args
- | LetIn _ n ex _ eC => @wff_gen ctx _ ex
- /\ quantify _ (fun v => @wff_gen (extend ctx n v) _ eC)
- | Pair _ ex _ ey => @wff_gen ctx _ ex /\ @wff_gen ctx _ ey
- end%option_pointed_prop.
- End gen.
-
- Definition wff := wff_gen (fun tx f => inject (forall v, prop_of_option (f v))).
- Definition wf (ctx : Context) {t} (e : @expr base_type_code op Name t) : Prop
- := forall v, prop_of_option (@wff (extend ctx (Abs_name e) v) _ (invert_Abs e)).
- End with_var.
-
- Section unit.
- Context (Context : @Context base_type_code Name (fun _ => unit)).
-
- Local Notation TT := (SmartValf _ (fun _ => tt) _).
- Definition wff_unit := wff_gen Context (fun tx f => f TT).
- Definition wf_unit ctx {t} (e : @expr base_type_code op Name t) : option pointed_Prop
- := @wff_unit (extend ctx (Abs_name e) TT) _ (invert_Abs e).
- End unit.
-
- Definition Wf (Context : forall var, @Context base_type_code Name var) {t} (e : @expr base_type_code op Name t)
- := forall var, wf (Context var) empty e.
- End language.
-End Named.
-
-Global Arguments wff_gen {_ _ _ _ _} quantify ctx {t} _.
-Global Arguments wff_unit {_ _ _ _} ctx {t} _.
-Global Arguments wf_unit {_ _ _ _} ctx {t} _.
-Global Arguments wff {_ _ _ _ _} ctx {t} _.
-Global Arguments wf {_ _ _ _ _} ctx {t} _.
-Global Arguments Wf {_ _ _} Context {t} _.
diff --git a/src/Compilers/Named/WfFromUnit.v b/src/Compilers/Named/WfFromUnit.v
deleted file mode 100644
index e00a79274..000000000
--- a/src/Compilers/Named/WfFromUnit.v
+++ /dev/null
@@ -1,82 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextProperties.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Option.
-
-Section language.
- Context {base_type_code Name : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {base_type_code_dec : DecidableRel (@eq base_type_code)}
- {Name_dec : DecidableRel (@eq Name)}.
-
- Section with_var.
- Context {var}
- (uContext : @Context base_type_code Name (fun _ => unit))
- (uContextOk : ContextOk uContext)
- (vContext : @Context base_type_code Name var)
- (vContextOk : ContextOk vContext).
-
- Local Ltac t :=
- repeat first [ progress simpl in *
- | progress intros
- | progress subst
- | progress inversion_option
- | congruence
- | tauto
- | solve [ eauto ]
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | progress destruct_head'_and
- | progress autorewrite with push_prop_of_option push_eq_Some_trivial in *
- | rewrite !(@lookupb_extend base_type_code _ Name _) by auto
- | rewrite (@find_Name_and_val_split base_type_code _ Name _) with (default := lookupb _ _)
- | match goal with
- | [ H : ?x = Some _ |- _ ]
- => assert (x = None) by (split_iff; eauto); congruence
- | [ |- _ /\ _ ] => split
- | [ H : _ |- prop_of_option _ ] => eapply H; [ | eassumption ]; clear H
- | [ |- context[find_Name_and_val ?tdec ?ndec ?b _ _ _ _ = None] ]
- => rewrite <- !(@find_Name_and_val_None_iff _ tdec _ ndec _ b)
- end ].
-
- Lemma wff_from_unit
- (vctx : vContext)
- (uctx : uContext)
- (Hctx : forall t n, lookupb t vctx n = None <-> lookupb t uctx n = None)
- {t} (e : @exprf base_type_code op Name t)
- : wff_unit uctx e = Some trivial -> prop_of_option (wff vctx e).
- Proof using Name_dec base_type_code_dec uContextOk vContextOk.
- revert uctx vctx Hctx; induction e; t.
- Qed.
-
- Lemma wf_from_unit
- (vctx : vContext)
- (uctx : uContext)
- (Hctx : forall t n, lookupb t vctx n = None <-> lookupb t uctx n = None)
- {t} (e : @expr base_type_code op Name t)
- : wf_unit uctx e = Some trivial -> wf vctx e.
- Proof using Name_dec base_type_code_dec uContextOk vContextOk.
- intros H ?; revert H; apply wff_from_unit; t.
- Qed.
- End with_var.
-
- Lemma Wf_from_unit
- (Context : forall var, @Context base_type_code Name var)
- (ContextOk : forall var, ContextOk (Context var))
- {t} (e : @expr base_type_code op Name t)
- : wf_unit (Context:=Context _) empty e = Some trivial -> Wf Context e.
- Proof using Name_dec base_type_code_dec.
- intros H ?; revert H; apply wf_from_unit; auto; intros.
- rewrite !lookupb_empty by auto; tauto.
- Qed.
-End language.
-
-Hint Resolve wf_from_unit Wf_from_unit wff_from_unit : wf.
diff --git a/src/Compilers/Named/WfInterp.v b/src/Compilers/Named/WfInterp.v
deleted file mode 100644
index e9cd8737c..000000000
--- a/src/Compilers/Named/WfInterp.v
+++ /dev/null
@@ -1,41 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Section language.
- Context {base_type_code Name interp_base_type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}
- {Context : @Context base_type_code Name interp_base_type}.
-
- Lemma wff_interpf_not_None {ctx : Context} {t} {e : @exprf base_type_code op Name t}
- (Hwf : prop_of_option (wff ctx e))
- : @interpf base_type_code interp_base_type op Name Context interp_op t ctx e <> None.
- Proof using Type.
- revert dependent ctx; induction e;
- repeat first [ progress intros
- | progress simpl in *
- | progress unfold option_map, LetIn.Let_In in *
- | congruence
- | progress specialize_by_assumption
- | progress destruct_head' and
- | progress break_innermost_match_step
- | progress break_match_hyps
- | progress autorewrite with push_prop_of_option in *
- | progress specialize_by auto
- | solve [ intuition eauto ] ].
- Qed.
-
- Lemma wf_interp_not_None {ctx : Context} {t} {e : @expr base_type_code op Name t}
- (Hwf : wf ctx e)
- v
- : @interp base_type_code interp_base_type op Name Context interp_op t ctx e v <> None.
- Proof using Type.
- destruct e; unfold interp, wf in *; apply wff_interpf_not_None; auto.
- Qed.
-End language.
diff --git a/src/Compilers/Reify.v b/src/Compilers/Reify.v
deleted file mode 100644
index 4454f2af2..000000000
--- a/src/Compilers/Reify.v
+++ /dev/null
@@ -1,591 +0,0 @@
-(** * Exact reification of PHOAS Representation of Gallina *)
-(** The reification procedure goes through [InputSyntax], which allows
- judgmental equality of the denotation of the reified term. *)
-Require Import Coq.Strings.String.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.InputSyntax.
-Require Crypto.Compilers.Tuple.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.Tactics.DebugPrint.
-Require Import Crypto.Util.SideConditions.CorePackages.
-(*Require Import Crypto.Util.Tactics.PrintContext.*)
-Require Import Crypto.Util.Tactics.Head.
-Require Import Crypto.Util.Tactics.SubstLet.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.Tactics.TransparentAssert.
-
-(** Change this with [Ltac reify_debug_level ::= constr:(1).] to get
- more debugging. *)
-Ltac reify_debug_level := constr:(0).
-Module Import ReifyDebugNotations.
- Export Compilers.Syntax.Notations.
- Export Util.LetIn.
- Open Scope string_scope.
-End ReifyDebugNotations.
-
-Tactic Notation "debug_enter_reify_idtac" ident(funname) uconstr(e)
- := idtac funname ": Attempting to reify:" e.
-Tactic Notation "debug_leave_reify_success_idtac" ident(funname) uconstr(e) uconstr(ret)
- := idtac funname ": Success in reifying:" e "as" ret.
-Tactic Notation "debug_leave_reify_failure_idtac" ident(funname) uconstr(e)
- := idtac funname ": Failure in reifying:" e.
-Ltac check_debug_level_then_Set _ :=
- let lvl := reify_debug_level in
- lazymatch type of lvl with
- | nat => constr:(Set)
- | ?T => constr_run_tac ltac:(fun _ => idtac "Error: reify_debug_level should have type nat but instead has type" T)
- end.
-Ltac debug0 tac :=
- constr_run_tac tac.
-Ltac debug1 tac :=
- let lvl := reify_debug_level in
- lazymatch lvl with
- | S _ => constr_run_tac tac
- | _ => check_debug_level_then_Set ()
- end.
-Ltac debug2 tac :=
- let lvl := reify_debug_level in
- lazymatch lvl with
- | S (S _) => constr_run_tac tac
- | _ => check_debug_level_then_Set ()
- end.
-Ltac debug3 tac :=
- let lvl := reify_debug_level in
- lazymatch lvl with
- | S (S (S _)) => constr_run_tac tac
- | _ => check_debug_level_then_Set ()
- end.
-Ltac debug_enter_reify_flat_type e := debug2 ltac:(fun _ => debug_enter_reify_idtac reify_flat_type e).
-Ltac debug_enter_reify_type e := debug2 ltac:(fun _ => debug_enter_reify_idtac reify_type e).
-Ltac debug_enter_reifyf e := debug2 ltac:(fun _ => debug_enter_reify_idtac reifyf e).
-Ltac debug_leave_reifyf_success e ret := debug3 ltac:(fun _ => debug_leave_reify_success_idtac reifyf e ret).
-Ltac debug_leave_reifyf_failure e
- := let dummy := debug0 ltac:(fun _ => debug_leave_reify_failure_idtac reifyf e) in
- constr:(I : I).
-Ltac debug_leave_reify_flat_type_failure e
- := let dummy := debug0 ltac:(fun _ => debug_leave_reify_failure_idtac reify_flat_type e) in
- constr:(I : I).
-Tactic Notation "idtac_reifyf_case" ident(case) :=
- idtac "reifyf:" case.
-Ltac debug_reifyf_case tac :=
- debug3 tac.
-Ltac debug_enter_reify_abs e := debug2 ltac:(fun _ => debug_enter_reify_idtac reify_abs e).
-
-Ltac refresh x :=
- (* Work around Coq 8.5 and 8.6 bug *)
- (* <https://coq.inria.fr/bugs/show_bug.cgi?id=4998> *)
- (* Avoid re-binding the Gallina variable referenced by Ltac [x] *)
- (* even if its Gallina name matches a Ltac in this tactic. *)
- let maybe_x := fresh x in
- let maybe_x := fresh x in
- let maybe_x := fresh x in
- let not_x := fresh x in
- not_x.
-Class reify_internal {varT} (var : varT) {eT} (e : eT) {T : Type} := Build_reify_internal : T.
-Class reify {varT} (var : varT) {eT} (e : eT) {T : Type} := Build_reify : T.
-Typeclasses Opaque reify_internal reify.
-Definition reify_var_for_in_is base_type_code {T} (x : T) (t : flat_type base_type_code) {eT} (e : eT) := False.
-Arguments reify_var_for_in_is _ {T} _ _ {eT} _.
-
-(** [reify] assumes that operations can be reified via the [reify_op]
- typeclass, which gets passed the type family of operations, the
- expression which is headed by an operation, and expects resolution
- to fill in a number of arguments (which [reifyf] will
- automatically curry), as well as the reified operator.
-
- We also assume that types can be reified via the [reify] typeclass
- with arguments [reify type <type to be reified>]. *)
-Class reify_op {opTF} (op_family : opTF) {opExprT} (opExpr : opExprT) (nargs : nat) {opT} (reified_op : opT)
- := Build_reify_op : True.
-Ltac strip_type_cast term := lazymatch term with ?term' => term' end.
-(** Override this to get a faster [reify_type] *)
-Ltac base_reify_type T :=
- strip_type_cast (_ : reify type T).
-Ltac reify_base_type T := base_reify_type T.
-Ltac reify_flat_type T :=
- let dummy := debug_enter_reify_flat_type T in
- match goal with
- | _
- => lazymatch T with
- | prod ?A ?B
- => let a := reify_flat_type A in
- let b := reify_flat_type B in
- constr:(@Prod _ a b)
- | Syntax.interp_type _ (Tflat ?T)
- => T
- | Syntax.interp_flat_type _ ?T
- => T
- | Syntax.tuple _ _
- => T
- | Syntax.tuple' _ _
- => T
- | Tuple.tuple ?A ?n
- => let a := reify_flat_type A in
- constr:(@Syntax.tuple _ a n)
- | Tuple.tuple' ?A ?n
- => let a := reify_flat_type A in
- constr:(@Syntax.tuple' _ a n)
- | unit
- => Unit
- | _
- => let v := reify_base_type T in
- constr:(@Tbase _ v)
- end
- | _ => debug_leave_reify_flat_type_failure T
- end.
-Ltac reify_input_type T :=
- let dummy := debug_enter_reify_type T in
- lazymatch T with
- | (?A -> ?B)%type
- => let a := reify_flat_type A in
- let b := reify_input_type B in
- constr:(@Arrow _ a b)
- | InputSyntax.interp_type _ ?T
- => T
- end.
-Ltac reify_type T :=
- let dummy := debug_enter_reify_type T in
- lazymatch T with
- | (?A -> ?B)%type
- => let a := reify_flat_type A in
- let b := reify_flat_type B in
- constr:(@Syntax.Arrow _ a b)
- | Syntax.interp_type _ ?T
- => T
- end.
-
-Ltac reifyf_var x mkVar :=
- lazymatch goal with
- | _ : reify_var_for_in_is _ x ?t ?v |- _ => mkVar t v
- | _ => lazymatch x with
- | fst ?x' => reifyf_var x' ltac:(fun t v => lazymatch t with
- | Prod ?A ?B => mkVar A (fst v)
- end)
- | snd ?x' => reifyf_var x' ltac:(fun t v => lazymatch t with
- | Prod ?A ?B => mkVar B (snd v)
- end)
- end
- end.
-
-Inductive reify_result_helper :=
-| finished_value {T} (res : T)
-| context_value {TF} (resF : TF) {argT} (arg : argT)
-| op_info {T} (res : T)
-| reification_unsuccessful.
-
-(** Override this to get a faster [reify_op] *)
-Ltac base_reify_op op op_head expr :=
- let r := constr:(_ : reify_op op op_head _ _) in
- type of r.
-Ltac reify_op op op_head expr :=
- let t := base_reify_op op op_head expr in
- constr:(op_info t).
-
-Ltac debug_enter_reify_rec :=
- let lvl := reify_debug_level in
- match lvl with
- | S _ => idtac_goal
- | _ => idtac
- end.
-Ltac debug_leave_reify_rec e :=
- let lvl := reify_debug_level in
- match lvl with
- | S _ => idtac "<infomsg>reifyf success:" e "</infomsg>"
- | _ => idtac
- end.
-
-Ltac reifyf base_type_code interp_base_type op var e :=
- let reify_rec e := reifyf base_type_code interp_base_type op var e in
- let mkLetIn ex eC := constr:(LetIn (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) ex eC) in
- let mkPair ex ey := constr:(Pair (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) ex ey) in
- let mkVar T ex := constr:(Var (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) (t:=T) ex) in
- let mkConst T ex := constr:(Const (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) (t:=T) ex) in
- let mkOp T retT op_code args := constr:(Op (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) (t1:=T) (tR:=retT) op_code args) in
- let mkMatchPair tC ex eC := constr:(MatchPair (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) (tC:=tC) ex eC) in
- let mkFst ex := constr:(Fst (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) ex) in
- let mkSnd ex := constr:(Snd (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) ex) in
- let reify_pretag := constr:(@exprf base_type_code interp_base_type op) in
- let reify_tag := constr:(reify_pretag var) in
- let dummy := debug_enter_reifyf e in
- match goal with
- | [ re := ?rev : reify reify_tag e |- _ ] =>
- (* fast path *)
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case hyp) in
- let ret := rev in
- let dummy := debug_leave_reifyf_success e ret in
- ret
- | _ =>
- let ret :=
- lazymatch e with
- | let x := ?ex in @?eC x =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case let_in) in
- let ex := reify_rec ex in
- let eC := reify_rec eC in
- mkLetIn ex eC
- | (dlet x := ?ex in @?eC x) =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case dlet_in) in
- let ex := reify_rec ex in
- let eC := reify_rec eC in
- mkLetIn ex eC
- | pair ?a ?b =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case pair) in
- let a := reify_rec a in
- let b := reify_rec b in
- mkPair a b
- | (fun x : ?T => ?C) =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case function) in
- let t := reify_flat_type T in
- (* Work around Coq 8.5 and 8.6 bug *)
- (* <https://coq.inria.fr/bugs/show_bug.cgi?id=4998> *)
- (* Avoid re-binding the Gallina variable referenced by Ltac [x] *)
- (* even if its Gallina name matches a Ltac in this tactic. *)
- let not_x := refresh x in
- let C' := match constr:(Set) with
- | _ => constr:(fun (x : T) (not_x : var t) (_ : reify_var_for_in_is base_type_code x t not_x) =>
- (_ : reify_internal reify_tag C)) (* [C] here is an open term that references "x" by name *)
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Error: reifyf: Failed to reify by typeclasses:" e)
- end in
- match constr:(Set) with
- | _ => lazymatch C'
- with fun _ v _ => @?C v => C end
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Error: reifyf: Failed to eliminate function dependencies of:" C')
- end
- | match ?ev with pair a b => @?eC a b end =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case matchpair) in
- let T := type of eC in
- let t := (let T := match (eval cbv beta in T) with _ -> _ -> ?T => T end in reify_flat_type T) in
- let v := reify_rec ev in
- let C := reify_rec eC in
- let ret := mkMatchPair t v C in
- ret
- | @fst ?A ?B ?ev =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case fst) in
- let v := reify_rec ev in
- mkFst v
- | @snd ?A ?B ?ev =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case snd) in
- let v := reify_rec ev in
- mkSnd v
- | ?x =>
- let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case generic) in
- let t := type of x in
- let t := reify_flat_type t in
- let retv := match constr:(Set) with
- | _ => let retv := reifyf_var x mkVar in constr:(finished_value retv)
- | _ => let op_head := head x in
- reify_op op op_head x
- | _ => lazymatch x with
- | ?F ?args
- => lazymatch goal with
- | [ rF : forall x not_x, reify reify_tag (F x) |- _ ]
- => constr:(context_value rF args)
- | [ rF : forall var' x (not_x : var' _), reify (reify_pretag var') (F x) |- _ ]
- => constr:(context_value (rF var) args)
- end
- end
- | _ => let c := mkConst t x in
- constr:(finished_value c)
- | _ => constr:(reification_unsuccessful)
- end in
- lazymatch retv with
- | finished_value ?v => v
- | context_value ?rFH ?eargs
- => let dummy := debug_reifyf_case ltac:(fun _ => idtac_reifyf_case context_value) in
- let args := reify_rec eargs in
- let F_head := head rFH in
- let F := lazymatch (eval cbv beta delta [F_head] in rFH) with
- | fun _ => ?C => C
- end in
- mkLetIn args F
- | op_info (reify_op _ _ ?nargs ?op_code)
- =>
- let tR := (let tR := type of x in reify_flat_type tR) in
- lazymatch nargs with
- | 1%nat
- => lazymatch x with
- | ?f ?x0
- => let a0T := (let t := type of x0 in reify_flat_type t) in
- let a0 := reify_rec x0 in
- mkOp a0T tR op_code a0
- end
- | 2%nat
- => lazymatch x with
- | ?f ?x0 ?x1
- => let a0T := (let t := type of x0 in reify_flat_type t) in
- let a0 := reify_rec x0 in
- let a1T := (let t := type of x1 in reify_flat_type t) in
- let a1 := reify_rec x1 in
- let args := mkPair a0 a1 in
- mkOp (@Prod _ a0T a1T) tR op_code args
- end
- | 3%nat
- => lazymatch x with
- | ?f ?x0 ?x1 ?x2
- => let a0T := (let t := type of x0 in reify_flat_type t) in
- let a0 := reify_rec x0 in
- let a1T := (let t := type of x1 in reify_flat_type t) in
- let a1 := reify_rec x1 in
- let a2T := (let t := type of x2 in reify_flat_type t) in
- let a2 := reify_rec x2 in
- let args := let a01 := mkPair a0 a1 in mkPair a01 a2 in
- mkOp (@Prod _ (@Prod _ a0T a1T) a2T) tR op_code args
- end
- | 4%nat
- => lazymatch x with
- | ?f ?x0 ?x1 ?x2 ?x3
- => let a0T := (let t := type of x0 in reify_flat_type t) in
- let a0 := reify_rec x0 in
- let a1T := (let t := type of x1 in reify_flat_type t) in
- let a1 := reify_rec x1 in
- let a2T := (let t := type of x2 in reify_flat_type t) in
- let a2 := reify_rec x2 in
- let a3T := (let t := type of x3 in reify_flat_type t) in
- let a3 := reify_rec x3 in
- let args := let a01 := mkPair a0 a1 in let a012 := mkPair a01 a2 in mkPair a012 a3 in
- mkOp (@Prod _ (@Prod _ (@Prod _ a0T a1T) a2T) a3T) tR op_code args
- end
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Error: Unsupported number of operation arguments in reifyf:" nargs)
- end
- | reification_unsuccessful
- => constr_run_tac_fail ltac:(fun _ => idtac "Error: Failed to reify:" x)
- end
- end in
- let dummy := debug_leave_reifyf_success e ret in
- ret
- | _ => debug_leave_reifyf_failure e
- end.
-
-Ltac do_reifyf_goal _ :=
- debug_enter_reify_rec;
- let e := lazymatch goal with
- | [ |- reify (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e ]
- => reifyf base_type_code interp_base_type op var e
- | [ |- reify_internal (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e ]
- => reifyf base_type_code interp_base_type op var e
- end in
- debug_leave_reify_rec e;
- eexact e.
-
-Hint Extern 0 (reify (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e)
-=> do_reifyf_goal () : typeclass_instances.
-Hint Extern 0 (reify_internal (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e)
-=> do_reifyf_goal () : typeclass_instances.
-
-(** For reification including [Abs] *)
-Class reify_abs_internal {varT} (var : varT) {eT} (e : eT) {T : Type} := Build_reify_abs_internal : T.
-Class reify_abs {varT} (var : varT) {eT} (e : eT) {T : Type} := Build_reify_abs : T.
-Typeclasses Opaque reify_abs_internal reify_abs.
-Ltac reify_abs base_type_code interp_base_type op var e :=
- let reify_rec e := reify_abs base_type_code interp_base_type op var e in
- let reifyf_term e := reifyf base_type_code interp_base_type op var e in
- let mkReturn ef := constr:(Return (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) ef) in
- let mkAbs src ef := constr:(Abs (base_type_code:=base_type_code) (interp_base_type:=interp_base_type) (op:=op) (var:=var) (src:=src) ef) in
- let reify_pretag := constr:(@exprf base_type_code interp_base_type op) in
- let reify_tag := constr:(reify_pretag var) in
- let dummy := debug_enter_reify_abs e in
- lazymatch goal with
- | [ re := ?rev : forall var' (x : ?T) (not_x : var' _), reify (reify_pretag var') (e x) |- _ ] =>
- (* fast path *)
- let t := reify_flat_type T in
- let F := lazymatch (eval cbv beta in (rev var)) with
- | fun _ => ?C => C
- end in
- mkAbs t F
- | _ =>
- lazymatch e with
- | (fun x : ?T => ?C) =>
- let t := reify_flat_type T in
- let not_x := refresh x in
- let C' := match constr:(Set) with
- | _ => constr:(fun (x : T) (not_x : var t) (_ : reify_var_for_in_is base_type_code x t not_x) =>
- (_ : reify_abs_internal reify_tag C)) (* [C] here is an open term that references "x" by name *)
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Error: reify_abs: Failed to reify by typeclasses:" e)
- end in
- let C := match constr:(Set) with
- | _ => lazymatch C'
- with fun _ v _ => @?C v => C end
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Error: reify_abs: Failed to eliminate function dependencies of:" C')
- end in
- mkAbs t C
- | ?x =>
- let xv := reifyf_term x in
- mkReturn xv
- end
- end.
-
-Ltac do_reify_abs_goal _ :=
- debug_enter_reify_rec;
- let e := lazymatch goal with
- | [ |- reify_abs (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e ]
- => reify_abs base_type_code interp_base_type op var e
- | [ |- reify_abs_internal (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e ]
- => reify_abs base_type_code interp_base_type op var e
- end in
- debug_leave_reify_rec e;
- eexact e.
-
-Hint Extern 0 (reify_abs (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e)
-=> do_reify_abs_goal () : typeclass_instances.
-Hint Extern 0 (reify_abs_internal (@exprf ?base_type_code ?interp_base_type ?op ?var) ?e)
-=> do_reify_abs_goal () : typeclass_instances.
-
-Ltac Reify' base_type_code interp_base_type op e :=
- lazymatch constr:(fun (var : flat_type base_type_code -> Type) => (_ : reify_abs_internal (@exprf base_type_code interp_base_type op var) e)) with
- (fun var => ?C) => constr:(fun (var : flat_type base_type_code -> Type) => C) (* copy the term but not the type cast *)
- end.
-Ltac Reify base_type_code interp_base_type op make_const e :=
- let r := Reify' base_type_code interp_base_type op e in
- let r := lazymatch type of r with
- | forall var, exprf _ _ _ _ => constr:(fun var => Abs (src:=Unit) (fun _ => r var))
- | _ => r
- end in
- constr:(@InputSyntax.Compile base_type_code interp_base_type op make_const _ r).
-
-Ltac rhs_of_goal :=
- lazymatch goal with
- | [ |- ?R ?LHS ?RHS ] => RHS
- | [ |- forall x, ?R (@?LHS x) (@?RHS x) ] => RHS
- end.
-
-Ltac transitivity_tt term :=
- first [ transitivity term
- | transitivity (term tt)
- | let x := fresh in intro x; transitivity (term x); revert x ].
-
-Ltac Reify_rhs_gen Reify prove_interp_compile_correct interp_op try_tac :=
- Tuple.unfold_flat_interp_tuple ();
- let rhs := rhs_of_goal in
- let RHS := Reify rhs in
- let RHS' := (eval vm_compute in RHS) in
- transitivity_tt (Syntax.Interp interp_op RHS');
- [
- | transitivity_tt (Syntax.Interp interp_op RHS);
- [ lazymatch goal with
- | [ |- ?R ?x ?y ]
- => cut (x = y)
- | [ |- forall k, ?R (?x k) (?y k) ]
- => cut (x = y)
- end;
- [ let H := fresh in
- intro H; rewrite H; reflexivity
- | apply f_equal; vm_compute; reflexivity ]
- | intros; etransitivity; (* first we strip off the [InputSyntax.Compile]
- bit; Coq is bad at inferring the type, so we
- help it out by providing it *)
- [ cbv [InputSyntax.compilet];
- prove_interp_compile_correct ()
- | try_tac
- ltac:(fun _
- => (* now we unfold the interpretation function,
- including the parameterized bits; we assume that
- [hnf] is enough to unfold the interpretation
- functions that we're parameterized over. *)
- clear;
- abstract (
- lazymatch goal with
- | [ |- context[@InputSyntax.Interp ?base_type_code ?interp_base_type ?op ?interp_op ?t ?e] ]
- => let interp_base_type' := (eval hnf in interp_base_type) in
- let interp_op' := (eval hnf in interp_op) in
- change interp_base_type with interp_base_type';
- change interp_op with interp_op'
- end;
- subst_let;
- cbv iota beta delta [InputSyntax.Interp interp_type interp_type_gen interp_type_gen_hetero interp_flat_type interp interpf InputSyntax.Fst InputSyntax.Snd]; reflexivity)) ] ] ].
-
-Ltac prove_compile_correct_using tac :=
- fun _ => intros;
- lazymatch goal with
- | [ |- @Syntax.Interp ?base_type_code ?interp_base_type ?op ?interp_op _ (@Compile _ _ _ ?make_const (InputSyntax.Arrow ?src (Tflat ?dst)) ?e) ?x = _ ]
- => apply (fun pf => @InputSyntax.Compile_correct base_type_code interp_base_type op make_const interp_op pf src dst e x);
- solve [ tac () ]
- | [ |- @Syntax.Interp ?base_type_code ?interp_base_type ?op ?interp_op _ (@Compile _ _ _ ?make_const (Tflat ?T) ?e) ?x = _ ]
- => apply (fun pf => @InputSyntax.Compile_flat_correct_flat base_type_code interp_base_type op make_const interp_op pf T e x);
- solve [ tac () ]
- end.
-Ltac prove_compile_correct :=
- prove_compile_correct_using
- ltac:(fun _ => let T := fresh in intro T; destruct T; reflexivity).
-
-Ltac Reify_rhs base_type_code interp_base_type op make_const interp_op :=
- Reify_rhs_gen
- ltac:(Reify base_type_code interp_base_type op make_const)
- prove_compile_correct
- interp_op
- ltac:(fun tac => tac ()).
-
-Definition Reify_evar_package
- {base_type_code interp_base_type op}
- (make_const : forall t : base_type_code,
- interp_base_type t -> op ()%ctype (Tbase t))
- (interp_op : forall s d : flat_type base_type_code, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d)
- {t}
- (f : Syntax.interp_type interp_base_type t)
- := evar_rel_package
- f (Compilers.Syntax.Expr _ op t)
- (fun e f
- => forall x, Compilers.Syntax.Interp interp_op e x = f x).
-
-Definition Interp_Reify_evar_package
- {base_type_code interp_base_type op make_const interp_op t f}
- (pkg : @Reify_evar_package base_type_code interp_base_type op make_const interp_op t f)
- : forall x, Compilers.Syntax.Interp interp_op (val pkg) x = f x
- := evar_package_pf pkg.
-
-Ltac autosolve else_tac :=
- lazymatch goal with
- | [ |- @Reify_evar_package ?base_type_code ?interp_base_type ?op ?make_const ?interp_op _ _ ]
- => eexists; cbv beta; Reify_rhs base_type_code interp_base_type op make_const interp_op; reflexivity
- | _ => else_tac ()
- end.
-
-Ltac SideConditions.CorePackages.autosolve ::= autosolve.
-
-(** Reification of context variables of the form [F := _ :
- Syntax.interp_type _ _] *)
-Ltac unique_reify_context_variable base_type_code interp_base_type op F Fbody rT :=
- let reify_pretag := constr:(@exprf base_type_code interp_base_type op) in
- lazymatch goal with
- | [ H : forall var x not_x, reify _ (F x) |- _ ]
- => fail
- | _
- => let H' := fresh in
- let src := lazymatch rT with Syntax.Arrow ?src ?dst => src end in
- lazymatch Fbody with
- | fun x : ?X => ?Fbody'
- => let not_x := refresh x in
- let rF := lazymatch constr:(fun var' (x : X) (not_x : var' src) (_ : reify_var_for_in_is base_type_code x src not_x)
- => (_ : reify_internal (reify_pretag var') Fbody'))
- with
- | fun (var' : ?VAR) (x : ?X) (v : ?V) _ => ?C
- => constr:(fun (var' : VAR) (v : V) => C)
- end in
- let F' := fresh F in
- pose rF as F';
- pose ((fun var (x : X) => F' var) : forall var (x : X) (not_x : var src), reify (reify_pretag var) (F x)) as H';
- cbv beta in (value of H')
- end
- end.
-Ltac prereify_context_variables interp_base_type :=
- (** N.B. this assumes that [interp_base_type] is a transparent
- definition; minor reorganization may be needed if this is changed
- (moving the burden of reifying [interp_base_type T] to
- [reify_base_type], rather than keeping it here) *)
- cbv beta iota delta [interp_base_type] in *.
-Ltac reify_context_variable base_type_code interp_base_type op :=
- (** [match reverse] so that we respect the chain of dependencies in
- context variables; otherwise we're going to be trying the last
- context variable many times, and bottlenecking there. *)
- match reverse goal with
- | [ F := ?Fbody : Syntax.interp_type _ ?rT |- _ ]
- => unique_reify_context_variable base_type_code interp_base_type op F Fbody rT
- end.
-Ltac lazy_reify_context_variable base_type_code interp_base_type op :=
- lazymatch reverse goal with
- | [ F := ?Fbody : Syntax.interp_type _ ?rT |- _ ]
- => unique_reify_context_variable base_type_code interp_base_type op F Fbody rT
- end.
-Ltac reify_context_variables base_type_code interp_base_type op :=
- prereify_context_variables interp_base_type;
- repeat reify_context_variable base_type_code interp_base_type op.
diff --git a/src/Compilers/Relations.v b/src/Compilers/Relations.v
deleted file mode 100644
index 27a101e4f..000000000
--- a/src/Compilers/Relations.v
+++ /dev/null
@@ -1,368 +0,0 @@
-Require Import Coq.Lists.List Coq.Classes.RelationClasses Coq.Classes.Morphisms.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Sigma.
-
-Local Coercion is_true : bool >-> Sortclass.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
-
- Local Ltac rel_relb_t :=
- repeat first [ progress simpl in *
- | reflexivity
- | intuition congruence
- | setoid_rewrite Bool.andb_true_iff
- | intro
- | rewrite_hyp <- !* ].
-
- Section flat_type.
- Context {interp_base_type1 interp_base_type2 : base_type_code -> Type}.
- Local Notation interp_flat_type1 := (interp_flat_type interp_base_type1).
- Local Notation interp_flat_type2 := (interp_flat_type interp_base_type2).
-
- Section gen_Prop.
- Context (P : Type)
- (and : P -> P -> P)
- (True : P)
- (False : P).
- Section pointwise1.
- Context (R : forall t, interp_base_type1 t -> P).
- Fixpoint interp_flat_type_rel_pointwise1_gen_Prop (t : flat_type)
- : interp_flat_type1 t -> P :=
- match t with
- | Tbase t => R t
- | Unit => fun _ => True
- | Prod A B => fun x : interp_flat_type _ A * interp_flat_type _ B
- => and (interp_flat_type_rel_pointwise1_gen_Prop _ (fst x))
- (interp_flat_type_rel_pointwise1_gen_Prop _ (snd x))
- end.
- End pointwise1.
- Section pointwise2.
- Context (R : forall t, interp_base_type1 t -> interp_base_type2 t -> P).
- Fixpoint interp_flat_type_rel_pointwise_gen_Prop (t : flat_type)
- : interp_flat_type1 t -> interp_flat_type2 t -> P :=
- match t with
- | Tbase t => R t
- | Unit => fun _ _ => True
- | Prod A B
- => fun (x : interp_flat_type _ A * interp_flat_type _ B)
- (y : interp_flat_type _ A * interp_flat_type _ B)
- => and (interp_flat_type_rel_pointwise_gen_Prop _ (fst x) (fst y))
- (interp_flat_type_rel_pointwise_gen_Prop _ (snd x) (snd y))
- end.
- End pointwise2.
- Section pointwise2_hetero.
- Context (R : forall t1 t2, interp_base_type1 t1 -> interp_base_type2 t2 -> P).
- Fixpoint interp_flat_type_rel_pointwise_hetero_gen_Prop (t1 t2 : flat_type)
- : interp_flat_type1 t1 -> interp_flat_type2 t2 -> P
- := match t1, t2 with
- | Tbase t1, Tbase t2 => R t1 t2
- | Unit, Unit => fun _ _ => True
- | Prod x1 y1, Prod x2 y2
- => fun (a b : interp_flat_type _ _ * interp_flat_type _ _)
- => and (interp_flat_type_rel_pointwise_hetero_gen_Prop x1 x2 (fst a) (fst b))
- (interp_flat_type_rel_pointwise_hetero_gen_Prop y1 y2 (snd a) (snd b))
- | Tbase _, _
- | Unit, _
- | Prod _ _, _
- => fun _ _ => False
- end.
- End pointwise2_hetero.
- End gen_Prop.
-
- Definition interp_flat_type_relb_pointwise1
- := @interp_flat_type_rel_pointwise1_gen_Prop bool andb true.
- Global Arguments interp_flat_type_relb_pointwise1 _ !_ _ / .
- Definition interp_flat_type_rel_pointwise1
- := @interp_flat_type_rel_pointwise1_gen_Prop Prop and True.
- Global Arguments interp_flat_type_rel_pointwise1 _ !_ _ / .
- Lemma interp_flat_type_rel_pointwise1_iff_relb {R} t x
- : interp_flat_type_relb_pointwise1 R t x <-> interp_flat_type_rel_pointwise1 R t x.
- Proof using Type. clear; induction t; rel_relb_t. Qed.
- Definition interp_flat_type_rel_pointwise1_gen_Prop_iff_bool
- : forall {R} t x,
- interp_flat_type_rel_pointwise1_gen_Prop bool _ _ R t x
- <-> interp_flat_type_rel_pointwise1_gen_Prop Prop _ _ R t x
- := @interp_flat_type_rel_pointwise1_iff_relb.
- Definition interp_flat_type_relb_pointwise
- := @interp_flat_type_rel_pointwise_gen_Prop bool andb true.
- Global Arguments interp_flat_type_relb_pointwise _ !_ _ _ / .
- Definition interp_flat_type_rel_pointwise
- := @interp_flat_type_rel_pointwise_gen_Prop Prop and True.
- Global Arguments interp_flat_type_rel_pointwise _ !_ _ _ / .
- Lemma interp_flat_type_rel_pointwise_iff_relb {R} t x y
- : interp_flat_type_relb_pointwise R t x y <-> interp_flat_type_rel_pointwise R t x y.
- Proof using Type. clear; induction t; rel_relb_t. Qed.
- Definition interp_flat_type_rel_pointwise_gen_Prop_iff_bool
- : forall {R} t x y,
- interp_flat_type_rel_pointwise_gen_Prop bool _ _ R t x y
- <-> interp_flat_type_rel_pointwise_gen_Prop Prop _ _ R t x y
- := @interp_flat_type_rel_pointwise_iff_relb.
- Definition interp_flat_type_relb_pointwise_hetero
- := @interp_flat_type_rel_pointwise_hetero_gen_Prop bool andb true false.
- Global Arguments interp_flat_type_relb_pointwise_hetero _ !_ !_ _ _ / .
- Definition interp_flat_type_rel_pointwise_hetero
- := @interp_flat_type_rel_pointwise_hetero_gen_Prop Prop and True False.
- Global Arguments interp_flat_type_rel_pointwise_hetero _ !_ !_ _ _ / .
- Lemma interp_flat_type_rel_pointwise_hetero_iff_relb {R} t1 t2 x y
- : interp_flat_type_relb_pointwise_hetero R t1 t2 x y <-> interp_flat_type_rel_pointwise_hetero R t1 t2 x y.
- Proof using Type. clear; revert dependent t2; induction t1, t2; rel_relb_t. Qed.
- Definition interp_flat_type_rel_pointwise_hetero_gen_Prop_iff_bool
- : forall {R} t1 t2 x y,
- interp_flat_type_rel_pointwise_hetero_gen_Prop bool _ _ _ R t1 t2 x y
- <-> interp_flat_type_rel_pointwise_hetero_gen_Prop Prop _ _ _ R t1 t2 x y
- := @interp_flat_type_rel_pointwise_hetero_iff_relb.
-
- Lemma interp_flat_type_rel_pointwise_hetero_iff {R t} x y
- : interp_flat_type_rel_pointwise (fun t => R t t) t x y
- <-> interp_flat_type_rel_pointwise_hetero R t t x y.
- Proof using Type. induction t; simpl; rewrite_hyp ?*; reflexivity. Qed.
-
- Lemma interp_flat_type_rel_pointwise_impl {R1 R2 : forall t, _ -> _ -> Prop} t x y
- : interp_flat_type_rel_pointwise (fun t x y => (R1 t x y -> R2 t x y)%type) t x y
- -> (interp_flat_type_rel_pointwise R1 t x y
- -> interp_flat_type_rel_pointwise R2 t x y).
- Proof using Type. induction t; simpl; intuition. Qed.
-
- Lemma interp_flat_type_rel_pointwise_always {R : forall t, _ -> _ -> Prop}
- : (forall t x y, R t x y)
- -> forall t x y, interp_flat_type_rel_pointwise R t x y.
- Proof using Type. induction t; simpl; intuition. Qed.
- End flat_type.
- Section flat_type_extra.
- Context {interp_base_type1 interp_base_type2 : base_type_code -> Type}.
- Lemma interp_flat_type_rel_pointwise_impl' {R1 R2 : forall t, _ -> _ -> Prop} t x y
- : @interp_flat_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => (R1 t y x -> R2 t x y)%type) t x y
- -> (interp_flat_type_rel_pointwise R1 t y x
- -> interp_flat_type_rel_pointwise R2 t x y).
- Proof using Type. induction t; simpl; intuition. Qed.
-
- Global Instance interp_flat_type_rel_pointwise_Reflexive {R : forall t, _ -> _ -> Prop} {H : forall t, Reflexive (R t)}
- : forall t, Reflexive (@interp_flat_type_rel_pointwise interp_base_type1 interp_base_type1 R t).
- Proof using Type.
- induction t; intro; simpl; try apply conj; try reflexivity.
- Qed.
-
- Lemma interp_flat_type_rel_pointwise_SmartVarfMap
- {interp_base_type1' interp_base_type2'}
- {R : forall t, _ -> _ -> Prop}
- t f g x y
- : @interp_flat_type_rel_pointwise interp_base_type1 interp_base_type2 R t (SmartVarfMap f x) (SmartVarfMap g y)
- <-> @interp_flat_type_rel_pointwise interp_base_type1' interp_base_type2' (fun t x y => R t (f _ x) (g _ y)) t x y.
- Proof using Type.
- induction t; simpl; try reflexivity.
- rewrite_hyp <- !*; reflexivity.
- Qed.
- End flat_type_extra.
-
- Section type.
- Section hetero.
- Context (interp_src1 interp_src2 : flat_type -> Type)
- (interp_dst1 interp_dst2 : flat_type -> Type).
- Section hetero.
- Context (Rsrc : forall t, interp_src1 t -> interp_src2 t -> Prop)
- (Rdst : forall t, interp_dst1 t -> interp_dst2 t -> Prop).
-
- Definition interp_type_gen_rel_pointwise_hetero (t : type)
- : interp_type_gen_hetero interp_src1 interp_dst1 t
- -> interp_type_gen_hetero interp_src2 interp_dst2 t
- -> Prop
- := @respectful_hetero _ _ _ _ (Rsrc _) (fun _ _ => Rdst _).
- Global Arguments interp_type_gen_rel_pointwise_hetero _ _ _ / .
- End hetero.
- Section hetero_hetero.
- Context (Rsrc : forall t1 t2, interp_src1 t1 -> interp_src2 t2 -> Prop)
- (Rdst : forall t1 t2, interp_dst1 t1 -> interp_dst2 t2 -> Prop).
-
- Fixpoint interp_type_gen_rel_pointwise_hetero_hetero (t1 t2 : type)
- : interp_type_gen_hetero interp_src1 interp_dst1 t1
- -> interp_type_gen_hetero interp_src2 interp_dst2 t2
- -> Prop
- := @respectful_hetero _ _ _ _ (Rsrc _ _) (fun _ _ => Rdst _ _).
- Global Arguments interp_type_gen_rel_pointwise_hetero_hetero _ _ _ _ / .
- End hetero_hetero.
- End hetero.
-
- Section partially_hetero.
- Context (interp_flat_type1 interp_flat_type2 : flat_type -> Type)
- (R : forall t, interp_flat_type1 t -> interp_flat_type2 t -> Prop).
-
- Definition interp_type_gen_rel_pointwise
- : forall t,
- interp_type_gen interp_flat_type1 t
- -> interp_type_gen interp_flat_type2 t
- -> Prop
- := interp_type_gen_rel_pointwise_hetero
- interp_flat_type1 interp_flat_type2
- interp_flat_type1 interp_flat_type2
- R R.
- Global Arguments interp_type_gen_rel_pointwise _ _ _ / .
- End partially_hetero.
- End type.
-
- Section specialized_type.
- Section hetero.
- Context (interp_base_type1 interp_base_type2 : base_type_code -> Type).
- Definition interp_type_rel_pointwise R
- : forall t, interp_type interp_base_type1 t
- -> interp_type interp_base_type2 t
- -> Prop
- := interp_type_gen_rel_pointwise _ _ (interp_flat_type_rel_pointwise R).
- Global Arguments interp_type_rel_pointwise _ !_ _ _ / .
-
- Definition interp_type_rel_pointwise_hetero R
- : forall t1 t2, interp_type interp_base_type1 t1
- -> interp_type interp_base_type2 t2
- -> Prop
- := interp_type_gen_rel_pointwise_hetero_hetero _ _ _ _ (interp_flat_type_rel_pointwise_hetero R) (interp_flat_type_rel_pointwise_hetero R).
- Global Arguments interp_type_rel_pointwise_hetero _ !_ !_ _ _ / .
- End hetero.
- End specialized_type.
-
- Section lifting.
- Context {interp_base_type1 interp_base_type2 : base_type_code -> Type}.
- Local Notation interp_flat_type1 := (interp_flat_type interp_base_type1).
- Local Notation interp_flat_type2 := (interp_flat_type interp_base_type2).
- Let Tbase := (@Tbase base_type_code).
- Local Coercion Tbase : base_type_code >-> flat_type.
-
- Section with_rel.
- Context (R : forall t, interp_flat_type1 t -> interp_flat_type2 t -> Prop)
- (RUnit : R Unit tt tt).
- Section RProd.
- Context (RProd : forall A B x y, R A (fst x) (fst y) /\ R B (snd x) (snd y) -> R (Prod A B) x y)
- (RProd' : forall A B x y, R (Prod A B) x y -> R A (fst x) (fst y) /\ R B (snd x) (snd y)).
- Lemma lift_interp_flat_type_rel_pointwise1 t (x : interp_flat_type1 t) (y : interp_flat_type2 t)
- : interp_flat_type_rel_pointwise R t x y -> R t x y.
- Proof using RProd RUnit. clear RProd'; induction t; simpl; destruct_head_hnf' unit; intuition. Qed.
- Lemma lift_interp_flat_type_rel_pointwise2 t (x : interp_flat_type1 t) (y : interp_flat_type2 t)
- : R t x y -> interp_flat_type_rel_pointwise R t x y.
- Proof using RProd'. clear RProd; induction t; simpl; destruct_head_hnf' unit; split_and; intuition. Qed.
- End RProd.
- Section RProd_iff.
- Context (RProd : forall A B x y, R A (fst x) (fst y) /\ R B (snd x) (snd y) <-> R (Prod A B) x y).
- Lemma lift_interp_flat_type_rel_pointwise t (x : interp_flat_type1 t) (y : interp_flat_type2 t)
- : interp_flat_type_rel_pointwise R t x y <-> R t x y.
- Proof using RProd RUnit.
- split_iff; split; auto using lift_interp_flat_type_rel_pointwise1, lift_interp_flat_type_rel_pointwise2.
- Qed.
- End RProd_iff.
- End with_rel.
- Lemma lift_interp_flat_type_rel_pointwise_f_eq {T} (f g : forall t, _ -> T t) t x y
- : @interp_flat_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => f t x = g t y)
- t x y
- <-> SmartVarfMap f x = SmartVarfMap g y.
- Proof using Type.
- induction t; unfold SmartVarfMap in *; simpl in *; destruct_head_hnf unit; try tauto.
- rewrite_hyp !*; intuition congruence.
- Qed.
- Lemma lift_interp_flat_type_rel_pointwise_f_eq_id1 (f : forall t, _ -> _) t x y
- : @interp_flat_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => x = f t y)
- t x y
- <-> x = SmartVarfMap f y.
- Proof using Type. rewrite lift_interp_flat_type_rel_pointwise_f_eq, SmartVarfMap_id; reflexivity. Qed.
- Lemma lift_interp_flat_type_rel_pointwise_f_eq_id2 (f : forall t, _ -> _) t x y
- : @interp_flat_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => f t x = y)
- t x y
- <-> SmartVarfMap f x = y.
- Proof using Type. rewrite lift_interp_flat_type_rel_pointwise_f_eq, SmartVarfMap_id; reflexivity. Qed.
- Lemma lift_interp_flat_type_rel_pointwise_f_eq2 {T} (f g : forall t, _ -> _ -> T t) t x y
- : @interp_flat_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => f t x y = g t x y)
- t x y
- <-> SmartVarfMap2 f x y = SmartVarfMap2 g x y.
- Proof using Type.
- induction t; unfold SmartVarfMap2 in *; simpl in *; destruct_head_hnf unit; try tauto.
- rewrite_hyp !*; intuition congruence.
- Qed.
- Lemma lift_interp_type_rel_pointwise_f_eq {T} (f g : forall t, _ -> T t) t x y
- : interp_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => f t x = g t y)
- t x y
- <-> (forall a b, SmartVarfMap f a = SmartVarfMap g b -> SmartVarfMap f (x a) = SmartVarfMap g (y b)).
- Proof using Type.
- destruct t; simpl; unfold interp_type_rel_pointwise, respectful_hetero.
- setoid_rewrite lift_interp_flat_type_rel_pointwise_f_eq; reflexivity.
- Qed.
- Lemma lift_interp_type_rel_pointwise_f_eq_id1 (f : forall t, _ -> _) t x y
- : interp_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => x = f t y)
- t x y
- <-> (forall a, x (SmartVarfMap f a) = SmartVarfMap f (y a)).
- Proof using Type. rewrite lift_interp_type_rel_pointwise_f_eq; setoid_rewrite SmartVarfMap_id; firstorder (subst; eauto). Qed.
- Lemma lift_interp_type_rel_pointwise_f_eq_id2 (f : forall t, _ -> _) t x y
- : interp_type_rel_pointwise
- interp_base_type1 interp_base_type2
- (fun t x y => f t x = y)
- t x y
- <-> (forall a, SmartVarfMap f (x a) = y (SmartVarfMap f a)).
- Proof using Type. rewrite lift_interp_type_rel_pointwise_f_eq; setoid_rewrite SmartVarfMap_id; firstorder (subst; eauto). Qed.
- End lifting.
-
- Local Ltac t :=
- repeat match goal with
- | _ => intro
- | [ H : False |- _ ] => exfalso; assumption
- | _ => progress subst
- | _ => assumption
- | _ => progress inversion_sigma
- | _ => progress inversion_prod
- | _ => progress simpl in *
- | _ => progress destruct_head_hnf' and
- | [ H : context[List.In _ (_ ++ _)] |- _ ]
- => rewrite List.in_app_iff in H
- | _ => progress destruct_head' or
- | _ => solve [ eauto ]
- end.
-
- Lemma interp_flat_type_rel_pointwise_flatten_binding_list
- {interp_base_type1 interp_base_type2 t T} R' e1 e2 v1 v2
- (H : List.In (existT _ t (v1, v2)%core) (flatten_binding_list e1 e2))
- (HR : @interp_flat_type_rel_pointwise interp_base_type1 interp_base_type2 R' T e1 e2)
- : R' t v1 v2.
- Proof using Type. induction T; t. Qed.
-
- Lemma interp_flat_type_rel_pointwise_hetero_flatten_binding_list2
- {interp_base_type1 interp_base_type2 t1 t2 T1 T2} R' e1 e2 v1 v2
- (H : List.In (existT _ (t1, t2)%core (v1, v2)%core) (flatten_binding_list2 e1 e2))
- (HR : @interp_flat_type_rel_pointwise_hetero interp_base_type1 interp_base_type2 R' T1 T2 e1 e2)
- : R' t1 t2 v1 v2.
- Proof using Type.
- revert dependent T2; induction T1, T2; t.
- Qed.
-End language.
-
-Global Arguments interp_type_rel_pointwise {_ _ _} R {t} _ _.
-Global Arguments interp_type_rel_pointwise_hetero {_ _ _} R {t1 t2} _ _.
-Global Arguments interp_type_gen_rel_pointwise_hetero_hetero {_ _ _ _ _} Rsrc Rdst {t1 t2} _ _.
-Global Arguments interp_type_gen_rel_pointwise_hetero {_ _ _ _ _} Rsrc Rdst {t} _ _.
-Global Arguments interp_type_gen_rel_pointwise {_ _ _} R {t} _ _.
-Global Arguments interp_flat_type_rel_pointwise_gen_Prop {_ _ _ P} and True R {t} _ _.
-Global Arguments interp_flat_type_rel_pointwise_hetero_gen_Prop {_ _ _ P} and True False R {t1 t2} _ _.
-Global Arguments interp_flat_type_rel_pointwise_hetero {_ _ _} R {t1 t2} _ _.
-Global Arguments interp_flat_type_relb_pointwise_hetero {_ _ _} R {t1 t2} _ _.
-Global Arguments interp_flat_type_rel_pointwise1 {_ _} R {t} _.
-Global Arguments interp_flat_type_relb_pointwise1 {_ _} R {t} _.
-Global Arguments interp_flat_type_rel_pointwise {_ _ _} R {t} _ _.
-Global Arguments interp_flat_type_relb_pointwise {_ _ _} R {t} _ _.
diff --git a/src/Compilers/RenameBinders.v b/src/Compilers/RenameBinders.v
deleted file mode 100644
index 7be603cbe..000000000
--- a/src/Compilers/RenameBinders.v
+++ /dev/null
@@ -1,78 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-
-Ltac uncurry_f f :=
- let t := type of f in
- lazymatch eval compute in t with
- | prod ?a ?b -> ?R
- => uncurry_f (fun x y => f (@pair a b x y))
- | ?a -> ?R
- => let x := fresh in
- constr:(fun x : a => ltac:(let v := uncurry_f (f x) in exact v))
- | _ => f
- end.
-Ltac make_destruct_specialize t with_destruct_specialize_tac :=
- let do_tac T1 T2 n1 mk_n2 :=
- pose tt as n1;
- make_destruct_specialize
- T1
- ltac:(fun destruct_specialize_ab
- => let n2 := mk_n2 () in
- pose tt as n2;
- make_destruct_specialize
- T2
- ltac:(fun destruct_specialize_cd
- => with_destruct_specialize_tac
- ltac:(fun arg f cont =>
- clear n1 n2;
- refine (let '(n1, n2)%core := arg in _);
- clear arg;
- destruct_specialize_ab
- n1 f
- ltac:(fun f => destruct_specialize_cd n2 f cont)))) in
- lazymatch eval compute in t with
- | prod (prod ?a ?b) (prod ?c ?d)
- => let arg1 := fresh "arg" in
- do_tac (prod a b) (prod c d) arg1 ltac:(fun _ => fresh "arg")
- | prod (prod ?a ?b) ?c
- => let arg1 := fresh "arg" in
- do_tac (prod a b) c arg1 ltac:(fun _ => fresh "x")
- | prod ?a (prod ?c ?d)
- => let arg1 := fresh "x" in
- do_tac a (prod c d) arg1 ltac:(fun _ => fresh "arg")
- | prod ?a ?b
- => let arg1 := fresh "x" in
- do_tac a b arg1 ltac:(fun _ => fresh "x")
- | _
- => with_destruct_specialize_tac ltac:(fun arg f cont => cont (f arg))
- end.
-Ltac renamify input :=
- let t := type of input in
- let t := (eval compute in t) in
- let ret :=
- constr:(ltac:(
- let var := fresh "var" in
- intro var;
- let input := constr:(input var) in
- let input := (eval compute in input) in
- let arg := fresh "arg" in
- refine (Abs (fun arg => _));
- let input := constr:(invert_Abs input) in
- let t := type of arg in
- let t := (eval compute in t) in
- let input := uncurry_f input in
- let input := (eval cbv iota beta delta [invert_Abs] in input) in
- make_destruct_specialize
- t ltac:(fun do_destruct_specialize
- => do_destruct_specialize
- arg input
- ltac:(fun input => let input := (eval cbv beta in input) in
- exact input))
- ) : t) in
- (eval cbv beta zeta in ret).
-Notation renamify f :=
- (let t := _ in
- let renamify_F0 : t := f in
- ((fun renamify_F : t => ltac:(let v := renamify renamify_F in exact v))
- renamify_F0))
- (only parsing).
diff --git a/src/Compilers/Rewriter.v b/src/Compilers/Rewriter.v
deleted file mode 100644
index a23627480..000000000
--- a/src/Compilers/Rewriter.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}.
- Context (rewrite_op_expr : forall src dst (opc : op src dst),
- exprf (var:=var) src -> exprf (var:=var) dst).
-
- Fixpoint rewrite_opf {t} (e : @exprf var t) : @exprf var t
- := match e in Syntax.exprf _ _ t return @exprf var t with
- | LetIn tx ex tC eC
- => LetIn (@rewrite_opf tx ex) (fun x => @rewrite_opf tC (eC x))
- | Var _ x => Var x
- | TT => TT
- | Pair tx ex ty ey
- => Pair (@rewrite_opf tx ex) (@rewrite_opf ty ey)
- | Op t1 tR opc args => rewrite_op_expr _ _ opc (@rewrite_opf t1 args)
- end.
-
- Definition rewrite_op {t} (e : @expr var t) : @expr var t
- := match e in Syntax.expr _ _ t return @expr var t with
- | Abs _ _ f => Abs (fun x => rewrite_opf (f x))
- end.
- End with_var.
-
- Definition RewriteOp
- (rewrite_op_expr : forall var src dst, op src dst -> @exprf var src -> @exprf var dst)
- {t} (e : Expr t)
- : Expr t
- := fun var => rewrite_op (rewrite_op_expr _) (e _).
-End language.
diff --git a/src/Compilers/RewriterInterp.v b/src/Compilers/RewriterInterp.v
deleted file mode 100644
index 1f9fa5bed..000000000
--- a/src/Compilers/RewriterInterp.v
+++ /dev/null
@@ -1,50 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Rewriter.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-
-Section language.
- Context {base_type_code : Type}
- {interp_base_type : base_type_code -> Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_op : forall src dst, op src dst -> interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Local Notation exprf := (@exprf base_type_code op interp_base_type).
- Local Notation expr := (@expr base_type_code op interp_base_type).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section specialized.
- Context {rewrite_op_expr : forall src dst (opc : op src dst), exprf src -> exprf dst}
- (Hrewrite : forall src dst opc args,
- interpf interp_op (rewrite_op_expr src dst opc args)
- = interp_op _ _ opc (interpf interp_op args)).
-
- Lemma interpf_rewrite_opf {t} (e : exprf t)
- : interpf interp_op (rewrite_opf rewrite_op_expr e) = interpf interp_op e.
- Proof using Type*.
- induction e; simpl; unfold LetIn.Let_In; rewrite_hyp ?*; reflexivity.
- Qed.
-
- Lemma interp_rewrite_op {t} (e : expr t)
- : forall x, interp interp_op (rewrite_op rewrite_op_expr e) x = interp interp_op e x.
- Proof using Type*.
- destruct e; intro x; apply interpf_rewrite_opf.
- Qed.
- End specialized.
-
- Lemma InterpRewriteOp
- {rewrite_op_expr}
- (Hrewrite : forall src dst opc args,
- interpf interp_op (rewrite_op_expr interp_base_type src dst opc args)
- = interp_op _ _ opc (interpf interp_op args))
- {t} (e : Expr t)
- : forall x, Interp interp_op (RewriteOp rewrite_op_expr e) x = Interp interp_op e x.
- Proof using Type.
- apply interp_rewrite_op; assumption.
- Qed.
-End language.
-
-Hint Rewrite @InterpRewriteOp using assumption : reflective_interp.
diff --git a/src/Compilers/RewriterWf.v b/src/Compilers/RewriterWf.v
deleted file mode 100644
index 22c135d00..000000000
--- a/src/Compilers/RewriterWf.v
+++ /dev/null
@@ -1,61 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.Rewriter.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
- Local Notation Wf := (@Wf base_type_code op).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}
- {rewrite_op_expr1 : forall src dst (opc : op src dst),
- exprf (var:=var1) src -> exprf (var:=var1) dst}
- {rewrite_op_expr2 : forall src dst (opc : op src dst),
- exprf (var:=var2) src -> exprf (var:=var2) dst}
- (Hrewrite_wf : forall G src dst opc args1 args2,
- wff G args1 args2
- -> wff G
- (rewrite_op_expr1 src dst opc args1)
- (rewrite_op_expr2 src dst opc args2)).
-
- Lemma wff_rewrite_opf {t} G (e1 : @exprf var1 t) (e2 : @exprf var2 t)
- (Hwf : wff G e1 e2)
- : wff G (rewrite_opf rewrite_op_expr1 e1) (rewrite_opf rewrite_op_expr2 e2).
- Proof using Type*.
- induction Hwf; simpl; try constructor; auto.
- Qed.
-
- Lemma wf_rewrite_op {t} (e1 : @expr var1 t) (e2 : @expr var2 t)
- (Hwf : wf e1 e2)
- : wf (rewrite_op rewrite_op_expr1 e1) (rewrite_op rewrite_op_expr2 e2).
- Proof using Type*.
- destruct Hwf; simpl; constructor; intros; apply wff_rewrite_opf; auto.
- Qed.
- End with_var.
-
- Lemma Wf_RewriteOp
- {rewrite_op_expr}
- (Hrewrite_wff : forall var1 var2 G src dst opc args1 args2,
- wff G args1 args2
- -> wff G
- (rewrite_op_expr var1 src dst opc args1)
- (rewrite_op_expr var2 src dst opc args2))
- {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (RewriteOp rewrite_op_expr e).
- Proof using Type.
- intros var1 var2; apply wf_rewrite_op; auto.
- Qed.
-End language.
-
-Hint Resolve Wf_RewriteOp : wf.
diff --git a/src/Compilers/SmartMap.v b/src/Compilers/SmartMap.v
deleted file mode 100644
index b02bba2a1..000000000
--- a/src/Compilers/SmartMap.v
+++ /dev/null
@@ -1,453 +0,0 @@
-Require Import Coq.Classes.Morphisms.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Tuple.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Notations.
-
-Section homogenous_type.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {var : base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation interp_flat_type := (@interp_flat_type base_type_code).
- Local Notation exprf := (@exprf base_type_code op var).
- Local Notation expr := (@expr base_type_code op var).
-
- (** Sometimes, we want to deal with partially-interpreted
- expressions, things like [prod (exprf A) (exprf B)] rather than
- [exprf (Prod A B)], or like [prod (var A) (var B)] when we start
- with the type [Prod A B]. These convenience functions let us
- recurse on the type in only one place, and replace one kind of
- pairing operator (be it [pair] or [Pair] or anything else) with
- another kind, and simultaneously mapping a function over the
- base values (e.g., [Var] (for turning [var] into [exprf]) or
- [Const] (for turning [interp_base_type] into [exprf])). *)
- Fixpoint smart_interp_flat_map {f g}
- (h : forall x, f x -> g (Tbase x))
- (tt : g Unit)
- (pair : forall A B, g A -> g B -> g (Prod A B))
- {t}
- : interp_flat_type f t -> g t
- := match t return interp_flat_type f t -> g t with
- | Syntax.Tbase _ => h _
- | Unit => fun _ => tt
- | Prod A B => fun v : interp_flat_type _ A * interp_flat_type _ B
- => pair _ _
- (@smart_interp_flat_map f g h tt pair A (fst v))
- (@smart_interp_flat_map f g h tt pair B (snd v))
- end.
- Fixpoint smart_interp_flat_map2 {f1 f2 g}
- (h : forall x, f1 x -> f2 x -> g (Tbase x))
- (tt : g Unit)
- (pair : forall A B, g A -> g B -> g (Prod A B))
- {t}
- : interp_flat_type f1 t -> interp_flat_type f2 t -> g t
- := match t return interp_flat_type f1 t -> interp_flat_type f2 t -> g t with
- | Syntax.Tbase _ => h _
- | Unit => fun _ _ => tt
- | Prod A B => fun (v1 : interp_flat_type _ A * interp_flat_type _ B)
- (v2 : interp_flat_type _ A * interp_flat_type _ B)
- => pair _ _
- (@smart_interp_flat_map2 f1 f2 g h tt pair A (fst v1) (fst v2))
- (@smart_interp_flat_map2 f1 f2 g h tt pair B (snd v1) (snd v2))
- end.
- Fixpoint smart_interp_flat_map3 {f1 f2 f3 g}
- (h : forall x, f1 x -> f2 x -> f3 x -> g (Tbase x))
- (tt : g Unit)
- (pair : forall A B, g A -> g B -> g (Prod A B))
- {t}
- : interp_flat_type f1 t -> interp_flat_type f2 t -> interp_flat_type f3 t -> g t
- := match t return interp_flat_type f1 t -> interp_flat_type f2 t -> interp_flat_type f3 t -> g t with
- | Syntax.Tbase _ => h _
- | Unit => fun _ _ _ => tt
- | Prod A B => fun (v1 : interp_flat_type _ A * interp_flat_type _ B)
- (v2 : interp_flat_type _ A * interp_flat_type _ B)
- (v3 : interp_flat_type _ A * interp_flat_type _ B)
- => pair _ _
- (@smart_interp_flat_map3 f1 f2 f3 g h tt pair A (fst v1) (fst v2) (fst v3))
- (@smart_interp_flat_map3 f1 f2 f3 g h tt pair B (snd v1) (snd v2) (snd v3))
- end.
- Definition smart_interp_map_hetero {f g g'}
- (h : forall x, f x -> g (Tbase x))
- (tt : g Unit)
- (pair : forall A B, g A -> g B -> g (Prod A B))
- (abs : forall A B, (g A -> g B) -> g' (Arrow A B))
- {t}
- : interp_type_gen_hetero g (interp_flat_type f) t -> g' t
- := match t return interp_type_gen_hetero g (interp_flat_type f) t -> g' t with
- | Arrow A B => fun v => abs _ _
- (fun x => @smart_interp_flat_map f g h tt pair _ (v x))
- end.
- Fixpoint SmartValf {T} (val : forall t : base_type_code, T t) t : interp_flat_type T t
- := match t return interp_flat_type T t with
- | Syntax.Tbase _ => val _
- | Unit => tt
- | Prod A B => (@SmartValf T val A, @SmartValf T val B)
- end.
- Section SmartValf_monad.
- Context (M : Type -> Type) (ret : forall T, T -> M T)
- (bind : forall A B, M A -> (A -> M B) -> M B).
- Fixpoint SmartValfM
- {T} (val : forall t : base_type_code, M (T t)) t : M (interp_flat_type T t)
- := match t return M (interp_flat_type T t) with
- | Syntax.Tbase _ => val _
- | Unit => ret _ tt
- | Prod A B => bind _ _ (@SmartValfM T val A)
- (fun a => bind _ _ (@SmartValfM T val B)
- (fun b => ret _ (a, b)))
- end.
- End SmartValf_monad.
-
- (** [SmartVar] is like [Var], except that it inserts
- pair-projections and [Pair] as necessary to handle [flat_type],
- and not just [base_type_code] *)
- Local Notation exprfb := (fun t => exprf (Tbase t)).
- Definition SmartValf_option {T} (val : forall t, option (T t)) t
- : option (interp_flat_type T t)
- := @SmartValfM
- (fun t => option t) (fun t v => @Some t v)
- (fun _ _ x f => match x with
- | Some x => f x
- | None => None
- end)
- T val t.
- Definition SmartPairf {t} : interp_flat_type exprfb t -> exprf t
- := @smart_interp_flat_map exprfb exprf (fun t x => x) TT (fun A B x y => Pair x y) t.
- Lemma SmartPairf_Pair {A B} (e1 : interp_flat_type _ A) (e2 : interp_flat_type _ B)
- : SmartPairf (t:=Prod A B) (e1, e2)%core = Pair (SmartPairf e1) (SmartPairf e2).
- Proof using Type. reflexivity. Qed.
- Definition SmartVarf {t} : interp_flat_type var t -> exprf t
- := @smart_interp_flat_map var exprf (fun t => Var) TT (fun A B x y => Pair x y) t.
- Definition SmartVarf_Pair {A B v}
- : @SmartVarf (Prod A B) v = Pair (SmartVarf (fst v)) (SmartVarf (snd v))
- := eq_refl.
- Definition SmartVarfMap {var var'} (f : forall t, var t -> var' t) {t}
- : interp_flat_type var t -> interp_flat_type var' t
- := @smart_interp_flat_map var (interp_flat_type var') f tt (fun A B x y => pair x y) t.
- Lemma SmartVarfMap_compose {var' var'' var''' t} f g x
- : @SmartVarfMap var'' var''' g t (@SmartVarfMap var' var'' f t x)
- = @SmartVarfMap _ _ (fun t v => g t (f t v)) t x.
- Proof using Type.
- unfold SmartVarfMap; clear; induction t; simpl; destruct_head_hnf unit; destruct_head_hnf prod;
- rewrite_hyp ?*; congruence.
- Qed.
- Lemma SmartVarfMap_id {var' t} x : @SmartVarfMap var' var' (fun _ x => x) t x = x.
- Proof using Type.
- unfold SmartVarfMap; clear; induction t; simpl; destruct_head_hnf unit; destruct_head_hnf prod;
- rewrite_hyp ?*; congruence.
- Qed.
- Definition SmartVarfMap_Pair {var' var''} {f' : forall t, var' t -> var'' t} {A B}
- v
- : @SmartVarfMap var' var'' f' (Prod A B) v
- = (SmartVarfMap f' (fst v), SmartVarfMap f' (snd v))
- := eq_refl.
- Lemma SmartVarfMap_tuple' {var' var''} {f' : forall t, var' t -> var'' t} {T n}
- v
- : @SmartVarfMap var' var'' f' (tuple' T n) v
- = flat_interp_untuple' (Tuple.map' (@SmartVarfMap var' var'' f' _) (flat_interp_tuple' v)).
- Proof.
- induction n as [|n IHn]; [ reflexivity | destruct v as [v0 v1] ].
- simpl; rewrite SmartVarfMap_Pair, IHn; simpl.
- reflexivity.
- Qed.
- Definition SmartVarfMap_tuple {var' var''} {f' : forall t, var' t -> var'' t} {T n}
- v
- : @SmartVarfMap var' var'' f' (tuple T n) v
- = tuple_map (@SmartVarfMap var' var'' f' _) v.
- Proof.
- destruct n as [|n]; [ destruct v; reflexivity | ].
- apply SmartVarfMap_tuple'.
- Qed.
- Global Instance smart_interp_flat_map_Proper {f g}
- : Proper ((forall_relation (fun t => pointwise_relation _ eq))
- ==> eq
- ==> (forall_relation (fun A => forall_relation (fun B => pointwise_relation _ (pointwise_relation _ eq))))
- ==> forall_relation (fun t => eq ==> eq))
- (@smart_interp_flat_map f g).
- Proof using Type.
- unfold forall_relation, pointwise_relation, respectful.
- intros F G HFG x y ? Q R HQR t a b ?; subst y b.
- induction t; simpl in *; auto.
- rewrite_hyp !*; reflexivity.
- Qed.
- Global Instance SmartVarfMap_Proper {var' var''}
- : Proper (forall_relation (fun t => pointwise_relation _ eq) ==> forall_relation (fun t => eq ==> eq))
- (@SmartVarfMap var' var'').
- Proof using Type.
- repeat intro; eapply smart_interp_flat_map_Proper; trivial; repeat intro; reflexivity.
- Qed.
- Definition SmartVarfMap2 {var var' var''} (f : forall t, var t -> var' t -> var'' t) {t}
- : interp_flat_type var t -> interp_flat_type var' t -> interp_flat_type var'' t
- := @smart_interp_flat_map2 var var' (interp_flat_type var'') f tt (fun A B x y => pair x y) t.
- Lemma SmartVarfMap2_fst_arg {var' var''} {t}
- (x : interp_flat_type var' t)
- (y : interp_flat_type var'' t)
- : SmartVarfMap2 (fun _ a b => a) x y = x.
- Proof using Type.
- unfold SmartVarfMap2; clear; induction t; simpl; destruct_head_hnf unit; destruct_head_hnf prod;
- rewrite_hyp ?*; congruence.
- Qed.
- Lemma SmartVarfMap2_snd_arg {var' var''} {t}
- (x : interp_flat_type var' t)
- (y : interp_flat_type var'' t)
- : SmartVarfMap2 (fun _ a b => b) x y = y.
- Proof using Type.
- unfold SmartVarfMap2; clear; induction t; simpl; destruct_head_hnf unit; destruct_head_hnf prod;
- rewrite_hyp ?*; congruence.
- Qed.
- Definition SmartVarfMap3 {var var' var'' var'''} (f : forall t, var t -> var' t -> var'' t -> var''' t) {t}
- : interp_flat_type var t -> interp_flat_type var' t -> interp_flat_type var'' t -> interp_flat_type var''' t
- := @smart_interp_flat_map3 var var' var'' (interp_flat_type var''') f tt (fun A B x y => pair x y) t.
- Definition SmartVarfTypeMap {var} (f : forall t, var t -> Type) {t}
- : interp_flat_type var t -> Type
- := @smart_interp_flat_map var (fun _ => Type) f unit (fun _ _ P Q => P * Q)%type t.
- Definition SmartVarfPropMap {var} (f : forall t, var t -> Prop) {t}
- : interp_flat_type var t -> Prop
- := @smart_interp_flat_map var (fun _ => Prop) f True (fun _ _ P Q => P /\ Q)%type t.
- Definition SmartVarfTypeMap2 {var var'} (f : forall t, var t -> var' t -> Type) {t}
- : interp_flat_type var t -> interp_flat_type var' t -> Type
- := @smart_interp_flat_map2 var var' (fun _ => Type) f unit (fun _ _ P Q => P * Q)%type t.
- Definition SmartVarfPropMap2 {var var'} (f : forall t, var t -> var' t -> Prop) {t}
- : interp_flat_type var t -> interp_flat_type var' t -> Prop
- := @smart_interp_flat_map2 var var' (fun _ => Prop) f True (fun _ _ P Q => P /\ Q)%type t.
- Definition SmartFlatTypeMap {var'} (f : forall t, var' t -> base_type_code) {t}
- : interp_flat_type var' t -> flat_type
- := @smart_interp_flat_map var' (fun _ => flat_type) (fun t v => Tbase (f t v)) Unit (fun _ _ => Prod) t.
- Definition SmartFlatTypeMap_Pair {var'} (f : forall t, var' t -> base_type_code) {A B}
- (x : interp_flat_type var' (A * B))
- : SmartFlatTypeMap f x
- = (SmartFlatTypeMap f (@fst (interp_flat_type _ _) (interp_flat_type _ _) x)
- * SmartFlatTypeMap f (@snd (interp_flat_type _ _) (interp_flat_type _ _) x))%ctype
- := eq_refl.
- Definition SmartFlatTypeUnMap (t : flat_type)
- : interp_flat_type (fun _ => base_type_code) t
- := SmartValf (fun t => t) t.
- Fixpoint SmartFlatTypeMapInterp {var' var''} (f : forall t, var' t -> base_type_code)
- (fv : forall t v, var'' (f t v)) t {struct t}
- : forall v, interp_flat_type var'' (SmartFlatTypeMap f (t:=t) v)
- := match t return forall v, interp_flat_type var'' (SmartFlatTypeMap f (t:=t) v) with
- | Syntax.Tbase x => fv _
- | Unit => fun v => v
- | Prod A B => fun xy : interp_flat_type _ A * interp_flat_type _ B
- => (@SmartFlatTypeMapInterp _ _ f fv A (fst xy),
- @SmartFlatTypeMapInterp _ _ f fv B (snd xy))
- end.
- Fixpoint SmartFlatTypeMapInterp2 {var' var'' var'''} (f : forall t, var' t -> base_type_code)
- (fv : forall t v, var'' t -> var''' (f t v)) t {struct t}
- : forall v, interp_flat_type var'' t -> interp_flat_type var''' (SmartFlatTypeMap f (t:=t) v)
- := match t return forall v, interp_flat_type var'' t -> interp_flat_type var''' (SmartFlatTypeMap f (t:=t) v) with
- | Syntax.Tbase x => fv _
- | Unit => fun v _ => v
- | Prod A B => fun (xy : interp_flat_type _ A * interp_flat_type _ B)
- (x'y' : interp_flat_type _ A * interp_flat_type _ B)
- => (@SmartFlatTypeMapInterp2 _ _ _ f fv A (fst xy) (fst x'y'),
- @SmartFlatTypeMapInterp2 _ _ _ f fv B (snd xy) (snd x'y'))
- end.
- Fixpoint SmartFlatTypeMapUnInterp var' var'' var''' (f : forall t, var' t -> base_type_code)
- (fv : forall t (v : var' t), var'' (f t v) -> var''' t)
- {t} {struct t}
- : forall v, interp_flat_type var'' (SmartFlatTypeMap f (t:=t) v)
- -> interp_flat_type var''' t
- := match t return forall v, interp_flat_type var'' (SmartFlatTypeMap f (t:=t) v)
- -> interp_flat_type var''' t with
- | Syntax.Tbase x => fv _
- | Unit => fun _ v => v
- | Prod A B => fun (v : interp_flat_type _ A * interp_flat_type _ B)
- (xy : interp_flat_type _ (SmartFlatTypeMap _ (fst v)) * interp_flat_type _ (SmartFlatTypeMap _ (snd v)))
- => (@SmartFlatTypeMapUnInterp _ _ _ f fv A _ (fst xy),
- @SmartFlatTypeMapUnInterp _ _ _ f fv B _ (snd xy))
- end.
- Definition SmartVarMap {var' var''} (f : forall t, var' t -> var'' t) (f' : forall t, var'' t -> var' t) {t}
- : interp_type_gen (interp_flat_type var') t -> interp_type_gen (interp_flat_type var'') t
- := match t return interp_type_gen (interp_flat_type var') t -> interp_type_gen (interp_flat_type var'') t with
- | Arrow src dst => fun F x => SmartVarfMap f (F (SmartVarfMap f' x))
- end.
- Lemma SmartVarMap_id {var' t} x v : @SmartVarMap var' var' (fun _ x => x) (fun _ x => x) t x v = x v.
- Proof using Type. destruct t; simpl; rewrite !SmartVarfMap_id; reflexivity. Qed.
- Definition SmartVarVarf {t} : interp_flat_type var t -> interp_flat_type exprfb t
- := SmartVarfMap (fun t => Var).
- Definition SmartVarVarf_Pair {A B} (v : interp_flat_type _ _ * interp_flat_type _ _)
- : @SmartVarVarf (Prod A B) v
- = (SmartVarVarf (fst v), SmartVarVarf (snd v))
- := eq_refl.
- Lemma SmartPairfSmartVarVarf_SmartVarf {t} v
- : SmartPairf (SmartVarVarf v) = SmartVarf (t:=t) v.
- Proof.
- induction t; try reflexivity; simpl.
- rewrite SmartVarf_Pair, SmartVarVarf_Pair, SmartPairf_Pair; f_equal;
- auto.
- Qed.
-End homogenous_type.
-
-Global Arguments SmartVarf {_ _ _ _} _.
-Global Arguments SmartPairf {_ _ _ t} _.
-Global Arguments SmartValf {_} T _ t.
-Global Arguments SmartVarVarf {_ _ _ _} _.
-Global Arguments SmartVarfMap {_ _ _} _ {!_} _ / .
-Global Arguments SmartVarfMap2 {_ _ _ _} _ {!t} _ _ / .
-Global Arguments SmartVarfMap3 {_ _ _ _ _} _ {!t} _ _ _ / .
-Global Arguments SmartVarfTypeMap {_ _} _ {_} _.
-Global Arguments SmartVarfPropMap {_ _} _ {_} _.
-Global Arguments SmartVarfTypeMap2 {_ _ _} _ {t} _ _.
-Global Arguments SmartVarfPropMap2 {_ _ _} _ {t} _ _.
-Global Arguments SmartFlatTypeMap {_ _} _ {_} _.
-Global Arguments SmartFlatTypeUnMap {_} _.
-Global Arguments SmartFlatTypeMapInterp {_ _ _ _} _ {_} _.
-Global Arguments SmartFlatTypeMapInterp2 {_ _ _ _ f} fv {t} _ _.
-Global Arguments SmartFlatTypeMapUnInterp {_ _ _ _ _} fv {_ _} _.
-Global Arguments SmartVarMap {_ _ _} _ _ {!_} _ / _.
-
-Section hetero_type.
- Fixpoint flatten_flat_type {base_type_code} (t : flat_type (flat_type base_type_code)) : flat_type base_type_code
- := match t with
- | Tbase T => T
- | Unit => Unit
- | Prod A B => Prod (@flatten_flat_type _ A) (@flatten_flat_type _ B)
- end.
-
- Section smart_flat_type_map2.
- Context {base_type_code1 base_type_code2 : Type}.
-
- Definition SmartFlatTypeMap2 {var' : base_type_code1 -> Type} (f : forall t, var' t -> flat_type base_type_code2) {t}
- : interp_flat_type var' t -> flat_type base_type_code2
- := @smart_interp_flat_map base_type_code1 var' (fun _ => flat_type base_type_code2) f Unit (fun _ _ => Prod) t.
- Fixpoint SmartFlatTypeMap2Interp {var' var''} (f : forall t, var' t -> flat_type base_type_code2)
- (fv : forall t v, interp_flat_type var'' (f t v)) t {struct t}
- : forall v, interp_flat_type var'' (SmartFlatTypeMap2 f (t:=t) v)
- := match t return forall v, interp_flat_type var'' (SmartFlatTypeMap2 f (t:=t) v) with
- | Tbase x => fv _
- | Unit => fun v => v
- | Prod A B => fun xy : interp_flat_type _ A * interp_flat_type _ B
- => (@SmartFlatTypeMap2Interp _ _ f fv A (fst xy),
- @SmartFlatTypeMap2Interp _ _ f fv B (snd xy))
- end.
- Fixpoint SmartFlatTypeMapUnInterp2 var' var'' var''' (f : forall t, var' t -> flat_type base_type_code2)
- (fv : forall t (v : var' t), interp_flat_type var'' (f t v) -> var''' t)
- {t} {struct t}
- : forall v, interp_flat_type var'' (SmartFlatTypeMap2 f (t:=t) v)
- -> interp_flat_type var''' t
- := match t return forall v, interp_flat_type var'' (SmartFlatTypeMap2 f (t:=t) v)
- -> interp_flat_type var''' t with
- | Tbase x => fv _
- | Unit => fun _ v => v
- | Prod A B => fun (v : interp_flat_type _ A * interp_flat_type _ B)
- (xy : interp_flat_type _ (SmartFlatTypeMap2 _ (fst v)) * interp_flat_type _ (SmartFlatTypeMap2 _ (snd v)))
- => (@SmartFlatTypeMapUnInterp2 _ _ _ f fv A _ (fst xy),
- @SmartFlatTypeMapUnInterp2 _ _ _ f fv B _ (snd xy))
- end.
- Fixpoint SmartFlatTypeMap2Interp2 {var' var'' var'''} (f : forall t, var' t -> flat_type base_type_code2)
- (fv : forall t v, var'' t -> interp_flat_type var''' (f t v)) t {struct t}
- : forall v, interp_flat_type var'' t -> interp_flat_type var''' (SmartFlatTypeMap2 f (t:=t) v)
- := match t return forall v, interp_flat_type var'' t -> interp_flat_type var''' (SmartFlatTypeMap2 f (t:=t) v) with
- | Tbase x => fv _
- | Unit => fun v _ => v
- | Prod A B => fun (xy : interp_flat_type _ A * interp_flat_type _ B)
- (x'y' : interp_flat_type _ A * interp_flat_type _ B)
- => (@SmartFlatTypeMap2Interp2 _ _ _ f fv A (fst xy) (fst x'y'),
- @SmartFlatTypeMap2Interp2 _ _ _ f fv B (snd xy) (snd x'y'))
- end.
-
- Lemma SmartFlatTypeMapUnInterp2_SmartFlatTypeMap2Interp2
- var' var'' var'''
- (f : forall t, var' t -> flat_type base_type_code2)
- (fv : forall t (v : var' t), interp_flat_type var'' (f t v) -> var''' t)
- (gv : forall t v, var''' t -> interp_flat_type var'' (f t v))
- {t} v
- (e : interp_flat_type var''' t)
- : @SmartFlatTypeMapUnInterp2
- _ _ _ f fv t v
- (@SmartFlatTypeMap2Interp2
- _ _ _ f gv t v e)
- = SmartVarfMap2 (fun t v e => fv t v (gv t v e)) v e.
- Proof using Type.
- induction t; simpl in *; destruct_head' unit;
- rewrite_hyp ?*; reflexivity.
- Qed.
- End smart_flat_type_map2.
-
- Section smart_flat_type.
- Context {base_type_code1 base_type_code2 : Type}
- (f : base_type_code1 -> base_type_code2).
- Fixpoint lift_flat_type (t : flat_type base_type_code1)
- : flat_type base_type_code2
- := match t with
- | Tbase T => Tbase (f T)
- | Unit => Unit
- | Prod A B => Prod (lift_flat_type A) (lift_flat_type B)
- end.
-
- Section with_var.
- Context {var1 : base_type_code1 -> Type}
- {var2 : base_type_code2 -> Type}
- (fvar : forall t, var1 t -> var2 (f t))
- (fvar' : forall t, var2 (f t) -> var1 t).
-
- Fixpoint transfer_interp_flat_type {t}
- : interp_flat_type var1 t
- -> interp_flat_type var2 (lift_flat_type t)
- := match t with
- | Tbase T => fvar _
- | Unit => fun v => v
- | Prod A B => fun ab : interp_flat_type _ A * interp_flat_type _ B
- => (@transfer_interp_flat_type _ (fst ab),
- @transfer_interp_flat_type _ (snd ab))%core
- end.
-
- Fixpoint untransfer_interp_flat_type {t}
- : interp_flat_type var2 (lift_flat_type t)
- -> interp_flat_type var1 t
- := match t with
- | Tbase T => fvar' _
- | Unit => fun v => v
- | Prod A B => fun ab : interp_flat_type _ (lift_flat_type A)
- * interp_flat_type _ (lift_flat_type B)
- => (@untransfer_interp_flat_type _ (fst ab),
- @untransfer_interp_flat_type _ (snd ab))%core
- end.
- End with_var.
- End smart_flat_type.
-End hetero_type.
-
-Global Arguments SmartFlatTypeMap2 {_ _ _} _ {!_} _ / .
-Global Arguments SmartFlatTypeMap2Interp {_ _ _ _ _} fv {_} _.
-Global Arguments SmartFlatTypeMap2Interp2 {_ _ _ _ _ _} fv {t} v _.
-Global Arguments SmartFlatTypeMapUnInterp2 {_ _ _ _ _ _} fv {_ _} _.
-
-Section interp_lemmas.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}
- {interp_base_type : base_type_code -> Type}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}.
-
- Local Notation exprfb := (fun t => exprf _ op (Tbase t)).
-
- Lemma interpf_SmartVarf
- {t} (e : interp_flat_type _ t)
- : @interpf _ interp_base_type _ interp_op _ (SmartVarf (var:=interp_base_type) e)
- = e.
- Proof.
- induction t as [ t | | A IHA B IHB ]; try destruct e; try reflexivity.
- rewrite !SmartVarf_Pair; cbn; rewrite IHA, IHB.
- reflexivity.
- Qed.
-
- Lemma interpf_SmartPairf'
- {t} (e : interp_flat_type exprfb t)
- : @interpf _ interp_base_type _ interp_op _ (SmartPairf e)
- = SmartVarfMap (fun t => interpf interp_op) e.
- Proof.
- induction t as [ t | | A IHA B IHB ]; try reflexivity.
- { destruct e.
- rewrite !SmartPairf_Pair, !SmartVarfMap_Pair, <- !IHA, <- !IHB.
- reflexivity. }
- Qed.
-
- Lemma interpf_SmartPairf
- {t} (e : interp_flat_type exprfb t)
- : @interpf _ interp_base_type _ interp_op _ (SmartPairf (var:=interp_base_type) e)
- = SmartVarfMap (fun t => interpf interp_op) e.
- Proof. apply interpf_SmartPairf'. Qed.
-End interp_lemmas.
diff --git a/src/Compilers/StripExpr.v b/src/Compilers/StripExpr.v
deleted file mode 100644
index 57b3e2365..000000000
--- a/src/Compilers/StripExpr.v
+++ /dev/null
@@ -1,35 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation exprf := (@exprf base_type_code op).
-
- Section with_var.
- Context {var : base_type_code -> Type}.
-
- Fixpoint strip_exprf {T} (e : @exprf (fun t => @exprf var (Tbase t)) T)
- : @exprf var T
- := match e with
- | TT => TT
- | Var t v
- => v
- | Op src dst opv args
- => Op opv (strip_exprf args)
- | LetIn tx ex tC eC
- => LetIn (strip_exprf ex)
- (fun v => strip_exprf (eC (SmartVarVarf v)))
- | Pair tx ex ty ey
- => Pair (strip_exprf ex) (strip_exprf ey)
- end.
-
- Definition strip_expr {T} (e : @expr (fun t => @exprf var (Tbase t)) T)
- : @expr var T
- := match e with
- | Abs src dst f => Abs (fun x => strip_exprf (f (SmartVarVarf x)))
- end.
- End with_var.
-End language.
diff --git a/src/Compilers/Syntax.v b/src/Compilers/Syntax.v
deleted file mode 100644
index c86567c6d..000000000
--- a/src/Compilers/Syntax.v
+++ /dev/null
@@ -1,154 +0,0 @@
-(** * PHOAS Representation of Gallina *)
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-
-(** We parameterize the language over a type of basic type codes (for
- things like [Z], [word], [bool]), as well as a type of n-ary
- operations returning one value, and n-ary operations returning two
- values. *)
-Delimit Scope ctype_scope with ctype.
-Local Open Scope ctype_scope.
-Delimit Scope expr_scope with expr.
-Local Open Scope expr_scope.
-Section language.
- Context (base_type_code : Type).
-
- Inductive flat_type := Tbase (T : base_type_code) | Unit | Prod (A B : flat_type).
- Bind Scope ctype_scope with flat_type.
-
- Inductive type := Arrow (A : flat_type) (B : flat_type).
- Bind Scope ctype_scope with type.
-
- Infix "*" := Prod : ctype_scope.
- Notation "A -> B" := (Arrow A B) : ctype_scope.
- Local Coercion Tbase : base_type_code >-> flat_type.
-
- Section tuple.
- Context (T : flat_type).
- Fixpoint tuple' n :=
- match n with
- | O => T
- | S n' => (tuple' n' * T)%ctype
- end.
- Definition tuple n :=
- match n with
- | O => Unit
- | S n' => tuple' n'
- end.
- End tuple.
-
- Definition domain (t : type) : flat_type
- := match t with Arrow src dst => src end.
- Definition codomain (t : type) : flat_type
- := match t with Arrow src dst => dst end.
-
- Section interp.
- Definition interp_type_gen_hetero (interp_src interp_dst : flat_type -> Type) (t : type) :=
- (interp_src match t with Arrow x y => x end -> interp_dst match t with Arrow x y => y end)%type.
- Definition interp_type_gen (interp_flat_type : flat_type -> Type)
- := interp_type_gen_hetero interp_flat_type interp_flat_type.
- Section flat_type.
- Context (interp_base_type : base_type_code -> Type).
- Fixpoint interp_flat_type (t : flat_type) :=
- match t with
- | Tbase t => interp_base_type t
- | Unit => unit
- | Prod x y => prod (interp_flat_type x) (interp_flat_type y)
- end.
- Definition interp_type := interp_type_gen interp_flat_type.
- End flat_type.
- End interp.
-
- Section expr_param.
- Context (interp_base_type : base_type_code -> Type).
- Context (op : flat_type (* input tuple *) -> flat_type (* output type *) -> Type).
- Local Notation interp_type := (interp_type interp_base_type).
- Local Notation interp_flat_type_gen := interp_flat_type.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
- Section expr.
- Context {var : base_type_code -> Type}.
-
- (** N.B. [Let] binds the components of a pair to separate variables, and does so recursively *)
- Inductive exprf : flat_type -> Type :=
- | TT : exprf Unit
- | Var {t} (v : var t) : exprf t
- | Op {t1 tR} (opc : op t1 tR) (args : exprf t1) : exprf tR
- | LetIn {tx} (ex : exprf tx) {tC} (eC : interp_flat_type_gen var tx -> exprf tC) : exprf tC
- | Pair {tx} (ex : exprf tx) {ty} (ey : exprf ty) : exprf (Prod tx ty).
- Bind Scope expr_scope with exprf.
- Inductive expr : type -> Type :=
- | Abs {src dst} (f : interp_flat_type_gen var src -> exprf dst) : expr (Arrow src dst).
- Bind Scope expr_scope with expr.
- End expr.
-
- Definition Expr (t : type) := forall var, @expr var t.
-
- Section interp.
- Context (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst).
-
- Definition interpf_step
- (interpf : forall {t} (e : @exprf interp_flat_type t), interp_flat_type t)
- {t} (e : @exprf interp_flat_type t) : interp_flat_type t
- := match e in exprf t return interp_flat_type t with
- | TT => tt
- | Var _ x => x
- | Op _ _ op args => @interp_op _ _ op (@interpf _ args)
- | LetIn _ ex _ eC => dlet x := @interpf _ ex in @interpf _ (eC x)
- | Pair _ ex _ ey => (@interpf _ ex, @interpf _ ey)
- end.
-
- Fixpoint interpf {t} e
- := @interpf_step (@interpf) t e.
-
- Definition interp {t} (e : @expr interp_base_type t) : interp_type t
- := fun x
- => @interpf
- _
- (match e in @expr _ t
- return interp_flat_type (domain t)
- -> exprf (codomain t)
- with
- | Abs _ _ f => f
- end x).
-
- Definition Interp {t} (E : Expr t) : interp_type t := interp (E _).
- End interp.
- End expr_param.
-End language.
-Global Arguments tuple' {_}%type_scope _%ctype_scope _%nat_scope.
-Global Arguments tuple {_}%type_scope _%ctype_scope _%nat_scope.
-Global Arguments Unit {_}%type_scope.
-Global Arguments Prod {_}%type_scope (_ _)%ctype_scope.
-Global Arguments Arrow {_}%type_scope (_ _)%ctype_scope.
-Global Arguments Tbase {_}%type_scope _%ctype_scope.
-Global Arguments domain {_}%type_scope _%ctype_scope.
-Global Arguments codomain {_}%type_scope _%ctype_scope.
-
-Global Arguments Var {_ _ _ _} _.
-Global Arguments TT {_ _ _}.
-Global Arguments Op {_ _ _ _ _} _ _.
-Global Arguments LetIn {_ _ _ _} _ {_} _.
-Global Arguments Pair {_ _ _ _} _ {_} _.
-Global Arguments Abs {_ _ _ _ _} _.
-Global Arguments interp_type_gen_hetero {_} _ _ _.
-Global Arguments interp_type_gen {_} _ _.
-Global Arguments interp_flat_type {_} _ _.
-Global Arguments interp_type {_} _ _.
-Global Arguments Interp {_ _ _} interp_op {t} _ _.
-Global Arguments interp {_ _ _} interp_op {t} _ _.
-Global Arguments interpf {_ _ _} interp_op {t} _.
-Global Arguments interp _ _ _ _ _ !_ / _.
-
-Module Export Notations.
- Notation "()" := (@Unit _) : ctype_scope.
- Notation "A * B" := (@Prod _ A B) : ctype_scope.
- Notation "A -> B" := (@Arrow _ A B) : ctype_scope.
- Notation "'slet' x .. y := A 'in' b" := (LetIn A%expr (fun x => .. (fun y => b%expr) .. )) : expr_scope.
- Notation "'λ' x .. y , t" := (Abs (fun x => .. (Abs (fun y => t%expr)) ..)) : expr_scope.
- Notation "( x , y , .. , z )" := (Pair .. (Pair x%expr y%expr) .. z%expr) : expr_scope.
- Notation "( )" := TT : expr_scope.
- Notation "()" := TT : expr_scope.
- Infix "^" := (@tuple _) : ctype_scope.
- Bind Scope ctype_scope with flat_type.
- Bind Scope ctype_scope with type.
-End Notations.
diff --git a/src/Compilers/TestCase.v b/src/Compilers/TestCase.v
deleted file mode 100644
index 858c09a26..000000000
--- a/src/Compilers/TestCase.v
+++ /dev/null
@@ -1,276 +0,0 @@
-Require Import Coq.omega.Omega Coq.micromega.Psatz.
-Require Import Coq.PArith.BinPos Coq.Lists.List.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Compilers.Named.RegisterAssign.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Equality.
-Require Export Crypto.Compilers.Reify.
-Require Import Crypto.Compilers.InputSyntax.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-Require Crypto.Compilers.Linearize Crypto.Compilers.Inline.
-Require Import Crypto.Compilers.WfReflective.
-Require Import Crypto.Compilers.Conversion.
-Require Import Crypto.Util.NatUtil.
-Require Import Crypto.Util.ZRange.
-
-Import ReifyDebugNotations.
-
-Local Set Boolean Equality Schemes.
-Local Set Decidable Equality Schemes.
-Inductive base_type := Tnat.
-Definition interp_base_type (v : base_type) : Type :=
- match v with
- | Tnat => nat
- end.
-Local Notation tnat := (Tbase Tnat).
-Inductive op : flat_type base_type -> flat_type base_type -> Type :=
-| Const (v : nat) : op Unit tnat
-| Add : op (Prod tnat tnat) tnat
-| Mul : op (Prod tnat tnat) tnat
-| Sub : op (Prod tnat tnat) tnat.
-Notation "' x" := (Syntax.Op (Const x) _) (only printing, at level 10) : expr_scope.
-Notation "' x" := (Syntax.Var x) (only printing, at level 10) : expr_scope.
-Notation "a + b" := (Syntax.Op Add (a, b)%expr) : expr_scope.
-Notation "a * b" := (Syntax.Op Mul (a, b)%expr) : expr_scope.
-Notation "a - b" := (Syntax.Op Sub (a, b)%expr) : expr_scope.
-Notation "' x" := (Named.Op (Const x) _) (only printing, at level 10) : nexpr_scope.
-Notation "a + b" := (Named.Op Add (a, b)%nexpr) : nexpr_scope.
-Notation "a * b" := (Named.Op Mul (a, b)%nexpr) : nexpr_scope.
-Notation "a - b" := (Named.Op Sub (a, b)%nexpr) : nexpr_scope.
-Definition is_const s d (v : op s d) : bool := match v with Const _ => true | _ => false end.
-Definition interp_op src dst (f : op src dst) : interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst
- := match f with
- | Const v => fun _ => v
- | Add => fun xy => fst xy + snd xy
- | Mul => fun xy => fst xy * snd xy
- | Sub => fun xy => fst xy - snd xy
- end%nat.
-
-Global Instance: reify_op op plus 2 Add := I.
-Global Instance: reify_op op mult 2 Mul := I.
-Global Instance: reify_op op minus 2 Sub := I.
-Global Instance: reify type nat := Tnat.
-
-Definition make_const (t : base_type) : interp_base_type t -> op Unit (Tbase t)
- := match t with
- | Tnat => fun v => Const v
- end.
-Ltac Reify' e := Reify.Reify' base_type interp_base_type op e.
-Ltac Reify e := Reify.Reify base_type interp_base_type op make_const e.
-Ltac Reify_rhs := Reify.Reify_rhs base_type interp_base_type op make_const interp_op.
-Ltac reify_context_variables :=
- Reify.reify_context_variables base_type interp_base_type op.
-
-(*Ltac reify_debug_level ::= constr:(2).*)
-
-Goal (flat_type base_type -> Type) -> False.
- intro var.
- let x := reifyf base_type interp_base_type op var 1%nat in pose x.
- let x := Reify' 1%nat in unify x (fun var => Return (InputSyntax.Const (interp_base_type:=interp_base_type) (var:=var) (t:=Tbase Tnat) (op:=op) 1)).
- let x := reifyf base_type interp_base_type op var (1 + 1)%nat in pose x.
- let x := Reify' (1 + 1)%nat in unify x (fun var => Return (Op Add (Pair (InputSyntax.Const (interp_base_type:=interp_base_type) (var:=var) (t:=Tbase Tnat) (op:=op) 1) (InputSyntax.Const (interp_base_type:=interp_base_type) (var:=var) (t:=Tbase Tnat) (op:=op) 1)))).
- let x := reify_abs base_type interp_base_type op var (fun x => x + 1)%nat in pose x.
- let x := Reify' (fun x => x + 1)%nat in unify x (fun var => Abs (fun y => Return (Op Add (Pair (Var y) (InputSyntax.Const (interp_base_type:=interp_base_type) (var:=var) (t:=Tbase Tnat) (op:=op) 1))))).
- let x := reifyf base_type interp_base_type op var (let '(a, b) := (1, 1) in a + b)%nat in pose x.
- let x := reifyf base_type interp_base_type op var (let '(a, b, c) := (1, 1, 1) in a + b + c)%nat in pose x.
- let x := Reify' (fun x => let '(a, b) := (1, 1) in a + x)%nat in let x := (eval vm_compute in x) in pose x.
- let x := Reify' (fun x => let '(a, b, c, (d, e), f) := x in a + b + c + d + e + f)%nat in let x := (eval vm_compute in x) in pose x.
- let x := Reify' (fun x => let '(a, b) := x in let '(a, c) := a in let '(a, d) := a in a + b + c + d)%nat in let x := (eval vm_compute in x) in pose x.
- let x := Reify' (fun ab0 : nat * nat * nat * nat => let (f, g6) := fst ab0 in
- let (f0, g7) := f in
- let ab3 := (1, 1) in
- let ab21 := (1, 1) in
- let z := snd ab3 + snd ab21 in z + z)%nat in let x := (eval vm_compute in x) in pose x.
- let x := Reify' (fun ab0 : nat * nat * nat => let (f, g7) := fst ab0 in 1 + 1) in let x := (eval vm_compute in x) in pose x.
- let x := Reify' (fun x => let '(a, b) := (1, 1) in a + x)%nat in
- unify x (fun var => Abs (fun x' =>
- let c1 := (InputSyntax.Const (interp_base_type:=interp_base_type) (var:=var) (t:=Tbase Tnat) (op:=op) 1) in
- Return (MatchPair (tC:=tnat) (Pair c1 c1)
- (fun x0 y0 : var tnat => Op Add (Pair (Var x0) (Var x')))))).
- let x := reifyf base_type interp_base_type op var (let x := 5 in let y := 6 in (let a := 1 in let '(c, d) := (2, 3) in a + x + c + d) + y)%nat in pose x.
- let x := Reify' (let x := 1 in let y := 1 in (let a := 1 in let '(c, d) := (2, 3) in a + x + c + d) + y)%nat in pose x.
- let x := Reify' (fun xy => let '(x, y) := xy in (let a := 1 in let '(c, d) := (2, 3) in a + x + c + d) + y)%nat in pose x.
-Abort.
-
-
-Goal (0 = let x := 1+2 in x*3)%nat.
- Reify_rhs.
-Abort.
-
-Goal (0 = let x := 1 in let y := 2 in x * y)%nat.
- Reify_rhs.
-Abort.
-
-Import Linearize Inline Eta.
-
-(** Example of flattening / linearization / linearize / a-normal form *)
-Goal True.
- let x := Reify (fun xy => let '(x, y) := xy in (let a := 1 in let '(c, d) := (2, 3) in let e := c + d in a + x - a + c + d + e) + y)%nat in
- pose x as e0;
- pose (ExprEta (Linearize x)) as e1;
- pose (ExprEta (InlineConst is_const (ANormal x))) as e.
- vm_compute in e0, e1, e.
-Abort.
-
-Definition example_expr : Syntax.Expr base_type op (Syntax.Arrow (tnat * tnat) tnat).
-Proof.
- let x := Reify (fun zw => let '(z, w) := zw in let unused := 1 + 1 in let x := 1 in let y := 1 in (let a := 1 in let cd := let cdef := (2, 3, 4, 5) in let '(c, d, e, f) := cdef in (c, d) in let '(c, d) := cd in a + x + (x + x) + (x + x) - (x + x) - a + c + d) + y + z + w)%nat in
- exact x.
-Defined.
-
-Definition example_expr_ctx : Syntax.Expr base_type op (Syntax.Arrow (tnat * tnat) tnat).
-Proof.
- pose (((fun ab => let '(a, b) := ab in a + b)%nat)
- : Syntax.interp_type interp_base_type (Syntax.Arrow (tnat * tnat) tnat))
- as F.
- reify_context_variables.
- let x := Reify (fun zw => let '(z, w) := zw in F (z, w))%nat in
- exact x.
-Defined.
-
-Definition base_type_eq_semidec_transparent : forall t1 t2, option (t1 = t2)
- := fun t1 t2 => match t1, t2 with
- | Tnat, Tnat => Some eq_refl
- end.
-Lemma base_type_eq_semidec_is_dec : forall t1 t2,
- base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2.
-Proof.
- intros t1 t2; destruct t1, t2; simpl; intros; congruence.
-Qed.
-Definition op_beq t1 tR : op t1 tR -> op t1 tR -> reified_Prop
- := fun x y => match x, y return bool with
- | Const a, Const b => NatUtil.nat_beq a b
- | Const _, _ => false
- | Add, Add => true
- | Add, _ => false
- | Mul, Mul => true
- | Mul, _ => false
- | Sub, Sub => true
- | Sub, _ => false
- end.
-Lemma op_beq_bl t1 tR (x y : op t1 tR)
- : to_prop (op_beq t1 tR x y) -> x = y.
-Proof.
- destruct x; simpl;
- refine match y with Add => _ | _ => _ end;
- repeat match goal with
- | _ => progress simpl in *
- | _ => progress unfold op_beq in *
- | [ |- context[reified_Prop_of_bool ?b] ]
- => destruct b eqn:?; unfold reified_Prop_of_bool
- | _ => progress nat_beq_to_eq
- | _ => congruence
- | _ => tauto
- end.
-Qed.
-
-Ltac reflect_Wf := WfReflective.reflect_Wf base_type_eq_semidec_is_dec op_beq_bl.
-
-Lemma example_expr_wf_slow : Wf example_expr.
-Proof.
- Time (vm_compute; intros;
- repeat match goal with
- | [ |- wf _ _ ] => constructor; intros
- | [ |- wff _ _ _ ] => constructor; intros
- | [ |- List.In _ _ ] => vm_compute
- | [ |- ?x = ?x \/ _ ] => left; reflexivity
- | [ |- ?x = ?y \/ _ ] => right
- end). (* 0.036 s *)
-Qed.
-
-Definition example_expr_eta := Eval vm_compute in Eta.ExprEta example_expr.
-
-Lemma example_expr_wf_eta : Wf example_expr_eta.
-Proof. Time reflect_Wf. (* 0.008 s *) Qed.
-
-Lemma example_expr_wf : Wf example_expr.
-Proof. Time reflect_Wf. (* 0.008 s *) Qed.
-
-Section cse.
- Let SConstT := nat.
- Inductive op_code : Set := SConst (v : nat) | SAdd | SMul | SSub.
- Definition symbolicify_op s d (v : op s d) : op_code
- := match v with
- | Const v => SConst v
- | Add => SAdd
- | Mul => SMul
- | Sub => SSub
- end.
- Definition CSE {t} e := @CSE base_type op_code base_type_beq op_code_beq internal_base_type_dec_bl op symbolicify_op (fun _ x => x) true t e (fun _ => nil).
-End cse.
-
-Definition example_expr_simplified := Eval vm_compute in Eta.ExprEta (InlineConst is_const (ANormal example_expr)).
-Compute CSE example_expr_simplified.
-
-Definition example_expr_compiled
- := Eval vm_compute in
- match Named.Compile.compile (example_expr_simplified _) (List.map Pos.of_nat (seq 1 20)) as v return match v with Some _ => _ | _ => _ end with
- | Some v => v
- | None => True
- end.
-
-Compute register_reassign (InContext:=PositiveContext_nd) (ReverseContext:=PositiveContext_nd) Pos.eqb empty empty example_expr_compiled (Some 1%positive :: Some 2%positive :: None :: List.map (@Some _) (List.map Pos.of_nat (seq 3 20))).
-
-Module bounds.
- Record bounded := { lower : nat ; value : nat ; upper : nat }.
- Definition map_bounded_f2 (f : nat -> nat -> nat) (swap_on_arg2 : bool) (x y : bounded)
- := {| lower := f (lower x) (if swap_on_arg2 then upper y else lower y);
- value := f (value x) (value y);
- upper := f (upper x) (if swap_on_arg2 then lower y else upper y) |}.
- Definition bounded_pf := { b : bounded | lower b <= value b <= upper b }.
- Definition add_bounded_pf (x y : bounded_pf) : bounded_pf.
- Proof.
- exists (map_bounded_f2 plus false (proj1_sig x) (proj1_sig y)).
- simpl; let x := x in let y := y in abstract (destruct x, y; simpl; omega).
- Defined.
- Definition mul_bounded_pf (x y : bounded_pf) : bounded_pf.
- Proof.
- exists (map_bounded_f2 mult false (proj1_sig x) (proj1_sig y)).
- simpl; let x := x in let y := y in abstract (destruct x, y; simpl; nia).
- Defined.
- Definition sub_bounded_pf (x y : bounded_pf) : bounded_pf.
- Proof.
- exists (map_bounded_f2 minus true (proj1_sig x) (proj1_sig y)).
- simpl; let x := x in let y := y in abstract (destruct x, y; simpl; omega).
- Defined.
- Definition interp_base_type_bounds (v : base_type) : Type :=
- match v with
- | Tnat => { b : bounded | lower b <= value b <= upper b }
- end.
- Definition constant_bounded t (x : interp_base_type t) : interp_base_type_bounds t.
- Proof.
- destruct t.
- exists {| lower := x ; value := x ; upper := x |}.
- simpl; split; reflexivity.
- Defined.
- Definition interp_op_bounds src dst (f : op src dst) : interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst
- := match f with
- | Const v => fun _ => constant_bounded Tnat v
- | Add => fun xy => add_bounded_pf (fst xy) (snd xy)
- | Mul => fun xy => mul_bounded_pf (fst xy) (snd xy)
- | Sub => fun xy => sub_bounded_pf (fst xy) (snd xy)
- end%nat.
- Fixpoint constant_bounds t
- : interp_flat_type interp_base_type t -> interp_flat_type interp_base_type_bounds t
- := match t with
- | Tbase t => constant_bounded t
- | Unit => fun _ => tt
- | Prod _ _ => fun x => (constant_bounds _ (fst x), constant_bounds _ (snd x))
- end.
-
- Compute example_expr_simplified.
- Local Open Scope zrange_scope.
- Eval compute in
- (fun x (xpf : 0 <= x <= 10) y (ypf : 100 <= y <= 1000)
- => let (l, _, u) :=
- proj1_sig
- (Syntax.Interp
- interp_op_bounds example_expr
- (exist _ {| lower := 0 ; value := x ; upper := 10 |} xpf,
- exist _ {| lower := 100 ; value := y ; upper := 1000 |} ypf))
- in {| ZRange.lower := Z.of_nat l ; ZRange.upper := Z.of_nat u |}).
-End bounds.
diff --git a/src/Compilers/Tuple.v b/src/Compilers/Tuple.v
deleted file mode 100644
index 8e47bf012..000000000
--- a/src/Compilers/Tuple.v
+++ /dev/null
@@ -1,88 +0,0 @@
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Compilers.Syntax.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
-
- Section interp.
- Section flat_type.
- Context {interp_base_type : base_type_code -> Type}.
- Local Notation interp_flat_type := (interp_flat_type interp_base_type).
-
- Fixpoint flat_interp_tuple' {T n} : interp_flat_type (tuple' T n) -> Tuple.tuple' (interp_flat_type T) n
- := match n return interp_flat_type (tuple' T n) -> Tuple.tuple' (interp_flat_type T) n with
- | O => fun x => x
- | S n' => fun '((x, y) : interp_flat_type (tuple' T n' * T))
- => (@flat_interp_tuple' _ n' x, y)
- end.
- Definition flat_interp_tuple {T n} : interp_flat_type (tuple T n) -> Tuple.tuple (interp_flat_type T) n
- := match n return interp_flat_type (tuple T n) -> Tuple.tuple (interp_flat_type T) n with
- | O => fun x => x
- | S n' => @flat_interp_tuple' T n'
- end.
- Fixpoint flat_interp_untuple' {T n} : Tuple.tuple' (interp_flat_type T) n -> interp_flat_type (tuple' T n)
- := match n return Tuple.tuple' (interp_flat_type T) n -> interp_flat_type (tuple' T n) with
- | O => fun x => x
- | S n' => fun '((x, y) : Tuple.tuple' _ n' * _)
- => (@flat_interp_untuple' _ n' x, y)
- end.
- Definition flat_interp_untuple {T n} : Tuple.tuple (interp_flat_type T) n -> interp_flat_type (tuple T n)
- := match n return Tuple.tuple (interp_flat_type T) n -> interp_flat_type (tuple T n) with
- | O => fun x => x
- | S n' => @flat_interp_untuple' T n'
- end.
- Lemma flat_interp_untuple'_tuple' {T n v}
- : @flat_interp_untuple' T n (flat_interp_tuple' v) = v.
- Proof using Type. induction n; [ reflexivity | simpl; destruct v; rewrite IHn; reflexivity ]. Qed.
- Lemma flat_interp_untuple_tuple {T n v}
- : flat_interp_untuple (@flat_interp_tuple T n v) = v.
- Proof using Type. destruct n; [ reflexivity | apply flat_interp_untuple'_tuple' ]. Qed.
- Lemma flat_interp_tuple'_untuple' {T n v}
- : @flat_interp_tuple' T n (flat_interp_untuple' v) = v.
- Proof using Type. induction n; [ reflexivity | simpl; destruct v; rewrite IHn; reflexivity ]. Qed.
- Lemma flat_interp_tuple_untuple {T n v}
- : @flat_interp_tuple T n (flat_interp_untuple v) = v.
- Proof using Type. destruct n; [ reflexivity | apply flat_interp_tuple'_untuple' ]. Qed.
- End flat_type.
- End interp.
-
- Section interp2.
- Section flat_type.
- Context {interp_base_type1 interp_base_type2 : base_type_code -> Type}.
- Local Notation interp_flat_type1 := (interp_flat_type interp_base_type1).
- Local Notation interp_flat_type2 := (interp_flat_type interp_base_type2).
-
- Definition tuple_map {A B n} (f : interp_flat_type1 A -> interp_flat_type2 B) (v : interp_flat_type1 (tuple A n))
- : interp_flat_type2 (tuple B n)
- := flat_interp_untuple (Tuple.map f (flat_interp_tuple v)).
- End flat_type.
- End interp2.
-End language.
-Global Arguments flat_interp_tuple' {_ _ _ _} _.
-Global Arguments flat_interp_tuple {_ _ _ _} _.
-Global Arguments flat_interp_untuple' {_ _ _ _} _.
-Global Arguments flat_interp_untuple {_ _ _ _} _.
-Global Arguments tuple_map {_ _ _ _ _ n} _ _.
-
-Ltac unfold_flat_interp_tuple _ :=
- let handle n :=
- ltac:(let n' := (eval cbv in n) in
- progress change n with n') in
- repeat match goal with
- | [ |- context[@flat_interp_tuple _ _ _ ?n] ]
- => handle n
- | [ |- context[@flat_interp_tuple' _ _ _ ?n] ]
- => handle n
- | [ |- context[@flat_interp_untuple _ _ _ ?n] ]
- => handle n
- | [ |- context[@flat_interp_untuple' _ _ _ ?n] ]
- => handle n
- | [ |- context[@tuple _ _ ?n] ]
- => handle n
- | [ |- context[@tuple' _ _ ?n] ]
- => handle n
- end;
- cbv [flat_interp_tuple flat_interp_tuple' flat_interp_untuple flat_interp_untuple' tuple tuple'].
diff --git a/src/Compilers/TypeInversion.v b/src/Compilers/TypeInversion.v
deleted file mode 100644
index ab00a1dc5..000000000
--- a/src/Compilers/TypeInversion.v
+++ /dev/null
@@ -1,193 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.FixCoqMistakes.
-
-Section language.
- Context {base_type_code : Type}.
-
- Section flat.
- Context (P : flat_type base_type_code -> Type).
-
- Local Ltac t :=
- let H := fresh in
- intro H; intros;
- match goal with
- | [ p : _ |- _ ] => specialize (H _ p)
- end;
- cbv beta iota in *;
- try specialize (H eq_refl); simpl in *;
- try assumption.
-
- Definition preinvert_Tbase (Q : forall t, P (Tbase t) -> Type)
- : (forall t (p : P t), match t return P t -> Type with Tbase _ => Q _ | _ => fun _ => True end p)
- -> forall t p, Q t p.
- Proof. t. Defined.
-
- Definition preinvert_Unit (Q : P Unit -> Type)
- : (forall t (p : P t), match t return P t -> Type with Unit => Q | _ => fun _ => True end p)
- -> forall p, Q p.
- Proof. t. Defined.
-
- Definition preinvert_Prod (Q : forall A B, P (Prod A B) -> Type)
- : (forall t (p : P t), match t return P t -> Type with Prod _ _ => Q _ _ | _ => fun _ => True end p)
- -> forall A B p, Q A B p.
- Proof. t. Defined.
-
- Definition preinvert_Prod2 (Q : forall A B, P (Prod (Tbase A) (Tbase B)) -> Type)
- : (forall t (p : P t), match t return P t -> Type with Prod (Tbase _) (Tbase _) => Q _ _ | _ => fun _ => True end p)
- -> forall A B p, Q A B p.
- Proof. t. Defined.
-
- Definition preinvert_Prod2_same (Q : forall A, P (Prod (Tbase A) (Tbase A)) -> Type)
- : (forall t (p : P t), match t return P t -> Type with
- | Prod (Tbase A) (Tbase B)
- => fun p => forall pf : A = B, Q B (eq_rect _ (fun a => P (Prod (Tbase a) (Tbase B))) p _ pf)
- | _ => fun _ => True
- end p)
- -> forall A p, Q A p.
- Proof. t. Defined.
-
- Definition preinvert_Prod3 (Q : forall A B C, P (Tbase A * Tbase B * Tbase C)%ctype -> Type)
- : (forall t (p : P t), match t return P t -> Type with Prod (Prod (Tbase _) (Tbase _)) (Tbase _) => Q _ _ _ | _ => fun _ => True end p)
- -> forall A B C p, Q A B C p.
- Proof. t. Defined.
-
- Definition preinvert_Prod4 (Q : forall A B C D, P (Tbase A * Tbase B * Tbase C * Tbase D)%ctype -> Type)
- : (forall t (p : P t), match t return P t -> Type with Prod (Prod (Prod (Tbase _) (Tbase _)) (Tbase _)) (Tbase _) => Q _ _ _ _ | _ => fun _ => True end p)
- -> forall A B C D p, Q A B C D p.
- Proof. t. Defined.
- End flat.
-
- Definition preinvert_Arrow (P : type base_type_code -> Type) (Q : forall A B, P (Arrow A B) -> Type)
- : (forall t (p : P t), match t return P t -> Type with
- | Arrow A B => Q A B
- end p)
- -> forall A B p, Q A B p.
- Proof.
- intros H A B p; specialize (H _ p); assumption.
- Defined.
-
- Section encode_decode.
- Definition flat_type_code (t1 t2 : flat_type base_type_code) : Prop
- := match t1, t2 with
- | Unit, Unit => True
- | Tbase t1, Tbase t2 => t1 = t2
- | Prod A B, Prod A' B' => A = A' /\ B = B'
- | Unit, _
- | Tbase _, _
- | Prod _ _, _
- => False
- end.
-
- Definition type_code (t1 t2 : type base_type_code) : Prop
- := domain t1 = domain t2 /\ codomain t1 = codomain t2.
-
- Definition flat_type_encode (x y : flat_type base_type_code) : x = y -> flat_type_code x y.
- Proof. intro p; destruct p, x; repeat constructor. Defined.
- Definition type_encode (x y : type base_type_code) : x = y -> type_code x y.
- Proof. intro p; destruct p, x; repeat constructor. Defined.
-
- Definition flat_type_decode (x y : flat_type base_type_code) : flat_type_code x y -> x = y.
- Proof.
- destruct x, y; simpl in *; intro H;
- try first [ apply f_equal; assumption
- | exfalso; assumption
- | reflexivity
- | apply f_equal2; destruct H; assumption ].
- Defined.
- Definition type_decode (x y : type base_type_code) : type_code x y -> x = y.
- Proof.
- destruct x, y; simpl; intro H;
- try first [ exfalso; assumption
- | apply f_equal; assumption
- | apply f_equal2; destruct H; assumption ].
- Defined.
- Definition path_flat_type_rect {x y : flat_type base_type_code} (Q : x = y -> Type)
- (f : forall p, Q (flat_type_decode x y p))
- : forall p, Q p.
- Proof. intro p; specialize (f (flat_type_encode x y p)); destruct x, p; exact f. Defined.
- Definition path_type_rect {x y : type base_type_code} (Q : x = y -> Type)
- (f : forall p, Q (type_decode x y p))
- : forall p, Q p.
- Proof. intro p; specialize (f (type_encode x y p)); destruct x, p; exact f. Defined.
- End encode_decode.
-End language.
-
-Ltac preinvert_one_type e :=
- lazymatch type of e with
- | ?P (Tbase ?T)
- => is_var T;
- move e at top;
- revert dependent T;
- refine (preinvert_Tbase P _ _)
- | ?P (Prod (Tbase ?A) (Tbase ?A))
- => is_var A;
- move e at top; revert dependent A;
- refine (preinvert_Prod2_same P _ _)
- | ?P (Prod (Tbase ?A) (Tbase ?B))
- => is_var A; is_var B;
- move e at top; revert dependent A; intros A e;
- move e at top; revert dependent B; revert A;
- refine (preinvert_Prod2 P _ _)
- | ?P (Prod (Prod (Tbase ?A) (Tbase ?B)) (Tbase ?C))
- => is_var A; is_var B; is_var C;
- move e at top; revert dependent A; intros A e;
- move e at top; revert dependent B; intros B e;
- move e at top; revert dependent C; revert A B;
- refine (preinvert_Prod3 P _ _)
- | ?P (Prod (Prod (Prod (Tbase ?A) (Tbase ?B)) (Tbase ?C)) (Tbase ?D))
- => is_var A; is_var B; is_var C; is_var D;
- move e at top; revert dependent A; intros A e;
- move e at top; revert dependent B; intros B e;
- move e at top; revert dependent C; intros C e;
- move e at top; revert dependent D; revert A B C;
- refine (preinvert_Prod4 P _ _)
- | ?P (Prod ?A ?B)
- => is_var A; is_var B;
- move e at top; revert dependent A; intros A e;
- move e at top; revert dependent B; revert A;
- refine (preinvert_Prod P _ _)
- | ?P Unit
- => revert dependent e;
- refine (preinvert_Unit P _ _)
- | ?P (Arrow ?A ?B)
- => is_var A; is_var B;
- move e at top; revert dependent A; intros A e;
- move e at top; revert dependent B; revert A;
- refine (preinvert_Arrow P _ _)
- end.
-
-Ltac induction_type_in_using H rect :=
- induction H as [H] using (rect _ _ _);
- cbv [flat_type_code type_code] in H;
- let H1 := fresh H in
- let H2 := fresh H in
- try lazymatch type of H with
- | False => exfalso; exact H
- | True => destruct H
- | _ /\ _ => destruct H as [H1 H2]
- end.
-Ltac inversion_flat_type_step :=
- lazymatch goal with
- | [ H : _ = Tbase _ |- _ ]
- => induction_type_in_using H @path_flat_type_rect
- | [ H : Tbase _ = _ |- _ ]
- => induction_type_in_using H @path_flat_type_rect
- | [ H : _ = Prod _ _ |- _ ]
- => induction_type_in_using H @path_flat_type_rect
- | [ H : Prod _ _ = _ |- _ ]
- => induction_type_in_using H @path_flat_type_rect
- | [ H : _ = Unit |- _ ]
- => induction_type_in_using H @path_flat_type_rect
- | [ H : Unit = _ |- _ ]
- => induction_type_in_using H @path_flat_type_rect
- end.
-Ltac inversion_flat_type := repeat inversion_flat_type_step.
-
-Ltac inversion_type_step :=
- lazymatch goal with
- | [ H : _ = Arrow _ _ |- _ ]
- => induction_type_in_using H @path_type_rect
- | [ H : Arrow _ _ = _ |- _ ]
- => induction_type_in_using H @path_type_rect
- end.
-Ltac inversion_type := repeat inversion_type_step.
diff --git a/src/Compilers/TypeUtil.v b/src/Compilers/TypeUtil.v
deleted file mode 100644
index 050374562..000000000
--- a/src/Compilers/TypeUtil.v
+++ /dev/null
@@ -1,35 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope expr_scope.
-
-Section language.
- Context {base_type_code : Type}
- (base_type_beq : base_type_code -> base_type_code -> bool)
- (base_type_leb : base_type_code -> base_type_code -> bool).
- Local Infix "<=?" := base_type_leb : expr_scope.
- Local Infix "=?" := base_type_beq : expr_scope.
-
- Definition base_type_min (a b : base_type_code) : base_type_code
- := if a <=? b then a else b.
- Definition base_type_max (a b : base_type_code) : base_type_code
- := if a <=? b then b else a.
- Section gen.
- Context (join : base_type_code -> base_type_code -> base_type_code).
- Fixpoint flat_type_join {t : flat_type base_type_code}
- : interp_flat_type (fun _ => base_type_code) t -> option base_type_code
- := match t with
- | Tbase _ => fun v => Some v
- | Unit => fun _ => None
- | Prod A B
- => fun v => match @flat_type_join A (fst v), @flat_type_join B (snd v) with
- | Some a, Some b => Some (join a b)
- | Some a, None => Some a
- | None, Some b => Some b
- | None, None => None
- end
- end.
- End gen.
- Definition flat_type_min {t} := @flat_type_join base_type_min t.
- Definition flat_type_max {t} := @flat_type_join base_type_max t.
-End language.
diff --git a/src/Compilers/Wf.v b/src/Compilers/Wf.v
deleted file mode 100644
index 85c24886b..000000000
--- a/src/Compilers/Wf.v
+++ /dev/null
@@ -1,68 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.Notations.
-
-Create HintDb wf discriminated.
-
-Ltac solve_wf_side_condition := solve [ eassumption | eauto 250 with wf ].
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
-
- Local Notation eP2 := (fun t1t2 => var1 (fst t1t2) * var2 (snd t1t2))%type (only parsing).
- Local Notation eP := (fun t => var1 t * var2 t)%type (only parsing).
- Local Notation "x == y" := (existT eP _ (x, y)%core).
- Fixpoint flatten_binding_list2 {t1 t2} (x : interp_flat_type var1 t1) (y : interp_flat_type var2 t2) : list (sigT eP2)
- := (match t1, t2 return interp_flat_type var1 t1 -> interp_flat_type var2 t2 -> list _ with
- | Tbase t1, Tbase t2 => fun x y => existT eP2 (t1, t2)%core (x, y)%core :: nil
- | Unit, Unit => fun x y => nil
- | Prod t0 t1, Prod t0' t1'
- => fun x y => @flatten_binding_list2 _ _ (snd x) (snd y) ++ @flatten_binding_list2 _ _ (fst x) (fst y)
- | Tbase _, _
- | Unit, _
- | Prod _ _, _
- => fun _ _ => nil
- end x y)%list.
- Fixpoint flatten_binding_list {t} (x : interp_flat_type var1 t) (y : interp_flat_type var2 t) : list (sigT eP)
- := (match t return interp_flat_type var1 t -> interp_flat_type var2 t -> list _ with
- | Tbase _ => fun x y => (x == y) :: nil
- | Unit => fun x y => nil
- | Prod t0 t1 => fun x y => @flatten_binding_list _ (snd x) (snd y) ++ @flatten_binding_list _ (fst x) (fst y)
- end x y)%list.
-
- Inductive wff : list (sigT eP) -> forall {t}, @exprf var1 t -> @exprf var2 t -> Prop :=
- | WfTT : forall G, @wff G _ TT TT
- | WfVar : forall G (t : base_type_code) x x', List.In (x == x') G -> @wff G (Tbase t) (Var x) (Var x')
- | WfOp : forall G {t} {tR} (e : @exprf var1 t) (e' : @exprf var2 t) op,
- wff G e e'
- -> wff G (Op (tR := tR) op e) (Op (tR := tR) op e')
- | WfLetIn : forall G t1 t2 e1 e1' (e2 : interp_flat_type var1 t1 -> @exprf var1 t2) e2',
- wff G e1 e1'
- -> (forall x1 x2, wff (flatten_binding_list x1 x2 ++ G) (e2 x1) (e2' x2))
- -> wff G (LetIn e1 e2) (LetIn e1' e2')
- | WfPair : forall G {t1} {t2} (e1: @exprf var1 t1) (e2: @exprf var1 t2)
- (e1': @exprf var2 t1) (e2': @exprf var2 t2),
- wff G e1 e1'
- -> wff G e2 e2'
- -> wff G (Pair e1 e2) (Pair e1' e2').
- Inductive wf : forall {t}, @expr var1 t -> @expr var2 t -> Prop :=
- | WfAbs : forall A B e e',
- (forall x x', @wff (flatten_binding_list x x') B (e x) (e' x'))
- -> @wf (Arrow A B) (Abs e) (Abs e').
- End with_var.
-
- Definition Wf {t} (E : @Expr t) := forall var1 var2, wf (E var1) (E var2).
-End language.
-
-Global Arguments wff {_ _ _ _} G {t} _ _.
-Global Arguments wf {_ _ _ _ t} _ _.
-Global Arguments Wf {_ _ t} _.
-
-Hint Constructors wf wff : wf.
diff --git a/src/Compilers/WfInversion.v b/src/Compilers/WfInversion.v
deleted file mode 100644
index bf8c93ade..000000000
--- a/src/Compilers/WfInversion.v
+++ /dev/null
@@ -1,208 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Equality.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Notations.
-
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
- Local Notation wf := (@wf base_type_code op).
- Local Notation Wf := (@Wf base_type_code op).
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
-
- Local Notation eP := (fun t => var1 t * var2 t)%type (only parsing).
- Local Notation "x == y" := (existT eP _ (x, y)).
-
- Definition wff_code (G : list (sigT eP)) {t} (e1 : @exprf var1 t) : forall (e2 : @exprf var2 t), Prop
- := match e1 in Syntax.exprf _ _ t return exprf t -> Prop with
- | TT
- => fun e2
- => TT = e2
- | Var t v1
- => fun e2
- => match invert_Var e2 with
- | Some v2 => List.In (v1 == v2) G
- | None => False
- end
- | Op t1 tR opc1 args1
- => fun e2
- => match invert_Op e2 with
- | Some (existT t2 (opc2, args2))
- => { pf : t1 = t2
- | eq_rect _ (fun t => op t tR) opc1 _ pf = opc2
- /\ wff G (eq_rect _ exprf args1 _ pf) args2 }
- | None => False
- end
- | LetIn tx1 ex1 tC1 eC1
- => fun e2
- => match invert_LetIn e2 with
- | Some (existT tx2 (ex2, eC2))
- => { pf : tx1 = tx2
- | wff G (eq_rect _ exprf ex1 _ pf) ex2
- /\ (forall x1 x2,
- wff (flatten_binding_list x1 x2 ++ G)%list
- (eC1 x1) (eC2 (eq_rect _ _ x2 _ pf))) }
- | None => False
- end
- | Pair tx1 ex1 ty1 ey1
- => fun e2
- => match invert_Pair e2 with
- | Some (ex2, ey2) => wff G ex1 ex2 /\ wff G ey1 ey2
- | None => False
- end
- end.
-
- Local Ltac t :=
- repeat match goal with
- | _ => progress simpl in *
- | _ => progress subst
- | _ => progress inversion_option
- | _ => progress invert_expr_subst
- | [ H : Some _ = _ |- _ ] => symmetry in H
- | _ => assumption
- | _ => reflexivity
- | _ => constructor
- | _ => progress destruct_head False
- | _ => progress destruct_head and
- | _ => progress destruct_head sig
- | _ => progress break_match_hyps
- | _ => progress break_match
- | [ |- and _ _ ] => split
- | _ => exists eq_refl
- | _ => intro
- | [ e : expr (Arrow _ _) |- _ ]
- => let H := fresh in
- let f := fresh in
- remember (invert_Abs e) as f eqn:H;
- symmetry in H;
- apply invert_Abs_Some in H
- end.
-
- Definition wff_encode {G t e1 e2} (v : @wff var1 var2 G t e1 e2) : @wff_code G t e1 e2.
- Proof.
- destruct v; t.
- Defined.
-
- Definition wff_decode {G t e1 e2} (v : @wff_code G t e1 e2) : @wff var1 var2 G t e1 e2.
- Proof.
- destruct e1; t.
- Defined.
-
- Definition wff_endecode {G t e1 e2} v : @wff_decode G t e1 e2 (@wff_encode G t e1 e2 v) = v.
- Proof using Type.
- destruct v; reflexivity.
- Qed.
-
- Definition wff_deencode {G t e1 e2} v : @wff_encode G t e1 e2 (@wff_decode G t e1 e2 v) = v.
- Proof using Type.
- destruct e1; simpl in *;
- move e2 at top;
- lazymatch type of e2 with
- | exprf Unit
- => subst; reflexivity
- | exprf (Tbase ?t)
- => revert dependent t;
- intros ? e2
- | exprf (Prod ?A ?B)
- => revert dependent A;
- intros ? e2;
- move e2 at top;
- revert dependent B;
- intros ? e2
- | exprf ?t
- => revert dependent t;
- intros ? e2
- end;
- refine match e2 with
- | TT => _
- | _ => _
- end;
- t.
- Qed.
-
- Definition wf_code {t} (e1 : @expr var1 t) : forall (e2 : @expr var2 t), Prop
- := match e1 in Syntax.expr _ _ t return expr t -> Prop with
- | Abs src dst f1
- => fun e2
- => let f2 := invert_Abs e2 in
- forall (x : interp_flat_type var1 src) (x' : interp_flat_type var2 src),
- wff (flatten_binding_list x x') (f1 x) (f2 x')
- end.
-
- Definition wf_encode {t e1 e2} (v : @wf var1 var2 t e1 e2) : @wf_code t e1 e2.
- Proof.
- destruct v; t.
- Defined.
-
- Definition wf_decode {t e1 e2} (v : @wf_code t e1 e2) : @wf var1 var2 t e1 e2.
- Proof.
- destruct e1; t.
- Defined.
-
- Definition wf_endecode {t e1 e2} v : @wf_decode t e1 e2 (@wf_encode t e1 e2 v) = v.
- Proof using Type.
- destruct v; reflexivity.
- Qed.
-
- Definition wf_deencode {t e1 e2} v : @wf_encode t e1 e2 (@wf_decode t e1 e2 v) = v.
- Proof using Type.
- destruct e1 as [src dst f1].
- revert dependent f1.
- refine match e2 with
- | Abs _ _ f2 => _
- end.
- reflexivity.
- Qed.
- End with_var.
-End language.
-
-Ltac is_expr_constructor arg :=
- lazymatch arg with
- | Op _ _ => idtac
- | TT => idtac
- | Var _ => idtac
- | LetIn _ _ => idtac
- | Pair _ _ => idtac
- | Abs _ => idtac
- end.
-
-Ltac inversion_wf_step_gen guard_tac :=
- let postprocess H :=
- (cbv [wff_code wf_code] in H;
- simpl in H;
- try match type of H with
- | True => clear H
- | False => exfalso; exact H
- end) in
- match goal with
- | [ H : wff _ ?x ?y |- _ ]
- => guard_tac x y;
- apply wff_encode in H; postprocess H
- | [ H : wf ?x ?y |- _ ]
- => guard_tac x y;
- apply wf_encode in H; postprocess H
- end.
-Ltac inversion_wf_step_constr :=
- inversion_wf_step_gen ltac:(fun x y => is_expr_constructor x; is_expr_constructor y).
-Ltac inversion_wf_step_one_constr :=
- inversion_wf_step_gen ltac:(fun x y => first [ is_expr_constructor x | is_expr_constructor y]).
-Ltac inversion_wf_step_var :=
- inversion_wf_step_gen ltac:(fun x y => first [ is_var x; is_var y; fail 1 | idtac ]).
-Ltac inversion_wf_step := first [ inversion_wf_step_constr | inversion_wf_step_var ].
-Ltac inversion_wf_constr := repeat inversion_wf_step_constr.
-Ltac inversion_wf_one_constr := repeat inversion_wf_step_one_constr.
-Ltac inversion_wf := repeat inversion_wf_step.
diff --git a/src/Compilers/WfProofs.v b/src/Compilers/WfProofs.v
deleted file mode 100644
index 4a94f2591..000000000
--- a/src/Compilers/WfProofs.v
+++ /dev/null
@@ -1,473 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Util.Sigma Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Local Open Scope ctype_scope.
-Section language.
- Context {base_type_code : Type}
- {op : flat_type base_type_code -> flat_type base_type_code -> Type}.
-
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation Expr := (@Expr base_type_code op).
- Local Notation wff := (@wff base_type_code op).
-
- Section with_var.
- Context {var1 var2 : base_type_code -> Type}.
- Local Hint Constructors Wf.wff.
-
- Lemma wff_app' {g G0 G1 t e1 e2}
- (wf : @wff var1 var2 (G0 ++ G1) t e1 e2)
- : wff (G0 ++ g ++ G1) e1 e2.
- Proof using Type.
- rewrite !List.app_assoc.
- revert wf; remember (G0 ++ G1)%list as G eqn:?; intro wf.
- revert dependent G0. revert dependent G1.
- induction wf; simpl in *; constructor; simpl; eauto.
- { subst; rewrite !List.in_app_iff in *; intuition. }
- { intros; subst.
- rewrite !List.app_assoc; eauto using List.app_assoc. }
- Qed.
-
- Lemma wff_app_pre {g G t e1 e2}
- (wf : @wff var1 var2 G t e1 e2)
- : wff (g ++ G) e1 e2.
- Proof using Type.
- apply (@wff_app' _ nil); assumption.
- Qed.
-
- Lemma wff_app_post {g G t e1 e2}
- (wf : @wff var1 var2 G t e1 e2)
- : wff (G ++ g) e1 e2.
- Proof using Type.
- pose proof (@wff_app' g G nil t e1 e2) as H.
- rewrite !List.app_nil_r in *; auto.
- Qed.
-
- Lemma wff_in_impl_Proper G0 G1 {t} e1 e2
- : @wff var1 var2 G0 t e1 e2
- -> (forall x, List.In x G0 -> List.In x G1)
- -> @wff var1 var2 G1 t e1 e2.
- Proof using Type.
- intro wf; revert G1; induction wf;
- repeat match goal with
- | _ => setoid_rewrite List.in_app_iff
- | _ => progress intros
- | _ => progress simpl in *
- | [ |- wff _ _ _ ] => constructor
- | [ H : _ |- _ ] => apply H
- | _ => solve [ intuition eauto ]
- end.
- Qed.
-
- Local Hint Resolve List.in_app_or List.in_or_app.
- Local Hint Extern 1 => progress unfold List.In in *.
- Local Hint Resolve wff_in_impl_Proper.
-
- Lemma wff_SmartVarf {t} x1 x2
- : @wff var1 var2 (flatten_binding_list x1 x2) t (SmartVarf x1) (SmartVarf x2).
- Proof using Type.
- unfold SmartVarf.
- induction t; simpl; constructor; eauto.
- Qed.
-
- Local Hint Resolve wff_SmartVarf.
-
- Lemma wff_SmartVarVarf G {t t'} v1 v2 x1 x2
- (Hin : List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x1, x2))
- (flatten_binding_list (SmartVarVarf v1) (SmartVarVarf v2)))
- : @wff var1 var2 (flatten_binding_list (t:=t') v1 v2 ++ G) (Tbase t) x1 x2.
- Proof using Type.
- revert dependent G; induction t'; intros; simpl in *; try tauto.
- { intuition (inversion_sigma; inversion_prod; subst; simpl; eauto).
- constructor; eauto. }
- { unfold SmartVarVarf in *; simpl in *.
- apply List.in_app_iff in Hin.
- intuition (inversion_sigma; inversion_prod; subst; eauto).
- { rewrite <- !List.app_assoc; eauto. } }
- Qed.
-
- Lemma wff_SmartVarVarf_nil {t t'} v1 v2 x1 x2
- (Hin : List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x1, x2))
- (flatten_binding_list (SmartVarVarf v1) (SmartVarVarf v2)))
- : @wff var1 var2 (flatten_binding_list (t:=t') v1 v2) (Tbase t) x1 x2.
- Proof using Type.
- apply wff_SmartVarVarf with (G:=nil) in Hin.
- rewrite List.app_nil_r in Hin; assumption.
- Qed.
-
- Lemma In_G_wff_SmartVarf G t v1 v2 e
- (Hwf : @wff var1 var2 G t (SmartVarf v1) (SmartVarf v2))
- (Hin : List.In e (flatten_binding_list v1 v2))
- : List.In e G.
- Proof using Type.
- induction t;
- repeat match goal with
- | _ => assumption
- | [ H : False |- _ ] => exfalso; assumption
- | _ => progress subst
- | _ => progress destruct_head' and
- | [ H : context[List.In _ (_ ++ _)] |- _ ] => rewrite List.in_app_iff in H
- | [ H : context[SmartVarf _] |- _ ] => rewrite SmartVarf_Pair in H
- | _ => progress simpl in *
- | _ => progress destruct_head' or
- | _ => solve [ eauto with nocore ]
- | _ => progress inversion_wf
- end.
- Qed.
-
- Lemma wff_SmartPairf G {t t'} v1 v2 x1 x2
- (Hin : List.In (existT (fun t : base_type_code => (exprf (Tbase t) * exprf (Tbase t))%type) t (x1, x2))
- (flatten_binding_list (t:=t') v1 v2))
- (Hwf : wff G (SmartPairf v1) (SmartPairf v2))
- : @wff var1 var2 G (Tbase t) x1 x2.
- Proof using Type.
- revert dependent G; induction t'; intros; simpl in *; try tauto.
- { intuition (inversion_sigma; inversion_prod; subst; simpl; eauto). }
- { unfold SmartPairf in *; simpl in *.
- inversion_wf; destruct_head'_and.
- apply List.in_app_iff in Hin.
- intuition (inversion_sigma; inversion_prod; subst; eauto). }
- Qed.
-
- Section with_interp.
- Context {interp_base_type : base_type_code -> Type}.
-
- Lemma wff_invert_PairsConst G {t} e1 e2
- invert_Const1 invert_Const2
- (Hinvert_Const : forall s d (opv : op s d) G args1 args2,
- invert_PairsConst invert_Const1 args1
- = invert_PairsConst invert_Const2 args2
- -> wff G args1 args2
- -> invert_Const1 s d opv args1
- = invert_Const2 s d opv args2)
- (Hwf : wff G (t:=t) (var1:=var1) (var2:=var2) e1 e2)
- : invert_PairsConst (interp_base_type:=interp_base_type) invert_Const1 e1
- = invert_PairsConst invert_Const2 e2.
- Proof using Type.
- induction Hwf; simpl in *; break_innermost_match; try congruence; eauto.
- Qed.
- End with_interp.
-
- Lemma wff_SmartPairf_SmartVarfMap_same {var} G {t} v f g
- (Hfg : forall t v, wff G (f t v) (g t v))
- : wff G (t:=t) (var1:=var1) (var2:=var2)
- (SmartPairf (SmartVarfMap f v))
- (SmartPairf (SmartVarfMap (var:=var) g v)).
- Proof.
- induction t; try solve [ cbv [SmartPairf]; simpl; auto ].
- rewrite !SmartVarfMap_Pair, !SmartPairf_Pair; auto.
- Qed.
-
- Lemma wff_SmartPairf_SmartValf G {t} f g
- (Hfg : forall t, wff G (f t) (g t))
- : wff G (t:=t) (var1:=var1) (var2:=var2)
- (SmartPairf (SmartValf (fun t => exprf (Tbase t)) f _))
- (SmartPairf (SmartValf (fun t => exprf (Tbase t)) g _)).
- Proof.
- induction t; try solve [ cbv [SmartPairf]; simpl; auto ].
- Qed.
- End with_var.
-
- Section with_var2.
- Context {base_type_code2 : Type}
- {var1 : base_type_code -> Type}
- {var2 : base_type_code2 -> Type}.
- Local Hint Constructors Wf.wff.
-
- Lemma In_flatten_binding_list_untransfer_interp_flat_type
- var1' var2' f_base
- (f_var12 : forall t, var1 t -> var2 (f_base t))
- (f_var21 : forall t, var2 (f_base t) -> var1 t)
- (f_var'12 : forall t, var1' t -> var2' (f_base t))
- (f_var'21 : forall t, var2' (f_base t) -> var1' t)
- (Hvar12 : forall t v, f_var12 t (f_var21 t v) = v)
- (Hvar'12 : forall t v, f_var'12 t (f_var'21 t v) = v)
- : forall T t x x' x1 x2,
- List.In
- (existT _ t (x, x'))
- (flatten_binding_list
- (t:=T)
- (untransfer_interp_flat_type f_base f_var21 x1)
- (untransfer_interp_flat_type f_base f_var'21 x2))
- -> List.In
- (existT _ (f_base t) (f_var12 t x, f_var'12 t x'))
- (flatten_binding_list x1 x2).
- Proof.
- induction T;
- repeat first [ progress simpl in *
- | progress intros
- | progress subst
- | exfalso; assumption
- | progress inversion_sigma
- | progress inversion_prod
- | progress destruct_head'_or
- | rewrite List.in_app_iff
- | solve [ eauto ]
- | rewrite Hvar12, Hvar'12
- | match goal with
- | [ H : _ |- _ ] => rewrite List.in_app_iff in H
- end ].
- Qed.
- End with_var2.
-
- Definition duplicate_type {var1 var2}
- : { t : base_type_code & (var1 t * var2 t)%type }
- -> { t1t2 : _ & (var1 (fst t1t2) * var2 (snd t1t2))%type }
- := fun txy => existT _ (projT1 txy, projT1 txy) (projT2 txy).
- Definition duplicate_types {var1 var2}
- := List.map (@duplicate_type var1 var2).
-
- Lemma flatten_binding_list_flatten_binding_list2
- {var1 var2 t1} x1 x2
- : duplicate_types (@flatten_binding_list base_type_code var1 var2 t1 x1 x2)
- = @flatten_binding_list2 base_type_code var1 var2 t1 t1 x1 x2.
- Proof using Type.
- induction t1; simpl; try reflexivity.
- rewrite_hyp <- !*.
- unfold duplicate_types; rewrite List.map_app; reflexivity.
- Qed.
-
- Local Ltac flatten_t :=
- repeat first [ reflexivity
- | intro
- | progress simpl @flatten_binding_list
- | progress simpl @flatten_binding_list2
- | rewrite !List.map_app
- | progress simpl in *
- | rewrite_hyp <- !*; reflexivity
- | rewrite_hyp !*; reflexivity ].
-
- Lemma flatten_binding_list2_SmartVarfMap
- {var1 var1' var2 var2' t1 t2} f g (x1 : interp_flat_type var1 t1) (x2 : interp_flat_type var2 t2)
- : flatten_binding_list2 (var1:=var1') (var2:=var2') (base_type_code:=base_type_code) (SmartVarfMap f x1) (SmartVarfMap g x2)
- = List.map (fun txy => existT _ (projT1 txy) (f _ (fst (projT2 txy)), g _ (snd (projT2 txy)))%core)
- (flatten_binding_list2 x1 x2).
- Proof using Type.
- revert dependent t2; induction t1, t2; flatten_t.
- Qed.
-
- Lemma flatten_binding_list2_SmartVarfMap1
- {var1 var1' var2' t1 t2} f (x1 : interp_flat_type var1 t1) (x2 : interp_flat_type var2' t2)
- : flatten_binding_list2 (var1:=var1') (var2:=var2') (base_type_code:=base_type_code) (SmartVarfMap f x1) x2
- = List.map (fun txy => existT _ (projT1 txy) (f _ (fst (projT2 txy)), snd (projT2 txy))%core)
- (flatten_binding_list2 x1 x2).
- Proof using Type.
- revert dependent t2; induction t1, t2; flatten_t.
- Qed.
-
- Lemma flatten_binding_list2_SmartVarfMap2
- {var1' var2 var2' t1 t2} g (x1 : interp_flat_type var1' t1) (x2 : interp_flat_type var2 t2)
- : flatten_binding_list2 (var1:=var1') (var2:=var2') (base_type_code:=base_type_code) x1 (SmartVarfMap g x2)
- = List.map (fun txy => existT _ (projT1 txy) (fst (projT2 txy), g _ (snd (projT2 txy)))%core)
- (flatten_binding_list2 x1 x2).
- Proof using Type.
- revert dependent t2; induction t1, t2; flatten_t.
- Qed.
-
- Lemma flatten_binding_list_SmartVarfMap
- {var1 var1' var2 var2' t} f g (x1 : interp_flat_type var1 t) (x2 : interp_flat_type var2 t)
- : flatten_binding_list (var1:=var1') (var2:=var2') (base_type_code:=base_type_code) (SmartVarfMap f x1) (SmartVarfMap g x2)
- = List.map (fun txy => existT _ (projT1 txy) (f _ (fst (projT2 txy)), g _ (snd (projT2 txy)))%core)
- (flatten_binding_list x1 x2).
- Proof using Type. induction t; flatten_t. Qed.
-
- Lemma flatten_binding_list2_SmartValf
- {T1 T2} f g t1 t2
- : flatten_binding_list2 (base_type_code:=base_type_code) (SmartValf T1 f t1) (SmartValf T2 g t2)
- = List.map (fun txy => existT _ (projT1 txy) (f _, g _)%core)
- (flatten_binding_list2 (SmartFlatTypeUnMap t1) (SmartFlatTypeUnMap t2)).
- Proof using Type.
- revert dependent t2; induction t1, t2; flatten_t.
- Qed.
-
- Lemma flatten_binding_list_SmartValf
- {T1 T2} f g t
- : flatten_binding_list (base_type_code:=base_type_code) (SmartValf T1 f t) (SmartValf T2 g t)
- = List.map (fun txy => existT _ (projT1 txy) (f _, g _)%core)
- (flatten_binding_list (SmartFlatTypeUnMap t) (SmartFlatTypeUnMap t)).
- Proof using Type. induction t; flatten_t. Qed.
-
- Lemma flatten_binding_list_In_eq_iff
- {var} T x y
- : (forall t a b, List.In (existT _ t (a, b)) (@flatten_binding_list base_type_code var var T x y) -> a = b)
- <-> x = y.
- Proof using Type.
- induction T;
- repeat first [ exfalso; assumption
- | progress subst
- | progress inversion_sigma
- | progress inversion_prod
- | progress destruct_head' unit
- | progress destruct_head' prod
- | split
- | progress simpl in *
- | intro
- | progress destruct_head or
- | apply (f_equal2 (@pair _ _))
- | progress split_iff
- | solve [ auto using List.in_or_app ]
- | match goal with
- | [ H : List.In _ (_ ++ _) |- _ ] => rewrite List.in_app_iff in H
- | [ H : forall x y, x = y -> forall t a b, List.In _ _ -> _, H' : List.In _ _ |- _ ]
- => specialize (H _ _ eq_refl _ _ _ H')
- end ].
- Qed.
-
- Lemma flatten_binding_list_same_in_eq
- {var} {T x t a b}
- : List.In (existT _ t (a, b)) (@flatten_binding_list base_type_code var var T x x) -> a = b.
- Proof using Type. intro; eapply flatten_binding_list_In_eq_iff; eauto. Qed.
-
- Lemma flatten_binding_list_interpf_SmartPairf_same
- interp_base_type
- (interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d)
- T T' x y e
- (Hin : List.In
- (existT
- (fun t => (exprf (Tbase t) * interp_base_type t)%type)
- T (x, y))
- (flatten_binding_list (t:=T') e (interpf interp_op (SmartMap.SmartPairf e))))
- : interpf interp_op x = y.
- Proof using Type.
- induction T';
- repeat first [ progress simpl in *
- | reflexivity
- | exfalso; assumption
- | progress subst
- | progress inversion_sigma
- | progress inversion_prod
- | progress destruct_head'_or
- | match goal with
- | [ H : List.In _ (_ ++ _) |- _ ] => rewrite List.in_app_iff in H
- | [ H : forall x y, x = y -> forall t a b, List.In _ _ -> _, H' : List.In _ _ |- _ ]
- => specialize (H _ _ eq_refl _ _ _ H')
- end
- | solve [ eauto ] ].
- Qed.
-
- Lemma flatten_binding_list_SmartVarfMap2_pair_In_split
- {var1 var1' var2 var2' T x x' y y' t a b}
- : List.In (existT _ t (a, b))
- (@flatten_binding_list
- base_type_code _ _ T
- (SmartVarfMap2 (fun t (a : var1 t) (b : var2 t) => (a, b)) x y)
- (SmartVarfMap2 (fun t (a : var1' t) (b : var2' t) => (a, b)) x' y'))
- -> List.In (existT _ t (fst a, fst b)) (@flatten_binding_list base_type_code _ _ T x x')
- /\ List.In (existT _ t (snd a, snd b)) (@flatten_binding_list base_type_code _ _ T y y').
- Proof using Type.
- induction T;
- repeat first [ exfalso; assumption
- | progress subst
- | progress inversion_sigma
- | progress inversion_prod
- | split
- | progress simpl in *
- | intro
- | progress destruct_head or
- | progress split_and
- | rewrite List.in_app_iff in *
- | solve [ eauto using List.in_or_app ] ].
- Qed.
-
- Lemma flatten_binding_list_SmartVarfMap2_pair_In_eq2_iff
- {var1 var1' var2} T x x' y y'
- : (forall t a b, List.In (existT _ t (a, b))
- (@flatten_binding_list
- base_type_code _ _ T
- (SmartVarfMap2 (fun t (a : var1 t) (b : var2 t) => (a, b)) x y)
- (SmartVarfMap2 (fun t (a : var1' t) (b : var2 t) => (a, b)) x' y'))
- -> snd a = snd b)
- <-> y = y'.
- Proof using Type.
- induction T;
- repeat first [ exfalso; assumption
- | progress subst
- | progress inversion_sigma
- | progress inversion_prod
- | progress destruct_head' unit
- | progress destruct_head' prod
- | split
- | progress simpl in *
- | intro
- | progress destruct_head or
- | apply (f_equal2 (@pair _ _))
- | progress split_iff
- | solve [ auto using List.in_or_app ]
- | match goal with
- | [ H : List.In _ (_ ++ _) |- _ ] => rewrite List.in_app_iff in H
- | [ H : context[List.In _ (_ ++ _)] |- _ ] => setoid_rewrite List.in_app_iff in H
- | [ H : forall x y, x = y -> forall t a b, List.In _ _ -> _, H' : List.In _ _ |- _ ]
- => specialize (H _ _ eq_refl _ _ _ H')
- | [ H : forall x x' y y', y = y' -> forall t a b, List.In _ _ -> _, H' : List.In _ _ |- _ ]
- => specialize (H _ _ _ _ eq_refl _ _ _ H')
- | [ H : forall t a b, _ \/ _ -> _ |- _ ]
- => pose proof (fun t a b pf => H t a b (or_introl pf));
- pose proof (fun t a b pf => H t a b (or_intror pf));
- clear H
- | [ H : forall t a b, _ |- _ ]
- => solve [ eapply (H _ (_, _) (_, _)); eauto ]
- | [ H : forall x x' y y', _ -> y = y' |- ?Y = ?Y' ]
- => specialize (fun x x' => H x x' Y Y')
- | [ H : forall x x', (forall t a b, List.In _ _ -> _ = _) -> _, H' : forall t' a' b', List.In _ _ -> _ = _ |- _ ]
- => specialize (H _ _ H')
- end ].
- Qed.
-
- Lemma flatten_binding_list_SmartVarfMap2_pair_same_in_eq2
- {var1 var1' var2} {T x x' y t a b}
- : List.In (existT _ t (a, b))
- (@flatten_binding_list
- base_type_code _ _ T
- (SmartVarfMap2 (fun t (a : var1 t) (b : var2 t) => (a, b)) x y)
- (SmartVarfMap2 (fun t (a : var1' t) (b : var2 t) => (a, b)) x' y))
- -> snd a = snd b.
- Proof using Type. intro; eapply flatten_binding_list_SmartVarfMap2_pair_In_eq2_iff; eauto. Qed.
-
- Lemma flatten_binding_list_SmartVarfMap2_pair_in_generalize2
- {var1 var1' var2 var2' var3 var3'} {T x x' y y' t a b}
- : List.In (existT _ t (a, b))
- (@flatten_binding_list
- base_type_code _ _ T
- (SmartVarfMap2 (fun t (a : var1 t) (b : var2 t) => (a, b)) x y)
- (SmartVarfMap2 (fun t (a : var1' t) (b : var2' t) => (a, b)) x' y'))
- -> (forall z z',
- exists a' b',
- List.In (existT _ t ((fst a, a'), (fst b, b')))
- (@flatten_binding_list
- base_type_code _ _ T
- (SmartVarfMap2 (fun t (a : var1 t) (b : var3 t) => (a, b)) x z)
- (SmartVarfMap2 (fun t (a : var1' t) (b : var3' t) => (a, b)) x' z'))).
- Proof.
- induction T;
- repeat first [ progress intros
- | progress subst
- | progress inversion_sigma
- | progress inversion_prod
- | progress simpl in *
- | progress destruct_head'_or
- | progress destruct_head'_prod
- | progress destruct_head'_ex
- | tauto
- | solve [ eauto ]
- | progress specialize_by_assumption
- | setoid_rewrite List.in_app_iff
- | match goal with
- | [ H : context[List.In _ (_ ++ _)] |- _ ] => setoid_rewrite List.in_app_iff in H
- | [ H : forall x : interp_flat_type ?var ?T, _, x' : interp_flat_type ?var ?T |- _ ]
- => specialize (H x')
- end ].
- Qed.
-End language.
-
-Hint Resolve wff_SmartVarf wff_SmartVarVarf wff_SmartVarVarf_nil : wf.
diff --git a/src/Compilers/WfReflective.v b/src/Compilers/WfReflective.v
deleted file mode 100644
index 4ba6d7a53..000000000
--- a/src/Compilers/WfReflective.v
+++ /dev/null
@@ -1,280 +0,0 @@
-(** * A reflective Version of [Wf] proofs *)
-(** Because every constructor of [Syntax.wff] stores the syntax tree
- being proven well-formed, a proof that a syntax tree is
- well-formed is quadratic in the size of the syntax tree. (Tacking
- an extra term on to the head of the syntax tree requires an extra
- constructor of [Syntax.wff], and that constructor stores the
- entirety of the new syntax tree.)
-
- In practice, this makes proving well-formedness of large trees
- very slow. To remedy this, we provide an alternative type
- ([reflect_wffT]) that implies [Syntax.wff], but is only linear in
- the size of the syntax tree, with a coefficient less than 1.
-
- The idea is that, since we already know the syntax-tree arguments
- to the constructors (and, moreover, already fully know the shape
- of the [Syntax.wff] proof, because it will exactly match the shape
- of the syntax tree), the proof doesn't have to store any of that
- information. It only has to store the genuinely new information
- in [Syntax.wff], namely, that the constants don't depend on the
- [var] argument (i.e., that the constants in the same location in
- the two expressions are equal), and that there are no free nor
- mismatched variables (i.e., that the variables in the same
- location in the two expressions are in the relevant list of
- binders). We can make the further optimization of storing the
- location in the list of each binder, so that all that's left to
- verify is that the locations line up correctly.
-
- Since there is no way to assign list locations (De Bruijn indices)
- after the fact (that is, once we have an [exprf var t] rather than
- an [Expr t]), we instead start from an expression where [var] is
- enriched with De Bruijn indices, and talk about [Syntax.wff] of
- that expression stripped of its De Bruijn indices. Since this
- procedure is only expected to work on concrete syntax trees, we
- will be able to simply check by unification to check that
- stripping the indices results in the term that we started with.
-
- The interface of this file is that, to prove a [Syntax.Wf] goal,
- you invoke the tactic [reflect_Wf base_type_eq_semidec_is_dec
- op_beq_bl], where:
-
- - [base_type_eq_semidec_is_dec : forall t1 t2,
- base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2] for
- some [base_type_eq_semidec_transparent : forall t1 t2 :
- base_type_code, option (t1 = t2)], and
-
- - [op_beq_bl : forall t1 tR x y, prop_of_option (op_beq t1 tR x y)
- -> x = y] for some [op_beq : forall t1 tR, op t1 tR -> op t1 tR
- -> reified_Prop] *)
-
-Require Import Coq.Arith.Arith Coq.Logic.Eqdep_dec.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.EtaWf.
-Require Import Crypto.Compilers.WfReflectiveGen.
-Require Import Crypto.Util.Notations Crypto.Util.Option Crypto.Util.Sigma Crypto.Util.Prod Crypto.Util.Decidable Crypto.Util.ListUtil.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Export Crypto.Util.PartiallyReifiedProp. (* export for the [bool >-> reified_Prop] coercion *)
-Require Export Crypto.Util.FixCoqMistakes.
-
-
-Section language.
- (** To be able to optimize away so much of the [Syntax.wff] proof,
- we must be able to decide a few things: equality of base types,
- and equality of operator codes. Since we will be casting across
- the equality proofs of base types, we require that this
- semi-decider give transparent proofs. (This requirement is not
- enforced, but it will block [vm_compute] when trying to use the
- lemma in this file.) *)
- Context (base_type_code : Type).
- Context (base_type_eq_semidec_transparent : forall t1 t2 : base_type_code, option (t1 = t2)).
- Context (base_type_eq_semidec_is_dec : forall t1 t2, base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2).
- Context (op : flat_type base_type_code -> flat_type base_type_code -> Type).
- (** In practice, semi-deciding equality of operators should either
- return [Some trivial] or [None], and not make use of the
- generality of [pointed_Prop]. However, we need to use
- [pointed_Prop] internally because we need to talk about equality
- of things of type [var t], for [var : base_type_code -> Type].
- It does not hurt to allow extra generality in [op_beq]. *)
- Context (op_beq : forall t1 tR, op t1 tR -> op t1 tR -> reified_Prop).
- Context (op_beq_bl : forall t1 tR x y, to_prop (op_beq t1 tR x y) -> x = y).
- Context {var1 var2 : base_type_code -> Type}.
-
- Local Notation eP := (fun t => var1 (fst t) * var2 (snd t))%type (only parsing).
-
- (* convenience notations that fill in some arguments used across the section *)
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
- Local Notation duplicate_type := (@duplicate_type base_type_code var1 var2).
- Local Notation reflect_wffT := (@reflect_wffT base_type_code base_type_eq_semidec_transparent op op_beq var1 var2).
- Local Notation reflect_wfT := (@reflect_wfT base_type_code base_type_eq_semidec_transparent op op_beq var1 var2).
- Local Notation flat_type_eq_semidec_transparent := (@flat_type_eq_semidec_transparent base_type_code base_type_eq_semidec_transparent).
- Local Notation preflatten_binding_list2 := (@preflatten_binding_list2 base_type_code base_type_eq_semidec_transparent var1 var2).
- Local Notation type_eq_semidec_transparent := (@type_eq_semidec_transparent base_type_code base_type_eq_semidec_transparent).
-
- Local Ltac handle_op_beq_correct :=
- repeat match goal with
- | [ H : to_prop (op_beq ?t1 ?tR ?x ?y) |- _ ]
- => apply op_beq_bl in H
- end.
- Local Ltac t_step :=
- match goal with
- | [ |- True ] => exact I
- | _ => progress cbv beta delta [eq_type_and_var op_beq' flatten_binding_list2 WfReflectiveGen.preflatten_binding_list2 option_map eq_semidec_and_gen] in *
- | _ => progress simpl in *
- | _ => progress subst
- | _ => progress break_innermost_match_step
- | _ => progress inversion_option
- | _ => progress inversion_prod
- | _ => progress inversion_reified_Prop
- | _ => congruence
- | _ => tauto
- | _ => progress intros
- | _ => progress handle_op_beq_correct
- | _ => progress specialize_by tauto
- | [ v : ex _ |- _ ] => destruct v
- | [ v : sigT _ |- _ ] => destruct v
- | [ v : prod _ _ |- _ ] => destruct v
- | [ H : forall x x', _ |- wff (flatten_binding_list ?x1 ?x2 ++ _)%list _ _ ]
- => specialize (H x1 x2)
- | [ H : forall x x', _ |- wf (existT _ _ (?x1, ?x2) :: _)%list _ _ ]
- => specialize (H x1 x2)
- | [ H : and _ _ |- _ ] => destruct H
- | [ H : to_prop (_ /\ _) |- _ ] => apply to_prop_and_reified_Prop in H; destruct H
- | [ H : context[duplicate_type (_ ++ _)%list] |- _ ]
- => rewrite duplicate_type_app in H
- | [ H : context[List.length (duplicate_type _)] |- _ ]
- => rewrite duplicate_type_length in H
- | [ H : context[List.length (_ ++ _)%list] |- _ ]
- => rewrite List.app_length in H
- | [ |- wff _ (unnatize_exprf (fst _) _) (unnatize_exprf (fst _) _) ]
- => erewrite length_natize_interp_flat_type1, length_natize_interp_flat_type2; eassumption
- | [ |- wf _ (unnatize_exprf (fst _) _) (unnatize_exprf (fst _) _) ]
- => erewrite length_natize_interp_flat_type1, length_natize_interp_flat_type2; eassumption
- | [ H : base_type_eq_semidec_transparent _ _ = None |- False ] => eapply duplicate_type_not_in; eassumption
- | [ H : List.nth_error _ _ = Some _ |- _ ] => apply List.nth_error_In in H
- | [ H : List.In _ (duplicate_type _) |- _ ] => eapply duplicate_type_in in H; [ | eassumption.. ]
- | [ H : context[match _ with _ => _ end] |- _ ] => revert H; progress break_innermost_match
- | [ |- wff _ _ _ ] => constructor
- | [ |- wf _ _ ] => constructor
- | _ => progress unfold and_reified_Prop in *
- | [ |- wff (flatten_binding_list ?x ?y) _ _ ]
- => rewrite <- (List.app_nil_r (flatten_binding_list x y))
- end.
- Local Ltac t := repeat t_step.
- Fixpoint reflect_wff (G : list (sigT (fun t => var1 t * var2 t)%type))
- {t1 t2 : flat_type}
- (e1 : @exprf (fun t => nat * var1 t)%type t1) (e2 : @exprf (fun t => nat * var2 t)%type t2)
- {struct e1}
- : let reflective_obligation := reflect_wffT (duplicate_type G) e1 e2 in
- match flat_type_eq_semidec_transparent t1 t2 with
- | Some p
- => to_prop reflective_obligation
- -> @wff base_type_code op var1 var2 G t2 (eq_rect _ exprf (unnatize_exprf (List.length G) e1) _ p) (unnatize_exprf (List.length G) e2)
- | None => True
- end.
- Proof using base_type_eq_semidec_is_dec op_beq_bl.
- cbv zeta.
- destruct e1 as [ | | ? ? ? args | tx ex tC eC | ? ex ? ey ],
- e2 as [ | | ? ? ? args' | tx' ex' tC' eC' | ? ex' ? ey' ]; simpl;
- try solve [ break_match; solve [ exact I | intros [] ] ];
- [ clear reflect_wff
- | clear reflect_wff
- | specialize (reflect_wff G _ _ args args')
- | pose proof (reflect_wff G _ _ ex ex');
- pose proof (fun x x'
- => match preflatten_binding_list2 tx tx' as v return match v with Some _ => _ | None => True end with
- | Some G0
- => reflect_wff
- (G0 x x' ++ G)%list _ _
- (eC (snd (natize_interp_flat_type (length (duplicate_type G)) x)))
- (eC' (snd (natize_interp_flat_type (length (duplicate_type G)) x')))
- | None => I
- end);
- clear reflect_wff
- | pose proof (reflect_wff G _ _ ex ex'); pose proof (reflect_wff G _ _ ey ey'); clear reflect_wff ].
- { t. }
- { t. }
- { t. }
- { t. }
- { t. }
- Qed.
- Definition reflect_wf
- {t1 t2 : type}
- (e1 : @expr (fun t => nat * var1 t)%type t1) (e2 : @expr (fun t => nat * var2 t)%type t2)
- : let reflective_obligation := reflect_wfT nil e1 e2 in
- match type_eq_semidec_transparent t1 t2 with
- | Some p
- => to_prop reflective_obligation
- -> @wf base_type_code op var1 var2 t2 (eq_rect _ expr (unnatize_expr 0 e1) _ p) (unnatize_expr 0 e2)
- | None => True
- end.
- Proof using base_type_eq_semidec_is_dec op_beq_bl.
- destruct e1 as [ tx tR f ],
- e2 as [ tx' tR' f' ]; simpl; try solve [ exact I ].
- pose proof (fun x x'
- => match preflatten_binding_list2 tx tx' as v return match v with Some _ => _ | None => True end with
- | Some G0
- => reflect_wff
- (G0 x x' ++ nil)%list
- (f (snd (natize_interp_flat_type 0 x)))
- (f' (snd (natize_interp_flat_type 0 x')))
- | None => I
- end).
- t.
- Qed.
-End language.
-
-Section Wf.
- Context (base_type_code : Type)
- (base_type_eq_semidec_transparent : forall t1 t2 : base_type_code, option (t1 = t2))
- (base_type_eq_semidec_is_dec : forall t1 t2, base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type)
- (op_beq : forall t1 tR, op t1 tR -> op t1 tR -> reified_Prop)
- (op_beq_bl : forall t1 tR x y, to_prop (op_beq t1 tR x y) -> x = y)
- {t : type base_type_code}
- (e : @Expr base_type_code op t).
-
- (** Leads to smaller proofs, but is less generally applicable *)
- Theorem reflect_Wf_unnatize
- : (forall var1 var2,
- to_prop (@reflect_wfT base_type_code base_type_eq_semidec_transparent op op_beq var1 var2 nil t t (e _) (e _)))
- -> Wf (fun var => unnatize_expr 0 (e (fun t => (nat * var t)%type))).
- Proof using base_type_eq_semidec_is_dec op_beq_bl.
- intros H var1 var2; specialize (H var1 var2).
- pose proof (@reflect_wf base_type_code base_type_eq_semidec_transparent base_type_eq_semidec_is_dec op op_beq op_beq_bl var1 var2 t t (e _) (e _)) as H'.
- rewrite type_eq_semidec_transparent_refl in H' by assumption; simpl in *.
- edestruct @reflect_wfT; simpl in *; tauto.
- Qed.
-
- (** Leads to larger proofs (an extra constant factor which is the
- size of the expression tree), but more generally applicable *)
- Theorem reflect_Wf
- : (forall var1 var2,
- unnatize_expr 0 (e (fun t => (nat * var1 t)%type)) = e _
- /\ to_prop (@reflect_wfT base_type_code base_type_eq_semidec_transparent op op_beq var1 var2 nil t t (e _) (e _)))
- -> Wf e.
- Proof using base_type_eq_semidec_is_dec op_beq_bl.
- intros H var1 var2.
- rewrite <- (proj1 (H var1 var2)), <- (proj1 (H var2 var2)).
- apply reflect_Wf_unnatize, H.
- Qed.
-End Wf.
-
-(** Using [ExprEta'] ensures that reduction and conversion don't block
- on destructuring the variable arguments. *)
-Ltac preapply_eta'_Wf :=
- lazymatch goal with
- | [ |- @Wf ?base_type_code ?op ?t ?e ]
- => apply (proj1 (@Wf_ExprEta'_iff base_type_code op t e))
- end.
-Ltac generalize_reflect_Wf base_type_eq_semidec_is_dec op_beq_bl :=
- lazymatch goal with
- | [ |- @Wf ?base_type_code ?op ?t ?e ]
- => generalize (@reflect_Wf_unnatize base_type_code _ base_type_eq_semidec_is_dec op _ op_beq_bl t e)
- end.
-Ltac use_reflect_Wf :=
- let H := fresh in
- intro H;
- lazymatch type of H with
- | ?A -> ?B
- => cut A
- end;
- [ abstract vm_cast_no_check H
- | clear H ].
-Ltac fin_reflect_Wf :=
- intros;
- lazymatch goal with
- | [ |- to_prop ?P ]
- => replace P with (trueify P) by abstract vm_cast_no_check (eq_refl P)
- end;
- apply trueify_true.
-(** The tactic [reflect_Wf] is the main tactic of this file, used to
- prove [Syntax.Wf] goals *)
-Ltac reflect_Wf base_type_eq_semidec_is_dec op_beq_bl :=
- preapply_eta'_Wf;
- generalize_reflect_Wf base_type_eq_semidec_is_dec op_beq_bl;
- use_reflect_Wf; fin_reflect_Wf.
diff --git a/src/Compilers/WfReflectiveGen.v b/src/Compilers/WfReflectiveGen.v
deleted file mode 100644
index 4de378451..000000000
--- a/src/Compilers/WfReflectiveGen.v
+++ /dev/null
@@ -1,334 +0,0 @@
-(** * A reflective version of [Wf]/[WfRel] proofs *)
-(** Because every constructor of [Syntax.wff] stores the syntax tree
- being proven well-formed, a proof that a syntax tree is
- well-formed is quadratic in the size of the syntax tree. (Tacking
- an extra term on to the head of the syntax tree requires an extra
- constructor of [Syntax.wff], and that constructor stores the
- entirety of the new syntax tree.)
-
- In practice, this makes proving well-formedness of large trees
- very slow. To remedy this, we provide an alternative type
- ([reflect_wffT]) that implies [Syntax.wff], but is only linear in
- the size of the syntax tree, with a coefficient less than 1.
-
- The idea is that, since we already know the syntax-tree arguments
- to the constructors (and, moreover, already fully know the shape
- of the [Syntax.wff] proof, because it will exactly match the shape
- of the syntax tree), the proof doesn't have to store any of that
- information. It only has to store the genuinely new information
- in [Syntax.wff], namely, that the constants don't depend on the
- [var] argument (i.e., that the constants in the same location in
- the two expressions are equal), and that there are no free nor
- mismatched variables (i.e., that the variables in the same
- location in the two expressions are in the relevant list of
- binders). We can make the further optimization of storing the
- location in the list of each binder, so that all that's left to
- verify is that the locations line up correctly.
-
- Since there is no way to assign list locations (De Bruijn indices)
- after the fact (that is, once we have an [exprf var t] rather than
- an [Expr t]), we instead start from an expression where [var] is
- enriched with De Bruijn indices, and talk about [Syntax.wff] of
- that expression stripped of its De Bruijn indices. Since this
- procedure is only expected to work on concrete syntax trees, we
- will be able to simply check by unification to check that
- stripping the indices results in the term that we started with.
-
- The interface of this file is that, to prove a [Syntax.Wf] goal,
- you invoke the tactic [reflect_Wf base_type_eq_semidec_is_dec
- op_beq_bl], where:
-
- - [base_type_eq_semidec_is_dec : forall t1 t2,
- base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2] for
- some [base_type_eq_semidec_transparent : forall t1 t2 :
- base_type_code, option (t1 = t2)], and
-
- - [op_beq_bl : forall t1 tR x y, prop_of_option (op_beq t1 tR x y)
- -> x = y] for some [op_beq : forall t1 tR, op t1 tR -> op t1 tR
- -> option pointed_Prop] *)
-
-Require Import Coq.Arith.Arith Coq.Logic.Eqdep_dec.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Util.Notations Crypto.Util.Option Crypto.Util.Sigma Crypto.Util.Prod Crypto.Util.Decidable Crypto.Util.ListUtil.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.Compilers.Wf.
-Require Export Crypto.Util.PartiallyReifiedProp. (* export for the [bool >-> reified_Prop] coercion *)
-Require Export Crypto.Util.FixCoqMistakes.
-
-
-Section language.
- (** To be able to optimize away so much of the [Syntax.wff] proof,
- we must be able to decide a few things: equality of base types,
- and equality of operator codes. Since we will be casting across
- the equality proofs of base types, we require that this
- semi-decider give transparent proofs. (This requirement is not
- enforced, but it will block [vm_compute] when trying to use the
- lemma in this file.) *)
- Context (base_type_code : Type)
- (base_type_eq_semidec_transparent : forall t1 t2 : base_type_code, option (t1 = t2))
- (base_type_eq_semidec_is_dec : forall t1 t2, base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2)
- (op : flat_type base_type_code -> flat_type base_type_code -> Type).
- (** In practice, semi-deciding equality of operators should either
- return [Some trivial] or [None], and not make use of the
- generality of [pointed_Prop]. However, we need to use
- [pointed_Prop] internally because we need to talk about equality
- of things of type [var t], for [var : base_type_code -> Type].
- It does not hurt to allow extra generality in [op_beq]. *)
- Context (op_beq : forall t1 tR, op t1 tR -> op t1 tR -> reified_Prop).
- Context (op_beq_bl : forall t1 tR x y, to_prop (op_beq t1 tR x y) -> x = y).
- Context {var1 var2 : base_type_code -> Type}.
-
- Local Notation eP := (fun t => var1 (fst t) * var2 (snd t))%type (only parsing).
-
- (* convenience notations that fill in some arguments used across the section *)
- Local Notation flat_type := (flat_type base_type_code).
- Local Notation type := (type base_type_code).
- Local Notation exprf := (@exprf base_type_code op).
- Local Notation expr := (@expr base_type_code op).
-
- Local Ltac inversion_base_type_code_step :=
- match goal with
- | [ H : ?x = ?x :> base_type_code |- _ ]
- => assert (H = eq_refl) by eapply UIP_dec, dec_rel_of_semidec_rel, base_type_eq_semidec_is_dec; subst H
- | [ H : ?x = ?y :> base_type_code |- _ ] => subst x || subst y
- end.
- Local Ltac inversion_base_type_code := repeat inversion_base_type_code_step.
-
- (* lift [base_type_eq_semidec_transparent] across [flat_type] *)
- Fixpoint flat_type_eq_semidec_transparent (t1 t2 : flat_type) : option (t1 = t2)
- := match t1, t2 return option (t1 = t2) with
- | Tbase t1, Tbase t2
- => option_map (@f_equal _ _ Tbase _ _)
- (base_type_eq_semidec_transparent t1 t2)
- | Tbase _, _ => None
- | Unit, Unit => Some eq_refl
- | Unit, _ => None
- | Prod A B, Prod A' B'
- => match flat_type_eq_semidec_transparent A A', flat_type_eq_semidec_transparent B B' with
- | Some p, Some q => Some (f_equal2 Prod p q)
- | _, _ => None
- end
- | Prod _ _, _ => None
- end.
- Definition type_eq_semidec_transparent (t1 t2 : type) : option (t1 = t2)
- := match t1, t2 return option (t1 = t2) with
- | Arrow A B, Arrow A' B'
- => match flat_type_eq_semidec_transparent A A', flat_type_eq_semidec_transparent B B' with
- | Some p, Some q => Some (f_equal2 (@Arrow base_type_code) p q)
- | _, _ => None
- end
- end.
- Lemma base_type_eq_semidec_transparent_refl t : base_type_eq_semidec_transparent t t = Some eq_refl.
- Proof using base_type_eq_semidec_is_dec.
- clear -base_type_eq_semidec_is_dec.
- pose proof (base_type_eq_semidec_is_dec t t).
- destruct (base_type_eq_semidec_transparent t t); intros; try intuition congruence.
- inversion_base_type_code; reflexivity.
- Qed.
- Lemma flat_type_eq_semidec_transparent_refl t : flat_type_eq_semidec_transparent t t = Some eq_refl.
- Proof using base_type_eq_semidec_is_dec.
- clear -base_type_eq_semidec_is_dec.
- induction t as [t | | A B IHt]; simpl; try reflexivity.
- { rewrite base_type_eq_semidec_transparent_refl; reflexivity. }
- { rewrite_hyp !*; reflexivity. }
- Qed.
- Lemma type_eq_semidec_transparent_refl t : type_eq_semidec_transparent t t = Some eq_refl.
- Proof using base_type_eq_semidec_is_dec.
- clear -base_type_eq_semidec_is_dec.
- destruct t; simpl; rewrite !flat_type_eq_semidec_transparent_refl; reflexivity.
- Qed.
-
-
- Definition op_beq' t1 tR t1' tR' (x : op t1 tR) (y : op t1' tR') : reified_Prop
- := match flat_type_eq_semidec_transparent t1 t1', flat_type_eq_semidec_transparent tR tR' with
- | Some p, Some q
- => match p in (_ = t1'), q in (_ = tR') return op t1' tR' -> _ with
- | eq_refl, eq_refl => fun y => op_beq _ _ x y
- end y
- | _, _ => rFalse
- end.
-
- (** While [Syntax.wff] is parameterized over a list of [sigT (fun t
- => var1 t * var2 t)], it is simpler here to make everything
- heterogenous, rather than trying to mix homogenous and
- heterogenous things.† Thus we parameterize our [reflect_wffT]
- over a list of [sigT (fun t => var1 (fst t) * var2 (snd t))],
- and write a function ([duplicate_type]) that turns the former
- into the latter.
-
- † This is an instance of the general theme that abstraction
- barriers are important. Here we enforce the abstraction
- barrier that our input decision procedures are homogenous, but
- all of our internal code is strictly heterogenous. This
- allows us to contain the conversions between homogenous and
- heterogenous code to a few functions: [op_beq'],
- [eq_type_and_var], [eq_type_and_const], and to the statement
- about [Syntax.wff] itself. *)
-
- Definition eq_semidec_and_gen {T} (semidec : forall x y : T, option (x = y))
- (t t' : T) (f g : T -> Type) (R : forall t, f t -> g t -> reified_Prop)
- (x : f t) (x' : g t')
- : reified_Prop
- := match semidec t t' with
- | Some p
- => R _ (eq_rect _ f x _ p) x'
- | None => rFalse
- end.
-
- (* Here is where we use the generality of [pointed_Prop], to say
- that two things of type [var1] are equal, and two things of type
- [var2] are equal. *)
- Definition eq_type_and_var : sigT eP -> sigT eP -> reified_Prop
- := fun x y => (eq_semidec_and_gen
- base_type_eq_semidec_transparent _ _ var1 var1 (fun _ => rEq) (fst (projT2 x)) (fst (projT2 y))
- /\ eq_semidec_and_gen
- base_type_eq_semidec_transparent _ _ var2 var2 (fun _ => rEq) (snd (projT2 x)) (snd (projT2 y)))%reified_prop.
-
- Definition duplicate_type (ls : list (sigT (fun t => var1 t * var2 t)%type)) : list (sigT eP)
- := List.map (fun v => existT eP (projT1 v, projT1 v) (projT2 v)) ls.
-
- Lemma duplicate_type_app ls ls'
- : (duplicate_type (ls ++ ls') = duplicate_type ls ++ duplicate_type ls')%list.
- Proof using Type. apply List.map_app. Qed.
- Lemma duplicate_type_length ls
- : List.length (duplicate_type ls) = List.length ls.
- Proof using Type. apply List.map_length. Qed.
- Lemma duplicate_type_in t v ls
- : List.In (existT _ (t, t) v) (duplicate_type ls) -> List.In (existT _ t v) ls.
- Proof using base_type_eq_semidec_is_dec.
- unfold duplicate_type; rewrite List.in_map_iff.
- intros [ [? ?] [? ?] ].
- inversion_sigma; inversion_prod; inversion_base_type_code; subst; simpl.
- assumption.
- Qed.
- Lemma duplicate_type_not_in G t t0 v (H : base_type_eq_semidec_transparent t t0 = None)
- : ~List.In (existT _ (t, t0) v) (duplicate_type G).
- Proof using base_type_eq_semidec_is_dec.
- apply base_type_eq_semidec_is_dec in H.
- clear -H; intro H'.
- induction G as [|? ? IHG]; simpl in *; destruct H';
- intuition; congruence.
- Qed.
-
- Definition preflatten_binding_list2 t1 t2 : option (forall (x : interp_flat_type var1 t1) (y : interp_flat_type var2 t2), list (sigT (fun t => var1 t * var2 t)%type))
- := match flat_type_eq_semidec_transparent t1 t2 with
- | Some p
- => Some (fun x y
- => let x := eq_rect _ (interp_flat_type var1) x _ p in
- flatten_binding_list x y)
- | None => None
- end.
- Definition flatten_binding_list2 t1 t2 : option (forall (x : interp_flat_type var1 t1) (y : interp_flat_type var2 t2), list (sigT eP))
- := option_map (fun f x y => duplicate_type (f x y)) (preflatten_binding_list2 t1 t2).
- (** This function adds De Bruijn indices to variables *)
- Fixpoint natize_interp_flat_type var t (base : nat) (v : interp_flat_type var t) {struct t}
- : nat * interp_flat_type (fun t : base_type_code => nat * var t)%type t
- := match t return interp_flat_type var t -> nat * interp_flat_type _ t with
- | Prod A B => fun v => let ret := @natize_interp_flat_type _ A base (fst v) in
- let base := fst ret in
- let a := snd ret in
- let ret := @natize_interp_flat_type _ B base (snd v) in
- let base := fst ret in
- let b := snd ret in
- (base, (a, b))
- | Unit => fun v => (base, v)
- | Tbase t => fun v => (S base, (base, v))
- end v.
- Arguments natize_interp_flat_type {var t} _ _.
- Lemma length_natize_interp_flat_type1 {t} (base : nat) (v1 : interp_flat_type var1 t) (v2 : interp_flat_type var2 t)
- : fst (natize_interp_flat_type base v1) = length (flatten_binding_list v1 v2) + base.
- Proof using Type.
- revert base; induction t; simpl; [ reflexivity | reflexivity | ].
- intros; rewrite List.app_length, <- plus_assoc.
- rewrite_hyp <- ?*; reflexivity.
- Qed.
- Lemma length_natize_interp_flat_type2 {t} (base : nat) (v1 : interp_flat_type var1 t) (v2 : interp_flat_type var2 t)
- : fst (natize_interp_flat_type base v2) = length (flatten_binding_list v1 v2) + base.
- Proof using Type.
- revert base; induction t; simpl; [ reflexivity | reflexivity | ].
- intros; rewrite List.app_length, <- plus_assoc.
- rewrite_hyp <- ?*; reflexivity.
- Qed.
-
- (* This function strips De Bruijn indices from expressions *)
- Fixpoint unnatize_exprf {var t} (base : nat)
- (e : @Syntax.exprf base_type_code op (fun t => nat * var t)%type t)
- : @Syntax.exprf base_type_code op var t
- := match e in @Syntax.exprf _ _ _ t return Syntax.exprf _ _ t with
- | TT => TT
- | Var _ x => Var (snd x)
- | Op _ _ op args => Op op (@unnatize_exprf _ _ base args)
- | LetIn _ ex _ eC
- => LetIn (@unnatize_exprf _ _ base ex)
- (fun x => let v := natize_interp_flat_type base x in
- @unnatize_exprf _ _ (fst v) (eC (snd v)))
- | Pair _ x _ y
- => Pair (@unnatize_exprf _ _ base x) (@unnatize_exprf _ _ base y)
- end.
- Definition unnatize_expr {var t} (base : nat)
- (e : @Syntax.expr base_type_code op (fun t => nat * var t)%type t)
- : @Syntax.expr base_type_code op var t
- := match e in @Syntax.expr _ _ _ t return Syntax.expr _ _ t with
- | Abs tx tR f => Abs (fun x : interp_flat_type var tx =>
- let v := natize_interp_flat_type (t:=tx) base x in
- @unnatize_exprf _ _ (fst v) (f (snd v)))
- end.
-
- Fixpoint reflect_wffT (G : list (sigT (fun t => var1 (fst t) * var2 (snd t))%type))
- {t1 t2 : flat_type}
- (e1 : @exprf (fun t => nat * var1 t)%type t1)
- (e2 : @exprf (fun t => nat * var2 t)%type t2)
- {struct e1}
- : reified_Prop
- := match e1, e2 with
- | TT, TT => rTrue
- | TT, _ => rFalse
- | Var t0 x, Var t1 y
- => match beq_nat (fst x) (fst y), List.nth_error G (List.length G - S (fst x)) with
- | true, Some v => eq_type_and_var v (existT _ (t0, t1) (snd x, snd y))
- | _, _ => rFalse
- end
- | Var _ _, _ => rFalse
- | Op t1 tR op args, Op t1' tR' op' args'
- => (@reflect_wffT G t1 t1' args args' /\ op_beq' t1 tR t1' tR' op op')%reified_prop
- | Op _ _ _ _, _ => rFalse
- | LetIn tx ex tC eC, LetIn tx' ex' tC' eC'
- => let p := @reflect_wffT G tx tx' ex ex' in
- match @flatten_binding_list2 tx tx', flat_type_eq_semidec_transparent tC tC' with
- | Some G0, Some _
- => p
- /\ (∀ (x : interp_flat_type var1 tx) (x' : interp_flat_type var2 tx'),
- @reflect_wffT (G0 x x' ++ G)%list _ _
- (eC (snd (natize_interp_flat_type (List.length G) x)))
- (eC' (snd (natize_interp_flat_type (List.length G) x'))))
- | _, _ => rFalse
- end
- | LetIn _ _ _ _, _ => rFalse
- | Pair tx ex ty ey, Pair tx' ex' ty' ey'
- => @reflect_wffT G tx tx' ex ex' /\ @reflect_wffT G ty ty' ey ey'
- | Pair _ _ _ _, _ => rFalse
- end%reified_prop.
-
- Definition reflect_wfT (G : list (sigT (fun t => var1 (fst t) * var2 (snd t))%type))
- {t1 t2 : type}
- (e1 : @expr (fun t => nat * var1 t)%type t1)
- (e2 : @expr (fun t => nat * var2 t)%type t2)
- : reified_Prop
- := match e1, e2 with
- | Abs tx tR f, Abs tx' tR' f'
- => match @flatten_binding_list2 tx tx', flat_type_eq_semidec_transparent tR tR' with
- | Some G0, Some _
- => ∀ (x : interp_flat_type var1 tx) (x' : interp_flat_type var2 tx'),
- @reflect_wffT (G0 x x' ++ G)%list _ _
- (f (snd (natize_interp_flat_type (List.length G) x)))
- (f' (snd (natize_interp_flat_type (List.length G) x')))
- | _, _ => rFalse
- end
- end%reified_prop.
-End language.
-
-Global Arguments reflect_wffT {_} _ {op} op_beq {var1 var2} G {t1 t2} _ _.
-Global Arguments reflect_wfT {_} _ {op} op_beq {var1 var2} G {t1 t2} _ _.
-Global Arguments unnatize_exprf {_ _ _ _} _ _.
-Global Arguments unnatize_expr {_ _ _ _} _ _.
-Global Arguments natize_interp_flat_type {_ _ t} _ _.
diff --git a/src/Compilers/Z/ArithmeticSimplifier.v b/src/Compilers/Z/ArithmeticSimplifier.v
deleted file mode 100644
index 5a5b95a22..000000000
--- a/src/Compilers/Z/ArithmeticSimplifier.v
+++ /dev/null
@@ -1,611 +0,0 @@
-(** * SimplifyArith: Remove things like (_ * 1), (_ + 0), etc *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Rewriter.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Util.ZUtil.Definitions.
-
-Section language.
- Context (convert_adc_to_sbb : bool).
- Local Notation exprf := (@exprf base_type op).
-
- Section with_var.
- Context {var : base_type -> Type}.
-
- Inductive inverted_expr t :=
- | const_of (v : Z)
- | gen_expr (e : exprf (var:=var) (Tbase t))
- | neg_expr (e : exprf (var:=var) (Tbase t)).
-
- Fixpoint interp_as_expr_or_const {t} (x : exprf (var:=var) t)
- : option (interp_flat_type inverted_expr t)
- := match x in Syntax.exprf _ _ t return option (interp_flat_type _ t) with
- | Op t1 (Tbase _) opc args
- => Some (match opc in op src dst
- return exprf dst
- -> exprf src
- -> match dst with
- | Tbase t => inverted_expr t
- | Prod _ _ => True
- | _ => inverted_expr TZ
- end
- with
- | OpConst _ z => fun _ _ => const_of _ z
- | Opp TZ TZ => fun _ args => neg_expr _ args
- | MulSplit _ _ _ _ _ => fun _ _ => I
- | AddWithGetCarry _ _ _ _ _ _ => fun _ _ => I
- | SubWithGetBorrow _ _ _ _ _ _ => fun _ _ => I
- | _ => fun e _ => gen_expr _ e
- end (Op opc args) args)
- | TT => Some tt
- | Var t v => Some (gen_expr _ (Var v))
- | Op _ _ _ _
- | LetIn _ _ _ _
- => None
- | Pair tx ex ty ey
- => match @interp_as_expr_or_const tx ex, @interp_as_expr_or_const ty ey with
- | Some vx, Some vy => Some (vx, vy)
- | _, None | None, _ => None
- end
- end.
-
- Fixpoint uninterp_expr_or_const {t} : interp_flat_type inverted_expr t -> exprf (var:=var) t
- := match t with
- | Tbase T => fun e => match e with
- | const_of v => Op (OpConst v) TT
- | gen_expr e => e
- | neg_expr e => Op (Opp _ _) e
- end
- | Unit => fun _ => TT
- | Prod A B => fun (ab : interp_flat_type _ A * interp_flat_type _ B)
- => Pair (@uninterp_expr_or_const A (fst ab))
- (@uninterp_expr_or_const B (snd ab))
- end.
-
- Definition simplify_op_expr {src dst} (opc : op src dst)
- : exprf (var:=var) src -> exprf (var:=var) dst
- := match opc in op src dst return exprf src -> exprf dst with
- | Add TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (interp_op _ _ opc (l, r))) TT
- | Some (const_of v, gen_expr e)
- | Some (gen_expr e, const_of v)
- => if (v =? 0)%Z
- then e
- else Op opc args
- | Some (const_of v, neg_expr e)
- | Some (neg_expr e, const_of v)
- => if (v =? 0)%Z
- then Op (Opp _ _) e
- else Op opc args
- | Some (gen_expr ep, neg_expr en)
- | Some (neg_expr en, gen_expr ep)
- => Op (Sub _ _ _) (Pair ep en)
- | _ => Op opc args
- end
- | Add T1 T2 Tout as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of v, gen_expr e)
- => if (v =? 0)%Z
- then match base_type_eq_semidec_transparent T2 Tout with
- | Some pf => eq_rect _ (fun t => exprf (Tbase t)) e _ pf
- | None => Op opc args
- end
- else Op opc args
- | Some (gen_expr e, const_of v)
- => if (v =? 0)%Z
- then match base_type_eq_semidec_transparent T1 Tout with
- | Some pf => eq_rect _ (fun t => exprf (Tbase t)) e _ pf
- | None => Op opc args
- end
- else Op opc args
- | _ => Op opc args
- end
- | Sub TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (interp_op _ _ opc (l, r))) TT
- | Some (gen_expr e, const_of v)
- => if (v =? 0)%Z
- then e
- else Op opc args
- | Some (neg_expr e, const_of v)
- => if (v =? 0)%Z
- then Op (Opp _ _) e
- else Op opc args
- | Some (gen_expr e1, neg_expr e2)
- => Op (Add _ _ _) (Pair e1 e2)
- | Some (neg_expr e1, neg_expr e2)
- => Op (Sub _ _ _) (Pair e2 e1)
- | _ => Op opc args
- end
- | Mul TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (interp_op _ _ opc (l, r))) TT
- | Some (const_of v, gen_expr e)
- | Some (gen_expr e, const_of v)
- => if (v =? 0)%Z
- then Op (OpConst 0%Z) TT
- else if (v =? 1)%Z
- then e
- else if (v =? -1)%Z
- then Op (Opp _ _) e
- else Op opc args
- | Some (const_of v, neg_expr e)
- | Some (neg_expr e, const_of v)
- => if (v =? 0)%Z
- then Op (OpConst 0%Z) TT
- else if (v =? 1)%Z
- then Op (Opp _ _) e
- else if (v =? -1)%Z
- then e
- else if (v >? 0)%Z
- then Op (Opp _ _) (Op opc (Pair (Op (OpConst v) TT) e))
- else Op opc args
- | Some (gen_expr e1, neg_expr e2)
- | Some (neg_expr e1, gen_expr e2)
- => Op (Opp _ _) (Op (Mul _ _ TZ) (Pair e1 e2))
- | Some (neg_expr e1, neg_expr e2)
- => Op (Mul _ _ _) (Pair e1 e2)
- | _ => Op opc args
- end
- | Mul (TWord bw1 as T1) (TWord bw2 as T2) (TWord bwout as Tout) as opc
- => fun args
- => let sz1 := (2^Z.of_nat (2^bw1))%Z in
- let sz2 := (2^Z.of_nat (2^bw2))%Z in
- let szout := (2^Z.of_nat (2^bwout))%Z in
- match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (((Z.max 0 l mod sz1) * (Z.max 0 r mod sz2)) mod szout)%Z) TT
- | Some (const_of v, gen_expr e)
- => if ((Z.max 0 v mod sz1) mod szout =? 0)%Z
- then Op (OpConst 0%Z) TT
- else if ((Z.max 0 v mod sz1) mod szout =? 1)%Z
- then match base_type_eq_semidec_transparent T2 Tout with
- | Some pf => eq_rect _ (fun t => exprf (Tbase t)) e _ pf
- | None => Op opc args
- end
- else Op opc args
- | Some (gen_expr e, const_of v)
- => if ((Z.max 0 v mod sz2) mod szout =? 0)%Z
- then Op (OpConst 0%Z) TT
- else if ((Z.max 0 v mod sz2) mod szout =? 1)%Z
- then match base_type_eq_semidec_transparent T1 Tout with
- | Some pf => eq_rect _ (fun t => exprf (Tbase t)) e _ pf
- | None => Op opc args
- end
- else Op opc args
- | _ => Op opc args
- end
- | Shl TZ TZ TZ as opc
- | Shr TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (interp_op _ _ opc (l, r))) TT
- | Some (gen_expr e, const_of v)
- => if (v =? 0)%Z
- then e
- else Op opc args
- | Some (neg_expr e, const_of v)
- => if (v =? 0)%Z
- then Op (Opp _ _) e
- else Op opc args
- | _ => Op opc args
- end
- | Land TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (interp_op _ _ opc (l, r))) TT
- | Some (const_of v, gen_expr _)
- | Some (gen_expr _, const_of v)
- | Some (const_of v, neg_expr _)
- | Some (neg_expr _, const_of v)
- => if (v =? 0)%Z
- then Op (OpConst 0%Z) TT
- else Op opc args
- | _ => Op opc args
- end
- | Lor TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => Op (OpConst (interp_op _ _ opc (l, r))) TT
- | Some (const_of v, gen_expr e)
- | Some (gen_expr e, const_of v)
- => if (v =? 0)%Z
- then e
- else Op opc args
- | Some (const_of v, neg_expr e)
- | Some (neg_expr e, const_of v)
- => if (v =? 0)%Z
- then Op (Opp _ _) e
- else Op opc args
- | _ => Op opc args
- end
- | Opp TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of v)
- => Op (OpConst (interp_op _ _ opc v)) TT
- | Some (neg_expr e)
- => e
- | _
- => Op opc args
- end
- | MulSplit bitwidth (TWord bw1 as T1) (TWord bw2 as T2) (TWord bwout1 as Tout1) (TWord bwout2 as Tout2) as opc
- => fun args
- => let sz1 := (2^Z.of_nat (2^bw1))%Z in
- let sz2 := (2^Z.of_nat (2^bw2))%Z in
- let szout1 := (2^Z.of_nat (2^bwout1))%Z in
- let szout2 := (2^Z.of_nat (2^bwout2))%Z in
- match interp_as_expr_or_const args with
- | Some (const_of l, const_of r)
- => let '(a, b) := Z.mul_split_at_bitwidth bitwidth (Z.max 0 l mod sz1) (Z.max 0 r mod sz2) in
- Pair (Op (OpConst (a mod szout1)%Z) TT)
- (Op (OpConst (b mod szout2)%Z) TT)
- | Some (const_of v, gen_expr e)
- => let v' := (Z.max 0 v mod sz1)%Z in
- if (v' =? 0)%Z
- then Pair (Op (OpConst 0%Z) TT) (Op (OpConst 0%Z) TT)
- else if ((v' =? 1) && (2^Z.of_nat (2^bw2) <=? 2^bitwidth))%Z%bool
- then match base_type_eq_semidec_transparent T2 Tout1 with
- | Some pf => Pair (eq_rect _ (fun t => exprf (Tbase t)) e _ pf)
- (Op (OpConst 0%Z) TT)
- | None => Op opc args
- end
- else Op opc args
- | Some (gen_expr e, const_of v)
- => let v' := (Z.max 0 v mod sz2)%Z in
- if (v' =? 0)%Z
- then Pair (Op (OpConst 0%Z) TT) (Op (OpConst 0%Z) TT)
- else if ((v' =? 1) && (2^Z.of_nat (2^bw1) <=? 2^bitwidth))%Z%bool
- then match base_type_eq_semidec_transparent T1 Tout1 with
- | Some pf => Pair (eq_rect _ (fun t => exprf (Tbase t)) e _ pf)
- (Op (OpConst 0%Z) TT)
- | None => Op opc args
- end
- else Op opc args
- | _ => Op opc args
- end
- | IdWithAlt (TWord _ as T1) _ (TWord _ as Tout) as opc
- => fun args
- => match base_type_eq_semidec_transparent T1 Tout with
- | Some pf
- => match interp_as_expr_or_const args with
- | Some (const_of c, _)
- => Op (OpConst c) TT
- | Some (neg_expr e, _)
- => Op (Opp _ _) e
- | Some (gen_expr e, _)
- => eq_rect _ (fun t => exprf (Tbase t)) e _ pf
- | None
- => Op opc args
- end
- | None
- => Op opc args
- end
- | IdWithAlt TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (gen_expr e1, gen_expr e2)
- => match invert_Op e1, invert_Op e2 with
- | Some (existT _ (Add TZ TZ TZ as opc1, args1)),
- Some (existT _ (Add TZ TZ TZ as opc2, args2))
- | Some (existT _ (Sub TZ TZ TZ as opc1, args1)),
- Some (existT _ (Sub TZ TZ TZ as opc2, args2))
- | Some (existT _ (Mul TZ TZ TZ as opc1, args1)),
- Some (existT _ (Mul TZ TZ TZ as opc2, args2))
- => match interp_as_expr_or_const args1, interp_as_expr_or_const args2 with
- | Some (gen_expr e1, const_of c1),
- Some (gen_expr e2, const_of c2)
- => if Z.eqb c1 c2
- then Op opc1 (Op opc (e1, e2), Op (OpConst c1) TT)%expr
- else Op opc args
- | _, _
- => Op opc args
- end
- | _, _
- => Op opc args
- end
- | Some (neg_expr e1, neg_expr e2)
- => Op (Opp _ _) (Op opc (e1, e2)%expr)
- | Some (const_of c1, const_of c2)
- => Op (OpConst c1) TT
- | _
- => Op opc args
- end
- | IdWithAlt _ _ (TWord _ as Tout) as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (gen_expr e1, _)
- => match invert_Op e1 with
- | Some (existT _ (Add (TWord _) (TWord _) TZ as opc1, args1))
- => Op (Add _ _ Tout) args1
- | Some (existT _ (Sub (TWord _) (TWord _) TZ as opc1, args1))
- => Op (Sub _ _ Tout) args1
- | Some (existT _ (Mul (TWord _) (TWord _) TZ as opc1, args1))
- => Op (Mul _ _ Tout) args1
- | _
- => Op opc args
- end
- | _
- => Op opc args
- end
- | Zselect TZ TZ TZ TZ as opc
- => fun args
- => match interp_as_expr_or_const args with
- | Some (const_of c, x, y)
- => match (c =? 0)%Z, x, y with
- | true, const_of c, _
- | false, _, const_of c
- => Op (OpConst c) TT
- | true, gen_expr e, _
- | false, _, gen_expr e
- => e
- | true, neg_expr e, _
- | false, _, neg_expr e
- => Op (Opp TZ TZ) e
- end
- | Some (neg_expr e, x, y)
- => let x := uninterp_expr_or_const (t:=Tbase _) x in
- let y := uninterp_expr_or_const (t:=Tbase _) y in
- Op (Zselect TZ TZ TZ TZ) (e, x, y)%expr
- | _ => Op opc args
- end
- | AddWithCarry TZ TZ TZ TZ as opc
- => fun args
- => let first_pass
- := match interp_as_expr_or_const args with
- | Some (const_of c, const_of x, const_of y)
- => Some (Op (OpConst (interp_op _ _ opc (c, x, y))) TT)
- | Some (gen_expr e, const_of c1, const_of c2)
- | Some (const_of c1, gen_expr e, const_of c2)
- | Some (const_of c1, const_of c2, gen_expr e)
- => if (c1 + c2 =? 0)%Z
- then Some e
- else None
- | _ => None
- end in
- match first_pass with
- | Some e => e
- | None
- => if convert_adc_to_sbb
- then match interp_as_expr_or_const args with
- | Some (const_of c, const_of x, const_of y)
- => Op (OpConst (interp_op _ _ opc (c, x, y))) TT
- | Some (c, gen_expr x, y)
- => let y' := match y with
- | const_of y => if (y <? 0)%Z
- then Some (Op (OpConst (-y)) TT)
- else None
- | neg_expr y => Some y
- | gen_expr _ => None
- end in
- match y' with
- | Some y => Op (SubWithBorrow TZ TZ TZ TZ)
- (match c with
- | const_of c => Op (OpConst (-c)) TT
- | neg_expr c => c
- | gen_expr c => Op (Opp TZ TZ) c
- end,
- x, y)%expr
- | None => Op opc args
- end
- | _ => Op opc args
- end
- else Op opc args
- end
- | AddWithGetCarry bw TZ TZ TZ TZ TZ as opc
- => fun args
- => if convert_adc_to_sbb
- then match interp_as_expr_or_const args with
- | Some (const_of c, const_of x, const_of y)
- => let '(v, c) := interp_op _ _ opc (c, x, y) in
- (Op (OpConst v) TT, Op (OpConst c) TT)%expr
- | Some (c, gen_expr x, y)
- => let y' := match y with
- | const_of y => if (y <? 0)%Z
- then Some (Op (OpConst (-y)) TT)
- else None
- | neg_expr y => Some y
- | gen_expr _ => None
- end in
- let c' := match c with
- | const_of c => if (c <? 0)%Z
- then Some (Op (OpConst (-c)) TT)
- else None
- | neg_expr c => Some c
- | gen_expr _ => None
- end in
- match c', y' with
- | _, Some y => LetIn (Op (SubWithGetBorrow bw TZ TZ TZ TZ TZ)
- (match c with
- | const_of c => Op (OpConst (-c)) TT
- | neg_expr c => c
- | gen_expr c => Op (Opp TZ TZ) c
- end,
- x, y)%expr)
- (fun '(v, c) => (Var v, Op (Opp TZ TZ) (Var c))%expr)
- | Some c, _ => LetIn (Op (SubWithGetBorrow bw TZ TZ TZ TZ TZ)
- (c,
- x,
- match y with
- | const_of y => Op (OpConst (-y)) TT
- | neg_expr y => y
- | gen_expr y => Op (Opp TZ TZ) y
- end)%expr)
- (fun '(v, c) => (Var v, Op (Opp TZ TZ) (Var c))%expr)
- | None, None => Op opc args
- end
- | Some (c, const_of x, y)
- => let y' := match y with
- | const_of y => if (y <? 0)%Z
- then Some (Op (OpConst (-y)) TT)
- else None
- | neg_expr y => Some y
- | gen_expr _ => None
- end in
- let c' := match c with
- | const_of c => if (c <? 0)%Z
- then Some (Op (OpConst (-c)) TT)
- else None
- | neg_expr c => Some c
- | gen_expr _ => None
- end in
- match c', y' with
- | _, Some y => LetIn (Op (SubWithGetBorrow bw TZ TZ TZ TZ TZ)
- (match c with
- | const_of c => Op (OpConst (-c)) TT
- | neg_expr c => c
- | gen_expr c => Op (Opp TZ TZ) c
- end,
- Op (OpConst x) TT, y)%expr)
- (fun '(v, c) => (Var v, Op (Opp TZ TZ) (Var c))%expr)
- | Some c, _ => LetIn (Op (SubWithGetBorrow bw TZ TZ TZ TZ TZ)
- (c,
- Op (OpConst x) TT,
- match y with
- | const_of y => Op (OpConst (-y)) TT
- | neg_expr y => y
- | gen_expr y => Op (Opp TZ TZ) y
- end)%expr)
- (fun '(v, c) => (Var v, Op (Opp TZ TZ) (Var c))%expr)
- | None, None => Op opc args
- end
- | _ => Op opc args
- end
- else Op opc args
- | AddWithGetCarry bw (TWord bw1 as T1) (TWord bw2 as T2) (TWord bw3 as T3) (TWord bwout as Tout) Tout2 as opc
- => fun args
- => let pass0
- := if ((0 <=? bw)%Z && (2^Z.of_nat (2^bw1) + 2^Z.of_nat (2^bw2) + 2^Z.of_nat (2^bw3) - 3 <=? 2^bw - 1)%Z)%nat%bool
- then Some (Pair (LetIn args (fun '(a, b, c) => Op (Add _ _ _) (Pair (Op (Add _ _ Tout) (Pair (Var a) (Var b))) (Var c))))
- (Op (OpConst 0) TT))
- else None
- in
- match pass0 with
- | Some e => e
- | None
- => match interp_as_expr_or_const args with
- | Some (const_of c, const_of x, const_of y)
- => if ((c =? 0) && (x =? 0) && (y =? 0))%Z%bool
- then Pair (Op (OpConst 0) TT) (Op (OpConst 0) TT)
- else Op opc args
- | Some (gen_expr e, const_of c1, const_of c2)
- => match base_type_eq_semidec_transparent T1 Tout with
- | Some pf
- => if ((c1 =? 0) && (c2 =? 0) && (2^Z.of_nat bw1 <=? bw))%Z%bool
- then Pair (eq_rect _ (fun t => exprf (Tbase t)) e _ pf) (Op (OpConst 0) TT)
- else Op opc args
- | None
- => Op opc args
- end
- | Some (const_of c1, gen_expr e, const_of c2)
- => match base_type_eq_semidec_transparent T2 Tout with
- | Some pf
- => if ((c1 =? 0) && (c2 =? 0) && (2^Z.of_nat bw2 <=? bw))%Z%bool
- then Pair (eq_rect _ (fun t => exprf (Tbase t)) e _ pf) (Op (OpConst 0) TT)
- else Op opc args
- | None
- => Op opc args
- end
- | Some (const_of c1, const_of c2, gen_expr e)
- => match base_type_eq_semidec_transparent T3 Tout with
- | Some pf
- => if ((c1 =? 0) && (c2 =? 0) && (2^Z.of_nat bw3 <=? bw))%Z%bool
- then Pair (eq_rect _ (fun t => exprf (Tbase t)) e _ pf) (Op (OpConst 0) TT)
- else Op opc args
- | None
- => Op opc args
- end
- | _ => Op opc args
- end
- end
- | SubWithBorrow TZ TZ TZ TZ as opc
- => fun args
- => if convert_adc_to_sbb
- then match interp_as_expr_or_const args with
- | Some (const_of c, const_of x, const_of y)
- => Op (OpConst (interp_op _ _ opc (c, x, y))) TT
- | Some (c, gen_expr x, y)
- => let y' := match y with
- | const_of y => if (y <? 0)%Z
- then Some (Op (OpConst (-y)) TT)
- else None
- | neg_expr y => Some y
- | gen_expr _ => None
- end in
- match y' with
- | Some y => Op (AddWithCarry TZ TZ TZ TZ)
- (match c with
- | const_of c => Op (OpConst (-c)) TT
- | neg_expr c => c
- | gen_expr c => Op (Opp TZ TZ) c
- end,
- x, y)%expr
- | None => Op opc args
- end
- | _ => Op opc args
- end
- else Op opc args
- | SubWithGetBorrow bw TZ TZ TZ TZ TZ as opc
- => fun args
- => if convert_adc_to_sbb
- then match interp_as_expr_or_const args with
- | Some (const_of c, const_of x, const_of y)
- => let '(v, c) := interp_op _ _ opc (c, x, y) in
- (Op (OpConst v) TT, Op (OpConst c) TT)%expr
- | Some (c, gen_expr x, y)
- => let y' := match y with
- | const_of y => if (y <? 0)%Z
- then Some (Op (OpConst (-y)) TT)
- else None
- | neg_expr y => Some y
- | gen_expr _ => None
- end in
- match y' with
- | Some y => LetIn (Op (AddWithGetCarry bw TZ TZ TZ TZ TZ)
- (match c with
- | const_of c => Op (OpConst (-c)) TT
- | neg_expr c => c
- | gen_expr c => Op (Opp TZ TZ) c
- end,
- x, y)%expr)
- (fun '(v, c) => (Var v, Op (Opp TZ TZ) (Var c))%expr)
- | None => Op opc args
- end
- | _ => Op opc args
- end
- else Op opc args
- | Sub _ _ _ as opc
- | Mul _ _ _ as opc
- | Shl _ _ _ as opc
- | Shr _ _ _ as opc
- | Land _ _ _ as opc
- | Lor _ _ _ as opc
- | OpConst _ _ as opc
- | Opp _ _ as opc
- | IdWithAlt _ _ _ as opc
- | Zselect _ _ _ _ as opc
- | MulSplit _ _ _ _ _ as opc
- | AddWithCarry _ _ _ _ as opc
- | AddWithGetCarry _ _ _ _ _ _ as opc
- | SubWithBorrow _ _ _ _ as opc
- | SubWithGetBorrow _ _ _ _ _ _ as opc
- => Op opc
- end.
- End with_var.
-
- Definition SimplifyArith {t} (e : Expr t) : Expr t
- := @RewriteOp base_type op (@simplify_op_expr) t e.
-End language.
diff --git a/src/Compilers/Z/ArithmeticSimplifierInterp.v b/src/Compilers/Z/ArithmeticSimplifierInterp.v
deleted file mode 100644
index c1c841c9f..000000000
--- a/src/Compilers/Z/ArithmeticSimplifierInterp.v
+++ /dev/null
@@ -1,247 +0,0 @@
-Require Import Coq.micromega.Psatz.
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.RewriterInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.OpInversion.
-Require Import Crypto.Compilers.Z.ArithmeticSimplifier.
-Require Import Crypto.Compilers.Z.ArithmeticSimplifierUtil.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Util.ZUtil.Hints.
-Require Import Crypto.Util.ZUtil.Hints.Core.
-Require Import Crypto.Util.ZUtil.ZSimplify.Core.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.Z2Nat.
-Require Import Crypto.Util.ZUtil.AddGetCarry.
-Require Import Crypto.Util.ZUtil.Modulo.PullPush.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Sum.
-Require Import Crypto.Util.HProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.UniquePose.
-
-Local Notation exprf := (@exprf base_type op interp_base_type).
-Local Notation expr := (@expr base_type op interp_base_type).
-
-Local Ltac fin_t :=
- first [ exact I
- | reflexivity
- | congruence
- | assumption
- | lia
- | exfalso; assumption ].
-Local Ltac break_t_step :=
- first [ progress subst
- | progress inversion_option
- | progress inversion_sum
- | progress inversion_expr
- | progress inversion_prod
- | progress inversion_inverted_expr
- | progress inversion_flat_type
- | progress subst_prod
- | progress destruct_head'_and
- | progress destruct_head'_prod
- | progress eliminate_hprop_eq
- | progress break_innermost_match_step
- | progress break_match_hyps ].
-
-Local Ltac solve_word_small _ :=
- lazymatch goal with
- | [ H : (2^Z.of_nat ?b <= ?bw)%Z |- (0 <= FixedWordSizes.wordToZ ?x < 2^?bw)%Z ]
- => cut (0 <= FixedWordSizes.wordToZ x < 2^(Z.of_nat (2^b)%nat))%Z;
- [ rewrite Z.pow_Zpow; cbn [Z.of_nat Pos.of_succ_nat Pos.succ];
- assert ((2^2^Z.of_nat b <= 2^bw)%Z) by auto with zarith;
- auto with zarith
- | apply FixedWordSizesEquality.wordToZ_range ]
- end.
-
-Definition interpf_as_expr_or_const {t}
- : interp_flat_type (@inverted_expr interp_base_type) t -> interp_flat_type interp_base_type t
- := SmartVarfMap
- (fun t z => match z with
- | const_of z => cast_const (t1:=TZ) z
- | gen_expr e => interpf interp_op e
- | neg_expr e => interpf interp_op (Op (Opp _ _) e)
- end).
-
-Lemma interp_as_expr_or_const_correct {t} e z
- : @interp_as_expr_or_const interp_base_type t e = Some z
- -> interpf interp_op e = interpf_as_expr_or_const z.
-Proof.
- induction e;
- repeat first [ progress subst
- | progress inversion_option
- | progress simpl in *
- | progress cbn [interpf_as_expr_or_const SmartVarfMap smart_interp_flat_map]
- | reflexivity
- | break_innermost_match_hyps_step
- | intro
- | match goal with
- | [ H : forall z, Some _ = Some z -> _ |- _ ] => specialize (H _ eq_refl)
- | [ H : interpf _ ?e = interpf_as_expr_or_const _ |- _ ]
- => rewrite H
- | [ |- context[match ?e with _ => _ end] ]
- => is_var e; invert_one_op e
- end
- | break_innermost_match_step ].
-Qed.
-
-Local Ltac rewrite_interp_as_expr_or_const_correct _ :=
- match goal with
- | [ |- context[interpf _ ?e] ]
- => erewrite !(@interp_as_expr_or_const_correct _ e) by eassumption; cbv beta iota;
- cbn [interpf_as_expr_or_const SmartVarfMap smart_interp_flat_map]
- end.
-
-Local Arguments Z.mul !_ !_.
-Local Arguments Z.add !_ !_.
-Local Arguments Z.sub !_ !_.
-Local Arguments Z.opp !_.
-Local Arguments interp_op _ _ !_ _ / .
-Local Arguments lift_op / .
-Local Opaque Z.pow.
-
-Lemma InterpSimplifyArith {convert_adc_to_sbb} {t} (e : Expr t)
- : forall x, Interp (SimplifyArith convert_adc_to_sbb e) x = Interp e x.
-Proof.
- apply InterpRewriteOp; intros; unfold simplify_op_expr.
- Time break_innermost_match;
- repeat first [ reflexivity
- | progress subst
- | progress simpl in *
- | progress inversion_prod
- | progress invert_expr_subst
- | inversion_base_type_constr_step
- | match goal with
- | [ |- context[match ?e with _ => _ end] ]
- => is_var e; invert_one_op e;
- repeat match goal with
- | [ |- match ?T with _ => _ end _ ]
- => break_innermost_match_step; try exact I
- end
- end
- | break_innermost_match_step
- | rewrite_interp_as_expr_or_const_correct ()
- | intro ].
- all:repeat first [ reflexivity
- | omega
- | discriminate
- | progress cbv [LetIn.Let_In Z.zselect IdfunWithAlt.id_with_alt]
- | progress subst
- | progress simpl in *
- | progress Bool.split_andb
- | progress Z.ltb_to_lt
- | break_innermost_match_step
- | apply (f_equal2 pair)
- | progress cbv [cast_const ZToInterp interpToZ]
- | match goal with
- | [ |- interpf ?interp_op ?e = ?x ]
- => rewrite <- (FixedWordSizesEquality.ZToWord_wordToZ (interpf interp_op e)), <- FixedWordSizesEquality.eq_ZToWord
- end
- | rewrite <- FixedWordSizesEquality.eq_ZToWord ].
- all:repeat first [ rewrite FixedWordSizesEquality.ZToWord_wordToZ
- | rewrite FixedWordSizesEquality.ZToWord_wordToZ_ZToWord by reflexivity
- | rewrite FixedWordSizesEquality.wordToZ_ZToWord_0
- | rewrite !FixedWordSizesEquality.wordToZ_ZToWord_mod_full ].
- all:repeat match goal with
- | [ H : _ = Some eq_refl |- _ ] => clear H
- | [ H : interp_as_expr_or_const _ = Some _ |- _ ] => clear H
- | [ H : interpf _ _ = _ |- _ ] => clear H
- | [ H : Syntax.exprf _ _ _ |- _ ] => clear H
- | [ H : Expr _ |- _ ] => clear H
- | [ H : type _ |- _ ] => clear H
- | [ H : bool |- _ ] => clear H
- | [ |- context[FixedWordSizes.wordToZ ?e] ]
- => pose proof (FixedWordSizesEquality.wordToZ_range e);
- lazymatch e with
- | interpf interp_op ?e'
- => generalize dependent (FixedWordSizes.wordToZ e); clear e'; intros
- | _ => is_var e; generalize dependent (FixedWordSizes.wordToZ e);
- clear e; intros
- end
- | [ |- context[interpf interp_op ?e] ]
- => is_var e; generalize dependent (interpf interp_op e); clear e; intros
- | [ |- context[Z.of_nat (2^?e)] ]
- => is_var e; assert ((0 < Z.of_nat (2^e))%Z)
- by (rewrite Z.pow_Zpow; simpl Z.of_nat; Z.zero_bounds);
- generalize dependent (Z.of_nat (2^e)); clear e; intros
- end.
- all:try nia.
- Time
- all:repeat first [ reflexivity
- | omega
- | progress change (2^0)%Z with 1%Z in *
- | progress change (2^1)%Z with 2%Z in *
- | progress rewrite ?Z.land_0_l, ?Z.land_0_r, ?Z.lor_0_l, ?Z.lor_0_r, ?Z.opp_involutive, ?Z.shiftr_0_r
- | progress rewrite ?Z.land_ones by lia
- | match goal with
- | [ H : (?bitwidth < 0)%Z, H' : context[(2^?bitwidth)%Z] |- _ ] => is_var bitwidth; destruct bitwidth; cbn in H
- end
- | progress autorewrite with Zshift_to_pow in *
- | rewrite !Z.sub_with_borrow_to_add_get_carry
- | progress cbv [Z.add_with_carry]
- | rewrite Z.mod_mod by Z.zero_bounds
- | match goal with
- | [ |- context[(?x mod ?y)%Z] ]
- => lazymatch goal with
- | [ H : (0 <= x mod y)%Z |- _ ] => fail
- | [ H : (0 <= x mod y < _)%Z |- _ ] => fail
- | _ => assert (0 <= x mod y < y)%Z by (apply Z.mod_pos_bound; Z.zero_bounds; lia)
- end
- | [ |- context[(?x / ?y)%Z] ]
- => lazymatch goal with
- | [ H : (0 <= x / y)%Z |- _ ] => fail
- | _ => assert (0 <= x / y)%Z by Z.zero_bounds
- end
- | [ H : (2^Z.of_nat ?bw <= ?bw')%Z |- context[(2^?bw')%Z] ]
- => unique assert ((2^Z.of_nat (2^bw) <= 2^bw')%Z)
- by (rewrite Z.pow_Zpow; simpl @Z.of_nat; auto with zarith)
- end
- | progress autorewrite with zsimplify_const in *
- | match goal with
- | [ H : (2^?x <= 1)%Z, H' : (0 < ?x)%Z |- _ ]
- => lazymatch goal with
- | [ |- False ] => fail
- | _ => exfalso; clear -H H'; assert (2^1 <= 2^x)%Z by auto with zarith
- end
- | [ H : (0 <= ?x < _)%Z |- context[Z.max 0 ?x] ]
- => rewrite (Z.max_r 0 x) in * by apply H
- | [ H : (0 <= ?x)%Z |- context[Z.max 0 ?x] ]
- => rewrite (Z.max_r 0 x) in * by apply H
- | [ H : (0 <= ?x < _)%Z, H' : (0 <= ?y < _)%Z |- context[Z.max 0 (?x * ?y)] ]
- => rewrite (Z.max_r 0 (x * y)) in * by (apply Z.mul_nonneg_nonneg; first [ apply H | apply H' ])
- | [ H : (0 <= ?x < _)%Z, H' : (0 <= ?y < _)%Z |- context[Z.max 0 (?x + ?y)] ]
- => rewrite (Z.max_r 0 (x + y)) in * by (apply Z.add_nonneg_nonneg; first [ apply H | apply H' ])
- | [ H : ?x = 0%Z |- context[?x] ] => rewrite H
- | [ H : ?x = 0%Z, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : ?x = Z.pos _ |- context[?x] ] => rewrite H
- | [ H : ?x = Z.pos _, H' : context[?x] |- _ ] => rewrite H in H'
- | [ H : context[(_^Z.neg ?p)%Z] |- _ ]
- => rewrite (Z.pow_neg_r _ (Z.neg p)) in H by lia
- | [ H : (?x mod ?y = 0)%Z |- context[((?x * _) mod ?y)%Z] ]
- => rewrite (Z.mul_mod_full x _ y)
- | [ H : (?x mod ?y = 0)%Z |- context[((_ * ?x) mod ?y)%Z] ]
- => rewrite (Z.mul_mod_full _ x y)
- | [ H : ?x = Z.pos _ |- context[?x] ] => rewrite H
- | [ H : (?x mod ?y = Z.pos _)%Z |- context[((?x * _) mod ?y)%Z] ]
- => rewrite (Z.mul_mod_full x _ y)
- | [ H : (?x mod ?y = Z.pos _)%Z |- context[((_ * ?x) mod ?y)%Z] ]
- => rewrite (Z.mul_mod_full _ x y)
- | [ |- context[(?x mod ?m)%Z] ]
- => rewrite (Z.mod_small x m) by Z.rewrite_mod_small_solver
- | [ |- context[(?x / ?m)%Z] ]
- => rewrite (Z.div_small x m) by Z.rewrite_mod_small_solver
- end
- | progress pull_Zmod ].
-Qed.
-
-Hint Rewrite @InterpSimplifyArith : reflective_interp.
diff --git a/src/Compilers/Z/ArithmeticSimplifierUtil.v b/src/Compilers/Z/ArithmeticSimplifierUtil.v
deleted file mode 100644
index 49d3a2257..000000000
--- a/src/Compilers/Z/ArithmeticSimplifierUtil.v
+++ /dev/null
@@ -1,79 +0,0 @@
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.ArithmeticSimplifier.
-
-(** ** Equality for [inverted_expr] *)
-Section inverted_expr.
- Context {var : base_type -> Type}.
- Local Notation inverted_expr := (@inverted_expr var).
- Local Notation inverted_expr_code u v
- := (match u, v with
- | const_of u', const_of v'
- | gen_expr u', gen_expr v'
- | neg_expr u', neg_expr v'
- => u' = v'
- | const_of _, _
- | gen_expr _, _
- | neg_expr _, _
- => False
- end).
-
- (** *** Equality of [inverted_expr] is a [match] *)
- Definition path_inverted_expr {T} (u v : inverted_expr T) (p : inverted_expr_code u v)
- : u = v.
- Proof. destruct u, v; first [ apply f_equal | exfalso ]; exact p. Defined.
-
- (** *** Equivalence of equality of [inverted_expr] with [inverted_expr_code] *)
- Definition unpath_inverted_expr {T} {u v : inverted_expr T} (p : u = v)
- : inverted_expr_code u v.
- Proof. subst v; destruct u; reflexivity. Defined.
-
- Definition path_inverted_expr_iff {T}
- (u v : @inverted_expr T)
- : u = v <-> inverted_expr_code u v.
- Proof.
- split; [ apply unpath_inverted_expr | apply path_inverted_expr ].
- Defined.
-
- (** *** Eta-expansion of [@eq (inverted_expr _ _)] *)
- Definition path_inverted_expr_eta {T} {u v : @inverted_expr T} (p : u = v)
- : p = path_inverted_expr u v (unpath_inverted_expr p).
- Proof. destruct u, p; reflexivity. Defined.
-
- (** *** Induction principle for [@eq (inverted_expr _ _)] *)
- Definition path_inverted_expr_rect {T} {u v : @inverted_expr T} (P : u = v -> Type)
- (f : forall p, P (path_inverted_expr u v p))
- : forall p, P p.
- Proof. intro p; specialize (f (unpath_inverted_expr p)); destruct u, p; exact f. Defined.
- Definition path_inverted_expr_rec {T u v} (P : u = v :> @inverted_expr T -> Set) := path_inverted_expr_rect P.
- Definition path_inverted_expr_ind {T u v} (P : u = v :> @inverted_expr T -> Prop) := path_inverted_expr_rec P.
-End inverted_expr.
-
-(** ** Useful Tactics *)
-(** *** [inversion_inverted_expr] *)
-Ltac induction_path_inverted_expr H :=
- induction H as [H] using path_inverted_expr_rect;
- try match type of H with
- | False => exfalso; exact H
- end.
-Ltac inversion_inverted_expr_step :=
- match goal with
- | [ H : const_of _ _ = const_of _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : const_of _ _ = gen_expr _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : const_of _ _ = neg_expr _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : gen_expr _ _ = const_of _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : gen_expr _ _ = gen_expr _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : gen_expr _ _ = neg_expr _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : neg_expr _ _ = const_of _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : neg_expr _ _ = gen_expr _ _ |- _ ]
- => induction_path_inverted_expr H
- | [ H : neg_expr _ _ = neg_expr _ _ |- _ ]
- => induction_path_inverted_expr H
- end.
-Ltac inversion_inverted_expr := repeat inversion_inverted_expr_step.
diff --git a/src/Compilers/Z/ArithmeticSimplifierWf.v b/src/Compilers/Z/ArithmeticSimplifierWf.v
deleted file mode 100644
index 4efa7445a..000000000
--- a/src/Compilers/Z/ArithmeticSimplifierWf.v
+++ /dev/null
@@ -1,218 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfInversion.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.RewriterWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.OpInversion.
-Require Import Crypto.Compilers.Z.ArithmeticSimplifier.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sum.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.HProp.
-
-Local Notation exprf := (@exprf base_type op).
-Local Notation expr := (@expr base_type op).
-Local Notation wff := (@wff base_type op).
-Local Notation Wf := (@Wf base_type op).
-
-Local Ltac fin_t :=
- first [ exact I
- | reflexivity
- | congruence
- | assumption
- | exfalso; assumption
- | match goal with
- | [ |- _ /\ False ] => exfalso
- | [ |- False /\ _ ] => exfalso
- | [ |- _ /\ _ /\ False ] => exfalso
- | [ |- _ /\ False /\ _ ] => exfalso
- | [ |- False /\ _ /\ _ ] => exfalso
- end ].
-Local Ltac break_t_step :=
- first [ progress subst
- | progress inversion_option
- | progress inversion_sum
- | progress inversion_expr
- | progress inversion_prod
- | progress invert_op
- | progress inversion_flat_type
- | progress destruct_head'_and
- | progress destruct_head' iff
- | progress destruct_head'_prod
- | progress destruct_head'_sig
- | progress specialize_by reflexivity
- | progress eliminate_hprop_eq
- | progress break_innermost_match_hyps_step
- | progress break_innermost_match_step
- | progress break_match_hyps
- | progress inversion_wf_constr ].
-
-
-Lemma interp_as_expr_or_const_None_iff {var1 var2 t} {G e1 e2}
- (Hwf : @wff var1 var2 G t e1 e2)
- : @interp_as_expr_or_const var1 t e1 = None
- <-> @interp_as_expr_or_const var2 t e2 = None.
-Proof.
- induction Hwf;
- repeat first [ fin_t
- | split; congruence
- | progress simpl in *
- | progress intros
- | break_t_step ].
-Qed.
-
-Lemma interp_as_expr_or_const_None_Some {var1 var2 t} {G e1 e2 v}
- (Hwf : @wff var1 var2 G t e1 e2)
- : @interp_as_expr_or_const var1 t e1 = None
- -> @interp_as_expr_or_const var2 t e2 = Some v
- -> False.
-Proof.
- erewrite interp_as_expr_or_const_None_iff by eassumption; congruence.
-Qed.
-
-Lemma interp_as_expr_or_const_Some_None {var1 var2 t} {G e1 e2 v}
- (Hwf : @wff var1 var2 G t e1 e2)
- : @interp_as_expr_or_const var1 t e1 = Some v
- -> @interp_as_expr_or_const var2 t e2 = None
- -> False.
-Proof.
- erewrite <- interp_as_expr_or_const_None_iff by eassumption; congruence.
-Qed.
-
-Local Ltac pret_step :=
- first [ fin_t
- | progress subst
- | progress inversion_option
- | progress inversion_prod
- | progress simpl in *
- | progress inversion_wf
- | match goal with
- | [ H : match interp_as_expr_or_const ?e with _ => _ end = Some _ |- _ ]
- => is_var e; destruct (interp_as_expr_or_const e) eqn:?
- end ].
-
-Fixpoint wff_as_expr_or_const {var1 var2} G {t}
- : interp_flat_type (@inverted_expr var1) t
- -> interp_flat_type (@inverted_expr var2) t
- -> Prop
- := match t with
- | Tbase T
- => fun z1 z2 => match z1, z2 return Prop with
- | const_of z1, const_of z2 => z1 = z2
- | gen_expr e1, gen_expr e2
- | neg_expr e1, neg_expr e2
- => wff G e1 e2
- | const_of _, _
- | gen_expr _, _
- | neg_expr _, _
- => False
- end
- | Unit => fun _ _ => True
- | Prod A B => fun a b : interp_flat_type _ A * interp_flat_type _ B
- => and (@wff_as_expr_or_const var1 var2 G A (fst a) (fst b))
- (@wff_as_expr_or_const var1 var2 G B (snd a) (snd b))
- end.
-
-Lemma wff_interp_as_expr_or_const {var1 var2 t} {G e1 e2 v1 v2}
- (Hwf : @wff var1 var2 G t e1 e2)
- : @interp_as_expr_or_const var1 t e1 = Some v1
- -> @interp_as_expr_or_const var2 t e2 = Some v2
- -> wff_as_expr_or_const G v1 v2.
-Proof.
- induction Hwf;
- repeat first [ progress subst
- | progress inversion_option
- | progress simpl in *
- | progress cbn [wff_as_expr_or_const]
- | reflexivity
- | break_innermost_match_hyps_step
- | intro
- | match goal with
- | [ H : forall z, Some _ = Some z -> _ |- _ ] => specialize (H _ eq_refl)
- | [ |- context[match ?e with _ => _ end] ]
- => is_var e; invert_one_op e
- end
- | break_innermost_match_step
- | solve [ auto with wf ] ].
-Qed.
-
-Local Ltac pose_wff _ :=
- match goal with
- | [ H1 : _ = Some _, H2 : _ = Some _, Hwf : wff _ _ _ |- _ ]
- => pose proof (wff_interp_as_expr_or_const Hwf H1 H2); clear H1 H2
- end.
-
-Lemma Wf_SimplifyArith {convert_adc_to_sbb} {t} (e : Expr t)
- (Hwf : Wf e)
- : Wf (SimplifyArith convert_adc_to_sbb e).
-Proof.
- apply Wf_RewriteOp; [ | assumption ].
- intros ???????? Hwf'; unfold simplify_op_expr.
- repeat match goal with
- | [ H : ?T |- ?T ] => exact H
- | [ H : False |- _ ] => exfalso; assumption
- | [ |- True ] => exact I
- | [ H : false = true |- _ ] => exfalso; clear -H; discriminate
- | [ H : true = false |- _ ] => exfalso; clear -H; discriminate
- | [ H : None = Some _ |- _ ] => exfalso; clear -H; discriminate
- | [ H : Some _ = None |- _ ] => exfalso; clear -H; discriminate
- | [ H : TT = Op _ _ |- _ ] => exfalso; clear -H; discriminate
- | [ H : invert_Op ?e = None, H' : wff _ (Op ?opc _) ?e |- _ ]
- => progress (exfalso; clear -H H'; generalize dependent opc; intros; try (is_var e; destruct e))
- | [ H : invert_Op ?e = None, H' : wff _ ?e (Op ?opc _) |- _ ]
- => progress (exfalso; clear -H H'; generalize dependent opc; intros; try (is_var e; destruct e))
- | _ => progress destruct_head'_and
- | _ => progress subst
- | _ => progress destruct_head'_prod
- | _ => progress destruct_head'_sig
- | _ => progress destruct_head'_sigT
- | _ => inversion_base_type_constr_step
- | _ => inversion_wf_step_constr
- | _ => progress invert_expr_subst
- | _ => progress rewrite_eta_match_base_type_impl
- | [ H : ?x = ?x |- _ ] => clear H || (progress eliminate_hprop_eq)
- | [ H : match ?e with @const_of _ _ _ => _ = _ | _ => _ end |- _ ]
- => is_var e; destruct e
- | [ H : match ?e with @const_of _ _ _ => False | _ => _ end |- _ ]
- => is_var e; destruct e
- | [ H1 : _ = Some _, H2 : _ = None, Hwf : wff _ _ _ |- _ ]
- => pose proof (interp_as_expr_or_const_Some_None Hwf H1 H2); clear H1 H2
- | [ H1 : _ = None, H2 : _ = Some _, Hwf : wff _ _ _ |- _ ]
- => pose proof (interp_as_expr_or_const_None_Some Hwf H1 H2); clear H1 H2
- | [ |- wff _ (Op _ _) (LetIn _ _) ] => exfalso
- | [ |- wff _ (LetIn _ _) (Op _ _) ] => exfalso
- | [ |- wff _ (Pair _ _) (LetIn _ _) ] => exfalso
- | [ |- wff _ (LetIn _ _) (Pair _ _) ] => exfalso
- | _ => pose_wff ()
- | _ => progress cbn [fst snd projT1 projT2 interp_flat_type wff_as_expr_or_const eq_rect invert_Op] in *
- | [ |- wff _ _ _ ] => constructor; intros
- | [ H : match ?e with @const_of _ _ _ => _ | _ => _ end |- _ ]
- => is_var e; destruct e
- | [ |- context[match @interp_as_expr_or_const ?var ?t ?e with _ => _ end] ]
- => destruct (@interp_as_expr_or_const var t e) eqn:?
- | [ |- context[match base_type_eq_semidec_transparent ?t1 ?t2 with _ => _ end] ]
- => destruct (base_type_eq_semidec_transparent t1 t2)
- | [ |- context[match @invert_Op ?base_type ?op ?var ?t ?e with _ => _ end] ]
- => destruct (@invert_Op base_type op var t e) eqn:?
- | [ |- context[if BinInt.Z.eqb ?x ?y then _ else _] ]
- => destruct (BinInt.Z.eqb x y) eqn:?
- | [ |- context[if BinInt.Z.ltb ?x ?y then _ else _] ]
- => destruct (BinInt.Z.ltb x y) eqn:?
- | [ |- context[match ?e with @OpConst _ _ => _ | _ => _ end] ]
- => is_var e; destruct e
- | [ |- context[match ?e with @OpConst _ _ => _ | _ => _ end] ]
- => is_var e; invert_one_op e; try exact I; break_innermost_match_step; intros
- | [ |- List.In _ _ ] => progress (simpl; auto)
- | _ => break_innermost_match_step
- end.
-Qed.
-
-Hint Resolve Wf_SimplifyArith : wf.
diff --git a/src/Compilers/Z/BinaryNotationConstants.v b/src/Compilers/Z/BinaryNotationConstants.v
deleted file mode 100644
index 5ecd088bd..000000000
--- a/src/Compilers/Z/BinaryNotationConstants.v
+++ /dev/null
@@ -1,3901 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export bbv.WordScope.
-Require Export Crypto.Util.Notations.
-
-Notation Const x := (Op (OpConst x) TT).
-(* python:
-<<
-#!/usr/bin/env python
-from __future__ import with_statement
-import math
-
-systematic_nums \
- = (list(range(128)) +
- [2**i + j for i in range(256) for j in (1, 0, -1)])
-nums = tuple(sorted(set(systematic_nums + [
- 187,
- 189,
- 317,
- 421,
- 481,
- 569,
- 765,
- 977,
- 5311,
- 32765,
- 32766,
- 65530,
- 65531,
- 65534,
- 114687,
- 121665,
- 130307,
- 131039,
- 131062,
- 131067,
- 261167,
- 261575,
- 262131,
- 262139,
- 262142,
- 523807,
- 524101,
- 524223,
- 524262,
- 524263,
- 524267,
- 524269,
- 524271,
- 524278,
- 524279,
- 524286,
- 679935,
- 1032192,
- 1044479,
- 1047599,
- 1047811,
- 1048202,
- 1048446,
- 1048471,
- 1048511,
- 1048526,
- 1048534,
- 1048538,
- 1048549,
- 1048557,
- 1048558,
- 1048559,
- 1048573,
- 1048574,
- 1359870,
- 2060031,
- 2064384,
- 2081439,
- 2088958,
- 2094335,
- 2095198,
- 2095622,
- 2096127,
- 2096128,
- 2096583,
- 2096942,
- 2097098,
- 2097114,
- 2097118,
- 2097127,
- 2097135,
- 2097143,
- 2097150,
- 4120062,
- 4162878,
- 4188670,
- 4192254,
- 4193166,
- 4193327,
- 4193539,
- 4193735,
- 4193823,
- 4193883,
- 4193987,
- 4194115,
- 4194240,
- 4194254,
- 4194270,
- 4194271,
- 4194275,
- 4194279,
- 4194285,
- 4194286,
- 4194287,
- 4194289,
- 4194293,
- 4194299,
- 4194301,
- 4194302,
- 8323583,
- 8372224,
- 8386654,
- 8387078,
- 8387470,
- 8387646,
- 8387766,
- 8387974,
- 8388127,
- 8388187,
- 8388230,
- 8388291,
- 8388421,
- 8388491,
- 8388503,
- 8388542,
- 8388558,
- 8388570,
- 8388574,
- 8388577,
- 8388578,
- 8388581,
- 8388591,
- 8388593,
- 8388595,
- 8388598,
- 8388599,
- 8388602,
- 8388603,
- 8388604,
- 8388605,
- 8388606,
- 11599871,
- 16647166,
- 16711679,
- 16775935,
- 16776254,
- 16776374,
- 16776582,
- 16776842,
- 16776959,
- 16776982,
- 16777006,
- 16777027,
- 16777029,
- 16777111,
- 16777162,
- 16777182,
- 16777185,
- 16777186,
- 16777187,
- 16777189,
- 16777190,
- 16777191,
- 16777197,
- 16777198,
- 16777199,
- 16777201,
- 16777205,
- 16777206,
- 16777207,
- 16777210,
- 16777211,
- 16777212,
- 16777213,
- 16777214,
- 23199742,
- 33423358,
- 33551870,
- 33554054,
- 33554058,
- 33554222,
- 33554315,
- 33554370,
- 33554374,
- 33554378,
- 33554382,
- 33554394,
- 33554398,
- 33554399,
- 33554401,
- 33554402,
- 33554407,
- 33554410,
- 33554411,
- 33554413,
- 33554414,
- 33554415,
- 33554417,
- 33554422,
- 33554423,
- 33554426,
- 33554427,
- 33554428,
- 33554429,
- 33554430,
- 67107887,
- 67108630,
- 67108798,
- 67108799,
- 67108802,
- 67108814,
- 67108822,
- 67108826,
- 67108830,
- 67108833,
- 67108834,
- 67108837,
- 67108839,
- 67108843,
- 67108845,
- 67108846,
- 67108847,
- 67108849,
- 67108854,
- 67108855,
- 67108858,
- 67108859,
- 67108860,
- 67108861,
- 67108862,
- 134215774,
- 134217598,
- 134217666,
- 134217674,
- 134217678,
- 134217686,
- 134217690,
- 134217694,
- 134217697,
- 134217698,
- 134217699,
- 134217703,
- 134217709,
- 134217710,
- 134217711,
- 134217713,
- 134217718,
- 134217719,
- 134217722,
- 134217724,
- 134217725,
- 134217726,
- 268431360,
- 268435394,
- 268435398,
- 268435406,
- 268435418,
- 268435422,
- 268435426,
- 268435438,
- 268435441,
- 268435443,
- 268435445,
- 268435447,
- 268435450,
- 268435451,
- 268435452,
- 268435453,
- 268435454,
- 536869935,
- 536870882,
- 536870886,
- 536870890,
- 536870893,
- 536870894,
- 536870902,
- 536870906,
- 536870907,
- 536870908,
- 536870909,
- 536870910,
- 678152731,
- 954437177,
- 1054736383,
- 1065418751,
- 1073709055,
- 1073739870,
- 1073741786,
- 1073741814,
- 1073741818,
- 1073741821,
- 1073741822,
- 1332920885,
- 1749801491,
- 2147418110,
- 2147483631,
- 2147483642,
- 2147483644,
- 2147483646,
- 2147483647,
- 2863311531,
- 2969567231,
- 3123612579,
- 3264175145,
- 3303820997,
- 3435973837,
- 3707621341,
- 4008636143,
- 4042322161,
- 4262789119,
- 4289200127,
- 4294639615,
- 4294901759,
- 4294963199,
- 4294966319,
- 4294966531,
- 4294966727,
- 4294966815,
- 4294966875,
- 4294966979,
- 4294967107,
- 4294967109,
- 4294967179,
- 4294967191,
- 4294967262,
- 4294967263,
- 4294967265,
- 4294967267,
- 4294967269,
- 4294967271,
- 4294967275,
- 4294967277,
- 4294967279,
- 4294967281,
- 4294967283,
- 4294967285,
- 4294967287,
- 4294967291,
- 4294967293,
- 4294967294,
- 4294968273,
- 8589934559,
- 8589934567,
- 8589934575,
- 8589934587,
- 8589934590,
- 17179869134,
- 17179869174,
- 17179869182,
- 34359738341,
- 34359738349,
- 34359738355,
- 34359738366,
- 68719476682,
- 68719476707,
- 68719476710,
- 68719476727,
- 68719476733,
- 68719476734,
- 133143985199,
- 137436856320,
- 137438952991,
- 137438953285,
- 137438953355,
- 137438953454,
- 137438953470,
- 266287970398,
- 274844352511,
- 274877902847,
- 274877906919,
- 274877906927,
- 274877906933,
- 274877906939,
- 274877906941,
- 274877906942,
- 549688705022,
- 549755289600,
- 549755813783,
- 549755813838,
- 549755813854,
- 549755813855,
- 549755813866,
- 549755813869,
- 549755813878,
- 549755813882,
- 549755813886,
- 1099511627566,
- 1099511627710,
- 1099511627738,
- 1099511627759,
- 1099511627761,
- 1099511627774,
- 1425929142271,
- 2199023255518,
- 2199023255522,
- 2199023255543,
- 2199023255550,
- 4363955208191,
- 4398046510080,
- 4398046511079,
- 4398046511086,
- 4398046511095,
- 4398046511099,
- 4398046511102,
- 8727910416382,
- 8791798053935,
- 8796090925055,
- 8796093021443,
- 8796093022019,
- 8796093022158,
- 8796093022179,
- 8796093022183,
- 8796093022189,
- 8796093022190,
- 8796093022193,
- 8796093022198,
- 8796093022205,
- 8796093022206,
- 17583596107870,
- 17592181850110,
- 17592186042886,
- 17592186044038,
- 17592186044358,
- 17592186044366,
- 17592186044378,
- 17592186044399,
- 17592186044410,
- 17592186044411,
- 17592186044413,
- 17592186044414,
- 35184372088715,
- 35184372088768,
- 35184372088798,
- 35184372088822,
- 35184372088826,
- 35184372088829,
- 35184372088830,
- 70368735789055,
- 70368744177430,
- 70368744177637,
- 70368744177647,
- 70368744177651,
- 70368744177655,
- 70368744177658,
- 70368744177659,
- 70368744177660,
- 70368744177661,
- 70368744177662,
- 140737471578110,
- 140737479966719,
- 140737488354759,
- 140737488354847,
- 140737488355141,
- 140737488355274,
- 140737488355294,
- 140737488355301,
- 140737488355302,
- 140737488355303,
- 140737488355310,
- 140737488355313,
- 140737488355318,
- 140737488355319,
- 140737488355326,
- 194613558116351,
- 281453501874175,
- 281470681743359,
- 281474959933438,
- 281474976645119,
- 281474976709518,
- 281474976709694,
- 281474976710235,
- 281474976710282,
- 281474976710339,
- 281474976710469,
- 281474976710551,
- 281474976710602,
- 281474976710606,
- 281474976710625,
- 281474976710626,
- 281474976710631,
- 281474976710637,
- 281474976710638,
- 281474976710639,
- 281474976710645,
- 281474976710647,
- 281474976710653,
- 281474976710654,
- 389227116232702,
- 562907003748350,
- 562949953290238,
- 562949953420470,
- 562949953420678,
- 562949953420938,
- 562949953421102,
- 562949953421250,
- 562949953421262,
- 562949953421274,
- 562949953421278,
- 562949953421279,
- 562949953421290,
- 562949953421291,
- 562949953421293,
- 562949953421294,
- 562949953421295,
- 562949953421297,
- 562949953421303,
- 562949953421306,
- 562949953421308,
- 562949953421310,
- 1125899873288191,
- 1125899906842558,
- 1125899906842582,
- 1125899906842586,
- 1125899906842590,
- 1125899906842593,
- 1125899906842594,
- 1125899906842606,
- 1125899906842607,
- 1125899906842619,
- 1125899906842621,
- 1125899906842622,
- 1460151441686527,
- 2211942517178367,
- 2234929182146559,
- 2248776156708863,
- 2251799813160960,
- 2251799813684483,
- 2251799813685186,
- 2251799813685210,
- 2251799813685214,
- 2251799813685217,
- 2251799813685229,
- 2251799813685231,
- 2251799813685238,
- 2251799813685239,
- 2251799813685242,
- 2251799813685245,
- 2251799813685246,
- 2920302883373054,
- 4423885034356734,
- 4469858364293118,
- 4497552313417726,
- 4503595332402223,
- 4503599627368966,
- 4503599627369927,
- 4503599627370015,
- 4503599627370307,
- 4503599627370309,
- 4503599627370434,
- 4503599627370458,
- 4503599627370462,
- 4503599627370475,
- 4503599627370478,
- 4503599627370479,
- 4503599627370490,
- 4503599627370491,
- 4503599627370494,
- 9007190664804446,
- 9007199187632127,
- 9007199254739854,
- 9007199254740030,
- 9007199254740614,
- 9007199254740618,
- 9007199254740950,
- 9007199254740958,
- 9007199254740963,
- 9007199254740967,
- 9007199254740977,
- 9007199254740982,
- 9007199254740988,
- 9007199254740990,
- 18014398509481926,
- 18014398509481934,
- 18014398509481954,
- 18014398509481975,
- 18014398509481981,
- 18014398509481982,
- 36028797018963547,
- 36028797018963651,
- 36028797018963781,
- 36028797018963863,
- 36028797018963937,
- 36028797018963943,
- 36028797018963947,
- 36028797018963949,
- 36028797018963950,
- 36028797018963951,
- 36028797018963962,
- 36028797018963964,
- 36028797018963966,
- 72056494526300160,
- 72057594037927094,
- 72057594037927302,
- 72057594037927562,
- 72057594037927726,
- 72057594037927819,
- 72057594037927874,
- 72057594037927886,
- 72057594037927894,
- 72057594037927898,
- 72057594037927902,
- 72057594037927915,
- 72057594037927919,
- 72057594037927931,
- 72057594037927933,
- 72057594037927934,
- 144115188075855638,
- 144115188075855830,
- 144115188075855838,
- 144115188075855853,
- 144115188075855857,
- 144115188075855862,
- 144115188075855863,
- 144115188075855866,
- 144115188075855867,
- 144115188075855868,
- 144115188075855869,
- 144115188075855870,
- 288230376151711706,
- 288230376151711713,
- 288230376151711714,
- 288230376151711717,
- 288230376151711726,
- 288230376151711727,
- 288230376151711734,
- 288230376151711738,
- 288230376151711740,
- 288230376151711741,
- 288230376151711742,
- 576460752303423426,
- 576460752303423434,
- 576460752303423454,
- 576460752303423467,
- 576460752303423469,
- 576460752303423471,
- 576460752303423473,
- 576460752303423482,
- 576460752303423486,
- 1117984489315730401,
- 1152921504606846934,
- 1152921504606846938,
- 1152921504606846942,
- 1152921504606846946,
- 1152921504606846974,
- 2305843009213693948,
- 2305843009213693950,
- 3353953467947191203,
- 3816567739388183093,
- 4530058275181297663,
- 4575938696385134591,
- 5675921253449092805,
- 9564978408590137875,
- 9708812670373448219,
- 9963214713607832691,
- 10248191152060862009,
- 10330176681277348905,
- 10365313336655843289,
- 11907422100489763477,
- 12273715991527008853,
- 12297829382473034411,
- 12754194144713244671,
- 14757395258967641293,
- 14897608040525528621,
- 14933078535860113213,
- 14978125529935106013,
- 15580212934572586289,
- 17050145153302519317,
- 17216961135462248175,
- 17256631552825064415,
- 17361641481138401521,
- 18308539860144619519,
- 18421974275759013887,
- 18445336698825998335,
- 18446462598732840959,
- 18446726481523507199,
- 18446744065119617023,
- 18446744069414583343,
- 18446744069414584319,
- 18446744069414584320,
- 18446744069414584321,
- 18446744073709486079,
- 18446744073709550851,
- 18446744073709551047,
- 18446744073709551135,
- 18446744073709551195,
- 18446744073709551299,
- 18446744073709551427,
- 18446744073709551429,
- 18446744073709551499,
- 18446744073709551511,
- 18446744073709551583,
- 18446744073709551585,
- 18446744073709551587,
- 18446744073709551589,
- 18446744073709551591,
- 18446744073709551595,
- 18446744073709551597,
- 18446744073709551599,
- 18446744073709551601,
- 18446744073709551603,
- 18446744073709551605,
- 18446744073709551607,
- 18446744073709551611,
- 18446744073709551613,
- 18446744073709551614,
- 77371252455336267181195254,
- 77371252455336267181195262,
- 340282366841710300967557013911933812736,
-])))
-
-def log2_up(i):
- return int(math.ceil(math.log(i, 2)))
-
-def word(i, width=None):
- assert(i >= 0)
- if width is None:
- if i == 0: return word(i, width=1)
- return word(i, width=2**log2_up(log2_up(i + 1)))
- return 'WO~' + '~'.join(bin(i)[2:].rjust(width, '0'))
-
-word_formats = tuple(sorted([(n, hex(n), bin(n), word(n)) for n in nums]))
-
-def header():
- return (r"""Require Import Coq.ZArith.ZArith.
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export bbv.WordScope.
-Require Export Crypto.Util.Notations.
-
-Notation Const x := (Op (OpConst x) TT).
-(""" + r"""* python:
-<<
-""" +
- open(__file__).read() +
- r""">>
- *""" + r""")""")
-
-
-def hex_nots():
- return ('\n'.join('''Notation "'%s'" (* %d (%s) *)\n := (Const %s%%Z).\nNotation "'%s'" (* %d (%s) *)\n := (Const %s).''' % (h, d, h, d, h, d, h, w)
- for d, h, b, w in word_formats))
-def bin_nots():
- return ('\n'.join('''Notation "'%s'" (* %d (%s) *)\n := (Const %s).''' % (b, d, h, w)
- for d, h, b, w in word_formats))
-
-with open('HexNotationConstants.v', 'w') as f:
- f.write(header() + '\n' + hex_nots() + '\n')
-
-with open('BinaryNotationConstants.v', 'w') as f:
- f.write(header() + '\n' + bin_nots() + '\n')
->>
- *)
-Notation "'0b0'" (* 0 (0x0) *)
- := (Const WO~0).
-Notation "'0b1'" (* 1 (0x1) *)
- := (Const WO~1).
-Notation "'0b10'" (* 2 (0x2) *)
- := (Const WO~1~0).
-Notation "'0b11'" (* 3 (0x3) *)
- := (Const WO~1~1).
-Notation "'0b100'" (* 4 (0x4) *)
- := (Const WO~0~1~0~0).
-Notation "'0b101'" (* 5 (0x5) *)
- := (Const WO~0~1~0~1).
-Notation "'0b110'" (* 6 (0x6) *)
- := (Const WO~0~1~1~0).
-Notation "'0b111'" (* 7 (0x7) *)
- := (Const WO~0~1~1~1).
-Notation "'0b1000'" (* 8 (0x8) *)
- := (Const WO~1~0~0~0).
-Notation "'0b1001'" (* 9 (0x9) *)
- := (Const WO~1~0~0~1).
-Notation "'0b1010'" (* 10 (0xa) *)
- := (Const WO~1~0~1~0).
-Notation "'0b1011'" (* 11 (0xb) *)
- := (Const WO~1~0~1~1).
-Notation "'0b1100'" (* 12 (0xc) *)
- := (Const WO~1~1~0~0).
-Notation "'0b1101'" (* 13 (0xd) *)
- := (Const WO~1~1~0~1).
-Notation "'0b1110'" (* 14 (0xe) *)
- := (Const WO~1~1~1~0).
-Notation "'0b1111'" (* 15 (0xf) *)
- := (Const WO~1~1~1~1).
-Notation "'0b10000'" (* 16 (0x10) *)
- := (Const WO~0~0~0~1~0~0~0~0).
-Notation "'0b10001'" (* 17 (0x11) *)
- := (Const WO~0~0~0~1~0~0~0~1).
-Notation "'0b10010'" (* 18 (0x12) *)
- := (Const WO~0~0~0~1~0~0~1~0).
-Notation "'0b10011'" (* 19 (0x13) *)
- := (Const WO~0~0~0~1~0~0~1~1).
-Notation "'0b10100'" (* 20 (0x14) *)
- := (Const WO~0~0~0~1~0~1~0~0).
-Notation "'0b10101'" (* 21 (0x15) *)
- := (Const WO~0~0~0~1~0~1~0~1).
-Notation "'0b10110'" (* 22 (0x16) *)
- := (Const WO~0~0~0~1~0~1~1~0).
-Notation "'0b10111'" (* 23 (0x17) *)
- := (Const WO~0~0~0~1~0~1~1~1).
-Notation "'0b11000'" (* 24 (0x18) *)
- := (Const WO~0~0~0~1~1~0~0~0).
-Notation "'0b11001'" (* 25 (0x19) *)
- := (Const WO~0~0~0~1~1~0~0~1).
-Notation "'0b11010'" (* 26 (0x1a) *)
- := (Const WO~0~0~0~1~1~0~1~0).
-Notation "'0b11011'" (* 27 (0x1b) *)
- := (Const WO~0~0~0~1~1~0~1~1).
-Notation "'0b11100'" (* 28 (0x1c) *)
- := (Const WO~0~0~0~1~1~1~0~0).
-Notation "'0b11101'" (* 29 (0x1d) *)
- := (Const WO~0~0~0~1~1~1~0~1).
-Notation "'0b11110'" (* 30 (0x1e) *)
- := (Const WO~0~0~0~1~1~1~1~0).
-Notation "'0b11111'" (* 31 (0x1f) *)
- := (Const WO~0~0~0~1~1~1~1~1).
-Notation "'0b100000'" (* 32 (0x20) *)
- := (Const WO~0~0~1~0~0~0~0~0).
-Notation "'0b100001'" (* 33 (0x21) *)
- := (Const WO~0~0~1~0~0~0~0~1).
-Notation "'0b100010'" (* 34 (0x22) *)
- := (Const WO~0~0~1~0~0~0~1~0).
-Notation "'0b100011'" (* 35 (0x23) *)
- := (Const WO~0~0~1~0~0~0~1~1).
-Notation "'0b100100'" (* 36 (0x24) *)
- := (Const WO~0~0~1~0~0~1~0~0).
-Notation "'0b100101'" (* 37 (0x25) *)
- := (Const WO~0~0~1~0~0~1~0~1).
-Notation "'0b100110'" (* 38 (0x26) *)
- := (Const WO~0~0~1~0~0~1~1~0).
-Notation "'0b100111'" (* 39 (0x27) *)
- := (Const WO~0~0~1~0~0~1~1~1).
-Notation "'0b101000'" (* 40 (0x28) *)
- := (Const WO~0~0~1~0~1~0~0~0).
-Notation "'0b101001'" (* 41 (0x29) *)
- := (Const WO~0~0~1~0~1~0~0~1).
-Notation "'0b101010'" (* 42 (0x2a) *)
- := (Const WO~0~0~1~0~1~0~1~0).
-Notation "'0b101011'" (* 43 (0x2b) *)
- := (Const WO~0~0~1~0~1~0~1~1).
-Notation "'0b101100'" (* 44 (0x2c) *)
- := (Const WO~0~0~1~0~1~1~0~0).
-Notation "'0b101101'" (* 45 (0x2d) *)
- := (Const WO~0~0~1~0~1~1~0~1).
-Notation "'0b101110'" (* 46 (0x2e) *)
- := (Const WO~0~0~1~0~1~1~1~0).
-Notation "'0b101111'" (* 47 (0x2f) *)
- := (Const WO~0~0~1~0~1~1~1~1).
-Notation "'0b110000'" (* 48 (0x30) *)
- := (Const WO~0~0~1~1~0~0~0~0).
-Notation "'0b110001'" (* 49 (0x31) *)
- := (Const WO~0~0~1~1~0~0~0~1).
-Notation "'0b110010'" (* 50 (0x32) *)
- := (Const WO~0~0~1~1~0~0~1~0).
-Notation "'0b110011'" (* 51 (0x33) *)
- := (Const WO~0~0~1~1~0~0~1~1).
-Notation "'0b110100'" (* 52 (0x34) *)
- := (Const WO~0~0~1~1~0~1~0~0).
-Notation "'0b110101'" (* 53 (0x35) *)
- := (Const WO~0~0~1~1~0~1~0~1).
-Notation "'0b110110'" (* 54 (0x36) *)
- := (Const WO~0~0~1~1~0~1~1~0).
-Notation "'0b110111'" (* 55 (0x37) *)
- := (Const WO~0~0~1~1~0~1~1~1).
-Notation "'0b111000'" (* 56 (0x38) *)
- := (Const WO~0~0~1~1~1~0~0~0).
-Notation "'0b111001'" (* 57 (0x39) *)
- := (Const WO~0~0~1~1~1~0~0~1).
-Notation "'0b111010'" (* 58 (0x3a) *)
- := (Const WO~0~0~1~1~1~0~1~0).
-Notation "'0b111011'" (* 59 (0x3b) *)
- := (Const WO~0~0~1~1~1~0~1~1).
-Notation "'0b111100'" (* 60 (0x3c) *)
- := (Const WO~0~0~1~1~1~1~0~0).
-Notation "'0b111101'" (* 61 (0x3d) *)
- := (Const WO~0~0~1~1~1~1~0~1).
-Notation "'0b111110'" (* 62 (0x3e) *)
- := (Const WO~0~0~1~1~1~1~1~0).
-Notation "'0b111111'" (* 63 (0x3f) *)
- := (Const WO~0~0~1~1~1~1~1~1).
-Notation "'0b1000000'" (* 64 (0x40) *)
- := (Const WO~0~1~0~0~0~0~0~0).
-Notation "'0b1000001'" (* 65 (0x41) *)
- := (Const WO~0~1~0~0~0~0~0~1).
-Notation "'0b1000010'" (* 66 (0x42) *)
- := (Const WO~0~1~0~0~0~0~1~0).
-Notation "'0b1000011'" (* 67 (0x43) *)
- := (Const WO~0~1~0~0~0~0~1~1).
-Notation "'0b1000100'" (* 68 (0x44) *)
- := (Const WO~0~1~0~0~0~1~0~0).
-Notation "'0b1000101'" (* 69 (0x45) *)
- := (Const WO~0~1~0~0~0~1~0~1).
-Notation "'0b1000110'" (* 70 (0x46) *)
- := (Const WO~0~1~0~0~0~1~1~0).
-Notation "'0b1000111'" (* 71 (0x47) *)
- := (Const WO~0~1~0~0~0~1~1~1).
-Notation "'0b1001000'" (* 72 (0x48) *)
- := (Const WO~0~1~0~0~1~0~0~0).
-Notation "'0b1001001'" (* 73 (0x49) *)
- := (Const WO~0~1~0~0~1~0~0~1).
-Notation "'0b1001010'" (* 74 (0x4a) *)
- := (Const WO~0~1~0~0~1~0~1~0).
-Notation "'0b1001011'" (* 75 (0x4b) *)
- := (Const WO~0~1~0~0~1~0~1~1).
-Notation "'0b1001100'" (* 76 (0x4c) *)
- := (Const WO~0~1~0~0~1~1~0~0).
-Notation "'0b1001101'" (* 77 (0x4d) *)
- := (Const WO~0~1~0~0~1~1~0~1).
-Notation "'0b1001110'" (* 78 (0x4e) *)
- := (Const WO~0~1~0~0~1~1~1~0).
-Notation "'0b1001111'" (* 79 (0x4f) *)
- := (Const WO~0~1~0~0~1~1~1~1).
-Notation "'0b1010000'" (* 80 (0x50) *)
- := (Const WO~0~1~0~1~0~0~0~0).
-Notation "'0b1010001'" (* 81 (0x51) *)
- := (Const WO~0~1~0~1~0~0~0~1).
-Notation "'0b1010010'" (* 82 (0x52) *)
- := (Const WO~0~1~0~1~0~0~1~0).
-Notation "'0b1010011'" (* 83 (0x53) *)
- := (Const WO~0~1~0~1~0~0~1~1).
-Notation "'0b1010100'" (* 84 (0x54) *)
- := (Const WO~0~1~0~1~0~1~0~0).
-Notation "'0b1010101'" (* 85 (0x55) *)
- := (Const WO~0~1~0~1~0~1~0~1).
-Notation "'0b1010110'" (* 86 (0x56) *)
- := (Const WO~0~1~0~1~0~1~1~0).
-Notation "'0b1010111'" (* 87 (0x57) *)
- := (Const WO~0~1~0~1~0~1~1~1).
-Notation "'0b1011000'" (* 88 (0x58) *)
- := (Const WO~0~1~0~1~1~0~0~0).
-Notation "'0b1011001'" (* 89 (0x59) *)
- := (Const WO~0~1~0~1~1~0~0~1).
-Notation "'0b1011010'" (* 90 (0x5a) *)
- := (Const WO~0~1~0~1~1~0~1~0).
-Notation "'0b1011011'" (* 91 (0x5b) *)
- := (Const WO~0~1~0~1~1~0~1~1).
-Notation "'0b1011100'" (* 92 (0x5c) *)
- := (Const WO~0~1~0~1~1~1~0~0).
-Notation "'0b1011101'" (* 93 (0x5d) *)
- := (Const WO~0~1~0~1~1~1~0~1).
-Notation "'0b1011110'" (* 94 (0x5e) *)
- := (Const WO~0~1~0~1~1~1~1~0).
-Notation "'0b1011111'" (* 95 (0x5f) *)
- := (Const WO~0~1~0~1~1~1~1~1).
-Notation "'0b1100000'" (* 96 (0x60) *)
- := (Const WO~0~1~1~0~0~0~0~0).
-Notation "'0b1100001'" (* 97 (0x61) *)
- := (Const WO~0~1~1~0~0~0~0~1).
-Notation "'0b1100010'" (* 98 (0x62) *)
- := (Const WO~0~1~1~0~0~0~1~0).
-Notation "'0b1100011'" (* 99 (0x63) *)
- := (Const WO~0~1~1~0~0~0~1~1).
-Notation "'0b1100100'" (* 100 (0x64) *)
- := (Const WO~0~1~1~0~0~1~0~0).
-Notation "'0b1100101'" (* 101 (0x65) *)
- := (Const WO~0~1~1~0~0~1~0~1).
-Notation "'0b1100110'" (* 102 (0x66) *)
- := (Const WO~0~1~1~0~0~1~1~0).
-Notation "'0b1100111'" (* 103 (0x67) *)
- := (Const WO~0~1~1~0~0~1~1~1).
-Notation "'0b1101000'" (* 104 (0x68) *)
- := (Const WO~0~1~1~0~1~0~0~0).
-Notation "'0b1101001'" (* 105 (0x69) *)
- := (Const WO~0~1~1~0~1~0~0~1).
-Notation "'0b1101010'" (* 106 (0x6a) *)
- := (Const WO~0~1~1~0~1~0~1~0).
-Notation "'0b1101011'" (* 107 (0x6b) *)
- := (Const WO~0~1~1~0~1~0~1~1).
-Notation "'0b1101100'" (* 108 (0x6c) *)
- := (Const WO~0~1~1~0~1~1~0~0).
-Notation "'0b1101101'" (* 109 (0x6d) *)
- := (Const WO~0~1~1~0~1~1~0~1).
-Notation "'0b1101110'" (* 110 (0x6e) *)
- := (Const WO~0~1~1~0~1~1~1~0).
-Notation "'0b1101111'" (* 111 (0x6f) *)
- := (Const WO~0~1~1~0~1~1~1~1).
-Notation "'0b1110000'" (* 112 (0x70) *)
- := (Const WO~0~1~1~1~0~0~0~0).
-Notation "'0b1110001'" (* 113 (0x71) *)
- := (Const WO~0~1~1~1~0~0~0~1).
-Notation "'0b1110010'" (* 114 (0x72) *)
- := (Const WO~0~1~1~1~0~0~1~0).
-Notation "'0b1110011'" (* 115 (0x73) *)
- := (Const WO~0~1~1~1~0~0~1~1).
-Notation "'0b1110100'" (* 116 (0x74) *)
- := (Const WO~0~1~1~1~0~1~0~0).
-Notation "'0b1110101'" (* 117 (0x75) *)
- := (Const WO~0~1~1~1~0~1~0~1).
-Notation "'0b1110110'" (* 118 (0x76) *)
- := (Const WO~0~1~1~1~0~1~1~0).
-Notation "'0b1110111'" (* 119 (0x77) *)
- := (Const WO~0~1~1~1~0~1~1~1).
-Notation "'0b1111000'" (* 120 (0x78) *)
- := (Const WO~0~1~1~1~1~0~0~0).
-Notation "'0b1111001'" (* 121 (0x79) *)
- := (Const WO~0~1~1~1~1~0~0~1).
-Notation "'0b1111010'" (* 122 (0x7a) *)
- := (Const WO~0~1~1~1~1~0~1~0).
-Notation "'0b1111011'" (* 123 (0x7b) *)
- := (Const WO~0~1~1~1~1~0~1~1).
-Notation "'0b1111100'" (* 124 (0x7c) *)
- := (Const WO~0~1~1~1~1~1~0~0).
-Notation "'0b1111101'" (* 125 (0x7d) *)
- := (Const WO~0~1~1~1~1~1~0~1).
-Notation "'0b1111110'" (* 126 (0x7e) *)
- := (Const WO~0~1~1~1~1~1~1~0).
-Notation "'0b1111111'" (* 127 (0x7f) *)
- := (Const WO~0~1~1~1~1~1~1~1).
-Notation "'0b10000000'" (* 128 (0x80) *)
- := (Const WO~1~0~0~0~0~0~0~0).
-Notation "'0b10000001'" (* 129 (0x81) *)
- := (Const WO~1~0~0~0~0~0~0~1).
-Notation "'0b10111011'" (* 187 (0xbb) *)
- := (Const WO~1~0~1~1~1~0~1~1).
-Notation "'0b10111101'" (* 189 (0xbd) *)
- := (Const WO~1~0~1~1~1~1~0~1).
-Notation "'0b11111111'" (* 255 (0xff) *)
- := (Const WO~1~1~1~1~1~1~1~1).
-Notation "'0b100000000'" (* 256 (0x100) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0).
-Notation "'0b100000001'" (* 257 (0x101) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~1).
-Notation "'0b100111101'" (* 317 (0x13d) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~1~1~1~1~0~1).
-Notation "'0b110100101'" (* 421 (0x1a5) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~0~1~0~0~1~0~1).
-Notation "'0b111100001'" (* 481 (0x1e1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~0~0~0~0~1).
-Notation "'0b111111111'" (* 511 (0x1ff) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000'" (* 512 (0x200) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000001'" (* 513 (0x201) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~1).
-Notation "'0b1000111001'" (* 569 (0x239) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~1~1~1~0~0~1).
-Notation "'0b1011111101'" (* 765 (0x2fd) *)
- := (Const WO~0~0~0~0~0~0~1~0~1~1~1~1~1~1~0~1).
-Notation "'0b1111010001'" (* 977 (0x3d1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~0~1~0~0~0~1).
-Notation "'0b1111111111'" (* 1023 (0x3ff) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000'" (* 1024 (0x400) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000001'" (* 1025 (0x401) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111'" (* 2047 (0x7ff) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000'" (* 2048 (0x800) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000001'" (* 2049 (0x801) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111'" (* 4095 (0xfff) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000'" (* 4096 (0x1000) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000001'" (* 4097 (0x1001) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1010010111111'" (* 5311 (0x14bf) *)
- := (Const WO~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1).
-Notation "'0b1111111111111'" (* 8191 (0x1fff) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000'" (* 8192 (0x2000) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000001'" (* 8193 (0x2001) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111'" (* 16383 (0x3fff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000'" (* 16384 (0x4000) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000001'" (* 16385 (0x4001) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111101'" (* 32765 (0x7ffd) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111110'" (* 32766 (0x7ffe) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111'" (* 32767 (0x7fff) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000'" (* 32768 (0x8000) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000001'" (* 32769 (0x8001) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111010'" (* 65530 (0xfffa) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111011'" (* 65531 (0xfffb) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111110'" (* 65534 (0xfffe) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111'" (* 65535 (0xffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000'" (* 65536 (0x10000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000001'" (* 65537 (0x10001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11011111111111111'" (* 114687 (0x1bfff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11101101101000001'" (* 121665 (0x1db41) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~0~1~1~0~1~1~0~1~0~0~0~0~0~1).
-Notation "'0b11111110100000011'" (* 130307 (0x1fd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b11111111111011111'" (* 131039 (0x1ffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b11111111111110110'" (* 131062 (0x1fff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111011'" (* 131067 (0x1fffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111'" (* 131071 (0x1ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000'" (* 131072 (0x20000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000001'" (* 131073 (0x20001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111110000101111'" (* 261167 (0x3fc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b111111110111000111'" (* 261575 (0x3fdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b111111111111110011'" (* 262131 (0x3fff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b111111111111111011'" (* 262139 (0x3fffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b111111111111111110'" (* 262142 (0x3fffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111'" (* 262143 (0x3ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000'" (* 262144 (0x40000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000001'" (* 262145 (0x40001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111000011111'" (* 523807 (0x7fe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b1111111111101000101'" (* 524101 (0x7ff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b1111111111110111111'" (* 524223 (0x7ffbf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1).
-Notation "'0b1111111111111100110'" (* 524262 (0x7ffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0b1111111111111100111'" (* 524263 (0x7ffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b1111111111111101011'" (* 524267 (0x7ffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b1111111111111101101'" (* 524269 (0x7ffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111101111'" (* 524271 (0x7ffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111110110'" (* 524278 (0x7fff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b1111111111111110111'" (* 524279 (0x7fff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b1111111111111111110'" (* 524286 (0x7fffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111'" (* 524287 (0x7ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000'" (* 524288 (0x80000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000001'" (* 524289 (0x80001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b10100101111111111111'" (* 679935 (0xa5fff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111100000000000000'" (* 1032192 (0xfc000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b11111110111111111111'" (* 1044479 (0xfefff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111110000101111'" (* 1047599 (0xffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b11111111110100000011'" (* 1047811 (0xffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b11111111111010001010'" (* 1048202 (0xffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b11111111111101111110'" (* 1048446 (0xfff7e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~0).
-Notation "'0b11111111111110010111'" (* 1048471 (0xfff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b11111111111110111111'" (* 1048511 (0xfffbf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1).
-Notation "'0b11111111111111001110'" (* 1048526 (0xfffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b11111111111111010110'" (* 1048534 (0xfffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b11111111111111011010'" (* 1048538 (0xfffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b11111111111111100101'" (* 1048549 (0xfffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b11111111111111101101'" (* 1048557 (0xfffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b11111111111111101110'" (* 1048558 (0xfffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b11111111111111101111'" (* 1048559 (0xfffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111101'" (* 1048573 (0xffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111110'" (* 1048574 (0xffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111'" (* 1048575 (0xfffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000'" (* 1048576 (0x100000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000001'" (* 1048577 (0x100001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b101001011111111111110'" (* 1359870 (0x14bffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111110110111011111111'" (* 2060031 (0x1f6eff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1).
-Notation "'0b111111000000000000000'" (* 2064384 (0x1f8000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b111111100001010011111'" (* 2081439 (0x1fc29f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1).
-Notation "'0b111111101111111111110'" (* 2088958 (0x1fdffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111010011111111'" (* 2094335 (0x1ff4ff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1).
-Notation "'0b111111111100001011110'" (* 2095198 (0x1ff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b111111111101000000110'" (* 2095622 (0x1ffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0b111111111101111111111'" (* 2096127 (0x1ffbff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111110000000000'" (* 2096128 (0x1ffc00) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b111111111110111000111'" (* 2096583 (0x1ffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b111111111111100101110'" (* 2096942 (0x1fff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0b111111111111111001010'" (* 2097098 (0x1fffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b111111111111111011010'" (* 2097114 (0x1fffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b111111111111111011110'" (* 2097118 (0x1fffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111100111'" (* 2097127 (0x1fffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b111111111111111101111'" (* 2097135 (0x1fffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b111111111111111110111'" (* 2097143 (0x1ffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111110'" (* 2097150 (0x1ffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111'" (* 2097151 (0x1fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000'" (* 2097152 (0x200000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000001'" (* 2097153 (0x200001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111101101110111111110'" (* 4120062 (0x3eddfe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111000010100111110'" (* 4162878 (0x3f853e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~0).
-Notation "'0b1111111110100111111110'" (* 4188670 (0x3fe9fe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111011111111110'" (* 4192254 (0x3ff7fe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111101110001110'" (* 4193166 (0x3ffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0b1111111111110000101111'" (* 4193327 (0x3ffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b1111111111110100000011'" (* 4193539 (0x3ffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b1111111111110111000111'" (* 4193735 (0x3ffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b1111111111111000011111'" (* 4193823 (0x3ffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b1111111111111001011011'" (* 4193883 (0x3ffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0b1111111111111011000011'" (* 4193987 (0x3ffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0b1111111111111101000011'" (* 4194115 (0x3fff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0b1111111111111111000000'" (* 4194240 (0x3fffc0) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0).
-Notation "'0b1111111111111111001110'" (* 4194254 (0x3fffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b1111111111111111011110'" (* 4194270 (0x3fffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b1111111111111111011111'" (* 4194271 (0x3fffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b1111111111111111100011'" (* 4194275 (0x3fffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b1111111111111111100111'" (* 4194279 (0x3fffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b1111111111111111101101'" (* 4194285 (0x3fffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111111101110'" (* 4194286 (0x3fffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111101111'" (* 4194287 (0x3fffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111110001'" (* 4194289 (0x3ffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111110101'" (* 4194293 (0x3ffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b1111111111111111111011'" (* 4194299 (0x3ffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111111111101'" (* 4194301 (0x3ffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111110'" (* 4194302 (0x3ffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111'" (* 4194303 (0x3fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000'" (* 4194304 (0x400000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000001'" (* 4194305 (0x400001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111110000000111111111'" (* 8323583 (0x7f01ff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111100000000000000'" (* 8372224 (0x7fc000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b11111111111100001011110'" (* 8386654 (0x7ff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b11111111111101000000110'" (* 8387078 (0x7ffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0b11111111111101110001110'" (* 8387470 (0x7ffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0b11111111111110000111110'" (* 8387646 (0x7ffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0b11111111111110010110110'" (* 8387766 (0x7ffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0b11111111111110110000110'" (* 8387974 (0x7ffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0b11111111111111000011111'" (* 8388127 (0x7ffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b11111111111111001011011'" (* 8388187 (0x7ffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0b11111111111111010000110'" (* 8388230 (0x7ffe86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0b11111111111111011000011'" (* 8388291 (0x7ffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0b11111111111111101000101'" (* 8388421 (0x7fff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b11111111111111110001011'" (* 8388491 (0x7fff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b11111111111111110010111'" (* 8388503 (0x7fff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b11111111111111110111110'" (* 8388542 (0x7fffbe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0b11111111111111111001110'" (* 8388558 (0x7fffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b11111111111111111011010'" (* 8388570 (0x7fffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b11111111111111111011110'" (* 8388574 (0x7fffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111100001'" (* 8388577 (0x7fffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b11111111111111111100010'" (* 8388578 (0x7fffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b11111111111111111100101'" (* 8388581 (0x7fffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b11111111111111111101111'" (* 8388591 (0x7fffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111110001'" (* 8388593 (0x7ffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b11111111111111111110011'" (* 8388595 (0x7ffff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b11111111111111111110110'" (* 8388598 (0x7ffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111111110111'" (* 8388599 (0x7ffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b11111111111111111111010'" (* 8388602 (0x7ffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b11111111111111111111011'" (* 8388603 (0x7ffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111100'" (* 8388604 (0x7ffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b11111111111111111111101'" (* 8388605 (0x7ffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111110'" (* 8388606 (0x7ffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111'" (* 8388607 (0x7fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000'" (* 8388608 (0x800000) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000001'" (* 8388609 (0x800001) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b101100001111111111111111'" (* 11599871 (0xb0ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111100000001111111110'" (* 16647166 (0xfe03fe) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111101111111111111111'" (* 16711679 (0xfeffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111101011111111'" (* 16775935 (0xfffaff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111110000111110'" (* 16776254 (0xfffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0b111111111111110010110110'" (* 16776374 (0xfffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0b111111111111110110000110'" (* 16776582 (0xfffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0b111111111111111010001010'" (* 16776842 (0xfffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b111111111111111011111111'" (* 16776959 (0xfffeff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111100010110'" (* 16776982 (0xffff16) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0b111111111111111100101110'" (* 16777006 (0xffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0b111111111111111101000011'" (* 16777027 (0xffff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0b111111111111111101000101'" (* 16777029 (0xffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b111111111111111110010111'" (* 16777111 (0xffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b111111111111111111001010'" (* 16777162 (0xffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b111111111111111111011110'" (* 16777182 (0xffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111100001'" (* 16777185 (0xffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b111111111111111111100010'" (* 16777186 (0xffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b111111111111111111100011'" (* 16777187 (0xffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b111111111111111111100101'" (* 16777189 (0xffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b111111111111111111100110'" (* 16777190 (0xffffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0b111111111111111111100111'" (* 16777191 (0xffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b111111111111111111101101'" (* 16777197 (0xffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b111111111111111111101110'" (* 16777198 (0xffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b111111111111111111101111'" (* 16777199 (0xffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b111111111111111111110001'" (* 16777201 (0xfffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b111111111111111111110101'" (* 16777205 (0xfffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b111111111111111111110110'" (* 16777206 (0xfffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111110111'" (* 16777207 (0xfffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111010'" (* 16777210 (0xfffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111011'" (* 16777211 (0xfffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b111111111111111111111100'" (* 16777212 (0xfffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b111111111111111111111101'" (* 16777213 (0xfffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111110'" (* 16777214 (0xfffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111'" (* 16777215 (0xffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000'" (* 16777216 (0x1000000) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000001'" (* 16777217 (0x1000001) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1011000011111111111111110'" (* 23199742 (0x161fffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111011111111111111110'" (* 33423358 (0x1fdfffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111010111111110'" (* 33551870 (0x1fff5fe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111010000110'" (* 33554054 (0x1fffe86) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0b1111111111111111010001010'" (* 33554058 (0x1fffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b1111111111111111100101110'" (* 33554222 (0x1ffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0b1111111111111111110001011'" (* 33554315 (0x1ffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b1111111111111111111000010'" (* 33554370 (0x1ffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b1111111111111111111000110'" (* 33554374 (0x1ffffc6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0b1111111111111111111001010'" (* 33554378 (0x1ffffca) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b1111111111111111111001110'" (* 33554382 (0x1ffffce) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b1111111111111111111011010'" (* 33554394 (0x1ffffda) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b1111111111111111111011110'" (* 33554398 (0x1ffffde) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b1111111111111111111011111'" (* 33554399 (0x1ffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b1111111111111111111100001'" (* 33554401 (0x1ffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b1111111111111111111100010'" (* 33554402 (0x1ffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b1111111111111111111100111'" (* 33554407 (0x1ffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b1111111111111111111101010'" (* 33554410 (0x1ffffea) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0b1111111111111111111101011'" (* 33554411 (0x1ffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b1111111111111111111101101'" (* 33554413 (0x1ffffed) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111111111101110'" (* 33554414 (0x1ffffee) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111101111'" (* 33554415 (0x1ffffef) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111110001'" (* 33554417 (0x1fffff1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111111110110'" (* 33554422 (0x1fffff6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b1111111111111111111110111'" (* 33554423 (0x1fffff7) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b1111111111111111111111010'" (* 33554426 (0x1fffffa) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111011'" (* 33554427 (0x1fffffb) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111111111111100'" (* 33554428 (0x1fffffc) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111101'" (* 33554429 (0x1fffffd) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111111110'" (* 33554430 (0x1fffffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111'" (* 33554431 (0x1ffffff) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000'" (* 33554432 (0x2000000) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000001'" (* 33554433 (0x2000001) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111110000101111'" (* 67107887 (0x3fffc2f) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b11111111111111111100010110'" (* 67108630 (0x3ffff16) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0b11111111111111111110111110'" (* 67108798 (0x3ffffbe) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0b11111111111111111110111111'" (* 67108799 (0x3ffffbf) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1).
-Notation "'0b11111111111111111111000010'" (* 67108802 (0x3ffffc2) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b11111111111111111111001110'" (* 67108814 (0x3ffffce) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b11111111111111111111010110'" (* 67108822 (0x3ffffd6) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b11111111111111111111011010'" (* 67108826 (0x3ffffda) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b11111111111111111111011110'" (* 67108830 (0x3ffffde) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111100001'" (* 67108833 (0x3ffffe1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b11111111111111111111100010'" (* 67108834 (0x3ffffe2) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b11111111111111111111100101'" (* 67108837 (0x3ffffe5) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b11111111111111111111100111'" (* 67108839 (0x3ffffe7) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b11111111111111111111101011'" (* 67108843 (0x3ffffeb) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b11111111111111111111101101'" (* 67108845 (0x3ffffed) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b11111111111111111111101110'" (* 67108846 (0x3ffffee) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b11111111111111111111101111'" (* 67108847 (0x3ffffef) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111110001'" (* 67108849 (0x3fffff1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b11111111111111111111110110'" (* 67108854 (0x3fffff6) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111111111110111'" (* 67108855 (0x3fffff7) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b11111111111111111111111010'" (* 67108858 (0x3fffffa) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b11111111111111111111111011'" (* 67108859 (0x3fffffb) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111100'" (* 67108860 (0x3fffffc) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b11111111111111111111111101'" (* 67108861 (0x3fffffd) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111110'" (* 67108862 (0x3fffffe) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111'" (* 67108863 (0x3ffffff) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000'" (* 67108864 (0x4000000) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000001'" (* 67108865 (0x4000001) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111100001011110'" (* 134215774 (0x7fff85e) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111101111110'" (* 134217598 (0x7ffff7e) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111000010'" (* 134217666 (0x7ffffc2) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b111111111111111111111001010'" (* 134217674 (0x7ffffca) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b111111111111111111111001110'" (* 134217678 (0x7ffffce) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b111111111111111111111010110'" (* 134217686 (0x7ffffd6) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b111111111111111111111011010'" (* 134217690 (0x7ffffda) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b111111111111111111111011110'" (* 134217694 (0x7ffffde) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111100001'" (* 134217697 (0x7ffffe1) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b111111111111111111111100010'" (* 134217698 (0x7ffffe2) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b111111111111111111111100011'" (* 134217699 (0x7ffffe3) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b111111111111111111111100111'" (* 134217703 (0x7ffffe7) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b111111111111111111111101101'" (* 134217709 (0x7ffffed) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b111111111111111111111101110'" (* 134217710 (0x7ffffee) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b111111111111111111111101111'" (* 134217711 (0x7ffffef) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b111111111111111111111110001'" (* 134217713 (0x7fffff1) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b111111111111111111111110110'" (* 134217718 (0x7fffff6) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111111110111'" (* 134217719 (0x7fffff7) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111010'" (* 134217722 (0x7fffffa) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111111100'" (* 134217724 (0x7fffffc) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b111111111111111111111111101'" (* 134217725 (0x7fffffd) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111110'" (* 134217726 (0x7fffffe) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111'" (* 134217727 (0x7ffffff) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000'" (* 134217728 (0x8000000) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000001'" (* 134217729 (0x8000001) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111000000000000'" (* 268431360 (0xffff000) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1111111111111111111111000010'" (* 268435394 (0xfffffc2) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b1111111111111111111111000110'" (* 268435398 (0xfffffc6) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0b1111111111111111111111001110'" (* 268435406 (0xfffffce) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b1111111111111111111111011010'" (* 268435418 (0xfffffda) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b1111111111111111111111011110'" (* 268435422 (0xfffffde) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b1111111111111111111111100010'" (* 268435426 (0xfffffe2) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b1111111111111111111111101110'" (* 268435438 (0xfffffee) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111110001'" (* 268435441 (0xffffff1) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111111111110011'" (* 268435443 (0xffffff3) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b1111111111111111111111110101'" (* 268435445 (0xffffff5) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b1111111111111111111111110111'" (* 268435447 (0xffffff7) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b1111111111111111111111111010'" (* 268435450 (0xffffffa) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111011'" (* 268435451 (0xffffffb) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111111111111111100'" (* 268435452 (0xffffffc) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111101'" (* 268435453 (0xffffffd) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111111111110'" (* 268435454 (0xffffffe) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111'" (* 268435455 (0xfffffff) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000'" (* 268435456 (0x10000000) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000001'" (* 268435457 (0x10000001) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111110000101111'" (* 536869935 (0x1ffffc2f) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111100010'" (* 536870882 (0x1fffffe2) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b11111111111111111111111100110'" (* 536870886 (0x1fffffe6) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0b11111111111111111111111101010'" (* 536870890 (0x1fffffea) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0b11111111111111111111111101101'" (* 536870893 (0x1fffffed) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b11111111111111111111111101110'" (* 536870894 (0x1fffffee) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b11111111111111111111111110110'" (* 536870902 (0x1ffffff6) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111111111111111010'" (* 536870906 (0x1ffffffa) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b11111111111111111111111111011'" (* 536870907 (0x1ffffffb) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111111100'" (* 536870908 (0x1ffffffc) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b11111111111111111111111111101'" (* 536870909 (0x1ffffffd) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111111110'" (* 536870910 (0x1ffffffe) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111'" (* 536870911 (0x1fffffff) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000'" (* 536870912 (0x20000000) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000001'" (* 536870913 (0x20000001) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b101000011010111100101000011011'" (* 678152731 (0x286bca1b) *)
- := (Const WO~0~0~1~0~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~1).
-Notation "'0b111000111000111000111000111001'" (* 954437177 (0x38e38e39) *)
- := (Const WO~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~1).
-Notation "'0b111110110111011111111111111111'" (* 1054736383 (0x3eddffff) *)
- := (Const WO~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111100000001111111111111111'" (* 1065418751 (0x3f80ffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111110111111111111111'" (* 1073709055 (0x3fff7fff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111111100001011110'" (* 1073739870 (0x3ffff85e) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111111011010'" (* 1073741786 (0x3fffffda) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b111111111111111111111111110110'" (* 1073741814 (0x3ffffff6) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111111111111010'" (* 1073741818 (0x3ffffffa) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111111111101'" (* 1073741821 (0x3ffffffd) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111110'" (* 1073741822 (0x3ffffffe) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111'" (* 1073741823 (0x3fffffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000'" (* 1073741824 (0x40000000) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000001'" (* 1073741825 (0x40000001) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1001111011100101100001000110101'" (* 1332920885 (0x4f72c235) *)
- := (Const WO~0~1~0~0~1~1~1~1~0~1~1~1~0~0~1~0~1~1~0~0~0~0~1~0~0~0~1~1~0~1~0~1).
-Notation "'0b1101000010010111101101000010011'" (* 1749801491 (0x684bda13) *)
- := (Const WO~0~1~1~0~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~1).
-Notation "'0b1111111111111101111111111111110'" (* 2147418110 (0x7ffefffe) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111101111'" (* 2147483631 (0x7fffffef) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111010'" (* 2147483642 (0x7ffffffa) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111100'" (* 2147483644 (0x7ffffffc) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111111110'" (* 2147483646 (0x7ffffffe) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111'" (* 2147483647 (0x7fffffff) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000'" (* 2147483648 (0x80000000) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000001'" (* 2147483649 (0x80000001) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b10101010101010101010101010101011'" (* 2863311531 (0xaaaaaaab) *)
- := (Const WO~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~1).
-Notation "'0b10110000111111111111111111111111'" (* 2969567231 (0xb0ffffff) *)
- := (Const WO~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10111010001011101000101110100011'" (* 3123612579 (0xba2e8ba3) *)
- := (Const WO~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~1).
-Notation "'0b11000010100011110101110000101001'" (* 3264175145 (0xc28f5c29) *)
- := (Const WO~1~1~0~0~0~0~1~0~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~1).
-Notation "'0b11000100111011000100111011000101'" (* 3303820997 (0xc4ec4ec5) *)
- := (Const WO~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~1).
-Notation "'0b11001100110011001100110011001101'" (* 3435973837 (0xcccccccd) *)
- := (Const WO~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~1).
-Notation "'0b11011100111111011100111111011101'" (* 3707621341 (0xdcfdcfdd) *)
- := (Const WO~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~1).
-Notation "'0b11101110111011101110111011101111'" (* 4008636143 (0xeeeeeeef) *)
- := (Const WO~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~1).
-Notation "'0b11110000111100001111000011110001'" (* 4042322161 (0xf0f0f0f1) *)
- := (Const WO~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~1).
-Notation "'0b11111110000101001111111111111111'" (* 4262789119 (0xfe14ffff) *)
- := (Const WO~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111101001111111111111111111'" (* 4289200127 (0xffa7ffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111110101111111111111111'" (* 4294639615 (0xfffaffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111101111111111111111'" (* 4294901759 (0xfffeffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111110111111111111'" (* 4294963199 (0xffffefff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111110000101111'" (* 4294966319 (0xfffffc2f) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b11111111111111111111110100000011'" (* 4294966531 (0xfffffd03) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b11111111111111111111110111000111'" (* 4294966727 (0xfffffdc7) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b11111111111111111111111000011111'" (* 4294966815 (0xfffffe1f) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b11111111111111111111111001011011'" (* 4294966875 (0xfffffe5b) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0b11111111111111111111111011000011'" (* 4294966979 (0xfffffec3) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0b11111111111111111111111101000011'" (* 4294967107 (0xffffff43) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0b11111111111111111111111101000101'" (* 4294967109 (0xffffff45) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b11111111111111111111111110001011'" (* 4294967179 (0xffffff8b) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b11111111111111111111111110010111'" (* 4294967191 (0xffffff97) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b11111111111111111111111111011110'" (* 4294967262 (0xffffffde) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111011111'" (* 4294967263 (0xffffffdf) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b11111111111111111111111111100001'" (* 4294967265 (0xffffffe1) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b11111111111111111111111111100011'" (* 4294967267 (0xffffffe3) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b11111111111111111111111111100101'" (* 4294967269 (0xffffffe5) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b11111111111111111111111111100111'" (* 4294967271 (0xffffffe7) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b11111111111111111111111111101011'" (* 4294967275 (0xffffffeb) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b11111111111111111111111111101101'" (* 4294967277 (0xffffffed) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b11111111111111111111111111101111'" (* 4294967279 (0xffffffef) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111111110001'" (* 4294967281 (0xfffffff1) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b11111111111111111111111111110011'" (* 4294967283 (0xfffffff3) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b11111111111111111111111111110101'" (* 4294967285 (0xfffffff5) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b11111111111111111111111111110111'" (* 4294967287 (0xfffffff7) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b11111111111111111111111111111011'" (* 4294967291 (0xfffffffb) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111111111101'" (* 4294967293 (0xfffffffd) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111111111110'" (* 4294967294 (0xfffffffe) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111'" (* 4294967295 (0xffffffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000'" (* 4294967296 (0x100000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000001'" (* 4294967297 (0x100000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b100000000000000000000001111010001'" (* 4294968273 (0x1000003d1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~0~1~0~0~0~1).
-Notation "'0b111111111111111111111111111011111'" (* 8589934559 (0x1ffffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b111111111111111111111111111100111'" (* 8589934567 (0x1ffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b111111111111111111111111111101111'" (* 8589934575 (0x1ffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b111111111111111111111111111111011'" (* 8589934587 (0x1fffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b111111111111111111111111111111110'" (* 8589934590 (0x1fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111'" (* 8589934591 (0x1ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000'" (* 8589934592 (0x200000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000001'" (* 8589934593 (0x200000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111001110'" (* 17179869134 (0x3ffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111110110'" (* 17179869174 (0x3fffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b1111111111111111111111111111111110'" (* 17179869182 (0x3fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111'" (* 17179869183 (0x3ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000'" (* 17179869184 (0x400000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000001'" (* 17179869185 (0x400000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111100101'" (* 34359738341 (0x7ffffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b11111111111111111111111111111101101'" (* 34359738349 (0x7ffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b11111111111111111111111111111110011'" (* 34359738355 (0x7fffffff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b11111111111111111111111111111111110'" (* 34359738366 (0x7fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111'" (* 34359738367 (0x7ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000'" (* 34359738368 (0x800000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000001'" (* 34359738369 (0x800000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111001010'" (* 68719476682 (0xfffffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b111111111111111111111111111111100011'" (* 68719476707 (0xfffffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b111111111111111111111111111111100110'" (* 68719476710 (0xfffffffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0b111111111111111111111111111111110111'" (* 68719476727 (0xffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111101'" (* 68719476733 (0xffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111111111110'" (* 68719476734 (0xffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111'" (* 68719476735 (0xfffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000'" (* 68719476736 (0x1000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000001'" (* 68719476737 (0x1000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111011111111111111111111110000101111'" (* 133143985199 (0x1efffffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b1111111111111111000000000000000000000'" (* 137436856320 (0x1fffe00000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1111111111111111111111111111000011111'" (* 137438952991 (0x1ffffffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111101000101'" (* 137438953285 (0x1fffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111110001011'" (* 137438953355 (0x1fffffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b1111111111111111111111111111111101110'" (* 137438953454 (0x1fffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111110'" (* 137438953470 (0x1ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111'" (* 137438953471 (0x1fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000'" (* 137438953472 (0x2000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000001'" (* 137438953473 (0x2000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11110111111111111111111111100001011110'" (* 266287970398 (0x3dfffff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b11111111111101111111111111111111111111'" (* 274844352511 (0x3ffdffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111110111111111111'" (* 274877902847 (0x3fffffefff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111100111'" (* 274877906919 (0x3fffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b11111111111111111111111111111111101111'" (* 274877906927 (0x3fffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111111111111110101'" (* 274877906933 (0x3ffffffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b11111111111111111111111111111111111011'" (* 274877906939 (0x3ffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111101'" (* 274877906941 (0x3ffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111111111111111110'" (* 274877906942 (0x3ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111'" (* 274877906943 (0x3fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000'" (* 274877906944 (0x4000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000001'" (* 274877906945 (0x4000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111011111111111111111111111110'" (* 549688705022 (0x7ffbfffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111110000000000000000000'" (* 549755289600 (0x7ffff80000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b111111111111111111111111111111110010111'" (* 549755813783 (0x7fffffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111001110'" (* 549755813838 (0x7fffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b111111111111111111111111111111111011110'" (* 549755813854 (0x7fffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111011111'" (* 549755813855 (0x7fffffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b111111111111111111111111111111111101010'" (* 549755813866 (0x7fffffffea) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0b111111111111111111111111111111111101101'" (* 549755813869 (0x7fffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b111111111111111111111111111111111110110'" (* 549755813878 (0x7ffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111010'" (* 549755813882 (0x7ffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111110'" (* 549755813886 (0x7ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111'" (* 549755813887 (0x7fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000'" (* 549755813888 (0x8000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000001'" (* 549755813889 (0x8000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111100101110'" (* 1099511627566 (0xffffffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111110111110'" (* 1099511627710 (0xffffffffbe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111011010'" (* 1099511627738 (0xffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111101111'" (* 1099511627759 (0xffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111110001'" (* 1099511627761 (0xfffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111110'" (* 1099511627774 (0xfffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111'" (* 1099511627775 (0xffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000'" (* 1099511627776 (0x10000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000001'" (* 1099511627777 (0x10000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b10100101111111111111111111111111111111111'" (* 1425929142271 (0x14bffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111011110'" (* 2199023255518 (0x1ffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111100010'" (* 2199023255522 (0x1ffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b11111111111111111111111111111111111110111'" (* 2199023255543 (0x1fffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b11111111111111111111111111111111111111110'" (* 2199023255550 (0x1fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111'" (* 2199023255551 (0x1ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000'" (* 2199023255552 (0x20000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000001'" (* 2199023255553 (0x20000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111100000001111111111111111111111111111'" (* 4363955208191 (0x3f80fffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111111111111111111110000000000'" (* 4398046510080 (0x3fffffffc00) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b111111111111111111111111111111111111100111'" (* 4398046511079 (0x3ffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111101110'" (* 4398046511086 (0x3ffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111110111'" (* 4398046511095 (0x3fffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111011'" (* 4398046511099 (0x3fffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b111111111111111111111111111111111111111110'" (* 4398046511102 (0x3fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111'" (* 4398046511103 (0x3ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000'" (* 4398046511104 (0x40000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000001'" (* 4398046511105 (0x40000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111000000011111111111111111111111111110'" (* 8727910416382 (0x7f01ffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111011111111111111111111110000101111'" (* 8791798053935 (0x7fefffffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b1111111111111111111110111111111111111111111'" (* 8796090925055 (0x7ffffdfffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111110100000011'" (* 8796093021443 (0x7fffffffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111101000011'" (* 8796093022019 (0x7ffffffff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111001110'" (* 8796093022158 (0x7ffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111100011'" (* 8796093022179 (0x7ffffffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111100111'" (* 8796093022183 (0x7ffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111101101'" (* 8796093022189 (0x7ffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111101110'" (* 8796093022190 (0x7ffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111110001'" (* 8796093022193 (0x7fffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111110110'" (* 8796093022198 (0x7fffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111101'" (* 8796093022205 (0x7fffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111110'" (* 8796093022206 (0x7fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111'" (* 8796093022207 (0x7ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000'" (* 8796093022208 (0x80000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000001'" (* 8796093022209 (0x80000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111110111111111111111111111100001011110'" (* 17583596107870 (0xffdfffff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111101111111111111111111110'" (* 17592181850110 (0xfffffbffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111101000000110'" (* 17592186042886 (0xffffffffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111010000110'" (* 17592186044038 (0xffffffffe86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111000110'" (* 17592186044358 (0xfffffffffc6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111001110'" (* 17592186044366 (0xfffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111011010'" (* 17592186044378 (0xfffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111101111'" (* 17592186044399 (0xfffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111010'" (* 17592186044410 (0xffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111011'" (* 17592186044411 (0xffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111101'" (* 17592186044413 (0xffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111111111111111111111110'" (* 17592186044414 (0xffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111'" (* 17592186044415 (0xfffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000'" (* 17592186044416 (0x100000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000001'" (* 17592186044417 (0x100000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111110001011'" (* 35184372088715 (0x1fffffffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b111111111111111111111111111111111111111000000'" (* 35184372088768 (0x1fffffffffc0) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0).
-Notation "'0b111111111111111111111111111111111111111011110'" (* 35184372088798 (0x1fffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111110110'" (* 35184372088822 (0x1ffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111010'" (* 35184372088826 (0x1ffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111101'" (* 35184372088829 (0x1ffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111110'" (* 35184372088830 (0x1ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111'" (* 35184372088831 (0x1fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000'" (* 35184372088832 (0x200000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000001'" (* 35184372088833 (0x200000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111011111111111111111111111'" (* 70368735789055 (0x3fffff7fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111100010110'" (* 70368744177430 (0x3fffffffff16) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111100101'" (* 70368744177637 (0x3fffffffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111101111'" (* 70368744177647 (0x3fffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111110011'" (* 70368744177651 (0x3ffffffffff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111110111'" (* 70368744177655 (0x3ffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111010'" (* 70368744177658 (0x3ffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111011'" (* 70368744177659 (0x3ffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111100'" (* 70368744177660 (0x3ffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111111111111111111111101'" (* 70368744177661 (0x3ffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111110'" (* 70368744177662 (0x3ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111'" (* 70368744177663 (0x3fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000'" (* 70368744177664 (0x400000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000001'" (* 70368744177665 (0x400000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111110111111111111111111111110'" (* 140737471578110 (0x7ffffefffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111011111111111111111111111'" (* 140737479966719 (0x7fffff7fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111110111000111'" (* 140737488354759 (0x7ffffffffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b11111111111111111111111111111111111111000011111'" (* 140737488354847 (0x7ffffffffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111101000101'" (* 140737488355141 (0x7fffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b11111111111111111111111111111111111111111001010'" (* 140737488355274 (0x7fffffffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111011110'" (* 140737488355294 (0x7fffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111100101'" (* 140737488355301 (0x7fffffffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b11111111111111111111111111111111111111111100110'" (* 140737488355302 (0x7fffffffffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111100111'" (* 140737488355303 (0x7fffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111101110'" (* 140737488355310 (0x7fffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111110001'" (* 140737488355313 (0x7ffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111110110'" (* 140737488355318 (0x7ffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111110111'" (* 140737488355319 (0x7ffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111111110'" (* 140737488355326 (0x7ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111'" (* 140737488355327 (0x7fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000'" (* 140737488355328 (0x800000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000001'" (* 140737488355329 (0x800000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b101100001111111111111111111111111111111111111111'" (* 194613558116351 (0xb0ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111101011111111111111111111111111111111'" (* 281453501874175 (0xfffaffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111011111111111111111111111111111111'" (* 281470681743359 (0xfffeffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111111111110111111111111111111111110'" (* 281474959933438 (0xfffffefffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111101111111111111111'" (* 281474976645119 (0xfffffffeffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111111111111111111111111101110001110'" (* 281474976709518 (0xfffffffffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111110000111110'" (* 281474976709694 (0xfffffffffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111001011011'" (* 281474976710235 (0xfffffffffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0b111111111111111111111111111111111111111010001010'" (* 281474976710282 (0xfffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111011000011'" (* 281474976710339 (0xfffffffffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0b111111111111111111111111111111111111111101000101'" (* 281474976710469 (0xffffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b111111111111111111111111111111111111111110010111'" (* 281474976710551 (0xffffffffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111001010'" (* 281474976710602 (0xffffffffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111001110'" (* 281474976710606 (0xffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111100001'" (* 281474976710625 (0xffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111100010'" (* 281474976710626 (0xffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111100111'" (* 281474976710631 (0xffffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111101101'" (* 281474976710637 (0xffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111101110'" (* 281474976710638 (0xffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111101111'" (* 281474976710639 (0xffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111110101'" (* 281474976710645 (0xfffffffffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111110111'" (* 281474976710647 (0xfffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111111101'" (* 281474976710653 (0xfffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111110'" (* 281474976710654 (0xfffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111'" (* 281474976710655 (0xffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000'" (* 281474976710656 (0x1000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000001'" (* 281474976710657 (0x1000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1011000011111111111111111111111111111111111111110'" (* 389227116232702 (0x161fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111010111111111111111111111111111111110'" (* 562907003748350 (0x1fff5fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111011111111111111110'" (* 562949953290238 (0x1fffffffdfffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111110010110110'" (* 562949953420470 (0x1fffffffffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0b1111111111111111111111111111111111111110110000110'" (* 562949953420678 (0x1fffffffffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111010001010'" (* 562949953420938 (0x1fffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111100101110'" (* 562949953421102 (0x1ffffffffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111000010'" (* 562949953421250 (0x1ffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111001110'" (* 562949953421262 (0x1ffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111011010'" (* 562949953421274 (0x1ffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111011110'" (* 562949953421278 (0x1ffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111011111'" (* 562949953421279 (0x1ffffffffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111101010'" (* 562949953421290 (0x1ffffffffffea) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111101011'" (* 562949953421291 (0x1ffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111101101'" (* 562949953421293 (0x1ffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111101110'" (* 562949953421294 (0x1ffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111101111'" (* 562949953421295 (0x1ffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111110001'" (* 562949953421297 (0x1fffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111110111'" (* 562949953421303 (0x1fffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111010'" (* 562949953421306 (0x1fffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111100'" (* 562949953421308 (0x1fffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111111111111111111111111110'" (* 562949953421310 (0x1fffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111'" (* 562949953421311 (0x1ffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000'" (* 562949953421312 (0x2000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000001'" (* 562949953421313 (0x2000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111101111111111111111111111111'" (* 1125899873288191 (0x3fffffdffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111110111110'" (* 1125899906842558 (0x3ffffffffffbe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111010110'" (* 1125899906842582 (0x3ffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111011010'" (* 1125899906842586 (0x3ffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111011110'" (* 1125899906842590 (0x3ffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111100001'" (* 1125899906842593 (0x3ffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111100010'" (* 1125899906842594 (0x3ffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111101110'" (* 1125899906842606 (0x3ffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111101111'" (* 1125899906842607 (0x3ffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111011'" (* 1125899906842619 (0x3fffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111101'" (* 1125899906842621 (0x3fffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111110'" (* 1125899906842622 (0x3fffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111'" (* 1125899906842623 (0x3ffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000'" (* 1125899906842624 (0x4000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000001'" (* 1125899906842625 (0x4000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b101001011111111111111111111111111111111111111111111'" (* 1460151441686527 (0x52fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111110110111011111111111111111111111111111111111111'" (* 2211942517178367 (0x7dbbfffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111100001010011111111111111111111111111111111111'" (* 2234929182146559 (0x7f0a7ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111010011111111111111111111111111111111111111'" (* 2248776156708863 (0x7fd3fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b111111111111111111111111111111110000000000000000000'" (* 2251799813160960 (0x7fffffff80000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b111111111111111111111111111111111111111110100000011'" (* 2251799813684483 (0x7fffffffffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b111111111111111111111111111111111111111111111000010'" (* 2251799813685186 (0x7ffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111011010'" (* 2251799813685210 (0x7ffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111011110'" (* 2251799813685214 (0x7ffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111100001'" (* 2251799813685217 (0x7ffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111101101'" (* 2251799813685229 (0x7ffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111101111'" (* 2251799813685231 (0x7ffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111111110110'" (* 2251799813685238 (0x7fffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111110111'" (* 2251799813685239 (0x7fffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111111111010'" (* 2251799813685242 (0x7fffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111101'" (* 2251799813685245 (0x7fffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111110'" (* 2251799813685246 (0x7fffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111'" (* 2251799813685247 (0x7ffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000'" (* 2251799813685248 (0x8000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000001'" (* 2251799813685249 (0x8000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1010010111111111111111111111111111111111111111111110'" (* 2920302883373054 (0xa5ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111101101110111111111111111111111111111111111111110'" (* 4423885034356734 (0xfb77ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111000010100111111111111111111111111111111111110'" (* 4469858364293118 (0xfe14ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111110100111111111111111111111111111111111111110'" (* 4497552313417726 (0xffa7ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111011111111111111111111110000101111'" (* 4503595332402223 (0xffffefffffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111101000000110'" (* 4503599627368966 (0xffffffffffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111110111000111'" (* 4503599627369927 (0xffffffffffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111000011111'" (* 4503599627370015 (0xffffffffffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111101000011'" (* 4503599627370307 (0xfffffffffff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111101000101'" (* 4503599627370309 (0xfffffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111000010'" (* 4503599627370434 (0xfffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111011010'" (* 4503599627370458 (0xfffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111011110'" (* 4503599627370462 (0xfffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111101011'" (* 4503599627370475 (0xfffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111101110'" (* 4503599627370478 (0xfffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111101111'" (* 4503599627370479 (0xfffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111010'" (* 4503599627370490 (0xffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111011'" (* 4503599627370491 (0xffffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111110'" (* 4503599627370494 (0xffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111'" (* 4503599627370495 (0xfffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000'" (* 4503599627370496 (0x10000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000001'" (* 4503599627370497 (0x10000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111110111111111111111111111100001011110'" (* 9007190664804446 (0x1ffffdfffff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111011111111111111111111111111'" (* 9007199187632127 (0x1ffffffbffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111101110001110'" (* 9007199254739854 (0x1ffffffffffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111110000111110'" (* 9007199254740030 (0x1ffffffffffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111010000110'" (* 9007199254740614 (0x1ffffffffffe86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111010001010'" (* 9007199254740618 (0x1ffffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111010110'" (* 9007199254740950 (0x1fffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111011110'" (* 9007199254740958 (0x1fffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111100011'" (* 9007199254740963 (0x1fffffffffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111100111'" (* 9007199254740967 (0x1fffffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111110001'" (* 9007199254740977 (0x1ffffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111110110'" (* 9007199254740982 (0x1ffffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111100'" (* 9007199254740988 (0x1ffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b11111111111111111111111111111111111111111111111111110'" (* 9007199254740990 (0x1ffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111'" (* 9007199254740991 (0x1fffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000'" (* 9007199254740992 (0x20000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000001'" (* 9007199254740993 (0x20000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111000110'" (* 18014398509481926 (0x3fffffffffffc6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111001110'" (* 18014398509481934 (0x3fffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111100010'" (* 18014398509481954 (0x3fffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111110111'" (* 18014398509481975 (0x3ffffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111111111111101'" (* 18014398509481981 (0x3ffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111110'" (* 18014398509481982 (0x3ffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111'" (* 18014398509481983 (0x3fffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000'" (* 18014398509481984 (0x40000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000001'" (* 18014398509481985 (0x40000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111001011011'" (* 36028797018963547 (0x7ffffffffffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111011000011'" (* 36028797018963651 (0x7ffffffffffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111101000101'" (* 36028797018963781 (0x7fffffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111110010111'" (* 36028797018963863 (0x7fffffffffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111100001'" (* 36028797018963937 (0x7fffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111100111'" (* 36028797018963943 (0x7fffffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111101011'" (* 36028797018963947 (0x7fffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111101101'" (* 36028797018963949 (0x7fffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111101110'" (* 36028797018963950 (0x7fffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111101111'" (* 36028797018963951 (0x7fffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111010'" (* 36028797018963962 (0x7ffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111100'" (* 36028797018963964 (0x7ffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111110'" (* 36028797018963966 (0x7ffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111'" (* 36028797018963967 (0x7fffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000'" (* 36028797018963968 (0x80000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000001'" (* 36028797018963969 (0x80000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111110000000000000000000000000000000000000000'" (* 72056494526300160 (0xffff0000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b11111111111111111111111111111111111111111111110010110110'" (* 72057594037927094 (0xfffffffffffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111110110000110'" (* 72057594037927302 (0xfffffffffffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111010001010'" (* 72057594037927562 (0xfffffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111100101110'" (* 72057594037927726 (0xffffffffffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111110001011'" (* 72057594037927819 (0xffffffffffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111000010'" (* 72057594037927874 (0xffffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111001110'" (* 72057594037927886 (0xffffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111010110'" (* 72057594037927894 (0xffffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111011010'" (* 72057594037927898 (0xffffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111011110'" (* 72057594037927902 (0xffffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111101011'" (* 72057594037927915 (0xffffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111101111'" (* 72057594037927919 (0xffffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111011'" (* 72057594037927931 (0xfffffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111101'" (* 72057594037927933 (0xfffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111110'" (* 72057594037927934 (0xfffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111111'" (* 72057594037927935 (0xffffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000'" (* 72057594037927936 (0x100000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000001'" (* 72057594037927937 (0x100000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111100010110'" (* 144115188075855638 (0x1ffffffffffff16) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111010110'" (* 144115188075855830 (0x1ffffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111011110'" (* 144115188075855838 (0x1ffffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111101101'" (* 144115188075855853 (0x1ffffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111110001'" (* 144115188075855857 (0x1fffffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111110110'" (* 144115188075855862 (0x1fffffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111110111'" (* 144115188075855863 (0x1fffffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111010'" (* 144115188075855866 (0x1fffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111011'" (* 144115188075855867 (0x1fffffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111100'" (* 144115188075855868 (0x1fffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111101'" (* 144115188075855869 (0x1fffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111110'" (* 144115188075855870 (0x1fffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111111'" (* 144115188075855871 (0x1ffffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000'" (* 144115188075855872 (0x200000000000000) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000001'" (* 144115188075855873 (0x200000000000001) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111011010'" (* 288230376151711706 (0x3ffffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111100001'" (* 288230376151711713 (0x3ffffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111100010'" (* 288230376151711714 (0x3ffffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111100101'" (* 288230376151711717 (0x3ffffffffffffe5) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111101110'" (* 288230376151711726 (0x3ffffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111101111'" (* 288230376151711727 (0x3ffffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111110110'" (* 288230376151711734 (0x3fffffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111010'" (* 288230376151711738 (0x3fffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111100'" (* 288230376151711740 (0x3fffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111101'" (* 288230376151711741 (0x3fffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111110'" (* 288230376151711742 (0x3fffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111'" (* 288230376151711743 (0x3ffffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000'" (* 288230376151711744 (0x400000000000000) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000001'" (* 288230376151711745 (0x400000000000001) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111000010'" (* 576460752303423426 (0x7ffffffffffffc2) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111001010'" (* 576460752303423434 (0x7ffffffffffffca) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111011110'" (* 576460752303423454 (0x7ffffffffffffde) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111101011'" (* 576460752303423467 (0x7ffffffffffffeb) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111101101'" (* 576460752303423469 (0x7ffffffffffffed) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111101111'" (* 576460752303423471 (0x7ffffffffffffef) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111110001'" (* 576460752303423473 (0x7fffffffffffff1) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111010'" (* 576460752303423482 (0x7fffffffffffffa) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111111110'" (* 576460752303423486 (0x7fffffffffffffe) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111'" (* 576460752303423487 (0x7ffffffffffffff) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000'" (* 576460752303423488 (0x800000000000000) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000001'" (* 576460752303423489 (0x800000000000001) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111110000011111000001111100000111110000011111000001111100001'" (* 1117984489315730401 (0xf83e0f83e0f83e1) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111010110'" (* 1152921504606846934 (0xfffffffffffffd6) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111011010'" (* 1152921504606846938 (0xfffffffffffffda) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111011110'" (* 1152921504606846942 (0xfffffffffffffde) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111100010'" (* 1152921504606846946 (0xfffffffffffffe2) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111111110'" (* 1152921504606846974 (0xffffffffffffffe) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111'" (* 1152921504606846975 (0xfffffffffffffff) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000'" (* 1152921504606846976 (0x1000000000000000) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000001'" (* 1152921504606846977 (0x1000000000000001) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111100'" (* 2305843009213693948 (0x1ffffffffffffffc) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111110'" (* 2305843009213693950 (0x1ffffffffffffffe) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111'" (* 2305843009213693951 (0x1fffffffffffffff) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000'" (* 2305843009213693952 (0x2000000000000000) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000001'" (* 2305843009213693953 (0x2000000000000001) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b10111010001011101000101110100010111010001011101000101110100011'" (* 3353953467947191203 (0x2e8ba2e8ba2e8ba3) *)
- := (Const WO~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~1).
-Notation "'0b11010011110111001011000010001101001111011100101100001000110101'" (* 3816567739388183093 (0x34f72c234f72c235) *)
- := (Const WO~0~0~1~1~0~1~0~0~1~1~1~1~0~1~1~1~0~0~1~0~1~1~0~0~0~0~1~0~0~0~1~1~0~1~0~0~1~1~1~1~0~1~1~1~0~0~1~0~1~1~0~0~0~0~1~0~0~0~1~1~0~1~0~1).
-Notation "'0b11111011011101111111111111111111111111111111111111111111111111'" (* 4530058275181297663 (0x3eddffffffffffff) *)
- := (Const WO~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111110000000111111111111111111111111111111111111111111111111'" (* 4575938696385134591 (0x3f80ffffffffffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111'" (* 4611686018427387903 (0x3fffffffffffffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000'" (* 4611686018427387904 (0x4000000000000000) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000001'" (* 4611686018427387905 (0x4000000000000001) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b100111011000100111011000100111011000100111011000100111011000101'" (* 5675921253449092805 (0x4ec4ec4ec4ec4ec5) *)
- := (Const WO~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111'" (* 9223372036854775807 (0x7fffffffffffffffL) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000'" (* 9223372036854775808 (0x8000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000001'" (* 9223372036854775809 (0x8000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1000010010111101101000010010111101101000010010111101101000010011'" (* 9564978408590137875 (0x84bda12f684bda13L) *)
- := (Const WO~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~1).
-Notation "'0b1000011010111100101000011010111100101000011010111100101000011011'" (* 9708812670373448219 (0x86bca1af286bca1bL) *)
- := (Const WO~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~1).
-Notation "'0b1000101001000100011100101111111010100001100010100100010001110011'" (* 9963214713607832691 (0x8a4472fea18a4473L) *)
- := (Const WO~1~0~0~0~1~0~1~0~0~1~0~0~0~1~0~0~0~1~1~1~0~0~1~0~1~1~1~1~1~1~1~0~1~0~1~0~0~0~0~1~1~0~0~0~1~0~1~0~0~1~0~0~0~1~0~0~0~1~1~1~0~0~1~1).
-Notation "'0b1000111000111000111000111000111000111000111000111000111000111001'" (* 10248191152060862009 (0x8e38e38e38e38e39L) *)
- := (Const WO~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~1).
-Notation "'0b1000111101011100001010001111010111000010100011110101110000101001'" (* 10330176681277348905 (0x8f5c28f5c28f5c29L) *)
- := (Const WO~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~1).
-Notation "'0b1000111111011000111111011000111111011000111111011000111111011001'" (* 10365313336655843289 (0x8fd8fd8fd8fd8fd9L) *)
- := (Const WO~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~1).
-Notation "'0b1010010100111111101010010100111111101010010100111111101010010101'" (* 11907422100489763477 (0xa53fa94fea53fa95L) *)
- := (Const WO~1~0~1~0~0~1~0~1~0~0~1~1~1~1~1~1~1~0~1~0~1~0~0~1~0~1~0~0~1~1~1~1~1~1~1~0~1~0~1~0~0~1~0~1~0~0~1~1~1~1~1~1~1~0~1~0~1~0~0~1~0~1~0~1).
-Notation "'0b1010101001010100111111111010101001010100111111111010101001010101'" (* 12273715991527008853 (0xaa54ffaa54ffaa55L) *)
- := (Const WO~1~0~1~0~1~0~1~0~0~1~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~0~1~0~1~0~1~0~0~1~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~0~1~0~1~0~1~0~0~1~0~1~0~1~0~1).
-Notation "'0b1010101010101010101010101010101010101010101010101010101010101011'" (* 12297829382473034411 (0xaaaaaaaaaaaaaaabL) *)
- := (Const WO~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~1).
-Notation "'0b1011000011111111111111111111111111111111111111111111111111111111'" (* 12754194144713244671 (0xb0ffffffffffffffL) *)
- := (Const WO~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1100110011001100110011001100110011001100110011001100110011001101'" (* 14757395258967641293 (0xcccccccccccccccdL) *)
- := (Const WO~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~1).
-Notation "'0b1100111010111110111011111001010011111010100001101111111000101101'" (* 14897608040525528621 (0xcebeef94fa86fe2dL) *)
- := (Const WO~1~1~0~0~1~1~1~0~1~0~1~1~1~1~1~0~1~1~1~0~1~1~1~1~1~0~0~1~0~1~0~0~1~1~1~1~1~0~1~0~1~0~0~0~0~1~1~0~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0~1).
-Notation "'0b1100111100111100111100111100111100111100111100111100111100111101'" (* 14933078535860113213 (0xcf3cf3cf3cf3cf3dL) *)
- := (Const WO~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~1).
-Notation "'0b1100111111011100111111011100111111011100111111011100111111011101'" (* 14978125529935106013 (0xcfdcfdcfdcfdcfddL) *)
- := (Const WO~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~1).
-Notation "'0b1101100000111000000010010001110111010010001001010011010100110001'" (* 15580212934572586289 (0xd838091dd2253531L) *)
- := (Const WO~1~1~0~1~1~0~0~0~0~0~1~1~1~0~0~0~0~0~0~0~1~0~0~1~0~0~0~1~1~1~0~1~1~1~0~1~0~0~1~0~0~0~1~0~0~1~0~1~0~0~1~1~0~1~0~1~0~0~1~1~0~0~0~1).
-Notation "'0b1110110010011110010010001010111001101111011100011101111000010101'" (* 17050145153302519317 (0xec9e48ae6f71de15L) *)
- := (Const WO~1~1~1~0~1~1~0~0~1~0~0~1~1~1~1~0~0~1~0~0~1~0~0~0~1~0~1~0~1~1~1~0~0~1~1~0~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0~1~1~1~1~0~0~0~0~1~0~1~0~1).
-Notation "'0b1110111011101110111011101110111011101110111011101110111011101111'" (* 17216961135462248175 (0xeeeeeeeeeeeeeeefL) *)
- := (Const WO~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~1).
-Notation "'0b1110111101111011110111101111011110111101111011110111101111011111'" (* 17256631552825064415 (0xef7bdef7bdef7bdfL) *)
- := (Const WO~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b1111000011110000111100001111000011110000111100001111000011110001'" (* 17361641481138401521 (0xf0f0f0f0f0f0f0f1L) *)
- := (Const WO~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~1).
-Notation "'0b1111111000010100111111111111111111111111111111111111111111111111'" (* 18308539860144619519 (0xfe14ffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111110100111111111111111111111111111111111111111111111111111'" (* 18421974275759013887 (0xffa7ffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111010111111111111111111111111111111111111111111111111'" (* 18445336698825998335 (0xfffaffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111110111111111111111111111111111111111111111111111111'" (* 18446462598732840959 (0xfffeffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111011111111111111111111111111111111111111111111'" (* 18446726481523507199 (0xffffefffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111110111111111111111111111111111111111'" (* 18446744065119617023 (0xfffffffdffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111011111111111111111111110000101111'" (* 18446744069414583343 (0xfffffffefffffc2fL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111011111111111111111111111111111111'" (* 18446744069414584319 (0xfffffffeffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111100000000000000000000000000000000'" (* 18446744069414584320 (0xffffffff00000000L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1111111111111111111111111111111100000000000000000000000000000001'" (* 18446744069414584321 (0xffffffff00000001L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111101111111111111111'" (* 18446744073709486079 (0xfffffffffffeffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111110100000011'" (* 18446744073709550851 (0xfffffffffffffd03L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111110111000111'" (* 18446744073709551047 (0xfffffffffffffdc7L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111000011111'" (* 18446744073709551135 (0xfffffffffffffe1fL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111001011011'" (* 18446744073709551195 (0xfffffffffffffe5bL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111011000011'" (* 18446744073709551299 (0xfffffffffffffec3L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111101000011'" (* 18446744073709551427 (0xffffffffffffff43L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111101000101'" (* 18446744073709551429 (0xffffffffffffff45L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111110001011'" (* 18446744073709551499 (0xffffffffffffff8bL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111110010111'" (* 18446744073709551511 (0xffffffffffffff97L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111011111'" (* 18446744073709551583 (0xffffffffffffffdfL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111100001'" (* 18446744073709551585 (0xffffffffffffffe1L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111100011'" (* 18446744073709551587 (0xffffffffffffffe3L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111100101'" (* 18446744073709551589 (0xffffffffffffffe5L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111100111'" (* 18446744073709551591 (0xffffffffffffffe7L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111101011'" (* 18446744073709551595 (0xffffffffffffffebL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111101101'" (* 18446744073709551597 (0xffffffffffffffedL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111101111'" (* 18446744073709551599 (0xffffffffffffffefL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111110001'" (* 18446744073709551601 (0xfffffffffffffff1L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111110011'" (* 18446744073709551603 (0xfffffffffffffff3L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111110101'" (* 18446744073709551605 (0xfffffffffffffff5L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111110111'" (* 18446744073709551607 (0xfffffffffffffff7L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111011'" (* 18446744073709551611 (0xfffffffffffffffbL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111101'" (* 18446744073709551613 (0xfffffffffffffffdL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111110'" (* 18446744073709551614 (0xfffffffffffffffeL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111'" (* 18446744073709551615 (0xffffffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000'" (* 18446744073709551616 (0x10000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000001'" (* 18446744073709551617 (0x10000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111'" (* 36893488147419103231 (0x1ffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000'" (* 36893488147419103232 (0x20000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000001'" (* 36893488147419103233 (0x20000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111'" (* 73786976294838206463 (0x3ffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000'" (* 73786976294838206464 (0x40000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000001'" (* 73786976294838206465 (0x40000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111'" (* 147573952589676412927 (0x7ffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000'" (* 147573952589676412928 (0x80000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000001'" (* 147573952589676412929 (0x80000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111'" (* 295147905179352825855 (0xfffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000'" (* 295147905179352825856 (0x100000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000001'" (* 295147905179352825857 (0x100000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111'" (* 590295810358705651711 (0x1fffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000'" (* 590295810358705651712 (0x200000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000001'" (* 590295810358705651713 (0x200000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111'" (* 1180591620717411303423 (0x3fffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000'" (* 1180591620717411303424 (0x400000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000001'" (* 1180591620717411303425 (0x400000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111'" (* 2361183241434822606847 (0x7fffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000'" (* 2361183241434822606848 (0x800000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000001'" (* 2361183241434822606849 (0x800000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111'" (* 4722366482869645213695 (0xffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000'" (* 4722366482869645213696 (0x1000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000001'" (* 4722366482869645213697 (0x1000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111'" (* 9444732965739290427391 (0x1ffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000'" (* 9444732965739290427392 (0x2000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000001'" (* 9444732965739290427393 (0x2000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111'" (* 18889465931478580854783 (0x3ffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000'" (* 18889465931478580854784 (0x4000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000001'" (* 18889465931478580854785 (0x4000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 37778931862957161709567 (0x7ffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 37778931862957161709568 (0x8000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 37778931862957161709569 (0x8000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 75557863725914323419135 (0xfffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 75557863725914323419136 (0x10000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 75557863725914323419137 (0x10000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 151115727451828646838271 (0x1fffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 151115727451828646838272 (0x20000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 151115727451828646838273 (0x20000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 302231454903657293676543 (0x3fffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 302231454903657293676544 (0x40000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 302231454903657293676545 (0x40000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 604462909807314587353087 (0x7fffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 604462909807314587353088 (0x80000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 604462909807314587353089 (0x80000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1208925819614629174706175 (0xffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1208925819614629174706176 (0x100000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1208925819614629174706177 (0x100000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2417851639229258349412351 (0x1ffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2417851639229258349412352 (0x200000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2417851639229258349412353 (0x200000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 4835703278458516698824703 (0x3ffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 4835703278458516698824704 (0x400000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 4835703278458516698824705 (0x400000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 9671406556917033397649407 (0x7ffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 9671406556917033397649408 (0x800000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 9671406556917033397649409 (0x800000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 19342813113834066795298815 (0xfffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 19342813113834066795298816 (0x1000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 19342813113834066795298817 (0x1000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 38685626227668133590597631 (0x1fffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 38685626227668133590597632 (0x2000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 38685626227668133590597633 (0x2000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111110110'" (* 77371252455336267181195254 (0x3ffffffffffffffffffff6L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111110'" (* 77371252455336267181195262 (0x3ffffffffffffffffffffeL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 77371252455336267181195263 (0x3fffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 77371252455336267181195264 (0x4000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 77371252455336267181195265 (0x4000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 154742504910672534362390527 (0x7fffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 154742504910672534362390528 (0x8000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 154742504910672534362390529 (0x8000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 309485009821345068724781055 (0xffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 309485009821345068724781056 (0x10000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 309485009821345068724781057 (0x10000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 618970019642690137449562111 (0x1ffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 618970019642690137449562112 (0x20000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 618970019642690137449562113 (0x20000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1237940039285380274899124223 (0x3ffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1237940039285380274899124224 (0x40000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1237940039285380274899124225 (0x40000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2475880078570760549798248447 (0x7ffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2475880078570760549798248448 (0x80000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2475880078570760549798248449 (0x80000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 4951760157141521099596496895 (0xfffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 4951760157141521099596496896 (0x100000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 4951760157141521099596496897 (0x100000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 9903520314283042199192993791 (0x1fffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 9903520314283042199192993792 (0x200000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 9903520314283042199192993793 (0x200000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 19807040628566084398385987583 (0x3fffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 19807040628566084398385987584 (0x400000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 19807040628566084398385987585 (0x400000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 39614081257132168796771975167 (0x7fffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 39614081257132168796771975168 (0x800000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 39614081257132168796771975169 (0x800000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 79228162514264337593543950335 (0xffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 79228162514264337593543950336 (0x1000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 79228162514264337593543950337 (0x1000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 158456325028528675187087900671 (0x1ffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 158456325028528675187087900672 (0x2000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 158456325028528675187087900673 (0x2000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 316912650057057350374175801343 (0x3ffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 316912650057057350374175801344 (0x4000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 316912650057057350374175801345 (0x4000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 633825300114114700748351602687 (0x7ffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 633825300114114700748351602688 (0x8000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 633825300114114700748351602689 (0x8000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1267650600228229401496703205375 (0xfffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1267650600228229401496703205376 (0x10000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1267650600228229401496703205377 (0x10000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2535301200456458802993406410751 (0x1fffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2535301200456458802993406410752 (0x20000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2535301200456458802993406410753 (0x20000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5070602400912917605986812821503 (0x3fffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5070602400912917605986812821504 (0x40000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5070602400912917605986812821505 (0x40000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 10141204801825835211973625643007 (0x7fffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 10141204801825835211973625643008 (0x80000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 10141204801825835211973625643009 (0x80000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 20282409603651670423947251286015 (0xffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 20282409603651670423947251286016 (0x100000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 20282409603651670423947251286017 (0x100000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 40564819207303340847894502572031 (0x1ffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 40564819207303340847894502572032 (0x200000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 40564819207303340847894502572033 (0x200000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 81129638414606681695789005144063 (0x3ffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 81129638414606681695789005144064 (0x400000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 81129638414606681695789005144065 (0x400000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 162259276829213363391578010288127 (0x7ffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 162259276829213363391578010288128 (0x800000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 162259276829213363391578010288129 (0x800000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 324518553658426726783156020576255 (0xfffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 324518553658426726783156020576256 (0x1000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 324518553658426726783156020576257 (0x1000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 649037107316853453566312041152511 (0x1fffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 649037107316853453566312041152512 (0x2000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 649037107316853453566312041152513 (0x2000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1298074214633706907132624082305023 (0x3fffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1298074214633706907132624082305024 (0x4000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1298074214633706907132624082305025 (0x4000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2596148429267413814265248164610047 (0x7fffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2596148429267413814265248164610048 (0x8000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2596148429267413814265248164610049 (0x8000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5192296858534827628530496329220095 (0xffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5192296858534827628530496329220096 (0x10000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5192296858534827628530496329220097 (0x10000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 10384593717069655257060992658440191 (0x1ffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 10384593717069655257060992658440192 (0x20000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 10384593717069655257060992658440193 (0x20000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 20769187434139310514121985316880383 (0x3ffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 20769187434139310514121985316880384 (0x40000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 20769187434139310514121985316880385 (0x40000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 41538374868278621028243970633760767 (0x7ffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 41538374868278621028243970633760768 (0x80000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 41538374868278621028243970633760769 (0x80000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 83076749736557242056487941267521535 (0xfffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 83076749736557242056487941267521536 (0x100000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 83076749736557242056487941267521537 (0x100000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 166153499473114484112975882535043071 (0x1fffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 166153499473114484112975882535043072 (0x200000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 166153499473114484112975882535043073 (0x200000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 332306998946228968225951765070086143 (0x3fffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 332306998946228968225951765070086144 (0x400000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 332306998946228968225951765070086145 (0x400000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 664613997892457936451903530140172287 (0x7fffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 664613997892457936451903530140172288 (0x800000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 664613997892457936451903530140172289 (0x800000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1329227995784915872903807060280344575 (0xffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1329227995784915872903807060280344576 (0x1000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1329227995784915872903807060280344577 (0x1000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2658455991569831745807614120560689151 (0x1ffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2658455991569831745807614120560689152 (0x2000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2658455991569831745807614120560689153 (0x2000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5316911983139663491615228241121378303 (0x3ffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5316911983139663491615228241121378304 (0x4000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5316911983139663491615228241121378305 (0x4000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 10633823966279326983230456482242756607 (0x7ffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 10633823966279326983230456482242756608 (0x8000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 10633823966279326983230456482242756609 (0x8000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 21267647932558653966460912964485513215 (0xfffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 21267647932558653966460912964485513216 (0x10000000000000000000000000000000L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 21267647932558653966460912964485513217 (0x10000000000000000000000000000001L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 42535295865117307932921825928971026431 (0x1fffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 42535295865117307932921825928971026432 (0x20000000000000000000000000000000L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 42535295865117307932921825928971026433 (0x20000000000000000000000000000001L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 85070591730234615865843651857942052863 (0x3fffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 85070591730234615865843651857942052864 (0x40000000000000000000000000000000L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 85070591730234615865843651857942052865 (0x40000000000000000000000000000001L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 170141183460469231731687303715884105727 (0x7fffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 170141183460469231731687303715884105728 (0x80000000000000000000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 170141183460469231731687303715884105729 (0x80000000000000000000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000'" (* 340282366841710300967557013911933812736 (0xffffffff000000010000000000000000L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 340282366920938463463374607431768211455 (0xffffffffffffffffffffffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 340282366920938463463374607431768211456 (0x100000000000000000000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 340282366920938463463374607431768211457 (0x100000000000000000000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 680564733841876926926749214863536422911 (0x1ffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 680564733841876926926749214863536422912 (0x200000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 680564733841876926926749214863536422913 (0x200000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1361129467683753853853498429727072845823 (0x3ffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1361129467683753853853498429727072845824 (0x400000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1361129467683753853853498429727072845825 (0x400000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2722258935367507707706996859454145691647 (0x7ffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2722258935367507707706996859454145691648 (0x800000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2722258935367507707706996859454145691649 (0x800000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5444517870735015415413993718908291383295 (0xfffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5444517870735015415413993718908291383296 (0x1000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5444517870735015415413993718908291383297 (0x1000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 10889035741470030830827987437816582766591 (0x1fffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 10889035741470030830827987437816582766592 (0x2000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 10889035741470030830827987437816582766593 (0x2000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 21778071482940061661655974875633165533183 (0x3fffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 21778071482940061661655974875633165533184 (0x4000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 21778071482940061661655974875633165533185 (0x4000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 43556142965880123323311949751266331066367 (0x7fffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 43556142965880123323311949751266331066368 (0x8000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 43556142965880123323311949751266331066369 (0x8000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 87112285931760246646623899502532662132735 (0xffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 87112285931760246646623899502532662132736 (0x10000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 87112285931760246646623899502532662132737 (0x10000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 174224571863520493293247799005065324265471 (0x1ffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 174224571863520493293247799005065324265472 (0x20000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 174224571863520493293247799005065324265473 (0x20000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 348449143727040986586495598010130648530943 (0x3ffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 348449143727040986586495598010130648530944 (0x40000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 348449143727040986586495598010130648530945 (0x40000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 696898287454081973172991196020261297061887 (0x7ffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 696898287454081973172991196020261297061888 (0x80000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 696898287454081973172991196020261297061889 (0x80000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1393796574908163946345982392040522594123775 (0xfffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1393796574908163946345982392040522594123776 (0x100000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1393796574908163946345982392040522594123777 (0x100000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2787593149816327892691964784081045188247551 (0x1fffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2787593149816327892691964784081045188247552 (0x200000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2787593149816327892691964784081045188247553 (0x200000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5575186299632655785383929568162090376495103 (0x3fffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5575186299632655785383929568162090376495104 (0x400000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5575186299632655785383929568162090376495105 (0x400000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 11150372599265311570767859136324180752990207 (0x7fffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 11150372599265311570767859136324180752990208 (0x800000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 11150372599265311570767859136324180752990209 (0x800000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 22300745198530623141535718272648361505980415 (0xffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 22300745198530623141535718272648361505980416 (0x1000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 22300745198530623141535718272648361505980417 (0x1000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 44601490397061246283071436545296723011960831 (0x1ffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 44601490397061246283071436545296723011960832 (0x2000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 44601490397061246283071436545296723011960833 (0x2000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 89202980794122492566142873090593446023921663 (0x3ffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 89202980794122492566142873090593446023921664 (0x4000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 89202980794122492566142873090593446023921665 (0x4000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 178405961588244985132285746181186892047843327 (0x7ffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 178405961588244985132285746181186892047843328 (0x8000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 178405961588244985132285746181186892047843329 (0x8000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 356811923176489970264571492362373784095686655 (0xfffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 356811923176489970264571492362373784095686656 (0x10000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 356811923176489970264571492362373784095686657 (0x10000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 713623846352979940529142984724747568191373311 (0x1fffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 713623846352979940529142984724747568191373312 (0x20000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 713623846352979940529142984724747568191373313 (0x20000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1427247692705959881058285969449495136382746623 (0x3fffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1427247692705959881058285969449495136382746624 (0x40000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1427247692705959881058285969449495136382746625 (0x40000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2854495385411919762116571938898990272765493247 (0x7fffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2854495385411919762116571938898990272765493248 (0x80000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2854495385411919762116571938898990272765493249 (0x80000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5708990770823839524233143877797980545530986495 (0xffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5708990770823839524233143877797980545530986496 (0x100000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5708990770823839524233143877797980545530986497 (0x100000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 11417981541647679048466287755595961091061972991 (0x1ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 11417981541647679048466287755595961091061972992 (0x200000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 11417981541647679048466287755595961091061972993 (0x200000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 22835963083295358096932575511191922182123945983 (0x3ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 22835963083295358096932575511191922182123945984 (0x400000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 22835963083295358096932575511191922182123945985 (0x400000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 45671926166590716193865151022383844364247891967 (0x7ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 45671926166590716193865151022383844364247891968 (0x800000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 45671926166590716193865151022383844364247891969 (0x800000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 91343852333181432387730302044767688728495783935 (0xfffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 91343852333181432387730302044767688728495783936 (0x1000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 91343852333181432387730302044767688728495783937 (0x1000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 182687704666362864775460604089535377456991567871 (0x1fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 182687704666362864775460604089535377456991567872 (0x2000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 182687704666362864775460604089535377456991567873 (0x2000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 365375409332725729550921208179070754913983135743 (0x3fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 365375409332725729550921208179070754913983135744 (0x4000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 365375409332725729550921208179070754913983135745 (0x4000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 730750818665451459101842416358141509827966271487 (0x7fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 730750818665451459101842416358141509827966271488 (0x8000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 730750818665451459101842416358141509827966271489 (0x8000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1461501637330902918203684832716283019655932542975 (0xffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1461501637330902918203684832716283019655932542976 (0x10000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1461501637330902918203684832716283019655932542977 (0x10000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2923003274661805836407369665432566039311865085951 (0x1ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2923003274661805836407369665432566039311865085952 (0x20000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2923003274661805836407369665432566039311865085953 (0x20000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5846006549323611672814739330865132078623730171903 (0x3ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5846006549323611672814739330865132078623730171904 (0x40000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5846006549323611672814739330865132078623730171905 (0x40000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 11692013098647223345629478661730264157247460343807 (0x7ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 11692013098647223345629478661730264157247460343808 (0x80000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 11692013098647223345629478661730264157247460343809 (0x80000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 23384026197294446691258957323460528314494920687615 (0xfffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 23384026197294446691258957323460528314494920687616 (0x100000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 23384026197294446691258957323460528314494920687617 (0x100000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 46768052394588893382517914646921056628989841375231 (0x1fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 46768052394588893382517914646921056628989841375232 (0x200000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 46768052394588893382517914646921056628989841375233 (0x200000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 93536104789177786765035829293842113257979682750463 (0x3fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 93536104789177786765035829293842113257979682750464 (0x400000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 93536104789177786765035829293842113257979682750465 (0x400000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 187072209578355573530071658587684226515959365500927 (0x7fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 187072209578355573530071658587684226515959365500928 (0x800000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 187072209578355573530071658587684226515959365500929 (0x800000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 374144419156711147060143317175368453031918731001855 (0xffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 374144419156711147060143317175368453031918731001856 (0x1000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 374144419156711147060143317175368453031918731001857 (0x1000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 748288838313422294120286634350736906063837462003711 (0x1ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 748288838313422294120286634350736906063837462003712 (0x2000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 748288838313422294120286634350736906063837462003713 (0x2000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1496577676626844588240573268701473812127674924007423 (0x3ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1496577676626844588240573268701473812127674924007424 (0x4000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1496577676626844588240573268701473812127674924007425 (0x4000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 2993155353253689176481146537402947624255349848014847 (0x7ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 2993155353253689176481146537402947624255349848014848 (0x8000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 2993155353253689176481146537402947624255349848014849 (0x8000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 5986310706507378352962293074805895248510699696029695 (0xfffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 5986310706507378352962293074805895248510699696029696 (0x10000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 5986310706507378352962293074805895248510699696029697 (0x10000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 11972621413014756705924586149611790497021399392059391 (0x1fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 11972621413014756705924586149611790497021399392059392 (0x20000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 11972621413014756705924586149611790497021399392059393 (0x20000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 23945242826029513411849172299223580994042798784118783 (0x3fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 23945242826029513411849172299223580994042798784118784 (0x40000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 23945242826029513411849172299223580994042798784118785 (0x40000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 47890485652059026823698344598447161988085597568237567 (0x7fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 47890485652059026823698344598447161988085597568237568 (0x80000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 47890485652059026823698344598447161988085597568237569 (0x80000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 95780971304118053647396689196894323976171195136475135 (0xffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 95780971304118053647396689196894323976171195136475136 (0x100000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 95780971304118053647396689196894323976171195136475137 (0x100000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 191561942608236107294793378393788647952342390272950271 (0x1ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 191561942608236107294793378393788647952342390272950272 (0x200000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 191561942608236107294793378393788647952342390272950273 (0x200000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 383123885216472214589586756787577295904684780545900543 (0x3ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 383123885216472214589586756787577295904684780545900544 (0x400000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 383123885216472214589586756787577295904684780545900545 (0x400000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 766247770432944429179173513575154591809369561091801087 (0x7ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 766247770432944429179173513575154591809369561091801088 (0x800000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 766247770432944429179173513575154591809369561091801089 (0x800000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1532495540865888858358347027150309183618739122183602175 (0xfffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1532495540865888858358347027150309183618739122183602176 (0x1000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1532495540865888858358347027150309183618739122183602177 (0x1000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3064991081731777716716694054300618367237478244367204351 (0x1fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3064991081731777716716694054300618367237478244367204352 (0x2000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3064991081731777716716694054300618367237478244367204353 (0x2000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 6129982163463555433433388108601236734474956488734408703 (0x3fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 6129982163463555433433388108601236734474956488734408704 (0x4000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 6129982163463555433433388108601236734474956488734408705 (0x4000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 12259964326927110866866776217202473468949912977468817407 (0x7fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 12259964326927110866866776217202473468949912977468817408 (0x8000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 12259964326927110866866776217202473468949912977468817409 (0x8000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 24519928653854221733733552434404946937899825954937634815 (0xffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 24519928653854221733733552434404946937899825954937634816 (0x10000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 24519928653854221733733552434404946937899825954937634817 (0x10000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 49039857307708443467467104868809893875799651909875269631 (0x1ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 49039857307708443467467104868809893875799651909875269632 (0x20000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 49039857307708443467467104868809893875799651909875269633 (0x20000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 98079714615416886934934209737619787751599303819750539263 (0x3ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 98079714615416886934934209737619787751599303819750539264 (0x40000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 98079714615416886934934209737619787751599303819750539265 (0x40000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 196159429230833773869868419475239575503198607639501078527 (0x7ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 196159429230833773869868419475239575503198607639501078528 (0x80000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 196159429230833773869868419475239575503198607639501078529 (0x80000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 392318858461667547739736838950479151006397215279002157055 (0xfffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 392318858461667547739736838950479151006397215279002157056 (0x100000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 392318858461667547739736838950479151006397215279002157057 (0x100000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 784637716923335095479473677900958302012794430558004314111 (0x1fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 784637716923335095479473677900958302012794430558004314112 (0x200000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 784637716923335095479473677900958302012794430558004314113 (0x200000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1569275433846670190958947355801916604025588861116008628223 (0x3fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1569275433846670190958947355801916604025588861116008628224 (0x400000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1569275433846670190958947355801916604025588861116008628225 (0x400000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3138550867693340381917894711603833208051177722232017256447 (0x7fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3138550867693340381917894711603833208051177722232017256448 (0x800000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3138550867693340381917894711603833208051177722232017256449 (0x800000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 6277101735386680763835789423207666416102355444464034512895 (0xffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 6277101735386680763835789423207666416102355444464034512896 (0x1000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 6277101735386680763835789423207666416102355444464034512897 (0x1000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 12554203470773361527671578846415332832204710888928069025791 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 12554203470773361527671578846415332832204710888928069025792 (0x2000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 12554203470773361527671578846415332832204710888928069025793 (0x2000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 25108406941546723055343157692830665664409421777856138051583 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 25108406941546723055343157692830665664409421777856138051584 (0x4000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 25108406941546723055343157692830665664409421777856138051585 (0x4000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 50216813883093446110686315385661331328818843555712276103167 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 50216813883093446110686315385661331328818843555712276103168 (0x8000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 50216813883093446110686315385661331328818843555712276103169 (0x8000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 100433627766186892221372630771322662657637687111424552206335 (0xfffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 100433627766186892221372630771322662657637687111424552206336 (0x10000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 100433627766186892221372630771322662657637687111424552206337 (0x10000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 200867255532373784442745261542645325315275374222849104412671 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 200867255532373784442745261542645325315275374222849104412672 (0x20000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 200867255532373784442745261542645325315275374222849104412673 (0x20000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 401734511064747568885490523085290650630550748445698208825343 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 401734511064747568885490523085290650630550748445698208825344 (0x40000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 401734511064747568885490523085290650630550748445698208825345 (0x40000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 803469022129495137770981046170581301261101496891396417650687 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 803469022129495137770981046170581301261101496891396417650688 (0x80000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 803469022129495137770981046170581301261101496891396417650689 (0x80000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1606938044258990275541962092341162602522202993782792835301375 (0xffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1606938044258990275541962092341162602522202993782792835301376 (0x100000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1606938044258990275541962092341162602522202993782792835301377 (0x100000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3213876088517980551083924184682325205044405987565585670602751 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3213876088517980551083924184682325205044405987565585670602752 (0x200000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3213876088517980551083924184682325205044405987565585670602753 (0x200000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 6427752177035961102167848369364650410088811975131171341205503 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 6427752177035961102167848369364650410088811975131171341205504 (0x400000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 6427752177035961102167848369364650410088811975131171341205505 (0x400000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 12855504354071922204335696738729300820177623950262342682411007 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 12855504354071922204335696738729300820177623950262342682411008 (0x800000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 12855504354071922204335696738729300820177623950262342682411009 (0x800000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 25711008708143844408671393477458601640355247900524685364822015 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 25711008708143844408671393477458601640355247900524685364822016 (0x1000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 25711008708143844408671393477458601640355247900524685364822017 (0x1000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 51422017416287688817342786954917203280710495801049370729644031 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 51422017416287688817342786954917203280710495801049370729644032 (0x2000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 51422017416287688817342786954917203280710495801049370729644033 (0x2000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 102844034832575377634685573909834406561420991602098741459288063 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 102844034832575377634685573909834406561420991602098741459288064 (0x4000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 102844034832575377634685573909834406561420991602098741459288065 (0x4000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 205688069665150755269371147819668813122841983204197482918576127 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 205688069665150755269371147819668813122841983204197482918576128 (0x8000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 205688069665150755269371147819668813122841983204197482918576129 (0x8000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 411376139330301510538742295639337626245683966408394965837152255 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 411376139330301510538742295639337626245683966408394965837152256 (0x10000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 411376139330301510538742295639337626245683966408394965837152257 (0x10000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 822752278660603021077484591278675252491367932816789931674304511 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 822752278660603021077484591278675252491367932816789931674304512 (0x20000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 822752278660603021077484591278675252491367932816789931674304513 (0x20000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1645504557321206042154969182557350504982735865633579863348609023 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1645504557321206042154969182557350504982735865633579863348609024 (0x40000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1645504557321206042154969182557350504982735865633579863348609025 (0x40000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3291009114642412084309938365114701009965471731267159726697218047 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3291009114642412084309938365114701009965471731267159726697218048 (0x80000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3291009114642412084309938365114701009965471731267159726697218049 (0x80000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 6582018229284824168619876730229402019930943462534319453394436095 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 6582018229284824168619876730229402019930943462534319453394436096 (0x100000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 6582018229284824168619876730229402019930943462534319453394436097 (0x100000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 13164036458569648337239753460458804039861886925068638906788872191 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 13164036458569648337239753460458804039861886925068638906788872192 (0x200000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 13164036458569648337239753460458804039861886925068638906788872193 (0x200000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 26328072917139296674479506920917608079723773850137277813577744383 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 26328072917139296674479506920917608079723773850137277813577744384 (0x400000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 26328072917139296674479506920917608079723773850137277813577744385 (0x400000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 52656145834278593348959013841835216159447547700274555627155488767 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 52656145834278593348959013841835216159447547700274555627155488768 (0x800000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 52656145834278593348959013841835216159447547700274555627155488769 (0x800000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 105312291668557186697918027683670432318895095400549111254310977535 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 105312291668557186697918027683670432318895095400549111254310977536 (0x1000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 105312291668557186697918027683670432318895095400549111254310977537 (0x1000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 210624583337114373395836055367340864637790190801098222508621955071 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 210624583337114373395836055367340864637790190801098222508621955072 (0x2000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 210624583337114373395836055367340864637790190801098222508621955073 (0x2000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 421249166674228746791672110734681729275580381602196445017243910143 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 421249166674228746791672110734681729275580381602196445017243910144 (0x4000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 421249166674228746791672110734681729275580381602196445017243910145 (0x4000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 842498333348457493583344221469363458551160763204392890034487820287 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 842498333348457493583344221469363458551160763204392890034487820288 (0x8000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 842498333348457493583344221469363458551160763204392890034487820289 (0x8000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1684996666696914987166688442938726917102321526408785780068975640575 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1684996666696914987166688442938726917102321526408785780068975640576 (0x10000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1684996666696914987166688442938726917102321526408785780068975640577 (0x10000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3369993333393829974333376885877453834204643052817571560137951281151 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3369993333393829974333376885877453834204643052817571560137951281152 (0x20000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3369993333393829974333376885877453834204643052817571560137951281153 (0x20000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 6739986666787659948666753771754907668409286105635143120275902562303 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 6739986666787659948666753771754907668409286105635143120275902562304 (0x40000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 6739986666787659948666753771754907668409286105635143120275902562305 (0x40000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 13479973333575319897333507543509815336818572211270286240551805124607 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 13479973333575319897333507543509815336818572211270286240551805124608 (0x80000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 13479973333575319897333507543509815336818572211270286240551805124609 (0x80000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 26959946667150639794667015087019630673637144422540572481103610249215 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 26959946667150639794667015087019630673637144422540572481103610249216 (0x100000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 26959946667150639794667015087019630673637144422540572481103610249217 (0x100000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 53919893334301279589334030174039261347274288845081144962207220498431 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 53919893334301279589334030174039261347274288845081144962207220498432 (0x200000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 53919893334301279589334030174039261347274288845081144962207220498433 (0x200000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 107839786668602559178668060348078522694548577690162289924414440996863 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 107839786668602559178668060348078522694548577690162289924414440996864 (0x400000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 107839786668602559178668060348078522694548577690162289924414440996865 (0x400000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 215679573337205118357336120696157045389097155380324579848828881993727 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 215679573337205118357336120696157045389097155380324579848828881993728 (0x800000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 215679573337205118357336120696157045389097155380324579848828881993729 (0x800000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 431359146674410236714672241392314090778194310760649159697657763987455 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 431359146674410236714672241392314090778194310760649159697657763987456 (0x1000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 431359146674410236714672241392314090778194310760649159697657763987457 (0x1000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 862718293348820473429344482784628181556388621521298319395315527974911 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 862718293348820473429344482784628181556388621521298319395315527974912 (0x2000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 862718293348820473429344482784628181556388621521298319395315527974913 (0x2000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1725436586697640946858688965569256363112777243042596638790631055949823 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1725436586697640946858688965569256363112777243042596638790631055949824 (0x4000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1725436586697640946858688965569256363112777243042596638790631055949825 (0x4000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3450873173395281893717377931138512726225554486085193277581262111899647 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3450873173395281893717377931138512726225554486085193277581262111899648 (0x8000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3450873173395281893717377931138512726225554486085193277581262111899649 (0x8000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 6901746346790563787434755862277025452451108972170386555162524223799295 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 6901746346790563787434755862277025452451108972170386555162524223799296 (0x10000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 6901746346790563787434755862277025452451108972170386555162524223799297 (0x10000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 13803492693581127574869511724554050904902217944340773110325048447598591 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 13803492693581127574869511724554050904902217944340773110325048447598592 (0x20000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 13803492693581127574869511724554050904902217944340773110325048447598593 (0x20000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 27606985387162255149739023449108101809804435888681546220650096895197183 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 27606985387162255149739023449108101809804435888681546220650096895197184 (0x40000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 27606985387162255149739023449108101809804435888681546220650096895197185 (0x40000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 55213970774324510299478046898216203619608871777363092441300193790394367 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 55213970774324510299478046898216203619608871777363092441300193790394368 (0x80000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 55213970774324510299478046898216203619608871777363092441300193790394369 (0x80000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 110427941548649020598956093796432407239217743554726184882600387580788735 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 110427941548649020598956093796432407239217743554726184882600387580788736 (0x100000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 110427941548649020598956093796432407239217743554726184882600387580788737 (0x100000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 220855883097298041197912187592864814478435487109452369765200775161577471 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 220855883097298041197912187592864814478435487109452369765200775161577472 (0x200000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 220855883097298041197912187592864814478435487109452369765200775161577473 (0x200000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 441711766194596082395824375185729628956870974218904739530401550323154943 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 441711766194596082395824375185729628956870974218904739530401550323154944 (0x400000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 441711766194596082395824375185729628956870974218904739530401550323154945 (0x400000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 883423532389192164791648750371459257913741948437809479060803100646309887 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 883423532389192164791648750371459257913741948437809479060803100646309888 (0x800000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 883423532389192164791648750371459257913741948437809479060803100646309889 (0x800000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1766847064778384329583297500742918515827483896875618958121606201292619775 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1766847064778384329583297500742918515827483896875618958121606201292619776 (0x1000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1766847064778384329583297500742918515827483896875618958121606201292619777 (0x1000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3533694129556768659166595001485837031654967793751237916243212402585239551 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3533694129556768659166595001485837031654967793751237916243212402585239552 (0x2000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3533694129556768659166595001485837031654967793751237916243212402585239553 (0x2000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 7067388259113537318333190002971674063309935587502475832486424805170479103 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 7067388259113537318333190002971674063309935587502475832486424805170479104 (0x4000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 7067388259113537318333190002971674063309935587502475832486424805170479105 (0x4000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 14134776518227074636666380005943348126619871175004951664972849610340958207 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 14134776518227074636666380005943348126619871175004951664972849610340958208 (0x8000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 14134776518227074636666380005943348126619871175004951664972849610340958209 (0x8000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 28269553036454149273332760011886696253239742350009903329945699220681916415 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 28269553036454149273332760011886696253239742350009903329945699220681916416 (0x10000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 28269553036454149273332760011886696253239742350009903329945699220681916417 (0x10000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 56539106072908298546665520023773392506479484700019806659891398441363832831 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 56539106072908298546665520023773392506479484700019806659891398441363832832 (0x20000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 56539106072908298546665520023773392506479484700019806659891398441363832833 (0x20000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 113078212145816597093331040047546785012958969400039613319782796882727665663 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 113078212145816597093331040047546785012958969400039613319782796882727665664 (0x40000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 113078212145816597093331040047546785012958969400039613319782796882727665665 (0x40000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 226156424291633194186662080095093570025917938800079226639565593765455331327 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 226156424291633194186662080095093570025917938800079226639565593765455331328 (0x80000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 226156424291633194186662080095093570025917938800079226639565593765455331329 (0x80000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 452312848583266388373324160190187140051835877600158453279131187530910662655 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 452312848583266388373324160190187140051835877600158453279131187530910662656 (0x100000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 452312848583266388373324160190187140051835877600158453279131187530910662657 (0x100000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 904625697166532776746648320380374280103671755200316906558262375061821325311 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 904625697166532776746648320380374280103671755200316906558262375061821325312 (0x200000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 904625697166532776746648320380374280103671755200316906558262375061821325313 (0x200000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650623 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650624 (0x400000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650625 (0x400000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301247 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301248 (0x800000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301249 (0x800000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602495 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602496 (0x1000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602497 (0x1000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204991 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204992 (0x2000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204993 (0x2000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409983 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409984 (0x4000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409985 (0x4000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819967 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819968 (0x8000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819969 (0x8000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
diff --git a/src/Compilers/Z/Bounds/Interpretation.v b/src/Compilers/Z/Bounds/Interpretation.v
deleted file mode 100644
index e37b64a09..000000000
--- a/src/Compilers/Z/Bounds/Interpretation.v
+++ /dev/null
@@ -1,289 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.ZRange.
-Require Import Crypto.Util.ZRange.Operations.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.Tactics.DestructHead.
-Export Compilers.Syntax.Notations.
-
-Local Notation eta x := (fst x, snd x).
-Local Notation eta3 x := (eta (fst x), snd x).
-Local Notation eta4 x := (eta3 (fst x), snd x).
-
-Notation bounds := zrange.
-Delimit Scope bounds_scope with bounds.
-Local Open Scope Z_scope.
-
-Module Import Bounds.
- Definition t := bounds.
- Bind Scope bounds_scope with t.
- Local Coercion Z.of_nat : nat >-> Z.
- Definition interp_base_type (ty : base_type) : Set := t.
-
- Section ops.
- (** Generic helper definitions *)
- Definition t_map1 (f : Z -> Z) : t -> t
- := fun x => ZRange.two_corners f x.
- Definition t_map2 (f : Z -> Z -> Z) : t -> t -> t
- := fun x y => ZRange.four_corners f x y.
- Definition t_map3 (f : Z -> Z -> Z -> Z) : t -> t -> t -> t
- := fun x y z => ZRange.eight_corners f x y z.
- (** Definitions of the actual bounds propogation *)
- (** Rules for adding new operations:
-
- - Use [t_mapn] to if the underlying operation on [Z] is
- monotonic in all [n] of its arguments ([t_mapn] handles both
- monotonic non-increasing and monotonic non-decreasing) *)
-
- Definition add : t -> t -> t := t_map2 Z.add.
- Definition sub : t -> t -> t := t_map2 Z.sub.
- Definition mul : t -> t -> t := t_map2 Z.mul.
- Definition shl : t -> t -> t := t_map2 Z.shiftl.
- Definition shr : t -> t -> t := t_map2 Z.shiftr.
- Definition max_abs_bound (x : t) : Z
- := upper (ZRange.abs x).
- Definition upper_lor_and_bounds (x y : Z) : Z
- := 2^(1 + Z.log2_up (Z.max x y)).
- Definition extreme_lor_land_bounds (x y : t) : t
- := let mx := max_abs_bound x in
- let my := max_abs_bound y in
- {| lower := -upper_lor_and_bounds mx my ; upper := upper_lor_and_bounds mx my |}.
- Definition extremization_bounds (f : t -> t -> t) (x y : t) : t
- := let (lx, ux) := x in
- let (ly, uy) := y in
- if ((lx <? 0) || (ly <? 0))%Z%bool
- then extreme_lor_land_bounds x y
- else f x y.
- Definition land : t -> t -> t
- := extremization_bounds
- (fun x y
- => let (lx, ux) := x in
- let (ly, uy) := y in
- {| lower := Z.min 0 (Z.min lx ly) ; upper := Z.max 0 (Z.min ux uy) |}).
- Definition lor : t -> t -> t
- := extremization_bounds
- (fun x y
- => let (lx, ux) := x in
- let (ly, uy) := y in
- {| lower := Z.max lx ly;
- upper := 2^(Z.max (Z.log2_up (ux+1)) (Z.log2_up (uy+1))) - 1 |}).
- Definition opp : t -> t := t_map1 Z.opp.
- Definition zselect' (r1 r2 : t) : t
- := let (lr1, ur1) := r1 in
- let (lr2, ur2) := r2 in
- {| lower := Z.min lr1 lr2 ; upper := Z.max ur1 ur2 |}.
- Definition zselect (c r1 r2 : t) : t
- := zselect' r1 r2.
- Definition add_with_carry : t -> t -> t -> t
- := t_map3 Z.add_with_carry.
- Definition sub_with_borrow : t -> t -> t -> t
- := t_map3 Z.sub_with_borrow.
- Definition modulo_pow2_constant : Z -> t -> t
- := fun e x
- => let d := 2^e in
- let (l, u) := (lower x, upper x) in
- {| lower := if l / d =? u / d then Z.min (l mod d) (u mod d) else Z.min 0 (d + 1);
- upper := if l / d =? u / d then Z.max (l mod d) (u mod d) else Z.max 0 (d - 1) |}.
- Definition div_pow2_constant : Z -> t -> t
- := fun e x
- => let d := 2^e in
- let (l, u) := (lower x, upper x) in
- {| lower := l / d ; upper := u / d |}.
- Definition opp_div_pow2_constant : Z -> t -> t
- := fun e x
- => let d := 2^e in
- let (l, u) := (lower x, upper x) in
- {| lower := -(u / d) ; upper := -(l / d) |}.
- Definition neg (int_width : Z) : t -> t
- := fun v
- => let (lb, ub) := v in
- let might_be_one := ((lb <=? 1) && (1 <=? ub))%Z%bool in
- let must_be_one := ((lb =? 1) && (ub =? 1))%Z%bool in
- if must_be_one
- then {| lower := Z.ones int_width ; upper := Z.ones int_width |}
- else if might_be_one
- then {| lower := Z.min 0 (Z.ones int_width) ; upper := Z.max 0 (Z.ones int_width) |}
- else {| lower := 0 ; upper := 0 |}.
- Definition cmovne' (r1 r2 : t) : t
- := let (lr1, ur1) := r1 in
- let (lr2, ur2) := r2 in
- {| lower := Z.min lr1 lr2 ; upper := Z.max ur1 ur2 |}.
- Definition cmovne (x y r1 r2 : t) : t
- := cmovne' r1 r2.
- Definition cmovle' (r1 r2 : t) : t
- := let (lr1, ur1) := r1 in
- let (lr2, ur2) := r2 in
- {| lower := Z.min lr1 lr2 ; upper := Z.max ur1 ur2 |}.
- Definition cmovle (x y r1 r2 : t) : t
- := cmovle' r1 r2.
-
- Definition id_with_alt {T1 T2 Tout} (x : interp_base_type T1) (y : interp_base_type T2)
- : interp_base_type Tout
- := match T1, T2, Tout with
- | TZ, TZ, TZ => y
- | _, _, _ => x
- end.
- End ops.
- Section ops_with_carry.
- Context (carry_boundary_bit_width : Z).
- Definition get_carry : t -> t * t
- := fun v =>
- (modulo_pow2_constant carry_boundary_bit_width v,
- div_pow2_constant carry_boundary_bit_width v).
- Definition get_borrow : t -> t * t
- := fun v =>
- (modulo_pow2_constant carry_boundary_bit_width v,
- opp_div_pow2_constant carry_boundary_bit_width v).
- Definition add_with_get_carry : t -> t -> t -> t * t
- := fun c x y
- => get_carry (add_with_carry c x y).
- Definition sub_with_get_borrow : t -> t -> t -> t * t
- := fun c x y
- => get_borrow (sub_with_borrow c x y).
- Definition mul_split : t -> t -> t * t
- := fun x y => get_carry (mul x y).
- End ops_with_carry.
-
- Module Export Notations.
- Export Util.ZRange.Notations.
- Infix "+" := add : bounds_scope.
- Infix "-" := sub : bounds_scope.
- Infix "*" := mul : bounds_scope.
- Infix "<<" := shl : bounds_scope.
- Infix ">>" := shr : bounds_scope.
- Infix "&'" := land : bounds_scope.
- Notation "- x" := (opp x) : bounds_scope.
- End Notations.
-
- Definition log_bit_width_of_base_type ty : option nat
- := match ty with
- | TZ => None
- | TWord logsz => Some logsz
- end.
-
- Definition bit_width_of_base_type ty : option Z
- := option_map (fun logsz => 2^Z.of_nat logsz)%Z (log_bit_width_of_base_type ty).
-
- Definition truncation_bounds' bit_width (b : t)
- := match bit_width with
- | Some bit_width => if ((0 <=? lower b) && (upper b <? 2^bit_width))%bool
- then b
- else {| lower := 0 ; upper := 2^bit_width - 1 |}
- | None => b
- end.
- Definition truncation_bounds ty : interp_base_type ty -> interp_base_type ty
- := truncation_bounds' (bit_width_of_base_type ty).
-
- Definition interp_op {src dst} (f : op src dst)
- (x : interp_flat_type interp_base_type src)
- : interp_flat_type interp_base_type dst
- := SmartVarfMap
- truncation_bounds
- (match f in op src dst return interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst with
- | OpConst T v => fun _ => {| lower := v ; upper := v |}
- | Add _ _ T => fun xy => add (fst xy) (snd xy)
- | Sub _ _ T => fun xy => sub (fst xy) (snd xy)
- | Mul _ _ T => fun xy => mul (fst xy) (snd xy)
- | Shl _ _ T => fun xy => shl (fst xy) (snd xy)
- | Shr _ _ T => fun xy => shr (fst xy) (snd xy)
- | Land _ _ T => fun xy => land (fst xy) (snd xy)
- | Lor _ _ T => fun xy => lor (fst xy) (snd xy)
- | Opp _ T => fun x => opp x
- | IdWithAlt _ _ T => fun xy => id_with_alt (fst xy) (snd xy)
- | Zselect _ _ _ T => fun cxy => let '(c, x, y) := eta3 cxy in zselect c x y
- | MulSplit carry_boundary_bit_width _ _ T1 T2
- => fun xy => mul_split carry_boundary_bit_width (fst xy) (snd xy)
- | AddWithCarry _ _ _ T => fun cxy => let '(c, x, y) := eta3 cxy in add_with_carry c x y
- | AddWithGetCarry carry_boundary_bit_width _ _ _ T1 T2
- => fun cxy => let '(c, x, y) := eta3 cxy in
- add_with_get_carry carry_boundary_bit_width c x y
- | SubWithBorrow _ _ _ T => fun cxy => let '(c, x, y) := eta3 cxy in sub_with_borrow c x y
- | SubWithGetBorrow carry_boundary_bit_width _ _ _ T1 T2
- => fun cxy => let '(c, x, y) := eta3 cxy in
- sub_with_get_borrow carry_boundary_bit_width c x y
- end%bounds x).
-
- Definition of_Z (z : Z) : t := ZToZRange z.
-
- Definition of_interp t (z : Syntax.interp_base_type t) : interp_base_type t
- := ZToZRange (interpToZ z).
-
- Definition smallest_logsz
- (round_up : nat -> option nat)
- (b : t)
- : option nat
- := if (0 <=? lower b)%Z
- then Some (Z.to_nat (Z.log2_up (Z.log2_up (1 + upper b))))
- else None.
- Definition actual_logsz
- (round_up : nat -> option nat)
- (b : t)
- : option nat
- := if (0 <=? lower b)%Z
- then let smallest_lgsz := (Z.to_nat (Z.log2_up (Z.log2_up (1 + upper b)))) in
- let lgsz := round_up smallest_lgsz in
- match lgsz with
- | Some lgsz
- => if Nat.leb smallest_lgsz lgsz
- then Some lgsz
- else None
- | None => None
- end
- else None.
- Definition bounds_to_base_type
- {round_up : nat -> option nat}
- (T : base_type)
- (b : interp_base_type T)
- : base_type
- := match T with
- | TZ => match actual_logsz round_up b with
- | Some lgsz => TWord lgsz
- | None => TZ
- end
- | TWord _
- => match smallest_logsz round_up b with
- | Some lgsz => TWord lgsz
- | None => TZ
- end
- end.
-
- Definition option_min (a : nat) (b : option nat)
- := match b with
- | Some b => Nat.min a b
- | None => a
- end.
-
- Definition round_up_to_in_list (allowable_lgsz : list nat)
- (lgsz : nat)
- : option nat
- := let good_lgsz := List.filter (Nat.leb lgsz) allowable_lgsz in
- List.fold_right (fun a b => Some (option_min a b)) None good_lgsz.
-
- Definition ComputeBounds {t} (e : Expr t)
- (input_bounds : interp_flat_type interp_base_type (domain t))
- : interp_flat_type interp_base_type (codomain t)
- := Compilers.Syntax.Interp (@interp_op) e input_bounds.
-
- Definition is_tighter_thanb' {T} : interp_base_type T -> interp_base_type T -> bool
- := is_tighter_than_bool.
-
- Definition is_bounded_by' {T} : interp_base_type T -> Syntax.interp_base_type T -> Prop
- := fun bounds val => is_bounded_by' (bit_width_of_base_type T) bounds (interpToZ val).
-
- Definition is_tighter_thanb {T} : interp_flat_type interp_base_type T -> interp_flat_type interp_base_type T -> bool
- := interp_flat_type_relb_pointwise (@is_tighter_thanb').
-
- Definition is_bounded_by {T} : interp_flat_type interp_base_type T -> interp_flat_type Syntax.interp_base_type T -> Prop
- := interp_flat_type_rel_pointwise (@is_bounded_by').
-
- Local Arguments interp_base_type !_ / .
- Global Instance dec_eq_interp_flat_type : forall {T}, DecidableRel (@eq (interp_flat_type interp_base_type T)) | 10.
- Proof.
- induction T; destruct_head base_type; simpl; exact _.
- Defined.
-End Bounds.
diff --git a/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v b/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v
deleted file mode 100644
index b23e0ff1b..000000000
--- a/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v
+++ /dev/null
@@ -1,214 +0,0 @@
-Require Import Coq.Classes.Morphisms.
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Psatz.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.InterpretationLemmas.Tactics.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Util.ZRange.CornersMonotoneBounds.
-Require Import Crypto.Util.ZUtil.Stabilization.
-Require Import Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.ZUtil.LandLorShiftBounds.
-Require Import Crypto.Util.ZUtil.Morphisms.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.FixedWordSizesEquality.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.ZUtil.Tactics.SplitMinMax.
-
-Local Open Scope Z_scope.
-
-Local Arguments Bounds.is_bounded_by' !_ _ _ / .
-
-Lemma is_bounded_by_truncation_bounds' Tout bs v
- (H : Bounds.is_bounded_by (T:=Tbase TZ) bs v)
- : Bounds.is_bounded_by (T:=Tbase Tout)
- (Bounds.truncation_bounds' (Bounds.bit_width_of_base_type Tout) bs)
- (ZToInterp v).
-Proof.
- destruct bs as [l u]; cbv [Bounds.truncation_bounds' Bounds.is_bounded_by Bounds.is_bounded_by' Bounds.bit_width_of_base_type Bounds.log_bit_width_of_base_type option_map ZRange.is_bounded_by'] in *; simpl in *.
- repeat first [ break_t_step
- | fin_t
- | progress simpl in *
- | Zarith_t_step
- | rewriter_t
- | word_arith_t ].
-Qed.
-
-Lemma is_bounded_by_compose T1 T2 f_v bs v f_bs fv
- (H : Bounds.is_bounded_by (T:=Tbase T1) bs v)
- (Hf : forall bs v, Bounds.is_bounded_by (T:=Tbase T1) bs v -> Bounds.is_bounded_by (T:=Tbase T2) (f_bs bs) (f_v v))
- (Hfv : f_v v = fv)
- : Bounds.is_bounded_by (T:=Tbase T2) (f_bs bs) fv.
-Proof.
- subst; eauto.
-Qed.
-
-Local Existing Instances Z.log2_up_le_Proper Z.add_le_Proper Z.sub_with_borrow_le_Proper.
-Lemma land_upper_lor_land_bounds a b
- : Z.abs (Z.land a b) <= Bounds.upper_lor_and_bounds (Z.abs a) (Z.abs b).
-Proof.
- unfold Bounds.upper_lor_and_bounds.
- apply stabilizes_bounded; auto with zarith.
- rewrite <- !Z.max_mono by exact _.
- apply land_stabilizes; apply stabilization_time_weaker.
-Qed.
-
-Lemma lor_upper_lor_land_bounds a b
- : Z.abs (Z.lor a b) <= Bounds.upper_lor_and_bounds (Z.abs a) (Z.abs b).
-Proof.
- unfold Bounds.upper_lor_and_bounds.
- apply stabilizes_bounded; auto with zarith.
- rewrite <- !Z.max_mono by exact _.
- apply lor_stabilizes; apply stabilization_time_weaker.
-Qed.
-
-Lemma upper_lor_and_bounds_Proper
- : Proper (Z.le ==> Z.le ==> Z.le) Bounds.upper_lor_and_bounds.
-Proof.
- intros ??? ???.
- unfold Bounds.upper_lor_and_bounds.
- auto with zarith.
-Qed.
-
-Local Arguments Z.pow !_ !_.
-Local Arguments Z.log2_up !_.
-Local Arguments Z.add !_ !_.
-Lemma land_bounds_extreme xb yb x y
- (Hx : ZRange.is_bounded_by' None xb x)
- (Hy : ZRange.is_bounded_by' None yb y)
- : ZRange.is_bounded_by' None (Bounds.extreme_lor_land_bounds xb yb) (Z.land x y).
-Proof.
- apply ZRange.monotonify2; auto;
- unfold Bounds.extreme_lor_land_bounds;
- [ apply land_upper_lor_land_bounds
- | apply upper_lor_and_bounds_Proper ].
-Qed.
-Lemma lor_bounds_extreme xb yb x y
- (Hx : ZRange.is_bounded_by' None xb x)
- (Hy : ZRange.is_bounded_by' None yb y)
- : ZRange.is_bounded_by' None (Bounds.extreme_lor_land_bounds xb yb) (Z.lor x y).
-Proof.
- apply ZRange.monotonify2; auto;
- unfold Bounds.extreme_lor_land_bounds;
- [ apply lor_upper_lor_land_bounds
- | apply upper_lor_and_bounds_Proper ].
-Qed.
-
-Local Arguments N.ldiff : simpl never.
-Local Arguments Z.pow : simpl never.
-Local Arguments Z.add !_ !_.
-Local Existing Instances Z.add_le_Proper Z.sub_le_flip_le_Proper Z.log2_up_le_Proper Z.pow_Zpos_le_Proper Z.sub_le_eq_Proper Z.add_with_carry_le_Proper.
-Local Hint Extern 1 => progress cbv beta iota : typeclass_instances.
-Local Ltac ibbio_prefin :=
- [ > | intros | simpl; reflexivity ].
-Local Ltac apply_is_bounded_by_truncation_bounds :=
- cbv [id
- Bounds.interp_op interp_op Bounds.is_bounded_by Relations.interp_flat_type_rel_pointwise Relations.interp_flat_type_rel_pointwise_gen_Prop SmartVarfMap smart_interp_flat_map lift_op SmartFlatTypeMapUnInterp cast_const Zinterp_op SmartFlatTypeMapInterp2
- Z.add_with_get_carry Bounds.add_with_get_carry Bounds.sub_with_get_borrow Bounds.get_carry Bounds.get_borrow Z.get_carry Bounds.mul_split];
- cbn [interpToZ fst snd];
- repeat match goal with
- | [ |- _ /\ _ ] => split
- end;
- lazymatch goal with
- | [ |- Bounds.is_bounded_by' (Bounds.truncation_bounds _ _) (ZToInterp _) ]
- => apply is_bounded_by_truncation_bounds'
- end.
-Local Ltac handle_mul :=
- apply (ZRange.monotone_four_corners_genb Z.mul); try (split; auto);
- unfold Basics.flip;
- let x := fresh "x" in
- intro x;
- exists (0 <=? x);
- break_match; Z.ltb_to_lt;
- intros ???; nia.
-Lemma is_bounded_by_interp_op t tR (opc : op t tR)
- (bs : interp_flat_type Bounds.interp_base_type _)
- (v : interp_flat_type interp_base_type _)
- (H : Bounds.is_bounded_by bs v)
- (H_side : to_prop (interped_op_side_conditions opc v))
- : Bounds.is_bounded_by (Bounds.interp_op opc bs) (Syntax.interp_op _ _ opc v).
-Proof.
- destruct opc; apply_is_bounded_by_truncation_bounds;
- [ ..
- | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v mod _)) (v:=ZToInterp _);
- [ .. | cbn -[Z.mul_split_at_bitwidth]; rewrite Z.mul_split_at_bitwidth_mod ];
- ibbio_prefin
- | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v / _)) (v:=ZToInterp _);
- [ .. | cbn -[Z.mul_split_at_bitwidth]; rewrite Z.mul_split_at_bitwidth_div ];
- ibbio_prefin
- |
- | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v mod _)) (v:=ZToInterp _);
- ibbio_prefin
- | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v / _)) (v:=ZToInterp _);
- ibbio_prefin
- |
- | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v mod _)) (v:=ZToInterp _);
- ibbio_prefin
- | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (-(v / _))) (v:=ZToInterp _);
- ibbio_prefin ];
- repeat first [ progress simpl in *
- | progress cbv [Bounds.interp_base_type Bounds.is_bounded_by' ZRange.is_bounded_by'] in *
- | progress destruct_head'_prod
- | progress destruct_head'_and
- | omega
- | match goal with
- | [ |- context[interpToZ ?x] ]
- => generalize dependent (interpToZ x); clear x; intros
- | [ |- _ /\ True ] => split; [ | tauto ]
- end ].
- { apply (@ZRange.monotone_four_corners true true Z.add _); split; auto. }
- { apply (@ZRange.monotone_four_corners true false Z.sub _); split; auto. }
- { handle_mul. }
- { apply (ZRange.monotone_four_corners_genb Z.shiftl); try (split; auto);
- [ eexists; apply Z.shiftl_le_Proper1
- | exists true; apply Z.shiftl_le_Proper2 ]. }
- { apply (ZRange.monotone_four_corners_genb Z.shiftr); try (split; auto);
- [ eexists; apply Z.shiftr_le_Proper1
- | exists true; apply Z.shiftr_le_Proper2 ]. }
- { cbv [Bounds.land Bounds.extremization_bounds]; break_innermost_match;
- [ apply land_bounds_extreme; split; auto | .. ];
- repeat first [ progress simpl in *
- | Zarith_t_step
- | rewriter_t
- | progress saturate_land_lor_facts
- | split_min_max; omega ]. }
- { cbv [Bounds.lor Bounds.extremization_bounds]; break_innermost_match;
- [ apply lor_bounds_extreme; split; auto | .. ];
- repeat first [ progress simpl in *
- | Zarith_t_step
- | rewriter_t
- | progress Zarith_land_lor_t_step
- | solve [ split_min_max; try omega; try Zarith_land_lor_t_step ] ]. }
- { repeat first [ progress destruct_head Bounds.t
- | progress simpl in *
- | progress split_min_max
- | omega ]. }
- { cbv [Bounds.id_with_alt];
- break_innermost_match; simpl in *; Z.ltb_to_lt; subst;
- split; assumption. }
- { destruct_head Bounds.t; cbv [Bounds.zselect' Z.zselect].
- break_innermost_match; split_min_max; omega. }
- { handle_mul. }
- { apply Z.mod_bound_min_max; auto. }
- { handle_mul. }
- { auto with zarith. }
- { apply (@ZRange.monotone_eight_corners true true true Z.add_with_carry _ _); split; auto. }
- { apply (@ZRange.monotone_eight_corners true true true Z.add_with_carry _ _); split; auto. }
- { apply Z.mod_bound_min_max; auto. }
- { apply (@ZRange.monotone_eight_corners true true true Z.add_with_carry _ _); split; auto. }
- { auto with zarith. }
- { apply (@ZRange.monotone_eight_corners false true false Z.sub_with_borrow _ _); split; auto. }
- { apply (@ZRange.monotone_eight_corners false true false Z.sub_with_borrow _ _); split; auto. }
- { apply Z.mod_bound_min_max; auto. }
- { apply (@ZRange.monotone_eight_corners false true false Z.sub_with_borrow _ _); split; auto. }
- { auto with zarith. }
-Qed.
diff --git a/src/Compilers/Z/Bounds/InterpretationLemmas/PullCast.v b/src/Compilers/Z/Bounds/InterpretationLemmas/PullCast.v
deleted file mode 100644
index 7ffe0beb1..000000000
--- a/src/Compilers/Z/Bounds/InterpretationLemmas/PullCast.v
+++ /dev/null
@@ -1,192 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Psatz.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.InterpretationLemmas.Tactics.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Util.ZUtil.Morphisms.
-Require Import Crypto.Util.ZUtil.Log2.
-Require Import Crypto.Util.ZUtil.Pow2.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.PeelLe.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.FixedWordSizesEquality.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.UniquePose.
-
-Local Open Scope Z_scope.
-
-Local Arguments lift_op : simpl never.
-Local Arguments cast_back_flat_const : simpl never.
-Local Arguments unzify_op : simpl never.
-Local Arguments Z.pow : simpl never.
-Local Arguments Z.add !_ !_.
-Local Existing Instances Z.pow_Zpos_le_Proper Z.log2_up_le_Proper.
-
-Section with_round_up.
- Context (is_bounded_by_interp_op
- : forall t tR (opc : op t tR)
- (bs : interp_flat_type Bounds.interp_base_type _)
- (v : interp_flat_type interp_base_type _)
- (H : Bounds.is_bounded_by bs v)
- (Hside : to_prop (interped_op_side_conditions opc v)),
- Bounds.is_bounded_by (Bounds.interp_op opc bs) (Syntax.interp_op _ _ opc v)).
- Context {round_up : nat -> option nat}.
-
- Local Notation pick_typeb := (@Bounds.bounds_to_base_type round_up) (only parsing).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
-
- Local Ltac t_small :=
- repeat first [ progress cbv [Bounds.bounds_to_base_type Bounds.smallest_logsz Bounds.actual_logsz] in *
- | progress simpl in *
- | progress autorewrite with push_Zof_nat zsimplify_const
- | solve [ trivial ]
- | progress change (@interpToZ) with (fun t1 => cast_const (t1:=t1) (t2:=TZ)) in *
- | progress change (@cast_const TZ TZ) with (fun x : Z => x) in *
- | progress Z.ltb_to_lt
- | rewrite Z2Nat.id in * by auto with zarith
- | rewrite <- Z.log2_up_le_pow2_full in * by auto with zarith
- | break_innermost_match_step
- | apply conj
- | omega
- | rewrite <- Z.log2_up_le_full
- | match goal with
- | [ |- ?x < ?y ] => cut (x + 1 <= y); [ omega | ]
- | [ H : (_ <=? _)%nat = true |- _ ] => apply Nat.leb_le in H
- | [ H : (_ <= _)%nat |- _ ] => apply inj_le in H
- end ].
-
- Local Arguments cast_const : simpl never.
- Lemma interpToZ_cast_const_small T0 (bs : Bounds.interp_base_type T0)
- (v : interp_base_type (@Bounds.bounds_to_base_type round_up T0 bs))
- (H : match Bounds.bit_width_of_base_type T0 with
- | Some sz => 0 <= ZRange.lower bs /\ ZRange.upper bs < 2 ^ sz
- | None => True
- end)
- (Hv : ZRange.lower bs <= interpToZ (cast_const (t2:=T0) v) <= ZRange.upper bs)
- : interpToZ (cast_const (t2:=T0) v) = interpToZ v.
- Proof.
- destruct_head base_type; simpl in *; try reflexivity.
- unfold Bounds.smallest_logsz, Bounds.interp_base_type, cast_const in *.
- break_innermost_match_hyps; Z.ltb_to_lt; simpl in *;
- [ pose proof (wordToZ_range v) | omega ].
- rewrite wordToZ_ZToWord_mod_full.
- rewrite wordToZ_ZToWord_mod_full in Hv.
- revert Hv; apply Z.max_case_strong; Z.rewrite_mod_small; intros; try omega; [].
- rewrite Z.mod_small; [ reflexivity | split; auto with zarith ].
- autorewrite with push_Zof_nat zsimplify_const in *.
- rewrite Z2Nat.id in * by auto with zarith.
- destruct_head' and.
- eapply Z.lt_le_trans; [ eassumption | ].
- repeat first [ progress Z.peel_le
- | rewrite <- Z.log2_up_pow2 by auto with zarith; progress Z.peel_le
- | omega ].
- Qed.
-
- Local Existing Instances Z.pow_Zpos_le_Proper Z.pow_Zpos_le_Proper_flip Z.lt_le_flip_Proper_flip_impl.
- Lemma ZToInterp_cast_const_small T (bs : Bounds.interp_base_type T)
- v
- (H : match Bounds.bit_width_of_base_type T with
- | Some sz => 0 <= ZRange.lower bs /\ ZRange.upper bs < 2 ^ sz
- | None => True
- end)
- (Hb : ZRange.lower bs <= interpToZ (@ZToInterp T v) <= ZRange.upper bs)
- : @cast_const (@Bounds.bounds_to_base_type round_up T bs) T (ZToInterp v) = ZToInterp v.
- Proof.
- apply ZToInterp_eq_inj.
- rewrite ?interpToZ_ZToInterp_mod.
- rewrite interpToZ_ZToInterp_mod in Hb.
- destruct T; simpl in *.
- { unfold Bounds.actual_logsz.
- break_innermost_match; Z.ltb_to_lt; try reflexivity; [].
- t_small.
- apply Z.max_case_strong; intros; Z.rewrite_mod_small; omega. }
- { unfold Bounds.smallest_logsz.
- break_innermost_match_step; Z.ltb_to_lt; try omega; [].
- revert Hb; apply (Z.max_case_strong 0 v); intros; Z.rewrite_mod_small; try reflexivity.
- rewrite Z.max_r by auto with zarith.
- autorewrite with push_Zof_nat zsimplify_const in *.
- rewrite Z2Nat.id by auto with zarith.
- rewrite Z.mod_mod_small; try apply conj; auto with zarith;
- repeat first [ rewrite <- Z.log2_up_le_pow2_full in * by auto with zarith
- | rewrite <- Z.log2_up_le_full
- | omega
- | apply conj
- | progress Z.peel_le
- | rewrite <- Z.log2_up_pow2 by auto with zarith; progress Z.peel_le
- | match goal with
- | [ |- 2^?x mod 2^?y = 0 ]
- => destruct (Z.pow2_lt_or_divides x y);
- [ solve [ auto with zarith ]
- | exfalso; assert (2^y <= 2^x)
- | assumption ]
- end ]. }
- Qed.
-
- Lemma pull_cast_genericize_op
- t tR (opc : op t tR)
- (bs : interp_flat_type Bounds.interp_base_type t)
- (v : interp_flat_type interp_base_type (pick_type bs))
- (H : Bounds.is_bounded_by bs
- (SmartFlatTypeMapUnInterp
- (fun (t1 : base_type) (b0 : Bounds.interp_base_type t1) => cast_const) v))
- (Hside : to_prop (interped_op_side_conditions opc (cast_back_flat_const v)))
- : interp_op t tR opc (cast_back_flat_const v)
- = cast_back_flat_const (interp_op (pick_type bs) (pick_type (Bounds.interp_op opc bs)) (genericize_op opc) v).
- Proof.
- pose proof (is_bounded_by_interp_op t tR opc bs).
- unfold interp_op in *.
- rewrite Zinterp_op_genericize_op.
- generalize dependent (Zinterp_op t tR opc).
- generalize dependent (Bounds.interp_op opc bs); simpl; intros.
- repeat (destruct_one_head flat_type; try solve [ inversion opc ]);
- repeat first [ progress simpl in *
- | progress destruct_head unit
- | progress destruct_head True
- | progress cbv [unzify_op cast_back_flat_const lift_op Bounds.is_bounded_by' ZRange.is_bounded_by'] in *
- | progress change (@interpToZ TZ) with (fun x : Z => x) in *
- | progress specialize_by auto
- | progress specialize_by constructor
- | match goal with
- | [ H : forall v, _ <= ?f v <= _ /\ _ -> _ |- context[?f ?v'] ]
- => specialize (H v')
- | _ => progress specialize_by_assumption
- | _ => progress specialize_by auto
- | [ H : forall v : unit, _ |- _ ] => specialize (H tt)
- | [ H : forall v : _ * _, _ /\ _ -> _ |- _ ]
- => specialize (fun v1 v2 p1 p2 => H (v1, v2) (conj p1 p2));
- cbn [fst snd] in H;
- specialize (fun v1 p1 v2 p2 => H v1 v2 p1 p2)
- end
- | progress destruct_head'_and ];
- [
- | rewrite cast_const_idempotent_small by t_small; reflexivity
- | .. ];
- repeat match goal with
- | _ => progress change (@cast_const TZ) with @ZToInterp in *
- | [ |- context[@cast_const ?x TZ] ]
- => progress change (@cast_const x TZ) with (@interpToZ x) in *
- | [ H : context[@cast_const ?x TZ] |- _ ]
- => progress change (@cast_const x TZ) with (@interpToZ x) in *
- end;
- repeat match goal with
- | _ => reflexivity
- | _ => progress rewrite ?interpToZ_cast_const_small, ?ZToInterp_cast_const_small by auto
- | [ H : context[ZToInterp (?f (interpToZ (cast_const ?v)))] |- _ ]
- => rewrite (@interpToZ_cast_const_small _ _ v) in H by auto
- | [ H : context[(interpToZ (cast_const ?v), _)] |- _ ]
- => rewrite (@interpToZ_cast_const_small _ _ v) in H by auto
- | [ H : context[(_, interpToZ (cast_const ?v))] |- _ ]
- => rewrite (@interpToZ_cast_const_small _ _ v) in H by auto
- end.
- Qed.
-End with_round_up.
diff --git a/src/Compilers/Z/Bounds/InterpretationLemmas/Tactics.v b/src/Compilers/Z/Bounds/InterpretationLemmas/Tactics.v
deleted file mode 100644
index 6486b2e00..000000000
--- a/src/Compilers/Z/Bounds/InterpretationLemmas/Tactics.v
+++ /dev/null
@@ -1,197 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Psatz.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Util.ZUtil.Hints.
-Require Import Crypto.Util.ZUtil.Hints.Core.
-Require Import Crypto.Util.ZUtil.ZSimplify.Core.
-Require Import Crypto.Util.ZUtil.Log2.
-Require Import Crypto.Util.ZUtil.Shift.
-Require Import Crypto.Util.ZUtil.LandLorShiftBounds.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZRange.Operations.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.FixedWordSizesEquality.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.ZUtil.Tactics.SplitMinMax.
-
-Local Open Scope Z_scope.
-
-Ltac break_t_step :=
- first [ progress destruct_head'_and
- | progress destruct_head'_or
- | progress destruct_head'_prod
- | progress split_andb
- | break_innermost_match_step ].
-
-Ltac fin_t :=
- first [ reflexivity
- | assumption
- | match goal with
- | [ |- and _ _ ]
- => first [ split; [ | solve [ fin_t ] ]
- | split; [ solve [ fin_t ] | ] ];
- try solve [ fin_t ]
- end
- | omega ].
-
-Ltac specializer_t_step :=
- first [ progress specialize_by_assumption
- | progress specialize_by fin_t ].
-
-Ltac Zarith_t_step :=
- first [ match goal with
- | [ H : (?x <= ?y)%Z, H' : (?y <= ?x)%Z |- _ ]
- => assert (x = y) by omega; clear H H'
- end
- | progress Z.ltb_to_lt_in_context ].
-Ltac Zarith_land_lor_t_step :=
- match goal with
- | [ |- _ <= Z.lor _ _ <= _ ]
- => split; etransitivity; [ | apply Z.lor_bounds; omega | apply Z.lor_bounds; omega | ]
- | [ |- 2^Z.log2_up (?x + 1) - 1 <= 2^Z.log2_up (?y + 1) - 1 ]
- => let H := fresh in assert (H : x <= y) by omega; rewrite H; reflexivity
- end.
-Ltac word_arith_t :=
- match goal with
- | [ |- (0 <= FixedWordSizes.wordToZ ?w <= 2^2^Z.of_nat ?logsz - 1)%Z ]
- => clear; pose proof (@wordToZ_range logsz w); autorewrite with push_Zof_nat zsimplify_const in *; try omega
- end.
-
-Ltac case_Zvar_nonneg_on x :=
- is_var x;
- lazymatch type of x with
- | Z => lazymatch goal with
- | [ H : (0 <= x)%Z |- _ ] => fail
- | [ H : (x < 0)%Z |- _ ] => fail
- | _ => destruct (Z_lt_le_dec x 0); try omega
- end
- end.
-Ltac case_Zvar_nonneg_step :=
- match goal with
- | [ |- context[?x] ]
- => case_Zvar_nonneg_on x
- end.
-Ltac case_Zvar_nonneg := repeat case_Zvar_nonneg_step.
-
-Ltac remove_binary_operation_le_hyps_step :=
- match goal with
- | [ H : (?f ?x ?y <= ?f ?x ?y')%Z |- _ ]
- => assert ((y = y') \/ (y < y' /\ 0 <= x))%Z by (assert (y <= y')%Z by omega; nia);
- clear H
- | [ H : (?f ?y ?x <= ?f ?y' ?x)%Z |- _ ]
- => assert ((y = y') \/ (y < y' /\ 0 <= x))%Z by (assert (y <= y')%Z by omega; nia);
- clear H
- | [ H : (?f ?x ?y <= ?f ?x ?y')%Z |- _ ]
- => assert ((y = y') \/ (y' < y /\ x <= 0))%Z by (assert (y' <= y)%Z by omega; nia);
- clear H
- | [ H : (?f ?y ?x <= ?f ?y' ?x)%Z |- _ ]
- => assert ((y = y') \/ (y' < y /\ x <= 0))%Z by (assert (y' <= y)%Z by omega; nia);
- clear H
- | [ H : ?T, H' : ?T |- _ ] => clear H'
- | [ H : ?A \/ (~?A /\ ?B), H' : ?A \/ (~?A /\ ?C) |- _ ]
- => assert (A \/ (~A /\ (B /\ C))) by (clear -H H'; tauto); clear H H'
- | _ => progress destruct_head' or; destruct_head' and; subst; try omega
- | [ |- (_ <= _ <= _)%Z ] => split
- | _ => case_Zvar_nonneg_step
- end.
-
-Ltac saturate_with_shift_facts :=
- repeat match goal with
- | [ H : ?x <= ?y, H' : ?x' <= ?y' |- context[?x << ?x'] ]
- => unique assert (x << x' <= y << y') by (apply Z.shiftl_le_mono; omega)
- | [ H : ?x <= ?y, H' : ?x' <= ?y' |- context[?y << ?y'] ]
- => unique assert (x << x' <= y << y') by (apply Z.shiftl_le_mono; omega)
- | [ H : ?x <= ?y, H' : ?x' <= ?y' |- context[?x >> ?y'] ]
- => unique assert (x >> y' <= y >> x') by (Z.shiftr_le_mono; omega)
- | [ H : ?x <= ?y, H' : ?x' <= ?y' |- context[?y >> ?x'] ]
- => unique assert (x >> y' <= y >> x') by (apply Z.shiftr_le_mono; omega)
- end.
-Ltac saturate_with_all_shift_facts :=
- repeat match goal with
- | _ => progress saturate_with_shift_facts
- | [ H : ?x <= ?y, H' : ?x' <= ?y' |- context[Z.shiftl _ _] ]
- => unique assert (x << x' <= y << y') by (apply Z.shiftl_le_mono; omega)
- | [ H : ?x <= ?y, H' : ?x' <= ?y' |- context[Z.shiftr _ _] ]
- => unique assert (x >> y' <= y >> x') by (apply Z.shiftr_le_mono; omega)
- end.
-Ltac preprocess_shift_min_max :=
- repeat first [ rewrite (Z.min_r (_ >> _) (_ >> _)) by (apply Z.shiftr_le_mono; omega)
- | rewrite (Z.min_l (_ >> _) (_ >> _)) by (apply Z.shiftr_le_mono; omega)
- | rewrite (Z.max_r (_ >> _) (_ >> _)) by (apply Z.shiftr_le_mono; omega)
- | rewrite (Z.max_l (_ >> _) (_ >> _)) by (apply Z.shiftr_le_mono; omega)
- | rewrite (Z.min_r (_ << _) (_ << _)) by (apply Z.shiftl_le_mono; omega)
- | rewrite (Z.min_l (_ << _) (_ << _)) by (apply Z.shiftl_le_mono; omega)
- | rewrite (Z.max_r (_ << _) (_ << _)) by (apply Z.shiftl_le_mono; omega)
- | rewrite (Z.max_l (_ << _) (_ << _)) by (apply Z.shiftl_le_mono; omega) ].
-Ltac saturate_land_lor_facts :=
- repeat match goal with
- | [ |- context[Z.land ?x ?y] ]
- => let H := fresh in
- let H' := fresh in
- assert (H : 0 <= x) by omega;
- assert (H' : 0 <= y) by omega;
- unique pose proof (Z.land_upper_bound_r x y H H');
- unique pose proof (Z.land_upper_bound_l x y H H')
- | [ |- context[Z.land ?x ?y] ]
- => unique assert (0 <= Z.land x y) by (apply Z.land_nonneg; omega)
- | [ |- context[Z.land ?x ?y] ]
- => case_Zvar_nonneg_on x; case_Zvar_nonneg_on y
- | [ |- context[Z.lor ?x ?y] ]
- => let H := fresh in
- let H' := fresh in
- assert (H : 0 <= x) by omega;
- assert (H' : 0 <= y) by omega;
- unique pose proof (proj1 (Z.lor_bounds x y H H'));
- unique pose proof (proj2 (Z.lor_bounds x y H H'))
- | [ |- context[Z.lor ?x ?y] ]
- => unique assert (0 <= Z.lor x y) by (apply Z.lor_nonneg; omega)
- | [ |- context[Z.lor ?x ?y] ]
- => case_Zvar_nonneg_on x; case_Zvar_nonneg_on y
- end.
-Ltac handle_shift_neg :=
- repeat first [ rewrite !Z.shiftr_opp_r
- | rewrite !Z.shiftl_opp_r
- | rewrite !Z.shiftr_opp_l
- | rewrite !Z.shiftl_opp_l ].
-
-Ltac handle_four_corners_step_fast :=
- first [ progress destruct_head Bounds.t
- | progress cbv [ZRange.four_corners] in *
- | progress subst
- | Zarith_t_step
- | progress split_min_max
- | omega
- | nia ].
-Ltac handle_four_corners_step :=
- first [ handle_four_corners_step_fast
- | remove_binary_operation_le_hyps_step ].
-Ltac handle_four_corners :=
- lazymatch goal with
- | [ |- (ZRange.lower (ZRange.four_corners _ _ _) <= _ <= _)%Z ]
- => idtac
- end;
- repeat handle_four_corners_step.
-
-Ltac rewriter_t :=
- first [ rewrite !Bool.andb_true_iff
- | rewrite !Bool.andb_false_iff
- | rewrite !Bool.orb_true_iff
- | rewrite !Bool.orb_false_iff
- | rewrite !Z.abs_opp
- | rewrite !Z.max_log2_up
- | rewrite !Z.add_max_distr_r
- | rewrite !Z.add_max_distr_l
- | rewrite wordToZ_ZToWord by (autorewrite with push_Zof_nat zsimplify_const; omega)
- | match goal with
- | [ H : _ |- _ ]
- => first [ rewrite !Bool.andb_true_iff in H
- | rewrite !Bool.andb_false_iff in H
- | rewrite !Bool.orb_true_iff in H
- | rewrite !Bool.orb_false_iff in H ]
- end ].
diff --git a/src/Compilers/Z/Bounds/MapCastByDeBruijn.v b/src/Compilers/Z/Bounds/MapCastByDeBruijn.v
deleted file mode 100644
index c08ae1298..000000000
--- a/src/Compilers/Z/Bounds/MapCastByDeBruijn.v
+++ /dev/null
@@ -1,24 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.MapCastByDeBruijn.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-
-Section language.
- Context (round_up : nat -> option nat)
- {t : type base_type}.
-
- Definition MapCastCompile := @MapCastCompile t.
- Definition MapCastDoCast
- := @MapCastDoCast
- (@Bounds.interp_base_type) (@Bounds.interp_op)
- (@Bounds.bounds_to_base_type round_up)
- (fun _ _ opc _ => @genericize_op _ _ _ opc _ _ _)
- t.
- Definition MapCastDoInterp
- := @MapCastDoInterp
- (@Bounds.interp_base_type) (@Bounds.bounds_to_base_type round_up)
- t.
- Definition MapCast e input_bounds
- := MapCastDoInterp input_bounds (MapCastDoCast input_bounds (MapCastCompile e)).
-End language.
diff --git a/src/Compilers/Z/Bounds/MapCastByDeBruijnInterp.v b/src/Compilers/Z/Bounds/MapCastByDeBruijnInterp.v
deleted file mode 100644
index 1217cd721..000000000
--- a/src/Compilers/Z/Bounds/MapCastByDeBruijnInterp.v
+++ /dev/null
@@ -1,48 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Z.MapCastByDeBruijnInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.InterpSideConditions.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.InterpretationLemmas.IsBoundedBy.
-Require Import Crypto.Compilers.Z.Bounds.InterpretationLemmas.PullCast.
-Require Import Crypto.Compilers.Z.Bounds.MapCastByDeBruijn.
-Require Import Crypto.Util.PointedProp.
-
-Lemma MapCastCorrect
- {round_up}
- {t} (e : Expr t)
- (Hwf : Wf e)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- : forall {b} e' (He':MapCast round_up e input_bounds = Some (existT _ b e'))
- v v' (Hv : Bounds.is_bounded_by input_bounds v /\ cast_back_flat_const v' = v)
- (Hside : to_prop (InterpSideConditions e v)),
- Compilers.Syntax.Interp (@Bounds.interp_op) e input_bounds = b
- /\ Bounds.is_bounded_by b (Compilers.Syntax.Interp interp_op e v)
- /\ cast_back_flat_const (Compilers.Syntax.Interp interp_op e' v') = (Compilers.Syntax.Interp interp_op e v).
-Proof.
- apply MapCastCorrect; auto.
- { apply is_bounded_by_interp_op. }
- { apply pull_cast_genericize_op, is_bounded_by_interp_op. }
-Qed.
-
-Lemma MapCastCorrect_eq
- {round_up}
- {t} (e : Expr t)
- {evb ev}
- (Hwf : Wf e)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- : forall {b} e' (He':MapCast round_up e input_bounds = Some (existT _ b e'))
- v v' (Hv : Bounds.is_bounded_by input_bounds v /\ cast_back_flat_const v' = v)
- (Hside : to_prop (InterpSideConditions e v))
- (Hevb : evb = Compilers.Syntax.Interp (@Bounds.interp_op) e input_bounds)
- (Hev : ev = Compilers.Syntax.Interp interp_op e v),
- evb = b
- /\ Bounds.is_bounded_by b ev
- /\ cast_back_flat_const (Compilers.Syntax.Interp interp_op e' v') = ev.
-Proof.
- intros; subst; apply MapCastCorrect; auto.
-Qed.
diff --git a/src/Compilers/Z/Bounds/MapCastByDeBruijnWf.v b/src/Compilers/Z/Bounds/MapCastByDeBruijnWf.v
deleted file mode 100644
index fabb8b2b8..000000000
--- a/src/Compilers/Z/Bounds/MapCastByDeBruijnWf.v
+++ /dev/null
@@ -1,42 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.Z.MapCastByDeBruijnWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.MapCastByDeBruijn.
-
-Definition Wf_MapCast
- {round_up}
- {t} (e : Expr t)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- {b} e' (He' : MapCast round_up e input_bounds = Some (existT _ b e'))
- (Hwf : Wf e)
- : Wf e'
- := @Wf_MapCast
- (@Bounds.interp_base_type) (@Bounds.interp_op)
- (@Bounds.bounds_to_base_type round_up)
- (fun _ _ opc _ => @genericize_op _ _ _ opc _ _ _)
- t e input_bounds b e' He' Hwf.
-
-Definition Wf_MapCast_arrow
- {round_up}
- {s d} (e : Expr (Arrow s d))
- (input_bounds : interp_flat_type Bounds.interp_base_type s)
- {b} e' (He' : MapCast round_up e input_bounds = Some (existT _ b e'))
- (Hwf : Wf e)
- : Wf e'
- := @Wf_MapCast_arrow
- (@Bounds.interp_base_type) (@Bounds.interp_op)
- (@Bounds.bounds_to_base_type round_up)
- (fun _ _ opc _ => @genericize_op _ _ _ opc _ _ _)
- s d e input_bounds b e' He' Hwf.
-
-Hint Extern 1 (Wf ?e')
-=> match goal with
- | [ He : MapCast _ _ _ = Some (existT _ _ e') |- _ ]
- => first [ refine (@Wf_MapCast _ _ _ _ _ _ He _)
- | refine (@Wf_MapCast_arrow _ _ _ _ _ _ _ He _) ]
- end : wf.
diff --git a/src/Compilers/Z/Bounds/Pipeline.v b/src/Compilers/Z/Bounds/Pipeline.v
deleted file mode 100644
index c7060ea44..000000000
--- a/src/Compilers/Z/Bounds/Pipeline.v
+++ /dev/null
@@ -1,56 +0,0 @@
-(** * Reflective Pipeline *)
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.Glue.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.ReflectiveTactics.
-Import ListNotations.
-Local Open Scope nat_scope.
-Local Open Scope list_scope.
-(** This file combines the various PHOAS modules in tactics,
- culminating in a tactic [refine_reflectively], which solves a goal of the form
-<<
-cast_back_flat_const (?x args) = f (cast_back_flat_const args)
- /\ Bounds.is_bounded_by ?bounds (?x args)
->>
-while instantiating [?x] and [?bounds] with nicely-reduced constants.
- *)
-
-Module Export Exports.
- Export Glue.Exports.
- Export ReflectiveTactics.Exports.
- Existing Instance DefaultedTypes.by_default.
-End Exports.
-
-Ltac refine_reflectively_gen allowable_bit_widths opts :=
- refine_to_reflective_glue allowable_bit_widths;
- do_reflective_pipeline opts.
-
-Ltac refine_reflectively128_with opts := refine_reflectively_gen [128; 256] opts.
-Ltac refine_reflectively64_with opts := refine_reflectively_gen [64; 128] opts.
-Ltac refine_reflectively32_with opts := refine_reflectively_gen [32; 64] opts.
-Ltac refine_reflectively128_with_bool_with opts := refine_reflectively_gen [1; 128; 256] opts.
-Ltac refine_reflectively64_with_bool_with opts := refine_reflectively_gen [1; 64; 128] opts.
-Ltac refine_reflectively32_with_bool_with opts := refine_reflectively_gen [1; 32; 64] opts.
-Ltac refine_reflectively128_with_uint8_with opts := refine_reflectively_gen [8; 128; 256] opts.
-Ltac refine_reflectively64_with_uint8_with opts := refine_reflectively_gen [8; 64; 128] opts.
-Ltac refine_reflectively32_with_uint8_with opts := refine_reflectively_gen [8; 32; 64] opts.
-Ltac refine_reflectively128 := refine_reflectively128_with default_PipelineOptions.
-Ltac refine_reflectively64 := refine_reflectively64_with default_PipelineOptions.
-Ltac refine_reflectively32 := refine_reflectively32_with default_PipelineOptions.
-Ltac refine_reflectively128_with_bool := refine_reflectively128_with_bool_with default_PipelineOptions.
-Ltac refine_reflectively64_with_bool := refine_reflectively64_with_bool_with default_PipelineOptions.
-Ltac refine_reflectively32_with_bool := refine_reflectively32_with_bool_with default_PipelineOptions.
-Ltac refine_reflectively128_with_uint8 := refine_reflectively128_with_uint8_with default_PipelineOptions.
-Ltac refine_reflectively64_with_uint8 := refine_reflectively64_with_uint8_with default_PipelineOptions.
-Ltac refine_reflectively32_with_uint8 := refine_reflectively32_with_uint8_with default_PipelineOptions.
-
-(** Convenience notations for options *)
-Definition anf := {| Pipeline.Definition.anf := true |}.
-Definition anf_without_adc_fusion := {| Pipeline.Definition.anf := true ; Pipeline.Definition.adc_fusion := false |}.
-Definition adc_fusion := {| Pipeline.Definition.adc_fusion := true |}.
-Definition default := default_PipelineOptions.
-
-(** The default *)
-Ltac refine_reflectively_with_bool_with opts := refine_reflectively64_with_bool_with opts.
-Ltac refine_reflectively_with_uint8_with opts := refine_reflectively64_with_uint8_with opts.
-Ltac refine_reflectively_with opts := refine_reflectively64_with opts.
-Ltac refine_reflectively := refine_reflectively_with default.
diff --git a/src/Compilers/Z/Bounds/Pipeline/Definition.v b/src/Compilers/Z/Bounds/Pipeline/Definition.v
deleted file mode 100644
index 435ec793e..000000000
--- a/src/Compilers/Z/Bounds/Pipeline/Definition.v
+++ /dev/null
@@ -1,285 +0,0 @@
-(** * Reflective Pipeline: Main Pipeline Definition *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.OutputType.
-(** This file contains the definitions of the assembling of the
- various transformations that are used in the pipeline. There are
- two stages to the reflective pipeline, with different
- requirements.
-
- The pre-Wf stage is intended to consist of transformations that
- make the term smaller, and, importantly, should only consist of
- transformations whose interpretation-correctness proofs do not
- require well-founded hypotheses. Generally this is the case for
- transformations whose input and output [var] types match. The
- correctness condition for this stage is that the interpretation of
- the transformed term must equal the interpretation of the original
- term, with no side-conditions.
-
- The post-Wf stage is the rest of the pipeline; its correctness
- condition must have the shape of the correctness condition for
- word-size selection. We define a record to hold the transformed
- term, so that we can get bounds and similar out of it, without
- running into issues with slowness of conversion. *)
-
-(** ** Pre-Wf Stage *)
-(** *** Pre-Wf Pipeline Imports *)
-Require Import Crypto.Compilers.Eta.
-Require Import Crypto.Compilers.EtaInterp.
-Require Import Crypto.Compilers.Linearize.
-Require Import Crypto.Compilers.LinearizeInterp.
-Require Import Crypto.Compilers.Z.ArithmeticSimplifier.
-Require Import Crypto.Compilers.Z.ArithmeticSimplifierInterp.
-
-(** *** Definition of the Pre-Wf Pipeline *)
-(** Do not change the name or the type of this definition *)
-Definition PreWfPipeline {t} (e : Expr t) : Expr _
- := ExprEta (SimplifyArith false (Linearize e)).
-
-(** *** Correctness proof of the Pre-Wf Pipeline *)
-(** Do not change the statement of this lemma. You shouldn't need to
- change it's proof, either; all of the relevant lemmas should be in
- the [reflective_interp] rewrite database. If they're not, you
- should find the file where they are defined and add them. *)
-Lemma InterpPreWfPipeline {t} (e : Expr t)
- : forall x, Interp (PreWfPipeline e) x = Interp e x.
-Proof.
- unfold PreWfPipeline; intro.
- repeat autorewrite with reflective_interp.
- reflexivity.
-Qed.
-
-
-
-(** ** Post-Wf Stage *)
-(** *** Post-Wf Pipeline Imports *)
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.EtaWf.
-Require Import Crypto.Compilers.Z.Inline.
-Require Import Crypto.Compilers.Z.InlineInterp.
-Require Import Crypto.Compilers.Z.InlineWf.
-Require Import Crypto.Compilers.Linearize.
-Require Import Crypto.Compilers.LinearizeInterp.
-Require Import Crypto.Compilers.LinearizeWf.
-(*Require Import Crypto.Compilers.Z.CommonSubexpressionElimination.
-Require Import Crypto.Compilers.Z.CommonSubexpressionEliminationInterp.
-Require Import Crypto.Compilers.Z.CommonSubexpressionEliminationWf.*)
-Require Import Crypto.Compilers.Z.ArithmeticSimplifierWf.
-Require Import Crypto.Compilers.Z.RewriteAddToAdc.
-Require Import Crypto.Compilers.Z.RewriteAddToAdcWf.
-Require Import Crypto.Compilers.Z.RewriteAddToAdcInterp.
-Require Import Crypto.Compilers.Z.Bounds.MapCastByDeBruijn.
-Require Import Crypto.Compilers.Z.Bounds.MapCastByDeBruijnInterp.
-Require Import Crypto.Compilers.Z.Bounds.MapCastByDeBruijnWf.
-Require Import Crypto.Util.Sigma.MapProjections.
-Require Import Crypto.Util.DefaultedTypes.
-
-(** *** Definition of the Post-Wf Pipeline *)
-(** We define the record that holds various options to customize the
- pipeline. *)
-Record PipelineOptions :=
- {
- anf : with_default bool false;
- adc_fusion : with_default bool true;
- }.
-Definition default_PipelineOptions := {| anf := _ |}.
-
-(** Do not change the name or the type of these two definitions *)
-(** The definition [PostWfPreBoundsPipeline] is for the part of the
- pipeline that comes before [MapCast]; it must preserve the type of
- the expression. *)
-Definition PostWfPreBoundsPipeline
- (opts : PipelineOptions)
- {t} (e : Expr t)
- : Expr t
- := let e := InlineConst e in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := InlineConst (Linearize (SimplifyArith false e)) in
- let e := if opts.(anf) then InlineConst (ANormal e) else e in
- let e := if opts.(adc_fusion) then RewriteAdc e else e in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := if opts.(anf) then InlineConstAndOpp (ANormal e) else e in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
- (*let e := CSE false e in*)
- e.
-(** The definition [PostWfBoundsPipeline] is for the part of the
- pipeline that begins with [MapCast]. *)
-Definition PostWfBoundsPipeline
- round_up
- (opts : PipelineOptions)
- {t} (e0 : Expr t)
- (e : Expr t)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- : option (@ProcessedReflectivePackage round_up)
- := Build_ProcessedReflectivePackage_from_option_sigma
- e0 input_bounds
- (let e := MapCast _ e input_bounds in
- option_map
- (projT2_map
- (fun b e'
- => let e' := InlineConst e' in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := InlineConst (Linearize (SimplifyArith false e')) in
- let e' := if opts.(anf) then InlineConst (ANormal e') else e' in
- let e' := ExprEta e' in
- e'))
- e).
-
-(** *** Correctness proof of the Post-Wf Pipeline *)
-(** Do not change the statement of this lemma. *)
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.InterpSideConditions.
-Require Import Crypto.Compilers.InterpRewriting.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.HProp.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.PointedProp.
-
-Section with_round_up_list.
- Context {allowable_lgsz : list nat}.
-
- Local Notation pick_typeb := (@Bounds.bounds_to_base_type (Bounds.round_up_to_in_list allowable_lgsz)) (only parsing).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Local Opaque to_prop InterpSideConditions.
-
- Definition PostWfPreBoundsPipelineCorrect
- opts
- {t}
- (e : Expr t)
- (Hwf : Wf e)
- (e' := PostWfPreBoundsPipeline opts e)
- : (forall v, Interp e' v = Interp e v) /\ Wf e'.
- Proof using Type.
- (** These first two lines probably shouldn't change much *)
- unfold PostWfPreBoundsPipeline in *; subst e'.
- break_match_hyps.
- (** Now handle all the transformations that come before the word-size selection *)
- rewrite_reflective_interp_cached.
- split; intros; finish_rewrite_reflective_interp_cached; auto.
- Qed.
-
- Definition PostWfBoundsPipelineCorrect
- opts
- {t}
- (e0 : Expr t)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- (e : Expr t)
- (Hwf : Wf e)
- {b e'} (He' : PostWfBoundsPipeline _ opts e0 e input_bounds
- = Some {| input_expr := e0 ; input_bounds := input_bounds ; output_bounds := b ; output_expr := e' |})
- (v : interp_flat_type Syntax.interp_base_type (domain t))
- (v' : interp_flat_type Syntax.interp_base_type (pick_type input_bounds))
- (Hv : Bounds.is_bounded_by input_bounds v /\ cast_back_flat_const v' = v)
- (Hside : to_prop (InterpSideConditions e v))
- : Bounds.is_bounded_by b (Interp e v)
- /\ cast_back_flat_const (Interp e' v') = Interp e v.
- Proof using Type.
- (** These first two lines probably shouldn't change much *)
- unfold PostWfBoundsPipeline, Build_ProcessedReflectivePackage_from_option_sigma, option_map, projT2_map in *.
- repeat (break_match_hyps || inversion_option || inversion_ProcessedReflectivePackage
- || inversion_sigma || eliminate_hprop_eq || inversion_prod
- || simpl in * || subst).
- (** Now handle all the transformations that come after the word-size selection *)
- all:rewrite_reflective_interp_cached.
- (** Now handle word-size selection *)
- all:(eapply MapCastCorrect_eq; [ | eassumption | eassumption | assumption | .. ];
- [ solve_wf_side_condition | reflexivity | ]).
- all:reflexivity.
- Qed.
-
- Definition PostWfPipelineCorrect
- opts
- {t}
- (e : Expr t)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- (Hwf : Wf e)
- (e' := PostWfPreBoundsPipeline opts e)
- {b e''} (He' : PostWfBoundsPipeline _ opts e e' input_bounds
- = Some {| input_expr := e ; input_bounds := input_bounds ; output_bounds := b ; output_expr := e'' |})
- (v : interp_flat_type Syntax.interp_base_type (domain t))
- (v' : interp_flat_type Syntax.interp_base_type (pick_type input_bounds))
- (Hv : Bounds.is_bounded_by input_bounds v /\ cast_back_flat_const v' = v)
- (Hside : to_prop (InterpSideConditions e' v))
- : Bounds.is_bounded_by b (Interp e v)
- /\ cast_back_flat_const (Interp e'' v') = Interp e v.
- Proof.
- rewrite <- (proj1 (PostWfPreBoundsPipelineCorrect opts e Hwf)) by assumption.
- eapply PostWfBoundsPipelineCorrect; eauto.
- apply PostWfPreBoundsPipelineCorrect; assumption.
- Qed.
-End with_round_up_list.
-
-(** ** Constant Simplification and Unfolding *)
-(** The reflective pipeline may introduce constants that you want to
- unfold before instantiating the refined term; you can control that
- here. A number of reflection-specific constants are always
- unfolded (in ReflectiveTactics.v). Currently, we also reduce
- expressions of the form [wordToZ (ZToWord Z_literal)], as
- specified here. *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import bbv.WordScope.
-
-Module Export Exports. (* export unfolding strategy *)
- (* iota is probably (hopefully?) the cheapest reduction.
- Unfortunately, we can't say no-op here. This is meant to be
- extended. *)
- Declare Reduction extra_interp_red := cbv iota.
-
- (** Overload this to change reduction behavior of constants of the
- form [wordToZ (ZToWord Z_literal)]. You might want to set this
- to false if your term is very large, to speed things up. *)
- Ltac do_constant_simplification := constr:(true).
-
- Global Arguments ZToWord !_ !_ / .
- Global Arguments wordToZ !_ !_ / .
- Global Arguments word_case_dep _ !_ _ _ _ _ / .
- Global Arguments ZToWord32 !_ / .
- Global Arguments ZToWord64 !_ / .
- Global Arguments ZToWord128 !_ / .
- Global Arguments ZToWord_gen !_ !_ / .
- Global Arguments word32ToZ !_ / .
- Global Arguments word64ToZ !_ / .
- Global Arguments word128ToZ !_ / .
- Global Arguments wordToZ_gen !_ !_ / .
- Global Arguments Z.to_N !_ / .
- Global Arguments Z.of_N !_ / .
- Global Arguments Word.NToWord !_ !_ / .
- Global Arguments Word.wordToN !_ !_ / .
- Global Arguments Word.posToWord !_ !_ / .
- Global Arguments N.succ_double !_ / .
- Global Arguments Word.wzero' !_ / .
- Global Arguments N.double !_ .
- Global Arguments Nat.pow !_ !_ / .
- Global Arguments Nat.mul !_ !_ / .
- Global Arguments Nat.add !_ !_ / .
-
- Declare Reduction constant_simplification := cbn [FixedWordSizes.wordToZ FixedWordSizes.ZToWord word_case_dep ZToWord32 ZToWord64 ZToWord128 ZToWord_gen word32ToZ word64ToZ word128ToZ wordToZ_gen Word.NToWord Word.wordToN Word.posToWord Word.wzero' Z.to_N Z.of_N N.succ_double N.double Nat.pow Nat.mul Nat.add].
-End Exports.
diff --git a/src/Compilers/Z/Bounds/Pipeline/Glue.v b/src/Compilers/Z/Bounds/Pipeline/Glue.v
deleted file mode 100644
index ed9abf9a6..000000000
--- a/src/Compilers/Z/Bounds/Pipeline/Glue.v
+++ /dev/null
@@ -1,550 +0,0 @@
-(** * Reflective Pipeline: Glue Code *)
-(** This file defines the tactics that transform a non-reflective goal
- into a goal the that the reflective machinery can handle. *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Reify.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Reify.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Util.Tactics.Head.
-Require Import Crypto.Util.Curry.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import Crypto.Util.BoundedWord.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.Sigma.Associativity.
-Require Import Crypto.Util.Sigma.MapProjections.
-Require Import Crypto.Util.Logic.ImplAnd.
-Require Import Crypto.Util.Tactics.EvarExists.
-Require Import Crypto.Util.Tactics.GetGoal.
-Require Import Crypto.Util.Tactics.PrintContext.
-Require Import Crypto.Util.Tactics.MoveLetIn.
-Require Import Crypto.Util.Tactics.ClearAll.
-Require Import Crypto.Util.Tactics.ClearbodyAll.
-
-Module Export Exports.
- Export Crypto.Compilers.Z.Reify. (* export for the tactic redefinitions *)
-End Exports.
-
-(** ** [reassoc_sig_and_eexists] *)
-(** The [reassoc_sig_and_eexists] tactic operates on a goal convertible with
-<<
-{ f : { a | is_bounded_by bounds a }
-| BoundedWordToZ f = rexprZ (BoundedWordToZ a) ... (BoundedWordToZ z) }
->>
- and leaves a goal of the form
-<<
-is_bounded_by bounds (map wordToZ ?f)
- /\ map wordToZ ?f = rexprZ (map wordToZ (proj1_sig a)) ... (map wordToZ (proj1_sig z))
->>
- where [?f] is a context variable set to a new evar. This tactic
- relies on the exact definition of [BoundedWordToZ]. *)
-
-
-(** The tactic [unfold_paired_tuple_map] unfolds any [Tuple.map]s
- applied to [pair]s. *)
-Ltac unfold_paired_tuple_map :=
- repeat match goal with
- | [ |- context[Tuple.map (n:=S ?N) _ (pair _ _)] ]
- => progress change (@Tuple.map (S N)) with (fun A B f => @Tuple.map' A B f N); cbv beta iota delta [Tuple.map']
- end.
-(** The tactic [change_to_reified_type f] reifies the type of a
- context variable [f] and changes [f] to the interpretation of that
- type. *)
-Ltac change_to_reified_type f :=
- let T := type of f in
- let cT := (eval compute in T) in
- let rT := reify_type cT in
- change (interp_type Syntax.interp_base_type rT) in (type of f).
-
-(** The tactic [goal_dlet_to_context_curried] moves to the
- context any [dlet x := y in ...] in the goal, curries each such
- moved definition, and then reifies the type of each such context
- variable. *)
-Ltac goal_dlet_to_context_curried :=
- lazymatch goal with
- | [ |- context[@Let_In ?A ?B ?x _] ]
- => let f := fresh in
- goal_dlet_to_context_step f;
- change_with_curried f;
- change_to_reified_type f;
- goal_dlet_to_context_curried
- | _ => idtac
- end.
-(** The tactic [preunfold_and_dlet_to_context] will unfold
- [BoundedWordToZ] and [Tuple.map]s applied to [pair]s, and then
- look for a [dlet x := y in ...] in the RHS of a goal of shape [{a
- | LHS = RHS }] and replace it with a context variable. *)
-Ltac preunfold_and_dlet_to_context _ :=
- unfold_paired_tuple_map;
- cbv [BoundedWordToZ]; cbn [fst snd proj1_sig];
- goal_dlet_to_context_curried.
-(** The tactic [pattern_proj1_sig_in_lhs_of_sig] takes a goal of the form
-<<
-{ a : A | P }
->>
- where [A] is a sigma type, and leaves a goal of the form
-<<
-{ a : A | dlet p := P' in p (proj1_sig a)
->>
- where all occurrences of [proj1_sig a] have been abstracted out of
- [P] to make [P']. *)
-Ltac pattern_proj1_sig_in_sig :=
- eapply proj2_sig_map;
- [ let a := fresh in
- let H := fresh in
- intros a H;
- lazymatch goal with
- | [ |- context[@proj1_sig ?A ?P a] ]
- => pattern (@proj1_sig A P a)
- end;
- lazymatch goal with
- | [ |- ?P ?p1a ]
- => cut (dlet p := P in p p1a);
- [ repeat (clear_all; clearbody_all);
- abstract (cbv [Let_In]; exact (fun x => x)) | ]
- end;
- exact H
- | cbv beta ].
-(** The tactic [pattern_sig_sig_assoc] takes a goal of the form
-<<
-{ a : { a' : A | P } | Q }
->>
- where [Q] mentions [proj1_sig a] but not [proj2_sig a], and leaves
- a goal of the form
-<<
-{ a : A | P /\ Q }
->>
- *)
-Ltac pattern_sig_sig_assoc :=
- pattern_proj1_sig_in_sig;
- let f := fresh in
- goal_dlet_to_context_step f;
- apply sig_sig_assoc;
- subst f; cbv beta.
-(** The tactic [reassoc_sig_and_eexists] will take a goal either of the form
-<<
-{ a : { a' : A | P a' } | Q (proj1_sig a) }
->>
- where [Q] mentions [proj1_sig a] but not [proj2_sig a], and leave
- a goal of the form
-<<
-P ?a /\ Q ?a
->>
-
- The tactic [maybe_reassoc_sig_and_eexists] also supports goals that
- don't need to be reassociated.
- *)
-Ltac reassoc_sig_and_eexists :=
- pattern_sig_sig_assoc;
- evar_exists.
-Ltac maybe_reassoc_sig_and_eexists _ :=
- lazymatch goal with
- | [ |- { a : ?T | _ } ]
- => lazymatch (eval hnf in T) with
- | { a' | _ }
- => reassoc_sig_and_eexists
- | _ => evar_exists
- end
- end.
-
-(** ** [intros_under_and] *)
-(** The [intros_under_and] tactic takes a goal of the form
-<<
-(A -> B -> ... -> Y -> Z) /\ (A -> B -> ... -> Y -> Z')
->>
- and turns it into a goal of the form
-<<
-Z /\ Z'
->>
- where [A], [B], ..., [Y] have been introduced into the context. *)
-Ltac intros_under_and _ :=
- repeat (apply (proj1 impl_and_iff); intro); intros.
-
-(** ** [do_curry_rhs] *)
-(** The [do_curry_rhs] tactic takes a goal of the form
-<<
-_ /\ _ = F A B ... Z
->>
- and turns it into a goal of the form
-<<
-_ /\ _ = F' (A, B, ..., Z)
->>
- *)
-Ltac do_curry_rhs _ :=
- lazymatch goal with
- | [ |- _ /\ _ = ?f_Z ]
- => let f_Z := head f_Z in
- change_with_curried f_Z
- end.
-
-(** ** [split_BoundedWordToZ] *)
-(** The [split_BoundedWordToZ] tactic takes a goal of the form
-<<
-_ /\ (map wordToZ (proj1_sig f1), ... map wordToZ (proj1_sig fn)) = F ARGS
->>
- and splits [f1] ... [fn] and any arguments in ARGS into two
- parts, one part about the computational behavior, and another part
- about the boundedness.
-
- This pipeline relies on the specific definition of
- [BoundedWordToZ], and requires [f] to be a context variable which
- is set to a single evar. *)
-(** First we ensure the goal has the right shape, and give helpful
- error messages if it does not *)
-Ltac check_fW_type descr top_fW fW :=
- lazymatch fW with
- | fst ?fW => check_fW_type descr top_fW fW
- | snd ?fW => check_fW_type descr top_fW fW
- | _ => let G := get_goal in
- let shape := uconstr:(Tuple.map wordToZ ?fW) in
- let efW := uconstr:(?fW) in
- first [ is_var fW
- | fail 1 "In the goal" G
- descr shape
- "where" efW "must be a repeated application of fst and snd"
- "to a single context variable which is defined to be an evar."
- "The term" top_fW "is based on" fW "which is not a variable" ];
- match goal with
- | [ fW' := ?e |- _ ]
- => constr_eq fW' fW;
- first [ is_evar e
- | fail 2 "In the goal" G
- descr shape
- "where" efW "must be a repeated application of fst and snd"
- "to a single context variable which is defined to be an evar."
- "The term" top_fW "is based on" fW' "which is a context variable"
- "with body" e "which is not a bare evar" ]
- | [ fW' : _ |- _ ]
- => constr_eq fW fW';
- fail 1 "In the goal" G
- descr shape
- "where" efW "must be a repeated application of fst and snd"
- "to a single context variable which is defined to be an evar."
- "The term" top_fW "is based on" fW' "which is a context variable without a body"
- | _ => fail 1 "In the goal" G
- descr shape
- "where" efW "must be a repeated application of fst and snd"
- "to a single context variable which is defined to be an evar."
- "The term" top_fW "is based on" fW "which is not a context variable"
- end
- end.
-Tactic Notation "check_fW_type" string(descr) constr(fW)
- := check_fW_type descr fW fW.
-Ltac check_is_map_wordToZ lvl descr top_subterm subterm :=
- lazymatch subterm with
- | wordToZ => idtac
- | Tuple.map ?f => check_is_map_wordToZ lvl descr top_subterm f
- | _ => let map_shape := uconstr:(Tuple.map) in
- let wordToZ_shape := uconstr:(wordToZ) in
- fail lvl descr
- "which are a repeated application of" map_shape "to" wordToZ_shape
- "but in the subterm" top_subterm "the function" subterm
- "was found, which is not of this form"
- end.
-Tactic Notation "check_is_map_wordToZ" int_or_var(lvl) string(descr) constr(term)
- := check_is_map_wordToZ lvl descr term term.
-
-Ltac check_is_bounded_by_shape subterm_type :=
- lazymatch subterm_type with
- | ZRange.is_bounded_by None ?bounds (Tuple.map wordToZ ?fW)
- => check_fW_type "The ℤ argument to is_bounded_by must have the shape" fW
- | ?A /\ ?B
- => check_is_bounded_by_shape A;
- check_is_bounded_by_shape B
- | _ => let G := get_goal in
- let shape := uconstr:(ZRange.is_bounded_by None ?bounds (Tuple.map wordToZ ?fW)) in
- fail "In the goal" G
- "The first conjunct of the goal is expected to be a conjunction of things of the shape" shape
- "but a subterm not matching this shape was found:" subterm_type
- end.
-Ltac check_LHS_Z_shape subterm :=
- lazymatch subterm with
- | Tuple.map ?f ?fW
- => check_is_map_wordToZ 0 "The left-hand side of the second conjunct of the goal must be a tuple of terms" f;
- check_fW_type "The left-hand side of the second conjunct of the goal must be a tuple of terms with shape" fW
- | (?A, ?B)
- => check_LHS_Z_shape A;
- check_LHS_Z_shape B
- | _ => let G := get_goal in
- let shape := uconstr:(Tuple.map wordToZ ?fW) in
- let ef := uconstr:(?f) in
- let shape' := uconstr:(Tuple.map ?f ?fW) in
- let map_shape := uconstr:(Tuple.map) in
- let wordToZ_shape := uconstr:(wordToZ) in
- fail "In the goal" G
- "The second conjunct of the goal is expected to be a equality whose"
- "left-hand side is a tuple of terms of the shape" shape
- "or" shape' "where" ef "is a repeated application of" map_shape "to" wordToZ_shape
- "but a subterm not matching this shape was found:" subterm
- end.
-Ltac check_RHS_Z_shape_rec subterm :=
- lazymatch subterm with
- | Tuple.map ?f ?fW
- => check_is_map_wordToZ
- 0
- "The second conjunct of the goal is expected to be a equality whose right-hand side is the application of a function to a tuple of terms" f
- | (?A, ?B)
- => check_RHS_Z_shape_rec A;
- check_RHS_Z_shape_rec B
- | _ => let G := get_goal in
- let shape := uconstr:(Tuple.map wordToZ ?fW) in
- let ef := uconstr:(?f) in
- let shape' := uconstr:(Tuple.map ?f ?fW) in
- let map_shape := uconstr:(Tuple.map) in
- let wordToZ_shape := uconstr:(wordToZ) in
- fail "In the goal" G
- "The second conjunct of the goal is expected to be a equality whose"
- "right-hand side is the application of a function to a tuple of terms of the shape" shape
- "or" shape' "where" ef "is a repeated application of" map_shape "to" wordToZ_shape
- "but a subterm not matching this shape was found:" subterm
- end.
-Ltac check_RHS_Z_shape RHS :=
- lazymatch RHS with
- | ?f ?args
- => let G := get_goal in
- first [ is_var f
- | fail 1 "In the goal" G
- "The second conjunct of the goal is expected to be a equality whose"
- "right-hand side is the application of a single context-variable to a tuple"
- "but the right-hand side is" RHS
- "which is an application of something which is not a context variable:" f ];
- check_RHS_Z_shape_rec args
- | _ => let G := get_goal in
- let shape := uconstr:(Tuple.map wordToZ ?fW) in
- let ef := uconstr:(?f) in
- let shape' := uconstr:(Tuple.map ?f ?fW) in
- let map_shape := uconstr:(Tuple.map) in
- let wordToZ_shape := uconstr:(wordToZ) in
- fail "In the goal" G
- "The second conjunct of the goal is expected to be a equality whose"
- "right-hand side is the application of a function to a tuple of terms of the shape" shape
- "or" shape' "where" ef "is a repeated application of" map_shape "to" wordToZ_shape
- "but the right-hand side is not a function application:" RHS
- end.
-Ltac check_precondition _ :=
- lazymatch goal with
- | [ |- ?is_bounded_by /\ ?LHS = ?RHS ]
- => check_is_bounded_by_shape is_bounded_by;
- check_LHS_Z_shape LHS;
- check_RHS_Z_shape RHS
- | [ |- ?G ]
- => let shape := uconstr:(?is_bounded /\ ?LHS = ?RHS) in
- fail "The goal has the wrong shape for reflective gluing; expected" shape "but found" G
- end.
-Ltac split_BoundedWordToZ _ :=
- (** first revert the context definition which is an evar named [f]
- in the docs above, so that it becomes evar 1 (for
- [instantiate]), and so that [make_evar_for_first_projection]
- works. It's not the most robust way to find the right term;
- maybe we should modify some of the checks above to assert that
- the evar found is a particular one? *)
- check_precondition ();
- lazymatch goal with
- | [ |- _ /\ ?LHS = _ ]
- => match goal with
- | [ f := ?e |- _ ]
- => is_evar e; match LHS with context[f] => idtac end;
- revert f
- end
- end;
- let destruct_sig x :=
- is_var x;
- first [ clearbody x; fail 1
- | (** we want to keep the same context variable in the
- evar that we reverted above, and in the current
- goal; hence the instantiate trick *)
- instantiate (1:=ltac:(destruct x)); destruct x ] in
- let destruct_pair x :=
- is_var x;
- first [ clearbody x; fail 1
- | (** we want to keep the same context variable in the
- evar that we reverted above, and in the current
- goal; hence the instantiate trick *)
- change (fst x) with (let (a, b) := x in a) in *;
- change (snd x) with (let (a, b) := x in b) in *;
- instantiate (1:=ltac:(destruct x)); destruct x ];
- (cbv beta iota) in
- let destruct_sig_or_pair v :=
- match v with
- | context[proj1_sig ?x] => destruct_sig x
- | context[fst ?x] => destruct_pair x
- | context[snd ?x] => destruct_pair x
- end in
- repeat match goal with
- | [ |- context[Tuple.map ?f ?v] ]
- => check_is_map_wordToZ 0 "DEBUG" f; destruct_sig_or_pair v
- | [ H := context[Tuple.map ?f ?v] |- _ ]
- => check_is_map_wordToZ 0 "DEBUG" f; destruct_sig_or_pair v
- | [ H : context[Tuple.map ?f ?v] |- _ ]
- => check_is_map_wordToZ 0 "DEBUG" f; destruct_sig_or_pair v
- | [ H : _ /\ _ |- _ ]
- => destruct H
- end;
- cbv beta iota in *; intro; (* put [f] back in the context so that [cbn] doesn't remove this let-in *)
- cbn [proj1_sig] in *.
-
-(** ** [zrange_to_reflective] *)
-(** The [zrange_to_reflective] tactic takes a goal of the form
-<<
-(is_bounded_by _ bounds (map wordToZ (?fW args)) /\ ...)
- /\ (map wordToZ (?fW args), ...) = fZ argsZ
->>
- and uses [cut] and a small lemma to turn it into a goal that the
- reflective machinery can handle. The goal left by this tactic
- should be fully solvable by the reflective pipeline. *)
-
-Lemma adjust_goal_for_reflective {T P} (LHS RHS : T)
- : P RHS /\ LHS = RHS -> P LHS /\ LHS = RHS.
-Proof. intros [? ?]; subst; tauto. Qed.
-Ltac adjust_goal_for_reflective := apply adjust_goal_for_reflective.
-Ltac unmap_wordToZ_tuple term :=
- lazymatch term with
- | (?x, ?y) => let x' := unmap_wordToZ_tuple x in
- let y' := unmap_wordToZ_tuple y in
- constr:((x', y'))
- | Tuple.map ?f ?x
- => let dummy := match goal with
- | _ => check_is_map_wordToZ 1 "In unmap_wordToZ_tuple, expected terms" f
- end in
- x
- end.
-Ltac bounds_from_is_bounded_by T :=
- lazymatch T with
- | ?A /\ ?B => let a := bounds_from_is_bounded_by A in
- let b := bounds_from_is_bounded_by B in
- constr:((a, b))
- | ZRange.is_bounded_by _ ?bounds _
- => bounds
- end.
-Ltac pose_proof_bounded_from_Zargs_hyps Zargs H :=
- lazymatch Zargs with
- | (?a, ?b)
- => let Ha := fresh in
- let Hb := fresh in
- pose_proof_bounded_from_Zargs_hyps a Ha;
- pose_proof_bounded_from_Zargs_hyps b Hb;
- let pf := constr:(conj Ha Hb) in
- lazymatch type of pf with
- | @Bounds.is_bounded_by ?A ?boundsA (@cast_back_flat_const ?var ?tA ?f ?VA ?argsA)
- /\ @Bounds.is_bounded_by ?B ?boundsB (@cast_back_flat_const ?var ?tB ?f ?VB ?argsB)
- => pose proof
- ((pf : @Bounds.is_bounded_by
- (Prod A B) (boundsA, boundsB)
- (@cast_back_flat_const var (Prod tA tB) f (VA, VB) (argsA, argsB))))
- as H;
- clear Ha Hb
- | ?pfT
- => let shape
- := uconstr:(@Bounds.is_bounded_by ?A ?boundsA (@cast_back_flat_const ?var ?tA ?f ?VA ?argsA)
- /\ @Bounds.is_bounded_by ?B ?boundsB (@cast_back_flat_const ?var ?tB ?f ?VB ?argsB)) in
- fail 1 "Returned value from recursive call of bounded_from_Zargs_hyps has the wrong type"
- "Cannot match type" pfT
- "with shape" shape
- end
- | Tuple.map ?f ?arg
- => first [ check_is_map_wordToZ 0 "DEBUG" f
- | let G := get_goal in
- idtac "In the context:"; print_context ();
- idtac "In the goal:" G;
- idtac "When looking for bounds for" Zargs;
- check_is_map_wordToZ 1 "Expected a map of a function" f ];
- pose_proof_bounded_from_Zargs_hyps arg H
- | ?arg =>
- lazymatch goal with
- | [ H' : Bounds.is_bounded_by ?bounds (cast_back_flat_const arg) |- _ ]
- => rename H' into H
- | _ => let shape := uconstr:(Bounds.is_bounded_by _ (cast_back_flat_const arg)) in
- idtac "In the context:"; print_context ();
- fail 1 "Could not find bounds in the context for" arg
- "when looking for a hypothesis of shape" shape
- end
- end.
-Ltac find_reified_f_evar LHS :=
- lazymatch LHS with
- | fst ?x => find_reified_f_evar x
- | snd ?x => find_reified_f_evar x
- | (?x, _) => find_reified_f_evar x
- | map ?f ?x
- => let dummy := match goal with
- | _ => check_is_map_wordToZ 1 "In find_reified_f_evar, expected terms" f
- end in
- find_reified_f_evar x
- | _ => LHS
- end.
-Ltac zrange_to_reflective_hyps_step_gen then_tac round_up :=
- lazymatch goal with
- | [ H : @ZRange.is_bounded_by ?option_bit_width ?count ?bounds (Tuple.map wordToZ ?arg) |- _ ]
- => let rT := constr:(Syntax.tuple (Tbase TZ) count) in
- let is_bounded_by' := constr:(@Bounds.is_bounded_by rT) in
- let map' := constr:(@cast_back_flat_const (@Bounds.interp_base_type) rT (@Bounds.bounds_to_base_type round_up) bounds) in
- (* we use [assert] and [abstract] rather than [change] to catch
- inefficiencies in conversion early, rather than allowing
- [Defined] to take forever *)
- let H' := fresh H in
- rename H into H';
- assert (H : is_bounded_by' bounds (map' arg)) by (clear -H'; abstract exact H');
- clear H'; move H at top;
- then_tac ()
- | _ => idtac
- end.
-Ltac zrange_to_reflective_hyps_step := zrange_to_reflective_hyps_step_gen ltac:(fun _ => idtac).
-Ltac zrange_to_reflective_hyps round_up := zrange_to_reflective_hyps_step_gen ltac:(fun _ => zrange_to_reflective_hyps round_up) round_up.
-Ltac zrange_to_reflective_goal round_up Hbounded :=
- lazymatch goal with
- | [ |- ?is_bounded_by_T /\ ?LHS = ?f ?Zargs ]
- => let T := type of f in
- let f_domain := lazymatch (eval hnf in T) with ?A -> ?B => A end in
- let T := (eval compute in T) in
- let rT := reify_type T in
- let is_bounded_by' := constr:(@Bounds.is_bounded_by (codomain rT)) in
- let output_bounds := bounds_from_is_bounded_by is_bounded_by_T in
- pose_proof_bounded_from_Zargs_hyps Zargs Hbounded;
- let input_bounds := lazymatch type of Hbounded with Bounds.is_bounded_by ?bounds _ => bounds end in
- let map_t := constr:(fun t bs => @cast_back_flat_const (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) bs) in
- let map_output := constr:(map_t (codomain rT) output_bounds) in
- let map_input := constr:(map_t (domain rT) input_bounds) in
- let args := unmap_wordToZ_tuple Zargs in
- let reified_f_evar := find_reified_f_evar LHS in
- let mapped_output := constr:(map_output reified_f_evar) in
- let conjunct1 := constr:(is_bounded_by' output_bounds mapped_output) in
- let conjunct2_rhs := constr:(f (map_input args)) in
- let conjunct2 := constr:(mapped_output = conjunct2_rhs) in
- (* we use [cut] and [abstract] rather than [change] to catch
- inefficiencies in conversion early, rather than allowing
- [Defined] to take forever *)
- cut (conjunct1 /\ conjunct2);
- [ generalize reified_f_evar; clear; clearbody f; clear; let x := fresh in intros ? x; abstract exact x
- | ];
- cbv beta
- end;
- adjust_goal_for_reflective.
-Ltac zrange_to_reflective round_up Hbounded :=
- zrange_to_reflective_hyps round_up; zrange_to_reflective_goal round_up Hbounded.
-
-
-(** ** [round_up_from_allowable_bit_widths] *)
-(** Construct a valid [round_up] function from allowable bit-widths *)
-Ltac round_up_from_allowable_bit_widths allowable_bit_widths :=
- let allowable_lgsz := (eval compute in (List.map Nat.log2 allowable_bit_widths)) in
- constr:(Bounds.round_up_to_in_list allowable_lgsz).
-
-(** ** [refine_to_reflective_glue] *)
-(** The tactic [refine_to_reflective_glue] is the public-facing one;
- it takes a goal of the form
-<<
-BoundedWordToZ ?f = F (BoundedWordToZ A) (BoundedWordToZ B) ... (BoundedWordToZ Z)
->>
- where [?f] is an evar, and turns it into a goal the that
- reflective automation pipeline can handle. *)
-Ltac refine_to_reflective_glue' allowable_bit_widths Hbounded :=
- let round_up := round_up_from_allowable_bit_widths allowable_bit_widths in
- preunfold_and_dlet_to_context ();
- maybe_reassoc_sig_and_eexists ();
- intros_under_and ();
- do_curry_rhs ();
- split_BoundedWordToZ ();
- zrange_to_reflective round_up Hbounded.
-Ltac refine_to_reflective_glue allowable_bit_widths :=
- let Hbounded := fresh "Hbounded" in
- refine_to_reflective_glue' allowable_bit_widths Hbounded.
diff --git a/src/Compilers/Z/Bounds/Pipeline/OutputType.v b/src/Compilers/Z/Bounds/Pipeline/OutputType.v
deleted file mode 100644
index 028dd23a9..000000000
--- a/src/Compilers/Z/Bounds/Pipeline/OutputType.v
+++ /dev/null
@@ -1,52 +0,0 @@
-(** * Definition of the output type of the post-Wf pipeline *)
-(** Do not change these definitions unless you're hacking on the
- entire reflective pipeline tactic automation. *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Util.Sigma.
-Require Import Crypto.Util.Prod.
-
-Section with_round_up_list.
- Context {allowable_lgsz : list nat}.
-
- Local Notation pick_typeb := (@Bounds.bounds_to_base_type (Bounds.round_up_to_in_list allowable_lgsz)) (only parsing).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
-
- Record ProcessedReflectivePackage
- := { InputType : _;
- input_expr : Expr InputType;
- input_bounds : interp_flat_type Bounds.interp_base_type (domain InputType);
- output_bounds :> interp_flat_type Bounds.interp_base_type (codomain InputType);
- output_expr :> Expr (Arrow (pick_type input_bounds) (pick_type output_bounds)) }.
-
- Definition Build_ProcessedReflectivePackage_from_option_sigma
- {t} (e : Expr t)
- (input_bounds : interp_flat_type Bounds.interp_base_type (domain t))
- (result : option { output_bounds : interp_flat_type Bounds.interp_base_type (codomain t)
- & Expr (Arrow (pick_type input_bounds) (pick_type output_bounds)) })
- : option ProcessedReflectivePackage
- := option_map
- (fun be
- => let 'existT b e' := be in
- {| InputType := t ; input_expr := e ; input_bounds := input_bounds ; output_bounds := b ; output_expr := e' |})
- result.
-
- Definition ProcessedReflectivePackage_to_sigT (x : ProcessedReflectivePackage)
- : { InputType : _
- & Expr InputType
- * { bounds : interp_flat_type Bounds.interp_base_type (domain InputType)
- * interp_flat_type Bounds.interp_base_type (codomain InputType)
- & Expr (Arrow (pick_type (fst bounds)) (pick_type (snd bounds))) } }%type
- := let (a, b, c, d, e) := x in
- existT _ a (b, (existT _ (c, d) e)).
-End with_round_up_list.
-
-Ltac inversion_ProcessedReflectivePackage :=
- repeat match goal with
- | [ H : _ = _ :> ProcessedReflectivePackage |- _ ]
- => apply (f_equal ProcessedReflectivePackage_to_sigT) in H;
- cbv [ProcessedReflectivePackage_to_sigT] in H
- end;
- inversion_sigma; inversion_prod.
diff --git a/src/Compilers/Z/Bounds/Pipeline/ReflectiveTactics.v b/src/Compilers/Z/Bounds/Pipeline/ReflectiveTactics.v
deleted file mode 100644
index 9193ea17f..000000000
--- a/src/Compilers/Z/Bounds/Pipeline/ReflectiveTactics.v
+++ /dev/null
@@ -1,362 +0,0 @@
-(** * Reflective Pipeline: Tactics that execute the pipeline *)
-(** N.B. This file should not need to be changed in normal
- modifications of the reflective transformations; to modify the
- transformations performed in the reflective pipeline; see
- Pipeline/Definition.v. If the input format of the pre-reflective
- goal changes, prefer adding complexity to Pipeline/Glue.v to
- transform the goal and hypotheses into a uniform syntax to
- modifying this file. This file will need to be modified if you
- perform heavy changes in the shape of the generic or ℤ-specific
- reflective machinery itself, or if you find bugs or slowness. *)
-(** ** Preamble *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Intros.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfReflective.
-Require Import Crypto.Compilers.RenameBinders.
-Require Import Crypto.Compilers.Eta.
-Require Import Crypto.Compilers.EtaInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.Relax.
-Require Import Crypto.Compilers.Reify.
-Require Import Crypto.Compilers.Z.Reify.
-Require Import Crypto.Compilers.InterpSideConditions.
-Require Import Crypto.Compilers.Z.InterpSideConditions.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.Definition.
-Require Import Crypto.Util.Tactics.Head.
-Require Import Crypto.Util.Tactics.SubstLet.
-Require Import Crypto.Util.Tactics.UnfoldArg.
-Require Import Crypto.Util.Tactics.UnifyAbstractReflexivity.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import Crypto.Util.Option.
-Require Import bbv.WordScope.
-
-(** The final tactic in this file, [do_reflective_pipeline], takes a
- goal of the form
-<<
-@Bounds.is_bounded_by (codomain T) bounds (fZ (cast_back_flat_const v))
- /\ cast_back_flat_const fW = fZ (cast_back_flat_const v)
->>
-
- where [fW] must be a context definition which is a single evar,
- and all other terms must be evar-free. It fully solves the goal,
- instantiating [fW] with an appropriately-unfolded
- (reflection-definition-free) version of [fZ (cast_back_flat_const
- v)] which has been transformed by the reflective pipeline. *)
-
-Module Export Exports.
- Export Crypto.Compilers.Reify. (* export for the instances for recursing under binders *)
- Export Crypto.Compilers.Z.Reify. (* export for the tactic redefinitions *)
- Export Crypto.Compilers.Z.Bounds.Pipeline.Definition.Exports.
-End Exports.
-
-(** ** Reification *)
-(** The [do_reify] tactic handles goals of the form
-<<
-forall x, Interp _ ?e x = F
->>
- by reifying [F]. *)
-Ltac do_reify :=
- unfold_second_arg Tuple.tuple;
- unfold_second_arg Tuple.tuple';
- cbv beta iota delta [Tuple.tuple Tuple.tuple'] in *;
- cbv beta iota delta [Syntax.interp_flat_type Syntax.interp_base_type];
- reify_context_variables;
- Reify_rhs; reflexivity.
-(** ** Input Boundedness Side-Conditions *)
-(** The tactic [handle_bounds_from_hyps] handles goals of the form
-<<
-Bounds.is_bounded_by (_, _, ..., _) _
->>
- by splitting them apart and looking in the context for hypotheses
- that prove the bounds. *)
-Ltac handle_bounds_from_hyps :=
- repeat match goal with
- | _ => assumption
- | [ |- cast_back_flat_const _ = cast_back_flat_const _ ] => reflexivity
- | [ |- _ /\ _ ] => split
- | [ |- Bounds.is_bounded_by (_, _) _ ] => split
- end.
-(** ** Unfolding [Interp] *)
-(** The reduction strategies [interp_red], [extra_interp_red], and
- [constant_simplification] (the latter two defined in
- Pipeline/Definition.v) define the constants that get unfolded
- before instantiating the original evar with [Interp _
- vm_computed_reified_expression arguments]. *)
-Declare Reduction interp_red
- := cbv [fst snd
- Interp (*InterpEta interp_op*) interp interp_eta interpf interpf_step
- interp_flat_type_eta interp_flat_type_eta_gen interp_flat_type
- interp_base_type interp_op
- SmartMap.SmartFlatTypeMap SmartMap.SmartFlatTypeMapUnInterp SmartMap.SmartFlatTypeMapInterp2
- SmartMap.smart_interp_flat_map
- codomain domain
- lift_op Zinterp_op cast_const
- ZToInterp interpToZ
- ].
-
-(** ** Solving Side-Conditions of Equality *)
-(** This section defines a number of different ways to solve goals of
- the form [LHS = RHS] where [LHS] may contain evars and [RHS] must
- not contain evars. Most tactics use [abstract] to reduce the load
- on [Defined] and to catch looping behavior early. *)
-
-(** The tactic [unify_abstract_cbv_interp_rhs_reflexivity] runs the interpretation
- reduction strategies in [RHS] and unifies the result with [LHS],
- and does not use the vm (and hence does not fully reduce things,
- which is important for efficiency). *)
-Ltac unify_abstract_cbv_interp_rhs_reflexivity :=
- intros; clear;
- lazymatch goal with
- | [ |- ?LHS = ?RHS ]
- => let RHS' := (eval interp_red in RHS) in
- let RHS' := (eval extra_interp_red in RHS') in
- let RHS' := lazymatch do_constant_simplification with
- | true => (eval constant_simplification in RHS')
- | _ => RHS'
- end in
- unify LHS RHS'; abstract exact_no_check (eq_refl RHS')
- end.
-
-(** *** Boundedness Lemma Side Conditions *)
-(** The tactic [handle_boundedness_side_condition] unfolds relevant
- identifiers in the side-condition of the boundedness lemma. It
- then calls [boundedness_side_condition_solver], which can be
- overridden. *)
-(** The tactic [boundedness_side_condition_solver] attempts to solve
- the algebraic side conditions of the boundedness lemma; it leaves
- them over if it cannot solve them. *)
-Ltac boundedness_side_condition_solver :=
- repeat match goal with
- | [ |- _ /\ _ ] => apply conj
- | [ |- ?x = ?x ] => reflexivity
- end;
- try abstract ring.
-Ltac handle_boundedness_side_condition :=
- post_intro_interp_flat_type_intros;
- cbv [id
- fst snd
- InterpSideConditions Compilers.InterpSideConditions.InterpSideConditions interp_side_conditions interpf_side_conditions interpf_side_conditions_gen
- Z.Syntax.Util.interped_op_side_conditions
- ExprInversion.invert_Abs
- Syntax.interp_op Syntax.lift_op
- Syntax.Zinterp_op
- SmartMap.SmartFlatTypeMapUnInterp SmartMap.SmartValf SmartMap.SmartFlatTypeMapInterp2
- Syntax.cast_const Syntax.ZToInterp Syntax.interpToZ];
- cbv [PointedProp.and_pointed_Prop PointedProp.to_prop];
- try match goal with
- | [ |- True ] => exact I
- end;
- boundedness_side_condition_solver.
-
-(** ** Assemble the parts of Pipeline.Definition, in Gallina *)
-(** In this section, we assemble [PreWfPipeline] and [PostWfPipeline],
- and add extra equality hypotheses to minimize the work we have to
- do in Ltac. *)
-(** *** Gallina assembly imports *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.WfReflectiveGen.
-Require Import Crypto.Compilers.WfReflective.
-Require Import Crypto.Compilers.Eta.
-Require Import Crypto.Compilers.EtaWf.
-Require Import Crypto.Compilers.EtaInterp.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.OutputType.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.Definition.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.Relax.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.PartiallyReifiedProp.
-Require Import Crypto.Util.Equality.
-
-(** *** Gallina assembly *)
-Section with_round_up_list.
- Context {allowable_lgsz : list nat}.
-
- Local Notation pick_typeb := (@Bounds.bounds_to_base_type (Bounds.round_up_to_in_list allowable_lgsz)) (only parsing).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
-
- Context (opts : PipelineOptions)
- {t : type base_type}
- {input_bounds : interp_flat_type Bounds.interp_base_type (domain t)}
- {given_output_bounds : interp_flat_type Bounds.interp_base_type (codomain t)}
- {v' : interp_flat_type interp_base_type (pick_type input_bounds)}
- {fZ : interp_flat_type interp_base_type (domain t)
- -> interp_flat_type interp_base_type (codomain t)}
- {final_e_evar : interp_flat_type interp_base_type (pick_type given_output_bounds)}.
-
- Class PipelineEvars :=
- {
- b : interp_flat_type Bounds.interp_base_type (codomain t);
- e' : Expr (pick_type input_bounds -> pick_type b);
- e_final_newtype : Expr (pick_type input_bounds -> pick_type given_output_bounds);
- e : Expr (domain t -> codomain t);
- e_pre_pkg : Expr (domain t -> codomain t);
- e_pkg : option (@ProcessedReflectivePackage allowable_lgsz)
- }.
-
- Context (evars : PipelineEvars)
-
- (** ** reification *)
- (rexpr_sig : { rexpr : Expr t | forall x, Interp rexpr x = fZ x }).
-
- Record PipelineSideConditions :=
- {
- (** ** pre-wf pipeline *)
- He : e = PreWfPipeline (proj1_sig rexpr_sig);
- (** ** proving wf *)
- He_unnatize_for_wf : forall var, unnatize_expr 0 (ExprEta' e (fun t => (nat * var t)%type)) = ExprEta' e _;
- Hwf : forall var1 var2,
- let P := (@reflect_wfT base_type base_type_eq_semidec_transparent op op_beq var1 var2 nil _ _ (ExprEta' e _) (ExprEta' e _)) in
- trueify P = P;
- (** ** post-wf-pre-bounds-pipeline *)
- Hpost_wf_pre_bounds : e_pre_pkg = PostWfPreBoundsPipeline opts e;
- (** ** post-wf-pipeline *)
- Hpost : e_pkg = PostWfBoundsPipeline _ opts e e_pre_pkg input_bounds;
- Hpost_correct : Some {| OutputType.input_expr := e ; OutputType.input_bounds := input_bounds ; output_bounds := b ; output_expr := e' |} = e_pkg;
- (** ** bounds relaxation *)
- Hbounds_relax : Bounds.is_tighter_thanb b given_output_bounds = true;
- Hbounds_sane : pick_type given_output_bounds = pick_type b;
- Hbounds_sane_refl
- : e_final_newtype
- = eq_rect _ (fun t => Expr (Arrow (pick_type input_bounds) t)) e' _ (eq_sym Hbounds_sane);
- (** ** instantiation of original evar *)
- Hevar : final_e_evar = InterpEta (t:=Arrow _ _) Syntax.interp_op e_final_newtype v';
- (** ** side conditions (boundedness) *)
- Hv1 : Bounds.is_bounded_by input_bounds (cast_back_flat_const v');
- Hv2 : intros_interp_flat_type_Prop (fun v => PointedProp.to_prop (InterpSideConditions e_pre_pkg v));
- }.
-
- Definition PipelineCorrect
- (side_conditions : PipelineSideConditions)
- : Bounds.is_bounded_by given_output_bounds (fZ (cast_back_flat_const v'))
- /\ cast_back_flat_const final_e_evar = fZ (cast_back_flat_const v').
- Proof using All.
- destruct side_conditions
- as [He He_unnatize_for_wf Hwf Hpost_wf_pre_bounds Hpost Hpost_correct Hbounds_relax Hbounds_sane Hbounds_sane_refl Hevar Hv1 Hv2].
- cbv [b e' e_final_newtype e e_pre_pkg e_pkg] in *.
- destruct evars as [b e' e_final_newtype e e_pre_pkg e_pkg];
- clear evars.
- destruct rexpr_sig as [? Hrexpr]; clear rexpr_sig.
- assert (Hwf' : Wf e)
- by (apply (proj1 (@Wf_ExprEta'_iff _ _ _ e));
- eapply reflect_Wf;
- [ .. | intros; split; [ eapply He_unnatize_for_wf | rewrite <- Hwf; apply trueify_true ] ];
- auto using base_type_eq_semidec_is_dec, op_beq_bl).
- clear Hwf He_unnatize_for_wf.
- symmetry in Hpost_correct.
- subst; cbv [proj1_sig] in *.
- rewrite eq_InterpEta, <- Hrexpr.
- pose proof (introsP_interp_flat_type Hv2) as Hv2'.
- eapply PostWfPipelineCorrect in Hpost_correct; [ | solve [ eauto ].. ].
- rewrite !@InterpPreWfPipeline in Hpost_correct.
- unshelve eapply relax_output_bounds; try eassumption; [].
- match goal with
- | [ |- context[Interp (@eq_rect ?A ?x ?P ?k ?y ?pf) ?v] ]
- => rewrite (@ap_transport A P _ x y pf (fun t e => Interp e v) k)
- end.
- rewrite <- transport_pp, concat_Vp; simpl.
- apply Hpost_correct.
- Qed.
-End with_round_up_list.
-
-(** ** Assembling the Pipeline, in Ltac *)
-(** The tactic [refine_with_pipeline_correct] uses the
- [PipelineCorrect] lemma to create side-conditions. It assumes the
- goal is in exactly the form given in the conclusion of the
- [PipelineCorrect] lemma. *)
-(** The [refine_PipelineSideConditions_constructor] subtactic splits
- up the [PipelineSideConditions] record goal into multiple
- subgoals, to be discharged by automation lower in this file
- ([solve_post_reified_side_conditions]). *)
-Ltac refine_PipelineSideConditions_constructor :=
- lazymatch goal with
- | [ |- PipelineSideConditions ?opts ?evars _ ]
- => simple refine {| Hevar := _ |};
- cbv [b e' e_final_newtype e e_pre_pkg e_pkg proj1_sig]
- end.
-Ltac refine_with_pipeline_correct opts :=
- lazymatch goal with
- | [ |- _ /\ ?castback ?fW = ?fZ ?arg ]
- => let lem := open_constr:(@PipelineCorrect _ opts _ _ _ _ _ _ {| e_pkg := _ |}) in
- simple refine (lem _ _);
- subst fW fZ
- end;
- [ eexists
- | refine_PipelineSideConditions_constructor ].
-
-(** The tactic [solve_side_conditions] uses the above
- reduction-and-proving-equality tactics to prove the
- side-conditions of [PipelineCorrect]. The order must match with
- [PipelineCorrect]. Which tactic to use was chosen in the
- following way:
-
- - The default is [unify_abstract_vm_compute_rhs_reflexivity]
-
- - If the [RHS] is already in [vm_compute]d form, use
- [unify_abstract_rhs_reflexivity] (saves a needless [vm_compute] which would be a
- costly no-op)
-
- - If the proof needs to be transparent and there are no evars and
- you want the user to see the fully [vm_compute]d term on error,
- use [vm_compute; reflexivity]
-
- - If the user should see an unreduced term and you're proving [_ =
- true], use [abstract vm_cast_no_check (eq_refl true)]
-
- - If you want to preserve binder names, use [unify_abstract_cbv_rhs_reflexivity]
-
- The other choices are tactics that are specialized to the specific
- side-condition for which they are used (reification, boundedness
- of input, reduction of [Interp], renaming). *)
-Ltac solve_post_reified_side_conditions :=
- [>
- (** ** pre-wf pipeline *)
- unify_abstract_vm_compute_rhs_reflexivity |
- (** ** reflective wf side-condition 1 *)
- unify_abstract_vm_compute_rhs_reflexivity |
- (** ** reflective wf side-condition 2 *)
- unify_abstract_vm_compute_rhs_reflexivity |
- (** ** post-wf-pre-bounds-pipeline *)
- unify_abstract_vm_compute_rhs_reflexivity |
- (** ** post-wf pipeline *)
- unify_abstract_vm_compute_rhs_reflexivity |
- (** ** post-wf pipeline gives [Some _] *)
- unify_abstract_rhs_reflexivity |
- (** ** computed output bounds are not looser than the given output bounds *)
- (** we do subst and we don't [vm_compute] first because we want to
- get an error message that displays the bounds *)
- subst_let; clear; abstract vm_cast_no_check (eq_refl true) |
- (** ** types computed from given output bounds are the same as types computed from computed output bounds *)
- (** N.B. the proof must be exactly [eq_refl] because it's used in a
- later goal and needs to reduce *)
- subst_let; clear; vm_compute; reflexivity |
- (** ** removal of a cast across the equality proof above *)
- unify_abstract_compute_rhs_reflexivity |
- (** ** unfolding of [interp] constants *)
- unify_abstract_cbv_interp_rhs_reflexivity |
- (** ** boundedness of inputs *)
- abstract handle_bounds_from_hyps |
- (** ** boundedness side-condition *)
- handle_boundedness_side_condition ].
-Ltac solve_side_conditions :=
- [>
- (** ** reification *)
- do_reify |
- .. ];
- solve_post_reified_side_conditions.
-
-(** ** The Entire Pipeline *)
-(** The [do_reflective_pipeline] tactic solves a goal of the form that
- is described at the top of this file, and is the public interface
- of this file. *)
-Ltac do_reflective_pipeline opts :=
- refine_with_pipeline_correct opts; solve_side_conditions.
-Notation default_PipelineOptions := default_PipelineOptions.
diff --git a/src/Compilers/Z/Bounds/Relax.v b/src/Compilers/Z/Bounds/Relax.v
deleted file mode 100644
index 8178592ed..000000000
--- a/src/Compilers/Z/Bounds/Relax.v
+++ /dev/null
@@ -1,135 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Arith.Arith.
-Require Import Coq.Classes.Morphisms.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Z.Bounds.RoundUpLemmas.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.ZUtil.Log2.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Bool.
-
-Local Lemma helper logsz v
- : (v < 2 ^ 2 ^ Z.of_nat logsz)%Z <-> (Z.to_nat (Z.log2_up (Z.log2_up (1 + v))) <= logsz)%nat.
-Proof.
- rewrite Nat2Z.inj_le, Z2Nat.id by auto with zarith.
- transitivity (1 + v <= 2^2^Z.of_nat logsz)%Z; [ omega | ].
- rewrite !Z.log2_up_le_pow2_full by auto with zarith.
- reflexivity.
-Qed.
-
-Local Arguments Z.pow : simpl never.
-Local Arguments Z.sub !_ !_.
-Local Arguments Z.add !_ !_.
-Local Arguments Z.mul !_ !_.
-Lemma relax_output_bounds'
- round_up
- t (tight_output_bounds relaxed_output_bounds : interp_flat_type Bounds.interp_base_type t)
- (Hv : SmartFlatTypeMap (@Bounds.bounds_to_base_type round_up) relaxed_output_bounds
- = SmartFlatTypeMap (@Bounds.bounds_to_base_type round_up) tight_output_bounds)
- v k
- (v' := eq_rect _ (interp_flat_type _) v _ Hv)
- (Htighter : @Bounds.is_bounded_by
- t tight_output_bounds
- (@cast_back_flat_const
- (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) tight_output_bounds
- v')
- /\ @cast_back_flat_const
- (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) tight_output_bounds
- v'
- = k)
- (Hrelax : Bounds.is_tighter_thanb tight_output_bounds relaxed_output_bounds = true)
- : @Bounds.is_bounded_by
- t relaxed_output_bounds
- (@cast_back_flat_const
- (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) relaxed_output_bounds
- v)
- /\ @cast_back_flat_const
- (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) relaxed_output_bounds
- v
- = k.
-Proof.
- destruct Htighter as [H0 H1]; subst v' k.
- cbv [Bounds.is_bounded_by cast_back_flat_const Bounds.is_tighter_thanb] in *.
- apply interp_flat_type_rel_pointwise_iff_relb in Hrelax.
- induction t; unfold SmartFlatTypeMap in *; simpl @smart_interp_flat_map in *; inversion_flat_type.
- { cbv [Bounds.is_tighter_thanb' Bounds.bounds_to_base_type ZRange.is_tighter_than_bool is_true SmartFlatTypeMap ZRange.is_bounded_by' Bounds.smallest_logsz ZRange.is_bounded_by Bounds.is_bounded_by' Bounds.bit_width_of_base_type] in *; simpl in *;
- repeat first [ progress inversion_flat_type
- | progress inversion_base_type_constr
- | progress subst
- | progress destruct_head bounds
- | progress destruct_head base_type
- | progress split_andb
- | progress Z.ltb_to_lt
- | progress break_match_hyps
- | progress destruct_head'_and
- | progress simpl in *
- | rewrite helper in *
- | omega
- | tauto
- | congruence
- | progress destruct_head @eq; (reflexivity || omega)
- | progress break_innermost_match_step
- | apply conj ]. }
- { compute in *; tauto. }
- { simpl in *.
- specialize (fun Hv => IHt1 (fst tight_output_bounds) (fst relaxed_output_bounds) Hv (fst v)).
- specialize (fun Hv => IHt2 (snd tight_output_bounds) (snd relaxed_output_bounds) Hv (snd v)).
- do 2 match goal with
- | [ H : _ = _, H' : forall x, _ |- _ ] => specialize (H' H)
- end.
- simpl in *.
- split_and.
- repeat apply conj;
- [ match goal with H : _ |- _ => apply H end..
- | apply (f_equal2 (@pair _ _)); (etransitivity; [ match goal with H : _ |- _ => apply H end | ]) ];
- repeat first [ progress destruct_head prod
- | progress simpl in *
- | reflexivity
- | assumption
- | match goal with
- | [ |- ?P (eq_rect _ _ _ _ _) = ?P _ ]
- => apply f_equal; clear
- | [ H : interp_flat_type_rel_pointwise (@Bounds.is_bounded_by') ?x ?y |- interp_flat_type_rel_pointwise (@Bounds.is_bounded_by') ?x ?y' ]
- => clear -H;
- match goal with |- ?R _ _ => generalize dependent R; intros end
- | [ H : ?x = ?y |- _ ]
- => first [ generalize dependent x | generalize dependent y ];
- let k := fresh in intro k; intros; subst k
- end ]. }
-Qed.
-
-Lemma relax_output_bounds
- round_up
- t (tight_output_bounds relaxed_output_bounds : interp_flat_type Bounds.interp_base_type t)
- (Hv : SmartFlatTypeMap (@Bounds.bounds_to_base_type round_up) relaxed_output_bounds
- = SmartFlatTypeMap (@Bounds.bounds_to_base_type round_up) tight_output_bounds)
- v k
- (v' := eq_rect _ (interp_flat_type _) v _ Hv)
- (Htighter : @Bounds.is_bounded_by t tight_output_bounds k
- /\ @cast_back_flat_const
- (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) tight_output_bounds
- v'
- = k)
- (Hrelax : Bounds.is_tighter_thanb tight_output_bounds relaxed_output_bounds = true)
- : @Bounds.is_bounded_by t relaxed_output_bounds k
- /\ @cast_back_flat_const
- (@Bounds.interp_base_type) t (@Bounds.bounds_to_base_type round_up) relaxed_output_bounds
- v
- = k.
-Proof.
- pose proof (fun pf => @relax_output_bounds' round_up t tight_output_bounds relaxed_output_bounds Hv v k (conj pf (proj2 Htighter)) Hrelax) as H.
- destruct H as [H1 H2]; [ | rewrite <- H2; tauto ].
- subst v'.
- destruct Htighter; subst k; assumption.
-Qed.
diff --git a/src/Compilers/Z/Bounds/RoundUpLemmas.v b/src/Compilers/Z/Bounds/RoundUpLemmas.v
deleted file mode 100644
index ce4ea9373..000000000
--- a/src/Compilers/Z/Bounds/RoundUpLemmas.v
+++ /dev/null
@@ -1,34 +0,0 @@
-Require Import Coq.omega.Omega.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Util.ZRange.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.NatUtil.
-
-Notation round_up_monotone_T round_up
- := (forall x y,
- (x <= y)%nat
- -> match round_up x, round_up y with
- | Some x', Some y' => (x' <= y')%nat
- | None, None => True
- | Some _, None => True
- | None, Some _ => False
- end)
- (only parsing).
-
-Lemma round_up_to_in_list_monotone (allowable_lgsz : list nat)
- : round_up_monotone_T (Bounds.round_up_to_in_list allowable_lgsz).
-Proof.
- intros x y H.
- induction allowable_lgsz as [|s ss].
- { constructor. }
- { unfold Bounds.round_up_to_in_list in *.
- repeat match goal with
- | _ => solve [ trivial ]
- | _ => progress simpl in *
- | _ => progress break_innermost_match_step
- | _ => progress break_innermost_match_hyps_step
- | [ H : ?leb _ _ = true |- _ ] => apply NPeano.Nat.leb_le in H
- | [ H : ?leb _ _ = false |- _ ] => apply NPeano.Nat.leb_gt in H
- | _ => omega *
- end. }
-Qed.
diff --git a/src/Compilers/Z/CNotations.v b/src/Compilers/Z/CNotations.v
deleted file mode 100644
index 07e2031f3..000000000
--- a/src/Compilers/Z/CNotations.v
+++ /dev/null
@@ -1,12696 +0,0 @@
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export Crypto.Compilers.Z.HexNotationConstants.
-Require Export Crypto.Util.Notations.
-
-Reserved Notation "T x = A ; b" (at level 200, b at level 200, format "T x = A ; '//' b").
-Reserved Notation "T x = A ; 'return' b" (at level 200, b at level 200, format "T x = A ; '//' 'return' b").
-Reserved Notation "T x = A ; 'return' ( b0 , b1 , .. , b2 )" (at level 200, format "T x = A ; '//' 'return' ( b0 , b1 , .. , b2 )").
-Reserved Notation "T0 x , T1 y = A ; b" (at level 200, b at level 200, format "T0 x , T1 y = A ; '//' b").
-Reserved Notation "T0 x , T1 y = A ; 'return' b" (at level 200, b at level 200, format "T0 x , T1 y = A ; '//' 'return' b").
-Reserved Notation "T0 x , T1 y = A ; 'return' ( b0 , b1 , .. , b2 )" (at level 200, format "T0 x , T1 y = A ; '//' 'return' ( b0 , b1 , .. , b2 )").
-Reserved Notation "v == 0 ? a : b" (at level 40, a at level 10, b at level 10).
-Reserved Notation "v == 0 ?ℤ a : b" (at level 40, a at level 10, b at level 10).
-Reserved Notation "x & y" (at level 40).
-Reserved Notation "x | y" (at level 45).
-
-Global Open Scope expr_scope.
-
-Notation "T x = A ; b" := (LetIn (tx:=T) A (fun x => b)) : expr_scope.
-Notation "T x = A ; 'return' b" := (LetIn (tx:=T) A (fun x => Var b)) : expr_scope.
-Notation "T x = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=T) A (fun x => Pair .. (Pair b0%expr b1%expr) .. b2%expr)) : expr_scope.
-Notation "T x = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=T) A (fun x => Pair .. (Pair (Var b0) (Var b1)) .. (Var b2))) : expr_scope.
-Notation "T0 x , T1 y = A ; b" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => b)) : expr_scope.
-Notation "T0 x , T1 y = A ; 'return' b" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => Var b)) : expr_scope.
-(*Notation "T0 x , T1 y = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => (Pair .. (Pair b0%expr b1%expr) .. b2%expr))) : expr_scope.*) (* Error: Unsupported construction in recursive notations., https://coq.inria.fr/bugs/show_bug.cgi?id=5523 *)
-(*Notation "T0 x , T1 y = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => (Pair .. (Pair (Var b0) (Var b1)) .. (Var b2)))) : expr_scope.*) (* Error: Unsupported construction in recursive notations., https://coq.inria.fr/bugs/show_bug.cgi?id=5523 *)
-
-(* for now, handle with
-<<
-sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(addcarryx.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:'
-sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(subborrow.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:'
-sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(mulx.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:'
->>
-
- Once we get https://coq.inria.fr/bugs/show_bug.cgi?id=5526, we can print actual C notations:
-<<
-Reserved Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c_in , a , b , & out ) ; REST"
- (at level 200, REST at level 200, only printing format "T0 out ; '//' T1 c_out = '_addcarryx_u32' ( c_in , a , b , & out ) ; '//' REST").
-Reserved Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c_in , a , b , & out ) ; REST"
- (at level 200, REST at level 200, only printing format "T0 out ; '//' T1 c_out = '_addcarryx_u64' ( c_in , a , b , & out ) ; '//' REST").
->> *)
-Reserved Notation "'addcarryx_u32' ( c , a , b )" (format "'addcarryx_u32' ( c , a , b )").
-Reserved Notation "'addcarryx_u64' ( c , a , b )" (format "'addcarryx_u64' ( c , a , b )").
-Reserved Notation "'addcarryx_u128' ( c , a , b )" (format "'addcarryx_u128' ( c , a , b )").
-Reserved Notation "'addcarryx_u25' ( c , a , b )" (format "'addcarryx_u25' ( c , a , b )").
-Reserved Notation "'addcarryx_u26' ( c , a , b )" (format "'addcarryx_u26' ( c , a , b )").
-Reserved Notation "'addcarryx_u51' ( c , a , b )" (format "'addcarryx_u51' ( c , a , b )").
-Reserved Notation "'subborrow_u32' ( c , a , b )" (format "'subborrow_u32' ( c , a , b )").
-Reserved Notation "'subborrow_u64' ( c , a , b )" (format "'subborrow_u64' ( c , a , b )").
-Reserved Notation "'subborrow_u128' ( c , a , b )" (format "'subborrow_u128' ( c , a , b )").
-Reserved Notation "'subborrow_u25' ( c , a , b )" (format "'subborrow_u25' ( c , a , b )").
-Reserved Notation "'subborrow_u26' ( c , a , b )" (format "'subborrow_u26' ( c , a , b )").
-Reserved Notation "'subborrow_u51' ( c , a , b )" (format "'subborrow_u51' ( c , a , b )").
-Reserved Notation "'addcarryx_u32ℤ' ( c , a , b )" (format "'addcarryx_u32ℤ' ( c , a , b )").
-Reserved Notation "'addcarryx_u64ℤ' ( c , a , b )" (format "'addcarryx_u64ℤ' ( c , a , b )").
-Reserved Notation "'addcarryx_u128ℤ' ( c , a , b )" (format "'addcarryx_u128ℤ' ( c , a , b )").
-Reserved Notation "'addcarryx_u25ℤ' ( c , a , b )" (format "'addcarryx_u25ℤ' ( c , a , b )").
-Reserved Notation "'addcarryx_u26ℤ' ( c , a , b )" (format "'addcarryx_u26ℤ' ( c , a , b )").
-Reserved Notation "'addcarryx_u51ℤ' ( c , a , b )" (format "'addcarryx_u51ℤ' ( c , a , b )").
-Reserved Notation "'subborrow_u32ℤ' ( c , a , b )" (format "'subborrow_u32ℤ' ( c , a , b )").
-Reserved Notation "'subborrow_u64ℤ' ( c , a , b )" (format "'subborrow_u64ℤ' ( c , a , b )").
-Reserved Notation "'subborrow_u128ℤ' ( c , a , b )" (format "'subborrow_u128ℤ' ( c , a , b )").
-Reserved Notation "'subborrow_u25ℤ' ( c , a , b )" (format "'subborrow_u25ℤ' ( c , a , b )").
-Reserved Notation "'subborrow_u26ℤ' ( c , a , b )" (format "'subborrow_u26ℤ' ( c , a , b )").
-Reserved Notation "'subborrow_u51ℤ' ( c , a , b )" (format "'subborrow_u51ℤ' ( c , a , b )").
-
-Reserved Notation "'mulx_u32' ( a , b )" (format "'mulx_u32' ( a , b )").
-Reserved Notation "'mulx_u64' ( a , b )" (format "'mulx_u64' ( a , b )").
-Reserved Notation "'mulx_u128' ( a , b )" (format "'mulx_u128' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u32' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u64' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u128' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u32' ( a , b )" (format "'(uint8_t)' 'mulx_u32' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u64' ( a , b )" (format "'(uint8_t)' 'mulx_u64' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u128' ( a , b )" (format "'(uint8_t)' 'mulx_u128' ( a , b )").
-Reserved Notation "'mulx_u32_out_u8' ( a , b )" (format "'mulx_u32_out_u8' ( a , b )").
-Reserved Notation "'mulx_u64_out_u8' ( a , b )" (format "'mulx_u64_out_u8' ( a , b )").
-Reserved Notation "'mulx_u128_out_u8' ( a , b )" (format "'mulx_u128_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u32_out_u8' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u32_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u64_out_u8' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u64_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u128_out_u8' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u128_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" (format "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" (format "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" (format "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )").
-Reserved Notation "'mulx_u32_out_u1' ( a , b )" (format "'mulx_u32_out_u1' ( a , b )").
-Reserved Notation "'mulx_u64_out_u1' ( a , b )" (format "'mulx_u64_out_u1' ( a , b )").
-Reserved Notation "'mulx_u128_out_u1' ( a , b )" (format "'mulx_u128_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u32_out_u1' ( a , b )" (format "'(uint8_t)' 'mulx_u32_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u64_out_u1' ( a , b )" (format "'(uint8_t)' 'mulx_u64_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u128_out_u1' ( a , b )" (format "'(uint8_t)' 'mulx_u128_out_u1' ( a , b )").
-
-Reserved Notation "'mulx_u32ℤ' ( a , b )" (format "'mulx_u32ℤ' ( a , b )").
-Reserved Notation "'mulx_u64ℤ' ( a , b )" (format "'mulx_u64ℤ' ( a , b )").
-Reserved Notation "'mulx_u128ℤ' ( a , b )" (format "'mulx_u128ℤ' ( a , b )").
-
-Reserved Notation "'cmovznz32' ( v , a , b )" (format "'cmovznz32' ( v , a , b )").
-Reserved Notation "'cmovznz64' ( v , a , b )" (format "'cmovznz64' ( v , a , b )").
-Reserved Notation "'cmovznz128' ( v , a , b )" (format "'cmovznz128' ( v , a , b )").
-Reserved Notation "'cmovznz' ( v , a , b )" (format "'cmovznz' ( v , a , b )").
-Reserved Notation "'cmovznzℤ' ( v , a , b )" (format "'cmovznzℤ' ( v , a , b )").
-(* python:
-<<
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-import math
-
-PARENTHESIZED = True
-ADD_CARRY_SUB_BORROW_SIZES = (32, 64, 128, 25, 26, 51)
-
-print(r"""Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export Crypto.Compilers.Z.HexNotationConstants.
-Require Export Crypto.Util.Notations.
-
-Reserved Notation "T x = A ; b" (at level 200, b at level 200, format "T x = A ; '//' b").
-Reserved Notation "T x = A ; 'return' b" (at level 200, b at level 200, format "T x = A ; '//' 'return' b").
-Reserved Notation "T x = A ; 'return' ( b0 , b1 , .. , b2 )" (at level 200, format "T x = A ; '//' 'return' ( b0 , b1 , .. , b2 )").
-Reserved Notation "T0 x , T1 y = A ; b" (at level 200, b at level 200, format "T0 x , T1 y = A ; '//' b").
-Reserved Notation "T0 x , T1 y = A ; 'return' b" (at level 200, b at level 200, format "T0 x , T1 y = A ; '//' 'return' b").
-Reserved Notation "T0 x , T1 y = A ; 'return' ( b0 , b1 , .. , b2 )" (at level 200, format "T0 x , T1 y = A ; '//' 'return' ( b0 , b1 , .. , b2 )").
-Reserved Notation "v == 0 ? a : b" (at level 40, a at level 10, b at level 10).
-Reserved Notation "v == 0 ?ℤ a : b" (at level 40, a at level 10, b at level 10).
-Reserved Notation "x & y" (at level 40).
-Reserved Notation "x | y" (at level 45).
-
-Global Open Scope expr_scope.
-
-Notation "T x = A ; b" := (LetIn (tx:=T) A (fun x => b)) : expr_scope.
-Notation "T x = A ; 'return' b" := (LetIn (tx:=T) A (fun x => Var b)) : expr_scope.
-Notation "T x = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=T) A (fun x => Pair .. (Pair b0%expr b1%expr) .. b2%expr)) : expr_scope.
-Notation "T x = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=T) A (fun x => Pair .. (Pair (Var b0) (Var b1)) .. (Var b2))) : expr_scope.
-Notation "T0 x , T1 y = A ; b" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => b)) : expr_scope.
-Notation "T0 x , T1 y = A ; 'return' b" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => Var b)) : expr_scope.
-(""" + r"""*Notation "T0 x , T1 y = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => (Pair .. (Pair b0%expr b1%expr) .. b2%expr))) : expr_scope.*""" + r""") (""" + r"""* Error: Unsupported construction in recursive notations., https://coq.inria.fr/bugs/show_bug.cgi?id=5523 *""" + r""")
-(""" + r"""*Notation "T0 x , T1 y = A ; 'return' ( b0 , b1 , .. , b2 )" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => (Pair .. (Pair (Var b0) (Var b1)) .. (Var b2)))) : expr_scope.*""" + r""") (""" + r"""* Error: Unsupported construction in recursive notations., https://coq.inria.fr/bugs/show_bug.cgi?id=5523 *""" + r""")
-
-(""" + r"""* for now, handle with
-<<
-sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(addcarryx.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:'
-sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(subborrow.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:'
-sed s':^\([^,]*\) \([^, ]*\)\(\s*\),\(.*\)\(mulx.*\))\([; ]*\)$:\1 \2\3;\4_\5, \&\2)\6:'
->>
-
- Once we get https://coq.inria.fr/bugs/show_bug.cgi?id=5526, we can print actual C notations:
-<<
-Reserved Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c_in , a , b , & out ) ; REST"
- (at level 200, REST at level 200, only printing format "T0 out ; '//' T1 c_out = '_addcarryx_u32' ( c_in , a , b , & out ) ; '//' REST").
-Reserved Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c_in , a , b , & out ) ; REST"
- (at level 200, REST at level 200, only printing format "T0 out ; '//' T1 c_out = '_addcarryx_u64' ( c_in , a , b , & out ) ; '//' REST").
->> *""" + r""")""")
-for postfix in ('', 'ℤ'):
- for opn in ('addcarryx', 'subborrow'):
- for sz in ADD_CARRY_SUB_BORROW_SIZES:
- print(r"""Reserved Notation "'%s_u%d%s' ( c , a , b )" (format "'%s_u%d%s' ( c , a , b )").""" % (opn, sz, postfix, opn, sz, postfix))
-print(r"""
-Reserved Notation "'mulx_u32' ( a , b )" (format "'mulx_u32' ( a , b )").
-Reserved Notation "'mulx_u64' ( a , b )" (format "'mulx_u64' ( a , b )").
-Reserved Notation "'mulx_u128' ( a , b )" (format "'mulx_u128' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u32' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u64' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u128' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u32' ( a , b )" (format "'(uint8_t)' 'mulx_u32' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u64' ( a , b )" (format "'(uint8_t)' 'mulx_u64' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u128' ( a , b )" (format "'(uint8_t)' 'mulx_u128' ( a , b )").
-Reserved Notation "'mulx_u32_out_u8' ( a , b )" (format "'mulx_u32_out_u8' ( a , b )").
-Reserved Notation "'mulx_u64_out_u8' ( a , b )" (format "'mulx_u64_out_u8' ( a , b )").
-Reserved Notation "'mulx_u128_out_u8' ( a , b )" (format "'mulx_u128_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u32_out_u8' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u32_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u64_out_u8' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u64_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u128_out_u8' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u128_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" (format "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" (format "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" (format "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )").
-Reserved Notation "'mulx_u32_out_u1' ( a , b )" (format "'mulx_u32_out_u1' ( a , b )").
-Reserved Notation "'mulx_u64_out_u1' ( a , b )" (format "'mulx_u64_out_u1' ( a , b )").
-Reserved Notation "'mulx_u128_out_u1' ( a , b )" (format "'mulx_u128_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" (format "'(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u32_out_u1' ( a , b )" (format "'(uint8_t)' 'mulx_u32_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u64_out_u1' ( a , b )" (format "'(uint8_t)' 'mulx_u64_out_u1' ( a , b )").
-Reserved Notation "'(uint8_t)' 'mulx_u128_out_u1' ( a , b )" (format "'(uint8_t)' 'mulx_u128_out_u1' ( a , b )").
-
-Reserved Notation "'mulx_u32ℤ' ( a , b )" (format "'mulx_u32ℤ' ( a , b )").
-Reserved Notation "'mulx_u64ℤ' ( a , b )" (format "'mulx_u64ℤ' ( a , b )").
-Reserved Notation "'mulx_u128ℤ' ( a , b )" (format "'mulx_u128ℤ' ( a , b )").
-
-Reserved Notation "'cmovznz32' ( v , a , b )" (format "'cmovznz32' ( v , a , b )").
-Reserved Notation "'cmovznz64' ( v , a , b )" (format "'cmovznz64' ( v , a , b )").
-Reserved Notation "'cmovznz128' ( v , a , b )" (format "'cmovznz128' ( v , a , b )").
-Reserved Notation "'cmovznz' ( v , a , b )" (format "'cmovznz' ( v , a , b )").
-Reserved Notation "'cmovznzℤ' ( v , a , b )" (format "'cmovznzℤ' ( v , a , b )").
-(""" + r"""* python:
-<<""")
-
-print(open(__file__).read())
-
-print('>> *' + ')')
-
-OPEN = ('( ' if PARENTHESIZED else '')
-CLOSE = (' )' if PARENTHESIZED else '')
-
-def log2_up(x):
- return int(math.ceil(math.log(x, 2)))
-types = ('uint8_t/*bool*/', 'uint8_t', 'uint8_t', 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', 'uint128_t', 'uint256_t')
-for lgwordsz in range(0, len(types)):
- print('Notation "\'%s\'" := (Tbase (TWord %d)) : expr_scope.' % (types[lgwordsz], lgwordsz))
-print('Notation ℤ := (Tbase TZ).')
-print('')
-cast_pat = "%s %s"
-cast_types = tuple(["'1&(%s)'" % i for i in types[:1]] +
- ["'(%s)'" % i for i in types[1:]])
-def at_least_S_pattern(n):
- return '(S ' * n + '_' + ')' * n
-
-_ = '_'
-TZ = 'TZ'
-def TWord(v): return '(TWord %s)' % str(v)
-
-def print_notation_string(xisvar, yisvar, opn, op, arg_tuple, lvl=None, xsz=None, ysz=None, xlvl=None, ylvl=None):
- lhs = ('x' if not xisvar else '(Var x)')
- rhs = ('y' if not yisvar else '(Var y)')
- x = ('x' if xsz is None else (cast_pat % (cast_types[xsz], 'x')))
- y = ('y' if ysz is None else (cast_pat % (cast_types[ysz], 'y')))
- ret = 'Notation "%s%s %s %s%s" := (Op (%s %s) (Pair %s %s))' % (OPEN, x, opn, y, CLOSE, op, ' '.join(arg_tuple), lhs, rhs)
- modifiers = []
- for var, l in (('', lvl), ('x ', xlvl), ('y ', ylvl)):
- if l is not None:
- modifiers.append('%sat level %s' % (var, str(l)))
- if (OPEN + CLOSE) != '':
- modifiers.append('format "%s%s %s %s%s"' % (OPEN, x, opn, y, CLOSE))
- if len(modifiers) > 0:
- ret = '%s (%s) : expr_scope.' % (ret, ', '.join(modifiers))
- else:
- ret = '%s : expr_scope.' % (ret,)
- print(ret)
-
-for opn, op, lvl in (('*', 'Mul', 40), ('+', 'Add', 50), ('-', 'Sub', 50)):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (_, _, _))
- print_notation_string(v1, v2, opn + 'ℤ', op, (_, _, TZ), lvl=lvl)
- for lgwordsz in range(0, len(types)):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(_), TWord(_), TWord(lgwordsz)), xsz=lgwordsz, lvl=lvl, xlvl=9)
- print_notation_string(v1, v2, opn, op, (TWord(_), TWord(at_least_S_pattern(lgwordsz)), TWord(lgwordsz)), ysz=lgwordsz, lvl=lvl, ylvl=9)
- print_notation_string(v1, v2, opn, op, (TWord(at_least_S_pattern(lgwordsz)), TWord(at_least_S_pattern(lgwordsz)), TWord(lgwordsz)), xsz=lgwordsz, ysz=lgwordsz, lvl=lvl, xlvl=9, ylvl=9)
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(_), TWord(lgwordsz)))
- print_notation_string(v1, v2, opn, op, (TWord(_), TWord(lgwordsz), TWord(lgwordsz)))
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(at_least_S_pattern(lgwordsz)), TWord(lgwordsz)), ysz=lgwordsz, lvl=lvl, ylvl=9)
- print_notation_string(v1, v2, opn, op, (TWord(at_least_S_pattern(lgwordsz)), TWord(lgwordsz), TWord(lgwordsz)), xsz=lgwordsz, lvl=lvl, xlvl=9)
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(lgwordsz), TWord(lgwordsz)))
-for opn, op, lvl in (('*', 'Mul', 40), ('+', 'Add', 50), ('-', 'Sub', 50)):
- for v1 in (False, True):
- for v2 in (False, True):
- x = ('x' if not v1 else '(Var x)')
- y = ('y' if not v2 else '(Var y)')
- print('''Notation "%s'1&(' %s %s %s ')'%s" := (Op (%s %s) (Pair %s %s)) (at level %d, format "%s'1&(' %s %s %s ')'%s").''' %
- (OPEN, 'x', opn, 'y', CLOSE,
- op, ' '.join((TWord(_), TWord(_), TWord(0))), x, y, lvl,
- OPEN, 'x', opn, 'y', CLOSE))
-for opn, op, lvl in (('&', 'Land', 40), ('|', 'Lor', 45)):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (_, _, _))
- print_notation_string(v1, v2, opn + 'ℤ', op, (_, _, TZ), lvl=lvl)
- for lgwordsz in range(0, len(types)):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(_), TWord(_), TWord(lgwordsz)), xsz=lgwordsz, ysz=lgwordsz, lvl=lvl, xlvl=9, ylvl=9)
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(_), TWord(lgwordsz)), ysz=lgwordsz, lvl=lvl, ylvl=9)
- print_notation_string(v1, v2, opn, op, (TWord(_), TWord(lgwordsz), TWord(lgwordsz)), xsz=lgwordsz, lvl=lvl, xlvl=9)
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(lgwordsz), TWord(lgwordsz)))
-for opn, op, lvl in (('<<', 'Shl', 30),):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (_, _, _))
- print_notation_string(v1, v2, opn + 'ℤ', op, (_, _, TZ), lvl=lvl)
- for lgwordsz in range(0, len(types)):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (TWord(_), TWord(_), TWord(lgwordsz)), xsz=lgwordsz, lvl=lvl)
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(_), TWord(lgwordsz)))
-for opn, op, lvl in (('>>', 'Shr', 30),):
- for v1 in (False, True):
- for v2 in (False, True):
- print_notation_string(v1, v2, opn, op, (_, _, _))
- print_notation_string(v1, v2, opn + 'ℤ', op, (_, _, TZ), lvl=lvl)
- for lgwordsz in range(0, len(types)):
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "\'(%s)\' ( x %s y )" := (Op (%s (TWord _) (TWord _) (TWord %d)) (Pair %s %s)) (at level %d) : expr_scope.'
- % (types[lgwordsz], opn, op, lgwordsz, lhs, rhs, lvl))
- print_notation_string(v1, v2, opn, op, (TWord(lgwordsz), TWord(_), TWord(lgwordsz)))
-for v0 in (False, True):
- for v1 in (False, True):
- for v2 in (False, True):
- tes = ('v' if not v0 else '(Var v)')
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "\'cmovznz32\' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair %s %s) %s)) : expr_scope.' % (tes, lhs, rhs))
-for (wordsz, cmovsz) in ((16,'32'), (32,'64'), (64,'128'), (128,'ℤ')):
- lgwordsz = log2_up(wordsz)
- for lgwordsz_out in range(0, lgwordsz+2): # + 2 so that we get one instance of lgwordsz_out > lgwordsz
- for v0 in (False, True):
- for v1 in (False, True):
- for v2 in (False, True):
- tes = ('v' if not v0 else '(Var v)')
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- TWordSz = TWord(at_least_S_pattern(lgwordsz+1)) # + 1, because we need strictly not equal
- TWordSz_out = TWord(at_least_S_pattern(lgwordsz_out))
- if lgwordsz_out > lgwordsz:
- pat = 'Notation "\'cmovznz%s\' ( v , x , y )" := (Op (Zselect %s %s %s %s) (Pair (Pair %s %s) %s)) : expr_scope.'
- print(pat % (cmovsz, TWordSz, TWord(_), TWord(_), TWordSz_out, tes, lhs, rhs))
- print(pat % (cmovsz, TWord(_), TWordSz, TWord(_), TWordSz_out, tes, lhs, rhs))
- print(pat % (cmovsz, TWord(_), TWord(_), TWordSz, TWordSz_out, tes, lhs, rhs))
- else:
- pat = 'Notation "\'(%s)\' \'cmovznz%s\' ( v , x , y )" := (Op (Zselect %s %s %s %s) (Pair (Pair %s %s) %s)) (format "\'(%s)\' \'cmovznz%s\' ( v , x , y )") : expr_scope.'
- print(pat % (types[lgwordsz_out], cmovsz, TWordSz, TWord(_), TWord(_), TWordSz_out, tes, lhs, rhs, types[lgwordsz_out], cmovsz))
- print(pat % (types[lgwordsz_out], cmovsz, TWord(_), TWordSz, TWord(_), TWordSz_out, tes, lhs, rhs, types[lgwordsz_out], cmovsz))
- print(pat % (types[lgwordsz_out], cmovsz, TWord(_), TWord(_), TWordSz, TWordSz_out, tes, lhs, rhs, types[lgwordsz_out], cmovsz))
-for v0 in (False, True):
- for v1 in (False, True):
- for v2 in (False, True):
- tes = ('v' if not v0 else '(Var v)')
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "\'cmovznzℤ\' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair %s %s) %s)) : expr_scope.' % (tes, lhs, rhs))
- print('Notation "\'cmovznzℤ\' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair %s %s) %s)) : expr_scope.' % (tes, lhs, rhs))
- print('Notation "\'cmovznzℤ\' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair %s %s) %s)) : expr_scope.' % (tes, lhs, rhs))
- print('Notation "\'cmovznzℤ\' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair %s %s) %s)) : expr_scope.' % (tes, lhs, rhs))
-for opn, op in (('addcarryx', 'AddWithGetCarry'), ('subborrow', 'SubWithGetBorrow')):
- for wordsz in ADD_CARRY_SUB_BORROW_SIZES:
- lgwordsz = log2_up(wordsz)
- for v0 in (False, True):
- for v1 in (False, True):
- for v2 in (False, True):
- c = ('c' if not v0 else '(Var c)')
- a = ('a' if not v1 else '(Var a)')
- b = ('b' if not v2 else '(Var b)')
- for lgwordsz_small in (0, ): # (0, 3):
- for a_lgwordsz in range(lgwordsz+1):
- for b_lgwordsz in range(lgwordsz+1):
- for notation_string in ('Notation "\'%s_u%d\' ( c , a , b )" := (Op (%s %d (TWord %d) (TWord %d) (TWord %d) (TWord %d) (TWord %d)) (Pair (Pair %s %s) %s)) : expr_scope.',
- ('(' + '*Notation "T0 out ; T1 c_out = \'_%s_u%d\' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d (TWord %d) (TWord %d) (TWord %d) (TWord %d) (TWord %d)) (Pair (Pair %s %s) %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')')):
- print(notation_string % (opn, wordsz, op, wordsz, lgwordsz_small, a_lgwordsz, b_lgwordsz, lgwordsz, lgwordsz_small, c, a, b))
-for opn, op in (('mulx', 'MulSplit'),):
- for wordsz in (32, 64, 128, 51):
- lgwordsz = log2_up(wordsz)
- for v0 in (False, True):
- for v1 in (False, True):
- a = ('a' if not v0 else '(Var a)')
- b = ('b' if not v1 else '(Var b)')
- for lgwordsz_small in (0, 3):
- for notation_string in ('Notation "%s\'%s_u%d%s\' ( a , b )" := (Op (%s %d (TWord %d) (TWord %d) (TWord %d) (TWord %d)) (Pair %s %s)) : expr_scope.',
- ('(' + '*Notation "T0 out ; T1 c_out = %s\'_%s_u%d%s\' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d (TWord %d) (TWord %d) (TWord %d) (TWord %d)) (Pair %s %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')')):
- for arg1 in (lgwordsz_small, lgwordsz):
- for arg2 in (lgwordsz_small, lgwordsz):
- for arg3 in (lgwordsz_small, lgwordsz):
- for arg4 in (lgwordsz_small, lgwordsz): # N.B. the final argument, which is the high bits, must be of a compatible pointer type, and cannot be a pointer to a short word, without invoking a separate function
- cast_val = ('' if arg3 == lgwordsz else (cast_pat % (cast_types[lgwordsz_small], '')))
- extra_fun = ('' if arg4 == lgwordsz else ('_out_u%d' % (2**arg4)))
- print(notation_string % (cast_val, opn, wordsz, extra_fun, op, wordsz, arg1, arg2, arg3, arg4, a, b))
-for opn, op in (('mulx', 'MulSplit'),):
- for wordsz in (32, 64, 128, 51):
- lgwordsz = log2_up(wordsz)
- for v0 in (False, True):
- for v1 in (False, True):
- a = ('a' if not v0 else '(Var a)')
- b = ('b' if not v1 else '(Var b)')
- print(('Notation "\'%s_u%d\' ( a , b )" := (Op (%s %d (TWord %d) (TWord %d) (TWord %d) (TWord %d)) (Pair %s %s)) : expr_scope.') % (opn, wordsz, op, wordsz, lgwordsz, lgwordsz, lgwordsz, lgwordsz, a, b))
- print(('(' + '*Notation "T0 out ; T1 c_out = \'_%s_u%d\' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d (TWord %d) (TWord %d) (TWord %d) (TWord %d)) (Pair %s %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')') % (opn, wordsz, op, wordsz, lgwordsz, lgwordsz, lgwordsz, lgwordsz, a, b))
-for opn, op in (('addcarryx', 'AddWithGetCarry'), ('subborrow', 'SubWithGetBorrow')):
- for wordsz in ADD_CARRY_SUB_BORROW_SIZES:
- lgwordsz = log2_up(wordsz)
- for v0 in (False, True):
- for v1 in (False, True):
- for v2 in (False, True):
- c = ('c' if not v0 else '(Var c)')
- a = ('a' if not v1 else '(Var a)')
- b = ('b' if not v2 else '(Var b)')
- print(('Notation "\'%s_u%dℤ\' ( c , a , b )" := (Op (%s %d _ _ _ _ TZ) (Pair (Pair %s %s) %s)) : expr_scope.') % (opn, wordsz, op, wordsz, c, a, b))
- print(('Notation "\'%s_u%dℤ\' ( c , a , b )" := (Op (%s %d _ _ _ TZ _) (Pair (Pair %s %s) %s)) : expr_scope.') % (opn, wordsz, op, wordsz, c, a, b))
- print(('(' + '*Notation "T0 out ; T1 c_out = \'_%s_u%dℤ\' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d _ _ _ _ TZ) (Pair (Pair %s %s) %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')') % (opn, wordsz, op, wordsz, c, a, b))
- print(('(' + '*Notation "T0 out ; T1 c_out = \'_%s_u%dℤ\' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d _ _ _ TZ _) (Pair (Pair %s %s) %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')') % (opn, wordsz, op, wordsz, c, a, b))
-for opn, op in (('mulx', 'MulSplit'),):
- for wordsz in (32, 64, 128, 51):
- lgwordsz = log2_up(wordsz)
- for v0 in (False, True):
- for v1 in (False, True):
- a = ('a' if not v0 else '(Var a)')
- b = ('b' if not v1 else '(Var b)')
- print(('Notation "\'%s_u%dℤ\' ( a , b )" := (Op (%s %d _ _ _ TZ) (Pair %s %s)) : expr_scope.') % (opn, wordsz, op, wordsz, a, b))
- print(('Notation "\'%s_u%dℤ\' ( a , b )" := (Op (%s %d _ _ TZ _) (Pair %s %s)) : expr_scope.') % (opn, wordsz, op, wordsz, a, b))
- print(('(' + '*Notation "T0 out ; T1 c_out = \'_%s_u%dℤ\' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d _ _ _ TZ) (Pair %s %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')') % (opn, wordsz, op, wordsz, a, b))
- print(('(' + '*Notation "T0 out ; T1 c_out = \'_%s_u%dℤ\' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (%s %d _ _ TZ _) (Pair %s %s)) (fun \'((out, c_out)%%core) => REST)) : expr_scope.*' + ')') % (opn, wordsz, op, wordsz, a, b))
-print('Notation Return x := (Var x).')
-print('Notation C_like := (Expr base_type op _).')
-
->> *)
-Notation "'uint8_t/*bool*/'" := (Tbase (TWord 0)) : expr_scope.
-Notation "'uint8_t'" := (Tbase (TWord 1)) : expr_scope.
-Notation "'uint8_t'" := (Tbase (TWord 2)) : expr_scope.
-Notation "'uint8_t'" := (Tbase (TWord 3)) : expr_scope.
-Notation "'uint16_t'" := (Tbase (TWord 4)) : expr_scope.
-Notation "'uint32_t'" := (Tbase (TWord 5)) : expr_scope.
-Notation "'uint64_t'" := (Tbase (TWord 6)) : expr_scope.
-Notation "'uint128_t'" := (Tbase (TWord 7)) : expr_scope.
-Notation "'uint256_t'" := (Tbase (TWord 8)) : expr_scope.
-Notation ℤ := (Tbase TZ).
-
-Notation "( x * y )" := (Op (Mul _ _ _) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x *ℤ y )" := (Op (Mul _ _ TZ) (Pair x y)) (at level 40, format "( x *ℤ y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul _ _ _) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x *ℤ y )" := (Op (Mul _ _ TZ) (Pair x (Var y))) (at level 40, format "( x *ℤ y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul _ _ _) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x *ℤ y )" := (Op (Mul _ _ TZ) (Pair (Var x) y)) (at level 40, format "( x *ℤ y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul _ _ _) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x *ℤ y )" := (Op (Mul _ _ TZ) (Pair (Var x) (Var y))) (at level 40, format "( x *ℤ y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '1&(uint8_t/*bool*/)' y )" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x * y )" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 1) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S _)) (TWord 1) (TWord 1)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 1) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S _)) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 1) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S _)) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 1) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S _)) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * '(uint8_t)' y )" := (Op (Mul (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x * '(uint8_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint8_t)' y )" := (Op (Mul (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x * y )" := (Op (Mul (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * '(uint16_t)' y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * '(uint16_t)' y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * '(uint16_t)' y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * '(uint16_t)' y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x * '(uint16_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair x y)) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint16_t)' y )" := (Op (Mul (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x * y )" := (Op (Mul (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint16_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * '(uint32_t)' y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * '(uint32_t)' y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * '(uint32_t)' y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * '(uint32_t)' y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x * '(uint32_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair x y)) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint32_t)' y )" := (Op (Mul (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint32_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * '(uint64_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * '(uint64_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * '(uint64_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * '(uint64_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x * '(uint64_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair x y)) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint64_t)' y )" := (Op (Mul (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint64_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * '(uint128_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * '(uint128_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * '(uint128_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * '(uint128_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x * '(uint128_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair x y)) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint128_t)' y )" := (Op (Mul (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint128_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * '(uint256_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * '(uint256_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * '(uint256_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * '(uint256_t)' y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x * '(uint256_t)' y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair x y)) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * '(uint256_t)' y )" := (Op (Mul (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x * '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x * y )" := (Op (Mul (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint256_t)' x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair x y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x * y )") : expr_scope.
-Notation "( x * y )" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x * y )") : expr_scope.
-Notation "( x + y )" := (Op (Add _ _ _) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x +ℤ y )" := (Op (Add _ _ TZ) (Pair x y)) (at level 50, format "( x +ℤ y )") : expr_scope.
-Notation "( x + y )" := (Op (Add _ _ _) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x +ℤ y )" := (Op (Add _ _ TZ) (Pair x (Var y))) (at level 50, format "( x +ℤ y )") : expr_scope.
-Notation "( x + y )" := (Op (Add _ _ _) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x +ℤ y )" := (Op (Add _ _ TZ) (Pair (Var x) y)) (at level 50, format "( x +ℤ y )") : expr_scope.
-Notation "( x + y )" := (Op (Add _ _ _) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x +ℤ y )" := (Op (Add _ _ TZ) (Pair (Var x) (Var y))) (at level 50, format "( x +ℤ y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '1&(uint8_t/*bool*/)' y )" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x + y )" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 1) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S _)) (TWord 1) (TWord 1)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 1) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S _)) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 1) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S _)) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 1) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S _)) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + '(uint8_t)' y )" := (Op (Add (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x + '(uint8_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint8_t)' y )" := (Op (Add (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x + y )" := (Op (Add (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + '(uint16_t)' y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + '(uint16_t)' y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + '(uint16_t)' y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + '(uint16_t)' y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x + '(uint16_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair x y)) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint16_t)' y )" := (Op (Add (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x + y )" := (Op (Add (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + '(uint32_t)' y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + '(uint32_t)' y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + '(uint32_t)' y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + '(uint32_t)' y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x + '(uint32_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair x y)) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint32_t)' y )" := (Op (Add (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + '(uint64_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + '(uint64_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + '(uint64_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + '(uint64_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x + '(uint64_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair x y)) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint64_t)' y )" := (Op (Add (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + '(uint128_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + '(uint128_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + '(uint128_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + '(uint128_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x + '(uint128_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair x y)) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint128_t)' y )" := (Op (Add (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + '(uint256_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + '(uint256_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + '(uint256_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + '(uint256_t)' y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x + '(uint256_t)' y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair x y)) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + '(uint256_t)' y )" := (Op (Add (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x + '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x + y )" := (Op (Add (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair x y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x + y )") : expr_scope.
-Notation "( x + y )" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x + y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub _ _ _) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x -ℤ y )" := (Op (Sub _ _ TZ) (Pair x y)) (at level 50, format "( x -ℤ y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub _ _ _) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x -ℤ y )" := (Op (Sub _ _ TZ) (Pair x (Var y))) (at level 50, format "( x -ℤ y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub _ _ _) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x -ℤ y )" := (Op (Sub _ _ TZ) (Pair (Var x) y)) (at level 50, format "( x -ℤ y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub _ _ _) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x -ℤ y )" := (Op (Sub _ _ TZ) (Pair (Var x) (Var y))) (at level 50, format "( x -ℤ y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '1&(uint8_t/*bool*/)' y )" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x - y )" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '1&(uint8_t/*bool*/)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S _)) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 1) (TWord (S _)) (TWord 1)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S _)) (TWord 1) (TWord 1)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 1) (TWord (S _)) (TWord 1)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S _)) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 1) (TWord (S _)) (TWord 1)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S _)) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 1) (TWord (S _)) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S _)) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S _))) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 2) (TWord (S (S _))) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S _))) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - '(uint8_t)' y )" := (Op (Sub (TWord (S (S (S _)))) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint8_t)' x - '(uint8_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair x y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint8_t)' y )" := (Op (Sub (TWord 3) (TWord (S (S (S _)))) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x - y )" := (Op (Sub (TWord (S (S (S _)))) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint8_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - '(uint16_t)' y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - '(uint16_t)' y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - '(uint16_t)' y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - '(uint16_t)' y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint16_t)' x - '(uint16_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair x y)) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint16_t)' y )" := (Op (Sub (TWord 4) (TWord (S (S (S (S _))))) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x - y )" := (Op (Sub (TWord (S (S (S (S _))))) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint16_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - '(uint32_t)' y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - '(uint32_t)' y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - '(uint32_t)' y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - '(uint32_t)' y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint32_t)' x - '(uint32_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair x y)) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint32_t)' y )" := (Op (Sub (TWord 5) (TWord (S (S (S (S (S _)))))) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S _)))))) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint32_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - '(uint64_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - '(uint64_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - '(uint64_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - '(uint64_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint64_t)' x - '(uint64_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair x y)) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint64_t)' y )" := (Op (Sub (TWord 6) (TWord (S (S (S (S (S (S _))))))) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S _))))))) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint64_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - '(uint128_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - '(uint128_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - '(uint128_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - '(uint128_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint128_t)' x - '(uint128_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair x y)) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint128_t)' y )" := (Op (Sub (TWord 7) (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S _)))))))) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint128_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - '(uint256_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - '(uint256_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - '(uint256_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - '(uint256_t)' y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9, format "( '(uint256_t)' x - '(uint256_t)' y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x y)) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair x y)) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair x (Var y))) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) y)) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - '(uint256_t)' y )" := (Op (Sub (TWord 8) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, y at level 9, format "( x - '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x - y )" := (Op (Sub (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, format "( '(uint256_t)' x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair x y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x - y )") : expr_scope.
-Notation "( x - y )" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x - y )") : expr_scope.
-Notation "( '1&(' x * y ')' )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, format "( '1&(' x * y ')' )").
-Notation "( '1&(' x * y ')' )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, format "( '1&(' x * y ')' )").
-Notation "( '1&(' x * y ')' )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, format "( '1&(' x * y ')' )").
-Notation "( '1&(' x * y ')' )" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, format "( '1&(' x * y ')' )").
-Notation "( '1&(' x + y ')' )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, format "( '1&(' x + y ')' )").
-Notation "( '1&(' x + y ')' )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, format "( '1&(' x + y ')' )").
-Notation "( '1&(' x + y ')' )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, format "( '1&(' x + y ')' )").
-Notation "( '1&(' x + y ')' )" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, format "( '1&(' x + y ')' )").
-Notation "( '1&(' x - y ')' )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, format "( '1&(' x - y ')' )").
-Notation "( '1&(' x - y ')' )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, format "( '1&(' x - y ')' )").
-Notation "( '1&(' x - y ')' )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, format "( '1&(' x - y ')' )").
-Notation "( '1&(' x - y ')' )" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, format "( '1&(' x - y ')' )").
-Notation "( x & y )" := (Op (Land _ _ _) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x &ℤ y )" := (Op (Land _ _ TZ) (Pair x y)) (at level 40, format "( x &ℤ y )") : expr_scope.
-Notation "( x & y )" := (Op (Land _ _ _) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x &ℤ y )" := (Op (Land _ _ TZ) (Pair x (Var y))) (at level 40, format "( x &ℤ y )") : expr_scope.
-Notation "( x & y )" := (Op (Land _ _ _) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x &ℤ y )" := (Op (Land _ _ TZ) (Pair (Var x) y)) (at level 40, format "( x &ℤ y )") : expr_scope.
-Notation "( x & y )" := (Op (Land _ _ _) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x &ℤ y )" := (Op (Land _ _ TZ) (Pair (Var x) (Var y))) (at level 40, format "( x &ℤ y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 40, y at level 9, format "( x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & y )" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x & y )") : expr_scope.
-Notation "( x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & y )" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x & y )") : expr_scope.
-Notation "( x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & y )" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x & y )") : expr_scope.
-Notation "( x & '1&(uint8_t/*bool*/)' y )" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x & y )" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '1&(uint8_t/*bool*/)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & '(uint8_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint8_t)' x & '(uint8_t)' y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & '(uint8_t)' y )" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x & y )" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint8_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint16_t)' x & '(uint16_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & '(uint16_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & '(uint16_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & '(uint16_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint16_t)' x & '(uint16_t)' y )") : expr_scope.
-Notation "( x & '(uint16_t)' y )" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & y )" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 40, x at level 9, format "( '(uint16_t)' x & y )") : expr_scope.
-Notation "( x & '(uint16_t)' y )" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & y )" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint16_t)' x & y )") : expr_scope.
-Notation "( x & '(uint16_t)' y )" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & y )" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint16_t)' x & y )") : expr_scope.
-Notation "( x & '(uint16_t)' y )" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x & y )" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint16_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint32_t)' x & '(uint32_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & '(uint32_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & '(uint32_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & '(uint32_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint32_t)' x & '(uint32_t)' y )") : expr_scope.
-Notation "( x & '(uint32_t)' y )" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & y )" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 40, x at level 9, format "( '(uint32_t)' x & y )") : expr_scope.
-Notation "( x & '(uint32_t)' y )" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & y )" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint32_t)' x & y )") : expr_scope.
-Notation "( x & '(uint32_t)' y )" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & y )" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint32_t)' x & y )") : expr_scope.
-Notation "( x & '(uint32_t)' y )" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x & y )" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint32_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint64_t)' x & '(uint64_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & '(uint64_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & '(uint64_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & '(uint64_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint64_t)' x & '(uint64_t)' y )") : expr_scope.
-Notation "( x & '(uint64_t)' y )" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & y )" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 40, x at level 9, format "( '(uint64_t)' x & y )") : expr_scope.
-Notation "( x & '(uint64_t)' y )" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & y )" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint64_t)' x & y )") : expr_scope.
-Notation "( x & '(uint64_t)' y )" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & y )" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint64_t)' x & y )") : expr_scope.
-Notation "( x & '(uint64_t)' y )" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x & y )" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint64_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint128_t)' x & '(uint128_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & '(uint128_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & '(uint128_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & '(uint128_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint128_t)' x & '(uint128_t)' y )") : expr_scope.
-Notation "( x & '(uint128_t)' y )" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & y )" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 40, x at level 9, format "( '(uint128_t)' x & y )") : expr_scope.
-Notation "( x & '(uint128_t)' y )" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & y )" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint128_t)' x & y )") : expr_scope.
-Notation "( x & '(uint128_t)' y )" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & y )" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint128_t)' x & y )") : expr_scope.
-Notation "( x & '(uint128_t)' y )" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x & y )" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint128_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( '(uint256_t)' x & '(uint256_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & '(uint256_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & '(uint256_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & '(uint256_t)' y )" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9, format "( '(uint256_t)' x & '(uint256_t)' y )") : expr_scope.
-Notation "( x & '(uint256_t)' y )" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 40, y at level 9, format "( x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & y )" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 40, x at level 9, format "( '(uint256_t)' x & y )") : expr_scope.
-Notation "( x & '(uint256_t)' y )" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, y at level 9, format "( x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & y )" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, format "( '(uint256_t)' x & y )") : expr_scope.
-Notation "( x & '(uint256_t)' y )" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, y at level 9, format "( x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & y )" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, format "( '(uint256_t)' x & y )") : expr_scope.
-Notation "( x & '(uint256_t)' y )" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, y at level 9, format "( x & '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x & y )" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, format "( '(uint256_t)' x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair x y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x & y )") : expr_scope.
-Notation "( x & y )" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x & y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor _ _ _) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x |ℤ y )" := (Op (Lor _ _ TZ) (Pair x y)) (at level 45, format "( x |ℤ y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor _ _ _) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x |ℤ y )" := (Op (Lor _ _ TZ) (Pair x (Var y))) (at level 45, format "( x |ℤ y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor _ _ _) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x |ℤ y )" := (Op (Lor _ _ TZ) (Pair (Var x) y)) (at level 45, format "( x |ℤ y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor _ _ _) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x |ℤ y )" := (Op (Lor _ _ TZ) (Pair (Var x) (Var y))) (at level 45, format "( x |ℤ y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '1&(uint8_t/*bool*/)' x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 45, y at level 9, format "( x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | y )" := (Op (Lor (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 45, x at level 9, format "( '1&(uint8_t/*bool*/)' x | y )") : expr_scope.
-Notation "( x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | y )" := (Op (Lor (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 45, x at level 9, format "( '1&(uint8_t/*bool*/)' x | y )") : expr_scope.
-Notation "( x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | y )" := (Op (Lor (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '1&(uint8_t/*bool*/)' x | y )") : expr_scope.
-Notation "( x | '1&(uint8_t/*bool*/)' y )" := (Op (Lor (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '1&(uint8_t/*bool*/)' y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x | y )" := (Op (Lor (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '1&(uint8_t/*bool*/)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 0) (TWord 0) (TWord 0)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 1) (TWord 1) (TWord 1)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 2) (TWord 2) (TWord 2)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | '(uint8_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint8_t)' x | '(uint8_t)' y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | '(uint8_t)' y )" := (Op (Lor (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint8_t)' y )") : expr_scope.
-Notation "( '(uint8_t)' x | y )" := (Op (Lor (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint8_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 3) (TWord 3) (TWord 3)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint16_t)' x | '(uint16_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint16_t)' x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | '(uint16_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint16_t)' x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | '(uint16_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint16_t)' x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | '(uint16_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint16_t)' x | '(uint16_t)' y )") : expr_scope.
-Notation "( x | '(uint16_t)' y )" := (Op (Lor (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | y )" := (Op (Lor (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 45, x at level 9, format "( '(uint16_t)' x | y )") : expr_scope.
-Notation "( x | '(uint16_t)' y )" := (Op (Lor (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | y )" := (Op (Lor (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint16_t)' x | y )") : expr_scope.
-Notation "( x | '(uint16_t)' y )" := (Op (Lor (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | y )" := (Op (Lor (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint16_t)' x | y )") : expr_scope.
-Notation "( x | '(uint16_t)' y )" := (Op (Lor (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint16_t)' y )") : expr_scope.
-Notation "( '(uint16_t)' x | y )" := (Op (Lor (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint16_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 4) (TWord 4) (TWord 4)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint32_t)' x | '(uint32_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint32_t)' x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | '(uint32_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint32_t)' x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | '(uint32_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint32_t)' x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | '(uint32_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint32_t)' x | '(uint32_t)' y )") : expr_scope.
-Notation "( x | '(uint32_t)' y )" := (Op (Lor (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | y )" := (Op (Lor (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 45, x at level 9, format "( '(uint32_t)' x | y )") : expr_scope.
-Notation "( x | '(uint32_t)' y )" := (Op (Lor (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | y )" := (Op (Lor (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint32_t)' x | y )") : expr_scope.
-Notation "( x | '(uint32_t)' y )" := (Op (Lor (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | y )" := (Op (Lor (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint32_t)' x | y )") : expr_scope.
-Notation "( x | '(uint32_t)' y )" := (Op (Lor (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint32_t)' y )") : expr_scope.
-Notation "( '(uint32_t)' x | y )" := (Op (Lor (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint32_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 5) (TWord 5) (TWord 5)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint64_t)' x | '(uint64_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint64_t)' x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | '(uint64_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint64_t)' x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | '(uint64_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint64_t)' x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | '(uint64_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint64_t)' x | '(uint64_t)' y )") : expr_scope.
-Notation "( x | '(uint64_t)' y )" := (Op (Lor (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | y )" := (Op (Lor (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 45, x at level 9, format "( '(uint64_t)' x | y )") : expr_scope.
-Notation "( x | '(uint64_t)' y )" := (Op (Lor (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | y )" := (Op (Lor (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint64_t)' x | y )") : expr_scope.
-Notation "( x | '(uint64_t)' y )" := (Op (Lor (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | y )" := (Op (Lor (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint64_t)' x | y )") : expr_scope.
-Notation "( x | '(uint64_t)' y )" := (Op (Lor (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint64_t)' y )") : expr_scope.
-Notation "( '(uint64_t)' x | y )" := (Op (Lor (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint64_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 6) (TWord 6) (TWord 6)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint128_t)' x | '(uint128_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint128_t)' x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | '(uint128_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint128_t)' x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | '(uint128_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint128_t)' x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | '(uint128_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint128_t)' x | '(uint128_t)' y )") : expr_scope.
-Notation "( x | '(uint128_t)' y )" := (Op (Lor (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | y )" := (Op (Lor (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 45, x at level 9, format "( '(uint128_t)' x | y )") : expr_scope.
-Notation "( x | '(uint128_t)' y )" := (Op (Lor (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | y )" := (Op (Lor (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint128_t)' x | y )") : expr_scope.
-Notation "( x | '(uint128_t)' y )" := (Op (Lor (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | y )" := (Op (Lor (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint128_t)' x | y )") : expr_scope.
-Notation "( x | '(uint128_t)' y )" := (Op (Lor (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint128_t)' y )") : expr_scope.
-Notation "( '(uint128_t)' x | y )" := (Op (Lor (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint128_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 7) (TWord 7) (TWord 7)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( '(uint256_t)' x | '(uint256_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 45, x at level 9, y at level 9, format "( '(uint256_t)' x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | '(uint256_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint256_t)' x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | '(uint256_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 45, x at level 9, y at level 9, format "( '(uint256_t)' x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | '(uint256_t)' y )" := (Op (Lor (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 45, x at level 9, y at level 9, format "( '(uint256_t)' x | '(uint256_t)' y )") : expr_scope.
-Notation "( x | '(uint256_t)' y )" := (Op (Lor (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 45, y at level 9, format "( x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | y )" := (Op (Lor (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 45, x at level 9, format "( '(uint256_t)' x | y )") : expr_scope.
-Notation "( x | '(uint256_t)' y )" := (Op (Lor (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 45, y at level 9, format "( x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | y )" := (Op (Lor (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 45, x at level 9, format "( '(uint256_t)' x | y )") : expr_scope.
-Notation "( x | '(uint256_t)' y )" := (Op (Lor (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 45, y at level 9, format "( x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | y )" := (Op (Lor (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 45, x at level 9, format "( '(uint256_t)' x | y )") : expr_scope.
-Notation "( x | '(uint256_t)' y )" := (Op (Lor (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 45, y at level 9, format "( x | '(uint256_t)' y )") : expr_scope.
-Notation "( '(uint256_t)' x | y )" := (Op (Lor (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 45, x at level 9, format "( '(uint256_t)' x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 8) (TWord 8) (TWord 8)) (Pair x y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)) (format "( x | y )") : expr_scope.
-Notation "( x | y )" := (Op (Lor (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (format "( x | y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl _ _ _) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( x <<ℤ y )" := (Op (Shl _ _ TZ) (Pair x y)) (at level 30, format "( x <<ℤ y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl _ _ _) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( x <<ℤ y )" := (Op (Shl _ _ TZ) (Pair x (Var y))) (at level 30, format "( x <<ℤ y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl _ _ _) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( x <<ℤ y )" := (Op (Shl _ _ TZ) (Pair (Var x) y)) (at level 30, format "( x <<ℤ y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl _ _ _) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( x <<ℤ y )" := (Op (Shl _ _ TZ) (Pair (Var x) (Var y))) (at level 30, format "( x <<ℤ y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 30, format "( '1&(uint8_t/*bool*/)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 30, format "( '1&(uint8_t/*bool*/)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 30, format "( '1&(uint8_t/*bool*/)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '1&(uint8_t/*bool*/)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 30, format "( '1&(uint8_t/*bool*/)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint8_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint8_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint16_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 30, format "( '(uint16_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint16_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 30, format "( '(uint16_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint16_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 30, format "( '(uint16_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint16_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint16_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint32_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 30, format "( '(uint32_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint32_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 30, format "( '(uint32_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint32_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 30, format "( '(uint32_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint32_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint32_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint64_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 30, format "( '(uint64_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint64_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 30, format "( '(uint64_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint64_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 30, format "( '(uint64_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint64_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint64_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint128_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 30, format "( '(uint128_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint128_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 30, format "( '(uint128_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint128_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 30, format "( '(uint128_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint128_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint128_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint256_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 30, format "( '(uint256_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint256_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 30, format "( '(uint256_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (format "( x << y )") : expr_scope.
-Notation "( '(uint256_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 30, format "( '(uint256_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (format "( x << y )") : expr_scope.
-Notation "( '(uint256_t)' x << y )" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 30, format "( '(uint256_t)' x << y )") : expr_scope.
-Notation "( x << y )" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (format "( x << y )") : expr_scope.
-Notation "( x >> y )" := (Op (Shr _ _ _) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "( x >>ℤ y )" := (Op (Shr _ _ TZ) (Pair x y)) (at level 30, format "( x >>ℤ y )") : expr_scope.
-Notation "( x >> y )" := (Op (Shr _ _ _) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "( x >>ℤ y )" := (Op (Shr _ _ TZ) (Pair x (Var y))) (at level 30, format "( x >>ℤ y )") : expr_scope.
-Notation "( x >> y )" := (Op (Shr _ _ _) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "( x >>ℤ y )" := (Op (Shr _ _ TZ) (Pair (Var x) y)) (at level 30, format "( x >>ℤ y )") : expr_scope.
-Notation "( x >> y )" := (Op (Shr _ _ _) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "( x >>ℤ y )" := (Op (Shr _ _ TZ) (Pair (Var x) (Var y))) (at level 30, format "( x >>ℤ y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint8_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint16_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint16_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint16_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint16_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint32_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint32_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint32_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint32_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint64_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint64_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint64_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint64_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (format "( x >> y )") : expr_scope.
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 30) : expr_scope.
-Notation "( x >> y )" := (Op (Shr (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (format "( x >> y )") : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz32' ( v , x , y )") : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S _)))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S _)))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz32' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S _)))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz64' ( v , x , y )") : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz64' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S _))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznz128' ( v , x , y )") : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznz128' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _)))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair v x) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair v x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair v (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair (Var v) x) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _)) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t/*bool*/)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S _))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S _)))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair v x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair v x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint8_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S _))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint8_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v x) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint16_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S _)))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint16_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v x) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint32_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S _))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint32_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v x) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint64_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S _)))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint64_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v x) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair v (Var x)) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) x) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) y)) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'(uint128_t)' 'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S _))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) (format "'(uint128_t)' 'cmovznzℤ' ( v , x , y )") : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord _) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect (TWord _) (TWord _) (TWord (S (S (S (S (S (S (S (S _))))))))) (TWord (S (S (S (S (S (S (S (S _)))))))))) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair v x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair v x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair v (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair v (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair (Var v) x) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair (Var v) x) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair (Var v) (Var x)) y)) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect TZ _ _ _) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ TZ _ _) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ TZ _) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'cmovznzℤ' ( v , x , y )" := (Op (Zselect _ _ _ TZ) (Pair (Pair (Var v) (Var x)) (Var y))) : expr_scope.
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32' ( c , a , b )" := (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64' ( c , a , b )" := (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128' ( c , a , b )" := (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25' ( c , a , b )" := (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26' ( c , a , b )" := (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51' ( c , a , b )" := (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32' ( c , a , b )" := (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64' ( c , a , b )" := (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 1) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 2) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 3) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 4) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 5) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 6) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 1) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 2) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 3) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 4) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 5) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 6) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128' ( c , a , b )" := (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25' ( c , a , b )" := (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 1) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 2) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 3) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 4) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 1) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 2) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 3) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 4) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26' ( c , a , b )" := (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 (TWord 0) (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 1) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 2) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 3) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 4) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 5) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 1) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 2) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 3) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 4) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 5) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51' ( c , a , b )" := (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u1' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 0) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 0) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 0) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32_out_u8' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 3) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 3) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 3) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u1' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64_out_u8' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u1' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 0) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 0) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 0) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128_out_u8' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 3) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 3) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 3) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'1&(uint8_t/*bool*/)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u1' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 0) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 0) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '1&(uint8_t/*bool*/)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 0) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u1' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 0)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'(uint8_t)' 'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51_out_u8' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 3) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 3) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '(uint8_t)' '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 3) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51_out_u8' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 3)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32' ( a , b )" := (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 (TWord 5) (TWord 5) (TWord 5) (TWord 5)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64' ( a , b )" := (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128' ( a , b )" := (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 (TWord 7) (TWord 7) (TWord 7) (TWord 7)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51' ( a , b )" := (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 (TWord 6) (TWord 6) (TWord 6) (TWord 6)) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u32ℤ' ( c , a , b )" := (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u64ℤ' ( c , a , b )" := (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u128ℤ' ( c , a , b )" := (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u25ℤ' ( c , a , b )" := (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u26ℤ' ( c , a , b )" := (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'addcarryx_u51ℤ' ( c , a , b )" := (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_addcarryx_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (AddWithGetCarry 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u32ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u32ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 32 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u64ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u64ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 64 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u128ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u128ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 128 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u25ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u25ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 25 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u26ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u26ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 26 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c a) b)) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair c (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-Notation "'subborrow_u51ℤ' ( c , a , b )" := (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ _ TZ) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_subborrow_u51ℤ' ( c , a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (SubWithGetBorrow 51 _ _ _ TZ _) (Pair (Pair (Var c) (Var a)) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ _ TZ) (Pair a b)) : expr_scope.
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ TZ _) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ _ TZ) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ TZ _) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ _ TZ) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ TZ _) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ _ TZ) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ TZ _) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ _ TZ) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ TZ _) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ _ TZ) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ TZ _) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ _ TZ) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u32ℤ' ( a , b )" := (Op (MulSplit 32 _ _ TZ _) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ _ TZ) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u32ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 32 _ _ TZ _) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ _ TZ) (Pair a b)) : expr_scope.
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ TZ _) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ _ TZ) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ TZ _) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ _ TZ) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ TZ _) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ _ TZ) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ TZ _) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ _ TZ) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ TZ _) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ _ TZ) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ TZ _) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ _ TZ) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u64ℤ' ( a , b )" := (Op (MulSplit 64 _ _ TZ _) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ _ TZ) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u64ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 64 _ _ TZ _) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ _ TZ) (Pair a b)) : expr_scope.
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ TZ _) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ _ TZ) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ TZ _) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ _ TZ) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ TZ _) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ _ TZ) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ TZ _) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ _ TZ) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ TZ _) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ _ TZ) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ TZ _) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ _ TZ) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u128ℤ' ( a , b )" := (Op (MulSplit 128 _ _ TZ _) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ _ TZ) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u128ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 128 _ _ TZ _) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ _ TZ) (Pair a b)) : expr_scope.
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ TZ _) (Pair a b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ _ TZ) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ TZ _) (Pair a b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ _ TZ) (Pair a (Var b))) : expr_scope.
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ TZ _) (Pair a (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ _ TZ) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ TZ _) (Pair a (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ _ TZ) (Pair (Var a) b)) : expr_scope.
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ TZ _) (Pair (Var a) b)) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ _ TZ) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ TZ _) (Pair (Var a) b)) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ _ TZ) (Pair (Var a) (Var b))) : expr_scope.
-Notation "'mulx_u51ℤ' ( a , b )" := (Op (MulSplit 51 _ _ TZ _) (Pair (Var a) (Var b))) : expr_scope.
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ _ TZ) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-(*Notation "T0 out ; T1 c_out = '_mulx_u51ℤ' ( a , b , & out ) ; REST" := (LetIn (tx:=Prod T0 T1) (Op (MulSplit 51 _ _ TZ _) (Pair (Var a) (Var b))) (fun '((out, c_out)%core) => REST)) : expr_scope.*)
-Notation Return x := (Var x).
-Notation C_like := (Expr base_type op _).
diff --git a/src/Compilers/Z/CommonSubexpressionElimination.v b/src/Compilers/Z/CommonSubexpressionElimination.v
deleted file mode 100644
index 2493f6041..000000000
--- a/src/Compilers/Z/CommonSubexpressionElimination.v
+++ /dev/null
@@ -1,230 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.Sorting.Mergesort.
-Require Import Coq.Structures.Orders.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-Require Import Crypto.Compilers.CommonSubexpressionEliminationProperties.
-
-Local Set Decidable Equality Schemes.
-Local Set Boolean Equality Schemes.
-Inductive symbolic_op :=
-| SOpConst (z : Z)
-| SAdd
-| SSub
-| SMul
-| SShl
-| SShr
-| SLand
-| SLor
-| SOpp
-| SIdWithAlt
-| SZselect
-| SMulSplit (bitwidth : Z)
-| SAddWithCarry
-| SAddWithGetCarry (bitwidth : Z)
-| SSubWithBorrow
-| SSubWithGetBorrow (bitwidth : Z)
-.
-
-Definition symbolic_op_leb (x y : symbolic_op) : bool
- := match x, y with
- | SOpConst z1, SOpConst z2 => Z.leb z1 z2
- | SAddWithGetCarry bw1, SAddWithGetCarry bw2 => Z.leb bw1 bw2
- | SSubWithGetBorrow bw1, SSubWithGetBorrow bw2 => Z.leb bw1 bw2
- | SOpConst _, _ => true
- | _, SOpConst _ => false
- | SAdd, _ => true
- | _, SAdd => false
- | SSub, _ => true
- | _, SSub => false
- | SMul, _ => true
- | _, SMul => false
- | SShl, _ => true
- | _, SShl => false
- | SShr, _ => true
- | _, SShr => false
- | SLand, _ => true
- | _, SLand => false
- | SLor, _ => true
- | _, SLor => false
- | SOpp, _ => true
- | _, SOpp => false
- | SIdWithAlt, _ => true
- | _, SIdWithAlt => false
- | SZselect, _ => true
- | _, SZselect => false
- | SMulSplit _, _ => true
- | _, SMulSplit _ => false
- | SAddWithCarry, _ => true
- | _, SAddWithCarry => false
- | SAddWithGetCarry _, _ => true
- | _, SAddWithGetCarry _ => false
- | SSubWithBorrow, _ => true
- | _, SSubWithBorrow => false
- (*| SSubWithGetBorrow _, _ => true
- | _, SSubWithGetBorrow _ => false*)
- end.
-
-Local Notation symbolic_expr := (@symbolic_expr base_type symbolic_op).
-Local Notation symbolic_expr_beq := (@symbolic_expr_beq base_type symbolic_op base_type_beq symbolic_op_beq).
-Local Notation symbolic_expr_leb := (@symbolic_expr_leb base_type symbolic_op base_type_beq symbolic_op_beq symbolic_op_leb base_type_leb).
-
-Definition symbolize_op s d (opc : op s d) : symbolic_op
- := match opc with
- | OpConst T z => SOpConst z
- | Add T1 T2 Tout => SAdd
- | Sub T1 T2 Tout => SSub
- | Mul T1 T2 Tout => SMul
- | Shl T1 T2 Tout => SShl
- | Shr T1 T2 Tout => SShr
- | Land T1 T2 Tout => SLand
- | Lor T1 T2 Tout => SLor
- | Opp T Tout => SOpp
- | IdWithAlt T1 T2 Tout => SIdWithAlt
- | Zselect T1 T2 T3 Tout => SZselect
- | MulSplit bitwidth T1 T2 Tout1 Tout2 => SMulSplit bitwidth
- | AddWithCarry T1 T2 T3 Tout => SAddWithCarry
- | AddWithGetCarry bitwidth T1 T2 T3 Tout1 Tout2 => SAddWithGetCarry bitwidth
- | SubWithBorrow T1 T2 T3 Tout => SSubWithBorrow
- | SubWithGetBorrow bitwidth T1 T2 T3 Tout1 Tout2 => SSubWithGetBorrow bitwidth
- end.
-
-Definition denote_symbolic_op s d (opc : symbolic_op) : option (op s d)
- := match opc, s, d with
- | SOpConst z, Unit, Tbase T => Some (OpConst z)
- | SAdd, Prod (Tbase _) (Tbase _), Tbase _ => Some (Add _ _ _)
- | SSub, Prod (Tbase _) (Tbase _), Tbase _ => Some (Sub _ _ _)
- | SMul, Prod (Tbase _) (Tbase _), Tbase _ => Some (Mul _ _ _)
- | SShl, Prod (Tbase _) (Tbase _), Tbase _ => Some (Shl _ _ _)
- | SShr, Prod (Tbase _) (Tbase _), Tbase _ => Some (Shr _ _ _)
- | SLand, Prod (Tbase _) (Tbase _), Tbase _ => Some (Land _ _ _)
- | SLor, Prod (Tbase _) (Tbase _), Tbase _ => Some (Lor _ _ _)
- | SOpp, Tbase _, Tbase _ => Some (Opp _ _)
- | SIdWithAlt, Prod (Tbase _) (Tbase _), Tbase _ => Some (IdWithAlt _ _ _)
- | SZselect, Prod (Prod (Tbase _) (Tbase _)) (Tbase _), Tbase _ => Some (Zselect _ _ _ _)
- | SMulSplit bitwidth, Prod (Tbase _) (Tbase _), Prod (Tbase _) (Tbase _)
- => Some (MulSplit bitwidth _ _ _ _)
- | SAddWithCarry, Prod (Prod (Tbase _) (Tbase _)) (Tbase _), Tbase _ => Some (AddWithCarry _ _ _ _)
- | SAddWithGetCarry bitwidth, Prod (Prod (Tbase _) (Tbase _)) (Tbase _), Prod (Tbase _) (Tbase _)
- => Some (AddWithGetCarry bitwidth _ _ _ _ _)
- | SSubWithBorrow, Prod (Prod (Tbase _) (Tbase _)) (Tbase _), Tbase _ => Some (SubWithBorrow _ _ _ _)
- | SSubWithGetBorrow bitwidth, Prod (Prod (Tbase _) (Tbase _)) (Tbase _), Prod (Tbase _) (Tbase _)
- => Some (SubWithGetBorrow bitwidth _ _ _ _ _)
- | SAdd, _, _
- | SSub, _, _
- | SMul, _, _
- | SShl, _, _
- | SShr, _, _
- | SLand, _, _
- | SLor, _, _
- | SOpp, _, _
- | SOpConst _, _, _
- | SIdWithAlt, _, _
- | SZselect, _, _
- | SMulSplit _, _, _
- | SAddWithCarry, _, _
- | SAddWithGetCarry _, _, _
- | SSubWithBorrow, _, _
- | SSubWithGetBorrow _, _, _
- => None
- end.
-
-Lemma symbolic_op_leb_total
- : forall a1 a2, symbolic_op_leb a1 a2 = true \/ symbolic_op_leb a2 a1 = true.
-Proof.
- induction a1, a2; simpl; auto;
- rewrite !Z.leb_le; omega.
-Qed.
-
-Module SymbolicExprOrder <: TotalLeBool.
- Definition t := (flat_type base_type * symbolic_expr)%type.
- Definition leb (x y : t) : bool := symbolic_expr_leb (snd x) (snd y).
- Theorem leb_total : forall a1 a2, leb a1 a2 = true \/ leb a2 a1 = true.
- Proof.
- intros; apply symbolic_expr_leb_total;
- auto using internal_base_type_dec_bl, internal_base_type_dec_lb, internal_symbolic_op_dec_bl, internal_symbolic_op_dec_lb, base_type_leb_total, symbolic_op_leb_total.
- Qed.
-End SymbolicExprOrder.
-
-Module Import SymbolicExprSort := Sort SymbolicExprOrder.
-
-Fixpoint symbolic_op_args_to_list (t : flat_type base_type)
- (opc : symbolic_op) (args : symbolic_expr)
- : list (flat_type base_type * symbolic_expr)
- := match args, t with
- | SOp argT opc' args', _
- => if symbolic_op_beq opc opc'
- then symbolic_op_args_to_list argT opc args'
- else (t, args)::nil
- | SPair x y, Prod A B
- => symbolic_op_args_to_list A opc x ++ symbolic_op_args_to_list B opc y
- | SPair x y, Unit
- => symbolic_op_args_to_list Unit opc x ++ symbolic_op_args_to_list Unit opc y
- | STT, _
- | SVar _, _
- | SPair _ _, _
- | SFst _ _ _, _
- | SSnd _ _ _, _
- | SInvalid, _
- => (t, args)::nil
- end%list.
-
-Fixpoint symbolic_op_list_to_args (args : list (flat_type base_type * symbolic_expr)) : symbolic_expr
- := match args with
- | nil => SInvalid
- | (t, arg)::nil => arg
- | (t1, arg1)::(t2, arg2)::nil
- => SPair arg1 arg2
- | (t1, arg1)::(((t2, arg2)::args'') as args')
- => SPair arg1 (SOp t2 SAdd (symbolic_op_list_to_args args'))
- end%list.
-
-Definition normalize_symbolic_expr_mod_c (opc : symbolic_op) (args : symbolic_expr) : symbolic_expr
- := match opc with
- | SAdd
- | SMul
- | SLand
- | SLor
- => let ls := symbolic_op_args_to_list Unit opc args in
- let ls := sort ls in
- symbolic_op_list_to_args ls
- | SOpConst _
- | SSub
- | SShl
- | SShr
- | SOpp
- | SIdWithAlt
- | SZselect
- | SMulSplit _
- | SAddWithCarry
- | SAddWithGetCarry _
- | SSubWithBorrow
- | SSubWithGetBorrow _
- => args
- end.
-
-Definition csef inline_symbolic_expr_in_lookup {var t} (v : exprf _ _ t) xs
- := @csef base_type symbolic_op base_type_beq symbolic_op_beq
- internal_base_type_dec_bl op symbolize_op
- normalize_symbolic_expr_mod_c
- var inline_symbolic_expr_in_lookup t v xs.
-
-Definition cse inline_symbolic_expr_in_lookup {var} (prefix : list _) {t} (v : expr _ _ t) xs
- := @cse base_type symbolic_op base_type_beq symbolic_op_beq
- internal_base_type_dec_bl op symbolize_op
- normalize_symbolic_expr_mod_c
- inline_symbolic_expr_in_lookup var prefix t v xs.
-
-Definition CSE_gen inline_symbolic_expr_in_lookup {t} (e : Expr t) (prefix : forall var, list { t : flat_type base_type & exprf _ _ t })
- : Expr t
- := @CSE base_type symbolic_op base_type_beq symbolic_op_beq
- internal_base_type_dec_bl op symbolize_op
- normalize_symbolic_expr_mod_c
- inline_symbolic_expr_in_lookup t e prefix.
-
-Definition CSE inline_symbolic_expr_in_lookup {t} (e : Expr t)
- : Expr t
- := @CSE_gen inline_symbolic_expr_in_lookup t e (fun _ => nil).
diff --git a/src/Compilers/Z/CommonSubexpressionEliminationInterp.v b/src/Compilers/Z/CommonSubexpressionEliminationInterp.v
deleted file mode 100644
index 7e7f7910a..000000000
--- a/src/Compilers/Z/CommonSubexpressionEliminationInterp.v
+++ /dev/null
@@ -1,23 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Coq.Lists.List.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.CommonSubexpressionEliminationInterp.
-Require Import Crypto.Compilers.Z.CommonSubexpressionElimination.
-
-Lemma InterpCSE_gen inline_symbolic_expr_in_lookup t (e : Expr t) prefix
- (Hwf : Wf e)
- : forall x, Interp (@CSE_gen inline_symbolic_expr_in_lookup t e prefix) x = Interp e x.
-Proof.
- apply InterpCSE;
- auto using internal_base_type_dec_bl, internal_base_type_dec_lb, internal_symbolic_op_dec_bl, internal_symbolic_op_dec_lb, denote_symbolic_op.
-Qed.
-
-Lemma InterpCSE inline_symbolic_expr_in_lookup t (e : Expr t) (Hwf : Wf e)
- : forall x, Interp (@CSE inline_symbolic_expr_in_lookup t e) x = Interp e x.
-Proof.
- apply InterpCSE_gen; auto.
-Qed.
-
-Hint Rewrite @InterpCSE using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/Z/CommonSubexpressionEliminationWf.v b/src/Compilers/Z/CommonSubexpressionEliminationWf.v
deleted file mode 100644
index 93d422b2d..000000000
--- a/src/Compilers/Z/CommonSubexpressionEliminationWf.v
+++ /dev/null
@@ -1,29 +0,0 @@
-(** * Common Subexpression Elimination for PHOAS Syntax *)
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.CommonSubexpressionEliminationWf.
-Require Import Crypto.Compilers.Z.CommonSubexpressionElimination.
-
-Lemma Wf_CSE_gen inline_symbolic_expr_in_lookup t (e : Expr t)
- prefix
- (Hlen : forall var1 var2, length (prefix var1) = length (prefix var2))
- (Hprefix : forall var1 var2 n t1 t2 e1 e2,
- List.nth_error (prefix var1) n = Some (existT _ t1 e1)
- -> List.nth_error (prefix var2) n = Some (existT _ t2 e2)
- -> exists pf : t1 = t2, wff nil (eq_rect _ (@exprf _ _ _) e1 _ pf) e2)
- (Hwf : Wf e)
- : Wf (@CSE_gen inline_symbolic_expr_in_lookup t e prefix).
-Proof.
- apply Wf_CSE; auto using internal_base_type_dec_bl, internal_base_type_dec_lb, internal_symbolic_op_dec_bl, internal_symbolic_op_dec_lb.
-Qed.
-
-Lemma Wf_CSE inline_symbolic_expr_in_lookup t (e : Expr t)
- (Hwf : Wf e)
- : Wf (@CSE inline_symbolic_expr_in_lookup t e).
-Proof.
- apply Wf_CSE_gen; simpl; auto.
- { destruct n; simpl; try congruence. }
-Qed.
-
-Hint Resolve Wf_CSE : wf.
diff --git a/src/Compilers/Z/FoldTypes.v b/src/Compilers/Z/FoldTypes.v
deleted file mode 100644
index 7b3059e43..000000000
--- a/src/Compilers/Z/FoldTypes.v
+++ /dev/null
@@ -1,17 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.FoldTypes.
-
-Section min_or_max.
- Context (f : base_type -> base_type -> base_type)
- (init : base_type).
-
- Definition TypeFold {t} (e : Expr t) : base_type
- := TypeFold (fun t => t) f init e.
-End min_or_max.
-
-Definition MaxTypeUsed {t} (e : Expr t) : base_type
- := TypeFold base_type_max (TWord 0) e.
-Definition MinTypeUsed {t} (e : Expr t) : base_type
- := TypeFold base_type_min TZ e.
diff --git a/src/Compilers/Z/GeneralizeVar.v b/src/Compilers/Z/GeneralizeVar.v
deleted file mode 100644
index 5431dd77a..000000000
--- a/src/Compilers/Z/GeneralizeVar.v
+++ /dev/null
@@ -1,15 +0,0 @@
-(** * Generalize [var] in [exprf] *)
-Require Import Coq.ZArith.BinInt.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.GeneralizeVar.
-Require Import Crypto.Compilers.Z.Syntax.
-
-(** N.B. This procedure only works when there are no nested lets,
- i.e., nothing like [let x := let y := z in w] in the PHOAS syntax
- tree. This is a limitation of [compile]. *)
-
-Definition GeneralizeVar {t} (e : @Syntax.expr base_type op _ t)
- : option (@Z.Syntax.Expr (domain t -> codomain t))
- := @GeneralizeVar base_type op base_type_beq internal_base_type_dec_bl
- (fun _ t => Op (OpConst 0%Z) TT)
- t e.
diff --git a/src/Compilers/Z/GeneralizeVarInterp.v b/src/Compilers/Z/GeneralizeVarInterp.v
deleted file mode 100644
index a361e24fd..000000000
--- a/src/Compilers/Z/GeneralizeVarInterp.v
+++ /dev/null
@@ -1,23 +0,0 @@
-Require Import Coq.ZArith.BinInt.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.GeneralizeVarInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.GeneralizeVar.
-
-Definition InterpGeneralizeVar
- {interp_base_type}
- {interp_op}
- {t} (e : Expr t)
- (Hwf : Wf e)
- e'
- (He' : GeneralizeVar (e _) = Some e')
- : forall v, Compilers.Syntax.Interp (interp_base_type:=interp_base_type) interp_op e' v
- = Compilers.Syntax.Interp interp_op e v
- := @InterpGeneralizeVar
- base_type op base_type_beq internal_base_type_dec_bl
- internal_base_type_dec_lb
- (fun _ t => Op (OpConst 0%Z) TT)
- interp_base_type
- interp_op
- t e Hwf e' He'.
diff --git a/src/Compilers/Z/GeneralizeVarWf.v b/src/Compilers/Z/GeneralizeVarWf.v
deleted file mode 100644
index d0d97e3c9..000000000
--- a/src/Compilers/Z/GeneralizeVarWf.v
+++ /dev/null
@@ -1,30 +0,0 @@
-Require Import Coq.ZArith.BinInt.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.GeneralizeVarWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.GeneralizeVar.
-
-Definition Wf_GeneralizeVar
- {t} (e1 : expr base_type op t)
- e'
- (He' : GeneralizeVar e1 = Some e')
- : Wf e'
- := @Wf_GeneralizeVar
- base_type op base_type_beq internal_base_type_dec_bl
- internal_base_type_dec_lb
- (fun _ t => Op (OpConst 0%Z) TT)
- t e1 e' He'.
-
-Definition Wf_GeneralizeVar_arrow
- {s d} (e : expr base_type op (Arrow s d))
- e'
- (He' : GeneralizeVar e = Some e')
- : Wf e'
- := @Wf_GeneralizeVar_arrow
- base_type op base_type_beq internal_base_type_dec_bl
- internal_base_type_dec_lb
- (fun _ t => Op (OpConst 0%Z) TT)
- s d e e' He'.
-
-Hint Resolve Wf_GeneralizeVar Wf_GeneralizeVar_arrow : wf.
diff --git a/src/Compilers/Z/HexNotationConstants.v b/src/Compilers/Z/HexNotationConstants.v
deleted file mode 100644
index 0e365d9f8..000000000
--- a/src/Compilers/Z/HexNotationConstants.v
+++ /dev/null
@@ -1,7043 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export bbv.WordScope.
-Require Export Crypto.Util.Notations.
-
-Notation Const x := (Op (OpConst x) TT).
-(* python:
-<<
-#!/usr/bin/env python
-from __future__ import with_statement
-import math
-
-systematic_nums \
- = (list(range(128)) +
- [2**i + j for i in range(256) for j in (1, 0, -1)])
-nums = tuple(sorted(set(systematic_nums + [
- 187,
- 189,
- 317,
- 421,
- 481,
- 569,
- 765,
- 977,
- 5311,
- 32765,
- 32766,
- 65530,
- 65531,
- 65534,
- 114687,
- 121665,
- 130307,
- 131039,
- 131062,
- 131067,
- 261167,
- 261575,
- 262131,
- 262139,
- 262142,
- 523807,
- 524101,
- 524223,
- 524262,
- 524263,
- 524267,
- 524269,
- 524271,
- 524278,
- 524279,
- 524286,
- 679935,
- 1032192,
- 1044479,
- 1047599,
- 1047811,
- 1048202,
- 1048446,
- 1048471,
- 1048511,
- 1048526,
- 1048534,
- 1048538,
- 1048549,
- 1048557,
- 1048558,
- 1048559,
- 1048573,
- 1048574,
- 1359870,
- 2060031,
- 2064384,
- 2081439,
- 2088958,
- 2094335,
- 2095198,
- 2095622,
- 2096127,
- 2096128,
- 2096583,
- 2096942,
- 2097098,
- 2097114,
- 2097118,
- 2097127,
- 2097135,
- 2097143,
- 2097150,
- 4120062,
- 4162878,
- 4188670,
- 4192254,
- 4193166,
- 4193327,
- 4193539,
- 4193735,
- 4193823,
- 4193883,
- 4193987,
- 4194115,
- 4194240,
- 4194254,
- 4194270,
- 4194271,
- 4194275,
- 4194279,
- 4194285,
- 4194286,
- 4194287,
- 4194289,
- 4194293,
- 4194299,
- 4194301,
- 4194302,
- 8323583,
- 8372224,
- 8386654,
- 8387078,
- 8387470,
- 8387646,
- 8387766,
- 8387974,
- 8388127,
- 8388187,
- 8388230,
- 8388291,
- 8388421,
- 8388491,
- 8388503,
- 8388542,
- 8388558,
- 8388570,
- 8388574,
- 8388577,
- 8388578,
- 8388581,
- 8388591,
- 8388593,
- 8388595,
- 8388598,
- 8388599,
- 8388602,
- 8388603,
- 8388604,
- 8388605,
- 8388606,
- 11599871,
- 16647166,
- 16711679,
- 16775935,
- 16776254,
- 16776374,
- 16776582,
- 16776842,
- 16776959,
- 16776982,
- 16777006,
- 16777027,
- 16777029,
- 16777111,
- 16777162,
- 16777182,
- 16777185,
- 16777186,
- 16777187,
- 16777189,
- 16777190,
- 16777191,
- 16777197,
- 16777198,
- 16777199,
- 16777201,
- 16777205,
- 16777206,
- 16777207,
- 16777210,
- 16777211,
- 16777212,
- 16777213,
- 16777214,
- 23199742,
- 33423358,
- 33551870,
- 33554054,
- 33554058,
- 33554222,
- 33554315,
- 33554370,
- 33554374,
- 33554378,
- 33554382,
- 33554394,
- 33554398,
- 33554399,
- 33554401,
- 33554402,
- 33554407,
- 33554410,
- 33554411,
- 33554413,
- 33554414,
- 33554415,
- 33554417,
- 33554422,
- 33554423,
- 33554426,
- 33554427,
- 33554428,
- 33554429,
- 33554430,
- 67107887,
- 67108630,
- 67108798,
- 67108799,
- 67108802,
- 67108814,
- 67108822,
- 67108826,
- 67108830,
- 67108833,
- 67108834,
- 67108837,
- 67108839,
- 67108843,
- 67108845,
- 67108846,
- 67108847,
- 67108849,
- 67108854,
- 67108855,
- 67108858,
- 67108859,
- 67108860,
- 67108861,
- 67108862,
- 134215774,
- 134217598,
- 134217666,
- 134217674,
- 134217678,
- 134217686,
- 134217690,
- 134217694,
- 134217697,
- 134217698,
- 134217699,
- 134217703,
- 134217709,
- 134217710,
- 134217711,
- 134217713,
- 134217718,
- 134217719,
- 134217722,
- 134217724,
- 134217725,
- 134217726,
- 268431360,
- 268435394,
- 268435398,
- 268435406,
- 268435418,
- 268435422,
- 268435426,
- 268435438,
- 268435441,
- 268435443,
- 268435445,
- 268435447,
- 268435450,
- 268435451,
- 268435452,
- 268435453,
- 268435454,
- 536869935,
- 536870882,
- 536870886,
- 536870890,
- 536870893,
- 536870894,
- 536870902,
- 536870906,
- 536870907,
- 536870908,
- 536870909,
- 536870910,
- 678152731,
- 954437177,
- 1054736383,
- 1065418751,
- 1073709055,
- 1073739870,
- 1073741786,
- 1073741814,
- 1073741818,
- 1073741821,
- 1073741822,
- 1332920885,
- 1749801491,
- 2147418110,
- 2147483631,
- 2147483642,
- 2147483644,
- 2147483646,
- 2147483647,
- 2863311531,
- 2969567231,
- 3123612579,
- 3264175145,
- 3303820997,
- 3435973837,
- 3707621341,
- 4008636143,
- 4042322161,
- 4262789119,
- 4289200127,
- 4294639615,
- 4294901759,
- 4294963199,
- 4294966319,
- 4294966531,
- 4294966727,
- 4294966815,
- 4294966875,
- 4294966979,
- 4294967107,
- 4294967109,
- 4294967179,
- 4294967191,
- 4294967262,
- 4294967263,
- 4294967265,
- 4294967267,
- 4294967269,
- 4294967271,
- 4294967275,
- 4294967277,
- 4294967279,
- 4294967281,
- 4294967283,
- 4294967285,
- 4294967287,
- 4294967291,
- 4294967293,
- 4294967294,
- 4294968273,
- 8589934559,
- 8589934567,
- 8589934575,
- 8589934587,
- 8589934590,
- 17179869134,
- 17179869174,
- 17179869182,
- 34359738341,
- 34359738349,
- 34359738355,
- 34359738366,
- 68719476682,
- 68719476707,
- 68719476710,
- 68719476727,
- 68719476733,
- 68719476734,
- 133143985199,
- 137436856320,
- 137438952991,
- 137438953285,
- 137438953355,
- 137438953454,
- 137438953470,
- 266287970398,
- 274844352511,
- 274877902847,
- 274877906919,
- 274877906927,
- 274877906933,
- 274877906939,
- 274877906941,
- 274877906942,
- 549688705022,
- 549755289600,
- 549755813783,
- 549755813838,
- 549755813854,
- 549755813855,
- 549755813866,
- 549755813869,
- 549755813878,
- 549755813882,
- 549755813886,
- 1099511627566,
- 1099511627710,
- 1099511627738,
- 1099511627759,
- 1099511627761,
- 1099511627774,
- 1425929142271,
- 2199023255518,
- 2199023255522,
- 2199023255543,
- 2199023255550,
- 4363955208191,
- 4398046510080,
- 4398046511079,
- 4398046511086,
- 4398046511095,
- 4398046511099,
- 4398046511102,
- 8727910416382,
- 8791798053935,
- 8796090925055,
- 8796093021443,
- 8796093022019,
- 8796093022158,
- 8796093022179,
- 8796093022183,
- 8796093022189,
- 8796093022190,
- 8796093022193,
- 8796093022198,
- 8796093022205,
- 8796093022206,
- 17583596107870,
- 17592181850110,
- 17592186042886,
- 17592186044038,
- 17592186044358,
- 17592186044366,
- 17592186044378,
- 17592186044399,
- 17592186044410,
- 17592186044411,
- 17592186044413,
- 17592186044414,
- 35184372088715,
- 35184372088768,
- 35184372088798,
- 35184372088822,
- 35184372088826,
- 35184372088829,
- 35184372088830,
- 70368735789055,
- 70368744177430,
- 70368744177637,
- 70368744177647,
- 70368744177651,
- 70368744177655,
- 70368744177658,
- 70368744177659,
- 70368744177660,
- 70368744177661,
- 70368744177662,
- 140737471578110,
- 140737479966719,
- 140737488354759,
- 140737488354847,
- 140737488355141,
- 140737488355274,
- 140737488355294,
- 140737488355301,
- 140737488355302,
- 140737488355303,
- 140737488355310,
- 140737488355313,
- 140737488355318,
- 140737488355319,
- 140737488355326,
- 194613558116351,
- 281453501874175,
- 281470681743359,
- 281474959933438,
- 281474976645119,
- 281474976709518,
- 281474976709694,
- 281474976710235,
- 281474976710282,
- 281474976710339,
- 281474976710469,
- 281474976710551,
- 281474976710602,
- 281474976710606,
- 281474976710625,
- 281474976710626,
- 281474976710631,
- 281474976710637,
- 281474976710638,
- 281474976710639,
- 281474976710645,
- 281474976710647,
- 281474976710653,
- 281474976710654,
- 389227116232702,
- 562907003748350,
- 562949953290238,
- 562949953420470,
- 562949953420678,
- 562949953420938,
- 562949953421102,
- 562949953421250,
- 562949953421262,
- 562949953421274,
- 562949953421278,
- 562949953421279,
- 562949953421290,
- 562949953421291,
- 562949953421293,
- 562949953421294,
- 562949953421295,
- 562949953421297,
- 562949953421303,
- 562949953421306,
- 562949953421308,
- 562949953421310,
- 1125899873288191,
- 1125899906842558,
- 1125899906842582,
- 1125899906842586,
- 1125899906842590,
- 1125899906842593,
- 1125899906842594,
- 1125899906842606,
- 1125899906842607,
- 1125899906842619,
- 1125899906842621,
- 1125899906842622,
- 1460151441686527,
- 2211942517178367,
- 2234929182146559,
- 2248776156708863,
- 2251799813160960,
- 2251799813684483,
- 2251799813685186,
- 2251799813685210,
- 2251799813685214,
- 2251799813685217,
- 2251799813685229,
- 2251799813685231,
- 2251799813685238,
- 2251799813685239,
- 2251799813685242,
- 2251799813685245,
- 2251799813685246,
- 2920302883373054,
- 4423885034356734,
- 4469858364293118,
- 4497552313417726,
- 4503595332402223,
- 4503599627368966,
- 4503599627369927,
- 4503599627370015,
- 4503599627370307,
- 4503599627370309,
- 4503599627370434,
- 4503599627370458,
- 4503599627370462,
- 4503599627370475,
- 4503599627370478,
- 4503599627370479,
- 4503599627370490,
- 4503599627370491,
- 4503599627370494,
- 9007190664804446,
- 9007199187632127,
- 9007199254739854,
- 9007199254740030,
- 9007199254740614,
- 9007199254740618,
- 9007199254740950,
- 9007199254740958,
- 9007199254740963,
- 9007199254740967,
- 9007199254740977,
- 9007199254740982,
- 9007199254740988,
- 9007199254740990,
- 18014398509481926,
- 18014398509481934,
- 18014398509481954,
- 18014398509481975,
- 18014398509481981,
- 18014398509481982,
- 36028797018963547,
- 36028797018963651,
- 36028797018963781,
- 36028797018963863,
- 36028797018963937,
- 36028797018963943,
- 36028797018963947,
- 36028797018963949,
- 36028797018963950,
- 36028797018963951,
- 36028797018963962,
- 36028797018963964,
- 36028797018963966,
- 72056494526300160,
- 72057594037927094,
- 72057594037927302,
- 72057594037927562,
- 72057594037927726,
- 72057594037927819,
- 72057594037927874,
- 72057594037927886,
- 72057594037927894,
- 72057594037927898,
- 72057594037927902,
- 72057594037927915,
- 72057594037927919,
- 72057594037927931,
- 72057594037927933,
- 72057594037927934,
- 144115188075855638,
- 144115188075855830,
- 144115188075855838,
- 144115188075855853,
- 144115188075855857,
- 144115188075855862,
- 144115188075855863,
- 144115188075855866,
- 144115188075855867,
- 144115188075855868,
- 144115188075855869,
- 144115188075855870,
- 288230376151711706,
- 288230376151711713,
- 288230376151711714,
- 288230376151711717,
- 288230376151711726,
- 288230376151711727,
- 288230376151711734,
- 288230376151711738,
- 288230376151711740,
- 288230376151711741,
- 288230376151711742,
- 576460752303423426,
- 576460752303423434,
- 576460752303423454,
- 576460752303423467,
- 576460752303423469,
- 576460752303423471,
- 576460752303423473,
- 576460752303423482,
- 576460752303423486,
- 1117984489315730401,
- 1152921504606846934,
- 1152921504606846938,
- 1152921504606846942,
- 1152921504606846946,
- 1152921504606846974,
- 2305843009213693948,
- 2305843009213693950,
- 3353953467947191203,
- 3816567739388183093,
- 4530058275181297663,
- 4575938696385134591,
- 5675921253449092805,
- 9564978408590137875,
- 9708812670373448219,
- 9963214713607832691,
- 10248191152060862009,
- 10330176681277348905,
- 10365313336655843289,
- 11907422100489763477,
- 12273715991527008853,
- 12297829382473034411,
- 12754194144713244671,
- 14757395258967641293,
- 14897608040525528621,
- 14933078535860113213,
- 14978125529935106013,
- 15580212934572586289,
- 17050145153302519317,
- 17216961135462248175,
- 17256631552825064415,
- 17361641481138401521,
- 18308539860144619519,
- 18421974275759013887,
- 18445336698825998335,
- 18446462598732840959,
- 18446726481523507199,
- 18446744065119617023,
- 18446744069414583343,
- 18446744069414584319,
- 18446744069414584320,
- 18446744069414584321,
- 18446744073709486079,
- 18446744073709550851,
- 18446744073709551047,
- 18446744073709551135,
- 18446744073709551195,
- 18446744073709551299,
- 18446744073709551427,
- 18446744073709551429,
- 18446744073709551499,
- 18446744073709551511,
- 18446744073709551583,
- 18446744073709551585,
- 18446744073709551587,
- 18446744073709551589,
- 18446744073709551591,
- 18446744073709551595,
- 18446744073709551597,
- 18446744073709551599,
- 18446744073709551601,
- 18446744073709551603,
- 18446744073709551605,
- 18446744073709551607,
- 18446744073709551611,
- 18446744073709551613,
- 18446744073709551614,
- 77371252455336267181195254,
- 77371252455336267181195262,
- 340282366841710300967557013911933812736,
-])))
-
-def log2_up(i):
- return int(math.ceil(math.log(i, 2)))
-
-def word(i, width=None):
- assert(i >= 0)
- if width is None:
- if i == 0: return word(i, width=1)
- return word(i, width=2**log2_up(log2_up(i + 1)))
- return 'WO~' + '~'.join(bin(i)[2:].rjust(width, '0'))
-
-word_formats = tuple(sorted([(n, hex(n), bin(n), word(n)) for n in nums]))
-
-def header():
- return (r"""Require Import Coq.ZArith.ZArith.
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export bbv.WordScope.
-Require Export Crypto.Util.Notations.
-
-Notation Const x := (Op (OpConst x) TT).
-(""" + r"""* python:
-<<
-""" +
- open(__file__).read() +
- r""">>
- *""" + r""")""")
-
-
-def hex_nots():
- return ('\n'.join('''Notation "'%s'" (* %d (%s) *)\n := (Const %s%%Z).\nNotation "'%s'" (* %d (%s) *)\n := (Const %s).''' % (h, d, h, d, h, d, h, w)
- for d, h, b, w in word_formats))
-def bin_nots():
- return ('\n'.join('''Notation "'%s'" (* %d (%s) *)\n := (Const %s).''' % (b, d, h, w)
- for d, h, b, w in word_formats))
-
-with open('HexNotationConstants.v', 'w') as f:
- f.write(header() + '\n' + hex_nots() + '\n')
-
-with open('BinaryNotationConstants.v', 'w') as f:
- f.write(header() + '\n' + bin_nots() + '\n')
->>
- *)
-Notation "'0x0'" (* 0 (0x0) *)
- := (Const 0%Z).
-Notation "'0x0'" (* 0 (0x0) *)
- := (Const WO~0).
-Notation "'0x1'" (* 1 (0x1) *)
- := (Const 1%Z).
-Notation "'0x1'" (* 1 (0x1) *)
- := (Const WO~1).
-Notation "'0x2'" (* 2 (0x2) *)
- := (Const 2%Z).
-Notation "'0x2'" (* 2 (0x2) *)
- := (Const WO~1~0).
-Notation "'0x3'" (* 3 (0x3) *)
- := (Const 3%Z).
-Notation "'0x3'" (* 3 (0x3) *)
- := (Const WO~1~1).
-Notation "'0x4'" (* 4 (0x4) *)
- := (Const 4%Z).
-Notation "'0x4'" (* 4 (0x4) *)
- := (Const WO~0~1~0~0).
-Notation "'0x5'" (* 5 (0x5) *)
- := (Const 5%Z).
-Notation "'0x5'" (* 5 (0x5) *)
- := (Const WO~0~1~0~1).
-Notation "'0x6'" (* 6 (0x6) *)
- := (Const 6%Z).
-Notation "'0x6'" (* 6 (0x6) *)
- := (Const WO~0~1~1~0).
-Notation "'0x7'" (* 7 (0x7) *)
- := (Const 7%Z).
-Notation "'0x7'" (* 7 (0x7) *)
- := (Const WO~0~1~1~1).
-Notation "'0x8'" (* 8 (0x8) *)
- := (Const 8%Z).
-Notation "'0x8'" (* 8 (0x8) *)
- := (Const WO~1~0~0~0).
-Notation "'0x9'" (* 9 (0x9) *)
- := (Const 9%Z).
-Notation "'0x9'" (* 9 (0x9) *)
- := (Const WO~1~0~0~1).
-Notation "'0xa'" (* 10 (0xa) *)
- := (Const 10%Z).
-Notation "'0xa'" (* 10 (0xa) *)
- := (Const WO~1~0~1~0).
-Notation "'0xb'" (* 11 (0xb) *)
- := (Const 11%Z).
-Notation "'0xb'" (* 11 (0xb) *)
- := (Const WO~1~0~1~1).
-Notation "'0xc'" (* 12 (0xc) *)
- := (Const 12%Z).
-Notation "'0xc'" (* 12 (0xc) *)
- := (Const WO~1~1~0~0).
-Notation "'0xd'" (* 13 (0xd) *)
- := (Const 13%Z).
-Notation "'0xd'" (* 13 (0xd) *)
- := (Const WO~1~1~0~1).
-Notation "'0xe'" (* 14 (0xe) *)
- := (Const 14%Z).
-Notation "'0xe'" (* 14 (0xe) *)
- := (Const WO~1~1~1~0).
-Notation "'0xf'" (* 15 (0xf) *)
- := (Const 15%Z).
-Notation "'0xf'" (* 15 (0xf) *)
- := (Const WO~1~1~1~1).
-Notation "'0x10'" (* 16 (0x10) *)
- := (Const 16%Z).
-Notation "'0x10'" (* 16 (0x10) *)
- := (Const WO~0~0~0~1~0~0~0~0).
-Notation "'0x11'" (* 17 (0x11) *)
- := (Const 17%Z).
-Notation "'0x11'" (* 17 (0x11) *)
- := (Const WO~0~0~0~1~0~0~0~1).
-Notation "'0x12'" (* 18 (0x12) *)
- := (Const 18%Z).
-Notation "'0x12'" (* 18 (0x12) *)
- := (Const WO~0~0~0~1~0~0~1~0).
-Notation "'0x13'" (* 19 (0x13) *)
- := (Const 19%Z).
-Notation "'0x13'" (* 19 (0x13) *)
- := (Const WO~0~0~0~1~0~0~1~1).
-Notation "'0x14'" (* 20 (0x14) *)
- := (Const 20%Z).
-Notation "'0x14'" (* 20 (0x14) *)
- := (Const WO~0~0~0~1~0~1~0~0).
-Notation "'0x15'" (* 21 (0x15) *)
- := (Const 21%Z).
-Notation "'0x15'" (* 21 (0x15) *)
- := (Const WO~0~0~0~1~0~1~0~1).
-Notation "'0x16'" (* 22 (0x16) *)
- := (Const 22%Z).
-Notation "'0x16'" (* 22 (0x16) *)
- := (Const WO~0~0~0~1~0~1~1~0).
-Notation "'0x17'" (* 23 (0x17) *)
- := (Const 23%Z).
-Notation "'0x17'" (* 23 (0x17) *)
- := (Const WO~0~0~0~1~0~1~1~1).
-Notation "'0x18'" (* 24 (0x18) *)
- := (Const 24%Z).
-Notation "'0x18'" (* 24 (0x18) *)
- := (Const WO~0~0~0~1~1~0~0~0).
-Notation "'0x19'" (* 25 (0x19) *)
- := (Const 25%Z).
-Notation "'0x19'" (* 25 (0x19) *)
- := (Const WO~0~0~0~1~1~0~0~1).
-Notation "'0x1a'" (* 26 (0x1a) *)
- := (Const 26%Z).
-Notation "'0x1a'" (* 26 (0x1a) *)
- := (Const WO~0~0~0~1~1~0~1~0).
-Notation "'0x1b'" (* 27 (0x1b) *)
- := (Const 27%Z).
-Notation "'0x1b'" (* 27 (0x1b) *)
- := (Const WO~0~0~0~1~1~0~1~1).
-Notation "'0x1c'" (* 28 (0x1c) *)
- := (Const 28%Z).
-Notation "'0x1c'" (* 28 (0x1c) *)
- := (Const WO~0~0~0~1~1~1~0~0).
-Notation "'0x1d'" (* 29 (0x1d) *)
- := (Const 29%Z).
-Notation "'0x1d'" (* 29 (0x1d) *)
- := (Const WO~0~0~0~1~1~1~0~1).
-Notation "'0x1e'" (* 30 (0x1e) *)
- := (Const 30%Z).
-Notation "'0x1e'" (* 30 (0x1e) *)
- := (Const WO~0~0~0~1~1~1~1~0).
-Notation "'0x1f'" (* 31 (0x1f) *)
- := (Const 31%Z).
-Notation "'0x1f'" (* 31 (0x1f) *)
- := (Const WO~0~0~0~1~1~1~1~1).
-Notation "'0x20'" (* 32 (0x20) *)
- := (Const 32%Z).
-Notation "'0x20'" (* 32 (0x20) *)
- := (Const WO~0~0~1~0~0~0~0~0).
-Notation "'0x21'" (* 33 (0x21) *)
- := (Const 33%Z).
-Notation "'0x21'" (* 33 (0x21) *)
- := (Const WO~0~0~1~0~0~0~0~1).
-Notation "'0x22'" (* 34 (0x22) *)
- := (Const 34%Z).
-Notation "'0x22'" (* 34 (0x22) *)
- := (Const WO~0~0~1~0~0~0~1~0).
-Notation "'0x23'" (* 35 (0x23) *)
- := (Const 35%Z).
-Notation "'0x23'" (* 35 (0x23) *)
- := (Const WO~0~0~1~0~0~0~1~1).
-Notation "'0x24'" (* 36 (0x24) *)
- := (Const 36%Z).
-Notation "'0x24'" (* 36 (0x24) *)
- := (Const WO~0~0~1~0~0~1~0~0).
-Notation "'0x25'" (* 37 (0x25) *)
- := (Const 37%Z).
-Notation "'0x25'" (* 37 (0x25) *)
- := (Const WO~0~0~1~0~0~1~0~1).
-Notation "'0x26'" (* 38 (0x26) *)
- := (Const 38%Z).
-Notation "'0x26'" (* 38 (0x26) *)
- := (Const WO~0~0~1~0~0~1~1~0).
-Notation "'0x27'" (* 39 (0x27) *)
- := (Const 39%Z).
-Notation "'0x27'" (* 39 (0x27) *)
- := (Const WO~0~0~1~0~0~1~1~1).
-Notation "'0x28'" (* 40 (0x28) *)
- := (Const 40%Z).
-Notation "'0x28'" (* 40 (0x28) *)
- := (Const WO~0~0~1~0~1~0~0~0).
-Notation "'0x29'" (* 41 (0x29) *)
- := (Const 41%Z).
-Notation "'0x29'" (* 41 (0x29) *)
- := (Const WO~0~0~1~0~1~0~0~1).
-Notation "'0x2a'" (* 42 (0x2a) *)
- := (Const 42%Z).
-Notation "'0x2a'" (* 42 (0x2a) *)
- := (Const WO~0~0~1~0~1~0~1~0).
-Notation "'0x2b'" (* 43 (0x2b) *)
- := (Const 43%Z).
-Notation "'0x2b'" (* 43 (0x2b) *)
- := (Const WO~0~0~1~0~1~0~1~1).
-Notation "'0x2c'" (* 44 (0x2c) *)
- := (Const 44%Z).
-Notation "'0x2c'" (* 44 (0x2c) *)
- := (Const WO~0~0~1~0~1~1~0~0).
-Notation "'0x2d'" (* 45 (0x2d) *)
- := (Const 45%Z).
-Notation "'0x2d'" (* 45 (0x2d) *)
- := (Const WO~0~0~1~0~1~1~0~1).
-Notation "'0x2e'" (* 46 (0x2e) *)
- := (Const 46%Z).
-Notation "'0x2e'" (* 46 (0x2e) *)
- := (Const WO~0~0~1~0~1~1~1~0).
-Notation "'0x2f'" (* 47 (0x2f) *)
- := (Const 47%Z).
-Notation "'0x2f'" (* 47 (0x2f) *)
- := (Const WO~0~0~1~0~1~1~1~1).
-Notation "'0x30'" (* 48 (0x30) *)
- := (Const 48%Z).
-Notation "'0x30'" (* 48 (0x30) *)
- := (Const WO~0~0~1~1~0~0~0~0).
-Notation "'0x31'" (* 49 (0x31) *)
- := (Const 49%Z).
-Notation "'0x31'" (* 49 (0x31) *)
- := (Const WO~0~0~1~1~0~0~0~1).
-Notation "'0x32'" (* 50 (0x32) *)
- := (Const 50%Z).
-Notation "'0x32'" (* 50 (0x32) *)
- := (Const WO~0~0~1~1~0~0~1~0).
-Notation "'0x33'" (* 51 (0x33) *)
- := (Const 51%Z).
-Notation "'0x33'" (* 51 (0x33) *)
- := (Const WO~0~0~1~1~0~0~1~1).
-Notation "'0x34'" (* 52 (0x34) *)
- := (Const 52%Z).
-Notation "'0x34'" (* 52 (0x34) *)
- := (Const WO~0~0~1~1~0~1~0~0).
-Notation "'0x35'" (* 53 (0x35) *)
- := (Const 53%Z).
-Notation "'0x35'" (* 53 (0x35) *)
- := (Const WO~0~0~1~1~0~1~0~1).
-Notation "'0x36'" (* 54 (0x36) *)
- := (Const 54%Z).
-Notation "'0x36'" (* 54 (0x36) *)
- := (Const WO~0~0~1~1~0~1~1~0).
-Notation "'0x37'" (* 55 (0x37) *)
- := (Const 55%Z).
-Notation "'0x37'" (* 55 (0x37) *)
- := (Const WO~0~0~1~1~0~1~1~1).
-Notation "'0x38'" (* 56 (0x38) *)
- := (Const 56%Z).
-Notation "'0x38'" (* 56 (0x38) *)
- := (Const WO~0~0~1~1~1~0~0~0).
-Notation "'0x39'" (* 57 (0x39) *)
- := (Const 57%Z).
-Notation "'0x39'" (* 57 (0x39) *)
- := (Const WO~0~0~1~1~1~0~0~1).
-Notation "'0x3a'" (* 58 (0x3a) *)
- := (Const 58%Z).
-Notation "'0x3a'" (* 58 (0x3a) *)
- := (Const WO~0~0~1~1~1~0~1~0).
-Notation "'0x3b'" (* 59 (0x3b) *)
- := (Const 59%Z).
-Notation "'0x3b'" (* 59 (0x3b) *)
- := (Const WO~0~0~1~1~1~0~1~1).
-Notation "'0x3c'" (* 60 (0x3c) *)
- := (Const 60%Z).
-Notation "'0x3c'" (* 60 (0x3c) *)
- := (Const WO~0~0~1~1~1~1~0~0).
-Notation "'0x3d'" (* 61 (0x3d) *)
- := (Const 61%Z).
-Notation "'0x3d'" (* 61 (0x3d) *)
- := (Const WO~0~0~1~1~1~1~0~1).
-Notation "'0x3e'" (* 62 (0x3e) *)
- := (Const 62%Z).
-Notation "'0x3e'" (* 62 (0x3e) *)
- := (Const WO~0~0~1~1~1~1~1~0).
-Notation "'0x3f'" (* 63 (0x3f) *)
- := (Const 63%Z).
-Notation "'0x3f'" (* 63 (0x3f) *)
- := (Const WO~0~0~1~1~1~1~1~1).
-Notation "'0x40'" (* 64 (0x40) *)
- := (Const 64%Z).
-Notation "'0x40'" (* 64 (0x40) *)
- := (Const WO~0~1~0~0~0~0~0~0).
-Notation "'0x41'" (* 65 (0x41) *)
- := (Const 65%Z).
-Notation "'0x41'" (* 65 (0x41) *)
- := (Const WO~0~1~0~0~0~0~0~1).
-Notation "'0x42'" (* 66 (0x42) *)
- := (Const 66%Z).
-Notation "'0x42'" (* 66 (0x42) *)
- := (Const WO~0~1~0~0~0~0~1~0).
-Notation "'0x43'" (* 67 (0x43) *)
- := (Const 67%Z).
-Notation "'0x43'" (* 67 (0x43) *)
- := (Const WO~0~1~0~0~0~0~1~1).
-Notation "'0x44'" (* 68 (0x44) *)
- := (Const 68%Z).
-Notation "'0x44'" (* 68 (0x44) *)
- := (Const WO~0~1~0~0~0~1~0~0).
-Notation "'0x45'" (* 69 (0x45) *)
- := (Const 69%Z).
-Notation "'0x45'" (* 69 (0x45) *)
- := (Const WO~0~1~0~0~0~1~0~1).
-Notation "'0x46'" (* 70 (0x46) *)
- := (Const 70%Z).
-Notation "'0x46'" (* 70 (0x46) *)
- := (Const WO~0~1~0~0~0~1~1~0).
-Notation "'0x47'" (* 71 (0x47) *)
- := (Const 71%Z).
-Notation "'0x47'" (* 71 (0x47) *)
- := (Const WO~0~1~0~0~0~1~1~1).
-Notation "'0x48'" (* 72 (0x48) *)
- := (Const 72%Z).
-Notation "'0x48'" (* 72 (0x48) *)
- := (Const WO~0~1~0~0~1~0~0~0).
-Notation "'0x49'" (* 73 (0x49) *)
- := (Const 73%Z).
-Notation "'0x49'" (* 73 (0x49) *)
- := (Const WO~0~1~0~0~1~0~0~1).
-Notation "'0x4a'" (* 74 (0x4a) *)
- := (Const 74%Z).
-Notation "'0x4a'" (* 74 (0x4a) *)
- := (Const WO~0~1~0~0~1~0~1~0).
-Notation "'0x4b'" (* 75 (0x4b) *)
- := (Const 75%Z).
-Notation "'0x4b'" (* 75 (0x4b) *)
- := (Const WO~0~1~0~0~1~0~1~1).
-Notation "'0x4c'" (* 76 (0x4c) *)
- := (Const 76%Z).
-Notation "'0x4c'" (* 76 (0x4c) *)
- := (Const WO~0~1~0~0~1~1~0~0).
-Notation "'0x4d'" (* 77 (0x4d) *)
- := (Const 77%Z).
-Notation "'0x4d'" (* 77 (0x4d) *)
- := (Const WO~0~1~0~0~1~1~0~1).
-Notation "'0x4e'" (* 78 (0x4e) *)
- := (Const 78%Z).
-Notation "'0x4e'" (* 78 (0x4e) *)
- := (Const WO~0~1~0~0~1~1~1~0).
-Notation "'0x4f'" (* 79 (0x4f) *)
- := (Const 79%Z).
-Notation "'0x4f'" (* 79 (0x4f) *)
- := (Const WO~0~1~0~0~1~1~1~1).
-Notation "'0x50'" (* 80 (0x50) *)
- := (Const 80%Z).
-Notation "'0x50'" (* 80 (0x50) *)
- := (Const WO~0~1~0~1~0~0~0~0).
-Notation "'0x51'" (* 81 (0x51) *)
- := (Const 81%Z).
-Notation "'0x51'" (* 81 (0x51) *)
- := (Const WO~0~1~0~1~0~0~0~1).
-Notation "'0x52'" (* 82 (0x52) *)
- := (Const 82%Z).
-Notation "'0x52'" (* 82 (0x52) *)
- := (Const WO~0~1~0~1~0~0~1~0).
-Notation "'0x53'" (* 83 (0x53) *)
- := (Const 83%Z).
-Notation "'0x53'" (* 83 (0x53) *)
- := (Const WO~0~1~0~1~0~0~1~1).
-Notation "'0x54'" (* 84 (0x54) *)
- := (Const 84%Z).
-Notation "'0x54'" (* 84 (0x54) *)
- := (Const WO~0~1~0~1~0~1~0~0).
-Notation "'0x55'" (* 85 (0x55) *)
- := (Const 85%Z).
-Notation "'0x55'" (* 85 (0x55) *)
- := (Const WO~0~1~0~1~0~1~0~1).
-Notation "'0x56'" (* 86 (0x56) *)
- := (Const 86%Z).
-Notation "'0x56'" (* 86 (0x56) *)
- := (Const WO~0~1~0~1~0~1~1~0).
-Notation "'0x57'" (* 87 (0x57) *)
- := (Const 87%Z).
-Notation "'0x57'" (* 87 (0x57) *)
- := (Const WO~0~1~0~1~0~1~1~1).
-Notation "'0x58'" (* 88 (0x58) *)
- := (Const 88%Z).
-Notation "'0x58'" (* 88 (0x58) *)
- := (Const WO~0~1~0~1~1~0~0~0).
-Notation "'0x59'" (* 89 (0x59) *)
- := (Const 89%Z).
-Notation "'0x59'" (* 89 (0x59) *)
- := (Const WO~0~1~0~1~1~0~0~1).
-Notation "'0x5a'" (* 90 (0x5a) *)
- := (Const 90%Z).
-Notation "'0x5a'" (* 90 (0x5a) *)
- := (Const WO~0~1~0~1~1~0~1~0).
-Notation "'0x5b'" (* 91 (0x5b) *)
- := (Const 91%Z).
-Notation "'0x5b'" (* 91 (0x5b) *)
- := (Const WO~0~1~0~1~1~0~1~1).
-Notation "'0x5c'" (* 92 (0x5c) *)
- := (Const 92%Z).
-Notation "'0x5c'" (* 92 (0x5c) *)
- := (Const WO~0~1~0~1~1~1~0~0).
-Notation "'0x5d'" (* 93 (0x5d) *)
- := (Const 93%Z).
-Notation "'0x5d'" (* 93 (0x5d) *)
- := (Const WO~0~1~0~1~1~1~0~1).
-Notation "'0x5e'" (* 94 (0x5e) *)
- := (Const 94%Z).
-Notation "'0x5e'" (* 94 (0x5e) *)
- := (Const WO~0~1~0~1~1~1~1~0).
-Notation "'0x5f'" (* 95 (0x5f) *)
- := (Const 95%Z).
-Notation "'0x5f'" (* 95 (0x5f) *)
- := (Const WO~0~1~0~1~1~1~1~1).
-Notation "'0x60'" (* 96 (0x60) *)
- := (Const 96%Z).
-Notation "'0x60'" (* 96 (0x60) *)
- := (Const WO~0~1~1~0~0~0~0~0).
-Notation "'0x61'" (* 97 (0x61) *)
- := (Const 97%Z).
-Notation "'0x61'" (* 97 (0x61) *)
- := (Const WO~0~1~1~0~0~0~0~1).
-Notation "'0x62'" (* 98 (0x62) *)
- := (Const 98%Z).
-Notation "'0x62'" (* 98 (0x62) *)
- := (Const WO~0~1~1~0~0~0~1~0).
-Notation "'0x63'" (* 99 (0x63) *)
- := (Const 99%Z).
-Notation "'0x63'" (* 99 (0x63) *)
- := (Const WO~0~1~1~0~0~0~1~1).
-Notation "'0x64'" (* 100 (0x64) *)
- := (Const 100%Z).
-Notation "'0x64'" (* 100 (0x64) *)
- := (Const WO~0~1~1~0~0~1~0~0).
-Notation "'0x65'" (* 101 (0x65) *)
- := (Const 101%Z).
-Notation "'0x65'" (* 101 (0x65) *)
- := (Const WO~0~1~1~0~0~1~0~1).
-Notation "'0x66'" (* 102 (0x66) *)
- := (Const 102%Z).
-Notation "'0x66'" (* 102 (0x66) *)
- := (Const WO~0~1~1~0~0~1~1~0).
-Notation "'0x67'" (* 103 (0x67) *)
- := (Const 103%Z).
-Notation "'0x67'" (* 103 (0x67) *)
- := (Const WO~0~1~1~0~0~1~1~1).
-Notation "'0x68'" (* 104 (0x68) *)
- := (Const 104%Z).
-Notation "'0x68'" (* 104 (0x68) *)
- := (Const WO~0~1~1~0~1~0~0~0).
-Notation "'0x69'" (* 105 (0x69) *)
- := (Const 105%Z).
-Notation "'0x69'" (* 105 (0x69) *)
- := (Const WO~0~1~1~0~1~0~0~1).
-Notation "'0x6a'" (* 106 (0x6a) *)
- := (Const 106%Z).
-Notation "'0x6a'" (* 106 (0x6a) *)
- := (Const WO~0~1~1~0~1~0~1~0).
-Notation "'0x6b'" (* 107 (0x6b) *)
- := (Const 107%Z).
-Notation "'0x6b'" (* 107 (0x6b) *)
- := (Const WO~0~1~1~0~1~0~1~1).
-Notation "'0x6c'" (* 108 (0x6c) *)
- := (Const 108%Z).
-Notation "'0x6c'" (* 108 (0x6c) *)
- := (Const WO~0~1~1~0~1~1~0~0).
-Notation "'0x6d'" (* 109 (0x6d) *)
- := (Const 109%Z).
-Notation "'0x6d'" (* 109 (0x6d) *)
- := (Const WO~0~1~1~0~1~1~0~1).
-Notation "'0x6e'" (* 110 (0x6e) *)
- := (Const 110%Z).
-Notation "'0x6e'" (* 110 (0x6e) *)
- := (Const WO~0~1~1~0~1~1~1~0).
-Notation "'0x6f'" (* 111 (0x6f) *)
- := (Const 111%Z).
-Notation "'0x6f'" (* 111 (0x6f) *)
- := (Const WO~0~1~1~0~1~1~1~1).
-Notation "'0x70'" (* 112 (0x70) *)
- := (Const 112%Z).
-Notation "'0x70'" (* 112 (0x70) *)
- := (Const WO~0~1~1~1~0~0~0~0).
-Notation "'0x71'" (* 113 (0x71) *)
- := (Const 113%Z).
-Notation "'0x71'" (* 113 (0x71) *)
- := (Const WO~0~1~1~1~0~0~0~1).
-Notation "'0x72'" (* 114 (0x72) *)
- := (Const 114%Z).
-Notation "'0x72'" (* 114 (0x72) *)
- := (Const WO~0~1~1~1~0~0~1~0).
-Notation "'0x73'" (* 115 (0x73) *)
- := (Const 115%Z).
-Notation "'0x73'" (* 115 (0x73) *)
- := (Const WO~0~1~1~1~0~0~1~1).
-Notation "'0x74'" (* 116 (0x74) *)
- := (Const 116%Z).
-Notation "'0x74'" (* 116 (0x74) *)
- := (Const WO~0~1~1~1~0~1~0~0).
-Notation "'0x75'" (* 117 (0x75) *)
- := (Const 117%Z).
-Notation "'0x75'" (* 117 (0x75) *)
- := (Const WO~0~1~1~1~0~1~0~1).
-Notation "'0x76'" (* 118 (0x76) *)
- := (Const 118%Z).
-Notation "'0x76'" (* 118 (0x76) *)
- := (Const WO~0~1~1~1~0~1~1~0).
-Notation "'0x77'" (* 119 (0x77) *)
- := (Const 119%Z).
-Notation "'0x77'" (* 119 (0x77) *)
- := (Const WO~0~1~1~1~0~1~1~1).
-Notation "'0x78'" (* 120 (0x78) *)
- := (Const 120%Z).
-Notation "'0x78'" (* 120 (0x78) *)
- := (Const WO~0~1~1~1~1~0~0~0).
-Notation "'0x79'" (* 121 (0x79) *)
- := (Const 121%Z).
-Notation "'0x79'" (* 121 (0x79) *)
- := (Const WO~0~1~1~1~1~0~0~1).
-Notation "'0x7a'" (* 122 (0x7a) *)
- := (Const 122%Z).
-Notation "'0x7a'" (* 122 (0x7a) *)
- := (Const WO~0~1~1~1~1~0~1~0).
-Notation "'0x7b'" (* 123 (0x7b) *)
- := (Const 123%Z).
-Notation "'0x7b'" (* 123 (0x7b) *)
- := (Const WO~0~1~1~1~1~0~1~1).
-Notation "'0x7c'" (* 124 (0x7c) *)
- := (Const 124%Z).
-Notation "'0x7c'" (* 124 (0x7c) *)
- := (Const WO~0~1~1~1~1~1~0~0).
-Notation "'0x7d'" (* 125 (0x7d) *)
- := (Const 125%Z).
-Notation "'0x7d'" (* 125 (0x7d) *)
- := (Const WO~0~1~1~1~1~1~0~1).
-Notation "'0x7e'" (* 126 (0x7e) *)
- := (Const 126%Z).
-Notation "'0x7e'" (* 126 (0x7e) *)
- := (Const WO~0~1~1~1~1~1~1~0).
-Notation "'0x7f'" (* 127 (0x7f) *)
- := (Const 127%Z).
-Notation "'0x7f'" (* 127 (0x7f) *)
- := (Const WO~0~1~1~1~1~1~1~1).
-Notation "'0x80'" (* 128 (0x80) *)
- := (Const 128%Z).
-Notation "'0x80'" (* 128 (0x80) *)
- := (Const WO~1~0~0~0~0~0~0~0).
-Notation "'0x81'" (* 129 (0x81) *)
- := (Const 129%Z).
-Notation "'0x81'" (* 129 (0x81) *)
- := (Const WO~1~0~0~0~0~0~0~1).
-Notation "'0xbb'" (* 187 (0xbb) *)
- := (Const 187%Z).
-Notation "'0xbb'" (* 187 (0xbb) *)
- := (Const WO~1~0~1~1~1~0~1~1).
-Notation "'0xbd'" (* 189 (0xbd) *)
- := (Const 189%Z).
-Notation "'0xbd'" (* 189 (0xbd) *)
- := (Const WO~1~0~1~1~1~1~0~1).
-Notation "'0xff'" (* 255 (0xff) *)
- := (Const 255%Z).
-Notation "'0xff'" (* 255 (0xff) *)
- := (Const WO~1~1~1~1~1~1~1~1).
-Notation "'0x100'" (* 256 (0x100) *)
- := (Const 256%Z).
-Notation "'0x100'" (* 256 (0x100) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0).
-Notation "'0x101'" (* 257 (0x101) *)
- := (Const 257%Z).
-Notation "'0x101'" (* 257 (0x101) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~1).
-Notation "'0x13d'" (* 317 (0x13d) *)
- := (Const 317%Z).
-Notation "'0x13d'" (* 317 (0x13d) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~1~1~1~1~0~1).
-Notation "'0x1a5'" (* 421 (0x1a5) *)
- := (Const 421%Z).
-Notation "'0x1a5'" (* 421 (0x1a5) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~0~1~0~0~1~0~1).
-Notation "'0x1e1'" (* 481 (0x1e1) *)
- := (Const 481%Z).
-Notation "'0x1e1'" (* 481 (0x1e1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~0~0~0~0~1).
-Notation "'0x1ff'" (* 511 (0x1ff) *)
- := (Const 511%Z).
-Notation "'0x1ff'" (* 511 (0x1ff) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1).
-Notation "'0x200'" (* 512 (0x200) *)
- := (Const 512%Z).
-Notation "'0x200'" (* 512 (0x200) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0).
-Notation "'0x201'" (* 513 (0x201) *)
- := (Const 513%Z).
-Notation "'0x201'" (* 513 (0x201) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~1).
-Notation "'0x239'" (* 569 (0x239) *)
- := (Const 569%Z).
-Notation "'0x239'" (* 569 (0x239) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~1~1~1~0~0~1).
-Notation "'0x2fd'" (* 765 (0x2fd) *)
- := (Const 765%Z).
-Notation "'0x2fd'" (* 765 (0x2fd) *)
- := (Const WO~0~0~0~0~0~0~1~0~1~1~1~1~1~1~0~1).
-Notation "'0x3d1'" (* 977 (0x3d1) *)
- := (Const 977%Z).
-Notation "'0x3d1'" (* 977 (0x3d1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~0~1~0~0~0~1).
-Notation "'0x3ff'" (* 1023 (0x3ff) *)
- := (Const 1023%Z).
-Notation "'0x3ff'" (* 1023 (0x3ff) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400'" (* 1024 (0x400) *)
- := (Const 1024%Z).
-Notation "'0x400'" (* 1024 (0x400) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x401'" (* 1025 (0x401) *)
- := (Const 1025%Z).
-Notation "'0x401'" (* 1025 (0x401) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ff'" (* 2047 (0x7ff) *)
- := (Const 2047%Z).
-Notation "'0x7ff'" (* 2047 (0x7ff) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800'" (* 2048 (0x800) *)
- := (Const 2048%Z).
-Notation "'0x800'" (* 2048 (0x800) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x801'" (* 2049 (0x801) *)
- := (Const 2049%Z).
-Notation "'0x801'" (* 2049 (0x801) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfff'" (* 4095 (0xfff) *)
- := (Const 4095%Z).
-Notation "'0xfff'" (* 4095 (0xfff) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000'" (* 4096 (0x1000) *)
- := (Const 4096%Z).
-Notation "'0x1000'" (* 4096 (0x1000) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1001'" (* 4097 (0x1001) *)
- := (Const 4097%Z).
-Notation "'0x1001'" (* 4097 (0x1001) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x14bf'" (* 5311 (0x14bf) *)
- := (Const 5311%Z).
-Notation "'0x14bf'" (* 5311 (0x14bf) *)
- := (Const WO~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1).
-Notation "'0x1fff'" (* 8191 (0x1fff) *)
- := (Const 8191%Z).
-Notation "'0x1fff'" (* 8191 (0x1fff) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000'" (* 8192 (0x2000) *)
- := (Const 8192%Z).
-Notation "'0x2000'" (* 8192 (0x2000) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2001'" (* 8193 (0x2001) *)
- := (Const 8193%Z).
-Notation "'0x2001'" (* 8193 (0x2001) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fff'" (* 16383 (0x3fff) *)
- := (Const 16383%Z).
-Notation "'0x3fff'" (* 16383 (0x3fff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000'" (* 16384 (0x4000) *)
- := (Const 16384%Z).
-Notation "'0x4000'" (* 16384 (0x4000) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4001'" (* 16385 (0x4001) *)
- := (Const 16385%Z).
-Notation "'0x4001'" (* 16385 (0x4001) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffd'" (* 32765 (0x7ffd) *)
- := (Const 32765%Z).
-Notation "'0x7ffd'" (* 32765 (0x7ffd) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x7ffe'" (* 32766 (0x7ffe) *)
- := (Const 32766%Z).
-Notation "'0x7ffe'" (* 32766 (0x7ffe) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fff'" (* 32767 (0x7fff) *)
- := (Const 32767%Z).
-Notation "'0x7fff'" (* 32767 (0x7fff) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000'" (* 32768 (0x8000) *)
- := (Const 32768%Z).
-Notation "'0x8000'" (* 32768 (0x8000) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8001'" (* 32769 (0x8001) *)
- := (Const 32769%Z).
-Notation "'0x8001'" (* 32769 (0x8001) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffa'" (* 65530 (0xfffa) *)
- := (Const 65530%Z).
-Notation "'0xfffa'" (* 65530 (0xfffa) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0xfffb'" (* 65531 (0xfffb) *)
- := (Const 65531%Z).
-Notation "'0xfffb'" (* 65531 (0xfffb) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xfffe'" (* 65534 (0xfffe) *)
- := (Const 65534%Z).
-Notation "'0xfffe'" (* 65534 (0xfffe) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffff'" (* 65535 (0xffff) *)
- := (Const 65535%Z).
-Notation "'0xffff'" (* 65535 (0xffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000'" (* 65536 (0x10000) *)
- := (Const 65536%Z).
-Notation "'0x10000'" (* 65536 (0x10000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10001'" (* 65537 (0x10001) *)
- := (Const 65537%Z).
-Notation "'0x10001'" (* 65537 (0x10001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1bfff'" (* 114687 (0x1bfff) *)
- := (Const 114687%Z).
-Notation "'0x1bfff'" (* 114687 (0x1bfff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1db41'" (* 121665 (0x1db41) *)
- := (Const 121665%Z).
-Notation "'0x1db41'" (* 121665 (0x1db41) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~0~1~1~0~1~1~0~1~0~0~0~0~0~1).
-Notation "'0x1fd03'" (* 130307 (0x1fd03) *)
- := (Const 130307%Z).
-Notation "'0x1fd03'" (* 130307 (0x1fd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0x1ffdf'" (* 131039 (0x1ffdf) *)
- := (Const 131039%Z).
-Notation "'0x1ffdf'" (* 131039 (0x1ffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0x1fff6'" (* 131062 (0x1fff6) *)
- := (Const 131062%Z).
-Notation "'0x1fff6'" (* 131062 (0x1fff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x1fffb'" (* 131067 (0x1fffb) *)
- := (Const 131067%Z).
-Notation "'0x1fffb'" (* 131067 (0x1fffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x1ffff'" (* 131071 (0x1ffff) *)
- := (Const 131071%Z).
-Notation "'0x1ffff'" (* 131071 (0x1ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000'" (* 131072 (0x20000) *)
- := (Const 131072%Z).
-Notation "'0x20000'" (* 131072 (0x20000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20001'" (* 131073 (0x20001) *)
- := (Const 131073%Z).
-Notation "'0x20001'" (* 131073 (0x20001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fc2f'" (* 261167 (0x3fc2f) *)
- := (Const 261167%Z).
-Notation "'0x3fc2f'" (* 261167 (0x3fc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0x3fdc7'" (* 261575 (0x3fdc7) *)
- := (Const 261575%Z).
-Notation "'0x3fdc7'" (* 261575 (0x3fdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0x3fff3'" (* 262131 (0x3fff3) *)
- := (Const 262131%Z).
-Notation "'0x3fff3'" (* 262131 (0x3fff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0x3fffb'" (* 262139 (0x3fffb) *)
- := (Const 262139%Z).
-Notation "'0x3fffb'" (* 262139 (0x3fffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3fffe'" (* 262142 (0x3fffe) *)
- := (Const 262142%Z).
-Notation "'0x3fffe'" (* 262142 (0x3fffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffff'" (* 262143 (0x3ffff) *)
- := (Const 262143%Z).
-Notation "'0x3ffff'" (* 262143 (0x3ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000'" (* 262144 (0x40000) *)
- := (Const 262144%Z).
-Notation "'0x40000'" (* 262144 (0x40000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40001'" (* 262145 (0x40001) *)
- := (Const 262145%Z).
-Notation "'0x40001'" (* 262145 (0x40001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fe1f'" (* 523807 (0x7fe1f) *)
- := (Const 523807%Z).
-Notation "'0x7fe1f'" (* 523807 (0x7fe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0x7ff45'" (* 524101 (0x7ff45) *)
- := (Const 524101%Z).
-Notation "'0x7ff45'" (* 524101 (0x7ff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0x7ffbf'" (* 524223 (0x7ffbf) *)
- := (Const 524223%Z).
-Notation "'0x7ffbf'" (* 524223 (0x7ffbf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1).
-Notation "'0x7ffe6'" (* 524262 (0x7ffe6) *)
- := (Const 524262%Z).
-Notation "'0x7ffe6'" (* 524262 (0x7ffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0x7ffe7'" (* 524263 (0x7ffe7) *)
- := (Const 524263%Z).
-Notation "'0x7ffe7'" (* 524263 (0x7ffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x7ffeb'" (* 524267 (0x7ffeb) *)
- := (Const 524267%Z).
-Notation "'0x7ffeb'" (* 524267 (0x7ffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0x7ffed'" (* 524269 (0x7ffed) *)
- := (Const 524269%Z).
-Notation "'0x7ffed'" (* 524269 (0x7ffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7ffef'" (* 524271 (0x7ffef) *)
- := (Const 524271%Z).
-Notation "'0x7ffef'" (* 524271 (0x7ffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7fff6'" (* 524278 (0x7fff6) *)
- := (Const 524278%Z).
-Notation "'0x7fff6'" (* 524278 (0x7fff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7fff7'" (* 524279 (0x7fff7) *)
- := (Const 524279%Z).
-Notation "'0x7fff7'" (* 524279 (0x7fff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x7fffe'" (* 524286 (0x7fffe) *)
- := (Const 524286%Z).
-Notation "'0x7fffe'" (* 524286 (0x7fffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffff'" (* 524287 (0x7ffff) *)
- := (Const 524287%Z).
-Notation "'0x7ffff'" (* 524287 (0x7ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000'" (* 524288 (0x80000) *)
- := (Const 524288%Z).
-Notation "'0x80000'" (* 524288 (0x80000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80001'" (* 524289 (0x80001) *)
- := (Const 524289%Z).
-Notation "'0x80001'" (* 524289 (0x80001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xa5fff'" (* 679935 (0xa5fff) *)
- := (Const 679935%Z).
-Notation "'0xa5fff'" (* 679935 (0xa5fff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfc000'" (* 1032192 (0xfc000) *)
- := (Const 1032192%Z).
-Notation "'0xfc000'" (* 1032192 (0xfc000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0xfefff'" (* 1044479 (0xfefff) *)
- := (Const 1044479%Z).
-Notation "'0xfefff'" (* 1044479 (0xfefff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xffc2f'" (* 1047599 (0xffc2f) *)
- := (Const 1047599%Z).
-Notation "'0xffc2f'" (* 1047599 (0xffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0xffd03'" (* 1047811 (0xffd03) *)
- := (Const 1047811%Z).
-Notation "'0xffd03'" (* 1047811 (0xffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0xffe8a'" (* 1048202 (0xffe8a) *)
- := (Const 1048202%Z).
-Notation "'0xffe8a'" (* 1048202 (0xffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0xfff7e'" (* 1048446 (0xfff7e) *)
- := (Const 1048446%Z).
-Notation "'0xfff7e'" (* 1048446 (0xfff7e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~0).
-Notation "'0xfff97'" (* 1048471 (0xfff97) *)
- := (Const 1048471%Z).
-Notation "'0xfff97'" (* 1048471 (0xfff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0xfffbf'" (* 1048511 (0xfffbf) *)
- := (Const 1048511%Z).
-Notation "'0xfffbf'" (* 1048511 (0xfffbf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1).
-Notation "'0xfffce'" (* 1048526 (0xfffce) *)
- := (Const 1048526%Z).
-Notation "'0xfffce'" (* 1048526 (0xfffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0xfffd6'" (* 1048534 (0xfffd6) *)
- := (Const 1048534%Z).
-Notation "'0xfffd6'" (* 1048534 (0xfffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0xfffda'" (* 1048538 (0xfffda) *)
- := (Const 1048538%Z).
-Notation "'0xfffda'" (* 1048538 (0xfffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xfffe5'" (* 1048549 (0xfffe5) *)
- := (Const 1048549%Z).
-Notation "'0xfffe5'" (* 1048549 (0xfffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0xfffed'" (* 1048557 (0xfffed) *)
- := (Const 1048557%Z).
-Notation "'0xfffed'" (* 1048557 (0xfffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0xfffee'" (* 1048558 (0xfffee) *)
- := (Const 1048558%Z).
-Notation "'0xfffee'" (* 1048558 (0xfffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0xfffef'" (* 1048559 (0xfffef) *)
- := (Const 1048559%Z).
-Notation "'0xfffef'" (* 1048559 (0xfffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xffffd'" (* 1048573 (0xffffd) *)
- := (Const 1048573%Z).
-Notation "'0xffffd'" (* 1048573 (0xffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xffffe'" (* 1048574 (0xffffe) *)
- := (Const 1048574%Z).
-Notation "'0xffffe'" (* 1048574 (0xffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffff'" (* 1048575 (0xfffff) *)
- := (Const 1048575%Z).
-Notation "'0xfffff'" (* 1048575 (0xfffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000'" (* 1048576 (0x100000) *)
- := (Const 1048576%Z).
-Notation "'0x100000'" (* 1048576 (0x100000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100001'" (* 1048577 (0x100001) *)
- := (Const 1048577%Z).
-Notation "'0x100001'" (* 1048577 (0x100001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x14bffe'" (* 1359870 (0x14bffe) *)
- := (Const 1359870%Z).
-Notation "'0x14bffe'" (* 1359870 (0x14bffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1f6eff'" (* 2060031 (0x1f6eff) *)
- := (Const 2060031%Z).
-Notation "'0x1f6eff'" (* 2060031 (0x1f6eff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1).
-Notation "'0x1f8000'" (* 2064384 (0x1f8000) *)
- := (Const 2064384%Z).
-Notation "'0x1f8000'" (* 2064384 (0x1f8000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1fc29f'" (* 2081439 (0x1fc29f) *)
- := (Const 2081439%Z).
-Notation "'0x1fc29f'" (* 2081439 (0x1fc29f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1).
-Notation "'0x1fdffe'" (* 2088958 (0x1fdffe) *)
- := (Const 2088958%Z).
-Notation "'0x1fdffe'" (* 2088958 (0x1fdffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1ff4ff'" (* 2094335 (0x1ff4ff) *)
- := (Const 2094335%Z).
-Notation "'0x1ff4ff'" (* 2094335 (0x1ff4ff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1).
-Notation "'0x1ff85e'" (* 2095198 (0x1ff85e) *)
- := (Const 2095198%Z).
-Notation "'0x1ff85e'" (* 2095198 (0x1ff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0x1ffa06'" (* 2095622 (0x1ffa06) *)
- := (Const 2095622%Z).
-Notation "'0x1ffa06'" (* 2095622 (0x1ffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0x1ffbff'" (* 2096127 (0x1ffbff) *)
- := (Const 2096127%Z).
-Notation "'0x1ffbff'" (* 2096127 (0x1ffbff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1ffc00'" (* 2096128 (0x1ffc00) *)
- := (Const 2096128%Z).
-Notation "'0x1ffc00'" (* 2096128 (0x1ffc00) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1ffdc7'" (* 2096583 (0x1ffdc7) *)
- := (Const 2096583%Z).
-Notation "'0x1ffdc7'" (* 2096583 (0x1ffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0x1fff2e'" (* 2096942 (0x1fff2e) *)
- := (Const 2096942%Z).
-Notation "'0x1fff2e'" (* 2096942 (0x1fff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0x1fffca'" (* 2097098 (0x1fffca) *)
- := (Const 2097098%Z).
-Notation "'0x1fffca'" (* 2097098 (0x1fffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0x1fffda'" (* 2097114 (0x1fffda) *)
- := (Const 2097114%Z).
-Notation "'0x1fffda'" (* 2097114 (0x1fffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x1fffde'" (* 2097118 (0x1fffde) *)
- := (Const 2097118%Z).
-Notation "'0x1fffde'" (* 2097118 (0x1fffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1fffe7'" (* 2097127 (0x1fffe7) *)
- := (Const 2097127%Z).
-Notation "'0x1fffe7'" (* 2097127 (0x1fffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x1fffef'" (* 2097135 (0x1fffef) *)
- := (Const 2097135%Z).
-Notation "'0x1fffef'" (* 2097135 (0x1fffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x1ffff7'" (* 2097143 (0x1ffff7) *)
- := (Const 2097143%Z).
-Notation "'0x1ffff7'" (* 2097143 (0x1ffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x1ffffe'" (* 2097150 (0x1ffffe) *)
- := (Const 2097150%Z).
-Notation "'0x1ffffe'" (* 2097150 (0x1ffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffff'" (* 2097151 (0x1fffff) *)
- := (Const 2097151%Z).
-Notation "'0x1fffff'" (* 2097151 (0x1fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000'" (* 2097152 (0x200000) *)
- := (Const 2097152%Z).
-Notation "'0x200000'" (* 2097152 (0x200000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200001'" (* 2097153 (0x200001) *)
- := (Const 2097153%Z).
-Notation "'0x200001'" (* 2097153 (0x200001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3eddfe'" (* 4120062 (0x3eddfe) *)
- := (Const 4120062%Z).
-Notation "'0x3eddfe'" (* 4120062 (0x3eddfe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~0).
-Notation "'0x3f853e'" (* 4162878 (0x3f853e) *)
- := (Const 4162878%Z).
-Notation "'0x3f853e'" (* 4162878 (0x3f853e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~0).
-Notation "'0x3fe9fe'" (* 4188670 (0x3fe9fe) *)
- := (Const 4188670%Z).
-Notation "'0x3fe9fe'" (* 4188670 (0x3fe9fe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ff7fe'" (* 4192254 (0x3ff7fe) *)
- := (Const 4192254%Z).
-Notation "'0x3ff7fe'" (* 4192254 (0x3ff7fe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffb8e'" (* 4193166 (0x3ffb8e) *)
- := (Const 4193166%Z).
-Notation "'0x3ffb8e'" (* 4193166 (0x3ffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0x3ffc2f'" (* 4193327 (0x3ffc2f) *)
- := (Const 4193327%Z).
-Notation "'0x3ffc2f'" (* 4193327 (0x3ffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0x3ffd03'" (* 4193539 (0x3ffd03) *)
- := (Const 4193539%Z).
-Notation "'0x3ffd03'" (* 4193539 (0x3ffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0x3ffdc7'" (* 4193735 (0x3ffdc7) *)
- := (Const 4193735%Z).
-Notation "'0x3ffdc7'" (* 4193735 (0x3ffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0x3ffe1f'" (* 4193823 (0x3ffe1f) *)
- := (Const 4193823%Z).
-Notation "'0x3ffe1f'" (* 4193823 (0x3ffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0x3ffe5b'" (* 4193883 (0x3ffe5b) *)
- := (Const 4193883%Z).
-Notation "'0x3ffe5b'" (* 4193883 (0x3ffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0x3ffec3'" (* 4193987 (0x3ffec3) *)
- := (Const 4193987%Z).
-Notation "'0x3ffec3'" (* 4193987 (0x3ffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0x3fff43'" (* 4194115 (0x3fff43) *)
- := (Const 4194115%Z).
-Notation "'0x3fff43'" (* 4194115 (0x3fff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0x3fffc0'" (* 4194240 (0x3fffc0) *)
- := (Const 4194240%Z).
-Notation "'0x3fffc0'" (* 4194240 (0x3fffc0) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0).
-Notation "'0x3fffce'" (* 4194254 (0x3fffce) *)
- := (Const 4194254%Z).
-Notation "'0x3fffce'" (* 4194254 (0x3fffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x3fffde'" (* 4194270 (0x3fffde) *)
- := (Const 4194270%Z).
-Notation "'0x3fffde'" (* 4194270 (0x3fffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x3fffdf'" (* 4194271 (0x3fffdf) *)
- := (Const 4194271%Z).
-Notation "'0x3fffdf'" (* 4194271 (0x3fffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0x3fffe3'" (* 4194275 (0x3fffe3) *)
- := (Const 4194275%Z).
-Notation "'0x3fffe3'" (* 4194275 (0x3fffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0x3fffe7'" (* 4194279 (0x3fffe7) *)
- := (Const 4194279%Z).
-Notation "'0x3fffe7'" (* 4194279 (0x3fffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x3fffed'" (* 4194285 (0x3fffed) *)
- := (Const 4194285%Z).
-Notation "'0x3fffed'" (* 4194285 (0x3fffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x3fffee'" (* 4194286 (0x3fffee) *)
- := (Const 4194286%Z).
-Notation "'0x3fffee'" (* 4194286 (0x3fffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x3fffef'" (* 4194287 (0x3fffef) *)
- := (Const 4194287%Z).
-Notation "'0x3fffef'" (* 4194287 (0x3fffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x3ffff1'" (* 4194289 (0x3ffff1) *)
- := (Const 4194289%Z).
-Notation "'0x3ffff1'" (* 4194289 (0x3ffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x3ffff5'" (* 4194293 (0x3ffff5) *)
- := (Const 4194293%Z).
-Notation "'0x3ffff5'" (* 4194293 (0x3ffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0x3ffffb'" (* 4194299 (0x3ffffb) *)
- := (Const 4194299%Z).
-Notation "'0x3ffffb'" (* 4194299 (0x3ffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3ffffd'" (* 4194301 (0x3ffffd) *)
- := (Const 4194301%Z).
-Notation "'0x3ffffd'" (* 4194301 (0x3ffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3ffffe'" (* 4194302 (0x3ffffe) *)
- := (Const 4194302%Z).
-Notation "'0x3ffffe'" (* 4194302 (0x3ffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3fffff'" (* 4194303 (0x3fffff) *)
- := (Const 4194303%Z).
-Notation "'0x3fffff'" (* 4194303 (0x3fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000'" (* 4194304 (0x400000) *)
- := (Const 4194304%Z).
-Notation "'0x400000'" (* 4194304 (0x400000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400001'" (* 4194305 (0x400001) *)
- := (Const 4194305%Z).
-Notation "'0x400001'" (* 4194305 (0x400001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7f01ff'" (* 8323583 (0x7f01ff) *)
- := (Const 8323583%Z).
-Notation "'0x7f01ff'" (* 8323583 (0x7f01ff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1).
-Notation "'0x7fc000'" (* 8372224 (0x7fc000) *)
- := (Const 8372224%Z).
-Notation "'0x7fc000'" (* 8372224 (0x7fc000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x7ff85e'" (* 8386654 (0x7ff85e) *)
- := (Const 8386654%Z).
-Notation "'0x7ff85e'" (* 8386654 (0x7ff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0x7ffa06'" (* 8387078 (0x7ffa06) *)
- := (Const 8387078%Z).
-Notation "'0x7ffa06'" (* 8387078 (0x7ffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0x7ffb8e'" (* 8387470 (0x7ffb8e) *)
- := (Const 8387470%Z).
-Notation "'0x7ffb8e'" (* 8387470 (0x7ffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0x7ffc3e'" (* 8387646 (0x7ffc3e) *)
- := (Const 8387646%Z).
-Notation "'0x7ffc3e'" (* 8387646 (0x7ffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0x7ffcb6'" (* 8387766 (0x7ffcb6) *)
- := (Const 8387766%Z).
-Notation "'0x7ffcb6'" (* 8387766 (0x7ffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0x7ffd86'" (* 8387974 (0x7ffd86) *)
- := (Const 8387974%Z).
-Notation "'0x7ffd86'" (* 8387974 (0x7ffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0x7ffe1f'" (* 8388127 (0x7ffe1f) *)
- := (Const 8388127%Z).
-Notation "'0x7ffe1f'" (* 8388127 (0x7ffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0x7ffe5b'" (* 8388187 (0x7ffe5b) *)
- := (Const 8388187%Z).
-Notation "'0x7ffe5b'" (* 8388187 (0x7ffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0x7ffe86'" (* 8388230 (0x7ffe86) *)
- := (Const 8388230%Z).
-Notation "'0x7ffe86'" (* 8388230 (0x7ffe86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0x7ffec3'" (* 8388291 (0x7ffec3) *)
- := (Const 8388291%Z).
-Notation "'0x7ffec3'" (* 8388291 (0x7ffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0x7fff45'" (* 8388421 (0x7fff45) *)
- := (Const 8388421%Z).
-Notation "'0x7fff45'" (* 8388421 (0x7fff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0x7fff8b'" (* 8388491 (0x7fff8b) *)
- := (Const 8388491%Z).
-Notation "'0x7fff8b'" (* 8388491 (0x7fff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0x7fff97'" (* 8388503 (0x7fff97) *)
- := (Const 8388503%Z).
-Notation "'0x7fff97'" (* 8388503 (0x7fff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0x7fffbe'" (* 8388542 (0x7fffbe) *)
- := (Const 8388542%Z).
-Notation "'0x7fffbe'" (* 8388542 (0x7fffbe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0x7fffce'" (* 8388558 (0x7fffce) *)
- := (Const 8388558%Z).
-Notation "'0x7fffce'" (* 8388558 (0x7fffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x7fffda'" (* 8388570 (0x7fffda) *)
- := (Const 8388570%Z).
-Notation "'0x7fffda'" (* 8388570 (0x7fffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x7fffde'" (* 8388574 (0x7fffde) *)
- := (Const 8388574%Z).
-Notation "'0x7fffde'" (* 8388574 (0x7fffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x7fffe1'" (* 8388577 (0x7fffe1) *)
- := (Const 8388577%Z).
-Notation "'0x7fffe1'" (* 8388577 (0x7fffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x7fffe2'" (* 8388578 (0x7fffe2) *)
- := (Const 8388578%Z).
-Notation "'0x7fffe2'" (* 8388578 (0x7fffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x7fffe5'" (* 8388581 (0x7fffe5) *)
- := (Const 8388581%Z).
-Notation "'0x7fffe5'" (* 8388581 (0x7fffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0x7fffef'" (* 8388591 (0x7fffef) *)
- := (Const 8388591%Z).
-Notation "'0x7fffef'" (* 8388591 (0x7fffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7ffff1'" (* 8388593 (0x7ffff1) *)
- := (Const 8388593%Z).
-Notation "'0x7ffff1'" (* 8388593 (0x7ffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x7ffff3'" (* 8388595 (0x7ffff3) *)
- := (Const 8388595%Z).
-Notation "'0x7ffff3'" (* 8388595 (0x7ffff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0x7ffff6'" (* 8388598 (0x7ffff6) *)
- := (Const 8388598%Z).
-Notation "'0x7ffff6'" (* 8388598 (0x7ffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7ffff7'" (* 8388599 (0x7ffff7) *)
- := (Const 8388599%Z).
-Notation "'0x7ffff7'" (* 8388599 (0x7ffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x7ffffa'" (* 8388602 (0x7ffffa) *)
- := (Const 8388602%Z).
-Notation "'0x7ffffa'" (* 8388602 (0x7ffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7ffffb'" (* 8388603 (0x7ffffb) *)
- := (Const 8388603%Z).
-Notation "'0x7ffffb'" (* 8388603 (0x7ffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x7ffffc'" (* 8388604 (0x7ffffc) *)
- := (Const 8388604%Z).
-Notation "'0x7ffffc'" (* 8388604 (0x7ffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x7ffffd'" (* 8388605 (0x7ffffd) *)
- := (Const 8388605%Z).
-Notation "'0x7ffffd'" (* 8388605 (0x7ffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x7ffffe'" (* 8388606 (0x7ffffe) *)
- := (Const 8388606%Z).
-Notation "'0x7ffffe'" (* 8388606 (0x7ffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffff'" (* 8388607 (0x7fffff) *)
- := (Const 8388607%Z).
-Notation "'0x7fffff'" (* 8388607 (0x7fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000'" (* 8388608 (0x800000) *)
- := (Const 8388608%Z).
-Notation "'0x800000'" (* 8388608 (0x800000) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800001'" (* 8388609 (0x800001) *)
- := (Const 8388609%Z).
-Notation "'0x800001'" (* 8388609 (0x800001) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xb0ffff'" (* 11599871 (0xb0ffff) *)
- := (Const 11599871%Z).
-Notation "'0xb0ffff'" (* 11599871 (0xb0ffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfe03fe'" (* 16647166 (0xfe03fe) *)
- := (Const 16647166%Z).
-Notation "'0xfe03fe'" (* 16647166 (0xfe03fe) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfeffff'" (* 16711679 (0xfeffff) *)
- := (Const 16711679%Z).
-Notation "'0xfeffff'" (* 16711679 (0xfeffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffaff'" (* 16775935 (0xfffaff) *)
- := (Const 16775935%Z).
-Notation "'0xfffaff'" (* 16775935 (0xfffaff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1).
-Notation "'0xfffc3e'" (* 16776254 (0xfffc3e) *)
- := (Const 16776254%Z).
-Notation "'0xfffc3e'" (* 16776254 (0xfffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0xfffcb6'" (* 16776374 (0xfffcb6) *)
- := (Const 16776374%Z).
-Notation "'0xfffcb6'" (* 16776374 (0xfffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0xfffd86'" (* 16776582 (0xfffd86) *)
- := (Const 16776582%Z).
-Notation "'0xfffd86'" (* 16776582 (0xfffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0xfffe8a'" (* 16776842 (0xfffe8a) *)
- := (Const 16776842%Z).
-Notation "'0xfffe8a'" (* 16776842 (0xfffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0xfffeff'" (* 16776959 (0xfffeff) *)
- := (Const 16776959%Z).
-Notation "'0xfffeff'" (* 16776959 (0xfffeff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1).
-Notation "'0xffff16'" (* 16776982 (0xffff16) *)
- := (Const 16776982%Z).
-Notation "'0xffff16'" (* 16776982 (0xffff16) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0xffff2e'" (* 16777006 (0xffff2e) *)
- := (Const 16777006%Z).
-Notation "'0xffff2e'" (* 16777006 (0xffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0xffff43'" (* 16777027 (0xffff43) *)
- := (Const 16777027%Z).
-Notation "'0xffff43'" (* 16777027 (0xffff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0xffff45'" (* 16777029 (0xffff45) *)
- := (Const 16777029%Z).
-Notation "'0xffff45'" (* 16777029 (0xffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0xffff97'" (* 16777111 (0xffff97) *)
- := (Const 16777111%Z).
-Notation "'0xffff97'" (* 16777111 (0xffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0xffffca'" (* 16777162 (0xffffca) *)
- := (Const 16777162%Z).
-Notation "'0xffffca'" (* 16777162 (0xffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0xffffde'" (* 16777182 (0xffffde) *)
- := (Const 16777182%Z).
-Notation "'0xffffde'" (* 16777182 (0xffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0xffffe1'" (* 16777185 (0xffffe1) *)
- := (Const 16777185%Z).
-Notation "'0xffffe1'" (* 16777185 (0xffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0xffffe2'" (* 16777186 (0xffffe2) *)
- := (Const 16777186%Z).
-Notation "'0xffffe2'" (* 16777186 (0xffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0xffffe3'" (* 16777187 (0xffffe3) *)
- := (Const 16777187%Z).
-Notation "'0xffffe3'" (* 16777187 (0xffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0xffffe5'" (* 16777189 (0xffffe5) *)
- := (Const 16777189%Z).
-Notation "'0xffffe5'" (* 16777189 (0xffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0xffffe6'" (* 16777190 (0xffffe6) *)
- := (Const 16777190%Z).
-Notation "'0xffffe6'" (* 16777190 (0xffffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0xffffe7'" (* 16777191 (0xffffe7) *)
- := (Const 16777191%Z).
-Notation "'0xffffe7'" (* 16777191 (0xffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0xffffed'" (* 16777197 (0xffffed) *)
- := (Const 16777197%Z).
-Notation "'0xffffed'" (* 16777197 (0xffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0xffffee'" (* 16777198 (0xffffee) *)
- := (Const 16777198%Z).
-Notation "'0xffffee'" (* 16777198 (0xffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0xffffef'" (* 16777199 (0xffffef) *)
- := (Const 16777199%Z).
-Notation "'0xffffef'" (* 16777199 (0xffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xfffff1'" (* 16777201 (0xfffff1) *)
- := (Const 16777201%Z).
-Notation "'0xfffff1'" (* 16777201 (0xfffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0xfffff5'" (* 16777205 (0xfffff5) *)
- := (Const 16777205%Z).
-Notation "'0xfffff5'" (* 16777205 (0xfffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0xfffff6'" (* 16777206 (0xfffff6) *)
- := (Const 16777206%Z).
-Notation "'0xfffff6'" (* 16777206 (0xfffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0xfffff7'" (* 16777207 (0xfffff7) *)
- := (Const 16777207%Z).
-Notation "'0xfffff7'" (* 16777207 (0xfffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0xfffffa'" (* 16777210 (0xfffffa) *)
- := (Const 16777210%Z).
-Notation "'0xfffffa'" (* 16777210 (0xfffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0xfffffb'" (* 16777211 (0xfffffb) *)
- := (Const 16777211%Z).
-Notation "'0xfffffb'" (* 16777211 (0xfffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xfffffc'" (* 16777212 (0xfffffc) *)
- := (Const 16777212%Z).
-Notation "'0xfffffc'" (* 16777212 (0xfffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0xfffffd'" (* 16777213 (0xfffffd) *)
- := (Const 16777213%Z).
-Notation "'0xfffffd'" (* 16777213 (0xfffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xfffffe'" (* 16777214 (0xfffffe) *)
- := (Const 16777214%Z).
-Notation "'0xfffffe'" (* 16777214 (0xfffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffff'" (* 16777215 (0xffffff) *)
- := (Const 16777215%Z).
-Notation "'0xffffff'" (* 16777215 (0xffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000'" (* 16777216 (0x1000000) *)
- := (Const 16777216%Z).
-Notation "'0x1000000'" (* 16777216 (0x1000000) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000001'" (* 16777217 (0x1000001) *)
- := (Const 16777217%Z).
-Notation "'0x1000001'" (* 16777217 (0x1000001) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x161fffe'" (* 23199742 (0x161fffe) *)
- := (Const 23199742%Z).
-Notation "'0x161fffe'" (* 23199742 (0x161fffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fdfffe'" (* 33423358 (0x1fdfffe) *)
- := (Const 33423358%Z).
-Notation "'0x1fdfffe'" (* 33423358 (0x1fdfffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fff5fe'" (* 33551870 (0x1fff5fe) *)
- := (Const 33551870%Z).
-Notation "'0x1fff5fe'" (* 33551870 (0x1fff5fe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffe86'" (* 33554054 (0x1fffe86) *)
- := (Const 33554054%Z).
-Notation "'0x1fffe86'" (* 33554054 (0x1fffe86) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0x1fffe8a'" (* 33554058 (0x1fffe8a) *)
- := (Const 33554058%Z).
-Notation "'0x1fffe8a'" (* 33554058 (0x1fffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0x1ffff2e'" (* 33554222 (0x1ffff2e) *)
- := (Const 33554222%Z).
-Notation "'0x1ffff2e'" (* 33554222 (0x1ffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0x1ffff8b'" (* 33554315 (0x1ffff8b) *)
- := (Const 33554315%Z).
-Notation "'0x1ffff8b'" (* 33554315 (0x1ffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0x1ffffc2'" (* 33554370 (0x1ffffc2) *)
- := (Const 33554370%Z).
-Notation "'0x1ffffc2'" (* 33554370 (0x1ffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0x1ffffc6'" (* 33554374 (0x1ffffc6) *)
- := (Const 33554374%Z).
-Notation "'0x1ffffc6'" (* 33554374 (0x1ffffc6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0x1ffffca'" (* 33554378 (0x1ffffca) *)
- := (Const 33554378%Z).
-Notation "'0x1ffffca'" (* 33554378 (0x1ffffca) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0x1ffffce'" (* 33554382 (0x1ffffce) *)
- := (Const 33554382%Z).
-Notation "'0x1ffffce'" (* 33554382 (0x1ffffce) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x1ffffda'" (* 33554394 (0x1ffffda) *)
- := (Const 33554394%Z).
-Notation "'0x1ffffda'" (* 33554394 (0x1ffffda) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x1ffffde'" (* 33554398 (0x1ffffde) *)
- := (Const 33554398%Z).
-Notation "'0x1ffffde'" (* 33554398 (0x1ffffde) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1ffffdf'" (* 33554399 (0x1ffffdf) *)
- := (Const 33554399%Z).
-Notation "'0x1ffffdf'" (* 33554399 (0x1ffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0x1ffffe1'" (* 33554401 (0x1ffffe1) *)
- := (Const 33554401%Z).
-Notation "'0x1ffffe1'" (* 33554401 (0x1ffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x1ffffe2'" (* 33554402 (0x1ffffe2) *)
- := (Const 33554402%Z).
-Notation "'0x1ffffe2'" (* 33554402 (0x1ffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x1ffffe7'" (* 33554407 (0x1ffffe7) *)
- := (Const 33554407%Z).
-Notation "'0x1ffffe7'" (* 33554407 (0x1ffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x1ffffea'" (* 33554410 (0x1ffffea) *)
- := (Const 33554410%Z).
-Notation "'0x1ffffea'" (* 33554410 (0x1ffffea) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0x1ffffeb'" (* 33554411 (0x1ffffeb) *)
- := (Const 33554411%Z).
-Notation "'0x1ffffeb'" (* 33554411 (0x1ffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0x1ffffed'" (* 33554413 (0x1ffffed) *)
- := (Const 33554413%Z).
-Notation "'0x1ffffed'" (* 33554413 (0x1ffffed) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x1ffffee'" (* 33554414 (0x1ffffee) *)
- := (Const 33554414%Z).
-Notation "'0x1ffffee'" (* 33554414 (0x1ffffee) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x1ffffef'" (* 33554415 (0x1ffffef) *)
- := (Const 33554415%Z).
-Notation "'0x1ffffef'" (* 33554415 (0x1ffffef) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x1fffff1'" (* 33554417 (0x1fffff1) *)
- := (Const 33554417%Z).
-Notation "'0x1fffff1'" (* 33554417 (0x1fffff1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x1fffff6'" (* 33554422 (0x1fffff6) *)
- := (Const 33554422%Z).
-Notation "'0x1fffff6'" (* 33554422 (0x1fffff6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x1fffff7'" (* 33554423 (0x1fffff7) *)
- := (Const 33554423%Z).
-Notation "'0x1fffff7'" (* 33554423 (0x1fffff7) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x1fffffa'" (* 33554426 (0x1fffffa) *)
- := (Const 33554426%Z).
-Notation "'0x1fffffa'" (* 33554426 (0x1fffffa) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x1fffffb'" (* 33554427 (0x1fffffb) *)
- := (Const 33554427%Z).
-Notation "'0x1fffffb'" (* 33554427 (0x1fffffb) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x1fffffc'" (* 33554428 (0x1fffffc) *)
- := (Const 33554428%Z).
-Notation "'0x1fffffc'" (* 33554428 (0x1fffffc) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x1fffffd'" (* 33554429 (0x1fffffd) *)
- := (Const 33554429%Z).
-Notation "'0x1fffffd'" (* 33554429 (0x1fffffd) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x1fffffe'" (* 33554430 (0x1fffffe) *)
- := (Const 33554430%Z).
-Notation "'0x1fffffe'" (* 33554430 (0x1fffffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1ffffff'" (* 33554431 (0x1ffffff) *)
- := (Const 33554431%Z).
-Notation "'0x1ffffff'" (* 33554431 (0x1ffffff) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000'" (* 33554432 (0x2000000) *)
- := (Const 33554432%Z).
-Notation "'0x2000000'" (* 33554432 (0x2000000) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000001'" (* 33554433 (0x2000001) *)
- := (Const 33554433%Z).
-Notation "'0x2000001'" (* 33554433 (0x2000001) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffc2f'" (* 67107887 (0x3fffc2f) *)
- := (Const 67107887%Z).
-Notation "'0x3fffc2f'" (* 67107887 (0x3fffc2f) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0x3ffff16'" (* 67108630 (0x3ffff16) *)
- := (Const 67108630%Z).
-Notation "'0x3ffff16'" (* 67108630 (0x3ffff16) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0x3ffffbe'" (* 67108798 (0x3ffffbe) *)
- := (Const 67108798%Z).
-Notation "'0x3ffffbe'" (* 67108798 (0x3ffffbe) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0x3ffffbf'" (* 67108799 (0x3ffffbf) *)
- := (Const 67108799%Z).
-Notation "'0x3ffffbf'" (* 67108799 (0x3ffffbf) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1).
-Notation "'0x3ffffc2'" (* 67108802 (0x3ffffc2) *)
- := (Const 67108802%Z).
-Notation "'0x3ffffc2'" (* 67108802 (0x3ffffc2) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0x3ffffce'" (* 67108814 (0x3ffffce) *)
- := (Const 67108814%Z).
-Notation "'0x3ffffce'" (* 67108814 (0x3ffffce) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x3ffffd6'" (* 67108822 (0x3ffffd6) *)
- := (Const 67108822%Z).
-Notation "'0x3ffffd6'" (* 67108822 (0x3ffffd6) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0x3ffffda'" (* 67108826 (0x3ffffda) *)
- := (Const 67108826%Z).
-Notation "'0x3ffffda'" (* 67108826 (0x3ffffda) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x3ffffde'" (* 67108830 (0x3ffffde) *)
- := (Const 67108830%Z).
-Notation "'0x3ffffde'" (* 67108830 (0x3ffffde) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x3ffffe1'" (* 67108833 (0x3ffffe1) *)
- := (Const 67108833%Z).
-Notation "'0x3ffffe1'" (* 67108833 (0x3ffffe1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x3ffffe2'" (* 67108834 (0x3ffffe2) *)
- := (Const 67108834%Z).
-Notation "'0x3ffffe2'" (* 67108834 (0x3ffffe2) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x3ffffe5'" (* 67108837 (0x3ffffe5) *)
- := (Const 67108837%Z).
-Notation "'0x3ffffe5'" (* 67108837 (0x3ffffe5) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0x3ffffe7'" (* 67108839 (0x3ffffe7) *)
- := (Const 67108839%Z).
-Notation "'0x3ffffe7'" (* 67108839 (0x3ffffe7) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x3ffffeb'" (* 67108843 (0x3ffffeb) *)
- := (Const 67108843%Z).
-Notation "'0x3ffffeb'" (* 67108843 (0x3ffffeb) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0x3ffffed'" (* 67108845 (0x3ffffed) *)
- := (Const 67108845%Z).
-Notation "'0x3ffffed'" (* 67108845 (0x3ffffed) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x3ffffee'" (* 67108846 (0x3ffffee) *)
- := (Const 67108846%Z).
-Notation "'0x3ffffee'" (* 67108846 (0x3ffffee) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x3ffffef'" (* 67108847 (0x3ffffef) *)
- := (Const 67108847%Z).
-Notation "'0x3ffffef'" (* 67108847 (0x3ffffef) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x3fffff1'" (* 67108849 (0x3fffff1) *)
- := (Const 67108849%Z).
-Notation "'0x3fffff1'" (* 67108849 (0x3fffff1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x3fffff6'" (* 67108854 (0x3fffff6) *)
- := (Const 67108854%Z).
-Notation "'0x3fffff6'" (* 67108854 (0x3fffff6) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x3fffff7'" (* 67108855 (0x3fffff7) *)
- := (Const 67108855%Z).
-Notation "'0x3fffff7'" (* 67108855 (0x3fffff7) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x3fffffa'" (* 67108858 (0x3fffffa) *)
- := (Const 67108858%Z).
-Notation "'0x3fffffa'" (* 67108858 (0x3fffffa) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x3fffffb'" (* 67108859 (0x3fffffb) *)
- := (Const 67108859%Z).
-Notation "'0x3fffffb'" (* 67108859 (0x3fffffb) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3fffffc'" (* 67108860 (0x3fffffc) *)
- := (Const 67108860%Z).
-Notation "'0x3fffffc'" (* 67108860 (0x3fffffc) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x3fffffd'" (* 67108861 (0x3fffffd) *)
- := (Const 67108861%Z).
-Notation "'0x3fffffd'" (* 67108861 (0x3fffffd) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3fffffe'" (* 67108862 (0x3fffffe) *)
- := (Const 67108862%Z).
-Notation "'0x3fffffe'" (* 67108862 (0x3fffffe) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffffff'" (* 67108863 (0x3ffffff) *)
- := (Const 67108863%Z).
-Notation "'0x3ffffff'" (* 67108863 (0x3ffffff) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000'" (* 67108864 (0x4000000) *)
- := (Const 67108864%Z).
-Notation "'0x4000000'" (* 67108864 (0x4000000) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000001'" (* 67108865 (0x4000001) *)
- := (Const 67108865%Z).
-Notation "'0x4000001'" (* 67108865 (0x4000001) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fff85e'" (* 134215774 (0x7fff85e) *)
- := (Const 134215774%Z).
-Notation "'0x7fff85e'" (* 134215774 (0x7fff85e) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0x7ffff7e'" (* 134217598 (0x7ffff7e) *)
- := (Const 134217598%Z).
-Notation "'0x7ffff7e'" (* 134217598 (0x7ffff7e) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~0).
-Notation "'0x7ffffc2'" (* 134217666 (0x7ffffc2) *)
- := (Const 134217666%Z).
-Notation "'0x7ffffc2'" (* 134217666 (0x7ffffc2) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0x7ffffca'" (* 134217674 (0x7ffffca) *)
- := (Const 134217674%Z).
-Notation "'0x7ffffca'" (* 134217674 (0x7ffffca) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0x7ffffce'" (* 134217678 (0x7ffffce) *)
- := (Const 134217678%Z).
-Notation "'0x7ffffce'" (* 134217678 (0x7ffffce) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x7ffffd6'" (* 134217686 (0x7ffffd6) *)
- := (Const 134217686%Z).
-Notation "'0x7ffffd6'" (* 134217686 (0x7ffffd6) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0x7ffffda'" (* 134217690 (0x7ffffda) *)
- := (Const 134217690%Z).
-Notation "'0x7ffffda'" (* 134217690 (0x7ffffda) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x7ffffde'" (* 134217694 (0x7ffffde) *)
- := (Const 134217694%Z).
-Notation "'0x7ffffde'" (* 134217694 (0x7ffffde) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x7ffffe1'" (* 134217697 (0x7ffffe1) *)
- := (Const 134217697%Z).
-Notation "'0x7ffffe1'" (* 134217697 (0x7ffffe1) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x7ffffe2'" (* 134217698 (0x7ffffe2) *)
- := (Const 134217698%Z).
-Notation "'0x7ffffe2'" (* 134217698 (0x7ffffe2) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x7ffffe3'" (* 134217699 (0x7ffffe3) *)
- := (Const 134217699%Z).
-Notation "'0x7ffffe3'" (* 134217699 (0x7ffffe3) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0x7ffffe7'" (* 134217703 (0x7ffffe7) *)
- := (Const 134217703%Z).
-Notation "'0x7ffffe7'" (* 134217703 (0x7ffffe7) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x7ffffed'" (* 134217709 (0x7ffffed) *)
- := (Const 134217709%Z).
-Notation "'0x7ffffed'" (* 134217709 (0x7ffffed) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7ffffee'" (* 134217710 (0x7ffffee) *)
- := (Const 134217710%Z).
-Notation "'0x7ffffee'" (* 134217710 (0x7ffffee) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x7ffffef'" (* 134217711 (0x7ffffef) *)
- := (Const 134217711%Z).
-Notation "'0x7ffffef'" (* 134217711 (0x7ffffef) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7fffff1'" (* 134217713 (0x7fffff1) *)
- := (Const 134217713%Z).
-Notation "'0x7fffff1'" (* 134217713 (0x7fffff1) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x7fffff6'" (* 134217718 (0x7fffff6) *)
- := (Const 134217718%Z).
-Notation "'0x7fffff6'" (* 134217718 (0x7fffff6) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7fffff7'" (* 134217719 (0x7fffff7) *)
- := (Const 134217719%Z).
-Notation "'0x7fffff7'" (* 134217719 (0x7fffff7) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x7fffffa'" (* 134217722 (0x7fffffa) *)
- := (Const 134217722%Z).
-Notation "'0x7fffffa'" (* 134217722 (0x7fffffa) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7fffffc'" (* 134217724 (0x7fffffc) *)
- := (Const 134217724%Z).
-Notation "'0x7fffffc'" (* 134217724 (0x7fffffc) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x7fffffd'" (* 134217725 (0x7fffffd) *)
- := (Const 134217725%Z).
-Notation "'0x7fffffd'" (* 134217725 (0x7fffffd) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x7fffffe'" (* 134217726 (0x7fffffe) *)
- := (Const 134217726%Z).
-Notation "'0x7fffffe'" (* 134217726 (0x7fffffe) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffffff'" (* 134217727 (0x7ffffff) *)
- := (Const 134217727%Z).
-Notation "'0x7ffffff'" (* 134217727 (0x7ffffff) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000'" (* 134217728 (0x8000000) *)
- := (Const 134217728%Z).
-Notation "'0x8000000'" (* 134217728 (0x8000000) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000001'" (* 134217729 (0x8000001) *)
- := (Const 134217729%Z).
-Notation "'0x8000001'" (* 134217729 (0x8000001) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffff000'" (* 268431360 (0xffff000) *)
- := (Const 268431360%Z).
-Notation "'0xffff000'" (* 268431360 (0xffff000) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0xfffffc2'" (* 268435394 (0xfffffc2) *)
- := (Const 268435394%Z).
-Notation "'0xfffffc2'" (* 268435394 (0xfffffc2) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0xfffffc6'" (* 268435398 (0xfffffc6) *)
- := (Const 268435398%Z).
-Notation "'0xfffffc6'" (* 268435398 (0xfffffc6) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0xfffffce'" (* 268435406 (0xfffffce) *)
- := (Const 268435406%Z).
-Notation "'0xfffffce'" (* 268435406 (0xfffffce) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0xfffffda'" (* 268435418 (0xfffffda) *)
- := (Const 268435418%Z).
-Notation "'0xfffffda'" (* 268435418 (0xfffffda) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xfffffde'" (* 268435422 (0xfffffde) *)
- := (Const 268435422%Z).
-Notation "'0xfffffde'" (* 268435422 (0xfffffde) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0xfffffe2'" (* 268435426 (0xfffffe2) *)
- := (Const 268435426%Z).
-Notation "'0xfffffe2'" (* 268435426 (0xfffffe2) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0xfffffee'" (* 268435438 (0xfffffee) *)
- := (Const 268435438%Z).
-Notation "'0xfffffee'" (* 268435438 (0xfffffee) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0xffffff1'" (* 268435441 (0xffffff1) *)
- := (Const 268435441%Z).
-Notation "'0xffffff1'" (* 268435441 (0xffffff1) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0xffffff3'" (* 268435443 (0xffffff3) *)
- := (Const 268435443%Z).
-Notation "'0xffffff3'" (* 268435443 (0xffffff3) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0xffffff5'" (* 268435445 (0xffffff5) *)
- := (Const 268435445%Z).
-Notation "'0xffffff5'" (* 268435445 (0xffffff5) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0xffffff7'" (* 268435447 (0xffffff7) *)
- := (Const 268435447%Z).
-Notation "'0xffffff7'" (* 268435447 (0xffffff7) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0xffffffa'" (* 268435450 (0xffffffa) *)
- := (Const 268435450%Z).
-Notation "'0xffffffa'" (* 268435450 (0xffffffa) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0xffffffb'" (* 268435451 (0xffffffb) *)
- := (Const 268435451%Z).
-Notation "'0xffffffb'" (* 268435451 (0xffffffb) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xffffffc'" (* 268435452 (0xffffffc) *)
- := (Const 268435452%Z).
-Notation "'0xffffffc'" (* 268435452 (0xffffffc) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0xffffffd'" (* 268435453 (0xffffffd) *)
- := (Const 268435453%Z).
-Notation "'0xffffffd'" (* 268435453 (0xffffffd) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xffffffe'" (* 268435454 (0xffffffe) *)
- := (Const 268435454%Z).
-Notation "'0xffffffe'" (* 268435454 (0xffffffe) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffffff'" (* 268435455 (0xfffffff) *)
- := (Const 268435455%Z).
-Notation "'0xfffffff'" (* 268435455 (0xfffffff) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000'" (* 268435456 (0x10000000) *)
- := (Const 268435456%Z).
-Notation "'0x10000000'" (* 268435456 (0x10000000) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000001'" (* 268435457 (0x10000001) *)
- := (Const 268435457%Z).
-Notation "'0x10000001'" (* 268435457 (0x10000001) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffc2f'" (* 536869935 (0x1ffffc2f) *)
- := (Const 536869935%Z).
-Notation "'0x1ffffc2f'" (* 536869935 (0x1ffffc2f) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0x1fffffe2'" (* 536870882 (0x1fffffe2) *)
- := (Const 536870882%Z).
-Notation "'0x1fffffe2'" (* 536870882 (0x1fffffe2) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x1fffffe6'" (* 536870886 (0x1fffffe6) *)
- := (Const 536870886%Z).
-Notation "'0x1fffffe6'" (* 536870886 (0x1fffffe6) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0x1fffffea'" (* 536870890 (0x1fffffea) *)
- := (Const 536870890%Z).
-Notation "'0x1fffffea'" (* 536870890 (0x1fffffea) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0x1fffffed'" (* 536870893 (0x1fffffed) *)
- := (Const 536870893%Z).
-Notation "'0x1fffffed'" (* 536870893 (0x1fffffed) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x1fffffee'" (* 536870894 (0x1fffffee) *)
- := (Const 536870894%Z).
-Notation "'0x1fffffee'" (* 536870894 (0x1fffffee) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x1ffffff6'" (* 536870902 (0x1ffffff6) *)
- := (Const 536870902%Z).
-Notation "'0x1ffffff6'" (* 536870902 (0x1ffffff6) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x1ffffffa'" (* 536870906 (0x1ffffffa) *)
- := (Const 536870906%Z).
-Notation "'0x1ffffffa'" (* 536870906 (0x1ffffffa) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x1ffffffb'" (* 536870907 (0x1ffffffb) *)
- := (Const 536870907%Z).
-Notation "'0x1ffffffb'" (* 536870907 (0x1ffffffb) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x1ffffffc'" (* 536870908 (0x1ffffffc) *)
- := (Const 536870908%Z).
-Notation "'0x1ffffffc'" (* 536870908 (0x1ffffffc) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x1ffffffd'" (* 536870909 (0x1ffffffd) *)
- := (Const 536870909%Z).
-Notation "'0x1ffffffd'" (* 536870909 (0x1ffffffd) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x1ffffffe'" (* 536870910 (0x1ffffffe) *)
- := (Const 536870910%Z).
-Notation "'0x1ffffffe'" (* 536870910 (0x1ffffffe) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffff'" (* 536870911 (0x1fffffff) *)
- := (Const 536870911%Z).
-Notation "'0x1fffffff'" (* 536870911 (0x1fffffff) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000'" (* 536870912 (0x20000000) *)
- := (Const 536870912%Z).
-Notation "'0x20000000'" (* 536870912 (0x20000000) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000001'" (* 536870913 (0x20000001) *)
- := (Const 536870913%Z).
-Notation "'0x20000001'" (* 536870913 (0x20000001) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x286bca1b'" (* 678152731 (0x286bca1b) *)
- := (Const 678152731%Z).
-Notation "'0x286bca1b'" (* 678152731 (0x286bca1b) *)
- := (Const WO~0~0~1~0~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~1).
-Notation "'0x38e38e39'" (* 954437177 (0x38e38e39) *)
- := (Const 954437177%Z).
-Notation "'0x38e38e39'" (* 954437177 (0x38e38e39) *)
- := (Const WO~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~1).
-Notation "'0x3eddffff'" (* 1054736383 (0x3eddffff) *)
- := (Const 1054736383%Z).
-Notation "'0x3eddffff'" (* 1054736383 (0x3eddffff) *)
- := (Const WO~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3f80ffff'" (* 1065418751 (0x3f80ffff) *)
- := (Const 1065418751%Z).
-Notation "'0x3f80ffff'" (* 1065418751 (0x3f80ffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3fff7fff'" (* 1073709055 (0x3fff7fff) *)
- := (Const 1073709055%Z).
-Notation "'0x3fff7fff'" (* 1073709055 (0x3fff7fff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3ffff85e'" (* 1073739870 (0x3ffff85e) *)
- := (Const 1073739870%Z).
-Notation "'0x3ffff85e'" (* 1073739870 (0x3ffff85e) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0x3fffffda'" (* 1073741786 (0x3fffffda) *)
- := (Const 1073741786%Z).
-Notation "'0x3fffffda'" (* 1073741786 (0x3fffffda) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x3ffffff6'" (* 1073741814 (0x3ffffff6) *)
- := (Const 1073741814%Z).
-Notation "'0x3ffffff6'" (* 1073741814 (0x3ffffff6) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x3ffffffa'" (* 1073741818 (0x3ffffffa) *)
- := (Const 1073741818%Z).
-Notation "'0x3ffffffa'" (* 1073741818 (0x3ffffffa) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x3ffffffd'" (* 1073741821 (0x3ffffffd) *)
- := (Const 1073741821%Z).
-Notation "'0x3ffffffd'" (* 1073741821 (0x3ffffffd) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3ffffffe'" (* 1073741822 (0x3ffffffe) *)
- := (Const 1073741822%Z).
-Notation "'0x3ffffffe'" (* 1073741822 (0x3ffffffe) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3fffffff'" (* 1073741823 (0x3fffffff) *)
- := (Const 1073741823%Z).
-Notation "'0x3fffffff'" (* 1073741823 (0x3fffffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000'" (* 1073741824 (0x40000000) *)
- := (Const 1073741824%Z).
-Notation "'0x40000000'" (* 1073741824 (0x40000000) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000001'" (* 1073741825 (0x40000001) *)
- := (Const 1073741825%Z).
-Notation "'0x40000001'" (* 1073741825 (0x40000001) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x4f72c235'" (* 1332920885 (0x4f72c235) *)
- := (Const 1332920885%Z).
-Notation "'0x4f72c235'" (* 1332920885 (0x4f72c235) *)
- := (Const WO~0~1~0~0~1~1~1~1~0~1~1~1~0~0~1~0~1~1~0~0~0~0~1~0~0~0~1~1~0~1~0~1).
-Notation "'0x684bda13'" (* 1749801491 (0x684bda13) *)
- := (Const 1749801491%Z).
-Notation "'0x684bda13'" (* 1749801491 (0x684bda13) *)
- := (Const WO~0~1~1~0~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~1).
-Notation "'0x7ffefffe'" (* 2147418110 (0x7ffefffe) *)
- := (Const 2147418110%Z).
-Notation "'0x7ffefffe'" (* 2147418110 (0x7ffefffe) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffffef'" (* 2147483631 (0x7fffffef) *)
- := (Const 2147483631%Z).
-Notation "'0x7fffffef'" (* 2147483631 (0x7fffffef) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7ffffffa'" (* 2147483642 (0x7ffffffa) *)
- := (Const 2147483642%Z).
-Notation "'0x7ffffffa'" (* 2147483642 (0x7ffffffa) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7ffffffc'" (* 2147483644 (0x7ffffffc) *)
- := (Const 2147483644%Z).
-Notation "'0x7ffffffc'" (* 2147483644 (0x7ffffffc) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x7ffffffe'" (* 2147483646 (0x7ffffffe) *)
- := (Const 2147483646%Z).
-Notation "'0x7ffffffe'" (* 2147483646 (0x7ffffffe) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffffff'" (* 2147483647 (0x7fffffff) *)
- := (Const 2147483647%Z).
-Notation "'0x7fffffff'" (* 2147483647 (0x7fffffff) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000'" (* 2147483648 (0x80000000) *)
- := (Const 2147483648%Z).
-Notation "'0x80000000'" (* 2147483648 (0x80000000) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000001'" (* 2147483649 (0x80000001) *)
- := (Const 2147483649%Z).
-Notation "'0x80000001'" (* 2147483649 (0x80000001) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xaaaaaaab'" (* 2863311531 (0xaaaaaaab) *)
- := (Const 2863311531%Z).
-Notation "'0xaaaaaaab'" (* 2863311531 (0xaaaaaaab) *)
- := (Const WO~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~1).
-Notation "'0xb0ffffff'" (* 2969567231 (0xb0ffffff) *)
- := (Const 2969567231%Z).
-Notation "'0xb0ffffff'" (* 2969567231 (0xb0ffffff) *)
- := (Const WO~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xba2e8ba3'" (* 3123612579 (0xba2e8ba3) *)
- := (Const 3123612579%Z).
-Notation "'0xba2e8ba3'" (* 3123612579 (0xba2e8ba3) *)
- := (Const WO~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~1).
-Notation "'0xc28f5c29'" (* 3264175145 (0xc28f5c29) *)
- := (Const 3264175145%Z).
-Notation "'0xc28f5c29'" (* 3264175145 (0xc28f5c29) *)
- := (Const WO~1~1~0~0~0~0~1~0~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~1).
-Notation "'0xc4ec4ec5'" (* 3303820997 (0xc4ec4ec5) *)
- := (Const 3303820997%Z).
-Notation "'0xc4ec4ec5'" (* 3303820997 (0xc4ec4ec5) *)
- := (Const WO~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~1).
-Notation "'0xcccccccd'" (* 3435973837 (0xcccccccd) *)
- := (Const 3435973837%Z).
-Notation "'0xcccccccd'" (* 3435973837 (0xcccccccd) *)
- := (Const WO~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~1).
-Notation "'0xdcfdcfdd'" (* 3707621341 (0xdcfdcfdd) *)
- := (Const 3707621341%Z).
-Notation "'0xdcfdcfdd'" (* 3707621341 (0xdcfdcfdd) *)
- := (Const WO~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~1).
-Notation "'0xeeeeeeef'" (* 4008636143 (0xeeeeeeef) *)
- := (Const 4008636143%Z).
-Notation "'0xeeeeeeef'" (* 4008636143 (0xeeeeeeef) *)
- := (Const WO~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~1).
-Notation "'0xf0f0f0f1'" (* 4042322161 (0xf0f0f0f1) *)
- := (Const 4042322161%Z).
-Notation "'0xf0f0f0f1'" (* 4042322161 (0xf0f0f0f1) *)
- := (Const WO~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~1).
-Notation "'0xfe14ffff'" (* 4262789119 (0xfe14ffff) *)
- := (Const 4262789119%Z).
-Notation "'0xfe14ffff'" (* 4262789119 (0xfe14ffff) *)
- := (Const WO~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xffa7ffff'" (* 4289200127 (0xffa7ffff) *)
- := (Const 4289200127%Z).
-Notation "'0xffa7ffff'" (* 4289200127 (0xffa7ffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffaffff'" (* 4294639615 (0xfffaffff) *)
- := (Const 4294639615%Z).
-Notation "'0xfffaffff'" (* 4294639615 (0xfffaffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffeffff'" (* 4294901759 (0xfffeffff) *)
- := (Const 4294901759%Z).
-Notation "'0xfffeffff'" (* 4294901759 (0xfffeffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xffffefff'" (* 4294963199 (0xffffefff) *)
- := (Const 4294963199%Z).
-Notation "'0xffffefff'" (* 4294963199 (0xffffefff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffffc2f'" (* 4294966319 (0xfffffc2f) *)
- := (Const 4294966319%Z).
-Notation "'0xfffffc2f'" (* 4294966319 (0xfffffc2f) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0xfffffd03'" (* 4294966531 (0xfffffd03) *)
- := (Const 4294966531%Z).
-Notation "'0xfffffd03'" (* 4294966531 (0xfffffd03) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0xfffffdc7'" (* 4294966727 (0xfffffdc7) *)
- := (Const 4294966727%Z).
-Notation "'0xfffffdc7'" (* 4294966727 (0xfffffdc7) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0xfffffe1f'" (* 4294966815 (0xfffffe1f) *)
- := (Const 4294966815%Z).
-Notation "'0xfffffe1f'" (* 4294966815 (0xfffffe1f) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0xfffffe5b'" (* 4294966875 (0xfffffe5b) *)
- := (Const 4294966875%Z).
-Notation "'0xfffffe5b'" (* 4294966875 (0xfffffe5b) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0xfffffec3'" (* 4294966979 (0xfffffec3) *)
- := (Const 4294966979%Z).
-Notation "'0xfffffec3'" (* 4294966979 (0xfffffec3) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0xffffff43'" (* 4294967107 (0xffffff43) *)
- := (Const 4294967107%Z).
-Notation "'0xffffff43'" (* 4294967107 (0xffffff43) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0xffffff45'" (* 4294967109 (0xffffff45) *)
- := (Const 4294967109%Z).
-Notation "'0xffffff45'" (* 4294967109 (0xffffff45) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0xffffff8b'" (* 4294967179 (0xffffff8b) *)
- := (Const 4294967179%Z).
-Notation "'0xffffff8b'" (* 4294967179 (0xffffff8b) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0xffffff97'" (* 4294967191 (0xffffff97) *)
- := (Const 4294967191%Z).
-Notation "'0xffffff97'" (* 4294967191 (0xffffff97) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0xffffffde'" (* 4294967262 (0xffffffde) *)
- := (Const 4294967262%Z).
-Notation "'0xffffffde'" (* 4294967262 (0xffffffde) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0xffffffdf'" (* 4294967263 (0xffffffdf) *)
- := (Const 4294967263%Z).
-Notation "'0xffffffdf'" (* 4294967263 (0xffffffdf) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0xffffffe1'" (* 4294967265 (0xffffffe1) *)
- := (Const 4294967265%Z).
-Notation "'0xffffffe1'" (* 4294967265 (0xffffffe1) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0xffffffe3'" (* 4294967267 (0xffffffe3) *)
- := (Const 4294967267%Z).
-Notation "'0xffffffe3'" (* 4294967267 (0xffffffe3) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0xffffffe5'" (* 4294967269 (0xffffffe5) *)
- := (Const 4294967269%Z).
-Notation "'0xffffffe5'" (* 4294967269 (0xffffffe5) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0xffffffe7'" (* 4294967271 (0xffffffe7) *)
- := (Const 4294967271%Z).
-Notation "'0xffffffe7'" (* 4294967271 (0xffffffe7) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0xffffffeb'" (* 4294967275 (0xffffffeb) *)
- := (Const 4294967275%Z).
-Notation "'0xffffffeb'" (* 4294967275 (0xffffffeb) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0xffffffed'" (* 4294967277 (0xffffffed) *)
- := (Const 4294967277%Z).
-Notation "'0xffffffed'" (* 4294967277 (0xffffffed) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0xffffffef'" (* 4294967279 (0xffffffef) *)
- := (Const 4294967279%Z).
-Notation "'0xffffffef'" (* 4294967279 (0xffffffef) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xfffffff1'" (* 4294967281 (0xfffffff1) *)
- := (Const 4294967281%Z).
-Notation "'0xfffffff1'" (* 4294967281 (0xfffffff1) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0xfffffff3'" (* 4294967283 (0xfffffff3) *)
- := (Const 4294967283%Z).
-Notation "'0xfffffff3'" (* 4294967283 (0xfffffff3) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0xfffffff5'" (* 4294967285 (0xfffffff5) *)
- := (Const 4294967285%Z).
-Notation "'0xfffffff5'" (* 4294967285 (0xfffffff5) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0xfffffff7'" (* 4294967287 (0xfffffff7) *)
- := (Const 4294967287%Z).
-Notation "'0xfffffff7'" (* 4294967287 (0xfffffff7) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0xfffffffb'" (* 4294967291 (0xfffffffb) *)
- := (Const 4294967291%Z).
-Notation "'0xfffffffb'" (* 4294967291 (0xfffffffb) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xfffffffd'" (* 4294967293 (0xfffffffd) *)
- := (Const 4294967293%Z).
-Notation "'0xfffffffd'" (* 4294967293 (0xfffffffd) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xfffffffe'" (* 4294967294 (0xfffffffe) *)
- := (Const 4294967294%Z).
-Notation "'0xfffffffe'" (* 4294967294 (0xfffffffe) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffffff'" (* 4294967295 (0xffffffff) *)
- := (Const 4294967295%Z).
-Notation "'0xffffffff'" (* 4294967295 (0xffffffff) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000'" (* 4294967296 (0x100000000) *)
- := (Const 4294967296%Z).
-Notation "'0x100000000'" (* 4294967296 (0x100000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000001'" (* 4294967297 (0x100000001) *)
- := (Const 4294967297%Z).
-Notation "'0x100000001'" (* 4294967297 (0x100000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1000003d1'" (* 4294968273 (0x1000003d1) *)
- := (Const 4294968273%Z).
-Notation "'0x1000003d1'" (* 4294968273 (0x1000003d1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~0~1~0~0~0~1).
-Notation "'0x1ffffffdf'" (* 8589934559 (0x1ffffffdf) *)
- := (Const 8589934559%Z).
-Notation "'0x1ffffffdf'" (* 8589934559 (0x1ffffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0x1ffffffe7'" (* 8589934567 (0x1ffffffe7) *)
- := (Const 8589934567%Z).
-Notation "'0x1ffffffe7'" (* 8589934567 (0x1ffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x1ffffffef'" (* 8589934575 (0x1ffffffef) *)
- := (Const 8589934575%Z).
-Notation "'0x1ffffffef'" (* 8589934575 (0x1ffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x1fffffffb'" (* 8589934587 (0x1fffffffb) *)
- := (Const 8589934587%Z).
-Notation "'0x1fffffffb'" (* 8589934587 (0x1fffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x1fffffffe'" (* 8589934590 (0x1fffffffe) *)
- := (Const 8589934590%Z).
-Notation "'0x1fffffffe'" (* 8589934590 (0x1fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1ffffffff'" (* 8589934591 (0x1ffffffff) *)
- := (Const 8589934591%Z).
-Notation "'0x1ffffffff'" (* 8589934591 (0x1ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000'" (* 8589934592 (0x200000000) *)
- := (Const 8589934592%Z).
-Notation "'0x200000000'" (* 8589934592 (0x200000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000001'" (* 8589934593 (0x200000001) *)
- := (Const 8589934593%Z).
-Notation "'0x200000001'" (* 8589934593 (0x200000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffce'" (* 17179869134 (0x3ffffffce) *)
- := (Const 17179869134%Z).
-Notation "'0x3ffffffce'" (* 17179869134 (0x3ffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x3fffffff6'" (* 17179869174 (0x3fffffff6) *)
- := (Const 17179869174%Z).
-Notation "'0x3fffffff6'" (* 17179869174 (0x3fffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x3fffffffe'" (* 17179869182 (0x3fffffffe) *)
- := (Const 17179869182%Z).
-Notation "'0x3fffffffe'" (* 17179869182 (0x3fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffffffff'" (* 17179869183 (0x3ffffffff) *)
- := (Const 17179869183%Z).
-Notation "'0x3ffffffff'" (* 17179869183 (0x3ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000'" (* 17179869184 (0x400000000) *)
- := (Const 17179869184%Z).
-Notation "'0x400000000'" (* 17179869184 (0x400000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000001'" (* 17179869185 (0x400000001) *)
- := (Const 17179869185%Z).
-Notation "'0x400000001'" (* 17179869185 (0x400000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffe5'" (* 34359738341 (0x7ffffffe5) *)
- := (Const 34359738341%Z).
-Notation "'0x7ffffffe5'" (* 34359738341 (0x7ffffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0x7ffffffed'" (* 34359738349 (0x7ffffffed) *)
- := (Const 34359738349%Z).
-Notation "'0x7ffffffed'" (* 34359738349 (0x7ffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7fffffff3'" (* 34359738355 (0x7fffffff3) *)
- := (Const 34359738355%Z).
-Notation "'0x7fffffff3'" (* 34359738355 (0x7fffffff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0x7fffffffe'" (* 34359738366 (0x7fffffffe) *)
- := (Const 34359738366%Z).
-Notation "'0x7fffffffe'" (* 34359738366 (0x7fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffffffff'" (* 34359738367 (0x7ffffffff) *)
- := (Const 34359738367%Z).
-Notation "'0x7ffffffff'" (* 34359738367 (0x7ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000'" (* 34359738368 (0x800000000) *)
- := (Const 34359738368%Z).
-Notation "'0x800000000'" (* 34359738368 (0x800000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000001'" (* 34359738369 (0x800000001) *)
- := (Const 34359738369%Z).
-Notation "'0x800000001'" (* 34359738369 (0x800000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffca'" (* 68719476682 (0xfffffffca) *)
- := (Const 68719476682%Z).
-Notation "'0xfffffffca'" (* 68719476682 (0xfffffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0xfffffffe3'" (* 68719476707 (0xfffffffe3) *)
- := (Const 68719476707%Z).
-Notation "'0xfffffffe3'" (* 68719476707 (0xfffffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0xfffffffe6'" (* 68719476710 (0xfffffffe6) *)
- := (Const 68719476710%Z).
-Notation "'0xfffffffe6'" (* 68719476710 (0xfffffffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0xffffffff7'" (* 68719476727 (0xffffffff7) *)
- := (Const 68719476727%Z).
-Notation "'0xffffffff7'" (* 68719476727 (0xffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0xffffffffd'" (* 68719476733 (0xffffffffd) *)
- := (Const 68719476733%Z).
-Notation "'0xffffffffd'" (* 68719476733 (0xffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xffffffffe'" (* 68719476734 (0xffffffffe) *)
- := (Const 68719476734%Z).
-Notation "'0xffffffffe'" (* 68719476734 (0xffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffffffff'" (* 68719476735 (0xfffffffff) *)
- := (Const 68719476735%Z).
-Notation "'0xfffffffff'" (* 68719476735 (0xfffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000'" (* 68719476736 (0x1000000000) *)
- := (Const 68719476736%Z).
-Notation "'0x1000000000'" (* 68719476736 (0x1000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000001'" (* 68719476737 (0x1000000001) *)
- := (Const 68719476737%Z).
-Notation "'0x1000000001'" (* 68719476737 (0x1000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1efffffc2f'" (* 133143985199 (0x1efffffc2f) *)
- := (Const 133143985199%Z).
-Notation "'0x1efffffc2f'" (* 133143985199 (0x1efffffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0x1fffe00000'" (* 137436856320 (0x1fffe00000) *)
- := (Const 137436856320%Z).
-Notation "'0x1fffe00000'" (* 137436856320 (0x1fffe00000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1ffffffe1f'" (* 137438952991 (0x1ffffffe1f) *)
- := (Const 137438952991%Z).
-Notation "'0x1ffffffe1f'" (* 137438952991 (0x1ffffffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0x1fffffff45'" (* 137438953285 (0x1fffffff45) *)
- := (Const 137438953285%Z).
-Notation "'0x1fffffff45'" (* 137438953285 (0x1fffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0x1fffffff8b'" (* 137438953355 (0x1fffffff8b) *)
- := (Const 137438953355%Z).
-Notation "'0x1fffffff8b'" (* 137438953355 (0x1fffffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0x1fffffffee'" (* 137438953454 (0x1fffffffee) *)
- := (Const 137438953454%Z).
-Notation "'0x1fffffffee'" (* 137438953454 (0x1fffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x1ffffffffe'" (* 137438953470 (0x1ffffffffe) *)
- := (Const 137438953470%Z).
-Notation "'0x1ffffffffe'" (* 137438953470 (0x1ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffffff'" (* 137438953471 (0x1fffffffff) *)
- := (Const 137438953471%Z).
-Notation "'0x1fffffffff'" (* 137438953471 (0x1fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000'" (* 137438953472 (0x2000000000) *)
- := (Const 137438953472%Z).
-Notation "'0x2000000000'" (* 137438953472 (0x2000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000001'" (* 137438953473 (0x2000000001) *)
- := (Const 137438953473%Z).
-Notation "'0x2000000001'" (* 137438953473 (0x2000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3dfffff85e'" (* 266287970398 (0x3dfffff85e) *)
- := (Const 266287970398%Z).
-Notation "'0x3dfffff85e'" (* 266287970398 (0x3dfffff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0x3ffdffffff'" (* 274844352511 (0x3ffdffffff) *)
- := (Const 274844352511%Z).
-Notation "'0x3ffdffffff'" (* 274844352511 (0x3ffdffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3fffffefff'" (* 274877902847 (0x3fffffefff) *)
- := (Const 274877902847%Z).
-Notation "'0x3fffffefff'" (* 274877902847 (0x3fffffefff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3fffffffe7'" (* 274877906919 (0x3fffffffe7) *)
- := (Const 274877906919%Z).
-Notation "'0x3fffffffe7'" (* 274877906919 (0x3fffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x3fffffffef'" (* 274877906927 (0x3fffffffef) *)
- := (Const 274877906927%Z).
-Notation "'0x3fffffffef'" (* 274877906927 (0x3fffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x3ffffffff5'" (* 274877906933 (0x3ffffffff5) *)
- := (Const 274877906933%Z).
-Notation "'0x3ffffffff5'" (* 274877906933 (0x3ffffffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0x3ffffffffb'" (* 274877906939 (0x3ffffffffb) *)
- := (Const 274877906939%Z).
-Notation "'0x3ffffffffb'" (* 274877906939 (0x3ffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3ffffffffd'" (* 274877906941 (0x3ffffffffd) *)
- := (Const 274877906941%Z).
-Notation "'0x3ffffffffd'" (* 274877906941 (0x3ffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3ffffffffe'" (* 274877906942 (0x3ffffffffe) *)
- := (Const 274877906942%Z).
-Notation "'0x3ffffffffe'" (* 274877906942 (0x3ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3fffffffff'" (* 274877906943 (0x3fffffffff) *)
- := (Const 274877906943%Z).
-Notation "'0x3fffffffff'" (* 274877906943 (0x3fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000'" (* 274877906944 (0x4000000000) *)
- := (Const 274877906944%Z).
-Notation "'0x4000000000'" (* 274877906944 (0x4000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000001'" (* 274877906945 (0x4000000001) *)
- := (Const 274877906945%Z).
-Notation "'0x4000000001'" (* 274877906945 (0x4000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffbfffffe'" (* 549688705022 (0x7ffbfffffe) *)
- := (Const 549688705022%Z).
-Notation "'0x7ffbfffffe'" (* 549688705022 (0x7ffbfffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffff80000'" (* 549755289600 (0x7ffff80000) *)
- := (Const 549755289600%Z).
-Notation "'0x7ffff80000'" (* 549755289600 (0x7ffff80000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x7fffffff97'" (* 549755813783 (0x7fffffff97) *)
- := (Const 549755813783%Z).
-Notation "'0x7fffffff97'" (* 549755813783 (0x7fffffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0x7fffffffce'" (* 549755813838 (0x7fffffffce) *)
- := (Const 549755813838%Z).
-Notation "'0x7fffffffce'" (* 549755813838 (0x7fffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x7fffffffde'" (* 549755813854 (0x7fffffffde) *)
- := (Const 549755813854%Z).
-Notation "'0x7fffffffde'" (* 549755813854 (0x7fffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x7fffffffdf'" (* 549755813855 (0x7fffffffdf) *)
- := (Const 549755813855%Z).
-Notation "'0x7fffffffdf'" (* 549755813855 (0x7fffffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0x7fffffffea'" (* 549755813866 (0x7fffffffea) *)
- := (Const 549755813866%Z).
-Notation "'0x7fffffffea'" (* 549755813866 (0x7fffffffea) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0x7fffffffed'" (* 549755813869 (0x7fffffffed) *)
- := (Const 549755813869%Z).
-Notation "'0x7fffffffed'" (* 549755813869 (0x7fffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7ffffffff6'" (* 549755813878 (0x7ffffffff6) *)
- := (Const 549755813878%Z).
-Notation "'0x7ffffffff6'" (* 549755813878 (0x7ffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7ffffffffa'" (* 549755813882 (0x7ffffffffa) *)
- := (Const 549755813882%Z).
-Notation "'0x7ffffffffa'" (* 549755813882 (0x7ffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7ffffffffe'" (* 549755813886 (0x7ffffffffe) *)
- := (Const 549755813886%Z).
-Notation "'0x7ffffffffe'" (* 549755813886 (0x7ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffffffff'" (* 549755813887 (0x7fffffffff) *)
- := (Const 549755813887%Z).
-Notation "'0x7fffffffff'" (* 549755813887 (0x7fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000'" (* 549755813888 (0x8000000000) *)
- := (Const 549755813888%Z).
-Notation "'0x8000000000'" (* 549755813888 (0x8000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000001'" (* 549755813889 (0x8000000001) *)
- := (Const 549755813889%Z).
-Notation "'0x8000000001'" (* 549755813889 (0x8000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffff2e'" (* 1099511627566 (0xffffffff2e) *)
- := (Const 1099511627566%Z).
-Notation "'0xffffffff2e'" (* 1099511627566 (0xffffffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0xffffffffbe'" (* 1099511627710 (0xffffffffbe) *)
- := (Const 1099511627710%Z).
-Notation "'0xffffffffbe'" (* 1099511627710 (0xffffffffbe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0xffffffffda'" (* 1099511627738 (0xffffffffda) *)
- := (Const 1099511627738%Z).
-Notation "'0xffffffffda'" (* 1099511627738 (0xffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xffffffffef'" (* 1099511627759 (0xffffffffef) *)
- := (Const 1099511627759%Z).
-Notation "'0xffffffffef'" (* 1099511627759 (0xffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xfffffffff1'" (* 1099511627761 (0xfffffffff1) *)
- := (Const 1099511627761%Z).
-Notation "'0xfffffffff1'" (* 1099511627761 (0xfffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0xfffffffffe'" (* 1099511627774 (0xfffffffffe) *)
- := (Const 1099511627774%Z).
-Notation "'0xfffffffffe'" (* 1099511627774 (0xfffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffffffff'" (* 1099511627775 (0xffffffffff) *)
- := (Const 1099511627775%Z).
-Notation "'0xffffffffff'" (* 1099511627775 (0xffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000'" (* 1099511627776 (0x10000000000) *)
- := (Const 1099511627776%Z).
-Notation "'0x10000000000'" (* 1099511627776 (0x10000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000001'" (* 1099511627777 (0x10000000001) *)
- := (Const 1099511627777%Z).
-Notation "'0x10000000001'" (* 1099511627777 (0x10000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x14bffffffff'" (* 1425929142271 (0x14bffffffff) *)
- := (Const 1425929142271%Z).
-Notation "'0x14bffffffff'" (* 1425929142271 (0x14bffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1ffffffffde'" (* 2199023255518 (0x1ffffffffde) *)
- := (Const 2199023255518%Z).
-Notation "'0x1ffffffffde'" (* 2199023255518 (0x1ffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1ffffffffe2'" (* 2199023255522 (0x1ffffffffe2) *)
- := (Const 2199023255522%Z).
-Notation "'0x1ffffffffe2'" (* 2199023255522 (0x1ffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x1fffffffff7'" (* 2199023255543 (0x1fffffffff7) *)
- := (Const 2199023255543%Z).
-Notation "'0x1fffffffff7'" (* 2199023255543 (0x1fffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x1fffffffffe'" (* 2199023255550 (0x1fffffffffe) *)
- := (Const 2199023255550%Z).
-Notation "'0x1fffffffffe'" (* 2199023255550 (0x1fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1ffffffffff'" (* 2199023255551 (0x1ffffffffff) *)
- := (Const 2199023255551%Z).
-Notation "'0x1ffffffffff'" (* 2199023255551 (0x1ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000'" (* 2199023255552 (0x20000000000) *)
- := (Const 2199023255552%Z).
-Notation "'0x20000000000'" (* 2199023255552 (0x20000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000001'" (* 2199023255553 (0x20000000001) *)
- := (Const 2199023255553%Z).
-Notation "'0x20000000001'" (* 2199023255553 (0x20000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3f80fffffff'" (* 4363955208191 (0x3f80fffffff) *)
- := (Const 4363955208191%Z).
-Notation "'0x3f80fffffff'" (* 4363955208191 (0x3f80fffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3fffffffc00'" (* 4398046510080 (0x3fffffffc00) *)
- := (Const 4398046510080%Z).
-Notation "'0x3fffffffc00'" (* 4398046510080 (0x3fffffffc00) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x3ffffffffe7'" (* 4398046511079 (0x3ffffffffe7) *)
- := (Const 4398046511079%Z).
-Notation "'0x3ffffffffe7'" (* 4398046511079 (0x3ffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x3ffffffffee'" (* 4398046511086 (0x3ffffffffee) *)
- := (Const 4398046511086%Z).
-Notation "'0x3ffffffffee'" (* 4398046511086 (0x3ffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x3fffffffff7'" (* 4398046511095 (0x3fffffffff7) *)
- := (Const 4398046511095%Z).
-Notation "'0x3fffffffff7'" (* 4398046511095 (0x3fffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x3fffffffffb'" (* 4398046511099 (0x3fffffffffb) *)
- := (Const 4398046511099%Z).
-Notation "'0x3fffffffffb'" (* 4398046511099 (0x3fffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3fffffffffe'" (* 4398046511102 (0x3fffffffffe) *)
- := (Const 4398046511102%Z).
-Notation "'0x3fffffffffe'" (* 4398046511102 (0x3fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffffffffff'" (* 4398046511103 (0x3ffffffffff) *)
- := (Const 4398046511103%Z).
-Notation "'0x3ffffffffff'" (* 4398046511103 (0x3ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000'" (* 4398046511104 (0x40000000000) *)
- := (Const 4398046511104%Z).
-Notation "'0x40000000000'" (* 4398046511104 (0x40000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000001'" (* 4398046511105 (0x40000000001) *)
- := (Const 4398046511105%Z).
-Notation "'0x40000000001'" (* 4398046511105 (0x40000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7f01ffffffe'" (* 8727910416382 (0x7f01ffffffe) *)
- := (Const 8727910416382%Z).
-Notation "'0x7f01ffffffe'" (* 8727910416382 (0x7f01ffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fefffffc2f'" (* 8791798053935 (0x7fefffffc2f) *)
- := (Const 8791798053935%Z).
-Notation "'0x7fefffffc2f'" (* 8791798053935 (0x7fefffffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0x7ffffdfffff'" (* 8796090925055 (0x7ffffdfffff) *)
- := (Const 8796090925055%Z).
-Notation "'0x7ffffdfffff'" (* 8796090925055 (0x7ffffdfffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x7fffffffd03'" (* 8796093021443 (0x7fffffffd03) *)
- := (Const 8796093021443%Z).
-Notation "'0x7fffffffd03'" (* 8796093021443 (0x7fffffffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0x7ffffffff43'" (* 8796093022019 (0x7ffffffff43) *)
- := (Const 8796093022019%Z).
-Notation "'0x7ffffffff43'" (* 8796093022019 (0x7ffffffff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0x7ffffffffce'" (* 8796093022158 (0x7ffffffffce) *)
- := (Const 8796093022158%Z).
-Notation "'0x7ffffffffce'" (* 8796093022158 (0x7ffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x7ffffffffe3'" (* 8796093022179 (0x7ffffffffe3) *)
- := (Const 8796093022179%Z).
-Notation "'0x7ffffffffe3'" (* 8796093022179 (0x7ffffffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0x7ffffffffe7'" (* 8796093022183 (0x7ffffffffe7) *)
- := (Const 8796093022183%Z).
-Notation "'0x7ffffffffe7'" (* 8796093022183 (0x7ffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x7ffffffffed'" (* 8796093022189 (0x7ffffffffed) *)
- := (Const 8796093022189%Z).
-Notation "'0x7ffffffffed'" (* 8796093022189 (0x7ffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7ffffffffee'" (* 8796093022190 (0x7ffffffffee) *)
- := (Const 8796093022190%Z).
-Notation "'0x7ffffffffee'" (* 8796093022190 (0x7ffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x7fffffffff1'" (* 8796093022193 (0x7fffffffff1) *)
- := (Const 8796093022193%Z).
-Notation "'0x7fffffffff1'" (* 8796093022193 (0x7fffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x7fffffffff6'" (* 8796093022198 (0x7fffffffff6) *)
- := (Const 8796093022198%Z).
-Notation "'0x7fffffffff6'" (* 8796093022198 (0x7fffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7fffffffffd'" (* 8796093022205 (0x7fffffffffd) *)
- := (Const 8796093022205%Z).
-Notation "'0x7fffffffffd'" (* 8796093022205 (0x7fffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x7fffffffffe'" (* 8796093022206 (0x7fffffffffe) *)
- := (Const 8796093022206%Z).
-Notation "'0x7fffffffffe'" (* 8796093022206 (0x7fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffffffffff'" (* 8796093022207 (0x7ffffffffff) *)
- := (Const 8796093022207%Z).
-Notation "'0x7ffffffffff'" (* 8796093022207 (0x7ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000'" (* 8796093022208 (0x80000000000) *)
- := (Const 8796093022208%Z).
-Notation "'0x80000000000'" (* 8796093022208 (0x80000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000001'" (* 8796093022209 (0x80000000001) *)
- := (Const 8796093022209%Z).
-Notation "'0x80000000001'" (* 8796093022209 (0x80000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffdfffff85e'" (* 17583596107870 (0xffdfffff85e) *)
- := (Const 17583596107870%Z).
-Notation "'0xffdfffff85e'" (* 17583596107870 (0xffdfffff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0xfffffbffffe'" (* 17592181850110 (0xfffffbffffe) *)
- := (Const 17592181850110%Z).
-Notation "'0xfffffbffffe'" (* 17592181850110 (0xfffffbffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffffffa06'" (* 17592186042886 (0xffffffffa06) *)
- := (Const 17592186042886%Z).
-Notation "'0xffffffffa06'" (* 17592186042886 (0xffffffffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0xffffffffe86'" (* 17592186044038 (0xffffffffe86) *)
- := (Const 17592186044038%Z).
-Notation "'0xffffffffe86'" (* 17592186044038 (0xffffffffe86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0xfffffffffc6'" (* 17592186044358 (0xfffffffffc6) *)
- := (Const 17592186044358%Z).
-Notation "'0xfffffffffc6'" (* 17592186044358 (0xfffffffffc6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0xfffffffffce'" (* 17592186044366 (0xfffffffffce) *)
- := (Const 17592186044366%Z).
-Notation "'0xfffffffffce'" (* 17592186044366 (0xfffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0xfffffffffda'" (* 17592186044378 (0xfffffffffda) *)
- := (Const 17592186044378%Z).
-Notation "'0xfffffffffda'" (* 17592186044378 (0xfffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xfffffffffef'" (* 17592186044399 (0xfffffffffef) *)
- := (Const 17592186044399%Z).
-Notation "'0xfffffffffef'" (* 17592186044399 (0xfffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xffffffffffa'" (* 17592186044410 (0xffffffffffa) *)
- := (Const 17592186044410%Z).
-Notation "'0xffffffffffa'" (* 17592186044410 (0xffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0xffffffffffb'" (* 17592186044411 (0xffffffffffb) *)
- := (Const 17592186044411%Z).
-Notation "'0xffffffffffb'" (* 17592186044411 (0xffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xffffffffffd'" (* 17592186044413 (0xffffffffffd) *)
- := (Const 17592186044413%Z).
-Notation "'0xffffffffffd'" (* 17592186044413 (0xffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xffffffffffe'" (* 17592186044414 (0xffffffffffe) *)
- := (Const 17592186044414%Z).
-Notation "'0xffffffffffe'" (* 17592186044414 (0xffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffffffffff'" (* 17592186044415 (0xfffffffffff) *)
- := (Const 17592186044415%Z).
-Notation "'0xfffffffffff'" (* 17592186044415 (0xfffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000'" (* 17592186044416 (0x100000000000) *)
- := (Const 17592186044416%Z).
-Notation "'0x100000000000'" (* 17592186044416 (0x100000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000001'" (* 17592186044417 (0x100000000001) *)
- := (Const 17592186044417%Z).
-Notation "'0x100000000001'" (* 17592186044417 (0x100000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffff8b'" (* 35184372088715 (0x1fffffffff8b) *)
- := (Const 35184372088715%Z).
-Notation "'0x1fffffffff8b'" (* 35184372088715 (0x1fffffffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0x1fffffffffc0'" (* 35184372088768 (0x1fffffffffc0) *)
- := (Const 35184372088768%Z).
-Notation "'0x1fffffffffc0'" (* 35184372088768 (0x1fffffffffc0) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0).
-Notation "'0x1fffffffffde'" (* 35184372088798 (0x1fffffffffde) *)
- := (Const 35184372088798%Z).
-Notation "'0x1fffffffffde'" (* 35184372088798 (0x1fffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1ffffffffff6'" (* 35184372088822 (0x1ffffffffff6) *)
- := (Const 35184372088822%Z).
-Notation "'0x1ffffffffff6'" (* 35184372088822 (0x1ffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x1ffffffffffa'" (* 35184372088826 (0x1ffffffffffa) *)
- := (Const 35184372088826%Z).
-Notation "'0x1ffffffffffa'" (* 35184372088826 (0x1ffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x1ffffffffffd'" (* 35184372088829 (0x1ffffffffffd) *)
- := (Const 35184372088829%Z).
-Notation "'0x1ffffffffffd'" (* 35184372088829 (0x1ffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x1ffffffffffe'" (* 35184372088830 (0x1ffffffffffe) *)
- := (Const 35184372088830%Z).
-Notation "'0x1ffffffffffe'" (* 35184372088830 (0x1ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffffffff'" (* 35184372088831 (0x1fffffffffff) *)
- := (Const 35184372088831%Z).
-Notation "'0x1fffffffffff'" (* 35184372088831 (0x1fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000'" (* 35184372088832 (0x200000000000) *)
- := (Const 35184372088832%Z).
-Notation "'0x200000000000'" (* 35184372088832 (0x200000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000001'" (* 35184372088833 (0x200000000001) *)
- := (Const 35184372088833%Z).
-Notation "'0x200000000001'" (* 35184372088833 (0x200000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffff7fffff'" (* 70368735789055 (0x3fffff7fffff) *)
- := (Const 70368735789055%Z).
-Notation "'0x3fffff7fffff'" (* 70368735789055 (0x3fffff7fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3fffffffff16'" (* 70368744177430 (0x3fffffffff16) *)
- := (Const 70368744177430%Z).
-Notation "'0x3fffffffff16'" (* 70368744177430 (0x3fffffffff16) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0x3fffffffffe5'" (* 70368744177637 (0x3fffffffffe5) *)
- := (Const 70368744177637%Z).
-Notation "'0x3fffffffffe5'" (* 70368744177637 (0x3fffffffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0x3fffffffffef'" (* 70368744177647 (0x3fffffffffef) *)
- := (Const 70368744177647%Z).
-Notation "'0x3fffffffffef'" (* 70368744177647 (0x3fffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x3ffffffffff3'" (* 70368744177651 (0x3ffffffffff3) *)
- := (Const 70368744177651%Z).
-Notation "'0x3ffffffffff3'" (* 70368744177651 (0x3ffffffffff3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0x3ffffffffff7'" (* 70368744177655 (0x3ffffffffff7) *)
- := (Const 70368744177655%Z).
-Notation "'0x3ffffffffff7'" (* 70368744177655 (0x3ffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x3ffffffffffa'" (* 70368744177658 (0x3ffffffffffa) *)
- := (Const 70368744177658%Z).
-Notation "'0x3ffffffffffa'" (* 70368744177658 (0x3ffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x3ffffffffffb'" (* 70368744177659 (0x3ffffffffffb) *)
- := (Const 70368744177659%Z).
-Notation "'0x3ffffffffffb'" (* 70368744177659 (0x3ffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3ffffffffffc'" (* 70368744177660 (0x3ffffffffffc) *)
- := (Const 70368744177660%Z).
-Notation "'0x3ffffffffffc'" (* 70368744177660 (0x3ffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x3ffffffffffd'" (* 70368744177661 (0x3ffffffffffd) *)
- := (Const 70368744177661%Z).
-Notation "'0x3ffffffffffd'" (* 70368744177661 (0x3ffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3ffffffffffe'" (* 70368744177662 (0x3ffffffffffe) *)
- := (Const 70368744177662%Z).
-Notation "'0x3ffffffffffe'" (* 70368744177662 (0x3ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3fffffffffff'" (* 70368744177663 (0x3fffffffffff) *)
- := (Const 70368744177663%Z).
-Notation "'0x3fffffffffff'" (* 70368744177663 (0x3fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000'" (* 70368744177664 (0x400000000000) *)
- := (Const 70368744177664%Z).
-Notation "'0x400000000000'" (* 70368744177664 (0x400000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000001'" (* 70368744177665 (0x400000000001) *)
- := (Const 70368744177665%Z).
-Notation "'0x400000000001'" (* 70368744177665 (0x400000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffefffffe'" (* 140737471578110 (0x7ffffefffffe) *)
- := (Const 140737471578110%Z).
-Notation "'0x7ffffefffffe'" (* 140737471578110 (0x7ffffefffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffff7fffff'" (* 140737479966719 (0x7fffff7fffff) *)
- := (Const 140737479966719%Z).
-Notation "'0x7fffff7fffff'" (* 140737479966719 (0x7fffff7fffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x7ffffffffdc7'" (* 140737488354759 (0x7ffffffffdc7) *)
- := (Const 140737488354759%Z).
-Notation "'0x7ffffffffdc7'" (* 140737488354759 (0x7ffffffffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0x7ffffffffe1f'" (* 140737488354847 (0x7ffffffffe1f) *)
- := (Const 140737488354847%Z).
-Notation "'0x7ffffffffe1f'" (* 140737488354847 (0x7ffffffffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0x7fffffffff45'" (* 140737488355141 (0x7fffffffff45) *)
- := (Const 140737488355141%Z).
-Notation "'0x7fffffffff45'" (* 140737488355141 (0x7fffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0x7fffffffffca'" (* 140737488355274 (0x7fffffffffca) *)
- := (Const 140737488355274%Z).
-Notation "'0x7fffffffffca'" (* 140737488355274 (0x7fffffffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0x7fffffffffde'" (* 140737488355294 (0x7fffffffffde) *)
- := (Const 140737488355294%Z).
-Notation "'0x7fffffffffde'" (* 140737488355294 (0x7fffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x7fffffffffe5'" (* 140737488355301 (0x7fffffffffe5) *)
- := (Const 140737488355301%Z).
-Notation "'0x7fffffffffe5'" (* 140737488355301 (0x7fffffffffe5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0x7fffffffffe6'" (* 140737488355302 (0x7fffffffffe6) *)
- := (Const 140737488355302%Z).
-Notation "'0x7fffffffffe6'" (* 140737488355302 (0x7fffffffffe6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~0).
-Notation "'0x7fffffffffe7'" (* 140737488355303 (0x7fffffffffe7) *)
- := (Const 140737488355303%Z).
-Notation "'0x7fffffffffe7'" (* 140737488355303 (0x7fffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x7fffffffffee'" (* 140737488355310 (0x7fffffffffee) *)
- := (Const 140737488355310%Z).
-Notation "'0x7fffffffffee'" (* 140737488355310 (0x7fffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x7ffffffffff1'" (* 140737488355313 (0x7ffffffffff1) *)
- := (Const 140737488355313%Z).
-Notation "'0x7ffffffffff1'" (* 140737488355313 (0x7ffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x7ffffffffff6'" (* 140737488355318 (0x7ffffffffff6) *)
- := (Const 140737488355318%Z).
-Notation "'0x7ffffffffff6'" (* 140737488355318 (0x7ffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7ffffffffff7'" (* 140737488355319 (0x7ffffffffff7) *)
- := (Const 140737488355319%Z).
-Notation "'0x7ffffffffff7'" (* 140737488355319 (0x7ffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x7ffffffffffe'" (* 140737488355326 (0x7ffffffffffe) *)
- := (Const 140737488355326%Z).
-Notation "'0x7ffffffffffe'" (* 140737488355326 (0x7ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffffffffff'" (* 140737488355327 (0x7fffffffffff) *)
- := (Const 140737488355327%Z).
-Notation "'0x7fffffffffff'" (* 140737488355327 (0x7fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000'" (* 140737488355328 (0x800000000000) *)
- := (Const 140737488355328%Z).
-Notation "'0x800000000000'" (* 140737488355328 (0x800000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000001'" (* 140737488355329 (0x800000000001) *)
- := (Const 140737488355329%Z).
-Notation "'0x800000000001'" (* 140737488355329 (0x800000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xb0ffffffffff'" (* 194613558116351 (0xb0ffffffffff) *)
- := (Const 194613558116351%Z).
-Notation "'0xb0ffffffffff'" (* 194613558116351 (0xb0ffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffaffffffff'" (* 281453501874175 (0xfffaffffffff) *)
- := (Const 281453501874175%Z).
-Notation "'0xfffaffffffff'" (* 281453501874175 (0xfffaffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffeffffffff'" (* 281470681743359 (0xfffeffffffff) *)
- := (Const 281470681743359%Z).
-Notation "'0xfffeffffffff'" (* 281470681743359 (0xfffeffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffffefffffe'" (* 281474959933438 (0xfffffefffffe) *)
- := (Const 281474959933438%Z).
-Notation "'0xfffffefffffe'" (* 281474959933438 (0xfffffefffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffffffeffff'" (* 281474976645119 (0xfffffffeffff) *)
- := (Const 281474976645119%Z).
-Notation "'0xfffffffeffff'" (* 281474976645119 (0xfffffffeffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffffffffb8e'" (* 281474976709518 (0xfffffffffb8e) *)
- := (Const 281474976709518%Z).
-Notation "'0xfffffffffb8e'" (* 281474976709518 (0xfffffffffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0xfffffffffc3e'" (* 281474976709694 (0xfffffffffc3e) *)
- := (Const 281474976709694%Z).
-Notation "'0xfffffffffc3e'" (* 281474976709694 (0xfffffffffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0xfffffffffe5b'" (* 281474976710235 (0xfffffffffe5b) *)
- := (Const 281474976710235%Z).
-Notation "'0xfffffffffe5b'" (* 281474976710235 (0xfffffffffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0xfffffffffe8a'" (* 281474976710282 (0xfffffffffe8a) *)
- := (Const 281474976710282%Z).
-Notation "'0xfffffffffe8a'" (* 281474976710282 (0xfffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0xfffffffffec3'" (* 281474976710339 (0xfffffffffec3) *)
- := (Const 281474976710339%Z).
-Notation "'0xfffffffffec3'" (* 281474976710339 (0xfffffffffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0xffffffffff45'" (* 281474976710469 (0xffffffffff45) *)
- := (Const 281474976710469%Z).
-Notation "'0xffffffffff45'" (* 281474976710469 (0xffffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0xffffffffff97'" (* 281474976710551 (0xffffffffff97) *)
- := (Const 281474976710551%Z).
-Notation "'0xffffffffff97'" (* 281474976710551 (0xffffffffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0xffffffffffca'" (* 281474976710602 (0xffffffffffca) *)
- := (Const 281474976710602%Z).
-Notation "'0xffffffffffca'" (* 281474976710602 (0xffffffffffca) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0xffffffffffce'" (* 281474976710606 (0xffffffffffce) *)
- := (Const 281474976710606%Z).
-Notation "'0xffffffffffce'" (* 281474976710606 (0xffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0xffffffffffe1'" (* 281474976710625 (0xffffffffffe1) *)
- := (Const 281474976710625%Z).
-Notation "'0xffffffffffe1'" (* 281474976710625 (0xffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0xffffffffffe2'" (* 281474976710626 (0xffffffffffe2) *)
- := (Const 281474976710626%Z).
-Notation "'0xffffffffffe2'" (* 281474976710626 (0xffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0xffffffffffe7'" (* 281474976710631 (0xffffffffffe7) *)
- := (Const 281474976710631%Z).
-Notation "'0xffffffffffe7'" (* 281474976710631 (0xffffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0xffffffffffed'" (* 281474976710637 (0xffffffffffed) *)
- := (Const 281474976710637%Z).
-Notation "'0xffffffffffed'" (* 281474976710637 (0xffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0xffffffffffee'" (* 281474976710638 (0xffffffffffee) *)
- := (Const 281474976710638%Z).
-Notation "'0xffffffffffee'" (* 281474976710638 (0xffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0xffffffffffef'" (* 281474976710639 (0xffffffffffef) *)
- := (Const 281474976710639%Z).
-Notation "'0xffffffffffef'" (* 281474976710639 (0xffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xfffffffffff5'" (* 281474976710645 (0xfffffffffff5) *)
- := (Const 281474976710645%Z).
-Notation "'0xfffffffffff5'" (* 281474976710645 (0xfffffffffff5) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0xfffffffffff7'" (* 281474976710647 (0xfffffffffff7) *)
- := (Const 281474976710647%Z).
-Notation "'0xfffffffffff7'" (* 281474976710647 (0xfffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0xfffffffffffd'" (* 281474976710653 (0xfffffffffffd) *)
- := (Const 281474976710653%Z).
-Notation "'0xfffffffffffd'" (* 281474976710653 (0xfffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xfffffffffffe'" (* 281474976710654 (0xfffffffffffe) *)
- := (Const 281474976710654%Z).
-Notation "'0xfffffffffffe'" (* 281474976710654 (0xfffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffffffffff'" (* 281474976710655 (0xffffffffffff) *)
- := (Const 281474976710655%Z).
-Notation "'0xffffffffffff'" (* 281474976710655 (0xffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000'" (* 281474976710656 (0x1000000000000) *)
- := (Const 281474976710656%Z).
-Notation "'0x1000000000000'" (* 281474976710656 (0x1000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000001'" (* 281474976710657 (0x1000000000001) *)
- := (Const 281474976710657%Z).
-Notation "'0x1000000000001'" (* 281474976710657 (0x1000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x161fffffffffe'" (* 389227116232702 (0x161fffffffffe) *)
- := (Const 389227116232702%Z).
-Notation "'0x161fffffffffe'" (* 389227116232702 (0x161fffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fff5fffffffe'" (* 562907003748350 (0x1fff5fffffffe) *)
- := (Const 562907003748350%Z).
-Notation "'0x1fff5fffffffe'" (* 562907003748350 (0x1fff5fffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffffdfffe'" (* 562949953290238 (0x1fffffffdfffe) *)
- := (Const 562949953290238%Z).
-Notation "'0x1fffffffdfffe'" (* 562949953290238 (0x1fffffffdfffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffffffcb6'" (* 562949953420470 (0x1fffffffffcb6) *)
- := (Const 562949953420470%Z).
-Notation "'0x1fffffffffcb6'" (* 562949953420470 (0x1fffffffffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0x1fffffffffd86'" (* 562949953420678 (0x1fffffffffd86) *)
- := (Const 562949953420678%Z).
-Notation "'0x1fffffffffd86'" (* 562949953420678 (0x1fffffffffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0x1fffffffffe8a'" (* 562949953420938 (0x1fffffffffe8a) *)
- := (Const 562949953420938%Z).
-Notation "'0x1fffffffffe8a'" (* 562949953420938 (0x1fffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0x1ffffffffff2e'" (* 562949953421102 (0x1ffffffffff2e) *)
- := (Const 562949953421102%Z).
-Notation "'0x1ffffffffff2e'" (* 562949953421102 (0x1ffffffffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0x1ffffffffffc2'" (* 562949953421250 (0x1ffffffffffc2) *)
- := (Const 562949953421250%Z).
-Notation "'0x1ffffffffffc2'" (* 562949953421250 (0x1ffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0x1ffffffffffce'" (* 562949953421262 (0x1ffffffffffce) *)
- := (Const 562949953421262%Z).
-Notation "'0x1ffffffffffce'" (* 562949953421262 (0x1ffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x1ffffffffffda'" (* 562949953421274 (0x1ffffffffffda) *)
- := (Const 562949953421274%Z).
-Notation "'0x1ffffffffffda'" (* 562949953421274 (0x1ffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x1ffffffffffde'" (* 562949953421278 (0x1ffffffffffde) *)
- := (Const 562949953421278%Z).
-Notation "'0x1ffffffffffde'" (* 562949953421278 (0x1ffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1ffffffffffdf'" (* 562949953421279 (0x1ffffffffffdf) *)
- := (Const 562949953421279%Z).
-Notation "'0x1ffffffffffdf'" (* 562949953421279 (0x1ffffffffffdf) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0x1ffffffffffea'" (* 562949953421290 (0x1ffffffffffea) *)
- := (Const 562949953421290%Z).
-Notation "'0x1ffffffffffea'" (* 562949953421290 (0x1ffffffffffea) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~0).
-Notation "'0x1ffffffffffeb'" (* 562949953421291 (0x1ffffffffffeb) *)
- := (Const 562949953421291%Z).
-Notation "'0x1ffffffffffeb'" (* 562949953421291 (0x1ffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0x1ffffffffffed'" (* 562949953421293 (0x1ffffffffffed) *)
- := (Const 562949953421293%Z).
-Notation "'0x1ffffffffffed'" (* 562949953421293 (0x1ffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x1ffffffffffee'" (* 562949953421294 (0x1ffffffffffee) *)
- := (Const 562949953421294%Z).
-Notation "'0x1ffffffffffee'" (* 562949953421294 (0x1ffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x1ffffffffffef'" (* 562949953421295 (0x1ffffffffffef) *)
- := (Const 562949953421295%Z).
-Notation "'0x1ffffffffffef'" (* 562949953421295 (0x1ffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x1fffffffffff1'" (* 562949953421297 (0x1fffffffffff1) *)
- := (Const 562949953421297%Z).
-Notation "'0x1fffffffffff1'" (* 562949953421297 (0x1fffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x1fffffffffff7'" (* 562949953421303 (0x1fffffffffff7) *)
- := (Const 562949953421303%Z).
-Notation "'0x1fffffffffff7'" (* 562949953421303 (0x1fffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x1fffffffffffa'" (* 562949953421306 (0x1fffffffffffa) *)
- := (Const 562949953421306%Z).
-Notation "'0x1fffffffffffa'" (* 562949953421306 (0x1fffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x1fffffffffffc'" (* 562949953421308 (0x1fffffffffffc) *)
- := (Const 562949953421308%Z).
-Notation "'0x1fffffffffffc'" (* 562949953421308 (0x1fffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x1fffffffffffe'" (* 562949953421310 (0x1fffffffffffe) *)
- := (Const 562949953421310%Z).
-Notation "'0x1fffffffffffe'" (* 562949953421310 (0x1fffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1ffffffffffff'" (* 562949953421311 (0x1ffffffffffff) *)
- := (Const 562949953421311%Z).
-Notation "'0x1ffffffffffff'" (* 562949953421311 (0x1ffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000'" (* 562949953421312 (0x2000000000000) *)
- := (Const 562949953421312%Z).
-Notation "'0x2000000000000'" (* 562949953421312 (0x2000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000001'" (* 562949953421313 (0x2000000000001) *)
- := (Const 562949953421313%Z).
-Notation "'0x2000000000001'" (* 562949953421313 (0x2000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffdffffff'" (* 1125899873288191 (0x3fffffdffffff) *)
- := (Const 1125899873288191%Z).
-Notation "'0x3fffffdffffff'" (* 1125899873288191 (0x3fffffdffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3ffffffffffbe'" (* 1125899906842558 (0x3ffffffffffbe) *)
- := (Const 1125899906842558%Z).
-Notation "'0x3ffffffffffbe'" (* 1125899906842558 (0x3ffffffffffbe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~0).
-Notation "'0x3ffffffffffd6'" (* 1125899906842582 (0x3ffffffffffd6) *)
- := (Const 1125899906842582%Z).
-Notation "'0x3ffffffffffd6'" (* 1125899906842582 (0x3ffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0x3ffffffffffda'" (* 1125899906842586 (0x3ffffffffffda) *)
- := (Const 1125899906842586%Z).
-Notation "'0x3ffffffffffda'" (* 1125899906842586 (0x3ffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x3ffffffffffde'" (* 1125899906842590 (0x3ffffffffffde) *)
- := (Const 1125899906842590%Z).
-Notation "'0x3ffffffffffde'" (* 1125899906842590 (0x3ffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x3ffffffffffe1'" (* 1125899906842593 (0x3ffffffffffe1) *)
- := (Const 1125899906842593%Z).
-Notation "'0x3ffffffffffe1'" (* 1125899906842593 (0x3ffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x3ffffffffffe2'" (* 1125899906842594 (0x3ffffffffffe2) *)
- := (Const 1125899906842594%Z).
-Notation "'0x3ffffffffffe2'" (* 1125899906842594 (0x3ffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x3ffffffffffee'" (* 1125899906842606 (0x3ffffffffffee) *)
- := (Const 1125899906842606%Z).
-Notation "'0x3ffffffffffee'" (* 1125899906842606 (0x3ffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x3ffffffffffef'" (* 1125899906842607 (0x3ffffffffffef) *)
- := (Const 1125899906842607%Z).
-Notation "'0x3ffffffffffef'" (* 1125899906842607 (0x3ffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x3fffffffffffb'" (* 1125899906842619 (0x3fffffffffffb) *)
- := (Const 1125899906842619%Z).
-Notation "'0x3fffffffffffb'" (* 1125899906842619 (0x3fffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x3fffffffffffd'" (* 1125899906842621 (0x3fffffffffffd) *)
- := (Const 1125899906842621%Z).
-Notation "'0x3fffffffffffd'" (* 1125899906842621 (0x3fffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3fffffffffffe'" (* 1125899906842622 (0x3fffffffffffe) *)
- := (Const 1125899906842622%Z).
-Notation "'0x3fffffffffffe'" (* 1125899906842622 (0x3fffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffffffffffff'" (* 1125899906842623 (0x3ffffffffffff) *)
- := (Const 1125899906842623%Z).
-Notation "'0x3ffffffffffff'" (* 1125899906842623 (0x3ffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000'" (* 1125899906842624 (0x4000000000000) *)
- := (Const 1125899906842624%Z).
-Notation "'0x4000000000000'" (* 1125899906842624 (0x4000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000001'" (* 1125899906842625 (0x4000000000001) *)
- := (Const 1125899906842625%Z).
-Notation "'0x4000000000001'" (* 1125899906842625 (0x4000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x52fffffffffff'" (* 1460151441686527 (0x52fffffffffff) *)
- := (Const 1460151441686527%Z).
-Notation "'0x52fffffffffff'" (* 1460151441686527 (0x52fffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x7dbbfffffffff'" (* 2211942517178367 (0x7dbbfffffffff) *)
- := (Const 2211942517178367%Z).
-Notation "'0x7dbbfffffffff'" (* 2211942517178367 (0x7dbbfffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x7f0a7ffffffff'" (* 2234929182146559 (0x7f0a7ffffffff) *)
- := (Const 2234929182146559%Z).
-Notation "'0x7f0a7ffffffff'" (* 2234929182146559 (0x7f0a7ffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x7fd3fffffffff'" (* 2248776156708863 (0x7fd3fffffffff) *)
- := (Const 2248776156708863%Z).
-Notation "'0x7fd3fffffffff'" (* 2248776156708863 (0x7fd3fffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x7fffffff80000'" (* 2251799813160960 (0x7fffffff80000) *)
- := (Const 2251799813160960%Z).
-Notation "'0x7fffffff80000'" (* 2251799813160960 (0x7fffffff80000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x7fffffffffd03'" (* 2251799813684483 (0x7fffffffffd03) *)
- := (Const 2251799813684483%Z).
-Notation "'0x7fffffffffd03'" (* 2251799813684483 (0x7fffffffffd03) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0x7ffffffffffc2'" (* 2251799813685186 (0x7ffffffffffc2) *)
- := (Const 2251799813685186%Z).
-Notation "'0x7ffffffffffc2'" (* 2251799813685186 (0x7ffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0x7ffffffffffda'" (* 2251799813685210 (0x7ffffffffffda) *)
- := (Const 2251799813685210%Z).
-Notation "'0x7ffffffffffda'" (* 2251799813685210 (0x7ffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x7ffffffffffde'" (* 2251799813685214 (0x7ffffffffffde) *)
- := (Const 2251799813685214%Z).
-Notation "'0x7ffffffffffde'" (* 2251799813685214 (0x7ffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x7ffffffffffe1'" (* 2251799813685217 (0x7ffffffffffe1) *)
- := (Const 2251799813685217%Z).
-Notation "'0x7ffffffffffe1'" (* 2251799813685217 (0x7ffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x7ffffffffffed'" (* 2251799813685229 (0x7ffffffffffed) *)
- := (Const 2251799813685229%Z).
-Notation "'0x7ffffffffffed'" (* 2251799813685229 (0x7ffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7ffffffffffef'" (* 2251799813685231 (0x7ffffffffffef) *)
- := (Const 2251799813685231%Z).
-Notation "'0x7ffffffffffef'" (* 2251799813685231 (0x7ffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7fffffffffff6'" (* 2251799813685238 (0x7fffffffffff6) *)
- := (Const 2251799813685238%Z).
-Notation "'0x7fffffffffff6'" (* 2251799813685238 (0x7fffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x7fffffffffff7'" (* 2251799813685239 (0x7fffffffffff7) *)
- := (Const 2251799813685239%Z).
-Notation "'0x7fffffffffff7'" (* 2251799813685239 (0x7fffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x7fffffffffffa'" (* 2251799813685242 (0x7fffffffffffa) *)
- := (Const 2251799813685242%Z).
-Notation "'0x7fffffffffffa'" (* 2251799813685242 (0x7fffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7fffffffffffd'" (* 2251799813685245 (0x7fffffffffffd) *)
- := (Const 2251799813685245%Z).
-Notation "'0x7fffffffffffd'" (* 2251799813685245 (0x7fffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x7fffffffffffe'" (* 2251799813685246 (0x7fffffffffffe) *)
- := (Const 2251799813685246%Z).
-Notation "'0x7fffffffffffe'" (* 2251799813685246 (0x7fffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffffffffffff'" (* 2251799813685247 (0x7ffffffffffff) *)
- := (Const 2251799813685247%Z).
-Notation "'0x7ffffffffffff'" (* 2251799813685247 (0x7ffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000'" (* 2251799813685248 (0x8000000000000) *)
- := (Const 2251799813685248%Z).
-Notation "'0x8000000000000'" (* 2251799813685248 (0x8000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000001'" (* 2251799813685249 (0x8000000000001) *)
- := (Const 2251799813685249%Z).
-Notation "'0x8000000000001'" (* 2251799813685249 (0x8000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xa5ffffffffffe'" (* 2920302883373054 (0xa5ffffffffffe) *)
- := (Const 2920302883373054%Z).
-Notation "'0xa5ffffffffffe'" (* 2920302883373054 (0xa5ffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~1~0~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfb77ffffffffe'" (* 4423885034356734 (0xfb77ffffffffe) *)
- := (Const 4423885034356734%Z).
-Notation "'0xfb77ffffffffe'" (* 4423885034356734 (0xfb77ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfe14ffffffffe'" (* 4469858364293118 (0xfe14ffffffffe) *)
- := (Const 4469858364293118%Z).
-Notation "'0xfe14ffffffffe'" (* 4469858364293118 (0xfe14ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffa7ffffffffe'" (* 4497552313417726 (0xffa7ffffffffe) *)
- := (Const 4497552313417726%Z).
-Notation "'0xffa7ffffffffe'" (* 4497552313417726 (0xffa7ffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffefffffc2f'" (* 4503595332402223 (0xffffefffffc2f) *)
- := (Const 4503595332402223%Z).
-Notation "'0xffffefffffc2f'" (* 4503595332402223 (0xffffefffffc2f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0xffffffffffa06'" (* 4503599627368966 (0xffffffffffa06) *)
- := (Const 4503599627368966%Z).
-Notation "'0xffffffffffa06'" (* 4503599627368966 (0xffffffffffa06) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1~0).
-Notation "'0xffffffffffdc7'" (* 4503599627369927 (0xffffffffffdc7) *)
- := (Const 4503599627369927%Z).
-Notation "'0xffffffffffdc7'" (* 4503599627369927 (0xffffffffffdc7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0xffffffffffe1f'" (* 4503599627370015 (0xffffffffffe1f) *)
- := (Const 4503599627370015%Z).
-Notation "'0xffffffffffe1f'" (* 4503599627370015 (0xffffffffffe1f) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0xfffffffffff43'" (* 4503599627370307 (0xfffffffffff43) *)
- := (Const 4503599627370307%Z).
-Notation "'0xfffffffffff43'" (* 4503599627370307 (0xfffffffffff43) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0xfffffffffff45'" (* 4503599627370309 (0xfffffffffff45) *)
- := (Const 4503599627370309%Z).
-Notation "'0xfffffffffff45'" (* 4503599627370309 (0xfffffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0xfffffffffffc2'" (* 4503599627370434 (0xfffffffffffc2) *)
- := (Const 4503599627370434%Z).
-Notation "'0xfffffffffffc2'" (* 4503599627370434 (0xfffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0xfffffffffffda'" (* 4503599627370458 (0xfffffffffffda) *)
- := (Const 4503599627370458%Z).
-Notation "'0xfffffffffffda'" (* 4503599627370458 (0xfffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xfffffffffffde'" (* 4503599627370462 (0xfffffffffffde) *)
- := (Const 4503599627370462%Z).
-Notation "'0xfffffffffffde'" (* 4503599627370462 (0xfffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0xfffffffffffeb'" (* 4503599627370475 (0xfffffffffffeb) *)
- := (Const 4503599627370475%Z).
-Notation "'0xfffffffffffeb'" (* 4503599627370475 (0xfffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0xfffffffffffee'" (* 4503599627370478 (0xfffffffffffee) *)
- := (Const 4503599627370478%Z).
-Notation "'0xfffffffffffee'" (* 4503599627370478 (0xfffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0xfffffffffffef'" (* 4503599627370479 (0xfffffffffffef) *)
- := (Const 4503599627370479%Z).
-Notation "'0xfffffffffffef'" (* 4503599627370479 (0xfffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xffffffffffffa'" (* 4503599627370490 (0xffffffffffffa) *)
- := (Const 4503599627370490%Z).
-Notation "'0xffffffffffffa'" (* 4503599627370490 (0xffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0xffffffffffffb'" (* 4503599627370491 (0xffffffffffffb) *)
- := (Const 4503599627370491%Z).
-Notation "'0xffffffffffffb'" (* 4503599627370491 (0xffffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xffffffffffffe'" (* 4503599627370494 (0xffffffffffffe) *)
- := (Const 4503599627370494%Z).
-Notation "'0xffffffffffffe'" (* 4503599627370494 (0xffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffffffffffff'" (* 4503599627370495 (0xfffffffffffff) *)
- := (Const 4503599627370495%Z).
-Notation "'0xfffffffffffff'" (* 4503599627370495 (0xfffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000'" (* 4503599627370496 (0x10000000000000) *)
- := (Const 4503599627370496%Z).
-Notation "'0x10000000000000'" (* 4503599627370496 (0x10000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000001'" (* 4503599627370497 (0x10000000000001) *)
- := (Const 4503599627370497%Z).
-Notation "'0x10000000000001'" (* 4503599627370497 (0x10000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffdfffff85e'" (* 9007190664804446 (0x1ffffdfffff85e) *)
- := (Const 9007190664804446%Z).
-Notation "'0x1ffffdfffff85e'" (* 9007190664804446 (0x1ffffdfffff85e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1~0).
-Notation "'0x1ffffffbffffff'" (* 9007199187632127 (0x1ffffffbffffff) *)
- := (Const 9007199187632127%Z).
-Notation "'0x1ffffffbffffff'" (* 9007199187632127 (0x1ffffffbffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1ffffffffffb8e'" (* 9007199254739854 (0x1ffffffffffb8e) *)
- := (Const 9007199254739854%Z).
-Notation "'0x1ffffffffffb8e'" (* 9007199254739854 (0x1ffffffffffb8e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0).
-Notation "'0x1ffffffffffc3e'" (* 9007199254740030 (0x1ffffffffffc3e) *)
- := (Const 9007199254740030%Z).
-Notation "'0x1ffffffffffc3e'" (* 9007199254740030 (0x1ffffffffffc3e) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1~0).
-Notation "'0x1ffffffffffe86'" (* 9007199254740614 (0x1ffffffffffe86) *)
- := (Const 9007199254740614%Z).
-Notation "'0x1ffffffffffe86'" (* 9007199254740614 (0x1ffffffffffe86) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1~0).
-Notation "'0x1ffffffffffe8a'" (* 9007199254740618 (0x1ffffffffffe8a) *)
- := (Const 9007199254740618%Z).
-Notation "'0x1ffffffffffe8a'" (* 9007199254740618 (0x1ffffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0x1fffffffffffd6'" (* 9007199254740950 (0x1fffffffffffd6) *)
- := (Const 9007199254740950%Z).
-Notation "'0x1fffffffffffd6'" (* 9007199254740950 (0x1fffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0x1fffffffffffde'" (* 9007199254740958 (0x1fffffffffffde) *)
- := (Const 9007199254740958%Z).
-Notation "'0x1fffffffffffde'" (* 9007199254740958 (0x1fffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1fffffffffffe3'" (* 9007199254740963 (0x1fffffffffffe3) *)
- := (Const 9007199254740963%Z).
-Notation "'0x1fffffffffffe3'" (* 9007199254740963 (0x1fffffffffffe3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0x1fffffffffffe7'" (* 9007199254740967 (0x1fffffffffffe7) *)
- := (Const 9007199254740967%Z).
-Notation "'0x1fffffffffffe7'" (* 9007199254740967 (0x1fffffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x1ffffffffffff1'" (* 9007199254740977 (0x1ffffffffffff1) *)
- := (Const 9007199254740977%Z).
-Notation "'0x1ffffffffffff1'" (* 9007199254740977 (0x1ffffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x1ffffffffffff6'" (* 9007199254740982 (0x1ffffffffffff6) *)
- := (Const 9007199254740982%Z).
-Notation "'0x1ffffffffffff6'" (* 9007199254740982 (0x1ffffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x1ffffffffffffc'" (* 9007199254740988 (0x1ffffffffffffc) *)
- := (Const 9007199254740988%Z).
-Notation "'0x1ffffffffffffc'" (* 9007199254740988 (0x1ffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x1ffffffffffffe'" (* 9007199254740990 (0x1ffffffffffffe) *)
- := (Const 9007199254740990%Z).
-Notation "'0x1ffffffffffffe'" (* 9007199254740990 (0x1ffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffffffffff'" (* 9007199254740991 (0x1fffffffffffff) *)
- := (Const 9007199254740991%Z).
-Notation "'0x1fffffffffffff'" (* 9007199254740991 (0x1fffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000'" (* 9007199254740992 (0x20000000000000) *)
- := (Const 9007199254740992%Z).
-Notation "'0x20000000000000'" (* 9007199254740992 (0x20000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000001'" (* 9007199254740993 (0x20000000000001) *)
- := (Const 9007199254740993%Z).
-Notation "'0x20000000000001'" (* 9007199254740993 (0x20000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffc6'" (* 18014398509481926 (0x3fffffffffffc6) *)
- := (Const 18014398509481926%Z).
-Notation "'0x3fffffffffffc6'" (* 18014398509481926 (0x3fffffffffffc6) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1~0).
-Notation "'0x3fffffffffffce'" (* 18014398509481934 (0x3fffffffffffce) *)
- := (Const 18014398509481934%Z).
-Notation "'0x3fffffffffffce'" (* 18014398509481934 (0x3fffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0x3fffffffffffe2'" (* 18014398509481954 (0x3fffffffffffe2) *)
- := (Const 18014398509481954%Z).
-Notation "'0x3fffffffffffe2'" (* 18014398509481954 (0x3fffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x3ffffffffffff7'" (* 18014398509481975 (0x3ffffffffffff7) *)
- := (Const 18014398509481975%Z).
-Notation "'0x3ffffffffffff7'" (* 18014398509481975 (0x3ffffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x3ffffffffffffd'" (* 18014398509481981 (0x3ffffffffffffd) *)
- := (Const 18014398509481981%Z).
-Notation "'0x3ffffffffffffd'" (* 18014398509481981 (0x3ffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3ffffffffffffe'" (* 18014398509481982 (0x3ffffffffffffe) *)
- := (Const 18014398509481982%Z).
-Notation "'0x3ffffffffffffe'" (* 18014398509481982 (0x3ffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3fffffffffffff'" (* 18014398509481983 (0x3fffffffffffff) *)
- := (Const 18014398509481983%Z).
-Notation "'0x3fffffffffffff'" (* 18014398509481983 (0x3fffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000'" (* 18014398509481984 (0x40000000000000) *)
- := (Const 18014398509481984%Z).
-Notation "'0x40000000000000'" (* 18014398509481984 (0x40000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000001'" (* 18014398509481985 (0x40000000000001) *)
- := (Const 18014398509481985%Z).
-Notation "'0x40000000000001'" (* 18014398509481985 (0x40000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffe5b'" (* 36028797018963547 (0x7ffffffffffe5b) *)
- := (Const 36028797018963547%Z).
-Notation "'0x7ffffffffffe5b'" (* 36028797018963547 (0x7ffffffffffe5b) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0x7ffffffffffec3'" (* 36028797018963651 (0x7ffffffffffec3) *)
- := (Const 36028797018963651%Z).
-Notation "'0x7ffffffffffec3'" (* 36028797018963651 (0x7ffffffffffec3) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0x7fffffffffff45'" (* 36028797018963781 (0x7fffffffffff45) *)
- := (Const 36028797018963781%Z).
-Notation "'0x7fffffffffff45'" (* 36028797018963781 (0x7fffffffffff45) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0x7fffffffffff97'" (* 36028797018963863 (0x7fffffffffff97) *)
- := (Const 36028797018963863%Z).
-Notation "'0x7fffffffffff97'" (* 36028797018963863 (0x7fffffffffff97) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0x7fffffffffffe1'" (* 36028797018963937 (0x7fffffffffffe1) *)
- := (Const 36028797018963937%Z).
-Notation "'0x7fffffffffffe1'" (* 36028797018963937 (0x7fffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x7fffffffffffe7'" (* 36028797018963943 (0x7fffffffffffe7) *)
- := (Const 36028797018963943%Z).
-Notation "'0x7fffffffffffe7'" (* 36028797018963943 (0x7fffffffffffe7) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0x7fffffffffffeb'" (* 36028797018963947 (0x7fffffffffffeb) *)
- := (Const 36028797018963947%Z).
-Notation "'0x7fffffffffffeb'" (* 36028797018963947 (0x7fffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0x7fffffffffffed'" (* 36028797018963949 (0x7fffffffffffed) *)
- := (Const 36028797018963949%Z).
-Notation "'0x7fffffffffffed'" (* 36028797018963949 (0x7fffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7fffffffffffee'" (* 36028797018963950 (0x7fffffffffffee) *)
- := (Const 36028797018963950%Z).
-Notation "'0x7fffffffffffee'" (* 36028797018963950 (0x7fffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x7fffffffffffef'" (* 36028797018963951 (0x7fffffffffffef) *)
- := (Const 36028797018963951%Z).
-Notation "'0x7fffffffffffef'" (* 36028797018963951 (0x7fffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7ffffffffffffa'" (* 36028797018963962 (0x7ffffffffffffa) *)
- := (Const 36028797018963962%Z).
-Notation "'0x7ffffffffffffa'" (* 36028797018963962 (0x7ffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7ffffffffffffc'" (* 36028797018963964 (0x7ffffffffffffc) *)
- := (Const 36028797018963964%Z).
-Notation "'0x7ffffffffffffc'" (* 36028797018963964 (0x7ffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x7ffffffffffffe'" (* 36028797018963966 (0x7ffffffffffffe) *)
- := (Const 36028797018963966%Z).
-Notation "'0x7ffffffffffffe'" (* 36028797018963966 (0x7ffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7fffffffffffff'" (* 36028797018963967 (0x7fffffffffffff) *)
- := (Const 36028797018963967%Z).
-Notation "'0x7fffffffffffff'" (* 36028797018963967 (0x7fffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000'" (* 36028797018963968 (0x80000000000000) *)
- := (Const 36028797018963968%Z).
-Notation "'0x80000000000000'" (* 36028797018963968 (0x80000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000001'" (* 36028797018963969 (0x80000000000001) *)
- := (Const 36028797018963969%Z).
-Notation "'0x80000000000001'" (* 36028797018963969 (0x80000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffff0000000000'" (* 72056494526300160 (0xffff0000000000) *)
- := (Const 72056494526300160%Z).
-Notation "'0xffff0000000000'" (* 72056494526300160 (0xffff0000000000) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0xfffffffffffcb6'" (* 72057594037927094 (0xfffffffffffcb6) *)
- := (Const 72057594037927094%Z).
-Notation "'0xfffffffffffcb6'" (* 72057594037927094 (0xfffffffffffcb6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1~0).
-Notation "'0xfffffffffffd86'" (* 72057594037927302 (0xfffffffffffd86) *)
- := (Const 72057594037927302%Z).
-Notation "'0xfffffffffffd86'" (* 72057594037927302 (0xfffffffffffd86) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1~0).
-Notation "'0xfffffffffffe8a'" (* 72057594037927562 (0xfffffffffffe8a) *)
- := (Const 72057594037927562%Z).
-Notation "'0xfffffffffffe8a'" (* 72057594037927562 (0xfffffffffffe8a) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1~0).
-Notation "'0xffffffffffff2e'" (* 72057594037927726 (0xffffffffffff2e) *)
- := (Const 72057594037927726%Z).
-Notation "'0xffffffffffff2e'" (* 72057594037927726 (0xffffffffffff2e) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1~0).
-Notation "'0xffffffffffff8b'" (* 72057594037927819 (0xffffffffffff8b) *)
- := (Const 72057594037927819%Z).
-Notation "'0xffffffffffff8b'" (* 72057594037927819 (0xffffffffffff8b) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0xffffffffffffc2'" (* 72057594037927874 (0xffffffffffffc2) *)
- := (Const 72057594037927874%Z).
-Notation "'0xffffffffffffc2'" (* 72057594037927874 (0xffffffffffffc2) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0xffffffffffffce'" (* 72057594037927886 (0xffffffffffffce) *)
- := (Const 72057594037927886%Z).
-Notation "'0xffffffffffffce'" (* 72057594037927886 (0xffffffffffffce) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1~0).
-Notation "'0xffffffffffffd6'" (* 72057594037927894 (0xffffffffffffd6) *)
- := (Const 72057594037927894%Z).
-Notation "'0xffffffffffffd6'" (* 72057594037927894 (0xffffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0xffffffffffffda'" (* 72057594037927898 (0xffffffffffffda) *)
- := (Const 72057594037927898%Z).
-Notation "'0xffffffffffffda'" (* 72057594037927898 (0xffffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xffffffffffffde'" (* 72057594037927902 (0xffffffffffffde) *)
- := (Const 72057594037927902%Z).
-Notation "'0xffffffffffffde'" (* 72057594037927902 (0xffffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0xffffffffffffeb'" (* 72057594037927915 (0xffffffffffffeb) *)
- := (Const 72057594037927915%Z).
-Notation "'0xffffffffffffeb'" (* 72057594037927915 (0xffffffffffffeb) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0xffffffffffffef'" (* 72057594037927919 (0xffffffffffffef) *)
- := (Const 72057594037927919%Z).
-Notation "'0xffffffffffffef'" (* 72057594037927919 (0xffffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xfffffffffffffb'" (* 72057594037927931 (0xfffffffffffffb) *)
- := (Const 72057594037927931%Z).
-Notation "'0xfffffffffffffb'" (* 72057594037927931 (0xfffffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xfffffffffffffd'" (* 72057594037927933 (0xfffffffffffffd) *)
- := (Const 72057594037927933%Z).
-Notation "'0xfffffffffffffd'" (* 72057594037927933 (0xfffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xfffffffffffffe'" (* 72057594037927934 (0xfffffffffffffe) *)
- := (Const 72057594037927934%Z).
-Notation "'0xfffffffffffffe'" (* 72057594037927934 (0xfffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffffffffffff'" (* 72057594037927935 (0xffffffffffffff) *)
- := (Const 72057594037927935%Z).
-Notation "'0xffffffffffffff'" (* 72057594037927935 (0xffffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000'" (* 72057594037927936 (0x100000000000000) *)
- := (Const 72057594037927936%Z).
-Notation "'0x100000000000000'" (* 72057594037927936 (0x100000000000000) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000001'" (* 72057594037927937 (0x100000000000001) *)
- := (Const 72057594037927937%Z).
-Notation "'0x100000000000001'" (* 72057594037927937 (0x100000000000001) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffff16'" (* 144115188075855638 (0x1ffffffffffff16) *)
- := (Const 144115188075855638%Z).
-Notation "'0x1ffffffffffff16'" (* 144115188075855638 (0x1ffffffffffff16) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0).
-Notation "'0x1ffffffffffffd6'" (* 144115188075855830 (0x1ffffffffffffd6) *)
- := (Const 144115188075855830%Z).
-Notation "'0x1ffffffffffffd6'" (* 144115188075855830 (0x1ffffffffffffd6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0x1ffffffffffffde'" (* 144115188075855838 (0x1ffffffffffffde) *)
- := (Const 144115188075855838%Z).
-Notation "'0x1ffffffffffffde'" (* 144115188075855838 (0x1ffffffffffffde) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x1ffffffffffffed'" (* 144115188075855853 (0x1ffffffffffffed) *)
- := (Const 144115188075855853%Z).
-Notation "'0x1ffffffffffffed'" (* 144115188075855853 (0x1ffffffffffffed) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x1fffffffffffff1'" (* 144115188075855857 (0x1fffffffffffff1) *)
- := (Const 144115188075855857%Z).
-Notation "'0x1fffffffffffff1'" (* 144115188075855857 (0x1fffffffffffff1) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x1fffffffffffff6'" (* 144115188075855862 (0x1fffffffffffff6) *)
- := (Const 144115188075855862%Z).
-Notation "'0x1fffffffffffff6'" (* 144115188075855862 (0x1fffffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x1fffffffffffff7'" (* 144115188075855863 (0x1fffffffffffff7) *)
- := (Const 144115188075855863%Z).
-Notation "'0x1fffffffffffff7'" (* 144115188075855863 (0x1fffffffffffff7) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0x1fffffffffffffa'" (* 144115188075855866 (0x1fffffffffffffa) *)
- := (Const 144115188075855866%Z).
-Notation "'0x1fffffffffffffa'" (* 144115188075855866 (0x1fffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x1fffffffffffffb'" (* 144115188075855867 (0x1fffffffffffffb) *)
- := (Const 144115188075855867%Z).
-Notation "'0x1fffffffffffffb'" (* 144115188075855867 (0x1fffffffffffffb) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0x1fffffffffffffc'" (* 144115188075855868 (0x1fffffffffffffc) *)
- := (Const 144115188075855868%Z).
-Notation "'0x1fffffffffffffc'" (* 144115188075855868 (0x1fffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x1fffffffffffffd'" (* 144115188075855869 (0x1fffffffffffffd) *)
- := (Const 144115188075855869%Z).
-Notation "'0x1fffffffffffffd'" (* 144115188075855869 (0x1fffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x1fffffffffffffe'" (* 144115188075855870 (0x1fffffffffffffe) *)
- := (Const 144115188075855870%Z).
-Notation "'0x1fffffffffffffe'" (* 144115188075855870 (0x1fffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1ffffffffffffff'" (* 144115188075855871 (0x1ffffffffffffff) *)
- := (Const 144115188075855871%Z).
-Notation "'0x1ffffffffffffff'" (* 144115188075855871 (0x1ffffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000'" (* 144115188075855872 (0x200000000000000) *)
- := (Const 144115188075855872%Z).
-Notation "'0x200000000000000'" (* 144115188075855872 (0x200000000000000) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000001'" (* 144115188075855873 (0x200000000000001) *)
- := (Const 144115188075855873%Z).
-Notation "'0x200000000000001'" (* 144115188075855873 (0x200000000000001) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffda'" (* 288230376151711706 (0x3ffffffffffffda) *)
- := (Const 288230376151711706%Z).
-Notation "'0x3ffffffffffffda'" (* 288230376151711706 (0x3ffffffffffffda) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0x3ffffffffffffe1'" (* 288230376151711713 (0x3ffffffffffffe1) *)
- := (Const 288230376151711713%Z).
-Notation "'0x3ffffffffffffe1'" (* 288230376151711713 (0x3ffffffffffffe1) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0x3ffffffffffffe2'" (* 288230376151711714 (0x3ffffffffffffe2) *)
- := (Const 288230376151711714%Z).
-Notation "'0x3ffffffffffffe2'" (* 288230376151711714 (0x3ffffffffffffe2) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0x3ffffffffffffe5'" (* 288230376151711717 (0x3ffffffffffffe5) *)
- := (Const 288230376151711717%Z).
-Notation "'0x3ffffffffffffe5'" (* 288230376151711717 (0x3ffffffffffffe5) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0x3ffffffffffffee'" (* 288230376151711726 (0x3ffffffffffffee) *)
- := (Const 288230376151711726%Z).
-Notation "'0x3ffffffffffffee'" (* 288230376151711726 (0x3ffffffffffffee) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0).
-Notation "'0x3ffffffffffffef'" (* 288230376151711727 (0x3ffffffffffffef) *)
- := (Const 288230376151711727%Z).
-Notation "'0x3ffffffffffffef'" (* 288230376151711727 (0x3ffffffffffffef) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x3fffffffffffff6'" (* 288230376151711734 (0x3fffffffffffff6) *)
- := (Const 288230376151711734%Z).
-Notation "'0x3fffffffffffff6'" (* 288230376151711734 (0x3fffffffffffff6) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x3fffffffffffffa'" (* 288230376151711738 (0x3fffffffffffffa) *)
- := (Const 288230376151711738%Z).
-Notation "'0x3fffffffffffffa'" (* 288230376151711738 (0x3fffffffffffffa) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x3fffffffffffffc'" (* 288230376151711740 (0x3fffffffffffffc) *)
- := (Const 288230376151711740%Z).
-Notation "'0x3fffffffffffffc'" (* 288230376151711740 (0x3fffffffffffffc) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x3fffffffffffffd'" (* 288230376151711741 (0x3fffffffffffffd) *)
- := (Const 288230376151711741%Z).
-Notation "'0x3fffffffffffffd'" (* 288230376151711741 (0x3fffffffffffffd) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0x3fffffffffffffe'" (* 288230376151711742 (0x3fffffffffffffe) *)
- := (Const 288230376151711742%Z).
-Notation "'0x3fffffffffffffe'" (* 288230376151711742 (0x3fffffffffffffe) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3ffffffffffffff'" (* 288230376151711743 (0x3ffffffffffffff) *)
- := (Const 288230376151711743%Z).
-Notation "'0x3ffffffffffffff'" (* 288230376151711743 (0x3ffffffffffffff) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000'" (* 288230376151711744 (0x400000000000000) *)
- := (Const 288230376151711744%Z).
-Notation "'0x400000000000000'" (* 288230376151711744 (0x400000000000000) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000001'" (* 288230376151711745 (0x400000000000001) *)
- := (Const 288230376151711745%Z).
-Notation "'0x400000000000001'" (* 288230376151711745 (0x400000000000001) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffc2'" (* 576460752303423426 (0x7ffffffffffffc2) *)
- := (Const 576460752303423426%Z).
-Notation "'0x7ffffffffffffc2'" (* 576460752303423426 (0x7ffffffffffffc2) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0).
-Notation "'0x7ffffffffffffca'" (* 576460752303423434 (0x7ffffffffffffca) *)
- := (Const 576460752303423434%Z).
-Notation "'0x7ffffffffffffca'" (* 576460752303423434 (0x7ffffffffffffca) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~0).
-Notation "'0x7ffffffffffffde'" (* 576460752303423454 (0x7ffffffffffffde) *)
- := (Const 576460752303423454%Z).
-Notation "'0x7ffffffffffffde'" (* 576460752303423454 (0x7ffffffffffffde) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0x7ffffffffffffeb'" (* 576460752303423467 (0x7ffffffffffffeb) *)
- := (Const 576460752303423467%Z).
-Notation "'0x7ffffffffffffeb'" (* 576460752303423467 (0x7ffffffffffffeb) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0x7ffffffffffffed'" (* 576460752303423469 (0x7ffffffffffffed) *)
- := (Const 576460752303423469%Z).
-Notation "'0x7ffffffffffffed'" (* 576460752303423469 (0x7ffffffffffffed) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0x7ffffffffffffef'" (* 576460752303423471 (0x7ffffffffffffef) *)
- := (Const 576460752303423471%Z).
-Notation "'0x7ffffffffffffef'" (* 576460752303423471 (0x7ffffffffffffef) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0x7fffffffffffff1'" (* 576460752303423473 (0x7fffffffffffff1) *)
- := (Const 576460752303423473%Z).
-Notation "'0x7fffffffffffff1'" (* 576460752303423473 (0x7fffffffffffff1) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0x7fffffffffffffa'" (* 576460752303423482 (0x7fffffffffffffa) *)
- := (Const 576460752303423482%Z).
-Notation "'0x7fffffffffffffa'" (* 576460752303423482 (0x7fffffffffffffa) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0).
-Notation "'0x7fffffffffffffe'" (* 576460752303423486 (0x7fffffffffffffe) *)
- := (Const 576460752303423486%Z).
-Notation "'0x7fffffffffffffe'" (* 576460752303423486 (0x7fffffffffffffe) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x7ffffffffffffff'" (* 576460752303423487 (0x7ffffffffffffff) *)
- := (Const 576460752303423487%Z).
-Notation "'0x7ffffffffffffff'" (* 576460752303423487 (0x7ffffffffffffff) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000'" (* 576460752303423488 (0x800000000000000) *)
- := (Const 576460752303423488%Z).
-Notation "'0x800000000000000'" (* 576460752303423488 (0x800000000000000) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000001'" (* 576460752303423489 (0x800000000000001) *)
- := (Const 576460752303423489%Z).
-Notation "'0x800000000000001'" (* 576460752303423489 (0x800000000000001) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xf83e0f83e0f83e1'" (* 1117984489315730401 (0xf83e0f83e0f83e1) *)
- := (Const 1117984489315730401%Z).
-Notation "'0xf83e0f83e0f83e1'" (* 1117984489315730401 (0xf83e0f83e0f83e1) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~0~1~1~1~1~1~0~0~0~0~1).
-Notation "'0xfffffffffffffd6'" (* 1152921504606846934 (0xfffffffffffffd6) *)
- := (Const 1152921504606846934%Z).
-Notation "'0xfffffffffffffd6'" (* 1152921504606846934 (0xfffffffffffffd6) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~0).
-Notation "'0xfffffffffffffda'" (* 1152921504606846938 (0xfffffffffffffda) *)
- := (Const 1152921504606846938%Z).
-Notation "'0xfffffffffffffda'" (* 1152921504606846938 (0xfffffffffffffda) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1~0).
-Notation "'0xfffffffffffffde'" (* 1152921504606846942 (0xfffffffffffffde) *)
- := (Const 1152921504606846942%Z).
-Notation "'0xfffffffffffffde'" (* 1152921504606846942 (0xfffffffffffffde) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~0).
-Notation "'0xfffffffffffffe2'" (* 1152921504606846946 (0xfffffffffffffe2) *)
- := (Const 1152921504606846946%Z).
-Notation "'0xfffffffffffffe2'" (* 1152921504606846946 (0xfffffffffffffe2) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0).
-Notation "'0xffffffffffffffe'" (* 1152921504606846974 (0xffffffffffffffe) *)
- := (Const 1152921504606846974%Z).
-Notation "'0xffffffffffffffe'" (* 1152921504606846974 (0xffffffffffffffe) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xfffffffffffffff'" (* 1152921504606846975 (0xfffffffffffffff) *)
- := (Const 1152921504606846975%Z).
-Notation "'0xfffffffffffffff'" (* 1152921504606846975 (0xfffffffffffffff) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000'" (* 1152921504606846976 (0x1000000000000000) *)
- := (Const 1152921504606846976%Z).
-Notation "'0x1000000000000000'" (* 1152921504606846976 (0x1000000000000000) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000001'" (* 1152921504606846977 (0x1000000000000001) *)
- := (Const 1152921504606846977%Z).
-Notation "'0x1000000000000001'" (* 1152921504606846977 (0x1000000000000001) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffc'" (* 2305843009213693948 (0x1ffffffffffffffc) *)
- := (Const 2305843009213693948%Z).
-Notation "'0x1ffffffffffffffc'" (* 2305843009213693948 (0x1ffffffffffffffc) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0).
-Notation "'0x1ffffffffffffffe'" (* 2305843009213693950 (0x1ffffffffffffffe) *)
- := (Const 2305843009213693950%Z).
-Notation "'0x1ffffffffffffffe'" (* 2305843009213693950 (0x1ffffffffffffffe) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x1fffffffffffffff'" (* 2305843009213693951 (0x1fffffffffffffff) *)
- := (Const 2305843009213693951%Z).
-Notation "'0x1fffffffffffffff'" (* 2305843009213693951 (0x1fffffffffffffff) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000'" (* 2305843009213693952 (0x2000000000000000) *)
- := (Const 2305843009213693952%Z).
-Notation "'0x2000000000000000'" (* 2305843009213693952 (0x2000000000000000) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000001'" (* 2305843009213693953 (0x2000000000000001) *)
- := (Const 2305843009213693953%Z).
-Notation "'0x2000000000000001'" (* 2305843009213693953 (0x2000000000000001) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x2e8ba2e8ba2e8ba3'" (* 3353953467947191203 (0x2e8ba2e8ba2e8ba3) *)
- := (Const 3353953467947191203%Z).
-Notation "'0x2e8ba2e8ba2e8ba3'" (* 3353953467947191203 (0x2e8ba2e8ba2e8ba3) *)
- := (Const WO~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~0~1~1~1~0~1~0~0~0~1~1).
-Notation "'0x34f72c234f72c235'" (* 3816567739388183093 (0x34f72c234f72c235) *)
- := (Const 3816567739388183093%Z).
-Notation "'0x34f72c234f72c235'" (* 3816567739388183093 (0x34f72c234f72c235) *)
- := (Const WO~0~0~1~1~0~1~0~0~1~1~1~1~0~1~1~1~0~0~1~0~1~1~0~0~0~0~1~0~0~0~1~1~0~1~0~0~1~1~1~1~0~1~1~1~0~0~1~0~1~1~0~0~0~0~1~0~0~0~1~1~0~1~0~1).
-Notation "'0x3eddffffffffffff'" (* 4530058275181297663 (0x3eddffffffffffff) *)
- := (Const 4530058275181297663%Z).
-Notation "'0x3eddffffffffffff'" (* 4530058275181297663 (0x3eddffffffffffff) *)
- := (Const WO~0~0~1~1~1~1~1~0~1~1~0~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3f80ffffffffffff'" (* 4575938696385134591 (0x3f80ffffffffffff) *)
- := (Const 4575938696385134591%Z).
-Notation "'0x3f80ffffffffffff'" (* 4575938696385134591 (0x3f80ffffffffffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x3fffffffffffffff'" (* 4611686018427387903 (0x3fffffffffffffff) *)
- := (Const 4611686018427387903%Z).
-Notation "'0x3fffffffffffffff'" (* 4611686018427387903 (0x3fffffffffffffff) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000'" (* 4611686018427387904 (0x4000000000000000) *)
- := (Const 4611686018427387904%Z).
-Notation "'0x4000000000000000'" (* 4611686018427387904 (0x4000000000000000) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000001'" (* 4611686018427387905 (0x4000000000000001) *)
- := (Const 4611686018427387905%Z).
-Notation "'0x4000000000000001'" (* 4611686018427387905 (0x4000000000000001) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x4ec4ec4ec4ec4ec5'" (* 5675921253449092805 (0x4ec4ec4ec4ec4ec5) *)
- := (Const 5675921253449092805%Z).
-Notation "'0x4ec4ec4ec4ec4ec5'" (* 5675921253449092805 (0x4ec4ec4ec4ec4ec5) *)
- := (Const WO~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~0~1~1~1~0~1~1~0~0~0~1~0~1).
-Notation "'0x7fffffffffffffffL'" (* 9223372036854775807 (0x7fffffffffffffffL) *)
- := (Const 9223372036854775807%Z).
-Notation "'0x7fffffffffffffffL'" (* 9223372036854775807 (0x7fffffffffffffffL) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000L'" (* 9223372036854775808 (0x8000000000000000L) *)
- := (Const 9223372036854775808%Z).
-Notation "'0x8000000000000000L'" (* 9223372036854775808 (0x8000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000001L'" (* 9223372036854775809 (0x8000000000000001L) *)
- := (Const 9223372036854775809%Z).
-Notation "'0x8000000000000001L'" (* 9223372036854775809 (0x8000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x84bda12f684bda13L'" (* 9564978408590137875 (0x84bda12f684bda13L) *)
- := (Const 9564978408590137875%Z).
-Notation "'0x84bda12f684bda13L'" (* 9564978408590137875 (0x84bda12f684bda13L) *)
- := (Const WO~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~0~1~1~1~1~0~1~1~0~1~0~0~0~0~1~0~0~1~1).
-Notation "'0x86bca1af286bca1bL'" (* 9708812670373448219 (0x86bca1af286bca1bL) *)
- := (Const 9708812670373448219%Z).
-Notation "'0x86bca1af286bca1bL'" (* 9708812670373448219 (0x86bca1af286bca1bL) *)
- := (Const WO~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~0~1~1~1~1~0~0~1~0~1~0~0~0~0~1~1~0~1~1).
-Notation "'0x8a4472fea18a4473L'" (* 9963214713607832691 (0x8a4472fea18a4473L) *)
- := (Const 9963214713607832691%Z).
-Notation "'0x8a4472fea18a4473L'" (* 9963214713607832691 (0x8a4472fea18a4473L) *)
- := (Const WO~1~0~0~0~1~0~1~0~0~1~0~0~0~1~0~0~0~1~1~1~0~0~1~0~1~1~1~1~1~1~1~0~1~0~1~0~0~0~0~1~1~0~0~0~1~0~1~0~0~1~0~0~0~1~0~0~0~1~1~1~0~0~1~1).
-Notation "'0x8e38e38e38e38e39L'" (* 10248191152060862009 (0x8e38e38e38e38e39L) *)
- := (Const 10248191152060862009%Z).
-Notation "'0x8e38e38e38e38e39L'" (* 10248191152060862009 (0x8e38e38e38e38e39L) *)
- := (Const WO~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~0~1~1~1~0~0~1).
-Notation "'0x8f5c28f5c28f5c29L'" (* 10330176681277348905 (0x8f5c28f5c28f5c29L) *)
- := (Const 10330176681277348905%Z).
-Notation "'0x8f5c28f5c28f5c29L'" (* 10330176681277348905 (0x8f5c28f5c28f5c29L) *)
- := (Const WO~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~0~1~1~1~1~0~1~0~1~1~1~0~0~0~0~1~0~1~0~0~1).
-Notation "'0x8fd8fd8fd8fd8fd9L'" (* 10365313336655843289 (0x8fd8fd8fd8fd8fd9L) *)
- := (Const 10365313336655843289%Z).
-Notation "'0x8fd8fd8fd8fd8fd9L'" (* 10365313336655843289 (0x8fd8fd8fd8fd8fd9L) *)
- := (Const WO~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~0~1~1~1~1~1~1~0~1~1~0~0~1).
-Notation "'0xa53fa94fea53fa95L'" (* 11907422100489763477 (0xa53fa94fea53fa95L) *)
- := (Const 11907422100489763477%Z).
-Notation "'0xa53fa94fea53fa95L'" (* 11907422100489763477 (0xa53fa94fea53fa95L) *)
- := (Const WO~1~0~1~0~0~1~0~1~0~0~1~1~1~1~1~1~1~0~1~0~1~0~0~1~0~1~0~0~1~1~1~1~1~1~1~0~1~0~1~0~0~1~0~1~0~0~1~1~1~1~1~1~1~0~1~0~1~0~0~1~0~1~0~1).
-Notation "'0xaa54ffaa54ffaa55L'" (* 12273715991527008853 (0xaa54ffaa54ffaa55L) *)
- := (Const 12273715991527008853%Z).
-Notation "'0xaa54ffaa54ffaa55L'" (* 12273715991527008853 (0xaa54ffaa54ffaa55L) *)
- := (Const WO~1~0~1~0~1~0~1~0~0~1~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~0~1~0~1~0~1~0~0~1~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~0~1~0~1~0~1~0~0~1~0~1~0~1~0~1).
-Notation "'0xaaaaaaaaaaaaaaabL'" (* 12297829382473034411 (0xaaaaaaaaaaaaaaabL) *)
- := (Const 12297829382473034411%Z).
-Notation "'0xaaaaaaaaaaaaaaabL'" (* 12297829382473034411 (0xaaaaaaaaaaaaaaabL) *)
- := (Const WO~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~0~1~1).
-Notation "'0xb0ffffffffffffffL'" (* 12754194144713244671 (0xb0ffffffffffffffL) *)
- := (Const 12754194144713244671%Z).
-Notation "'0xb0ffffffffffffffL'" (* 12754194144713244671 (0xb0ffffffffffffffL) *)
- := (Const WO~1~0~1~1~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xcccccccccccccccdL'" (* 14757395258967641293 (0xcccccccccccccccdL) *)
- := (Const 14757395258967641293%Z).
-Notation "'0xcccccccccccccccdL'" (* 14757395258967641293 (0xcccccccccccccccdL) *)
- := (Const WO~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~0~1~1~0~1).
-Notation "'0xcebeef94fa86fe2dL'" (* 14897608040525528621 (0xcebeef94fa86fe2dL) *)
- := (Const 14897608040525528621%Z).
-Notation "'0xcebeef94fa86fe2dL'" (* 14897608040525528621 (0xcebeef94fa86fe2dL) *)
- := (Const WO~1~1~0~0~1~1~1~0~1~0~1~1~1~1~1~0~1~1~1~0~1~1~1~1~1~0~0~1~0~1~0~0~1~1~1~1~1~0~1~0~1~0~0~0~0~1~1~0~1~1~1~1~1~1~1~0~0~0~1~0~1~1~0~1).
-Notation "'0xcf3cf3cf3cf3cf3dL'" (* 14933078535860113213 (0xcf3cf3cf3cf3cf3dL) *)
- := (Const 14933078535860113213%Z).
-Notation "'0xcf3cf3cf3cf3cf3dL'" (* 14933078535860113213 (0xcf3cf3cf3cf3cf3dL) *)
- := (Const WO~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~0~1~1~1~1~0~1).
-Notation "'0xcfdcfdcfdcfdcfddL'" (* 14978125529935106013 (0xcfdcfdcfdcfdcfddL) *)
- := (Const 14978125529935106013%Z).
-Notation "'0xcfdcfdcfdcfdcfddL'" (* 14978125529935106013 (0xcfdcfdcfdcfdcfddL) *)
- := (Const WO~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~0~1~1~1~1~1~1~0~1~1~1~0~1).
-Notation "'0xd838091dd2253531L'" (* 15580212934572586289 (0xd838091dd2253531L) *)
- := (Const 15580212934572586289%Z).
-Notation "'0xd838091dd2253531L'" (* 15580212934572586289 (0xd838091dd2253531L) *)
- := (Const WO~1~1~0~1~1~0~0~0~0~0~1~1~1~0~0~0~0~0~0~0~1~0~0~1~0~0~0~1~1~1~0~1~1~1~0~1~0~0~1~0~0~0~1~0~0~1~0~1~0~0~1~1~0~1~0~1~0~0~1~1~0~0~0~1).
-Notation "'0xec9e48ae6f71de15L'" (* 17050145153302519317 (0xec9e48ae6f71de15L) *)
- := (Const 17050145153302519317%Z).
-Notation "'0xec9e48ae6f71de15L'" (* 17050145153302519317 (0xec9e48ae6f71de15L) *)
- := (Const WO~1~1~1~0~1~1~0~0~1~0~0~1~1~1~1~0~0~1~0~0~1~0~0~0~1~0~1~0~1~1~1~0~0~1~1~0~1~1~1~1~0~1~1~1~0~0~0~1~1~1~0~1~1~1~1~0~0~0~0~1~0~1~0~1).
-Notation "'0xeeeeeeeeeeeeeeefL'" (* 17216961135462248175 (0xeeeeeeeeeeeeeeefL) *)
- := (Const 17216961135462248175%Z).
-Notation "'0xeeeeeeeeeeeeeeefL'" (* 17216961135462248175 (0xeeeeeeeeeeeeeeefL) *)
- := (Const WO~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~0~1~1~1~1).
-Notation "'0xef7bdef7bdef7bdfL'" (* 17256631552825064415 (0xef7bdef7bdef7bdfL) *)
- := (Const 17256631552825064415%Z).
-Notation "'0xef7bdef7bdef7bdfL'" (* 17256631552825064415 (0xef7bdef7bdef7bdfL) *)
- := (Const WO~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~0~1~1~1~1~1).
-Notation "'0xf0f0f0f0f0f0f0f1L'" (* 17361641481138401521 (0xf0f0f0f0f0f0f0f1L) *)
- := (Const 17361641481138401521%Z).
-Notation "'0xf0f0f0f0f0f0f0f1L'" (* 17361641481138401521 (0xf0f0f0f0f0f0f0f1L) *)
- := (Const WO~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~0~1~1~1~1~0~0~0~1).
-Notation "'0xfe14ffffffffffffL'" (* 18308539860144619519 (0xfe14ffffffffffffL) *)
- := (Const 18308539860144619519%Z).
-Notation "'0xfe14ffffffffffffL'" (* 18308539860144619519 (0xfe14ffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~0~0~0~0~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xffa7ffffffffffffL'" (* 18421974275759013887 (0xffa7ffffffffffffL) *)
- := (Const 18421974275759013887%Z).
-Notation "'0xffa7ffffffffffffL'" (* 18421974275759013887 (0xffa7ffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~0~1~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffaffffffffffffL'" (* 18445336698825998335 (0xfffaffffffffffffL) *)
- := (Const 18445336698825998335%Z).
-Notation "'0xfffaffffffffffffL'" (* 18445336698825998335 (0xfffaffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffeffffffffffffL'" (* 18446462598732840959 (0xfffeffffffffffffL) *)
- := (Const 18446462598732840959%Z).
-Notation "'0xfffeffffffffffffL'" (* 18446462598732840959 (0xfffeffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xffffefffffffffffL'" (* 18446726481523507199 (0xffffefffffffffffL) *)
- := (Const 18446726481523507199%Z).
-Notation "'0xffffefffffffffffL'" (* 18446726481523507199 (0xffffefffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffffffdffffffffL'" (* 18446744065119617023 (0xfffffffdffffffffL) *)
- := (Const 18446744065119617023%Z).
-Notation "'0xfffffffdffffffffL'" (* 18446744065119617023 (0xfffffffdffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffffffefffffc2fL'" (* 18446744069414583343 (0xfffffffefffffc2fL) *)
- := (Const 18446744069414583343%Z).
-Notation "'0xfffffffefffffc2fL'" (* 18446744069414583343 (0xfffffffefffffc2fL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~0~1~1~1~1).
-Notation "'0xfffffffeffffffffL'" (* 18446744069414584319 (0xfffffffeffffffffL) *)
- := (Const 18446744069414584319%Z).
-Notation "'0xfffffffeffffffffL'" (* 18446744069414584319 (0xfffffffeffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xffffffff00000000L'" (* 18446744069414584320 (0xffffffff00000000L) *)
- := (Const 18446744069414584320%Z).
-Notation "'0xffffffff00000000L'" (* 18446744069414584320 (0xffffffff00000000L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0xffffffff00000001L'" (* 18446744069414584321 (0xffffffff00000001L) *)
- := (Const 18446744069414584321%Z).
-Notation "'0xffffffff00000001L'" (* 18446744069414584321 (0xffffffff00000001L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffeffffL'" (* 18446744073709486079 (0xfffffffffffeffffL) *)
- := (Const 18446744073709486079%Z).
-Notation "'0xfffffffffffeffffL'" (* 18446744073709486079 (0xfffffffffffeffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0xfffffffffffffd03L'" (* 18446744073709550851 (0xfffffffffffffd03L) *)
- := (Const 18446744073709550851%Z).
-Notation "'0xfffffffffffffd03L'" (* 18446744073709550851 (0xfffffffffffffd03L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~0~0~1~1).
-Notation "'0xfffffffffffffdc7L'" (* 18446744073709551047 (0xfffffffffffffdc7L) *)
- := (Const 18446744073709551047%Z).
-Notation "'0xfffffffffffffdc7L'" (* 18446744073709551047 (0xfffffffffffffdc7L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~0~0~0~1~1~1).
-Notation "'0xfffffffffffffe1fL'" (* 18446744073709551135 (0xfffffffffffffe1fL) *)
- := (Const 18446744073709551135%Z).
-Notation "'0xfffffffffffffe1fL'" (* 18446744073709551135 (0xfffffffffffffe1fL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1~1~1~1~1).
-Notation "'0xfffffffffffffe5bL'" (* 18446744073709551195 (0xfffffffffffffe5bL) *)
- := (Const 18446744073709551195%Z).
-Notation "'0xfffffffffffffe5bL'" (* 18446744073709551195 (0xfffffffffffffe5bL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~0~1~1).
-Notation "'0xfffffffffffffec3L'" (* 18446744073709551299 (0xfffffffffffffec3L) *)
- := (Const 18446744073709551299%Z).
-Notation "'0xfffffffffffffec3L'" (* 18446744073709551299 (0xfffffffffffffec3L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~0~0~0~1~1).
-Notation "'0xffffffffffffff43L'" (* 18446744073709551427 (0xffffffffffffff43L) *)
- := (Const 18446744073709551427%Z).
-Notation "'0xffffffffffffff43L'" (* 18446744073709551427 (0xffffffffffffff43L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~0~1~1).
-Notation "'0xffffffffffffff45L'" (* 18446744073709551429 (0xffffffffffffff45L) *)
- := (Const 18446744073709551429%Z).
-Notation "'0xffffffffffffff45L'" (* 18446744073709551429 (0xffffffffffffff45L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~0~0~1~0~1).
-Notation "'0xffffffffffffff8bL'" (* 18446744073709551499 (0xffffffffffffff8bL) *)
- := (Const 18446744073709551499%Z).
-Notation "'0xffffffffffffff8bL'" (* 18446744073709551499 (0xffffffffffffff8bL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~0~1~1).
-Notation "'0xffffffffffffff97L'" (* 18446744073709551511 (0xffffffffffffff97L) *)
- := (Const 18446744073709551511%Z).
-Notation "'0xffffffffffffff97L'" (* 18446744073709551511 (0xffffffffffffff97L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1~1~1).
-Notation "'0xffffffffffffffdfL'" (* 18446744073709551583 (0xffffffffffffffdfL) *)
- := (Const 18446744073709551583%Z).
-Notation "'0xffffffffffffffdfL'" (* 18446744073709551583 (0xffffffffffffffdfL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1~1).
-Notation "'0xffffffffffffffe1L'" (* 18446744073709551585 (0xffffffffffffffe1L) *)
- := (Const 18446744073709551585%Z).
-Notation "'0xffffffffffffffe1L'" (* 18446744073709551585 (0xffffffffffffffe1L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~1).
-Notation "'0xffffffffffffffe3L'" (* 18446744073709551587 (0xffffffffffffffe3L) *)
- := (Const 18446744073709551587%Z).
-Notation "'0xffffffffffffffe3L'" (* 18446744073709551587 (0xffffffffffffffe3L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1~1).
-Notation "'0xffffffffffffffe5L'" (* 18446744073709551589 (0xffffffffffffffe5L) *)
- := (Const 18446744073709551589%Z).
-Notation "'0xffffffffffffffe5L'" (* 18446744073709551589 (0xffffffffffffffe5L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~0~1).
-Notation "'0xffffffffffffffe7L'" (* 18446744073709551591 (0xffffffffffffffe7L) *)
- := (Const 18446744073709551591%Z).
-Notation "'0xffffffffffffffe7L'" (* 18446744073709551591 (0xffffffffffffffe7L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1~1).
-Notation "'0xffffffffffffffebL'" (* 18446744073709551595 (0xffffffffffffffebL) *)
- := (Const 18446744073709551595%Z).
-Notation "'0xffffffffffffffebL'" (* 18446744073709551595 (0xffffffffffffffebL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1~1).
-Notation "'0xffffffffffffffedL'" (* 18446744073709551597 (0xffffffffffffffedL) *)
- := (Const 18446744073709551597%Z).
-Notation "'0xffffffffffffffedL'" (* 18446744073709551597 (0xffffffffffffffedL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0~1).
-Notation "'0xffffffffffffffefL'" (* 18446744073709551599 (0xffffffffffffffefL) *)
- := (Const 18446744073709551599%Z).
-Notation "'0xffffffffffffffefL'" (* 18446744073709551599 (0xffffffffffffffefL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1~1).
-Notation "'0xfffffffffffffff1L'" (* 18446744073709551601 (0xfffffffffffffff1L) *)
- := (Const 18446744073709551601%Z).
-Notation "'0xfffffffffffffff1L'" (* 18446744073709551601 (0xfffffffffffffff1L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~1).
-Notation "'0xfffffffffffffff3L'" (* 18446744073709551603 (0xfffffffffffffff3L) *)
- := (Const 18446744073709551603%Z).
-Notation "'0xfffffffffffffff3L'" (* 18446744073709551603 (0xfffffffffffffff3L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~1~1).
-Notation "'0xfffffffffffffff5L'" (* 18446744073709551605 (0xfffffffffffffff5L) *)
- := (Const 18446744073709551605%Z).
-Notation "'0xfffffffffffffff5L'" (* 18446744073709551605 (0xfffffffffffffff5L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~0~1).
-Notation "'0xfffffffffffffff7L'" (* 18446744073709551607 (0xfffffffffffffff7L) *)
- := (Const 18446744073709551607%Z).
-Notation "'0xfffffffffffffff7L'" (* 18446744073709551607 (0xfffffffffffffff7L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~1).
-Notation "'0xfffffffffffffffbL'" (* 18446744073709551611 (0xfffffffffffffffbL) *)
- := (Const 18446744073709551611%Z).
-Notation "'0xfffffffffffffffbL'" (* 18446744073709551611 (0xfffffffffffffffbL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1).
-Notation "'0xfffffffffffffffdL'" (* 18446744073709551613 (0xfffffffffffffffdL) *)
- := (Const 18446744073709551613%Z).
-Notation "'0xfffffffffffffffdL'" (* 18446744073709551613 (0xfffffffffffffffdL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1).
-Notation "'0xfffffffffffffffeL'" (* 18446744073709551614 (0xfffffffffffffffeL) *)
- := (Const 18446744073709551614%Z).
-Notation "'0xfffffffffffffffeL'" (* 18446744073709551614 (0xfffffffffffffffeL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0xffffffffffffffffL'" (* 18446744073709551615 (0xffffffffffffffffL) *)
- := (Const 18446744073709551615%Z).
-Notation "'0xffffffffffffffffL'" (* 18446744073709551615 (0xffffffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000L'" (* 18446744073709551616 (0x10000000000000000L) *)
- := (Const 18446744073709551616%Z).
-Notation "'0x10000000000000000L'" (* 18446744073709551616 (0x10000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000001L'" (* 18446744073709551617 (0x10000000000000001L) *)
- := (Const 18446744073709551617%Z).
-Notation "'0x10000000000000001L'" (* 18446744073709551617 (0x10000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffL'" (* 36893488147419103231 (0x1ffffffffffffffffL) *)
- := (Const 36893488147419103231%Z).
-Notation "'0x1ffffffffffffffffL'" (* 36893488147419103231 (0x1ffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000L'" (* 36893488147419103232 (0x20000000000000000L) *)
- := (Const 36893488147419103232%Z).
-Notation "'0x20000000000000000L'" (* 36893488147419103232 (0x20000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000001L'" (* 36893488147419103233 (0x20000000000000001L) *)
- := (Const 36893488147419103233%Z).
-Notation "'0x20000000000000001L'" (* 36893488147419103233 (0x20000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffL'" (* 73786976294838206463 (0x3ffffffffffffffffL) *)
- := (Const 73786976294838206463%Z).
-Notation "'0x3ffffffffffffffffL'" (* 73786976294838206463 (0x3ffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000L'" (* 73786976294838206464 (0x40000000000000000L) *)
- := (Const 73786976294838206464%Z).
-Notation "'0x40000000000000000L'" (* 73786976294838206464 (0x40000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000001L'" (* 73786976294838206465 (0x40000000000000001L) *)
- := (Const 73786976294838206465%Z).
-Notation "'0x40000000000000001L'" (* 73786976294838206465 (0x40000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffL'" (* 147573952589676412927 (0x7ffffffffffffffffL) *)
- := (Const 147573952589676412927%Z).
-Notation "'0x7ffffffffffffffffL'" (* 147573952589676412927 (0x7ffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000L'" (* 147573952589676412928 (0x80000000000000000L) *)
- := (Const 147573952589676412928%Z).
-Notation "'0x80000000000000000L'" (* 147573952589676412928 (0x80000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000001L'" (* 147573952589676412929 (0x80000000000000001L) *)
- := (Const 147573952589676412929%Z).
-Notation "'0x80000000000000001L'" (* 147573952589676412929 (0x80000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffL'" (* 295147905179352825855 (0xfffffffffffffffffL) *)
- := (Const 295147905179352825855%Z).
-Notation "'0xfffffffffffffffffL'" (* 295147905179352825855 (0xfffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000L'" (* 295147905179352825856 (0x100000000000000000L) *)
- := (Const 295147905179352825856%Z).
-Notation "'0x100000000000000000L'" (* 295147905179352825856 (0x100000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000001L'" (* 295147905179352825857 (0x100000000000000001L) *)
- := (Const 295147905179352825857%Z).
-Notation "'0x100000000000000001L'" (* 295147905179352825857 (0x100000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffL'" (* 590295810358705651711 (0x1fffffffffffffffffL) *)
- := (Const 590295810358705651711%Z).
-Notation "'0x1fffffffffffffffffL'" (* 590295810358705651711 (0x1fffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000L'" (* 590295810358705651712 (0x200000000000000000L) *)
- := (Const 590295810358705651712%Z).
-Notation "'0x200000000000000000L'" (* 590295810358705651712 (0x200000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000001L'" (* 590295810358705651713 (0x200000000000000001L) *)
- := (Const 590295810358705651713%Z).
-Notation "'0x200000000000000001L'" (* 590295810358705651713 (0x200000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffL'" (* 1180591620717411303423 (0x3fffffffffffffffffL) *)
- := (Const 1180591620717411303423%Z).
-Notation "'0x3fffffffffffffffffL'" (* 1180591620717411303423 (0x3fffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000L'" (* 1180591620717411303424 (0x400000000000000000L) *)
- := (Const 1180591620717411303424%Z).
-Notation "'0x400000000000000000L'" (* 1180591620717411303424 (0x400000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000001L'" (* 1180591620717411303425 (0x400000000000000001L) *)
- := (Const 1180591620717411303425%Z).
-Notation "'0x400000000000000001L'" (* 1180591620717411303425 (0x400000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffL'" (* 2361183241434822606847 (0x7fffffffffffffffffL) *)
- := (Const 2361183241434822606847%Z).
-Notation "'0x7fffffffffffffffffL'" (* 2361183241434822606847 (0x7fffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000L'" (* 2361183241434822606848 (0x800000000000000000L) *)
- := (Const 2361183241434822606848%Z).
-Notation "'0x800000000000000000L'" (* 2361183241434822606848 (0x800000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000001L'" (* 2361183241434822606849 (0x800000000000000001L) *)
- := (Const 2361183241434822606849%Z).
-Notation "'0x800000000000000001L'" (* 2361183241434822606849 (0x800000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffL'" (* 4722366482869645213695 (0xffffffffffffffffffL) *)
- := (Const 4722366482869645213695%Z).
-Notation "'0xffffffffffffffffffL'" (* 4722366482869645213695 (0xffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000L'" (* 4722366482869645213696 (0x1000000000000000000L) *)
- := (Const 4722366482869645213696%Z).
-Notation "'0x1000000000000000000L'" (* 4722366482869645213696 (0x1000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000001L'" (* 4722366482869645213697 (0x1000000000000000001L) *)
- := (Const 4722366482869645213697%Z).
-Notation "'0x1000000000000000001L'" (* 4722366482869645213697 (0x1000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffL'" (* 9444732965739290427391 (0x1ffffffffffffffffffL) *)
- := (Const 9444732965739290427391%Z).
-Notation "'0x1ffffffffffffffffffL'" (* 9444732965739290427391 (0x1ffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000L'" (* 9444732965739290427392 (0x2000000000000000000L) *)
- := (Const 9444732965739290427392%Z).
-Notation "'0x2000000000000000000L'" (* 9444732965739290427392 (0x2000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000001L'" (* 9444732965739290427393 (0x2000000000000000001L) *)
- := (Const 9444732965739290427393%Z).
-Notation "'0x2000000000000000001L'" (* 9444732965739290427393 (0x2000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffL'" (* 18889465931478580854783 (0x3ffffffffffffffffffL) *)
- := (Const 18889465931478580854783%Z).
-Notation "'0x3ffffffffffffffffffL'" (* 18889465931478580854783 (0x3ffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000L'" (* 18889465931478580854784 (0x4000000000000000000L) *)
- := (Const 18889465931478580854784%Z).
-Notation "'0x4000000000000000000L'" (* 18889465931478580854784 (0x4000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000001L'" (* 18889465931478580854785 (0x4000000000000000001L) *)
- := (Const 18889465931478580854785%Z).
-Notation "'0x4000000000000000001L'" (* 18889465931478580854785 (0x4000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffL'" (* 37778931862957161709567 (0x7ffffffffffffffffffL) *)
- := (Const 37778931862957161709567%Z).
-Notation "'0x7ffffffffffffffffffL'" (* 37778931862957161709567 (0x7ffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000L'" (* 37778931862957161709568 (0x8000000000000000000L) *)
- := (Const 37778931862957161709568%Z).
-Notation "'0x8000000000000000000L'" (* 37778931862957161709568 (0x8000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000001L'" (* 37778931862957161709569 (0x8000000000000000001L) *)
- := (Const 37778931862957161709569%Z).
-Notation "'0x8000000000000000001L'" (* 37778931862957161709569 (0x8000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffL'" (* 75557863725914323419135 (0xfffffffffffffffffffL) *)
- := (Const 75557863725914323419135%Z).
-Notation "'0xfffffffffffffffffffL'" (* 75557863725914323419135 (0xfffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000L'" (* 75557863725914323419136 (0x10000000000000000000L) *)
- := (Const 75557863725914323419136%Z).
-Notation "'0x10000000000000000000L'" (* 75557863725914323419136 (0x10000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000001L'" (* 75557863725914323419137 (0x10000000000000000001L) *)
- := (Const 75557863725914323419137%Z).
-Notation "'0x10000000000000000001L'" (* 75557863725914323419137 (0x10000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffL'" (* 151115727451828646838271 (0x1fffffffffffffffffffL) *)
- := (Const 151115727451828646838271%Z).
-Notation "'0x1fffffffffffffffffffL'" (* 151115727451828646838271 (0x1fffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000L'" (* 151115727451828646838272 (0x20000000000000000000L) *)
- := (Const 151115727451828646838272%Z).
-Notation "'0x20000000000000000000L'" (* 151115727451828646838272 (0x20000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000001L'" (* 151115727451828646838273 (0x20000000000000000001L) *)
- := (Const 151115727451828646838273%Z).
-Notation "'0x20000000000000000001L'" (* 151115727451828646838273 (0x20000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffL'" (* 302231454903657293676543 (0x3fffffffffffffffffffL) *)
- := (Const 302231454903657293676543%Z).
-Notation "'0x3fffffffffffffffffffL'" (* 302231454903657293676543 (0x3fffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000L'" (* 302231454903657293676544 (0x40000000000000000000L) *)
- := (Const 302231454903657293676544%Z).
-Notation "'0x40000000000000000000L'" (* 302231454903657293676544 (0x40000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000001L'" (* 302231454903657293676545 (0x40000000000000000001L) *)
- := (Const 302231454903657293676545%Z).
-Notation "'0x40000000000000000001L'" (* 302231454903657293676545 (0x40000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffL'" (* 604462909807314587353087 (0x7fffffffffffffffffffL) *)
- := (Const 604462909807314587353087%Z).
-Notation "'0x7fffffffffffffffffffL'" (* 604462909807314587353087 (0x7fffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000L'" (* 604462909807314587353088 (0x80000000000000000000L) *)
- := (Const 604462909807314587353088%Z).
-Notation "'0x80000000000000000000L'" (* 604462909807314587353088 (0x80000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000001L'" (* 604462909807314587353089 (0x80000000000000000001L) *)
- := (Const 604462909807314587353089%Z).
-Notation "'0x80000000000000000001L'" (* 604462909807314587353089 (0x80000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffL'" (* 1208925819614629174706175 (0xffffffffffffffffffffL) *)
- := (Const 1208925819614629174706175%Z).
-Notation "'0xffffffffffffffffffffL'" (* 1208925819614629174706175 (0xffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000L'" (* 1208925819614629174706176 (0x100000000000000000000L) *)
- := (Const 1208925819614629174706176%Z).
-Notation "'0x100000000000000000000L'" (* 1208925819614629174706176 (0x100000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000001L'" (* 1208925819614629174706177 (0x100000000000000000001L) *)
- := (Const 1208925819614629174706177%Z).
-Notation "'0x100000000000000000001L'" (* 1208925819614629174706177 (0x100000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffL'" (* 2417851639229258349412351 (0x1ffffffffffffffffffffL) *)
- := (Const 2417851639229258349412351%Z).
-Notation "'0x1ffffffffffffffffffffL'" (* 2417851639229258349412351 (0x1ffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000L'" (* 2417851639229258349412352 (0x200000000000000000000L) *)
- := (Const 2417851639229258349412352%Z).
-Notation "'0x200000000000000000000L'" (* 2417851639229258349412352 (0x200000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000001L'" (* 2417851639229258349412353 (0x200000000000000000001L) *)
- := (Const 2417851639229258349412353%Z).
-Notation "'0x200000000000000000001L'" (* 2417851639229258349412353 (0x200000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffL'" (* 4835703278458516698824703 (0x3ffffffffffffffffffffL) *)
- := (Const 4835703278458516698824703%Z).
-Notation "'0x3ffffffffffffffffffffL'" (* 4835703278458516698824703 (0x3ffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000L'" (* 4835703278458516698824704 (0x400000000000000000000L) *)
- := (Const 4835703278458516698824704%Z).
-Notation "'0x400000000000000000000L'" (* 4835703278458516698824704 (0x400000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000001L'" (* 4835703278458516698824705 (0x400000000000000000001L) *)
- := (Const 4835703278458516698824705%Z).
-Notation "'0x400000000000000000001L'" (* 4835703278458516698824705 (0x400000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffL'" (* 9671406556917033397649407 (0x7ffffffffffffffffffffL) *)
- := (Const 9671406556917033397649407%Z).
-Notation "'0x7ffffffffffffffffffffL'" (* 9671406556917033397649407 (0x7ffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000L'" (* 9671406556917033397649408 (0x800000000000000000000L) *)
- := (Const 9671406556917033397649408%Z).
-Notation "'0x800000000000000000000L'" (* 9671406556917033397649408 (0x800000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000001L'" (* 9671406556917033397649409 (0x800000000000000000001L) *)
- := (Const 9671406556917033397649409%Z).
-Notation "'0x800000000000000000001L'" (* 9671406556917033397649409 (0x800000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffL'" (* 19342813113834066795298815 (0xfffffffffffffffffffffL) *)
- := (Const 19342813113834066795298815%Z).
-Notation "'0xfffffffffffffffffffffL'" (* 19342813113834066795298815 (0xfffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000L'" (* 19342813113834066795298816 (0x1000000000000000000000L) *)
- := (Const 19342813113834066795298816%Z).
-Notation "'0x1000000000000000000000L'" (* 19342813113834066795298816 (0x1000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000001L'" (* 19342813113834066795298817 (0x1000000000000000000001L) *)
- := (Const 19342813113834066795298817%Z).
-Notation "'0x1000000000000000000001L'" (* 19342813113834066795298817 (0x1000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffL'" (* 38685626227668133590597631 (0x1fffffffffffffffffffffL) *)
- := (Const 38685626227668133590597631%Z).
-Notation "'0x1fffffffffffffffffffffL'" (* 38685626227668133590597631 (0x1fffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000L'" (* 38685626227668133590597632 (0x2000000000000000000000L) *)
- := (Const 38685626227668133590597632%Z).
-Notation "'0x2000000000000000000000L'" (* 38685626227668133590597632 (0x2000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000001L'" (* 38685626227668133590597633 (0x2000000000000000000001L) *)
- := (Const 38685626227668133590597633%Z).
-Notation "'0x2000000000000000000001L'" (* 38685626227668133590597633 (0x2000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffff6L'" (* 77371252455336267181195254 (0x3ffffffffffffffffffff6L) *)
- := (Const 77371252455336267181195254%Z).
-Notation "'0x3ffffffffffffffffffff6L'" (* 77371252455336267181195254 (0x3ffffffffffffffffffff6L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~1~1~0).
-Notation "'0x3ffffffffffffffffffffeL'" (* 77371252455336267181195262 (0x3ffffffffffffffffffffeL) *)
- := (Const 77371252455336267181195262%Z).
-Notation "'0x3ffffffffffffffffffffeL'" (* 77371252455336267181195262 (0x3ffffffffffffffffffffeL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0).
-Notation "'0x3fffffffffffffffffffffL'" (* 77371252455336267181195263 (0x3fffffffffffffffffffffL) *)
- := (Const 77371252455336267181195263%Z).
-Notation "'0x3fffffffffffffffffffffL'" (* 77371252455336267181195263 (0x3fffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000L'" (* 77371252455336267181195264 (0x4000000000000000000000L) *)
- := (Const 77371252455336267181195264%Z).
-Notation "'0x4000000000000000000000L'" (* 77371252455336267181195264 (0x4000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000001L'" (* 77371252455336267181195265 (0x4000000000000000000001L) *)
- := (Const 77371252455336267181195265%Z).
-Notation "'0x4000000000000000000001L'" (* 77371252455336267181195265 (0x4000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffL'" (* 154742504910672534362390527 (0x7fffffffffffffffffffffL) *)
- := (Const 154742504910672534362390527%Z).
-Notation "'0x7fffffffffffffffffffffL'" (* 154742504910672534362390527 (0x7fffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000L'" (* 154742504910672534362390528 (0x8000000000000000000000L) *)
- := (Const 154742504910672534362390528%Z).
-Notation "'0x8000000000000000000000L'" (* 154742504910672534362390528 (0x8000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000001L'" (* 154742504910672534362390529 (0x8000000000000000000001L) *)
- := (Const 154742504910672534362390529%Z).
-Notation "'0x8000000000000000000001L'" (* 154742504910672534362390529 (0x8000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffL'" (* 309485009821345068724781055 (0xffffffffffffffffffffffL) *)
- := (Const 309485009821345068724781055%Z).
-Notation "'0xffffffffffffffffffffffL'" (* 309485009821345068724781055 (0xffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000L'" (* 309485009821345068724781056 (0x10000000000000000000000L) *)
- := (Const 309485009821345068724781056%Z).
-Notation "'0x10000000000000000000000L'" (* 309485009821345068724781056 (0x10000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000001L'" (* 309485009821345068724781057 (0x10000000000000000000001L) *)
- := (Const 309485009821345068724781057%Z).
-Notation "'0x10000000000000000000001L'" (* 309485009821345068724781057 (0x10000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffL'" (* 618970019642690137449562111 (0x1ffffffffffffffffffffffL) *)
- := (Const 618970019642690137449562111%Z).
-Notation "'0x1ffffffffffffffffffffffL'" (* 618970019642690137449562111 (0x1ffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000L'" (* 618970019642690137449562112 (0x20000000000000000000000L) *)
- := (Const 618970019642690137449562112%Z).
-Notation "'0x20000000000000000000000L'" (* 618970019642690137449562112 (0x20000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000001L'" (* 618970019642690137449562113 (0x20000000000000000000001L) *)
- := (Const 618970019642690137449562113%Z).
-Notation "'0x20000000000000000000001L'" (* 618970019642690137449562113 (0x20000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffL'" (* 1237940039285380274899124223 (0x3ffffffffffffffffffffffL) *)
- := (Const 1237940039285380274899124223%Z).
-Notation "'0x3ffffffffffffffffffffffL'" (* 1237940039285380274899124223 (0x3ffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000L'" (* 1237940039285380274899124224 (0x40000000000000000000000L) *)
- := (Const 1237940039285380274899124224%Z).
-Notation "'0x40000000000000000000000L'" (* 1237940039285380274899124224 (0x40000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000001L'" (* 1237940039285380274899124225 (0x40000000000000000000001L) *)
- := (Const 1237940039285380274899124225%Z).
-Notation "'0x40000000000000000000001L'" (* 1237940039285380274899124225 (0x40000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffL'" (* 2475880078570760549798248447 (0x7ffffffffffffffffffffffL) *)
- := (Const 2475880078570760549798248447%Z).
-Notation "'0x7ffffffffffffffffffffffL'" (* 2475880078570760549798248447 (0x7ffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000L'" (* 2475880078570760549798248448 (0x80000000000000000000000L) *)
- := (Const 2475880078570760549798248448%Z).
-Notation "'0x80000000000000000000000L'" (* 2475880078570760549798248448 (0x80000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000001L'" (* 2475880078570760549798248449 (0x80000000000000000000001L) *)
- := (Const 2475880078570760549798248449%Z).
-Notation "'0x80000000000000000000001L'" (* 2475880078570760549798248449 (0x80000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffL'" (* 4951760157141521099596496895 (0xfffffffffffffffffffffffL) *)
- := (Const 4951760157141521099596496895%Z).
-Notation "'0xfffffffffffffffffffffffL'" (* 4951760157141521099596496895 (0xfffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000L'" (* 4951760157141521099596496896 (0x100000000000000000000000L) *)
- := (Const 4951760157141521099596496896%Z).
-Notation "'0x100000000000000000000000L'" (* 4951760157141521099596496896 (0x100000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000001L'" (* 4951760157141521099596496897 (0x100000000000000000000001L) *)
- := (Const 4951760157141521099596496897%Z).
-Notation "'0x100000000000000000000001L'" (* 4951760157141521099596496897 (0x100000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffL'" (* 9903520314283042199192993791 (0x1fffffffffffffffffffffffL) *)
- := (Const 9903520314283042199192993791%Z).
-Notation "'0x1fffffffffffffffffffffffL'" (* 9903520314283042199192993791 (0x1fffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000L'" (* 9903520314283042199192993792 (0x200000000000000000000000L) *)
- := (Const 9903520314283042199192993792%Z).
-Notation "'0x200000000000000000000000L'" (* 9903520314283042199192993792 (0x200000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000001L'" (* 9903520314283042199192993793 (0x200000000000000000000001L) *)
- := (Const 9903520314283042199192993793%Z).
-Notation "'0x200000000000000000000001L'" (* 9903520314283042199192993793 (0x200000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffL'" (* 19807040628566084398385987583 (0x3fffffffffffffffffffffffL) *)
- := (Const 19807040628566084398385987583%Z).
-Notation "'0x3fffffffffffffffffffffffL'" (* 19807040628566084398385987583 (0x3fffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000L'" (* 19807040628566084398385987584 (0x400000000000000000000000L) *)
- := (Const 19807040628566084398385987584%Z).
-Notation "'0x400000000000000000000000L'" (* 19807040628566084398385987584 (0x400000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000001L'" (* 19807040628566084398385987585 (0x400000000000000000000001L) *)
- := (Const 19807040628566084398385987585%Z).
-Notation "'0x400000000000000000000001L'" (* 19807040628566084398385987585 (0x400000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffL'" (* 39614081257132168796771975167 (0x7fffffffffffffffffffffffL) *)
- := (Const 39614081257132168796771975167%Z).
-Notation "'0x7fffffffffffffffffffffffL'" (* 39614081257132168796771975167 (0x7fffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000L'" (* 39614081257132168796771975168 (0x800000000000000000000000L) *)
- := (Const 39614081257132168796771975168%Z).
-Notation "'0x800000000000000000000000L'" (* 39614081257132168796771975168 (0x800000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000001L'" (* 39614081257132168796771975169 (0x800000000000000000000001L) *)
- := (Const 39614081257132168796771975169%Z).
-Notation "'0x800000000000000000000001L'" (* 39614081257132168796771975169 (0x800000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffL'" (* 79228162514264337593543950335 (0xffffffffffffffffffffffffL) *)
- := (Const 79228162514264337593543950335%Z).
-Notation "'0xffffffffffffffffffffffffL'" (* 79228162514264337593543950335 (0xffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000L'" (* 79228162514264337593543950336 (0x1000000000000000000000000L) *)
- := (Const 79228162514264337593543950336%Z).
-Notation "'0x1000000000000000000000000L'" (* 79228162514264337593543950336 (0x1000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000001L'" (* 79228162514264337593543950337 (0x1000000000000000000000001L) *)
- := (Const 79228162514264337593543950337%Z).
-Notation "'0x1000000000000000000000001L'" (* 79228162514264337593543950337 (0x1000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffL'" (* 158456325028528675187087900671 (0x1ffffffffffffffffffffffffL) *)
- := (Const 158456325028528675187087900671%Z).
-Notation "'0x1ffffffffffffffffffffffffL'" (* 158456325028528675187087900671 (0x1ffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000L'" (* 158456325028528675187087900672 (0x2000000000000000000000000L) *)
- := (Const 158456325028528675187087900672%Z).
-Notation "'0x2000000000000000000000000L'" (* 158456325028528675187087900672 (0x2000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000001L'" (* 158456325028528675187087900673 (0x2000000000000000000000001L) *)
- := (Const 158456325028528675187087900673%Z).
-Notation "'0x2000000000000000000000001L'" (* 158456325028528675187087900673 (0x2000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffL'" (* 316912650057057350374175801343 (0x3ffffffffffffffffffffffffL) *)
- := (Const 316912650057057350374175801343%Z).
-Notation "'0x3ffffffffffffffffffffffffL'" (* 316912650057057350374175801343 (0x3ffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000L'" (* 316912650057057350374175801344 (0x4000000000000000000000000L) *)
- := (Const 316912650057057350374175801344%Z).
-Notation "'0x4000000000000000000000000L'" (* 316912650057057350374175801344 (0x4000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000001L'" (* 316912650057057350374175801345 (0x4000000000000000000000001L) *)
- := (Const 316912650057057350374175801345%Z).
-Notation "'0x4000000000000000000000001L'" (* 316912650057057350374175801345 (0x4000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffL'" (* 633825300114114700748351602687 (0x7ffffffffffffffffffffffffL) *)
- := (Const 633825300114114700748351602687%Z).
-Notation "'0x7ffffffffffffffffffffffffL'" (* 633825300114114700748351602687 (0x7ffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000L'" (* 633825300114114700748351602688 (0x8000000000000000000000000L) *)
- := (Const 633825300114114700748351602688%Z).
-Notation "'0x8000000000000000000000000L'" (* 633825300114114700748351602688 (0x8000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000001L'" (* 633825300114114700748351602689 (0x8000000000000000000000001L) *)
- := (Const 633825300114114700748351602689%Z).
-Notation "'0x8000000000000000000000001L'" (* 633825300114114700748351602689 (0x8000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffL'" (* 1267650600228229401496703205375 (0xfffffffffffffffffffffffffL) *)
- := (Const 1267650600228229401496703205375%Z).
-Notation "'0xfffffffffffffffffffffffffL'" (* 1267650600228229401496703205375 (0xfffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000L'" (* 1267650600228229401496703205376 (0x10000000000000000000000000L) *)
- := (Const 1267650600228229401496703205376%Z).
-Notation "'0x10000000000000000000000000L'" (* 1267650600228229401496703205376 (0x10000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000001L'" (* 1267650600228229401496703205377 (0x10000000000000000000000001L) *)
- := (Const 1267650600228229401496703205377%Z).
-Notation "'0x10000000000000000000000001L'" (* 1267650600228229401496703205377 (0x10000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffL'" (* 2535301200456458802993406410751 (0x1fffffffffffffffffffffffffL) *)
- := (Const 2535301200456458802993406410751%Z).
-Notation "'0x1fffffffffffffffffffffffffL'" (* 2535301200456458802993406410751 (0x1fffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000L'" (* 2535301200456458802993406410752 (0x20000000000000000000000000L) *)
- := (Const 2535301200456458802993406410752%Z).
-Notation "'0x20000000000000000000000000L'" (* 2535301200456458802993406410752 (0x20000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000001L'" (* 2535301200456458802993406410753 (0x20000000000000000000000001L) *)
- := (Const 2535301200456458802993406410753%Z).
-Notation "'0x20000000000000000000000001L'" (* 2535301200456458802993406410753 (0x20000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffL'" (* 5070602400912917605986812821503 (0x3fffffffffffffffffffffffffL) *)
- := (Const 5070602400912917605986812821503%Z).
-Notation "'0x3fffffffffffffffffffffffffL'" (* 5070602400912917605986812821503 (0x3fffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000L'" (* 5070602400912917605986812821504 (0x40000000000000000000000000L) *)
- := (Const 5070602400912917605986812821504%Z).
-Notation "'0x40000000000000000000000000L'" (* 5070602400912917605986812821504 (0x40000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000001L'" (* 5070602400912917605986812821505 (0x40000000000000000000000001L) *)
- := (Const 5070602400912917605986812821505%Z).
-Notation "'0x40000000000000000000000001L'" (* 5070602400912917605986812821505 (0x40000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffL'" (* 10141204801825835211973625643007 (0x7fffffffffffffffffffffffffL) *)
- := (Const 10141204801825835211973625643007%Z).
-Notation "'0x7fffffffffffffffffffffffffL'" (* 10141204801825835211973625643007 (0x7fffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000L'" (* 10141204801825835211973625643008 (0x80000000000000000000000000L) *)
- := (Const 10141204801825835211973625643008%Z).
-Notation "'0x80000000000000000000000000L'" (* 10141204801825835211973625643008 (0x80000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000001L'" (* 10141204801825835211973625643009 (0x80000000000000000000000001L) *)
- := (Const 10141204801825835211973625643009%Z).
-Notation "'0x80000000000000000000000001L'" (* 10141204801825835211973625643009 (0x80000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffL'" (* 20282409603651670423947251286015 (0xffffffffffffffffffffffffffL) *)
- := (Const 20282409603651670423947251286015%Z).
-Notation "'0xffffffffffffffffffffffffffL'" (* 20282409603651670423947251286015 (0xffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000L'" (* 20282409603651670423947251286016 (0x100000000000000000000000000L) *)
- := (Const 20282409603651670423947251286016%Z).
-Notation "'0x100000000000000000000000000L'" (* 20282409603651670423947251286016 (0x100000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000001L'" (* 20282409603651670423947251286017 (0x100000000000000000000000001L) *)
- := (Const 20282409603651670423947251286017%Z).
-Notation "'0x100000000000000000000000001L'" (* 20282409603651670423947251286017 (0x100000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffL'" (* 40564819207303340847894502572031 (0x1ffffffffffffffffffffffffffL) *)
- := (Const 40564819207303340847894502572031%Z).
-Notation "'0x1ffffffffffffffffffffffffffL'" (* 40564819207303340847894502572031 (0x1ffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000L'" (* 40564819207303340847894502572032 (0x200000000000000000000000000L) *)
- := (Const 40564819207303340847894502572032%Z).
-Notation "'0x200000000000000000000000000L'" (* 40564819207303340847894502572032 (0x200000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000001L'" (* 40564819207303340847894502572033 (0x200000000000000000000000001L) *)
- := (Const 40564819207303340847894502572033%Z).
-Notation "'0x200000000000000000000000001L'" (* 40564819207303340847894502572033 (0x200000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffL'" (* 81129638414606681695789005144063 (0x3ffffffffffffffffffffffffffL) *)
- := (Const 81129638414606681695789005144063%Z).
-Notation "'0x3ffffffffffffffffffffffffffL'" (* 81129638414606681695789005144063 (0x3ffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000L'" (* 81129638414606681695789005144064 (0x400000000000000000000000000L) *)
- := (Const 81129638414606681695789005144064%Z).
-Notation "'0x400000000000000000000000000L'" (* 81129638414606681695789005144064 (0x400000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000001L'" (* 81129638414606681695789005144065 (0x400000000000000000000000001L) *)
- := (Const 81129638414606681695789005144065%Z).
-Notation "'0x400000000000000000000000001L'" (* 81129638414606681695789005144065 (0x400000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffL'" (* 162259276829213363391578010288127 (0x7ffffffffffffffffffffffffffL) *)
- := (Const 162259276829213363391578010288127%Z).
-Notation "'0x7ffffffffffffffffffffffffffL'" (* 162259276829213363391578010288127 (0x7ffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000L'" (* 162259276829213363391578010288128 (0x800000000000000000000000000L) *)
- := (Const 162259276829213363391578010288128%Z).
-Notation "'0x800000000000000000000000000L'" (* 162259276829213363391578010288128 (0x800000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000001L'" (* 162259276829213363391578010288129 (0x800000000000000000000000001L) *)
- := (Const 162259276829213363391578010288129%Z).
-Notation "'0x800000000000000000000000001L'" (* 162259276829213363391578010288129 (0x800000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffL'" (* 324518553658426726783156020576255 (0xfffffffffffffffffffffffffffL) *)
- := (Const 324518553658426726783156020576255%Z).
-Notation "'0xfffffffffffffffffffffffffffL'" (* 324518553658426726783156020576255 (0xfffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000L'" (* 324518553658426726783156020576256 (0x1000000000000000000000000000L) *)
- := (Const 324518553658426726783156020576256%Z).
-Notation "'0x1000000000000000000000000000L'" (* 324518553658426726783156020576256 (0x1000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000001L'" (* 324518553658426726783156020576257 (0x1000000000000000000000000001L) *)
- := (Const 324518553658426726783156020576257%Z).
-Notation "'0x1000000000000000000000000001L'" (* 324518553658426726783156020576257 (0x1000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffL'" (* 649037107316853453566312041152511 (0x1fffffffffffffffffffffffffffL) *)
- := (Const 649037107316853453566312041152511%Z).
-Notation "'0x1fffffffffffffffffffffffffffL'" (* 649037107316853453566312041152511 (0x1fffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000L'" (* 649037107316853453566312041152512 (0x2000000000000000000000000000L) *)
- := (Const 649037107316853453566312041152512%Z).
-Notation "'0x2000000000000000000000000000L'" (* 649037107316853453566312041152512 (0x2000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000001L'" (* 649037107316853453566312041152513 (0x2000000000000000000000000001L) *)
- := (Const 649037107316853453566312041152513%Z).
-Notation "'0x2000000000000000000000000001L'" (* 649037107316853453566312041152513 (0x2000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffL'" (* 1298074214633706907132624082305023 (0x3fffffffffffffffffffffffffffL) *)
- := (Const 1298074214633706907132624082305023%Z).
-Notation "'0x3fffffffffffffffffffffffffffL'" (* 1298074214633706907132624082305023 (0x3fffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000L'" (* 1298074214633706907132624082305024 (0x4000000000000000000000000000L) *)
- := (Const 1298074214633706907132624082305024%Z).
-Notation "'0x4000000000000000000000000000L'" (* 1298074214633706907132624082305024 (0x4000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000001L'" (* 1298074214633706907132624082305025 (0x4000000000000000000000000001L) *)
- := (Const 1298074214633706907132624082305025%Z).
-Notation "'0x4000000000000000000000000001L'" (* 1298074214633706907132624082305025 (0x4000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffL'" (* 2596148429267413814265248164610047 (0x7fffffffffffffffffffffffffffL) *)
- := (Const 2596148429267413814265248164610047%Z).
-Notation "'0x7fffffffffffffffffffffffffffL'" (* 2596148429267413814265248164610047 (0x7fffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000L'" (* 2596148429267413814265248164610048 (0x8000000000000000000000000000L) *)
- := (Const 2596148429267413814265248164610048%Z).
-Notation "'0x8000000000000000000000000000L'" (* 2596148429267413814265248164610048 (0x8000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000001L'" (* 2596148429267413814265248164610049 (0x8000000000000000000000000001L) *)
- := (Const 2596148429267413814265248164610049%Z).
-Notation "'0x8000000000000000000000000001L'" (* 2596148429267413814265248164610049 (0x8000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffL'" (* 5192296858534827628530496329220095 (0xffffffffffffffffffffffffffffL) *)
- := (Const 5192296858534827628530496329220095%Z).
-Notation "'0xffffffffffffffffffffffffffffL'" (* 5192296858534827628530496329220095 (0xffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000L'" (* 5192296858534827628530496329220096 (0x10000000000000000000000000000L) *)
- := (Const 5192296858534827628530496329220096%Z).
-Notation "'0x10000000000000000000000000000L'" (* 5192296858534827628530496329220096 (0x10000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000001L'" (* 5192296858534827628530496329220097 (0x10000000000000000000000000001L) *)
- := (Const 5192296858534827628530496329220097%Z).
-Notation "'0x10000000000000000000000000001L'" (* 5192296858534827628530496329220097 (0x10000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffL'" (* 10384593717069655257060992658440191 (0x1ffffffffffffffffffffffffffffL) *)
- := (Const 10384593717069655257060992658440191%Z).
-Notation "'0x1ffffffffffffffffffffffffffffL'" (* 10384593717069655257060992658440191 (0x1ffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000L'" (* 10384593717069655257060992658440192 (0x20000000000000000000000000000L) *)
- := (Const 10384593717069655257060992658440192%Z).
-Notation "'0x20000000000000000000000000000L'" (* 10384593717069655257060992658440192 (0x20000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000001L'" (* 10384593717069655257060992658440193 (0x20000000000000000000000000001L) *)
- := (Const 10384593717069655257060992658440193%Z).
-Notation "'0x20000000000000000000000000001L'" (* 10384593717069655257060992658440193 (0x20000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffL'" (* 20769187434139310514121985316880383 (0x3ffffffffffffffffffffffffffffL) *)
- := (Const 20769187434139310514121985316880383%Z).
-Notation "'0x3ffffffffffffffffffffffffffffL'" (* 20769187434139310514121985316880383 (0x3ffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000L'" (* 20769187434139310514121985316880384 (0x40000000000000000000000000000L) *)
- := (Const 20769187434139310514121985316880384%Z).
-Notation "'0x40000000000000000000000000000L'" (* 20769187434139310514121985316880384 (0x40000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000001L'" (* 20769187434139310514121985316880385 (0x40000000000000000000000000001L) *)
- := (Const 20769187434139310514121985316880385%Z).
-Notation "'0x40000000000000000000000000001L'" (* 20769187434139310514121985316880385 (0x40000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffL'" (* 41538374868278621028243970633760767 (0x7ffffffffffffffffffffffffffffL) *)
- := (Const 41538374868278621028243970633760767%Z).
-Notation "'0x7ffffffffffffffffffffffffffffL'" (* 41538374868278621028243970633760767 (0x7ffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000L'" (* 41538374868278621028243970633760768 (0x80000000000000000000000000000L) *)
- := (Const 41538374868278621028243970633760768%Z).
-Notation "'0x80000000000000000000000000000L'" (* 41538374868278621028243970633760768 (0x80000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000001L'" (* 41538374868278621028243970633760769 (0x80000000000000000000000000001L) *)
- := (Const 41538374868278621028243970633760769%Z).
-Notation "'0x80000000000000000000000000001L'" (* 41538374868278621028243970633760769 (0x80000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffL'" (* 83076749736557242056487941267521535 (0xfffffffffffffffffffffffffffffL) *)
- := (Const 83076749736557242056487941267521535%Z).
-Notation "'0xfffffffffffffffffffffffffffffL'" (* 83076749736557242056487941267521535 (0xfffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000L'" (* 83076749736557242056487941267521536 (0x100000000000000000000000000000L) *)
- := (Const 83076749736557242056487941267521536%Z).
-Notation "'0x100000000000000000000000000000L'" (* 83076749736557242056487941267521536 (0x100000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000001L'" (* 83076749736557242056487941267521537 (0x100000000000000000000000000001L) *)
- := (Const 83076749736557242056487941267521537%Z).
-Notation "'0x100000000000000000000000000001L'" (* 83076749736557242056487941267521537 (0x100000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffL'" (* 166153499473114484112975882535043071 (0x1fffffffffffffffffffffffffffffL) *)
- := (Const 166153499473114484112975882535043071%Z).
-Notation "'0x1fffffffffffffffffffffffffffffL'" (* 166153499473114484112975882535043071 (0x1fffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000L'" (* 166153499473114484112975882535043072 (0x200000000000000000000000000000L) *)
- := (Const 166153499473114484112975882535043072%Z).
-Notation "'0x200000000000000000000000000000L'" (* 166153499473114484112975882535043072 (0x200000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000001L'" (* 166153499473114484112975882535043073 (0x200000000000000000000000000001L) *)
- := (Const 166153499473114484112975882535043073%Z).
-Notation "'0x200000000000000000000000000001L'" (* 166153499473114484112975882535043073 (0x200000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffL'" (* 332306998946228968225951765070086143 (0x3fffffffffffffffffffffffffffffL) *)
- := (Const 332306998946228968225951765070086143%Z).
-Notation "'0x3fffffffffffffffffffffffffffffL'" (* 332306998946228968225951765070086143 (0x3fffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000L'" (* 332306998946228968225951765070086144 (0x400000000000000000000000000000L) *)
- := (Const 332306998946228968225951765070086144%Z).
-Notation "'0x400000000000000000000000000000L'" (* 332306998946228968225951765070086144 (0x400000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000001L'" (* 332306998946228968225951765070086145 (0x400000000000000000000000000001L) *)
- := (Const 332306998946228968225951765070086145%Z).
-Notation "'0x400000000000000000000000000001L'" (* 332306998946228968225951765070086145 (0x400000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffL'" (* 664613997892457936451903530140172287 (0x7fffffffffffffffffffffffffffffL) *)
- := (Const 664613997892457936451903530140172287%Z).
-Notation "'0x7fffffffffffffffffffffffffffffL'" (* 664613997892457936451903530140172287 (0x7fffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000L'" (* 664613997892457936451903530140172288 (0x800000000000000000000000000000L) *)
- := (Const 664613997892457936451903530140172288%Z).
-Notation "'0x800000000000000000000000000000L'" (* 664613997892457936451903530140172288 (0x800000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000001L'" (* 664613997892457936451903530140172289 (0x800000000000000000000000000001L) *)
- := (Const 664613997892457936451903530140172289%Z).
-Notation "'0x800000000000000000000000000001L'" (* 664613997892457936451903530140172289 (0x800000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffL'" (* 1329227995784915872903807060280344575 (0xffffffffffffffffffffffffffffffL) *)
- := (Const 1329227995784915872903807060280344575%Z).
-Notation "'0xffffffffffffffffffffffffffffffL'" (* 1329227995784915872903807060280344575 (0xffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000L'" (* 1329227995784915872903807060280344576 (0x1000000000000000000000000000000L) *)
- := (Const 1329227995784915872903807060280344576%Z).
-Notation "'0x1000000000000000000000000000000L'" (* 1329227995784915872903807060280344576 (0x1000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000001L'" (* 1329227995784915872903807060280344577 (0x1000000000000000000000000000001L) *)
- := (Const 1329227995784915872903807060280344577%Z).
-Notation "'0x1000000000000000000000000000001L'" (* 1329227995784915872903807060280344577 (0x1000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffL'" (* 2658455991569831745807614120560689151 (0x1ffffffffffffffffffffffffffffffL) *)
- := (Const 2658455991569831745807614120560689151%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffL'" (* 2658455991569831745807614120560689151 (0x1ffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000L'" (* 2658455991569831745807614120560689152 (0x2000000000000000000000000000000L) *)
- := (Const 2658455991569831745807614120560689152%Z).
-Notation "'0x2000000000000000000000000000000L'" (* 2658455991569831745807614120560689152 (0x2000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000001L'" (* 2658455991569831745807614120560689153 (0x2000000000000000000000000000001L) *)
- := (Const 2658455991569831745807614120560689153%Z).
-Notation "'0x2000000000000000000000000000001L'" (* 2658455991569831745807614120560689153 (0x2000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffL'" (* 5316911983139663491615228241121378303 (0x3ffffffffffffffffffffffffffffffL) *)
- := (Const 5316911983139663491615228241121378303%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffL'" (* 5316911983139663491615228241121378303 (0x3ffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000L'" (* 5316911983139663491615228241121378304 (0x4000000000000000000000000000000L) *)
- := (Const 5316911983139663491615228241121378304%Z).
-Notation "'0x4000000000000000000000000000000L'" (* 5316911983139663491615228241121378304 (0x4000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000001L'" (* 5316911983139663491615228241121378305 (0x4000000000000000000000000000001L) *)
- := (Const 5316911983139663491615228241121378305%Z).
-Notation "'0x4000000000000000000000000000001L'" (* 5316911983139663491615228241121378305 (0x4000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffL'" (* 10633823966279326983230456482242756607 (0x7ffffffffffffffffffffffffffffffL) *)
- := (Const 10633823966279326983230456482242756607%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffL'" (* 10633823966279326983230456482242756607 (0x7ffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000L'" (* 10633823966279326983230456482242756608 (0x8000000000000000000000000000000L) *)
- := (Const 10633823966279326983230456482242756608%Z).
-Notation "'0x8000000000000000000000000000000L'" (* 10633823966279326983230456482242756608 (0x8000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000001L'" (* 10633823966279326983230456482242756609 (0x8000000000000000000000000000001L) *)
- := (Const 10633823966279326983230456482242756609%Z).
-Notation "'0x8000000000000000000000000000001L'" (* 10633823966279326983230456482242756609 (0x8000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffL'" (* 21267647932558653966460912964485513215 (0xfffffffffffffffffffffffffffffffL) *)
- := (Const 21267647932558653966460912964485513215%Z).
-Notation "'0xfffffffffffffffffffffffffffffffL'" (* 21267647932558653966460912964485513215 (0xfffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000L'" (* 21267647932558653966460912964485513216 (0x10000000000000000000000000000000L) *)
- := (Const 21267647932558653966460912964485513216%Z).
-Notation "'0x10000000000000000000000000000000L'" (* 21267647932558653966460912964485513216 (0x10000000000000000000000000000000L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000001L'" (* 21267647932558653966460912964485513217 (0x10000000000000000000000000000001L) *)
- := (Const 21267647932558653966460912964485513217%Z).
-Notation "'0x10000000000000000000000000000001L'" (* 21267647932558653966460912964485513217 (0x10000000000000000000000000000001L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffL'" (* 42535295865117307932921825928971026431 (0x1fffffffffffffffffffffffffffffffL) *)
- := (Const 42535295865117307932921825928971026431%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffL'" (* 42535295865117307932921825928971026431 (0x1fffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000L'" (* 42535295865117307932921825928971026432 (0x20000000000000000000000000000000L) *)
- := (Const 42535295865117307932921825928971026432%Z).
-Notation "'0x20000000000000000000000000000000L'" (* 42535295865117307932921825928971026432 (0x20000000000000000000000000000000L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000001L'" (* 42535295865117307932921825928971026433 (0x20000000000000000000000000000001L) *)
- := (Const 42535295865117307932921825928971026433%Z).
-Notation "'0x20000000000000000000000000000001L'" (* 42535295865117307932921825928971026433 (0x20000000000000000000000000000001L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffL'" (* 85070591730234615865843651857942052863 (0x3fffffffffffffffffffffffffffffffL) *)
- := (Const 85070591730234615865843651857942052863%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffL'" (* 85070591730234615865843651857942052863 (0x3fffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000L'" (* 85070591730234615865843651857942052864 (0x40000000000000000000000000000000L) *)
- := (Const 85070591730234615865843651857942052864%Z).
-Notation "'0x40000000000000000000000000000000L'" (* 85070591730234615865843651857942052864 (0x40000000000000000000000000000000L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000001L'" (* 85070591730234615865843651857942052865 (0x40000000000000000000000000000001L) *)
- := (Const 85070591730234615865843651857942052865%Z).
-Notation "'0x40000000000000000000000000000001L'" (* 85070591730234615865843651857942052865 (0x40000000000000000000000000000001L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffL'" (* 170141183460469231731687303715884105727 (0x7fffffffffffffffffffffffffffffffL) *)
- := (Const 170141183460469231731687303715884105727%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffL'" (* 170141183460469231731687303715884105727 (0x7fffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000L'" (* 170141183460469231731687303715884105728 (0x80000000000000000000000000000000L) *)
- := (Const 170141183460469231731687303715884105728%Z).
-Notation "'0x80000000000000000000000000000000L'" (* 170141183460469231731687303715884105728 (0x80000000000000000000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000001L'" (* 170141183460469231731687303715884105729 (0x80000000000000000000000000000001L) *)
- := (Const 170141183460469231731687303715884105729%Z).
-Notation "'0x80000000000000000000000000000001L'" (* 170141183460469231731687303715884105729 (0x80000000000000000000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffff000000010000000000000000L'" (* 340282366841710300967557013911933812736 (0xffffffff000000010000000000000000L) *)
- := (Const 340282366841710300967557013911933812736%Z).
-Notation "'0xffffffff000000010000000000000000L'" (* 340282366841710300967557013911933812736 (0xffffffff000000010000000000000000L) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0xffffffffffffffffffffffffffffffffL'" (* 340282366920938463463374607431768211455 (0xffffffffffffffffffffffffffffffffL) *)
- := (Const 340282366920938463463374607431768211455%Z).
-Notation "'0xffffffffffffffffffffffffffffffffL'" (* 340282366920938463463374607431768211455 (0xffffffffffffffffffffffffffffffffL) *)
- := (Const WO~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000L'" (* 340282366920938463463374607431768211456 (0x100000000000000000000000000000000L) *)
- := (Const 340282366920938463463374607431768211456%Z).
-Notation "'0x100000000000000000000000000000000L'" (* 340282366920938463463374607431768211456 (0x100000000000000000000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000001L'" (* 340282366920938463463374607431768211457 (0x100000000000000000000000000000001L) *)
- := (Const 340282366920938463463374607431768211457%Z).
-Notation "'0x100000000000000000000000000000001L'" (* 340282366920938463463374607431768211457 (0x100000000000000000000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffL'" (* 680564733841876926926749214863536422911 (0x1ffffffffffffffffffffffffffffffffL) *)
- := (Const 680564733841876926926749214863536422911%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffL'" (* 680564733841876926926749214863536422911 (0x1ffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000L'" (* 680564733841876926926749214863536422912 (0x200000000000000000000000000000000L) *)
- := (Const 680564733841876926926749214863536422912%Z).
-Notation "'0x200000000000000000000000000000000L'" (* 680564733841876926926749214863536422912 (0x200000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000001L'" (* 680564733841876926926749214863536422913 (0x200000000000000000000000000000001L) *)
- := (Const 680564733841876926926749214863536422913%Z).
-Notation "'0x200000000000000000000000000000001L'" (* 680564733841876926926749214863536422913 (0x200000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffL'" (* 1361129467683753853853498429727072845823 (0x3ffffffffffffffffffffffffffffffffL) *)
- := (Const 1361129467683753853853498429727072845823%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffL'" (* 1361129467683753853853498429727072845823 (0x3ffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000L'" (* 1361129467683753853853498429727072845824 (0x400000000000000000000000000000000L) *)
- := (Const 1361129467683753853853498429727072845824%Z).
-Notation "'0x400000000000000000000000000000000L'" (* 1361129467683753853853498429727072845824 (0x400000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000001L'" (* 1361129467683753853853498429727072845825 (0x400000000000000000000000000000001L) *)
- := (Const 1361129467683753853853498429727072845825%Z).
-Notation "'0x400000000000000000000000000000001L'" (* 1361129467683753853853498429727072845825 (0x400000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffL'" (* 2722258935367507707706996859454145691647 (0x7ffffffffffffffffffffffffffffffffL) *)
- := (Const 2722258935367507707706996859454145691647%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffL'" (* 2722258935367507707706996859454145691647 (0x7ffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000L'" (* 2722258935367507707706996859454145691648 (0x800000000000000000000000000000000L) *)
- := (Const 2722258935367507707706996859454145691648%Z).
-Notation "'0x800000000000000000000000000000000L'" (* 2722258935367507707706996859454145691648 (0x800000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000001L'" (* 2722258935367507707706996859454145691649 (0x800000000000000000000000000000001L) *)
- := (Const 2722258935367507707706996859454145691649%Z).
-Notation "'0x800000000000000000000000000000001L'" (* 2722258935367507707706996859454145691649 (0x800000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffL'" (* 5444517870735015415413993718908291383295 (0xfffffffffffffffffffffffffffffffffL) *)
- := (Const 5444517870735015415413993718908291383295%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffL'" (* 5444517870735015415413993718908291383295 (0xfffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000L'" (* 5444517870735015415413993718908291383296 (0x1000000000000000000000000000000000L) *)
- := (Const 5444517870735015415413993718908291383296%Z).
-Notation "'0x1000000000000000000000000000000000L'" (* 5444517870735015415413993718908291383296 (0x1000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000001L'" (* 5444517870735015415413993718908291383297 (0x1000000000000000000000000000000001L) *)
- := (Const 5444517870735015415413993718908291383297%Z).
-Notation "'0x1000000000000000000000000000000001L'" (* 5444517870735015415413993718908291383297 (0x1000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffL'" (* 10889035741470030830827987437816582766591 (0x1fffffffffffffffffffffffffffffffffL) *)
- := (Const 10889035741470030830827987437816582766591%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffL'" (* 10889035741470030830827987437816582766591 (0x1fffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000L'" (* 10889035741470030830827987437816582766592 (0x2000000000000000000000000000000000L) *)
- := (Const 10889035741470030830827987437816582766592%Z).
-Notation "'0x2000000000000000000000000000000000L'" (* 10889035741470030830827987437816582766592 (0x2000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000001L'" (* 10889035741470030830827987437816582766593 (0x2000000000000000000000000000000001L) *)
- := (Const 10889035741470030830827987437816582766593%Z).
-Notation "'0x2000000000000000000000000000000001L'" (* 10889035741470030830827987437816582766593 (0x2000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffL'" (* 21778071482940061661655974875633165533183 (0x3fffffffffffffffffffffffffffffffffL) *)
- := (Const 21778071482940061661655974875633165533183%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffL'" (* 21778071482940061661655974875633165533183 (0x3fffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000L'" (* 21778071482940061661655974875633165533184 (0x4000000000000000000000000000000000L) *)
- := (Const 21778071482940061661655974875633165533184%Z).
-Notation "'0x4000000000000000000000000000000000L'" (* 21778071482940061661655974875633165533184 (0x4000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000001L'" (* 21778071482940061661655974875633165533185 (0x4000000000000000000000000000000001L) *)
- := (Const 21778071482940061661655974875633165533185%Z).
-Notation "'0x4000000000000000000000000000000001L'" (* 21778071482940061661655974875633165533185 (0x4000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffL'" (* 43556142965880123323311949751266331066367 (0x7fffffffffffffffffffffffffffffffffL) *)
- := (Const 43556142965880123323311949751266331066367%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffL'" (* 43556142965880123323311949751266331066367 (0x7fffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000L'" (* 43556142965880123323311949751266331066368 (0x8000000000000000000000000000000000L) *)
- := (Const 43556142965880123323311949751266331066368%Z).
-Notation "'0x8000000000000000000000000000000000L'" (* 43556142965880123323311949751266331066368 (0x8000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000001L'" (* 43556142965880123323311949751266331066369 (0x8000000000000000000000000000000001L) *)
- := (Const 43556142965880123323311949751266331066369%Z).
-Notation "'0x8000000000000000000000000000000001L'" (* 43556142965880123323311949751266331066369 (0x8000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffL'" (* 87112285931760246646623899502532662132735 (0xffffffffffffffffffffffffffffffffffL) *)
- := (Const 87112285931760246646623899502532662132735%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffL'" (* 87112285931760246646623899502532662132735 (0xffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000L'" (* 87112285931760246646623899502532662132736 (0x10000000000000000000000000000000000L) *)
- := (Const 87112285931760246646623899502532662132736%Z).
-Notation "'0x10000000000000000000000000000000000L'" (* 87112285931760246646623899502532662132736 (0x10000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000001L'" (* 87112285931760246646623899502532662132737 (0x10000000000000000000000000000000001L) *)
- := (Const 87112285931760246646623899502532662132737%Z).
-Notation "'0x10000000000000000000000000000000001L'" (* 87112285931760246646623899502532662132737 (0x10000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffL'" (* 174224571863520493293247799005065324265471 (0x1ffffffffffffffffffffffffffffffffffL) *)
- := (Const 174224571863520493293247799005065324265471%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffL'" (* 174224571863520493293247799005065324265471 (0x1ffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000L'" (* 174224571863520493293247799005065324265472 (0x20000000000000000000000000000000000L) *)
- := (Const 174224571863520493293247799005065324265472%Z).
-Notation "'0x20000000000000000000000000000000000L'" (* 174224571863520493293247799005065324265472 (0x20000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000001L'" (* 174224571863520493293247799005065324265473 (0x20000000000000000000000000000000001L) *)
- := (Const 174224571863520493293247799005065324265473%Z).
-Notation "'0x20000000000000000000000000000000001L'" (* 174224571863520493293247799005065324265473 (0x20000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffL'" (* 348449143727040986586495598010130648530943 (0x3ffffffffffffffffffffffffffffffffffL) *)
- := (Const 348449143727040986586495598010130648530943%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffL'" (* 348449143727040986586495598010130648530943 (0x3ffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000L'" (* 348449143727040986586495598010130648530944 (0x40000000000000000000000000000000000L) *)
- := (Const 348449143727040986586495598010130648530944%Z).
-Notation "'0x40000000000000000000000000000000000L'" (* 348449143727040986586495598010130648530944 (0x40000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000001L'" (* 348449143727040986586495598010130648530945 (0x40000000000000000000000000000000001L) *)
- := (Const 348449143727040986586495598010130648530945%Z).
-Notation "'0x40000000000000000000000000000000001L'" (* 348449143727040986586495598010130648530945 (0x40000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffL'" (* 696898287454081973172991196020261297061887 (0x7ffffffffffffffffffffffffffffffffffL) *)
- := (Const 696898287454081973172991196020261297061887%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffL'" (* 696898287454081973172991196020261297061887 (0x7ffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000L'" (* 696898287454081973172991196020261297061888 (0x80000000000000000000000000000000000L) *)
- := (Const 696898287454081973172991196020261297061888%Z).
-Notation "'0x80000000000000000000000000000000000L'" (* 696898287454081973172991196020261297061888 (0x80000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000001L'" (* 696898287454081973172991196020261297061889 (0x80000000000000000000000000000000001L) *)
- := (Const 696898287454081973172991196020261297061889%Z).
-Notation "'0x80000000000000000000000000000000001L'" (* 696898287454081973172991196020261297061889 (0x80000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffL'" (* 1393796574908163946345982392040522594123775 (0xfffffffffffffffffffffffffffffffffffL) *)
- := (Const 1393796574908163946345982392040522594123775%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffL'" (* 1393796574908163946345982392040522594123775 (0xfffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000L'" (* 1393796574908163946345982392040522594123776 (0x100000000000000000000000000000000000L) *)
- := (Const 1393796574908163946345982392040522594123776%Z).
-Notation "'0x100000000000000000000000000000000000L'" (* 1393796574908163946345982392040522594123776 (0x100000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000001L'" (* 1393796574908163946345982392040522594123777 (0x100000000000000000000000000000000001L) *)
- := (Const 1393796574908163946345982392040522594123777%Z).
-Notation "'0x100000000000000000000000000000000001L'" (* 1393796574908163946345982392040522594123777 (0x100000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffL'" (* 2787593149816327892691964784081045188247551 (0x1fffffffffffffffffffffffffffffffffffL) *)
- := (Const 2787593149816327892691964784081045188247551%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffL'" (* 2787593149816327892691964784081045188247551 (0x1fffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000L'" (* 2787593149816327892691964784081045188247552 (0x200000000000000000000000000000000000L) *)
- := (Const 2787593149816327892691964784081045188247552%Z).
-Notation "'0x200000000000000000000000000000000000L'" (* 2787593149816327892691964784081045188247552 (0x200000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000001L'" (* 2787593149816327892691964784081045188247553 (0x200000000000000000000000000000000001L) *)
- := (Const 2787593149816327892691964784081045188247553%Z).
-Notation "'0x200000000000000000000000000000000001L'" (* 2787593149816327892691964784081045188247553 (0x200000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffL'" (* 5575186299632655785383929568162090376495103 (0x3fffffffffffffffffffffffffffffffffffL) *)
- := (Const 5575186299632655785383929568162090376495103%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffL'" (* 5575186299632655785383929568162090376495103 (0x3fffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000L'" (* 5575186299632655785383929568162090376495104 (0x400000000000000000000000000000000000L) *)
- := (Const 5575186299632655785383929568162090376495104%Z).
-Notation "'0x400000000000000000000000000000000000L'" (* 5575186299632655785383929568162090376495104 (0x400000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000001L'" (* 5575186299632655785383929568162090376495105 (0x400000000000000000000000000000000001L) *)
- := (Const 5575186299632655785383929568162090376495105%Z).
-Notation "'0x400000000000000000000000000000000001L'" (* 5575186299632655785383929568162090376495105 (0x400000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffL'" (* 11150372599265311570767859136324180752990207 (0x7fffffffffffffffffffffffffffffffffffL) *)
- := (Const 11150372599265311570767859136324180752990207%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffL'" (* 11150372599265311570767859136324180752990207 (0x7fffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000L'" (* 11150372599265311570767859136324180752990208 (0x800000000000000000000000000000000000L) *)
- := (Const 11150372599265311570767859136324180752990208%Z).
-Notation "'0x800000000000000000000000000000000000L'" (* 11150372599265311570767859136324180752990208 (0x800000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000001L'" (* 11150372599265311570767859136324180752990209 (0x800000000000000000000000000000000001L) *)
- := (Const 11150372599265311570767859136324180752990209%Z).
-Notation "'0x800000000000000000000000000000000001L'" (* 11150372599265311570767859136324180752990209 (0x800000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffL'" (* 22300745198530623141535718272648361505980415 (0xffffffffffffffffffffffffffffffffffffL) *)
- := (Const 22300745198530623141535718272648361505980415%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffL'" (* 22300745198530623141535718272648361505980415 (0xffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000L'" (* 22300745198530623141535718272648361505980416 (0x1000000000000000000000000000000000000L) *)
- := (Const 22300745198530623141535718272648361505980416%Z).
-Notation "'0x1000000000000000000000000000000000000L'" (* 22300745198530623141535718272648361505980416 (0x1000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000001L'" (* 22300745198530623141535718272648361505980417 (0x1000000000000000000000000000000000001L) *)
- := (Const 22300745198530623141535718272648361505980417%Z).
-Notation "'0x1000000000000000000000000000000000001L'" (* 22300745198530623141535718272648361505980417 (0x1000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffL'" (* 44601490397061246283071436545296723011960831 (0x1ffffffffffffffffffffffffffffffffffffL) *)
- := (Const 44601490397061246283071436545296723011960831%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffL'" (* 44601490397061246283071436545296723011960831 (0x1ffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000L'" (* 44601490397061246283071436545296723011960832 (0x2000000000000000000000000000000000000L) *)
- := (Const 44601490397061246283071436545296723011960832%Z).
-Notation "'0x2000000000000000000000000000000000000L'" (* 44601490397061246283071436545296723011960832 (0x2000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000001L'" (* 44601490397061246283071436545296723011960833 (0x2000000000000000000000000000000000001L) *)
- := (Const 44601490397061246283071436545296723011960833%Z).
-Notation "'0x2000000000000000000000000000000000001L'" (* 44601490397061246283071436545296723011960833 (0x2000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffL'" (* 89202980794122492566142873090593446023921663 (0x3ffffffffffffffffffffffffffffffffffffL) *)
- := (Const 89202980794122492566142873090593446023921663%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffL'" (* 89202980794122492566142873090593446023921663 (0x3ffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000L'" (* 89202980794122492566142873090593446023921664 (0x4000000000000000000000000000000000000L) *)
- := (Const 89202980794122492566142873090593446023921664%Z).
-Notation "'0x4000000000000000000000000000000000000L'" (* 89202980794122492566142873090593446023921664 (0x4000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000001L'" (* 89202980794122492566142873090593446023921665 (0x4000000000000000000000000000000000001L) *)
- := (Const 89202980794122492566142873090593446023921665%Z).
-Notation "'0x4000000000000000000000000000000000001L'" (* 89202980794122492566142873090593446023921665 (0x4000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffL'" (* 178405961588244985132285746181186892047843327 (0x7ffffffffffffffffffffffffffffffffffffL) *)
- := (Const 178405961588244985132285746181186892047843327%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffL'" (* 178405961588244985132285746181186892047843327 (0x7ffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000L'" (* 178405961588244985132285746181186892047843328 (0x8000000000000000000000000000000000000L) *)
- := (Const 178405961588244985132285746181186892047843328%Z).
-Notation "'0x8000000000000000000000000000000000000L'" (* 178405961588244985132285746181186892047843328 (0x8000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000001L'" (* 178405961588244985132285746181186892047843329 (0x8000000000000000000000000000000000001L) *)
- := (Const 178405961588244985132285746181186892047843329%Z).
-Notation "'0x8000000000000000000000000000000000001L'" (* 178405961588244985132285746181186892047843329 (0x8000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffL'" (* 356811923176489970264571492362373784095686655 (0xfffffffffffffffffffffffffffffffffffffL) *)
- := (Const 356811923176489970264571492362373784095686655%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffL'" (* 356811923176489970264571492362373784095686655 (0xfffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000L'" (* 356811923176489970264571492362373784095686656 (0x10000000000000000000000000000000000000L) *)
- := (Const 356811923176489970264571492362373784095686656%Z).
-Notation "'0x10000000000000000000000000000000000000L'" (* 356811923176489970264571492362373784095686656 (0x10000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000001L'" (* 356811923176489970264571492362373784095686657 (0x10000000000000000000000000000000000001L) *)
- := (Const 356811923176489970264571492362373784095686657%Z).
-Notation "'0x10000000000000000000000000000000000001L'" (* 356811923176489970264571492362373784095686657 (0x10000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffL'" (* 713623846352979940529142984724747568191373311 (0x1fffffffffffffffffffffffffffffffffffffL) *)
- := (Const 713623846352979940529142984724747568191373311%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffL'" (* 713623846352979940529142984724747568191373311 (0x1fffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000L'" (* 713623846352979940529142984724747568191373312 (0x20000000000000000000000000000000000000L) *)
- := (Const 713623846352979940529142984724747568191373312%Z).
-Notation "'0x20000000000000000000000000000000000000L'" (* 713623846352979940529142984724747568191373312 (0x20000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000001L'" (* 713623846352979940529142984724747568191373313 (0x20000000000000000000000000000000000001L) *)
- := (Const 713623846352979940529142984724747568191373313%Z).
-Notation "'0x20000000000000000000000000000000000001L'" (* 713623846352979940529142984724747568191373313 (0x20000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffL'" (* 1427247692705959881058285969449495136382746623 (0x3fffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1427247692705959881058285969449495136382746623%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffL'" (* 1427247692705959881058285969449495136382746623 (0x3fffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000L'" (* 1427247692705959881058285969449495136382746624 (0x40000000000000000000000000000000000000L) *)
- := (Const 1427247692705959881058285969449495136382746624%Z).
-Notation "'0x40000000000000000000000000000000000000L'" (* 1427247692705959881058285969449495136382746624 (0x40000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000001L'" (* 1427247692705959881058285969449495136382746625 (0x40000000000000000000000000000000000001L) *)
- := (Const 1427247692705959881058285969449495136382746625%Z).
-Notation "'0x40000000000000000000000000000000000001L'" (* 1427247692705959881058285969449495136382746625 (0x40000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffL'" (* 2854495385411919762116571938898990272765493247 (0x7fffffffffffffffffffffffffffffffffffffL) *)
- := (Const 2854495385411919762116571938898990272765493247%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffL'" (* 2854495385411919762116571938898990272765493247 (0x7fffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000L'" (* 2854495385411919762116571938898990272765493248 (0x80000000000000000000000000000000000000L) *)
- := (Const 2854495385411919762116571938898990272765493248%Z).
-Notation "'0x80000000000000000000000000000000000000L'" (* 2854495385411919762116571938898990272765493248 (0x80000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000001L'" (* 2854495385411919762116571938898990272765493249 (0x80000000000000000000000000000000000001L) *)
- := (Const 2854495385411919762116571938898990272765493249%Z).
-Notation "'0x80000000000000000000000000000000000001L'" (* 2854495385411919762116571938898990272765493249 (0x80000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffL'" (* 5708990770823839524233143877797980545530986495 (0xffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 5708990770823839524233143877797980545530986495%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffL'" (* 5708990770823839524233143877797980545530986495 (0xffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000L'" (* 5708990770823839524233143877797980545530986496 (0x100000000000000000000000000000000000000L) *)
- := (Const 5708990770823839524233143877797980545530986496%Z).
-Notation "'0x100000000000000000000000000000000000000L'" (* 5708990770823839524233143877797980545530986496 (0x100000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000001L'" (* 5708990770823839524233143877797980545530986497 (0x100000000000000000000000000000000000001L) *)
- := (Const 5708990770823839524233143877797980545530986497%Z).
-Notation "'0x100000000000000000000000000000000000001L'" (* 5708990770823839524233143877797980545530986497 (0x100000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffL'" (* 11417981541647679048466287755595961091061972991 (0x1ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 11417981541647679048466287755595961091061972991%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffL'" (* 11417981541647679048466287755595961091061972991 (0x1ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000L'" (* 11417981541647679048466287755595961091061972992 (0x200000000000000000000000000000000000000L) *)
- := (Const 11417981541647679048466287755595961091061972992%Z).
-Notation "'0x200000000000000000000000000000000000000L'" (* 11417981541647679048466287755595961091061972992 (0x200000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000001L'" (* 11417981541647679048466287755595961091061972993 (0x200000000000000000000000000000000000001L) *)
- := (Const 11417981541647679048466287755595961091061972993%Z).
-Notation "'0x200000000000000000000000000000000000001L'" (* 11417981541647679048466287755595961091061972993 (0x200000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffL'" (* 22835963083295358096932575511191922182123945983 (0x3ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 22835963083295358096932575511191922182123945983%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffL'" (* 22835963083295358096932575511191922182123945983 (0x3ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000L'" (* 22835963083295358096932575511191922182123945984 (0x400000000000000000000000000000000000000L) *)
- := (Const 22835963083295358096932575511191922182123945984%Z).
-Notation "'0x400000000000000000000000000000000000000L'" (* 22835963083295358096932575511191922182123945984 (0x400000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000001L'" (* 22835963083295358096932575511191922182123945985 (0x400000000000000000000000000000000000001L) *)
- := (Const 22835963083295358096932575511191922182123945985%Z).
-Notation "'0x400000000000000000000000000000000000001L'" (* 22835963083295358096932575511191922182123945985 (0x400000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffL'" (* 45671926166590716193865151022383844364247891967 (0x7ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 45671926166590716193865151022383844364247891967%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffL'" (* 45671926166590716193865151022383844364247891967 (0x7ffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000L'" (* 45671926166590716193865151022383844364247891968 (0x800000000000000000000000000000000000000L) *)
- := (Const 45671926166590716193865151022383844364247891968%Z).
-Notation "'0x800000000000000000000000000000000000000L'" (* 45671926166590716193865151022383844364247891968 (0x800000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000001L'" (* 45671926166590716193865151022383844364247891969 (0x800000000000000000000000000000000000001L) *)
- := (Const 45671926166590716193865151022383844364247891969%Z).
-Notation "'0x800000000000000000000000000000000000001L'" (* 45671926166590716193865151022383844364247891969 (0x800000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffL'" (* 91343852333181432387730302044767688728495783935 (0xfffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 91343852333181432387730302044767688728495783935%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffL'" (* 91343852333181432387730302044767688728495783935 (0xfffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000L'" (* 91343852333181432387730302044767688728495783936 (0x1000000000000000000000000000000000000000L) *)
- := (Const 91343852333181432387730302044767688728495783936%Z).
-Notation "'0x1000000000000000000000000000000000000000L'" (* 91343852333181432387730302044767688728495783936 (0x1000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000001L'" (* 91343852333181432387730302044767688728495783937 (0x1000000000000000000000000000000000000001L) *)
- := (Const 91343852333181432387730302044767688728495783937%Z).
-Notation "'0x1000000000000000000000000000000000000001L'" (* 91343852333181432387730302044767688728495783937 (0x1000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffL'" (* 182687704666362864775460604089535377456991567871 (0x1fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 182687704666362864775460604089535377456991567871%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffL'" (* 182687704666362864775460604089535377456991567871 (0x1fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000L'" (* 182687704666362864775460604089535377456991567872 (0x2000000000000000000000000000000000000000L) *)
- := (Const 182687704666362864775460604089535377456991567872%Z).
-Notation "'0x2000000000000000000000000000000000000000L'" (* 182687704666362864775460604089535377456991567872 (0x2000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000001L'" (* 182687704666362864775460604089535377456991567873 (0x2000000000000000000000000000000000000001L) *)
- := (Const 182687704666362864775460604089535377456991567873%Z).
-Notation "'0x2000000000000000000000000000000000000001L'" (* 182687704666362864775460604089535377456991567873 (0x2000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffL'" (* 365375409332725729550921208179070754913983135743 (0x3fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 365375409332725729550921208179070754913983135743%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffL'" (* 365375409332725729550921208179070754913983135743 (0x3fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000L'" (* 365375409332725729550921208179070754913983135744 (0x4000000000000000000000000000000000000000L) *)
- := (Const 365375409332725729550921208179070754913983135744%Z).
-Notation "'0x4000000000000000000000000000000000000000L'" (* 365375409332725729550921208179070754913983135744 (0x4000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000001L'" (* 365375409332725729550921208179070754913983135745 (0x4000000000000000000000000000000000000001L) *)
- := (Const 365375409332725729550921208179070754913983135745%Z).
-Notation "'0x4000000000000000000000000000000000000001L'" (* 365375409332725729550921208179070754913983135745 (0x4000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffL'" (* 730750818665451459101842416358141509827966271487 (0x7fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 730750818665451459101842416358141509827966271487%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffL'" (* 730750818665451459101842416358141509827966271487 (0x7fffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000L'" (* 730750818665451459101842416358141509827966271488 (0x8000000000000000000000000000000000000000L) *)
- := (Const 730750818665451459101842416358141509827966271488%Z).
-Notation "'0x8000000000000000000000000000000000000000L'" (* 730750818665451459101842416358141509827966271488 (0x8000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000001L'" (* 730750818665451459101842416358141509827966271489 (0x8000000000000000000000000000000000000001L) *)
- := (Const 730750818665451459101842416358141509827966271489%Z).
-Notation "'0x8000000000000000000000000000000000000001L'" (* 730750818665451459101842416358141509827966271489 (0x8000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffL'" (* 1461501637330902918203684832716283019655932542975 (0xffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1461501637330902918203684832716283019655932542975%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffL'" (* 1461501637330902918203684832716283019655932542975 (0xffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000L'" (* 1461501637330902918203684832716283019655932542976 (0x10000000000000000000000000000000000000000L) *)
- := (Const 1461501637330902918203684832716283019655932542976%Z).
-Notation "'0x10000000000000000000000000000000000000000L'" (* 1461501637330902918203684832716283019655932542976 (0x10000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000001L'" (* 1461501637330902918203684832716283019655932542977 (0x10000000000000000000000000000000000000001L) *)
- := (Const 1461501637330902918203684832716283019655932542977%Z).
-Notation "'0x10000000000000000000000000000000000000001L'" (* 1461501637330902918203684832716283019655932542977 (0x10000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffL'" (* 2923003274661805836407369665432566039311865085951 (0x1ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 2923003274661805836407369665432566039311865085951%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffL'" (* 2923003274661805836407369665432566039311865085951 (0x1ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000L'" (* 2923003274661805836407369665432566039311865085952 (0x20000000000000000000000000000000000000000L) *)
- := (Const 2923003274661805836407369665432566039311865085952%Z).
-Notation "'0x20000000000000000000000000000000000000000L'" (* 2923003274661805836407369665432566039311865085952 (0x20000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000001L'" (* 2923003274661805836407369665432566039311865085953 (0x20000000000000000000000000000000000000001L) *)
- := (Const 2923003274661805836407369665432566039311865085953%Z).
-Notation "'0x20000000000000000000000000000000000000001L'" (* 2923003274661805836407369665432566039311865085953 (0x20000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffL'" (* 5846006549323611672814739330865132078623730171903 (0x3ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 5846006549323611672814739330865132078623730171903%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffL'" (* 5846006549323611672814739330865132078623730171903 (0x3ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000L'" (* 5846006549323611672814739330865132078623730171904 (0x40000000000000000000000000000000000000000L) *)
- := (Const 5846006549323611672814739330865132078623730171904%Z).
-Notation "'0x40000000000000000000000000000000000000000L'" (* 5846006549323611672814739330865132078623730171904 (0x40000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000001L'" (* 5846006549323611672814739330865132078623730171905 (0x40000000000000000000000000000000000000001L) *)
- := (Const 5846006549323611672814739330865132078623730171905%Z).
-Notation "'0x40000000000000000000000000000000000000001L'" (* 5846006549323611672814739330865132078623730171905 (0x40000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffL'" (* 11692013098647223345629478661730264157247460343807 (0x7ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 11692013098647223345629478661730264157247460343807%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffL'" (* 11692013098647223345629478661730264157247460343807 (0x7ffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000L'" (* 11692013098647223345629478661730264157247460343808 (0x80000000000000000000000000000000000000000L) *)
- := (Const 11692013098647223345629478661730264157247460343808%Z).
-Notation "'0x80000000000000000000000000000000000000000L'" (* 11692013098647223345629478661730264157247460343808 (0x80000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000001L'" (* 11692013098647223345629478661730264157247460343809 (0x80000000000000000000000000000000000000001L) *)
- := (Const 11692013098647223345629478661730264157247460343809%Z).
-Notation "'0x80000000000000000000000000000000000000001L'" (* 11692013098647223345629478661730264157247460343809 (0x80000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffL'" (* 23384026197294446691258957323460528314494920687615 (0xfffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 23384026197294446691258957323460528314494920687615%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffL'" (* 23384026197294446691258957323460528314494920687615 (0xfffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000L'" (* 23384026197294446691258957323460528314494920687616 (0x100000000000000000000000000000000000000000L) *)
- := (Const 23384026197294446691258957323460528314494920687616%Z).
-Notation "'0x100000000000000000000000000000000000000000L'" (* 23384026197294446691258957323460528314494920687616 (0x100000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000001L'" (* 23384026197294446691258957323460528314494920687617 (0x100000000000000000000000000000000000000001L) *)
- := (Const 23384026197294446691258957323460528314494920687617%Z).
-Notation "'0x100000000000000000000000000000000000000001L'" (* 23384026197294446691258957323460528314494920687617 (0x100000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffL'" (* 46768052394588893382517914646921056628989841375231 (0x1fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 46768052394588893382517914646921056628989841375231%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffL'" (* 46768052394588893382517914646921056628989841375231 (0x1fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000L'" (* 46768052394588893382517914646921056628989841375232 (0x200000000000000000000000000000000000000000L) *)
- := (Const 46768052394588893382517914646921056628989841375232%Z).
-Notation "'0x200000000000000000000000000000000000000000L'" (* 46768052394588893382517914646921056628989841375232 (0x200000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000001L'" (* 46768052394588893382517914646921056628989841375233 (0x200000000000000000000000000000000000000001L) *)
- := (Const 46768052394588893382517914646921056628989841375233%Z).
-Notation "'0x200000000000000000000000000000000000000001L'" (* 46768052394588893382517914646921056628989841375233 (0x200000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffL'" (* 93536104789177786765035829293842113257979682750463 (0x3fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 93536104789177786765035829293842113257979682750463%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffL'" (* 93536104789177786765035829293842113257979682750463 (0x3fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000L'" (* 93536104789177786765035829293842113257979682750464 (0x400000000000000000000000000000000000000000L) *)
- := (Const 93536104789177786765035829293842113257979682750464%Z).
-Notation "'0x400000000000000000000000000000000000000000L'" (* 93536104789177786765035829293842113257979682750464 (0x400000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000001L'" (* 93536104789177786765035829293842113257979682750465 (0x400000000000000000000000000000000000000001L) *)
- := (Const 93536104789177786765035829293842113257979682750465%Z).
-Notation "'0x400000000000000000000000000000000000000001L'" (* 93536104789177786765035829293842113257979682750465 (0x400000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffL'" (* 187072209578355573530071658587684226515959365500927 (0x7fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 187072209578355573530071658587684226515959365500927%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffL'" (* 187072209578355573530071658587684226515959365500927 (0x7fffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000L'" (* 187072209578355573530071658587684226515959365500928 (0x800000000000000000000000000000000000000000L) *)
- := (Const 187072209578355573530071658587684226515959365500928%Z).
-Notation "'0x800000000000000000000000000000000000000000L'" (* 187072209578355573530071658587684226515959365500928 (0x800000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000001L'" (* 187072209578355573530071658587684226515959365500929 (0x800000000000000000000000000000000000000001L) *)
- := (Const 187072209578355573530071658587684226515959365500929%Z).
-Notation "'0x800000000000000000000000000000000000000001L'" (* 187072209578355573530071658587684226515959365500929 (0x800000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffL'" (* 374144419156711147060143317175368453031918731001855 (0xffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 374144419156711147060143317175368453031918731001855%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffL'" (* 374144419156711147060143317175368453031918731001855 (0xffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000L'" (* 374144419156711147060143317175368453031918731001856 (0x1000000000000000000000000000000000000000000L) *)
- := (Const 374144419156711147060143317175368453031918731001856%Z).
-Notation "'0x1000000000000000000000000000000000000000000L'" (* 374144419156711147060143317175368453031918731001856 (0x1000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000001L'" (* 374144419156711147060143317175368453031918731001857 (0x1000000000000000000000000000000000000000001L) *)
- := (Const 374144419156711147060143317175368453031918731001857%Z).
-Notation "'0x1000000000000000000000000000000000000000001L'" (* 374144419156711147060143317175368453031918731001857 (0x1000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffL'" (* 748288838313422294120286634350736906063837462003711 (0x1ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 748288838313422294120286634350736906063837462003711%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffL'" (* 748288838313422294120286634350736906063837462003711 (0x1ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000L'" (* 748288838313422294120286634350736906063837462003712 (0x2000000000000000000000000000000000000000000L) *)
- := (Const 748288838313422294120286634350736906063837462003712%Z).
-Notation "'0x2000000000000000000000000000000000000000000L'" (* 748288838313422294120286634350736906063837462003712 (0x2000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000001L'" (* 748288838313422294120286634350736906063837462003713 (0x2000000000000000000000000000000000000000001L) *)
- := (Const 748288838313422294120286634350736906063837462003713%Z).
-Notation "'0x2000000000000000000000000000000000000000001L'" (* 748288838313422294120286634350736906063837462003713 (0x2000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffL'" (* 1496577676626844588240573268701473812127674924007423 (0x3ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1496577676626844588240573268701473812127674924007423%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffL'" (* 1496577676626844588240573268701473812127674924007423 (0x3ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000L'" (* 1496577676626844588240573268701473812127674924007424 (0x4000000000000000000000000000000000000000000L) *)
- := (Const 1496577676626844588240573268701473812127674924007424%Z).
-Notation "'0x4000000000000000000000000000000000000000000L'" (* 1496577676626844588240573268701473812127674924007424 (0x4000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000001L'" (* 1496577676626844588240573268701473812127674924007425 (0x4000000000000000000000000000000000000000001L) *)
- := (Const 1496577676626844588240573268701473812127674924007425%Z).
-Notation "'0x4000000000000000000000000000000000000000001L'" (* 1496577676626844588240573268701473812127674924007425 (0x4000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffL'" (* 2993155353253689176481146537402947624255349848014847 (0x7ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 2993155353253689176481146537402947624255349848014847%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffL'" (* 2993155353253689176481146537402947624255349848014847 (0x7ffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000L'" (* 2993155353253689176481146537402947624255349848014848 (0x8000000000000000000000000000000000000000000L) *)
- := (Const 2993155353253689176481146537402947624255349848014848%Z).
-Notation "'0x8000000000000000000000000000000000000000000L'" (* 2993155353253689176481146537402947624255349848014848 (0x8000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000001L'" (* 2993155353253689176481146537402947624255349848014849 (0x8000000000000000000000000000000000000000001L) *)
- := (Const 2993155353253689176481146537402947624255349848014849%Z).
-Notation "'0x8000000000000000000000000000000000000000001L'" (* 2993155353253689176481146537402947624255349848014849 (0x8000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffL'" (* 5986310706507378352962293074805895248510699696029695 (0xfffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 5986310706507378352962293074805895248510699696029695%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffL'" (* 5986310706507378352962293074805895248510699696029695 (0xfffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000L'" (* 5986310706507378352962293074805895248510699696029696 (0x10000000000000000000000000000000000000000000L) *)
- := (Const 5986310706507378352962293074805895248510699696029696%Z).
-Notation "'0x10000000000000000000000000000000000000000000L'" (* 5986310706507378352962293074805895248510699696029696 (0x10000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000001L'" (* 5986310706507378352962293074805895248510699696029697 (0x10000000000000000000000000000000000000000001L) *)
- := (Const 5986310706507378352962293074805895248510699696029697%Z).
-Notation "'0x10000000000000000000000000000000000000000001L'" (* 5986310706507378352962293074805895248510699696029697 (0x10000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffL'" (* 11972621413014756705924586149611790497021399392059391 (0x1fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 11972621413014756705924586149611790497021399392059391%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffL'" (* 11972621413014756705924586149611790497021399392059391 (0x1fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000L'" (* 11972621413014756705924586149611790497021399392059392 (0x20000000000000000000000000000000000000000000L) *)
- := (Const 11972621413014756705924586149611790497021399392059392%Z).
-Notation "'0x20000000000000000000000000000000000000000000L'" (* 11972621413014756705924586149611790497021399392059392 (0x20000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000001L'" (* 11972621413014756705924586149611790497021399392059393 (0x20000000000000000000000000000000000000000001L) *)
- := (Const 11972621413014756705924586149611790497021399392059393%Z).
-Notation "'0x20000000000000000000000000000000000000000001L'" (* 11972621413014756705924586149611790497021399392059393 (0x20000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffL'" (* 23945242826029513411849172299223580994042798784118783 (0x3fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 23945242826029513411849172299223580994042798784118783%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffL'" (* 23945242826029513411849172299223580994042798784118783 (0x3fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000L'" (* 23945242826029513411849172299223580994042798784118784 (0x40000000000000000000000000000000000000000000L) *)
- := (Const 23945242826029513411849172299223580994042798784118784%Z).
-Notation "'0x40000000000000000000000000000000000000000000L'" (* 23945242826029513411849172299223580994042798784118784 (0x40000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000001L'" (* 23945242826029513411849172299223580994042798784118785 (0x40000000000000000000000000000000000000000001L) *)
- := (Const 23945242826029513411849172299223580994042798784118785%Z).
-Notation "'0x40000000000000000000000000000000000000000001L'" (* 23945242826029513411849172299223580994042798784118785 (0x40000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffL'" (* 47890485652059026823698344598447161988085597568237567 (0x7fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 47890485652059026823698344598447161988085597568237567%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffL'" (* 47890485652059026823698344598447161988085597568237567 (0x7fffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000L'" (* 47890485652059026823698344598447161988085597568237568 (0x80000000000000000000000000000000000000000000L) *)
- := (Const 47890485652059026823698344598447161988085597568237568%Z).
-Notation "'0x80000000000000000000000000000000000000000000L'" (* 47890485652059026823698344598447161988085597568237568 (0x80000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000001L'" (* 47890485652059026823698344598447161988085597568237569 (0x80000000000000000000000000000000000000000001L) *)
- := (Const 47890485652059026823698344598447161988085597568237569%Z).
-Notation "'0x80000000000000000000000000000000000000000001L'" (* 47890485652059026823698344598447161988085597568237569 (0x80000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffL'" (* 95780971304118053647396689196894323976171195136475135 (0xffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 95780971304118053647396689196894323976171195136475135%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffL'" (* 95780971304118053647396689196894323976171195136475135 (0xffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000L'" (* 95780971304118053647396689196894323976171195136475136 (0x100000000000000000000000000000000000000000000L) *)
- := (Const 95780971304118053647396689196894323976171195136475136%Z).
-Notation "'0x100000000000000000000000000000000000000000000L'" (* 95780971304118053647396689196894323976171195136475136 (0x100000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000001L'" (* 95780971304118053647396689196894323976171195136475137 (0x100000000000000000000000000000000000000000001L) *)
- := (Const 95780971304118053647396689196894323976171195136475137%Z).
-Notation "'0x100000000000000000000000000000000000000000001L'" (* 95780971304118053647396689196894323976171195136475137 (0x100000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffL'" (* 191561942608236107294793378393788647952342390272950271 (0x1ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 191561942608236107294793378393788647952342390272950271%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffL'" (* 191561942608236107294793378393788647952342390272950271 (0x1ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000L'" (* 191561942608236107294793378393788647952342390272950272 (0x200000000000000000000000000000000000000000000L) *)
- := (Const 191561942608236107294793378393788647952342390272950272%Z).
-Notation "'0x200000000000000000000000000000000000000000000L'" (* 191561942608236107294793378393788647952342390272950272 (0x200000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000001L'" (* 191561942608236107294793378393788647952342390272950273 (0x200000000000000000000000000000000000000000001L) *)
- := (Const 191561942608236107294793378393788647952342390272950273%Z).
-Notation "'0x200000000000000000000000000000000000000000001L'" (* 191561942608236107294793378393788647952342390272950273 (0x200000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffL'" (* 383123885216472214589586756787577295904684780545900543 (0x3ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 383123885216472214589586756787577295904684780545900543%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffL'" (* 383123885216472214589586756787577295904684780545900543 (0x3ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000L'" (* 383123885216472214589586756787577295904684780545900544 (0x400000000000000000000000000000000000000000000L) *)
- := (Const 383123885216472214589586756787577295904684780545900544%Z).
-Notation "'0x400000000000000000000000000000000000000000000L'" (* 383123885216472214589586756787577295904684780545900544 (0x400000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000001L'" (* 383123885216472214589586756787577295904684780545900545 (0x400000000000000000000000000000000000000000001L) *)
- := (Const 383123885216472214589586756787577295904684780545900545%Z).
-Notation "'0x400000000000000000000000000000000000000000001L'" (* 383123885216472214589586756787577295904684780545900545 (0x400000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffL'" (* 766247770432944429179173513575154591809369561091801087 (0x7ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 766247770432944429179173513575154591809369561091801087%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffL'" (* 766247770432944429179173513575154591809369561091801087 (0x7ffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000L'" (* 766247770432944429179173513575154591809369561091801088 (0x800000000000000000000000000000000000000000000L) *)
- := (Const 766247770432944429179173513575154591809369561091801088%Z).
-Notation "'0x800000000000000000000000000000000000000000000L'" (* 766247770432944429179173513575154591809369561091801088 (0x800000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000001L'" (* 766247770432944429179173513575154591809369561091801089 (0x800000000000000000000000000000000000000000001L) *)
- := (Const 766247770432944429179173513575154591809369561091801089%Z).
-Notation "'0x800000000000000000000000000000000000000000001L'" (* 766247770432944429179173513575154591809369561091801089 (0x800000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffL'" (* 1532495540865888858358347027150309183618739122183602175 (0xfffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1532495540865888858358347027150309183618739122183602175%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffL'" (* 1532495540865888858358347027150309183618739122183602175 (0xfffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000L'" (* 1532495540865888858358347027150309183618739122183602176 (0x1000000000000000000000000000000000000000000000L) *)
- := (Const 1532495540865888858358347027150309183618739122183602176%Z).
-Notation "'0x1000000000000000000000000000000000000000000000L'" (* 1532495540865888858358347027150309183618739122183602176 (0x1000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000001L'" (* 1532495540865888858358347027150309183618739122183602177 (0x1000000000000000000000000000000000000000000001L) *)
- := (Const 1532495540865888858358347027150309183618739122183602177%Z).
-Notation "'0x1000000000000000000000000000000000000000000001L'" (* 1532495540865888858358347027150309183618739122183602177 (0x1000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffL'" (* 3064991081731777716716694054300618367237478244367204351 (0x1fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3064991081731777716716694054300618367237478244367204351%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffL'" (* 3064991081731777716716694054300618367237478244367204351 (0x1fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000L'" (* 3064991081731777716716694054300618367237478244367204352 (0x2000000000000000000000000000000000000000000000L) *)
- := (Const 3064991081731777716716694054300618367237478244367204352%Z).
-Notation "'0x2000000000000000000000000000000000000000000000L'" (* 3064991081731777716716694054300618367237478244367204352 (0x2000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000001L'" (* 3064991081731777716716694054300618367237478244367204353 (0x2000000000000000000000000000000000000000000001L) *)
- := (Const 3064991081731777716716694054300618367237478244367204353%Z).
-Notation "'0x2000000000000000000000000000000000000000000001L'" (* 3064991081731777716716694054300618367237478244367204353 (0x2000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffL'" (* 6129982163463555433433388108601236734474956488734408703 (0x3fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 6129982163463555433433388108601236734474956488734408703%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffL'" (* 6129982163463555433433388108601236734474956488734408703 (0x3fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000L'" (* 6129982163463555433433388108601236734474956488734408704 (0x4000000000000000000000000000000000000000000000L) *)
- := (Const 6129982163463555433433388108601236734474956488734408704%Z).
-Notation "'0x4000000000000000000000000000000000000000000000L'" (* 6129982163463555433433388108601236734474956488734408704 (0x4000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000001L'" (* 6129982163463555433433388108601236734474956488734408705 (0x4000000000000000000000000000000000000000000001L) *)
- := (Const 6129982163463555433433388108601236734474956488734408705%Z).
-Notation "'0x4000000000000000000000000000000000000000000001L'" (* 6129982163463555433433388108601236734474956488734408705 (0x4000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffL'" (* 12259964326927110866866776217202473468949912977468817407 (0x7fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 12259964326927110866866776217202473468949912977468817407%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffL'" (* 12259964326927110866866776217202473468949912977468817407 (0x7fffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000L'" (* 12259964326927110866866776217202473468949912977468817408 (0x8000000000000000000000000000000000000000000000L) *)
- := (Const 12259964326927110866866776217202473468949912977468817408%Z).
-Notation "'0x8000000000000000000000000000000000000000000000L'" (* 12259964326927110866866776217202473468949912977468817408 (0x8000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000001L'" (* 12259964326927110866866776217202473468949912977468817409 (0x8000000000000000000000000000000000000000000001L) *)
- := (Const 12259964326927110866866776217202473468949912977468817409%Z).
-Notation "'0x8000000000000000000000000000000000000000000001L'" (* 12259964326927110866866776217202473468949912977468817409 (0x8000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffL'" (* 24519928653854221733733552434404946937899825954937634815 (0xffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 24519928653854221733733552434404946937899825954937634815%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffL'" (* 24519928653854221733733552434404946937899825954937634815 (0xffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000000L'" (* 24519928653854221733733552434404946937899825954937634816 (0x10000000000000000000000000000000000000000000000L) *)
- := (Const 24519928653854221733733552434404946937899825954937634816%Z).
-Notation "'0x10000000000000000000000000000000000000000000000L'" (* 24519928653854221733733552434404946937899825954937634816 (0x10000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000000001L'" (* 24519928653854221733733552434404946937899825954937634817 (0x10000000000000000000000000000000000000000000001L) *)
- := (Const 24519928653854221733733552434404946937899825954937634817%Z).
-Notation "'0x10000000000000000000000000000000000000000000001L'" (* 24519928653854221733733552434404946937899825954937634817 (0x10000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffL'" (* 49039857307708443467467104868809893875799651909875269631 (0x1ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 49039857307708443467467104868809893875799651909875269631%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffL'" (* 49039857307708443467467104868809893875799651909875269631 (0x1ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000000L'" (* 49039857307708443467467104868809893875799651909875269632 (0x20000000000000000000000000000000000000000000000L) *)
- := (Const 49039857307708443467467104868809893875799651909875269632%Z).
-Notation "'0x20000000000000000000000000000000000000000000000L'" (* 49039857307708443467467104868809893875799651909875269632 (0x20000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000000001L'" (* 49039857307708443467467104868809893875799651909875269633 (0x20000000000000000000000000000000000000000000001L) *)
- := (Const 49039857307708443467467104868809893875799651909875269633%Z).
-Notation "'0x20000000000000000000000000000000000000000000001L'" (* 49039857307708443467467104868809893875799651909875269633 (0x20000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffL'" (* 98079714615416886934934209737619787751599303819750539263 (0x3ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 98079714615416886934934209737619787751599303819750539263%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffL'" (* 98079714615416886934934209737619787751599303819750539263 (0x3ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000000L'" (* 98079714615416886934934209737619787751599303819750539264 (0x40000000000000000000000000000000000000000000000L) *)
- := (Const 98079714615416886934934209737619787751599303819750539264%Z).
-Notation "'0x40000000000000000000000000000000000000000000000L'" (* 98079714615416886934934209737619787751599303819750539264 (0x40000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000000001L'" (* 98079714615416886934934209737619787751599303819750539265 (0x40000000000000000000000000000000000000000000001L) *)
- := (Const 98079714615416886934934209737619787751599303819750539265%Z).
-Notation "'0x40000000000000000000000000000000000000000000001L'" (* 98079714615416886934934209737619787751599303819750539265 (0x40000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffL'" (* 196159429230833773869868419475239575503198607639501078527 (0x7ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 196159429230833773869868419475239575503198607639501078527%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffL'" (* 196159429230833773869868419475239575503198607639501078527 (0x7ffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000000L'" (* 196159429230833773869868419475239575503198607639501078528 (0x80000000000000000000000000000000000000000000000L) *)
- := (Const 196159429230833773869868419475239575503198607639501078528%Z).
-Notation "'0x80000000000000000000000000000000000000000000000L'" (* 196159429230833773869868419475239575503198607639501078528 (0x80000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000000001L'" (* 196159429230833773869868419475239575503198607639501078529 (0x80000000000000000000000000000000000000000000001L) *)
- := (Const 196159429230833773869868419475239575503198607639501078529%Z).
-Notation "'0x80000000000000000000000000000000000000000000001L'" (* 196159429230833773869868419475239575503198607639501078529 (0x80000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffL'" (* 392318858461667547739736838950479151006397215279002157055 (0xfffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 392318858461667547739736838950479151006397215279002157055%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffL'" (* 392318858461667547739736838950479151006397215279002157055 (0xfffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000000L'" (* 392318858461667547739736838950479151006397215279002157056 (0x100000000000000000000000000000000000000000000000L) *)
- := (Const 392318858461667547739736838950479151006397215279002157056%Z).
-Notation "'0x100000000000000000000000000000000000000000000000L'" (* 392318858461667547739736838950479151006397215279002157056 (0x100000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000000001L'" (* 392318858461667547739736838950479151006397215279002157057 (0x100000000000000000000000000000000000000000000001L) *)
- := (Const 392318858461667547739736838950479151006397215279002157057%Z).
-Notation "'0x100000000000000000000000000000000000000000000001L'" (* 392318858461667547739736838950479151006397215279002157057 (0x100000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffL'" (* 784637716923335095479473677900958302012794430558004314111 (0x1fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 784637716923335095479473677900958302012794430558004314111%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffL'" (* 784637716923335095479473677900958302012794430558004314111 (0x1fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000000L'" (* 784637716923335095479473677900958302012794430558004314112 (0x200000000000000000000000000000000000000000000000L) *)
- := (Const 784637716923335095479473677900958302012794430558004314112%Z).
-Notation "'0x200000000000000000000000000000000000000000000000L'" (* 784637716923335095479473677900958302012794430558004314112 (0x200000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000000001L'" (* 784637716923335095479473677900958302012794430558004314113 (0x200000000000000000000000000000000000000000000001L) *)
- := (Const 784637716923335095479473677900958302012794430558004314113%Z).
-Notation "'0x200000000000000000000000000000000000000000000001L'" (* 784637716923335095479473677900958302012794430558004314113 (0x200000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1569275433846670190958947355801916604025588861116008628223 (0x3fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1569275433846670190958947355801916604025588861116008628223%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1569275433846670190958947355801916604025588861116008628223 (0x3fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000000L'" (* 1569275433846670190958947355801916604025588861116008628224 (0x400000000000000000000000000000000000000000000000L) *)
- := (Const 1569275433846670190958947355801916604025588861116008628224%Z).
-Notation "'0x400000000000000000000000000000000000000000000000L'" (* 1569275433846670190958947355801916604025588861116008628224 (0x400000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000000001L'" (* 1569275433846670190958947355801916604025588861116008628225 (0x400000000000000000000000000000000000000000000001L) *)
- := (Const 1569275433846670190958947355801916604025588861116008628225%Z).
-Notation "'0x400000000000000000000000000000000000000000000001L'" (* 1569275433846670190958947355801916604025588861116008628225 (0x400000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3138550867693340381917894711603833208051177722232017256447 (0x7fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3138550867693340381917894711603833208051177722232017256447%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3138550867693340381917894711603833208051177722232017256447 (0x7fffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000000L'" (* 3138550867693340381917894711603833208051177722232017256448 (0x800000000000000000000000000000000000000000000000L) *)
- := (Const 3138550867693340381917894711603833208051177722232017256448%Z).
-Notation "'0x800000000000000000000000000000000000000000000000L'" (* 3138550867693340381917894711603833208051177722232017256448 (0x800000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000000001L'" (* 3138550867693340381917894711603833208051177722232017256449 (0x800000000000000000000000000000000000000000000001L) *)
- := (Const 3138550867693340381917894711603833208051177722232017256449%Z).
-Notation "'0x800000000000000000000000000000000000000000000001L'" (* 3138550867693340381917894711603833208051177722232017256449 (0x800000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6277101735386680763835789423207666416102355444464034512895 (0xffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 6277101735386680763835789423207666416102355444464034512895%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6277101735386680763835789423207666416102355444464034512895 (0xffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000000L'" (* 6277101735386680763835789423207666416102355444464034512896 (0x1000000000000000000000000000000000000000000000000L) *)
- := (Const 6277101735386680763835789423207666416102355444464034512896%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000L'" (* 6277101735386680763835789423207666416102355444464034512896 (0x1000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000000001L'" (* 6277101735386680763835789423207666416102355444464034512897 (0x1000000000000000000000000000000000000000000000001L) *)
- := (Const 6277101735386680763835789423207666416102355444464034512897%Z).
-Notation "'0x1000000000000000000000000000000000000000000000001L'" (* 6277101735386680763835789423207666416102355444464034512897 (0x1000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 12554203470773361527671578846415332832204710888928069025791 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 12554203470773361527671578846415332832204710888928069025791%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 12554203470773361527671578846415332832204710888928069025791 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000000L'" (* 12554203470773361527671578846415332832204710888928069025792 (0x2000000000000000000000000000000000000000000000000L) *)
- := (Const 12554203470773361527671578846415332832204710888928069025792%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000L'" (* 12554203470773361527671578846415332832204710888928069025792 (0x2000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000000001L'" (* 12554203470773361527671578846415332832204710888928069025793 (0x2000000000000000000000000000000000000000000000001L) *)
- := (Const 12554203470773361527671578846415332832204710888928069025793%Z).
-Notation "'0x2000000000000000000000000000000000000000000000001L'" (* 12554203470773361527671578846415332832204710888928069025793 (0x2000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 25108406941546723055343157692830665664409421777856138051583 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 25108406941546723055343157692830665664409421777856138051583%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 25108406941546723055343157692830665664409421777856138051583 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000000L'" (* 25108406941546723055343157692830665664409421777856138051584 (0x4000000000000000000000000000000000000000000000000L) *)
- := (Const 25108406941546723055343157692830665664409421777856138051584%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000L'" (* 25108406941546723055343157692830665664409421777856138051584 (0x4000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000000001L'" (* 25108406941546723055343157692830665664409421777856138051585 (0x4000000000000000000000000000000000000000000000001L) *)
- := (Const 25108406941546723055343157692830665664409421777856138051585%Z).
-Notation "'0x4000000000000000000000000000000000000000000000001L'" (* 25108406941546723055343157692830665664409421777856138051585 (0x4000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 50216813883093446110686315385661331328818843555712276103167 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 50216813883093446110686315385661331328818843555712276103167%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 50216813883093446110686315385661331328818843555712276103167 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000000L'" (* 50216813883093446110686315385661331328818843555712276103168 (0x8000000000000000000000000000000000000000000000000L) *)
- := (Const 50216813883093446110686315385661331328818843555712276103168%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000L'" (* 50216813883093446110686315385661331328818843555712276103168 (0x8000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000000001L'" (* 50216813883093446110686315385661331328818843555712276103169 (0x8000000000000000000000000000000000000000000000001L) *)
- := (Const 50216813883093446110686315385661331328818843555712276103169%Z).
-Notation "'0x8000000000000000000000000000000000000000000000001L'" (* 50216813883093446110686315385661331328818843555712276103169 (0x8000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 100433627766186892221372630771322662657637687111424552206335 (0xfffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 100433627766186892221372630771322662657637687111424552206335%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 100433627766186892221372630771322662657637687111424552206335 (0xfffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000000000L'" (* 100433627766186892221372630771322662657637687111424552206336 (0x10000000000000000000000000000000000000000000000000L) *)
- := (Const 100433627766186892221372630771322662657637687111424552206336%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000L'" (* 100433627766186892221372630771322662657637687111424552206336 (0x10000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000000000001L'" (* 100433627766186892221372630771322662657637687111424552206337 (0x10000000000000000000000000000000000000000000000001L) *)
- := (Const 100433627766186892221372630771322662657637687111424552206337%Z).
-Notation "'0x10000000000000000000000000000000000000000000000001L'" (* 100433627766186892221372630771322662657637687111424552206337 (0x10000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 200867255532373784442745261542645325315275374222849104412671 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 200867255532373784442745261542645325315275374222849104412671%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 200867255532373784442745261542645325315275374222849104412671 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000000000L'" (* 200867255532373784442745261542645325315275374222849104412672 (0x20000000000000000000000000000000000000000000000000L) *)
- := (Const 200867255532373784442745261542645325315275374222849104412672%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000L'" (* 200867255532373784442745261542645325315275374222849104412672 (0x20000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000000000001L'" (* 200867255532373784442745261542645325315275374222849104412673 (0x20000000000000000000000000000000000000000000000001L) *)
- := (Const 200867255532373784442745261542645325315275374222849104412673%Z).
-Notation "'0x20000000000000000000000000000000000000000000000001L'" (* 200867255532373784442745261542645325315275374222849104412673 (0x20000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 401734511064747568885490523085290650630550748445698208825343 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 401734511064747568885490523085290650630550748445698208825343%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 401734511064747568885490523085290650630550748445698208825343 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000000000L'" (* 401734511064747568885490523085290650630550748445698208825344 (0x40000000000000000000000000000000000000000000000000L) *)
- := (Const 401734511064747568885490523085290650630550748445698208825344%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000L'" (* 401734511064747568885490523085290650630550748445698208825344 (0x40000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000000000001L'" (* 401734511064747568885490523085290650630550748445698208825345 (0x40000000000000000000000000000000000000000000000001L) *)
- := (Const 401734511064747568885490523085290650630550748445698208825345%Z).
-Notation "'0x40000000000000000000000000000000000000000000000001L'" (* 401734511064747568885490523085290650630550748445698208825345 (0x40000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 803469022129495137770981046170581301261101496891396417650687 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 803469022129495137770981046170581301261101496891396417650687%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 803469022129495137770981046170581301261101496891396417650687 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000000000L'" (* 803469022129495137770981046170581301261101496891396417650688 (0x80000000000000000000000000000000000000000000000000L) *)
- := (Const 803469022129495137770981046170581301261101496891396417650688%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000L'" (* 803469022129495137770981046170581301261101496891396417650688 (0x80000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000000000001L'" (* 803469022129495137770981046170581301261101496891396417650689 (0x80000000000000000000000000000000000000000000000001L) *)
- := (Const 803469022129495137770981046170581301261101496891396417650689%Z).
-Notation "'0x80000000000000000000000000000000000000000000000001L'" (* 803469022129495137770981046170581301261101496891396417650689 (0x80000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1606938044258990275541962092341162602522202993782792835301375 (0xffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1606938044258990275541962092341162602522202993782792835301375%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1606938044258990275541962092341162602522202993782792835301375 (0xffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000000000L'" (* 1606938044258990275541962092341162602522202993782792835301376 (0x100000000000000000000000000000000000000000000000000L) *)
- := (Const 1606938044258990275541962092341162602522202993782792835301376%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000L'" (* 1606938044258990275541962092341162602522202993782792835301376 (0x100000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000000000001L'" (* 1606938044258990275541962092341162602522202993782792835301377 (0x100000000000000000000000000000000000000000000000001L) *)
- := (Const 1606938044258990275541962092341162602522202993782792835301377%Z).
-Notation "'0x100000000000000000000000000000000000000000000000001L'" (* 1606938044258990275541962092341162602522202993782792835301377 (0x100000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3213876088517980551083924184682325205044405987565585670602751 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3213876088517980551083924184682325205044405987565585670602751%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3213876088517980551083924184682325205044405987565585670602751 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000000000L'" (* 3213876088517980551083924184682325205044405987565585670602752 (0x200000000000000000000000000000000000000000000000000L) *)
- := (Const 3213876088517980551083924184682325205044405987565585670602752%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000L'" (* 3213876088517980551083924184682325205044405987565585670602752 (0x200000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000000000001L'" (* 3213876088517980551083924184682325205044405987565585670602753 (0x200000000000000000000000000000000000000000000000001L) *)
- := (Const 3213876088517980551083924184682325205044405987565585670602753%Z).
-Notation "'0x200000000000000000000000000000000000000000000000001L'" (* 3213876088517980551083924184682325205044405987565585670602753 (0x200000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6427752177035961102167848369364650410088811975131171341205503 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 6427752177035961102167848369364650410088811975131171341205503%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6427752177035961102167848369364650410088811975131171341205503 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000000000L'" (* 6427752177035961102167848369364650410088811975131171341205504 (0x400000000000000000000000000000000000000000000000000L) *)
- := (Const 6427752177035961102167848369364650410088811975131171341205504%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000L'" (* 6427752177035961102167848369364650410088811975131171341205504 (0x400000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000000000001L'" (* 6427752177035961102167848369364650410088811975131171341205505 (0x400000000000000000000000000000000000000000000000001L) *)
- := (Const 6427752177035961102167848369364650410088811975131171341205505%Z).
-Notation "'0x400000000000000000000000000000000000000000000000001L'" (* 6427752177035961102167848369364650410088811975131171341205505 (0x400000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 12855504354071922204335696738729300820177623950262342682411007 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 12855504354071922204335696738729300820177623950262342682411007%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 12855504354071922204335696738729300820177623950262342682411007 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000000000L'" (* 12855504354071922204335696738729300820177623950262342682411008 (0x800000000000000000000000000000000000000000000000000L) *)
- := (Const 12855504354071922204335696738729300820177623950262342682411008%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000L'" (* 12855504354071922204335696738729300820177623950262342682411008 (0x800000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000000000001L'" (* 12855504354071922204335696738729300820177623950262342682411009 (0x800000000000000000000000000000000000000000000000001L) *)
- := (Const 12855504354071922204335696738729300820177623950262342682411009%Z).
-Notation "'0x800000000000000000000000000000000000000000000000001L'" (* 12855504354071922204335696738729300820177623950262342682411009 (0x800000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 25711008708143844408671393477458601640355247900524685364822015 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 25711008708143844408671393477458601640355247900524685364822015%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 25711008708143844408671393477458601640355247900524685364822015 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000000000L'" (* 25711008708143844408671393477458601640355247900524685364822016 (0x1000000000000000000000000000000000000000000000000000L) *)
- := (Const 25711008708143844408671393477458601640355247900524685364822016%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000L'" (* 25711008708143844408671393477458601640355247900524685364822016 (0x1000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000000000001L'" (* 25711008708143844408671393477458601640355247900524685364822017 (0x1000000000000000000000000000000000000000000000000001L) *)
- := (Const 25711008708143844408671393477458601640355247900524685364822017%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000001L'" (* 25711008708143844408671393477458601640355247900524685364822017 (0x1000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 51422017416287688817342786954917203280710495801049370729644031 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 51422017416287688817342786954917203280710495801049370729644031%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 51422017416287688817342786954917203280710495801049370729644031 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000000000L'" (* 51422017416287688817342786954917203280710495801049370729644032 (0x2000000000000000000000000000000000000000000000000000L) *)
- := (Const 51422017416287688817342786954917203280710495801049370729644032%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000L'" (* 51422017416287688817342786954917203280710495801049370729644032 (0x2000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000000000001L'" (* 51422017416287688817342786954917203280710495801049370729644033 (0x2000000000000000000000000000000000000000000000000001L) *)
- := (Const 51422017416287688817342786954917203280710495801049370729644033%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000001L'" (* 51422017416287688817342786954917203280710495801049370729644033 (0x2000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 102844034832575377634685573909834406561420991602098741459288063 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 102844034832575377634685573909834406561420991602098741459288063%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 102844034832575377634685573909834406561420991602098741459288063 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000000000L'" (* 102844034832575377634685573909834406561420991602098741459288064 (0x4000000000000000000000000000000000000000000000000000L) *)
- := (Const 102844034832575377634685573909834406561420991602098741459288064%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000L'" (* 102844034832575377634685573909834406561420991602098741459288064 (0x4000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000000000001L'" (* 102844034832575377634685573909834406561420991602098741459288065 (0x4000000000000000000000000000000000000000000000000001L) *)
- := (Const 102844034832575377634685573909834406561420991602098741459288065%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000001L'" (* 102844034832575377634685573909834406561420991602098741459288065 (0x4000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 205688069665150755269371147819668813122841983204197482918576127 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 205688069665150755269371147819668813122841983204197482918576127%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 205688069665150755269371147819668813122841983204197482918576127 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000000000L'" (* 205688069665150755269371147819668813122841983204197482918576128 (0x8000000000000000000000000000000000000000000000000000L) *)
- := (Const 205688069665150755269371147819668813122841983204197482918576128%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000L'" (* 205688069665150755269371147819668813122841983204197482918576128 (0x8000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000000000001L'" (* 205688069665150755269371147819668813122841983204197482918576129 (0x8000000000000000000000000000000000000000000000000001L) *)
- := (Const 205688069665150755269371147819668813122841983204197482918576129%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000001L'" (* 205688069665150755269371147819668813122841983204197482918576129 (0x8000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 411376139330301510538742295639337626245683966408394965837152255 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 411376139330301510538742295639337626245683966408394965837152255%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 411376139330301510538742295639337626245683966408394965837152255 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000000000000L'" (* 411376139330301510538742295639337626245683966408394965837152256 (0x10000000000000000000000000000000000000000000000000000L) *)
- := (Const 411376139330301510538742295639337626245683966408394965837152256%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000L'" (* 411376139330301510538742295639337626245683966408394965837152256 (0x10000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000000000000001L'" (* 411376139330301510538742295639337626245683966408394965837152257 (0x10000000000000000000000000000000000000000000000000001L) *)
- := (Const 411376139330301510538742295639337626245683966408394965837152257%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000001L'" (* 411376139330301510538742295639337626245683966408394965837152257 (0x10000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 822752278660603021077484591278675252491367932816789931674304511 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 822752278660603021077484591278675252491367932816789931674304511%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 822752278660603021077484591278675252491367932816789931674304511 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000000000000L'" (* 822752278660603021077484591278675252491367932816789931674304512 (0x20000000000000000000000000000000000000000000000000000L) *)
- := (Const 822752278660603021077484591278675252491367932816789931674304512%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000L'" (* 822752278660603021077484591278675252491367932816789931674304512 (0x20000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000000000000001L'" (* 822752278660603021077484591278675252491367932816789931674304513 (0x20000000000000000000000000000000000000000000000000001L) *)
- := (Const 822752278660603021077484591278675252491367932816789931674304513%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000001L'" (* 822752278660603021077484591278675252491367932816789931674304513 (0x20000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1645504557321206042154969182557350504982735865633579863348609023 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1645504557321206042154969182557350504982735865633579863348609023%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1645504557321206042154969182557350504982735865633579863348609023 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000000000000L'" (* 1645504557321206042154969182557350504982735865633579863348609024 (0x40000000000000000000000000000000000000000000000000000L) *)
- := (Const 1645504557321206042154969182557350504982735865633579863348609024%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000L'" (* 1645504557321206042154969182557350504982735865633579863348609024 (0x40000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000000000000001L'" (* 1645504557321206042154969182557350504982735865633579863348609025 (0x40000000000000000000000000000000000000000000000000001L) *)
- := (Const 1645504557321206042154969182557350504982735865633579863348609025%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000001L'" (* 1645504557321206042154969182557350504982735865633579863348609025 (0x40000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3291009114642412084309938365114701009965471731267159726697218047 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3291009114642412084309938365114701009965471731267159726697218047%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3291009114642412084309938365114701009965471731267159726697218047 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000000000000L'" (* 3291009114642412084309938365114701009965471731267159726697218048 (0x80000000000000000000000000000000000000000000000000000L) *)
- := (Const 3291009114642412084309938365114701009965471731267159726697218048%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000L'" (* 3291009114642412084309938365114701009965471731267159726697218048 (0x80000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000000000000001L'" (* 3291009114642412084309938365114701009965471731267159726697218049 (0x80000000000000000000000000000000000000000000000000001L) *)
- := (Const 3291009114642412084309938365114701009965471731267159726697218049%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000001L'" (* 3291009114642412084309938365114701009965471731267159726697218049 (0x80000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6582018229284824168619876730229402019930943462534319453394436095 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 6582018229284824168619876730229402019930943462534319453394436095%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6582018229284824168619876730229402019930943462534319453394436095 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000000000000L'" (* 6582018229284824168619876730229402019930943462534319453394436096 (0x100000000000000000000000000000000000000000000000000000L) *)
- := (Const 6582018229284824168619876730229402019930943462534319453394436096%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000L'" (* 6582018229284824168619876730229402019930943462534319453394436096 (0x100000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000000000000001L'" (* 6582018229284824168619876730229402019930943462534319453394436097 (0x100000000000000000000000000000000000000000000000000001L) *)
- := (Const 6582018229284824168619876730229402019930943462534319453394436097%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000001L'" (* 6582018229284824168619876730229402019930943462534319453394436097 (0x100000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 13164036458569648337239753460458804039861886925068638906788872191 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 13164036458569648337239753460458804039861886925068638906788872191%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 13164036458569648337239753460458804039861886925068638906788872191 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000000000000L'" (* 13164036458569648337239753460458804039861886925068638906788872192 (0x200000000000000000000000000000000000000000000000000000L) *)
- := (Const 13164036458569648337239753460458804039861886925068638906788872192%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000L'" (* 13164036458569648337239753460458804039861886925068638906788872192 (0x200000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000000000000001L'" (* 13164036458569648337239753460458804039861886925068638906788872193 (0x200000000000000000000000000000000000000000000000000001L) *)
- := (Const 13164036458569648337239753460458804039861886925068638906788872193%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000001L'" (* 13164036458569648337239753460458804039861886925068638906788872193 (0x200000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 26328072917139296674479506920917608079723773850137277813577744383 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 26328072917139296674479506920917608079723773850137277813577744383%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 26328072917139296674479506920917608079723773850137277813577744383 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000000000000L'" (* 26328072917139296674479506920917608079723773850137277813577744384 (0x400000000000000000000000000000000000000000000000000000L) *)
- := (Const 26328072917139296674479506920917608079723773850137277813577744384%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000L'" (* 26328072917139296674479506920917608079723773850137277813577744384 (0x400000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000000000000001L'" (* 26328072917139296674479506920917608079723773850137277813577744385 (0x400000000000000000000000000000000000000000000000000001L) *)
- := (Const 26328072917139296674479506920917608079723773850137277813577744385%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000001L'" (* 26328072917139296674479506920917608079723773850137277813577744385 (0x400000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 52656145834278593348959013841835216159447547700274555627155488767 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 52656145834278593348959013841835216159447547700274555627155488767%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 52656145834278593348959013841835216159447547700274555627155488767 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000000000000L'" (* 52656145834278593348959013841835216159447547700274555627155488768 (0x800000000000000000000000000000000000000000000000000000L) *)
- := (Const 52656145834278593348959013841835216159447547700274555627155488768%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000L'" (* 52656145834278593348959013841835216159447547700274555627155488768 (0x800000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000000000000001L'" (* 52656145834278593348959013841835216159447547700274555627155488769 (0x800000000000000000000000000000000000000000000000000001L) *)
- := (Const 52656145834278593348959013841835216159447547700274555627155488769%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000001L'" (* 52656145834278593348959013841835216159447547700274555627155488769 (0x800000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 105312291668557186697918027683670432318895095400549111254310977535 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 105312291668557186697918027683670432318895095400549111254310977535%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 105312291668557186697918027683670432318895095400549111254310977535 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000000000000L'" (* 105312291668557186697918027683670432318895095400549111254310977536 (0x1000000000000000000000000000000000000000000000000000000L) *)
- := (Const 105312291668557186697918027683670432318895095400549111254310977536%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000L'" (* 105312291668557186697918027683670432318895095400549111254310977536 (0x1000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000000000000001L'" (* 105312291668557186697918027683670432318895095400549111254310977537 (0x1000000000000000000000000000000000000000000000000000001L) *)
- := (Const 105312291668557186697918027683670432318895095400549111254310977537%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000001L'" (* 105312291668557186697918027683670432318895095400549111254310977537 (0x1000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 210624583337114373395836055367340864637790190801098222508621955071 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 210624583337114373395836055367340864637790190801098222508621955071%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 210624583337114373395836055367340864637790190801098222508621955071 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000000000000L'" (* 210624583337114373395836055367340864637790190801098222508621955072 (0x2000000000000000000000000000000000000000000000000000000L) *)
- := (Const 210624583337114373395836055367340864637790190801098222508621955072%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000L'" (* 210624583337114373395836055367340864637790190801098222508621955072 (0x2000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000000000000001L'" (* 210624583337114373395836055367340864637790190801098222508621955073 (0x2000000000000000000000000000000000000000000000000000001L) *)
- := (Const 210624583337114373395836055367340864637790190801098222508621955073%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000001L'" (* 210624583337114373395836055367340864637790190801098222508621955073 (0x2000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 421249166674228746791672110734681729275580381602196445017243910143 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 421249166674228746791672110734681729275580381602196445017243910143%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 421249166674228746791672110734681729275580381602196445017243910143 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000000000000L'" (* 421249166674228746791672110734681729275580381602196445017243910144 (0x4000000000000000000000000000000000000000000000000000000L) *)
- := (Const 421249166674228746791672110734681729275580381602196445017243910144%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000L'" (* 421249166674228746791672110734681729275580381602196445017243910144 (0x4000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000000000000001L'" (* 421249166674228746791672110734681729275580381602196445017243910145 (0x4000000000000000000000000000000000000000000000000000001L) *)
- := (Const 421249166674228746791672110734681729275580381602196445017243910145%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000001L'" (* 421249166674228746791672110734681729275580381602196445017243910145 (0x4000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 842498333348457493583344221469363458551160763204392890034487820287 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 842498333348457493583344221469363458551160763204392890034487820287%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 842498333348457493583344221469363458551160763204392890034487820287 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000000000000L'" (* 842498333348457493583344221469363458551160763204392890034487820288 (0x8000000000000000000000000000000000000000000000000000000L) *)
- := (Const 842498333348457493583344221469363458551160763204392890034487820288%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000L'" (* 842498333348457493583344221469363458551160763204392890034487820288 (0x8000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000000000000001L'" (* 842498333348457493583344221469363458551160763204392890034487820289 (0x8000000000000000000000000000000000000000000000000000001L) *)
- := (Const 842498333348457493583344221469363458551160763204392890034487820289%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000001L'" (* 842498333348457493583344221469363458551160763204392890034487820289 (0x8000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1684996666696914987166688442938726917102321526408785780068975640575 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1684996666696914987166688442938726917102321526408785780068975640575%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1684996666696914987166688442938726917102321526408785780068975640575 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000000000000000L'" (* 1684996666696914987166688442938726917102321526408785780068975640576 (0x10000000000000000000000000000000000000000000000000000000L) *)
- := (Const 1684996666696914987166688442938726917102321526408785780068975640576%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000000L'" (* 1684996666696914987166688442938726917102321526408785780068975640576 (0x10000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000000000000000001L'" (* 1684996666696914987166688442938726917102321526408785780068975640577 (0x10000000000000000000000000000000000000000000000000000001L) *)
- := (Const 1684996666696914987166688442938726917102321526408785780068975640577%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000001L'" (* 1684996666696914987166688442938726917102321526408785780068975640577 (0x10000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3369993333393829974333376885877453834204643052817571560137951281151 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3369993333393829974333376885877453834204643052817571560137951281151%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3369993333393829974333376885877453834204643052817571560137951281151 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000000000000000L'" (* 3369993333393829974333376885877453834204643052817571560137951281152 (0x20000000000000000000000000000000000000000000000000000000L) *)
- := (Const 3369993333393829974333376885877453834204643052817571560137951281152%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000000L'" (* 3369993333393829974333376885877453834204643052817571560137951281152 (0x20000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000000000000000001L'" (* 3369993333393829974333376885877453834204643052817571560137951281153 (0x20000000000000000000000000000000000000000000000000000001L) *)
- := (Const 3369993333393829974333376885877453834204643052817571560137951281153%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000001L'" (* 3369993333393829974333376885877453834204643052817571560137951281153 (0x20000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6739986666787659948666753771754907668409286105635143120275902562303 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 6739986666787659948666753771754907668409286105635143120275902562303%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6739986666787659948666753771754907668409286105635143120275902562303 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000000000000000L'" (* 6739986666787659948666753771754907668409286105635143120275902562304 (0x40000000000000000000000000000000000000000000000000000000L) *)
- := (Const 6739986666787659948666753771754907668409286105635143120275902562304%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000000L'" (* 6739986666787659948666753771754907668409286105635143120275902562304 (0x40000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000000000000000001L'" (* 6739986666787659948666753771754907668409286105635143120275902562305 (0x40000000000000000000000000000000000000000000000000000001L) *)
- := (Const 6739986666787659948666753771754907668409286105635143120275902562305%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000001L'" (* 6739986666787659948666753771754907668409286105635143120275902562305 (0x40000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 13479973333575319897333507543509815336818572211270286240551805124607 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 13479973333575319897333507543509815336818572211270286240551805124607%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 13479973333575319897333507543509815336818572211270286240551805124607 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000000000000000L'" (* 13479973333575319897333507543509815336818572211270286240551805124608 (0x80000000000000000000000000000000000000000000000000000000L) *)
- := (Const 13479973333575319897333507543509815336818572211270286240551805124608%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000000L'" (* 13479973333575319897333507543509815336818572211270286240551805124608 (0x80000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000000000000000001L'" (* 13479973333575319897333507543509815336818572211270286240551805124609 (0x80000000000000000000000000000000000000000000000000000001L) *)
- := (Const 13479973333575319897333507543509815336818572211270286240551805124609%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000001L'" (* 13479973333575319897333507543509815336818572211270286240551805124609 (0x80000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 26959946667150639794667015087019630673637144422540572481103610249215 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 26959946667150639794667015087019630673637144422540572481103610249215%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 26959946667150639794667015087019630673637144422540572481103610249215 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000000000000000L'" (* 26959946667150639794667015087019630673637144422540572481103610249216 (0x100000000000000000000000000000000000000000000000000000000L) *)
- := (Const 26959946667150639794667015087019630673637144422540572481103610249216%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000000L'" (* 26959946667150639794667015087019630673637144422540572481103610249216 (0x100000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000000000000000001L'" (* 26959946667150639794667015087019630673637144422540572481103610249217 (0x100000000000000000000000000000000000000000000000000000001L) *)
- := (Const 26959946667150639794667015087019630673637144422540572481103610249217%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000001L'" (* 26959946667150639794667015087019630673637144422540572481103610249217 (0x100000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 53919893334301279589334030174039261347274288845081144962207220498431 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 53919893334301279589334030174039261347274288845081144962207220498431%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 53919893334301279589334030174039261347274288845081144962207220498431 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000000000000000L'" (* 53919893334301279589334030174039261347274288845081144962207220498432 (0x200000000000000000000000000000000000000000000000000000000L) *)
- := (Const 53919893334301279589334030174039261347274288845081144962207220498432%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000000L'" (* 53919893334301279589334030174039261347274288845081144962207220498432 (0x200000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000000000000000001L'" (* 53919893334301279589334030174039261347274288845081144962207220498433 (0x200000000000000000000000000000000000000000000000000000001L) *)
- := (Const 53919893334301279589334030174039261347274288845081144962207220498433%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000001L'" (* 53919893334301279589334030174039261347274288845081144962207220498433 (0x200000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 107839786668602559178668060348078522694548577690162289924414440996863 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 107839786668602559178668060348078522694548577690162289924414440996863%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 107839786668602559178668060348078522694548577690162289924414440996863 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000000000000000L'" (* 107839786668602559178668060348078522694548577690162289924414440996864 (0x400000000000000000000000000000000000000000000000000000000L) *)
- := (Const 107839786668602559178668060348078522694548577690162289924414440996864%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000000L'" (* 107839786668602559178668060348078522694548577690162289924414440996864 (0x400000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000000000000000001L'" (* 107839786668602559178668060348078522694548577690162289924414440996865 (0x400000000000000000000000000000000000000000000000000000001L) *)
- := (Const 107839786668602559178668060348078522694548577690162289924414440996865%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000001L'" (* 107839786668602559178668060348078522694548577690162289924414440996865 (0x400000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 215679573337205118357336120696157045389097155380324579848828881993727 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 215679573337205118357336120696157045389097155380324579848828881993727%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 215679573337205118357336120696157045389097155380324579848828881993727 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000000000000000L'" (* 215679573337205118357336120696157045389097155380324579848828881993728 (0x800000000000000000000000000000000000000000000000000000000L) *)
- := (Const 215679573337205118357336120696157045389097155380324579848828881993728%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000000L'" (* 215679573337205118357336120696157045389097155380324579848828881993728 (0x800000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000000000000000001L'" (* 215679573337205118357336120696157045389097155380324579848828881993729 (0x800000000000000000000000000000000000000000000000000000001L) *)
- := (Const 215679573337205118357336120696157045389097155380324579848828881993729%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000001L'" (* 215679573337205118357336120696157045389097155380324579848828881993729 (0x800000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 431359146674410236714672241392314090778194310760649159697657763987455 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 431359146674410236714672241392314090778194310760649159697657763987455%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 431359146674410236714672241392314090778194310760649159697657763987455 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000L'" (* 431359146674410236714672241392314090778194310760649159697657763987456 (0x1000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 431359146674410236714672241392314090778194310760649159697657763987456%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000L'" (* 431359146674410236714672241392314090778194310760649159697657763987456 (0x1000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000000000000000001L'" (* 431359146674410236714672241392314090778194310760649159697657763987457 (0x1000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 431359146674410236714672241392314090778194310760649159697657763987457%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000001L'" (* 431359146674410236714672241392314090778194310760649159697657763987457 (0x1000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 862718293348820473429344482784628181556388621521298319395315527974911 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 862718293348820473429344482784628181556388621521298319395315527974911%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 862718293348820473429344482784628181556388621521298319395315527974911 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000L'" (* 862718293348820473429344482784628181556388621521298319395315527974912 (0x2000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 862718293348820473429344482784628181556388621521298319395315527974912%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000L'" (* 862718293348820473429344482784628181556388621521298319395315527974912 (0x2000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000000000000000001L'" (* 862718293348820473429344482784628181556388621521298319395315527974913 (0x2000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 862718293348820473429344482784628181556388621521298319395315527974913%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000001L'" (* 862718293348820473429344482784628181556388621521298319395315527974913 (0x2000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1725436586697640946858688965569256363112777243042596638790631055949823 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1725436586697640946858688965569256363112777243042596638790631055949823%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1725436586697640946858688965569256363112777243042596638790631055949823 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000L'" (* 1725436586697640946858688965569256363112777243042596638790631055949824 (0x4000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 1725436586697640946858688965569256363112777243042596638790631055949824%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000L'" (* 1725436586697640946858688965569256363112777243042596638790631055949824 (0x4000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000000000000000001L'" (* 1725436586697640946858688965569256363112777243042596638790631055949825 (0x4000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 1725436586697640946858688965569256363112777243042596638790631055949825%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000001L'" (* 1725436586697640946858688965569256363112777243042596638790631055949825 (0x4000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3450873173395281893717377931138512726225554486085193277581262111899647 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3450873173395281893717377931138512726225554486085193277581262111899647%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3450873173395281893717377931138512726225554486085193277581262111899647 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000L'" (* 3450873173395281893717377931138512726225554486085193277581262111899648 (0x8000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 3450873173395281893717377931138512726225554486085193277581262111899648%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000L'" (* 3450873173395281893717377931138512726225554486085193277581262111899648 (0x8000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000000000000000001L'" (* 3450873173395281893717377931138512726225554486085193277581262111899649 (0x8000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 3450873173395281893717377931138512726225554486085193277581262111899649%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000001L'" (* 3450873173395281893717377931138512726225554486085193277581262111899649 (0x8000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6901746346790563787434755862277025452451108972170386555162524223799295 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 6901746346790563787434755862277025452451108972170386555162524223799295%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 6901746346790563787434755862277025452451108972170386555162524223799295 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000000000000000000L'" (* 6901746346790563787434755862277025452451108972170386555162524223799296 (0x10000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 6901746346790563787434755862277025452451108972170386555162524223799296%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000000000L'" (* 6901746346790563787434755862277025452451108972170386555162524223799296 (0x10000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000000000000000000001L'" (* 6901746346790563787434755862277025452451108972170386555162524223799297 (0x10000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 6901746346790563787434755862277025452451108972170386555162524223799297%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000000001L'" (* 6901746346790563787434755862277025452451108972170386555162524223799297 (0x10000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 13803492693581127574869511724554050904902217944340773110325048447598591 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 13803492693581127574869511724554050904902217944340773110325048447598591%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 13803492693581127574869511724554050904902217944340773110325048447598591 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000000000000000000L'" (* 13803492693581127574869511724554050904902217944340773110325048447598592 (0x20000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 13803492693581127574869511724554050904902217944340773110325048447598592%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000000000L'" (* 13803492693581127574869511724554050904902217944340773110325048447598592 (0x20000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000000000000000000001L'" (* 13803492693581127574869511724554050904902217944340773110325048447598593 (0x20000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 13803492693581127574869511724554050904902217944340773110325048447598593%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000000001L'" (* 13803492693581127574869511724554050904902217944340773110325048447598593 (0x20000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 27606985387162255149739023449108101809804435888681546220650096895197183 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 27606985387162255149739023449108101809804435888681546220650096895197183%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 27606985387162255149739023449108101809804435888681546220650096895197183 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000000000000000000L'" (* 27606985387162255149739023449108101809804435888681546220650096895197184 (0x40000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 27606985387162255149739023449108101809804435888681546220650096895197184%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000000000L'" (* 27606985387162255149739023449108101809804435888681546220650096895197184 (0x40000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000000000000000000001L'" (* 27606985387162255149739023449108101809804435888681546220650096895197185 (0x40000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 27606985387162255149739023449108101809804435888681546220650096895197185%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000000001L'" (* 27606985387162255149739023449108101809804435888681546220650096895197185 (0x40000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 55213970774324510299478046898216203619608871777363092441300193790394367 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 55213970774324510299478046898216203619608871777363092441300193790394367%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 55213970774324510299478046898216203619608871777363092441300193790394367 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000000000000000000L'" (* 55213970774324510299478046898216203619608871777363092441300193790394368 (0x80000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 55213970774324510299478046898216203619608871777363092441300193790394368%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000000000L'" (* 55213970774324510299478046898216203619608871777363092441300193790394368 (0x80000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000000000000000000001L'" (* 55213970774324510299478046898216203619608871777363092441300193790394369 (0x80000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 55213970774324510299478046898216203619608871777363092441300193790394369%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000000001L'" (* 55213970774324510299478046898216203619608871777363092441300193790394369 (0x80000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 110427941548649020598956093796432407239217743554726184882600387580788735 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 110427941548649020598956093796432407239217743554726184882600387580788735%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 110427941548649020598956093796432407239217743554726184882600387580788735 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000000000000000000L'" (* 110427941548649020598956093796432407239217743554726184882600387580788736 (0x100000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 110427941548649020598956093796432407239217743554726184882600387580788736%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000000000L'" (* 110427941548649020598956093796432407239217743554726184882600387580788736 (0x100000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000000000000000000001L'" (* 110427941548649020598956093796432407239217743554726184882600387580788737 (0x100000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 110427941548649020598956093796432407239217743554726184882600387580788737%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000000001L'" (* 110427941548649020598956093796432407239217743554726184882600387580788737 (0x100000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 220855883097298041197912187592864814478435487109452369765200775161577471 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 220855883097298041197912187592864814478435487109452369765200775161577471%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 220855883097298041197912187592864814478435487109452369765200775161577471 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000000000000000000L'" (* 220855883097298041197912187592864814478435487109452369765200775161577472 (0x200000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 220855883097298041197912187592864814478435487109452369765200775161577472%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000000000L'" (* 220855883097298041197912187592864814478435487109452369765200775161577472 (0x200000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000000000000000000001L'" (* 220855883097298041197912187592864814478435487109452369765200775161577473 (0x200000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 220855883097298041197912187592864814478435487109452369765200775161577473%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000000001L'" (* 220855883097298041197912187592864814478435487109452369765200775161577473 (0x200000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 441711766194596082395824375185729628956870974218904739530401550323154943 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 441711766194596082395824375185729628956870974218904739530401550323154943%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 441711766194596082395824375185729628956870974218904739530401550323154943 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000000000000000000L'" (* 441711766194596082395824375185729628956870974218904739530401550323154944 (0x400000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 441711766194596082395824375185729628956870974218904739530401550323154944%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000000000L'" (* 441711766194596082395824375185729628956870974218904739530401550323154944 (0x400000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000000000000000000001L'" (* 441711766194596082395824375185729628956870974218904739530401550323154945 (0x400000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 441711766194596082395824375185729628956870974218904739530401550323154945%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000000001L'" (* 441711766194596082395824375185729628956870974218904739530401550323154945 (0x400000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 883423532389192164791648750371459257913741948437809479060803100646309887 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 883423532389192164791648750371459257913741948437809479060803100646309887%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 883423532389192164791648750371459257913741948437809479060803100646309887 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000000000000000000L'" (* 883423532389192164791648750371459257913741948437809479060803100646309888 (0x800000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 883423532389192164791648750371459257913741948437809479060803100646309888%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000000000L'" (* 883423532389192164791648750371459257913741948437809479060803100646309888 (0x800000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000000000000000000001L'" (* 883423532389192164791648750371459257913741948437809479060803100646309889 (0x800000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 883423532389192164791648750371459257913741948437809479060803100646309889%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000000001L'" (* 883423532389192164791648750371459257913741948437809479060803100646309889 (0x800000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1766847064778384329583297500742918515827483896875618958121606201292619775 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1766847064778384329583297500742918515827483896875618958121606201292619775%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1766847064778384329583297500742918515827483896875618958121606201292619775 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000000L'" (* 1766847064778384329583297500742918515827483896875618958121606201292619776 (0x1000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 1766847064778384329583297500742918515827483896875618958121606201292619776%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000000L'" (* 1766847064778384329583297500742918515827483896875618958121606201292619776 (0x1000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000001L'" (* 1766847064778384329583297500742918515827483896875618958121606201292619777 (0x1000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 1766847064778384329583297500742918515827483896875618958121606201292619777%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000001L'" (* 1766847064778384329583297500742918515827483896875618958121606201292619777 (0x1000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3533694129556768659166595001485837031654967793751237916243212402585239551 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3533694129556768659166595001485837031654967793751237916243212402585239551%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3533694129556768659166595001485837031654967793751237916243212402585239551 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000000L'" (* 3533694129556768659166595001485837031654967793751237916243212402585239552 (0x2000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 3533694129556768659166595001485837031654967793751237916243212402585239552%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000000L'" (* 3533694129556768659166595001485837031654967793751237916243212402585239552 (0x2000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000001L'" (* 3533694129556768659166595001485837031654967793751237916243212402585239553 (0x2000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 3533694129556768659166595001485837031654967793751237916243212402585239553%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000001L'" (* 3533694129556768659166595001485837031654967793751237916243212402585239553 (0x2000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 7067388259113537318333190002971674063309935587502475832486424805170479103 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 7067388259113537318333190002971674063309935587502475832486424805170479103%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 7067388259113537318333190002971674063309935587502475832486424805170479103 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000000L'" (* 7067388259113537318333190002971674063309935587502475832486424805170479104 (0x4000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 7067388259113537318333190002971674063309935587502475832486424805170479104%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000000L'" (* 7067388259113537318333190002971674063309935587502475832486424805170479104 (0x4000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000001L'" (* 7067388259113537318333190002971674063309935587502475832486424805170479105 (0x4000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 7067388259113537318333190002971674063309935587502475832486424805170479105%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000001L'" (* 7067388259113537318333190002971674063309935587502475832486424805170479105 (0x4000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 14134776518227074636666380005943348126619871175004951664972849610340958207 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 14134776518227074636666380005943348126619871175004951664972849610340958207%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 14134776518227074636666380005943348126619871175004951664972849610340958207 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000000L'" (* 14134776518227074636666380005943348126619871175004951664972849610340958208 (0x8000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 14134776518227074636666380005943348126619871175004951664972849610340958208%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000000L'" (* 14134776518227074636666380005943348126619871175004951664972849610340958208 (0x8000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000001L'" (* 14134776518227074636666380005943348126619871175004951664972849610340958209 (0x8000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 14134776518227074636666380005943348126619871175004951664972849610340958209%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000001L'" (* 14134776518227074636666380005943348126619871175004951664972849610340958209 (0x8000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 28269553036454149273332760011886696253239742350009903329945699220681916415 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 28269553036454149273332760011886696253239742350009903329945699220681916415%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 28269553036454149273332760011886696253239742350009903329945699220681916415 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x10000000000000000000000000000000000000000000000000000000000000L'" (* 28269553036454149273332760011886696253239742350009903329945699220681916416 (0x10000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 28269553036454149273332760011886696253239742350009903329945699220681916416%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000000000000L'" (* 28269553036454149273332760011886696253239742350009903329945699220681916416 (0x10000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x10000000000000000000000000000000000000000000000000000000000001L'" (* 28269553036454149273332760011886696253239742350009903329945699220681916417 (0x10000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 28269553036454149273332760011886696253239742350009903329945699220681916417%Z).
-Notation "'0x10000000000000000000000000000000000000000000000000000000000001L'" (* 28269553036454149273332760011886696253239742350009903329945699220681916417 (0x10000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 56539106072908298546665520023773392506479484700019806659891398441363832831 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 56539106072908298546665520023773392506479484700019806659891398441363832831%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 56539106072908298546665520023773392506479484700019806659891398441363832831 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x20000000000000000000000000000000000000000000000000000000000000L'" (* 56539106072908298546665520023773392506479484700019806659891398441363832832 (0x20000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 56539106072908298546665520023773392506479484700019806659891398441363832832%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000000000000L'" (* 56539106072908298546665520023773392506479484700019806659891398441363832832 (0x20000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x20000000000000000000000000000000000000000000000000000000000001L'" (* 56539106072908298546665520023773392506479484700019806659891398441363832833 (0x20000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 56539106072908298546665520023773392506479484700019806659891398441363832833%Z).
-Notation "'0x20000000000000000000000000000000000000000000000000000000000001L'" (* 56539106072908298546665520023773392506479484700019806659891398441363832833 (0x20000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 113078212145816597093331040047546785012958969400039613319782796882727665663 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 113078212145816597093331040047546785012958969400039613319782796882727665663%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 113078212145816597093331040047546785012958969400039613319782796882727665663 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x40000000000000000000000000000000000000000000000000000000000000L'" (* 113078212145816597093331040047546785012958969400039613319782796882727665664 (0x40000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 113078212145816597093331040047546785012958969400039613319782796882727665664%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000000000000L'" (* 113078212145816597093331040047546785012958969400039613319782796882727665664 (0x40000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x40000000000000000000000000000000000000000000000000000000000001L'" (* 113078212145816597093331040047546785012958969400039613319782796882727665665 (0x40000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 113078212145816597093331040047546785012958969400039613319782796882727665665%Z).
-Notation "'0x40000000000000000000000000000000000000000000000000000000000001L'" (* 113078212145816597093331040047546785012958969400039613319782796882727665665 (0x40000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 226156424291633194186662080095093570025917938800079226639565593765455331327 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 226156424291633194186662080095093570025917938800079226639565593765455331327%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 226156424291633194186662080095093570025917938800079226639565593765455331327 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x80000000000000000000000000000000000000000000000000000000000000L'" (* 226156424291633194186662080095093570025917938800079226639565593765455331328 (0x80000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 226156424291633194186662080095093570025917938800079226639565593765455331328%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000000000000L'" (* 226156424291633194186662080095093570025917938800079226639565593765455331328 (0x80000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x80000000000000000000000000000000000000000000000000000000000001L'" (* 226156424291633194186662080095093570025917938800079226639565593765455331329 (0x80000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 226156424291633194186662080095093570025917938800079226639565593765455331329%Z).
-Notation "'0x80000000000000000000000000000000000000000000000000000000000001L'" (* 226156424291633194186662080095093570025917938800079226639565593765455331329 (0x80000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 452312848583266388373324160190187140051835877600158453279131187530910662655 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 452312848583266388373324160190187140051835877600158453279131187530910662655%Z).
-Notation "'0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 452312848583266388373324160190187140051835877600158453279131187530910662655 (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x100000000000000000000000000000000000000000000000000000000000000L'" (* 452312848583266388373324160190187140051835877600158453279131187530910662656 (0x100000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 452312848583266388373324160190187140051835877600158453279131187530910662656%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000000000000L'" (* 452312848583266388373324160190187140051835877600158453279131187530910662656 (0x100000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x100000000000000000000000000000000000000000000000000000000000001L'" (* 452312848583266388373324160190187140051835877600158453279131187530910662657 (0x100000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 452312848583266388373324160190187140051835877600158453279131187530910662657%Z).
-Notation "'0x100000000000000000000000000000000000000000000000000000000000001L'" (* 452312848583266388373324160190187140051835877600158453279131187530910662657 (0x100000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 904625697166532776746648320380374280103671755200316906558262375061821325311 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 904625697166532776746648320380374280103671755200316906558262375061821325311%Z).
-Notation "'0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 904625697166532776746648320380374280103671755200316906558262375061821325311 (0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x200000000000000000000000000000000000000000000000000000000000000L'" (* 904625697166532776746648320380374280103671755200316906558262375061821325312 (0x200000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 904625697166532776746648320380374280103671755200316906558262375061821325312%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000000000000L'" (* 904625697166532776746648320380374280103671755200316906558262375061821325312 (0x200000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x200000000000000000000000000000000000000000000000000000000000001L'" (* 904625697166532776746648320380374280103671755200316906558262375061821325313 (0x200000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 904625697166532776746648320380374280103671755200316906558262375061821325313%Z).
-Notation "'0x200000000000000000000000000000000000000000000000000000000000001L'" (* 904625697166532776746648320380374280103671755200316906558262375061821325313 (0x200000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650623 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 1809251394333065553493296640760748560207343510400633813116524750123642650623%Z).
-Notation "'0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650623 (0x3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x400000000000000000000000000000000000000000000000000000000000000L'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650624 (0x400000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 1809251394333065553493296640760748560207343510400633813116524750123642650624%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000000000000L'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650624 (0x400000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x400000000000000000000000000000000000000000000000000000000000001L'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650625 (0x400000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 1809251394333065553493296640760748560207343510400633813116524750123642650625%Z).
-Notation "'0x400000000000000000000000000000000000000000000000000000000000001L'" (* 1809251394333065553493296640760748560207343510400633813116524750123642650625 (0x400000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301247 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 3618502788666131106986593281521497120414687020801267626233049500247285301247%Z).
-Notation "'0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301247 (0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x800000000000000000000000000000000000000000000000000000000000000L'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301248 (0x800000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 3618502788666131106986593281521497120414687020801267626233049500247285301248%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000000000000L'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301248 (0x800000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x800000000000000000000000000000000000000000000000000000000000001L'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301249 (0x800000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 3618502788666131106986593281521497120414687020801267626233049500247285301249%Z).
-Notation "'0x800000000000000000000000000000000000000000000000000000000000001L'" (* 3618502788666131106986593281521497120414687020801267626233049500247285301249 (0x800000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602495 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 7237005577332262213973186563042994240829374041602535252466099000494570602495%Z).
-Notation "'0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602495 (0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000000000L'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602496 (0x1000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 7237005577332262213973186563042994240829374041602535252466099000494570602496%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000000000L'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602496 (0x1000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000000001L'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602497 (0x1000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 7237005577332262213973186563042994240829374041602535252466099000494570602497%Z).
-Notation "'0x1000000000000000000000000000000000000000000000000000000000000001L'" (* 7237005577332262213973186563042994240829374041602535252466099000494570602497 (0x1000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204991 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 14474011154664524427946373126085988481658748083205070504932198000989141204991%Z).
-Notation "'0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204991 (0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000000000L'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204992 (0x2000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 14474011154664524427946373126085988481658748083205070504932198000989141204992%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000000000L'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204992 (0x2000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000000001L'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204993 (0x2000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 14474011154664524427946373126085988481658748083205070504932198000989141204993%Z).
-Notation "'0x2000000000000000000000000000000000000000000000000000000000000001L'" (* 14474011154664524427946373126085988481658748083205070504932198000989141204993 (0x2000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409983 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 28948022309329048855892746252171976963317496166410141009864396001978282409983%Z).
-Notation "'0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409983 (0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000000000L'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409984 (0x4000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 28948022309329048855892746252171976963317496166410141009864396001978282409984%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000000000L'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409984 (0x4000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000000001L'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409985 (0x4000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 28948022309329048855892746252171976963317496166410141009864396001978282409985%Z).
-Notation "'0x4000000000000000000000000000000000000000000000000000000000000001L'" (* 28948022309329048855892746252171976963317496166410141009864396001978282409985 (0x4000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~0~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819967 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const 57896044618658097711785492504343953926634992332820282019728792003956564819967%Z).
-Notation "'0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819967 (0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffL) *)
- := (Const WO~0~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000000000L'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819968 (0x8000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const 57896044618658097711785492504343953926634992332820282019728792003956564819968%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000000000L'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819968 (0x8000000000000000000000000000000000000000000000000000000000000000L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000000001L'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819969 (0x8000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const 57896044618658097711785492504343953926634992332820282019728792003956564819969%Z).
-Notation "'0x8000000000000000000000000000000000000000000000000000000000000001L'" (* 57896044618658097711785492504343953926634992332820282019728792003956564819969 (0x8000000000000000000000000000000000000000000000000000000000000001L) *)
- := (Const WO~1~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1).
diff --git a/src/Compilers/Z/Inline.v b/src/Compilers/Z/Inline.v
deleted file mode 100644
index cbe6dbfde..000000000
--- a/src/Compilers/Z/Inline.v
+++ /dev/null
@@ -1,10 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-
-Definition InlineConstAndOpp {t} (e : Expr t) : Expr t
- := @InlineConst base_type op (is_const_or_opp) t e.
-
-Definition InlineConst {t} (e : Expr t) : Expr t
- := @InlineConst base_type op (is_const) t e.
diff --git a/src/Compilers/Z/InlineConstAndOp.v b/src/Compilers/Z/InlineConstAndOp.v
deleted file mode 100644
index ad2a2ab58..000000000
--- a/src/Compilers/Z/InlineConstAndOp.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InlineConstAndOp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-
-Definition inline_const_and_opf {var} {t} (e : exprf _ _ t) : @exprf base_type op var t
- := @inline_const_and_opf base_type op interp_base_type (@interp_op) var make_const t e.
-Definition inline_const_and_op {var} {t} (e : expr _ _ t) : @expr base_type op var t
- := @inline_const_and_op base_type op interp_base_type (@interp_op) var make_const t e.
-Definition InlineConstAndOp {t} (e : Expr t) : Expr t
- := @InlineConstAndOp base_type op interp_base_type interp_op make_const t e.
diff --git a/src/Compilers/Z/InlineConstAndOpByRewrite.v b/src/Compilers/Z/InlineConstAndOpByRewrite.v
deleted file mode 100644
index f4403e12b..000000000
--- a/src/Compilers/Z/InlineConstAndOpByRewrite.v
+++ /dev/null
@@ -1,13 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InlineConstAndOpByRewrite.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-
-Module Export Rewrite.
- Definition inline_const_and_opf {var} {t} (e : exprf _ _ t) : @exprf base_type op var t
- := @inline_const_and_opf base_type op interp_base_type (@interp_op) var make_const t e.
- Definition inline_const_and_op {var} {t} (e : expr _ _ t) : @expr base_type op var t
- := @inline_const_and_op base_type op interp_base_type (@interp_op) var make_const t e.
- Definition InlineConstAndOp {t} (e : Expr t) : Expr t
- := @InlineConstAndOp base_type op interp_base_type interp_op make_const t e.
-End Rewrite.
diff --git a/src/Compilers/Z/InlineConstAndOpByRewriteInterp.v b/src/Compilers/Z/InlineConstAndOpByRewriteInterp.v
deleted file mode 100644
index e67442c71..000000000
--- a/src/Compilers/Z/InlineConstAndOpByRewriteInterp.v
+++ /dev/null
@@ -1,12 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InlineConstAndOpByRewriteInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.InlineConstAndOpByRewrite.
-
-Module Export Rewrite.
- Definition InterpInlineConstAndOp {t} (e : Expr t)
- : forall x, Interp (InlineConstAndOp e) x = Interp e x
- := @InterpInlineConstAndOp _ _ _ _ _ t e Syntax.Util.make_const_correct.
-
- Hint Rewrite @InterpInlineConstAndOp : reflective_interp.
-End Rewrite.
diff --git a/src/Compilers/Z/InlineConstAndOpByRewriteWf.v b/src/Compilers/Z/InlineConstAndOpByRewriteWf.v
deleted file mode 100644
index aa883f5e7..000000000
--- a/src/Compilers/Z/InlineConstAndOpByRewriteWf.v
+++ /dev/null
@@ -1,13 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineConstAndOpByRewriteWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.InlineConstAndOpByRewrite.
-
-Module Export Rewrite.
- Definition Wf_InlineConstAndOp {t} (e : Expr t) (Hwf : Wf e)
- : Wf (InlineConstAndOp e)
- := @Wf_InlineConstAndOp _ _ _ _ _ t e Hwf.
-
- Hint Resolve Wf_InlineConstAndOp : wf.
-End Rewrite.
diff --git a/src/Compilers/Z/InlineConstAndOpInterp.v b/src/Compilers/Z/InlineConstAndOpInterp.v
deleted file mode 100644
index 417085929..000000000
--- a/src/Compilers/Z/InlineConstAndOpInterp.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineConstAndOpInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.InlineConstAndOp.
-
-Definition InterpInlineConstAndOp {t} (e : Expr t) (Hwf : Wf e)
- : forall x, Interp (InlineConstAndOp e) x = Interp e x
- := @InterpInlineConstAndOp _ _ _ _ _ t e Hwf Syntax.Util.make_const_correct.
-
-Hint Rewrite @InterpInlineConstAndOp using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/Z/InlineConstAndOpWf.v b/src/Compilers/Z/InlineConstAndOpWf.v
deleted file mode 100644
index aa0f41d07..000000000
--- a/src/Compilers/Z/InlineConstAndOpWf.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineConstAndOpWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.InlineConstAndOp.
-
-Definition Wf_InlineConstAndOp {t} (e : Expr t) (Hwf : Wf e)
- : Wf (InlineConstAndOp e)
- := @Wf_InlineConstAndOp _ _ _ _ _ t e Hwf.
-
-Hint Resolve Wf_InlineConstAndOp : wf.
diff --git a/src/Compilers/Z/InlineInterp.v b/src/Compilers/Z/InlineInterp.v
deleted file mode 100644
index 6413a68cd..000000000
--- a/src/Compilers/Z/InlineInterp.v
+++ /dev/null
@@ -1,15 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Inline.
-
-Definition InterpInlineConstAndOpp {interp_base_type interp_op} {t} (e : Expr t) (Hwf : Wf e)
- : forall x, Compilers.Syntax.Interp interp_op (InlineConstAndOpp e) x = Compilers.Syntax.Interp interp_op e x
- := @InterpInlineConst _ interp_base_type _ _ _ t e Hwf.
-
-Definition InterpInlineConst {interp_base_type interp_op} {t} (e : Expr t) (Hwf : Wf e)
- : forall x, Compilers.Syntax.Interp interp_op (InlineConst e) x = Compilers.Syntax.Interp interp_op e x
- := @InterpInlineConst _ interp_base_type _ _ _ t e Hwf.
-
-Hint Rewrite @InterpInlineConstAndOpp @InterpInlineConst using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/Z/InlineWf.v b/src/Compilers/Z/InlineWf.v
deleted file mode 100644
index b7726987b..000000000
--- a/src/Compilers/Z/InlineWf.v
+++ /dev/null
@@ -1,15 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Inline.
-
-Definition Wf_InlineConstAndOpp {t} (e : Expr t) (Hwf : Wf e)
- : Wf (InlineConstAndOpp e)
- := @Wf_InlineConst _ _ _ t e Hwf.
-
-Definition Wf_InlineConst {t} (e : Expr t) (Hwf : Wf e)
- : Wf (InlineConst e)
- := @Wf_InlineConst _ _ _ t e Hwf.
-
-Hint Resolve Wf_InlineConstAndOpp Wf_InlineConst : wf.
diff --git a/src/Compilers/Z/InterpSideConditions.v b/src/Compilers/Z/InterpSideConditions.v
deleted file mode 100644
index bc3c8f6a9..000000000
--- a/src/Compilers/Z/InterpSideConditions.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.InterpSideConditions.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Notations.
-
-Definition InterpSideConditions {t} (e : Expr t) : interp_flat_type interp_base_type (domain t) -> pointed_Prop
- := InterpSideConditions interp_op (@interped_op_side_conditions) e.
diff --git a/src/Compilers/Z/JavaNotations.v b/src/Compilers/Z/JavaNotations.v
deleted file mode 100644
index d7ce672c1..000000000
--- a/src/Compilers/Z/JavaNotations.v
+++ /dev/null
@@ -1,882 +0,0 @@
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Export Crypto.Compilers.Z.HexNotationConstants.
-Require Export Crypto.Util.Notations.
-
-Reserved Notation "T x = A ; b" (at level 200, b at level 200, format "T x = A ; '//' b").
-Reserved Notation "T0 x , T1 y = A ; b" (at level 200, b at level 200, format "T0 x , T1 y = A ; '//' b").
-Reserved Notation "v == 0 ? a : b" (at level 40, a at level 10, b at level 10).
-Reserved Notation "x & y" (at level 40).
-(* N.B. M32 is 0xFFFFFFFFL, and is how to cast a 64-bit thing to a 32-bit thing in Java *)
-Reserved Notation "'M32' & x" (at level 200, x at level 9).
-
-Global Open Scope expr_scope.
-
-Notation "T x = A ; b" := (LetIn (tx:=T) A (fun x => b)) : expr_scope.
-Notation "T0 x , T1 y = A ; b" := (LetIn (tx:=Prod T0 T1) A (fun '((x, y)%core) => b)) : expr_scope.
-(* ??? Did I get M32 wrong? *)
-(*Notation "'(int)' x" := (Op (Cast _ (TWord 0)) x).
-Notation "'(int)' x" := (Op (Cast _ (TWord 1)) x).
-Notation "'(int)' x" := (Op (Cast _ (TWord 2)) x).
-Notation "'(int)' x" := (Op (Cast _ (TWord 3)) x).
-Notation "'(int)' x" := (Op (Cast _ (TWord 4)) x).
-Notation "'(int)' x" := (Op (Cast _ (TWord 5)) x).
-Notation "'M32' & x" := (Op (Cast _ (TWord 6)) x).
-Notation "'(uint128_t)' x" := (Op (Cast _ (TWord 7)) x).
-Notation "'(int)' x" := (Op (Cast _ (TWord 0)) (Var x)).
-Notation "'(int)' x" := (Op (Cast _ (TWord 1)) (Var x)).
-Notation "'(int)' x" := (Op (Cast _ (TWord 2)) (Var x)).
-Notation "'(int)' x" := (Op (Cast _ (TWord 3)) (Var x)).
-Notation "'(int)' x" := (Op (Cast _ (TWord 4)) (Var x)).
-Notation "'(int)' x" := (Op (Cast _ (TWord 5)) (Var x)).
-Notation "'M32' & x" := (Op (Cast _ (TWord 6)) (Var x)).
-Notation "'(uint128_t)' x" := (Op (Cast _ (TWord 7)) (Var x)).*)
-(* python:
-<<
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-types = ('int', 'int', 'int', 'int', 'int', 'int', 'long', 'uint128_t', 'uint256_t')
-for lgwordsz in range(0, len(types)):
- print('Notation "\'%s\'" := (Tbase (TWord %d)).' % (types[lgwordsz], lgwordsz))
-print('Notation ℤ := (Tbase TZ).')
-print('')
-cast_pat = "'(%s)' %s"
-for opn, op, lvl in (('*', 'Mul', 40), ('+', 'Add', 50), ('-', 'Sub', 50), ('&', 'Land', 40), ('<<', 'Shl', 30)):
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "x %s y" := (Op (%s _ _ _) (Pair %s %s)).' % (opn, op, lhs, rhs))
- for lgwordsz in range(0, len(types)):
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "%s %s %s" := (Op (%s (TWord _) (TWord _) (TWord %d)) (Pair %s %s)) (at level %d, x at level 9, y at level 9).'
- % (cast_pat % (types[lgwordsz], 'x'), opn, cast_pat % (types[lgwordsz], 'y'),
- op, lgwordsz, lhs, rhs, lvl))
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "%s %s %s" := (Op (%s (TWord %d) (TWord _) (TWord %d)) (Pair %s %s)) (at level %d, y at level 9).'
- % ('x', opn, cast_pat % (types[lgwordsz], 'y'),
- op, lgwordsz, lgwordsz, lhs, rhs, lvl))
- print('Notation "%s %s %s" := (Op (%s (TWord _) (TWord %d) (TWord %d)) (Pair %s %s)) (at level %d, x at level 9).'
- % (cast_pat % (types[lgwordsz], 'x'), opn, 'y',
- op, lgwordsz, lgwordsz, lhs, rhs, lvl))
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "x %s y" := (Op (%s (TWord %d) (TWord %d) (TWord %d)) (Pair %s %s)).'
- % (opn, op, lgwordsz, lgwordsz, lgwordsz, lhs, rhs))
-for opn, op, lvl in (('>>', 'Shr', 30),):
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "x %s y" := (Op (%s _ _ _) (Pair %s %s)).' % (opn, op, lhs, rhs))
- for lgwordsz in range(0, len(types)):
- for v1 in (False, True):
- for v2 in (False, True):
- lhs = ('x' if not v1 else '(Var x)')
- rhs = ('y' if not v2 else '(Var y)')
- print('Notation "\'(%s)\' ( x %s y )" := (Op (%s (TWord _) (TWord _) (TWord %d)) (Pair %s %s)) (at level %d).'
- % (types[lgwordsz], opn, op, lgwordsz, lhs, rhs, lvl))
-print('Notation Return x := (Var x).')
-print('Notation Java_like := (Expr base_type op _).')
->> *)
-Notation "'int'" := (Tbase (TWord 0)).
-Notation "'int'" := (Tbase (TWord 1)).
-Notation "'int'" := (Tbase (TWord 2)).
-Notation "'int'" := (Tbase (TWord 3)).
-Notation "'int'" := (Tbase (TWord 4)).
-Notation "'int'" := (Tbase (TWord 5)).
-Notation "'long'" := (Tbase (TWord 6)).
-Notation "'uint128_t'" := (Tbase (TWord 7)).
-Notation "'uint256_t'" := (Tbase (TWord 8)).
-Notation ℤ := (Tbase TZ).
-
-Notation "x * y" := (Op (Mul _ _ _) (Pair x y)).
-Notation "x * y" := (Op (Mul _ _ _) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul _ _ _) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul _ _ _) (Pair (Var x) (Var y))).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x * '(int)' y" := (Op (Mul (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(int)' y" := (Op (Mul (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x * y" := (Op (Mul (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))).
-Notation "'(long)' x * '(long)' y" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(long)' x * '(long)' y" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(long)' x * '(long)' y" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(long)' x * '(long)' y" := (Op (Mul (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(long)' y" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(long)' x * y" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(long)' y" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(long)' x * y" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(long)' y" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(long)' x * y" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(long)' y" := (Op (Mul (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(long)' x * y" := (Op (Mul (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))).
-Notation "'(uint128_t)' x * '(uint128_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint128_t)' x * '(uint128_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(uint128_t)' x * '(uint128_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint128_t)' x * '(uint128_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(uint128_t)' y" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(uint128_t)' x * y" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(uint128_t)' y" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(uint128_t)' x * y" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(uint128_t)' y" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(uint128_t)' x * y" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(uint128_t)' y" := (Op (Mul (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(uint128_t)' x * y" := (Op (Mul (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))).
-Notation "'(uint256_t)' x * '(uint256_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint256_t)' x * '(uint256_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(uint256_t)' x * '(uint256_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint256_t)' x * '(uint256_t)' y" := (Op (Mul (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x * '(uint256_t)' y" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(uint256_t)' x * y" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 40, x at level 9).
-Notation "x * '(uint256_t)' y" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(uint256_t)' x * y" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x * '(uint256_t)' y" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(uint256_t)' x * y" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x * '(uint256_t)' y" := (Op (Mul (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(uint256_t)' x * y" := (Op (Mul (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x * y" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair x y)).
-Notation "x * y" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))).
-Notation "x * y" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)).
-Notation "x * y" := (Op (Mul (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))).
-Notation "x + y" := (Op (Add _ _ _) (Pair x y)).
-Notation "x + y" := (Op (Add _ _ _) (Pair x (Var y))).
-Notation "x + y" := (Op (Add _ _ _) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add _ _ _) (Pair (Var x) (Var y))).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x + '(int)' y" := (Op (Add (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(int)' y" := (Op (Add (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x + y" := (Op (Add (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))).
-Notation "'(long)' x + '(long)' y" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(long)' x + '(long)' y" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(long)' x + '(long)' y" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(long)' x + '(long)' y" := (Op (Add (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(long)' y" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(long)' x + y" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(long)' y" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(long)' x + y" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(long)' y" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(long)' x + y" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(long)' y" := (Op (Add (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(long)' x + y" := (Op (Add (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))).
-Notation "'(uint128_t)' x + '(uint128_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint128_t)' x + '(uint128_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(uint128_t)' x + '(uint128_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint128_t)' x + '(uint128_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(uint128_t)' y" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(uint128_t)' x + y" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(uint128_t)' y" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(uint128_t)' x + y" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(uint128_t)' y" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(uint128_t)' x + y" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(uint128_t)' y" := (Op (Add (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(uint128_t)' x + y" := (Op (Add (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))).
-Notation "'(uint256_t)' x + '(uint256_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint256_t)' x + '(uint256_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(uint256_t)' x + '(uint256_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint256_t)' x + '(uint256_t)' y" := (Op (Add (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x + '(uint256_t)' y" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(uint256_t)' x + y" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 50, x at level 9).
-Notation "x + '(uint256_t)' y" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(uint256_t)' x + y" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x + '(uint256_t)' y" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(uint256_t)' x + y" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x + '(uint256_t)' y" := (Op (Add (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(uint256_t)' x + y" := (Op (Add (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x + y" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair x y)).
-Notation "x + y" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))).
-Notation "x + y" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)).
-Notation "x + y" := (Op (Add (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))).
-Notation "x - y" := (Op (Sub _ _ _) (Pair x y)).
-Notation "x - y" := (Op (Sub _ _ _) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub _ _ _) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub _ _ _) (Pair (Var x) (Var y))).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(int)' x - '(int)' y" := (Op (Sub (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(int)' y" := (Op (Sub (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(int)' x - y" := (Op (Sub (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))).
-Notation "'(long)' x - '(long)' y" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(long)' x - '(long)' y" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(long)' x - '(long)' y" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(long)' x - '(long)' y" := (Op (Sub (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(long)' y" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(long)' x - y" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(long)' y" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(long)' x - y" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(long)' y" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(long)' x - y" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(long)' y" := (Op (Sub (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(long)' x - y" := (Op (Sub (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))).
-Notation "'(uint128_t)' x - '(uint128_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint128_t)' x - '(uint128_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(uint128_t)' x - '(uint128_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint128_t)' x - '(uint128_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(uint128_t)' y" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(uint128_t)' x - y" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(uint128_t)' y" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(uint128_t)' x - y" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(uint128_t)' y" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(uint128_t)' x - y" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(uint128_t)' y" := (Op (Sub (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(uint128_t)' x - y" := (Op (Sub (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))).
-Notation "'(uint256_t)' x - '(uint256_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint256_t)' x - '(uint256_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "'(uint256_t)' x - '(uint256_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9, y at level 9).
-Notation "'(uint256_t)' x - '(uint256_t)' y" := (Op (Sub (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9, y at level 9).
-Notation "x - '(uint256_t)' y" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 50, y at level 9).
-Notation "'(uint256_t)' x - y" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 50, x at level 9).
-Notation "x - '(uint256_t)' y" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 50, y at level 9).
-Notation "'(uint256_t)' x - y" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 50, x at level 9).
-Notation "x - '(uint256_t)' y" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 50, y at level 9).
-Notation "'(uint256_t)' x - y" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 50, x at level 9).
-Notation "x - '(uint256_t)' y" := (Op (Sub (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, y at level 9).
-Notation "'(uint256_t)' x - y" := (Op (Sub (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 50, x at level 9).
-Notation "x - y" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair x y)).
-Notation "x - y" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))).
-Notation "x - y" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)).
-Notation "x - y" := (Op (Sub (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))).
-Notation "x & y" := (Op (Land _ _ _) (Pair x y)).
-Notation "x & y" := (Op (Land _ _ _) (Pair x (Var y))).
-Notation "x & y" := (Op (Land _ _ _) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land _ _ _) (Pair (Var x) (Var y))).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(int)' x & '(int)' y" := (Op (Land (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(int)' y" := (Op (Land (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(int)' x & y" := (Op (Land (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))).
-Notation "'(long)' x & '(long)' y" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(long)' x & '(long)' y" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(long)' x & '(long)' y" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(long)' x & '(long)' y" := (Op (Land (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(long)' y" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(long)' x & y" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(long)' y" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(long)' x & y" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(long)' y" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(long)' x & y" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(long)' y" := (Op (Land (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(long)' x & y" := (Op (Land (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))).
-Notation "'(uint128_t)' x & '(uint128_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint128_t)' x & '(uint128_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(uint128_t)' x & '(uint128_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint128_t)' x & '(uint128_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(uint128_t)' y" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(uint128_t)' x & y" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(uint128_t)' y" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(uint128_t)' x & y" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(uint128_t)' y" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(uint128_t)' x & y" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(uint128_t)' y" := (Op (Land (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(uint128_t)' x & y" := (Op (Land (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))).
-Notation "'(uint256_t)' x & '(uint256_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint256_t)' x & '(uint256_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "'(uint256_t)' x & '(uint256_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9, y at level 9).
-Notation "'(uint256_t)' x & '(uint256_t)' y" := (Op (Land (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9, y at level 9).
-Notation "x & '(uint256_t)' y" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 40, y at level 9).
-Notation "'(uint256_t)' x & y" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 40, x at level 9).
-Notation "x & '(uint256_t)' y" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 40, y at level 9).
-Notation "'(uint256_t)' x & y" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 40, x at level 9).
-Notation "x & '(uint256_t)' y" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 40, y at level 9).
-Notation "'(uint256_t)' x & y" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 40, x at level 9).
-Notation "x & '(uint256_t)' y" := (Op (Land (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, y at level 9).
-Notation "'(uint256_t)' x & y" := (Op (Land (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 40, x at level 9).
-Notation "x & y" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair x y)).
-Notation "x & y" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))).
-Notation "x & y" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)).
-Notation "x & y" := (Op (Land (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))).
-Notation "x << y" := (Op (Shl _ _ _) (Pair x y)).
-Notation "x << y" := (Op (Shl _ _ _) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl _ _ _) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl _ _ _) (Pair (Var x) (Var y))).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 0) (TWord 0)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 0) (TWord 0)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 0) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 0) (TWord 0) (TWord 0)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 0) (TWord 0) (TWord 0)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 0) (TWord 0) (TWord 0)) (Pair (Var x) (Var y))).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 1) (TWord 1)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 1) (TWord 1)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 1) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 1) (TWord 1) (TWord 1)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 1) (TWord 1) (TWord 1)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 1) (TWord 1) (TWord 1)) (Pair (Var x) (Var y))).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 2) (TWord 2)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 2) (TWord 2)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 2) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 2) (TWord 2) (TWord 2)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 2) (TWord 2) (TWord 2)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 2) (TWord 2) (TWord 2)) (Pair (Var x) (Var y))).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 3) (TWord 3)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 3) (TWord 3)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 3) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 3) (TWord 3) (TWord 3)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 3) (TWord 3) (TWord 3)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 3) (TWord 3) (TWord 3)) (Pair (Var x) (Var y))).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 4) (TWord 4)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 4) (TWord 4)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 4) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 4) (TWord 4) (TWord 4)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 4) (TWord 4) (TWord 4)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 4) (TWord 4) (TWord 4)) (Pair (Var x) (Var y))).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(int)' x << '(int)' y" := (Op (Shl (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 5) (TWord 5)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 5) (TWord 5)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(int)' y" := (Op (Shl (TWord 5) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(int)' x << y" := (Op (Shl (TWord _) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 5) (TWord 5) (TWord 5)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 5) (TWord 5) (TWord 5)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 5) (TWord 5) (TWord 5)) (Pair (Var x) (Var y))).
-Notation "'(long)' x << '(long)' y" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(long)' x << '(long)' y" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(long)' x << '(long)' y" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(long)' x << '(long)' y" := (Op (Shl (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(long)' y" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(long)' x << y" := (Op (Shl (TWord _) (TWord 6) (TWord 6)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(long)' y" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(long)' x << y" := (Op (Shl (TWord _) (TWord 6) (TWord 6)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(long)' y" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(long)' x << y" := (Op (Shl (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(long)' y" := (Op (Shl (TWord 6) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(long)' x << y" := (Op (Shl (TWord _) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 6) (TWord 6) (TWord 6)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 6) (TWord 6) (TWord 6)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 6) (TWord 6) (TWord 6)) (Pair (Var x) (Var y))).
-Notation "'(uint128_t)' x << '(uint128_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(uint128_t)' x << '(uint128_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(uint128_t)' x << '(uint128_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(uint128_t)' x << '(uint128_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(uint128_t)' y" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(uint128_t)' x << y" := (Op (Shl (TWord _) (TWord 7) (TWord 7)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(uint128_t)' y" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(uint128_t)' x << y" := (Op (Shl (TWord _) (TWord 7) (TWord 7)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(uint128_t)' y" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(uint128_t)' x << y" := (Op (Shl (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(uint128_t)' y" := (Op (Shl (TWord 7) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(uint128_t)' x << y" := (Op (Shl (TWord _) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 7) (TWord 7) (TWord 7)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 7) (TWord 7) (TWord 7)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 7) (TWord 7) (TWord 7)) (Pair (Var x) (Var y))).
-Notation "'(uint256_t)' x << '(uint256_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 30, x at level 9, y at level 9).
-Notation "'(uint256_t)' x << '(uint256_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "'(uint256_t)' x << '(uint256_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 30, x at level 9, y at level 9).
-Notation "'(uint256_t)' x << '(uint256_t)' y" := (Op (Shl (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 30, x at level 9, y at level 9).
-Notation "x << '(uint256_t)' y" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair x y)) (at level 30, y at level 9).
-Notation "'(uint256_t)' x << y" := (Op (Shl (TWord _) (TWord 8) (TWord 8)) (Pair x y)) (at level 30, x at level 9).
-Notation "x << '(uint256_t)' y" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 30, y at level 9).
-Notation "'(uint256_t)' x << y" := (Op (Shl (TWord _) (TWord 8) (TWord 8)) (Pair x (Var y))) (at level 30, x at level 9).
-Notation "x << '(uint256_t)' y" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 30, y at level 9).
-Notation "'(uint256_t)' x << y" := (Op (Shl (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) y)) (at level 30, x at level 9).
-Notation "x << '(uint256_t)' y" := (Op (Shl (TWord 8) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 30, y at level 9).
-Notation "'(uint256_t)' x << y" := (Op (Shl (TWord _) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))) (at level 30, x at level 9).
-Notation "x << y" := (Op (Shl (TWord 8) (TWord 8) (TWord 8)) (Pair x y)).
-Notation "x << y" := (Op (Shl (TWord 8) (TWord 8) (TWord 8)) (Pair x (Var y))).
-Notation "x << y" := (Op (Shl (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) y)).
-Notation "x << y" := (Op (Shl (TWord 8) (TWord 8) (TWord 8)) (Pair (Var x) (Var y))).
-Notation "x >> y" := (Op (Shr _ _ _) (Pair x y)).
-Notation "x >> y" := (Op (Shr _ _ _) (Pair x (Var y))).
-Notation "x >> y" := (Op (Shr _ _ _) (Pair (Var x) y)).
-Notation "x >> y" := (Op (Shr _ _ _) (Pair (Var x) (Var y))).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair x y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair x (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair (Var x) y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 0)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair x y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair x (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair (Var x) y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 1)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair x y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair x (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair (Var x) y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 2)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair x y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair x (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair (Var x) y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 3)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair x y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair x (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair (Var x) y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 4)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair x y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair x (Var y))) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair (Var x) y)) (at level 30).
-Notation "'(int)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 5)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(long)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair x y)) (at level 30).
-Notation "'(long)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair x (Var y))) (at level 30).
-Notation "'(long)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair (Var x) y)) (at level 30).
-Notation "'(long)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 6)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair x y)) (at level 30).
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair x (Var y))) (at level 30).
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair (Var x) y)) (at level 30).
-Notation "'(uint128_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 7)) (Pair (Var x) (Var y))) (at level 30).
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair x y)) (at level 30).
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair x (Var y))) (at level 30).
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair (Var x) y)) (at level 30).
-Notation "'(uint256_t)' ( x >> y )" := (Op (Shr (TWord _) (TWord _) (TWord 8)) (Pair (Var x) (Var y))) (at level 30).
-Notation Return x := (Var x).
-Notation Java_like := (Expr base_type op _).
diff --git a/src/Compilers/Z/MapCastByDeBruijn.v b/src/Compilers/Z/MapCastByDeBruijn.v
deleted file mode 100644
index 1985653d4..000000000
--- a/src/Compilers/Z/MapCastByDeBruijn.v
+++ /dev/null
@@ -1,28 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.MapCastByDeBruijn.
-Require Import Crypto.Compilers.Z.Syntax.
-
-Section language.
- Context {interp_base_type_bounds : base_type -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs))).
- Context {t : type base_type}.
-
- Definition MapCastCompile := @MapCastCompile base_type op t.
- Definition MapCastDoCast
- := @MapCastDoCast
- base_type op base_type_beq internal_base_type_dec_bl
- interp_base_type_bounds interp_op_bounds pick_typeb cast_op t.
- Definition MapCastDoInterp
- := @MapCastDoInterp
- base_type op base_type_beq internal_base_type_dec_bl
- (fun _ t => Op (OpConst 0%Z) TT)
- interp_base_type_bounds pick_typeb t.
- Definition MapCast e input_bounds
- := MapCastDoInterp input_bounds (MapCastDoCast input_bounds (MapCastCompile e)).
-End language.
diff --git a/src/Compilers/Z/MapCastByDeBruijnInterp.v b/src/Compilers/Z/MapCastByDeBruijnInterp.v
deleted file mode 100644
index 0103342f4..000000000
--- a/src/Compilers/Z/MapCastByDeBruijnInterp.v
+++ /dev/null
@@ -1,56 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.MapCastByDeBruijnInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.MapCastByDeBruijn.
-Require Import Crypto.Compilers.Z.InterpSideConditions.
-Require Import Crypto.Util.PointedProp.
-
-Section language.
- Context {interp_base_type_bounds : base_type -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs)))
- (cast_backb: forall t b, interp_base_type (pick_typeb t b) -> interp_base_type t).
- Let cast_back : forall t b, interp_flat_type interp_base_type (pick_type b) -> interp_flat_type interp_base_type t
- := fun t b => SmartFlatTypeMapUnInterp cast_backb.
- Context (inboundsb : forall t, interp_base_type_bounds t -> interp_base_type t -> Prop).
- Let inbounds : forall t, interp_flat_type interp_base_type_bounds t -> interp_flat_type interp_base_type t -> Prop
- := fun t => interp_flat_type_rel_pointwise inboundsb (t:=t).
- Context (interp_op_bounds_correct
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type t)
- (H : inbounds t bs v)
- (Hside : to_prop (interped_op_side_conditions opc v)),
- inbounds tR (interp_op_bounds t tR opc bs) (interp_op t tR opc v))
- (pull_cast_back
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type (pick_type bs))
- (H : inbounds t bs (cast_back t bs v))
- (Hside : to_prop (interped_op_side_conditions opc (cast_back t bs v))),
- interp_op t tR opc (cast_back t bs v)
- =
- cast_back _ _ (interp_op _ _ (cast_op _ _ opc bs) v)).
-
- Local Notation MapCast
- := (@MapCast interp_base_type_bounds interp_op_bounds pick_typeb cast_op).
-
- Lemma MapCastCorrect
- {t} (e : Expr t)
- (Hwf : Wf e)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- : forall {b} e' (He':MapCast e input_bounds = Some (existT _ b e'))
- v v' (Hv : @inbounds _ input_bounds v /\ cast_back _ _ v' = v)
- (Hside : to_prop (InterpSideConditions e v)),
- Compilers.Syntax.Interp interp_op_bounds e input_bounds = b
- /\ @inbounds _ b (Compilers.Syntax.Interp interp_op e v)
- /\ cast_back _ _ (Compilers.Syntax.Interp interp_op e' v') = (Compilers.Syntax.Interp interp_op e v).
- Proof using Type*.
- apply MapCastCorrect; auto using internal_base_type_dec_lb.
- Qed.
-End language.
diff --git a/src/Compilers/Z/MapCastByDeBruijnWf.v b/src/Compilers/Z/MapCastByDeBruijnWf.v
deleted file mode 100644
index 791e33886..000000000
--- a/src/Compilers/Z/MapCastByDeBruijnWf.v
+++ /dev/null
@@ -1,56 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Relations.
-Require Import Crypto.Compilers.MapCastByDeBruijnWf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.MapCastByDeBruijn.
-
-Section language.
- Context {interp_base_type_bounds : base_type -> Type}
- (interp_op_bounds : forall src dst, op src dst -> interp_flat_type interp_base_type_bounds src -> interp_flat_type interp_base_type_bounds dst)
- (pick_typeb : forall t, interp_base_type_bounds t -> base_type).
- Local Notation pick_type v := (SmartFlatTypeMap pick_typeb v).
- Context (cast_op : forall t tR (opc : op t tR) args_bs,
- op (pick_type args_bs) (pick_type (interp_op_bounds t tR opc args_bs)))
- (cast_backb: forall t b, interp_base_type (pick_typeb t b) -> interp_base_type t).
- Let cast_back : forall t b, interp_flat_type interp_base_type (pick_type b) -> interp_flat_type interp_base_type t
- := fun t b => SmartFlatTypeMapUnInterp cast_backb.
- Context (inboundsb : forall t, interp_base_type_bounds t -> interp_base_type t -> Prop).
- Let inbounds : forall t, interp_flat_type interp_base_type_bounds t -> interp_flat_type interp_base_type t -> Prop
- := fun t => interp_flat_type_rel_pointwise inboundsb (t:=t).
- Context (interp_op_bounds_correct
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type t)
- (H : inbounds t bs v),
- inbounds tR (interp_op_bounds t tR opc bs) (interp_op t tR opc v))
- (pull_cast_back
- : forall t tR opc bs
- (v : interp_flat_type interp_base_type (pick_type bs))
- (H : inbounds t bs (cast_back t bs v)),
- interp_op t tR opc (cast_back t bs v)
- =
- cast_back _ _ (interp_op _ _ (cast_op _ _ opc bs) v)).
-
- Local Notation MapCast
- := (@MapCast interp_base_type_bounds interp_op_bounds pick_typeb cast_op).
-
- Definition Wf_MapCast
- {t} (e : Expr t)
- (input_bounds : interp_flat_type interp_base_type_bounds (domain t))
- {b} e' (He' : MapCast e input_bounds = Some (existT _ b e'))
- (Hwf : Wf e)
- : Wf e'
- := @Wf_MapCast
- _ _ _ internal_base_type_dec_bl internal_base_type_dec_lb _ _ _ _ _
- t e input_bounds b e' He' Hwf.
- Definition Wf_MapCast_arrow
- {s d} (e : Expr (Arrow s d))
- (input_bounds : interp_flat_type interp_base_type_bounds s)
- {b} e' (He' : MapCast e input_bounds = Some (existT _ b e'))
- (Hwf : Wf e)
- : Wf e'
- := @Wf_MapCast_arrow
- _ _ _ internal_base_type_dec_bl internal_base_type_dec_lb _ _ _ _ _
- s d e input_bounds b e' He' Hwf.
-End language.
diff --git a/src/Compilers/Z/Named/DeadCodeElimination.v b/src/Compilers/Z/Named/DeadCodeElimination.v
deleted file mode 100644
index 449494e74..000000000
--- a/src/Compilers/Z/Named/DeadCodeElimination.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Coq.PArith.BinPos.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.DeadCodeElimination.
-Require Import Crypto.Compilers.Z.Syntax.
-
-Section language.
- Context {Name : Type}
- {Context : Context Name (fun _ : base_type => positive)}.
-
- Definition EliminateDeadCode {t} e ls
- := @EliminateDeadCode base_type op Name _ internal_base_type_dec_bl Context t e ls.
- Definition CompileAndEliminateDeadCode {t} e ls
- := @CompileAndEliminateDeadCode base_type op Name _ internal_base_type_dec_bl Context t e ls.
-End language.
diff --git a/src/Compilers/Z/Named/DeadCodeEliminationInterp.v b/src/Compilers/Z/Named/DeadCodeEliminationInterp.v
deleted file mode 100644
index 422e8c309..000000000
--- a/src/Compilers/Z/Named/DeadCodeEliminationInterp.v
+++ /dev/null
@@ -1,50 +0,0 @@
-Require Import Coq.PArith.BinPos.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Z.Named.DeadCodeElimination.
-Require Import Crypto.Compilers.Named.DeadCodeEliminationInterp.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Named.Syntax.
-
-Section language.
- Context {interp_base_type : base_type -> Type}
- {interp_op : forall s d, op s d -> interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d}
- {Name : Type}
- {InContext : Context Name (fun _ : base_type => positive)}
- {InContextOk : ContextOk InContext}
- {Name_beq : Name -> Name -> bool}
- {InterpContext : Context Name interp_base_type}
- {InterpContextOk : ContextOk InterpContext}
- (Name_bl : forall n1 n2, Name_beq n1 n2 = true -> n1 = n2)
- (Name_lb : forall n1 n2, n1 = n2 -> Name_beq n1 n2 = true).
-
- Local Notation EliminateDeadCode := (@EliminateDeadCode Name InContext).
- Local Notation PContext var := (@PositiveContext base_type var base_type_beq internal_base_type_dec_bl).
-
- Lemma interp_EliminateDeadCode
- t e new_names
- (ctxi_interp : PContext _)
- (ctxr_interp : InterpContext)
- eout v1 v2 x
- : @EliminateDeadCode t e new_names = Some eout
- -> interp (interp_op:=interp_op) (ctx:=ctxr_interp) eout x = Some v1
- -> interp (interp_op:=interp_op) (ctx:=ctxi_interp) e x = Some v2
- -> v1 = v2.
- Proof using InContextOk InterpContextOk Name_bl Name_lb.
- eapply interp_EliminateDeadCode; eauto using internal_base_type_dec_lb.
- Qed.
-
- Lemma InterpEliminateDeadCode
- t e new_names
- eout
- v1 v2 x
- : @EliminateDeadCode t e new_names = Some eout
- -> Interp (Context:=InterpContext) (interp_op:=interp_op) eout x = Some v1
- -> Interp (Context:=PContext _) (interp_op:=interp_op) e x = Some v2
- -> v1 = v2.
- Proof using InContextOk InterpContextOk Name_bl Name_lb.
- apply interp_EliminateDeadCode.
- Qed.
-End language.
diff --git a/src/Compilers/Z/Named/RewriteAddToAdc.v b/src/Compilers/Z/Named/RewriteAddToAdc.v
deleted file mode 100644
index 784f7003c..000000000
--- a/src/Compilers/Z/Named/RewriteAddToAdc.v
+++ /dev/null
@@ -1,147 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Named.GetNames.
-Require Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope Z_scope.
-
-Section named.
- Context {Name : Type}
- (name_beq : Name -> Name -> bool).
- Import Named.Syntax.
- Local Notation flat_type := (flat_type base_type).
- Local Notation type := (type base_type).
- Local Notation exprf := (@exprf base_type op Name).
- Local Notation expr := (@expr base_type op Name).
-
- Local Notation tZ := (Tbase TZ).
- Local Notation ADC bw c x y := (Op (@AddWithGetCarry bw TZ TZ TZ TZ TZ)
- (Pair (Pair (t1:=tZ) c (t2:=tZ) x) (t2:=tZ) y)).
- Local Notation ADD bw x y := (ADC bw (Op (OpConst 0) TT) x y).
- Local Notation ADX x y := (Op (@Add TZ TZ TZ) (Pair (t1:=tZ) x (t2:=tZ) y)).
- Local Infix "=Z?" := Z.eqb.
- Local Infix "=n?" := name_beq.
-
- Definition is_const_or_var {t} (v : exprf t)
- := match v with
- | Var _ _ => true
- | Op _ _ (OpConst _ _) TT => true
- | _ => false
- end.
-
- Fixpoint name_list_has_duplicate (ls : list Name) : bool
- := match ls with
- | nil => false
- | cons n ns
- => orb (name_list_has_duplicate ns)
- (List.fold_left orb (List.map (name_beq n) ns) false)
- end.
-
- Definition invertT t
- := option ((Name * Name * Z * exprf tZ * exprf tZ)
- * (Name * Name * Z * exprf tZ * Name)
- * (((Name * Name * Name) * exprf t)
- + exprf t)).
-
- Definition invert_for_do_rewrite_step1 {t} (e : exprf t)
- : option ((Name * Name * Z * exprf tZ * exprf tZ) * exprf t)
- := match e in Named.exprf _ _ _ t return option ((Name * Name * Z * exprf tZ * exprf tZ) * exprf t) with
- | (nlet (a2, c1) : tZ * tZ := (ADD bw1 a b as ex0) in P0)
- => Some ((a2, c1, bw1, a, b), P0)
- | _ => None
- end%core%nexpr%bool.
- Definition invert_for_do_rewrite_step2 {t} (e : exprf t)
- : option ((Name * Name * Z * exprf tZ * Name) * exprf t)
- := match e in Named.exprf _ _ _ t return option ((Name * Name * Z * exprf tZ * Name) * exprf t) with
- | (nlet (s , c2) : tZ * tZ := (ADD bw2 c0 (Var TZ a2') as ex1) in P1)
- => Some ((s, c2, bw2, c0, a2'), P1)
- | _ => None
- end%core%nexpr%bool.
- Definition invert_for_do_rewrite_step3 {t} (e : exprf t)
- : option ((Name * Name * Name) * exprf t)
- := match e in Named.exprf _ _ _ t return option ((Name * Name * Name) * exprf t) with
- | (nlet c : tZ := (ADX (Var TZ c1') (Var TZ c2') as ex2) in P)
- => Some ((c, c1', c2'), P)
- | _ => None
- end%core%nexpr%bool.
-
- Definition invert_for_do_rewrite {t} (e : exprf t)
- : invertT t
- := match invert_for_do_rewrite_step1 e with
- | Some ((a2, c1, bw1, a, b), P0) (* (nlet (a2, c1) : tZ * tZ := (ADD bw1 a b as ex0) in P0) *)
- => match invert_for_do_rewrite_step2 P0 with
- | Some ((s, c2, bw2, c0, a2'), P1) (* (nlet (s , c2) : tZ * tZ := (ADD bw2 c0 (Var TZ a2') as ex1) in P1) *)
- => match match invert_for_do_rewrite_step3 P1 with
- | Some ((c, c1', c2'), P) (* (nlet c : tZ := (ADX (Var TZ c1') (Var TZ c2') as ex2) in P) as P1' *)
- => if (((bw1 =Z? bw2) && (a2 =n? a2') && (c1 =n? c1') && (c2 =n? c2'))
- && (is_const_or_var c0 && is_const_or_var a && is_const_or_var b)
- && negb (name_list_has_duplicate (a2::c1::s::c2::c::nil ++ get_namesf c0 ++ get_namesf a ++ get_namesf b)%list))
- then Some ((a2, c1, bw1, a, b),
- (s, c2, bw2, c0, a2'),
- inl ((c, c1', c2'), P))
- else None
- | None => None
- end with
- | Some v => Some v
- | None => if (((bw1 =Z? bw2) && (a2 =n? a2'))
- && (is_const_or_var c0 && is_const_or_var a && is_const_or_var b)
- && negb (name_list_has_duplicate (a2::c1::s::c2::nil ++ get_namesf c0 ++ get_namesf a ++ get_namesf b)%list))
- then Some ((a2, c1, bw1, a, b),
- (s, c2, bw2, c0, a2'),
- inr P1)
- else None
- end
- | None => None
- end
- | None => None
- end%core%nexpr%bool.
-
- Definition do_rewrite {t} (e : exprf t)
- : exprf t
- := match invert_for_do_rewrite e with
- | Some ((a2, c1, bw1, a, b),
- (s, c2, bw2, c0, a2'),
- inl ((c, c1', c2'), P))
- => (nlet (a2, c1) : tZ * tZ := ADD bw1 a b in
- nlet (s , c2) : tZ * tZ := ADD bw2 c0 (Var a2') in
- nlet c : tZ := ADX (Var c1') (Var c2') in
- nlet (s, c) : tZ * tZ := ADC bw1 c0 a b in
- P)
- | Some ((a2, c1, bw1, a, b),
- (s, c2, bw2, c0, a2'),
- inr P)
- => (nlet (a2, c1) : tZ * tZ := ADD bw1 a b in
- nlet (s , c2) : tZ * tZ := ADD bw2 c0 (Var a2') in
- nlet s : tZ := (nlet (s, c1) : tZ * tZ := ADC bw1 c0 a b in Var s) in
- P)
- | None
- => e
- end%core%nexpr.
-
- Definition rewrite_exprf_prestep
- (rewrite_exprf : forall {t} (e : exprf t), exprf t)
- {t} (e : exprf t)
- : exprf t
- := match e in Named.exprf _ _ _ t return exprf t with
- | TT => TT
- | Var _ n => Var n
- | Op _ _ opc args
- => Op opc (@rewrite_exprf _ args)
- | (nlet nx := ex in eC)
- => (nlet nx := @rewrite_exprf _ ex in @rewrite_exprf _ eC)
- | Pair tx ex ty ey
- => Pair (@rewrite_exprf tx ex) (@rewrite_exprf ty ey)
- end%nexpr.
-
- Fixpoint rewrite_exprf {t} (e : exprf t) : exprf t
- := do_rewrite (@rewrite_exprf_prestep (@rewrite_exprf) t e).
-
- Definition rewrite_expr {t} (e : expr t) : expr t
- := match e in Named.expr _ _ _ t return expr t with
- | Abs _ _ n f => Abs n (rewrite_exprf f)
- end.
-End named.
diff --git a/src/Compilers/Z/Named/RewriteAddToAdcInterp.v b/src/Compilers/Z/Named/RewriteAddToAdcInterp.v
deleted file mode 100644
index 8f4dc4644..000000000
--- a/src/Compilers/Z/Named/RewriteAddToAdcInterp.v
+++ /dev/null
@@ -1,449 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.ContextProperties.Proper.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Compilers.Z.Named.RewriteAddToAdc.
-Require Import Crypto.Compilers.Named.GetNames.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Sum.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Prod.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.ZUtil.AddGetCarry.
-Require Import Crypto.Util.ListUtil.FoldBool.
-Require Import Crypto.Util.Decidable.
-
-Local Open Scope Z_scope.
-
-Section named.
- Context {Name : Type}
- {InterpContext : Context Name interp_base_type}
- {InterpContextOk : ContextOk InterpContext}
- (Name_beq : Name -> Name -> bool)
- (Name_bl : forall n1 n2, Name_beq n1 n2 = true -> n1 = n2)
- (Name_lb : forall n1 n2, n1 = n2 -> Name_beq n1 n2 = true).
-
- Local Notation name_list_has_duplicate := (@name_list_has_duplicate Name Name_beq).
- Local Notation exprf := (@exprf base_type op Name).
- Local Notation expr := (@expr base_type op Name).
- Local Notation do_rewrite := (@do_rewrite Name Name_beq).
- Local Notation invert_for_do_rewrite := (@invert_for_do_rewrite Name Name_beq).
- Local Notation rewrite_exprf := (@rewrite_exprf Name Name_beq).
- Local Notation rewrite_exprf_prestep := (@rewrite_exprf_prestep Name).
- Local Notation rewrite_expr := (@rewrite_expr Name Name_beq).
-
- Local Instance Name_dec : DecidableRel (@eq Name)
- := dec_rel_of_bool_dec_rel Name_beq Name_bl Name_lb.
-
- Local Notation retT e re :=
- (forall (ctx : InterpContext)
- v,
- Named.interpf (interp_op:=interp_op) (ctx:=ctx) re = Some v
- -> Named.interpf (interp_op:=interp_op) (ctx:=ctx) e = Some v)
- (only parsing).
- Local Notation tZ := (Tbase TZ).
- Local Notation ADC bw c x y := (Op (@AddWithGetCarry bw TZ TZ TZ TZ TZ)
- (Pair (Pair (t1:=tZ) c (t2:=tZ) x) (t2:=tZ) y)).
- Local Notation ADD bw x y := (ADC bw (Op (OpConst 0) TT) x y).
- Local Notation ADX x y := (Op (@Add TZ TZ TZ) (Pair (t1:=tZ) x (t2:=tZ) y)).
- Local Infix "=Z?" := Z.eqb.
- Local Infix "=n?" := Name_beq.
-
- Local Ltac simple_t_step :=
- first [ exact I
- | progress intros
- | progress subst
- | progress inversion_option
- | progress inversion_sum
- | progress inversion_prod ].
- Local Ltac destruct_t_step :=
- first [ break_innermost_match_hyps_step
- | break_innermost_match_step ].
- Local Ltac do_small_inversion e :=
- is_var e;
- lazymatch type of e with
- | exprf ?T
- => revert dependent e;
- let P := match goal with |- forall e, @?P e => P end in
- intro e;
- lazymatch T with
- | Unit
- => refine match e in Named.exprf _ _ _ t return match t return Named.exprf _ _ _ t -> _ with Unit => P | _ => fun _ => True end e with TT => _ | _ => _ end
- | tZ
- => refine match e in Named.exprf _ _ _ t return match t return Named.exprf _ _ _ t -> _ with tZ => P | _ => fun _ => True end e with TT => _ | _ => _ end
- | (tZ * tZ)%ctype
- => refine match e in Named.exprf _ _ _ t return match t return Named.exprf _ _ _ t -> _ with (tZ * tZ)%ctype => P | _ => fun _ => True end e with TT => _ | _ => _ end
- | (tZ * tZ * tZ)%ctype
- => refine match e in Named.exprf _ _ _ t return match t return Named.exprf _ _ _ t -> _ with (tZ * tZ * tZ)%ctype => P | _ => fun _ => True end e with TT => _ | _ => _ end
- end;
- try exact I
- | op ?a ?T
- => first [ is_var a;
- move e at top;
- revert dependent a;
- let P := match goal with |- forall a e, @?P a e => P end in
- intros a e;
- lazymatch T with
- | tZ
- => refine match e in op a t return match t return op a t -> _ with tZ => P a | _ => fun _ => True end e with OpConst _ _ => _ | _ => _ end
- | (tZ * tZ)%ctype
- => refine match e in op a t return match t return op a t -> _ with (tZ * tZ)%ctype => P a | _ => fun _ => True end e with OpConst _ _ => _ | _ => _ end
- end ];
- try exact I
- end.
- Local Ltac small_inversion_prestep _ :=
- match goal with
- | [ H : match ?e with _ => _ end = Some _ |- _ ] => do_small_inversion e
- | [ H : match ?e with _ => _ end = true |- _ ] => do_small_inversion e
- | [ H : match ?e with _ => _ end _ = Some _ |- _ ] => do_small_inversion e
- end.
- Local Ltac small_inversion_step :=
- small_inversion_prestep (); break_innermost_match; intros; try exact I.
-
- Local Ltac t_rewrite_step_correct_step :=
- first [ reflexivity
- | progress inversion_option
- | simple_t_step
- | break_innermost_match_hyps_step
- | small_inversion_step
- | progress unfold invert_for_do_rewrite_step1, invert_for_do_rewrite_step2, invert_for_do_rewrite_step3 in * ].
- Local Ltac t_rewrite_step_correct := repeat t_rewrite_step_correct_step.
-
- Local Ltac mk_lookupb_extendb_lemma_debug := constr:(false).
- Local Ltac debug_print_fail tac :=
- let lvl := mk_lookupb_extendb_lemma_debug in
- lazymatch lvl with
- | true => let dummy := match goal with
- | _ => tac ()
- end in
- constr:(I : I)
- | false => constr:(I : I)
- | _ => let TRUE := uconstr:(true) in
- let FALSE := uconstr:(false) in
- let dummy := match goal with
- | _ => idtac "Error: Invalid mk_lookupb_extendb_lemma_debug level" lvl "which is neither" TRUE "nor" FALSE
- end in
- constr:(I : I)
- end.
-
- (** We build the lemma explicitly, because letting [rewrite] and
- [assumption || congruence] pick out the hypotheses and build the
- lemmas is actually a bottleneck (timesavings: about 25s) *)
- Local Ltac mk_lookupb_extendb_lemma base_type_code Name var Context t t' ctx n n' v :=
- lazymatch n with
- | n' => lazymatch t with
- | t' => constr:(@lookupb_extendb_same base_type_code Name var Context _ ctx n t v)
- | _ => let lem := constr:(@lookupb_extendb_wrong_type base_type_code Name var Context _ ctx n t t' v) in
- lazymatch goal with
- | [ H : t <> t' |- _ ]
- => constr:(lem H)
- | [ H : t' <> t |- _ ]
- => constr:(lem (@not_eq_sym _ _ _ H))
- | _ => let HT := uconstr:(t <> t') in
- debug_print_fail ltac:(fun _ => idtac "Error in mk_lookupb_exntedb_lemma: could not find hypothesis of type" HT)
- end
- end
- | _ => let lem := constr:(@lookupb_extendb_different base_type_code Name var Context _ ctx n n' t t' v) in
- lazymatch goal with
- | [ H : n <> n' |- _ ]
- => constr:(lem H)
- | [ H : n' <> n |- _ ]
- => constr:(lem (@not_eq_sym _ _ _ H))
- | _ => let HT := uconstr:(n <> n') in
- debug_print_fail ltac:(fun _ => idtac "Error in mk_lookupb_exntedb_lemma: could not find hypothesis of type" HT)
- end
- end.
- Local Ltac rewrite_lookupb_step :=
- first [ match goal with
- | [ H : context[@lookupb ?base_type_code ?Name ?var ?Context ?t' (extendb (t:=?t) ?ctx ?n ?v) ?n'] |- _ ]
- => let lem := mk_lookupb_extendb_lemma base_type_code Name var Context t t' ctx n n' v in
- rewrite lem in H
- | [ |- context[@lookupb ?base_type_code ?Name ?var ?Context ?t' (extendb (t:=?t) ?ctx ?n ?v) ?n'] ]
- => let lem := mk_lookupb_extendb_lemma base_type_code Name var Context t t' ctx n n' v in
- rewrite lem
- end
- | match goal with
- | [ H : context[lookupb (extendb _ _ _) _] |- _ ] => revert H
- | [ |- context[lookupb (extendb _ ?n _) ?n'] ]
- => (tryif constr_eq n n' then fail else idtac);
- lazymatch goal with
- | [ H : n = n' |- _ ] => fail
- | [ H : n' = n |- _ ] => fail
- | [ H : n <> n' |- _ ] => fail
- | [ H : n' <> n |- _ ] => fail
- | _ => destruct (dec (n = n')); subst
- end
- | [ |- context[lookupb (t:=?t0) (extendb (t:=?t1) _ _ _) _] ]
- => (tryif constr_eq t0 t1 then fail else idtac);
- lazymatch goal with
- | [ H : t0 = t1 |- _ ] => fail
- | [ H : t1 = t0 |- _ ] => fail
- | [ H : t0 <> t1 |- _ ] => fail
- | [ H : t1 <> t0 |- _ ] => fail
- | _ => destruct (dec (t0 = t1)); subst
- end
- end ].
- Local Ltac rewrite_lookupb := repeat rewrite_lookupb_step.
-
- Local Ltac do_rewrite_adc' P :=
- let lem := open_constr:(Z.add_get_carry_to_add_with_get_carry_cps _ _ _ _ P) in
- let T := type of lem in
- let T := (eval cbv [Let_In Definitions.Z.add_with_get_carry Definitions.Z.add_with_get_carry Definitions.Z.get_carry Definitions.Z.add_get_carry] in T) in
- etransitivity; [ | eapply (lem : T) ];
- try reflexivity.
- Local Ltac do_rewrite_adc :=
- first [ do_rewrite_adc' uconstr:(fun a b => Some b)
- | do_rewrite_adc' uconstr:(fun a b => Some a) ].
- Local Ltac do_small_inversion_ctx :=
- repeat match goal with
- | [ H : is_const_or_var ?e = true |- _ ]
- => do_small_inversion e; break_innermost_match; intros; try exact I;
- simpl in H; try solve [ clear -H; discriminate ]
- | [ H : match ?e with _ => _ end = true |- _ ]
- => do_small_inversion e; break_innermost_match; intros; try exact I;
- simpl in H; try solve [ clear -H; discriminate ]
- | [ H : match ?e with _ => _ end _ = true |- _ ]
- => do_small_inversion e; break_innermost_match; intros; try exact I;
- simpl in H; try solve [ clear -H; discriminate ]
- end.
- Local Ltac t_fin_step :=
- match goal with
- | [ |- ?x = ?x ] => reflexivity
- | [ H : ?x = Some _ |- context[?x] ] => rewrite H
- | [ H : ?x = None |- context[?x] ] => rewrite H
- | [ H : ?x = Some ?a, H' : ?x = Some ?b |- _ ]
- => assert (a = b) by congruence; (subst a || subst b)
- | [ H : interpf ?x = Some ?v, H' : interpf ?x = None |- interpf _ = None ]
- => cut (Some v = None);
- [ congruence | rewrite <- H, <- H'; clear H H' ]
- | _ => progress rewrite_lookupb
- | _ => progress simpl in *
- | _ => progress intros
- | _ => progress subst
- | _ => progress inversion_option
- | [ |- (dlet x := _ in _) = (dlet y := _ in _) ]
- => apply Proper_Let_In_nd_changebody_eq; intros ??
- | _ => progress unfold Let_In
- | [ |- interpf ?x = interpf ?x ]
- => eapply @interpf_Proper; [ eauto with typeclass_instances.. | intros ?? | reflexivity ]
- | _ => progress break_innermost_match; try reflexivity
- | _ => progress break_innermost_match_hyps; try reflexivity
- | _ => progress break_match; try reflexivity
- end.
- Local Ltac t_fin :=
- repeat t_fin_step;
- try do_rewrite_adc.
-
-
- Lemma invert_for_do_rewrite_step1_correct {t} {e : exprf t} {v}
- (H : invert_for_do_rewrite_step1 e = Some v)
- : e = let '((a2, c1, bw1, a, b), P) := v in
- (nlet (a2, c1) : tZ * tZ := ADD bw1 a b in P)%nexpr.
- Proof. t_rewrite_step_correct. Qed.
- Lemma invert_for_do_rewrite_step2_correct {t} {e : exprf t} {v}
- (H : invert_for_do_rewrite_step2 e = Some v)
- : e = let '((s, c2, bw2, c0, a2'), P) := v in
- (nlet (s , c2) : tZ * tZ := (ADD bw2 c0 (Var a2')) in P)%nexpr.
- Proof. t_rewrite_step_correct. Qed.
- Lemma invert_for_do_rewrite_step3_correct {t} {e : exprf t} {v}
- (H : invert_for_do_rewrite_step3 e = Some v)
- : e = let '((c, c1', c2'), P) := v in
- (nlet c : tZ := (ADX (Var c1') (Var c2')) in P)%nexpr.
- Proof. t_rewrite_step_correct. Qed.
-
- Lemma invert_for_do_rewrite_correct {t} {e : exprf t} {v}
- (H : invert_for_do_rewrite e = Some v)
- : match v with
- | ((a2, c1, bw1, a, b),
- (s, c2, bw2, c0, a2'),
- inl ((c, c1', c2'), P))
- => (nlet (a2, c1) : tZ * tZ := ADD bw1 a b in
- nlet (s , c2) : tZ * tZ := ADD bw2 c0 (Var a2') in
- nlet c : tZ := ADX (Var c1') (Var c2') in
- P) = e
- /\ ((((bw1 =Z? bw2) && (a2 =n? a2') && (c1 =n? c1') && (c2 =n? c2'))
- && (is_const_or_var c0 && is_const_or_var a && is_const_or_var b)
- && negb (name_list_has_duplicate (a2::c1::s::c2::c::nil ++ get_namesf c0 ++ get_namesf a ++ get_namesf b)%list))
- = true)
- | ((a2, c1, bw1, a, b),
- (s, c2, bw2, c0, a2'),
- inr P)
- => (nlet (a2, c1) : tZ * tZ := ADD bw1 a b in
- nlet (s , c2) : tZ * tZ := ADD bw2 c0 (Var a2') in
- P) = e
- /\ ((((bw1 =Z? bw2) && (a2 =n? a2'))
- && (is_const_or_var c0 && is_const_or_var a && is_const_or_var b)
- && negb (name_list_has_duplicate (a2::c1::s::c2::nil ++ get_namesf c0 ++ get_namesf a ++ get_namesf b)%list))
- = true)
- end%core%nexpr%bool.
- Proof.
- unfold invert_for_do_rewrite in H; break_innermost_match_hyps;
- repeat first [ progress subst
- | progress inversion_option
- | progress inversion_sum
- | progress inversion_prod
- | match goal with
- | [ H : _ = Some _ |- _ ]
- => first [ rewrite (invert_for_do_rewrite_step1_correct H)
- | rewrite (invert_for_do_rewrite_step2_correct H)
- | rewrite (invert_for_do_rewrite_step3_correct H) ]
- | [ H : ?x = true |- _ ] => rewrite H; clear H
- | [ |- _ /\ _ ] => split
- | [ |- ?x = ?x ] => reflexivity
- | [ H : Name_beq _ _ = true |- _ ] => apply Name_bl in H
- | [ H : Z.eqb _ _ = true |- _ ] => apply Z.eqb_eq in H
- | [ H : Name_beq ?x ?y = false |- _ ]
- => assert (x <> y) by (clear -H Name_lb; intro; rewrite Name_lb in H by assumption; congruence);
- clear H
- end
- | progress rewrite !Bool.negb_orb in *
- | progress rewrite !Bool.negb_true_iff in *
- | progress split_andb
- | progress simpl @negb in *
- | progress do_small_inversion_ctx ].
- Qed.
-
- Lemma interpf_do_rewrite
- {t} {e : exprf t}
- : retT e (do_rewrite e).
- Proof.
- unfold do_rewrite.
- pose proof (@invert_for_do_rewrite_correct t e) as H'.
- break_innermost_match; inversion_option;
- [ specialize (H' _ eq_refl)
- | specialize (H' _ eq_refl)
- | intros; subst; assumption ].
- all: intros *; let H := fresh in intro H; rewrite <- H; clear H.
- Time all:repeat first [ progress cbv beta iota in *
- | progress destruct_head'_and
- | progress subst
- | progress rewrite !Bool.negb_orb in *
- | progress split_andb
- | progress simpl @name_list_has_duplicate in *
- | match goal with
- | [ H : Name_beq _ _ = true |- _ ] => apply Name_bl in H
- | [ H : Z.eqb _ _ = true |- _ ] => apply Z.eqb_eq in H
- | [ H : Name_beq ?x ?y = false |- _ ]
- => assert (x <> y) by (clear -H Name_lb; intro; rewrite Name_lb in H by assumption; congruence);
- clear H
- | [ H : context[List.fold_left orb ?ls ?v] |- _ ]
- => lazymatch v with
- | false => fail
- | _ => rewrite (fold_left_orb_pull ls v) in H
- end
- end
- | progress simpl @List.fold_left in *
- | progress do_small_inversion_ctx
- | progress rewrite !Bool.negb_true_iff in *
- | progress intros *
- | match goal with
- | [ H : invert_for_do_rewrite _ = Some _ |- _ ] => clear H
- end ].
- Time all: repeat first [ progress simpl
- | progress cbv [interp_op option_map lift_op Zinterp_op] in * ].
- Time all: repeat first [ progress subst
- | progress inversion_option
- | progress rewrite_lookupb
- | progress intros
- | match goal with
- | [ H : ?x = Some ?a, H' : ?x = Some ?b |- _ ]
- => assert (a = b) by congruence; (subst a || subst b)
- | [ H : ?T, H' : ?T |- _ ] => clear H'
- end ].
- Set Ltac Profiling.
- Time all: repeat first [ reflexivity
- | progress subst
- | progress inversion_option
- | progress rewrite_lookupb
- | progress intros
- | progress cbn [fst snd]
- | match goal with
- | [ H : ?x = Some ?a, H' : ?x = Some ?b |- _ ]
- => assert (a = b) by congruence; (subst a || subst b)
- | [ H : ?T, H' : ?T |- _ ] => clear H'
- | [ |- context[match lookupb ?ctx ?n with _ => _ end] ]
- => is_var ctx; destruct (lookupb ctx n) eqn:?
- | [ |- (dlet x := ?e in _) = (dlet y := ?e in _) ]
- => apply Proper_Let_In_nd_changebody_eq; intros ??
- end
- | progress unfold Let_In at 1 ].
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- { Time t_fin. }
- Time Qed.
-
- Local Opaque RewriteAddToAdc.do_rewrite.
- Lemma interpf_rewrite_exprf
- {t} (e : exprf t)
- : retT e (rewrite_exprf e).
- Proof.
- pose t as T.
- pose (rewrite_exprf_prestep (@rewrite_exprf) e) as E.
- induction e; simpl in *;
- intros ctx v H;
- pose proof (interpf_do_rewrite (t:=T) (e:=E) ctx v H); clear H;
- subst T E;
- repeat first [ assumption
- | progress unfold option_map, Let_In in *
- | progress simpl in *
- | progress subst
- | progress inversion_option
- | apply (f_equal (@Some _))
- | break_innermost_match_step
- | break_innermost_match_hyps_step
- | congruence
- | solve [ eauto ]
- | match goal with
- | [ IH : forall ctx v, interpf ?e = Some v -> _ = Some _, H' : interpf ?e = Some _ |- _ ]
- => specialize (IH _ _ H')
- | [ H : ?x = Some ?a, H' : ?x = Some ?b |- _ ]
- => assert (a = b) by congruence; (subst a || subst b)
- | [ |- ?rhs = Some _ ]
- => lazymatch rhs with
- | Some _ => fail
- | None => fail
- | _ => destruct rhs eqn:?
- end
- end ].
- Qed.
-
- Lemma interp_rewrite_expr
- {t} (e : expr t)
- : forall (ctx : InterpContext)
- v x,
- Named.interp (interp_op:=interp_op) (ctx:=ctx) (rewrite_expr e) x = Some v
- -> Named.interp (interp_op:=interp_op) (ctx:=ctx) e x = Some v.
- Proof.
- unfold Named.interp, rewrite_expr; destruct e; simpl.
- intros *; apply interpf_rewrite_exprf.
- Qed.
-
- Lemma Interp_rewrite_expr
- {t} (e : expr t)
- : forall v x,
- Named.Interp (Context:=InterpContext) (interp_op:=interp_op) (rewrite_expr e) x = Some v
- -> Named.Interp (Context:=InterpContext) (interp_op:=interp_op) e x = Some v.
- Proof.
- intros *; apply interp_rewrite_expr.
- Qed.
-End named.
diff --git a/src/Compilers/Z/OpInversion.v b/src/Compilers/Z/OpInversion.v
deleted file mode 100644
index c27f51aee..000000000
--- a/src/Compilers/Z/OpInversion.v
+++ /dev/null
@@ -1,29 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.Z.TypeInversion.
-Require Import Crypto.Compilers.Z.Syntax.
-
-Ltac invert_one_op e :=
- preinvert_one_type e;
- intros ? e;
- destruct e;
- try exact I.
-
-Ltac invert_op_step :=
- match goal with
- | [ e : op _ (Tbase _) |- _ ] => invert_one_op e
- | [ e : op _ (Prod _ _) |- _ ] => invert_one_op e
- | [ e : op _ Unit |- _ ] => invert_one_op e
- end.
-
-Ltac invert_op := repeat invert_op_step.
-
-Ltac invert_match_op_step :=
- match goal with
- | [ |- context[match ?e with OpConst _ _ => _ | _ => _ end] ]
- => invert_one_op e
- | [ H : context[match ?e with OpConst _ _ => _ | _ => _ end] |- _ ]
- => invert_one_op e
- end.
-
-Ltac invert_match_op := repeat invert_match_op_step.
diff --git a/src/Compilers/Z/Reify.v b/src/Compilers/Z/Reify.v
deleted file mode 100644
index 7cb978241..000000000
--- a/src/Compilers/Z/Reify.v
+++ /dev/null
@@ -1,108 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.InputSyntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Equality.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.WfReflective.
-Require Import Crypto.Compilers.Reify.
-Require Import Crypto.Compilers.Eta.
-Require Import Crypto.Compilers.EtaInterp.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.SideConditions.CorePackages.
-Require Import Crypto.Util.Tactics.DebugPrint.
-
-Ltac base_reify_op op op_head extra ::=
- lazymatch op_head with
- | @Z.add => constr:(reify_op op op_head 2 (Add TZ TZ TZ))
- | @Z.mul => constr:(reify_op op op_head 2 (Mul TZ TZ TZ))
- | @Z.sub => constr:(reify_op op op_head 2 (Sub TZ TZ TZ))
- | @Z.shiftl => constr:(reify_op op op_head 2 (Shl TZ TZ TZ))
- | @Z.shiftr => constr:(reify_op op op_head 2 (Shr TZ TZ TZ))
- | @Z.land => constr:(reify_op op op_head 2 (Land TZ TZ TZ))
- | @Z.lor => constr:(reify_op op op_head 2 (Lor TZ TZ TZ))
- | @Z.opp => constr:(reify_op op op_head 1 (Opp TZ TZ))
- | @Z.opp => constr:(reify_op op op_head 1 (Opp TZ TZ))
- | @Z.zselect => constr:(reify_op op op_head 3 (Zselect TZ TZ TZ TZ))
- | @Z.add_with_carry => constr:(reify_op op op_head 3 (AddWithCarry TZ TZ TZ TZ))
- | @Z.sub_with_borrow => constr:(reify_op op op_head 3 (SubWithBorrow TZ TZ TZ TZ))
- | @id_with_alt
- => lazymatch extra with
- | @id_with_alt Z _ _
- => constr:(reify_op op op_head 2 (IdWithAlt TZ TZ TZ))
- | @id_with_alt ?T _ _
- => let c := uconstr:(@id_with_alt) in
- let uZ := uconstr:(Z) in
- constr_run_tac_fail ltac:(fun _ => idtac "Error: In Reflection.Z.base_reify_op: can only reify" c "applied to" uZ "not" T)
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Anomaly: In Reflection.Z.base_reify_op: head is id_with_alt but body is wrong:" extra)
- end
- | @Z.mul_split_at_bitwidth
- => lazymatch extra with
- | @Z.mul_split_at_bitwidth ?bit_width _ _
- => constr:(reify_op op op_head 2 (MulSplit bit_width TZ TZ TZ TZ))
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Anomaly: In Reflection.Z.base_reify_op: head is Z.mul_split_with_bitwidth but body is wrong:" extra)
- end
- | @Z.add_with_get_carry
- => lazymatch extra with
- | @Z.add_with_get_carry ?bit_width _ _ _
- => constr:(reify_op op op_head 3 (AddWithGetCarry bit_width TZ TZ TZ TZ TZ))
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Anomaly: In Reflection.Z.base_reify_op: head is Z.add_with_get_carry but body is wrong:" extra)
- end
- | @Z.sub_with_get_borrow
- => lazymatch extra with
- | @Z.sub_with_get_borrow ?bit_width _ _ _
- => constr:(reify_op op op_head 3 (SubWithGetBorrow bit_width TZ TZ TZ TZ TZ))
- | _ => constr_run_tac_fail ltac:(fun _ => idtac "Anomaly: In Reflection.Z.base_reify_op: head is Z.sub_with_get_borrow but body is wrong:" extra)
- end
- end.
-Ltac base_reify_type T ::=
- lazymatch T with
- | Z => TZ
- | Z.Syntax.interp_base_type TZ => TZ
- | ?T
- => lazymatch (eval hnf in T) with
- | Z => TZ
- end
- end.
-Ltac Reify' e :=
- let e := (eval cbv beta delta [Z.add_get_carry Z.sub_get_borrow] in e) in
- Compilers.Reify.Reify' base_type interp_base_type op e.
-Ltac Reify e :=
- let e := (eval cbv beta delta [Z.add_get_carry Z.sub_get_borrow] in e) in
- let v := Compilers.Reify.Reify base_type interp_base_type op make_const e in
- constr:(ExprEta v).
-Ltac prove_ExprEta_Compile_correct :=
- fun _
- => intros;
- rewrite ?InterpExprEta;
- prove_compile_correct_using ltac:(fun _ => apply make_const_correct) ().
-
-Ltac Reify_rhs :=
- Compilers.Reify.Reify_rhs_gen Reify prove_ExprEta_Compile_correct interp_op ltac:(fun tac => tac ()).
-
-Definition Reify_evar_package {t} f
- := @Reify_evar_package base_type interp_base_type op make_const interp_op t f.
-
-Definition Interp_Reify_evar_package
- {t f}
- (pkg : @Reify_evar_package t f)
- : forall x, Interp (val pkg) x = f x
- := evar_package_pf pkg.
-
-Ltac autosolve else_tac :=
- lazymatch goal with
- | [ |- @Reify_evar_package _ _ ]
- => eexists; cbv beta; Reify_rhs; reflexivity
- | _ => Compilers.Reify.autosolve else_tac
- end.
-
-Ltac SideConditions.CorePackages.autosolve ::= autosolve.
-
-Ltac prereify_context_variables :=
- Compilers.Reify.prereify_context_variables interp_base_type.
-Ltac reify_context_variable :=
- Compilers.Reify.reify_context_variable base_type interp_base_type op.
-Ltac lazy_reify_context_variable :=
- Compilers.Reify.lazy_reify_context_variable base_type interp_base_type op.
-Ltac reify_context_variables :=
- Compilers.Reify.reify_context_variables base_type interp_base_type op.
diff --git a/src/Compilers/Z/RewriteAddToAdc.v b/src/Compilers/Z/RewriteAddToAdc.v
deleted file mode 100644
index 838c92b75..000000000
--- a/src/Compilers/Z/RewriteAddToAdc.v
+++ /dev/null
@@ -1,58 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Named.Context.
-Require Import Crypto.Compilers.Named.Syntax.
-Require Import Crypto.Compilers.Named.InterpretToPHOAS.
-Require Import Crypto.Compilers.Named.Compile.
-Require Import Crypto.Compilers.Named.Wf.
-Require Import Crypto.Compilers.Named.CountLets.
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.Defaults.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Named.DeadCodeElimination.
-Require Import Crypto.Compilers.Z.Named.RewriteAddToAdc.
-Require Import Crypto.Util.PointedProp.
-Require Import Crypto.Util.Decidable.
-
-(** N.B. This procedure only works when there are no nested lets,
- i.e., nothing like [let x := let y := z in w] in the PHOAS syntax
- tree. This is a limitation of [compile]. *)
-
-Local Open Scope bool_scope.
-
-Section language.
- Local Notation PContext var := (PositiveContext _ var _ internal_base_type_dec_bl).
-
- Definition RewriteAdc {t} (e : Expr t)
- : Expr t
- := let is_good e' := match option_map (wf_unit (Context:=PContext _) empty) e' with
- | Some (Some trivial) => true
- | _ => false
- end in
- let interp_to_phoas := InterpToPHOAS (Context:=fun var => PContext var)
- (fun _ t => Op (OpConst 0%Z) TT) in
- let e' := compile (e _) (DefaultNamesFor e) in
- let e' := option_map (rewrite_expr Pos.eqb) e' in
- let good := is_good e' in
- let e' := match e' with
- | Some e'
- => let ls := Named.default_names_for e' in
- match EliminateDeadCode (Context:=PContext _) e' ls with
- | Some e'' => Some e''
- | None => Some e'
- end
- | None => None
- end in
- let good := good && is_good e' in
- if good
- then let e' := option_map interp_to_phoas e' in
- match e' with
- | Some e'
- => match t return Expr (Arrow (domain t) (codomain t)) -> Expr t with
- | Arrow _ _ => fun x => x
- end e'
- | None => e
- end
- else e.
-End language.
diff --git a/src/Compilers/Z/RewriteAddToAdcInterp.v b/src/Compilers/Z/RewriteAddToAdcInterp.v
deleted file mode 100644
index 28953a3fb..000000000
--- a/src/Compilers/Z/RewriteAddToAdcInterp.v
+++ /dev/null
@@ -1,71 +0,0 @@
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.PositiveContext.DefaultsProperties.
-Require Import Crypto.Compilers.Named.ContextDefinitions.
-Require Import Crypto.Compilers.Named.InterpretToPHOASInterp.
-Require Import Crypto.Compilers.Named.CompileWf.
-Require Import Crypto.Compilers.Named.CompileInterp.
-Require Import Crypto.Compilers.Named.WfFromUnit.
-Require Import Crypto.Compilers.Named.DeadCodeEliminationInterp.
-Require Import Crypto.Compilers.Named.WfInterp.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.RewriteAddToAdc.
-Require Import Crypto.Compilers.Z.Named.RewriteAddToAdcInterp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Bool.
-
-Section language.
- Local Notation PContext var := (PositiveContext _ var _ internal_base_type_dec_bl).
-
- Lemma InterpRewriteAdc
- {t} (e : Expr t) (Hwf : Wf e)
- : forall x, Compilers.Syntax.Interp interp_op (RewriteAdc e) x = Compilers.Syntax.Interp interp_op e x.
- Proof.
- intro x; unfold RewriteAdc, option_map; break_innermost_match; try reflexivity;
- match goal with |- ?x = ?y => cut (Some x = Some y); [ congruence | ] end;
- (etransitivity; [ symmetry; eapply @Interp_InterpToPHOAS with (t:=Arrow _ _) | ]);
- repeat
- repeat
- first [ lazymatch goal with
- | [ H : DeadCodeElimination.EliminateDeadCode _ _ = Some ?e |- Syntax.Named.Interp ?e _ = Some _ ]
- => let lhs := match goal with |- ?lhs = _ => lhs end in
- let v := fresh in
- (destruct lhs as [v|] eqn:?);
- [ apply f_equal; eapply @InterpEliminateDeadCode with (Name_beq:=BinPos.Pos.eqb);
- [ .. | eassumption | try eassumption | try eassumption ]; clear H | ]
- | [ |- Syntax.Named.Interp (RewriteAddToAdc.rewrite_expr _ ?e) _ = Some _ ]
- => let lhs := match goal with |- ?lhs = _ => lhs end in
- let H := fresh in
- destruct lhs eqn:H; [ apply (f_equal (@Some _)); eapply @Interp_rewrite_expr in H | ]
- | [ H : Compile.compile (?e _) _ = Some ?e'', H' : Syntax.Named.Interp ?e'' ?x = Some ?v' |- ?v' = Compilers.Syntax.Interp ?interp_op' ?e ?x ]
- => eapply @Interp_compile with (v:=x) (interp_op:=interp_op') in H
- end
- | intros; exact (@PositiveContextOk _ _ base_type_beq internal_base_type_dec_bl internal_base_type_dec_lb)
- | progress split_andb
- | congruence
- | tauto
- | solve [ auto | eapply @BinPos.Pos.eqb_eq; auto ]
- | eapply @Wf_from_unit
- | eapply @dec_rel_of_bool_dec_rel
- | eapply @internal_base_type_dec_lb
- | eapply @internal_base_type_dec_bl
- | eapply @InterpEliminateDeadCode; [ .. | eassumption | eassumption | ]
- | apply name_list_unique_DefaultNamesFor
- | progress intros
- | rewrite !@lookupb_empty
- | eapply @wf_from_unit with (uContext:=PContext _); [ .. | eassumption ]
- | match goal with
- | [ H : Syntax.Named.Interp ?e ?x = Some ?a, H' : Syntax.Named.Interp ?e ?x = Some ?b |- _ ]
- => assert (a = b) by congruence; (subst a || subst b)
- end
- | lazymatch goal with
- | [ |- Some _ = Some _ ] => fail
- | [ |- None = Some _ ] => exfalso; eapply @wf_interp_not_None; [ .. | unfold Syntax.Named.Interp in *; eassumption ]
- | [ |- ?x = Some _ ] => destruct x eqn:?; [ apply f_equal | ]
- end ].
- Qed.
-End language.
-
-Hint Rewrite @InterpRewriteAdc using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/Z/RewriteAddToAdcWf.v b/src/Compilers/Z/RewriteAddToAdcWf.v
deleted file mode 100644
index 984d2a3e1..000000000
--- a/src/Compilers/Z/RewriteAddToAdcWf.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.InterpretToPHOASWf.
-Require Import Crypto.Compilers.Named.CompileWf.
-Require Import Crypto.Compilers.Named.WfFromUnit.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.RewriteAddToAdc.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.Bool.
-
-Section language.
- Local Hint Resolve internal_base_type_dec_lb internal_base_type_dec_lb dec_rel_of_bool_dec_rel : typeclass_instances.
-
- Lemma Wf_RewriteAdc {t} (e : Expr t) (Hwf : Wf e)
- : Wf (RewriteAdc e).
- Proof.
- unfold RewriteAdc, option_map; break_innermost_match;
- [ .. | solve [ intros var1 var2; destruct (Hwf var1 var2); auto with wf ] ];
- repeat first [ eapply @Wf_InterpToPHOAS with (t:=Arrow _ _)
- | progress split_andb
- | congruence
- | intros;
- match goal with
- | [ |- ContextDefinitions.ContextOk _ ]
- => eapply @PositiveContextOk
- end
- | solve [ auto | eapply @BinPos.Pos.eqb_eq ]
- | eapply @Wf_from_unit
- | eapply @dec_rel_of_bool_dec_rel
- | eapply @internal_base_type_dec_lb
- | eapply @internal_base_type_dec_bl
- | intros var1 var2; specialize (Hwf var1 var2); destruct Hwf;
- constructor; assumption ].
- Qed.
-End language.
-
-Hint Resolve Wf_RewriteAdc : wf.
diff --git a/src/Compilers/Z/Syntax.v b/src/Compilers/Z/Syntax.v
deleted file mode 100644
index dbc739dcb..000000000
--- a/src/Compilers/Z/Syntax.v
+++ /dev/null
@@ -1,103 +0,0 @@
-(** * PHOAS Syntax for expression trees on ℤ *)
-Require Import Coq.ZArith.ZArith.
-Require Import bbv.WordScope.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.TypeUtil.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.NatUtil. (* for nat_beq for equality schemes *)
-Export Syntax.Notations.
-
-Local Set Boolean Equality Schemes.
-Local Set Decidable Equality Schemes.
-Inductive base_type := TZ | TWord (logsz : nat).
-
-Local Notation tZ := (Tbase TZ).
-Local Notation tWord logsz := (Tbase (TWord logsz)).
-
-Inductive op : flat_type base_type -> flat_type base_type -> Type :=
-| OpConst {T} (z : Z) : op Unit (Tbase T)
-| Add T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Sub T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Mul T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Shl T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Shr T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Land T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Lor T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Opp T Tout : op (Tbase T) (Tbase Tout)
-| IdWithAlt T1 T2 Tout : op (Tbase T1 * Tbase T2) (Tbase Tout)
-| Zselect T1 T2 T3 Tout : op (Tbase T1 * Tbase T2 * Tbase T3) (Tbase Tout)
-| MulSplit (bitwidth : Z) T1 T2 Tout1 Tout2 : op (Tbase T1 * Tbase T2) (Tbase Tout1 * Tbase Tout2)
-| AddWithCarry T1 T2 T3 Tout : op (Tbase T1 * Tbase T2 * Tbase T3) (Tbase Tout)
-| AddWithGetCarry (bitwidth : Z) T1 T2 T3 Tout1 Tout2 : op (Tbase T1 * Tbase T2 * Tbase T3) (Tbase Tout1 * Tbase Tout2)
-| SubWithBorrow T1 T2 T3 Tout : op (Tbase T1 * Tbase T2 * Tbase T3) (Tbase Tout)
-| SubWithGetBorrow (bitwidth : Z) T1 T2 T3 Tout1 Tout2 : op (Tbase T1 * Tbase T2 * Tbase T3) (Tbase Tout1 * Tbase Tout2)
-.
-
-Definition interp_base_type (v : base_type) : Type :=
- match v with
- | TZ => Z
- | TWord logsz => wordT logsz
- end.
-
-Definition interpToZ {t} : interp_base_type t -> Z
- := match t with
- | TZ => fun x => x
- | TWord _ => wordToZ
- end.
-Definition ZToInterp {t} : Z -> interp_base_type t
- := match t return Z -> interp_base_type t with
- | TZ => fun x => x
- | TWord _ => ZToWord
- end.
-Definition cast_const {t1 t2} (v : interp_base_type t1) : interp_base_type t2
- := ZToInterp (interpToZ v).
-
-Local Notation eta x := (fst x, snd x).
-Local Notation eta3 x := (eta (fst x), snd x).
-Local Notation eta4 x := (eta3 (fst x), snd x).
-
-Definition lift_op {src dst}
- (srcv:=SmartValf (fun _ => base_type) (fun t => t) src)
- (dstv:=SmartValf (fun _ => base_type) (fun t => t) dst)
- (ff:=fun t0 (v : interp_flat_type _ t0) t => SmartFlatTypeMap (var':=fun _ => base_type) (fun _ _ => t) v)
- (srcf:=ff src srcv) (dstf:=ff dst dstv)
- (srcZ:=srcf TZ) (dstZ:=dstf TZ)
- (opZ : interp_flat_type interp_base_type srcZ -> interp_flat_type interp_base_type dstZ)
- : interp_flat_type interp_base_type src
- -> interp_flat_type interp_base_type dst
- := fun xy
- => SmartFlatTypeMapUnInterp
- (fun _ _ => cast_const)
- (opZ (SmartFlatTypeMapInterp2 (fun _ _ => cast_const) _ xy)).
-
-Definition Zinterp_op src dst (f : op src dst)
- (asZ := fun t0 => SmartFlatTypeMap (var':=fun _ => base_type) (fun _ _ => TZ) (SmartValf (fun _ => base_type) (fun t => t) t0))
- : interp_flat_type interp_base_type (asZ src) -> interp_flat_type interp_base_type (asZ dst)
- := match f in op src dst return interp_flat_type interp_base_type (asZ src) -> interp_flat_type interp_base_type (asZ dst) with
- | OpConst _ v => fun _ => cast_const (t1:=TZ) v
- | Add _ _ _ => fun xy => fst xy + snd xy
- | Sub _ _ _ => fun xy => fst xy - snd xy
- | Mul _ _ _ => fun xy => fst xy * snd xy
- | Shl _ _ _ => fun xy => Z.shiftl (fst xy) (snd xy)
- | Shr _ _ _ => fun xy => Z.shiftr (fst xy) (snd xy)
- | Land _ _ _ => fun xy => Z.land (fst xy) (snd xy)
- | Lor _ _ _ => fun xy => Z.lor (fst xy) (snd xy)
- | Opp _ _ => fun x => Z.opp x
- | IdWithAlt _ _ _ => fun xy => id_with_alt (fst xy) (snd xy)
- | Zselect _ _ _ _ => fun ctf => let '(c, t, f) := eta3 ctf in Z.zselect c t f
- | MulSplit bitwidth _ _ _ _ => fun xy => Z.mul_split_at_bitwidth bitwidth (fst xy) (snd xy)
- | AddWithCarry _ _ _ _ => fun cxy => let '(c, x, y) := eta3 cxy in Z.add_with_carry c x y
- | AddWithGetCarry bitwidth _ _ _ _ _ => fun cxy => let '(c, x, y) := eta3 cxy in Z.add_with_get_carry bitwidth c x y
- | SubWithBorrow _ _ _ _ => fun cxy => let '(c, x, y) := eta3 cxy in Z.sub_with_borrow c x y
- | SubWithGetBorrow bitwidth _ _ _ _ _ => fun cxy => let '(c, x, y) := eta3 cxy in Z.sub_with_get_borrow bitwidth c x y
- end%Z.
-
-Definition interp_op src dst (f : op src dst) : interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst
- := lift_op (Zinterp_op src dst f).
-
-Notation Expr := (Expr base_type op).
-Notation Interp := (Interp interp_op).
diff --git a/src/Compilers/Z/Syntax/Equality.v b/src/Compilers/Z/Syntax/Equality.v
deleted file mode 100644
index 0ff0fabf0..000000000
--- a/src/Compilers/Z/Syntax/Equality.v
+++ /dev/null
@@ -1,215 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.Equality.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.PartiallyReifiedProp.
-Require Import Crypto.Util.HProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.FixedWordSizesEquality.
-Require Import Crypto.Util.NatUtil.
-
-Global Instance dec_eq_base_type : DecidableRel (@eq base_type)
- := base_type_eq_dec.
-Global Instance dec_eq_flat_type : DecidableRel (@eq (flat_type base_type)) := _.
-Global Instance dec_eq_type : DecidableRel (@eq (type base_type)) := _.
-
-Notation base_type_dec_bl := internal_base_type_dec_bl.
-Notation base_type_dec_lb := internal_base_type_dec_lb.
-Notation flat_type_beq := (@flat_type_beq base_type base_type_beq).
-Notation flat_type_dec_bl := (@flat_type_dec_bl base_type base_type_beq base_type_dec_bl).
-Notation flat_type_dec_lb := (@flat_type_dec_lb base_type base_type_beq base_type_dec_lb).
-
-Definition base_type_eq_semidec_transparent (t1 t2 : base_type)
- : option (t1 = t2)
- := match base_type_eq_dec t1 t2 with
- | left pf => Some pf
- | right _ => None
- end.
-Lemma base_type_eq_semidec_is_dec t1 t2 : base_type_eq_semidec_transparent t1 t2 = None -> t1 <> t2.
-Proof.
- unfold base_type_eq_semidec_transparent; break_match; congruence.
-Qed.
-
-Definition op_beq_hetero {t1 tR t1' tR'} (f : op t1 tR) (g : op t1' tR') : bool
- := match f, g return bool with
- | OpConst T1 v, OpConst T2 v'
- => base_type_beq T1 T2 && Z.eqb v v'
- | Add T1 T2 Tout, Add T1' T2' Tout'
- | Sub T1 T2 Tout, Sub T1' T2' Tout'
- | Mul T1 T2 Tout, Mul T1' T2' Tout'
- | Shl T1 T2 Tout, Shl T1' T2' Tout'
- | Shr T1 T2 Tout, Shr T1' T2' Tout'
- | Land T1 T2 Tout, Land T1' T2' Tout'
- | Lor T1 T2 Tout, Lor T1' T2' Tout'
- => base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq Tout Tout'
- | Opp Tin Tout, Opp Tin' Tout'
- => base_type_beq Tin Tin' && base_type_beq Tout Tout'
- | IdWithAlt T1 T2 Tout, IdWithAlt T1' T2' Tout'
- => base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq Tout Tout'
- | Zselect T1 T2 T3 Tout, Zselect T1' T2' T3' Tout'
- => base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq T3 T3' && base_type_beq Tout Tout'
- | MulSplit bitwidth T1 T2 Tout1 Tout2, MulSplit bitwidth' T1' T2' Tout1' Tout2'
- => Z.eqb bitwidth bitwidth' && base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq Tout1 Tout1' && base_type_beq Tout2 Tout2'
- | AddWithCarry T1 T2 T3 Tout, AddWithCarry T1' T2' T3' Tout'
- => base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq T3 T3' && base_type_beq Tout Tout'
- | AddWithGetCarry bitwidth T1 T2 T3 Tout1 Tout2, AddWithGetCarry bitwidth' T1' T2' T3' Tout1' Tout2'
- => Z.eqb bitwidth bitwidth' && base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq T3 T3' && base_type_beq Tout1 Tout1' && base_type_beq Tout2 Tout2'
- | SubWithBorrow T1 T2 T3 Tout, SubWithBorrow T1' T2' T3' Tout'
- => base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq T3 T3' && base_type_beq Tout Tout'
- | SubWithGetBorrow bitwidth T1 T2 T3 Tout1 Tout2, SubWithGetBorrow bitwidth' T1' T2' T3' Tout1' Tout2'
- => Z.eqb bitwidth bitwidth' && base_type_beq T1 T1' && base_type_beq T2 T2' && base_type_beq T3 T3' && base_type_beq Tout1 Tout1' && base_type_beq Tout2 Tout2'
- | OpConst _ _, _
- | Add _ _ _, _
- | Sub _ _ _, _
- | Mul _ _ _, _
- | Shl _ _ _, _
- | Shr _ _ _, _
- | Land _ _ _, _
- | Lor _ _ _, _
- | Opp _ _, _
- | IdWithAlt _ _ _, _
- | Zselect _ _ _ _, _
- | MulSplit _ _ _ _ _, _
- | AddWithCarry _ _ _ _, _
- | AddWithGetCarry _ _ _ _ _ _, _
- | SubWithBorrow _ _ _ _, _
- | SubWithGetBorrow _ _ _ _ _ _, _
- => false
- end%bool.
-
-Definition op_beq t1 tR (f g : op t1 tR) : bool
- := Eval cbv [op_beq_hetero] in op_beq_hetero f g.
-
-Definition op_beq_hetero_type_eq {t1 tR t1' tR'} f g : to_prop (@op_beq_hetero t1 tR t1' tR' f g) -> t1 = t1' /\ tR = tR'.
-Proof.
- destruct f, g;
- repeat match goal with
- | _ => progress unfold op_beq_hetero in *
- | _ => simpl; intro; exfalso; assumption
- | _ => solve [ repeat constructor ]
- | [ |- context[reified_Prop_of_bool ?b] ]
- => let H := fresh in destruct (Sumbool.sumbool_of_bool b) as [H|H]; rewrite H
- | [ H : nat_beq _ _ = true |- _ ] => apply internal_nat_dec_bl in H; subst
- | [ H : base_type_beq _ _ = true |- _ ] => apply internal_base_type_dec_bl in H; subst
- | [ H : wordT_beq_hetero _ _ = true |- _ ] => apply wordT_beq_bl in H; subst
- | [ H : wordT_beq_hetero _ _ = true |- _ ] => apply wordT_beq_hetero_bl in H; destruct H; subst
- | [ H : andb ?x ?y = true |- _ ]
- => assert (x = true /\ y = true) by (destruct x, y; simpl in *; repeat constructor; exfalso; clear -H; abstract congruence);
- clear H
- | [ H : and _ _ |- _ ] => destruct H
- | [ H : false = true |- _ ] => exfalso; clear -H; abstract congruence
- | [ H : true = false |- _ ] => exfalso; clear -H; abstract congruence
- | _ => progress break_match_hyps
- end.
-Defined.
-
-Definition op_beq_hetero_type_eqs {t1 tR t1' tR'} f g : to_prop (@op_beq_hetero t1 tR t1' tR' f g) -> t1 = t1'
- := fun H => let (p, q) := @op_beq_hetero_type_eq t1 tR t1' tR' f g H in p.
-Definition op_beq_hetero_type_eqd {t1 tR t1' tR'} f g : to_prop (@op_beq_hetero t1 tR t1' tR' f g) -> tR = tR'
- := fun H => let (p, q) := @op_beq_hetero_type_eq t1 tR t1' tR' f g H in q.
-
-Definition op_beq_hetero_eq {t1 tR t1' tR'} f g
- : forall pf : to_prop (@op_beq_hetero t1 tR t1' tR' f g),
- eq_rect
- _ (fun src => op src tR')
- (eq_rect _ (fun dst => op t1 dst) f _ (op_beq_hetero_type_eqd f g pf))
- _ (op_beq_hetero_type_eqs f g pf)
- = g.
-Proof.
- destruct f, g;
- repeat match goal with
- | _ => solve [ intros [] ]
- | _ => reflexivity
- | [ H : False |- _ ] => exfalso; assumption
- | _ => intro
- | [ |- context[op_beq_hetero_type_eqd ?f ?g ?pf] ]
- => generalize (op_beq_hetero_type_eqd f g pf), (op_beq_hetero_type_eqs f g pf)
- | _ => intro
- | _ => progress eliminate_hprop_eq
- | _ => progress inversion_flat_type
- | _ => progress unfold op_beq_hetero in *
- | _ => progress simpl in *
- | [ H : context[andb ?x ?y] |- _ ]
- => destruct x eqn:?, y eqn:?; simpl in H
- | [ H : Z.eqb _ _ = true |- _ ] => apply Z.eqb_eq in H
- | [ H : to_prop (reified_Prop_of_bool ?b) |- _ ] => destruct b eqn:?; compute in H
- | _ => progress subst
- | _ => progress break_match_hyps
- | [ H : wordT_beq_hetero _ _ = true |- _ ] => apply wordT_beq_bl in H; subst
- | [ H : wordT_beq_hetero _ _ = true |- _ ] => apply wordT_beq_hetero_bl in H; destruct H; subst
- | _ => congruence
- end.
-Qed.
-
-Lemma op_beq_bl : forall t1 tR x y, to_prop (op_beq t1 tR x y) -> x = y.
-Proof.
- intros ?? f g H.
- pose proof (op_beq_hetero_eq f g H) as H'.
- generalize dependent (op_beq_hetero_type_eqd f g H).
- generalize dependent (op_beq_hetero_type_eqs f g H).
- intros; eliminate_hprop_eq; simpl in *; assumption.
-Qed.
-
-Section encode_decode.
- Definition base_type_code (t1 t2 : base_type) : Prop
- := match t1, t2 with
- | TZ, TZ => True
- | TWord s1, TWord s2 => s1 = s2
- | TZ, _
- | TWord _, _
- => False
- end.
-
- Definition base_type_encode (x y : base_type) : x = y -> base_type_code x y.
- Proof. intro p; destruct p, x; repeat constructor. Defined.
-
- Definition base_type_decode (x y : base_type) : base_type_code x y -> x = y.
- Proof.
- destruct x, y; simpl in *; intro H;
- try first [ apply f_equal; assumption
- | exfalso; assumption
- | reflexivity
- | apply f_equal2; destruct H; assumption ].
- Defined.
- Definition path_base_type_rect {x y : base_type} (Q : x = y -> Type)
- (f : forall p, Q (base_type_decode x y p))
- : forall p, Q p.
- Proof. intro p; specialize (f (base_type_encode x y p)); destruct x, p; exact f. Defined.
-End encode_decode.
-
-Ltac induction_type_in_using H rect :=
- induction H as [H] using (rect _ _);
- cbv [base_type_code] in H;
- let H1 := fresh H in
- let H2 := fresh H in
- try lazymatch type of H with
- | False => exfalso; exact H
- | True => destruct H
- end.
-Ltac inversion_base_type_step :=
- lazymatch goal with
- | [ H : _ = TWord _ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- | [ H : TWord _ = _ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- | [ H : _ = TZ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- | [ H : TZ = _ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- end.
-Ltac inversion_base_type := repeat inversion_base_type_step.
-Ltac inversion_base_type_constr_step :=
- lazymatch goal with
- | [ H : TWord _ = TWord _ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- | [ H : TWord _ = TZ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- | [ H : TZ = TWord _ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- | [ H : TZ = TZ |- _ ]
- => induction_type_in_using H @path_base_type_rect
- end.
-Ltac inversion_base_type_constr := repeat inversion_base_type_constr_step.
diff --git a/src/Compilers/Z/Syntax/Util.v b/src/Compilers/Z/Syntax/Util.v
deleted file mode 100644
index 110e6b816..000000000
--- a/src/Compilers/Z/Syntax/Util.v
+++ /dev/null
@@ -1,317 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Lia.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.TypeUtil.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Util.FixedWordSizesEquality.
-Require Import Crypto.Util.HProp.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.PointedProp.
-
-Definition make_const t : interp_base_type t -> op Unit (Tbase t)
- := fun v => OpConst (cast_const (t2:=TZ) v).
-Definition is_const s d (v : op s d) : bool
- := match v with OpConst _ _ => true | _ => false end.
-Arguments is_const [s d] v.
-Definition is_opp s d (v : op s d) : bool
- := match v with Opp _ _ => true | _ => false end.
-Arguments is_opp [s d] v.
-Definition is_const_or_opp s d (v : op s d) : bool
- := (is_const v || is_opp v)%bool.
-Arguments is_const_or_opp [s d] v.
-
-
-Definition interped_op_side_conditions {s d} (opc : op s d)
- : interp_flat_type interp_base_type s -> pointed_Prop
- := match opc in op s d return interp_flat_type _ s -> _ with
- | IdWithAlt TZ TZ TZ
- => fun v1v2 : Z * Z
- => inject (fst v1v2 = snd v1v2)
- | _ => fun _ => trivial
- end.
-
-Definition cast_back_flat_const {var t f V}
- (v : interp_flat_type interp_base_type (@SmartFlatTypeMap base_type var f t V))
- : interp_flat_type interp_base_type t
- := @SmartFlatTypeMapUnInterp
- _ var interp_base_type interp_base_type
- f (fun _ _ => cast_const)
- t V v.
-
-Definition cast_flat_const {var t f V}
- (v : interp_flat_type interp_base_type t)
- : interp_flat_type interp_base_type (@SmartFlatTypeMap base_type var f t V)
- := @SmartFlatTypeMapInterp2
- _ var interp_base_type interp_base_type
- f (fun _ _ => cast_const)
- t V v.
-
-Definition base_type_leb (v1 v2 : base_type) : bool
- := match v1, v2 with
- | _, TZ => true
- | TZ, _ => false
- | TWord logsz1, TWord logsz2 => Compare_dec.leb logsz1 logsz2
- end.
-
-Definition base_type_min := base_type_min base_type_leb.
-Definition base_type_max := base_type_max base_type_leb.
-Global Arguments base_type_min !_ !_ / .
-Global Arguments base_type_max !_ !_ / .
-Global Arguments TypeUtil.base_type_min _ _ _ / _.
-Global Arguments TypeUtil.base_type_max _ _ _ / _.
-
-Definition genericize_op {var' src dst} (opc : op src dst) {f}
- : forall {vs vd}, op (@SmartFlatTypeMap _ var' f src vs) (@SmartFlatTypeMap _ var' f dst vd)
- := match opc with
- | OpConst _ z => fun _ _ => OpConst z
- | Add _ _ _ => fun _ _ => Add _ _ _
- | Sub _ _ _ => fun _ _ => Sub _ _ _
- | Mul _ _ _ => fun _ _ => Mul _ _ _
- | Shl _ _ _ => fun _ _ => Shl _ _ _
- | Shr _ _ _ => fun _ _ => Shr _ _ _
- | Land _ _ _ => fun _ _ => Land _ _ _
- | Lor _ _ _ => fun _ _ => Lor _ _ _
- | Opp _ _ => fun _ _ => Opp _ _
- | IdWithAlt _ _ _ => fun _ _ => IdWithAlt _ _ _
- | Zselect _ _ _ _ => fun _ _ => Zselect _ _ _ _
- | MulSplit bitwidth _ _ _ _ => fun _ _ => MulSplit bitwidth _ _ _ _
- | AddWithCarry _ _ _ _ => fun _ _ => AddWithCarry _ _ _ _
- | AddWithGetCarry bitwidth _ _ _ _ _ => fun _ _ => AddWithGetCarry bitwidth _ _ _ _ _
- | SubWithBorrow _ _ _ _ => fun _ _ => SubWithBorrow _ _ _ _
- | SubWithGetBorrow bitwidth _ _ _ _ _ => fun _ _ => SubWithGetBorrow bitwidth _ _ _ _ _
- end.
-
-Lemma cast_const_id {t} v
- : @cast_const t t v = v.
-Proof.
- destruct t; simpl; trivial.
- rewrite ZToWord_wordToZ; reflexivity.
-Qed.
-
-Lemma cast_const_idempotent_small {a b c} v
- : match b with
- | TZ => True
- | TWord bsz => 0 <= interpToZ (@cast_const a c v) < 2^Z.of_nat (2^bsz)
- end%Z
- -> @cast_const b c (@cast_const a b v) = @cast_const a c v.
-Proof.
- repeat first [ reflexivity
- | congruence
- | progress destruct_head' base_type
- | progress simpl
- | progress break_match
- | progress subst
- | intro
- | match goal with
- | [ H : ?leb _ _ = true |- _ ] => apply Compare_dec.leb_complete in H
- | [ H : ?leb _ _ = false |- _ ] => apply Compare_dec.leb_iff_conv in H
- | [ H : TWord _ = TWord _ |- _ ] => inversion H; clear H
- end
- | rewrite ZToWord_wordToZ_ZToWord by lia
- | rewrite wordToZ_ZToWord_wordToZ by lia
- | rewrite wordToZ_ZToWord by assumption
- | rewrite ZToWord_wordToZ_ZToWord_small by omega ].
-Qed.
-
-Lemma cast_const_split_mod {a b} v
- : @cast_const a b v = ZToInterp (match a, b with
- | TZ, _ => interpToZ v
- | _, TWord lgsz => (interpToZ v) mod (2^Z.of_nat (2^lgsz))
- | _, TZ => interpToZ v
- end).
-Proof.
- destruct_head base_type; simpl; try reflexivity.
- rewrite <- wordToZ_ZToWord_mod, ZToWord_wordToZ by apply wordToZ_range.
- reflexivity.
-Qed.
-
-Lemma interpToZ_cast_const_mod {a b} v
- : interpToZ (@cast_const a b v)
- = match b with
- | TZ => interpToZ v
- | TWord lgsz => Z.max 0 (interpToZ v) mod (2^Z.of_nat (2^lgsz))
- end%Z.
-Proof.
- repeat first [ progress destruct_head base_type
- | reflexivity
- | rewrite wordToZ_ZToWord_mod_full ].
-Qed.
-
-Lemma cast_const_ZToInterp_mod {a b} v
- : @cast_const a b (ZToInterp v)
- = ZToInterp match a with
- | TZ => v
- | TWord lgsz => Z.max 0 v mod 2^Z.of_nat (2^lgsz)
- end%Z.
-Proof.
- repeat first [ progress destruct_head base_type
- | reflexivity
- | rewrite wordToZ_ZToWord_mod_full ].
-Qed.
-
-Lemma interpToZ_ZToInterp_mod {a} v
- : @interpToZ a (ZToInterp v)
- = match a with
- | TZ => v
- | TWord lgsz => Z.max 0 v mod 2^Z.of_nat (2^lgsz)
- end%Z.
-Proof.
- etransitivity; [ apply (@interpToZ_cast_const_mod TZ) | ].
- reflexivity.
-Qed.
-
-Lemma cast_const_idempotent {a b c} v
- : base_type_min b (base_type_min a c) = base_type_min a c
- -> @cast_const b c (@cast_const a b v) = @cast_const a c v.
-Proof.
- repeat first [ reflexivity
- | congruence
- | progress destruct_head' base_type
- | progress simpl
- | progress break_match
- | progress subst
- | intro
- | match goal with
- | [ H : ?leb _ _ = true |- _ ] => apply Compare_dec.leb_complete in H
- | [ H : ?leb _ _ = false |- _ ] => apply Compare_dec.leb_iff_conv in H
- | [ H : TWord _ = TWord _ |- _ ] => inversion H; clear H
- end
- | rewrite ZToWord_wordToZ_ZToWord by lia
- | rewrite wordToZ_ZToWord_wordToZ by lia ].
-Qed.
-
-Lemma ZToInterp_eq_inj {a} x y
- : @ZToInterp a x = @ZToInterp a y
- <-> match a with
- | TZ => x
- | TWord lgsz => Z.max 0 x mod 2^Z.of_nat (2^lgsz)
- end%Z
- = match a with
- | TZ => y
- | TWord lgsz => Z.max 0 y mod 2^Z.of_nat (2^lgsz)
- end%Z.
-Proof.
- rewrite <- !interpToZ_ZToInterp_mod.
- destruct a; try reflexivity; simpl.
- split; intro H; try congruence.
- rewrite <- (ZToWord_wordToZ (FixedWordSizes.ZToWord x)), <- (ZToWord_wordToZ (FixedWordSizes.ZToWord y)).
- congruence.
-Qed.
-
-Lemma interpToZ_range {a} (v : interp_base_type a)
- : match a with
- | TZ => True
- | TWord lgsz => 0 <= interpToZ v < 2^Z.of_nat (2^lgsz)
- end%Z.
-Proof.
- destruct a; trivial; simpl.
- apply wordToZ_range.
-Qed.
-
-Lemma make_const_correct : forall T v, interp_op Unit (Tbase T) (make_const T v) tt = v.
-Proof.
- destruct T; cbv -[FixedWordSizes.ZToWord FixedWordSizes.wordToZ FixedWordSizes.wordT];
- intro; rewrite ?ZToWord_wordToZ; reflexivity.
-Qed.
-
-Local Notation iffT A B := ((A -> B) * (B -> A))%type (only parsing).
-
-Section unzify.
- Context {var'} {f : forall t : base_type, var' t -> base_type}.
- Let asZ := fun t => SmartFlatTypeMap
- (fun _ _ => TZ)
- (SmartValf (fun _ => base_type) (fun t => t) t).
- Definition unzify_op_helper_step
- (unzify_op_helper
- : forall {t : flat_type base_type}
- {vs : interp_flat_type var' t},
- iffT (interp_flat_type
- interp_base_type
- (asZ t))
- (interp_flat_type
- interp_base_type
- (asZ (SmartFlatTypeMap f vs))))
- {t : flat_type base_type}
- : forall {vs : interp_flat_type var' t},
- iffT (interp_flat_type
- interp_base_type
- (asZ t))
- (interp_flat_type
- interp_base_type
- (asZ (SmartFlatTypeMap f vs)))
- := match t with
- | Tbase T => fun _ => (fun x => x, fun x => x)
- | Unit => fun _ => (fun x => x, fun x => x)
- | Prod A B
- => fun (vs : interp_flat_type _ A * interp_flat_type _ B)
- => let f1 := @unzify_op_helper A (fst vs) in
- let f2 := @unzify_op_helper B (snd vs) in
- ((fun x : interp_flat_type _ (asZ A) * interp_flat_type _ (asZ B)
- => (fst f1 (fst x), fst f2 (snd x))),
- (fun x : interp_flat_type _ (asZ (SmartFlatTypeMap f (fst vs)))
- * interp_flat_type _ (asZ (SmartFlatTypeMap f (snd vs)))
- => (snd f1 (fst x), snd f2 (snd x))))
- end.
- Fixpoint unzify_op_helper {t vs}
- := @unzify_op_helper_step (@unzify_op_helper) t vs.
-
- Definition unzify_op
- {src dst : flat_type base_type}
- {vs : interp_flat_type var' src} {vd : interp_flat_type var' dst}
- (F : interp_flat_type interp_base_type (asZ src) -> interp_flat_type interp_base_type (asZ dst))
- (x : interp_flat_type interp_base_type (asZ (SmartFlatTypeMap f vs)))
- : interp_flat_type interp_base_type (asZ (SmartFlatTypeMap f vd))
- := fst unzify_op_helper (F (snd unzify_op_helper x)).
-End unzify.
-
-Arguments unzify_op_helper_step _ _ _ !_ _ / .
-Arguments unzify_op_helper _ _ !_ _ / .
-
-Lemma Zinterp_op_genericize_op {var' src dst opc f vs vd}
- : Zinterp_op _ _ (@genericize_op var' src dst opc f vs vd)
- = unzify_op (Zinterp_op _ _ opc).
-Proof.
- destruct opc; unfold unzify_op; reflexivity.
-Qed.
-
-Lemma lift_op_prod_dst {src dstA dstB}
- {f : _ -> interp_flat_type _ (SmartFlatTypeMap _ (SmartValf _ _ _)) * interp_flat_type _ (SmartFlatTypeMap _ (SmartValf _ _ _))}
- {x}
- : @lift_op src (Prod dstA dstB) f x
- = (@lift_op src dstA (fun y => fst (f y)) x, @lift_op src dstB (fun y => snd (f y)) x).
-Proof. reflexivity. Qed.
-
-Lemma cast_back_flat_const_prod {var A B f} {V : _ * _}
- (v : interp_flat_type interp_base_type (@SmartFlatTypeMap base_type var f A (fst V))
- * interp_flat_type interp_base_type (@SmartFlatTypeMap base_type var f B (snd V)))
- : @cast_back_flat_const var (Prod A B) f V v
- = (@cast_back_flat_const var A f (fst V) (fst v),
- @cast_back_flat_const var B f (snd V) (snd v)).
-Proof. reflexivity. Qed.
-
-Lemma base_type_leb_total
- : forall x y : base_type, base_type_leb x y = true \/ base_type_leb y x = true.
-Proof.
- induction x, y; simpl; auto.
- rewrite !Nat.leb_le; omega.
-Qed.
-
-Lemma eta_match_base_type_impl P1 P2 PZ T
- : match T as T return P1 T -> P2 with
- | TZ => fun _ => PZ
- | TWord _ => fun _ => PZ
- end = fun _ => PZ.
-Proof. destruct T; reflexivity. Qed.
-Ltac rewrite_eta_match_base_type_impl_step :=
- match goal with
- | [ H : context[match ?T as T' in base_type return (@?P1 T' -> ?P2) with TZ => fun _ => ?PZ | TWord _ => fun _ => ?PZ end] |- _ ]
- => rewrite (@eta_match_base_type_impl P1 P2 PZ T) in H
- | [ |- context[match ?T as T' in base_type return (@?P1 T' -> ?P2) with TZ => fun _ => ?PZ | TWord _ => fun _ => ?PZ end] ]
- => rewrite (@eta_match_base_type_impl P1 P2 PZ T)
- end.
-Ltac rewrite_eta_match_base_type_impl := repeat rewrite_eta_match_base_type_impl_step.
diff --git a/src/Compilers/Z/TypeInversion.v b/src/Compilers/Z/TypeInversion.v
deleted file mode 100644
index 92338dcfb..000000000
--- a/src/Compilers/Z/TypeInversion.v
+++ /dev/null
@@ -1,43 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.TypeInversion.
-Require Import Crypto.Util.FixCoqMistakes.
-
-Section language.
- Section flat.
- Context (P : flat_type base_type -> Type).
-
- Local Ltac t :=
- let H := fresh in
- intro H; intros;
- match goal with
- | [ p : _ |- _ ] => specialize (H _ p)
- end;
- cbv beta iota in *;
- try specialize (H eq_refl); simpl in *;
- try assumption.
-
- Definition preinvert_TbaseTZ (Q : P (Tbase TZ) -> Type)
- : (forall t (p : P t), match t return P t -> Type with Tbase TZ => Q | _ => fun _ => True end p)
- -> forall p, Q p.
- Proof. t. Defined.
-
- Definition preinvert_TbaseTWord (Q : forall t, P (Tbase (TWord t)) -> Type)
- : (forall t (p : P t), match t return P t -> Type with Tbase (TWord _) => Q _ | _ => fun _ => True end p)
- -> forall t p, Q t p.
- Proof. t. Defined.
- End flat.
-End language.
-
-Ltac preinvert_one_type e :=
- lazymatch type of e with
- | ?P (Tbase TZ)
- => revert dependent e;
- refine (preinvert_TbaseTZ P _ _)
- | ?P (Tbase (TWord ?T))
- => is_var T;
- move e at top;
- revert dependent T;
- refine (preinvert_TbaseTWord P _ _)
- | _ => Compilers.TypeInversion.preinvert_one_type e
- end.
diff --git a/src/Compilers/ZExtended/InlineConstAndOp.v b/src/Compilers/ZExtended/InlineConstAndOp.v
deleted file mode 100644
index c1fd77e9d..000000000
--- a/src/Compilers/ZExtended/InlineConstAndOp.v
+++ /dev/null
@@ -1,10 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InlineConstAndOp.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-
-Definition inline_const_and_opf {var} {t} (e : exprf _ _ t) : @exprf base_type op var t
- := @inline_const_and_opf base_type op interp_base_type (@interp_op) var (@Const) t e.
-Definition inline_const_and_op {var} {t} (e : expr _ _ t) : @expr base_type op var t
- := @inline_const_and_op base_type op interp_base_type (@interp_op) var (@Const) t e.
-Definition InlineConstAndOp {t} (e : Expr t) : Expr t
- := @InlineConstAndOp base_type op interp_base_type (@interp_op) (@Const) t e.
diff --git a/src/Compilers/ZExtended/InlineConstAndOpByRewrite.v b/src/Compilers/ZExtended/InlineConstAndOpByRewrite.v
deleted file mode 100644
index 418a0e0f3..000000000
--- a/src/Compilers/ZExtended/InlineConstAndOpByRewrite.v
+++ /dev/null
@@ -1,12 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InlineConstAndOpByRewrite.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-
-Module Export Rewrite.
- Definition inline_const_and_opf {var} {t} (e : exprf _ _ t) : @exprf base_type op var t
- := @inline_const_and_opf base_type op interp_base_type (@interp_op) var (@Const) t e.
- Definition inline_const_and_op {var} {t} (e : expr _ _ t) : @expr base_type op var t
- := @inline_const_and_op base_type op interp_base_type (@interp_op) var (@Const) t e.
- Definition InlineConstAndOp {t} (e : Expr t) : Expr t
- := @InlineConstAndOp base_type op interp_base_type (@interp_op) (@Const) t e.
-End Rewrite.
diff --git a/src/Compilers/ZExtended/InlineConstAndOpByRewriteInterp.v b/src/Compilers/ZExtended/InlineConstAndOpByRewriteInterp.v
deleted file mode 100644
index 64d5263a7..000000000
--- a/src/Compilers/ZExtended/InlineConstAndOpByRewriteInterp.v
+++ /dev/null
@@ -1,15 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.InlineConstAndOpByRewriteInterp.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-Require Import Crypto.Compilers.ZExtended.InlineConstAndOpByRewrite.
-
-Module Export Rewrite.
- Lemma InterpInlineConstAndOp {t} (e : Expr t)
- : forall x, Interp (InlineConstAndOp e) x = Interp e x.
- Proof.
- refine (@InterpInlineConstAndOp _ _ _ _ _ t e _).
- clear; abstract (intros []; intros; reflexivity).
- Defined.
-
- Hint Rewrite @InterpInlineConstAndOp : reflective_interp.
-End Rewrite.
diff --git a/src/Compilers/ZExtended/InlineConstAndOpByRewriteWf.v b/src/Compilers/ZExtended/InlineConstAndOpByRewriteWf.v
deleted file mode 100644
index 281bee6ab..000000000
--- a/src/Compilers/ZExtended/InlineConstAndOpByRewriteWf.v
+++ /dev/null
@@ -1,13 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineConstAndOpByRewriteWf.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-Require Import Crypto.Compilers.ZExtended.InlineConstAndOpByRewrite.
-
-Module Export Rewrite.
- Definition Wf_InlineConstAndOp {t} (e : Expr t) (Hwf : Wf e)
- : Wf (InlineConstAndOp e)
- := @Wf_InlineConstAndOp _ _ _ _ _ t e Hwf.
-
- Hint Resolve Wf_InlineConstAndOp : wf.
-End Rewrite.
diff --git a/src/Compilers/ZExtended/InlineConstAndOpInterp.v b/src/Compilers/ZExtended/InlineConstAndOpInterp.v
deleted file mode 100644
index 3f1a83f3d..000000000
--- a/src/Compilers/ZExtended/InlineConstAndOpInterp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineConstAndOpInterp.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-Require Import Crypto.Compilers.ZExtended.InlineConstAndOp.
-
-Definition InterpInlineConstAndOp {t} (e : Expr t) (Hwf : Wf e)
- : forall x, Interp (InlineConstAndOp e) x = Interp e x.
-Proof.
- refine (@InterpInlineConstAndOp _ _ _ _ _ t e Hwf _).
- clear; abstract (intros []; intros; reflexivity).
-Defined.
-
-Hint Rewrite @InterpInlineConstAndOp using solve_wf_side_condition : reflective_interp.
diff --git a/src/Compilers/ZExtended/InlineConstAndOpWf.v b/src/Compilers/ZExtended/InlineConstAndOpWf.v
deleted file mode 100644
index 3ce24e237..000000000
--- a/src/Compilers/ZExtended/InlineConstAndOpWf.v
+++ /dev/null
@@ -1,11 +0,0 @@
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Wf.
-Require Import Crypto.Compilers.InlineConstAndOpWf.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-Require Import Crypto.Compilers.ZExtended.InlineConstAndOp.
-
-Definition Wf_InlineConstAndOp {t} (e : Expr t) (Hwf : Wf e)
- : Wf (InlineConstAndOp e)
- := @Wf_InlineConstAndOp _ _ _ _ _ t e Hwf.
-
-Hint Resolve Wf_InlineConstAndOp : wf.
diff --git a/src/Compilers/ZExtended/MapBaseType.v b/src/Compilers/ZExtended/MapBaseType.v
deleted file mode 100644
index 66b18f6f5..000000000
--- a/src/Compilers/ZExtended/MapBaseType.v
+++ /dev/null
@@ -1,22 +0,0 @@
-Require Import Coq.ZArith.BinIntDef.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-Require Import Crypto.Compilers.ZExtended.Syntax.Util.
-Require Import Crypto.Compilers.MapBaseType.
-
-Definition MapBaseType' {t} (e : Expr t)
- : Z.Syntax.Expr (Arrow (lift_flat_type unextend_base_type (domain t))
- (lift_flat_type unextend_base_type (codomain t)))
- := @MapBaseType' _ _ _ _ unextend_base_type (fun _ s d opc _ => unextend_op opc)
- (fun _ t => Op (make_const t (ZToInterp 0)) TT)
- t e.
-
-Definition MapBaseType {t} (e : Expr t)
- : option (Z.Syntax.Expr (Arrow (lift_flat_type unextend_base_type (domain t))
- (lift_flat_type unextend_base_type (codomain t))))
- := @MapBaseType _ _ _ _ unextend_base_type (fun _ s d opc _ => unextend_op opc)
- (fun _ t => Op (make_const t (ZToInterp 0)) TT)
- t e.
diff --git a/src/Compilers/ZExtended/Syntax.v b/src/Compilers/ZExtended/Syntax.v
deleted file mode 100644
index 77e6148e5..000000000
--- a/src/Compilers/ZExtended/Syntax.v
+++ /dev/null
@@ -1,89 +0,0 @@
-(** * PHOAS Syntax for expression trees on ℤ *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.Curry.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.TypeUtil.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.NatUtil. (* for nat_beq for equality schemes *)
-Export Syntax.Notations.
-
-Local Set Boolean Equality Schemes.
-Local Set Decidable Equality Schemes.
-Inductive base_type := TZ | TBool.
-
-Local Notation tZ := (Tbase TZ).
-Local Notation tBool := (Tbase TBool).
-
-Definition interp_base_type (v : base_type) : Set :=
- match v with
- | TZ => Z
- | TBool => bool
- end.
-
-Inductive op : flat_type base_type -> flat_type base_type -> Set :=
-| AddWithGetCarry : op (tuple tZ 4) (tuple tZ 2)
-| SubWithGetBorrow : op (tuple tZ 4) (tuple tZ 2)
-| MulSplitAtBitwidth : op (tuple tZ 3) (tuple tZ 2)
-| AddWithGetCarryZ (bitwidth : Z) : op (tuple tZ 3) (tuple tZ 2)
-| SubWithGetBorrowZ (bitwidth : Z) : op (tuple tZ 3) (tuple tZ 2)
-| MulSplitAtBitwidthZ (bitwidth : Z) : op (tuple tZ 2) (tuple tZ 2)
-| IdWithAlt {T} : op (tuple T 2) (tuple T 1)
-| Zselect : op (tuple tZ 3) (tuple tZ 1)
-| Zmul : op (tuple tZ 2) (tuple tZ 1)
-| Zadd : op (tuple tZ 2) (tuple tZ 1)
-| Zsub : op (tuple tZ 2) (tuple tZ 1)
-| Zopp : op (tuple tZ 1) (tuple tZ 1)
-| Zshiftr : op (tuple tZ 2) (tuple tZ 1)
-| Zshiftl : op (tuple tZ 2) (tuple tZ 1)
-| Zland : op (tuple tZ 2) (tuple tZ 1)
-| Zlor : op (tuple tZ 2) (tuple tZ 1)
-| Zmodulo : op (tuple tZ 2) (tuple tZ 1)
-| Zdiv : op (tuple tZ 2) (tuple tZ 1)
-| Zlog2 : op (tuple tZ 1) (tuple tZ 1)
-| Zpow : op (tuple tZ 2) (tuple tZ 1)
-| Zones : op (tuple tZ 1) (tuple tZ 1)
-| Zeqb : op (tuple tZ 2) (tuple tBool 1)
-| ConstZ (v : BinNums.Z) : op (tuple tZ 0) (tuple tZ 1)
-| ConstBool (v : bool) : op (tuple tZ 0) (tuple tBool 1)
-| BoolCase {T} : op (Prod (Prod tBool T) T) T.
-
-Definition Const {t} : interp_base_type t -> op Unit (Tbase t)
- := match t with
- | TZ => ConstZ
- | Tbool => ConstBool
- end.
-
-Definition interp_op {s d} (opv : op s d) : interp_flat_type interp_base_type s -> interp_flat_type interp_base_type d
- := match opv with
- | AddWithGetCarry => curry4 Z.add_with_get_carry
- | SubWithGetBorrow => curry4 Z.sub_with_get_borrow
- | MulSplitAtBitwidth => curry3 Z.mul_split_at_bitwidth
- | AddWithGetCarryZ bitwidth => curry3 (Z.add_with_get_carry bitwidth)
- | SubWithGetBorrowZ bitwidth => curry3 (Z.sub_with_get_borrow bitwidth)
- | MulSplitAtBitwidthZ bitwidth => curry2 (Z.mul_split_at_bitwidth bitwidth)
- | IdWithAlt T => curry2 id_with_alt
- | Zselect => curry3 Z.zselect
- | Zmul => curry2 Z.mul
- | Zadd => curry2 Z.add
- | Zsub => curry2 Z.sub
- | Zopp => Z.opp
- | Zshiftr => curry2 Z.shiftr
- | Zshiftl => curry2 Z.shiftl
- | Zland => curry2 Z.land
- | Zlor => curry2 Z.lor
- | Zmodulo => curry2 Z.modulo
- | Zdiv => curry2 Z.div
- | Zlog2 => Z.log2
- | Zpow => curry2 Z.pow
- | Zones => Z.ones
- | Zeqb => curry2 Z.eqb
- | ConstZ v => fun _ => v
- | ConstBool v => fun _ => v
- | BoolCase T => fun '(b, t, f) => if b then t else f
- end.
-
-Notation Expr := (Expr base_type op).
-Notation Interp := (Interp (@interp_op)).
diff --git a/src/Compilers/ZExtended/Syntax/Util.v b/src/Compilers/ZExtended/Syntax/Util.v
deleted file mode 100644
index 7c3ed70e6..000000000
--- a/src/Compilers/ZExtended/Syntax/Util.v
+++ /dev/null
@@ -1,81 +0,0 @@
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.ZExtended.Syntax.
-
-Definition unextend_base_type (t : ZExtended.Syntax.base_type) : Z.Syntax.base_type
- := match t with
- | TZ => Z.Syntax.TZ
- | TBool => Z.Syntax.TZ
- end.
-
-Definition invert_Const s d (opc : op s d) : option (interp_flat_type interp_base_type d)
- := match opc with
- | ConstZ v => Some v
- | ConstBool v => Some v
- | AddWithGetCarry
- | SubWithGetBorrow
- | MulSplitAtBitwidth
- | AddWithGetCarryZ _
- | SubWithGetBorrowZ _
- | MulSplitAtBitwidthZ _
- | IdWithAlt _
- | Zselect
- | Zmul
- | Zadd
- | Zsub
- | Zopp
- | Zshiftr
- | Zshiftl
- | Zland
- | Zlor
- | Zmodulo
- | Zdiv
- | Zlog2
- | Zpow
- | Zones
- | Zeqb
- | BoolCase _
- => None
- end.
-
-Definition unextend_op {s d} (opc : ZExtended.Syntax.op s d)
- : option (Z.Syntax.op (lift_flat_type unextend_base_type s)
- (lift_flat_type unextend_base_type d))
- := match opc in ZExtended.Syntax.op s d
- return option (Z.Syntax.op (lift_flat_type unextend_base_type s)
- (lift_flat_type unextend_base_type d))
- with
- | AddWithGetCarry => None
- | AddWithGetCarryZ bitwidth
- => Some (Z.Syntax.AddWithGetCarry bitwidth _ _ _ _ _)
- | SubWithGetBorrow => None
- | SubWithGetBorrowZ bitwidth
- => Some (Z.Syntax.SubWithGetBorrow bitwidth _ _ _ _ _)
- | MulSplitAtBitwidth => None
- | MulSplitAtBitwidthZ bitwidth
- => Some (Z.Syntax.MulSplit bitwidth _ _ _ _)
- | IdWithAlt (Tbase _)
- => Some (Z.Syntax.IdWithAlt _ _ _)
- | IdWithAlt _
- => None
- | Zselect => Some (Z.Syntax.Zselect _ _ _ _)
- | Zmul => Some (Z.Syntax.Mul _ _ _)
- | Zadd => Some (Z.Syntax.Add _ _ _)
- | Zsub => Some (Z.Syntax.Sub _ _ _)
- | Zopp => Some (Z.Syntax.Opp _ _)
- | Zshiftr => Some (Z.Syntax.Shr _ _ _)
- | Zshiftl => Some (Z.Syntax.Shl _ _ _)
- | Zland => Some (Z.Syntax.Land _ _ _)
- | Zlor => Some (Z.Syntax.Lor _ _ _)
- | Zmodulo => None
- | Zdiv => None
- | Zlog2 => None
- | Zpow => None
- | Zones => None
- | Zeqb => None
- | ConstZ v => Some (OpConst v)
- | ConstBool v => None
- | BoolCase T => None
- end.
diff --git a/src/Experiments/PartialEvaluationWithLetIn.v b/src/Experiments/PartialEvaluationWithLetIn.v
deleted file mode 100644
index 82a34c528..000000000
--- a/src/Experiments/PartialEvaluationWithLetIn.v
+++ /dev/null
@@ -1,876 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.Notations.
-
-(** Notes:
-
-1. pattern out identifiers and types.
- - type := arrow (_:type) (_:type) | type_base (_:base_type) -- the latter is a parameter
- - literal is an identifier
- - expr cases: var, abs, app, letin, ident -- ident is a parameter
-2. add prenex polymorphism for identifiers (type variables)
- -
- - ident is indexed by typecodes, perhaps cases: arrow | base | typevar
-*)
-
-Module type.
- Inductive type {base_type : Type} := base (t : base_type) | arrow (s d : type).
- Global Arguments type : clear implicits.
-
- Fixpoint for_each_lhs_of_arrow {base_type} (f : type base_type -> Type) (t : type base_type) : Type
- := match t with
- | base t => unit
- | arrow s d => f s * @for_each_lhs_of_arrow _ f d
- end.
-
- Fixpoint interp {base_type} (base_interp : base_type -> Type) (t : type base_type) : Type
- := match t with
- | base t => base_interp t
- | arrow s d => @interp _ base_interp s -> @interp _ base_interp d
- end.
-
- Fixpoint interpM {base_type} (M : Type -> Type) (base_interp : base_type -> Type) (t : type base_type) : Type
- := match t with
- | base t => base_interp t
- | arrow s d => @interpM _ M base_interp s -> M (@interpM _ M base_interp d)
- end.
-End type.
-Notation type := type.type.
-Delimit Scope etype_scope with etype.
-Bind Scope etype_scope with type.type.
-Infix "->" := type.arrow : etype_scope.
-Module base.
- Module type.
- Inductive type := nat | prod (A B : type) | list (A : type).
- End type.
- Notation type := type.type.
-End base.
-Bind Scope etype_scope with base.type.
-Infix "*" := base.type.prod : etype_scope.
-
-Module parametric.
- Local Notation einterp := type.interp.
- Module type.
- Section subst.
- Context {base_type_with_var base_type}
- (base_subst : base_type_with_var -> base_type)
- (base_interp : base_type_with_var -> Type)
- (base_subst_interp : base_type -> Type)
- (M : Type -> Type)
- (ret : forall T, T -> M T).
-
- Fixpoint subst (t : type base_type_with_var) : type base_type
- := match t with
- | type.base t => type.base (base_subst t)
- | type.arrow s d => type.arrow (subst s) (subst d)
- end.
-
- (* half_interp *)
- Fixpoint interp (t : type base_type_with_var) : Type
- := match t with
- | type.base t => base_interp t
- | type.arrow s d
- => match s with
- | type.arrow s' d' => type.interpM M base_subst_interp (subst s)
- | type.base t => base_interp t
- end -> interp d
- end.
-
- Fixpoint interpM_final (t : type base_type_with_var) : Type
- := match t with
- | type.base t => M (base_interp t)
- | type.arrow s d
- => match s with
- | type.arrow s' d' => type.interpM M base_subst_interp (subst s)
- | type.base t => base_interp t
- end -> interpM_final d
- end.
-
- Fixpoint interpM_final_of_interp {t} : interp t -> interpM_final t
- := match t with
- | type.base t => ret _
- | type.arrow s d
- => fun f x => @interpM_final_of_interp d (f x)
- end.
- End subst.
- End type.
- Local Notation btype := base.type.type.
- Local Notation bnat := base.type.nat.
- Local Notation bprod := base.type.prod.
- Local Notation blist := base.type.list.
- Module base.
- Module type.
- Inductive type := nat | prod (A B : type) | list (A : type) | var_with_subst (subst : btype).
-
- Fixpoint subst (t : type) : btype
- := match t with
- | nat => bnat
- | prod A B => bprod (subst A) (subst B)
- | list A => blist (subst A)
- | var_with_subst s => s
- end.
-
- Section interp.
- Context (base_interp : btype -> Type).
-
- Fixpoint interp (t : type) : Type
- := match t with
- | nat => Datatypes.nat
- | prod A B => interp A * interp B
- | list A => Datatypes.list (interp A)
- | var_with_subst s => base_interp s
- end%type.
- End interp.
- End type.
- Notation type := type.type.
- End base.
-
- Definition subst (t : type base.type) : type btype
- := type.subst base.type.subst t.
-
- Definition half_interp (M : Type -> Type) (half_interp : base.type.type -> Type) (interp : btype -> Type) (t : type base.type) : Type
- := type.interp base.type.subst half_interp interp M t.
- Definition half_interp2 (M : Type -> Type) (half_interp : base.type.type -> Type) (interp : btype -> Type) (t : type base.type) : Type
- := type.interpM_final base.type.subst half_interp interp M t.
- Definition half_interp2_of_interp {M half_interpf interp t} ret
- : half_interp M half_interpf interp t -> half_interp2 M half_interpf interp t
- := type.interpM_final_of_interp _ _ _ _ ret.
-End parametric.
-Notation ptype := (type.type parametric.base.type).
-Delimit Scope ptype_scope with ptype.
-Notation "s -> d" := (type.arrow s%ptype d%ptype) : ptype_scope.
-Bind Scope ptype_scope with parametric.base.type.
-Infix "*" := parametric.base.type.prod : ptype_scope.
-Notation "# x" := (parametric.base.type.var_with_subst x) : ptype_scope.
-
-Fixpoint upperboundT (t : base.type) : Type
- := match t with
- | base.type.nat => option nat
- | base.type.prod A B => upperboundT A * upperboundT B
- | base.type.list A => option (list (upperboundT A))
- end.
-
-Module expr.
- Section with_var.
- Context {base_type : Type}.
- Local Notation type := (type base_type).
- Context {ident : type -> Type}
- {var : type -> Type}.
-
- Inductive expr : type -> Type :=
- | Ident {t} (idc : ident t) : expr t
- | Var {t} (v : var t) : expr t
- | Abs {s d} (f : var s -> expr d) : expr (s -> d)
- | App {s d} (f : expr (s -> d)) (x : expr s) : expr d
- | LetIn {A B} (x : expr A) (f : var A -> expr B) : expr B
- .
- End with_var.
-
- Module Export Notations.
- Delimit Scope expr_scope with expr.
- Bind Scope expr_scope with expr.
- Infix "@" := App : expr_scope.
- Notation "\ x .. y , f" := (Abs (fun x => .. (Abs (fun y => f%expr)) .. )) : expr_scope.
- Notation "'λ' x .. y , f" := (Abs (fun x => .. (Abs (fun y => f%expr)) .. )) : expr_scope.
- Notation "'expr_let' x := A 'in' b" := (LetIn A (fun x => b%expr)) : expr_scope.
- Notation "'$' x" := (Var x) (at level 10, format "'$' x") : expr_scope.
- Notation "### x" := (Ident x) : expr_scope.
- End Notations.
-End expr.
-Import expr.Notations.
-Notation expr := expr.expr.
-
-Module ident.
- Local Notation type := (type base.type).
- Section with_base.
- Let type_base (x : base.type) : type := type.base x.
- Local Coercion type_base : base.type >-> type.
- Let ptype_base (x : parametric.base.type) : ptype := type.base x.
- Local Coercion ptype_base : parametric.base.type >-> ptype.
-
- Inductive pident : ptype -> Type :=
- | Literal (v : nat) : pident parametric.base.type.nat
- | Plus : pident (parametric.base.type.nat -> parametric.base.type.nat -> parametric.base.type.nat)
- | Pair {A B : base.type} : pident (#A -> #B -> #A * #B)%ptype
- | Fst {A B} : pident (#A * #B -> #A)%ptype
- | Snd {A B} : pident (#A * #B -> #B)%ptype
- | Nil {A} : pident (parametric.base.type.list #A)%ptype
- | Cons {A} : pident (#A -> parametric.base.type.list #A -> parametric.base.type.list #A)%ptype
- | List_map {A B} : pident ((#A -> #B) -> parametric.base.type.list #A -> parametric.base.type.list #B)%ptype
- | List_app {A} : pident (parametric.base.type.list #A -> parametric.base.type.list #A -> parametric.base.type.list #A)%ptype
- | List_flat_map {A B} : pident ((#A -> parametric.base.type.list #B) -> parametric.base.type.list #A -> #(base.type.list B))%ptype
- | List_rect {A P} : pident (#P -> (#A -> parametric.base.type.list #A -> #P -> #P) -> parametric.base.type.list #A -> #P)%ptype
- | Cast {T} (upper_bound : upperboundT T) : pident (#T -> #T)%ptype
- .
-
- Inductive wident {pident : ptype -> Type} : type -> Type :=
- | wrap {T} (idc : pident T) : wident (parametric.subst T).
- Global Arguments wident : clear implicits.
- Definition ident := wident pident.
- Definition pwrap {T} (idc : pident T) : ident _ := @wrap pident T idc.
- End with_base.
- Global Arguments wrap {pident T} idc.
- Global Coercion pwrap : pident >-> ident.
-
- Module Export Notations.
- Delimit Scope ident_scope with ident.
- Bind Scope ident_scope with ident.
- Bind Scope ident_scope with pident.
- Global Arguments expr.Ident {base_type%type ident%function var%function t%etype} idc%ident.
- Notation "## x" := (Literal x) : ident_scope.
- Notation "## x" := (expr.Ident (wrap (Literal x))) : expr_scope.
- Notation "# x" := (expr.Ident (wrap x)) : expr_scope.
- Notation "( x , y , .. , z )" := (expr.App (expr.App (#Pair) .. (expr.App (expr.App (#Pair) x%expr) y%expr) .. ) z%expr) : expr_scope.
- Notation "x + y" := (#Plus @ x @ y)%expr : expr_scope.
- (*Notation "x :: y" := (#Cons @ x @ y)%expr : expr_scope.*)
- (* Unification fails if we don't fill in [wident pident] explicitly *)
- Notation "x :: y" := (@expr.App base.type.type (wident pident) _ _ _ (#Cons @ x) y)%expr : expr_scope.
- Notation "[ ]" := (#Nil)%expr : expr_scope.
- Notation "[ x ]" := (#Cons @ x @ (#Nil))%expr : expr_scope.
- Notation "[ x ; y ; .. ; z ]" := (@expr.App base.type.type (wident pident) _ _ _ (#Cons @ x) (#Cons @ y @ .. (#Cons @ z @ #Nil) ..))%expr : expr_scope.
- End Notations.
-End ident.
-Import ident.Notations.
-Notation ident := ident.ident.
-Notation pident := ident.pident.
-Notation wident := ident.wident.
-
-Module UnderLets.
- Section with_var.
- Context {base_type : Type}.
- Local Notation type := (type base_type).
- Context {ident : type -> Type}
- {var : type -> Type}.
- Local Notation expr := (@expr base_type ident var).
-
- Inductive UnderLets {T : Type} :=
- | Base (v : T)
- | UnderLet {A} (x : expr A) (f : var A -> UnderLets).
-
- Fixpoint splice {A B} (x : @UnderLets A) (e : A -> @UnderLets B) : @UnderLets B
- := match x with
- | Base v => e v
- | UnderLet A x f => UnderLet x (fun v => @splice _ _ (f v) e)
- end.
-
- Fixpoint splice_list {A B} (ls : list (@UnderLets A)) (e : list A -> @UnderLets B) : @UnderLets B
- := match ls with
- | nil => e nil
- | cons x xs
- => splice x (fun x => @splice_list A B xs (fun xs => e (cons x xs)))
- end.
-
- Fixpoint to_expr {t} (x : @UnderLets (expr t)) : expr t
- := match x with
- | Base v => v
- | UnderLet A x f
- => expr.LetIn x (fun v => @to_expr _ (f v))
- end.
- End with_var.
- Global Arguments UnderLets : clear implicits.
-End UnderLets.
-Delimit Scope under_lets_scope with under_lets.
-Bind Scope under_lets_scope with UnderLets.UnderLets.
-Notation "x <-- y ; f" := (UnderLets.splice y (fun x => f%under_lets)) : under_lets_scope.
-Notation "x <--- y ; f" := (UnderLets.splice_list y (fun x => f%under_lets)) : under_lets_scope.
-
-Module partial.
- Import UnderLets.
- Section with_var.
- Context {base_type : Type}.
- Local Notation type := (type base_type).
- Let type_base (x : base_type) : type := type.base x.
- Local Coercion type_base : base_type >-> type.
- Context {ident : type -> Type}
- {var : type -> Type}.
- Local Notation expr := (@expr base_type ident).
- Local Notation UnderLets := (@UnderLets base_type ident var).
- Context (base_value : base_type -> Type)
- (abstract_domain' : base_type -> Type)
- (annotate : forall t, abstract_domain' t -> option (ident (t -> t)))
- (intersect_state : forall A, abstract_domain' A -> abstract_domain' A -> abstract_domain' A)
- (bottom' : forall A, abstract_domain' A)
- (abstraction_function : forall t, base_value t -> abstract_domain' t)
- (base_reify : forall t, base_value t -> @expr var t).
-
- Definition value (t : type)
- := type.interpM
- UnderLets
- (fun t => abstract_domain' t * @expr var t + base_value t)%type
- t.
- Definition value_with_lets (t : type)
- := UnderLets (value t).
-
- Context (interp_ident : forall t, ident t -> value_with_lets t).
-
- Definition abstract_domain (t : type)
- := type.interp abstract_domain' t.
-
- Fixpoint bottom {t} : abstract_domain t
- := match t with
- | type.base t => bottom' t
- | type.arrow s d => fun _ => @bottom d
- end.
-
- Fixpoint bottom_for_each_lhs_of_arrow {t} : type.for_each_lhs_of_arrow abstract_domain t
- := match t return type.for_each_lhs_of_arrow abstract_domain t with
- | type.base t => tt
- | type.arrow s d => (bottom, @bottom_for_each_lhs_of_arrow d)
- end.
-
- Fixpoint state_of_value {t} : value t -> abstract_domain t
- := match t return value t -> abstract_domain t with
- | type.base t
- => fun v
- => match v with
- | inl (st, _) => st
- | inr n => abstraction_function _ n
- end
- | type.arrow s d => fun _ => bottom
- end.
-
- Fixpoint reify {t} : value t -> type.for_each_lhs_of_arrow abstract_domain t -> @expr var t
- := match t return value t -> type.for_each_lhs_of_arrow abstract_domain t -> @expr var t with
- | type.base t
- => fun v 'tt
- => match v with
- | inl (st, e)
- => match annotate _ st with
- | None => e
- | Some cst => ###cst @ e
- end%expr
- | inr v => base_reify _ v
- end
- | type.arrow s d
- => fun f '(sv, dv)
- => λ x , (UnderLets.to_expr
- (fx <-- f (@reflect _ (expr.Var x) sv);
- Base (@reify _ fx dv)))
- end%core%expr
- with reflect {t} : @expr var t -> abstract_domain t -> value t
- := match t return @expr var t -> abstract_domain t -> value t with
- | type.base t
- => fun e st => inl (st, e)
- | type.arrow s d
- => fun e absf v
- => let stv := state_of_value v in
- Base (@reflect d (e @ (@reify s v bottom_for_each_lhs_of_arrow)) (absf stv))%expr
- end.
-
- Fixpoint interp {t} (e : @expr value_with_lets t) : value_with_lets t
- := match e in expr.expr t return value_with_lets t with
- | expr.Ident t idc => interp_ident t idc
- | expr.Var t v => v
- | expr.Abs s d f => Base (fun x => @interp d (f (Base x)))
- | expr.App s d f x
- => (x' <-- @interp s x;
- f' <-- @interp (s -> d)%etype f;
- f' x')
- | expr.LetIn (type.arrow _ _) B x f
- => (x' <-- @interp _ x;
- @interp _ (f (Base x')))
- | expr.LetIn (type.base A) B x f
- => (x' <-- @interp _ x;
- UnderLet
- (reify x' tt)
- (fun x'v
- => @interp _ (f (Base (reflect (expr.Var x'v) (state_of_value x'))))))
- end%under_lets.
-
- Definition eval_with_bound {t} (e : @expr value_with_lets t)
- (st : type.for_each_lhs_of_arrow abstract_domain t)
- : expr t
- := UnderLets.to_expr (e' <-- interp e; Base (reify e' st)).
-
- Definition eval {t} (e : @expr value_with_lets t) : expr t
- := eval_with_bound e bottom_for_each_lhs_of_arrow.
- End with_var.
-
- Module wident.
- Section with_var.
- Local Notation type := (type base.type).
- Let type_base (x : base.type) : type := type.base x.
- Local Coercion type_base : base.type >-> type.
- Let type_pbase (x : parametric.base.type) : ptype := type.base x.
- Local Coercion type_pbase : parametric.base.type >-> type.
- Context {var : type -> Type}
- (pident : ptype -> Type).
- Local Notation ident := (wident pident).
- Local Notation expr := (@expr base.type ident).
- Local Notation UnderLets := (@UnderLets base.type ident var).
- Context (abstract_domain' : base.type -> Type).
- Local Notation abstract_domain := (@abstract_domain base.type abstract_domain').
- Context (annotate : forall t, abstract_domain' t -> option (ident (t -> t)))
- (abstract_interp_ident : forall t, pident t -> type.interp abstract_domain' (parametric.subst t))
- (intersect_state : forall A, abstract_domain' A -> abstract_domain' A -> abstract_domain' A)
- (update_literal_with_state : abstract_domain' base.type.nat -> nat -> nat)
- (state_of_upperbound : forall T, upperboundT T -> abstract_domain' T)
- (bottom' : forall A, abstract_domain' A)
- (** we need constructors for reify and destructors for
- intersect_state, which is needed to talk about how to do
- cast on values; there's a leaky abstraction barrier
- here: we assume that we can take apart the abstract
- state via type structure and then put it back together
- again, in order to cast values. But we don't require
- that the abstract state is actually a pair on product
- types, so we pay the cost of crossing that abstraction
- barrier in both directions a decent amount *)
- (ident_Literal : nat -> pident parametric.base.type.nat)
- (ident_Pair : forall A B, pident (#A -> #B -> #A * #B)%ptype)
- (ident_Nil : forall A, pident (parametric.base.type.list #A)%ptype)
- (ident_Cons : forall A, pident (#A -> parametric.base.type.list #A -> parametric.base.type.list #A)%ptype)
- (ident_List_app : forall A, pident (parametric.base.type.list #A -> parametric.base.type.list #A -> parametric.base.type.list #A)%ptype)
- (ident_Fst : forall A B, pident (#A * #B -> #A)%ptype)
- (ident_Snd : forall A B, pident (#A * #B -> #B)%ptype)
- (hd_tl_list_state : forall A, abstract_domain' (base.type.list A) -> abstract_domain' A * abstract_domain' (base.type.list A)).
-
- Local Notation expr_with_abs A
- := (prod (abstract_domain' A) (@expr var A)).
- Local Notation expr_or base_value A
- := (sum (expr_with_abs A) (base_value A%etype)).
- Fixpoint base_value (t : base.type)
- := match t return Type with
- | base.type.nat as t
- => nat
- | base.type.prod A B as t
- => (expr_or base_value A) * (expr_or base_value B)
- | base.type.list A as t
- => list (expr_or base_value A) (* cons cells *)
- end%type.
- Local Notation value := (@value base.type ident var base_value abstract_domain').
- Local Notation value_with_lets := (@value_with_lets base.type ident var base_value abstract_domain').
- Fixpoint pbase_value (t : parametric.base.type)
- := match t return Type with
- | parametric.base.type.nat as t
- => nat
- | parametric.base.type.prod A B as t
- => pbase_value A * pbase_value B
- | parametric.base.type.list A as t
- => list (pbase_value A)
- | parametric.base.type.var_with_subst A as t
- => value A
- end%type.
-
- Fixpoint abstraction_function {t} : base_value t -> abstract_domain' t
- := match t return base_value t -> abstract_domain' t with
- | base.type.nat
- => fun v => abstract_interp_ident _ (ident_Literal v)
- | base.type.prod A B
- => fun '(a, b)
- => let sta := match a with
- | inl (st, _) => st
- | inr a' => @abstraction_function A a'
- end in
- let stb := match b with
- | inl (st, _) => st
- | inr b' => @abstraction_function B b'
- end in
- abstract_interp_ident
- _ (ident_Pair A B) sta stb
- | base.type.list A
- => fun cells
- => let st_cells
- := List.map
- (fun a => match a with
- | inl (st, _) => st
- | inr a' => @abstraction_function A a'
- end)
- cells in
- List.fold_right
- (abstract_interp_ident _ (ident_Cons A))
- (abstract_interp_ident _ (ident_Nil A))
- st_cells
- end.
-
- Fixpoint base_reify {t} : base_value t -> @expr var t
- := match t return base_value t -> expr t with
- | base.type.nat
- => fun v => expr.Ident (ident.wrap (ident_Literal v))
- | base.type.prod A B
- => fun '(a, b)
- => let ea := match a with
- | inl (st, e)
- => match annotate _ st with
- | None => e
- | Some cst => ###cst @ e
- end%expr
- | inr v => @base_reify _ v
- end in
- let eb := match b with
- | inl (st, e)
- => match annotate _ st with
- | None => e
- | Some cst => ###cst @ e
- end%expr
- | inr v => @base_reify _ v
- end in
- (#(ident_Pair A B) @ ea @ eb)%expr
- | base.type.list A
- => fun cells
- => let cells'
- := List.map
- (fun a
- => match a with
- | inl (st, e)
- => match annotate _ st with
- | None => e
- | Some cst => ###cst @ e
- end%expr
- | inr v
- => @base_reify _ v
- end)
- cells in
- List.fold_right
- (fun x xs => (#(ident_Cons A) @ x @ xs)%expr)
- (#(ident_Nil A))%expr
- cells'
- end.
-
- Context (half_interp : forall {t} (idc : pident t),
- parametric.half_interp UnderLets pbase_value value t
- + parametric.half_interp2 UnderLets pbase_value value t).
-
- Fixpoint intersect_state_base_value {t} : abstract_domain' t -> base_value t -> base_value t
- := match t return abstract_domain' t -> base_value t -> base_value t with
- | base.type.nat => update_literal_with_state
- | base.type.prod _ _
- => fun st '(a, b)
- => let sta := abstract_interp_ident _ (ident_Fst _ _) st in
- let stb := abstract_interp_ident _ (ident_Snd _ _) st in
- let a' := match a with
- | inl (sta', e) => inl (intersect_state _ sta sta', e)
- | inr v => inr (@intersect_state_base_value _ sta v)
- end in
- let b' := match b with
- | inl (stb', e) => inl (intersect_state _ stb stb', e)
- | inr v => inr (@intersect_state_base_value _ stb v)
- end in
- (a', b')
- | base.type.list _
- => fun st cells
- => let '(cells', st)
- := List.fold_left
- (fun '(rest_cells, st) cell
- => let '(st0, st') := hd_tl_list_state _ st in
- (match cell with
- | inl (st0', e) => inl (intersect_state _ st0 st0', e)
- | inr v => inr (@intersect_state_base_value _ st0 v)
- end :: rest_cells,
- st'))
- cells
- (nil, st) in
- cells'
- end.
-
-
- Definition intersect_state_value {t} : abstract_domain t -> value t -> value t
- := match t with
- | type.base t
- => fun st e
- => match e with
- | inl (st', e) => inl (intersect_state _ st st', e)
- | inr v => inr (intersect_state_base_value st v)
- end
- | type.arrow s d => fun _ e => e
- end.
-
- Local Notation reify := (@reify base.type ident var base_value abstract_domain' annotate bottom' (@abstraction_function) (@base_reify)).
- Local Notation reflect := (@reflect base.type ident var base_value abstract_domain' annotate bottom' (@abstraction_function) (@base_reify)).
-
- Fixpoint pinterp_base {t : parametric.base.type} : parametric.half_interp UnderLets pbase_value value (type.base t) -> value (parametric.subst (type.base t))
- := match t return parametric.half_interp UnderLets pbase_value value (type.base t) -> value (parametric.subst (type.base t)) with
- | parametric.base.type.nat
- => fun v => inr v
- | parametric.base.type.prod A B
- => fun '(a, b) => inr (@pinterp_base A a, @pinterp_base B b)
- | parametric.base.type.list A
- => fun ls => inr (List.map (@pinterp_base A) ls)
- | parametric.base.type.var_with_subst subst
- => fun v => v
- end.
-
- Fixpoint puninterp_base {t : parametric.base.type} : value (parametric.subst (type.base t)) -> option (parametric.half_interp UnderLets pbase_value value (type.base t))
- := match t return value (parametric.subst (type.base t)) -> option (parametric.half_interp UnderLets pbase_value value (type.base t)) with
- | parametric.base.type.nat
- => fun v
- => match v with
- | inl _ => None
- | inr v' => Some v'
- end
- | parametric.base.type.prod A B
- => fun ab
- => match ab with
- | inl _ => None
- | inr (a, b)
- => (a' <- @puninterp_base A a;
- b' <- @puninterp_base B b;
- Some (a', b'))
- end
- | parametric.base.type.list A
- => fun ls
- => match ls with
- | inl rest => None
- | inr ls
- => List.fold_right
- (fun x xs
- => (x' <- x; xs' <- xs; Some (x' :: xs'))%option)
- (Some nil)
- (List.map (@puninterp_base A) ls)
- end
- | parametric.base.type.var_with_subst subst
- => @Some _
- end%option.
-
- Fixpoint pinterp {t} : UnderLets (value (parametric.subst t)) -> parametric.half_interp2 UnderLets pbase_value value t -> value_with_lets (parametric.subst t)
- := match t return UnderLets (value (parametric.subst t)) -> parametric.half_interp2 UnderLets pbase_value value t -> value_with_lets (parametric.subst t) with
- | type.base t
- => fun default partial => (partial' <-- partial;
- Base (pinterp_base partial'))
- | type.arrow (type.base s) d
- => fun fdefault fpartial
- => Base
- (fun (v : value (parametric.subst (type.base s)))
- => let default := (fdefault' <-- fdefault; fdefault' v) in
- match puninterp_base v return UnderLets (value (parametric.subst d)) with
- | Some v' => @pinterp d default (fpartial v')
- | None => default
- end)
- | type.arrow s d
- => fun fdefault fpartial
- => Base
- (fun (v : value (parametric.subst s))
- => @pinterp
- d (fdefault' <-- fdefault; fdefault' v)
- (fpartial v))
- end%under_lets.
-
- Local Notation bottom := (@bottom base.type abstract_domain' bottom').
-
- Definition interp {t} (idc : ident t) : value_with_lets t
- := match idc in ident.wident _ t return value_with_lets t with
- | ident.wrap T idc' as idc
- => pinterp
- (Base (reflect (###idc) (abstract_interp_ident _ idc')))%expr
- match half_interp _ idc' with
- | inl interp_idc => parametric.half_interp2_of_interp (fun T => @Base _ ident var T) interp_idc
- | inr interp2_idc => interp2_idc
- end
- end.
-
- Definition eval_with_bound {t} (e : @expr value_with_lets t)
- (st : type.for_each_lhs_of_arrow abstract_domain t)
- : expr t
- := @eval_with_bound base.type ident var base_value abstract_domain' annotate bottom' (@abstraction_function) (@base_reify) (@interp) t e st.
-
- Definition eval {t} (e : @expr value_with_lets t) : @expr var t
- := @eval base.type ident var base_value abstract_domain' annotate bottom' (@abstraction_function) (@base_reify) (@interp) t e.
- End with_var.
- End wident.
-
- Module ident.
- Section with_var.
- Local Notation type := (type base.type).
- Let type_base (x : base.type) : type := type.base x.
- Local Coercion type_base : base.type >-> type.
- Context {var : type -> Type}.
- Local Notation expr := (@expr base.type ident).
- Local Notation UnderLets := (@UnderLets base.type ident var).
- Context (abstract_domain' : base.type -> Type).
- Local Notation abstract_domain := (@abstract_domain base.type abstract_domain').
- Context (annotate : forall t, abstract_domain' t -> option (ident (t -> t)))
- (abstract_interp_ident : forall t, pident t -> type.interp abstract_domain' (parametric.subst t))
- (intersect_state : forall A, abstract_domain' A -> abstract_domain' A -> abstract_domain' A)
- (update_literal_with_state : abstract_domain' base.type.nat -> nat -> nat)
- (state_of_upperbound : forall T, upperboundT T -> abstract_domain' T)
- (bottom' : forall A, abstract_domain' A)
- (hd_tl_list_state : forall A, abstract_domain' (base.type.list A) -> abstract_domain' A * abstract_domain' (base.type.list A)).
-
- Local Notation base_value := (@wident.base_value var pident abstract_domain').
- Local Notation pbase_value := (@wident.pbase_value var pident abstract_domain').
- Local Notation value := (@value base.type ident var base_value abstract_domain').
- Local Notation intersect_state_value := (@wident.intersect_state_value var pident abstract_domain' abstract_interp_ident intersect_state update_literal_with_state (@ident.Fst) (@ident.Snd) (@hd_tl_list_state)).
- Local Notation abstraction_function := (@wident.abstraction_function var pident abstract_domain' abstract_interp_ident (@ident.Literal) (@ident.Pair) (@ident.Nil) (@ident.Cons)).
- Local Notation base_reify := (@wident.base_reify var pident abstract_domain' annotate (@ident.Literal) (@ident.Pair) (@ident.Nil) (@ident.Cons)).
- Local Notation reify := (@reify base.type ident var base_value abstract_domain' annotate bottom' (@abstraction_function) (@base_reify)).
- Local Notation state_of_value := (@state_of_value base.type ident var base_value abstract_domain' bottom' (@abstraction_function)).
-
- Definition half_interp {t} (idc : pident t)
- : parametric.half_interp UnderLets pbase_value value t
- + parametric.half_interp2 UnderLets pbase_value value t
- := match idc in ident.pident t return parametric.half_interp UnderLets pbase_value value t + parametric.half_interp2 UnderLets pbase_value value t with
- | ident.Literal v => inl v
- | ident.Plus => inl Nat.add
- | ident.Pair A B => inl (@pair _ _)
- | ident.Fst A B => inl (@fst _ _)
- | ident.Snd A B => inl (@snd _ _)
- | ident.Nil _ => inl (@nil _)
- | ident.Cons _ => inl (@cons _)
- | ident.List_app _ => inl (@List.app _)
- | ident.List_map _ _
- => inr (fun f ls => fls <--- List.map f ls; Base fls)
- | ident.List_flat_map A B
- => inr (fun f ls
- => fls <--- List.map f ls;
- Base
- (List.fold_right
- (fun ls1 ls2 : value (base.type.list B)
- => match ls1, ls2 with
- | inr ls1, inr ls2 => inr (ls1 ++ ls2)
- | _, _
- => let rls1 := reify ls1 tt in
- let rls2 := reify ls2 tt in
- let st1 := state_of_value ls1 in
- let st2 := state_of_value ls2 in
- inl (abstract_interp_ident _ (ident.List_app) st1 st2,
- (#ident.List_app @ rls1 @ rls2)%expr)
- end)
- (inr nil)
- fls))
- | ident.List_rect A P
- => inr
- (fun N_case C_case ls
- => list_rect
- _
- (Base N_case)
- (fun x xs rest
- => (rest' <-- rest;
- C_case <-- C_case x;
- C_case <-- C_case (inr xs);
- C_case rest'))
- ls)
- | ident.Cast T upper_bound as idc
- => inl (intersect_state_value (t:=T) (state_of_upperbound _ upper_bound))
- end%under_lets.
-
- Local Notation value_with_lets := (@value_with_lets base.type ident var base_value abstract_domain').
-
- Definition eval_with_bound {t} (e : @expr value_with_lets t)
- (st : type.for_each_lhs_of_arrow abstract_domain t)
- : expr t
- := @wident.eval_with_bound var pident abstract_domain' annotate abstract_interp_ident bottom' (@ident.Literal) (@ident.Pair) (@ident.Nil) (@ident.Cons) (@half_interp) t e st.
-
- Definition eval {t} (e : @expr value_with_lets t) : @expr var t
- := @wident.eval var pident abstract_domain' annotate abstract_interp_ident bottom' (@ident.Literal) (@ident.Pair) (@ident.Nil) (@ident.Cons) (@half_interp) t e.
- End with_var.
- End ident.
-End partial.
-
-Section specialized.
- Local Notation abstract_domain' := upperboundT.
- Local Notation abstract_domain := (@partial.abstract_domain base.type abstract_domain').
- Notation expr := (@expr base.type ident).
- Local Notation type := (type base.type).
- Let type_base (x : base.type) : type := type.base x.
- Local Coercion type_base : base.type >-> type.
- Definition annotate t (st : abstract_domain' t) : option (ident (t -> t))
- := Some (ident.wrap (ident.Cast st)).
- Fixpoint bottom' T : abstract_domain' T
- := match T return abstract_domain' T with
- | base.type.nat => None
- | base.type.prod A B => (bottom' _, bottom' _)
- | base.type.list _ => None
- end.
- Fixpoint intersect_state A : abstract_domain' A -> abstract_domain' A -> abstract_domain' A
- := match A return abstract_domain' A -> abstract_domain' A -> abstract_domain' A with
- | base.type.nat
- => fun x y
- => match x, y with
- | Some x', Some y' => Some (Nat.min x' y')
- | Some x', None | None, Some x' => Some x'
- | None, None => None
- end
- | base.type.prod A B
- => fun '(x, y) '(x', y') => (@intersect_state _ x x', @intersect_state _ y y')
- | base.type.list A
- => fun ls1 ls2
- => match ls1, ls2 with
- | None, v => v
- | v, None => v
- | Some ls1, Some ls2
- => Some (List.map (fun '(x, x') => @intersect_state A x x')
- (List.combine ls1 ls2))
- end
- end.
- Axiom evil : nat -> nat.
- Definition update_literal_with_state : abstract_domain' base.type.nat -> nat -> nat
- := fun upperbound n
- => match upperbound with
- | Some upperbound'
- => if Nat.leb n upperbound' then n else evil n
- | None => n
- end.
- Definition state_of_upperbound : forall T, upperboundT T -> abstract_domain' T
- := fun _ x => x.
- Definition abstract_interp_ident t (idc : pident t) : type.interp abstract_domain' (parametric.subst t)
- := match idc in ident.pident t return type.interp abstract_domain' (parametric.subst t) with
- | ident.Literal v => Some v
- | ident.Plus
- => fun x y
- => match x, y with
- | Some x', Some y' => Some (x' + y')
- | _, _ => None
- end
- | ident.Pair A B => @pair _ _
- | ident.Fst A B => @fst _ _
- | ident.Snd A B => @snd _ _
- | ident.Nil A => Some nil
- | ident.Cons A
- => fun x xs => (xs' <- xs; Some (cons x xs'))
- | ident.List_map A B
- => fun f ls => option_map (List.map f) ls
- | ident.List_app A
- => fun ls1 ls2 => (ls1' <- ls1; ls2' <- ls2; Some (ls1' ++ ls2'))
- | ident.List_flat_map A B
- => fun f ls
- => (ls' <- ls;
- List.fold_right
- (fun ls1 ls2 => (ls1' <- ls1; ls2' <- ls2; Some (ls1' ++ ls2')))
- (Some nil)
- (List.map f ls'))
- | ident.List_rect A P
- => fun N C ls
- => match ls with
- | Some ls'
- => list_rect
- _
- N
- (fun x xs rec => C x (Some xs) rec)
- ls'
- | None => bottom' _
- end
- | ident.Cast T upper_bound
- => intersect_state _ (state_of_upperbound _ upper_bound)
- end%option.
-
- Definition hd_tl_list_state A (st : abstract_domain' (base.type.list A))
- : abstract_domain' A * abstract_domain' (base.type.list A)
- := match st with
- | None => (bottom' _, None)
- | Some nil => (bottom' _, Some nil)
- | Some (cons x xs) => (x, Some xs)
- end.
-
- Definition eval {var} {t} (e : @expr _ t) : expr t
- := (@partial.ident.eval)
- var abstract_domain' annotate abstract_interp_ident intersect_state update_literal_with_state state_of_upperbound bottom' hd_tl_list_state t e.
- Definition eval_with_bound {var} {t} (e : @expr _ t) (bound : type.for_each_lhs_of_arrow abstract_domain t) : expr t
- := (@partial.ident.eval_with_bound)
- var abstract_domain annotate abstract_interp_ident intersect_state update_literal_with_state state_of_upperbound bottom' hd_tl_list_state t e bound.
-
- Import expr.
- Import ident.
-
- Eval compute in eval (#Fst @ (expr_let x := ##10 in ($x, $x)))%expr.
-
- Eval compute in eval ((\ x , expr_let y := ##5 in #Fst @ $x + (#Fst @ $x + ($y + $y)))
- @ (##1, ##1))%expr.
-
- Eval compute in eval ((\ x , expr_let y := ##5 in $y + ($y + (#Fst @ $x + #Snd @ $x)))
- @ (##1, ##7))%expr.
-
-
- Eval cbv in eval_with_bound
- (\z , ((\ x , expr_let y := ##5 in $y + ($z + (#Fst @ $x + #Snd @ $x)))
- @ (##1, ##7)))%expr
- (Some 100, tt).
-End specialized.
diff --git a/src/Experiments/SimplyTypedArithmetic.v b/src/Experiments/SimplyTypedArithmetic.v
deleted file mode 100644
index 92799222e..000000000
--- a/src/Experiments/SimplyTypedArithmetic.v
+++ /dev/null
@@ -1,12784 +0,0 @@
-(* Following http://adam.chlipala.net/theses/andreser.pdf chapter 3 *)
-Require Import Coq.ZArith.ZArith Coq.micromega.Lia Crypto.Algebra.Nsatz.
-Require Import Coq.Strings.String.
-Require Import Coq.MSets.MSetPositive.
-Require Import Coq.FSets.FMapPositive.
-Require Import Coq.derive.Derive.
-Require Import Crypto.Util.Tactics.UniquePose Crypto.Util.Decidable.
-Require Import Crypto.Util.Tuple Crypto.Util.Prod Crypto.Util.LetIn.
-Require Import Crypto.Util.ListUtil Coq.Lists.List Crypto.Util.NatUtil.
-Require Import QArith.QArith_base QArith.Qround Crypto.Util.QUtil.
-Require Import Crypto.Algebra.Ring Crypto.Util.Decidable.Bool2Prop.
-Require Import Crypto.Algebra.Ring.
-Require Import Crypto.Algebra.SubsetoidRing.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Arithmetic.BarrettReduction.Generalized.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Definition.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Proofs.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.ZRange.
-Require Import Crypto.Util.ZRange.Operations.
-Require Import Crypto.Util.Tactics.RunTacticAsConstr.
-Require Import Crypto.Util.Tactics.Head.
-Require Import Crypto.Util.Option.
-Require Import Crypto.Util.OptionList.
-Require Import Crypto.Util.Sum.
-Require Import Crypto.Util.ZUtil.Modulo Crypto.Util.ZUtil.Div Crypto.Util.ZUtil.Hints.Core.
-Require Import Crypto.Util.ZUtil.Hints.PullPush.
-Require Import Crypto.Util.ZUtil.AddGetCarry Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.ZUtil.Tactics.DivModToQuotRem.
-Require Import Crypto.Util.ZUtil.Le.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Log2.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Shift.
-Require Import Crypto.Util.ZUtil.LandLorShiftBounds.
-Require Import Crypto.Util.ZUtil.Testbit.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.SplitInContext.
-Require Import Crypto.Util.Tactics.SubstEvars.
-Require Crypto.Util.Strings.String.
-Require Import Crypto.Util.Strings.Decimal.
-Require Import Crypto.Util.Strings.HexString.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.CC Crypto.Util.ZUtil.Rshi.
-Require Import Crypto.Util.ZUtil.Zselect Crypto.Util.ZUtil.AddModulo.
-Require Import Crypto.Util.ZUtil.AddGetCarry Crypto.Util.ZUtil.MulSplit.
-Require Import Crypto.Util.ZUtil.Hints.Core.
-Require Import Crypto.Util.ZUtil.Modulo Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.Hints.PullPush.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-Require Import Crypto.Util.Tactics.DebugPrint.
-Require Import Crypto.Util.CPSNotations.
-Require Import Crypto.Util.Equality.
-Import ListNotations. Local Open Scope Z_scope.
-
-Module Associational.
- Definition eval (p:list (Z*Z)) : Z :=
- fold_right (fun x y => x + y) 0%Z (map (fun t => fst t * snd t) p).
-
- Lemma eval_nil : eval nil = 0.
- Proof. trivial. Qed.
- Lemma eval_cons p q : eval (p::q) = fst p * snd p + eval q.
- Proof. trivial. Qed.
- Lemma eval_app p q: eval (p++q) = eval p + eval q.
- Proof. induction p; rewrite <-?List.app_comm_cons;
- rewrite ?eval_nil, ?eval_cons; nsatz. Qed.
-
- Hint Rewrite eval_nil eval_cons eval_app : push_eval.
- Local Ltac push := autorewrite with
- push_eval push_map push_partition push_flat_map
- push_fold_right push_nth_default cancel_pair.
-
- Lemma eval_map_mul (a x:Z) (p:list (Z*Z))
- : eval (List.map (fun t => (a*fst t, x*snd t)) p) = a*x*eval p.
- Proof. induction p; push; nsatz. Qed.
- Hint Rewrite eval_map_mul : push_eval.
-
- Definition mul (p q:list (Z*Z)) : list (Z*Z) :=
- flat_map (fun t =>
- map (fun t' =>
- (fst t * fst t', snd t * snd t'))
- q) p.
- Lemma eval_mul p q : eval (mul p q) = eval p * eval q.
- Proof. induction p; cbv [mul]; push; nsatz. Qed.
- Hint Rewrite eval_mul : push_eval.
-
- Definition negate_snd (p:list (Z*Z)) : list (Z*Z) :=
- map (fun cx => (fst cx, -snd cx)) p.
- Lemma eval_negate_snd p : eval (negate_snd p) = - eval p.
- Proof. induction p; cbv [negate_snd]; push; nsatz. Qed.
- Hint Rewrite eval_negate_snd : push_eval.
-
- Example base10_2digit_mul (a0:Z) (a1:Z) (b0:Z) (b1:Z) :
- {ab| eval ab = eval [(10,a1);(1,a0)] * eval [(10,b1);(1,b0)]}.
- eexists ?[ab].
- (* Goal: eval ?ab = eval [(10,a1);(1,a0)] * eval [(10,b1);(1,b0)] *)
- rewrite <-eval_mul.
- (* Goal: eval ?ab = eval (mul [(10,a1);(1,a0)] [(10,b1);(1,b0)]) *)
- cbv -[Z.mul eval]; cbn -[eval].
- (* Goal: eval ?ab = eval [(100,(a1*b1));(10,a1*b0);(10,a0*b1);(1,a0*b0)]%RT *)
- trivial. Defined.
-
- Definition split (s:Z) (p:list (Z*Z)) : list (Z*Z) * list (Z*Z)
- := let hi_lo := partition (fun t => fst t mod s =? 0) p in
- (snd hi_lo, map (fun t => (fst t / s, snd t)) (fst hi_lo)).
- Lemma eval_split s p (s_nz:s<>0) :
- eval (fst (split s p)) + s * eval (snd (split s p)) = eval p.
- Proof. cbv [Let_In split]; induction p;
- repeat match goal with
- | |- context[?a/?b] =>
- unique pose proof (Z_div_exact_full_2 a b ltac:(trivial) ltac:(trivial))
- | _ => progress push
- | _ => progress break_match
- | _ => progress nsatz end. Qed.
-
- Lemma reduction_rule a b s c (modulus_nz:s-c<>0) :
- (a + s * b) mod (s - c) = (a + c * b) mod (s - c).
- Proof. replace (a + s * b) with ((a + c*b) + b*(s-c)) by nsatz.
- rewrite Z.add_mod,Z_mod_mult,Z.add_0_r,Z.mod_mod;trivial. Qed.
-
- Definition reduce (s:Z) (c:list _) (p:list _) : list (Z*Z) :=
- let lo_hi := split s p in fst lo_hi ++ mul c (snd lo_hi).
-
- Lemma eval_reduce s c p (s_nz:s<>0) (modulus_nz:s-eval c<>0) :
- eval (reduce s c p) mod (s - eval c) = eval p mod (s - eval c).
- Proof. cbv [reduce]; push.
- rewrite <-reduction_rule, eval_split; trivial. Qed.
- Hint Rewrite eval_reduce : push_eval.
-
- Definition bind_snd (p : list (Z*Z)) :=
- map (fun t => dlet_nd t2 := snd t in (fst t, t2)) p.
-
- Lemma bind_snd_correct p : bind_snd p = p.
- Proof.
- cbv [bind_snd]; induction p as [| [? ?] ];
- push; [|rewrite IHp]; reflexivity.
- Qed.
-
- Lemma eval_rev p : eval (rev p) = eval p.
- Proof. induction p; cbn [rev]; push; lia. Qed.
-
- Section Carries.
- Definition carryterm (w fw:Z) (t:Z * Z) :=
- if (Z.eqb (fst t) w)
- then dlet_nd t2 := snd t in
- dlet_nd d2 := t2 / fw in
- dlet_nd m2 := t2 mod fw in
- [(w * fw, d2);(w,m2)]
- else [t].
-
- Lemma eval_carryterm w fw (t:Z * Z) (fw_nonzero:fw<>0):
- eval (carryterm w fw t) = eval [t].
- Proof using Type*.
- cbv [carryterm Let_In]; break_match; push; [|trivial].
- pose proof (Z.div_mod (snd t) fw fw_nonzero).
- rewrite Z.eqb_eq in *.
- nsatz.
- Qed. Hint Rewrite eval_carryterm using auto : push_eval.
-
- Definition carry (w fw:Z) (p:list (Z * Z)):=
- flat_map (carryterm w fw) p.
-
- Lemma eval_carry w fw p (fw_nonzero:fw<>0):
- eval (carry w fw p) = eval p.
- Proof using Type*. cbv [carry]; induction p; push; nsatz. Qed.
- Hint Rewrite eval_carry using auto : push_eval.
- End Carries.
-End Associational.
-
-Module Positional. Section Positional.
- Context (weight : nat -> Z)
- (weight_0 : weight 0%nat = 1)
- (weight_nz : forall i, weight i <> 0).
-
- Definition to_associational (n:nat) (xs:list Z) : list (Z*Z)
- := combine (map weight (List.seq 0 n)) xs.
- Definition eval n x := Associational.eval (@to_associational n x).
- Lemma eval_to_associational n x :
- Associational.eval (@to_associational n x) = eval n x.
- Proof. trivial. Qed.
- Hint Rewrite @eval_to_associational : push_eval.
- Lemma eval_nil n : eval n [] = 0.
- Proof. cbv [eval to_associational]. rewrite combine_nil_r. reflexivity. Qed.
- Hint Rewrite eval_nil : push_eval.
- Lemma eval0 p : eval 0 p = 0.
- Proof. cbv [eval to_associational]. reflexivity. Qed.
- Hint Rewrite eval0 : push_eval.
-
- Lemma eval_snoc n m x y : n = length x -> m = S n -> eval m (x ++ [y]) = eval n x + weight n * y.
- Proof.
- cbv [eval to_associational]; intros; subst n m.
- rewrite seq_snoc, map_app.
- rewrite combine_app_samelength by distr_length.
- autorewrite with push_eval. simpl.
- autorewrite with push_eval cancel_pair; ring.
- Qed.
-
- (* SKIP over this: zeros, add_to_nth *)
- Local Ltac push := autorewrite with push_eval push_map distr_length
- push_flat_map push_fold_right push_nth_default cancel_pair natsimplify.
- Definition zeros n : list Z := repeat 0 n.
- Lemma length_zeros n : length (zeros n) = n. Proof. cbv [zeros]; distr_length. Qed.
- Hint Rewrite length_zeros : distr_length.
- Lemma eval_zeros n : eval n (zeros n) = 0.
- Proof.
- cbv [eval Associational.eval to_associational zeros].
- rewrite <- (seq_length n 0) at 2.
- generalize dependent (List.seq 0 n); intro xs.
- induction xs; simpl; nsatz. Qed.
- Definition add_to_nth i x (ls : list Z) : list Z
- := ListUtil.update_nth i (fun y => x + y) ls.
- Lemma length_add_to_nth i x ls : length (add_to_nth i x ls) = length ls.
- Proof. cbv [add_to_nth]; distr_length. Qed.
- Hint Rewrite length_add_to_nth : distr_length.
- Lemma eval_add_to_nth (n:nat) (i:nat) (x:Z) (xs:list Z) (H:(i<length xs)%nat)
- (Hn : length xs = n) (* N.B. We really only need [i < Nat.min n (length xs)] *) :
- eval n (add_to_nth i x xs) = weight i * x + eval n xs.
- Proof.
- subst n.
- cbv [eval to_associational add_to_nth].
- rewrite ListUtil.combine_update_nth_r at 1.
- rewrite <-(update_nth_id i (List.combine _ _)) at 2.
- rewrite <-!(ListUtil.splice_nth_equiv_update_nth_update _ _
- (weight 0, 0)) by (push; lia); cbv [ListUtil.splice_nth id].
- repeat match goal with
- | _ => progress push
- | _ => progress break_match
- | _ => progress (apply Zminus_eq; ring_simplify)
- | _ => rewrite <-ListUtil.map_nth_default_always
- end; lia. Qed.
- Hint Rewrite @eval_add_to_nth eval_zeros : push_eval.
-
- Definition place (t:Z*Z) (i:nat) : nat * Z :=
- nat_rect
- (fun _ => (nat * Z)%type)
- (O, fst t * snd t)
- (fun i' place_i'
- => let i := S i' in
- if (fst t mod weight i =? 0)
- then (i, let c := fst t / weight i in c * snd t)
- else place_i')
- i.
-
- Lemma place_in_range (t:Z*Z) (n:nat) : (fst (place t n) < S n)%nat.
- Proof. induction n; cbv [place nat_rect] in *; break_match; autorewrite with cancel_pair; try omega. Qed.
- Lemma weight_place t i : weight (fst (place t i)) * snd (place t i) = fst t * snd t.
- Proof. induction i; cbv [place nat_rect] in *; break_match; push;
- repeat match goal with |- context[?a/?b] =>
- unique pose proof (Z_div_exact_full_2 a b ltac:(auto) ltac:(auto))
- end; nsatz. Qed.
- Hint Rewrite weight_place : push_eval.
-
- Definition from_associational n (p:list (Z*Z)) :=
- List.fold_right (fun t ls =>
- dlet_nd p := place t (pred n) in
- add_to_nth (fst p) (snd p) ls ) (zeros n) p.
- Lemma eval_from_associational n p (n_nz:n<>O \/ p = nil) :
- eval n (from_associational n p) = Associational.eval p.
- Proof. destruct n_nz; [ induction p | subst p ];
- cbv [from_associational Let_In] in *; push; try
- pose proof place_in_range a (pred n); try omega; try nsatz;
- apply fold_right_invariant; cbv [zeros add_to_nth];
- intros; rewrite ?map_length, ?List.repeat_length, ?seq_length, ?length_update_nth;
- try omega. Qed.
- Hint Rewrite @eval_from_associational : push_eval.
- Lemma length_from_associational n p : length (from_associational n p) = n.
- Proof. cbv [from_associational Let_In]. apply fold_right_invariant; intros; distr_length. Qed.
- Hint Rewrite length_from_associational : distr_length.
-
- Section mulmod.
- Context (s:Z) (s_nz:s <> 0)
- (c:list (Z*Z))
- (m_nz:s - Associational.eval c <> 0).
- Definition mulmod (n:nat) (a b:list Z) : list Z
- := let a_a := to_associational n a in
- let b_a := to_associational n b in
- let ab_a := Associational.mul a_a b_a in
- let abm_a := Associational.reduce s c ab_a in
- from_associational n abm_a.
- Lemma eval_mulmod n (f g:list Z)
- (Hf : length f = n) (Hg : length g = n) :
- eval n (mulmod n f g) mod (s - Associational.eval c)
- = (eval n f * eval n g) mod (s - Associational.eval c).
- Proof. cbv [mulmod]; push; trivial.
- destruct f, g; simpl in *; [ right; subst n | left; try omega.. ].
- clear; cbv -[Associational.reduce].
- induction c as [|?? IHc]; simpl; trivial. Qed.
- End mulmod.
- Hint Rewrite @eval_mulmod : push_eval.
-
- Definition add (n:nat) (a b:list Z) : list Z
- := let a_a := to_associational n a in
- let b_a := to_associational n b in
- from_associational n (a_a ++ b_a).
- Lemma eval_add n (f g:list Z)
- (Hf : length f = n) (Hg : length g = n) :
- eval n (add n f g) = (eval n f + eval n g).
- Proof. cbv [add]; push; trivial. destruct n; auto. Qed.
- Hint Rewrite @eval_add : push_eval.
- Lemma length_add n f g
- (Hf : length f = n) (Hg : length g = n) :
- length (add n f g) = n.
- Proof. clear -Hf Hf; cbv [add]; distr_length. Qed.
- Hint Rewrite @length_add : distr_length.
-
- Section Carries.
- Definition carry n m (index:nat) (p:list Z) : list Z :=
- from_associational
- m (@Associational.carry (weight index)
- (weight (S index) / weight index)
- (to_associational n p)).
-
- Lemma length_carry n m index p : length (carry n m index p) = m.
- Proof. cbv [carry]; distr_length. Qed.
- Lemma eval_carry n m i p: (n <> 0%nat) -> (m <> 0%nat) ->
- weight (S i) / weight i <> 0 ->
- eval m (carry n m i p) = eval n p.
- Proof.
- cbv [carry]; intros; push; [|tauto].
- rewrite @Associational.eval_carry by eauto.
- apply eval_to_associational.
- Qed. Hint Rewrite @eval_carry : push_eval.
-
- Definition carry_reduce n (s:Z) (c:list (Z * Z))
- (index:nat) (p : list Z) :=
- from_associational
- n (Associational.reduce
- s c (to_associational (S n) (@carry n (S n) index p))).
-
- Lemma eval_carry_reduce n s c index p :
- (s <> 0) -> (s - Associational.eval c <> 0) -> (n <> 0%nat) ->
- (weight (S index) / weight index <> 0) ->
- eval n (carry_reduce n s c index p) mod (s - Associational.eval c)
- = eval n p mod (s - Associational.eval c).
- Proof. cbv [carry_reduce]; intros; push; auto. Qed.
- Hint Rewrite @eval_carry_reduce : push_eval.
- Lemma length_carry_reduce n s c index p
- : length p = n -> length (carry_reduce n s c index p) = n.
- Proof. cbv [carry_reduce]; distr_length. Qed.
- Hint Rewrite @length_carry_reduce : distr_length.
-
- (* N.B. It is important to reverse [idxs] here, because fold_right is
- written such that the first terms in the list are actually used
- last in the computation. For example, running:
-
- `Eval cbv - [Z.add] in (fun a b c d => fold_right Z.add d [a;b;c]).`
-
- will produce [fun a b c d => (a + (b + (c + d)))].*)
- Definition chained_carries n s c p (idxs : list nat) :=
- fold_right (fun a b => carry_reduce n s c a b) p (rev idxs).
-
- Lemma eval_chained_carries n s c p idxs :
- (s <> 0) -> (s - Associational.eval c <> 0) -> (n <> 0%nat) ->
- (forall i, In i idxs -> weight (S i) / weight i <> 0) ->
- eval n (chained_carries n s c p idxs) mod (s - Associational.eval c)
- = eval n p mod (s - Associational.eval c).
- Proof using Type*.
- cbv [chained_carries]; intros; push.
- apply fold_right_invariant; [|intro; rewrite <-in_rev];
- destruct n; intros; push; auto.
- Qed. Hint Rewrite @eval_chained_carries : push_eval.
- Lemma length_chained_carries n s c p idxs
- : length p = n -> length (@chained_carries n s c p idxs) = n.
- Proof.
- intros; cbv [chained_carries]; induction (rev idxs) as [|x xs IHxs];
- cbn [fold_right]; distr_length.
- Qed. Hint Rewrite @length_chained_carries : distr_length.
-
- (* carries without modular reduction; useful for converting between bases *)
- Definition chained_carries_no_reduce n p (idxs : list nat) :=
- fold_right (fun a b => carry n n a b) p (rev idxs).
- Lemma eval_chained_carries_no_reduce n p idxs:
- (forall i, In i idxs -> weight (S i) / weight i <> 0) ->
- eval n (chained_carries_no_reduce n p idxs) = eval n p.
- Proof.
- cbv [chained_carries_no_reduce]; intros.
- destruct n; [push;reflexivity|].
- apply fold_right_invariant; [|intro; rewrite <-in_rev];
- intros; push; auto.
- Qed. Hint Rewrite @eval_chained_carries_no_reduce : push_eval.
-
- (* Reverse of [eval]; translate from Z to basesystem by putting
- everything in first digit and then carrying. *)
- Definition encode n s c (x : Z) : list Z :=
- chained_carries n s c (from_associational n [(1,x)]) (seq 0 n).
- Lemma eval_encode n s c x :
- (s <> 0) -> (s - Associational.eval c <> 0) -> (n <> 0%nat) ->
- (forall i, In i (seq 0 n) -> weight (S i) / weight i <> 0) ->
- eval n (encode n s c x) mod (s - Associational.eval c)
- = x mod (s - Associational.eval c).
- Proof using Type*. cbv [encode]; intros; push; auto; f_equal; omega. Qed.
- Lemma length_encode n s c x
- : length (encode n s c x) = n.
- Proof. cbv [encode]; repeat distr_length. Qed.
-
- End Carries.
- Hint Rewrite @eval_encode : push_eval.
- Hint Rewrite @length_encode : distr_length.
-
- Section sub.
- Context (n:nat)
- (s:Z) (s_nz:s <> 0)
- (c:list (Z * Z))
- (m_nz:s - Associational.eval c <> 0)
- (coef:Z).
-
- Definition negate_snd (a:list Z) : list Z
- := let A := to_associational n a in
- let negA := Associational.negate_snd A in
- from_associational n negA.
-
- Definition scmul (x:Z) (a:list Z) : list Z
- := let A := to_associational n a in
- let R := Associational.mul A [(1, x)] in
- from_associational n R.
-
- Definition balance : list Z
- := scmul coef (encode n s c (s - Associational.eval c)).
-
- Definition sub (a b:list Z) : list Z
- := let ca := add n balance a in
- let _b := negate_snd b in
- add n ca _b.
- Lemma eval_sub a b
- : (forall i, In i (seq 0 n) -> weight (S i) / weight i <> 0) ->
- (List.length a = n) -> (List.length b = n) ->
- eval n (sub a b) mod (s - Associational.eval c)
- = (eval n a - eval n b) mod (s - Associational.eval c).
- Proof.
- destruct (zerop n); subst; try reflexivity.
- intros; cbv [sub balance scmul negate_snd]; push; repeat distr_length;
- eauto with omega.
- push_Zmod; push; pull_Zmod; push_Zmod; pull_Zmod; distr_length; eauto.
- Qed.
- Hint Rewrite eval_sub : push_eval.
- Lemma length_sub a b
- : length a = n -> length b = n ->
- length (sub a b) = n.
- Proof. intros; cbv [sub balance scmul negate_snd]; repeat distr_length. Qed.
- Hint Rewrite length_sub : distr_length.
- Definition opp (a:list Z) : list Z
- := sub (zeros n) a.
- Lemma eval_opp
- (a:list Z)
- : (length a = n) ->
- (forall i, In i (seq 0 n) -> weight (S i) / weight i <> 0) ->
- eval n (opp a) mod (s - Associational.eval c)
- = (- eval n a) mod (s - Associational.eval c).
- Proof. intros; cbv [opp]; push; distr_length; auto. Qed.
- Lemma length_opp a
- : length a = n -> length (opp a) = n.
- Proof. cbv [opp]; intros; repeat distr_length. Qed.
- End sub.
- Hint Rewrite @eval_opp @eval_sub : push_eval.
- Hint Rewrite @length_sub @length_opp : distr_length.
-End Positional.
-(* Hint Rewrite disappears after the end of a section *)
-Hint Rewrite length_zeros length_add_to_nth length_from_associational @length_add @length_carry_reduce @length_chained_carries @length_encode @length_sub @length_opp : distr_length.
-End Positional.
-
-Record weight_properties {weight : nat -> Z} :=
- {
- weight_0 : weight 0%nat = 1;
- weight_positive : forall i, 0 < weight i;
- weight_multiples : forall i, weight (S i) mod weight i = 0;
- weight_divides : forall i : nat, 0 < weight (S i) / weight i;
- }.
-Hint Resolve weight_0 weight_positive weight_multiples weight_divides.
-
-Section mod_ops.
- Import Positional.
- Local Coercion Z.of_nat : nat >-> Z.
- Local Coercion QArith_base.inject_Z : Z >-> Q.
- (* Design constraints:
- - inputs must be [Z] (b/c reification does not support Q)
- - internal structure must not match on the arguments (b/c reification does not support [positive]) *)
- Context (limbwidth_num limbwidth_den : Z)
- (limbwidth_good : 0 < limbwidth_den <= limbwidth_num)
- (s : Z)
- (c : list (Z*Z))
- (n : nat)
- (len_c : nat)
- (idxs : list nat)
- (len_idxs : nat)
- (m_nz:s - Associational.eval c <> 0) (s_nz:s <> 0)
- (Hn_nz : n <> 0%nat)
- (Hc : length c = len_c)
- (Hidxs : length idxs = len_idxs).
- Definition weight (i : nat)
- := 2^(-(-(limbwidth_num * i) / limbwidth_den)).
-
- Local Ltac Q_cbv :=
- cbv [Qceiling inject_Z Qle Qfloor Qdiv Qnum Qden Qmult Qinv Qopp].
-
- Local Lemma weight_ZQ_correct i
- (limbwidth := (limbwidth_num / limbwidth_den)%Q)
- : weight i = 2^Qceiling(limbwidth*i).
- Proof.
- clear -limbwidth_good.
- cbv [limbwidth weight]; Q_cbv.
- destruct limbwidth_num, limbwidth_den, i; try reflexivity;
- repeat rewrite ?Pos.mul_1_l, ?Pos.mul_1_r, ?Z.mul_0_l, ?Zdiv_0_l, ?Zdiv_0_r, ?Z.mul_1_l, ?Z.mul_1_r, <- ?Z.opp_eq_mul_m1, ?Pos2Z.opp_pos;
- try reflexivity; try lia.
- Qed.
-
- Local Ltac t_weight_with lem :=
- clear -limbwidth_good;
- intros; rewrite !weight_ZQ_correct;
- apply lem;
- try omega; Q_cbv; destruct limbwidth_den; cbn; try lia.
-
- Definition wprops : @weight_properties weight.
- Proof.
- constructor.
- { cbv [weight Z.of_nat]; autorewrite with zsimplify_fast; reflexivity. }
- { intros; apply Z.gt_lt. t_weight_with (@pow_ceil_mul_nat_pos 2). }
- { t_weight_with (@pow_ceil_mul_nat_multiples 2). }
- { intros; apply Z.gt_lt. t_weight_with (@pow_ceil_mul_nat_divide 2). }
- Defined.
- Local Hint Immediate (weight_0 wprops).
- Local Hint Immediate (weight_positive wprops).
- Local Hint Immediate (weight_multiples wprops).
- Local Hint Immediate (weight_divides wprops).
- Local Hint Resolve Z.positive_is_nonzero Z.lt_gt.
-
- Local Lemma weight_1_gt_1 : weight 1 > 1.
- Proof.
- clear -limbwidth_good.
- cut (1 < weight 1); [ lia | ].
- cbv [weight Z.of_nat]; autorewrite with zsimplify_fast.
- apply Z.pow_gt_1; [ omega | ].
- Z.div_mod_to_quot_rem_in_goal; nia.
- Qed.
-
- Derive carry_mulmod
- SuchThat (forall (f g : list Z)
- (Hf : length f = n)
- (Hg : length g = n),
- (eval weight n (carry_mulmod f g)) mod (s - Associational.eval c)
- = (eval weight n f * eval weight n g) mod (s - Associational.eval c))
- As eval_carry_mulmod.
- Proof.
- intros.
- rewrite <-eval_mulmod with (s:=s) (c:=c) by auto.
- etransitivity;
- [ | rewrite <- @eval_chained_carries with (s:=s) (c:=c) (idxs:=idxs)
- by auto; reflexivity ].
- eapply f_equal2; [|trivial]. eapply f_equal.
- expand_lists ().
- subst carry_mulmod; reflexivity.
- Qed.
-
- Derive carrymod
- SuchThat (forall (f : list Z)
- (Hf : length f = n),
- (eval weight n (carrymod f)) mod (s - Associational.eval c)
- = (eval weight n f) mod (s - Associational.eval c))
- As eval_carrymod.
- Proof.
- intros.
- etransitivity;
- [ | rewrite <- @eval_chained_carries with (s:=s) (c:=c) (idxs:=idxs)
- by auto; reflexivity ].
- eapply f_equal2; [|trivial]. eapply f_equal.
- expand_lists ().
- subst carrymod; reflexivity.
- Qed.
-
- Derive addmod
- SuchThat (forall (f g : list Z)
- (Hf : length f = n)
- (Hg : length g = n),
- (eval weight n (addmod f g)) mod (s - Associational.eval c)
- = (eval weight n f + eval weight n g) mod (s - Associational.eval c))
- As eval_addmod.
- Proof.
- intros.
- rewrite <-eval_add by auto.
- eapply f_equal2; [|trivial]. eapply f_equal.
- expand_lists ().
- subst addmod; reflexivity.
- Qed.
-
- Derive submod
- SuchThat (forall (coef:Z)
- (f g : list Z)
- (Hf : length f = n)
- (Hg : length g = n),
- (eval weight n (submod coef f g)) mod (s - Associational.eval c)
- = (eval weight n f - eval weight n g) mod (s - Associational.eval c))
- As eval_submod.
- Proof.
- intros.
- rewrite <-eval_sub with (coef:=coef) by auto.
- eapply f_equal2; [|trivial]. eapply f_equal.
- expand_lists ().
- subst submod; reflexivity.
- Qed.
-
- Derive oppmod
- SuchThat (forall (coef:Z)
- (f: list Z)
- (Hf : length f = n),
- (eval weight n (oppmod coef f)) mod (s - Associational.eval c)
- = (- eval weight n f) mod (s - Associational.eval c))
- As eval_oppmod.
- Proof.
- intros.
- rewrite <-eval_opp with (coef:=coef) by auto.
- eapply f_equal2; [|trivial]. eapply f_equal.
- expand_lists ().
- subst oppmod; reflexivity.
- Qed.
-
- Derive encodemod
- SuchThat (forall (f:Z),
- (eval weight n (encodemod f)) mod (s - Associational.eval c)
- = f mod (s - Associational.eval c))
- As eval_encodemod.
- Proof.
- intros.
- etransitivity.
- 2:rewrite <-@eval_encode with (weight:=weight) (n:=n) by auto; reflexivity.
- eapply f_equal2; [|trivial]. eapply f_equal.
- expand_lists ().
- subst encodemod; reflexivity.
- Qed.
-End mod_ops.
-
-Module Saturated.
- Hint Resolve weight_positive weight_0 weight_multiples weight_divides.
- Hint Resolve Z.positive_is_nonzero Z.lt_gt Nat2Z.is_nonneg.
-
- Section Weight.
- Context weight {wprops : @weight_properties weight}.
-
- Lemma weight_multiples_full' j : forall i, weight (i+j) mod weight i = 0.
- Proof.
- induction j; intros;
- repeat match goal with
- | _ => rewrite Nat.add_succ_r
- | _ => rewrite IHj
- | |- context [weight (S ?x) mod weight _] =>
- rewrite (Z.div_mod (weight (S x)) (weight x)), weight_multiples by auto
- | _ => progress autorewrite with push_Zmod natsimplify zsimplify_fast
- | _ => reflexivity
- end.
- Qed.
-
- Lemma weight_multiples_full j i : (i <= j)%nat -> weight j mod weight i = 0.
- Proof.
- intros; replace j with (i + (j - i))%nat by omega.
- apply weight_multiples_full'.
- Qed.
-
- Lemma weight_divides_full j i : (i <= j)%nat -> 0 < weight j / weight i.
- Proof. auto using Z.gt_lt, Z.div_positive_gt_0, weight_multiples_full. Qed.
-
- Lemma weight_div_mod j i : (i <= j)%nat -> weight j = weight i * (weight j / weight i).
- Proof. intros. apply Z.div_exact; auto using weight_multiples_full. Qed.
- End Weight.
-
- Module Associational.
- Section Associational.
-
- Definition sat_multerm s (t t' : (Z * Z)) : list (Z * Z) :=
- dlet_nd xy := Z.mul_split s (snd t) (snd t') in
- [(fst t * fst t', fst xy); (fst t * fst t' * s, snd xy)].
-
- Definition sat_mul s (p q : list (Z * Z)) : list (Z * Z) :=
- flat_map (fun t => flat_map (fun t' => sat_multerm s t t') q) p.
-
- Lemma eval_map_sat_multerm s a q (s_nonzero:s<>0):
- Associational.eval (flat_map (sat_multerm s a) q) = fst a * snd a * Associational.eval q.
- Proof.
- cbv [sat_multerm Let_In]; induction q;
- repeat match goal with
- | _ => progress autorewrite with cancel_pair push_eval to_div_mod in *
- | _ => progress simpl flat_map
- | _ => rewrite IHq
- | _ => rewrite Z.mod_eq by assumption
- | _ => ring_simplify; omega
- end.
- Qed.
- Hint Rewrite eval_map_sat_multerm using (omega || assumption) : push_eval.
-
- Lemma eval_sat_mul s p q (s_nonzero:s<>0):
- Associational.eval (sat_mul s p q) = Associational.eval p * Associational.eval q.
- Proof.
- cbv [sat_mul]; induction p; [reflexivity|].
- repeat match goal with
- | _ => progress (autorewrite with push_flat_map push_eval in * )
- | _ => rewrite IHp
- | _ => ring_simplify; omega
- end.
- Qed.
- Hint Rewrite eval_sat_mul : push_eval.
-
- Definition sat_multerm_const s (t t' : (Z * Z)) : list (Z * Z) :=
- if snd t =? 1
- then [(fst t * fst t', snd t')]
- else if snd t =? -1
- then [(fst t * fst t', - snd t')]
- else if snd t =? 0
- then nil
- else dlet_nd xy := Z.mul_split s (snd t) (snd t') in
- [(fst t * fst t', fst xy); (fst t * fst t' * s, snd xy)].
-
- Definition sat_mul_const s (p q : list (Z * Z)) : list (Z * Z) :=
- flat_map (fun t => flat_map (fun t' => sat_multerm_const s t t') q) p.
-
- Lemma eval_map_sat_multerm_const s a q (s_nonzero:s<>0):
- Associational.eval (flat_map (sat_multerm_const s a) q) = fst a * snd a * Associational.eval q.
- Proof.
- cbv [sat_multerm_const Let_In]; induction q;
- repeat match goal with
- | _ => progress autorewrite with cancel_pair push_eval to_div_mod in *
- | _ => progress simpl flat_map
- | H : _ = 1 |- _ => rewrite H
- | H : _ = -1 |- _ => rewrite H
- | H : _ = 0 |- _ => rewrite H
- | _ => progress break_match; Z.ltb_to_lt
- | _ => rewrite IHq
- | _ => rewrite Z.mod_eq by assumption
- | _ => ring_simplify; omega
- end.
- Qed.
- Hint Rewrite eval_map_sat_multerm_const using (omega || assumption) : push_eval.
-
- Lemma eval_sat_mul_const s p q (s_nonzero:s<>0):
- Associational.eval (sat_mul_const s p q) = Associational.eval p * Associational.eval q.
- Proof.
- cbv [sat_mul_const]; induction p; [reflexivity|].
- repeat match goal with
- | _ => progress (autorewrite with push_flat_map push_eval in * )
- | _ => rewrite IHp
- | _ => ring_simplify; omega
- end.
- Qed.
- Hint Rewrite eval_sat_mul_const : push_eval.
- End Associational.
- End Associational.
-
- Section DivMod.
- Lemma mod_step a b c d: 0 < a -> 0 < b ->
- c mod a + a * ((c / a + d) mod b) = (a * d + c) mod (a * b).
- Proof.
- intros; rewrite Z.rem_mul_r by omega. push_Zmod.
- autorewrite with zsimplify pull_Zmod. repeat (f_equal; try ring).
- Qed.
-
- Lemma div_step a b c d : 0 < a -> 0 < b ->
- (c / a + d) / b = (a * d + c) / (a * b).
- Proof. intros; Z.div_mod_to_quot_rem_in_goal; nia. Qed.
-
- Lemma add_mod_div_multiple a b n m:
- n > 0 ->
- 0 <= m / n ->
- m mod n = 0 ->
- (a / n + b) mod (m / n) = (a + n * b) mod m / n.
- Proof.
- intros. rewrite <-!Z.div_add' by auto using Z.positive_is_nonzero.
- rewrite Z.mod_pull_div, Z.mul_div_eq' by auto using Z.gt_lt.
- repeat (f_equal; try omega).
- Qed.
-
- Lemma add_mod_l_multiple a b n m:
- 0 < n / m -> m <> 0 -> n mod m = 0 ->
- (a mod n + b) mod m = (a + b) mod m.
- Proof.
- intros.
- rewrite (proj2 (Z.div_exact n m ltac:(auto))) by auto.
- rewrite Z.rem_mul_r by auto.
- push_Zmod. autorewrite with zsimplify.
- pull_Zmod. reflexivity.
- Qed.
-
- Definition is_div_mod {T} (evalf : T -> Z) dm y n :=
- evalf (fst dm) = y mod n /\ snd dm = y / n.
-
- Lemma is_div_mod_step {T} evalf1 evalf2 dm1 dm2 y1 y2 n1 n2 x :
- n1 > 0 ->
- 0 < n2 / n1 ->
- n2 mod n1 = 0 ->
- evalf2 (fst dm2) = evalf1 (fst dm1) + n1 * ((snd dm1 + x) mod (n2 / n1)) ->
- snd dm2 = (snd dm1 + x) / (n2 / n1) ->
- y2 = y1 + n1 * x ->
- @is_div_mod T evalf1 dm1 y1 n1 ->
- @is_div_mod T evalf2 dm2 y2 n2.
- Proof.
- intros; subst y2; cbv [is_div_mod] in *.
- repeat match goal with
- | H: _ /\ _ |- _ => destruct H
- | H: ?LHS = _ |- _ => match LHS with context [dm2] => rewrite H end
- | H: ?LHS = _ |- _ => match LHS with context [dm1] => rewrite H end
- | _ => rewrite mod_step by omega
- | _ => rewrite div_step by omega
- | _ => rewrite Z.mul_div_eq_full by omega
- end.
- split; f_equal; omega.
- Qed.
-
- Lemma is_div_mod_result_equal {T} evalf dm y1 y2 n :
- y1 = y2 ->
- @is_div_mod T evalf dm y1 n ->
- @is_div_mod T evalf dm y2 n.
- Proof. congruence. Qed.
- End DivMod.
-End Saturated.
-
-Module Columns.
- Import Saturated.
- Section Columns.
- Context weight {wprops : @weight_properties weight}.
-
- Definition eval n (x : list (list Z)) : Z := Positional.eval weight n (map sum x).
-
- Lemma eval_nil n : eval n [] = 0.
- Proof. cbv [eval]; simpl. apply Positional.eval_nil. Qed.
- Hint Rewrite eval_nil : push_eval.
- Lemma eval_snoc n x y : n = length x -> eval (S n) (x ++ [y]) = eval n x + weight n * sum y.
- Proof.
- cbv [eval]; intros; subst. rewrite map_app. simpl map.
- apply Positional.eval_snoc; distr_length.
- Qed. Hint Rewrite eval_snoc using (solve [distr_length]) : push_eval.
-
- Hint Rewrite <- Z.div_add' using omega : pull_Zdiv.
-
- Ltac cases :=
- match goal with
- | |- _ /\ _ => split
- | H: _ /\ _ |- _ => destruct H
- | H: _ \/ _ |- _ => destruct H
- | _ => progress break_match; try discriminate
- end.
-
- Section Flatten.
- Section flatten_column.
- Context (fw : Z). (* maximum size of the result *)
-
- (* Outputs (sum, carry) *)
- Definition flatten_column (digit: list Z) : (Z * Z) :=
- list_rect (fun _ => (Z * Z)%type) (0,0)
- (fun xx tl flatten_column_tl =>
- list_rect
- (fun _ => (Z * Z)%type) (xx mod fw, xx / fw)
- (fun yy tl' _ =>
- list_rect
- (fun _ => (Z * Z)%type) (dlet_nd x := xx in dlet_nd y := yy in Z.add_get_carry_full fw x y)
- (fun _ _ _ =>
- dlet_nd x := xx in
- dlet_nd rec := flatten_column_tl in (* recursively get the sum and carry *)
- dlet_nd sum_carry := Z.add_get_carry_full fw x (fst rec) in (* add the new value to the sum *)
- dlet_nd carry' := snd sum_carry + snd rec in (* add the two carries together *)
- (fst sum_carry, carry'))
- tl')
- tl)
- digit.
- End flatten_column.
-
- Definition flatten_step (digit:list Z) (acc_carry:list Z * Z) : list Z * Z :=
- dlet sum_carry := flatten_column (weight (S (length (fst acc_carry))) / weight (length (fst acc_carry))) (snd acc_carry::digit) in
- (fst acc_carry ++ fst sum_carry :: nil, snd sum_carry).
-
- Definition flatten (xs : list (list Z)) : list Z * Z :=
- fold_right (fun a b => flatten_step a b) (nil,0) (rev xs).
-
- Ltac push_fast :=
- repeat match goal with
- | _ => progress cbv [Let_In]
- | |- context [list_rect _ _ _ ?ls] => rewrite single_list_rect_to_match; destruct ls
- | _ => progress (unfold flatten_step in *; fold flatten_step in * )
- | _ => rewrite Nat.add_1_r
- | _ => rewrite Z.mul_div_eq_full by (auto; omega)
- | _ => rewrite weight_multiples
- | _ => reflexivity
- | _ => solve [repeat (f_equal; try ring)]
- | _ => congruence
- | _ => progress cases
- end.
- Ltac push :=
- repeat match goal with
- | _ => progress push_fast
- | _ => progress autorewrite with cancel_pair to_div_mod
- | _ => progress autorewrite with push_sum push_fold_right push_nth_default in *
- | _ => progress autorewrite with pull_Zmod pull_Zdiv zsimplify_fast
- | _ => progress autorewrite with list distr_length push_eval
- end.
-
- Lemma flatten_column_mod fw (xs : list Z) :
- fst (flatten_column fw xs) = sum xs mod fw.
- Proof.
- induction xs; simpl flatten_column; cbv [Let_In];
- repeat match goal with
- | _ => rewrite IHxs
- | _ => progress push
- end.
- Qed. Hint Rewrite flatten_column_mod : to_div_mod.
-
- Lemma flatten_column_div fw (xs : list Z) (fw_nz : fw <> 0) :
- snd (flatten_column fw xs) = sum xs / fw.
- Proof.
- induction xs; simpl flatten_column; cbv [Let_In];
- repeat match goal with
- | _ => rewrite IHxs
- | _ => rewrite Z.mul_div_eq_full by omega
- | _ => progress push
- end.
- Qed. Hint Rewrite flatten_column_div using auto with zarith : to_div_mod.
-
- Hint Rewrite Positional.eval_nil : push_eval.
- Hint Resolve Z.gt_lt.
-
- Lemma length_flatten_step digit state :
- length (fst (flatten_step digit state)) = S (length (fst state)).
- Proof. cbv [flatten_step]; push. Qed.
- Hint Rewrite length_flatten_step : distr_length.
- Lemma length_flatten inp : length (fst (flatten inp)) = length inp.
- Proof. cbv [flatten]. induction inp using rev_ind; push. Qed.
- Hint Rewrite length_flatten : distr_length.
-
- Lemma flatten_div_mod n inp :
- length inp = n ->
- (Positional.eval weight n (fst (flatten inp))
- = (eval n inp) mod (weight n))
- /\ (snd (flatten inp) = eval n inp / weight n).
- Proof.
- (* to make the invariant take the right form, we make everything depend on output length, not input length *)
- intro. subst n. rewrite <-(length_flatten inp). cbv [flatten].
- induction inp using rev_ind; intros; [push|].
- repeat match goal with
- | _ => rewrite Nat.add_1_r
- | _ => progress (fold (flatten inp) in * )
- | _ => erewrite Positional.eval_snoc by (distr_length; reflexivity)
- | H: _ = _ mod (weight _) |- _ => rewrite H
- | H: _ = _ / (weight _) |- _ => rewrite H
- | _ => progress rewrite ?mod_step, ?div_step by auto
- | _ => progress autorewrite with cancel_pair to_div_mod push_sum list push_fold_right push_eval
- | _ => progress (distr_length; push_fast)
- end.
- Qed.
-
- Lemma flatten_mod {n} inp :
- length inp = n ->
- (Positional.eval weight n (fst (flatten inp)) = (eval n inp) mod (weight n)).
- Proof. apply flatten_div_mod. Qed.
- Hint Rewrite @flatten_mod : push_eval.
-
- Lemma flatten_div {n} inp :
- length inp = n -> snd (flatten inp) = eval n inp / weight n.
- Proof. apply flatten_div_mod. Qed.
- Hint Rewrite @flatten_div : push_eval.
-
- Lemma flatten_snoc x inp : flatten (inp ++ [x]) = flatten_step x (flatten inp).
- Proof. cbv [flatten]. rewrite rev_unit. reflexivity. Qed.
-
- Lemma flatten_partitions inp:
- forall n i, length inp = n -> (i < n)%nat ->
- nth_default 0 (fst (flatten inp)) i = ((eval n inp) mod (weight (S i))) / weight i.
- Proof.
- induction inp using rev_ind; intros; destruct n; distr_length.
- rewrite flatten_snoc.
- push; distr_length;
- [rewrite IHinp with (n:=n) by omega; rewrite weight_div_mod with (j:=n) (i:=S i) by (eauto; omega); push_Zmod; push |].
- repeat match goal with
- | _ => progress replace (length inp) with n by omega
- | _ => progress replace i with n by omega
- | _ => progress push
- | _ => erewrite flatten_div by eauto
- | _ => rewrite <-Z.div_add' by auto
- | _ => rewrite Z.mul_div_eq' by auto
- | _ => rewrite Z.mod_pull_div by auto using Z.lt_le_incl
- | _ => progress autorewrite with push_nth_default natsimplify
- end.
- Qed.
- End Flatten.
-
- Section FromAssociational.
- (* nils *)
- Definition nils n : list (list Z) := repeat nil n.
- Lemma length_nils n : length (nils n) = n. Proof. cbv [nils]. distr_length. Qed.
- Hint Rewrite length_nils : distr_length.
- Lemma eval_nils n : eval n (nils n) = 0.
- Proof.
- erewrite <-Positional.eval_zeros by eauto.
- cbv [eval nils]; rewrite List.map_repeat; reflexivity.
- Qed. Hint Rewrite eval_nils : push_eval.
-
- (* cons_to_nth *)
- Definition cons_to_nth i x (xs : list (list Z)) : list (list Z) :=
- ListUtil.update_nth i (fun y => cons x y) xs.
- Lemma length_cons_to_nth i x xs : length (cons_to_nth i x xs) = length xs.
- Proof. cbv [cons_to_nth]. distr_length. Qed.
- Hint Rewrite length_cons_to_nth : distr_length.
- Lemma cons_to_nth_add_to_nth xs : forall i x,
- map sum (cons_to_nth i x xs) = Positional.add_to_nth i x (map sum xs).
- Proof.
- cbv [cons_to_nth]; induction xs as [|? ? IHxs];
- intros i x; destruct i; simpl; rewrite ?IHxs; reflexivity.
- Qed.
- Lemma eval_cons_to_nth n i x xs : (i < length xs)%nat -> length xs = n ->
- eval n (cons_to_nth i x xs) = weight i * x + eval n xs.
- Proof using Type.
- cbv [eval]; intros. rewrite cons_to_nth_add_to_nth.
- apply Positional.eval_add_to_nth; distr_length.
- Qed. Hint Rewrite eval_cons_to_nth using (solve [distr_length]) : push_eval.
-
- Hint Rewrite Positional.eval_zeros : push_eval.
- Hint Rewrite Positional.length_from_associational : distr_length.
- Hint Rewrite Positional.eval_add_to_nth using (solve [distr_length]): push_eval.
-
- (* from_associational *)
- Definition from_associational n (p:list (Z*Z)) : list (list Z) :=
- List.fold_right (fun t ls =>
- dlet_nd p := Positional.place weight t (pred n) in
- cons_to_nth (fst p) (snd p) ls ) (nils n) p.
- Lemma length_from_associational n p : length (from_associational n p) = n.
- Proof. cbv [from_associational Let_In]. apply fold_right_invariant; intros; distr_length. Qed.
- Hint Rewrite length_from_associational: distr_length.
- Lemma eval_from_associational n p (n_nonzero:n<>0%nat\/p=nil):
- eval n (from_associational n p) = Associational.eval p.
- Proof.
- erewrite <-Positional.eval_from_associational by eauto.
- induction p; [ autorewrite with push_eval; solve [auto] |].
- cbv [from_associational Positional.from_associational]; autorewrite with push_fold_right.
- fold (from_associational n p); fold (Positional.from_associational weight n p).
- cbv [Let_In].
- match goal with |- context [Positional.place _ ?x ?n] =>
- pose proof (Positional.place_in_range weight x n) end.
- repeat match goal with
- | _ => rewrite Nat.succ_pred in * by auto
- | _ => rewrite IHp by auto
- | _ => progress autorewrite with push_eval
- | _ => progress cases
- | _ => congruence
- end.
- Qed.
-
- Lemma from_associational_step n t p :
- from_associational n (t :: p) =
- cons_to_nth (fst (Positional.place weight t (Nat.pred n)))
- (snd (Positional.place weight t (Nat.pred n)))
- (from_associational n p).
- Proof. reflexivity. Qed.
- End FromAssociational.
- End Columns.
-End Columns.
-
-Module Rows.
- Import Saturated.
- Section Rows.
- Context weight {wprops : @weight_properties weight}.
-
- Local Notation rows := (list (list Z)) (only parsing).
- Local Notation cols := (list (list Z)) (only parsing).
-
- Hint Rewrite Positional.eval_nil Positional.eval0 @Positional.eval_snoc
- Positional.eval_to_associational
- Columns.eval_nil Columns.eval_snoc using (auto; solve [distr_length]) : push_eval.
- Hint Resolve in_eq in_cons.
-
- Definition eval n (inp : rows) :=
- sum (map (Positional.eval weight n) inp).
- Lemma eval_nil n : eval n nil = 0.
- Proof. cbv [eval]. rewrite map_nil, sum_nil; reflexivity. Qed.
- Hint Rewrite eval_nil : push_eval.
- Lemma eval0 x : eval 0 x = 0.
- Proof. cbv [eval]. induction x; autorewrite with push_map push_sum push_eval; omega. Qed.
- Hint Rewrite eval0 : push_eval.
- Lemma eval_cons n r inp : eval n (r :: inp) = Positional.eval weight n r + eval n inp.
- Proof. cbv [eval]; autorewrite with push_map push_sum; reflexivity. Qed.
- Hint Rewrite eval_cons : push_eval.
- Lemma eval_app n x y : eval n (x ++ y) = eval n x + eval n y.
- Proof. cbv [eval]; autorewrite with push_map push_sum; reflexivity. Qed.
- Hint Rewrite eval_app : push_eval.
-
- Ltac In_cases :=
- repeat match goal with
- | H: In _ (_ ++ _) |- _ => apply in_app_or in H; destruct H
- | H: In _ (_ :: _) |- _ => apply in_inv in H; destruct H
- | H: In _ nil |- _ => contradiction H
- | H: forall x, In x (?y :: ?ls) -> ?P |- _ =>
- unique pose proof (H y ltac:(apply in_eq));
- unique assert (forall x, In x ls -> P) by auto
- | H: forall x, In x (?ls ++ ?y :: nil) -> ?P |- _ =>
- unique pose proof (H y ltac:(auto using in_or_app, in_eq));
- unique assert (forall x, In x ls -> P) by eauto using in_or_app
- end.
-
- Section FromAssociational.
- (* extract row *)
- Definition extract_row (inp : cols) : cols * list Z := (map (fun c => tl c) inp, map (fun c => hd 0 c) inp).
-
- Lemma eval_extract_row (inp : cols): forall n,
- length inp = n ->
- Positional.eval weight n (snd (extract_row inp)) = Columns.eval weight n inp - Columns.eval weight n (fst (extract_row inp)) .
- Proof.
- cbv [extract_row].
- induction inp using rev_ind; [ | destruct n ];
- repeat match goal with
- | _ => progress intros
- | _ => progress distr_length
- | _ => rewrite Positional.eval_snoc with (n:=n) by distr_length
- | _ => progress autorewrite with cancel_pair push_eval push_map in *
- | _ => ring
- end.
- rewrite IHinp by distr_length.
- destruct x; cbn [hd tl]; rewrite ?sum_nil, ?sum_cons; ring.
- Qed. Hint Rewrite eval_extract_row using (solve [distr_length]) : push_eval.
-
- Lemma length_fst_extract_row n (inp : cols) :
- length inp = n -> length (fst (extract_row inp)) = n.
- Proof. cbv [extract_row]; autorewrite with cancel_pair; distr_length. Qed.
- Hint Rewrite length_fst_extract_row : distr_length.
-
- Lemma length_snd_extract_row n (inp : cols) :
- length inp = n -> length (snd (extract_row inp)) = n.
- Proof. cbv [extract_row]; autorewrite with cancel_pair; distr_length. Qed.
- Hint Rewrite length_snd_extract_row : distr_length.
-
- (* max column size *)
- Definition max_column_size (x:cols) := fold_right (fun a b => Nat.max a b) 0%nat (map (fun c => length c) x).
-
- (* TODO: move to where list is defined *)
- Hint Rewrite @app_nil_l : list.
- Hint Rewrite <-@app_comm_cons: list.
-
- Lemma max_column_size_nil : max_column_size nil = 0%nat.
- Proof. reflexivity. Qed. Hint Rewrite max_column_size_nil : push_max_column_size.
- Lemma max_column_size_cons col (inp : cols) :
- max_column_size (col :: inp) = Nat.max (length col) (max_column_size inp).
- Proof. reflexivity. Qed. Hint Rewrite max_column_size_cons : push_max_column_size.
- Lemma max_column_size_app (x y : cols) :
- max_column_size (x ++ y) = Nat.max (max_column_size x) (max_column_size y).
- Proof. induction x; autorewrite with list push_max_column_size; lia. Qed.
- Hint Rewrite max_column_size_app : push_max_column_size.
- Lemma max_column_size0 (inp : cols) :
- forall n,
- length inp = n -> (* this is not needed to make the lemma true, but prevents reliance on the implementation of Columns.eval*)
- max_column_size inp = 0%nat -> Columns.eval weight n inp = 0.
- Proof.
- induction inp as [|x inp] using rev_ind; destruct n; try destruct x; intros;
- autorewrite with push_max_column_size push_eval push_sum distr_length in *; try lia.
- rewrite IHinp; distr_length; lia.
- Qed.
-
- (* from_columns *)
- Definition from_columns' n start_state : cols * rows :=
- fold_right (fun _ (state : cols * rows) =>
- let cols'_row := extract_row (fst state) in
- (fst cols'_row, snd state ++ [snd cols'_row])
- ) start_state (repeat 0 n).
-
- Definition from_columns (inp : cols) : rows := snd (from_columns' (max_column_size inp) (inp, [])).
-
- Lemma eval_from_columns'_with_length m st n:
- (length (fst st) = n) ->
- length (fst (from_columns' m st)) = n /\
- ((forall r, In r (snd st) -> length r = n) ->
- forall r, In r (snd (from_columns' m st)) -> length r = n) /\
- eval n (snd (from_columns' m st)) = Columns.eval weight n (fst st) + eval n (snd st)
- - Columns.eval weight n (fst (from_columns' m st)).
- Proof.
- cbv [from_columns']; intros.
- apply fold_right_invariant; intros;
- repeat match goal with
- | _ => progress (intros; subst)
- | _ => progress autorewrite with cancel_pair push_eval
- | _ => progress In_cases
- | _ => split; try omega
- | H: _ /\ _ |- _ => destruct H
- | _ => solve [auto using length_fst_extract_row, length_snd_extract_row]
- end.
- Qed.
- Lemma length_fst_from_columns' m st :
- length (fst (from_columns' m st)) = length (fst st).
- Proof. apply eval_from_columns'_with_length; reflexivity. Qed.
- Hint Rewrite length_fst_from_columns' : distr_length.
- Lemma length_snd_from_columns' m st :
- (forall r, In r (snd st) -> length r = length (fst st)) ->
- forall r, In r (snd (from_columns' m st)) -> length r = length (fst st).
- Proof. apply eval_from_columns'_with_length. reflexivity. Qed.
- Hint Rewrite length_snd_from_columns' : distr_length.
- Lemma eval_from_columns' m st n :
- (length (fst st) = n) ->
- eval n (snd (from_columns' m st)) = Columns.eval weight n (fst st) + eval n (snd st)
- - Columns.eval weight n (fst (from_columns' m st)).
- Proof. apply eval_from_columns'_with_length. Qed.
- Hint Rewrite eval_from_columns' using (auto; solve [distr_length]) : push_eval.
-
- Lemma max_column_size_extract_row inp :
- max_column_size (fst (extract_row inp)) = (max_column_size inp - 1)%nat.
- Proof.
- cbv [extract_row]. autorewrite with cancel_pair.
- induction inp; [ reflexivity | ].
- autorewrite with push_max_column_size push_map distr_length.
- rewrite IHinp. auto using Nat.sub_max_distr_r.
- Qed.
- Hint Rewrite max_column_size_extract_row : push_max_column_size.
-
- Lemma max_column_size_from_columns' m st :
- max_column_size (fst (from_columns' m st)) = (max_column_size (fst st) - m)%nat.
- Proof.
- cbv [from_columns']; induction m; intros; cbn - [max_column_size extract_row];
- autorewrite with push_max_column_size; lia.
- Qed.
- Hint Rewrite max_column_size_from_columns' : push_max_column_size.
-
- Lemma eval_from_columns (inp : cols) :
- forall n, length inp = n -> eval n (from_columns inp) = Columns.eval weight n inp.
- Proof.
- intros; cbv [from_columns];
- repeat match goal with
- | _ => progress autorewrite with cancel_pair push_eval push_max_column_size
- | _ => rewrite max_column_size0 with (inp := fst (from_columns' _ _)) by
- (autorewrite with push_max_column_size; distr_length)
- | _ => omega
- end.
- Qed.
- Hint Rewrite eval_from_columns using (auto; solve [distr_length]) : push_eval.
-
- Lemma length_from_columns inp:
- forall r, In r (from_columns inp) -> length r = length inp.
- Proof.
- cbv [from_columns]; intros.
- change inp with (fst (inp, @nil (list Z))).
- eapply length_snd_from_columns'; eauto.
- autorewrite with cancel_pair; intros; In_cases.
- Qed.
- Hint Rewrite length_from_columns : distr_length.
-
- (* from associational *)
- Definition from_associational n (p : list (Z * Z)) := from_columns (Columns.from_associational weight n p).
-
- Lemma eval_from_associational n p: (n <> 0%nat \/ p = nil) ->
- eval n (from_associational n p) = Associational.eval p.
- Proof.
- intros. cbv [from_associational].
- rewrite eval_from_columns by auto using Columns.length_from_associational.
- auto using Columns.eval_from_associational.
- Qed.
-
- Lemma length_from_associational n p :
- forall r, In r (from_associational n p) -> length r = n.
- Proof.
- cbv [from_associational]; intros.
- match goal with H: _ |- _ => apply length_from_columns in H end.
- rewrite Columns.length_from_associational in *; auto.
- Qed.
-
- Lemma max_column_size_zero_iff x :
- max_column_size x = 0%nat <-> (forall c, In c x -> c = nil).
- Proof.
- cbv [max_column_size]; induction x; intros; [ cbn; tauto | ].
- autorewrite with push_fold_right push_map.
- rewrite max_0_iff, IHx.
- split; intros; [ | rewrite length_zero_iff_nil; solve [auto] ].
- match goal with H : _ /\ _ |- _ => destruct H end.
- In_cases; subst; auto using length0_nil.
- Qed.
-
- Lemma max_column_size_Columns_from_associational n p :
- n <> 0%nat -> p <> nil ->
- max_column_size (Columns.from_associational weight n p) <> 0%nat.
- Proof.
- intros.
- rewrite max_column_size_zero_iff.
- intro. destruct p; [congruence | ].
- rewrite Columns.from_associational_step in *.
- cbv [Columns.cons_to_nth] in *.
- match goal with H : forall c, In c (update_nth ?n ?f ?ls) -> _ |- _ =>
- assert (n < length (update_nth n f ls))%nat;
- [ | specialize (H (nth n (update_nth n f ls) nil) ltac:(auto using nth_In)) ]
- end.
- { distr_length.
- rewrite Columns.length_from_associational.
- remember (Nat.pred n) as m. replace n with (S m) by omega.
- apply Positional.place_in_range. }
- rewrite <-nth_default_eq in *.
- autorewrite with push_nth_default in *.
- rewrite eq_nat_dec_refl in *.
- congruence.
- Qed.
-
- Lemma from_associational_nonnil n p :
- n <> 0%nat -> p <> nil ->
- from_associational n p <> nil.
- Proof.
- intros; cbv [from_associational from_columns from_columns'].
- pose proof (max_column_size_Columns_from_associational n p ltac:(auto) ltac:(auto)).
- case_eq (max_column_size (Columns.from_associational weight n p)); [omega|].
- intros; cbn.
- rewrite <-length_zero_iff_nil. distr_length.
- Qed.
- End FromAssociational.
-
- Section Flatten.
- Local Notation fw := (fun i => weight (S i) / weight i) (only parsing).
-
- Section SumRows.
- Definition sum_rows' start_state (row1 row2 : list Z) : list Z * Z * nat :=
- fold_right (fun next (state : list Z * Z * nat) =>
- let i := snd state in
- let low_high' :=
- let low_high := fst state in
- let low := fst low_high in
- let high := snd low_high in
- dlet_nd sum_carry := Z.add_with_get_carry_full (fw i) high (fst next) (snd next) in
- (low ++ [fst sum_carry], snd sum_carry) in
- (low_high', S i)) start_state (rev (combine row1 row2)).
- Definition sum_rows row1 row2 := fst (sum_rows' (nil, 0, 0%nat) row1 row2).
-
- Ltac push :=
- repeat match goal with
- | _ => progress intros
- | _ => progress cbv [Let_In]
- | _ => rewrite Nat.add_1_r
- | _ => erewrite Positional.eval_snoc by eauto
- | H : length _ = _ |- _ => rewrite H
- | H: 0%nat = _ |- _ => rewrite <-H
- | [p := _ |- _] => subst p
- | _ => progress autorewrite with cancel_pair natsimplify push_sum_rows list push_nth_default
- | _ => progress autorewrite with cancel_pair in *
- | _ => progress distr_length
- | _ => progress break_match
- | _ => ring
- | _ => solve [ repeat (f_equal; try ring) ]
- | _ => tauto
- | _ => solve [eauto]
- end.
-
- Lemma sum_rows'_cons state x1 row1 x2 row2 :
- sum_rows' state (x1 :: row1) (x2 :: row2) =
- sum_rows' (fst (fst state) ++ [(snd (fst state) + x1 + x2) mod (fw (snd state))],
- (snd (fst state) + x1 + x2) / fw (snd state),
- S (snd state)) row1 row2.
- Proof.
- cbv [sum_rows' Let_In]; autorewrite with push_combine.
- rewrite !fold_left_rev_right. cbn [fold_left].
- autorewrite with cancel_pair to_div_mod. congruence.
- Qed.
-
- Lemma sum_rows'_nil state :
- sum_rows' state nil nil = state.
- Proof. reflexivity. Qed.
-
- Hint Rewrite sum_rows'_cons sum_rows'_nil : push_sum_rows.
-
- Lemma sum_rows'_div_mod_length row1 :
- forall nm start_state row2 row1' row2',
- let m := snd start_state in
- let n := length row1 in
- length row2 = n ->
- length row1' = m ->
- length row2' = m ->
- length (fst (fst start_state)) = m ->
- (nm = n + m)%nat ->
- let eval := Positional.eval weight in
- is_div_mod (eval m) (fst start_state) (eval m row1' + eval m row2') (weight m) ->
- length (fst (fst (sum_rows' start_state row1 row2))) = nm
- /\ is_div_mod (eval nm) (fst (sum_rows' start_state row1 row2))
- (eval nm (row1' ++ row1) + eval nm (row2' ++ row2))
- (weight nm).
- Proof.
- induction row1 as [|x1 row1]; destruct row2 as [|x2 row2]; intros; subst nm; push; [ ].
- rewrite (app_cons_app_app _ row1'), (app_cons_app_app _ row2').
- apply IHrow1; clear IHrow1; autorewrite with cancel_pair distr_length in *; try omega.
- eapply is_div_mod_step with (x := x1 + x2); try eassumption; push.
- Qed.
-
- Lemma sum_rows_div_mod n row1 row2 :
- length row1 = n -> length row2 = n ->
- let eval := Positional.eval weight in
- is_div_mod (eval n) (sum_rows row1 row2) (eval n row1 + eval n row2) (weight n).
- Proof.
- cbv [sum_rows]; intros.
- apply sum_rows'_div_mod_length with (row1':=nil) (row2':=nil);
- cbv [is_div_mod]; autorewrite with cancel_pair push_eval zsimplify; distr_length.
- Qed.
-
- Lemma sum_rows_mod n row1 row2 :
- length row1 = n -> length row2 = n ->
- Positional.eval weight n (fst (sum_rows row1 row2))
- = (Positional.eval weight n row1 + Positional.eval weight n row2) mod (weight n).
- Proof. apply sum_rows_div_mod. Qed.
- Lemma sum_rows_div row1 row2 n:
- length row1 = n -> length row2 = n ->
- snd (sum_rows row1 row2)
- = (Positional.eval weight n row1 + Positional.eval weight n row2) / (weight n).
- Proof. apply sum_rows_div_mod. Qed.
-
- Lemma sum_rows'_partitions row1 :
- forall nm start_state row2 row1' row2',
- let m := snd start_state in
- let n := length row1 in
- length row2 = n ->
- length row1' = m ->
- length row2' = m ->
- length (fst (fst start_state)) = m ->
- nm = (n + m)%nat ->
- let eval := Positional.eval weight in
- snd (fst start_state) = (eval m row1' + eval m row2') / weight m ->
- (forall j, (j < m)%nat ->
- nth_default 0 (fst (fst start_state)) j = ((eval m row1' + eval m row2') mod (weight (S j))) / (weight j)) ->
- forall i, (i < nm)%nat ->
- nth_default 0 (fst (fst (sum_rows' start_state row1 row2))) i
- = ((eval nm (row1' ++ row1) + eval nm (row2' ++ row2)) mod (weight (S i))) / (weight i).
- Proof.
- induction row1 as [|x1 row1]; destruct row2 as [|x2 row2]; intros; subst nm; push; [].
-
- rewrite (app_cons_app_app _ row1'), (app_cons_app_app _ row2').
- apply IHrow1; clear IHrow1; push;
- repeat match goal with
- | H : ?LHS = _ |- _ =>
- match LHS with context [start_state] => rewrite H end
- | H : context [nth_default 0 (fst (fst start_state))] |- _ => rewrite H by omega
- | _ => rewrite <-(Z.add_assoc _ x1 x2)
- end.
- { rewrite div_step by auto using Z.gt_lt.
- rewrite Z.mul_div_eq_full by auto; rewrite weight_multiples by auto. push. }
- { rewrite weight_div_mod with (j:=snd start_state) (i:=S j) by (auto; omega).
- push_Zmod. autorewrite with zsimplify_fast. reflexivity. }
- { push. replace (snd start_state) with j in * by omega.
- push. rewrite add_mod_div_multiple by auto using Z.lt_le_incl.
- push. }
- Qed.
-
- Lemma sum_rows_partitions row1: forall row2 n i,
- length row1 = n -> length row2 = n -> (i < n)%nat ->
- nth_default 0 (fst (sum_rows row1 row2)) i
- = ((Positional.eval weight n row1 + Positional.eval weight n row2) mod weight (S i)) / (weight i).
- Proof.
- cbv [sum_rows]; intros. rewrite <-(Nat.add_0_r n).
- rewrite <-(app_nil_l row1), <-(app_nil_l row2).
- apply sum_rows'_partitions; intros;
- autorewrite with cancel_pair push_eval zsimplify_fast push_nth_default; distr_length.
- Qed.
-
- Lemma length_sum_rows row1 row2 n:
- length row1 = n -> length row2 = n ->
- length (fst (sum_rows row1 row2)) = n.
- Proof.
- cbv [sum_rows]; intros.
- eapply sum_rows'_div_mod_length; cbv [is_div_mod];
- autorewrite with cancel_pair; distr_length; auto using nil_length0.
- Qed. Hint Rewrite length_sum_rows : distr_length.
- End SumRows.
- Hint Resolve length_sum_rows.
- Hint Rewrite sum_rows_mod using (auto; solve [distr_length; auto]) : push_eval.
-
- Definition flatten' (start_state : list Z * Z) (inp : rows) : list Z * Z :=
- fold_right (fun next_row (state : list Z * Z)=>
- let out_carry := sum_rows next_row (fst state) in
- (fst out_carry, snd state + snd out_carry)) start_state inp.
-
- (* In order for the output to have the right length and bounds,
- we insert rows of zeroes if there are fewer than two rows. *)
- Definition flatten n (inp : rows) : list Z * Z :=
- let default := Positional.zeros n in
- flatten' (hd default inp, 0) (hd default (tl inp) :: tl (tl inp)).
-
- Lemma flatten'_cons state r inp :
- flatten' state (r :: inp) = (fst (sum_rows r (fst (flatten' state inp))), snd (flatten' state inp) + snd (sum_rows r (fst (flatten' state inp)))).
- Proof. cbv [flatten']; autorewrite with list push_fold_right. reflexivity. Qed.
- Lemma flatten'_snoc state r inp :
- flatten' state (inp ++ r :: nil) = flatten' (fst (sum_rows r (fst state)), snd state + snd (sum_rows r (fst state))) inp.
- Proof. cbv [flatten']; autorewrite with list push_fold_right. reflexivity. Qed.
- Lemma flatten'_nil state : flatten' state [] = state. Proof. reflexivity. Qed.
- Hint Rewrite flatten'_cons flatten'_snoc flatten'_nil : push_flatten.
-
- Ltac push :=
- repeat match goal with
- | _ => progress intros
- | H: length ?x = ?n |- context [snd (sum_rows ?x _)] => rewrite sum_rows_div with (n:=n) by (distr_length; eauto)
- | H: length ?x = ?n |- context [snd (sum_rows _ ?x)] => rewrite sum_rows_div with (n:=n) by (distr_length; eauto)
- | H: length _ = _ |- _ => rewrite H
- | _ => progress autorewrite with cancel_pair push_flatten push_eval distr_length zsimplify_fast
- | _ => progress In_cases
- | |- _ /\ _ => split
- | |- context [?x mod ?y] => unique pose proof (Z.mul_div_eq_full x y ltac:(auto)); lia
- | _ => apply length_sum_rows
- | _ => solve [repeat (ring_simplify; f_equal; try ring)]
- | _ => congruence
- | _ => solve [eauto]
- end.
-
- Lemma flatten'_div_mod_length n inp : forall start_state,
- length (fst start_state) = n ->
- (forall row, In row inp -> length row = n) ->
- length (fst (flatten' start_state inp)) = n
- /\ (inp <> nil ->
- is_div_mod (Positional.eval weight n) (flatten' start_state inp)
- (Positional.eval weight n (fst start_state) + eval n inp + weight n * snd start_state)
- (weight n)).
- Proof.
- induction inp using rev_ind; push; [apply IHinp; push|].
- destruct (dec (inp = nil)); [subst inp; cbv [is_div_mod]
- | eapply is_div_mod_result_equal; try apply IHinp]; push.
- { autorewrite with zsimplify; push. }
- { rewrite Z.div_add' by auto; push. }
- Qed.
-
- Hint Rewrite (@Positional.length_zeros weight) : distr_length.
- Hint Rewrite (@Positional.eval_zeros weight) using auto : push_eval.
-
- Lemma flatten_div_mod inp n :
- (forall row, In row inp -> length row = n) ->
- is_div_mod (Positional.eval weight n) (flatten n inp) (eval n inp) (weight n).
- Proof.
- intros; cbv [flatten].
- destruct inp; [|destruct inp]; cbn [hd tl].
- { cbv [is_div_mod]; push.
- erewrite sum_rows_div by (distr_length; reflexivity).
- push. }
- { cbv [is_div_mod]; push. }
- { eapply is_div_mod_result_equal; try apply flatten'_div_mod_length; push. }
- Qed.
-
- Lemma flatten_mod inp n :
- (forall row, In row inp -> length row = n) ->
- Positional.eval weight n (fst (flatten n inp)) = (eval n inp) mod (weight n).
- Proof. apply flatten_div_mod. Qed.
- Lemma flatten_div inp n :
- (forall row, In row inp -> length row = n) ->
- snd (flatten n inp) = (eval n inp) / (weight n).
- Proof. apply flatten_div_mod. Qed.
-
- Lemma length_flatten' n start_state inp :
- length (fst start_state) = n ->
- (forall row, In row inp -> length row = n) ->
- length (fst (flatten' start_state inp)) = n.
- Proof. apply flatten'_div_mod_length. Qed.
- Hint Rewrite length_flatten' : distr_length.
-
- Lemma length_flatten n inp :
- (forall row, In row inp -> length row = n) ->
- length (fst (flatten n inp)) = n.
- Proof.
- intros.
- apply length_flatten'; push;
- destruct inp as [|? [|? ?] ]; try congruence; cbn [hd tl] in *; push;
- subst row; distr_length.
- Qed. Hint Rewrite length_flatten : distr_length.
-
- Lemma flatten'_partitions n inp : forall start_state,
- inp <> nil ->
- length (fst start_state) = n ->
- (forall row, In row inp -> length row = n) ->
- forall i, (i < n)%nat ->
- nth_default 0 (fst (flatten' start_state inp)) i
- = ((Positional.eval weight n (fst start_state) + eval n inp) mod weight (S i)) / (weight i).
- Proof.
- induction inp using rev_ind; push.
- destruct (dec (inp = nil)).
- { subst inp; push. rewrite sum_rows_partitions with (n:=n) by eauto. push. }
- { erewrite IHinp; push.
- rewrite add_mod_l_multiple by auto using weight_divides_full, weight_multiples_full.
- push. }
- Qed.
-
- Lemma flatten_partitions inp n :
- (forall row, In row inp -> length row = n) ->
- forall i, (i < n)%nat ->
- nth_default 0 (fst (flatten n inp)) i = (eval n inp mod weight (S i)) / (weight i).
- Proof.
- intros; cbv [flatten].
- intros; destruct inp as [| ? [| ? ?] ]; try congruence; cbn [hd tl] in *; try solve [push].
- { cbn. autorewrite with push_nth_default.
- rewrite sum_rows_partitions with (n:=n) by distr_length.
- autorewrite with push_eval zsimplify_fast.
- auto with zarith. }
- { push. rewrite sum_rows_partitions with (n:=n) by distr_length; push. }
- { rewrite flatten'_partitions with (n:=n); push. }
- Qed.
-
- Definition partition n x :=
- map (fun i => (x mod weight (S i)) / weight i) (seq 0 n).
-
- Lemma nth_default_partitions x : forall p n,
- (forall i, (i < n)%nat -> nth_default 0 p i = (x mod weight (S i)) / weight i) ->
- length p = n ->
- p = partition n x.
- Proof.
- cbv [partition]; induction p using rev_ind; intros; distr_length; subst n; [reflexivity|].
- rewrite Nat.add_1_r, seq_snoc.
- autorewrite with natsimplify push_map.
- rewrite <-IHp; auto; intros;
- match goal with H : context [nth_default _ (p ++ [ _ ])] |- _ =>
- rewrite <-H by omega end.
- { autorewrite with push_nth_default natsimplify. reflexivity. }
- { autorewrite with push_nth_default natsimplify.
- break_match; omega. }
- Qed.
-
- Lemma partition_step n x :
- partition (S n) x = partition n x ++ [(x mod weight (S n)) / weight n].
- Proof.
- cbv [partition]. rewrite seq_snoc.
- autorewrite with natsimplify push_map. reflexivity.
- Qed.
-
- Lemma length_partition n x : length (partition n x) = n.
- Proof. cbv [partition]; distr_length. Qed.
- Hint Rewrite length_partition : distr_length.
-
- Lemma eval_partition n x :
- Positional.eval weight n (partition n x) = x mod (weight n).
- Proof.
- induction n; intros.
- { cbn. rewrite (weight_0); auto with zarith. }
- { rewrite (Z.div_mod (x mod weight (S n)) (weight n)) by auto.
- rewrite <-Znumtheory.Zmod_div_mod by (try apply Z.mod_divide; auto).
- rewrite partition_step, Positional.eval_snoc with (n:=n) by distr_length.
- omega. }
- Qed.
-
- Lemma flatten_partitions' inp n :
- (forall row, In row inp -> length row = n) ->
- fst (flatten n inp) = partition n (eval n inp).
- Proof. auto using nth_default_partitions, flatten_partitions, length_flatten. Qed.
- End Flatten.
-
- Section Ops.
- Definition add n p q := flatten n [p; q].
-
- (* TODO: Although cleaner, using Positional.negate snd inserts
- dlets which prevent add-opp=>sub transformation in partial
- evaluation. Should probably either make partial evaluation
- handle that or remove the dlet in
- Positional.from_associational. *)
- Definition sub n p q := flatten n [p; map (fun x => dlet y := x in Z.opp y) q].
-
- Hint Rewrite eval_cons eval_nil using solve [auto] : push_eval.
-
- Definition mul base n m (p q : list Z) :=
- let p_a := Positional.to_associational weight n p in
- let q_a := Positional.to_associational weight n q in
- let pq_a := Associational.sat_mul base p_a q_a in
- flatten m (from_associational m pq_a).
-
- (* TODO : move sat_reduce and repeat_sat_reduce to Saturated.Associational *)
- Definition sat_reduce base s c (p : list (Z * Z)) :=
- let lo_hi := Associational.split s p in
- fst lo_hi ++ (Associational.sat_mul_const base c (snd lo_hi)).
-
- Definition repeat_sat_reduce base s c (p : list (Z * Z)) n :=
- fold_right (fun _ q => sat_reduce base s c q) p (seq 0 n).
-
- Definition mulmod base s c n nreductions (p q : list Z) :=
- let p_a := Positional.to_associational weight n p in
- let q_a := Positional.to_associational weight n q in
- let pq_a := Associational.sat_mul base p_a q_a in
- let r_a := repeat_sat_reduce base s c pq_a nreductions in
- flatten n (from_associational n r_a).
-
- Hint Rewrite Associational.eval_sat_mul_const Associational.eval_sat_mul Associational.eval_split using solve [auto] : push_eval.
- Hint Rewrite eval_from_associational using solve [auto] : push_eval.
- Hint Rewrite eval_partition using solve [auto] : push_eval.
- Ltac solver :=
- intros; cbv [sub add mul mulmod sat_reduce];
- rewrite ?flatten_partitions' by (intros; In_cases; subst; distr_length; eauto using length_from_associational);
- rewrite ?flatten_div by (intros; In_cases; subst; distr_length; eauto using length_from_associational);
- autorewrite with push_eval; ring_simplify_subterms;
- try reflexivity.
-
- Lemma add_partitions n p q :
- n <> 0%nat -> length p = n -> length q = n ->
- fst (add n p q) = partition n (Positional.eval weight n p + Positional.eval weight n q).
- Proof. solver. Qed.
-
- Lemma add_div n p q :
- n <> 0%nat -> length p = n -> length q = n ->
- snd (add n p q) = (Positional.eval weight n p + Positional.eval weight n q) / weight n.
- Proof. solver. Qed.
-
- Lemma eval_map_opp q :
- forall n, length q = n ->
- Positional.eval weight n (map Z.opp q) = - Positional.eval weight n q.
- Proof.
- induction q using rev_ind; intros;
- repeat match goal with
- | _ => progress autorewrite with push_map push_eval
- | _ => erewrite !Positional.eval_snoc with (n:=length q) by distr_length
- | _ => rewrite IHq by auto
- | _ => ring
- end.
- Qed. Hint Rewrite eval_map_opp using solve [auto]: push_eval.
-
- Lemma sub_partitions n p q :
- n <> 0%nat -> length p = n -> length q = n ->
- fst (sub n p q) = partition n (Positional.eval weight n p - Positional.eval weight n q).
- Proof. solver. Qed.
-
- Lemma sub_div n p q :
- n <> 0%nat -> length p = n -> length q = n ->
- snd (sub n p q) = (Positional.eval weight n p - Positional.eval weight n q) / weight n.
- Proof. solver. Qed.
-
- Lemma mul_partitions base n m p q :
- base <> 0 -> n <> 0%nat -> m <> 0%nat -> length p = n -> length q = n ->
- fst (mul base n m p q) = partition m (Positional.eval weight n p * Positional.eval weight n q).
- Proof. solver. Qed.
-
- Lemma eval_sat_reduce base s c p :
- base <> 0 -> s - Associational.eval c <> 0 -> s <> 0 ->
- Associational.eval (sat_reduce base s c p) mod (s - Associational.eval c)
- = Associational.eval p mod (s - Associational.eval c).
- Proof.
- intros; cbv [sat_reduce].
- autorewrite with push_eval.
- rewrite <-Associational.reduction_rule by omega.
- autorewrite with push_eval; reflexivity.
- Qed.
- Hint Rewrite eval_sat_reduce using auto : push_eval.
-
- Lemma eval_repeat_sat_reduce base s c p n :
- base <> 0 -> s - Associational.eval c <> 0 -> s <> 0 ->
- Associational.eval (repeat_sat_reduce base s c p n) mod (s - Associational.eval c)
- = Associational.eval p mod (s - Associational.eval c).
- Proof.
- intros; cbv [repeat_sat_reduce].
- apply fold_right_invariant; intros; autorewrite with push_eval; auto.
- Qed.
- Hint Rewrite eval_repeat_sat_reduce using auto : push_eval.
-
- Lemma eval_mulmod base s c n nreductions p q :
- base <> 0 -> s <> 0 -> s - Associational.eval c <> 0 ->
- n <> 0%nat -> length p = n -> length q = n ->
- (Positional.eval weight n (fst (mulmod base s c n nreductions p q))
- + weight n * (snd (mulmod base s c n nreductions p q))) mod (s - Associational.eval c)
- = (Positional.eval weight n p * Positional.eval weight n q) mod (s - Associational.eval c).
- Proof.
- solver.
- rewrite <-Z.div_mod'' by auto.
- autorewrite with push_eval; reflexivity.
- Qed.
- End Ops.
- End Rows.
-End Rows.
-
-Module BaseConversion.
- Import Positional.
- Section BaseConversion.
- Hint Resolve Z.gt_lt.
- Context (sw dw : nat -> Z) (* source/destination weight functions *)
- {swprops : @weight_properties sw}
- {dwprops : @weight_properties dw}.
-
- Definition convert_bases (sn dn : nat) (p : list Z) : list Z :=
- let p' := Positional.from_associational dw dn (Positional.to_associational sw sn p) in
- chained_carries_no_reduce dw dn p' (seq 0 (pred dn)).
-
- Lemma eval_convert_bases sn dn p :
- (dn <> 0%nat) -> length p = sn ->
- eval dw dn (convert_bases sn dn p) = eval sw sn p.
- Proof.
- cbv [convert_bases]; intros.
- rewrite eval_chained_carries_no_reduce; auto using Z.positive_is_nonzero.
- rewrite eval_from_associational; auto.
- Qed.
-
- Hint Rewrite
- @Rows.eval_from_associational
- @Associational.eval_carry
- @Associational.eval_mul
- @Positional.eval_to_associational
- Associational.eval_carryterm
- @eval_convert_bases using solve [auto using Z.positive_is_nonzero] : push_eval.
-
- Ltac push_eval := intros; autorewrite with push_eval; auto with zarith.
-
- (* convert from positional in one weight to the other, then to associational *)
- Definition to_associational n m p : list (Z * Z) :=
- let p' := convert_bases n m p in
- Positional.to_associational dw m p'.
-
- (* TODO : move to Associational? *)
- Section reorder.
- Definition reordering_carry (w fw : Z) (p : list (Z * Z)) :=
- fold_right (fun t acc =>
- let r := Associational.carryterm w fw t in
- if fst t =? w then acc ++ r else r ++ acc) nil p.
-
- Lemma eval_reordering_carry w fw p (_:fw<>0):
- Associational.eval (reordering_carry w fw p) = Associational.eval p.
- Proof.
- cbv [reordering_carry]. induction p; [reflexivity |].
- autorewrite with push_fold_right. break_match; push_eval.
- Qed.
- End reorder.
- Hint Rewrite eval_reordering_carry using solve [auto using Z.positive_is_nonzero] : push_eval.
-
- (* carry at specified indices in dw, then use Rows.flatten to convert to Positional with sw *)
- Definition from_associational idxs n (p : list (Z * Z)) : list Z :=
- (* important not to use Positional.carry here; we don't want to accumulate yet *)
- let p' := fold_right (fun i acc => reordering_carry (dw i) (dw (S i) / dw i) acc) (Associational.bind_snd p) (rev idxs) in
- fst (Rows.flatten sw n (Rows.from_associational sw n p')).
-
- Lemma eval_carries p idxs :
- Associational.eval (fold_right (fun i acc => reordering_carry (dw i) (dw (S i) / dw i) acc) p idxs) =
- Associational.eval p.
- Proof. apply fold_right_invariant; push_eval. Qed.
- Hint Rewrite eval_carries: push_eval.
-
- Lemma eval_to_associational n m p :
- m <> 0%nat -> length p = n ->
- Associational.eval (to_associational n m p) = Positional.eval sw n p.
- Proof. cbv [to_associational]; push_eval. Qed.
- Hint Rewrite eval_to_associational using solve [push_eval; distr_length] : push_eval.
-
- Lemma eval_from_associational idxs n p :
- n <> 0%nat -> 0 <= Associational.eval p < sw n ->
- Positional.eval sw n (from_associational idxs n p) = Associational.eval p.
- Proof.
- cbv [from_associational]; intros.
- rewrite Rows.flatten_mod by eauto using Rows.length_from_associational.
- rewrite Associational.bind_snd_correct.
- push_eval.
- Qed.
- Hint Rewrite eval_from_associational using solve [push_eval; distr_length] : push_eval.
-
- Lemma from_associational_partitions n idxs p (_:n<>0%nat):
- forall i, (i < n)%nat ->
- nth_default 0 (from_associational idxs n p) i = (Associational.eval p) mod (sw (S i)) / sw i.
- Proof.
- intros; cbv [from_associational].
- rewrite Rows.flatten_partitions with (n:=n) by (eauto using Rows.length_from_associational; omega).
- rewrite Associational.bind_snd_correct.
- push_eval.
- Qed.
-
- Lemma from_associational_eq n idxs p (_:n<>0%nat):
- from_associational idxs n p = Rows.partition sw n (Associational.eval p).
- Proof.
- intros. cbv [from_associational].
- rewrite Rows.flatten_partitions' with (n:=n) by eauto using Rows.length_from_associational.
- rewrite Associational.bind_snd_correct.
- push_eval.
- Qed.
-
- Derive from_associational_inlined
- SuchThat (forall idxs n p,
- from_associational_inlined idxs n p = from_associational idxs n p)
- As from_associational_inlined_correct.
- Proof.
- intros.
- cbv beta iota delta [from_associational reordering_carry Associational.carryterm].
- cbv beta iota delta [Let_In]. (* inlines all shifts/lands from carryterm *)
- cbv beta iota delta [from_associational Rows.from_associational Columns.from_associational].
- cbv beta iota delta [Let_In]. (* inlines the shifts from place *)
- subst from_associational_inlined; reflexivity.
- Qed.
-
- Derive to_associational_inlined
- SuchThat (forall n m p,
- to_associational_inlined n m p = to_associational n m p)
- As to_associational_inlined_correct.
- Proof.
- intros.
- cbv beta iota delta [ to_associational convert_bases
- Positional.to_associational
- Positional.from_associational
- chained_carries_no_reduce
- carry
- Associational.carry
- Associational.carryterm
- ].
- cbv beta iota delta [Let_In].
- subst to_associational_inlined; reflexivity.
- Qed.
-
- (* carry chain that aligns terms in the intermediate weight with the final weight *)
- Definition aligned_carries (log_dw_sw nout : nat)
- := (map (fun i => ((log_dw_sw * (i + 1)) - 1))%nat (seq 0 nout)).
-
- Section mul_converted.
- Definition mul_converted
- n1 n2 (* lengths in original format *)
- m1 m2 (* lengths in converted format *)
- (n3 : nat) (* final length *)
- (idxs : list nat) (* carries to do -- this helps preemptively line up weights *)
- (p1 p2 : list Z) :=
- let p1_a := to_associational n1 m1 p1 in
- let p2_a := to_associational n2 m2 p2 in
- let p3_a := Associational.mul p1_a p2_a in
- from_associational idxs n3 p3_a.
-
- Lemma eval_mul_converted n1 n2 m1 m2 n3 idxs p1 p2 (_:n3<>0%nat) (_:m1<>0%nat) (_:m2<>0%nat):
- length p1 = n1 -> length p2 = n2 ->
- 0 <= (Positional.eval sw n1 p1 * Positional.eval sw n2 p2) < sw n3 ->
- Positional.eval sw n3 (mul_converted n1 n2 m1 m2 n3 idxs p1 p2) = (Positional.eval sw n1 p1) * (Positional.eval sw n2 p2).
- Proof. cbv [mul_converted]; push_eval. Qed.
- Hint Rewrite eval_mul_converted : push_eval.
-
- Lemma mul_converted_partitions n1 n2 m1 m2 n3 idxs p1 p2 (_:n3<>0%nat) (_:m1<>0%nat) (_:m2<>0%nat):
- length p1 = n1 -> length p2 = n2 ->
- mul_converted n1 n2 m1 m2 n3 idxs p1 p2 = Rows.partition sw n3 (Positional.eval sw n1 p1 * Positional.eval sw n2 p2).
- Proof.
- intros; cbv [mul_converted].
- rewrite from_associational_eq by auto. push_eval.
- Qed.
- End mul_converted.
- End BaseConversion.
-
- (* multiply two (n*k)-bit numbers by converting them to n k-bit limbs each, multiplying, then converting back *)
- Section widemul.
- Context (log2base : Z) (log2base_pos : 0 < log2base).
- Context (n : nat) (n_nz : n <> 0%nat) (n_le_log2base : Z.of_nat n <= log2base)
- (nout : nat) (nout_2 : nout = 2%nat). (* nout is always 2, but partial evaluation is overeager if it's a constant *)
- Let dw : nat -> Z := weight (log2base / Z.of_nat n) 1.
- Let sw : nat -> Z := weight log2base 1.
-
- Local Lemma base_bounds : 0 < 1 <= log2base. Proof. auto with zarith. Qed.
- Local Lemma dbase_bounds : 0 < 1 <= log2base / Z.of_nat n. Proof. auto with zarith. Qed.
- Let dwprops : @weight_properties dw := wprops (log2base / Z.of_nat n) 1 dbase_bounds.
- Let swprops : @weight_properties sw := wprops log2base 1 base_bounds.
-
- Hint Resolve Z.gt_lt Z.positive_is_nonzero Nat2Z.is_nonneg.
-
- Definition widemul a b := mul_converted sw dw 1 1 n n nout (aligned_carries n nout) [a] [b].
-
- Lemma widemul_correct a b :
- 0 <= a * b < 2^log2base * 2^log2base ->
- widemul a b = [(a * b) mod 2^log2base; (a * b) / 2^log2base].
- Proof.
- cbv [widemul]; intros.
- rewrite mul_converted_partitions by auto with zarith.
- subst nout sw; cbv [weight]; cbn.
- autorewrite with zsimplify.
- rewrite Z.pow_mul_r, Z.pow_2_r by omega.
- Z.rewrite_mod_small. reflexivity.
- Qed.
-
- Derive widemul_inlined
- SuchThat (forall a b,
- 0 <= a * b < 2^log2base * 2^log2base ->
- widemul_inlined a b = [(a * b) mod 2^log2base; (a * b) / 2^log2base])
- As widemul_inlined_correct.
- Proof.
- intros.
- rewrite <-widemul_correct by auto.
- cbv beta iota delta [widemul mul_converted].
- rewrite <-to_associational_inlined_correct with (p:=[a]).
- rewrite <-to_associational_inlined_correct with (p:=[b]).
- rewrite <-from_associational_inlined_correct.
- subst widemul_inlined; reflexivity.
- Qed.
-
- Derive widemul_inlined_reverse
- SuchThat (forall a b,
- 0 <= a * b < 2^log2base * 2^log2base ->
- widemul_inlined_reverse a b = [(a * b) mod 2^log2base; (a * b) / 2^log2base])
- As widemul_inlined_reverse_correct.
- Proof.
- intros.
- rewrite <-widemul_inlined_correct by assumption.
- cbv [widemul_inlined].
- match goal with |- _ = from_associational_inlined sw dw ?idxs ?n ?p =>
- transitivity (from_associational_inlined sw dw idxs n (rev p));
- [ | transitivity (from_associational sw dw idxs n p); [ | reflexivity ] ](* reverse to make addc chains line up *)
- end.
- Focus 2. {
- rewrite from_associational_inlined_correct by (subst nout; auto).
- cbv [from_associational].
- rewrite !Rows.flatten_partitions' by eauto using Rows.length_from_associational.
- rewrite !Rows.eval_from_associational by (subst nout; auto).
- f_equal.
- rewrite !eval_carries, !Associational.bind_snd_correct, !Associational.eval_rev by auto.
- reflexivity. } Unfocus.
- subst widemul_inlined_reverse; reflexivity.
- Qed.
- End widemul.
-End BaseConversion.
-
-Module Import MOVEME.
- Fixpoint fold_andb_map {A B} (f : A -> B -> bool) (ls1 : list A) (ls2 : list B)
- : bool
- := match ls1, ls2 with
- | nil, nil => true
- | nil, _ => false
- | cons x xs, cons y ys => andb (f x y) (@fold_andb_map A B f xs ys)
- | cons _ _, _ => false
- end.
- Lemma fold_andb_map_map {A B C} f g ls1 ls2
- : @fold_andb_map A B f ls1 (@List.map C _ g ls2)
- = fold_andb_map (fun a b => f a (g b)) ls1 ls2.
- Proof. revert ls1 ls2; induction ls1, ls2; cbn; congruence. Qed.
-
- Lemma fold_andb_map_length A B f ls1 ls2
- (H : @fold_andb_map A B f ls1 ls2 = true)
- : length ls1 = length ls2.
- Proof.
- revert ls1 ls2 H; induction ls1, ls2; cbn; intros; Bool.split_andb; f_equal;
- try congruence; auto.
- Qed.
-End MOVEME.
-
-Definition expanding_id (n : nat) (ls : list Z) := expand_list (-1)%Z ls n.
-
-Lemma expanding_id_id n ls (H : List.length ls = n)
- : expanding_id n ls = ls.
-Proof.
- unfold expanding_id. rewrite expand_list_correct by assumption; reflexivity.
-Qed.
-
-Module Ring.
- Local Notation is_bounded_by0 r v
- := ((lower r <=? v) && (v <=? upper r)).
- Local Notation is_bounded_by0o r
- := (match r with Some r' => fun v => is_bounded_by0 r' v | None => fun _ => true end).
- Local Notation is_bounded_by bounds ls
- := (fold_andb_map (fun r v => is_bounded_by0o r v) bounds ls).
- Local Notation is_bounded_by2 bounds ls
- := (let '(a, b) := ls in andb (is_bounded_by bounds a) (is_bounded_by bounds b)).
-
- Lemma length_is_bounded_by bounds ls
- : is_bounded_by bounds ls = true -> length ls = length bounds.
- Proof.
- intro H.
- apply fold_andb_map_length in H; congruence.
- Qed.
-
- Section ring_goal.
- Context (limbwidth_num limbwidth_den : Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (tight_bounds : list (option zrange))
- (length_tight_bounds : length tight_bounds = n)
- (loose_bounds : list (option zrange))
- (length_loose_bounds : length loose_bounds = n).
- Local Notation weight := (weight limbwidth_num limbwidth_den).
- Local Notation eval := (Positional.eval weight n).
- Let prime_bound : zrange
- := r[0~>(s - Associational.eval c - 1)]%zrange.
- Let m := Z.to_pos (s - Associational.eval c).
- Context (m_eq : Z.pos m = s - Associational.eval c)
- (sc_pos : 0 < s - Associational.eval c)
- (Interp_rrelaxv : list Z -> list Z)
- (HInterp_rrelaxv : forall arg,
- is_bounded_by tight_bounds arg = true
- -> is_bounded_by loose_bounds (Interp_rrelaxv arg) = true
- /\ Interp_rrelaxv arg = expanding_id n arg)
- (carry_mulmod : list Z -> list Z -> list Z)
- (Hcarry_mulmod
- : forall f g,
- length f = n -> length g = n ->
- (eval (carry_mulmod f g)) mod (s - Associational.eval c)
- = (eval f * eval g) mod (s - Associational.eval c))
- (Interp_rcarry_mulv : list Z * list Z -> list Z)
- (HInterp_rcarry_mulv : forall arg,
- is_bounded_by2 loose_bounds arg = true
- -> is_bounded_by tight_bounds (Interp_rcarry_mulv arg) = true
- /\ Interp_rcarry_mulv arg = carry_mulmod (fst arg) (snd arg))
- (carrymod : list Z -> list Z)
- (Hcarrymod
- : forall f,
- length f = n ->
- (eval (carrymod f)) mod (s - Associational.eval c)
- = (eval f) mod (s - Associational.eval c))
- (Interp_rcarryv : list Z -> list Z)
- (HInterp_rcarryv : forall arg,
- is_bounded_by loose_bounds arg = true
- -> is_bounded_by tight_bounds (Interp_rcarryv arg) = true
- /\ Interp_rcarryv arg = carrymod arg)
- (addmod : list Z -> list Z -> list Z)
- (Haddmod
- : forall f g,
- length f = n -> length g = n ->
- (eval (addmod f g)) mod (s - Associational.eval c)
- = (eval f + eval g) mod (s - Associational.eval c))
- (Interp_raddv : list Z * list Z -> list Z)
- (HInterp_raddv : forall arg,
- is_bounded_by2 tight_bounds arg = true
- -> is_bounded_by loose_bounds (Interp_raddv arg) = true
- /\ Interp_raddv arg = addmod (fst arg) (snd arg))
- (submod : list Z -> list Z -> list Z)
- (Hsubmod
- : forall f g,
- length f = n -> length g = n ->
- (eval (submod f g)) mod (s - Associational.eval c)
- = (eval f - eval g) mod (s - Associational.eval c))
- (Interp_rsubv : list Z * list Z -> list Z)
- (HInterp_rsubv : forall arg,
- is_bounded_by2 tight_bounds arg = true
- -> is_bounded_by loose_bounds (Interp_rsubv arg) = true
- /\ Interp_rsubv arg = submod (fst arg) (snd arg))
- (oppmod : list Z -> list Z)
- (Hoppmod
- : forall f,
- length f = n ->
- (eval (oppmod f)) mod (s - Associational.eval c)
- = (- eval f) mod (s - Associational.eval c))
- (Interp_roppv : list Z -> list Z)
- (HInterp_roppv : forall arg,
- is_bounded_by tight_bounds arg = true
- -> is_bounded_by loose_bounds (Interp_roppv arg) = true
- /\ Interp_roppv arg = oppmod arg)
- (zeromod : list Z)
- (Hzeromod
- : (eval zeromod) mod (s - Associational.eval c)
- = 0 mod (s - Associational.eval c))
- (Interp_rzerov : list Z)
- (HInterp_rzerov : is_bounded_by tight_bounds Interp_rzerov = true
- /\ Interp_rzerov = zeromod)
- (onemod : list Z)
- (Honemod
- : (eval onemod) mod (s - Associational.eval c)
- = 1 mod (s - Associational.eval c))
- (Interp_ronev : list Z)
- (HInterp_ronev : is_bounded_by tight_bounds Interp_ronev = true
- /\ Interp_ronev = onemod)
- (encodemod : Z -> list Z)
- (Hencodemod
- : forall f,
- (eval (encodemod f)) mod (s - Associational.eval c)
- = f mod (s - Associational.eval c))
- (Interp_rencodev : Z -> list Z)
- (HInterp_rencodev : forall arg,
- is_bounded_by0 prime_bound arg = true
- -> is_bounded_by tight_bounds (Interp_rencodev arg) = true
- /\ Interp_rencodev arg = encodemod arg).
-
- Local Notation T := (list Z) (only parsing).
- Local Notation encoded_ok ls
- := (is_bounded_by tight_bounds ls = true) (only parsing).
- Local Notation encoded_okf := (fun ls => encoded_ok ls) (only parsing).
-
- Definition Fdecode (v : T) : F m
- := F.of_Z m (Positional.eval weight n v).
- Definition T_eq (x y : T)
- := Fdecode x = Fdecode y.
-
- Definition encodedT := sig encoded_okf.
-
- Definition ring_mul (x y : T) : T
- := Interp_rcarry_mulv (Interp_rrelaxv x, Interp_rrelaxv y).
- Definition ring_add (x y : T) : T := Interp_rcarryv (Interp_raddv (x, y)).
- Definition ring_sub (x y : T) : T := Interp_rcarryv (Interp_rsubv (x, y)).
- Definition ring_opp (x : T) : T := Interp_rcarryv (Interp_roppv x).
- Definition ring_encode (x : F m) : T := Interp_rencodev (F.to_Z x).
-
- Definition GoodT : Prop
- := @subsetoid_ring
- (list Z) encoded_okf T_eq
- Interp_rzerov Interp_ronev ring_opp ring_add ring_sub ring_mul
- /\ @is_subsetoid_homomorphism
- (F m) (fun _ => True) eq 1%F F.add F.mul
- (list Z) encoded_okf T_eq Interp_ronev ring_add ring_mul ring_encode
- /\ @is_subsetoid_homomorphism
- (list Z) encoded_okf T_eq Interp_ronev ring_add ring_mul
- (F m) (fun _ => True) eq 1%F F.add F.mul
- Fdecode.
-
- Hint Rewrite ->@F.to_Z_add : push_FtoZ.
- Hint Rewrite ->@F.to_Z_mul : push_FtoZ.
- Hint Rewrite ->@F.to_Z_opp : push_FtoZ.
- Hint Rewrite ->@F.to_Z_of_Z : push_FtoZ.
-
- Lemma Fm_bounded_alt (x : F m)
- : (0 <=? F.to_Z x) && (F.to_Z x <=? Z.pos m - 1) = true.
- Proof using m_eq.
- clear -m_eq.
- destruct x as [x H]; cbn [F.to_Z proj1_sig].
- pose proof (Z.mod_pos_bound x (Z.pos m)).
- rewrite andb_true_iff; split; Z.ltb_to_lt; lia.
- Qed.
-
- Lemma Good : GoodT.
- Proof.
- split_and; simpl in *.
- eapply subsetoid_ring_by_ring_isomorphism;
- cbv [ring_opp ring_add ring_sub ring_mul ring_encode F.sub] in *;
- repeat match goal with
- | _ => solve [ auto using andb_true_intro, conj with nocore ]
- | _ => progress intros
- | _ => progress cbn [fst snd]
- | [ H : _ |- is_bounded_by _ _ = true ] => apply H
- | [ |- _ <-> _ ] => reflexivity
- | [ |- _ = _ :> Z ] => first [ reflexivity | rewrite <- m_eq; reflexivity ]
- | [ H : context[?x] |- Fdecode ?x = _ ] => rewrite H
- | [ H : context[?x _] |- Fdecode (?x _) = _ ] => rewrite H
- | [ H : context[?x _ _] |- Fdecode (?x _ _) = _ ] => rewrite H
- | _ => progress cbv [Fdecode]
- | [ |- _ = _ :> F _ ] => apply F.eq_to_Z_iff
- | _ => progress autorewrite with push_FtoZ
- | _ => rewrite m_eq
- | [ H : context[?x _ _] |- context[eval (?x _ _)] ] => rewrite H
- | [ H : context[?x _] |- context[eval (?x _)] ] => rewrite H
- | [ H : context[?x] |- context[eval ?x] ] => rewrite H
- | [ |- context[List.length ?x] ]
- => erewrite (length_is_bounded_by _ x)
- by eauto using andb_true_intro, conj with nocore
- | [ |- _ = _ :> Z ]
- => push_Zmod; reflexivity
- | _ => pull_Zmod; rewrite Z.add_opp_r
- | _ => rewrite expanding_id_id
- | [ |- context[F.to_Z _ mod (_ - _)] ]
- => rewrite <- m_eq, F.mod_to_Z
- | _ => rewrite <- m_eq; apply Fm_bounded_alt
- end.
- Qed.
- End ring_goal.
-End Ring.
-
-Module Compilers.
- Module type.
- Variant primitive := unit | Z | nat | bool.
- Inductive type := type_primitive (_:primitive) | prod (A B : type) | arrow (s d : type) | list (A : type).
- Module Export Coercions.
- Global Coercion type_primitive : primitive >-> type.
- End Coercions.
-
- (** Denote [type]s into their interpretation in [Type]/[Set] *)
- Fixpoint interp (t : type)
- := match t with
- | unit => Datatypes.unit
- | prod A B => interp A * interp B
- | arrow A B => interp A -> interp B
- | list A => Datatypes.list (interp A)
- | nat => Datatypes.nat
- | type_primitive Z => BinInt.Z
- | bool => Datatypes.bool
- end%type.
-
- Fixpoint final_codomain (t : type) : type
- := match t with
- | type_primitive _ as t
- | prod _ _ as t
- | list _ as t
- => t
- | arrow s d => final_codomain d
- end.
-
- Definition domain (t : type) : type
- := match t with
- | arrow s d => s
- | _ => type_primitive unit
- end.
-
- Definition codomain (t : type) : type
- := match t with
- | arrow s d => d
- | t => t
- end.
-
- Fixpoint try_transport (P : type -> Type) (t1 t2 : type) : P t1 -> option (P t2)
- := match t1, t2 return P t1 -> option (P t2) with
- | unit, unit
- | Z, Z
- | nat, nat
- | bool, bool
- => @Some _
- | prod A B, prod A' B'
- => fun v
- => (v <- try_transport (fun A => P (prod A B)) A A' v;
- try_transport (fun B => P (prod A' B)) B B' v)%option
- | arrow s d, arrow s' d'
- => fun v
- => (v <- try_transport (fun s => P (arrow s d)) s s' v;
- try_transport (fun d => P (arrow s' d)) d d' v)%option
- | list A, list A'
- => @try_transport (fun A => P (list A)) A A'
- | unit, _
- | Z, _
- | nat, _
- | bool, _
- | prod _ _, _
- | arrow _ _, _
- | list _, _
- => fun _ => None
- end.
-
- Ltac reify_primitive ty :=
- lazymatch eval cbv beta in ty with
- | Datatypes.unit => unit
- | Datatypes.nat => nat
- | Datatypes.bool => bool
- | BinInt.Z => Z
- | ?ty => let dummy := match goal with
- | _ => fail 1 "Unrecognized type:" ty
- end in
- constr:(I : I)
- end.
-
- Ltac reify ty :=
- lazymatch eval cbv beta in ty with
- | Datatypes.prod ?A ?B
- => let rA := reify A in
- let rB := reify B in
- constr:(prod rA rB)
- | ?A -> ?B
- => let rA := reify A in
- let rB := reify B in
- constr:(arrow rA rB)
- | Datatypes.list ?T
- => let rT := reify T in
- constr:(list rT)
- | type.interp ?T => T
- | _ => let rt := reify_primitive ty in
- constr:(type_primitive rt)
- end.
-
- Notation reify t := (ltac:(let rt := reify t in exact rt)) (only parsing).
- Notation reify_type_of e := (reify ((fun t (_ : t) => t) _ e)) (only parsing).
-
- Module Export Notations.
- Export Coercions.
- Delimit Scope ctype_scope with ctype.
- Bind Scope ctype_scope with type.
- Notation "()" := unit : ctype_scope.
- Notation "A * B" := (prod A B) : ctype_scope.
- Notation "A -> B" := (arrow A B) : ctype_scope.
- Notation type := type.
- End Notations.
- End type.
- Export type.Notations.
-
- Module Uncurried.
- Module expr.
- Inductive expr {ident : type -> type -> Type} {var : type -> Type} : type -> Type :=
- | Var {t} (v : var t) : expr t
- | TT : expr type.unit
- | AppIdent {s d} (idc : ident s d) (args : expr s) : expr d
- | App {s d} (f : expr (s -> d)) (x : expr s) : expr d
- | Pair {A B} (a : expr A) (b : expr B) : expr (A * B)
- | Abs {s d} (f : var s -> expr d) : expr (s -> d).
-
- Definition Expr {ident : type -> type -> Type} t := forall var, @expr ident var t.
-
- Definition APP {ident s d} (f : Expr (s -> d)) (x : Expr s) : Expr d
- := fun var => @App ident var s d (f var) (x var).
-
- Module Export Notations.
- Bind Scope expr_scope with expr.
- Delimit Scope expr_scope with expr.
- Bind Scope Expr_scope with Expr.
- Delimit Scope Expr_scope with Expr.
-
- Infix "@" := App : expr_scope.
- Infix "@" := APP : Expr_scope.
- Infix "@@" := AppIdent : expr_scope.
- Notation "( x , y , .. , z )" := (Pair .. (Pair x%expr y%expr) .. z%expr) : expr_scope.
- Notation "( )" := TT : expr_scope.
- Notation "()" := TT : expr_scope.
- Notation "'λ' x .. y , t" := (Abs (fun x => .. (Abs (fun y => t%expr)) ..)) : expr_scope.
- End Notations.
-
- Section unexpr.
- Context {ident : type -> type -> Type}
- {var : type -> Type}.
-
- Fixpoint unexpr {t} (e : @expr ident (@expr ident var) t) : @expr ident var t
- := match e in expr t return expr t with
- | Var t v => v
- | TT => TT
- | AppIdent s d idc args => AppIdent idc (unexpr args)
- | App s d f x => App (unexpr f) (unexpr x)
- | Pair A B a b => Pair (unexpr a) (unexpr b)
- | Abs s d f => Abs (fun x => unexpr (f (Var x)))
- end.
- End unexpr.
-
- Section with_ident.
- Context {ident : type -> type -> Type}
- (interp_ident : forall s d, ident s d -> type.interp s -> type.interp d).
-
- (** Denote expressions *)
- Fixpoint interp {t} (e : @expr ident type.interp t) : type.interp t
- := match e with
- | Var t v => v
- | TT => tt
- | AppIdent s d idc args => interp_ident s d idc (@interp s args)
- | App s d f x => @interp _ f (@interp _ x)
- | Pair A B a b => (@interp A a, @interp B b)
- | Abs s d f => fun v => interp (f v)
- end.
-
- Definition Interp {t} (e : Expr t) := interp (e _).
-
- (** [Interp (APP _ _)] is the same thing as Gallina
- application of the [Interp]retations of the two arguments
- to [APP]. *)
- Definition Interp_APP {s d} (f : @Expr ident (s -> d)) (x : @Expr ident s)
- : Interp (f @ x)%Expr = Interp f (Interp x)
- := eq_refl.
-
- (** Same as [Interp_APP], but for any reflexive relation, not
- just [eq] *)
- Definition Interp_APP_rel_reflexive {s d} {R} {H:Reflexive R}
- (f : @Expr ident (s -> d)) (x : @Expr ident s)
- : R (Interp (f @ x)%Expr) (Interp f (Interp x))
- := H _.
- End with_ident.
-
- Ltac require_primitive_const term :=
- lazymatch term with
- | S ?n => require_primitive_const n
- | O => idtac
- | true => idtac
- | false => idtac
- | tt => idtac
- | Z0 => idtac
- | Zpos ?p => require_primitive_const p
- | Zneg ?p => require_primitive_const p
- | xI ?p => require_primitive_const p
- | xO ?p => require_primitive_const p
- | xH => idtac
- | ?term => fail 0 "Not a known const:" term
- end.
- Ltac is_primitive_const term :=
- match constr:(Set) with
- | _ => let check := match goal with
- | _ => require_primitive_const term
- end in
- true
- | _ => false
- end.
-
- Module var_context.
- Inductive list {var : type -> Type} :=
- | nil
- | cons {t} (gallina_v : type.interp t) (v : var t) (ctx : list).
- End var_context.
-
- (* cf COQBUG(https://github.com/coq/coq/issues/5448) , COQBUG(https://github.com/coq/coq/issues/6315) , COQBUG(https://github.com/coq/coq/issues/6559) , COQBUG(https://github.com/coq/coq/issues/6534) , https://github.com/mit-plv/fiat-crypto/issues/320 *)
- Ltac require_same_var n1 n2 :=
- (*idtac n1 n2;*)
- let c1 := constr:(fun n1 n2 : Set => ltac:(exact n1)) in
- let c2 := constr:(fun n1 n2 : Set => ltac:(exact n2)) in
- (*idtac c1 c2;*)
- first [ constr_eq c1 c2 | fail 1 "Not the same var:" n1 "and" n2 "(via constr_eq" c1 c2 ")" ].
- Ltac is_same_var n1 n2 :=
- match goal with
- | _ => let check := match goal with _ => require_same_var n1 n2 end in
- true
- | _ => false
- end.
- Ltac is_underscore v :=
- let v' := fresh v in
- let v' := fresh v' in
- is_same_var v v'.
- Ltac refresh n fresh_tac :=
- let n_is_underscore := is_underscore n in
- let n' := lazymatch n_is_underscore with
- | true => fresh
- | false => fresh_tac n
- end in
- let n' := fresh_tac n' in
- n'.
-
- Ltac type_of_first_argument_of f :=
- let f_ty := type of f in
- lazymatch eval hnf in f_ty with
- | forall x : ?T, _ => T
- end.
-
- (** Forms of abstraction in Gallina that our reflective language
- cannot handle get handled by specializing the code "template" to
- each particular application of that abstraction. In particular,
- type arguments (nat, Z, (λ _, nat), etc) get substituted into
- lambdas and treated as a integral part of primitive operations
- (such as [@List.app T], [@list_rect (λ _, nat)]). During
- reification, we accumulate them in a right-associated tuple,
- using [tt] as the "nil" base case. When we hit a λ or an
- identifier, we plug in the template parameters as necessary. *)
- Ltac require_template_parameter parameter_type :=
- first [ unify parameter_type Prop
- | unify parameter_type Set
- | unify parameter_type Type
- | lazymatch eval hnf in parameter_type with
- | forall x : ?T, @?P x
- => let check := constr:(fun x : T
- => ltac:(require_template_parameter (P x);
- exact I)) in
- idtac
- end ].
- Ltac is_template_parameter parameter_type :=
- is_success_run_tactic ltac:(fun _ => require_template_parameter parameter_type).
- Ltac plug_template_ctx f template_ctx :=
- lazymatch template_ctx with
- | tt => f
- | (?arg, ?template_ctx')
- =>
- let T := type_of_first_argument_of f in
- let x_is_template_parameter := is_template_parameter T in
- lazymatch x_is_template_parameter with
- | true
- => plug_template_ctx (f arg) template_ctx'
- | false
- => constr:(fun x : T
- => ltac:(let v := plug_template_ctx (f x) template_ctx in
- exact v))
- end
- end.
-
- Ltac reify_in_context ident reify_ident var term value_ctx template_ctx :=
- let reify_rec_gen term value_ctx template_ctx := reify_in_context ident reify_ident var term value_ctx template_ctx in
- let reify_rec term := reify_rec_gen term value_ctx template_ctx in
- let reify_rec_not_head term := reify_rec_gen term value_ctx tt in
- let mkAppIdent idc args
- := let rargs := reify_rec_not_head args in
- constr:(@AppIdent ident var _ _ idc rargs) in
- let do_reify_ident term else_tac
- := let term_is_primitive_const := is_primitive_const term in
- reify_ident
- mkAppIdent
- term_is_primitive_const
- term
- else_tac in
- (*let dummy := match goal with _ => idtac "reify_in_context: attempting to reify:" term end in*)
- lazymatch value_ctx with
- | context[@var_context.cons _ ?rT term ?v _]
- => constr:(@Var ident var rT v)
- | _
- =>
- lazymatch term with
- | match ?b with true => ?t | false => ?f end
- => let T := type of t in
- reify_rec (@bool_rect (fun _ => T) t f b)
- | match ?x with Datatypes.pair a b => ?f end
- => reify_rec (match Datatypes.fst x, Datatypes.snd x return _ with
- | a, b => f
- end)
- | match ?x with nil => ?N | cons a b => @?C a b end
- => let T := type of term in
- reify_rec (@list_case _ (fun _ => T) N C x)
- | let x := ?a in @?b x
- => let A := type of a in
- let B := lazymatch type of b with forall x, @?B x => B end in
- reify_rec (b a) (*(@Let_In A B a b)*)
- | Datatypes.pair ?x ?y
- => let rx := reify_rec x in
- let ry := reify_rec y in
- constr:(Pair (ident:=ident) (var:=var) rx ry)
- | tt
- => constr:(@TT ident var)
- | (fun x : ?T => ?f)
- =>
- let x_is_template_parameter := is_template_parameter T in
- lazymatch x_is_template_parameter with
- | true
- =>
- lazymatch template_ctx with
- | (?arg, ?template_ctx)
- => (* we pull a trick with [match] to plug in [arg] without running cbv β *)
- lazymatch type of term with
- | forall y, ?P
- => reify_rec_gen (match arg as y return P with x => f end) value_ctx template_ctx
- end
- end
- | false
- =>
- let rT := type.reify T in
- let not_x := fresh (* could be [refresh x ltac:(fun n => fresh n)] in 8.8; c.f. https://github.com/mit-plv/fiat-crypto/issues/320 and probably COQBUG(https://github.com/coq/coq/issues/6534) *) in
- let not_x2 := fresh (* could be [refresh not_x ltac:(fun n => fresh n)] in 8.8; c.f. https://github.com/mit-plv/fiat-crypto/issues/320 and probably COQBUG(https://github.com/coq/coq/issues/6534) *) in
- let not_x3 := fresh (* could be [refresh not_x2 ltac:(fun n => fresh n)] in 8.8; c.f. https://github.com/mit-plv/fiat-crypto/issues/320 and probably COQBUG(https://github.com/coq/coq/issues/6534) *) in
- (*let dummy := match goal with _ => idtac "reify_in_context: λ case:" term "using vars:" not_x not_x2 not_x3 end in*)
- let rf0 :=
- constr:(
- fun (x : T) (not_x : var rT)
- => match f, @var_context.cons var rT x not_x value_ctx return _ with (* c.f. COQBUG(https://github.com/coq/coq/issues/6252#issuecomment-347041995) for [return _] *)
- | not_x2, not_x3
- => ltac:(
- let f := (eval cbv delta [not_x2] in not_x2) in
- let var_ctx := (eval cbv delta [not_x3] in not_x3) in
- (*idtac "rec call" f "was" term;*)
- let rf := reify_rec_gen f var_ctx template_ctx in
- exact rf)
- end) in
- lazymatch rf0 with
- | (fun _ => ?rf)
- => constr:(@Abs ident var rT _ rf)
- | _
- => (* This will happen if the reified term still
- mentions the non-var variable. By chance, [cbv delta]
- strips type casts, which are only places that I can
- think of where such dependency might remain. However,
- if this does come up, having a distinctive error message
- is much more useful for debugging than the generic "no
- matching clause" *)
- let dummy := match goal with
- | _ => fail 1 "Failure to eliminate functional dependencies of" rf0
- end in
- constr:(I : I)
- end
- end
- | _
- =>
- do_reify_ident
- term
- ltac:(
- fun _
- =>
- lazymatch term with
- | ?f ?x
- =>
- let ty := type_of_first_argument_of f in
- let x_is_template_parameter := is_template_parameter ty in
- lazymatch x_is_template_parameter with
- | true
- => (* we can't reify things of type [Type], so we save it for later to plug in *)
- reify_rec_gen f value_ctx (x, template_ctx)
- | false
- => let rx := reify_rec_gen x value_ctx tt in
- let rf := reify_rec_gen f value_ctx template_ctx in
- constr:(App (ident:=ident) (var:=var) rf rx)
- end
- | _
- => let term' := plug_template_ctx term template_ctx in
- do_reify_ident
- term'
- ltac:(fun _
- =>
- (*let __ := match goal with _ => idtac "Attempting to unfold" term end in*)
- let term
- := match constr:(Set) with
- | _ => (eval cbv delta [term] in term) (* might fail, so we wrap it in a match to give better error messages *)
- | _
- => let dummy := match goal with
- | _ => fail 2 "Unrecognized term:" term'
- end in
- constr:(I : I)
- end in
- reify_rec term)
- end)
- end
- end.
- Ltac reify ident reify_ident var term :=
- reify_in_context ident reify_ident var term (@var_context.nil var) tt.
- Ltac Reify ident reify_ident term :=
- constr:(fun var : type -> Type
- => ltac:(let r := reify ident reify_ident var term in
- exact r)).
- Ltac Reify_rhs ident reify_ident interp_ident _ :=
- let RHS := lazymatch goal with |- _ = ?RHS => RHS end in
- let R := Reify ident reify_ident RHS in
- transitivity (@Interp ident interp_ident _ R);
- [ | cbv beta iota delta [Interp interp interp_ident Let_In type.interp bool_rect];
- reflexivity ].
-
- Module for_reification.
- Module ident.
- Import type.
- Inductive ident : type -> type -> Set :=
- | primitive {t:type.primitive} (v : interp t) : ident () t
- | Let_In {tx tC} : ident (tx * (tx -> tC)) tC
- | Nat_succ : ident nat nat
- | Nat_max : ident (nat * nat) nat
- | Nat_mul : ident (nat * nat) nat
- | Nat_add : ident (nat * nat) nat
- | Nat_sub : ident (nat * nat) nat
- | nil {t} : ident () (list t)
- | cons {t} : ident (t * list t) (list t)
- | fst {A B} : ident (A * B) A
- | snd {A B} : ident (A * B) B
- | bool_rect {T} : ident ((unit -> T) * (unit -> T) * bool) T
- | nat_rect {P} : ident ((unit -> P) * (nat * P -> P) * nat) P
- | list_rect {A P} : ident ((unit -> P) * (A * list A * P -> P) * list A) P
- | list_case {A P} : ident ((unit -> P) * (A * list A -> P) * list A) P
- | pred : ident nat nat
- | List_length {T} : ident (list T) nat
- | List_seq : ident (nat * nat) (list nat)
- | List_repeat {A} : ident (A * nat) (list A)
- | List_combine {A B} : ident (list A * list B) (list (A * B))
- | List_map {A B} : ident ((A -> B) * list A) (list B)
- | List_flat_map {A B} : ident ((A -> list B) * list A) (list B)
- | List_partition {A} : ident ((A -> bool) * list A) (list A * list A)
- | List_app {A} : ident (list A * list A) (list A)
- | List_rev {A} : ident (list A) (list A)
- | List_fold_right {A B} : ident ((B * A -> A) * A * list B) A
- | List_update_nth {T} : ident (nat * (T -> T) * list T) (list T)
- | List_nth_default {T} : ident (T * list T * nat) T
- | Z_add : ident (Z * Z) Z
- | Z_mul : ident (Z * Z) Z
- | Z_pow : ident (Z * Z) Z
- | Z_sub : ident (Z * Z) Z
- | Z_opp : ident Z Z
- | Z_div : ident (Z * Z) Z
- | Z_modulo : ident (Z * Z) Z
- | Z_eqb : ident (Z * Z) bool
- | Z_leb : ident (Z * Z) bool
- | Z_of_nat : ident nat Z
- | Z_mul_split : ident (Z * Z * Z) (Z * Z)
- | Z_add_get_carry : ident (Z * Z * Z) (Z * Z)
- | Z_add_with_carry : ident (Z * Z * Z) Z
- | Z_add_with_get_carry : ident (Z * Z * Z * Z) (Z * Z)
- | Z_sub_get_borrow : ident (Z * Z * Z) (Z * Z)
- | Z_sub_with_get_borrow : ident (Z * Z * Z * Z) (Z * Z)
- | Z_zselect : ident (Z * Z * Z) Z
- | Z_add_modulo : ident (Z * Z * Z) Z
- | Z_rshi : ident (Z * Z * Z * Z) Z
- | Z_cc_m : ident (Z * Z) Z
- .
-
- Notation curry0 f
- := (fun 'tt => f).
- Notation curry2 f
- := (fun '(a, b) => f a b).
- Notation curry3 f
- := (fun '(a, b, c) => f a b c).
- Notation curry4 f
- := (fun '(a, b, c, d) => f a b c d).
- Notation uncurry2 f
- := (fun a b => f (a, b)).
- Notation uncurry3 f
- := (fun a b c => f (a, b, c)).
- Notation curry3_1 f
- := (fun '(a, b, c) => f (uncurry2 a) b c).
- Notation curry3_2 f
- := (fun '(a, b, c) => f a (uncurry2 b) c).
- Notation curry3_3 f
- := (fun '(a, b, c) => f a (uncurry3 b) c).
-
- (** Denote identifiers *)
- Definition interp {s d} (idc : ident s d) : type.interp s -> type.interp d
- := match idc in ident s d return type.interp s -> type.interp d with
- | primitive _ v => curry0 v
- | Let_In tx tC => curry2 (@LetIn.Let_In (type.interp tx) (fun _ => type.interp tC))
- | Nat_succ => Nat.succ
- | Nat_add => curry2 Nat.add
- | Nat_sub => curry2 Nat.sub
- | Nat_mul => curry2 Nat.mul
- | Nat_max => curry2 Nat.max
- | nil t => curry0 (@Datatypes.nil (type.interp t))
- | cons t => curry2 (@Datatypes.cons (type.interp t))
- | fst A B => @Datatypes.fst (type.interp A) (type.interp B)
- | snd A B => @Datatypes.snd (type.interp A) (type.interp B)
- | bool_rect T => curry3 (fun t f => @Datatypes.bool_rect (fun _ => type.interp T) (t tt) (f tt))
- | nat_rect P => curry3_2 (fun O_case => @Datatypes.nat_rect (fun _ => type.interp P) (O_case tt))
- | list_rect A P => curry3_3 (fun N_case => @Datatypes.list_rect (type.interp A) (fun _ => type.interp P) (N_case tt))
- | list_case A P => curry3_2 (fun N_case => @ListUtil.list_case (type.interp A) (fun _ => type.interp P) (N_case tt))
- | pred => Nat.pred
- | List_length T => @List.length (type.interp T)
- | List_seq => curry2 List.seq
- | List_combine A B => curry2 (@List.combine (type.interp A) (type.interp B))
- | List_map A B => curry2 (@List.map (type.interp A) (type.interp B))
- | List_repeat A => curry2 (@repeat (type.interp A))
- | List_flat_map A B => curry2 (@List.flat_map (type.interp A) (type.interp B))
- | List_partition A => curry2 (@List.partition (type.interp A))
- | List_app A => curry2 (@List.app (type.interp A))
- | List_rev A => @List.rev (type.interp A)
- | List_fold_right A B => curry3_1 (@List.fold_right (type.interp A) (type.interp B))
- | List_update_nth T => curry3 (@update_nth (type.interp T))
- | List_nth_default T => curry3 (@List.nth_default (type.interp T))
- | Z_add => curry2 Z.add
- | Z_mul => curry2 Z.mul
- | Z_pow => curry2 Z.pow
- | Z_modulo => curry2 Z.modulo
- | Z_opp => Z.opp
- | Z_sub => curry2 Z.sub
- | Z_div => curry2 Z.div
- | Z_eqb => curry2 Z.eqb
- | Z_leb => curry2 Z.leb
- | Z_of_nat => Z.of_nat
- | Z_mul_split => curry3 Z.mul_split
- | Z_add_get_carry => curry3 Z.add_get_carry_full
- | Z_add_with_carry => curry3 Z.add_with_carry
- | Z_add_with_get_carry => curry4 Z.add_with_get_carry_full
- | Z_sub_get_borrow => curry3 Z.sub_get_borrow_full
- | Z_sub_with_get_borrow => curry4 Z.sub_with_get_borrow_full
- | Z_zselect => curry3 Z.zselect
- | Z_add_modulo => curry3 Z.add_modulo
- | Z_rshi => curry4 Z.rshi
- | Z_cc_m => curry2 Z.cc_m
- end.
-
- Ltac reify
- mkAppIdent
- term_is_primitive_const
- term
- else_tac :=
- (*let dummy := match goal with _ => idtac "attempting to reify_op" term end in*)
- lazymatch term with
- | Nat.succ ?x => mkAppIdent Nat_succ x
- | Nat.add ?x ?y => mkAppIdent Nat_add (x, y)
- | Nat.sub ?x ?y => mkAppIdent Nat_sub (x, y)
- | Nat.mul ?x ?y => mkAppIdent Nat_mul (x, y)
- | Nat.max ?x ?y => mkAppIdent Nat_max (x, y)
- | S ?x => mkAppIdent Nat_succ x
- | @Datatypes.nil ?T
- => let rT := type.reify T in
- mkAppIdent (@ident.nil rT) tt
- | @Datatypes.cons ?T ?x ?xs
- => let rT := type.reify T in
- mkAppIdent (@ident.cons rT) (x, xs)
- | @Datatypes.fst ?A ?B ?x
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.fst rA rB) x
- | @Datatypes.snd ?A ?B ?x
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.snd rA rB) x
- | @Datatypes.bool_rect (fun _ => ?T) ?Ptrue ?Pfalse ?b
- => let rT := type.reify T in
- mkAppIdent (@ident.bool_rect rT)
- ((fun _ : Datatypes.unit => Ptrue), (fun _ : Datatypes.unit => Pfalse), b)
- | @Datatypes.nat_rect (fun _ => ?T) ?P0 (fun (n' : Datatypes.nat) Pn => ?PS) ?n
- => let rT := type.reify T in
- let pat := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) *)
- mkAppIdent (@ident.nat_rect rT) ((fun _ : Datatypes.unit => P0),
- (fun pat : Datatypes.nat * T
- => let '(n', Pn) := pat in PS),
- n)
- | @Datatypes.nat_rect (fun _ => ?T) ?P0 ?PS ?n
- => let dummy := match goal with _ => fail 1 "nat_rect successor case is not syntactically a function of two arguments:" PS end in
- constr:(I : I)
- | @Datatypes.list_rect ?A (fun _ => ?T) ?Pnil (fun a tl Ptl => ?PS) ?ls
- => let rA := type.reify A in
- let rT := type.reify T in
- let pat := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) *)
- mkAppIdent (@ident.list_rect rA rT)
- ((fun _ : Datatypes.unit => Pnil),
- (fun pat : A * Datatypes.list A * T
- => let '(a, tl, Ptl) := pat in PS),
- ls)
- | @Datatypes.list_rect ?A (fun _ => ?T) ?Pnil ?PS ?ls
- => let dummy := match goal with _ => fail 1 "list_rect successor case is not syntactically a function of three arguments:" PS end in
- constr:(I : I)
- | @ListUtil.list_case ?A (fun _ => ?T) ?Pnil (fun a tl => ?PS) ?ls
- => let rA := type.reify A in
- let rT := type.reify T in
- let pat := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) *)
- mkAppIdent (@ident.list_case rA rT)
- ((fun _ : Datatypes.unit => Pnil),
- (fun pat : A * Datatypes.list A
- => let '(a, tl) := pat in PS),
- ls)
- | @ListUtil.list_case ?A (fun _ => ?T) ?Pnil ?PS ?ls
- => let dummy := match goal with _ => fail 1 "list_case successor case is not syntactically a function of two arguments:" PS end in
- constr:(I : I)
- | Nat.pred ?x => mkAppIdent ident.pred x
- | @List.length ?A ?x =>
- let rA := type.reify A in
- mkAppIdent (@ident.List_length rA) x
- | List.seq ?x ?y => mkAppIdent ident.List_seq (x, y)
- | @repeat ?A ?x ?y
- => let rA := type.reify A in
- mkAppIdent (@ident.List_repeat rA) (x, y)
- | @LetIn.Let_In ?A (fun _ => ?B) ?x ?f
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.Let_In rA rB) (x, f)
- | @LetIn.Let_In ?A ?B ?x ?f
- => let dummy := match goal with _ => fail 1 "Let_In contains a dependent type λ as its second argument:" B end in
- constr:(I : I)
- | @combine ?A ?B ?ls1 ?ls2
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.List_combine rA rB) (ls1, ls2)
- | @List.map ?A ?B ?f ?ls
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.List_map rA rB) (f, ls)
- | @List.flat_map ?A ?B ?f ?ls
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.List_flat_map rA rB) (f, ls)
- | @List.partition ?A ?f ?ls
- => let rA := type.reify A in
- mkAppIdent (@ident.List_partition rA) (f, ls)
- | @List.app ?A ?ls1 ?ls2
- => let rA := type.reify A in
- mkAppIdent (@ident.List_app rA) (ls1, ls2)
- | @List.rev ?A ?ls
- => let rA := type.reify A in
- mkAppIdent (@ident.List_rev rA) ls
- | @List.fold_right ?A ?B (fun b a => ?f) ?a0 ?ls
- => let rA := type.reify A in
- let rB := type.reify B in
- let pat := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) *)
- mkAppIdent (@ident.List_fold_right rA rB) ((fun pat : B * A => let '(b, a) := pat in f), a0, ls)
- | @List.fold_right ?A ?B ?f ?a0 ?ls
- => let dummy := match goal with _ => fail 1 "List.fold_right function argument is not syntactically a function of two arguments:" f end in
- constr:(I : I)
- | @update_nth ?T ?n ?f ?ls
- => let rT := type.reify T in
- mkAppIdent (@ident.List_update_nth rT) (n, f, ls)
- | @List.nth_default ?T ?d ?ls ?n
- => let rT := type.reify T in
- mkAppIdent (@ident.List_nth_default rT) (d, ls, n)
- | Z.add ?x ?y => mkAppIdent ident.Z_add (x, y)
- | Z.mul ?x ?y => mkAppIdent ident.Z_mul (x, y)
- | Z.pow ?x ?y => mkAppIdent ident.Z_pow (x, y)
- | Z.sub ?x ?y => mkAppIdent ident.Z_sub (x, y)
- | Z.opp ?x => mkAppIdent ident.Z_opp x
- | Z.div ?x ?y => mkAppIdent ident.Z_div (x, y)
- | Z.modulo ?x ?y => mkAppIdent ident.Z_modulo (x, y)
- | Z.eqb ?x ?y => mkAppIdent ident.Z_eqb (x, y)
- | Z.leb ?x ?y => mkAppIdent ident.Z_leb (x, y)
- | Z.of_nat ?x => mkAppIdent ident.Z_of_nat x
- | Z.mul_split ?x ?y ?z => mkAppIdent ident.Z_mul_split (x, y, z)
- | Z.add_get_carry_full ?x ?y ?z => mkAppIdent ident.Z_add_get_carry (x, y, z)
- | Z.add_with_carry ?x ?y ?z => mkAppIdent ident.Z_add_with_carry (x, y, z)
- | Z.add_with_get_carry_full ?x ?y ?z ?a => mkAppIdent ident.Z_add_with_get_carry (x, y, z, a)
- | Z.sub_get_borrow_full ?x ?y ?z => mkAppIdent ident.Z_sub_get_borrow (x, y, z)
- | Z.sub_with_get_borrow_full ?x ?y ?z ?a => mkAppIdent ident.Z_sub_with_get_borrow (x, y, z, a)
- | Z.zselect ?x ?y ?z => mkAppIdent ident.Z_zselect (x, y, z)
- | Z.add_modulo ?x ?y ?z => mkAppIdent ident.Z_add_modulo (x,y,z)
- | Z.rshi ?x ?y ?z ?a => mkAppIdent ident.Z_rshi (x,y,z,a)
- | Z.cc_m ?x ?y => mkAppIdent ident.Z_cc_m (x,y)
- | _
- => lazymatch term_is_primitive_const with
- | true
- =>
- let assert_const := match goal with
- | _ => require_primitive_const term
- end in
- let T := type of term in
- let rT := type.reify_primitive T in
- mkAppIdent (@ident.primitive rT term) tt
- | false => else_tac ()
- end
- end.
-
- Module List.
- Notation length := List_length.
- Notation seq := List_seq.
- Notation repeat := List_repeat.
- Notation combine := List_combine.
- Notation map := List_map.
- Notation flat_map := List_flat_map.
- Notation partition := List_partition.
- Notation app := List_app.
- Notation rev := List_rev.
- Notation fold_right := List_fold_right.
- Notation update_nth := List_update_nth.
- Notation nth_default := List_nth_default.
- End List.
-
- Module Z.
- Notation add := Z_add.
- Notation mul := Z_mul.
- Notation pow := Z_pow.
- Notation sub := Z_sub.
- Notation opp := Z_opp.
- Notation div := Z_div.
- Notation modulo := Z_modulo.
- Notation eqb := Z_eqb.
- Notation leb := Z_leb.
- Notation of_nat := Z_of_nat.
- Notation mul_split := Z_mul_split.
- Notation add_get_carry := Z_add_get_carry.
- Notation add_with_carry := Z_add_with_carry.
- Notation add_with_get_carry := Z_add_with_get_carry.
- Notation sub_get_borrow := Z_sub_get_borrow.
- Notation sub_with_get_borrow := Z_sub_with_get_borrow.
- Notation zselect := Z_zselect.
- Notation add_modulo := Z_add_modulo.
- Notation rshi := Z_rshi.
- Notation cc_m := Z_cc_m.
- End Z.
-
- Module Nat.
- Notation succ := Nat_succ.
- Notation add := Nat_add.
- Notation sub := Nat_sub.
- Notation mul := Nat_mul.
- Notation max := Nat_max.
- End Nat.
-
- Module Export Notations.
- Notation ident := ident.
- End Notations.
- End ident.
-
- Module Notations.
- Include ident.Notations.
- Notation expr := (@expr ident).
- Notation Expr := (@Expr ident).
- Notation interp := (@interp ident (@ident.interp)).
- Notation Interp := (@Interp ident (@ident.interp)).
-
- (*Notation "( x , y , .. , z )" := (Pair .. (Pair x%expr y%expr) .. z%expr) : expr_scope.*)
- Notation "'expr_let' x := A 'in' b" := (AppIdent ident.Let_In (Pair A%expr (Abs (fun x => b%expr)))) : expr_scope.
- Notation "[ ]" := (AppIdent ident.nil _) : expr_scope.
- Notation "x :: xs" := (AppIdent ident.cons (Pair x%expr xs%expr)) : expr_scope.
- Notation "x" := (AppIdent (ident.primitive x) _) (only printing, at level 9) : expr_scope.
- Notation "ls [[ n ]]"
- := (AppIdent ident.List.nth_default (_, ls, AppIdent (ident.primitive n%nat) _)%expr)
- : expr_scope.
-
- Module Reification.
- Ltac reify var term := expr.reify ident ident.reify var term.
- Ltac Reify term := expr.Reify ident ident.reify term.
- Ltac Reify_rhs _ :=
- expr.Reify_rhs ident ident.reify ident.interp ().
- End Reification.
- Include Reification.
- End Notations.
- Include Notations.
- End for_reification.
-
- Module Export default.
- Module ident.
- Import type.
- Inductive ident : type -> type -> Set :=
- | primitive {t : type.primitive} (v : interp t) : ident () t
- | Let_In {tx tC} : ident (tx * (tx -> tC)) tC
- | Nat_succ : ident nat nat
- | Nat_add : ident (nat * nat) nat
- | Nat_sub : ident (nat * nat) nat
- | Nat_mul : ident (nat * nat) nat
- | Nat_max : ident (nat * nat) nat
- | nil {t} : ident () (list t)
- | cons {t} : ident (t * list t) (list t)
- | fst {A B} : ident (A * B) A
- | snd {A B} : ident (A * B) B
- | bool_rect {T} : ident ((unit -> T) * (unit -> T) * bool) T
- | nat_rect {P} : ident ((unit -> P) * (nat * P -> P) * nat) P
- | pred : ident nat nat
- | list_rect {A P} : ident ((unit -> P) * (A * list A * P -> P) * list A) P
- | List_nth_default {T} : ident (T * list T * nat) T
- | List_nth_default_concrete {T : type.primitive} (d : interp T) (n : Datatypes.nat) : ident (list T) T
- | Z_shiftr (offset : BinInt.Z) : ident Z Z
- | Z_shiftl (offset : BinInt.Z) : ident Z Z
- | Z_land (mask : BinInt.Z) : ident Z Z
- | Z_add : ident (Z * Z) Z
- | Z_mul : ident (Z * Z) Z
- | Z_pow : ident (Z * Z) Z
- | Z_sub : ident (Z * Z) Z
- | Z_opp : ident Z Z
- | Z_div : ident (Z * Z) Z
- | Z_modulo : ident (Z * Z) Z
- | Z_eqb : ident (Z * Z) bool
- | Z_leb : ident (Z * Z) bool
- | Z_of_nat : ident nat Z
- | Z_mul_split : ident (Z * Z * Z) (Z * Z)
- | Z_mul_split_concrete (s:BinInt.Z) : ident (Z * Z) (Z * Z)
- | Z_add_get_carry : ident (Z * Z * Z) (Z * Z)
- | Z_add_get_carry_concrete (s:BinInt.Z) : ident (Z * Z) (Z * Z)
- | Z_add_with_carry : ident (Z * Z * Z) Z
- | Z_add_with_get_carry : ident (Z * Z * Z * Z) (Z * Z)
- | Z_add_with_get_carry_concrete (s:BinInt.Z) : ident (Z * Z * Z) (Z * Z)
- | Z_sub_get_borrow : ident (Z * Z * Z) (Z * Z)
- | Z_sub_get_borrow_concrete (s:BinInt.Z) : ident (Z * Z) (Z * Z)
- | Z_sub_with_get_borrow : ident (Z * Z * Z * Z) (Z * Z)
- | Z_sub_with_get_borrow_concrete (s:BinInt.Z) : ident (Z * Z * Z) (Z * Z)
- | Z_zselect : ident (Z * Z * Z) Z
- | Z_add_modulo : ident (Z * Z * Z) Z
- | Z_rshi : ident (Z * Z * Z * Z) Z
- | Z_rshi_concrete (s offset:BinInt.Z) : ident (Z * Z) Z
- | Z_cc_m : ident (Z * Z) Z
- | Z_cc_m_concrete (s:BinInt.Z) : ident Z Z
- | Z_cast (range : zrange) : ident Z Z
- | Z_cast2 (range : zrange * zrange) : ident (Z * Z) (Z * Z)
- .
-
- Notation curry0 f
- := (fun 'tt => f).
- Notation curry2 f
- := (fun '(a, b) => f a b).
- Notation curry3 f
- := (fun '(a, b, c) => f a b c).
- Notation curry4 f
- := (fun '(a, b, c, d) => f a b c d).
- Notation uncurry2 f
- := (fun a b => f (a, b)).
- Notation uncurry3 f
- := (fun a b c => f (a, b, c)).
- Notation curry3_23 f
- := (fun '(a, b, c) => f a (uncurry3 b) c).
- Notation curry3_2 f
- := (fun '(a, b, c) => f a (uncurry2 b) c).
-
- Section gen.
- Context (cast_outside_of_range : zrange -> BinInt.Z -> BinInt.Z).
-
- Definition cast (r : zrange) (x : BinInt.Z)
- := if (lower r <=? x) && (x <=? upper r)
- then x
- else cast_outside_of_range r x.
-
- (** Interpret identifiers where the behavior of [Z_cast]
- on a value that does not fit in the range is given by
- a context variable. (This allows us to treat [Z_cast]
- as "undefined behavior" when the value doesn't fit in
- the range by quantifying over all possible
- interpretations. *)
- Definition gen_interp {s d} (idc : ident s d) : type.interp s -> type.interp d
- := match idc in ident s d return type.interp s -> type.interp d with
- | primitive _ v => curry0 v
- | Let_In tx tC => curry2 (@LetIn.Let_In (type.interp tx) (fun _ => type.interp tC))
- | Nat_succ => Nat.succ
- | Nat_add => curry2 Nat.add
- | Nat_sub => curry2 Nat.sub
- | Nat_mul => curry2 Nat.mul
- | Nat_max => curry2 Nat.max
- | nil t => curry0 (@Datatypes.nil (type.interp t))
- | cons t => curry2 (@Datatypes.cons (type.interp t))
- | fst A B => @Datatypes.fst (type.interp A) (type.interp B)
- | snd A B => @Datatypes.snd (type.interp A) (type.interp B)
- | bool_rect T => curry3 (fun t f => @Datatypes.bool_rect (fun _ => type.interp T) (t tt) (f tt))
- | nat_rect P => curry3_2 (fun O_case => @Datatypes.nat_rect (fun _ => type.interp P) (O_case tt))
- | pred => Nat.pred
- | list_rect A P => curry3_23 (fun N_case => @Datatypes.list_rect (type.interp A) (fun _ => type.interp P) (N_case tt))
- | List_nth_default T => curry3 (@List.nth_default (type.interp T))
- | List_nth_default_concrete T d n => fun ls => @List.nth_default (type.interp T) d ls n
- | Z_shiftr n => fun v => Z.shiftr v n
- | Z_shiftl n => fun v => Z.shiftl v n
- | Z_land mask => fun v => Z.land v mask
- | Z_add => curry2 Z.add
- | Z_mul => curry2 Z.mul
- | Z_pow => curry2 Z.pow
- | Z_modulo => curry2 Z.modulo
- | Z_sub => curry2 Z.sub
- | Z_opp => Z.opp
- | Z_div => curry2 Z.div
- | Z_eqb => curry2 Z.eqb
- | Z_leb => curry2 Z.leb
- | Z_of_nat => Z.of_nat
- | Z_mul_split => curry3 Z.mul_split
- | Z_mul_split_concrete s => curry2 (Z.mul_split s)
- | Z_add_get_carry => curry3 Z.add_get_carry_full
- | Z_add_get_carry_concrete s => curry2 (Z.add_get_carry_full s)
- | Z_add_with_carry => curry3 Z.add_with_carry
- | Z_add_with_get_carry => curry4 Z.add_with_get_carry_full
- | Z_add_with_get_carry_concrete s => curry3 (Z.add_with_get_carry_full s)
- | Z_sub_get_borrow => curry3 Z.sub_get_borrow_full
- | Z_sub_get_borrow_concrete s => curry2 (Z.sub_get_borrow_full s)
- | Z_sub_with_get_borrow => curry4 Z.sub_with_get_borrow_full
- | Z_sub_with_get_borrow_concrete s => curry3 (Z.sub_with_get_borrow_full s)
- | Z_zselect => curry3 Z.zselect
- | Z_add_modulo => curry3 Z.add_modulo
- | Z_rshi => curry4 Z.rshi
- | Z_rshi_concrete s n => curry2 (fun x y => Z.rshi s x y n)
- | Z_cc_m => curry2 Z.cc_m
- | Z_cc_m_concrete s => Z.cc_m s
- | Z_cast r => cast r
- | Z_cast2 (r1, r2) => fun '(x1, x2) => (cast r1 x1, cast r2 x2)
- end.
- End gen.
-
- Definition cast_outside_of_range (r : zrange) (v : BinInt.Z) : BinInt.Z.
- Proof. exact v. Qed.
-
- (** Interpret identifiers where [Z_cast] is an opaque
- identity function when the value is not inside the range
- *)
- Definition interp {s d} (idc : ident s d) : type.interp s -> type.interp d
- := @gen_interp cast_outside_of_range s d idc.
- Global Arguments interp _ _ !_ _ / .
-
- Ltac reify
- mkAppIdent
- term_is_primitive_const
- term
- else_tac :=
- (*let dummy := match goal with _ => idtac "attempting to reify_op" term end in*)
- lazymatch term with
- | Nat.succ ?x => mkAppIdent Nat_succ x
- | Nat.add ?x ?y => mkAppIdent Nat_add (x, y)
- | Nat.sub ?x ?y => mkAppIdent Nat_sub (x, y)
- | Nat.mul ?x ?y => mkAppIdent Nat_mul (x, y)
- | Nat.max ?x ?y => mkAppIdent Nat_max (x, y)
- | S ?x => mkAppIdent Nat_succ x
- | @Datatypes.nil ?T
- => let rT := type.reify T in
- mkAppIdent (@ident.nil rT) tt
- | @Datatypes.cons ?T ?x ?xs
- => let rT := type.reify T in
- mkAppIdent (@ident.cons rT) (x, xs)
- | @Datatypes.fst ?A ?B ?x
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.fst rA rB) x
- | @Datatypes.snd ?A ?B ?x
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.snd rA rB) x
- | @Datatypes.bool_rect (fun _ => ?T) ?Ptrue ?Pfalse ?b
- => let rT := type.reify T in
- mkAppIdent (@ident.bool_rect rT)
- ((fun _ : Datatypes.unit => Ptrue), (fun _ : Datatypes.unit => Pfalse), b)
- | @Datatypes.nat_rect (fun _ => ?T) ?P0 (fun (n' : Datatypes.nat) Pn => ?PS) ?n
- => let rT := type.reify T in
- let pat := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) *)
- mkAppIdent (@ident.nat_rect rT)
- ((fun _ : Datatypes.unit => P0),
- (fun pat : Datatypes.nat * T
- => let '(n', Pn) := pat in PS),
- n)
- | @Datatypes.nat_rect (fun _ => ?T) ?P0 ?PS ?n
- => let dummy := match goal with _ => fail 1 "nat_rect successor case is not syntactically a function of two arguments:" PS end in
- constr:(I : I)
- | Nat.pred ?x => mkAppIdent ident.pred x
- | @LetIn.Let_In ?A (fun _ => ?B) ?x ?f
- => let rA := type.reify A in
- let rB := type.reify B in
- mkAppIdent (@ident.Let_In rA rB) (x, f)
- | @LetIn.Let_In ?A ?B ?x ?f
- => let dummy := match goal with _ => fail 1 "Let_In contains a dependent type λ as its second argument:" B end in
- constr:(I : I)
- | @Datatypes.list_rect ?A (fun _ => ?B) ?Pnil (fun x xs rec => ?Pcons) ?ls
- => let rA := type.reify A in
- let rB := type.reify B in
- let pat := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) *)
- let pat' := fresh "pat" in (* fresh for COQBUG(https://github.com/coq/coq/issues/6562) (must also not overlap with [rec], but I think [fresh] handles that correctly, at least) *)
- mkAppIdent (@ident.list_rect rA rB)
- ((fun _ : Datatypes.unit => Pnil),
- (fun pat : A * Datatypes.list A * B
- => let '(pat', rec) := pat in
- let '(x, xs) := pat' in
- Pcons),
- ls)
- | @Datatypes.list_rect ?A (fun _ => ?B) ?Pnil ?Pcons ?ls
- => let dummy := match goal with _ => fail 1 "list_rect cons case is not syntactically a function of three arguments:" Pcons end in
- constr:(I : I)
- | @List.nth_default ?T ?d ?ls ?n
- => let rT := type.reify T in
- mkAppIdent (@ident.List_nth_default rT) (d, ls, n)
- | Z.add ?x ?y => mkAppIdent ident.Z_add (x, y)
- | Z.mul ?x ?y => mkAppIdent ident.Z_mul (x, y)
- | Z.pow ?x ?y => mkAppIdent ident.Z_pow (x, y)
- | Z.sub ?x ?y => mkAppIdent ident.Z_sub (x, y)
- | Z.opp ?x => mkAppIdent ident.Z_opp x
- | Z.div ?x ?y => mkAppIdent ident.Z_div (x, y)
- | Z.modulo ?x ?y => mkAppIdent ident.Z_modulo (x, y)
- | Z.eqb ?x ?y => mkAppIdent ident.Z_eqb (x, y)
- | Z.leb ?x ?y => mkAppIdent ident.Z_leb (x, y)
- | Z.of_nat ?x => mkAppIdent ident.Z_of_nat x
- | Z.mul_split ?x ?y ?z => mkAppIdent ident.Z_mul_split (x, y, z)
- | Z.add_get_carry_full ?x ?y ?z => mkAppIdent ident.Z_add_get_carry (x, y, z)
- | Z.add_with_carry ?x ?y ?z => mkAppIdent ident.Z_add_with_carry (x, y, z)
- | Z.add_with_get_carry_full ?x ?y ?z ?a => mkAppIdent ident.Z_add_with_get_carry (x, y, z, a)
- | Z.sub_get_borrow_full ?x ?y ?z => mkAppIdent ident.Z_sub_get_borrow (x, y, z)
- | Z.sub_with_get_borrow_full ?x ?y ?z ?a => mkAppIdent ident.Z_sub_with_get_borrow (x, y, z, a)
- | Z.zselect ?x ?y ?z => mkAppIdent ident.Z_zselect (x, y, z)
- | Z.add_modulo ?x ?y ?z => mkAppIdent ident.Z_add_modulo (x,y,z)
- | Z.rshi ?x ?y ?z ?a => mkAppIdent ident.Z_rshi (x,y,z,a)
- | Z.cc_m ?x ?y => mkAppIdent ident.Z_cc_m (x,y)
- | _
- => lazymatch term_is_primitive_const with
- | true
- =>
- let assert_const := match goal with
- | _ => require_primitive_const term
- end in
- let T := type of term in
- let rT := type.reify_primitive T in
- mkAppIdent (@ident.primitive rT term) tt
- | _ => else_tac ()
- end
- end.
-
- Module List.
- Notation nth_default := List_nth_default.
- Notation nth_default_concrete := List_nth_default_concrete.
- End List.
-
- Module Z.
- Notation shiftr := Z_shiftr.
- Notation shiftl := Z_shiftl.
- Notation land := Z_land.
- Notation add := Z_add.
- Notation mul := Z_mul.
- Notation pow := Z_pow.
- Notation sub := Z_sub.
- Notation opp := Z_opp.
- Notation div := Z_div.
- Notation modulo := Z_modulo.
- Notation eqb := Z_eqb.
- Notation leb := Z_leb.
- Notation of_nat := Z_of_nat.
- Notation mul_split := Z_mul_split.
- Notation mul_split_concrete := Z_mul_split_concrete.
- Notation add_get_carry := Z_add_get_carry.
- Notation add_get_carry_concrete := Z_add_get_carry_concrete.
- Notation add_with_carry := Z_add_with_carry.
- Notation add_with_get_carry := Z_add_with_get_carry.
- Notation add_with_get_carry_concrete := Z_add_with_get_carry_concrete.
- Notation sub_get_borrow := Z_sub_get_borrow.
- Notation sub_get_borrow_concrete := Z_sub_get_borrow_concrete.
- Notation sub_with_get_borrow := Z_sub_with_get_borrow.
- Notation sub_with_get_borrow_concrete := Z_sub_with_get_borrow_concrete.
- Notation zselect := Z_zselect.
- Notation add_modulo := Z_add_modulo.
- Notation rshi := Z_rshi.
- Notation rshi_concrete := Z_rshi_concrete.
- Notation cc_m := Z_cc_m.
- Notation cc_m_concrete := Z_cc_m_concrete.
- Notation cast := Z_cast.
- Notation cast2 := Z_cast2.
- End Z.
-
- Module Nat.
- Notation succ := Nat_succ.
- Notation add := Nat_add.
- Notation sub := Nat_sub.
- Notation mul := Nat_mul.
- Notation max := Nat_max.
- End Nat.
-
- Module Export Notations.
- Notation ident := ident.
- End Notations.
- End ident.
-
- Module Notations.
- Include ident.Notations.
- Notation expr := (@expr ident).
- Notation Expr := (@Expr ident).
- Notation interp := (@interp ident (@ident.interp)).
- Notation Interp := (@Interp ident (@ident.interp)).
- Notation gen_interp cast_outside_of_range := (@interp ident (@ident.gen_interp cast_outside_of_range)).
- Notation GenInterp cast_outside_of_range := (@Interp ident (@ident.gen_interp cast_outside_of_range)).
-
- (*Notation "( x , y , .. , z )" := (Pair .. (Pair x%expr y%expr) .. z%expr) : expr_scope.*)
- Notation "'expr_let' x := A 'in' b" := (AppIdent ident.Let_In (Pair A%expr (Abs (fun x => b%expr)))) : expr_scope.
- Notation "[ ]" := (AppIdent ident.nil _) : expr_scope.
- Notation "x :: xs" := (AppIdent ident.cons (Pair x%expr xs%expr)) : expr_scope.
- Notation "x" := (AppIdent (ident.primitive x) _) (only printing, at level 9) : expr_scope.
- Notation "ls [[ n ]]"
- := (AppIdent ident.List.nth_default (_, ls, AppIdent (ident.primitive n%nat) _)%expr)
- : expr_scope.
- Notation "ls [[ n ]]"
- := (AppIdent (ident.List.nth_default_concrete n) ls%expr)
- : expr_scope.
-
- Ltac reify var term := expr.reify ident ident.reify var term.
- Ltac Reify term := expr.Reify ident ident.reify term.
- Ltac Reify_rhs _ :=
- expr.Reify_rhs ident ident.reify ident.interp ().
- End Notations.
- Include Notations.
- End default.
- End expr.
-
- Module canonicalize_list_recursion.
- Import expr.
- Import expr.default.
- Module ident.
- Local Ltac app_and_maybe_cancel term :=
- lazymatch term with
- | Abs (fun x : @expr ?var ?T => ?f)
- => eval cbv [unexpr] in (fun x : @expr var T => @unexpr ident.ident var _ f)
- | Abs (fun x : ?T => ?f)
- => let dummy := match goal with _ => fail 1 "Invalid var type:" T end in
- constr:(I : I)
- end.
-
- Definition transfer {var} {s d} (idc : for_reification.ident s d) : @expr var s -> @expr var d
- := let List_app A :=
- list_rect
- (fun _ => list (type.interp A) -> list (type.interp A))
- (fun m => m)
- (fun a l1 app_l1 m => a :: app_l1 m) in
- match idc in for_reification.ident s d return @expr var s -> @expr var d with
- | for_reification.ident.Let_In tx tC
- => AppIdent ident.Let_In
- | for_reification.ident.Nat_succ
- => AppIdent ident.Nat_succ
- | for_reification.ident.Nat_add
- => AppIdent ident.Nat_add
- | for_reification.ident.Nat_sub
- => AppIdent ident.Nat_sub
- | for_reification.ident.Nat_mul
- => AppIdent ident.Nat_mul
- | for_reification.ident.Nat_max
- => AppIdent ident.Nat_max
- | for_reification.ident.nil t
- => AppIdent ident.nil
- | for_reification.ident.cons t
- => AppIdent ident.cons
- | for_reification.ident.fst A B
- => AppIdent ident.fst
- | for_reification.ident.snd A B
- => AppIdent ident.snd
- | for_reification.ident.bool_rect T
- => AppIdent ident.bool_rect
- | for_reification.ident.nat_rect P
- => AppIdent ident.nat_rect
- | for_reification.ident.list_rect A P
- => AppIdent ident.list_rect
- | for_reification.ident.pred
- => AppIdent ident.pred
- | for_reification.ident.primitive t v
- => AppIdent (ident.primitive v)
- | for_reification.ident.Z_add
- => AppIdent ident.Z.add
- | for_reification.ident.Z_mul
- => AppIdent ident.Z.mul
- | for_reification.ident.Z_pow
- => AppIdent ident.Z.pow
- | for_reification.ident.Z_sub
- => AppIdent ident.Z.sub
- | for_reification.ident.Z_opp
- => AppIdent ident.Z.opp
- | for_reification.ident.Z_div
- => AppIdent ident.Z.div
- | for_reification.ident.Z_modulo
- => AppIdent ident.Z.modulo
- | for_reification.ident.Z_eqb
- => AppIdent ident.Z.eqb
- | for_reification.ident.Z_leb
- => AppIdent ident.Z.leb
- | for_reification.ident.Z_of_nat
- => AppIdent ident.Z.of_nat
- | for_reification.ident.Z_mul_split
- => AppIdent ident.Z.mul_split
- | for_reification.ident.Z_add_get_carry
- => AppIdent ident.Z.add_get_carry
- | for_reification.ident.Z_add_with_carry
- => AppIdent ident.Z.add_with_carry
- | for_reification.ident.Z_add_with_get_carry
- => AppIdent ident.Z.add_with_get_carry
- | for_reification.ident.Z_sub_get_borrow
- => AppIdent ident.Z.sub_get_borrow
- | for_reification.ident.Z_sub_with_get_borrow
- => AppIdent ident.Z.sub_with_get_borrow
- | for_reification.ident.Z_zselect
- => AppIdent ident.Z.zselect
- | for_reification.ident.Z_add_modulo
- => AppIdent ident.Z.add_modulo
- | for_reification.ident.Z_rshi
- => AppIdent ident.Z.rshi
- | for_reification.ident.Z_cc_m
- => AppIdent ident.Z.cc_m
- | for_reification.ident.list_case A P
- => ltac:(
- let v := reify
- (@expr var)
- (fun '((Pnil, Pcons, ls)
- : (unit -> type.interp P)
- * (type.interp A * list (type.interp A) -> type.interp P)
- * (list (type.interp A)))
- => list_rect
- (fun _ => type.interp P)
- (Pnil tt)
- (fun x xs _ => Pcons (x, xs))
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_length A
- => ltac:(
- let v := reify
- (@expr var)
- (fun (ls : list (type.interp A))
- => list_rect
- (fun _ => nat)
- 0%nat
- (fun a t len_t => S len_t)
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_seq
- => ltac:(
- let v
- :=
- reify
- (@expr var)
- (fun start_len : nat * nat
- => nat_rect
- (fun _ => nat -> list nat)
- (fun _ => nil)
- (fun len seq_len start => cons start (seq_len (S start)))
- (snd start_len) (fst start_len)) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_repeat A
- => ltac:(
- let v := reify
- (@expr var)
- (fun (xn : type.interp A * nat)
- => nat_rect
- (fun _ => list (type.interp A))
- nil
- (fun k repeat_k => cons (fst xn) repeat_k)
- (snd xn)) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_combine A B
- => ltac:(
- let v := reify
- (@expr var)
- (fun '((ls1, ls2) : list (type.interp A) * list (type.interp B))
- => list_rect
- (fun _ => list (type.interp B) -> list (type.interp A * type.interp B))
- (fun l' => nil)
- (fun x tl combine_tl rest
- => list_rect
- (fun _ => list (type.interp A * type.interp B))
- nil
- (fun y tl' _
- => (x, y) :: combine_tl tl')
- rest)
- ls1
- ls2) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_map A B
- => ltac:(
- let v := reify
- (@expr var)
- (fun '((f, ls) : (type.interp A -> type.interp B) * Datatypes.list (type.interp A))
- => list_rect
- (fun _ => list (type.interp B))
- nil
- (fun a t map_t => f a :: map_t)
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_flat_map A B
- => ltac:(
- let List_app := (eval cbv [List_app] in (List_app B)) in
- let v := reify
- (@expr var)
- (fun '((f, ls) : (type.interp A -> list (type.interp B)) * list (type.interp A))
- => list_rect
- (fun _ => list (type.interp B))
- nil
- (fun x t flat_map_t => List_app (f x) flat_map_t)
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_partition A
- => ltac:(
- let v := reify
- (@expr var)
- (fun '((f, ls) : (type.interp A -> bool) * list (type.interp A))
- => list_rect
- (fun _ => list (type.interp A) * list (type.interp A))%type
- (nil, nil)
- (fun x tl partition_tl
- => let g := fst partition_tl in
- let d := snd partition_tl in
- if f x then (x :: g, d) else (g, x :: d))
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_app A
- => ltac:(
- let List_app := (eval cbv [List_app] in (List_app A)) in
- let v := reify (@expr var) (fun '(ls1, ls2) => List_app ls1 ls2) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_rev A
- => ltac:(
- let List_app := (eval cbv [List_app] in (List_app A)) in
- let v := reify
- (@expr var)
- (fun ls
- => list_rect
- (fun _ => list (type.interp A))
- nil
- (fun x l' rev_l' => List_app rev_l' [x])
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_fold_right A B
- => ltac:(
- let v := reify
- (@expr var)
- (fun '((f, a0, ls)
- : (type.interp B * type.interp A -> type.interp A) * type.interp A * list (type.interp B))
- => list_rect
- (fun _ => type.interp A)
- a0
- (fun b t fold_right_t => f (b, fold_right_t))
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_update_nth T
- => ltac:(
- let v := reify
- (@expr var)
- (fun '((n, f, ls) : nat * (type.interp T -> type.interp T) * list (type.interp T))
- => nat_rect
- (fun _ => list (type.interp T) -> list (type.interp T))
- (fun ls
- => list_rect
- (fun _ => list (type.interp T))
- nil
- (fun x' xs' __ => f x' :: xs')
- ls)
- (fun n' update_nth_n' ls
- => list_rect
- (fun _ => list (type.interp T))
- nil
- (fun x' xs' __ => x' :: update_nth_n' xs')
- ls)
- n
- ls) in
- let v := app_and_maybe_cancel v in exact v)
- | for_reification.ident.List_nth_default T
- => AppIdent ident.List_nth_default
- (*ltac:(
- let v := reify
- var
- (fun (default : type.interp T) (l : list (type.interp T)) (n : nat)
- => nat_rect
- (fun _ => list (type.interp T) -> type.interp T)
- (list_rect
- (fun _ => type.interp T)
- default
- (fun x __ __ => x))
- (fun n nth_error_n
- => list_rect
- (fun _ => type.interp T)
- default
- (fun __ l __ => nth_error_n l))
- n
- l) in
- exact v)*)
- end%expr.
- End ident.
-
- Module expr.
- Section with_var.
- Context {var : type -> Type}.
-
- Fixpoint transfer {t} (e : @for_reification.Notations.expr var t)
- : @expr var t
- := match e with
- | Var t v => Var v
- | TT => TT
- | Pair A B a b => Pair (@transfer A a) (@transfer B b)
- | AppIdent s d idc args => @ident.transfer var s d idc (@transfer _ args)
- | App s d f x => App (@transfer _ f) (@transfer _ x)
- | Abs s d f => Abs (fun x => @transfer d (f x))
- end.
- End with_var.
-
- Definition Transfer {t} (e : for_reification.Notations.Expr t) : Expr t
- := fun var => transfer (e _).
- End expr.
- End canonicalize_list_recursion.
- Notation canonicalize_list_recursion := canonicalize_list_recursion.expr.Transfer.
- Export expr.
- Export expr.default.
- End Uncurried.
-
- Import Uncurried.
- Section invert.
- Context {var : type -> Type}.
-
- Definition invert_Var {t} (e : @expr var t) : option (var t)
- := match e with
- | Var t v => Some v
- | _ => None
- end.
-
- Local Notation if_arrow f
- := (fun t => match t return Type with
- | type.arrow s d => f s d
- | _ => True
- end) (only parsing).
- Local Notation if_arrow_s f := (if_arrow (fun s d => f s)) (only parsing).
- Local Notation if_arrow_d f := (if_arrow (fun s d => f d)) (only parsing).
- Local Notation if_prod f
- := (fun t => match t return Type with
- | type.prod A B => f A B
- | _ => True
- end).
-
- Definition invert_Abs {s d} (e : @expr var (type.arrow s d)) : option (var s -> @expr var d)
- := match e in expr.expr t return option (if_arrow (fun _ _ => _) t) with
- | Abs s d f => Some f
- | _ => None
- end.
-
- Definition invert_App {d} (e : @expr var d) : option { s : _ & @expr var (s -> d) * @expr var s }%type
- := match e with
- | App s d f x => Some (existT _ s (f, x))
- | _ => None
- end.
-
- Definition invert_AppIdent {d} (e : @expr var d) : option { s : _ & @ident s d * @expr var s }%type
- := match e with
- | AppIdent s d idc args
- => Some (existT _ s (idc, args))
- | _ => None
- end.
-
- Definition invert_App2 {d} (e : @expr var d) : option { s1s2 : _ * _ & @expr var (fst s1s2 -> snd s1s2 -> d) * @expr var (fst s1s2) * @expr var (snd s1s2) }%type
- := match invert_App e with
- | Some (existT s (f, y))
- => match invert_App f with
- | Some (existT s' (f', x))
- => Some (existT _ (s', s) (f', x, y))
- | None => None
- end
- | None => None
- end.
-
- Local Notation expr_prod
- := (fun t => match t return Type with
- | type.prod A B => prod (expr A) (expr B)
- | _ => True
- end) (only parsing).
-
- Definition invert_Pair {A B} (e : @expr var (type.prod A B)) : option (@expr var A * @expr var B)
- := match e in expr.expr t return option (if_prod (fun A B => expr A * expr B)%type t) with
- | Pair A B a b
- => Some (a, b)
- | _ => None
- end.
-
- Definition invert_or_expand_Pair {A B} (e : @expr var (type.prod A B)) : @expr var A * @expr var B
- := match invert_Pair e with
- | Some p => p
- | None => (ident.fst @@ e, ident.snd @@ e)
- end%core%expr.
-
- (* if we want more code for the below, I would suggest [reify_base_type] and [reflect_base_type] *)
- Definition reify_primitive {t} (v : type.interp (type.type_primitive t)) : @expr var (type.type_primitive t)
- := AppIdent (ident.primitive v) TT.
- Definition reflect_primitive {t} (e : @expr var (type.type_primitive t)) : option (type.interp (type.type_primitive t))
- := match invert_AppIdent e with
- | Some (existT s (idc, args))
- => match idc in ident _ t return option (type.interp t) with
- | ident.primitive _ v => Some v
- | _ => None
- end
- | None => None
- end.
- Definition invert_Z_opp (e : @expr var type.Z) : option (@expr var type.Z)
- := match invert_AppIdent e with
- | Some (existT s (idc, args))
- => match idc in ident s t return expr s -> option (expr type.Z) with
- | ident.Z_opp => fun v => Some v
- | _ => fun _ => None
- end args
- | None => None
- end.
-
- Definition invert_Z_cast (e : @expr var type.Z) : option (zrange * @expr var type.Z)
- := match invert_AppIdent e with
- | Some (existT s (idc, args))
- => match idc in ident s t return expr s -> option (zrange * expr type.Z) with
- | ident.Z_cast r => fun v => Some (r, v)
- | _ => fun _ => None
- end args
- | None => None
- end.
-
- Definition invert_Z_cast2 (e : @expr var (type.Z * type.Z)) : option ((zrange * zrange) * @expr var (type.Z * type.Z))
- := match invert_AppIdent e with
- | Some (existT s (idc, args))
- => match idc in ident s t return expr s -> option ((zrange * zrange) * expr (type.Z * type.Z)) with
- | ident.Z_cast2 r => fun v => Some (r, v)
- | _ => fun _ => None
- end args
- | None => None
- end.
-
- Local Notation list_expr
- := (fun t => match t return Type with
- | type.list T => list (expr T)
- | _ => True
- end) (only parsing).
-
- (* oh, the horrors of not being able to use non-linear deep pattern matches. c.f. COQBUG(https://github.com/coq/coq/issues/6320) *)
- Fixpoint reflect_list {t} (e : @expr var (type.list t))
- : option (list (@expr var t))
- := match e in expr.expr t return option (list_expr t) with
- | AppIdent s (type.list t) idc x_xs
- => match x_xs in expr.expr s return ident s (type.list t) -> option (list (expr t)) with
- | Pair A (type.list B) x xs
- => match @reflect_list B xs with
- | Some xs
- => fun idc
- => match idc in ident s d
- return if_prod (fun A B => expr A) s
- -> if_prod (fun A B => list_expr B) s
- -> option (list_expr d)
- with
- | ident.cons A
- => fun x xs => Some (cons x xs)
- | _ => fun _ _ => None
- end x xs
- | None => fun _ => None
- end
- | _
- => fun idc
- => match idc in ident _ t return option (list_expr t) with
- | ident.nil _ => Some nil
- | _ => None
- end
- end idc
- | _ => None
- end.
- End invert.
-
- Section gallina_reify.
- Context {var : type -> Type}.
- Definition reify_list {t} (ls : list (@expr var t)) : @expr var (type.list t)
- := list_rect
- (fun _ => _)
- (ident.nil @@ TT)%expr
- (fun x _ xs => ident.cons @@ (x, xs))%expr
- ls.
- End gallina_reify.
-
- Lemma interp_reify_list {t} ls
- : interp (@reify_list _ t ls) = List.map interp ls.
- Proof.
- unfold reify_list.
- induction ls as [|x xs IHxs]; cbn in *; [ reflexivity | ].
- rewrite IHxs; reflexivity.
- Qed.
-
- Module GallinaReify.
- Section value.
- Context (var : type -> Type).
- Fixpoint value (t : type)
- := match t return Type with
- | type.prod A B as t => value A * value B
- | type.arrow s d => var s -> value d
- | type.list A => list (value A)
- | type.type_primitive _ as t
- => type.interp t
- end%type.
- End value.
-
- Section reify.
- Context {var : type -> Type}.
- Fixpoint reify {t : type} {struct t}
- : value var t -> @expr var t
- := match t return value var t -> expr t with
- | type.prod A B as t
- => fun '((a, b) : value var A * value var B)
- => (@reify A a, @reify B b)%expr
- | type.arrow s d
- => fun (f : var s -> value var d)
- => Abs (fun x
- => @reify d (f x))
- | type.list A as t
- => fun x : list (value var A)
- => reify_list (List.map (@reify A) x)
- | type.type_primitive _ as t
- => fun x : type.interp t
- => (ident.primitive x @@ TT)%expr
- end.
- End reify.
-
- Definition Reify_as (t : type) (v : forall var, value var t) : Expr t
- := fun var => reify (v _).
-
- (** [Reify] does Ltac type inference to get the type *)
- Notation Reify v
- := (Reify_as (type.reify_type_of v) (fun _ => v)) (only parsing).
- End GallinaReify.
-
- Module Uncurry.
- Module type.
- Fixpoint uncurried_domain (t : type) : type
- := match t with
- | type.arrow s d
- => match d with
- | type.arrow _ _
- => s * uncurried_domain d
- | _ => s
- end
- | _ => type.type_primitive type.unit
- end%ctype.
-
- Definition uncurry (t : type) : type
- := type.arrow (uncurried_domain t) (type.final_codomain t).
- End type.
-
- Fixpoint app_curried {t : type}
- : type.interp t -> type.interp (type.uncurried_domain t) -> type.interp (type.final_codomain t)
- := match t return type.interp t -> type.interp (type.uncurried_domain t) -> type.interp (type.final_codomain t) with
- | type.arrow s d
- => match d
- return (type.interp d -> type.interp (type.uncurried_domain d) -> type.interp (type.final_codomain d))
- -> type.interp (type.arrow s d)
- -> type.interp (type.uncurried_domain (type.arrow s d))
- -> type.interp (type.final_codomain d)
- with
- | type.arrow _ _ as d
- => fun app_curried_d
- (f : type.interp s -> type.interp d)
- (x : type.interp s * type.interp (type.uncurried_domain d))
- => app_curried_d (f (fst x)) (snd x)
- | d
- => fun _
- (f : type.interp s -> type.interp d)
- (x : type.interp s)
- => f x
- end (@app_curried d)
- | _ => fun f _ => f
- end.
-
- Module expr.
- Section with_var.
- Context {var : type -> Type}.
-
- Fixpoint uncurry' {t}
- : @expr (@expr var) t -> @expr var (type.uncurried_domain t) -> @expr var (type.final_codomain t)
- := match t return expr t -> expr (type.uncurried_domain t) -> expr (type.final_codomain t) with
- | type.arrow s d
- => fun e
- => let f := fun v
- => @uncurry'
- d
- match invert_Abs e with
- | Some f => f v
- | None => e @ Var v
- end%expr in
- match d return (expr s -> expr (type.uncurried_domain d) -> expr (type.final_codomain d)) -> expr (type.uncurried_domain (s -> d)) -> expr (type.final_codomain d) with
- | type.arrow _ _ as d
- => fun f sdv
- => f (ident.fst @@ sdv) (ident.snd @@ sdv)
- | _
- => fun f sv => f sv TT
- end f
- | type.type_primitive _
- | type.prod _ _
- | type.list _
- => fun e _ => unexpr e
- end%expr.
-
- Definition uncurry {t} (e : @expr (@expr var) t)
- : @expr var (type.uncurry t)
- := Abs (fun v => @uncurry' t e (Var v)).
- End with_var.
-
- Definition Uncurry {t} (e : Expr t) : Expr (type.uncurry t)
- := fun var => uncurry (e _).
- End expr.
- End Uncurry.
-
- Module CPS.
- Import Uncurried.
- Module Import Output.
- Module type.
- Import Compilers.type.
- Inductive type := type_primitive (_:primitive) | prod (A B : type) | continuation (A : type) | list (A : type).
- Module Export Coercions.
- Global Coercion type_primitive : primitive >-> type.
- End Coercions.
-
- Module Export Notations.
- Export Coercions.
- Delimit Scope cpstype_scope with cpstype.
- Bind Scope cpstype_scope with type.
- Notation "()" := unit : cpstype_scope.
- Notation "A * B" := (prod A B) : cpstype_scope.
- Notation "A --->" := (continuation A) : cpstype_scope.
- Notation type := type.
- End Notations.
-
- Section interp.
- Context (R : Type).
- (** denote CPS types *)
- Fixpoint interp (t : type)
- := match t return Type with
- | type_primitive t => Compilers.type.interp t
- | prod A B => interp A * interp B
- | continuation A => interp A -> R
- | list A => Datatypes.list (interp A)
- end%type.
- End interp.
- End type.
- Export type.Notations.
-
- Module expr.
- Section expr.
- Context {ident : type -> Type} {var : type -> Type} {R : type}.
-
- Inductive expr :=
- | Halt (v : var R)
- | App {A} (f : var (A --->)) (x : var A)
- | Bind {A} (x : primop A) (f : var A -> expr)
- with
- primop : type -> Type :=
- | Var {t} (v : var t) : primop t
- | Abs {t} (f : var t -> expr) : primop (t --->)
- | Pair {A B} (x : var A) (y : var B) : primop (A * B)
- | Fst {A B} (x : var (A * B)) : primop A
- | Snd {A B} (x : var (A * B)) : primop B
- | TT : primop ()
- | Ident {t} (idc : ident t) : primop t.
- End expr.
- Global Arguments expr {ident var} R.
- Global Arguments primop {ident var} R _.
-
- Definition Expr {ident : type -> Type} R := forall var, @expr ident var R.
-
- Section with_ident.
- Context {ident : type -> Type}
- (r : type)
- (R : Type)
- (interp_ident
- : forall t, ident t -> type.interp R t).
-
- (** denote CPS exprs *)
- Fixpoint interp (e : @expr ident (type.interp R) r) (k : type.interp R r -> R)
- {struct e}
- : R
- := match e with
- | Halt v => k v
- | App A f x => f x
- | Bind A x f => interp (f (@interp_primop _ x k)) k
- end
- with interp_primop {t} (e : @primop ident (type.interp R) r t) (k : type.interp R r -> R)
- {struct e}
- : type.interp R t
- := match e with
- | Var t v => v
- | Abs t f => fun x : type.interp _ t => interp (f x) k
- | Pair A B x y => (x, y)
- | Fst A B x => fst x
- | Snd A B x => snd x
- | TT => tt
- | Ident t idc => interp_ident t idc
- end.
-
- Definition Interp (e : Expr r) (k : type.interp R r -> R) : R := interp (e _) k.
- End with_ident.
-
- Module Export Notations.
- Delimit Scope cpsexpr_scope with cpsexpr.
- Bind Scope cpsexpr_scope with expr.
- Bind Scope cpsexpr_scope with primop.
-
- Infix "@" := App : cpsexpr_scope.
- Notation "v <- x ; f" := (Bind x (fun v => f)) : cpsexpr_scope.
- Notation "'λ' x .. y , t" := (Abs (fun x => .. (Abs (fun y => t%cpsexpr)) ..)) : cpsexpr_scope.
- Notation "( x , y , .. , z )" := (Pair .. (Pair x%cpsexpr y%cpsexpr) .. z%cpsexpr) : cpsexpr_scope.
- Notation "( )" := TT : cpsexpr_scope.
- Notation "()" := TT : cpsexpr_scope.
- End Notations.
- End expr.
- Export expr.Notations.
- End Output.
-
- Module type.
- Section translate.
- Fixpoint translate (t : Compilers.type.type) : type
- := match t with
- | A * B => (translate A * translate B)%cpstype
- | s -> d => (translate s * (translate d --->) --->)%cpstype
- | Compilers.type.list A => type.list (translate A)
- | Compilers.type.type_primitive t
- => t
- end%ctype.
- Fixpoint untranslate (R : Compilers.type.type) (t : type)
- : Compilers.type.type
- := match t with
- | type.type_primitive t => t
- | A * B => (untranslate R A * untranslate R B)%ctype
- | (t --->)
- => (untranslate R t -> R)%ctype
- | type.list A => Compilers.type.list (untranslate R A)
- end%cpstype.
- End translate.
- End type.
-
- Module expr.
- Import Output.expr.
- Import Output.expr.Notations.
- Import Compilers.type.
- Import Compilers.Uncurried.expr.
- Section with_ident.
- Context {ident : Output.type.type -> Type}
- {ident' : type -> type -> Type}
- {var : Output.type.type -> Type}
- (translate_ident : forall s d, ident' s d -> ident (type.translate (s -> d))).
- Notation var' := (fun t => var (type.translate t)).
- Local Notation oexpr := (@Output.expr.expr ident var).
-
- Section splice.
- Context {r1 r2 : Output.type.type}.
- Fixpoint splice (e1 : oexpr r1) (e2 : var r1 -> oexpr r2)
- {struct e1}
- : oexpr r2
- := match e1 with
- | Halt v => e2 v
- | f @ x => f @ x
- | Bind A x f => v <- @splice_primop _ x e2; @splice (f v) e2
- end%cpsexpr
- with
- splice_primop {t} (f : @primop ident var r1 t) (e2 : var r1 -> oexpr r2)
- {struct f}
- : @primop ident var r2 t
- := match f with
- | Output.expr.Var t v => Output.expr.Var v
- | Output.expr.Pair A B x y as e => Output.expr.Pair x y
- | Output.expr.Fst A B x => Output.expr.Fst x
- | Output.expr.Snd A B x => Output.expr.Snd x
- | Output.expr.TT => Output.expr.TT
- | Output.expr.Ident t idc => Output.expr.Ident idc
- | Output.expr.Abs t f
- => Output.expr.Abs (fun x => @splice (f x) e2)
- end.
- End splice.
-
- Local Notation "x <-- e1 ; e2" := (splice e1 (fun x => e2%cpsexpr)) : cpsexpr_scope.
-
- (** Note: We used to special-case [bool_rect] because
- reduction of the bodies of eliminators should block on the
- branching. We would like to just write:
-
-<<
-| AppIdent (A * A * type.bool) A ident.bool_rect (Ptrue, Pfalse, b)
- => b' <-- @translate _ b;
- App_bool_rect (@translate _ Ptrue) (@translate _ Pfalse) b'
-| AppIdent s d idc args
- => args' <-- @translate _ args;
- k <- Output.expr.Abs (fun r => Halt r);
- p <- (args', k);
- f <- Output.expr.Ident (translate_ident s d idc);
- f @ p
->>
- but due do deficiencies in non-linear deep pattern
- matching (and the fact that we're generic over the type of
- identifiers), we cannot, and must write something
- significantly more verbose. Because this is so painful,
- we do not special-case [nat_rect] nor [list_rect], which
- anyway do not need special casing except in cases where
- they never hit the base case; it is already the case that
- functions get a sort of "free pass" and do get evaluated
- until applied to arguments, and the base case ought to be
- hit exactly once.
-
- However, now that [bool_rect]'s arguments are thunked, we
- no longer need to do this. *)
- Fixpoint translate {t}
- (e : @Compilers.Uncurried.expr.expr ident' var' t)
- : @Output.expr.expr ident var (type.translate t)
- := match e with
- | Var t v => Halt v
- | TT => x <- () ; Halt x
- | AppIdent s d idc args
- => (args' <-- @translate _ args;
- k <- Output.expr.Abs (fun r => Halt r);
- p <- (args', k);
- f <- Output.expr.Ident (translate_ident s d idc);
- f @ p)
- | Pair A B a b
- => (a' <-- @translate _ a;
- b' <-- @translate _ b;
- p <- (a', b');
- Halt p)
- | App s d e1 e2
- => (f <-- @translate _ e1;
- x <-- @translate _ e2;
- k <- Output.expr.Abs (fun r => Halt r);
- p <- (x, k);
- f @ p)
- | Abs s d f
- => f <- (Output.expr.Abs
- (fun p
- => x <- Fst p;
- k <- Snd p;
- r <-- @translate _ (f x);
- k @ r));
- Halt f
- end%cpsexpr.
- End with_ident.
-
- Definition Translate
- {ident : Output.type.type -> Type}
- {ident' : type -> type -> Type}
- (translate_ident : forall s d, ident' s d -> ident (type.translate (s -> d)))
- {t} (e : @Compilers.Uncurried.expr.Expr ident' t)
- : @Output.expr.Expr ident (type.translate t)
- := fun var => translate translate_ident (e _).
-
- Section call_with_cont.
- Context {ident' : Output.type.type -> Type}
- {ident : type -> type -> Type}
- {var : type -> Type}
- {r : Output.type.type}
- {R : type}.
- Notation ucexpr := (@Compilers.Uncurried.expr.expr ident var).
- Notation ucexprut t := (ucexpr (type.untranslate R t)) (only parsing).
- Notation var' := (fun t => ucexprut t).
- Context (untranslate_ident : forall t, ident' t -> ucexprut t)
- (ifst : forall A B, ident (A * B)%ctype A)
- (isnd : forall A B, ident (A * B)%ctype B).
-
- Fixpoint call_with_continuation
- (e : @Output.expr.expr ident' var' r)
- (k : ucexprut r -> ucexpr R)
- {struct e}
- : ucexpr R
- := match e with
- | Halt v => k v
- | expr.App A f x
- => @App _ _ (type.untranslate R A) R
- f x
- | Bind A x f
- => @call_with_continuation
- (f (@call_primop_with_continuation A x k))
- k
- end%expr
- with
- call_primop_with_continuation
- {t}
- (e : @Output.expr.primop ident' var' r t)
- (k : ucexprut r -> ucexpr R)
- {struct e}
- : ucexprut t
- := match e in Output.expr.primop _ t return ucexprut t with
- | expr.Var t v => v
- | expr.Abs t f => Abs (fun x : var (type.untranslate _ _)
- => @call_with_continuation
- (f (Var x)) k)
- | expr.Pair A B x y => (x, y)
- | Fst A B x => ifst (type.untranslate _ A) (type.untranslate _ B)
- @@ x
- | Snd A B x => isnd (type.untranslate _ A) (type.untranslate _ B)
- @@ x
- | expr.TT => TT
- | Ident t idc => untranslate_ident t idc
- end%expr.
- End call_with_cont.
-
- Definition CallWithContinuation
- {ident' : Output.type.type -> Type}
- {ident : type -> type -> Type}
- {R : type}
- (untranslate_ident : forall t, ident' t -> @Compilers.Uncurried.expr.Expr ident (type.untranslate R t))
- (ifst : forall A B, ident (A * B)%ctype A)
- (isnd : forall A B, ident (A * B)%ctype B)
- {t} (e : @Output.expr.Expr ident' t)
- (k : forall var, @Uncurried.expr.expr ident var (type.untranslate R t) -> @Uncurried.expr.expr ident var R)
- : @Compilers.Uncurried.expr.Expr ident R
- := fun var => call_with_continuation
- (fun t idc => untranslate_ident t idc _) ifst isnd (e _) (k _).
- End expr.
-
- Module ident.
- Import CPS.Output.type.
-
- Inductive ident : type -> Set :=
- | wrap {s d} (idc : Uncurried.expr.default.ident s d) : ident (type.translate (s -> d)).
-
- Notation cps_of f
- := (fun x k => k (f x)).
- Notation curry0 f
- := (fun 'tt => f).
- Notation curry2 f
- := (fun '(a, b) => f a b).
- Notation curry3 f
- := (fun '(a, b, c) => f a b c).
- Notation uncurry2 f
- := (fun a b => f (a, b)).
- Notation uncurry3 f
- := (fun a b c => f (a, b, c)).
- Notation curry3_23 f
- := (fun '(a, b, c) => f a (uncurry3 b) c).
- Notation curry3_2 f
- := (fun '(a, b, c) => f a (uncurry2 b) c).
-
- (** denote CPS identifiers *)
- Definition interp {R} {t} (idc : ident t) : type.interp R t
- := match idc in ident t return type.interp R t with
- | wrap s d idc
- => fun '((x, k) : type.interp R (type.translate s) * (type.interp R (type.translate d) -> R))
- =>
- match idc in Uncurried.expr.default.ident s d return type.interp R (type.translate s) -> (type.interp R (type.translate d) -> R) -> R with
- | ident.primitive _ _ as idc
- | ident.Nat_succ as idc
- | ident.Nat_add as idc
- | ident.Nat_sub as idc
- | ident.Nat_mul as idc
- | ident.Nat_max as idc
- | ident.pred as idc
- | ident.Z_shiftr _ as idc
- | ident.Z_shiftl _ as idc
- | ident.Z_land _ as idc
- | ident.Z_add as idc
- | ident.Z_mul as idc
- | ident.Z_pow as idc
- | ident.Z_sub as idc
- | ident.Z_opp as idc
- | ident.Z_div as idc
- | ident.Z_modulo as idc
- | ident.Z_eqb as idc
- | ident.Z_leb as idc
- | ident.Z_of_nat as idc
- | ident.Z_mul_split as idc
- | ident.Z_add_get_carry as idc
- | ident.Z_add_with_carry as idc
- | ident.Z_add_with_get_carry as idc
- | ident.Z_sub_with_get_borrow as idc
- | ident.Z_sub_get_borrow as idc
- | ident.Z_zselect as idc
- | ident.Z_add_modulo as idc
- | ident.Z_rshi as idc
- | ident.Z_cc_m as idc
- | ident.Z_cast _ as idc
- | ident.Z_cast2 _ as idc
- => cps_of (Uncurried.expr.default.ident.interp idc)
- | ident.Z_mul_split_concrete s
- => cps_of (curry2 (Z.mul_split s))
- | ident.Z_add_get_carry_concrete s
- => cps_of (curry2 (Z.add_get_carry_full s))
- | ident.Z_add_with_get_carry_concrete s
- => cps_of (curry3 (Z.add_with_get_carry_full s))
- | ident.Z_sub_get_borrow_concrete s
- => cps_of (curry2 (Z.sub_get_borrow_full s))
- | ident.Z_sub_with_get_borrow_concrete s
- => cps_of (curry3 (Z.sub_with_get_borrow_full s))
- | ident.Z_rshi_concrete s n
- => cps_of (curry2 (fun x y => Z.rshi s x y n))
- | ident.Z_cc_m_concrete s
- => cps_of (Z.cc_m s)
- | ident.Let_In tx tC
- => fun '((x, f) : (interp R (type.translate tx)
- * (interp R (type.translate tx) * (interp R (type.translate tC) -> R) -> R)))
- (k : interp R (type.translate tC) -> R)
- => @LetIn.Let_In
- (type.interp R (type.translate tx)) (fun _ => R)
- x
- (fun v => f (v, k))
- | ident.nil t
- => cps_of (curry0 (@Datatypes.nil (interp R (type.translate t))))
- | ident.cons t
- => cps_of (curry2 (@Datatypes.cons (interp R (type.translate t))))
- | ident.fst A B
- => cps_of (@Datatypes.fst (interp R (type.translate A)) (interp R (type.translate B)))
- | ident.snd A B
- => cps_of (@Datatypes.snd (interp R (type.translate A)) (interp R (type.translate B)))
- | ident.bool_rect T
- => fun '((tc, fc, b) :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) ((unit * (type.interp R (type.translate T) -> R) -> R) * (unit * (type.interp R (type.translate T) -> R) -> R) * bool))
- k
- => @Datatypes.bool_rect
- (fun _ => R)
- (tc (tt, k))
- (fc (tt, k))
- b
- | ident.nat_rect P
- => fun '((PO, PS, n) :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) ((unit * (interp R (type.translate P) -> R) -> R) * (nat * interp R (type.translate P) * (interp R (type.translate P) -> R) -> R) * nat))
- k
- => @Datatypes.nat_rect
- (fun _ => (interp R (type.translate P) -> R) -> R)
- (fun k => PO (tt, k))
- (fun n' rec k
- => rec (fun rec => PS (n', rec, k)))
- n
- k
- | ident.list_rect A P
- => fun '((Pnil, Pcons, ls) :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) ((unit * (interp R (type.translate P) -> R) -> R) * (interp R (type.translate A) * Datatypes.list (interp R (type.translate A)) * interp R (type.translate P) * (interp R (type.translate P) -> R) -> R) * Datatypes.list (interp R (type.translate A))))
- k
- => @Datatypes.list_rect
- (interp R (type.translate A))
- (fun _ => (interp R (type.translate P) -> R) -> R)
- (fun k => Pnil (tt, k))
- (fun x xs rec k
- => rec (fun rec => Pcons (x, xs, rec, k)))
- ls
- k
- | ident.List_nth_default T
- => cps_of (curry3 (@List.nth_default (interp R (type.translate T))))
- | ident.List_nth_default_concrete T d n
- => cps_of (fun ls => @List.nth_default (interp R (type.translate T)) d ls n)
- end x k
- end.
-
- Local Notation var_eta x := (ident.fst @@ x, ident.snd @@ x)%core%expr.
-
- Definition untranslate {R} {t} (idc : ident t)
- : @Compilers.Uncurried.expr.Expr Uncurried.expr.default.ident (type.untranslate R t)
- := fun var
- => match idc in ident t return @Compilers.Uncurried.expr.expr Uncurried.expr.default.ident var (type.untranslate R t) with
- | wrap s d idc
- =>
- match idc in default.ident s d return @Compilers.Uncurried.expr.expr Uncurried.expr.default.ident var (type.untranslate R (type.translate (s -> d))) with
- | ident.primitive t v
- => λ (_k :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (() * (t -> R))%ctype) ,
- (ident.snd @@ (Var _k))
- @ (ident.primitive v @@ TT)
- | ident.Let_In tx tC
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.untranslate _ (type.translate tx) * (type.untranslate _ (type.translate tx) * (type.untranslate _ (type.translate tC) -> R) -> R) * (type.untranslate _ (type.translate tC) -> R))%ctype) ,
- ident.Let_In
- @@ (ident.fst @@ (ident.fst @@ (Var xyk)),
- (λ (x :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.untranslate _ (type.translate tx))) ,
- (ident.snd @@ (ident.fst @@ (Var xyk)))
- @ (Var x, ident.snd @@ Var xyk)))
- | ident.nat_rect P
- => λ (PO_PS_n_k :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var ((Compilers.type.type_primitive ()%cpstype * (type.untranslate R (type.translate P) -> R) -> R) * (Compilers.type.type_primitive type.nat * type.untranslate R (type.translate P) * (type.untranslate R (type.translate P) -> R) -> R) * Compilers.type.type_primitive type.nat * (type.untranslate R (type.translate P) -> R))%ctype) ,
- let (PO_PS_n, k) := var_eta (Var PO_PS_n_k) in
- let (PO_PS, n) := var_eta PO_PS_n in
- let (PO, PS) := var_eta PO_PS in
- ((@ident.nat_rect ((type.untranslate _ (type.translate P) -> R) -> R))
- @@ ((λ tt k , PO @ (Var tt, Var k)),
- (λ n'rec k ,
- let (n', rec) := var_eta (Var n'rec) in
- rec @ (λ rec , PS @ (n', Var rec, Var k))),
- n))
- @ k
- | ident.list_rect A P
- => λ (Pnil_Pcons_ls_k :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var ((Compilers.type.type_primitive ()%cpstype * (type.untranslate R (type.translate P) -> R) -> R) * (type.untranslate R (type.translate A) * Compilers.type.list (type.untranslate R (type.translate A)) * type.untranslate R (type.translate P) * (type.untranslate R (type.translate P) -> R) -> R) * Compilers.type.list (type.untranslate R (type.translate A)) * (type.untranslate R (type.translate P) -> R))%ctype) ,
- let (Pnil_Pcons_ls, k) := var_eta (Var Pnil_Pcons_ls_k) in
- let (Pnil_Pcons, ls) := var_eta Pnil_Pcons_ls in
- let (Pnil, Pcons) := var_eta Pnil_Pcons in
- ((@ident.list_rect
- (type.untranslate _ (type.translate A))
- ((type.untranslate _ (type.translate P) -> R) -> R))
- @@ ((λ tt k, Pnil @ (Var tt, Var k)),
- (λ x_xs_rec k,
- let (x_xs, rec) := var_eta (Var x_xs_rec) in
- let (x, xs) := var_eta x_xs in
- rec @ (λ rec , Pcons @ (x, xs, Var rec, Var k))),
- ls))
- @ k
- | ident.List_nth_default T
- => λ (xyzk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.untranslate _ (type.translate T) * Compilers.type.list (type.untranslate _ (type.translate T)) * type.nat * (type.untranslate _ (type.translate T) -> R))%ctype) ,
- (ident.snd @@ Var xyzk)
- @ (ident.List_nth_default @@ (ident.fst @@ Var xyzk))
- | ident.List_nth_default_concrete T d n
- => λ (xk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (Compilers.type.list (type.untranslate R (type.translate T)) * (type.untranslate R (type.translate T) -> R))%ctype) ,
- (ident.snd @@ Var xk)
- @ (ident.List_nth_default_concrete d n @@ (ident.fst @@ Var xk))
- | ident.bool_rect T
- => λ (xyzk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var ((Compilers.type.type_primitive ()%cpstype * (type.untranslate R (type.translate T) -> R) -> R) * (Compilers.type.type_primitive ()%cpstype * (type.untranslate R (type.translate T) -> R) -> R) * Compilers.type.type_primitive type.bool * (type.untranslate R (type.translate T) -> R))%ctype) ,
- ident.bool_rect
- @@ ((λ tt,
- (ident.fst @@ (ident.fst @@ (ident.fst @@ (Var xyzk))))
- @ (Var tt, (ident.snd @@ (Var xyzk)))),
- (λ tt,
- (ident.snd @@ (ident.fst @@ (ident.fst @@ (Var xyzk))))
- @ (Var tt, (ident.snd @@ (Var xyzk)))),
- ident.snd @@ (ident.fst @@ (Var xyzk)))
- | ident.nil t
- => λ (_k :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (() * (Compilers.type.list (type.untranslate _ (type.translate t)) -> R))%ctype) ,
- (ident.snd @@ (Var _k))
- @ (ident.nil @@ TT)
- | ident.cons t
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.untranslate _ (type.translate t) * Compilers.type.list (type.untranslate _ (type.translate t)) * (Compilers.type.list (type.untranslate _ (type.translate t)) -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ (ident.cons
- @@ (ident.fst @@ (Var xyk)))
- | ident.fst A B
- => λ (xk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.untranslate _ (type.translate A) * type.untranslate _ (type.translate B) * (type.untranslate _ (type.translate A) -> R))%ctype) ,
- (ident.snd @@ (Var xk))
- @ (ident.fst
- @@ (ident.fst @@ (Var xk)))
- | ident.snd A B
- => λ (xk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.untranslate _ (type.translate A) * type.untranslate _ (type.translate B) * (type.untranslate _ (type.translate B) -> R))%ctype) ,
- (ident.snd @@ (Var xk))
- @ (ident.snd
- @@ (ident.fst @@ (Var xk)))
- | ident.Nat_succ as idc
- | ident.pred as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.nat * (type.nat -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.nat)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Nat_add as idc
- | ident.Nat_sub as idc
- | ident.Nat_mul as idc
- | ident.Nat_max as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.nat * type.nat * (type.nat -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.nat)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_shiftr _ as idc
- | ident.Z_shiftl _ as idc
- | ident.Z_land _ as idc
- | ident.Z_opp as idc
- | ident.Z_cast _ as idc
- | ident.Z.cc_m_concrete _ as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * (type.Z -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.Z)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_add as idc
- | ident.Z_mul as idc
- | ident.Z_sub as idc
- | ident.Z_pow as idc
- | ident.Z_div as idc
- | ident.Z_modulo as idc
- | ident.Z.cc_m as idc
- | ident.Z_rshi_concrete _ _ as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * (type.Z -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.Z)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_eqb as idc
- | ident.Z_leb as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * (type.bool -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.bool)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_of_nat as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.nat * (type.Z -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.Z)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_mul_split as idc
- | ident.Z_add_get_carry as idc
- | ident.Z_sub_get_borrow as idc
- | ident.Z_add_with_get_carry_concrete _ as idc
- | ident.Z_sub_with_get_borrow_concrete _ as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * type.Z * ((type.Z * type.Z) -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ (type.Z * type.Z))
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_cast2 _ as idc
- | ident.Z_mul_split_concrete _ as idc
- | ident.Z_add_get_carry_concrete _ as idc
- | ident.Z_sub_get_borrow_concrete _ as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * ((type.Z * type.Z) -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ (type.Z * type.Z))
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_add_with_carry as idc
- | ident.Z_zselect as idc
- | ident.Z_add_modulo as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * type.Z * (type.Z -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.Z)
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_add_with_get_carry as idc
- | ident.Z_sub_with_get_borrow as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * type.Z * type.Z * ((type.Z * type.Z) -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ (type.Z * type.Z))
- @@ (ident.fst @@ (Var xyk)))
- | ident.Z_rshi as idc
- => λ (xyk :
- (* ignore this line; it's to work around lack of fixpoint refolding in type inference *) var (type.Z * type.Z * type.Z * type.Z * (type.Z -> R))%ctype) ,
- (ident.snd @@ (Var xyk))
- @ ((idc : default.ident _ type.Z)
- @@ (ident.fst @@ (Var xyk)))
- end%expr
- end.
- End ident.
- Notation ident := ident.ident.
-
- Module default.
- Notation expr := (@Output.expr.expr ident).
- Notation Expr := (@Output.expr.Expr ident).
-
- Definition Translate
- {t} (e : @Compilers.Uncurried.expr.default.Expr t)
- : Expr (type.translate t)
- := expr.Translate (@ident.wrap) e.
-
- Definition call_with_continuation
- {var}
- {R : Compilers.type.type}
- {t} (e : @expr _ t)
- (k : @Uncurried.expr.default.expr var (type.untranslate R t) -> @Uncurried.expr.default.expr var R)
- : @Compilers.Uncurried.expr.default.expr var R
- := expr.call_with_continuation (fun t idc => @ident.untranslate _ t idc _) (@ident.fst) (@ident.snd) e k.
-
- Definition CallWithContinuation
- {R : Compilers.type.type}
- {t} (e : Expr t)
- (k : forall var, @Uncurried.expr.default.expr var (type.untranslate R t) -> @Uncurried.expr.default.expr var R)
- : @Compilers.Uncurried.expr.default.Expr R
- := expr.CallWithContinuation (@ident.untranslate _) (@ident.fst) (@ident.snd) e k.
-
- Local Notation iffT A B := ((A -> B) * (B -> A))%type.
- (** We can only "plug in the identity continuation" for flat
- (arrow-free) types. (Actually, we know how to do it in a
- very ad-hoc way for types of at-most second-order functions;
- see git history. This is much simpler.) *)
- Fixpoint try_untranslate_translate {R} {t}
- : option (forall (P : Compilers.type.type -> Type),
- iffT (P (type.untranslate R (type.translate t))) (P t))
- := match t return option (forall (P : Compilers.type.type -> Type),
- iffT (P (type.untranslate R (type.translate t))) (P t)) with
- | Compilers.type.type_primitive x
- => Some (fun P => ((fun v => v), (fun v => v)))
- | type.arrow s d => None
- | Compilers.type.prod A B
- => (fA <- (@try_untranslate_translate _ A);
- fB <- (@try_untranslate_translate _ B);
- Some
- (fun P
- => let fA := fA (fun A => P (Compilers.type.prod A (type.untranslate R (type.translate B)))) in
- let fB := fB (fun B => P (Compilers.type.prod A B)) in
- ((fun v => fst fB (fst fA v)),
- (fun v => snd fA (snd fB v)))))%option
- | Compilers.type.list A
- => (fA <- (@try_untranslate_translate R A);
- Some (fun P => fA (fun A => P (Compilers.type.list A))))%option
- end.
-
- Local Notation "x <-- e1 ; e2" := (expr.splice e1 (fun x => e2%cpsexpr)) : cpsexpr_scope.
-
- Definition call_fun_with_id_continuation'
- {s d}
- : option (forall var
- (e : @expr _ (type.translate (s -> d))),
- @Compilers.Uncurried.expr.default.expr var (s -> d))
- := (fs <- (@try_untranslate_translate _ s);
- fd <- (@try_untranslate_translate _ d);
- Some
- (fun var e
- => let P := @Compilers.Uncurried.expr.default.expr var in
- Abs
- (fun v : var s
- => call_with_continuation
- ((f <-- e;
- k <- (λ r, expr.Halt r);
- p <- (snd (fs P) (Var v), k);
- f @ p)%cpsexpr)
- (fst (fd P)))))%option.
-
- Definition call_fun_with_id_continuation
- {var}
- {s d} (e : @expr _ (type.translate (s -> d)))
- : option (@Compilers.Uncurried.expr.default.expr var (s -> d))
- := option_map
- (fun f => f _ e)
- (@call_fun_with_id_continuation' s d).
-
- Definition CallFunWithIdContinuation
- {s d}
- (e : Expr (type.translate (s -> d)))
- : option (@Compilers.Uncurried.expr.default.Expr (s -> d))
- := option_map
- (fun f var => f _ (e _))
- (@call_fun_with_id_continuation' s d).
- End default.
- Include default.
- End CPS.
-
- Module ZRange.
- Module type.
- Module primitive.
- (** turn a [type.primitive] into a [Set] describing the type
- of bounds on that primitive *)
- Definition interp (t : type.primitive) : Set
- := match t with
- | type.unit => unit
- | type.Z => zrange
- | type.nat => unit
- | type.bool => unit
- end.
- Definition is_neg {t} : interp t -> bool
- := match t with
- | type.Z => fun r => (lower r <? 0) && (upper r <=? 0)
- | _ => fun _ => false
- end.
- Definition is_tighter_than {t} : interp t -> interp t -> bool
- := match t with
- | type.Z => is_tighter_than_bool
- | type.unit
- | type.nat
- | type.bool
- => fun _ _ => true
- end.
- Definition is_bounded_by {t} : interp t -> type.interp t -> bool
- := match t with
- | type.Z => fun r z => (lower r <=? z) && (z <=? upper r)
- | type.unit
- | type.nat
- | type.bool
- => fun _ _ => true
- end.
- Module option.
- (** turn a [type.primitive] into a [Set] describing the type
- of optional bounds on that primitive; bounds on a [Z]
- may be either a range, or [None], generally indicating
- that the [Z] is unbounded. *)
- Definition interp (t : type.primitive) : Set
- := match t with
- | type.unit => unit
- | type.Z => option zrange
- | type.nat => unit
- | type.bool => unit
- end.
- Definition None {t} : interp t
- := match t with
- | type.Z => None
- | _ => tt
- end.
- Definition Some {t} : primitive.interp t -> interp t
- := match t with
- | type.Z => Some
- | _ => id
- end.
- Definition is_neg {t} : interp t -> bool
- := match t with
- | type.Z => fun v => match v with
- | Datatypes.Some v => @is_neg type.Z v
- | Datatypes.None => false
- end
- | t => @primitive.is_neg t
- end.
- Definition is_tighter_than {t} : interp t -> interp t -> bool
- := match t with
- | type.Z
- => fun r1 r2
- => match r1, r2 with
- | _, Datatypes.None => true
- | Datatypes.None, Datatypes.Some _ => false
- | Datatypes.Some r1, Datatypes.Some r2 => is_tighter_than (t:=type.Z) r1 r2
- end
- | t => @is_tighter_than t
- end.
- Definition is_bounded_by {t} : interp t -> type.interp t -> bool
- := match t with
- | type.Z
- => fun r
- => match r with
- | Datatypes.Some r => @is_bounded_by type.Z r
- | Datatypes.None => fun _ => true
- end
- | t => @is_bounded_by t
- end.
- End option.
- End primitive.
- (** turn a [type] into a [Set] describing the type of bounds on
- that type; this lifts [primitive.interp] from
- [type.primitive] to [type] *)
- Fixpoint interp (t : type) : Set
- := match t with
- | type.type_primitive x => primitive.interp x
- | type.prod A B => interp A * interp B
- | type.arrow s d => interp s -> interp d
- | type.list A => list (interp A)
- end.
- Fixpoint is_tighter_than {t} : interp t -> interp t -> bool
- := match t with
- | type.type_primitive x => @primitive.is_tighter_than x
- | type.prod A B
- => fun '((ra, rb) : interp A * interp B)
- '((ra', rb') : interp A * interp B)
- => @is_tighter_than A ra ra' && @is_tighter_than B rb rb'
- | type.arrow s d => fun _ _ => false
- | type.list A
- => fold_andb_map (@is_tighter_than A)
- end.
- Fixpoint is_bounded_by {t} : interp t -> Compilers.type.interp t -> bool
- := match t return interp t -> Compilers.type.interp t -> bool with
- | type.type_primitive x => @primitive.is_bounded_by x
- | type.prod A B
- => fun '((ra, rb) : interp A * interp B)
- '((ra', rb') : Compilers.type.interp A * Compilers.type.interp B)
- => @is_bounded_by A ra ra' && @is_bounded_by B rb rb'
- | type.arrow s d => fun _ _ => false
- | type.list A
- => fold_andb_map (@is_bounded_by A)
- end.
- Module option.
- (** turn a [type] into a [Set] describing the type of optional
- bounds on that primitive; bounds on a [Z] may be either a
- range, or [None], generally indicating that the [Z] is
- unbounded. This lifts [primitive.option.interp] from
- [type.primitive] to [type] *)
- Fixpoint interp (t : type) : Set
- := match t with
- | type.type_primitive x => primitive.option.interp x
- | type.prod A B => interp A * interp B
- | type.arrow s d => interp s -> interp d
- | type.list A => option (list (interp A))
- end.
- Fixpoint None {t : type} : interp t
- := match t with
- | type.type_primitive x => @primitive.option.None x
- | type.prod A B => (@None A, @None B)
- | type.arrow s d => fun _ => @None d
- | type.list A => Datatypes.None
- end.
- Fixpoint Some {t : type} : type.interp t -> interp t
- := match t with
- | type.type_primitive x => @primitive.option.Some x
- | type.prod A B
- => fun x : type.interp A * type.interp B
- => (@Some A (fst x), @Some B (snd x))
- | type.arrow s d => fun _ _ => @None d
- | type.list A => fun ls => Datatypes.Some (List.map (@Some A) ls)
- end.
- Fixpoint is_tighter_than {t} : interp t -> interp t -> bool
- := match t with
- | type.type_primitive x => @primitive.option.is_tighter_than x
- | type.prod A B
- => fun '((ra, rb) : interp A * interp B)
- '((ra', rb') : interp A * interp B)
- => @is_tighter_than A ra ra' && @is_tighter_than B rb rb'
- | type.arrow s d => fun _ _ => false
- | type.list A
- => fun ls1 ls2
- => match ls1, ls2 with
- | Datatypes.None, Datatypes.None => true
- | Datatypes.Some _, Datatypes.None => true
- | Datatypes.None, Datatypes.Some _ => false
- | Datatypes.Some ls1, Datatypes.Some ls2 => fold_andb_map (@is_tighter_than A) ls1 ls2
- end
- end.
- Fixpoint is_bounded_by {t} : interp t -> Compilers.type.interp t -> bool
- := match t return interp t -> Compilers.type.interp t -> bool with
- | type.type_primitive x => @primitive.option.is_bounded_by x
- | type.prod A B
- => fun '((ra, rb) : interp A * interp B)
- '((ra', rb') : Compilers.type.interp A * Compilers.type.interp B)
- => @is_bounded_by A ra ra' && @is_bounded_by B rb rb'
- | type.arrow s d => fun _ _ => false
- | type.list A
- => fun ls1 ls2
- => match ls1 with
- | Datatypes.None => true
- | Datatypes.Some ls1 => fold_andb_map (@is_bounded_by A) ls1 ls2
- end
- end.
-
- Lemma is_bounded_by_Some {t} r val
- : is_bounded_by (@Some t r) val = type.is_bounded_by r val.
- Proof.
- induction t;
- repeat first [ reflexivity
- | progress cbn in *
- | progress destruct_head'_prod
- | progress destruct_head' type.primitive
- | match goal with H : _ |- _ => rewrite H end ].
- { lazymatch goal with
- | [ r : list (type.interp t), val : list (Compilers.type.interp t) |- _ ]
- => revert r val IHt
- end; intros r val; revert r val.
- induction r, val; cbn; auto with nocore; try congruence; [].
- intro H'; rewrite H', IHr by auto.
- reflexivity. }
- Qed.
-
- Lemma is_tighter_than_is_bounded_by {t} r1 r2 val
- (Htight : @is_tighter_than t r1 r2 = true)
- (Hbounds : is_bounded_by r1 val = true)
- : is_bounded_by r2 val = true.
- Proof.
- induction t;
- repeat first [ progress destruct_head'_prod
- | progress destruct_head'_and
- | progress destruct_head' type.primitive
- | progress cbn in *
- | progress destruct_head' option
- | solve [ eauto with nocore ]
- | progress cbv [is_tighter_than_bool] in *
- | progress rewrite ?Bool.andb_true_iff in *
- | discriminate
- | apply conj
- | Z.ltb_to_lt; omega
- | rewrite @fold_andb_map_map in * ].
- { lazymatch goal with
- | [ r1 : list (interp t), r2 : list (interp t), val : list (Compilers.type.interp t) |- _ ]
- => revert r1 r2 val Htight Hbounds IHt
- end; intros r1 r2 val; revert r1 r2 val.
- induction r1, r2, val; cbn; auto with nocore; try congruence; [].
- rewrite !Bool.andb_true_iff; intros; destruct_head'_and; split; eauto with nocore. }
- Qed.
-
- Lemma is_tighter_than_Some_is_bounded_by {t} r1 r2 val
- (Htight : @is_tighter_than t r1 (Some r2) = true)
- (Hbounds : is_bounded_by r1 val = true)
- : type.is_bounded_by r2 val = true.
- Proof.
- rewrite <- is_bounded_by_Some.
- eapply is_tighter_than_is_bounded_by; eassumption.
- Qed.
- End option.
- End type.
-
- Module ident.
- Module option.
- Local Open Scope zrange_scope.
-
- Notation curry0 f
- := (fun 'tt => f).
- Notation curry2 f
- := (fun '(a, b) => f a b).
- Notation uncurry2 f
- := (fun a b => f (a, b)).
- Notation curry3 f
- := (fun '(a, b, c) => f a b c).
-
- (** do bounds analysis on identifiers; take in optional bounds
- on arguments, return optional bounds on outputs. *)
- Definition interp {s d} (idc : ident s d) : type.option.interp s -> type.option.interp d
- := match idc in ident.ident s d return type.option.interp s -> type.option.interp d with
- | ident.primitive type.Z v => fun _ => Some r[v ~> v]
- | ident.Let_In tx tC => fun '(x, C) => C x
- | ident.primitive _ _
- | ident.Nat_succ
- | ident.Nat_add
- | ident.Nat_sub
- | ident.Nat_mul
- | ident.Nat_max
- | ident.bool_rect _
- | ident.nat_rect _
- | ident.pred
- | ident.list_rect _ _
- | ident.List_nth_default _
- | ident.Z_pow
- | ident.Z_div
- | ident.Z_eqb
- | ident.Z_leb
- | ident.Z_of_nat
- | ident.Z_mul_split
- | ident.Z_add_get_carry
- | ident.Z_add_with_get_carry
- | ident.Z_sub_get_borrow
- | ident.Z_sub_with_get_borrow
- | ident.Z_modulo
- | ident.Z_rshi
- | ident.Z_cc_m
- => fun _ => type.option.None
- | ident.nil t => curry0 (Some (@nil (type.option.interp t)))
- | ident.cons t => curry2 (fun a => option_map (@Datatypes.cons (type.option.interp t) a))
- | ident.fst A B => @Datatypes.fst (type.option.interp A) (type.option.interp B)
- | ident.snd A B => @Datatypes.snd (type.option.interp A) (type.option.interp B)
- | ident.List_nth_default_concrete T d n
- => fun ls
- => match ls with
- | Datatypes.Some ls
- => @nth_default (type.option.interp T) type.option.None ls n
- | Datatypes.None
- => type.option.None
- end
- | ident.Z_shiftr _ as idc
- | ident.Z_shiftl _ as idc
- | ident.Z_opp as idc
- | ident.Z_cc_m_concrete _ as idc
- => option_map (ZRange.two_corners (ident.interp idc))
- | ident.Z_land mask
- => option_map
- (fun r : zrange
- => ZRange.land_bounds r r[mask~>mask])
- | ident.Z_add as idc
- | ident.Z_mul as idc
- | ident.Z_sub as idc
- | ident.Z.rshi_concrete _ _ as idc
- => fun '((x, y) : option zrange * option zrange)
- => match x, y with
- | Some x, Some y
- => Some (ZRange.four_corners (uncurry2 (ident.interp idc)) x y)
- | Some _, None | None, Some _ | None, None => None
- end
- | ident.Z_cast range
- => fun r : option zrange
- => Some match r with
- | Some r => ZRange.intersection r range
- | None => range
- end
- | ident.Z_cast2 (r1, r2)
- => fun '((r1', r2') : option zrange * option zrange)
- => (Some match r1' with
- | Some r => ZRange.intersection r r1
- | None => r1
- end,
- Some match r2' with
- | Some r => ZRange.intersection r r2
- | None => r2
- end)
- | ident.Z_mul_split_concrete split_at
- => fun '((x, y) : option zrange * option zrange)
- => match x, y with
- | Some x, Some y
- => type.option.Some
- (t:=(type.Z*type.Z)%ctype)
- (ZRange.split_bounds (ZRange.four_corners BinInt.Z.mul x y) split_at)
- | Some _, None | None, Some _ | None, None => type.option.None
- end
- | ident.Z_add_get_carry_concrete split_at
- => fun '((x, y) : option zrange * option zrange)
- => match x, y with
- | Some x, Some y
- => type.option.Some
- (t:=(type.Z*type.Z)%ctype)
- (ZRange.split_bounds (ZRange.four_corners BinInt.Z.add x y) split_at)
- | Some _, None | None, Some _ | None, None => type.option.None
- end
- | ident.Z_add_with_carry
- => fun '((x, y, z) : option zrange * option zrange * option zrange)
- => match x, y, z with
- | Some x, Some y, Some z
- => type.option.Some
- (t:=type.Z)
- (ZRange.eight_corners (fun x y z => (x + y + z)%Z) x y z)
- | _, _, _ => type.option.None
- end
- | ident.Z_add_with_get_carry_concrete split_at
- => fun '((x, y, z) : option zrange * option zrange * option zrange)
- => match x, y, z with
- | Some x, Some y, Some z
- => type.option.Some
- (t:=(type.Z*type.Z)%ctype)
- (ZRange.split_bounds
- (ZRange.eight_corners (fun x y z => (x + y + z)%Z) x y z)
- split_at)
- | _, _, _ => type.option.None
- end
- | ident.Z_sub_get_borrow_concrete split_at
- => fun '((x, y) : option zrange * option zrange)
- => match x, y with
- | Some x, Some y
- => type.option.Some
- (t:=(type.Z*type.Z)%ctype)
- (let b := ZRange.split_bounds (ZRange.four_corners BinInt.Z.sub x y) split_at in
- (* N.B. sub_get_borrow returns - ((x - y) / split_at) as the borrow, so we need to negate *)
- (fst b, ZRange.opp (snd b)))
- | Some _, None | None, Some _ | None, None => type.option.None
- end
- | ident.Z_sub_with_get_borrow_concrete split_at
- => fun '((x, y, z) : option zrange * option zrange * option zrange)
- => match x, y, z with
- | Some x, Some y, Some z
- => type.option.Some
- (t:=(type.Z*type.Z)%ctype)
- (let b := ZRange.split_bounds (ZRange.eight_corners (fun x y z => (y - z - x)%Z) x y z) split_at in
- (* N.B. sub_get_borrow returns - ((x - y) / split_at) as the borrow, so we need to negate *)
- (fst b, ZRange.opp (snd b)))
- | _, _, _ => type.option.None
- end
- | ident.Z_zselect
- => fun '((x, y, z) : option zrange * option zrange * option zrange)
- => match y, z with
- | Some y, Some z => Some (ZRange.union y z)
- | Some _, None | None, Some _ | None, None => None
- end
- | ident.Z_add_modulo
- => fun '((x, y, z) : option zrange * option zrange * option zrange)
- => match x, y, z with
- | Some x, Some y, Some m
- => Some (ZRange.union
- (ZRange.four_corners BinInt.Z.add x y)
- (ZRange.eight_corners (fun x y m => Z.max 0 (x + y - m))
- x y m))
- | _, _, _ => None
- end
- end.
- End option.
- End ident.
- End ZRange.
-
- Module DefaultValue.
- (** This module provides "default" inhabitants for the
- interpretation of PHOAS types and for the PHOAS [expr] type.
- These values are used for things like [nth_default] and in
- other places where we need to provide a dummy value in cases
- that will never actually be reached in correctly used code. *)
- Module type.
- Module primitive.
- Definition default {t : type.primitive} : type.interp t
- := match t with
- | type.unit => tt
- | type.Z => (-1)%Z
- | type.nat => 0%nat
- | type.bool => true
- end.
- End primitive.
- Fixpoint default {t} : type.interp t
- := match t with
- | type.type_primitive x => @primitive.default x
- | type.prod A B => (@default A, @default B)
- | type.arrow s d => fun _ => @default d
- | type.list A => @nil (type.interp A)
- end.
- End type.
-
- Module expr.
- Section with_var.
- Context {var : type -> Type}.
- Fixpoint default {t : type} : @expr var t
- := match t with
- | type.type_primitive x
- => AppIdent (ident.primitive type.primitive.default) TT
- | type.prod A B
- => (@default A, @default B)
- | type.arrow s d => Abs (fun _ => @default d)
- | type.list A => AppIdent ident.nil TT
- end.
- End with_var.
-
- Definition Default {t} : Expr t := fun _ => default.
- End expr.
- End DefaultValue.
-
- Module GeneralizeVar.
- (** In both lazy and cbv evaluation strategies, reduction under
- lambdas is only done at the very end. This means that if we
- have a computation which returns a PHOAS syntax tree, and we
- plug in two different values for [var], the computation is run
- twice. This module provides a way of computing a
- representation of terms which does not suffer from this issue.
- By computing a flat representation, and then going back to
- PHOAS, the cbv strategy will fully compute the preceeding
- PHOAS passes only once, and the lazy strategy will share
- computation among the various uses of [var] (because there are
- no lambdas to get blocked on) and thus will also compute the
- preceeding PHOAS passes only once. *)
- Module Flat.
- Inductive expr : type -> Set :=
- | Var (t : type) (n : positive) : expr t
- | TT : expr type.unit
- | AppIdent {s d} (idc : ident s d) (arg : expr s) : expr d
- | App {s d} (f : expr (s -> d)) (x : expr s) : expr d
- | Pair {A B} (a : expr A) (b : expr B) : expr (A * B)
- | Abs (s : type) (n : positive) {d} (f : expr d) : expr (s -> d).
- End Flat.
-
- Definition ERROR {T} (v : T) : T. exact v. Qed.
-
- Fixpoint to_flat' {t} (e : @expr (fun _ => PositiveMap.key) t)
- (cur_idx : PositiveMap.key)
- : Flat.expr t
- := match e in expr.expr t return Flat.expr t with
- | Var t v => Flat.Var t v
- | TT => Flat.TT
- | AppIdent s d idc args
- => Flat.AppIdent idc (@to_flat' _ args cur_idx)
- | App s d f x => Flat.App
- (@to_flat' _ f cur_idx)
- (@to_flat' _ x cur_idx)
- | Pair A B a b => Flat.Pair
- (@to_flat' _ a cur_idx)
- (@to_flat' _ b cur_idx)
- | Abs s d f
- => Flat.Abs s cur_idx
- (@to_flat'
- d (f cur_idx)
- (Pos.succ cur_idx))
- end.
-
- Fixpoint from_flat {t} (e : Flat.expr t)
- : forall var, PositiveMap.t { t : type & var t } -> @expr var t
- := match e in Flat.expr t return forall var, _ -> expr t with
- | Flat.Var t v
- => fun var ctx
- => match (tv <- PositiveMap.find v ctx;
- type.try_transport var _ _ (projT2 tv))%option with
- | Some v => Var v
- | None => ERROR DefaultValue.expr.default
- end
- | Flat.TT => fun _ _ => TT
- | Flat.AppIdent s d idc args
- => let args' := @from_flat _ args in
- fun var ctx => AppIdent idc (args' var ctx)
- | Flat.App s d f x
- => let f' := @from_flat _ f in
- let x' := @from_flat _ x in
- fun var ctx => App (f' var ctx) (x' var ctx)
- | Flat.Pair A B a b
- => let a' := @from_flat _ a in
- let b' := @from_flat _ b in
- fun var ctx => Pair (a' var ctx) (b' var ctx)
- | Flat.Abs s cur_idx d f
- => let f' := @from_flat d f in
- fun var ctx
- => Abs (fun v => f' var (PositiveMap.add cur_idx (existT _ s v) ctx))
- end.
-
- Definition to_flat {t} (e : expr t) : Flat.expr t
- := to_flat' e 1%positive.
- Definition ToFlat {t} (E : Expr t) : Flat.expr t
- := to_flat (E _).
- Definition FromFlat {t} (e : Flat.expr t) : Expr t
- := let e' := @from_flat t e in
- fun var => e' var (PositiveMap.empty _).
- Definition GeneralizeVar {t} (e : @expr (fun _ => PositiveMap.key) t) : Expr t
- := FromFlat (to_flat e).
- End GeneralizeVar.
-
- Module partial.
- Notation data := ZRange.type.option.interp.
- Section value.
- Context (var : type -> Type).
- Definition value_prestep (value : type -> Type) (t : type)
- := match t return Type with
- | type.prod A B as t => value A * value B
- | type.arrow s d => value s -> value d
- | type.list A => list (value A)
- | type.type_primitive _ as t
- => type.interp t
- end%type.
- Definition value_step (value : type -> Type) (t : type)
- := match t return Type with
- | type.arrow _ _ as t
- => value_prestep value t
- | type.prod _ _ as t
- | type.list _ as t
- | type.type_primitive _ as t
- => data t * @expr var t + value_prestep value t
- end%type.
- Fixpoint value (t : type)
- := value_step value t.
-
- Fixpoint value_default {t} : value t
- := match t return value t with
- | type.type_primitive type.Z
- | type.type_primitive _
- => inr DefaultValue.type.primitive.default
- | type.prod A B
- => inr (@value_default A, @value_default B)
- | type.arrow s d => fun _ => @value_default d
- | type.list A => inr (@nil (value A))
- end.
-
- Fixpoint data_from_value {t} : value t -> data t
- := match t return value t -> data t with
- | type.arrow _ _ as t
- => fun _ => ZRange.type.option.None
- | type.prod A B as t
- => fun v
- => match v with
- | inl (data, _) => data
- | inr (a, b)
- => (@data_from_value A a, @data_from_value B b)
- end
- | type.list A as t
- => fun v
- => match v with
- | inl (data, _) => data
- | inr ls
- => Some (List.map (@data_from_value A) ls)
- end
- | type.type_primitive type.Z as t
- => fun v
- => match v with
- | inl (data, _) => data
- | inr v => Some r[v~>v]%zrange
- end
- | type.type_primitive _ as t
- => fun v
- => match v with
- | inl (data, _) => data
- | inr _ => ZRange.type.option.None
- end
- end.
- End value.
-
- Module expr.
- Section reify.
- Context {var : type -> Type}.
- Fixpoint reify {t : type} {struct t}
- : value var t -> @expr var t
- := match t return value var t -> expr t with
- | type.prod A B as t
- => fun x : (data A * data B) * expr t + value var A * value var B
- => match x with
- | inl ((da, db), v)
- => match A, B return data A -> data B -> expr (A * B) -> expr (A * B) with
- | type.Z, type.Z
- => fun da db v
- => match da, db with
- | Some r1, Some r2
- => (ident.Z.cast2 (r1, r2)%core @@ v)%expr
- | _, _ => v
- end
- | _, _ => fun _ _ v => v
- end da db v
- | inr (a, b) => (@reify A a, @reify B b)%expr
- end
- | type.arrow s d
- => fun (f : value var s -> value var d)
- => Abs (fun x
- => @reify d (f (@reflect s (Var x))))
- | type.list A as t
- => fun x : _ * expr t + list (value var A)
- => match x with
- | inl (_, v) => v
- | inr v => reify_list (List.map (@reify A) v)
- end
- | type.type_primitive type.Z as t
- => fun x : _ * expr t + type.interp t
- => match x with
- | inl (Some r, v) => ident.Z.cast r @@ v
- | inl (None, v) => v
- | inr v => ident.primitive v @@ TT
- end%core%expr
- | type.type_primitive _ as t
- => fun x : _ * expr t + type.interp t
- => match x with
- | inl (_, v) => v
- | inr v => ident.primitive v @@ TT
- end%core%expr
- end
- with reflect {t : type}
- : @expr var t -> value var t
- := match t return expr t -> value var t with
- | type.arrow s d
- => fun (f : expr (s -> d)) (x : value var s)
- => @reflect d (App f (@reify s x))
- | type.prod A B as t
- => fun v : expr t
- => let inr := @inr (data t * expr t) (value_prestep (value var) t) in
- let inl := @inl (data t * expr t) (value_prestep (value var) t) in
- match invert_Pair v with
- | Some (a, b)
- => inr (@reflect A a, @reflect B b)
- | None
- => inl
- (match A, B return expr (A * B) -> data (A * B) * expr (A * B) with
- | type.Z, type.Z
- => fun v
- => match invert_Z_cast2 v with
- | Some (r, v)
- => (ZRange.type.option.Some (t:=type.Z*type.Z) r, v)
- | None
- => (ZRange.type.option.None, v)
- end
- | _, _ => fun v => (ZRange.type.option.None, v)
- end v)
- end
- | type.list A as t
- => fun v : expr t
- => let inr := @inr (data t * expr t) (value_prestep (value var) t) in
- let inl := @inl (data t * expr t) (value_prestep (value var) t) in
- match reflect_list v with
- | Some ls
- => inr (List.map (@reflect A) ls)
- | None
- => inl (None, v)
- end
- | type.type_primitive type.Z as t
- => fun v : expr t
- => let inr' := @inr (data t * expr t) (value_prestep (value var) t) in
- let inl' := @inl (data t * expr t) (value_prestep (value var) t) in
- match reflect_primitive v, invert_Z_cast v with
- | Some v, _ => inr' v
- | None, Some (r, v) => inl' (Some r, v)
- | None, None => inl' (None, v)
- end
- | type.type_primitive _ as t
- => fun v : expr t
- => let inr := @inr (data t * expr t) (value_prestep (value var) t) in
- let inl := @inl (data t * expr t) (value_prestep (value var) t) in
- match reflect_primitive v with
- | Some v => inr v
- | None => inl (tt, v)
- end
- end.
- End reify.
- End expr.
-
- Module ident.
- Section interp.
- Context (inline_var_nodes : bool)
- {var : type -> Type}.
- Fixpoint is_var_like {t} (e : @expr var t) : bool
- := match e with
- | Var t v => true
- | TT => true
- | AppIdent _ _ (ident.fst _ _) args => @is_var_like _ args
- | AppIdent _ _ (ident.snd _ _) args => @is_var_like _ args
- | AppIdent _ _ (ident.Z.cast _) args => @is_var_like _ args
- | AppIdent _ _ (ident.Z.cast2 _) args => @is_var_like _ args
- | Pair A B a b => @is_var_like A a && @is_var_like B b
- | AppIdent _ _ _ _ => false
- | App _ _ _ _
- | Abs _ _ _
- => false
- end.
- (** do partial evaluation on let-in, controlling what gets
- inlined and what doesn't *)
- Fixpoint interp_let_in {tC tx : type} {struct tx} : value var tx -> (value var tx -> value var tC) -> value var tC
- := match tx return value var tx -> (value var tx -> value var tC) -> value var tC with
- | type.arrow _ _
- => fun x f => f x
- | type.list T as t
- => fun (x : data t * expr t + list (value var T)) (f : data t * expr t + list (value var T) -> value var tC)
- => match x with
- | inr ls
- => list_rect
- (fun _ => (list (value var T) -> value var tC) -> value var tC)
- (fun f => f nil)
- (fun x _ rec f
- => rec (fun ls => @interp_let_in
- _ T x
- (fun x => f (cons x ls))))
- ls
- (fun ls => f (inr ls))
- | inl e => f (inl e)
- end
- | type.prod A B as t
- => fun (x : data t * expr t + value var A * value var B) (f : data t * expr t + value var A * value var B -> value var tC)
- => match x with
- | inr (a, b)
- => @interp_let_in
- _ A a
- (fun a
- => @interp_let_in
- _ B b
- (fun b => f (inr (a, b))))
- | inl (data, e)
- => if inline_var_nodes && is_var_like e
- then f x
- else partial.expr.reflect
- (expr_let y := partial.expr.reify (t:=t) x in
- partial.expr.reify (f (inl (data, Var y)%core)))%expr
- end
- | type.type_primitive _ as t
- => fun (x : data t * expr t + type.interp t) (f : data t * expr t + type.interp t -> value var tC)
- => match x with
- | inl (data, e)
- => if inline_var_nodes && is_var_like e
- then f x
- else partial.expr.reflect
- (expr_let y := (partial.expr.reify (t:=t) x) in
- partial.expr.reify (f (inl (data, Var y)%core)))%expr
- | inr v => f (inr v) (* FIXME: do not substitute [S (big stuck term)] *)
- end
- end.
-
- Let default_interp
- {s d}
- : ident s d -> value var s -> value var d
- := match d return ident s d -> value var s -> value var d with
- | type.arrow _ _
- => fun idc args => expr.reflect (AppIdent idc (expr.reify args))
- | _
- => fun idc args
- => inl (ZRange.ident.option.interp idc (data_from_value var args),
- AppIdent idc (expr.reify args))
- end.
-
- (** do partial evaluation on identifiers *)
- Definition interp {s d} (idc : ident s d) : value var (s -> d)
- := match idc in ident s d return value var (s -> d) with
- | ident.Let_In tx tC as idc
- => fun (xf : data (tx * (tx -> tC)) * expr (tx * (tx -> tC)) + value var tx * value var (tx -> tC))
- => match xf with
- | inr (x, f) => interp_let_in x f
- | _ => expr.reflect (AppIdent idc (expr.reify (t:=tx * (tx -> tC)) xf))
- end
- | ident.nil t
- => fun _ => inr (@nil (value var t))
- | ident.primitive t v
- => fun _ => inr v
- | ident.cons t as idc
- => fun (x_xs : data (t * type.list t) * expr (t * type.list t) + value var t * (data (type.list t) * expr (type.list t) + list (value var t)))
- => match x_xs return data (type.list t) * expr (type.list t) + list (value var t) with
- | inr (x, inr xs) => inr (cons x xs)
- | _
- => default_interp idc x_xs
- end
- | ident.fst A B as idc
- => fun x : data (A * B) * expr (A * B) + value var A * value var B
- => match x with
- | inr x => fst x
- | _ => default_interp idc x
- end
- | ident.snd A B as idc
- => fun x : data (A * B) * expr (A * B) + value var A * value var B
- => match x with
- | inr x => snd x
- | _ => default_interp idc x
- end
- | ident.bool_rect T as idc
- => fun (true_case_false_case_b : data ((type.unit -> T) * (type.unit -> T) * type.bool) * expr ((type.unit -> T) * (type.unit -> T) * type.bool) + (data ((type.unit -> T) * (type.unit -> T)) * expr ((type.unit -> T) * (type.unit -> T)) + (_ + Datatypes.unit -> value var T) * (_ + Datatypes.unit -> value var T)) * (data type.bool * expr type.bool + bool))
- => match true_case_false_case_b with
- | inr (inr (true_case, false_case), inr b)
- => if b then true_case (inr tt) else false_case (inr tt)
- | _ => default_interp idc true_case_false_case_b
- end
- | ident.nat_rect P as idc
- => fun (O_case_S_case_n : _ * expr ((type.unit -> P) * (type.nat * P -> P) * type.nat) + (_ * expr ((type.unit -> P) * (type.nat * P -> P)) + (_ + Datatypes.unit -> value var P) * value var (type.nat * P -> P)) * (_ * expr type.nat + nat))
- => match O_case_S_case_n with
- | inr (inr (O_case, S_case), inr n)
- => @nat_rect (fun _ => value var P)
- (O_case (inr tt))
- (fun n' rec => S_case (inr (inr n', rec)))
- n
- | _ => default_interp idc O_case_S_case_n
- end
- | ident.list_rect A P as idc
- => fun (nil_case_cons_case_ls : _ * expr ((type.unit -> P) * (A * type.list A * P -> P) * type.list A) + (_ * expr ((type.unit -> P) * (A * type.list A * P -> P)) + (_ + Datatypes.unit -> value var P) * value var (A * type.list A * P -> P)) * (_ * expr (type.list A) + list (value var A)))
- => match nil_case_cons_case_ls with
- | inr (inr (nil_case, cons_case), inr ls)
- => @list_rect
- (value var A)
- (fun _ => value var P)
- (nil_case (inr tt))
- (fun x xs rec => cons_case (inr (inr (x, inr xs), rec)))
- ls
- | _ => default_interp idc nil_case_cons_case_ls
- end
- | ident.List.nth_default type.Z as idc
- => fun (default_ls_idx : _ * expr (type.Z * type.list type.Z * type.nat) + (_ * expr (type.Z * type.list type.Z) + (_ * expr type.Z + type.interp type.Z) * (_ * expr (type.list type.Z) + list (value var type.Z))) * (_ * expr type.nat + nat))
- => match default_ls_idx with
- | inr (inr (default, inr ls), inr idx)
- => List.nth_default default ls idx
- | inr (inr (inr default, ls), inr idx)
- => default_interp (ident.List.nth_default_concrete default idx) ls
- | _ => default_interp idc default_ls_idx
- end
- | ident.List.nth_default (type.type_primitive A) as idc
- => fun (default_ls_idx : _ * expr (A * type.list A * type.nat) + (_ * expr (A * type.list A) + (_ * expr A + type.interp A) * (_ * expr (type.list A) + list (value var A))) * (_ * expr type.nat + nat))
- => match default_ls_idx with
- | inr (inr (default, inr ls), inr idx)
- => List.nth_default default ls idx
- | inr (inr (inr default, ls), inr idx)
- => default_interp (ident.List.nth_default_concrete default idx) ls
- | _ => default_interp idc default_ls_idx
- end
- | ident.List.nth_default A as idc
- => fun (default_ls_idx : _ * expr (A * type.list A * type.nat) + (_ * expr (A * type.list A) + value var A * (_ * expr (type.list A) + list (value var A))) * (_ * expr type.nat + nat))
- => match default_ls_idx with
- | inr (inr (default, inr ls), inr idx)
- => List.nth_default default ls idx
- | _ => default_interp idc default_ls_idx
- end
- | ident.List.nth_default_concrete A default idx as idc
- => fun (ls : _ * expr (type.list A) + list (value var A))
- => match ls with
- | inr ls
- => List.nth_default (expr.reflect (t:=A) (AppIdent (ident.primitive default) TT)) ls idx
- | _ => default_interp idc ls
- end
- | ident.Z_mul_split as idc
- => fun (x_y_z : (_ * expr (type.Z * type.Z * type.Z) +
- (_ * expr (type.Z * type.Z) + (_ * expr type.Z + Z) * (_ * expr type.Z + Z)) * (_ * expr type.Z + Z))%type)
- => match x_y_z return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr (inr x, inr y), inr z) =>
- let result := ident.interp idc (x, y, z) in
- inr (inr (fst result), inr (snd result))
- | inr (inr (inr x, y), z)
- => let default _ := default_interp (ident.Z.mul_split_concrete x) (inr (y, z)) in
- match (y, z) with
- | (inr xx, inl (data, e) as y)
- | (inl (data, e) as y, inr xx)
- => if Z.eqb xx 0
- then inr (inr 0%Z, inr 0%Z)
- else if Z.eqb xx 1
- then inr (y, inr 0%Z)
- else if Z.eqb xx (-1)
- then inr (inl (data, AppIdent ident.Z.opp (expr.reify (t:=type.Z) y)), inr 0%Z)
- else default tt
- | _ => default tt
- end
- | _ => default_interp idc x_y_z
- end
- | ident.Z_rshi as idc
- => fun (x_y_z_a :
- (_ * expr (_ * _ * _ * _) + (_ * expr (_ * _ * _) + (_ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) * (_ * expr _ + type.interp _)) * (_ * expr _ + type.interp _))%type)
- => match x_y_z_a return _ * expr _ + type.interp _ with
- | inr (inr (inr (inr x, inr y), inr z), inr a) => inr (ident.interp idc (x, y, z, a))
- | inr (inr (inr (inr x, y), z), inr a)
- => default_interp (ident.Z.rshi_concrete x a) (inr (y, z))
- | _ => default_interp idc x_y_z_a
- end
- | ident.Z_cc_m as idc
- => fun (x_y : data (_ * _) * expr (_ * _) + (_ + type.interp _) * (_ + type.interp _))
- => match x_y return _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | inr (inr x, y)
- => default_interp (ident.Z.cc_m_concrete x) y
- | _ => default_interp idc x_y
- end
- | ident.Z_add_get_carry as idc
- => fun (x_y_z : (_ * expr (type.Z * type.Z * type.Z) +
- (_ * expr (type.Z * type.Z) + (_ * expr type.Z + Z) * (_ * expr type.Z + Z)) * (_ * expr type.Z + Z))%type)
- => match x_y_z return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr (inr x, inr y), inr z) =>
- let result := ident.interp idc (x, y, z) in
- inr (inr (fst result), inr (snd result))
- | inr (inr (inr x, y), z)
- => let default _ := default_interp (ident.Z.add_get_carry_concrete x) (inr (y, z)) in
- match (y, z) with
- | (inr xx, inl e)
- | (inl e, inr xx)
- => if Z.eqb xx 0
- then inr (inl e, inr 0%Z)
- else default tt
- | _ => default tt
- end
- | _ => default_interp idc x_y_z
- end
- | ident.Z_add_with_carry as idc
- => fun (x_y_z : (_ * expr (type.Z * type.Z * type.Z) +
- (_ * expr (type.Z * type.Z) + (_ * expr type.Z + Z) * (_ * expr type.Z + Z)) * (_ * expr type.Z + Z))%type)
- => match x_y_z return ( _ * expr _ + type.interp _) with
- | inr (inr (inr x, inr y), inr z) => inr (ident.interp idc (x, y, z))
- | inr (inr (inr x, y), z)
- => if Z.eqb x 0 then default_interp (ident.Z.add) (inr (y,z)) else default_interp idc x_y_z
- | _ => default_interp idc x_y_z
- end
- | ident.Z_add_with_get_carry as idc
- => fun (x_y_z_a : (_ * expr (_ * _ * _ * _) +
- (_ * expr (_ * _ * _) +
- (_ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) *
- (_ * expr _ + type.interp _)) * (_ * expr _ + type.interp _))%type)
- => match x_y_z_a return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr (inr (inr x, inr y), inr z), inr a) =>
- let result := ident.interp idc (x, y, z, a) in
- inr (inr (fst result), inr (snd result))
- | inr (inr (inr (inr x, y), z), a)
- =>
- let default _ := default_interp (ident.Z.add_with_get_carry_concrete x) (inr (inr (y, z), a)) in
- let default_add _ := default_interp (ident.Z.add_get_carry_concrete x) (inr (z,a)) in
- let default_adx _ := default_interp (ident.Z.add_with_carry) (inr (inr (y, z), a)) in
- match y, z, a with
- | inr cc, inr xx, inl e
- | inr cc, inl e, inr xx
- => if Z.eqb cc 0
- then if Z.eqb xx 0
- then inr (inl e, inr 0%Z)
- else default_add tt (* carry = 0: ADC x y -> ADD x y *)
- else default tt
- | inr cc, inl xx, inl yy
- => if Z.eqb cc 0
- then default_add tt (* carry = 0: ADC x y -> ADD x y *)
- else default tt
- | inl _, inr xx, inr yy
- => if Z.eqb xx 0
- then if Z.eqb yy 0
- then inr (default_adx tt, inr 0%Z) (* ADC 0 0 -> (ADX 0 0, 0) *)
- else default tt
- else default tt
- | _, _, _ => default tt
- end
- | _ => default_interp idc x_y_z_a
- end
- | ident.Z_sub_get_borrow as idc
- => fun (x_y_z : (_ * expr (type.Z * type.Z * type.Z) +
- (_ * expr (type.Z * type.Z) + (_ * expr type.Z + Z) * (_ * expr type.Z + Z)) * (_ * expr type.Z + Z))%type)
- => match x_y_z return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr (inr x, inr y), inr z) =>
- let result := ident.interp idc (x, y, z) in
- inr (inr (fst result), inr (snd result))
- | inr (inr (inr x, y), z)
- => default_interp (ident.Z.sub_get_borrow_concrete x) (inr (y, z))
- | _ => default_interp idc x_y_z
- end
- | ident.Z_sub_with_get_borrow as idc
- => fun (x_y_z_a : (_ * expr (_ * _ * _ * _) + (_ * expr (_ * _ * _) + (_ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) * (_ * expr _ + type.interp _)) * (_ * expr _ + type.interp _))%type)
- => match x_y_z_a return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr (inr (inr x, inr y), inr z), inr a) =>
- let '(r, b) := ident.interp idc (x, y, z, a) in
- inr (inr r, inr b)
- | inr (inr (inr (inr x, y), z), a)
- => default_interp (ident.Z.sub_with_get_borrow_concrete x) (inr (inr (y, z), a))
- | _ => default_interp idc x_y_z_a
- end
- | ident.Z_mul_split_concrete _ as idc
- | ident.Z.sub_get_borrow_concrete _ as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default _ := default_interp idc x_y in
- match x_y return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr x, inr y) =>
- let result := ident.interp idc (x, y) in
- inr (inr (fst result), inr (snd result))
- | _ => default tt
- end
- | ident.Z.add_get_carry_concrete _ as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default _ := default_interp idc x_y in
- match x_y return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr x, inr y) =>
- let result := ident.interp idc (x, y) in
- inr (inr (fst result), inr (snd result))
- | inr (inr x, inl e)
- | inr (inl e, inr x) =>
- if Z.eqb x 0%Z
- then inr (inl e, inr 0%Z)
- else default tt
- | _ => default tt
- end
- | ident.Z.add_with_get_carry_concrete _ as idc
- | ident.Z.sub_with_get_borrow_concrete _ as idc
- => fun (x_y_z :
- (_ * expr (type.Z * type.Z * type.Z) + (_ * expr (type.Z * type.Z) + (_ * expr type.Z + Z) * (_ * expr type.Z + Z)) * (_ * expr type.Z + Z))%type)
- => match x_y_z return (_ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) with
- | inr (inr (inr x, inr y), inr z) =>
- let result := ident.interp idc (x, y, z) in
- inr (inr (fst result), inr (snd result))
- | _ => default_interp idc x_y_z
- end
- | ident.pred as idc
- | ident.Nat_succ as idc
- => fun x : _ * expr _ + type.interp _
- => match x return _ * expr _ + type.interp _ with
- | inr x => inr (ident.interp idc x)
- | _ => default_interp idc x
- end
- | ident.Z_of_nat as idc
- => fun x : _ * expr _ + type.interp _
- => match x return _ * expr _ + type.interp _ with
- | inr x => inr (ident.interp idc x)
- | _ => default_interp idc x
- end
- | ident.Z_opp as idc
- => fun x : _ * expr _ + type.interp _
- => match x return _ * expr _ + type.interp _ with
- | inr x => inr (ident.interp idc x)
- | inl (r, x)
- => match invert_Z_opp x with
- | Some x => inl (r, x)
- | None => inl (ZRange.ident.option.interp idc r, AppIdent idc x)
- end
- end
- | ident.Z_shiftr _ as idc
- | ident.Z_shiftl _ as idc
- | ident.Z_land _ as idc
- | ident.Z_cc_m_concrete _ as idc
- => fun x : _ * expr _ + type.interp _
- => match x return _ * expr _ + type.interp _ with
- | inr x => inr (ident.interp idc x)
- | inl (data, e)
- => inl (ZRange.ident.option.interp idc data,
- AppIdent idc (expr.reify (t:=type.Z) x))
- end
- | ident.Nat_add as idc
- | ident.Nat_sub as idc
- | ident.Nat_mul as idc
- | ident.Nat_max as idc
- | ident.Z_eqb as idc
- | ident.Z_leb as idc
- | ident.Z_pow as idc
- | ident.Z_rshi_concrete _ _ as idc
- => fun (x_y : data (_ * _) * expr (_ * _) + (_ + type.interp _) * (_ + type.interp _))
- => match x_y return _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | _ => default_interp idc x_y
- end
- | ident.Z_div as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default _ := default_interp idc x_y in
- match x_y return _ * expr _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | inr (x, inr y)
- => if Z.eqb y (2^Z.log2 y)
- then default_interp (ident.Z.shiftr (Z.log2 y)) x
- else default tt
- | _ => default tt
- end
- | ident.Z_modulo as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default _ := default_interp idc x_y in
- match x_y return _ * expr _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | inr (x, inr y)
- => if Z.eqb y (2^Z.log2 y)
- then default_interp (ident.Z.land (y-1)) x
- else default tt
- | _ => default tt
- end
- | ident.Z_mul as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default _ := default_interp idc x_y in
- match x_y return _ * expr _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | inr (inr x, inl (data, e) as y)
- | inr (inl (data, e) as y, inr x)
- => let data' _ := ZRange.ident.option.interp idc (data, Some r[x~>x]%zrange) in
- if Z.eqb x 0
- then inr 0%Z
- else if Z.eqb x 1
- then y
- else if Z.eqb x (-1)
- then inl (data' tt, AppIdent ident.Z.opp (expr.reify (t:=type.Z) y))
- else if Z.eqb x (2^Z.log2 x)
- then inl (data' tt,
- AppIdent (ident.Z.shiftl (Z.log2 x)) (expr.reify (t:=type.Z) y))
- else inl (data' tt,
- AppIdent idc (ident.primitive (t:=type.Z) x @@ TT, expr.reify (t:=type.Z) y))
- | inr (inl (dataa, a), inl (datab, b))
- => inl (ZRange.ident.option.interp idc (dataa, datab),
- AppIdent idc (a, b))
- | inl _ => default tt
- end
- | ident.Z_add as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default0 _ := AppIdent idc (expr.reify (t:=_*_) x_y) in
- let default _ := expr.reflect (default0 tt) in
- match x_y return _ * expr _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | inr (inr x, inl (data, e) as y)
- | inr (inl (data, e) as y, inr x)
- => let data' _ := ZRange.ident.option.interp idc (data, Some r[x~>x]%zrange) in
- if Z.eqb x 0
- then y
- else inl (data' tt,
- match invert_Z_opp e with
- | Some e => AppIdent
- ident.Z.sub
- (ident.primitive (t:=type.Z) x @@ TT,
- e)
- | None => default0 tt
- end)
- | inr (inl (dataa, a), inl (datab, b))
- => inl (ZRange.ident.option.interp idc (dataa, datab),
- match invert_Z_opp a, invert_Z_opp b with
- | Some a, Some b
- => AppIdent
- ident.Z.opp
- (idc @@ (a, b))
- | Some a, None
- => AppIdent ident.Z.sub (b, a)
- | None, Some b
- => AppIdent ident.Z.sub (a, b)
- | None, None => default0 tt
- end)
- | inl _ => default tt
- end
- | ident.Z_sub as idc
- => fun (x_y : _ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => let default0 _ := AppIdent idc (expr.reify (t:=_*_) x_y) in
- let default _ := expr.reflect (default0 tt) in
- match x_y return _ * expr _ + type.interp _ with
- | inr (inr x, inr y) => inr (ident.interp idc (x, y))
- | inr (inr x, inl (data, e))
- => let data' _ := ZRange.ident.option.interp idc (Some r[x~>x]%zrange, data) in
- if Z.eqb x 0
- then inl (data' tt, AppIdent ident.Z.opp e)
- else inl (data' tt, default0 tt)
- | inr (inl (data, e), inr x)
- => let data' _ := ZRange.ident.option.interp idc (data, Some r[x~>x]%zrange) in
- if Z.eqb x 0
- then inl (data' tt, e)
- else inl (data' tt, default0 tt)
- | inr (inl (dataa, a), inl (datab, b))
- => inl (ZRange.ident.option.interp idc (dataa, datab),
- match invert_Z_opp a, invert_Z_opp b with
- | Some a, Some b
- => AppIdent
- ident.Z.opp
- (idc @@ (a, b))
- | Some a, None
- => AppIdent ident.Z.add (b, a)
- | None, Some b
- => AppIdent ident.Z.add (a, b)
- | None, None => default0 tt
- end)
- | inl _ => default tt
- end
- | ident.Z_zselect as idc
- | ident.Z_add_modulo as idc
- => fun (x_y_z : (_ * expr (_ * _ * _) +
- (_ * expr (_ * _) + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _)) * (_ * expr _ + type.interp _))%type)
- => match x_y_z return _ * expr _ + type.interp _ with
- | inr (inr (inr x, inr y), inr z) => inr (ident.interp idc (x, y, z))
- | _ => default_interp idc x_y_z
- end
- | ident.Z_cast r as idc
- => fun (x : _ * expr _ + type.interp _)
- => match x with
- | inr x => inr (ident.interp idc x)
- | inl (data, e)
- => inl (ZRange.ident.option.interp idc data, e)
- end
- | ident.Z_cast2 (r1, r2) as idc
- => fun (x : _ * expr _ + (_ * expr _ + type.interp _) * (_ * expr _ + type.interp _))
- => match x with
- | inr (inr a, inr b)
- => inr (inr (ident.interp (ident.Z.cast r1) a),
- inr (ident.interp (ident.Z.cast r2) b))
- | inr (inr a, inl (r2', b))
- => inr (inr (ident.interp (ident.Z.cast r1) a),
- inl (ZRange.ident.option.interp (ident.Z.cast r2) r2', b))
- | inr (inl (r1', a), inr b)
- => inr (inl (ZRange.ident.option.interp (ident.Z.cast r1) r1', a),
- inr (ident.interp (ident.Z.cast r2) b))
- | inr (inl (r1', a), inl (r2', b))
- => inr (inl (ZRange.ident.option.interp (ident.Z.cast r1) r1', a),
- inl (ZRange.ident.option.interp (ident.Z.cast r2) r2', b))
- | inl (data, e)
- => inl (ZRange.ident.option.interp idc data, e)
- end
- end.
- End interp.
- End ident.
-
- Module bounds.
- Section with_var.
- Context {var : type -> Type}.
-
- Fixpoint extend_concrete_list_with_obounds {t}
- (extend_with_obounds : ZRange.type.option.interp t -> partial.value var t -> partial.value var t )
- (ls : list (ZRange.type.option.interp t))
- (e : list (partial.value var t))
- {struct ls}
- : list (partial.value var t)
- := match ls with
- | nil => nil
- | cons b bs
- => cons (extend_with_obounds
- b
- (hd (partial.value_default _) e))
- (@extend_concrete_list_with_obounds
- t extend_with_obounds bs (tl e))
- end.
-
- Fixpoint extend_list_expr_with_obounds {t}
- (extend_with_obounds : ZRange.type.primitive.option.interp t -> partial.value var t -> partial.value var t )
- (starting_index : nat)
- (ls : list (ZRange.type.option.interp t))
- (e : @expr var (type.list t))
- {struct ls}
- : list (partial.value var t)
- := match ls with
- | nil => nil
- | cons b bs
- => cons (extend_with_obounds
- b
- (partial.expr.reflect
- (AppIdent
- (ident.List_nth_default_concrete
- DefaultValue.type.default starting_index)
- e)))
- (@extend_list_expr_with_obounds
- t extend_with_obounds (S starting_index) bs e)
- end.
-
- Fixpoint extend_with_obounds {t} : ZRange.type.option.interp t -> partial.value var t -> partial.value var t
- := match t return ZRange.type.option.interp t -> partial.value var t -> partial.value var t with
- | type.type_primitive type.Z
- => fun (r : option zrange) (e : option zrange * expr _ + type.interp _)
- => match r, e with
- | Some r, inr v => inr (default.ident.interp (ident.Z.cast r) v)
- | Some r, inl (data, e)
- => inl (ZRange.ident.option.interp (ident.Z.cast r) data, e)
- | None, e => e
- end
- | type.type_primitive t => fun _ => id
- | type.prod A B
- => fun '((ra, rb) : ZRange.type.option.interp A * ZRange.type.option.interp B)
- (e : _ * expr _ + partial.value var A * partial.value var B)
- => match e with
- | inr (a, b)
- => inr (@extend_with_obounds A ra a,
- @extend_with_obounds B rb b)
- | inl ((dataa, datab), e)
- => if partial.ident.is_var_like e
- then inr (@extend_with_obounds A ra (partial.expr.reflect (AppIdent ident.fst e)),
- @extend_with_obounds B rb (partial.expr.reflect (AppIdent ident.snd e)))
- else inl
- (match A, B return ZRange.type.option.interp A -> ZRange.type.option.interp B -> data A -> data B -> expr (A * B) -> data (A * B) * expr (A * B) with
- | type.Z, type.Z
- => fun ra rb da db e
- => let da'
- := match ra with
- | Some ra
- => ZRange.ident.option.interp
- (ident.Z.cast ra) da
- | None => da
- end in
- let db'
- := match rb with
- | Some rb
- => ZRange.ident.option.interp
- (ident.Z.cast rb) db
- | None => db
- end in
- ((da', db'), e)
- | _, _
- => fun _ _ da db e => ((da, db), e)
- end ra rb dataa datab e)
- end
- | type.arrow s d => fun _ => id
- | type.list A
- => fun (ls : option (Datatypes.list (ZRange.type.option.interp A)))
- (e : data _ * expr _ + list (partial.value var A))
- => match ls with
- | None => e
- | Some ls
- =>
- match e with
- | inl (data, e)
- => match A return (ZRange.type.option.interp A -> partial.value var A -> partial.value var A)
- -> Datatypes.list (ZRange.type.option.interp A)
- -> option (Datatypes.list (ZRange.type.option.interp A))
- -> expr (type.list A)
- -> partial.value var (type.list A)
- with
- | type.type_primitive A
- => fun extend_with_obounds ls data e
- => match data with
- | Some data
- => inr
- (extend_concrete_list_with_obounds
- extend_with_obounds ls
- (extend_list_expr_with_obounds
- extend_with_obounds 0 data e))
- | None
- => inr (extend_list_expr_with_obounds
- extend_with_obounds 0 ls e)
- end
- | A'
- (* N.B. We clobber the existing bounds here, rather than fusing them *)
- => fun _ ls data e => inl (Some ls, e)
- end (@extend_with_obounds A) ls data e
- | inr e => inr (extend_concrete_list_with_obounds
- (@extend_with_obounds A) ls e)
- end
- end
- end.
- Definition extend_with_bounds {t}
- (b : ZRange.type.interp t)
- (e : partial.value var t)
- : partial.value var t
- := @extend_with_obounds t (ZRange.type.option.Some b) e.
- End with_var.
-
- Module ident.
- Definition extract {s d} (idc : ident s d) : ZRange.type.option.interp s -> ZRange.type.option.interp d
- := match idc in ident s d return ZRange.type.option.interp s -> ZRange.type.option.interp d with
- | ident.Let_In tx tC
- => fun '((x, f) : ZRange.type.option.interp tx * (ZRange.type.option.interp tx -> ZRange.type.option.interp tC))
- => f x
- | ident.Z_cast range => fun _ => Some range
- | ident.Z_cast2 (r1, r2) => fun _ => (Some r1, Some r2)
- | ident.primitive type.Z v
- => fun _ => Some r[v~>v]%zrange
- | ident.nil _ => fun _ => Some nil
- | ident.cons t
- => fun '((x, xs) : ZRange.type.option.interp t * option (list (ZRange.type.option.interp t)))
- => option_map (cons x) xs
- | _ => fun _ => ZRange.type.option.None
- end.
- End ident.
-
- Module expr.
- Section with_var.
- Context {var : type -> Type}
- (fill_var : forall t, ZRange.type.option.interp t -> var t).
- Fixpoint extract' {t} (e : @expr var t) : ZRange.type.option.interp t
- := match e in expr.expr t return ZRange.type.option.interp t with
- | Var _ _
- | TT
- => ZRange.type.option.None
- | AppIdent s d idc args => ident.extract idc (@extract' s args)
- | App s d f x => @extract' _ f (@extract' s x)
- | Pair A B a b => (@extract' A a, @extract' B b)
- | Abs s d f => fun bs : ZRange.type.option.interp s
- => @extract' d (f (fill_var s bs))
- end.
- End with_var.
-
- Definition extract {t} (e : expr t) : ZRange.type.option.interp t
- := extract' (fun _ => id) e.
-
- Definition Extract {t} (e : Expr t) : ZRange.type.option.interp t
- := extract (e _).
- End expr.
- End bounds.
- End partial.
-
- Section partial_evaluate.
- Context (inline_var_nodes : bool)
- {var : type -> Type}.
-
- Definition partial_evaluate'_step
- (partial_evaluate' : forall {t} (e : @expr (partial.value var) t),
- partial.value var t)
- {t} (e : @expr (partial.value var) t)
- : partial.value var t
- := match e in expr.expr t return partial.value var t with
- | Var t v => v
- | TT => inr tt
- | AppIdent s d idc args => partial.ident.interp inline_var_nodes idc (@partial_evaluate' _ args)
- | Pair A B a b => inr (@partial_evaluate' A a, @partial_evaluate' B b)
- | App s d f x => @partial_evaluate' _ f (@partial_evaluate' _ x)
- | Abs s d f => fun x => @partial_evaluate' d (f x)
- end.
- Fixpoint partial_evaluate' {t} (e : @expr (partial.value var) t)
- : partial.value var t
- := @partial_evaluate'_step (@partial_evaluate') t e.
-
- Definition partial_evaluate {t} (e : @expr (partial.value var) t) : @expr var t
- := partial.expr.reify (@partial_evaluate' t e).
-
- Definition partial_evaluate_with_bounds1' {s d} (e : @expr (partial.value var) (s -> d))
- (b : ZRange.type.option.interp s)
- : partial.value var (s -> d)
- := fun x : partial.value var s
- => partial_evaluate' e (partial.bounds.extend_with_obounds b x).
-
- Definition partial_evaluate_with_bounds1 {s d} (e : @expr (partial.value var) (s -> d))
- (b : ZRange.type.option.interp s)
- := partial.expr.reify (@partial_evaluate_with_bounds1' s d e b).
-
- End partial_evaluate.
-
- Definition PartialEvaluate (inline_var_nodes : bool) {t} (e : Expr t) : Expr t
- := fun var => @partial_evaluate inline_var_nodes var t (e _).
-
- Module RelaxZRange.
- Module ident.
- Section relax.
- Context (relax_zrange : zrange -> option zrange)
- {var : type -> Type}.
-
- Definition relax {s d} (idc : ident s d) : @expr var s -> @expr var d
- := match idc in ident s d return expr s -> expr d with
- | ident.Z_cast range
- => match relax_zrange range with
- | Some r => AppIdent (ident.Z.cast r)
- | None => id
- end
- | ident.Z_cast2 (r1, r2)
- => match relax_zrange r1, relax_zrange r2 with
- | Some r1, Some r2
- => AppIdent (ident.Z.cast2 (r1, r2))
- | Some _, None | None, Some _ | None, None => id
- end
- | idc => AppIdent idc
- end.
- End relax.
- End ident.
-
- Module expr.
- Section relax.
- Context (relax_zrange : zrange -> option zrange).
- Section with_var.
- Context {var : type -> Type}.
-
- Fixpoint relax {t} (e : @expr var t) : @expr var t
- := match e with
- | Var t v => Var v
- | TT => TT
- | AppIdent s d idc args => @ident.relax relax_zrange var s d idc
- (@relax s args)
- | App s d f x => App (@relax _ f) (@relax _ x)
- | Pair A B a b => Pair (@relax A a) (@relax B b)
- | Abs s d f => Abs (fun v => @relax d (f v))
- end.
- End with_var.
-
- Definition Relax {t} (e : Expr t) : Expr t
- := fun var => relax (e _).
- End relax.
- End expr.
- End RelaxZRange.
-
- Definition PartialEvaluateWithBounds1
- {s d} (e : Expr (s -> d)) (b : ZRange.type.option.interp s)
- : Expr (s -> d)
- := fun var => @partial_evaluate_with_bounds1 true var s d (e _) b.
-
- Definition CheckPartialEvaluateWithBounds1
- (relax_zrange : zrange -> option zrange)
- {s d} (E : Expr (s -> d))
- (b_in : ZRange.type.option.interp s)
- (b_out : ZRange.type.option.interp d)
- : Expr (s -> d) + (ZRange.type.option.interp d * Expr (s -> d))
- := let b_computed := partial.bounds.expr.Extract E b_in in
- if ZRange.type.option.is_tighter_than b_computed b_out
- then @inl (Expr (s -> d)) _ (RelaxZRange.expr.Relax relax_zrange E)
- else @inr _ (ZRange.type.option.interp d * Expr (s -> d)) (b_computed, E).
-
- Definition CheckPartialEvaluateWithBounds0
- (relax_zrange : zrange -> option zrange)
- {t} (E : Expr t)
- (b_out : ZRange.type.option.interp t)
- : Expr t + (ZRange.type.option.interp t * Expr t)
- := let b_computed := partial.bounds.expr.Extract E in
- if ZRange.type.option.is_tighter_than b_computed b_out
- then @inl (Expr t) _ (RelaxZRange.expr.Relax relax_zrange E)
- else @inr _ (ZRange.type.option.interp t * Expr t) (b_computed, E).
-
- Definition CheckedPartialEvaluateWithBounds1
- (relax_zrange : zrange -> option zrange)
- {s d} (e : Expr (s -> d))
- (b_in : ZRange.type.option.interp s)
- (b_out : ZRange.type.option.interp d)
- : Expr (s -> d) + (ZRange.type.option.interp d * Expr (s -> d))
- := let E := PartialEvaluateWithBounds1 e b_in in
- dlet_nd e := GeneralizeVar.ToFlat E in
- let E := GeneralizeVar.FromFlat e in
- CheckPartialEvaluateWithBounds1 relax_zrange E b_in b_out.
-
- Definition CheckedPartialEvaluateWithBounds0
- (relax_zrange : zrange -> option zrange)
- {t} (e : Expr t)
- (b_out : ZRange.type.option.interp t)
- : Expr t + (ZRange.type.option.interp t * Expr t)
- := let E := PartialEvaluate true e in
- dlet_nd e := GeneralizeVar.ToFlat E in
- let E := GeneralizeVar.FromFlat e in
- CheckPartialEvaluateWithBounds0 relax_zrange E b_out.
-
- Axiom admit_pf : False.
- Local Notation admit := (match admit_pf with end).
-
- Theorem CheckedPartialEvaluateWithBounds1_Correct
- (relax_zrange : zrange -> option zrange)
- (Hrelax : forall r r' z, is_tighter_than_bool z r = true
- -> relax_zrange r = Some r'
- -> is_tighter_than_bool z r' = true)
- {s d} (e : Expr (s -> d))
- (b_in : ZRange.type.option.interp s)
- (b_out : ZRange.type.option.interp d)
- rv (Hrv : CheckedPartialEvaluateWithBounds1 relax_zrange e b_in b_out = inl rv)
- : forall arg
- (Harg : ZRange.type.option.is_bounded_by b_in arg = true),
- Interp rv arg = Interp e arg
- /\ ZRange.type.option.is_bounded_by b_out (Interp rv arg) = true.
- Proof.
- cbv [CheckedPartialEvaluateWithBounds1 CheckPartialEvaluateWithBounds1 Let_In] in *;
- break_innermost_match_hyps; inversion_sum; subst.
- intros arg Harg.
- split.
- { exact admit. (* correctness of interp *) }
- { eapply ZRange.type.option.is_tighter_than_is_bounded_by; [ eassumption | ].
- cbv [expr.Interp].
- revert Harg.
- exact admit. (* boundedness *) }
- Qed.
-
- Theorem CheckedPartialEvaluateWithBounds0_Correct
- (relax_zrange : zrange -> option zrange)
- (Hrelax : forall r r' z, is_tighter_than_bool z r = true
- -> relax_zrange r = Some r'
- -> is_tighter_than_bool z r' = true)
- {t} (e : Expr t)
- (b_out : ZRange.type.option.interp t)
- rv (Hrv : CheckedPartialEvaluateWithBounds0 relax_zrange e b_out = inl rv)
- : Interp rv = Interp e
- /\ ZRange.type.option.is_bounded_by b_out (Interp rv) = true.
- Proof.
- cbv [CheckedPartialEvaluateWithBounds0 CheckPartialEvaluateWithBounds0 Let_In] in *;
- break_innermost_match_hyps; inversion_sum; subst.
- split.
- { exact admit. (* correctness of interp *) }
- { eapply ZRange.type.option.is_tighter_than_is_bounded_by; [ eassumption | ].
- cbv [expr.Interp].
- exact admit. (* boundedness *) }
- Qed.
-
- Module DeadCodeElimination.
- Fixpoint compute_live' {t} (e : @expr (fun _ => PositiveSet.t) t) (cur_idx : positive)
- : positive * PositiveSet.t
- := match e with
- | Var t v => (cur_idx, v)
- | TT => (cur_idx, PositiveSet.empty)
- | AppIdent s d idc args
- => let default _ := @compute_live' _ args cur_idx in
- match args in expr.expr t return ident.ident t d -> _ with
- | Pair A B x (Abs s d f)
- => fun idc
- => match idc with
- | ident.Let_In _ _
- => let '(idx, live) := @compute_live' A x cur_idx in
- let '(_, live) := @compute_live' _ (f (PositiveSet.add idx live)) (Pos.succ idx) in
- (Pos.succ idx, live)
- | _ => default tt
- end
- | _ => fun _ => default tt
- end idc
- | App s d f x
- => let '(idx, live1) := @compute_live' _ f cur_idx in
- let '(idx, live2) := @compute_live' _ x idx in
- (idx, PositiveSet.union live1 live2)
- | Pair A B a b
- => let '(idx, live1) := @compute_live' A a cur_idx in
- let '(idx, live2) := @compute_live' B b idx in
- (idx, PositiveSet.union live1 live2)
- | Abs s d f
- => let '(_, live) := @compute_live' _ (f PositiveSet.empty) cur_idx in
- (cur_idx, live)
- end.
- Definition compute_live {t} e : PositiveSet.t := snd (@compute_live' t e 1).
- Definition ComputeLive {t} (e : Expr t) := compute_live (e _).
-
- Section with_var.
- Context {var : type -> Type}
- (live : PositiveSet.t).
- Definition OUGHT_TO_BE_UNUSED {T1 T2} (v : T1) (v' : T2) := v.
- Global Opaque OUGHT_TO_BE_UNUSED.
- Fixpoint eliminate_dead' {t} (e : @expr (@expr var) t) (cur_idx : positive)
- : positive * @expr var t
- := match e with
- | Var t v => (cur_idx, v)
- | TT => (cur_idx, TT)
- | AppIdent s d idc args
- => let default _
- := let default' := @eliminate_dead' _ args cur_idx in
- (fst default', AppIdent idc (snd default')) in
- match args in expr.expr t return ident.ident t d -> (unit -> positive * expr d) -> positive * expr d with
- | Pair A B x y
- => match y in expr.expr Y return ident.ident (A * Y) d -> (unit -> positive * expr d) -> positive * expr d with
- | Abs s' d' f
- => fun idc
- => let '(idx, x') := @eliminate_dead' A x cur_idx in
- let f' := fun v => snd (@eliminate_dead' _ (f v) (Pos.succ idx)) in
- match idc in ident.ident s d
- return (match s return Type with
- | A * _ => expr A
- | _ => unit
- end%ctype
- -> match s return Type with
- | _ * (s -> d) => (expr s -> expr d)%type
- | _ => unit
- end%ctype
- -> (unit -> positive * expr d)
- -> positive * expr d)
- with
- | ident.Let_In _ _
- => fun x' f' _
- => if PositiveSet.mem idx live
- then (Pos.succ idx, AppIdent ident.Let_In (Pair x' (Abs (fun v => f' (Var v)))))
- else (Pos.succ idx, f' (OUGHT_TO_BE_UNUSED x' (Pos.succ idx, PositiveSet.elements live)))
- | _ => fun _ _ default => default tt
- end x' f'
- | _ => fun _ default => default tt
- end
- | _ => fun _ default => default tt
- end idc default
- | App s d f x
- => let '(idx, f') := @eliminate_dead' _ f cur_idx in
- let '(idx, x') := @eliminate_dead' _ x idx in
- (idx, App f' x')
- | Pair A B a b
- => let '(idx, a') := @eliminate_dead' A a cur_idx in
- let '(idx, b') := @eliminate_dead' B b idx in
- (idx, Pair a' b')
- | Abs s d f
- => (cur_idx, Abs (fun v => snd (@eliminate_dead' _ (f (Var v)) cur_idx)))
- end.
-
- Definition eliminate_dead {t} e : expr t
- := snd (@eliminate_dead' t e 1).
- End with_var.
-
- Definition EliminateDead {t} (e : Expr t) : Expr t
- := fun var => eliminate_dead (ComputeLive e) (e _).
- End DeadCodeElimination.
-
- Module Subst01.
- Local Notation PositiveMap_incr idx m
- := (PositiveMap.add idx (match PositiveMap.find idx m with
- | Some n => S n
- | None => S O
- end) m).
- Local Notation PositiveMap_union m1 m2
- := (PositiveMap.map2
- (fun c1 c2
- => match c1, c2 with
- | Some n1, Some n2 => Some (n1 + n2)%nat
- | Some n, None
- | None, Some n
- => Some n
- | None, None => None
- end) m1 m2).
- Fixpoint compute_live_counts' {t} (e : @expr (fun _ => positive) t) (cur_idx : positive)
- : positive * PositiveMap.t nat
- := match e with
- | Var t v => (cur_idx, PositiveMap_incr v (PositiveMap.empty _))
- | TT => (cur_idx, PositiveMap.empty _)
- | AppIdent s d idc args
- => @compute_live_counts' _ args cur_idx
- | App s d f x
- => let '(idx, live1) := @compute_live_counts' _ f cur_idx in
- let '(idx, live2) := @compute_live_counts' _ x idx in
- (idx, PositiveMap_union live1 live2)
- | Pair A B a b
- => let '(idx, live1) := @compute_live_counts' A a cur_idx in
- let '(idx, live2) := @compute_live_counts' B b idx in
- (idx, PositiveMap_union live1 live2)
- | Abs s d f
- => let '(idx, live) := @compute_live_counts' _ (f cur_idx) (Pos.succ cur_idx) in
- (cur_idx, live)
- end.
- Definition compute_live_counts {t} e : PositiveMap.t _ := snd (@compute_live_counts' t e 1).
- Definition ComputeLiveCounts {t} (e : Expr t) := compute_live_counts (e _).
-
- Section with_var.
- Context {var : type -> Type}
- (live : PositiveMap.t nat).
- Fixpoint subst01' {t} (e : @expr (@expr var) t) (cur_idx : positive)
- : positive * @expr var t
- := match e with
- | Var t v => (cur_idx, v)
- | TT => (cur_idx, TT)
- | AppIdent s d idc args
- => let default _
- := let default := @subst01' _ args cur_idx in
- (fst default, AppIdent idc (snd default)) in
- match args in expr.expr t return ident.ident t d -> (unit -> positive * expr d) -> positive * expr d with
- | Pair A B x y
- => match y in expr.expr Y return ident.ident (A * Y) d -> (unit -> positive * expr d) -> positive * expr d with
- | Abs s' d' f
- => fun idc
- => let '(idx, x') := @subst01' A x cur_idx in
- let f' := fun v => snd (@subst01' _ (f v) (Pos.succ idx)) in
- match idc in ident.ident s d
- return (match s return Type with
- | A * _ => expr A
- | _ => unit
- end%ctype
- -> match s return Type with
- | _ * (s -> d) => (expr s -> expr d)%type
- | _ => unit
- end%ctype
- -> (unit -> positive * expr d)
- -> positive * expr d)
- with
- | ident.Let_In _ _
- => fun x' f' _
- => if match PositiveMap.find idx live with
- | Some n => (n <=? 1)%nat
- | None => true
- end
- then (Pos.succ idx, f' x')
- else (Pos.succ idx, AppIdent ident.Let_In (Pair x' (Abs (fun v => f' (Var v)))))
- | _ => fun _ _ default => default tt
- end x' f'
- | _ => fun _ default => default tt
- end
- | _ => fun _ default => default tt
- end idc default
- | App s d f x
- => let '(idx, f') := @subst01' _ f cur_idx in
- let '(idx, x') := @subst01' _ x idx in
- (idx, App f' x')
- | Pair A B a b
- => let '(idx, a') := @subst01' A a cur_idx in
- let '(idx, b') := @subst01' B b idx in
- (idx, Pair a' b')
- | Abs s d f
- => (cur_idx, Abs (fun v => snd (@subst01' _ (f (Var v)) (Pos.succ cur_idx))))
- end.
-
- Definition subst01 {t} e : expr t
- := snd (@subst01' t e 1).
- End with_var.
-
- Definition Subst01 {t} (e : Expr t) : Expr t
- := fun var => subst01 (ComputeLiveCounts e) (e _).
- End Subst01.
-
- Module ReassociateSmallConstants.
- Import Compilers.Uncurried.expr.default.
-
- Section with_var.
- Context (max_const_val : Z)
- {var : type -> Type}.
-
- Fixpoint to_mul_list (e : @expr var type.Z) : list (@expr var type.Z)
- := match e in expr.expr t return list (@expr var t) with
- | AppIdent s type.Z ident.Z_mul (Pair type.Z type.Z x y)
- => to_mul_list x ++ to_mul_list y
- | Var _ _ as e
- | TT as e
- | App _ _ _ _ as e
- | Abs _ _ _ as e
- | Pair _ _ _ _ as e
- | AppIdent _ _ _ _ as e
- => [e]
- end.
-
- Definition is_small_prim (e : @expr var type.Z) : bool
- := match e with
- | AppIdent _ _ (ident.primitive type.Z v) _
- => Z.abs v <=? Z.abs max_const_val
- | _ => false
- end.
- Definition is_not_small_prim (e : @expr var type.Z) : bool
- := negb (is_small_prim e).
-
- Definition reorder_mul_list (ls : list (@expr var type.Z))
- : list (@expr var type.Z)
- := filter is_not_small_prim ls ++ filter is_small_prim ls.
-
- Fixpoint of_mul_list (ls : list (@expr var type.Z)) : @expr var type.Z
- := match ls with
- | nil => AppIdent (ident.primitive (t:=type.Z) 1) TT
- | cons x nil
- => x
- | cons x xs
- => AppIdent ident.Z_mul (x, of_mul_list xs)
- end.
-
- Fixpoint reassociate {t} (e : @expr var t) : @expr var t
- := match e in expr.expr t return expr t with
- | Var _ _ as e
- | TT as e
- => e
- | Pair A B a b
- => Pair (@reassociate A a) (@reassociate B b)
- | App s d f x => App (@reassociate _ f) (@reassociate _ x)
- | Abs s d f => Abs (fun v => @reassociate _ (f v))
- | AppIdent s type.Z idc args
- => of_mul_list (reorder_mul_list (to_mul_list (AppIdent idc (@reassociate s args))))
- | AppIdent s d idc args
- => AppIdent idc (@reassociate s args)
- end.
- End with_var.
-
- Definition Reassociate (max_const_val : Z) {t} (e : Expr t) : Expr t
- := fun var => reassociate max_const_val (e _).
- End ReassociateSmallConstants.
-End Compilers.
-Import Associational Positional Compilers.
-Local Coercion Z.of_nat : nat >-> Z.
-Local Coercion QArith_base.inject_Z : Z >-> Q.
-
-(** TODO: FILES:
-- Uncurried expr + reification + list canonicalization
-- cps
-- partial evaluation + DCE
-- reassociation
-- indexed + bounds analysis + of phoas *)
-
-Import Uncurried.
-Import expr.
-Import for_reification.Notations.Reification.
-
-Notation "x + y"
- := (AppIdent ident.Z.add (x, y)%expr)
- : expr_scope.
-Notation "x * y"
- := (AppIdent ident.Z.mul (x, y)%expr)
- : expr_scope.
-Notation "x" := (Var x) (only printing, at level 9) : expr_scope.
-
-Example test1 : True.
-Proof.
- let v := Reify ((fun x => 2^x) 255)%Z in
- pose v as E.
- vm_compute in E.
- pose (PartialEvaluate false (canonicalize_list_recursion E)) as E'.
- vm_compute in E'.
- lazymatch (eval cbv delta [E'] in E') with
- | (fun var => AppIdent (ident.primitive ?v) TT) => idtac
- end.
- constructor.
-Qed.
-Module test2.
- Example test2 : True.
- Proof.
- let v := Reify (fun y : Z
- => (fun k : Z * Z -> Z * Z
- => dlet_nd x := (y * y) in
- dlet_nd z := (x * x) in
- k (z, z))
- (fun v => v)) in
- pose v as E.
- vm_compute in E.
- pose (PartialEvaluate false (canonicalize_list_recursion E)) as E'.
- vm_compute in E'.
- lazymatch (eval cbv delta [E'] in E') with
- | (fun var : type -> Type =>
- (λ x : var (type.type_primitive type.Z),
- expr_let x0 := (Var x * Var x) in
- expr_let x1 := (Var x0 * Var x0) in
- (Var x1, Var x1))%expr) => idtac
- end.
- pose (PartialEvaluateWithBounds1 E' (Some r[0~>10]%zrange)) as E''.
- lazy in E''.
- lazymatch (eval cbv delta [E''] in E'') with
- | (fun var : type -> Type =>
- (λ x : var (type.type_primitive type.Z),
- expr_let y := ident.Z.cast r[0 ~> 100] @@ (Var x * Var x) in
- expr_let y0 := ident.Z.cast r[0 ~> 10000] @@ (Var y * Var y) in
- (ident.Z.cast r[0 ~> 10000] @@ Var y0, ident.Z.cast r[0 ~> 10000] @@ Var y0))%expr)
- => idtac
- end.
- constructor.
- Qed.
-End test2.
-Module test3.
- Example test3 : True.
- Proof.
- let v := Reify (fun y : Z
- => dlet_nd x := dlet_nd x := (y * y) in
- (x * x) in
- dlet_nd z := dlet_nd z := (x * x) in
- (z * z) in
- (z * z)) in
- pose v as E.
- vm_compute in E.
- pose (option_map (PartialEvaluate false) (CPS.CallFunWithIdContinuation (CPS.Translate (canonicalize_list_recursion E)))) as E'.
- vm_compute in E'.
- lazymatch (eval cbv delta [E'] in E') with
- | (Some
- (fun var : type -> Type =>
- (λ x : var (type.type_primitive type.Z),
- expr_let x0 := Var x * Var x in
- expr_let x1 := Var x0 * Var x0 in
- expr_let x2 := Var x1 * Var x1 in
- expr_let x3 := Var x2 * Var x2 in
- Var x3 * Var x3)%expr))
- => idtac
- end.
- pose (PartialEvaluateWithBounds1 (invert_Some E') (Some r[0~>10]%zrange)) as E'''.
- lazy in E'''.
- lazymatch (eval cbv delta [E'''] in E''') with
- | (fun var : type -> Type =>
- (λ x : var (type.type_primitive type.Z),
- expr_let y := ident.Z.cast r[0 ~> 100] @@ (Var x * Var x) in
- expr_let y0 := ident.Z.cast r[0 ~> 10000] @@ (Var y * Var y) in
- expr_let y1 := ident.Z.cast r[0 ~> 100000000] @@ (Var y0 * Var y0) in
- expr_let y2 := ident.Z.cast r[0 ~> 10000000000000000] @@ (Var y1 * Var y1) in
- ident.Z.cast r[0 ~> 100000000000000000000000000000000] @@ (Var y2 * Var y2))%expr)
- => idtac
- end.
- constructor.
- Qed.
-End test3.
-Module test4.
- Example test4 : True.
- Proof.
- let v := Reify (fun y : (list Z * list Z)
- => dlet_nd x := List.nth_default (-1) (fst y) 0 in
- dlet_nd z := List.nth_default (-1) (snd y) 0 in
- dlet_nd xz := (x * z) in
- (xz :: xz :: nil)) in
- pose v as E.
- vm_compute in E.
- pose (option_map (PartialEvaluate false) (CPS.CallFunWithIdContinuation (CPS.Translate (canonicalize_list_recursion E)))) as E'.
- lazy in E'.
- clear E.
- pose (PartialEvaluateWithBounds1 (invert_Some E') (Some [Some r[0~>10]%zrange],Some [Some r[0~>10]%zrange])) as E''.
- lazy in E''.
- lazymatch (eval cbv delta [E''] in E'') with
- | (fun var : type -> Type =>
- (λ x : var (type.list (type.type_primitive type.Z) * type.list (type.type_primitive type.Z))%ctype,
- expr_let y := ident.Z.cast r[0 ~> 10] @@
- (ident.List.nth_default_concrete (-1) 0 @@ (ident.fst @@ Var x)) in
- expr_let y0 := ident.Z.cast r[0 ~> 10] @@
- (ident.List.nth_default_concrete (-1) 0 @@ (ident.snd @@ Var x)) in
- expr_let y1 := ident.Z.cast r[0 ~> 100] @@ (Var y * Var y0) in
- ident.Z.cast r[0 ~> 100] @@ Var y1 :: ident.Z.cast r[0 ~> 100] @@ Var y1 :: [])%expr)
- => idtac
- end.
- constructor.
- Qed.
-End test4.
-Module test5.
- Example test5 : True.
- Proof.
- let v := Reify (fun y : (Z * Z)
- => dlet_nd x := (13 * (fst y * snd y)) in
- x) in
- pose v as E.
- vm_compute in E.
- pose (ReassociateSmallConstants.Reassociate (2^8) (PartialEvaluate false (invert_Some (CPS.CallFunWithIdContinuation (CPS.Translate (canonicalize_list_recursion E)))))) as E'.
- lazy in E'.
- clear E.
- lazymatch (eval cbv delta [E'] in E') with
- | (fun var =>
- Abs (fun v
- => (expr_let v0 := ident.Z.mul @@ (ident.fst @@ Var v, ident.Z.mul @@ (ident.snd @@ Var v, ident.primitive 13 @@ TT)) in
- Var v0)%expr))
- => idtac
- end.
- constructor.
- Qed.
-End test5.
-Module test6.
- (* check for no dead code with if *)
- Example test6 : True.
- Proof.
- let v := Reify (fun y : Z
- => if 0 =? 1
- then dlet_nd x := (y * y) in
- x
- else y) in
- pose v as E.
- vm_compute in E.
- pose (CPS.CallFunWithIdContinuation (CPS.Translate (canonicalize_list_recursion E))) as E'.
- lazy in E'.
- clear E.
- pose (PartialEvaluate false (invert_Some E')) as E''.
- lazy in E''.
- lazymatch eval cbv delta [E''] in E'' with
- | fun var : type -> Type => (λ x : var (type.type_primitive type.Z), Var x)%expr
- => idtac
- end.
- exact I.
- Qed.
-End test6.
-Module test7.
- Example test7 : True.
- Proof.
- let v := Reify (fun y : Z
- => dlet_nd x := y + y in
- dlet_nd z := x in
- dlet_nd z' := z in
- dlet_nd z'' := z in
- z'' + z'') in
- pose v as E.
- vm_compute in E.
- pose (canonicalize_list_recursion E) as E'.
- lazy in E'.
- clear E.
- pose (Subst01.Subst01 (DeadCodeElimination.EliminateDead E')) as E''.
- lazy in E''.
- lazymatch eval cbv delta [E''] in E'' with
- | fun var : type -> Type => (λ x : var (type.type_primitive type.Z), expr_let v0 := Var x + Var x in Var v0 + Var v0)%expr
- => idtac
- end.
- exact I.
- Qed.
-End test7.
-Module test8.
- Example test8 : True.
- Proof.
- let v := Reify (fun y : Z
- => dlet_nd x := y + y in
- dlet_nd z := x in
- dlet_nd z' := z in
- dlet_nd z'' := z in
- z'' + z'') in
- pose v as E.
- vm_compute in E.
- pose (canonicalize_list_recursion E) as E'.
- lazy in E'.
- clear E.
- pose (GeneralizeVar.GeneralizeVar (E' _)) as E''.
- lazy in E''.
- unify E' E''.
- exact I.
- Qed.
-End test8.
-Module test9.
- Example test9 : True.
- Proof.
- let v := Reify (fun y : list Z => (hd 0%Z y, tl y)) in
- pose v as E.
- vm_compute in E.
- pose (PartialEvaluate true (canonicalize_list_recursion E)) as E'.
- lazy in E'.
- clear E.
- lazymatch (eval cbv delta [E'] in E') with
- | (fun var
- => (λ x,
- (ident.list_rect
- @@
- ((λ _, ident.primitive 0%Z @@ TT),
- (λ x0, ident.fst @@ (ident.fst @@ Var x0)),
- Var x),
- ident.list_rect
- @@
- ((λ _, ident.nil @@ TT),
- (λ x0, ident.snd @@ (ident.fst @@ Var x0)),
- Var x)))%expr)
- => idtac
- end.
- exact I.
- Qed.
-End test9.
-Module test10.
- Example test10 : True.
- Proof.
- let v := Reify (fun (f : Z -> Z -> Z) x y => f (x + y) (x * y))%Z in
- pose v as E.
- vm_compute in E.
- pose (Uncurry.expr.Uncurry (PartialEvaluate true (canonicalize_list_recursion E))) as E'.
- lazy in E'.
- clear E.
- lazymatch (eval cbv delta [E'] in E') with
- | (fun var =>
- (λ v,
- ident.fst @@ Var v @
- (ident.fst @@ (ident.snd @@ Var v) + ident.snd @@ (ident.snd @@ Var v)) @
- (ident.fst @@ (ident.snd @@ Var v) * ident.snd @@ (ident.snd @@ Var v)))%expr)
- => idtac
- end.
- constructor.
- Qed.
-End test10.
-Module test11.
- Example test11 : True.
- Proof.
- let v := Reify (fun x y => (fun f a b => f a b) (fun a b => a + b) (x + y) (x * y))%Z in
- pose v as E.
- vm_compute in E.
- pose (Uncurry.expr.Uncurry (PartialEvaluate true (canonicalize_list_recursion E))) as E'.
- lazy in E'.
- clear E.
- lazymatch (eval cbv delta [E'] in E') with
- | (fun var =>
- (λ x,
- ident.fst @@ Var x + ident.snd @@ Var x + ident.fst @@ Var x * ident.snd @@ Var x)%expr)
- => idtac
- end.
- constructor.
- Qed.
-End test11.
-Axiom admit_pf : False.
-Notation admit := (match admit_pf with end).
-Ltac cache_reify _ :=
- intros;
- etransitivity;
- [
- | repeat apply (f_equal (fun f => f _));
- Reify_rhs ();
- reflexivity ];
- cbv beta;
- let RHS := match goal with |- _ = ?RHS => RHS end in
- let e := match RHS with context[expr.Interp _ ?e] => e end in
- let E := fresh "E" in
- set (E := e);
- let E' := constr:(canonicalize_list_recursion E) in
- let LHS := match goal with |- ?LHS = _ => LHS end in
- lazymatch LHS with
- | context LHS[@expr.Interp ?ident ?interp_ident ?t ?e]
- => let LHS := context LHS[@expr.Interp ident interp_ident t E'] in
- transitivity LHS; [ | clear e ]
- end;
- [ repeat match goal with |- context[expr.Interp _ _ _] => apply (f_equal (fun f => f _)) end;
- apply f_equal;
- lazymatch goal with |- ?LHS = ?RHS => subst LHS end;
- let RHS := lazymatch goal with |- ?LHS = ?RHS => RHS end in
- time (let RHS' := (eval vm_compute in RHS) in (* [vm_compute] is much faster than [lazy] here on large things *)
- time instantiate (1:=RHS');
- vm_cast_no_check (eq_refl RHS'))
- | clearbody E ].
-
-Create HintDb reify_gen_cache.
-
-Derive carry_mul_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (f g : list Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat)
- (idxs : list nat)
- (len_idxs : nat),
- Interp (t:=type.reify_type_of carry_mulmod)
- carry_mul_gen limbwidth_num limbwidth_den s c n len_c idxs len_idxs f g
- = carry_mulmod limbwidth_num limbwidth_den s c n len_c idxs len_idxs f g)
- As carry_mul_gen_correct.
-Proof. Time cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Time Qed.
-Hint Extern 1 (_ = carry_mulmod _ _ _ _ _ _ _ _ _ _) => simple apply carry_mul_gen_correct : reify_gen_cache.
-
-Derive carry_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (f : list Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat)
- (idxs : list nat)
- (len_idxs : nat),
- Interp (t:=type.reify_type_of carrymod)
- carry_gen limbwidth_num limbwidth_den s c n len_c idxs len_idxs f
- = carrymod limbwidth_num limbwidth_den s c n len_c idxs len_idxs f)
- As carry_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = carrymod _ _ _ _ _ _ _ _ _) => simple apply carry_gen_correct : reify_gen_cache.
-
-Derive encode_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (v : Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat),
- Interp (t:=type.reify_type_of encodemod)
- encode_gen limbwidth_num limbwidth_den s c n len_c v
- = encodemod limbwidth_num limbwidth_den s c n len_c v)
- As encode_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = encodemod _ _ _ _ _ _ _) => simple apply encode_gen_correct : reify_gen_cache.
-
-Derive add_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (f g : list Z)
- (n : nat),
- Interp (t:=type.reify_type_of addmod)
- add_gen limbwidth_num limbwidth_den n f g
- = addmod limbwidth_num limbwidth_den n f g)
- As add_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = addmod _ _ _ _ _) => simple apply add_gen_correct : reify_gen_cache.
-Derive sub_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat)
- (coef : Z)
- (f g : list Z),
- Interp (t:=type.reify_type_of submod)
- sub_gen limbwidth_num limbwidth_den s c n len_c coef f g
- = submod limbwidth_num limbwidth_den s c n len_c coef f g)
- As sub_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = submod _ _ _ _ _ _ _ _ _) => simple apply sub_gen_correct : reify_gen_cache.
-
-Derive opp_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat)
- (coef : Z)
- (f : list Z),
- Interp (t:=type.reify_type_of oppmod)
- opp_gen limbwidth_num limbwidth_den s c n len_c coef f
- = oppmod limbwidth_num limbwidth_den s c n len_c coef f)
- As opp_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = oppmod _ _ _ _ _ _ _ _) => simple apply opp_gen_correct : reify_gen_cache.
-
-Definition zeromod limbwidth_num limbwidth_den n s c len_c := encodemod limbwidth_num limbwidth_den n s c len_c 0.
-Definition onemod limbwidth_num limbwidth_den n s c len_c := encodemod limbwidth_num limbwidth_den n s c len_c 1.
-
-Derive zero_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat),
- Interp (t:=type.reify_type_of zeromod)
- zero_gen limbwidth_num limbwidth_den s c n len_c
- = zeromod limbwidth_num limbwidth_den s c n len_c)
- As zero_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = zeromod _ _ _ _ _ _) => simple apply zero_gen_correct : reify_gen_cache.
-
-Derive one_gen
- SuchThat (forall (limbwidth_num limbwidth_den : Z)
- (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (len_c : nat),
- Interp (t:=type.reify_type_of onemod)
- one_gen limbwidth_num limbwidth_den s c n len_c
- = onemod limbwidth_num limbwidth_den s c n len_c)
- As one_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = onemod _ _ _ _ _ _) => simple apply one_gen_correct : reify_gen_cache.
-
-Derive id_gen
- SuchThat (forall (n : nat)
- (ls : list Z),
- Interp (t:=type.reify_type_of expanding_id)
- id_gen n ls
- = expanding_id n ls)
- As id_gen_correct.
-Proof. cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Qed.
-Hint Extern 1 (_ = expanding_id _ _) => simple apply id_gen_correct : reify_gen_cache.
-
-Import Uncurry.
-Module Pipeline.
- Import GeneralizeVar.
- Inductive ErrorMessage :=
- | Computed_bounds_are_not_tight_enough
- {t} (computed_bounds expected_bounds : ZRange.type.option.interp t)
- {s} (syntax_tree : Expr (s -> t)) (arg_bounds : ZRange.type.option.interp s)
- | Bounds_analysis_failed
- | Type_too_complicated_for_cps (t : type)
- | Value_not_le (descr : string) {T'} (lhs rhs : T')
- | Value_not_lt (descr : string) {T'} (lhs rhs : T')
- | Values_not_provably_distinct (descr : string) {T'} (lhs rhs : T')
- | Values_not_provably_equal (descr : string) {T'} (lhs rhs : T').
-
- Inductive ErrorT {T} :=
- | Success (v : T)
- | Error (msg : ErrorMessage).
- Global Arguments ErrorT : clear implicits.
-
- Definition invert_result {T} (v : ErrorT T)
- := match v return match v with Success _ => T | _ => ErrorMessage end with
- | Success v => v
- | Error msg => msg
- end.
-
- Definition PrePipeline
- {t}
- (E : for_reification.Expr t)
- : Expr t
- := canonicalize_list_recursion E.
-
- Lemma PrePipeline_correct {t} (E : for_reification.Expr t) v
- : expr.Interp (@ident.interp) v =
- expr.Interp (@for_reification.ident.interp) E.
- Admitted.
-
- Definition BoundsPipeline
- (with_dead_code_elimination : bool := true)
- (with_subst01 : bool)
- relax_zrange
- {t}
- (E : Expr t)
- arg_bounds
- out_bounds
- : ErrorT (Expr (type.uncurry t))
- := let E := expr.Uncurry E in
- let E := CPS.CallFunWithIdContinuation (CPS.Translate E) in
- match E with
- | Some E
- => (let E := PartialEvaluate false E in
- (* Note that DCE evaluates the expr with two different
- [var] arguments, and so results in a pipeline that is
- 2x slower unless we pass through a uniformly concrete
- [var] type first *)
- dlet_nd e := ToFlat E in
- let E := FromFlat e in
- let E := if with_dead_code_elimination then DeadCodeElimination.EliminateDead E else E in
- dlet_nd e := ToFlat E in
- let E := FromFlat e in
- let E := if with_subst01 then Subst01.Subst01 E else E in
- let E := ReassociateSmallConstants.Reassociate (2^8) E in
- let E := CheckedPartialEvaluateWithBounds1 relax_zrange E arg_bounds out_bounds in
- match E with
- | inl E => Success E
- | inr (b, E)
- => Error (Computed_bounds_are_not_tight_enough b out_bounds E arg_bounds)
- end)
- | None => Error (Type_too_complicated_for_cps t)
- end.
-
- Lemma BoundsPipeline_correct
- (with_dead_code_elimination : bool := true)
- (with_subst01 : bool)
- relax_zrange
- (Hrelax : forall r r' z : zrange,
- (z <=? r)%zrange = true -> relax_zrange r = Some r' -> (z <=? r')%zrange = true)
- {t}
- (e : Expr t)
- arg_bounds
- out_bounds
- rv
- (Hrv : BoundsPipeline (*with_dead_code_elimination*) with_subst01 relax_zrange e arg_bounds out_bounds = Success rv)
- : forall arg
- (Harg : ZRange.type.option.is_bounded_by arg_bounds arg = true),
- ZRange.type.option.is_bounded_by out_bounds (Interp rv arg) = true
- /\ Interp rv arg = app_curried (Interp e) arg.
- Proof.
- cbv [BoundsPipeline Let_In] in *;
- repeat match goal with
- | [ H : match ?x with _ => _ end = Success _ |- _ ]
- => destruct x eqn:?; cbv beta iota in H; [ | destruct_head'_prod; congruence ];
- let H' := fresh in
- inversion H as [H']; clear H; rename H' into H
- end.
- { intros;
- match goal with
- | [ H : _ = _ |- _ ]
- => eapply CheckedPartialEvaluateWithBounds1_Correct in H;
- [ destruct H as [H0 H1] | .. ]
- end;
- [
- | eassumption || (try reflexivity).. ].
- refine (let H' := admit (* interp correctness *) in
- conj _ (eq_trans H' _));
- clearbody H'.
- { rewrite H'; eassumption. }
- { rewrite H0.
- exact admit. (* interp correctness *) } }
- Qed.
-
- Definition BoundsPipeline_correct_transT
- {t}
- arg_bounds
- out_bounds
- (InterpE : type.interp t)
- (rv : Expr (type.uncurry t))
- := forall arg
- (Harg : ZRange.type.option.is_bounded_by arg_bounds arg = true),
- ZRange.type.option.is_bounded_by out_bounds (Interp rv arg) = true
- /\ Interp rv arg = app_curried InterpE arg.
-
- Lemma BoundsPipeline_correct_trans
- (with_dead_code_elimination : bool := true)
- (with_subst01 : bool)
- relax_zrange
- (Hrelax
- : forall r r' z : zrange,
- (z <=? r)%zrange = true -> relax_zrange r = Some r' -> (z <=? r')%zrange = true)
- {t}
- (e : Expr t)
- arg_bounds out_bounds
- (InterpE : type.interp t)
- (InterpE_correct
- : forall arg
- (Harg : ZRange.type.option.is_bounded_by arg_bounds arg = true),
- app_curried (Interp e) arg = app_curried InterpE arg)
- rv
- (Hrv : BoundsPipeline (*with_dead_code_elimination*) with_subst01 relax_zrange e arg_bounds out_bounds = Success rv)
- : BoundsPipeline_correct_transT arg_bounds out_bounds InterpE rv.
- Proof.
- intros arg Harg; rewrite <- InterpE_correct by assumption.
- eapply @BoundsPipeline_correct; eassumption.
- Qed.
-
- Definition BoundsPipeline_full
- (with_dead_code_elimination : bool := true)
- (with_subst01 : bool)
- relax_zrange
- {t}
- (E : for_reification.Expr t)
- arg_bounds
- out_bounds
- : ErrorT (Expr (type.uncurry t))
- := let E := PrePipeline E in
- @BoundsPipeline
- (*with_dead_code_elimination*)
- with_subst01
- relax_zrange
- t E arg_bounds out_bounds.
-
- Lemma BoundsPipeline_full_correct
- (with_dead_code_elimination : bool := true)
- (with_subst01 : bool)
- relax_zrange
- (Hrelax : forall r r' z : zrange,
- (z <=? r)%zrange = true -> relax_zrange r = Some r' -> (z <=? r')%zrange = true)
- {t}
- (E : for_reification.Expr t)
- arg_bounds
- out_bounds
- rv
- (Hrv : BoundsPipeline_full (*with_dead_code_elimination*) with_subst01 relax_zrange E arg_bounds out_bounds = Success rv)
- : forall arg
- (Harg : ZRange.type.option.is_bounded_by arg_bounds arg = true),
- ZRange.type.option.is_bounded_by out_bounds (Interp rv arg) = true
- /\ Interp rv arg = app_curried (for_reification.Interp E) arg.
- Proof.
- cbv [BoundsPipeline_full] in *.
- eapply BoundsPipeline_correct_trans; [ eassumption | | eassumption.. ].
- intros; erewrite PrePipeline_correct; reflexivity.
- Qed.
-End Pipeline.
-
-Definition round_up_bitwidth_gen (possible_values : list Z) (bitwidth : Z) : option Z
- := List.fold_right
- (fun allowed cur
- => if bitwidth <=? allowed
- then Some allowed
- else cur)
- None
- possible_values.
-
-Lemma round_up_bitwidth_gen_le possible_values bitwidth v
- : round_up_bitwidth_gen possible_values bitwidth = Some v
- -> bitwidth <= v.
-Proof.
- cbv [round_up_bitwidth_gen].
- induction possible_values as [|x xs IHxs]; cbn; intros; inversion_option.
- break_innermost_match_hyps; Z.ltb_to_lt; inversion_option; subst; trivial.
- specialize_by_assumption; omega.
-Qed.
-
-Definition relax_zrange_gen (possible_values : list Z) : zrange -> option zrange
- := (fun '(r[ l ~> u ])
- => if (0 <=? l)%Z
- then option_map (fun u => r[0~>2^u-1])
- (round_up_bitwidth_gen possible_values (Z.log2_up (u+1)))
- else None)%zrange.
-
-Lemma relax_zrange_gen_good
- (possible_values : list Z)
- : forall r r' z : zrange,
- (z <=? r)%zrange = true -> relax_zrange_gen possible_values r = Some r' -> (z <=? r')%zrange = true.
-Proof.
- cbv [is_tighter_than_bool relax_zrange_gen]; intros *.
- pose proof (Z.log2_up_nonneg (upper r + 1)).
- rewrite !Bool.andb_true_iff; destruct_head' zrange; cbn [ZRange.lower ZRange.upper] in *.
- cbv [fold_right option_map].
- break_innermost_match; intros; destruct_head'_and;
- try match goal with
- | [ H : _ |- _ ] => apply round_up_bitwidth_gen_le in H
- end;
- inversion_option; inversion_zrange;
- subst;
- repeat apply conj;
- Z.ltb_to_lt; try omega;
- try (rewrite <- Z.log2_up_le_pow2_full in *; omega).
-Qed.
-
-(** XXX TODO: Translate Jade's python script *)
-Section rcarry_mul.
- Context (n : nat)
- (s : Z)
- (c : list (Z * Z))
- (machine_wordsize : Z).
-
- Let limbwidth := (Z.log2_up (s - Associational.eval c) / Z.of_nat n)%Q.
- Let idxs := (seq 0 n ++ [0; 1])%list%nat.
- Let coef := 2.
- Let tight_upperbounds : list Z
- := List.map
- (fun v : Z => Qceiling (11/10 * v))
- (encode (weight (Qnum limbwidth) (Qden limbwidth)) n s c (s-1)).
- Let prime_bound : ZRange.type.option.interp (type.Z)
- := Some r[0~>(s - Associational.eval c - 1)]%zrange.
-
- Definition relax_zrange_of_machine_wordsize
- := relax_zrange_gen [machine_wordsize; 2 * machine_wordsize]%Z.
-
- Let relax_zrange := relax_zrange_of_machine_wordsize.
- Let tight_bounds : list (ZRange.type.option.interp type.Z)
- := List.map (fun u => Some r[0~>u]%zrange) tight_upperbounds.
- Let loose_bounds : list (ZRange.type.option.interp type.Z)
- := List.map (fun u => Some r[0 ~> 3*u]%zrange) tight_upperbounds.
-
- Definition check_args {T} (res : Pipeline.ErrorT T)
- : Pipeline.ErrorT T
- := if negb (Qle_bool 1 limbwidth)%Q
- then Pipeline.Error (Pipeline.Value_not_le "1 ≤ limbwidth" 1%Q limbwidth)
- else if (negb (0 <? s - Associational.eval c))%Z
- then Pipeline.Error (Pipeline.Value_not_lt "s - Associational.eval c ≤ 0" 0 (s - Associational.eval c))
- else if (s =? 0)%Z
- then Pipeline.Error (Pipeline.Values_not_provably_distinct "s ≠ 0" s 0)
- else if (n =? 0)%nat
- then Pipeline.Error (Pipeline.Values_not_provably_distinct "n ≠ 0" n 0%nat)
- else if (negb (0 <? machine_wordsize))
- then Pipeline.Error (Pipeline.Value_not_lt "0 < machine_wordsize" 0 machine_wordsize)
- else res.
-
- Notation type_of_strip_3arrow := ((fun (d : Prop) (_ : forall A B C, d) => d) _).
-
- Notation BoundsPipeline rop in_bounds out_bounds
- := (Pipeline.BoundsPipeline
- (*false*) true
- relax_zrange
- rop%Expr in_bounds out_bounds).
-
- Notation BoundsPipeline_correct in_bounds out_bounds op
- := (fun rv (rop : Expr (type.reify_type_of op)) Hrop
- => @Pipeline.BoundsPipeline_correct_trans
- (*false*) true
- relax_zrange
- (relax_zrange_gen_good _)
- _
- rop
- in_bounds
- out_bounds
- op
- Hrop rv)
- (only parsing).
-
- (* N.B. We only need [rcarry_mul] if we want to extract the Pipeline; otherwise we can just use [rcarry_mul_correct] *)
- Definition rcarry_mul
- := BoundsPipeline
- (carry_mul_gen
- @ GallinaReify.Reify (Qnum limbwidth) @ GallinaReify.Reify (Z.pos (Qden limbwidth)) @ GallinaReify.Reify s @ GallinaReify.Reify c @ GallinaReify.Reify n @ GallinaReify.Reify (length c) @ GallinaReify.Reify idxs @ GallinaReify.Reify (length idxs))
- (Some loose_bounds, Some loose_bounds)
- (Some tight_bounds).
-
- Definition rcarry_mul_correct
- := BoundsPipeline_correct
- (Some loose_bounds, Some loose_bounds)
- (Some tight_bounds)
- (carry_mulmod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c) idxs (List.length idxs)).
-
- Definition rcarry_correct
- := BoundsPipeline_correct
- (Some loose_bounds)
- (Some tight_bounds)
- (carrymod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c) idxs (List.length idxs)).
-
- Definition rrelax_correct
- := BoundsPipeline_correct
- (Some tight_bounds)
- (Some loose_bounds)
- (expanding_id n).
-
- Definition radd_correct
- := BoundsPipeline_correct
- (Some tight_bounds, Some tight_bounds)
- (Some loose_bounds)
- (addmod (Qnum limbwidth) (Z.pos (Qden limbwidth)) n).
-
- Definition rsub_correct
- := BoundsPipeline_correct
- (Some tight_bounds, Some tight_bounds)
- (Some loose_bounds)
- (submod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c) coef).
-
- Definition ropp_correct
- := BoundsPipeline_correct
- (Some tight_bounds)
- (Some loose_bounds)
- (oppmod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c) coef).
-
- Definition rencode_correct
- := BoundsPipeline_correct
- prime_bound
- (Some tight_bounds)
- (encodemod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c)).
-
- Definition rzero_correct
- := BoundsPipeline_correct
- tt
- (Some tight_bounds)
- (zeromod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c)).
-
- Definition rone_correct
- := BoundsPipeline_correct
- tt
- (Some tight_bounds)
- (onemod (Qnum limbwidth) (Z.pos (Qden limbwidth)) s c n (List.length c)).
-
- (* we need to strip off [Hrv : ... = Pipeline.Success rv] and related arguments *)
- Definition rcarry_mul_correctT rv : Prop
- := type_of_strip_3arrow (@rcarry_mul_correct rv).
- Definition rcarry_correctT rv : Prop
- := type_of_strip_3arrow (@rcarry_correct rv).
- Definition rrelax_correctT rv : Prop
- := type_of_strip_3arrow (@rrelax_correct rv).
- Definition radd_correctT rv : Prop
- := type_of_strip_3arrow (@radd_correct rv).
- Definition rsub_correctT rv : Prop
- := type_of_strip_3arrow (@rsub_correct rv).
- Definition ropp_correctT rv : Prop
- := type_of_strip_3arrow (@ropp_correct rv).
- Definition rencode_correctT rv : Prop
- := type_of_strip_3arrow (@rencode_correct rv).
- Definition rzero_correctT rv : Prop
- := type_of_strip_3arrow (@rzero_correct rv).
- Definition rone_correctT rv : Prop
- := type_of_strip_3arrow (@rone_correct rv).
-
- Section make_ring.
- Let m : positive := Z.to_pos (s - Associational.eval c).
- Context (curve_good : check_args (Pipeline.Success tt) = Pipeline.Success tt)
- {rcarry_mulv} (Hrmulv : rcarry_mul_correctT rcarry_mulv)
- {rcarryv} (Hrcarryv : rcarry_correctT rcarryv)
- {rrelaxv} (Hrrelaxv : rrelax_correctT rrelaxv)
- {raddv} (Hraddv : radd_correctT raddv)
- {rsubv} (Hrsubv : rsub_correctT rsubv)
- {roppv} (Hroppv : ropp_correctT roppv)
- {rzerov} (Hrzerov : rzero_correctT rzerov)
- {ronev} (Hronev : rone_correctT ronev)
- {rencodev} (Hrencodev : rencode_correctT rencodev).
-
- Local Ltac use_curve_good_t :=
- repeat first [ progress rewrite ?map_length, ?Z.mul_0_r, ?Pos.mul_1_r, ?Z.mul_1_r in *
- | reflexivity
- | lia
- | rewrite interp_reify_list, ?map_map
- | rewrite map_ext with (g:=id), map_id
- | progress distr_length
- | progress cbv [Qceiling Qfloor Qopp Qdiv Qplus inject_Z Qmult Qinv] in *
- | progress cbv [Qle] in *
- | progress cbn -[reify_list] in *
- | progress intros
- | solve [ auto ] ].
-
- Lemma use_curve_good
- : Z.pos m = s - Associational.eval c
- /\ Z.pos m <> 0
- /\ s - Associational.eval c <> 0
- /\ s <> 0
- /\ 0 < machine_wordsize
- /\ n <> 0%nat
- /\ List.length tight_bounds = n
- /\ List.length loose_bounds = n
- /\ 0 < Qden limbwidth <= Qnum limbwidth.
- Proof.
- clear -curve_good.
- cbv [check_args] in curve_good.
- break_innermost_match_hyps; try discriminate.
- rewrite negb_false_iff in *.
- Z.ltb_to_lt.
- rewrite Qle_bool_iff in *.
- rewrite NPeano.Nat.eqb_neq in *.
- intros.
- cbv [Qnum Qden limbwidth Qceiling Qfloor Qopp Qdiv Qplus inject_Z Qmult Qinv] in *.
- rewrite ?map_length, ?Z.mul_0_r, ?Pos.mul_1_r, ?Z.mul_1_r in *.
- specialize_by lia.
- repeat match goal with H := _ |- _ => subst H end.
- repeat apply conj.
- { destruct (s - Associational.eval c); cbn; lia. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- { use_curve_good_t. }
- Qed.
-
- Definition GoodT : Prop
- := @Ring.GoodT
- (Qnum limbwidth)
- (Z.pos (Qden limbwidth))
- n s c
- tight_bounds
- (Interp rrelaxv)
- (Interp rcarry_mulv)
- (Interp rcarryv)
- (Interp raddv)
- (Interp rsubv)
- (Interp roppv)
- (Interp rzerov tt)
- (Interp ronev tt)
- (Interp rencodev).
-
- Theorem Good : GoodT.
- Proof.
- pose proof use_curve_good; destruct_head'_and; destruct_head_hnf' ex.
- eapply Ring.Good;
- repeat first [ assumption
- | intros; apply eval_carry_mulmod
- | intros; apply eval_carrymod
- | intros; apply eval_addmod
- | intros; apply eval_submod
- | intros; apply eval_oppmod
- | intros; apply eval_encodemod
- | eassumption
- | apply conj
- | progress intros
- | progress cbv [onemod zeromod]
- | eapply Hrzerov (* to handle diff with whether or not correctness asks for boundedness of tt *)
- | eapply Hronev (* to handle diff with whether or not correctness asks for boundedness of tt *)
- | match goal with
- | [ |- ?x = ?x ] => reflexivity
- | [ |- ?x = ?ev ] => is_evar ev; reflexivity
- | [ |- ZRange.type.option.is_bounded_by tt tt = true ] => reflexivity
- end ].
- Qed.
- End make_ring.
-End rcarry_mul.
-
-Ltac peel_interp_app _ :=
- lazymatch goal with
- | [ |- ?R' (?InterpE ?arg) (?f ?arg) ]
- => apply fg_equal_rel; [ | reflexivity ];
- try peel_interp_app ()
- | [ |- ?R' (Interp ?ev) (?f ?x) ]
- => let sv := type of x in
- let fx := constr:(f x) in
- let dv := type of fx in
- let rs := type.reify sv in
- let rd := type.reify dv in
- etransitivity;
- [ apply @Interp_APP_rel_reflexive with (s:=rs) (d:=rd) (R:=R');
- typeclasses eauto
- | apply fg_equal_rel;
- [ try peel_interp_app ()
- | try lazymatch goal with
- | [ |- ?R (Interp ?ev) (Interp _) ]
- => reflexivity
- | [ |- ?R (Interp ?ev) ?c ]
- => let rc := constr:(GallinaReify.Reify c) in
- unify ev rc; reflexivity
- end ] ]
- end.
-Ltac pre_cache_reify _ :=
- cbv [app_curried];
- let arg := fresh "arg" in
- intros arg _;
- peel_interp_app ();
- [ lazymatch goal with
- | [ |- ?R (Interp ?ev) _ ]
- => (tryif is_evar ev
- then let ev' := fresh "ev" in set (ev' := ev)
- else idtac)
- end;
- cbv [pointwise_relation]; intros; clear
- | .. ].
-Ltac do_inline_cache_reify do_if_not_cached :=
- pre_cache_reify ();
- [ try solve [
- repeat match goal with H := ?e |- _ => is_evar e; subst H end;
- eauto with nocore reify_gen_cache;
- do_if_not_cached ()
- ];
- cache_reify (); exact admit
- | .. ].
-
-(* TODO: MOVE ME *)
-Ltac vm_compute_lhs_reflexivity :=
- lazymatch goal with
- | [ |- ?LHS = ?RHS ]
- => let x := (eval vm_compute in LHS) in
- (* we cannot use the unify tactic, which just gives "not
- unifiable" as the error message, because we want to see the
- terms that were not unifable. See also
- COQBUG(https://github.com/coq/coq/issues/7291) *)
- let _unify := constr:(ltac:(reflexivity) : RHS = x) in
- vm_cast_no_check (eq_refl x)
- end.
-
-Ltac solve_rop' rop_correct do_if_not_cached machine_wordsizev :=
- eapply rop_correct with (machine_wordsize:=machine_wordsizev);
- [ do_inline_cache_reify do_if_not_cached
- | subst_evars; vm_compute_lhs_reflexivity (* lazy; reflexivity *) ].
-Ltac solve_rop_nocache rop_correct :=
- solve_rop' rop_correct ltac:(fun _ => idtac).
-Ltac solve_rop rop_correct :=
- solve_rop'
- rop_correct
- ltac:(fun _ => let G := get_goal in fail 2 "Could not find a solution in reify_gen_cache for" G).
-Ltac solve_rcarry_mul := solve_rop rcarry_mul_correct.
-Ltac solve_rcarry_mul_nocache := solve_rop_nocache rcarry_mul_correct.
-Ltac solve_rcarry := solve_rop rcarry_correct.
-Ltac solve_radd := solve_rop radd_correct.
-Ltac solve_rsub := solve_rop rsub_correct.
-Ltac solve_ropp := solve_rop ropp_correct.
-Ltac solve_rencode := solve_rop rencode_correct.
-Ltac solve_rrelax := solve_rop rrelax_correct.
-Ltac solve_rzero := solve_rop rzero_correct.
-Ltac solve_rone := solve_rop rone_correct.
-
-Module PrintingNotations.
- Export ident.
- (*Global Set Printing Width 100000.*)
- Open Scope zrange_scope.
- Notation "'uint256'"
- := (r[0 ~> 115792089237316195423570985008687907853269984665640564039457584007913129639935]%zrange) : zrange_scope.
- Notation "'uint128'"
- := (r[0 ~> 340282366920938463463374607431768211455]%zrange) : zrange_scope.
- Notation "'uint64'"
- := (r[0 ~> 18446744073709551615]) : zrange_scope.
- Notation "'uint32'"
- := (r[0 ~> 4294967295]) : zrange_scope.
- Notation "'bool'"
- := (r[0 ~> 1]%zrange) : zrange_scope.
- Notation "ls [[ n ]]"
- := ((List.nth_default_concrete _ n @@ ls)%expr)
- (at level 30, format "ls [[ n ]]") : expr_scope.
- Notation "( range )( ls [[ n ]] )"
- := ((ident.Z.cast range @@ (List.nth_default_concrete _ n @@ ls))%expr)
- (format "( range )( ls [[ n ]] )") : expr_scope.
- (*Notation "( range )( v )" := (ident.Z.cast range @@ v)%expr : expr_scope.*)
- Notation "x *₂₅₆ y"
- := (ident.Z.cast uint256 @@ (ident.Z.mul @@ (x, y)))%expr (at level 40) : expr_scope.
- Notation "x *₁₂₈ y"
- := (ident.Z.cast uint128 @@ (ident.Z.mul @@ (x, y)))%expr (at level 40) : expr_scope.
- Notation "x *₆₄ y"
- := (ident.Z.cast uint64 @@ (ident.Z.mul @@ (x, y)))%expr (at level 40) : expr_scope.
- Notation "x *₃₂ y"
- := (ident.Z.cast uint32 @@ (ident.Z.mul @@ (x, y)))%expr (at level 40) : expr_scope.
- Notation "x +₂₅₆ y"
- := (ident.Z.cast uint256 @@ (ident.Z.add @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "x +₁₂₈ y"
- := (ident.Z.cast uint128 @@ (ident.Z.add @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "x +₆₄ y"
- := (ident.Z.cast uint64 @@ (ident.Z.add @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "x +₃₂ y"
- := (ident.Z.cast uint32 @@ (ident.Z.add @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "x -₁₂₈ y"
- := (ident.Z.cast uint128 @@ (ident.Z.sub @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "x -₆₄ y"
- := (ident.Z.cast uint64 @@ (ident.Z.sub @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "x -₃₂ y"
- := (ident.Z.cast uint32 @@ (ident.Z.sub @@ (x, y)))%expr (at level 50) : expr_scope.
- Notation "( out_t )( v >> count )"
- := ((ident.Z.cast out_t @@ (ident.Z.shiftr count @@ v))%expr)
- (format "( out_t )( v >> count )") : expr_scope.
- Notation "( out_t )( v << count )"
- := ((ident.Z.cast out_t @@ (ident.Z.shiftl count @@ v))%expr)
- (format "( out_t )( v << count )") : expr_scope.
- Notation "( range )( v )"
- := ((ident.Z.cast range @@ Var v)%expr)
- (format "( range )( v )") : expr_scope.
- Notation "( ( out_t )( v ) & mask )"
- := ((ident.Z.cast out_t @@ (ident.Z.land mask @@ v))%expr)
- (format "( ( out_t )( v ) & mask )")
- : expr_scope.
-
- Notation "x" := (ident.Z.cast _ @@ Var x)%expr (only printing, at level 9) : expr_scope.
- Notation "x" := (ident.Z.cast2 _ @@ Var x)%expr (only printing, at level 9) : expr_scope.
- Notation "v ₁" := (ident.fst @@ Var v)%expr (at level 10, format "v ₁") : expr_scope.
- Notation "v ₂" := (ident.snd @@ Var v)%expr (at level 10, format "v ₂") : expr_scope.
- Notation "v ₁" := (ident.Z.cast _ @@ (ident.fst @@ Var v))%expr (at level 10, format "v ₁") : expr_scope.
- Notation "v ₂" := (ident.Z.cast _ @@ (ident.snd @@ Var v))%expr (at level 10, format "v ₂") : expr_scope.
- Notation "v ₁" := (ident.Z.cast _ @@ (ident.fst @@ (ident.Z.cast2 _ @@ Var v)))%expr (at level 10, format "v ₁") : expr_scope.
- Notation "v ₂" := (ident.Z.cast _ @@ (ident.snd @@ (ident.Z.cast2 _ @@ Var v)))%expr (at level 10, format "v ₂") : expr_scope.
-
- (*Notation "ls [[ n ]]" := (List.nth_default_concrete _ n @@ ls)%expr : expr_scope.
- Notation "( range )( v )" := (ident.Z.cast range @@ v)%expr : expr_scope.
- Notation "x *₁₂₈ y"
- := (ident.Z.cast uint128 @@ (ident.Z.mul (x, y)))%expr (at level 40) : expr_scope.
- Notation "( out_t )( v >> count )"
- := (ident.Z.cast out_t (ident.Z.shiftr count @@ v)%expr)
- (format "( out_t )( v >> count )") : expr_scope.
- Notation "( out_t )( v >> count )"
- := (ident.Z.cast out_t (ident.Z.shiftr count @@ v)%expr)
- (format "( out_t )( v >> count )") : expr_scope.
- Notation "v ₁" := (ident.fst @@ v)%expr (at level 10, format "v ₁") : expr_scope.
- Notation "v ₂" := (ident.snd @@ v)%expr (at level 10, format "v ₂") : expr_scope.*)
- (*
- Notation "'ℤ'"
- := BoundsAnalysis.type.Z : zrange_scope.
- Notation "ls [[ n ]]" := (List.nth n @@ ls)%nexpr : nexpr_scope.
- Notation "x *₆₄₋₆₄₋₁₂₈ y"
- := (mul uint64 uint64 uint128 @@ (x, y))%nexpr (at level 40) : nexpr_scope.
- Notation "x *₆₄₋₆₄₋₆₄ y"
- := (mul uint64 uint64 uint64 @@ (x, y))%nexpr (at level 40) : nexpr_scope.
- Notation "x *₃₂₋₃₂₋₃₂ y"
- := (mul uint32 uint32 uint32 @@ (x, y))%nexpr (at level 40) : nexpr_scope.
- Notation "x *₃₂₋₁₂₈₋₁₂₈ y"
- := (mul uint32 uint128 uint128 @@ (x, y))%nexpr (at level 40) : nexpr_scope.
- Notation "x *₃₂₋₆₄₋₆₄ y"
- := (mul uint32 uint64 uint64 @@ (x, y))%nexpr (at level 40) : nexpr_scope.
- Notation "x *₃₂₋₃₂₋₆₄ y"
- := (mul uint32 uint32 uint64 @@ (x, y))%nexpr (at level 40) : nexpr_scope.
- Notation "x +₁₂₈ y"
- := (add uint128 uint128 uint128 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x +₆₄₋₁₂₈₋₁₂₈ y"
- := (add uint64 uint128 uint128 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x +₃₂₋₆₄₋₆₄ y"
- := (add uint32 uint64 uint64 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x +₆₄ y"
- := (add uint64 uint64 uint64 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x +₃₂ y"
- := (add uint32 uint32 uint32 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x -₁₂₈ y"
- := (sub uint128 uint128 uint128 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x -₆₄₋₁₂₈₋₁₂₈ y"
- := (sub uint64 uint128 uint128 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x -₃₂₋₆₄₋₆₄ y"
- := (sub uint32 uint64 uint64 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x -₆₄ y"
- := (sub uint64 uint64 uint64 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x -₃₂ y"
- := (sub uint32 uint32 uint32 @@ (x, y))%nexpr (at level 50) : nexpr_scope.
- Notation "x" := ({| BoundsAnalysis.type.value := x |}) (only printing) : nexpr_scope.
- Notation "( out_t )( v >> count )"
- := ((shiftr _ out_t count @@ v)%nexpr)
- (format "( out_t )( v >> count )")
- : nexpr_scope.
- Notation "( out_t )( v << count )"
- := ((shiftl _ out_t count @@ v)%nexpr)
- (format "( out_t )( v << count )")
- : nexpr_scope.
- Notation "( ( out_t ) v & mask )"
- := ((land _ out_t mask @@ v)%nexpr)
- (format "( ( out_t ) v & mask )")
- : nexpr_scope.
-*)
- (* TODO: come up with a better notation for arithmetic with carries
- that still distinguishes it from arithmetic without carries? *)
- Local Notation "'TwoPow256'" := 115792089237316195423570985008687907853269984665640564039457584007913129639936 (only parsing).
- Notation "'ADD_256' ( x , y )" := (ident.Z.cast2 (uint256, bool)%core @@ (ident.Z.add_get_carry_concrete TwoPow256 @@ (x, y)))%expr : expr_scope.
- Notation "'ADD_128' ( x , y )" := (ident.Z.cast2 (uint128, bool)%core @@ (ident.Z.add_get_carry_concrete TwoPow256 @@ (x, y)))%expr : expr_scope.
- Notation "'ADDC_256' ( x , y , z )" := (ident.Z.cast2 (uint256, bool)%core @@ (ident.Z.add_with_get_carry_concrete TwoPow256 @@ (x, y, z)))%expr : expr_scope.
- Notation "'ADDC_128' ( x , y , z )" := (ident.Z.cast2 (uint128, bool)%core @@ (ident.Z.add_with_get_carry_concrete TwoPow256 @@ (x, y, z)))%expr : expr_scope.
- Notation "'SUB_256' ( x , y )" := (ident.Z.cast2 (uint256, bool)%core @@ (ident.Z.sub_get_borrow_concrete TwoPow256 @@ (x, y)))%expr : expr_scope.
- Notation "'SUBB_256' ( x , y , z )" := (ident.Z.cast2 (uint256, bool)%core @@ (ident.Z.sub_with_get_borrow_concrete TwoPow256 @@ (x, y, z)))%expr : expr_scope.
- Notation "'ADDM' ( x , y , z )" := (ident.Z.cast uint256 @@ (ident.Z.add_modulo @@ (x, y, z)))%expr : expr_scope.
- Notation "'RSHI' ( x , y , z )" := (ident.Z.cast _ @@ (ident.Z.rshi_concrete _ z @@ (x, y)))%expr : expr_scope.
- Notation "'SELC' ( x , y , z )" := (ident.Z.cast uint256 @@ (ident.Z.zselect @@ (x, y, z)))%expr : expr_scope.
- Notation "'SELM' ( x , y , z )" := (ident.Z.cast uint256 @@ (ident.Z.zselect @@ (Z.cast bool @@ (Z.cc_m_concrete _ @@ x), y, z)))%expr : expr_scope.
- Notation "'SELL' ( x , y , z )" := (ident.Z.cast uint256 @@ (ident.Z.zselect @@ (Z.cast bool @@ (Z.land 1 @@ x), y, z)))%expr : expr_scope.
-End PrintingNotations.
-
-(*
-Notation "a ∈ b" := (ZRange.type.is_bounded_by b%zrange a = true) (at level 10) : type_scope.
-Notation Interp := (expr.Interp _).
-Notation "'ℤ'" := (type.type_primitive type.Z).
-Set Printing Width 70.
-Goal False.
- let rop' := Reify (fun v1v2 : Z * Z => fst v1v2 + snd v1v2) in
- pose rop' as rop.
- pose (@Pipeline.BoundsPipeline_full
- false (fun v => Some v) (type.Z * type.Z) type.Z
- rop
- (r[0~>10], r[0~>10])%zrange
- r[0~>20]%zrange
- ) as E.
- simple refine (let Ev := _ in
- let compiler_outputs_Ev : E = Pipeline.Success Ev := _ in
- _); [ shelve | .. ]; revgoals.
- clearbody compiler_outputs_Ev.
- refine (let H' :=
- (fun H'' =>
- @Pipeline.BoundsPipeline_full_correct
- _ _
- H'' _ _ _ _ _ _ compiler_outputs_Ev) _
- in _);
- clearbody H'.
- Focus 2.
- { cbv [Pipeline.BoundsPipeline_full] in E.
- remember (Pipeline.PrePipeline rop) as cache eqn:Hcache in (value of E).
- lazy in Hcache.
- subst cache.
- lazy in E.
- subst E Ev; reflexivity.
- } Unfocus.
- cbv [rop] in H'; cbn [expr.Interp expr.interp for_reification.ident.interp] in H'.
-(*
- H' : forall arg : type.interp (ℤ * ℤ),
- arg ∈ (r[0 ~> 10], r[0 ~> 10]) ->
- (Interp Ev arg) ∈ r[0 ~> 20] /\
- Interp Ev arg = fst arg + snd arg
-*)
-Abort.
-*)
-
-Time Compute
- (Pipeline.BoundsPipeline_full
- true (relax_zrange_gen [64; 128])
- ltac:(let r := Reify (to_associational (weight 51 1) 5) in
- exact r)
- ZRange.type.option.None ZRange.type.option.None).
-
-(* N.B. When the uncurrying PR lands, we will no longer need to
- manually uncurry this function example before reification *)
-Time Compute
- (Pipeline.BoundsPipeline_full
- true (relax_zrange_gen [64; 128])
- ltac:(let r := Reify (fun '(x, y) => scmul (weight 51 1) 5 x y) in
- exact r)
- ZRange.type.option.None ZRange.type.option.None).
-
-Module X25519_64.
- Definition n := 5%nat.
- Definition s := 2^255.
- Definition c := [(1, 19)].
- Definition machine_wordsize := 64.
-
- Derive base_51_relax
- SuchThat (rrelax_correctT n s c machine_wordsize base_51_relax)
- As base_51_relax_correct.
- Proof. Time solve_rrelax machine_wordsize. Time Qed.
- Derive base_51_carry_mul
- SuchThat (rcarry_mul_correctT n s c machine_wordsize base_51_carry_mul)
- As base_51_carry_mul_correct.
- Proof. Time solve_rcarry_mul machine_wordsize. Time Qed.
- Derive base_51_carry
- SuchThat (rcarry_correctT n s c machine_wordsize base_51_carry)
- As base_51_carry_correct.
- Proof. Time solve_rcarry machine_wordsize. Time Qed.
- Derive base_51_add
- SuchThat (radd_correctT n s c machine_wordsize base_51_add)
- As base_51_add_correct.
- Proof. Time solve_radd machine_wordsize. Time Qed.
- Derive base_51_sub
- SuchThat (rsub_correctT n s c machine_wordsize base_51_sub)
- As base_51_sub_correct.
- Proof. Time solve_rsub machine_wordsize. Time Qed.
- Derive base_51_opp
- SuchThat (ropp_correctT n s c machine_wordsize base_51_opp)
- As base_51_opp_correct.
- Proof. Time solve_ropp machine_wordsize. Time Qed.
- Derive base_51_encode
- SuchThat (rencode_correctT n s c machine_wordsize base_51_encode)
- As base_51_encode_correct.
- Proof. Time solve_rencode machine_wordsize. Time Qed.
- Derive base_51_zero
- SuchThat (rzero_correctT n s c machine_wordsize base_51_zero)
- As base_51_zero_correct.
- Proof. Time solve_rzero machine_wordsize. Time Qed.
- Derive base_51_one
- SuchThat (rone_correctT n s c machine_wordsize base_51_one)
- As base_51_one_correct.
- Proof. Time solve_rone machine_wordsize. Time Qed.
- Lemma base_51_curve_good
- : check_args n s c machine_wordsize (Pipeline.Success tt) = Pipeline.Success tt.
- Proof. vm_compute; reflexivity. Qed.
-
- Definition base_51_good : GoodT n s c
- := Good n s c machine_wordsize
- base_51_curve_good
- base_51_carry_mul_correct
- base_51_carry_correct
- base_51_relax_correct
- base_51_add_correct
- base_51_sub_correct
- base_51_opp_correct
- base_51_zero_correct
- base_51_one_correct
- base_51_encode_correct.
-
- Print Assumptions base_51_good.
- Import PrintingNotations.
- Set Printing Width 80.
- Print base_51_carry_mul.
-(*base_51_carry_mul =
-fun var : type -> Type =>
-(λ x : var
- (type.list (type.type_primitive type.Z) *
- type.list (type.type_primitive type.Z))%ctype,
- expr_let x0 := x₁ [[0]] *₁₂₈ x₂ [[0]] +₁₂₈
- (x₁ [[1]] *₁₂₈ (19 * (uint64)(x₂[[4]])) +₁₂₈
- (x₁ [[2]] *₁₂₈ (19 * (uint64)(x₂[[3]])) +₁₂₈
- (x₁ [[3]] *₁₂₈ (19 * (uint64)(x₂[[2]])) +₁₂₈
- x₁ [[4]] *₁₂₈ (19 * (uint64)(x₂[[1]]))))) in
- expr_let x1 := (uint64)(x0 >> 51) +₁₂₈
- (x₁ [[0]] *₁₂₈ x₂ [[1]] +₁₂₈
- (x₁ [[1]] *₁₂₈ x₂ [[0]] +₁₂₈
- (x₁ [[2]] *₁₂₈ (19 * (uint64)(x₂[[4]])) +₁₂₈
- (x₁ [[3]] *₁₂₈ (19 * (uint64)(x₂[[3]])) +₁₂₈
- x₁ [[4]] *₁₂₈ (19 * (uint64)(x₂[[2]])))))) in
- expr_let x2 := (uint64)(x1 >> 51) +₁₂₈
- (x₁ [[0]] *₁₂₈ x₂ [[2]] +₁₂₈
- (x₁ [[1]] *₁₂₈ x₂ [[1]] +₁₂₈
- (x₁ [[2]] *₁₂₈ x₂ [[0]] +₁₂₈
- (x₁ [[3]] *₁₂₈ (19 * (uint64)(x₂[[4]])) +₁₂₈
- x₁ [[4]] *₁₂₈ (19 * (uint64)(x₂[[3]])))))) in
- expr_let x3 := (uint64)(x2 >> 51) +₁₂₈
- (x₁ [[0]] *₁₂₈ x₂ [[3]] +₁₂₈
- (x₁ [[1]] *₁₂₈ x₂ [[2]] +₁₂₈
- (x₁ [[2]] *₁₂₈ x₂ [[1]] +₁₂₈
- (x₁ [[3]] *₁₂₈ x₂ [[0]] +₁₂₈
- x₁ [[4]] *₁₂₈ (19 * (uint64)(x₂[[4]])))))) in
- expr_let x4 := (uint64)(x3 >> 51) +₁₂₈
- (x₁ [[0]] *₁₂₈ x₂ [[4]] +₁₂₈
- (x₁ [[1]] *₁₂₈ x₂ [[3]] +₁₂₈
- (x₁ [[2]] *₁₂₈ x₂ [[2]] +₁₂₈
- (x₁ [[3]] *₁₂₈ x₂ [[1]] +₁₂₈ x₁ [[4]] *₁₂₈ x₂ [[0]])))) in
- expr_let x5 := ((uint64)(x0) & 2251799813685247) +₆₄ 19 *₆₄ (uint64)(x4 >> 51) in
- expr_let x6 := (uint64)(x5 >> 51) +₆₄ ((uint64)(x1) & 2251799813685247) in
- ((uint64)(x5) & 2251799813685247)
- :: ((uint64)(x6) & 2251799813685247)
- :: (uint64)(x6 >> 51) +₆₄ ((uint64)(x2) & 2251799813685247)
- :: ((uint64)(x3) & 2251799813685247)
- :: ((uint64)(x4) & 2251799813685247) :: [])%expr
- : Expr
- (type.uncurry
- (type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z)))
-*)
- Print base_51_sub.
- (*
-base_51_sub =
-fun var : type -> Type =>
-(λ x : var
- (type.list (type.type_primitive type.Z) *
- type.list (type.type_primitive type.Z))%ctype,
- (4503599627370458 + (uint64)(x₁[[0]])) -₆₄ x₂ [[0]]
- :: (4503599627370494 + (uint64)(x₁[[1]])) -₆₄ x₂ [[1]]
- :: (4503599627370494 + (uint64)(x₁[[2]])) -₆₄ x₂ [[2]]
- :: (4503599627370494 + (uint64)(x₁[[3]])) -₆₄ x₂ [[3]]
- :: (4503599627370494 + (uint64)(x₁[[4]])) -₆₄ x₂ [[4]] :: [])%expr
- : Expr
- (type.uncurry
- (type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z)))
-*)
-End X25519_64.
-
-(** TODO: factor out bounds analysis pipeline as a single definition / proof *)
-(** TODO: factor out apply one argument in the fst of a pair *)
-(** TODO: write a definition that specializes the PHOAS thing and composes with bounds analysis, + proof *)
-(** TODO: write wrappers for (string) prime -> reified arguments *)
-(** TODO: write indexed AST interp that returns default value, prove that given correctness for specialized thing, the defaulting interp is totally equal to the original operation *)
-(** TODO: write a lemma that for things equal to all operations using defaulting interp, we get a ring isomorphic to F m *)
-(** TODO: compose with stringification + wrappers for prime, extract to OCaml/Haskell *)
-(** TODO: proofs *)
-(*
-Module X25519_32.
- Definition n := 10%nat.
- Definition s := 2^255.
- Definition c := [(1, 19)].
- Definition machine_wordsize := 32.
-
- Derive base_25p5_sub
- SuchThat (rsub_correctT n s c machine_wordsize base_25p5_sub)
- As base_25p5_sub_correct.
- Proof. Time solve_rsub machine_wordsize. Time Qed.
-
- Derive base_25p5_carry_mul
- SuchThat (rcarry_mul_correctT n s c machine_wordsize base_25p5_carry_mul)
- As base_25p5_carry_mul_correct.
- Proof. Time solve_rcarry_mul machine_wordsize. Time Qed.
-
- Import PrintingNotations.
- Print base_25p5_carry_mul.
-(*
-base_25p5_carry_mul =
-fun var : type -> Type =>
-(λ x : var (type.list (type.type_primitive type.Z) * type.list (type.type_primitive type.Z))%ctype,
- expr_let x0 := x₁ [[0]] *₆₄ x₂ [[0]] +₆₄
- ((uint64)(x₁ [[1]] *₆₄ (19 * (uint32)(x₂[[9]])) << 1) +₆₄
- (x₁ [[2]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄
- ((uint64)(x₁ [[3]] *₆₄ (19 * (uint32)(x₂[[7]])) << 1) +₆₄
- (x₁ [[4]] *₆₄ (19 * (uint32)(x₂[[6]])) +₆₄
- ((uint64)(x₁ [[5]] *₆₄ (19 * (uint32)(x₂[[5]])) << 1) +₆₄
- (x₁ [[6]] *₆₄ (19 * (uint32)(x₂[[4]])) +₆₄
- ((uint64)(x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[3]])) << 1) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[2]])) +₆₄ (uint64)(x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[1]])) << 1))))))))) in
- expr_let x1 := (uint64)(x0 >> 26) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[1]] +₆₄
- (x₁ [[1]] *₆₄ x₂ [[0]] +₆₄
- (x₁ [[2]] *₆₄ (19 * (uint32)(x₂[[9]])) +₆₄
- (x₁ [[3]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄
- (x₁ [[4]] *₆₄ (19 * (uint32)(x₂[[7]])) +₆₄
- (x₁ [[5]] *₆₄ (19 * (uint32)(x₂[[6]])) +₆₄
- (x₁ [[6]] *₆₄ (19 * (uint32)(x₂[[5]])) +₆₄
- (x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[4]])) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[3]])) +₆₄ x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[2]]))))))))))) in
- expr_let x2 := (uint64)(x1 >> 25) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[2]] +₆₄
- ((uint64)(x₁ [[1]] *₆₄ x₂ [[1]] << 1) +₆₄
- (x₁ [[2]] *₆₄ x₂ [[0]] +₆₄
- ((uint64)(x₁ [[3]] *₆₄ (19 * (uint32)(x₂[[9]])) << 1) +₆₄
- (x₁ [[4]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄
- ((uint64)(x₁ [[5]] *₆₄ (19 * (uint32)(x₂[[7]])) << 1) +₆₄
- (x₁ [[6]] *₆₄ (19 * (uint32)(x₂[[6]])) +₆₄
- ((uint64)(x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[5]])) << 1) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[4]])) +₆₄ (uint64)(x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[3]])) << 1)))))))))) in
- expr_let x3 := (uint64)(x2 >> 26) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[3]] +₆₄
- (x₁ [[1]] *₆₄ x₂ [[2]] +₆₄
- (x₁ [[2]] *₆₄ x₂ [[1]] +₆₄
- (x₁ [[3]] *₆₄ x₂ [[0]] +₆₄
- (x₁ [[4]] *₆₄ (19 * (uint32)(x₂[[9]])) +₆₄
- (x₁ [[5]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄
- (x₁ [[6]] *₆₄ (19 * (uint32)(x₂[[7]])) +₆₄
- (x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[6]])) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[5]])) +₆₄ x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[4]]))))))))))) in
- expr_let x4 := (uint64)(x3 >> 25) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[4]] +₆₄
- ((uint64)(x₁ [[1]] *₆₄ x₂ [[3]] << 1) +₆₄
- (x₁ [[2]] *₆₄ x₂ [[2]] +₆₄
- ((uint64)(x₁ [[3]] *₆₄ x₂ [[1]] << 1) +₆₄
- (x₁ [[4]] *₆₄ x₂ [[0]] +₆₄
- ((uint64)(x₁ [[5]] *₆₄ (19 * (uint32)(x₂[[9]])) << 1) +₆₄
- (x₁ [[6]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄
- ((uint64)(x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[7]])) << 1) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[6]])) +₆₄ (uint64)(x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[5]])) << 1)))))))))) in
- expr_let x5 := (uint64)(x4 >> 26) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[5]] +₆₄
- (x₁ [[1]] *₆₄ x₂ [[4]] +₆₄
- (x₁ [[2]] *₆₄ x₂ [[3]] +₆₄
- (x₁ [[3]] *₆₄ x₂ [[2]] +₆₄
- (x₁ [[4]] *₆₄ x₂ [[1]] +₆₄
- (x₁ [[5]] *₆₄ x₂ [[0]] +₆₄
- (x₁ [[6]] *₆₄ (19 * (uint32)(x₂[[9]])) +₆₄
- (x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[7]])) +₆₄ x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[6]]))))))))))) in
- expr_let x6 := (uint64)(x5 >> 25) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[6]] +₆₄
- ((uint64)(x₁ [[1]] *₆₄ x₂ [[5]] << 1) +₆₄
- (x₁ [[2]] *₆₄ x₂ [[4]] +₆₄
- ((uint64)(x₁ [[3]] *₆₄ x₂ [[3]] << 1) +₆₄
- (x₁ [[4]] *₆₄ x₂ [[2]] +₆₄
- ((uint64)(x₁ [[5]] *₆₄ x₂ [[1]] << 1) +₆₄
- (x₁ [[6]] *₆₄ x₂ [[0]] +₆₄
- ((uint64)(x₁ [[7]] *₆₄ (19 * (uint32)(x₂[[9]])) << 1) +₆₄
- (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[8]])) +₆₄ (uint64)(x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[7]])) << 1)))))))))) in
- expr_let x7 := (uint64)(x6 >> 26) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[7]] +₆₄
- (x₁ [[1]] *₆₄ x₂ [[6]] +₆₄
- (x₁ [[2]] *₆₄ x₂ [[5]] +₆₄
- (x₁ [[3]] *₆₄ x₂ [[4]] +₆₄
- (x₁ [[4]] *₆₄ x₂ [[3]] +₆₄
- (x₁ [[5]] *₆₄ x₂ [[2]] +₆₄
- (x₁ [[6]] *₆₄ x₂ [[1]] +₆₄
- (x₁ [[7]] *₆₄ x₂ [[0]] +₆₄ (x₁ [[8]] *₆₄ (19 * (uint32)(x₂[[9]])) +₆₄ x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[8]]))))))))))) in
- expr_let x8 := (uint64)(x7 >> 25) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[8]] +₆₄
- ((uint64)(x₁ [[1]] *₆₄ x₂ [[7]] << 1) +₆₄
- (x₁ [[2]] *₆₄ x₂ [[6]] +₆₄
- ((uint64)(x₁ [[3]] *₆₄ x₂ [[5]] << 1) +₆₄
- (x₁ [[4]] *₆₄ x₂ [[4]] +₆₄
- ((uint64)(x₁ [[5]] *₆₄ x₂ [[3]] << 1) +₆₄
- (x₁ [[6]] *₆₄ x₂ [[2]] +₆₄
- ((uint64)(x₁ [[7]] *₆₄ x₂ [[1]] << 1) +₆₄
- (x₁ [[8]] *₆₄ x₂ [[0]] +₆₄ (uint64)(x₁ [[9]] *₆₄ (19 * (uint32)(x₂[[9]])) << 1)))))))))) in
- expr_let x9 := (uint64)(x8 >> 26) +₆₄
- (x₁ [[0]] *₆₄ x₂ [[9]] +₆₄
- (x₁ [[1]] *₆₄ x₂ [[8]] +₆₄
- (x₁ [[2]] *₆₄ x₂ [[7]] +₆₄
- (x₁ [[3]] *₆₄ x₂ [[6]] +₆₄
- (x₁ [[4]] *₆₄ x₂ [[5]] +₆₄
- (x₁ [[5]] *₆₄ x₂ [[4]] +₆₄
- (x₁ [[6]] *₆₄ x₂ [[3]] +₆₄ (x₁ [[7]] *₆₄ x₂ [[2]] +₆₄ (x₁ [[8]] *₆₄ x₂ [[1]] +₆₄ x₁ [[9]] *₆₄ x₂ [[0]]))))))))) in
- expr_let x10 := ((uint32)(x0) & 67108863) +₆₄ 19 *₆₄ (uint64)(x9 >> 25) in
- expr_let x11 := (uint32)(x10 >> 26) +₃₂ ((uint32)(x1) & 33554431) in
- ((uint32)(x10) & 67108863)
- :: ((uint32)(x11) & 33554431)
- :: (uint32)(x11 >> 25) +₃₂ ((uint32)(x2) & 67108863)
- :: ((uint32)(x3) & 33554431)
- :: ((uint32)(x4) & 67108863)
- :: ((uint32)(x5) & 33554431)
- :: ((uint32)(x6) & 67108863)
- :: ((uint32)(x7) & 33554431) :: ((uint32)(x8) & 67108863) :: ((uint32)(x9) & 33554431) :: [])%expr
- : Expr
- (type.uncurry
- (type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z)))
- *)
- Print base_25p5_sub.
- (*
-base_25p5_sub =
-fun var : type -> Type =>
-(λ x : var
- (type.list (type.type_primitive type.Z) *
- type.list (type.type_primitive type.Z))%ctype,
- (134217690 + (uint32)(x₁[[0]])) -₃₂ x₂ [[0]]
- :: (67108862 + (uint32)(x₁[[1]])) -₃₂ x₂ [[1]]
- :: (134217726 + (uint32)(x₁[[2]])) -₃₂ x₂ [[2]]
- :: (67108862 + (uint32)(x₁[[3]])) -₃₂ x₂ [[3]]
- :: (134217726 + (uint32)(x₁[[4]])) -₃₂ x₂ [[4]]
- :: (67108862 + (uint32)(x₁[[5]])) -₃₂ x₂ [[5]]
- :: (134217726 + (uint32)(x₁[[6]])) -₃₂ x₂ [[6]]
- :: (67108862 + (uint32)(x₁[[7]])) -₃₂ x₂ [[7]]
- :: (134217726 + (uint32)(x₁[[8]])) -₃₂ x₂ [[8]]
- :: (67108862 + (uint32)(x₁[[9]])) -₃₂ x₂ [[9]] :: [])%expr
- : Expr
- (type.uncurry
- (type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z) ->
- type.list (type.type_primitive type.Z)))
-*)
-End X25519_32.
- *)
-
-Module Straightline.
- Module expr.
- (* TODO: move these to a better location *)
- Module type.
- Definition primitive_eq_dec (a b : type.primitive) : {a = b} + {a <> b}.
- Proof. destruct a,b; auto; right; congruence. Defined.
- Fixpoint type_eq_dec (a b : type) : {a = b} + {a <> b}.
- Proof.
- destruct a, b; try solve [right; congruence]; [ | | | ].
- { destruct (primitive_eq_dec p p0); subst; [left | right]; congruence. }
- { destruct (type_eq_dec a1 b1); destruct (type_eq_dec a2 b2); subst; try solve [right; congruence].
- left; congruence. }
- { destruct (type_eq_dec a1 b1); destruct (type_eq_dec a2 b2); subst; try solve [right; congruence].
- left; congruence. }
- { destruct (type_eq_dec a b); [left | right]; congruence. }
- Defined.
- End type.
-
- Section with_var.
- Context {var : type.type -> Type}.
- Context {dummy_arrow : forall s d, var (s -> d)}. (* TODO: remove once arrow-containing pairs are removed at type level *)
-
- Let uexpr t := @Uncurried.expr.expr ident.ident var t.
-
- Section with_ident.
- Context {ident : type.type -> type.type -> Type}.
- Inductive scalar : type.type -> Type :=
- | Var t : var t -> scalar t
- | TT : scalar (type.type_primitive type.unit)
- | Nil t : scalar (type.list t)
- | Pair {a b} : scalar a -> scalar b -> scalar (a * b)
- | Cast : zrange -> scalar type.Z -> scalar type.Z
- | Cast2 : zrange * zrange -> scalar (type.Z*type.Z) -> scalar (type.Z*type.Z)
- | Fst {a b} : scalar (a * b) -> scalar a
- | Snd {a b} : scalar (a * b) -> scalar b
- | Shiftr : Z -> scalar type.Z -> scalar type.Z
- | Shiftl : Z -> scalar type.Z -> scalar type.Z
- | Land : Z -> scalar type.Z -> scalar type.Z
- | CC_m : Z -> scalar type.Z -> scalar type.Z
- | Primitive {t} : type.interp (type.type_primitive t) -> scalar t
- .
-
- Inductive expr : type.type -> Type :=
- | Scalar {t} : scalar t -> expr t
- | LetInAppIdentZ {s d} : zrange -> ident s (type.Z) -> scalar s -> (var (type.Z) -> expr d) -> expr d
- | LetInAppIdentZZ {s d} : zrange * zrange -> ident s (type.Z*type.Z) -> scalar s -> (var (type.Z*type.Z) -> expr d) -> expr d
- .
-
- Fixpoint dummy_scalar t : scalar t :=
- match t with
- | type.type_primitive p => Primitive (@DefaultValue.type.primitive.default p)
- | type.prod A B => Pair (dummy_scalar A) (dummy_scalar B)
- | type.arrow A B => Var _ (dummy_arrow A B)
- | type.list A => Nil A
- end.
-
- Definition dummy t : expr t := Scalar (dummy_scalar t).
- End with_ident.
-
- Definition of_uncurried_scalar_ident {s d} (idc : ident.ident s d)
- : scalar s -> option (scalar d) :=
- match idc in ident.ident s d return scalar s -> option (scalar d) with
- | ident.Z.cast r => fun args => Some (Cast r args)
- | ident.Z.cast2 r => fun args => Some (Cast2 r args)
- | @ident.fst A B => fun args => Some (Fst args)
- | @ident.snd A B => fun args => Some (Snd args)
- | ident.Z.shiftr n => fun args => Some (Shiftr n args)
- | ident.Z.shiftl n => fun args => Some (Shiftl n args)
- | ident.Z.land n => fun args => Some (Land n args)
- | ident.Z.cc_m_concrete s => fun args => Some (CC_m s args)
- | @ident.primitive p x => fun _ => Some (Primitive x)
- | _ => fun _ => None
- end.
-
- Fixpoint of_uncurried_scalar {t} (e : uexpr t) : option (scalar t) :=
- match e in Uncurried.expr.expr t return option (scalar t) with
- | expr.Var t v as e => Some (Var t v)
- | expr.TT as e => Some TT
- | expr.Pair A B a b
- => match of_uncurried_scalar a, of_uncurried_scalar b with
- | Some x, Some y => Some (Pair x y)
- | _, _ => None
- end
- | expr.AppIdent _ _ idc args
- => match of_uncurried_scalar args with
- | Some x => of_uncurried_scalar_ident idc x
- | None => None
- end
- | _ => None
- end.
-
- Fixpoint range_type t : Type :=
- match t with
- | type.type_primitive type.Z => zrange
- | type.prod x y => range_type x * range_type y
- | _ => unit
- end.
-
- Definition invert_cast {t} (e : uexpr t)
- : option (range_type t * uexpr t) :=
- match invert_AppIdent e with
- | Some (existT s (idc, x)) =>
- (match idc in ident.ident s t return uexpr s -> option (range_type t * uexpr t) with
- | ident.Z.cast r => fun x => Some (r, x)
- | ident.Z.cast2 r => fun x => Some (r, x)
- | _ => fun _ => None
- end) x
- | None => None
- end.
-
- (* ident.Let_In @@ (cast r x) => r, x *)
- Definition invert_LetInCast {tx tC} (args : uexpr (tx * (tx -> tC)))
- : option (range_type tx * uexpr tx * uexpr (tx -> tC)) :=
- match invert_Pair args with
- | Some (x, e) =>
- match invert_cast x with
- | Some (r, x') => Some (r, x', e)
- | None => None
- end
- | None => None
- end.
-
- Definition invert_LetInAppIdent {tx tC} (args : uexpr (tx * (tx -> tC)))
- : option { s : type.type & (range_type tx * ident.ident s tx * scalar s * (var tx -> uexpr tC))%type } :=
- match invert_LetInCast args with
- | Some (r, x, e) =>
- match invert_AppIdent x with
- | Some (existT s idc_x') =>
- match of_uncurried_scalar (snd idc_x') with
- | Some x'' =>
- match invert_Abs e with
- | Some k => Some (existT _ s (r, fst idc_x', x'', k))
- | None => None
- end
- | None => None
- end
- | None => None
- end
- | None => None
- end.
-
- Definition mk_LetInAppIdent {s d t} (default : expr t)
- : range_type d -> ident.ident s d -> scalar s -> (var d -> expr t) -> expr t :=
- match d as d0 return range_type d0 -> ident.ident s d0 -> scalar s -> (var d0 -> expr t) -> expr t with
- | type.type_primitive type.Z =>
- fun r idc x k => @LetInAppIdentZ ident.ident s t r idc x k
- | type.prod type.Z type.Z =>
- fun r idc x k => @LetInAppIdentZZ ident.ident s t r idc x k
- | _ => fun _ _ _ _ => default
- end.
-
- Definition of_uncurried_ident
- (of_uncurried : forall t, uexpr t -> expr t)
- {s d} (idc : ident.ident s d)
- : uexpr s -> expr d -> expr d :=
- match idc in ident.ident s d return uexpr s -> expr d -> expr d with
- | ident.Let_In tx tC =>
- fun args default =>
- match invert_LetInAppIdent args return expr tC with
- | Some (existT s (r, idc, x, k)) =>
- @mk_LetInAppIdent s tx tC default r idc x (fun y : var tx => of_uncurried _ (k y))
- | None => default
- end
- | ident.Z.cast r =>
- fun (args : uexpr _) default =>
- match invert_AppIdent args with
- | Some (existT s idc_x') =>
- match of_uncurried_scalar (snd idc_x') with
- | Some x'' =>
- @mk_LetInAppIdent s type.Z type.Z default r (fst idc_x') x'' (fun y => Scalar (Var _ y))
- | None => default
- end
- | None => default
- end
- | ident.Z.cast2 r =>
- fun (args : uexpr _) default =>
- match invert_AppIdent args with
- | Some (existT s idc_x') =>
- match of_uncurried_scalar (snd idc_x') with
- | Some x'' =>
- @mk_LetInAppIdent s (type.Z*type.Z) (type.Z*type.Z) default r (fst idc_x') x'' (fun y => Scalar (Var _ y))
- | None => default
- end
- | None => default
- end
- | _ => fun _ default => default
- end.
-
- Definition of_uncurried_step {t} (e : uexpr t)
- (of_uncurried : forall t, uexpr t -> expr t)
- : expr t -> expr t :=
- match e in Uncurried.expr.expr t return expr t -> expr t with
- | AppIdent s d idc args =>
- fun default =>
- of_uncurried_ident of_uncurried idc args
- (match of_uncurried_scalar (AppIdent idc args) with
- | Some s => Scalar s
- | None => default
- end)
- | _ as e =>
- (fun default =>
- match of_uncurried_scalar e with
- | Some s => Scalar s
- | None => default
- end)
- end.
-
- (* TODO : uses fuel; ideally want a cleaner termination proof *)
- Fixpoint of_uncurried (fuel : nat) {t} (e : uexpr t)
- : expr t :=
- match fuel with
- | S fuel' => of_uncurried_step e (@of_uncurried fuel') (dummy t)
- | O => dummy t
- end.
- End with_var.
-
- Section depth.
- Context (var : type -> Type) (dummy_var : forall t, var t).
- Fixpoint depth {t} (e : @Uncurried.expr.expr ident var t) : nat :=
- match e with
- | Uncurried.expr.Var _ _ => 1
- | Uncurried.expr.TT => 1
- | Uncurried.expr.AppIdent _ _ idc args => S (depth args)
- | Uncurried.expr.App _ _ f x => S (Nat.max (depth f) (depth x))
- | Uncurried.expr.Pair _ _ x y => S (Nat.max (depth x) (depth y))
- | Uncurried.expr.Abs _ _ f => S (depth (f (dummy_var _)))
- end.
-
- Definition Expr_depth {t} (e : Expr t) : nat := depth (e _).
- End depth.
-
- Section interp.
- Context {ident : type -> type -> Type} {interp_ident : forall s d, ident s d -> type.interp s -> type.interp d}.
- Context {interp_cast : zrange -> Z -> Z}.
-
- Definition interp_cast2 (r : zrange * zrange) (x : Z * Z) : Z * Z :=
- (interp_cast (fst r) (fst x), interp_cast (snd r) (snd x)).
-
- Fixpoint interp_scalar {t} (s : @scalar type.interp t) : type.interp t :=
- match s with
- | Var t v => v
- | TT => tt
- | Nil _ => []
- | Pair _ _ x y => (interp_scalar x, interp_scalar y)
- | Cast r x => interp_cast r (interp_scalar x)
- | Cast2 r x => interp_cast2 r (interp_scalar x)
- | Fst _ _ p => fst (interp_scalar p)
- | Snd _ _ p => snd (interp_scalar p)
- | Shiftr n x => Z.shiftr (interp_scalar x) n
- | Shiftl n x => Z.shiftl (interp_scalar x) n
- | Land n x => Z.land (interp_scalar x) n
- | CC_m n x => Z.cc_m n (interp_scalar x)
- | Primitive _ x => x
- end.
-
- Fixpoint interp {t} (e : @expr type.interp ident t) : type.interp t :=
- match e with
- | Scalar _ s => interp_scalar s
- | LetInAppIdentZ _ _ r idc x f =>
- interp (f (interp_cast r (interp_ident _ _ idc (interp_scalar x))))
- | LetInAppIdentZZ _ _ r idc x f =>
- interp (f (interp_cast2 r (interp_ident _ _ idc (interp_scalar x))))
- end.
- End interp.
-
- Section proofs.
- Local Notation straightline_interp := (expr.interp (ident:=default.ident) (interp_ident:=@ident.interp) (interp_cast:=ident.cast (@ident.cast_outside_of_range))).
- Local Notation uinterp := (Uncurried.expr.interp (@ident.interp)).
- Local Notation uexpr := (@Uncurried.expr.expr ident type.interp).
- Local Notation interp_scalar := (interp_scalar (interp_cast:=ident.cast (@ident.cast_outside_of_range))).
-
- Inductive ok_scalar_ident : forall {s d}, ident.ident s d -> Prop :=
- | ok_si_cast : forall r, ok_scalar_ident (ident.Z.cast r)
- | ok_si_cast2 : forall r, ok_scalar_ident (ident.Z.cast2 r)
- | ok_si_fst : forall A B, ok_scalar_ident (@ident.fst A B)
- | ok_si_snd : forall A B, ok_scalar_ident (@ident.snd A B)
- | ok_si_shiftr : forall n, ok_scalar_ident (@ident.Z.shiftr n)
- | ok_si_shiftl : forall n, ok_scalar_ident (@ident.Z.shiftl n)
- | ok_si_land : forall n, ok_scalar_ident (@ident.Z.land n)
- | ok_si_cc_m : forall n, ok_scalar_ident (@ident.Z.cc_m_concrete n)
- | ok_prim : forall p x, ok_scalar_ident (@ident.primitive p x)
- .
-
- Inductive ok_scalar: forall {t}, uexpr t -> Prop :=
- | ok_Var : forall t v, @ok_scalar t (Uncurried.expr.Var v)
- | ok_TT : ok_scalar Uncurried.expr.TT
- | ok_AppIdent :
- forall s d idc args,
- ok_scalar args ->
- @ok_scalar_ident s d idc ->
- ok_scalar (AppIdent idc args)
- | ok_Pair :
- forall A B a b,
- @ok_scalar A a ->
- @ok_scalar B b ->
- ok_scalar (Uncurried.expr.Pair a b)
- .
-
- Inductive ok_expr : forall {t}, uexpr t -> Prop :=
- | ok_LetInAppIdentZ :
- forall tC r s (idc : ident s type.Z) x k,
- ok_scalar x -> (forall y, @ok_expr tC (k y)) ->
- @ok_expr tC (AppIdent (@ident.Let_In _ tC) (Uncurried.expr.Pair (AppIdent (ident.Z.cast r) (AppIdent idc x)) (Abs k)))
- | ok_LetInAppIdentZZ :
- forall tC r s (idc : ident s (type.prod type.Z type.Z)) x k,
- ok_scalar x -> (forall y, @ok_expr tC (k y)) ->
- @ok_expr tC (AppIdent (@ident.Let_In _ tC) (Uncurried.expr.Pair (AppIdent (ident.Z.cast2 r) (AppIdent idc x)) (Abs k)))
- | ok_scalar_cast :
- forall r s (idc : ident s _) x,
- ok_scalar x ->
- @ok_expr type.Z (AppIdent (ident.Z.cast r) (AppIdent idc x))
- | ok_scalar_cast2 :
- forall r s (idc : ident s _) x,
- ok_scalar x ->
- @ok_expr (type.prod type.Z type.Z) (AppIdent (ident.Z.cast2 r) (AppIdent idc x))
- | ok_scalar_nocast :
- forall t x, @ok_scalar t x -> @ok_expr t x
- .
-
- Lemma interp_cast_correct r (x : uexpr type.Z) :
- ident.cast ident.cast_outside_of_range r (uinterp x) = uinterp (AppIdent (ident.Z.cast r) x).
- Proof. reflexivity. Qed.
-
- Lemma interp_cast2_correct r (x : uexpr (type.prod type.Z type.Z)) :
- @interp_cast2 (ident.cast ident.cast_outside_of_range) r (uinterp x) = uinterp (AppIdent (ident.Z.cast2 r) x).
- Proof. cbn; break_match; reflexivity. Qed.
-
- Ltac invert H :=
- inversion H; subst;
- repeat match goal with
- | H : existT _ _ _ = existT _ _ _ |- _ => apply (Eqdep_dec.inj_pair2_eq_dec _ type.type_eq_dec) in H; subst
- end.
-
- Ltac invert_ok_expr :=
- match goal with H : ok_expr _ |- _ => invert H end.
- Ltac invert_ok_scalar :=
- match goal with H : ok_scalar _ |- _ => invert H end.
- Ltac invert_ok_scalar_ident :=
- match goal with H : ok_scalar_ident _ |- _ => invert H end.
- Ltac simpl_inversions :=
- cbn [invert_LetInAppIdent invert_LetInCast invert_Pair invert_cast invert_AppIdent invert_Abs].
-
- Lemma invert_AppIdent_correct {d} (e : uexpr d) x p :
- invert_AppIdent e = Some (existT (fun s : type => (ident s d * default.expr s)%type) x p) ->
- e = AppIdent (fst p) (snd p).
- Proof.
- cbv [invert_AppIdent].
- break_match; try discriminate.
- intro H; invert H. reflexivity.
- Qed.
-
- Lemma depth_positive {var t} dummy_var (e : Uncurried.expr.expr t) : 0 < depth var dummy_var e.
- Proof. destruct e; cbn [depth]; rewrite Nat2Z.inj_succ; omega. Qed.
-
- Lemma of_uncurried_scalar_ident_correct {s d} (idc : ident s d) args args':
- ok_scalar_ident idc ->
- of_uncurried_scalar args = Some args' ->
- interp_scalar args' = uinterp args ->
- exists s,
- of_uncurried_scalar_ident idc args' = Some s
- /\ interp_scalar s = uinterp (AppIdent idc args).
- Proof.
- destruct 1; intros;
- repeat match goal with
- | _ => eexists; split; [ reflexivity | cbn [interp_scalar] ]
- | H : interp_scalar _ = _ |- _ => rewrite H
- | _ => reflexivity
- | _ => solve [auto using interp_cast2_correct]
- | |- context [@Uncurried.expr.interp _ _ (type.type_primitive _)] =>
- cbn; break_match; reflexivity
- end.
- Qed.
-
- Lemma of_uncurried_scalar_correct {t} (e : uexpr t) :
- ok_scalar e ->
- exists s,
- of_uncurried_scalar e = Some s
- /\ interp_scalar s = uinterp e.
- Proof.
- induction 1; cbn [of_uncurried_scalar]; intros;
- repeat match goal with
- | _ => progress cbn [interp_scalar]
- | IH : exists _, _ /\ _ |- _ => destruct IH as [? [? ?] ]
- | H : of_uncurried_scalar _ = _ |- _ => rewrite H
- | H : interp_scalar _ = _ |- _ => rewrite H
- | _ => apply of_uncurried_scalar_ident_correct; solve [auto]
- | _ => eexists; split; [ reflexivity | ]
- | _ => reflexivity
- end.
- Qed.
-
- Ltac rewrite_ok_scalar :=
- match goal with H : ok_scalar _ |- _ =>
- let P := fresh in destruct (of_uncurried_scalar_correct _ H) as [? [P ?] ]; rewrite P in *
- end;
- repeat match goal with
- | H : Some _ = Some _ |- _ => inversion H; progress subst
- | _ => progress break_match;
- match goal with | H: Some _ = Some _ |- _ => inversion H; progress subst end
- end.
-
- Lemma of_uncurried_correct dummy_arrow fuel dummy_var :
- forall {t} (e : uexpr t),
- (depth _ dummy_var e <= fuel)%nat ->
- ok_expr e ->
- uinterp e = straightline_interp (@of_uncurried _ dummy_arrow fuel _ e).
- Proof.
- induction fuel; intros; [ pose proof (depth_positive dummy_var e); omega | ].
- destruct e; cbn [depth of_uncurried expr.interp interp]; intros; invert_ok_expr;
- repeat match goal with
- | |- context [of_uncurried_scalar _ ] => progress rewrite_ok_scalar
- | _ => progress (cbn [of_uncurried_step of_uncurried_ident fst snd mk_LetInAppIdent expr.interp interp depth] in * )
- | _ => progress simpl_inversions
- | _ => congruence
- end; [ | | | | ].
- {
- match goal with H : interp_scalar _ = _ |- _ => rewrite H end.
- rewrite <-IHfuel.
- { reflexivity. }
- { cbn [depth] in *.
- (* here we have to reason about the depth calculation for arrows; this will probably be unnecessary with new compilers setup *)
- admit. }
- { auto. } }
- {
- match goal with H : interp_scalar _ = _ |- _ => rewrite H end.
- rewrite <-IHfuel.
- { cbn; break_match; reflexivity. }
- { cbn [depth] in *.
- (* here we have to reason about the depth calculation for arrows; this will probably be unnecessary with new compilers setup *)
- admit. }
- { auto. } }
- {
- match goal with H : interp_scalar _ = _ |- _ => rewrite H end.
- rewrite <-interp_cast_correct.
- reflexivity. }
- {
- match goal with H : interp_scalar _ = _ |- _ => rewrite H end.
- rewrite <-interp_cast2_correct.
- cbn; break_match; reflexivity. }
- { invert_ok_scalar.
- rewrite <-H2.
- invert_ok_scalar_ident; try reflexivity.
- { match goal with H : context [of_uncurried_scalar _ = Some _ ] |- _ => cbn in H end.
- rewrite_ok_scalar.
- cbn [of_uncurried_ident].
- cbn [interp_scalar].
- cbn.
- break_match; cbn; auto.
- match goal with H : _ |- _ => apply invert_AppIdent_correct in H end.
- subst.
- invert_ok_scalar.
- rewrite_ok_scalar.
- repeat match goal with H : interp_scalar _ = _ |- _ => rewrite H end.
- reflexivity. }
- { match goal with H : context [of_uncurried_scalar _ = Some _ ] |- _ => cbn in H end.
- rewrite_ok_scalar.
- cbn [of_uncurried_ident].
- break_match; cbn; auto.
- match goal with H : _ |- _ => apply invert_AppIdent_correct in H end.
- subst.
- invert_ok_scalar.
- rewrite_ok_scalar.
- repeat match goal with H : interp_scalar _ = _ |- _ => rewrite H end.
- destruct r; reflexivity. }
- Admitted.
- End proofs.
- End expr.
-
- Definition of_Expr {s d} (e : Expr (s->d)) (var : type -> Type) (x:var s) dummy_arrow: expr.expr d
- :=
- match invert_Abs (e var) with
- | Some f =>
- expr.of_uncurried (dummy_arrow:=dummy_arrow) (expr.depth (fun _ => unit) (fun _ => tt) (e (fun _ => unit))) (f x)
- | None => expr.dummy (dummy_arrow:=dummy_arrow) d
- end.
-
-End Straightline.
-
-Module StraightlineTest.
- Definition test : Expr (type.Z -> type.Z) :=
- fun var =>
- Abs
- (fun (x : var type.Z) =>
- AppIdent (var:=var) ident.Let_In
- (Pair (AppIdent (var:=var) (ident.Z.cast r[0~>4294967295]%zrange) (AppIdent (var:=var) (ident.Z.shiftr 8) (Var x)))
- (Abs (fun x : var type.Z => expr.Var x)))).
-
- Check eq_refl :
- Straightline.of_Expr test =
- fun var x _ =>
- Straightline.expr.LetInAppIdentZ r[0 ~> 4294967295] (ident.Z.shiftr 8) (Straightline.expr.Var _ x)
- (fun x0 => Straightline.expr.Scalar (Straightline.expr.Var _ x0)).
-
- Definition test_mul : Expr (type.Z -> type.Z) :=
- fun var =>
- Abs
- (fun (x : var type.Z) =>
- AppIdent (var:=var) ident.Let_In
- (Pair (AppIdent (var:=var) (ident.Z.cast r[0~>4294967295]%zrange) (AppIdent (var:=var) (ident.Z.shiftr 8) (Var x)))
- (Abs (fun y : var type.Z =>
- AppIdent ident.Let_In
- (Pair (AppIdent (ident.Z.cast r[0~>4294967295]%zrange) (AppIdent ident.Z.mul (Pair (AppIdent (@ident.primitive type.Z 12) TT) (Var y))))
- (Abs (fun z : var type.Z => (AppIdent (ident.Z.cast r[0~>4294967295]%zrange) (AppIdent (ident.Z.shiftr 3) (Var z)))))
- ))))).
-
- Check eq_refl :
- Straightline.of_Expr test_mul =
- fun var x _ =>
- Straightline.expr.LetInAppIdentZ r[0 ~> 4294967295] (ident.Z.shiftr 8) (Straightline.expr.Var _ x)
- (fun x0 =>
- Straightline.expr.LetInAppIdentZ r[0 ~> 4294967295] ident.Z.mul
- (Straightline.expr.Pair (Straightline.expr.Primitive (t:=type.Z) 12) (Straightline.expr.Var _ x0))
- (fun x1 =>
- Straightline.expr.LetInAppIdentZ r[0 ~> 4294967295] (ident.Z.shiftr 3)
- (Straightline.expr.Var _ x1)
- (fun x2 => Straightline.expr.Scalar (Straightline.expr.Var _ x2)))).
-
- Definition test_selm : Expr (type.Z -> type.Z) :=
- fun var =>
- Abs (fun x : var type.Z =>
- AppIdent (var:=var) ident.Let_In
- (Pair (AppIdent (var:=var) (ident.Z.cast r[0~>4294967295]%zrange)
- (AppIdent (var:=var) ident.Z.zselect
- (Pair
- (Pair
- (AppIdent (var:=var) (ident.Z.cast r[0~>1]%zrange)
- (AppIdent (var:=var) (ident.Z.cc_m_concrete 4294967296)
- (AppIdent (ident.Z.cast r[0~>4294967295]%zrange) (Var x))))
- (AppIdent (@ident.primitive type.Z 0) TT))
- (AppIdent (@ident.primitive type.Z 100) TT))))
- (Abs (fun z : var type.Z => Var z)))).
-
- Check eq_refl :
- Straightline.of_Expr test_selm =
- fun var x _ =>
- Straightline.expr.LetInAppIdentZ r[0 ~> 4294967295] ident.Z.zselect
- (Straightline.expr.Pair
- (Straightline.expr.Pair
- (Straightline.expr.Cast r[0 ~> 1]
- (Straightline.expr.CC_m 4294967296
- (Straightline.expr.Cast r[0 ~> 4294967295] (Straightline.expr.Var _ x))))
- (Straightline.expr.Primitive (t:=type.Z) 0)) (Straightline.expr.Primitive (t:=type.Z) 100))
- (fun x0 => Straightline.expr.Scalar (Straightline.expr.Var _ x0)).
-End StraightlineTest.
-
-(* Convert straightline code to code that uses only a certain set of identifiers *)
-Module PreFancy.
- Import Straightline.expr.
- Section with_wordmax.
- Context (log2wordmax : Z) (log2wordmax_pos : 1 < log2wordmax) (log2wordmax_even : log2wordmax mod 2 = 0).
- Let wordmax := 2 ^ log2wordmax.
- Lemma wordmax_gt_2 : 2 < wordmax.
- Proof.
- apply Z.le_lt_trans with (m:=2 ^ 1); [ reflexivity | ].
- apply Z.pow_lt_mono_r; omega.
- Qed.
-
- Lemma wordmax_even : wordmax mod 2 = 0.
- Proof.
- replace 2 with (2 ^ 1) by reflexivity.
- subst wordmax. apply Z.mod_same_pow; omega.
- Qed.
-
- Let half_bits := log2wordmax / 2.
-
- Lemma half_bits_nonneg : 0 <= half_bits.
- Proof. subst half_bits; Z.zero_bounds. Qed.
-
- Let wordmax_half_bits := 2 ^ half_bits.
-
- Lemma wordmax_half_bits_pos : 0 < wordmax_half_bits.
- Proof. subst wordmax_half_bits half_bits. Z.zero_bounds. Qed.
-
- Lemma half_bits_squared : (wordmax_half_bits - 1) * (wordmax_half_bits - 1) <= wordmax - 1.
- Proof.
- pose proof wordmax_half_bits_pos.
- subst wordmax_half_bits.
- transitivity (2 ^ (half_bits + half_bits) - 2 * 2 ^ half_bits + 1).
- { rewrite Z.pow_add_r by (subst half_bits; Z.zero_bounds).
- autorewrite with push_Zmul; omega. }
- { transitivity (wordmax - 2 * 2 ^ half_bits + 1); [ | lia].
- subst wordmax.
- apply Z.add_le_mono_r.
- apply Z.sub_le_mono_r.
- apply Z.pow_le_mono_r; [ omega | ].
- rewrite Z.add_diag; subst half_bits.
- apply BinInt.Z.mul_div_le; omega. }
- Qed.
-
- Lemma wordmax_half_bits_le_wordmax : wordmax_half_bits <= wordmax.
- Proof.
- subst wordmax half_bits wordmax_half_bits.
- apply Z.pow_le_mono_r; [lia|].
- apply Z.div_le_upper_bound; lia.
- Qed.
-
- Lemma ones_half_bits : wordmax_half_bits - 1 = Z.ones half_bits.
- Proof.
- subst wordmax_half_bits. cbv [Z.ones].
- rewrite Z.shiftl_mul_pow2, <-Z.sub_1_r by auto using half_bits_nonneg.
- lia.
- Qed.
-
- Lemma wordmax_half_bits_squared : wordmax_half_bits * wordmax_half_bits = wordmax.
- Proof.
- subst wordmax half_bits wordmax_half_bits.
- rewrite <-Z.pow_add_r by Z.zero_bounds.
- rewrite Z.add_diag, Z.mul_div_eq by omega.
- f_equal; lia.
- Qed.
-
- Section with_var.
- Context {var : type -> Type} (dummy_arrow : forall s d, var (type.arrow s d)) (consts : list Z).
- Local Notation Z := (type.type_primitive type.Z).
-
- Inductive ident : type -> type -> Type :=
- | add (imm : BinInt.Z) : ident (Z * Z) (Z * Z)
- | addc (imm : BinInt.Z) : ident (Z * Z * Z) (Z * Z)
- | sub (imm : BinInt.Z) : ident (Z * Z) (Z * Z)
- | subb (imm : BinInt.Z) : ident (Z * Z * Z) (Z * Z)
- | mulll : ident (Z * Z) Z
- | mullh : ident (Z * Z) Z
- | mulhl : ident (Z * Z) Z
- | mulhh : ident (Z * Z) Z
- | rshi : BinInt.Z -> ident (Z * Z) Z
- | selc : ident (Z * Z * Z) Z
- | selm : ident (Z * Z * Z) Z
- | sell : ident (Z * Z * Z) Z
- | addm : ident (Z * Z * Z) Z
- .
- Definition dummy t : @expr var ident t := Scalar (dummy_scalar (dummy_arrow:=dummy_arrow) t).
-
- Definition constant_to_scalar_single (const x : BinInt.Z) : option (@scalar var Z) :=
- if x =? (BinInt.Z.shiftr const half_bits)
- then Some (Cast {|lower := 0; upper:=wordmax_half_bits-1|} (Shiftr half_bits (Primitive (t:=type.Z) const)))
- else if x =? (BinInt.Z.land const (wordmax_half_bits - 1))
- then Some (Cast {|lower := 0; upper:=wordmax_half_bits-1|} (Land (wordmax_half_bits-1) (Primitive (t:=type.Z) const)))
- else None.
-
- Definition constant_to_scalar (x : BinInt.Z)
- : option (Straightline.expr.scalar Z) :=
- fold_right (fun c res => match res with
- | Some s => Some s
- | None => constant_to_scalar_single c x
- end) None consts.
-
- Definition invert_lower' {t} (e : @scalar var t) :
- option (@scalar var Z) :=
- match e in scalar t return option (@scalar var Z) with
- | Cast r (Land n x) =>
- if (lower r =? 0) && (upper r =? (wordmax_half_bits - 1)) && (n =? wordmax_half_bits-1)
- then Some x
- else None
- | _ => None
- end.
-
- Definition invert_upper' {t} (e : @scalar var t) :
- option (@scalar var Z) :=
- match e in scalar t return option (@scalar var Z) with
- | Cast r (Shiftr n x) =>
- if (lower r =? 0) && (upper r =? (wordmax_half_bits - 1)) && (n =? half_bits)
- then Some x
- else None
- | _ => None
- end.
-
- Definition invert_lower {t} (e : @scalar var t) :
- option (@scalar var Z) :=
- match e in scalar t return option (@scalar var Z) with
- | Primitive type.Z x =>
- match constant_to_scalar x with
- | Some y => invert_lower' y
- | None => None
- end
- | _ => invert_lower' e
- end.
-
- Definition invert_upper {t} (e : @scalar var t) :
- option (@scalar var Z) :=
- match e in scalar t return option (@scalar var Z) with
- | Primitive type.Z x =>
- match constant_to_scalar x with
- | Some y => invert_upper' y
- | None => None
- end
- | _ => invert_upper' e
- end.
-
- Definition invert_sell {t} (e : @scalar var t) :
- option (@scalar var Z * @scalar var Z * @scalar var Z) :=
- match e return _ with
- | Pair _ Z (Pair Z Z x y) z =>
- match x return option (@scalar var Z * @scalar var Z * @scalar var Z) with
- | Cast r (Land n x') =>
- if (lower r =? 0) && (upper r =? 1) && (n =? 1)
- then Some (x', y, z)
- else None
- | _ => (@None _)
- end
- | _ => None
- end.
-
- Definition invert_selm {t} (e : @scalar var t) :
- option (@scalar var Z * @scalar var Z * @scalar var Z) :=
- match e return _ with
- | Pair _ Z (Pair Z Z x y) z =>
- match x return option (@scalar var Z * @scalar var Z * @scalar var Z) with
- | Cast r (CC_m n x') =>
- if (lower r =? 0) && (upper r =? 1) && (n =? wordmax)
- then Some (x', y, z)
- else None
- | _ => (@None _)
- end
- | _ => None
- end.
-
- Definition invert_shift {t} (s : @scalar var t)
- : option (@scalar var Z * BinInt.Z) :=
- match s return option (@scalar var Z * BinInt.Z) with
- | Cast r (Shiftl n x) =>
- match invert_lower x return option (@scalar var Z * BinInt.Z) with
- | Some x' =>
- if (lower r =? 0) && (upper r =? wordmax-1) && (n =? half_bits)
- then Some (x', half_bits)
- else None
- | None => None
- end
- | _ =>
- match invert_upper s return _ with
- | Some x => Some (x, -half_bits)
- | None => None
- end
- end.
-
- Definition of_straightline_ident {s d} (idc : ident.ident s d)
- : forall t, range_type d -> @scalar var s -> (var d -> @expr var ident t) -> @expr var ident t :=
- match idc in ident.ident s d return forall t, range_type d -> scalar s -> (var d -> @expr var ident t) -> @expr var ident t with
- | ident.Z.add_get_carry_concrete w =>
- fun t r x f =>
- if w =? wordmax
- then
- match x with
- | Pair Z Z xl xr =>
- match invert_shift xl, invert_shift xr with
- | _, Some (xr', imm) => LetInAppIdentZZ r (add imm) (Pair xl xr') f
- | Some (xl', imm), None => LetInAppIdentZZ r (add imm) (Pair xr xl') f
-
- | None, None => LetInAppIdentZZ r (add 0) (Pair xl xr) f
- end
- | _ => dummy _
- end
- else dummy _
- | ident.Z.add_with_get_carry_concrete w =>
- fun t r x f =>
- if w =? wordmax
- then
- match x with
- | Pair (type.prod Z Z) Z (Pair Z Z xc xl) xr =>
- match invert_shift xl, invert_shift xr with
- | _, Some (xr', imm) => LetInAppIdentZZ r (addc imm) (Pair (Pair xc xl) xr') f
- | Some (xl', imm), None => LetInAppIdentZZ r (addc imm) (Pair (Pair xc xr) xl') f
-
- | None, None => LetInAppIdentZZ r (addc 0) (Pair (Pair xc xl) xr) f
- end
- | _ => dummy _
- end
- else dummy _
- | ident.Z.sub_get_borrow_concrete w =>
- fun t r x f =>
- if w =? wordmax
- then
- match x with
- | Pair Z Z xl xr =>
- match invert_shift xr with
- | Some (xr', imm) => LetInAppIdentZZ r (sub imm) (Pair xl xr') f
- | None => LetInAppIdentZZ r (sub 0) (Pair xl xr) f
- end
- | _ => dummy _
- end
- else dummy _
- | ident.Z.sub_with_get_borrow_concrete w =>
- fun t r x f =>
- if w =? wordmax
- then
- match x with
- | Pair (type.prod Z Z) Z (Pair Z Z xb xl) xr =>
- match invert_shift xr with
- | Some (xr', imm) => LetInAppIdentZZ r (subb imm) (Pair (Pair xb xl) xr') f
- | None => LetInAppIdentZZ r (subb 0) (Pair (Pair xb xl) xr) f
- end
- | _ => dummy _
- end
- else dummy _
- | ident.Z.rshi_concrete w n =>
- fun _ r x f =>
- if w =? wordmax
- then LetInAppIdentZ r (rshi n) x f
- else dummy _
- | ident.Z.zselect =>
- fun t r x f =>
- match invert_selm x with
- | Some (x, y, z) => LetInAppIdentZ r selm (Pair (Pair x y) z) f
- | None => match invert_sell x with
- | Some (x, y, z) => LetInAppIdentZ r sell (Pair (Pair x y) z) f
- | None => LetInAppIdentZ r selc x f
- end
- end
- | ident.Z.add_modulo => fun _ r => LetInAppIdentZ r addm
- | ident.Z.mul =>
- fun t r x f =>
- match x return expr t with
- | Pair _ _ x0 x1 =>
- match invert_lower x0, invert_lower x1 with
- | Some y0, Some y1 => LetInAppIdentZ r mulll (Pair y0 y1) f
- | Some y0, None =>
- match invert_upper x1 with
- | Some y1 => LetInAppIdentZ r mullh (Pair y0 y1) f
- | None => dummy _
- end
- | None, Some y1 =>
- match invert_upper x0 with
- | Some y0 => LetInAppIdentZ r mulhl (Pair y0 y1) f
- | None => dummy _
- end
- | None, None =>
- match invert_upper x0, invert_upper x1 with
- | Some y0, Some y1 => LetInAppIdentZ r mulhh (Pair y0 y1) f
- | _,_ => dummy _
- end
- end
- | _ => dummy _
- end
- | _ => fun t _ _ _ => dummy t
- end.
-
- Fixpoint of_straightline {t} (e : @expr var ident.ident t)
- : @expr var ident t :=
- match e with
- | Scalar _ s => Scalar s
- | LetInAppIdentZ _ t r idc x f =>
- of_straightline_ident idc t r[0~>wordmax-1]%zrange x (fun y => of_straightline (f y))
- | LetInAppIdentZZ _ t r idc x f =>
- of_straightline_ident idc t (r[0~>wordmax-1], r[0~>1])%zrange x (fun y => of_straightline (f y))
- end.
- End with_var.
-
- Section interp.
- Context {interp_cast : zrange -> Z -> Z}.
- Local Notation interp_scalar := (interp_scalar (interp_cast:=interp_cast)).
- Local Notation interp_cast2 := (interp_cast2 (interp_cast:=interp_cast)).
- Local Notation low x := (Z.land x (wordmax_half_bits - 1)).
- Local Notation high x := (x >> half_bits).
- Local Notation shift x imm := ((x << imm) mod wordmax).
-
- Definition interp_ident {s d} (idc : ident s d) : type.interp s -> type.interp d :=
- match idc with
- | add imm => fun x => Z.add_get_carry_full wordmax (fst x) (shift (snd x) imm)
- | addc imm => fun x => Z.add_with_get_carry_full wordmax (fst (fst x)) (snd (fst x)) (shift (snd x) imm)
- | sub imm => fun x => Z.sub_get_borrow_full wordmax (fst x) (shift (snd x) imm)
- | subb imm => fun x => Z.sub_with_get_borrow_full wordmax (fst (fst x)) (snd (fst x)) (shift (snd x) imm)
- | mulll => fun x => low (fst x) * low (snd x)
- | mullh => fun x => low (fst x) * high (snd x)
- | mulhl => fun x => high (fst x) * low (snd x)
- | mulhh => fun x => high (fst x) * high (snd x)
- | rshi n => fun x => Z.rshi wordmax (fst x) (snd x) n
- | selc => fun x => Z.zselect (fst (fst x)) (snd (fst x)) (snd x)
- | selm => fun x => Z.zselect (Z.cc_m wordmax (fst (fst x))) (snd (fst x)) (snd x)
- | sell => fun x => Z.zselect (Z.land (fst (fst x)) 1) (snd (fst x)) (snd x)
- | addm => fun x => Z.add_modulo (fst (fst x)) (snd (fst x)) (snd x)
- end.
-
- Fixpoint interp {t} (e : @expr type.interp ident t) : type.interp t :=
- match e with
- | Scalar t s => interp_scalar s
- | LetInAppIdentZ s d r idc x f =>
- interp (f (interp_cast r (interp_ident idc (interp_scalar x))))
- | LetInAppIdentZZ s d r idc x f =>
- interp (f (interp_cast2 r (interp_ident idc (interp_scalar x))))
- end.
- End interp.
-
- Section proofs.
- Context (dummy_arrow : forall s d, type.interp (s -> d)%ctype) (consts : list Z)
- (consts_ok : forall x, In x consts -> 0 <= x <= wordmax - 1).
- Context {interp_cast : zrange -> Z -> Z} {interp_cast_correct : forall r x, lower r <= x <= upper r -> interp_cast r x = x}.
- Local Notation interp_scalar := (interp_scalar (interp_cast:=interp_cast)).
- Local Notation interp_cast2 := (interp_cast2 (interp_cast:=interp_cast)).
-
- Local Notation word_range := (r[0~>wordmax-1])%zrange.
- Local Notation half_word_range := (r[0~>wordmax_half_bits-1])%zrange.
- Local Notation flag_range := (r[0~>1])%zrange.
-
- Definition in_word_range (r : zrange) := is_tighter_than_bool r word_range = true.
- Definition in_flag_range (r : zrange) := is_tighter_than_bool r flag_range = true.
-
- Fixpoint get_range_var (t : type) : type.interp t -> range_type t :=
- match t with
- | type.type_primitive type.Z =>
- fun x => {| lower := x; upper := x |}
- | type.prod a b =>
- fun x => (get_range_var a (fst x), get_range_var b (snd x))
- | _ => fun _ => tt
- end.
-
- Fixpoint get_range {t} (x : @scalar type.interp t) : range_type t :=
- match x with
- | Var t v => get_range_var t v
- | TT => tt
- | Nil _ => tt
- | Pair _ _ x y => (get_range x, get_range y)
- | Cast r _ => r
- | Cast2 r _ => r
- | Fst _ _ p => fst (get_range p)
- | Snd _ _ p => snd (get_range p)
- | Shiftr n x => ZRange.map (fun y => Z.shiftr y n) (get_range x)
- | Shiftl n x => ZRange.map (fun y => Z.shiftl y n) (get_range x)
- | Land n x => r[0~>n]%zrange
- | CC_m n x => ZRange.map (Z.cc_m n) (get_range x)
- | Primitive type.Z x => {| lower := x; upper := x |}
- | Primitive p x => tt
- end.
-
- Fixpoint has_range {t} : range_type t -> type.interp t -> Prop :=
- match t with
- | type.type_primitive type.Z =>
- fun r x =>
- lower r <= x <= upper r
- | type.prod a b =>
- fun r x =>
- has_range (fst r) (fst x) /\ has_range (snd r) (snd x)
- | _ => fun _ _ => True
- end.
-
- Inductive ok_scalar : forall {t}, @scalar type.interp t -> Prop :=
- | sc_ok_var : forall t v, ok_scalar (Var t v)
- | sc_ok_unit : ok_scalar TT
- | sc_ok_nil : forall t, ok_scalar (Nil t)
- | sc_ok_pair : forall A B x y,
- @ok_scalar A x ->
- @ok_scalar B y ->
- ok_scalar (Pair x y)
- | sc_ok_cast : forall r (x : scalar type.Z),
- ok_scalar x ->
- is_tighter_than_bool (get_range x) r = true ->
- ok_scalar (Cast r x)
- | sc_ok_cast2 : forall r (x : scalar (type.prod type.Z type.Z)),
- ok_scalar x ->
- is_tighter_than_bool (fst (get_range x)) (fst r) = true ->
- is_tighter_than_bool (snd (get_range x)) (snd r) = true ->
- ok_scalar (Cast2 r x)
- | sc_ok_fst :
- forall A B p, @ok_scalar (A * B) p -> ok_scalar (Fst p)
- | sc_ok_snd :
- forall A B p, @ok_scalar (A * B) p -> ok_scalar (Snd p)
- | sc_ok_shiftr :
- forall n x, 0 <= n -> ok_scalar x -> ok_scalar (Shiftr n x)
- | sc_ok_shiftl :
- forall n x, 0 <= n -> 0 <= lower (@get_range type.Z x) -> ok_scalar x -> ok_scalar (Shiftl n x)
- | sc_ok_land :
- forall n x, 0 <= n -> 0 <= lower (@get_range type.Z x) -> ok_scalar x -> ok_scalar (Land n x)
- | sc_ok_cc_m :
- forall x, ok_scalar x -> ok_scalar (CC_m wordmax x)
- | sc_ok_prim : forall p x, ok_scalar (@Primitive _ p x)
- .
-
- Inductive is_halved : scalar type.Z -> Prop :=
- | is_halved_lower :
- forall x : scalar type.Z,
- in_word_range (get_range x) ->
- is_halved (Cast half_word_range (Land (wordmax_half_bits - 1) x))
- | is_halved_upper :
- forall x : scalar type.Z,
- in_word_range (get_range x) ->
- is_halved (Cast half_word_range (Shiftr half_bits x))
- | is_halved_constant :
- forall y z,
- constant_to_scalar consts z = Some y ->
- is_halved y ->
- is_halved (Primitive (t:=type.Z) z)
- .
-
- Inductive ok_ident : forall s d, scalar s -> range_type d -> ident.ident s d -> Prop :=
- | ok_add :
- forall x y : scalar type.Z,
- in_word_range (get_range x) ->
- in_word_range (get_range y) ->
- ok_ident _
- (type.prod type.Z type.Z)
- (Pair x y)
- (word_range, flag_range)
- (ident.Z.add_get_carry_concrete wordmax)
- | ok_addc :
- forall (c x y : scalar type.Z) outr,
- in_flag_range (get_range c) ->
- in_word_range (get_range x) ->
- in_word_range (get_range y) ->
- lower outr = 0 ->
- (0 <= upper (get_range c) + upper (get_range x) + upper (get_range y) <= upper outr \/ outr = word_range) ->
- ok_ident _
- (type.prod type.Z type.Z)
- (Pair (Pair c x) y)
- (outr, flag_range)
- (ident.Z.add_with_get_carry_concrete wordmax)
- | ok_sub :
- forall x y : scalar type.Z,
- in_word_range (get_range x) ->
- in_word_range (get_range y) ->
- ok_ident _
- (type.prod type.Z type.Z)
- (Pair x y)
- (word_range, flag_range)
- (ident.Z.sub_get_borrow_concrete wordmax)
- | ok_subb :
- forall b x y : scalar type.Z,
- in_flag_range (get_range b) ->
- in_word_range (get_range x) ->
- in_word_range (get_range y) ->
- ok_ident _
- (type.prod type.Z type.Z)
- (Pair (Pair b x) y)
- (word_range, flag_range)
- (ident.Z.sub_with_get_borrow_concrete wordmax)
- | ok_rshi :
- forall (x : scalar (type.prod type.Z type.Z)) n outr,
- in_word_range (fst (get_range x)) ->
- in_word_range (snd (get_range x)) ->
- (* note : using [outr] rather than [word_range] allows for cases where the result has been put in a smaller word size. *)
- lower outr = 0 ->
- 0 <= n ->
- ((0 <= (upper (snd (get_range x)) + upper (fst (get_range x)) * wordmax) / 2^n <= upper outr)
- \/ outr = word_range) ->
- ok_ident (type.prod type.Z type.Z) type.Z x outr (ident.Z.rshi_concrete wordmax n)
- | ok_selc :
- forall (x : scalar (type.prod type.Z type.Z)) (y z : scalar type.Z),
- in_flag_range (snd (get_range x)) ->
- in_word_range (get_range y) ->
- in_word_range (get_range z) ->
- ok_ident _
- type.Z
- (Pair (Pair (Cast flag_range (Snd x)) y) z)
- word_range
- ident.Z.zselect
- | ok_selm :
- forall x y z : scalar type.Z,
- in_word_range (get_range x) ->
- in_word_range (get_range y) ->
- in_word_range (get_range z) ->
- ok_ident _
- type.Z
- (Pair (Pair (Cast flag_range (CC_m wordmax x)) y) z)
- word_range
- ident.Z.zselect
- | ok_sell :
- forall x y z : scalar type.Z,
- in_word_range (get_range x) ->
- in_word_range (get_range y) ->
- in_word_range (get_range z) ->
- ok_ident _
- type.Z
- (Pair (Pair (Cast flag_range (Land 1 x)) y) z)
- word_range
- ident.Z.zselect
- | ok_addm :
- forall (x : scalar (type.prod (type.prod type.Z type.Z) type.Z)),
- in_word_range (fst (fst (get_range x))) ->
- in_word_range (snd (fst (get_range x))) ->
- in_word_range (snd (get_range x)) ->
- upper (fst (fst (get_range x))) + upper (snd (fst (get_range x))) - lower (snd (get_range x)) < wordmax ->
- ok_ident _
- type.Z
- x
- word_range
- ident.Z.add_modulo
- | ok_mul :
- forall x y : scalar type.Z,
- is_halved x ->
- is_halved y ->
- ok_ident (type.prod type.Z type.Z)
- type.Z
- (Pair x y)
- word_range
- ident.Z.mul
- .
-
- Inductive ok_expr : forall {t}, @expr type.interp ident.ident t -> Prop :=
- | ok_of_scalar : forall t s, ok_scalar s -> @ok_expr t (Scalar s)
- | ok_letin_z : forall s d r idc x f,
- ok_ident _ type.Z x r idc ->
- (r <=? word_range)%zrange = true ->
- ok_scalar x ->
- (forall y, has_range (t:=type.Z) r y -> ok_expr (f y)) ->
- ok_expr (@LetInAppIdentZ _ _ s d r idc x f)
- | ok_letin_zz : forall s d r idc x f,
- ok_ident _ (type.prod type.Z type.Z) x (r, flag_range) idc ->
- (r <=? word_range)%zrange = true ->
- ok_scalar x ->
- (forall y, has_range (t:=type.Z * type.Z) (r, flag_range) y -> ok_expr (f y)) ->
- ok_expr (@LetInAppIdentZZ _ _ s d (r, flag_range) idc x f)
- .
-
- Ltac invert H :=
- inversion H; subst;
- repeat match goal with
- | H : existT _ _ _ = existT _ _ _ |- _ => apply (Eqdep_dec.inj_pair2_eq_dec _ type.type_eq_dec) in H; subst
- end.
-
- Lemma has_range_get_range_var {t} (v : type.interp t) :
- has_range (get_range_var _ v) v.
- Proof.
- induction t; cbn [get_range_var has_range fst snd]; auto.
- destruct p; auto; cbn [upper lower]; omega.
- Qed.
-
- Lemma has_range_loosen r1 r2 (x : Z) :
- @has_range type.Z r1 x ->
- is_tighter_than_bool r1 r2 = true ->
- @has_range type.Z r2 x.
- Proof.
- cbv [is_tighter_than_bool has_range]; intros;
- match goal with H : _ && _ = true |- _ => rewrite andb_true_iff in H; destruct H end;
- Z.ltb_to_lt; omega.
- Qed.
-
- Lemma interp_cast_noop x r :
- @has_range type.Z r x ->
- interp_cast r x = x.
- Proof. cbv [has_range]; intros; auto. Qed.
-
- Lemma interp_cast2_noop x r :
- @has_range (type.prod type.Z type.Z) r x ->
- interp_cast2 r x = x.
- Proof.
- cbv [has_range interp_cast2]; intros.
- rewrite !interp_cast_correct by tauto.
- destruct x; reflexivity.
- Qed.
-
- Lemma has_range_shiftr n (x : scalar type.Z) :
- 0 <= n ->
- has_range (get_range x) (interp_scalar x) ->
- @has_range type.Z (ZRange.map (fun y : Z => y >> n) (get_range x)) (interp_scalar x >> n).
- Proof. cbv [has_range]; intros; cbn. auto using Z.shiftr_le with omega. Qed.
- Hint Resolve has_range_shiftr : has_range.
-
- Lemma has_range_shiftl n r x :
- 0 <= n -> 0 <= lower r ->
- @has_range type.Z r x ->
- @has_range type.Z (ZRange.map (fun y : Z => y << n) r) (x << n).
- Proof. cbv [has_range]; intros; cbn. auto using Z.shiftl_le_mono with omega. Qed.
- Hint Resolve has_range_shiftl : has_range.
-
- Lemma has_range_land n (x : scalar type.Z) :
- 0 <= n -> 0 <= lower (get_range x) ->
- has_range (get_range x) (interp_scalar x) ->
- @has_range type.Z (r[0~>n])%zrange (Z.land (interp_scalar x) n).
- Proof.
- cbv [has_range]; intros; cbn.
- split; [ apply Z.land_nonneg | apply Z.land_upper_bound_r ]; omega.
- Qed.
- Hint Resolve has_range_land : has_range.
-
- Lemma has_range_interp_scalar {t} (x : scalar t) :
- ok_scalar x ->
- has_range (get_range x) (interp_scalar x).
- Proof.
- induction 1; cbn [interp_scalar get_range];
- auto with has_range;
- try solve [try inversion IHok_scalar; cbn [has_range];
- auto using has_range_get_range_var]; [ | | | ].
- { rewrite interp_cast_noop by eauto using has_range_loosen.
- eapply has_range_loosen; eauto. }
- { inversion IHok_scalar.
- rewrite interp_cast2_noop;
- cbn [has_range]; split; eapply has_range_loosen; eauto. }
- { cbn. cbv [has_range] in *.
- pose proof wordmax_gt_2.
- rewrite !Z.cc_m_eq by omega.
- split; apply Z.div_le_mono; Z.zero_bounds; omega. }
- { destruct p; cbn [has_range upper lower]; auto; omega. }
- Qed.
- Hint Resolve has_range_interp_scalar : has_range.
-
- Lemma has_word_range_interp_scalar (x : scalar type.Z) :
- ok_scalar x ->
- in_word_range (get_range x) ->
- @has_range type.Z word_range (interp_scalar x).
- Proof. eauto using has_range_loosen, has_range_interp_scalar. Qed.
-
- Lemma in_word_range_nonneg r : in_word_range r -> 0 <= lower r.
- Proof.
- cbv [in_word_range is_tighter_than_bool].
- rewrite andb_true_iff; intuition.
- Qed.
-
- Lemma in_word_range_upper_nonneg r x : @has_range type.Z r x -> in_word_range r -> 0 <= upper r.
- Proof.
- cbv [in_word_range is_tighter_than_bool]; cbn.
- rewrite andb_true_iff; intuition.
- Z.ltb_to_lt. omega.
- Qed.
-
- Lemma has_word_range_shiftl n r x :
- 0 <= n -> upper r * 2 ^ n <= wordmax - 1 ->
- @has_range type.Z r x ->
- in_word_range r ->
- @has_range type.Z word_range (x << n).
- Proof.
- intros.
- eapply has_range_loosen;
- [ apply has_range_shiftl; eauto using in_word_range_nonneg with has_range; omega | ].
- cbv [is_tighter_than_bool]. cbn.
- apply andb_true_iff; split; apply Z.leb_le;
- [ apply Z.shiftl_nonneg; solve [auto using in_word_range_nonneg] | ].
- rewrite Z.shiftl_mul_pow2 by omega.
- auto.
- Qed.
-
- Lemma has_range_rshi r n x y :
- 0 <= n ->
- 0 <= x ->
- 0 <= y ->
- lower r = 0 ->
- (0 <= (y + x * wordmax) / 2^n <= upper r \/ r = word_range) ->
- @has_range type.Z r (Z.rshi wordmax x y n).
- Proof.
- pose proof wordmax_gt_2.
- intros. cbv [has_range].
- rewrite Z.rshi_correct by omega.
- match goal with |- context [?x mod ?m] =>
- pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- split; [lia|].
- intuition.
- { destruct (Z_lt_dec (upper r) wordmax); [ | lia].
- rewrite Z.mod_small by (split; Z.zero_bounds; omega).
- omega. }
- { subst r. cbn [upper]. omega. }
- Qed.
-
- Lemma in_word_range_spec r :
- (0 <= lower r /\ upper r <= wordmax - 1)
- <-> in_word_range r.
- Proof.
- intros; cbv [in_word_range is_tighter_than_bool].
- rewrite andb_true_iff.
- intuition; apply Z.leb_le; cbn [upper lower]; try omega.
- Qed.
-
- Ltac destruct_scalar :=
- match goal with
- | x : scalar (type.prod (type.prod _ _) _) |- _ =>
- match goal with |- context [interp_scalar x] =>
- destruct (interp_scalar x) as [ [? ?] ?];
- destruct (get_range x) as [ [? ?] ?]
- end
- | x : scalar (type.prod _ _) |- _ =>
- match goal with |- context [interp_scalar x] =>
- destruct (interp_scalar x) as [? ?]; destruct (get_range x) as [? ?]
- end
- end.
-
- Ltac extract_ok_scalar' level x :=
- match goal with
- | H : ok_scalar (Pair (Pair (?f (?g x)) _) _) |- _ =>
- match (eval compute in (4 <=? level)) with
- | true => invert H; extract_ok_scalar' 3 x
- | _ => fail
- end
- | H : ok_scalar (Pair (?f (?g x)) _) |- _ =>
- match (eval compute in (3 <=? level)) with
- | true => invert H; extract_ok_scalar' 2 x
- | _ => fail
- end
- | H : ok_scalar (Pair _ (?f (?g x))) |- _ =>
- match (eval compute in (3 <=? level)) with
- | true => invert H; extract_ok_scalar' 2 x
- | _ => fail
- end
- | H : ok_scalar (?f (?g x)) |- _ =>
- match (eval compute in (2 <=? level)) with
- | true => invert H; extract_ok_scalar' 1 x
- | _ => fail
- end
- | H : ok_scalar (Pair (Pair x _) _) |- _ =>
- match (eval compute in (2 <=? level)) with
- | true => invert H; extract_ok_scalar' 1 x
- | _ => fail
- end
- | H : ok_scalar (Pair (Pair _ x) _) |- _ =>
- match (eval compute in (2 <=? level)) with
- | true => invert H; extract_ok_scalar' 1 x
- | _ => fail
- end
- | H : ok_scalar (?g x) |- _ => invert H
- | H : ok_scalar (Pair x _) |- _ => invert H
- | H : ok_scalar (Pair _ x) |- _ => invert H
- end.
-
- Ltac extract_ok_scalar :=
- match goal with |- ok_scalar ?x => extract_ok_scalar' 4 x; assumption end.
-
- Lemma has_half_word_range_shiftr r x :
- in_word_range r ->
- @has_range type.Z r x ->
- @has_range type.Z half_word_range (x >> half_bits).
- Proof.
- cbv [in_word_range is_tighter_than_bool].
- rewrite andb_true_iff.
- cbn [has_range upper lower]; intros; intuition; Z.ltb_to_lt.
- { apply Z.shiftr_nonneg. omega. }
- { pose proof half_bits_nonneg.
- pose proof half_bits_squared.
- assert (x >> half_bits < wordmax_half_bits); [|omega].
- rewrite Z.shiftr_div_pow2 by auto.
- apply Z.div_lt_upper_bound; Z.zero_bounds.
- subst wordmax_half_bits half_bits.
- rewrite <-Z.pow_add_r by omega.
- rewrite Z.add_diag, Z.mul_div_eq, log2wordmax_even by omega.
- autorewrite with zsimplify_fast. subst wordmax. omega. }
- Qed.
-
- Lemma has_half_word_range_land r x :
- in_word_range r ->
- @has_range type.Z r x ->
- @has_range type.Z half_word_range (x &' (wordmax_half_bits - 1)).
- Proof.
- pose proof wordmax_half_bits_pos.
- cbv [in_word_range is_tighter_than_bool].
- rewrite andb_true_iff.
- cbn [has_range upper lower]; intros; intuition; Z.ltb_to_lt.
- { apply Z.land_nonneg; omega. }
- { apply Z.land_upper_bound_r; omega. }
- Qed.
-
- Section constant_to_scalar.
- Lemma constant_to_scalar_single_correct s x z :
- 0 <= x <= wordmax - 1 ->
- constant_to_scalar_single x z = Some s -> interp_scalar s = z.
- Proof.
- cbv [constant_to_scalar_single].
- break_match; try discriminate; intros; Z.ltb_to_lt; subst;
- try match goal with H : Some _ = Some _ |- _ => inversion H; subst end;
- cbn [interp_scalar]; apply interp_cast_noop.
- { apply has_half_word_range_shiftr with (r:=r[x~>x]%zrange);
- cbv [in_word_range is_tighter_than_bool upper lower has_range]; try omega.
- apply andb_true_iff; split; apply Z.leb_le; omega. }
- { apply has_half_word_range_land with (r:=r[x~>x]%zrange);
- cbv [in_word_range is_tighter_than_bool upper lower has_range]; try omega.
- apply andb_true_iff; split; apply Z.leb_le; omega. }
- Qed.
-
- Lemma constant_to_scalar_correct s z :
- constant_to_scalar consts z = Some s -> interp_scalar s = z.
- Proof.
- cbv [constant_to_scalar].
- apply fold_right_invariant; try discriminate.
- intros until 2; break_match; eauto using constant_to_scalar_single_correct.
- Qed.
-
- Lemma constant_to_scalar_single_cases x y z :
- @constant_to_scalar_single type.interp x z = Some y ->
- (y = Cast half_word_range (Land (wordmax_half_bits - 1) (Primitive (t:=type.Z) x)))
- \/ (y = Cast half_word_range (Shiftr half_bits (Primitive (t:=type.Z) x))).
- Proof.
- cbv [constant_to_scalar_single].
- break_match; try discriminate; intros; Z.ltb_to_lt; subst;
- try match goal with H : Some _ = Some _ |- _ => inversion H; subst end;
- tauto.
- Qed.
-
- Lemma constant_to_scalar_cases y z :
- @constant_to_scalar type.interp consts z = Some y ->
- (exists x,
- @has_range type.Z word_range x
- /\ y = Cast half_word_range (Land (wordmax_half_bits - 1) (Primitive x)))
- \/ (exists x,
- @has_range type.Z word_range x
- /\ y = Cast half_word_range (Shiftr half_bits (Primitive x))).
- Proof.
- cbv [constant_to_scalar].
- apply fold_right_invariant; try discriminate.
- intros until 2; break_match; eauto; intros.
- match goal with H : constant_to_scalar_single _ _ = _ |- _ =>
- destruct (constant_to_scalar_single_cases _ _ _ H); subst end.
- { left; eexists; split; eauto.
- apply consts_ok; auto. }
- { right; eexists; split; eauto.
- apply consts_ok; auto. }
- Qed.
-
- Lemma ok_scalar_constant_to_scalar y z : constant_to_scalar consts z = Some y -> ok_scalar y.
- Proof.
- pose proof wordmax_half_bits_pos. pose proof half_bits_nonneg.
- let H := fresh in
- intro H; apply constant_to_scalar_cases in H; destruct H as [ [? ?] | [? ?] ]; intuition; subst;
- cbn [has_range lower upper] in *; repeat constructor; cbn [lower get_range]; try apply Z.leb_refl; try omega.
- assert (in_word_range r[x~>x]) by (apply in_word_range_spec; cbn [lower upper]; omega).
- pose proof (has_half_word_range_shiftr r[x~>x] x ltac:(assumption) ltac:(cbv [has_range lower upper]; omega)).
- cbn [has_range ZRange.map is_tighter_than_bool lower upper] in *.
- apply andb_true_iff; cbn [lower upper]; split; apply Z.leb_le; omega.
- Qed.
- End constant_to_scalar.
- Hint Resolve ok_scalar_constant_to_scalar.
-
- Lemma is_halved_has_range x :
- ok_scalar x ->
- is_halved x ->
- @has_range type.Z half_word_range (interp_scalar x).
- Proof.
- intro; pose proof (has_range_interp_scalar x ltac:(assumption)).
- induction 1; cbn [interp_scalar] in *; intros; try assumption; [ ].
- rewrite <-(constant_to_scalar_correct y z) by assumption.
- eauto using has_range_interp_scalar.
- Qed.
-
- Lemma ident_interp_has_range s d x r idc:
- ok_scalar x ->
- ok_ident s d x r idc ->
- has_range r (ident.interp idc (interp_scalar x)).
- Proof.
- intro.
- pose proof (has_range_interp_scalar x ltac:(assumption)).
- pose proof wordmax_gt_2.
- induction 1; cbn [ident.interp ident.gen_interp]; intros; try destruct_scalar;
- repeat match goal with
- | H : _ && _ = true |- _ => rewrite andb_true_iff in H; destruct H; Z.ltb_to_lt
- | H : _ /\ _ |- _ => destruct H
- | H : is_halved _ |- _ => apply is_halved_has_range in H; [ | extract_ok_scalar ]
- | _ => progress subst
- | _ => progress (cbv [in_word_range in_flag_range is_tighter_than_bool] in * )
- | _ => progress (cbn [interp_scalar get_range has_range upper lower fst snd] in * )
- end.
- {
- autorewrite with to_div_mod.
- match goal with |- context[?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite Z.div_between_0_if by omega.
- split; break_match; lia. }
- {
- autorewrite with to_div_mod.
- match goal with |- context[?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite Z.div_between_0_if by omega.
- match goal with H : _ \/ _ |- _ => destruct H; subst end.
- { split; break_match; try lia.
- destruct (Z_lt_dec (upper outr) wordmax).
- { match goal with |- _ <= ?y mod _ <= ?u =>
- assert (y <= u) by nia end.
- rewrite Z.mod_small by omega. omega. }
- { match goal with|- context [?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- omega. } }
- { split; break_match; cbn; lia. } }
- {
- autorewrite with to_div_mod.
- match goal with |- context[?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite Z.div_sub_small by omega.
- split; break_match; lia. }
- {
- autorewrite with to_div_mod.
- match goal with |- context [?a - ?b - ?c] => replace (a - b - c) with (a - (b + c)) by ring end.
- match goal with |- context[?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite Z.div_sub_small by omega.
- split; break_match; lia. }
- { apply has_range_rshi; try nia; [ ].
- match goal with H : context [upper ?ra + upper ?rb * wordmax] |- context [?a + ?b * wordmax] =>
- assert ((a + b * wordmax) / 2^n <= (upper ra + upper rb * wordmax) / 2^n) by (apply Z.div_le_mono; Z.zero_bounds; nia)
- end.
- match goal with H : _ \/ ?P |- _ \/ ?P => destruct H; [left|tauto] end.
- split; Z.zero_bounds; nia. }
- { rewrite Z.zselect_correct. break_match; omega. }
- { cbn [interp_scalar fst snd get_range] in *.
- rewrite Z.zselect_correct. break_match; omega. }
- { cbn [interp_scalar fst snd get_range] in *.
- rewrite Z.zselect_correct. break_match; omega. }
- { rewrite Z.add_modulo_correct.
- break_match; Z.ltb_to_lt; omega. }
- { cbn [interp_scalar has_range fst snd get_range upper lower] in *.
- pose proof half_bits_squared. nia. }
- Qed.
-
- Lemma has_flag_range_cc_m r x :
- @has_range type.Z r x ->
- in_word_range r ->
- @has_range type.Z flag_range (Z.cc_m wordmax x).
- Proof.
- cbv [has_range in_word_range is_tighter_than_bool].
- cbn [upper lower]; rewrite andb_true_iff; intros.
- match goal with H : _ /\ _ |- _ => destruct H; Z.ltb_to_lt end.
- pose proof wordmax_gt_2. pose proof wordmax_even.
- pose proof (Z.cc_m_small wordmax x). omega.
- Qed.
-
- Lemma has_flag_range_cc_m' (x : scalar type.Z) :
- ok_scalar x ->
- in_word_range (get_range x) ->
- @has_range type.Z flag_range (Z.cc_m wordmax (interp_scalar x)).
- Proof. eauto using has_flag_range_cc_m with has_range. Qed.
-
- Lemma has_flag_range_land r x :
- @has_range type.Z r x ->
- in_word_range r ->
- @has_range type.Z flag_range (Z.land x 1).
- Proof.
- cbv [has_range in_word_range is_tighter_than_bool].
- cbn [upper lower]; rewrite andb_true_iff; intuition; Z.ltb_to_lt.
- { apply Z.land_nonneg. left; omega. }
- { apply Z.land_upper_bound_r; omega. }
- Qed.
-
- Lemma has_flag_range_land' (x : scalar type.Z) :
- ok_scalar x ->
- in_word_range (get_range x) ->
- @has_range type.Z flag_range (Z.land (interp_scalar x) 1).
- Proof. eauto using has_flag_range_land with has_range. Qed.
-
- Ltac rewrite_cast_noop_in_mul :=
- repeat match goal with
- | _ => rewrite interp_cast_noop with (r:=half_word_range) in *
- by (eapply has_range_loosen; auto using has_range_land, has_range_interp_scalar)
- | _ => rewrite interp_cast_noop with (r:=half_word_range) in *
- by (eapply has_range_loosen; try apply has_range_shiftr; auto using has_range_interp_scalar;
- cbn [ZRange.map get_range] in *; auto)
- | _ => rewrite interp_cast_noop by assumption
- end.
-
- Lemma is_halved_cases x :
- is_halved x ->
- ok_scalar x ->
- (exists y,
- invert_lower consts x = Some y
- /\ invert_upper consts x = None
- /\ interp_scalar y &' (wordmax_half_bits - 1) = interp_scalar x)
- \/ (exists y,
- invert_lower consts x = None
- /\ invert_upper consts x = Some y
- /\ interp_scalar y >> half_bits = interp_scalar x).
- Proof.
- induction 1; intros; cbn; rewrite ?Z.eqb_refl; cbn.
- { left. eexists; repeat split; auto.
- rewrite interp_cast_noop; [ reflexivity | ].
- apply has_half_word_range_land with (r:=get_range x); auto.
- apply has_range_interp_scalar; extract_ok_scalar. }
- { right. eexists; repeat split; auto.
- rewrite interp_cast_noop; [ reflexivity | ].
- apply has_half_word_range_shiftr with (r:=get_range x); auto.
- apply has_range_interp_scalar; extract_ok_scalar. }
- { match goal with H : constant_to_scalar _ _ = Some _ |- _ =>
- rewrite H;
- let P := fresh in
- destruct (constant_to_scalar_cases _ _ H) as [ [? [? ?] ] | [? [? ?] ] ];
- subst; cbn; rewrite ?Z.eqb_refl; cbn
- end.
- { left; eexists; repeat split; auto.
- erewrite <-constant_to_scalar_correct by eassumption.
- subst. cbn.
- rewrite interp_cast_noop; [ reflexivity | ].
- eapply has_half_word_range_land with (r:=word_range); auto.
- cbv [in_word_range is_tighter_than_bool].
- rewrite !Z.leb_refl; reflexivity. }
- { right; eexists; repeat split; auto.
- erewrite <-constant_to_scalar_correct by eassumption.
- subst. cbn.
- rewrite interp_cast_noop; [ reflexivity | ].
- eapply has_half_word_range_shiftr with (r:=word_range); auto.
- cbv [in_word_range is_tighter_than_bool].
- rewrite !Z.leb_refl; reflexivity. } }
- Qed.
-
- Lemma halved_mul_range x y :
- ok_scalar (Pair x y) ->
- is_halved x ->
- is_halved y ->
- 0 <= interp_scalar x * interp_scalar y < wordmax.
- Proof.
- intro Hok; invert Hok. intros.
- repeat match goal with H : _ |- _ => apply is_halved_has_range in H; [|assumption] end.
- cbv [has_range lower upper] in *.
- pose proof half_bits_squared. nia.
- Qed.
-
- Lemma of_straightline_ident_mul_correct r t x y g :
- is_halved x ->
- is_halved y ->
- ok_scalar (Pair x y) ->
- (word_range <=? r)%zrange = true ->
- @has_range type.Z word_range (ident.interp ident.Z.mul (interp_scalar (Pair x y))) ->
- @interp interp_cast _ (of_straightline_ident dummy_arrow consts ident.Z.mul t r (Pair x y) g) =
- @interp interp_cast _ (g (ident.interp ident.Z.mul (interp_scalar (Pair x y)))).
- Proof.
- intros Hx Hy Hok ? ?; invert Hok; cbn [interp_scalar of_straightline_ident];
- destruct (is_halved_cases x Hx ltac:(assumption)) as [ [? [Pxlow [Pxhigh Pxi] ] ] | [? [Pxlow [Pxhigh Pxi] ] ] ];
- rewrite ?Pxlow, ?Pxhigh;
- destruct (is_halved_cases y Hy ltac:(assumption)) as [ [? [Pylow [Pyhigh Pyi] ] ] | [? [Pylow [Pyhigh Pyi] ] ] ];
- rewrite ?Pylow, ?Pyhigh;
- cbn; rewrite Pxi, Pyi; assert (0 <= interp_scalar x * interp_scalar y < wordmax) by (auto using halved_mul_range);
- rewrite interp_cast_noop by (cbv [is_tighter_than_bool] in *; cbn [has_range upper lower] in *; rewrite andb_true_iff in *; intuition; Z.ltb_to_lt; lia); reflexivity.
- Qed.
-
- Lemma has_word_range_mod_small x:
- @has_range type.Z word_range x ->
- x mod wordmax = x.
- Proof.
- cbv [has_range upper lower].
- intros. apply Z.mod_small; omega.
- Qed.
-
- Lemma half_word_range_le_word_range r :
- upper r = wordmax_half_bits - 1 ->
- lower r = 0 ->
- (r <=? word_range)%zrange = true.
- Proof.
- pose proof wordmax_half_bits_le_wordmax.
- destruct r; cbv [is_tighter_than_bool ZRange.lower ZRange.upper].
- intros; subst.
- apply andb_true_iff; split; Z.ltb_to_lt; lia.
- Qed.
-
- Lemma and_shiftl_half_bits_eq x :
- (x &' (wordmax_half_bits - 1)) << half_bits = x << half_bits mod wordmax.
- Proof.
- rewrite ones_half_bits.
- rewrite Z.land_ones, !Z.shiftl_mul_pow2 by auto using half_bits_nonneg.
- rewrite <-wordmax_half_bits_squared.
- subst wordmax_half_bits.
- rewrite Z.mul_mod_distr_r_full.
- reflexivity.
- Qed.
-
- Lemma in_word_range_word_range : in_word_range word_range.
- Proof.
- cbv [in_word_range is_tighter_than_bool].
- rewrite !Z.leb_refl; reflexivity.
- Qed.
-
- Lemma invert_shift_correct (s : scalar type.Z) x imm :
- ok_scalar s ->
- invert_shift consts s = Some (x, imm) ->
- interp_scalar s = (interp_scalar x << imm) mod wordmax.
- Proof.
- intros Hok ?; invert Hok;
- try match goal with H : ok_scalar ?x, H' : context[Cast _ ?x] |- _ =>
- invert H end;
- try match goal with H : ok_scalar ?x, H' : context[Shiftl _ ?x] |- _ =>
- invert H end;
- try match goal with H : ok_scalar ?x, H' : context[Shiftl _ (Cast _ ?x)] |- _ =>
- invert H end;
- try (cbn [invert_shift invert_upper invert_upper'] in *; discriminate);
- repeat match goal with
- | _ => progress (cbn [invert_shift invert_lower invert_lower' invert_upper invert_upper' interp_scalar fst snd] in * )
- | _ => rewrite interp_cast_noop by eauto using has_half_word_range_land, has_half_word_range_shiftr, in_word_range_word_range, has_range_loosen
- | H : ok_scalar (Shiftr _ _) |- _ => apply has_range_interp_scalar in H
- | H : ok_scalar (Shiftl _ _) |- _ => apply has_range_interp_scalar in H
- | H : ok_scalar (Land _ _) |- _ => apply has_range_interp_scalar in H
- | H : context [if ?x then _ else _] |- _ =>
- let Heq := fresh in case_eq x; intro Heq; rewrite Heq in H
- | H : context [match @constant_to_scalar ?v ?consts ?x with _ => _ end] |- _ =>
- let Heq := fresh in
- case_eq (@constant_to_scalar v consts x); intros until 0; intro Heq; rewrite Heq in *; [|discriminate];
- destruct (constant_to_scalar_cases _ _ Heq) as [ [? [? ?] ] | [? [? ?] ] ]; subst;
- pose proof (ok_scalar_constant_to_scalar _ _ Heq)
- | H : constant_to_scalar _ _ = Some _ |- _ => erewrite <-(constant_to_scalar_correct _ _ H)
- | H : _ |- _ => rewrite andb_true_iff in H; destruct H; Z.ltb_to_lt
- | H : Some _ = Some _ |- _ => progress (invert H)
- | _ => rewrite has_word_range_mod_small by eauto using has_range_loosen, half_word_range_le_word_range
- | _ => rewrite has_word_range_mod_small by
- (eapply has_range_loosen with (r1:=half_word_range);
- [ eapply has_half_word_range_shiftr with (r:=word_range) | ];
- eauto using in_word_range_word_range, half_word_range_le_word_range)
- | _ => rewrite and_shiftl_half_bits_eq
- | _ => progress subst
- | _ => reflexivity
- | _ => discriminate
- end.
- Qed.
-
- Local Ltac solve_commutative_replace :=
- match goal with
- | |- @eq (_ * _) ?x ?y =>
- replace x with (fst x, snd x) by (destruct x; reflexivity);
- replace y with (fst y, snd y) by (destruct y; reflexivity)
- end; autorewrite with to_div_mod; solve [repeat (f_equal; try ring)].
-
- Fixpoint is_tighter_than_bool_range_type t : range_type t -> range_type t -> bool :=
- match t with
- | type.type_primitive type.Z => (fun r1 r2 => (r1 <=? r2)%zrange)
- | type.prod a b => fun r1 r2 =>
- (is_tighter_than_bool_range_type a (fst r1) (fst r2))
- && (is_tighter_than_bool_range_type b (snd r1) (snd r2))
- | _ => fun _ _ => true
- end.
-
- Definition range_ok {t} : range_type t -> Prop :=
- match t with
- | type.type_primitive type.Z => fun r => in_word_range r
- | type.prod type.Z type.Z => fun r => in_word_range (fst r) /\ snd r = flag_range
- | _ => fun _ => False
- end.
-
- Lemma of_straightline_ident_correct s d t x r r' (idc : ident.ident s d) g :
- ok_ident s d x r idc ->
- range_ok r' ->
- is_tighter_than_bool_range_type d r r' = true ->
- ok_scalar x ->
- @interp interp_cast _ (of_straightline_ident dummy_arrow consts idc t r' x g) =
- @interp interp_cast _ (g (ident.interp idc (interp_scalar x))).
- Proof.
- intros.
- pose proof wordmax_half_bits_pos.
- pose proof (ident_interp_has_range _ _ x r idc ltac:(assumption) ltac:(assumption)).
- match goal with H : ok_ident _ _ _ _ _ |- _ => induction H end;
- try solve [auto using of_straightline_ident_mul_correct];
- cbv [is_tighter_than_bool_range_type is_tighter_than_bool range_ok] in *;
- cbn [of_straightline_ident ident.interp ident.gen_interp
- invert_selm invert_sell] in *;
- intros; rewrite ?Z.eqb_refl; cbn [andb];
- try match goal with |- context [invert_shift] => break_match end;
- cbn [interp interp_ident]; try destruct_scalar;
- repeat match goal with
- | _ => progress (cbn [fst snd interp_scalar] in * )
- | _ => progress break_match; [ ]
- | _ => progress autorewrite with zsimplify_fast
- | _ => progress Z.ltb_to_lt
- | H : _ /\ _ |- _ => destruct H
- | _ => rewrite andb_true_iff in *
- | _ => rewrite interp_cast_noop with (r:=flag_range) in *
- by (apply has_flag_range_cc_m'; auto; extract_ok_scalar)
- | _ => rewrite interp_cast_noop with (r:=flag_range) in *
- by (apply has_flag_range_land'; auto; extract_ok_scalar)
- | H : _ = (_,_) |- _ => progress (inversion H; subst)
- | H : invert_shift _ _ = Some _ |- _ =>
- apply invert_shift_correct in H; [|extract_ok_scalar];
- rewrite <-H
- | H : has_range ?r (?f ?x ?y) |- context [?f ?y ?x] =>
- replace (f y x) with (f x y) by solve_commutative_replace
- | _ => rewrite has_word_range_mod_small
- by (eapply has_range_loosen;
- [apply has_range_interp_scalar; extract_ok_scalar|];
- assumption)
- | _ => rewrite interp_cast_noop by (cbn [has_range fst snd] in *; split; lia)
- | _ => rewrite interp_cast2_noop by (cbn [has_range fst snd] in *; split; lia)
- | _ => reflexivity
- end.
- Qed.
-
- Lemma of_straightline_correct {t} (e : expr t) :
- ok_expr e ->
- @interp interp_cast _ (of_straightline dummy_arrow consts e)
- = Straightline.expr.interp (interp_ident:=@ident.interp) (interp_cast:=interp_cast) e.
- Proof.
- induction 1; cbn [of_straightline]; intros;
- repeat match goal with
- | _ => progress cbn [Straightline.expr.interp]
- | _ => erewrite of_straightline_ident_correct
- by (cbv [range_ok is_tighter_than_bool_range_type];
- eauto using in_word_range_word_range;
- try apply andb_true_iff; auto)
- | _ => rewrite interp_cast_noop by eauto using has_range_loosen, ident_interp_has_range
- | _ => rewrite interp_cast2_noop by eauto using has_range_loosen, ident_interp_has_range
- | H : forall y, has_range _ y -> interp _ = _ |- _ => rewrite H by eauto using has_range_loosen, ident_interp_has_range
- | _ => reflexivity
- end.
- Qed.
- End proofs.
-
- Section no_interp_cast.
- Context (dummy_arrow : forall s d, type.interp (s -> d)%ctype) (consts : list Z)
- (consts_ok : forall x, In x consts -> 0 <= x <= wordmax - 1).
-
- Local Arguments interp _ {_} _.
- Local Arguments interp_scalar _ {_} _.
-
- Local Ltac tighter_than_to_le :=
- repeat match goal with
- | _ => progress (cbv [is_tighter_than_bool] in * )
- | _ => rewrite andb_true_iff in *
- | H : _ /\ _ |- _ => destruct H
- end; Z.ltb_to_lt.
-
- Lemma replace_interp_cast_scalar {t} (x : scalar t) interp_cast interp_cast'
- (interp_cast_correct : forall r x, lower r <= x <= upper r -> interp_cast r x = x)
- (interp_cast'_correct : forall r x, lower r <= x <= upper r -> interp_cast' r x = x) :
- ok_scalar x ->
- interp_scalar interp_cast x = interp_scalar interp_cast' x.
- Proof.
- induction 1; cbn [interp_scalar Straightline.expr.interp_scalar];
- repeat match goal with
- | _ => progress (cbv [has_range interp_cast2] in * )
- | _ => progress tighter_than_to_le
- | H : ok_scalar _ |- _ => apply (has_range_interp_scalar (interp_cast_correct:=interp_cast_correct)) in H
- | _ => rewrite <-IHok_scalar
- | _ => rewrite interp_cast_correct by omega
- | _ => rewrite interp_cast'_correct by omega
- | _ => congruence
- end.
- Qed.
-
- Lemma replace_interp_cast {t} (e : expr t) interp_cast interp_cast'
- (interp_cast_correct : forall r x, lower r <= x <= upper r -> interp_cast r x = x)
- (interp_cast'_correct : forall r x, lower r <= x <= upper r -> interp_cast' r x = x) :
- ok_expr consts e ->
- interp interp_cast (of_straightline dummy_arrow consts e) =
- interp interp_cast' (of_straightline dummy_arrow consts e).
- Proof.
- induction 1; intros; cbn [of_straightline interp].
- { apply replace_interp_cast_scalar; auto. }
- { erewrite !of_straightline_ident_correct by (eauto; cbv [range_ok]; apply in_word_range_word_range).
- rewrite replace_interp_cast_scalar with (interp_cast'0:=interp_cast') by auto.
- eauto using ident_interp_has_range. }
- { erewrite !of_straightline_ident_correct by
- (eauto; try solve [cbv [range_ok]; split; auto using in_word_range_word_range];
- cbv [is_tighter_than_bool_range_type]; apply andb_true_iff; split; auto).
- rewrite replace_interp_cast_scalar with (interp_cast'0:=interp_cast') by auto.
- eauto using ident_interp_has_range. }
- Qed.
- End no_interp_cast.
- End with_wordmax.
-
- Definition of_Expr {s d} (log2wordmax : Z) (consts : list Z) (e : Expr (s -> d))
- (var : type -> Type) (x : var s) dummy_arrow : @Straightline.expr.expr var ident d :=
- @of_straightline log2wordmax var dummy_arrow consts _ (Straightline.of_Expr e var x dummy_arrow).
-
- Definition interp_cast_mod w r x := if (lower r =? 0)
- then if (upper r =? 2^w - 1)
- then x mod (2^w)
- else if (upper r =? 1)
- then x mod 2
- else x
- else x.
-
- Lemma interp_cast_mod_correct w r x :
- lower r <= x <= upper r ->
- interp_cast_mod w r x = x.
- Proof.
- cbv [interp_cast_mod].
- intros; break_match; rewrite ?andb_true_iff in *; intuition; Z.ltb_to_lt;
- apply Z.mod_small; omega.
- Qed.
-
- Lemma of_Expr_correct {s d} (log2wordmax : Z) (consts : list Z) (e : Expr (s -> d))
- (e' : (type.interp s -> Uncurried.expr.expr d))
- (x : type.interp s) dummy_arrow :
- e type.interp = Abs e' ->
- 1 < log2wordmax ->
- log2wordmax mod 2 = 0 ->
- Straightline.expr.ok_expr (e' x) ->
- (forall x0 : Z, In x0 consts -> 0 <= x0 <= 2 ^ log2wordmax - 1) ->
- ok_expr log2wordmax consts
- (of_uncurried (dummy_arrow:=dummy_arrow) (depth (fun _ : type => unit) (fun _ : type => tt) (e _)) (e' x)) ->
- (depth type.interp (@DefaultValue.type.default) (e' x) <= depth (fun _ : type => unit) (fun _ : type => tt) (e _))%nat ->
- @interp log2wordmax (interp_cast_mod log2wordmax) _ (of_Expr log2wordmax consts e type.interp x dummy_arrow) = @Uncurried.expr.interp _ (@ident.interp) _ (e type.interp) x.
- Proof.
- intro He'; intros; cbv [of_Expr Straightline.of_Expr].
- rewrite He'; cbn [invert_Abs expr.interp].
- assert (forall r z, lower r <= z <= upper r -> ident.cast ident.cast_outside_of_range r z = z) as interp_cast_correct.
- { cbv [ident.cast]; intros; break_match; rewrite ?andb_true_iff, ?andb_false_iff in *; intuition; Z.ltb_to_lt; omega. }
- erewrite replace_interp_cast with (interp_cast':=ident.cast ident.cast_outside_of_range) by auto using interp_cast_mod_correct.
- rewrite of_straightline_correct by auto.
- erewrite Straightline.expr.of_uncurried_correct by eassumption.
- reflexivity.
- Qed.
-
- Module Notations.
- Import PrintingNotations.
- Import Straightline.expr.
-
- Local Notation "'tZ'" := (type.type_primitive type.Z).
- Notation "'RegZero'" := (Primitive (t:=type.Z) 0).
- Notation "$ x" := (Cast uint256 (Fst (Cast2 (uint256,bool)%core (Var (tZ * tZ) x)))) (at level 10, format "$ x").
- Notation "$ x" := (Cast uint128 (Fst (Cast2 (uint128,bool)%core (Var (tZ * tZ) x)))) (at level 10, format "$ x").
- Notation "$ x ₁" := (Cast uint256 (Fst (Var (tZ * tZ) x))) (at level 10, format "$ x ₁").
- Notation "$ x ₂" := (Cast uint256 (Snd (Var (tZ * tZ) x))) (at level 10, format "$ x ₂").
- Notation "$ x" := (Cast uint256 (Var tZ x)) (at level 10, format "$ x").
- Notation "$ x" := (Cast uint128 (Var tZ x)) (at level 10, format "$ x").
- Notation "$ x" := (Cast bool (Var tZ x)) (at level 10, format "$ x").
- Notation "carry{ $ x }" := (Cast bool (Snd (Cast2 (uint256, bool)%core (Var (tZ * tZ) x))))
- (at level 10, format "carry{ $ x }").
- Notation "Lower{ x }" := (Cast uint128 (Land 340282366920938463463374607431768211455 x))
- (at level 10, format "Lower{ x }").
- Notation "f @( y , x1 , x2 ); g "
- := (LetInAppIdentZZ (uint256, bool)%core f (Pair x1 x2) (fun y => g))
- (at level 10, g at level 200, format "f @( y , x1 , x2 ); '//' g ").
- Notation "f @( y , x1 , x2 , x3 ); g "
- := (LetInAppIdentZZ (uint256, bool)%core f (Pair (Pair x1 x2) x3) (fun y => g))
- (at level 10, g at level 200, format "f @( y , x1 , x2 , x3 ); '//' g ").
- Notation "f @( y , x1 , x2 , x3 ); '#128' g "
- := (LetInAppIdentZZ (uint128, bool)%core f (Pair (Pair x1 x2) x3) (fun y => g))
- (at level 10, g at level 200, format "f @( y , x1 , x2 , x3 ); '#128' '//' g ").
- Notation "f @( y , x1 , x2 ); g "
- := (LetInAppIdentZ uint256 f (Pair x1 x2) (fun y => g))
- (at level 10, g at level 200, format "f @( y , x1 , x2 ); '//' g ").
- Notation "f @( y , x1 , x2 , x3 ); g "
- := (LetInAppIdentZ uint256 f (Pair (Pair x1 x2) x3) (fun y => g))
- (at level 10, g at level 200, format "f @( y , x1 , x2 , x3 ); '//' g ").
- (* special cases for when the ident constructor takes a constant argument *)
- Notation "add@( y , x1 , x2 , n ); g"
- := (LetInAppIdentZZ (uint256, bool) (add n) (Pair x1 x2) (fun y => g))
- (at level 10, g at level 200, format "add@( y , x1 , x2 , n ); '//' g").
- Notation "addc@( y , x1 , x2 , x3 , n ); g"
- := (LetInAppIdentZZ (uint256, bool) (addc n) (Pair (Pair x1 x2) x3) (fun y => g))
- (at level 10, g at level 200, format "addc@( y , x1 , x2 , x3 , n ); '//' g").
- Notation "addc@( y , x1 , x2 , x3 , n ); '#128' g"
- := (LetInAppIdentZZ (uint128, bool) (addc n) (Pair (Pair x1 x2) x3) (fun y => g))
- (at level 10, g at level 200, format "addc@( y , x1 , x2 , x3 , n ); '#128' '//' g").
- Notation "sub@( y , x1 , x2 , n ); g"
- := (LetInAppIdentZZ (uint256, bool) (sub n) (Pair x1 x2) (fun y => g))
- (at level 10, g at level 200, format "sub@( y , x1 , x2 , n ); '//' g").
- Notation "subb@( y , x1 , x2 , x3 , n ); g"
- := (LetInAppIdentZZ (uint256, bool) (subb n) (Pair (Pair x1 x2) x3) (fun y => g))
- (at level 10, g at level 200, format "subb@( y , x1 , x2 , x3 , n ); '//' g").
- Notation "rshi@( y , x1 , x2 , n ); g"
- := (LetInAppIdentZ _ (rshi n) (Pair x1 x2) (fun y => g))
- (at level 10, g at level 200, format "rshi@( y , x1 , x2 , n ); '//' g ").
- Notation "'ret' $ x" := (Scalar (Var tZ x)) (at level 10, format "'ret' $ x").
- Notation "( x , y )" := (Pair x y) (at level 10, left associativity).
- End Notations.
-
- Module Tactics.
- Ltac ok_expr_step' :=
- match goal with
- | _ => assumption
- | |- _ <= _ <= _ \/ @eq zrange _ _ =>
- right; lazy; try split; congruence
- | |- _ <= _ <= _ \/ @eq zrange _ _ =>
- left; lazy; try split; congruence
- | |- context [PreFancy.ok_ident] => constructor
- | |- context [PreFancy.ok_scalar] => constructor; try omega
- | |- context [PreFancy.is_halved] => eapply PreFancy.is_halved_constant; [lazy; reflexivity | ]
- | |- context [PreFancy.is_halved] => constructor
- | |- context [PreFancy.in_word_range] => lazy; reflexivity
- | |- context [PreFancy.in_flag_range] => lazy; reflexivity
- | |- context [PreFancy.get_range] =>
- cbn [PreFancy.get_range lower upper fst snd ZRange.map]
- | x : type.interp (type.prod _ _) |- _ => destruct x
- | |- (_ <=? _)%zrange = true =>
- match goal with
- | |- context [PreFancy.get_range_var] =>
- cbv [is_tighter_than_bool PreFancy.has_range fst snd upper lower] in *; cbn;
- apply andb_true_iff; split; apply Z.leb_le
- | _ => lazy
- end; omega || reflexivity
- | |- @eq zrange _ _ => lazy; reflexivity
- | |- _ <= _ => omega
- | |- _ <= _ <= _ => omega
- end; intros.
-
- Ltac ok_expr_step :=
- match goal with
- | |- context [PreFancy.ok_expr] => constructor; cbn [fst snd]; repeat ok_expr_step'
- end; intros; cbn [Nat.max].
- End Tactics.
-End PreFancy.
-
-Module Fancy.
- Import Straightline.expr.
-
- Module CC.
- Inductive code : Type :=
- | C : code
- | M : code
- | L : code
- | Z : code
- .
-
- Record state :=
- { cc_c : bool; cc_m : bool; cc_l : bool; cc_z : bool }.
-
- Definition code_dec (x y : code) : {x = y} + {x <> y}.
- Proof. destruct x, y; try apply (left eq_refl); right; congruence. Defined.
-
- Definition update (to_write : list code) (result : BinInt.Z) (cc_spec : code -> BinInt.Z -> bool) (old_state : state)
- : state :=
- {|
- cc_c := if (In_dec code_dec C to_write)
- then cc_spec C result
- else old_state.(cc_c);
- cc_m := if (In_dec code_dec M to_write)
- then cc_spec M result
- else old_state.(cc_m);
- cc_l := if (In_dec code_dec L to_write)
- then cc_spec L result
- else old_state.(cc_l);
- cc_z := if (In_dec code_dec Z to_write)
- then cc_spec Z result
- else old_state.(cc_z)
- |}.
-
- End CC.
-
- Record instruction :=
- {
- num_source_regs : nat;
- writes_conditions : list CC.code;
- spec : tuple Z num_source_regs -> CC.state -> Z
- }.
-
- Section expr.
- Context {name : Type} (name_eqb : name -> name -> bool) (wordmax : Z) (cc_spec : CC.code -> Z -> bool).
-
- Inductive expr :=
- | Ret : name -> expr
- | Instr (i : instruction)
- (rd : name) (* destination register *)
- (args : tuple name i.(num_source_regs)) (* source registers *)
- (cont : expr) (* next line *)
- : expr
- .
-
- Fixpoint interp (e : expr) (cc : CC.state) (ctx : name -> Z) : Z :=
- match e with
- | Ret n => ctx n
- | Instr i rd args cont =>
- let result := i.(spec) (Tuple.map ctx args) cc in
- let new_cc := CC.update i.(writes_conditions) result cc_spec cc in
- let new_ctx := (fun n : name => if name_eqb n rd then result mod wordmax else ctx n) in
- interp cont new_cc new_ctx
- end.
- End expr.
-
- Section ISA.
- Import CC.
-
- (* For the C flag, we have to consider cases with a negative result (like the one returned by an underflowing borrow).
- In these cases, we want to set the C flag to true. *)
- Definition cc_spec (x : CC.code) (result : BinInt.Z) : bool :=
- match x with
- | CC.C => if result <? 0 then true else Z.testbit result 256
- | CC.M => Z.testbit result 255
- | CC.L => Z.testbit result 0
- | CC.Z => result =? 0
- end.
-
- Local Definition lower128 x := (Z.land x (Z.ones 128)).
- Local Definition upper128 x := (Z.shiftr x 128).
- Local Notation "x '[C]'" := (if x.(cc_c) then 1 else 0) (at level 20).
- Local Notation "x '[M]'" := (if x.(cc_m) then 1 else 0) (at level 20).
- Local Notation "x '[L]'" := (if x.(cc_l) then 1 else 0) (at level 20).
- Local Notation "x '[Z]'" := (if x.(cc_z) then 1 else 0) (at level 20).
- Local Notation "'int'" := (BinInt.Z).
- Local Notation "x << y" := ((x << y) mod (2^256)) : Z_scope. (* truncating left shift *)
-
-
- (* Note: In the specification document, argument order gets a bit
- confusing. Like here, r0 is always the first argument "source 0"
- and r1 the second. But the specification of MUL128LU is:
- (R[RS1][127:0] * R[RS0][255:128])
-
- while the specification of SUB is:
- (R[RS0] - shift(R[RS1], imm))
-
- In the SUB case, r0 is really treated the first argument, but in
- MUL128LU the order seems to be reversed; rather than low-high, we
- take the high part of the first argument r0 and the low parts of
- r1. This is also true for MUL128UL. *)
-
- Definition ADD (imm : int) : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [C; M; L; Z];
- spec := (fun '(r0, r1) cc =>
- r0 + (r1 << imm))
- |}.
-
- Definition ADDC (imm : int) : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [C; M; L; Z];
- spec := (fun '(r0, r1) cc =>
- r0 + (r1 << imm) + cc[C])
- |}.
-
- Definition SUB (imm : int) : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [C; M; L; Z];
- spec := (fun '(r0, r1) cc =>
- r0 - (r1 << imm))
- |}.
-
- Definition SUBC (imm : int) : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [C; M; L; Z];
- spec := (fun '(r0, r1) cc =>
- r0 - (r1 << imm) - cc[C])
- |}.
-
-
- Definition MUL128LL : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [M; L; Z];
- spec := (fun '(r0, r1) cc =>
- (lower128 r0) * (lower128 r1))
- |}.
-
- Definition MUL128LU : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [M; L; Z];
- spec := (fun '(r0, r1) cc =>
- (lower128 r1) * (upper128 r0)) (* see note *)
- |}.
-
- Definition MUL128UL : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [M; L; Z];
- spec := (fun '(r0, r1) cc =>
- (upper128 r1) * (lower128 r0)) (* see note *)
- |}.
-
- Definition MUL128UU : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [M; L; Z];
- spec := (fun '(r0, r1) cc =>
- (upper128 r0) * (upper128 r1))
- |}.
-
- (* Note : Unlike the other operations, the output of RSHI is
- truncated in the specification. This is not strictly necessary,
- since the interpretation function truncates the output
- anyway. However, it is useful to make the definition line up
- exactly with Z.rshi. *)
- Definition RSHI (imm : int) : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [M; L; Z];
- spec := (fun '(r0, r1) cc =>
- (((2^256 * r0) + r1) >> imm) mod (2^256))
- |}.
-
- Definition SELC : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [];
- spec := (fun '(r0, r1) cc =>
- if cc[C] =? 1 then r0 else r1)
- |}.
-
- Definition SELM : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [];
- spec := (fun '(r0, r1) cc =>
- if cc[M] =? 1 then r0 else r1)
- |}.
-
- Definition SELL : instruction :=
- {|
- num_source_regs := 2;
- writes_conditions := [];
- spec := (fun '(r0, r1) cc =>
- if cc[L] =? 1 then r0 else r1)
- |}.
-
- (* TODO : treat the MOD register specially, like CC *)
- Definition ADDM : instruction :=
- {|
- num_source_regs := 3;
- writes_conditions := [M; L; Z];
- spec := (fun '(r0, r1, MOD) cc =>
- let ra := r0 + r1 in
- if ra >=? MOD
- then ra - MOD
- else ra)
- |}.
-
- End ISA.
-
- Module Registers.
- Inductive register : Type :=
- | r0 : register
- | r1 : register
- | r2 : register
- | r3 : register
- | r4 : register
- | r5 : register
- | r6 : register
- | r7 : register
- | r8 : register
- | r9 : register
- | r10 : register
- | r11 : register
- | r12 : register
- | r13 : register
- | r14 : register
- | r15 : register
- | r16 : register
- | r17 : register
- | r18 : register
- | r19 : register
- | r20 : register
- | r21 : register
- | r22 : register
- | r23 : register
- | r24 : register
- | r25 : register
- | r26 : register
- | r27 : register
- | r28 : register
- | r29 : register
- | r30 : register
- | RegZero : register (* r31 *)
- | RegMod : register
- .
-
- Definition reg_dec (x y : register) : {x = y} + {x <> y}.
- Proof. destruct x, y; try (apply left; congruence); right; congruence. Defined.
- Definition reg_eqb x y := if reg_dec x y then true else false.
-
- Lemma reg_eqb_neq x y : x <> y -> reg_eqb x y = false.
- Proof. cbv [reg_eqb]; break_match; congruence. Qed.
- Lemma reg_eqb_refl x : reg_eqb x x = true.
- Proof. cbv [reg_eqb]; break_match; congruence. Qed.
- End Registers.
-
- Section of_prefancy.
- Context (name : Type) (name_succ : name -> name) (error : name) (consts : Z -> option name).
-
- Fixpoint var (t : type) : Type :=
- match t with
- | type.type_primitive type.Z => name
- | type.prod a b => var a * var b
- | _ => unit
- end.
-
- Fixpoint of_prefancy_scalar {t} (s : @scalar var t) : var t :=
- match s with
- | Var t v => v
- | Pair a b x y => (of_prefancy_scalar x, of_prefancy_scalar y)
- | Cast r x => of_prefancy_scalar x
- | Cast2 r x => of_prefancy_scalar x
- | Fst a b x => fst (of_prefancy_scalar x)
- | Snd a b x => snd (of_prefancy_scalar x)
- | Shiftr n x => error
- | Shiftl n x => error
- | Land n x => error
- | CC_m n x => error
- | @Primitive _ type.Z x => match consts x with
- | Some n => n
- | None => error
- end
- | @Primitive _ _ x => tt
- | TT => tt
- | Nil _ => tt
- end.
-
- (* Note : some argument orders are reversed for MUL128LU, MUL128UL, SELC, SELM, and SELL *)
- Definition of_prefancy_ident {s d} (idc : PreFancy.ident s d)
- : @scalar var s -> {i : instruction & tuple name i.(num_source_regs) } :=
- match idc in PreFancy.ident s d return _ with
- | PreFancy.add imm => fun args : @scalar var (type.Z * type.Z) =>
- existT _ (ADD imm) (of_prefancy_scalar args)
- | PreFancy.addc imm => fun args : @scalar var (type.Z * type.Z * type.Z) =>
- existT _ (ADDC imm) (of_prefancy_scalar (Pair (Snd (Fst args)) (Snd args)))
- | PreFancy.sub imm => fun args : @scalar var (type.Z * type.Z) =>
- existT _ (SUB imm) (of_prefancy_scalar args)
- | PreFancy.subb imm => fun args : @scalar var (type.Z * type.Z * type.Z) =>
- existT _ (SUBC imm) (of_prefancy_scalar (Pair (Snd (Fst args)) (Snd args)))
- | PreFancy.mulll => fun args : @scalar var (type.Z * type.Z) =>
- existT _ MUL128LL (of_prefancy_scalar args)
- | PreFancy.mullh => fun args : @scalar var (type.Z * type.Z) =>
- existT _ MUL128LU (of_prefancy_scalar (Pair (Snd args) (Fst args)))
- | PreFancy.mulhl => fun args : @scalar var (type.Z * type.Z) =>
- existT _ MUL128UL (of_prefancy_scalar (Pair (Snd args) (Fst args)))
- | PreFancy.mulhh => fun args : @scalar var (type.Z * type.Z) =>
- existT _ MUL128UU (of_prefancy_scalar args)
- | PreFancy.rshi imm => fun args : @scalar var (type.Z * type.Z) =>
- existT _ (RSHI imm) (of_prefancy_scalar args)
- | PreFancy.selc => fun args : @scalar var (type.Z * type.Z * type.Z) =>
- existT _ SELC (of_prefancy_scalar (Pair (Snd args) (Snd (Fst args))))
- | PreFancy.selm => fun args : @scalar var (type.Z * type.Z * type.Z) =>
- existT _ SELM (of_prefancy_scalar (Pair (Snd args) (Snd (Fst args))))
- | PreFancy.sell => fun args : @scalar var (type.Z * type.Z * type.Z) =>
- existT _ SELL (of_prefancy_scalar (Pair (Snd args) (Snd (Fst args))))
- | PreFancy.addm => fun args : @scalar var (type.Z * type.Z * type.Z) =>
- existT _ ADDM (of_prefancy_scalar args)
- end.
-
- Fixpoint of_prefancy (next_name : name) {t} (e : @Straightline.expr.expr var PreFancy.ident t) : expr :=
- match e with
- | LetInAppIdentZ s d r idc x f =>
- let instr_args := @of_prefancy_ident s type.Z idc x in
- let i : instruction := projT1 instr_args in
- let args : tuple name i.(num_source_regs) := projT2 instr_args in
- Instr i next_name args (of_prefancy (name_succ next_name) (f next_name))
- | LetInAppIdentZZ s d r idc x f =>
- let instr_args := @of_prefancy_ident s (type.Z * type.Z) idc x in
- let i : instruction := projT1 instr_args in
- let args : tuple name i.(num_source_regs) := projT2 instr_args in
- Instr i next_name args (of_prefancy (name_succ next_name) (f (next_name, error))) (* we pass the error code as the carry register, because it cannot be read from directly. *)
- | Scalar type.Z s => Ret (of_prefancy_scalar s)
- | _ => Ret error
- end.
- End of_prefancy.
-
- Section allocate_registers.
- Context (reg name : Type) (name_eqb : name -> name -> bool) (error : reg).
- Fixpoint allocate (e : @expr name) (reg_list : list reg) (name_to_reg : name -> reg) : @expr reg :=
- match e with
- | Ret n => Ret (name_to_reg n)
- | Instr i rd args cont =>
- match reg_list with
- | r :: reg_list' => Instr i r (Tuple.map name_to_reg args) (allocate cont reg_list' (fun n => if name_eqb n rd then r else name_to_reg n))
- | nil => Ret error
- end
- end.
- End allocate_registers.
-
- Definition test_prog : @expr positive :=
- Instr (ADD (128)) 3%positive (1, 2)%positive
- (Instr (ADDC 0) 4%positive (3,1)%positive
- (Ret 4%positive)).
-
- Definition x1 := 2^256 - 1.
- Definition x2 := 2^128 - 1.
- Definition wordmax := 2^256.
- Definition expected :=
- let r3' := (x1 + (x2 << 128)) in
- let r3 := r3' mod wordmax in
- let c := r3' / wordmax in
- let r4' := (r3 + x1 + c) in
- r4' mod wordmax.
- Definition actual :=
- interp Pos.eqb
- (2^256) cc_spec test_prog {|CC.cc_c:=false; CC.cc_m:=false; CC.cc_l:=false; CC.cc_z:=false|}
- (fun n => if n =? 1%positive
- then x1
- else if n =? 2%positive
- then x2
- else 0).
- Lemma test_prog_ok : expected = actual.
- Proof. reflexivity. Qed.
-
- Definition of_Expr {s d} next_name (consts : Z -> option positive) (consts_list : list Z) (e : Expr (s -> d)) (x : var positive s) dummy_arrow : positive -> @expr positive :=
- fun error =>
- @of_prefancy positive Pos.succ error consts next_name _ (PreFancy.of_Expr 256 consts_list e (var positive) x dummy_arrow).
-
-End Fancy.
-
-Module Prod.
- Import Fancy. Import Registers.
-
- Definition Mul256 (out src1 src2 tmp : register) (cont : Fancy.expr) : Fancy.expr :=
- Instr MUL128LL out (src1, src2)
- (Instr MUL128UL tmp (src1, src2)
- (Instr (ADD 128) out (out, tmp)
- (Instr MUL128LU tmp (src1, src2)
- (Instr (ADD 128) out (out, tmp) cont)))).
- Definition Mul256x256 (out outHigh src1 src2 tmp : register) (cont : Fancy.expr) : Fancy.expr :=
- Instr MUL128LL out (src1, src2)
- (Instr MUL128UU outHigh (src1, src2)
- (Instr MUL128UL tmp (src1, src2)
- (Instr (ADD 128) out (out, tmp)
- (Instr (ADDC (-128)) outHigh (outHigh, tmp)
- (Instr MUL128LU tmp (src1, src2)
- (Instr (ADD 128) out (out, tmp)
- (Instr (ADDC (-128)) outHigh (outHigh, tmp) cont))))))).
-
- Definition MontRed256 lo hi y t1 t2 scratch RegPInv : @Fancy.expr register :=
- Mul256 y lo RegPInv t1
- (Mul256x256 t1 t2 y RegMod scratch
- (Instr (ADD 0) lo (lo, t1)
- (Instr (ADDC 0) hi (hi, t2)
- (Instr SELC y (RegMod, RegZero)
- (Instr (SUB 0) lo (hi, y)
- (Instr ADDM lo (lo, RegZero, RegMod)
- (Ret lo))))))).
-
- (* Barrett reduction -- this is only the "reduce" part, excluding the initial multiplication. *)
- Definition MulMod x xHigh RegMuLow scratchp1 scratchp2 scratchp3 scratchp4 scratchp5 : @Fancy.expr register :=
- let q1Bottom256 := scratchp1 in
- let muSelect := scratchp2 in
- let q2 := scratchp3 in
- let q2High := scratchp4 in
- let q2High2 := scratchp5 in
- let q3 := scratchp1 in
- let r2 := scratchp2 in
- let r2High := scratchp3 in
- let maybeM := scratchp1 in
- Instr SELM muSelect (RegMuLow, RegZero)
- (Instr (RSHI 255) q1Bottom256 (xHigh, x)
- (Mul256x256 q2 q2High q1Bottom256 RegMuLow scratchp5
- (Instr (RSHI 255) q2High2 (RegZero, xHigh)
- (Instr (ADD 0) q2High (q2High, q1Bottom256)
- (Instr (ADDC 0) q2High2 (q2High2, RegZero)
- (Instr (ADD 0) q2High (q2High, muSelect)
- (Instr (ADDC 0) q2High2 (q2High2, RegZero)
- (Instr (RSHI 1) q3 (q2High2, q2High)
- (Mul256x256 r2 r2High RegMod q3 scratchp4
- (Instr (SUB 0) muSelect (x, r2)
- (Instr (SUBC 0) xHigh (xHigh, r2High)
- (Instr SELL maybeM (RegMod, RegZero)
- (Instr (SUB 0) q3 (muSelect, maybeM)
- (Instr ADDM x (q3, RegZero, RegMod)
- (Ret x))))))))))))))).
-End Prod.
-
-Module ProdEquiv.
- Import Fancy. Import Registers.
-
- Definition interp256 := Fancy.interp reg_eqb (2^256) cc_spec.
- Lemma interp_step i rd args cont cc ctx :
- interp256 (Instr i rd args cont) cc ctx =
- let result := spec i (Tuple.map ctx args) cc in
- let new_cc := CC.update (writes_conditions i) result cc_spec cc in
- let new_ctx := fun n => if reg_eqb n rd then result mod wordmax else ctx n in interp256 cont new_cc new_ctx.
- Proof. reflexivity. Qed.
-
- Lemma interp_state_equiv e :
- forall cc ctx cc' ctx',
- cc = cc' -> (forall r, ctx r = ctx' r) ->
- interp256 e cc ctx = interp256 e cc' ctx'.
- Proof.
- induction e; intros; subst; cbn; [solve[auto]|].
- apply IHe; rewrite Tuple.map_ext with (g:=ctx') by auto;
- [reflexivity|].
- intros; break_match; auto.
- Qed.
- Lemma cc_overwrite_full x1 x2 l1 cc :
- CC.update [CC.C; CC.M; CC.L; CC.Z] x2 cc_spec (CC.update l1 x1 cc_spec cc) = CC.update [CC.C; CC.M; CC.L; CC.Z] x2 cc_spec cc.
- Proof.
- cbv [CC.update]. cbn [CC.cc_c CC.cc_m CC.cc_l CC.cc_z].
- break_match; try match goal with H : ~ In _ _ |- _ => cbv [In] in H; tauto end.
- reflexivity.
- Qed.
-
- Definition value_unused r e : Prop :=
- forall x cc ctx, interp256 e cc ctx = interp256 e cc (fun r' => if reg_eqb r' r then x else ctx r').
-
- Lemma value_unused_skip r i rd args cont (Hcont: value_unused r cont) :
- r <> rd ->
- (~ In r (Tuple.to_list _ args)) ->
- value_unused r (Instr i rd args cont).
- Proof.
- cbv [value_unused] in *; intros.
- rewrite !interp_step; cbv zeta.
- rewrite Hcont with (x:=x).
- match goal with |- ?lhs = ?rhs =>
- match lhs with context [Tuple.map ?f ?t] =>
- match rhs with context [Tuple.map ?g ?t] =>
- rewrite (Tuple.map_ext_In f g) by (intros; cbv [reg_eqb]; break_match; congruence)
- end end end.
- apply interp_state_equiv; [ congruence | ].
- { intros; cbv [reg_eqb] in *; break_match; congruence. }
- Qed.
-
- Lemma value_unused_overwrite r i args cont :
- (~ In r (Tuple.to_list _ args)) ->
- value_unused r (Instr i r args cont).
- Proof.
- cbv [value_unused]; intros; rewrite !interp_step; cbv zeta.
- match goal with |- ?lhs = ?rhs =>
- match lhs with context [Tuple.map ?f ?t] =>
- match rhs with context [Tuple.map ?g ?t] =>
- rewrite (Tuple.map_ext_In f g) by (intros; cbv [reg_eqb]; break_match; congruence)
- end end end.
- apply interp_state_equiv; [ congruence | ].
- { intros; cbv [reg_eqb] in *; break_match; congruence. }
- Qed.
-
- Lemma value_unused_ret r r' :
- r <> r' ->
- value_unused r (Ret r').
- Proof.
- cbv - [reg_dec]; intros.
- break_match; congruence.
- Qed.
-
- Ltac remember_results :=
- repeat match goal with |- context [(spec ?i ?args ?flags) mod ?w] =>
- let x := fresh "x" in
- let y := fresh "y" in
- let Heqx := fresh "Heqx" in
- remember (spec i args flags) as x eqn:Heqx;
- remember (x mod w) as y
- end.
-
- Ltac do_interp_step :=
- rewrite interp_step; cbn - [interp spec];
- repeat progress rewrite ?reg_eqb_neq, ?reg_eqb_refl by congruence;
- remember_results.
-
- Lemma interp_Mul256 out src1 src2 tmp tmp2 cont cc ctx:
- out <> src1 ->
- out <> src2 ->
- out <> tmp ->
- out <> tmp2 ->
- src1 <> src2 ->
- src1 <> tmp ->
- src1 <> tmp2 ->
- src2 <> tmp ->
- src2 <> tmp2 ->
- tmp <> tmp2 ->
- value_unused tmp cont ->
- value_unused tmp2 cont ->
- interp256 (Prod.Mul256 out src1 src2 tmp cont) cc ctx =
- interp256 (
- Instr MUL128LU tmp (src1, src2)
- (Instr MUL128UL tmp2 (src1, src2)
- (Instr MUL128LL out (src1, src2)
- (Instr (ADD 128) out (out, tmp2)
- (Instr (ADD 128) out (out, tmp) cont))))) cc ctx.
- Proof.
- intros; cbv [Prod.Mul256].
- repeat (do_interp_step; cbn [spec MUL128LL MUL128UL MUL128LU ADD] in * ).
-
- match goal with H : value_unused tmp _ |- _ => erewrite H end.
- match goal with H : value_unused tmp2 _ |- _ => erewrite H end.
- apply interp_state_equiv.
- { rewrite !cc_overwrite_full.
- f_equal. subst. lia. }
- { intros; cbv [reg_eqb].
- repeat (break_match_step ltac:(fun _ => idtac); try congruence); reflexivity. }
- Qed.
-
- Lemma interp_Mul256x256 out outHigh src1 src2 tmp tmp2 cont cc ctx:
- out <> src1 ->
- out <> outHigh ->
- out <> src2 ->
- out <> tmp ->
- out <> tmp2 ->
- outHigh <> src1 ->
- outHigh <> src2 ->
- outHigh <> tmp ->
- outHigh <> tmp2 ->
- src1 <> src2 ->
- src1 <> tmp ->
- src1 <> tmp2 ->
- src2 <> tmp ->
- src2 <> tmp2 ->
- tmp <> tmp2 ->
- value_unused tmp cont ->
- value_unused tmp2 cont ->
- interp256 (Prod.Mul256x256 out outHigh src1 src2 tmp cont) cc ctx =
- interp256 (
- Instr MUL128LL out (src1, src2)
- (Instr MUL128LU tmp (src1, src2)
- (Instr MUL128UL tmp2 (src1, src2)
- (Instr MUL128UU outHigh (src1, src2)
- (Instr (ADD 128) out (out, tmp2)
- (Instr (ADDC (-128)) outHigh (outHigh, tmp2)
- (Instr (ADD 128) out (out, tmp)
- (Instr (ADDC (-128)) outHigh (outHigh, tmp) cont)))))))) cc ctx.
- Proof.
- intros; cbv [Prod.Mul256x256].
- repeat (do_interp_step; cbn [spec MUL128LL MUL128UL MUL128LU MUL128UU ADD ADDC] in * ).
-
- match goal with H : value_unused tmp _ |- _ => erewrite H end.
- match goal with H : value_unused tmp2 _ |- _ => erewrite H end.
- apply interp_state_equiv.
- { rewrite !cc_overwrite_full.
- f_equal.
- subst. cbn - [Z.add Z.modulo Z.testbit Z.mul Z.shiftl Fancy.lower128 Fancy.upper128].
- lia. }
- { intros; cbv [reg_eqb].
- repeat (break_match_step ltac:(fun _ => idtac); try congruence); try reflexivity; [ ].
- subst. cbn - [Z.add Z.modulo Z.testbit Z.mul Z.shiftl Fancy.lower128 Fancy.upper128].
- lia. }
- Qed.
-
- Lemma mulll_comm rd x y cont cc ctx :
- ProdEquiv.interp256 (Fancy.Instr Fancy.MUL128LL rd (x, y) cont) cc ctx = ProdEquiv.interp256 (Fancy.Instr Fancy.MUL128LL rd (y, x) cont) cc ctx.
- Proof. rewrite !ProdEquiv.interp_step. cbn - [Fancy.interp]. rewrite Z.mul_comm. reflexivity. Qed.
-
- Lemma mulhh_comm rd x y cont cc ctx :
- ProdEquiv.interp256 (Fancy.Instr Fancy.MUL128UU rd (x, y) cont) cc ctx = ProdEquiv.interp256 (Fancy.Instr Fancy.MUL128UU rd (y, x) cont) cc ctx.
- Proof. rewrite !ProdEquiv.interp_step. cbn - [Fancy.interp]. rewrite Z.mul_comm. reflexivity. Qed.
-
- Lemma mullh_mulhl rd x y cont cc ctx :
- ProdEquiv.interp256 (Fancy.Instr Fancy.MUL128LU rd (x, y) cont) cc ctx = ProdEquiv.interp256 (Fancy.Instr Fancy.MUL128UL rd (y, x) cont) cc ctx.
- Proof. rewrite !ProdEquiv.interp_step. cbn - [Fancy.interp]. rewrite Z.mul_comm. reflexivity. Qed.
-
- Lemma add_comm rd x y cont cc ctx :
- 0 <= ctx x < 2^256 ->
- 0 <= ctx y < 2^256 ->
- ProdEquiv.interp256 (Fancy.Instr (Fancy.ADD 0) rd (x, y) cont) cc ctx = ProdEquiv.interp256 (Fancy.Instr (Fancy.ADD 0) rd (y, x) cont) cc ctx.
- Proof.
- intros; rewrite !ProdEquiv.interp_step. cbn - [Fancy.interp]. rewrite Z.add_comm.
- rewrite !(Z.mod_small (ctx _)) by (cbn in *; omega). reflexivity.
- Qed.
-
- Lemma addc_comm rd x y cont cc ctx :
- 0 <= ctx x < 2^256 ->
- 0 <= ctx y < 2^256 ->
- ProdEquiv.interp256 (Fancy.Instr (Fancy.ADDC 0) rd (x, y) cont) cc ctx = ProdEquiv.interp256 (Fancy.Instr (Fancy.ADDC 0) rd (y, x) cont) cc ctx.
- Proof.
- intros; rewrite !ProdEquiv.interp_step. cbn - [Fancy.interp]. rewrite (Z.add_comm (ctx x)).
- rewrite !(Z.mod_small (ctx _)) by (cbn in *; omega). reflexivity.
- Qed.
-
- (* Tactics to help prove that something in Fancy is line-by-line equivalent to something in PreFancy *)
- Ltac push_value_unused :=
- repeat match goal with
- | |- ~ In _ _ => cbn; intuition; congruence
- | _ => apply ProdEquiv.value_unused_overwrite
- | _ => apply ProdEquiv.value_unused_skip; [ | congruence | ]
- | _ => apply ProdEquiv.value_unused_ret; congruence
- end.
-
- Ltac remember_single_result :=
- match goal with |- context [(Fancy.spec ?i ?args ?cc) mod ?w] =>
- let x := fresh "x" in
- let y := fresh "y" in
- let Heqx := fresh "Heqx" in
- remember (Fancy.spec i args cc) as x eqn:Heqx;
- remember (x mod w) as y
- end.
- Ltac step_both_sides :=
- match goal with |- ProdEquiv.interp256 (Fancy.Instr ?i ?rd1 ?args1 _) _ ?ctx1 = ProdEquiv.interp256 (Fancy.Instr ?i ?rd2 ?args2 _) _ ?ctx2 =>
- rewrite (ProdEquiv.interp_step i rd1 args1); rewrite (ProdEquiv.interp_step i rd2 args2);
- cbn - [Fancy.interp Fancy.spec];
- repeat progress rewrite ?reg_eqb_neq, ?reg_eqb_refl by congruence;
- remember_single_result;
- lazymatch goal with
- | |- context [Fancy.spec i _ _] =>
- let Heqa1 := fresh in
- let Heqa2 := fresh in
- remember (Tuple.map (n:=i.(Fancy.num_source_regs)) ctx1 args1) eqn:Heqa1;
- remember (Tuple.map (n:=i.(Fancy.num_source_regs)) ctx2 args2) eqn:Heqa2;
- cbn in Heqa1; cbn in Heqa2;
- repeat progress rewrite ?reg_eqb_neq, ?reg_eqb_refl in Heqa1 by congruence;
- repeat progress rewrite ?reg_eqb_neq, ?reg_eqb_refl in Heqa2 by congruence;
- let a1 := match type of Heqa1 with _ = ?a1 => a1 end in
- let a2 := match type of Heqa2 with _ = ?a2 => a2 end in
- (fail 1 "arguments to " i " do not match; LHS has " a1 " and RHS has " a2)
- | _ => idtac
- end
- end.
-End ProdEquiv.
-
-(* Lemmas to help prove that a fancy and prefancy expression have the
-same meaning -- should be replaced eventually with a proof of fancy
-passes in general. *)
-Module Fancy_PreFancy_Equiv.
- Import Fancy.Registers.
-
- Lemma interp_cast_mod_eq w u x: u = 2^w - 1 -> PreFancy.interp_cast_mod w r[0 ~> u] x = x mod 2^w.
- Proof.
- cbv [PreFancy.interp_cast_mod upper lower]; intros; subst.
- rewrite !Z.eqb_refl.
- reflexivity.
- Qed.
- Lemma interp_cast_mod_flag w x: PreFancy.interp_cast_mod w r[0 ~> 1] x = x mod 2.
- Proof.
- cbv [PreFancy.interp_cast_mod upper lower].
- break_match; Z.ltb_to_lt; subst; try omega.
- f_equal; lia.
- Qed.
-
- Lemma interp_equivZ {s} w u (Hu : u = 2^w-1) i rd regs e cc ctx idc args f :
- (Fancy.spec i (Tuple.map ctx regs) cc
- = PreFancy.interp_ident (d:=type.Z) w idc (Straightline.expr.interp_scalar (interp_cast:=PreFancy.interp_cast_mod w) args)) ->
- ( let r := Fancy.spec i (Tuple.map ctx regs) cc in
- Fancy.interp reg_eqb (2 ^ w) Fancy.cc_spec e
- (Fancy.CC.update (Fancy.writes_conditions i) r Fancy.cc_spec cc)
- (fun n : register => if reg_eqb n rd then r mod 2 ^ w else ctx n) =
- PreFancy.interp (t:=type.Z) (interp_cast:=PreFancy.interp_cast_mod w) w (f (r mod 2 ^ w))) ->
- Fancy.interp reg_eqb (2^w) Fancy.cc_spec (Fancy.Instr i rd regs e) cc ctx
- = PreFancy.interp (t:=type.Z) (interp_cast:=PreFancy.interp_cast_mod w) w
- (@Straightline.expr.LetInAppIdentZ _ _ s _ (r[0~>2^w-1])%zrange idc args f).
- Proof.
- cbv zeta; intros spec_eq next_eq.
- cbn [Fancy.interp PreFancy.interp].
- rewrite next_eq.
- rewrite <-spec_eq.
- rewrite interp_cast_mod_eq by omega.
- reflexivity.
- Qed.
-
- Lemma interp_equivZZ {s} w (Hw : 2 < 2 ^ w) u (Hu : u = 2^w - 1) i rd regs e cc ctx idc args f :
- ((Fancy.spec i (Tuple.map ctx regs) cc) mod 2 ^ w
- = fst (PreFancy.interp_ident (d:=type.Z*type.Z) w idc (Straightline.expr.interp_scalar (interp_cast:=PreFancy.interp_cast_mod w) args))) ->
- ((if Fancy.cc_spec Fancy.CC.C(Fancy.spec i (Tuple.map ctx regs) cc) then 1 else 0)
- = snd (PreFancy.interp_ident (d:=type.Z*type.Z) w idc (Straightline.expr.interp_scalar (interp_cast:=PreFancy.interp_cast_mod w) args)) mod 2) ->
- ( let r := Fancy.spec i (Tuple.map ctx regs) cc in
- Fancy.interp reg_eqb (2 ^ w) Fancy.cc_spec e
- (Fancy.CC.update (Fancy.writes_conditions i) r Fancy.cc_spec cc)
- (fun n : register => if reg_eqb n rd then r mod 2 ^ w else ctx n) =
- PreFancy.interp (t:=type.Z) (interp_cast:=PreFancy.interp_cast_mod w) w
- (f (r mod 2 ^ w, if (Fancy.cc_spec Fancy.CC.C r) then 1 else 0))) ->
- Fancy.interp reg_eqb (2^w) Fancy.cc_spec (Fancy.Instr i rd regs e) cc ctx
- = PreFancy.interp (t:=type.Z) (interp_cast:=PreFancy.interp_cast_mod w) w
- (@Straightline.expr.LetInAppIdentZZ _ _ s _ (r[0~>u], r[0~>1])%zrange idc args f).
- Proof.
- cbv zeta; intros spec_eq1 spec_eq2 next_eq.
- cbn [Fancy.interp PreFancy.interp].
- cbv [Straightline.expr.interp_cast2]. cbn [fst snd].
- rewrite next_eq.
- rewrite interp_cast_mod_eq by omega.
- rewrite interp_cast_mod_flag by omega.
- rewrite <-spec_eq1, <-spec_eq2.
- rewrite Z.mod_mod by omega.
- reflexivity.
- Qed.
-End Fancy_PreFancy_Equiv.
-
-Module BarrettReduction.
- (* TODO : generalize to multi-word and operate on (list Z) instead of T; maybe stop taking ops as context variables *)
- Section Generic.
- Context {T} (rep : T -> Z -> Prop)
- (k : Z) (k_pos : 0 < k)
- (low : T -> Z)
- (low_correct : forall a x, rep a x -> low a = x mod 2 ^ k)
- (shiftr : T -> Z -> T)
- (shiftr_correct : forall a x n,
- rep a x ->
- 0 <= n <= k ->
- rep (shiftr a n) (x / 2 ^ n))
- (mul_high : T -> T -> Z -> T)
- (mul_high_correct : forall a b x y x0y1,
- rep a x ->
- rep b y ->
- 2 ^ k <= x < 2^(k+1) ->
- 0 <= y < 2^(k+1) ->
- x0y1 = x mod 2 ^ k * (y / 2 ^ k) ->
- rep (mul_high a b x0y1) (x * y / 2 ^ k))
- (mul : Z -> Z -> T)
- (mul_correct : forall x y,
- 0 <= x < 2^k ->
- 0 <= y < 2^k ->
- rep (mul x y) (x * y))
- (sub : T -> T -> T)
- (sub_correct : forall a b x y,
- rep a x ->
- rep b y ->
- 0 <= x - y < 2^k * 2^k ->
- rep (sub a b) (x - y))
- (cond_sub1 : T -> Z -> Z)
- (cond_sub1_correct : forall a x y,
- rep a x ->
- 0 <= x < 2 * y ->
- 0 <= y < 2 ^ k ->
- cond_sub1 a y = if (x <? 2 ^ k) then x else x - y)
- (cond_sub2 : Z -> Z -> Z)
- (cond_sub2_correct : forall x y, cond_sub2 x y = if (x <? y) then x else x - y).
- Context (xt mut : T) (M muSelect: Z).
-
- Let mu := 2 ^ (2 * k) / M.
- Context x (mu_rep : rep mut mu) (x_rep : rep xt x).
- Context (M_nz : 0 < M)
- (x_range : 0 <= x < M * 2 ^ k)
- (M_range : 2 ^ (k - 1) < M < 2 ^ k)
- (M_good : 2 * (2 ^ (2 * k) mod M) <= 2 ^ (k + 1) - mu)
- (muSelect_correct: muSelect = mu mod 2 ^ k * (x / 2 ^ (k - 1) / 2 ^ k)).
-
- Definition qt :=
- dlet_nd muSelect := muSelect in (* makes sure muSelect is not inlined in the output *)
- dlet_nd q1 := shiftr xt (k - 1) in
- dlet_nd twoq := mul_high mut q1 muSelect in
- shiftr twoq 1.
- Definition reduce :=
- dlet_nd qt := qt in
- dlet_nd r2 := mul (low qt) M in
- dlet_nd r := sub xt r2 in
- let q3 := cond_sub1 r M in
- cond_sub2 q3 M.
-
- Lemma looser_bound : M * 2 ^ k < 2 ^ (2*k).
- Proof. clear -M_range M_nz x_range k_pos; rewrite <-Z.add_diag, Z.pow_add_r; nia. Qed.
-
- Lemma pow_2k_eq : 2 ^ (2*k) = 2 ^ (k - 1) * 2 ^ (k + 1).
- Proof. clear -k_pos; rewrite <-Z.pow_add_r by omega. f_equal; ring. Qed.
-
- Lemma mu_bounds : 2 ^ k <= mu < 2^(k+1).
- Proof.
- pose proof looser_bound.
- subst mu. split.
- { apply Z.div_le_lower_bound; omega. }
- { apply Z.div_lt_upper_bound; try omega.
- rewrite pow_2k_eq; apply Z.mul_lt_mono_pos_r; auto with zarith. }
- Qed.
-
- Lemma shiftr_x_bounds : 0 <= x / 2 ^ (k - 1) < 2^(k+1).
- Proof.
- pose proof looser_bound.
- split; [ solve [Z.zero_bounds] | ].
- apply Z.div_lt_upper_bound; auto with zarith.
- rewrite <-pow_2k_eq. omega.
- Qed.
- Hint Resolve shiftr_x_bounds.
-
- Ltac solve_rep := eauto using shiftr_correct, mul_high_correct, mul_correct, sub_correct with omega.
-
- Let q := mu * (x / 2 ^ (k - 1)) / 2 ^ (k + 1).
-
- Lemma q_correct : rep qt q .
- Proof.
- pose proof mu_bounds. cbv [qt]; subst q.
- rewrite Z.pow_add_r, <-Z.div_div by Z.zero_bounds.
- solve_rep.
- Qed.
- Hint Resolve q_correct.
-
- Lemma x_mod_small : x mod 2 ^ (k - 1) <= M.
- Proof. transitivity (2 ^ (k - 1)); auto with zarith. Qed.
- Hint Resolve x_mod_small.
-
- Lemma q_bounds : 0 <= q < 2 ^ k.
- Proof.
- pose proof looser_bound. pose proof x_mod_small. pose proof mu_bounds.
- split; subst q; [ solve [Z.zero_bounds] | ].
- edestruct q_nice_strong with (n:=M) as [? Hqnice];
- try rewrite Hqnice; auto; try omega; [ ].
- apply Z.le_lt_trans with (m:= x / M).
- { break_match; omega. }
- { apply Z.div_lt_upper_bound; omega. }
- Qed.
-
- Lemma two_conditional_subtracts :
- forall a x,
- rep a x ->
- 0 <= x < 2 * M ->
- cond_sub2 (cond_sub1 a M) M = cond_sub2 (cond_sub2 x M) M.
- Proof.
- intros.
- erewrite !cond_sub2_correct, !cond_sub1_correct by (eassumption || omega).
- break_match; Z.ltb_to_lt; try lia; discriminate.
- Qed.
-
- Lemma r_bounds : 0 <= x - q * M < 2 * M.
- Proof.
- pose proof looser_bound. pose proof q_bounds. pose proof x_mod_small.
- subst q mu; split.
- { Z.zero_bounds. apply qn_small; omega. }
- { apply r_small_strong; rewrite ?Z.pow_1_r; auto; omega. }
- Qed.
-
- Lemma reduce_correct : reduce = x mod M.
- Proof.
- pose proof looser_bound. pose proof r_bounds. pose proof q_bounds.
- assert (2 * M < 2^k * 2^k) by nia.
- rewrite barrett_reduction_small with (k:=k) (m:=mu) (offset:=1) (b:=2) by (auto; omega).
- cbv [reduce Let_In].
- erewrite low_correct by eauto. Z.rewrite_mod_small.
- erewrite two_conditional_subtracts by solve_rep.
- rewrite !cond_sub2_correct.
- subst q; reflexivity.
- Qed.
- End Generic.
-
- Section BarrettReduction.
- Context (k : Z) (k_bound : 2 <= k).
- Context (M muLow : Z).
- Context (M_pos : 0 < M)
- (muLow_eq : muLow + 2^k = 2^(2*k) / M)
- (muLow_bounds : 0 <= muLow < 2^k)
- (M_bound1 : 2 ^ (k - 1) < M < 2^k)
- (M_bound2: 2 * (2 ^ (2 * k) mod M) <= 2 ^ (k + 1) - (muLow + 2^k)).
-
- Context (n:nat) (Hn_nz: n <> 0%nat) (n_le_k : Z.of_nat n <= k).
- Context (nout : nat) (Hnout : nout = 2%nat).
- Let w := weight k 1.
- Local Lemma k_range : 0 < 1 <= k. Proof. omega. Qed.
- Let props : @weight_properties w := wprops k 1 k_range.
-
- Hint Rewrite Positional.eval_nil Positional.eval_snoc : push_eval.
-
- Definition low (t : list Z) : Z := nth_default 0 t 0.
- Definition high (t : list Z) : Z := nth_default 0 t 1.
- Definition represents (t : list Z) (x : Z) :=
- t = [x mod 2^k; x / 2^k] /\ 0 <= x < 2^k * 2^k.
-
- Lemma represents_eq t x :
- represents t x -> t = [x mod 2^k; x / 2^k].
- Proof. cbv [represents]; tauto. Qed.
-
- Lemma represents_length t x : represents t x -> length t = 2%nat.
- Proof. cbv [represents]; intuition. subst t; reflexivity. Qed.
-
- Lemma represents_low t x :
- represents t x -> low t = x mod 2^k.
- Proof. cbv [represents]; intros; rewrite (represents_eq t x) by auto; reflexivity. Qed.
-
- Lemma represents_high t x :
- represents t x -> high t = x / 2^k.
- Proof. cbv [represents]; intros; rewrite (represents_eq t x) by auto; reflexivity. Qed.
-
- Lemma represents_low_range t x :
- represents t x -> 0 <= x mod 2^k < 2^k.
- Proof. auto with zarith. Qed.
-
- Lemma represents_high_range t x :
- represents t x -> 0 <= x / 2^k < 2^k.
- Proof.
- destruct 1 as [? [? ?] ]; intros.
- auto using Z.div_lt_upper_bound with zarith.
- Qed.
- Hint Resolve represents_length represents_low_range represents_high_range.
-
- Lemma represents_range t x :
- represents t x -> 0 <= x < 2^k*2^k.
- Proof. cbv [represents]; tauto. Qed.
-
- Lemma represents_id x :
- 0 <= x < 2^k * 2^k ->
- represents [x mod 2^k; x / 2^k] x.
- Proof.
- intros; cbv [represents]; autorewrite with cancel_pair.
- Z.rewrite_mod_small; tauto.
- Qed.
-
- Local Ltac push_rep :=
- repeat match goal with
- | H : represents ?t ?x |- _ => unique pose proof (represents_low_range _ _ H)
- | H : represents ?t ?x |- _ => unique pose proof (represents_high_range _ _ H)
- | H : represents ?t ?x |- _ => rewrite (represents_low t x) in * by assumption
- | H : represents ?t ?x |- _ => rewrite (represents_high t x) in * by assumption
- end.
-
- Definition shiftr (t : list Z) (n : Z) : list Z :=
- [Z.rshi (2^k) (high t) (low t) n; Z.rshi (2^k) 0 (high t) n].
-
- Lemma shiftr_represents a i x :
- represents a x ->
- 0 <= i <= k ->
- represents (shiftr a i) (x / 2 ^ i).
- Proof.
- cbv [shiftr]; intros; push_rep.
- match goal with H : _ |- _ => pose proof (represents_range _ _ H) end.
- assert (0 < 2 ^ i) by auto with zarith.
- assert (x < 2 ^ i * 2 ^ k * 2 ^ k) by nia.
- assert (0 <= x / 2 ^ k / 2 ^ i < 2 ^ k) by
- (split; Z.zero_bounds; auto using Z.div_lt_upper_bound with zarith).
- repeat match goal with
- | _ => rewrite Z.rshi_correct by auto with zarith
- | _ => rewrite <-Z.div_mod''' by auto with zarith
- | _ => progress autorewrite with zsimplify_fast
- | _ => progress Z.rewrite_mod_small
- | |- context [represents [(?a / ?c) mod ?b; ?a / ?b / ?c] ] =>
- rewrite (Z.div_div_comm a b c) by auto with zarith
- | _ => solve [auto using represents_id, Z.div_lt_upper_bound with zarith lia]
- end.
- Qed.
-
- Context (Hw : forall i, w i = (2 ^ k) ^ Z.of_nat i).
- Ltac change_weight := rewrite !Hw, ?Z.pow_0_r, ?Z.pow_1_r, ?Z.pow_2_r.
-
- Definition wideadd t1 t2 := fst (Rows.add w 2 t1 t2).
- (* TODO: use this definition once issue #352 is resolved *)
- (* Definition widesub t1 t2 := fst (Rows.sub w 2 t1 t2). *)
- Definition widesub (t1 t2 : list Z) :=
- let t1_0 := hd 0 t1 in
- let t1_1 := hd 0 (tl t1) in
- let t2_0 := hd 0 t2 in
- let t2_1 := hd 0 (tl t2) in
- dlet_nd x0 := Z.sub_get_borrow_full (2^k) t1_0 t2_0 in
- dlet_nd x1 := Z.sub_with_get_borrow_full (2^k) (snd x0) t1_1 t2_1 in
- [fst x0; fst x1].
- Definition widemul := BaseConversion.widemul_inlined k n nout.
-
- Lemma partition_represents x :
- 0 <= x < 2^k*2^k ->
- represents (Rows.partition w 2 x) x.
- Proof.
- intros; cbn. change_weight.
- Z.rewrite_mod_small.
- autorewrite with zsimplify_fast.
- auto using represents_id.
- Qed.
-
- Lemma eval_represents t x :
- represents t x -> eval w 2 t = x.
- Proof.
- intros; rewrite (represents_eq t x) by assumption.
- cbn. change_weight; push_rep.
- autorewrite with zsimplify. reflexivity.
- Qed.
-
- Ltac wide_op partitions_pf :=
- repeat match goal with
- | _ => rewrite partitions_pf by eauto
- | _ => rewrite partitions_pf by auto with zarith
- | _ => erewrite eval_represents by eauto
- | _ => solve [auto using partition_represents, represents_id]
- end.
-
- Lemma wideadd_represents t1 t2 x y :
- represents t1 x ->
- represents t2 y ->
- 0 <= x + y < 2^k*2^k ->
- represents (wideadd t1 t2) (x + y).
- Proof. intros; cbv [wideadd]. wide_op Rows.add_partitions. Qed.
-
- Lemma widesub_represents t1 t2 x y :
- represents t1 x ->
- represents t2 y ->
- 0 <= x - y < 2^k*2^k ->
- represents (widesub t1 t2) (x - y).
- Proof.
- intros; cbv [widesub Let_In].
- rewrite (represents_eq t1 x) by assumption.
- rewrite (represents_eq t2 y) by assumption.
- cbn [hd tl].
- autorewrite with to_div_mod.
- pull_Zmod.
- match goal with |- represents [?m; ?d] ?x =>
- replace d with (x / 2 ^ k); [solve [auto using represents_id] |] end.
- rewrite <-(Z.mod_small ((x - y) / 2^k) (2^k)) by (split; try apply Z.div_lt_upper_bound; Z.zero_bounds).
- f_equal.
- transitivity ((x mod 2^k - y mod 2^k + 2^k * (x / 2 ^ k) - 2^k * (y / 2^k)) / 2^k). {
- rewrite (Z.div_mod x (2^k)) at 1 by auto using Z.pow_nonzero with omega.
- rewrite (Z.div_mod y (2^k)) at 1 by auto using Z.pow_nonzero with omega.
- f_equal. ring. }
- autorewrite with zsimplify.
- ring.
- Qed.
- (* Works with Rows.sub-based widesub definition
- Proof. intros; cbv [widesub]. wide_op Rows.sub_partitions. Qed.
- *)
-
- Lemma widemul_represents x y :
- 0 <= x < 2^k ->
- 0 <= y < 2^k ->
- represents (widemul x y) (x * y).
- Proof.
- intros; cbv [widemul].
- assert (0 <= x * y < 2^k*2^k) by auto with zarith.
- wide_op BaseConversion.widemul_correct.
- Qed.
-
- Definition mul_high (a b : list Z) a0b1 : list Z :=
- dlet_nd a0b0 := widemul (low a) (low b) in
- dlet_nd ab := wideadd [high a0b0; high b] [low b; 0] in
- wideadd ab [a0b1; 0].
-
- Lemma mul_high_idea d a b a0 a1 b0 b1 :
- d <> 0 ->
- a = d * a1 + a0 ->
- b = d * b1 + b0 ->
- (a * b) / d = a0 * b0 / d + d * a1 * b1 + a1 * b0 + a0 * b1.
- Proof.
- intros. subst a b. autorewrite with push_Zmul.
- ring_simplify_subterms. rewrite Z.pow_2_r.
- rewrite Z.div_add_exact by (push_Zmod; autorewrite with zsimplify; omega).
- repeat match goal with
- | |- context [d * ?a * ?b * ?c] =>
- replace (d * a * b * c) with (a * b * c * d) by ring
- | |- context [d * ?a * ?b] =>
- replace (d * a * b) with (a * b * d) by ring
- end.
- rewrite !Z.div_add by omega.
- autorewrite with zsimplify.
- rewrite (Z.mul_comm a0 b0).
- ring_simplify. ring.
- Qed.
-
- Lemma represents_trans t x y:
- represents t y -> y = x ->
- represents t x.
- Proof. congruence. Qed.
-
- Lemma represents_add x y :
- 0 <= x < 2 ^ k ->
- 0 <= y < 2 ^ k ->
- represents [x;y] (x + 2^k*y).
- Proof.
- intros; cbv [represents]; autorewrite with zsimplify.
- repeat split; (reflexivity || nia).
- Qed.
-
- Lemma represents_small x :
- 0 <= x < 2^k ->
- represents [x; 0] x.
- Proof.
- intros.
- eapply represents_trans.
- { eauto using represents_add with zarith. }
- { ring. }
- Qed.
-
- Lemma mul_high_represents a b x y a0b1 :
- represents a x ->
- represents b y ->
- 2^k <= x < 2^(k+1) ->
- 0 <= y < 2^(k+1) ->
- a0b1 = x mod 2^k * (y / 2^k) ->
- represents (mul_high a b a0b1) ((x * y) / 2^k).
- Proof.
- cbv [mul_high Let_In]; rewrite Z.pow_add_r, Z.pow_1_r by omega; intros.
- assert (4 <= 2 ^ k) by (transitivity (Z.pow 2 2); auto with zarith).
- assert (0 <= x * y / 2^k < 2^k*2^k) by (Z.div_mod_to_quot_rem_in_goal; nia).
-
- rewrite mul_high_idea with (a:=x) (b:=y) (a0 := low a) (a1 := high a) (b0 := low b) (b1 := high b) in *
- by (push_rep; Z.div_mod_to_quot_rem_in_goal; lia).
-
- push_rep. subst a0b1.
- assert (y / 2 ^ k < 2) by (apply Z.div_lt_upper_bound; omega).
- replace (x / 2 ^ k) with 1 in * by (rewrite Z.div_between_1; lia).
- autorewrite with zsimplify_fast in *.
-
- eapply represents_trans.
- { repeat (apply wideadd_represents;
- [ | apply represents_small; Z.div_mod_to_quot_rem_in_goal; nia| ]).
- erewrite represents_high; [ | apply widemul_represents; solve [ auto with zarith ] ].
- { apply represents_add; try reflexivity; solve [auto with zarith]. }
- { match goal with H : 0 <= ?x + ?y < ?z |- 0 <= ?x < ?z =>
- split; [ solve [Z.zero_bounds] | ];
- eapply Z.le_lt_trans with (m:= x + y); nia
- end. }
- { omega. } }
- { ring. }
- Qed.
-
- Definition cond_sub1 (a : list Z) y : Z :=
- dlet_nd maybe_y := Z.zselect (Z.cc_l (high a)) 0 y in
- dlet_nd diff := Z.sub_get_borrow_full (2^k) (low a) maybe_y in
- fst diff.
-
- Lemma cc_l_only_bit : forall x s, 0 <= x < 2 * s -> Z.cc_l (x / s) = 0 <-> x < s.
- Proof.
- cbv [Z.cc_l]; intros.
- rewrite Z.div_between_0_if by omega.
- break_match; Z.ltb_to_lt; Z.rewrite_mod_small; omega.
- Qed.
-
- Lemma cond_sub1_correct a x y :
- represents a x ->
- 0 <= x < 2 * y ->
- 0 <= y < 2 ^ k ->
- cond_sub1 a y = if (x <? 2 ^ k) then x else x - y.
- Proof.
- intros; cbv [cond_sub1 Let_In]. rewrite Z.zselect_correct. push_rep.
- break_match; Z.ltb_to_lt; rewrite cc_l_only_bit in *; try omega;
- autorewrite with zsimplify_fast to_div_mod pull_Zmod; auto with zarith.
- Qed.
-
- Definition cond_sub2 x y := Z.add_modulo x 0 y.
- Lemma cond_sub2_correct x y :
- cond_sub2 x y = if (x <? y) then x else x - y.
- Proof.
- cbv [cond_sub2]. rewrite Z.add_modulo_correct.
- autorewrite with zsimplify_fast. break_match; Z.ltb_to_lt; omega.
- Qed.
-
- Section Defn.
- Context (xLow xHigh : Z) (xLow_bounds : 0 <= xLow < 2^k) (xHigh_bounds : 0 <= xHigh < M).
- Let xt := [xLow; xHigh].
- Let x := xLow + 2^k * xHigh.
-
- Lemma x_rep : represents xt x.
- Proof. cbv [represents]; subst xt x; autorewrite with cancel_pair zsimplify; repeat split; nia. Qed.
-
- Lemma x_bounds : 0 <= x < M * 2 ^ k.
- Proof. subst x; nia. Qed.
-
- Definition muSelect := Z.zselect (Z.cc_m (2 ^ k) xHigh) 0 muLow.
-
- Local Hint Resolve Z.div_nonneg Z.div_lt_upper_bound.
- Local Hint Resolve shiftr_represents mul_high_represents widemul_represents widesub_represents
- cond_sub1_correct cond_sub2_correct represents_low represents_add.
-
- Lemma muSelect_correct :
- muSelect = (2 ^ (2 * k) / M) mod 2 ^ k * ((x / 2 ^ (k - 1)) / 2 ^ k).
- Proof.
- (* assertions to help arith tactics *)
- pose proof x_bounds.
- assert (2^k * M < 2 ^ (2*k)) by (rewrite <-Z.add_diag, Z.pow_add_r; nia).
- assert (0 <= x / (2 ^ k * (2 ^ k / 2)) < 2) by (Z.div_mod_to_quot_rem_in_goal; auto with nia).
- assert (0 < 2 ^ k / 2) by Z.zero_bounds.
- assert (2 ^ (k - 1) <> 0) by auto with zarith.
- assert (2 < 2 ^ k) by (eapply Z.le_lt_trans with (m:=2 ^ 1); auto with zarith).
-
- cbv [muSelect]. rewrite <-muLow_eq.
- rewrite Z.zselect_correct, Z.cc_m_eq by auto with zarith.
- replace xHigh with (x / 2^k) by (subst x; autorewrite with zsimplify; lia).
- autorewrite with pull_Zdiv push_Zpow.
- rewrite (Z.mul_comm (2 ^ k / 2)).
- break_match; [ ring | ].
- match goal with H : 0 <= ?x < 2, H' : ?x <> 0 |- _ => replace x with 1 by omega end.
- autorewrite with zsimplify; reflexivity.
- Qed.
-
- Lemma mu_rep : represents [muLow; 1] (2 ^ (2 * k) / M).
- Proof. rewrite <-muLow_eq. eapply represents_trans; auto with zarith. Qed.
-
- Derive barrett_reduce
- SuchThat (barrett_reduce = x mod M)
- As barrett_reduce_correct.
- Proof.
- erewrite <-reduce_correct with (rep:=represents) (muSelect:=muSelect) (k0:=k) (mut:=[muLow;1]) (xt0:=xt)
- by (auto using x_bounds, muSelect_correct, x_rep, mu_rep; omega).
- subst barrett_reduce. reflexivity.
- Qed.
- End Defn.
- End BarrettReduction.
-
- (* all the list operations from for_reification.ident *)
- Strategy 100 [length seq repeat combine map flat_map partition app rev fold_right update_nth nth_default ].
-
- Derive barrett_red_gen
- SuchThat (forall (k M muLow : Z)
- (n nout: nat)
- (xLow xHigh : Z),
- Interp (t:=type.reify_type_of barrett_reduce)
- barrett_red_gen k M muLow n nout xLow xHigh
- = barrett_reduce k M muLow n nout xLow xHigh)
- As barrett_red_gen_correct.
- Proof. Time cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Time Qed.
- (* TODO : reification here is still quite slow (~90s on a beefy machine). Possibly just due to size of term, but warrants further investigation. *)
- Module Export ReifyHints.
- Global Hint Extern 1 (_ = barrett_reduce _ _ _ _ _ _ _) => simple apply barrett_red_gen_correct : reify_gen_cache.
- End ReifyHints.
-
- Section rbarrett_red.
- Context (M : Z)
- (machine_wordsize : Z).
-
- Let bound := Some r[0 ~> (2^machine_wordsize - 1)%Z]%zrange.
- Let mu := (2 ^ (2 * machine_wordsize)) / M.
- Let muLow := mu mod (2 ^ machine_wordsize).
-
- Check barrett_reduce_correct.
- Print Pipeline.Values_not_provably_distinct.
-
- Definition relax_zrange_of_machine_wordsize'
- := relax_zrange_gen [1; machine_wordsize / 2; machine_wordsize; 2 * machine_wordsize]%Z.
- (* TODO: This is a special-case hack to let the prefancy pass have enough bounds information. *)
- Definition relax_zrange_of_machine_wordsize r : option zrange :=
- if (lower r =? 0) && (upper r =? 2)
- then Some r
- else relax_zrange_of_machine_wordsize' r.
-
- Lemma relax_zrange_good (r r' z : zrange) :
- (z <=? r)%zrange = true ->
- relax_zrange_of_machine_wordsize r = Some r' -> (z <=? r')%zrange = true.
- Proof.
- cbv [relax_zrange_of_machine_wordsize]; break_match; [congruence|].
- eauto using relax_zrange_gen_good.
- Qed.
-
- Local Arguments relax_zrange_of_machine_wordsize / .
-
- Let relax_zrange := relax_zrange_of_machine_wordsize.
-
- Definition check_args {T} (res : Pipeline.ErrorT T)
- : Pipeline.ErrorT T
- := if (mu / (2 ^ machine_wordsize) =? 0)
- then Pipeline.Error (Pipeline.Values_not_provably_distinct "mu / 2 ^ k ≠ 0" (mu / 2 ^ machine_wordsize) 0)
- else if (machine_wordsize <? 2)
- then Pipeline.Error (Pipeline.Value_not_le "~ (2 <=k)" 2 machine_wordsize)
- else if (negb (Z.log2 M + 1 =? machine_wordsize))
- then Pipeline.Error
- (Pipeline.Values_not_provably_equal "log2(M)+1 != k" (Z.log2 M + 1) machine_wordsize)
- else if (2 ^ (machine_wordsize + 1) - mu <? 2 * (2 ^ (2 * machine_wordsize) mod M))
- then Pipeline.Error
- (Pipeline.Value_not_le "~ (2 * (2 ^ (2*k) mod M) <= 2^(k + 1) - mu)"
- (2 * (2 ^ (2*machine_wordsize) mod M))
- (2^(machine_wordsize + 1) - mu))
- else res.
-
- Notation BoundsPipeline_correct in_bounds out_bounds op
- := (fun rv (rop : Expr (type.reify_type_of op)) Hrop
- => @Pipeline.BoundsPipeline_correct_trans
- false (* subst01 *)
- relax_zrange
- relax_zrange_good
- _
- rop
- in_bounds
- out_bounds
- op
- Hrop rv)
- (only parsing).
-
- Definition rbarrett_red_correct
- := BoundsPipeline_correct
- (bound, bound)
- bound
- (barrett_reduce machine_wordsize M muLow 2 2).
-
- Notation type_of_strip_3arrow := ((fun (d : Prop) (_ : forall A B C, d) => d) _).
- Definition rbarrett_red_correctT rv : Prop
- := type_of_strip_3arrow (@rbarrett_red_correct rv).
- End rbarrett_red.
-End BarrettReduction.
-
-Ltac solve_rbarrett_red := solve_rop BarrettReduction.rbarrett_red_correct.
-Ltac solve_rbarrett_red_nocache := solve_rop_nocache BarrettReduction.rbarrett_red_correct.
-
-Module Barrett256.
-
- Definition M := Eval lazy in (2^256-2^224+2^192+2^96-1).
- Definition machine_wordsize := 256.
-
- Derive barrett_red256
- SuchThat (BarrettReduction.rbarrett_red_correctT M machine_wordsize barrett_red256)
- As barrett_red256_correct.
- Proof. Time solve_rbarrett_red machine_wordsize. Time Qed.
-
- Definition muLow := Eval lazy in (2 ^ (2 * machine_wordsize) / M) mod (2^machine_wordsize).
- Definition barrett_red256_prefancy' := PreFancy.of_Expr machine_wordsize [M; muLow] barrett_red256.
-
- Derive barrett_red256_prefancy
- SuchThat (barrett_red256_prefancy = barrett_red256_prefancy' type.interp)
- As barrett_red256_prefancy_eq.
- Proof. lazy - [type.interp]; reflexivity. Qed.
-
- Lemma barrett_reduce_correct_specialized :
- forall (xLow xHigh : Z),
- 0 <= xLow < 2 ^ machine_wordsize ->
- 0 <= xHigh < M ->
- BarrettReduction.barrett_reduce machine_wordsize M muLow 2 2 xLow xHigh = (xLow + 2 ^ machine_wordsize * xHigh) mod M.
- Proof.
- intros.
- apply BarrettReduction.barrett_reduce_correct; cbv [machine_wordsize M muLow] in *;
- try omega;
- try match goal with
- | |- context [weight] => intros; cbv [weight]; autorewrite with zsimplify; auto using Z.pow_mul_r with omega
- end; lazy; try split; congruence.
- Qed.
-
- (* Note: If this is not factored out, then for some reason Qed takes forever in barrett_red256_correct_full. *)
- Lemma barrett_red256_correct_proj2 :
- forall xy : type.interp (type.prod type.Z type.Z),
- ZRange.type.option.is_bounded_by
- (t:=type.prod type.Z type.Z)
- (Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange, Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange)
- xy = true ->
- expr.Interp (@ident.interp) barrett_red256 xy = app_curried (t:=type.arrow (type.prod type.Z type.Z) type.Z) (fun xy => BarrettReduction.barrett_reduce machine_wordsize M muLow 2 2 (fst xy) (snd xy)) xy.
- Proof. intros; destruct (barrett_red256_correct xy); assumption. Qed.
- Lemma barrett_red256_correct_proj2' :
- forall x y : Z,
- ZRange.type.option.is_bounded_by
- (t:=type.prod type.Z type.Z)
- (Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange, Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange)
- (x, y) = true ->
- expr.Interp (@ident.interp) barrett_red256 (x, y) = BarrettReduction.barrett_reduce machine_wordsize M muLow 2 2 x y.
- Proof. intros; rewrite barrett_red256_correct_proj2 by assumption; unfold app_curried; exact eq_refl. Qed.
-
- Lemma barrett_red256_correct_full :
- forall (xLow xHigh : Z),
- 0 <= xLow < 2 ^ machine_wordsize ->
- 0 <= xHigh < M ->
- expr.interp (@ident.interp) (barrett_red256 type.interp) (xLow, xHigh) = (xLow + 2 ^ machine_wordsize * xHigh) mod M.
- Proof.
- intros.
- rewrite <-barrett_reduce_correct_specialized by assumption.
- rewrite <-barrett_red256_correct_proj2'.
- { cbv [expr.Interp type.uncurried_domain type.uncurry type.final_codomain].
- reflexivity. }
- { cbn. rewrite !andb_true_iff. cbv [machine_wordsize M] in *.
- cbn in *. repeat split; apply Z.leb_le; omega. }
- Qed.
-
- Import PreFancy.Tactics. (* for ok_expr_step *)
- Lemma barrett_red256_prefancy_correct :
- forall xLow xHigh dummy_arrow,
- 0 <= xLow < 2 ^ machine_wordsize ->
- 0 <= xHigh < M ->
- @PreFancy.interp machine_wordsize (PreFancy.interp_cast_mod machine_wordsize) type.Z (barrett_red256_prefancy (xLow, xHigh) dummy_arrow) = (xLow + 2 ^ machine_wordsize * xHigh) mod M.
- Proof.
- intros. rewrite barrett_red256_prefancy_eq; cbv [barrett_red256_prefancy'].
- erewrite PreFancy.of_Expr_correct.
- { apply barrett_red256_correct_full; try assumption; reflexivity. }
- { reflexivity. }
- { lazy; reflexivity. }
- { lazy; reflexivity. }
- { repeat constructor. }
- { cbv [In M muLow]; intros; intuition; subst; cbv; congruence. }
- { let r := (eval compute in (2 ^ machine_wordsize)) in
- replace (2^machine_wordsize) with r in * by reflexivity.
- cbv [M muLow machine_wordsize] in *.
- assert (lower r[0~>1] = 0) by reflexivity.
- repeat (ok_expr_step; [ ]).
- ok_expr_step.
- lazy; congruence.
- constructor.
- constructor. }
- { lazy. omega. }
- Qed.
-
- Definition barrett_red256_fancy' (xLow xHigh RegMuLow RegMod RegZero error : positive) :=
- Fancy.of_Expr 3%positive
- (fun z => if z =? muLow then Some RegMuLow else if z =? M then Some RegMod else if z =? 0 then Some RegZero else None)
- [M; muLow]
- barrett_red256
- (xLow, xHigh)%positive
- (fun _ _ => tt)
- error.
- Derive barrett_red256_fancy
- SuchThat (forall xLow xHigh RegMuLow RegMod RegZero,
- barrett_red256_fancy xLow xHigh RegMuLow RegMod RegZero = barrett_red256_fancy' xLow xHigh RegMuLow RegMod RegZero)
- As barrett_red256_fancy_eq.
- Proof.
- intros.
- lazy - [Fancy.ADD Fancy.ADDC Fancy.SUB Fancy.SUBC
- Fancy.MUL128LL Fancy.MUL128LU Fancy.MUL128UL Fancy.MUL128UU
- Fancy.RSHI Fancy.SELC Fancy.SELM Fancy.SELL Fancy.ADDM].
- reflexivity.
- Qed.
-
- Import Fancy.Registers.
-
- Definition barrett_red256_alloc' xLow xHigh RegMuLow :=
- fun errorP errorR =>
- Fancy.allocate register
- positive Pos.eqb
- errorR
- (barrett_red256_fancy 1000%positive 1001%positive 1002%positive 1003%positive 1004%positive errorP)
- [r2;r3;r4;r5;r6;r7;r8;r9;r10;r5;r11;r6;r12;r13;r14;r15;r16;r17;r18;r19;r20;r21;r22;r23;r24;r25;r26;r27;r28;r29]
- (fun n => if n =? 1000 then xLow
- else if n =? 1001 then xHigh
- else if n =? 1002 then RegMuLow
- else if n =? 1003 then RegMod
- else if n =? 1004 then RegZero
- else errorR).
- Derive barrett_red256_alloc
- SuchThat (barrett_red256_alloc = barrett_red256_alloc')
- As barrett_red256_alloc_eq.
- Proof.
- intros.
- cbv [barrett_red256_alloc' barrett_red256_fancy].
- cbn. subst barrett_red256_alloc.
- reflexivity.
- Qed.
-
- Set Printing Depth 1000.
- Import ProdEquiv.
-
- Local Ltac solve_bounds :=
- match goal with
- | H : ?a = ?b mod ?c |- 0 <= ?a < ?c => rewrite H; apply Z.mod_pos_bound; omega
- | _ => assumption
- end.
-
- Lemma barrett_red256_alloc_equivalent errorP errorR cc_start_state start_context :
- forall x xHigh RegMuLow scratchp1 scratchp2 scratchp3 scratchp4 scratchp5 extra_reg,
- NoDup [x; xHigh; RegMuLow; scratchp1; scratchp2; scratchp3; scratchp4; scratchp5; extra_reg; RegMod; RegZero] ->
- 0 <= start_context x < 2^machine_wordsize ->
- 0 <= start_context xHigh < 2^machine_wordsize ->
- 0 <= start_context RegMuLow < 2^machine_wordsize ->
- ProdEquiv.interp256 (barrett_red256_alloc r0 r1 r30 errorP errorR) cc_start_state
- (fun r => if reg_eqb r r0
- then start_context x
- else if reg_eqb r r1
- then start_context xHigh
- else if reg_eqb r r30
- then start_context RegMuLow
- else start_context r)
- = ProdEquiv.interp256 (Prod.MulMod x xHigh RegMuLow scratchp1 scratchp2 scratchp3 scratchp4 scratchp5) cc_start_state start_context.
- Proof.
- intros.
- let r := eval compute in (2^machine_wordsize) in
- replace (2^machine_wordsize) with r in * by reflexivity.
- cbv [Prod.MulMod barrett_red256_alloc].
-
- (* Extract proofs that no registers are equal to each other *)
- repeat match goal with
- | H : NoDup _ |- _ => inversion H; subst; clear H
- | H : ~ In _ _ |- _ => cbv [In] in H
- | H : ~ (_ \/ _) |- _ => apply Decidable.not_or in H; destruct H
- | H : ~ False |- _ => clear H
- end.
-
- step_both_sides.
-
- (* TODO: To prove equivalence between these two, we need to either relocate the RSHI instructions so they're in the same places or use instruction commutativity to push them down. *)
-
- Admitted.
-
- Import Fancy_PreFancy_Equiv.
-
- Definition interp_equivZZ_256 {s} :=
- @interp_equivZZ s 256 ltac:(cbv; congruence) 115792089237316195423570985008687907853269984665640564039457584007913129639935 ltac:(reflexivity).
- Definition interp_equivZ_256 {s} :=
- @interp_equivZ s 256 115792089237316195423570985008687907853269984665640564039457584007913129639935 ltac:(reflexivity).
-
- Local Ltac simplify_op_equiv start_ctx :=
- cbn - [Fancy.spec PreFancy.interp_ident Fancy.cc_spec Z.shiftl];
- repeat match goal with H : start_ctx _ = _ |- _ => rewrite H end;
- cbv - [
- Z.rshi Z.cc_m Fancy.CC.cc_m
- Z.add_with_get_carry_full Z.add_get_carry_full
- Z.sub_get_borrow_full Z.sub_with_get_borrow_full
- Z.le Z.lt Z.ltb Z.leb Z.geb Z.eqb Z.land Z.shiftr Z.shiftl
- Z.add Z.mul Z.div Z.sub Z.modulo Z.testbit Z.pow Z.ones
- fst snd]; cbn [fst snd];
- try (replace (2 ^ (256 / 2) - 1) with (Z.ones 128) by reflexivity; rewrite !Z.land_ones by omega);
- autorewrite with to_div_mod; rewrite ?Z.mod_mod, <-?Z.testbit_spec' by omega;
- let r := (eval compute in (2 ^ 256)) in
- replace (2^256) with r in * by reflexivity;
- repeat match goal with
- | H : 0 <= ?x < ?m |- context [?x mod ?m] => rewrite (Z.mod_small x m) by apply H
- | |- context [?x <? 0] => rewrite (proj2 (Z.ltb_ge x 0)) by (break_match; Z.zero_bounds)
- | _ => rewrite Z.mod_small with (b:=2) by (break_match; omega)
- | |- context [ (if Z.testbit ?a ?n then 1 else 0) + ?b + ?c] =>
- replace ((if Z.testbit a n then 1 else 0) + b + c) with (b + c + (if Z.testbit a n then 1 else 0)) by ring
- end.
-
- Local Ltac solve_nonneg ctx :=
- match goal with x := (Fancy.spec _ _ _) |- _ => subst x end;
- simplify_op_equiv ctx; Z.zero_bounds.
-
- Local Ltac generalize_result :=
- let v := fresh "v" in intro v; generalize v; clear v; intro v.
-
- Local Ltac generalize_result_nonneg ctx :=
- let v := fresh "v" in
- let v_nonneg := fresh "v_nonneg" in
- intro v; assert (0 <= v) as v_nonneg; [solve_nonneg ctx |generalize v v_nonneg; clear v v_nonneg; intros v v_nonneg].
-
- Local Ltac step ctx :=
- match goal with
- | |- Fancy.interp _ _ _ (Fancy.Instr (Fancy.ADD _) _ _ (Fancy.Instr (Fancy.ADDC _) _ _ _)) _ _ = _ =>
- apply interp_equivZZ_256; [ simplify_op_equiv ctx | simplify_op_equiv ctx | generalize_result_nonneg ctx]
- | _ => apply interp_equivZ_256; [simplify_op_equiv ctx | generalize_result]
- | _ => apply interp_equivZZ_256; [ simplify_op_equiv ctx | simplify_op_equiv ctx | generalize_result]
- end.
-
- Lemma prod_barrett_red256_correct :
- forall (cc_start_state : Fancy.CC.state) (* starting carry flags *)
- (start_context : register -> Z) (* starting register values *)
- (x xHigh RegMuLow scratchp1 scratchp2 scratchp3 scratchp4 scratchp5 extra_reg : register), (* registers to use in computation *)
- NoDup [x; xHigh; RegMuLow; scratchp1; scratchp2; scratchp3; scratchp4; scratchp5; extra_reg; RegMod; RegZero] -> (* registers are unique *)
- 0 <= start_context x < 2^machine_wordsize ->
- 0 <= start_context xHigh < M ->
- start_context RegMuLow = muLow ->
- start_context RegMod = M ->
- start_context RegZero = 0 ->
- cc_start_state.(Fancy.CC.cc_m) = (Z.cc_m (2^256) (start_context xHigh) =? 1) ->
- let X := start_context x + 2^machine_wordsize * start_context xHigh in
- ProdEquiv.interp256 (Prod.MulMod x xHigh RegMuLow scratchp1 scratchp2 scratchp3 scratchp4 scratchp5) cc_start_state start_context = X mod M.
- Proof.
- intros. subst X.
- assert (0 <= start_context xHigh < 2^machine_wordsize) by (cbv [M] in *; cbn; omega).
- let r := (eval compute in (2 ^ machine_wordsize)) in
- replace (2^machine_wordsize) with r in * by reflexivity.
- cbv [M muLow] in *.
-
- rewrite <-barrett_red256_prefancy_correct with (dummy_arrow := fun s d _ => DefaultValue.type.default) by auto.
- rewrite <-barrett_red256_alloc_equivalent with (errorR := RegZero) (errorP := 1%positive) (extra_reg:=extra_reg)
- by (cbn in *; auto with omega).
- cbv [ProdEquiv.interp256].
- let r := (eval compute in (2 ^ 256)) in
- replace (2^256) with r in * by reflexivity.
- cbv [barrett_red256_alloc barrett_red256_prefancy].
-
- step start_context.
- {
- match goal with H : Fancy.CC.cc_m _ = _ |- _ => rewrite H end.
- match goal with |- context [Z.cc_m ?s ?x] =>
- pose proof (Z.cc_m_small s x ltac:(reflexivity) ltac:(omega));
- let H := fresh in
- assert (Z.cc_m s x = 1 \/ Z.cc_m s x = 0) as H by omega;
- destruct H as [H | H]; rewrite H in *
- end; break_innermost_match; Z.ltb_to_lt; try congruence. }
- apply interp_equivZ_256; [ simplify_op_equiv start_context | ]. (* apply manually instead of using [step] to allow a custom bounds proof *)
- { rewrite Z.rshi_correct by omega.
- autorewrite with zsimplify_fast.
- rewrite Z.shiftr_div_pow2 by omega.
- reflexivity. }
-
- (* Special case to remember the bound for the output of RSHI *)
- let v := fresh "v" in
- let v_bound := fresh "v_bound" in
- intro v; assert (0 <= v <= 1) as v_bound; [ |generalize v v_bound; clear v v_bound; intros v v_bound].
- { solve_nonneg start_context. autorewrite with zsimplify_fast.
- rewrite Z.shiftr_div_pow2 by omega.
- rewrite Z.mod_pull_div by omega.
- rewrite Z.mod_small by (cbn; omega).
- split; [Z.zero_bounds|].
- apply Z.lt_succ_r.
- apply Z.div_lt_upper_bound; cbn; omega. }
-
- step start_context.
- { rewrite Z.rshi_correct by omega.
- rewrite Z.shiftr_div_pow2 by omega.
- repeat (f_equal; try ring). }
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context;
- [ rewrite Z.mod_small with (b:=2) by (rewrite Z.mod_small by omega; omega); (* Here we make use of the bound of RSHI *)
- reflexivity
- | rewrite Z.mod_small with (b:=2) by (rewrite Z.mod_small by omega; omega); (* Here we make use of the bound of RSHI *)
- reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context.
- { rewrite Z.rshi_correct by omega.
- rewrite Z.shiftr_div_pow2 by omega.
- repeat (f_equal; try ring). }
-
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
-
- step start_context.
- { reflexivity. }
- { autorewrite with zsimplify_fast.
- match goal with |- context [?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite <-Z.testbit_neg_eq_if with (n:=256) by (cbn; omega).
- reflexivity. }
- step start_context.
- { reflexivity. }
- { autorewrite with zsimplify_fast.
- rewrite Z.mod_small with (a:=(if (if _ <? 0 then true else _) then _ else _)) (b:=2) by (break_innermost_match; omega).
- match goal with |- context [?a - ?b - ?c] => replace (a - b - c) with (a - (b + c)) by ring end.
- match goal with |- context [?x mod ?m] => pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite <-Z.testbit_neg_eq_if with (n:=256) by (break_innermost_match; cbn; omega).
- reflexivity. }
- step start_context.
- { rewrite Z.bit0_eqb.
- match goal with |- context [(?x mod ?m) &' 1] =>
- replace (x mod m) with (x &' Z.ones 256) by (rewrite Z.land_ones by omega; reflexivity) end.
- rewrite <-Z.land_assoc.
- rewrite Z.land_ones with (n:=1) by omega.
- cbn.
- match goal with |- context [?x mod 2] =>
- let H := fresh in
- assert (x mod 2 = 0 \/ x mod 2 = 1) as H
- by (pose proof (Z.mod_pos_bound x 2 ltac:(omega)); omega);
- destruct H as [H | H]; rewrite H
- end; reflexivity. }
- step start_context.
- { reflexivity. }
- { autorewrite with zsimplify_fast.
- repeat match goal with |- context [?x mod ?m] => unique pose proof (Z.mod_pos_bound x m ltac:(omega)) end.
- rewrite <-Z.testbit_neg_eq_if with (n:=256) by (cbn; omega).
- reflexivity. }
- step start_context; [ break_innermost_match; Z.ltb_to_lt; omega | ].
- reflexivity.
- Qed.
-
- Import PrintingNotations.
- Set Printing Width 1000.
- Open Scope expr_scope.
- Print barrett_red256.
- (*
-barrett_red256 = fun var : type -> Type => λ x : var (type.type_primitive type.Z * type.type_primitive type.Z)%ctype,
- expr_let x0 := SELM (x₂, 0, 26959946667150639793205513449348445388433292963828203772348655992835) in
- expr_let x1 := RSHI (0, x₂, 255) in
- expr_let x2 := RSHI (x₂, x₁, 255) in
- expr_let x3 := 79228162514264337589248983038 *₂₅₆ (uint128)(x2 >> 128) in
- expr_let x4 := 79228162514264337589248983038 *₂₅₆ ((uint128)(x2) & 340282366920938463463374607431768211455) in
- expr_let x5 := 340282366841710300930663525764514709507 *₂₅₆ (uint128)(x2 >> 128) in
- expr_let x6 := 340282366841710300930663525764514709507 *₂₅₆ ((uint128)(x2) & 340282366920938463463374607431768211455) in
- expr_let x7 := ADD_256 ((uint256)(((uint128)(x5) & 340282366920938463463374607431768211455) << 128), x6) in
- expr_let x8 := ADDC_256 (x7₂, (uint128)(x5 >> 128), x3) in
- expr_let x9 := ADD_256 ((uint256)(((uint128)(x4) & 340282366920938463463374607431768211455) << 128), x7₁) in
- expr_let x10 := ADDC_256 (x9₂, (uint128)(x4 >> 128), x8₁) in
- expr_let x11 := ADD_256 (x2, x10₁) in
- expr_let x12 := ADDC_128 (x11₂, 0, x1) in
- expr_let x13 := ADD_256 (x0, x11₁) in
- expr_let x14 := ADDC_128 (x13₂, 0, x12₁) in
- expr_let x15 := RSHI (x14₁, x13₁, 1) in
- expr_let x16 := 340282366841710300967557013911933812736 *₂₅₆ (uint128)(x15 >> 128) in
- expr_let x17 := 79228162514264337593543950335 *₂₅₆ (uint128)(x15 >> 128) in
- expr_let x18 := 340282366841710300967557013911933812736 *₂₅₆ ((uint128)(x15) & 340282366920938463463374607431768211455) in
- expr_let x19 := 79228162514264337593543950335 *₂₅₆ ((uint128)(x15) & 340282366920938463463374607431768211455) in
- expr_let x20 := ADD_256 ((uint256)(((uint128)(x18) & 340282366920938463463374607431768211455) << 128), x19) in
- expr_let x21 := ADDC_256 (x20₂, (uint128)(x18 >> 128), x16) in
- expr_let x22 := ADD_256 ((uint256)(((uint128)(x17) & 340282366920938463463374607431768211455) << 128), x20₁) in
- expr_let x23 := ADDC_256 (x22₂, (uint128)(x17 >> 128), x21₁) in
- expr_let x24 := SUB_256 (x₁, x22₁) in
- expr_let x25 := SUBB_256 (x24₂, x₂, x23₁) in
- expr_let x26 := SELL (x25₁, 0, 115792089210356248762697446949407573530086143415290314195533631308867097853951) in
- expr_let x27 := SUB_256 (x24₁, x26) in
- ADDM (x27₁, 0, 115792089210356248762697446949407573530086143415290314195533631308867097853951)
- : Expr (type.uncurry (type.type_primitive type.Z -> type.type_primitive type.Z -> type.type_primitive type.Z))
- *)
-
- Import PreFancy.
- Import PreFancy.Notations.
- Local Notation "'RegMod'" := (Straightline.expr.Primitive (t:=type.Z) 115792089210356248762697446949407573530086143415290314195533631308867097853951).
- Local Notation "'RegMuLow'" := (Straightline.expr.Primitive (t:=type.Z) 26959946667150639793205513449348445388433292963828203772348655992835).
- Print barrett_red256_prefancy.
- (*
- selm@(y, $x₂, RegZero, RegMuLow);
- rshi@(y0, RegZero, $x₂,255);
- rshi@(y1, $x₂, $x₁,255);
- mulhh@(y2, RegMuLow, $y1);
- mulhl@(y3, RegMuLow, $y1);
- mullh@(y4, RegMuLow, $y1);
- mulll@(y5, RegMuLow, $y1);
- add@(y6, $y5, $y4, 128);
- addc@(y7, carry{$y6}, $y2, $y4, -128);
- add@(y8, $y6, $y3, 128);
- addc@(y9, carry{$y8}, $y7, $y3, -128);
- add@(y10, $y1, $y9, 0);
- addc@(y11, carry{$y10}, RegZero, $y0, 0); #128
- add@(y12, $y, $y10, 0);
- addc@(y13, carry{$y12}, RegZero, $y11, 0); #128
- rshi@(y14, $y13, $y12,1);
- mulhh@(y15, RegMod, $y14);
- mullh@(y16, RegMod, $y14);
- mulhl@(y17, RegMod, $y14);
- mulll@(y18, RegMod, $y14);
- add@(y19, $y18, $y17, 128);
- addc@(y20, carry{$y19}, $y15, $y17, -128);
- add@(y21, $y19, $y16, 128);
- addc@(y22, carry{$y21}, $y20, $y16, -128);
- sub@(y23, $x₁, $y21, 0);
- subb@(y24, carry{$y23}, $x₂, $y22, 0);
- sell@(y25, $y24, RegZero, RegMod);
- sub@(y26, $y23, $y25, 0);
- addm@(y27, $y26, RegZero, RegMod);
- ret $y27
- *)
-End Barrett256.
-
-Module SaturatedSolinas.
- Section MulMod.
- Context (s : Z) (c : list (Z * Z))
- (s_nz : s <> 0) (modulus_nz : s - Associational.eval c <> 0).
- Context (log2base : Z) (log2base_pos : 0 < log2base)
- (n nreductions : nat) (n_nz : n <> 0%nat).
-
- Let weight := weight log2base 1.
- Let props : @weight_properties weight := wprops log2base 1 ltac:(omega).
- Local Lemma base_nz : 2 ^ log2base <> 0. Proof. auto with zarith. Qed.
-
- Derive mulmod
- SuchThat (forall (f g : list Z)
- (Hf : length f = n)
- (Hg : length g = n),
- (eval weight n (fst (mulmod f g)) + weight n * (snd (mulmod f g))) mod (s - Associational.eval c)
- = (eval weight n f * eval weight n g) mod (s - Associational.eval c))
- As eval_mulmod.
- Proof.
- intros.
- rewrite <-Rows.eval_mulmod with (base:=2^log2base) (s:=s) (c:=c) (nreductions:=nreductions) by auto using base_nz.
- eapply f_equal2; [|trivial].
- (* expand_lists (). *) (* uncommenting this line removes some unused multiplications but also inlines a bunch of carry stuff at the end *)
- subst mulmod. reflexivity.
- Qed.
- Definition mulmod' := fun x y => fst (mulmod x y).
- End MulMod.
-
- Derive mulmod_gen
- SuchThat (forall (log2base s : Z) (c : list (Z * Z)) (n nreductions : nat)
- (f g : list Z),
- Interp (t:=type.reify_type_of mulmod')
- mulmod_gen s c log2base n nreductions f g
- = mulmod' s c log2base n nreductions f g)
- As mulmod_gen_correct.
- Proof. Time cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Time Qed.
- Module Export ReifyHints.
- Global Hint Extern 1 (_ = mulmod' _ _ _ _ _ _ _) => simple apply mulmod_gen_correct : reify_gen_cache.
- End ReifyHints.
-
- Section rmulmod.
- Context (s : Z)
- (c : list (Z * Z))
- (machine_wordsize : Z).
-
- Definition relax_zrange_of_machine_wordsize
- := relax_zrange_gen [1; machine_wordsize]%Z.
-
- Let n : nat := Z.to_nat (Qceiling (Z.log2_up s / machine_wordsize)).
- (* Number of reductions is calculated as follows :
- Let i be the highest limb index of c. Then, each reduction
- decreases the number of extra limbs by (n-i). So, to go from
- the n extra limbs we have post-multiplication down to 0, we
- need ceil (n / (n - i)) reductions. *)
- Let nreductions : nat :=
- let i := fold_right Z.max 0 (map (fun t => Z.log2 (fst t) / machine_wordsize) c) in
- Z.to_nat (Qceiling (Z.of_nat n / (Z.of_nat n - i))).
- Let relax_zrange := relax_zrange_of_machine_wordsize.
- Let bound := Some r[0 ~> (2^machine_wordsize - 1)]%zrange.
- Let boundsn : list (ZRange.type.option.interp type.Z)
- := repeat bound n.
-
- Definition check_args {T} (res : Pipeline.ErrorT T)
- : Pipeline.ErrorT T
- := if (negb (0 <? s - Associational.eval c))%Z
- then Pipeline.Error (Pipeline.Value_not_lt "s - Associational.eval c ≤ 0" 0 (s - Associational.eval c))
- else if (s =? 0)%Z
- then Pipeline.Error (Pipeline.Values_not_provably_distinct "s ≠ 0" s 0)
- else if (n =? 0)%nat
- then Pipeline.Error (Pipeline.Values_not_provably_distinct "n ≠ 0" n 0%nat)
- else if (negb (0 <? machine_wordsize))
- then Pipeline.Error (Pipeline.Value_not_lt "0 < machine_wordsize" 0 machine_wordsize)
- else res.
-
- Notation BoundsPipeline rop in_bounds out_bounds
- := (Pipeline.BoundsPipeline
- (*false*) true
- relax_zrange
- rop%Expr in_bounds out_bounds).
-
- Notation BoundsPipeline_correct in_bounds out_bounds op
- := (fun rv (rop : Expr (type.reify_type_of op)) Hrop
- => @Pipeline.BoundsPipeline_correct_trans
- (*false*) true
- relax_zrange
- (relax_zrange_gen_good _)
- _
- rop
- in_bounds
- out_bounds
- op
- Hrop rv)
- (only parsing).
-
- Definition rmulmod_correct
- := BoundsPipeline_correct
- (Some boundsn, Some boundsn)
- (Some boundsn)
- (mulmod' s c machine_wordsize n nreductions).
-
- Notation type_of_strip_3arrow := ((fun (d : Prop) (_ : forall A B C, d) => d) _).
- Definition rmulmod_correctT rv : Prop
- := type_of_strip_3arrow (@rmulmod_correct rv).
- End rmulmod.
-End SaturatedSolinas.
-
-Ltac solve_rmulmod := solve_rop SaturatedSolinas.rmulmod_correct.
-Ltac solve_rmulmod_nocache := solve_rop_nocache SaturatedSolinas.rmulmod_correct.
-
-Module P192_64.
- Definition s := 2^192.
- Definition c := [(2^64, 1); (1,1)].
- Definition machine_wordsize := 64.
-
- Derive mulmod
- SuchThat (SaturatedSolinas.rmulmod_correctT s c machine_wordsize mulmod)
- As mulmod_correct.
- Proof. Time solve_rmulmod machine_wordsize. Time Qed.
-
- Import PrintingNotations.
- Open Scope expr_scope.
- Set Printing Width 100000.
- Set Printing Depth 100000.
-
- Local Notation "'mul64' '(' x ',' y ')'" :=
- (Z.cast2 (uint64, _)%core @@ (Z.mul_split_concrete 18446744073709551616 @@ (x , y)))%expr (at level 50) : expr_scope.
- Local Notation "'add64' '(' x ',' y ')'" :=
- (Z.cast2 (uint64, bool)%core @@ (Z.add_get_carry_concrete 18446744073709551616 @@ (x , y)))%expr (at level 50) : expr_scope.
- Local Notation "'adc64' '(' c ',' x ',' y ')'" :=
- (Z.cast2 (uint64, bool)%core @@ (Z.add_with_get_carry_concrete 18446744073709551616 @@ (c, x , y)))%expr (at level 50) : expr_scope.
- Local Notation "'adx64' '(' c ',' x ',' y ')'" :=
- (Z.cast bool @@ (Z.add_with_carry @@ (c, x , y)))%expr (at level 50) : expr_scope.
-
- Print mulmod.
-(*
-mulmod = fun var : type -> Type => λ x : var (type.list (type.type_primitive type.Z) * type.list (type.type_primitive type.Z))%ctype,
- expr_let x0 := mul64 ((uint64)(x₁[[2]]), (uint64)(x₂[[2]])) in
- expr_let x1 := mul64 ((uint64)(x₁[[2]]), (uint64)(x₂[[1]])) in
- expr_let x2 := mul64 ((uint64)(x₁[[2]]), (uint64)(x₂[[0]])) in
- expr_let x3 := mul64 ((uint64)(x₁[[1]]), (uint64)(x₂[[2]])) in
- expr_let x4 := mul64 ((uint64)(x₁[[1]]), (uint64)(x₂[[1]])) in
- expr_let x5 := mul64 ((uint64)(x₁[[1]]), (uint64)(x₂[[0]])) in
- expr_let x6 := mul64 ((uint64)(x₁[[0]]), (uint64)(x₂[[2]])) in
- expr_let x7 := mul64 ((uint64)(x₁[[0]]), (uint64)(x₂[[1]])) in
- expr_let x8 := mul64 ((uint64)(x₁[[0]]), (uint64)(x₂[[0]])) in
- expr_let x9 := add64 (x0₂, x8₂) in
- expr_let x10 := adc64 (x9₂, 0, x7₂) in
- expr_let x11 := add64 (x0₁, x9₁) in
- expr_let x12 := adc64 (x11₂, 0, x10₁) in
- expr_let x13 := add64 (x1₂, x11₁) in
- expr_let x14 := adc64 (x13₂, 0, x12₁) in
- expr_let x15 := add64 (x3₂, x13₁) in
- expr_let x16 := adc64 (x15₂, x0₂, x14₁) in
- expr_let x17 := add64 (x1₁, x15₁) in
- expr_let x18 := adc64 (x17₂, x0₁, x16₁) in
- expr_let x19 := add64 (x0₂, x8₁) in
- expr_let x20 := adc64 (x19₂, x2₂, x17₁) in
- expr_let x21 := adc64 (x20₂, x1₂, x18₁) in
- expr_let x22 := add64 (x1₁, x19₁) in
- expr_let x23 := adc64 (x22₂, x3₁, x20₁) in
- expr_let x24 := adc64 (x23₂, x3₂, x21₁) in
- expr_let x25 := add64 (x2₂, x22₁) in
- expr_let x26 := adc64 (x25₂, x4₂, x23₁) in
- expr_let x27 := adc64 (x26₂, x2₁, x24₁) in
- expr_let x28 := add64 (x3₁, x25₁) in
- expr_let x29 := adc64 (x28₂, x6₂, x26₁) in
- expr_let x30 := adc64 (x29₂, x4₁, x27₁) in
- expr_let x31 := add64 (x4₂, x28₁) in
- expr_let x32 := adc64 (x31₂, x5₁, x29₁) in
- expr_let x33 := adc64 (x32₂, x5₂, x30₁) in
- expr_let x34 := add64 (x6₂, x31₁) in
- expr_let x35 := adc64 (x34₂, x7₁, x32₁) in
- expr_let x36 := adc64 (x35₂, x6₁, x33₁) in
- x34₁ :: x35₁ :: x36₁ :: []
- : Expr (type.uncurry (type.list (type.type_primitive type.Z) -> type.list (type.type_primitive type.Z) -> type.list (type.type_primitive type.Z)))
-*)
-
-End P192_64.
-
-Module P192_32.
- Definition s := 2^192.
- Definition c := [(2^64, 1); (1,1)].
- Definition machine_wordsize := 32.
-
- Derive mulmod
- SuchThat (SaturatedSolinas.rmulmod_correctT s c machine_wordsize mulmod)
- As mulmod_correct.
- Proof. Time solve_rmulmod machine_wordsize. Time Qed.
-
- Import PrintingNotations.
- Open Scope expr_scope.
- Set Printing Width 100000.
- Set Printing Depth 100000.
-
- Local Notation "'mul32' '(' x ',' y ')'" :=
- (Z.cast2 (uint32, _)%core @@ (Z.mul_split_concrete 4294967296 @@ (x , y)))%expr (at level 50) : expr_scope.
- Local Notation "'add32' '(' x ',' y ')'" :=
- (Z.cast2 (uint32, bool)%core @@ (Z.add_get_carry_concrete 4294967296 @@ (x , y)))%expr (at level 50) : expr_scope.
- Local Notation "'adc32' '(' c ',' x ',' y ')'" :=
- (Z.cast2 (uint32, bool)%core @@ (Z.add_with_get_carry_concrete 4294967296 @@ (c, x , y)))%expr (at level 50) : expr_scope.
-
- Print mulmod.
- (*
-mulmod = fun var : type -> Type => λ x : var (type.list (type.type_primitive type.Z) * type.list (type.type_primitive type.Z))%ctype,
- expr_let x0 := mul32 ((uint32)(x₁[[5]]), (uint32)(x₂[[5]])) in
- expr_let x1 := mul32 ((uint32)(x₁[[5]]), (uint32)(x₂[[4]])) in
- expr_let x2 := mul32 ((uint32)(x₁[[5]]), (uint32)(x₂[[3]])) in
- expr_let x3 := mul32 ((uint32)(x₁[[5]]), (uint32)(x₂[[2]])) in
- expr_let x4 := mul32 ((uint32)(x₁[[5]]), (uint32)(x₂[[1]])) in
- expr_let x5 := mul32 ((uint32)(x₁[[5]]), (uint32)(x₂[[0]])) in
- expr_let x6 := mul32 ((uint32)(x₁[[4]]), (uint32)(x₂[[5]])) in
- expr_let x7 := mul32 ((uint32)(x₁[[4]]), (uint32)(x₂[[4]])) in
- expr_let x8 := mul32 ((uint32)(x₁[[4]]), (uint32)(x₂[[3]])) in
- expr_let x9 := mul32 ((uint32)(x₁[[4]]), (uint32)(x₂[[2]])) in
- expr_let x10 := mul32 ((uint32)(x₁[[4]]), (uint32)(x₂[[1]])) in
- expr_let x11 := mul32 ((uint32)(x₁[[4]]), (uint32)(x₂[[0]])) in
- expr_let x12 := mul32 ((uint32)(x₁[[3]]), (uint32)(x₂[[5]])) in
- expr_let x13 := mul32 ((uint32)(x₁[[3]]), (uint32)(x₂[[4]])) in
- expr_let x14 := mul32 ((uint32)(x₁[[3]]), (uint32)(x₂[[3]])) in
- expr_let x15 := mul32 ((uint32)(x₁[[3]]), (uint32)(x₂[[2]])) in
- expr_let x16 := mul32 ((uint32)(x₁[[3]]), (uint32)(x₂[[1]])) in
- expr_let x17 := mul32 ((uint32)(x₁[[3]]), (uint32)(x₂[[0]])) in
- expr_let x18 := mul32 ((uint32)(x₁[[2]]), (uint32)(x₂[[5]])) in
- expr_let x19 := mul32 ((uint32)(x₁[[2]]), (uint32)(x₂[[4]])) in
- expr_let x20 := mul32 ((uint32)(x₁[[2]]), (uint32)(x₂[[3]])) in
- expr_let x21 := mul32 ((uint32)(x₁[[2]]), (uint32)(x₂[[2]])) in
- expr_let x22 := mul32 ((uint32)(x₁[[2]]), (uint32)(x₂[[1]])) in
- expr_let x23 := mul32 ((uint32)(x₁[[2]]), (uint32)(x₂[[0]])) in
- expr_let x24 := mul32 ((uint32)(x₁[[1]]), (uint32)(x₂[[5]])) in
- expr_let x25 := mul32 ((uint32)(x₁[[1]]), (uint32)(x₂[[4]])) in
- expr_let x26 := mul32 ((uint32)(x₁[[1]]), (uint32)(x₂[[3]])) in
- expr_let x27 := mul32 ((uint32)(x₁[[1]]), (uint32)(x₂[[2]])) in
- expr_let x28 := mul32 ((uint32)(x₁[[1]]), (uint32)(x₂[[1]])) in
- expr_let x29 := mul32 ((uint32)(x₁[[1]]), (uint32)(x₂[[0]])) in
- expr_let x30 := mul32 ((uint32)(x₁[[0]]), (uint32)(x₂[[5]])) in
- expr_let x31 := mul32 ((uint32)(x₁[[0]]), (uint32)(x₂[[4]])) in
- expr_let x32 := mul32 ((uint32)(x₁[[0]]), (uint32)(x₂[[3]])) in
- expr_let x33 := mul32 ((uint32)(x₁[[0]]), (uint32)(x₂[[2]])) in
- expr_let x34 := mul32 ((uint32)(x₁[[0]]), (uint32)(x₂[[1]])) in
- expr_let x35 := mul32 ((uint32)(x₁[[0]]), (uint32)(x₂[[0]])) in
- expr_let x36 := add32 (x0₁, x34₂) in
- expr_let x37 := adc32 (x36₂, 0, x33₂) in
- expr_let x38 := adc32 (x37₂, 0, x32₂) in
- expr_let x39 := adc32 (x38₂, 0, x31₂) in
- expr_let x40 := add32 (x1₂, x36₁) in
- expr_let x41 := adc32 (x40₂, 0, x37₁) in
- expr_let x42 := adc32 (x41₂, 0, x38₁) in
- expr_let x43 := adc32 (x42₂, 0, x39₁) in
- expr_let x44 := add32 (x6₂, x40₁) in
- expr_let x45 := adc32 (x44₂, 0, x41₁) in
- expr_let x46 := adc32 (x45₂, 0, x42₁) in
- expr_let x47 := adc32 (x46₂, 0, x43₁) in
- expr_let x48 := add32 (x2₁, x44₁) in
- expr_let x49 := adc32 (x48₂, 0, x45₁) in
- expr_let x50 := adc32 (x49₂, 0, x46₁) in
- expr_let x51 := adc32 (x50₂, 0, x47₁) in
- expr_let x52 := add32 (x3₂, x48₁) in
- expr_let x53 := adc32 (x52₂, x0₂, x49₁) in
- expr_let x54 := adc32 (x53₂, 0, x50₁) in
- expr_let x55 := adc32 (x54₂, 0, x51₁) in
- expr_let x56 := add32 (x7₁, x52₁) in
- expr_let x57 := adc32 (x56₂, x1₁, x53₁) in
- expr_let x58 := adc32 (x57₂, 0, x54₁) in
- expr_let x59 := adc32 (x58₂, 0, x55₁) in
- expr_let x60 := add32 (x8₂, x56₁) in
- expr_let x61 := adc32 (x60₂, x2₂, x57₁) in
- expr_let x62 := adc32 (x61₂, 0, x58₁) in
- expr_let x63 := adc32 (x62₂, 0, x59₁) in
- expr_let x64 := add32 (x12₁, x60₁) in
- expr_let x65 := adc32 (x64₂, x6₁, x61₁) in
- expr_let x66 := adc32 (x65₂, x0₁, x62₁) in
- expr_let x67 := adc32 (x66₂, 0, x63₁) in
- expr_let x68 := add32 (x13₂, x64₁) in
- expr_let x69 := adc32 (x68₂, x7₂, x65₁) in
- expr_let x70 := adc32 (x69₂, x1₂, x66₁) in
- expr_let x71 := adc32 (x70₂, 0, x67₁) in
- expr_let x72 := add32 (x18₂, x68₁) in
- expr_let x73 := adc32 (x72₂, x12₂, x69₁) in
- expr_let x74 := adc32 (x73₂, x6₂, x70₁) in
- expr_let x75 := adc32 (x74₂, x0₂, x71₁) in
- expr_let x76 := add32 (x4₁, x72₁) in
- expr_let x77 := adc32 (x76₂, x3₁, x73₁) in
- expr_let x78 := adc32 (x77₂, x2₁, x74₁) in
- expr_let x79 := adc32 (x78₂, x1₁, x75₁) in
- expr_let x80 := add32 (x0₁, x35₁) in
- expr_let x81 := adc32 (x80₂, 0, x35₂) in
- expr_let x82 := adc32 (x81₂, x5₂, x76₁) in
- expr_let x83 := adc32 (x82₂, x4₂, x77₁) in
- expr_let x84 := adc32 (x83₂, x3₂, x78₁) in
- expr_let x85 := adc32 (x84₂, x2₂, x79₁) in
- expr_let x86 := add32 (x1₂, x80₁) in
- expr_let x87 := adc32 (x86₂, 0, x81₁) in
- expr_let x88 := adc32 (x87₂, x9₁, x82₁) in
- expr_let x89 := adc32 (x88₂, x8₁, x83₁) in
- expr_let x90 := adc32 (x89₂, x7₁, x84₁) in
- expr_let x91 := adc32 (x90₂, x6₁, x85₁) in
- expr_let x92 := add32 (x6₂, x86₁) in
- expr_let x93 := adc32 (x92₂, x0₂, x87₁) in
- expr_let x94 := adc32 (x93₂, x10₂, x88₁) in
- expr_let x95 := adc32 (x94₂, x9₂, x89₁) in
- expr_let x96 := adc32 (x95₂, x8₂, x90₁) in
- expr_let x97 := adc32 (x96₂, x7₂, x91₁) in
- expr_let x98 := add32 (x4₁, x92₁) in
- expr_let x99 := adc32 (x98₂, x3₁, x93₁) in
- expr_let x100 := adc32 (x99₂, x14₁, x94₁) in
- expr_let x101 := adc32 (x100₂, x13₁, x95₁) in
- expr_let x102 := adc32 (x101₂, x12₁, x96₁) in
- expr_let x103 := adc32 (x102₂, x12₂, x97₁) in
- expr_let x104 := add32 (x5₂, x98₁) in
- expr_let x105 := adc32 (x104₂, x4₂, x99₁) in
- expr_let x106 := adc32 (x105₂, x15₂, x100₁) in
- expr_let x107 := adc32 (x106₂, x14₂, x101₁) in
- expr_let x108 := adc32 (x107₂, x13₂, x102₁) in
- expr_let x109 := adc32 (x108₂, x5₁, x103₁) in
- expr_let x110 := add32 (x9₁, x104₁) in
- expr_let x111 := adc32 (x110₂, x8₁, x105₁) in
- expr_let x112 := adc32 (x111₂, x19₁, x106₁) in
- expr_let x113 := adc32 (x112₂, x18₁, x107₁) in
- expr_let x114 := adc32 (x113₂, x18₂, x108₁) in
- expr_let x115 := adc32 (x114₂, x10₁, x109₁) in
- expr_let x116 := add32 (x10₂, x110₁) in
- expr_let x117 := adc32 (x116₂, x9₂, x111₁) in
- expr_let x118 := adc32 (x117₂, x20₂, x112₁) in
- expr_let x119 := adc32 (x118₂, x19₂, x113₁) in
- expr_let x120 := adc32 (x119₂, x11₁, x114₁) in
- expr_let x121 := adc32 (x120₂, x11₂, x115₁) in
- expr_let x122 := add32 (x14₁, x116₁) in
- expr_let x123 := adc32 (x122₂, x13₁, x117₁) in
- expr_let x124 := adc32 (x123₂, x24₁, x118₁) in
- expr_let x125 := adc32 (x124₂, x24₂, x119₁) in
- expr_let x126 := adc32 (x125₂, x16₁, x120₁) in
- expr_let x127 := adc32 (x126₂, x15₁, x121₁) in
- expr_let x128 := add32 (x15₂, x122₁) in
- expr_let x129 := adc32 (x128₂, x14₂, x123₁) in
- expr_let x130 := adc32 (x129₂, x25₂, x124₁) in
- expr_let x131 := adc32 (x130₂, x17₁, x125₁) in
- expr_let x132 := adc32 (x131₂, x17₂, x126₁) in
- expr_let x133 := adc32 (x132₂, x16₂, x127₁) in
- expr_let x134 := add32 (x19₁, x128₁) in
- expr_let x135 := adc32 (x134₂, x18₁, x129₁) in
- expr_let x136 := adc32 (x135₂, x30₂, x130₁) in
- expr_let x137 := adc32 (x136₂, x22₁, x131₁) in
- expr_let x138 := adc32 (x137₂, x21₁, x132₁) in
- expr_let x139 := adc32 (x138₂, x20₁, x133₁) in
- expr_let x140 := add32 (x20₂, x134₁) in
- expr_let x141 := adc32 (x140₂, x19₂, x135₁) in
- expr_let x142 := adc32 (x141₂, x23₁, x136₁) in
- expr_let x143 := adc32 (x142₂, x23₂, x137₁) in
- expr_let x144 := adc32 (x143₂, x22₂, x138₁) in
- expr_let x145 := adc32 (x144₂, x21₂, x139₁) in
- expr_let x146 := add32 (x24₁, x140₁) in
- expr_let x147 := adc32 (x146₂, x24₂, x141₁) in
- expr_let x148 := adc32 (x147₂, x28₁, x142₁) in
- expr_let x149 := adc32 (x148₂, x27₁, x143₁) in
- expr_let x150 := adc32 (x149₂, x26₁, x144₁) in
- expr_let x151 := adc32 (x150₂, x25₁, x145₁) in
- expr_let x152 := add32 (x25₂, x146₁) in
- expr_let x153 := adc32 (x152₂, x29₁, x147₁) in
- expr_let x154 := adc32 (x153₂, x29₂, x148₁) in
- expr_let x155 := adc32 (x154₂, x28₂, x149₁) in
- expr_let x156 := adc32 (x155₂, x27₂, x150₁) in
- expr_let x157 := adc32 (x156₂, x26₂, x151₁) in
- expr_let x158 := add32 (x30₂, x152₁) in
- expr_let x159 := adc32 (x158₂, x34₁, x153₁) in
- expr_let x160 := adc32 (x159₂, x33₁, x154₁) in
- expr_let x161 := adc32 (x160₂, x32₁, x155₁) in
- expr_let x162 := adc32 (x161₂, x31₁, x156₁) in
- expr_let x163 := adc32 (x162₂, x30₁, x157₁) in
- x158₁ :: x159₁ :: x160₁ :: x161₁ :: x162₁ :: x163₁ :: []
- : Expr (type.uncurry (type.list (type.type_primitive type.Z) -> type.list (type.type_primitive type.Z) -> type.list (type.type_primitive type.Z)))
-*)
-
-End P192_32.
-
-(* TODO : Too slow! Many, many terms in this one. *)
-(*
-Module P256_32.
- Definition s := 2^256.
- Definition c := [(2^224, 1); (2^192, -1); (2^96, -1); (1,1)].
- Definition machine_wordsize := 32.
-
- Derive mulmod
- SuchThat (SaturatedSolinas.rmulmod_correctT s c machine_wordsize mulmod)
- As mulmod_correct.
- Proof. Time solve_rmulmod machine_wordsize. Time Qed.
-
- Import PrintingNotations.
- Open Scope expr_scope.
- Set Printing Width 100000.
-
- Print mulmod.
-
-End P256_32.
-*)
-
-Module MontgomeryReduction.
- Section MontRed'.
- Context (N R N' R' : Z).
- Context (HN_range : 0 <= N < R) (HN'_range : 0 <= N' < R) (HN_nz : N <> 0) (R_gt_1 : R > 1)
- (N'_good : Z.equiv_modulo R (N*N') (-1)) (R'_good: Z.equiv_modulo N (R*R') 1).
-
- Context (Zlog2R : Z) .
- Let w : nat -> Z := weight Zlog2R 1.
- Context (n:nat) (Hn_nz: n <> 0%nat) (n_good : Zlog2R mod Z.of_nat n = 0).
- Context (R_big_enough : n <= Zlog2R)
- (R_two_pow : 2^Zlog2R = R).
- Let w_mul : nat -> Z := weight (Zlog2R / n) 1.
- Context (nout : nat) (Hnout : nout = 2%nat).
-
- Definition montred' (lo_hi : (Z * Z)) :=
- dlet_nd y := nth_default 0 (BaseConversion.widemul_inlined Zlog2R n nout (fst lo_hi) N') 0 in
- dlet_nd t1_t2 := (BaseConversion.widemul_inlined_reverse Zlog2R n nout N y) in
- dlet_nd sum_carry := Rows.add (weight Zlog2R 1) 2 [fst lo_hi; snd lo_hi] t1_t2 in
- dlet_nd y' := Z.zselect (snd sum_carry) 0 N in
- dlet_nd lo''_carry := Z.sub_get_borrow_full R (nth_default 0 (fst sum_carry) 1) y' in
- Z.add_modulo (fst lo''_carry) 0 N.
-
- Local Lemma Hw : forall i, w i = R ^ Z.of_nat i.
- Proof.
- clear -R_big_enough R_two_pow; cbv [w weight]; intro.
- autorewrite with zsimplify.
- rewrite Z.pow_mul_r, R_two_pow by omega; reflexivity.
- Qed.
-
- Local Ltac change_weight := rewrite !Hw, ?Z.pow_0_r, ?Z.pow_1_r, ?Z.pow_2_r, ?Z.pow_1_l in *.
- Local Ltac solve_range :=
- repeat match goal with
- | _ => progress change_weight
- | |- context [?a mod ?b] => unique pose proof (Z.mod_pos_bound a b ltac:(omega))
- | |- 0 <= _ => progress Z.zero_bounds
- | |- 0 <= _ * _ < _ * _ =>
- split; [ solve [Z.zero_bounds] | apply Z.mul_lt_mono_nonneg; omega ]
- | _ => solve [auto]
- | _ => omega
- end.
-
- Local Lemma eval2 x y : eval w 2 [x;y] = x + R * y.
- Proof. cbn. change_weight. ring. Qed.
-
- Hint Rewrite BaseConversion.widemul_inlined_reverse_correct BaseConversion.widemul_inlined_correct
- using (autorewrite with widemul push_nth_default; solve [solve_range]) : widemul.
-
- Lemma montred'_eq lo_hi T (HT_range: 0 <= T < R * N)
- (Hlo: fst lo_hi = T mod R) (Hhi: snd lo_hi = T / R):
- montred' lo_hi = reduce_via_partial N R N' T.
- Proof.
- rewrite <-reduce_via_partial_alt_eq by nia.
- cbv [montred' partial_reduce_alt reduce_via_partial_alt prereduce Let_In].
- rewrite Hlo, Hhi.
- assert (0 <= (T mod R) * N' < w 2) by (solve_range).
-
- autorewrite with widemul.
- rewrite Rows.add_partitions, Rows.add_div by (distr_length; apply wprops; omega).
- rewrite R_two_pow.
- cbv [Rows.partition seq]. rewrite !eval2.
- autorewrite with push_nth_default push_map.
- autorewrite with to_div_mod. rewrite ?Z.zselect_correct, ?Z.add_modulo_correct.
- change_weight.
-
- (* pull out value before last modular reduction *)
- match goal with |- (if (?n <=? ?x)%Z then ?x - ?n else ?x) = (if (?n <=? ?y) then ?y - ?n else ?y)%Z =>
- let P := fresh "H" in assert (x = y) as P; [|rewrite P; reflexivity] end.
-
- autorewrite with zsimplify.
- rewrite (Z.mul_comm (((T mod R) * N') mod R) N) in *.
- break_match; try reflexivity; Z.ltb_to_lt; rewrite Z.div_small_iff in * by omega;
- repeat match goal with
- | _ => progress autorewrite with zsimplify_fast
- | |- context [?x mod (R * R)] =>
- unique pose proof (Z.mod_pos_bound x (R * R));
- try rewrite (Z.mod_small x (R * R)) in * by Z.rewrite_mod_small_solver
- | _ => omega
- | _ => progress Z.rewrite_mod_small
- end.
- Qed.
-
- Lemma montred'_correct lo_hi T (HT_range: 0 <= T < R * N)
- (Hlo: fst lo_hi = T mod R) (Hhi: snd lo_hi = T / R): montred' lo_hi = (T * R') mod N.
- Proof.
- erewrite montred'_eq by eauto.
- apply Z.equiv_modulo_mod_small; auto using reduce_via_partial_correct.
- replace 0 with (Z.min 0 (R-N)) by (apply Z.min_l; omega).
- apply reduce_via_partial_in_range; omega.
- Qed.
- End MontRed'.
-
- Derive montred_gen
- SuchThat (forall (N R N' : Z)
- (Zlog2R : Z)
- (n nout: nat)
- (lo_hi : Z * Z),
- Interp (t:=type.reify_type_of montred')
- montred_gen N R N' Zlog2R n nout lo_hi
- = montred' N R N' Zlog2R n nout lo_hi)
- As montred_gen_correct.
- Proof. Time cache_reify (). exact admit. (* correctness of initial parts of the pipeline *) Time Qed.
- Module Export ReifyHints.
- Global Hint Extern 1 (_ = montred' _ _ _ _ _ _ _) => simple apply montred_gen_correct : reify_gen_cache.
- End ReifyHints.
-
- Section rmontred.
- Context (N R N' : Z)
- (machine_wordsize : Z).
-
- Let bound := Some r[0 ~> (2^machine_wordsize - 1)%Z]%zrange.
-
- Definition relax_zrange_of_machine_wordsize
- := relax_zrange_gen [1; machine_wordsize / 2; machine_wordsize; 2 * machine_wordsize]%Z.
- Local Arguments relax_zrange_of_machine_wordsize / .
-
- Let relax_zrange := relax_zrange_of_machine_wordsize.
-
- Definition check_args {T} (res : Pipeline.ErrorT T)
- : Pipeline.ErrorT T
- := res. (* TODO: this should actually check stuff that corresponds with preconditions of montred'_correct *)
-
- Notation BoundsPipeline_correct in_bounds out_bounds op
- := (fun rv (rop : Expr (type.reify_type_of op)) Hrop
- => @Pipeline.BoundsPipeline_correct_trans
- false (* subst01 *)
- relax_zrange
- (relax_zrange_gen_good _)
- _
- rop
- in_bounds
- out_bounds
- op
- Hrop rv)
- (only parsing).
-
- Definition rmontred_correct
- := BoundsPipeline_correct
- (bound, bound)
- bound
- (montred' N R N' (Z.log2 R) 2 2).
-
- Notation type_of_strip_3arrow := ((fun (d : Prop) (_ : forall A B C, d) => d) _).
- Definition rmontred_correctT rv : Prop
- := type_of_strip_3arrow (@rmontred_correct rv).
- End rmontred.
-End MontgomeryReduction.
-
-Ltac solve_rmontred := solve_rop MontgomeryReduction.rmontred_correct.
-Ltac solve_rmontred_nocache := solve_rop_nocache MontgomeryReduction.rmontred_correct.
-
-Module Montgomery256.
-
- Definition N := Eval lazy in (2^256-2^224+2^192+2^96-1).
- Definition N':= (115792089210356248768974548684794254293921932838497980611635986753331132366849).
- Definition R := Eval lazy in (2^256).
- Definition R' := 115792089183396302114378112356516095823261736990586219612555396166510339686400.
- Definition machine_wordsize := 256.
-
- Derive montred256
- SuchThat (MontgomeryReduction.rmontred_correctT N R N' machine_wordsize montred256)
- As montred256_correct.
- Proof. Time solve_rmontred machine_wordsize. Time Qed.
-
- Definition montred256_prefancy' := PreFancy.of_Expr machine_wordsize [N;N'] montred256.
-
- Derive montred256_prefancy
- SuchThat (montred256_prefancy = montred256_prefancy' type.interp)
- As montred256_prefancy_eq.
- Proof. lazy - [type.interp]; reflexivity. Qed.
-
-
- Lemma montred'_correct_specialized R' (R'_correct : Z.equiv_modulo N (R * R') 1) :
- forall (lo hi : Z),
- 0 <= lo < R -> 0 <= hi < R -> 0 <= lo + R * hi < R * N ->
- MontgomeryReduction.montred' N R N' (Z.log2 R) 2 2 (lo, hi) = ((lo + R * hi) * R') mod N.
- Proof.
- intros.
- apply MontgomeryReduction.montred'_correct with (T:=lo + R * hi) (R':=R');
- try match goal with
- | |- context[R'] => assumption
- | |- context [lo] =>
- try assumption; progress autorewrite with zsimplify cancel_pair; reflexivity
- end; lazy; try split; congruence.
- Qed.
-
- (* Note: If this is not factored out, then for some reason Qed takes forever in montred256_correct_full. *)
- Lemma montred256_correct_proj2 :
- forall xy : type.interp (type.prod type.Z type.Z),
- ZRange.type.option.is_bounded_by
- (t:=type.prod type.Z type.Z)
- (Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange, Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange)
- xy = true ->
- expr.Interp (@ident.interp) montred256 xy = app_curried (t:=type.arrow (type.prod type.Z type.Z) type.Z) (MontgomeryReduction.montred' N R N' (Z.log2 R) 2 2) xy.
- Proof. intros; destruct (montred256_correct xy); assumption. Qed.
- Lemma montred256_correct_proj2' :
- forall xy : type.interp (type.prod type.Z type.Z),
- ZRange.type.option.is_bounded_by
- (t:=type.prod type.Z type.Z)
- (Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange, Some r[0 ~> 2 ^ machine_wordsize - 1]%zrange)
- xy = true ->
- expr.Interp (@ident.interp) montred256 xy = MontgomeryReduction.montred' N R N' (Z.log2 R) 2 2 xy.
- Proof. intros; rewrite montred256_correct_proj2 by assumption; unfold app_curried; exact eq_refl. Qed.
-
- Lemma montred256_correct_full R' (R'_correct : Z.equiv_modulo N (R * R') 1) :
- forall (lo hi : Z),
- 0 <= lo < R -> 0 <= hi < R -> 0 <= lo + R * hi < R * N ->
- expr.interp (@ident.interp) (montred256 type.interp) (lo, hi) = ((lo + R * hi) * R') mod N.
- Proof.
- intros.
- rewrite <-montred'_correct_specialized by assumption.
- rewrite <-montred256_correct_proj2'.
- { cbv [expr.Interp type.uncurried_domain type.uncurry type.final_codomain].
- reflexivity. }
- { cbn. rewrite !andb_true_iff. cbv [R N] in *.
- repeat split; apply Z.leb_le; omega. }
- Qed.
-
- (* TODO : maybe move these ok_expr tactics somewhere else *)
- Ltac ok_expr_step' :=
- match goal with
- | _ => assumption
- | |- _ <= _ <= _ \/ @eq zrange _ _ =>
- right; lazy; try split; congruence
- | |- _ <= _ <= _ \/ @eq zrange _ _ =>
- left; lazy; try split; congruence
- | |- lower r[0~>_]%zrange = 0 => reflexivity
- | |- context [PreFancy.ok_ident] => constructor
- | |- context [PreFancy.ok_scalar] => constructor; try omega
- | |- context [PreFancy.is_halved] => eapply PreFancy.is_halved_constant; [lazy; reflexivity | ]
- | |- context [PreFancy.is_halved] => constructor
- | |- context [PreFancy.in_word_range] => lazy; reflexivity
- | |- context [PreFancy.in_flag_range] => lazy; reflexivity
- | |- context [PreFancy.get_range] =>
- cbn [PreFancy.get_range lower upper fst snd ZRange.map]
- | x : type.interp (type.prod _ _) |- _ => destruct x
- | |- (_ <=? _)%zrange = true =>
- match goal with
- | |- context [PreFancy.get_range_var] =>
- cbv [is_tighter_than_bool PreFancy.has_range fst snd upper lower R N] in *; cbn;
- apply andb_true_iff; split; apply Z.leb_le
- | _ => lazy
- end; omega || reflexivity
- | |- @eq zrange _ _ => lazy; reflexivity
- | |- _ <= _ => cbv [machine_wordsize]; omega
- | |- _ <= _ <= _ => cbv [machine_wordsize]; omega
- end; intros.
-
- (* TODO : maybe move these ok_expr tactics somewhere else *)
- Ltac ok_expr_step :=
- match goal with
- | |- context [PreFancy.ok_expr] => constructor; cbn [fst snd]; repeat ok_expr_step'
- end; intros; cbn [Nat.max].
-
- Lemma montred256_prefancy_correct :
- forall (lo hi : Z) dummy_arrow,
- 0 <= lo < R -> 0 <= hi < R -> 0 <= lo + R * hi < R * N ->
- @PreFancy.interp machine_wordsize (PreFancy.interp_cast_mod machine_wordsize) type.Z (montred256_prefancy (lo,hi) dummy_arrow) = ((lo + R * hi) * R') mod N.
- Proof.
- intros. rewrite montred256_prefancy_eq; cbv [montred256_prefancy'].
- erewrite PreFancy.of_Expr_correct.
- { apply montred256_correct_full; try assumption; reflexivity. }
- { reflexivity. }
- { lazy; reflexivity. }
- { lazy; reflexivity. }
- { repeat constructor. }
- { cbv [In N N']; intros; intuition; subst; cbv; congruence. }
- { assert (340282366920938463463374607431768211455 * 2 ^ 128 <= 2 ^ machine_wordsize - 1) as shiftl_128_ok by (lazy; congruence).
- repeat (ok_expr_step; [ ]).
- ok_expr_step.
- lazy; congruence.
- constructor.
- constructor. }
- { lazy. omega. }
- Qed.
-
- Definition montred256_fancy' (lo hi RegMod RegPInv RegZero error : positive) :=
- Fancy.of_Expr 3%positive
- (fun z => if z =? N then Some RegMod else if z =? N' then Some RegPInv else if z =? 0 then Some RegZero else None)
- [N;N']
- montred256
- (lo, hi)%positive
- (fun _ _ => tt)
- error.
- Derive montred256_fancy
- SuchThat (forall RegMod RegPInv RegZero,
- montred256_fancy RegMod RegPInv RegZero = montred256_fancy' RegMod RegPInv RegZero)
- As montred256_fancy_eq.
- Proof.
- intros.
- lazy - [Fancy.ADD Fancy.ADDC Fancy.SUB
- Fancy.MUL128LL Fancy.MUL128LU Fancy.MUL128UL Fancy.MUL128UU
- Fancy.RSHI Fancy.SELC Fancy.SELM Fancy.SELL Fancy.ADDM].
- reflexivity.
- Qed.
-
- Import Fancy.Registers.
-
- Definition montred256_alloc' lo hi RegPInv :=
- fun errorP errorR =>
- Fancy.allocate register
- positive Pos.eqb
- errorR
- (montred256_fancy 1000%positive 1001%positive 1002%positive 1003%positive 1004%positive errorP)
- [r2;r3;r4;r5;r6;r7;r8;r9;r10;r11;r12;r13;r14;r15;r16;r17;r18;r19;r20]
- (fun n => if n =? 1000 then lo
- else if n =? 1001 then hi
- else if n =? 1002 then RegMod
- else if n =? 1003 then RegPInv
- else if n =? 1004 then RegZero
- else errorR).
- Derive montred256_alloc
- SuchThat (montred256_alloc = montred256_alloc')
- As montred256_alloc_eq.
- Proof.
- intros.
- cbv [montred256_alloc' montred256_fancy].
- cbn. subst montred256_alloc.
- reflexivity.
- Qed.
-
- Import ProdEquiv.
-
- Local Ltac solve_bounds :=
- match goal with
- | H : ?a = ?b mod ?c |- 0 <= ?a < ?c => rewrite H; apply Z.mod_pos_bound; omega
- | _ => assumption
- end.
-
- Lemma montred256_alloc_equivalent errorP errorR cc_start_state start_context :
- forall lo hi y t1 t2 scratch RegPInv extra_reg,
- NoDup [lo; hi; y; t1; t2; scratch; RegPInv; extra_reg; RegMod; RegZero] ->
- 0 <= start_context lo < R ->
- 0 <= start_context hi < R ->
- 0 <= start_context RegPInv < R ->
- ProdEquiv.interp256 (montred256_alloc r0 r1 r30 errorP errorR) cc_start_state
- (fun r => if reg_eqb r r0
- then start_context lo
- else if reg_eqb r r1
- then start_context hi
- else if reg_eqb r r30
- then start_context RegPInv
- else start_context r)
- = ProdEquiv.interp256 (Prod.MontRed256 lo hi y t1 t2 scratch RegPInv) cc_start_state start_context.
- Proof.
- intros. cbv [R] in *.
- cbv [Prod.MontRed256 montred256_alloc].
-
- (* Extract proofs that no registers are equal to each other *)
- repeat match goal with
- | H : NoDup _ |- _ => inversion H; subst; clear H
- | H : ~ In _ _ |- _ => cbv [In] in H
- | H : ~ (_ \/ _) |- _ => apply Decidable.not_or in H; destruct H
- | H : ~ False |- _ => clear H
- end.
-
- rewrite ProdEquiv.interp_Mul256 with (tmp2:=extra_reg) by (congruence || push_value_unused).
-
- step_both_sides.
- step_both_sides.
- rewrite mulll_comm. step_both_sides.
- step_both_sides.
- step_both_sides.
-
- rewrite ProdEquiv.interp_Mul256x256 with (tmp2:=extra_reg) by (congruence || push_value_unused).
-
- rewrite mulll_comm. step_both_sides.
- step_both_sides.
- step_both_sides.
- rewrite mulhh_comm. step_both_sides.
- step_both_sides.
- step_both_sides.
- step_both_sides.
- step_both_sides.
-
-
- rewrite add_comm by (cbn; solve_bounds). step_both_sides.
- rewrite addc_comm by (cbn; solve_bounds). step_both_sides.
- step_both_sides.
- step_both_sides.
- step_both_sides.
-
- cbn; repeat progress rewrite ?reg_eqb_neq, ?reg_eqb_refl by congruence.
- reflexivity.
- Qed.
-
- Import Fancy_PreFancy_Equiv.
-
- Definition interp_equivZZ_256 {s} :=
- @interp_equivZZ s 256 ltac:(cbv; congruence) 115792089237316195423570985008687907853269984665640564039457584007913129639935 ltac:(reflexivity).
- Definition interp_equivZ_256 {s} :=
- @interp_equivZ s 256 115792089237316195423570985008687907853269984665640564039457584007913129639935 ltac:(reflexivity).
-
- Local Ltac simplify_op_equiv start_ctx :=
- cbn - [Fancy.spec PreFancy.interp_ident Fancy.cc_spec];
- repeat match goal with H : start_ctx _ = _ |- _ => rewrite H end;
- cbv - [
- Z.add_with_get_carry_full
- Z.add_get_carry_full Z.sub_get_borrow_full
- Z.le Z.ltb Z.leb Z.geb Z.eqb Z.land Z.shiftr Z.shiftl
- Z.add Z.mul Z.div Z.sub Z.modulo Z.testbit Z.pow Z.ones
- fst snd]; cbn [fst snd];
- try (replace (2 ^ (256 / 2) - 1) with (Z.ones 128) by reflexivity; rewrite !Z.land_ones by omega);
- autorewrite with to_div_mod; rewrite ?Z.mod_mod, <-?Z.testbit_spec' by omega;
- repeat match goal with
- | H : 0 <= ?x < ?m |- context [?x mod ?m] => rewrite (Z.mod_small x m) by apply H
- | |- context [?x <? 0] => rewrite (proj2 (Z.ltb_ge x 0)) by (break_match; Z.zero_bounds)
- | _ => rewrite Z.mod_small with (b:=2) by (break_match; omega)
- | |- context [ (if Z.testbit ?a ?n then 1 else 0) + ?b + ?c] =>
- replace ((if Z.testbit a n then 1 else 0) + b + c) with (b + c + (if Z.testbit a n then 1 else 0)) by ring
- end.
-
- Local Ltac solve_nonneg ctx :=
- match goal with x := (Fancy.spec _ _ _) |- _ => subst x end;
- simplify_op_equiv ctx; Z.zero_bounds.
-
- Local Ltac generalize_result :=
- let v := fresh "v" in intro v; generalize v; clear v; intro v.
-
- Local Ltac generalize_result_nonneg ctx :=
- let v := fresh "v" in
- let v_nonneg := fresh "v_nonneg" in
- intro v; assert (0 <= v) as v_nonneg; [solve_nonneg ctx |generalize v v_nonneg; clear v v_nonneg; intros v v_nonneg].
-
- Local Ltac step ctx :=
- match goal with
- | |- Fancy.interp _ _ _ (Fancy.Instr (Fancy.ADD _) _ _ (Fancy.Instr (Fancy.ADDC _) _ _ _)) _ _ = _ =>
- apply interp_equivZZ_256; [ simplify_op_equiv ctx | simplify_op_equiv ctx | generalize_result_nonneg ctx]
- | _ => apply interp_equivZ_256; [simplify_op_equiv ctx | generalize_result]
- | _ => apply interp_equivZZ_256; [ simplify_op_equiv ctx | simplify_op_equiv ctx | generalize_result]
- end.
-
- Lemma prod_montred256_correct :
- forall (cc_start_state : Fancy.CC.state) (* starting carry flags can be anything *)
- (start_context : register -> Z) (* starting register values *)
- (lo hi y t1 t2 scratch RegPInv extra_reg : register), (* registers to use in computation *)
- NoDup [lo; hi; y; t1; t2; scratch; RegPInv; extra_reg; RegMod; RegZero] -> (* registers must be distinct *)
- start_context RegPInv = N' -> (* RegPInv needs to hold the inverse of the modulus *)
- start_context RegMod = N -> (* RegMod needs to hold the modulus *)
- start_context RegZero = 0 -> (* RegZero needs to hold zero *)
- (0 <= start_context lo < R) -> (* low half of the input is in bounds (R=2^256) *)
- (0 <= start_context hi < R) -> (* high half of the input is in bounds (R=2^256) *)
- let x := (start_context lo) + R * (start_context hi) in (* x is the input (split into two registers) *)
- (0 <= x < R * N) -> (* input precondition *)
- (ProdEquiv.interp256 (Prod.MontRed256 lo hi y t1 t2 scratch RegPInv) cc_start_state start_context = (x * R') mod N).
- Proof.
- intros. subst x. cbv [N R N'] in *.
- rewrite <-montred256_prefancy_correct with (dummy_arrow := fun s d _ => DefaultValue.type.default) by auto.
- rewrite <-montred256_alloc_equivalent with (errorR := RegZero) (errorP := 1%positive) (extra_reg:=extra_reg)
- by (cbv [R]; auto with omega).
- cbv [ProdEquiv.interp256].
- cbv [montred256_alloc montred256_prefancy].
-
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
-
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ reflexivity | reflexivity | ].
- step start_context; [ break_innermost_match; Z.ltb_to_lt; omega | ].
- step start_context; [ reflexivity | | ].
- {
- let r := eval cbv in (2^256) in replace (2^256) with r by reflexivity.
- rewrite !Z.shiftl_0_r, !Z.mod_mod by omega.
- repeat match goal with
- | |- context [?a mod ?b] => unique pose proof (Z.mod_pos_bound a b ltac:(omega))
- end.
- apply Z.testbit_neg_eq_if;
- let r := eval cbv in (2^256) in replace (2^256) with r by reflexivity;
- omega. }
- step start_context; [ break_innermost_match; Z.ltb_to_lt; omega | ].
- reflexivity.
- Qed.
-
- Import PrintingNotations.
- Set Printing Width 10000.
-
- Print montred256.
-(*
-montred256 = fun var : type -> Type => (λ x : var (type.type_primitive type.Z * type.type_primitive type.Z)%ctype,
- expr_let x0 := 79228162514264337593543950337 *₂₅₆ (uint128)(x₁ >> 128) in
- expr_let x1 := 340282366841710300986003757985643364352 *₂₅₆ ((uint128)(x₁) & 340282366920938463463374607431768211455) in
- expr_let x2 := 79228162514264337593543950337 *₂₅₆ ((uint128)(x₁) & 340282366920938463463374607431768211455) in
- expr_let x3 := ADD_256 ((uint256)(((uint128)(x1) & 340282366920938463463374607431768211455) << 128), x2) in
- expr_let x4 := ADD_256 ((uint256)(((uint128)(x0) & 340282366920938463463374607431768211455) << 128), x3₁) in
- expr_let x5 := 79228162514264337593543950335 *₂₅₆ ((uint128)(x4₁) & 340282366920938463463374607431768211455) in
- expr_let x6 := 79228162514264337593543950335 *₂₅₆ (uint128)(x4₁ >> 128) in
- expr_let x7 := 340282366841710300967557013911933812736 *₂₅₆ ((uint128)(x4₁) & 340282366920938463463374607431768211455) in
- expr_let x8 := 340282366841710300967557013911933812736 *₂₅₆ (uint128)(x4₁ >> 128) in
- expr_let x9 := ADD_256 ((uint256)(((uint128)(x7) & 340282366920938463463374607431768211455) << 128), x5) in
- expr_let x10 := ADDC_256 (x9₂, (uint128)(x7 >> 128), x8) in
- expr_let x11 := ADD_256 ((uint256)(((uint128)(x6) & 340282366920938463463374607431768211455) << 128), x9₁) in
- expr_let x12 := ADDC_256 (x11₂, (uint128)(x6 >> 128), x10₁) in
- expr_let x13 := ADD_256 (x11₁, x₁) in
- expr_let x14 := ADDC_256 (x13₂, x12₁, x₂) in
- expr_let x15 := SELC (x14₂, 0, 115792089210356248762697446949407573530086143415290314195533631308867097853951) in
- expr_let x16 := SUB_256 (x14₁, x15) in
- ADDM (x16₁, 0, 115792089210356248762697446949407573530086143415290314195533631308867097853951))%expr
- : Expr (type.uncurry (type.type_primitive type.Z * type.type_primitive type.Z -> type.type_primitive type.Z))
-*)
-
- Import PreFancy.
- Import PreFancy.Notations.
- Local Notation "'RegMod'" := (Straightline.expr.Primitive (t:=type.Z) 115792089210356248762697446949407573530086143415290314195533631308867097853951).
- Local Notation "'RegPInv'" := (Straightline.expr.Primitive (t:=type.Z) 115792089210356248768974548684794254293921932838497980611635986753331132366849).
- Print montred256_prefancy.
- (*
- mulhl@(y0, RegPInv, $x₁);
- mulll@(y1, RegPInv, $x₁);
- add@(y2, $y1, $y0, 128);
- add@(y3, $y2, $y, 128);
- mulll@(y4, RegMod, $y3);
- mullh@(y5, RegMod, $y3);
- mulhl@(y6, RegMod, $y3);
- mulhh@(y7, RegMod, $y3);
- add@(y8, $y4, $y6, 128);
- addc@(y9, carry{$y8}, $y7, $y6, -128);
- add@(y10, $y8, $y5, 128);
- addc@(y11, carry{$y10}, $y9, $y5, -128);
- add@(y12, $y10, $x₁, 0);
- addc@(y13, carry{$y12}, $y11, $x₂, 0);
- selc@(y14, carry{$y13}, RegZero, RegMod);
- sub@(y15, $y13, $y14, 0);
- addm@(y16, $y15, RegZero, RegMod);
- ret $y16
- *)
-
-End Montgomery256.
-
-Local Notation "i rd x y ; cont" := (Fancy.Instr i rd (x, y) cont) (at level 40, cont at level 200, format "i rd x y ; '//' cont").
-Local Notation "i rd x y z ; cont" := (Fancy.Instr i rd (x, y, z) cont) (at level 40, cont at level 200, format "i rd x y z ; '//' cont").
-
-Import Fancy.Registers.
-Import Fancy.
-
-Import Barrett256 Montgomery256.
-
-(*** Montgomery Reduction ***)
-
-(* Status: Code in final form is proven correct modulo admits in compiler portions. *)
-
-(* Montgomery Code : *)
-Eval cbv beta iota delta [Prod.MontRed256 Prod.Mul256 Prod.Mul256x256] in Prod.MontRed256.
-(*
- = fun lo hi y t1 t2 scratch RegPInv : register =>
- MUL128LL y lo RegPInv;
- MUL128UL t1 lo RegPInv;
- ADD 128 y y t1;
- MUL128LU t1 lo RegPInv;
- ADD 128 y y t1;
- MUL128LL t1 y RegMod;
- MUL128UU t2 y RegMod;
- MUL128UL scratch y RegMod;
- ADD 128 t1 t1 scratch;
- ADDC (-128) t2 t2 scratch;
- MUL128LU scratch y RegMod;
- ADD 128 t1 t1 scratch;
- ADDC (-128) t2 t2 scratch;
- ADD 0 lo lo t1;
- ADDC 0 hi hi t2;
- SELC y RegMod RegZero;
- SUB 0 lo hi y;
- ADDM lo lo RegZero RegMod;
- Ret lo
- *)
-
-(* Uncomment to see proof statement and remaining admitted statements,
-or search for "prod_montred256_correct" to see comments on the proof
-preconditions. *)
-(*
-Check Montgomery256.prod_montred256_correct.
-Print Assumptions Montgomery256.prod_montred256_correct.
-*)
-
-(*** Barrett Reduction ***)
-
-(* Status: Code is proven correct modulo admits in compiler
-portions. However, unlike for Montgomery, this code is not proven
-equivalent to the register-allocated and efficiently-scheduled
-reference (Prod.MulMod). This proof is currently admitted and would
-require either fiddling with code generation to make instructions come
-out in the right order or reasoning about which instructions
-commute. *)
-
-(* Barrett reference code: *)
-Eval cbv beta iota delta [Prod.MulMod Prod.Mul256x256] in Prod.MulMod.
-(*
- = fun x xHigh RegMuLow scratchp1 scratchp2 scratchp3 scratchp4 scratchp5 : register =>
- let q1Bottom256 := scratchp1 in
- let muSelect := scratchp2 in
- let q2 := scratchp3 in
- let q2High := scratchp4 in
- let q2High2 := scratchp5 in
- let q3 := scratchp1 in
- let r2 := scratchp2 in
- let r2High := scratchp3 in
- let maybeM := scratchp1 in
- SELM muSelect RegMuLow RegZero;
- RSHI 255 q1Bottom256 xHigh x;
- MUL128LL q2 q1Bottom256 RegMuLow;
- MUL128UU q2High q1Bottom256 RegMuLow;
- MUL128UL scratchp5 q1Bottom256 RegMuLow;
- ADD 128 q2 q2 scratchp5;
- ADDC (-128) q2High q2High scratchp5;
- MUL128LU scratchp5 q1Bottom256 RegMuLow;
- ADD 128 q2 q2 scratchp5;
- ADDC (-128) q2High q2High scratchp5;
- RSHI 255 q2High2 RegZero xHigh;
- ADD 0 q2High q2High q1Bottom256;
- ADDC 0 q2High2 q2High2 RegZero;
- ADD 0 q2High q2High muSelect;
- ADDC 0 q2High2 q2High2 RegZero;
- RSHI 1 q3 q2High2 q2High;
- MUL128LL r2 RegMod q3;
- MUL128UU r2High RegMod q3;
- MUL128UL scratchp4 RegMod q3;
- ADD 128 r2 r2 scratchp4;
- ADDC (-128) r2High r2High scratchp4;
- MUL128LU scratchp4 RegMod q3;
- ADD 128 r2 r2 scratchp4;
- ADDC (-128) r2High r2High scratchp4;
- SUB 0 muSelect x r2;
- SUBC 0 xHigh xHigh r2High;
- SELL maybeM RegMod RegZero;
- SUB 0 q3 muSelect maybeM;
- ADDM x q3 RegZero RegMod;
- Ret x
- *)
-
-(* Barrett generated code (equivalence with reference admitted) *)
-Eval cbv beta iota delta [barrett_red256_alloc] in barrett_red256_alloc.
-(*
- = fun (xLow xHigh RegMuLow : register) (_ : positive) (_ : register) =>
- SELM r2 RegMuLow RegZero;
- RSHI 255 r3 RegZero xHigh;
- RSHI 255 r4 xHigh xLow;
- MUL128UU r5 RegMuLow r4;
- MUL128UL r6 r4 RegMuLow;
- MUL128LU r7 r4 RegMuLow;
- MUL128LL r8 RegMuLow r4;
- ADD 128 r9 r8 r7;
- ADDC (-128) r10 r5 r7;
- ADD 128 r5 r9 r6;
- ADDC (-128) r11 r10 r6;
- ADD 0 r6 r4 r11;
- ADDC 0 r12 RegZero r3;
- ADD 0 r13 r2 r6;
- ADDC 0 r14 RegZero r12;
- RSHI 1 r15 r14 r13;
- MUL128UU r16 RegMod r15;
- MUL128LU r17 r15 RegMod;
- MUL128UL r18 r15 RegMod;
- MUL128LL r19 RegMod r15;
- ADD 128 r20 r19 r18;
- ADDC (-128) r21 r16 r18;
- ADD 128 r22 r20 r17;
- ADDC (-128) r23 r21 r17;
- SUB 0 r24 xLow r22;
- SUBC 0 r25 xHigh r23;
- SELL r26 RegMod RegZero;
- SUB 0 r27 r24 r26;
- ADDM r28 r27 RegZero RegMod;
- Ret r28
- *)
-
-(* Uncomment to see proof statement and remaining admitted statements. *)
-(*
-Check prod_barrett_red256_correct.
-Print Assumptions prod_barrett_red256_correct.
-(* The equivalence with generated code is admitted as barrett_red256_alloc_equivalent. *)
-*)
diff --git a/src/LegacyArithmetic/ArchitectureToZLike.v b/src/LegacyArithmetic/ArchitectureToZLike.v
deleted file mode 100644
index 19450f831..000000000
--- a/src/LegacyArithmetic/ArchitectureToZLike.v
+++ /dev/null
@@ -1,38 +0,0 @@
-(*** Implementing ℤ-Like via Architecture *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.ZBounded.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.LetIn.
-
-Local Open Scope Z_scope.
-
-Section fancy_machine_p256_montgomery_foundation.
- Context {n_over_two : Z}.
- Local Notation n := (2 * n_over_two).
- Context (ops : fancy_machine.instructions n) (modulus : Z).
-
- Local Instance ZLikeOps_of_ArchitectureBoundedOps_Factored (smaller_bound_exp : Z)
- ldi_modulus ldi_0
- : ZLikeOps (2^n) (2^smaller_bound_exp) modulus :=
- { LargeT := tuple fancy_machine.W 2;
- SmallT := fancy_machine.W;
- modulus_digits := ldi_modulus;
- decode_large := decode;
- decode_small := decode;
- Mod_SmallBound v := fst v;
- DivBy_SmallBound v := snd v;
- DivBy_SmallerBound v := if smaller_bound_exp =? n
- then snd v
- else dlet v := v in shrd (snd v) (fst v) smaller_bound_exp;
- Mul x y := muldw x y;
- CarryAdd x y := adc x y false;
- CarrySubSmall x y := subc x y false;
- ConditionalSubtract b x := let v := selc b (ldi_modulus) (ldi_0) in snd (subc x v false);
- ConditionalSubtractModulus y := addm y (ldi_0) (ldi_modulus) }.
-
- Global Instance ZLikeOps_of_ArchitectureBoundedOps (smaller_bound_exp : Z)
- : ZLikeOps (2^n) (2^smaller_bound_exp) modulus :=
- @ZLikeOps_of_ArchitectureBoundedOps_Factored smaller_bound_exp (ldi modulus) (ldi 0).
-End fancy_machine_p256_montgomery_foundation.
diff --git a/src/LegacyArithmetic/ArchitectureToZLikeProofs.v b/src/LegacyArithmetic/ArchitectureToZLikeProofs.v
deleted file mode 100644
index 899b10162..000000000
--- a/src/LegacyArithmetic/ArchitectureToZLikeProofs.v
+++ /dev/null
@@ -1,128 +0,0 @@
-(*** Proving ℤ-Like via Architecture *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.RippleCarryAddSub.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Multiply.
-Require Import Crypto.LegacyArithmetic.ArchitectureToZLike.
-Require Import Crypto.LegacyArithmetic.ZBounded.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.LetIn.
-
-Local Open Scope nat_scope.
-Local Open Scope Z_scope.
-Local Open Scope type_scope.
-
-Local Coercion Z.of_nat : nat >-> Z.
-
-Section fancy_machine_p256_montgomery_foundation.
- Context {n_over_two : Z}.
- Local Notation n := (2 * n_over_two)%Z.
- Context (ops : fancy_machine.instructions n) (modulus : Z).
-
- Local Arguments Z.mul !_ !_.
- Local Arguments BaseSystem.decode !_ !_ / .
- Local Arguments BaseSystem.accumulate / _ _.
- Local Arguments BaseSystem.decode' !_ !_ / .
-
- Local Ltac introduce_t_step :=
- match goal with
- | [ |- forall x : bool, _ ] => intros [|]
- | [ |- True -> _ ] => intros _
- | [ |- _ <= _ < _ -> _ ] => intro
- | _ => let x := fresh "x" in
- intro x;
- try pose proof (decode_range (fst x));
- try pose proof (decode_range (snd x));
- pose proof (decode_range x)
- end.
- Local Ltac unfolder_t :=
- progress unfold LargeT, SmallT, modulus_digits, decode_large, decode_small, Mod_SmallBound, DivBy_SmallBound, DivBy_SmallerBound, Mul, CarryAdd, CarrySubSmall, ConditionalSubtract, ConditionalSubtractModulus, ZLikeOps_of_ArchitectureBoundedOps, ZLikeOps_of_ArchitectureBoundedOps_Factored in *.
- Local Ltac saturate_context_step :=
- match goal with
- | _ => unique assert (0 <= 2 * n_over_two) by solve [ eauto using decode_exponent_nonnegative with typeclass_instances | omega ]
- | _ => unique assert (0 <= n_over_two) by solve [ eauto using decode_exponent_nonnegative with typeclass_instances | omega ]
- | _ => unique assert (0 <= 2 * (2 * n_over_two)) by (eauto using decode_exponent_nonnegative with typeclass_instances)
- | [ H : 0 <= ?x < _ |- _ ] => unique pose proof (proj1 H); unique pose proof (proj2 H)
- end.
- Local Ltac pre_t :=
- repeat first [ tauto
- | introduce_t_step
- | unfolder_t
- | saturate_context_step ].
- Local Ltac post_t_step :=
- match goal with
- | _ => reflexivity
- | _ => progress subst
- | _ => progress unfold Let_In
- | _ => progress autorewrite with zsimplify_const
- | [ |- fst ?x = (?a <=? ?b) :> bool ]
- => cut (((if fst x then 1 else 0) = (if a <=? b then 1 else 0))%Z);
- [ destruct (fst x), (a <=? b); intro; congruence | ]
- | [ H : (_ =? _) = true |- _ ] => apply Z.eqb_eq in H; subst
- | [ H : (_ =? _) = false |- _ ] => apply Z.eqb_neq in H
- | _ => autorewrite with push_Zpow in *; solve [ reflexivity | assumption ]
- | _ => autorewrite with pull_Zpow in *; pull_decode; reflexivity
- | _ => progress push_decode
- | _ => rewrite (Z.add_comm (_ << _) _); progress pull_decode
- | [ |- context[if ?x =? ?y then _ else _] ] => destruct (x =? y) eqn:?
- | _ => autorewrite with Zshift_to_pow; Z.rewrite_mod_small; reflexivity
- end.
- Local Ltac post_t := repeat post_t_step.
- Local Ltac t := pre_t; post_t.
-
- Global Instance ZLikeProperties_of_ArchitectureBoundedOps_Factored
- {arith : fancy_machine.arithmetic ops}
- ldi_modulus ldi_0
- (Hldi_modulus : ldi_modulus = ldi modulus)
- (Hldi_0 : ldi_0 = ldi 0)
- (modulus_in_range : 0 <= modulus < 2^n)
- (smaller_bound_exp : Z)
- (smaller_bound_smaller : 0 <= smaller_bound_exp <= n)
- (n_pos : 0 < n)
- : ZLikeProperties (ZLikeOps_of_ArchitectureBoundedOps_Factored ops modulus smaller_bound_exp ldi_modulus ldi_0).
- Proof.
- refine {| large_valid v := True;
- medium_valid v := 0 <= decode_large v < 2^n * 2^smaller_bound_exp;
- small_valid v := True |}.
- (* In 8.5: *)
- (* par:t. *)
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- Defined.
-
- Global Instance ZLikeProperties_of_ArchitectureBoundedOps
- {arith : fancy_machine.arithmetic ops}
- (modulus_in_range : 0 <= modulus < 2^n)
- (smaller_bound_exp : Z)
- (smaller_bound_smaller : 0 <= smaller_bound_exp <= n)
- (n_pos : 0 < n)
- : ZLikeProperties (ZLikeOps_of_ArchitectureBoundedOps ops modulus smaller_bound_exp)
- := ZLikeProperties_of_ArchitectureBoundedOps_Factored _ _ eq_refl eq_refl modulus_in_range _ smaller_bound_smaller n_pos.
-End fancy_machine_p256_montgomery_foundation.
diff --git a/src/LegacyArithmetic/BarretReduction.v b/src/LegacyArithmetic/BarretReduction.v
deleted file mode 100644
index 37c4d4915..000000000
--- a/src/LegacyArithmetic/BarretReduction.v
+++ /dev/null
@@ -1,98 +0,0 @@
-(*** Barrett Reduction *)
-(** This file implements Barrett Reduction on [ZLikeOps]. We follow
- [BarretReduction/ZHandbook.v]. *)
-Require Import Coq.ZArith.ZArith Coq.Lists.List Coq.Classes.Morphisms Coq.micromega.Psatz.
-Require Import Crypto.Arithmetic.BarrettReduction.HAC.
-Require Import Crypto.LegacyArithmetic.ZBounded.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope small_zlike_scope.
-Local Open Scope large_zlike_scope.
-Local Open Scope Z_scope.
-
-Section barrett.
- Context (m b k μ offset : Z)
- (m_pos : 0 < m)
- (base_pos : 0 < b)
- (k_good : m < b^k)
- (μ_good : μ = b^(2*k) / m) (* [/] is [Z.div], which is truncated *)
- (offset_nonneg : 0 <= offset)
- (k_big_enough : offset <= k)
- (m_small : 3 * m <= b^(k+offset))
- (m_large : b^(k-offset) <= m + 1).
- Context {ops : ZLikeOps (b^(k+offset)) (b^(k-offset)) m} {props : ZLikeProperties ops}
- (μ' : SmallT)
- (μ'_good : small_valid μ')
- (μ'_eq : decode_small μ' = μ).
-
- Definition barrett_reduce : forall x : LargeT,
- { barrett_reduce : SmallT
- | medium_valid x
- -> decode_small barrett_reduce = (decode_large x) mod m
- /\ small_valid barrett_reduce }.
- Proof.
- intro x. evar (pr : SmallT); exists pr. intros x_valid.
- assert (0 <= decode_large x < b^(k+offset) * b^(k-offset)) by auto using decode_medium_valid.
- assert (0 <= decode_large x < b^(2 * k)) by (autorewrite with pull_Zpow zsimplify in *; omega).
- assert ((decode_large x) mod b^(k-offset) < b^(k-offset)) by auto with zarith omega.
- rewrite (barrett_reduction_small m b (decode_large x) k μ offset) by omega.
- rewrite <- μ'_eq.
- pull_zlike_decode; cbv zeta; pull_zlike_decode. (* Extra [cbv iota; pull_zlike_decode] to work around bug #4165 (https://coq.inria.fr/bugs/show_bug.cgi?id=4165) in 8.4 *)
- subst pr; split; [ reflexivity | exact _ ].
- Defined.
-
- Definition barrett_reduce_function : LargeT -> SmallT
- := Eval cbv [proj1_sig barrett_reduce]
- in fun x => proj1_sig (barrett_reduce x).
- Lemma barrett_reduce_correct x
- : medium_valid x
- -> decode_small (barrett_reduce_function x) = (decode_large x) mod m
- /\ small_valid (barrett_reduce_function x).
- Proof using base_pos k_big_enough m_large m_pos m_small offset_nonneg μ'_eq μ'_good μ_good.
- exact (proj2_sig (barrett_reduce x)).
- Qed.
-End barrett.
-
-Module BarrettBundled.
- Class BarrettParameters :=
- { m : Z;
- b : Z;
- k : Z;
- offset : Z;
- μ := b ^ (2 * k) / m;
- ops : ZLikeOps (b ^ (k + offset)) (b ^ (k - offset)) m;
- μ' : SmallT }.
- Global Existing Instance ops.
-
- Class BarrettParametersCorrect {params : BarrettParameters} :=
- { m_pos : 0 < m;
- base_pos : 0 < b;
- offset_nonneg : 0 <= offset;
- k_big_enough : offset <= k;
- m_small : 3 * m <= b ^ (k + offset);
- m_large : b ^ (k - offset) <= m + 1;
- props : ZLikeProperties ops;
- μ'_good : small_valid μ';
- μ'_eq : decode_small μ' = μ }.
- Global Arguments BarrettParametersCorrect : clear implicits.
- Global Existing Instance props.
-
- Module Export functions.
- Definition barrett_reduce_function_bundled {params : BarrettParameters}
- : LargeT -> SmallT
- := barrett_reduce_function m b k offset μ'.
- Definition barrett_reduce_correct_bundled {params : BarrettParameters} {params_proofs : BarrettParametersCorrect params}
- : forall x, medium_valid x
- -> decode_small (barrett_reduce_function_bundled x) = (decode_large x) mod m
- /\ small_valid (barrett_reduce_function_bundled x)
- := @barrett_reduce_correct
- m b k μ offset
- m_pos base_pos eq_refl offset_nonneg
- k_big_enough m_small m_large
- ops props μ' μ'_good μ'_eq.
- End functions.
-End BarrettBundled.
-Export BarrettBundled.functions.
-Global Existing Instance BarrettBundled.ops.
-Global Arguments BarrettBundled.BarrettParametersCorrect : clear implicits.
-Global Existing Instance BarrettBundled.props.
diff --git a/src/LegacyArithmetic/BaseSystem.v b/src/LegacyArithmetic/BaseSystem.v
deleted file mode 100644
index 359b4313b..000000000
--- a/src/LegacyArithmetic/BaseSystem.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Coq.Lists.List.
-Require Import Coq.ZArith.ZArith Coq.ZArith.Zdiv.
-Require Import Coq.omega.Omega Coq.Numbers.Natural.Peano.NPeano Coq.Arith.Arith.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Notations.
-Require Export Crypto.Util.FixCoqMistakes.
-Import Nat.
-
-Local Open Scope Z.
-
-Class BaseVector (base : list Z):= {
- base_positive : forall b, In b base -> b > 0; (* nonzero would probably work too... *)
- b0_1 : forall x, nth_default x base 0 = 1; (** TODO(jadep,jgross): change to [nth_error base 0 = Some 1], then use [nth_error_value_eq_nth_default] to prove a [forall x, nth_default x base 0 = 1] as a lemma *)
- base_good :
- forall i j, (i+j < length base)%nat ->
- let b := nth_default 0 base in
- let r := (b i * b j) / b (i+j)%nat in
- b i * b j = r * b (i+j)%nat
-}.
-
-Section BaseSystem.
- Context (base : list Z).
- (** [BaseSystem] implements an constrained positional number system.
- A wide variety of bases are supported: the base coefficients are not
- required to be powers of 2, and it is NOT necessarily the case that
- $b_{i+j} = b_i b_j$. Implementations of addition and multiplication are
- provided, with focus on near-optimal multiplication performance on
- non-trivial but small operands: maybe 10 32-bit integers or so. This
- module does not handle carries automatically: if no restrictions are put
- on the use of a [BaseSystem], each digit is unbounded. This has nothing
- to do with modular arithmetic either.
- *)
- Definition digits : Type := list Z.
-
- Definition accumulate p acc := fst p * snd p + acc.
- Definition decode' bs u := fold_right accumulate 0 (combine u bs).
- Definition decode := decode' base.
- Definition mul_each u := map (Z.mul u).
-End BaseSystem.
diff --git a/src/LegacyArithmetic/BaseSystemProofs.v b/src/LegacyArithmetic/BaseSystemProofs.v
deleted file mode 100644
index 042fdb270..000000000
--- a/src/LegacyArithmetic/BaseSystemProofs.v
+++ /dev/null
@@ -1,134 +0,0 @@
-Require Import Coq.Lists.List Coq.micromega.Psatz.
-Require Import Crypto.Util.ListUtil.
-Require Import Coq.ZArith.ZArith Coq.ZArith.Zdiv.
-Require Import Coq.omega.Omega Coq.Numbers.Natural.Peano.NPeano Coq.Arith.Arith.
-Require Import Crypto.LegacyArithmetic.BaseSystem.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Notations.
-Import Morphisms.
-Local Open Scope Z.
-
-Local Hint Extern 1 (@eq Z _ _) => ring.
-
-Section BaseSystemProofs.
- Context `(base_vector : BaseVector).
-
- Lemma decode'_truncate : forall bs us, decode' bs us = decode' bs (firstn (length bs) us).
- Proof using Type.
- unfold decode'; intros; f_equal; apply combine_truncate_l.
- Qed.
-
- Lemma decode'_splice : forall xs ys bs,
- decode' bs (xs ++ ys) =
- decode' (firstn (length xs) bs) xs + decode' (skipn (length xs) bs) ys.
- Proof using Type.
- unfold decode'.
- induction xs; destruct ys, bs; boring.
- + rewrite combine_truncate_r.
- do 2 rewrite Z.add_0_r; auto.
- + unfold accumulate.
- apply Z.add_assoc.
- Qed.
-
- Lemma decode_nil : forall bs, decode' bs nil = 0.
- Proof using Type.
-
- auto.
- Qed.
- Hint Rewrite decode_nil.
-
- Lemma decode_base_nil : forall us, decode' nil us = 0.
- Proof using Type.
- intros; rewrite decode'_truncate; auto.
- Qed.
-
- Lemma mul_each_rep : forall bs u vs,
- decode' bs (mul_each u vs) = u * decode' bs vs.
- Proof using Type.
- unfold decode', accumulate; induction bs; destruct vs; boring; ring.
- Qed.
-
- Lemma base_eq_1cons: base = 1 :: skipn 1 base.
- Proof using Type*.
- pose proof (b0_1 0) as H.
- destruct base; compute in H; try discriminate; boring.
- Qed.
-
- Lemma decode'_cons : forall x1 x2 xs1 xs2,
- decode' (x1 :: xs1) (x2 :: xs2) = x1 * x2 + decode' xs1 xs2.
- Proof using Type.
- unfold decode', accumulate; boring; ring.
- Qed.
- Hint Rewrite decode'_cons.
-
- Lemma decode_cons : forall x us,
- decode base (x :: us) = x + decode base (0 :: us).
- Proof using Type*.
- unfold decode; intros.
- rewrite base_eq_1cons.
- autorewrite with core; ring_simplify; auto.
- Qed.
-
- Lemma decode'_map_mul : forall v xs bs,
- decode' (map (Z.mul v) bs) xs =
- Z.mul v (decode' bs xs).
- Proof using Type.
- unfold decode'.
- induction xs; destruct bs; boring.
- unfold accumulate; simpl; nia.
- Qed.
-
- Lemma decode_map_mul : forall v xs,
- decode (map (Z.mul v) base) xs =
- Z.mul v (decode base xs).
- Proof using Type.
- unfold decode; intros; apply decode'_map_mul.
- Qed.
-
- Lemma mul_each_base : forall us bs c,
- decode' bs (mul_each c us) = decode' (mul_each c bs) us.
- Proof using Type.
- induction us; destruct bs; boring; ring.
- Qed.
-
- Hint Rewrite (@nth_default_nil Z).
- Hint Rewrite (@firstn_nil Z).
- Hint Rewrite (@skipn_nil Z).
-
- Lemma peel_decode : forall xs ys x y, decode' (x::xs) (y::ys) = x*y + decode' xs ys.
- Proof using Type.
- boring.
- Qed.
- Hint Rewrite peel_decode.
-
- Hint Rewrite plus_0_r.
-
- Lemma set_higher : forall bs vs x,
- decode' bs (vs++x::nil) = decode' bs vs + nth_default 0 bs (length vs) * x.
- Proof using Type.
- intros.
- rewrite !decode'_splice.
- cbv [decode' nth_default]; break_match; ring_simplify;
- match goal with
- | [H:_ |- _] => unique pose proof (nth_error_error_length _ _ _ H)
- | [H:_ |- _] => unique pose proof (nth_error_value_length _ _ _ _ H)
- end;
- repeat match goal with
- | _ => solve [simpl;ring_simplify; trivial]
- | _ => progress ring_simplify
- | _ => progress rewrite skipn_all by trivial
- | _ => progress rewrite combine_nil_r
- | _ => progress rewrite firstn_all2 by trivial
- end.
- rewrite (combine_truncate_r vs bs); apply (f_equal2 Z.add); trivial; [].
- unfold combine; break_match.
- { let Heql := match goal with H : _ = nil |- _ => H end in
- apply (f_equal (@length _)) in Heql; simpl length in Heql; rewrite skipn_length in Heql; omega. }
- { cbv -[Z.add Z.mul]; ring_simplify; f_equal.
- assert (HH: nth_error (z0 :: l) 0 = Some z) by
- (
- pose proof @nth_error_skipn _ (length vs) bs 0;
- rewrite plus_0_r in *;
- congruence); simpl in HH; congruence. }
- Qed.
-End BaseSystemProofs.
diff --git a/src/LegacyArithmetic/Double/Core.v b/src/LegacyArithmetic/Double/Core.v
deleted file mode 100644
index 53f20801c..000000000
--- a/src/LegacyArithmetic/Double/Core.v
+++ /dev/null
@@ -1,253 +0,0 @@
-(*** Implementing Large Bounded Arithmetic via pairs *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Import Bug5107WorkAround.
-
-Require Crypto.LegacyArithmetic.BaseSystem.
-Require Crypto.LegacyArithmetic.Pow2Base.
-
-Local Open Scope nat_scope.
-Local Open Scope Z_scope.
-Local Open Scope type_scope.
-
-Local Coercion Z.of_nat : nat >-> Z.
-Local Notation eta x := (fst x, snd x).
-
-(** The list is low to high; the tuple is low to high *)
-Definition tuple_decoder {n W} {decode : decoder n W} {k : nat} : decoder (k * n) (tuple W k)
- := {| decode w := BaseSystem.decode (Pow2Base.base_from_limb_widths (List.repeat n k))
- (List.map decode (List.rev (Tuple.to_list _ w))) |}.
-Global Arguments tuple_decoder : simpl never.
-Hint Extern 3 (decoder _ (tuple ?W ?k)) => let kv := (eval simpl in (Z.of_nat k)) in apply (fun n decode => (@tuple_decoder n W decode k : decoder (kv * n) (tuple W k))) : typeclass_instances.
-
-Section ripple_carry_definitions.
- (** tuple is high to low ([to_list] reverses) *)
- Fixpoint ripple_carry_tuple' {T} (f : T -> T -> bool -> bool * T) k
- : forall (xs ys : tuple' T k) (carry : bool), bool * tuple' T k
- := match k return forall (xs ys : tuple' T k) (carry : bool), bool * tuple' T k with
- | O => f
- | S k' => fun xss yss carry => dlet xss := xss in
- dlet yss := yss in
- let (xs, x) := eta xss in
- let (ys, y) := eta yss in
- dlet addv := (@ripple_carry_tuple' _ f k' xs ys carry) in
- let (carry, zs) := eta addv in
- dlet fxy := (f x y carry) in
- let (carry, z) := eta fxy in
- (carry, (zs, z))
- end.
-
- Definition ripple_carry_tuple {T} (f : T -> T -> bool -> bool * T) k
- : forall (xs ys : tuple T k) (carry : bool), bool * tuple T k
- := match k return forall (xs ys : tuple T k) (carry : bool), bool * tuple T k with
- | O => fun xs ys carry => (carry, tt)
- | S k' => ripple_carry_tuple' f k'
- end.
-End ripple_carry_definitions.
-
-Global Instance ripple_carry_adc
- {W} (adc : add_with_carry W) {k}
- : add_with_carry (tuple W k)
- := { adc := ripple_carry_tuple adc k }.
-
-Global Instance ripple_carry_subc
- {W} (subc : sub_with_carry W) {k}
- : sub_with_carry (tuple W k)
- := { subc := ripple_carry_tuple subc k }.
-
-(** constructions on [tuple W 2] *)
-Section tuple2.
- Section select_conditional.
- Context {W}
- {selc : select_conditional W}.
-
- Definition select_conditional_double (b : bool) (x : tuple W 2) (y : tuple W 2) : tuple W 2
- := dlet x := x in
- dlet y := y in
- let (x1, x2) := eta x in
- let (y1, y2) := eta y in
- (selc b x1 y1, selc b x2 y2).
-
- Global Instance selc_double : select_conditional (tuple W 2)
- := { selc := select_conditional_double }.
- End select_conditional.
-
- Section load_immediate.
- Context (n : Z) {W}
- {ldi : load_immediate W}.
-
- Definition load_immediate_double (r : Z) : tuple W 2
- := (ldi (r mod 2^n), ldi (r / 2^n)).
-
- (** Require a [decoder] instance to aid typeclass search in
- resolving [n] *)
- Global Instance ldi_double {decode : decoder n W} : load_immediate (tuple W 2)
- := { ldi := load_immediate_double }.
- End load_immediate.
-
- Section bitwise_or.
- Context {W}
- {or : bitwise_or W}.
-
- Definition bitwise_or_double (x : tuple W 2) (y : tuple W 2) : tuple W 2
- := dlet x := x in
- dlet y := y in
- let (x1, x2) := eta x in
- let (y1, y2) := eta y in
- (or x1 y1, or x2 y2).
-
- Global Instance or_double : bitwise_or (tuple W 2)
- := { or := bitwise_or_double }.
- End bitwise_or.
-
- Section bitwise_and.
- Context {W}
- {and : bitwise_and W}.
-
- Definition bitwise_and_double (x : tuple W 2) (y : tuple W 2) : tuple W 2
- := dlet x := x in
- dlet y := y in
- let (x1, x2) := eta x in
- let (y1, y2) := eta y in
- (and x1 y1, and x2 y2).
-
- Global Instance and_double : bitwise_and (tuple W 2)
- := { and := bitwise_and_double }.
- End bitwise_and.
-
- Section spread_left.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}.
-
- Definition spread_left_from_shift (r : W) (count : Z) : tuple W 2
- := dlet r := r in
- (shl r count, if count =? 0 then ldi 0 else shr r (n - count)).
-
- (** Require a [decoder] instance to aid typeclass search in
- resolving [n] *)
- Global Instance sprl_from_shift {decode : decoder n W} : spread_left_immediate W
- := { sprl := spread_left_from_shift }.
- End spread_left.
-
- Section shl_shr.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {or : bitwise_or W}.
-
- Definition shift_left_immediate_double (r : tuple W 2) (count : Z) : tuple W 2
- := dlet r := r in
- let (r1, r2) := eta r in
- (if count =? 0
- then r1
- else if count <? n
- then shl r1 count
- else ldi 0,
- if count =? 0
- then r2
- else if count <? n
- then or (shr r1 (n - count)) (shl r2 count)
- else shl r1 (count - n)).
-
- Definition shift_right_immediate_double (r : tuple W 2) (count : Z) : tuple W 2
- := dlet r := r in
- let (r1, r2) := eta r in
- (if count =? 0
- then r1
- else if count <? n
- then or (shr r1 count) (shl r2 (n - count))
- else shr r2 (count - n),
- if count =? 0
- then r2
- else if count <? n
- then shr r2 count
- else ldi 0).
-
- (** Require a [decoder] instance to aid typeclass search in
- resolving [n] *)
- Global Instance shl_double {decode : decoder n W} : shift_left_immediate (tuple W 2)
- := { shl := shift_left_immediate_double }.
- Global Instance shr_double {decode : decoder n W} : shift_right_immediate (tuple W 2)
- := { shr := shift_right_immediate_double }.
- End shl_shr.
-
- Section shrd.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shrd : shift_right_doubleword_immediate W}.
-
- Definition shift_right_doubleword_immediate_double (high low : tuple W 2) (count : Z) : tuple W 2
- := dlet high := high in
- dlet low := low in
- let (high1, high2) := eta high in
- let (low1, low2) := eta low in
- (if count =? 0
- then low1
- else if count <? n
- then shrd low2 low1 count
- else if count <? 2 * n
- then shrd high1 low2 (count - n)
- else shrd high2 high1 (count - 2 * n),
- if count =? 0
- then low2
- else if count <? n
- then shrd high1 low2 count
- else if count <? 2 * n
- then shrd high2 high1 (count - n)
- else shrd (ldi 0) high2 (count - 2 * n)).
-
- (** Require a [decoder] instance to aid typeclass search in
- resolving [n] *)
- Global Instance shrd_double {decode : decoder n W} : shift_right_doubleword_immediate (tuple W 2)
- := { shrd := shift_right_doubleword_immediate_double }.
- End shrd.
-
- Section double_from_half.
- Context {half_n : Z} {W}
- {mulhwll : multiply_low_low W}
- {mulhwhl : multiply_high_low W}
- {mulhwhh : multiply_high_high W}
- {adc : add_with_carry W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {ldi : load_immediate W}.
-
- Definition mul_double (a b : W) : tuple W 2
- := dlet a := a in
- dlet b := b in
- let out : tuple W 2 := (mulhwll a b, mulhwhh a b) in
- dlet out := out in
- dlet tmp := mulhwhl a b in
- dlet addv := (ripple_carry_adc adc out (shl tmp half_n, shr tmp half_n) false) in
- let (_, out) := eta addv in
- dlet tmp := mulhwhl b a in
- dlet addv := (ripple_carry_adc adc out (shl tmp half_n, shr tmp half_n) false) in
- let (_, out) := eta addv in
- out.
-
- (** Require a dummy [decoder] for these instances to allow
- typeclass inference of the [half_n] argument *)
- Global Instance mul_double_multiply {decode : decoder (2 * half_n) W} : multiply_double W
- := { muldw a b := mul_double a b }.
- End double_from_half.
-
- Global Instance mul_double_multiply_low_low {W} {muldw : multiply_double W}
- : multiply_low_low (tuple W 2)
- := { mulhwll a b := muldw (fst a) (fst b) }.
- Global Instance mul_double_multiply_high_low {W} {muldw : multiply_double W}
- : multiply_high_low (tuple W 2)
- := { mulhwhl a b := muldw (snd a) (fst b) }.
- Global Instance mul_double_multiply_high_high {W} {muldw : multiply_double W}
- : multiply_high_high (tuple W 2)
- := { mulhwhh a b := muldw (snd a) (snd b) }.
-End tuple2.
-
-Global Arguments mul_double half_n {_ _ _ _ _ _ _} _ _.
diff --git a/src/LegacyArithmetic/Double/Proofs/BitwiseOr.v b/src/LegacyArithmetic/Double/Proofs/BitwiseOr.v
deleted file mode 100644
index 8588836ee..000000000
--- a/src/LegacyArithmetic/Double/Proofs/BitwiseOr.v
+++ /dev/null
@@ -1,32 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.LandLorShiftBounds.
-Require Import Crypto.Util.Tactics.BreakMatch.
-
-Local Open Scope Z_scope.
-
-Section bitwise_or.
- Context {n W}
- {decode : decoder n W}
- {is_decode : is_decode decode}
- {or : bitwise_or W}
- {is_or : is_bitwise_or or}.
-
- Global Instance is_bitwise_or_double
- : is_bitwise_or or_double.
- Proof using Type*.
- constructor; intros x y.
- destruct n as [|p|].
- { rewrite !(tuple_decoder_n_O (W:=W) 2); easy. }
- { assert (0 <= Z.lor (decode (fst x)) (decode (fst y)) < 2^Z.pos p) by auto with zarith.
- rewrite (tuple_decoder_2 x), (tuple_decoder_2 y), (tuple_decoder_2 (or_double x y))
- by apply Zle_0_pos.
- push_decode.
- apply Z.bits_inj'; intros; autorewrite with Ztestbit.
- break_match; Z.ltb_to_lt; autorewrite with Ztestbit; reflexivity. }
- { rewrite !(tuple_decoder_n_neg (W:=W) 2); easy. }
- Qed.
-End bitwise_or.
diff --git a/src/LegacyArithmetic/Double/Proofs/Decode.v b/src/LegacyArithmetic/Double/Proofs/Decode.v
deleted file mode 100644
index 5b3445208..000000000
--- a/src/LegacyArithmetic/Double/Proofs/Decode.v
+++ /dev/null
@@ -1,188 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.Lists.List Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ListUtil.
-Require Import Crypto.Util.Notations.
-
-Require Crypto.LegacyArithmetic.Pow2Base.
-Require Crypto.LegacyArithmetic.Pow2BaseProofs.
-
-Local Open Scope nat_scope.
-Local Open Scope type_scope.
-
-Local Coercion Z.of_nat : nat >-> Z.
-
-Import BoundedRewriteNotations.
-Local Open Scope Z_scope.
-
-Section decode.
- Context {n W} {decode : decoder n W}.
- Section with_k.
- Context {k : nat}.
- Local Notation limb_widths := (List.repeat n k).
-
- Lemma decode_bounded {isdecode : is_decode decode} w
- : 0 <= n -> Pow2Base.bounded limb_widths (List.map decode (rev (to_list k w))).
- Proof using Type.
- intro.
- eapply Pow2BaseProofs.bounded_uniform; try solve [ eauto using repeat_spec ].
- { distr_length. }
- { intros z H'.
- apply in_map_iff in H'.
- destruct H' as [? [? H'] ]; subst; apply decode_range. }
- Qed.
-
- (** TODO: Clean up this proof *)
- Global Instance tuple_is_decode {isdecode : is_decode decode}
- : is_decode (tuple_decoder (k := k)).
- Proof using Type.
- unfold tuple_decoder; hnf; simpl.
- intro w.
- destruct (zerop k); [ subst | ].
- { cbv; intuition congruence. }
- assert (0 <= n)
- by (destruct k as [ | [|] ]; [ omega | | destruct w ];
- eauto using decode_exponent_nonnegative).
- replace (2^(k * n)) with (Pow2Base.upper_bound limb_widths)
- by (erewrite Pow2BaseProofs.upper_bound_uniform by eauto using repeat_spec; distr_length).
- apply Pow2BaseProofs.decode_upper_bound; auto using decode_bounded.
- { intros ? H'.
- apply repeat_spec in H'; omega. }
- { distr_length. }
- Qed.
- End with_k.
-
- Local Arguments Pow2Base.base_from_limb_widths : simpl never.
- Local Arguments List.repeat : simpl never.
- Local Arguments Z.mul !_ !_.
- Lemma tuple_decoder_S {k} w : 0 <= n -> (tuple_decoder (k := S (S k)) w = tuple_decoder (k := S k) (fst w) + (decode (snd w) << (S k * n)))%Z.
- Proof using Type.
- intro Hn.
- destruct w as [? w]; simpl.
- replace (decode w) with (decode w * 1 + 0)%Z by omega.
- rewrite map_app, map_cons, map_nil.
- erewrite Pow2BaseProofs.decode_shift_uniform_app by (eauto using repeat_spec; distr_length).
- distr_length.
- autorewrite with push_skipn natsimplify push_firstn.
- reflexivity.
- Qed.
- Global Instance tuple_decoder_O w : tuple_decoder (k := 1) w =~> decode w.
- Proof using Type.
- cbv [tuple_decoder LegacyArithmetic.BaseSystem.decode LegacyArithmetic.BaseSystem.decode' LegacyArithmetic.BaseSystem.accumulate Pow2Base.base_from_limb_widths repeat].
- simpl; hnf; lia.
- Qed.
- Global Instance tuple_decoder_m1 w : tuple_decoder (k := 0) w =~> 0.
- Proof using Type. reflexivity. Qed.
-
- Lemma tuple_decoder_n_neg k w {H : is_decode decode} : n <= 0 -> tuple_decoder (k := k) w =~> 0.
- Proof using Type.
- pose proof (tuple_is_decode w) as H'; hnf in H'.
- intro; assert (k * n <= 0) by nia.
- assert (2^(k * n) <= 2^0) by (apply Z.pow_le_mono_r; omega).
- simpl in *; hnf.
- omega.
- Qed.
- Lemma tuple_decoder_O_ind_prod
- (P : forall n, decoder n W -> Type)
- (P_ext : forall n (a b : decoder n W), (forall x, a x = b x) -> P _ a -> P _ b)
- : (P _ (tuple_decoder (k := 1)) -> P _ decode)
- * (P _ decode -> P _ (tuple_decoder (k := 1))).
- Proof using Type.
- unfold tuple_decoder, BaseSystem.decode, BaseSystem.decode', BaseSystem.accumulate, Pow2Base.base_from_limb_widths, repeat.
- simpl; hnf.
- rewrite Z.mul_1_l.
- split; apply P_ext; simpl; intro; autorewrite with zsimplify_const; reflexivity.
- Qed.
-
- Global Instance tuple_decoder_2' w : (0 <= n)%bounded_rewrite -> tuple_decoder (k := 2) w <~= (decode (fst w) + decode (snd w) << (1%nat * n))%Z.
- Proof using Type.
- intros; rewrite !tuple_decoder_S, !tuple_decoder_O by assumption.
- reflexivity.
- Qed.
- Global Instance tuple_decoder_2 w : (0 <= n)%bounded_rewrite -> tuple_decoder (k := 2) w <~= (decode (fst w) + decode (snd w) << n)%Z.
- Proof using Type.
- intros; rewrite !tuple_decoder_S, !tuple_decoder_O by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
-End decode.
-
-Global Arguments tuple_decoder : simpl never.
-Local Opaque tuple_decoder.
-
-Global Instance tuple_decoder_n_O
- {W} {decode : decoder 0 W}
- {is_decode : is_decode decode}
- : forall k w, tuple_decoder (k := k) w =~> 0.
-Proof. intros; apply tuple_decoder_n_neg; easy. Qed.
-
-Lemma is_add_with_carry_1tuple {n W decode adc}
- (H : @is_add_with_carry n W decode adc)
- : @is_add_with_carry (1 * n) W (@tuple_decoder n W decode 1) adc.
-Proof.
- apply tuple_decoder_O_ind_prod; try assumption.
- intros ??? ext [H0 H1]; apply Build_is_add_with_carry'.
- intros x y c; specialize (H0 x y c); specialize (H1 x y c).
- rewrite <- !ext; split; assumption.
-Qed.
-
-Hint Extern 1 (@is_add_with_carry _ _ (@tuple_decoder ?n ?W ?decode 1) ?adc)
-=> apply (@is_add_with_carry_1tuple n W decode adc) : typeclass_instances.
-
-Hint Resolve (fun n W decode pf => (@tuple_is_decode n W decode 2 pf : @is_decode (2 * n) (tuple W 2) (@tuple_decoder n W decode 2))) : typeclass_instances.
-Hint Extern 3 (@is_decode _ (tuple ?W ?k) _) => let kv := (eval simpl in (Z.of_nat k)) in apply (fun n decode pf => (@tuple_is_decode n W decode k pf : @is_decode (kv * n) (tuple W k) (@tuple_decoder n W decode k : decoder (kv * n)%Z (tuple W k)))) : typeclass_instances.
-
-Hint Rewrite @tuple_decoder_S @tuple_decoder_O @tuple_decoder_m1 @tuple_decoder_n_O using solve [ auto with zarith ] : simpl_tuple_decoder.
-Hint Rewrite Z.mul_1_l : simpl_tuple_decoder.
-Hint Rewrite
- (fun n W (decode : decoder n W) w pf => (@tuple_decoder_S n W decode 0 w pf : @Interface.decode (2 * n) (tuple W 2) (@tuple_decoder n W decode 2) w = _))
- (fun n W (decode : decoder n W) w pf => (@tuple_decoder_S n W decode 0 w pf : @Interface.decode (2 * n) (W * W) (@tuple_decoder n W decode 2) w = _))
- (fun n W decode w => @tuple_decoder_m1 n W decode w : @Interface.decode (Z.of_nat 0 * n) unit (@tuple_decoder n W decode 0) w = _)
- using solve [ auto with zarith ]
- : simpl_tuple_decoder.
-
-Hint Rewrite @tuple_decoder_S @tuple_decoder_O @tuple_decoder_m1 using solve [ auto with zarith ] : simpl_tuple_decoder.
-
-Global Instance tuple_decoder_mod : forall {n W} {decode : decoder n W} {k} {isdecode : is_decode decode} (w : tuple W (S (S k))),
- tuple_decoder (k := S k) (fst w) <~= tuple_decoder w mod 2^(S k * n).
-Proof.
- intros n W decode k isdecode w.
- pose proof (snd w).
- assert (0 <= n) by eauto using decode_exponent_nonnegative.
- assert (0 <= (S k) * n) by nia.
- assert (0 <= tuple_decoder (k := S k) (fst w) < 2^(S k * n)) by apply decode_range.
- autorewrite with simpl_tuple_decoder Zshift_to_pow zsimplify.
- reflexivity.
-Qed.
-
-Global Instance tuple_decoder_div : forall {n W} {decode : decoder n W} {k} {isdecode : is_decode decode} (w : tuple W (S (S k))),
- decode (snd w) <~= tuple_decoder w / 2^(S k * n).
-Proof.
- intros n W decode k isdecode w.
- pose proof (snd w).
- assert (0 <= n) by eauto using decode_exponent_nonnegative.
- assert (0 <= (S k) * n) by nia.
- assert (0 <= k * n) by nia.
- assert (0 < 2^n) by auto with zarith.
- assert (0 <= tuple_decoder (k := S k) (fst w) < 2^(S k * n)) by apply decode_range.
- autorewrite with simpl_tuple_decoder Zshift_to_pow zsimplify.
- reflexivity.
-Qed.
-
-Global Instance tuple2_decoder_mod : forall {n W} {decode : decoder n W} {isdecode : is_decode decode} (w : tuple W 2),
- decode (fst w) <~= tuple_decoder w mod 2^n.
-Proof.
- intros n W decode isdecode w.
- generalize (@tuple_decoder_mod n W decode 0 isdecode w).
- autorewrite with simpl_tuple_decoder; trivial.
-Qed.
-
-Global Instance tuple2_decoder_div : forall {n W} {decode : decoder n W} {isdecode : is_decode decode} (w : tuple W 2),
- decode (snd w) <~= tuple_decoder w / 2^n.
-Proof.
- intros n W decode isdecode w.
- generalize (@tuple_decoder_div n W decode 0 isdecode w).
- autorewrite with simpl_tuple_decoder; trivial.
-Qed.
diff --git a/src/LegacyArithmetic/Double/Proofs/LoadImmediate.v b/src/LegacyArithmetic/Double/Proofs/LoadImmediate.v
deleted file mode 100644
index 13847b50a..000000000
--- a/src/LegacyArithmetic/Double/Proofs/LoadImmediate.v
+++ /dev/null
@@ -1,32 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-
-Local Open Scope Z_scope.
-Local Opaque tuple_decoder.
-Local Arguments Z.mul !_ !_.
-
-Section load_immediate.
- Context {n W}
- {decode : decoder n W}
- {is_decode : is_decode decode}
- {ldi : load_immediate W}
- {is_ldi : is_load_immediate ldi}.
-
- Global Instance is_load_immediate_double
- : is_load_immediate (ldi_double n).
- Proof using Type*.
- intros x H; hnf in H.
- pose proof (decode_exponent_nonnegative decode (ldi x)).
- assert (0 <= x mod 2^n < 2^n) by auto with zarith.
- assert (x / 2^n < 2^n)
- by (apply Z.div_lt_upper_bound; autorewrite with pull_Zpow zsimplify; auto with zarith).
- assert (0 <= x / 2^n < 2^n) by (split; Z.zero_bounds).
- unfold ldi_double, load_immediate_double; simpl.
- autorewrite with simpl_tuple_decoder Zshift_to_pow; simpl; push_decode.
- autorewrite with zsimplify; reflexivity.
- Qed.
-End load_immediate.
diff --git a/src/LegacyArithmetic/Double/Proofs/Multiply.v b/src/LegacyArithmetic/Double/Proofs/Multiply.v
deleted file mode 100644
index ebe19cc46..000000000
--- a/src/LegacyArithmetic/Double/Proofs/Multiply.v
+++ /dev/null
@@ -1,135 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.SpreadLeftImmediate.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.RippleCarryAddSub.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.DivModToQuotRem.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.Tactics.SimplifyProjections.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Prod.
-Import Bug5107WorkAround.
-Import BoundedRewriteNotations.
-
-Local Open Scope Z_scope.
-
-Local Opaque tuple_decoder.
-
-Lemma decode_mul_double_iff
- {n W}
- {decode : decoder n W}
- {muldw : multiply_double W}
- {isdecode : is_decode decode}
- : is_mul_double muldw
- <-> (forall x y, tuple_decoder (muldw x y) = (decode x * decode y)%Z).
-Proof.
- rewrite is_mul_double_alt by assumption.
- split; intros H x y; specialize (H x y); revert H;
- pose proof (decode_range x); pose proof (decode_range y);
- assert (0 <= decode x * decode y < 2^n * 2^n) by nia;
- assert (0 <= n) by eauto using decode_exponent_nonnegative;
- autorewrite with simpl_tuple_decoder;
- simpl; intro H'; rewrite H';
- Z.rewrite_mod_small; reflexivity.
-Qed.
-
-Global Instance decode_mul_double
- {n W}
- {decode : decoder n W}
- {muldw : multiply_double W}
- {isdecode : is_decode decode}
- {ismuldw : is_mul_double muldw}
- : forall x y, tuple_decoder (muldw x y) <~=~> (decode x * decode y)%Z
- := proj1 decode_mul_double_iff _.
-
-Section tuple2.
- Local Arguments Z.pow !_ !_.
- Local Arguments Z.mul !_ !_.
-
- Local Opaque ripple_carry_adc.
- Section full_from_half.
- Context {W}
- {mulhwll : multiply_low_low W}
- {mulhwhl : multiply_high_low W}
- {mulhwhh : multiply_high_high W}
- {adc : add_with_carry W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {half_n : Z}
- {ldi : load_immediate W}
- {decode : decoder (2 * half_n) W}
- {ismulhwll : is_mul_low_low half_n mulhwll}
- {ismulhwhl : is_mul_high_low half_n mulhwhl}
- {ismulhwhh : is_mul_high_high half_n mulhwhh}
- {isadc : is_add_with_carry adc}
- {isshl : is_shift_left_immediate shl}
- {isshr : is_shift_right_immediate shr}
- {isldi : is_load_immediate ldi}
- {isdecode : is_decode decode}.
-
- Local Arguments Z.mul !_ !_.
-
- Lemma decode_mul_double_mod x y
- : (tuple_decoder (mul_double half_n x y) = (decode x * decode y) mod (2^(2 * half_n) * 2^(2*half_n)))%Z.
- Proof using Type*.
- assert (0 <= 2 * half_n) by eauto using decode_exponent_nonnegative.
- assert (0 <= half_n) by omega.
- unfold mul_double, Let_In.
- push_decode; autorewrite with simpl_tuple_decoder; simplify_projections.
- autorewrite with zsimplify Zshift_to_pow push_Zpow.
- rewrite !spread_left_from_shift_half_correct.
- push_decode.
- generalize_decode_var.
- simpl in *.
- autorewrite with push_Zpow in *.
- repeat autorewrite with Zshift_to_pow zsimplify push_Zpow.
- rewrite <- !(Z.mul_mod_distr_r_full _ _ (_^_ * _^_)), ?Z.mul_assoc.
- Z.rewrite_mod_small.
- push_Zmod; pull_Zmod.
- apply f_equal2; [ | reflexivity ].
- Z.div_mod_to_quot_rem_in_goal; nia.
- Qed.
-
- Lemma decode_mul_double_function x y
- : tuple_decoder (mul_double half_n x y) = (decode x * decode y)%Z.
- Proof using Type*.
- rewrite decode_mul_double_mod; generalize_decode_var.
- simpl in *; Z.rewrite_mod_small; reflexivity.
- Qed.
-
- Global Instance mul_double_is_multiply_double : is_mul_double mul_double_multiply.
- Proof using Type*.
- apply decode_mul_double_iff; apply decode_mul_double_function.
- Qed.
- End full_from_half.
-
- Section half_from_full.
- Context {n W}
- {decode : decoder n W}
- {muldw : multiply_double W}
- {isdecode : is_decode decode}
- {ismuldw : is_mul_double muldw}.
-
- Local Ltac t :=
- hnf; intros [??] [??];
- assert (0 <= n) by eauto using decode_exponent_nonnegative;
- assert (0 < 2^n) by auto with zarith;
- assert (forall x y, 0 <= x < 2^n -> 0 <= y < 2^n -> 0 <= x * y < 2^n * 2^n) by auto with zarith;
- simpl @Interface.mulhwhh; simpl @Interface.mulhwhl; simpl @Interface.mulhwll;
- rewrite decode_mul_double; autorewrite with simpl_tuple_decoder Zshift_to_pow zsimplify push_Zpow;
- Z.rewrite_mod_small;
- try reflexivity.
-
- Global Instance mul_double_is_multiply_low_low : is_mul_low_low n mul_double_multiply_low_low.
- Proof using Type*. t. Qed.
- Global Instance mul_double_is_multiply_high_low : is_mul_high_low n mul_double_multiply_high_low.
- Proof using Type*. t. Qed.
- Global Instance mul_double_is_multiply_high_high : is_mul_high_high n mul_double_multiply_high_high.
- Proof using Type*. t. Qed.
- End half_from_full.
-End tuple2.
diff --git a/src/LegacyArithmetic/Double/Proofs/RippleCarryAddSub.v b/src/LegacyArithmetic/Double/Proofs/RippleCarryAddSub.v
deleted file mode 100644
index b2d53a33a..000000000
--- a/src/LegacyArithmetic/Double/Proofs/RippleCarryAddSub.v
+++ /dev/null
@@ -1,203 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Tactics.DivModToQuotRem.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SimplifyProjections.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Prod.
-Import Bug5107WorkAround.
-Import BoundedRewriteNotations.
-
-Local Coercion Z.of_nat : nat >-> Z.
-Local Notation eta x := (fst x, snd x).
-
-Local Open Scope Z_scope.
-Local Opaque tuple_decoder.
-
-Lemma ripple_carry_tuple_SS' {T} f k xss yss carry
- : @ripple_carry_tuple T f (S (S k)) xss yss carry
- = dlet xss := xss in
- dlet yss := yss in
- let '(xs, x) := eta xss in
- let '(ys, y) := eta yss in
- dlet addv := (@ripple_carry_tuple _ f (S k) xs ys carry) in
- let '(carry, zs) := eta addv in
- dlet fxy := (f x y carry) in
- let '(carry, z) := eta fxy in
- (carry, (zs, z)).
-Proof. reflexivity. Qed.
-
-Lemma ripple_carry_tuple_SS {T} f k xss yss carry
- : @ripple_carry_tuple T f (S (S k)) xss yss carry
- = let '(xs, x) := eta xss in
- let '(ys, y) := eta yss in
- let '(carry, zs) := eta (@ripple_carry_tuple _ f (S k) xs ys carry) in
- let '(carry, z) := eta (f x y carry) in
- (carry, (zs, z)).
-Proof.
- rewrite ripple_carry_tuple_SS'.
- eta_expand.
- reflexivity.
-Qed.
-
-Lemma carry_is_good (n z0 z1 k : Z)
- : 0 <= n ->
- 0 <= k ->
- (z1 + z0 >> k) >> n = (z0 + z1 << k) >> (k + n) /\
- (z0 mod 2 ^ k + ((z1 + z0 >> k) mod 2 ^ n) << k)%Z = (z0 + z1 << k) mod (2 ^ k * 2 ^ n).
-Proof.
- intros.
- assert (0 < 2 ^ n) by auto with zarith.
- assert (0 < 2 ^ k) by auto with zarith.
- assert (0 < 2^n * 2^k) by nia.
- autorewrite with Zshift_to_pow push_Zpow.
- rewrite <- (Zmod_small ((z0 mod _) + _) (2^k * 2^n)) by (Z.div_mod_to_quot_rem_in_goal; nia).
- rewrite <- !Z.mul_mod_distr_r by lia.
- rewrite !(Z.mul_comm (2^k)); pull_Zmod.
- split; [ | apply f_equal2 ];
- Z.div_mod_to_quot_rem_in_goal; nia.
-Qed.
-Section carry_sub_is_good.
- Context (n k z0 z1 : Z)
- (Hn : 0 <= n)
- (Hk : 0 <= k)
- (Hz1 : -2^n < z1 < 2^n)
- (Hz0 : -2^k <= z0 < 2^k).
-
- Lemma carry_sub_is_good_carry
- : ((z1 - if z0 <? 0 then 1 else 0) <? 0) = ((z0 + z1 << k) <? 0).
- Proof using Hk Hz0.
- clear n Hn Hz1.
- assert (0 < 2 ^ k) by auto with zarith.
- autorewrite with Zshift_to_pow.
- repeat match goal with
- | _ => progress break_match
- | [ |- context[?x <? ?y] ] => destruct (x <? y) eqn:?
- | _ => reflexivity
- | _ => progress Z.ltb_to_lt
- | [ |- true = false ] => exfalso
- | [ |- false = true ] => exfalso
- | [ |- False ] => nia
- end.
- Qed.
- Lemma carry_sub_is_good_value
- : (z0 mod 2 ^ k + ((z1 - if z0 <? 0 then 1 else 0) mod 2 ^ n) << k)%Z
- = (z0 + z1 << k) mod (2 ^ k * 2 ^ n).
- Proof using Type*.
- assert (0 < 2 ^ n) by auto with zarith.
- assert (0 < 2 ^ k) by auto with zarith.
- assert (0 < 2^n * 2^k) by nia.
- autorewrite with Zshift_to_pow push_Zpow.
- rewrite <- (Zmod_small ((z0 mod _) + _) (2^k * 2^n)) by (Z.div_mod_to_quot_rem_in_goal; nia).
- rewrite <- !Z.mul_mod_distr_r by lia.
- rewrite !(Z.mul_comm (2^k)); pull_Zmod.
- apply f_equal2; Z.div_mod_to_quot_rem_in_goal; break_match; Z.ltb_to_lt; try reflexivity;
- match goal with
- | [ q : Z |- _ = _ :> Z ]
- => first [ cut (q = -1); [ intro; subst; ring | nia ]
- | cut (q = 0); [ intro; subst; ring | nia ]
- | cut (q = 1); [ intro; subst; ring | nia ] ]
- end.
- Qed.
-End carry_sub_is_good.
-
-Definition carry_is_good_carry n z0 z1 k H0 H1 := proj1 (@carry_is_good n z0 z1 k H0 H1).
-Definition carry_is_good_value n z0 z1 k H0 H1 := proj2 (@carry_is_good n z0 z1 k H0 H1).
-
-Section ripple_carry_adc.
- Context {n W} {decode : decoder n W} (adc : add_with_carry W).
-
- Lemma ripple_carry_adc_SS k xss yss carry
- : ripple_carry_adc (k := S (S k)) adc xss yss carry
- = let '(xs, x) := eta xss in
- let '(ys, y) := eta yss in
- let '(carry, zs) := eta (ripple_carry_adc (k := S k) adc xs ys carry) in
- let '(carry, z) := eta (adc x y carry) in
- (carry, (zs, z)).
- Proof using Type. apply ripple_carry_tuple_SS. Qed.
-
- Local Opaque Z.of_nat.
- Global Instance ripple_carry_is_add_with_carry
- : forall {k}
- {isdecode : is_decode decode}
- {is_adc : is_add_with_carry adc},
- is_add_with_carry (ripple_carry_adc (k := k) adc).
- Proof using Type.
- destruct k as [|k]; intros isdecode is_adc.
- { constructor; simpl; intros; autorewrite with zsimplify; reflexivity. }
- { induction k as [|k IHk].
- { cbv [ripple_carry_adc ripple_carry_tuple to_list].
- constructor; simpl @fst; simpl @snd; intros;
- simpl; pull_decode; reflexivity. }
- { apply Build_is_add_with_carry'; intros x y c.
- assert (0 <= n) by (destruct x; eauto using decode_exponent_nonnegative).
- assert (2^n <> 0) by auto with zarith.
- assert (0 <= S k * n) by nia.
- rewrite !tuple_decoder_S, !ripple_carry_adc_SS by assumption.
- simplify_projections; push_decode; generalize_decode.
- erewrite carry_is_good_carry, carry_is_good_value by lia.
- autorewrite with pull_Zpow push_Zof_nat zsimplify Zshift_to_pow.
- split; apply f_equal2; nia. } }
- Qed.
-
-End ripple_carry_adc.
-
-Hint Extern 2 (@is_add_with_carry _ (tuple ?W ?k) (@tuple_decoder ?n _ ?decode _) (@ripple_carry_adc _ ?adc _))
-=> apply (@ripple_carry_is_add_with_carry n W decode adc k) : typeclass_instances.
-Hint Resolve (fun n W decode adc isdecode isadc
- => @ripple_carry_is_add_with_carry n W decode adc 2 isdecode isadc
- : @is_add_with_carry (Z.of_nat 2 * n) (W * W) (@tuple_decoder n W decode 2) (@ripple_carry_adc W adc 2))
- : typeclass_instances.
-
-Section ripple_carry_subc.
- Context {n W} {decode : decoder n W} (subc : sub_with_carry W).
-
- Lemma ripple_carry_subc_SS k xss yss carry
- : ripple_carry_subc (k := S (S k)) subc xss yss carry
- = let '(xs, x) := eta xss in
- let '(ys, y) := eta yss in
- let '(carry, zs) := eta (ripple_carry_subc (k := S k) subc xs ys carry) in
- let '(carry, z) := eta (subc x y carry) in
- (carry, (zs, z)).
- Proof using Type. apply ripple_carry_tuple_SS. Qed.
-
- Local Opaque Z.of_nat.
- Global Instance ripple_carry_is_sub_with_carry
- : forall {k}
- {isdecode : is_decode decode}
- {is_subc : is_sub_with_carry subc},
- is_sub_with_carry (ripple_carry_subc (k := k) subc).
- Proof using Type.
- destruct k as [|k]; intros isdecode is_subc.
- { constructor; repeat (intros [] || intro); autorewrite with simpl_tuple_decoder zsimplify; reflexivity. }
- { induction k as [|k IHk].
- { cbv [ripple_carry_subc ripple_carry_tuple to_list].
- constructor; simpl @fst; simpl @snd; intros;
- simpl; push_decode; autorewrite with zsimplify; reflexivity. }
- { apply Build_is_sub_with_carry'; intros x y c.
- assert (0 <= n) by (destruct x; eauto using decode_exponent_nonnegative).
- assert (2^n <> 0) by auto with zarith.
- assert (0 <= S k * n) by nia.
- rewrite !tuple_decoder_S, !ripple_carry_subc_SS by assumption.
- simplify_projections; push_decode; generalize_decode.
- erewrite (carry_sub_is_good_carry (S k * n)), carry_sub_is_good_value by (break_match; lia).
- autorewrite with pull_Zpow push_Zof_nat zsimplify Zshift_to_pow.
- split; apply f_equal2; nia. } }
- Qed.
-
-End ripple_carry_subc.
-
-Hint Extern 2 (@is_sub_with_carry _ (tuple ?W ?k) (@tuple_decoder ?n _ ?decode _) (@ripple_carry_subc _ ?subc _))
-=> apply (@ripple_carry_is_sub_with_carry n W decode subc k) : typeclass_instances.
-Hint Resolve (fun n W decode subc isdecode issubc
- => @ripple_carry_is_sub_with_carry n W decode subc 2 isdecode issubc
- : @is_sub_with_carry (Z.of_nat 2 * n) (W * W) (@tuple_decoder n W decode 2) (@ripple_carry_subc W subc 2))
- : typeclass_instances.
diff --git a/src/LegacyArithmetic/Double/Proofs/SelectConditional.v b/src/LegacyArithmetic/Double/Proofs/SelectConditional.v
deleted file mode 100644
index 953acf056..000000000
--- a/src/LegacyArithmetic/Double/Proofs/SelectConditional.v
+++ /dev/null
@@ -1,25 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-
-Section select_conditional.
- Context {n W}
- {decode : decoder n W}
- {is_decode : is_decode decode}
- {selc : select_conditional W}
- {is_selc : is_select_conditional selc}.
-
- Global Instance is_select_conditional_double
- : is_select_conditional selc_double.
- Proof using Type*.
- intros b x y.
- destruct n.
- { rewrite !(tuple_decoder_n_O (W:=W) 2); now destruct b. }
- { rewrite (tuple_decoder_2 x), (tuple_decoder_2 y), (tuple_decoder_2 (selc_double b x y))
- by apply Zle_0_pos.
- push_decode.
- now destruct b. }
- { rewrite !(tuple_decoder_n_neg (W:=W) 2); now destruct b. }
- Qed.
-End select_conditional.
diff --git a/src/LegacyArithmetic/Double/Proofs/ShiftLeft.v b/src/LegacyArithmetic/Double/Proofs/ShiftLeft.v
deleted file mode 100644
index 1944f99b2..000000000
--- a/src/LegacyArithmetic/Double/Proofs/ShiftLeft.v
+++ /dev/null
@@ -1,43 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.ShiftLeftRightTactic.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Definitions.
-
-Local Open Scope Z_scope.
-
-Local Opaque tuple_decoder.
-Local Arguments Z.pow !_ !_.
-Local Arguments Z.mul !_ !_.
-
-Section shl.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {or : bitwise_or W}
- {decode : decoder n W}
- {isdecode : is_decode decode}
- {isldi : is_load_immediate ldi}
- {isshl : is_shift_left_immediate shl}
- {isshr : is_shift_right_immediate shr}
- {isor : is_bitwise_or or}.
-
- Global Instance is_shift_left_immediate_double : is_shift_left_immediate (shl_double n).
- Proof using Type*.
- intros r count H; hnf in H.
- assert (0 < 2^count) by auto with zarith.
- assert (0 < 2^(n+count)) by auto with zarith.
- assert (forall x, 0 <= Z.pow2_mod x n < 2^n) by auto with zarith.
- unfold shl_double; simpl.
- generalize (decode_range r).
- pose proof (decode_range (fst r)).
- pose proof (decode_range (snd r)).
- assert (forall n', 2^n <= 2^n' -> 0 <= decode (fst r) < 2^n') by (simpl in *; auto with zarith).
- assert (forall n', n <= n' -> 0 <= decode (fst r) < 2^n') by auto with zarith omega.
- autorewrite with simpl_tuple_decoder; push_decode.
- shift_left_right_t.
- Qed.
-End shl.
diff --git a/src/LegacyArithmetic/Double/Proofs/ShiftLeftRightTactic.v b/src/LegacyArithmetic/Double/Proofs/ShiftLeftRightTactic.v
deleted file mode 100644
index 98cf3cf9c..000000000
--- a/src/LegacyArithmetic/Double/Proofs/ShiftLeftRightTactic.v
+++ /dev/null
@@ -1,50 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.Testbit.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Tactics.Ztestbit.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Export Crypto.Util.ZUtil.ZSimplify.Autogenerated.
-Require Export Crypto.Util.ZUtil.ZSimplify.Core.
-Require Export Crypto.Util.ZUtil.ZSimplify.Simple.
-Require Export Crypto.Util.ZUtil.LandLorShiftBounds.
-
-Local Open Scope Z_scope.
-
-Local Arguments Z.pow !_ !_.
-Local Arguments Z.mul !_ !_.
-
-Ltac shift_left_right_t :=
- repeat match goal with
- | [ |- ?x = ?x ] => reflexivity
- | [ |- Z.testbit ?x ?n = Z.testbit ?x ?n' ] => apply f_equal; try omega
- | [ |- orb (Z.testbit ?x _) (Z.testbit ?y _) = orb (Z.testbit ?x _) (Z.testbit ?y _) ]
- => apply f_equal2
- | _ => progress Z.ltb_to_lt
- | _ => progress subst
- | _ => progress unfold AutoRewrite.rewrite_eq
- | _ => progress intros
- | _ => omega
- | _ => solve [ trivial ]
- | _ => progress break_match_step ltac:(fun _ => idtac)
- | [ |- context[Z.lor (?x >> ?count) (Z.pow2_mod (?y << (?n - ?count)) ?n)] ]
- => unique assert (0 <= Z.lor (x >> count) (Z.pow2_mod (y << (n - count)) n) < 2 ^ n) by (autorewrite with Zshift_to_pow; auto with zarith nia)
- | _ => progress push_decode
- | [ |- context[Interface.decode (fst ?x)] ] => is_var x; destruct x; simpl in *
- | [ |- context[@Interface.decode ?n ?W ?d ?x] ] => is_var x; generalize dependent (@Interface.decode n W d x); intros
- | _ => progress Z.rewrite_mod_small
- | _ => progress autorewrite with convert_to_Ztestbit
- | _ => progress autorewrite with zsimplify_fast
- | [ |- _ = _ :> Z ] => apply Z.bits_inj'; intros
- | _ => progress autorewrite with Ztestbit_full
- | _ => progress autorewrite with bool_congr
- | [ |- Z.testbit _ (?x - ?y + (?y - ?z)) = false ]
- => autorewrite with zsimplify
- | [ H : 0 <= ?x < 2^?n |- Z.testbit ?x ?n' = false ]
- => assert (n <= n') by auto with zarith; progress Ztestbit
- | _ => progress Ztestbit_full
- end.
diff --git a/src/LegacyArithmetic/Double/Proofs/ShiftRight.v b/src/LegacyArithmetic/Double/Proofs/ShiftRight.v
deleted file mode 100644
index 245e03480..000000000
--- a/src/LegacyArithmetic/Double/Proofs/ShiftRight.v
+++ /dev/null
@@ -1,42 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.ShiftLeftRightTactic.
-
-Local Open Scope Z_scope.
-
-Local Opaque tuple_decoder.
-Local Arguments Z.pow !_ !_.
-Local Arguments Z.mul !_ !_.
-
-Section shr.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {or : bitwise_or W}
- {decode : decoder n W}
- {isdecode : is_decode decode}
- {isldi : is_load_immediate ldi}
- {isshl : is_shift_left_immediate shl}
- {isshr : is_shift_right_immediate shr}
- {isor : is_bitwise_or or}.
-
- Global Instance is_shift_right_immediate_double : is_shift_right_immediate (shr_double n).
- Proof using Type*.
- intros r count H; hnf in H.
- assert (0 < 2^count) by auto with zarith.
- assert (0 < 2^(n+count)) by auto with zarith.
- assert (forall n', ~n' + count < n -> 2^n <= 2^(n'+count)) by auto with zarith omega.
- assert (forall n', ~n' + count < n -> 2^n <= 2^(n'+count)) by auto with zarith omega.
- unfold shr_double; simpl.
- generalize (decode_range r).
- pose proof (decode_range (fst r)).
- pose proof (decode_range (snd r)).
- assert (forall n', 2^n <= 2^n' -> 0 <= decode (fst r) < 2^n') by (simpl in *; auto with zarith).
- assert (forall n', n <= n' -> 0 <= decode (fst r) < 2^n') by auto with zarith omega.
- autorewrite with simpl_tuple_decoder; push_decode.
- shift_left_right_t.
- Qed.
-End shr.
diff --git a/src/LegacyArithmetic/Double/Proofs/ShiftRightDoubleWordImmediate.v b/src/LegacyArithmetic/Double/Proofs/ShiftRightDoubleWordImmediate.v
deleted file mode 100644
index 7210d80d5..000000000
--- a/src/LegacyArithmetic/Double/Proofs/ShiftRightDoubleWordImmediate.v
+++ /dev/null
@@ -1,42 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.ShiftLeftRightTactic.
-Require Import Crypto.Util.ZUtil.Hints.Core.
-Require Import Crypto.Util.ZUtil.Definitions.
-
-Local Open Scope Z_scope.
-
-Local Opaque tuple_decoder.
-Local Arguments Z.pow !_ !_.
-Local Arguments Z.mul !_ !_.
-
-Section shrd.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shrd : shift_right_doubleword_immediate W}
- {decode : decoder n W}
- {isdecode : is_decode decode}
- {isldi : is_load_immediate ldi}
- {isshrd : is_shift_right_doubleword_immediate shrd}.
-
- Local Ltac zutil_arith ::= solve [ auto with nocore omega ].
-
- Global Instance is_shift_right_doubleword_immediate_double : is_shift_right_doubleword_immediate (shrd_double n).
- Proof using isdecode isshrd.
- intros high low count Hcount; hnf in Hcount.
- unfold shrd_double, shift_right_doubleword_immediate_double; simpl.
- generalize (decode_range low).
- generalize (decode_range high).
- generalize (decode_range (fst low)).
- generalize (decode_range (snd low)).
- generalize (decode_range (fst high)).
- generalize (decode_range (snd high)).
- assert (forall x, 0 <= Z.pow2_mod x n < 2^n) by auto with zarith.
- assert (forall n' x, 2^n <= 2^n' -> 0 <= x < 2^n -> 0 <= x < 2^n') by auto with zarith.
- assert (forall n' x, n <= n' -> 0 <= x < 2^n -> 0 <= x < 2^n') by auto with zarith omega.
- autorewrite with simpl_tuple_decoder; push_decode.
- shift_left_right_t.
- Qed.
-End shrd.
diff --git a/src/LegacyArithmetic/Double/Proofs/SpreadLeftImmediate.v b/src/LegacyArithmetic/Double/Proofs/SpreadLeftImmediate.v
deleted file mode 100644
index 0cbc237d2..000000000
--- a/src/LegacyArithmetic/Double/Proofs/SpreadLeftImmediate.v
+++ /dev/null
@@ -1,152 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.LegacyArithmetic.InterfaceProofs.
-Require Import Crypto.LegacyArithmetic.Double.Core.
-Require Import Crypto.LegacyArithmetic.Double.Proofs.Decode.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.Modulo.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.LetIn.
-Import Bug5107WorkAround.
-Import BoundedRewriteNotations.
-
-Local Open Scope Z_scope.
-
-Lemma decode_is_spread_left_immediate_iff
- {n W}
- {decode : decoder n W}
- {sprl : spread_left_immediate W}
- {isdecode : is_decode decode}
- : is_spread_left_immediate sprl
- <-> (forall r count,
- 0 <= count < n
- -> tuple_decoder (sprl r count) = decode r << count).
-Proof.
- rewrite is_spread_left_immediate_alt by assumption.
- split; intros H r count Hc; specialize (H r count Hc); revert H;
- pose proof (decode_range r);
- assert (0 < 2^count < 2^n) by auto with zarith;
- autorewrite with simpl_tuple_decoder;
- simpl; intro H'; rewrite H';
- autorewrite with Zshift_to_pow;
- Z.rewrite_mod_small; reflexivity.
-Qed.
-
-Global Instance decode_is_spread_left_immediate
- {n W}
- {decode : decoder n W}
- {sprl : spread_left_immediate W}
- {isdecode : is_decode decode}
- {issprl : is_spread_left_immediate sprl}
- : forall r count,
- (0 <= count < n)%bounded_rewrite
- -> tuple_decoder (sprl r count) <~=~> decode r << count
- := proj1 decode_is_spread_left_immediate_iff _.
-
-
-Section tuple2.
- Section spread_left.
- Context (n : Z) {W}
- {ldi : load_immediate W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {decode : decoder n W}
- {isdecode : is_decode decode}
- {isldi : is_load_immediate ldi}
- {isshl : is_shift_left_immediate shl}
- {isshr : is_shift_right_immediate shr}.
-
- Lemma spread_left_from_shift_correct
- r count
- (H : 0 < count < n)
- : (decode (shl r count) + decode (shr r (n - count)) << n = decode r << count mod (2^n*2^n))%Z.
- Proof using isdecode isshl isshr.
- assert (0 <= count < n) by lia.
- assert (0 <= n - count < n) by lia.
- assert (0 < 2^(n-count)) by auto with zarith.
- assert (2^count < 2^n) by auto with zarith.
- pose proof (decode_range r).
- assert (0 <= decode r * 2 ^ count < 2 ^ n * 2^n) by auto with zarith.
- push_decode; autorewrite with Zshift_to_pow zsimplify.
- replace (decode r / 2^(n-count) * 2^n)%Z with ((decode r / 2^(n-count) * 2^(n-count)) * 2^count)%Z
- by (rewrite <- Z.mul_assoc; autorewrite with pull_Zpow zsimplify; reflexivity).
- rewrite Z.mul_div_eq' by lia.
- autorewrite with push_Zmul zsimplify.
- rewrite <- Z.mul_mod_distr_r_full, Z.add_sub_assoc.
- repeat autorewrite with pull_Zpow zsimplify in *.
- reflexivity.
- Qed.
-
- Global Instance is_spread_left_from_shift
- : is_spread_left_immediate (sprl_from_shift n).
- Proof using Type*.
- apply is_spread_left_immediate_alt.
- intros r count; intros.
- pose proof (decode_range r).
- assert (0 < 2^n) by auto with zarith.
- assert (decode r < 2^n * 2^n) by (generalize dependent (decode r); intros; nia).
- autorewrite with simpl_tuple_decoder.
- destruct (Z_zerop count).
- { subst; autorewrite with Zshift_to_pow zsimplify.
- simpl; push_decode.
- autorewrite with push_Zpow zsimplify.
- reflexivity. }
- simpl.
- rewrite <- spread_left_from_shift_correct by lia.
- autorewrite with zsimplify Zpow_to_shift.
- reflexivity.
- Qed.
- End spread_left.
-
- Section full_from_half.
- Context {W}
- {mulhwll : multiply_low_low W}
- {mulhwhl : multiply_high_low W}
- {mulhwhh : multiply_high_high W}
- {adc : add_with_carry W}
- {shl : shift_left_immediate W}
- {shr : shift_right_immediate W}
- {half_n : Z}
- {ldi : load_immediate W}
- {decode : decoder (2 * half_n) W}
- {ismulhwll : is_mul_low_low half_n mulhwll}
- {ismulhwhl : is_mul_high_low half_n mulhwhl}
- {ismulhwhh : is_mul_high_high half_n mulhwhh}
- {isadc : is_add_with_carry adc}
- {isshl : is_shift_left_immediate shl}
- {isshr : is_shift_right_immediate shr}
- {isldi : is_load_immediate ldi}
- {isdecode : is_decode decode}.
-
- Local Arguments Z.mul !_ !_.
- Lemma spread_left_from_shift_half_correct
- r
- : (decode (shl r half_n) + decode (shr r half_n) * (2^half_n * 2^half_n)
- = (decode r * 2^half_n) mod (2^half_n*2^half_n*2^half_n*2^half_n))%Z.
- Proof using Type*.
- destruct (0 <? half_n) eqn:Hn; Z.ltb_to_lt.
- { pose proof (spread_left_from_shift_correct (2*half_n) r half_n) as H.
- specialize_by lia.
- autorewrite with Zshift_to_pow push_Zpow zsimplify in *.
- rewrite !Z.mul_assoc in *.
- simpl in *; rewrite <- H; reflexivity. }
- { pose proof (decode_range r).
- pose proof (decode_range (shr r half_n)).
- pose proof (decode_range (shl r half_n)).
- simpl in *.
- autorewrite with push_Zpow in *.
- destruct (Z_zerop half_n).
- { subst; simpl in *.
- autorewrite with zsimplify.
- nia. }
- assert (half_n < 0) by lia.
- assert (2^half_n = 0) by auto with zarith.
- assert (0 < 0) by nia; omega. }
- Qed.
- End full_from_half.
-End tuple2.
diff --git a/src/LegacyArithmetic/Interface.v b/src/LegacyArithmetic/Interface.v
deleted file mode 100644
index 9a652bbd4..000000000
--- a/src/LegacyArithmetic/Interface.v
+++ /dev/null
@@ -1,451 +0,0 @@
-(*** Interface for bounded arithmetic *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.ZUtil.Notations.
-
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.AutoRewrite.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope type_scope.
-Local Open Scope Z_scope.
-
-Class decoder (n : Z) W :=
- { decode : W -> Z }.
-Coercion decode : decoder >-> Funclass.
-Global Arguments decode {n W _} _.
-
-Class is_decode {n W} (decode : decoder n W) :=
- decode_range : forall x, 0 <= decode x < 2^n.
-
-Class bounded_in_range_cls (x y z : Z) := is_bounded_in_range : x <= y < z.
-Ltac bounded_solver_tac :=
- solve [ eassumption | typeclasses eauto | omega ].
-Hint Extern 0 (bounded_in_range_cls _ _ _) => unfold bounded_in_range_cls; bounded_solver_tac : typeclass_instances.
-Global Arguments bounded_in_range_cls / _ _ _.
-Global Instance decode_range_bound {n W} {decode : decoder n W} {H : is_decode decode}
- : forall x, bounded_in_range_cls 0 (decode x) (2^n)
- := H.
-
-Class bounded_le_cls (x y : Z) := is_bounded_le : x <= y.
-Hint Extern 0 (bounded_le_cls _ _) => unfold bounded_le_cls; bounded_solver_tac : typeclass_instances.
-Global Arguments bounded_le_cls / _ _.
-
-Inductive bounded_decode_pusher_tag := decode_tag.
-
-Ltac push_decode_step :=
- match goal with
- | [ |- context[@decode ?n ?W ?decoder ?w] ]
- => tc_rewrite (decode_tag) (@decode n W decoder w) ->
- | [ |- context[match @fst ?A ?B ?x with true => 1 | false => 0 end] ]
- => tc_rewrite (decode_tag) (match @fst A B x with true => 1 | false => 0 end) ->
- | [ |- context[@fst bool ?B ?x] ]
- => tc_rewrite (decode_tag) (@fst bool B x) ->
- end.
-Ltac push_decode := repeat push_decode_step.
-Ltac pull_decode_step :=
- match goal with
- | [ |- context[?E] ]
- => lazymatch type of E with
- | Z => idtac
- | bool => idtac
- end;
- tc_rewrite (decode_tag) <- E
- end.
-Ltac pull_decode := repeat pull_decode_step.
-
-Delimit Scope bounded_rewrite_scope with bounded_rewrite.
-
-Infix "<~=~>" := (rewrite_eq decode_tag) : bounded_rewrite_scope.
-Infix "=~>" := (rewrite_left_to_right_eq decode_tag) : bounded_rewrite_scope.
-Infix "<~=" := (rewrite_right_to_left_eq decode_tag) : bounded_rewrite_scope.
-Notation "x <= y" := (bounded_le_cls x y) : bounded_rewrite_scope.
-Notation "x <= y < z" := (bounded_in_range_cls x y z) : bounded_rewrite_scope.
-
-Module Import BoundedRewriteNotations.
- Infix "<~=~>" := (rewrite_eq decode_tag) : type_scope.
- Infix "=~>" := (rewrite_left_to_right_eq decode_tag) : type_scope.
- Infix "<~=" := (rewrite_right_to_left_eq decode_tag) : type_scope.
- Open Scope bounded_rewrite_scope.
-End BoundedRewriteNotations.
-
-(** This is required for typeclass resolution to be fast. *)
-Typeclasses Opaque decode.
-
-Section InstructionGallery.
- Context (n : Z) (* bit-width of width of [W] *)
- {W : Type} (* bounded type, [W] for word *)
- (Wdecoder : decoder n W).
- Local Notation imm := Z (only parsing). (* immediate (compile-time) argument *)
-
- Class load_immediate := { ldi : imm -> W }.
- Global Coercion ldi : load_immediate >-> Funclass.
-
- Class is_load_immediate {ldi : load_immediate} :=
- decode_load_immediate :> forall x, 0 <= x < 2^n -> decode (ldi x) =~> x.
-
- Class shift_right_doubleword_immediate := { shrd : W -> W -> imm -> W }.
- Global Coercion shrd : shift_right_doubleword_immediate >-> Funclass.
-
- Class is_shift_right_doubleword_immediate (shrd : shift_right_doubleword_immediate) :=
- decode_shift_right_doubleword :>
- forall high low count,
- 0 <= count < n
- -> decode (shrd high low count) <~=~> (((decode high << n) + decode low) >> count) mod 2^n.
-
- (** Quoting http://www.felixcloutier.com/x86/SHRD.html:
-
- If the count is 1 or greater, the CF flag is filled with the
- last bit shifted out of the destination operand and the SF, ZF,
- and PF flags are set according to the value of the result. For a
- 1-bit shift, the OF flag is set if a sign change occurred;
- otherwise, it is cleared. For shifts greater than 1 bit, the OF
- flag is undefined. If a shift occurs, the AF flag is
- unde-fined. If the count operand is 0, the flags are not
- affected. If the count is greater than the operand size, the
- flags are undefined.
-
- We ignore the CF in the specification; we only have it so that
- we can ensure that the CF flag gets appropriately clobbered. *)
- Class shift_right_doubleword_immediate_with_CF := { shrdf : W -> W -> imm -> bool * W }.
- Global Coercion shrdf : shift_right_doubleword_immediate_with_CF >-> Funclass.
-
- Class is_shift_right_doubleword_immediate_with_CF (shrdf : shift_right_doubleword_immediate_with_CF) :=
- decode_snd_shift_right_doubleword_with_CF :>
- forall high low count,
- 0 <= count < n
- -> decode (snd (shrdf high low count)) <~=~> (((decode high << n) + decode low) >> count) mod 2^n.
-
- Class shift_left_immediate := { shl : W -> imm -> W }.
- Global Coercion shl : shift_left_immediate >-> Funclass.
-
- Class is_shift_left_immediate (shl : shift_left_immediate) :=
- decode_shift_left_immediate :>
- forall r count, 0 <= count < n -> decode (shl r count) <~=~> (decode r << count) mod 2^n.
-
- (** Quoting http://www.felixcloutier.com/x86/SAL:SAR:SHL:SHR.html:
-
- The CF flag contains the value of the last bit shifted out of
- the destination operand; it is undefined for SHL and SHR
- instructions where the count is greater than or equal to the
- size (in bits) of the destination operand. The OF flag is
- affected only for 1-bit shifts (see “Description” above);
- otherwise, it is undefined. The SF, ZF, and PF flags are set
- according to the result. If the count is 0, the flags are not
- affected. For a non-zero count, the AF flag is undefined.
-
- We ignore the CF in the specification; we only have it so that
- we can ensure that the CF flag gets appropriately clobbered. *)
- Class shift_left_immediate_with_CF := { shlf : W -> imm -> bool * W }.
- Global Coercion shlf : shift_left_immediate_with_CF >-> Funclass.
-
- Class is_shift_left_immediate_with_CF (shlf : shift_left_immediate_with_CF) :=
- decode_shift_left_immediate_with_CF :>
- forall r count, 0 <= count < n -> decode (snd (shlf r count)) <~=~> (decode r << count) mod 2^n.
-
- Class shift_right_immediate := { shr : W -> imm -> W }.
- Global Coercion shr : shift_right_immediate >-> Funclass.
-
- Class is_shift_right_immediate (shr : shift_right_immediate) :=
- decode_shift_right_immediate :>
- forall r count, 0 <= count < n -> decode (shr r count) <~=~> (decode r >> count).
-
- Class shift_right_immediate_with_CF := { shrf : W -> imm -> bool * W }.
- Global Coercion shrf : shift_right_immediate_with_CF >-> Funclass.
-
- Class is_shift_right_immediate_with_CF (shrf : shift_right_immediate_with_CF) :=
- decode_shift_right_immediate_with_CF :>
- forall r count, 0 <= count < n -> decode (snd (shrf r count)) <~=~> (decode r >> count).
-
- Class spread_left_immediate := { sprl : W -> imm -> tuple W 2 (* [(low, high)] *) }.
- Global Coercion sprl : spread_left_immediate >-> Funclass.
-
- Class is_spread_left_immediate (sprl : spread_left_immediate) :=
- {
- decode_fst_spread_left_immediate :> forall r count,
- 0 <= count < n
- -> decode (fst (sprl r count)) =~> (decode r << count) mod 2^n;
- decode_snd_spread_left_immediate :> forall r count,
- 0 <= count < n
- -> decode (snd (sprl r count)) =~> (decode r << count) >> n
-
- }.
-
- Class mask_keep_low := { mkl :> W -> imm -> W }.
- Global Coercion mkl : mask_keep_low >-> Funclass.
-
- Class is_mask_keep_low (mkl : mask_keep_low) :=
- decode_mask_keep_low :> forall r count,
- 0 <= count < n -> decode (mkl r count) <~=~> decode r mod 2^count.
-
- Class bitwise_and := { and : W -> W -> W }.
- Global Coercion and : bitwise_and >-> Funclass.
-
- Class is_bitwise_and (and : bitwise_and) :=
- {
- decode_bitwise_and :> forall x y, decode (and x y) <~=~> Z.land (decode x) (decode y)
- }.
-
- (** Quoting http://www.felixcloutier.com/x86/AND.html:
-
- The OF and CF flags are cleared; the SF, ZF, and PF flags are set
- according to the result. The state of the AF flag is
- undefined. *)
- Class bitwise_and_with_CF := { andf : W -> W -> bool * W }.
- Global Coercion andf : bitwise_and_with_CF >-> Funclass.
-
- Class is_bitwise_and_with_CF (andf : bitwise_and_with_CF) :=
- {
- decode_snd_bitwise_and_with_CF :> forall x y, decode (snd (andf x y)) <~=~> Z.land (decode x) (decode y);
- fst_bitwise_and_with_CF :> forall x y, fst (andf x y) =~> false
- }.
-
- Class bitwise_or := { or : W -> W -> W }.
- Global Coercion or : bitwise_or >-> Funclass.
-
- Class is_bitwise_or (or : bitwise_or) :=
- {
- decode_bitwise_or :> forall x y, decode (or x y) <~=~> Z.lor (decode x) (decode y)
- }.
-
- (** Quoting http://www.felixcloutier.com/x86/OR.html:
-
- The OF or CF flags are cleared; the SF, ZF, or PF flags are set
- according to the result. The state of the AF flag is
- undefined. *)
- Class bitwise_or_with_CF := { orf : W -> W -> bool * W }.
- Global Coercion orf : bitwise_or_with_CF >-> Funclass.
-
- Class is_bitwise_or_with_CF (orf : bitwise_or_with_CF) :=
- {
- decode_snd_bitwise_or_with_CF :> forall x y, decode (snd (orf x y)) <~=~> Z.lor (decode x) (decode y);
- fst_bitwise_or_with_CF :> forall x y, fst (orf x y) =~> false
- }.
-
- Local Notation bit b := (if b then 1 else 0).
-
- Class add_with_carry := { adc : W -> W -> bool -> bool * W }.
- Global Coercion adc : add_with_carry >-> Funclass.
-
- Class is_add_with_carry (adc : add_with_carry) :=
- {
- bit_fst_add_with_carry :> forall x y c, bit (fst (adc x y c)) <~=~> (decode x + decode y + bit c) >> n;
- decode_snd_add_with_carry :> forall x y c, decode (snd (adc x y c)) <~=~> (decode x + decode y + bit c) mod (2^n)
- }.
-
- Class sub_with_carry := { subc : W -> W -> bool -> bool * W }.
- Global Coercion subc : sub_with_carry >-> Funclass.
-
- Class is_sub_with_carry (subc:W->W->bool->bool*W) :=
- {
- fst_sub_with_carry :> forall x y c, fst (subc x y c) <~=~> ((decode x - decode y - bit c) <? 0);
- decode_snd_sub_with_carry :> forall x y c, decode (snd (subc x y c)) <~=~> (decode x - decode y - bit c) mod 2^n
- }.
-
- Class multiply := { mul : W -> W -> W }.
- Global Coercion mul : multiply >-> Funclass.
-
- Class is_mul (mul : multiply) :=
- decode_mul :> forall x y, decode (mul x y) <~=~> (decode x * decode y).
-
- Class multiply_low_low := { mulhwll : W -> W -> W }.
- Global Coercion mulhwll : multiply_low_low >-> Funclass.
- Class multiply_high_low := { mulhwhl : W -> W -> W }.
- Global Coercion mulhwhl : multiply_high_low >-> Funclass.
- Class multiply_high_high := { mulhwhh : W -> W -> W }.
- Global Coercion mulhwhh : multiply_high_high >-> Funclass.
- Class multiply_double := { muldw : W -> W -> tuple W 2 }.
- Global Coercion muldw : multiply_double >-> Funclass.
- (** Quoting http://www.felixcloutier.com/x86/MUL.html:
-
- The OF and CF flags are set to 0 if the upper half of the result
- is 0; otherwise, they are set to 1. The SF, ZF, AF, and PF flags
- are undefined.
-
- We ignore the CF in the specification; we only have it so that
- we can ensure that the CF flag gets appropriately clobbered. *)
- Class multiply_double_with_CF := { muldwf : W -> W -> bool * tuple W 2 }.
- Global Coercion muldwf : multiply_double_with_CF >-> Funclass.
-
- Class is_mul_low_low (w:Z) (mulhwll : multiply_low_low) :=
- decode_mul_low_low :>
- forall x y, decode (mulhwll x y) <~=~> ((decode x mod 2^w) * (decode y mod 2^w)) mod 2^n.
- Class is_mul_high_low (w:Z) (mulhwhl : multiply_high_low) :=
- decode_mul_high_low :>
- forall x y, decode (mulhwhl x y) <~=~> ((decode x >> w) * (decode y mod 2^w)) mod 2^n.
- Class is_mul_high_high (w:Z) (mulhwhh : multiply_high_high) :=
- decode_mul_high_high :>
- forall x y, decode (mulhwhh x y) <~=~> ((decode x >> w) * (decode y >> w)) mod 2^n.
- Class is_mul_double (muldw : multiply_double) :=
- {
- decode_fst_mul_double :>
- forall x y, decode (fst (muldw x y)) =~> (decode x * decode y) mod 2^n;
- decode_snd_mul_double :>
- forall x y, decode (snd (muldw x y)) =~> (decode x * decode y) >> n
- }.
-
- Class is_mul_double_with_CF (muldwf : multiply_double_with_CF) :=
- {
- decode_fst_mul_double_with_CF :>
- forall x y, decode (fst (snd (muldwf x y))) =~> (decode x * decode y) mod 2^n;
- decode_snd_mul_double_with_CF :>
- forall x y, decode (snd (snd (muldwf x y))) =~> (decode x * decode y) >> n
- }.
-
- Class select_conditional := { selc : bool -> W -> W -> W }.
- Global Coercion selc : select_conditional >-> Funclass.
-
- Class is_select_conditional (selc : select_conditional) :=
- decode_select_conditional :> forall b x y,
- decode (selc b x y) <~=~> if b then decode x else decode y.
-
- Class add_modulo := { addm : W -> W -> W (* modulus *) -> W }.
- Global Coercion addm : add_modulo >-> Funclass.
-
- Class is_add_modulo (addm : add_modulo) :=
- decode_add_modulo :> forall x y modulus,
- decode (addm x y modulus) <~=~> (if (decode x + decode y) <? decode modulus
- then (decode x + decode y)
- else (decode x + decode y) - decode modulus).
-End InstructionGallery.
-
-Global Arguments load_immediate : clear implicits.
-Global Arguments shift_right_doubleword_immediate : clear implicits.
-Global Arguments shift_right_doubleword_immediate_with_CF : clear implicits.
-Global Arguments shift_left_immediate : clear implicits.
-Global Arguments shift_left_immediate_with_CF : clear implicits.
-Global Arguments shift_right_immediate : clear implicits.
-Global Arguments shift_right_immediate_with_CF : clear implicits.
-Global Arguments spread_left_immediate : clear implicits.
-Global Arguments mask_keep_low : clear implicits.
-Global Arguments bitwise_and : clear implicits.
-Global Arguments bitwise_and_with_CF : clear implicits.
-Global Arguments bitwise_or : clear implicits.
-Global Arguments bitwise_or_with_CF : clear implicits.
-Global Arguments add_with_carry : clear implicits.
-Global Arguments sub_with_carry : clear implicits.
-Global Arguments multiply : clear implicits.
-Global Arguments multiply_low_low : clear implicits.
-Global Arguments multiply_high_low : clear implicits.
-Global Arguments multiply_high_high : clear implicits.
-Global Arguments multiply_double : clear implicits.
-Global Arguments multiply_double_with_CF : clear implicits.
-Global Arguments select_conditional : clear implicits.
-Global Arguments add_modulo : clear implicits.
-Global Arguments ldi {_ _} _.
-Global Arguments shrdf {_ _} _ _ _.
-Global Arguments shrd {_ _} _ _ _.
-Global Arguments shl {_ _} _ _.
-Global Arguments shlf {_ _} _ _.
-Global Arguments shr {_ _} _ _.
-Global Arguments shrf {_ _} _ _.
-Global Arguments sprl {_ _} _ _.
-Global Arguments mkl {_ _} _ _.
-Global Arguments and {_ _} _ _.
-Global Arguments andf {_ _} _ _.
-Global Arguments or {_ _} _ _.
-Global Arguments orf {_ _} _ _.
-Global Arguments adc {_ _} _ _ _.
-Global Arguments subc {_ _} _ _ _.
-Global Arguments mul {_ _} _ _.
-Global Arguments mulhwll {_ _} _ _.
-Global Arguments mulhwhl {_ _} _ _.
-Global Arguments mulhwhh {_ _} _ _.
-Global Arguments muldw {_ _} _ _.
-Global Arguments muldwf {_ _} _ _.
-Global Arguments selc {_ _} _ _ _.
-Global Arguments addm {_ _} _ _ _.
-
-Global Arguments is_decode {_ _} _.
-Global Arguments is_load_immediate {_ _ _} _.
-Global Arguments is_shift_right_doubleword_immediate {_ _ _} _.
-Global Arguments is_shift_right_doubleword_immediate_with_CF {_ _ _} _.
-Global Arguments is_shift_left_immediate {_ _ _} _.
-Global Arguments is_shift_left_immediate_with_CF {_ _ _} _.
-Global Arguments is_shift_right_immediate {_ _ _} _.
-Global Arguments is_shift_right_immediate_with_CF {_ _ _} _.
-Global Arguments is_spread_left_immediate {_ _ _} _.
-Global Arguments is_mask_keep_low {_ _ _} _.
-Global Arguments is_bitwise_and {_ _ _} _.
-Global Arguments is_bitwise_and_with_CF {_ _ _} _.
-Global Arguments is_bitwise_or {_ _ _} _.
-Global Arguments is_bitwise_or_with_CF {_ _ _} _.
-Global Arguments is_add_with_carry {_ _ _} _.
-Global Arguments is_sub_with_carry {_ _ _} _.
-Global Arguments is_mul {_ _ _} _.
-Global Arguments is_mul_low_low {_ _ _} _ _.
-Global Arguments is_mul_high_low {_ _ _} _ _.
-Global Arguments is_mul_high_high {_ _ _} _ _.
-Global Arguments is_mul_double {_ _ _} _.
-Global Arguments is_mul_double_with_CF {_ _ _} _.
-Global Arguments is_select_conditional {_ _ _} _.
-Global Arguments is_add_modulo {_ _ _} _.
-
-Module fancy_machine.
- Local Notation imm := Z (only parsing).
-
- Class instructions (n : Z) :=
- {
- W : Type (* [n]-bit word *);
- decode :> decoder n W;
- ldi :> load_immediate W;
- shrd :> shift_right_doubleword_immediate W;
- shl :> shift_left_immediate W;
- shr :> shift_right_immediate W;
- adc :> add_with_carry W;
- subc :> sub_with_carry W;
- mulhwll :> multiply_low_low W;
- mulhwhl :> multiply_high_low W;
- mulhwhh :> multiply_high_high W;
- selc :> select_conditional W;
- addm :> add_modulo W
- }.
-
- Class arithmetic {n_over_two} (ops:instructions (2 * n_over_two)) :=
- {
- decode_range :> is_decode decode;
- load_immediate :> is_load_immediate ldi;
- shift_right_doubleword_immediate :> is_shift_right_doubleword_immediate shrd;
- shift_left_immediate :> is_shift_left_immediate shl;
- shift_right_immediate :> is_shift_right_immediate shr;
- add_with_carry :> is_add_with_carry adc;
- sub_with_carry :> is_sub_with_carry subc;
- multiply_low_low :> is_mul_low_low n_over_two mulhwll;
- multiply_high_low :> is_mul_high_low n_over_two mulhwhl;
- multiply_high_high :> is_mul_high_high n_over_two mulhwhh;
- select_conditional :> is_select_conditional selc;
- add_modulo :> is_add_modulo addm
- }.
-End fancy_machine.
-
-Module x86.
- Local Notation imm := Z (only parsing).
-
- Class instructions (n : Z) :=
- {
- W : Type (* [n]-bit word *);
- decode :> decoder n W;
- ldi :> load_immediate W;
- shrdf :> shift_right_doubleword_immediate_with_CF W;
- shlf :> shift_left_immediate_with_CF W;
- shrf :> shift_right_immediate_with_CF W;
- adc :> add_with_carry W;
- subc :> sub_with_carry W;
- muldwf :> multiply_double_with_CF W;
- selc :> select_conditional W;
- orf :> bitwise_or_with_CF W
- }.
-
- Class arithmetic {n} (ops:instructions n) :=
- {
- decode_range :> is_decode decode;
- load_immediate :> is_load_immediate ldi;
- shift_right_doubleword_immediate_with_CF :> is_shift_right_doubleword_immediate_with_CF shrdf;
- shift_left_immediate_with_CF :> is_shift_left_immediate_with_CF shlf;
- shift_right_immediate_with_CF :> is_shift_right_immediate_with_CF shrf;
- add_with_carry :> is_add_with_carry adc;
- sub_with_carry :> is_sub_with_carry subc;
- multiply_double_with_CF :> is_mul_double_with_CF muldwf;
- select_conditional :> is_select_conditional selc;
- bitwise_or_with_CF :> is_bitwise_or_with_CF orf
- }.
-End x86.
diff --git a/src/LegacyArithmetic/InterfaceProofs.v b/src/LegacyArithmetic/InterfaceProofs.v
deleted file mode 100644
index a2c8d9de5..000000000
--- a/src/LegacyArithmetic/InterfaceProofs.v
+++ /dev/null
@@ -1,231 +0,0 @@
-(** * Alternate forms for Interface for bounded arithmetic *)
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.Interface.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Hints.
-Require Import Crypto.Util.ZUtil.Hints.ZArith.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
-Require Import Crypto.Util.ZUtil.Div.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.AutoRewrite.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope type_scope.
-Local Open Scope Z_scope.
-
-Import BoundedRewriteNotations.
-Local Notation bit b := (if b then 1 else 0).
-
-Lemma decoder_eta {n W} (decode : decoder n W) : decode = {| Interface.decode := decode |}.
-Proof. destruct decode; reflexivity. Defined.
-
-Section InstructionGallery.
- Context (n : Z) (* bit-width of width of [W] *)
- {W : Type} (* bounded type, [W] for word *)
- (Wdecoder : decoder n W).
- Local Notation imm := Z (only parsing). (* immediate (compile-time) argument *)
-
- Definition Build_is_spread_left_immediate' (sprl : spread_left_immediate W)
- (pf : forall r count, 0 <= count < n
- -> _ /\ _)
- := {| decode_fst_spread_left_immediate r count H := proj1 (pf r count H);
- decode_snd_spread_left_immediate r count H := proj2 (pf r count H) |}.
-
- Definition Build_is_add_with_carry' (adc : add_with_carry W)
- (pf : forall x y c, _ /\ _)
- := {| bit_fst_add_with_carry x y c := proj1 (pf x y c);
- decode_snd_add_with_carry x y c := proj2 (pf x y c) |}.
-
- Definition Build_is_sub_with_carry' (subc : sub_with_carry W)
- (pf : forall x y c, _ /\ _)
- : is_sub_with_carry subc
- := {| fst_sub_with_carry x y c := proj1 (pf x y c);
- decode_snd_sub_with_carry x y c := proj2 (pf x y c) |}.
-
- Definition Build_is_mul_double' (muldw : multiply_double W)
- (pf : forall x y, _ /\ _)
- := {| decode_fst_mul_double x y := proj1 (pf x y);
- decode_snd_mul_double x y := proj2 (pf x y) |}.
-
- Lemma is_spread_left_immediate_alt
- {sprl : spread_left_immediate W}
- {isdecode : is_decode Wdecoder}
- : is_spread_left_immediate sprl
- <-> (forall r count, 0 <= count < n -> decode (fst (sprl r count)) + decode (snd (sprl r count)) << n = (decode r << count) mod (2^n*2^n))%Z.
- Proof using Type.
- split; intro H; [ | apply Build_is_spread_left_immediate' ];
- intros r count Hc;
- [ | specialize (H r count Hc); revert H ];
- unfold bounded_in_range_cls in *;
- pose proof (decode_range r);
- assert (0 < 2^n) by auto with zarith;
- assert (0 <= 2^count < 2^n)%Z by auto with zarith;
- assert (0 <= decode r * 2^count < 2^n * 2^n)%Z by (generalize dependent (decode r); intros; nia);
- rewrite ?decode_fst_spread_left_immediate, ?decode_snd_spread_left_immediate
- by typeclasses eauto with typeclass_instances core;
- autorewrite with Zshift_to_pow zsimplify push_Zpow.
- { reflexivity. }
- { intro H'; rewrite <- H'.
- autorewrite with zsimplify; split; reflexivity. }
- Qed.
-
- Lemma is_mul_double_alt
- {muldw : multiply_double W}
- {isdecode : is_decode Wdecoder}
- : is_mul_double muldw
- <-> (forall x y, decode (fst (muldw x y)) + decode (snd (muldw x y)) << n = (decode x * decode y) mod (2^n*2^n)).
- Proof using Type.
- split; intro H; [ | apply Build_is_mul_double' ];
- intros x y;
- [ | specialize (H x y); revert H ];
- pose proof (decode_range x);
- pose proof (decode_range y);
- assert (0 < 2^n) by auto with zarith;
- assert (0 <= decode x * decode y < 2^n * 2^n)%Z by nia;
- (destruct (0 <=? n) eqn:?; Z.ltb_to_lt;
- [ | assert (2^n = 0) by auto with zarith; exfalso; omega ]);
- rewrite ?decode_fst_mul_double, ?decode_snd_mul_double
- by typeclasses eauto with typeclass_instances core;
- autorewrite with Zshift_to_pow zsimplify push_Zpow.
- { reflexivity. }
- { intro H'; rewrite <- H'.
- autorewrite with zsimplify; split; reflexivity. }
- Qed.
-End InstructionGallery.
-
-Global Arguments is_spread_left_immediate_alt {_ _ _ _ _}.
-Global Arguments is_mul_double_alt {_ _ _ _ _}.
-
-Ltac bounded_solver_tac :=
- solve [ eassumption | typeclasses eauto | omega ].
-
-Global Instance decode_proj n W (dec : W -> Z)
- : @decode n W {| decode := dec |} =~> dec.
-Proof. reflexivity. Qed.
-
-Global Instance decode_if_bool n W (decode : decoder n W)
- : forall (b : bool) x y,
- decode (if b then x else y)
- =~> if b then decode x else decode y.
-Proof. destruct b; reflexivity. Qed.
-
-Global Instance decode_mod_small {n W} {decode : decoder n W} {x b}
- {H : bounded_in_range_cls 0 (decode x) b}
- : decode x <~= decode x mod b.
-Proof.
- Z.rewrite_mod_small; reflexivity.
-Qed.
-
-Global Instance decode_mod_range {n W decode} {H : @is_decode n W decode} x
- : decode x <~= decode x mod 2^n.
-Proof. exact _. Qed.
-
-Lemma decode_exponent_nonnegative {n W} (decode : decoder n W) {isdecode : is_decode decode}
- (isinhabited : W)
- : (0 <= n)%Z.
-Proof.
- pose proof (decode_range isinhabited).
- assert (0 < 2^n) by omega.
- destruct (Z_lt_ge_dec n 0) as [H'|]; [ | omega ].
- assert (2^n = 0) by auto using Z.pow_neg_r.
- omega.
-Qed.
-
-Section adc_subc.
- Context {n W}
- {decode : decoder n W}
- {adc : add_with_carry W}
- {subc : sub_with_carry W}
- {isdecode : is_decode decode}
- {isadc : is_add_with_carry adc}
- {issubc : is_sub_with_carry subc}.
- Global Instance bit_fst_add_with_carry_false
- : forall x y, bit (fst (adc x y false)) <~=~> (decode x + decode y) >> n.
- Proof using isadc.
- intros; erewrite bit_fst_add_with_carry by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
- Global Instance bit_fst_add_with_carry_true
- : forall x y, bit (fst (adc x y true)) <~=~> (decode x + decode y + 1) >> n.
- Proof using isadc.
- intros; erewrite bit_fst_add_with_carry by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
- Global Instance fst_add_with_carry_leb
- : forall x y c, fst (adc x y c) <~= (2^n <=? (decode x + decode y + bit c)).
- Proof using isadc isdecode.
- intros x y c; hnf.
- assert (0 <= n)%Z by eauto using decode_exponent_nonnegative.
- pose proof (decode_range x); pose proof (decode_range y).
- assert (0 <= bit c <= 1)%Z by (destruct c; omega).
- lazymatch goal with
- | [ |- fst ?x = (?a <=? ?b) :> bool ]
- => cut (((if fst x then 1 else 0) = (if a <=? b then 1 else 0))%Z);
- [ destruct (fst x), (a <=? b); intro; congruence | ]
- end.
- push_decode.
- autorewrite with Zshift_to_pow.
- rewrite Z.div_between_0_if by auto with zarith.
- reflexivity.
- Qed.
- Global Instance fst_add_with_carry_false_leb
- : forall x y, fst (adc x y false) <~= (2^n <=? (decode x + decode y)).
- Proof using isadc isdecode.
- intros; erewrite fst_add_with_carry_leb by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
- Global Instance fst_add_with_carry_true_leb
- : forall x y, fst (adc x y true) <~=~> (2^n <=? (decode x + decode y + 1)).
- Proof using isadc isdecode.
- intros; erewrite fst_add_with_carry_leb by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
- Global Instance fst_sub_with_carry_false
- : forall x y, fst (subc x y false) <~=~> ((decode x - decode y) <? 0).
- Proof using issubc.
- intros; erewrite fst_sub_with_carry by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
- Global Instance fst_sub_with_carry_true
- : forall x y, fst (subc x y true) <~=~> ((decode x - decode y - 1) <? 0).
- Proof using issubc.
- intros; erewrite fst_sub_with_carry by assumption.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
-End adc_subc.
-
-Hint Extern 2 (rewrite_right_to_left_eq decode_tag _ (_ <=? (@decode ?n ?W ?decoder ?x + @decode _ _ _ ?y)))
-=> apply @fst_add_with_carry_false_leb : typeclass_instances.
-Hint Extern 2 (rewrite_right_to_left_eq decode_tag _ (_ <=? (@decode ?n ?W ?decoder ?x + @decode _ _ _ ?y + 1)))
-=> apply @fst_add_with_carry_true_leb : typeclass_instances.
-Hint Extern 2 (rewrite_right_to_left_eq decode_tag _ (_ <=? (@decode ?n ?W ?decoder ?x + @decode _ _ _ ?y + if ?c then _ else _)))
-=> apply @fst_add_with_carry_leb : typeclass_instances.
-
-
-(* We take special care to handle the case where the decoder is
- syntactically different but the decoded expression is judgmentally
- the same; we don't want to split apart variables that should be the
- same. *)
-Ltac set_decode_step check :=
- match goal with
- | [ |- context G[@decode ?n ?W ?dr ?w] ]
- => check w;
- first [ match goal with
- | [ d := @decode _ _ _ w |- _ ]
- => change (@decode n W dr w) with d
- end
- | generalize (@decode_range n W dr _ w);
- let d := fresh "d" in
- set (d := @decode n W dr w);
- intro ]
- end.
-Ltac set_decode check := repeat set_decode_step check.
-Ltac clearbody_decode :=
- repeat match goal with
- | [ H := @decode _ _ _ _ |- _ ] => clearbody H
- end.
-Ltac generalize_decode_by check := set_decode check; clearbody_decode.
-Ltac generalize_decode := generalize_decode_by ltac:(fun w => idtac).
-Ltac generalize_decode_var := generalize_decode_by ltac:(fun w => is_var w).
diff --git a/src/LegacyArithmetic/MontgomeryReduction.v b/src/LegacyArithmetic/MontgomeryReduction.v
deleted file mode 100644
index 786e08d28..000000000
--- a/src/LegacyArithmetic/MontgomeryReduction.v
+++ /dev/null
@@ -1,114 +0,0 @@
-(*** Montgomery Multiplication *)
-(** This file implements Montgomery Form, Montgomery Reduction, and
- Montgomery Multiplication on [ZLikeOps]. We follow [Montgomery/Z.v]. *)
-Require Import Coq.ZArith.ZArith Coq.Lists.List Coq.Classes.Morphisms Coq.micromega.Psatz.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Definition.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Proofs.
-Require Import Crypto.LegacyArithmetic.ZBounded.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-Require Import Crypto.Util.Tactics.Test.
-Require Import Crypto.Util.Tactics.Not.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope small_zlike_scope.
-Local Open Scope large_zlike_scope.
-Local Open Scope Z_scope.
-
-Section montgomery.
- Context (small_bound modulus : Z) {ops : ZLikeOps small_bound small_bound modulus} {props : ZLikeProperties ops}
- (modulus' : SmallT)
- (modulus'_valid : small_valid modulus')
- (modulus_nonzero : modulus <> 0).
-
- (** pull out a common subexpression *)
- Local Ltac cse :=
- let RHS := match goal with |- _ = ?decode ?RHS /\ _ => RHS end in
- let v := fresh in
- match RHS with
- | context[?e] => not is_var e; set (v := e) at 1 2; test clearbody v
- end;
- revert v;
- match goal with
- | [ |- let v := ?val in ?LHS = ?decode ?RHS /\ ?P ]
- => change (LHS = decode (dlet v := val in RHS) /\ P)
- end.
-
- Definition partial_reduce : forall v : LargeT,
- { partial_reduce : SmallT
- | large_valid v
- -> decode_small partial_reduce = MontgomeryReduction.Definition.partial_reduce modulus small_bound (decode_small modulus') (decode_large v)
- /\ small_valid partial_reduce }.
- Proof.
- intro T. evar (pr : SmallT); exists pr. intros T_valid.
- assert (0 <= decode_large T < small_bound * small_bound) by auto using decode_large_valid.
- assert (0 <= decode_small (Mod_SmallBound T) < small_bound) by auto using decode_small_valid, Mod_SmallBound_valid.
- assert (0 <= decode_small modulus' < small_bound) by auto using decode_small_valid.
- assert (0 <= decode_small modulus_digits < small_bound) by auto using decode_small_valid, modulus_digits_valid.
- assert (0 <= modulus) by apply (modulus_nonneg _).
- assert (modulus < small_bound) by (rewrite <- modulus_digits_correct; omega).
- rewrite <- partial_reduce_alt_eq by omega.
- cbv [MontgomeryReduction.Definition.partial_reduce MontgomeryReduction.Definition.partial_reduce_alt MontgomeryReduction.Definition.prereduce].
- pull_zlike_decode.
- cse.
- subst pr; split; [ reflexivity | exact _ ].
- Defined.
-
- Definition reduce_via_partial : forall v : LargeT,
- { reduce : SmallT
- | large_valid v
- -> decode_small reduce = MontgomeryReduction.Definition.reduce_via_partial modulus small_bound (decode_small modulus') (decode_large v)
- /\ small_valid reduce }.
- Proof.
- intro T. evar (pr : SmallT); exists pr. intros T_valid.
- assert (0 <= decode_large T < small_bound * small_bound) by auto using decode_large_valid.
- assert (0 <= decode_small (Mod_SmallBound T) < small_bound) by auto using decode_small_valid, Mod_SmallBound_valid.
- assert (0 <= decode_small modulus' < small_bound) by auto using decode_small_valid.
- assert (0 <= decode_small modulus_digits < small_bound) by auto using decode_small_valid, modulus_digits_valid.
- assert (0 <= modulus) by apply (modulus_nonneg _).
- assert (modulus < small_bound) by (rewrite <- modulus_digits_correct; omega).
- unfold reduce_via_partial.
- rewrite <- partial_reduce_alt_eq by omega.
- cbv [MontgomeryReduction.Definition.partial_reduce MontgomeryReduction.Definition.partial_reduce_alt MontgomeryReduction.Definition.prereduce].
- pull_zlike_decode.
- cse.
- subst pr; split; [ reflexivity | exact _ ].
- Defined.
-
- Section correctness.
- Context (R' : Z)
- (Hmod : Z.equiv_modulo modulus (small_bound * R') 1)
- (Hmod' : Z.equiv_modulo small_bound (modulus * (decode_small modulus')) (-1))
- (v : LargeT)
- (H : large_valid v)
- (Hv : 0 <= decode_large v <= small_bound * modulus).
- Lemma reduce_via_partial_correct'
- : Z.equiv_modulo modulus
- (decode_small (proj1_sig (reduce_via_partial v)))
- (decode_large v * R')
- /\ Z.min 0 (small_bound - modulus) <= (decode_small (proj1_sig (reduce_via_partial v))) < modulus.
- Proof using H Hmod Hmod' Hv.
- rewrite (proj1 (proj2_sig (reduce_via_partial v) H)).
- eauto 6 using reduce_via_partial_correct, reduce_via_partial_in_range, decode_small_valid.
- Qed.
-
- Lemma reduce_via_partial_correct''
- : Z.equiv_modulo modulus
- (decode_small (proj1_sig (reduce_via_partial v)))
- (decode_large v * R')
- /\ 0 <= (decode_small (proj1_sig (reduce_via_partial v))) < modulus.
- Proof using H Hmod Hmod' Hv.
- pose proof (proj2 (proj2_sig (reduce_via_partial v) H)) as H'.
- apply decode_small_valid in H'.
- destruct reduce_via_partial_correct'; split; eauto; omega.
- Qed.
-
- Theorem reduce_via_partial_correct
- : decode_small (proj1_sig (reduce_via_partial v)) = (decode_large v * R') mod modulus.
- Proof using H Hmod Hmod' Hv.
- rewrite <- (proj1 reduce_via_partial_correct'').
- rewrite Z.mod_small by apply reduce_via_partial_correct''.
- reflexivity.
- Qed.
- End correctness.
-End montgomery.
diff --git a/src/LegacyArithmetic/Pow2Base.v b/src/LegacyArithmetic/Pow2Base.v
deleted file mode 100644
index c5c69e684..000000000
--- a/src/LegacyArithmetic/Pow2Base.v
+++ /dev/null
@@ -1,18 +0,0 @@
-Require Import Coq.ZArith.Zpower Coq.ZArith.ZArith.
-Require Import Crypto.Util.ListUtil.
-Require Import Coq.Lists.List.
-
-Local Open Scope Z_scope.
-
-Section Pow2Base.
- Context (limb_widths : list Z).
- Local Notation "w[ i ]" := (nth_default 0 limb_widths i).
- Fixpoint base_from_limb_widths limb_widths :=
- match limb_widths with
- | nil => nil
- | w :: lw => 1 :: map (Z.mul (two_p w)) (base_from_limb_widths lw)
- end.
- Local Notation base := (base_from_limb_widths limb_widths).
- Definition bounded us := forall i, 0 <= nth_default 0 us i < 2 ^ w[i].
- Definition upper_bound := 2 ^ (sum_firstn limb_widths (length limb_widths)).
-End Pow2Base.
diff --git a/src/LegacyArithmetic/Pow2BaseProofs.v b/src/LegacyArithmetic/Pow2BaseProofs.v
deleted file mode 100644
index 495636be7..000000000
--- a/src/LegacyArithmetic/Pow2BaseProofs.v
+++ /dev/null
@@ -1,564 +0,0 @@
-Require Import Coq.ZArith.Zpower Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Coq.Numbers.Natural.Peano.NPeano.
-Require Import Coq.Lists.List.
-Require Import Coq.funind.Recdef.
-Require Import Crypto.Util.ListUtil Crypto.Util.NatUtil.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.Testbit.
-Require Import Crypto.Util.ZUtil.Pow2Mod.
-Require Import Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.ZUtil.Shift.
-Require Import Crypto.Util.ZUtil.Tactics.ZeroBounds.
-Require Import Crypto.LegacyArithmetic.VerdiTactics.
-Require Import Crypto.Util.Tactics.SpecializeBy.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.UniquePose.
-Require Import Crypto.Util.Tactics.RewriteHyp.
-Require Import Crypto.LegacyArithmetic.Pow2Base.
-Require Import Crypto.Util.Notations.
-Require Export Crypto.Util.Bool.
-Require Export Crypto.Util.FixCoqMistakes.
-Local Open Scope Z_scope.
-
-Require Crypto.LegacyArithmetic.BaseSystemProofs.
-
-Create HintDb simpl_add_to_nth discriminated.
-Create HintDb push_upper_bound discriminated.
-Create HintDb pull_upper_bound discriminated.
-Create HintDb push_base_from_limb_widths discriminated.
-Create HintDb pull_base_from_limb_widths discriminated.
-
-Hint Extern 1 => progress autorewrite with push_upper_bound in * : push_upper_bound.
-Hint Extern 1 => progress autorewrite with pull_upper_bound in * : pull_upper_bound.
-Hint Extern 1 => progress autorewrite with push_base_from_limb_widths in * : push_base_from_limb_widths.
-Hint Extern 1 => progress autorewrite with pull_base_from_limb_widths in * : pull_base_from_limb_widths.
-
-Section Pow2BaseProofs.
- Context {limb_widths} (limb_widths_nonneg : forall w, In w limb_widths -> 0 <= w).
- Local Notation base := (base_from_limb_widths limb_widths).
-
- Lemma base_from_limb_widths_length ls : length (base_from_limb_widths ls) = length ls.
- Proof using Type.
- clear limb_widths limb_widths_nonneg.
- induction ls; [ reflexivity | simpl in * ].
- autorewrite with distr_length; auto.
- Qed.
- Hint Rewrite base_from_limb_widths_length : distr_length.
-
- Lemma base_from_limb_widths_cons : forall l0 l,
- base_from_limb_widths (l0 :: l) = 1 :: map (Z.mul (two_p l0)) (base_from_limb_widths l).
- Proof using Type. reflexivity. Qed.
- Hint Rewrite base_from_limb_widths_cons : push_base_from_limb_widths.
- Hint Rewrite <- base_from_limb_widths_cons : pull_base_from_limb_widths.
-
- Lemma base_from_limb_widths_nil : base_from_limb_widths nil = nil.
- Proof using Type. reflexivity. Qed.
- Hint Rewrite base_from_limb_widths_nil : push_base_from_limb_widths.
-
- Lemma firstn_base_from_limb_widths : forall n, firstn n (base_from_limb_widths limb_widths) = base_from_limb_widths (firstn n limb_widths).
- Proof using Type.
- clear limb_widths_nonneg. (* don't use this in the inductive hypothesis *)
- induction limb_widths as [|l ls IHls]; intros [|n]; try reflexivity.
- autorewrite with push_base_from_limb_widths push_firstn; boring.
- Qed.
- Hint Rewrite <- @firstn_base_from_limb_widths : push_base_from_limb_widths.
- Hint Rewrite <- @firstn_base_from_limb_widths : pull_firstn.
- Hint Rewrite @firstn_base_from_limb_widths : pull_base_from_limb_widths.
- Hint Rewrite @firstn_base_from_limb_widths : push_firstn.
-
- Lemma sum_firstn_limb_widths_nonneg : forall n, 0 <= sum_firstn limb_widths n.
- Proof using Type*.
- unfold sum_firstn; intros.
- apply fold_right_invariant; try omega.
- eauto using Z.add_nonneg_nonneg, limb_widths_nonneg, In_firstn.
- Qed. Hint Resolve sum_firstn_limb_widths_nonneg.
-
- Lemma base_from_limb_widths_step : forall i b w, (S i < length limb_widths)%nat ->
- nth_error base i = Some b ->
- nth_error limb_widths i = Some w ->
- nth_error base (S i) = Some (two_p w * b).
- Proof using Type.
- clear limb_widths_nonneg. (* don't use this in the inductive hypothesis *)
- induction limb_widths; intros i b w ? nth_err_w nth_err_b;
- unfold base_from_limb_widths in *; fold base_from_limb_widths in *;
- [rewrite (@nil_length0 Z) in *; omega | ].
- simpl in *.
- case_eq i; intros; subst.
- + subst; apply nth_error_first in nth_err_w.
- apply nth_error_first in nth_err_b; subst.
- apply map_nth_error.
- case_eq l; intros; subst; [simpl in *; omega | ].
- unfold base_from_limb_widths; fold base_from_limb_widths.
- reflexivity.
- + simpl in nth_err_w.
- apply nth_error_map in nth_err_w.
- destruct nth_err_w as [x [A B] ].
- subst.
- replace (two_p w * (two_p a * x)) with (two_p a * (two_p w * x)) by ring.
- apply map_nth_error.
- apply IHl; auto. omega.
- Qed.
-
-
- Lemma nth_error_base : forall i, (i < length limb_widths)%nat ->
- nth_error base i = Some (two_p (sum_firstn limb_widths i)).
- Proof using Type*.
- induction i as [|i IHi]; intros H.
- + unfold sum_firstn, base_from_limb_widths in *; case_eq limb_widths; try reflexivity.
- intro lw_nil; rewrite lw_nil, (@nil_length0 Z) in *; omega.
- + assert (i < length limb_widths)%nat as lt_i_length by omega.
- specialize (IHi lt_i_length).
- destruct (nth_error_length_exists_value _ _ lt_i_length) as [w nth_err_w].
- erewrite base_from_limb_widths_step; eauto.
- f_equal.
- simpl.
- destruct (NPeano.Nat.eq_dec i 0).
- - subst; unfold sum_firstn; simpl.
- apply nth_error_exists_first in nth_err_w.
- destruct nth_err_w as [l' lw_destruct]; subst.
- simpl; ring_simplify.
- f_equal; ring.
- - erewrite sum_firstn_succ; eauto.
- symmetry.
- apply two_p_is_exp; auto using sum_firstn_limb_widths_nonneg.
- apply limb_widths_nonneg.
- eapply nth_error_value_In; eauto.
- Qed.
-
- Lemma nth_default_base : forall d i, (i < length limb_widths)%nat ->
- nth_default d base i = 2 ^ (sum_firstn limb_widths i).
- Proof using Type*.
- intros ? ? i_lt_length.
- apply nth_error_value_eq_nth_default.
- rewrite nth_error_base, two_p_correct by assumption.
- reflexivity.
- Qed.
-
- Lemma b0_1 : forall x : Z, limb_widths <> nil -> nth_default x base 0 = 1.
- Proof using Type.
- case_eq limb_widths; intros; [congruence | reflexivity].
- Qed.
-
- Lemma base_from_limb_widths_app : forall l0 l
- (l0_nonneg : forall x, In x l0 -> 0 <= x)
- (l_nonneg : forall x, In x l -> 0 <= x),
- base_from_limb_widths (l0 ++ l)
- = base_from_limb_widths l0 ++ map (Z.mul (two_p (sum_firstn l0 (length l0)))) (base_from_limb_widths l).
- Proof using Type.
- induction l0 as [|?? IHl0].
- { simpl; intros; rewrite <- map_id at 1; apply map_ext; intros; omega. }
- { simpl; intros; rewrite !IHl0, !map_app, map_map, sum_firstn_succ_cons, two_p_is_exp by auto with znonzero.
- do 2 f_equal; apply map_ext; intros; lia. }
- Qed.
-
- Lemma skipn_base_from_limb_widths : forall n, skipn n (base_from_limb_widths limb_widths) = map (Z.mul (two_p (sum_firstn limb_widths n))) (base_from_limb_widths (skipn n limb_widths)).
- Proof using Type*.
- intro n; pose proof (base_from_limb_widths_app (firstn n limb_widths) (skipn n limb_widths)) as H.
- specialize_by eauto using In_firstn, In_skipn.
- autorewrite with simpl_firstn simpl_skipn in *.
- rewrite H, skipn_app, skipn_all by auto with arith distr_length; clear H.
- simpl; distr_length.
- apply Min.min_case_strong; intro;
- unfold sum_firstn; autorewrite with natsimplify simpl_skipn simpl_firstn;
- reflexivity.
- Qed.
- Hint Rewrite <- @skipn_base_from_limb_widths : push_base_from_limb_widths.
- Hint Rewrite <- @skipn_base_from_limb_widths : pull_skipn.
- Hint Rewrite @skipn_base_from_limb_widths : pull_base_from_limb_widths.
- Hint Rewrite @skipn_base_from_limb_widths : push_skipn.
-
- Lemma pow2_mod_bounded :forall lw us i, (forall w, In w lw -> 0 <= w) -> bounded lw us ->
- Z.pow2_mod (nth_default 0 us i) (nth_default 0 lw i) = nth_default 0 us i.
- Proof using Type.
- clear.
- cbv [bounded]; intros lw us i H H0.
- repeat match goal with
- | |- _ => progress (cbv [bounded]; intros)
- | |- _ => break_if
- | |- _ => apply Z.bits_inj'
- | |- _ => rewrite Z.testbit_pow2_mod by (apply nth_default_preserves_properties; auto; omega)
- | |- _ => reflexivity
- end.
- specialize (H0 i).
- symmetry.
- let n := match goal with n : Z |- _ => n end in
- rewrite <- (Z.mod_pow2_bits_high (nth_default 0 us i) (nth_default 0 lw i) n);
- [ rewrite Z.mod_small by omega; reflexivity | ].
- split; try omega.
- apply nth_default_preserves_properties; auto; omega.
- Qed.
-
- Lemma bounded_nil_iff : forall us, bounded nil us <-> (forall u, In u us -> u = 0).
- Proof using Type.
- clear.
- intros us; split; cbv [bounded]; [ intros H u H0 | intros H i ].
- + edestruct (In_nth_error_value us u) as [x]; try assumption.
- specialize (H x).
- replace u with (nth_default 0 us x) by (auto using nth_error_value_eq_nth_default).
- rewrite nth_default_nil, Z.pow_0_r in H.
- omega.
- + rewrite nth_default_nil, Z.pow_0_r.
- apply nth_default_preserves_properties; try omega.
- intros x H0.
- apply H in H0.
- omega.
- Qed.
-
- Lemma bounded_iff : forall lw us, bounded lw us <-> forall i, 0 <= nth_default 0 us i < 2 ^ nth_default 0 lw i.
- Proof using Type.
- clear.
- cbv [bounded]; intros.
- reflexivity.
- Qed.
-
- Lemma digit_select : forall us i, bounded limb_widths us ->
- nth_default 0 us i = Z.pow2_mod (BaseSystem.decode base us >> sum_firstn limb_widths i) (nth_default 0 limb_widths i).
- Proof using Type*.
- intro us; revert limb_widths limb_widths_nonneg; induction us as [|a us IHus];
- intros limb_widths limb_widths_nonneg i H.
- + rewrite nth_default_nil, BaseSystemProofs.decode_nil, Z.shiftr_0_l, Z.pow2_mod_spec, Z.mod_0_l by
- (try (apply Z.pow_nonzero; try omega); apply nth_default_preserves_properties; auto; omega).
- reflexivity.
- + destruct i.
- - rewrite nth_default_cons, sum_firstn_0, Z.shiftr_0_r.
- destruct limb_widths as [|w lw].
- * cbv [base_from_limb_widths].
- rewrite <-pow2_mod_bounded with (lw := nil); rewrite bounded_nil_iff in *; auto using in_cons;
- try solve [intros; exfalso; eauto using in_nil].
- rewrite !nth_default_nil, BaseSystemProofs.decode_base_nil; auto.
- cbv. auto using in_eq.
- * rewrite nth_default_cons, base_from_limb_widths_cons, BaseSystemProofs.peel_decode.
- fold (BaseSystem.mul_each (two_p w)).
- rewrite <-BaseSystemProofs.mul_each_base, BaseSystemProofs.mul_each_rep.
- rewrite two_p_correct, (Z.mul_comm (2 ^ w)).
- rewrite <-Z.shiftl_mul_pow2 by auto using in_eq.
- rewrite bounded_iff in *.
- specialize (H 0%nat); rewrite !nth_default_cons in H.
- rewrite <-Z.lor_shiftl by (auto using in_eq; omega).
- apply Z.bits_inj'; intros n H0.
- rewrite Z.testbit_pow2_mod by auto using in_eq.
- break_if. {
- autorewrite with Ztestbit; break_match;
- try rewrite Z.testbit_neg_r with (n := n - w) by omega;
- autorewrite with bool_congr;
- f_equal; ring.
- } {
- replace a with (a mod 2 ^ w) by (auto using Z.mod_small).
- apply Z.mod_pow2_bits_high. split; auto using in_eq; omega.
- }
- - rewrite nth_default_cons_S.
- destruct limb_widths as [|w lw].
- * cbv [base_from_limb_widths].
- rewrite <-pow2_mod_bounded with (lw := nil); rewrite bounded_nil_iff in *; auto using in_cons.
- rewrite sum_firstn_nil, !nth_default_nil, BaseSystemProofs.decode_base_nil, Z.shiftr_0_r.
- apply nth_default_preserves_properties; intros; auto using in_cons.
- f_equal; auto using in_cons.
- * rewrite sum_firstn_succ_cons, nth_default_cons_S, base_from_limb_widths_cons, BaseSystemProofs.peel_decode.
- fold (BaseSystem.mul_each (two_p w)).
- rewrite <-BaseSystemProofs.mul_each_base, BaseSystemProofs.mul_each_rep.
- rewrite two_p_correct, (Z.mul_comm (2 ^ w)).
- rewrite <-Z.shiftl_mul_pow2 by auto using in_eq.
- rewrite bounded_iff in *.
- rewrite Z.shiftr_add_shiftl_high by first
- [ pose proof (sum_firstn_nonnegative i lw); split; auto using in_eq; specialize_by auto using in_cons; omega
- | specialize (H 0%nat); rewrite !nth_default_cons in H; omega ].
- rewrite IHus with (limb_widths := lw) by
- (auto using in_cons; rewrite ?bounded_iff; intro j; specialize (H (S j));
- rewrite !nth_default_cons_S in H; assumption).
- repeat f_equal; try ring.
- Qed.
-
- Lemma nth_default_limb_widths_nonneg : forall i, 0 <= nth_default 0 limb_widths i.
- Proof using Type*.
- intros; apply nth_default_preserves_properties; auto; omega.
- Qed. Hint Resolve nth_default_limb_widths_nonneg.
-
- Lemma decode_firstn_pow2_mod : forall us i,
- (i <= length us)%nat ->
- length us = length limb_widths ->
- bounded limb_widths us ->
- BaseSystem.decode' base (firstn i us) = Z.pow2_mod (BaseSystem.decode' base us) (sum_firstn limb_widths i).
- Proof using Type*.
- intros us i H H0 H1; induction i;
- repeat match goal with
- | |- _ => rewrite sum_firstn_0, BaseSystemProofs.decode_nil, Z.pow2_mod_0_r; reflexivity
- | |- _ => progress distr_length
- | |- _ => progress autorewrite with simpl_firstn
- | |- _ => rewrite firstn_succ with (d := 0)
- | |- _ => rewrite BaseSystemProofs.set_higher
- | |- _ => rewrite nth_default_base
- | |- _ => rewrite IHi
- | |- _ => rewrite <-Z.lor_shiftl by (rewrite ?Z.pow2_mod_spec; try apply Z.mod_pos_bound; Z.zero_bounds)
- | |- context[min ?x ?y] => (rewrite Nat.min_l by omega || rewrite Nat.min_r by omega)
- | |- context[2 ^ ?a * _] => rewrite (Z.mul_comm (2 ^ a)); rewrite <-Z.shiftl_mul_pow2
- | |- _ => solve [auto]
- | |- _ => lia
- end.
- rewrite digit_select by assumption; apply Z.bits_inj'.
- repeat match goal with
- | |- _ => progress intros
- | |- _ => progress autorewrite with Ztestbit
- | |- _ => rewrite Z.testbit_pow2_mod by (omega || trivial)
- | |- _ => break_if; try omega
- | H : ?a < ?b |- context[Z.testbit _ (?a - ?b)] =>
- rewrite (Z.testbit_neg_r _ (a-b)) by omega
- | |- _ => reflexivity
- | |- _ => solve [f_equal; ring]
- | |- _ => rewrite sum_firstn_succ_default in *;
- pose proof (nth_default_limb_widths_nonneg i); omega
- end.
- Qed.
-
- Lemma testbit_decode_firstn_high : forall us i n,
- (i <= length us)%nat ->
- length us = length limb_widths ->
- bounded limb_widths us ->
- sum_firstn limb_widths i <= n ->
- Z.testbit (BaseSystem.decode base (firstn i us)) n = false.
- Proof using Type*.
- repeat match goal with
- | |- _ => progress intros
- | |- _ => progress autorewrite with Ztestbit
- | |- _ => rewrite decode_firstn_pow2_mod
- | |- _ => rewrite Z.testbit_pow2_mod
- | |- _ => break_if
- | |- _ => assumption
- | |- _ => solve [auto]
- | H : ?a <= ?b |- 0 <= ?b => assert (0 <= a) by (omega || auto); omega
- end.
- Qed.
-
- Lemma testbit_decode_high : forall us n,
- length us = length limb_widths ->
- bounded limb_widths us ->
- sum_firstn limb_widths (length us) <= n ->
- Z.testbit (BaseSystem.decode base us) n = false.
- Proof using Type*.
- intros us n H H0 H1.
- erewrite <-(firstn_all _ us) by reflexivity.
- auto using testbit_decode_firstn_high.
- Qed.
-
- (** TODO: Figure out how to automate and clean up this proof *)
- Lemma decode_nonneg : forall us,
- length us = length limb_widths ->
- bounded limb_widths us ->
- 0 <= BaseSystem.decode base us.
- Proof using Type*.
- intros us H H0.
- unfold bounded, BaseSystem.decode, BaseSystem.decode' in *; simpl in *.
- pose 0 as zero.
- assert (0 <= zero) by reflexivity.
- replace base with (map (Z.mul (two_p zero)) base)
- by (etransitivity; [ | apply map_id ]; apply map_ext; auto with zarith).
- clearbody zero.
- revert dependent zero.
- generalize dependent limb_widths.
- induction us as [|u us IHus]; intros [|w limb_widths'] ?? Hbounded ??; simpl in *;
- try (reflexivity || congruence).
- pose proof (Hbounded 0%nat) as Hbounded0.
- pose proof (fun n => Hbounded (S n)) as HboundedS.
- unfold nth_default, nth_error in Hbounded0.
- unfold nth_default in HboundedS.
- rewrite map_map.
- unfold BaseSystem.accumulate at 1; simpl.
- assert (0 < two_p zero) by (rewrite two_p_equiv; auto with zarith).
- replace (map (fun x => two_p zero * (two_p w * x)) (base_from_limb_widths limb_widths')) with (map (Z.mul (two_p (zero + w))) (base_from_limb_widths limb_widths'))
- by (apply map_ext; rewrite two_p_is_exp by auto with zarith omega; auto with zarith).
- change 0 with (0 + 0) at 1.
- apply Z.add_le_mono; simpl in *; auto with zarith.
- Qed.
-
- Lemma decode_upper_bound : forall us,
- length us = length limb_widths ->
- bounded limb_widths us ->
- 0 <= BaseSystem.decode base us < upper_bound limb_widths.
- Proof using Type*.
- cbv [upper_bound]; intros us H H0.
- split.
- { apply decode_nonneg; auto. }
- { apply Z.testbit_false_bound; auto; intros.
- rewrite testbit_decode_high; auto;
- replace (length us) with (length limb_widths); try omega. }
- Qed.
-
- Lemma decode_shift_app : forall us0 us1, (length (us0 ++ us1) <= length limb_widths)%nat ->
- BaseSystem.decode base (us0 ++ us1) = (BaseSystem.decode (base_from_limb_widths (firstn (length us0) limb_widths)) us0) + ((BaseSystem.decode (base_from_limb_widths (skipn (length us0) limb_widths)) us1) << sum_firstn limb_widths (length us0)).
- Proof using Type*.
- unfold BaseSystem.decode; intros us0 us1 ?.
- assert (0 <= sum_firstn limb_widths (length us0)) by auto using sum_firstn_nonnegative.
- rewrite BaseSystemProofs.decode'_splice; autorewrite with push_firstn.
- apply Z.add_cancel_l.
- autorewrite with pull_base_from_limb_widths Zshift_to_pow zsimplify.
- rewrite BaseSystemProofs.decode'_map_mul, two_p_correct; nia.
- Qed.
-
- Lemma decode_shift : forall us u0, (length (u0 :: us) <= length limb_widths)%nat ->
- BaseSystem.decode base (u0 :: us) = u0 + ((BaseSystem.decode (base_from_limb_widths (tl limb_widths)) us) << (nth_default 0 limb_widths 0)).
- Proof using Type*.
- intros us u0 H; etransitivity; [ apply (decode_shift_app (u0::nil)); assumption | ].
- transitivity (u0 * 1 + 0 + ((BaseSystem.decode (base_from_limb_widths (tl limb_widths)) us) << (nth_default 0 limb_widths 0 + 0))); [ | autorewrite with zsimplify; reflexivity ].
- destruct limb_widths; distr_length; reflexivity.
- Qed.
-
- Lemma upper_bound_nil : upper_bound nil = 1.
- Proof using Type. reflexivity. Qed.
-
- Lemma upper_bound_cons x xs : 0 <= x -> 0 <= sum_firstn xs (length xs) -> upper_bound (x::xs) = 2^x * upper_bound xs.
- Proof using Type.
- intros Hx Hxs.
- unfold upper_bound; simpl.
- autorewrite with simpl_sum_firstn pull_Zpow.
- reflexivity.
- Qed.
-
- Lemma upper_bound_app xs ys : 0 <= sum_firstn xs (length xs) -> 0 <= sum_firstn ys (length ys) -> upper_bound (xs ++ ys) = upper_bound xs * upper_bound ys.
- Proof using Type.
- intros Hxs Hys.
- unfold upper_bound; simpl.
- autorewrite with distr_length simpl_sum_firstn pull_Zpow.
- reflexivity.
- Qed.
-
-End Pow2BaseProofs.
-Hint Rewrite base_from_limb_widths_cons base_from_limb_widths_nil : push_base_from_limb_widths.
-Hint Rewrite <- base_from_limb_widths_cons : pull_base_from_limb_widths.
-
-Hint Rewrite <- @firstn_base_from_limb_widths : push_base_from_limb_widths.
-Hint Rewrite <- @firstn_base_from_limb_widths : pull_firstn.
-Hint Rewrite @firstn_base_from_limb_widths : pull_base_from_limb_widths.
-Hint Rewrite @firstn_base_from_limb_widths : push_firstn.
-Hint Rewrite <- @skipn_base_from_limb_widths : push_base_from_limb_widths.
-Hint Rewrite <- @skipn_base_from_limb_widths : pull_skipn.
-Hint Rewrite @skipn_base_from_limb_widths : pull_base_from_limb_widths.
-Hint Rewrite @skipn_base_from_limb_widths : push_skipn.
-
-Hint Rewrite @base_from_limb_widths_length : distr_length.
-Hint Rewrite @upper_bound_nil @upper_bound_cons @upper_bound_app using solve [ eauto with znonzero ] : push_upper_bound.
-Hint Rewrite <- @upper_bound_cons @upper_bound_app using solve [ eauto with znonzero ] : pull_upper_bound.
-
-Section UniformBase.
- Context {width : Z} (limb_width_nonneg : 0 <= width).
- Context (limb_widths : list Z)
- (limb_widths_uniform : forall w, In w limb_widths -> w = width).
- Local Notation base := (base_from_limb_widths limb_widths).
-
- Lemma bounded_uniform : forall us, (length us <= length limb_widths)%nat ->
- (bounded limb_widths us <-> (forall u, In u us -> 0 <= u < 2 ^ width)).
- Proof using Type*.
- cbv [bounded]; intros us H; split; intro A; [ intros u H0 | intros i ].
- + let G := fresh "G" in
- match goal with H : In _ us |- _ =>
- eapply In_nth in H; destruct H as [x G]; destruct G as [? G];
- rewrite <-nth_default_eq in G; rewrite <-G end.
- specialize (A x).
- split; try eapply A.
- eapply Z.lt_le_trans; try apply A.
- apply nth_default_preserves_properties; [ | apply Z.pow_le_mono_r; omega ] .
- intros; apply Z.eq_le_incl.
- f_equal; auto.
- + apply nth_default_preserves_properties_length_dep;
- try solve [apply nth_default_preserves_properties; split; Z.zero_bounds; rewrite limb_widths_uniform; auto || omega].
- intros; apply nth_default_preserves_properties_length_dep; try solve [intros; omega].
- let x := fresh "x" in intro x; intros;
- replace x with width; try symmetry; auto.
- Qed.
-
- Lemma uniform_limb_widths_nonneg : forall w, In w limb_widths -> 0 <= w.
- Proof using Type*.
- intros w H.
- replace w with width by (symmetry; auto).
- assumption.
- Qed.
-
- Lemma nth_default_uniform_base_full : forall i,
- nth_default 0 limb_widths i = if lt_dec i (length limb_widths)
- then width else 0.
- Admitted.
-
- Lemma nth_default_uniform_base : forall i, (i < length limb_widths)%nat ->
- nth_default 0 limb_widths i = width.
- Proof using Type*.
- intros; rewrite nth_default_uniform_base_full.
- edestruct lt_dec; omega.
- Qed.
-
- Lemma sum_firstn_uniform_base : forall i, (i <= length limb_widths)%nat ->
- sum_firstn limb_widths i = Z.of_nat i * width.
- Proof using limb_widths_uniform.
- clear limb_width_nonneg. (* clear this before induction so we don't depend on this *)
- induction limb_widths as [|x xs IHxs]; (intros [|i] ?);
- simpl @length in *;
- autorewrite with simpl_sum_firstn push_Zof_nat zsimplify;
- try reflexivity;
- try omega.
- assert (x = width) by auto with datatypes; subst.
- rewrite IHxs by auto with datatypes omega; omega.
- Qed.
-
- Lemma sum_firstn_uniform_base_strong : forall i, (length limb_widths <= i)%nat ->
- sum_firstn limb_widths i = Z.of_nat (length limb_widths) * width.
- Proof using limb_widths_uniform.
- intros; rewrite sum_firstn_all, sum_firstn_uniform_base by omega; reflexivity.
- Qed.
-
- Lemma upper_bound_uniform : upper_bound limb_widths = 2^(Z.of_nat (length limb_widths) * width).
- Proof using limb_widths_uniform.
- unfold upper_bound; rewrite sum_firstn_uniform_base_strong by omega; reflexivity.
- Qed.
-
- (* TODO : move *)
- Lemma decode_truncate_base : forall us bs, BaseSystem.decode bs us = BaseSystem.decode (firstn (length us) bs) us.
- Proof using Type.
- clear.
- induction us as [|a us IHus]; intros bs.
- + rewrite !BaseSystemProofs.decode_nil; reflexivity.
- + distr_length.
- destruct bs.
- - rewrite firstn_nil, !BaseSystemProofs.decode_base_nil; reflexivity.
- - rewrite firstn_cons, !BaseSystemProofs.peel_decode.
- f_equal.
- apply IHus.
- Qed.
-
- (* TODO : move *)
- Lemma tl_repeat : forall {A} xs n (x : A), (forall y, In y xs -> y = x) ->
- (n < length xs)%nat ->
- firstn n xs = firstn n (tl xs).
- Proof using Type.
- intros A xs n x H H0.
- erewrite (repeat_spec_eq xs) by first [ eassumption | reflexivity ].
- rewrite ListUtil.tl_repeat.
- autorewrite with push_firstn.
- apply f_equal; omega *.
- Qed.
-
- Lemma decode_tl_base : forall us, (length us < length limb_widths)%nat ->
- BaseSystem.decode base us = BaseSystem.decode (base_from_limb_widths (tl limb_widths)) us.
- Proof using limb_widths_uniform.
- intros.
- match goal with |- BaseSystem.decode ?b1 _ = BaseSystem.decode ?b2 _ =>
- rewrite (decode_truncate_base _ b1), (decode_truncate_base _ b2) end.
- rewrite !firstn_base_from_limb_widths.
- do 2 f_equal.
- eauto using tl_repeat.
- Qed.
-
- Lemma decode_shift_uniform_tl : forall us u0, (length (u0 :: us) <= length limb_widths)%nat ->
- BaseSystem.decode base (u0 :: us) = u0 + ((BaseSystem.decode (base_from_limb_widths (tl limb_widths)) us) << width).
- Proof using Type*.
- intros.
- rewrite <- (nth_default_uniform_base 0) by distr_length.
- rewrite decode_shift by auto using uniform_limb_widths_nonneg.
- reflexivity.
- Qed.
-
- Lemma decode_shift_uniform_app : forall us0 us1, (length (us0 ++ us1) <= length limb_widths)%nat ->
- BaseSystem.decode base (us0 ++ us1) = (BaseSystem.decode (base_from_limb_widths (firstn (length us0) limb_widths)) us0) + ((BaseSystem.decode (base_from_limb_widths (skipn (length us0) limb_widths)) us1) << (Z.of_nat (length us0) * width)).
- Proof using Type*.
- intros.
- rewrite <- sum_firstn_uniform_base by (distr_length; omega).
- rewrite decode_shift_app by auto using uniform_limb_widths_nonneg.
- reflexivity.
- Qed.
-End UniformBase.
diff --git a/src/LegacyArithmetic/README.md b/src/LegacyArithmetic/README.md
deleted file mode 100644
index b0137664c..000000000
--- a/src/LegacyArithmetic/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-The development of this directory predates `src/Arithmetic`, and should probably
-be considered to be superseded by it. The p256 Montgomery reduction for
-a 128-bit cpu synthesized here still works.
diff --git a/src/LegacyArithmetic/VerdiTactics.v b/src/LegacyArithmetic/VerdiTactics.v
deleted file mode 100644
index 4060fc675..000000000
--- a/src/LegacyArithmetic/VerdiTactics.v
+++ /dev/null
@@ -1,414 +0,0 @@
-(*
-Copyright (c) 2014-2015, Verdi Team
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-1. Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*)
-
-Ltac subst_max := idtac "VerdiTactics is deprecated in fiat-crypto";
- repeat match goal with
- | [ H : ?X = _ |- _ ] => subst X
- | [H : _ = ?X |- _] => subst X
- end.
-
-Ltac inv H := idtac "VerdiTactics is deprecated in fiat-crypto"; inversion H; subst_max.
-Ltac invc H := idtac "VerdiTactics is deprecated in fiat-crypto"; inv H; clear H.
-Ltac invcs H := idtac "VerdiTactics is deprecated in fiat-crypto"; invc H; simpl in *.
-
-Ltac break_if := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ |- context [ if ?X then _ else _ ] ] =>
- match type of X with
- | sumbool _ _ => destruct X
- | _ => destruct X eqn:?
- end
- | [ H : context [ if ?X then _ else _ ] |- _] =>
- match type of X with
- | sumbool _ _ => destruct X
- | _ => destruct X eqn:?
- end
- end.
-
-Ltac break_match_hyp := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : context [ match ?X with _ => _ end ] |- _] =>
- match type of X with
- | sumbool _ _ => destruct X
- | _ => destruct X eqn:?
- end
- end.
-
-Ltac break_match_goal := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ |- context [ match ?X with _ => _ end ] ] =>
- match type of X with
- | sumbool _ _ => destruct X
- | _ => destruct X eqn:?
- end
- end.
-
-Ltac break_match := idtac "VerdiTactics is deprecated in fiat-crypto"; break_match_goal || break_match_hyp.
-
-
-Ltac break_exists := idtac "VerdiTactics is deprecated in fiat-crypto";
- repeat match goal with
- | [H : exists _, _ |- _ ] => destruct H
- end.
-
-Ltac break_exists_exists := idtac "VerdiTactics is deprecated in fiat-crypto";
- repeat match goal with
- | H:exists _, _ |- _ =>
- let x := fresh "x" in
- destruct H as [x]; exists x
- end.
-
-Ltac break_and := idtac "VerdiTactics is deprecated in fiat-crypto";
- repeat match goal with
- | [H : _ /\ _ |- _ ] => destruct H
- end.
-
-Ltac solve_by_inversion' tac := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [H : _ |- _] => solve [inv H; tac]
- end.
-
-Ltac solve_by_inversion := idtac "VerdiTactics is deprecated in fiat-crypto"; solve_by_inversion' auto.
-
-Ltac apply_fun f H:= idtac "VerdiTactics is deprecated in fiat-crypto";
- match type of H with
- | ?X = ?Y => assert (f X = f Y)
- end.
-
-Ltac conclude H tac := idtac "VerdiTactics is deprecated in fiat-crypto";
- (let H' := fresh in
- match type of H with
- | ?P -> _ => assert P as H' by (tac)
- end; specialize (H H'); clear H').
-
-Ltac concludes := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?P -> _ |- _ ] => conclude H auto
- end.
-
-Ltac forward H := idtac "VerdiTactics is deprecated in fiat-crypto";
- let H' := fresh in
- match type of H with
- | ?P -> _ => assert P as H'
- end.
-
-Ltac forwards := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?P -> _ |- _ ] => forward H
- end.
-
-Ltac find_contradiction := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?X = _, H' : ?X = _ |- _ ] => rewrite H in H'; solve_by_inversion
- end.
-
-Ltac find_rewrite := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?X _ _ _ _ = _, H' : ?X _ _ _ _ = _ |- _ ] => rewrite H in H'
- | [ H : ?X = _, H' : ?X = _ |- _ ] => rewrite H in H'
- | [ H : ?X = _, H' : context [ ?X ] |- _ ] => rewrite H in H'
- | [ H : ?X = _ |- context [ ?X ] ] => rewrite H
- end.
-
-Ltac find_rewrite_lem lem := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] =>
- rewrite lem in H; [idtac]
- end.
-
-Ltac find_rewrite_lem_by lem t := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] =>
- rewrite lem in H by t
- end.
-
-Ltac find_erewrite_lem lem := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _] => erewrite lem in H by eauto
- end.
-
-Ltac find_reverse_rewrite := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ = ?X _ _ _ _, H' : ?X _ _ _ _ = _ |- _ ] => rewrite <- H in H'
- | [ H : _ = ?X, H' : context [ ?X ] |- _ ] => rewrite <- H in H'
- | [ H : _ = ?X |- context [ ?X ] ] => rewrite <- H
- end.
-
-Ltac find_inversion := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?X _ _ _ _ _ _ = ?X _ _ _ _ _ _ |- _ ] => invc H
- | [ H : ?X _ _ _ _ _ = ?X _ _ _ _ _ |- _ ] => invc H
- | [ H : ?X _ _ _ _ = ?X _ _ _ _ |- _ ] => invc H
- | [ H : ?X _ _ _ = ?X _ _ _ |- _ ] => invc H
- | [ H : ?X _ _ = ?X _ _ |- _ ] => invc H
- | [ H : ?X _ = ?X _ |- _ ] => invc H
- end.
-
-Ltac prove_eq := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?X ?x1 ?x2 ?x3 = ?X ?y1 ?y2 ?y3 |- _ ] =>
- assert (x1 = y1) by congruence;
- assert (x2 = y2) by congruence;
- assert (x3 = y3) by congruence;
- clear H
- | [ H : ?X ?x1 ?x2 = ?X ?y1 ?y2 |- _ ] =>
- assert (x1 = y1) by congruence;
- assert (x2 = y2) by congruence;
- clear H
- | [ H : ?X ?x1 = ?X ?y1 |- _ ] =>
- assert (x1 = y1) by congruence;
- clear H
- end.
-
-Ltac tuple_inversion := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : (_, _, _, _) = (_, _, _, _) |- _ ] => invc H
- | [ H : (_, _, _) = (_, _, _) |- _ ] => invc H
- | [ H : (_, _) = (_, _) |- _ ] => invc H
- end.
-
-Ltac f_apply H f := idtac "VerdiTactics is deprecated in fiat-crypto";
- match type of H with
- | ?X = ?Y =>
- assert (f X = f Y) by (rewrite H; auto)
- end.
-
-Ltac break_let := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : context [ (let (_,_) := ?X in _) ] |- _ ] => destruct X eqn:?
- | [ |- context [ (let (_,_) := ?X in _) ] ] => destruct X eqn:?
- end.
-
-Ltac break_or_hyp := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ \/ _ |- _ ] => invc H
- end.
-
-Ltac copy_apply lem H := idtac "VerdiTactics is deprecated in fiat-crypto";
- let x := fresh in
- pose proof H as x;
- apply lem in x.
-
-Ltac copy_eapply lem H := idtac "VerdiTactics is deprecated in fiat-crypto";
- let x := fresh in
- pose proof H as x;
- eapply lem in x.
-
-Ltac conclude_using tac := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?P -> _ |- _ ] => conclude H tac
- end.
-
-Ltac find_higher_order_rewrite := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ = _ |- _ ] => rewrite H in *
- | [ H : forall _, _ = _ |- _ ] => rewrite H in *
- | [ H : forall _ _, _ = _ |- _ ] => rewrite H in *
- end.
-
-Ltac find_reverse_higher_order_rewrite := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ = _ |- _ ] => rewrite <- H in *
- | [ H : forall _, _ = _ |- _ ] => rewrite <- H in *
- | [ H : forall _ _, _ = _ |- _ ] => rewrite <- H in *
- end.
-
-Ltac clean := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?X = ?X |- _ ] => clear H
- end.
-
-Ltac find_apply_hyp_goal := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] => solve [apply H]
- end.
-
-Ltac find_copy_apply_lem_hyp lem := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] => copy_apply lem H
- end.
-
-Ltac find_apply_hyp_hyp := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : forall _, _ -> _,
- H' : _ |- _ ] =>
- apply H in H'; [idtac]
- | [ H : _ -> _ , H' : _ |- _ ] =>
- apply H in H'; auto; [idtac]
- end.
-
-Ltac find_copy_apply_hyp_hyp := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : forall _, _ -> _,
- H' : _ |- _ ] =>
- copy_apply H H'; [idtac]
- | [ H : _ -> _ , H' : _ |- _ ] =>
- copy_apply H H'; auto; [idtac]
- end.
-
-Ltac find_apply_lem_hyp lem := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] => apply lem in H
- end.
-
-Ltac find_eapply_lem_hyp lem := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] => eapply lem in H
- end.
-
-Ltac insterU H := idtac "VerdiTactics is deprecated in fiat-crypto";
- match type of H with
- | forall _ : ?T, _ =>
- let x := fresh "x" in
- evar (x : T);
- let x' := (eval unfold x in x) in
- clear x; specialize (H x')
- end.
-
-Ltac find_insterU := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : forall _, _ |- _ ] => insterU H
- end.
-
-Ltac eapply_prop P := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | H : P _ |- _ =>
- eapply H
- end.
-
-Ltac isVar t := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | v : _ |- _ =>
- match t with
- | v => idtac
- end
- end.
-
-Ltac remGen t := idtac "VerdiTactics is deprecated in fiat-crypto";
- let x := fresh in
- let H := fresh in
- remember t as x eqn:H;
- generalize dependent H.
-
-Ltac remGenIfNotVar t := idtac "VerdiTactics is deprecated in fiat-crypto"; first [isVar t| remGen t].
-
-Ltac rememberNonVars H := idtac "VerdiTactics is deprecated in fiat-crypto";
- match type of H with
- | _ ?a ?b ?c ?d ?e =>
- remGenIfNotVar a;
- remGenIfNotVar b;
- remGenIfNotVar c;
- remGenIfNotVar d;
- remGenIfNotVar e
- | _ ?a ?b ?c ?d =>
- remGenIfNotVar a;
- remGenIfNotVar b;
- remGenIfNotVar c;
- remGenIfNotVar d
- | _ ?a ?b ?c =>
- remGenIfNotVar a;
- remGenIfNotVar b;
- remGenIfNotVar c
- | _ ?a ?b =>
- remGenIfNotVar a;
- remGenIfNotVar b
- | _ ?a =>
- remGenIfNotVar a
- end.
-
-Ltac generalizeEverythingElse H := idtac "VerdiTactics is deprecated in fiat-crypto";
- repeat match goal with
- | [ x : ?T |- _ ] =>
- first [
- match H with
- | x => fail 2
- end |
- match type of H with
- | context [x] => fail 2
- end |
- revert x]
- end.
-
-Ltac prep_induction H := idtac "VerdiTactics is deprecated in fiat-crypto";
- rememberNonVars H;
- generalizeEverythingElse H.
-
-Ltac econcludes := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?P -> _ |- _ ] => conclude H eauto
- end.
-
-Ltac find_copy_eapply_lem_hyp lem := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : _ |- _ ] => copy_eapply lem H
- end.
-
-Ltac apply_prop_hyp P Q := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : context [ P ], H' : context [ Q ] |- _ ] =>
- apply H in H'
- end.
-
-
-Ltac eapply_prop_hyp P Q := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : context [ P ], H' : context [ Q ] |- _ ] =>
- eapply H in H'
- end.
-
-Ltac copy_eapply_prop_hyp P Q := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : context [ P ], H' : context [ Q ] |- _ ] =>
- copy_eapply H H'
- end.
-
-Ltac find_false := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | H : _ -> False |- _ => exfalso; apply H
- end.
-
-Ltac injc H := idtac "VerdiTactics is deprecated in fiat-crypto";
- injection H; clear H; intro; subst_max.
-
-Ltac find_injection := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : ?X _ _ _ _ _ _ = ?X _ _ _ _ _ _ |- _ ] => injc H
- | [ H : ?X _ _ _ _ _ = ?X _ _ _ _ _ |- _ ] => injc H
- | [ H : ?X _ _ _ _ = ?X _ _ _ _ |- _ ] => injc H
- | [ H : ?X _ _ _ = ?X _ _ _ |- _ ] => injc H
- | [ H : ?X _ _ = ?X _ _ |- _ ] => injc H
- | [ H : ?X _ = ?X _ |- _ ] => injc H
- end.
-
-Ltac aggresive_rewrite_goal := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with H : _ |- _ => rewrite H end.
-
-Ltac break_exists_name x := idtac "VerdiTactics is deprecated in fiat-crypto";
- match goal with
- | [ H : exists _, _ |- _ ] => destruct H as [x H]
- end.
diff --git a/src/LegacyArithmetic/ZBounded.v b/src/LegacyArithmetic/ZBounded.v
deleted file mode 100644
index 2eec4122b..000000000
--- a/src/LegacyArithmetic/ZBounded.v
+++ /dev/null
@@ -1,158 +0,0 @@
-(*** Bounded ℤ-Like Types *)
-(** This file specifies a ℤ-like type of bounded integers, with
- operations for Montgomery Reduction and Barrett Reduction. *)
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope Z_scope.
-
-Class ZLikeOps (small_bound smaller_bound : Z) (modulus : Z) :=
- {
- LargeT : Type;
- SmallT : Type;
- modulus_digits : SmallT;
- decode_large : LargeT -> Z;
- decode_small : SmallT -> Z;
- Mod_SmallBound : LargeT -> SmallT;
- DivBy_SmallBound : LargeT -> SmallT;
- DivBy_SmallerBound : LargeT -> SmallT;
- Mul : SmallT -> SmallT -> LargeT;
- CarryAdd : LargeT -> LargeT -> bool * LargeT;
- CarrySubSmall : SmallT -> SmallT -> bool * SmallT;
- ConditionalSubtract : bool -> SmallT -> SmallT;
- ConditionalSubtractModulus : SmallT -> SmallT
- }.
-
-Delimit Scope small_zlike_scope with small_zlike.
-Delimit Scope large_zlike_scope with large_zlike.
-Local Open Scope small_zlike_scope.
-Local Open Scope large_zlike_scope.
-Local Open Scope Z_scope.
-Bind Scope small_zlike_scope with SmallT.
-Bind Scope large_zlike_scope with LargeT.
-Arguments decode_large (_ _ _)%Z _ _%large_zlike.
-Arguments decode_small (_ _ _)%Z _ _%small_zlike.
-Arguments Mod_SmallBound (_ _ _)%Z _ _%large_zlike.
-Arguments DivBy_SmallBound (_ _ _)%Z _ _%large_zlike.
-Arguments DivBy_SmallerBound (_ _ _)%Z _ _%large_zlike.
-Arguments Mul (_ _ _)%Z _ (_ _)%small_zlike.
-Arguments CarryAdd (_ _ _)%Z _ (_ _)%large_zlike.
-Arguments CarrySubSmall (_ _ _)%Z _ (_ _)%large_zlike.
-Arguments ConditionalSubtract (_ _ _)%Z _ _%bool _%small_zlike.
-Arguments ConditionalSubtractModulus (_ _ _)%Z _ _%small_zlike.
-
-Infix "*" := Mul : large_zlike_scope.
-Notation "x + y" := (snd (CarryAdd x y)) : large_zlike_scope.
-
-Class ZLikeProperties {small_bound smaller_bound modulus : Z} (Zops : ZLikeOps small_bound smaller_bound modulus) :=
- {
- large_valid : LargeT -> Prop;
- medium_valid : LargeT -> Prop;
- small_valid : SmallT -> Prop;
- decode_large_valid : forall v, large_valid v -> 0 <= decode_large v < small_bound * small_bound;
- decode_medium_valid : forall v, medium_valid v -> 0 <= decode_large v < small_bound * smaller_bound;
- medium_to_large_valid : forall v, medium_valid v -> large_valid v;
- decode_small_valid : forall v, small_valid v -> 0 <= decode_small v < small_bound;
- modulus_digits_valid : small_valid modulus_digits;
- modulus_digits_correct : decode_small modulus_digits = modulus;
- Mod_SmallBound_valid : forall v, large_valid v -> small_valid (Mod_SmallBound v);
- Mod_SmallBound_correct
- : forall v, large_valid v -> decode_small (Mod_SmallBound v) = decode_large v mod small_bound;
- DivBy_SmallBound_valid : forall v, large_valid v -> small_valid (DivBy_SmallBound v);
- DivBy_SmallBound_correct
- : forall v, large_valid v -> decode_small (DivBy_SmallBound v) = decode_large v / small_bound;
- DivBy_SmallerBound_valid : forall v, medium_valid v -> small_valid (DivBy_SmallerBound v);
- DivBy_SmallerBound_correct
- : forall v, medium_valid v -> decode_small (DivBy_SmallerBound v) = decode_large v / smaller_bound;
- Mul_valid : forall x y, small_valid x -> small_valid y -> large_valid (Mul x y);
- Mul_correct
- : forall x y, small_valid x -> small_valid y -> decode_large (Mul x y) = decode_small x * decode_small y;
- CarryAdd_valid : forall x y, large_valid x -> large_valid y -> large_valid (snd (CarryAdd x y));
- CarryAdd_correct_fst
- : forall x y, large_valid x -> large_valid y -> fst (CarryAdd x y) = (small_bound * small_bound <=? decode_large x + decode_large y);
- CarryAdd_correct_snd
- : forall x y, large_valid x -> large_valid y -> decode_large (snd (CarryAdd x y)) = (decode_large x + decode_large y) mod (small_bound * small_bound);
- CarrySubSmall_valid : forall x y, small_valid x -> small_valid y -> small_valid (snd (CarrySubSmall x y));
- CarrySubSmall_correct_fst
- : forall x y, small_valid x -> small_valid y -> fst (CarrySubSmall x y) = (decode_small x - decode_small y <? 0);
- CarrySubSmall_correct_snd
- : forall x y, small_valid x -> small_valid y -> decode_small (snd (CarrySubSmall x y)) = (decode_small x - decode_small y) mod small_bound;
- ConditionalSubtract_valid : forall b x, small_valid x -> small_valid (ConditionalSubtract b x);
- ConditionalSubtract_correct
- : forall b x, small_valid x -> decode_small (ConditionalSubtract b x)
- = if b then (decode_small x - decode_small modulus_digits) mod small_bound else decode_small x;
- ConditionalSubtractModulus_valid : forall x, small_valid x -> small_valid (ConditionalSubtractModulus x);
- ConditionalSubtractModulus_correct
- : forall x, small_valid x -> decode_small (ConditionalSubtractModulus x)
- = if (decode_small x <? decode_small modulus_digits) then decode_small x else decode_small x - decode_small modulus_digits
- }.
-
-Arguments ZLikeProperties [small_bound smaller_bound modulus] Zops, small_bound smaller_bound modulus {Zops}.
-
-Existing Class large_valid.
-Existing Class medium_valid.
-Existing Class small_valid.
-Existing Instances Mod_SmallBound_valid DivBy_SmallerBound_valid DivBy_SmallBound_valid Mul_valid CarryAdd_valid CarrySubSmall_valid ConditionalSubtract_valid ConditionalSubtractModulus_valid modulus_digits_valid medium_to_large_valid.
-
-Lemma ConditionalSubtractModulus_correct'
- {small_bound smaller_bound modulus : Z} {Zops : ZLikeOps small_bound smaller_bound modulus}
- {Zprops : ZLikeProperties Zops}
- : forall x, small_valid x -> decode_small (ConditionalSubtractModulus x)
- = if (decode_small modulus_digits <=? decode_small x) then decode_small x - decode_small modulus_digits else decode_small x.
-Proof.
- intros; rewrite ConditionalSubtractModulus_correct by assumption.
- break_match; Z.ltb_to_lt; omega.
-Qed.
-
-Lemma modulus_nonneg {small_bound smaller_bound modulus} (Zops : ZLikeOps small_bound smaller_bound modulus) {_ : ZLikeProperties Zops} : 0 <= modulus.
-Proof.
- pose proof (decode_small_valid _ modulus_digits_valid) as H.
- rewrite modulus_digits_correct in H.
- omega.
-Qed.
-
-Create HintDb push_zlike_decode discriminated.
-Create HintDb pull_zlike_decode discriminated.
-Hint Rewrite @Mod_SmallBound_correct @DivBy_SmallBound_correct @DivBy_SmallerBound_correct @Mul_correct @CarryAdd_correct_fst @CarryAdd_correct_snd @CarrySubSmall_correct_fst @CarrySubSmall_correct_snd @ConditionalSubtract_correct @ConditionalSubtractModulus_correct @ConditionalSubtractModulus_correct' @modulus_digits_correct using solve [ typeclasses eauto ] : push_zlike_decode.
-Hint Rewrite <- @Mod_SmallBound_correct @DivBy_SmallBound_correct @DivBy_SmallerBound_correct @Mul_correct @CarryAdd_correct_fst @CarryAdd_correct_snd @CarrySubSmall_correct_fst @CarrySubSmall_correct_snd @ConditionalSubtract_correct @ConditionalSubtractModulus_correct @modulus_digits_correct using solve [ typeclasses eauto ] : pull_zlike_decode.
-
-Ltac get_modulus :=
- match goal with
- | [ _ : ZLikeOps _ _ ?modulus |- _ ] => modulus
- end.
-
-Ltac push_zlike_decode :=
- let modulus := get_modulus in
- repeat first [ erewrite !Mod_SmallBound_correct by typeclasses eauto
- | erewrite !DivBy_SmallBound_correct by typeclasses eauto
- | erewrite !DivBy_SmallerBound_correct by typeclasses eauto
- | erewrite !Mul_correct by typeclasses eauto
- | erewrite !CarryAdd_correct_fst by typeclasses eauto
- | erewrite !CarryAdd_correct_snd by typeclasses eauto
- | erewrite !CarrySubSmall_correct_fst by typeclasses eauto
- | erewrite !CarrySubSmall_correct_snd by typeclasses eauto
- | erewrite !ConditionalSubtract_correct by typeclasses eauto
- | erewrite !ConditionalSubtractModulus_correct by typeclasses eauto
- | erewrite !ConditionalSubtractModulus_correct' by typeclasses eauto
- | erewrite !(@modulus_digits_correct _ modulus _ _) by typeclasses eauto ].
-Ltac pull_zlike_decode :=
- let modulus := get_modulus in
- repeat first [ match goal with
- | [ |- context G[modulus] ]
- => let G' := context G[decode_small modulus_digits] in
- cut G'; [ rewrite !modulus_digits_correct by typeclasses eauto; exact (fun x => x) | ]
- end
- | erewrite <- !Mod_SmallBound_correct by typeclasses eauto
- | erewrite <- !DivBy_SmallBound_correct by typeclasses eauto
- | erewrite <- !DivBy_SmallerBound_correct by typeclasses eauto
- | erewrite <- !Mul_correct by typeclasses eauto
- | erewrite <- !CarryAdd_correct_fst by typeclasses eauto
- | erewrite <- !CarryAdd_correct_snd by typeclasses eauto
- | erewrite <- !ConditionalSubtract_correct by typeclasses eauto
- | erewrite <- !CarrySubSmall_correct_fst by typeclasses eauto
- | erewrite <- !CarrySubSmall_correct_snd by typeclasses eauto
- | erewrite <- !ConditionalSubtractModulus_correct by typeclasses eauto
- | erewrite <- !ConditionalSubtractModulus_correct' by typeclasses eauto
- | erewrite <- !(@modulus_digits_correct _ modulus _ _) by typeclasses eauto ].
diff --git a/src/LegacyArithmetic/ZBoundedZ.v b/src/LegacyArithmetic/ZBoundedZ.v
deleted file mode 100644
index f0dfc6a40..000000000
--- a/src/LegacyArithmetic/ZBoundedZ.v
+++ /dev/null
@@ -1,90 +0,0 @@
-(*** ℤ can be a bounded ℤ-Like type *)
-Require Import Coq.ZArith.ZArith Coq.micromega.Psatz.
-Require Import Crypto.LegacyArithmetic.ZBounded.
-Require Import Crypto.Util.ZUtil.Definitions.
-Require Import Crypto.Util.ZUtil.Pow2Mod.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-
-Local Open Scope Z_scope.
-
-Global Instance ZZLikeOps small_bound_exp smaller_bound_exp modulus : ZLikeOps (2^small_bound_exp) (2^smaller_bound_exp) modulus
- := { LargeT := Z;
- SmallT := Z;
- modulus_digits := modulus;
- decode_large x := x;
- decode_small x := x;
- Mod_SmallBound x := Z.pow2_mod x small_bound_exp;
- DivBy_SmallBound x := Z.shiftr x small_bound_exp;
- DivBy_SmallerBound x := Z.shiftr x smaller_bound_exp;
- Mul x y := (x * y)%Z;
- CarryAdd x y := dlet xpy := x + y in
- ((2^small_bound_exp * 2^small_bound_exp <=? xpy), Z.pow2_mod xpy (2 * small_bound_exp));
- CarrySubSmall x y := dlet xmy := x - y in (xmy <? 0, Z.pow2_mod xmy small_bound_exp);
- ConditionalSubtract b x := dlet x := x in if b then Z.pow2_mod (x - modulus) small_bound_exp else x;
- ConditionalSubtractModulus x := dlet x := x in if x <? modulus then x else x - modulus }.
-
-Local Arguments Z.mul !_ !_.
-
-Class cls_is_true (x : bool) := build_is_true : x = true.
-Hint Extern 1 (cls_is_true ?b) => vm_compute; reflexivity : typeclass_instances.
-
-Local Ltac pre_t :=
- unfold cls_is_true, Let_In in *; Z.ltb_to_lt;
- match goal with
- | [ H : ?smaller_bound_exp <= ?small_bound_exp |- _ ]
- => is_var smaller_bound_exp; is_var small_bound_exp;
- assert (2^smaller_bound_exp <= 2^small_bound_exp) by auto with zarith;
- assert (2^small_bound_exp * 2^smaller_bound_exp <= 2^small_bound_exp * 2^small_bound_exp) by auto with zarith
- end.
-
-Local Ltac t_step :=
- first [ progress simpl in *
- | progress intros
- | progress autorewrite with push_Zpow Zshift_to_pow in *
- | rewrite Z.pow2_mod_spec by omega
- | progress Z.ltb_to_lt
- | progress unfold Let_In in *
- | solve [ auto with zarith ]
- | nia
- | progress break_match ].
-Local Ltac t := pre_t; repeat t_step.
-
-Global Instance ZZLikeProperties {small_bound_exp smaller_bound_exp modulus}
- {Hss : cls_is_true (0 <=? smaller_bound_exp)}
- {Hs : cls_is_true (0 <=? small_bound_exp)}
- {Hs_ss : cls_is_true (smaller_bound_exp <=? small_bound_exp)}
- {Hmod0 : cls_is_true (0 <=? modulus)}
- {Hmod1 : cls_is_true (modulus <? 2^small_bound_exp)}
- : ZLikeProperties (@ZZLikeOps small_bound_exp smaller_bound_exp modulus).
-Proof.
-refine {| large_valid x := 0 <= x < 2^(2*small_bound_exp);
- medium_valid x := 0 <= x < 2^(small_bound_exp + smaller_bound_exp);
- small_valid x := 0 <= x < 2^small_bound_exp |}.
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
- { abstract t. }
-Defined.
diff --git a/src/README.md b/src/README.md
deleted file mode 100644
index 400a2e005..000000000
--- a/src/README.md
+++ /dev/null
@@ -1,197 +0,0 @@
-The ordering of files (eliding `*Proofs.v` files) is:
-
-```
- Language.v ←──────────────────────────────────────────────────┬───────────────────────────────┐
- ↗ ↖ │ │
- ↗ ↖ │ │
- UnderLets.v GENERATEDIdentifiersWithoutTypes.v MiscCompilerPasses.v PushButtonSynthesis/ReificationCache.v
- ↑ ↖ ↗ ↑ ↑
-AbstractInterpretation.v Rewriter.v │ │
- ↑ ↑ ┌────────────────────────────────────────────────────┘ │
-CStringification.v │ │ Arithmetic.v │
- ↑ ┌───────────────────┴─┘ ↑ │
-BoundsPipeline.v COperationSpecifications.v │
- ↑ ↑ │
- │ ┌────────────────────────────────────────┴────────────────────────────────────────────────────────────────┘
-PushButtonSynthesis.v ←── Toplevel2.v ←───────────┐
- ↑ │
-CLI.v SlowPrimeSynthesisExamples.v
-↑ ↑
-│ └────────────────────────────┐
-StandaloneHaskellMain.v StandaloneOCamlMain.v
- ↑ ↑
-ExtractionHaskell.v ExtractionOCaml.v
-```
-
-The files contain:
-
-- Arithmetic.v: All of the high-level field arithmetic stuff
-
-- Language.v:
- + PHOAS
- + reification
- + denotation/intepretation
- + utilities for inverting PHOAS exprs
- + default/dummy values of PHOAS exprs
- + default instantiation of generic PHOAS types
- + gallina reification of ground terms
- + Flat/indexed syntax trees, and conversions to and from PHOAS
- Defines the passes:
- + ToFlat
- + FromFlat
- + GeneralizeVar
-
-- UnderLets.v: the UnderLets monad, a pass that does substitution of var-like
- things, a pass that inserts let-binders in the next-to-last line of code,
- substituting away var-like things (this is used to ensure that when we output
- C code, aliasing the input and the output arrays doesn't cause issues).
- Defines the passes:
- + SubstVarFstSndPairOppCast
-
-- AbstractInterpretation.v: type-code-based ZRange definitions, abstract
- interpretation of identifiers (which does let-lifting, for historical reasons,
- and the dependency on UnderLets should probably be removed), defines the
- passes:
- + PartialEvaluateWithBounds
- + PartialEvaluateWithListInfoFromBounds
- + CheckPartialEvaluateWithBounds
-
-- GENERATEDIdentifiersWithoutTypes.v: generated by a python script which is
- included in a comment in the file, this is an untyped version of identifiers
- for the rewriter
-
-- Rewriter.v: rewrite rules, rewriting. Defines the passes:
- + Rewrite
- + RewriteToFancy
- + PartialEvaluate (which is just a synonym for Rewrite)
-
-- MiscCompilerPasses.v: Defines the passes:
- + EliminateDead (dead code elimination)
- + Subst01 (substitute let-binders used 0 or 1 times)
-
-- CStringification.v: conversion to C code as strings. (Depends on
- AbstractInterpretation.v for ZRange utilities.) Defines the passes:
- + ToString.ToFunctionLines
- + ToString.ToFunctionString
- + ToString.LinesToString
-
-- CompilersTestCases.v: Various test cases to ensure everything is working
-
-- BoundsPipeline.v: Assemble the various compiler passes together into
- a composed pipeline. It is the final interface for the compiler.
- Also contains some tactics for applying the BoundsPipeline
- correctness lemma.
-
-- COperationSpecifications.v: The specifications for the various
- operations to be synthesized.
-
-- PushButtonSynthesis/ReificationCache.v: Defines the cache that holds
- reified versions of operations, as well as the tactics that reify
- and apply things from the cache.
-
-- PushButtonSynthesis.v: Reifies the various operations from
- Arithmetic.v, definies the compositions of the BoundsPipeline with
- these operations, proves that their interpretations satisfies the
- specs from COperationSpecifications.v, assembles the reified
- post-bounds operations into synthesis targets. This is the file
- that CLI.v depends on.
-
-- Toplevel2.v: Some not-quite-finished-but-kind-of-slow pipeline stuff
- + all the stuff that uses compilers + arithmetic, together with more
- examples. Also has semi-broken fancy-machine stuff. This should
- probably be merged into Toplevel1.v when working on the pipeline.
-
-- SlowPrimeSynthesisExamples.v: Additional uses of the pipeline for
- primes that are kind-of slow, which I don't want extraction blocking
- on.
-
-- CLI.v: Setting up all of the language-independent parts of extraction; relies
- on having a list of strings-or-error-messages for each pipeline, and on the
- arguments to that pipeline, and builds a parser for command line arguments for
- that.
-
-- StandaloneHaskellMain.v, StandaloneOCamlMain.v, ExtractionHaskell.v,
- ExtractionOCaml.v: Extraction of pipeline to various languages
-
-
-Proofs files:
-For Language.v, there is a semi-arbitrary split between two files
-`LanguageInversion` and `LanguageWf`.
-- LanguageInversion.v:
- + classifies equality of type codes and exprs
- + type codes have decidable equality
- + correctness of the various type-transport definitions
- + correctness lemmas for the various `expr.invert_*` definitions
- + correctness lemmas for the various `reify_*` definitions in Language.v
- + inversion_type, which inverts equality of type codes
- + type_beq_to_eq, which converts boolean equality of types to
- Leibniz equality
- + rewrite_type_transport_correct, which rewrites with the
- correctness lemmas of the various type-transport definitions
- + `type.invert_one e` which does case analysis on any inductive type
- indexed over type codes, in a way that preserves information
- about the type of `e`, and generally works even when the goal is
- dependently typed over `e` and/or its type
- + ident.invert, which does case-anaylsis on idents whose type has
- structure (i.e., is not a var)
- + ident.invert_match, which does case-analysis on idents appearing as
- the discriminee of a `match` in the goal or in any hypothesis
- + expr.invert, which does case-anaylsis on exprs whose type has
- structure (i.e., is not a var)
- + expr.invert_match, which does case-analysis on exprs appearing as
- the discriminee of a `match` in the goal or in any hypothesis
- + expr.invert_subst, which does case-analysis on exprs which show up
- in hypotheses of the form `expr.invert_* _ = Some _`
- + expr.inversion_expr, which inverts equalities of exprs
-
-- LanguageWf.v: Depends on LanguageInversion.v
- Defines:
- + expr.wf, expr.Wf, expr.wf3, expr.Wf3
- + GeneralizeVar.Flat.wf
- + expr.inversion_wf (and variants), which invert `wf` hypotheses
- + expr.wf_t (and variants wf_unsafe_t and wf_safe_t) which make
- progress on `wf` goals; `wf_safe_t` should never turn a provable
- goal into an unprovable one, while `wf_unsafe_t` might.
- + expr.interp_t (and variants), which should make progress on
- equivalence-of-interp hypotheses and goals, but is not used much
- (mainly because I forgot I had defined it)
- + prove_Wf, which proves wf goals on concrete syntax trees in a more
- optimized way than `repeat constructor`
- Proves:
- + funext → (type.eqv ↔ Logic.eq) (`eqv_iff_eq_of_funext`)
- + type.related and type.eqv are PERs
- + Proper instances for type.app_curried, type.and_for_each_lhs_of_arrow
- + type.is_not_higher_order → Reflexive (type.and_for_each_lhs_of_arrow type.eqv)
- + iff between type.related{,_hetero} and related of type.app_curried
- + various properties of type.and{,b_bool}for_each_lhs_of_arrow
- + various properties of type.eqv and ident.{gen_,}interp
- + various properties of ident.cast
- + various properties of expr.wf (particularly of things defined in Language.v)
- + interp and wf proofs for the passes to/from Flat
-
-- UnderLetsProofs.v: wf and interp lemmas for the various passes defined in UnderLets.v
-- MiscCompilerPassesProofs.v: wf and interp lemmas for the various passes defined in MiscCompilerPasses.v
-- GENERATEDIdentifiersWithoutTypesProofs.v: various lemmas about the definitions in GENERATEDIdentifiersWithoutTypes.v
-- AbstractInterpretationZRangeProofs.v: Proves correctness lemmas of the per-operation zrange-bounds-analysis functions
-- AbstractInterpretationWf.v: wf lemmas for the AbstractInterpretation pass
-- AbstractInterpretationProofs.v: interp lemmas for the
- AbstractInterpretation pass, and also correctness lemmas that
- combine Wf and interp
-- RewriterWf1.v: a semi-arbitrary collection of proofs and definitions
- that are mostly shared between the wf proofs and the interp proofs.
- Importantly, this file defines everything needed to state and prove
- that specific rewrite rules are correct.
-- RewriterRulesGood.v: Proves that all specific rewriter rules are
- good enough for wf proofs (as specified in RewriterWf1.v)
-- RewriterRulesInterpGood.v: Proves that all specific rewriter rules
- are good enough for interp proofs (as specified in RewriterWf1.v)
-- RewriterWf2.v: Proves wf of the generic rewriter pass, taking in
- specific-rewriter-rule-correctness as a hypothesis
-- RewriterInterpProofs1.v: Proves interp-correctness of the generic
- rewriter pass, taking in specific-rewriter-rule-correctness as a
- hypothesis
-- RewriterProofs.v: assembles the proofs from RewriterRulesGood.v,
- RewriterRulesInterpGood.v, RewriterWf2.v, and
- RewriterInterpProofs1.v into correctness lemmas for the overall
- rewriter pass, specialized and pre-evaluated for specific rewrite
- rules
diff --git a/src/Specific/CurveParameters/X25519_C64/scalarmult.c b/src/Specific/CurveParameters/X25519_C64/scalarmult.c
deleted file mode 100644
index ffe015012..000000000
--- a/src/Specific/CurveParameters/X25519_C64/scalarmult.c
+++ /dev/null
@@ -1,309 +0,0 @@
-// The synthesized parts are from fiat-crypto, copyright MIT 2017.
-// The synthesis framework is released under the MIT license.
-// The non-synthesized parts are from curve25519-donna by Adam Langley (Google):
-/* Copyright 2008, Google Inc.
- * All rights reserved.
- *
- * Code released into the public domain.
- *
- * curve25519-donna: Curve25519 elliptic curve, public key function
- *
- * http://code.google.com/p/curve25519-donna/
- *
- * (modified by Andres Erbsen and Jason Gross)
- * Adam Langley <agl@imperialviolet.org>
- * Parts optimised by floodyberry
- * Derived from public domain C code by Daniel J. Bernstein <djb@cr.yp.to>
- *
- * More information about curve25519 can be found here
- * http://cr.yp.to/ecdh.html
- *
- * djb's sample implementation of curve25519 is written in a special assembly
- * language called qhasm and uses the floating point registers.
- *
- * This is, almost, a clean room reimplementation from the curve25519 paper. It
- * uses many of the tricks described therein. Only the crecip function is taken
- * from the sample implementation.
- */
-
-#include <string.h>
-#include <stdint.h>
-
-#include "femul.h"
-#include "fesquare.h"
-#include "ladderstep.h"
-
-typedef unsigned int uint128_t __attribute__((mode(TI)));
-
-#undef force_inline
-#define force_inline __attribute__((always_inline))
-
-typedef uint8_t u8;
-typedef uint64_t limb;
-typedef limb felem[5];
-
-static void force_inline
-fmul(felem output, const felem in2, const felem in) {
- uint64_t out[5];
- femul(out,
- in2[4], in2[3], in2[2], in2[1], in2[0],
- in[4], in[3], in[2], in[1], in[0]);
- output[4] = out[0];
- output[3] = out[1];
- output[2] = out[2];
- output[1] = out[3];
- output[0] = out[4];
-}
-
-static void force_inline
-fsquare_times(felem output, const felem in, limb count) {
- uint64_t r0 = in[0];
- uint64_t r1 = in[1];
- uint64_t r2 = in[2];
- uint64_t r3 = in[3];
- uint64_t r4 = in[4];
-
- do {
- uint64_t out[5];
- fesquare(out, r4, r3, r2, r1, r0);
- r4 = out[0];
- r3 = out[1];
- r2 = out[2];
- r1 = out[3];
- r0 = out[4];
- } while(--count);
-
- output[0] = r0;
- output[1] = r1;
- output[2] = r2;
- output[3] = r3;
- output[4] = r4;
-}
-
-/* Take a little-endian, 32-byte number and expand it into polynomial form */
-static void
-fexpand(limb *output, const u8 *in) {
- output[0] = *((const uint64_t *)(in)) & 0x7ffffffffffff;
- output[1] = (*((const uint64_t *)(in+6)) >> 3) & 0x7ffffffffffff;
- output[2] = (*((const uint64_t *)(in+12)) >> 6) & 0x7ffffffffffff;
- output[3] = (*((const uint64_t *)(in+19)) >> 1) & 0x7ffffffffffff;
- output[4] = (*((const uint64_t *)(in+25)) >> 4) & 0x7ffffffffffff;
-}
-
-/* Take a fully reduced polynomial form number and contract it into a
- * little-endian, 32-byte array
- */
-static void
-fcontract(u8 *output, const felem input) {
- uint128_t t[5];
-
- t[0] = input[0];
- t[1] = input[1];
- t[2] = input[2];
- t[3] = input[3];
- t[4] = input[4];
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- /* now t is between 0 and 2^255-1, properly carried. */
- /* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */
-
- t[0] += 19;
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- /* now between 19 and 2^255-1 in both cases, and offset by 19. */
-
- t[0] += 0x8000000000000 - 19;
- t[1] += 0x8000000000000 - 1;
- t[2] += 0x8000000000000 - 1;
- t[3] += 0x8000000000000 - 1;
- t[4] += 0x8000000000000 - 1;
-
- /* now between 2^255 and 2^256-20, and offset by 2^255. */
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[4] &= 0x7ffffffffffff;
-
- *((uint64_t *)(output)) = t[0] | (t[1] << 51);
- *((uint64_t *)(output+8)) = (t[1] >> 13) | (t[2] << 38);
- *((uint64_t *)(output+16)) = (t[2] >> 26) | (t[3] << 25);
- *((uint64_t *)(output+24)) = (t[3] >> 39) | (t[4] << 12);
-}
-
-/* Input: Q, Q', Q-Q'
- * Output: 2Q, Q+Q'
- */
-static void
-fmonty(limb *x2, limb *z2, /* output 2Q */
- limb *x3, limb *z3, /* output Q + Q' */
- limb *x, limb *z, /* input Q */
- limb *xprime, limb *zprime, /* input Q' */
- const limb *qmqp /* input Q - Q' */) {
- uint64_t out[20];
- ladderstep(out, qmqp[4], qmqp[3], qmqp[2], qmqp[1], qmqp[0], x[4], x[3], x[2], x[1], x[0], z[4], z[3], z[2], z[1], z[0], xprime[4], xprime[3], xprime[2], xprime[1], xprime[0], zprime[4], zprime[3], zprime[2], zprime[1], zprime[0]);
- x2[4] = out[ 0];
- x2[3] = out[ 1];
- x2[2] = out[ 2];
- x2[1] = out[ 3];
- x2[0] = out[ 4];
- z2[4] = out[ 5];
- z2[3] = out[ 6];
- z2[2] = out[ 7];
- z2[1] = out[ 8];
- z2[0] = out[ 9];
- x3[4] = out[10];
- x3[3] = out[11];
- x3[2] = out[12];
- x3[1] = out[13];
- x3[0] = out[14];
- z3[4] = out[15];
- z3[3] = out[16];
- z3[2] = out[17];
- z3[1] = out[18];
- z3[0] = out[19];
-}
-
-// -----------------------------------------------------------------------------
-// Maybe swap the contents of two limb arrays (@a and @b), each @len elements
-// long. Perform the swap iff @swap is non-zero.
-//
-// This function performs the swap without leaking any side-channel
-// information.
-// -----------------------------------------------------------------------------
-static void
-swap_conditional(limb a[5], limb b[5], limb iswap) {
- unsigned i;
- const limb swap = -iswap;
-
- for (i = 0; i < 5; ++i) {
- const limb x = swap & (a[i] ^ b[i]);
- a[i] ^= x;
- b[i] ^= x;
- }
-}
-
-/* Calculates nQ where Q is the x-coordinate of a point on the curve
- *
- * resultx/resultz: the x coordinate of the resulting curve point (short form)
- * n: a little endian, 32-byte number
- * q: a point of the curve (short form)
- */
-static void
-cmult(limb *resultx, limb *resultz, const u8 *n, const limb *q) {
- limb a[5] = {0}, b[5] = {1}, c[5] = {1}, d[5] = {0};
- limb *nqpqx = a, *nqpqz = b, *nqx = c, *nqz = d, *t;
- limb e[5] = {0}, f[5] = {1}, g[5] = {0}, h[5] = {1};
- limb *nqpqx2 = e, *nqpqz2 = f, *nqx2 = g, *nqz2 = h;
-
- unsigned i, j;
-
- memcpy(nqpqx, q, sizeof(limb) * 5);
-
- for (i = 0; i < 32; ++i) {
- u8 byte = n[31 - i];
- for (j = 0; j < 8; ++j) {
- const limb bit = byte >> 7;
-
- swap_conditional(nqx, nqpqx, bit);
- swap_conditional(nqz, nqpqz, bit);
- fmonty(nqx2, nqz2,
- nqpqx2, nqpqz2,
- nqx, nqz,
- nqpqx, nqpqz,
- q);
- swap_conditional(nqx2, nqpqx2, bit);
- swap_conditional(nqz2, nqpqz2, bit);
-
- t = nqx;
- nqx = nqx2;
- nqx2 = t;
- t = nqz;
- nqz = nqz2;
- nqz2 = t;
- t = nqpqx;
- nqpqx = nqpqx2;
- nqpqx2 = t;
- t = nqpqz;
- nqpqz = nqpqz2;
- nqpqz2 = t;
-
- byte <<= 1;
- }
- }
-
- memcpy(resultx, nqx, sizeof(limb) * 5);
- memcpy(resultz, nqz, sizeof(limb) * 5);
-}
-
-
-// -----------------------------------------------------------------------------
-// Shamelessly copied from djb's code, tightened a little
-// -----------------------------------------------------------------------------
-static void
-crecip(felem out, const felem z) {
- felem a,t0,b,c;
-
- /* 2 */ fsquare_times(a, z, 1); // a = 2
- /* 8 */ fsquare_times(t0, a, 2);
- /* 9 */ fmul(b, t0, z); // b = 9
- /* 11 */ fmul(a, b, a); // a = 11
- /* 22 */ fsquare_times(t0, a, 1);
- /* 2^5 - 2^0 = 31 */ fmul(b, t0, b);
- /* 2^10 - 2^5 */ fsquare_times(t0, b, 5);
- /* 2^10 - 2^0 */ fmul(b, t0, b);
- /* 2^20 - 2^10 */ fsquare_times(t0, b, 10);
- /* 2^20 - 2^0 */ fmul(c, t0, b);
- /* 2^40 - 2^20 */ fsquare_times(t0, c, 20);
- /* 2^40 - 2^0 */ fmul(t0, t0, c);
- /* 2^50 - 2^10 */ fsquare_times(t0, t0, 10);
- /* 2^50 - 2^0 */ fmul(b, t0, b);
- /* 2^100 - 2^50 */ fsquare_times(t0, b, 50);
- /* 2^100 - 2^0 */ fmul(c, t0, b);
- /* 2^200 - 2^100 */ fsquare_times(t0, c, 100);
- /* 2^200 - 2^0 */ fmul(t0, t0, c);
- /* 2^250 - 2^50 */ fsquare_times(t0, t0, 50);
- /* 2^250 - 2^0 */ fmul(t0, t0, b);
- /* 2^255 - 2^5 */ fsquare_times(t0, t0, 5);
- /* 2^255 - 21 */ fmul(out, t0, a);
-}
-
-int
-crypto_scalarmult(u8 *mypublic, const u8 *secret, const u8 *basepoint) {
- limb bp[5], x[5], z[5], zmone[5];
- uint8_t e[32];
- int i;
-
- for (i = 0;i < 32;++i) e[i] = secret[i];
- e[0] &= 248;
- e[31] &= 127;
- e[31] |= 64;
-
- fexpand(bp, basepoint);
- cmult(x, z, e, bp);
- crecip(zmone, z);
- fmul(z, x, zmone);
- fcontract(mypublic, z);
- return 0;
-}
-
-void crypto_scalarmult_bench(unsigned char* buf) {
- crypto_scalarmult(buf, buf+32, buf+64);
-}
diff --git a/src/Specific/CurveParameters/montgomery32/fesquare.c b/src/Specific/CurveParameters/montgomery32/fesquare.c
deleted file mode 100644
index 8916b2140..000000000
--- a/src/Specific/CurveParameters/montgomery32/fesquare.c
+++ /dev/null
@@ -1,3 +0,0 @@
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e127m1_4limbs.json b/src/Specific/CurveParameters/montgomery32_2e127m1_4limbs.json
deleted file mode 100644
index 56bd8c3f6..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e127m1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<127) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<127) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^127 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e129m25_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e129m25_5limbs.json
deleted file mode 100644
index f85879542..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e129m25_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^129 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e130m5_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e130m5_5limbs.json
deleted file mode 100644
index 3dbf93da1..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e130m5_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^130 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e137m13_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e137m13_5limbs.json
deleted file mode 100644
index c4f236c33..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e137m13_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^137 - 13",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e140m27_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e140m27_5limbs.json
deleted file mode 100644
index 43bf4b1e4..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e140m27_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<140) - 27'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^140 - 27",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e141m9_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e141m9_5limbs.json
deleted file mode 100644
index 62cf47bae..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e141m9_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<141) - 9'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^141 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e150m3_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e150m3_5limbs.json
deleted file mode 100644
index 9bec46e04..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e150m3_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^150 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e150m5_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e150m5_5limbs.json
deleted file mode 100644
index 4bd9560dc..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e150m5_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 5'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^150 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e152m17_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e152m17_5limbs.json
deleted file mode 100644
index e92d54055..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e152m17_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<152) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^152 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e158m15_5limbs.json b/src/Specific/CurveParameters/montgomery32_2e158m15_5limbs.json
deleted file mode 100644
index 8f8a15f1b..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e158m15_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<158) - 15'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^158 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e165m25_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e165m25_6limbs.json
deleted file mode 100644
index c7b6c49e4..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e165m25_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<165) - 25'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^165 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e166m5_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e166m5_6limbs.json
deleted file mode 100644
index 2582b7077..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e166m5_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^166 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e171m19_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e171m19_6limbs.json
deleted file mode 100644
index 7451ca8fb..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e171m19_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<171) - 19'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^171 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e174m17_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e174m17_6limbs.json
deleted file mode 100644
index 41b18c6c5..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e174m17_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^174 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e174m3_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e174m3_6limbs.json
deleted file mode 100644
index 1d0311e19..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e174m3_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^174 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e189m25_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e189m25_6limbs.json
deleted file mode 100644
index 1896d13b6..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e189m25_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<189) - 25'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^189 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e190m11_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e190m11_6limbs.json
deleted file mode 100644
index db86c295d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e190m11_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<190) - 11'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^190 - 11",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e191m19_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e191m19_6limbs.json
deleted file mode 100644
index 6c652cd99..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e191m19_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<191) - 19'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^191 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e192m2e64m1_6limbs.json b/src/Specific/CurveParameters/montgomery32_2e192m2e64m1_6limbs.json
deleted file mode 100644
index 4e96f04b6..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e192m2e64m1_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^192 - 2^64 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e194m33_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e194m33_7limbs.json
deleted file mode 100644
index 8442d544e..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e194m33_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<194) - 33'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^194 - 33",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e196m15_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e196m15_7limbs.json
deleted file mode 100644
index e358418d1..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e196m15_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<196) - 15'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^196 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e198m17_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e198m17_7limbs.json
deleted file mode 100644
index 935733ded..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e198m17_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<198) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^198 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1_7limbs.json
deleted file mode 100644
index 432582b89..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e205m45x2e198m1_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^205 - 45*2^198 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e206m5_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e206m5_7limbs.json
deleted file mode 100644
index 5226fccaf..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e206m5_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<206) - 5'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^206 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e212m29_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e212m29_7limbs.json
deleted file mode 100644
index c14bab0a8..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e212m29_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<212) - 29'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^212 - 29",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e213m3_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e213m3_7limbs.json
deleted file mode 100644
index 302ee7a6d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e213m3_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<213) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^213 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e216m2e108m1_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e216m2e108m1_7limbs.json
deleted file mode 100644
index 760f8b928..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e216m2e108m1_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^216 - 2^108 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e221m3_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e221m3_7limbs.json
deleted file mode 100644
index ceb71751c..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e221m3_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<221) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^221 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e222m117_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e222m117_7limbs.json
deleted file mode 100644
index 93db3088e..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e222m117_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<222) - 117'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^222 - 117",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e224m2e96p1_7limbs.json b/src/Specific/CurveParameters/montgomery32_2e224m2e96p1_7limbs.json
deleted file mode 100644
index 21d7ab1ae..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e224m2e96p1_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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='{32,32,32,32,32,32,32}' -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='7' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "compilerxx": "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='{32,32,32,32,32,32,32}' -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='7' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^224 - 2^96 + 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e226m5_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e226m5_8limbs.json
deleted file mode 100644
index e297975cc..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e226m5_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<226) - 5'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^226 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e230m27_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e230m27_8limbs.json
deleted file mode 100644
index dc8439e7f..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e230m27_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<230) - 27'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^230 - 27",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e235m15_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e235m15_8limbs.json
deleted file mode 100644
index 6d0656232..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e235m15_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<235) - 15'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^235 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e243m9_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e243m9_8limbs.json
deleted file mode 100644
index 698f14d1f..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e243m9_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<243) - 9'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^243 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e251m9_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e251m9_8limbs.json
deleted file mode 100644
index 8733e4e61..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e251m9_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<251) - 9'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^251 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1_8limbs.json
deleted file mode 100644
index b16a6b7e0..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e254m127x2e240m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^254 - 127*2^240 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e255m19_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e255m19_8limbs.json
deleted file mode 100644
index 2c83c9517..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e255m19_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 19'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^255 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e255m765_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e255m765_8limbs.json
deleted file mode 100644
index ec7d7000b..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e255m765_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 765'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^255 - 765",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m189_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e256m189_8limbs.json
deleted file mode 100644
index 0192ec5ae..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e256m189_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 189'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^256 - 189",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1_8limbs.json
deleted file mode 100644
index 4deaa7289..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e256m2e224p2e192p2e96m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m2e32m977_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e256m2e32m977_8limbs.json
deleted file mode 100644
index c52a737c2..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e256m2e32m977_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^256 - 2^32 - 977",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m4294968273_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e256m4294968273_8limbs.json
deleted file mode 100644
index 752f93c96..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e256m4294968273_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^256 - 4294968273",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1_8limbs.json b/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1_8limbs.json
deleted file mode 100644
index 9a7089f2d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e256m88x2e240m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^256 - 88*2^240 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e266m3_9limbs.json b/src/Specific/CurveParameters/montgomery32_2e266m3_9limbs.json
deleted file mode 100644
index e881324f1..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e266m3_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<266) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^266 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e285m9_9limbs.json b/src/Specific/CurveParameters/montgomery32_2e285m9_9limbs.json
deleted file mode 100644
index b2e4dc723..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e285m9_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<285) - 9'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^285 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e291m19_10limbs.json b/src/Specific/CurveParameters/montgomery32_2e291m19_10limbs.json
deleted file mode 100644
index 2c9d15a3a..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e291m19_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<291) - 19'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^291 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e321m9_11limbs.json b/src/Specific/CurveParameters/montgomery32_2e321m9_11limbs.json
deleted file mode 100644
index 36d27ed36..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e321m9_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<321) - 9'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^321 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e322m2e161m1_11limbs.json b/src/Specific/CurveParameters/montgomery32_2e322m2e161m1_11limbs.json
deleted file mode 100644
index 09720ca5c..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e322m2e161m1_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^322 - 2^161 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e336m17_11limbs.json b/src/Specific/CurveParameters/montgomery32_2e336m17_11limbs.json
deleted file mode 100644
index 21c401781..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e336m17_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^336 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e336m3_11limbs.json b/src/Specific/CurveParameters/montgomery32_2e336m3_11limbs.json
deleted file mode 100644
index 903113d62..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e336m3_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^336 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e338m15_11limbs.json b/src/Specific/CurveParameters/montgomery32_2e338m15_11limbs.json
deleted file mode 100644
index a11519e8c..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e338m15_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<338) - 15'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^338 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e369m25_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e369m25_12limbs.json
deleted file mode 100644
index 1eb7d788b..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e369m25_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<369) - 25'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^369 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e379m19_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e379m19_12limbs.json
deleted file mode 100644
index 466801ea8..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e379m19_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<379) - 19'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^379 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e382m105_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e382m105_12limbs.json
deleted file mode 100644
index 9bba1b230..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e382m105_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<382) - 105'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^382 - 105",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e383m187_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e383m187_12limbs.json
deleted file mode 100644
index 8b89d6e7b..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e383m187_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 187'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^383 - 187",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e383m31_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e383m31_12limbs.json
deleted file mode 100644
index 477490838..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e383m31_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 31'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^383 - 31",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e383m421_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e383m421_12limbs.json
deleted file mode 100644
index 28e3fc4c7..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e383m421_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 421'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^383 - 421",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1_12limbs.json
deleted file mode 100644
index b65d7be7d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e384m2e128m2e96p2e32m1_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m317_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e384m317_12limbs.json
deleted file mode 100644
index 1fb8c0c67..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e384m317_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 317'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^384 - 317",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1_12limbs.json
deleted file mode 100644
index 713f79d7c..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e384m5x2e368m1_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^384 - 5*2^368 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1_12limbs.json b/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1_12limbs.json
deleted file mode 100644
index ecec92a1f..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e384m79x2e376m1_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^384 - 79*2^376 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e389m21_13limbs.json b/src/Specific/CurveParameters/montgomery32_2e389m21_13limbs.json
deleted file mode 100644
index 3e7283a0a..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e389m21_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<389) - 21'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^389 - 21",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e401m31_13limbs.json b/src/Specific/CurveParameters/montgomery32_2e401m31_13limbs.json
deleted file mode 100644
index 59a125f64..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e401m31_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<401) - 31'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^401 - 31",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e413m21_13limbs.json b/src/Specific/CurveParameters/montgomery32_2e413m21_13limbs.json
deleted file mode 100644
index e8fac478d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e413m21_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<413) - 21'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^413 - 21",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e414m17_13limbs.json b/src/Specific/CurveParameters/montgomery32_2e414m17_13limbs.json
deleted file mode 100644
index a87819156..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e414m17_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<414) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^414 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e416m2e208m1_13limbs.json b/src/Specific/CurveParameters/montgomery32_2e416m2e208m1_13limbs.json
deleted file mode 100644
index c1a2dc471..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e416m2e208m1_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^416 - 2^208 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e444m17_14limbs.json b/src/Specific/CurveParameters/montgomery32_2e444m17_14limbs.json
deleted file mode 100644
index c7d38da91..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e444m17_14limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<444) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^444 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "14"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e448m2e224m1_14limbs.json b/src/Specific/CurveParameters/montgomery32_2e448m2e224m1_14limbs.json
deleted file mode 100644
index 7c298e754..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e448m2e224m1_14limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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='14' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "compilerxx": "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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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='14' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^448 - 2^224 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "14"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e450m2e225m1_15limbs.json b/src/Specific/CurveParameters/montgomery32_2e450m2e225m1_15limbs.json
deleted file mode 100644
index 424ac341d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e450m2e225m1_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^450 - 2^225 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e452m3_15limbs.json b/src/Specific/CurveParameters/montgomery32_2e452m3_15limbs.json
deleted file mode 100644
index f1eb77e97..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e452m3_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<452) - 3'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^452 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e468m17_15limbs.json b/src/Specific/CurveParameters/montgomery32_2e468m17_15limbs.json
deleted file mode 100644
index 927b944e5..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e468m17_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<468) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^468 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e480m2e240m1_15limbs.json b/src/Specific/CurveParameters/montgomery32_2e480m2e240m1_15limbs.json
deleted file mode 100644
index b92015d58..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e480m2e240m1_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^480 - 2^240 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e488m17_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e488m17_16limbs.json
deleted file mode 100644
index dd429625d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e488m17_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<488) - 17'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^488 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e489m21_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e489m21_16limbs.json
deleted file mode 100644
index 648633b43..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e489m21_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<489) - 21'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^489 - 21",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e495m31_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e495m31_16limbs.json
deleted file mode 100644
index e07f3138d..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e495m31_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<495) - 31'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^495 - 31",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1_16limbs.json
deleted file mode 100644
index 8ce5988fa..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e510m290x2e496m1_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^510 - 290*2^496 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e511m187_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e511m187_16limbs.json
deleted file mode 100644
index 7aa6dd892..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e511m187_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 187'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^511 - 187",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e511m481_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e511m481_16limbs.json
deleted file mode 100644
index 431ba2f74..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e511m481_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 481'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^511 - 481",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1_16limbs.json
deleted file mode 100644
index 9a3b26bd7..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e512m491x2e496m1_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^512 - 491*2^496 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e512m569_16limbs.json b/src/Specific/CurveParameters/montgomery32_2e512m569_16limbs.json
deleted file mode 100644
index 34ee271a0..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e512m569_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 569'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^512 - 569",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/montgomery32_2e521m1_17limbs.json b/src/Specific/CurveParameters/montgomery32_2e521m1_17limbs.json
deleted file mode 100644
index 529ce16c0..000000000
--- a/src/Specific/CurveParameters/montgomery32_2e521m1_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<521) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<521) - 1'",
- "extra_files": [
- "montgomery32/fesquare.c"
- ],
- "modulus": "2^521 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/montgomery64/fesquare.c b/src/Specific/CurveParameters/montgomery64/fesquare.c
deleted file mode 100644
index cb844716c..000000000
--- a/src/Specific/CurveParameters/montgomery64/fesquare.c
+++ /dev/null
@@ -1,3 +0,0 @@
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e127m1_2limbs.json b/src/Specific/CurveParameters/montgomery64_2e127m1_2limbs.json
deleted file mode 100644
index c89c1b909..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e127m1_2limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='2' -Dq_mpz='(1_mpz<<127) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='2' -Dq_mpz='(1_mpz<<127) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^127 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "2"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e129m25_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e129m25_3limbs.json
deleted file mode 100644
index be1175a46..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e129m25_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^129 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e130m5_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e130m5_3limbs.json
deleted file mode 100644
index b772a22cb..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e130m5_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^130 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e137m13_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e137m13_3limbs.json
deleted file mode 100644
index 7f3acab16..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e137m13_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^137 - 13",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e140m27_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e140m27_3limbs.json
deleted file mode 100644
index 99518bd5e..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e140m27_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^140 - 27",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e141m9_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e141m9_3limbs.json
deleted file mode 100644
index fe76033da..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e141m9_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^141 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e150m3_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e150m3_3limbs.json
deleted file mode 100644
index 738015f69..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e150m3_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^150 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e150m5_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e150m5_3limbs.json
deleted file mode 100644
index 2b6207b11..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e150m5_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^150 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e152m17_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e152m17_3limbs.json
deleted file mode 100644
index b9fd3a7bd..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e152m17_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^152 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e158m15_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e158m15_3limbs.json
deleted file mode 100644
index dc25414b6..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e158m15_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^158 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e165m25_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e165m25_3limbs.json
deleted file mode 100644
index 2732b1bb0..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e165m25_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^165 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e166m5_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e166m5_3limbs.json
deleted file mode 100644
index eea9e8f21..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e166m5_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^166 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e171m19_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e171m19_3limbs.json
deleted file mode 100644
index 1faa915ac..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e171m19_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^171 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e174m17_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e174m17_3limbs.json
deleted file mode 100644
index 07c210431..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e174m17_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^174 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e174m3_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e174m3_3limbs.json
deleted file mode 100644
index a6868b023..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e174m3_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^174 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e189m25_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e189m25_3limbs.json
deleted file mode 100644
index ff0e9754c..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e189m25_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<189) - 25'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^189 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e190m11_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e190m11_3limbs.json
deleted file mode 100644
index e237c7cbf..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e190m11_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<190) - 11'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^190 - 11",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e191m19_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e191m19_3limbs.json
deleted file mode 100644
index 4550a2f56..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e191m19_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<191) - 19'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^191 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e192m2e64m1_3limbs.json b/src/Specific/CurveParameters/montgomery64_2e192m2e64m1_3limbs.json
deleted file mode 100644
index d7cfb7bd2..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e192m2e64m1_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^192 - 2^64 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e194m33_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e194m33_4limbs.json
deleted file mode 100644
index b9368cc4c..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e194m33_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^194 - 33",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e196m15_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e196m15_4limbs.json
deleted file mode 100644
index 5a4f859f7..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e196m15_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^196 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e198m17_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e198m17_4limbs.json
deleted file mode 100644
index 63ef03882..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e198m17_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^198 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1_4limbs.json
deleted file mode 100644
index 0a686b8e9..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e205m45x2e198m1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^205 - 45*2^198 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e206m5_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e206m5_4limbs.json
deleted file mode 100644
index 16e6477a1..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e206m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^206 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e212m29_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e212m29_4limbs.json
deleted file mode 100644
index 7c6ed6716..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e212m29_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^212 - 29",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e213m3_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e213m3_4limbs.json
deleted file mode 100644
index 0c8e137ae..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e213m3_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^213 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e216m2e108m1_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e216m2e108m1_4limbs.json
deleted file mode 100644
index eb77d0ab4..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e216m2e108m1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^216 - 2^108 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e221m3_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e221m3_4limbs.json
deleted file mode 100644
index 115a921ea..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e221m3_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^221 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e222m117_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e222m117_4limbs.json
deleted file mode 100644
index 55708691c..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e222m117_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^222 - 117",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e224m2e96p1_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e224m2e96p1_4limbs.json
deleted file mode 100644
index d9b9caff1..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e224m2e96p1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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='4' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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='4' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^224 - 2^96 + 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e226m5_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e226m5_4limbs.json
deleted file mode 100644
index 74c6aa6c4..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e226m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^226 - 5",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e230m27_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e230m27_4limbs.json
deleted file mode 100644
index 857f332c0..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e230m27_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^230 - 27",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e235m15_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e235m15_4limbs.json
deleted file mode 100644
index 2588781b0..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e235m15_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^235 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e243m9_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e243m9_4limbs.json
deleted file mode 100644
index 33a2be0b7..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e243m9_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<243) - 9'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^243 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e251m9_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e251m9_4limbs.json
deleted file mode 100644
index 33b515590..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e251m9_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<251) - 9'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^251 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1_4limbs.json
deleted file mode 100644
index aceb683d9..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e254m127x2e240m1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^254 - 127*2^240 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e255m19_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e255m19_4limbs.json
deleted file mode 100644
index b710ed4c5..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e255m19_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 19'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^255 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e255m765_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e255m765_4limbs.json
deleted file mode 100644
index 23639fa01..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e255m765_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 765'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^255 - 765",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m189_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e256m189_4limbs.json
deleted file mode 100644
index 07612ec6d..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e256m189_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 189'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^256 - 189",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1_4limbs.json
deleted file mode 100644
index 0216815c9..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e256m2e224p2e192p2e96m1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m2e32m977_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e256m2e32m977_4limbs.json
deleted file mode 100644
index 77cb0aee6..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e256m2e32m977_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^256 - 2^32 - 977",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m4294968273_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e256m4294968273_4limbs.json
deleted file mode 100644
index f7f97e460..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e256m4294968273_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^256 - 4294968273",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1_4limbs.json b/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1_4limbs.json
deleted file mode 100644
index 3037bc6b5..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e256m88x2e240m1_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^256 - 88*2^240 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e266m3_5limbs.json b/src/Specific/CurveParameters/montgomery64_2e266m3_5limbs.json
deleted file mode 100644
index db4000d82..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e266m3_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^266 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e285m9_5limbs.json b/src/Specific/CurveParameters/montgomery64_2e285m9_5limbs.json
deleted file mode 100644
index 48149c985..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e285m9_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^285 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e291m19_5limbs.json b/src/Specific/CurveParameters/montgomery64_2e291m19_5limbs.json
deleted file mode 100644
index e25b922e0..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e291m19_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^291 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e321m9_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e321m9_6limbs.json
deleted file mode 100644
index dce093e31..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e321m9_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^321 - 9",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e322m2e161m1_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e322m2e161m1_6limbs.json
deleted file mode 100644
index 82aaa0f7d..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e322m2e161m1_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^322 - 2^161 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e336m17_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e336m17_6limbs.json
deleted file mode 100644
index 0f7b8e9e3..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e336m17_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^336 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e336m3_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e336m3_6limbs.json
deleted file mode 100644
index 6ae81c39f..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e336m3_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^336 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e338m15_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e338m15_6limbs.json
deleted file mode 100644
index cded47ef7..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e338m15_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^338 - 15",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e369m25_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e369m25_6limbs.json
deleted file mode 100644
index e6038f232..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e369m25_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<369) - 25'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^369 - 25",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e379m19_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e379m19_6limbs.json
deleted file mode 100644
index 64dd6d8ad..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e379m19_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<379) - 19'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^379 - 19",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e382m105_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e382m105_6limbs.json
deleted file mode 100644
index 31c1003c0..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e382m105_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<382) - 105'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^382 - 105",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e383m187_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e383m187_6limbs.json
deleted file mode 100644
index eda63f535..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e383m187_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 187'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^383 - 187",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e383m31_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e383m31_6limbs.json
deleted file mode 100644
index 1da0e0431..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e383m31_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 31'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^383 - 31",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e383m421_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e383m421_6limbs.json
deleted file mode 100644
index 49aa605d1..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e383m421_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 421'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^383 - 421",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1_6limbs.json
deleted file mode 100644
index 7c603f537..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e384m2e128m2e96p2e32m1_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m317_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e384m317_6limbs.json
deleted file mode 100644
index 1028e9cb0..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e384m317_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 317'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^384 - 317",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1_6limbs.json
deleted file mode 100644
index 6f94eadd6..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e384m5x2e368m1_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^384 - 5*2^368 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1_6limbs.json b/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1_6limbs.json
deleted file mode 100644
index b80335182..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e384m79x2e376m1_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^384 - 79*2^376 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e389m21_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e389m21_7limbs.json
deleted file mode 100644
index e10f643b2..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e389m21_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^389 - 21",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e401m31_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e401m31_7limbs.json
deleted file mode 100644
index ea12e48c8..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e401m31_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^401 - 31",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e413m21_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e413m21_7limbs.json
deleted file mode 100644
index 73186e814..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e413m21_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^413 - 21",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e414m17_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e414m17_7limbs.json
deleted file mode 100644
index 7beb3729b..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e414m17_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<414) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^414 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e416m2e208m1_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e416m2e208m1_7limbs.json
deleted file mode 100644
index 20a5f91ac..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e416m2e208m1_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^416 - 2^208 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e444m17_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e444m17_7limbs.json
deleted file mode 100644
index 6e124dd4a..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e444m17_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<444) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^444 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e448m2e224m1_7limbs.json b/src/Specific/CurveParameters/montgomery64_2e448m2e224m1_7limbs.json
deleted file mode 100644
index 31168c4cc..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e448m2e224m1_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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='7' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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='7' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^448 - 2^224 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e450m2e225m1_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e450m2e225m1_8limbs.json
deleted file mode 100644
index 9369afbbe..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e450m2e225m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^450 - 2^225 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e452m3_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e452m3_8limbs.json
deleted file mode 100644
index 233e21edc..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e452m3_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^452 - 3",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e468m17_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e468m17_8limbs.json
deleted file mode 100644
index b8a70589c..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e468m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^468 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e480m2e240m1_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e480m2e240m1_8limbs.json
deleted file mode 100644
index 86cd52c31..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e480m2e240m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^480 - 2^240 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e488m17_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e488m17_8limbs.json
deleted file mode 100644
index 3e1aabbb9..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e488m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<488) - 17'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^488 - 17",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e489m21_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e489m21_8limbs.json
deleted file mode 100644
index bc2b7bd71..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e489m21_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<489) - 21'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^489 - 21",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e495m31_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e495m31_8limbs.json
deleted file mode 100644
index b7e788aa3..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e495m31_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<495) - 31'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^495 - 31",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1_8limbs.json
deleted file mode 100644
index e01a9cc73..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e510m290x2e496m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^510 - 290*2^496 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e511m187_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e511m187_8limbs.json
deleted file mode 100644
index bd1ba0e5c..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e511m187_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 187'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^511 - 187",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e511m481_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e511m481_8limbs.json
deleted file mode 100644
index 124071093..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e511m481_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 481'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^511 - 481",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1_8limbs.json
deleted file mode 100644
index 4cb938c77..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e512m491x2e496m1_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^512 - 491*2^496 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e512m569_8limbs.json b/src/Specific/CurveParameters/montgomery64_2e512m569_8limbs.json
deleted file mode 100644
index 738c18c1e..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e512m569_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 569'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^512 - 569",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/montgomery64_2e521m1_9limbs.json b/src/Specific/CurveParameters/montgomery64_2e521m1_9limbs.json
deleted file mode 100644
index e85b3fd47..000000000
--- a/src/Specific/CurveParameters/montgomery64_2e521m1_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "64",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1'",
- "extra_files": [
- "montgomery64/fesquare.c"
- ],
- "modulus": "2^521 - 1",
- "montgomery": true,
- "operations": [
- "fenz",
- "feadd",
- "femul",
- "feopp",
- "fesub"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/nistp256_amd128.json b/src/Specific/CurveParameters/nistp256_amd128.json
deleted file mode 100644
index 5f23c361e..000000000
--- a/src/Specific/CurveParameters/nistp256_amd128.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "modulus" : "2^256-2^224+2^192+2^96-1",
- "base" : "128",
- "sz" : "2",
- "bitwidth" : "128",
- "montgomery" : "true",
- "operations" : ["fenz", "feadd", "femul", "feopp", "fesub"],
- "compiler" : "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing"
-}
diff --git a/src/Specific/CurveParameters/nistp256_amd64.json b/src/Specific/CurveParameters/nistp256_amd64.json
deleted file mode 100644
index f2d377654..000000000
--- a/src/Specific/CurveParameters/nistp256_amd64.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "modulus" : "2^256-2^224+2^192+2^96-1",
- "base" : "64",
- "sz" : "4",
- "bitwidth" : "64",
- "montgomery" : "true",
- "operations" : ["fenz", "feadd", "femul", "feopp", "fesub"],
- "compiler" : "gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing"
-}
diff --git a/src/Specific/CurveParameters/remake_curves.sh b/src/Specific/CurveParameters/remake_curves.sh
deleted file mode 100755
index 1a5c578b7..000000000
--- a/src/Specific/CurveParameters/remake_curves.sh
+++ /dev/null
@@ -1,470 +0,0 @@
-#!/bin/bash
-
-set -ex
-
-cd "$( dirname "${BASH_SOURCE[0]}" )"
-
-MAKE="../Framework/make_curve.py"
-
-${MAKE} "$@" x25519_c64.json ../X25519/C64/
-${MAKE} "$@" x25519_c32.json ../X25519/C32/
-${MAKE} "$@" x2448_c64_karatsuba.json ../X2448/Karatsuba/C64/
-${MAKE} "$@" nistp256_amd128.json ../NISTP256/AMD128/
-${MAKE} "$@" nistp256_amd64.json ../NISTP256/AMD64/
-${MAKE} "$@" solinas32_2e255m19_10limbs_donna.json ../solinas32_2e255m19_10limbs_donna/
-${MAKE} "$@" solinas64_2e255m19_5limbs_donna.json ../solinas64_2e255m19_5limbs_donna/
-${MAKE} "$@" montgomery32_2e127m1_4limbs.json ../montgomery32_2e127m1_4limbs/
-${MAKE} "$@" montgomery64_2e127m1_2limbs.json ../montgomery64_2e127m1_2limbs/
-${MAKE} "$@" solinas32_2e127m1_5limbs.json ../solinas32_2e127m1_5limbs/
-${MAKE} "$@" solinas32_2e127m1_6limbs.json ../solinas32_2e127m1_6limbs/
-${MAKE} "$@" solinas64_2e127m1_3limbs.json ../solinas64_2e127m1_3limbs/
-${MAKE} "$@" montgomery32_2e129m25_5limbs.json ../montgomery32_2e129m25_5limbs/
-${MAKE} "$@" montgomery64_2e129m25_3limbs.json ../montgomery64_2e129m25_3limbs/
-${MAKE} "$@" solinas32_2e129m25_5limbs.json ../solinas32_2e129m25_5limbs/
-${MAKE} "$@" solinas32_2e129m25_6limbs.json ../solinas32_2e129m25_6limbs/
-${MAKE} "$@" solinas64_2e129m25_3limbs.json ../solinas64_2e129m25_3limbs/
-${MAKE} "$@" solinas64_2e129m25_4limbs.json ../solinas64_2e129m25_4limbs/
-${MAKE} "$@" montgomery32_2e130m5_5limbs.json ../montgomery32_2e130m5_5limbs/
-${MAKE} "$@" montgomery64_2e130m5_3limbs.json ../montgomery64_2e130m5_3limbs/
-${MAKE} "$@" solinas32_2e130m5_5limbs.json ../solinas32_2e130m5_5limbs/
-${MAKE} "$@" solinas32_2e130m5_6limbs.json ../solinas32_2e130m5_6limbs/
-${MAKE} "$@" solinas64_2e130m5_3limbs.json ../solinas64_2e130m5_3limbs/
-${MAKE} "$@" solinas64_2e130m5_4limbs.json ../solinas64_2e130m5_4limbs/
-${MAKE} "$@" montgomery32_2e137m13_5limbs.json ../montgomery32_2e137m13_5limbs/
-${MAKE} "$@" montgomery64_2e137m13_3limbs.json ../montgomery64_2e137m13_3limbs/
-${MAKE} "$@" solinas32_2e137m13_5limbs.json ../solinas32_2e137m13_5limbs/
-${MAKE} "$@" solinas32_2e137m13_6limbs.json ../solinas32_2e137m13_6limbs/
-${MAKE} "$@" solinas64_2e137m13_3limbs.json ../solinas64_2e137m13_3limbs/
-${MAKE} "$@" solinas64_2e137m13_4limbs.json ../solinas64_2e137m13_4limbs/
-${MAKE} "$@" montgomery32_2e140m27_5limbs.json ../montgomery32_2e140m27_5limbs/
-${MAKE} "$@" montgomery64_2e140m27_3limbs.json ../montgomery64_2e140m27_3limbs/
-${MAKE} "$@" solinas32_2e140m27_6limbs.json ../solinas32_2e140m27_6limbs/
-${MAKE} "$@" solinas32_2e140m27_7limbs.json ../solinas32_2e140m27_7limbs/
-${MAKE} "$@" solinas64_2e140m27_3limbs.json ../solinas64_2e140m27_3limbs/
-${MAKE} "$@" solinas64_2e140m27_4limbs.json ../solinas64_2e140m27_4limbs/
-${MAKE} "$@" montgomery32_2e141m9_5limbs.json ../montgomery32_2e141m9_5limbs/
-${MAKE} "$@" montgomery64_2e141m9_3limbs.json ../montgomery64_2e141m9_3limbs/
-${MAKE} "$@" solinas32_2e141m9_6limbs.json ../solinas32_2e141m9_6limbs/
-${MAKE} "$@" solinas32_2e141m9_7limbs.json ../solinas32_2e141m9_7limbs/
-${MAKE} "$@" solinas64_2e141m9_3limbs.json ../solinas64_2e141m9_3limbs/
-${MAKE} "$@" solinas64_2e141m9_4limbs.json ../solinas64_2e141m9_4limbs/
-${MAKE} "$@" montgomery32_2e150m5_5limbs.json ../montgomery32_2e150m5_5limbs/
-${MAKE} "$@" montgomery64_2e150m5_3limbs.json ../montgomery64_2e150m5_3limbs/
-${MAKE} "$@" solinas32_2e150m5_6limbs.json ../solinas32_2e150m5_6limbs/
-${MAKE} "$@" solinas32_2e150m5_7limbs.json ../solinas32_2e150m5_7limbs/
-${MAKE} "$@" solinas64_2e150m5_3limbs.json ../solinas64_2e150m5_3limbs/
-${MAKE} "$@" solinas64_2e150m5_4limbs.json ../solinas64_2e150m5_4limbs/
-${MAKE} "$@" montgomery32_2e150m3_5limbs.json ../montgomery32_2e150m3_5limbs/
-${MAKE} "$@" montgomery64_2e150m3_3limbs.json ../montgomery64_2e150m3_3limbs/
-${MAKE} "$@" solinas32_2e150m3_6limbs.json ../solinas32_2e150m3_6limbs/
-${MAKE} "$@" solinas32_2e150m3_7limbs.json ../solinas32_2e150m3_7limbs/
-${MAKE} "$@" solinas64_2e150m3_3limbs.json ../solinas64_2e150m3_3limbs/
-${MAKE} "$@" solinas64_2e150m3_4limbs.json ../solinas64_2e150m3_4limbs/
-${MAKE} "$@" montgomery32_2e152m17_5limbs.json ../montgomery32_2e152m17_5limbs/
-${MAKE} "$@" montgomery64_2e152m17_3limbs.json ../montgomery64_2e152m17_3limbs/
-${MAKE} "$@" solinas32_2e152m17_6limbs.json ../solinas32_2e152m17_6limbs/
-${MAKE} "$@" solinas32_2e152m17_7limbs.json ../solinas32_2e152m17_7limbs/
-${MAKE} "$@" solinas64_2e152m17_3limbs.json ../solinas64_2e152m17_3limbs/
-${MAKE} "$@" solinas64_2e152m17_4limbs.json ../solinas64_2e152m17_4limbs/
-${MAKE} "$@" montgomery32_2e158m15_5limbs.json ../montgomery32_2e158m15_5limbs/
-${MAKE} "$@" montgomery64_2e158m15_3limbs.json ../montgomery64_2e158m15_3limbs/
-${MAKE} "$@" solinas32_2e158m15_6limbs.json ../solinas32_2e158m15_6limbs/
-${MAKE} "$@" solinas32_2e158m15_7limbs.json ../solinas32_2e158m15_7limbs/
-${MAKE} "$@" solinas64_2e158m15_3limbs.json ../solinas64_2e158m15_3limbs/
-${MAKE} "$@" solinas64_2e158m15_4limbs.json ../solinas64_2e158m15_4limbs/
-${MAKE} "$@" montgomery32_2e165m25_6limbs.json ../montgomery32_2e165m25_6limbs/
-${MAKE} "$@" montgomery64_2e165m25_3limbs.json ../montgomery64_2e165m25_3limbs/
-${MAKE} "$@" solinas32_2e165m25_7limbs.json ../solinas32_2e165m25_7limbs/
-${MAKE} "$@" solinas32_2e165m25_8limbs.json ../solinas32_2e165m25_8limbs/
-${MAKE} "$@" solinas64_2e165m25_3limbs.json ../solinas64_2e165m25_3limbs/
-${MAKE} "$@" solinas64_2e165m25_4limbs.json ../solinas64_2e165m25_4limbs/
-${MAKE} "$@" montgomery32_2e166m5_6limbs.json ../montgomery32_2e166m5_6limbs/
-${MAKE} "$@" montgomery64_2e166m5_3limbs.json ../montgomery64_2e166m5_3limbs/
-${MAKE} "$@" solinas32_2e166m5_6limbs.json ../solinas32_2e166m5_6limbs/
-${MAKE} "$@" solinas32_2e166m5_7limbs.json ../solinas32_2e166m5_7limbs/
-${MAKE} "$@" solinas64_2e166m5_3limbs.json ../solinas64_2e166m5_3limbs/
-${MAKE} "$@" solinas64_2e166m5_4limbs.json ../solinas64_2e166m5_4limbs/
-${MAKE} "$@" montgomery32_2e171m19_6limbs.json ../montgomery32_2e171m19_6limbs/
-${MAKE} "$@" montgomery64_2e171m19_3limbs.json ../montgomery64_2e171m19_3limbs/
-${MAKE} "$@" solinas32_2e171m19_7limbs.json ../solinas32_2e171m19_7limbs/
-${MAKE} "$@" solinas32_2e171m19_8limbs.json ../solinas32_2e171m19_8limbs/
-${MAKE} "$@" solinas64_2e171m19_3limbs.json ../solinas64_2e171m19_3limbs/
-${MAKE} "$@" solinas64_2e171m19_4limbs.json ../solinas64_2e171m19_4limbs/
-${MAKE} "$@" montgomery32_2e174m17_6limbs.json ../montgomery32_2e174m17_6limbs/
-${MAKE} "$@" montgomery64_2e174m17_3limbs.json ../montgomery64_2e174m17_3limbs/
-${MAKE} "$@" solinas32_2e174m17_7limbs.json ../solinas32_2e174m17_7limbs/
-${MAKE} "$@" solinas32_2e174m17_8limbs.json ../solinas32_2e174m17_8limbs/
-${MAKE} "$@" solinas64_2e174m17_3limbs.json ../solinas64_2e174m17_3limbs/
-${MAKE} "$@" solinas64_2e174m17_4limbs.json ../solinas64_2e174m17_4limbs/
-${MAKE} "$@" montgomery32_2e174m3_6limbs.json ../montgomery32_2e174m3_6limbs/
-${MAKE} "$@" montgomery64_2e174m3_3limbs.json ../montgomery64_2e174m3_3limbs/
-${MAKE} "$@" solinas32_2e174m3_7limbs.json ../solinas32_2e174m3_7limbs/
-${MAKE} "$@" solinas32_2e174m3_8limbs.json ../solinas32_2e174m3_8limbs/
-${MAKE} "$@" solinas64_2e174m3_3limbs.json ../solinas64_2e174m3_3limbs/
-${MAKE} "$@" solinas64_2e174m3_4limbs.json ../solinas64_2e174m3_4limbs/
-${MAKE} "$@" montgomery32_2e189m25_6limbs.json ../montgomery32_2e189m25_6limbs/
-${MAKE} "$@" montgomery64_2e189m25_3limbs.json ../montgomery64_2e189m25_3limbs/
-${MAKE} "$@" solinas32_2e189m25_7limbs.json ../solinas32_2e189m25_7limbs/
-${MAKE} "$@" solinas32_2e189m25_8limbs.json ../solinas32_2e189m25_8limbs/
-${MAKE} "$@" solinas64_2e189m25_4limbs.json ../solinas64_2e189m25_4limbs/
-${MAKE} "$@" solinas64_2e189m25_5limbs.json ../solinas64_2e189m25_5limbs/
-${MAKE} "$@" montgomery32_2e190m11_6limbs.json ../montgomery32_2e190m11_6limbs/
-${MAKE} "$@" montgomery64_2e190m11_3limbs.json ../montgomery64_2e190m11_3limbs/
-${MAKE} "$@" solinas32_2e190m11_7limbs.json ../solinas32_2e190m11_7limbs/
-${MAKE} "$@" solinas32_2e190m11_8limbs.json ../solinas32_2e190m11_8limbs/
-${MAKE} "$@" solinas64_2e190m11_4limbs.json ../solinas64_2e190m11_4limbs/
-${MAKE} "$@" solinas64_2e190m11_5limbs.json ../solinas64_2e190m11_5limbs/
-${MAKE} "$@" montgomery32_2e191m19_6limbs.json ../montgomery32_2e191m19_6limbs/
-${MAKE} "$@" montgomery64_2e191m19_3limbs.json ../montgomery64_2e191m19_3limbs/
-${MAKE} "$@" solinas32_2e191m19_8limbs.json ../solinas32_2e191m19_8limbs/
-${MAKE} "$@" solinas32_2e191m19_9limbs.json ../solinas32_2e191m19_9limbs/
-${MAKE} "$@" solinas64_2e191m19_4limbs.json ../solinas64_2e191m19_4limbs/
-${MAKE} "$@" solinas64_2e191m19_5limbs.json ../solinas64_2e191m19_5limbs/
-${MAKE} "$@" montgomery32_2e194m33_7limbs.json ../montgomery32_2e194m33_7limbs/
-${MAKE} "$@" montgomery64_2e194m33_4limbs.json ../montgomery64_2e194m33_4limbs/
-${MAKE} "$@" solinas32_2e194m33_8limbs.json ../solinas32_2e194m33_8limbs/
-${MAKE} "$@" solinas32_2e194m33_9limbs.json ../solinas32_2e194m33_9limbs/
-${MAKE} "$@" solinas64_2e194m33_4limbs.json ../solinas64_2e194m33_4limbs/
-${MAKE} "$@" solinas64_2e194m33_5limbs.json ../solinas64_2e194m33_5limbs/
-${MAKE} "$@" montgomery32_2e196m15_7limbs.json ../montgomery32_2e196m15_7limbs/
-${MAKE} "$@" montgomery64_2e196m15_4limbs.json ../montgomery64_2e196m15_4limbs/
-${MAKE} "$@" solinas32_2e196m15_8limbs.json ../solinas32_2e196m15_8limbs/
-${MAKE} "$@" solinas32_2e196m15_9limbs.json ../solinas32_2e196m15_9limbs/
-${MAKE} "$@" solinas64_2e196m15_4limbs.json ../solinas64_2e196m15_4limbs/
-${MAKE} "$@" solinas64_2e196m15_5limbs.json ../solinas64_2e196m15_5limbs/
-${MAKE} "$@" montgomery32_2e198m17_7limbs.json ../montgomery32_2e198m17_7limbs/
-${MAKE} "$@" montgomery64_2e198m17_4limbs.json ../montgomery64_2e198m17_4limbs/
-${MAKE} "$@" solinas32_2e198m17_8limbs.json ../solinas32_2e198m17_8limbs/
-${MAKE} "$@" solinas32_2e198m17_9limbs.json ../solinas32_2e198m17_9limbs/
-${MAKE} "$@" solinas64_2e198m17_4limbs.json ../solinas64_2e198m17_4limbs/
-${MAKE} "$@" solinas64_2e198m17_5limbs.json ../solinas64_2e198m17_5limbs/
-${MAKE} "$@" montgomery32_2e206m5_7limbs.json ../montgomery32_2e206m5_7limbs/
-${MAKE} "$@" montgomery64_2e206m5_4limbs.json ../montgomery64_2e206m5_4limbs/
-${MAKE} "$@" solinas32_2e206m5_8limbs.json ../solinas32_2e206m5_8limbs/
-${MAKE} "$@" solinas32_2e206m5_9limbs.json ../solinas32_2e206m5_9limbs/
-${MAKE} "$@" solinas64_2e206m5_4limbs.json ../solinas64_2e206m5_4limbs/
-${MAKE} "$@" solinas64_2e206m5_5limbs.json ../solinas64_2e206m5_5limbs/
-${MAKE} "$@" montgomery32_2e212m29_7limbs.json ../montgomery32_2e212m29_7limbs/
-${MAKE} "$@" montgomery64_2e212m29_4limbs.json ../montgomery64_2e212m29_4limbs/
-${MAKE} "$@" solinas32_2e212m29_8limbs.json ../solinas32_2e212m29_8limbs/
-${MAKE} "$@" solinas32_2e212m29_9limbs.json ../solinas32_2e212m29_9limbs/
-${MAKE} "$@" solinas64_2e212m29_4limbs.json ../solinas64_2e212m29_4limbs/
-${MAKE} "$@" solinas64_2e212m29_5limbs.json ../solinas64_2e212m29_5limbs/
-${MAKE} "$@" montgomery32_2e213m3_7limbs.json ../montgomery32_2e213m3_7limbs/
-${MAKE} "$@" montgomery64_2e213m3_4limbs.json ../montgomery64_2e213m3_4limbs/
-${MAKE} "$@" solinas32_2e213m3_8limbs.json ../solinas32_2e213m3_8limbs/
-${MAKE} "$@" solinas32_2e213m3_9limbs.json ../solinas32_2e213m3_9limbs/
-${MAKE} "$@" solinas64_2e213m3_4limbs.json ../solinas64_2e213m3_4limbs/
-${MAKE} "$@" solinas64_2e213m3_5limbs.json ../solinas64_2e213m3_5limbs/
-${MAKE} "$@" montgomery32_2e221m3_7limbs.json ../montgomery32_2e221m3_7limbs/
-${MAKE} "$@" montgomery64_2e221m3_4limbs.json ../montgomery64_2e221m3_4limbs/
-${MAKE} "$@" solinas32_2e221m3_8limbs.json ../solinas32_2e221m3_8limbs/
-${MAKE} "$@" solinas32_2e221m3_9limbs.json ../solinas32_2e221m3_9limbs/
-${MAKE} "$@" solinas64_2e221m3_4limbs.json ../solinas64_2e221m3_4limbs/
-${MAKE} "$@" solinas64_2e221m3_5limbs.json ../solinas64_2e221m3_5limbs/
-${MAKE} "$@" montgomery32_2e222m117_7limbs.json ../montgomery32_2e222m117_7limbs/
-${MAKE} "$@" montgomery64_2e222m117_4limbs.json ../montgomery64_2e222m117_4limbs/
-${MAKE} "$@" solinas32_2e222m117_9limbs.json ../solinas32_2e222m117_9limbs/
-${MAKE} "$@" solinas32_2e222m117_10limbs.json ../solinas32_2e222m117_10limbs/
-${MAKE} "$@" solinas64_2e222m117_4limbs.json ../solinas64_2e222m117_4limbs/
-${MAKE} "$@" solinas64_2e222m117_5limbs.json ../solinas64_2e222m117_5limbs/
-${MAKE} "$@" montgomery32_2e226m5_8limbs.json ../montgomery32_2e226m5_8limbs/
-${MAKE} "$@" montgomery64_2e226m5_4limbs.json ../montgomery64_2e226m5_4limbs/
-${MAKE} "$@" solinas32_2e226m5_9limbs.json ../solinas32_2e226m5_9limbs/
-${MAKE} "$@" solinas32_2e226m5_10limbs.json ../solinas32_2e226m5_10limbs/
-${MAKE} "$@" solinas64_2e226m5_4limbs.json ../solinas64_2e226m5_4limbs/
-${MAKE} "$@" solinas64_2e226m5_5limbs.json ../solinas64_2e226m5_5limbs/
-${MAKE} "$@" montgomery32_2e230m27_8limbs.json ../montgomery32_2e230m27_8limbs/
-${MAKE} "$@" montgomery64_2e230m27_4limbs.json ../montgomery64_2e230m27_4limbs/
-${MAKE} "$@" solinas32_2e230m27_9limbs.json ../solinas32_2e230m27_9limbs/
-${MAKE} "$@" solinas32_2e230m27_10limbs.json ../solinas32_2e230m27_10limbs/
-${MAKE} "$@" solinas64_2e230m27_4limbs.json ../solinas64_2e230m27_4limbs/
-${MAKE} "$@" solinas64_2e230m27_5limbs.json ../solinas64_2e230m27_5limbs/
-${MAKE} "$@" montgomery32_2e235m15_8limbs.json ../montgomery32_2e235m15_8limbs/
-${MAKE} "$@" montgomery64_2e235m15_4limbs.json ../montgomery64_2e235m15_4limbs/
-${MAKE} "$@" solinas32_2e235m15_9limbs.json ../solinas32_2e235m15_9limbs/
-${MAKE} "$@" solinas32_2e235m15_10limbs.json ../solinas32_2e235m15_10limbs/
-${MAKE} "$@" solinas64_2e235m15_4limbs.json ../solinas64_2e235m15_4limbs/
-${MAKE} "$@" solinas64_2e235m15_5limbs.json ../solinas64_2e235m15_5limbs/
-${MAKE} "$@" montgomery32_2e243m9_8limbs.json ../montgomery32_2e243m9_8limbs/
-${MAKE} "$@" montgomery64_2e243m9_4limbs.json ../montgomery64_2e243m9_4limbs/
-${MAKE} "$@" solinas32_2e243m9_9limbs.json ../solinas32_2e243m9_9limbs/
-${MAKE} "$@" solinas32_2e243m9_10limbs.json ../solinas32_2e243m9_10limbs/
-${MAKE} "$@" solinas64_2e243m9_5limbs.json ../solinas64_2e243m9_5limbs/
-${MAKE} "$@" solinas64_2e243m9_6limbs.json ../solinas64_2e243m9_6limbs/
-${MAKE} "$@" montgomery32_2e251m9_8limbs.json ../montgomery32_2e251m9_8limbs/
-${MAKE} "$@" montgomery64_2e251m9_4limbs.json ../montgomery64_2e251m9_4limbs/
-${MAKE} "$@" solinas32_2e251m9_10limbs.json ../solinas32_2e251m9_10limbs/
-${MAKE} "$@" solinas32_2e251m9_11limbs.json ../solinas32_2e251m9_11limbs/
-${MAKE} "$@" solinas64_2e251m9_5limbs.json ../solinas64_2e251m9_5limbs/
-${MAKE} "$@" solinas64_2e251m9_6limbs.json ../solinas64_2e251m9_6limbs/
-${MAKE} "$@" montgomery32_2e255m765_8limbs.json ../montgomery32_2e255m765_8limbs/
-${MAKE} "$@" montgomery64_2e255m765_4limbs.json ../montgomery64_2e255m765_4limbs/
-${MAKE} "$@" solinas32_2e255m765_12limbs.json ../solinas32_2e255m765_12limbs/
-${MAKE} "$@" solinas32_2e255m765_13limbs.json ../solinas32_2e255m765_13limbs/
-${MAKE} "$@" solinas64_2e255m765_5limbs.json ../solinas64_2e255m765_5limbs/
-${MAKE} "$@" solinas64_2e255m765_6limbs.json ../solinas64_2e255m765_6limbs/
-${MAKE} "$@" montgomery32_2e255m19_8limbs.json ../montgomery32_2e255m19_8limbs/
-${MAKE} "$@" montgomery64_2e255m19_4limbs.json ../montgomery64_2e255m19_4limbs/
-${MAKE} "$@" solinas32_2e255m19_10limbs.json ../solinas32_2e255m19_10limbs/
-${MAKE} "$@" solinas32_2e255m19_11limbs.json ../solinas32_2e255m19_11limbs/
-${MAKE} "$@" solinas64_2e255m19_5limbs.json ../solinas64_2e255m19_5limbs/
-${MAKE} "$@" solinas64_2e255m19_6limbs.json ../solinas64_2e255m19_6limbs/
-${MAKE} "$@" montgomery32_2e256m189_8limbs.json ../montgomery32_2e256m189_8limbs/
-${MAKE} "$@" montgomery64_2e256m189_4limbs.json ../montgomery64_2e256m189_4limbs/
-${MAKE} "$@" solinas32_2e256m189_11limbs.json ../solinas32_2e256m189_11limbs/
-${MAKE} "$@" solinas32_2e256m189_12limbs.json ../solinas32_2e256m189_12limbs/
-${MAKE} "$@" solinas64_2e256m189_5limbs.json ../solinas64_2e256m189_5limbs/
-${MAKE} "$@" solinas64_2e256m189_6limbs.json ../solinas64_2e256m189_6limbs/
-${MAKE} "$@" montgomery32_2e266m3_9limbs.json ../montgomery32_2e266m3_9limbs/
-${MAKE} "$@" montgomery64_2e266m3_5limbs.json ../montgomery64_2e266m3_5limbs/
-${MAKE} "$@" solinas32_2e266m3_10limbs.json ../solinas32_2e266m3_10limbs/
-${MAKE} "$@" solinas32_2e266m3_11limbs.json ../solinas32_2e266m3_11limbs/
-${MAKE} "$@" solinas64_2e266m3_5limbs.json ../solinas64_2e266m3_5limbs/
-${MAKE} "$@" solinas64_2e266m3_6limbs.json ../solinas64_2e266m3_6limbs/
-${MAKE} "$@" montgomery32_2e285m9_9limbs.json ../montgomery32_2e285m9_9limbs/
-${MAKE} "$@" montgomery64_2e285m9_5limbs.json ../montgomery64_2e285m9_5limbs/
-${MAKE} "$@" solinas32_2e285m9_11limbs.json ../solinas32_2e285m9_11limbs/
-${MAKE} "$@" solinas32_2e285m9_12limbs.json ../solinas32_2e285m9_12limbs/
-${MAKE} "$@" solinas64_2e285m9_5limbs.json ../solinas64_2e285m9_5limbs/
-${MAKE} "$@" solinas64_2e285m9_6limbs.json ../solinas64_2e285m9_6limbs/
-${MAKE} "$@" montgomery32_2e291m19_10limbs.json ../montgomery32_2e291m19_10limbs/
-${MAKE} "$@" montgomery64_2e291m19_5limbs.json ../montgomery64_2e291m19_5limbs/
-${MAKE} "$@" solinas32_2e291m19_11limbs.json ../solinas32_2e291m19_11limbs/
-${MAKE} "$@" solinas32_2e291m19_12limbs.json ../solinas32_2e291m19_12limbs/
-${MAKE} "$@" solinas64_2e291m19_5limbs.json ../solinas64_2e291m19_5limbs/
-${MAKE} "$@" solinas64_2e291m19_6limbs.json ../solinas64_2e291m19_6limbs/
-${MAKE} "$@" montgomery32_2e321m9_11limbs.json ../montgomery32_2e321m9_11limbs/
-${MAKE} "$@" montgomery64_2e321m9_6limbs.json ../montgomery64_2e321m9_6limbs/
-${MAKE} "$@" solinas32_2e321m9_12limbs.json ../solinas32_2e321m9_12limbs/
-${MAKE} "$@" solinas32_2e321m9_13limbs.json ../solinas32_2e321m9_13limbs/
-${MAKE} "$@" solinas64_2e321m9_6limbs.json ../solinas64_2e321m9_6limbs/
-${MAKE} "$@" solinas64_2e321m9_7limbs.json ../solinas64_2e321m9_7limbs/
-${MAKE} "$@" montgomery32_2e336m17_11limbs.json ../montgomery32_2e336m17_11limbs/
-${MAKE} "$@" montgomery64_2e336m17_6limbs.json ../montgomery64_2e336m17_6limbs/
-${MAKE} "$@" solinas32_2e336m17_13limbs.json ../solinas32_2e336m17_13limbs/
-${MAKE} "$@" solinas32_2e336m17_14limbs.json ../solinas32_2e336m17_14limbs/
-${MAKE} "$@" solinas64_2e336m17_6limbs.json ../solinas64_2e336m17_6limbs/
-${MAKE} "$@" solinas64_2e336m17_7limbs.json ../solinas64_2e336m17_7limbs/
-${MAKE} "$@" montgomery32_2e336m3_11limbs.json ../montgomery32_2e336m3_11limbs/
-${MAKE} "$@" montgomery64_2e336m3_6limbs.json ../montgomery64_2e336m3_6limbs/
-${MAKE} "$@" solinas32_2e336m3_12limbs.json ../solinas32_2e336m3_12limbs/
-${MAKE} "$@" solinas32_2e336m3_13limbs.json ../solinas32_2e336m3_13limbs/
-${MAKE} "$@" solinas64_2e336m3_6limbs.json ../solinas64_2e336m3_6limbs/
-${MAKE} "$@" solinas64_2e336m3_7limbs.json ../solinas64_2e336m3_7limbs/
-${MAKE} "$@" montgomery32_2e338m15_11limbs.json ../montgomery32_2e338m15_11limbs/
-${MAKE} "$@" montgomery64_2e338m15_6limbs.json ../montgomery64_2e338m15_6limbs/
-${MAKE} "$@" solinas32_2e338m15_13limbs.json ../solinas32_2e338m15_13limbs/
-${MAKE} "$@" solinas32_2e338m15_14limbs.json ../solinas32_2e338m15_14limbs/
-${MAKE} "$@" solinas64_2e338m15_6limbs.json ../solinas64_2e338m15_6limbs/
-${MAKE} "$@" solinas64_2e338m15_7limbs.json ../solinas64_2e338m15_7limbs/
-${MAKE} "$@" montgomery32_2e369m25_12limbs.json ../montgomery32_2e369m25_12limbs/
-${MAKE} "$@" montgomery64_2e369m25_6limbs.json ../montgomery64_2e369m25_6limbs/
-${MAKE} "$@" solinas32_2e369m25_15limbs.json ../solinas32_2e369m25_15limbs/
-${MAKE} "$@" solinas32_2e369m25_16limbs.json ../solinas32_2e369m25_16limbs/
-${MAKE} "$@" solinas64_2e369m25_7limbs.json ../solinas64_2e369m25_7limbs/
-${MAKE} "$@" solinas64_2e369m25_8limbs.json ../solinas64_2e369m25_8limbs/
-${MAKE} "$@" montgomery32_2e379m19_12limbs.json ../montgomery32_2e379m19_12limbs/
-${MAKE} "$@" montgomery64_2e379m19_6limbs.json ../montgomery64_2e379m19_6limbs/
-${MAKE} "$@" solinas32_2e379m19_15limbs.json ../solinas32_2e379m19_15limbs/
-${MAKE} "$@" solinas32_2e379m19_16limbs.json ../solinas32_2e379m19_16limbs/
-${MAKE} "$@" solinas64_2e379m19_7limbs.json ../solinas64_2e379m19_7limbs/
-${MAKE} "$@" solinas64_2e379m19_8limbs.json ../solinas64_2e379m19_8limbs/
-${MAKE} "$@" montgomery32_2e382m105_12limbs.json ../montgomery32_2e382m105_12limbs/
-${MAKE} "$@" montgomery64_2e382m105_6limbs.json ../montgomery64_2e382m105_6limbs/
-${MAKE} "$@" solinas32_2e382m105_16limbs.json ../solinas32_2e382m105_16limbs/
-${MAKE} "$@" solinas32_2e382m105_17limbs.json ../solinas32_2e382m105_17limbs/
-${MAKE} "$@" solinas64_2e382m105_7limbs.json ../solinas64_2e382m105_7limbs/
-${MAKE} "$@" solinas64_2e382m105_8limbs.json ../solinas64_2e382m105_8limbs/
-${MAKE} "$@" montgomery32_2e383m421_12limbs.json ../montgomery32_2e383m421_12limbs/
-${MAKE} "$@" montgomery64_2e383m421_6limbs.json ../montgomery64_2e383m421_6limbs/
-${MAKE} "$@" solinas32_2e383m421_17limbs.json ../solinas32_2e383m421_17limbs/
-${MAKE} "$@" solinas32_2e383m421_18limbs.json ../solinas32_2e383m421_18limbs/
-${MAKE} "$@" solinas64_2e383m421_7limbs.json ../solinas64_2e383m421_7limbs/
-${MAKE} "$@" solinas64_2e383m421_8limbs.json ../solinas64_2e383m421_8limbs/
-${MAKE} "$@" montgomery32_2e383m187_12limbs.json ../montgomery32_2e383m187_12limbs/
-${MAKE} "$@" montgomery64_2e383m187_6limbs.json ../montgomery64_2e383m187_6limbs/
-${MAKE} "$@" solinas32_2e383m187_16limbs.json ../solinas32_2e383m187_16limbs/
-${MAKE} "$@" solinas32_2e383m187_17limbs.json ../solinas32_2e383m187_17limbs/
-${MAKE} "$@" solinas64_2e383m187_7limbs.json ../solinas64_2e383m187_7limbs/
-${MAKE} "$@" solinas64_2e383m187_8limbs.json ../solinas64_2e383m187_8limbs/
-${MAKE} "$@" montgomery32_2e383m31_12limbs.json ../montgomery32_2e383m31_12limbs/
-${MAKE} "$@" montgomery64_2e383m31_6limbs.json ../montgomery64_2e383m31_6limbs/
-${MAKE} "$@" solinas32_2e383m31_15limbs.json ../solinas32_2e383m31_15limbs/
-${MAKE} "$@" solinas32_2e383m31_16limbs.json ../solinas32_2e383m31_16limbs/
-${MAKE} "$@" solinas64_2e383m31_7limbs.json ../solinas64_2e383m31_7limbs/
-${MAKE} "$@" solinas64_2e383m31_8limbs.json ../solinas64_2e383m31_8limbs/
-${MAKE} "$@" montgomery32_2e384m317_12limbs.json ../montgomery32_2e384m317_12limbs/
-${MAKE} "$@" montgomery64_2e384m317_6limbs.json ../montgomery64_2e384m317_6limbs/
-${MAKE} "$@" solinas32_2e384m317_17limbs.json ../solinas32_2e384m317_17limbs/
-${MAKE} "$@" solinas32_2e384m317_18limbs.json ../solinas32_2e384m317_18limbs/
-${MAKE} "$@" solinas64_2e384m317_7limbs.json ../solinas64_2e384m317_7limbs/
-${MAKE} "$@" solinas64_2e384m317_8limbs.json ../solinas64_2e384m317_8limbs/
-${MAKE} "$@" montgomery32_2e389m21_13limbs.json ../montgomery32_2e389m21_13limbs/
-${MAKE} "$@" montgomery64_2e389m21_7limbs.json ../montgomery64_2e389m21_7limbs/
-${MAKE} "$@" solinas32_2e389m21_15limbs.json ../solinas32_2e389m21_15limbs/
-${MAKE} "$@" solinas32_2e389m21_16limbs.json ../solinas32_2e389m21_16limbs/
-${MAKE} "$@" solinas64_2e389m21_7limbs.json ../solinas64_2e389m21_7limbs/
-${MAKE} "$@" solinas64_2e389m21_8limbs.json ../solinas64_2e389m21_8limbs/
-${MAKE} "$@" montgomery32_2e401m31_13limbs.json ../montgomery32_2e401m31_13limbs/
-${MAKE} "$@" montgomery64_2e401m31_7limbs.json ../montgomery64_2e401m31_7limbs/
-${MAKE} "$@" solinas32_2e401m31_16limbs.json ../solinas32_2e401m31_16limbs/
-${MAKE} "$@" solinas32_2e401m31_17limbs.json ../solinas32_2e401m31_17limbs/
-${MAKE} "$@" solinas64_2e401m31_7limbs.json ../solinas64_2e401m31_7limbs/
-${MAKE} "$@" solinas64_2e401m31_8limbs.json ../solinas64_2e401m31_8limbs/
-${MAKE} "$@" montgomery32_2e413m21_13limbs.json ../montgomery32_2e413m21_13limbs/
-${MAKE} "$@" montgomery64_2e413m21_7limbs.json ../montgomery64_2e413m21_7limbs/
-${MAKE} "$@" solinas32_2e413m21_16limbs.json ../solinas32_2e413m21_16limbs/
-${MAKE} "$@" solinas32_2e413m21_17limbs.json ../solinas32_2e413m21_17limbs/
-${MAKE} "$@" solinas64_2e413m21_7limbs.json ../solinas64_2e413m21_7limbs/
-${MAKE} "$@" solinas64_2e413m21_8limbs.json ../solinas64_2e413m21_8limbs/
-${MAKE} "$@" montgomery32_2e414m17_13limbs.json ../montgomery32_2e414m17_13limbs/
-${MAKE} "$@" montgomery64_2e414m17_7limbs.json ../montgomery64_2e414m17_7limbs/
-${MAKE} "$@" solinas32_2e414m17_16limbs.json ../solinas32_2e414m17_16limbs/
-${MAKE} "$@" solinas32_2e414m17_17limbs.json ../solinas32_2e414m17_17limbs/
-${MAKE} "$@" solinas64_2e414m17_8limbs.json ../solinas64_2e414m17_8limbs/
-${MAKE} "$@" solinas64_2e414m17_9limbs.json ../solinas64_2e414m17_9limbs/
-${MAKE} "$@" montgomery32_2e444m17_14limbs.json ../montgomery32_2e444m17_14limbs/
-${MAKE} "$@" montgomery64_2e444m17_7limbs.json ../montgomery64_2e444m17_7limbs/
-${MAKE} "$@" solinas32_2e444m17_17limbs.json ../solinas32_2e444m17_17limbs/
-${MAKE} "$@" solinas32_2e444m17_18limbs.json ../solinas32_2e444m17_18limbs/
-${MAKE} "$@" solinas64_2e444m17_8limbs.json ../solinas64_2e444m17_8limbs/
-${MAKE} "$@" solinas64_2e444m17_9limbs.json ../solinas64_2e444m17_9limbs/
-${MAKE} "$@" montgomery32_2e452m3_15limbs.json ../montgomery32_2e452m3_15limbs/
-${MAKE} "$@" montgomery64_2e452m3_8limbs.json ../montgomery64_2e452m3_8limbs/
-${MAKE} "$@" solinas32_2e452m3_17limbs.json ../solinas32_2e452m3_17limbs/
-${MAKE} "$@" solinas32_2e452m3_18limbs.json ../solinas32_2e452m3_18limbs/
-${MAKE} "$@" solinas64_2e452m3_8limbs.json ../solinas64_2e452m3_8limbs/
-${MAKE} "$@" solinas64_2e452m3_9limbs.json ../solinas64_2e452m3_9limbs/
-${MAKE} "$@" montgomery32_2e468m17_15limbs.json ../montgomery32_2e468m17_15limbs/
-${MAKE} "$@" montgomery64_2e468m17_8limbs.json ../montgomery64_2e468m17_8limbs/
-${MAKE} "$@" solinas32_2e468m17_18limbs.json ../solinas32_2e468m17_18limbs/
-${MAKE} "$@" solinas32_2e468m17_19limbs.json ../solinas32_2e468m17_19limbs/
-${MAKE} "$@" solinas64_2e468m17_8limbs.json ../solinas64_2e468m17_8limbs/
-${MAKE} "$@" solinas64_2e468m17_9limbs.json ../solinas64_2e468m17_9limbs/
-${MAKE} "$@" montgomery32_2e488m17_16limbs.json ../montgomery32_2e488m17_16limbs/
-${MAKE} "$@" montgomery64_2e488m17_8limbs.json ../montgomery64_2e488m17_8limbs/
-${MAKE} "$@" solinas32_2e488m17_19limbs.json ../solinas32_2e488m17_19limbs/
-${MAKE} "$@" solinas32_2e488m17_20limbs.json ../solinas32_2e488m17_20limbs/
-${MAKE} "$@" solinas64_2e488m17_9limbs.json ../solinas64_2e488m17_9limbs/
-${MAKE} "$@" solinas64_2e488m17_10limbs.json ../solinas64_2e488m17_10limbs/
-${MAKE} "$@" montgomery32_2e489m21_16limbs.json ../montgomery32_2e489m21_16limbs/
-${MAKE} "$@" montgomery64_2e489m21_8limbs.json ../montgomery64_2e489m21_8limbs/
-${MAKE} "$@" solinas32_2e489m21_19limbs.json ../solinas32_2e489m21_19limbs/
-${MAKE} "$@" solinas32_2e489m21_20limbs.json ../solinas32_2e489m21_20limbs/
-${MAKE} "$@" solinas64_2e489m21_9limbs.json ../solinas64_2e489m21_9limbs/
-${MAKE} "$@" solinas64_2e489m21_10limbs.json ../solinas64_2e489m21_10limbs/
-${MAKE} "$@" montgomery32_2e495m31_16limbs.json ../montgomery32_2e495m31_16limbs/
-${MAKE} "$@" montgomery64_2e495m31_8limbs.json ../montgomery64_2e495m31_8limbs/
-${MAKE} "$@" solinas32_2e495m31_20limbs.json ../solinas32_2e495m31_20limbs/
-${MAKE} "$@" solinas32_2e495m31_21limbs.json ../solinas32_2e495m31_21limbs/
-${MAKE} "$@" solinas64_2e495m31_9limbs.json ../solinas64_2e495m31_9limbs/
-${MAKE} "$@" solinas64_2e495m31_10limbs.json ../solinas64_2e495m31_10limbs/
-${MAKE} "$@" montgomery32_2e511m481_16limbs.json ../montgomery32_2e511m481_16limbs/
-${MAKE} "$@" montgomery64_2e511m481_8limbs.json ../montgomery64_2e511m481_8limbs/
-${MAKE} "$@" solinas32_2e511m481_23limbs.json ../solinas32_2e511m481_23limbs/
-${MAKE} "$@" solinas32_2e511m481_24limbs.json ../solinas32_2e511m481_24limbs/
-${MAKE} "$@" solinas64_2e511m481_10limbs.json ../solinas64_2e511m481_10limbs/
-${MAKE} "$@" solinas64_2e511m481_11limbs.json ../solinas64_2e511m481_11limbs/
-${MAKE} "$@" montgomery32_2e511m187_16limbs.json ../montgomery32_2e511m187_16limbs/
-${MAKE} "$@" montgomery64_2e511m187_8limbs.json ../montgomery64_2e511m187_8limbs/
-${MAKE} "$@" solinas32_2e511m187_22limbs.json ../solinas32_2e511m187_22limbs/
-${MAKE} "$@" solinas32_2e511m187_23limbs.json ../solinas32_2e511m187_23limbs/
-${MAKE} "$@" solinas64_2e511m187_10limbs.json ../solinas64_2e511m187_10limbs/
-${MAKE} "$@" solinas64_2e511m187_11limbs.json ../solinas64_2e511m187_11limbs/
-${MAKE} "$@" montgomery32_2e512m569_16limbs.json ../montgomery32_2e512m569_16limbs/
-${MAKE} "$@" montgomery64_2e512m569_8limbs.json ../montgomery64_2e512m569_8limbs/
-${MAKE} "$@" solinas32_2e512m569_24limbs.json ../solinas32_2e512m569_24limbs/
-${MAKE} "$@" solinas32_2e512m569_25limbs.json ../solinas32_2e512m569_25limbs/
-${MAKE} "$@" solinas64_2e512m569_10limbs.json ../solinas64_2e512m569_10limbs/
-${MAKE} "$@" solinas64_2e512m569_11limbs.json ../solinas64_2e512m569_11limbs/
-${MAKE} "$@" montgomery32_2e521m1_17limbs.json ../montgomery32_2e521m1_17limbs/
-${MAKE} "$@" montgomery64_2e521m1_9limbs.json ../montgomery64_2e521m1_9limbs/
-${MAKE} "$@" solinas32_2e521m1_19limbs.json ../solinas32_2e521m1_19limbs/
-${MAKE} "$@" solinas32_2e521m1_20limbs.json ../solinas32_2e521m1_20limbs/
-${MAKE} "$@" solinas64_2e521m1_9limbs.json ../solinas64_2e521m1_9limbs/
-${MAKE} "$@" solinas64_2e521m1_10limbs.json ../solinas64_2e521m1_10limbs/
-${MAKE} "$@" montgomery32_2e192m2e64m1_6limbs.json ../montgomery32_2e192m2e64m1_6limbs/
-${MAKE} "$@" montgomery64_2e192m2e64m1_3limbs.json ../montgomery64_2e192m2e64m1_3limbs/
-${MAKE} "$@" solinas32_2e192m2e64m1_9limbs.json ../solinas32_2e192m2e64m1_9limbs/
-${MAKE} "$@" solinas32_2e192m2e64m1_10limbs.json ../solinas32_2e192m2e64m1_10limbs/
-${MAKE} "$@" solinas64_2e192m2e64m1_4limbs.json ../solinas64_2e192m2e64m1_4limbs/
-${MAKE} "$@" solinas64_2e192m2e64m1_5limbs.json ../solinas64_2e192m2e64m1_5limbs/
-${MAKE} "$@" montgomery32_2e216m2e108m1_7limbs.json ../montgomery32_2e216m2e108m1_7limbs/
-${MAKE} "$@" montgomery64_2e216m2e108m1_4limbs.json ../montgomery64_2e216m2e108m1_4limbs/
-${MAKE} "$@" solinas32_2e216m2e108m1_8limbs.json ../solinas32_2e216m2e108m1_8limbs/
-${MAKE} "$@" solinas32_2e216m2e108m1_10limbs.json ../solinas32_2e216m2e108m1_10limbs/
-${MAKE} "$@" solinas64_2e216m2e108m1_4limbs.json ../solinas64_2e216m2e108m1_4limbs/
-${MAKE} "$@" solinas64_2e216m2e108m1_5limbs.json ../solinas64_2e216m2e108m1_5limbs/
-${MAKE} "$@" montgomery32_2e322m2e161m1_11limbs.json ../montgomery32_2e322m2e161m1_11limbs/
-${MAKE} "$@" montgomery64_2e322m2e161m1_6limbs.json ../montgomery64_2e322m2e161m1_6limbs/
-${MAKE} "$@" solinas32_2e322m2e161m1_12limbs.json ../solinas32_2e322m2e161m1_12limbs/
-${MAKE} "$@" solinas32_2e322m2e161m1_14limbs.json ../solinas32_2e322m2e161m1_14limbs/
-${MAKE} "$@" solinas64_2e322m2e161m1_6limbs.json ../solinas64_2e322m2e161m1_6limbs/
-${MAKE} "$@" solinas64_2e322m2e161m1_7limbs.json ../solinas64_2e322m2e161m1_7limbs/
-${MAKE} "$@" montgomery32_2e416m2e208m1_13limbs.json ../montgomery32_2e416m2e208m1_13limbs/
-${MAKE} "$@" montgomery64_2e416m2e208m1_7limbs.json ../montgomery64_2e416m2e208m1_7limbs/
-${MAKE} "$@" solinas32_2e416m2e208m1_16limbs.json ../solinas32_2e416m2e208m1_16limbs/
-${MAKE} "$@" solinas32_2e416m2e208m1_18limbs.json ../solinas32_2e416m2e208m1_18limbs/
-${MAKE} "$@" solinas64_2e416m2e208m1_8limbs.json ../solinas64_2e416m2e208m1_8limbs/
-${MAKE} "$@" solinas64_2e416m2e208m1_9limbs.json ../solinas64_2e416m2e208m1_9limbs/
-${MAKE} "$@" montgomery32_2e448m2e224m1_14limbs.json ../montgomery32_2e448m2e224m1_14limbs/
-${MAKE} "$@" montgomery64_2e448m2e224m1_7limbs.json ../montgomery64_2e448m2e224m1_7limbs/
-${MAKE} "$@" solinas32_2e448m2e224m1_16limbs.json ../solinas32_2e448m2e224m1_16limbs/
-${MAKE} "$@" solinas32_2e448m2e224m1_18limbs.json ../solinas32_2e448m2e224m1_18limbs/
-${MAKE} "$@" solinas64_2e448m2e224m1_8limbs.json ../solinas64_2e448m2e224m1_8limbs/
-${MAKE} "$@" solinas64_2e448m2e224m1_10limbs.json ../solinas64_2e448m2e224m1_10limbs/
-${MAKE} "$@" montgomery32_2e450m2e225m1_15limbs.json ../montgomery32_2e450m2e225m1_15limbs/
-${MAKE} "$@" montgomery64_2e450m2e225m1_8limbs.json ../montgomery64_2e450m2e225m1_8limbs/
-${MAKE} "$@" solinas32_2e450m2e225m1_18limbs.json ../solinas32_2e450m2e225m1_18limbs/
-${MAKE} "$@" solinas32_2e450m2e225m1_20limbs.json ../solinas32_2e450m2e225m1_20limbs/
-${MAKE} "$@" solinas64_2e450m2e225m1_8limbs.json ../solinas64_2e450m2e225m1_8limbs/
-${MAKE} "$@" solinas64_2e450m2e225m1_10limbs.json ../solinas64_2e450m2e225m1_10limbs/
-${MAKE} "$@" montgomery32_2e480m2e240m1_15limbs.json ../montgomery32_2e480m2e240m1_15limbs/
-${MAKE} "$@" montgomery64_2e480m2e240m1_8limbs.json ../montgomery64_2e480m2e240m1_8limbs/
-${MAKE} "$@" solinas32_2e480m2e240m1_18limbs.json ../solinas32_2e480m2e240m1_18limbs/
-${MAKE} "$@" solinas32_2e480m2e240m1_20limbs.json ../solinas32_2e480m2e240m1_20limbs/
-${MAKE} "$@" solinas64_2e480m2e240m1_8limbs.json ../solinas64_2e480m2e240m1_8limbs/
-${MAKE} "$@" solinas64_2e480m2e240m1_10limbs.json ../solinas64_2e480m2e240m1_10limbs/
-${MAKE} "$@" montgomery32_2e205m45x2e198m1_7limbs.json ../montgomery32_2e205m45x2e198m1_7limbs/
-${MAKE} "$@" montgomery64_2e205m45x2e198m1_4limbs.json ../montgomery64_2e205m45x2e198m1_4limbs/
-${MAKE} "$@" montgomery32_2e224m2e96p1_7limbs.json ../montgomery32_2e224m2e96p1_7limbs/
-${MAKE} "$@" montgomery64_2e224m2e96p1_4limbs.json ../montgomery64_2e224m2e96p1_4limbs/
-${MAKE} "$@" solinas32_2e224m2e96p1_10limbs.json ../solinas32_2e224m2e96p1_10limbs/
-${MAKE} "$@" solinas32_2e224m2e96p1_11limbs.json ../solinas32_2e224m2e96p1_11limbs/
-${MAKE} "$@" solinas64_2e224m2e96p1_5limbs.json ../solinas64_2e224m2e96p1_5limbs/
-${MAKE} "$@" solinas64_2e224m2e96p1_6limbs.json ../solinas64_2e224m2e96p1_6limbs/
-${MAKE} "$@" montgomery32_2e256m2e224p2e192p2e96m1_8limbs.json ../montgomery32_2e256m2e224p2e192p2e96m1_8limbs/
-${MAKE} "$@" montgomery64_2e256m2e224p2e192p2e96m1_4limbs.json ../montgomery64_2e256m2e224p2e192p2e96m1_4limbs/
-${MAKE} "$@" solinas32_2e256m2e224p2e192p2e96m1_11limbs.json ../solinas32_2e256m2e224p2e192p2e96m1_11limbs/
-${MAKE} "$@" solinas32_2e256m2e224p2e192p2e96m1_12limbs.json ../solinas32_2e256m2e224p2e192p2e96m1_12limbs/
-${MAKE} "$@" solinas64_2e256m2e224p2e192p2e96m1_5limbs.json ../solinas64_2e256m2e224p2e192p2e96m1_5limbs/
-${MAKE} "$@" solinas64_2e256m2e224p2e192p2e96m1_6limbs.json ../solinas64_2e256m2e224p2e192p2e96m1_6limbs/
-${MAKE} "$@" montgomery32_2e256m2e32m977_8limbs.json ../montgomery32_2e256m2e32m977_8limbs/
-${MAKE} "$@" montgomery64_2e256m2e32m977_4limbs.json ../montgomery64_2e256m2e32m977_4limbs/
-${MAKE} "$@" solinas32_2e256m2e32m977_12limbs.json ../solinas32_2e256m2e32m977_12limbs/
-${MAKE} "$@" solinas32_2e256m2e32m977_13limbs.json ../solinas32_2e256m2e32m977_13limbs/
-${MAKE} "$@" solinas64_2e256m2e32m977_6limbs.json ../solinas64_2e256m2e32m977_6limbs/
-${MAKE} "$@" solinas64_2e256m2e32m977_7limbs.json ../solinas64_2e256m2e32m977_7limbs/
-${MAKE} "$@" montgomery32_2e256m4294968273_8limbs.json ../montgomery32_2e256m4294968273_8limbs/
-${MAKE} "$@" montgomery64_2e256m4294968273_4limbs.json ../montgomery64_2e256m4294968273_4limbs/
-${MAKE} "$@" solinas64_2e256m4294968273_9limbs.json ../solinas64_2e256m4294968273_9limbs/
-${MAKE} "$@" solinas64_2e256m4294968273_10limbs.json ../solinas64_2e256m4294968273_10limbs/
-${MAKE} "$@" montgomery32_2e384m2e128m2e96p2e32m1_12limbs.json ../montgomery32_2e384m2e128m2e96p2e32m1_12limbs/
-${MAKE} "$@" montgomery64_2e384m2e128m2e96p2e32m1_6limbs.json ../montgomery64_2e384m2e128m2e96p2e32m1_6limbs/
-${MAKE} "$@" solinas32_2e384m2e128m2e96p2e32m1_18limbs.json ../solinas32_2e384m2e128m2e96p2e32m1_18limbs/
-${MAKE} "$@" solinas32_2e384m2e128m2e96p2e32m1_19limbs.json ../solinas32_2e384m2e128m2e96p2e32m1_19limbs/
-${MAKE} "$@" solinas64_2e384m2e128m2e96p2e32m1_9limbs.json ../solinas64_2e384m2e128m2e96p2e32m1_9limbs/
-${MAKE} "$@" solinas64_2e384m2e128m2e96p2e32m1_10limbs.json ../solinas64_2e384m2e128m2e96p2e32m1_10limbs/
-${MAKE} "$@" montgomery32_2e256m88x2e240m1_8limbs.json ../montgomery32_2e256m88x2e240m1_8limbs/
-${MAKE} "$@" montgomery64_2e256m88x2e240m1_4limbs.json ../montgomery64_2e256m88x2e240m1_4limbs/
-${MAKE} "$@" montgomery32_2e254m127x2e240m1_8limbs.json ../montgomery32_2e254m127x2e240m1_8limbs/
-${MAKE} "$@" montgomery64_2e254m127x2e240m1_4limbs.json ../montgomery64_2e254m127x2e240m1_4limbs/
-${MAKE} "$@" montgomery32_2e384m79x2e376m1_12limbs.json ../montgomery32_2e384m79x2e376m1_12limbs/
-${MAKE} "$@" montgomery64_2e384m79x2e376m1_6limbs.json ../montgomery64_2e384m79x2e376m1_6limbs/
-${MAKE} "$@" montgomery32_2e384m5x2e368m1_12limbs.json ../montgomery32_2e384m5x2e368m1_12limbs/
-${MAKE} "$@" montgomery64_2e384m5x2e368m1_6limbs.json ../montgomery64_2e384m5x2e368m1_6limbs/
-${MAKE} "$@" montgomery32_2e512m491x2e496m1_16limbs.json ../montgomery32_2e512m491x2e496m1_16limbs/
-${MAKE} "$@" montgomery64_2e512m491x2e496m1_8limbs.json ../montgomery64_2e512m491x2e496m1_8limbs/
-${MAKE} "$@" montgomery32_2e510m290x2e496m1_16limbs.json ../montgomery32_2e510m290x2e496m1_16limbs/
-${MAKE} "$@" montgomery64_2e510m290x2e496m1_8limbs.json ../montgomery64_2e510m290x2e496m1_8limbs/
diff --git a/src/Specific/CurveParameters/solinas32_2e127m1_5limbs.json b/src/Specific/CurveParameters/solinas32_2e127m1_5limbs.json
deleted file mode 100644
index e12873d2f..000000000
--- a/src/Specific/CurveParameters/solinas32_2e127m1_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.4",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<127) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<127) - 1'",
- "modulus": "2^127 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e127m1_6limbs.json b/src/Specific/CurveParameters/solinas32_2e127m1_6limbs.json
deleted file mode 100644
index b075c9a2a..000000000
--- a/src/Specific/CurveParameters/solinas32_2e127m1_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 1/6",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<127) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<127) - 1'",
- "modulus": "2^127 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e129m25_5limbs.json b/src/Specific/CurveParameters/solinas32_2e129m25_5limbs.json
deleted file mode 100644
index b45f044b6..000000000
--- a/src/Specific/CurveParameters/solinas32_2e129m25_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.8",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25'",
- "modulus": "2^129 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e129m25_6limbs.json b/src/Specific/CurveParameters/solinas32_2e129m25_6limbs.json
deleted file mode 100644
index 87d579dcb..000000000
--- a/src/Specific/CurveParameters/solinas32_2e129m25_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<129) - 25'",
- "modulus": "2^129 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e130m5_5limbs.json b/src/Specific/CurveParameters/solinas32_2e130m5_5limbs.json
deleted file mode 100644
index 22a9b17fe..000000000
--- a/src/Specific/CurveParameters/solinas32_2e130m5_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5'",
- "modulus": "2^130 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e130m5_6limbs.json b/src/Specific/CurveParameters/solinas32_2e130m5_6limbs.json
deleted file mode 100644
index a3430fbca..000000000
--- a/src/Specific/CurveParameters/solinas32_2e130m5_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 2/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<130) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<130) - 5'",
- "modulus": "2^130 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e137m13_5limbs.json b/src/Specific/CurveParameters/solinas32_2e137m13_5limbs.json
deleted file mode 100644
index ed84cd5a2..000000000
--- a/src/Specific/CurveParameters/solinas32_2e137m13_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27.4",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,27}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,27}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13'",
- "modulus": "2^137 - 13",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e137m13_6limbs.json b/src/Specific/CurveParameters/solinas32_2e137m13_6limbs.json
deleted file mode 100644
index 2a957f085..000000000
--- a/src/Specific/CurveParameters/solinas32_2e137m13_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 5/6",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<137) - 13'",
- "modulus": "2^137 - 13",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e140m27_6limbs.json b/src/Specific/CurveParameters/solinas32_2e140m27_6limbs.json
deleted file mode 100644
index 74246a427..000000000
--- a/src/Specific/CurveParameters/solinas32_2e140m27_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 1/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<140) - 27'",
- "modulus": "2^140 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e140m27_7limbs.json b/src/Specific/CurveParameters/solinas32_2e140m27_7limbs.json
deleted file mode 100644
index 831076f34..000000000
--- a/src/Specific/CurveParameters/solinas32_2e140m27_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "20",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,20,20,20,20}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,20,20,20,20}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<140) - 27'",
- "modulus": "2^140 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e141m9_6limbs.json b/src/Specific/CurveParameters/solinas32_2e141m9_6limbs.json
deleted file mode 100644
index 3d3deac77..000000000
--- a/src/Specific/CurveParameters/solinas32_2e141m9_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<141) - 9'",
- "modulus": "2^141 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e141m9_7limbs.json b/src/Specific/CurveParameters/solinas32_2e141m9_7limbs.json
deleted file mode 100644
index 78f62b924..000000000
--- a/src/Specific/CurveParameters/solinas32_2e141m9_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "20 + 1/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<141) - 9'",
- "modulus": "2^141 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e150m3_6limbs.json b/src/Specific/CurveParameters/solinas32_2e150m3_6limbs.json
deleted file mode 100644
index 8ab8ce29c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e150m3_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 3'",
- "modulus": "2^150 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e150m3_7limbs.json b/src/Specific/CurveParameters/solinas32_2e150m3_7limbs.json
deleted file mode 100644
index 2164c1809..000000000
--- a/src/Specific/CurveParameters/solinas32_2e150m3_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 3/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 3'",
- "modulus": "2^150 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e150m5_6limbs.json b/src/Specific/CurveParameters/solinas32_2e150m5_6limbs.json
deleted file mode 100644
index 5ee6c1c9f..000000000
--- a/src/Specific/CurveParameters/solinas32_2e150m5_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 5'",
- "modulus": "2^150 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e150m5_7limbs.json b/src/Specific/CurveParameters/solinas32_2e150m5_7limbs.json
deleted file mode 100644
index 7adc0849a..000000000
--- a/src/Specific/CurveParameters/solinas32_2e150m5_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 3/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 5'",
- "modulus": "2^150 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e152m17_6limbs.json b/src/Specific/CurveParameters/solinas32_2e152m17_6limbs.json
deleted file mode 100644
index d638cd288..000000000
--- a/src/Specific/CurveParameters/solinas32_2e152m17_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 1/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<152) - 17'",
- "modulus": "2^152 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e152m17_7limbs.json b/src/Specific/CurveParameters/solinas32_2e152m17_7limbs.json
deleted file mode 100644
index 4c5557daa..000000000
--- a/src/Specific/CurveParameters/solinas32_2e152m17_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 5/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<152) - 17'",
- "modulus": "2^152 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e158m15_6limbs.json b/src/Specific/CurveParameters/solinas32_2e158m15_6limbs.json
deleted file mode 100644
index f58ebff43..000000000
--- a/src/Specific/CurveParameters/solinas32_2e158m15_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26 + 1/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<158) - 15'",
- "modulus": "2^158 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e158m15_7limbs.json b/src/Specific/CurveParameters/solinas32_2e158m15_7limbs.json
deleted file mode 100644
index 5bb2f656c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e158m15_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 4/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<158) - 15'",
- "modulus": "2^158 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e165m25_7limbs.json b/src/Specific/CurveParameters/solinas32_2e165m25_7limbs.json
deleted file mode 100644
index c6c16ff61..000000000
--- a/src/Specific/CurveParameters/solinas32_2e165m25_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 4/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<165) - 25'",
- "modulus": "2^165 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e165m25_8limbs.json b/src/Specific/CurveParameters/solinas32_2e165m25_8limbs.json
deleted file mode 100644
index 4bd96de49..000000000
--- a/src/Specific/CurveParameters/solinas32_2e165m25_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "20.625",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,21,20,21,21,20,21,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,21,20,21,21,20,21,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<165) - 25'",
- "modulus": "2^165 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e166m5_6limbs.json b/src/Specific/CurveParameters/solinas32_2e166m5_6limbs.json
deleted file mode 100644
index d5e7a6a74..000000000
--- a/src/Specific/CurveParameters/solinas32_2e166m5_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27 + 2/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,28,27,28,28,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,28,27,28,28,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5'",
- "modulus": "2^166 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e166m5_7limbs.json b/src/Specific/CurveParameters/solinas32_2e166m5_7limbs.json
deleted file mode 100644
index cc055068e..000000000
--- a/src/Specific/CurveParameters/solinas32_2e166m5_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 5/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<166) - 5'",
- "modulus": "2^166 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e171m19_7limbs.json b/src/Specific/CurveParameters/solinas32_2e171m19_7limbs.json
deleted file mode 100644
index f0cecef29..000000000
--- a/src/Specific/CurveParameters/solinas32_2e171m19_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 3/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<171) - 19'",
- "modulus": "2^171 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e171m19_8limbs.json b/src/Specific/CurveParameters/solinas32_2e171m19_8limbs.json
deleted file mode 100644
index b9c0b9190..000000000
--- a/src/Specific/CurveParameters/solinas32_2e171m19_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21.375",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,21,22,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,21,22,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<171) - 19'",
- "modulus": "2^171 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e174m17_7limbs.json b/src/Specific/CurveParameters/solinas32_2e174m17_7limbs.json
deleted file mode 100644
index b47a355d1..000000000
--- a/src/Specific/CurveParameters/solinas32_2e174m17_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 6/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 17'",
- "modulus": "2^174 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e174m17_8limbs.json b/src/Specific/CurveParameters/solinas32_2e174m17_8limbs.json
deleted file mode 100644
index 3f95162d3..000000000
--- a/src/Specific/CurveParameters/solinas32_2e174m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 17'",
- "modulus": "2^174 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e174m3_7limbs.json b/src/Specific/CurveParameters/solinas32_2e174m3_7limbs.json
deleted file mode 100644
index 68205243c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e174m3_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 6/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 3'",
- "modulus": "2^174 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e174m3_8limbs.json b/src/Specific/CurveParameters/solinas32_2e174m3_8limbs.json
deleted file mode 100644
index ee287924d..000000000
--- a/src/Specific/CurveParameters/solinas32_2e174m3_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 3'",
- "modulus": "2^174 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e189m25_7limbs.json b/src/Specific/CurveParameters/solinas32_2e189m25_7limbs.json
deleted file mode 100644
index 3a2d13841..000000000
--- a/src/Specific/CurveParameters/solinas32_2e189m25_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<189) - 25'",
- "modulus": "2^189 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e189m25_8limbs.json b/src/Specific/CurveParameters/solinas32_2e189m25_8limbs.json
deleted file mode 100644
index d1e910831..000000000
--- a/src/Specific/CurveParameters/solinas32_2e189m25_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.625",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<189) - 25'",
- "modulus": "2^189 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e190m11_7limbs.json b/src/Specific/CurveParameters/solinas32_2e190m11_7limbs.json
deleted file mode 100644
index 582557c80..000000000
--- a/src/Specific/CurveParameters/solinas32_2e190m11_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27 + 1/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<190) - 11'",
- "modulus": "2^190 - 11",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e190m11_8limbs.json b/src/Specific/CurveParameters/solinas32_2e190m11_8limbs.json
deleted file mode 100644
index 817f3657d..000000000
--- a/src/Specific/CurveParameters/solinas32_2e190m11_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<190) - 11'",
- "modulus": "2^190 - 11",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e191m19_8limbs.json b/src/Specific/CurveParameters/solinas32_2e191m19_8limbs.json
deleted file mode 100644
index 4472f2e8b..000000000
--- a/src/Specific/CurveParameters/solinas32_2e191m19_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.875",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<191) - 19'",
- "modulus": "2^191 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e191m19_9limbs.json b/src/Specific/CurveParameters/solinas32_2e191m19_9limbs.json
deleted file mode 100644
index 2817729bc..000000000
--- a/src/Specific/CurveParameters/solinas32_2e191m19_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 2/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<191) - 19'",
- "modulus": "2^191 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e192m2e64m1_10limbs.json b/src/Specific/CurveParameters/solinas32_2e192m2e64m1_10limbs.json
deleted file mode 100644
index 1f34734fd..000000000
--- a/src/Specific/CurveParameters/solinas32_2e192m2e64m1_10limbs.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "base": "19.2",
- "bitwidth": 32,
- "carry_chains": [
- [
- 2,
- 9
- ],
- [
- 3,
- 0,
- 4,
- 1,
- 5,
- 2,
- 6,
- 7,
- 8,
- 9
- ],
- [
- 3,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,19,19,19,19,20,19,19,19,19}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,19,19,19,19,20,19,19,19,19}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "modulus": "2^192 - 2^64 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e192m2e64m1_9limbs.json b/src/Specific/CurveParameters/solinas32_2e192m2e64m1_9limbs.json
deleted file mode 100644
index 0818a8b09..000000000
--- a/src/Specific/CurveParameters/solinas32_2e192m2e64m1_9limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": [
- [
- 2,
- 8
- ],
- [
- 3,
- 0,
- 4,
- 1,
- 5,
- 2,
- 6,
- 7,
- 8
- ],
- [
- 3,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "modulus": "2^192 - 2^64 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e194m33_8limbs.json b/src/Specific/CurveParameters/solinas32_2e194m33_8limbs.json
deleted file mode 100644
index b8f294ee7..000000000
--- a/src/Specific/CurveParameters/solinas32_2e194m33_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.25",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<194) - 33'",
- "modulus": "2^194 - 33",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e194m33_9limbs.json b/src/Specific/CurveParameters/solinas32_2e194m33_9limbs.json
deleted file mode 100644
index 348820ac8..000000000
--- a/src/Specific/CurveParameters/solinas32_2e194m33_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 5/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,21,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,21,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<194) - 33'",
- "modulus": "2^194 - 33",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e196m15_8limbs.json b/src/Specific/CurveParameters/solinas32_2e196m15_8limbs.json
deleted file mode 100644
index 69a594b07..000000000
--- a/src/Specific/CurveParameters/solinas32_2e196m15_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<196) - 15'",
- "modulus": "2^196 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e196m15_9limbs.json b/src/Specific/CurveParameters/solinas32_2e196m15_9limbs.json
deleted file mode 100644
index 6e7b4b850..000000000
--- a/src/Specific/CurveParameters/solinas32_2e196m15_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 7/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<196) - 15'",
- "modulus": "2^196 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e198m17_8limbs.json b/src/Specific/CurveParameters/solinas32_2e198m17_8limbs.json
deleted file mode 100644
index d10b6c474..000000000
--- a/src/Specific/CurveParameters/solinas32_2e198m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<198) - 17'",
- "modulus": "2^198 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e198m17_9limbs.json b/src/Specific/CurveParameters/solinas32_2e198m17_9limbs.json
deleted file mode 100644
index 1e79e4eb8..000000000
--- a/src/Specific/CurveParameters/solinas32_2e198m17_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<198) - 17'",
- "modulus": "2^198 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e206m5_8limbs.json b/src/Specific/CurveParameters/solinas32_2e206m5_8limbs.json
deleted file mode 100644
index 1d9dee2b9..000000000
--- a/src/Specific/CurveParameters/solinas32_2e206m5_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<206) - 5'",
- "modulus": "2^206 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e206m5_9limbs.json b/src/Specific/CurveParameters/solinas32_2e206m5_9limbs.json
deleted file mode 100644
index fe560ee3c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e206m5_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 8/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<206) - 5'",
- "modulus": "2^206 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e212m29_8limbs.json b/src/Specific/CurveParameters/solinas32_2e212m29_8limbs.json
deleted file mode 100644
index 4e26e0899..000000000
--- a/src/Specific/CurveParameters/solinas32_2e212m29_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<212) - 29'",
- "modulus": "2^212 - 29",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e212m29_9limbs.json b/src/Specific/CurveParameters/solinas32_2e212m29_9limbs.json
deleted file mode 100644
index 525c4c4fa..000000000
--- a/src/Specific/CurveParameters/solinas32_2e212m29_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 5/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<212) - 29'",
- "modulus": "2^212 - 29",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e213m3_8limbs.json b/src/Specific/CurveParameters/solinas32_2e213m3_8limbs.json
deleted file mode 100644
index 7ecc61d2b..000000000
--- a/src/Specific/CurveParameters/solinas32_2e213m3_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26.625",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,26}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,26}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<213) - 3'",
- "modulus": "2^213 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e213m3_9limbs.json b/src/Specific/CurveParameters/solinas32_2e213m3_9limbs.json
deleted file mode 100644
index a58195664..000000000
--- a/src/Specific/CurveParameters/solinas32_2e213m3_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 2/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<213) - 3'",
- "modulus": "2^213 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e216m2e108m1_10limbs.json b/src/Specific/CurveParameters/solinas32_2e216m2e108m1_10limbs.json
deleted file mode 100644
index 4c76d40e7..000000000
--- a/src/Specific/CurveParameters/solinas32_2e216m2e108m1_10limbs.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "base": "21.6",
- "bitwidth": 32,
- "carry_chains": [
- [
- 4,
- 9
- ],
- [
- 5,
- 0,
- 6,
- 1,
- 7,
- 2,
- 8,
- 3,
- 9,
- 4
- ],
- [
- 5,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,22,21,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,22,21,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "goldilocks": true,
- "modulus": "2^216 - 2^108 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e216m2e108m1_8limbs.json b/src/Specific/CurveParameters/solinas32_2e216m2e108m1_8limbs.json
deleted file mode 100644
index 45f2bcbaf..000000000
--- a/src/Specific/CurveParameters/solinas32_2e216m2e108m1_8limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "27",
- "bitwidth": 32,
- "carry_chains": [
- [
- 3,
- 7
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "goldilocks": true,
- "modulus": "2^216 - 2^108 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e221m3_8limbs.json b/src/Specific/CurveParameters/solinas32_2e221m3_8limbs.json
deleted file mode 100644
index 9e8afa548..000000000
--- a/src/Specific/CurveParameters/solinas32_2e221m3_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27.625",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='{28,28,27,28,28,27,28,27}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "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='{28,28,27,28,28,27,28,27}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<221) - 3'",
- "modulus": "2^221 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e221m3_9limbs.json b/src/Specific/CurveParameters/solinas32_2e221m3_9limbs.json
deleted file mode 100644
index 6ef357cbe..000000000
--- a/src/Specific/CurveParameters/solinas32_2e221m3_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 5/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='{25,25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "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='{25,25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<221) - 3'",
- "modulus": "2^221 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e222m117_10limbs.json b/src/Specific/CurveParameters/solinas32_2e222m117_10limbs.json
deleted file mode 100644
index 70fd392bf..000000000
--- a/src/Specific/CurveParameters/solinas32_2e222m117_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22.2",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "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='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<222) - 117'",
- "modulus": "2^222 - 117",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e222m117_9limbs.json b/src/Specific/CurveParameters/solinas32_2e222m117_9limbs.json
deleted file mode 100644
index bc3dd885e..000000000
--- a/src/Specific/CurveParameters/solinas32_2e222m117_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 2/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='{25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "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='{25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<222) - 117'",
- "modulus": "2^222 - 117",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e224m2e96p1_10limbs.json b/src/Specific/CurveParameters/solinas32_2e224m2e96p1_10limbs.json
deleted file mode 100644
index 6b710f160..000000000
--- a/src/Specific/CurveParameters/solinas32_2e224m2e96p1_10limbs.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "base": "22.4",
- "bitwidth": 32,
- "carry_chains": [
- [
- 3,
- 9
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3,
- 8,
- 9
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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='{23,22,23,22,22,23,22,23,22,22}' -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='10' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "compilerxx": "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='{23,22,23,22,22,23,22,23,22,22}' -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='10' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "modulus": "2^224 - 2^96 + 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e224m2e96p1_11limbs.json b/src/Specific/CurveParameters/solinas32_2e224m2e96p1_11limbs.json
deleted file mode 100644
index d1922f745..000000000
--- a/src/Specific/CurveParameters/solinas32_2e224m2e96p1_11limbs.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "base": "20 + 4/11",
- "bitwidth": 32,
- "carry_chains": [
- [
- 3,
- 10
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3,
- 8,
- 9,
- 10
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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'",
- "compilerxx": "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'",
- "modulus": "2^224 - 2^96 + 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e226m5_10limbs.json b/src/Specific/CurveParameters/solinas32_2e226m5_10limbs.json
deleted file mode 100644
index fbba962ce..000000000
--- a/src/Specific/CurveParameters/solinas32_2e226m5_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22.6",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<226) - 5'",
- "modulus": "2^226 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e226m5_9limbs.json b/src/Specific/CurveParameters/solinas32_2e226m5_9limbs.json
deleted file mode 100644
index 0f29ec8f9..000000000
--- a/src/Specific/CurveParameters/solinas32_2e226m5_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 1/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<226) - 5'",
- "modulus": "2^226 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e230m27_10limbs.json b/src/Specific/CurveParameters/solinas32_2e230m27_10limbs.json
deleted file mode 100644
index 01081541d..000000000
--- a/src/Specific/CurveParameters/solinas32_2e230m27_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<230) - 27'",
- "modulus": "2^230 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e230m27_9limbs.json b/src/Specific/CurveParameters/solinas32_2e230m27_9limbs.json
deleted file mode 100644
index 3a740f494..000000000
--- a/src/Specific/CurveParameters/solinas32_2e230m27_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 5/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<230) - 27'",
- "modulus": "2^230 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e235m15_10limbs.json b/src/Specific/CurveParameters/solinas32_2e235m15_10limbs.json
deleted file mode 100644
index 6ca1fc469..000000000
--- a/src/Specific/CurveParameters/solinas32_2e235m15_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<235) - 15'",
- "modulus": "2^235 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e235m15_9limbs.json b/src/Specific/CurveParameters/solinas32_2e235m15_9limbs.json
deleted file mode 100644
index c49318a70..000000000
--- a/src/Specific/CurveParameters/solinas32_2e235m15_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26 + 1/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<235) - 15'",
- "modulus": "2^235 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e243m9_10limbs.json b/src/Specific/CurveParameters/solinas32_2e243m9_10limbs.json
deleted file mode 100644
index 74e3e1dbe..000000000
--- a/src/Specific/CurveParameters/solinas32_2e243m9_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<243) - 9'",
- "modulus": "2^243 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e243m9_9limbs.json b/src/Specific/CurveParameters/solinas32_2e243m9_9limbs.json
deleted file mode 100644
index 815480794..000000000
--- a/src/Specific/CurveParameters/solinas32_2e243m9_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<243) - 9'",
- "modulus": "2^243 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e251m9_10limbs.json b/src/Specific/CurveParameters/solinas32_2e251m9_10limbs.json
deleted file mode 100644
index ab9fad470..000000000
--- a/src/Specific/CurveParameters/solinas32_2e251m9_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.1",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<251) - 9'",
- "modulus": "2^251 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e251m9_11limbs.json b/src/Specific/CurveParameters/solinas32_2e251m9_11limbs.json
deleted file mode 100644
index f0419a8ef..000000000
--- a/src/Specific/CurveParameters/solinas32_2e251m9_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 9/11",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22,23,23,23,23,22}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22,23,23,23,23,22}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<251) - 9'",
- "modulus": "2^251 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e255m19_10limbs.json b/src/Specific/CurveParameters/solinas32_2e255m19_10limbs.json
deleted file mode 100644
index 35a1c2bc2..000000000
--- a/src/Specific/CurveParameters/solinas32_2e255m19_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19'",
- "modulus": "2^255 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e255m19_10limbs_donna.json b/src/Specific/CurveParameters/solinas32_2e255m19_10limbs_donna.json
deleted file mode 100644
index 3e56b84de..000000000
--- a/src/Specific/CurveParameters/solinas32_2e255m19_10limbs_donna.json
+++ /dev/null
@@ -1,237 +0,0 @@
-{
- "base": "25.5",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19'",
- "modulus": "2^255 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10",
- "mul_header" : "(* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "mul_code"
- :
- "
- output[0] = ((limb) ((s32) in2[0])) * ((s32) in[0]);
- output[1] = ((limb) ((s32) in2[0])) * ((s32) in[1]) +
- ((limb) ((s32) in2[1])) * ((s32) in[0]);
- output[2] = 2 * ((limb) ((s32) in2[1])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[2]) +
- ((limb) ((s32) in2[2])) * ((s32) in[0]);
- output[3] = ((limb) ((s32) in2[1])) * ((s32) in[2]) +
- ((limb) ((s32) in2[2])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[3]) +
- ((limb) ((s32) in2[3])) * ((s32) in[0]);
- output[4] = ((limb) ((s32) in2[2])) * ((s32) in[2]) +
- 2 * (((limb) ((s32) in2[1])) * ((s32) in[3]) +
- ((limb) ((s32) in2[3])) * ((s32) in[1])) +
- ((limb) ((s32) in2[0])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[0]);
- output[5] = ((limb) ((s32) in2[2])) * ((s32) in[3]) +
- ((limb) ((s32) in2[3])) * ((s32) in[2]) +
- ((limb) ((s32) in2[1])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[0]);
- output[6] = 2 * (((limb) ((s32) in2[3])) * ((s32) in[3]) +
- ((limb) ((s32) in2[1])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[1])) +
- ((limb) ((s32) in2[2])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[2]) +
- ((limb) ((s32) in2[0])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[0]);
- output[7] = ((limb) ((s32) in2[3])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[3]) +
- ((limb) ((s32) in2[2])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[2]) +
- ((limb) ((s32) in2[1])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[0]);
- output[8] = ((limb) ((s32) in2[4])) * ((s32) in[4]) +
- 2 * (((limb) ((s32) in2[3])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[3]) +
- ((limb) ((s32) in2[1])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[1])) +
- ((limb) ((s32) in2[2])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[2]) +
- ((limb) ((s32) in2[0])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[0]);
- output[9] = ((limb) ((s32) in2[4])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[4]) +
- ((limb) ((s32) in2[3])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[3]) +
- ((limb) ((s32) in2[2])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[2]) +
- ((limb) ((s32) in2[1])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[0]);
- output[10] = 2 * (((limb) ((s32) in2[5])) * ((s32) in[5]) +
- ((limb) ((s32) in2[3])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[3]) +
- ((limb) ((s32) in2[1])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[1])) +
- ((limb) ((s32) in2[4])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[4]) +
- ((limb) ((s32) in2[2])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[2]);
- output[11] = ((limb) ((s32) in2[5])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[5]) +
- ((limb) ((s32) in2[4])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[4]) +
- ((limb) ((s32) in2[3])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[3]) +
- ((limb) ((s32) in2[2])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[2]);
- output[12] = ((limb) ((s32) in2[6])) * ((s32) in[6]) +
- 2 * (((limb) ((s32) in2[5])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[5]) +
- ((limb) ((s32) in2[3])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[3])) +
- ((limb) ((s32) in2[4])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[4]);
- output[13] = ((limb) ((s32) in2[6])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[6]) +
- ((limb) ((s32) in2[5])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[5]) +
- ((limb) ((s32) in2[4])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[4]);
- output[14] = 2 * (((limb) ((s32) in2[7])) * ((s32) in[7]) +
- ((limb) ((s32) in2[5])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[5])) +
- ((limb) ((s32) in2[6])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[6]);
- output[15] = ((limb) ((s32) in2[7])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[7]) +
- ((limb) ((s32) in2[6])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[6]);
- output[16] = ((limb) ((s32) in2[8])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in2[7])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[7]));
- output[17] = ((limb) ((s32) in2[8])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[8]);
- output[18] = 2 * ((limb) ((s32) in2[9])) * ((s32) in[9]);
- output[8] += output[18] << 4;
- output[8] += output[18] << 1;
- output[8] += output[18];
- output[7] += output[17] << 4;
- output[7] += output[17] << 1;
- output[7] += output[17];
- output[6] += output[16] << 4;
- output[6] += output[16] << 1;
- output[6] += output[16];
- output[5] += output[15] << 4;
- output[5] += output[15] << 1;
- output[5] += output[15];
- output[4] += output[14] << 4;
- output[4] += output[14] << 1;
- output[4] += output[14];
- output[3] += output[13] << 4;
- output[3] += output[13] << 1;
- output[3] += output[13];
- output[2] += output[12] << 4;
- output[2] += output[12] << 1;
- output[2] += output[12];
- output[1] += output[11] << 4;
- output[1] += output[11] << 1;
- output[1] += output[11];
- output[0] += output[10] << 4;
- output[0] += output[10] << 1;
- output[0] += output[10];
-",
- "square_header" : "(* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "square_code"
- :
- "
- output[0] = ((limb) ((s32) in[0])) * ((s32) in[0]);
- output[1] = 2 * ((limb) ((s32) in[0])) * ((s32) in[1]);
- output[2] = 2 * (((limb) ((s32) in[1])) * ((s32) in[1]) +
- ((limb) ((s32) in[0])) * ((s32) in[2]));
- output[3] = 2 * (((limb) ((s32) in[1])) * ((s32) in[2]) +
- ((limb) ((s32) in[0])) * ((s32) in[3]));
- output[4] = ((limb) ((s32) in[2])) * ((s32) in[2]) +
- 4 * ((limb) ((s32) in[1])) * ((s32) in[3]) +
- 2 * ((limb) ((s32) in[0])) * ((s32) in[4]);
- output[5] = 2 * (((limb) ((s32) in[2])) * ((s32) in[3]) +
- ((limb) ((s32) in[1])) * ((s32) in[4]) +
- ((limb) ((s32) in[0])) * ((s32) in[5]));
- output[6] = 2 * (((limb) ((s32) in[3])) * ((s32) in[3]) +
- ((limb) ((s32) in[2])) * ((s32) in[4]) +
- ((limb) ((s32) in[0])) * ((s32) in[6]) +
- 2 * ((limb) ((s32) in[1])) * ((s32) in[5]));
- output[7] = 2 * (((limb) ((s32) in[3])) * ((s32) in[4]) +
- ((limb) ((s32) in[2])) * ((s32) in[5]) +
- ((limb) ((s32) in[1])) * ((s32) in[6]) +
- ((limb) ((s32) in[0])) * ((s32) in[7]));
- output[8] = ((limb) ((s32) in[4])) * ((s32) in[4]) +
- 2 * (((limb) ((s32) in[2])) * ((s32) in[6]) +
- ((limb) ((s32) in[0])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in[1])) * ((s32) in[7]) +
- ((limb) ((s32) in[3])) * ((s32) in[5])));
- output[9] = 2 * (((limb) ((s32) in[4])) * ((s32) in[5]) +
- ((limb) ((s32) in[3])) * ((s32) in[6]) +
- ((limb) ((s32) in[2])) * ((s32) in[7]) +
- ((limb) ((s32) in[1])) * ((s32) in[8]) +
- ((limb) ((s32) in[0])) * ((s32) in[9]));
- output[10] = 2 * (((limb) ((s32) in[5])) * ((s32) in[5]) +
- ((limb) ((s32) in[4])) * ((s32) in[6]) +
- ((limb) ((s32) in[2])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in[3])) * ((s32) in[7]) +
- ((limb) ((s32) in[1])) * ((s32) in[9])));
- output[11] = 2 * (((limb) ((s32) in[5])) * ((s32) in[6]) +
- ((limb) ((s32) in[4])) * ((s32) in[7]) +
- ((limb) ((s32) in[3])) * ((s32) in[8]) +
- ((limb) ((s32) in[2])) * ((s32) in[9]));
- output[12] = ((limb) ((s32) in[6])) * ((s32) in[6]) +
- 2 * (((limb) ((s32) in[4])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in[5])) * ((s32) in[7]) +
- ((limb) ((s32) in[3])) * ((s32) in[9])));
- output[13] = 2 * (((limb) ((s32) in[6])) * ((s32) in[7]) +
- ((limb) ((s32) in[5])) * ((s32) in[8]) +
- ((limb) ((s32) in[4])) * ((s32) in[9]));
- output[14] = 2 * (((limb) ((s32) in[7])) * ((s32) in[7]) +
- ((limb) ((s32) in[6])) * ((s32) in[8]) +
- 2 * ((limb) ((s32) in[5])) * ((s32) in[9]));
- output[15] = 2 * (((limb) ((s32) in[7])) * ((s32) in[8]) +
- ((limb) ((s32) in[6])) * ((s32) in[9]));
- output[16] = ((limb) ((s32) in[8])) * ((s32) in[8]) +
- 4 * ((limb) ((s32) in[7])) * ((s32) in[9]);
- output[17] = 2 * ((limb) ((s32) in[8])) * ((s32) in[9]);
- output[18] = 2 * ((limb) ((s32) in[9])) * ((s32) in[9]);
- output[8] += output[18] << 4;
- output[8] += output[18] << 1;
- output[8] += output[18];
- output[7] += output[17] << 4;
- output[7] += output[17] << 1;
- output[7] += output[17];
- output[6] += output[16] << 4;
- output[6] += output[16] << 1;
- output[6] += output[16];
- output[5] += output[15] << 4;
- output[5] += output[15] << 1;
- output[5] += output[15];
- output[4] += output[14] << 4;
- output[4] += output[14] << 1;
- output[4] += output[14];
- output[3] += output[13] << 4;
- output[3] += output[13] << 1;
- output[3] += output[13];
- output[2] += output[12] << 4;
- output[2] += output[12] << 1;
- output[2] += output[12];
- output[1] += output[11] << 4;
- output[1] += output[11] << 1;
- output[1] += output[11];
- output[0] += output[10] << 4;
- output[0] += output[10] << 1;
- output[0] += output[10];
-"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e255m19_11limbs.json b/src/Specific/CurveParameters/solinas32_2e255m19_11limbs.json
deleted file mode 100644
index f6601633e..000000000
--- a/src/Specific/CurveParameters/solinas32_2e255m19_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 2/11",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,24,23,23,23,23,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,24,23,23,23,23,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<255) - 19'",
- "modulus": "2^255 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e255m765_12limbs.json b/src/Specific/CurveParameters/solinas32_2e255m765_12limbs.json
deleted file mode 100644
index 4ac048497..000000000
--- a/src/Specific/CurveParameters/solinas32_2e255m765_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21.25",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<255) - 765'",
- "modulus": "2^255 - 765",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e255m765_13limbs.json b/src/Specific/CurveParameters/solinas32_2e255m765_13limbs.json
deleted file mode 100644
index c9bbad2b2..000000000
--- a/src/Specific/CurveParameters/solinas32_2e255m765_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "19 + 8/13",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,19,20,20,19,20,19,20,20,19,20,19}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,19,20,20,19,20,19,20,20,19,20,19}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<255) - 765'",
- "modulus": "2^255 - 765",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e256m189_11limbs.json b/src/Specific/CurveParameters/solinas32_2e256m189_11limbs.json
deleted file mode 100644
index 20682262c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e256m189_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 3/11",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - 189'",
- "modulus": "2^256 - 189",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e256m189_12limbs.json b/src/Specific/CurveParameters/solinas32_2e256m189_12limbs.json
deleted file mode 100644
index 954a85c9a..000000000
--- a/src/Specific/CurveParameters/solinas32_2e256m189_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - 189'",
- "modulus": "2^256 - 189",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_11limbs.json b/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_11limbs.json
deleted file mode 100644
index 2507e7598..000000000
--- a/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_11limbs.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "base": "23 + 3/11",
- "bitwidth": 32,
- "carry_chains": [
- [
- 8,
- 7,
- 3,
- 10
- ],
- [
- 9,
- 8,
- 4,
- 0,
- 10,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3
- ],
- [
- 9,
- 8,
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_12limbs.json b/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_12limbs.json
deleted file mode 100644
index 9775fc3f9..000000000
--- a/src/Specific/CurveParameters/solinas32_2e256m2e224p2e192p2e96m1_12limbs.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": [
- [
- 9,
- 8,
- 3,
- 11
- ],
- [
- 10,
- 9,
- 4,
- 0,
- 11,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3,
- 8
- ],
- [
- 10,
- 9,
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e256m2e32m977_12limbs.json b/src/Specific/CurveParameters/solinas32_2e256m2e32m977_12limbs.json
deleted file mode 100644
index 04c198b0a..000000000
--- a/src/Specific/CurveParameters/solinas32_2e256m2e32m977_12limbs.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": [
- [
- 0,
- 11
- ],
- [
- 1,
- 0,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11
- ],
- [
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "modulus": "2^256 - 2^32 - 977",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e256m2e32m977_13limbs.json b/src/Specific/CurveParameters/solinas32_2e256m2e32m977_13limbs.json
deleted file mode 100644
index 725b175e0..000000000
--- a/src/Specific/CurveParameters/solinas32_2e256m2e32m977_13limbs.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "base": "19 + 9/13",
- "bitwidth": 32,
- "carry_chains": [
- [
- 0,
- 12
- ],
- [
- 1,
- 0,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
- ],
- [
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,19,20,20,19,20,20,19,20,20,19}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,19,20,20,19,20,20,19,20,20,19}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "modulus": "2^256 - 2^32 - 977",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e266m3_10limbs.json b/src/Specific/CurveParameters/solinas32_2e266m3_10limbs.json
deleted file mode 100644
index cc6b92216..000000000
--- a/src/Specific/CurveParameters/solinas32_2e266m3_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26.6",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<266) - 3'",
- "modulus": "2^266 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e266m3_11limbs.json b/src/Specific/CurveParameters/solinas32_2e266m3_11limbs.json
deleted file mode 100644
index 2737bed39..000000000
--- a/src/Specific/CurveParameters/solinas32_2e266m3_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 2/11",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,25,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,25,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<266) - 3'",
- "modulus": "2^266 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e285m9_11limbs.json b/src/Specific/CurveParameters/solinas32_2e285m9_11limbs.json
deleted file mode 100644
index 5d586d87c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e285m9_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 10/11",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<285) - 9'",
- "modulus": "2^285 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e285m9_12limbs.json b/src/Specific/CurveParameters/solinas32_2e285m9_12limbs.json
deleted file mode 100644
index 0d5ecf0ae..000000000
--- a/src/Specific/CurveParameters/solinas32_2e285m9_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<285) - 9'",
- "modulus": "2^285 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e291m19_11limbs.json b/src/Specific/CurveParameters/solinas32_2e291m19_11limbs.json
deleted file mode 100644
index 66770235d..000000000
--- a/src/Specific/CurveParameters/solinas32_2e291m19_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26 + 5/11",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26,27,26,26}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26,27,26,26}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<291) - 19'",
- "modulus": "2^291 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e291m19_12limbs.json b/src/Specific/CurveParameters/solinas32_2e291m19_12limbs.json
deleted file mode 100644
index ab6448309..000000000
--- a/src/Specific/CurveParameters/solinas32_2e291m19_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.25",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<291) - 19'",
- "modulus": "2^291 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e321m9_12limbs.json b/src/Specific/CurveParameters/solinas32_2e321m9_12limbs.json
deleted file mode 100644
index 84e292b86..000000000
--- a/src/Specific/CurveParameters/solinas32_2e321m9_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,26,27,27,27,26,27,27,27,26}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,26,27,27,27,26,27,27,27,26}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<321) - 9'",
- "modulus": "2^321 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e321m9_13limbs.json b/src/Specific/CurveParameters/solinas32_2e321m9_13limbs.json
deleted file mode 100644
index 232d3c57b..000000000
--- a/src/Specific/CurveParameters/solinas32_2e321m9_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 9/13",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<321) - 9'",
- "modulus": "2^321 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e322m2e161m1_12limbs.json b/src/Specific/CurveParameters/solinas32_2e322m2e161m1_12limbs.json
deleted file mode 100644
index c36c16e41..000000000
--- a/src/Specific/CurveParameters/solinas32_2e322m2e161m1_12limbs.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "base": "26 + 5/6",
- "bitwidth": 32,
- "carry_chains": [
- [
- 5,
- 11
- ],
- [
- 6,
- 0,
- 7,
- 1,
- 8,
- 2,
- 9,
- 3,
- 10,
- 4,
- 11,
- 5
- ],
- [
- 6,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,26,27,27,27,27,27,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,26,27,27,27,27,27,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "goldilocks": true,
- "modulus": "2^322 - 2^161 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e322m2e161m1_14limbs.json b/src/Specific/CurveParameters/solinas32_2e322m2e161m1_14limbs.json
deleted file mode 100644
index 14c82367d..000000000
--- a/src/Specific/CurveParameters/solinas32_2e322m2e161m1_14limbs.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "base": "23",
- "bitwidth": 32,
- "carry_chains": [
- [
- 6,
- 13
- ],
- [
- 7,
- 0,
- 8,
- 1,
- 9,
- 2,
- 10,
- 3,
- 11,
- 4,
- 12,
- 5,
- 13,
- 6
- ],
- [
- 7,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "goldilocks": true,
- "modulus": "2^322 - 2^161 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "14"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e336m17_13limbs.json b/src/Specific/CurveParameters/solinas32_2e336m17_13limbs.json
deleted file mode 100644
index 19609d2ab..000000000
--- a/src/Specific/CurveParameters/solinas32_2e336m17_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 11/13",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 17'",
- "modulus": "2^336 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e336m17_14limbs.json b/src/Specific/CurveParameters/solinas32_2e336m17_14limbs.json
deleted file mode 100644
index 2d00e1328..000000000
--- a/src/Specific/CurveParameters/solinas32_2e336m17_14limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<336) - 17'",
- "modulus": "2^336 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "14"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e336m3_12limbs.json b/src/Specific/CurveParameters/solinas32_2e336m3_12limbs.json
deleted file mode 100644
index 0ff0570ed..000000000
--- a/src/Specific/CurveParameters/solinas32_2e336m3_12limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "28",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<336) - 3'",
- "modulus": "2^336 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "12"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e336m3_13limbs.json b/src/Specific/CurveParameters/solinas32_2e336m3_13limbs.json
deleted file mode 100644
index 0da0303d5..000000000
--- a/src/Specific/CurveParameters/solinas32_2e336m3_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 11/13",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 3'",
- "modulus": "2^336 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e338m15_13limbs.json b/src/Specific/CurveParameters/solinas32_2e338m15_13limbs.json
deleted file mode 100644
index 061fb521f..000000000
--- a/src/Specific/CurveParameters/solinas32_2e338m15_13limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<338) - 15'",
- "modulus": "2^338 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "13"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e338m15_14limbs.json b/src/Specific/CurveParameters/solinas32_2e338m15_14limbs.json
deleted file mode 100644
index 40721c0c5..000000000
--- a/src/Specific/CurveParameters/solinas32_2e338m15_14limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 1/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,24,24,25,24,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,24,24,25,24,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<338) - 15'",
- "modulus": "2^338 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "14"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e369m25_15limbs.json b/src/Specific/CurveParameters/solinas32_2e369m25_15limbs.json
deleted file mode 100644
index d4e0efe5d..000000000
--- a/src/Specific/CurveParameters/solinas32_2e369m25_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.6",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,24,25,25,24,25,24,25,25,24,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,24,25,25,24,25,24,25,25,24,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<369) - 25'",
- "modulus": "2^369 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e369m25_16limbs.json b/src/Specific/CurveParameters/solinas32_2e369m25_16limbs.json
deleted file mode 100644
index b1baa1cc6..000000000
--- a/src/Specific/CurveParameters/solinas32_2e369m25_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 1/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<369) - 25'",
- "modulus": "2^369 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e379m19_15limbs.json b/src/Specific/CurveParameters/solinas32_2e379m19_15limbs.json
deleted file mode 100644
index 8148a1fad..000000000
--- a/src/Specific/CurveParameters/solinas32_2e379m19_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 4/15",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25,25,26,25,25,25,26,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25,25,26,25,25,25,26,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<379) - 19'",
- "modulus": "2^379 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e379m19_16limbs.json b/src/Specific/CurveParameters/solinas32_2e379m19_16limbs.json
deleted file mode 100644
index 59b2baf40..000000000
--- a/src/Specific/CurveParameters/solinas32_2e379m19_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 11/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23,24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23,24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<379) - 19'",
- "modulus": "2^379 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e382m105_16limbs.json b/src/Specific/CurveParameters/solinas32_2e382m105_16limbs.json
deleted file mode 100644
index ef74f1084..000000000
--- a/src/Specific/CurveParameters/solinas32_2e382m105_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23.875",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<382) - 105'",
- "modulus": "2^382 - 105",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e382m105_17limbs.json b/src/Specific/CurveParameters/solinas32_2e382m105_17limbs.json
deleted file mode 100644
index 3b7bd97f0..000000000
--- a/src/Specific/CurveParameters/solinas32_2e382m105_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 8/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,22}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,22}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<382) - 105'",
- "modulus": "2^382 - 105",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e383m187_16limbs.json b/src/Specific/CurveParameters/solinas32_2e383m187_16limbs.json
deleted file mode 100644
index b19693868..000000000
--- a/src/Specific/CurveParameters/solinas32_2e383m187_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 15/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 187'",
- "modulus": "2^383 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e383m187_17limbs.json b/src/Specific/CurveParameters/solinas32_2e383m187_17limbs.json
deleted file mode 100644
index 433e1633e..000000000
--- a/src/Specific/CurveParameters/solinas32_2e383m187_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 9/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 187'",
- "modulus": "2^383 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e383m31_15limbs.json b/src/Specific/CurveParameters/solinas32_2e383m31_15limbs.json
deleted file mode 100644
index a07433384..000000000
--- a/src/Specific/CurveParameters/solinas32_2e383m31_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 8/15",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<383) - 31'",
- "modulus": "2^383 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e383m31_16limbs.json b/src/Specific/CurveParameters/solinas32_2e383m31_16limbs.json
deleted file mode 100644
index 2e29c09a4..000000000
--- a/src/Specific/CurveParameters/solinas32_2e383m31_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 15/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 31'",
- "modulus": "2^383 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e383m421_17limbs.json b/src/Specific/CurveParameters/solinas32_2e383m421_17limbs.json
deleted file mode 100644
index e406439ce..000000000
--- a/src/Specific/CurveParameters/solinas32_2e383m421_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 9/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 421'",
- "modulus": "2^383 - 421",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e383m421_18limbs.json b/src/Specific/CurveParameters/solinas32_2e383m421_18limbs.json
deleted file mode 100644
index 856e90744..000000000
--- a/src/Specific/CurveParameters/solinas32_2e383m421_18limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 5/18",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<383) - 421'",
- "modulus": "2^383 - 421",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_18limbs.json b/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_18limbs.json
deleted file mode 100644
index c7c3f1ef9..000000000
--- a/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_18limbs.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": [
- [
- 5,
- 3,
- 0,
- 17
- ],
- [
- 6,
- 4,
- 1,
- 0,
- 7,
- 5,
- 2,
- 8,
- 3,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17
- ],
- [
- 6,
- 4,
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_19limbs.json b/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_19limbs.json
deleted file mode 100644
index 237e12f46..000000000
--- a/src/Specific/CurveParameters/solinas32_2e384m2e128m2e96p2e32m1_19limbs.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "base": "20 + 4/19",
- "bitwidth": 32,
- "carry_chains": [
- [
- 5,
- 3,
- 0,
- 18
- ],
- [
- 6,
- 4,
- 1,
- 0,
- 7,
- 5,
- 2,
- 8,
- 3,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18
- ],
- [
- 6,
- 4,
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,21,20,20,20,20,21,20,20,20,20,21,20,20,20,20}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,21,20,20,20,20,21,20,20,20,20,21,20,20,20,20}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "19"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e384m317_17limbs.json b/src/Specific/CurveParameters/solinas32_2e384m317_17limbs.json
deleted file mode 100644
index 551be7cdb..000000000
--- a/src/Specific/CurveParameters/solinas32_2e384m317_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 10/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22,23,23,22,23,22,23,22}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22,23,23,22,23,22,23,22}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<384) - 317'",
- "modulus": "2^384 - 317",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e384m317_18limbs.json b/src/Specific/CurveParameters/solinas32_2e384m317_18limbs.json
deleted file mode 100644
index 8428d1606..000000000
--- a/src/Specific/CurveParameters/solinas32_2e384m317_18limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - 317'",
- "modulus": "2^384 - 317",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e389m21_15limbs.json b/src/Specific/CurveParameters/solinas32_2e389m21_15limbs.json
deleted file mode 100644
index e697307d8..000000000
--- a/src/Specific/CurveParameters/solinas32_2e389m21_15limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 14/15",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<389) - 21'",
- "modulus": "2^389 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "15"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e389m21_16limbs.json b/src/Specific/CurveParameters/solinas32_2e389m21_16limbs.json
deleted file mode 100644
index 48f1f8ea8..000000000
--- a/src/Specific/CurveParameters/solinas32_2e389m21_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 5/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<389) - 21'",
- "modulus": "2^389 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e401m31_16limbs.json b/src/Specific/CurveParameters/solinas32_2e401m31_16limbs.json
deleted file mode 100644
index bd2eaa3d0..000000000
--- a/src/Specific/CurveParameters/solinas32_2e401m31_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 1/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<401) - 31'",
- "modulus": "2^401 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e401m31_17limbs.json b/src/Specific/CurveParameters/solinas32_2e401m31_17limbs.json
deleted file mode 100644
index b7348cf11..000000000
--- a/src/Specific/CurveParameters/solinas32_2e401m31_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 10/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<401) - 31'",
- "modulus": "2^401 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e413m21_16limbs.json b/src/Specific/CurveParameters/solinas32_2e413m21_16limbs.json
deleted file mode 100644
index 2584aacb2..000000000
--- a/src/Specific/CurveParameters/solinas32_2e413m21_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 13/16",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,25,26,26,26,26,25,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,25,26,26,26,26,25,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<413) - 21'",
- "modulus": "2^413 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e413m21_17limbs.json b/src/Specific/CurveParameters/solinas32_2e413m21_17limbs.json
deleted file mode 100644
index 51c85d13f..000000000
--- a/src/Specific/CurveParameters/solinas32_2e413m21_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 5/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<413) - 21'",
- "modulus": "2^413 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e414m17_16limbs.json b/src/Specific/CurveParameters/solinas32_2e414m17_16limbs.json
deleted file mode 100644
index 10ca0b9f2..000000000
--- a/src/Specific/CurveParameters/solinas32_2e414m17_16limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.875",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,25,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,25,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<414) - 17'",
- "modulus": "2^414 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e414m17_17limbs.json b/src/Specific/CurveParameters/solinas32_2e414m17_17limbs.json
deleted file mode 100644
index 207416e45..000000000
--- a/src/Specific/CurveParameters/solinas32_2e414m17_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 6/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,24,25,24,24,25,24,24,25,24,24}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,24,25,24,24,25,24,24,25,24,24}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<414) - 17'",
- "modulus": "2^414 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e416m2e208m1_16limbs.json b/src/Specific/CurveParameters/solinas32_2e416m2e208m1_16limbs.json
deleted file mode 100644
index 51660d8fc..000000000
--- a/src/Specific/CurveParameters/solinas32_2e416m2e208m1_16limbs.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "base": "26",
- "bitwidth": 32,
- "carry_chains": [
- [
- 7,
- 15
- ],
- [
- 8,
- 0,
- 9,
- 1,
- 10,
- 2,
- 11,
- 3,
- 12,
- 4,
- 13,
- 5,
- 14,
- 6,
- 15,
- 7
- ],
- [
- 8,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "goldilocks": true,
- "modulus": "2^416 - 2^208 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e416m2e208m1_18limbs.json b/src/Specific/CurveParameters/solinas32_2e416m2e208m1_18limbs.json
deleted file mode 100644
index c66ae6bc0..000000000
--- a/src/Specific/CurveParameters/solinas32_2e416m2e208m1_18limbs.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "base": "23 + 1/9",
- "bitwidth": 32,
- "carry_chains": [
- [
- 8,
- 17
- ],
- [
- 9,
- 0,
- 10,
- 1,
- 11,
- 2,
- 12,
- 3,
- 13,
- 4,
- 14,
- 5,
- 15,
- 6,
- 16,
- 7,
- 17,
- 8
- ],
- [
- 9,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,24,23,23,23,23,23,23,23,23}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,24,23,23,23,23,23,23,23,23}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "goldilocks": true,
- "modulus": "2^416 - 2^208 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e444m17_17limbs.json b/src/Specific/CurveParameters/solinas32_2e444m17_17limbs.json
deleted file mode 100644
index f3d0d2901..000000000
--- a/src/Specific/CurveParameters/solinas32_2e444m17_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26 + 2/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='{27,26,26,26,26,26,26,26,27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "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='{27,26,26,26,26,26,26,26,27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<444) - 17'",
- "modulus": "2^444 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e444m17_18limbs.json b/src/Specific/CurveParameters/solinas32_2e444m17_18limbs.json
deleted file mode 100644
index 94a29c93b..000000000
--- a/src/Specific/CurveParameters/solinas32_2e444m17_18limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 2/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='{25,25,24,25,25,24,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "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='{25,25,24,25,25,24,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<444) - 17'",
- "modulus": "2^444 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e448m2e224m1_16limbs.json b/src/Specific/CurveParameters/solinas32_2e448m2e224m1_16limbs.json
deleted file mode 100644
index 11046edf1..000000000
--- a/src/Specific/CurveParameters/solinas32_2e448m2e224m1_16limbs.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "base": "28",
- "bitwidth": 32,
- "carry_chains": [
- [
- 7,
- 15
- ],
- [
- 8,
- 0,
- 9,
- 1,
- 10,
- 2,
- 11,
- 3,
- 12,
- 4,
- 13,
- 5,
- 14,
- 6,
- 15,
- 7
- ],
- [
- 8,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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'",
- "compilerxx": "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'",
- "goldilocks": true,
- "modulus": "2^448 - 2^224 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "16"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e448m2e224m1_18limbs.json b/src/Specific/CurveParameters/solinas32_2e448m2e224m1_18limbs.json
deleted file mode 100644
index 7db3ab28c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e448m2e224m1_18limbs.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "base": "24 + 8/9",
- "bitwidth": 32,
- "carry_chains": [
- [
- 8,
- 17
- ],
- [
- 9,
- 0,
- 10,
- 1,
- 11,
- 2,
- 12,
- 3,
- 13,
- 4,
- 14,
- 5,
- 15,
- 6,
- 16,
- 7,
- 17,
- 8
- ],
- [
- 9,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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='{25,25,25,25,25,25,25,25,24,25,25,25,25,25,25,25,25,24}' -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='18' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "compilerxx": "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='{25,25,25,25,25,25,25,25,24,25,25,25,25,25,25,25,25,24}' -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='18' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "goldilocks": true,
- "modulus": "2^448 - 2^224 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e450m2e225m1_18limbs.json b/src/Specific/CurveParameters/solinas32_2e450m2e225m1_18limbs.json
deleted file mode 100644
index bcc34ee60..000000000
--- a/src/Specific/CurveParameters/solinas32_2e450m2e225m1_18limbs.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "base": "25",
- "bitwidth": 32,
- "carry_chains": [
- [
- 8,
- 17
- ],
- [
- 9,
- 0,
- 10,
- 1,
- 11,
- 2,
- 12,
- 3,
- 13,
- 4,
- 14,
- 5,
- 15,
- 6,
- 16,
- 7,
- 17,
- 8
- ],
- [
- 9,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "goldilocks": true,
- "modulus": "2^450 - 2^225 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e450m2e225m1_20limbs.json b/src/Specific/CurveParameters/solinas32_2e450m2e225m1_20limbs.json
deleted file mode 100644
index 14400f126..000000000
--- a/src/Specific/CurveParameters/solinas32_2e450m2e225m1_20limbs.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "base": "22.5",
- "bitwidth": 32,
- "carry_chains": [
- [
- 9,
- 19
- ],
- [
- 10,
- 0,
- 11,
- 1,
- 12,
- 2,
- 13,
- 3,
- 14,
- 4,
- 15,
- 5,
- 16,
- 6,
- 17,
- 7,
- 18,
- 8,
- 19,
- 9
- ],
- [
- 10,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "goldilocks": true,
- "modulus": "2^450 - 2^225 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "20"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e452m3_17limbs.json b/src/Specific/CurveParameters/solinas32_2e452m3_17limbs.json
deleted file mode 100644
index ee5066166..000000000
--- a/src/Specific/CurveParameters/solinas32_2e452m3_17limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26 + 10/17",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26,27,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26,27,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<452) - 3'",
- "modulus": "2^452 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "17"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e452m3_18limbs.json b/src/Specific/CurveParameters/solinas32_2e452m3_18limbs.json
deleted file mode 100644
index 6633af1a7..000000000
--- a/src/Specific/CurveParameters/solinas32_2e452m3_18limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 1/9",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<452) - 3'",
- "modulus": "2^452 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e468m17_18limbs.json b/src/Specific/CurveParameters/solinas32_2e468m17_18limbs.json
deleted file mode 100644
index 4e2e536b6..000000000
--- a/src/Specific/CurveParameters/solinas32_2e468m17_18limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<468) - 17'",
- "modulus": "2^468 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e468m17_19limbs.json b/src/Specific/CurveParameters/solinas32_2e468m17_19limbs.json
deleted file mode 100644
index affc56260..000000000
--- a/src/Specific/CurveParameters/solinas32_2e468m17_19limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 12/19",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,25,24,25,25,24,25,24,25,25,24,25,25,24,25,24}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,25,24,25,25,24,25,24,25,25,24,25,25,24,25,24}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<468) - 17'",
- "modulus": "2^468 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "19"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e480m2e240m1_18limbs.json b/src/Specific/CurveParameters/solinas32_2e480m2e240m1_18limbs.json
deleted file mode 100644
index 1bd1432d9..000000000
--- a/src/Specific/CurveParameters/solinas32_2e480m2e240m1_18limbs.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "base": "26 + 2/3",
- "bitwidth": 32,
- "carry_chains": [
- [
- 8,
- 17
- ],
- [
- 9,
- 0,
- 10,
- 1,
- 11,
- 2,
- 12,
- 3,
- 13,
- 4,
- 14,
- 5,
- 15,
- 6,
- 16,
- 7,
- 17,
- 8
- ],
- [
- 9,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,27,26,27,27,26,27,27,26,27,27,26}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,27,26,27,27,26,27,27,26,27,27,26}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "goldilocks": true,
- "modulus": "2^480 - 2^240 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "18"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e480m2e240m1_20limbs.json b/src/Specific/CurveParameters/solinas32_2e480m2e240m1_20limbs.json
deleted file mode 100644
index 45c027737..000000000
--- a/src/Specific/CurveParameters/solinas32_2e480m2e240m1_20limbs.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "base": "24",
- "bitwidth": 32,
- "carry_chains": [
- [
- 9,
- 19
- ],
- [
- 10,
- 0,
- 11,
- 1,
- 12,
- 2,
- 13,
- 3,
- 14,
- 4,
- 15,
- 5,
- 16,
- 6,
- 17,
- 7,
- 18,
- 8,
- 19,
- 9
- ],
- [
- 10,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "goldilocks": true,
- "modulus": "2^480 - 2^240 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "20"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e488m17_19limbs.json b/src/Specific/CurveParameters/solinas32_2e488m17_19limbs.json
deleted file mode 100644
index 200bd4366..000000000
--- a/src/Specific/CurveParameters/solinas32_2e488m17_19limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 13/19",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<488) - 17'",
- "modulus": "2^488 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "19"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e488m17_20limbs.json b/src/Specific/CurveParameters/solinas32_2e488m17_20limbs.json
deleted file mode 100644
index 94d847b0c..000000000
--- a/src/Specific/CurveParameters/solinas32_2e488m17_20limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.4",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,25,24,24,25,24,25,24,24,25,24,25,24,24}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,25,24,24,25,24,25,24,24,25,24,25,24,24}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<488) - 17'",
- "modulus": "2^488 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "20"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e489m21_19limbs.json b/src/Specific/CurveParameters/solinas32_2e489m21_19limbs.json
deleted file mode 100644
index 63404b1f2..000000000
--- a/src/Specific/CurveParameters/solinas32_2e489m21_19limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25 + 14/19",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25,26,26,26,25,26,26,26,25,26,26,25}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25,26,26,26,25,26,26,26,25,26,26,25}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<489) - 21'",
- "modulus": "2^489 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "19"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e489m21_20limbs.json b/src/Specific/CurveParameters/solinas32_2e489m21_20limbs.json
deleted file mode 100644
index a374c15b8..000000000
--- a/src/Specific/CurveParameters/solinas32_2e489m21_20limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24 + 9/20",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24,25,24,24,25,24,25,24,25,24,25,24,24}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24,25,24,24,25,24,25,24,25,24,25,24,24}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<489) - 21'",
- "modulus": "2^489 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "20"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e495m31_20limbs.json b/src/Specific/CurveParameters/solinas32_2e495m31_20limbs.json
deleted file mode 100644
index 3f994dacf..000000000
--- a/src/Specific/CurveParameters/solinas32_2e495m31_20limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "24.75",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<495) - 31'",
- "modulus": "2^495 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "20"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e495m31_21limbs.json b/src/Specific/CurveParameters/solinas32_2e495m31_21limbs.json
deleted file mode 100644
index f0ad2cfdb..000000000
--- a/src/Specific/CurveParameters/solinas32_2e495m31_21limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 4/7",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,24,23,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='21' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,24,23,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='21' -Dq_mpz='(1_mpz<<495) - 31'",
- "modulus": "2^495 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "21"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e511m187_22limbs.json b/src/Specific/CurveParameters/solinas32_2e511m187_22limbs.json
deleted file mode 100644
index 7af745c9a..000000000
--- a/src/Specific/CurveParameters/solinas32_2e511m187_22limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "23 + 5/22",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,24,23,23,23,24,23,23,23,23,24,23,23,23,24,23,23,23,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='22' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,24,23,23,23,24,23,23,23,23,24,23,23,23,24,23,23,23,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='22' -Dq_mpz='(1_mpz<<511) - 187'",
- "modulus": "2^511 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "22"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e511m187_23limbs.json b/src/Specific/CurveParameters/solinas32_2e511m187_23limbs.json
deleted file mode 100644
index b24c65283..000000000
--- a/src/Specific/CurveParameters/solinas32_2e511m187_23limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 5/23",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 187'",
- "modulus": "2^511 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "23"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e511m481_23limbs.json b/src/Specific/CurveParameters/solinas32_2e511m481_23limbs.json
deleted file mode 100644
index 384d3c547..000000000
--- a/src/Specific/CurveParameters/solinas32_2e511m481_23limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "22 + 5/23",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 481'",
- "modulus": "2^511 - 481",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "23"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e511m481_24limbs.json b/src/Specific/CurveParameters/solinas32_2e511m481_24limbs.json
deleted file mode 100644
index 07083a778..000000000
--- a/src/Specific/CurveParameters/solinas32_2e511m481_24limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 7/24",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<511) - 481'",
- "modulus": "2^511 - 481",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "24"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e512m569_24limbs.json b/src/Specific/CurveParameters/solinas32_2e512m569_24limbs.json
deleted file mode 100644
index e01a909c6..000000000
--- a/src/Specific/CurveParameters/solinas32_2e512m569_24limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "21 + 1/3",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<512) - 569'",
- "modulus": "2^512 - 569",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "24"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e512m569_25limbs.json b/src/Specific/CurveParameters/solinas32_2e512m569_25limbs.json
deleted file mode 100644
index 26e3b15f0..000000000
--- a/src/Specific/CurveParameters/solinas32_2e512m569_25limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "20 + 12/25",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,20}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='25' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,20}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='25' -Dq_mpz='(1_mpz<<512) - 569'",
- "modulus": "2^512 - 569",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "25"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e521m1_19limbs.json b/src/Specific/CurveParameters/solinas32_2e521m1_19limbs.json
deleted file mode 100644
index d386004b4..000000000
--- a/src/Specific/CurveParameters/solinas32_2e521m1_19limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "27 + 8/19",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,28,27,27,28,27,28,27,28,27,27,28,27,28,27,27}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<521) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,28,27,27,28,27,28,27,28,27,27,28,27,28,27,27}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<521) - 1'",
- "modulus": "2^521 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "19"
-}
diff --git a/src/Specific/CurveParameters/solinas32_2e521m1_20limbs.json b/src/Specific/CurveParameters/solinas32_2e521m1_20limbs.json
deleted file mode 100644
index 6ec07b3b6..000000000
--- a/src/Specific/CurveParameters/solinas32_2e521m1_20limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "26 + 1/20",
- "bitwidth": 32,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<521) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<521) - 1'",
- "modulus": "2^521 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "20"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e127m1_3limbs.json b/src/Specific/CurveParameters/solinas64_2e127m1_3limbs.json
deleted file mode 100644
index 5cf4244f2..000000000
--- a/src/Specific/CurveParameters/solinas64_2e127m1_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<127) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<127) - 1'",
- "modulus": "2^127 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e129m25_3limbs.json b/src/Specific/CurveParameters/solinas64_2e129m25_3limbs.json
deleted file mode 100644
index addd3ebff..000000000
--- a/src/Specific/CurveParameters/solinas64_2e129m25_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "43",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25'",
- "modulus": "2^129 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e129m25_4limbs.json b/src/Specific/CurveParameters/solinas64_2e129m25_4limbs.json
deleted file mode 100644
index 2d5425445..000000000
--- a/src/Specific/CurveParameters/solinas64_2e129m25_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<129) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<129) - 25'",
- "modulus": "2^129 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e130m5_3limbs.json b/src/Specific/CurveParameters/solinas64_2e130m5_3limbs.json
deleted file mode 100644
index d2595690b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e130m5_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "43 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5'",
- "modulus": "2^130 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e130m5_4limbs.json b/src/Specific/CurveParameters/solinas64_2e130m5_4limbs.json
deleted file mode 100644
index e7d2c4998..000000000
--- a/src/Specific/CurveParameters/solinas64_2e130m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "32.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,33,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<130) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,33,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<130) - 5'",
- "modulus": "2^130 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e137m13_3limbs.json b/src/Specific/CurveParameters/solinas64_2e137m13_3limbs.json
deleted file mode 100644
index 2da50025e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e137m13_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "45 + 2/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,45}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,45}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13'",
- "modulus": "2^137 - 13",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e137m13_4limbs.json b/src/Specific/CurveParameters/solinas64_2e137m13_4limbs.json
deleted file mode 100644
index 1704a8552..000000000
--- a/src/Specific/CurveParameters/solinas64_2e137m13_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "34.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<137) - 13'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<137) - 13'",
- "modulus": "2^137 - 13",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e140m27_3limbs.json b/src/Specific/CurveParameters/solinas64_2e140m27_3limbs.json
deleted file mode 100644
index 16db9692e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e140m27_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46 + 2/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,46}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,46}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27'",
- "modulus": "2^140 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e140m27_4limbs.json b/src/Specific/CurveParameters/solinas64_2e140m27_4limbs.json
deleted file mode 100644
index afb913748..000000000
--- a/src/Specific/CurveParameters/solinas64_2e140m27_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "35",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<140) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<140) - 27'",
- "modulus": "2^140 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e141m9_3limbs.json b/src/Specific/CurveParameters/solinas64_2e141m9_3limbs.json
deleted file mode 100644
index ae0f4204e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e141m9_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9'",
- "modulus": "2^141 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e141m9_4limbs.json b/src/Specific/CurveParameters/solinas64_2e141m9_4limbs.json
deleted file mode 100644
index 22a8bebfa..000000000
--- a/src/Specific/CurveParameters/solinas64_2e141m9_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "35.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{36,35,35,35}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<141) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{36,35,35,35}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<141) - 9'",
- "modulus": "2^141 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e150m3_3limbs.json b/src/Specific/CurveParameters/solinas64_2e150m3_3limbs.json
deleted file mode 100644
index f767a8770..000000000
--- a/src/Specific/CurveParameters/solinas64_2e150m3_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "50",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3'",
- "modulus": "2^150 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e150m3_4limbs.json b/src/Specific/CurveParameters/solinas64_2e150m3_4limbs.json
deleted file mode 100644
index ebce996bb..000000000
--- a/src/Specific/CurveParameters/solinas64_2e150m3_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "37.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 3'",
- "modulus": "2^150 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e150m5_3limbs.json b/src/Specific/CurveParameters/solinas64_2e150m5_3limbs.json
deleted file mode 100644
index 119e33baf..000000000
--- a/src/Specific/CurveParameters/solinas64_2e150m5_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "50",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5'",
- "modulus": "2^150 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e150m5_4limbs.json b/src/Specific/CurveParameters/solinas64_2e150m5_4limbs.json
deleted file mode 100644
index 771026afe..000000000
--- a/src/Specific/CurveParameters/solinas64_2e150m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "37.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 5'",
- "modulus": "2^150 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e152m17_3limbs.json b/src/Specific/CurveParameters/solinas64_2e152m17_3limbs.json
deleted file mode 100644
index 60e945d28..000000000
--- a/src/Specific/CurveParameters/solinas64_2e152m17_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "50 + 2/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,50}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,50}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17'",
- "modulus": "2^152 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e152m17_4limbs.json b/src/Specific/CurveParameters/solinas64_2e152m17_4limbs.json
deleted file mode 100644
index ba25adf75..000000000
--- a/src/Specific/CurveParameters/solinas64_2e152m17_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "38",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<152) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<152) - 17'",
- "modulus": "2^152 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e158m15_3limbs.json b/src/Specific/CurveParameters/solinas64_2e158m15_3limbs.json
deleted file mode 100644
index 0141f076f..000000000
--- a/src/Specific/CurveParameters/solinas64_2e158m15_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "52 + 2/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,52}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,52}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15'",
- "modulus": "2^158 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e158m15_4limbs.json b/src/Specific/CurveParameters/solinas64_2e158m15_4limbs.json
deleted file mode 100644
index 3df2c2819..000000000
--- a/src/Specific/CurveParameters/solinas64_2e158m15_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "39.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<158) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<158) - 15'",
- "modulus": "2^158 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e165m25_3limbs.json b/src/Specific/CurveParameters/solinas64_2e165m25_3limbs.json
deleted file mode 100644
index 338e4a32d..000000000
--- a/src/Specific/CurveParameters/solinas64_2e165m25_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25'",
- "modulus": "2^165 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e165m25_4limbs.json b/src/Specific/CurveParameters/solinas64_2e165m25_4limbs.json
deleted file mode 100644
index 76667a97b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e165m25_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "41.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<165) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<165) - 25'",
- "modulus": "2^165 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e166m5_3limbs.json b/src/Specific/CurveParameters/solinas64_2e166m5_3limbs.json
deleted file mode 100644
index 80e6af3a2..000000000
--- a/src/Specific/CurveParameters/solinas64_2e166m5_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5'",
- "modulus": "2^166 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e166m5_4limbs.json b/src/Specific/CurveParameters/solinas64_2e166m5_4limbs.json
deleted file mode 100644
index 25fa27866..000000000
--- a/src/Specific/CurveParameters/solinas64_2e166m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "41.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,42,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<166) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,42,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<166) - 5'",
- "modulus": "2^166 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e171m19_3limbs.json b/src/Specific/CurveParameters/solinas64_2e171m19_3limbs.json
deleted file mode 100644
index d583daa4b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e171m19_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "57",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19'",
- "modulus": "2^171 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e171m19_4limbs.json b/src/Specific/CurveParameters/solinas64_2e171m19_4limbs.json
deleted file mode 100644
index 10be98269..000000000
--- a/src/Specific/CurveParameters/solinas64_2e171m19_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42.75",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43,42}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<171) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43,42}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<171) - 19'",
- "modulus": "2^171 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e174m17_3limbs.json b/src/Specific/CurveParameters/solinas64_2e174m17_3limbs.json
deleted file mode 100644
index ef20cda6c..000000000
--- a/src/Specific/CurveParameters/solinas64_2e174m17_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "58",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17'",
- "modulus": "2^174 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e174m17_4limbs.json b/src/Specific/CurveParameters/solinas64_2e174m17_4limbs.json
deleted file mode 100644
index 803863fd7..000000000
--- a/src/Specific/CurveParameters/solinas64_2e174m17_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "43.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 17'",
- "modulus": "2^174 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e174m3_3limbs.json b/src/Specific/CurveParameters/solinas64_2e174m3_3limbs.json
deleted file mode 100644
index 002380242..000000000
--- a/src/Specific/CurveParameters/solinas64_2e174m3_3limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "58",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3'",
- "modulus": "2^174 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "3"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e174m3_4limbs.json b/src/Specific/CurveParameters/solinas64_2e174m3_4limbs.json
deleted file mode 100644
index 593b3c3ba..000000000
--- a/src/Specific/CurveParameters/solinas64_2e174m3_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "43.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 3'",
- "modulus": "2^174 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e189m25_4limbs.json b/src/Specific/CurveParameters/solinas64_2e189m25_4limbs.json
deleted file mode 100644
index 7d2f69ef4..000000000
--- a/src/Specific/CurveParameters/solinas64_2e189m25_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<189) - 25'",
- "modulus": "2^189 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e189m25_5limbs.json b/src/Specific/CurveParameters/solinas64_2e189m25_5limbs.json
deleted file mode 100644
index 1fbe696bd..000000000
--- a/src/Specific/CurveParameters/solinas64_2e189m25_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "37.8",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,37}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<189) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,37}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<189) - 25'",
- "modulus": "2^189 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e190m11_4limbs.json b/src/Specific/CurveParameters/solinas64_2e190m11_4limbs.json
deleted file mode 100644
index 3aa985dae..000000000
--- a/src/Specific/CurveParameters/solinas64_2e190m11_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<190) - 11'",
- "modulus": "2^190 - 11",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e190m11_5limbs.json b/src/Specific/CurveParameters/solinas64_2e190m11_5limbs.json
deleted file mode 100644
index 9e57fe9e2..000000000
--- a/src/Specific/CurveParameters/solinas64_2e190m11_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "38",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<190) - 11'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<190) - 11'",
- "modulus": "2^190 - 11",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e191m19_4limbs.json b/src/Specific/CurveParameters/solinas64_2e191m19_4limbs.json
deleted file mode 100644
index 12f57cd6a..000000000
--- a/src/Specific/CurveParameters/solinas64_2e191m19_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.75",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<191) - 19'",
- "modulus": "2^191 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e191m19_5limbs.json b/src/Specific/CurveParameters/solinas64_2e191m19_5limbs.json
deleted file mode 100644
index 669b48bb7..000000000
--- a/src/Specific/CurveParameters/solinas64_2e191m19_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "38.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<191) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<191) - 19'",
- "modulus": "2^191 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e192m2e64m1_4limbs.json b/src/Specific/CurveParameters/solinas64_2e192m2e64m1_4limbs.json
deleted file mode 100644
index bb3378fd8..000000000
--- a/src/Specific/CurveParameters/solinas64_2e192m2e64m1_4limbs.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "base": "48",
- "bitwidth": 64,
- "carry_chains": [
- [
- 0,
- 3
- ],
- [
- 1,
- 0,
- 2,
- 3
- ],
- [
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "modulus": "2^192 - 2^64 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e192m2e64m1_5limbs.json b/src/Specific/CurveParameters/solinas64_2e192m2e64m1_5limbs.json
deleted file mode 100644
index b2beb4269..000000000
--- a/src/Specific/CurveParameters/solinas64_2e192m2e64m1_5limbs.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "base": "38.4",
- "bitwidth": 64,
- "carry_chains": [
- [
- 0,
- 4
- ],
- [
- 1,
- 0,
- 2,
- 3,
- 4
- ],
- [
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1'",
- "modulus": "2^192 - 2^64 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e194m33_4limbs.json b/src/Specific/CurveParameters/solinas64_2e194m33_4limbs.json
deleted file mode 100644
index 9d1531d90..000000000
--- a/src/Specific/CurveParameters/solinas64_2e194m33_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33'",
- "modulus": "2^194 - 33",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e194m33_5limbs.json b/src/Specific/CurveParameters/solinas64_2e194m33_5limbs.json
deleted file mode 100644
index 502ca9428..000000000
--- a/src/Specific/CurveParameters/solinas64_2e194m33_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "38.8",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,39,39,39,38}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<194) - 33'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,39,39,39,38}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<194) - 33'",
- "modulus": "2^194 - 33",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e196m15_4limbs.json b/src/Specific/CurveParameters/solinas64_2e196m15_4limbs.json
deleted file mode 100644
index 2a5cea46f..000000000
--- a/src/Specific/CurveParameters/solinas64_2e196m15_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "49",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15'",
- "modulus": "2^196 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e196m15_5limbs.json b/src/Specific/CurveParameters/solinas64_2e196m15_5limbs.json
deleted file mode 100644
index b2cfd9bf0..000000000
--- a/src/Specific/CurveParameters/solinas64_2e196m15_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "39.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,39,39,39}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<196) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,39,39,39}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<196) - 15'",
- "modulus": "2^196 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e198m17_4limbs.json b/src/Specific/CurveParameters/solinas64_2e198m17_4limbs.json
deleted file mode 100644
index 309d5acef..000000000
--- a/src/Specific/CurveParameters/solinas64_2e198m17_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "49.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17'",
- "modulus": "2^198 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e198m17_5limbs.json b/src/Specific/CurveParameters/solinas64_2e198m17_5limbs.json
deleted file mode 100644
index f2705be23..000000000
--- a/src/Specific/CurveParameters/solinas64_2e198m17_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "39.6",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<198) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<198) - 17'",
- "modulus": "2^198 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e206m5_4limbs.json b/src/Specific/CurveParameters/solinas64_2e206m5_4limbs.json
deleted file mode 100644
index ff4bb0d2b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e206m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5'",
- "modulus": "2^206 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e206m5_5limbs.json b/src/Specific/CurveParameters/solinas64_2e206m5_5limbs.json
deleted file mode 100644
index e32d6a296..000000000
--- a/src/Specific/CurveParameters/solinas64_2e206m5_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "41.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<206) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<206) - 5'",
- "modulus": "2^206 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e212m29_4limbs.json b/src/Specific/CurveParameters/solinas64_2e212m29_4limbs.json
deleted file mode 100644
index 989417be6..000000000
--- a/src/Specific/CurveParameters/solinas64_2e212m29_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "53",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29'",
- "modulus": "2^212 - 29",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e212m29_5limbs.json b/src/Specific/CurveParameters/solinas64_2e212m29_5limbs.json
deleted file mode 100644
index 746563084..000000000
--- a/src/Specific/CurveParameters/solinas64_2e212m29_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42.4",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,42}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<212) - 29'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,42}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<212) - 29'",
- "modulus": "2^212 - 29",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e213m3_4limbs.json b/src/Specific/CurveParameters/solinas64_2e213m3_4limbs.json
deleted file mode 100644
index 9032f4ea6..000000000
--- a/src/Specific/CurveParameters/solinas64_2e213m3_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "53.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3'",
- "modulus": "2^213 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e213m3_5limbs.json b/src/Specific/CurveParameters/solinas64_2e213m3_5limbs.json
deleted file mode 100644
index 0a0a6cb1a..000000000
--- a/src/Specific/CurveParameters/solinas64_2e213m3_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42.6",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,42}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<213) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,42}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<213) - 3'",
- "modulus": "2^213 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e216m2e108m1_4limbs.json b/src/Specific/CurveParameters/solinas64_2e216m2e108m1_4limbs.json
deleted file mode 100644
index f7c4d2de7..000000000
--- a/src/Specific/CurveParameters/solinas64_2e216m2e108m1_4limbs.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "base": "54",
- "bitwidth": 64,
- "carry_chains": [
- [
- 1,
- 3
- ],
- [
- 2,
- 0,
- 3,
- 1
- ],
- [
- 2,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "goldilocks": true,
- "modulus": "2^216 - 2^108 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e216m2e108m1_5limbs.json b/src/Specific/CurveParameters/solinas64_2e216m2e108m1_5limbs.json
deleted file mode 100644
index 26a824cbf..000000000
--- a/src/Specific/CurveParameters/solinas64_2e216m2e108m1_5limbs.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "base": "43.2",
- "bitwidth": 64,
- "carry_chains": [
- [
- 1,
- 4
- ],
- [
- 2,
- 0,
- 3,
- 1,
- 4
- ],
- [
- 2,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43,43,43}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43,43,43}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1'",
- "goldilocks": true,
- "modulus": "2^216 - 2^108 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e221m3_4limbs.json b/src/Specific/CurveParameters/solinas64_2e221m3_4limbs.json
deleted file mode 100644
index ca26cc779..000000000
--- a/src/Specific/CurveParameters/solinas64_2e221m3_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55.25",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3'",
- "modulus": "2^221 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e221m3_5limbs.json b/src/Specific/CurveParameters/solinas64_2e221m3_5limbs.json
deleted file mode 100644
index 23e532057..000000000
--- a/src/Specific/CurveParameters/solinas64_2e221m3_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "44.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{45,44,44,44,44}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<221) - 3'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{45,44,44,44,44}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<221) - 3'",
- "modulus": "2^221 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e222m117_4limbs.json b/src/Specific/CurveParameters/solinas64_2e222m117_4limbs.json
deleted file mode 100644
index a7a4c058b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e222m117_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117'",
- "modulus": "2^222 - 117",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e222m117_5limbs.json b/src/Specific/CurveParameters/solinas64_2e222m117_5limbs.json
deleted file mode 100644
index 25484715f..000000000
--- a/src/Specific/CurveParameters/solinas64_2e222m117_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "44.4",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{45,44,45,44,44}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<222) - 117'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{45,44,45,44,44}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<222) - 117'",
- "modulus": "2^222 - 117",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e224m2e96p1_5limbs.json b/src/Specific/CurveParameters/solinas64_2e224m2e96p1_5limbs.json
deleted file mode 100644
index 0f37dfe74..000000000
--- a/src/Specific/CurveParameters/solinas64_2e224m2e96p1_5limbs.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "base": "44.8",
- "bitwidth": 64,
- "carry_chains": [
- [
- 1,
- 4
- ],
- [
- 2,
- 0,
- 3,
- 1,
- 4
- ],
- [
- 2,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44}' -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='5' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44}' -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='5' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "modulus": "2^224 - 2^96 + 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e224m2e96p1_6limbs.json b/src/Specific/CurveParameters/solinas64_2e224m2e96p1_6limbs.json
deleted file mode 100644
index f4f749ba9..000000000
--- a/src/Specific/CurveParameters/solinas64_2e224m2e96p1_6limbs.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "base": "37 + 1/3",
- "bitwidth": 64,
- "carry_chains": [
- [
- 1,
- 5
- ],
- [
- 2,
- 0,
- 3,
- 1,
- 4,
- 5
- ],
- [
- 2,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{38,37,37,38,37,37}' -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='6' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{38,37,37,38,37,37}' -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='6' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1'",
- "modulus": "2^224 - 2^96 + 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e226m5_4limbs.json b/src/Specific/CurveParameters/solinas64_2e226m5_4limbs.json
deleted file mode 100644
index e7a504fd3..000000000
--- a/src/Specific/CurveParameters/solinas64_2e226m5_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "56.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5'",
- "modulus": "2^226 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e226m5_5limbs.json b/src/Specific/CurveParameters/solinas64_2e226m5_5limbs.json
deleted file mode 100644
index 6e887a1c4..000000000
--- a/src/Specific/CurveParameters/solinas64_2e226m5_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "45.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<226) - 5'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<226) - 5'",
- "modulus": "2^226 - 5",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e230m27_4limbs.json b/src/Specific/CurveParameters/solinas64_2e230m27_4limbs.json
deleted file mode 100644
index 9321d5f73..000000000
--- a/src/Specific/CurveParameters/solinas64_2e230m27_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "57.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27'",
- "modulus": "2^230 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e230m27_5limbs.json b/src/Specific/CurveParameters/solinas64_2e230m27_5limbs.json
deleted file mode 100644
index f323195b7..000000000
--- a/src/Specific/CurveParameters/solinas64_2e230m27_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<230) - 27'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<230) - 27'",
- "modulus": "2^230 - 27",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e235m15_4limbs.json b/src/Specific/CurveParameters/solinas64_2e235m15_4limbs.json
deleted file mode 100644
index aa3b552af..000000000
--- a/src/Specific/CurveParameters/solinas64_2e235m15_4limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "58.75",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,58}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,58}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15'",
- "modulus": "2^235 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "4"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e235m15_5limbs.json b/src/Specific/CurveParameters/solinas64_2e235m15_5limbs.json
deleted file mode 100644
index 0bf3f54fa..000000000
--- a/src/Specific/CurveParameters/solinas64_2e235m15_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<235) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<235) - 15'",
- "modulus": "2^235 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e243m9_5limbs.json b/src/Specific/CurveParameters/solinas64_2e243m9_5limbs.json
deleted file mode 100644
index 0ddcc422d..000000000
--- a/src/Specific/CurveParameters/solinas64_2e243m9_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48.6",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<243) - 9'",
- "modulus": "2^243 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e243m9_6limbs.json b/src/Specific/CurveParameters/solinas64_2e243m9_6limbs.json
deleted file mode 100644
index 0cd6d2b33..000000000
--- a/src/Specific/CurveParameters/solinas64_2e243m9_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "40.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<243) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<243) - 9'",
- "modulus": "2^243 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e251m9_5limbs.json b/src/Specific/CurveParameters/solinas64_2e251m9_5limbs.json
deleted file mode 100644
index 06dda2be5..000000000
--- a/src/Specific/CurveParameters/solinas64_2e251m9_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "50.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<251) - 9'",
- "modulus": "2^251 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e251m9_6limbs.json b/src/Specific/CurveParameters/solinas64_2e251m9_6limbs.json
deleted file mode 100644
index d27d9e554..000000000
--- a/src/Specific/CurveParameters/solinas64_2e251m9_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "41 + 5/6",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,42,42,42,42,41}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<251) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,42,42,42,42,41}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<251) - 9'",
- "modulus": "2^251 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e255m19_5limbs.json b/src/Specific/CurveParameters/solinas64_2e255m19_5limbs.json
deleted file mode 100644
index ab27c416b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e255m19_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19'",
- "modulus": "2^255 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e255m19_5limbs_donna.json b/src/Specific/CurveParameters/solinas64_2e255m19_5limbs_donna.json
deleted file mode 100644
index 34459fee1..000000000
--- a/src/Specific/CurveParameters/solinas64_2e255m19_5limbs_donna.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "base": "51",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19'",
- "modulus": "2^255 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5",
- "mul_header" : "(* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "mul_code"
- :
- "
- uint128_t t[5];
- limb r0,r1,r2,r3,r4,s0,s1,s2,s3,s4,c;
-
- r0 = in[0];
- r1 = in[1];
- r2 = in[2];
- r3 = in[3];
- r4 = in[4];
-
- s0 = in2[0];
- s1 = in2[1];
- s2 = in2[2];
- s3 = in2[3];
- s4 = in2[4];
-
- t[0] = ((uint128_t) r0) * s0;
- t[1] = ((uint128_t) r0) * s1 + ((uint128_t) r1) * s0;
- t[2] = ((uint128_t) r0) * s2 + ((uint128_t) r2) * s0 + ((uint128_t) r1) * s1;
- t[3] = ((uint128_t) r0) * s3 + ((uint128_t) r3) * s0 + ((uint128_t) r1) * s2 + ((uint128_t) r2) * s1;
- t[4] = ((uint128_t) r0) * s4 + ((uint128_t) r4) * s0 + ((uint128_t) r3) * s1 + ((uint128_t) r1) * s3 + ((uint128_t) r2) * s2;
-
- r4 *= 19;
- r1 *= 19;
- r2 *= 19;
- r3 *= 19;
-
- t[0] += ((uint128_t) r4) * s1 + ((uint128_t) r1) * s4 + ((uint128_t) r2) * s3 + ((uint128_t) r3) * s2;
- t[1] += ((uint128_t) r4) * s2 + ((uint128_t) r2) * s4 + ((uint128_t) r3) * s3;
- t[2] += ((uint128_t) r4) * s3 + ((uint128_t) r3) * s4;
- t[3] += ((uint128_t) r4) * s4;
-",
- "square_header" : "(* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "square_code"
- :
- "
- uint128_t t[5];
- limb r0,r1,r2,r3,r4,c;
- limb d0,d1,d2,d4,d419;
-
- r0 = in[0];
- r1 = in[1];
- r2 = in[2];
- r3 = in[3];
- r4 = in[4];
-
- do {
- d0 = r0 * 2;
- d1 = r1 * 2;
- d2 = r2 * 2 * 19;
- d419 = r4 * 19;
- d4 = d419 * 2;
-
- t[0] = ((uint128_t) r0) * r0 + ((uint128_t) d4) * r1 + (((uint128_t) d2) * (r3 ));
- t[1] = ((uint128_t) d0) * r1 + ((uint128_t) d4) * r2 + (((uint128_t) r3) * (r3 * 19));
- t[2] = ((uint128_t) d0) * r2 + ((uint128_t) r1) * r1 + (((uint128_t) d4) * (r3 ));
- t[3] = ((uint128_t) d0) * r3 + ((uint128_t) d1) * r2 + (((uint128_t) r4) * (d419 ));
- t[4] = ((uint128_t) d0) * r4 + ((uint128_t) d1) * r3 + (((uint128_t) r2) * (r2 ));
-"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e255m19_6limbs.json b/src/Specific/CurveParameters/solinas64_2e255m19_6limbs.json
deleted file mode 100644
index 0d8f4c429..000000000
--- a/src/Specific/CurveParameters/solinas64_2e255m19_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 19'",
- "modulus": "2^255 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e255m765_5limbs.json b/src/Specific/CurveParameters/solinas64_2e255m765_5limbs.json
deleted file mode 100644
index 3af009ba4..000000000
--- a/src/Specific/CurveParameters/solinas64_2e255m765_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 765'",
- "modulus": "2^255 - 765",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e255m765_6limbs.json b/src/Specific/CurveParameters/solinas64_2e255m765_6limbs.json
deleted file mode 100644
index f1e621b14..000000000
--- a/src/Specific/CurveParameters/solinas64_2e255m765_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 765'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 765'",
- "modulus": "2^255 - 765",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m189_5limbs.json b/src/Specific/CurveParameters/solinas64_2e256m189_5limbs.json
deleted file mode 100644
index e7bd1c966..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m189_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - 189'",
- "modulus": "2^256 - 189",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m189_6limbs.json b/src/Specific/CurveParameters/solinas64_2e256m189_6limbs.json
deleted file mode 100644
index 9e701a8b1..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m189_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "42 + 2/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - 189'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - 189'",
- "modulus": "2^256 - 189",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_5limbs.json b/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_5limbs.json
deleted file mode 100644
index 136b844be..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_5limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "51.2",
- "bitwidth": 64,
- "carry_chains": [
- [
- 3,
- 2,
- 0,
- 4
- ],
- [
- 4,
- 3,
- 1,
- 0,
- 2
- ],
- [
- 4,
- 3,
- 1,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_6limbs.json b/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_6limbs.json
deleted file mode 100644
index 367ed825a..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m2e224p2e192p2e96m1_6limbs.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "base": "42 + 2/3",
- "bitwidth": 64,
- "carry_chains": [
- [
- 4,
- 3,
- 1,
- 5
- ],
- [
- 5,
- 4,
- 2,
- 0,
- 3,
- 1
- ],
- [
- 5,
- 4,
- 2,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1'",
- "modulus": "2^256 - 2^224 + 2^192 + 2^96 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m2e32m977_6limbs.json b/src/Specific/CurveParameters/solinas64_2e256m2e32m977_6limbs.json
deleted file mode 100644
index 220dba0ba..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m2e32m977_6limbs.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "base": "42 + 2/3",
- "bitwidth": 64,
- "carry_chains": [
- [
- 5,
- 5
- ],
- [
- 0,
- 1,
- 2,
- 3,
- 4
- ],
- [
- 0,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "modulus": "2^256 - 2^32 - 977",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m2e32m977_7limbs.json b/src/Specific/CurveParameters/solinas64_2e256m2e32m977_7limbs.json
deleted file mode 100644
index 5285cff9c..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m2e32m977_7limbs.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "base": "36 + 4/7",
- "bitwidth": 64,
- "carry_chains": [
- [
- 6,
- 6
- ],
- [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- [
- 0,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{37,37,36,37,36,37,36}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{37,37,36,37,36,37,36}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977'",
- "modulus": "2^256 - 2^32 - 977",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m4294968273_10limbs.json b/src/Specific/CurveParameters/solinas64_2e256m4294968273_10limbs.json
deleted file mode 100644
index 22112510b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m4294968273_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "25.6",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,26,25,26,25}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,26,25,26,25}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "modulus": "2^256 - 4294968273",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e256m4294968273_9limbs.json b/src/Specific/CurveParameters/solinas64_2e256m4294968273_9limbs.json
deleted file mode 100644
index 76b4be27c..000000000
--- a/src/Specific/CurveParameters/solinas64_2e256m4294968273_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "28 + 4/9",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{29,28,29,28,29,28,29,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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{29,28,29,28,29,28,29,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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<256) - 4294968273'",
- "modulus": "2^256 - 4294968273",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e266m3_5limbs.json b/src/Specific/CurveParameters/solinas64_2e266m3_5limbs.json
deleted file mode 100644
index c3f1a5d31..000000000
--- a/src/Specific/CurveParameters/solinas64_2e266m3_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "53.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3'",
- "modulus": "2^266 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e266m3_6limbs.json b/src/Specific/CurveParameters/solinas64_2e266m3_6limbs.json
deleted file mode 100644
index 9872d0668..000000000
--- a/src/Specific/CurveParameters/solinas64_2e266m3_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "44 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,44,44,45,44,44}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<266) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,44,44,45,44,44}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<266) - 3'",
- "modulus": "2^266 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e285m9_5limbs.json b/src/Specific/CurveParameters/solinas64_2e285m9_5limbs.json
deleted file mode 100644
index 55543605f..000000000
--- a/src/Specific/CurveParameters/solinas64_2e285m9_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "57",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9'",
- "modulus": "2^285 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e285m9_6limbs.json b/src/Specific/CurveParameters/solinas64_2e285m9_6limbs.json
deleted file mode 100644
index 49cbe258c..000000000
--- a/src/Specific/CurveParameters/solinas64_2e285m9_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,48,47}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<285) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,48,47}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<285) - 9'",
- "modulus": "2^285 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e291m19_5limbs.json b/src/Specific/CurveParameters/solinas64_2e291m19_5limbs.json
deleted file mode 100644
index 172300070..000000000
--- a/src/Specific/CurveParameters/solinas64_2e291m19_5limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "58.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19'",
- "modulus": "2^291 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "5"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e291m19_6limbs.json b/src/Specific/CurveParameters/solinas64_2e291m19_6limbs.json
deleted file mode 100644
index 4874de4ee..000000000
--- a/src/Specific/CurveParameters/solinas64_2e291m19_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<291) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<291) - 19'",
- "modulus": "2^291 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e321m9_6limbs.json b/src/Specific/CurveParameters/solinas64_2e321m9_6limbs.json
deleted file mode 100644
index eb820aaf6..000000000
--- a/src/Specific/CurveParameters/solinas64_2e321m9_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "53.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9'",
- "modulus": "2^321 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e321m9_7limbs.json b/src/Specific/CurveParameters/solinas64_2e321m9_7limbs.json
deleted file mode 100644
index e6bf0bdaa..000000000
--- a/src/Specific/CurveParameters/solinas64_2e321m9_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "45 + 6/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,45}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<321) - 9'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,45}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<321) - 9'",
- "modulus": "2^321 - 9",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e322m2e161m1_6limbs.json b/src/Specific/CurveParameters/solinas64_2e322m2e161m1_6limbs.json
deleted file mode 100644
index 68b43cbbc..000000000
--- a/src/Specific/CurveParameters/solinas64_2e322m2e161m1_6limbs.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "base": "53 + 2/3",
- "bitwidth": 64,
- "carry_chains": [
- [
- 2,
- 5
- ],
- [
- 3,
- 0,
- 4,
- 1,
- 5,
- 2
- ],
- [
- 3,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,53,54,54,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,53,54,54,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "goldilocks": true,
- "modulus": "2^322 - 2^161 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e322m2e161m1_7limbs.json b/src/Specific/CurveParameters/solinas64_2e322m2e161m1_7limbs.json
deleted file mode 100644
index 7cbbf9f5e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e322m2e161m1_7limbs.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "base": "46",
- "bitwidth": 64,
- "carry_chains": [
- [
- 2,
- 6
- ],
- [
- 3,
- 0,
- 4,
- 1,
- 5,
- 2,
- 6
- ],
- [
- 3,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1'",
- "goldilocks": true,
- "modulus": "2^322 - 2^161 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e336m17_6limbs.json b/src/Specific/CurveParameters/solinas64_2e336m17_6limbs.json
deleted file mode 100644
index 6e6dd9305..000000000
--- a/src/Specific/CurveParameters/solinas64_2e336m17_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "56",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17'",
- "modulus": "2^336 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e336m17_7limbs.json b/src/Specific/CurveParameters/solinas64_2e336m17_7limbs.json
deleted file mode 100644
index a8f34ee7b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e336m17_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 17'",
- "modulus": "2^336 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e336m3_6limbs.json b/src/Specific/CurveParameters/solinas64_2e336m3_6limbs.json
deleted file mode 100644
index 91a4e71aa..000000000
--- a/src/Specific/CurveParameters/solinas64_2e336m3_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "56",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3'",
- "modulus": "2^336 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e336m3_7limbs.json b/src/Specific/CurveParameters/solinas64_2e336m3_7limbs.json
deleted file mode 100644
index 4fb08a7ed..000000000
--- a/src/Specific/CurveParameters/solinas64_2e336m3_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 3'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 3'",
- "modulus": "2^336 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e338m15_6limbs.json b/src/Specific/CurveParameters/solinas64_2e338m15_6limbs.json
deleted file mode 100644
index 220cba5d2..000000000
--- a/src/Specific/CurveParameters/solinas64_2e338m15_6limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "56 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15'",
- "modulus": "2^338 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "6"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e338m15_7limbs.json b/src/Specific/CurveParameters/solinas64_2e338m15_7limbs.json
deleted file mode 100644
index db17f4f1c..000000000
--- a/src/Specific/CurveParameters/solinas64_2e338m15_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48 + 2/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,48,49,48,48,48}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<338) - 15'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,48,49,48,48,48}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<338) - 15'",
- "modulus": "2^338 - 15",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e369m25_7limbs.json b/src/Specific/CurveParameters/solinas64_2e369m25_7limbs.json
deleted file mode 100644
index 4dc32c919..000000000
--- a/src/Specific/CurveParameters/solinas64_2e369m25_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "52 + 5/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,52,53,53,52}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,52,53,53,52}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<369) - 25'",
- "modulus": "2^369 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e369m25_8limbs.json b/src/Specific/CurveParameters/solinas64_2e369m25_8limbs.json
deleted file mode 100644
index 3a6a3e4bb..000000000
--- a/src/Specific/CurveParameters/solinas64_2e369m25_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46.125",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<369) - 25'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<369) - 25'",
- "modulus": "2^369 - 25",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e379m19_7limbs.json b/src/Specific/CurveParameters/solinas64_2e379m19_7limbs.json
deleted file mode 100644
index 1ca84b1ed..000000000
--- a/src/Specific/CurveParameters/solinas64_2e379m19_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 1/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<379) - 19'",
- "modulus": "2^379 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e379m19_8limbs.json b/src/Specific/CurveParameters/solinas64_2e379m19_8limbs.json
deleted file mode 100644
index 5af831e02..000000000
--- a/src/Specific/CurveParameters/solinas64_2e379m19_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.375",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,47,48,47,47}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<379) - 19'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,47,48,47,47}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<379) - 19'",
- "modulus": "2^379 - 19",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e382m105_7limbs.json b/src/Specific/CurveParameters/solinas64_2e382m105_7limbs.json
deleted file mode 100644
index bd711d3ab..000000000
--- a/src/Specific/CurveParameters/solinas64_2e382m105_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 4/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,54,55,54,55,54}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,54,55,54,55,54}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<382) - 105'",
- "modulus": "2^382 - 105",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e382m105_8limbs.json b/src/Specific/CurveParameters/solinas64_2e382m105_8limbs.json
deleted file mode 100644
index 924c6ad0f..000000000
--- a/src/Specific/CurveParameters/solinas64_2e382m105_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.75",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47,48,48,48,47}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<382) - 105'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47,48,48,48,47}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<382) - 105'",
- "modulus": "2^382 - 105",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e383m187_7limbs.json b/src/Specific/CurveParameters/solinas64_2e383m187_7limbs.json
deleted file mode 100644
index fa11b9449..000000000
--- a/src/Specific/CurveParameters/solinas64_2e383m187_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 5/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 187'",
- "modulus": "2^383 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e383m187_8limbs.json b/src/Specific/CurveParameters/solinas64_2e383m187_8limbs.json
deleted file mode 100644
index bb1d8fdef..000000000
--- a/src/Specific/CurveParameters/solinas64_2e383m187_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.875",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 187'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 187'",
- "modulus": "2^383 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e383m31_7limbs.json b/src/Specific/CurveParameters/solinas64_2e383m31_7limbs.json
deleted file mode 100644
index 8ddbc4cc1..000000000
--- a/src/Specific/CurveParameters/solinas64_2e383m31_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 5/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 31'",
- "modulus": "2^383 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e383m31_8limbs.json b/src/Specific/CurveParameters/solinas64_2e383m31_8limbs.json
deleted file mode 100644
index 814b23aa5..000000000
--- a/src/Specific/CurveParameters/solinas64_2e383m31_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.875",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 31'",
- "modulus": "2^383 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e383m421_7limbs.json b/src/Specific/CurveParameters/solinas64_2e383m421_7limbs.json
deleted file mode 100644
index 120c4c8fc..000000000
--- a/src/Specific/CurveParameters/solinas64_2e383m421_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 5/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 421'",
- "modulus": "2^383 - 421",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e383m421_8limbs.json b/src/Specific/CurveParameters/solinas64_2e383m421_8limbs.json
deleted file mode 100644
index 2b301cd7d..000000000
--- a/src/Specific/CurveParameters/solinas64_2e383m421_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "47.875",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 421'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 421'",
- "modulus": "2^383 - 421",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_10limbs.json b/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_10limbs.json
deleted file mode 100644
index a482577c1..000000000
--- a/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_10limbs.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "base": "38.4",
- "bitwidth": 64,
- "carry_chains": [
- [
- 2,
- 1,
- 9,
- 9
- ],
- [
- 3,
- 2,
- 0,
- 4,
- 1,
- 5,
- 6,
- 7,
- 8,
- 9
- ],
- [
- 3,
- 2,
- 0,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38,39,38,39,38,38}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38,39,38,39,38,38}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_9limbs.json b/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_9limbs.json
deleted file mode 100644
index b5d19683a..000000000
--- a/src/Specific/CurveParameters/solinas64_2e384m2e128m2e96p2e32m1_9limbs.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "base": "42 + 2/3",
- "bitwidth": 64,
- "carry_chains": [
- [
- 2,
- 1,
- 8,
- 8
- ],
- [
- 3,
- 2,
- 0,
- 4,
- 1,
- 5,
- 6,
- 7,
- 8
- ],
- [
- 3,
- 2,
- 0,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1'",
- "modulus": "2^384 - 2^128 - 2^96 + 2^32 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e384m317_7limbs.json b/src/Specific/CurveParameters/solinas64_2e384m317_7limbs.json
deleted file mode 100644
index 673b45e2b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e384m317_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 6/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,54}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,54}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<384) - 317'",
- "modulus": "2^384 - 317",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e384m317_8limbs.json b/src/Specific/CurveParameters/solinas64_2e384m317_8limbs.json
deleted file mode 100644
index d4e27a33a..000000000
--- a/src/Specific/CurveParameters/solinas64_2e384m317_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<384) - 317'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<384) - 317'",
- "modulus": "2^384 - 317",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e389m21_7limbs.json b/src/Specific/CurveParameters/solinas64_2e389m21_7limbs.json
deleted file mode 100644
index ec9620ca3..000000000
--- a/src/Specific/CurveParameters/solinas64_2e389m21_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55 + 4/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,55,56,55,56,55}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,55,56,55,56,55}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21'",
- "modulus": "2^389 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e389m21_8limbs.json b/src/Specific/CurveParameters/solinas64_2e389m21_8limbs.json
deleted file mode 100644
index 06bc8cc0e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e389m21_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48.625",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,49,48,49,48}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<389) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,49,48,49,48}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<389) - 21'",
- "modulus": "2^389 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e401m31_7limbs.json b/src/Specific/CurveParameters/solinas64_2e401m31_7limbs.json
deleted file mode 100644
index c6c24b955..000000000
--- a/src/Specific/CurveParameters/solinas64_2e401m31_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "57 + 2/7",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,57,58,57,57,57}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,57,58,57,57,57}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31'",
- "modulus": "2^401 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e401m31_8limbs.json b/src/Specific/CurveParameters/solinas64_2e401m31_8limbs.json
deleted file mode 100644
index 4857ee185..000000000
--- a/src/Specific/CurveParameters/solinas64_2e401m31_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "50.125",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<401) - 31'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<401) - 31'",
- "modulus": "2^401 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e413m21_7limbs.json b/src/Specific/CurveParameters/solinas64_2e413m21_7limbs.json
deleted file mode 100644
index a08cf0255..000000000
--- a/src/Specific/CurveParameters/solinas64_2e413m21_7limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "59",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21'",
- "modulus": "2^413 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "7"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e413m21_8limbs.json b/src/Specific/CurveParameters/solinas64_2e413m21_8limbs.json
deleted file mode 100644
index 2257caa49..000000000
--- a/src/Specific/CurveParameters/solinas64_2e413m21_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.625",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,51,52,52,51,52,51}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<413) - 21'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,51,52,52,51,52,51}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<413) - 21'",
- "modulus": "2^413 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e414m17_8limbs.json b/src/Specific/CurveParameters/solinas64_2e414m17_8limbs.json
deleted file mode 100644
index 3887af43d..000000000
--- a/src/Specific/CurveParameters/solinas64_2e414m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.75",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,51,52,52,52,51}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,51,52,52,52,51}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<414) - 17'",
- "modulus": "2^414 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e414m17_9limbs.json b/src/Specific/CurveParameters/solinas64_2e414m17_9limbs.json
deleted file mode 100644
index 58e6ff063..000000000
--- a/src/Specific/CurveParameters/solinas64_2e414m17_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<414) - 17'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<414) - 17'",
- "modulus": "2^414 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e416m2e208m1_8limbs.json b/src/Specific/CurveParameters/solinas64_2e416m2e208m1_8limbs.json
deleted file mode 100644
index 3998ba200..000000000
--- a/src/Specific/CurveParameters/solinas64_2e416m2e208m1_8limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "52",
- "bitwidth": 64,
- "carry_chains": [
- [
- 3,
- 7
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "goldilocks": true,
- "modulus": "2^416 - 2^208 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e416m2e208m1_9limbs.json b/src/Specific/CurveParameters/solinas64_2e416m2e208m1_9limbs.json
deleted file mode 100644
index 19363bcda..000000000
--- a/src/Specific/CurveParameters/solinas64_2e416m2e208m1_9limbs.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "base": "46 + 2/9",
- "bitwidth": 64,
- "carry_chains": [
- [
- 3,
- 8
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3,
- 8
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,47,46,46,46,46}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "compilerxx": "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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,47,46,46,46,46}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1'",
- "goldilocks": true,
- "modulus": "2^416 - 2^208 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e444m17_8limbs.json b/src/Specific/CurveParameters/solinas64_2e444m17_8limbs.json
deleted file mode 100644
index e09bd5c94..000000000
--- a/src/Specific/CurveParameters/solinas64_2e444m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<444) - 17'",
- "modulus": "2^444 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e444m17_9limbs.json b/src/Specific/CurveParameters/solinas64_2e444m17_9limbs.json
deleted file mode 100644
index 541d9d18d..000000000
--- a/src/Specific/CurveParameters/solinas64_2e444m17_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "49 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{50,49,49,50,49,49,50,49,49}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<444) - 17'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{50,49,49,50,49,49,50,49,49}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<444) - 17'",
- "modulus": "2^444 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e448m2e224m1_10limbs.json b/src/Specific/CurveParameters/solinas64_2e448m2e224m1_10limbs.json
deleted file mode 100644
index fbf055d23..000000000
--- a/src/Specific/CurveParameters/solinas64_2e448m2e224m1_10limbs.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "base": "44.8",
- "bitwidth": 64,
- "carry_chains": [
- [
- 4,
- 9
- ],
- [
- 5,
- 0,
- 6,
- 1,
- 7,
- 2,
- 8,
- 3,
- 9,
- 4
- ],
- [
- 5,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44,45,45,45,45,44}' -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='10' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44,45,45,45,45,44}' -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='10' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "goldilocks": true,
- "modulus": "2^448 - 2^224 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e448m2e224m1_8limbs.json b/src/Specific/CurveParameters/solinas64_2e448m2e224m1_8limbs.json
deleted file mode 100644
index 0f5f3ea93..000000000
--- a/src/Specific/CurveParameters/solinas64_2e448m2e224m1_8limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "56",
- "bitwidth": 64,
- "carry_chains": [
- [
- 3,
- 7
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -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='8' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "compilerxx": "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='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -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='8' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1'",
- "goldilocks": true,
- "modulus": "2^448 - 2^224 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e450m2e225m1_10limbs.json b/src/Specific/CurveParameters/solinas64_2e450m2e225m1_10limbs.json
deleted file mode 100644
index 15e37d483..000000000
--- a/src/Specific/CurveParameters/solinas64_2e450m2e225m1_10limbs.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "base": "45",
- "bitwidth": 64,
- "carry_chains": [
- [
- 4,
- 9
- ],
- [
- 5,
- 0,
- 6,
- 1,
- 7,
- 2,
- 8,
- 3,
- 9,
- 4
- ],
- [
- 5,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,45,45,45,45,45,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,45,45,45,45,45,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "goldilocks": true,
- "modulus": "2^450 - 2^225 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e450m2e225m1_8limbs.json b/src/Specific/CurveParameters/solinas64_2e450m2e225m1_8limbs.json
deleted file mode 100644
index 2d2da85cd..000000000
--- a/src/Specific/CurveParameters/solinas64_2e450m2e225m1_8limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "56.25",
- "bitwidth": 64,
- "carry_chains": [
- [
- 3,
- 7
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1'",
- "goldilocks": true,
- "modulus": "2^450 - 2^225 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e452m3_8limbs.json b/src/Specific/CurveParameters/solinas64_2e452m3_8limbs.json
deleted file mode 100644
index 9355eda49..000000000
--- a/src/Specific/CurveParameters/solinas64_2e452m3_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "56.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3'",
- "modulus": "2^452 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e452m3_9limbs.json b/src/Specific/CurveParameters/solinas64_2e452m3_9limbs.json
deleted file mode 100644
index 624343b39..000000000
--- a/src/Specific/CurveParameters/solinas64_2e452m3_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "50 + 2/9",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,51,50,50,50,50}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<452) - 3'",
- "compilerxx": "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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,51,50,50,50,50}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<452) - 3'",
- "modulus": "2^452 - 3",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e468m17_8limbs.json b/src/Specific/CurveParameters/solinas64_2e468m17_8limbs.json
deleted file mode 100644
index 22c7d1cc6..000000000
--- a/src/Specific/CurveParameters/solinas64_2e468m17_8limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "58.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17'",
- "modulus": "2^468 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e468m17_9limbs.json b/src/Specific/CurveParameters/solinas64_2e468m17_9limbs.json
deleted file mode 100644
index c85fccced..000000000
--- a/src/Specific/CurveParameters/solinas64_2e468m17_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "52",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<468) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<468) - 17'",
- "modulus": "2^468 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e480m2e240m1_10limbs.json b/src/Specific/CurveParameters/solinas64_2e480m2e240m1_10limbs.json
deleted file mode 100644
index 05dc54ae0..000000000
--- a/src/Specific/CurveParameters/solinas64_2e480m2e240m1_10limbs.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "base": "48",
- "bitwidth": 64,
- "carry_chains": [
- [
- 4,
- 9
- ],
- [
- 5,
- 0,
- 6,
- 1,
- 7,
- 2,
- 8,
- 3,
- 9,
- 4
- ],
- [
- 5,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48,48,48}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48,48,48}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "goldilocks": true,
- "modulus": "2^480 - 2^240 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e480m2e240m1_8limbs.json b/src/Specific/CurveParameters/solinas64_2e480m2e240m1_8limbs.json
deleted file mode 100644
index bd0962838..000000000
--- a/src/Specific/CurveParameters/solinas64_2e480m2e240m1_8limbs.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "base": "60",
- "bitwidth": 64,
- "carry_chains": [
- [
- 3,
- 7
- ],
- [
- 4,
- 0,
- 5,
- 1,
- 6,
- 2,
- 7,
- 3
- ],
- [
- 4,
- 0
- ]
- ],
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1'",
- "goldilocks": true,
- "modulus": "2^480 - 2^240 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "8"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e488m17_10limbs.json b/src/Specific/CurveParameters/solinas64_2e488m17_10limbs.json
deleted file mode 100644
index a4b0fa1da..000000000
--- a/src/Specific/CurveParameters/solinas64_2e488m17_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48.8",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,48,49,49,49,49,48}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,48,49,49,49,49,48}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<488) - 17'",
- "modulus": "2^488 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e488m17_9limbs.json b/src/Specific/CurveParameters/solinas64_2e488m17_9limbs.json
deleted file mode 100644
index 9d9d61a2b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e488m17_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 2/9",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,55,54,54,54,54}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<488) - 17'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,55,54,54,54,54}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<488) - 17'",
- "modulus": "2^488 - 17",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e489m21_10limbs.json b/src/Specific/CurveParameters/solinas64_2e489m21_10limbs.json
deleted file mode 100644
index ebf53a4ff..000000000
--- a/src/Specific/CurveParameters/solinas64_2e489m21_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "48.9",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,49,49,49,49,49,48}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,49,49,49,49,49,48}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<489) - 21'",
- "modulus": "2^489 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e489m21_9limbs.json b/src/Specific/CurveParameters/solinas64_2e489m21_9limbs.json
deleted file mode 100644
index e58bbfb7a..000000000
--- a/src/Specific/CurveParameters/solinas64_2e489m21_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "54 + 1/3",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<489) - 21'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<489) - 21'",
- "modulus": "2^489 - 21",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e495m31_10limbs.json b/src/Specific/CurveParameters/solinas64_2e495m31_10limbs.json
deleted file mode 100644
index f90b0031e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e495m31_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "49.5",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49,50,49,50,49,50,49}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49,50,49,50,49,50,49}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<495) - 31'",
- "modulus": "2^495 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e495m31_9limbs.json b/src/Specific/CurveParameters/solinas64_2e495m31_9limbs.json
deleted file mode 100644
index 8fbe2488e..000000000
--- a/src/Specific/CurveParameters/solinas64_2e495m31_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "55",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<495) - 31'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<495) - 31'",
- "modulus": "2^495 - 31",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e511m187_10limbs.json b/src/Specific/CurveParameters/solinas64_2e511m187_10limbs.json
deleted file mode 100644
index df35e2574..000000000
--- a/src/Specific/CurveParameters/solinas64_2e511m187_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.1",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 187'",
- "modulus": "2^511 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e511m187_11limbs.json b/src/Specific/CurveParameters/solinas64_2e511m187_11limbs.json
deleted file mode 100644
index 4f1601326..000000000
--- a/src/Specific/CurveParameters/solinas64_2e511m187_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46 + 5/11",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 187'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 187'",
- "modulus": "2^511 - 187",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e511m481_10limbs.json b/src/Specific/CurveParameters/solinas64_2e511m481_10limbs.json
deleted file mode 100644
index 08e59df6f..000000000
--- a/src/Specific/CurveParameters/solinas64_2e511m481_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.1",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 481'",
- "modulus": "2^511 - 481",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e511m481_11limbs.json b/src/Specific/CurveParameters/solinas64_2e511m481_11limbs.json
deleted file mode 100644
index c36c26751..000000000
--- a/src/Specific/CurveParameters/solinas64_2e511m481_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46 + 5/11",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 481'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 481'",
- "modulus": "2^511 - 481",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e512m569_10limbs.json b/src/Specific/CurveParameters/solinas64_2e512m569_10limbs.json
deleted file mode 100644
index 9212cab7c..000000000
--- a/src/Specific/CurveParameters/solinas64_2e512m569_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "51.2",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<512) - 569'",
- "modulus": "2^512 - 569",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e512m569_11limbs.json b/src/Specific/CurveParameters/solinas64_2e512m569_11limbs.json
deleted file mode 100644
index 5db9f2e73..000000000
--- a/src/Specific/CurveParameters/solinas64_2e512m569_11limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "46 + 6/11",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,46,47,46,47,46,47,46,47,46}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<512) - 569'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,46,47,46,47,46,47,46,47,46}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<512) - 569'",
- "modulus": "2^512 - 569",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "11"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e521m1_10limbs.json b/src/Specific/CurveParameters/solinas64_2e521m1_10limbs.json
deleted file mode 100644
index 896456f8b..000000000
--- a/src/Specific/CurveParameters/solinas64_2e521m1_10limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "52.1",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<521) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<521) - 1'",
- "modulus": "2^521 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "10"
-}
diff --git a/src/Specific/CurveParameters/solinas64_2e521m1_9limbs.json b/src/Specific/CurveParameters/solinas64_2e521m1_9limbs.json
deleted file mode 100644
index 6829b4ee1..000000000
--- a/src/Specific/CurveParameters/solinas64_2e521m1_9limbs.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "base": "57 + 8/9",
- "bitwidth": 64,
- "carry_chains": "default",
- "coef_div_modulus": "2",
- "compiler": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58,58,58,58,58,58,57}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1'",
- "compilerxx": "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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58,58,58,58,58,58,57}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1'",
- "modulus": "2^521 - 1",
- "operations": [
- "femul",
- "feadd",
- "fesub",
- "fesquare",
- "fecarry",
- "freeze"
- ],
- "sz": "9"
-}
diff --git a/src/Specific/CurveParameters/x2448_c64_karatsuba.json b/src/Specific/CurveParameters/x2448_c64_karatsuba.json
deleted file mode 100644
index 14357135e..000000000
--- a/src/Specific/CurveParameters/x2448_c64_karatsuba.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "modulus" : "2^448-2^224-1",
- "base" : "56",
- "goldilocks" : "true",
- "sz" : "8",
- "bitwidth" : "64",
- "carry_chains" : [[3, 7],
- [0, 4, 1, 5, 2, 6, 3, 7],
- [4, 0]],
- "coef_div_modulus" : "2",
- "operations" : ["femul"]
-}
diff --git a/src/Specific/CurveParameters/x25519_c32.json b/src/Specific/CurveParameters/x25519_c32.json
deleted file mode 100644
index 729388451..000000000
--- a/src/Specific/CurveParameters/x25519_c32.json
+++ /dev/null
@@ -1,230 +0,0 @@
-{
- "modulus" : "2^255-19",
- "base" : "25.5",
- "a24" : "121665",
- "sz" : "10",
- "bitwidth" : "32",
- "carry_chains" : "default",
- "coef_div_modulus" : "2",
- "operations" : ["femul", "feadd", "fesub", "fecarry", "fesquare", "freeze"],
- "compiler" : "gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes",
- "mul_header" : "(* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "mul_code"
- :
- "
- output[0] = ((limb) ((s32) in2[0])) * ((s32) in[0]);
- output[1] = ((limb) ((s32) in2[0])) * ((s32) in[1]) +
- ((limb) ((s32) in2[1])) * ((s32) in[0]);
- output[2] = 2 * ((limb) ((s32) in2[1])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[2]) +
- ((limb) ((s32) in2[2])) * ((s32) in[0]);
- output[3] = ((limb) ((s32) in2[1])) * ((s32) in[2]) +
- ((limb) ((s32) in2[2])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[3]) +
- ((limb) ((s32) in2[3])) * ((s32) in[0]);
- output[4] = ((limb) ((s32) in2[2])) * ((s32) in[2]) +
- 2 * (((limb) ((s32) in2[1])) * ((s32) in[3]) +
- ((limb) ((s32) in2[3])) * ((s32) in[1])) +
- ((limb) ((s32) in2[0])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[0]);
- output[5] = ((limb) ((s32) in2[2])) * ((s32) in[3]) +
- ((limb) ((s32) in2[3])) * ((s32) in[2]) +
- ((limb) ((s32) in2[1])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[0]);
- output[6] = 2 * (((limb) ((s32) in2[3])) * ((s32) in[3]) +
- ((limb) ((s32) in2[1])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[1])) +
- ((limb) ((s32) in2[2])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[2]) +
- ((limb) ((s32) in2[0])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[0]);
- output[7] = ((limb) ((s32) in2[3])) * ((s32) in[4]) +
- ((limb) ((s32) in2[4])) * ((s32) in[3]) +
- ((limb) ((s32) in2[2])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[2]) +
- ((limb) ((s32) in2[1])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[0]);
- output[8] = ((limb) ((s32) in2[4])) * ((s32) in[4]) +
- 2 * (((limb) ((s32) in2[3])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[3]) +
- ((limb) ((s32) in2[1])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[1])) +
- ((limb) ((s32) in2[2])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[2]) +
- ((limb) ((s32) in2[0])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[0]);
- output[9] = ((limb) ((s32) in2[4])) * ((s32) in[5]) +
- ((limb) ((s32) in2[5])) * ((s32) in[4]) +
- ((limb) ((s32) in2[3])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[3]) +
- ((limb) ((s32) in2[2])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[2]) +
- ((limb) ((s32) in2[1])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[1]) +
- ((limb) ((s32) in2[0])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[0]);
- output[10] = 2 * (((limb) ((s32) in2[5])) * ((s32) in[5]) +
- ((limb) ((s32) in2[3])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[3]) +
- ((limb) ((s32) in2[1])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[1])) +
- ((limb) ((s32) in2[4])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[4]) +
- ((limb) ((s32) in2[2])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[2]);
- output[11] = ((limb) ((s32) in2[5])) * ((s32) in[6]) +
- ((limb) ((s32) in2[6])) * ((s32) in[5]) +
- ((limb) ((s32) in2[4])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[4]) +
- ((limb) ((s32) in2[3])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[3]) +
- ((limb) ((s32) in2[2])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[2]);
- output[12] = ((limb) ((s32) in2[6])) * ((s32) in[6]) +
- 2 * (((limb) ((s32) in2[5])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[5]) +
- ((limb) ((s32) in2[3])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[3])) +
- ((limb) ((s32) in2[4])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[4]);
- output[13] = ((limb) ((s32) in2[6])) * ((s32) in[7]) +
- ((limb) ((s32) in2[7])) * ((s32) in[6]) +
- ((limb) ((s32) in2[5])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[5]) +
- ((limb) ((s32) in2[4])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[4]);
- output[14] = 2 * (((limb) ((s32) in2[7])) * ((s32) in[7]) +
- ((limb) ((s32) in2[5])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[5])) +
- ((limb) ((s32) in2[6])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[6]);
- output[15] = ((limb) ((s32) in2[7])) * ((s32) in[8]) +
- ((limb) ((s32) in2[8])) * ((s32) in[7]) +
- ((limb) ((s32) in2[6])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[6]);
- output[16] = ((limb) ((s32) in2[8])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in2[7])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[7]));
- output[17] = ((limb) ((s32) in2[8])) * ((s32) in[9]) +
- ((limb) ((s32) in2[9])) * ((s32) in[8]);
- output[18] = 2 * ((limb) ((s32) in2[9])) * ((s32) in[9]);
- output[8] += output[18] << 4;
- output[8] += output[18] << 1;
- output[8] += output[18];
- output[7] += output[17] << 4;
- output[7] += output[17] << 1;
- output[7] += output[17];
- output[6] += output[16] << 4;
- output[6] += output[16] << 1;
- output[6] += output[16];
- output[5] += output[15] << 4;
- output[5] += output[15] << 1;
- output[5] += output[15];
- output[4] += output[14] << 4;
- output[4] += output[14] << 1;
- output[4] += output[14];
- output[3] += output[13] << 4;
- output[3] += output[13] << 1;
- output[3] += output[13];
- output[2] += output[12] << 4;
- output[2] += output[12] << 1;
- output[2] += output[12];
- output[1] += output[11] << 4;
- output[1] += output[11] << 1;
- output[1] += output[11];
- output[0] += output[10] << 4;
- output[0] += output[10] << 1;
- output[0] += output[10];
-",
- "square_header" : "(* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "square_code"
- :
- "
- output[0] = ((limb) ((s32) in[0])) * ((s32) in[0]);
- output[1] = 2 * ((limb) ((s32) in[0])) * ((s32) in[1]);
- output[2] = 2 * (((limb) ((s32) in[1])) * ((s32) in[1]) +
- ((limb) ((s32) in[0])) * ((s32) in[2]));
- output[3] = 2 * (((limb) ((s32) in[1])) * ((s32) in[2]) +
- ((limb) ((s32) in[0])) * ((s32) in[3]));
- output[4] = ((limb) ((s32) in[2])) * ((s32) in[2]) +
- 4 * ((limb) ((s32) in[1])) * ((s32) in[3]) +
- 2 * ((limb) ((s32) in[0])) * ((s32) in[4]);
- output[5] = 2 * (((limb) ((s32) in[2])) * ((s32) in[3]) +
- ((limb) ((s32) in[1])) * ((s32) in[4]) +
- ((limb) ((s32) in[0])) * ((s32) in[5]));
- output[6] = 2 * (((limb) ((s32) in[3])) * ((s32) in[3]) +
- ((limb) ((s32) in[2])) * ((s32) in[4]) +
- ((limb) ((s32) in[0])) * ((s32) in[6]) +
- 2 * ((limb) ((s32) in[1])) * ((s32) in[5]));
- output[7] = 2 * (((limb) ((s32) in[3])) * ((s32) in[4]) +
- ((limb) ((s32) in[2])) * ((s32) in[5]) +
- ((limb) ((s32) in[1])) * ((s32) in[6]) +
- ((limb) ((s32) in[0])) * ((s32) in[7]));
- output[8] = ((limb) ((s32) in[4])) * ((s32) in[4]) +
- 2 * (((limb) ((s32) in[2])) * ((s32) in[6]) +
- ((limb) ((s32) in[0])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in[1])) * ((s32) in[7]) +
- ((limb) ((s32) in[3])) * ((s32) in[5])));
- output[9] = 2 * (((limb) ((s32) in[4])) * ((s32) in[5]) +
- ((limb) ((s32) in[3])) * ((s32) in[6]) +
- ((limb) ((s32) in[2])) * ((s32) in[7]) +
- ((limb) ((s32) in[1])) * ((s32) in[8]) +
- ((limb) ((s32) in[0])) * ((s32) in[9]));
- output[10] = 2 * (((limb) ((s32) in[5])) * ((s32) in[5]) +
- ((limb) ((s32) in[4])) * ((s32) in[6]) +
- ((limb) ((s32) in[2])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in[3])) * ((s32) in[7]) +
- ((limb) ((s32) in[1])) * ((s32) in[9])));
- output[11] = 2 * (((limb) ((s32) in[5])) * ((s32) in[6]) +
- ((limb) ((s32) in[4])) * ((s32) in[7]) +
- ((limb) ((s32) in[3])) * ((s32) in[8]) +
- ((limb) ((s32) in[2])) * ((s32) in[9]));
- output[12] = ((limb) ((s32) in[6])) * ((s32) in[6]) +
- 2 * (((limb) ((s32) in[4])) * ((s32) in[8]) +
- 2 * (((limb) ((s32) in[5])) * ((s32) in[7]) +
- ((limb) ((s32) in[3])) * ((s32) in[9])));
- output[13] = 2 * (((limb) ((s32) in[6])) * ((s32) in[7]) +
- ((limb) ((s32) in[5])) * ((s32) in[8]) +
- ((limb) ((s32) in[4])) * ((s32) in[9]));
- output[14] = 2 * (((limb) ((s32) in[7])) * ((s32) in[7]) +
- ((limb) ((s32) in[6])) * ((s32) in[8]) +
- 2 * ((limb) ((s32) in[5])) * ((s32) in[9]));
- output[15] = 2 * (((limb) ((s32) in[7])) * ((s32) in[8]) +
- ((limb) ((s32) in[6])) * ((s32) in[9]));
- output[16] = ((limb) ((s32) in[8])) * ((s32) in[8]) +
- 4 * ((limb) ((s32) in[7])) * ((s32) in[9]);
- output[17] = 2 * ((limb) ((s32) in[8])) * ((s32) in[9]);
- output[18] = 2 * ((limb) ((s32) in[9])) * ((s32) in[9]);
- output[8] += output[18] << 4;
- output[8] += output[18] << 1;
- output[8] += output[18];
- output[7] += output[17] << 4;
- output[7] += output[17] << 1;
- output[7] += output[17];
- output[6] += output[16] << 4;
- output[6] += output[16] << 1;
- output[6] += output[16];
- output[5] += output[15] << 4;
- output[5] += output[15] << 1;
- output[5] += output[15];
- output[4] += output[14] << 4;
- output[4] += output[14] << 1;
- output[4] += output[14];
- output[3] += output[13] << 4;
- output[3] += output[13] << 1;
- output[3] += output[13];
- output[2] += output[12] << 4;
- output[2] += output[12] << 1;
- output[2] += output[12];
- output[1] += output[11] << 4;
- output[1] += output[11] << 1;
- output[1] += output[11];
- output[0] += output[10] << 4;
- output[0] += output[10] << 1;
- output[0] += output[10];
-"
-}
diff --git a/src/Specific/CurveParameters/x25519_c64.json b/src/Specific/CurveParameters/x25519_c64.json
deleted file mode 100644
index 41ef66e9f..000000000
--- a/src/Specific/CurveParameters/x25519_c64.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "modulus" : "2^255-19",
- "base" : "51",
- "a24" : "121665",
- "sz" : "5",
- "bitwidth" : "64",
- "carry_chains" : "default",
- "coef_div_modulus" : "2",
- "operations" : ["femul", "feadd", "fesub", "fecarry", "fesquare", "freeze", "ladderstep"],
- "extra_files" : ["X25519_C64/scalarmult.c"],
- "compiler" : "gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes",
- "mul_header" : "(* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "mul_code"
- :
- "
- uint128_t t[5];
- limb r0,r1,r2,r3,r4,s0,s1,s2,s3,s4,c;
-
- r0 = in[0];
- r1 = in[1];
- r2 = in[2];
- r3 = in[3];
- r4 = in[4];
-
- s0 = in2[0];
- s1 = in2[1];
- s2 = in2[2];
- s3 = in2[3];
- s4 = in2[4];
-
- t[0] = ((uint128_t) r0) * s0;
- t[1] = ((uint128_t) r0) * s1 + ((uint128_t) r1) * s0;
- t[2] = ((uint128_t) r0) * s2 + ((uint128_t) r2) * s0 + ((uint128_t) r1) * s1;
- t[3] = ((uint128_t) r0) * s3 + ((uint128_t) r3) * s0 + ((uint128_t) r1) * s2 + ((uint128_t) r2) * s1;
- t[4] = ((uint128_t) r0) * s4 + ((uint128_t) r4) * s0 + ((uint128_t) r3) * s1 + ((uint128_t) r1) * s3 + ((uint128_t) r2) * s2;
-
- r4 *= 19;
- r1 *= 19;
- r2 *= 19;
- r3 *= 19;
-
- t[0] += ((uint128_t) r4) * s1 + ((uint128_t) r1) * s4 + ((uint128_t) r2) * s3 + ((uint128_t) r3) * s2;
- t[1] += ((uint128_t) r4) * s2 + ((uint128_t) r2) * s4 + ((uint128_t) r3) * s3;
- t[2] += ((uint128_t) r4) * s3 + ((uint128_t) r3) * s4;
- t[3] += ((uint128_t) r4) * s4;
-",
- "square_header" : "(* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)",
- "square_code"
- :
- "
- uint128_t t[5];
- limb r0,r1,r2,r3,r4,c;
- limb d0,d1,d2,d4,d419;
-
- r0 = in[0];
- r1 = in[1];
- r2 = in[2];
- r3 = in[3];
- r4 = in[4];
-
- do {
- d0 = r0 * 2;
- d1 = r1 * 2;
- d2 = r2 * 2 * 19;
- d419 = r4 * 19;
- d4 = d419 * 2;
-
- t[0] = ((uint128_t) r0) * r0 + ((uint128_t) d4) * r1 + (((uint128_t) d2) * (r3 ));
- t[1] = ((uint128_t) d0) * r1 + ((uint128_t) d4) * r2 + (((uint128_t) r3) * (r3 * 19));
- t[2] = ((uint128_t) d0) * r2 + ((uint128_t) r1) * r1 + (((uint128_t) d4) * (r3 ));
- t[3] = ((uint128_t) d0) * r3 + ((uint128_t) d1) * r2 + (((uint128_t) r4) * (d419 ));
- t[4] = ((uint128_t) d0) * r4 + ((uint128_t) d1) * r3 + (((uint128_t) r2) * (r2 ));
-"
-}
diff --git a/src/Specific/CurveParameters/x2555_130.json b/src/Specific/CurveParameters/x2555_130.json
deleted file mode 100644
index 130a87d38..000000000
--- a/src/Specific/CurveParameters/x2555_130.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "modulus" : "2^255-5",
- "base" : "130",
- "a24" : "121665 (* XXX TODO(andreser) FIXME? Is this right for this curve? *)",
- "sz" : "3",
- "bitwidth" : "128",
- "carry_chains" : "default",
- "coef_div_modulus" : "2",
- "operations" : ["ladderstep"]
-}
diff --git a/src/Specific/Framework/ArithmeticSynthesis/Base.v b/src/Specific/Framework/ArithmeticSynthesis/Base.v
deleted file mode 100644
index 490ff35c7..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/Base.v
+++ /dev/null
@@ -1,282 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.ZArith.BinIntDef.
-Require Import Coq.Lists.List. Import ListNotations.
-Require Import Coq.micromega.Lia.
-Require Import Coq.QArith.QArith_base.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Specific.Framework.CurveParameters.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Util.QUtil.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Crypto.Util.Tuple.
-Require Import Crypto.Util.Tactics.CacheTerm.
-
- (* emacs for adjusting definitions *)
- (* Query replace regexp (default Definition \([a-zA-Z_0-9]+\) : \([A-Za-z0-9_]+\) := P.compute \(.*\)\.\(.*\) -> Ltac pose_\1 \1 :=\4^J cache_term_with_type_by^J \2^J ltac:(let v := P.do_compute \3 in exact v)^J \1.): *)
- (* Query replace regexp (default Definition \([a-zA-Z_0-9]+\) : \([A-Za-z0-9_]+\) := P.compute \(.*\)\.\(.*\) -> Ltac pose_\1 \1 :=\4^J cache_term_with_type_by^J \2^J ltac:(let v := P.do_compute \3 in exact v)^J \1.): *)
- (* Query replace regexp (default Definition \([a-zA-Z_0-9]+\) : \([A-Za-z0-9_ \.]*\) := P.compute \(.*\)\.\(.*\) -> Ltac pose_\1 \1 :=\4^J cache_term_with_type_by^J (\2)^J ltac:(let v := P.do_compute \3 in exact v)^J \1.): *)
- (* Query replace regexp (default Definition \([a-zA-Z_0-9]+\) := P.compute \(.*\)\.\(.*\) -> Ltac pose_\1 \1 :=\3^J let v := P.do_compute \2 in cache_term v \1.): *)
-
-Ltac pose_r bitwidth r :=
- cache_term_with_type_by
- positive
- ltac:(let v := (eval vm_compute in (Z.to_pos (2^bitwidth))) in exact v)
- r.
-
-Ltac pose_m s c m := (* modulus *)
- let v := (eval vm_compute in (Z.to_pos (s - Associational.eval c))) in
- cache_term v m.
-
-Section wt.
- Import QArith Qround.
- Local Coercion QArith_base.inject_Z : Z >-> Q.
- Local Coercion Z.of_nat : nat >-> Z.
- Local Coercion Z.pos : positive >-> Z.
- Definition wt_gen (base : Q) (i:nat) : Z := 2^Qceiling(base*i).
-End wt.
-
-Section gen.
- Context (base : Q)
- (m : positive)
- (sz : nat)
- (coef_div_modulus : nat)
- (base_pos : (1 <= base)%Q).
-
- Local Notation wt := (wt_gen base).
-
- Definition sz2' := ((sz * 2) - 1)%nat.
-
- Definition half_sz' := (sz / 2)%nat.
-
- Definition m_enc'
- := Positional.encode (modulo_cps:=@modulo_cps) (div_cps:=@div_cps) (n:=sz) wt (Z.pos m).
-
- Lemma sz2'_nonzero
- (sz_nonzero : sz <> 0%nat)
- : sz2' <> 0%nat.
- Proof using Type. clear -sz_nonzero; cbv [sz2']; omega. Qed.
-
- Local Ltac Q_cbv :=
- cbv [wt_gen Qround.Qceiling QArith_base.Qmult QArith_base.Qdiv QArith_base.inject_Z QArith_base.Qden QArith_base.Qnum QArith_base.Qopp Qround.Qfloor QArith_base.Qinv QArith_base.Qle QArith_base.Qeq Z.of_nat] in *.
- Lemma wt_gen0_1 : wt 0 = 1.
- Proof using Type.
- Q_cbv; simpl.
- autorewrite with zsimplify_const; reflexivity.
- Qed.
-
- Lemma wt_gen_nonzero : forall i, wt i <> 0.
- Proof using base_pos.
- eapply pow_ceil_mul_nat_nonzero; [ omega | ].
- destruct base; Q_cbv; lia.
- Qed.
-
- Lemma wt_gen_nonneg : forall i, 0 <= wt i.
- Proof using Type. apply pow_ceil_mul_nat_nonneg; omega. Qed.
-
- Lemma wt_gen_pos : forall i, wt i > 0.
- Proof using base_pos.
- intro i; pose proof (wt_gen_nonzero i); pose proof (wt_gen_nonneg i).
- omega.
- Qed.
-
- Lemma wt_gen_multiples : forall i, wt (S i) mod (wt i) = 0.
- Proof using base_pos.
- apply pow_ceil_mul_nat_multiples; destruct base; Q_cbv; lia.
- Qed.
-
- Section divides.
- Lemma wt_gen_divides
- : forall i, wt (S i) / wt i > 0.
- Proof using base_pos.
- apply pow_ceil_mul_nat_divide; [ omega | ].
- destruct base; Q_cbv; lia.
- Qed.
-
- Lemma wt_gen_divides'
- : forall i, wt (S i) / wt i <> 0.
- Proof using base_pos.
- symmetry; apply Z.lt_neq, Z.gt_lt_iff, wt_gen_divides; assumption.
- Qed.
-
- Lemma wt_gen_div_bound
- : forall i, wt (S i) / wt i <= wt 1.
- Proof using base_pos.
- intro; etransitivity.
- eapply pow_ceil_mul_nat_divide_upperbound; [ omega | ].
- all:destruct base; Q_cbv; autorewrite with zsimplify_const;
- rewrite ?Pos.mul_1_l, ?Pos.mul_1_r; try assumption; omega.
- Qed.
- Lemma wt_gen_divides_chain
- carry_chain
- : forall i (H:In i carry_chain), wt (S i) / wt i <> 0.
- Proof using base_pos. intros i ?; apply wt_gen_divides'; assumption. Qed.
-
- Lemma wt_gen_divides_chains
- carry_chains
- : List.fold_right
- and
- True
- (List.map
- (fun carry_chain
- => forall i (H:In i carry_chain), wt (S i) / wt i <> 0)
- carry_chains).
- Proof using base_pos.
- induction carry_chains as [|carry_chain carry_chains IHcarry_chains];
- constructor; eauto using wt_gen_divides_chain.
- Qed.
- End divides.
-
- Definition coef'
- := (fix addm (acc: Z^sz) (ctr : nat) : Z^sz :=
- match ctr with
- | O => acc
- | S n => addm (Positional.add_cps wt acc m_enc' id) n
- end) (Positional.zeros sz) coef_div_modulus.
-
- Lemma coef_mod'
- : mod_eq m (Positional.eval (n:=sz) wt coef') 0.
- Proof using base_pos.
- cbv [coef' m_enc'].
- remember (Positional.zeros sz) as v eqn:Hv.
- assert (Hv' : mod_eq m (Positional.eval wt v) 0)
- by (subst v; autorewrite with push_basesystem_eval; reflexivity);
- clear Hv.
- revert dependent v.
- induction coef_div_modulus as [|n IHn]; clear coef_div_modulus;
- intros; [ assumption | ].
- rewrite IHn; [ reflexivity | ].
- pose proof wt_gen0_1.
- pose proof wt_gen_nonzero.
- pose proof div_mod.
- pose proof wt_gen_divides'.
- destruct (Nat.eq_dec sz 0).
- { subst; reflexivity. }
- { repeat autounfold; autorewrite with uncps push_id push_basesystem_eval.
- rewrite Positional.eval_encode by (intros; autorewrite with uncps; unfold id; auto).
- cbv [mod_eq] in *.
- push_Zmod; rewrite Hv'; pull_Zmod.
- reflexivity. }
- Qed.
-End gen.
-
-Ltac pose_wt base wt :=
- let v := (eval cbv [wt_gen] in (wt_gen base)) in
- cache_term v wt.
-
-Ltac pose_sz2 sz sz2 :=
- let v := (eval vm_compute in (sz2' sz)) in
- cache_term v sz2.
-
-Ltac pose_half_sz sz half_sz :=
- let v := (eval compute in (half_sz' sz)) in
- cache_term v half_sz.
-
-Ltac pose_s_nonzero s s_nonzero :=
- cache_proof_with_type_by
- (s <> 0)
- ltac:(vm_decide_no_check)
- s_nonzero.
-
-Ltac pose_sz_le_log2_m sz m sz_le_log2_m :=
- cache_proof_with_type_by
- (Z.of_nat sz <= Z.log2_up (Z.pos m))
- ltac:(vm_decide_no_check)
- sz_le_log2_m.
-
-Ltac pose_base_pos base base_pos :=
- cache_proof_with_type_by
- ((1 <= base)%Q)
- ltac:(vm_decide_no_check)
- base_pos.
-
-Ltac pose_m_correct m s c m_correct :=
- cache_proof_with_type_by
- (Z.pos m = s - Associational.eval c)
- ltac:(vm_decide_no_check)
- m_correct.
-
-Ltac pose_m_enc base m sz m_enc :=
- let v := (eval vm_compute in (m_enc' base m sz)) in
- let v := (eval compute in v) in (* compute away the type arguments *)
- cache_term v m_enc.
-
-Ltac pose_coef base m sz coef_div_modulus coef := (* subtraction coefficient *)
- let v := (eval vm_compute in (coef' base m sz coef_div_modulus)) in
- cache_term v coef.
-
-Ltac pose_coef_mod wt coef base m sz coef_div_modulus base_pos coef_mod :=
- cache_proof_with_type_by
- (mod_eq m (Positional.eval (n:=sz) wt coef) 0)
- ltac:(vm_cast_no_check (coef_mod' base m sz coef_div_modulus base_pos))
- coef_mod.
-Ltac pose_sz_nonzero sz sz_nonzero :=
- cache_proof_with_type_by
- (sz <> 0%nat)
- ltac:(vm_decide_no_check)
- sz_nonzero.
-
-Ltac pose_wt_nonzero wt wt_nonzero :=
- cache_proof_with_type_by
- (forall i, wt i <> 0)
- ltac:(apply wt_gen_nonzero; vm_decide_no_check)
- wt_nonzero.
-Ltac pose_wt_nonneg wt wt_nonneg :=
- cache_proof_with_type_by
- (forall i, 0 <= wt i)
- ltac:(apply wt_gen_nonneg; vm_decide_no_check)
- wt_nonneg.
-Ltac pose_wt_divides wt wt_divides :=
- cache_proof_with_type_by
- (forall i, wt (S i) / wt i > 0)
- ltac:(apply wt_gen_divides; vm_decide_no_check)
- wt_divides.
-Ltac pose_wt_divides' wt wt_divides wt_divides' :=
- cache_proof_with_type_by
- (forall i, wt (S i) / wt i <> 0)
- ltac:(apply wt_gen_divides'; vm_decide_no_check)
- wt_divides'.
-
-Ltac pose_wt_divides_chains wt carry_chains wt_divides_chains :=
- let T := (eval cbv [carry_chains List.fold_right List.map] in
- (List.fold_right
- and
- True
- (List.map
- (fun carry_chain
- => forall i (H:In i carry_chain), wt (S i) / wt i <> 0)
- carry_chains))) in
- cache_proof_with_type_by
- T
- ltac:(refine (@wt_gen_divides_chains _ _ carry_chains); vm_decide_no_check)
- wt_divides_chains.
-
-Ltac pose_wt_pos wt wt_pos :=
- cache_proof_with_type_by
- (forall i, wt i > 0)
- ltac:(apply wt_gen_pos; vm_decide_no_check)
- wt_pos.
-
-Ltac pose_wt_multiples wt wt_multiples :=
- cache_proof_with_type_by
- (forall i, wt (S i) mod (wt i) = 0)
- ltac:(apply wt_gen_multiples; vm_decide_no_check)
- wt_multiples.
-
-Ltac pose_c_small c wt sz c_small :=
- cache_proof_with_type_by
- (0 < Associational.eval c < wt sz)
- ltac:(vm_decide_no_check)
- c_small.
-
-Ltac pose_base_le_bitwidth base bitwidth base_le_bitwidth := (* this is purely a sanity check *)
- cache_proof_with_type_by
- (base <= inject_Z bitwidth)%Q
- ltac:(cbv -[Z.le]; vm_decide_no_check)
- base_le_bitwidth.
-
-
-Ltac pose_m_enc_bounded sz bitwidth m_enc m_enc_bounded :=
- cache_proof_with_type_by
- (Tuple.map (n:=sz) (BinInt.Z.land (Z.ones bitwidth)) m_enc = m_enc)
- ltac:(vm_compute; reflexivity)
- m_enc_bounded.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/BasePackage.v b/src/Specific/Framework/ArithmeticSynthesis/BasePackage.v
deleted file mode 100644
index 18b0bcda0..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/BasePackage.v
+++ /dev/null
@@ -1,247 +0,0 @@
-(* This file is autogenerated from Base.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Export Crypto.Specific.Framework.ArithmeticSynthesis.Base.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := r | m | wt | sz2 | half_sz | s_nonzero | sz_le_log2_m | base_pos | m_correct | m_enc | coef | coef_mod | sz_nonzero | wt_nonzero | wt_nonneg | wt_divides | wt_divides' | wt_divides_chains | wt_pos | wt_multiples | c_small | base_le_bitwidth | m_enc_bounded.
-End TAG.
-
-Ltac add_r pkg :=
- let bitwidth := Tag.get pkg TAG.bitwidth in
- let r := fresh "r" in
- let r := pose_r bitwidth r in
- Tag.update pkg TAG.r r.
-
-Ltac add_m pkg :=
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let m := fresh "m" in
- let m := pose_m s c m in
- Tag.update pkg TAG.m m.
-
-Ltac add_wt pkg :=
- let base := Tag.get pkg TAG.base in
- let wt := fresh "wt" in
- let wt := pose_wt base wt in
- Tag.update pkg TAG.wt wt.
-
-Ltac add_sz2 pkg :=
- let sz := Tag.get pkg TAG.sz in
- let sz2 := fresh "sz2" in
- let sz2 := pose_sz2 sz sz2 in
- Tag.update pkg TAG.sz2 sz2.
-
-Ltac add_half_sz pkg :=
- let sz := Tag.get pkg TAG.sz in
- let half_sz := fresh "half_sz" in
- let half_sz := pose_half_sz sz half_sz in
- Tag.update pkg TAG.half_sz half_sz.
-
-Ltac add_s_nonzero pkg :=
- let s := Tag.get pkg TAG.s in
- let s_nonzero := fresh "s_nonzero" in
- let s_nonzero := pose_s_nonzero s s_nonzero in
- Tag.update pkg TAG.s_nonzero s_nonzero.
-
-Ltac add_sz_le_log2_m pkg :=
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let sz_le_log2_m := fresh "sz_le_log2_m" in
- let sz_le_log2_m := pose_sz_le_log2_m sz m sz_le_log2_m in
- Tag.update pkg TAG.sz_le_log2_m sz_le_log2_m.
-
-Ltac add_base_pos pkg :=
- let base := Tag.get pkg TAG.base in
- let base_pos := fresh "base_pos" in
- let base_pos := pose_base_pos base base_pos in
- Tag.update pkg TAG.base_pos base_pos.
-
-Ltac add_m_correct pkg :=
- let m := Tag.get pkg TAG.m in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let m_correct := fresh "m_correct" in
- let m_correct := pose_m_correct m s c m_correct in
- Tag.update pkg TAG.m_correct m_correct.
-
-Ltac add_m_enc pkg :=
- let base := Tag.get pkg TAG.base in
- let m := Tag.get pkg TAG.m in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := fresh "m_enc" in
- let m_enc := pose_m_enc base m sz m_enc in
- Tag.update pkg TAG.m_enc m_enc.
-
-Ltac add_coef pkg :=
- let base := Tag.get pkg TAG.base in
- let m := Tag.get pkg TAG.m in
- let sz := Tag.get pkg TAG.sz in
- let coef_div_modulus := Tag.get pkg TAG.coef_div_modulus in
- let coef := fresh "coef" in
- let coef := pose_coef base m sz coef_div_modulus coef in
- Tag.update pkg TAG.coef coef.
-
-Ltac add_coef_mod pkg :=
- let wt := Tag.get pkg TAG.wt in
- let coef := Tag.get pkg TAG.coef in
- let base := Tag.get pkg TAG.base in
- let m := Tag.get pkg TAG.m in
- let sz := Tag.get pkg TAG.sz in
- let coef_div_modulus := Tag.get pkg TAG.coef_div_modulus in
- let base_pos := Tag.get pkg TAG.base_pos in
- let coef_mod := fresh "coef_mod" in
- let coef_mod := pose_coef_mod wt coef base m sz coef_div_modulus base_pos coef_mod in
- Tag.update pkg TAG.coef_mod coef_mod.
-
-Ltac add_sz_nonzero pkg :=
- let sz := Tag.get pkg TAG.sz in
- let sz_nonzero := fresh "sz_nonzero" in
- let sz_nonzero := pose_sz_nonzero sz sz_nonzero in
- Tag.update pkg TAG.sz_nonzero sz_nonzero.
-
-Ltac add_wt_nonzero pkg :=
- let wt := Tag.get pkg TAG.wt in
- let wt_nonzero := fresh "wt_nonzero" in
- let wt_nonzero := pose_wt_nonzero wt wt_nonzero in
- Tag.update pkg TAG.wt_nonzero wt_nonzero.
-
-Ltac add_wt_nonneg pkg :=
- let wt := Tag.get pkg TAG.wt in
- let wt_nonneg := fresh "wt_nonneg" in
- let wt_nonneg := pose_wt_nonneg wt wt_nonneg in
- Tag.update pkg TAG.wt_nonneg wt_nonneg.
-
-Ltac add_wt_divides pkg :=
- let wt := Tag.get pkg TAG.wt in
- let wt_divides := fresh "wt_divides" in
- let wt_divides := pose_wt_divides wt wt_divides in
- Tag.update pkg TAG.wt_divides wt_divides.
-
-Ltac add_wt_divides' pkg :=
- let wt := Tag.get pkg TAG.wt in
- let wt_divides := Tag.get pkg TAG.wt_divides in
- let wt_divides' := fresh "wt_divides'" in
- let wt_divides' := pose_wt_divides' wt wt_divides wt_divides' in
- Tag.update pkg TAG.wt_divides' wt_divides'.
-
-Ltac add_wt_divides_chains pkg :=
- let wt := Tag.get pkg TAG.wt in
- let carry_chains := Tag.get pkg TAG.carry_chains in
- let wt_divides_chains := fresh "wt_divides_chains" in
- let wt_divides_chains := pose_wt_divides_chains wt carry_chains wt_divides_chains in
- Tag.update pkg TAG.wt_divides_chains wt_divides_chains.
-
-Ltac add_wt_pos pkg :=
- let wt := Tag.get pkg TAG.wt in
- let wt_pos := fresh "wt_pos" in
- let wt_pos := pose_wt_pos wt wt_pos in
- Tag.update pkg TAG.wt_pos wt_pos.
-
-Ltac add_wt_multiples pkg :=
- let wt := Tag.get pkg TAG.wt in
- let wt_multiples := fresh "wt_multiples" in
- let wt_multiples := pose_wt_multiples wt wt_multiples in
- Tag.update pkg TAG.wt_multiples wt_multiples.
-
-Ltac add_c_small pkg :=
- let c := Tag.get pkg TAG.c in
- let wt := Tag.get pkg TAG.wt in
- let sz := Tag.get pkg TAG.sz in
- let c_small := fresh "c_small" in
- let c_small := pose_c_small c wt sz c_small in
- Tag.update pkg TAG.c_small c_small.
-
-Ltac add_base_le_bitwidth pkg :=
- let base := Tag.get pkg TAG.base in
- let bitwidth := Tag.get pkg TAG.bitwidth in
- let base_le_bitwidth := fresh "base_le_bitwidth" in
- let base_le_bitwidth := pose_base_le_bitwidth base bitwidth base_le_bitwidth in
- Tag.update pkg TAG.base_le_bitwidth base_le_bitwidth.
-
-Ltac add_m_enc_bounded pkg :=
- let sz := Tag.get pkg TAG.sz in
- let bitwidth := Tag.get pkg TAG.bitwidth in
- let m_enc := Tag.get pkg TAG.m_enc in
- let m_enc_bounded := fresh "m_enc_bounded" in
- let m_enc_bounded := pose_m_enc_bounded sz bitwidth m_enc m_enc_bounded in
- Tag.update pkg TAG.m_enc_bounded m_enc_bounded.
-
-Ltac add_Base_package pkg :=
- let pkg := add_r pkg in
- let pkg := add_m pkg in
- let pkg := add_wt pkg in
- let pkg := add_sz2 pkg in
- let pkg := add_half_sz pkg in
- let pkg := add_s_nonzero pkg in
- let pkg := add_sz_le_log2_m pkg in
- let pkg := add_base_pos pkg in
- let pkg := add_m_correct pkg in
- let pkg := add_m_enc pkg in
- let pkg := add_coef pkg in
- let pkg := add_coef_mod pkg in
- let pkg := add_sz_nonzero pkg in
- let pkg := add_wt_nonzero pkg in
- let pkg := add_wt_nonneg pkg in
- let pkg := add_wt_divides pkg in
- let pkg := add_wt_divides' pkg in
- let pkg := add_wt_divides_chains pkg in
- let pkg := add_wt_pos pkg in
- let pkg := add_wt_multiples pkg in
- let pkg := add_c_small pkg in
- let pkg := add_base_le_bitwidth pkg in
- let pkg := add_m_enc_bounded pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeBasePackage (PKG : PrePackage).
- Module Import MakeBasePackageInternal := MakePackageBase PKG.
-
- Ltac get_r _ := get TAG.r.
- Notation r := (ltac:(let v := get_r () in exact v)) (only parsing).
- Ltac get_m _ := get TAG.m.
- Notation m := (ltac:(let v := get_m () in exact v)) (only parsing).
- Ltac get_wt _ := get TAG.wt.
- Notation wt := (ltac:(let v := get_wt () in exact v)) (only parsing).
- Ltac get_sz2 _ := get TAG.sz2.
- Notation sz2 := (ltac:(let v := get_sz2 () in exact v)) (only parsing).
- Ltac get_half_sz _ := get TAG.half_sz.
- Notation half_sz := (ltac:(let v := get_half_sz () in exact v)) (only parsing).
- Ltac get_s_nonzero _ := get TAG.s_nonzero.
- Notation s_nonzero := (ltac:(let v := get_s_nonzero () in exact v)) (only parsing).
- Ltac get_sz_le_log2_m _ := get TAG.sz_le_log2_m.
- Notation sz_le_log2_m := (ltac:(let v := get_sz_le_log2_m () in exact v)) (only parsing).
- Ltac get_base_pos _ := get TAG.base_pos.
- Notation base_pos := (ltac:(let v := get_base_pos () in exact v)) (only parsing).
- Ltac get_m_correct _ := get TAG.m_correct.
- Notation m_correct := (ltac:(let v := get_m_correct () in exact v)) (only parsing).
- Ltac get_m_enc _ := get TAG.m_enc.
- Notation m_enc := (ltac:(let v := get_m_enc () in exact v)) (only parsing).
- Ltac get_coef _ := get TAG.coef.
- Notation coef := (ltac:(let v := get_coef () in exact v)) (only parsing).
- Ltac get_coef_mod _ := get TAG.coef_mod.
- Notation coef_mod := (ltac:(let v := get_coef_mod () in exact v)) (only parsing).
- Ltac get_sz_nonzero _ := get TAG.sz_nonzero.
- Notation sz_nonzero := (ltac:(let v := get_sz_nonzero () in exact v)) (only parsing).
- Ltac get_wt_nonzero _ := get TAG.wt_nonzero.
- Notation wt_nonzero := (ltac:(let v := get_wt_nonzero () in exact v)) (only parsing).
- Ltac get_wt_nonneg _ := get TAG.wt_nonneg.
- Notation wt_nonneg := (ltac:(let v := get_wt_nonneg () in exact v)) (only parsing).
- Ltac get_wt_divides _ := get TAG.wt_divides.
- Notation wt_divides := (ltac:(let v := get_wt_divides () in exact v)) (only parsing).
- Ltac get_wt_divides' _ := get TAG.wt_divides'.
- Notation wt_divides' := (ltac:(let v := get_wt_divides' () in exact v)) (only parsing).
- Ltac get_wt_divides_chains _ := get TAG.wt_divides_chains.
- Notation wt_divides_chains := (ltac:(let v := get_wt_divides_chains () in exact v)) (only parsing).
- Ltac get_wt_pos _ := get TAG.wt_pos.
- Notation wt_pos := (ltac:(let v := get_wt_pos () in exact v)) (only parsing).
- Ltac get_wt_multiples _ := get TAG.wt_multiples.
- Notation wt_multiples := (ltac:(let v := get_wt_multiples () in exact v)) (only parsing).
- Ltac get_c_small _ := get TAG.c_small.
- Notation c_small := (ltac:(let v := get_c_small () in exact v)) (only parsing).
- Ltac get_base_le_bitwidth _ := get TAG.base_le_bitwidth.
- Notation base_le_bitwidth := (ltac:(let v := get_base_le_bitwidth () in exact v)) (only parsing).
- Ltac get_m_enc_bounded _ := get TAG.m_enc_bounded.
- Notation m_enc_bounded := (ltac:(let v := get_m_enc_bounded () in exact v)) (only parsing).
-End MakeBasePackage.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/Defaults.v b/src/Specific/Framework/ArithmeticSynthesis/Defaults.v
deleted file mode 100644
index 1d3c3c89c..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/Defaults.v
+++ /dev/null
@@ -1,405 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.ZArith.BinIntDef.
-Require Import Coq.QArith.QArith_base.
-Require Import Coq.Lists.List. Import ListNotations.
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Crypto.Specific.Framework.CurveParameters.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.Base.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.PoseTermWithName.
-Require Import Crypto.Util.Tactics.CacheTerm.
-Require Crypto.Util.Tuple.
-
-Local Notation tuple := Tuple.tuple.
-Local Open Scope list_scope.
-Local Open Scope Z_scope.
-Local Infix "^" := tuple : type_scope.
-
-Module Export Exports.
- Export Coq.setoid_ring.ZArithRing.
-End Exports.
-
-Local Ltac solve_constant_local_sig :=
- idtac;
- lazymatch goal with
- | [ |- { c : Z^?sz | Positional.Fdecode (m:=?M) ?wt c = ?v } ]
- => (exists (Positional.encode (n:=sz) (modulo_cps:=@modulo_cps) (div_cps:=@div_cps) wt (F.to_Z (m:=M) v)));
- lazymatch goal with
- | [ sz_nonzero : sz <> 0%nat, base_pos : (1 <= _)%Q |- _ ]
- => clear -base_pos sz_nonzero
- end
- end;
- abstract (
- setoid_rewrite Positional.Fdecode_Fencode_id;
- [ reflexivity
- | auto using wt_gen0_1, wt_gen_nonzero, wt_gen_divides', div_mod;
- intros; autorewrite with uncps push_id; auto using div_mod.. ]
- ).
-
-Section gen.
- Context (m : positive)
- (base : Q)
- (sz : nat)
- (s : Z)
- (c : list limb)
- (carry_chains : list (list nat))
- (coef : Z^sz)
- (mul_code : option (Z^sz -> Z^sz -> Z^sz))
- (square_code : option (Z^sz -> Z^sz))
- (sz_nonzero : sz <> 0%nat)
- (s_nonzero : s <> 0)
- (base_pos : (1 <= base)%Q)
- (sz_le_log2_m : Z.of_nat sz <= Z.log2_up (Z.pos m)).
-
- Local Notation wt := (wt_gen base).
- Local Notation sz2 := (sz2' sz).
- Local Notation wt_divides' := (wt_gen_divides' base base_pos).
- Local Notation wt_nonzero := (wt_gen_nonzero base base_pos).
-
- (* side condition needs cbv [Positional.mul_cps Positional.reduce_cps]. *)
- Context (mul_code_correct
- : match mul_code with
- | None => True
- | Some v
- => forall a b,
- v a b
- = Positional.mul_cps (n:=sz) (m:=sz2) wt a b
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)
- end)
- (square_code_correct
- : match square_code with
- | None => True
- | Some v
- => forall a,
- v a
- = Positional.mul_cps (n:=sz) (m:=sz2) wt a a
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)
- end).
-
- Context (coef_mod : mod_eq m (Positional.eval wt coef) 0)
- (m_correct : Z.pos m = s - Associational.eval c).
-
-
- (* Performs a full carry loop (as specified by carry_chain) *)
- Definition carry_sig'
- : { carry : (Z^sz -> Z^sz)%type
- | forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (carry a) = eval a }.
- Proof.
- let a := fresh "a" in
- eexists; cbv beta zeta; intros a.
- pose proof (wt_gen0_1 base).
- pose proof wt_nonzero; pose proof div_mod.
- pose proof (wt_gen_divides_chains base base_pos carry_chains).
- pose proof wt_divides'.
- let x := constr:(Positional.chained_carries_reduce (n:=sz) (modulo_cps:=@modulo_cps) (div_cps:=@div_cps) wt s c a carry_chains) in
- presolve_op_F constr:(wt) x;
- [ autorewrite with pattern_runtime; reflexivity | ].
- reflexivity.
- Defined.
-
- Definition constant_sig' v
- : { c : Z^sz | Positional.Fdecode (m:=m) wt c = v}.
- Proof. solve_constant_local_sig. Defined.
-
- Definition zero_sig'
- : { zero : Z^sz | Positional.Fdecode (m:=m) wt zero = 0%F}
- := Eval hnf in constant_sig' _.
-
- Definition one_sig'
- : { one : Z^sz | Positional.Fdecode (m:=m) wt one = 1%F}
- := Eval hnf in constant_sig' _.
-
- Definition add_sig'
- : { add : (Z^sz -> Z^sz -> Z^sz)%type
- | forall a b : Z^sz,
- let eval := Positional.Fdecode (m:=m) wt in
- eval (add a b) = (eval a + eval b)%F }.
- Proof.
- eexists; cbv beta zeta; intros a b.
- pose proof wt_nonzero.
- pose proof (wt_gen0_1 base).
- let x := constr:(
- Positional.add_cps (n := sz) wt a b id) in
- presolve_op_F constr:(wt) x;
- [ autorewrite with pattern_runtime; reflexivity | ].
- reflexivity.
- Defined.
-
- Definition sub_sig'
- : { sub : (Z^sz -> Z^sz -> Z^sz)%type
- | forall a b : Z^sz,
- let eval := Positional.Fdecode (m:=m) wt in
- eval (sub a b) = (eval a - eval b)%F }.
- Proof.
- let a := fresh "a" in
- let b := fresh "b" in
- eexists; cbv beta zeta; intros a b.
- pose proof wt_nonzero.
- pose proof (wt_gen0_1 base).
- let x := constr:(
- Positional.sub_cps (n:=sz) (coef := coef) wt a b id) in
- presolve_op_F constr:(wt) x;
- [ autorewrite with pattern_runtime; reflexivity | ].
- reflexivity.
- Defined.
-
- Definition opp_sig'
- : { opp : (Z^sz -> Z^sz)%type
- | forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (opp a) = F.opp (eval a) }.
- Proof.
- eexists; cbv beta zeta; intros a.
- pose proof wt_nonzero.
- pose proof (wt_gen0_1 base).
- let x := constr:(
- Positional.opp_cps (n:=sz) (coef := coef) wt a id) in
- presolve_op_F constr:(wt) x;
- [ autorewrite with pattern_runtime; reflexivity | ].
- reflexivity.
- Defined.
-
- Definition mul_sig'
- : { mul : (Z^sz -> Z^sz -> Z^sz)%type
- | forall a b : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (mul a b) = (eval a * eval b)%F }.
- Proof.
- eexists; cbv beta zeta; intros a b.
- pose proof wt_nonzero.
- pose proof (wt_gen0_1 base).
- pose proof (sz2'_nonzero sz sz_nonzero).
- let x := constr:(
- Positional.mul_cps (n:=sz) (m:=sz2) wt a b
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)) in
- presolve_op_F constr:(wt) x; [ | reflexivity ].
- let rhs := match goal with |- _ = ?rhs => rhs end in
- transitivity (match mul_code with
- | None => rhs
- | Some v => v a b
- end);
- [ reflexivity | ].
- destruct mul_code; try reflexivity.
- transitivity (Positional.mul_cps (n:=sz) (m:=sz2) wt a b
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)); [ | reflexivity ].
- auto.
- Defined.
-
- Definition square_sig'
- : { square : (Z^sz -> Z^sz)%type
- | forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (square a) = (eval a * eval a)%F }.
- Proof.
- eexists; cbv beta zeta; intros a.
- pose proof wt_nonzero.
- pose proof (wt_gen0_1 base).
- pose proof (sz2'_nonzero sz sz_nonzero).
- let x := constr:(
- Positional.mul_cps (n:=sz) (m:=sz2) wt a a
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)) in
- presolve_op_F constr:(wt) x; [ | reflexivity ].
- let rhs := match goal with |- _ = ?rhs => rhs end in
- transitivity (match square_code with
- | None => rhs
- | Some v => v a
- end);
- [ reflexivity | ].
- destruct square_code; try reflexivity.
- transitivity (Positional.mul_cps (n:=sz) (m:=sz2) wt a a
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)); [ | reflexivity ].
- auto.
- Defined.
-
- Let ring_pkg : { T : _ & T }.
- Proof.
- eexists.
- refine (fun zero_sig one_sig add_sig sub_sig mul_sig opp_sig
- => Ring.ring_by_isomorphism
- (F := F m)
- (H := Z^sz)
- (phi := Positional.Fencode wt)
- (phi' := Positional.Fdecode wt)
- (zero := proj1_sig zero_sig)
- (one := proj1_sig one_sig)
- (opp := proj1_sig opp_sig)
- (add := proj1_sig add_sig)
- (sub := proj1_sig sub_sig)
- (mul := proj1_sig mul_sig)
- (phi'_zero := _)
- (phi'_one := _)
- (phi'_opp := _)
- (Positional.Fdecode_Fencode_id
- (sz_nonzero := sz_nonzero)
- (div_mod := div_mod)
- wt (wt_gen0_1 base) wt_nonzero wt_divides')
- (Positional.eq_Feq_iff wt)
- _ _ _);
- lazymatch goal with
- | [ |- context[@proj1_sig ?A ?P ?x] ]
- => pattern (@proj1_sig A P x);
- exact (@proj2_sig A P x)
- | _ => eauto using @Core.modulo_id, @Core.div_id with nocore
- end.
- Defined.
-
- Definition ring' zero_sig one_sig add_sig sub_sig mul_sig opp_sig
- := Eval cbv [ring_pkg projT2] in
- projT2 ring_pkg zero_sig one_sig add_sig sub_sig mul_sig opp_sig.
-End gen.
-
-Ltac internal_solve_code_correct P_tac :=
- hnf;
- lazymatch goal with
- | [ |- True ] => constructor
- | _
- => cbv [Positional.mul_cps Positional.reduce_cps];
- intros;
- autorewrite with pattern_runtime;
- repeat autounfold;
- autorewrite with pattern_runtime;
- basesystem_partial_evaluation_RHS;
- P_tac ();
- break_match; cbv [Let_In runtime_mul runtime_add]; repeat apply (f_equal2 pair); rewrite ?Z.shiftl_mul_pow2 by omega; ring
- end.
-
-Ltac pose_mul_code_correct P_extra_prove_mul_eq sz sz2 wt s c mul_code mul_code_correct :=
- cache_proof_with_type_by
- (match mul_code with
- | None => True
- | Some v
- => forall a b,
- v a b
- = Positional.mul_cps (n:=sz) (m:=sz2) wt a b
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)
- end)
- ltac:(internal_solve_code_correct P_extra_prove_mul_eq)
- mul_code_correct.
-
-Ltac pose_square_code_correct P_extra_prove_square_eq sz sz2 wt s c square_code square_code_correct :=
- cache_proof_with_type_by
- (match square_code with
- | None => True
- | Some v
- => forall a,
- v a
- = Positional.mul_cps (n:=sz) (m:=sz2) wt a a
- (fun ab => Positional.reduce_cps (n:=sz) (m:=sz2) wt s c ab id)
- end)
- ltac:(internal_solve_code_correct P_extra_prove_square_eq)
- square_code_correct.
-
-Ltac cache_sig_with_type_by_existing_sig ty existing_sig id :=
- cache_sig_with_type_by_existing_sig_helper
- ltac:(fun _ => cbv [carry_sig' constant_sig' zero_sig' one_sig' add_sig' sub_sig' mul_sig' square_sig' opp_sig'])
- ty existing_sig id.
-
-Ltac pose_carry_sig wt m base sz s c carry_chains carry_sig :=
- cache_sig_with_type_by_existing_sig
- {carry : (Z^sz -> Z^sz)%type |
- forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (carry a) = eval a}
- (carry_sig' m base sz s c carry_chains)
- carry_sig.
-
-Ltac pose_zero_sig wt m base sz sz_nonzero base_pos zero_sig :=
- cache_vm_sig_with_type
- { zero : Z^sz | Positional.Fdecode (m:=m) wt zero = 0%F}
- (zero_sig' m base sz sz_nonzero base_pos)
- zero_sig.
-
-Ltac pose_one_sig wt m base sz sz_nonzero base_pos one_sig :=
- cache_vm_sig_with_type
- { one : Z^sz | Positional.Fdecode (m:=m) wt one = 1%F}
- (one_sig' m base sz sz_nonzero base_pos)
- one_sig.
-
-Ltac pose_add_sig wt m base sz add_sig :=
- cache_sig_with_type_by_existing_sig
- { add : (Z^sz -> Z^sz -> Z^sz)%type |
- forall a b : Z^sz,
- let eval := Positional.Fdecode (m:=m) wt in
- eval (add a b) = (eval a + eval b)%F }
- (add_sig' m base sz)
- add_sig.
-
-Ltac pose_sub_sig wt m base sz coef sub_sig :=
- cache_sig_with_type_by_existing_sig
- {sub : (Z^sz -> Z^sz -> Z^sz)%type |
- forall a b : Z^sz,
- let eval := Positional.Fdecode (m:=m) wt in
- eval (sub a b) = (eval a - eval b)%F}
- (sub_sig' m base sz coef)
- sub_sig.
-
-Ltac pose_opp_sig wt m base sz coef opp_sig :=
- cache_sig_with_type_by_existing_sig
- {opp : (Z^sz -> Z^sz)%type |
- forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (opp a) = F.opp (eval a)}
- (opp_sig' m base sz coef)
- opp_sig.
-
-Ltac pose_mul_sig wt m base sz s c mul_code sz_nonzero s_nonzero base_pos mul_code_correct mul_sig :=
- cache_sig_with_type_by_existing_sig
- {mul : (Z^sz -> Z^sz -> Z^sz)%type |
- forall a b : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (mul a b) = (eval a * eval b)%F}
- (mul_sig' m base sz s c mul_code sz_nonzero s_nonzero base_pos mul_code_correct)
- mul_sig.
-
-Ltac pose_square_sig wt m base sz s c square_code sz_nonzero s_nonzero base_pos square_code_correct square_sig :=
- cache_sig_with_type_by_existing_sig
- {square : (Z^sz -> Z^sz)%type |
- forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- eval (square a) = (eval a * eval a)%F}
- (square_sig' m base sz s c square_code sz_nonzero s_nonzero base_pos square_code_correct)
- square_sig.
-
-Ltac pose_ring sz m wt wt_divides' sz_nonzero wt_nonzero zero_sig one_sig opp_sig add_sig sub_sig mul_sig ring :=
- cache_term
- (Ring.ring_by_isomorphism
- (F := F m)
- (H := Z^sz)
- (phi := Positional.Fencode wt)
- (phi' := Positional.Fdecode wt)
- (zero := proj1_sig zero_sig)
- (one := proj1_sig one_sig)
- (opp := proj1_sig opp_sig)
- (add := proj1_sig add_sig)
- (sub := proj1_sig sub_sig)
- (mul := proj1_sig mul_sig)
- (phi'_zero := proj2_sig zero_sig)
- (phi'_one := proj2_sig one_sig)
- (phi'_opp := proj2_sig opp_sig)
- (Positional.Fdecode_Fencode_id
- (sz_nonzero := sz_nonzero)
- (div_mod := div_mod)
- (modulo_cps_id:=@Core.modulo_id)
- (div_cps_id:=@Core.div_id)
- wt eq_refl wt_nonzero wt_divides')
- (Positional.eq_Feq_iff wt)
- (proj2_sig add_sig)
- (proj2_sig sub_sig)
- (proj2_sig mul_sig)
- )
- ring.
-
-(*
-Eval cbv [proj1_sig add_sig] in (proj1_sig add_sig).
-Eval cbv [proj1_sig sub_sig] in (proj1_sig sub_sig).
-Eval cbv [proj1_sig opp_sig] in (proj1_sig opp_sig).
-Eval cbv [proj1_sig mul_sig] in (proj1_sig mul_sig).
-Eval cbv [proj1_sig carry_sig] in (proj1_sig carry_sig).
- *)
diff --git a/src/Specific/Framework/ArithmeticSynthesis/DefaultsPackage.v b/src/Specific/Framework/ArithmeticSynthesis/DefaultsPackage.v
deleted file mode 100644
index 52ed4ad33..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/DefaultsPackage.v
+++ /dev/null
@@ -1,208 +0,0 @@
-(* This file is autogenerated from Defaults.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Export Crypto.Specific.Framework.ArithmeticSynthesis.Defaults.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := mul_code_correct | square_code_correct | carry_sig | zero_sig | one_sig | add_sig | sub_sig | opp_sig | mul_sig | square_sig | ring.
-End TAG.
-
-Ltac add_mul_code_correct pkg P_extra_prove_mul_eq :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.mul_code_correct
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let sz2 := Tag.get pkg TAG.sz2 in
- let wt := Tag.get pkg TAG.wt in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let mul_code := Tag.get pkg TAG.mul_code in
- let mul_code_correct := fresh "mul_code_correct" in
- let mul_code_correct := pose_mul_code_correct P_extra_prove_mul_eq sz sz2 wt s c mul_code mul_code_correct in
- constr:(mul_code_correct)).
-Ltac add_square_code_correct pkg P_extra_prove_square_eq :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.square_code_correct
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let sz2 := Tag.get pkg TAG.sz2 in
- let wt := Tag.get pkg TAG.wt in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let square_code := Tag.get pkg TAG.square_code in
- let square_code_correct := fresh "square_code_correct" in
- let square_code_correct := pose_square_code_correct P_extra_prove_square_eq sz sz2 wt s c square_code square_code_correct in
- constr:(square_code_correct)).
-Ltac add_carry_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.carry_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let carry_chains := Tag.get pkg TAG.carry_chains in
- let carry_sig := fresh "carry_sig" in
- let carry_sig := pose_carry_sig wt m base sz s c carry_chains carry_sig in
- constr:(carry_sig)).
-Ltac add_zero_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.zero_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let sz_nonzero := Tag.get pkg TAG.sz_nonzero in
- let base_pos := Tag.get pkg TAG.base_pos in
- let zero_sig := fresh "zero_sig" in
- let zero_sig := pose_zero_sig wt m base sz sz_nonzero base_pos zero_sig in
- constr:(zero_sig)).
-Ltac add_one_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.one_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let sz_nonzero := Tag.get pkg TAG.sz_nonzero in
- let base_pos := Tag.get pkg TAG.base_pos in
- let one_sig := fresh "one_sig" in
- let one_sig := pose_one_sig wt m base sz sz_nonzero base_pos one_sig in
- constr:(one_sig)).
-Ltac add_add_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.add_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let add_sig := fresh "add_sig" in
- let add_sig := pose_add_sig wt m base sz add_sig in
- constr:(add_sig)).
-Ltac add_sub_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.sub_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let coef := Tag.get pkg TAG.coef in
- let sub_sig := fresh "sub_sig" in
- let sub_sig := pose_sub_sig wt m base sz coef sub_sig in
- constr:(sub_sig)).
-Ltac add_opp_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.opp_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let coef := Tag.get pkg TAG.coef in
- let opp_sig := fresh "opp_sig" in
- let opp_sig := pose_opp_sig wt m base sz coef opp_sig in
- constr:(opp_sig)).
-Ltac add_mul_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.mul_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let mul_code := Tag.get pkg TAG.mul_code in
- let sz_nonzero := Tag.get pkg TAG.sz_nonzero in
- let s_nonzero := Tag.get pkg TAG.s_nonzero in
- let base_pos := Tag.get pkg TAG.base_pos in
- let mul_code_correct := Tag.get pkg TAG.mul_code_correct in
- let mul_sig := fresh "mul_sig" in
- let mul_sig := pose_mul_sig wt m base sz s c mul_code sz_nonzero s_nonzero base_pos mul_code_correct mul_sig in
- constr:(mul_sig)).
-Ltac add_square_sig pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.square_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let square_code := Tag.get pkg TAG.square_code in
- let sz_nonzero := Tag.get pkg TAG.sz_nonzero in
- let s_nonzero := Tag.get pkg TAG.s_nonzero in
- let base_pos := Tag.get pkg TAG.base_pos in
- let square_code_correct := Tag.get pkg TAG.square_code_correct in
- let square_sig := fresh "square_sig" in
- let square_sig := pose_square_sig wt m base sz s c square_code sz_nonzero s_nonzero base_pos square_code_correct square_sig in
- constr:(square_sig)).
-Ltac add_ring pkg :=
- Tag.update_by_tac_if_not_exists
- pkg
- TAG.ring
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let wt_divides' := Tag.get pkg TAG.wt_divides' in
- let sz_nonzero := Tag.get pkg TAG.sz_nonzero in
- let wt_nonzero := Tag.get pkg TAG.wt_nonzero in
- let zero_sig := Tag.get pkg TAG.zero_sig in
- let one_sig := Tag.get pkg TAG.one_sig in
- let opp_sig := Tag.get pkg TAG.opp_sig in
- let add_sig := Tag.get pkg TAG.add_sig in
- let sub_sig := Tag.get pkg TAG.sub_sig in
- let mul_sig := Tag.get pkg TAG.mul_sig in
- let ring := fresh "ring" in
- let ring := pose_ring sz m wt wt_divides' sz_nonzero wt_nonzero zero_sig one_sig opp_sig add_sig sub_sig mul_sig ring in
- constr:(ring)).
-Ltac add_Defaults_package pkg P_extra_prove_mul_eq P_extra_prove_square_eq :=
- let pkg := add_mul_code_correct pkg P_extra_prove_mul_eq in
- let pkg := add_square_code_correct pkg P_extra_prove_square_eq in
- let pkg := add_carry_sig pkg in
- let pkg := add_zero_sig pkg in
- let pkg := add_one_sig pkg in
- let pkg := add_add_sig pkg in
- let pkg := add_sub_sig pkg in
- let pkg := add_opp_sig pkg in
- let pkg := add_mul_sig pkg in
- let pkg := add_square_sig pkg in
- let pkg := add_ring pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeDefaultsPackage (PKG : PrePackage).
- Module Import MakeDefaultsPackageInternal := MakePackageBase PKG.
-
- Ltac get_mul_code_correct _ := get TAG.mul_code_correct.
- Notation mul_code_correct := (ltac:(let v := get_mul_code_correct () in exact v)) (only parsing).
- Ltac get_square_code_correct _ := get TAG.square_code_correct.
- Notation square_code_correct := (ltac:(let v := get_square_code_correct () in exact v)) (only parsing).
- Ltac get_carry_sig _ := get TAG.carry_sig.
- Notation carry_sig := (ltac:(let v := get_carry_sig () in exact v)) (only parsing).
- Ltac get_zero_sig _ := get TAG.zero_sig.
- Notation zero_sig := (ltac:(let v := get_zero_sig () in exact v)) (only parsing).
- Ltac get_one_sig _ := get TAG.one_sig.
- Notation one_sig := (ltac:(let v := get_one_sig () in exact v)) (only parsing).
- Ltac get_add_sig _ := get TAG.add_sig.
- Notation add_sig := (ltac:(let v := get_add_sig () in exact v)) (only parsing).
- Ltac get_sub_sig _ := get TAG.sub_sig.
- Notation sub_sig := (ltac:(let v := get_sub_sig () in exact v)) (only parsing).
- Ltac get_opp_sig _ := get TAG.opp_sig.
- Notation opp_sig := (ltac:(let v := get_opp_sig () in exact v)) (only parsing).
- Ltac get_mul_sig _ := get TAG.mul_sig.
- Notation mul_sig := (ltac:(let v := get_mul_sig () in exact v)) (only parsing).
- Ltac get_square_sig _ := get TAG.square_sig.
- Notation square_sig := (ltac:(let v := get_square_sig () in exact v)) (only parsing).
- Ltac get_ring _ := get TAG.ring.
- Notation ring := (ltac:(let v := get_ring () in exact v)) (only parsing).
-End MakeDefaultsPackage.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/Freeze.v b/src/Specific/Framework/ArithmeticSynthesis/Freeze.v
deleted file mode 100644
index 8c291bc1c..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/Freeze.v
+++ /dev/null
@@ -1,80 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.ZArith.BinIntDef.
-Require Import Coq.QArith.QArith_base.
-Require Import Coq.Lists.List. Import ListNotations.
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.CoreUnfolder.
-Require Import Crypto.Arithmetic.Saturated.FreezeUnfolder.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.Saturated.Freeze.
-Require Crypto.Specific.Framework.CurveParameters.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.Base.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.LetIn Crypto.Util.ZUtil.Definitions.
-Require Crypto.Util.Tuple.
-Require Import Crypto.Util.Tactics.CacheTerm.
-
-Module Export Exports.
- Hint Opaque freeze : uncps.
- Hint Rewrite freeze_id : uncps.
-End Exports.
-
-Local Open Scope Z_scope.
-Local Infix "^" := Tuple.tuple : type_scope.
-
-Section gen.
- Context (m : positive)
- (base : Q)
- (sz : nat)
- (c : list limb)
- (bitwidth : Z)
- (m_enc : Z^sz)
- (base_pos : (1 <= base)%Q)
- (sz_nonzero : sz <> 0%nat).
-
- Local Notation wt := (wt_gen base).
- Local Notation sz2 := (sz2' sz).
- Local Notation wt_divides' := (wt_gen_divides' base base_pos).
- Local Notation wt_nonzero := (wt_gen_nonzero base base_pos).
-
- Context (c_small : 0 < Associational.eval c < wt sz)
- (m_enc_bounded : Tuple.map (BinInt.Z.land (Z.ones bitwidth)) m_enc = m_enc)
- (m_enc_correct : Positional.eval wt m_enc = Z.pos m)
- (m_correct_wt : Z.pos m = wt sz - Associational.eval c).
-
- Definition freeze_sig'
- : { freeze : (Z^sz -> Z^sz)%type |
- forall a : Z^sz,
- (0 <= Positional.eval wt a < 2 * Z.pos m)->
- let eval := Positional.Fdecode (m := m) wt in
- eval (freeze a) = eval a }.
- Proof.
- eexists; cbv beta zeta; (intros a ?).
- pose proof wt_nonzero; pose proof (wt_gen_pos base base_pos).
- pose proof (wt_gen0_1 base).
- pose proof div_mod; pose proof (wt_gen_divides base base_pos).
- pose proof (wt_gen_multiples base base_pos).
- pose proof div_correct; pose proof modulo_correct.
- let x := constr:(freeze (n:=sz) wt (Z.ones bitwidth) m_enc a) in
- presolve_op_F constr:(wt) x;
- [ autorewrite with pattern_runtime; reflexivity | ].
- reflexivity.
- Defined.
-End gen.
-
-Ltac pose_m_correct_wt m c sz wt m_correct_wt :=
- cache_proof_with_type_by
- (Z.pos m = wt sz - Associational.eval c)
- ltac:(vm_decide_no_check)
- m_correct_wt.
-
-Ltac pose_freeze_sig wt m base sz c bitwidth m_enc base_pos sz_nonzero freeze_sig :=
- cache_sig_with_type_by_existing_sig_helper
- ltac:(fun _ => cbv [freeze_sig'])
- {freeze : (Z^sz -> Z^sz)%type |
- forall a : Z^sz,
- (0 <= Positional.eval wt a < 2 * Z.pos m)->
- let eval := Positional.Fdecode (m := m) wt in
- eval (freeze a) = eval a}
- (freeze_sig' m base sz c bitwidth m_enc base_pos sz_nonzero)
- freeze_sig.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/FreezePackage.v b/src/Specific/Framework/ArithmeticSynthesis/FreezePackage.v
deleted file mode 100644
index 18fef6cc9..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/FreezePackage.v
+++ /dev/null
@@ -1,60 +0,0 @@
-(* This file is autogenerated from Freeze.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Export Crypto.Specific.Framework.ArithmeticSynthesis.Freeze.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := m_correct_wt | freeze_sig.
-End TAG.
-
-Ltac add_m_correct_wt pkg :=
- if_freeze
- pkg
- ltac:(fun _ => Tag.update_by_tac_if_not_exists
- pkg
- TAG.m_correct_wt
- ltac:(fun _ => let m := Tag.get pkg TAG.m in
- let c := Tag.get pkg TAG.c in
- let sz := Tag.get pkg TAG.sz in
- let wt := Tag.get pkg TAG.wt in
- let m_correct_wt := fresh "m_correct_wt" in
- let m_correct_wt := pose_m_correct_wt m c sz wt m_correct_wt in
- constr:(m_correct_wt)))
- ltac:(fun _ => pkg)
- ().
-Ltac add_freeze_sig pkg :=
- if_freeze
- pkg
- ltac:(fun _ => Tag.update_by_tac_if_not_exists
- pkg
- TAG.freeze_sig
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let c := Tag.get pkg TAG.c in
- let bitwidth := Tag.get pkg TAG.bitwidth in
- let m_enc := Tag.get pkg TAG.m_enc in
- let base_pos := Tag.get pkg TAG.base_pos in
- let sz_nonzero := Tag.get pkg TAG.sz_nonzero in
- let freeze_sig := fresh "freeze_sig" in
- let freeze_sig := pose_freeze_sig wt m base sz c bitwidth m_enc base_pos sz_nonzero freeze_sig in
- constr:(freeze_sig)))
- ltac:(fun _ => pkg)
- ().
-Ltac add_Freeze_package pkg :=
- let pkg := add_m_correct_wt pkg in
- let pkg := add_freeze_sig pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeFreezePackage (PKG : PrePackage).
- Module Import MakeFreezePackageInternal := MakePackageBase PKG.
-
- Ltac get_m_correct_wt _ := get TAG.m_correct_wt.
- Notation m_correct_wt := (ltac:(let v := get_m_correct_wt () in exact v)) (only parsing).
- Ltac get_freeze_sig _ := get TAG.freeze_sig.
- Notation freeze_sig := (ltac:(let v := get_freeze_sig () in exact v)) (only parsing).
-End MakeFreezePackage.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/HelperTactics.v b/src/Specific/Framework/ArithmeticSynthesis/HelperTactics.v
deleted file mode 100644
index 0a2d5dafc..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/HelperTactics.v
+++ /dev/null
@@ -1,121 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.ZArith.BinIntDef.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Crypto.Arithmetic.Saturated.Wrappers.
-Require Import Crypto.Util.ZUtil.ModInv.
-Require Import Crypto.Util.Tactics.CacheTerm.
-Require Import Crypto.Util.Decidable.
-Require Crypto.Util.Tuple.
-
-Local Notation tuple := Tuple.tuple.
-Local Open Scope list_scope.
-Local Open Scope Z_scope.
-Local Infix "^" := tuple : type_scope.
-
-Ltac if_cond_else cond tac default id :=
- lazymatch (eval compute in cond) with
- | true => tac id
- | false => default
- end.
-Ltac if_cond cond tac id := if_cond_else cond tac (0%Z) id.
-
-Ltac pose_modinv modinv_fuel a modulus modinv :=
- let v0 := constr:(Option.invert_Some (Z.modinv_fueled modinv_fuel a modulus)) in
- let v := (eval vm_compute in v0) in
- let v := lazymatch type of v with (* if the computation failed, display a reasonable error message about the attempted computation *)
- | Z => v
- | _ => (eval cbv -[Option.invert_Some Z.modinv_fueled] in v0)
- end in
- let v := (eval vm_compute in (v <: Z)) in
- cache_term v modinv.
-Ltac pose_correct_if_Z v mkeqn id :=
- let T := type of v in
- let eqn :=
- lazymatch (eval vm_compute in T) with
- | Z => mkeqn ()
- | ?T
- => let v := (eval vm_compute in v) in
- lazymatch T with
- | option _
- => lazymatch v with
- | None => constr:(v = v)
- end
- | unit
- => lazymatch v with
- | tt => constr:(tt = tt)
- end
- end
- end in
- cache_proof_with_type_by
- eqn
- ltac:(vm_compute; reflexivity)
- id.
-
-Ltac pose_proof_tuple ls :=
- let t := type of ls in
- lazymatch ls with
- | prod ?x ?y => pose_proof_tuple x; pose_proof_tuple y
- | conj ?x ?y => pose_proof_tuple x; pose_proof_tuple y
- | _
- => lazymatch eval hnf in t with
- | prod ?x ?y => pose_proof_tuple (fst ls); pose_proof_tuple (snd ls)
- | and ?x ?y => pose_proof_tuple (proj1 ls); pose_proof_tuple (proj2 ls)
- | _ => pose proof ls
- end
- end.
-
-Ltac make_chained_carries_cps sz wt s c a carry_chains :=
- (eval cbv [Positional.chained_carries_reduce_cps Positional.chained_carries_reduce_cps_step carry_chains] in
- (Positional.chained_carries_reduce_cps sz wt s c a carry_chains id)).
-
-Ltac specialize_existing_sig existing_sig :=
- lazymatch type of existing_sig with
- | ?T -> _
- => let H := fresh "existing_sig_subproof" in
- let H := cache_proof_with_type_by
- T
- ltac:(vm_decide_no_check)
- H in
- specialize_existing_sig (existing_sig H)
- | _ => existing_sig
- end.
-
-Ltac cache_sig_with_type_by_existing_sig_helper cbv_tac ty existing_sig id :=
- let existing_sig := specialize_existing_sig existing_sig in
- cache_sig_with_type_by
- ty
- ltac:(eexists; intros; etransitivity;
- [ apply f_equal
- | solve [ eapply (proj2_sig existing_sig); eassumption ] ];
- do 2 (cbv [proj1_sig
- Positional.chained_carries_reduce_cps Positional.chained_carries_reduce_cps_step
- Positional.mul_cps Positional.reduce_cps];
- cbv_tac ());
- repeat autounfold;
- let next_step _ := basesystem_partial_evaluation_RHS_gen Wrappers.basesystem_partial_evaluation_unfolder in
- lazymatch goal with
- | [ |- _ = match ?code with
- | None => _
- | _ => _
- end ]
- => let c := (eval hnf in code) in
- change code with c;
- cbv beta iota;
- lazymatch c with
- | None => next_step ()
- | _ => idtac
- end
- | _ => next_step ()
- end;
- do_replace_match_with_destructuring_match_in_goal;
- reflexivity)
- id.
-
-Ltac solve_constant_sig :=
- idtac;
- lazymatch goal with
- | [ |- { c : Z^?sz | Positional.Fdecode (m:=?M) ?wt c = ?v } ]
- => let t := (eval vm_compute in
- (Positional.encode (n:=sz) (modulo_cps:=@modulo_cps) (div_cps:=@div_cps) wt (F.to_Z (m:=M) v))) in
- (exists t; vm_decide)
- end.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/Karatsuba.v b/src/Specific/Framework/ArithmeticSynthesis/Karatsuba.v
deleted file mode 100644
index 58f5279ab..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/Karatsuba.v
+++ /dev/null
@@ -1,102 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.ZArith.BinIntDef.
-Require Import Coq.QArith.QArith_base.
-Require Import Coq.Lists.List. Import ListNotations.
-Require Import Crypto.Arithmetic.CoreUnfolder.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Crypto.Specific.Framework.CurveParameters.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Arithmetic.Karatsuba.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Crypto.Util.Tuple.
-Require Import Crypto.Util.IdfunWithAlt.
-Require Import Crypto.Util.Tactics.VM.
-Require Import Crypto.Util.QUtil.
-Require Import Crypto.Util.ZUtil.ModInv.
-
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.SquareFromMul.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.Base.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Util.Tactics.PoseTermWithName.
-Require Import Crypto.Util.Tactics.CacheTerm.
-
-Local Open Scope Z_scope.
-Local Infix "^" := Tuple.tuple : type_scope.
-
-(** XXX TODO(jadep) FIXME: Should we sanity-check that we have 2^2k - 2^k - 1 / the right form of prime? *)
-Ltac internal_pose_sqrt_s s sqrt_s :=
- let v := (eval vm_compute in (Z.log2 s / 2)) in
- cache_term (2^v) sqrt_s.
-
-Section gen.
- Context (m : positive)
- (base : Q)
- (sz : nat)
- (s : Z)
- (c : list limb)
- (half_sz : nat)
- (sqrt_s : Z)
- (base_pos : (1 <= base)%Q)
- (sz_nonzero : sz <> 0%nat)
- (half_sz_nonzero : half_sz <> 0%nat)
- (s_nonzero : s <> 0%Z)
- (m_correct : Z.pos m = s - Associational.eval c)
- (sqrt_s_nonzero : sqrt_s <> 0)
- (sqrt_s_mod_m : sqrt_s ^ 2 mod Z.pos m = (sqrt_s + 1) mod Z.pos m).
-
- Local Notation wt := (wt_gen base).
- Local Notation wt_divides' := (wt_gen_divides' base base_pos).
- Local Notation wt_nonzero := (wt_gen_nonzero base base_pos).
-
- Definition goldilocks_mul_sig'
- : { mul : (Z^sz -> Z^sz -> Z^sz)%type
- | forall a b : Z^sz,
- mul a b = goldilocks_mul_cps (n:=half_sz) (n2:=sz) wt sqrt_s a b (fun ab => Positional.reduce_cps (n:=sz) wt s c ab id) }.
- Proof.
- eexists; cbv beta zeta; intros.
- cbv [goldilocks_mul_cps].
- autorewrite with pattern_runtime.
- reflexivity.
- Defined.
-
- Definition mul_sig'
- : { mul : (Z^sz -> Z^sz -> Z^sz)%type
- | forall a b : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- Positional.Fdecode (m := m) wt (mul a b) = (eval a * eval b)%F }.
- Proof.
- eexists; cbv beta zeta; intros a b.
- pose proof wt_nonzero.
- pose proof (wt_gen0_1 base).
- let x := constr:(
- goldilocks_mul_cps (n:=half_sz) (n2:=sz) wt sqrt_s a b (fun ab => Positional.reduce_cps (n:=sz) wt s c ab id)) in
- presolve_op_F constr:(wt) x;
- [ cbv [goldilocks_mul_cps];
- autorewrite with pattern_runtime;
- reflexivity
- | ].
- reflexivity.
- Defined.
-End gen.
-
-Ltac pose_half_sz_nonzero half_sz half_sz_nonzero :=
- cache_proof_with_type_by
- (half_sz <> 0%nat)
- ltac:(cbv; congruence)
- half_sz_nonzero.
-
-Ltac pose_mul_sig wt m base sz s c half_sz mul_sig :=
- let sqrt_s := fresh "sqrt_s" in
- let sqrt_s := internal_pose_sqrt_s s sqrt_s in
- cache_sig_with_type_by_existing_sig_helper
- ltac:(fun _ => cbv [mul_sig'])
- { mul : (Z^sz -> Z^sz -> Z^sz)%type
- | forall a b : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- Positional.Fdecode (m := m) wt (mul a b) = (eval a * eval b)%F }
- (mul_sig' m base sz s c half_sz sqrt_s)
- mul_sig.
-
-Ltac pose_square_sig sz m wt mul_sig square_sig :=
- SquareFromMul.pose_square_sig sz m wt mul_sig square_sig.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/KaratsubaPackage.v b/src/Specific/Framework/ArithmeticSynthesis/KaratsubaPackage.v
deleted file mode 100644
index 197c9431b..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/KaratsubaPackage.v
+++ /dev/null
@@ -1,61 +0,0 @@
-(* This file is autogenerated from Karatsuba.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.DefaultsPackage.
-Require Export Crypto.Specific.Framework.ArithmeticSynthesis.Karatsuba.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := half_sz_nonzero.
-End TAG.
-
-Ltac add_half_sz_nonzero pkg :=
- if_goldilocks
- pkg
- ltac:(fun _ => let half_sz := Tag.get pkg TAG.half_sz in
- let half_sz_nonzero := fresh "half_sz_nonzero" in
- let half_sz_nonzero := pose_half_sz_nonzero half_sz half_sz_nonzero in
- Tag.update pkg TAG.half_sz_nonzero half_sz_nonzero)
- ltac:(fun _ => pkg)
- ().
-Ltac add_mul_sig pkg :=
- if_goldilocks
- pkg
- ltac:(fun _ => let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let base := Tag.get pkg TAG.base in
- let sz := Tag.get pkg TAG.sz in
- let s := Tag.get pkg TAG.s in
- let c := Tag.get pkg TAG.c in
- let half_sz := Tag.get pkg TAG.half_sz in
- let mul_sig := fresh "mul_sig" in
- let mul_sig := pose_mul_sig wt m base sz s c half_sz mul_sig in
- Tag.update pkg TAG.mul_sig mul_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_square_sig pkg :=
- if_goldilocks
- pkg
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let mul_sig := Tag.get pkg TAG.mul_sig in
- let square_sig := fresh "square_sig" in
- let square_sig := pose_square_sig sz m wt mul_sig square_sig in
- Tag.update pkg TAG.square_sig square_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_Karatsuba_package pkg :=
- let pkg := add_half_sz_nonzero pkg in
- let pkg := add_mul_sig pkg in
- let pkg := add_square_sig pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeKaratsubaPackage (PKG : PrePackage).
- Module Import MakeKaratsubaPackageInternal := MakePackageBase PKG.
-
- Ltac get_half_sz_nonzero _ := get TAG.half_sz_nonzero.
- Notation half_sz_nonzero := (ltac:(let v := get_half_sz_nonzero () in exact v)) (only parsing).
-End MakeKaratsubaPackage.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/Ladderstep.v b/src/Specific/Framework/ArithmeticSynthesis/Ladderstep.v
deleted file mode 100644
index 2f2ef07a5..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/Ladderstep.v
+++ /dev/null
@@ -1,87 +0,0 @@
-Require Import Coq.ZArith.BinIntDef.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Curves.Montgomery.XZ.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.Notations.
-Require Import Crypto.Util.Tactics.PoseTermWithName.
-Require Import Crypto.Util.Tactics.CacheTerm.
-Require Import Crypto.Util.Option.
-
-Local Notation tuple := Tuple.tuple.
-Local Open Scope list_scope.
-Local Open Scope Z_scope.
-Local Infix "^" := tuple : type_scope.
-
-(** TODO(jadep,andreser): Move to NewBaseSystemTest? *)
-Definition FMxzladderstep {m} := @M.donnaladderstep (F m) F.add F.sub F.mul.
-
-Section with_notations.
- Context sz (add sub mul : tuple Z sz -> tuple Z sz -> tuple Z sz)
- (square carry : tuple Z sz -> tuple Z sz).
- Local Infix "+" := add.
- Local Notation "a * b" := (carry (mul a b)).
- Local Notation "x ^ 2" := (carry (square x)).
- Local Infix "-" := sub.
- Definition Mxzladderstep a24 x1 Q Q'
- := match Q, Q' with
- | (x, z), (x', z') =>
- dlet origx := x in
- dlet x := x + z in
- dlet z := origx - z in
- dlet origx' := x' in
- dlet x' := x' + z' in
- dlet z' := origx' - z' in
- dlet xx' := x' * z in
- dlet zz' := x * z' in
- dlet origx' := xx' in
- dlet xx' := xx' + zz' in
- dlet zz' := origx' - zz' in
- dlet x3 := xx'^2 in
- dlet zzz' := zz'^2 in
- dlet z3 := zzz' * x1 in
- dlet xx := x^2 in
- dlet zz := z^2 in
- dlet x2 := xx * zz in
- dlet zz := xx - zz in
- dlet zzz := zz * a24 in
- dlet zzz := zzz + xx in
- dlet z2 := zz * zzz in
- ((x2, z2), (x3, z3))%core
- end.
-End with_notations.
-
-Ltac pose_a24' a24 a24' :=
- let a24 := (eval vm_compute in (invert_Some a24)) in
- cache_term_with_type_by
- Z
- ltac:(exact a24)
- a24'.
-
-Ltac pose_a24_sig sz m wt a24' a24_sig :=
- cache_term_with_type_by
- { a24t : Z^sz | Positional.Fdecode (m:=m) wt a24t = F.of_Z m a24' }
- solve_constant_sig
- a24_sig.
-
-Ltac pose_Mxzladderstep_sig sz wt m add_sig sub_sig mul_sig square_sig carry_sig Mxzladderstep_sig :=
- cache_term_with_type_by
- { xzladderstep : tuple Z sz -> tuple Z sz -> tuple Z sz * tuple Z sz -> tuple Z sz * tuple Z sz -> tuple Z sz * tuple Z sz * (tuple Z sz * tuple Z sz)
- | forall a24 x1 Q Q', let eval := B.Positional.Fdecode wt in Tuple.map (n:=2) (Tuple.map (n:=2) eval) (xzladderstep a24 x1 Q Q') = FMxzladderstep (m:=m) (eval a24) (eval x1) (Tuple.map (n:=2) eval Q) (Tuple.map (n:=2) eval Q') }
- ltac:((exists (Mxzladderstep sz (proj1_sig add_sig) (proj1_sig sub_sig) (proj1_sig mul_sig) (proj1_sig square_sig) (proj1_sig carry_sig)));
- let a24 := fresh "a24" in
- let x1 := fresh "x1" in
- let Q := fresh "Q" in
- let Q' := fresh "Q'" in
- let eval := fresh "eval" in
- intros a24 x1 Q Q' eval;
- cbv [Mxzladderstep FMxzladderstep M.donnaladderstep];
- destruct Q, Q'; cbv [map map' fst snd Let_In eval];
- repeat match goal with
- | [ |- context[@proj1_sig ?a ?b ?s] ]
- => rewrite !(@proj2_sig a b s)
- end;
- reflexivity)
- Mxzladderstep_sig.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/LadderstepPackage.v b/src/Specific/Framework/ArithmeticSynthesis/LadderstepPackage.v
deleted file mode 100644
index 4108c8352..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/LadderstepPackage.v
+++ /dev/null
@@ -1,75 +0,0 @@
-(* This file is autogenerated from Ladderstep.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.DefaultsPackage.
-Require Export Crypto.Specific.Framework.ArithmeticSynthesis.Ladderstep.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := a24' | a24_sig | Mxzladderstep_sig.
-End TAG.
-
-Ltac add_a24' pkg :=
- if_ladderstep
- pkg
- ltac:(fun _ => Tag.update_by_tac_if_not_exists
- pkg
- TAG.a24'
- ltac:(fun _ => let a24 := Tag.get pkg TAG.a24 in
- let a24' := fresh "a24'" in
- let a24' := pose_a24' a24 a24' in
- constr:(a24')))
- ltac:(fun _ => pkg)
- ().
-Ltac add_a24_sig pkg :=
- if_ladderstep
- pkg
- ltac:(fun _ => Tag.update_by_tac_if_not_exists
- pkg
- TAG.a24_sig
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let a24' := Tag.get pkg TAG.a24' in
- let a24_sig := fresh "a24_sig" in
- let a24_sig := pose_a24_sig sz m wt a24' a24_sig in
- constr:(a24_sig)))
- ltac:(fun _ => pkg)
- ().
-Ltac add_Mxzladderstep_sig pkg :=
- if_ladderstep
- pkg
- ltac:(fun _ => Tag.update_by_tac_if_not_exists
- pkg
- TAG.Mxzladderstep_sig
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let wt := Tag.get pkg TAG.wt in
- let m := Tag.get pkg TAG.m in
- let add_sig := Tag.get pkg TAG.add_sig in
- let sub_sig := Tag.get pkg TAG.sub_sig in
- let mul_sig := Tag.get pkg TAG.mul_sig in
- let square_sig := Tag.get pkg TAG.square_sig in
- let carry_sig := Tag.get pkg TAG.carry_sig in
- let Mxzladderstep_sig := fresh "Mxzladderstep_sig" in
- let Mxzladderstep_sig := pose_Mxzladderstep_sig sz wt m add_sig sub_sig mul_sig square_sig carry_sig Mxzladderstep_sig in
- constr:(Mxzladderstep_sig)))
- ltac:(fun _ => pkg)
- ().
-Ltac add_Ladderstep_package pkg :=
- let pkg := add_a24' pkg in
- let pkg := add_a24_sig pkg in
- let pkg := add_Mxzladderstep_sig pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeLadderstepPackage (PKG : PrePackage).
- Module Import MakeLadderstepPackageInternal := MakePackageBase PKG.
-
- Ltac get_a24' _ := get TAG.a24'.
- Notation a24' := (ltac:(let v := get_a24' () in exact v)) (only parsing).
- Ltac get_a24_sig _ := get TAG.a24_sig.
- Notation a24_sig := (ltac:(let v := get_a24_sig () in exact v)) (only parsing).
- Ltac get_Mxzladderstep_sig _ := get TAG.Mxzladderstep_sig.
- Notation Mxzladderstep_sig := (ltac:(let v := get_Mxzladderstep_sig () in exact v)) (only parsing).
-End MakeLadderstepPackage.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/Montgomery.v b/src/Specific/Framework/ArithmeticSynthesis/Montgomery.v
deleted file mode 100644
index ba3340f32..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/Montgomery.v
+++ /dev/null
@@ -1,550 +0,0 @@
-Require Import Coq.micromega.Lia.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Definition.
-Require Import Crypto.Arithmetic.MontgomeryReduction.WordByWord.Proofs.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Crypto.Arithmetic.Saturated.MontgomeryAPI.
-Require Import Crypto.Arithmetic.Saturated.UniformWeight.
-Require Import Crypto.Util.Sigma.Lift.
-Require Import Coq.ZArith.BinInt.
-Require Import Coq.PArith.BinPos.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.ZUtil.ModInv.
-Require Import Crypto.Util.ZUtil.Tactics.PullPush.Modulo.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Require Import Crypto.Util.Decidable.
-Require Import Crypto.Arithmetic.Saturated.UniformWeightInstances.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Util.Tactics.CacheTerm.
-
-Local Open Scope Z_scope.
-Local Infix "^" := Tuple.tuple : type_scope.
-
-Local Definition sig_by_eq {A P} (x : { a : A | P a }) (a : A) (H : a = proj1_sig x)
- : { a : A | P a }.
-Proof.
- exists a; subst; exact (proj2_sig x).
-Defined.
-
-Section with_args.
- Context (wt : nat -> Z)
- (r : positive)
- (sz : nat)
- (m : positive)
- (m_enc : Z^sz)
- (r' : Z)
- (r'_correct : ((Z.pos r * r') mod (Z.pos m) = 1)%Z)
- (m' : Z)
- (m'_correct : ((Z.pos m * m') mod (Z.pos r) = (-1) mod Z.pos r)%Z)
- (m_enc_correct_montgomery : Z.pos m = MontgomeryAPI.eval (n:=sz) (Z.pos r) m_enc)
- (r'_pow_correct : ((r' ^ Z.of_nat sz * Z.pos r ^ Z.of_nat sz) mod MontgomeryAPI.eval (n:=sz) (Z.pos r) m_enc = 1)%Z)
- (* computable *)
- (r_big : Z.pos r > 1)
- (m_big : 1 < Z.pos m)
- (m_enc_small : small (Z.pos r) m_enc)
- (map_m_enc : Tuple.map (Z.land (Z.pos r - 1)) m_enc = m_enc).
-
- Local Ltac t_fin :=
- repeat match goal with
- | _ => assumption
- | [ |- ?x = ?x ] => reflexivity
- | [ |- and _ _ ] => split
- | [ |- (0 <= MontgomeryAPI.eval (Z.pos r) _)%Z ] => apply MontgomeryAPI.eval_small
- | _ => rewrite <- !m_enc_correct_montgomery
- | _ => rewrite !r'_correct
- | _ => rewrite !Z.mod_1_l by assumption; reflexivity
- | _ => rewrite !(Z.mul_comm m' (Z.pos m))
- | _ => lia
- end.
-
-
- Local Definition mul'_gen
- : { f:Z^sz -> Z^sz -> Z^sz
- | forall (A B : Z^sz),
- small (Z.pos r) A -> small (Z.pos r) B ->
- let eval := MontgomeryAPI.eval (Z.pos r) in
- (small (Z.pos r) (f A B)
- /\ (eval B < eval m_enc -> 0 <= eval (f A B) < eval m_enc)
- /\ (eval (f A B) mod Z.pos m
- = (eval A * eval B * r'^(Z.of_nat sz)) mod Z.pos m))%Z
- }.
- Proof.
- exists (fun A B => redc (r:=r)(R_numlimbs:=sz) m_enc A B m').
- abstract (
- intros;
- split; [ | split ];
- [ apply small_redc with (ri:=r') | apply redc_bound_N with (ri:=r') | rewrite !m_enc_correct_montgomery; apply redc_mod_N ];
- t_fin
- ).
- Defined.
-
- Import ModularArithmetic.
-
- Definition montgomery_to_F_gen (v : Z) : F m
- := (F.of_Z m v * F.of_Z m (r'^Z.of_nat sz)%Z)%F.
-
- Local Definition mul_ext_gen
- : { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- montgomery_to_F_gen (eval (f A B))
- = (montgomery_to_F_gen (eval A) * montgomery_to_F_gen (eval B))%F)
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval B < eval m_enc -> 0 <= eval (f A B) < eval m_enc)%Z) }.
- Proof.
- exists (proj1_sig mul'_gen).
- abstract (
- split; intros A Asm B Bsm;
- pose proof (proj2_sig mul'_gen A B Asm Bsm) as H;
- cbv zeta in *;
- try solve [ destruct_head'_and; assumption ];
- rewrite ModularArithmeticTheorems.F.eq_of_Z_iff in H;
- unfold montgomery_to_F_gen;
- destruct H as [H1 [H2 H3]];
- rewrite H3;
- rewrite <- !ModularArithmeticTheorems.F.of_Z_mul;
- f_equal; nia
- ).
- Defined.
-
- Local Definition add_ext_gen
- : { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> montgomery_to_F_gen (eval (f A B))
- = (montgomery_to_F_gen (eval A) + montgomery_to_F_gen (eval B))%F))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> 0 <= eval (f A B) < eval m_enc)))%Z }.
- Proof.
- generalize m_big.
- exists (fun A B => add (r:=r)(R_numlimbs:=sz) m_enc A B).
- abstract (
- split; intros;
- unfold montgomery_to_F_gen; rewrite <- ?ModularArithmeticTheorems.F.of_Z_mul, <- ?ModularArithmeticTheorems.F.of_Z_add;
- rewrite <- ?Z.mul_add_distr_r;
- [ rewrite <- ModularArithmeticTheorems.F.eq_of_Z_iff, m_enc_correct_montgomery; push_Zmod; rewrite eval_add_mod_N; pull_Zmod
- | apply add_bound ];
- t_fin
- ).
- Defined.
-
- Local Definition sub_ext_gen
- : { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> montgomery_to_F_gen (eval (f A B))
- = (montgomery_to_F_gen (eval A) - montgomery_to_F_gen (eval B))%F))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> 0 <= eval (f A B) < eval m_enc)))%Z }.
- Proof.
- exists (fun A B => sub (r:=r) (R_numlimbs:=sz) m_enc A B).
- abstract (
- split; intros;
- unfold montgomery_to_F_gen; rewrite <- ?ModularArithmeticTheorems.F.of_Z_mul, <- ?ModularArithmeticTheorems.F.of_Z_sub;
- rewrite <- ?Z.mul_sub_distr_r;
- [ rewrite <- ModularArithmeticTheorems.F.eq_of_Z_iff, m_enc_correct_montgomery; push_Zmod; rewrite eval_sub_mod_N; pull_Zmod
- | apply sub_bound ];
- t_fin
- ).
- Defined.
-
- Local Definition opp_ext_gen
- : { f:Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> montgomery_to_F_gen (eval (f A))
- = (F.opp (montgomery_to_F_gen (eval A)))%F))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> 0 <= eval (f A) < eval m_enc)))%Z }.
- Proof.
- exists (fun A => opp (r:=r) (R_numlimbs:=sz) m_enc A).
- abstract (
- split; intros;
- unfold montgomery_to_F_gen; rewrite <- ?ModularArithmeticTheorems.F.of_Z_mul, <- ?F_of_Z_opp;
- rewrite <- ?Z.mul_opp_l;
- [ rewrite <- ModularArithmeticTheorems.F.eq_of_Z_iff, m_enc_correct_montgomery; push_Zmod; rewrite eval_opp_mod_N; pull_Zmod
- | apply opp_bound ];
- t_fin
- ).
- Defined.
-
- (* This is kind-of stupid, but we add it for consistency *)
- Local Definition carry_ext_gen
- : { f:Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> montgomery_to_F_gen (eval (f A))
- = montgomery_to_F_gen (eval A))))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> 0 <= eval (f A) < eval m_enc))%Z }.
- Proof.
- exists (fun A => A).
- abstract (
- split; eauto; split; auto;
- apply MontgomeryAPI.eval_small; auto; lia
- ).
- Defined.
-
- Local Definition nonzero_ext_gen
- : { f:Z^sz -> Z
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> f A = 0 <-> (montgomery_to_F_gen (eval A) = F.of_Z m 0))%Z }.
- Proof.
- generalize m_big;
- exists (fun A => nonzero (R_numlimbs:=sz) A).
- abstract (
- intros eval A H **; rewrite (@eval_nonzero r) by (eassumption || reflexivity);
- subst eval;
- unfold montgomery_to_F_gen, uweight in *; rewrite <- ?ModularArithmeticTheorems.F.of_Z_mul;
- rewrite <- ModularArithmeticTheorems.F.eq_of_Z_iff, m_enc_correct_montgomery;
- let H := fresh in
- split; intro H;
- [ rewrite H; autorewrite with zsimplify_const; reflexivity
- | cut ((MontgomeryAPI.eval (Z.pos r) A * (r' ^ Z.of_nat sz * Z.pos r ^ Z.of_nat sz)) mod MontgomeryAPI.eval (n:=sz) (Z.pos r) m_enc = 0)%Z;
- [ rewrite Z.mul_mod, r'_pow_correct; autorewrite with zsimplify_const; pull_Zmod; [ | t_fin ];
- rewrite Z.mod_small; [ trivial | split; try assumption; apply MontgomeryAPI.eval_small; try assumption; lia ]
- | rewrite Z.mul_assoc, Z.mul_mod, H by t_fin; autorewrite with zsimplify_const; reflexivity ] ]
- ).
- Defined.
-End with_args.
-
-Local Definition for_assumptions
- := (mul_ext_gen, add_ext_gen, sub_ext_gen, opp_ext_gen, nonzero_ext_gen).
-
-Print Assumptions for_assumptions.
-
-Ltac pose_m' modinv_fuel m r m' := (* (-m)⁻¹ mod r *)
- pose_modinv modinv_fuel (-Z.pos m) (Z.pos r) m'.
-Ltac pose_r' modinv_fuel m r r' := (* r⁻¹ mod m *)
- pose_modinv modinv_fuel (Z.pos r) (Z.pos m) r'.
-
-Ltac pose_m'_correct m m' r m'_correct :=
- pose_correct_if_Z
- m'
- ltac:(fun _ => constr:((Z.pos m * m') mod (Z.pos r) = (-1) mod Z.pos r))
- m'_correct.
-Ltac pose_r'_correct m r r' r'_correct :=
- pose_correct_if_Z
- r'
- ltac:(fun _ => constr:((Z.pos r * r') mod (Z.pos m) = 1))
- r'_correct.
-
-Ltac pose_m_enc_correct_montgomery m sz r m_enc m_enc_correct_montgomery :=
- cache_proof_with_type_by
- (Z.pos m = MontgomeryAPI.eval (n:=sz) (Z.pos r) m_enc)
- ltac:(vm_compute; reflexivity)
- m_enc_correct_montgomery.
-
-Ltac pose_r'_pow_correct r' sz r m_enc r'_pow_correct :=
- cache_proof_with_type_by
- ((r' ^ Z.of_nat sz * Z.pos r ^ Z.of_nat sz) mod MontgomeryAPI.eval (n:=sz) (Z.pos r) m_enc = 1)
- ltac:(vm_compute; reflexivity)
- r'_pow_correct.
-
-Ltac pose_montgomery_to_F sz m r' montgomery_to_F :=
- let v := (eval cbv [montgomery_to_F_gen] in (montgomery_to_F_gen sz m r')) in
- cache_term v montgomery_to_F.
-
-Ltac pose_r_big r r_big :=
- cache_proof_with_type_by
- (Z.pos r > 1)
- ltac:(vm_compute; reflexivity)
- r_big.
-
-Ltac pose_m_big m m_big :=
- cache_proof_with_type_by
- (1 < Z.pos m)
- ltac:(vm_compute; reflexivity)
- m_big.
-
-Ltac pose_m_enc_small sz r m_enc m_enc_small :=
- cache_proof_with_type_by
- (small (n:=sz) (Z.pos r) m_enc)
- ltac:(pose (small_Decidable (n:=sz) (bound:=Z.pos r)); vm_decide_no_check)
- m_enc_small.
-
-Ltac pose_map_m_enc sz r m_enc map_m_enc :=
- cache_proof_with_type_by
- (Tuple.map (n:=sz) (Z.land (Z.pos r - 1)) m_enc = m_enc)
- ltac:(pose (@dec_eq_prod); pose dec_eq_Z; vm_decide_no_check)
- map_m_enc.
-
-Ltac internal_pose_sig_by_eq ty sigl tac_eq id :=
- cache_term_with_type_by
- ty
- ltac:(eapply (@sig_by_eq _ _ sigl _); tac_eq ())
- id.
-
-Import ModularArithmetic.
-
-Local Ltac reduce_eq _ :=
- cbv -[Definitions.Z.add_with_get_carry Definitions.Z.add_with_carry Definitions.Z.sub_with_get_borrow Definitions.Z.sub_with_borrow Definitions.Z.mul_split_at_bitwidth Definitions.Z.zselect runtime_add runtime_mul runtime_and runtime_opp runtime_lor Let_In].
-
-Ltac pose_mul_ext r sz m m_enc r' r'_correct m' m'_correct m_enc_correct_montgomery r_big m_big m_enc_small montgomery_to_F mul_ext :=
- internal_pose_sig_by_eq
- { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- montgomery_to_F (eval (f A B))
- = (montgomery_to_F (eval A) * montgomery_to_F (eval B))%F)
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval B < eval m_enc -> 0 <= eval (f A B) < eval m_enc)%Z) }
- (@mul_ext_gen r sz m m_enc r' r'_correct m' m'_correct m_enc_correct_montgomery r_big m_big m_enc_small)
- ltac:(fun _ => reduce_eq (); reflexivity)
- mul_ext.
-
-Ltac pose_add_ext r sz m m_enc r' m_enc_correct_montgomery r_big m_big m_enc_small montgomery_to_F add_ext :=
- internal_pose_sig_by_eq
- { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> montgomery_to_F (eval (f A B))
- = (montgomery_to_F (eval A) + montgomery_to_F (eval B))%F))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> 0 <= eval (f A B) < eval m_enc)))%Z }
- (@add_ext_gen r sz m m_enc r' m_enc_correct_montgomery r_big m_big m_enc_small)
- ltac:(fun _ => reduce_eq (); reflexivity)
- add_ext.
-
-Ltac pose_sub_ext r sz m m_enc r' m_enc_correct_montgomery r_big m_enc_small map_m_enc montgomery_to_F sub_ext :=
- internal_pose_sig_by_eq
- { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> montgomery_to_F (eval (f A B))
- = (montgomery_to_F (eval A) - montgomery_to_F (eval B))%F))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> 0 <= eval (f A B) < eval m_enc)))%Z }
- (@sub_ext_gen r sz m m_enc r' m_enc_correct_montgomery r_big m_enc_small map_m_enc)
- ltac:(fun _ => reduce_eq (); reflexivity)
- sub_ext.
-
-Ltac pose_opp_ext r sz m m_enc r' m_enc_correct_montgomery r_big m_enc_small map_m_enc montgomery_to_F opp_ext :=
- internal_pose_sig_by_eq
- { f:Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> montgomery_to_F (eval (f A))
- = (F.opp (montgomery_to_F (eval A)))%F))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> 0 <= eval (f A) < eval m_enc)))%Z }
- (@opp_ext_gen r sz m m_enc r' m_enc_correct_montgomery r_big m_enc_small map_m_enc)
- ltac:(fun _ => reduce_eq (); reflexivity)
- opp_ext.
-
-Ltac pose_carry_ext r sz m m_enc r' r_big montgomery_to_F carry_ext :=
- internal_pose_sig_by_eq
- { f:Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- ((forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> montgomery_to_F (eval (f A))
- = (montgomery_to_F (eval A))))
- /\ (forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> 0 <= eval (f A) < eval m_enc)))%Z }
- (@carry_ext_gen r sz m m_enc r' r_big)
- ltac:(fun _ => reduce_eq (); reflexivity)
- carry_ext.
-
-Ltac pose_nonzero_ext r sz m m_enc r' m_enc_correct_montgomery r'_pow_correct r_big m_big montgomery_to_F nonzero_ext :=
- internal_pose_sig_by_eq
- { f:Z^sz -> Z
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> f A = 0 <-> (montgomery_to_F (eval A) = F.of_Z m 0))%Z }
- (@nonzero_ext_gen r sz m m_enc r' m_enc_correct_montgomery r'_pow_correct r_big m_big)
- ltac:(fun _ => reduce_eq (); reflexivity)
- nonzero_ext.
-
-Ltac pose_mul_sig r sz montgomery_to_F mul_ext mul_sig :=
- cache_term_with_type_by
- { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- montgomery_to_F (eval (f A B))
- = (montgomery_to_F (eval A) * montgomery_to_F (eval B))%F }
- ltac:(idtac;
- let v := (eval cbv [proj1_sig mul_ext_gen mul_ext sig_by_eq] in (proj1_sig mul_ext)) in
- (exists v);
- abstract apply (proj2_sig mul_ext))
- mul_sig.
-
-Ltac pose_mul_bounded r sz m_enc montgomery_to_F mul_ext mul_sig mul_bounded :=
- cache_proof_with_type_by
- (let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval B < eval m_enc
- -> 0 <= eval (proj1_sig mul_sig A B) < eval m_enc)%Z)
- ltac:(apply (proj2_sig mul_ext))
- mul_bounded.
-
-
-Ltac pose_add_sig r sz m_enc montgomery_to_F add_ext add_sig :=
- cache_term_with_type_by
- { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> montgomery_to_F (eval (f A B))
- = (montgomery_to_F (eval A) + montgomery_to_F (eval B))%F)%Z }
- ltac:(idtac;
- let v := (eval cbv [proj1_sig add_ext_gen add_ext sig_by_eq] in (proj1_sig add_ext)) in
- (exists v);
- abstract apply (proj2_sig add_ext))
- add_sig.
-
-Ltac pose_add_bounded r sz m_enc montgomery_to_F add_ext add_sig add_bounded :=
- cache_proof_with_type_by
- (let eval := MontgomeryAPI.eval (Z.pos r) in
- (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> 0 <= eval (proj1_sig add_sig A B) < eval m_enc))%Z)
- ltac:(apply (proj2_sig add_ext))
- add_bounded.
-
-
-Ltac pose_sub_sig r sz m_enc montgomery_to_F sub_ext sub_sig :=
- cache_term_with_type_by
- { f:Z^sz -> Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> montgomery_to_F (eval (f A B))
- = (montgomery_to_F (eval A) - montgomery_to_F (eval B))%F)%Z }
- ltac:(idtac;
- let v := (eval cbv [proj1_sig sub_ext_gen sub_ext sig_by_eq] in (proj1_sig sub_ext)) in
- (exists v);
- abstract apply (proj2_sig sub_ext))
- sub_sig.
-
-Ltac pose_sub_bounded r sz m_enc montgomery_to_F sub_ext sub_sig sub_bounded :=
- cache_proof_with_type_by
- (let eval := MontgomeryAPI.eval (Z.pos r) in
- (forall (A : Z^sz) (_ : small (Z.pos r) A)
- (B : Z^sz) (_ : small (Z.pos r) B),
- (eval A < eval m_enc
- -> eval B < eval m_enc
- -> 0 <= eval (proj1_sig sub_sig A B) < eval m_enc))%Z)
- ltac:(apply (proj2_sig sub_ext))
- sub_bounded.
-
-
-Ltac pose_opp_sig r sz m_enc montgomery_to_F opp_ext opp_sig :=
- cache_term_with_type_by
- { f:Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> montgomery_to_F (eval (f A))
- = (F.opp (montgomery_to_F (eval A)))%F)%Z }
- ltac:(idtac;
- let v := (eval cbv [proj1_sig opp_ext_gen opp_ext sig_by_eq] in (proj1_sig opp_ext)) in
- (exists v);
- abstract apply (proj2_sig opp_ext))
- opp_sig.
-
-Ltac pose_opp_bounded r sz m_enc montgomery_to_F opp_ext opp_sig opp_bounded :=
- cache_proof_with_type_by
- (let eval := MontgomeryAPI.eval (Z.pos r) in
- (forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> 0 <= eval (proj1_sig opp_sig A) < eval m_enc))%Z)
- ltac:(apply (proj2_sig opp_ext))
- opp_bounded.
-
-Ltac pose_carry_sig r sz m_enc montgomery_to_F carry_ext carry_sig :=
- cache_term_with_type_by
- { f:Z^sz -> Z^sz
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> montgomery_to_F (eval (f A))
- = (montgomery_to_F (eval A)))%Z }
- ltac:(idtac;
- let v := (eval cbv [proj1_sig carry_ext_gen carry_ext sig_by_eq] in (proj1_sig carry_ext)) in
- (exists v);
- abstract apply (proj2_sig carry_ext))
- carry_sig.
-
-Ltac pose_carry_bounded r sz m_enc montgomery_to_F carry_ext carry_sig carry_bounded :=
- cache_proof_with_type_by
- (let eval := MontgomeryAPI.eval (Z.pos r) in
- (forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> 0 <= eval (proj1_sig carry_sig A) < eval m_enc))%Z)
- ltac:(apply (proj2_sig carry_ext))
- carry_bounded.
-
-
-Ltac pose_nonzero_sig r sz m m_enc montgomery_to_F nonzero_ext nonzero_sig :=
- cache_term_with_type_by
- { f:Z^sz -> Z
- | let eval := MontgomeryAPI.eval (Z.pos r) in
- forall (A : Z^sz) (_ : small (Z.pos r) A),
- (eval A < eval m_enc
- -> f A = 0 <-> (montgomery_to_F (eval A) = F.of_Z m 0))%Z }
- ltac:(idtac;
- let v := (eval cbv [proj1_sig nonzero_ext_gen nonzero_ext sig_by_eq] in (proj1_sig nonzero_ext)) in
- (exists v);
- abstract apply (proj2_sig nonzero_ext))
- nonzero_sig.
-
-Ltac pose_ring ring :=
- (* FIXME: TODO *)
- cache_term
- I
- ring.
-
-(* disable default unused things *)
-(*Ltac pose_carry_sig carry_sig :=
- cache_term tt carry_sig.*)
-Ltac pose_freeze_sig freeze_sig :=
- cache_term tt freeze_sig.
-Ltac pose_Mxzladderstep_sig Mxzladderstep_sig :=
- cache_term tt Mxzladderstep_sig.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/MontgomeryPackage.v b/src/Specific/Framework/ArithmeticSynthesis/MontgomeryPackage.v
deleted file mode 100644
index cefc0733f..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/MontgomeryPackage.v
+++ /dev/null
@@ -1,498 +0,0 @@
-(* This file is autogenerated from Montgomery.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.DefaultsPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.FreezePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.LadderstepPackage.
-Require Export Crypto.Specific.Framework.ArithmeticSynthesis.Montgomery.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := m' | r' | m'_correct | r'_correct | m_enc_correct_montgomery | r'_pow_correct | montgomery_to_F | r_big | m_big | m_enc_small | map_m_enc | mul_ext | add_ext | sub_ext | opp_ext | carry_ext | nonzero_ext | mul_bounded | add_bounded | sub_bounded | opp_bounded | carry_bounded | nonzero_sig.
-End TAG.
-
-Ltac add_m' pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let modinv_fuel := Tag.get pkg TAG.modinv_fuel in
- let m := Tag.get pkg TAG.m in
- let r := Tag.get pkg TAG.r in
- let m' := fresh "m'" in
- let m' := pose_m' modinv_fuel m r m' in
- Tag.update pkg TAG.m' m')
- ltac:(fun _ => pkg)
- ().
-Ltac add_r' pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let modinv_fuel := Tag.get pkg TAG.modinv_fuel in
- let m := Tag.get pkg TAG.m in
- let r := Tag.get pkg TAG.r in
- let r' := fresh "r'" in
- let r' := pose_r' modinv_fuel m r r' in
- Tag.update pkg TAG.r' r')
- ltac:(fun _ => pkg)
- ().
-Ltac add_m'_correct pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let m := Tag.get pkg TAG.m in
- let m' := Tag.get pkg TAG.m' in
- let r := Tag.get pkg TAG.r in
- let m'_correct := fresh "m'_correct" in
- let m'_correct := pose_m'_correct m m' r m'_correct in
- Tag.update pkg TAG.m'_correct m'_correct)
- ltac:(fun _ => pkg)
- ().
-Ltac add_r'_correct pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let m := Tag.get pkg TAG.m in
- let r := Tag.get pkg TAG.r in
- let r' := Tag.get pkg TAG.r' in
- let r'_correct := fresh "r'_correct" in
- let r'_correct := pose_r'_correct m r r' r'_correct in
- Tag.update pkg TAG.r'_correct r'_correct)
- ltac:(fun _ => pkg)
- ().
-Ltac add_m_enc_correct_montgomery pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let m := Tag.get pkg TAG.m in
- let sz := Tag.get pkg TAG.sz in
- let r := Tag.get pkg TAG.r in
- let m_enc := Tag.get pkg TAG.m_enc in
- let m_enc_correct_montgomery := fresh "m_enc_correct_montgomery" in
- let m_enc_correct_montgomery := pose_m_enc_correct_montgomery m sz r m_enc m_enc_correct_montgomery in
- Tag.update pkg TAG.m_enc_correct_montgomery m_enc_correct_montgomery)
- ltac:(fun _ => pkg)
- ().
-Ltac add_r'_pow_correct pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r' := Tag.get pkg TAG.r' in
- let sz := Tag.get pkg TAG.sz in
- let r := Tag.get pkg TAG.r in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r'_pow_correct := fresh "r'_pow_correct" in
- let r'_pow_correct := pose_r'_pow_correct r' sz r m_enc r'_pow_correct in
- Tag.update pkg TAG.r'_pow_correct r'_pow_correct)
- ltac:(fun _ => pkg)
- ().
-Ltac add_montgomery_to_F pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let r' := Tag.get pkg TAG.r' in
- let montgomery_to_F := fresh "montgomery_to_F" in
- let montgomery_to_F := pose_montgomery_to_F sz m r' montgomery_to_F in
- Tag.update pkg TAG.montgomery_to_F montgomery_to_F)
- ltac:(fun _ => pkg)
- ().
-Ltac add_r_big pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let r_big := fresh "r_big" in
- let r_big := pose_r_big r r_big in
- Tag.update pkg TAG.r_big r_big)
- ltac:(fun _ => pkg)
- ().
-Ltac add_m_big pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let m := Tag.get pkg TAG.m in
- let m_big := fresh "m_big" in
- let m_big := pose_m_big m m_big in
- Tag.update pkg TAG.m_big m_big)
- ltac:(fun _ => pkg)
- ().
-Ltac add_m_enc_small pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let r := Tag.get pkg TAG.r in
- let m_enc := Tag.get pkg TAG.m_enc in
- let m_enc_small := fresh "m_enc_small" in
- let m_enc_small := pose_m_enc_small sz r m_enc m_enc_small in
- Tag.update pkg TAG.m_enc_small m_enc_small)
- ltac:(fun _ => pkg)
- ().
-Ltac add_map_m_enc pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let r := Tag.get pkg TAG.r in
- let m_enc := Tag.get pkg TAG.m_enc in
- let map_m_enc := fresh "map_m_enc" in
- let map_m_enc := pose_map_m_enc sz r m_enc map_m_enc in
- Tag.update pkg TAG.map_m_enc map_m_enc)
- ltac:(fun _ => pkg)
- ().
-Ltac add_mul_ext pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r' := Tag.get pkg TAG.r' in
- let r'_correct := Tag.get pkg TAG.r'_correct in
- let m' := Tag.get pkg TAG.m' in
- let m'_correct := Tag.get pkg TAG.m'_correct in
- let m_enc_correct_montgomery := Tag.get pkg TAG.m_enc_correct_montgomery in
- let r_big := Tag.get pkg TAG.r_big in
- let m_big := Tag.get pkg TAG.m_big in
- let m_enc_small := Tag.get pkg TAG.m_enc_small in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let mul_ext := fresh "mul_ext" in
- let mul_ext := pose_mul_ext r sz m m_enc r' r'_correct m' m'_correct m_enc_correct_montgomery r_big m_big m_enc_small montgomery_to_F mul_ext in
- Tag.update pkg TAG.mul_ext mul_ext)
- ltac:(fun _ => pkg)
- ().
-Ltac add_add_ext pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r' := Tag.get pkg TAG.r' in
- let m_enc_correct_montgomery := Tag.get pkg TAG.m_enc_correct_montgomery in
- let r_big := Tag.get pkg TAG.r_big in
- let m_big := Tag.get pkg TAG.m_big in
- let m_enc_small := Tag.get pkg TAG.m_enc_small in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let add_ext := fresh "add_ext" in
- let add_ext := pose_add_ext r sz m m_enc r' m_enc_correct_montgomery r_big m_big m_enc_small montgomery_to_F add_ext in
- Tag.update pkg TAG.add_ext add_ext)
- ltac:(fun _ => pkg)
- ().
-Ltac add_sub_ext pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r' := Tag.get pkg TAG.r' in
- let m_enc_correct_montgomery := Tag.get pkg TAG.m_enc_correct_montgomery in
- let r_big := Tag.get pkg TAG.r_big in
- let m_enc_small := Tag.get pkg TAG.m_enc_small in
- let map_m_enc := Tag.get pkg TAG.map_m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let sub_ext := fresh "sub_ext" in
- let sub_ext := pose_sub_ext r sz m m_enc r' m_enc_correct_montgomery r_big m_enc_small map_m_enc montgomery_to_F sub_ext in
- Tag.update pkg TAG.sub_ext sub_ext)
- ltac:(fun _ => pkg)
- ().
-Ltac add_opp_ext pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r' := Tag.get pkg TAG.r' in
- let m_enc_correct_montgomery := Tag.get pkg TAG.m_enc_correct_montgomery in
- let r_big := Tag.get pkg TAG.r_big in
- let m_enc_small := Tag.get pkg TAG.m_enc_small in
- let map_m_enc := Tag.get pkg TAG.map_m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let opp_ext := fresh "opp_ext" in
- let opp_ext := pose_opp_ext r sz m m_enc r' m_enc_correct_montgomery r_big m_enc_small map_m_enc montgomery_to_F opp_ext in
- Tag.update pkg TAG.opp_ext opp_ext)
- ltac:(fun _ => pkg)
- ().
-Ltac add_carry_ext pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r' := Tag.get pkg TAG.r' in
- let r_big := Tag.get pkg TAG.r_big in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let carry_ext := fresh "carry_ext" in
- let carry_ext := pose_carry_ext r sz m m_enc r' r_big montgomery_to_F carry_ext in
- Tag.update pkg TAG.carry_ext carry_ext)
- ltac:(fun _ => pkg)
- ().
-Ltac add_nonzero_ext pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let r' := Tag.get pkg TAG.r' in
- let m_enc_correct_montgomery := Tag.get pkg TAG.m_enc_correct_montgomery in
- let r'_pow_correct := Tag.get pkg TAG.r'_pow_correct in
- let r_big := Tag.get pkg TAG.r_big in
- let m_big := Tag.get pkg TAG.m_big in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let nonzero_ext := fresh "nonzero_ext" in
- let nonzero_ext := pose_nonzero_ext r sz m m_enc r' m_enc_correct_montgomery r'_pow_correct r_big m_big montgomery_to_F nonzero_ext in
- Tag.update pkg TAG.nonzero_ext nonzero_ext)
- ltac:(fun _ => pkg)
- ().
-Ltac add_mul_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let mul_ext := Tag.get pkg TAG.mul_ext in
- let mul_sig := fresh "mul_sig" in
- let mul_sig := pose_mul_sig r sz montgomery_to_F mul_ext mul_sig in
- Tag.update pkg TAG.mul_sig mul_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_mul_bounded pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let mul_ext := Tag.get pkg TAG.mul_ext in
- let mul_sig := Tag.get pkg TAG.mul_sig in
- let mul_bounded := fresh "mul_bounded" in
- let mul_bounded := pose_mul_bounded r sz m_enc montgomery_to_F mul_ext mul_sig mul_bounded in
- Tag.update pkg TAG.mul_bounded mul_bounded)
- ltac:(fun _ => pkg)
- ().
-Ltac add_add_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let add_ext := Tag.get pkg TAG.add_ext in
- let add_sig := fresh "add_sig" in
- let add_sig := pose_add_sig r sz m_enc montgomery_to_F add_ext add_sig in
- Tag.update pkg TAG.add_sig add_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_add_bounded pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let add_ext := Tag.get pkg TAG.add_ext in
- let add_sig := Tag.get pkg TAG.add_sig in
- let add_bounded := fresh "add_bounded" in
- let add_bounded := pose_add_bounded r sz m_enc montgomery_to_F add_ext add_sig add_bounded in
- Tag.update pkg TAG.add_bounded add_bounded)
- ltac:(fun _ => pkg)
- ().
-Ltac add_sub_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let sub_ext := Tag.get pkg TAG.sub_ext in
- let sub_sig := fresh "sub_sig" in
- let sub_sig := pose_sub_sig r sz m_enc montgomery_to_F sub_ext sub_sig in
- Tag.update pkg TAG.sub_sig sub_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_sub_bounded pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let sub_ext := Tag.get pkg TAG.sub_ext in
- let sub_sig := Tag.get pkg TAG.sub_sig in
- let sub_bounded := fresh "sub_bounded" in
- let sub_bounded := pose_sub_bounded r sz m_enc montgomery_to_F sub_ext sub_sig sub_bounded in
- Tag.update pkg TAG.sub_bounded sub_bounded)
- ltac:(fun _ => pkg)
- ().
-Ltac add_opp_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let opp_ext := Tag.get pkg TAG.opp_ext in
- let opp_sig := fresh "opp_sig" in
- let opp_sig := pose_opp_sig r sz m_enc montgomery_to_F opp_ext opp_sig in
- Tag.update pkg TAG.opp_sig opp_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_opp_bounded pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let opp_ext := Tag.get pkg TAG.opp_ext in
- let opp_sig := Tag.get pkg TAG.opp_sig in
- let opp_bounded := fresh "opp_bounded" in
- let opp_bounded := pose_opp_bounded r sz m_enc montgomery_to_F opp_ext opp_sig opp_bounded in
- Tag.update pkg TAG.opp_bounded opp_bounded)
- ltac:(fun _ => pkg)
- ().
-Ltac add_carry_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let carry_ext := Tag.get pkg TAG.carry_ext in
- let carry_sig := fresh "carry_sig" in
- let carry_sig := pose_carry_sig r sz m_enc montgomery_to_F carry_ext carry_sig in
- Tag.update pkg TAG.carry_sig carry_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_carry_bounded pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let carry_ext := Tag.get pkg TAG.carry_ext in
- let carry_sig := Tag.get pkg TAG.carry_sig in
- let carry_bounded := fresh "carry_bounded" in
- let carry_bounded := pose_carry_bounded r sz m_enc montgomery_to_F carry_ext carry_sig carry_bounded in
- Tag.update pkg TAG.carry_bounded carry_bounded)
- ltac:(fun _ => pkg)
- ().
-Ltac add_nonzero_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let r := Tag.get pkg TAG.r in
- let sz := Tag.get pkg TAG.sz in
- let m := Tag.get pkg TAG.m in
- let m_enc := Tag.get pkg TAG.m_enc in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let nonzero_ext := Tag.get pkg TAG.nonzero_ext in
- let nonzero_sig := fresh "nonzero_sig" in
- let nonzero_sig := pose_nonzero_sig r sz m m_enc montgomery_to_F nonzero_ext nonzero_sig in
- Tag.update pkg TAG.nonzero_sig nonzero_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_ring pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let ring := fresh "ring" in
- let ring := pose_ring ring in
- Tag.update pkg TAG.ring ring)
- ltac:(fun _ => pkg)
- ().
-Ltac add_freeze_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let freeze_sig := fresh "freeze_sig" in
- let freeze_sig := pose_freeze_sig freeze_sig in
- Tag.update pkg TAG.freeze_sig freeze_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_Mxzladderstep_sig pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let Mxzladderstep_sig := fresh "Mxzladderstep_sig" in
- let Mxzladderstep_sig := pose_Mxzladderstep_sig Mxzladderstep_sig in
- Tag.update pkg TAG.Mxzladderstep_sig Mxzladderstep_sig)
- ltac:(fun _ => pkg)
- ().
-Ltac add_Montgomery_package pkg :=
- let pkg := add_m' pkg in
- let pkg := add_r' pkg in
- let pkg := add_m'_correct pkg in
- let pkg := add_r'_correct pkg in
- let pkg := add_m_enc_correct_montgomery pkg in
- let pkg := add_r'_pow_correct pkg in
- let pkg := add_montgomery_to_F pkg in
- let pkg := add_r_big pkg in
- let pkg := add_m_big pkg in
- let pkg := add_m_enc_small pkg in
- let pkg := add_map_m_enc pkg in
- let pkg := add_mul_ext pkg in
- let pkg := add_add_ext pkg in
- let pkg := add_sub_ext pkg in
- let pkg := add_opp_ext pkg in
- let pkg := add_carry_ext pkg in
- let pkg := add_nonzero_ext pkg in
- let pkg := add_mul_sig pkg in
- let pkg := add_mul_bounded pkg in
- let pkg := add_add_sig pkg in
- let pkg := add_add_bounded pkg in
- let pkg := add_sub_sig pkg in
- let pkg := add_sub_bounded pkg in
- let pkg := add_opp_sig pkg in
- let pkg := add_opp_bounded pkg in
- let pkg := add_carry_sig pkg in
- let pkg := add_carry_bounded pkg in
- let pkg := add_nonzero_sig pkg in
- let pkg := add_ring pkg in
- let pkg := add_freeze_sig pkg in
- let pkg := add_Mxzladderstep_sig pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeMontgomeryPackage (PKG : PrePackage).
- Module Import MakeMontgomeryPackageInternal := MakePackageBase PKG.
-
- Ltac get_m' _ := get TAG.m'.
- Notation m' := (ltac:(let v := get_m' () in exact v)) (only parsing).
- Ltac get_r' _ := get TAG.r'.
- Notation r' := (ltac:(let v := get_r' () in exact v)) (only parsing).
- Ltac get_m'_correct _ := get TAG.m'_correct.
- Notation m'_correct := (ltac:(let v := get_m'_correct () in exact v)) (only parsing).
- Ltac get_r'_correct _ := get TAG.r'_correct.
- Notation r'_correct := (ltac:(let v := get_r'_correct () in exact v)) (only parsing).
- Ltac get_m_enc_correct_montgomery _ := get TAG.m_enc_correct_montgomery.
- Notation m_enc_correct_montgomery := (ltac:(let v := get_m_enc_correct_montgomery () in exact v)) (only parsing).
- Ltac get_r'_pow_correct _ := get TAG.r'_pow_correct.
- Notation r'_pow_correct := (ltac:(let v := get_r'_pow_correct () in exact v)) (only parsing).
- Ltac get_montgomery_to_F _ := get TAG.montgomery_to_F.
- Notation montgomery_to_F := (ltac:(let v := get_montgomery_to_F () in exact v)) (only parsing).
- Ltac get_r_big _ := get TAG.r_big.
- Notation r_big := (ltac:(let v := get_r_big () in exact v)) (only parsing).
- Ltac get_m_big _ := get TAG.m_big.
- Notation m_big := (ltac:(let v := get_m_big () in exact v)) (only parsing).
- Ltac get_m_enc_small _ := get TAG.m_enc_small.
- Notation m_enc_small := (ltac:(let v := get_m_enc_small () in exact v)) (only parsing).
- Ltac get_map_m_enc _ := get TAG.map_m_enc.
- Notation map_m_enc := (ltac:(let v := get_map_m_enc () in exact v)) (only parsing).
- Ltac get_mul_ext _ := get TAG.mul_ext.
- Notation mul_ext := (ltac:(let v := get_mul_ext () in exact v)) (only parsing).
- Ltac get_add_ext _ := get TAG.add_ext.
- Notation add_ext := (ltac:(let v := get_add_ext () in exact v)) (only parsing).
- Ltac get_sub_ext _ := get TAG.sub_ext.
- Notation sub_ext := (ltac:(let v := get_sub_ext () in exact v)) (only parsing).
- Ltac get_opp_ext _ := get TAG.opp_ext.
- Notation opp_ext := (ltac:(let v := get_opp_ext () in exact v)) (only parsing).
- Ltac get_carry_ext _ := get TAG.carry_ext.
- Notation carry_ext := (ltac:(let v := get_carry_ext () in exact v)) (only parsing).
- Ltac get_nonzero_ext _ := get TAG.nonzero_ext.
- Notation nonzero_ext := (ltac:(let v := get_nonzero_ext () in exact v)) (only parsing).
- Ltac get_mul_bounded _ := get TAG.mul_bounded.
- Notation mul_bounded := (ltac:(let v := get_mul_bounded () in exact v)) (only parsing).
- Ltac get_add_bounded _ := get TAG.add_bounded.
- Notation add_bounded := (ltac:(let v := get_add_bounded () in exact v)) (only parsing).
- Ltac get_sub_bounded _ := get TAG.sub_bounded.
- Notation sub_bounded := (ltac:(let v := get_sub_bounded () in exact v)) (only parsing).
- Ltac get_opp_bounded _ := get TAG.opp_bounded.
- Notation opp_bounded := (ltac:(let v := get_opp_bounded () in exact v)) (only parsing).
- Ltac get_carry_bounded _ := get TAG.carry_bounded.
- Notation carry_bounded := (ltac:(let v := get_carry_bounded () in exact v)) (only parsing).
- Ltac get_nonzero_sig _ := get TAG.nonzero_sig.
- Notation nonzero_sig := (ltac:(let v := get_nonzero_sig () in exact v)) (only parsing).
-End MakeMontgomeryPackage.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/SquareFromMul.v b/src/Specific/Framework/ArithmeticSynthesis/SquareFromMul.v
deleted file mode 100644
index 8d8946923..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/SquareFromMul.v
+++ /dev/null
@@ -1,28 +0,0 @@
-Require Import Coq.ZArith.ZArith Coq.ZArith.BinIntDef.
-Require Import Coq.Lists.List. Import ListNotations.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Crypto.Specific.Framework.CurveParameters.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.HelperTactics.
-Require Import Crypto.Util.Tactics.CacheTerm.
-Require Crypto.Util.Tuple.
-
-Local Notation tuple := Tuple.tuple.
-Local Open Scope list_scope.
-Local Open Scope Z_scope.
-Local Infix "^" := tuple : type_scope.
-
-Ltac pose_square_sig sz m wt mul_sig square_sig :=
- cache_term_with_type_by
- {square : (Z^sz -> Z^sz)%type |
- forall a : Z^sz,
- let eval := Positional.Fdecode (m := m) wt in
- Positional.Fdecode (m := m) wt (square a) = (eval a * eval a)%F}
- ltac:(idtac;
- let a := fresh "a" in
- eexists; cbv beta zeta; intros a;
- rewrite <-(proj2_sig mul_sig);
- apply f_equal;
- cbv [proj1_sig mul_sig];
- reflexivity)
- square_sig.
diff --git a/src/Specific/Framework/ArithmeticSynthesis/remake_packages.py b/src/Specific/Framework/ArithmeticSynthesis/remake_packages.py
deleted file mode 100755
index d9812fd94..000000000
--- a/src/Specific/Framework/ArithmeticSynthesis/remake_packages.py
+++ /dev/null
@@ -1,253 +0,0 @@
-#!/usr/bin/env python
-from __future__ import with_statement
-import re, os
-import io
-
-PACKAGE_NAMES = [('../CurveParameters.v', [])]
-CP_LIST = ['../CurveParametersPackage.v']
-CP_BASE_LIST = ['../CurveParametersPackage.v', 'BasePackage.v']
-CP_BASE_DEFAULTS_LIST = ['../CurveParametersPackage.v', 'BasePackage.v', 'DefaultsPackage.v']
-CP_BASE_DEFAULTS_FREEZE_LADDERSTEP_LIST = ['../CurveParametersPackage.v', 'BasePackage.v', 'DefaultsPackage.v', 'FreezePackage.v', 'LadderstepPackage.v']
-NORMAL_PACKAGE_NAMES = [('Base.v', (CP_LIST, None)),
- ('Defaults.v', (CP_BASE_LIST, 'not_exists')),
- ('../ReificationTypes.v', (CP_BASE_LIST, None)),
- ('Freeze.v', (CP_BASE_LIST, ('freeze', 'not_exists'))),
- ('Ladderstep.v', (CP_BASE_DEFAULTS_LIST, ('ladderstep', 'not_exists'))),
- ('Karatsuba.v', (CP_BASE_DEFAULTS_LIST, 'goldilocks')),
- ('Montgomery.v', (CP_BASE_DEFAULTS_FREEZE_LADDERSTEP_LIST, 'montgomery')),
- ('../MontgomeryReificationTypes.v', (CP_BASE_LIST + ['MontgomeryPackage.v', '../ReificationTypesPackage.v'], 'montgomery'))]
-ALL_FILE_NAMES = PACKAGE_NAMES + NORMAL_PACKAGE_NAMES # PACKAGE_CP_NAMES + WITH_CURVE_BASE_NAMES + ['../ReificationTypes.v']
-CONFIGS = ('goldilocks', 'karatsuba', 'montgomery', 'freeze', 'ladderstep')
-
-EXCLUDES = ('constr:((wt_divides_chain, wt_divides_chains))', )
-
-contents = {}
-lines = {}
-fns = {}
-
-PY_FILE_NAME = os.path.basename(__file__)
-
-def init_contents(lines=lines, contents=contents):
- for fname, _ in ALL_FILE_NAMES:
- with open(fname, 'r') as f:
- contents[fname] = f.read()
- lines.update(dict((k, v.split('\n')) for k, v in contents.items()))
-
-def strip_prefix(name, prefix='local_'):
- if name.startswith(prefix): return name[len(prefix):]
- return name
-
-def init_fns(lines=lines, fns=fns):
- header = 'Ltac pose_'
- for fname, _ in ALL_FILE_NAMES:
- stripped_lines = [i.strip() for i in lines[fname]]
- fns[fname] = [(strip_prefix(name, 'local_'), args.strip(), name.startswith('local_'))
- for line in stripped_lines
- if line.startswith(header)
- for name, args in re.findall('Ltac pose_([^ ]*' + ') ([A-Za-z0-9_\' ]*' + ')', line.strip())]
-
-def get_file_root(folder=os.path.dirname(__file__), filename='Makefile'):
- dir_path = os.path.realpath(folder)
- while not os.path.isfile(os.path.join(dir_path, filename)) and dir_path != '/':
- dir_path = os.path.realpath(os.path.join(dir_path, '..'))
- if not os.path.isfile(os.path.join(dir_path, filename)):
- print('ERROR: Could not find Makefile in the root of %s' % folder)
- raise Exception
- return dir_path
-
-def modname_of_file_name(fname):
- assert(fname[-2:] == '.v')
- return 'Crypto.' + os.path.normpath(os.path.relpath(os.path.realpath(fname), os.path.join(root, 'src'))).replace(os.sep, '.')[:-2]
-
-def split_args(name, args_str, indent=''):
- args = [arg.strip() for arg in args_str.split(' ')]
- pass_args = [arg for arg in args if arg.startswith('P_')]
- extract_args = [arg for arg in args if arg not in pass_args and arg != name]
- if name not in args:
- print('Error: %s not in %s' % (name, repr(args)))
- assert(name in args)
- assert(len(pass_args) + len(extract_args) + 1 == len(args))
- pass_args_str = ' '.join(pass_args)
- if pass_args_str != '': pass_args_str += ' '
- extract_args_str = ''
- nl_indent = ('\n%(indent)s ' % locals())
- if len(extract_args) > 0:
- extract_args_str = nl_indent + nl_indent.join('let %s := Tag.get pkg TAG.%s in' % (arg, arg) for arg in extract_args)
- return args, pass_args, extract_args, pass_args_str, extract_args_str
-
-def make_add_from_pose(name, args_str, indent='', only_if=None, local=False):
- args, pass_args, extract_args, pass_args_str, extract_args_str = split_args(name, args_str, indent=indent)
- ret = r'''%(indent)sLtac add_%(name)s pkg %(pass_args_str)s:=''' % locals()
- local_str = ('local_' if local else '')
- if_not_exists_str = ''
- body = r'''%(extract_args_str)s
-%(indent)s let %(name)s := fresh "%(name)s" in
-%(indent)s ''' % locals()
- body += r'''let %(name)s := pose_%(local_str)s%(name)s %(args_str)s in
-%(indent)s ''' % locals()
- if only_if == 'not_exists':
- assert(not local)
- body += 'constr:(%(name)s)' % locals()
- body = body.strip('\n ').replace('\n', '\n ')
- ret += r'''
-%(indent)s Tag.update_by_tac_if_not_exists
-%(indent)s pkg
-%(indent)s TAG.%(name)s
-%(indent)s ltac:(fun _ => %(body)s).''' % locals()
- else:
- if isinstance(only_if, tuple) and 'not_exists' in only_if:
- only_if = [i for i in only_if if i != 'not_exists']
- assert(len(only_if) == 1)
- only_if = only_if[0]
- body += 'constr:(%(name)s)' % locals()
- body = body.strip('\n ').replace('\n', '\n ')
- body = r'''Tag.update_by_tac_if_not_exists
-%(indent)s pkg
-%(indent)s TAG.%(name)s
-%(indent)s ltac:(fun _ => %(body)s).''' % locals()
- else:
- body += r'''Tag.%(local_str)supdate pkg TAG.%(name)s %(name)s''' % locals()
- if only_if is None:
- ret += body + '.\n'
- else:
- body = body.strip('\n .').replace('\n', '\n ')
- ret += r'''
-%(indent)s if_%(only_if)s
-%(indent)s pkg
-%(indent)s ltac:(fun _ => %(body)s)
-%(indent)s ltac:(fun _ => pkg)
-%(indent)s ().''' % locals()
- return ret
-
-def make_add_all(fname, indent=''):
- modname, ext = os.path.splitext(os.path.basename(fname))
- all_items = [(name, split_args(name, args_str, indent=indent)) for name, args_str, local in fns[fname]]
- all_pass_args = []
- for name, (args, pass_args, extract_args, pass_args_str, extract_args_str) in all_items:
- for arg in pass_args:
- if arg not in all_pass_args: all_pass_args.append(arg)
- all_pass_args_str = ' '.join(all_pass_args)
- if all_pass_args_str != '': all_pass_args_str += ' '
- ret = r'''%(indent)sLtac add_%(modname)s_package pkg %(all_pass_args_str)s:=''' % locals()
- nl_indent = ('\n%(indent)s ' % locals())
- ret += nl_indent + nl_indent.join('let pkg := add_%s pkg %sin' % (name, pass_args_str)
- for name, (args, pass_args, extract_args, pass_args_str, extract_args_str) in all_items)
- ret += nl_indent + 'Tag.strip_subst_local pkg.\n'
- return ret
-
-def make_if(name, indent=''):
- ret = r'''%(indent)sLtac if_%(name)s pkg tac_true tac_false arg :=
-%(indent)s let %(name)s := Tag.get pkg TAG.%(name)s in
-%(indent)s let %(name)s := (eval vm_compute in (%(name)s : bool)) in
-%(indent)s lazymatch %(name)s with
-%(indent)s | true => tac_true arg
-%(indent)s | false => tac_false arg
-%(indent)s end.
-''' % locals()
- return ret
-
-def write_if_changed(fname, value):
- if os.path.isfile(fname):
- with open(fname, 'r') as f:
- old_value = f.read()
- if old_value == value: return
- value = unicode(value)
- print('Writing %s...' % fname)
- with io.open(fname, 'w', newline='\n') as f:
- f.write(value)
-
-def do_replace(fname, headers, new_contents):
- lines = contents[fname].split('\n')
- ret = []
- for line in lines:
- if any(header in line for header in headers):
- ret.append(new_contents)
- break
- else:
- ret.append(line)
- ret = unicode('\n'.join(ret))
- write_if_changed(fname, ret)
-
-def get_existing_tags(fname, deps):
- return set(name for dep in deps for name, args, local in fns[dep.replace('Package.v', '.v')])
-
-def make_package(fname, deps, extra_modname_prefix='', extra_imports=None, prefix=None, add_package=True):
- py_file_name = PY_FILE_NAME
- existing_tags = get_existing_tags(fname, deps)
- full_mod = modname_of_file_name(fname)
- modname, ext = os.path.splitext(os.path.basename(fname))
- ret = (r'''(* This file is autogenerated from %(modname)s.v by %(py_file_name)s *)
-''' % locals())
- if extra_imports is not None:
- ret += extra_imports
- ret += (r'''Require Export %(full_mod)s.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-''' % locals())
- if prefix is not None:
- ret += prefix
- new_names = [name for name, args, local in fns[fname] if name not in existing_tags and not local]
- if add_package: # and len(new_names) > 0:
- ret += (r'''
-
-Module Make%(extra_modname_prefix)s%(modname)sPackage (PKG : PrePackage).
- Module Import Make%(extra_modname_prefix)s%(modname)sPackageInternal := MakePackageBase PKG.
-''' % locals())
- for name in new_names:
- ret += ("\n Ltac get_%s _ := get TAG.%s." % (name, name))
- ret += ("\n Notation %s := (ltac:(let v := get_%s () in exact v)) (only parsing)." % (name, name))
- ret += ('\nEnd Make%(extra_modname_prefix)s%(modname)sPackage.\n' % locals())
- return ret
-
-def make_tags(fname, deps):
- existing_tags = get_existing_tags(fname, deps)
- new_tags = [name for name, args, local in fns[fname] if name not in existing_tags]
- if len(new_tags) == 0: return ''
- names = ' | '.join(new_tags)
- return r'''Module TAG.
- Inductive tags := %s.
-End TAG.
-''' % names
-
-def write_package(fname, pkg):
- pkg_name = fname[:-2] + 'Package.v'
- write_if_changed(pkg_name, pkg)
-
-def update_CurveParameters(fname='../CurveParameters.v'):
- endline = contents[fname].strip().split('\n')[-1]
- assert(endline.startswith('End '))
- header = '(* Everything below this line autogenerated by %s *)' % PY_FILE_NAME
- assert(header in contents[fname])
- ret = ' %s' % header
- for name, args, local in fns[fname]:
- ret += '\n' + make_add_from_pose(name, args, indent=' ', local=local)
- ret += '\n' + make_add_all(fname, indent=' ')
- ret += endline + '\n'
- prefix = ''
- for name in CONFIGS:
- prefix += '\n' + make_if(name, indent='')
- pkg = make_package(fname, [], prefix=prefix)
- do_replace(fname, (header,), ret)
- write_package(fname, pkg)
-
-def make_normal_package(fname, deps, only_if=None):
- prefix = ''
- extra_imports = ''
- for dep in deps:
- extra_imports += 'Require Import %s.\n' % modname_of_file_name(dep)
- prefix += '\n' + make_tags(fname, deps)
- for name, args, local in fns[fname]:
- prefix += '\n' + make_add_from_pose(name, args, indent='', only_if=only_if, local=local)
- prefix += '\n' + make_add_all(fname, indent='')
- return make_package(fname, deps, extra_imports=extra_imports, prefix=prefix)
-
-def update_normal_package(fname, deps, only_if=None):
- pkg = make_normal_package(fname, deps, only_if=only_if)
- write_package(fname, pkg)
-
-root = get_file_root()
-init_contents()
-init_fns()
-update_CurveParameters()
-for fname, (deps, only_if) in NORMAL_PACKAGE_NAMES:
- update_normal_package(fname, deps, only_if=only_if)
diff --git a/src/Specific/Framework/CurveParameters.v b/src/Specific/Framework/CurveParameters.v
deleted file mode 100644
index 91d876372..000000000
--- a/src/Specific/Framework/CurveParameters.v
+++ /dev/null
@@ -1,425 +0,0 @@
-Require Import Coq.QArith.Qround.
-Require Export Coq.ZArith.BinInt.
-Require Export Coq.Lists.List.
-Require Export Crypto.Util.ZUtil.Notations.
-Require Import Crypto.Util.Tactics.CacheTerm.
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.TagList.
-Require Crypto.Util.Tuple.
-
-Local Set Primitive Projections.
-
-Module Export Notations := RawCurveParameters.Notations.
-
-Module TAG. (* namespacing *)
- Inductive tags := CP | sz | base | bitwidth | s | c | carry_chains | a24 | coef_div_modulus | goldilocks | karatsuba | montgomery | freeze | ladderstep | upper_bound_of_exponent_tight | upper_bound_of_exponent_loose | allowable_bit_widths | freeze_allowable_bit_widths | modinv_fuel | mul_code | square_code.
-End TAG.
-
-Module Export CurveParameters.
- Local Notation eval p :=
- (List.fold_right Z.add 0%Z (List.map (fun t => fst t * snd t) p)).
-
- Ltac do_compute v :=
- let v' := (eval vm_compute in v) in v'.
- Notation compute v
- := (ltac:(let v' := do_compute v in exact v'))
- (only parsing).
- Local Notation defaulted opt_v default
- := (match opt_v with
- | Some v => v
- | None => default
- end)
- (only parsing).
- Record CurveParameters :=
- {
- sz : nat;
- base : Q;
- bitwidth : Z;
- s : Z;
- c : list limb;
- carry_chains : list (list nat);
- a24 : option Z;
- coef_div_modulus : nat;
-
- goldilocks : bool;
- karatsuba : bool;
- montgomery : bool;
- freeze : bool;
- ladderstep : bool;
-
- mul_code : option (Z^sz -> Z^sz -> Z^sz);
- square_code : option (Z^sz -> Z^sz);
- upper_bound_of_exponent_tight : Z -> Z;
- upper_bound_of_exponent_loose : Z -> Z;
- allowable_bit_widths : list nat;
- freeze_allowable_bit_widths : list nat;
- modinv_fuel : nat
- }.
-
- Declare Reduction cbv_CurveParameters
- := cbv [sz
- base
- bitwidth
- s
- c
- carry_chains
- a24
- coef_div_modulus
- goldilocks
- karatsuba
- montgomery
- freeze
- ladderstep
- mul_code
- square_code
- upper_bound_of_exponent_tight
- upper_bound_of_exponent_loose
- allowable_bit_widths
- freeze_allowable_bit_widths
- modinv_fuel].
-
- Ltac default_mul CP :=
- lazymatch (eval hnf in (mul_code CP)) with
- | None => reflexivity
- | Some ?mul_code
- => instantiate (1:=mul_code)
- end.
- Ltac default_square CP :=
- lazymatch (eval hnf in (square_code CP)) with
- | None => reflexivity
- | Some ?square_code
- => instantiate (1:=square_code)
- end.
-
- Local Notation list_n_if_not_exists n ls :=
- (if existsb (Nat.eqb n) ls
- then nil
- else [n]%nat)
- (only parsing).
- Local Notation list_8_if_not_exists ls
- := (list_n_if_not_exists 8%nat ls) (only parsing).
- Local Notation list_1_if_not_exists ls
- := (list_n_if_not_exists 1%nat ls) (only parsing).
-
- Definition fill_defaults_CurveParameters (CP : RawCurveParameters.CurveParameters)
- : CurveParameters
- := Eval cbv_RawCurveParameters in
- let sz := RawCurveParameters.sz CP in
- let base := RawCurveParameters.base CP in
- let bitwidth := RawCurveParameters.bitwidth CP in
- let montgomery := RawCurveParameters.montgomery CP in
- let karatsuba := defaulted (RawCurveParameters.karatsuba CP) false in
- let s := RawCurveParameters.s CP in
- let c := RawCurveParameters.c CP in
- let freeze
- := defaulted
- (RawCurveParameters.freeze CP)
- (s =? 2^(Qceiling (base * sz))) in
- let goldilocks :=
- defaulted
- (RawCurveParameters.goldilocks CP)
- (let k := Z.log2 s / 2 in
- (s - eval c) =? (2^(2*k) - 2^k - 1)) in
- let allowable_bit_widths
- := defaulted
- (RawCurveParameters.allowable_bit_widths CP)
- ((if montgomery
- then [1; 8]
- else nil)
- ++ (Z.to_nat bitwidth :: 2*Z.to_nat bitwidth :: nil))%nat in
- let upper_bound_of_exponent_tight
- := defaulted (RawCurveParameters.upper_bound_of_exponent_tight CP)
- (if montgomery
- then (fun exp => (2^exp - 1)%Z)
- else (fun exp => (2^exp + 2^(exp-3))%Z))
- (* max is [(0, 2^(exp+2) + 2^exp + 2^(exp-1) + 2^(exp-3) + 2^(exp-4) + 2^(exp-5) + 2^(exp-6) + 2^(exp-10) + 2^(exp-12) + 2^(exp-13) + 2^(exp-14) + 2^(exp-15) + 2^(exp-17) + 2^(exp-23) + 2^(exp-24))%Z] *) in
- let upper_bound_of_exponent_loose
- := defaulted (RawCurveParameters.upper_bound_of_exponent_loose CP)
- (if montgomery
- then (fun exp => (2^exp - 1)%Z)
- else (fun exp => (3 * upper_bound_of_exponent_tight exp)%Z)) in
- {|
- sz := sz;
- base := base;
- bitwidth := bitwidth;
- s := s;
- c := c;
- carry_chains := defaulted (RawCurveParameters.carry_chains CP) [seq 0 (pred sz); [0; 1]]%nat;
- a24 := RawCurveParameters.a24 CP;
- coef_div_modulus := defaulted (RawCurveParameters.coef_div_modulus CP) 0%nat;
-
- goldilocks := goldilocks;
- karatsuba := karatsuba;
- montgomery := montgomery;
- freeze := freeze;
- ladderstep := RawCurveParameters.ladderstep CP;
-
- mul_code := RawCurveParameters.mul_code CP;
- square_code := RawCurveParameters.square_code CP;
- upper_bound_of_exponent_tight := upper_bound_of_exponent_tight;
- upper_bound_of_exponent_loose := upper_bound_of_exponent_loose;
-
- allowable_bit_widths := allowable_bit_widths;
- freeze_allowable_bit_widths
- := defaulted
- (RawCurveParameters.freeze_extra_allowable_bit_widths CP)
- ((list_1_if_not_exists allowable_bit_widths)
- ++ (list_8_if_not_exists allowable_bit_widths))
- ++ allowable_bit_widths;
- modinv_fuel := defaulted (RawCurveParameters.modinv_fuel CP) (Z.to_nat (Z.log2_up s))
- |}.
-
- Ltac get_fill_CurveParameters CP :=
- let CP := (eval hnf in CP) in
- let v := (eval cbv [fill_defaults_CurveParameters] in
- (fill_defaults_CurveParameters CP)) in
- let v := (eval cbv_CurveParameters in v) in
- let v := (eval cbv_RawCurveParameters in v) in
- lazymatch v with
- | ({|
- sz := ?sz';
- base := ?base';
- bitwidth := ?bitwidth';
- s := ?s';
- c := ?c';
- carry_chains := ?carry_chains';
- a24 := ?a24';
- coef_div_modulus := ?coef_div_modulus';
- goldilocks := ?goldilocks';
- karatsuba := ?karatsuba';
- montgomery := ?montgomery';
- freeze := ?freeze';
- ladderstep := ?ladderstep';
- mul_code := ?mul_code';
- square_code := ?square_code';
- upper_bound_of_exponent_tight := ?upper_bound_of_exponent_tight';
- upper_bound_of_exponent_loose := ?upper_bound_of_exponent_loose';
- allowable_bit_widths := ?allowable_bit_widths';
- freeze_allowable_bit_widths := ?freeze_allowable_bit_widths';
- modinv_fuel := ?modinv_fuel'
- |})
- => let sz' := do_compute sz' in
- let base' := do_compute base' in
- let bitwidth' := do_compute bitwidth' in
- let carry_chains' := do_compute carry_chains' in
- let goldilocks' := do_compute goldilocks' in
- let karatsuba' := do_compute karatsuba' in
- let montgomery' := do_compute montgomery' in
- let freeze' := do_compute freeze' in
- let ladderstep' := do_compute ladderstep' in
- let allowable_bit_widths' := do_compute allowable_bit_widths' in
- let freeze_allowable_bit_widths' := do_compute freeze_allowable_bit_widths' in
- let modinv_fuel' := do_compute modinv_fuel' in
- constr:({|
- sz := sz';
- base := base';
- bitwidth := bitwidth';
- s := s';
- c := c';
- carry_chains := carry_chains';
- a24 := a24';
- coef_div_modulus := coef_div_modulus';
- goldilocks := goldilocks';
- karatsuba := karatsuba';
- montgomery := montgomery';
- freeze := freeze';
- ladderstep := ladderstep';
- mul_code := mul_code';
- square_code := square_code';
- upper_bound_of_exponent_tight := upper_bound_of_exponent_tight';
- upper_bound_of_exponent_loose := upper_bound_of_exponent_loose';
- allowable_bit_widths := allowable_bit_widths';
- freeze_allowable_bit_widths := freeze_allowable_bit_widths';
- modinv_fuel := modinv_fuel'
- |})
- end.
- Notation fill_CurveParameters CP := ltac:(let v := get_fill_CurveParameters CP in exact v) (only parsing).
-
- Ltac internal_pose_of_CP CP proj id :=
- let P_proj := (eval cbv_CurveParameters in (proj CP)) in
- cache_term P_proj id.
- Ltac pose_base CP base :=
- internal_pose_of_CP CP CurveParameters.base base.
- Ltac pose_sz CP sz :=
- internal_pose_of_CP CP CurveParameters.sz sz.
- Ltac pose_bitwidth CP bitwidth :=
- internal_pose_of_CP CP CurveParameters.bitwidth bitwidth.
- Ltac pose_s CP s := (* don't want to compute, e.g., [2^255] *)
- internal_pose_of_CP CP CurveParameters.s s.
- Ltac pose_c CP c :=
- internal_pose_of_CP CP CurveParameters.c c.
- Ltac pose_carry_chains CP carry_chains :=
- internal_pose_of_CP CP CurveParameters.carry_chains carry_chains.
- Ltac pose_a24 CP a24 :=
- internal_pose_of_CP CP CurveParameters.a24 a24.
- Ltac pose_coef_div_modulus CP coef_div_modulus :=
- internal_pose_of_CP CP CurveParameters.coef_div_modulus coef_div_modulus.
- Ltac pose_goldilocks CP goldilocks :=
- internal_pose_of_CP CP CurveParameters.goldilocks goldilocks.
- Ltac pose_karatsuba CP karatsuba :=
- internal_pose_of_CP CP CurveParameters.karatsuba karatsuba.
- Ltac pose_montgomery CP montgomery :=
- internal_pose_of_CP CP CurveParameters.montgomery montgomery.
- Ltac pose_freeze CP freeze :=
- internal_pose_of_CP CP CurveParameters.freeze freeze.
- Ltac pose_ladderstep CP ladderstep :=
- internal_pose_of_CP CP CurveParameters.ladderstep ladderstep.
- Ltac pose_allowable_bit_widths CP allowable_bit_widths :=
- internal_pose_of_CP CP CurveParameters.allowable_bit_widths allowable_bit_widths.
- Ltac pose_freeze_allowable_bit_widths CP freeze_allowable_bit_widths :=
- internal_pose_of_CP CP CurveParameters.freeze_allowable_bit_widths freeze_allowable_bit_widths.
- Ltac pose_upper_bound_of_exponent_tight CP upper_bound_of_exponent_tight :=
- internal_pose_of_CP CP CurveParameters.upper_bound_of_exponent_tight upper_bound_of_exponent_tight.
- Ltac pose_upper_bound_of_exponent_loose CP upper_bound_of_exponent_loose :=
- internal_pose_of_CP CP CurveParameters.upper_bound_of_exponent_loose upper_bound_of_exponent_loose.
- Ltac pose_modinv_fuel CP modinv_fuel :=
- internal_pose_of_CP CP CurveParameters.modinv_fuel modinv_fuel.
- Ltac pose_mul_code CP mul_code :=
- internal_pose_of_CP CP CurveParameters.mul_code mul_code.
- Ltac pose_square_code CP square_code :=
- internal_pose_of_CP CP CurveParameters.square_code square_code.
-
- (* Everything below this line autogenerated by remake_packages.py *)
- Ltac add_base pkg :=
- let CP := Tag.get pkg TAG.CP in
- let base := fresh "base" in
- let base := pose_base CP base in
- Tag.update pkg TAG.base base.
-
- Ltac add_sz pkg :=
- let CP := Tag.get pkg TAG.CP in
- let sz := fresh "sz" in
- let sz := pose_sz CP sz in
- Tag.update pkg TAG.sz sz.
-
- Ltac add_bitwidth pkg :=
- let CP := Tag.get pkg TAG.CP in
- let bitwidth := fresh "bitwidth" in
- let bitwidth := pose_bitwidth CP bitwidth in
- Tag.update pkg TAG.bitwidth bitwidth.
-
- Ltac add_s pkg :=
- let CP := Tag.get pkg TAG.CP in
- let s := fresh "s" in
- let s := pose_s CP s in
- Tag.update pkg TAG.s s.
-
- Ltac add_c pkg :=
- let CP := Tag.get pkg TAG.CP in
- let c := fresh "c" in
- let c := pose_c CP c in
- Tag.update pkg TAG.c c.
-
- Ltac add_carry_chains pkg :=
- let CP := Tag.get pkg TAG.CP in
- let carry_chains := fresh "carry_chains" in
- let carry_chains := pose_carry_chains CP carry_chains in
- Tag.update pkg TAG.carry_chains carry_chains.
-
- Ltac add_a24 pkg :=
- let CP := Tag.get pkg TAG.CP in
- let a24 := fresh "a24" in
- let a24 := pose_a24 CP a24 in
- Tag.update pkg TAG.a24 a24.
-
- Ltac add_coef_div_modulus pkg :=
- let CP := Tag.get pkg TAG.CP in
- let coef_div_modulus := fresh "coef_div_modulus" in
- let coef_div_modulus := pose_coef_div_modulus CP coef_div_modulus in
- Tag.update pkg TAG.coef_div_modulus coef_div_modulus.
-
- Ltac add_goldilocks pkg :=
- let CP := Tag.get pkg TAG.CP in
- let goldilocks := fresh "goldilocks" in
- let goldilocks := pose_goldilocks CP goldilocks in
- Tag.update pkg TAG.goldilocks goldilocks.
-
- Ltac add_karatsuba pkg :=
- let CP := Tag.get pkg TAG.CP in
- let karatsuba := fresh "karatsuba" in
- let karatsuba := pose_karatsuba CP karatsuba in
- Tag.update pkg TAG.karatsuba karatsuba.
-
- Ltac add_montgomery pkg :=
- let CP := Tag.get pkg TAG.CP in
- let montgomery := fresh "montgomery" in
- let montgomery := pose_montgomery CP montgomery in
- Tag.update pkg TAG.montgomery montgomery.
-
- Ltac add_freeze pkg :=
- let CP := Tag.get pkg TAG.CP in
- let freeze := fresh "freeze" in
- let freeze := pose_freeze CP freeze in
- Tag.update pkg TAG.freeze freeze.
-
- Ltac add_ladderstep pkg :=
- let CP := Tag.get pkg TAG.CP in
- let ladderstep := fresh "ladderstep" in
- let ladderstep := pose_ladderstep CP ladderstep in
- Tag.update pkg TAG.ladderstep ladderstep.
-
- Ltac add_allowable_bit_widths pkg :=
- let CP := Tag.get pkg TAG.CP in
- let allowable_bit_widths := fresh "allowable_bit_widths" in
- let allowable_bit_widths := pose_allowable_bit_widths CP allowable_bit_widths in
- Tag.update pkg TAG.allowable_bit_widths allowable_bit_widths.
-
- Ltac add_freeze_allowable_bit_widths pkg :=
- let CP := Tag.get pkg TAG.CP in
- let freeze_allowable_bit_widths := fresh "freeze_allowable_bit_widths" in
- let freeze_allowable_bit_widths := pose_freeze_allowable_bit_widths CP freeze_allowable_bit_widths in
- Tag.update pkg TAG.freeze_allowable_bit_widths freeze_allowable_bit_widths.
-
- Ltac add_upper_bound_of_exponent_tight pkg :=
- let CP := Tag.get pkg TAG.CP in
- let upper_bound_of_exponent_tight := fresh "upper_bound_of_exponent_tight" in
- let upper_bound_of_exponent_tight := pose_upper_bound_of_exponent_tight CP upper_bound_of_exponent_tight in
- Tag.update pkg TAG.upper_bound_of_exponent_tight upper_bound_of_exponent_tight.
-
- Ltac add_upper_bound_of_exponent_loose pkg :=
- let CP := Tag.get pkg TAG.CP in
- let upper_bound_of_exponent_loose := fresh "upper_bound_of_exponent_loose" in
- let upper_bound_of_exponent_loose := pose_upper_bound_of_exponent_loose CP upper_bound_of_exponent_loose in
- Tag.update pkg TAG.upper_bound_of_exponent_loose upper_bound_of_exponent_loose.
-
- Ltac add_modinv_fuel pkg :=
- let CP := Tag.get pkg TAG.CP in
- let modinv_fuel := fresh "modinv_fuel" in
- let modinv_fuel := pose_modinv_fuel CP modinv_fuel in
- Tag.update pkg TAG.modinv_fuel modinv_fuel.
-
- Ltac add_mul_code pkg :=
- let CP := Tag.get pkg TAG.CP in
- let mul_code := fresh "mul_code" in
- let mul_code := pose_mul_code CP mul_code in
- Tag.update pkg TAG.mul_code mul_code.
-
- Ltac add_square_code pkg :=
- let CP := Tag.get pkg TAG.CP in
- let square_code := fresh "square_code" in
- let square_code := pose_square_code CP square_code in
- Tag.update pkg TAG.square_code square_code.
-
- Ltac add_CurveParameters_package pkg :=
- let pkg := add_base pkg in
- let pkg := add_sz pkg in
- let pkg := add_bitwidth pkg in
- let pkg := add_s pkg in
- let pkg := add_c pkg in
- let pkg := add_carry_chains pkg in
- let pkg := add_a24 pkg in
- let pkg := add_coef_div_modulus pkg in
- let pkg := add_goldilocks pkg in
- let pkg := add_karatsuba pkg in
- let pkg := add_montgomery pkg in
- let pkg := add_freeze pkg in
- let pkg := add_ladderstep pkg in
- let pkg := add_allowable_bit_widths pkg in
- let pkg := add_freeze_allowable_bit_widths pkg in
- let pkg := add_upper_bound_of_exponent_tight pkg in
- let pkg := add_upper_bound_of_exponent_loose pkg in
- let pkg := add_modinv_fuel pkg in
- let pkg := add_mul_code pkg in
- let pkg := add_square_code pkg in
- Tag.strip_subst_local pkg.
-End CurveParameters.
diff --git a/src/Specific/Framework/CurveParametersPackage.v b/src/Specific/Framework/CurveParametersPackage.v
deleted file mode 100644
index 954080ad6..000000000
--- a/src/Specific/Framework/CurveParametersPackage.v
+++ /dev/null
@@ -1,90 +0,0 @@
-(* This file is autogenerated from CurveParameters.v by remake_packages.py *)
-Require Export Crypto.Specific.Framework.CurveParameters.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Ltac if_goldilocks pkg tac_true tac_false arg :=
- let goldilocks := Tag.get pkg TAG.goldilocks in
- let goldilocks := (eval vm_compute in (goldilocks : bool)) in
- lazymatch goldilocks with
- | true => tac_true arg
- | false => tac_false arg
- end.
-
-Ltac if_karatsuba pkg tac_true tac_false arg :=
- let karatsuba := Tag.get pkg TAG.karatsuba in
- let karatsuba := (eval vm_compute in (karatsuba : bool)) in
- lazymatch karatsuba with
- | true => tac_true arg
- | false => tac_false arg
- end.
-
-Ltac if_montgomery pkg tac_true tac_false arg :=
- let montgomery := Tag.get pkg TAG.montgomery in
- let montgomery := (eval vm_compute in (montgomery : bool)) in
- lazymatch montgomery with
- | true => tac_true arg
- | false => tac_false arg
- end.
-
-Ltac if_freeze pkg tac_true tac_false arg :=
- let freeze := Tag.get pkg TAG.freeze in
- let freeze := (eval vm_compute in (freeze : bool)) in
- lazymatch freeze with
- | true => tac_true arg
- | false => tac_false arg
- end.
-
-Ltac if_ladderstep pkg tac_true tac_false arg :=
- let ladderstep := Tag.get pkg TAG.ladderstep in
- let ladderstep := (eval vm_compute in (ladderstep : bool)) in
- lazymatch ladderstep with
- | true => tac_true arg
- | false => tac_false arg
- end.
-
-
-Module MakeCurveParametersPackage (PKG : PrePackage).
- Module Import MakeCurveParametersPackageInternal := MakePackageBase PKG.
-
- Ltac get_base _ := get TAG.base.
- Notation base := (ltac:(let v := get_base () in exact v)) (only parsing).
- Ltac get_sz _ := get TAG.sz.
- Notation sz := (ltac:(let v := get_sz () in exact v)) (only parsing).
- Ltac get_bitwidth _ := get TAG.bitwidth.
- Notation bitwidth := (ltac:(let v := get_bitwidth () in exact v)) (only parsing).
- Ltac get_s _ := get TAG.s.
- Notation s := (ltac:(let v := get_s () in exact v)) (only parsing).
- Ltac get_c _ := get TAG.c.
- Notation c := (ltac:(let v := get_c () in exact v)) (only parsing).
- Ltac get_carry_chains _ := get TAG.carry_chains.
- Notation carry_chains := (ltac:(let v := get_carry_chains () in exact v)) (only parsing).
- Ltac get_a24 _ := get TAG.a24.
- Notation a24 := (ltac:(let v := get_a24 () in exact v)) (only parsing).
- Ltac get_coef_div_modulus _ := get TAG.coef_div_modulus.
- Notation coef_div_modulus := (ltac:(let v := get_coef_div_modulus () in exact v)) (only parsing).
- Ltac get_goldilocks _ := get TAG.goldilocks.
- Notation goldilocks := (ltac:(let v := get_goldilocks () in exact v)) (only parsing).
- Ltac get_karatsuba _ := get TAG.karatsuba.
- Notation karatsuba := (ltac:(let v := get_karatsuba () in exact v)) (only parsing).
- Ltac get_montgomery _ := get TAG.montgomery.
- Notation montgomery := (ltac:(let v := get_montgomery () in exact v)) (only parsing).
- Ltac get_freeze _ := get TAG.freeze.
- Notation freeze := (ltac:(let v := get_freeze () in exact v)) (only parsing).
- Ltac get_ladderstep _ := get TAG.ladderstep.
- Notation ladderstep := (ltac:(let v := get_ladderstep () in exact v)) (only parsing).
- Ltac get_allowable_bit_widths _ := get TAG.allowable_bit_widths.
- Notation allowable_bit_widths := (ltac:(let v := get_allowable_bit_widths () in exact v)) (only parsing).
- Ltac get_freeze_allowable_bit_widths _ := get TAG.freeze_allowable_bit_widths.
- Notation freeze_allowable_bit_widths := (ltac:(let v := get_freeze_allowable_bit_widths () in exact v)) (only parsing).
- Ltac get_upper_bound_of_exponent_tight _ := get TAG.upper_bound_of_exponent_tight.
- Notation upper_bound_of_exponent_tight := (ltac:(let v := get_upper_bound_of_exponent_tight () in exact v)) (only parsing).
- Ltac get_upper_bound_of_exponent_loose _ := get TAG.upper_bound_of_exponent_loose.
- Notation upper_bound_of_exponent_loose := (ltac:(let v := get_upper_bound_of_exponent_loose () in exact v)) (only parsing).
- Ltac get_modinv_fuel _ := get TAG.modinv_fuel.
- Notation modinv_fuel := (ltac:(let v := get_modinv_fuel () in exact v)) (only parsing).
- Ltac get_mul_code _ := get TAG.mul_code.
- Notation mul_code := (ltac:(let v := get_mul_code () in exact v)) (only parsing).
- Ltac get_square_code _ := get TAG.square_code.
- Notation square_code := (ltac:(let v := get_square_code () in exact v)) (only parsing).
-End MakeCurveParametersPackage.
diff --git a/src/Specific/Framework/IntegrationTestDisplayCommon.v b/src/Specific/Framework/IntegrationTestDisplayCommon.v
deleted file mode 100644
index a3bf52d85..000000000
--- a/src/Specific/Framework/IntegrationTestDisplayCommon.v
+++ /dev/null
@@ -1,24 +0,0 @@
-Require Import Crypto.Util.Sigma.Lift.
-Require Import Crypto.Util.Sigma.Associativity.
-Require Import Crypto.Util.Sigma.MapProjections.
-Require Import Crypto.Specific.Framework.IntegrationTestTemporaryMiscCommon.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Eta.
-Require Export Coq.ZArith.ZArith.
-Require Export Crypto.Util.LetIn.
-Require Export Crypto.Util.FixedWordSizes.
-Require Export Crypto.Compilers.Syntax.
-Require Export Crypto.Specific.Framework.IntegrationTestDisplayCommonTactics.
-Require Export Crypto.Compilers.Z.HexNotationConstants.
-Require Export Crypto.Util.Notations.
-Require Export Crypto.Compilers.Z.CNotations.
-
-Global Arguments Pos.to_nat !_ / .
-Global Arguments InterpEta {_ _ _ _ _}.
-Global Set Printing Width 2000000.
-
-Notation "'Interp-η' f x" := (Eta.InterpEta f x) (format "'Interp-η' '//' f '//' x", at level 200, f at next level, x at next level).
-Notation ReturnType := (interp_flat_type _).
-Notation "'let' ( a , b ) := c 'in' d" := (let (a, b) := c in d) (at level 200, d at level 200, format "'let' ( a , b ) := c 'in' '//' d").
-
-Require Export Coq.Unicode.Utf8. (* for better line breaks at function display; must come last *)
diff --git a/src/Specific/Framework/IntegrationTestDisplayCommonTactics.v b/src/Specific/Framework/IntegrationTestDisplayCommonTactics.v
deleted file mode 100644
index 2b15616fe..000000000
--- a/src/Specific/Framework/IntegrationTestDisplayCommonTactics.v
+++ /dev/null
@@ -1,149 +0,0 @@
-Require Import Crypto.Util.Sigma.Lift.
-Require Import Crypto.Util.Sigma.Associativity.
-Require Import Crypto.Util.Sigma.MapProjections.
-Require Import Crypto.Specific.Framework.IntegrationTestTemporaryMiscCommon.
-Require Import Crypto.Compilers.Z.Bounds.Interpretation.
-Require Import Crypto.Compilers.Eta.
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Util.LetIn.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import Crypto.Compilers.Syntax.
-Require Export Crypto.Util.Notations.
-
-Global Arguments Pos.to_nat !_ / .
-
-Ltac display_helper_gen f make_hole :=
- let display_helper f := display_helper_gen f make_hole in
- let do_make_hole _ :=
- match goal with
- | [ |- ?T ] => let h := make_hole T in
- refine h
- end in
- let t := type of f in
- lazymatch (eval hnf in t) with
- | forall _ : ?A, ?B
- => let x := fresh "x" in
- lazymatch (eval hnf in A) with
- | @sig ?A ?P
- => lazymatch (eval hnf in A) with
- | sig _
- => let f' := constr:(fun x : A => f (exist P x ltac:(do_make_hole ()))) in
- display_helper f'
- | _
- => refine (fun x : A => _);
- let f' := constr:(f (exist P x ltac:(do_make_hole ()))) in
- display_helper f'
- end
- | _
- => lazymatch A with
- | prod ?A ?B
- => let f' := constr:(fun (a : A) (b : B) => f (a, b)%core) in
- display_helper f'
- | _
- => refine (fun x : A => _);
- let f' := constr:(f x) in
- display_helper f'
- end
- end
- | @sig ?A _
- => lazymatch (eval hnf in A) with
- | sig _ => display_helper (proj1_sig f)
- | _ => refine (proj1_sig f)
- end
- | _
- => lazymatch t with
- | prod _ _
- => let a := fresh "a" in
- let b := fresh "b" in
- refine (let (a, b) := f in
- pair _ _);
- [ display_helper a | display_helper b ]
- | _ => refine f
- end
- end.
-Ltac display_helper f := display_helper_gen f ltac:(fun T => open_constr:(_)).
-Ltac display_helper_with_admit f :=
- constr:(fun admit : forall T, T
- => ltac:(display_helper_gen f ltac:(fun T => constr:(admit T)))).
-Ltac try_strip_admit f :=
- lazymatch f with
- | fun _ : forall T, T => ?P => P
- | ?P => P
- end.
-Ltac refine_display f :=
- let do_red F := (eval cbv [f
- proj1_sig fst snd
- Tuple.map Tuple.map'
- Lift.lift1_sig Lift.lift2_sig Lift.lift3_sig Lift.lift4_sig Lift.lift4_sig_sig
- MapProjections.proj2_sig_map Associativity.sig_sig_assoc
- sig_conj_by_impl2
- sig_eq_trans_exist1 sig_R_trans_exist1 sig_eq_trans_rewrite_fun_exist1
- sig_R_trans_rewrite_fun_exist1
- adjust_tuple2_tuple2_sig
- Tuple.tuple Tuple.tuple'
- FixedWordSizes.wordT FixedWordSizes.word_case FixedWordSizes.ZToWord FixedWordSizes.word_case_dep
- Bounds.actual_logsz Bounds.round_up_to_in_list Bounds.option_min
- List.map List.filter List.fold_right List.fold_left
- Nat.leb Nat.min
- PeanoNat.Nat.log2 PeanoNat.Nat.log2_iter PeanoNat.Nat.pred
- Bounds.bounds_to_base_type
- interp_flat_type
- Z.leb Z.compare Pos.compare Pos.compare_cont
- ZRange.lower ZRange.upper
- BinPos.Pos.to_nat PeanoNat.Nat.pow
- ] in F) in
- let ret := display_helper_with_admit (proj1_sig f) in
- let ret := do_red ret in
- let ret := lazymatch ret with
- | context[match ?sz with O => _ | _ => _ end] => (eval cbv [sz] in ret)
- | _ => ret
- end in
- let ret := (eval simpl @Z.to_nat in ret) in
- let ret := (eval cbv [interp_flat_type] in ret) in
- let ret := try_strip_admit ret in
- refine ret.
-Tactic Notation "display" open_constr(f) :=
- refine_display f.
-Notation display f := (ltac:(let v := f in display v)) (only parsing).
-
-(** Some helper tactics for actually pulling out the expression *)
-Ltac strip_InterpEta term :=
- let retype e :=
- lazymatch type of e with
- | forall var, @Syntax.expr ?base_type_code ?op var ?T
- => constr:(e : @Syntax.Expr base_type_code op T)
- | _ => e
- end in
- lazymatch term with
- | fun x : ?T => ?P
- => let maybe_x := fresh x in
- let probably_not_x := fresh maybe_x in
- let not_x := fresh probably_not_x in
- lazymatch
- constr:(fun x : T
- => match P with
- | not_x => ltac:(let v := (eval cbv delta [not_x] in not_x) in
- let v' := strip_InterpEta v in
- exact v')
- end)
- with
- | fun _ => ?P => retype P
- | ?P => retype P
- end
- | @Eta.InterpEta _ _ _ _ _ ?e
- => e
- | @Eta.InterpEta _ _ _ _ _ ?e _
- => e
- | let (a, b) := ?f in _
- => f
- | _ => let dummy := match goal with
- | _ => fail 1 "strip_InterpEta:" term
- end in
- I
- end.
-
-Ltac extract_Expr f :=
- let k := constr:(ltac:(refine_display f)) in
- let k := strip_InterpEta k in
- k.
-Notation extract_Expr f := (ltac:(let v := f in let v := extract_Expr v in refine v)) (only parsing).
diff --git a/src/Specific/Framework/IntegrationTestTemporaryMiscCommon.v b/src/Specific/Framework/IntegrationTestTemporaryMiscCommon.v
deleted file mode 100644
index 1ccbb72a7..000000000
--- a/src/Specific/Framework/IntegrationTestTemporaryMiscCommon.v
+++ /dev/null
@@ -1,360 +0,0 @@
-(*** XXX TODO MOVE ALL THINGS IN THIS FILE TO BETTER PLACES *)
-Require Import Coq.ZArith.BinInt.
-Require Import Coq.Classes.Morphisms.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.BoundedWord.
-Require Import Crypto.Util.Sigma.Lift.
-Require Import Crypto.Util.Sigma.Associativity.
-Require Import Crypto.Util.Sigma.MapProjections.
-Require Import Crypto.Util.ZRange.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Tactics.MoveLetIn.
-Require Import Crypto.Util.Tactics.DestructHead.
-
-Definition adjust_tuple2_tuple2_sig {A P Q}
- (v : { a : { a : tuple (tuple A 2) 2 | (P (fst (fst a)) /\ P (snd (fst a))) /\ (P (fst (snd a)) /\ P (snd (snd a))) }
- | Q (exist _ _ (proj1 (proj1 (proj2_sig a))),
- exist _ _ (proj2 (proj1 (proj2_sig a))),
- (exist _ _ (proj1 (proj2 (proj2_sig a))),
- exist _ _ (proj2 (proj2 (proj2_sig a))))) })
- : { a : tuple (tuple (@sig A P) 2) 2 | Q a }.
-Proof.
- eexists.
- exact (proj2_sig v).
-Defined.
-
-(** TODO MOVE ME *)
-(** The [eexists_sig_etransitivity_R R] tactic takes a goal of the form
- [{ a | R (f a) b }], and splits it into two goals, [R ?b' b] and
- [{ a | R (f a) ?b' }], where [?b'] is a fresh evar. *)
-Definition sig_R_trans_exist1 {B} (R : B -> B -> Prop) {HT : Transitive R} {A} (f : A -> B)
- (b b' : B)
- (pf : R b' b)
- (y : { a : A | R (f a) b' })
- : { a : A | R (f a) b }
- := let 'exist a p := y in exist _ a (transitivity (R:=R) p pf).
-Ltac eexists_sig_etransitivity_R R :=
- lazymatch goal with
- | [ |- @sig ?A ?P ]
- => let RT := type of R in
- let B := lazymatch (eval hnf in RT) with ?B -> _ => B end in
- let lem := constr:(@sig_R_trans_exist1 B R _ A _ _ : forall b' pf y, @sig A P) in
- let lem := open_constr:(lem _) in
- simple refine (lem _ _)
- end.
-Tactic Notation "eexists_sig_etransitivity_R" open_constr(R) := eexists_sig_etransitivity_R R.
-(** The [eexists_sig_etransitivity] tactic takes a goal of the form
- [{ a | f a = b }], and splits it into two goals, [?b' = b] and
- [{ a | f a = ?b' }], where [?b'] is a fresh evar. *)
-Definition sig_eq_trans_exist1 {A B}
- := @sig_R_trans_exist1 B (@eq B) _ A.
-Ltac eexists_sig_etransitivity :=
- lazymatch goal with
- | [ |- { a : ?A | @?f a = ?b } ]
- => let lem := open_constr:(@sig_eq_trans_exist1 A _ f b _) in
- simple refine (lem _ (_ : { a : A | _ }))
- end.
-Definition sig_R_trans_rewrite_fun_exist1 {B} (R : B -> B -> Prop) {HT : Transitive R}
-{A} (f : A -> B) (b : B) (f' : A -> B)
- (pf : forall a, R (f a) (f' a))
- (y : { a : A | R (f' a) b })
- : { a : A | R (f a) b }
- := let 'exist a p := y in exist _ a (transitivity (R:=R) (pf a) p).
-Ltac eexists_sig_etransitivity_for_rewrite_fun_R R :=
- lazymatch goal with
- | [ |- @sig ?A ?P ]
- => let RT := type of R in
- let B := lazymatch (eval hnf in RT) with ?B -> _ => B end in
- let lem := constr:(@sig_R_trans_rewrite_fun_exist1 B R _ A _ _ : forall f' pf y, @sig A P) in
- let lem := open_constr:(lem _) in
- simple refine (lem _ _); cbv beta
- end.
-Tactic Notation "eexists_sig_etransitivity_for_rewrite_fun_R" open_constr(R)
- := eexists_sig_etransitivity_for_rewrite_fun_R R.
-Definition sig_eq_trans_rewrite_fun_exist1 {A B} (f f' : A -> B)
- (b : B)
- (pf : forall a, f' a = f a)
- (y : { a : A | f' a = b })
- : { a : A | f a = b }
- := let 'exist a p := y in exist _ a (eq_trans (eq_sym (pf a)) p).
-Ltac eexists_sig_etransitivity_for_rewrite_fun :=
- lazymatch goal with
- | [ |- { a : ?A | @?f a = ?b } ]
- => let lem := open_constr:(@sig_eq_trans_rewrite_fun_exist1 A _ f _ b) in
- simple refine (lem _ _); cbv beta
- end.
-Definition sig_conj_by_impl2 {A} {P Q : A -> Prop} (H : forall a : A, Q a -> P a)
- (H' : { a : A | Q a })
- : { a : A | P a /\ Q a }
- := let (a, p) := H' in exist _ a (conj (H a p) p).
-
-
-(** [apply_lift_sig] picks out which version of the [liftN_sig] lemma
- to apply, and builds the appropriate arguments *)
-Ltac make_P_for_apply_lift_sig P :=
- lazymatch P with
- | fun (f : ?F) => forall (a : ?A), @?P f a
- => constr:(fun (a : A)
- => ltac:(lazymatch constr:(fun (f : F)
- => ltac:(let v := (eval cbv beta in (P f a)) in
- lazymatch (eval pattern (f a) in v) with
- | ?k _ => exact k
- end))
- with
- | fun _ => ?P
- => let v := make_P_for_apply_lift_sig P in
- exact v
- end))
- | _ => P
- end.
-Ltac apply_lift_sig :=
- let P := lazymatch goal with |- sig ?P => P end in
- let P := make_P_for_apply_lift_sig P in
- lazymatch goal with
- | [ |- { f | forall a b c d e, _ } ]
- => fail "apply_lift_sig does not yet support ≥ 5 binders"
- | [ |- { f | forall (a : ?A) (b : ?B) (c : ?C) (d : ?D), _ } ]
- => apply (@lift4_sig A B C D _ P)
- | [ |- { f | forall (a : ?A) (b : ?B) (c : ?C), _ } ]
- => apply (@lift3_sig A B C _ P)
- | [ |- { f | forall (a : ?A) (b : ?B), _ } ]
- => apply (@lift2_sig A B _ P)
- | [ |- { f | forall (a : ?A), _ } ]
- => apply (@lift1_sig A _ P)
- | [ |- { f | _ } ]
- => idtac
- end.
-Ltac get_proj2_sig_map_arg_helper P :=
- lazymatch P with
- | (fun e => ?A -> @?B e)
- => let B' := get_proj2_sig_map_arg_helper B in
- uconstr:(A -> B')
- | _ => uconstr:(_ : Prop)
- end.
-Ltac get_proj2_sig_map_arg _ :=
- lazymatch goal with
- | [ |- { e : ?T | @?E e } ]
- => let P := get_proj2_sig_map_arg_helper E in
- uconstr:(fun e : T => P)
- end.
-Ltac get_phi1_for_preglue _ :=
- lazymatch goal with
- | [ |- { e | @?E e } ]
- => lazymatch E with
- | context[Tuple.map (Tuple.map ?phi) _ = _]
- => phi
- | context[?phi _ = _]
- => phi
- end
- end.
-Ltac get_phi2_for_preglue _ :=
- lazymatch goal with
- | [ |- { e | @?E e } ]
- => lazymatch E with
- | context[_ = ?f (Tuple.map ?phi _)]
- => phi
- | context[_ = ?f (?phi _)]
- => phi
- | context[_ = ?phi _]
- => phi
- end
- end.
-Ltac start_preglue :=
- apply_lift_sig; intros; cbv beta iota zeta;
- let phi := get_phi1_for_preglue () in
- let phi2 := get_phi2_for_preglue () in
- let P' := get_proj2_sig_map_arg () in
- refine (proj2_sig_map (P:=P') _ _);
- [ let FINAL := fresh "FINAL" in
- let a := fresh "a" in
- intros a FINAL;
- repeat (let H := fresh in intro H; specialize (FINAL H));
- lazymatch goal with
- | [ |- ?phi _ = ?RHS ]
- => refine (@eq_trans _ _ _ RHS FINAL _); cbv [phi phi2]; clear a FINAL
- | [ |- _ /\ Tuple.map (Tuple.map ?phi) _ = _ ]
- => split; cbv [phi phi2]; [ refine (proj1 FINAL); shelve | ]
- end
- | cbv [phi phi2] ].
-Ltac do_set_sig f_sig :=
- let fZ := fresh f_sig in
- set (fZ := proj1_sig f_sig);
- context_to_dlet_in_rhs fZ;
- try cbv beta iota delta [proj1_sig f_sig] in fZ;
- cbv beta delta [fZ]; clear fZ;
- cbv beta iota delta [fst snd].
-Ltac do_set_sig_1arg f_sig :=
- let fZ := fresh f_sig in
- set (fZ := proj1_sig f_sig);
- context_to_dlet_in_rhs (fZ _);
- try cbn beta iota delta [proj1_sig f_sig] in fZ;
- try cbv [f_sig] in fZ;
- cbv beta delta [fZ]; clear fZ;
- cbv beta iota delta [fst snd].
-Ltac do_set_sigs _ :=
- lazymatch goal with
- | [ |- context[@proj1_sig ?a ?b ?f_sig] ]
- => let fZ := fresh f_sig in
- set (fZ := proj1_sig f_sig);
- context_to_dlet_in_rhs fZ;
- do_set_sigs (); (* we recurse before unfolding, because that's faster *)
- try cbv beta iota delta [proj1_sig f_sig] in fZ;
- cbv beta delta [fZ];
- cbv beta iota delta [fst snd]
- | _ => idtac
- end.
-Ltac trim_after_do_rewrite_with_sig _ :=
- repeat match goal with
- | [ |- Tuple.map ?f _ = Tuple.map ?f _ ]
- => apply f_equal
- end.
-Ltac do_rewrite_with_sig_no_set_by f_sig by_tac :=
- let lem := constr:(proj2_sig f_sig) in
- let lemT := type of lem in
- let lemT := (eval cbv beta zeta in lemT) in
- rewrite <- (lem : lemT) by by_tac ();
- trim_after_do_rewrite_with_sig ().
-Ltac do_rewrite_with_sig_by f_sig by_tac :=
- do_rewrite_with_sig_no_set_by f_sig by_tac;
- do_set_sig f_sig.
-Ltac do_rewrite_with_sig_1arg_by f_sig by_tac :=
- do_rewrite_with_sig_no_set_by f_sig by_tac;
- do_set_sig_1arg f_sig.
-Ltac do_rewrite_with_sig f_sig := do_rewrite_with_sig_by f_sig ltac:(fun _ => idtac).
-Ltac do_rewrite_with_sig_1arg f_sig := do_rewrite_with_sig_1arg_by f_sig ltac:(fun _ => idtac).
-Ltac do_rewrite_with_1sig_add_carry_by f_sig carry_sig by_tac :=
- let fZ := fresh f_sig in
- rewrite <- (proj2_sig f_sig) by by_tac ();
- symmetry; rewrite <- (proj2_sig carry_sig) by by_tac (); symmetry;
- pose (fun a => proj1_sig carry_sig (proj1_sig f_sig a)) as fZ;
- lazymatch goal with
- | [ |- context G[proj1_sig carry_sig (proj1_sig f_sig ?a)] ]
- => let G' := context G[fZ a] in change G'
- end;
- context_to_dlet_in_rhs fZ; cbv beta delta [fZ];
- try cbv beta iota delta [proj1_sig f_sig carry_sig];
- cbv beta iota delta [fst snd].
-Ltac do_rewrite_with_1sig_add_carry f_sig carry_sig := do_rewrite_with_1sig_add_carry_by f_sig carry_sig ltac:(fun _ => idtac).
-Ltac do_rewrite_with_2sig_add_carry_by f_sig carry_sig by_tac :=
- let fZ := fresh f_sig in
- rewrite <- (proj2_sig f_sig) by by_tac ();
- symmetry; rewrite <- (proj2_sig carry_sig) by by_tac (); symmetry;
- pose (fun a b => proj1_sig carry_sig (proj1_sig f_sig a b)) as fZ;
- lazymatch goal with
- | [ |- context G[proj1_sig carry_sig (proj1_sig f_sig ?a ?b)] ]
- => let G' := context G[fZ a b] in change G'
- end;
- context_to_dlet_in_rhs fZ; cbv beta delta [fZ];
- try cbv beta iota delta [proj1_sig f_sig carry_sig];
- cbv beta iota delta [fst snd].
-Ltac do_rewrite_with_2sig_add_carry f_sig carry_sig := do_rewrite_with_2sig_add_carry_by f_sig carry_sig ltac:(fun _ => idtac).
-Ltac unmap_map_tuple _ :=
- repeat match goal with
- | [ |- context[Tuple.map (n:=?N) (fun x : ?T => ?f (?g x))] ]
- => rewrite <- (Tuple.map_map (n:=N) f g
- : pointwise_relation _ eq _ (Tuple.map (n:=N) (fun x : T => f (g x))))
- end.
-Ltac get_feW_bounded boundedT :=
- lazymatch boundedT with
- | and ?X ?Y => get_feW_bounded X
- | ?feW_bounded _ => feW_bounded
- end.
-Ltac subst_feW _ :=
- let T := lazymatch goal with |- @sig ?T _ => T end in
- let boundedT := lazymatch goal with |- { e | ?A -> _ } => A end in
- let feW_bounded := get_feW_bounded boundedT in
- let feW := lazymatch type of feW_bounded with ?feW -> Prop => feW end in
- cbv [feW feW_bounded];
- try clear feW feW_bounded.
-Ltac finish_conjoined_preglue _ :=
- [ > match goal with
- | [ FINAL : _ /\ ?e |- _ ] => is_evar e; refine (proj2 FINAL)
- end
- | try subst_feW () ].
-Ltac fin_preglue :=
- [ > reflexivity
- | repeat sig_dlet_in_rhs_to_context;
- apply (fun f => proj2_sig_map (fun THIS_NAME_MUST_NOT_BE_UNDERSCORE_TO_WORK_AROUND_CONSTR_MATCHING_ANAOMLIES___BUT_NOTE_THAT_IF_THIS_NAME_IS_LOWERCASE_A___THEN_REIFICATION_STACK_OVERFLOWS___AND_I_HAVE_NO_IDEA_WHATS_GOING_ON p => f_equal f p)) ].
-
-Ltac factor_out_bounds_and_strip_eval op_bounded op_sig_side_conditions_t :=
- let feBW_small := lazymatch goal with |- { f : ?feBW_small | _ } => feBW_small end in
- Associativity.sig_sig_assoc;
- apply sig_conj_by_impl2;
- [ let H := fresh in
- intros ? H;
- try lazymatch goal with
- | [ |- (?eval _ < _)%Z ]
- => cbv [eval]
- end;
- rewrite H; clear H;
- eapply Z.le_lt_trans;
- [ apply Z.eq_le_incl, f_equal | apply op_bounded ];
- [ repeat match goal with
- | [ |- ?f ?x = ?g ?y ]
- => is_evar y; unify x y;
- apply (f_equal (fun fg => fg x))
- end;
- clear; abstract reflexivity
- | .. ];
- op_sig_side_conditions_t ()
- | apply (fun f => proj2_sig_map (fun THIS_NAME_MUST_NOT_BE_UNDERSCORE_TO_WORK_AROUND_CONSTR_MATCHING_ANAOMLIES___BUT_NOTE_THAT_IF_THIS_NAME_IS_LOWERCASE_A___THEN_REIFICATION_STACK_OVERFLOWS___AND_I_HAVE_NO_IDEA_WHATS_GOING_ON p => f_equal f p));
- cbv [proj1_sig];
- repeat match goal with
- | [ H : feBW_small |- _ ] => destruct H as [? _]
- end ].
-
-Ltac op_sig_side_conditions_t _ :=
- try (hnf; rewrite <- (ZRange.is_bounded_by_None_repeat_In_iff_lt _ _ _)); destruct_head_hnf' sig; try assumption.
-
-Local Open Scope Z_scope.
-(* XXX TODO: Clean this up *)
-Ltac nonzero_preglue op_sig cbv_runtime :=
- let phi := lazymatch goal with
- | [ |- context[Decidable.dec (?phi _ = _)] ] => phi
- end in
- let do_red _ :=
- lazymatch (eval cbv [phi] in phi) with
- | (fun x => ?montgomery_to_F (?meval (?feBW_of_feBW_small _)))
- => cbv [feBW_of_feBW_small phi meval]
- end in
- lazymatch goal with
- | [ |- @sig (?feBW_small -> BoundedWord 1 _ ?bound1) _ ]
- => let b1 := (eval vm_compute in bound1) in
- change bound1 with b1
- end;
- apply_lift_sig; intros; eexists_sig_etransitivity;
- do_red ();
- [ refine (_ : (if Decidable.dec (_ = 0) then true else false) = _);
- lazymatch goal with
- | [ |- (if Decidable.dec ?x then _ else _) = (if Decidable.dec ?y then _ else _) ]
- => cut (x <-> y);
- [ destruct (Decidable.dec x), (Decidable.dec y); try reflexivity; intros [? ?];
- generalize dependent x; generalize dependent y; solve [ intuition congruence ]
- | ]
- end;
- etransitivity; [ | eapply (proj2_sig op_sig) ];
- [ | solve [ op_sig_side_conditions_t () ].. ];
- reflexivity
- | ];
- let decP := lazymatch goal with |- { c | _ = if Decidable.dec (?decP = 0) then _ else _ } => decP end in
- apply (@proj2_sig_map _ (fun c => BoundedWordToZ 1 _ _ c = decP) _);
- [ let a' := fresh "a'" in
- let H' := fresh "H'" in
- intros a' H'; rewrite H';
- let H := fresh in
- lazymatch goal with |- context[Decidable.dec ?x] => destruct (Decidable.dec x) as [H|H]; try rewrite H end;
- [ reflexivity
- | let H := fresh in
- lazymatch goal with |- context[?x =? 0] => destruct (x =? 0) eqn:? end;
- try reflexivity;
- Z.ltb_to_lt; congruence ]
- | ];
- eexists_sig_etransitivity;
- [ do_set_sig op_sig; cbv_runtime (); reflexivity
- | ];
- sig_dlet_in_rhs_to_context;
- cbv [proj1_sig];
- match goal with
- | [ |- context[match ?v with exist _ _ => _ end] ]
- => is_var v; destruct v as [? _]
- end.
diff --git a/src/Specific/Framework/MontgomeryReificationTypes.v b/src/Specific/Framework/MontgomeryReificationTypes.v
deleted file mode 100644
index 2e28effa5..000000000
--- a/src/Specific/Framework/MontgomeryReificationTypes.v
+++ /dev/null
@@ -1,46 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Lia.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.ZRange Crypto.Util.BoundedWord.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.Decidable.
-
-Require Crypto.Arithmetic.Saturated.MontgomeryAPI.
-
-Require Import Crypto.Util.Tactics.PoseTermWithName.
-Require Import Crypto.Util.Tactics.CacheTerm.
-
-Ltac pose_meval feBW_tight r meval :=
- cache_term_with_type_by
- (feBW_tight -> Z)
- ltac:(exact (fun x : feBW_tight => MontgomeryAPI.eval (Z.pos r) (BoundedWordToZ _ _ _ x)))
- meval.
-
-Ltac pose_feBW_small sz feBW_tight meval r m_enc feBW_small :=
- cache_term
- { v : feBW_tight | meval v < MontgomeryAPI.eval (n:=sz) (Z.pos r) m_enc }
- feBW_small.
-
-Ltac pose_feBW_tight_of_feBW_small feBW_tight feBW_small feBW_tight_of_feBW_small :=
- cache_term_with_type_by
- (feBW_small -> feBW_tight)
- ltac:(refine (@proj1_sig _ _))
- feBW_tight_of_feBW_small.
-
-Ltac pose_phiM feBW_tight m meval montgomery_to_F phiM :=
- cache_term_with_type_by
- (feBW_tight -> F m)
- ltac:(exact (fun x : feBW_tight => montgomery_to_F (meval x)))
- phiM.
-
-Ltac pose_phiM_small feBW_small feBW_tight_of_feBW_small m meval montgomery_to_F phiM_small :=
- cache_term_with_type_by
- (feBW_small -> F m)
- ltac:(exact (fun x : feBW_small => montgomery_to_F (meval (feBW_tight_of_feBW_small x))))
- phiM_small.
diff --git a/src/Specific/Framework/MontgomeryReificationTypesPackage.v b/src/Specific/Framework/MontgomeryReificationTypesPackage.v
deleted file mode 100644
index 1be4afda5..000000000
--- a/src/Specific/Framework/MontgomeryReificationTypesPackage.v
+++ /dev/null
@@ -1,94 +0,0 @@
-(* This file is autogenerated from MontgomeryReificationTypes.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.MontgomeryPackage.
-Require Import Crypto.Specific.Framework.ReificationTypesPackage.
-Require Export Crypto.Specific.Framework.MontgomeryReificationTypes.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := meval | feBW_small | feBW_tight_of_feBW_small | phiM | phiM_small.
-End TAG.
-
-Ltac add_meval pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let r := Tag.get pkg TAG.r in
- let meval := fresh "meval" in
- let meval := pose_meval feBW_tight r meval in
- Tag.update pkg TAG.meval meval)
- ltac:(fun _ => pkg)
- ().
-Ltac add_feBW_small pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let sz := Tag.get pkg TAG.sz in
- let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let meval := Tag.get pkg TAG.meval in
- let r := Tag.get pkg TAG.r in
- let m_enc := Tag.get pkg TAG.m_enc in
- let feBW_small := fresh "feBW_small" in
- let feBW_small := pose_feBW_small sz feBW_tight meval r m_enc feBW_small in
- Tag.update pkg TAG.feBW_small feBW_small)
- ltac:(fun _ => pkg)
- ().
-Ltac add_feBW_tight_of_feBW_small pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let feBW_small := Tag.get pkg TAG.feBW_small in
- let feBW_tight_of_feBW_small := fresh "feBW_tight_of_feBW_small" in
- let feBW_tight_of_feBW_small := pose_feBW_tight_of_feBW_small feBW_tight feBW_small feBW_tight_of_feBW_small in
- Tag.update pkg TAG.feBW_tight_of_feBW_small feBW_tight_of_feBW_small)
- ltac:(fun _ => pkg)
- ().
-Ltac add_phiM pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let m := Tag.get pkg TAG.m in
- let meval := Tag.get pkg TAG.meval in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let phiM := fresh "phiM" in
- let phiM := pose_phiM feBW_tight m meval montgomery_to_F phiM in
- Tag.update pkg TAG.phiM phiM)
- ltac:(fun _ => pkg)
- ().
-Ltac add_phiM_small pkg :=
- if_montgomery
- pkg
- ltac:(fun _ => let feBW_small := Tag.get pkg TAG.feBW_small in
- let feBW_tight_of_feBW_small := Tag.get pkg TAG.feBW_tight_of_feBW_small in
- let m := Tag.get pkg TAG.m in
- let meval := Tag.get pkg TAG.meval in
- let montgomery_to_F := Tag.get pkg TAG.montgomery_to_F in
- let phiM_small := fresh "phiM_small" in
- let phiM_small := pose_phiM_small feBW_small feBW_tight_of_feBW_small m meval montgomery_to_F phiM_small in
- Tag.update pkg TAG.phiM_small phiM_small)
- ltac:(fun _ => pkg)
- ().
-Ltac add_MontgomeryReificationTypes_package pkg :=
- let pkg := add_meval pkg in
- let pkg := add_feBW_small pkg in
- let pkg := add_feBW_tight_of_feBW_small pkg in
- let pkg := add_phiM pkg in
- let pkg := add_phiM_small pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeMontgomeryReificationTypesPackage (PKG : PrePackage).
- Module Import MakeMontgomeryReificationTypesPackageInternal := MakePackageBase PKG.
-
- Ltac get_meval _ := get TAG.meval.
- Notation meval := (ltac:(let v := get_meval () in exact v)) (only parsing).
- Ltac get_feBW_small _ := get TAG.feBW_small.
- Notation feBW_small := (ltac:(let v := get_feBW_small () in exact v)) (only parsing).
- Ltac get_feBW_tight_of_feBW_small _ := get TAG.feBW_tight_of_feBW_small.
- Notation feBW_tight_of_feBW_small := (ltac:(let v := get_feBW_tight_of_feBW_small () in exact v)) (only parsing).
- Ltac get_phiM _ := get TAG.phiM.
- Notation phiM := (ltac:(let v := get_phiM () in exact v)) (only parsing).
- Ltac get_phiM_small _ := get TAG.phiM_small.
- Notation phiM_small := (ltac:(let v := get_phiM_small () in exact v)) (only parsing).
-End MakeMontgomeryReificationTypesPackage.
diff --git a/src/Specific/Framework/OutputType.v b/src/Specific/Framework/OutputType.v
deleted file mode 100644
index 80fced923..000000000
--- a/src/Specific/Framework/OutputType.v
+++ /dev/null
@@ -1,164 +0,0 @@
-Require Import Coq.ZArith.BinIntDef.
-Require Import Crypto.Arithmetic.Core. Import B.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.SmartMap.
-Require Import Crypto.Compilers.Tuple.
-Require Import Crypto.Compilers.ExprInversion.
-Require Import Crypto.Compilers.Z.Syntax.Util.
-Require Import Crypto.Compilers.Z.Syntax.
-Require Import Crypto.Compilers.Tuple.
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.Base.
-Require Import Crypto.Util.Notations.
-Import CurveParameters.Notations.
-
-Local Coercion Z.to_nat : Z >-> nat.
-Local Notation interp_flat_type := (interp_flat_type interp_base_type).
-
-Section gen.
- Context (curve : RawCurveParameters.CurveParameters).
-
- Section gen_base_type.
- Context (b : base_type).
-
- Definition m := Z.to_pos (curve.(s) - Associational.eval curve.(c))%Z.
- Definition rT := ((Tbase b)^curve.(sz))%ctype.
- Definition T' := (interp_flat_type rT).
- Definition RT := (Unit -> rT)%ctype.
- Definition wt := (wt_gen curve.(base)).
- Definition encode : F m -> Expr RT
- := fun v var
- => Abs
- (fun _
- => SmartPairf
- (flat_interp_untuple
- (T:=Tbase _)
- (Tuple.map
- (fun v => Op (OpConst v) TT)
- (@Positional.Fencode wt curve.(sz) m (@modulo_cps) (@div_cps) v)))).
- Definition decode : T' -> F m
- := fun v => @Positional.Fdecode
- wt (curve.(sz)) m
- (Tuple.map interpToZ (flat_interp_tuple (T:=Tbase _) v)).
- End gen_base_type.
-
- Local Notation TW := (TWord (Z.log2_up curve.(bitwidth))).
- Local Notation RTZ := (RT TZ).
- Local Notation rTZ := (rT TZ).
- Local Notation RTW := (RT TW).
- Local Notation rTW := (rT TW).
-
- Record SynthesisOutput :=
- {
- zeroZ : Expr RTZ;
- oneZ : Expr RTZ;
- addZ : Expr (rTZ * rTZ -> rTZ); (* does not include carry *)
- subZ : Expr (rTZ * rTZ -> rTZ); (* does not include carry *)
- carry_mulZ : Expr (rTZ * rTZ -> rTZ); (* includes carry *)
- carry_squareZ : Expr (rTZ -> rTZ); (* includes carry *)
- oppZ : Expr (rTZ -> rTZ); (* does not include carry *)
- carryZ : Expr (rTZ -> rTZ);
- carry_addZ : Expr (rTZ * rTZ -> rTZ)
- := (carryZ ∘ addZ)%expr;
- carry_subZ : Expr (rTZ * rTZ -> rTZ)
- := (carryZ ∘ subZ)%expr;
- carry_oppZ : Expr (rTZ -> rTZ)
- := (carryZ ∘ oppZ)%expr;
-
- zeroW : Expr RTW;
- oneW : Expr RTW;
- carry_addW : Expr (rTW * rTW -> rTW); (* includes carry *)
- carry_subW : Expr (rTW * rTW -> rTW); (* includes carry *)
- carry_mulW : Expr (rTW * rTW -> rTW); (* includes carry *)
- carry_squareW : Expr (rTW -> rTW); (* includes carry *)
- carry_oppW : Expr (rTW -> rTW); (* does not include carry *)
-
- PZ : T' TZ -> Prop;
- PW : T' TW -> Prop
- := fun v => PZ (tuple_map (A:=Tbase TW) (B:=Tbase TZ) (SmartVarfMap (@interpToZ)) v);
-
- encodeZ_valid : forall v, _;
- encodeZ_sig := fun v => exist PZ (Interp (encode TZ v) tt) (encodeZ_valid v);
- encodeZ_correct : forall v, decode TZ (Interp (encode TZ v) tt) = v;
-
- decodeZ_sig := fun v : sig PZ => decode TZ (proj1_sig v);
-
- zeroZ_correct : zeroZ = encode _ 0%F; (* which equality to use here? *)
- oneZ_correct : oneZ = encode _ 1%F; (* which equality to use here? *)
- zeroZ_sig := encodeZ_sig 0%F;
- oneZ_sig := encodeZ_sig 1%F;
-
- oppZ_valid : forall x, PZ x -> PZ (Interp carry_oppZ x);
- oppZ_sig := fun x => exist PZ _ (@oppZ_valid (proj1_sig x) (proj2_sig x));
-
- addZ_valid : forall x y, PZ x -> PZ y -> PZ (Interp carry_addZ (x, y));
- addZ_sig := fun x y => exist PZ _ (@addZ_valid (proj1_sig x) (proj1_sig y) (proj2_sig x) (proj2_sig y));
-
- subZ_valid : forall x y, PZ x -> PZ y -> PZ (Interp carry_subZ (x, y));
- subZ_sig := fun x y => exist PZ _ (@subZ_valid (proj1_sig x) (proj1_sig y) (proj2_sig x) (proj2_sig y));
-
- mulZ_valid : forall x y, PZ x -> PZ y -> PZ (Interp carry_mulZ (x, y));
- mulZ_sig := fun x y => exist PZ _ (@mulZ_valid (proj1_sig x) (proj1_sig y) (proj2_sig x) (proj2_sig y));
-
- squareZ_correct : forall x, PZ x -> Interp carry_squareZ x = Interp carry_mulZ (x, x);
-
-
- encodeW_valid : forall v, _;
- encodeW_sig := fun v => exist PW (Interp (encode TW v) tt) (encodeW_valid v);
- encodeW_correct : forall v, decode TW (Interp (encode TW v) tt) = v;
-
- decodeW_sig := fun v : sig PW => decode TW (proj1_sig v);
-
- zeroW_correct : zeroW = encode _ 0%F; (* which equality to use here? *)
- oneW_correct : oneW = encode _ 1%F; (* which equality to use here? *)
- zeroW_sig := encodeW_sig 0%F;
- oneW_sig := encodeW_sig 1%F;
-
- oppW_valid : forall x, PW x -> PW (Interp carry_oppW x);
- oppW_sig := fun x => exist PW _ (@oppW_valid (proj1_sig x) (proj2_sig x));
-
- addW_valid : forall x y, PW x -> PW y -> PW (Interp carry_addW (x, y));
- addW_sig := fun x y => exist PW _ (@addW_valid (proj1_sig x) (proj1_sig y) (proj2_sig x) (proj2_sig y));
-
- subW_valid : forall x y, PW x -> PW y -> PW (Interp carry_subW (x, y));
- subW_sig := fun x y => exist PW _ (@subW_valid (proj1_sig x) (proj1_sig y) (proj2_sig x) (proj2_sig y));
-
- mulW_valid : forall x y, PW x -> PW y -> PW (Interp carry_mulW (x, y));
- mulW_sig := fun x y => exist PW _ (@mulW_valid (proj1_sig x) (proj1_sig y) (proj2_sig x) (proj2_sig y));
-
- squareW_correct : forall x, PW x -> Interp carry_squareW x = Interp carry_mulW (x, x);
-
- T_Z := { v : T' TZ | PZ v };
- eqTZ : T_Z -> T_Z -> Prop
- := fun x y => eq (decode _ (proj1_sig x)) (decode _ (proj1_sig y));
- ringZ : @Hierarchy.ring
- T_Z eqTZ zeroZ_sig oneZ_sig oppZ_sig addZ_sig subZ_sig mulZ_sig;
- encodeZ_homomorphism
- : @Ring.is_homomorphism
- (F m) eq 1%F F.add F.mul
- T_Z eqTZ oneZ_sig addZ_sig mulZ_sig
- encodeZ_sig;
- decodeZ_homomorphism
- : @Ring.is_homomorphism
- T_Z eqTZ oneZ_sig addZ_sig mulZ_sig
- (F m) eq 1%F F.add F.mul
- decodeZ_sig;
-
- T_W := { v : T' TW | PW v };
- eqTW : T_W -> T_W -> Prop
- := fun x y => eq (decode _ (proj1_sig x)) (decode _ (proj1_sig y));
- ringW : @Hierarchy.ring
- T_W eqTW zeroW_sig oneW_sig oppW_sig addW_sig subW_sig mulW_sig;
- encodeW_homomorphism
- : @Ring.is_homomorphism
- (F m) eq 1%F F.add F.mul
- T_W eqTW oneW_sig addW_sig mulW_sig
- encodeW_sig;
- decodeW_homomorphism
- : @Ring.is_homomorphism
- T_W eqTW oneW_sig addW_sig mulW_sig
- (F m) eq 1%F F.add F.mul
- decodeW_sig
- }.
-End gen.
diff --git a/src/Specific/Framework/Packages.v b/src/Specific/Framework/Packages.v
deleted file mode 100644
index 14b02b766..000000000
--- a/src/Specific/Framework/Packages.v
+++ /dev/null
@@ -1,12 +0,0 @@
-Require Import Crypto.Util.TagList.
-
-Module Type PrePackage.
- Parameter package : Tag.Context.
-End PrePackage.
-
-Module MakePackageBase (PKG : PrePackage).
- Ltac get_package _ := eval hnf in PKG.package.
- Ltac get key :=
- let pkg := get_package () in
- Tag.get pkg key.
-End MakePackageBase.
diff --git a/src/Specific/Framework/RawCurveParameters.v b/src/Specific/Framework/RawCurveParameters.v
deleted file mode 100644
index 5ff22d2f1..000000000
--- a/src/Specific/Framework/RawCurveParameters.v
+++ /dev/null
@@ -1,77 +0,0 @@
-Require Export Coq.QArith.QArith_base.
-Require Export Coq.ZArith.BinInt.
-Require Export Coq.Lists.List.
-Require Export Crypto.Util.ZUtil.Notations.
-Require Crypto.Util.Tuple.
-
-Local Set Primitive Projections.
-Coercion QArith_base.inject_Z : Z >-> Q.
-Coercion Z.of_nat : nat >-> Z.
-
-Module Export Notations. (* import/export tracking *)
- Export ListNotations.
-
- Open Scope list_scope.
- Open Scope Z_scope.
-
- Notation limb := (Z * Z)%type.
- Infix "^" := Tuple.tuple : type_scope.
-End Notations.
-
-Record CurveParameters :=
- {
- sz : nat;
- base : Q;
- bitwidth : Z;
- s : Z;
- c : list limb;
- carry_chains
- : option (list (list nat)) (* defaults to [seq 0 (pred sz) :: (0 :: 1 :: nil) :: nil] *);
- a24 : option Z;
- coef_div_modulus : option nat;
-
- goldilocks : option bool; (* defaults to true iff the prime ([s-c]) is of the form [2²ᵏ - 2ᵏ - 1] *)
- karatsuba : option bool; (* defaults to false, currently unused *)
- montgomery : bool;
- freeze : option bool; (* defaults to true iff [s = 2^(base * sz)] *)
- ladderstep : bool;
-
- mul_code : option (Z^sz -> Z^sz -> Z^sz);
- square_code : option (Z^sz -> Z^sz);
- upper_bound_of_exponent_tight
- : option (Z -> Z) (* defaults to [fun exp => 2^exp + 2^(exp-3)] for non-montgomery, [fun exp => 2^exp - 1] for montgomery *);
- upper_bound_of_exponent_loose
- : option (Z -> Z) (* defaults to [3 * upper_bound_of_exponent_tight] for non-montgomery, [fun exp => 2^exp - 1] for montgomery *);
- allowable_bit_widths
- : option (list nat) (* defaults to [bitwidth :: 2*bitwidth :: nil] *);
- freeze_extra_allowable_bit_widths
- : option (list nat) (* defaults to [8 :: nil] *);
- modinv_fuel : option nat
- }.
-
-Declare Reduction cbv_RawCurveParameters
- := cbv [sz
- base
- bitwidth
- s
- c
- carry_chains
- a24
- coef_div_modulus
- goldilocks
- karatsuba
- montgomery
- freeze
- ladderstep
- mul_code
- square_code
- upper_bound_of_exponent_tight
- upper_bound_of_exponent_loose
- allowable_bit_widths
- freeze_extra_allowable_bit_widths
- modinv_fuel].
-
-(*
-Ltac extra_prove_mul_eq := idtac.
-Ltac extra_prove_square_eq := idtac.
- *)
diff --git a/src/Specific/Framework/ReificationTypes.v b/src/Specific/Framework/ReificationTypes.v
deleted file mode 100644
index 47542d1c4..000000000
--- a/src/Specific/Framework/ReificationTypes.v
+++ /dev/null
@@ -1,229 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Coq.micromega.Lia.
-Require Import Coq.Lists.List.
-Local Open Scope Z_scope.
-
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Util.FixedWordSizes.
-Require Import Crypto.Util.Tuple.
-Require Import Crypto.Util.ZRange Crypto.Util.BoundedWord.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Util.ZUtil.Tactics.LtbToLt.
-Require Import Crypto.Util.Bool.
-Require Import Crypto.Util.Decidable.
-
-Require Import Crypto.Util.Tactics.PoseTermWithName.
-Require Import Crypto.Util.Tactics.CacheTerm.
-
-Ltac pose_local_limb_widths wt sz limb_widths :=
- pose_term_with
- ltac:(fun _ => (eval vm_compute in (List.map (fun i => Z.log2 (wt (S i) / wt i)) (seq 0 sz))))
- limb_widths.
-
-Ltac get_b_of upper_bound_of_exponent :=
- constr:(fun exp => {| lower := 0 ; upper := upper_bound_of_exponent exp |}%Z). (* max is [(0, 2^(exp+2) + 2^exp + 2^(exp-1) + 2^(exp-3) + 2^(exp-4) + 2^(exp-5) + 2^(exp-6) + 2^(exp-10) + 2^(exp-12) + 2^(exp-13) + 2^(exp-14) + 2^(exp-15) + 2^(exp-17) + 2^(exp-23) + 2^(exp-24))%Z] *)
-
-(* The definition [bounds_exp] is a tuple-version of the limb-widths,
- which are the [exp] argument in [b_of] above, i.e., the approximate
- base-2 exponent of the bounds on the limb in that position. *)
-Ltac pose_local_bounds_exp sz limb_widths bounds_exp :=
- pose_term_with_type
- (Tuple.tuple Z sz)
- ltac:(fun _ => eval compute in
- (Tuple.from_list sz limb_widths eq_refl))
- bounds_exp.
-
-Ltac internal_pose_local_bounds sz upper_bound_of_exponent bounds_exp bounds :=
- let b_of := get_b_of upper_bound_of_exponent in
- pose_term_with_type
- (Tuple.tuple zrange sz)
- ltac:(fun _ => eval compute in
- (Tuple.map (fun e => b_of e) bounds_exp))
- bounds.
-Ltac pose_local_bounds_tight sz upper_bound_of_exponent_tight bounds_exp bounds_tight :=
- internal_pose_local_bounds sz upper_bound_of_exponent_tight bounds_exp bounds_tight.
-Ltac pose_local_bounds_loose sz upper_bound_of_exponent_loose bounds_exp bounds_loose :=
- internal_pose_local_bounds sz upper_bound_of_exponent_loose bounds_exp bounds_loose.
-Ltac pose_local_bounds_limbwidths sz bounds_exp bounds_limbwidths :=
- internal_pose_local_bounds sz (fun exp => (2^exp - 1)%Z) bounds_exp bounds_limbwidths.
-
-Ltac pose_bound1 r bound1 :=
- cache_term_with_type_by
- zrange
- ltac:(exact {| lower := 0 ; upper := Z.pos r-1 |})
- bound1.
-
-Ltac pose_local_lgbitwidth bitwidth lgbitwidth :=
- pose_term_with
- ltac:(fun _ => eval compute in (Z.to_nat (Z.log2_up bitwidth)))
- lgbitwidth.
-
-Ltac pose_local_adjusted_bitwidth' lgbitwidth adjusted_bitwidth' :=
- pose_term_with
- ltac:(fun _ => eval compute in (2^lgbitwidth)%nat)
- adjusted_bitwidth'.
-Ltac pose_adjusted_bitwidth adjusted_bitwidth' adjusted_bitwidth :=
- cache_term adjusted_bitwidth' adjusted_bitwidth.
-
-Ltac pose_local_feZ sz feZ :=
- pose_term_with
- ltac:(fun _ => constr:(tuple Z sz))
- feZ.
-
-Ltac pose_feW sz lgbitwidth feW :=
- cache_term_with_type_by
- Type
- ltac:(let v := eval cbv [lgbitwidth] in (tuple (wordT lgbitwidth) sz) in exact v)
- feW.
-Ltac internal_pose_feW_bounded feW bounds feW_bounded :=
- cache_term_with_type_by
- (feW -> Prop)
- ltac:(let v := eval cbv [bounds] in (fun w : feW => is_bounded_by None bounds (map wordToZ w)) in exact_no_check v)
- feW_bounded.
-Ltac pose_feW_tight_bounded feW bounds_tight feW_tight_bounded :=
- internal_pose_feW_bounded feW bounds_tight feW_tight_bounded.
-Ltac pose_feW_loose_bounded feW bounds_loose feW_loose_bounded :=
- internal_pose_feW_bounded feW bounds_loose feW_loose_bounded.
-Ltac pose_feW_limbwidths_bounded feW bounds_limbwidths feW_limbwidths_bounded :=
- internal_pose_feW_bounded feW bounds_limbwidths feW_limbwidths_bounded.
-
-Ltac internal_pose_feBW sz adjusted_bitwidth' bounds feBW :=
- cache_term_with_type_by
- Type
- ltac:(let v := eval cbv [adjusted_bitwidth' bounds] in (BoundedWord sz adjusted_bitwidth' bounds) in exact v)
- feBW.
-Ltac pose_feBW_tight sz adjusted_bitwidth' bounds_tight feBW_tight :=
- internal_pose_feBW sz adjusted_bitwidth' bounds_tight feBW_tight.
-Ltac pose_feBW_loose sz adjusted_bitwidth' bounds_loose feBW_loose :=
- internal_pose_feBW sz adjusted_bitwidth' bounds_loose feBW_loose.
-Ltac pose_feBW_limbwidths sz adjusted_bitwidth' bounds_limbwidths feBW_limbwidths :=
- internal_pose_feBW sz adjusted_bitwidth' bounds_limbwidths feBW_limbwidths.
-
-Lemma relax'_pf {sz in_bounds out_bounds} {v : tuple Z sz}
- (Htight : fieldwiseb is_tighter_than_bool in_bounds out_bounds = true)
- : is_bounded_by None in_bounds v -> is_bounded_by None out_bounds v.
-Proof.
- destruct sz as [|sz]; simpl in *; trivial.
- induction sz as [|sz IHsz]; simpl in *;
- repeat first [ exact I
- | progress destruct_head'_prod
- | progress destruct_head' zrange
- | progress cbv [is_tighter_than_bool] in *
- | progress split_andb
- | progress Z.ltb_to_lt
- | progress cbn [fst snd ZRange.lower ZRange.upper] in *
- | progress destruct_head_hnf' and
- | progress intros
- | apply conj
- | omega
- | solve [ eauto ] ].
-Qed.
-
-Definition relax' {sz adjusted_bitwidth'} {in_bounds out_bounds}
- (Htight : Tuple.fieldwiseb ZRange.is_tighter_than_bool in_bounds out_bounds = true)
- : BoundedWord sz adjusted_bitwidth' in_bounds
- -> BoundedWord sz adjusted_bitwidth' out_bounds
- := fun w => exist _ (proj1_sig w) (relax'_pf Htight (proj2_sig w)).
-
-Ltac internal_pose_feBW_relax sz feBW_in feBW_out feBW_relax :=
- cache_term_with_type_by
- (feBW_in -> feBW_out)
- ltac:(refine (@relax' sz _ _ _ _);
- lazymatch goal with
- | [ |- fieldwiseb is_tighter_than_bool ?in_bounds ?out_bounds = true ]
- => try cbv [in_bounds];
- try cbv [out_bounds]
- end;
- abstract vm_cast_no_check (eq_refl true))
- feBW_relax.
-Ltac pose_feBW_relax sz feBW_tight feBW_loose feBW_relax :=
- internal_pose_feBW_relax sz feBW_tight feBW_loose feBW_relax.
-Ltac pose_feBW_relax_limbwidths_to_tight sz feBW_limbwidths feBW_tight feBW_relax_limbwidths_to_tight :=
- internal_pose_feBW_relax sz feBW_limbwidths feBW_tight feBW_relax_limbwidths_to_tight.
-Ltac pose_feBW_relax_limbwidths_to_loose sz feBW_limbwidths feBW_loose feBW_relax_limbwidths_to_loose :=
- internal_pose_feBW_relax sz feBW_limbwidths feBW_loose feBW_relax_limbwidths_to_loose.
-
-Lemma feBW_bounded_helper'
- sz adjusted_bitwidth' bounds
- (feBW := BoundedWord sz adjusted_bitwidth' bounds)
- (wt : nat -> Z)
- (Hwt : forall i, 0 <= wt i)
- : forall (a : feBW),
- B.Positional.eval wt (map lower bounds)
- <= B.Positional.eval wt (BoundedWordToZ sz adjusted_bitwidth' bounds a)
- <= B.Positional.eval wt (map upper bounds).
-Proof.
- let a := fresh "a" in
- intro a;
- destruct a as [a H]; unfold BoundedWordToZ, proj1_sig.
- destruct sz as [|sz].
- { cbv -[Z.le Z.lt Z.mul]; lia. }
- { cbn [tuple map] in *.
- revert dependent wt; induction sz as [|sz IHsz]; intros.
- { cbv -[Z.le Z.lt wordToZ Z.mul Z.pow Z.add lower upper Nat.log2 wordT] in *.
- repeat match goal with
- | [ |- context[@wordToZ ?n ?x] ]
- => generalize dependent (@wordToZ n x); intros
- | [ H : forall j, 0 <= wt j |- context[wt ?i] ]
- => pose proof (H i); generalize dependent (wt i); intros
- end.
- nia. }
- { pose proof (Hwt 0%nat).
- cbn [tuple' map'] in *.
- destruct a as [a' a], bounds as [bounds b], H as [H [H' _]].
- cbn [fst snd] in *.
- setoid_rewrite (@B.Positional.eval_step (S _)).
- specialize (IHsz bounds a' H (fun i => wt (S i)) (fun i => Hwt _)).
- nia. } }
-Qed.
-Lemma feBW_bounded_helper
- sz adjusted_bitwidth' bounds
- (feBW := BoundedWord sz adjusted_bitwidth' bounds)
- (wt : nat -> Z)
- (Hwt : forall i, 0 <= wt i)
- l u
- : l <= B.Positional.eval wt (map lower bounds)
- /\ B.Positional.eval wt (map upper bounds) < u
- -> forall (a : feBW),
- l <= B.Positional.eval wt (BoundedWordToZ sz adjusted_bitwidth' bounds a) < u.
-Proof.
- intros [Hl Hu] a; split;
- [ eapply Z.le_trans | eapply Z.le_lt_trans ];
- [ | eapply feBW_bounded_helper' | eapply feBW_bounded_helper' | ];
- assumption.
-Qed.
-
-Ltac internal_pose_feBW_bounded freeze wt sz feBW adjusted_bitwidth' bounds m wt_nonneg feBW_bounded :=
- lazymatch (eval vm_compute in freeze) with
- | true
- => cache_proof_with_type_by
- (forall a : feBW, 0 <= B.Positional.eval wt (BoundedWordToZ sz adjusted_bitwidth' bounds a) < 2 * Z.pos m)
- ltac:(apply (@feBW_bounded_helper sz adjusted_bitwidth' bounds wt wt_nonneg);
- cbv -[Z.lt Z.le];
- clear; vm_decide)
- feBW_bounded
- | false
- => cache_term tt feBW_bounded
- end.
-Ltac pose_feBW_tight_bounded freeze wt sz feBW_tight adjusted_bitwidth' bounds_tight m wt_nonneg feBW_tight_bounded :=
- internal_pose_feBW_bounded freeze wt sz feBW_tight adjusted_bitwidth' bounds_tight m wt_nonneg feBW_tight_bounded.
-Ltac pose_feBW_limbwidths_bounded freeze wt sz feBW_limbwidths adjusted_bitwidth' bounds_limbwidths m wt_nonneg feBW_limbwidths_bounded :=
- internal_pose_feBW_bounded freeze wt sz feBW_limbwidths adjusted_bitwidth' bounds_limbwidths m wt_nonneg feBW_limbwidths_bounded.
-
-Ltac pose_phiW feW m wt phiW :=
- cache_term_with_type_by
- (feW -> F m)
- ltac:(exact (fun x : feW => B.Positional.Fdecode wt (Tuple.map wordToZ x)))
- phiW.
-Ltac internal_pose_phiBW feBW m wt phiBW :=
- cache_term_with_type_by
- (feBW -> F m)
- ltac:(exact (fun x : feBW => B.Positional.Fdecode wt (BoundedWordToZ _ _ _ x)))
- phiBW.
-Ltac pose_phiBW_tight feBW_tight m wt phiBW_tight :=
- internal_pose_phiBW feBW_tight m wt phiBW_tight.
-Ltac pose_phiBW_loose feBW_loose m wt phiBW_loose :=
- internal_pose_phiBW feBW_loose m wt phiBW_loose.
-Ltac pose_phiBW_limbwidths feBW_limbwidths m wt phiBW_limbwidths :=
- internal_pose_phiBW feBW_limbwidths m wt phiBW_limbwidths.
diff --git a/src/Specific/Framework/ReificationTypesPackage.v b/src/Specific/Framework/ReificationTypesPackage.v
deleted file mode 100644
index d10d72202..000000000
--- a/src/Specific/Framework/ReificationTypesPackage.v
+++ /dev/null
@@ -1,282 +0,0 @@
-(* This file is autogenerated from ReificationTypes.v by remake_packages.py *)
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Export Crypto.Specific.Framework.ReificationTypes.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Util.TagList.
-
-Module TAG.
- Inductive tags := limb_widths | bounds_exp | bounds_tight | bounds_loose | bounds_limbwidths | bound1 | lgbitwidth | adjusted_bitwidth' | adjusted_bitwidth | feZ | feW | feW_tight_bounded | feW_loose_bounded | feW_limbwidths_bounded | feBW_tight | feBW_loose | feBW_limbwidths | feBW_relax | feBW_relax_limbwidths_to_tight | feBW_relax_limbwidths_to_loose | feBW_tight_bounded | feBW_limbwidths_bounded | phiW | phiBW_tight | phiBW_loose | phiBW_limbwidths.
-End TAG.
-
-Ltac add_limb_widths pkg :=
- let wt := Tag.get pkg TAG.wt in
- let sz := Tag.get pkg TAG.sz in
- let limb_widths := fresh "limb_widths" in
- let limb_widths := pose_local_limb_widths wt sz limb_widths in
- Tag.local_update pkg TAG.limb_widths limb_widths.
-
-Ltac add_bounds_exp pkg :=
- let sz := Tag.get pkg TAG.sz in
- let limb_widths := Tag.get pkg TAG.limb_widths in
- let bounds_exp := fresh "bounds_exp" in
- let bounds_exp := pose_local_bounds_exp sz limb_widths bounds_exp in
- Tag.local_update pkg TAG.bounds_exp bounds_exp.
-
-Ltac add_bounds_tight pkg :=
- let sz := Tag.get pkg TAG.sz in
- let upper_bound_of_exponent_tight := Tag.get pkg TAG.upper_bound_of_exponent_tight in
- let bounds_exp := Tag.get pkg TAG.bounds_exp in
- let bounds_tight := fresh "bounds_tight" in
- let bounds_tight := pose_local_bounds_tight sz upper_bound_of_exponent_tight bounds_exp bounds_tight in
- Tag.local_update pkg TAG.bounds_tight bounds_tight.
-
-Ltac add_bounds_loose pkg :=
- let sz := Tag.get pkg TAG.sz in
- let upper_bound_of_exponent_loose := Tag.get pkg TAG.upper_bound_of_exponent_loose in
- let bounds_exp := Tag.get pkg TAG.bounds_exp in
- let bounds_loose := fresh "bounds_loose" in
- let bounds_loose := pose_local_bounds_loose sz upper_bound_of_exponent_loose bounds_exp bounds_loose in
- Tag.local_update pkg TAG.bounds_loose bounds_loose.
-
-Ltac add_bounds_limbwidths pkg :=
- let sz := Tag.get pkg TAG.sz in
- let bounds_exp := Tag.get pkg TAG.bounds_exp in
- let bounds_limbwidths := fresh "bounds_limbwidths" in
- let bounds_limbwidths := pose_local_bounds_limbwidths sz bounds_exp bounds_limbwidths in
- Tag.local_update pkg TAG.bounds_limbwidths bounds_limbwidths.
-
-Ltac add_bound1 pkg :=
- let r := Tag.get pkg TAG.r in
- let bound1 := fresh "bound1" in
- let bound1 := pose_bound1 r bound1 in
- Tag.update pkg TAG.bound1 bound1.
-
-Ltac add_lgbitwidth pkg :=
- let bitwidth := Tag.get pkg TAG.bitwidth in
- let lgbitwidth := fresh "lgbitwidth" in
- let lgbitwidth := pose_local_lgbitwidth bitwidth lgbitwidth in
- Tag.local_update pkg TAG.lgbitwidth lgbitwidth.
-
-Ltac add_adjusted_bitwidth' pkg :=
- let lgbitwidth := Tag.get pkg TAG.lgbitwidth in
- let adjusted_bitwidth' := fresh "adjusted_bitwidth'" in
- let adjusted_bitwidth' := pose_local_adjusted_bitwidth' lgbitwidth adjusted_bitwidth' in
- Tag.local_update pkg TAG.adjusted_bitwidth' adjusted_bitwidth'.
-
-Ltac add_adjusted_bitwidth pkg :=
- let adjusted_bitwidth' := Tag.get pkg TAG.adjusted_bitwidth' in
- let adjusted_bitwidth := fresh "adjusted_bitwidth" in
- let adjusted_bitwidth := pose_adjusted_bitwidth adjusted_bitwidth' adjusted_bitwidth in
- Tag.update pkg TAG.adjusted_bitwidth adjusted_bitwidth.
-
-Ltac add_feZ pkg :=
- let sz := Tag.get pkg TAG.sz in
- let feZ := fresh "feZ" in
- let feZ := pose_local_feZ sz feZ in
- Tag.local_update pkg TAG.feZ feZ.
-
-Ltac add_feW pkg :=
- let sz := Tag.get pkg TAG.sz in
- let lgbitwidth := Tag.get pkg TAG.lgbitwidth in
- let feW := fresh "feW" in
- let feW := pose_feW sz lgbitwidth feW in
- Tag.update pkg TAG.feW feW.
-
-Ltac add_feW_tight_bounded pkg :=
- let feW := Tag.get pkg TAG.feW in
- let bounds_tight := Tag.get pkg TAG.bounds_tight in
- let feW_tight_bounded := fresh "feW_tight_bounded" in
- let feW_tight_bounded := pose_feW_tight_bounded feW bounds_tight feW_tight_bounded in
- Tag.update pkg TAG.feW_tight_bounded feW_tight_bounded.
-
-Ltac add_feW_loose_bounded pkg :=
- let feW := Tag.get pkg TAG.feW in
- let bounds_loose := Tag.get pkg TAG.bounds_loose in
- let feW_loose_bounded := fresh "feW_loose_bounded" in
- let feW_loose_bounded := pose_feW_loose_bounded feW bounds_loose feW_loose_bounded in
- Tag.update pkg TAG.feW_loose_bounded feW_loose_bounded.
-
-Ltac add_feW_limbwidths_bounded pkg :=
- let feW := Tag.get pkg TAG.feW in
- let bounds_limbwidths := Tag.get pkg TAG.bounds_limbwidths in
- let feW_limbwidths_bounded := fresh "feW_limbwidths_bounded" in
- let feW_limbwidths_bounded := pose_feW_limbwidths_bounded feW bounds_limbwidths feW_limbwidths_bounded in
- Tag.update pkg TAG.feW_limbwidths_bounded feW_limbwidths_bounded.
-
-Ltac add_feBW_tight pkg :=
- let sz := Tag.get pkg TAG.sz in
- let adjusted_bitwidth' := Tag.get pkg TAG.adjusted_bitwidth' in
- let bounds_tight := Tag.get pkg TAG.bounds_tight in
- let feBW_tight := fresh "feBW_tight" in
- let feBW_tight := pose_feBW_tight sz adjusted_bitwidth' bounds_tight feBW_tight in
- Tag.update pkg TAG.feBW_tight feBW_tight.
-
-Ltac add_feBW_loose pkg :=
- let sz := Tag.get pkg TAG.sz in
- let adjusted_bitwidth' := Tag.get pkg TAG.adjusted_bitwidth' in
- let bounds_loose := Tag.get pkg TAG.bounds_loose in
- let feBW_loose := fresh "feBW_loose" in
- let feBW_loose := pose_feBW_loose sz adjusted_bitwidth' bounds_loose feBW_loose in
- Tag.update pkg TAG.feBW_loose feBW_loose.
-
-Ltac add_feBW_limbwidths pkg :=
- let sz := Tag.get pkg TAG.sz in
- let adjusted_bitwidth' := Tag.get pkg TAG.adjusted_bitwidth' in
- let bounds_limbwidths := Tag.get pkg TAG.bounds_limbwidths in
- let feBW_limbwidths := fresh "feBW_limbwidths" in
- let feBW_limbwidths := pose_feBW_limbwidths sz adjusted_bitwidth' bounds_limbwidths feBW_limbwidths in
- Tag.update pkg TAG.feBW_limbwidths feBW_limbwidths.
-
-Ltac add_feBW_relax pkg :=
- let sz := Tag.get pkg TAG.sz in
- let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let feBW_loose := Tag.get pkg TAG.feBW_loose in
- let feBW_relax := fresh "feBW_relax" in
- let feBW_relax := pose_feBW_relax sz feBW_tight feBW_loose feBW_relax in
- Tag.update pkg TAG.feBW_relax feBW_relax.
-
-Ltac add_feBW_relax_limbwidths_to_tight pkg :=
- let sz := Tag.get pkg TAG.sz in
- let feBW_limbwidths := Tag.get pkg TAG.feBW_limbwidths in
- let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let feBW_relax_limbwidths_to_tight := fresh "feBW_relax_limbwidths_to_tight" in
- let feBW_relax_limbwidths_to_tight := pose_feBW_relax_limbwidths_to_tight sz feBW_limbwidths feBW_tight feBW_relax_limbwidths_to_tight in
- Tag.update pkg TAG.feBW_relax_limbwidths_to_tight feBW_relax_limbwidths_to_tight.
-
-Ltac add_feBW_relax_limbwidths_to_loose pkg :=
- let sz := Tag.get pkg TAG.sz in
- let feBW_limbwidths := Tag.get pkg TAG.feBW_limbwidths in
- let feBW_loose := Tag.get pkg TAG.feBW_loose in
- let feBW_relax_limbwidths_to_loose := fresh "feBW_relax_limbwidths_to_loose" in
- let feBW_relax_limbwidths_to_loose := pose_feBW_relax_limbwidths_to_loose sz feBW_limbwidths feBW_loose feBW_relax_limbwidths_to_loose in
- Tag.update pkg TAG.feBW_relax_limbwidths_to_loose feBW_relax_limbwidths_to_loose.
-
-Ltac add_feBW_tight_bounded pkg :=
- let freeze := Tag.get pkg TAG.freeze in
- let wt := Tag.get pkg TAG.wt in
- let sz := Tag.get pkg TAG.sz in
- let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let adjusted_bitwidth' := Tag.get pkg TAG.adjusted_bitwidth' in
- let bounds_tight := Tag.get pkg TAG.bounds_tight in
- let m := Tag.get pkg TAG.m in
- let wt_nonneg := Tag.get pkg TAG.wt_nonneg in
- let feBW_tight_bounded := fresh "feBW_tight_bounded" in
- let feBW_tight_bounded := pose_feBW_tight_bounded freeze wt sz feBW_tight adjusted_bitwidth' bounds_tight m wt_nonneg feBW_tight_bounded in
- Tag.update pkg TAG.feBW_tight_bounded feBW_tight_bounded.
-
-Ltac add_feBW_limbwidths_bounded pkg :=
- let freeze := Tag.get pkg TAG.freeze in
- let wt := Tag.get pkg TAG.wt in
- let sz := Tag.get pkg TAG.sz in
- let feBW_limbwidths := Tag.get pkg TAG.feBW_limbwidths in
- let adjusted_bitwidth' := Tag.get pkg TAG.adjusted_bitwidth' in
- let bounds_limbwidths := Tag.get pkg TAG.bounds_limbwidths in
- let m := Tag.get pkg TAG.m in
- let wt_nonneg := Tag.get pkg TAG.wt_nonneg in
- let feBW_limbwidths_bounded := fresh "feBW_limbwidths_bounded" in
- let feBW_limbwidths_bounded := pose_feBW_limbwidths_bounded freeze wt sz feBW_limbwidths adjusted_bitwidth' bounds_limbwidths m wt_nonneg feBW_limbwidths_bounded in
- Tag.update pkg TAG.feBW_limbwidths_bounded feBW_limbwidths_bounded.
-
-Ltac add_phiW pkg :=
- let feW := Tag.get pkg TAG.feW in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let phiW := fresh "phiW" in
- let phiW := pose_phiW feW m wt phiW in
- Tag.update pkg TAG.phiW phiW.
-
-Ltac add_phiBW_tight pkg :=
- let feBW_tight := Tag.get pkg TAG.feBW_tight in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let phiBW_tight := fresh "phiBW_tight" in
- let phiBW_tight := pose_phiBW_tight feBW_tight m wt phiBW_tight in
- Tag.update pkg TAG.phiBW_tight phiBW_tight.
-
-Ltac add_phiBW_loose pkg :=
- let feBW_loose := Tag.get pkg TAG.feBW_loose in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let phiBW_loose := fresh "phiBW_loose" in
- let phiBW_loose := pose_phiBW_loose feBW_loose m wt phiBW_loose in
- Tag.update pkg TAG.phiBW_loose phiBW_loose.
-
-Ltac add_phiBW_limbwidths pkg :=
- let feBW_limbwidths := Tag.get pkg TAG.feBW_limbwidths in
- let m := Tag.get pkg TAG.m in
- let wt := Tag.get pkg TAG.wt in
- let phiBW_limbwidths := fresh "phiBW_limbwidths" in
- let phiBW_limbwidths := pose_phiBW_limbwidths feBW_limbwidths m wt phiBW_limbwidths in
- Tag.update pkg TAG.phiBW_limbwidths phiBW_limbwidths.
-
-Ltac add_ReificationTypes_package pkg :=
- let pkg := add_limb_widths pkg in
- let pkg := add_bounds_exp pkg in
- let pkg := add_bounds_tight pkg in
- let pkg := add_bounds_loose pkg in
- let pkg := add_bounds_limbwidths pkg in
- let pkg := add_bound1 pkg in
- let pkg := add_lgbitwidth pkg in
- let pkg := add_adjusted_bitwidth' pkg in
- let pkg := add_adjusted_bitwidth pkg in
- let pkg := add_feZ pkg in
- let pkg := add_feW pkg in
- let pkg := add_feW_tight_bounded pkg in
- let pkg := add_feW_loose_bounded pkg in
- let pkg := add_feW_limbwidths_bounded pkg in
- let pkg := add_feBW_tight pkg in
- let pkg := add_feBW_loose pkg in
- let pkg := add_feBW_limbwidths pkg in
- let pkg := add_feBW_relax pkg in
- let pkg := add_feBW_relax_limbwidths_to_tight pkg in
- let pkg := add_feBW_relax_limbwidths_to_loose pkg in
- let pkg := add_feBW_tight_bounded pkg in
- let pkg := add_feBW_limbwidths_bounded pkg in
- let pkg := add_phiW pkg in
- let pkg := add_phiBW_tight pkg in
- let pkg := add_phiBW_loose pkg in
- let pkg := add_phiBW_limbwidths pkg in
- Tag.strip_subst_local pkg.
-
-
-Module MakeReificationTypesPackage (PKG : PrePackage).
- Module Import MakeReificationTypesPackageInternal := MakePackageBase PKG.
-
- Ltac get_bound1 _ := get TAG.bound1.
- Notation bound1 := (ltac:(let v := get_bound1 () in exact v)) (only parsing).
- Ltac get_adjusted_bitwidth _ := get TAG.adjusted_bitwidth.
- Notation adjusted_bitwidth := (ltac:(let v := get_adjusted_bitwidth () in exact v)) (only parsing).
- Ltac get_feW _ := get TAG.feW.
- Notation feW := (ltac:(let v := get_feW () in exact v)) (only parsing).
- Ltac get_feW_tight_bounded _ := get TAG.feW_tight_bounded.
- Notation feW_tight_bounded := (ltac:(let v := get_feW_tight_bounded () in exact v)) (only parsing).
- Ltac get_feW_loose_bounded _ := get TAG.feW_loose_bounded.
- Notation feW_loose_bounded := (ltac:(let v := get_feW_loose_bounded () in exact v)) (only parsing).
- Ltac get_feW_limbwidths_bounded _ := get TAG.feW_limbwidths_bounded.
- Notation feW_limbwidths_bounded := (ltac:(let v := get_feW_limbwidths_bounded () in exact v)) (only parsing).
- Ltac get_feBW_tight _ := get TAG.feBW_tight.
- Notation feBW_tight := (ltac:(let v := get_feBW_tight () in exact v)) (only parsing).
- Ltac get_feBW_loose _ := get TAG.feBW_loose.
- Notation feBW_loose := (ltac:(let v := get_feBW_loose () in exact v)) (only parsing).
- Ltac get_feBW_limbwidths _ := get TAG.feBW_limbwidths.
- Notation feBW_limbwidths := (ltac:(let v := get_feBW_limbwidths () in exact v)) (only parsing).
- Ltac get_feBW_relax _ := get TAG.feBW_relax.
- Notation feBW_relax := (ltac:(let v := get_feBW_relax () in exact v)) (only parsing).
- Ltac get_feBW_relax_limbwidths_to_tight _ := get TAG.feBW_relax_limbwidths_to_tight.
- Notation feBW_relax_limbwidths_to_tight := (ltac:(let v := get_feBW_relax_limbwidths_to_tight () in exact v)) (only parsing).
- Ltac get_feBW_relax_limbwidths_to_loose _ := get TAG.feBW_relax_limbwidths_to_loose.
- Notation feBW_relax_limbwidths_to_loose := (ltac:(let v := get_feBW_relax_limbwidths_to_loose () in exact v)) (only parsing).
- Ltac get_feBW_tight_bounded _ := get TAG.feBW_tight_bounded.
- Notation feBW_tight_bounded := (ltac:(let v := get_feBW_tight_bounded () in exact v)) (only parsing).
- Ltac get_feBW_limbwidths_bounded _ := get TAG.feBW_limbwidths_bounded.
- Notation feBW_limbwidths_bounded := (ltac:(let v := get_feBW_limbwidths_bounded () in exact v)) (only parsing).
- Ltac get_phiW _ := get TAG.phiW.
- Notation phiW := (ltac:(let v := get_phiW () in exact v)) (only parsing).
- Ltac get_phiBW_tight _ := get TAG.phiBW_tight.
- Notation phiBW_tight := (ltac:(let v := get_phiBW_tight () in exact v)) (only parsing).
- Ltac get_phiBW_loose _ := get TAG.phiBW_loose.
- Notation phiBW_loose := (ltac:(let v := get_phiBW_loose () in exact v)) (only parsing).
- Ltac get_phiBW_limbwidths _ := get TAG.phiBW_limbwidths.
- Notation phiBW_limbwidths := (ltac:(let v := get_phiBW_limbwidths () in exact v)) (only parsing).
-End MakeReificationTypesPackage.
diff --git a/src/Specific/Framework/SynthesisFramework.v b/src/Specific/Framework/SynthesisFramework.v
deleted file mode 100644
index a7f8e5ee5..000000000
--- a/src/Specific/Framework/SynthesisFramework.v
+++ /dev/null
@@ -1,170 +0,0 @@
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.BasePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.DefaultsPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.FreezePackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.KaratsubaPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.LadderstepPackage.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.MontgomeryPackage.
-Require Import Crypto.Specific.Framework.CurveParametersPackage.
-Require Import Crypto.Specific.Framework.ReificationTypesPackage.
-Require Import Crypto.Specific.Framework.MontgomeryReificationTypesPackage.
-Require Import Crypto.Specific.Framework.Packages.
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Util.BoundedWord.
-Require Import Crypto.Util.TagList.
-Require Import Crypto.Util.Tactics.DestructHead.
-Require Import Crypto.Specific.Framework.IntegrationTestTemporaryMiscCommon.
-Require Import Crypto.Compilers.Z.Bounds.Pipeline.
-
-Module Export Exports.
- Export ArithmeticSynthesis.Defaults.Exports.
- Export ArithmeticSynthesis.Freeze.Exports.
-End Exports.
-
-(* Alisases for exporting *)
-Module Type PrePackage := PrePackage.
-Module Tag.
- Notation Context := Tag.Context (only parsing).
-End Tag.
-
-Module Export MakeSynthesisTactics.
- Ltac add_Synthesis_package pkg curve extra_prove_mul_eq extra_prove_square_eq :=
- let CP := get_fill_CurveParameters curve in
- let P_extra_prove_mul_eq := extra_prove_mul_eq in
- let P_extra_prove_square_eq := extra_prove_square_eq in
- let pkg := Tag.local_update pkg TAG.CP CP in
- let pkg := add_CurveParameters_package pkg in
- let pkg := Tag.strip_subst_local pkg in
- let pkg := add_Base_package pkg in
- let pkg := add_ReificationTypes_package pkg in
- let pkg := add_Karatsuba_package pkg in
- let pkg := add_Montgomery_package pkg in
- let pkg := add_MontgomeryReificationTypes_package pkg in
- (* N.B. freeze is a "default" and must come after montgomery, which disables it *)
- let pkg := add_Freeze_package pkg in
- (* N.B. the Defaults must come after other possible ways of adding the _sig lemmas *)
- let pkg := add_Defaults_package pkg P_extra_prove_mul_eq P_extra_prove_square_eq in
- (* N.B. Ladderstep must come after Defaults *)
- let pkg := add_Ladderstep_package pkg in
- pkg.
-
- Ltac get_Synthesis_package curve extra_prove_mul_eq extra_prove_square_eq :=
- let pkg := constr:(Tag.empty) in
- add_Synthesis_package pkg curve extra_prove_mul_eq extra_prove_square_eq.
-
- Ltac make_Synthesis_package curve extra_prove_mul_eq extra_prove_square_eq :=
- let pkg := get_Synthesis_package curve extra_prove_mul_eq extra_prove_square_eq in
- exact pkg.
-End MakeSynthesisTactics.
-
-Module PackageSynthesis (PKG : PrePackage).
- Module CP := MakeCurveParametersPackage PKG.
- Module BP := MakeBasePackage PKG.
- Module DP := MakeDefaultsPackage PKG.
- Module RP := MakeReificationTypesPackage PKG.
- Module FP := MakeFreezePackage PKG.
- Module LP := MakeLadderstepPackage PKG.
- Module KP := MakeKaratsubaPackage PKG.
- Module MP := MakeMontgomeryPackage PKG.
- Module MRP := MakeMontgomeryReificationTypesPackage PKG.
- Include CP.
- Include BP.
- Include DP.
- Include RP.
- Include FP.
- Include LP.
- Include KP.
- Include MP.
- Include MRP.
-
- Ltac synthesize do_rewrite get_op_sig :=
- let op_sig := get_op_sig () in
- let allowable_bit_widths := get_allowable_bit_widths () in
- start_preglue;
- [ do_rewrite op_sig; cbv_runtime
- | .. ];
- fin_preglue;
- refine_reflectively_gen allowable_bit_widths default.
- Ltac synthesize_with_carry do_rewrite get_op_sig :=
- let carry_sig := get_carry_sig () in
- synthesize ltac:(fun op_sig => do_rewrite op_sig carry_sig) get_op_sig.
- Ltac synthesize_narg get_op_sig :=
- synthesize do_rewrite_with_sig get_op_sig.
- Ltac synthesize_2arg_with_carry get_op_sig :=
- synthesize_with_carry do_rewrite_with_2sig_add_carry get_op_sig.
- Ltac synthesize_1arg_with_carry get_op_sig :=
- synthesize_with_carry do_rewrite_with_1sig_add_carry get_op_sig.
-
- Ltac synthesize_montgomery get_op_sig get_op_bounded :=
- let phi := get_phi1_for_preglue () in
- let op_sig := get_op_sig () in
- let op_bounded := get_op_bounded () in
- let allowable_bit_widths := get_allowable_bit_widths () in
- let do_red _ :=
- lazymatch (eval cbv [phi] in phi) with
- | (fun x => ?montgomery_to_F (?meval (?feBW_of_feBW_small _)))
- => cbv [feBW_of_feBW_small meval]
- end in
- start_preglue;
- do_red ();
- [ do_rewrite_with_sig_by op_sig op_sig_side_conditions_t;
- cbv_runtime
- | .. ];
- fin_preglue;
- factor_out_bounds_and_strip_eval op_bounded op_sig_side_conditions_t;
- refine_reflectively_gen allowable_bit_widths anf.
-
- Ltac synthesize_narg_choice_gen synthesize get_op_sig get_op_bounded :=
- let montgomery := get_montgomery () in
- lazymatch (eval vm_compute in montgomery) with
- | true => synthesize_montgomery get_op_sig get_op_bounded
- | false => synthesize get_op_sig
- end.
- Ltac synthesize_narg_choice get_op_sig get_op_bounded :=
- synthesize_narg_choice_gen synthesize_narg get_op_sig get_op_bounded.
- Ltac synthesize_2arg_choice_with_carry get_op_sig get_op_bounded :=
- synthesize_narg_choice_gen synthesize_2arg_with_carry get_op_sig get_op_bounded.
- Ltac synthesize_1arg_choice_with_carry get_op_sig get_op_bounded :=
- synthesize_narg_choice_gen synthesize_1arg_with_carry get_op_sig get_op_bounded.
-
- Ltac synthesize_carry_mul _ := synthesize_2arg_choice_with_carry get_mul_sig get_mul_bounded.
- Ltac synthesize_carry_add _ := synthesize_2arg_choice_with_carry get_add_sig get_add_bounded.
- Ltac synthesize_carry_sub _ := synthesize_2arg_choice_with_carry get_sub_sig get_sub_bounded.
- Ltac synthesize_carry_opp _ := synthesize_1arg_choice_with_carry get_opp_sig get_opp_bounded.
- Ltac synthesize_carry_square _ := synthesize_1arg_with_carry get_square_sig.
- Ltac synthesize_nocarry_mul _ := synthesize_narg_choice get_mul_sig get_mul_bounded.
- Ltac synthesize_add _ := synthesize_narg_choice get_add_sig get_add_bounded.
- Ltac synthesize_sub _ := synthesize_narg_choice get_sub_sig get_sub_bounded.
- Ltac synthesize_opp _ := synthesize_narg_choice get_opp_sig get_opp_bounded.
- Ltac synthesize_carry _ := synthesize_narg_choice get_carry_sig get_carry_bounded.
- Ltac synthesize_nocarry_square _ := synthesize_narg get_square_sig.
- Ltac synthesize_mul _ := synthesize_carry_mul ().
- Ltac synthesize_square _ := synthesize_carry_square ().
- Ltac synthesize_freeze _ :=
- let freeze_sig := get_freeze_sig () in
- let feBW_tight_bounded := get_feBW_tight_bounded () in
- let freeze_allowable_bit_widths := get_freeze_allowable_bit_widths () in
- start_preglue;
- [ do_rewrite_with_sig_by freeze_sig ltac:(fun _ => apply feBW_tight_bounded); cbv_runtime
- | .. ];
- fin_preglue;
- refine_reflectively_gen freeze_allowable_bit_widths anf.
- Ltac synthesize_xzladderstep _ :=
- let Mxzladderstep_sig := get_Mxzladderstep_sig () in
- let a24_sig := get_a24_sig () in
- let allowable_bit_widths := get_allowable_bit_widths () in
- start_preglue;
- [ unmap_map_tuple ();
- do_rewrite_with_sig_1arg Mxzladderstep_sig;
- cbv [Mxzladderstep XZ.M.xzladderstep a24_sig]; cbn [proj1_sig];
- do_set_sigs ();
- cbv_runtime
- | .. ];
- finish_conjoined_preglue ();
- refine_reflectively_gen allowable_bit_widths default.
- Ltac synthesize_nonzero _ :=
- let op_sig := get_nonzero_sig () in
- let allowable_bit_widths := get_allowable_bit_widths () in
- nonzero_preglue op_sig ltac:(fun _ => cbv_runtime);
- refine_reflectively_gen allowable_bit_widths anf.
-End PackageSynthesis.
diff --git a/src/Specific/Framework/bench/fibe.c b/src/Specific/Framework/bench/fibe.c
deleted file mode 100644
index 670722e88..000000000
--- a/src/Specific/Framework/bench/fibe.c
+++ /dev/null
@@ -1,326 +0,0 @@
-#include <assert.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <inttypes.h>
-
-#define limb_t_(bitwidth) limb_t__(bitwidth)
-#define PRIxlimb_(bitwidth) PRIxlimb__(bitwidth)
-#define PRIulimb_(bitwidth) PRIulimb__(bitwidth)
-#define limb_t__(bitwidth) uint ## bitwidth ## _t
-#define PRIxlimb__(bitwidth) PRIx ## bitwidth
-#define PRIulimb__(bitwidth) PRIu ## bitwidth
-
-#ifndef modulus_bytes_val
-#define modulus_bytes_val 32
-#endif
-
-#ifndef bitwidth
-#define bitwidth 64
-#endif
-
-#ifndef a24_val
-#define a24_val 121665
-#endif
-
-#ifndef modulus_limbs
-#define modulus_limbs 5
-#endif
-
-#ifndef limb_weight_gaps_array
-#define limb_weight_gaps_array {51,51,51,51,51}
-#endif
-
-#define modulus_bytes modulus_bytes_val
-
-#define limb_t limb_t_(bitwidth)
-#define PRIxlimb PRIxlimb_(bitwidth)
-#define PRIulimb PRIulimb_(bitwidth)
-
-static const limb_t a24[modulus_limbs] = {a24_val};
-static const limb_t limb_weight_gaps[modulus_limbs] = limb_weight_gaps_array;
-
-#if bitwidth >= 64
-typedef unsigned int uint128_t __attribute__((mode(TI)));
-#endif
-
-// intrinsics?
-#if 0
-
-#include <immintrin.h>
-#include <x86intrin.h>
-
-#if (defined(__GNUC__) || defined(__GNUG__)) && !(defined(__clang__)||defined(__INTEL_COMPILER))
-// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81294
-#define _subborrow_u32 __builtin_ia32_sbb_u32
-#define _subborrow_u64 __builtin_ia32_sbb_u64
-#endif
-
-#else
-
-static uint32_t _mulx_u32(uint32_t a, uint32_t b, uint32_t *high) {
- uint64_t x = (uint64_t)a * b;
- *high = (uint32_t) (x >> 32);
- return (uint32_t) x;
-}
-
-static uint32_t _addcarryx_u32(uint8_t c, uint32_t a, uint32_t b, uint32_t *low) {
- uint64_t x = (uint64_t)a + b + c;
- *low = (uint32_t) x;
- return (uint32_t) (x>>32);
-}
-
-static uint32_t _subborrow_u32(uint8_t c, uint32_t a, uint32_t b, uint32_t *low) {
- uint64_t t = ((uint64_t) b + c);
- uint64_t x = a-t;
- *low = (uint32_t) x;
- return (uint8_t) (x>>63);
-}
-
-static uint32_t cmovznz32(uint32_t t, uint32_t z, uint32_t nz) {
- t = -!!t;
- return (t&nz) | ((~t)&z);
-}
-
-#if bitwidth >= 64
-
-static uint64_t _mulx_u64(uint64_t a, uint64_t b, uint64_t *high) {
- uint128_t x = (uint128_t)a * b;
- *high = (uint64_t) (x >> 64);
- return (uint64_t) x;
-}
-
-static uint64_t _addcarryx_u64(uint8_t c, uint64_t a, uint64_t b, uint64_t *low) {
- uint128_t x = (uint128_t)a + b + c;
- *low = (uint64_t) x;
- return (uint64_t) (x>>64);
-}
-
-static uint64_t _subborrow_u64(uint8_t c, uint64_t a, uint64_t b, uint64_t *low) {
- uint128_t t = ((uint128_t) b + c);
- uint128_t x = a-t;
- *low = (uint64_t) x;
- return (uint8_t) (x>>127);
-}
-
-static uint64_t cmovznz64(uint64_t t, uint64_t z, uint64_t nz) {
- t = -!!t;
- return (t&nz) | ((~t)&z);
-}
-
-#endif
-
-#endif
-
-static uint32_t _mulx_u32_out_u8(uint32_t a, uint32_t b, uint8_t *high) {
- uint32_t tmp_high;
- uint32_t ret = _mulx_u32(a, b, &tmp_high);
- *high = (uint8_t) (tmp_high);
- return ret;
-}
-
-# if bitwidth >= 64
-static uint64_t _mulx_u64_out_u8(uint64_t a, uint64_t b, uint8_t *high) {
- uint64_t tmp_high;
- uint64_t ret = _mulx_u64(a, b, &tmp_high);
- *high = (uint8_t) (tmp_high);
- return ret;
-}
-#endif
-
-
-
-#include "feadd.c"
-#include "femul.c"
-#include "fesquare.c"
-#include "fesub.c"
-#define fe_add feadd
-#define fe_mul femul
-#define fe_sqr fesquare
-#define fe_sub fesub
-
-static void fe_frombytes(limb_t x[modulus_limbs], const uint8_t s[modulus_bytes]) {
- limb_t byte_weight_gaps[modulus_bytes] = {0};
- for (int i = 0; i<modulus_bytes; i++) { byte_weight_gaps[i] = 8; }
-
- int modulus_bits = 0;
- for (int i = 0; i<modulus_limbs; i++) { modulus_bits += limb_weight_gaps[i]; }
-
- int i = 0;
- int in_limb = 0; int in_bit = 0;
- int out_limb = 0; int out_bit = 0;
-
- while (i < modulus_bits) {
- if (in_bit > byte_weight_gaps[in_limb]) {
- in_limb++;
- in_bit = 0;
- }
- if (out_bit > byte_weight_gaps[out_limb]) {
- out_limb++;
- out_bit = 0;
- }
-
- limb_t bit = (s[in_limb] >> in_bit)&1;
- x[out_limb] |= bit << out_bit;
-
- out_bit++; in_bit++; i++;
- }
-}
-
-static void fe_print(limb_t x[modulus_limbs]) {
- for (unsigned i=0; i<modulus_limbs-1; i++) { printf("(("); }
- for (unsigned i=modulus_limbs-1; i > 0; --i) {
- printf("0x%016"PRIxlimb")<< %"PRIulimb") + ", x[i], limb_weight_gaps[i-1]);
- }
- printf("0x%016"PRIxlimb, x[0]);
-}
-
-static void fe_cswap(limb_t bit, limb_t x[modulus_limbs], limb_t y[modulus_limbs]) {
- for (int i=0; i<modulus_limbs; ++i) { limb_t t = (x[i] ^ y[i])&(0-bit); x[i] ^= t; y[i] ^= t; }
-}
-
-static void crypto_scalarmult(uint8_t *out, const uint8_t *secret, size_t secretbits, const uint8_t *point) {
- limb_t a[modulus_limbs] = {0}; limb_t *nqpqx = a;
- limb_t b[modulus_limbs] = {1}; limb_t *nqpqz = b;
- limb_t c[modulus_limbs] ={1}; limb_t *nqx = c;
- limb_t d[modulus_limbs] = {0}; limb_t *nqz = d;
- limb_t e[modulus_limbs] = {0}; limb_t *nqpqx2 = e;
- limb_t f[modulus_limbs] = {1}; limb_t *nqpqz2 = f;
- limb_t g[modulus_limbs] = {0}; limb_t *nqx2 = g;
- limb_t h[modulus_limbs] = {1}; limb_t *nqz2 = h;
- limb_t *t;
-
- limb_t qmqp[modulus_limbs];
- fe_frombytes(qmqp, point);
- for (size_t i = 0; i<modulus_limbs; i++) { nqpqx[i] = qmqp[i]; }
-
- for (size_t i = secretbits-1; i < secretbits; --i) {
- limb_t bit = (secret[i/8] >> (i%8))&1;
-
- fe_cswap(bit, nqx, nqpqx);
- fe_cswap(bit, nqz, nqpqz);
-
- limb_t *x2 = nqx2;
- limb_t *z2 = nqz2;
- limb_t *x3 = nqpqx2;
- limb_t *z3 = nqpqz2;
- limb_t *x = nqx;
- limb_t *z = nqz;
- limb_t *xprime = nqpqx;
- limb_t *zprime = nqpqz;
- // fmonty(limb_t *x2, limb_t 0*z2, /* output 2Q */
- // limb_t *x3, limb_t *z3, /* output Q + Q' */
- // limb_t *x, limb_t *z, /* input Q */
- // limb_t *xprime, limb_t *zprime, /* input Q' */
- // const limb_t *qmqp /* input Q - Q' */) {
-
- limb_t origx[modulus_limbs], origxprime[modulus_limbs], zzz[modulus_limbs], xx[modulus_limbs], zz[modulus_limbs], xxprime[modulus_limbs], zzprime[modulus_limbs], zzzprime[modulus_limbs];
-
- for (size_t i = 0; i<modulus_limbs; i++) { origx[i] = x[i]; }
- fe_add(x, x, z);
- fe_sub(z, origx, z);
-
- for (size_t i = 0; i<modulus_limbs; i++) { origxprime[i] = xprime[i]; }
- fe_add(xprime, xprime, zprime);
- fe_sub(zprime, origxprime, zprime);
- fe_mul(xxprime, xprime, z);
- fe_mul(zzprime, x, zprime);
- for (size_t i = 0; i<modulus_limbs; i++) { origxprime[i] = xxprime[i]; }
- fe_add(xxprime, xxprime, zzprime);
- fe_sub(zzprime, origxprime, zzprime);
- fe_sqr(x3, xxprime);
- fe_sqr(zzzprime, zzprime);
- fe_mul(z3, zzzprime, qmqp);
-
- fe_sqr(xx, x);
- fe_sqr(zz, z);
- fe_mul(x2, xx, zz);
- fe_sub(zz, xx, zz);
- fe_mul(zzz, zz, a24);
- fe_add(zzz, zzz, xx);
- fe_mul(z2, zz, zzz);
-
- // } fmonty
-
- fe_cswap(bit, nqx2, nqpqx2);
- fe_cswap(bit, nqz2, nqpqz2);
-
- t = nqx;
- nqx = nqx2;
- nqx2 = t;
- t = nqz;
- nqz = nqz2;
- nqz2 = t;
- t = nqpqx;
- nqpqx = nqpqx2;
- nqpqx2 = t;
- t = nqpqz;
- nqpqz = nqpqz2;
- nqpqz2 = t;
-
- }
-
- //TODO: implement inv, tobytes
- // fe_print(nqx); printf("\n");
- // fe_print(nqz); printf("\n");
- limb_t garble = 0;
- for (int i = 0; i < modulus_limbs; ++i) { garble ^= nqx[i] ^ nqz[i]; }
- for (int i = 0; i < modulus_bytes; ++i) { out[i] = garble&0xff; garble >>= 1; }
- // fe_inv(nqz, nqz);
- // fe_mul(nqx, nqx, nqz);
- // fe_tobytes
-}
-
-
-int main() {
- // {
- // uint8_t out[modulus_bytes] = {0};
- // uint8_t point[modulus_bytes] = {9};
- // uint8_t secret[modulus_bytes] = {1};
- // crypto_scalarmult(out, secret, 256, point);
- // printf("0x"); for (int i = 31; i>=0; --i) { printf("%02x", out[i]); }; printf("\n");
- // }
- // return 0;
-
- //{
- // const uint8_t expected[32] = {0x89, 0x16, 0x1f, 0xde, 0x88, 0x7b, 0x2b, 0x53, 0xde, 0x54, 0x9a, 0xf4, 0x83, 0x94, 0x01, 0x06, 0xec, 0xc1, 0x14, 0xd6, 0x98, 0x2d, 0xaa, 0x98, 0x25, 0x6d, 0xe2, 0x3b, 0xdf, 0x77, 0x66, 0x1a};
- // const uint8_t basepoint[32] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-
- // uint8_t a[32] = {0}, b[32] = {0};
- // uint8_t* in = a;
- // uint8_t* out = b;
- // a[0] = 1;
-
- // for (int i = 0; i < 200; i++) {
- // in[0] &= 248;
- // in[31] &= 127;
- // in[31] |= 64;
-
- // crypto_scalarmult(out, in, 256, basepoint);
- // uint8_t* t = out;
- // out = in;
- // in = t;
- // }
-
- // for (int i = 0; i < 32; i++) {
- // if (in[i] != expected[i]) {
- // return (i+1);
- // }
- // }
- // return 0;
- //}
-
- uint8_t secret[32];
- uint8_t point[modulus_bytes];
-
- for (int i = 0; i < modulus_bytes; i++) { point[modulus_bytes-i] = i; }
-
- for (int i = 0; i < 1000; i++) {
- for (int j = 0; j<modulus_bytes; j++) {
- secret[j%32] ^= point[j];
- }
- crypto_scalarmult(point, secret, 32*8, point);
- }
- __asm__ __volatile__("" :: "m" (point)); // do not optimize buf away
- return 0;
-}
diff --git a/src/Specific/Framework/bench/gmpsec.c b/src/Specific/Framework/bench/gmpsec.c
deleted file mode 100644
index aaa1c8288..000000000
--- a/src/Specific/Framework/bench/gmpsec.c
+++ /dev/null
@@ -1,234 +0,0 @@
-#include <assert.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <gmp.h>
-
-// modulus, encoded as big-endian bytes
-#ifndef modulus_array
-#define modulus_array {0x7f,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,0xff,0xff,0xed}
-#endif
-
-#ifndef a_minus_two_over_four_array
-#define a_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,0x01,0xdb,0x41}
-#endif
-
-#ifdef modulus_limbs
-#undef modulus_limbs // We currently recompute this; TODO(andreser): is this the right thing to do?
-#endif
-
-static const unsigned char modulus[] = modulus_array;
-static const unsigned char a_minus_two_over_four[] = a_minus_two_over_four_array;
-#define modulus_bytes (sizeof(modulus))
-#define modulus_limbs ((8*sizeof(modulus) + GMP_LIMB_BITS-1)/GMP_LIMB_BITS)
-
-
-static void fe_print(mp_limb_t* fe) {
- printf("0x");
- for (size_t i = modulus_limbs-1; i > 0; --i) { printf("%016lx", fe[i]); }
- printf("%016lx", fe[0]);
-}
-
-static void crypto_scalarmult(uint8_t *out, const uint8_t *secret, size_t secretbits, const uint8_t *point) {
- // curve constants
- mp_limb_t m[modulus_limbs+1];
- mp_limb_t a24[modulus_limbs+1];
- assert(mpn_set_str(m, modulus, modulus_bytes, 256) == (mp_size_t)modulus_limbs);
- assert(mpn_set_str(a24, a_minus_two_over_four, sizeof(a_minus_two_over_four), 256) <= (mp_size_t)modulus_limbs);
-
- // allocate scratch space for internal use by GMP.
- // as GMP _itch are documented as functions, not macros, we use a
- // variable-size stack allocation. hopefully the compiler will inline _itch
- // functions and figure out the correct stack frame size statically through
- // constant propagation.
- mp_size_t mulscratch_sz = mpn_sec_mul_itch(modulus_limbs, modulus_limbs);
- mp_size_t sqrscratch_sz = mpn_sec_sqr_itch(modulus_limbs);
- mp_size_t modscratch_sz = mpn_sec_div_r_itch(modulus_limbs+modulus_limbs, modulus_limbs);
- mp_size_t invscratch_sz = mpn_sec_invert_itch(modulus_limbs);
- mp_size_t scratch_sz = mulscratch_sz;
- scratch_sz = (sqrscratch_sz > scratch_sz) ? sqrscratch_sz : scratch_sz;
- scratch_sz = (modscratch_sz > scratch_sz) ? modscratch_sz : scratch_sz;
- scratch_sz = (invscratch_sz > scratch_sz) ? invscratch_sz : scratch_sz;
- mp_limb_t scratch[scratch_sz];
- for (size_t i = 0; i<scratch_sz; ++i) { scratch[i] = 0; }
-
- // allocate scratch space for use by the field operation macros.
- mp_limb_t _product_tmp[modulus_limbs+modulus_limbs];
-
- #define fe_mul(out, x, y) do { \
- mpn_sec_mul(_product_tmp, x, modulus_limbs, y, modulus_limbs, scratch); \
- mpn_sec_div_r(_product_tmp, modulus_limbs+modulus_limbs, m, modulus_limbs, scratch); \
- for (size_t i = 0; i<modulus_limbs; i++) { out[i] = _product_tmp[i]; } \
- } while (0)
-
- #define fe_sqr(out, x) do { \
- mpn_sec_sqr(_product_tmp, x, modulus_limbs, scratch); \
- mpn_sec_div_r(_product_tmp, modulus_limbs+modulus_limbs, m, modulus_limbs, scratch); \
- for (size_t i = 0; i<modulus_limbs; i++) { out[i] = _product_tmp[i]; } \
- } while (0)
-
- #define fe_add(out, x, y) do { \
- mpn_cnd_sub_n(mpn_add_n(out, x, y, modulus_limbs), out, out, m, modulus_limbs); \
- } while (0)
-
- #define fe_sub(out, x, y) do { \
- mpn_cnd_add_n(mpn_sub_n(out, x, y, modulus_limbs), out, out, m, modulus_limbs); \
- } while (0)
-
- #define fe_inv(out, x) do { \
- for (size_t i = 0; i<modulus_limbs; i++) { _product_tmp[i] = x[i]; } \
- mp_size_t invertible = mpn_sec_invert(out, _product_tmp, m, modulus_limbs, 2*modulus_limbs*GMP_NUMB_BITS, scratch); \
- mpn_cnd_sub_n(1-invertible, out, out, out, modulus_limbs); \
- } while (0)
-
- mp_limb_t a[modulus_limbs] = {0}; mp_limb_t *nqpqx = a;
- mp_limb_t b[modulus_limbs] = {1}; mp_limb_t *nqpqz = b;
- mp_limb_t c[modulus_limbs] ={1}; mp_limb_t *nqx = c;
- mp_limb_t d[modulus_limbs] = {0}; mp_limb_t *nqz = d;
- mp_limb_t e[modulus_limbs] = {0}; mp_limb_t *nqpqx2 = e;
- mp_limb_t f[modulus_limbs] = {1}; mp_limb_t *nqpqz2 = f;
- mp_limb_t g[modulus_limbs] = {0}; mp_limb_t *nqx2 = g;
- mp_limb_t h[modulus_limbs] = {1}; mp_limb_t *nqz2 = h;
- mp_limb_t *t;
-
- uint8_t revpoint[modulus_bytes];
- for (size_t i = 0; i<modulus_bytes; i++) { revpoint[i] = point[modulus_bytes-1-i]; }
- for (size_t i = 0; i<modulus_limbs; i++) { nqpqx[i] = 0; }
- assert(mpn_set_str(nqpqx, revpoint, modulus_bytes, 256) <= (mp_size_t)modulus_limbs);
-
- mp_limb_t qmqp[modulus_limbs];
- for (size_t i = 0; i<modulus_limbs; i++) { qmqp[i] = nqpqx[i]; }
-
- for (size_t i = secretbits-1; i < secretbits; --i) {
- mp_limb_t bit = (secret[i/8] >> (i%8))&1;
- // printf("%01d ", bit);
- // { mp_limb_t pr[modulus_limbs]; fe_inv(pr, nqz); fe_mul(pr, pr, nqx); fe_print(pr); }
- // printf(" ");
- // { mp_limb_t pr[modulus_limbs]; fe_inv(pr, nqpqz); fe_mul(pr, pr, nqpqx); fe_print(pr); }
- // printf("\n");
-
- mpn_cnd_swap(bit, nqx, nqpqx, modulus_limbs);
- mpn_cnd_swap(bit, nqz, nqpqz, modulus_limbs);
-
- mp_limb_t *x2 = nqx2;
- mp_limb_t *z2 = nqz2;
- mp_limb_t *x3 = nqpqx2;
- mp_limb_t *z3 = nqpqz2;
- mp_limb_t *x = nqx;
- mp_limb_t *z = nqz;
- mp_limb_t *xprime = nqpqx;
- mp_limb_t *zprime = nqpqz;
- // fmonty(mp_limb_t *x2, mp_limb_t 0*z2, /* output 2Q */
- // mp_limb_t *x3, mp_limb_t *z3, /* output Q + Q' */
- // mp_limb_t *x, mp_limb_t *z, /* input Q */
- // mp_limb_t *xprime, mp_limb_t *zprime, /* input Q' */
- // const mp_limb_t *qmqp /* input Q - Q' */) {
-
- mp_limb_t origx[modulus_limbs], origxprime[modulus_limbs], zzz[modulus_limbs], xx[modulus_limbs], zz[modulus_limbs], xxprime[modulus_limbs], zzprime[modulus_limbs], zzzprime[modulus_limbs];
-
- for (size_t i = 0; i<modulus_limbs; i++) { origx[i] = x[i]; }
- fe_add(x, x, z);
- fe_sub(z, origx, z);
-
- for (size_t i = 0; i<modulus_limbs; i++) { origxprime[i] = xprime[i]; }
- fe_add(xprime, xprime, zprime);
- fe_sub(zprime, origxprime, zprime);
- fe_mul(xxprime, xprime, z);
- fe_mul(zzprime, x, zprime);
- for (size_t i = 0; i<modulus_limbs; i++) { origxprime[i] = xxprime[i]; }
- fe_add(xxprime, xxprime, zzprime);
- fe_sub(zzprime, origxprime, zzprime);
- fe_sqr(x3, xxprime);
- fe_sqr(zzzprime, zzprime);
- fe_mul(z3, zzzprime, qmqp);
-
- fe_sqr(xx, x);
- fe_sqr(zz, z);
- fe_mul(x2, xx, zz);
- fe_sub(zz, xx, zz);
- fe_mul(zzz, zz, a24);
- fe_add(zzz, zzz, xx);
- fe_mul(z2, zz, zzz);
-
- // } fmonty
-
- mpn_cnd_swap(bit, nqx2, nqpqx2, modulus_limbs);
- mpn_cnd_swap(bit, nqz2, nqpqz2, modulus_limbs);
-
- t = nqx;
- nqx = nqx2;
- nqx2 = t;
- t = nqz;
- nqz = nqz2;
- nqz2 = t;
- t = nqpqx;
- nqpqx = nqpqx2;
- nqpqx2 = t;
- t = nqpqz;
- nqpqz = nqpqz2;
- nqpqz2 = t;
-
- }
-
- for (size_t i = 0; i < modulus_bytes; i++) { out[i] = 0; }
- for (size_t i = 0; i < 8*modulus_bytes; i++) {
- mp_limb_t bit = (nqx[i/GMP_LIMB_BITS] >> (i%GMP_LIMB_BITS))&1;
- out [i/8] |= bit<<(i%8);
- }
- for (size_t i = 0; i < 8*modulus_bytes; i++) {
- mp_limb_t bit = (nqz[i/GMP_LIMB_BITS] >> (i%GMP_LIMB_BITS))&1;
- out [i/8] ^= bit<<(i%8);
- }
-}
-
-
-int main() {
- // {
- // uint8_t out[sizeof(modulus)] = {0};
- // uint8_t point[sizeof(modulus)] = {9};
- // uint8_t secret[sizeof(modulus)] = {1};
- // crypto_scalarmult(out, point, secret, 256);
- // printf("0x"); for (int i = 31; i>=0; --i) { printf("%02x", out[i]); }; printf("\n");
- // }
-
- // {
- // const uint8_t expected[32] = {0x89, 0x16, 0x1f, 0xde, 0x88, 0x7b, 0x2b, 0x53, 0xde, 0x54, 0x9a, 0xf4, 0x83, 0x94, 0x01, 0x06, 0xec, 0xc1, 0x14, 0xd6, 0x98, 0x2d, 0xaa, 0x98, 0x25, 0x6d, 0xe2, 0x3b, 0xdf, 0x77, 0x66, 0x1a};
- // const uint8_t basepoint[32] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-
- // uint8_t a[32] = {0}, b[32] = {0};
- // uint8_t* in = a;
- // uint8_t* out = b;
- // a[0] = 1;
-
- // for (int i = 0; i < 200; i++) {
- // in[0] &= 248;
- // in[31] &= 127;
- // in[31] |= 64;
-
- // crypto_scalarmult(out, in, 256, basepoint);
- // uint8_t* t = out;
- // out = in;
- // in = t;
- // }
-
- // for (int i = 0; i < 32; i++) {
- // if (in[i] != expected[i]) {
- // return (i+1);
- // }
- // }
- // return 0;
- // }
- uint8_t secret[32];
- uint8_t point[modulus_bytes];
-
- for (int i = 0; i < modulus_bytes; i++) { point[modulus_bytes-i] = i; }
-
- for (int i = 0; i < 1000; i++) {
- for (int j = 0; j<modulus_bytes; j++) {
- secret[j%32] ^= point[j];
- }
- crypto_scalarmult(point, secret, 32*8, point);
- }
- __asm__ __volatile__("" :: "m" (point)); // do not optimize buf away
- return 0;
-}
diff --git a/src/Specific/Framework/bench/gmpvar.c b/src/Specific/Framework/bench/gmpvar.c
deleted file mode 100644
index 476ec1d92..000000000
--- a/src/Specific/Framework/bench/gmpvar.c
+++ /dev/null
@@ -1,233 +0,0 @@
-#include <assert.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <gmp.h>
-
-// modulus, encoded as big-endian bytes
-#ifndef modulus_array
-#define modulus_array {0x7f,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,0xff,0xff,0xed}
-#endif
-
-#ifndef a_minus_two_over_four_array
-#define a_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,0x01,0xdb,0x41}
-#endif
-
-#ifdef modulus_limbs
-#undef modulus_limbs // We currently recompute this; TODO(andreser): is this the right thing to do?
-#endif
-
-static const unsigned char modulus[] = modulus_array;
-static const unsigned char a_minus_two_over_four[] = a_minus_two_over_four_array;
-#define modulus_bytes (sizeof(modulus))
-#define modulus_limbs ((8*sizeof(modulus) + GMP_LIMB_BITS-1)/GMP_LIMB_BITS)
-
-
-static void fe_print(mp_limb_t* fe) {
- printf("0x");
- for (size_t i = modulus_limbs-1; i > 0; --i) { printf("%016lx", fe[i]); }
- printf("%016lx", fe[0]);
-}
-
-static void crypto_scalarmult(uint8_t *out, const uint8_t *secret, size_t secretbits, const uint8_t *point) {
- // curve constants
- mp_limb_t m[modulus_limbs+1];
- mp_limb_t a24[modulus_limbs+1];
- assert(mpn_set_str(m, modulus, modulus_bytes, 256) == (mp_size_t)modulus_limbs);
- assert(mpn_set_str(a24, a_minus_two_over_four, sizeof(a_minus_two_over_four), 256) <= (mp_size_t)modulus_limbs);
-
- // allocate scratch space for internal use by GMP.
- // as GMP _itch are documented as functions, not macros, we use a
- // variable-size stack allocation. hopefully the compiler will inline _itch
- // functions and figure out the correct stack frame size statically through
- // constant propagation.
- mp_size_t invscratch_sz = mpn_sec_invert_itch(modulus_limbs);
- mp_size_t scratch_sz = invscratch_sz;
- scratch_sz = (modulus_limbs > scratch_sz) ? modulus_limbs : scratch_sz;
- mp_limb_t scratch[scratch_sz];
- for (size_t i = 0; i<scratch_sz; ++i) { scratch[i] = 0; }
-
- // allocate scratch space for use by the field operation macros.
- mp_limb_t _product_tmp[modulus_limbs+modulus_limbs];
-
- #define fe_mul(out, x, y) do { \
- mpn_mul(_product_tmp, x, modulus_limbs, y, modulus_limbs); \
- mpn_tdiv_qr(scratch, _product_tmp, 0, _product_tmp, modulus_limbs+modulus_limbs, m, modulus_limbs); \
- for (size_t i = 0; i<modulus_limbs; i++) { out[i] = _product_tmp[i]; } \
- } while (0)
-
- #define fe_sqr(out, x) do { \
- mpn_sqr(_product_tmp, x, modulus_limbs); \
- mpn_tdiv_qr(scratch, _product_tmp, 0, _product_tmp, modulus_limbs+modulus_limbs, m, modulus_limbs); \
- for (size_t i = 0; i<modulus_limbs; i++) { out[i] = _product_tmp[i]; } \
- } while (0)
-
- #define fe_add(out, x, y) do { \
- if (mpn_add_n(out, x, y, modulus_limbs)) { \
- mpn_sub_n(out, out, m, modulus_limbs); \
- } \
- } while (0)
-
- #define fe_sub(out, x, y) do { \
- if (mpn_sub_n(out, x, y, modulus_limbs)) { \
- mpn_add_n(out, out, m, modulus_limbs); \
- } \
- } while (0)
-
- #define fe_inv(out, x) do { \
- for (size_t i = 0; i<modulus_limbs; i++) { _product_tmp[i] = x[i]; } \
- mp_size_t invertible = mpn_sec_invert(out, _product_tmp, m, modulus_limbs, 2*modulus_limbs*GMP_NUMB_BITS, scratch); \
- mpn_cnd_sub_n(1-invertible, out, out, out, modulus_limbs); \
- } while (0)
-
- mp_limb_t a[modulus_limbs] = {0}; mp_limb_t *nqpqx = a;
- mp_limb_t b[modulus_limbs] = {1}; mp_limb_t *nqpqz = b;
- mp_limb_t c[modulus_limbs] ={1}; mp_limb_t *nqx = c;
- mp_limb_t d[modulus_limbs] = {0}; mp_limb_t *nqz = d;
- mp_limb_t e[modulus_limbs] = {0}; mp_limb_t *nqpqx2 = e;
- mp_limb_t f[modulus_limbs] = {1}; mp_limb_t *nqpqz2 = f;
- mp_limb_t g[modulus_limbs] = {0}; mp_limb_t *nqx2 = g;
- mp_limb_t h[modulus_limbs] = {1}; mp_limb_t *nqz2 = h;
- mp_limb_t *t;
-
- uint8_t revpoint[modulus_bytes];
- for (size_t i = 0; i<modulus_bytes; i++) { revpoint[i] = point[modulus_bytes-1-i]; }
- for (size_t i = 0; i<modulus_limbs; i++) { nqpqx[i] = 0; }
- assert(mpn_set_str(nqpqx, revpoint, modulus_bytes, 256) <= (mp_size_t)modulus_limbs);
-
- mp_limb_t qmqp[modulus_limbs];
- for (size_t i = 0; i<modulus_limbs; i++) { qmqp[i] = nqpqx[i]; }
-
- for (size_t i = secretbits-1; i < secretbits; --i) {
- mp_limb_t bit = (secret[i/8] >> (i%8))&1;
- // printf("%01d ", bit);
- // { mp_limb_t pr[modulus_limbs]; fe_inv(pr, nqz); fe_mul(pr, pr, nqx); fe_print(pr); }
- // printf(" ");
- // { mp_limb_t pr[modulus_limbs]; fe_inv(pr, nqpqz); fe_mul(pr, pr, nqpqx); fe_print(pr); }
- // printf("\n");
-
- mpn_cnd_swap(bit, nqx, nqpqx, modulus_limbs);
- mpn_cnd_swap(bit, nqz, nqpqz, modulus_limbs);
-
- mp_limb_t *x2 = nqx2;
- mp_limb_t *z2 = nqz2;
- mp_limb_t *x3 = nqpqx2;
- mp_limb_t *z3 = nqpqz2;
- mp_limb_t *x = nqx;
- mp_limb_t *z = nqz;
- mp_limb_t *xprime = nqpqx;
- mp_limb_t *zprime = nqpqz;
- // fmonty(mp_limb_t *x2, mp_limb_t 0*z2, /* output 2Q */
- // mp_limb_t *x3, mp_limb_t *z3, /* output Q + Q' */
- // mp_limb_t *x, mp_limb_t *z, /* input Q */
- // mp_limb_t *xprime, mp_limb_t *zprime, /* input Q' */
- // const mp_limb_t *qmqp /* input Q - Q' */) {
-
- mp_limb_t origx[modulus_limbs], origxprime[modulus_limbs], zzz[modulus_limbs], xx[modulus_limbs], zz[modulus_limbs], xxprime[modulus_limbs], zzprime[modulus_limbs], zzzprime[modulus_limbs];
-
- for (size_t i = 0; i<modulus_limbs; i++) { origx[i] = x[i]; }
- fe_add(x, x, z);
- fe_sub(z, origx, z);
-
- for (size_t i = 0; i<modulus_limbs; i++) { origxprime[i] = xprime[i]; }
- fe_add(xprime, xprime, zprime);
- fe_sub(zprime, origxprime, zprime);
- fe_mul(xxprime, xprime, z);
- fe_mul(zzprime, x, zprime);
- for (size_t i = 0; i<modulus_limbs; i++) { origxprime[i] = xxprime[i]; }
- fe_add(xxprime, xxprime, zzprime);
- fe_sub(zzprime, origxprime, zzprime);
- fe_sqr(x3, xxprime);
- fe_sqr(zzzprime, zzprime);
- fe_mul(z3, zzzprime, qmqp);
-
- fe_sqr(xx, x);
- fe_sqr(zz, z);
- fe_mul(x2, xx, zz);
- fe_sub(zz, xx, zz);
- fe_mul(zzz, zz, a24);
- fe_add(zzz, zzz, xx);
- fe_mul(z2, zz, zzz);
-
- // } fmonty
-
- mpn_cnd_swap(bit, nqx2, nqpqx2, modulus_limbs);
- mpn_cnd_swap(bit, nqz2, nqpqz2, modulus_limbs);
-
- t = nqx;
- nqx = nqx2;
- nqx2 = t;
- t = nqz;
- nqz = nqz2;
- nqz2 = t;
- t = nqpqx;
- nqpqx = nqpqx2;
- nqpqx2 = t;
- t = nqpqz;
- nqpqz = nqpqz2;
- nqpqz2 = t;
-
- }
-
- for (size_t i = 0; i < modulus_bytes; i++) { out[i] = 0; }
- for (size_t i = 0; i < 8*modulus_bytes; i++) {
- mp_limb_t bit = (nqx[i/GMP_LIMB_BITS] >> (i%GMP_LIMB_BITS))&1;
- out [i/8] |= bit<<(i%8);
- }
- for (size_t i = 0; i < 8*modulus_bytes; i++) {
- mp_limb_t bit = (nqz[i/GMP_LIMB_BITS] >> (i%GMP_LIMB_BITS))&1;
- out [i/8] ^= bit<<(i%8);
- }
-}
-
-
-int main() {
- // {
- // uint8_t out[sizeof(modulus)] = {0};
- // uint8_t point[sizeof(modulus)] = {9};
- // uint8_t secret[sizeof(modulus)] = {1};
- // crypto_scalarmult(out, point, secret, 256);
- // printf("0x"); for (int i = 31; i>=0; --i) { printf("%02x", out[i]); }; printf("\n");
- // }
-
- // {
- // const uint8_t expected[32] = {0x89, 0x16, 0x1f, 0xde, 0x88, 0x7b, 0x2b, 0x53, 0xde, 0x54, 0x9a, 0xf4, 0x83, 0x94, 0x01, 0x06, 0xec, 0xc1, 0x14, 0xd6, 0x98, 0x2d, 0xaa, 0x98, 0x25, 0x6d, 0xe2, 0x3b, 0xdf, 0x77, 0x66, 0x1a};
- // const uint8_t basepoint[32] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-
- // uint8_t a[32] = {0}, b[32] = {0};
- // uint8_t* in = a;
- // uint8_t* out = b;
- // a[0] = 1;
-
- // for (int i = 0; i < 200; i++) {
- // in[0] &= 248;
- // in[31] &= 127;
- // in[31] |= 64;
-
- // crypto_scalarmult(out, in, 256, basepoint);
- // uint8_t* t = out;
- // out = in;
- // in = t;
- // }
-
- // for (int i = 0; i < 32; i++) {
- // if (in[i] != expected[i]) {
- // return (i+1);
- // }
- // }
- // return 0;
- // }
- uint8_t secret[32];
- uint8_t point[modulus_bytes];
-
- for (int i = 0; i < modulus_bytes; i++) { point[modulus_bytes-i] = i; }
-
- for (int i = 0; i < 1000; i++) {
- for (int j = 0; j<modulus_bytes; j++) {
- secret[j%32] ^= point[j];
- }
- crypto_scalarmult(point, secret, 32*8, point);
- }
- __asm__ __volatile__("" :: "m" (point)); // do not optimize buf away
- return 0;
-}
diff --git a/src/Specific/Framework/bench/gmpxx.cpp b/src/Specific/Framework/bench/gmpxx.cpp
deleted file mode 100644
index 853411cbc..000000000
--- a/src/Specific/Framework/bench/gmpxx.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-#include <assert.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <gmpxx.h>
-
-#ifndef q_mpz
-#define q_mpz ((1_mpz<<255)-19)
-#endif
-
-#ifndef modulus_bytes_val
-#define modulus_bytes_val 32
-#endif
-
-#ifndef a24_hex
-#define a24_hex 0x01db41
-#endif
-
-static const mpz_class q = q_mpz;
-static const size_t modulus_bytes = modulus_bytes_val;
-static const unsigned int a24 = a24_hex;
-
-static void fe_print(const mpz_class &x) {
- printf("0x"); for (size_t i = modulus_bytes-1; i<modulus_bytes; --i) { printf("%02lx", mpz_class(x>>(8*i)).get_ui()&0xff); }
-}
-
-static void fe_print_frac(mpz_class x, mpz_class z) {
- // remainder -> modulo
- if (z < 0) { z += q; }
- if (mpz_invert(z.get_mpz_t(), z.get_mpz_t(), q.get_mpz_t())) {
- // remainder -> modulo
- if (x < 0) { x += q; }
- x = x*z % q;
- fe_print(x);
- } else {
- printf("inf ");
- }
-}
-
-using std::pair;
-using std::make_pair;
-static const pair<pair<mpz_class,mpz_class>, pair<mpz_class,mpz_class>>
-ladderstep(const mpz_class &x1, const mpz_class &x, const mpz_class &z, const mpz_class &x_p, const mpz_class &z_p) {
- mpz_class t;
- { t = x; mpz_class origx = t;
- { t = (x + z)%q; mpz_class x = t;
- { t = (origx - z)%q; mpz_class z = t;
- { t = x_p; mpz_class origx_p = t;
- { t = (x_p + z_p)%q; mpz_class x_p = t;
- { t = (origx_p - z_p)%q; mpz_class z_p = t;
- { t = (x_p * z)%q; mpz_class xx_p = t;
- { t = (x * z_p)%q; mpz_class zz_p = t;
- { t = xx_p; mpz_class origx_p = t;
- { t = (xx_p + zz_p)%q; mpz_class xx_p = t;
- { t = (origx_p - zz_p)%q; mpz_class zz_p = t;
- { t = (xx_p*xx_p)%q; mpz_class x3 = t;
- { t = (zz_p*zz_p)%q; mpz_class zzz_p = t;
- { t = (zzz_p * x1)%q; mpz_class z3 = t;
- { t = (x*x)%q; mpz_class xx = t;
- { t = (z*z)%q; mpz_class zz = t;
- { t = (xx * zz)%q; mpz_class x2 = t;
- { t = (xx - zz)%q; mpz_class zz = t;
- { t = (zz * a24)%q; mpz_class zzz = t;
- { t = (zzz + xx)%q; mpz_class zzz = t;
- { t = (zz * zzz)%q; mpz_class z2 = t;
-
- return make_pair(make_pair(x2, z2), make_pair(x3, z3));
- }}}}}}}}}}}}}}}}}}}}}
-}
-
-static void crypto_scalarmult(uint8_t *out, const uint8_t *secret, size_t secretbits, const uint8_t *point) {
- mpz_class x1; for (size_t i = 0; i<modulus_bytes; i++) { x1 |= mpz_class(point[i]) << (8*i); }
- mpz_class x = 1, z = 0, x_p = x1, z_p = 1;
-
- bool swap = false;
- for (size_t i = secretbits-1; i < secretbits; --i) {
- bool bit = (secret[i/8] >> (i%8))&1;
- // printf("%d ", bit); fe_print_frac(x, z); printf(" "); fe_print_frac(x_p, z_p); printf("\n");
- if (swap ^ bit) { std::swap(x, x_p); std::swap(z, z_p); }
- swap = bit;
-
- auto pp = ladderstep(x1, x, z, x_p, z_p);
- x = pp.first.first;
- z = pp.first.second;
- x_p = pp.second.first;
- z_p = pp.second.second;
- }
- if (swap) { std::swap(x, x_p); std::swap(z, z_p); }
-
- // remainder -> modulo
- if (z < 0) { z += q; }
-
- // if (mpz_invert(z.get_mpz_t(), z.get_mpz_t(), q.get_mpz_t())) {
- // x = x*z % q;
- // } else {
- // x = 0;
- // }
-
- // // remainder -> modulo
- // if (x < 0) { x += q; }
-
- for (size_t i = 0; i<modulus_bytes; i++) { out[i] = mpz_class(x>>(8*i)).get_ui()&0xff; }
- for (size_t i = 0; i<modulus_bytes; i++) { out[i] ^= mpz_class(z>>(8*i)).get_ui()&0xff; }
-}
-
-int main() {
- // {
- // uint8_t out[modulus_bytes] = {0};
- // uint8_t point[modulus_bytes] = {9};
- // uint8_t secret[modulus_bytes] = {1};
- // crypto_scalarmult(out, secret, 256, point);
- // // printf("0x"); for (int i = 31; i>=0; --i) { printf("%02x", out[i]); }; printf("\n");
- // }
- // {
- // const uint8_t expected[32] = {0x89, 0x16, 0x1f, 0xde, 0x88, 0x7b, 0x2b, 0x53, 0xde, 0x54, 0x9a, 0xf4, 0x83, 0x94, 0x01, 0x06, 0xec, 0xc1, 0x14, 0xd6, 0x98, 0x2d, 0xaa, 0x98, 0x25, 0x6d, 0xe2, 0x3b, 0xdf, 0x77, 0x66, 0x1a};
- // const uint8_t basepoint[32] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-
- // uint8_t a[32] = {0}, b[32] = {0};
- // uint8_t* in = a;
- // uint8_t* out = b;
- // a[0] = 1;
-
- // for (int i = 0; i < 200; i++) {
- // in[0] &= 248;
- // in[31] &= 127;
- // in[31] |= 64;
-
- // crypto_scalarmult(out, in, 256, basepoint);
- // uint8_t* t = out;
- // out = in;
- // in = t;
- // }
-
- // for (int i = 0; i < 32; i++) {
- // if (in[i] != expected[i]) {
- // return (i+1);
- // }
- // }
- // return 0;
- // }
- uint8_t secret[32];
- uint8_t point[modulus_bytes];
-
- for (int i = 0; i < modulus_bytes; i++) { point[modulus_bytes-i] = i; }
-
- for (int i = 0; i < 1000; i++) {
- for (int j = 0; j<modulus_bytes; j++) {
- secret[j%32] ^= point[j];
- }
- crypto_scalarmult(point, secret, 32*8, point);
- }
- __asm__ __volatile__("" :: "m" (point)); // do not optimize buf away
- return 0;
-}
diff --git a/src/Specific/Framework/bench/montladder.py b/src/Specific/Framework/bench/montladder.py
deleted file mode 100644
index e30e3454c..000000000
--- a/src/Specific/Framework/bench/montladder.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python
-import sys, re
-
-q = 2**448 - 2**224 - 1
-modulus_bytes = 56
-a24 = 39081
-
-def eval_numexpr(numexpr):
- # copying from https://stackoverflow.com/a/25437733/377022
- numexpr = re.sub(r"\.(?![0-9])", "", numexpr) # purge any instance of '.' not followed by a number
- return eval(numexpr, {'__builtins__':None})
-
-def usage(args, updates, retcode=0):
- print('USAGE: %s %s' % (args[0], ' '.join('[-D%s=NUMEXPR]' % k for k, v in updates)))
- sys.exit(retcode)
-
-def update_defaults(args):
- global q
- global modulus_bytes
- global a24
- updates = (('q',q), ('modulus_bytes',modulus_bytes), ('a24',a24))
- if '--help' in args or '-h' in args: usage(args, updates)
- updates = dict(updates)
- found = []
- for k in updates.keys():
- for arg in args[1:]:
- if arg.startswith('-D%s=' % k):
- found.append(arg)
- updates[k] = eval_numexpr(arg[len('-D%s=' % k):])
- elif arg.startswith('-D%s' % k):
- found.append(arg)
- updates[k] = eval_numexpr(arg[len('-D%s' % k):])
- unfound = [arg for arg in args[1:] if arg not in found]
- if len(unfound) > 0:
- print('ERROR: unrecognized arguments: ' + ' '.join(map(repr, unfound)))
- usage(args, updates, retcode=1)
- q = updates['q']
- modulus_bytes = updates['modulus_bytes']
- a24 = updates['a24']
- print('q: %(q)s, modulus_bytes: %(modulus_bytes)s, a24: %(a24)s' % updates)
-
-def ladderstep(x1, x, z, x_p, z_p):
- origx = x
- x = (x + z)%q
- z = (origx - z)%q
- origx_p = x_p
- x_p = (x_p + z_p)%q
- z_p = (origx_p - z_p)%q
- xx_p = (x_p * z)%q
- zz_p = (x * z_p)%q
- origx_p = xx_p
- xx_p = (xx_p + zz_p)%q
- zz_p = (origx_p - zz_p)%q
- x3 = (xx_p*xx_p)%q
- zzz_p = (zz_p*zz_p)%q
- z3 = (zzz_p * x1)%q
- xx = (x*x)%q
- zz = (z*z)%q
- x2 = (xx * zz)%q
- zz = (xx - zz)%q
- zzz = (zz * a24)%q
- zzz = (zzz + xx)%q
- z2 = (zz * zzz)%q
- return ((x2, z2), (x3, z3))
-
-def crypto_scalarmult(secret, secretbits, point):
- x1 = sum(point[i] << (8*i) for i in range(modulus_bytes))
- x = 1; z = 0; x_p = x1; z_p = 1;
- swap = 0
-
- i = secretbits - 1
- while i >= 0:
- bit = secret[i//8] >> (i%8)&1
- # print(bit, x*pow(z,q-2,q)%q, x_p*pow(z_p,q-2,q)%q)
- if swap ^ bit: ((x, z), (x_p, z_p)) = ((x_p, z_p), (x, z))
- swap = bit
- (x, z), (x_p, z_p) = ladderstep(x1, x, z, x_p, z_p)
- i -= 1
- if swap: ((x, z), (x_p, z_p)) = ((x_p, z_p), (x, z))
- x = (x*pow(z,q-2,q))%q
- return [((x >> (8*i)) & 0xff) for i in range(modulus_bytes)]
-
-if __name__ == '__main__':
- update_defaults(sys.argv)
- BASE = [5]+(modulus_bytes-1)*[0]
- print (crypto_scalarmult([1]+(modulus_bytes-1)*[0], 8*modulus_bytes, BASE))
-
- s = [61, 38, 47, 221, 249, 236, 142, 136, 73, 82, 102, 254, 161, 154, 52, 210, 136, 130, 172, 239, 4, 81, 4, 208, 209, 170, 225, 33, 112, 10, 119, 156, 152, 76, 36, 248, 205, 215, 143, 191, 244, 73, 67, 235, 163, 104, 245, 75, 41, 37, 154, 79, 28, 96, 10, 211]
- s[0] &= 252
- s[55] |= 128
-
- P = [6, 252, 230, 64, 250, 52, 135, 191, 218, 95, 108, 242, 213, 38, 63, 138, 173, 136, 51, 76, 189, 7, 67, 127, 2, 15, 8, 249, 129, 77, 192, 49, 221, 189, 195, 140, 25, 198, 218, 37, 131, 250, 84, 41, 219, 148, 173, 161, 138, 167, 167, 251, 78, 248, 160, 134]
- Q = crypto_scalarmult(s, 8*modulus_bytes, P)
- print(''.join(hex(i)[2:] for i in Q))
- print(Q==[206, 62, 79, 249, 90, 96, 220, 102, 151, 218, 29, 177, 216, 94, 106, 251, 223, 121, 181, 10, 36, 18, 215, 84, 109, 95, 35, 159, 225, 79, 186, 173, 235, 68, 95, 198, 106, 1, 176, 119, 157, 152, 34, 57, 97, 17, 30, 33, 118, 98, 130, 247, 61, 217, 107, 111])
diff --git a/src/Specific/Framework/bench/prettyprint.py b/src/Specific/Framework/bench/prettyprint.py
deleted file mode 100755
index f349cee5c..000000000
--- a/src/Specific/Framework/bench/prettyprint.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python3
-import re, sys
-
-def translate_typename(t):
- return {
- 'word8':'uint8_t',
- 'word16':'uint16_t',
- 'word32':'uint32_t',
- 'word64':'uint64_t',
- 'word128':'uint128_t',
- 'word 8':'uint8_t',
- 'word 16':'uint16_t',
- 'word 32':'uint32_t',
- 'word 64':'uint64_t',
- 'word 128':'uint128_t'
- }.get(t,t)
-
-def cleanup_type(t):
- t = t.strip()
- if t.startswith('ReturnType (') and t.endswith(')'):
- t = t[len('ReturnType ('):-len(')')]
- return t
-
-def translate_type(t):
- t = cleanup_type(t)
- fieldtypes = [s.strip() for s in t.split('*')]
- assert len(set(fieldtypes)) == 1
- return translate_typename(fieldtypes[0]), len(fieldtypes)
-
-
-funcname = sys.argv[1]
-_, _, _, binderline, *bodylines, returnline, _, typeline = sys.stdin.read().strip('\n').split('\n')
-
-*arguments, (returntype, returnlength) = [translate_type(s) for s in typeline.lstrip(": ").split('→')]
-
-binders = binderline.replace('λ','').replace('\'', '').replace('(','').replace(')','').replace('%core','').split(',')
-binders = [b.strip() for b in binders if b.strip()]
-
-returnline = returnline.strip()
-assert returnline.endswith(')') # I don't know why there is an extra paren on that line
-returnline = returnline[:-len(')')].strip()
-if returnline.startswith('return'):
- returnline = returnline[len('return'):].strip()
-if returnline.startswith('(') and returnline.endswith(')'): # but only once... idk why
- returnline = returnline[1:-1].strip()
-returneds = returnline.replace('Return','').split(',')
-returneds = [r.strip() for r in returneds if r.strip()]
-
-assert (len(binders) == sum(l for (_, l) in arguments))
-
-indent = ' '
-
-outparam = [(returntype, "out", returnlength)]
-inparams = [("const "+t, "in%d"%(i+1), l) for (i,(t,l)) in enumerate(arguments)]
-print ("static void "+funcname+"(" + ", ".join("%s %s[%d]"%x for x in (outparam+inparams)) + ") {")
-
-braces = 0
-for (b, (i, (t, a))) in (list(zip(binders,sum((list(reversed(list(enumerate(l*[(t,n)])))) for (t, n, l) in inparams), [])))):
- print (indent+ "{ %s %s = %s[%d];"%(t, b, a, i))
- braces += 1
-
-mulx_re = re.compile(r'^([^,]*),(\s*)([^ ]*) ([^ ]*)(.*)(mulx.*)\)([; ]*)$'); mulx_sub = r' \3 \4;\2\1\5_\6, &\4)\7'
-adc_re = re.compile(r'^([^,]*) ([^, ]*)(\s*),(.*)(addcarryx.*)\)([; ]*)$'); adc_sub = r'\1 \2\3;\4_\5, &\2)\6'
-sbb_re = re.compile(r'^([^,]*) ([^, ]*)(\s*),(.*)(subborrow.*)\)([; ]*)$'); sbb_sub = r'\1 \2\3;\4_\5, &\2)\6'
-for s in bodylines:
- s = re.sub(mulx_re, mulx_sub, s)
- s = re.sub(adc_re, adc_sub, s)
- s = re.sub(sbb_re, sbb_sub, s)
- print (indent+ "{"+s)
- braces += 1
-
-for (i,r) in enumerate(reversed(returneds)):
- print (indent+ "out[%d] = %s;"%(i, r))
-
-print (indent+'}'*braces)
-
-print ('}')
diff --git a/src/Specific/Framework/make_curve.py b/src/Specific/Framework/make_curve.py
deleted file mode 100755
index 71f6d6ad7..000000000
--- a/src/Specific/Framework/make_curve.py
+++ /dev/null
@@ -1,542 +0,0 @@
-#!/usr/bin/env python
-from __future__ import with_statement
-import json, sys, os, math, re, shutil, io
-from fractions import Fraction
-
-### Python 2/3 compatibility hacks
-# unicode doesn't exist in python3 (str is unicode by default), so we
-# set unicode to str there (but we need proper unicode in python2)
-try:
- unicode
-except NameError:
- unicode = str
-
-DEFAULT_A24_FOR_BENCH = 121665
-def compute_bitwidth(base):
- return 2**int(math.ceil(math.log(base, 2)))
-def compute_sz(modulus, base):
- return 1 + int(math.ceil(math.log(modulus, 2) / base))
-def default_carry_chains(sz):
- return ['seq 0 (pred %(sz)s)' % locals(), '[0; 1]']
-def compute_s(modulus_str):
- base, exp, rest = re.match(r'\s*'.join(('^', '(2)', r'\^', '([0-9]+)', r'([0-9\^ +\*-]*)$')), modulus_str).groups()
- return '%s^%s' % (base, exp)
-def reformat_base(base):
- if '.' not in base: return base
- int_part, frac_part = base.split('.')
- return int_part + ' + ' + str(Fraction('.' + frac_part))
-def compute_c(modulus_str):
- base, exp, rest = re.match(r'\s*'.join(('^', '(2)', r'\^', '([0-9]+)', r'([0-9\^ +\*-]*)$')), modulus_str).groups()
- if rest.strip() == '': return []
- assert(rest.strip()[0] == '-')
- rest = negate_numexpr(rest.strip()[1:])
- ret = []
- for part in re.findall(r'(-?[0-9\^\*]+)', rest.replace(' ', '')):
- if part.isdigit() or (part[:1] == '-' and part[1:].isdigit()):
- ret.append(('1', part))
- elif part[:2] == '2^' and part[2:].isdigit():
- ret.append((part, '1'))
- elif part[:3] == '-2^' and part[3:].isdigit():
- ret.append((part[1:], '-1'))
- elif len(part.split('*')) == 2:
- a, b = part.split("*")
- if "^" not in b:
- ret.append((part, '1'))
- else:
- assert(b.replace(' ', '')[:2] == '2^')
- ret.append((a.strip(), b.strip()))
- else:
- raw_input('Unhandled part: %s' % part)
- ret = None
- break
- if ret is not None:
- return list(reversed(ret))
- # XXX FIXME: Is this the right way to extract c?
- return [('1', rest)]
-
-def parse_base(base):
- ret = 0
- for term in base.split('+'):
- term = term.strip()
- if term.isdigit():
- ret += int(term)
- elif '.' in term and '/' not in term:
- ret += float(term)
- elif '/' in term and '.' not in term:
- ret += Fraction(term)
- else:
- raw_input('Unhandled: %s' % term)
- assert(False)
- return ret
-
-def negate_numexpr(expr):
- remap = dict([(d, d) for d in '0123456789^* '] + [('-', '+'), ('+', '-')])
- return ''.join(remap[ch] for ch in expr)
-
-def usage(exitcode=0, errmsg=None):
- print('USAGE: %s [-f|--force] PARAMETERS.json OUTPUT_FOLDER' % sys.argv[0])
- if errmsg is not None:
- print(errmsg)
- sys.exit(exitcode)
-
-def get_file_root(folder=os.path.dirname(__file__), filename='Makefile'):
- dir_path = os.path.realpath(folder)
- while not os.path.isfile(os.path.join(dir_path, filename)) and dir_path != '/':
- dir_path = os.path.realpath(os.path.join(dir_path, '..'))
- if not os.path.isfile(os.path.join(dir_path, filename)):
- print('ERROR: Could not find Makefile in the root of %s' % folder)
- raise Exception
- return dir_path
-
-def repeat_until_unchanged(update, arg):
- changed = True
- while changed:
- last = repr(arg)
- arg = update(arg)
- changed = (repr(arg) != last)
- return arg
-
-def format_c_code(header, code, numargs, sz, indent=' ', closing_indent=' '):
- if closing_indent is None: closing_indent = indent
- if code is None or code.strip() == '':
- return 'None'
- ARGS = 'abcdefghijklmnopqrstuvwxyz'
- assert(numargs <= len(ARGS))
- if header is None:
- header = ''
- else:
- header = '\n%s%s' % (indent, header)
- ret = 'Some (fun %s =>%s' % (' '.join(ARGS[:numargs]), header)
- input_map = {}
- lines = [line for line in code.strip().split(';')]
- lines = [line.replace('do {', '') for line in lines]
- lines = [re.sub(r'\(u?int[0-9]+_t\) ', '', line) for line in lines]
- lines = [re.sub(r'\(limb\) ', '', line) for line in lines]
- lines = [re.sub(r'\(s32\) ', '', line) for line in lines]
- lines = [repeat_until_unchanged((lambda line: re.sub(r'\(([A-Za-z0-9_]+)\)', r'\1', line)),
- line)
- for line in lines]
- lines = [repeat_until_unchanged((lambda line: re.sub(r'\(([A-Za-z0-9_]+\[[0-9]+\])\)', r'\1', line)),
- line)
- for line in lines]
- out_match = re.match(r'^\s*u?int[0-9]+_t ([A-Za-z_][A-Za-z_0-9]*)\[([0-9]+)\]$', lines[0])
- if out_match is not None:
- out_var, out_count = out_match.groups()
- assert(int(out_count) == sz)
- else:
- assert('output[' in ';\n'.join(lines))
- out_var = 'output'
- ret_code = []
- do_fix = (lambda line: re.sub(r'([A-Za-z_][A-Za-z0-9_]*)\[([0-9]+)\]', r'\1\2', line))
- for line in lines:
- out_match = re.match(r'^\s*u?int[0-9]+_t [A-Za-z_0-9]+\[[0-9]+\]$', line)
- limb_match = re.match(r'^\s*limb [a-zA-Z0-9, ]+$', line)
- in_match = re.match(r'^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=\s*in([0-9]*)\[([0-9]+)\]$', line)
- fixed_line = do_fix(line)
- normal_match = re.match(r'^(\s*)([A-Za-z_][A-Za-z0-9_]*)(\s*)=(\s*)([A-Za-z_0-9\(\)\s<>*+-]+)$', fixed_line)
- upd_match = re.match(r'^(\s*)([A-Za-z_][A-Za-z0-9_]*)(\s*)([*+])=(\s*)([A-Za-z_0-9\(\)\s<>*+-]+)$', fixed_line)
- if line == '':
- ret_code.append(line)
- elif out_match or limb_match: pass
- elif in_match:
- var, in_num, idx = in_match.groups()
- if in_num == '':
- assert('in1[' not in code)
- in_num = '1'
- in_num = int(in_num) - 1
- idx = int(idx)
- input_map[in_num] = input_map.get(in_num, {})
- input_map[in_num][idx] = var
- elif normal_match:
- s0, var, s1, s2, val = normal_match.groups()
- ret_code.append('%sdlet %s%s:=%s%s in' % (s0, var, s1, s2, val))
- elif upd_match:
- s0, var, s1, op, s2, val = upd_match.groups()
- ret_code.append('%sdlet %s%s:=%s%s %s %s in' % (s0, var, s1, s2, var, op, val))
- else:
- print('Unhandled line:')
- raw_input(line)
- ret_code = ' '.join(ret_code).strip().split('\n')
- ret_code = [((indent + i.strip(' \n')) if i.strip()[:len('dlet ')] == 'dlet '
- else (indent + ' ' + i.rstrip(' \n'))).rstrip()
- for i in ret_code]
- main_code = '\n'.join(ret_code)
- arg_code = []
- for in_count in sorted(input_map.keys()):
- arg_code.append("%slet '(%s) := %s in"
- % (indent,
- ', '.join(v for k, v in sorted(input_map[in_count].items(), reverse=True)),
- ARGS[in_count]))
- if len(input_map.keys()) == 0:
- for in_count in range(numargs):
- in_str = str(in_count + 1)
- if in_count == 0: in_str = ''
- arg_code.append("%slet '(%s) := %s in"
- % (indent,
- ', '.join(do_fix('in%s[%d]' % (in_str, v)) for v in reversed(range(sz))),
- ARGS[in_count]))
- ret += '\n%s\n' % '\n'.join(arg_code)
- ret += main_code
- ret += '\n%s(%s)' % (indent, ', '.join(do_fix('%s[%d]' % (out_var, i)) for i in reversed(range(sz))))
- ret += '\n%s)' % closing_indent
- return ret
-
-def nested_list_to_string(v):
- if isinstance(v, bool):
- return {True:'true', False:'false'}[v]
- elif isinstance(v, str) or isinstance(v, int) or isinstance(v, unicode):
- return str(v)
- elif isinstance(v, list):
- return '[%s]' % '; '.join(map(nested_list_to_string, v))
- elif isinstance(v, tuple):
- return '(%s)' % ', '.join(map(nested_list_to_string, v))
- else:
- print('ERROR: Invalid type in nested_list_to_string: %s' % str(type(v)))
- assert(False)
-
-def as_bool(v):
- if isinstance(v, str) or isinstance(v, unicode): return {'true':True, 'false':False}[v]
- if isinstance(v, bool): return v
- raise Exception('Not a bool: %s' % repr(v))
-
-def make_curve_parameters(parameters):
- def fix_option(term, scope_string=''):
- if not isinstance(term, str) and not isinstance(term, unicode):
- return term
- if term[:len('Some ')] != 'Some ' and term != 'None':
- if ' ' in term and (term[0] + term[-1]) not in ('()', '[]'):
- return 'Some (%s)%s' % (term, scope_string)
- return 'Some %s%s' % (term, scope_string)
- return term
- replacements = dict(parameters)
- assert(all(ch in '0123456789^+-* ' for ch in parameters['modulus']))
- modulus = eval(parameters['modulus'].replace('^', '**'))
- base = parse_base(parameters['base'])
- replacements['reformatted_base'] = reformat_base(parameters['base'])
- replacements['bitwidth'] = parameters.get('bitwidth', str(compute_bitwidth(base)))
- bitwidth = int(replacements['bitwidth'])
- replacements['sz'] = parameters.get('sz', str(compute_sz(modulus, base)))
- sz = int(replacements['sz'])
- replacements['a24'] = fix_option(parameters.get('a24', 'None'))
- replacements['carry_chains'] = fix_option(parameters.get('carry_chains', 'None'))
- if isinstance(replacements['carry_chains'], list):
- defaults = default_carry_chains(replacements['sz'])
- replacements['carry_chains'] \
- = ('Some %s%%nat'
- % nested_list_to_string([(v if v != 'default' else defaults[i])
- for i, v in enumerate(replacements['carry_chains'])]))
- elif replacements['carry_chains'] in ('default', 'Some default'):
- replacements['carry_chains'] = 'Some %s%%nat' % nested_list_to_string(default_carry_chains(replacements['sz']))
- replacements['s'] = parameters.get('s', compute_s(parameters['modulus']))
- replacements['c'] = parameters.get('c', compute_c(parameters['modulus']))
- for op, nargs in (('mul', 2), ('square', 1)):
- replacements[op] = format_c_code(parameters.get(op + '_header', None),
- parameters.get(op + '_code', None),
- nargs,
- sz)
- replacements['coef_div_modulus_raw'] = replacements.get('coef_div_modulus', '0')
- replacements['freeze'] = fix_option(nested_list_to_string(replacements.get('freeze', 'freeze' in parameters.get('operations', []))))
- replacements['ladderstep'] = nested_list_to_string(replacements.get('ladderstep', any(f in parameters.get('operations', []) for f in ('ladderstep', 'xzladderstep'))))
- for k, scope_string in (('upper_bound_of_exponent_loose', ''),
- ('upper_bound_of_exponent_tight', ''),
- ('allowable_bit_widths', '%nat'),
- ('freeze_extra_allowable_bit_widths', '%nat'),
- ('coef_div_modulus', '%nat'),
- ('modinv_fuel', '%nat'),
- ('karatsuba', ''),
- ('goldilocks', '')):
- replacements[k] = fix_option(nested_list_to_string(replacements.get(k, 'None')), scope_string=scope_string)
- for k in ('montgomery', ):
- if k not in replacements.keys():
- replacements[k] = False
- for k in ('s', 'c', 'karatsuba', 'goldilocks', 'montgomery'):
- replacements[k] = nested_list_to_string(replacements[k])
- for k in ('extra_prove_mul_eq', 'extra_prove_square_eq'):
- if k not in replacements.keys():
- replacements[k] = 'idtac'
- ret = r"""Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : %(modulus)s
-Base: %(base)s
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := %(sz)s%%nat;
- base := %(reformatted_base)s;
- bitwidth := %(bitwidth)s;
- s := %(s)s;
- c := %(c)s;
- carry_chains := %(carry_chains)s;
-
- a24 := %(a24)s;
- coef_div_modulus := %(coef_div_modulus)s;
-
- goldilocks := %(goldilocks)s;
- karatsuba := %(karatsuba)s;
- montgomery := %(montgomery)s;
- freeze := %(freeze)s;
- ladderstep := %(ladderstep)s;
-
- mul_code := %(mul)s;
-
- square_code := %(square)s;
-
- upper_bound_of_exponent_loose := %(upper_bound_of_exponent_loose)s;
- upper_bound_of_exponent_tight := %(upper_bound_of_exponent_tight)s;
- allowable_bit_widths := %(allowable_bit_widths)s;
- freeze_extra_allowable_bit_widths := %(freeze_extra_allowable_bit_widths)s;
- modinv_fuel := %(modinv_fuel)s
- |}.
-
-Ltac extra_prove_mul_eq _ := %(extra_prove_mul_eq)s.
-Ltac extra_prove_square_eq _ := %(extra_prove_square_eq)s.
-""" % replacements
- return ret
-
-def make_synthesis(prefix):
- return r"""Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import %s.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.
-""" % prefix
-
-def make_synthesized_arg(fearg, prefix, montgomery=False):
- def make_from_arg(arg, nargs, phi_arg_postfix='', phi_output_postfix='', prefix=prefix):
- LETTERS = 'abcdefghijklmnopqrstuvwxyz'
- assert(nargs <= len(LETTERS))
- arg_names = ' '.join(LETTERS[:nargs])
- if not montgomery:
- arg_types = ' -> '.join(['feBW%s' % phi_arg_postfix] * nargs)
- mapped_args = ' '.join('(phiBW%s %s)' % (phi_arg_postfix, l)
- for l in LETTERS[:nargs])
- feBW_output = 'feBW' + phi_output_postfix
- phi_output = 'phiBW' + phi_output_postfix
- else:
- arg_types = ' -> '.join(['feBW_small'] * nargs)
- mapped_args = ' '.join('(phiM_small %s)' % l
- for l in LETTERS[:nargs])
- feBW_output = 'feBW_small'
- phi_output = 'phiM_small'
- return locals()
- GEN_PREARG = r"""Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import %(prefix)s.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition %(arg)s :
- { %(arg)s : %(arg_types)s -> %(feBW_output)s
- | forall %(arg_names)s, %(phi_output)s (%(arg)s %(arg_names)s) = """
- GEN_MIDARG = "F.%(arg)s %(mapped_args)s"
- SQUARE_MIDARG = "F.mul %(mapped_args)s %(mapped_args)s"
- CARRY_MIDARG = "%(mapped_args)s"
- GEN_POSTARG = r""" }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_%(arg)s ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions %(arg)s.
-"""
- GEN_ARG = GEN_PREARG + GEN_MIDARG + GEN_POSTARG
- SQUARE_ARG = GEN_PREARG + SQUARE_MIDARG + GEN_POSTARG
- CARRY_ARG = GEN_PREARG + CARRY_MIDARG + GEN_POSTARG
- nargs_map = {'mul':2, 'sub':2, 'add':2, 'square':1, 'opp':1, 'carry':1}
- special_args = {'fecarry':CARRY_ARG, 'fecarry_square':SQUARE_ARG, 'fesquare':SQUARE_ARG}
- if fearg in ('fecarry_mul', 'fecarry_sub', 'fecarry_add', 'fecarry_square', 'fecarry_opp'):
- nargs = nargs_map[fearg.split('_')[-1]]
- ARG = special_args.get(fearg, GEN_ARG)
- return ARG % make_from_arg(fearg[2:], nargs=nargs, phi_arg_postfix='_tight', phi_output_postfix='_tight')
- elif fearg in ('femul', 'fesquare', 'fecarry'):
- ARG = special_args.get(fearg, GEN_ARG)
- nargs = nargs_map[fearg[2:]]
- return ARG % make_from_arg(fearg[2:], nargs=nargs, phi_arg_postfix='_loose', phi_output_postfix='_tight')
- if fearg in ('fesub', 'feadd', 'feopp'):
- nargs = nargs_map[fearg[2:]]
- return GEN_ARG % make_from_arg(fearg[2:], nargs=nargs, phi_arg_postfix='_tight', phi_output_postfix='_loose')
- elif fearg in ('freeze',):
- return r"""Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import %(prefix)s.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.
-""" % {'prefix':prefix}
- elif fearg in ('fenz',):
- assert(fearg == 'fenz')
- assert(montgomery)
- full_arg = 'nonzero'
- return r"""Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import %(prefix)s.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition %(full_arg)s :
- { %(full_arg)s : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (%(full_arg)s a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_%(full_arg)s ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions %(full_arg)s.
-""" % {'prefix':prefix, 'full_arg':full_arg}
- elif fearg in ('ladderstep', 'xzladderstep'):
- return r"""Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.Ladderstep.
-Require Import %(prefix)s.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition xzladderstep :
- { xzladderstep : feW -> feW * feW -> feW * feW -> feW * feW * (feW * feW)
- | forall x1 Q Q',
- let xz := xzladderstep x1 Q Q' in
- let eval := B.Positional.Fdecode wt in
- feW_tight_bounded x1
- -> feW_tight_bounded (fst Q) /\ feW_tight_bounded (snd Q)
- -> feW_tight_bounded (fst Q') /\ feW_tight_bounded (snd Q')
- -> ((feW_tight_bounded (fst (fst xz)) /\ feW_tight_bounded (snd (fst xz)))
- /\ (feW_tight_bounded (fst (snd xz)) /\ feW_tight_bounded (snd (snd xz))))
- /\ Tuple.map (n:=2) (Tuple.map (n:=2) phiW) xz = FMxzladderstep (m:=m) (eval (proj1_sig a24_sig)) (phiW x1) (Tuple.map (n:=2) phiW Q) (Tuple.map (n:=2) phiW Q') }.
-Proof.
- Set Ltac Profiling.
- synthesize_xzladderstep ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions xzladderstep.
-""" % {'prefix':prefix}
- else:
- print('ERROR: Unsupported operation: %s' % fearg)
- raise ArgumentError
-
-
-def make_display_arg(fearg, prefix):
- file_name = fearg
- function_name = fearg
- if fearg in ('femul', 'fesub', 'feadd', 'fesquare', 'feopp', 'fecarry',
- 'fecarry_mul', 'fecarry_sub', 'fecarry_add', 'fecarry_square', 'fecarry_opp'):
- function_name = fearg[2:]
- elif fearg in ('freeze', 'xzladderstep'):
- pass
- elif fearg in ('fenz',):
- function_name = 'nonzero'
- elif fearg in ('ladderstep', ):
- function_name = 'xzladderstep'
- else:
- print('ERROR: Unsupported operation: %s' % fearg)
- raise ArgumentError
- return r"""Require Import %(prefix)s.%(file_name)s.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display %(function_name)s.
-""" % locals()
-
-def make_compiler(compiler):
- return r"""#!/bin/sh
-set -eu
-
-%s "$@"
-""" % compiler
-
-def make_py_interpreter(parameters):
- q = repr(str(parameters['modulus'])).replace('^', '**')
- modulus_bytes = repr(str(parameters['base']))
- a24 = repr(str(parameters.get('a24', DEFAULT_A24_FOR_BENCH)))
- return r"""#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq=%(q)s -Dmodulus_bytes=%(modulus_bytes)s -Da24=%(a24)s
-""" % locals()
-
-
-DONT_EDIT_STR = 'WARNING: This file was copied from %s.\n If you edit it here, changes will be erased the next time remake_curves.sh is run.'
-DONT_EDIT_HEADERS = {
- '.c' : '/* ' + DONT_EDIT_STR + ' */',
- '.h' : '/* ' + DONT_EDIT_STR + ' */',
- '.v' : '(* ' + DONT_EDIT_STR + ' *)',
- '.ml' : '(* ' + DONT_EDIT_STR + ' *)',
- '.ml4' : '(* ' + DONT_EDIT_STR + ' *)',
- '.py' : '# ' + DONT_EDIT_STR.replace('\n', '\n# '),
-}
-
-
-
-def main(*args):
- if '--help' in args[1:] or '-h' in args[1:]: usage(0)
- force = any(f in args[1:] for f in ('-f', '--force'))
- args = [args[0]] + [arg for arg in args[1:] if arg not in ('-f', '--force')]
- if len(args) != 3: usage(1, errmsg='Error: Invalid number of arguments %d (%s)' % (len(args), ' '.join(args)))
- with open(args[1], 'r') as f:
- parameters = f.read()
- output_folder = os.path.realpath(args[2])
- parameters_folder = os.path.dirname(os.path.realpath(args[1]))
- parameters = json.loads(parameters, strict=False)
- root = get_file_root(folder=output_folder)
- output_prefix = 'Crypto.' + os.path.normpath(os.path.relpath(output_folder, os.path.join(root, 'src'))).replace(os.sep, '.')
- outputs = {}
- outputs['CurveParameters.v'] = make_curve_parameters(parameters)
- outputs['Synthesis.v'] = make_synthesis(output_prefix)
- for arg in parameters['operations']:
- outputs[arg + '.v'] = make_synthesized_arg(arg, output_prefix, montgomery=as_bool(parameters.get('montgomery', 'false')))
- outputs[arg + 'Display.v'] = make_display_arg(arg, output_prefix)
- for fname in parameters.get('extra_files', []):
- _, ext = os.path.splitext(fname)
- header = ''
- if ext in DONT_EDIT_HEADERS.keys():
- header = DONT_EDIT_HEADERS[ext] % os.path.relpath(fname, os.path.join(root, 'src'))
- outputs[os.path.basename(fname)] = header + '\n' + open(os.path.join(parameters_folder, fname), 'r').read()
- if 'compiler' in parameters.keys():
- outputs['compiler.sh'] = make_compiler(parameters['compiler'])
- if 'compilerxx' in parameters.keys():
- outputs['compilerxx.sh'] = make_compiler(parameters['compilerxx'])
- outputs['py_interpreter.sh'] = make_py_interpreter(parameters)
- file_list = tuple((k, os.path.join(output_folder, k)) for k in sorted(outputs.keys()))
- if not force:
- extant_files = [os.path.relpath(fname, os.getcwd())
- for k, fname in file_list
- if os.path.isfile(fname) and open(fname, 'r').read() != outputs[k]]
- if len(extant_files) > 0:
- print('ERROR: The files %s already exist; pass --force to overwrite them' % ', '.join(extant_files))
- sys.exit(1)
- if not os.path.isdir(output_folder):
- os.makedirs(output_folder)
- new_files = []
- for k, fname in file_list:
- if os.path.isfile(fname):
- if open(fname, 'r').read() == outputs[k]:
- continue
- new_files.append(fname)
- with io.open(fname, 'w', newline='\n') as f:
- f.write(unicode(outputs[k]))
- if any(fname.endswith(name) for name in ('compiler.sh', 'compilerxx.sh', 'py_interpreter.sh')):
- mode = os.fstat(f.fileno()).st_mode
- mode |= 0o111
- mode &= 0o7777
- if 'fchmod' in os.__dict__.keys():
- os.fchmod(f.fileno(), mode)
- else:
- os.chmod(f.name, mode)
- if len(new_files) > 0:
- print('git add ' + ' '.join('"%s"' % i for i in new_files))
-
-if __name__ == '__main__':
- main(*sys.argv)
diff --git a/src/Specific/IntegrationTestSquareDisplayHandPostLinearizedCSE.log b/src/Specific/IntegrationTestSquareDisplayHandPostLinearizedCSE.log
deleted file mode 100644
index ea1954c7c..000000000
--- a/src/Specific/IntegrationTestSquareDisplayHandPostLinearizedCSE.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (uint128_t) x2 * (uint128_t) x7;
- uint128_t x10 = (uint128_t) x4 * (uint128_t) x8;
- uint128_t x11 = (uint128_t) x6 * (uint128_t) x6;
- uint128_t x14 = x10 + x9;
- uint128_t x15 = x11 + x14;
- uint128_t x16 = x10 + x15;
- uint128_t x17 = x9 + x16;
- uint128_t x18 = (uint128_t) x2 * (uint128_t) x8;
- uint128_t x19 = (uint128_t) x4 * (uint128_t) x6;
- uint128_t x22 = x19 + x18;
- uint128_t x23 = x19 + x22;
- uint128_t x24 = x18 + x23;
- uint128_t x25 = (uint128_t) x7 * (uint128_t) x7;
- uint128_t x26 = (uint128_t) 0x13 * x25;
- uint128_t x27 = x24 + x26;
- uint128_t x28 = (uint128_t) x2 * (uint128_t) x6;
- uint128_t x29 = (uint128_t) x4 * (uint128_t) x4;
- uint128_t x31 = x29 + x28;
- uint128_t x32 = x28 + x31;
- uint128_t x33 = (uint128_t) x8 * (uint128_t) x7;
- uint128_t x35 = x33 + x33;
- uint128_t x36 = (uint128_t) 0x13 * x35;
- uint128_t x37 = x32 + x36;
- uint128_t x38 = (uint128_t) x2 * (uint128_t) x4;
- uint128_t x40 = x38 + x38;
- uint128_t x41 = (uint128_t) x6 * (uint128_t) x7;
- uint128_t x42 = (uint128_t) x8 * (uint128_t) x8;
- uint128_t x44 = x42 + x41;
- uint128_t x45 = x41 + x44;
- uint128_t x46 = (uint128_t) 0x13 * x45;
- uint128_t x47 = x40 + x46;
- uint128_t x48 = (uint128_t) x2 * (uint128_t) x2;
- uint128_t x49 = (uint128_t) x4 * (uint128_t) x7;
- uint128_t x50 = (uint128_t) x6 * (uint128_t) x8;
- uint128_t x53 = x50 + x49;
- uint128_t x54 = x50 + x53;
- uint128_t x55 = x49 + x54;
- uint128_t x56 = (uint128_t) 0x13 * x55;
- uint128_t x57 = x48 + x56;
- uint64_t x58 = (uint64_t) (x57 >> 0x33);
- uint128_t x59 = (uint128_t) x58 + x47;
- uint64_t x60 = (uint64_t) (x59 >> 0x33);
- uint128_t x61 = (uint128_t) x60 + x37;
- uint64_t x62 = (uint64_t) (x61 >> 0x33);
- uint128_t x63 = (uint128_t) x62 + x27;
- uint64_t x64 = (uint64_t) (x63 >> 0x33);
- uint128_t x65 = (uint128_t) x64 + x17;
- uint64_t x66 = (uint64_t) x57 & 0x7ffffffffffff;
- uint64_t x67 = (uint64_t) (x65 >> 0x33);
- uint64_t x68 = 0x13 * x67;
- uint64_t x69 = x66 + x68;
- uint64_t x70 = (uint64_t) (x69 >> 0x33);
- uint64_t x71 = (uint64_t) x59 & 0x7ffffffffffff;
- uint64_t x72 = x70 + x71;
- uint64_t x73 = (uint64_t) x65 & 0x7ffffffffffff;
- uint64_t x74 = (uint64_t) x63 & 0x7ffffffffffff;
- uint64_t x75 = (uint64_t) (x72 >> 0x33);
- uint64_t x76 = (uint64_t) x61 & 0x7ffffffffffff;
- uint64_t x77 = x75 + x76;
- uint64_t x78 = x72 & 0x7ffffffffffff;
- uint64_t x79 = x69 & 0x7ffffffffffff;
- (Return x73, Return x74, Return x77, Return x78, Return x79))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/NISTP256/AMD128/CurveParameters.v b/src/Specific/NISTP256/AMD128/CurveParameters.v
deleted file mode 100644
index f994c8a6d..000000000
--- a/src/Specific/NISTP256/AMD128/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256-2^224+2^192+2^96-1
-Base: 128
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 2%nat;
- base := 128;
- bitwidth := 128;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/NISTP256/AMD128/Synthesis.v b/src/Specific/NISTP256/AMD128/Synthesis.v
deleted file mode 100644
index 4dffed20b..000000000
--- a/src/Specific/NISTP256/AMD128/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.NISTP256.AMD128.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/NISTP256/AMD128/compiler.sh b/src/Specific/NISTP256/AMD128/compiler.sh
deleted file mode 100644
index 73e1a78e0..000000000
--- a/src/Specific/NISTP256/AMD128/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing "$@"
diff --git a/src/Specific/NISTP256/AMD128/feadd.v b/src/Specific/NISTP256/AMD128/feadd.v
deleted file mode 100644
index 5ee329e4e..000000000
--- a/src/Specific/NISTP256/AMD128/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD128.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/NISTP256/AMD128/feaddDisplay.log b/src/Specific/NISTP256/AMD128/feaddDisplay.log
deleted file mode 100644
index 89d8839bf..000000000
--- a/src/Specific/NISTP256/AMD128/feaddDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x x0 : word128 * word128,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x4, x5, (x6, x7))%core,
- uint128_t x9, uint8_t x10 = addcarryx_u128(0x0, x5, x7);
- uint128_t x12, uint8_t x13 = addcarryx_u128(x10, x4, x6);
- uint128_t x15, uint8_t x16 = subborrow_u128(0x0, x9, 0xffffffffffffffffffffffffL);
- uint128_t x18, uint8_t x19 = subborrow_u128(x16, x12, 0xffffffff000000010000000000000000L);
- uint128_t _, uint8_t x22 = subborrow_u128(x19, x13, 0x0);
- uint128_t x23 = cmovznz128(x22, x18, x12);
- uint128_t x24 = cmovznz128(x22, x15, x9);
- return (x23, x24))
-(x, x0)%core
- : word128 * word128 → word128 * word128 → ReturnType (uint128_t * uint128_t)
diff --git a/src/Specific/NISTP256/AMD128/feaddDisplay.v b/src/Specific/NISTP256/AMD128/feaddDisplay.v
deleted file mode 100644
index cde97baed..000000000
--- a/src/Specific/NISTP256/AMD128/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD128.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/NISTP256/AMD128/femul.v b/src/Specific/NISTP256/AMD128/femul.v
deleted file mode 100644
index 7c2ecbec1..000000000
--- a/src/Specific/NISTP256/AMD128/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD128.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/NISTP256/AMD128/femulDisplay.log b/src/Specific/NISTP256/AMD128/femulDisplay.log
deleted file mode 100644
index 96bc3e200..000000000
--- a/src/Specific/NISTP256/AMD128/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word128 * word128,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x4, x5, (x6, x7))%core,
- uint128_t x9, uint128_t x10 = mulx_u128(x5, x7);
- uint128_t x12, uint128_t x13 = mulx_u128(x5, x6);
- uint128_t x15, uint8_t x16 = addcarryx_u128(0x0, x10, x12);
- uint128_t x18, uint8_t _ = addcarryx_u128(0x0, x16, x13);
- uint128_t x21, uint128_t _ = mulx_u128(x9, 0x1000000000000000000000001L);
- uint128_t x24, uint128_t x25 = mulx_u128(x21, 0xffffffffffffffffffffffffL);
- uint128_t x27, uint128_t x28 = mulx_u128(x21, 0xffffffff000000010000000000000000L);
- uint128_t x30, uint8_t x31 = addcarryx_u128(0x0, x25, x27);
- uint128_t x33, uint8_t _ = addcarryx_u128(0x0, x31, x28);
- uint128_t _, uint8_t x37 = addcarryx_u128(0x0, x9, x24);
- uint128_t x39, uint8_t x40 = addcarryx_u128(x37, x15, x30);
- uint128_t x42, uint8_t x43 = addcarryx_u128(x40, x18, x33);
- uint128_t x45, uint128_t x46 = mulx_u128(x4, x7);
- uint128_t x48, uint128_t x49 = mulx_u128(x4, x6);
- uint128_t x51, uint8_t x52 = addcarryx_u128(0x0, x46, x48);
- uint128_t x54, uint8_t _ = addcarryx_u128(0x0, x52, x49);
- uint128_t x57, uint8_t x58 = addcarryx_u128(0x0, x39, x45);
- uint128_t x60, uint8_t x61 = addcarryx_u128(x58, x42, x51);
- uint128_t x63, uint8_t x64 = addcarryx_u128(x61, x43, x54);
- uint128_t x66, uint128_t _ = mulx_u128(x57, 0x1000000000000000000000001L);
- uint128_t x69, uint128_t x70 = mulx_u128(x66, 0xffffffffffffffffffffffffL);
- uint128_t x72, uint128_t x73 = mulx_u128(x66, 0xffffffff000000010000000000000000L);
- uint128_t x75, uint8_t x76 = addcarryx_u128(0x0, x70, x72);
- uint128_t x78, uint8_t _ = addcarryx_u128(0x0, x76, x73);
- uint128_t _, uint8_t x82 = addcarryx_u128(0x0, x57, x69);
- uint128_t x84, uint8_t x85 = addcarryx_u128(x82, x60, x75);
- uint128_t x87, uint8_t x88 = addcarryx_u128(x85, x63, x78);
- uint8_t x89 = (x88 + x64);
- uint128_t x91, uint8_t x92 = subborrow_u128(0x0, x84, 0xffffffffffffffffffffffffL);
- uint128_t x94, uint8_t x95 = subborrow_u128(x92, x87, 0xffffffff000000010000000000000000L);
- uint128_t _, uint8_t x98 = subborrow_u128(x95, x89, 0x0);
- uint128_t x99 = cmovznz128(x98, x94, x87);
- uint128_t x100 = cmovznz128(x98, x91, x84);
- return (x99, x100))
-(x, x0)%core
- : word128 * word128 → word128 * word128 → ReturnType (uint128_t * uint128_t)
diff --git a/src/Specific/NISTP256/AMD128/femulDisplay.v b/src/Specific/NISTP256/AMD128/femulDisplay.v
deleted file mode 100644
index 86a058019..000000000
--- a/src/Specific/NISTP256/AMD128/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD128.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/NISTP256/AMD128/fenz.v b/src/Specific/NISTP256/AMD128/fenz.v
deleted file mode 100644
index c1a91fa38..000000000
--- a/src/Specific/NISTP256/AMD128/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD128.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/NISTP256/AMD128/fenzDisplay.log b/src/Specific/NISTP256/AMD128/fenzDisplay.log
deleted file mode 100644
index 53c690df8..000000000
--- a/src/Specific/NISTP256/AMD128/fenzDisplay.log
+++ /dev/null
@@ -1,8 +0,0 @@
-λ x : word128 * word128,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x1, x2)%core,
- uint128_t x3 = (x2 | x1);
- return x3)
-x
- : word128 * word128 → ReturnType uint128_t
diff --git a/src/Specific/NISTP256/AMD128/fenzDisplay.v b/src/Specific/NISTP256/AMD128/fenzDisplay.v
deleted file mode 100644
index 18ff51330..000000000
--- a/src/Specific/NISTP256/AMD128/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD128.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/NISTP256/AMD128/feopp.v b/src/Specific/NISTP256/AMD128/feopp.v
deleted file mode 100644
index 682541e8c..000000000
--- a/src/Specific/NISTP256/AMD128/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD128.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/NISTP256/AMD128/feoppDisplay.log b/src/Specific/NISTP256/AMD128/feoppDisplay.log
deleted file mode 100644
index f3b1f606f..000000000
--- a/src/Specific/NISTP256/AMD128/feoppDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word128 * word128,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x1, x2)%core,
- uint128_t x4, uint8_t x5 = subborrow_u128(0x0, 0x0, x2);
- uint128_t x7, uint8_t x8 = subborrow_u128(x5, 0x0, x1);
- uint128_t x9 = cmovznz128(x8, 0x0, 0xffffffffffffffffffffffffffffffffL);
- uint128_t x10 = (x9 & 0xffffffffffffffffffffffffL);
- uint128_t x12, uint8_t x13 = addcarryx_u128(0x0, x4, x10);
- uint128_t x14 = (x9 & 0xffffffff000000010000000000000000L);
- uint128_t x16, uint8_t _ = addcarryx_u128(x13, x7, x14);
- (Return x16, Return x12))
-x
- : word128 * word128 → ReturnType (uint128_t * uint128_t)
diff --git a/src/Specific/NISTP256/AMD128/feoppDisplay.v b/src/Specific/NISTP256/AMD128/feoppDisplay.v
deleted file mode 100644
index 8c84f30d2..000000000
--- a/src/Specific/NISTP256/AMD128/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD128.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/NISTP256/AMD128/fesub.v b/src/Specific/NISTP256/AMD128/fesub.v
deleted file mode 100644
index f8a59ec86..000000000
--- a/src/Specific/NISTP256/AMD128/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD128.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/NISTP256/AMD128/fesubDisplay.log b/src/Specific/NISTP256/AMD128/fesubDisplay.log
deleted file mode 100644
index 5136e376d..000000000
--- a/src/Specific/NISTP256/AMD128/fesubDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x x0 : word128 * word128,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x4, x5, (x6, x7))%core,
- uint128_t x9, uint8_t x10 = subborrow_u128(0x0, x5, x7);
- uint128_t x12, uint8_t x13 = subborrow_u128(x10, x4, x6);
- uint128_t x14 = cmovznz128(x13, 0x0, 0xffffffffffffffffffffffffffffffffL);
- uint128_t x15 = (x14 & 0xffffffffffffffffffffffffL);
- uint128_t x17, uint8_t x18 = addcarryx_u128(0x0, x9, x15);
- uint128_t x19 = (x14 & 0xffffffff000000010000000000000000L);
- uint128_t x21, uint8_t _ = addcarryx_u128(x18, x12, x19);
- (Return x21, Return x17))
-(x, x0)%core
- : word128 * word128 → word128 * word128 → ReturnType (uint128_t * uint128_t)
diff --git a/src/Specific/NISTP256/AMD128/fesubDisplay.v b/src/Specific/NISTP256/AMD128/fesubDisplay.v
deleted file mode 100644
index 4e46b2272..000000000
--- a/src/Specific/NISTP256/AMD128/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD128.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/NISTP256/AMD128/py_interpreter.sh b/src/Specific/NISTP256/AMD128/py_interpreter.sh
deleted file mode 100755
index 9b7e3baaa..000000000
--- a/src/Specific/NISTP256/AMD128/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256-2**224+2**192+2**96-1' -Dmodulus_bytes='128' -Da24='121665'
diff --git a/src/Specific/NISTP256/AMD64/CurveParameters.v b/src/Specific/NISTP256/AMD64/CurveParameters.v
deleted file mode 100644
index 446f0cad8..000000000
--- a/src/Specific/NISTP256/AMD64/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256-2^224+2^192+2^96-1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/NISTP256/AMD64/Synthesis.v b/src/Specific/NISTP256/AMD64/Synthesis.v
deleted file mode 100644
index 5cd0686e1..000000000
--- a/src/Specific/NISTP256/AMD64/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.NISTP256.AMD64.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/NISTP256/AMD64/bench_madd.c b/src/Specific/NISTP256/AMD64/bench_madd.c
deleted file mode 100644
index f247a6670..000000000
--- a/src/Specific/NISTP256/AMD64/bench_madd.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdint.h>
-#include "p256.h"
-
-void bench_madd(unsigned char* buf) {
- uint64_t* r = (uint64_t*) buf;
- p256_jacobian_add_affine(r, r, r+12);
-}
diff --git a/src/Specific/NISTP256/AMD64/compiler.sh b/src/Specific/NISTP256/AMD64/compiler.sh
deleted file mode 100755
index 73e1a78e0..000000000
--- a/src/Specific/NISTP256/AMD64/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -fno-peephole2 `#GCC BUG 81300` -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -Wno-incompatible-pointer-types -fno-strict-aliasing "$@"
diff --git a/src/Specific/NISTP256/AMD64/feadd.v b/src/Specific/NISTP256/AMD64/feadd.v
deleted file mode 100644
index cc1154020..000000000
--- a/src/Specific/NISTP256/AMD64/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD64.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/NISTP256/AMD64/feaddDisplay.log b/src/Specific/NISTP256/AMD64/feaddDisplay.log
deleted file mode 100644
index 6b32e9e98..000000000
--- a/src/Specific/NISTP256/AMD64/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t/*bool*/ x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t/*bool*/ x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t/*bool*/ x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t/*bool*/ x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t/*bool*/ x30 = subborrow_u64(0x0, x17, 0xffffffffffffffffL);
- uint64_t x32, uint8_t/*bool*/ x33 = subborrow_u64(x30, x20, 0xffffffff);
- uint64_t x35, uint8_t/*bool*/ x36 = subborrow_u64(x33, x23, 0x0);
- uint64_t x38, uint8_t/*bool*/ x39 = subborrow_u64(x36, x26, 0xffffffff00000001L);
- uint64_t _, uint8_t/*bool*/ x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/NISTP256/AMD64/feaddDisplay.v b/src/Specific/NISTP256/AMD64/feaddDisplay.v
deleted file mode 100644
index b6e79f393..000000000
--- a/src/Specific/NISTP256/AMD64/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD64.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/NISTP256/AMD64/femul.v b/src/Specific/NISTP256/AMD64/femul.v
deleted file mode 100644
index 3c6dc4bd2..000000000
--- a/src/Specific/NISTP256/AMD64/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD64.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/NISTP256/AMD64/femulDisplay.log b/src/Specific/NISTP256/AMD64/femulDisplay.log
deleted file mode 100644
index 987babc73..000000000
--- a/src/Specific/NISTP256/AMD64/femulDisplay.log
+++ /dev/null
@@ -1,114 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t/*bool*/ x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t/*bool*/ x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t/*bool*/ x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t x42 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x17, 0xffffffff);
- uint64_t x47, uint64_t x48 = mulx_u64(x17, 0xffffffff00000001L);
- uint64_t x50, uint8_t/*bool*/ x51 = addcarryx_u64(0x0, x42, x44);
- uint64_t x53, uint8_t/*bool*/ x54 = addcarryx_u64(x51, x45, 0x0);
- uint64_t x56, uint8_t/*bool*/ x57 = addcarryx_u64(x54, 0x0, x47);
- uint64_t x59, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x57, x48);
- uint64_t _, uint8_t/*bool*/ x63 = addcarryx_u64(0x0, x17, x41);
- uint64_t x65, uint8_t/*bool*/ x66 = addcarryx_u64(x63, x29, x50);
- uint64_t x68, uint8_t/*bool*/ x69 = addcarryx_u64(x66, x32, x53);
- uint64_t x71, uint8_t/*bool*/ x72 = addcarryx_u64(x69, x35, x56);
- uint64_t x74, uint8_t/*bool*/ x75 = addcarryx_u64(x72, x38, x59);
- uint64_t x77, uint64_t x78 = mulx_u64(x7, x11);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x13);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x15);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x14);
- uint64_t x89, uint8_t/*bool*/ x90 = addcarryx_u64(0x0, x78, x80);
- uint64_t x92, uint8_t/*bool*/ x93 = addcarryx_u64(x90, x81, x83);
- uint64_t x95, uint8_t/*bool*/ x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x96, x87);
- uint64_t x101, uint8_t/*bool*/ x102 = addcarryx_u64(0x0, x65, x77);
- uint64_t x104, uint8_t/*bool*/ x105 = addcarryx_u64(x102, x68, x89);
- uint64_t x107, uint8_t/*bool*/ x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t/*bool*/ x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t/*bool*/ x114 = addcarryx_u64(x111, x75, x98);
- uint64_t x116, uint64_t x117 = mulx_u64(x101, 0xffffffffffffffffL);
- uint64_t x119, uint64_t x120 = mulx_u64(x101, 0xffffffff);
- uint64_t x122, uint64_t x123 = mulx_u64(x101, 0xffffffff00000001L);
- uint64_t x125, uint8_t/*bool*/ x126 = addcarryx_u64(0x0, x117, x119);
- uint64_t x128, uint8_t/*bool*/ x129 = addcarryx_u64(x126, x120, 0x0);
- uint64_t x131, uint8_t/*bool*/ x132 = addcarryx_u64(x129, 0x0, x122);
- uint64_t x134, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x132, x123);
- uint64_t _, uint8_t/*bool*/ x138 = addcarryx_u64(0x0, x101, x116);
- uint64_t x140, uint8_t/*bool*/ x141 = addcarryx_u64(x138, x104, x125);
- uint64_t x143, uint8_t/*bool*/ x144 = addcarryx_u64(x141, x107, x128);
- uint64_t x146, uint8_t/*bool*/ x147 = addcarryx_u64(x144, x110, x131);
- uint64_t x149, uint8_t/*bool*/ x150 = addcarryx_u64(x147, x113, x134);
- uint8_t x151 = ((uint8_t)x150 + x114);
- uint64_t x153, uint64_t x154 = mulx_u64(x9, x11);
- uint64_t x156, uint64_t x157 = mulx_u64(x9, x13);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x15);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x14);
- uint64_t x165, uint8_t/*bool*/ x166 = addcarryx_u64(0x0, x154, x156);
- uint64_t x168, uint8_t/*bool*/ x169 = addcarryx_u64(x166, x157, x159);
- uint64_t x171, uint8_t/*bool*/ x172 = addcarryx_u64(x169, x160, x162);
- uint64_t x174, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x172, x163);
- uint64_t x177, uint8_t/*bool*/ x178 = addcarryx_u64(0x0, x140, x153);
- uint64_t x180, uint8_t/*bool*/ x181 = addcarryx_u64(x178, x143, x165);
- uint64_t x183, uint8_t/*bool*/ x184 = addcarryx_u64(x181, x146, x168);
- uint64_t x186, uint8_t/*bool*/ x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t/*bool*/ x190 = addcarryx_u64(x187, x151, x174);
- uint64_t x192, uint64_t x193 = mulx_u64(x177, 0xffffffffffffffffL);
- uint64_t x195, uint64_t x196 = mulx_u64(x177, 0xffffffff);
- uint64_t x198, uint64_t x199 = mulx_u64(x177, 0xffffffff00000001L);
- uint64_t x201, uint8_t/*bool*/ x202 = addcarryx_u64(0x0, x193, x195);
- uint64_t x204, uint8_t/*bool*/ x205 = addcarryx_u64(x202, x196, 0x0);
- uint64_t x207, uint8_t/*bool*/ x208 = addcarryx_u64(x205, 0x0, x198);
- uint64_t x210, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x208, x199);
- uint64_t _, uint8_t/*bool*/ x214 = addcarryx_u64(0x0, x177, x192);
- uint64_t x216, uint8_t/*bool*/ x217 = addcarryx_u64(x214, x180, x201);
- uint64_t x219, uint8_t/*bool*/ x220 = addcarryx_u64(x217, x183, x204);
- uint64_t x222, uint8_t/*bool*/ x223 = addcarryx_u64(x220, x186, x207);
- uint64_t x225, uint8_t/*bool*/ x226 = addcarryx_u64(x223, x189, x210);
- uint8_t x227 = ((uint8_t)x226 + x190);
- uint64_t x229, uint64_t x230 = mulx_u64(x8, x11);
- uint64_t x232, uint64_t x233 = mulx_u64(x8, x13);
- uint64_t x235, uint64_t x236 = mulx_u64(x8, x15);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x14);
- uint64_t x241, uint8_t/*bool*/ x242 = addcarryx_u64(0x0, x230, x232);
- uint64_t x244, uint8_t/*bool*/ x245 = addcarryx_u64(x242, x233, x235);
- uint64_t x247, uint8_t/*bool*/ x248 = addcarryx_u64(x245, x236, x238);
- uint64_t x250, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x248, x239);
- uint64_t x253, uint8_t/*bool*/ x254 = addcarryx_u64(0x0, x216, x229);
- uint64_t x256, uint8_t/*bool*/ x257 = addcarryx_u64(x254, x219, x241);
- uint64_t x259, uint8_t/*bool*/ x260 = addcarryx_u64(x257, x222, x244);
- uint64_t x262, uint8_t/*bool*/ x263 = addcarryx_u64(x260, x225, x247);
- uint64_t x265, uint8_t/*bool*/ x266 = addcarryx_u64(x263, x227, x250);
- uint64_t x268, uint64_t x269 = mulx_u64(x253, 0xffffffffffffffffL);
- uint64_t x271, uint64_t x272 = mulx_u64(x253, 0xffffffff);
- uint64_t x274, uint64_t x275 = mulx_u64(x253, 0xffffffff00000001L);
- uint64_t x277, uint8_t/*bool*/ x278 = addcarryx_u64(0x0, x269, x271);
- uint64_t x280, uint8_t/*bool*/ x281 = addcarryx_u64(x278, x272, 0x0);
- uint64_t x283, uint8_t/*bool*/ x284 = addcarryx_u64(x281, 0x0, x274);
- uint64_t x286, uint8_t/*bool*/ _ = addcarryx_u64(0x0, x284, x275);
- uint64_t _, uint8_t/*bool*/ x290 = addcarryx_u64(0x0, x253, x268);
- uint64_t x292, uint8_t/*bool*/ x293 = addcarryx_u64(x290, x256, x277);
- uint64_t x295, uint8_t/*bool*/ x296 = addcarryx_u64(x293, x259, x280);
- uint64_t x298, uint8_t/*bool*/ x299 = addcarryx_u64(x296, x262, x283);
- uint64_t x301, uint8_t/*bool*/ x302 = addcarryx_u64(x299, x265, x286);
- uint8_t x303 = ((uint8_t)x302 + x266);
- uint64_t x305, uint8_t/*bool*/ x306 = subborrow_u64(0x0, x292, 0xffffffffffffffffL);
- uint64_t x308, uint8_t/*bool*/ x309 = subborrow_u64(x306, x295, 0xffffffff);
- uint64_t x311, uint8_t/*bool*/ x312 = subborrow_u64(x309, x298, 0x0);
- uint64_t x314, uint8_t/*bool*/ x315 = subborrow_u64(x312, x301, 0xffffffff00000001L);
- uint64_t _, uint8_t/*bool*/ x318 = subborrow_u64(x315, x303, 0x0);
- uint64_t x319 = cmovznz64(x318, x314, x301);
- uint64_t x320 = cmovznz64(x318, x311, x298);
- uint64_t x321 = cmovznz64(x318, x308, x295);
- uint64_t x322 = cmovznz64(x318, x305, x292);
- return (x319, x320, x321, x322))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/NISTP256/AMD64/femulDisplay.v b/src/Specific/NISTP256/AMD64/femulDisplay.v
deleted file mode 100644
index acde66b0e..000000000
--- a/src/Specific/NISTP256/AMD64/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD64.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/NISTP256/AMD64/fenz.v b/src/Specific/NISTP256/AMD64/fenz.v
deleted file mode 100644
index 8b61924a7..000000000
--- a/src/Specific/NISTP256/AMD64/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD64.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/NISTP256/AMD64/fenzDisplay.log b/src/Specific/NISTP256/AMD64/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/NISTP256/AMD64/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/NISTP256/AMD64/fenzDisplay.v b/src/Specific/NISTP256/AMD64/fenzDisplay.v
deleted file mode 100644
index 77c48f76f..000000000
--- a/src/Specific/NISTP256/AMD64/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD64.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/NISTP256/AMD64/feopp.v b/src/Specific/NISTP256/AMD64/feopp.v
deleted file mode 100644
index e5483c736..000000000
--- a/src/Specific/NISTP256/AMD64/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD64.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/NISTP256/AMD64/feoppDisplay.log b/src/Specific/NISTP256/AMD64/feoppDisplay.log
deleted file mode 100644
index fd14693ad..000000000
--- a/src/Specific/NISTP256/AMD64/feoppDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t/*bool*/ x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t/*bool*/ x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t/*bool*/ x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t/*bool*/ x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffffL);
- uint64_t x22, uint8_t/*bool*/ x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffff);
- uint64_t x26, uint8_t/*bool*/ x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x29, uint8_t/*bool*/ x30 = addcarryx_u64(x27, x14, 0x0);
- uint64_t x31 = (x19 & 0xffffffff00000001L);
- uint64_t x33, uint8_t/*bool*/ _ = addcarryx_u64(x30, x17, x31);
- (Return x33, Return x29, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/NISTP256/AMD64/feoppDisplay.v b/src/Specific/NISTP256/AMD64/feoppDisplay.v
deleted file mode 100644
index 7d2a65b6f..000000000
--- a/src/Specific/NISTP256/AMD64/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD64.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/NISTP256/AMD64/fesub.v b/src/Specific/NISTP256/AMD64/fesub.v
deleted file mode 100644
index 680bf71c8..000000000
--- a/src/Specific/NISTP256/AMD64/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.NISTP256.AMD64.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/NISTP256/AMD64/fesubDisplay.log b/src/Specific/NISTP256/AMD64/fesubDisplay.log
deleted file mode 100644
index 12dfeea9a..000000000
--- a/src/Specific/NISTP256/AMD64/fesubDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t/*bool*/ x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t/*bool*/ x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t/*bool*/ x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t/*bool*/ x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t/*bool*/ x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffff);
- uint64_t x35, uint8_t/*bool*/ x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x38, uint8_t/*bool*/ x39 = addcarryx_u64(x36, x23, 0x0);
- uint64_t x40 = (x28 & 0xffffffff00000001L);
- uint64_t x42, uint8_t/*bool*/ _ = addcarryx_u64(x39, x26, x40);
- (Return x42, Return x38, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/NISTP256/AMD64/fesubDisplay.v b/src/Specific/NISTP256/AMD64/fesubDisplay.v
deleted file mode 100644
index 01559b019..000000000
--- a/src/Specific/NISTP256/AMD64/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.NISTP256.AMD64.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/NISTP256/AMD64/icc/compiler.sh b/src/Specific/NISTP256/AMD64/icc/compiler.sh
deleted file mode 100755
index 3c4100dce..000000000
--- a/src/Specific/NISTP256/AMD64/icc/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing $@
diff --git a/src/Specific/NISTP256/AMD64/icc/compiler.txt b/src/Specific/NISTP256/AMD64/icc/compiler.txt
deleted file mode 100644
index 485a3da40..000000000
--- a/src/Specific/NISTP256/AMD64/icc/compiler.txt
+++ /dev/null
@@ -1 +0,0 @@
-icc -march=broadwell -mtune=broadwell -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -fno-strict-aliasing -ipo -masm=att
diff --git a/src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s b/src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s
deleted file mode 100644
index 9cc1dc48b..000000000
--- a/src/Specific/NISTP256/AMD64/icc/icc17_p256_jacobian_add_affine.s
+++ /dev/null
@@ -1,2952 +0,0 @@
-.section .text
-.globl p256_jacobian_add_affine
-.type p256_jacobian_add_affine, @function
-p256_jacobian_add_affine:
- pushq %r12 #197.3
- pushq %r13 #197.3
- pushq %r14 #197.3
- pushq %r15 #197.3
- pushq %rbx #197.3
- pushq %rbp #197.3
- subq $280, %rsp #197.3
- movq %rdx, 104(%rsp) #197.3[spill]
- pxor %xmm0, %xmm0 #206.20
- movq %rsi, 120(%rsp) #197.3[spill]
- movq %rdi, 112(%rsp) #197.3[spill]
- movups %xmm0, (%rsp) #206.20
- movups %xmm0, 16(%rsp) #206.20
- movq %rsi, %r11 #206.41
- movq $-1, %rsi #80.34
- xorl %edi, %edi #76.32
- movq $0x0ffffffff, %rdi #81.34
- vpxor %xmm0, %xmm0, %xmm0 #208.20
- movq 88(%r11), %r12 #206.62
- movq %r12, %rdx #72.34
- movq 80(%r11), %r13 #206.55
- movq 64(%r11), %r10 #206.41
- movq 72(%r11), %r9 #206.48
- mulx %r12, %r15, %r14 #72.34
- mulx %r13, %r11, %rax #73.34
- adcx %r11, %r14 #76.32
- mulx %r9, %rbx, %r8 #74.34
- adcx %rbx, %rax #77.32
- movq $0xffffffff00000001, %rbx #82.34
- mulx %r10, %rcx, %rbp #75.34
- movq %r15, %rdx #80.34
- adcx %rcx, %r8 #78.32
- movq %r9, 168(%rsp) #206.48[spill]
- movl $0, %r9d #76.32
- movq %r10, 88(%rsp) #206.41[spill]
- movl %r9d, %r11d #78.32
- movl %r9d, %r10d #79.30
- setb %r11b #78.32
- adox %r9d, %r10d #79.30
- adox %rbp, %r11 #79.30
- mulx %rsi, %rsi, %rbp #80.34
- clc #83.32
- mulx %rdi, %r10, %rcx #81.34
- adcx %r10, %rbp #83.32
- movl $0, %r10d #84.32
- mulx %rbx, %rbx, %rdi #82.34
- movl %r9d, %edx #86.30
- adcx %r10, %rcx #84.32
- movq %r13, 176(%rsp) #206.55[spill]
- adcx %r10, %rbx #85.32
- movl %r9d, %r10d #85.32
- movq %r12, 184(%rsp) #206.62[spill]
- setb %r10b #85.32
- adox %r9d, %edx #86.30
- movq %r13, %rdx #92.34
- adox %rdi, %r10 #86.30
- movl %r9d, %edi #86.30
- seto %dil #86.30
- clc #87.30
- adcx %rsi, %r15 #87.30
- adcx %rbp, %r14 #88.32
- adcx %rcx, %rax #89.32
- mulx %r13, %rcx, %r15 #93.34
- movl %r9d, %r13d #96.32
- adcx %rbx, %r8 #90.32
- mulx %r12, %rsi, %rbx #92.34
- adcx %r10, %r11 #91.32
- movl %r9d, %r10d #91.32
- mulx 168(%rsp), %rbp, %r12 #94.34[spill]
- setb %r10b #91.32
- adox %r9d, %r13d #96.32
- mulx 88(%rsp), %rdx, %rdi #95.34[spill]
- adox %rcx, %rbx #96.32
- movl %r9d, %ecx #98.32
- adox %rbp, %r15 #97.32
- movl %r9d, %ebp #100.34
- adox %rdx, %r12 #98.32
- seto %cl #98.32
- clc #99.30
- adcx %rdi, %rcx #99.30
- adox %r9d, %ebp #100.34
- movl %r9d, %edi #104.34
- adox %rsi, %r14 #100.34
- movq %r14, %rdx #105.36
- adox %rbx, %rax #101.34
- movq $0x0ffffffff, %rbx #106.36
- adox %r15, %r8 #102.34
- movq $0xffffffff00000001, %r15 #107.36
- adox %r12, %r11 #103.34
- movq $-1, %r12 #105.36
- mulx %r12, %rbp, %r13 #105.36
- movl $0, %r12d #109.34
- adox %rcx, %r10 #104.34
- mulx %rbx, %rsi, %rcx #106.36
- seto %dil #104.34
- clc #108.34
- adcx %rsi, %r13 #108.34
- mulx %r15, %rbx, %rsi #107.36
- movl %r9d, %r15d #110.34
- adcx %r12, %rcx #109.34
- movq 168(%rsp), %rdx #118.36[spill]
- adcx %r12, %rbx #110.34
- movl %r9d, %r12d #111.31
- setb %r15b #110.34
- adox %r9d, %r12d #111.31
- adox %rsi, %r15 #111.31
- clc #112.31
- movl %r9d, %esi #122.34
- adcx %rbp, %r14 #112.31
- movl %r9d, %r14d #116.34
- adcx %r13, %rax #113.34
- adcx %rcx, %r8 #114.34
- mulx 176(%rsp), %rcx, %r12 #119.36[spill]
- adcx %rbx, %r11 #115.34
- adcx %r15, %r10 #116.34
- mulx 184(%rsp), %r15, %r13 #118.36[spill]
- setb %r14b #116.34
- adox %r9d, %esi #122.34
- movl %r14d, 64(%rsp) #116.34[spill]
- movl %r9d, %esi #124.34
- adox %rcx, %r13 #122.34
- movl %r9d, %ecx #125.31
- mulx %rdx, %rbp, %r14 #120.36
- adox %rbp, %r12 #123.34
- movl %r9d, %ebp #126.34
- mulx 88(%rsp), %rdx, %rbx #121.36[spill]
- adox %rdx, %r14 #124.34
- seto %sil #124.34
- clc #125.31
- adcx %rbx, %rsi #125.31
- movl %r9d, %ebx #129.34
- setb %cl #125.31
- adox %r9d, %ebp #126.34
- adox %r15, %rax #126.34
- movq %rax, %rdx #131.36
- adox %r13, %r8 #127.34
- movq $0x0ffffffff, %r13 #132.36
- mulx %r13, %r13, %r15 #132.36
- adox %r12, %r11 #128.34
- movq $0xffffffff00000001, %r12 #133.36
- adox %r14, %r10 #129.34
- mulx %r12, %r12, %r14 #133.36
- seto %bl #129.34
- addl 64(%rsp), %edi #130.34[spill]
- cmpl %ebx, %r9d #130.34
- movl %r9d, %ebx #130.34
- adcx %rsi, %rdi #130.34
- movq $-1, %rsi #131.36
- mulx %rsi, %rbp, %rcx #131.36
- movl %r9d, %edx #134.34
- setb %bl #130.34
- adox %r9d, %edx #134.34
- movq 88(%rsp), %rdx #144.36[spill]
- adox %r13, %rcx #134.34
- movl $0, %r13d #135.34
- adox %r13, %r15 #135.34
- adox %r13, %r12 #136.34
- movl %r9d, %r13d #136.34
- seto %r13b #136.34
- clc #137.31
- adcx %r14, %r13 #137.31
- movl %r9d, %r14d #138.31
- adox %r9d, %r14d #138.31
- adox %rbp, %rax #138.31
- mulx 176(%rsp), %rax, %r14 #145.36[spill]
- adox %rcx, %r8 #139.34
- movl %r9d, %ecx #142.34
- adox %r15, %r11 #140.34
- adox %r12, %r10 #141.34
- adox %r13, %rdi #142.34
- mulx 184(%rsp), %r12, %r13 #144.36[spill]
- seto %cl #142.34
- clc #148.34
- adcx %rax, %r13 #148.34
- mulx 168(%rsp), %rax, %r15 #146.36[spill]
- adcx %rax, %r14 #149.34
- mulx %rdx, %rax, %rbp #147.36
- movl %r9d, %edx #151.31
- adcx %rax, %r15 #150.34
- movl %r9d, %eax #150.34
- setb %al #150.34
- adox %r9d, %edx #151.31
- adox %rbp, %rax #151.31
- clc #152.34
- adcx %r12, %r8 #152.34
- movq %r8, %rdx #157.36
- adcx %r13, %r11 #153.34
- adcx %r14, %r10 #154.34
- movq $0xffffffff00000001, %r14 #159.36
- adcx %r15, %rdi #155.34
- movl %r9d, %r15d #155.34
- setb %r15b #155.34
- xorl %ebp, %ebp #155.34
- addl %ecx, %ebx #156.34
- cmpl %r15d, %r9d #156.34
- movq $0x0ffffffff, %rcx #158.36
- mulx %rsi, %r15, %r13 #157.36
- adcx %rax, %rbx #156.34
- mulx %rcx, %rcx, %r12 #158.36
- mulx %r14, %r14, %rax #159.36
- movl %r9d, %edx #160.34
- setb %bpl #156.34
- adox %r9d, %edx #160.34
- movl %r9d, %edx #162.34
- adox %rcx, %r13 #160.34
- movl $0, %ecx #161.34
- adox %rcx, %r12 #161.34
- adox %rcx, %r14 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %rax, %rdx #163.31
- movl %r9d, %eax #164.31
- adox %r9d, %eax #164.31
- adox %r15, %r8 #164.31
- movl %r9d, %r8d #168.34
- adox %r13, %r11 #165.34
- adox %r12, %r10 #166.34
- movq %r10, %rax #171.34
- adox %r14, %rdi #167.34
- movq %rdi, %r14 #172.34
- adox %rdx, %rbx #168.34
- movq %r11, %rdx #170.34
- movq %rbx, %r13 #173.34
- seto %r8b #168.34
- xorl %r12d, %r12d #168.34
- addl %r8d, %ebp #174.31
- subq %rsi, %rdx #170.34
- movq $0x0ffffffff, %rsi #171.34
- movq $0xffffffff00000001, %r8 #173.34
- sbbq %rsi, %rax #171.34
- sbbq %rcx, %r14 #172.34
- sbbq %r8, %r13 #173.34
- setb %r12b #173.34
- cmpl %r12d, %r9d #174.31
- sbbq %rcx, %rbp #174.31
- setb %r9b #174.31
- testq %r9, %r9 #18.0
- cmovnz %rbx, %r13 #18.0
- movq %r13, 216(%rsp) #18.0[spill]
- testq %r9, %r9 #18.0
- cmovnz %rdi, %r14 #18.0
- movq %r14, 224(%rsp) #18.0[spill]
- testq %r9, %r9 #18.0
- cmovnz %r10, %rax #18.0
- testq %r9, %r9 #18.0
- cmovnz %r11, %rdx #18.0
- movq %r13, (%rsp) #206.37
- movq %r14, 8(%rsp) #206.37
- movq %rax, 16(%rsp) #206.37
- movq %rdx, 24(%rsp) #206.37
- vmovups %xmm0, 32(%rsp) #208.20
- vmovups %xmm0, 48(%rsp) #208.20
- movq 168(%rsp), %rcx #26.23[spill]
- orq 88(%rsp), %rcx #26.23[spill]
- orq 176(%rsp), %rcx #27.23[spill]
- orq 184(%rsp), %rcx #28.23[spill]
- movq %rcx, 96(%rsp) #28.23[spill]
- movq 104(%rsp), %rsi #208.66[spill]
- movq $-1, %r14 #80.34
- movq %rdx, 72(%rsp) #[spill]
- movq %rax, 64(%rsp) #[spill]
- vpxor %xmm0, %xmm0, %xmm0 #210.21
- movq (%rsi), %rcx #208.66
- movq 8(%rsi), %rbx #208.73
- movq 16(%rsi), %rbp #208.80
- movq 24(%rsi), %r10 #208.87
- xorl %esi, %esi #76.32
- mulx %r10, %r9, %r11 #72.34
- mulx %rbp, %r15, %r8 #73.34
- adcx %r15, %r11 #76.32
- movq $0x0ffffffff, %r15 #81.34
- movq %rbp, 208(%rsp) #208.80[spill]
- mulx %rbx, %rbp, %rdi #74.34
- adcx %rbp, %r8 #77.32
- movl $0, %ebp #78.32
- movq %rcx, 192(%rsp) #208.66[spill]
- mulx %rcx, %r12, %rcx #75.34
- movq %r9, %rdx #80.34
- adcx %r12, %rdi #78.32
- movq %rbx, 200(%rsp) #208.73[spill]
- movl %ebp, %ebx #79.30
- setb %sil #78.32
- adox %ebp, %ebx #79.30
- adox %rcx, %rsi #79.30
- movq $0xffffffff00000001, %rcx #82.34
- mulx %r14, %r13, %r14 #80.34
- clc #83.32
- mulx %r15, %rbx, %r12 #81.34
- adcx %rbx, %r14 #83.32
- movl $0, %ebx #84.32
- mulx %rcx, %r15, %rcx #82.34
- movl %ebp, %edx #86.30
- adcx %rbx, %r12 #84.32
- movq %r10, 128(%rsp) #208.87[spill]
- adcx %rbx, %r15 #85.32
- movl %ebp, %ebx #85.32
- setb %bl #85.32
- adox %ebp, %edx #86.30
- movq %rax, %rdx #92.34
- adox %rcx, %rbx #86.30
- movl %ebp, %ecx #86.30
- seto %cl #86.30
- clc #87.30
- adcx %r13, %r9 #87.30
- movl %ebp, %r13d #96.32
- adcx %r14, %r11 #88.32
- mulx %r10, %r14, %rcx #92.34
- adcx %r12, %r8 #89.32
- mulx 200(%rsp), %r12, %r9 #94.34[spill]
- adcx %r15, %rdi #90.32
- mulx 208(%rsp), %r15, %r10 #93.34[spill]
- adcx %rbx, %rsi #91.32
- movl %ebp, %ebx #91.32
- mulx 192(%rsp), %rdx, %rax #95.34[spill]
- setb %bl #91.32
- adox %ebp, %r13d #96.32
- movq $0xffffffff00000001, %r13 #107.36
- adox %r15, %rcx #96.32
- movl %ebp, %r15d #98.32
- adox %r12, %r10 #97.32
- movl %ebp, %r12d #100.34
- adox %rdx, %r9 #98.32
- seto %r15b #98.32
- clc #99.30
- adcx %rax, %r15 #99.30
- adox %ebp, %r12d #100.34
- movl %ebp, %eax #104.34
- movl $0, %r12d #109.34
- adox %r14, %r11 #100.34
- movq %r11, %rdx #105.36
- adox %rcx, %r8 #101.34
- movq $0x0ffffffff, %rcx #106.36
- adox %r10, %rdi #102.34
- movq $-1, %r10 #105.36
- adox %r9, %rsi #103.34
- mulx %r10, %r10, %r9 #105.36
- adox %r15, %rbx #104.34
- mulx %rcx, %r14, %r15 #106.36
- seto %al #104.34
- clc #108.34
- mulx %r13, %r13, %rcx #107.36
- adcx %r14, %r9 #108.34
- movl %ebp, %r14d #111.31
- movq 224(%rsp), %rdx #118.36[spill]
- adcx %r12, %r15 #109.34
- adcx %r12, %r13 #110.34
- movl %ebp, %r12d #110.34
- setb %r12b #110.34
- adox %ebp, %r14d #111.31
- adox %rcx, %r12 #111.31
- clc #112.31
- mulx 208(%rsp), %rcx, %r14 #119.36[spill]
- adcx %r10, %r11 #112.31
- mulx 200(%rsp), %r10, %r11 #120.36[spill]
- adcx %r9, %r8 #113.34
- movl %ebp, %r9d #116.34
- adcx %r15, %rdi #114.34
- adcx %r13, %rsi #115.34
- movl %ebp, %r13d #122.34
- adcx %r12, %rbx #116.34
- setb %r9b #116.34
- adox %ebp, %r13d #122.34
- movl %r9d, 80(%rsp) #116.34[spill]
- mulx 128(%rsp), %r12, %r9 #118.36[spill]
- adox %rcx, %r9 #122.34
- movl %ebp, %ecx #124.34
- mulx 192(%rsp), %rdx, %r15 #121.36[spill]
- adox %r10, %r14 #123.34
- movl %ebp, %r10d #126.34
- adox %rdx, %r11 #124.34
- seto %cl #124.34
- clc #125.31
- adcx %r15, %rcx #125.31
- adox %ebp, %r10d #126.34
- movq $0x0ffffffff, %r10 #132.36
- adox %r12, %r8 #126.34
- movq %r8, %rdx #131.36
- adox %r9, %rdi #127.34
- mulx %r10, %r9, %r12 #132.36
- adox %r14, %rsi #128.34
- adox %r11, %rbx #129.34
- movl %ebp, %r11d #129.34
- seto %r11b #129.34
- xorl %r15d, %r15d #129.34
- addl 80(%rsp), %eax #130.34[spill]
- cmpl %r11d, %ebp #130.34
- movq $0xffffffff00000001, %r11 #133.36
- adcx %rcx, %rax #130.34
- movq $-1, %rcx #131.36
- mulx %rcx, %r14, %r13 #131.36
- mulx %r11, %r10, %r11 #133.36
- movl %ebp, %edx #134.34
- setb %r15b #130.34
- adox %ebp, %edx #134.34
- movq 216(%rsp), %rdx #144.36[spill]
- adox %r9, %r13 #134.34
- movl $0, %r9d #135.34
- adox %r9, %r12 #135.34
- adox %r9, %r10 #136.34
- movl %ebp, %r9d #136.34
- seto %r9b #136.34
- clc #137.31
- adcx %r11, %r9 #137.31
- movl %ebp, %r11d #138.31
- adox %ebp, %r11d #138.31
- adox %r14, %r8 #138.31
- adox %r13, %rdi #139.34
- mulx 128(%rsp), %r13, %r11 #144.36[spill]
- adox %r12, %rsi #140.34
- mulx 208(%rsp), %r12, %r8 #145.36[spill]
- adox %r10, %rbx #141.34
- movl %ebp, %r10d #142.34
- adox %r9, %rax #142.34
- seto %r10b #142.34
- clc #148.34
- adcx %r12, %r11 #148.34
- mulx 200(%rsp), %r14, %r12 #146.36[spill]
- adcx %r14, %r8 #149.34
- mulx 192(%rsp), %r9, %r14 #147.36[spill]
- movl %ebp, %edx #151.31
- adcx %r9, %r12 #150.34
- movl %ebp, %r9d #150.34
- setb %r9b #150.34
- adox %ebp, %edx #151.31
- adox %r14, %r9 #151.31
- clc #152.34
- adcx %r13, %rdi #152.34
- movq $0xffffffff00000001, %r13 #159.36
- movq %rdi, %rdx #157.36
- adcx %r11, %rsi #153.34
- adcx %r8, %rbx #154.34
- movl %ebp, %r8d #155.34
- adcx %r12, %rax #155.34
- mulx %rcx, %r14, %r12 #157.36
- setb %r8b #155.34
- addl %r10d, %r15d #156.34
- cmpl %r8d, %ebp #156.34
- movq $0x0ffffffff, %r10 #158.36
- mulx %r10, %r10, %r11 #158.36
- adcx %r9, %r15 #156.34
- movl %ebp, %r9d #156.34
- mulx %r13, %r13, %r8 #159.36
- movl %ebp, %edx #160.34
- setb %r9b #156.34
- adox %ebp, %edx #160.34
- movl %ebp, %edx #162.34
- adox %r10, %r12 #160.34
- movl $0, %r10d #161.34
- adox %r10, %r11 #161.34
- adox %r10, %r13 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %r8, %rdx #163.31
- movl %ebp, %r8d #164.31
- adox %ebp, %r8d #164.31
- adox %r14, %rdi #164.31
- movl %ebp, %edi #168.34
- adox %r12, %rsi #165.34
- movq $0xffffffff00000001, %r12 #173.34
- adox %r11, %rbx #166.34
- movq $0x0ffffffff, %r11 #171.34
- adox %r13, %rax #167.34
- movq %rax, %r8 #172.34
- adox %rdx, %r15 #168.34
- movq %r15, %rdx #173.34
- seto %dil #168.34
- xorl %r14d, %r14d #168.34
- addl %edi, %r9d #174.31
- movq %rsi, %rdi #170.34
- subq %rcx, %rdi #170.34
- movq %rbx, %rcx #171.34
- sbbq %r11, %rcx #171.34
- sbbq %r10, %r8 #172.34
- sbbq %r12, %rdx #173.34
- setb %r14b #173.34
- cmpl %r14d, %ebp #174.31
- sbbq %r10, %r9 #174.31
- setb %bpl #174.31
- testq %rbp, %rbp #18.0
- cmovnz %r15, %rdx #18.0
- movq %rdx, 144(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rax, %r8 #18.0
- movq %r8, 152(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rbx, %rcx #18.0
- movq %rcx, 160(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rsi, %rdi #18.0
- movq %rdi, 136(%rsp) #18.0[spill]
- movq %rdx, 32(%rsp) #208.34
- movq %r8, 40(%rsp) #208.34
- movq %rcx, 48(%rsp) #208.34
- movq %rdi, 56(%rsp) #208.34
- vmovups %xmm0, (%rsp) #210.21
- vmovups %xmm0, 16(%rsp) #210.21
- movq 72(%rsp), %rdx #210.21[spill]
- movq 64(%rsp), %rax #210.21[spill]
- movq 184(%rsp), %r12 #72.34[spill]
- xorl %r8d, %r8d #76.32
- movq $-1, %r15 #76.32
- xorl %r9d, %r9d #76.32
- mulx 176(%rsp), %rsi, %rdi #73.34[spill]
- mulx %r12, %r11, %r13 #72.34
- adcx %rsi, %r13 #76.32
- movl %r8d, %esi #79.30
- vpxor %xmm0, %xmm0, %xmm0 #211.19
- mulx 168(%rsp), %rbx, %r10 #74.34[spill]
- adcx %rbx, %rdi #77.32
- movq $0x0ffffffff, %rbx #81.34
- mulx 88(%rsp), %rcx, %rbp #75.34[spill]
- movq %r11, %rdx #80.34
- adcx %rcx, %r10 #78.32
- movq $0xffffffff00000001, %rcx #82.34
- mulx %r15, %r14, %r15 #80.34
- setb %r9b #78.32
- adox %r8d, %esi #79.30
- adox %rbp, %r9 #79.30
- clc #83.32
- mulx %rbx, %rsi, %rbp #81.34
- adcx %rsi, %r15 #83.32
- movl $0, %esi #84.32
- mulx %rcx, %rcx, %rbx #82.34
- movl %r8d, %edx #86.30
- adcx %rsi, %rbp #84.32
- adcx %rsi, %rcx #85.32
- movl %r8d, %esi #85.32
- setb %sil #85.32
- adox %r8d, %edx #86.30
- movq %rax, %rdx #92.34
- adox %rbx, %rsi #86.30
- movl %r8d, %ebx #86.30
- movl %r8d, %eax #96.32
- seto %bl #86.30
- clc #87.30
- adcx %r14, %r11 #87.30
- mulx 168(%rsp), %r11, %r14 #94.34[spill]
- adcx %r15, %r13 #88.32
- adcx %rbp, %rdi #89.32
- adcx %rcx, %r10 #90.32
- mulx %r12, %r15, %rcx #92.34
- adcx %rsi, %r9 #91.32
- movl %r8d, %esi #91.32
- mulx 176(%rsp), %rbp, %r12 #93.34[spill]
- setb %sil #91.32
- adox %r8d, %eax #96.32
- mulx 88(%rsp), %rdx, %rbx #95.34[spill]
- adox %rbp, %rcx #96.32
- movl %r8d, %ebp #98.32
- adox %r11, %r12 #97.32
- movl %r8d, %r11d #100.34
- adox %rdx, %r14 #98.32
- seto %bpl #98.32
- clc #99.30
- adcx %rbx, %rbp #99.30
- adox %r8d, %r11d #100.34
- movl %r8d, %ebx #104.34
- adox %r15, %r13 #100.34
- movq %r13, %rdx #105.36
- adox %rcx, %rdi #101.34
- movq $0x0ffffffff, %rcx #106.36
- adox %r12, %r10 #102.34
- movq $-1, %r12 #105.36
- mulx %r12, %r11, %rax #105.36
- movq $0xffffffff00000001, %r12 #107.36
- adox %r14, %r9 #103.34
- adox %rbp, %rsi #104.34
- mulx %rcx, %r15, %rbp #106.36
- seto %bl #104.34
- clc #108.34
- mulx %r12, %r14, %rcx #107.36
- movl %r8d, %r12d #111.31
- adcx %r15, %rax #108.34
- movl $0, %r15d #109.34
- movq 224(%rsp), %rdx #118.36[spill]
- adcx %r15, %rbp #109.34
- adcx %r15, %r14 #110.34
- movl %r8d, %r15d #110.34
- setb %r15b #110.34
- adox %r8d, %r12d #111.31
- adox %rcx, %r15 #111.31
- clc #112.31
- adcx %r11, %r13 #112.31
- movl %r8d, %r13d #116.34
- adcx %rax, %rdi #113.34
- mulx 168(%rsp), %r11, %r12 #120.36[spill]
- adcx %rbp, %r10 #114.34
- adcx %r14, %r9 #115.34
- movl %r8d, %r14d #122.34
- adcx %r15, %rsi #116.34
- mulx 176(%rsp), %rcx, %r15 #119.36[spill]
- setb %r13b #116.34
- adox %r8d, %r14d #122.34
- movl %r13d, 232(%rsp) #116.34[spill]
- mulx 184(%rsp), %r13, %rax #118.36[spill]
- adox %rcx, %rax #122.34
- movl %r8d, %ecx #124.34
- mulx 88(%rsp), %rdx, %rbp #121.36[spill]
- adox %r11, %r15 #123.34
- movl %r8d, %r11d #126.34
- adox %rdx, %r12 #124.34
- seto %cl #124.34
- clc #125.31
- adcx %rbp, %rcx #125.31
- adox %r8d, %r11d #126.34
- movq $0xffffffff00000001, %r11 #133.36
- adox %r13, %rdi #126.34
- movq $0x0ffffffff, %r13 #132.36
- movq %rdi, %rdx #131.36
- adox %rax, %r10 #127.34
- movl %r8d, %eax #129.34
- mulx %r13, %r13, %r14 #132.36
- adox %r15, %r9 #128.34
- adox %r12, %rsi #129.34
- mulx %r11, %r11, %r12 #133.36
- seto %al #129.34
- movq $-1, %rbp #129.34
- addl 232(%rsp), %ebx #130.34[spill]
- cmpl %eax, %r8d #130.34
- mulx %rbp, %rax, %r15 #131.36
- movl %r8d, %edx #134.34
- adcx %rcx, %rbx #130.34
- movl %r8d, %ecx #130.34
- setb %cl #130.34
- adox %r8d, %edx #134.34
- movq 216(%rsp), %rdx #144.36[spill]
- adox %r13, %r15 #134.34
- movl $0, %r13d #135.34
- adox %r13, %r14 #135.34
- adox %r13, %r11 #136.34
- movl %r8d, %r13d #136.34
- seto %r13b #136.34
- clc #137.31
- adcx %r12, %r13 #137.31
- movl %r8d, %r12d #138.31
- adox %r8d, %r12d #138.31
- adox %rax, %rdi #138.31
- adox %r15, %r10 #139.34
- mulx 176(%rsp), %r15, %rdi #145.36[spill]
- adox %r14, %r9 #140.34
- mulx 184(%rsp), %r14, %r12 #144.36[spill]
- adox %r11, %rsi #141.34
- movl %r8d, %r11d #142.34
- adox %r13, %rbx #142.34
- mulx 168(%rsp), %rax, %r13 #146.36[spill]
- seto %r11b #142.34
- clc #148.34
- adcx %r15, %r12 #148.34
- adcx %rax, %rdi #149.34
- mulx 88(%rsp), %rax, %r15 #147.36[spill]
- movl %r8d, %edx #151.31
- adcx %rax, %r13 #150.34
- movl %r8d, %eax #150.34
- setb %al #150.34
- adox %r8d, %edx #151.31
- adox %r15, %rax #151.31
- clc #152.34
- adcx %r14, %r10 #152.34
- movq $0xffffffff00000001, %r14 #159.36
- movq %r10, %rdx #157.36
- adcx %r12, %r9 #153.34
- adcx %rdi, %rsi #154.34
- movl %r8d, %edi #155.34
- adcx %r13, %rbx #155.34
- mulx %rbp, %r15, %r13 #157.36
- setb %dil #155.34
- addl %r11d, %ecx #156.34
- cmpl %edi, %r8d #156.34
- movq $0x0ffffffff, %r11 #158.36
- mulx %r11, %r11, %r12 #158.36
- adcx %rax, %rcx #156.34
- movl %r8d, %eax #156.34
- mulx %r14, %r14, %rdi #159.36
- movl %r8d, %edx #160.34
- setb %al #156.34
- adox %r8d, %edx #160.34
- movl %r8d, %edx #162.34
- adox %r11, %r13 #160.34
- movl $0, %r11d #161.34
- adox %r11, %r12 #161.34
- adox %r11, %r14 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %rdi, %rdx #163.31
- movl %r8d, %edi #164.31
- adox %r8d, %edi #164.31
- movq $0x0ffffffff, %rdi #171.34
- adox %r15, %r10 #164.31
- movl %r8d, %r10d #168.34
- adox %r13, %r9 #165.34
- adox %r12, %rsi #166.34
- adox %r14, %rbx #167.34
- movq %rbx, %r14 #172.34
- adox %rdx, %rcx #168.34
- movq %r9, %rdx #170.34
- movq %rcx, %r13 #173.34
- seto %r10b #168.34
- xorl %r12d, %r12d #168.34
- addl %r10d, %eax #174.31
- subq %rbp, %rdx #170.34
- movq %rsi, %rbp #171.34
- movq $0xffffffff00000001, %r10 #173.34
- sbbq %rdi, %rbp #171.34
- sbbq %r11, %r14 #172.34
- sbbq %r10, %r13 #173.34
- setb %r12b #173.34
- cmpl %r12d, %r8d #174.31
- sbbq %r11, %rax #174.31
- setb %r8b #174.31
- testq %r8, %r8 #18.0
- cmovnz %rcx, %r13 #18.0
- movq %r13, 64(%rsp) #18.0[spill]
- testq %r8, %r8 #18.0
- cmovnz %rbx, %r14 #18.0
- movq %r14, 72(%rsp) #18.0[spill]
- testq %r8, %r8 #18.0
- cmovnz %rsi, %rbp #18.0
- movq %rbp, 80(%rsp) #18.0[spill]
- testq %r8, %r8 #18.0
- cmovnz %r9, %rdx #18.0
- movq %r13, (%rsp) #210.35
- movq %r14, 8(%rsp) #210.35
- movq %rbp, 16(%rsp) #210.35
- movq %rdx, 24(%rsp) #210.35
- vmovups %xmm0, 32(%rsp) #211.19
- vmovups %xmm0, 48(%rsp) #211.19
- movq 120(%rsp), %rax #53.32[spill]
- xorl %r13d, %r13d #18.0
- movq 200(%rsp), %r9 #26.23[spill]
- orq 192(%rsp), %r9 #26.23[spill]
- vpxor %xmm0, %xmm0, %xmm0 #215.20
- movq 136(%rsp), %rdi #53.32[spill]
- movq 208(%rsp), %rbp #27.23[spill]
- orq %r9, %rbp #27.23
- xorl %r9d, %r9d #53.32
- xorl %r11d, %r11d #53.32
- subq 24(%rax), %rdi #53.32
- movq 160(%rsp), %r10 #54.32[spill]
- sbbq 16(%rax), %r10 #54.32
- movq 152(%rsp), %rsi #55.32[spill]
- sbbq 8(%rax), %rsi #55.32
- movq 144(%rsp), %r12 #56.32[spill]
- sbbq (%rax), %r12 #56.32
- movq %rdx, 240(%rsp) #[spill]
- setb %r11b #56.32
- xorl %r15d, %r15d #56.32
- xorl %ebx, %ebx #56.32
- xorl %r14d, %r14d #56.32
- movq $-1, %rdx #56.32
- orq %rbp, 128(%rsp) #28.23[spill]
- xorl %ebp, %ebp #62.32
- testq %r11, %r11 #18.0
- cmovnz %rdx, %r13 #18.0
- xorl %r8d, %r8d #59.32
- movl %r13d, %ecx #61.32
- movq $0xffffffff00000001, %r11 #64.30
- adcx %r13, %rdi #59.32
- movq 184(%rsp), %rdx #72.34[spill]
- adcx %rcx, %r10 #61.32
- movq %r10, 160(%rsp) #61.32[spill]
- adcx %rbp, %rsi #62.32
- movq %r10, 48(%rsp) #211.33
- setb %r15b #62.32
- andq %r11, %r13 #64.30
- cmpl %r15d, %r9d #64.30
- mulx %r10, %rax, %r10 #73.34
- adcx %r13, %r12 #64.30
- movq $-1, %r13 #80.34
- movq %rsi, 152(%rsp) #62.32[spill]
- setb %bl #64.30
- adox %r9d, %r14d #76.32
- mulx %rdi, %rcx, %rbx #72.34
- adox %rax, %rbx #76.32
- movq %rsi, 40(%rsp) #211.33
- mulx %rsi, %r8, %rsi #74.34
- adox %r8, %r10 #77.32
- movl %r9d, %r8d #78.32
- movq %r12, 144(%rsp) #64.30[spill]
- movq %r12, 32(%rsp) #211.33
- mulx %r12, %r12, %r15 #75.34
- movq %rcx, %rdx #80.34
- adox %r12, %rsi #78.32
- mulx %r13, %r13, %r14 #80.34
- seto %r8b #78.32
- clc #79.30
- adcx %r15, %r8 #79.30
- movq %rdi, 136(%rsp) #59.32[spill]
- movq $0x0ffffffff, %rax #81.34
- mulx %rax, %r12, %r15 #81.34
- movl %r9d, %eax #83.32
- adox %r9d, %eax #83.32
- mulx %r11, %r11, %rdx #82.34
- movl %r9d, %eax #85.32
- adox %r12, %r14 #83.32
- movq %rdi, 56(%rsp) #211.33
- adox %rbp, %r15 #84.32
- adox %rbp, %r11 #85.32
- seto %al #85.32
- clc #86.30
- adcx %rdx, %rax #86.30
- movq 176(%rsp), %rdx #92.34[spill]
- movl %r9d, %r12d #87.30
- adox %r9d, %r12d #87.30
- adox %r13, %rcx #87.30
- movl %r9d, %ecx #91.32
- adox %r14, %rbx #88.32
- adox %r15, %r10 #89.32
- mulx %rdi, %r15, %r13 #92.34
- adox %r11, %rsi #90.32
- mulx 160(%rsp), %r11, %r14 #93.34[spill]
- adox %rax, %r8 #91.32
- mulx 152(%rsp), %rax, %r12 #94.34[spill]
- seto %cl #91.32
- clc #96.32
- adcx %r11, %r13 #96.32
- adcx %rax, %r14 #97.32
- mulx 144(%rsp), %rax, %r11 #95.34[spill]
- movl %r9d, %edx #99.30
- adcx %rax, %r12 #98.32
- movl %r9d, %eax #98.32
- setb %al #98.32
- adox %r9d, %edx #99.30
- adox %r11, %rax #99.30
- clc #100.34
- adcx %r15, %rbx #100.34
- movq $0x0ffffffff, %r15 #106.36
- movq %rbx, %rdx #105.36
- adcx %r13, %r10 #101.34
- adcx %r14, %rsi #102.34
- movq $-1, %r14 #105.36
- mulx %r14, %r14, %r13 #105.36
- adcx %r12, %r8 #103.34
- movl %r9d, %r12d #104.34
- adcx %rax, %rcx #104.34
- mulx %r15, %r11, %rax #106.36
- setb %r12b #104.34
- movl %r12d, 248(%rsp) #104.34[spill]
- movq $0xffffffff00000001, %r12 #107.36
- mulx %r12, %r12, %r15 #107.36
- movl %r9d, %edx #108.34
- adox %r9d, %edx #108.34
- movq 168(%rsp), %rdx #118.36[spill]
- adox %r11, %r13 #108.34
- movl %r9d, %r11d #110.34
- adox %rbp, %rax #109.34
- adox %rbp, %r12 #110.34
- seto %r11b #110.34
- clc #111.31
- adcx %r15, %r11 #111.31
- movl %r9d, %r15d #112.31
- adox %r9d, %r15d #112.31
- adox %r14, %rbx #112.31
- movl %r9d, %r14d #116.34
- adox %r13, %r10 #113.34
- adox %rax, %rsi #114.34
- mulx 160(%rsp), %rax, %rbx #119.36[spill]
- adox %r12, %r8 #115.34
- mulx %rdi, %r13, %r12 #118.36
- adox %r11, %rcx #116.34
- seto %r14b #116.34
- clc #122.34
- adcx %rax, %r12 #122.34
- mulx 152(%rsp), %rax, %r11 #120.36[spill]
- adcx %rax, %rbx #123.34
- mulx 144(%rsp), %r15, %rax #121.36[spill]
- movl %r9d, %edx #125.31
- adcx %r15, %r11 #124.34
- movl %r9d, %r15d #124.34
- setb %r15b #124.34
- adox %r9d, %edx #125.31
- adox %rax, %r15 #125.31
- clc #126.34
- movl 248(%rsp), %eax #130.34[spill]
- adcx %r13, %r10 #126.34
- movl %r9d, %r13d #129.34
- movq %r10, %rdx #131.36
- adcx %r12, %rsi #127.34
- adcx %rbx, %r8 #128.34
- adcx %r11, %rcx #129.34
- setb %r13b #129.34
- xorl %ebx, %ebx #129.34
- movq $-1, %r11 #129.34
- addl %r14d, %eax #130.34
- cmpl %r13d, %r9d #130.34
- movq $0x0ffffffff, %r13 #132.36
- movq $0xffffffff00000001, %r14 #133.36
- adcx %r15, %rax #130.34
- mulx %r11, %r15, %r12 #131.36
- setb %bl #130.34
- movl %ebx, 256(%rsp) #130.34[spill]
- mulx %r13, %r11, %rbx #132.36
- mulx %r14, %r13, %r14 #133.36
- movl %r9d, %edx #134.34
- adox %r9d, %edx #134.34
- movq 88(%rsp), %rdx #144.36[spill]
- adox %r11, %r12 #134.34
- movl %r9d, %r11d #136.34
- adox %rbp, %rbx #135.34
- adox %rbp, %r13 #136.34
- seto %r11b #136.34
- clc #137.31
- adcx %r14, %r11 #137.31
- movl %r9d, %r14d #138.31
- adox %r9d, %r14d #138.31
- movl %r9d, %r14d #151.31
- adox %r15, %r10 #138.31
- adox %r12, %rsi #139.34
- adox %rbx, %r8 #140.34
- movl %r9d, %ebx #142.34
- adox %r13, %rcx #141.34
- mulx %rdi, %r10, %r13 #144.36
- adox %r11, %rax #142.34
- mulx 160(%rsp), %rdi, %r11 #145.36[spill]
- seto %bl #142.34
- clc #148.34
- adcx %rdi, %r13 #148.34
- mulx 152(%rsp), %r12, %rdi #146.36[spill]
- adcx %r12, %r11 #149.34
- mulx 144(%rsp), %r15, %r12 #147.36[spill]
- adcx %r15, %rdi #150.34
- movl %r9d, %r15d #150.34
- setb %r15b #150.34
- adox %r9d, %r14d #151.31
- adox %r12, %r15 #151.31
- clc #152.34
- movl 256(%rsp), %r12d #156.34[spill]
- adcx %r10, %rsi #152.34
- movq %rsi, %rdx #157.36
- adcx %r13, %r8 #153.34
- movq $0xffffffff00000001, %r13 #159.36
- mulx %r13, %r13, %r14 #159.36
- adcx %r11, %rcx #154.34
- movl %r9d, %r11d #155.34
- adcx %rdi, %rax #155.34
- movq $0x0ffffffff, %rdi #158.36
- setb %r11b #155.34
- movq $-1, %r10 #155.34
- addl %ebx, %r12d #156.34
- cmpl %r11d, %r9d #156.34
- mulx %r10, %r11, %r10 #157.36
- adcx %r15, %r12 #156.34
- movl %r9d, %r15d #156.34
- mulx %rdi, %rbx, %rdi #158.36
- movl %r9d, %edx #160.34
- setb %r15b #156.34
- adox %r9d, %edx #160.34
- movq $0x0ffffffff, %rdx #171.34
- adox %rbx, %r10 #160.34
- movl %r9d, %ebx #162.34
- adox %rbp, %rdi #161.34
- adox %rbp, %r13 #162.34
- seto %bl #162.34
- clc #163.31
- adcx %r14, %rbx #163.31
- movl %r9d, %r14d #164.31
- adox %r9d, %r14d #164.31
- adox %r11, %rsi #164.31
- movl %r9d, %r11d #168.34
- adox %r10, %r8 #165.34
- adox %rdi, %rcx #166.34
- movq %rcx, %r10 #171.34
- adox %r13, %rax #167.34
- adox %rbx, %r12 #168.34
- movq $0xffffffff00000001, %rbx #173.34
- seto %r11b #168.34
- movq $-1, %rsi #168.34
- xorl %edi, %edi #168.34
- addl %r11d, %r15d #174.31
- movq %r8, %r11 #170.34
- subq %rsi, %r11 #170.34
- movq %r12, %rsi #173.34
- sbbq %rdx, %r10 #171.34
- movq %rax, %rdx #172.34
- sbbq %rbp, %rdx #172.34
- sbbq %rbx, %rsi #173.34
- setb %dil #173.34
- cmpl %edi, %r9d #174.31
- sbbq %rbp, %r15 #174.31
- setb %r9b #174.31
- testq %r9, %r9 #18.0
- cmovnz %r12, %rsi #18.0
- testq %r9, %r9 #18.0
- cmovnz %rax, %rdx #18.0
- testq %r9, %r9 #18.0
- cmovnz %rcx, %r10 #18.0
- testq %r9, %r9 #18.0
- cmovnz %r8, %r11 #18.0
- movq 112(%rsp), %rbp #18.0[spill]
- movq %rdx, 72(%rbp) #180.1
- movq 104(%rsp), %rdx #213.58[spill]
- movq %r11, 88(%rbp) #18.0
- movq %rsi, 64(%rbp) #179.1
- movq %r10, 80(%rbp) #181.1
- movq 40(%rdx), %rcx #213.44
- movq 32(%rdx), %rbx #213.37
- movq %rcx, 216(%rsp) #213.44[spill]
- orq %rbx, %rcx #26.23
- movq 48(%rdx), %rbp #213.51
- orq %rbp, %rcx #27.23
- movq 56(%rdx), %rax #213.58
- orq %rax, %rcx #28.23
- movq %rbp, 232(%rsp) #213.51[spill]
- movq %rbx, 224(%rsp) #213.37[spill]
- vmovups %xmm0, (%rsp) #215.20
- vmovups %xmm0, 16(%rsp) #215.20
- orq %rcx, 128(%rsp) #214.28[spill]
- movq 240(%rsp), %rdx #214.28[spill]
- movq %rbp, %r10 #73.34
- xorl %ebp, %ebp #76.32
- movq $-1, %r14 #76.32
- xorl %esi, %esi #76.32
- mulx %rax, %r9, %r11 #72.34
- mulx %r10, %rbx, %r8 #73.34
- adcx %rbx, %r11 #76.32
- movl %ebp, %ebx #79.30
- vpxor %xmm0, %xmm0, %xmm0 #216.19
- mulx 216(%rsp), %rcx, %rdi #74.34[spill]
- adcx %rcx, %r8 #77.32
- movq $0x0ffffffff, %rcx #81.34
- mulx 224(%rsp), %r15, %r12 #75.34[spill]
- movq %r9, %rdx #80.34
- adcx %r15, %rdi #78.32
- movq $0xffffffff00000001, %r15 #82.34
- mulx %r14, %r13, %r14 #80.34
- setb %sil #78.32
- adox %ebp, %ebx #79.30
- adox %r12, %rsi #79.30
- movq %rax, 88(%rsp) #[spill]
- clc #83.32
- mulx %rcx, %rbx, %r12 #81.34
- adcx %rbx, %r14 #83.32
- movl $0, %ebx #84.32
- mulx %r15, %r15, %rcx #82.34
- movl %ebp, %edx #86.30
- adcx %rbx, %r12 #84.32
- adcx %rbx, %r15 #85.32
- movl %ebp, %ebx #85.32
- setb %bl #85.32
- adox %ebp, %edx #86.30
- adox %rcx, %rbx #86.30
- movq 80(%rsp), %rdx #92.34[spill]
- clc #87.30
- mulx %r10, %rcx, %r10 #93.34
- adcx %r13, %r9 #87.30
- movl %ebp, %r13d #96.32
- adcx %r14, %r11 #88.32
- adcx %r12, %r8 #89.32
- mulx %rax, %r14, %r12 #92.34
- adcx %r15, %rdi #90.32
- mulx 216(%rsp), %r15, %r9 #94.34[spill]
- adcx %rbx, %rsi #91.32
- movl %ebp, %ebx #91.32
- mulx 224(%rsp), %rdx, %rax #95.34[spill]
- setb %bl #91.32
- adox %ebp, %r13d #96.32
- movq $0xffffffff00000001, %r13 #107.36
- adox %rcx, %r12 #96.32
- movl %ebp, %ecx #100.34
- adox %r15, %r10 #97.32
- movl %ebp, %r15d #98.32
- adox %rdx, %r9 #98.32
- seto %r15b #98.32
- clc #99.30
- adcx %rax, %r15 #99.30
- adox %ebp, %ecx #100.34
- movl %ebp, %eax #104.34
- adox %r14, %r11 #100.34
- movq %r11, %rdx #105.36
- adox %r12, %r8 #101.34
- movq $0x0ffffffff, %r12 #106.36
- mulx %r13, %r13, %rcx #107.36
- adox %r10, %rdi #102.34
- movq $-1, %r10 #105.36
- adox %r9, %rsi #103.34
- mulx %r10, %r10, %r9 #105.36
- adox %r15, %rbx #104.34
- mulx %r12, %r14, %r15 #106.36
- movl $0, %r12d #109.34
- seto %al #104.34
- clc #108.34
- movq 72(%rsp), %rdx #118.36[spill]
- adcx %r14, %r9 #108.34
- movl %ebp, %r14d #111.31
- adcx %r12, %r15 #109.34
- adcx %r12, %r13 #110.34
- movl %ebp, %r12d #110.34
- setb %r12b #110.34
- adox %ebp, %r14d #111.31
- adox %rcx, %r12 #111.31
- clc #112.31
- mulx 232(%rsp), %rcx, %r14 #119.36[spill]
- adcx %r10, %r11 #112.31
- mulx 216(%rsp), %r10, %r11 #120.36[spill]
- adcx %r9, %r8 #113.34
- movl %ebp, %r9d #116.34
- adcx %r15, %rdi #114.34
- adcx %r13, %rsi #115.34
- movl %ebp, %r13d #122.34
- adcx %r12, %rbx #116.34
- setb %r9b #116.34
- adox %ebp, %r13d #122.34
- movl %r9d, 200(%rsp) #116.34[spill]
- mulx 88(%rsp), %r12, %r9 #118.36[spill]
- adox %rcx, %r9 #122.34
- movl %ebp, %ecx #124.34
- mulx 224(%rsp), %rdx, %r15 #121.36[spill]
- adox %r10, %r14 #123.34
- movl %ebp, %r10d #126.34
- adox %rdx, %r11 #124.34
- seto %cl #124.34
- clc #125.31
- adcx %r15, %rcx #125.31
- adox %ebp, %r10d #126.34
- movq $0x0ffffffff, %r10 #132.36
- adox %r12, %r8 #126.34
- movq %r8, %rdx #131.36
- adox %r9, %rdi #127.34
- mulx %r10, %r9, %r12 #132.36
- adox %r14, %rsi #128.34
- adox %r11, %rbx #129.34
- movl %ebp, %r11d #129.34
- seto %r11b #129.34
- xorl %r15d, %r15d #129.34
- addl 200(%rsp), %eax #130.34[spill]
- cmpl %r11d, %ebp #130.34
- movq $0xffffffff00000001, %r11 #133.36
- adcx %rcx, %rax #130.34
- movq $-1, %rcx #131.36
- mulx %rcx, %r14, %r13 #131.36
- mulx %r11, %r10, %r11 #133.36
- movl %ebp, %edx #134.34
- setb %r15b #130.34
- adox %ebp, %edx #134.34
- movq 64(%rsp), %rdx #144.36[spill]
- adox %r9, %r13 #134.34
- movl $0, %r9d #135.34
- adox %r9, %r12 #135.34
- adox %r9, %r10 #136.34
- movl %ebp, %r9d #136.34
- seto %r9b #136.34
- clc #137.31
- adcx %r11, %r9 #137.31
- movl %ebp, %r11d #138.31
- adox %ebp, %r11d #138.31
- adox %r14, %r8 #138.31
- adox %r13, %rdi #139.34
- mulx 88(%rsp), %r13, %r11 #144.36[spill]
- adox %r12, %rsi #140.34
- mulx 232(%rsp), %r12, %r8 #145.36[spill]
- adox %r10, %rbx #141.34
- movl %ebp, %r10d #142.34
- adox %r9, %rax #142.34
- seto %r10b #142.34
- clc #148.34
- adcx %r12, %r11 #148.34
- mulx 216(%rsp), %r14, %r12 #146.36[spill]
- adcx %r14, %r8 #149.34
- mulx 224(%rsp), %r9, %r14 #147.36[spill]
- movl %ebp, %edx #151.31
- adcx %r9, %r12 #150.34
- movl %ebp, %r9d #150.34
- setb %r9b #150.34
- adox %ebp, %edx #151.31
- adox %r14, %r9 #151.31
- clc #152.34
- adcx %r13, %rdi #152.34
- movq $0xffffffff00000001, %r13 #159.36
- movq %rdi, %rdx #157.36
- adcx %r11, %rsi #153.34
- adcx %r8, %rbx #154.34
- movl %ebp, %r8d #155.34
- adcx %r12, %rax #155.34
- mulx %rcx, %r14, %r12 #157.36
- setb %r8b #155.34
- addl %r10d, %r15d #156.34
- cmpl %r8d, %ebp #156.34
- movq $0x0ffffffff, %r10 #158.36
- mulx %r10, %r10, %r11 #158.36
- adcx %r9, %r15 #156.34
- movl %ebp, %r9d #156.34
- mulx %r13, %r13, %r8 #159.36
- movl %ebp, %edx #160.34
- setb %r9b #156.34
- adox %ebp, %edx #160.34
- movl %ebp, %edx #162.34
- adox %r10, %r12 #160.34
- movl $0, %r10d #161.34
- adox %r10, %r11 #161.34
- adox %r10, %r13 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %r8, %rdx #163.31
- movl %ebp, %r8d #164.31
- adox %ebp, %r8d #164.31
- adox %r14, %rdi #164.31
- movl %ebp, %edi #168.34
- adox %r12, %rsi #165.34
- movq $0xffffffff00000001, %r12 #173.34
- adox %r11, %rbx #166.34
- movq $0x0ffffffff, %r11 #171.34
- adox %r13, %rax #167.34
- movq %rax, %r8 #172.34
- adox %rdx, %r15 #168.34
- movq %r15, %rdx #173.34
- seto %dil #168.34
- xorl %r14d, %r14d #168.34
- addl %edi, %r9d #174.31
- movq %rsi, %rdi #170.34
- subq %rcx, %rdi #170.34
- movq %rbx, %rcx #171.34
- sbbq %r11, %rcx #171.34
- sbbq %r10, %r8 #172.34
- sbbq %r12, %rdx #173.34
- setb %r14b #173.34
- cmpl %r14d, %ebp #174.31
- sbbq %r10, %r9 #174.31
- setb %bpl #174.31
- testq %rbp, %rbp #18.0
- cmovnz %r15, %rdx #18.0
- movq %rdx, 192(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rax, %r8 #18.0
- movq %r8, 176(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rbx, %rcx #18.0
- movq %rcx, 184(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rsi, %rdi #18.0
- movq %rdi, 168(%rsp) #18.0[spill]
- movq %rdx, (%rsp) #215.34
- movq %r8, 8(%rsp) #215.34
- movq %rcx, 16(%rsp) #215.34
- movq %rdi, 24(%rsp) #215.34
- vmovups %xmm0, 32(%rsp) #216.19
- vmovups %xmm0, 48(%rsp) #216.19
- movq %rdx, %rax #56.32
- movq %r8, %r10 #55.32
- movq %rcx, %r8 #54.32
- movq 120(%rsp), %rdx #53.32[spill]
- xorl %r14d, %r14d #53.32
- movq %rdi, %rsi #53.32
- xorl %ecx, %ecx #56.32
- movq $-1, %rbx #18.0
- subq 56(%rdx), %rsi #53.32
- sbbq 48(%rdx), %r8 #54.32
- movq $0xffffffff00000001, %r13 #64.30
- sbbq 40(%rdx), %r10 #55.32
- vpxor %xmm0, %xmm0, %xmm0 #217.20
- sbbq 32(%rdx), %rax #56.32
- setb %cl #56.32
- xorl %r11d, %r11d #56.32
- xorl %r9d, %r9d #56.32
- xorl %r12d, %r12d #56.32
- testq %rcx, %rcx #18.0
- cmovnz %rbx, %r11 #18.0
- xorl %ebp, %ebp #59.32
- movl %r11d, %edi #61.32
- adcx %r11, %rsi #59.32
- movq %rsi, 168(%rsp) #59.32[spill]
- adcx %rdi, %r8 #61.32
- movq %rsi, 56(%rsp) #216.33
- adcx %r9, %r10 #62.32
- movq %r8, 184(%rsp) #61.32[spill]
- setb %r12b #62.32
- andq %r11, %r13 #64.30
- cmpl %r12d, %r14d #64.30
- movq %r8, 48(%rsp) #216.33
- adcx %r13, %rax #64.30
- movq %r10, 176(%rsp) #62.32[spill]
- movq %r10, 40(%rsp) #216.33
- movq %rax, 192(%rsp) #64.30[spill]
- movq %rax, 32(%rsp) #216.33
- vmovups %xmm0, 64(%rsp) #217.20
- vmovups %xmm0, 80(%rsp) #217.20
- movq 136(%rsp), %rsi #72.34[spill]
- movq %rsi, %rdx #72.34
- movq 160(%rsp), %rdi #73.34[spill]
- xorl %r9d, %r9d #76.32
- movq $-1, %r15 #76.32
- xorl %ecx, %ecx #76.32
- xorl %r10d, %r10d #76.32
- mulx %rsi, %rbx, %r8 #72.34
- mulx %rdi, %rbp, %r12 #73.34
- adox %rbp, %r8 #76.32
- vpxor %xmm0, %xmm0, %xmm0 #218.20
- mulx 152(%rsp), %rax, %r11 #74.34[spill]
- adox %rax, %r12 #77.32
- mulx 144(%rsp), %r14, %r13 #75.34[spill]
- movq %rbx, %rdx #80.34
- adox %r14, %r11 #78.32
- movq $0x0ffffffff, %r14 #81.34
- mulx %r15, %rbp, %rax #80.34
- movq $0xffffffff00000001, %r15 #82.34
- seto %r10b #78.32
- clc #79.30
- adcx %r13, %r10 #79.30
- setb %cl #79.30
- mulx %r14, %r13, %rcx #81.34
- mulx %r15, %r15, %r14 #82.34
- movl %r9d, %edx #83.32
- adox %r9d, %edx #83.32
- movl %r9d, %edx #85.32
- adox %r13, %rax #83.32
- movl $0, %r13d #84.32
- adox %r13, %rcx #84.32
- adox %r13, %r15 #85.32
- seto %dl #85.32
- clc #86.30
- adcx %r14, %rdx #86.30
- movl %r9d, %r14d #87.30
- adox %r9d, %r14d #87.30
- adox %rbp, %rbx #87.30
- movl %r9d, %ebp #91.32
- adox %rax, %r8 #88.32
- adox %rcx, %r12 #89.32
- adox %r15, %r11 #90.32
- adox %rdx, %r10 #91.32
- movq %rdi, %rdx #92.34
- mulx %rsi, %rsi, %r14 #92.34
- seto %bpl #91.32
- clc #96.32
- mulx %rdi, %rbx, %rax #93.34
- adcx %rbx, %r14 #96.32
- movq 152(%rsp), %rbx #94.34[spill]
- mulx %rbx, %r15, %rcx #94.34
- adcx %r15, %rax #97.32
- mulx 144(%rsp), %r15, %rdi #95.34[spill]
- movl %r9d, %edx #99.30
- adcx %r15, %rcx #98.32
- movl %r9d, %r15d #98.32
- setb %r15b #98.32
- adox %r9d, %edx #99.30
- adox %rdi, %r15 #99.30
- movl %r9d, %edi #99.30
- seto %dil #99.30
- clc #100.34
- adcx %rsi, %r8 #100.34
- movl %r9d, %esi #104.34
- movq %r8, %rdx #105.36
- adcx %r14, %r12 #101.34
- movq $0x0ffffffff, %r14 #106.36
- adcx %rax, %r11 #102.34
- movq $-1, %rax #105.36
- adcx %rcx, %r10 #103.34
- mulx %r14, %rcx, %rdi #106.36
- adcx %r15, %rbp #104.34
- mulx %rax, %r15, %rax #105.36
- setb %sil #104.34
- movl %esi, 32(%rsp) #104.34[spill]
- movq $0xffffffff00000001, %rsi #107.36
- mulx %rsi, %r14, %rsi #107.36
- movl %r9d, %edx #108.34
- adox %r9d, %edx #108.34
- movq %rbx, %rdx #118.36
- adox %rcx, %rax #108.34
- movl %r9d, %ecx #110.34
- adox %r13, %rdi #109.34
- adox %r13, %r14 #110.34
- seto %cl #110.34
- clc #111.31
- adcx %rsi, %rcx #111.31
- movl %r9d, %esi #112.31
- adox %r9d, %esi #112.31
- adox %r15, %r8 #112.31
- adox %rax, %r12 #113.34
- mulx 136(%rsp), %r8, %rax #118.36[spill]
- adox %rdi, %r11 #114.34
- movl %r9d, %edi #116.34
- adox %r14, %r10 #115.34
- mulx 160(%rsp), %r14, %r15 #119.36[spill]
- adox %rcx, %rbp #116.34
- mulx %rbx, %rcx, %rsi #120.36
- seto %dil #116.34
- clc #122.34
- adcx %r14, %rax #122.34
- adcx %rcx, %r15 #123.34
- movq 144(%rsp), %rcx #121.36[spill]
- mulx %rcx, %rbx, %r14 #121.36
- movl %r9d, %edx #125.31
- adcx %rbx, %rsi #124.34
- movl %r9d, %ebx #124.34
- setb %bl #124.34
- adox %r9d, %edx #125.31
- adox %r14, %rbx #125.31
- clc #126.34
- adcx %r8, %r12 #126.34
- movl %r9d, %r8d #129.34
- movq %r12, %rdx #131.36
- adcx %rax, %r11 #127.34
- movl 32(%rsp), %eax #130.34[spill]
- adcx %r15, %r10 #128.34
- movq $0x0ffffffff, %r15 #132.36
- adcx %rsi, %rbp #129.34
- setb %r8b #129.34
- xorl %r14d, %r14d #129.34
- addl %edi, %eax #130.34
- cmpl %r8d, %r9d #130.34
- movq $0xffffffff00000001, %rdi #133.36
- mulx %rdi, %rdi, %rsi #133.36
- adcx %rbx, %rax #130.34
- movq $-1, %rbx #131.36
- setb %r14b #130.34
- movl %r14d, 40(%rsp) #130.34[spill]
- mulx %rbx, %r8, %r14 #131.36
- mulx %r15, %r15, %rbx #132.36
- movl %r9d, %edx #134.34
- adox %r9d, %edx #134.34
- movq %rcx, %rdx #144.36
- adox %r15, %r14 #134.34
- movl %r9d, %r15d #136.34
- adox %r13, %rbx #135.34
- adox %r13, %rdi #136.34
- seto %r15b #136.34
- clc #137.31
- adcx %rsi, %r15 #137.31
- movl %r9d, %esi #138.31
- adox %r9d, %esi #138.31
- movl %r9d, %esi #142.34
- adox %r8, %r12 #138.31
- adox %r14, %r11 #139.34
- adox %rbx, %r10 #140.34
- movl %r9d, %ebx #150.34
- adox %rdi, %rbp #141.34
- mulx 160(%rsp), %r8, %rdi #145.36[spill]
- adox %r15, %rax #142.34
- mulx 136(%rsp), %r15, %r12 #144.36[spill]
- seto %sil #142.34
- clc #148.34
- adcx %r8, %r12 #148.34
- mulx 152(%rsp), %r14, %r8 #146.36[spill]
- adcx %r14, %rdi #149.34
- mulx %rcx, %rcx, %r14 #147.36
- adcx %rcx, %r8 #150.34
- movl %r9d, %ecx #151.31
- setb %bl #150.34
- adox %r9d, %ecx #151.31
- movq $-1, %rcx #157.36
- adox %r14, %rbx #151.31
- clc #152.34
- movl 40(%rsp), %r14d #156.34[spill]
- adcx %r15, %r11 #152.34
- movq $0xffffffff00000001, %r15 #159.36
- movq %r11, %rdx #157.36
- adcx %r12, %r10 #153.34
- movl %r9d, %r12d #155.34
- adcx %rdi, %rbp #154.34
- adcx %r8, %rax #155.34
- mulx %rcx, %r8, %rcx #157.36
- setb %r12b #155.34
- addl %esi, %r14d #156.34
- cmpl %r12d, %r9d #156.34
- movq $0x0ffffffff, %r12 #158.36
- mulx %r12, %rdi, %r12 #158.36
- adcx %rbx, %r14 #156.34
- movl %r9d, %ebx #156.34
- mulx %r15, %r15, %rsi #159.36
- movl %r9d, %edx #160.34
- setb %bl #156.34
- adox %r9d, %edx #160.34
- adox %rdi, %rcx #160.34
- movl %r9d, %edi #162.34
- adox %r13, %r12 #161.34
- adox %r13, %r15 #162.34
- seto %dil #162.34
- clc #163.31
- adcx %rsi, %rdi #163.31
- movl %r9d, %esi #164.31
- adox %r9d, %esi #164.31
- adox %r8, %r11 #164.31
- movq $0x0ffffffff, %r8 #171.34
- movl %r9d, %r11d #168.34
- adox %rcx, %r10 #165.34
- movq $0xffffffff00000001, %rcx #173.34
- movq %r10, %rdx #170.34
- adox %r12, %rbp #166.34
- adox %r15, %rax #167.34
- adox %rdi, %r14 #168.34
- movq %rax, %rdi #172.34
- movq %r14, %rsi #173.34
- seto %r11b #168.34
- addl %r11d, %ebx #174.31
- movq $-1, %r11 #170.34
- subq %r11, %rdx #170.34
- movq %rbp, %r11 #171.34
- sbbq %r8, %r11 #171.34
- sbbq %r13, %rdi #172.34
- sbbq %rcx, %rsi #173.34
- movl %r9d, %ecx #173.34
- setb %cl #173.34
- cmpl %ecx, %r9d #174.31
- sbbq %r13, %rbx #174.31
- setb %r9b #174.31
- testq %r9, %r9 #18.0
- cmovnz %r14, %rsi #18.0
- movq %rsi, 248(%rsp) #18.0[spill]
- testq %r9, %r9 #18.0
- cmovnz %rax, %rdi #18.0
- movq %rdi, 256(%rsp) #18.0[spill]
- testq %r9, %r9 #18.0
- cmovnz %rbp, %r11 #18.0
- movq %r11, 264(%rsp) #18.0[spill]
- testq %r9, %r9 #18.0
- cmovnz %r10, %rdx #18.0
- movq %rdx, 272(%rsp) #18.0[spill]
- movq %rsi, 64(%rsp) #217.37
- movq %rdi, 72(%rsp) #217.37
- movq %r11, 80(%rsp) #217.37
- movq %rdx, 88(%rsp) #217.37
- vmovups %xmm0, (%rsp) #218.20
- vmovups %xmm0, 16(%rsp) #218.20
- movq 168(%rsp), %r12 #72.34[spill]
- movq %r12, %rdx #72.34
- movq 184(%rsp), %r13 #73.34[spill]
- xorl %r11d, %r11d #76.32
- xorl %ebx, %ebx #76.32
- xorl %r9d, %r9d #76.32
- mulx %r12, %r15, %r14 #72.34
- mulx %r13, %r10, %rsi #73.34
- adcx %r10, %r14 #76.32
- movq $-1, %r10 #80.34
- vpxor %xmm0, %xmm0, %xmm0 #219.21
- mulx 176(%rsp), %rdi, %r8 #74.34[spill]
- adcx %rdi, %rsi #77.32
- movq $0xffffffff00000001, %rdi #82.34
- mulx 192(%rsp), %rcx, %rax #75.34[spill]
- movq %r15, %rdx #80.34
- adcx %rcx, %r8 #78.32
- mulx %rdi, %rcx, %rdi #82.34
- setb %r9b #78.32
- adox %r11d, %ebx #79.30
- adox %rax, %r9 #79.30
- mulx %r10, %rbp, %rax #80.34
- movq $0x0ffffffff, %r10 #81.34
- clc #83.32
- mulx %r10, %r10, %rbx #81.34
- movl %r11d, %edx #86.30
- adcx %r10, %rax #83.32
- movl $0, %r10d #84.32
- adcx %r10, %rbx #84.32
- adcx %r10, %rcx #85.32
- movl %r11d, %r10d #85.32
- setb %r10b #85.32
- adox %r11d, %edx #86.30
- movq %r13, %rdx #92.34
- adox %rdi, %r10 #86.30
- movl %r11d, %edi #86.30
- seto %dil #86.30
- clc #87.30
- adcx %rbp, %r15 #87.30
- adcx %rax, %r14 #88.32
- adcx %rbx, %rsi #89.32
- mulx %r13, %rbx, %r15 #93.34
- movl %r11d, %r13d #96.32
- adcx %rcx, %r8 #90.32
- mulx %r12, %rbp, %rcx #92.34
- adcx %r10, %r9 #91.32
- movl %r11d, %r10d #91.32
- mulx 176(%rsp), %rax, %r12 #94.34[spill]
- setb %r10b #91.32
- adox %r11d, %r13d #96.32
- mulx 192(%rsp), %rdx, %rdi #95.34[spill]
- adox %rbx, %rcx #96.32
- movl %r11d, %ebx #98.32
- adox %rax, %r15 #97.32
- movl %r11d, %eax #100.34
- adox %rdx, %r12 #98.32
- seto %bl #98.32
- clc #99.30
- adcx %rdi, %rbx #99.30
- adox %r11d, %eax #100.34
- movl %r11d, %edi #104.34
- adox %rbp, %r14 #100.34
- movq %r14, %rdx #105.36
- adox %rcx, %rsi #101.34
- movq $0x0ffffffff, %rcx #106.36
- adox %r15, %r8 #102.34
- mulx %rcx, %r15, %rax #106.36
- adox %r12, %r9 #103.34
- movq $-1, %r12 #105.36
- mulx %r12, %rbp, %r13 #105.36
- movl $0, %r12d #109.34
- adox %rbx, %r10 #104.34
- movq $0xffffffff00000001, %rbx #107.36
- mulx %rbx, %rbx, %rcx #107.36
- seto %dil #104.34
- clc #108.34
- movq 176(%rsp), %rdx #118.36[spill]
- adcx %r15, %r13 #108.34
- movl %r11d, %r15d #110.34
- adcx %r12, %rax #109.34
- adcx %r12, %rbx #110.34
- movl %r11d, %r12d #111.31
- setb %r15b #110.34
- adox %r11d, %r12d #111.31
- adox %rcx, %r15 #111.31
- clc #112.31
- adcx %rbp, %r14 #112.31
- movl %r11d, %r14d #116.34
- adcx %r13, %rsi #113.34
- mulx 168(%rsp), %r13, %rbp #118.36[spill]
- adcx %rax, %r8 #114.34
- mulx %rdx, %rax, %r12 #120.36
- adcx %rbx, %r9 #115.34
- adcx %r15, %r10 #116.34
- mulx 184(%rsp), %rcx, %r15 #119.36[spill]
- setb %r14b #116.34
- movl %r14d, 64(%rsp) #116.34[spill]
- movl %r11d, %r14d #122.34
- adox %r11d, %r14d #122.34
- mulx 192(%rsp), %rdx, %rbx #121.36[spill]
- adox %rcx, %rbp #122.34
- movl %r11d, %ecx #124.34
- adox %rax, %r15 #123.34
- movl %r11d, %eax #126.34
- adox %rdx, %r12 #124.34
- seto %cl #124.34
- clc #125.31
- adcx %rbx, %rcx #125.31
- adox %r11d, %eax #126.34
- adox %r13, %rsi #126.34
- movq $0x0ffffffff, %r13 #132.36
- movq %rsi, %rdx #131.36
- adox %rbp, %r8 #127.34
- movl %r11d, %ebp #129.34
- adox %r15, %r9 #128.34
- mulx %r13, %r13, %r15 #132.36
- adox %r12, %r10 #129.34
- movq $0xffffffff00000001, %r12 #133.36
- mulx %r12, %r14, %r12 #133.36
- seto %bpl #129.34
- xorl %ebx, %ebx #129.34
- addl 64(%rsp), %edi #130.34[spill]
- cmpl %ebp, %r11d #130.34
- adcx %rcx, %rdi #130.34
- movq $-1, %rcx #131.36
- mulx %rcx, %rbp, %rax #131.36
- movl %r11d, %edx #134.34
- setb %bl #130.34
- adox %r11d, %edx #134.34
- movq 192(%rsp), %rdx #144.36[spill]
- adox %r13, %rax #134.34
- movl $0, %r13d #135.34
- adox %r13, %r15 #135.34
- adox %r13, %r14 #136.34
- movl %r11d, %r13d #136.34
- seto %r13b #136.34
- clc #137.31
- adcx %r12, %r13 #137.31
- movl %r11d, %r12d #138.31
- adox %r11d, %r12d #138.31
- adox %rbp, %rsi #138.31
- mulx 184(%rsp), %rbp, %rsi #145.36[spill]
- adox %rax, %r8 #139.34
- movl %r11d, %eax #142.34
- adox %r15, %r9 #140.34
- adox %r14, %r10 #141.34
- mulx 168(%rsp), %r12, %r14 #144.36[spill]
- adox %r13, %rdi #142.34
- mulx 176(%rsp), %r15, %r13 #146.36[spill]
- seto %al #142.34
- clc #148.34
- adcx %rbp, %r14 #148.34
- adcx %r15, %rsi #149.34
- mulx %rdx, %rbp, %r15 #147.36
- movl %r11d, %edx #151.31
- adcx %rbp, %r13 #150.34
- movl %r11d, %ebp #150.34
- setb %bpl #150.34
- adox %r11d, %edx #151.31
- adox %r15, %rbp #151.31
- clc #152.34
- adcx %r12, %r8 #152.34
- movq %r8, %rdx #157.36
- adcx %r14, %r9 #153.34
- movq $0xffffffff00000001, %r14 #159.36
- adcx %rsi, %r10 #154.34
- movl %r11d, %esi #155.34
- adcx %r13, %rdi #155.34
- mulx %rcx, %r15, %r13 #157.36
- setb %sil #155.34
- addl %eax, %ebx #156.34
- cmpl %esi, %r11d #156.34
- movq $0x0ffffffff, %rax #158.36
- mulx %rax, %rax, %r12 #158.36
- adcx %rbp, %rbx #156.34
- movl %r11d, %ebp #156.34
- mulx %r14, %r14, %rsi #159.36
- movl %r11d, %edx #160.34
- setb %bpl #156.34
- adox %r11d, %edx #160.34
- movl %r11d, %edx #162.34
- adox %rax, %r13 #160.34
- movl $0, %eax #161.34
- adox %rax, %r12 #161.34
- adox %rax, %r14 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %rsi, %rdx #163.31
- movl %r11d, %esi #164.31
- adox %r11d, %esi #164.31
- adox %r15, %r8 #164.31
- movl %r11d, %r8d #168.34
- adox %r13, %r9 #165.34
- adox %r12, %r10 #166.34
- movq $0xffffffff00000001, %r12 #173.34
- adox %r14, %rdi #167.34
- movq %rdi, %r15 #172.34
- adox %rdx, %rbx #168.34
- movq %r9, %rdx #170.34
- seto %r8b #168.34
- xorl %r13d, %r13d #168.34
- addl %r8d, %ebp #174.31
- subq %rcx, %rdx #170.34
- movq %r10, %rcx #171.34
- movq $0x0ffffffff, %r8 #171.34
- sbbq %r8, %rcx #171.34
- movq %rbx, %r8 #173.34
- sbbq %rax, %r15 #172.34
- sbbq %r12, %r8 #173.34
- setb %r13b #173.34
- cmpl %r13d, %r11d #174.31
- sbbq %rax, %rbp #174.31
- setb %r11b #174.31
- testq %r11, %r11 #18.0
- cmovnz %rbx, %r8 #18.0
- testq %r11, %r11 #18.0
- cmovnz %rdi, %r15 #18.0
- movq %r15, 232(%rsp) #18.0[spill]
- testq %r11, %r11 #18.0
- cmovnz %r10, %rcx #18.0
- testq %r11, %r11 #18.0
- cmovnz %r9, %rdx #18.0
- movq %rdx, 240(%rsp) #18.0[spill]
- movq %r8, (%rsp) #218.37
- movq %r15, 8(%rsp) #218.37
- movq %rcx, 16(%rsp) #218.37
- movq %rdx, 24(%rsp) #218.37
- vmovups %xmm0, 32(%rsp) #219.21
- vmovups %xmm0, 48(%rsp) #219.21
- movq 272(%rsp), %rdx #72.34[spill]
- xorl %r12d, %r12d #76.32
- xorl %ebp, %ebp #76.32
- vpxor %xmm0, %xmm0, %xmm0 #228.21
- movq 136(%rsp), %r9 #72.34[spill]
- movq 160(%rsp), %r10 #73.34[spill]
- movq %r8, 64(%rsp) #[spill]
- mulx %r9, %r13, %r11 #72.34
- mulx %r10, %r8, %rbx #73.34
- adcx %r8, %r11 #76.32
- movl %ebp, %r8d #78.32
- mulx 152(%rsp), %rsi, %rdi #74.34[spill]
- adcx %rsi, %rbx #77.32
- movq $-1, %rsi #80.34
- mulx 144(%rsp), %rax, %r15 #75.34[spill]
- movq %r13, %rdx #80.34
- adcx %rax, %rdi #78.32
- movq $0xffffffff00000001, %rax #82.34
- movq %rcx, 72(%rsp) #[spill]
- movl %ebp, %ecx #79.30
- setb %r8b #78.32
- adox %ebp, %ecx #79.30
- adox %r15, %r8 #79.30
- mulx %rax, %rcx, %rax #82.34
- seto %r12b #79.30
- mulx %rsi, %r14, %r12 #80.34
- movq $0x0ffffffff, %rsi #81.34
- clc #83.32
- mulx %rsi, %rsi, %r15 #81.34
- movl %ebp, %edx #86.30
- adcx %rsi, %r12 #83.32
- movl $0, %esi #84.32
- adcx %rsi, %r15 #84.32
- adcx %rsi, %rcx #85.32
- movl %ebp, %esi #85.32
- setb %sil #85.32
- adox %ebp, %edx #86.30
- adox %rax, %rsi #86.30
- movl %ebp, %eax #86.30
- movq 264(%rsp), %rdx #92.34[spill]
- seto %al #86.30
- clc #87.30
- adcx %r14, %r13 #87.30
- movl %ebp, %r13d #96.32
- adcx %r12, %r11 #88.32
- mulx %r9, %r14, %r12 #92.34
- adcx %r15, %rbx #89.32
- mulx 152(%rsp), %r15, %r9 #94.34[spill]
- adcx %rcx, %rdi #90.32
- mulx %r10, %rcx, %r10 #93.34
- adcx %rsi, %r8 #91.32
- movl %ebp, %esi #91.32
- mulx 144(%rsp), %rdx, %rax #95.34[spill]
- setb %sil #91.32
- adox %ebp, %r13d #96.32
- adox %rcx, %r12 #96.32
- movl %ebp, %ecx #98.32
- adox %r15, %r10 #97.32
- movl %ebp, %r15d #100.34
- adox %rdx, %r9 #98.32
- seto %cl #98.32
- clc #99.30
- adcx %rax, %rcx #99.30
- adox %ebp, %r15d #100.34
- movl %ebp, %eax #104.34
- adox %r14, %r11 #100.34
- movq $0x0ffffffff, %r14 #106.36
- movq %r11, %rdx #105.36
- adox %r12, %rbx #101.34
- movq $0xffffffff00000001, %r12 #107.36
- adox %r10, %rdi #102.34
- movq $-1, %r10 #105.36
- adox %r9, %r8 #103.34
- mulx %r10, %r10, %r9 #105.36
- adox %rcx, %rsi #104.34
- mulx %r14, %rcx, %r15 #106.36
- movl $0, %r14d #109.34
- seto %al #104.34
- clc #108.34
- adcx %rcx, %r9 #108.34
- mulx %r12, %r13, %rcx #107.36
- movl %ebp, %r12d #110.34
- adcx %r14, %r15 #109.34
- movq 256(%rsp), %rdx #118.36[spill]
- adcx %r14, %r13 #110.34
- movl %ebp, %r14d #111.31
- setb %r12b #110.34
- adox %ebp, %r14d #111.31
- adox %rcx, %r12 #111.31
- clc #112.31
- mulx 160(%rsp), %rcx, %r14 #119.36[spill]
- adcx %r10, %r11 #112.31
- mulx 152(%rsp), %r10, %r11 #120.36[spill]
- adcx %r9, %rbx #113.34
- movl %ebp, %r9d #116.34
- adcx %r15, %rdi #114.34
- adcx %r13, %r8 #115.34
- movl %ebp, %r13d #122.34
- adcx %r12, %rsi #116.34
- setb %r9b #116.34
- adox %ebp, %r13d #122.34
- movl %r9d, 80(%rsp) #116.34[spill]
- mulx 136(%rsp), %r12, %r9 #118.36[spill]
- adox %rcx, %r9 #122.34
- movl %ebp, %ecx #124.34
- mulx 144(%rsp), %rdx, %r15 #121.36[spill]
- adox %r10, %r14 #123.34
- movl %ebp, %r10d #126.34
- adox %rdx, %r11 #124.34
- seto %cl #124.34
- clc #125.31
- adcx %r15, %rcx #125.31
- adox %ebp, %r10d #126.34
- movq $0x0ffffffff, %r10 #132.36
- adox %r12, %rbx #126.34
- movq %rbx, %rdx #131.36
- adox %r9, %rdi #127.34
- mulx %r10, %r9, %r12 #132.36
- adox %r14, %r8 #128.34
- adox %r11, %rsi #129.34
- movl %ebp, %r11d #129.34
- seto %r11b #129.34
- xorl %r15d, %r15d #129.34
- addl 80(%rsp), %eax #130.34[spill]
- cmpl %r11d, %ebp #130.34
- movq $0xffffffff00000001, %r11 #133.36
- adcx %rcx, %rax #130.34
- movq $-1, %rcx #131.36
- mulx %rcx, %r14, %r13 #131.36
- mulx %r11, %r10, %r11 #133.36
- movl %ebp, %edx #134.34
- setb %r15b #130.34
- adox %ebp, %edx #134.34
- movq 248(%rsp), %rdx #144.36[spill]
- adox %r9, %r13 #134.34
- movl $0, %r9d #135.34
- adox %r9, %r12 #135.34
- adox %r9, %r10 #136.34
- movl %ebp, %r9d #136.34
- seto %r9b #136.34
- clc #137.31
- adcx %r11, %r9 #137.31
- movl %ebp, %r11d #138.31
- adox %ebp, %r11d #138.31
- adox %r14, %rbx #138.31
- adox %r13, %rdi #139.34
- mulx 136(%rsp), %r13, %r11 #144.36[spill]
- adox %r12, %r8 #140.34
- mulx 160(%rsp), %r12, %rbx #145.36[spill]
- adox %r10, %rsi #141.34
- movl %ebp, %r10d #142.34
- adox %r9, %rax #142.34
- seto %r10b #142.34
- clc #148.34
- adcx %r12, %r11 #148.34
- mulx 152(%rsp), %r14, %r12 #146.36[spill]
- adcx %r14, %rbx #149.34
- mulx 144(%rsp), %r9, %r14 #147.36[spill]
- movl %ebp, %edx #151.31
- adcx %r9, %r12 #150.34
- movl %ebp, %r9d #150.34
- setb %r9b #150.34
- adox %ebp, %edx #151.31
- adox %r14, %r9 #151.31
- clc #152.34
- adcx %r13, %rdi #152.34
- movq $0xffffffff00000001, %r13 #159.36
- movq %rdi, %rdx #157.36
- adcx %r11, %r8 #153.34
- adcx %rbx, %rsi #154.34
- movl %ebp, %ebx #155.34
- adcx %r12, %rax #155.34
- mulx %rcx, %r14, %r12 #157.36
- setb %bl #155.34
- addl %r10d, %r15d #156.34
- cmpl %ebx, %ebp #156.34
- movq $0x0ffffffff, %r10 #158.36
- mulx %r10, %r10, %r11 #158.36
- adcx %r9, %r15 #156.34
- movl %ebp, %r9d #156.34
- mulx %r13, %r13, %rbx #159.36
- movl %ebp, %edx #160.34
- setb %r9b #156.34
- adox %ebp, %edx #160.34
- movl %ebp, %edx #162.34
- adox %r10, %r12 #160.34
- movl $0, %r10d #161.34
- adox %r10, %r11 #161.34
- adox %r10, %r13 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %rbx, %rdx #163.31
- movl %ebp, %ebx #164.31
- adox %ebp, %ebx #164.31
- adox %r14, %rdi #164.31
- movl %ebp, %edi #168.34
- adox %r12, %r8 #165.34
- movq $0xffffffff00000001, %r12 #173.34
- adox %r11, %rsi #166.34
- movq $0x0ffffffff, %r11 #171.34
- adox %r13, %rax #167.34
- movq %rax, %rbx #172.34
- adox %rdx, %r15 #168.34
- movq %r15, %rdx #173.34
- seto %dil #168.34
- xorl %r14d, %r14d #168.34
- addl %edi, %r9d #174.31
- movq %r8, %rdi #170.34
- subq %rcx, %rdi #170.34
- movq %rsi, %rcx #171.34
- sbbq %r11, %rcx #171.34
- sbbq %r10, %rbx #172.34
- sbbq %r12, %rdx #173.34
- setb %r14b #173.34
- cmpl %r14d, %ebp #174.31
- sbbq %r10, %r9 #174.31
- setb %bpl #174.31
- movl $1, %r10d #174.31
- testq %rbp, %rbp #18.0
- cmovnz %r15, %rdx #18.0
- movq $0xffffffff00000000, %r15 #18.0
- movq %rdx, 200(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rax, %rbx #18.0
- movq %rbx, 208(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %rsi, %rcx #18.0
- movq %rcx, 224(%rsp) #18.0[spill]
- testq %rbp, %rbp #18.0
- cmovnz %r8, %rdi #18.0
- movq 112(%rsp), %r8 #18.0[spill]
- movq %rdi, 216(%rsp) #18.0[spill]
- movq %rdi, 56(%rsp) #219.35
- movq %rdx, 32(%rsp) #219.35
- movq $0x0fffffffe, %rdx #18.0
- movq %rbx, 40(%rsp) #219.35
- movq %rcx, 48(%rsp) #219.35
- movq 88(%r8), %rax #18.0
- movq 96(%rsp), %rdi #18.0[spill]
- testq %rdi, %rdi #18.0
- cmovnz %rax, %r10 #18.0
- movq $-1, %rax #18.0
- movq %r10, 88(%r8) #220.5
- movq 80(%r8), %rcx #18.0
- testq %rdi, %rdi #18.0
- cmovnz %rcx, %r15 #18.0
- movq %r15, 80(%r8) #221.5
- movq 72(%r8), %rsi #18.0
- testq %rdi, %rdi #18.0
- cmovnz %rsi, %rax #18.0
- movq %rax, 72(%r8) #222.5
- movq 64(%r8), %r9 #18.0
- testq %rdi, %rdi #18.0
- cmovnz %r9, %rdx #18.0
- movq 120(%rsp), %r11 #18.0[spill]
- movq %rdx, 64(%r8) #223.5
- movq 128(%rsp), %r12 #18.0[spill]
- movq 88(%r11), %r13 #18.0
- testq %r12, %r12 #18.0
- cmovnz %r10, %r13 #18.0
- movq %r13, 88(%r8) #18.0
- movq 80(%r11), %r10 #18.0
- testq %r12, %r12 #18.0
- cmovnz %r15, %r10 #18.0
- movq %r10, 80(%r8) #18.0
- movq 72(%r11), %r13 #18.0
- testq %r12, %r12 #18.0
- cmovnz %rax, %r13 #18.0
- movq %r13, 72(%r8) #18.0
- movq 64(%r11), %rcx #18.0
- testq %r12, %r12 #18.0
- cmovnz %rdx, %rcx #18.0
- movq %rcx, 64(%r8) #18.0
- vmovups %xmm0, (%rsp) #228.21
- vmovups %xmm0, 16(%rsp) #228.21
- movq 72(%rsp), %rcx #228.21[spill]
- movq 64(%rsp), %r8 #228.21[spill]
- xorl %r9d, %r9d #76.32
- movq 272(%rsp), %rdx #72.34[spill]
- xorl %r14d, %r14d #79.30
- movq %r8, 64(%rsp) #[spill]
- xorl %r8d, %r8d #76.32
- vpxor %xmm0, %xmm0, %xmm0 #229.21
- movq %rcx, 72(%rsp) #[spill]
- mulx 24(%r11), %r13, %r12 #72.34
- mulx 16(%r11), %r10, %rcx #73.34
- adcx %r10, %r12 #76.32
- movl %r9d, %r10d #79.30
- mulx 8(%r11), %rsi, %rdi #74.34
- adcx %rsi, %rcx #77.32
- movq $-1, %rsi #80.34
- mulx (%r11), %rax, %r15 #75.34
- movq %r13, %rdx #80.34
- adcx %rax, %rdi #78.32
- movq $0x0ffffffff, %rax #81.34
- mulx %rsi, %rbp, %rbx #80.34
- setb %r8b #78.32
- adox %r9d, %r14d #79.30
- adox %r15, %r8 #79.30
- movq $0xffffffff00000001, %r15 #82.34
- mulx %rax, %r14, %rax #81.34
- seto %r10b #79.30
- clc #83.32
- mulx %r15, %rsi, %r10 #82.34
- movl %r9d, %r15d #86.30
- adcx %r14, %rbx #83.32
- movl $0, %r14d #84.32
- movq 264(%rsp), %rdx #92.34[spill]
- adcx %r14, %rax #84.32
- adcx %r14, %rsi #85.32
- movl %r9d, %r14d #85.32
- setb %r14b #85.32
- adox %r9d, %r15d #86.30
- adox %r10, %r14 #86.30
- clc #87.30
- movl %r9d, %r10d #91.32
- adcx %rbp, %r13 #87.30
- mulx 16(%r11), %r13, %rbp #93.34
- adcx %rbx, %r12 #88.32
- adcx %rax, %rcx #89.32
- mulx 24(%r11), %rbx, %rax #92.34
- adcx %rsi, %rdi #90.32
- adcx %r14, %r8 #91.32
- mulx 8(%r11), %r15, %r14 #94.34
- mulx (%r11), %rdx, %rsi #95.34
- movl %r9d, %r11d #96.32
- setb %r10b #91.32
- adox %r9d, %r11d #96.32
- adox %r13, %rax #96.32
- movl %r9d, %r13d #98.32
- adox %r15, %rbp #97.32
- movl %r9d, %r15d #100.34
- adox %rdx, %r14 #98.32
- seto %r13b #98.32
- clc #99.30
- adcx %rsi, %r13 #99.30
- adox %r9d, %r15d #100.34
- movl %r9d, %esi #104.34
- adox %rbx, %r12 #100.34
- movq $0x0ffffffff, %rbx #106.36
- movq %r12, %rdx #105.36
- adox %rax, %rcx #101.34
- movq $-1, %rax #105.36
- adox %rbp, %rdi #102.34
- mulx %rax, %r11, %rbp #105.36
- adox %r14, %r8 #103.34
- movl $0, %r14d #109.34
- mulx %rbx, %rbx, %rax #106.36
- adox %r13, %r10 #104.34
- movq $0xffffffff00000001, %r13 #107.36
- seto %sil #104.34
- clc #108.34
- adcx %rbx, %rbp #108.34
- mulx %r13, %r15, %rbx #107.36
- movl %r9d, %r13d #110.34
- adcx %r14, %rax #109.34
- movq 256(%rsp), %rdx #118.36[spill]
- adcx %r14, %r15 #110.34
- movl %r9d, %r14d #111.31
- setb %r13b #110.34
- adox %r9d, %r14d #111.31
- adox %rbx, %r13 #111.31
- movl %r9d, %ebx #111.31
- seto %bl #111.31
- clc #112.31
- adcx %r11, %r12 #112.31
- adcx %rbp, %rcx #113.34
- movl %r9d, %ebp #116.34
- adcx %rax, %rdi #114.34
- adcx %r15, %r8 #115.34
- movq 120(%rsp), %r15 #118.36[spill]
- adcx %r13, %r10 #116.34
- mulx 16(%r15), %rax, %r12 #119.36
- setb %bpl #116.34
- movl %ebp, 80(%rsp) #116.34[spill]
- mulx 24(%r15), %r13, %rbp #118.36
- mulx 8(%r15), %r11, %r14 #120.36
- mulx (%r15), %rdx, %rbx #121.36
- movl %r9d, %r15d #122.34
- adox %r9d, %r15d #122.34
- adox %rax, %rbp #122.34
- movl %r9d, %eax #124.34
- adox %r11, %r12 #123.34
- adox %rdx, %r14 #124.34
- seto %al #124.34
- clc #125.31
- adcx %rbx, %rax #125.31
- movl %r9d, %ebx #126.34
- adox %r9d, %ebx #126.34
- movq $0x0ffffffff, %r11 #132.36
- adox %r13, %rcx #126.34
- movq %rcx, %rdx #131.36
- adox %rbp, %rdi #127.34
- movq $0xffffffff00000001, %rbp #133.36
- mulx %r11, %r11, %r13 #132.36
- adox %r12, %r8 #128.34
- movl %r9d, %r12d #129.34
- adox %r14, %r10 #129.34
- seto %r12b #129.34
- xorl %ebx, %ebx #129.34
- addl 80(%rsp), %esi #130.34[spill]
- cmpl %r12d, %r9d #130.34
- mulx %rbp, %rbp, %r12 #133.36
- adcx %rax, %rsi #130.34
- movq $-1, %rax #131.36
- mulx %rax, %r15, %r14 #131.36
- movl %r9d, %edx #134.34
- setb %bl #130.34
- adox %r9d, %edx #134.34
- movq 248(%rsp), %rdx #144.36[spill]
- adox %r11, %r14 #134.34
- movl $0, %r11d #135.34
- adox %r11, %r13 #135.34
- adox %r11, %rbp #136.34
- movl %r9d, %r11d #136.34
- seto %r11b #136.34
- clc #137.31
- adcx %r12, %r11 #137.31
- movl %r9d, %r12d #138.31
- adox %r9d, %r12d #138.31
- adox %r15, %rcx #138.31
- movq 120(%rsp), %r15 #144.36[spill]
- adox %r14, %rdi #139.34
- adox %r13, %r8 #140.34
- mulx 24(%r15), %r14, %r13 #144.36
- adox %rbp, %r10 #141.34
- movl %r9d, %ebp #142.34
- adox %r11, %rsi #142.34
- mulx 16(%r15), %rcx, %r11 #145.36
- seto %bpl #142.34
- clc #148.34
- adcx %rcx, %r13 #148.34
- mulx 8(%r15), %rcx, %r12 #146.36
- adcx %rcx, %r11 #149.34
- mulx (%r15), %r15, %rcx #147.36
- movl %r9d, %edx #151.31
- adcx %r15, %r12 #150.34
- movl %r9d, %r15d #150.34
- setb %r15b #150.34
- adox %r9d, %edx #151.31
- adox %rcx, %r15 #151.31
- clc #152.34
- adcx %r14, %rdi #152.34
- movq $0x0ffffffff, %r14 #158.36
- movq %rdi, %rdx #157.36
- adcx %r13, %r8 #153.34
- adcx %r11, %r10 #154.34
- movl %r9d, %r11d #155.34
- adcx %r12, %rsi #155.34
- mulx %rax, %r13, %r12 #157.36
- setb %r11b #155.34
- addl %ebp, %ebx #156.34
- xorl %ebp, %ebp #156.34
- cmpl %r11d, %r9d #156.34
- mulx %r14, %rcx, %r11 #158.36
- movq $0xffffffff00000001, %r14 #159.36
- adcx %r15, %rbx #156.34
- mulx %r14, %r14, %r15 #159.36
- movl %r9d, %edx #160.34
- setb %bpl #156.34
- adox %r9d, %edx #160.34
- movl %r9d, %edx #162.34
- adox %rcx, %r12 #160.34
- movl $0, %ecx #161.34
- adox %rcx, %r11 #161.34
- adox %rcx, %r14 #162.34
- seto %dl #162.34
- clc #163.31
- adcx %r15, %rdx #163.31
- movl %r9d, %r15d #164.31
- adox %r9d, %r15d #164.31
- adox %r13, %rdi #164.31
- movl %r9d, %edi #168.34
- adox %r12, %r8 #165.34
- adox %r11, %r10 #166.34
- movq $0x0ffffffff, %r11 #171.34
- adox %r14, %rsi #167.34
- adox %rdx, %rbx #168.34
- movq %r8, %rdx #170.34
- movq %rbx, %r13 #173.34
- seto %dil #168.34
- xorl %r12d, %r12d #168.34
- addl %edi, %ebp #174.31
- subq %rax, %rdx #170.34
- movq %r10, %rax #171.34
- movq $0xffffffff00000001, %rdi #173.34
- sbbq %r11, %rax #171.34
- movq %rsi, %r11 #172.34
- sbbq %rcx, %r11 #172.34
- sbbq %rdi, %r13 #173.34
- setb %r12b #173.34
- cmpl %r12d, %r9d #174.31
- sbbq %rcx, %rbp #174.31
- setb %r9b #174.31
- testq %r9, %r9 #18.0
- cmovnz %rbx, %r13 #18.0
- movq %r13, 136(%rsp) #18.0[spill]
- testq %r9, %r9 #18.0
- cmovnz %rsi, %r11 #18.0
- testq %r9, %r9 #18.0
- cmovnz %r10, %rax #18.0
- testq %r9, %r9 #18.0
- cmovnz %r8, %rdx #18.0
- movq %r13, (%rsp) #228.35
- movq %r11, 8(%rsp) #228.35
- movq %rax, 16(%rsp) #228.35
- movq %rdx, 24(%rsp) #228.35
- vmovups %xmm0, 32(%rsp) #229.21
- vmovups %xmm0, 48(%rsp) #229.21
- movq 72(%rsp), %rcx #229.21[spill]
- movq 64(%rsp), %r8 #229.21[spill]
- movq %r13, %r9 #36.32
- movq %rdx, %r12 #33.32
- movq %rax, %r13 #34.32
- xorl %esi, %esi #33.32
- xorl %r10d, %r10d #33.32
- movq %r11, %r14 #35.32
- adcx %rdx, %r12 #33.32
- vpxor %xmm0, %xmm0, %xmm0 #230.20
- movq %r12, %r10 #37.32
- movq $0x0ffffffff, %rbx #38.32
- adcx %rax, %r13 #34.32
- movq $0xffffffff00000001, %r15 #40.32
- adcx %r11, %r14 #35.32
- adcx %r9, %r9 #36.32
- setb %sil #36.32
- movq $-1, %rdi #36.32
- xorl %ebp, %ebp #36.32
- subq %rdi, %r10 #37.32
- movq %r13, %rdi #38.32
- sbbq %rbx, %rdi #38.32
- movq %r14, %rbx #39.32
- sbbq %rbp, %rbx #39.32
- movq %r9, %rbp #40.32
- sbbq %r15, %rbp #40.32
- movl $0, %r15d #41.30
- sbbq %r15, %rsi #41.30
- movl $0, %esi #41.30
- setb %sil #41.30
- testq %rsi, %rsi #18.0
- cmovnz %r9, %rbp #18.0
- testq %rsi, %rsi #18.0
- cmovnz %r14, %rbx #18.0
- testq %rsi, %rsi #18.0
- cmovnz %r13, %rdi #18.0
- testq %rsi, %rsi #18.0
- cmovnz %r12, %r10 #18.0
- movq %rbp, 32(%rsp) #229.35
- movq %rbx, 40(%rsp) #229.35
- movq %rdi, 48(%rsp) #229.35
- movq %r10, 56(%rsp) #229.35
- vmovups %xmm0, 64(%rsp) #230.20
- vmovups %xmm0, 80(%rsp) #230.20
- movq 240(%rsp), %rsi #53.32[spill]
- xorl %r15d, %r15d #53.32
- subq %r10, %rsi #53.32
- movl %r15d, %r10d #56.32
- sbbq %rdi, %rcx #54.32
- movq $0xffffffff00000001, %r13 #64.30
- movq 232(%rsp), %rdi #55.32[spill]
- sbbq %rbx, %rdi #55.32
- vpxor %xmm0, %xmm0, %xmm0 #240.21
- sbbq %rbp, %r8 #56.32
- setb %r10b #56.32
- xorl %r14d, %r14d #56.32
- xorl %r12d, %r12d #56.32
- movq $-1, %rbp #56.32
- testq %r10, %r10 #18.0
- cmovnz %rbp, %r14 #18.0
- xorl %r10d, %r10d #59.32
- xorl %ebx, %ebx #59.32
- movl %r14d, %r9d #61.32
- adox %r14, %rsi #59.32
- movq %rsi, 88(%rsp) #230.34
- adox %r9, %rcx #61.32
- movq %rcx, 80(%rsp) #230.34
- adox %r12, %rdi #62.32
- movq %rdi, 72(%rsp) #230.34
- seto %r10b #62.32
- xorl %ebx, %ebx #62.32
- andq %r13, %r14 #64.30
- cmpl %r10d, %r15d #64.30
- adcx %r14, %r8 #64.30
- xorl %r10d, %r10d #64.30
- movq %r8, 64(%rsp) #230.34
- subq 216(%rsp), %rsi #53.32[spill]
- sbbq 224(%rsp), %rcx #54.32[spill]
- sbbq 208(%rsp), %rdi #55.32[spill]
- sbbq 200(%rsp), %r8 #56.32[spill]
- setb %r10b #56.32
- testq %r10, %r10 #18.0
- cmovnz %rbp, %rbx #18.0
- xorl %r10d, %r10d #59.32
- movl %ebx, %r10d #61.32
- adox %rbx, %rsi #59.32
- adox %r10, %rcx #61.32
- movq 112(%rsp), %r10 #66.1[spill]
- adox %r12, %rdi #62.32
- movl %r15d, %r12d #62.32
- movq %rdi, 8(%r10) #66.1
- seto %r12b #62.32
- andq %rbx, %r13 #64.30
- cmpl %r12d, %r15d #64.30
- movq 104(%rsp), %r12 #18.0[spill]
- adcx %r13, %r8 #64.30
- movq %rcx, 16(%r10) #67.1
- movq %rsi, 24(%r10) #68.1
- movq %r8, (%r10) #65.1
- movq 24(%r12), %r9 #18.0
- movq 96(%rsp), %r13 #18.0[spill]
- testq %r13, %r13 #18.0
- cmovnz %rsi, %r9 #18.0
- movq %r9, 24(%r10) #232.5
- movq 16(%r12), %rbx #18.0
- testq %r13, %r13 #18.0
- cmovnz %rcx, %rbx #18.0
- movq %rbx, 16(%r10) #233.5
- movq 8(%r12), %rbp #18.0
- testq %r13, %r13 #18.0
- cmovnz %rdi, %rbp #18.0
- movq %rbp, 8(%r10) #234.5
- movq (%r12), %rcx #18.0
- testq %r13, %r13 #18.0
- cmovnz %r8, %rcx #18.0
- movq 120(%rsp), %rsi #18.0[spill]
- movq %rcx, (%r10) #235.5
- movq 128(%rsp), %rdi #18.0[spill]
- movq 24(%rsi), %r8 #18.0
- testq %rdi, %rdi #18.0
- cmovnz %r9, %r8 #18.0
- movq %r8, 24(%r10) #236.5
- movq %r8, 144(%rsp) #18.0[spill]
- movq 16(%rsi), %r9 #18.0
- testq %rdi, %rdi #18.0
- cmovnz %rbx, %r9 #18.0
- movq %r9, 16(%r10) #237.5
- movq %r9, 152(%rsp) #18.0[spill]
- movq 8(%rsi), %rbx #18.0
- testq %rdi, %rdi #18.0
- cmovnz %rbp, %rbx #18.0
- movq %rbx, 8(%r10) #238.5
- movq %rbx, 160(%rsp) #18.0[spill]
- movq (%rsi), %rbp #18.0
- testq %rdi, %rdi #18.0
- cmovnz %rcx, %rbp #18.0
- movq %rbp, 248(%rsp) #18.0[spill]
- movq %rbp, (%r10) #239.5
- vmovups %xmm0, (%rsp) #240.21
- vmovups %xmm0, 16(%rsp) #240.21
- movq %rsi, %rbp #72.34
- xorl %r8d, %r8d #76.32
- movq %rdx, 88(%rsp) #[spill]
- xorl %r9d, %r9d #76.32
- movq 216(%rsp), %rdx #72.34[spill]
- movq %rax, 232(%rsp) #[spill]
- mulx 56(%rbp), %rax, %rdi #72.34
- movq $0x0ffffffff, %r13 #81.34
- mulx 48(%rbp), %rbx, %r10 #73.34
- movq $0xffffffff00000001, %r14 #82.34
- adox %rbx, %rdi #76.32
- vpxor %xmm0, %xmm0, %xmm0 #241.21
- movq %r11, 80(%rsp) #[spill]
- mulx 40(%rbp), %rcx, %r11 #74.34
- adox %rcx, %r10 #77.32
- mulx 32(%rbp), %rsi, %r12 #75.34
- movq %rax, %rdx #80.34
- adox %rsi, %r11 #78.32
- movq $-1, %rsi #80.34
- seto %r9b #78.32
- clc #79.30
- adcx %r12, %r9 #79.30
- mulx %r13, %r12, %rcx #81.34
- mulx %rsi, %r15, %rbx #80.34
- mulx %r14, %r14, %r13 #82.34
- movl %r8d, %edx #83.32
- adox %r8d, %edx #83.32
- movl %r8d, %edx #85.32
- adox %r12, %rbx #83.32
- movl $0, %r12d #84.32
- adox %r12, %rcx #84.32
- adox %r12, %r14 #85.32
- seto %dl #85.32
- clc #86.30
- adcx %r13, %rdx #86.30
- movl %r8d, %r13d #87.30
- adox %r8d, %r13d #87.30
- adox %r15, %rax #87.30
- adox %rbx, %rdi #88.32
- movl %r8d, %ebx #91.32
- adox %rcx, %r10 #89.32
- adox %r14, %r11 #90.32
- adox %rdx, %r9 #91.32
- movq 224(%rsp), %rdx #92.34[spill]
- seto %bl #91.32
- clc #96.32
- mulx 56(%rbp), %r15, %r14 #92.34
- mulx 48(%rbp), %rcx, %r13 #93.34
- adcx %rcx, %r14 #96.32
- mulx 40(%rbp), %rax, %rcx #94.34
- adcx %rax, %r13 #97.32
- mulx 32(%rbp), %rax, %rbp #95.34
- movl %r8d, %edx #99.30
- adcx %rax, %rcx #98.32
- movl %r8d, %eax #98.32
- setb %al #98.32
- adox %r8d, %edx #99.30
- adox %rbp, %rax #99.30
- movl %r8d, %ebp #99.30
- seto %bpl #99.30
- clc #100.34
- adcx %r15, %rdi #100.34
- movq %rdi, %rdx #105.36
- adcx %r14, %r10 #101.34
- movq $0xffffffff00000001, %r14 #107.36
- adcx %r13, %r11 #102.34
- mulx %r14, %r13, %r14 #107.36
- adcx %rcx, %r9 #103.34
- movl %r8d, %ecx #104.34
- adcx %rax, %rbx #104.34
- mulx %rsi, %rax, %rbp #105.36
- movq $0x0ffffffff, %rsi #106.36
- mulx %rsi, %r15, %rsi #106.36
- movl %r8d, %edx #108.34
- setb %cl #104.34
- adox %r8d, %edx #108.34
- movq 208(%rsp), %rdx #118.36[spill]
- adox %r15, %rbp #108.34
- movl %r8d, %r15d #110.34
- adox %r12, %rsi #109.34
- adox %r12, %r13 #110.34
- seto %r15b #110.34
- clc #111.31
- adcx %r14, %r15 #111.31
- movl %r8d, %r14d #112.31
- adox %r8d, %r14d #112.31
- adox %rax, %rdi #112.31
- movl %r8d, %edi #116.34
- adox %rbp, %r10 #113.34
- adox %rsi, %r11 #114.34
- adox %r13, %r9 #115.34
- movq 120(%rsp), %r13 #118.36[spill]
- adox %r15, %rbx #116.34
- mulx 56(%r13), %rax, %rbp #118.36
- seto %dil #116.34
- clc #122.34
- mulx 48(%r13), %rsi, %r15 #119.36
- adcx %rsi, %rbp #122.34
- mulx 40(%r13), %r14, %rsi #120.36
- adcx %r14, %r15 #123.34
- mulx 32(%r13), %r13, %r14 #121.36
- movl %r8d, %edx #125.31
- adcx %r13, %rsi #124.34
- movl %r8d, %r13d #124.34
- setb %r13b #124.34
- adox %r8d, %edx #125.31
- adox %r14, %r13 #125.31
- movl %r8d, %r14d #125.31
- seto %r14b #125.31
- clc #126.34
- adcx %rax, %r10 #126.34
- movl %r8d, %eax #129.34
- movq %r10, %rdx #131.36
- adcx %rbp, %r11 #127.34
- movq $0x0ffffffff, %rbp #132.36
- mulx %rbp, %rbp, %r14 #132.36
- adcx %r15, %r9 #128.34
- adcx %rsi, %rbx #129.34
- movq $0xffffffff00000001, %rsi #133.36
- mulx %rsi, %rsi, %r15 #133.36
- setb %al #129.34
- addl %edi, %ecx #130.34
- movq $-1, %rdi #130.34
- cmpl %eax, %r8d #130.34
- movl %r8d, %eax #130.34
- adcx %r13, %rcx #130.34
- mulx %rdi, %rdi, %r13 #131.36
- movl %r8d, %edx #134.34
- setb %al #130.34
- adox %r8d, %edx #134.34
- movq 200(%rsp), %rdx #144.36[spill]
- adox %rbp, %r13 #134.34
- movl %r8d, %ebp #136.34
- adox %r12, %r14 #135.34
- adox %r12, %rsi #136.34
- seto %bpl #136.34
- clc #137.31
- adcx %r15, %rbp #137.31
- movl %r8d, %r15d #138.31
- adox %r8d, %r15d #138.31
- adox %rdi, %r10 #138.31
- movl %r8d, %r10d #142.34
- adox %r13, %r11 #139.34
- adox %r14, %r9 #140.34
- adox %rsi, %rbx #141.34
- movq 120(%rsp), %rsi #144.36[spill]
- adox %rbp, %rcx #142.34
- mulx 56(%rsi), %rdi, %r13 #144.36
- seto %r10b #142.34
- clc #148.34
- mulx 48(%rsi), %r14, %rbp #145.36
- adcx %r14, %r13 #148.34
- mulx 40(%rsi), %r15, %r14 #146.36
- adcx %r15, %rbp #149.34
- mulx 32(%rsi), %rsi, %r15 #147.36
- movl %r8d, %edx #151.31
- adcx %rsi, %r14 #150.34
- movl %r8d, %esi #150.34
- setb %sil #150.34
- adox %r8d, %edx #151.31
- adox %r15, %rsi #151.31
- movl %r8d, %r15d #151.31
- seto %r15b #151.31
- clc #152.34
- adcx %rdi, %r11 #152.34
- movq %r11, %rdx #157.36
- adcx %r13, %r9 #153.34
- movl %r8d, %r13d #155.34
- adcx %rbp, %rbx #154.34
- movq $0x0ffffffff, %rbp #158.36
- mulx %rbp, %rbp, %r15 #158.36
- adcx %r14, %rcx #155.34
- setb %r13b #155.34
- xorl %edi, %edi #155.34
- addl %r10d, %eax #156.34
- movq $-1, %r10 #156.34
- cmpl %r13d, %r8d #156.34
- movq $0xffffffff00000001, %r13 #159.36
- adcx %rsi, %rax #156.34
- mulx %r10, %r10, %rsi #157.36
- mulx %r13, %r13, %r14 #159.36
- movl %r8d, %edx #160.34
- setb %dil #156.34
- adox %r8d, %edx #160.34
- adox %rbp, %rsi #160.34
- movl %r8d, %ebp #162.34
- adox %r12, %r15 #161.34
- adox %r12, %r13 #162.34
- seto %bpl #162.34
- clc #163.31
- adcx %r14, %rbp #163.31
- movl %r8d, %r14d #164.31
- adox %r8d, %r14d #164.31
- adox %r10, %r11 #164.31
- movq $0xffffffff00000001, %r10 #173.34
- movl %r8d, %r11d #168.34
- adox %rsi, %r9 #165.34
- movq $0x0ffffffff, %rsi #171.34
- movq %r9, %rdx #170.34
- adox %r15, %rbx #166.34
- adox %r13, %rcx #167.34
- adox %rbp, %rax #168.34
- movq %rax, %rbp #173.34
- seto %r11b #168.34
- xorl %r15d, %r15d #168.34
- addl %r11d, %edi #174.31
- movq $-1, %r11 #170.34
- subq %r11, %rdx #170.34
- movq %rbx, %r11 #171.34
- sbbq %rsi, %r11 #171.34
- movq %rcx, %rsi #172.34
- sbbq %r12, %rsi #172.34
- sbbq %r10, %rbp #173.34
- setb %r15b #173.34
- cmpl %r15d, %r8d #174.31
- sbbq %r12, %rdi #174.31
- setb %r8b #174.31
- testq %r8, %r8 #18.0
- cmovnz %rax, %rbp #18.0
- testq %r8, %r8 #18.0
- cmovnz %rcx, %rsi #18.0
- testq %r8, %r8 #18.0
- cmovnz %rbx, %r11 #18.0
- movq %r11, 72(%rsp) #18.0[spill]
- testq %r8, %r8 #18.0
- cmovnz %r9, %rdx #18.0
- movq %rdx, 64(%rsp) #18.0[spill]
- movq %rbp, (%rsp) #240.34
- movq %rsi, 8(%rsp) #240.34
- movq %r11, 16(%rsp) #240.34
- movq %rdx, 24(%rsp) #240.34
- vmovups %xmm0, 32(%rsp) #241.21
- vmovups %xmm0, 48(%rsp) #241.21
- movq 80(%rsp), %r11 #241.21[spill]
- movq 232(%rsp), %rax #241.21[spill]
- movq 88(%rsp), %rdx #241.21[spill]
- xorl %ebx, %ebx #53.32
- xorl %edi, %edi #53.32
- subq 144(%rsp), %rdx #53.32[spill]
- movq 136(%rsp), %rcx #56.32[spill]
- sbbq 152(%rsp), %rax #54.32[spill]
- sbbq 160(%rsp), %r11 #55.32[spill]
- movq $0xffffffff00000001, %r15 #64.30
- sbbq 248(%rsp), %rcx #56.32[spill]
- vpxor %xmm0, %xmm0, %xmm0 #242.21
- setb %dil #56.32
- movq $-1, %r8 #56.32
- xorl %r13d, %r13d #56.32
- xorl %r14d, %r14d #56.32
- testq %rdi, %rdi #18.0
- cmovnz %r8, %r13 #18.0
- xorl %r9d, %r9d #59.32
- movl %r13d, %r10d #61.32
- adcx %r13, %rdx #59.32
- movq %rdx, 56(%rsp) #241.34
- adcx %r10, %rax #61.32
- movq %rax, 48(%rsp) #241.34
- adcx %r12, %r11 #62.32
- movq %r11, 40(%rsp) #241.34
- setb %r14b #62.32
- andq %r13, %r15 #64.30
- cmpl %r14d, %ebx #64.30
- adcx %r15, %rcx #64.30
- movq %rcx, 136(%rsp) #64.30[spill]
- movq %rcx, 32(%rsp) #241.34
- vmovups %xmm0, (%rsp) #242.21
- vmovups %xmm0, 16(%rsp) #242.21
- movq %rsi, 32(%rsp) #[spill]
- movq $0x0ffffffff, %r13 #81.34
- xorl %esi, %esi #76.32
- movq $0xffffffff00000001, %r12 #82.34
- movq 168(%rsp), %r9 #72.34[spill]
- mulx 184(%rsp), %rdi, %r10 #73.34[spill]
- movq %rbp, 40(%rsp) #[spill]
- mulx %r9, %rbx, %rbp #72.34
- adox %rdi, %rbp #76.32
- movl %esi, %edi #78.32
- movq %r11, 80(%rsp) #[spill]
- mulx 176(%rsp), %r8, %r11 #74.34[spill]
- adox %r8, %r10 #77.32
- mulx 192(%rsp), %rcx, %r15 #75.34[spill]
- movq %rbx, %rdx #80.34
- adox %rcx, %r11 #78.32
- movq $-1, %rcx #80.34
- seto %dil #78.32
- clc #79.30
- adcx %r15, %rdi #79.30
- mulx %rcx, %r14, %r15 #80.34
- mulx %r13, %r8, %rcx #81.34
- mulx %r12, %r13, %r12 #82.34
- movl %esi, %edx #83.32
- adox %esi, %edx #83.32
- movl %esi, %edx #85.32
- adox %r8, %r15 #83.32
- movl $0, %r8d #84.32
- adox %r8, %rcx #84.32
- adox %r8, %r13 #85.32
- seto %dl #85.32
- clc #86.30
- adcx %r12, %rdx #86.30
- movl %esi, %r12d #87.30
- adox %esi, %r12d #87.30
- adox %r14, %rbx #87.30
- adox %r15, %rbp #88.32
- adox %rcx, %r10 #89.32
- movl %esi, %ecx #91.32
- adox %r13, %r11 #90.32
- adox %rdx, %rdi #91.32
- movq %rax, %rdx #92.34
- mulx 184(%rsp), %r15, %r13 #93.34[spill]
- seto %cl #91.32
- clc #96.32
- mulx %r9, %rbx, %r14 #92.34
- adcx %r15, %r14 #96.32
- mulx 176(%rsp), %r15, %r12 #94.34[spill]
- adcx %r15, %r13 #97.32
- mulx 192(%rsp), %r15, %rax #95.34[spill]
- movl %esi, %edx #99.30
- adcx %r15, %r12 #98.32
- movl %esi, %r15d #98.32
- setb %r15b #98.32
- adox %esi, %edx #99.30
- adox %rax, %r15 #99.30
- clc #100.34
- movq $0x0ffffffff, %rax #106.36
- adcx %rbx, %rbp #100.34
- movl %esi, %ebx #104.34
- movq %rbp, %rdx #105.36
- adcx %r14, %r10 #101.34
- movq $-1, %r14 #105.36
- adcx %r13, %r11 #102.34
- mulx %rax, %r13, %rax #106.36
- adcx %r12, %rdi #103.34
- adcx %r15, %rcx #104.34
- setb %bl #104.34
- movl %ebx, 48(%rsp) #104.34[spill]
- mulx %r14, %r15, %rbx #105.36
- movq $0xffffffff00000001, %r14 #107.36
- mulx %r14, %r14, %r12 #107.36
- movl %esi, %edx #108.34
- adox %esi, %edx #108.34
- movq 80(%rsp), %rdx #118.36[spill]
- adox %r13, %rbx #108.34
- movl %esi, %r13d #110.34
- adox %r8, %rax #109.34
- adox %r8, %r14 #110.34
- seto %r13b #110.34
- clc #111.31
- adcx %r12, %r13 #111.31
- movl %esi, %r12d #112.31
- adox %esi, %r12d #112.31
- movl %esi, %r12d #116.34
- adox %r15, %rbp #112.31
- adox %rbx, %r10 #113.34
- adox %rax, %r11 #114.34
- adox %r14, %rdi #115.34
- mulx 184(%rsp), %rbx, %r14 #119.36[spill]
- adox %r13, %rcx #116.34
- mulx %r9, %r13, %rbp #118.36
- seto %r12b #116.34
- clc #122.34
- adcx %rbx, %rbp #122.34
- mulx 176(%rsp), %r15, %rbx #120.36[spill]
- adcx %r15, %r14 #123.34
- mulx 192(%rsp), %r15, %rax #121.36[spill]
- movl %esi, %edx #125.31
- adcx %r15, %rbx #124.34
- movl %esi, %r15d #124.34
- setb %r15b #124.34
- adox %esi, %edx #125.31
- adox %rax, %r15 #125.31
- clc #126.34
- movl 48(%rsp), %eax #130.34[spill]
- adcx %r13, %r10 #126.34
- movq $0x0ffffffff, %r13 #132.36
- movq %r10, %rdx #131.36
- adcx %rbp, %r11 #127.34
- movl %esi, %ebp #129.34
- adcx %r14, %rdi #128.34
- movq $0xffffffff00000001, %r14 #133.36
- adcx %rbx, %rcx #129.34
- setb %bpl #129.34
- xorl %ebx, %ebx #129.34
- addl %r12d, %eax #130.34
- cmpl %ebp, %esi #130.34
- movq $-1, %rbp #131.36
- mulx %r14, %r14, %r12 #133.36
- adcx %r15, %rax #130.34
- setb %bl #130.34
- movl %ebx, 56(%rsp) #130.34[spill]
- mulx %rbp, %r15, %rbx #131.36
- mulx %r13, %r13, %rbp #132.36
- movl %esi, %edx #134.34
- adox %esi, %edx #134.34
- movq 136(%rsp), %rdx #144.36[spill]
- adox %r13, %rbx #134.34
- movl %esi, %r13d #136.34
- adox %r8, %rbp #135.34
- adox %r8, %r14 #136.34
- seto %r13b #136.34
- clc #137.31
- adcx %r12, %r13 #137.31
- movl %esi, %r12d #138.31
- adox %esi, %r12d #138.31
- movl %esi, %r12d #151.31
- adox %r15, %r10 #138.31
- adox %rbx, %r11 #139.34
- mulx 184(%rsp), %r10, %rbx #145.36[spill]
- adox %rbp, %rdi #140.34
- adox %r14, %rcx #141.34
- movl %esi, %r14d #142.34
- adox %r13, %rax #142.34
- mulx %r9, %r9, %r13 #144.36
- seto %r14b #142.34
- clc #148.34
- adcx %r10, %r13 #148.34
- mulx 176(%rsp), %r15, %r10 #146.36[spill]
- adcx %r15, %rbx #149.34
- mulx 192(%rsp), %r15, %rbp #147.36[spill]
- adcx %r15, %r10 #150.34
- movl %esi, %r15d #150.34
- setb %r15b #150.34
- adox %esi, %r12d #151.31
- adox %rbp, %r15 #151.31
- clc #152.34
- movl 56(%rsp), %ebp #156.34[spill]
- adcx %r9, %r11 #152.34
- movl %esi, %r9d #155.34
- movq %r11, %rdx #157.36
- adcx %r13, %rdi #153.34
- movq $0xffffffff00000001, %r13 #159.36
- mulx %r13, %r13, %r12 #159.36
- adcx %rbx, %rcx #154.34
- adcx %r10, %rax #155.34
- movq $-1, %r10 #157.36
- mulx %r10, %rbx, %r10 #157.36
- setb %r9b #155.34
- addl %r14d, %ebp #156.34
- cmpl %r9d, %esi #156.34
- movq $0x0ffffffff, %r9 #158.36
- mulx %r9, %r14, %r9 #158.36
- movl %esi, %edx #160.34
- adcx %r15, %rbp #156.34
- movl %esi, %r15d #156.34
- setb %r15b #156.34
- adox %esi, %edx #160.34
- adox %r14, %r10 #160.34
- movl %esi, %r14d #162.34
- adox %r8, %r9 #161.34
- adox %r8, %r13 #162.34
- seto %r14b #162.34
- clc #163.31
- adcx %r12, %r14 #163.31
- movl %esi, %r12d #164.31
- adox %esi, %r12d #164.31
- adox %rbx, %r11 #164.31
- movl %esi, %r11d #168.34
- adox %r10, %rdi #165.34
- movq $0x0ffffffff, %r10 #171.34
- adox %r9, %rcx #166.34
- movq %rdi, %r9 #170.34
- movq %rcx, %rbx #171.34
- adox %r13, %rax #167.34
- adox %r14, %rbp #168.34
- seto %r11b #168.34
- movq $-1, %rdx #168.34
- xorl %r12d, %r12d #168.34
- xorl %r13d, %r13d #168.34
- addl %r11d, %r15d #174.31
- subq %rdx, %r9 #170.34
- movq %rbp, %rdx #173.34
- movq $0xffffffff00000001, %r11 #173.34
- sbbq %r10, %rbx #171.34
- movq %rax, %r10 #172.34
- sbbq %r8, %r10 #172.34
- sbbq %r11, %rdx #173.34
- setb %r13b #173.34
- cmpl %r13d, %esi #174.31
- sbbq %r8, %r15 #174.31
- setb %r12b #174.31
- testq %r12, %r12 #18.0
- cmovnz %rbp, %rdx #18.0
- xorl %ebp, %ebp #18.0
- testq %r12, %r12 #18.0
- cmovnz %rax, %r10 #18.0
- testq %r12, %r12 #18.0
- cmovnz %rcx, %rbx #18.0
- xorl %ecx, %ecx #56.32
- testq %r12, %r12 #18.0
- cmovnz %rdi, %r9 #18.0
- movq $-1, %rdi #18.0
- movq %r9, 24(%rsp) #242.34
- subq 64(%rsp), %r9 #53.32[spill]
- movq %rbx, 16(%rsp) #242.34
- sbbq 72(%rsp), %rbx #54.32[spill]
- movq %r10, 8(%rsp) #242.34
- sbbq 32(%rsp), %r10 #55.32[spill]
- movq %rdx, (%rsp) #242.34
- sbbq 40(%rsp), %rdx #56.32[spill]
- setb %cl #56.32
- testq %rcx, %rcx #18.0
- cmovnz %rdi, %rbp #18.0
- xorl %eax, %eax #59.32
- movl %ebp, %r14d #61.32
- adcx %rbp, %r9 #59.32
- movq 96(%rsp), %rcx #18.0[spill]
- adcx %r14, %rbx #61.32
- adcx %r8, %r10 #62.32
- movq 112(%rsp), %r8 #66.1[spill]
- setb %al #62.32
- andq %rbp, %r11 #64.30
- cmpl %eax, %esi #64.30
- movq 104(%rsp), %rax #18.0[spill]
- adcx %r11, %rdx #64.30
- movq %r10, 40(%r8) #66.1
- movq %rbx, 48(%r8) #67.1
- movq %r9, 56(%r8) #68.1
- movq %rdx, 32(%r8) #65.1
- movq 56(%rax), %rbp #18.0
- testq %rcx, %rcx #18.0
- cmovnz %r9, %rbp #18.0
- movq %rbp, 56(%r8) #244.5
- movq 48(%rax), %rdi #18.0
- testq %rcx, %rcx #18.0
- cmovnz %rbx, %rdi #18.0
- movq %rdi, 48(%r8) #245.5
- movq 40(%rax), %rbx #18.0
- testq %rcx, %rcx #18.0
- cmovnz %r10, %rbx #18.0
- movq %rbx, 40(%r8) #246.5
- movq 32(%rax), %r12 #18.0
- testq %rcx, %rcx #18.0
- cmovnz %rdx, %r12 #18.0
- movq 120(%rsp), %rsi #18.0[spill]
- movq %r12, 32(%r8) #247.5
- movq 128(%rsp), %r11 #18.0[spill]
- movq 56(%rsi), %rdx #18.0
- testq %r11, %r11 #18.0
- cmovnz %rbp, %rdx #18.0
- movq %rdx, 56(%r8) #18.0
- movq 48(%rsi), %r10 #18.0
- testq %r11, %r11 #18.0
- cmovnz %rdi, %r10 #18.0
- movq %r10, 48(%r8) #18.0
- movq 40(%rsi), %r9 #18.0
- testq %r11, %r11 #18.0
- cmovnz %rbx, %r9 #18.0
- movq %r9, 40(%r8) #18.0
- movq 32(%rsi), %r13 #18.0
- testq %r11, %r11 #18.0
- cmovnz %r12, %r13 #18.0
- movq %r13, 32(%r8) #18.0
- addq $280, %rsp #252.1
- popq %rbp #252.1
- popq %rbx #252.1
- popq %r15 #252.1
- popq %r14 #252.1
- popq %r13 #252.1
- popq %r12 #252.1
- ret #252.1
diff --git a/src/Specific/NISTP256/AMD64/icc/measurements.txt b/src/Specific/NISTP256/AMD64/icc/measurements.txt
deleted file mode 100644
index 644cdf5e5..000000000
--- a/src/Specific/NISTP256/AMD64/icc/measurements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
- =*2.30/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 6888031+
- =*3.06/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 6888031+
-1081 =907*3.10/2.60 ashryn-ht-tb-ac-broadwell 7.1.1 a7ce099b+
-1111 =1156*2.50/2.60 ashryn-ht-notb-ac-broadwell 7.1.1 d9506354+
-1111 =1156*2.50/2.60 ashryn-ht-notb-noac-broadwell 7.1.1 d9506354+
-1112 =1112*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
-1140 ashryn-noht-notb-noac-broadwell 2.60ghz 7.1.1 cac291e0
diff --git a/src/Specific/NISTP256/AMD64/measurements.txt b/src/Specific/NISTP256/AMD64/measurements.txt
deleted file mode 100644
index a11d9c099..000000000
--- a/src/Specific/NISTP256/AMD64/measurements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-1752 =1470*3.10/2.60 ashryn-ht-tb-ac-broadwell 7.1.1 a7ce099b+
-1808 =1808*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
-4006 =4018*3.50/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 6888031+
-4510 =4523*3.50/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 6888031+
diff --git a/src/Specific/NISTP256/AMD64/p256.h b/src/Specific/NISTP256/AMD64/p256.h
deleted file mode 100644
index 4cf271dfd..000000000
--- a/src/Specific/NISTP256/AMD64/p256.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stdint.h>
-void p256_jacobian_add_affine(
- uint64_t P3[12],
- uint64_t P1[12],
- uint64_t P2[8]);
diff --git a/src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c b/src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c
deleted file mode 100644
index 033d64b39..000000000
--- a/src/Specific/NISTP256/AMD64/p256_jacobian_add_affine.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <stdint.h>
-#include <stdbool.h>
-#include <x86intrin.h>
-#include "liblow.h"
-#include "p256.h"
-#include "feadd.h"
-#include "fesub.h"
-#include "feopp.h"
-#include "femul.h"
-#include "fenz.h"
-
-#undef force_inline
-#define force_inline __attribute__((always_inline))
-
-static inline void force_inline fesquare(uint64_t o[4], uint64_t a, uint64_t b, uint64_t c, uint64_t d) {
- femul(o,
- a, b, c, d,
- a, b, c, d);
-}
-
-static uint64_t Rmodm[4] = {0xfffffffe, 0xffffffffffffffff, 0xffffffff00000000, 0x0000000000000001};
-
-void p256_jacobian_add_affine(
- uint64_t P3[12],
- uint64_t P1[12],
- uint64_t P2[8]
-) {
- uint64_t* X1 = P1;
- uint64_t* Y1 = P1+4;
- uint64_t* Z1 = P1+8;
- uint64_t* X2 = P2;
- uint64_t* Y2 = P2+4;
- uint64_t* X3 = P3;
- uint64_t* Y3 = P3+4;
- uint64_t* Z3 = P3+8;
- uint64_t ZZ[4] = {0}; fesquare(ZZ, Z1[0], Z1[1], Z1[2], Z1[3]);
- uint64_t P1nz = 0; fenz(&P1nz, Z1[0], Z1[1], Z1[2], Z1[3]);
- uint64_t U2[4] = {0}; femul(U2, ZZ[0], ZZ[1], ZZ[2], ZZ[3], X2[0], X2[1], X2[2], X2[3]);
- uint64_t X2nz = 0; fenz(&X2nz, X2[0], X2[1], X2[2], X2[3]);
- uint64_t ZZZ[4] = {0}; femul(ZZZ, ZZ[0], ZZ[1], ZZ[2], ZZ[3], Z1[0], Z1[1], Z1[2], Z1[3]);
- uint64_t H[4] = {0}; fesub(H, U2[0], U2[1], U2[2], U2[3], X1[0], X1[1], X1[2], X1[3]);
- femul(Z3, Z1[0], Z1[1], Z1[2], Z1[3], H[0], H[1], H[2], H[3]);
- uint64_t Y2nz = 0; fenz(&Y2nz, Y2[0], Y2[1], Y2[2], Y2[3]);
- uint64_t P2nz = X2nz | Y2nz;
- uint64_t S2[4] = {0}; femul(S2, ZZZ[0], ZZZ[1], ZZZ[2], ZZZ[3], Y2[0], Y2[1], Y2[2], Y2[3]);
- uint64_t R[4] = {0}; fesub(R, S2[0], S2[1], S2[2], S2[3], Y1[0], Y1[1], Y1[2], Y1[3]);
- uint64_t HH[4] = {0}; fesquare(HH, H[0], H[1], H[2], H[3]);
- uint64_t RR[4] = {0}; fesquare(RR, R[0], R[1], R[2], R[3]);
- uint64_t HHH[4] = {0}; femul(HHH, HH[0], HH[1], HH[2], HH[3], H[0], H[1], H[2], H[3]);
- Z3[3] = cmovznz(P1nz, Rmodm[3], Z3[3]);
- Z3[2] = cmovznz(P1nz, Rmodm[2], Z3[2]);
- Z3[1] = cmovznz(P1nz, Rmodm[1], Z3[1]);
- Z3[0] = cmovznz(P1nz, Rmodm[0], Z3[0]);
- Z3[3] = cmovznz(P2nz, Z1[3], Z3[3]);
- Z3[2] = cmovznz(P2nz, Z1[2], Z3[2]);
- Z3[1] = cmovznz(P2nz, Z1[1], Z3[1]);
- Z3[0] = cmovznz(P2nz, Z1[0], Z3[0]);
- uint64_t HHX[4] = {0}; femul(HHX, HH[0], HH[1], HH[2], HH[3], X1[0], X1[1], X1[2], X1[3]);
- uint64_t T10[4] = {0}; feadd(T10, HHX[0], HHX[1], HHX[2], HHX[3], HHX[0], HHX[1], HHX[2], HHX[3]);
- uint64_t E4[4] = {0}; fesub(E4, RR[0], RR[1], RR[2], RR[3], T10[0], T10[1], T10[2], T10[3]);
- fesub(X3, E4[0], E4[1], E4[2], E4[3], HHH[0], HHH[1], HHH[2], HHH[3]);
- X3[3] = cmovznz(P1nz, X2[3], X3[3]);
- X3[2] = cmovznz(P1nz, X2[2], X3[2]);
- X3[1] = cmovznz(P1nz, X2[1], X3[1]);
- X3[0] = cmovznz(P1nz, X2[0], X3[0]);
- X3[3] = cmovznz(P2nz, X1[3], X3[3]);
- X3[2] = cmovznz(P2nz, X1[2], X3[2]);
- X3[1] = cmovznz(P2nz, X1[1], X3[1]);
- X3[0] = cmovznz(P2nz, X1[0], X3[0]);
- uint64_t T13[4] = {0}; femul(T13, HHH[0], HHH[1], HHH[2], HHH[3], Y1[0], Y1[1], Y1[2], Y1[3]);
- uint64_t T11[4] = {0}; fesub(T11, HHX[0], HHX[1], HHX[2], HHX[3], X3[0], X3[1], X3[2], X3[3]);
- uint64_t T12[4] = {0}; femul(T12, T11[0], T11[1], T11[2], T11[3], R[0], R[1], R[2], R[3]);
- fesub(Y3, T12[0], T12[1], T12[2], T12[3], T13[0], T13[1], T13[2], T13[3]);
- Y3[3] = cmovznz(P1nz, Y2[3], Y3[3]);
- Y3[2] = cmovznz(P1nz, Y2[2], Y3[2]);
- Y3[1] = cmovznz(P1nz, Y2[1], Y3[1]);
- Y3[0] = cmovznz(P1nz, Y2[0], Y3[0]);
- Y3[3] = cmovznz(P2nz, Y1[3], Y3[3]);
- Y3[2] = cmovznz(P2nz, Y1[2], Y3[2]);
- Y3[1] = cmovznz(P2nz, Y1[1], Y3[1]);
- Y3[0] = cmovznz(P2nz, Y1[0], Y3[0]);
-}
diff --git a/src/Specific/NISTP256/AMD64/py_interpreter.sh b/src/Specific/NISTP256/AMD64/py_interpreter.sh
deleted file mode 100755
index 878d3b028..000000000
--- a/src/Specific/NISTP256/AMD64/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256-2**224+2**192+2**96-1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/NISTP256/AMD64/test/feadd_test.c b/src/Specific/NISTP256/AMD64/test/feadd_test.c
deleted file mode 100644
index 3cdd1fd60..000000000
--- a/src/Specific/NISTP256/AMD64/test/feadd_test.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <stdint.h>
-#include <inttypes.h>
-#include <stdio.h>
-#include "feadd.h"
-
-static int check(uint64_t out[4], uint64_t ref[4]) {
- return out[0] == ref[0] && out[1] == ref[1] && out[2] == ref[2] && out[3] == ref[3];
-}
-
-int main() {
- {
- uint64_t out[4] = {0};
- uint64_t in1[4] = {0, 0, 0, 1};
- uint64_t in2[4] = {0, 0, 0, 1};
- uint64_t ref[4] = {0, 0, 0, 2};
- feadd(out, in1[0], in1[1], in1[2], in1[3], in2[0], in2[1], in2[2], in2[3]);
- if (!check(out, ref)) return 1;
- }
- {
- uint64_t out[4] = {0};
- uint64_t in1[4] = {0, 0, 0, 0};
- uint64_t in2[4] = {0, 0, 0, 0};
- uint64_t ref[4] = {0, 0, 0, 0};
- feadd(out, in1[0], in1[1], in1[2], in1[3], in2[0], in2[1], in2[2], in2[3]);
- if (!check(out, ref)) return 2;
- }
- {
- uint64_t out[4] = {0};
- uint64_t in1[4] = {0xffffffff00000001, 0x0000000000000000, 0x00000000ffffffff, 0xfffffffffffffffe}; // p256-1
- uint64_t in2[4] = {0, 0, 0, 1};
- uint64_t ref[4] = {0, 0, 0, 0};
- feadd(out, in1[0], in1[1], in1[2], in1[3], in2[0], in2[1], in2[2], in2[3]);
- if (!check(out, ref)) return 3;
- }
- {
- uint64_t out[4] = {0};
- uint64_t in1[4] = {0xffffffff00000001, 0x0000000000000000, 0x00000000ffffffff, 0xfffffffffffffffe}; // p256-1
- uint64_t in2[4] = {0, 0, 0, 7};
- uint64_t ref[4] = {0, 0, 0, 6};
- feadd(out, in1[0], in1[1], in1[2], in1[3], in2[0], in2[1], in2[2], in2[3]);
- if (!check(out, ref)) return 4;
- }
-
- //printf("0x%016" PRIx64 " 0x%016" PRIx64 " 0x%016" PRIx64 " 0x%016" PRIx64 "\n", out[0], out[1], out[2], out[3]);
- //printf("((((((0x%016" PRIx64 "<<64)+ 0x%016" PRIx64 ")<<64)+ 0x%016" PRIx64 ")<<64)+ 0x%016" PRIx64 ")\n", out[0], out[1], out[2], out[3]);
-}
diff --git a/src/Specific/NISTP256/AMD64/test/femul_test.c b/src/Specific/NISTP256/AMD64/test/femul_test.c
deleted file mode 100644
index 33c4472f9..000000000
--- a/src/Specific/NISTP256/AMD64/test/femul_test.c
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <stdint.h>
-#include <inttypes.h>
-#include <stdio.h>
-#include "femul.h"
-
-// all arrays big-endian
-static uint64_t Rmodm[4] = {0xfffffffe, 0xffffffffffffffff, 0xffffffff00000000, 0x0000000000000001};
-
-int main() {
- uint64_t out[4] = {0};
- if ( femul(out,
- Rmodm[0], Rmodm[1], Rmodm[2], Rmodm[3],
- Rmodm[0], Rmodm[1], Rmodm[2], Rmodm[3]),
- ! (out[0] == Rmodm[0]
- && out[1] == Rmodm[1]
- && out[2] == Rmodm[2]
- && out[3] == Rmodm[3]
- )) { return 1; }
- if ( femul(out,
- 0, 0, 0, 0,
- Rmodm[0], Rmodm[1], Rmodm[2], Rmodm[3]),
- ! (out[0] == 0
- && out[1] == 0
- && out[2] == 0
- && out[3] == 0
- )) { return 2; }
- if ( femul(out,
- 0, 0, 0, 1,
- 0, 0, 0, 1),
- ! (out[0] == 0xfffffffe00000003 // R^-1
- && out[1] == 0xfffffffd00000002
- && out[2] == 0x00000001fffffffe
- && out[3] == 0x0000000300000000
- )) { return 3; }
- if ( femul(out,
- 0, 0, 0, 1,
- 0x4fffffffd, 0xfffffffffffffffe, 0xfffffffbffffffff, 0x0000000000000003), // R^2
- ! (out[0] == Rmodm[0]
- && out[1] == Rmodm[1]
- && out[2] == Rmodm[2]
- && out[3] == Rmodm[3]
- )) { return 4; }
- if ( femul(out,
- 0, 0, 0, 0,
- 2141451, Rmodm[2], -3251252, 2134),
- ! (out[0] == 0
- && out[1] == 0
- && out[2] == 0
- && out[3] == 0
- )) { return 5; }
-
- //printf("0x%016" PRIx64 " 0x%016" PRIx64 " 0x%016" PRIx64 " 0x%016" PRIx64 "\n", out[0], out[1], out[2], out[3]);
- //printf("((((((0x%016" PRIx64 "<<64)+ 0x%016" PRIx64 ")<<64)+ 0x%016" PRIx64 ")<<64)+ 0x%016" PRIx64 ")\n", out[0], out[1], out[2], out[3]);
- return 0;
-}
diff --git a/src/Specific/NISTP256/AMD64/test/p256_test.c b/src/Specific/NISTP256/AMD64/test/p256_test.c
deleted file mode 100644
index 4e138f8ae..000000000
--- a/src/Specific/NISTP256/AMD64/test/p256_test.c
+++ /dev/null
@@ -1,1918 +0,0 @@
-
-#include <string.h>
-#include <stdint.h>
-#include "p256.h"
-
-int main() {
-
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb6c57b7b47ebaa2aL, 0x2e01a1c78240f1e9L, 0xdffebf812925c6e9L, 0x2205025c823b79d4L, 0xb914f2abe5ecd016L, 0x9d807c66950c0b1eL, 0xb145f8d2f7aa88a5L, 0xc3cbe3c3fd449c2fL, 0xe76fa0885ac8aa3aL, 0x86048cd4889ddaefL, 0x8a456a04a01249feL, 0x8618cf2be756ebc3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 1;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0xd07631bf24bc178cL, 0xa6bbd328e6963682L, 0xd0aa8b2826e0eba2L, 0xd6ddfce1cb10be7eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x26986032eae57400L, 0x8ca22de38df6eb0eL, 0x1161d3c87958b751L, 0x6503563390e10442L, 0x70b81487b6e6f344L, 0xccb3cca2b4c1fd02L, 0xbfde22211cb4e8e0L, 0x394bf032ee10a6edL, 0xe76fa0885ac8aa3aL, 0x86048cd4889ddaefL, 0x8a456a04a01249feL, 0x8618cf2be756ebc3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 2;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x62417dda94dd5719L, 0xe7edccaddd889441L, 0xd6ea57f17fb6d805L, 0xe79cc35062a450f0L, 0x2b8ff8c52c42ec2aL, 0x97443446e90f992cL, 0x5a55c721d0cf22e6L, 0xef929abe74aab054L, 0x1fffffffdL, 0xffffffffffffffffL, 0xfffffffe00000000L, 0x2L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb15edefefaea8a5eL, 0x806871e0903c7a77L, 0xffafe01d4971ba48L, 0x814097208ede752dL, 0x29e5593dd9a02bc9L, 0xf8cd2a18163d62L, 0x8bf1a47d55114b87L, 0x97c787fa89385f72L, 0x3b7d0449d64551cdL, 0x302466a444eed77cL, 0x522b501e00924ff4L, 0x30c6795f3ab75e1fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 3;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x62417dda94dd5719L, 0xe7edccaddd889441L, 0xd6ea57f17fb6d805L, 0xe79cc35062a450f0L, 0x2b8ff8c52c42ec2aL, 0x97443446e90f992cL, 0x5a55c721d0cf22e6L, 0xef929abe74aab054L, 0x1fffffffdL, 0xffffffffffffffffL, 0xfffffffe00000000L, 0x2L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0xd07631bf24bc178cL, 0xa6bbd328e6963682L, 0xd0aa8b2826e0eba2L, 0xd6ddfce1cb10be7eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa6180cc3b95d001aL, 0x288b78e37dbac384L, 0x5874f215562dd459L, 0x40d58ce438411089L, 0x7029104ecde688b8L, 0x6799456983fa057fL, 0xbc44415869d1c072L, 0x97e065dc214ddae1L, 0x3b7d0449d64551cdL, 0x302466a444eed77cL, 0x522b501e00924ff4L, 0x30c6795f3ab75e1fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 4;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0x7c4e71ffda1f43a1L, 0xca2166b8cb4e4be9L, 0x7aaba6c5c8f8a2e9L, 0x491018f1a77a0c09L, 0x1fffffffdL, 0xffffffffffffffffL, 0xfffffffe00000000L, 0x2L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 5;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0xd07631bf24bc178cL, 0xa6bbd328e6963682L, 0xd0aa8b2826e0eba2L, 0xd6ddfce1cb10be7eL, 0xfffffffe00000002L, 0x0L, 0x1ffffffffL, 0xfffffffffffffffeL};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 6;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0xd07631bf24bc178cL, 0xa6bbd328e6963682L, 0xd0aa8b2826e0eba2L, 0xd6ddfce1cb10be7eL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x26986032eae57400L, 0x8ca22de38df6eb0eL, 0x1161d3c87958b751L, 0x6503563390e10442L, 0x8f47eb7749190cbcL, 0x334c335d4b3e02fdL, 0x4021dddfe34b171fL, 0xc6b40fcd11ef5912L, 0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 7;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L, 0xfffffffe00000002L, 0x0L, 0x1ffffffffL, 0xfffffffffffffffeL};
-uint64_t A[8] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x26986032eae57400L, 0x8ca22de38df6eb0eL, 0x1161d3c87958b751L, 0x6503563390e10442L, 0x70b81487b6e6f344L, 0xccb3cca2b4c1fd02L, 0xbfde22211cb4e8e0L, 0x394bf032ee10a6edL, 0xe76fa0885ac8aa3aL, 0x86048cd4889ddaefL, 0x8a456a04a01249feL, 0x8618cf2be756ebc3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 8;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x1eeb691fe11496dL, 0xffffffffffffffffL, 0xfe11496e00000000L, 0x1eeb692L, 0xf051a3410fae5d28L, 0x69L, 0xfae5d27ffffffffL, 0xffffff96f051a2d8L, 0x0L, 0x0L, 0x0L, 0x0L};
-uint64_t A[8] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL};
-// maybe A nz, maybe neither
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 9;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-// J nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 10;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0xd07631bf24bc178cL, 0xa6bbd328e6963682L, 0xd0aa8b2826e0eba2L, 0xd6ddfce1cb10be7eL, 0xfffffffe00000002L, 0x0L, 0x1ffffffffL, 0xfffffffffffffffeL};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-// J nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x0L, 0x0L, 0x0L, 0x0L, 0xd07631bf24bc178cL, 0xa6bbd328e6963682L, 0xd0aa8b2826e0eba2L, 0xd6ddfce1cb10be7eL, 0xfffffffe00000002L, 0x0L, 0x1ffffffffL, 0xfffffffffffffffeL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 11;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-// J nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 12;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xfe545c282897c3fcL, 0xb8842277752c41acL, 0x68363aba25e1a16eL, 0xfea912baa5659ae8L, 0xf720ee256d12597bL, 0x85665e9be39508c1L, 0x5806244afba977c5L, 0x2d36e9e7dc4c696bL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x1ba8b23c4e7b61dbL, 0x5c75422a3bfb505fL, 0x8392266f548267c2L, 0x1ab50760698fd966L, 0x7bd5f0f8bbc0113dL, 0x53a1e0762bce6c11L, 0x24a9b30477cbf81bL, 0xb03895250a03707dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x909e6b5eedddaa00L, 0xed6dacaccc0c21cdL, 0x6f49946256f07daeL, 0x626899b2567abb5eL, 0x1ee00ce4102f10f3L, 0x1c27c8095829ff4eL, 0xd2b5d6a46ca5cc54L, 0x4ec8af5dbce3c97aL, 0x1d54561325e39ddfL, 0xa3f11fb2c6cf0eb3L, 0x1b5bebb62ea0c653L, 0x1c0bf4a5c42a3e7dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 13;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8a4e72b69918062eL, 0x19d16caaf24441fL, 0xa9191c3f62abc039L, 0xe03d9ea371d75d7aL, 0xf0a27802fc75540dL, 0x3357b1746c40b10eL, 0xd703d3761a3abce9L, 0x40a4962357c25793L, 0x51cafe8fae35016L, 0xffffffffffffffffL, 0xfae3501700000000L, 0x51cafe9L};
-uint64_t A[8] = {0x3355a9e2ed6f3d70L, 0xbb8ca626fa2e83a3L, 0x7633a743c1abf15fL, 0x62f6040fe8d14b9aL, 0x5482d45c245c0ed3L, 0xae880bfb66d033f9L, 0x15ecac2d10544c31L, 0xda782cbf9fd78f6dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x89094a89b1ca2c32L, 0xfc95c491beb09f34L, 0xed641c5d8fcf4247L, 0x4a43fe0aec8740f6L, 0x2db70e5f72bd0bc3L, 0x33e3545e5a2a8160L, 0x7ff91f499094eee0L, 0xa5738b43f7fbf8cfL, 0x4a126112307e48fL, 0x6312ca49df162cfcL, 0xe9561c542f11749L, 0x34371c89fada1fa1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 14;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd252887a9c73dbbeL, 0x76a92c282bdf98aL, 0xecb37b59e9ce7739L, 0xb6b30b9312888ebdL, 0x35571219b5a90736L, 0x7b2667b3a652b683L, 0xe6a617a2438e5749L, 0xafde8d892dc6a267L, 0x11ffffffedL, 0xffffffffffffffffL, 0xffffffee00000000L, 0x12L};
-uint64_t A[8] = {0x633882d09d70b2fL, 0x751a305fb9992f1dL, 0x7e062c54bcd8ace8L, 0x52ebbfcdf7150d28L, 0xc9a8d89c7d00571eL, 0x6688e25bf90134ecL, 0xb8c44a8ed98d1f32L, 0x404354ed7f4ab63fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8d501b389d30d80cL, 0xce5b1b355c5bd487L, 0xfe76995f21e8f91bL, 0xa4772839503ddf47L, 0x79455c7e418c125bL, 0x6b5c7d79669a84ccL, 0x66ba1b42424d37d9L, 0x5738433a8b2b8c7fL, 0x7c28a9e72ad15d49L, 0x371fb30ef85dcc1aL, 0x58033d9db79eaa92L, 0x3212bbcd89f9ae74L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 15;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xb1a859fc16c815c9L, 0x3961fa381d4deebdL, 0x20ff6e31c49b7151L, 0x669195630ceab113L, 0x1c79a3f583d09f88L, 0xb1f73799092932caL, 0x962b66466f9c655L, 0x87c5624240d3a943L, 0x23ffffffdbfL, 0xffffffffffffffffL, 0xfffffdc000000000L, 0x240L};
-uint64_t A[8] = {0xfd10d4229c2a4473L, 0xd255f5c688011591L, 0x6168ae5f30b59dfaL, 0x6f939d68a2be35f5L, 0xc9594125c2f30c3dL, 0xfaa6fa91bc6665c6L, 0xc1cbfb07ec4e60e8L, 0x5f41d10cb649b4c6L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3645fa3cb0530d73L, 0x1dc0d79b4caf0bebL, 0xb4a67397e2b9b540L, 0xdc354e678b1b0cL, 0x728270df643bcef5L, 0xf6d58cb76db7584eL, 0x2fea447f873d989L, 0xb872b51d19e3571bL, 0xaab2ec6069d44442L, 0x6cf22e17bca062d7L, 0xea4c52a11adff646L, 0x344d9fc195e82760L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 16;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd81f96e2d7477c21L, 0x6314732f676c6e33L, 0x48de527d7fe4b8a8L, 0x502dbfefa7b219afL, 0x9154d6bc5d4f5d9eL, 0x95ef90ba825e9baL, 0xa07772416e286a06L, 0xb9ed4c3a74e2164dL, 0xdcfa691f230596dfL, 0xffffffffffffffffL, 0x230596e000000000L, 0xdcfa6920L};
-uint64_t A[8] = {0x316af5adbef1bf81L, 0x54fba1ffda268305L, 0xc880111a38792291L, 0xf2eb9417f1449b28L, 0x5238b7e0a70d7329L, 0xdca43f3c543f2e22L, 0x46c383c3194ad95L, 0x9b1496920dedc1cdL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xfce1374d8776fce4L, 0xd85cf3499c29e585L, 0x6381ae4ceac2c447L, 0x75d8bfce3f809fbaL, 0xc84d8601cfdad343L, 0x530e940cf4cb8ea2L, 0xefb4ce538637adfbL, 0xfffa4a98509411feL, 0x4c920237acca415cL, 0xd2ccfb0da7b7b4cdL, 0xb1aeaf131f14ede5L, 0x3fccc8897a3f8b4dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 17;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa6ba63c7c8b5c0b0L, 0xb3ea310874000a2eL, 0x195ffeb1984cbad7L, 0x4ec7cf559ee298e6L, 0x4d0ff374432cf77aL, 0x6d81b1299bb5dac6L, 0x46c19178a8adbb4cL, 0x6daa6bcbfd2d9deL, 0x14640fffeb9befL, 0xffffffffffffffffL, 0xffeb9bf000000000L, 0x146410L};
-uint64_t A[8] = {0xfe9ef0ba0cc4d4L, 0xf2ce50c53403e761L, 0x3840a9e7a9b65f5dL, 0x929ccb9306859ad6L, 0xd7c9ea848c225f0cL, 0xc2c3e0c892683433L, 0x17b15172c1bc94f1L, 0x2eb749110972e929L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa11f421a0aa2fa24L, 0x8794ad527f1bd633L, 0x30974127d9b6769cL, 0x2128f6be0b3fdcdcL, 0x27ff13a84ac74c13L, 0xd54e9b4ffe5eefdeL, 0xd82701574b8e5ed0L, 0x793c8b3bfd67d38fL, 0x77ef7afdc21d01a2L, 0x51a0014c2ab6950dL, 0xa9277150a4fdf6e1L, 0x965e3920b3916e01L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 18;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x763a43482fc568dL, 0x95c376329182cb26L, 0x39c4800f0518eedL, 0xb8d3d9319ff91fe5L, 0x90876a0140959b70L, 0x92bf7c8f91230de0L, 0xac98b930824e8197L, 0x707c04d5383e76baL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xb7b80a3b92f33f24L, 0xebb8c6eda66109f4L, 0x3d4e414d5ae125d0L, 0xfe4bac5d667b36a5L, 0xf91df8af155ce79cL, 0x36c0fc867a2482aaL, 0xc67961734171152fL, 0x7ed40f8766c8520dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcaa0e562f417b8eeL, 0xc8b7887d12a2b468L, 0x160ad5e9a131d920L, 0x783a45d33176bc5L, 0x994f62e42b883739L, 0x9310a4823b3fa6aeL, 0xf4108f586b21b7c3L, 0xeb1c603ec15bb203L, 0xb05466070ff6e897L, 0x55f550bb14de3eceL, 0x39b1f94c6a8f96e3L, 0x4577d32bc68216c0L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 19;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8ac01d2acd15f5b6L, 0x284aaa1660485c4fL, 0xaf2809b89f07febeL, 0x963d038b93adff33L, 0x1d7ea29846ad73d6L, 0xf080df11d11982e4L, 0x70e8904ccda0cec5L, 0xfa3baabec14c73e0L, 0x29e2e3ffd33014f0L, 0xfffffffffd12f8f0L, 0xd33014f100000000L, 0x2ed070f2ccfeb0fL};
-uint64_t A[8] = {0x793b80a73e500e39L, 0x3dc70d8c41726d51L, 0x327ba268cf29cc43L, 0x41754325b5ecc5aaL, 0xb9669b32568b37c8L, 0xbd6c661371ea683L, 0x73b527cb90a6ae1aL, 0xaa899fce49edefb5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7f984b83b2c9a9f3L, 0xa68a503a9b752f47L, 0xa9b89d3f716df94fL, 0x8daad25b4c5f605dL, 0x98e536a1a18ceeb6L, 0xe92e1fae5f09ea4aL, 0x213ddb826bc6ff9cL, 0x9fa3874b7e8ac4feL, 0x41670011231e56c0L, 0x3c180b5dc84e89eaL, 0x5ad7b3455f616c50L, 0x2b355f517a31196cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 20;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x3e017597744242b7L, 0x26e7308c19bb3268L, 0x8e69dd9e8e9f446fL, 0x663d1527fa549689L, 0xb21f0cda6a435f8L, 0xd5bf83bdf2c37f00L, 0x841e3c16d60d8921L, 0x54b6097b4bcf70e1L, 0xe6a8ffff1956L, 0xffffffffffffffffL, 0xffff195700000000L, 0xe6a9L};
-uint64_t A[8] = {0xadfeeb8858cee75fL, 0xb39892a238929f1eL, 0xd5a7b62826fe4135L, 0xf19b7e5353944d6aL, 0x7d6929a823d46fd1L, 0x821afc9c9cdfd923L, 0xb00c038dd1f7bbf8L, 0xa1625858237504b2L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x72814dea2bb607acL, 0xb0e81e723a65ff52L, 0x46e7151c0bf71dbcL, 0x15a5773721921cb0L, 0xfadbca099dbdd660L, 0xad694562767ed43fL, 0x5d97ca7bcefbe633L, 0x3932bae601ee06d8L, 0x4aa3b9f27d9ca893L, 0xa64f55f03d64a5f3L, 0xeb4fa175970a2cf7L, 0xd0def64565dca3aaL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 21;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc8403902470343adL, 0x1a1baaa76d8805bdL, 0xa7496529bbd803a0L, 0x6b34413077adc612L, 0x85efc7e941325cc2L, 0xa875f5ce529d75e3L, 0xb26d7fbb7d8c5b7L, 0x39f59f66175adff1L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x984311822f72e228L, 0xcf7c32827d149166L, 0x6fa00b1fcb129716L, 0xc2ffababa18a27f7L, 0xeb8fb0bc65349b8cL, 0x96f12346df378f7eL, 0xe83b3b66e6a90e1aL, 0x3a5399fd2aa0179cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x160b9710b213ae4bL, 0x5e2a7648137804f5L, 0x4bd966885f0cffbbL, 0x34fe61dc187decc4L, 0xc889e441306aee87L, 0x1de7675a17d5b89L, 0x2c57082cc7fa90c5L, 0x866154366e7507ffL, 0xd002d87ee86f9e7cL, 0xb56087db0f8c8ba8L, 0xc856a5f70f3a9376L, 0x57cb6a7b29dc61e4L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 22;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2b46f080179b599fL, 0xd1cd2004ccc9769aL, 0xfe23852dad97e8cdL, 0xd773f16ec7400285L, 0xaadda1e58f084cabL, 0xaf3b27893af7d6c0L, 0xa3eb1163f9e7a029L, 0xe546d4e573bc27bbL, 0xf9ffffff05ffL, 0xffffffffffffffffL, 0xffff060000000000L, 0xfa00L};
-uint64_t A[8] = {0x1ac9b3b95c98837aL, 0x8d80cea9a6380e97L, 0x68b05abd2b4c70a9L, 0x1297113175774cf6L, 0xf9b38f9d5ef51755L, 0x5566e3f4088317ddL, 0x279b1cdeee4dfc85L, 0x58aecf8f412543b5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6ff45bccb4012894L, 0xc200b9977e86f17dL, 0xd75d67c7dde9d70dL, 0x34f41dda1345aef8L, 0x7efa0919cda678aL, 0xc939c760d3f1254cL, 0xe27f942035ecbabbL, 0xe191806e0747f9d9L, 0xe9296da499fa4185L, 0xc7b2eee7a099e45eL, 0x4cd1b6b448aec129L, 0x82fe6d36a91e0353L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 23;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2f83a889ca881f6cL, 0x10b429a2811a47ebL, 0x2cd0bab9941a27e9L, 0xb7f1695a43020eecL, 0x4cb3c135b6f36034L, 0xdf4741a71b99ec5fL, 0x67f9ba802e45cbb1L, 0x2563c590f683e890L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x75b1deedf1dd81cdL, 0xcdedb3ab8dbc1d6aL, 0x6dbc4191c033ef74L, 0x99e398a2a8ab239eL, 0xd3e74166fb4fadeeL, 0x2bc2d83bc7d27b02L, 0xae7a6c8895365a36L, 0x163852f12b5f7327L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x715e9430ca63dc41L, 0x9ae4d4f5f7c4a00L, 0x85502913179aafecL, 0x9437c3fc5b796d1cL, 0xc9578dcf8460aa56L, 0x243a13b67e118d00L, 0x644288a98c1650cL, 0x95cbbc26e2c30ba9L, 0x462e366427556261L, 0xbd398a090ca1d57fL, 0x40eb86d82c19c78aL, 0xe1f22f4865a914b2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 24;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd1eeb7e05bfb4d22L, 0x8099d95dd283ba59L, 0x16868e2d862bdc8aL, 0x979129d2337a31e2L, 0x104e224dee0d0328L, 0x1c53f8aa95e66a2dL, 0x4ec17a11fcbae82eL, 0xf1c417884005d5eeL, 0xfffffffefL, 0xffffffffffffffffL, 0xfffffff000000000L, 0x10L};
-uint64_t A[8] = {0x93dd30692eb231d1L, 0xa39f471f32cfa731L, 0x62f7ee7e271be610L, 0x24f77778117311eeL, 0xd42c2714ffcea877L, 0xcd80cbe14660ab67L, 0x47bd736b9e83ef82L, 0x76e3740442e49996L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7e56b3bca64974e8L, 0x38c6ab5b335903abL, 0x18647aa9661a4dL, 0xa46f152766af8da4L, 0x7b5492fb46ea1838L, 0xa7ce291d5bf76726L, 0xade0c6674b3b48adL, 0xcf296fc89c56a314L, 0xb41b1e1563683ee1L, 0xead45d4fd237709eL, 0x167ef6695ba339a5L, 0xfe64e3f3f97bcb10L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 25;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x33ec6868f044b10cL, 0xac09c4ae65578ab9L, 0x85ceae7c4b68f103L, 0x871514560f664534L, 0xb16c4303c32f63c4L, 0xf909604f763f1574L, 0x5509d1285847d5efL, 0x6ac4832b3a8ec1f1L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xb5cffedf0790a013L, 0xf1ba0f6e25458e39L, 0x66d546ad56e03b9bL, 0x7ce0061255f79ecfL, 0x7c2da8ba0847c739L, 0xc641e310a7eb8838L, 0xf3cc871d693e2a73L, 0x16439c6cd3b5b4e4L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1774f54b333b21a5L, 0x1accd45b972de084L, 0x942df1fadb5d0e50L, 0x4a7fba1ae4ee9783L, 0xfe76ff744045784cL, 0x79189c0565c270eaL, 0xc6cc512bc8ce913cL, 0xc5322a9365f47b75L, 0x81e39676174bef07L, 0x45b04abfbfee037fL, 0xe10698310b774a97L, 0xf5caf1bc4691599bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 26;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x32aa2b76cc10d472L, 0x8a5e9c88a35d935dL, 0x1edbedf72772fb74L, 0x6fd4184e96fac200L, 0x594773459b8f8e03L, 0xec4eb2d82685a5cdL, 0x1bbafb5dcde461b4L, 0x5b22fd1e7c375cL, 0x4ce2ffffb31cL, 0xffffffffffffffffL, 0xffffb31d00000000L, 0x4ce3L};
-uint64_t A[8] = {0xff25a17d7870dc43L, 0x2882a3ad091ad8f4L, 0x86422227a32da1f4L, 0x5a90d00864bcd653L, 0x4879cd108c355101L, 0x8ded40b9d62f9fa3L, 0x2ecaba53bc0387efL, 0xafc51e23e464bb1cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x56835da08b1640beL, 0x4515ba75f578f377L, 0x497b81fb8eb33dc5L, 0xe94e556823567e5bL, 0x16497afbd0c6d312L, 0x7ce042647cf5029dL, 0xbc94928d40a35e04L, 0x10a042fb5907d1b0L, 0xf73c27ba1cf59be3L, 0x27240f7bb34305bL, 0xbfa840c496a15375L, 0xffdd50769821a4f2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 27;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x1851f9c63d860b69L, 0xdac11f445f82afb0L, 0x8687be821141749L, 0xa5e47c192244e059L, 0x64e16628fff2cfb2L, 0xad2d52d022fc29c1L, 0x12b3771785d7d300L, 0x56e333b03046dfc2L, 0x73db7fff8c247L, 0xffffffffffffffffL, 0xfff8c24800000000L, 0x73db8L};
-uint64_t A[8] = {0xb7b80a3b92f33f24L, 0xebb8c6eda66109f4L, 0x3d4e414d5ae125d0L, 0xfe4bac5d667b36a5L, 0xf91df8af155ce79cL, 0x36c0fc867a2482aaL, 0xc67961734171152fL, 0x7ed40f8766c8520dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x878adaba9cd82f0dL, 0x66916fbb007e754dL, 0x81d388eee1d83613L, 0xba4d4745411d00fL, 0x8005824b86c8872dL, 0xadc6268814926434L, 0xc0cddc632b66d2eeL, 0xed9cac1cd009787L, 0xb9b9ef48ff68f53dL, 0x98db9601a2556d10L, 0x8e46c059f0128ef0L, 0x8e8b0308022ed1b1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 28;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd0288cb552b6fc3cL, 0xc5f4d6cd3ac77acdL, 0xa3a14e49b44f65a1L, 0xb4241cb13298b343L, 0x460d45ce51601f72L, 0xd667da379b3aa441L, 0xb675511e06bf9b4aL, 0xd5cc8c2f1c040abcL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x47b8c90e0ec452b0L, 0x8691f46ed9af1fa9L, 0xda120f3433f2d27eL, 0x160837d249afa40L, 0xe0053424c4c03fc6L, 0xabd0d5874b2e52adL, 0xe28134da897595edL, 0xc9d2fe827d859fdcL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xac65c67cd65b03afL, 0xad63902955ce74efL, 0x3c40205247c6d58cL, 0x875931b4813d6d5fL, 0xf769614f0acc326aL, 0x531404c0d162fd7eL, 0x3c7f555e8e8f132fL, 0x7876431970cb11d7L, 0x77903c57bc0d5674L, 0xc09d1da19ee7a4dcL, 0x3670c0eb7fa36cdcL, 0x4d3c66cbf20246fcL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 29;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x1564370496fb8b1L, 0xc4b3691f14fa6e0cL, 0xce8fe0f30ecb3239L, 0xd785477a15edd4a6L, 0xee2eea470798bea6L, 0xa9d537cc1e80bc1cL, 0x6a1dbe7233846472L, 0x8ecf75faf1a21ba8L, 0x546d980fab9267eL, 0xffffffffffffffffL, 0xfab9267f00000000L, 0x546d981L};
-uint64_t A[8] = {0x81d4d67d5303aa9L, 0x55d6984e2ed8d949L, 0x9ea7ce6365f0934aL, 0x69b60cd9343b297aL, 0xa916a98dc09558fbL, 0x4a43bfd951bdba86L, 0x6c7cc30329ddb815L, 0xd6b16ee90d413600L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x81c4208de4a64582L, 0xfc280ac0dc29ce50L, 0x6d9744160c08c202L, 0x44d22daebc4873f7L, 0xbee686ab0c451cb0L, 0xef76b9d65f138311L, 0x4ea61f4fad951565L, 0xd0e16cbf64627fa6L, 0xc6ebd634da4f0df5L, 0xaddd26bb00e50898L, 0x28d0541518e1c6e8L, 0x517092d57caeff89L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 30;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x88a42ab51e710a07L, 0xea7008b5135a0378L, 0x79a0f3814d753391L, 0x555b95c4dcf2f0faL, 0xaf0c62c3d6b32facL, 0x60beb7b35c46def5L, 0x1a0e4e52fac0f79aL, 0xc86bdf45232f2a75L, 0x6bcc41e89433be15L, 0xfffffffffffffffeL, 0x9433be1600000000L, 0x16bcc41eaL};
-uint64_t A[8] = {0x633882d09d70b2fL, 0x751a305fb9992f1dL, 0x7e062c54bcd8ace8L, 0x52ebbfcdf7150d28L, 0xc9a8d89c7d00571eL, 0x6688e25bf90134ecL, 0xb8c44a8ed98d1f32L, 0x404354ed7f4ab63fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xfe4e16af5c296e16L, 0x6af4ac5c42e49f03L, 0x6778bbf4f5ee25adL, 0x57c5c64b199b8083L, 0xd3840fbef698618dL, 0xd1799bc2593a62c7L, 0x201f70f594104ecfL, 0xd29ad64fa843651dL, 0x66b5221623ebc77cL, 0x2303af08094bdca6L, 0x1aeb09ccbf3b6cbfL, 0xd802308747486528L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 31;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4c2bab1b8add53b7L, 0xcb9727eaa2d17c36L, 0x2100d5d3a8d063d1L, 0x69d44ed65c46aa8eL, 0xa062499846fb7a8bL, 0x6651f7017ce477f8L, 0x778afcd3a837ebeaL, 0xa084e90c15426704L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x29c60f9061b2c396L, 0x8876c61e6c81ab4aL, 0xc7ec0daf4d390d9bL, 0xc8a74fa90760ad64L, 0x23e94a05535cebf3L, 0x18eff73a7322ab63L, 0xc340e0c9b0b00d4bL, 0xca5220c37408de5bL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x45d67dfec119f83aL, 0xfdef04d65e504726L, 0xebeae47929c3639cL, 0x681b6ea26cc36c0dL, 0x8a28ea05d4ce4ea4L, 0xbb84f823c77799cL, 0x9ace5d5e0ca0be34L, 0x4711001015537a38L, 0xdd9a6473d6d56fdfL, 0xbcdf9e33c9b02f14L, 0xa6eb37dca468a9caL, 0x5ed300d2ab1a02d5L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 32;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd8d833b0863f2fc1L, 0xc4a77133c9152440L, 0xc711ea7c62fc87f0L, 0xf5bdd9372f5626f4L, 0x7c483dd4bd08dd5bL, 0x45787f29d43eb3c5L, 0xcbfcc8f14f83f3adL, 0xd905124b5330f08fL, 0x12167fffede97L, 0xffffffffffffffffL, 0xfffede9800000000L, 0x12168L};
-uint64_t A[8] = {0x254a4a3e09ba48fdL, 0xf5f9a498bf1bfdeaL, 0x7c18faa630900f7eL, 0x113542810b0284cdL, 0xe97fbab46827f334L, 0x5b7d6c595db8b18eL, 0x669025d6306e5844L, 0xee79ebb98c19a4cbL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7f46d63eb388b8a6L, 0x75de54f97f06293bL, 0x4003e128d8baccf2L, 0x35b49df810b2349fL, 0xe04e711e4ab12797L, 0x7c9f675d686e6b94L, 0xf27dcd43f4fdcdc7L, 0xfa95af06ee330853L, 0x363031e12e83be97L, 0x13aea2b5fc43341L, 0xcc95926c2d56899aL, 0x6d143f2bf6845750L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 33;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf2ce78da527b0e23L, 0xef4971c55d204279L, 0x2138ca7dc35846f5L, 0x10d3f742d32f4260L, 0xa196238134f62855L, 0x8023537a7dec4dc0L, 0xd26539b4d7066b9fL, 0xf6021f19f18408c0L, 0xea42b722155ca0aaL, 0xffffffffff9f57cdL, 0x155ca0ab00000000L, 0x60a832eaa35f55L};
-uint64_t A[8] = {0x2d0f1be2b5577cf9L, 0x8decdf26c01ce141L, 0x7e28a0d562d7881L, 0x8218884b2f38e1d6L, 0x707320391e7826faL, 0x36925b3cb704a1fcL, 0xe77da7d78929b20aL, 0x747c0826cd4f4e7bL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6a9dfbecd7679955L, 0x892ef45bc53427cL, 0xe54f7f6918ae0f4aL, 0xd4ef4f868ecf07aaL, 0x6ad89678cf67facdL, 0x9bd59666e46695bcL, 0x99d9eba3029b8d6L, 0x9df444a2e1e7d989L, 0x2354365e92ee3dc3L, 0x9928aa37c1ad26fdL, 0xeb0c64b1c167314bL, 0x7fec8d2ab65e2af6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 34;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xbbbe776c3b06382dL, 0x28dce0124cf06d93L, 0xf3e8a5a8d939d98cL, 0x39c5f53d7fd00690L, 0xab623d2c4121e279L, 0x590dc5a09768f923L, 0xebf4b2c8188d809fL, 0x8c61f46f48712a12L, 0xfffffffeffe65f00L, 0xffffffffffe65effL, 0xffe65f0100000000L, 0x19a1000019a0ffL};
-uint64_t A[8] = {0x863adcbfc3e11936L, 0x132997833c5875bdL, 0xc66fb8e48cec6857L, 0xb9ec70c15113985fL, 0x2dbe3b667dc96eebL, 0xcdc946093e60978eL, 0x17495e3dd74c9d3bL, 0x2babf31ff018f49cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4438fa949763708eL, 0x2ef6f6284035fdaeL, 0x2c7bc67e940f5dc8L, 0x372082bc46b0246fL, 0xcf1e152e93a26076L, 0x16ecdcf6cb6c254aL, 0x4b5806cc21bf1d43L, 0x5a611e223e99f8a3L, 0x77ace7f33b240738L, 0x145e9ef8eaba03e9L, 0x80634d76b1cbc3abL, 0x2be3dfbddb108ed8L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 35;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc5d2767e2f1a0d67L, 0x50ea317973864c12L, 0x67d4c564f28528e1L, 0x8e7d5929caba6cfeL, 0xea7cbd62170c82ccL, 0x2f0b54596f0391afL, 0x48bd4d0808160d96L, 0x7393682056092b24L, 0xb3773e3f4c88c1bfL, 0xffffffffffffffffL, 0x4c88c1c000000000L, 0xb3773e40L};
-uint64_t A[8] = {0x3ef7fe59ea3221baL, 0x32b0a08a947eb0fcL, 0x14e3248935cb57a7L, 0x4b58c0845c0e281bL, 0x2bba72ad6d2715cL, 0xc55188170fd69b7eL, 0xf77dd00bfc38ed37L, 0x6f3fc230de80a5dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7dff2653e5d31b10L, 0xebeef3cf7f87dd15L, 0x4a6bd5f6266c9c2aL, 0xf8b874398ea5f92bL, 0xbe1c10e99a60a575L, 0x8124ccb69b04acfdL, 0xdc78eb3bdb62fa26L, 0xe8f47ddc0c01a383L, 0x2ac829cb9613838eL, 0x4c0d7a96b3753819L, 0xd4e6bd1e872f512L, 0xc2b9585c68bb47fbL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 36;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6a4c013557f2b9e8L, 0xf72e079fd1e5763dL, 0x36df500915a3d018L, 0x500770c9c328cf24L, 0xb2c21e701db5a4bcL, 0xbbd561477effb9eL, 0xad289477433405b1L, 0x8f4096686d6d9f50L, 0xcf94d1ff2e17ace8L, 0xfffffffffdac7ee8L, 0x2e17ace900000000L, 0x2538117d1e85317L};
-uint64_t A[8] = {0x13b094a94e0de8bfL, 0xc1192e9bebd3fd5fL, 0x4426583cc2bc2fcL, 0xe3874e85b10c271L, 0x721a3a6c6b0185acL, 0x5bbf5051314aa975L, 0x8a3c17181c4402cdL, 0xe4a2b66f3663fbf4L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1b02413f3d3ebca0L, 0xbbd224922ba191ebL, 0xa23fd98c6ee1e3faL, 0xbd1a3f345c8fd566L, 0x8613026d5bf087afL, 0xf42372d442d89f03L, 0xee63ffa49472e050L, 0xdd3c7bd3591c6345L, 0x410457258d281af9L, 0xde59603f30e52fc8L, 0x4db6d14ad884d070L, 0xb577a957aa88be9cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 37;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf321e9de744c6ad2L, 0xcdc70e15993aea70L, 0xb95cf0be74dcc589L, 0x3a167d90f86d6c54L, 0x7fa24414cc3cd05dL, 0xe16e43069c53e755L, 0x76933e2a56e412fdL, 0xfd8d6325991762bL, 0x1cb90fffe346eL, 0xffffffffffffffffL, 0xfffe346f00000000L, 0x1cb91L};
-uint64_t A[8] = {0xc9a5bd13954b9ca2L, 0x566feeb4d61328caL, 0xcfd7bf48e54e1acdL, 0xeb2603b57b7acd4dL, 0x7bcdd0ff094f23f1L, 0xcb8721ecb3ec12b9L, 0x9e4cbd67c300f661L, 0x31ccefd32ba4dc4cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xdb7dd1c94a9fa9abL, 0x40048094f8dce548L, 0x586487db97c84212L, 0x41896e42a9b9cc10L, 0x6d3683e8a5232f6dL, 0xbce37aea53541eb6L, 0x6f3727fd3e9145c3L, 0x202a08bc3ed3e299L, 0xe4f296348ca52d1fL, 0x1b428adb7ebf5e61L, 0x23f6eed6532fdc36L, 0xe999b6e0ffd6e7c6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 38;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xdf3ce991d2d510f6L, 0x9f81149c449b37eaL, 0xd999ae644d590c3bL, 0xf82ccc8afdcb64a0L, 0xb9e5b2f376fa3f1fL, 0x118e3382260e7b98L, 0x9eaaeb3e89c4c4fL, 0x48eefcc582e18af0L, 0xb65313603f200a80L, 0xfffffffff5731de1L, 0x3f200a8100000000L, 0xa8ce21ec0dff57fL};
-uint64_t A[8] = {0x82de615608c76a8bL, 0x9e0760f5e009de70L, 0x13dcc92f9c572952L, 0xce00bd446f820d48L, 0x47ec470393401b88L, 0x477a8089293b49a2L, 0x5c437d80ee42e88dL, 0x3e4356a607a49fe2L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7bf75c8a1f471b57L, 0x22ce8c9c485b8006L, 0xa87ed40355af06eaL, 0xab609499c7a0225dL, 0x182426871d21c912L, 0xcd9381c97d046696L, 0x675159a6735a5923L, 0x953e6532c5927b40L, 0xf73dfb8e1874c6aeL, 0xceb45a17a4e2a0fbL, 0x55ff54c3cb9ce6dfL, 0x78a0666faf351a3dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 39;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4b45458226c622e7L, 0xc60356d7da17591dL, 0x4381f85b7c03a21cL, 0x26c807842e2d8caL, 0x3c7e5e74ac572ec1L, 0xde18792fc19f2c8cL, 0x263568e0525f04dcL, 0xa2b0b26233640218L, 0x78361a4687c9e456L, 0xfffffffffffffe9dL, 0x87c9e45700000000L, 0x16278361ba9L};
-uint64_t A[8] = {0xd649102ec1fb2df1L, 0x9c149775e9226d96L, 0xa3b71044b21decdaL, 0x9d0dfc8ea449fc3bL, 0x3314dda07d498cf2L, 0xbe36114a7ea752a4L, 0x3108cad73819c477L, 0x55f13bc006e22745L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xf20f746cafe636L, 0xd53bca518c2cf084L, 0x38d78c9be0ba537L, 0x2285a26e818cbedeL, 0xd610096404633f9aL, 0x42c434dc37e5163L, 0x172bfeff8e77c6bdL, 0x3730b2e56d626405L, 0x50de97f3a70ce36bL, 0x1427d9d3892d9014L, 0xb9549a4a86de1726L, 0x7c6db6a28787f9b9L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 40;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x47d014641733bd6dL, 0xfef8db8a4124dbd5L, 0x30db142dbdd868eaL, 0xd47c5fe4eb0040b0L, 0xabfb2cdaa2d772d2L, 0xa6ea6b08185c17a2L, 0xc8633460403da23aL, 0xb278eff690dc24c7L, 0x843fffff7bbL, 0xffffffffffffffffL, 0xfffff7bc00000000L, 0x844L};
-uint64_t A[8] = {0x76b85af13143ff6L, 0x25e08eed9e9aa27fL, 0x3e3d0488ffc51120L, 0xf8c81b242528c884L, 0x418e685027128311L, 0x63ac37d528a681efL, 0xf0a07a9732ef1690L, 0xc7fe6aa567d1367fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x65a1dd73367fbe24L, 0x2c96ed0c520c7a01L, 0x47206ac110b6ee2eL, 0x97486ad8f8c1ad7L, 0x276102ade197c48cL, 0xa8f42a18af32bf3fL, 0x3aff0195feb9f120L, 0xccfe816f113db0d2L, 0x3873049b476cf46L, 0xbff713aaf5d20580L, 0xd64cdb1513209724L, 0x339d28ac65d8cb1bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 41;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x1531b3de8bf4a715L, 0x81615b8a473d4da1L, 0x341842c77d94f082L, 0xe102780ac82735c0L, 0xc92adbb5b1bcb5f3L, 0x12ee426867c11b47L, 0x5828f00840051c39L, 0xc9728a43135274b5L, 0x9502f8ff6afd06L, 0xffffffffffffffffL, 0xff6afd0700000000L, 0x9502f9L};
-uint64_t A[8] = {0x5da30e809bf1f538L, 0xbe5d744b3a90ab99L, 0x9434dd7251db0f1bL, 0xed877b75c958ef7cL, 0xafe213dbf0592657L, 0x9805f40db8d4bce3L, 0x1253471881081adbL, 0xed43c8beb572b391L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x87fab480ee2b8161L, 0x3b44bf815a6dfbbfL, 0x9ad94dcdb0d17b47L, 0x6aaffaa31934d1abL, 0xee6685760cabf101L, 0x89b3abbc8d90c3f1L, 0x60175ed2c49d6c92L, 0x1b74eae668b2afabL, 0x8d00a045f8830827L, 0x4d5fd5a3ce88c457L, 0xd68a59d0e85d22f2L, 0x4aa998bd15ca0c67L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 42;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd176448e35b23e27L, 0xb00eea8a5d34f708L, 0x294b12e1ca1b04e0L, 0x46ce85a9e25a441eL, 0xa48558f2fa1bd2fL, 0x77c52d75519978d1L, 0xc45e52db3bfffc8L, 0x5ce885392bb80ef9L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xc7ddf7864ac64482L, 0x80cb53c4c9ac79e0L, 0xb47cc1f1216cd550L, 0x1df4d36fc0aec63fL, 0x7c792a6f445611f5L, 0x7002065a567a0793L, 0x817c6261de6732b9L, 0x753e20a3ae511746L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa63fefe087ee0a27L, 0xd3361199c0ee65e1L, 0x4b9d828ade141bbcL, 0x1155eca32998ca21L, 0xf441598aa6a3c35fL, 0xbe90166645ad6140L, 0x16f7c49207b6063eL, 0x2b7878090ca2af64L, 0xf667b2f71514065bL, 0xd0bc693a6c7782d8L, 0x8b31af105751d06fL, 0xd7264dc5de548220L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 43;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x9624fa491af2b23bL, 0x99d481d9aa936f24L, 0x965d676f0592440fL, 0x7820850c249ed06eL, 0x2f7a9f7492363053L, 0x1e723b82b1d2a6ddL, 0xc6eed0222517903dL, 0x52d9c33dbd0e8d00L, 0x2e140620d1ebd03eL, 0xffffffffffffd65fL, 0xd1ebd03f00000000L, 0x29a02e142fc1L};
-uint64_t A[8] = {0x1194785fc0ebd864L, 0xae08dba305d1c30L, 0x637a496883bf13e0L, 0x1e59d7ad07931b9L, 0xfe138e7c3a8da79fL, 0xfaa2ea66baccab45L, 0x46610f593244345L, 0x990198536bb2cc87L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xf26e0ecd5b43de4eL, 0xbad6d6ee2c30a2e1L, 0x4b1f0620b53e53d9L, 0x2931960927d55b6aL, 0x5e19fcda84a45e69L, 0x635401ef8da173b2L, 0xc033ffcb1a0b373cL, 0x32ffcc894676bdb4L, 0x16ccd8cbc016b06L, 0xa1b53988d828b745L, 0xc8165207a527b6a3L, 0xcd40e02703321785L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 44;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x33ec6868f044b10cL, 0xac09c4ae65578ab9L, 0x85ceae7c4b68f103L, 0x871514560f664534L, 0xb16c4303c32f63c4L, 0xf909604f763f1574L, 0x5509d1285847d5efL, 0x6ac4832b3a8ec1f1L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x57fcaf64b5e8d6dbL, 0xf670e79ac97efbdcL, 0xe12253fbdb991b94L, 0xa928a6d84768c868L, 0x1d94d6153c3e2656L, 0x2085b6e8694a3819L, 0xea05005e197a2805L, 0x8004d784b244753L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x5790c3752a4a7baeL, 0x2b96388e098c10adL, 0x64f6b2ac15904253L, 0xe1f65d6c74f1f399L, 0x7a8b28f324f9b67eL, 0xe56ad41e02407d1aL, 0xac40e71d23df4203L, 0xcae16dd6fb239e51L, 0x241046fbc5a425cfL, 0x4a6722ec64277123L, 0x5b53a57f90302a91L, 0x2213928238028334L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 45;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x70805e57317e0201L, 0x907e89b301e24452L, 0xac131ca63101ca91L, 0x8c9859401adc7ecaL, 0xd7ef5f2ce1cc3f05L, 0x1e7aabd16a637fe6L, 0xf31f607c3b46b523L, 0x739e14e2da1bf421L, 0x1b0828ffe4f7d6L, 0xffffffffffffffffL, 0xffe4f7d700000000L, 0x1b0829L};
-uint64_t A[8] = {0x40bb8a1ca9a92a51L, 0x112746e2f16e4f64L, 0x779bb091f4b4168bL, 0xb2ba97669274864aL, 0x37f260b9e557fe9bL, 0xf53a2212b22d0d90L, 0xe2f8e1c67da8af3aL, 0x592870011c59d7adL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x99b42ff1e482252fL, 0x6dbd27d39c4815caL, 0xc432845277dfa86L, 0x25b6f6408de90210L, 0x5d7e1cf8fea01d30L, 0x3de171c7b3c52ff8L, 0x691b1652e01b8508L, 0x8038fc64c35cada3L, 0x1dec5b6c362a91ddL, 0x76c813364af845fL, 0xd65ed20c1ff7bf6L, 0xacaf01f57dfe48b8L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 46;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x3362bae22c3ad946L, 0x862508037908c968L, 0xedffad89c6f6e3edL, 0x46870c7f6e823724L, 0xd19a1be06ce75207L, 0x3c898ab747b7c7ecL, 0xaeac44c7816a97fcL, 0xb3b1addf02c166e8L, 0x9f67287f6098888bL, 0xffffffffffffb10bL, 0x6098888c00000000L, 0x4ef49f677774L};
-uint64_t A[8] = {0x81d4d67d5303aa9L, 0x55d6984e2ed8d949L, 0x9ea7ce6365f0934aL, 0x69b60cd9343b297aL, 0xa916a98dc09558fbL, 0x4a43bfd951bdba86L, 0x6c7cc30329ddb815L, 0xd6b16ee90d413600L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x2933915b57d78019L, 0x6c24718cfdb1a060L, 0xebf0e67183638e04L, 0x500417ee91600b9dL, 0x30a61f8b30980d31L, 0x5f7ffb6b3f4c4f90L, 0x121a0af670ab6281L, 0x8945c8cd814e6230L, 0x8724ab50dce156c5L, 0x72c0ba46829e8818L, 0x9947d6bdeade8767L, 0xd2bb4576a82b74a8L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 47;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x948fb3f76932e631L, 0x1707165bb939f40fL, 0xabeee3e9369a6067L, 0x7d81fd488418cae4L, 0xd8d37d942785971dL, 0xed5cf82dc911847cL, 0xbdf176108c7f9dbaL, 0x5a1dffeabd468eL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xff25a17d7870dc43L, 0x2882a3ad091ad8f4L, 0x86422227a32da1f4L, 0x5a90d00864bcd653L, 0x4879cd108c355101L, 0x8ded40b9d62f9fa3L, 0x2ecaba53bc0387efL, 0xafc51e23e464bb1cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1077f11af012b429L, 0x4282157fac4605a7L, 0xe10e8659763cebcbL, 0x314e86ee5c9955aaL, 0xd2ed5e7017b73140L, 0xe069f6cff4862b0fL, 0x9b49a41191d4e15eL, 0x3ac00950c7d4ac5eL, 0x6a95ed860f3df612L, 0x117b8d514fe0e4e4L, 0xda533e3e6c93418cL, 0xdd0ed2bfe0a40b6fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 48;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xfdc777e8e93358a4L, 0x6a0b0685d2f8ba3dL, 0xc99ffa23e3912a9aL, 0xfc611352f6f3076L, 0x793e8d075d5cd074L, 0x9de917da153a35b5L, 0x640c2d6a4d23fea4L, 0x94a787bb35415f04L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x76b85af13143ff6L, 0x25e08eed9e9aa27fL, 0x3e3d0488ffc51120L, 0xf8c81b242528c884L, 0x418e685027128311L, 0x63ac37d528a681efL, 0xf0a07a9732ef1690L, 0xc7fe6aa567d1367fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6deb44bc9756dab7L, 0xf63b6eedec5ea412L, 0x40d5e3888d4e093dL, 0x3e189b0ec11377d5L, 0x994219d97b16f98aL, 0xa167ef8a7bc9184aL, 0x352205301b7ed7dfL, 0xd6802c8dcdaee3c1L, 0x9a40dc529e0e752L, 0xbbd58867cba1e841L, 0x749d0a661c33e686L, 0xe90209eef5b9980dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 49;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6dc659d335973a5L, 0x7a96346bae414cecL, 0xf4676ff40613baffL, 0x5eb3509214e6a363L, 0xd346790b3ed19f35L, 0xca69e394c894ac76L, 0xdf5b845a87a92f6eL, 0x592829ffc8e32ebfL, 0x289e6fffd7618L, 0xffffffffffffffffL, 0xfffd761900000000L, 0x289e7L};
-uint64_t A[8] = {0xfd10d4229c2a4473L, 0xd255f5c688011591L, 0x6168ae5f30b59dfaL, 0x6f939d68a2be35f5L, 0xc9594125c2f30c3dL, 0xfaa6fa91bc6665c6L, 0xc1cbfb07ec4e60e8L, 0x5f41d10cb649b4c6L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8f1932e2a0b5d9d8L, 0xa3738afbe9360988L, 0x883b7698fc42697bL, 0x57ddf1274b0ae3L, 0x89c234cb7dedd5f6L, 0xf5e1641b37aabe99L, 0x4a08eb0239bcb423L, 0x72a7fe7d3c0437ffL, 0xf2a3c2a7a4f43e79L, 0xf0fe4a2982f1bfccL, 0x985f3e02648d5550L, 0xca0e08859ba3923cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 50;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x53fa43894f4c22bcL, 0xee5614c514b56902L, 0x958f7a6dcf89b2bcL, 0x9dcda93232c41ad4L, 0x9d9b7b0ac7aa6bd3L, 0xc8975e8fddbdf24aL, 0xf1f379a9c74ceb83L, 0xc3f7afcee0c6c49dL, 0x14bb6d14eb38d9ccL, 0xfffffffffff446e1L, 0xeb38d9cd00000000L, 0xbb91e14c72633L};
-uint64_t A[8] = {0x6dd9dd6684ee22bfL, 0x41b1dcb877b6d686L, 0xa11ded59ce7db4f7L, 0x520d5b964031efacL, 0x71fa5242e827ced5L, 0x3f2ef814d940c167L, 0x227a98c6572d686fL, 0xb64b316dec22c9b9L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe654b38838c22e8bL, 0xbbeaa54c124732ceL, 0xc88f3de7a13e956eL, 0x75204b6e3974bd10L, 0x28daba66ab7d78f1L, 0x1ac0f9cf2955e900L, 0x10544bbdd82ea2b3L, 0xc86591285bf0d84dL, 0x9b09c1a38c1af2aaL, 0xa35571f84cb0469bL, 0xd3a3262e10e60d8cL, 0xf25fcf2579a9489fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 51;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x1691b704d2f245e7L, 0x2e39074538318100L, 0x762a0cbda9d200ecL, 0x6c180755d321a188L, 0x67025fcedc8c0ed5L, 0x4a8040176673f939L, 0xac80e003e07c81dcL, 0xe395a9a1ad36203cL, 0xe1780fff1e87eL, 0xffffffffffffffffL, 0xfff1e87f00000000L, 0xe1781L};
-uint64_t A[8] = {0x46ed86f948a08edcL, 0x3f5b4c65383e91dfL, 0x8f4f9ba66ae7ead8L, 0xca5477de61ea9046L, 0xa091153d7642156fL, 0xc433ce04b59fca93L, 0x3b33c627d44fcef4L, 0x51c35033d6d90800L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x9996f0403dcd1c4fL, 0xaacafd957a145537L, 0x5765ee332f8002c2L, 0x5bec8fc75867c2f8L, 0xa18ab2f3f3cc7a61L, 0xd04b6eb6bd39265eL, 0x101e7a7bdb901c85L, 0x6bf50c16690a56ebL, 0xc9e48a112f45075dL, 0x178a6b0fa3bbbafcL, 0x5498c169a9709f44L, 0xd232f97293c34e76L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 52;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x41e854ddb97df4bbL, 0x16e4967223ca5b45L, 0xa0ff234fb175e868L, 0x6a8af6703f627dL, 0x7cbefa4d1c556bfL, 0xf54c91bca87d777bL, 0x67cc12c7c20e416dL, 0x76805ad688d899a8L, 0x1298ffffed66L, 0xffffffffffffffffL, 0xffffed6700000000L, 0x1299L};
-uint64_t A[8] = {0x5407a49b4faa0cf2L, 0x7eb23d3000f5ecf8L, 0xa2db87227dff4d2L, 0x6f0021dca8ee51c3L, 0x3e855bd6d766cb88L, 0xf50f8d1d5397f0dfL, 0xd0b1f024322e5746L, 0x3f859e44807206L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1460e682a950ef31L, 0x83df5e92835506aeL, 0x2c147a1098ddf8adL, 0x80c7393196f57187L, 0x371ac9e4f39c35bcL, 0x84adf7e0599d55f8L, 0x2533effefedd3dacL, 0x6454378adf221c9L, 0xd479c23d2ef20d29L, 0x4a375803fc698932L, 0x297765d8e54ae308L, 0x1781aa9269fd2dbcL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 53;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x5dd52e3523850b27L, 0xd0022c90c9f5aca0L, 0x5966e490a231775fL, 0xbbb9a9924f7de93L, 0x19f0440ab3295f7fL, 0x3b1f1328174b1b0L, 0x6df61e54a439b863L, 0x49ceb09b07c8360L, 0x458d5dcfba70cfaL, 0xffffffffffffe2d7L, 0xfba70cfb00000000L, 0x1d280458f305L};
-uint64_t A[8] = {0xf88efc2f992a1840L, 0xd1307b0ddc6b1805L, 0x7ceb3c4ce14ad2f8L, 0xdf7af4100a29b85dL, 0x40eb4ee6d7192864L, 0xf417e1adbb353aaeL, 0x2fa050056a2dd698L, 0xdd87442cd9c57692L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x5e00c8f2e5b4ac8dL, 0x4294d2c67f2ba27cL, 0x22f50b7604ef4896L, 0x2d0608361b083c7fL, 0x6344b8a73e3a64f5L, 0x5d3ce5787c06f636L, 0xd3299e8474edad76L, 0x6ef72bcc794fecfdL, 0xdd797db0a8f67f22L, 0xf406e6a85994df72L, 0x7d3439ce7e866ed6L, 0x13f09637e4e17140L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 54;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x7b0249f059d9dadcL, 0x8ed48bc47b01525dL, 0x67bfcdfc8933cf6dL, 0x9834d6ab6c5ab5a1L, 0x7c5eb50e55ff7be1L, 0xd76f5fbd6bd81e7dL, 0xa121040256f0749cL, 0x74be5935714b91a1L, 0xdcbfffff1077941L, 0xfffffffffed37941L, 0xf107794200000000L, 0x12c86be0ef886beL};
-uint64_t A[8] = {0xd4132c949782a702L, 0xb9c7481ab24decfcL, 0x1c1aea428adc92aaL, 0x700b7340f3884e72L, 0x7400a35dd27a2b5aL, 0x65444adb78515317L, 0x9866c40489564d2eL, 0x599c5f75dc920771L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1399cec0819bb6e3L, 0x783a0d82c5ddfc0fL, 0x3848b98a0f52f7b3L, 0x2277f93fb562a6f0L, 0x92df3830e7c7bb5L, 0xb5c51f7a22ab2378L, 0x7f19631d26a8694fL, 0x7e9dcc883e2caacaL, 0x53ed7ac1fe125dL, 0x55d34a325242f8eeL, 0x34b038df9b9c59cbL, 0xd382767312b8a0ecL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 55;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4fdb79bcc6c31920L, 0xd7fbcb8234f62873L, 0xf102efde62974914L, 0x1517d18d2134496fL, 0x72c4cace2a3506d6L, 0xcb071b97bba71437L, 0x6e4667b9b3de018cL, 0xd551bd00d5074cfeL, 0x16a973ffe9568bffL, 0xffffffffffffffffL, 0xe9568c0000000000L, 0x16a97400L};
-uint64_t A[8] = {0x5da30e809bf1f538L, 0xbe5d744b3a90ab99L, 0x9434dd7251db0f1bL, 0xed877b75c958ef7cL, 0xafe213dbf0592657L, 0x9805f40db8d4bce3L, 0x1253471881081adbL, 0xed43c8beb572b391L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3d32182527195236L, 0x3f1e745b52a63e56L, 0x10a00f3c1947a11cL, 0x24b2e138d5017dc8L, 0x7228bc9fceaaea42L, 0x70de5a7d799f68f6L, 0x1aa4dc26b1dce5a9L, 0xe1001e5deebda651L, 0x493b1884919da3cbL, 0xe30769f667c735edL, 0x8e69cd9df2aa3e3fL, 0xc48a6d3ef7b22f21L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 56;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xdd421b5d4a210364L, 0xf94aa89b40750d01L, 0x49c7cb94fc05804bL, 0xf19f382e92aa7864L, 0x574cc7b293786791L, 0x11f947e696cd0572L, 0x30a119fdd4af1ecL, 0x56cd001e39df3672L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x341b086b676a2fbeL, 0x68db382f19ca019dL, 0x697e8c0627dc6ddaL, 0xcdb9a82de60af300L, 0x278c89f1cfbaef62L, 0xc70d2f3278e0a3bfL, 0x26f4711925a9c4ebL, 0x846dd6f74b72b663L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xec2d42539c001a3cL, 0x9d661e02c83c9defL, 0xa6c0217fddda9b8eL, 0x8ad1552439b0425bL, 0x57f04337dbb338f4L, 0x251d11e3d495206bL, 0x6910e05e718234baL, 0xbd170b8e08fdf21dL, 0x56d8ed0d1d492c5aL, 0x6f908f93d954f49cL, 0x1fb6c0722bd6ed8eL, 0xdc1a6fff53607a9bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 57;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc368b339c6f95675L, 0x3dbd797b5c84fbb0L, 0x3418c27a0be93456L, 0x5b75ed393e57504eL, 0x679e3610d19c8e0fL, 0x4e6c4406814e1cc7L, 0xbfff7e5f5bfb6821L, 0x28fcd703f700ac0aL, 0xa0ffffff5effffe6L, 0xffffffffffffffe6L, 0x5effffe700000000L, 0x19a1000019L};
-uint64_t A[8] = {0x3ef7fe59ea3221baL, 0x32b0a08a947eb0fcL, 0x14e3248935cb57a7L, 0x4b58c0845c0e281bL, 0x2bba72ad6d2715cL, 0xc55188170fd69b7eL, 0xf77dd00bfc38ed37L, 0x6f3fc230de80a5dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcfa856057aac93faL, 0x2161144405b50810L, 0x77743493ba0b3e12L, 0x52d3cbc1b2423be9L, 0x424877626481784L, 0x8ee463a8fac15154L, 0x7641fb38f07339b5L, 0xad2369591753402dL, 0x5e56eaadaf3d56ecL, 0xf836f23f378dfb0eL, 0x1b32120db132a467L, 0x7131195820db82b4L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 58;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x20a4eaf655becf25L, 0xd1e75d66949dfb36L, 0x6d37b12360725b2fL, 0xb30a7f3245cf99afL, 0x54b9736178d7f7c8L, 0x3174c7468984423dL, 0x1779987b53192463L, 0x9bc8abd920656359L, 0x960fffff69efL, 0xffffffffffffffffL, 0xffff69f000000000L, 0x9610L};
-uint64_t A[8] = {0xf667eb6d85778c2dL, 0x69bd3b98be8a0269L, 0xd0d881388c8d4dddL, 0xbd27516f04873c53L, 0xee39a1f1e2a7175L, 0x9be12c7128ed3a77L, 0x93d4ff32308e256eL, 0x40f84dcd934224b1L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4066819674dc76f9L, 0x201ed84505e3fcf6L, 0xa9cb277c045fbabbL, 0x33dae1b6f0831d4bL, 0xaebb5bc7c8fed78aL, 0x4e15d87beb7259L, 0x9e9c5bd8f98d626L, 0x37f2120a5250bf9fL, 0x350b5098d6007da1L, 0x31994d0dea8bfdfL, 0xf066730ee502429cL, 0xa1b90ef0f2fdb751L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 59;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x5853e4c4363186acL, 0x68f237d16fb3664L, 0x6f5ae714ff0b9346L, 0xa9d89488a059c142L, 0xc0bc0e569192408L, 0x47b864fae14e7b1cL, 0x2ec4a76681828876L, 0xe2d87d2363c52f98L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x863adcbfc3e11936L, 0x132997833c5875bdL, 0xc66fb8e48cec6857L, 0xb9ec70c15113985fL, 0x2dbe3b667dc96eebL, 0xcdc946093e60978eL, 0x17495e3dd74c9d3bL, 0x2babf31ff018f49cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xbfe7a7a232b36e90L, 0x9e343d94e0d10f3L, 0x7092b86763c2e444L, 0x5ea782b53ca25e6fL, 0x418b3ae543bda0bL, 0x9c7e053e0f670ec0L, 0x8370cce7d87c9966L, 0x96e900ecf9e095cdL, 0x2de6f7fb8daf928aL, 0xc9a7406255d3f59L, 0x5714d1cf8de0d511L, 0x1013dc38b0b9d71dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 60;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa6eecf308794885eL, 0x74b44206ee3751beL, 0xcc8715abbc82a095L, 0xd5192c88589b69ffL, 0xe9f04cd324c2e311L, 0x6b5df55fe390da5bL, 0xa3f98377daa4c864L, 0xa05a7aa8dd0ce3b4L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe026f5b25f9d77c1L, 0x61b9a701a5f704dfL, 0x2730039c46524a75L, 0x7088827dca75a5cfL, 0x52ef898f672d8f62L, 0xcc5deaa0af391f41L, 0xb7f1ae76b644d202L, 0x1b1ae496616b04f8L, 0x591130ce786b77a2L, 0x8b4bbdf911c8ae41L, 0x3378ea55437d5f6aL, 0x2ae6d377a7649600L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 61;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x53086025107aa7beL, 0x318138d8e4da40ceL, 0xbc52988f4d4885faL, 0xb79be12e9542f5a8L, 0x69fbf9169cac00faL, 0x824b866557bc6482L, 0x1a09a19e05ebf9ecL, 0x73b4c7ff8051c9d8L, 0x1298ffffed66L, 0xffffffffffffffffL, 0xffffed6700000000L, 0x1299L};
-uint64_t A[8] = {0x7306bbb8a15a8e04L, 0x8f02d66c01def11dL, 0xd63291c8154a67e9L, 0x7c6e85f3616f1ccfL, 0x1e787b17c6e02971L, 0xa4194c68b7b0ee5aL, 0x48bb709e959aa2bcL, 0xdc645794566e4359L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xed5daa4ae6904078L, 0x712bd14734ebf65L, 0xb6eacdbd7c109946L, 0xbcaf8130be55c12cL, 0x4965aeb158564c8bL, 0x9d8a7ad5cd659edaL, 0xe126541937bebd65L, 0x17956ef0cc74dcbfL, 0xece4fa4ee60050ceL, 0x60b90b183c6723f9L, 0x10b23630523c649bL, 0xe0bd85d75dadf2acL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 62;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf2ce78da527b0e23L, 0xef4971c55d204279L, 0x2138ca7dc35846f5L, 0x10d3f742d32f4260L, 0xa196238134f62855L, 0x8023537a7dec4dc0L, 0xd26539b4d7066b9fL, 0xf6021f19f18408c0L, 0xea42b722155ca0aaL, 0xffffffffff9f57cdL, 0x155ca0ab00000000L, 0x60a832eaa35f55L};
-uint64_t A[8] = {0x694ee4e9a8bd4f9dL, 0x77d335e552e3660cL, 0x523ce279ea653c2dL, 0xa16534739bad9f30L, 0x41c4e903744eda68L, 0x45a5457f2ba7c27fL, 0x578aa86076fcc7beL, 0x9a49e32de56a12e6L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x86c855cb1ad210feL, 0xf4d61762133be39aL, 0x3d335082428b3877L, 0xcc852c1cd074a99fL, 0x9b86f47ecb475745L, 0xcf6f331f2e3b4c33L, 0x2d1a1a5d10a82dc0L, 0x1b7ec7cf72590b16L, 0xfb70686b7c234542L, 0x1d899b7bc1351560L, 0xf9f61f62bc57b978L, 0x9fe763fde3584d5L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 63;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x78ed4fe6e3a7de48L, 0x5a7e384de42f8cb2L, 0xa3cfa7fd44b81977L, 0xc7c6e4d1c4ce250fL, 0xb12347993e909dfbL, 0x9c03344b75554fadL, 0x55912064d0f5bb2aL, 0xa9231c8ce9e571caL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x9327b0e9666b1242L, 0xf5f3ebfb4d392c57L, 0x7304174a87d08095L, 0x6869c3bcf7e94bb7L, 0xc3c5a8ebeeb43c51L, 0x3ce9943ebc307220L, 0x8fe1ecf0cfcb6406L, 0x710e6e6b5594a88L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe872e42f6df8fac7L, 0xaf049c1e66163e68L, 0xeaf45e5014af53b4L, 0xca799cdcf531a42aL, 0xa4945e1d12f7b61dL, 0xa68f201f9a391eL, 0xbebbea65daae5414L, 0xfdc3f1a5b5c9f00eL, 0x1a3a610282c333faL, 0x9b75b3ad69099fa4L, 0xcf346f4d4318671dL, 0xa0a2deeb331b26a8L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 64;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xddd8babd27088fdaL, 0x8542a97638fa869L, 0xfcc2dcb2063ac9a0L, 0x518f401c863df214L, 0xb9479af3326085f1L, 0x62189a505f42d14fL, 0xbb06f07dbfb93f4L, 0xfa1523624d7ee608L, 0xe6a8ffff1956L, 0xffffffffffffffffL, 0xffff195700000000L, 0xe6a9L};
-uint64_t A[8] = {0x694ee4e9a8bd4f9dL, 0x77d335e552e3660cL, 0x523ce279ea653c2dL, 0xa16534739bad9f30L, 0x41c4e903744eda68L, 0x45a5457f2ba7c27fL, 0x578aa86076fcc7beL, 0x9a49e32de56a12e6L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x30aac2385755272L, 0xfa04766b2b49e87aL, 0x25c66aa2764b133dL, 0x86de06685c1a595aL, 0xfbafa03bac23f72cL, 0x1ff3c7e9e625ed06L, 0x9bc84b2ed87893d0L, 0xbd9519a1d13a1f70L, 0x5560ba8602f86b05L, 0xd76fd78cf646a517L, 0x62dc250c0f5cf166L, 0x54ba048d775c777eL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 65;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xcc3024b2d40b5deL, 0xb0f51512b5ec36dcL, 0x6e9724d8d9e2abb6L, 0xdf3b835ee596ec66L, 0xeb8e7dcb084f122eL, 0xcbecf3c1a122f71cL, 0xfb7bc7abac294efbL, 0x8f775c4a59aa43c0L, 0x5b9c0d0fa463f2eL, 0xffffffffffffffffL, 0xfa463f2f00000000L, 0x5b9c0d1L};
-uint64_t A[8] = {0xbdc3f5804558c906L, 0xbe50b32eac05abe5L, 0xabf8eec667de9f04L, 0x30c099e05035eac8L, 0xc2a65a2b6251ee57L, 0xaa1010f7e96e7986L, 0x9f80c4fdf2efb104L, 0x22e94574db40cdfaL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x806c79484d0bb101L, 0x64b19eb02b77c7e7L, 0xecfaf1fea8a5acccL, 0xc4d10f9e6259f131L, 0x54d2f34392478453L, 0x388300b14bfe1e16L, 0x44ec26332754a171L, 0xd5846eaaffb7d7faL, 0xb9c30debf63b2252L, 0x84eb328a18a97e46L, 0x55c60fe5e0216e8fL, 0xa59633c86ca1cfafL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 66;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2748b4b97246f4c7L, 0x10cfb0375586a4d1L, 0x34732fde901a955dL, 0x396151f4481d78ffL, 0x53b159f481101c07L, 0x4e2e75073742b608L, 0xfb8bb128af1b0b20L, 0xf9464d607cbc6a2L, 0x8b98afff74674L, 0xffffffffffffffffL, 0xfff7467500000000L, 0x8b98bL};
-uint64_t A[8] = {0x47b8c90e0ec452b0L, 0x8691f46ed9af1fa9L, 0xda120f3433f2d27eL, 0x160837d249afa40L, 0xe0053424c4c03fc6L, 0xabd0d5874b2e52adL, 0xe28134da897595edL, 0xc9d2fe827d859fdcL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4323cc9909e903d5L, 0xf22e7e7a0c828736L, 0x2baafb35e732808bL, 0xb9901b8a969fe03bL, 0x4d5b5ec7b70a8693L, 0x6280394511d54ce7L, 0x3b9e187046ee78d3L, 0xa25198005ed2b5f8L, 0x40404cf50687fb6eL, 0x418a166b31cd3a2dL, 0xa3dc0939f88de91eL, 0x638820323284adb5L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 67;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8419b973bc08555L, 0xd4c30af602e13740L, 0x3e8ab4ec95fae4dL, 0x931e75dea8586108L, 0x13eaa868192dbfdfL, 0x40ccccd5cc83e9ecL, 0x473820ee0985ef50L, 0x7331ad4b74eacef3L, 0x1b8fffffe46fL, 0xffffffffffffffffL, 0xffffe47000000000L, 0x1b90L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-// J nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8419b973bc08555L, 0xd4c30af602e13740L, 0x3e8ab4ec95fae4dL, 0x931e75dea8586108L, 0x13eaa868192dbfdfL, 0x40ccccd5cc83e9ecL, 0x473820ee0985ef50L, 0x7331ad4b74eacef3L, 0x1b8fffffe46fL, 0xffffffffffffffffL, 0xffffe47000000000L, 0x1b90L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 68;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x38c528ce9d842325L, 0x97f6b0670b856664L, 0xa017b205b516329fL, 0xf7b4d8b2c2bd0204L, 0x63e5f5faacc61207L, 0x9638fb341ef0d04bL, 0xb33515f039489987L, 0x76f2c6bd24209a14L, 0x3fffffffbfffL, 0xffffffffffffffffL, 0xffffc00000000000L, 0x4000L};
-uint64_t A[8] = {0x7b772ba19675c72fL, 0x42b5ecb89f2ca919L, 0x174ff317bb1c31fcL, 0xc2968078290558efL, 0x838dc8f4b124d3f9L, 0x215c5b2972a94e5fL, 0xfb0576da94b935L, 0x2e2a1e582c01dee7L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3cf688066b0cb5f7L, 0x5bdeef984453e266L, 0x36f165fe079f768dL, 0x818e957bdfdc5786L, 0x2ef9a16a757a01dL, 0x44b3ebd3d1300ddfL, 0xba2923db42c0eb46L, 0xb37cb5aafa160e02L, 0x69978dd1f23b0269L, 0x68aa17be63334f8L, 0xa7980baecd59e2b6L, 0xdf370d3e9c2d7a16L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 69;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xeffd0fc448c7d559L, 0xc83278174227a7d8L, 0xd53bbaacc1f01d51L, 0x63440d7985bc99e7L, 0xd0116bd33dfe3217L, 0xdcb5dc5e4b95356dL, 0x8d83ef960d545f28L, 0x6bcf2b48b202ce9eL, 0x6f300e9290cfef29L, 0xfffffffffffffdbcL, 0x90cfef2a00000000L, 0x2436f3010d6L};
-uint64_t A[8] = {0x1b8e99ec73674fd0L, 0xdd2db1ac1c655c22L, 0x6961af51e2d8306bL, 0x8be27de7f56e210fL, 0xfb1256c27d874a2eL, 0x16f5d1e9cfdaa431L, 0x8fc19cbb4701173dL, 0xfbfe9539b70e2b92L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x84f551f505eb2437L, 0x5f7c45c4190d72c1L, 0xd6176386cf4ee670L, 0xea0cbd27819c4f76L, 0x775be5aa10c0f359L, 0xf6c8ee0d1c8c8a20L, 0x4cf655b6c17d3727L, 0x9297ff61c838e6b2L, 0x79ce472f2952c638L, 0x65a5bcd0f70018dbL, 0x498cf84ca642dac9L, 0xc96607a4fbee327L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 70;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x262deb66c1034417L, 0x3bbef1f9704f25c0L, 0xfbb1370c9e39d7b9L, 0xeac8c72b27688676L, 0xfaf6786f7636a406L, 0xcf827b1840ab3660L, 0xe950c06cf746c0d2L, 0xcfbfe4e6ec6966ddL, 0x5effffffa0L, 0xffffffffffffffffL, 0xffffffa100000000L, 0x5fL};
-uint64_t A[8] = {0x34388d1781c06c9fL, 0x6bab4b917ad416d4L, 0x69e8676b0f741fb9L, 0x644183540e13bc56L, 0xc9e365086ce5a54dL, 0x25a1220971c2ab59L, 0x6b3a5852142b9a43L, 0xaa73fe0d6ef970d3L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb88d4f6fbdd3205eL, 0x445a9da0173f2690L, 0x461cded1cbfdcb34L, 0x89406f986669fd2eL, 0x957f89b411867d0aL, 0x57352c1ef31fca57L, 0x70acc6f11b4e4ec6L, 0x7ee99730930fec52L, 0xf595ea406315c317L, 0xc17886e5c0f88e98L, 0xbd49fe534a9d1602L, 0xe779a52436da1bfL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 71;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4b8273ae870397f0L, 0xa68bda6b00afc30aL, 0x220fec94af5c774dL, 0x8acaf026e380403bL, 0xf61c04dbb8afb88eL, 0x449888db200b887L, 0xe51687e350499758L, 0xfc29ef1b198b43f7L, 0x5d1087d6a2ef7685L, 0xfffffffffffffe5cL, 0xa2ef768600000000L, 0x1a35d10897aL};
-uint64_t A[8] = {0xc9a5bd13954b9ca2L, 0x566feeb4d61328caL, 0xcfd7bf48e54e1acdL, 0xeb2603b57b7acd4dL, 0x7bcdd0ff094f23f1L, 0xcb8721ecb3ec12b9L, 0x9e4cbd67c300f661L, 0x31ccefd32ba4dc4cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4d8b6c0c0c3d868cL, 0x43eb03c34119e45L, 0x9df9a8e47c5a3addL, 0xb6807824bd93ded8L, 0xbe82eb3600620ee1L, 0xbb1b185deda109e0L, 0x22bb48b1327bb7e7L, 0xd452735868602d5bL, 0x37dfec7f8db72895L, 0xb10c65acf79320f9L, 0xbb5e890e3b8ff8e9L, 0x2bd8bbe506d580fcL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 72;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xb098e6b2eb6f685fL, 0x2f7980537bf3a01dL, 0x109d7c254267e3d1L, 0x3cfbb35266406e49L, 0xf66feef6b468edc7L, 0x8507f2ab800c0450L, 0x28a59deab44b4a31L, 0x818a3bd4b3095a04L, 0xa73c567851abcf8cL, 0xfffffffff8e82605L, 0x51abcf8d00000000L, 0x717d9faae543073L};
-uint64_t A[8] = {0xf9e52a3c3d09587fL, 0x4df9d7e007e02f99L, 0x56b54f114a88d0ffL, 0x8bd26aa0267ffedfL, 0x28abcab71f0d0a08L, 0x41011586e26e500fL, 0x117b7425690e41d3L, 0x1877d8811bda67eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x339ee28fe3441e2eL, 0xe0a94afb5cee01ddL, 0xf9a77991d9dcfceL, 0xa8df2dc7b5353441L, 0xbab6aea9f6749477L, 0x92eff99e19ded246L, 0x48c485af9fada162L, 0x4ba6457a4cb291ecL, 0x4482d2bfea3ae299L, 0x40d04d8f04ddfecdL, 0x9ab36d0b0de0bdd4L, 0x345970777770d2c1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 73;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xad059e61fa2a7e83L, 0x868891e9ae098798L, 0x6a53ec48fe259e5dL, 0xa11cc5e7934749d3L, 0xfac1a76fcbb3eefbL, 0x553a8dd1269bea0dL, 0xeb91e204f987b06L, 0x87f4eb5cf66d37b1L, 0xfffffffeffL, 0xffffffffffffffffL, 0xffffff0000000000L, 0x100L};
-uint64_t A[8] = {0x49b2a0b16a395853L, 0x32092e494617dd75L, 0xce614c2f83c516f2L, 0x40afd261d2a96d7dL, 0x735fd9b0767a558dL, 0x7c83d9d9520a759fL, 0xf34063ae496cce27L, 0x4270a2bd4b257a7aL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xc9436da3d4bd117cL, 0x3b1ba63326d3afcL, 0x2c26d12b3c4e7788L, 0xd72cf971a55f73bfL, 0x9f5171b02da8025aL, 0x62027803d6a0b7c1L, 0xc796c8be464fe514L, 0x42ed56bbbe0199daL, 0xac1589512869d3b4L, 0xc0b42e2f6c46c8e1L, 0xdb4dca25cca25231L, 0x450cc1da35ffdef3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 74;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x56ec4ad11d01e7e7L, 0xada201817cef118cL, 0x986ab7cc598976eaL, 0x9ea7e065585a7f79L, 0x942ae6dfbfdc8deeL, 0x14f52efecc39b364L, 0x9ca63affa32e2733L, 0x387eedabdb7ea5dcL, 0xd23fffff2dbL, 0xffffffffffffffffL, 0xfffff2dc00000000L, 0xd24L};
-uint64_t A[8] = {0xd4132c949782a702L, 0xb9c7481ab24decfcL, 0x1c1aea428adc92aaL, 0x700b7340f3884e72L, 0x7400a35dd27a2b5aL, 0x65444adb78515317L, 0x9866c40489564d2eL, 0x599c5f75dc920771L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xd1bf6ccaf9b2530cL, 0xa55e692c5a28814cL, 0x896d9a3817b22e4fL, 0x53e5bc04710de19bL, 0xa7352cc75de33b7dL, 0xe41c7283202e60d6L, 0xd78bc6ace46c8d3aL, 0xcb68e24c5e74a5acL, 0x2172afe8a7782b39L, 0x11e76a879dfa97ddL, 0x14df04aed59cb185L, 0xa907ff8b5e466d37L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 75;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x9bb52c106d6fc482L, 0xf00045208d424ce7L, 0x133f022e360c6e5cL, 0xbe81c6bce347c41aL, 0x3e58cb7a88efcfe2L, 0xd078b58191820c29L, 0xb7acf095bb4afe86L, 0x7f20a3010136f582L, 0x5f5e0fffa0a1eL, 0xffffffffffffffffL, 0xfffa0a1f00000000L, 0x5f5e1L};
-uint64_t A[8] = {0x2d0f1be2b5577cf9L, 0x8decdf26c01ce141L, 0x7e28a0d562d7881L, 0x8218884b2f38e1d6L, 0x707320391e7826faL, 0x36925b3cb704a1fcL, 0xe77da7d78929b20aL, 0x747c0826cd4f4e7bL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6866d967edb7483cL, 0xe55656854d48bac5L, 0xdf5d903c296c67c8L, 0x92ce29c970dc24fcL, 0x4df54bcda51bd519L, 0x16dcf0eb4d5f6105L, 0x3bd10b047dcc2f68L, 0x7f57e0b66a56e39bL, 0xa2c3d32686d8c816L, 0xd05869f491d6c1a3L, 0xb5a13afba087e357L, 0x583d1a50953bfe02L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 76;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x649c89ce5bfafe43L, 0xc2e2594c30a92f8fL, 0xa155cbe31da6a5c7L, 0x5fb35ccfed2bad01L, 0xf3a8cfe389bc7d3dL, 0x4b00b20b906014cfL, 0x9b359611f32c50aeL, 0xd158667de9ff257aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xff25a17d7870dc43L, 0x2882a3ad091ad8f4L, 0x86422227a32da1f4L, 0x5a90d00864bcd653L, 0x4879cd108c355101L, 0x8ded40b9d62f9fa3L, 0x2ecaba53bc0387efL, 0xafc51e23e464bb1cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x64a616e7661ef7f6L, 0x845241efede05a3fL, 0x261a260396b6cac8L, 0xcf3ef9d1358a0d26L, 0x51e98af464fbdbd0L, 0x3f6fa2c187b35a00L, 0x15d57ba4c00ef9acL, 0x89b24b42436b36eaL, 0x9a8917af1c75ddffL, 0x65a04a60d871a964L, 0xe4ec56448586fc2cL, 0xfadd733877912952L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 77;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc2ee33fce1548c96L, 0x42b53da83c79201bL, 0x932ccb6bcfa7e0dcL, 0xc9a4c3aea2e42c6bL, 0x73f32ab8518a62e8L, 0xa76d9d98ae476cd1L, 0x6ff9d31d8847a372L, 0x62c5b7ef6d7550dL, 0xf423ffff0bdbfL, 0xffffffffffffffffL, 0xfff0bdc000000000L, 0xf4240L};
-uint64_t A[8] = {0x1e2d270d1f79fb85L, 0xc12e67b45d047997L, 0xfaedd341f1e746fbL, 0x22e78b4130420919L, 0x4c96007e85769ceeL, 0x1d0112632023af99L, 0xad0d5d48053af2f2L, 0x819324322cf5f440L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x658df34b0fa47ba3L, 0x9668d208be5924bcL, 0xadf857500f21b485L, 0x9d0e797d3a8a8248L, 0xaf81f7f880d84f77L, 0xfbd9071ab02177e6L, 0xb575b8a76fc1f76aL, 0xf3ec64090065f4d1L, 0x57f1d1f6fc0f84eeL, 0x7c5ea1cf23b7a148L, 0x968f3e9c5c620595L, 0x7e395b36d4bd160cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 78;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x5131ef687d429962L, 0x96319631d2a1773L, 0x3f1e2278e33bce30L, 0x6177a09364111f49L, 0xff7a81f5697c1e38L, 0x3fbf69e8b3bf7480L, 0x35963ecf6ecff003L, 0x40b727ba807509f1L, 0xf517544e0ae8ab3bL, 0xffffffffffffff8aL, 0xae8ab3c00000000L, 0x75f51754c4L};
-uint64_t A[8] = {0xb595d8a9eae3eff3L, 0x1fbf14715b64ea48L, 0x2c1fa02b57ccd532L, 0x13ad0573e9799e4fL, 0x9026eb180cd032a2L, 0x82128bb46643b150L, 0x818a6d8f4706304cL, 0xd93ef16f097c5ad9L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1f0c43b716af1329L, 0x7ea87d7f4d826e74L, 0xb61ab259484902eL, 0x1595882f5af4dc6fL, 0xeaf2b079360080fcL, 0xf18a606eda333abcL, 0xaf7df76777f90dcL, 0x34f20fff94b6026bL, 0xa6839beaa0eb9f2dL, 0xfc2a698961288cdbL, 0xfc9f4f032aa04126L, 0xce9969433d14aec4L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 79;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc7d8a2c8f27d12baL, 0x6745af5b6052bd66L, 0x3f2f7e75ae50f0f8L, 0x1bc13d1704d56e1fL, 0x8537c7902d3eaa4bL, 0xa233eaa511b0a6c5L, 0x6e66d5142b74a827L, 0x349c07b796f9bf4cL, 0xbc5a1e3f43a5e144L, 0xffffffffffffff84L, 0x43a5e14500000000L, 0x7bbc5a1ebbL};
-uint64_t A[8] = {0xd18d9b0f700e5cc0L, 0xf69a7d30c2cce0c0L, 0x1f352382f17659e4L, 0xd361c63157c3aa13L, 0xa5ffb367f0ebeb65L, 0xfa30d2ada9eaf6e1L, 0xe95de0b741063f0dL, 0x4aac66d83f3f4b6eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x55cfb8a5a2243e15L, 0xe49156de4da5a142L, 0x7bbabeefd8e2be98L, 0xa5764e744284381bL, 0xebc37e46511210f8L, 0xbef296c81cc55759L, 0x94f294ea295e7152L, 0x1974a84c9618a2eaL, 0x2d6ed1128bb3eaa7L, 0xd445f613dd595d2cL, 0x1d128d3982f4630cL, 0xc9a483d22a739da7L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 80;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6b703cc03eb88876L, 0x36646f5ae714a6b7L, 0xae821b539488a059L, 0xc1425853e4c48e85L, 0xd189031c29962e7eL, 0xc4a7667576c7916dL, 0xb39835b3c52f980cL, 0xbc0e57524e4edb0L, 0xfffffffeffffffL, 0xffffffffffffffffL, 0xff00000000000000L, 0x1000000L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x2f89ce3fdb43e874L, 0x59442cd71969c97dL, 0x2f5574d8d91f145dL, 0x2922031e34ef4181L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x45501e05fd481a04L, 0xb295bdf6409a91bcL, 0x84f4265e43247032L, 0xabfacc69c6a63ce0L, 0x3201b5798ac107f9L, 0x96ea7180ec9663f3L, 0x18545f01f119f48dL, 0xf464baad3fc099e9L, 0x3f55d73a8a350bcdL, 0xa518eb5948517de4L, 0xacd6e79ca63ebda7L, 0xac1b3b717a948fc3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 81;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2bd0204360826caaL, 0x41252997f6b0670L, 0xb856664a2d4b409bL, 0x516329ff7b4d8b2cL, 0xaf490825d5cff157L, 0xa8f439ab06e58e3eL, 0xcd07bc34c235d56cL, 0x10e522661ddbcb1L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x1b8e99ec73674fd0L, 0xdd2db1ac1c655c22L, 0x6961af51e2d8306bL, 0x8be27de7f56e210fL, 0xfb1256c27d874a2eL, 0x16f5d1e9cfdaa431L, 0x8fc19cbb4701173dL, 0xfbfe9539b70e2b92L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7ef384e79deac439L, 0xfe39113e1c2a67bL, 0xa1bc885a03596e5aL, 0xabe2a6433a396548L, 0x204f51ccb68dfdeaL, 0xeaafdfc99be342f7L, 0xa80223aa3a36ba74L, 0x778496ef4c1221f1L, 0xefbe79a812e4e327L, 0xd91b5f129cfa55b1L, 0xb10b4908b58cefd0L, 0x3a7f53e87a2095e2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 82;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe97f6611b1cda5bbL, 0xb10f2987f83f9aa6L, 0x81e5d3e898193812L, 0x267df4b457c43fe6L, 0x6bd4602c199315bfL, 0x687d348bca97859dL, 0x38a6238c79349b0fL, 0xc8bd81b74891bf56L, 0x4effffffb0L, 0xffffffffffffffffL, 0xffffffb100000000L, 0x4fL};
-uint64_t A[8] = {0xc2591a80f7fe3f88L, 0x554c2c0348e4f302L, 0x3b1995c38f8c65c9L, 0xc79e9e572406569fL, 0xb28666dac04097cfL, 0xb79f9675cb6eadbeL, 0xf67ef719e7a2a9beL, 0x5f100402249c2c7dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcbaa8f1d98b27e72L, 0x28e0eb2e2656e536L, 0x6eef196a20f40d11L, 0x7df303adcf8b11c0L, 0x1bad52b4a6066fccL, 0xca8e113b23bbb87fL, 0xa83caf859eac99e9L, 0x75f26c4ee39b99b6L, 0x6730bd917b9d9eecL, 0xc563f93d096dec1aL, 0x7a183d61cdb103d3L, 0x38dc919735ba774cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 83;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xcb5f21848b153494L, 0x43e937164a6ef82aL, 0xbabc08cbc78d2388L, 0x9ea08c3be1207b32L, 0x20df3edb735b1bL, 0xeee81029724f8550L, 0x3d6917173bc00f19L, 0xb038cd8ad903a14fL, 0xf18ffffe1bb699e9L, 0xffffffff0d4699e8L, 0x1bb699ea00000000L, 0xf2b96617e4496616L};
-uint64_t A[8] = {0xa7723ce1e1403180L, 0x9264d3dcd3659124L, 0x9b429deaa6e3608aL, 0x138769c2d77cb7d7L, 0x7cfac5ddc9bc8e59L, 0xffa0d620bc76856cL, 0xad33546206ded84eL, 0x2471b4adeba2b03eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x388ca861631d7c57L, 0x893f78b4eff59b10L, 0x986a6f9224bc88f2L, 0x99398f72dad0ea9fL, 0x3933c095fd2f5c76L, 0xe971c57dfb8c0118L, 0xdcbd903832d9da20L, 0xab01877516bac0edL, 0x1585b7da386eb87L, 0x1e6e5412a5e2feb4L, 0xe812f651f2d19122L, 0xa10055d4dc54a37aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 84;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xb904efe450803ee7L, 0x97d3d28fede6df03L, 0xcb46dde71e00677bL, 0xb8e51cae1d0b9c3fL, 0x97c8eaa2d19c479dL, 0x564e71345faa5b7bL, 0xd73048af79822eaeL, 0xa00c8eba9d727767L, 0x2fa27fffd05d7L, 0xffffffffffffffffL, 0xfffd05d800000000L, 0x2fa28L};
-uint64_t A[8] = {0x7306bbb8a15a8e04L, 0x8f02d66c01def11dL, 0xd63291c8154a67e9L, 0x7c6e85f3616f1ccfL, 0x1e787b17c6e02971L, 0xa4194c68b7b0ee5aL, 0x48bb709e959aa2bcL, 0xdc645794566e4359L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x50210215f6be5e0fL, 0xc616788ae3f0026cL, 0xc45a1c62ff3d53adL, 0xc0959df2e145ca27L, 0xee67114e35f31f37L, 0xcf2f0f30ede496b3L, 0x975dbc8704b2ff91L, 0xc1e21bd28b0053afL, 0x5259517995dc5917L, 0xc63afa7f799ad478L, 0xc2f2e3c2363b07b0L, 0xc04916ea65603c2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 85;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xac7fd179b754b796L, 0x8d2cfe2585b941faL, 0x8f4e09310eb9b1cbL, 0x8db28655da12296aL, 0x2f82222a9f19f922L, 0x2117c0e8d75d03baL, 0xbba92730bccf25acL, 0x8f7bd3e6ef15e242L, 0x3bd5ee0fc42a11eL, 0xffffffffffffffffL, 0xfc42a11f00000000L, 0x3bd5ee1L};
-uint64_t A[8] = {0x3ef7fe59ea3221baL, 0x32b0a08a947eb0fcL, 0x14e3248935cb57a7L, 0x4b58c0845c0e281bL, 0x2bba72ad6d2715cL, 0xc55188170fd69b7eL, 0xf77dd00bfc38ed37L, 0x6f3fc230de80a5dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe66d29357ec1dc93L, 0xa96ca631c7f5964aL, 0x5be67f5761d0563L, 0xd2e8a9417c0a9fa8L, 0x867bba45598bc63bL, 0xa188ce8eb2abf0c9L, 0xf988cefee2373158L, 0x5b9d3ece3c3efa51L, 0xc1ebf049ee31e9efL, 0xfa090ae298d9dc34L, 0xb38b9a0357bbf62L, 0xc7c9548b4f3b69f9L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 86;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x54d63c809103b723L, 0xd5ef2f7c2c83f549L, 0x5882e0753ffe2e6bL, 0x808b0b650bc6fb80L, 0x64edf7b201efe220L, 0x55c4623bb1580e9eL, 0x3670c3194b0b6587L, 0xf2f11bd652a23f9bL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xe22b104ad0f67420L, 0xbaf5500801638fa6L, 0xfe4601e2b5bf98aaL, 0xb2e97c5f8d1e0c72L, 0xa09a2ad2d0d67a2fL, 0xcf3cbad5d5c143a6L, 0x57b4042b9fcef2dcL, 0x2b55741691d9fe6fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x70669f98a0245e40L, 0x4a42a84442425badL, 0x447307d5d52cd667L, 0xbd3ca0d66de0cd09L, 0x1fc3f1f757c048d0L, 0xf881968babb763d6L, 0x7e3934a5bc2491d6L, 0x72f08d68b533f3e2L, 0x8d54d3ca3ff2bcfcL, 0xe506208bd4df9a5dL, 0xa5c3216d75c16a3fL, 0x325e70fa815710f2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 87;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xbfa1ff3a40551eb1L, 0xd2886384ebcb6ed1L, 0x8bfb80c325f10049L, 0xa52e4e5e6cb94aa2L, 0xaa3e25f1466bd9dcL, 0xe29678a6291c4675L, 0x2464e23ce704dc62L, 0x7aab07488d5c3830L, 0x8be7ca6874170bd6L, 0xfffffffffffed63fL, 0x74170bd700000000L, 0x129c08be8f429L};
-uint64_t A[8] = {0x7b772ba19675c72fL, 0x42b5ecb89f2ca919L, 0x174ff317bb1c31fcL, 0xc2968078290558efL, 0x838dc8f4b124d3f9L, 0x215c5b2972a94e5fL, 0xfb0576da94b935L, 0x2e2a1e582c01dee7L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xfb0b4a6fb8415eacL, 0x571267d4dd3ea41eL, 0x70735bfe09890effL, 0x82469ec34a6c4396L, 0x45bf22dcff6ef700L, 0xc881aa067cbe2818L, 0xbb8ca5f6ce9cbf92L, 0x3c0fcd1ddd37d666L, 0xd9eb671d129e94ebL, 0x3042146c6ead4509L, 0x6b155c513eb4e33aL, 0x7518a700cfed34f1L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 88;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x3db9e7799cbf7b65L, 0xf572386de907ebc5L, 0x6fb158cc3a903d78L, 0x182b58c2d9560bc6L, 0x883964029c95980bL, 0x6058e1e208965903L, 0x36e41e8a9dcbe8f8L, 0x5a4b34d061126ba2L, 0x19a0ffffe65eL, 0xffffffffffffffffL, 0xffffe65f00000000L, 0x19a1L};
-uint64_t A[8] = {0x5da30e809bf1f538L, 0xbe5d744b3a90ab99L, 0x9434dd7251db0f1bL, 0xed877b75c958ef7cL, 0xafe213dbf0592657L, 0x9805f40db8d4bce3L, 0x1253471881081adbL, 0xed43c8beb572b391L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xde8f9ee99d92a256L, 0xcb4723187dcb28f8L, 0xe67fc5aef1313b8fL, 0x1ee8ee190429a313L, 0xd1a04dbcefdc9597L, 0xfdb7d6dcc023b1f9L, 0xf1a0aec95b3d8966L, 0x4d4bb18ebf968ee9L, 0x374b23f4cb3b300aL, 0x90b8ab30e90424f5L, 0x472d12a29a21f6aaL, 0x98ee8b4403fe997aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 89;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8b72c8c16c4b058eL, 0x37eeba93aba32cd4L, 0xfe0a46807985418eL, 0xa096a029b6b64a75L, 0x5ace6098ec9eda0fL, 0x5af00941bf76b8b8L, 0xb828216361bb707dL, 0xf453d8c8796cd53dL, 0x1fa3ffffe05bL, 0xffffffffffffffffL, 0xffffe05c00000000L, 0x1fa4L};
-uint64_t A[8] = {0xc7ddf7864ac64482L, 0x80cb53c4c9ac79e0L, 0xb47cc1f1216cd550L, 0x1df4d36fc0aec63fL, 0x7c792a6f445611f5L, 0x7002065a567a0793L, 0x817c6261de6732b9L, 0x753e20a3ae511746L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x632deee4f7637d15L, 0x73d2f16f2a1325f4L, 0x769f06b73b5cfa01L, 0x38881b9e4131a64eL, 0x69fb61d179da42a8L, 0xad095f7d76ddc4caL, 0x17e87180528c5355L, 0xc1bd323db7632a20L, 0xeabd9ebdab51424cL, 0x2646b78c7fec8ae1L, 0x78b4f57f58b25cc3L, 0xadba45917fa4de3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 90;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x9154b29791225aa0L, 0x42d70f34cdc735a9L, 0xbe3f1f18feb49f8aL, 0xa54bce826cb578caL, 0x5aaf2d24363734ddL, 0xef8c71c92003a5afL, 0x36b4030369058eeeL, 0x9a05e3af3979400dL, 0xfffffffeffffff00L, 0xfffffffffffffeffL, 0xffffff0100000000L, 0x100000000ffL};
-uint64_t A[8] = {0xb5cffedf0790a013L, 0xf1ba0f6e25458e39L, 0x66d546ad56e03b9bL, 0x7ce0061255f79ecfL, 0x7c2da8ba0847c739L, 0xc641e310a7eb8838L, 0xf3cc871d693e2a73L, 0x16439c6cd3b5b4e4L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x65562d03c616d301L, 0x6105e9aa17db0176L, 0x3943e570b9458552L, 0x22ab12efefa05cfcL, 0x21fe3c02b6eab1a7L, 0x739d66f718f82bd4L, 0xe8af1cb621fefbf3L, 0xed87fbd5c0b4cc34L, 0x50c18261a8e343f2L, 0xf489d5a8e03d9481L, 0xee67addd93eede32L, 0x3d80801e2cae977cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 91;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc79a356750493688L, 0xc13127e39ba9f610L, 0x58375f151dfae2bL, 0xd7b35dcbad6098a4L, 0xe5d9539220fa5f47L, 0x8a29540182b84ed9L, 0x7b037287b02fc67fL, 0x496b3bdc50f4eec5L, 0xc46bedff3b9411fL, 0xffffffffffffffffL, 0xf3b9412000000000L, 0xc46bee0L};
-uint64_t A[8] = {0x76b85af13143ff6L, 0x25e08eed9e9aa27fL, 0x3e3d0488ffc51120L, 0xf8c81b242528c884L, 0x418e685027128311L, 0x63ac37d528a681efL, 0xf0a07a9732ef1690L, 0xc7fe6aa567d1367fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xefbf9e88ee997589L, 0xc28cfb24a5ac6837L, 0xf44454a79e9e3ab7L, 0xfad6573257692615L, 0x3defd5c5c5868447L, 0xb094efeb457af548L, 0x439ee7ae70f3a8c5L, 0xa8e013a2a255d23L, 0x5b0d20cbd03358f9L, 0x82c17e949a1e5827L, 0x41bb0ebded5f94d7L, 0x7e4499bdbf2e69cdL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 92;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf3ade4ec8370378bL, 0x4c484275c47da45L, 0xf73ed514be262625L, 0x95058faf0f8fc7afL, 0xcf50d1e305d134c1L, 0x63e3c2e57bfb68daL, 0x57c8285618afe896L, 0xc7d39d5608647180L, 0xcd7deb7f32820486L, 0xfffffffffffff006L, 0x3282048700000000L, 0xff9cd7dfb79L};
-uint64_t A[8] = {0xbc2905fdc2c72f52L, 0x67f5f05fcd47bd28L, 0xc4a70bcc9535ceL, 0xea9479cf0f52d533L, 0x4ef0c2e2a7fb0657L, 0x5d1379f69267bcedL, 0xcc5ccf9a29159b0eL, 0x6febb404d5e365f5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xdccbd80dc90e17fcL, 0x54dff9caa1b46e2cL, 0x2fe6041a5dc04ae2L, 0xfac33780fbed87b4L, 0xbd1e416b7e24d22eL, 0x48862ae1adc4804fL, 0xb9b2bafa908557dL, 0x60f0788505797484L, 0x48016f6a0f177aafL, 0x41212077625acf35L, 0x956b5fffd42e7c48L, 0x914d9acdeb0c27cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 93;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x827427a03fa59b4bL, 0xd18be898101d9b9eL, 0x6c5759f29cf9c8dL, 0x97fd53e2e7a0ba0eL, 0xaf8d462aa65e486cL, 0xa27b5b572996da50L, 0xe9116cf861f3cf7eL, 0xa18da286a0c00497L, 0xfffffffefffffff0L, 0xffffffffffffffefL, 0xfffffff100000000L, 0x100000000fL};
-uint64_t A[8] = {0x8942b27f550d6f9eL, 0x8e975fe69f49297cL, 0xc75267ab5e2a0afaL, 0xf3dbb029e1d3b305L, 0x69b85d82f577fbb0L, 0x3ca39341541d3e23L, 0xe8764f91c11037f7L, 0x65a84d585d0ba359L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x9f34231323f227d7L, 0x74707e5014194777L, 0xc7e0780c8c2c17c9L, 0x96d122b898f9f103L, 0x73d5c35f57ba3680L, 0x5002442f10bf80f0L, 0x8205d36f42aec8dfL, 0x8f15e3ca6ca6f7c3L, 0xbbd209c2e8065390L, 0x73adf7784c8965f8L, 0x7880bf7dab52bfb6L, 0x88163d5225b5d03dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 94;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x19daec51b27d7454L, 0x4e0fc7cab5f49a5L, 0xae255f61efa3b090L, 0xc643de7ca0be0ff5L, 0x83eaebc3a088d9e3L, 0x2b781e5bfeead99bL, 0x102fd95053cff706L, 0x4a9436792ea48facL, 0x40ffffffbeL, 0xffffffffffffffffL, 0xffffffbf00000000L, 0x41L};
-uint64_t A[8] = {0x2b9131acc0130435L, 0x97a689a71742557cL, 0xa81ea03df9581714L, 0xc34ea0250f6667dcL, 0xd734003dee5d1e66L, 0x7bb0772a8b6e0589L, 0xb1f409df762e3ef3L, 0x60f7817684aa164dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x5023f64c86159ee9L, 0x8598fc9299afb87bL, 0x5aa7a9f3bd4aa962L, 0xb04e868b7365e4e5L, 0x42bb1d6809df9cc4L, 0x70f2f81d3a98f50eL, 0xde4c0b68aeadc932L, 0x1e19d0279f310719L, 0x47e48d581e1b5791L, 0x77d95cb6cbcabfe9L, 0xc69c6472038083beL, 0x25a66ec89edc3631L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 95;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x88b56923125ef590L, 0x9b859cd90fdb31fcL, 0x940b496c16c2318fL, 0xa0d08f39bbce9f43L, 0x6c52cb7ba74e6124L, 0x158ec18727faccedL, 0x46d47892b18b5133L, 0x8529014de0b54e2eL, 0x2dfd3892d1fa7c83L, 0xfffffffffff7b516L, 0xd1fa7c8400000000L, 0x84ae92e05837cL};
-uint64_t A[8] = {0x57fcaf64b5e8d6dbL, 0xf670e79ac97efbdcL, 0xe12253fbdb991b94L, 0xa928a6d84768c868L, 0x1d94d6153c3e2656L, 0x2085b6e8694a3819L, 0xea05005e197a2805L, 0x8004d784b244753L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe3e0724baf79f550L, 0x448231d33cd59e3aL, 0xe57b71f576375255L, 0x4a9369b26c1355ccL, 0xb9a95355ff875e5dL, 0xb4510a1eacee97a1L, 0x89200093f5ef824fL, 0xe3da7e101895774dL, 0x9fae7645034b33e7L, 0x3d3c25759979a9d2L, 0x7601177e9bfecd7eL, 0x972c6f631f46a1bdL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 96;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf98c587216e2248bL, 0x26120d2f06dbdf5aL, 0x2371f148615a4130L, 0x98d060a41d35151L, 0xa0c673d585149c62L, 0xf9bbd87d026facfaL, 0xec9ded87a13cab52L, 0xd59fd742e1da671cL, 0x33d495ffc8993413L, 0xfffffffffc6dca13L, 0xc899341400000000L, 0x39235ec3766cbecL};
-uint64_t A[8] = {0x34388d1781c06c9fL, 0x6bab4b917ad416d4L, 0x69e8676b0f741fb9L, 0x644183540e13bc56L, 0xc9e365086ce5a54dL, 0x25a1220971c2ab59L, 0x6b3a5852142b9a43L, 0xaa73fe0d6ef970d3L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xd489afe8cb1bd86bL, 0x2b3c343f99612399L, 0x5e18656690d6f22cL, 0x5069e3a46015ffcdL, 0x3ffe3d5ea6dbead5L, 0x18a83370aa8c4608L, 0x9321752f50e360cbL, 0xbf099ec4acfe799cL, 0xf8e89a630446f749L, 0xe77f9f2a7fd462f7L, 0x66e5d3c90c64cfedL, 0x4fb4f0195e9baa30L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 97;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf5d6dd72877f65e5L, 0x13cac83d3e454862L, 0xaae09e064b6511a1L, 0x2092a9da58d958efL, 0x1dd2f7d1993f53d4L, 0xf3b76d8d81a0dc98L, 0x4a4d9f035f3cd456L, 0x82c889d8a617495dL, 0x2adfffffd51ffL, 0xffffffffffffffffL, 0xfffd520000000000L, 0x2ae00L};
-uint64_t A[8] = {0xa3a8acdfb4c45f0fL, 0x40633f71dd93c7f0L, 0x12960ebce3bb096cL, 0x63f522c7506af27aL, 0x67f33420ce543d5bL, 0x310f8883245c7fbcL, 0xfbb7fce0856c61dfL, 0xb39ac8d3c824d326L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x319adc5da37c1bc8L, 0x325bf9df736fde15L, 0x83022437be32db68L, 0xc7a2ae1900788397L, 0xeb280fd06b5b64ffL, 0x62838ca774d76619L, 0x8caddc8963ee0627L, 0x34aad16c5229f21bL, 0x86fe2a75332c3882L, 0xf3ab0ce1dc1e6dcbL, 0x16f253987c184710L, 0x99c2753c400ab94bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 98;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6c8086b76d079091L, 0xf74bab292b026c10L, 0xb843e731ed06dcc0L, 0x1ec735457d4e3729L, 0x2e27487210b67067L, 0x3d811b53d1450c88L, 0x69ecfce54d8011baL, 0xcbe6972c8e83693dL, 0x1c9c5dc0e3639d60L, 0xfffffffffffffb21L, 0xe3639d6100000000L, 0x4de1c9c629fL};
-uint64_t A[8] = {0xf9e52a3c3d09587fL, 0x4df9d7e007e02f99L, 0x56b54f114a88d0ffL, 0x8bd26aa0267ffedfL, 0x28abcab71f0d0a08L, 0x41011586e26e500fL, 0x117b7425690e41d3L, 0x1877d8811bda67eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x58c52a24bf37a598L, 0xd5ce51a94769c58aL, 0x62b10c024c8341ccL, 0x96effe7709bf553fL, 0xdd4e961f1fcea0a3L, 0x836311e81f9dc680L, 0x668c208000709f7dL, 0x50d2490674ccd613L, 0x17be28001819999L, 0xdfa512fa9ab23872L, 0xc6ee0bff0b3d275eL, 0x2f83920f7d04efadL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 99;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6db39a636f0cbbdfL, 0xd182e2cd8d8b03f0L, 0xf7286f4c74854e0cL, 0xdffc59a35f4f6dd9L, 0x34e083ef1281110L, 0xf6fdf0dee31bec71L, 0xc70c9919ceb61a36L, 0x96d8ede2b8c84d3fL, 0x6e7d348f9182cb6L, 0xffffffffffffffffL, 0xf9182cb700000000L, 0x6e7d349L};
-uint64_t A[8] = {0xe22b104ad0f67420L, 0xbaf5500801638fa6L, 0xfe4601e2b5bf98aaL, 0xb2e97c5f8d1e0c72L, 0xa09a2ad2d0d67a2fL, 0xcf3cbad5d5c143a6L, 0x57b4042b9fcef2dcL, 0x2b55741691d9fe6fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x9f43289880e4f548L, 0x679ef8bfab27e68bL, 0x52ca2582269a8dd0L, 0xdb0381d56470907eL, 0x4cad2cff25d403caL, 0x48c210205801abc2L, 0x319698eee0a2757eL, 0xd2a47f7831e43f2cL, 0x9c07bae6d84a7438L, 0xed1d7921dff93d77L, 0x66a61815c3532e5L, 0x7b63e6d6b0bd85fbL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 100;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xdceb8db2b7eaba7L, 0xedfbe268d5b1fa6aL, 0xa78bfbaa13685278L, 0xfb9c2d0488c171aL, 0xd7d34194c3628c13L, 0x43b7716bcc143a46L, 0xefde7ae6a4449c96L, 0xbf9e80899ae2b710L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x82de615608c76a8bL, 0x9e0760f5e009de70L, 0x13dcc92f9c572952L, 0xce00bd446f820d48L, 0x47ec470393401b88L, 0x477a8089293b49a2L, 0x5c437d80ee42e88dL, 0x3e4356a607a49fe2L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x69051a44b059b1ccL, 0x91f893af0bc5b95aL, 0x1364981ee36e9611L, 0x80a042c0ba92622fL, 0xb2e23c9f3bf6f9b1L, 0x356f2630bbc25b41L, 0x3a05db80d5c0e088L, 0x34b4fe3476e47ad3L, 0x750fa87add48bee3L, 0xb00b7e8d0a57e405L, 0x6c50cd8588eed6daL, 0xbe46fa7426f5f62eL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 101;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xb9116811e6265857L, 0x883551c54058c4f0L, 0xf14601997e9349e3L, 0x9032299418429995L, 0x4b886945aa3399L, 0x3c4b7a5b3ef68b9cL, 0xab84ea6d3005205cL, 0x4f7cf2895cc20e58L, 0x3ffffffe3d8093c9L, 0xfffffffe7d8093c8L, 0x3d8093ca00000001L, 0x827f6c37c27f6c36L};
-uint64_t A[8] = {0xe7f5ba6f2554f427L, 0xdf48518b3901ff96L, 0xa828c36c1d4e879bL, 0xef6c4ca1424432edL, 0xedc19f099a5676dfL, 0x8bf2891468410bffL, 0x27cf306a14944795L, 0xb6efb4cd4463768L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3f41888cd62e88e0L, 0x31668ab510bbeb58L, 0x35aeeebffd6ed52dL, 0xa39ccfcb004ef156L, 0x89237a023f37d63fL, 0xf0602a3cc0e00d7fL, 0x2aa91c179e457b82L, 0xefba2a817413082dL, 0x59c79387e970e739L, 0x6231eb02dd554769L, 0xf15c98f76253b79L, 0xeb1e5764ff5094dfL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 102;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x581b4711fdf2498L, 0x4a278686e1639607L, 0xaeaca9afd36b1afL, 0x64cfdc70d9453d29L, 0x435ac466954ffbb3L, 0xff6c1a78f9a2852fL, 0x20b021c3df219dc5L, 0x82290e253d61f6d2L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xadfeeb8858cee75fL, 0xb39892a238929f1eL, 0xd5a7b62826fe4135L, 0xf19b7e5353944d6aL, 0x7d6929a823d46fd1L, 0x821afc9c9cdfd923L, 0xb00c038dd1f7bbf8L, 0xa1625858237504b2L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xea8b63efa46a4712L, 0x1ec17c8433088f03L, 0x37ef6363f0b9364cL, 0x5d7d1fdbe64df580L, 0xf4658d92d9aacaadL, 0x7d64658d167fc51aL, 0xe38ecee4be9746eaL, 0x99ae2b200ee8e26fL, 0xa87d371738efc2c7L, 0x69710c1b572f0917L, 0xcabceb8d29c78f86L, 0x8ccba1e27a4f1041L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 103;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xbd427830aaad4bd7L, 0x195f0dcec28d3247L, 0x9181896bb258ecf3L, 0x421d124f57c0732dL, 0x3449b374e7e7b18fL, 0xc33a4b099ad0d596L, 0xcc31bbe49b99bd3L, 0xe54afb9740378d8dL, 0x50ffffffaeL, 0xffffffffffffffffL, 0xffffffaf00000000L, 0x51L};
-uint64_t A[8] = {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L};
-// J nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xbd427830aaad4bd7L, 0x195f0dcec28d3247L, 0x9181896bb258ecf3L, 0x421d124f57c0732dL, 0x3449b374e7e7b18fL, 0xc33a4b099ad0d596L, 0xcc31bbe49b99bd3L, 0xe54afb9740378d8dL, 0x50ffffffaeL, 0xffffffffffffffffL, 0xffffffaf00000000L, 0x51L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 104;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe1abc2a39faa2be1L, 0x88f546e453a47562L, 0xa33370ff19188215L, 0xeb371270902f1c9cL, 0x2a5c42a1f4e09a44L, 0xa6180de78c61cfc6L, 0x55cd92e3a75bc83cL, 0x8cc423f9246b6700L, 0x8d2d930f72d26ceL, 0xffffffffffffffffL, 0xf72d26cf00000000L, 0x8d2d931L};
-uint64_t A[8] = {0x793b80a73e500e39L, 0x3dc70d8c41726d51L, 0x327ba268cf29cc43L, 0x41754325b5ecc5aaL, 0xb9669b32568b37c8L, 0xbd6c661371ea683L, 0x73b527cb90a6ae1aL, 0xaa899fce49edefb5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xbad43565bdd6ac36L, 0x8db07fc9e2d252ccL, 0xb8d337f993974a4eL, 0xa5fb25c5a9ba958fL, 0x633766b12ccf5ecfL, 0xcdfe98874f8a7c41L, 0x1625426dc9e5773fL, 0x7130640a28fb1105L, 0x42d06d763d38887L, 0x2909c6b0f3d76b2eL, 0x6ffefa5accc3ea93L, 0x4bf8aa0e3ef8efc5L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 105;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf6b01fddbe143b2dL, 0xbb8465ed4fdb009eL, 0x838d84649b5c7978L, 0xc05f9fb7ded4c5d6L, 0x33bc1ba0e60395c5L, 0xea81a59184fa358bL, 0x5ac6be4767052241L, 0xbb2201ce71718e58L, 0x33d495ffc8993413L, 0xfffffffffc6dca13L, 0xc899341400000000L, 0x39235ec3766cbecL};
-uint64_t A[8] = {0x47b8c90e0ec452b0L, 0x8691f46ed9af1fa9L, 0xda120f3433f2d27eL, 0x160837d249afa40L, 0xe0053424c4c03fc6L, 0xabd0d5874b2e52adL, 0xe28134da897595edL, 0xc9d2fe827d859fdcL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1825f2aafaf51b60L, 0xa308e73839a2c321L, 0x9ddfc12090798001L, 0x92b78db76707559bL, 0x592f1855f645075L, 0x6001e79ffdffd8a5L, 0x169fbb1ecf280b89L, 0x941b69d5a54870c5L, 0xccf88e8d75337bd8L, 0x55085ffbfa3cec33L, 0xd3a76a706000a13bL, 0x368e4264f0ea8634L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 106;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x87bb4fe2dc3244c5L, 0xea11b3af3bbc0d86L, 0x2adb0c558b5ae2ebL, 0x75b65b936f46b980L, 0x4065d35cb8b7f14L, 0x49e9f9abccad8c58L, 0x579ab34818287f28L, 0xa038b4226b120ad5L, 0x2583ffffda7bL, 0xffffffffffffffffL, 0xffffda7c00000000L, 0x2584L};
-uint64_t A[8] = {0x5407a49b4faa0cf2L, 0x7eb23d3000f5ecf8L, 0xa2db87227dff4d2L, 0x6f0021dca8ee51c3L, 0x3e855bd6d766cb88L, 0xf50f8d1d5397f0dfL, 0xd0b1f024322e5746L, 0x3f859e44807206L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xf3b01e0f64bc3db9L, 0x4fbef3062444c7a9L, 0x87b060986f876132L, 0xd71417a19b0e590eL, 0xa564323c16577c24L, 0xc752e3ca44afd2d3L, 0xe6abe76c8be52d73L, 0xb86b8668afee8949L, 0x8bb0b0bf7291e910L, 0x5de24ba70cc0bd4eL, 0x38f38127533d94b9L, 0xa683514bb8949a68L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 107;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2745ee682fb8e477L, 0x557aa0f995deb12fL, 0xdfa1a3cf77c346b9L, 0x4158f80c85a37d1aL, 0xa669f71c5661865dL, 0x2ce99e65dbf40e1bL, 0x1cb16338209e6889L, 0x9f3a8add5f09020fL, 0xbe1bffff41e3fL, 0xffffffffffffffffL, 0xfff41e4000000000L, 0xbe1c0L};
-uint64_t A[8] = {0xe22b104ad0f67420L, 0xbaf5500801638fa6L, 0xfe4601e2b5bf98aaL, 0xb2e97c5f8d1e0c72L, 0xa09a2ad2d0d67a2fL, 0xcf3cbad5d5c143a6L, 0x57b4042b9fcef2dcL, 0x2b55741691d9fe6fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa4d70907c301ae0eL, 0x1c2859b92a0a6c55L, 0x60301a6c7ee5ca1L, 0xd5c868bb7922ce5bL, 0x325253ea3380c6c7L, 0x58dd793c9a7421f9L, 0x2e4a97bdbd494919L, 0x926025d1387cee0dL, 0xaf95a5fe87adb9caL, 0x6e906a91b63d1c15L, 0x6212449fb5ebb030L, 0xf31d69a2a95bf18fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 108;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc9b029414eee11d7L, 0x4c02343eaefd62d8L, 0x9c0a908bd9a72ef9L, 0x15b349fb322ef9fL, 0x4b355c4104f6ef46L, 0x9243502cab9904bdL, 0xfe4b65513f282becL, 0x7be57cf09dd05826L, 0x797fffff867fffL, 0xffffffffffffffffL, 0xff86800000000000L, 0x798000L};
-uint64_t A[8] = {0xbc2905fdc2c72f52L, 0x67f5f05fcd47bd28L, 0xc4a70bcc9535ceL, 0xea9479cf0f52d533L, 0x4ef0c2e2a7fb0657L, 0x5d1379f69267bcedL, 0xcc5ccf9a29159b0eL, 0x6febb404d5e365f5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x70f82cc0e789ab1cL, 0x11dc33e078d9be38L, 0x9b1a330ec2ecffe3L, 0x3df58109f7967fceL, 0x700c5cb1cae4fb39L, 0x32e6d1c1c01317ceL, 0x13f42e26e236cc5dL, 0xe303a0c6d181ec27L, 0x79e0052addd9ab69L, 0xc53d01ae5e9acc39L, 0x3b77ff922b24039dL, 0x8e222bdc4b6737c6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 109;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe0c12b2dbeed5c5bL, 0x8108260116b78d80L, 0x131596dc63f64aceL, 0x7fb1cfb3d4fdafbcL, 0xdfddff200ed201c0L, 0x932647f0da10de85L, 0xc7295a0d60dc45b8L, 0x135f7ac4a8fa30afL, 0xfffffffb655c0000L, 0xfffffffc655bfffcL, 0x655c000100000003L, 0x9aa400039aa3ffffL};
-uint64_t A[8] = {0x5407a49b4faa0cf2L, 0x7eb23d3000f5ecf8L, 0xa2db87227dff4d2L, 0x6f0021dca8ee51c3L, 0x3e855bd6d766cb88L, 0xf50f8d1d5397f0dfL, 0xd0b1f024322e5746L, 0x3f859e44807206L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xc8e2daa96d7f9460L, 0xccf12c0ee6c63a3fL, 0xb75d25a661a975e3L, 0x63ec46f84f29f694L, 0xacea2fd6d6ef52ddL, 0x644c17168e404841L, 0xc0fbf0a1a0ce6369L, 0x332fa44864743f85L, 0xd93a1d82d58bcab4L, 0xcf68ff78d8730dbdL, 0x8edddf81c6819f3dL, 0x992eded4e7130034L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 110;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x18905f76a53755c6L, 0x79fb732b77622510L, 0x75ba95fc5fedb601L, 0x79e730d418a9143cL, 0x8571ff1825885d85L, 0xd2e88688dd21f325L, 0x8b4ab8e4ba19e45cL, 0xddf25357ce95560aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x34388d1781c06c9fL, 0x6bab4b917ad416d4L, 0x69e8676b0f741fb9L, 0x644183540e13bc56L, 0xc9e365086ce5a54dL, 0x25a1220971c2ab59L, 0x6b3a5852142b9a43L, 0xaa73fe0d6ef970d3L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xfdc4477ad9dc0544L, 0x275b2d188625411dL, 0xf157ef0baba4fe6fL, 0x67ba6eb282e190e9L, 0x92dc4322d5b45176L, 0x1027eeef72203c81L, 0x8d1046406b79aa82L, 0xc216cc89b0206582L, 0x1ba82da0dc8916d8L, 0xf1afd8660371f1c3L, 0xf42dd16eaf8669b7L, 0xea5a527ff56aa81aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 111;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x9f923fe2d79925afL, 0x1b12275f940da0c7L, 0xf875a7da5d23c27aL, 0x5a116150e224c725L, 0x6beb53017d64542L, 0x87efc838c1529768L, 0xfca8a670397d9890L, 0xfa6cb3747f36ffa4L, 0x270fffffd8eL, 0xffffffffffffffffL, 0xfffffd8f00000000L, 0x271L};
-uint64_t A[8] = {0x316af5adbef1bf81L, 0x54fba1ffda268305L, 0xc880111a38792291L, 0xf2eb9417f1449b28L, 0x5238b7e0a70d7329L, 0xdca43f3c543f2e22L, 0x46c383c3194ad95L, 0x9b1496920dedc1cdL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x73ae5d645c58d9f8L, 0xde930cd98889c5e4L, 0xaaa1f25954742c1dL, 0x2f0de95e42862162L, 0x53dc80c5c8fdc0dfL, 0x1a0a47b9ca1d5322L, 0xdb3fc78d7fa035bfL, 0xcdd4d9c3656e7c5eL, 0xcdc07e2579066d44L, 0xc0f9590b2df0080cL, 0xb5f0cdf283b00189L, 0xf14bd41eb79b947eL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 112;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd50dc084defb805aL, 0x8f51dd4d85a781ffL, 0x4438773c13795527L, 0xc0bef4625d03851dL, 0xe7a3d2e4cbf97b91L, 0x206dfed75efccdbL, 0xadde3b37f6c350f6L, 0xd457da8369da4af8L, 0xcfdce7683023183fL, 0xffffffffffffffa8L, 0x3023184000000000L, 0x57cfdce7c0L};
-uint64_t A[8] = {0x81d4d67d5303aa9L, 0x55d6984e2ed8d949L, 0x9ea7ce6365f0934aL, 0x69b60cd9343b297aL, 0xa916a98dc09558fbL, 0x4a43bfd951bdba86L, 0x6c7cc30329ddb815L, 0xd6b16ee90d413600L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x94040bdb95b1b956L, 0x35978e23f8c51c6eL, 0xb89fcb01a4b5175cL, 0x8ca69c916af16611L, 0x4cff2f5ef67a1e12L, 0x198914de0e6b9b32L, 0xca6ba2784a0c7adbL, 0xe70ef40d25d6a3cL, 0x82f6ed8284c87ddeL, 0xb398cc9ffdf8124cL, 0x857e2269c8f32bdL, 0xae7b7aa5bd2c87b9L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 113;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe0e95f6d008e5979L, 0xd3a597f3e4a1bc9eL, 0x78fde1043cc46f20L, 0x11974e8d4f084287L, 0x73147f1e375f2e2fL, 0x46281a77a6a25ae5L, 0xea832be5bd6141beL, 0x4ac12b4cb43fe513L, 0x2751afffd8ae4L, 0xffffffffffffffffL, 0xfffd8ae500000000L, 0x2751bL};
-uint64_t A[8] = {0x63af8e6acb5e0ec6L, 0xf5834e0608329635L, 0x7d92074554ff619aL, 0xf9d2ee75a94e1debL, 0x50cb1436548daf85L, 0x7f722a578b70cebfL, 0xd6262937c36d4cebL, 0x639d60d651bee1e8L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x46d4d45aca25fa14L, 0x7341d394e10ad3e7L, 0x37422db35727a3e9L, 0x5f4809d837787d43L, 0x38c0ae759361ac81L, 0xf5744721ad0d711dL, 0xcc8040845e096f14L, 0x9675c939bf49ceb4L, 0x3057ccfc678b5d6cL, 0x8f0aa7a3e40d1d4eL, 0x28c183b0459bdbd1L, 0xde487805c86d2ed9L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 114;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xdcdf70add40ae53eL, 0x9c62eb9bffef44eL, 0xda55ce8722b7dad7L, 0xde1ca668cbf66dc9L, 0x61d0237c2546ec44L, 0xe484652185c64813L, 0x56a6d8962ed779f1L, 0xf4ee63dd47c90316L, 0x3cbfffffc33ffL, 0xffffffffffffffffL, 0xfffc340000000000L, 0x3cc00L};
-uint64_t A[8] = {0x57fcaf64b5e8d6dbL, 0xf670e79ac97efbdcL, 0xe12253fbdb991b94L, 0xa928a6d84768c868L, 0x1d94d6153c3e2656L, 0x2085b6e8694a3819L, 0xea05005e197a2805L, 0x8004d784b244753L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x31b95a011bcf9bcbL, 0xc8d0a421668a0e73L, 0xdcddaa6646048fc1L, 0xa4ba89f329fcbc33L, 0xde648856b19f0f7fL, 0x42a8f77fcd1e91f3L, 0x8473c4a49baede0bL, 0x7d91cdc8cfb7524fL, 0xa6e3795ddef9bc23L, 0x35a72d5bfc9f56f1L, 0xb4264ac43a8d2073L, 0x9bf06e921743b854L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 115;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6529bb1744faf6c7L, 0x647710d5b2b71677L, 0xe17c94ff563f3ddfL, 0x1b8774b55993a6c0L, 0x9ada069be8bd049dL, 0x543c6b713a44afdL, 0x8062dc992f2f5526L, 0xe1fd560b6324cf26L, 0x797fffff867fffL, 0xffffffffffffffffL, 0xff86800000000000L, 0x798000L};
-uint64_t A[8] = {0xbeab1712a6b7b41L, 0x4cf00f7286986417L, 0x7e5fa880503608e3L, 0xdfb258a6cecf99a0L, 0xb0bd6b72114b64bcL, 0x1ab4e30f608fb025L, 0x7ab0590d97c21cdcL, 0x7cca0f74c4dd4a53L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x14ab9015b5088bfaL, 0xaeb1a22536a03a67L, 0x33ca3366cb35e2a1L, 0xd3770ccae72a7713L, 0x9f1d128df469eb8eL, 0xcc72c89232b25622L, 0xf6bba894afaf5ec6L, 0x62bc3dfb566f039cL, 0x9530d0c41ca79eceL, 0xb7ab65aab0e502d8L, 0xce30ff6fbddc9f7fL, 0x30ce7a940a522439L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 116;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa3ba006a55f481aeL, 0xcf0b428e2cfdc4L, 0x2e317c0ed650d9feL, 0x697423792923a889L, 0x379bfd8e39294774L, 0x8ea11389be55b98fL, 0x1fd31b2c57a2da87L, 0x1d42004b66404980L, 0x17c37fffe83c7L, 0xffffffffffffffffL, 0xfffe83c800000000L, 0x17c38L};
-uint64_t A[8] = {0x9327b0e9666b1242L, 0xf5f3ebfb4d392c57L, 0x7304174a87d08095L, 0x6869c3bcf7e94bb7L, 0xc3c5a8ebeeb43c51L, 0x3ce9943ebc307220L, 0x8fe1ecf0cfcb6406L, 0x710e6e6b5594a88L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1716f42b5d4a573eL, 0x3428d20980fa28efL, 0x45baba522cfed2ecL, 0x17f24d858b871502L, 0x25c4014d1145bcfcL, 0x812d06c08b1d22a6L, 0xabc2cf9370d9cc82L, 0xd1dc76f0337f85e7L, 0x5756b4f7facd2b0dL, 0xc3c1ebfccdc4ff8bL, 0x792d3623b0ebc408L, 0xe5e5d71952bc6f8L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 117;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xdf2a4e99987db828L, 0xd707aeea6fe330aL, 0xed8a6b41ba301cc8L, 0x53b2a120fcfe20e3L, 0xa75b19f0fe497fb2L, 0xb5b5fac1144295cL, 0x3b69af2ce9230027L, 0x47af04f55dca93b5L, 0x55ffffffa9L, 0xffffffffffffffffL, 0xffffffaa00000000L, 0x56L};
-uint64_t A[8] = {0x63af8e6acb5e0ec6L, 0xf5834e0608329635L, 0x7d92074554ff619aL, 0xf9d2ee75a94e1debL, 0x50cb1436548daf85L, 0x7f722a578b70cebfL, 0xd6262937c36d4cebL, 0x639d60d651bee1e8L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1e2a9c61be1b01a3L, 0x51a204fe96f27a6bL, 0xc856b54e56edd300L, 0x2d31761544971c60L, 0x76a0ee761862d598L, 0x5cd1578fd8ec42fdL, 0x22f8ff7b9896bb36L, 0x72a9b0fc66de227L, 0xa9ee2c4f2cfba7b8L, 0x533f8ef39e231083L, 0xb0bd3ea0ea8c08caL, 0xe90923918352ba79L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 118;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xbb57e641a084ca8eL, 0x5d9528e035fb386aL, 0xc6c5dfb13f1234f0L, 0x3ed3b21fbb787ea0L, 0xa272c2520f433b5fL, 0x785d23260f1c41bfL, 0x1d9e322c34490dd3L, 0xcb0a2ba5679c519cL, 0xa4ff4f78390e0ffdL, 0xffffffffde0d5f76L, 0x390e0ffe00000000L, 0x21f2a089c6f1f002L};
-uint64_t A[8] = {0xb79d949f7b27bbcbL, 0xaf2202c54f992674L, 0xd57c98ba98761d7fL, 0x2356181a763213c8L, 0x7007ce885822defbL, 0x3926281c4c80d90dL, 0x98b5c0d828160994L, 0xd2d05e64d4f0b73L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x285637c317004706L, 0xe9b19c5e28c09705L, 0xe1534e17bf4fdea1L, 0x1c8e7c32f4d21388L, 0xd81027bd70b99f47L, 0x1652a1a1d392382dL, 0x9a4ab02a72f49c36L, 0x5ee409ebbc7ba4c1L, 0xf70c825344967dc5L, 0x5bea517184de8f9bL, 0x679662741f37cda9L, 0xbdff09debe16cb58L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 119;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xfd6717db76f64df5L, 0xed29e18df77cab71L, 0xabbbb68402582479L, 0xb5ec2bdd5b613dc4L, 0x17096dd3687f13baL, 0x5b6d19eda2a78bffL, 0x1e3a1231b7a1bd93L, 0xba70d6773603de6dL, 0xfd0907b002da0ca7L, 0xffffffffffe31458L, 0x2da0ca800000000L, 0x1ceba7fd25f358L};
-uint64_t A[8] = {0xe94a016c3e489b9aL, 0x4c0dcd300855ca85L, 0xed8e08d20eebc2e5L, 0xb358109f2f4b170aL, 0x4b5123a73a5b4568L, 0x581e5ff924197743L, 0x9860cd99345cdd47L, 0xb3ac042d1ac3e740L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa1804a77d3bf6a94L, 0x447d02533875977L, 0x32c5f6f4b703cb8aL, 0x4330a6530862d4d8L, 0xad119f4ae5a2f498L, 0x6b269d354fdcddc3L, 0xdaf83c60f3b4ba3eL, 0x4dbdfc91fa6301cdL, 0xc60008de7a788400L, 0xc014ef95debbe8cfL, 0xd364df1a3b2f8d82L, 0x3f1fd767e72578d7L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 120;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd216292cbc9c1651L, 0xac7a891087057dd1L, 0x5280082234ab10b1L, 0x498205e3867f0c4cL, 0x4dce25378dfeecfaL, 0x7fbfd0fffc2418c4L, 0x39c662bb67c204b2L, 0x907ad2d314f07741L, 0x5f06e5ffa0f883bcL, 0xffffffffffff69bcL, 0xa0f883bd00000000L, 0x96435f077c43L};
-uint64_t A[8] = {0x3928c1c106f509cdL, 0x78606717982d7933L, 0xcd76320219721164L, 0x44a4548b2657625aL, 0x87fc58b7c9aa96acL, 0x4cd329009d86140cL, 0xaecf6bb41fcde04bL, 0xddf76dc6b51002f8L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xeb8ef5d57d54a6L, 0xd9d554eaf92e1755L, 0x45a67854641347cL, 0x600ad3763e53250eL, 0xfed5639ab1b532e9L, 0xf7c32358697e8e20L, 0x99b7b1b6db3fdc54L, 0xdbb71fb3c2384cb0L, 0x179fefdc067bf8b5L, 0xcba8dfe0bf9355c5L, 0xc1cda4924eec4f59L, 0x4749e803f300aac3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 121;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8764f0699d148ffdL, 0xed095a7728c0a63fL, 0x86bd67b50a9693a9L, 0x5b4bceb7322287a3L, 0x4f8535568876fa6aL, 0xc86be314cb98050eL, 0x9fd140759d8eca37L, 0x253c1d404d7d1714L, 0x9c80ffff637d6036L, 0xfffffffffffe6036L, 0x637d603700000000L, 0x19fc99c829fc9L};
-uint64_t A[8] = {0x7306bbb8a15a8e04L, 0x8f02d66c01def11dL, 0xd63291c8154a67e9L, 0x7c6e85f3616f1ccfL, 0x1e787b17c6e02971L, 0xa4194c68b7b0ee5aL, 0x48bb709e959aa2bcL, 0xdc645794566e4359L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe1cc0f55cc666ce6L, 0x3e95832cb5ba1f1cL, 0x5b388eaa358d949fL, 0xee54570e6043c273L, 0x786737a27a39389cL, 0x52e5084dbb48af54L, 0x18d3c1b012f12d83L, 0xbfbb8785923103d1L, 0xb046d5a76b7db32fL, 0xcc6e239e5e857123L, 0xea5878f53c927868L, 0x3ed175c89848489bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 122;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4d13ad54d3ba5031L, 0x498be15dc423d8a5L, 0x7f18ec99da6c8d19L, 0xe6024ceadb766f65L, 0xf57223f8d8c75de1L, 0x2b6f92e1ea3f9972L, 0xb3ed630842c9540bL, 0x802cfb8bef253679L, 0xfffffffe6afd0700L, 0xffffffff6afd06ffL, 0x6afd070100000000L, 0x9502f9009502f8ffL};
-uint64_t A[8] = {0x49b2a0b16a395853L, 0x32092e494617dd75L, 0xce614c2f83c516f2L, 0x40afd261d2a96d7dL, 0x735fd9b0767a558dL, 0x7c83d9d9520a759fL, 0xf34063ae496cce27L, 0x4270a2bd4b257a7aL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7eec0d6e52c60f2aL, 0xfb653b8584e1dcedL, 0x2f7fb1ee5fe58393L, 0xd1056459e47e49dbL, 0x93113f6e55fc1f84L, 0xefa86b4f47c2c0b3L, 0xe484e06cef685d6fL, 0xb63b2309399ed55aL, 0x722dd711cf7a8555L, 0x75213bb53ae48e81L, 0x8c0cfcb688a5c6c4L, 0x731296c38b5c2eb2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 123;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x85df439b0f91a396L, 0xae7d41db211d958cL, 0x46f1e1474b49f5ebL, 0x6863c809402f3dc6L, 0x87b56054c6e337f7L, 0x65458cf0a938f3e6L, 0xa93325fc5e1e4c8eL, 0x65bc689934f3e4e3L, 0x37ffffffc7L, 0xffffffffffffffffL, 0xffffffc800000000L, 0x38L};
-uint64_t A[8] = {0xad8404a11b79aa6cL, 0x1d2617ed62ffc78L, 0x4eae27c831dccb8cL, 0xbe5e2550737095a2L, 0x4dc89bad3307af38L, 0xb1beed667e99fdc4L, 0xe114feaedd49af04L, 0xebaa1f3586a5d905L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x9af1a77eb0145446L, 0x2ae787ff735183bfL, 0x42db067e2ca13809L, 0xe72db9ba0e9c31d4L, 0x842f2a2e50cff16dL, 0xd7529214e94d9eb8L, 0x497e88c3ca18ae66L, 0x60c935ac50b30cabL, 0x7b92be8e9ecfd311L, 0x95db7a055811ac27L, 0x29af5d2b31455aa1L, 0x7229d351a6a4698aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 124;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6048fe2aa715573dL, 0xc31c471200e5e425L, 0x2ff45dfc31e2aa27L, 0x3820fec0a60b0402L, 0xd4f64a5344e3b4e0L, 0x30f5a09599f6afbbL, 0x3a5a2d952698743L, 0xf02304a8d6748fdeL, 0x2dfd3892d1fa7c83L, 0xfffffffffff7b516L, 0xd1fa7c8400000000L, 0x84ae92e05837cL};
-uint64_t A[8] = {0xc69a65ed2bb2bb03L, 0xbcc7ceec7dbd337dL, 0x3743415af6fb167eL, 0xbc15743652dc1267L, 0xa739a6188ae5a09dL, 0xb4825fa5e5d035a7L, 0x44096ce747e2c679L, 0x97b96633aab52fc5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe006d27235855c0aL, 0x656831f36a98bb9fL, 0xdf7949aaac93a110L, 0xf5da0e35fad76244L, 0xad5ee1414e0828bcL, 0x57398c3f156f5e65L, 0xa7f95e5e22e899f4L, 0x5ef57d37dba4ee72L, 0x28096a009ebafa1eL, 0xc7f8b914c6790c02L, 0x74fae152407004b1L, 0xcc6a62cc31f17560L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 125;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8a054ee4a0fd4fdcL, 0xdfd652e57503df30L, 0xdcdf2cf6b4330202L, 0x446b1478939130b5L, 0x4b63a82cd006cad5L, 0x22d70d85d052767cL, 0xbeec377aca64f295L, 0x94334c0acd33d29fL, 0x34dc23efc7ab2e1L, 0xffffffffffc87520L, 0xfc7ab2e200000000L, 0x378adf03854d1eL};
-uint64_t A[8] = {0x254a4a3e09ba48fdL, 0xf5f9a498bf1bfdeaL, 0x7c18faa630900f7eL, 0x113542810b0284cdL, 0xe97fbab46827f334L, 0x5b7d6c595db8b18eL, 0x669025d6306e5844L, 0xee79ebb98c19a4cbL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8cab4a122a5fae3L, 0xee6ba35c1ed62f7bL, 0x7a94c588520a2c18L, 0xdb7b556dee562cdaL, 0xbc7c6e7735b7bfdbL, 0xa5e8476b37360261L, 0xe2431fa62d28a98dL, 0x3033163d838ba521L, 0xdfbadd92348c4810L, 0x3e14ca552855990fL, 0x37969c7fd0221879L, 0x2468f3138bba43adL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 126;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xad725dd7e91225dcL, 0x7db9c09efdfc398bL, 0x600875e9b21032caL, 0x49221601dd7ddd1aL, 0xf03aa09ff36257b1L, 0x4493d1730970a09L, 0x8d677e6ca1bf0bdcL, 0x243ea0e757430233L, 0x6235f6ff9dca08L, 0xffffffffffffffffL, 0xff9dca0900000000L, 0x6235f7L};
-uint64_t A[8] = {0x13b094a94e0de8bfL, 0xc1192e9bebd3fd5fL, 0x4426583cc2bc2fcL, 0xe3874e85b10c271L, 0x721a3a6c6b0185acL, 0x5bbf5051314aa975L, 0x8a3c17181c4402cdL, 0xe4a2b66f3663fbf4L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x2d792f81cc1900e9L, 0x2be7930fa2590df0L, 0x650cce3c2e335c24L, 0xdd67486a34a9a58dL, 0xaa10bd2f61448b02L, 0x8249c091ee3063b8L, 0x5d08d1d87a26b846L, 0x490e98f1410dc425L, 0xae7c0084a51341dfL, 0x15c9b31002cfe98bL, 0x1e878f201697fedcL, 0x893488c206aba848L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 127;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x1eabc1d7eccc4074L, 0xe0b3b306b8be9db5L, 0x99a3fcedbf0457d4L, 0x5aedc77a768c0774L, 0xb05806d060d0314aL, 0x69173caadb12f3e4L, 0xc147e7fa527cd6a7L, 0x86e2014c8cc77778L, 0x4528a140bad75ebeL, 0xffffffffffffffffL, 0xbad75ebf00000000L, 0x4528a141L};
-uint64_t A[8] = {0x694ee4e9a8bd4f9dL, 0x77d335e552e3660cL, 0x523ce279ea653c2dL, 0xa16534739bad9f30L, 0x41c4e903744eda68L, 0x45a5457f2ba7c27fL, 0x578aa86076fcc7beL, 0x9a49e32de56a12e6L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x96b5d52b20042eceL, 0x43400dd67706b9f3L, 0xf7078ce133d56dceL, 0x55f6c761942c044cL, 0x84b52a04f00124c8L, 0xd9c774ea691dc9c8L, 0x1c90a81dec34ceb2L, 0x5fecbe76c3e5e6d8L, 0x39ac14caf6b18e57L, 0x8c94139e7a36c3fbL, 0x479dbdb7c3a8a03dL, 0x1c8defc6d3d0b252L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 128;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x699542c02205b526L, 0xa8c367a3e9e27836L, 0xd21a8b79ad7bbe4bL, 0x4813f697223f7706L, 0xdd9bc72ea1d490c1L, 0x2e6e25d723f3c4a6L, 0xd50bbd4780186240L, 0xed7891b504f33577L, 0xb964efff469b0L, 0xffffffffffffffffL, 0xfff469b100000000L, 0xb964fL};
-uint64_t A[8] = {0x75b1deedf1dd81cdL, 0xcdedb3ab8dbc1d6aL, 0x6dbc4191c033ef74L, 0x99e398a2a8ab239eL, 0xd3e74166fb4fadeeL, 0x2bc2d83bc7d27b02L, 0xae7a6c8895365a36L, 0x163852f12b5f7327L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4a68d65450e607e8L, 0x77f0396799a95675L, 0xd1eb723528473a21L, 0x2abd0e4b2104aecL, 0xc173d4f54d07a8dL, 0x9e47941e180ec2a5L, 0x4c3cfae8ccfc9ccL, 0xfefd570672cf5c23L, 0xa86050c2e263817bL, 0xa97eea2b12deb97bL, 0xd91afb2ee278e002L, 0xe005684ebde7f697L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 129;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x619abcb9856aff78L, 0xf45f116f64ec7293L, 0xa14809aa7db8f7f5L, 0x8475d71a340b19eL, 0x2d60548fd075e0dL, 0x16f931f14a13e5b9L, 0x92abd9e41f4b1edbL, 0x6fa1886e95366e58L, 0x10229c36d370fe27L, 0xfffffffde3939a5eL, 0xd370fe2800000002L, 0x1c6c65a12c8f01d8L};
-uint64_t A[8] = {0x480dbc1bdb128292L, 0xf4403cdc248a5658L, 0x326307428f89526L, 0x3daf9a43c81445f2L, 0x40613619d75d53bcL, 0xb13f2e85b503b962L, 0x725f5a062297d5b0L, 0xd4276cd13fed7f56L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xc2cbb24832f3915L, 0xed89af5b7c0992beL, 0x64acfec3f5ffdbbbL, 0x3b5c7fc5e4e32b17L, 0xded609d8d88d49b2L, 0xfa10aaf89b4acfacL, 0x6a4f4886a1efafa4L, 0x171c56fbdf47fb98L, 0x647a7cfc86daa09aL, 0xfb5d2bc97689b743L, 0x61315f16458af224L, 0xc45d067ceb4568e7L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 130;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd23700fe1a5e02e4L, 0xbfc6db91990aae4bL, 0xa73c6a728eb5fc5bL, 0x9c8e11d318feef0eL, 0x6d2cd9ead8a6c903L, 0xe29a07b96c38a67aL, 0x39def8be8cc0e058L, 0xed5bf9d21aae3ccL, 0x95eecfff6a112L, 0xffffffffffffffffL, 0xfff6a11300000000L, 0x95eedL};
-uint64_t A[8] = {0xadfeeb8858cee75fL, 0xb39892a238929f1eL, 0xd5a7b62826fe4135L, 0xf19b7e5353944d6aL, 0x7d6929a823d46fd1L, 0x821afc9c9cdfd923L, 0xb00c038dd1f7bbf8L, 0xa1625858237504b2L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7ffc8b2821de9e8dL, 0x6de0af74e9d7b1b0L, 0x926d78f8b4abcd30L, 0x3f3d336f718e0fe3L, 0xd5a0893f584d7394L, 0x5203d9d6e505400bL, 0xbe7e6708ddc3721bL, 0x5b1f6f61af8b4c49L, 0xdbd3ae365db4c18aL, 0x8b7ea9db978143feL, 0x3d0c7b56aa95288fL, 0x58f543b80f29629bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 131;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4485df1cd35caa0bL, 0xc538f732b619a134L, 0xc66512c95d240fe1L, 0x621d4286c2ee5efcL, 0x79c42644e23f9492L, 0x92d0505a6987756bL, 0xac9e1ee44a6ddad3L, 0xeda1ed6e69ffa2f9L, 0x11ffffffedL, 0xffffffffffffffffL, 0xffffffee00000000L, 0x12L};
-uint64_t A[8] = {0xb79d949f7b27bbcbL, 0xaf2202c54f992674L, 0xd57c98ba98761d7fL, 0x2356181a763213c8L, 0x7007ce885822defbL, 0x3926281c4c80d90dL, 0x98b5c0d828160994L, 0xd2d05e64d4f0b73L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xbea7c873ee0396ebL, 0xaf3cc02c20581721L, 0x713f0b17c44b0066L, 0x7e2e7e0fdc79130aL, 0xaf2691ab63655718L, 0x8303fd48f513e185L, 0x128ef6d72b3c11a8L, 0xf71485de49395c4dL, 0x2c783178c4aa3307L, 0xe0cdbd6c8b26bfe9L, 0x8b5bf866b646da84L, 0x1b466d5af01006daL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 132;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe05b3080f0c4e16bL, 0x2cc09c0444c8eb00L, 0xabe6bfed59a7a841L, 0x75c96e8f264e20e8L, 0x86659cdfd835f9bL, 0x2b6e019a88b12f1aL, 0x56af7bedce5d45e3L, 0x1eb7777aa45f3314L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xe94a016c3e489b9aL, 0x4c0dcd300855ca85L, 0xed8e08d20eebc2e5L, 0xb358109f2f4b170aL, 0x4b5123a73a5b4568L, 0x581e5ff924197743L, 0x9860cd99345cdd47L, 0xb3ac042d1ac3e740L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x19b2a67a3ce970f5L, 0x14774ce11f6a6617L, 0x752421ee03d61f15L, 0xd0cb7d9857b7ae3aL, 0x1eaaa222d4e37f76L, 0x69f0bc821080c4cL, 0xbc2d7fd4e51bff6fL, 0x4f83d3b99660a000L, 0x8eed0eb4d83ba2fL, 0x1f4d312bc38cdf85L, 0x41a748e4b5441aa4L, 0x3d8ea21008fcf622L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 133;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x9027be1378bab499L, 0xbfdca21d08c7df97L, 0x7ffdbe1cb29888d8L, 0x334aaabfe2233009L, 0x2295b92c55f98aeaL, 0xe0622b4677cdff9fL, 0x16696f94bc41383bL, 0xd006e604c743e5ddL, 0xcf7e8dff308171fbL, 0xfffffffffffffffbL, 0x308171fc00000000L, 0x4cf7e8e04L};
-uint64_t A[8] = {0x76548399d85ace5fL, 0x70a82d4017a5e8e3L, 0x76ee5bb938b24a69L, 0x7b3d5bcaebcf2c1aL, 0x6e1b7c097bae3101L, 0x28fab9cb4527dedL, 0x1395eca430a44026L, 0xffa0b8e0cfa7cddaL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb43a151803634d77L, 0x4cf46a28d8072fcL, 0x15659b4be34521bdL, 0x12cf1ec3af915effL, 0xf6a81f388096bceaL, 0x877afbea92e9b5e7L, 0x5b9dd55ce1858cd3L, 0x744211ea959e4443L, 0x9034786e5b1a8e37L, 0x50c1e66e1cfc8257L, 0xd4ffec06adf2c92aL, 0x976a37d530cb9f73L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 134;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4b969974eba78bfdL, 0x6b20afec715af2c7L, 0xa624fa936c83906L, 0x283c7513caa76097L, 0x9bbff86e6dddfd27L, 0x4819d515ded93d4L, 0x9b944e107baeca13L, 0x220755ccd921d60eL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x1194785fc0ebd864L, 0xae08dba305d1c30L, 0x637a496883bf13e0L, 0x1e59d7ad07931b9L, 0xfe138e7c3a8da79fL, 0xfaa2ea66baccab45L, 0x46610f593244345L, 0x990198536bb2cc87L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x268984e8bfbdb45eL, 0xb68de9a874012eafL, 0x216a5d194f9708a9L, 0x7030a56ed4e5ec1aL, 0x13df7a68009254a7L, 0x744febdcb99e2e76L, 0x27810f9a51fe9523L, 0xd1a6892ad65d48c8L, 0xc5fddee9d5444c67L, 0x9fbfddcdbf022969L, 0x5917f9c04cf6dad9L, 0xd9a9286705d1d121L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 135;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x3a707e90687d1b06L, 0x93c65a752a208afcL, 0x94789a0863d56ca7L, 0x5afd12a37d56dbd6L, 0x7372b23b09de2d51L, 0x8ccfb2f077954588L, 0x8222adbc119bb6bbL, 0x9fbd4e9fcbf7d9f1L, 0x19a0ffffe65efffL, 0xffffffffffffffffL, 0xfe65f00000000000L, 0x19a1000L};
-uint64_t A[8] = {0x1ac9b3b95c98837aL, 0x8d80cea9a6380e97L, 0x68b05abd2b4c70a9L, 0x1297113175774cf6L, 0xf9b38f9d5ef51755L, 0x5566e3f4088317ddL, 0x279b1cdeee4dfc85L, 0x58aecf8f412543b5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xbc1343775d00a2daL, 0x9148c4dea8f74874L, 0xc88dfe936b40bcc0L, 0x3d59a9d214daae5cL, 0x66b307ce9b83fb26L, 0x4f9c4ad381918361L, 0x47887cb08cae9b50L, 0xa7bf7f6deb2f1becL, 0xac99b6626bc74118L, 0x818fbb41e8725333L, 0xd47799c152c51d1bL, 0xae9e298f0f854d53L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 136;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd4b3f7d687f0eea3L, 0x6eb032cd013c6b44L, 0xc14002ace0c52973L, 0xedc51f7a7005077aL, 0x4884fe5c88123f77L, 0x2bdeb38e95fa9aacL, 0xcdaa3e08ed62b802L, 0x7f85b0e3b519a7bbL, 0x16c7ffffe937L, 0xffffffffffffffffL, 0xffffe93800000000L, 0x16c8L};
-uint64_t A[8] = {0x1b8e99ec73674fd0L, 0xdd2db1ac1c655c22L, 0x6961af51e2d8306bL, 0x8be27de7f56e210fL, 0xfb1256c27d874a2eL, 0x16f5d1e9cfdaa431L, 0x8fc19cbb4701173dL, 0xfbfe9539b70e2b92L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xed20310fb0957f05L, 0xe223d35bebc3efa9L, 0x649105bd059f08d7L, 0xbb4d31d046b12ca6L, 0xfc58157cd121bba8L, 0xf6e31f4adad95755L, 0xdf57065aa10c7c59L, 0x9811a1cb42769404L, 0x3fbce9e8baa4d711L, 0xbd97c97d239858a2L, 0x576bc96e0faec5a6L, 0xe1c0ee19f9f8b72eL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 137;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa0a7e915778804fbL, 0x9e406c8ab737892bL, 0x7f39ea79842d63adL, 0xa599b6cdb16d03c5L, 0xa4d38b8fdb4cbcf6L, 0x5331a0f8643d13c8L, 0x84bf095410b3726dL, 0x7f5703b730df8657L, 0x24c0ffffdb3eL, 0xffffffffffffffffL, 0xffffdb3f00000000L, 0x24c1L};
-uint64_t A[8] = {0xad8404a11b79aa6cL, 0x1d2617ed62ffc78L, 0x4eae27c831dccb8cL, 0xbe5e2550737095a2L, 0x4dc89bad3307af38L, 0xb1beed667e99fdc4L, 0xe114feaedd49af04L, 0xebaa1f3586a5d905L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8c2d9bca9e660e3bL, 0x153c12709c511bd3L, 0x6dc74c5d56d266f6L, 0xa4344fbe7ea3becaL, 0x5491488889769c6eL, 0x3fa8733855f49f0fL, 0x9131fe15e087833cL, 0xbd0d21fa112d18e8L, 0xa12a1840970f9452L, 0xa1d2cb56a4fa9cf2L, 0xedc4406f84de5e9fL, 0xac3cf5715f483262L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 138;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x469f7b9e0ec598ceL, 0xcbef2055f11abbaeL, 0xf500ec13afd839cfL, 0xba48cdf9ab862f82L, 0xdcb4e18ce5653d9cL, 0xa6990ee87d3d6a43L, 0x8485ce46cb29c1fbL, 0xda1a168f7154d61fL, 0x75e1357f8a1ec302L, 0xfffffffffffff882L, 0x8a1ec30300000000L, 0x77d75e13cfdL};
-uint64_t A[8] = {0x80a698c8975ead83L, 0x90db4fbacc824d66L, 0xe3c23575a8e79d32L, 0xe8f79d0c8916774eL, 0xc07e51672184d151L, 0x5c15e89541c00f8dL, 0x49fa74271f568f63L, 0xf0d5282b6039e3a0L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8a0e172e1bd6030cL, 0x1f3cb532f04f5e91L, 0x4da1bf6c06eb61daL, 0xb5d022d2e972d2e4L, 0x9bdd085aa4a0d73aL, 0x5868d18b82247c04L, 0xe2079f99b7da0ec9L, 0xb5d5e549fa0ba494L, 0xc0ab1f7adf6d1a2eL, 0x3e18bdf96ec45cbaL, 0xc511df517776d730L, 0x8b53a7aaac498a35L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 139;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x63cbc81edab3c39dL, 0xfc68133ee6391fb0L, 0x76edc081aab5f779L, 0x620db96ae4901c68L, 0x2465824d63cd3c97L, 0x1eebe65f0f223d17L, 0xd2ece0b4e96f06ddL, 0x31cc7cfaa0b838efL, 0x8fffffff6ffL, 0xffffffffffffffffL, 0xfffff70000000000L, 0x900L};
-uint64_t A[8] = {0xc7ddf7864ac64482L, 0x80cb53c4c9ac79e0L, 0xb47cc1f1216cd550L, 0x1df4d36fc0aec63fL, 0x7c792a6f445611f5L, 0x7002065a567a0793L, 0x817c6261de6732b9L, 0x753e20a3ae511746L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xd29ffba5252b6077L, 0xed88c0ee776a31d4L, 0x46d457aade6a3a1cL, 0x71d8769a0adbb240L, 0x67b4a8fcd8fde65eL, 0x582e4926b64f8763L, 0xc4839fdc923e01d4L, 0x6d9ffe5a94750d61L, 0x7a0c95c215bb614eL, 0xb99ef0f8dfda1017L, 0x13434a13bf9ae9a6L, 0xc02cf0828f276a5dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 140;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe94f7d346d823278L, 0x1b1e8ae057477f58L, 0x32940b946c6e18L, 0x1ee426ccd5cd79bfL, 0xd73acbfe2cd9e6b5L, 0x772ef6dec7f80c81L, 0xc5254469f72b33a5L, 0xc747cb96782ba21aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x47b8c90e0ec452b0L, 0x8691f46ed9af1fa9L, 0xda120f3433f2d27eL, 0x160837d249afa40L, 0xe0053424c4c03fc6L, 0xabd0d5874b2e52adL, 0xe28134da897595edL, 0xc9d2fe827d859fdcL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x55ac55abd2066b78L, 0x5c4b4035e72e2204L, 0x16b59961e5283d57L, 0xdc3d35e982735eb5L, 0x4743897245424087L, 0xf1ce02509e7130caL, 0xf34a8ff5a99dd3eeL, 0x37d192e2abd6777eL, 0x5e694bd8a1422039L, 0x6b73698e8267a051L, 0xd9df7b299f866465L, 0xe27c5cb04ecd8080L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 141;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x985cea6fc03dacbbL, 0x98d44e502ee3897eL, 0x3947e7d055d2b50L, 0x7a9c3580299c0b1bL, 0xed778c1f13b3dcdbL, 0x5189aacaa7114b7fL, 0xacc151e98a31a32aL, 0xb6144842f71699eeL, 0x3a2f7fffc5d07L, 0xffffffffffffffffL, 0xfffc5d0800000000L, 0x3a2f8L};
-uint64_t A[8] = {0x6efa6bd995c6f13dL, 0x7569e3ebece891e4L, 0x5397ae9b8df4ab71L, 0xa57863aabb662998L, 0x9962f967bbe4fb12L, 0x26a08b12b08fe94dL, 0x8d9fe2a2db5bf5feL, 0x901a055991b40621L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa4a3fab8d03448acL, 0xece0c7e33ae29b09L, 0xf977b67900d74515L, 0x6c1778aa2b6ac6bfL, 0x1ac99c7abb407b7L, 0xdb82b225331b1c18L, 0x9a5029be88bb695L, 0xc0bc388e7a476ab0L, 0x3089904606e34f07L, 0x91b2ac06fe699eeL, 0xe879795838adbc88L, 0x10f4d50c81edeb7cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 142;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x624402d9ee328356L, 0xe241d8c53368010eL, 0x1df145170f4af4f4L, 0x1535126d48f0d2afL, 0x51ad7fed5427ce4cL, 0x4cee44686a65700dL, 0x6ced5c6441a052c6L, 0x8ee577a9c289b3b0L, 0x2dace9d8d25312aeL, 0xfffffffffffffc87L, 0xd25312af00000000L, 0x3782daced51L};
-uint64_t A[8] = {0x9b1d73d30c074c77L, 0x7066b28e4e81f4aaL, 0xc693f6041e7a86d1L, 0x571b9ffe1b1ce20fL, 0x146428ccc2a6d239L, 0xe739711ae0613c3eL, 0xcac27df8a27cf75fL, 0x4f08c45d910349ceL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8920fa356c134d95L, 0x3ce8abe88f27b6caL, 0xdf74fb720fa00667L, 0xe56aae507c0deaa5L, 0x98a7596758cd42cdL, 0xed78d55caba83d6fL, 0x90dd05039f26c851L, 0x5666cc70d0e37f68L, 0x6befa62174fea206L, 0x1165029e17febcfcL, 0xbfc2a7705afd2640L, 0xb660ae88fe79857dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 143;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2abcae5bd8d312f5L, 0x48e1c4580b462b1cL, 0xe08c0ca5ea11770dL, 0xc8b6758df6b6cbddL, 0xe7ef5a7b0f0b3c49L, 0xf9b58178221b8e99L, 0xbf2f3b74a57bf57L, 0xc1b6e3fb22ff2505L, 0x1affffffe4L, 0xffffffffffffffffL, 0xffffffe500000000L, 0x1bL};
-uint64_t A[8] = {0xbdc3f5804558c906L, 0xbe50b32eac05abe5L, 0xabf8eec667de9f04L, 0x30c099e05035eac8L, 0xc2a65a2b6251ee57L, 0xaa1010f7e96e7986L, 0x9f80c4fdf2efb104L, 0x22e94574db40cdfaL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3ec038ece9989df8L, 0x6d4a1d4f8fad738fL, 0x1526c718b986a4a3L, 0xdae74f7ada9b04b9L, 0x740feecee6c326d6L, 0x23345dea82c51219L, 0x9e0c711bb1f023bfL, 0x86ec1a91a268a1d9L, 0xefbe9a9cfb2508a3L, 0x6f1082b07a90fa9L, 0xb5d9124b81c4b0bcL, 0x3d38a3be1c3b4802L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 144;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf6a0d541eeaf94c4L, 0x98ede67e35d60e4dL, 0xf6854c21d49f0e81L, 0xab6cf59c8d51c084L, 0x6a3092dd2e588f90L, 0xf98675a877100653L, 0xa3a37c8485b85ed6L, 0xf3f37d646dbc52abL, 0x16c7ffffe937L, 0xffffffffffffffffL, 0xffffe93800000000L, 0x16c8L};
-uint64_t A[8] = {0xf00d7f44b2f20021L, 0xfe99579267f76431L, 0xb1a0fe6b4bfe1d41L, 0xe195a18004d3be6aL, 0x571d7288cff1ca50L, 0x9919dc11de5299d0L, 0x7e613e6125db8f74L, 0x831ba6a0cd03d645L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x99e7bb5d06b8906aL, 0xbeea1f619d5bd816L, 0xa9edac5239bee892L, 0x7ec23d367ef05c6aL, 0x28309036df24c0a2L, 0xfac7fdc3ed0f09bfL, 0xe3b5e2820c28319cL, 0xef04e156af132d39L, 0x2cb0cdc4274e4a96L, 0xb942cf3efbd25469L, 0x9aa821f7a93a8c24L, 0xddcf679962e26281L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 145;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xbd88aca74765b805L, 0x3ea123446310eb5aL, 0x62d51e29fd54487dL, 0xc1ee6264a7eabe67L, 0x7150f87e7211e445L, 0x7ab49dd209f98f9aL, 0x640388f83b9fffefL, 0xb7b284be14fb691aL, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0xc9a5bd13954b9ca2L, 0x566feeb4d61328caL, 0xcfd7bf48e54e1acdL, 0xeb2603b57b7acd4dL, 0x7bcdd0ff094f23f1L, 0xcb8721ecb3ec12b9L, 0x9e4cbd67c300f661L, 0x31ccefd32ba4dc4cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa0228e62b65386c6L, 0x5e8c3b095e2b5d7eL, 0x205b27c6cd16150aL, 0x4220d2b7676a4604L, 0x5482d87c8da6eaeaL, 0x99158f0d6038e7a8L, 0x46a5ff4ea6ec67f8L, 0x444f7637ef0ced1cL, 0xc1d106c4de5e49dL, 0x17cecb7073023d70L, 0x6d02a11ee7f9d250L, 0x2937a150d3900ee6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 146;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x85f708f13daeb8acL, 0xcabba876e7b85261L, 0x3e1f0fe041c49f28L, 0x5435fc73e47833f4L, 0x5cd3f846da3f0ecL, 0x86a81d067c1d17e1L, 0xbc84758af496f4aeL, 0xbe44742c39635213L, 0x8baa277f74559d85L, 0xffffffffffffc505L, 0x74559d8600000000L, 0x3afa8baa627aL};
-uint64_t A[8] = {0xbc2905fdc2c72f52L, 0x67f5f05fcd47bd28L, 0xc4a70bcc9535ceL, 0xea9479cf0f52d533L, 0x4ef0c2e2a7fb0657L, 0x5d1379f69267bcedL, 0xcc5ccf9a29159b0eL, 0x6febb404d5e365f5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xac3700988354633aL, 0xf8b90e4c5f38b059L, 0x81849adc894f66a3L, 0x4f05ab1a873636aeL, 0xb0311444694be885L, 0x8349f222a63c27deL, 0xdd206251c15d175L, 0x4f6c680ba18e80a3L, 0xdcaa046e4fddea6fL, 0x69e611d2bcbc8deaL, 0xcd897fe037ac3d39L, 0x989c2d128c60addL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 147;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd61a0fd503baab7eL, 0x82f620d3e6d45796L, 0x4b4284f5457f960eL, 0x786e91c5322dd81fL, 0x843389170ad09c87L, 0xd0f611c4511ad2dL, 0x1e94c7fb18c4e74fL, 0xec0b74af155f0fe3L, 0x816401c07e8e01f0L, 0xfffffffffff203b1L, 0x7e8e01f100000000L, 0xdfc4e8171fe0fL};
-uint64_t A[8] = {0xa5e6364e9e77bbcfL, 0xf24e320e9d2f7afdL, 0xb3ffad5da080cb89L, 0xa5b920c9addbe7d6L, 0xa48bc48eff5305b4L, 0x1e9ec8dc1f4abc99L, 0x83bed21da1311a81L, 0x6c5b6c794410eb82L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x569800f0ff446553L, 0x2580442cf1250ec3L, 0x65be6d30fe41477dL, 0x9394fb4a5717091L, 0xb848776cead0f082L, 0x3ef41393915b2a7L, 0x1a16f1d40e05fbb8L, 0xb7724725094cf56bL, 0x7540056588b6cec8L, 0xbd474f4592c0bcadL, 0x26c9415b17621de4L, 0x59ca25e4099b958dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 148;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x650a582f60fecea9L, 0x615d44267ed012a7L, 0x257ab863ef51467dL, 0xd4126b96b7366529L, 0x28e8eb3e69242fb5L, 0x4c59598efbf5cd12L, 0xeacae38bbaa69cf1L, 0xcedbc503e9f4ba61L, 0x1d8ab1bee2754aabL, 0xfffffffffffffc6aL, 0xe2754aac00000000L, 0x3951d8ab554L};
-uint64_t A[8] = {0x46ed86f948a08edcL, 0x3f5b4c65383e91dfL, 0x8f4f9ba66ae7ead8L, 0xca5477de61ea9046L, 0xa091153d7642156fL, 0xc433ce04b59fca93L, 0x3b33c627d44fcef4L, 0x51c35033d6d90800L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x26da27b725e7d90dL, 0x6d8ea5a1b49c6267L, 0xea7c2149a7c6cc0bL, 0x1844d55f47b432b5L, 0x35afff20a4ed884cL, 0x8efe40016cce46f7L, 0x54d1fbe983b712ecL, 0x225bf513d24cbe83L, 0x3852aeb36bfb8226L, 0x79a43a09f2e813caL, 0x9a08dd59dd7a3460L, 0xf9e129deda72799cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 149;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x19ad0bc3e23150f9L, 0x5a8088f5a828fefbL, 0x46e82b2919b15c00L, 0x9be15868bdba1ebbL, 0xee9da0bdd485b903L, 0x83d6e3b02348b73fL, 0xa797386711143a36L, 0x9e78855bf38afac8L, 0x6f300e9290cfef29L, 0xfffffffffffffdbcL, 0x90cfef2a00000000L, 0x2436f3010d6L};
-uint64_t A[8] = {0xc7ddf7864ac64482L, 0x80cb53c4c9ac79e0L, 0xb47cc1f1216cd550L, 0x1df4d36fc0aec63fL, 0x7c792a6f445611f5L, 0x7002065a567a0793L, 0x817c6261de6732b9L, 0x753e20a3ae511746L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa83339fca8b4c2eL, 0xb9d7a1537c257aa4L, 0x84687ad3964f6614L, 0xe545867dc39f2bd9L, 0x27777101e0cc9dffL, 0x3eff4e8c632aa516L, 0xeb20f41ad71a8fc7L, 0x40ac8e528a8b25a1L, 0x12469fcf2a4c0e94L, 0x88b95f1de7d1a7dL, 0xf8770e002986a66fL, 0x1d5bed367ed0ae2bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 150;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xfd34ec9f7a5cda19L, 0x414895d0fbbad412L, 0x7c1b7c24c12ebfd1L, 0xaae0296848c3f3afL, 0xc57934e5a5ebe688L, 0x6bf544af1164eed9L, 0x138f6551b8e0a725L, 0x3f4f06a02445489fL, 0x222bffffddd3fffL, 0xffffffffffffffffL, 0xfddd400000000000L, 0x222c000L};
-uint64_t A[8] = {0xb7b80a3b92f33f24L, 0xebb8c6eda66109f4L, 0x3d4e414d5ae125d0L, 0xfe4bac5d667b36a5L, 0xf91df8af155ce79cL, 0x36c0fc867a2482aaL, 0xc67961734171152fL, 0x7ed40f8766c8520dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x77276921445834f8L, 0xce9c16e913852d75L, 0x44a29232e6c7d188L, 0xced1a746d1b3a8dbL, 0xd9da69122e23c2aaL, 0xacf96f2cdd3c1db1L, 0x83accf95eb8e6a3bL, 0x15f7bf17364bb3b1L, 0xbd1d31a56698ebb4L, 0x2d3b4afedaa0f643L, 0x979193bedeab8547L, 0xa929afded1cc6900L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 151;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x354162a229432a5fL, 0x27982f66a7ee78c1L, 0x64248557d660cf90L, 0x4dc586d6d36d0e32L, 0xacac2b6a9f4f3e54L, 0x97c59e9a93f6d175L, 0x80df11498db65a3L, 0xeb73dc2009e4fab6L, 0x6f90ffff906efL, 0xffffffffffffffffL, 0xfff906f000000000L, 0x6f910L};
-uint64_t A[8] = {0x254a4a3e09ba48fdL, 0xf5f9a498bf1bfdeaL, 0x7c18faa630900f7eL, 0x113542810b0284cdL, 0xe97fbab46827f334L, 0x5b7d6c595db8b18eL, 0x669025d6306e5844L, 0xee79ebb98c19a4cbL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x48daefd26ad99a6bL, 0xba1d1dd4685c55b1L, 0x75eb554dda5c705aL, 0x1add601104951c2eL, 0xb164592ec0a5cf6eL, 0x842cbf9ef4edc7f5L, 0xfe01e3401347dba3L, 0xa7c11bc5a35fe7afL, 0x6dedd67597030865L, 0x8f519be549923909L, 0xbb6f3e44e1b12778L, 0x78cbd0be8661731cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 152;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa5c68ac7c49da1ddL, 0xedc9fdfe17692190L, 0x797bd4feba7b6aa1L, 0x6e52ecc4b5867b11L, 0xd7b680b3b127a920L, 0x8ff72140e1d8fa24L, 0x6d51665c1811b30bL, 0x1896e2537be95c49L, 0x22ffffffdcL, 0xffffffffffffffffL, 0xffffffdd00000000L, 0x23L};
-uint64_t A[8] = {0x80a698c8975ead83L, 0x90db4fbacc824d66L, 0xe3c23575a8e79d32L, 0xe8f79d0c8916774eL, 0xc07e51672184d151L, 0x5c15e89541c00f8dL, 0x49fa74271f568f63L, 0xf0d5282b6039e3a0L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x987fc2d925e4d77cL, 0x5af45a88d8d3ab4eL, 0x5d1e849e0fd0e0e0L, 0xf05e55d49873cee6L, 0x5a88e783cc05a63dL, 0x2c55fbfbd1f026faL, 0xdbe0b12a62aa3c9eL, 0x7b2f2d0aab1848d2L, 0xd3919de29c20bc4bL, 0x27c4706c0fb9b842L, 0x8340fdd0bff5295dL, 0x6115438eb43cb53aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 153;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4df5b860297fb25dL, 0x21e265a503e6c90cL, 0x4b208816ae9209a8L, 0x7f656262b379dc98L, 0xe0117e7fa0f2f4f6L, 0x8a951cf34678363eL, 0x19629b0595378b3bL, 0xb2f71f2f09c59664L, 0xcb0fffff34eL, 0xffffffffffffffffL, 0xfffff34f00000000L, 0xcb1L};
-uint64_t A[8] = {0x9aa4819ec5eb4a3L, 0x843d527627103033L, 0x4fb6be2872eb797bL, 0x63408a083be2d806L, 0x2df5acb69dffcb33L, 0x7a7d39ea8034a362L, 0x63895b730257c52dL, 0x6f93d9ef8f89e6bbL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb9fbbdf93263d0d9L, 0x76d971e544994053L, 0x9b14e10cd4bede06L, 0x6ab770db44c439f8L, 0xf404cd19a6092517L, 0x5e73b49ccfe6e389L, 0x47c7b996dc16b9c2L, 0xd9f7957ccc9f69ddL, 0x1365e0e74438a0e5L, 0x5e609101cc69cb51L, 0xf7181e73927a9ca5L, 0x28a4614debdb0029L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 154;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x430d5e4ab5df3c9bL, 0x8c670f48afd80ef7L, 0xd42a5d33e8bd2eacL, 0x75932b5a0ce3648fL, 0x85e8cb92559f6e61L, 0x1ccfe774a318b0c6L, 0x34795a2233dec6d7L, 0x7d1b46703772f037L, 0xb22552024dda664eL, 0xffffffffffffb851L, 0x4dda664f00000000L, 0x47aeb22599b1L};
-uint64_t A[8] = {0x6efa6bd995c6f13dL, 0x7569e3ebece891e4L, 0x5397ae9b8df4ab71L, 0xa57863aabb662998L, 0x9962f967bbe4fb12L, 0x26a08b12b08fe94dL, 0x8d9fe2a2db5bf5feL, 0x901a055991b40621L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7bbecd8f39f6c882L, 0xd43c4f01561d5320L, 0x33bd5f239a08f73bL, 0xc6bf940a9514747eL, 0x90972797fe1a9ec7L, 0x24f68dba10266af8L, 0x17b017785c90023aL, 0xb580ae449aea5911L, 0xcec47528ffe48660L, 0xa55644ee23c91f31L, 0x97a0a83739a5cd13L, 0x83d3422ea8cedac8L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 155;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xbdd7be73ff3b0e26L, 0x483a800830026014L, 0xa0dd0f20cd3abdbeL, 0x608fb93c1344f04aL, 0xd5ee8291abda75bcL, 0xaf68241cc7940688L, 0x188b62a5f177006dL, 0x4ff03bf21c599f3aL, 0xfffffffefffffc00L, 0xfffffffffffffbffL, 0xfffffc0100000000L, 0x400000003ffL};
-uint64_t A[8] = {0xd0b0671131fd2990L, 0xc1ae39aec57d9af5L, 0xec4f42848208877fL, 0x8aa294eae8afb3c0L, 0x41079060e7d3e5b8L, 0x4b6bf603533d6592L, 0x995c19d2027b16b1L, 0x42451d855831a204L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x83d80ce0e75ed204L, 0x213bc6a96f70dfbcL, 0xc8d379b4496cb08L, 0x3fbf50f8415a112dL, 0xe34e4c8a3b34a89eL, 0xfbe135e5a90ac3c0L, 0x46d923d92baddcbeL, 0x9745f65fb955fac1L, 0x60956a17b3b0deebL, 0x587cee8ec90493e2L, 0xfa9017d241c673dbL, 0x6929add84ea50870L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 156;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd704063841af3718L, 0x17451a4855ae0abdL, 0x6ba362cd8f942b7L, 0xf622bbe99af3e008L, 0xb760abbaaa20028bL, 0x5e16fcab8c57f2bL, 0x3c269d18e489d51fL, 0xcb011859d5a577c2L, 0x62ee7fff9d117L, 0xffffffffffffffffL, 0xfff9d11800000000L, 0x62ee8L};
-uint64_t A[8] = {0x47b8c90e0ec452b0L, 0x8691f46ed9af1fa9L, 0xda120f3433f2d27eL, 0x160837d249afa40L, 0xe0053424c4c03fc6L, 0xabd0d5874b2e52adL, 0xe28134da897595edL, 0xc9d2fe827d859fdcL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8b173cda79c56159L, 0x783f2c4d8b24adc7L, 0x13ee9a90dd09509aL, 0xd5e5e4d9bf828cedL, 0xfa8901e477a15e2dL, 0x91e695c255b17872L, 0x3ab9deadad1de3bL, 0x79067e497ae74094L, 0x3864e708bb04e63fL, 0x9dc461692d0c3961L, 0x65ea2460be9edb44L, 0xa2091c9f7c5759bcL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 157;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x140d71d599c6d82bL, 0x5a0a0d39221c2aecL, 0x8d76ad4dc584b883L, 0x1e2319958183997bL, 0x3649592ae59617dbL, 0xd282794361c65305L, 0xd80809f453141b07L, 0x95a6c20d067df35dL, 0x6d1c23889212b511L, 0xffffffffff2ed89aL, 0x9212b51200000000L, 0xd127656ded4aeeL};
-uint64_t A[8] = {0x7306bbb8a15a8e04L, 0x8f02d66c01def11dL, 0xd63291c8154a67e9L, 0x7c6e85f3616f1ccfL, 0x1e787b17c6e02971L, 0xa4194c68b7b0ee5aL, 0x48bb709e959aa2bcL, 0xdc645794566e4359L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xc5421421bfcd1ab2L, 0xc1232cb0f1c22dd1L, 0x4b797085d609844dL, 0x72f7730db995c297L, 0x87a75f21f419c3f0L, 0x667a49f63c88d528L, 0xe8cff97c26e664dL, 0xf1b076d521a6c61fL, 0xffe52007a973c1c6L, 0x69fff72436c15b9eL, 0xeac7679285b6cee7L, 0xa65fe36553d9ea68L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 158;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x70f47512bb149c73L, 0x4122af86feb3e0eL, 0x93b884c10bf07590L, 0xc15e092f3a34f218L, 0x31e06b000a35569dL, 0x8dd58316004fc627L, 0x79b45dfe152d7c0L, 0xc0565572332988d1L, 0x2914ff36d6eb00c7L, 0xfffffffffffffffeL, 0xd6eb00c800000000L, 0x12914ff38L};
-uint64_t A[8] = {0xbeab1712a6b7b41L, 0x4cf00f7286986417L, 0x7e5fa880503608e3L, 0xdfb258a6cecf99a0L, 0xb0bd6b72114b64bcL, 0x1ab4e30f608fb025L, 0x7ab0590d97c21cdcL, 0x7cca0f74c4dd4a53L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x767bb32509c7bef8L, 0x347f67201c3f96caL, 0xf18d83a6906d0ed4L, 0xf6cdd7e20cdeb6e2L, 0x5cffe68221ff0fbeL, 0x90309afb1ca897feL, 0xe74305976d588a47L, 0xa47f154e01acd14eL, 0x606a2510ede13a8aL, 0xc1e649b3c8a14c29L, 0xcdea82e78b569cc7L, 0xa51eda5781a82c21L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 159;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x611af540de4573dcL, 0x5cef2645ad0a6f76L, 0x97e6b0d8a00f7cefL, 0x4bf333748c4c1935L, 0xa5cca9b760d3667bL, 0xef594ebab50a370L, 0x3ea442ae22f5bb23L, 0x6f833d2ec1cd4485L, 0x46307fffb9cf7L, 0xffffffffffffffffL, 0xfffb9cf800000000L, 0x46308L};
-uint64_t A[8] = {0xbdc3f5804558c906L, 0xbe50b32eac05abe5L, 0xabf8eec667de9f04L, 0x30c099e05035eac8L, 0xc2a65a2b6251ee57L, 0xaa1010f7e96e7986L, 0x9f80c4fdf2efb104L, 0x22e94574db40cdfaL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xdb09c264c62b6407L, 0x963988e779e578cfL, 0xb9ef7d0aff0bf0bdL, 0xc99a645965f65df4L, 0x9a68a3a2ff308635L, 0xe19c66fac477834bL, 0x4a07e93fd684835eL, 0x34c7c52890e9353eL, 0x288e429218a826eeL, 0x9e33315ab0036b9eL, 0x912d377f2e8d7ba9L, 0x8e5353a47fd33439L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 160;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x54955d0abd6784f1L, 0xa5ef22c48fac0b04L, 0x4fe61dd86a57e0f3L, 0xdfc9e353b994adabL, 0x920d9b795ffcd9ddL, 0xbfd212514cc650d6L, 0x61ca8b3c2376e060L, 0xa92165867c4c58ccL, 0xd8eaf208269c1519L, 0xffffffffff870722L, 0x269c151a00000000L, 0x78f8ddd963eae6L};
-uint64_t A[8] = {0xb7b80a3b92f33f24L, 0xebb8c6eda66109f4L, 0x3d4e414d5ae125d0L, 0xfe4bac5d667b36a5L, 0xf91df8af155ce79cL, 0x36c0fc867a2482aaL, 0xc67961734171152fL, 0x7ed40f8766c8520dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcf6d5908bd7c56fcL, 0x88898415eb00dc46L, 0x9d126e731933b5d9L, 0x9da8d3a9674900feL, 0x189154eb8cb08545L, 0x9b26cd1374fb6caaL, 0xaf1897fa01f69d8bL, 0x9e6e408383f87444L, 0xd9d8422226600cadL, 0x275a5461da3d4fadL, 0xf0ffd828c78f3fb2L, 0x8abc268337371c18L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 161;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8d97fd53554fa366L, 0xb932d0c175274655L, 0x59d18be925a81aefL, 0x80ee662fad29cf9cL, 0x18f61f3cdef3f99dL, 0x4976126318fb05aeL, 0x41a471e4e93046f2L, 0xad5cb247cd789d17L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x2f5bed61b2bf8527L, 0x39312685ac014db1L, 0xc5aa4ee0d0363ee8L, 0x61b99e9d8592721aL, 0xf88d20c387b380dfL, 0x6ddc3f7eca0ee124L, 0xaa23bb50cd21793fL, 0x8242163c46de25a0L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x2aed1f8db00a6af0L, 0x99d9cd8514fcd49eL, 0x5c378ca1cc6c4713L, 0x7344f6f6053bf093L, 0x2071a82163fbd507L, 0xff1af1449b1be572L, 0xfeb0ad1f9ab970bdL, 0xe15880c2b7aa08e9L, 0xa1c3f00d5d6fe1c1L, 0x7ffe55c436da075cL, 0x6bd8c2f8aa8e23f8L, 0xe0cb386dd868a27dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 162;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x7d0a05270a803f41L, 0x7732f696695cfd4fL, 0xec3d8bb3ebcf6477L, 0xb761317f5251fa35L, 0x7882514918cbdb1cL, 0x4e0f760463c9e62fL, 0xe1ffc7c8efb434caL, 0x753981d9aa9ea355L, 0x61ffffff9dL, 0xffffffffffffffffL, 0xffffff9e00000000L, 0x62L};
-uint64_t A[8] = {0x1b8e99ec73674fd0L, 0xdd2db1ac1c655c22L, 0x6961af51e2d8306bL, 0x8be27de7f56e210fL, 0xfb1256c27d874a2eL, 0x16f5d1e9cfdaa431L, 0x8fc19cbb4701173dL, 0xfbfe9539b70e2b92L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x9a8f7251a7a9c000L, 0xedbcca02a307ea74L, 0x48e6e7743c9554c4L, 0x4241eb41e8092ae8L, 0x39d0a69f9d14637bL, 0x2ef0f3c31f56c7d4L, 0xc00767219abcb9eL, 0x1ff5f3f1469ce778L, 0x702ca15cc7e3cc50L, 0x207659a373e1ae6L, 0x3dcff26694bd8ff6L, 0x650cb8b641d4b740L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 163;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x3845c706bf1af378L, 0xe5923ab530107b56L, 0xef711a45f62289dfL, 0xf7cc6c9cd8747014L, 0xa7f4a3e3b1e9669bL, 0x1559c7f8a3abedf3L, 0xa2952abc1624f023L, 0x8046ed8801a1fa6cL, 0x1f5bffffda168bbdL, 0xfffffffff9728bbdL, 0xda168bbe00000000L, 0x68d744225e97442L};
-uint64_t A[8] = {0x5407a49b4faa0cf2L, 0x7eb23d3000f5ecf8L, 0xa2db87227dff4d2L, 0x6f0021dca8ee51c3L, 0x3e855bd6d766cb88L, 0xf50f8d1d5397f0dfL, 0xd0b1f024322e5746L, 0x3f859e44807206L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xdebc06f289fd8ddcL, 0x520e36af452eb615L, 0xa9893eda2dc5fc92L, 0xa8eea6b0efa04586L, 0x77e43a6d0419aac1L, 0xfbecb2e325ecf490L, 0x2bd44c0fd79b5b7bL, 0x5e3b0671cf52bb6fL, 0xb7ff7e07eb1e1fb1L, 0x38535cea55b77264L, 0x5f8c88fd7e761aebL, 0xcab10e2c57f3e8e4L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 164;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xce4a5a002a148f14L, 0xf4515cc2e75e633L, 0xf05052f2d67c992cL, 0x6e85bc70b66bd186L, 0x3b8304539f133768L, 0xb3e3e323ac1d2f1aL, 0x2db9f111baf27adeL, 0x335872359cac8cbeL, 0x92cb03ff618f31acL, 0xfffffffff45a35acL, 0x618f31ad00000000L, 0xba5ca539e70ce53L};
-uint64_t A[8] = {0xb2be2bcbec5c898cL, 0x629b728b79cc50c3L, 0xc4aa5773a020613fL, 0x45ffdfe932db6849L, 0xdc92f1abb243be2eL, 0xaf03c05fca655b38L, 0xbf279c7062e44081L, 0xae9f4f976943bc03L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x90f284f56181bdaaL, 0x3407a91ed8ed6f23L, 0xf72e7fa5210d9d2dL, 0xe267ca20894807a4L, 0xf5f63805f4af067fL, 0x95b6245a310ac270L, 0xe0cebfb8003479d9L, 0xb99af73a27b6b075L, 0xec36ad4498b5344bL, 0x5386c1dfb13ab140L, 0xace73798f1c19a94L, 0x8216b7e17acd3da6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 165;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x4b43dc542a720bd5L, 0x9553438211c6274L, 0x7c448153752fa4cdL, 0xccbf22a67c30b606L, 0xee8f5f282d8817afL, 0x7481ce813c9fb654L, 0xf21f374f9a7c824cL, 0x4e0a3f471ee813f1L, 0x430c0fffbcf3eL, 0xffffffffffffffffL, 0xfffbcf3f00000000L, 0x430c1L};
-uint64_t A[8] = {0x633882d09d70b2fL, 0x751a305fb9992f1dL, 0x7e062c54bcd8ace8L, 0x52ebbfcdf7150d28L, 0xc9a8d89c7d00571eL, 0x6688e25bf90134ecL, 0xb8c44a8ed98d1f32L, 0x404354ed7f4ab63fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x683333e1aeaf78d5L, 0x975e72a8b3993677L, 0xc70843fa09122141L, 0xbae66fc046f3c59aL, 0x5c6c214388a7a776L, 0xf6e11928273a95eaL, 0xded757617e87f854L, 0xf82895593536641L, 0x95e1cd28918fd2eaL, 0xf86e2c3d4396e9c1L, 0xfdee0b786f6caaa6L, 0x63159470c403ba11L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 166;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x948dc4f8b1fc87b4L, 0x8ef5689d3cf7600dL, 0xdd3cf7e7473017e6L, 0xe2f73c696755ff89L, 0xf38ae8914d7b4745L, 0xfaecedfd0c9803fcL, 0x2d921ca298eb6028L, 0xd9e9fe814ea53299L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x45d510091bce75f0L, 0xf0f5d282269422c8L, 0x31a270d5664cea76L, 0xc1bd40fd0ebd1073L, 0xc9dc5cfd2c615844L, 0x9ec4820e2046a44fL, 0x72370a800e0bdb56L, 0x3ca45cb5b3b8f8d9L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xde62a1ac31a99038L, 0xf8f55d4c77dd01d2L, 0x91a2b2e494fb0585L, 0xc7f23c5362686d34L, 0x3e5920355c9d33a9L, 0x962f04d226a51135L, 0x89ad93b085d55293L, 0x8509b0af37ac6639L, 0xb1474b0f69d1ee3dL, 0x620069e4e99cc2baL, 0x546578ef1f1cd28fL, 0xdec60493a76710e9L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 167;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xccb1bd68311fa6bfL, 0xaf844ef3d8c34475L, 0x7b831e70a0939d01L, 0xaf05cfa35dc6b0b5L, 0x40f1d846956003acL, 0x66119acd9e0bdc2dL, 0x45d4d47be9bef5a1L, 0xa2e25edbdaa1eb73L, 0x8b98afff74674L, 0xffffffffffffffffL, 0xfff7467500000000L, 0x8b98bL};
-uint64_t A[8] = {0xe22b104ad0f67420L, 0xbaf5500801638fa6L, 0xfe4601e2b5bf98aaL, 0xb2e97c5f8d1e0c72L, 0xa09a2ad2d0d67a2fL, 0xcf3cbad5d5c143a6L, 0x57b4042b9fcef2dcL, 0x2b55741691d9fe6fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x72655fe7ea5f2342L, 0x71f453b06ba96222L, 0x4f289ca4d57e69daL, 0xdf41e94fe53a3e32L, 0x4a9835bb4d96ad2eL, 0xb663889ad1648ae9L, 0x350cece9161ea192L, 0x5131bea947a20410L, 0x9fe95e2a2dbc5bd9L, 0x569230ace87bb892L, 0xc110e45115d34e11L, 0x4969576f9b95e14fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 168;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x608573f01d4792f5L, 0x95f12fbd9521945aL, 0x5305550cc65c7467L, 0x976f8943eb14ae2bL, 0xe5a4d4ace2b77e77L, 0xaf1b5f390f5b0e83L, 0x6a81d85841a135abL, 0x3cfae6ab3f62f23bL, 0x4052083fbfadf6f1L, 0xffffffffffffff31L, 0xbfadf6f200000000L, 0xce4052090eL};
-uint64_t A[8] = {0x480dbc1bdb128292L, 0xf4403cdc248a5658L, 0x326307428f89526L, 0x3daf9a43c81445f2L, 0x40613619d75d53bcL, 0xb13f2e85b503b962L, 0x725f5a062297d5b0L, 0xd4276cd13fed7f56L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1c84d6cfc1ae69ebL, 0xdb1d3a13ded20aaL, 0x8cc3bc88b91f2bd7L, 0x7efc6633140b77daL, 0x31120e5c73c48799L, 0xf68d944edbeff37cL, 0x35dac718c791a47dL, 0xcb6d6ddf7b2ac766L, 0xabc3a7bbf753d95bL, 0x1f4779660f915adeL, 0xc52eb444429b0ee0L, 0xb7fb85e94d321766L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 169;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd83cdbe4b0cdc8bL, 0x5543627b60fa2969L, 0xdee9b49a7fbca4a6L, 0x9c56f6686507ed0L, 0x7d535ee00de9dd06L, 0x1bd745d87f714f97L, 0xb8b50909061de6fbL, 0x57820068f4a96b3aL, 0x1affffffe4L, 0xffffffffffffffffL, 0xffffffe500000000L, 0x1bL};
-uint64_t A[8] = {0xe94a016c3e489b9aL, 0x4c0dcd300855ca85L, 0xed8e08d20eebc2e5L, 0xb358109f2f4b170aL, 0x4b5123a73a5b4568L, 0x581e5ff924197743L, 0x9860cd99345cdd47L, 0xb3ac042d1ac3e740L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3293c1e0a74d59d0L, 0x2627e23178e8fd38L, 0x42ed300ea9aa153dL, 0x917ce486f6176f78L, 0xf321f1133f5f2740L, 0x357574c6a3db8ca3L, 0x4bb03b107a68aee6L, 0x93fb62cf28850bfcL, 0x6824f875de383fa4L, 0x8b0bd10da1cff91dL, 0x4ce9dc56c004a569L, 0x24333f610fef4bfdL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 170;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x68f66263f8fcf831L, 0x29d70d71caa56536L, 0x6fef91b432c35529L, 0x19171b6038e29235L, 0x4012a2ac282e7da2L, 0xcf53def4eccadb8cL, 0xb79563ba0a44904aL, 0xd21ace96f226a66fL, 0x6ea58e9e915a31ddL, 0xffffffffffffc07cL, 0x915a31de00000000L, 0x3f836ea5ce22L};
-uint64_t A[8] = {0x254a4a3e09ba48fdL, 0xf5f9a498bf1bfdeaL, 0x7c18faa630900f7eL, 0x113542810b0284cdL, 0xe97fbab46827f334L, 0x5b7d6c595db8b18eL, 0x669025d6306e5844L, 0xee79ebb98c19a4cbL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x9f678b8fd97d755cL, 0x658693a284a2af0cL, 0x185ee38923ce964dL, 0x51b96455d5bf9306L, 0x6338223c9ae5b4aaL, 0x3f9c01f04fd9542fL, 0xb4c392f8017325abL, 0x17e1f19168a1a799L, 0x1834e5304f966c0dL, 0x4e16d50bab6dcc49L, 0x34afd61e08ca76e9L, 0x2170e27c59c724fbL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 171;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x660edf902355ed17L, 0x1cb9e62635c37fbL, 0x7a619b6cd222f819L, 0xb4faf459c42f8027L, 0x9ef451b887674f84L, 0x8d0ef4e5c56a617dL, 0x8893f2f973bb65d2L, 0xe185bf8bd6536acbL, 0x16a973ffe9568bffL, 0xffffffffffffffffL, 0xe9568c0000000000L, 0x16a97400L};
-uint64_t A[8] = {0xf9e52a3c3d09587fL, 0x4df9d7e007e02f99L, 0x56b54f114a88d0ffL, 0x8bd26aa0267ffedfL, 0x28abcab71f0d0a08L, 0x41011586e26e500fL, 0x117b7425690e41d3L, 0x1877d8811bda67eL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3d7486cde5e84beL, 0x190486f62e4a3649L, 0x2c0b88a4ffe8353bL, 0x4d8452aa44622099L, 0x99e012c0aedf93eeL, 0x87460b889af9fd43L, 0xb6d52ff680aad7a8L, 0xd44f49a5754c5a8aL, 0xb22d7b3aa7bfd4c4L, 0x6bc8ba3ca4113dceL, 0xc7de843349f76f78L, 0x9d2f29a88925738L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 172;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xae5e63e820e55d8eL, 0xa7d1484cfd501eeaL, 0xd3a6d09612e55479L, 0xc2f7251ae074ddddL, 0xf6d7d3a8bd6214b6L, 0xf125c7ed1513d22cL, 0x5644cdbc6aeb652cL, 0x5e9a815ec6b4d9fcL, 0xe5c87fff1a377L, 0xffffffffffffffffL, 0xfff1a37800000000L, 0xe5c88L};
-uint64_t A[8] = {0x863adcbfc3e11936L, 0x132997833c5875bdL, 0xc66fb8e48cec6857L, 0xb9ec70c15113985fL, 0x2dbe3b667dc96eebL, 0xcdc946093e60978eL, 0x17495e3dd74c9d3bL, 0x2babf31ff018f49cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6bfba4079309f28dL, 0x232838d65c3e5c2L, 0xc11065826313667cL, 0xba8f7f1ba6291cc3L, 0xbde7b2507d9061L, 0xc6a7843da494ec67L, 0xa57dfd3c5ca8f10eL, 0x9a40e7a5db87cb5L, 0xf61941e6a30d3b69L, 0xfe2cb1ffe8ad7f7fL, 0x22766421169b95d9L, 0xcf56726883c06c39L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 173;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa2139f4161139993L, 0x5afdd636e00bad01L, 0x32a8af03ae81f606L, 0xa1867be0104cc3dbL, 0x6a68b2b2176b3d50L, 0xd5e1faad1d82c4L, 0x12f1af02ac5d5f73L, 0xcfbd2f21ab75a918L, 0x247dbc7fdb82437fL, 0xffffffffffffffffL, 0xdb82438000000000L, 0x247dbc80L};
-uint64_t A[8] = {0x5407a49b4faa0cf2L, 0x7eb23d3000f5ecf8L, 0xa2db87227dff4d2L, 0x6f0021dca8ee51c3L, 0x3e855bd6d766cb88L, 0xf50f8d1d5397f0dfL, 0xd0b1f024322e5746L, 0x3f859e44807206L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xdaf43fef887ff347L, 0xe6f8df1824b30aa0L, 0x6d64e2caa1f0b9b3L, 0xd0f3db55043dc08fL, 0xc0fccc156390b716L, 0xbe9be344c41028d2L, 0xa6518b807adf618eL, 0x933527794679b2bcL, 0xdb5c3d6092f63372L, 0xbe31c17faa037147L, 0xd96b051d221428dfL, 0x18d9d866fd40a0d2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 174;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x68a850991b58242dL, 0xb3d7e772d038b233L, 0x3b01c5b8126576d8L, 0x58d62bab69b6dd07L, 0xba9f2dbaf9b283bbL, 0xbf126005973f4859L, 0xec342960a28c6706L, 0x9737c93286f3afbcL, 0xfbc49c17ff5eac9cL, 0xfffffffffb2348b4L, 0xff5eac9d00000000L, 0x4dcb74b00a15363L};
-uint64_t A[8] = {0x93dd30692eb231d1L, 0xa39f471f32cfa731L, 0x62f7ee7e271be610L, 0x24f77778117311eeL, 0xd42c2714ffcea877L, 0xcd80cbe14660ab67L, 0x47bd736b9e83ef82L, 0x76e3740442e49996L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x65a6f0b0bbe6bc64L, 0xd8db049cea09158fL, 0x760837fa1d5cd47cL, 0xbf999eeeabe9186eL, 0x1eb2c335648afeccL, 0xcf88ed4094bb34c0L, 0x165a4b2dbeca695dL, 0xca8e2f05a247125aL, 0x6bba6f4c2376c8fdL, 0x726ff0fcb8b420d9L, 0x2c568dc9a136c738L, 0xa197147c5aa3373aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 175;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xeb4e0bedaf83eb13L, 0xff69ed4bd3090ad0L, 0xb916baf2d49c06f6L, 0x1a82cd535b92e04eL, 0xeff85963138cfe77L, 0x212e9643d09e2997L, 0x9d489489f849853aL, 0x5f2896f041e52a1L, 0x57ffffffa7L, 0xffffffffffffffffL, 0xffffffa800000000L, 0x58L};
-uint64_t A[8] = {0xfd10d4229c2a4473L, 0xd255f5c688011591L, 0x6168ae5f30b59dfaL, 0x6f939d68a2be35f5L, 0xc9594125c2f30c3dL, 0xfaa6fa91bc6665c6L, 0xc1cbfb07ec4e60e8L, 0x5f41d10cb649b4c6L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4210804f6e818ceeL, 0x7f6e701a6407daffL, 0x74e05448652d0c0aL, 0xe3c81536ff41e704L, 0x86d8e1ffcdbdf16cL, 0x3de9c182585aa6e6L, 0x597012368d327210L, 0x7a325569e12b02f3L, 0x1b1611572e69471eL, 0xd44d82abb2a0326L, 0xe55749db7317bf9fL, 0xd9d7779e6a9eca5cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 176;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x2931445e086f7164L, 0x2ddf1ab2d20f7ee5L, 0x57905fb7d52b640eL, 0x9a46b49b10c1a213L, 0xb8cd230d2194f376L, 0x8472d27b77f51d9L, 0x3a6d57c809d5690fL, 0xa559bd9170b70803L, 0x88d7dbff772823feL, 0xfffffffffffffffeL, 0x772823ff00000000L, 0x188d7dc01L};
-uint64_t A[8] = {0x76b85af13143ff6L, 0x25e08eed9e9aa27fL, 0x3e3d0488ffc51120L, 0xf8c81b242528c884L, 0x418e685027128311L, 0x63ac37d528a681efL, 0xf0a07a9732ef1690L, 0xc7fe6aa567d1367fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7c7a8489376df84aL, 0xc17a15ecb86b4d24L, 0x59aa9bfe47eb5c93L, 0x77601d4042b67e9cL, 0x9656adefac03b645L, 0x5bb26cb053017838L, 0xf600e68bd9473121L, 0x847bd7d906d0492dL, 0x299299787f4ec3a3L, 0xf4dbac34891fe234L, 0x3764e13f45e1e3cfL, 0x178812df27823L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 177;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x31b2004f71c85684L, 0x28168548f0fc1e1aL, 0xf033ab73e74de5afL, 0xc455ef66097254d7L, 0x18f0deaad4d2a242L, 0x4ca8ea47ebd58c24L, 0x1b996bf120e2ff27L, 0xae76c66e0dbb96d0L, 0x3d08ffffc2f6fffL, 0xffffffffffffffffL, 0xfc2f700000000000L, 0x3d09000L};
-uint64_t A[8] = {0x4b9a67c522358b19L, 0xdb689ae4d6a34ac0L, 0xe71ae2779a3088edL, 0xd1db1ff509ec0582L, 0x802c066f38243ea0L, 0x5296b228a6e2d112L, 0x564a809d50034236L, 0x48bb5e47beb21fd5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x639a10f743ebf5ceL, 0x51141e7923509835L, 0xa0e05b35f6f0a7d4L, 0xb77f09ac6b1db9c0L, 0xee07606f8567f82bL, 0xdbaf4935a24ddac0L, 0xe021a55473e3b9b5L, 0xceae05b03e4ac36fL, 0x15010568574fe7eaL, 0x9df81070e2a93b3fL, 0xd5419acb0f369de0L, 0x3c6507eb8580a0b2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 178;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x44210c4715ecba77L, 0xefa47f2abbde5a26L, 0xfee52ad892a989c2L, 0xf37d3ec6c692708dL, 0xc88a1ee093dbe19L, 0x524a17493c6bd3ceL, 0xa913d3847f65477fL, 0x82f2578db893a41L, 0x1fd10fffe02eeL, 0xffffffffffffffffL, 0xfffe02ef00000000L, 0x1fd11L};
-uint64_t A[8] = {0x3ebac409b05772d0L, 0x711e5e840cfbc417L, 0xad7808ce1eefbb4fL, 0x33a00a3d970a6c2aL, 0xdb000adf2d9f7069L, 0x51c6cd66d6e20c17L, 0x93ca59316f6b93afL, 0xf48749e3cf9476abL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x8f90deabfd513551L, 0x94209461ab4a498fL, 0xa736c90cce4ddb3L, 0x8d3ebac9a91bc2d3L, 0x6cef806f95af5ea8L, 0x70f6fb42c1962da6L, 0x1de34f643b4fbe7cL, 0x50a3557e2318b1b7L, 0xb5b7d0c71377467cL, 0x3a74546f8a678470L, 0xbd845aade3ea68f6L, 0xa96b4444a8d11919L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 179;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xe05b3080f0c4e16bL, 0x2cc09c0444c8eb00L, 0xabe6bfed59a7a841L, 0x75c96e8f264e20e8L, 0x86659cdfd835f9bL, 0x2b6e019a88b12f1aL, 0x56af7bedce5d45e3L, 0x1eb7777aa45f3314L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x2f5bed61b2bf8527L, 0x39312685ac014db1L, 0xc5aa4ee0d0363ee8L, 0x61b99e9d8592721aL, 0xf88d20c387b380dfL, 0x6ddc3f7eca0ee124L, 0xaa23bb50cd21793fL, 0x8242163c46de25a0L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6d6b10710c490eaaL, 0xf4ac8213ed07d7cL, 0x2329dc445e004369L, 0x7702698c3f7db1c5L, 0x74c05aeafd2f5af3L, 0xcad04fb9983b93bfL, 0x5359e001de882ca0L, 0x7125fe553ca64820L, 0x4f00bcdfc1faa3bdL, 0xc708a81673862b1L, 0x19c38ef4768e96a6L, 0xebf0300e5f445131L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 180;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8046e2575843b82L, 0xe3ff8b6720ceab86L, 0x5239c24160828f13L, 0x592ad0d46fdaa429L, 0xad4004ce43cd213L, 0x76615b4db779168cL, 0x63bf21c96d298e73L, 0xe7e23b4acf3c9025L, 0x5fffffff9fL, 0xffffffffffffffffL, 0xffffffa000000000L, 0x60L};
-uint64_t A[8] = {0xc3314eaed2a2d2eeL, 0x66a7e2fb5553fcbcL, 0xccaae4fc6868dee1L, 0x55744795b1014962L, 0x600653c217732d4cL, 0xd6d7564e68c15c6bL, 0xab9a79fc0723302cL, 0x2593d793f3067d6fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x75448c0d82bcacdeL, 0x31e7cb7615ac478L, 0xacdea3a8eb24e4caL, 0xd2f91ca9e06f6b34L, 0xf67bcfaf6a441079L, 0x7c5c266574fd268L, 0x28a8a26dccc85a9eL, 0x1bfab3be6dedeaaL, 0xa49918a00df1cdaeL, 0xf86cb941867478a4L, 0x3d9c5ded8fec5a60L, 0x565685e76cb7bbb6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 181;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x51867fc4383ea6a8L, 0xe3dfc579d41b6ce9L, 0x1830271f9ea11342L, 0x9f6259874e9e6a67L, 0x52533292e64582faL, 0xb5f0afb0000a0888L, 0x6c1dbd1296624058L, 0x36937fae92a2781aL, 0xb8747c423ade0ca4L, 0xfffffffff35288e7L, 0x3ade0ca500000000L, 0xcad7718c521f35bL};
-uint64_t A[8] = {0x1b8e99ec73674fd0L, 0xdd2db1ac1c655c22L, 0x6961af51e2d8306bL, 0x8be27de7f56e210fL, 0xfb1256c27d874a2eL, 0x16f5d1e9cfdaa431L, 0x8fc19cbb4701173dL, 0xfbfe9539b70e2b92L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1a5118d8555ef70cL, 0x55855deac80fe1caL, 0x6a08502d1df34c13L, 0x1319694c295a0dddL, 0x2b6e072321759be6L, 0xebd35050337186f3L, 0x59cb264c0671d1b1L, 0x67a1812767b5cbdeL, 0xbd90741b3a19a406L, 0x50dd5b19c15c6268L, 0x6bd7caf36f89a741L, 0xdd12ecf61d52c1abL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 182;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xdb15e4963d5baeb1L, 0x9c30c6422b2f9c49L, 0x719a87be5a0ec9ceL, 0xa2193bfc266f85cL, 0x854dc9d595105f9eL, 0x2b4f0c7877eb94eaL, 0x4788522b2e9fdbb2L, 0x83c3139be0d37321L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x4b9a67c522358b19L, 0xdb689ae4d6a34ac0L, 0xe71ae2779a3088edL, 0xd1db1ff509ec0582L, 0x802c066f38243ea0L, 0x5296b228a6e2d112L, 0x564a809d50034236L, 0x48bb5e47beb21fd5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x40ab20634ad8a237L, 0x7bc88ccf5c53bdedL, 0xc8d4a09fb7f3898L, 0x79271658cad201e4L, 0xeeefc88bbb26fae4L, 0x9a1e5f61b72f8facL, 0x220c261d386ba2a3L, 0xfb34869a06187089L, 0x7084832de4d9dc69L, 0x3f37d4a2ab73ae77L, 0x75805aba4021bf1fL, 0xc7b98c3547850d25L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 183;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x87d980bbb0f958d0L, 0xac1c29f12544bf9eL, 0xafa28bc9d968760fL, 0x3ca12e5baa87b8ecL, 0x4706762d5866bc30L, 0xbedd23b12204c06L, 0xea5302ed5c91ad71L, 0x278853942f532e82L, 0x39aa3fffc655bffL, 0xffffffffffffffffL, 0xfc655c0000000000L, 0x39aa400L};
-uint64_t A[8] = {0xe7f5ba6f2554f427L, 0xdf48518b3901ff96L, 0xa828c36c1d4e879bL, 0xef6c4ca1424432edL, 0xedc19f099a5676dfL, 0x8bf2891468410bffL, 0x27cf306a14944795L, 0xb6efb4cd4463768L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6a54c39199b65a8cL, 0xd8e1a8bf779a8a1fL, 0x14603c6c8d1346aeL, 0xd14e2efbb8e4c4daL, 0xef621050cc69035dL, 0x47e2337c528ccf6cL, 0x890b7daafef55ee6L, 0x9274ff142b72810dL, 0xa137d476bdb5e826L, 0xa93589ffcd671f1aL, 0x897029f1d018db6aL, 0xf1f287df56a78514L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 184;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x276515f7bd22ce0eL, 0xca354d7a6a94b957L, 0x531923482ee1dd75L, 0x378c7067abdf028cL, 0xec168826ceeb0f34L, 0x1817c14d845b11caL, 0x764cda227eb7977dL, 0x5a3ce157e90ce287L, 0xdaf26aff250d94L, 0xffffffffffffffffL, 0xff250d9500000000L, 0xdaf26bL};
-uint64_t A[8] = {0x2b9131acc0130435L, 0x97a689a71742557cL, 0xa81ea03df9581714L, 0xc34ea0250f6667dcL, 0xd734003dee5d1e66L, 0x7bb0772a8b6e0589L, 0xb1f409df762e3ef3L, 0x60f7817684aa164dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb745814f12148154L, 0x6fe56ee1c2d7e112L, 0xcbe5133f969247d5L, 0x859be7ffe5bab28aL, 0x517ffd50fce685e6L, 0x82f393a50891d73aL, 0x6d9105cd643962d3L, 0x852e9874ff847d32L, 0xf11296d485987aa6L, 0x66e44985e8e9f9d4L, 0x73630f9e335708c8L, 0x61645cad5de2cdfbL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 185;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x57884bbc1df3c833L, 0xfefab45dd45d76dbL, 0x97116eaaf30e0724L, 0x99a74f1e96b39699L, 0xf031bc993bdff749L, 0xa7582aefd08a3612L, 0xd479a2e2a1f701a1L, 0xe95611229270bf47L, 0xc3ca78b83c34cc05L, 0xffffffffffff44beL, 0x3c34cc0600000000L, 0xbb41c3cb33faL};
-uint64_t A[8] = {0x8a7b94a8d2ba7cbfL, 0xb5073c46c521afacL, 0x7cc470a1295a5fcfL, 0x5d0302625fccb507L, 0x773c2a475c4c5a9L, 0x462440ee1bc9f085L, 0xda46dfac5c6cef71L, 0x19fb9a08eeb85a69L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x53aa95b867a68779L, 0x49a823954cb77f4L, 0xb5fd7feced82184cL, 0xc4d4d0fb3f7ceae1L, 0x6bfa3842b8276dd9L, 0x9c12b20529d804eL, 0x96a524327ab2a94aL, 0x8e1c78bdf0b43af8L, 0x5a305b7cba259738L, 0x314eb31f5ba8890eL, 0xb9595dbccb27c152L, 0x7083e6564db098d6L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 186;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x691d130e5b90396bL, 0x303a322d1286c1dfL, 0x1b3464c84e02f849L, 0x4b285a38389df1f0L, 0x7ad765043564aa27L, 0xe291eb7708669116L, 0xe9220cbf2a4354dL, 0xa8175b1e7d7ab5d8L, 0x156fffffea8L, 0xffffffffffffffffL, 0xfffffea900000000L, 0x157L};
-uint64_t A[8] = {0x49b2a0b16a395853L, 0x32092e494617dd75L, 0xce614c2f83c516f2L, 0x40afd261d2a96d7dL, 0x735fd9b0767a558dL, 0x7c83d9d9520a759fL, 0xf34063ae496cce27L, 0x4270a2bd4b257a7aL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x46b3f352ba14de1aL, 0x66b67359f648f169L, 0xab51a1afc1dd69e5L, 0x6b2a2f0868ba11d0L, 0x1556f2994df0e2a0L, 0x33f0821a25553f63L, 0xd9d68f0638addb0dL, 0x6f3214c35b79985fL, 0xeb61d99ebfbc9435L, 0x4e22aa8f724e5a77L, 0x6714d7f431c6d7a1L, 0xd4aa8900020ababeL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 187;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf361fa3a981e64d9L, 0x91c514c62c09c0b7L, 0xb0c3fc56fbcb63b0L, 0x41c49a77220e7e26L, 0xb59092e0b35fee4fL, 0xf931db5e676c91b1L, 0x99ea16d00f4fda62L, 0xfd5edceb0255b912L, 0xac16c8df53e9371fL, 0xffffffffffffffffL, 0x53e9372000000000L, 0xac16c8e0L};
-uint64_t A[8] = {0x9b1d73d30c074c77L, 0x7066b28e4e81f4aaL, 0xc693f6041e7a86d1L, 0x571b9ffe1b1ce20fL, 0x146428ccc2a6d239L, 0xe739711ae0613c3eL, 0xcac27df8a27cf75fL, 0x4f08c45d910349ceL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcc7e4ff576f13b1aL, 0x27c92115918e414dL, 0x287bfdbbcdb2fabcL, 0xadc087a1884ceab4L, 0x53d9c60f5b8dd7b0L, 0x85fa89e473fec1e6L, 0x6e30a29a432e0192L, 0xa932c972a7a7fb14L, 0x1e0e349954104010L, 0xc06e929fe3c9b2a6L, 0x6929afa51cbe9445L, 0x4600911ce78ab326L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 188;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xaa934b4fa63bf410L, 0x50e98913156600beL, 0x71b984cd2b03e9f8L, 0x6d1fac1a44622bbdL, 0x9a56146d3d419ce7L, 0xb56b4a249487516dL, 0x5b4d40de61867aefL, 0x6a9155ce36d1ef68L, 0x14640fffeb9befL, 0xffffffffffffffffL, 0xffeb9bf000000000L, 0x146410L};
-uint64_t A[8] = {0x2f5bed61b2bf8527L, 0x39312685ac014db1L, 0xc5aa4ee0d0363ee8L, 0x61b99e9d8592721aL, 0xf88d20c387b380dfL, 0x6ddc3f7eca0ee124L, 0xaa23bb50cd21793fL, 0x8242163c46de25a0L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe48292b6651f726aL, 0xcf922ec1e2433457L, 0xb9af63680199a4d9L, 0x71fd9404819771ccL, 0x16c015c568a2a3d8L, 0x2f111b417f37b6e8L, 0x3660310b6fdf694eL, 0x3ae10ae8dbdb0bf5L, 0x83d6703e21d6f058L, 0xa2b695bbc9cce671L, 0xd74b94f401215b97L, 0xbc08e06b8c70641fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 189;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8890cc0452eb9c84L, 0x14957fb499ec6a18L, 0x51a4ebbdcf0fa9b9L, 0x96766c24df3fb26dL, 0x7207822b84b62cb4L, 0x865a0917ec12332cL, 0xcfb6895930879032L, 0x8c1d884c44c25676L, 0xc21cb8e03de346ddL, 0xffffffffffffffbeL, 0x3de346de00000000L, 0x41c21cb922L};
-uint64_t A[8] = {0xb595d8a9eae3eff3L, 0x1fbf14715b64ea48L, 0x2c1fa02b57ccd532L, 0x13ad0573e9799e4fL, 0x9026eb180cd032a2L, 0x82128bb46643b150L, 0x818a6d8f4706304cL, 0xd93ef16f097c5ad9L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1f4c8b3191912554L, 0x58cd7e6343b93986L, 0x6f664e0543325c4fL, 0x2ed63293b344d083L, 0xaf9460c90b5dca5dL, 0xc2c051eccc99138dL, 0x13a3d6242a7e5afbL, 0xefe3c3f5532b443eL, 0x7e96fa2ca03cff8bL, 0xe5b694714a9189b0L, 0x3b1d4a60656ccb8aL, 0x7a6ca80f2fee58a3L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 190;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xd19ccb06951fb492L, 0xdea28c40b20fcd5dL, 0x1cb503dd07a790aeL, 0x5b350757dbd1e4acL, 0x7eaaec0384d6401eL, 0xcfcb8184f9d65327L, 0x20b5e89291add8eaL, 0xc049158a32782678L, 0xa65fffff599ffL, 0xffffffffffffffffL, 0xfff59a0000000000L, 0xa6600L};
-uint64_t A[8] = {0x2d0f1be2b5577cf9L, 0x8decdf26c01ce141L, 0x7e28a0d562d7881L, 0x8218884b2f38e1d6L, 0x707320391e7826faL, 0x36925b3cb704a1fcL, 0xe77da7d78929b20aL, 0x747c0826cd4f4e7bL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x63a89c6a4767e3c9L, 0x8088ee6dbd0f538bL, 0x8766b27909c8f622L, 0x3d5da79f545bed6bL, 0x83731a91535622bdL, 0x7affd880ed4b4505L, 0xb84203e539e2cd9dL, 0xe3620d9677b012bcL, 0x1226a4a4eefd32b1L, 0x251251fdee057d44L, 0x90d41ef598e15ccfL, 0x94d98f0c59e646f2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 191;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8cb4b1bea9c85e50L, 0x95db20f38b9b28d7L, 0x6b192af4c47971efL, 0x81e6570fb6d1d8f8L, 0xe4f0d0bc760a701cL, 0x2b82840cbbed7474L, 0x20da14b3d7e6d11bL, 0xdacd294f210a6abeL, 0xd8ffffff26fffffdL, 0xfffffffffffffffdL, 0x26fffffe00000000L, 0x2d9000002L};
-uint64_t A[8] = {0x47b8c90e0ec452b0L, 0x8691f46ed9af1fa9L, 0xda120f3433f2d27eL, 0x160837d249afa40L, 0xe0053424c4c03fc6L, 0xabd0d5874b2e52adL, 0xe28134da897595edL, 0xc9d2fe827d859fdcL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x4adb7eda704d73adL, 0x28127a04160b2a17L, 0x8e35b4948563957L, 0xbd0438eda486acb0L, 0x23e0d2e8d3cc8d76L, 0x52d2b71a1d3d0688L, 0x2afe63ed5a7bcb8fL, 0x46596fd178f104b6L, 0x602d9d21e15d6b23L, 0x1da1d3cfd7beb7a8L, 0x26c0798e1ee7b08bL, 0xe1db3c4825588479L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 192;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8a64b4e39eff803eL, 0xb30854780959d1a4L, 0x64f68bc43bed57d2L, 0xf8c14d1cbc7ac1d9L, 0x46ed5256394245dL, 0x252aa59b47e7c81eL, 0xea01a593c8d1589bL, 0x859fa43b3da555acL, 0x2253ffffddabfL, 0xffffffffffffffffL, 0xfffddac000000000L, 0x22540L};
-uint64_t A[8] = {0x972522c5025fd739L, 0x2adbf1bb0fc3ffb7L, 0xc0a896a1a2f02abL, 0xda88de243da1658bL, 0x65045adc6074841dL, 0xac9f431251b238d3L, 0xfacd067ee9eea7b0L, 0x486a43b391ce223bL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x6a80895c4459fef0L, 0x7751d21ca56603f0L, 0x52e6a0c0aa61e290L, 0x23235e831a5accdeL, 0x44bed57bd02c28b6L, 0x284a29840e4d08feL, 0x934f64d4d8c67298L, 0x98d545387a1b9001L, 0x6e86ec2aef6849ddL, 0xd947a410a927b8eeL, 0x73b51398e7cc1e8eL, 0x2f345a7f8ce7786dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 193;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa0b71a105299b151L, 0x9af21b3551659875L, 0x5d2c9c4dbaab7661L, 0x56b245f2364cd576L, 0xdba3d13816ca966L, 0x9beb14b642e948a5L, 0x9464549cd3184525L, 0x451d20624191bf0dL, 0x120fffffedefL, 0xffffffffffffffffL, 0xffffedf000000000L, 0x1210L};
-uint64_t A[8] = {0xb2be2bcbec5c898cL, 0x629b728b79cc50c3L, 0xc4aa5773a020613fL, 0x45ffdfe932db6849L, 0xdc92f1abb243be2eL, 0xaf03c05fca655b38L, 0xbf279c7062e44081L, 0xae9f4f976943bc03L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1a79fac11bfb07e8L, 0x2ad57e2011f137a5L, 0xb4841db7f8f1fe54L, 0xbd193c5a13a255a0L, 0x77a2005bf9213137L, 0x3187fa245d09b26bL, 0xd961b5a0e4d7625L, 0xa119fab8262340ceL, 0x8bf99134f861c339L, 0x3366c1bde079f4c8L, 0xd7a870b406ec1786L, 0x6a87d74f57679744L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 194;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x987ed824d49673c2L, 0x47f7b822e42efe12L, 0x227a90fd16b25ff8L, 0x42b8ecd2016b2f4bL, 0x307537ab7585169eL, 0xa2be4e39aa8de8e5L, 0xe63cb1ad7f98dcbfL, 0x482b60ca06712436L, 0x3c4ebecec20774ccL, 0xfffffffffe56339bL, 0xc20774cd00000000L, 0x1a9cc643df88b33L};
-uint64_t A[8] = {0x40bb8a1ca9a92a51L, 0x112746e2f16e4f64L, 0x779bb091f4b4168bL, 0xb2ba97669274864aL, 0x37f260b9e557fe9bL, 0xf53a2212b22d0d90L, 0xe2f8e1c67da8af3aL, 0x592870011c59d7adL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1f99d66703d4f740L, 0x28ee9ecff319a483L, 0x59ab774fae8910c7L, 0x75a52c2022b73d2fL, 0x5cc8d5799b74030eL, 0xf1a4fa255e313b42L, 0x5a85cf4c76c3b91L, 0x4b4781265dc9c881L, 0xe908e6b7a80602a0L, 0x6993d16c83e0f3dcL, 0xde4c20ad58b56eaaL, 0x2f11fa179b08b2f2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 195;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xede8c475e9715ac6L, 0x6799079fe128f427L, 0x541f1d4e0cf9d69bL, 0x46231f174e1c1447L, 0xcface1c07b59e98eL, 0xa2741f4e350c0344L, 0x433193423b2b4e34L, 0xf9cea03149237a3eL, 0x9656d97064a2f329L, 0xfffffffffaf9cc9aL, 0x64a2f32a00000000L, 0x50633659b5d0cd6L};
-uint64_t A[8] = {0xbc2905fdc2c72f52L, 0x67f5f05fcd47bd28L, 0xc4a70bcc9535ceL, 0xea9479cf0f52d533L, 0x4ef0c2e2a7fb0657L, 0x5d1379f69267bcedL, 0xcc5ccf9a29159b0eL, 0x6febb404d5e365f5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1a07ba5f7f08dac3L, 0xfdc3cd754c9b1fd2L, 0x7edfc55cda367368L, 0x20805dba47f366b7L, 0x5e760047c9402c1cL, 0x901cfba00e456808L, 0x9458c84b2ee2db6eL, 0x53a89ac983399aa6L, 0x583cb3045e111dbL, 0x121c800dd99a696aL, 0x7339fc680b832c47L, 0x91b3e9c6165c957fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 196;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x8b9f07efcce38e96L, 0xf9306e3ff60ecccbL, 0xf25fdedaeb5f43cL, 0xd22569b4cd8ccea8L, 0x4e14d4757b116d9L, 0x9d9e61d100481c9bL, 0x6b1c17a850560af5L, 0x31946a5fcc13db5dL, 0x342ab0ffcbd54efL, 0xffffffffffffffffL, 0xfcbd54f000000000L, 0x342ab10L};
-uint64_t A[8] = {0x76b85af13143ff6L, 0x25e08eed9e9aa27fL, 0x3e3d0488ffc51120L, 0xf8c81b242528c884L, 0x418e685027128311L, 0x63ac37d528a681efL, 0xf0a07a9732ef1690L, 0xc7fe6aa567d1367fL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x834c58759a258edaL, 0xf3ee3a68b7a40dcaL, 0xc90e271d625c46c1L, 0x8133296c044b228bL, 0xf1144e46b8d1cf0cL, 0xfa2a35420f5da8efL, 0xce296dec970e8811L, 0x2b3e03292b9a58b9L, 0xab36f9d222b94e50L, 0x54b1607303e83cdaL, 0x37197200e149a513L, 0xe1a2d25c2b4e385aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 197;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x398ce99ecaf0ea74L, 0x64e06bfb7a8b1cd2L, 0xac9a9fb5eb3fc6a1L, 0x885172b68ff8ad20L, 0x78b0cc7f973e635L, 0x2d5f6c7f3762cf5bL, 0x88e68752ffc584dL, 0xbee7c6e0efbe84dbL, 0x6f7c52b29083ad4aL, 0xfffffffffffffffdL, 0x9083ad4b00000000L, 0x26f7c52b5L};
-uint64_t A[8] = {0x80a698c8975ead83L, 0x90db4fbacc824d66L, 0xe3c23575a8e79d32L, 0xe8f79d0c8916774eL, 0xc07e51672184d151L, 0x5c15e89541c00f8dL, 0x49fa74271f568f63L, 0xf0d5282b6039e3a0L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xa4bc8eea8158aa93L, 0x2d4cfd17c4deb9c3L, 0xc2a744850e4fae8cL, 0x1bbe50d1d5423279L, 0xe73c5084288e1c57L, 0x520c64f9c68a3841L, 0xb67410acf90e39ffL, 0x4dfce77e369addd4L, 0x2d50217ac7436804L, 0x8dff9544bcc2af55L, 0x8b50bcabf12451ffL, 0x9daa81a272fcaa36L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 198;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x6a49c1b210f8488cL, 0xf383c6e080a94760L, 0xbc7d3d1b7c8a9ed2L, 0x4c240edc20ec4f9bL, 0xb8a8683e2e624cffL, 0x1de46c427053b06aL, 0xf4facb4094e54479L, 0xf2647723b8fd7d66L, 0x30ffffffceL, 0xffffffffffffffffL, 0xffffffcf00000000L, 0x31L};
-uint64_t A[8] = {0x1194785fc0ebd864L, 0xae08dba305d1c30L, 0x637a496883bf13e0L, 0x1e59d7ad07931b9L, 0xfe138e7c3a8da79fL, 0xfaa2ea66baccab45L, 0x46610f593244345L, 0x990198536bb2cc87L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x3b976f3b8380f498L, 0xb4d15ea007b7e3b5L, 0x4de9b5d4419049b1L, 0x149a99810684617L, 0x40afe1ef1031cd4bL, 0x182c0c05668943d1L, 0xa26a2bbd366c9b6eL, 0x3e68dd7af65b8db7L, 0xd0cde987e30aedb6L, 0x2b140a33b5e11040L, 0x85e926ad61547f07L, 0x31828e371390bf98L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 199;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x48344772c13b51a5L, 0x4bf8972de9477b2dL, 0x6d85d4c2d6f573a1L, 0x2d13bcb89e882b91L, 0xd03ec6c99660bf29L, 0x31b19b84173c63ceL, 0x7e91537be5f1636eL, 0x79b022122c12488eL, 0x2058ffffdfa6L, 0xffffffffffffffffL, 0xffffdfa700000000L, 0x2059L};
-uint64_t A[8] = {0xe7f5ba6f2554f427L, 0xdf48518b3901ff96L, 0xa828c36c1d4e879bL, 0xef6c4ca1424432edL, 0xedc19f099a5676dfL, 0x8bf2891468410bffL, 0x27cf306a14944795L, 0xb6efb4cd4463768L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcefa3b54b549be6fL, 0x8e63e9626159a555L, 0x6805598f9f4740b4L, 0x1cde7a359e273682L, 0x14f3d99f6fa072b3L, 0x8060d61769c498a3L, 0x586e391f31a46813L, 0x4da200ba40ef744fL, 0x41723e07ee2ec658L, 0x2fba26bca848004L, 0xf96c38831423530bL, 0x2cbe3b93a33c75fL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 200;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xec48700e1ea94049L, 0xe0fd6bf6afa1e383L, 0xf7c889cfa30a0cabL, 0x868f33641354fce3L, 0xb6af50a39cbfb60eL, 0xdecae68017bbb61aL, 0x228a33febb1b22e5L, 0xb539f4b96628d162L, 0xb8747c423ade0ca4L, 0xfffffffff35288e7L, 0x3ade0ca500000000L, 0xcad7718c521f35bL};
-uint64_t A[8] = {0x3355a9e2ed6f3d70L, 0xbb8ca626fa2e83a3L, 0x7633a743c1abf15fL, 0x62f6040fe8d14b9aL, 0x5482d45c245c0ed3L, 0xae880bfb66d033f9L, 0x15ecac2d10544c31L, 0xda782cbf9fd78f6dL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x5b627fd416f347d0L, 0x9862152928e44beL, 0x86ee6b49a7eb230cL, 0x110a8b8eb5633573L, 0x44a60348e6e2f306L, 0x4bce2a45e3962b87L, 0xff823506624764d0L, 0x31e4765d592065a4L, 0xa71b06ede75b68f2L, 0x68471acad547b28bL, 0x9c8182a423c13983L, 0xdb14a2ff5bd1090cL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 201;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xea7cc653bf422156L, 0x5fa2a358406937c7L, 0xa7e7ef021f6ef4f8L, 0x76532de45068af2cL, 0x7c1447ce6ec43626L, 0x1371ac2f71e5fda4L, 0x9ba359374a0360a4L, 0xfb9e4785a983d068L, 0xfffffffeffL, 0xffffffffffffffffL, 0xffffff0000000000L, 0x100L};
-uint64_t A[8] = {0xadfeeb8858cee75fL, 0xb39892a238929f1eL, 0xd5a7b62826fe4135L, 0xf19b7e5353944d6aL, 0x7d6929a823d46fd1L, 0x821afc9c9cdfd923L, 0xb00c038dd1f7bbf8L, 0xa1625858237504b2L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x187e1ad078f51811L, 0xb763982c7a771f84L, 0xaf965417dc0f6513L, 0x4d9fc9f678c8289cL, 0x2bf400abcb53db37L, 0xa38c059b29fe9af9L, 0xfcf2b2ae5dbbafdaL, 0xa8d795052d1ef760L, 0xc4079291ce44431L, 0xff953a5eb59de00eL, 0x3f89fe20c6fca308L, 0x25affd01fed201L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 202;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xc2cbe95d4366db7aL, 0x4b9eea59999af305L, 0x27894fdaafc25147L, 0xdc05253564ac3744L, 0xf65916d5c27a0714L, 0xe905b4ce8789318eL, 0x6484b48fcdef88cL, 0x8ec05153cb978dcL, 0x2effffffd0L, 0xffffffffffffffffL, 0xffffffd100000000L, 0x2fL};
-uint64_t A[8] = {0xfe9ef0ba0cc4d4L, 0xf2ce50c53403e761L, 0x3840a9e7a9b65f5dL, 0x929ccb9306859ad6L, 0xd7c9ea848c225f0cL, 0xc2c3e0c892683433L, 0x17b15172c1bc94f1L, 0x2eb749110972e929L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xcd003c75b05e3e73L, 0x211ef04726e43cf2L, 0xe75e809771785654L, 0xf179db93f8d86fdfL, 0xbcccfd1c79869a3eL, 0xfccd80ec56591489L, 0x7b7ecacc98b79ad1L, 0x38786242c1aa9177L, 0x9c3dc81dc0a48a31L, 0x24da12ff07c86f5aL, 0x76b4bd500d116205L, 0x8eb37ba486f7e77dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 203;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xea227e8207daf84L, 0xd0a68a04691facb3L, 0x42eae592689fa6dfL, 0xc5a5690c083bb0beL, 0xe09b01d2b01a494aL, 0xa0d38dccf62fb3fcL, 0xdd3ff0c9e5d892b1L, 0xe2c87b41f4482659L, 0x1fffffffdfL, 0xffffffffffffffffL, 0xffffffe000000000L, 0x20L};
-uint64_t A[8] = {0x9327b0e9666b1242L, 0xf5f3ebfb4d392c57L, 0x7304174a87d08095L, 0x6869c3bcf7e94bb7L, 0xc3c5a8ebeeb43c51L, 0x3ce9943ebc307220L, 0x8fe1ecf0cfcb6406L, 0x710e6e6b5594a88L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x160e2bc7b677a2c4L, 0xfb5de902c3da4fc6L, 0x2f00e21a6dc0cf53L, 0x10ef622fe17d5ab0L, 0x9e7d4af709367470L, 0xe579cc016526f2baL, 0x4782b2dfab709553L, 0x9aeaa01f7672347eL, 0x42fffc3796b40cdL, 0xe12c660f72362319L, 0xae4848092c55d83cL, 0x2d315a739e65b1d2L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 204;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x382006612195ef9bL, 0x74341ea788590c0eL, 0xa3823573e8e04180L, 0xe9966c6cd941560dL, 0xf27760444afa64e5L, 0x4f531742f4373582L, 0xe7b82e4907417307L, 0x1ad7eaffc7b6874bL, 0xba88f35e3cb7f421L, 0xfffffffff740e780L, 0x3cb7f42200000000L, 0x8bf187fc3480bdeL};
-uint64_t A[8] = {0x75b1deedf1dd81cdL, 0xcdedb3ab8dbc1d6aL, 0x6dbc4191c033ef74L, 0x99e398a2a8ab239eL, 0xd3e74166fb4fadeeL, 0x2bc2d83bc7d27b02L, 0xae7a6c8895365a36L, 0x163852f12b5f7327L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x82841bbb91c7118aL, 0x3b33433ce3b366dL, 0x5a4e7a8618eabe30L, 0x4af48eea9c60f60bL, 0x362fc6ea8db3d6c3L, 0xe42155545510a807L, 0x4318b62a126b1bfL, 0xe71dd8d55c885133L, 0xfbcfca1afeb3224L, 0x4f6df9e64c9bb3d6L, 0xa401d300093d9db0L, 0x39f918b386cd9b78L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 205;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x62e71f02310d6738L, 0x958e3fa1590d4343L, 0x1b1203ab1aa865f2L, 0xc2964235d86c997L, 0x5ea360fdd4207f1dL, 0xffeae33369aa1b42L, 0x521599dbc2762191L, 0xbc7292db823be8a2L, 0x745effff8ba0L, 0xffffffffffffffffL, 0xffff8ba100000000L, 0x745fL};
-uint64_t A[8] = {0x4456267a778d8ce7L, 0x505993680c1898cbL, 0x55922df39fbd224eL, 0xc0180d950146ecc4L, 0xdeb795728c6f4f34L, 0x57faade95e5c0b30L, 0x59e264b4ada4bf27L, 0xb77fdb881e63a97cL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xc37c10c3c78f981eL, 0x1372f863ddf9ca14L, 0x39e772d3159aef6cL, 0xac44a798caefeb00L, 0xaee5a684592b873L, 0xdcb127e1b102fcb4L, 0xffa8abd7f34ba95aL, 0xc7f057c79a53613dL, 0x3f47a3a4ea48e5fdL, 0x57df931e052767bbL, 0x502f2f17fb36a952L, 0x351fc4d64624a811L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 206;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x5bb15448e44ae6a3L, 0x962a79c74619f5bcL, 0x930911d215edec05L, 0x7902957dfcfcd34bL, 0xc4949acb3e6dee02L, 0xe90482c9ede219c0L, 0xbeae72a4d500537L, 0x92a95e8c08c9aef4L, 0x1cb8e0ffe346dd3dL, 0xffffffffffffbe3dL, 0xe346dd3e00000000L, 0x41c21cb922c2L};
-uint64_t A[8] = {0x57fcaf64b5e8d6dbL, 0xf670e79ac97efbdcL, 0xe12253fbdb991b94L, 0xa928a6d84768c868L, 0x1d94d6153c3e2656L, 0x2085b6e8694a3819L, 0xea05005e197a2805L, 0x8004d784b244753L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xb6535c637643c3b4L, 0x26452eb6846cf532L, 0xea5bb0ebaa99ebcbL, 0x909f0298e16ad692L, 0x16b53624f4a87f72L, 0x89a742299ac73e8L, 0xc1f0d4cea8e0ffd1L, 0xa484f5a8e59f5c36L, 0x86add1054dc07c8dL, 0xf9eba42054189b4dL, 0xe9ebc2a3aeec4a24L, 0xe8477646ce2dff2dL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 207;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x93b61fff461c0193L, 0x245b6a631620a3L, 0x980d7cfd6373e432L, 0xdb3228555a066f55L, 0x2fa41654b02a0c20L, 0x6a9156a5d8a0365bL, 0xfeeba3cfa8da8148L, 0xb8a90345d2bf3fbfL, 0x894fffff76aL, 0xffffffffffffffffL, 0xfffff76b00000000L, 0x895L};
-uint64_t A[8] = {0xb5cffedf0790a013L, 0xf1ba0f6e25458e39L, 0x66d546ad56e03b9bL, 0x7ce0061255f79ecfL, 0x7c2da8ba0847c739L, 0xc641e310a7eb8838L, 0xf3cc871d693e2a73L, 0x16439c6cd3b5b4e4L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xe65a73ef42d3afc7L, 0x66042e6ed3abf3feL, 0x7bc7124250947decL, 0x4ff9991acde231b0L, 0x65342915b9c7e648L, 0x94fe48a8eba8523dL, 0xc3b8b6d4900027f4L, 0x907dd33f7e1f94d8L, 0x48c4dea9de69ae8cL, 0x1a814d1fe0590615L, 0x1d8216a88d702430L, 0xda7c9f873a086808L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 208;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xcbceda9779a886deL, 0x3fe90d812619b86bL, 0x4159848c383b7cefL, 0xcba63eab99fdaf73L, 0x3573c4a4d803ba9eL, 0x9db6fde5ab35d99dL, 0x15f2104c4e6e005cL, 0x7fb503ed5185c70bL, 0xe4762cda1b6b0c32L, 0xffffffffffe1390dL, 0x1b6b0c3300000000L, 0x1ec6f2e494f3cdL};
-uint64_t A[8] = {0x81d4d67d5303aa9L, 0x55d6984e2ed8d949L, 0x9ea7ce6365f0934aL, 0x69b60cd9343b297aL, 0xa916a98dc09558fbL, 0x4a43bfd951bdba86L, 0x6c7cc30329ddb815L, 0xd6b16ee90d413600L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0xef5a86ba12b10f51L, 0xa14232c6c2094dbeL, 0xa041a36456bcffbaL, 0x79bceb0a418ceee3L, 0xe1b0d5a052d6d440L, 0x747bfacc02ebc51cL, 0xf885a4c48866b187L, 0xa02d93fa05651a88L, 0xa1fac4c43b84d98fL, 0x1fe958debe7aaccdL, 0xbd334d839f8fc0abL, 0xfd5de16b7a97131L};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 209;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xa8b9dc95740882cfL, 0x9ec81ffe5b603bdeL, 0x98e8135f66721b56L, 0xd17ff993343047c3L, 0xd5486ac6f39da9f8L, 0xa97b7def431b4400L, 0x359aaacee9bc1ac2L, 0xd27547a73ca8ecc9L, 0xa352943f5cad6bbcL, 0xfffffffffffffffcL, 0x5cad6bbd00000000L, 0x3a3529443L};
-uint64_t A[8] = {0x9aa4819ec5eb4a3L, 0x843d527627103033L, 0x4fb6be2872eb797bL, 0x63408a083be2d806L, 0x2df5acb69dffcb33L, 0x7a7d39ea8034a362L, 0x63895b730257c52dL, 0x6f93d9ef8f89e6bbL};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x1259843f1f79324bL, 0x8c4109a33190bddeL, 0xbea9029b3905f178L, 0xe4cbc7d6def1e497L, 0x280e2a2a86b41127L, 0x2689fc9b3c330270L, 0x9a66377d92ce4006L, 0x3da5c4e43d4b5fdfL, 0x21c382adcbfacadaL, 0x4ba570ff44e6e39dL, 0xfc7d46696884f8bL, 0x9eca9586b4e358edL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 210;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0xf6473dfddab6bf9L, 0x890c51b091c17925L, 0x3af4337690955505L, 0x9391e981ecee3f12L, 0xcbcf4be60e230b39L, 0x514815022786fe34L, 0x32ce1b903bfb4a5cL, 0x564202ccfa508237L, 0x49ffffffb5L, 0xffffffffffffffffL, 0xffffffb600000000L, 0x4aL};
-uint64_t A[8] = {0x1ac9b3b95c98837aL, 0x8d80cea9a6380e97L, 0x68b05abd2b4c70a9L, 0x1297113175774cf6L, 0xf9b38f9d5ef51755L, 0x5566e3f4088317ddL, 0x279b1cdeee4dfc85L, 0x58aecf8f412543b5L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x7ad2fff36c3b2e26L, 0xb2f3bc5c23d87ac9L, 0x3765769e4524ff25L, 0x23665cd85fd6eaf2L, 0x1a31624bf8be29dfL, 0x3cd8e7dee97a44c2L, 0x33eb4b4006c4eb0eL, 0x3b616dc4d9e5d7a2L, 0x4865811a5328a1c2L, 0x9c480de2eb0bdd65L, 0xa5f7b71dd250567dL, 0xbcf9b92b34d85d5aL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 211;
-}
-{
-uint64_t out[12] = {0};
-uint64_t J[12] = {0x9f8aa54b2ef7c76aL, 0x49d2c9eb084ffdd7L, 0xd36a42d7aebf7313L, 0x42c2af497e2feb4L, 0x2d431068d84bde31L, 0x2d97d10878eb4cbbL, 0x3bd0c66fddb7fb58L, 0x9200b7ba09895e70L, 0xfffffffeL, 0xffffffffffffffffL, 0xffffffff00000000L, 0x1L};
-uint64_t A[8] = {0x54d66b2b865ea511L, 0xf978c0d61d3d25bcL, 0xf8de9aeb66f71bb1L, 0xb5ab5f4ce49972d0L, 0xc04e122cb67e556aL, 0xaab1e105c967237cL, 0x4a21fe89db473987L, 0xaabbba599d15ce42L};
-// both nz
-p256_jacobian_add_affine(out, J, A);
-uint64_t ref[12] = {0x5da7b46e081a80f7L, 0x9f2d1cc77e706bf5L, 0xd44a1379be3d42abL, 0xdf07f82afa2f5227L, 0x9f7851a3ecb06593L, 0xc35891dab8b63c63L, 0x2bd457cf2e2ac8b1L, 0xd00265a18454fceL, 0xb54bc5df5766dda8L, 0xafa5f6eb14ed27e5L, 0x25745814b837a89eL, 0xb17f34584cb6741bL};
-if (memcmp(out, ref, sizeof(uint64_t)*12)) return 212;
-}
-
-return 0;
-}
diff --git a/src/Specific/NISTP256/AMD64/test/p256_test.sage b/src/Specific/NISTP256/AMD64/test/p256_test.sage
deleted file mode 100644
index 4e249bcae..000000000
--- a/src/Specific/NISTP256/AMD64/test/p256_test.sage
+++ /dev/null
@@ -1,93 +0,0 @@
-p256 = 2^256 - 2^224 + 2^192 + 2^96 - 1
-F = GF(p256)
-a = F(-3)
-b = F(41058363725152142129326129780047268409114441015993725554835256314039467401291)
-E = EllipticCurve([a, b])
-B = E(0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296, 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5)
-
-def orzero(x):
- if not x:
- return "0"
- return x
-
-def hex4(x):
- x = int(x)
- M = int(2^64-1)
- return hex((x>>(3*64))&M) +', '+ hex((x>>(2*64))&M) +', '+ hex((x>>64)&M) +', '+ hex(x&M)
-
-R = 2^256
-testcount = [0]
-def print_test(J, Z1, A):
- Z1 = F(Z1)
- print ("{")
- print ("uint64_t out[12] = {0};")
-
- if not J.is_zero():
- X1, Y1 = J.xy()
- X1 = X1 * Z1^2
- Y1 = Y1 * Z1^3
- else:
- X1 = F(32421522)
- Y1 = F(-451234651326)
- Z1 = 0
-
- if not A.is_zero():
- X2, Y2 = A.xy()
- else:
- X2 = 0
- Y2 = 0
-
- print ("uint64_t J[12] = {" + hex4(R*X1) +", " + hex4(R*Y1) + ", " + hex4(R*Z1) + "};")
- print ("uint64_t A[8] = {" + hex4(R*X2) +", " + hex4(R*Y2) + "};")
- P = J+A
- if not P.is_zero():
- X3, Y3 = P.xy()
- if not J.is_zero() and not A.is_zero():
- print ("// both nz")
- Z3 = Z1 * (Z1^2*X2 - X1)
- elif not J.is_zero():
- print ("// J nz")
- Z3 = Z1
- else:
- print ("// maybe A nz, maybe neither")
- Z3 = F(1)
- X3 = X3 * Z3^2
- Y3 = Y3 * Z3^3
- else:
- X3 = X1
- Y3 = Y1
- Z3 = 0
- print ("p256_jacobian_add_affine(out, J, A);")
- print ("uint64_t ref[12] = {" + hex4(R*X3) +", " + hex4(R*Y3) + ", " + hex4(R*Z3) + "};")
- testcount[0] = testcount[0] + 1
- print ("if (memcmp(out, ref, sizeof(uint64_t)*12)) return %d;"%testcount[0])
- print ("}")
-
-P = E(0, sqrt(b))
-
-print ("""
-#include <string.h>
-#include <stdint.h>
-#include "p256.h"
-
-int main() {
-""")
-print_test(B,1, P)
-print_test(B,1, -P)
-print_test(B,2, P)
-print_test(B,2, -P)
-print_test(P,2, P)
-print_test(P,-1, P)
-print_test(-P,1, B)
-print_test(-P,-1, B)
-print_test(B-B,0, B)
-print_test(P,1, B-B)
-print_test(P,-1, B-B)
-print_test(B,1, B-B)
-import random
-random.seed(314)
-for i in range(200):
- print_test(random.randint(0,100)*B,random.randint(1,100)^random.randint(0,10), random.randint(0,100)*P)
-print("""
-return 0;
-}""")
diff --git a/src/Specific/NISTP256/FancyMachine256/Barrett.v b/src/Specific/NISTP256/FancyMachine256/Barrett.v
deleted file mode 100644
index 9c3b55485..000000000
--- a/src/Specific/NISTP256/FancyMachine256/Barrett.v
+++ /dev/null
@@ -1,155 +0,0 @@
-Require Import Crypto.Specific.NISTP256.FancyMachine256.Core.
-Require Import LegacyArithmetic.BarretReduction.
-Require Import Crypto.Arithmetic.BarrettReduction.HAC.
-
-(** Useful for arithmetic in the field of integers modulo the order of the curve25519 base point *)
-Section expression.
- Let b : Z := 2.
- Let k : Z := 253.
- Let offset : Z := 3.
- Context (ops : fancy_machine.instructions (2 * 128)) (props : fancy_machine.arithmetic ops).
- Context (m μ : Z)
- (m_pos : 0 < m).
- Let base_pos : 0 < b. reflexivity. Qed.
- Context (k_good : m < b^k)
- (μ_good : μ = b^(2*k) / m) (* [/] is [Z.div], which is truncated *).
- Let offset_nonneg : 0 <= offset. unfold offset; omega. Qed.
- Let k_big_enough : offset <= k. unfold offset, k; omega. Qed.
- Context (m_small : 3 * m <= b^(k+offset))
- (m_large : b^(k-offset) <= m + 1).
- Context (H : 0 <= m < 2^256).
- Let H' : 0 <= 250 <= 256. omega. Qed.
- Let H'' : 0 < 250. omega. Qed.
- Local Notation SmallT := (@ZBounded.SmallT (2 ^ 256) (2 ^ 250) m
- (@ZLikeOps_of_ArchitectureBoundedOps 128 ops m _)).
- Definition ldi' : load_immediate SmallT := _.
- Let isldi : is_load_immediate ldi' := _.
- Context (μ_range : 0 <= b ^ (2 * k) / m < b ^ (k + offset)).
- Definition μ' : SmallT := ldi' μ.
- Let μ'_eq : ZBounded.decode_small μ' = μ.
- Proof.
- unfold ZBounded.decode_small, ZLikeOps_of_ArchitectureBoundedOps, μ'.
- apply (decode_load_immediate _ _).
- rewrite μ_good; apply μ_range.
- Qed.
-
- Let props'
- ldi_modulus ldi_0 Hldi_modulus Hldi_0
- := ZLikeProperties_of_ArchitectureBoundedOps_Factored ops m ldi_modulus ldi_0 Hldi_modulus Hldi_0 H 250 H' H''.
-
- Definition pre_f' ldi_modulus ldi_0 ldi_μ Hldi_modulus Hldi_0 (Hldi_μ : ldi_μ = ldi' μ)
- := (fun v => (@barrett_reduce m b k μ offset m_pos base_pos μ_good offset_nonneg k_big_enough m_small m_large _ (props' ldi_modulus ldi_0 Hldi_modulus Hldi_0) ldi_μ I (eq_trans (f_equal _ Hldi_μ) μ'_eq) (fst v, snd v))).
-
- Definition pre_f := pre_f' _ _ _ eq_refl eq_refl eq_refl.
-
- Local Arguments μ' / .
- Local Arguments ldi' / .
- Local Arguments Core.mul_double / _ _ _ _ _ _ _ _ _ _.
- Local Opaque Let_In Let_In_pf.
-
- Definition expression'
- := Eval simpl in
- (fun v => pflet ldi_modulus, Hldi_modulus := fancy_machine.ldi m in
- pflet ldi_μ, Hldi_μ := fancy_machine.ldi μ in
- pflet ldi_0, Hldi_0 := fancy_machine.ldi 0 in
- proj1_sig (pre_f' ldi_modulus ldi_0 ldi_μ Hldi_modulus Hldi_0 Hldi_μ v)).
- Local Transparent Let_In Let_In_pf.
- Definition expression
- := Eval cbv beta iota delta [expression' fst snd Let_In Let_In_pf] in expression'.
-
- Definition expression_eq v (H : 0 <= _ < _) : fancy_machine.decode (expression v) = _
- := proj1 (proj2_sig (pre_f v) H).
-End expression.
-
-Section reflected.
- Context (ops : fancy_machine.instructions (2 * 128)).
- Local Notation tZ := (Tbase TZ).
- Local Notation tW := (Tbase TW).
- Definition rexpression : Syntax.Expr base_type op (Arrow (tZ * tZ * tW * tW) tW).
- Proof.
- let v := (eval cbv beta delta [expression] in (fun mμxy => let '(mv, μv, xv, yv) := mμxy in expression ops mv μv (xv, yv))) in
- let v := Reify v in
- exact v.
- Defined.
-
- Definition rexpression_simple := Eval vm_compute in rexpression.
-
- (*Compute DefaultRegisters rexpression_simple.*)
-
- Definition registers
- := [RegMod; RegMuLow; x; xHigh; RegMod; RegMuLow; RegZero; tmp; q; qHigh; scratch+3;
- SpecialCarryBit; q; SpecialCarryBit; qHigh; scratch+3; SpecialCarryBit; q; SpecialCarryBit; qHigh; tmp;
- scratch+3; SpecialCarryBit; tmp; scratch+3; SpecialCarryBit; tmp; SpecialCarryBit; tmp; q; out].
-
- Definition compiled_syntax
- := Eval lazy in AssembleSyntax rexpression_simple registers.
-
- Context (m μ : Z)
- (props : fancy_machine.arithmetic ops).
-
- Let result (v : Tuple.tuple fancy_machine.W 2) := Syntax.Interp (@interp_op _) rexpression_simple (m, μ, fst v, snd v).
- Let assembled_result (v : Tuple.tuple fancy_machine.W 2) : fancy_machine.W := Core.Interp compiled_syntax (m, μ, fst v, snd v).
-
- Theorem sanity : result = expression ops m μ.
- Proof using Type.
- reflexivity.
- Qed.
-
- Theorem assembled_sanity : assembled_result = expression ops m μ.
- Proof using Type.
- reflexivity.
- Qed.
-
- Section correctness.
- Let b : Z := 2.
- Let k : Z := 253.
- Let offset : Z := 3.
- Context (H0 : 0 < m)
- (H1 : μ = b^(2 * k) / m)
- (H2 : 3 * m <= b^(k + offset))
- (H3 : b^(k - offset) <= m + 1)
- (H4 : 0 <= m < 2^(k + offset))
- (H5 : 0 <= b^(2 * k) / m < b^(k + offset))
- (v : Tuple.tuple fancy_machine.W 2)
- (H6 : 0 <= decode v < b^(2 * k)).
- Theorem correctness : fancy_machine.decode (result v) = decode v mod m.
- Proof using H0 H1 H2 H3 H4 H5 H6 props.
- rewrite sanity; destruct v.
- apply expression_eq; assumption.
- Qed.
- Theorem assembled_correctness : fancy_machine.decode (assembled_result v) = decode v mod m.
- Proof using H0 H1 H2 H3 H4 H5 H6 props.
- rewrite assembled_sanity; destruct v.
- apply expression_eq; assumption.
- Qed.
- End correctness.
-End reflected.
-
-Print compiled_syntax.
-(* compiled_syntax =
-fun ops : fancy_machine.instructions (2 * 128) =>
-λn (RegMod, RegMuLow, x, xHigh),
-nlet RegMod := RegMod in
-nlet RegMuLow := RegMuLow in
-nlet RegZero := ldi 0 in
-c.Rshi(tmp, xHigh, x, 250),
-c.Mul128(q, c.LowerHalf(tmp), c.LowerHalf(RegMuLow)),
-c.Mul128(qHigh, c.UpperHalf(tmp), c.UpperHalf(RegMuLow)),
-c.Mul128(scratch+3, c.UpperHalf(tmp), c.LowerHalf(RegMuLow)),
-c.Add(q, q, c.LeftShifted{scratch+3, 128}),
-c.Addc(qHigh, qHigh, c.RightShifted{scratch+3, 128}),
-c.Mul128(scratch+3, c.UpperHalf(RegMuLow), c.LowerHalf(tmp)),
-c.Add(q, q, c.LeftShifted{scratch+3, 128}),
-c.Addc(qHigh, qHigh, c.RightShifted{scratch+3, 128}),
-c.Mul128(tmp, c.LowerHalf(qHigh), c.LowerHalf(RegMod)),
-c.Mul128(scratch+3, c.UpperHalf(qHigh), c.LowerHalf(RegMod)),
-c.Add(tmp, tmp, c.LeftShifted{scratch+3, 128}),
-c.Mul128(scratch+3, c.UpperHalf(RegMod), c.LowerHalf(qHigh)),
-c.Add(tmp, tmp, c.LeftShifted{scratch+3, 128}),
-c.Sub(tmp, x, tmp),
-c.Addm(q, tmp, RegZero),
-c.Addm(out, q, RegZero),
-Return out
- : forall ops : fancy_machine.instructions (2 * 128),
- expr base_type op Register (Tbase TZ * Tbase TZ * Tbase TW * Tbase TW -> Tbase TW)
-*)
diff --git a/src/Specific/NISTP256/FancyMachine256/Core.v b/src/Specific/NISTP256/FancyMachine256/Core.v
deleted file mode 100644
index 881fa2e1e..000000000
--- a/src/Specific/NISTP256/FancyMachine256/Core.v
+++ /dev/null
@@ -1,339 +0,0 @@
-(** * A Fancy Machine with 256-bit registers *)
-Require Import Coq.Classes.RelationClasses Coq.Classes.Morphisms.
-Require Import Coq.PArith.BinPos Coq.micromega.Psatz.
-Require Export Coq.ZArith.ZArith Coq.Lists.List.
-Require Import Crypto.Util.Decidable.
-Require Export Crypto.LegacyArithmetic.Interface.
-Require Export Crypto.LegacyArithmetic.ArchitectureToZLike.
-Require Export Crypto.LegacyArithmetic.ArchitectureToZLikeProofs.
-Require Export Crypto.Util.Tuple.
-Require Import Crypto.Util.Option Crypto.Util.Sigma Crypto.Util.Prod.
-Require Import Crypto.Compilers.Named.Context.
-Require Export Crypto.Compilers.Named.Syntax.
-Require Export Crypto.Compilers.Named.PositiveContext.
-Require Import Crypto.Compilers.Named.DeadCodeElimination.
-Require Import Crypto.Compilers.CountLets.
-Require Import Crypto.Compilers.Named.ContextOn.
-Require Import Crypto.Compilers.Named.Wf.
-Require Export Crypto.Compilers.Syntax.
-Require Import Crypto.Compilers.Linearize.
-Require Import Crypto.Compilers.Inline.
-Require Import Crypto.Compilers.CommonSubexpressionElimination.
-Require Export Crypto.Compilers.Reify.
-Require Export Crypto.Util.Option.
-Require Export Crypto.Util.Notations.
-Require Import Crypto.Util.ListUtil.
-Require Export Crypto.Util.LetIn.
-Require Import Crypto.Util.Tactics.BreakMatch.
-Export ListNotations.
-
-Open Scope Z_scope.
-Local Notation eta x := (fst x, snd x).
-Local Notation eta3 x := (eta (fst x), snd x).
-Local Notation eta3' x := (fst x, eta (snd x)).
-
-(** ** Reflective Assembly Syntax *)
-Section reflection.
- Context {ops : fancy_machine.instructions (2 * 128)}.
- Local Set Boolean Equality Schemes.
- Local Set Decidable Equality Schemes.
- Inductive base_type := TZ | Tbool | TW.
- Global Instance dec_base_type : DecidableRel (@eq base_type)
- := base_type_eq_dec.
- Definition interp_base_type (v : base_type) : Type :=
- match v with
- | TZ => Z
- | Tbool => bool
- | TW => fancy_machine.W
- end.
- Local Notation tZ := (Tbase TZ).
- Local Notation tbool := (Tbase Tbool).
- Local Notation tW := (Tbase TW).
- Local Open Scope ctype_scope.
- Inductive op : flat_type base_type -> flat_type base_type -> Type :=
- | OPconst t : interp_base_type t -> op Unit (Tbase t)
- | OPldi : op tZ tW
- | OPshrd : op (tW * tW * tZ) tW
- | OPshl : op (tW * tZ) tW
- | OPshr : op (tW * tZ) tW
- | OPadc : op (tW * tW * tbool) (tbool * tW)
- | OPsubc : op (tW * tW * tbool) (tbool * tW)
- | OPmulhwll : op (tW * tW) tW
- | OPmulhwhl : op (tW * tW) tW
- | OPmulhwhh : op (tW * tW) tW
- | OPselc : op (tbool * tW * tW) tW
- | OPaddm : op (tW * tW * tW) tW.
-
- Definition is_const s d (v : op s d) : bool
- := match v with OPconst _ _ => true | _ => false end.
-
- Definition interp_op src dst (f : op src dst)
- : interp_flat_type interp_base_type src -> interp_flat_type interp_base_type dst
- := match f in op s d return interp_flat_type _ s -> interp_flat_type _ d with
- | OPconst _ v => fun _ => v
- | OPldi => ldi
- | OPshrd => fun xyz => let '(x, y, z) := eta3 xyz in shrd x y z
- | OPshl => fun xy => let '(x, y) := eta xy in shl x y
- | OPshr => fun xy => let '(x, y) := eta xy in shr x y
- | OPadc => fun xyz => let '(x, y, z) := eta3 xyz in adc x y z
- | OPsubc => fun xyz => let '(x, y, z) := eta3 xyz in subc x y z
- | OPmulhwll => fun xy => let '(x, y) := eta xy in mulhwll x y
- | OPmulhwhl => fun xy => let '(x, y) := eta xy in mulhwhl x y
- | OPmulhwhh => fun xy => let '(x, y) := eta xy in mulhwhh x y
- | OPselc => fun xyz => let '(x, y, z) := eta3 xyz in selc x y z
- | OPaddm => fun xyz => let '(x, y, z) := eta3 xyz in addm x y z
- end.
-
- Inductive op_code : Type :=
- | SOPconstb (v : bool) | SOPconstZ (v : Z) | SOPconstW
- | SOPldi | SOPshrd | SOPshl | SOPshr | SOPadc | SOPsubc
- | SOPmulhwll | SOPmulhwhl | SOPmulhwhh | SOPselc | SOPaddm.
-
- Definition symbolicify_op s d (v : op s d) : op_code
- := match v with
- | OPconst TZ v => SOPconstZ v
- | OPconst Tbool v => SOPconstb v
- | OPconst TW v => SOPconstW
- | OPldi => SOPldi
- | OPshrd => SOPshrd
- | OPshl => SOPshl
- | OPshr => SOPshr
- | OPadc => SOPadc
- | OPsubc => SOPsubc
- | OPmulhwll => SOPmulhwll
- | OPmulhwhl => SOPmulhwhl
- | OPmulhwhh => SOPmulhwhh
- | OPselc => SOPselc
- | OPaddm => SOPaddm
- end.
-
- Definition CSE {t} e := @CSE base_type op_code base_type_beq op_code_beq internal_base_type_dec_bl op symbolicify_op (fun _ x => x) true t e (fun _ => nil).
-
- Inductive inline_option := opt_inline | opt_default | opt_noinline.
-
- Definition postprocess var t (e : @exprf base_type op var t)
- : @inline_directive base_type op var t
- := let opt : inline_option
- := match e with
- | Op _ _ OPshl _ => opt_inline
- | Op _ _ OPshr _ => opt_inline
- | Op _ _ (OPconst _ _) _ => opt_inline
- | _ => opt_default
- end in
- match opt with
- | opt_noinline => no_inline e
- | opt_default => default_inline e
- | opt_inline => match t as t' return exprf _ _ t' -> inline_directive t' with
- | Tbase _ => fun e => @inline _ _ _ (Tbase _) e
- | _ => fun e => default_inline e
- end e
- end.
-
- Definition Inline {t} e := @InlineConstGen base_type op postprocess t e.
-End reflection.
-
-Ltac base_reify_op op op_head expr ::=
- lazymatch op_head with
- | @Interface.ldi => constr:(reify_op op op_head 1 OPldi)
- | @Interface.shrd => constr:(reify_op op op_head 3 OPshrd)
- | @Interface.shl => constr:(reify_op op op_head 2 OPshl)
- | @Interface.shr => constr:(reify_op op op_head 2 OPshr)
- | @Interface.adc => constr:(reify_op op op_head 3 OPadc)
- | @Interface.subc => constr:(reify_op op op_head 3 OPsubc)
- | @Interface.mulhwll => constr:(reify_op op op_head 2 OPmulhwll)
- | @Interface.mulhwhl => constr:(reify_op op op_head 2 OPmulhwhl)
- | @Interface.mulhwhh => constr:(reify_op op op_head 2 OPmulhwhh)
- | @Interface.selc => constr:(reify_op op op_head 3 OPselc)
- | @Interface.addm => constr:(reify_op op op_head 3 OPaddm)
- end.
-Ltac base_reify_type T ::=
- match T with
- | Z => TZ
- | bool => Tbool
- | fancy_machine.W => TW
- end.
-
-Ltac Reify' e := Reify.Reify' base_type (@interp_base_type _) (@op _) e.
-Ltac Reify e :=
- let v := Reify.Reify base_type (@interp_base_type _) (@op _) (@OPconst _) e in
- constr:(Inline ((*CSE _*) (InlineConst (@is_const _) (ANormal v)))).
-(*Ltac Reify_rhs := Reify.Reify_rhs base_type (interp_base_type _) op (interp_op _).*)
-
-(** ** Raw Syntax Trees *)
-(** These are used solely for pretty-printing the expression tree in a
- form that can be basically copy-pasted into other languages which
- can be compiled for the Fancy Machine. Hypothetically, we could
- add support for custom named identifiers, by carrying around
- [string] identifiers and using them for pretty-printing... It
- might also be possible to verify this layer, too, by adding a
- partial interpretation function... *)
-
-Local Set Decidable Equality Schemes.
-Local Set Boolean Equality Schemes.
-
-Inductive Register :=
-| RegPInv | RegMod | RegMuLow | RegZero
-| y | t1 | t2 | lo | hi | out | src1 | src2 | tmp | q | qHigh | x | xHigh
-| SpecialCarryBit
-| scratch | scratchplus (n : nat).
-
-Notation "'scratch+' n" := (scratchplus n) (format "'scratch+' n", at level 10).
-
-Definition pos_of_Register (r : Register) :=
- match r with
- | RegPInv => 1
- | RegMod => 2
- | RegMuLow => 3
- | RegZero => 4
- | y => 5
- | t1 => 6
- | t2 => 7
- | lo => 8
- | hi => 9
- | out => 10
- | src1 => 11
- | src2 => 12
- | tmp => 13
- | q => 14
- | qHigh => 15
- | x => 16
- | xHigh => 17
- | SpecialCarryBit => 18
- | scratch => 19
- | scratchplus n => 19 + Pos.of_nat (S n)
- end%positive.
-
-Lemma pos_of_Register_inj x y : pos_of_Register x = pos_of_Register y -> x = y.
-Proof.
- unfold pos_of_Register; repeat break_match; subst;
- try rewrite Pos.add_cancel_l; try rewrite Nat2Pos.inj_iff;
- try solve [ simpl; congruence | intros; exfalso; lia ].
-Qed.
-
-Definition RegisterContext {var : base_type -> Type} : Context Register var
- := ContextOn pos_of_Register (PositiveContext _ _ base_type_beq internal_base_type_dec_bl).
-
-Definition syntax {ops : fancy_machine.instructions (2 * 128)}
- := Named.expr base_type op Register.
-
-Class wf_empty {ops} {var} {t} (e : Named.expr base_type (@op ops) Register t)
- := mk_wf_empty : @Wf.Named.wf base_type Register _ var RegisterContext empty t e.
-Global Hint Extern 0 (wf_empty _) => vm_compute; intros; constructor : typeclass_instances.
-
-(** Assemble a well-typed easily interpretable expression into a
- syntax tree we can use for pretty-printing. *)
-Section assemble.
- Context {ops : fancy_machine.instructions (2 * 128)}.
-
- Definition AssembleSyntax' {t} (e : Expr base_type op t) (ls : list Register)
- : option (syntax t)
- := CompileAndEliminateDeadCode (base_type_code_bl:=internal_base_type_dec_bl) (Context:=RegisterContext) e ls.
- Definition AssembleSyntax {t} e ls (res := @AssembleSyntax' t e ls)
- := match res return match res with None => _ | _ => _ end with
- | Some v => v
- | None => I
- end.
-
- Definition dummy_registers (n : nat) : list Register
- := List.map scratchplus (seq 0 n).
- Definition DefaultRegisters {t} (e : Expr base_type op t) : list Register
- := dummy_registers (CountBinders e).
-
- Definition DefaultAssembleSyntax {t} e := @AssembleSyntax t e (DefaultRegisters e).
-
- Definition Interp {t} e v
- := invert_Some (@Named.Interp base_type interp_base_type op Register RegisterContext interp_op t e v).
-End assemble.
-
-Export Compilers.Named.Syntax.
-Open Scope nexpr_scope.
-Open Scope ctype_scope.
-Open Scope type_scope.
-Open Scope core_scope.
-
-Notation Return x := (Var x).
-Notation Const z := (Op (@OPconst _ _ z) TT).
-Notation ldi z := (Op OPldi (Const z%Z)).
-Notation "'nlet' x := A 'in' b" := (LetIn _ x (Op OPldi (Var A%nexpr)) b%nexpr) : nexpr_scope.
-Notation "'c.Rshi' ( x , A , B , C ) , b" :=
- (LetIn _ x (Op OPshrd (Pair (Pair (Var A) (Var B)) (Const C%Z))) b)
- (at level 200, b at level 200, format "'c.Rshi' ( x , A , B , C ) , '//' b").
-Notation "'c.Mul128' ( x , 'c.UpperHalf' ( A ) , 'c.UpperHalf' ( B ) ) , b" :=
- (LetIn _ x (Op OPmulhwhh (Pair (Var A) (Var B))) b)
- (at level 200, b at level 200, format "'c.Mul128' ( x , 'c.UpperHalf' ( A ) , 'c.UpperHalf' ( B ) ) , '//' b").
-Notation "'c.Mul128' ( x , 'c.UpperHalf' ( A ) , 'c.LowerHalf' ( B ) ) , b" :=
- (LetIn _ x (Op OPmulhwhl (Pair (Var A) (Var B))) b)
- (at level 200, b at level 200, format "'c.Mul128' ( x , 'c.UpperHalf' ( A ) , 'c.LowerHalf' ( B ) ) , '//' b").
-Notation "'c.Mul128' ( x , 'c.LowerHalf' ( A ) , 'c.LowerHalf' ( B ) ) , b" :=
- (LetIn _ x (Op OPmulhwll (Pair (Var A) (Var B))) b)
- (at level 200, b at level 200, format "'c.Mul128' ( x , 'c.LowerHalf' ( A ) , 'c.LowerHalf' ( B ) ) , '//' b").
-Notation "'c.LeftShifted' { x , v }" :=
- (Op OPshl (Pair (Var x) (Const v%Z)))
- (at level 200, format "'c.LeftShifted' { x , v }").
-Notation "'c.RightShifted' { x , v }" :=
- (Op OPshr (Pair (Var x) (Const v%Z)))
- (at level 200, format "'c.RightShifted' { x , v }").
-
-Notation "'c.Add' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair A B) (Const false))) b)
- (at level 200, b at level 200, format "'c.Add' ( x , A , B ) , '//' b").
-Notation "'c.Add' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair (Var A) B) (Const false))) b)
- (at level 200, b at level 200, format "'c.Add' ( x , A , B ) , '//' b").
-Notation "'c.Add' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair A (Var B)) (Const false))) b)
- (at level 200, b at level 200, format "'c.Add' ( x , A , B ) , '//' b").
-Notation "'c.Add' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair (Var A) (Var B)) (Const false))) b)
- (at level 200, b at level 200, format "'c.Add' ( x , A , B ) , '//' b").
-Notation "'c.Addc' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair A B) (Var SpecialCarryBit))) b)
- (at level 200, b at level 200, format "'c.Addc' ( x , A , B ) , '//' b").
-Notation "'c.Addc' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair (Var A) B) (Var SpecialCarryBit))) b)
- (at level 200, b at level 200, format "'c.Addc' ( x , A , B ) , '//' b").
-Notation "'c.Addc' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair A (Var B)) (Var SpecialCarryBit))) b)
- (at level 200, b at level 200, format "'c.Addc' ( x , A , B ) , '//' b").
-Notation "'c.Addc' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPadc (Pair (Pair (Var A) (Var B)) (Var SpecialCarryBit))) b)
- (at level 200, b at level 200, format "'c.Addc' ( x , A , B ) , '//' b").
-
-Notation "'c.Sub' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPsubc (Pair (Pair A B) (Const false))) b)
- (at level 200, b at level 200, format "'c.Sub' ( x , A , B ) , '//' b").
-Notation "'c.Sub' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPsubc (Pair (Pair (Var A) B) (Const false))) b)
- (at level 200, b at level 200, format "'c.Sub' ( x , A , B ) , '//' b").
-Notation "'c.Sub' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPsubc (Pair (Pair A (Var B)) (Const false))) b)
- (at level 200, b at level 200, format "'c.Sub' ( x , A , B ) , '//' b").
-Notation "'c.Sub' ( x , A , B ) , b" :=
- (LetIn _ (pair SpecialCarryBit x) (Op OPsubc (Pair (Pair (Var A) (Var B)) (Const false))) b)
- (at level 200, b at level 200, format "'c.Sub' ( x , A , B ) , '//' b").
-
-Notation "'c.Addm' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPaddm (Pair (Pair A B) (Var RegMod))) b)
- (at level 200, b at level 200, format "'c.Addm' ( x , A , B ) , '//' b").
-Notation "'c.Addm' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPaddm (Pair (Pair (Var A) B) (Var RegMod))) b)
- (at level 200, b at level 200, format "'c.Addm' ( x , A , B ) , '//' b").
-Notation "'c.Addm' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPaddm (Pair (Pair A (Var B)) (Var RegMod))) b)
- (at level 200, b at level 200, format "'c.Addm' ( x , A , B ) , '//' b").
-Notation "'c.Addm' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPaddm (Pair (Pair (Var A) (Var B)) (Var RegMod))) b)
- (at level 200, b at level 200, format "'c.Addm' ( x , A , B ) , '//' b").
-
-Notation "'c.Selc' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPselc (Pair (Pair (Var SpecialCarryBit) A) B)) b)
- (at level 200, b at level 200, format "'c.Selc' ( x , A , B ) , '//' b").
-Notation "'c.Selc' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPselc (Pair (Pair (Var SpecialCarryBit) (Var A)) B)) b)
- (at level 200, b at level 200, format "'c.Selc' ( x , A , B ) , '//' b").
-Notation "'c.Selc' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPselc (Pair (Pair (Var SpecialCarryBit) A) (Var B))) b)
- (at level 200, b at level 200, format "'c.Selc' ( x , A , B ) , '//' b").
-Notation "'c.Selc' ( x , A , B ) , b" :=
- (LetIn _ x (Op OPselc (Pair (Pair (Var SpecialCarryBit) (Var A)) (Var B))) b)
- (at level 200, b at level 200, format "'c.Selc' ( x , A , B ) , '//' b").
diff --git a/src/Specific/NISTP256/FancyMachine256/Montgomery.v b/src/Specific/NISTP256/FancyMachine256/Montgomery.v
deleted file mode 100644
index 4caecca6b..000000000
--- a/src/Specific/NISTP256/FancyMachine256/Montgomery.v
+++ /dev/null
@@ -1,157 +0,0 @@
-Require Import Crypto.Specific.NISTP256.FancyMachine256.Core.
-Require Import Crypto.LegacyArithmetic.MontgomeryReduction.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Proofs.
-Require Import Crypto.Util.ZUtil.EquivModulo.
-
-Section expression.
- Context (ops : fancy_machine.instructions (2 * 128)) (props : fancy_machine.arithmetic ops) (modulus : Z) (m' : Z) (Hm : modulus <> 0) (H : 0 <= modulus < 2^256) (Hm' : 0 <= m' < 2^256).
- Let H' : 0 <= 256 <= 256. omega. Qed.
- Let H'' : 0 < 256. omega. Qed.
- Definition ldi' : load_immediate
- (@ZBounded.SmallT (2 ^ 256) (2 ^ 256) modulus
- (@ZLikeOps_of_ArchitectureBoundedOps 128 ops modulus 256)) := _.
- Let isldi : is_load_immediate ldi' := _.
- Let props'
- ldi_modulus ldi_0 Hldi_modulus Hldi_0
- := ZLikeProperties_of_ArchitectureBoundedOps_Factored ops modulus ldi_modulus ldi_0 Hldi_modulus Hldi_0 H 256 H' H''.
- Definition pre_f' ldi_modulus ldi_0 Hldi_modulus Hldi_0 lm'
- := (fun v => (reduce_via_partial (2^256) modulus (props := props' ldi_modulus ldi_0 Hldi_modulus Hldi_0) lm' I Hm (fst v, snd v))).
- Definition pre_f := pre_f' _ _ eq_refl eq_refl (ldi' m').
-
- Definition f := (fun v => pflet ldi_modulus, Hldi_modulus := ldi' modulus in
- dlet lm' := ldi' m' in
- pflet ldi_0, Hldi_0 := ldi' 0 in
- proj1_sig (pre_f' ldi_modulus ldi_0 Hldi_modulus Hldi_0 lm' v)).
-
- Local Arguments proj1_sig _ _ !_ / .
- Local Arguments ZBounded.CarryAdd / _ _ _ _ _ _.
- Local Arguments ZBounded.ConditionalSubtract / _ _ _ _ _ _.
- Local Arguments ZBounded.ConditionalSubtractModulus / _ _ _ _ _.
- Local Arguments ZLikeOps_of_ArchitectureBoundedOps / _ _ _ _.
- Local Arguments ZBounded.DivBy_SmallBound / _ _ _ _ _.
- Local Arguments f / _.
- Local Arguments pre_f' / _ _ _ _ _ _.
- Local Arguments ldi' / .
- Local Arguments reduce_via_partial / _ _ _ _ _ _ _ _.
- Local Arguments Core.mul_double / _ _ _ _ _ _ _ _ _ _.
- Local Opaque Let_In Let_In_pf.
-
- Definition expression'
- := Eval simpl in f.
- Local Transparent Let_In Let_In_pf.
- Definition expression
- := Eval cbv beta delta [expression' fst snd Let_In Let_In_pf] in expression'.
-
- Definition expression_eq v : fancy_machine.decode (expression v) = _
- := proj1 (proj2_sig (pre_f v) I).
- Definition expression_correct
- R' HR0 HR1
- v
- Hv
- : fancy_machine.decode (expression v) = _
- := @Crypto.LegacyArithmetic.MontgomeryReduction.reduce_via_partial_correct (2^256) modulus _ (props' _ _ eq_refl eq_refl) (ldi' m') I Hm R' HR0 HR1 (fst v, snd v) I Hv.
-End expression.
-
-Section reflected.
- Context (ops : fancy_machine.instructions (2 * 128)).
- Local Notation tZ := (Tbase TZ).
- Local Notation tW := (Tbase TW).
- Definition rexpression : Syntax.Expr base_type op (Arrow (tZ * tZ * tW * tW) tW).
- Proof.
- let v := (eval cbv beta delta [expression] in
- (fun modulus_m'_x_y => let '(modulusv, m'v, xv, yv) := modulus_m'_x_y in
- expression ops modulusv m'v (xv, yv))) in
- let v := Reify v in
- exact v.
- Defined.
-
- Definition rexpression_simple := Eval vm_compute in rexpression.
-
- (*Compute DefaultRegisters rexpression_simple.*)
-
- Definition registers
- := [RegMod; RegPInv; lo; hi; RegMod; RegPInv; RegZero; y; t1; SpecialCarryBit; y;
- t1; SpecialCarryBit; y; t1; t2; scratch+3; SpecialCarryBit; t1; SpecialCarryBit; t2;
- scratch+3; SpecialCarryBit; t1; SpecialCarryBit; t2; SpecialCarryBit; lo; SpecialCarryBit; hi; y;
- SpecialCarryBit; lo; lo].
-
- Definition compiled_syntax
- := Eval lazy in AssembleSyntax rexpression_simple registers.
-
- Context (modulus m' : Z)
- (props : fancy_machine.arithmetic ops).
-
- Let result (v : Tuple.tuple fancy_machine.W 2) := Syntax.Interp interp_op rexpression_simple (modulus, m', fst v, snd v).
-
- Let assembled_result (v : Tuple.tuple fancy_machine.W 2) : fancy_machine.W := Core.Interp compiled_syntax (modulus, m', fst v, snd v).
-
- Theorem sanity : result = expression ops modulus m'.
- Proof using Type.
- reflexivity.
- Qed.
-
- Theorem assembled_sanity : assembled_result = expression ops modulus m'.
- Proof using Type.
- reflexivity.
- Qed.
-
- Local Infix "≡₂₅₆" := (Z.equiv_modulo (2^256)).
- Local Infix "≡" := (Z.equiv_modulo modulus).
-
- Section correctness.
- Context R' (* modular inverse of 2^256 *)
- (H0 : modulus <> 0)
- (H1 : 0 <= modulus < 2^256)
- (H2 : 0 <= m' < 2^256)
- (H3 : 2^256 * R' ≡ 1)
- (H4 : modulus * m' ≡₂₅₆ -1)
- (v : Tuple.tuple fancy_machine.W 2)
- (H5 : 0 <= decode v <= 2^256 * modulus).
- Theorem correctness
- : fancy_machine.decode (result v) = (decode v * R') mod modulus.
- Proof using H0 H1 H2 H3 H4 H5 props.
- replace m' with (fancy_machine.decode (fancy_machine.ldi m'))
- in H4
- by (apply decode_load_immediate; trivial; exact _).
- rewrite sanity; destruct v; apply expression_correct; assumption.
- Qed.
- Theorem assembled_correctness
- : fancy_machine.decode (assembled_result v) = (decode v * R') mod modulus.
- Proof using H0 H1 H2 H3 H4 H5 props.
- replace m' with (fancy_machine.decode (fancy_machine.ldi m'))
- in H4
- by (apply decode_load_immediate; trivial; exact _).
- rewrite assembled_sanity; destruct v; apply expression_correct; assumption.
- Qed.
- End correctness.
-End reflected.
-
-Print compiled_syntax.
-(* compiled_syntax =
-fun ops : fancy_machine.instructions (2 * 128) =>
-λn (RegMod, RegPInv, lo, hi),
-nlet RegMod := RegMod in
-nlet RegPInv := RegPInv in
-nlet RegZero := ldi 0 in
-c.Mul128(y, c.LowerHalf(lo), c.LowerHalf(RegPInv)),
-c.Mul128(t1, c.UpperHalf(lo), c.LowerHalf(RegPInv)),
-c.Add(y, y, c.LeftShifted{t1, 128}),
-c.Mul128(t1, c.UpperHalf(RegPInv), c.LowerHalf(lo)),
-c.Add(y, y, c.LeftShifted{t1, 128}),
-c.Mul128(t1, c.LowerHalf(y), c.LowerHalf(RegMod)),
-c.Mul128(t2, c.UpperHalf(y), c.UpperHalf(RegMod)),
-c.Mul128(scratch+3, c.UpperHalf(y), c.LowerHalf(RegMod)),
-c.Add(t1, t1, c.LeftShifted{scratch+3, 128}),
-c.Addc(t2, t2, c.RightShifted{scratch+3, 128}),
-c.Mul128(scratch+3, c.UpperHalf(RegMod), c.LowerHalf(y)),
-c.Add(t1, t1, c.LeftShifted{scratch+3, 128}),
-c.Addc(t2, t2, c.RightShifted{scratch+3, 128}),
-c.Add(lo, lo, t1),
-c.Addc(hi, hi, t2),
-c.Selc(y, RegMod, RegZero),
-c.Sub(lo, hi, y),
-c.Addm(lo, lo, RegZero),
-Return lo
- : forall ops : fancy_machine.instructions (2 * 128),
- expr base_type op Register (Tbase TZ * Tbase TZ * Tbase TW * Tbase TW -> Tbase TW)
-*)
diff --git a/src/Specific/X2448/Karatsuba/C64/CurveParameters.v b/src/Specific/X2448/Karatsuba/C64/CurveParameters.v
deleted file mode 100644
index b22d3a967..000000000
--- a/src/Specific/X2448/Karatsuba/C64/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: 56
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 56;
- bitwidth := 64;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := Some [[3; 7]; [0; 4; 1; 5; 2; 6; 3; 7]; [4; 0]]%nat;
-
- a24 := None;
- coef_div_modulus := Some 2%nat;
-
- goldilocks := Some true;
- karatsuba := None;
- montgomery := false;
- freeze := Some false;
- 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/X2448/Karatsuba/C64/Synthesis.v b/src/Specific/X2448/Karatsuba/C64/Synthesis.v
deleted file mode 100644
index 4016ee71c..000000000
--- a/src/Specific/X2448/Karatsuba/C64/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.X2448.Karatsuba.C64.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/X2448/Karatsuba/C64/femul.v b/src/Specific/X2448/Karatsuba/C64/femul.v
deleted file mode 100644
index 756c23e30..000000000
--- a/src/Specific/X2448/Karatsuba/C64/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X2448.Karatsuba.C64.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/X2448/Karatsuba/C64/femulDisplay.log b/src/Specific/X2448/Karatsuba/C64/femulDisplay.log
deleted file mode 100644
index d085a6e3e..000000000
--- a/src/Specific/X2448/Karatsuba/C64/femulDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- uint64_t x46 = (uint64_t) (x42 >> 0x38);
- uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff);
- uint64_t x48 = (uint64_t) (x35 >> 0x38);
- uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff);
- uint128_t x50 = (((uint128_t)0x100000000000000 * x48) + x49);
- uint64_t x51 = (uint64_t) (x50 >> 0x38);
- uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff);
- uint128_t x53 = (x45 + x51);
- uint64_t x54 = (uint64_t) (x53 >> 0x38);
- uint64_t x55 = ((uint64_t)x53 & 0xffffffffffffff);
- uint128_t x56 = ((x46 + x41) + x51);
- uint64_t x57 = (uint64_t) (x56 >> 0x38);
- uint64_t x58 = ((uint64_t)x56 & 0xffffffffffffff);
- uint128_t x59 = (x54 + x44);
- uint64_t x60 = (uint64_t) (x59 >> 0x38);
- uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff);
- uint128_t x62 = (x57 + x40);
- uint64_t x63 = (uint64_t) (x62 >> 0x38);
- uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff);
- uint128_t x65 = (x60 + x43);
- uint64_t x66 = (uint64_t) (x65 >> 0x38);
- uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff);
- uint128_t x68 = (x63 + x39);
- uint64_t x69 = (uint64_t) (x68 >> 0x38);
- uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff);
- uint64_t x71 = (x66 + x47);
- uint64_t x72 = (x71 >> 0x38);
- uint64_t x73 = (x71 & 0xffffffffffffff);
- uint64_t x74 = (x69 + x52);
- uint64_t x75 = (x74 >> 0x38);
- uint64_t x76 = (x74 & 0xffffffffffffff);
- uint64_t x77 = ((0x100000000000000 * x75) + x76);
- uint64_t x78 = (x77 >> 0x38);
- uint64_t x79 = (x77 & 0xffffffffffffff);
- uint64_t x80 = ((x72 + x58) + x78);
- uint64_t x81 = (x80 >> 0x38);
- uint64_t x82 = (x80 & 0xffffffffffffff);
- uint64_t x83 = (x55 + x78);
- uint64_t x84 = (x83 >> 0x38);
- uint64_t x85 = (x83 & 0xffffffffffffff);
- return (Return x79, Return x70, (x81 + x64), Return x82, Return x73, Return x67, (x84 + x61), Return x85))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X2448/Karatsuba/C64/femulDisplay.v b/src/Specific/X2448/Karatsuba/C64/femulDisplay.v
deleted file mode 100644
index 15877076f..000000000
--- a/src/Specific/X2448/Karatsuba/C64/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X2448.Karatsuba.C64.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/X2448/Karatsuba/C64/py_interpreter.sh b/src/Specific/X2448/Karatsuba/C64/py_interpreter.sh
deleted file mode 100755
index 49c40c9c2..000000000
--- a/src/Specific/X2448/Karatsuba/C64/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='56' -Da24='121665'
diff --git a/src/Specific/X25519/C32/CurveParameters.v b/src/Specific/X25519/C32/CurveParameters.v
deleted file mode 100644
index 8b13a268c..000000000
--- a/src/Specific/X25519/C32/CurveParameters.v
+++ /dev/null
@@ -1,257 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255-19
-Base: 25.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 25 + 1/2;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%nat;
-
- a24 := Some 121665;
- coef_div_modulus := Some 2%nat;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := false;
- freeze := Some true;
- ladderstep := false;
-
- mul_code := Some (fun a b =>
- (* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(in9, in8, in7, in6, in5, in4, in3, in2, in1, in0) := a in
- let '(in29, in28, in27, in26, in25, in24, in23, in22, in21, in20) := b in
- dlet output0 := in20 * in0 in
- dlet output1 := in20 * in1 +
- in21 * in0 in
- dlet output2 := 2 * in21 * in1 +
- in20 * in2 +
- in22 * in0 in
- dlet output3 := in21 * in2 +
- in22 * in1 +
- in20 * in3 +
- in23 * in0 in
- dlet output4 := in22 * in2 +
- 2 * (in21 * in3 +
- in23 * in1) +
- in20 * in4 +
- in24 * in0 in
- dlet output5 := in22 * in3 +
- in23 * in2 +
- in21 * in4 +
- in24 * in1 +
- in20 * in5 +
- in25 * in0 in
- dlet output6 := 2 * (in23 * in3 +
- in21 * in5 +
- in25 * in1) +
- in22 * in4 +
- in24 * in2 +
- in20 * in6 +
- in26 * in0 in
- dlet output7 := in23 * in4 +
- in24 * in3 +
- in22 * in5 +
- in25 * in2 +
- in21 * in6 +
- in26 * in1 +
- in20 * in7 +
- in27 * in0 in
- dlet output8 := in24 * in4 +
- 2 * (in23 * in5 +
- in25 * in3 +
- in21 * in7 +
- in27 * in1) +
- in22 * in6 +
- in26 * in2 +
- in20 * in8 +
- in28 * in0 in
- dlet output9 := in24 * in5 +
- in25 * in4 +
- in23 * in6 +
- in26 * in3 +
- in22 * in7 +
- in27 * in2 +
- in21 * in8 +
- in28 * in1 +
- in20 * in9 +
- in29 * in0 in
- dlet output10 := 2 * (in25 * in5 +
- in23 * in7 +
- in27 * in3 +
- in21 * in9 +
- in29 * in1) +
- in24 * in6 +
- in26 * in4 +
- in22 * in8 +
- in28 * in2 in
- dlet output11 := in25 * in6 +
- in26 * in5 +
- in24 * in7 +
- in27 * in4 +
- in23 * in8 +
- in28 * in3 +
- in22 * in9 +
- in29 * in2 in
- dlet output12 := in26 * in6 +
- 2 * (in25 * in7 +
- in27 * in5 +
- in23 * in9 +
- in29 * in3) +
- in24 * in8 +
- in28 * in4 in
- dlet output13 := in26 * in7 +
- in27 * in6 +
- in25 * in8 +
- in28 * in5 +
- in24 * in9 +
- in29 * in4 in
- dlet output14 := 2 * (in27 * in7 +
- in25 * in9 +
- in29 * in5) +
- in26 * in8 +
- in28 * in6 in
- dlet output15 := in27 * in8 +
- in28 * in7 +
- in26 * in9 +
- in29 * in6 in
- dlet output16 := in28 * in8 +
- 2 * (in27 * in9 +
- in29 * in7) in
- dlet output17 := in28 * in9 +
- in29 * in8 in
- dlet output18 := 2 * in29 * in9 in
- dlet output8 := output8 + output18 << 4 in
- dlet output8 := output8 + output18 << 1 in
- dlet output8 := output8 + output18 in
- dlet output7 := output7 + output17 << 4 in
- dlet output7 := output7 + output17 << 1 in
- dlet output7 := output7 + output17 in
- dlet output6 := output6 + output16 << 4 in
- dlet output6 := output6 + output16 << 1 in
- dlet output6 := output6 + output16 in
- dlet output5 := output5 + output15 << 4 in
- dlet output5 := output5 + output15 << 1 in
- dlet output5 := output5 + output15 in
- dlet output4 := output4 + output14 << 4 in
- dlet output4 := output4 + output14 << 1 in
- dlet output4 := output4 + output14 in
- dlet output3 := output3 + output13 << 4 in
- dlet output3 := output3 + output13 << 1 in
- dlet output3 := output3 + output13 in
- dlet output2 := output2 + output12 << 4 in
- dlet output2 := output2 + output12 << 1 in
- dlet output2 := output2 + output12 in
- dlet output1 := output1 + output11 << 4 in
- dlet output1 := output1 + output11 << 1 in
- dlet output1 := output1 + output11 in
- dlet output0 := output0 + output10 << 4 in
- dlet output0 := output0 + output10 << 1 in
- dlet output0 := output0 + output10 in
- (output9, output8, output7, output6, output5, output4, output3, output2, output1, output0)
- );
-
- square_code := Some (fun a =>
- (* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(in9, in8, in7, in6, in5, in4, in3, in2, in1, in0) := a in
- dlet output0 := in0 * in0 in
- dlet output1 := 2 * in0 * in1 in
- dlet output2 := 2 * (in1 * in1 +
- in0 * in2) in
- dlet output3 := 2 * (in1 * in2 +
- in0 * in3) in
- dlet output4 := in2 * in2 +
- 4 * in1 * in3 +
- 2 * in0 * in4 in
- dlet output5 := 2 * (in2 * in3 +
- in1 * in4 +
- in0 * in5) in
- dlet output6 := 2 * (in3 * in3 +
- in2 * in4 +
- in0 * in6 +
- 2 * in1 * in5) in
- dlet output7 := 2 * (in3 * in4 +
- in2 * in5 +
- in1 * in6 +
- in0 * in7) in
- dlet output8 := in4 * in4 +
- 2 * (in2 * in6 +
- in0 * in8 +
- 2 * (in1 * in7 +
- in3 * in5)) in
- dlet output9 := 2 * (in4 * in5 +
- in3 * in6 +
- in2 * in7 +
- in1 * in8 +
- in0 * in9) in
- dlet output10 := 2 * (in5 * in5 +
- in4 * in6 +
- in2 * in8 +
- 2 * (in3 * in7 +
- in1 * in9)) in
- dlet output11 := 2 * (in5 * in6 +
- in4 * in7 +
- in3 * in8 +
- in2 * in9) in
- dlet output12 := in6 * in6 +
- 2 * (in4 * in8 +
- 2 * (in5 * in7 +
- in3 * in9)) in
- dlet output13 := 2 * (in6 * in7 +
- in5 * in8 +
- in4 * in9) in
- dlet output14 := 2 * (in7 * in7 +
- in6 * in8 +
- 2 * in5 * in9) in
- dlet output15 := 2 * (in7 * in8 +
- in6 * in9) in
- dlet output16 := in8 * in8 +
- 4 * in7 * in9 in
- dlet output17 := 2 * in8 * in9 in
- dlet output18 := 2 * in9 * in9 in
- dlet output8 := output8 + output18 << 4 in
- dlet output8 := output8 + output18 << 1 in
- dlet output8 := output8 + output18 in
- dlet output7 := output7 + output17 << 4 in
- dlet output7 := output7 + output17 << 1 in
- dlet output7 := output7 + output17 in
- dlet output6 := output6 + output16 << 4 in
- dlet output6 := output6 + output16 << 1 in
- dlet output6 := output6 + output16 in
- dlet output5 := output5 + output15 << 4 in
- dlet output5 := output5 + output15 << 1 in
- dlet output5 := output5 + output15 in
- dlet output4 := output4 + output14 << 4 in
- dlet output4 := output4 + output14 << 1 in
- dlet output4 := output4 + output14 in
- dlet output3 := output3 + output13 << 4 in
- dlet output3 := output3 + output13 << 1 in
- dlet output3 := output3 + output13 in
- dlet output2 := output2 + output12 << 4 in
- dlet output2 := output2 + output12 << 1 in
- dlet output2 := output2 + output12 in
- dlet output1 := output1 + output11 << 4 in
- dlet output1 := output1 + output11 << 1 in
- dlet output1 := output1 + output11 in
- dlet output0 := output0 + output10 << 4 in
- dlet output0 := output0 + output10 << 1 in
- dlet output0 := output0 + output10 in
- (output9, output8, output7, output6, output5, output4, output3, output2, output1, output0)
- );
-
- 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/X25519/C32/Synthesis.v b/src/Specific/X25519/C32/Synthesis.v
deleted file mode 100644
index 0fc22f0a7..000000000
--- a/src/Specific/X25519/C32/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/compiler.sh b/src/Specific/X25519/C32/compiler.sh
deleted file mode 100755
index dd754f377..000000000
--- a/src/Specific/X25519/C32/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes "$@"
diff --git a/src/Specific/X25519/C32/feadd.v b/src/Specific/X25519/C32/feadd.v
deleted file mode 100644
index f74cf9cef..000000000
--- a/src/Specific/X25519/C32/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/feaddDisplay.log b/src/Specific/X25519/C32/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/X25519/C32/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/X25519/C32/feaddDisplay.v b/src/Specific/X25519/C32/feaddDisplay.v
deleted file mode 100644
index 2df58b8f5..000000000
--- a/src/Specific/X25519/C32/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C32.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/X25519/C32/fecarry.v b/src/Specific/X25519/C32/fecarry.v
deleted file mode 100644
index e2f207757..000000000
--- a/src/Specific/X25519/C32/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/fecarryDisplay.log b/src/Specific/X25519/C32/fecarryDisplay.log
deleted file mode 100644
index 186e797bb..000000000
--- a/src/Specific/X25519/C32/fecarryDisplay.log
+++ /dev/null
@@ -1,42 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x19 = (x2 >> 0x1a);
- uint32_t x20 = (x2 & 0x3ffffff);
- uint32_t x21 = (x19 + x4);
- uint32_t x22 = (x21 >> 0x19);
- uint32_t x23 = (x21 & 0x1ffffff);
- uint32_t x24 = (x22 + x6);
- uint32_t x25 = (x24 >> 0x1a);
- uint32_t x26 = (x24 & 0x3ffffff);
- uint32_t x27 = (x25 + x8);
- uint32_t x28 = (x27 >> 0x19);
- uint32_t x29 = (x27 & 0x1ffffff);
- uint32_t x30 = (x28 + x10);
- uint32_t x31 = (x30 >> 0x1a);
- uint32_t x32 = (x30 & 0x3ffffff);
- uint32_t x33 = (x31 + x12);
- uint32_t x34 = (x33 >> 0x19);
- uint32_t x35 = (x33 & 0x1ffffff);
- uint32_t x36 = (x34 + x14);
- uint32_t x37 = (x36 >> 0x1a);
- uint32_t x38 = (x36 & 0x3ffffff);
- uint32_t x39 = (x37 + x16);
- uint32_t x40 = (x39 >> 0x19);
- uint32_t x41 = (x39 & 0x1ffffff);
- uint32_t x42 = (x40 + x18);
- uint32_t x43 = (x42 >> 0x1a);
- uint32_t x44 = (x42 & 0x3ffffff);
- uint32_t x45 = (x43 + x17);
- uint32_t x46 = (x45 >> 0x19);
- uint32_t x47 = (x45 & 0x1ffffff);
- uint32_t x48 = (x20 + (0x13 * x46));
- uint32_t x49 = (x48 >> 0x1a);
- uint32_t x50 = (x48 & 0x3ffffff);
- uint32_t x51 = (x49 + x23);
- uint32_t x52 = (x51 >> 0x19);
- uint32_t x53 = (x51 & 0x1ffffff);
- return (Return x47, Return x44, Return x41, Return x38, Return x35, Return x32, Return x29, (x52 + x26), Return x53, Return x50))
-x
- : 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)
diff --git a/src/Specific/X25519/C32/fecarryDisplay.v b/src/Specific/X25519/C32/fecarryDisplay.v
deleted file mode 100644
index 0b40b86e4..000000000
--- a/src/Specific/X25519/C32/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C32.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/X25519/C32/femul.v b/src/Specific/X25519/C32/femul.v
deleted file mode 100644
index 3f902f965..000000000
--- a/src/Specific/X25519/C32/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/femulDisplay.log b/src/Specific/X25519/C32/femulDisplay.log
deleted file mode 100644
index 1650f4c9d..000000000
--- a/src/Specific/X25519/C32/femulDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = ((uint64_t)x23 * x5);
- uint64_t x41 = (((uint64_t)x23 * x7) + ((uint64_t)x25 * x5));
- uint64_t x42 = ((((uint64_t)(0x2 * x25) * x7) + ((uint64_t)x23 * x9)) + ((uint64_t)x27 * x5));
- uint64_t x43 = (((((uint64_t)x25 * x9) + ((uint64_t)x27 * x7)) + ((uint64_t)x23 * x11)) + ((uint64_t)x29 * x5));
- uint64_t x44 = (((((uint64_t)x27 * x9) + (0x2 * (((uint64_t)x25 * x11) + ((uint64_t)x29 * x7)))) + ((uint64_t)x23 * x13)) + ((uint64_t)x31 * x5));
- uint64_t x45 = (((((((uint64_t)x27 * x11) + ((uint64_t)x29 * x9)) + ((uint64_t)x25 * x13)) + ((uint64_t)x31 * x7)) + ((uint64_t)x23 * x15)) + ((uint64_t)x33 * x5));
- uint64_t x46 = (((((0x2 * ((((uint64_t)x29 * x11) + ((uint64_t)x25 * x15)) + ((uint64_t)x33 * x7))) + ((uint64_t)x27 * x13)) + ((uint64_t)x31 * x9)) + ((uint64_t)x23 * x17)) + ((uint64_t)x35 * x5));
- uint64_t x47 = (((((((((uint64_t)x29 * x13) + ((uint64_t)x31 * x11)) + ((uint64_t)x27 * x15)) + ((uint64_t)x33 * x9)) + ((uint64_t)x25 * x17)) + ((uint64_t)x35 * x7)) + ((uint64_t)x23 * x19)) + ((uint64_t)x37 * x5));
- uint64_t x48 = (((((((uint64_t)x31 * x13) + (0x2 * (((((uint64_t)x29 * x15) + ((uint64_t)x33 * x11)) + ((uint64_t)x25 * x19)) + ((uint64_t)x37 * x7)))) + ((uint64_t)x27 * x17)) + ((uint64_t)x35 * x9)) + ((uint64_t)x23 * x21)) + ((uint64_t)x39 * x5));
- uint64_t x49 = (((((((((((uint64_t)x31 * x15) + ((uint64_t)x33 * x13)) + ((uint64_t)x29 * x17)) + ((uint64_t)x35 * x11)) + ((uint64_t)x27 * x19)) + ((uint64_t)x37 * x9)) + ((uint64_t)x25 * x21)) + ((uint64_t)x39 * x7)) + ((uint64_t)x23 * x20)) + ((uint64_t)x38 * x5));
- uint64_t x50 = (((((0x2 * ((((((uint64_t)x33 * x15) + ((uint64_t)x29 * x19)) + ((uint64_t)x37 * x11)) + ((uint64_t)x25 * x20)) + ((uint64_t)x38 * x7))) + ((uint64_t)x31 * x17)) + ((uint64_t)x35 * x13)) + ((uint64_t)x27 * x21)) + ((uint64_t)x39 * x9));
- uint64_t x51 = (((((((((uint64_t)x33 * x17) + ((uint64_t)x35 * x15)) + ((uint64_t)x31 * x19)) + ((uint64_t)x37 * x13)) + ((uint64_t)x29 * x21)) + ((uint64_t)x39 * x11)) + ((uint64_t)x27 * x20)) + ((uint64_t)x38 * x9));
- uint64_t x52 = (((((uint64_t)x35 * x17) + (0x2 * (((((uint64_t)x33 * x19) + ((uint64_t)x37 * x15)) + ((uint64_t)x29 * x20)) + ((uint64_t)x38 * x11)))) + ((uint64_t)x31 * x21)) + ((uint64_t)x39 * x13));
- uint64_t x53 = (((((((uint64_t)x35 * x19) + ((uint64_t)x37 * x17)) + ((uint64_t)x33 * x21)) + ((uint64_t)x39 * x15)) + ((uint64_t)x31 * x20)) + ((uint64_t)x38 * x13));
- uint64_t x54 = (((0x2 * ((((uint64_t)x37 * x19) + ((uint64_t)x33 * x20)) + ((uint64_t)x38 * x15))) + ((uint64_t)x35 * x21)) + ((uint64_t)x39 * x17));
- uint64_t x55 = (((((uint64_t)x37 * x21) + ((uint64_t)x39 * x19)) + ((uint64_t)x35 * x20)) + ((uint64_t)x38 * x17));
- uint64_t x56 = (((uint64_t)x39 * x21) + (0x2 * (((uint64_t)x37 * x20) + ((uint64_t)x38 * x19))));
- uint64_t x57 = (((uint64_t)x39 * x20) + ((uint64_t)x38 * x21));
- uint64_t x58 = ((uint64_t)(0x2 * x38) * x20);
- uint64_t x59 = (x48 + (x58 << 0x4));
- uint64_t x60 = (x59 + (x58 << 0x1));
- uint64_t x61 = (x60 + x58);
- uint64_t x62 = (x47 + (x57 << 0x4));
- uint64_t x63 = (x62 + (x57 << 0x1));
- uint64_t x64 = (x63 + x57);
- uint64_t x65 = (x46 + (x56 << 0x4));
- uint64_t x66 = (x65 + (x56 << 0x1));
- uint64_t x67 = (x66 + x56);
- uint64_t x68 = (x45 + (x55 << 0x4));
- uint64_t x69 = (x68 + (x55 << 0x1));
- uint64_t x70 = (x69 + x55);
- uint64_t x71 = (x44 + (x54 << 0x4));
- uint64_t x72 = (x71 + (x54 << 0x1));
- uint64_t x73 = (x72 + x54);
- uint64_t x74 = (x43 + (x53 << 0x4));
- uint64_t x75 = (x74 + (x53 << 0x1));
- uint64_t x76 = (x75 + x53);
- uint64_t x77 = (x42 + (x52 << 0x4));
- uint64_t x78 = (x77 + (x52 << 0x1));
- uint64_t x79 = (x78 + x52);
- uint64_t x80 = (x41 + (x51 << 0x4));
- uint64_t x81 = (x80 + (x51 << 0x1));
- uint64_t x82 = (x81 + x51);
- uint64_t x83 = (x40 + (x50 << 0x4));
- uint64_t x84 = (x83 + (x50 << 0x1));
- uint64_t x85 = (x84 + x50);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x82);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x79);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x76);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x70);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x67);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x64);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x61);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x110 + x49);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x87 + (0x13 * x113));
- uint32_t x116 = (uint32_t) (x115 >> 0x1a);
- uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- uint32_t x118 = (x116 + x90);
- uint32_t x119 = (x118 >> 0x19);
- uint32_t x120 = (x118 & 0x1ffffff);
- return (Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, (x119 + x93), Return x120, Return x117))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/X25519/C32/femulDisplay.v b/src/Specific/X25519/C32/femulDisplay.v
deleted file mode 100644
index d37a0e668..000000000
--- a/src/Specific/X25519/C32/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C32.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/X25519/C32/fesquare.v b/src/Specific/X25519/C32/fesquare.v
deleted file mode 100644
index 169e20cbd..000000000
--- a/src/Specific/X25519/C32/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/fesquareDisplay.log b/src/Specific/X25519/C32/fesquareDisplay.log
deleted file mode 100644
index 06c5bc75f..000000000
--- a/src/Specific/X25519/C32/fesquareDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = ((uint64_t)x2 * x2);
- uint64_t x20 = ((uint64_t)(0x2 * x2) * x4);
- uint64_t x21 = (0x2 * (((uint64_t)x4 * x4) + ((uint64_t)x2 * x6)));
- uint64_t x22 = (0x2 * (((uint64_t)x4 * x6) + ((uint64_t)x2 * x8)));
- uint64_t x23 = ((((uint64_t)x6 * x6) + ((uint64_t)(0x4 * x4) * x8)) + ((uint64_t)(0x2 * x2) * x10));
- uint64_t x24 = (0x2 * ((((uint64_t)x6 * x8) + ((uint64_t)x4 * x10)) + ((uint64_t)x2 * x12)));
- uint64_t x25 = (0x2 * (((((uint64_t)x8 * x8) + ((uint64_t)x6 * x10)) + ((uint64_t)x2 * x14)) + ((uint64_t)(0x2 * x4) * x12)));
- uint64_t x26 = (0x2 * (((((uint64_t)x8 * x10) + ((uint64_t)x6 * x12)) + ((uint64_t)x4 * x14)) + ((uint64_t)x2 * x16)));
- uint64_t x27 = (((uint64_t)x10 * x10) + (0x2 * ((((uint64_t)x6 * x14) + ((uint64_t)x2 * x18)) + (0x2 * (((uint64_t)x4 * x16) + ((uint64_t)x8 * x12))))));
- uint64_t x28 = (0x2 * ((((((uint64_t)x10 * x12) + ((uint64_t)x8 * x14)) + ((uint64_t)x6 * x16)) + ((uint64_t)x4 * x18)) + ((uint64_t)x2 * x17)));
- uint64_t x29 = (0x2 * (((((uint64_t)x12 * x12) + ((uint64_t)x10 * x14)) + ((uint64_t)x6 * x18)) + (0x2 * (((uint64_t)x8 * x16) + ((uint64_t)x4 * x17)))));
- uint64_t x30 = (0x2 * (((((uint64_t)x12 * x14) + ((uint64_t)x10 * x16)) + ((uint64_t)x8 * x18)) + ((uint64_t)x6 * x17)));
- uint64_t x31 = (((uint64_t)x14 * x14) + (0x2 * (((uint64_t)x10 * x18) + (0x2 * (((uint64_t)x12 * x16) + ((uint64_t)x8 * x17))))));
- uint64_t x32 = (0x2 * ((((uint64_t)x14 * x16) + ((uint64_t)x12 * x18)) + ((uint64_t)x10 * x17)));
- uint64_t x33 = (0x2 * ((((uint64_t)x16 * x16) + ((uint64_t)x14 * x18)) + ((uint64_t)(0x2 * x12) * x17)));
- uint64_t x34 = (0x2 * (((uint64_t)x16 * x18) + ((uint64_t)x14 * x17)));
- uint64_t x35 = (((uint64_t)x18 * x18) + ((uint64_t)(0x4 * x16) * x17));
- uint64_t x36 = ((uint64_t)(0x2 * x18) * x17);
- uint64_t x37 = ((uint64_t)(0x2 * x17) * x17);
- uint64_t x38 = (x27 + (x37 << 0x4));
- uint64_t x39 = (x38 + (x37 << 0x1));
- uint64_t x40 = (x39 + x37);
- uint64_t x41 = (x26 + (x36 << 0x4));
- uint64_t x42 = (x41 + (x36 << 0x1));
- uint64_t x43 = (x42 + x36);
- uint64_t x44 = (x25 + (x35 << 0x4));
- uint64_t x45 = (x44 + (x35 << 0x1));
- uint64_t x46 = (x45 + x35);
- uint64_t x47 = (x24 + (x34 << 0x4));
- uint64_t x48 = (x47 + (x34 << 0x1));
- uint64_t x49 = (x48 + x34);
- uint64_t x50 = (x23 + (x33 << 0x4));
- uint64_t x51 = (x50 + (x33 << 0x1));
- uint64_t x52 = (x51 + x33);
- uint64_t x53 = (x22 + (x32 << 0x4));
- uint64_t x54 = (x53 + (x32 << 0x1));
- uint64_t x55 = (x54 + x32);
- uint64_t x56 = (x21 + (x31 << 0x4));
- uint64_t x57 = (x56 + (x31 << 0x1));
- uint64_t x58 = (x57 + x31);
- uint64_t x59 = (x20 + (x30 << 0x4));
- uint64_t x60 = (x59 + (x30 << 0x1));
- uint64_t x61 = (x60 + x30);
- uint64_t x62 = (x19 + (x29 << 0x4));
- uint64_t x63 = (x62 + (x29 << 0x1));
- uint64_t x64 = (x63 + x29);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x61);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x58);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x55);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x52);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x49);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x46);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x43);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x28);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x66 + (0x13 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint32_t x97 = (x95 + x69);
- uint32_t x98 = (x97 >> 0x19);
- uint32_t x99 = (x97 & 0x1ffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x98 + x72), Return x99, Return x96))
-x
- : 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)
diff --git a/src/Specific/X25519/C32/fesquareDisplay.v b/src/Specific/X25519/C32/fesquareDisplay.v
deleted file mode 100644
index 5075db1fd..000000000
--- a/src/Specific/X25519/C32/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C32.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/X25519/C32/fesub.v b/src/Specific/X25519/C32/fesub.v
deleted file mode 100644
index 30e06cd5d..000000000
--- a/src/Specific/X25519/C32/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/fesubDisplay.log b/src/Specific/X25519/C32/fesubDisplay.log
deleted file mode 100644
index bb18a6a51..000000000
--- a/src/Specific/X25519/C32/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3fffffe + x20) - x38), ((0x7fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x7fffffe + x17) - x35), ((0x3fffffe + x15) - x33), ((0x7fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x7fffffe + x9) - x27), ((0x3fffffe + x7) - x25), ((0x7ffffda + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/X25519/C32/fesubDisplay.v b/src/Specific/X25519/C32/fesubDisplay.v
deleted file mode 100644
index 9a35e2289..000000000
--- a/src/Specific/X25519/C32/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C32.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/X25519/C32/freeze.v b/src/Specific/X25519/C32/freeze.v
deleted file mode 100644
index 31098197f..000000000
--- a/src/Specific/X25519/C32/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C32.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/X25519/C32/freezeDisplay.log b/src/Specific/X25519/C32/freezeDisplay.log
deleted file mode 100644
index 71d7c1cbb..000000000
--- a/src/Specific/X25519/C32/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t/*bool*/ x21 = subborrow_u26(0x0, x2, 0x3ffffed);
- uint32_t x23, uint8_t/*bool*/ x24 = subborrow_u25(x21, x4, 0x1ffffff);
- uint32_t x26, uint8_t/*bool*/ x27 = subborrow_u26(x24, x6, 0x3ffffff);
- uint32_t x29, uint8_t/*bool*/ x30 = subborrow_u25(x27, x8, 0x1ffffff);
- uint32_t x32, uint8_t/*bool*/ x33 = subborrow_u26(x30, x10, 0x3ffffff);
- uint32_t x35, uint8_t/*bool*/ x36 = subborrow_u25(x33, x12, 0x1ffffff);
- uint32_t x38, uint8_t/*bool*/ x39 = subborrow_u26(x36, x14, 0x3ffffff);
- uint32_t x41, uint8_t/*bool*/ x42 = subborrow_u25(x39, x16, 0x1ffffff);
- uint32_t x44, uint8_t/*bool*/ x45 = subborrow_u26(x42, x18, 0x3ffffff);
- uint32_t x47, uint8_t/*bool*/ x48 = subborrow_u25(x45, x17, 0x1ffffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x3ffffed);
- uint32_t x52, uint8_t/*bool*/ x53 = addcarryx_u26(0x0, x20, x50);
- uint32_t x54 = (x49 & 0x1ffffff);
- uint32_t x56, uint8_t/*bool*/ x57 = addcarryx_u25(x53, x23, x54);
- uint32_t x58 = (x49 & 0x3ffffff);
- uint32_t x60, uint8_t/*bool*/ x61 = addcarryx_u26(x57, x26, x58);
- uint32_t x62 = (x49 & 0x1ffffff);
- uint32_t x64, uint8_t/*bool*/ x65 = addcarryx_u25(x61, x29, x62);
- uint32_t x66 = (x49 & 0x3ffffff);
- uint32_t x68, uint8_t/*bool*/ x69 = addcarryx_u26(x65, x32, x66);
- uint32_t x70 = (x49 & 0x1ffffff);
- uint32_t x72, uint8_t/*bool*/ x73 = addcarryx_u25(x69, x35, x70);
- uint32_t x74 = (x49 & 0x3ffffff);
- uint32_t x76, uint8_t/*bool*/ x77 = addcarryx_u26(x73, x38, x74);
- uint32_t x78 = (x49 & 0x1ffffff);
- uint32_t x80, uint8_t/*bool*/ x81 = addcarryx_u25(x77, x41, x78);
- uint32_t x82 = (x49 & 0x3ffffff);
- uint32_t x84, uint8_t/*bool*/ x85 = addcarryx_u26(x81, x44, x82);
- uint32_t x86 = (x49 & 0x1ffffff);
- uint32_t x88, uint8_t/*bool*/ _ = addcarryx_u25(x85, x47, x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/X25519/C32/freezeDisplay.v b/src/Specific/X25519/C32/freezeDisplay.v
deleted file mode 100644
index dc0defdc8..000000000
--- a/src/Specific/X25519/C32/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C32.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/X25519/C32/py_interpreter.sh b/src/Specific/X25519/C32/py_interpreter.sh
deleted file mode 100755
index db141f151..000000000
--- a/src/Specific/X25519/C32/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255-19' -Dmodulus_bytes='25.5' -Da24='121665'
diff --git a/src/Specific/X25519/C64/CurveParameters.v b/src/Specific/X25519/C64/CurveParameters.v
deleted file mode 100644
index 2be1510b9..000000000
--- a/src/Specific/X25519/C64/CurveParameters.v
+++ /dev/null
@@ -1,74 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255-19
-Base: 51
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 51;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%nat;
-
- a24 := Some 121665;
- coef_div_modulus := Some 2%nat;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := false;
- freeze := Some true;
- ladderstep := true;
-
- mul_code := Some (fun a b =>
- (* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(r4, r3, r2, r1, r0) := a in
- let '(s4, s3, s2, s1, s0) := b in
- dlet t0 := r0 * s0 in
- dlet t1 := r0 * s1 + r1 * s0 in
- dlet t2 := r0 * s2 + r2 * s0 + r1 * s1 in
- dlet t3 := r0 * s3 + r3 * s0 + r1 * s2 + r2 * s1 in
- dlet t4 := r0 * s4 + r4 * s0 + r3 * s1 + r1 * s3 + r2 * s2 in
-
- dlet r4 := r4 * 19 in
- dlet r1 := r1 * 19 in
- dlet r2 := r2 * 19 in
- dlet r3 := r3 * 19 in
-
- dlet t0 := t0 + r4 * s1 + r1 * s4 + r2 * s3 + r3 * s2 in
- dlet t1 := t1 + r4 * s2 + r2 * s4 + r3 * s3 in
- dlet t2 := t2 + r4 * s3 + r3 * s4 in
- dlet t3 := t3 + r4 * s4 in
- (t4, t3, t2, t1, t0)
- );
-
- square_code := Some (fun a =>
- (* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(r4, r3, r2, r1, r0) := a in
- dlet d0 := r0 * 2 in
- dlet d1 := r1 * 2 in
- dlet d2 := r2 * 2 * 19 in
- dlet d419 := r4 * 19 in
- dlet d4 := d419 * 2 in
-
- dlet t0 := r0 * r0 + d4 * r1 + (d2 * (r3 )) in
- dlet t1 := d0 * r1 + d4 * r2 + (r3 * (r3 * 19)) in
- dlet t2 := d0 * r2 + r1 * r1 + (d4 * (r3 )) in
- dlet t3 := d0 * r3 + d1 * r2 + (r4 * (d419 )) in
- dlet t4 := d0 * r4 + d1 * r3 + (r2 * (r2 )) in
- (t4, t3, t2, t1, t0)
- );
-
- 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/X25519/C64/Synthesis.v b/src/Specific/X25519/C64/Synthesis.v
deleted file mode 100644
index b398e13d9..000000000
--- a/src/Specific/X25519/C64/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/compiler.sh b/src/Specific/X25519/C64/compiler.sh
deleted file mode 100755
index dd754f377..000000000
--- a/src/Specific/X25519/C64/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes "$@"
diff --git a/src/Specific/X25519/C64/feadd.v b/src/Specific/X25519/C64/feadd.v
deleted file mode 100644
index 43d887638..000000000
--- a/src/Specific/X25519/C64/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/feaddDisplay.log b/src/Specific/X25519/C64/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/X25519/C64/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X25519/C64/feaddDisplay.v b/src/Specific/X25519/C64/feaddDisplay.v
deleted file mode 100644
index e1a666c66..000000000
--- a/src/Specific/X25519/C64/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/X25519/C64/fecarry.v b/src/Specific/X25519/C64/fecarry.v
deleted file mode 100644
index 324aa5ffe..000000000
--- a/src/Specific/X25519/C64/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/fecarryDisplay.log b/src/Specific/X25519/C64/fecarryDisplay.log
deleted file mode 100644
index 648dc77cf..000000000
--- a/src/Specific/X25519/C64/fecarryDisplay.log
+++ /dev/null
@@ -1,27 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x2 >> 0x33);
- uint64_t x10 = (x2 & 0x7ffffffffffff);
- uint64_t x11 = (x9 + x4);
- uint64_t x12 = (x11 >> 0x33);
- uint64_t x13 = (x11 & 0x7ffffffffffff);
- uint64_t x14 = (x12 + x6);
- uint64_t x15 = (x14 >> 0x33);
- uint64_t x16 = (x14 & 0x7ffffffffffff);
- uint64_t x17 = (x15 + x8);
- uint64_t x18 = (x17 >> 0x33);
- uint64_t x19 = (x17 & 0x7ffffffffffff);
- uint64_t x20 = (x18 + x7);
- uint64_t x21 = (x20 >> 0x33);
- uint64_t x22 = (x20 & 0x7ffffffffffff);
- uint64_t x23 = (x10 + (0x13 * x21));
- uint64_t x24 = (x23 >> 0x33);
- uint64_t x25 = (x23 & 0x7ffffffffffff);
- uint64_t x26 = (x24 + x13);
- uint64_t x27 = (x26 >> 0x33);
- uint64_t x28 = (x26 & 0x7ffffffffffff);
- return (Return x22, Return x19, (x27 + x16), Return x28, Return x25))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X25519/C64/fecarryDisplay.v b/src/Specific/X25519/C64/fecarryDisplay.v
deleted file mode 100644
index 48d97919e..000000000
--- a/src/Specific/X25519/C64/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/X25519/C64/femul.v b/src/Specific/X25519/C64/femul.v
deleted file mode 100644
index eeaa4fad0..000000000
--- a/src/Specific/X25519/C64/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/femulDisplay.log b/src/Specific/X25519/C64/femulDisplay.log
deleted file mode 100644
index 6ecb01e51..000000000
--- a/src/Specific/X25519/C64/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = ((uint128_t)x5 * x13);
- uint128_t x21 = (((uint128_t)x5 * x15) + ((uint128_t)x7 * x13));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((uint128_t)x9 * x13)) + ((uint128_t)x7 * x15));
- uint128_t x23 = (((((uint128_t)x5 * x19) + ((uint128_t)x11 * x13)) + ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15));
- uint128_t x24 = ((((((uint128_t)x5 * x18) + ((uint128_t)x10 * x13)) + ((uint128_t)x11 * x15)) + ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17));
- uint64_t x25 = (x10 * 0x13);
- uint64_t x26 = (x7 * 0x13);
- uint64_t x27 = (x9 * 0x13);
- uint64_t x28 = (x11 * 0x13);
- uint128_t x29 = ((((x20 + ((uint128_t)x25 * x15)) + ((uint128_t)x26 * x18)) + ((uint128_t)x27 * x19)) + ((uint128_t)x28 * x17));
- uint128_t x30 = (((x21 + ((uint128_t)x25 * x17)) + ((uint128_t)x27 * x18)) + ((uint128_t)x28 * x19));
- uint128_t x31 = ((x22 + ((uint128_t)x25 * x19)) + ((uint128_t)x28 * x18));
- uint128_t x32 = (x23 + ((uint128_t)x25 * x18));
- uint64_t x33 = (uint64_t) (x29 >> 0x33);
- uint64_t x34 = ((uint64_t)x29 & 0x7ffffffffffff);
- uint128_t x35 = (x33 + x30);
- uint64_t x36 = (uint64_t) (x35 >> 0x33);
- uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffffff);
- uint128_t x38 = (x36 + x31);
- uint64_t x39 = (uint64_t) (x38 >> 0x33);
- uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffffff);
- uint128_t x41 = (x39 + x32);
- uint64_t x42 = (uint64_t) (x41 >> 0x33);
- uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x33);
- uint64_t x46 = ((uint64_t)x44 & 0x7ffffffffffff);
- uint64_t x47 = (x34 + (0x13 * x45));
- uint64_t x48 = (x47 >> 0x33);
- uint64_t x49 = (x47 & 0x7ffffffffffff);
- uint64_t x50 = (x48 + x37);
- uint64_t x51 = (x50 >> 0x33);
- uint64_t x52 = (x50 & 0x7ffffffffffff);
- return (Return x46, Return x43, (x51 + x40), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X25519/C64/femulDisplay.v b/src/Specific/X25519/C64/femulDisplay.v
deleted file mode 100644
index 0e77976ca..000000000
--- a/src/Specific/X25519/C64/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/X25519/C64/fesquare.v b/src/Specific/X25519/C64/fesquare.v
deleted file mode 100644
index 6939bca51..000000000
--- a/src/Specific/X25519/C64/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/fesquareDisplay.log b/src/Specific/X25519/C64/fesquareDisplay.log
deleted file mode 100644
index 8eb7c9e67..000000000
--- a/src/Specific/X25519/C64/fesquareDisplay.log
+++ /dev/null
@@ -1,37 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x2 * 0x2);
- uint64_t x10 = (x4 * 0x2);
- uint64_t x11 = ((x6 * 0x2) * 0x13);
- uint64_t x12 = (x7 * 0x13);
- uint64_t x13 = (x12 * 0x2);
- uint128_t x14 = ((((uint128_t)x2 * x2) + ((uint128_t)x13 * x4)) + ((uint128_t)x11 * x8));
- uint128_t x15 = ((((uint128_t)x9 * x4) + ((uint128_t)x13 * x6)) + ((uint128_t)x8 * (x8 * 0x13)));
- uint128_t x16 = ((((uint128_t)x9 * x6) + ((uint128_t)x4 * x4)) + ((uint128_t)x13 * x8));
- uint128_t x17 = ((((uint128_t)x9 * x8) + ((uint128_t)x10 * x6)) + ((uint128_t)x7 * x12));
- uint128_t x18 = ((((uint128_t)x9 * x7) + ((uint128_t)x10 * x8)) + ((uint128_t)x6 * x6));
- uint64_t x19 = (uint64_t) (x14 >> 0x33);
- uint64_t x20 = ((uint64_t)x14 & 0x7ffffffffffff);
- uint128_t x21 = (x19 + x15);
- uint64_t x22 = (uint64_t) (x21 >> 0x33);
- uint64_t x23 = ((uint64_t)x21 & 0x7ffffffffffff);
- uint128_t x24 = (x22 + x16);
- uint64_t x25 = (uint64_t) (x24 >> 0x33);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- uint128_t x27 = (x25 + x17);
- uint64_t x28 = (uint64_t) (x27 >> 0x33);
- uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- uint128_t x30 = (x28 + x18);
- uint64_t x31 = (uint64_t) (x30 >> 0x33);
- uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- uint64_t x33 = (x20 + (0x13 * x31));
- uint64_t x34 = (x33 >> 0x33);
- uint64_t x35 = (x33 & 0x7ffffffffffff);
- uint64_t x36 = (x34 + x23);
- uint64_t x37 = (x36 >> 0x33);
- uint64_t x38 = (x36 & 0x7ffffffffffff);
- return (Return x32, Return x29, (x37 + x26), Return x38, Return x35))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X25519/C64/fesquareDisplay.v b/src/Specific/X25519/C64/fesquareDisplay.v
deleted file mode 100644
index e722863e2..000000000
--- a/src/Specific/X25519/C64/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/X25519/C64/fesub.v b/src/Specific/X25519/C64/fesub.v
deleted file mode 100644
index b17e79366..000000000
--- a/src/Specific/X25519/C64/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/fesubDisplay.log b/src/Specific/X25519/C64/fesubDisplay.log
deleted file mode 100644
index e85a042f8..000000000
--- a/src/Specific/X25519/C64/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffffffffe + x10) - x18), ((0xffffffffffffe + x11) - x19), ((0xffffffffffffe + x9) - x17), ((0xffffffffffffe + x7) - x15), ((0xfffffffffffda + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X25519/C64/fesubDisplay.v b/src/Specific/X25519/C64/fesubDisplay.v
deleted file mode 100644
index 2bbf2f589..000000000
--- a/src/Specific/X25519/C64/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/X25519/C64/freeze.v b/src/Specific/X25519/C64/freeze.v
deleted file mode 100644
index 0e66bdb73..000000000
--- a/src/Specific/X25519/C64/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.X25519.C64.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/X25519/C64/freezeDisplay.log b/src/Specific/X25519/C64/freezeDisplay.log
deleted file mode 100644
index 7277e4adb..000000000
--- a/src/Specific/X25519/C64/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t/*bool*/ x11 = subborrow_u51(0x0, x2, 0x7ffffffffffed);
- uint64_t x13, uint8_t/*bool*/ x14 = subborrow_u51(x11, x4, 0x7ffffffffffff);
- uint64_t x16, uint8_t/*bool*/ x17 = subborrow_u51(x14, x6, 0x7ffffffffffff);
- uint64_t x19, uint8_t/*bool*/ x20 = subborrow_u51(x17, x8, 0x7ffffffffffff);
- uint64_t x22, uint8_t/*bool*/ x23 = subborrow_u51(x20, x7, 0x7ffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7ffffffffffed);
- uint64_t x27, uint8_t/*bool*/ x28 = addcarryx_u51(0x0, x10, x25);
- uint64_t x29 = (x24 & 0x7ffffffffffff);
- uint64_t x31, uint8_t/*bool*/ x32 = addcarryx_u51(x28, x13, x29);
- uint64_t x33 = (x24 & 0x7ffffffffffff);
- uint64_t x35, uint8_t/*bool*/ x36 = addcarryx_u51(x32, x16, x33);
- uint64_t x37 = (x24 & 0x7ffffffffffff);
- uint64_t x39, uint8_t/*bool*/ x40 = addcarryx_u51(x36, x19, x37);
- uint64_t x41 = (x24 & 0x7ffffffffffff);
- uint64_t x43, uint8_t/*bool*/ _ = addcarryx_u51(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/X25519/C64/freezeDisplay.v b/src/Specific/X25519/C64/freezeDisplay.v
deleted file mode 100644
index d3f1a5499..000000000
--- a/src/Specific/X25519/C64/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/X25519/C64/ladderstep.v b/src/Specific/X25519/C64/ladderstep.v
deleted file mode 100644
index 868f10a48..000000000
--- a/src/Specific/X25519/C64/ladderstep.v
+++ /dev/null
@@ -1,24 +0,0 @@
-Require Import Crypto.Arithmetic.Core.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.Framework.ArithmeticSynthesis.Ladderstep.
-Require Import Crypto.Specific.X25519.C64.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition xzladderstep :
- { xzladderstep : feW -> feW * feW -> feW * feW -> feW * feW * (feW * feW)
- | forall x1 Q Q',
- let xz := xzladderstep x1 Q Q' in
- let eval := B.Positional.Fdecode wt in
- feW_tight_bounded x1
- -> feW_tight_bounded (fst Q) /\ feW_tight_bounded (snd Q)
- -> feW_tight_bounded (fst Q') /\ feW_tight_bounded (snd Q')
- -> ((feW_tight_bounded (fst (fst xz)) /\ feW_tight_bounded (snd (fst xz)))
- /\ (feW_tight_bounded (fst (snd xz)) /\ feW_tight_bounded (snd (snd xz))))
- /\ Tuple.map (n:=2) (Tuple.map (n:=2) phiW) xz = FMxzladderstep (m:=m) (eval (proj1_sig a24_sig)) (phiW x1) (Tuple.map (n:=2) phiW Q) (Tuple.map (n:=2) phiW Q') }.
-Proof.
- Set Ltac Profiling.
- synthesize_xzladderstep ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions xzladderstep.
diff --git a/src/Specific/X25519/C64/ladderstepDisplay.log b/src/Specific/X25519/C64/ladderstepDisplay.log
deleted file mode 100644
index 6fb2a27d6..000000000
--- a/src/Specific/X25519/C64/ladderstepDisplay.log
+++ /dev/null
@@ -1,370 +0,0 @@
-λ x x0 x1 x2 x3 : Synthesis.P.feW,
-let (a, b) := Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, (x25, x26, x24, x22, x20, (x33, x34, x32, x30, x28)), (x43, x44, x42, x40, x38, (x51, x52, x50, x48, x46)))%core,
- uint64_t x53 = (x25 + x33);
- uint64_t x54 = (x26 + x34);
- uint64_t x55 = (x24 + x32);
- uint64_t x56 = (x22 + x30);
- uint64_t x57 = (x20 + x28);
- uint64_t x58 = ((0xffffffffffffe + x25) - x33);
- uint64_t x59 = ((0xffffffffffffe + x26) - x34);
- uint64_t x60 = ((0xffffffffffffe + x24) - x32);
- uint64_t x61 = ((0xffffffffffffe + x22) - x30);
- uint64_t x62 = ((0xfffffffffffda + x20) - x28);
- uint64_t x63 = (x43 + x51);
- uint64_t x64 = (x44 + x52);
- uint64_t x65 = (x42 + x50);
- uint64_t x66 = (x40 + x48);
- uint64_t x67 = (x38 + x46);
- uint64_t x68 = ((0xffffffffffffe + x43) - x51);
- uint64_t x69 = ((0xffffffffffffe + x44) - x52);
- uint64_t x70 = ((0xffffffffffffe + x42) - x50);
- uint64_t x71 = ((0xffffffffffffe + x40) - x48);
- uint64_t x72 = ((0xfffffffffffda + x38) - x46);
- uint128_t x73 = ((uint128_t)x67 * x62);
- uint128_t x74 = (((uint128_t)x67 * x61) + ((uint128_t)x66 * x62));
- uint128_t x75 = ((((uint128_t)x67 * x60) + ((uint128_t)x65 * x62)) + ((uint128_t)x66 * x61));
- uint128_t x76 = (((((uint128_t)x67 * x59) + ((uint128_t)x64 * x62)) + ((uint128_t)x66 * x60)) + ((uint128_t)x65 * x61));
- uint128_t x77 = ((((((uint128_t)x67 * x58) + ((uint128_t)x63 * x62)) + ((uint128_t)x64 * x61)) + ((uint128_t)x66 * x59)) + ((uint128_t)x65 * x60));
- uint64_t x78 = (x63 * 0x13);
- uint64_t x79 = (x66 * 0x13);
- uint64_t x80 = (x65 * 0x13);
- uint64_t x81 = (x64 * 0x13);
- uint128_t x82 = ((((x73 + ((uint128_t)x78 * x61)) + ((uint128_t)x79 * x58)) + ((uint128_t)x80 * x59)) + ((uint128_t)x81 * x60));
- uint128_t x83 = (((x74 + ((uint128_t)x78 * x60)) + ((uint128_t)x80 * x58)) + ((uint128_t)x81 * x59));
- uint128_t x84 = ((x75 + ((uint128_t)x78 * x59)) + ((uint128_t)x81 * x58));
- uint128_t x85 = (x76 + ((uint128_t)x78 * x58));
- uint64_t x86 = (uint64_t) (x82 >> 0x33);
- uint64_t x87 = ((uint64_t)x82 & 0x7ffffffffffff);
- uint128_t x88 = (x86 + x83);
- uint64_t x89 = (uint64_t) (x88 >> 0x33);
- uint64_t x90 = ((uint64_t)x88 & 0x7ffffffffffff);
- uint128_t x91 = (x89 + x84);
- uint64_t x92 = (uint64_t) (x91 >> 0x33);
- uint64_t x93 = ((uint64_t)x91 & 0x7ffffffffffff);
- uint128_t x94 = (x92 + x85);
- uint64_t x95 = (uint64_t) (x94 >> 0x33);
- uint64_t x96 = ((uint64_t)x94 & 0x7ffffffffffff);
- uint128_t x97 = (x95 + x77);
- uint64_t x98 = (uint64_t) (x97 >> 0x33);
- uint64_t x99 = ((uint64_t)x97 & 0x7ffffffffffff);
- uint64_t x100 = (x87 + (0x13 * x98));
- uint64_t x101 = (x100 >> 0x33);
- uint64_t x102 = (x100 & 0x7ffffffffffff);
- uint64_t x103 = (x101 + x90);
- uint64_t x104 = (x103 >> 0x33);
- uint64_t x105 = (x103 & 0x7ffffffffffff);
- uint64_t x106 = (x104 + x93);
- uint128_t x107 = ((uint128_t)x57 * x72);
- uint128_t x108 = (((uint128_t)x57 * x71) + ((uint128_t)x56 * x72));
- uint128_t x109 = ((((uint128_t)x57 * x70) + ((uint128_t)x55 * x72)) + ((uint128_t)x56 * x71));
- uint128_t x110 = (((((uint128_t)x57 * x69) + ((uint128_t)x54 * x72)) + ((uint128_t)x56 * x70)) + ((uint128_t)x55 * x71));
- uint128_t x111 = ((((((uint128_t)x57 * x68) + ((uint128_t)x53 * x72)) + ((uint128_t)x54 * x71)) + ((uint128_t)x56 * x69)) + ((uint128_t)x55 * x70));
- uint64_t x112 = (x53 * 0x13);
- uint64_t x113 = (x56 * 0x13);
- uint64_t x114 = (x55 * 0x13);
- uint64_t x115 = (x54 * 0x13);
- uint128_t x116 = ((((x107 + ((uint128_t)x112 * x71)) + ((uint128_t)x113 * x68)) + ((uint128_t)x114 * x69)) + ((uint128_t)x115 * x70));
- uint128_t x117 = (((x108 + ((uint128_t)x112 * x70)) + ((uint128_t)x114 * x68)) + ((uint128_t)x115 * x69));
- uint128_t x118 = ((x109 + ((uint128_t)x112 * x69)) + ((uint128_t)x115 * x68));
- uint128_t x119 = (x110 + ((uint128_t)x112 * x68));
- uint64_t x120 = (uint64_t) (x116 >> 0x33);
- uint64_t x121 = ((uint64_t)x116 & 0x7ffffffffffff);
- uint128_t x122 = (x120 + x117);
- uint64_t x123 = (uint64_t) (x122 >> 0x33);
- uint64_t x124 = ((uint64_t)x122 & 0x7ffffffffffff);
- uint128_t x125 = (x123 + x118);
- uint64_t x126 = (uint64_t) (x125 >> 0x33);
- uint64_t x127 = ((uint64_t)x125 & 0x7ffffffffffff);
- uint128_t x128 = (x126 + x119);
- uint64_t x129 = (uint64_t) (x128 >> 0x33);
- uint64_t x130 = ((uint64_t)x128 & 0x7ffffffffffff);
- uint128_t x131 = (x129 + x111);
- uint64_t x132 = (uint64_t) (x131 >> 0x33);
- uint64_t x133 = ((uint64_t)x131 & 0x7ffffffffffff);
- uint64_t x134 = (x121 + (0x13 * x132));
- uint64_t x135 = (x134 >> 0x33);
- uint64_t x136 = (x134 & 0x7ffffffffffff);
- uint64_t x137 = (x135 + x124);
- uint64_t x138 = (x137 >> 0x33);
- uint64_t x139 = (x137 & 0x7ffffffffffff);
- uint64_t x140 = (x138 + x127);
- uint64_t x141 = (x99 + x133);
- uint64_t x142 = (x96 + x130);
- uint64_t x143 = (x106 + x140);
- uint64_t x144 = (x105 + x139);
- uint64_t x145 = (x102 + x136);
- uint64_t x146 = ((0xffffffffffffe + x99) - x133);
- uint64_t x147 = ((0xffffffffffffe + x96) - x130);
- uint64_t x148 = ((0xffffffffffffe + x106) - x140);
- uint64_t x149 = ((0xffffffffffffe + x105) - x139);
- uint64_t x150 = ((0xfffffffffffda + x102) - x136);
- uint64_t x151 = (x145 * 0x2);
- uint64_t x152 = (x144 * 0x2);
- uint64_t x153 = ((x143 * 0x2) * 0x13);
- uint64_t x154 = (x141 * 0x13);
- uint64_t x155 = (x154 * 0x2);
- uint128_t x156 = ((((uint128_t)x145 * x145) + ((uint128_t)x155 * x144)) + ((uint128_t)x153 * x142));
- uint128_t x157 = ((((uint128_t)x151 * x144) + ((uint128_t)x155 * x143)) + ((uint128_t)x142 * (x142 * 0x13)));
- uint128_t x158 = ((((uint128_t)x151 * x143) + ((uint128_t)x144 * x144)) + ((uint128_t)x155 * x142));
- uint128_t x159 = ((((uint128_t)x151 * x142) + ((uint128_t)x152 * x143)) + ((uint128_t)x141 * x154));
- uint128_t x160 = ((((uint128_t)x151 * x141) + ((uint128_t)x152 * x142)) + ((uint128_t)x143 * x143));
- uint64_t x161 = (uint64_t) (x156 >> 0x33);
- uint64_t x162 = ((uint64_t)x156 & 0x7ffffffffffff);
- uint128_t x163 = (x161 + x157);
- uint64_t x164 = (uint64_t) (x163 >> 0x33);
- uint64_t x165 = ((uint64_t)x163 & 0x7ffffffffffff);
- uint128_t x166 = (x164 + x158);
- uint64_t x167 = (uint64_t) (x166 >> 0x33);
- uint64_t x168 = ((uint64_t)x166 & 0x7ffffffffffff);
- uint128_t x169 = (x167 + x159);
- uint64_t x170 = (uint64_t) (x169 >> 0x33);
- uint64_t x171 = ((uint64_t)x169 & 0x7ffffffffffff);
- uint128_t x172 = (x170 + x160);
- uint64_t x173 = (uint64_t) (x172 >> 0x33);
- uint64_t x174 = ((uint64_t)x172 & 0x7ffffffffffff);
- uint64_t x175 = (x162 + (0x13 * x173));
- uint64_t x176 = (x175 >> 0x33);
- uint64_t x177 = (x175 & 0x7ffffffffffff);
- uint64_t x178 = (x176 + x165);
- uint64_t x179 = (x178 >> 0x33);
- uint64_t x180 = (x178 & 0x7ffffffffffff);
- uint64_t x181 = (x179 + x168);
- uint64_t x182 = (x150 * 0x2);
- uint64_t x183 = (x149 * 0x2);
- uint64_t x184 = ((x148 * 0x2) * 0x13);
- uint64_t x185 = (x146 * 0x13);
- uint64_t x186 = (x185 * 0x2);
- uint128_t x187 = ((((uint128_t)x150 * x150) + ((uint128_t)x186 * x149)) + ((uint128_t)x184 * x147));
- uint128_t x188 = ((((uint128_t)x182 * x149) + ((uint128_t)x186 * x148)) + ((uint128_t)x147 * (x147 * 0x13)));
- uint128_t x189 = ((((uint128_t)x182 * x148) + ((uint128_t)x149 * x149)) + ((uint128_t)x186 * x147));
- uint128_t x190 = ((((uint128_t)x182 * x147) + ((uint128_t)x183 * x148)) + ((uint128_t)x146 * x185));
- uint128_t x191 = ((((uint128_t)x182 * x146) + ((uint128_t)x183 * x147)) + ((uint128_t)x148 * x148));
- uint64_t x192 = (uint64_t) (x187 >> 0x33);
- uint64_t x193 = ((uint64_t)x187 & 0x7ffffffffffff);
- uint128_t x194 = (x192 + x188);
- uint64_t x195 = (uint64_t) (x194 >> 0x33);
- uint64_t x196 = ((uint64_t)x194 & 0x7ffffffffffff);
- uint128_t x197 = (x195 + x189);
- uint64_t x198 = (uint64_t) (x197 >> 0x33);
- uint64_t x199 = ((uint64_t)x197 & 0x7ffffffffffff);
- uint128_t x200 = (x198 + x190);
- uint64_t x201 = (uint64_t) (x200 >> 0x33);
- uint64_t x202 = ((uint64_t)x200 & 0x7ffffffffffff);
- uint128_t x203 = (x201 + x191);
- uint64_t x204 = (uint64_t) (x203 >> 0x33);
- uint64_t x205 = ((uint64_t)x203 & 0x7ffffffffffff);
- uint64_t x206 = (x193 + (0x13 * x204));
- uint64_t x207 = (x206 >> 0x33);
- uint64_t x208 = (x206 & 0x7ffffffffffff);
- uint64_t x209 = (x207 + x196);
- uint64_t x210 = (x209 >> 0x33);
- uint64_t x211 = (x209 & 0x7ffffffffffff);
- uint64_t x212 = (x210 + x199);
- uint128_t x213 = ((uint128_t)x208 * x10);
- uint128_t x214 = (((uint128_t)x208 * x12) + ((uint128_t)x211 * x10));
- uint128_t x215 = ((((uint128_t)x208 * x14) + ((uint128_t)x212 * x10)) + ((uint128_t)x211 * x12));
- uint128_t x216 = (((((uint128_t)x208 * x16) + ((uint128_t)x202 * x10)) + ((uint128_t)x211 * x14)) + ((uint128_t)x212 * x12));
- uint128_t x217 = ((((((uint128_t)x208 * x15) + ((uint128_t)x205 * x10)) + ((uint128_t)x202 * x12)) + ((uint128_t)x211 * x16)) + ((uint128_t)x212 * x14));
- uint64_t x218 = (x205 * 0x13);
- uint64_t x219 = (x211 * 0x13);
- uint64_t x220 = (x212 * 0x13);
- uint64_t x221 = (x202 * 0x13);
- uint128_t x222 = ((((x213 + ((uint128_t)x218 * x12)) + ((uint128_t)x219 * x15)) + ((uint128_t)x220 * x16)) + ((uint128_t)x221 * x14));
- uint128_t x223 = (((x214 + ((uint128_t)x218 * x14)) + ((uint128_t)x220 * x15)) + ((uint128_t)x221 * x16));
- uint128_t x224 = ((x215 + ((uint128_t)x218 * x16)) + ((uint128_t)x221 * x15));
- uint128_t x225 = (x216 + ((uint128_t)x218 * x15));
- uint64_t x226 = (uint64_t) (x222 >> 0x33);
- uint64_t x227 = ((uint64_t)x222 & 0x7ffffffffffff);
- uint128_t x228 = (x226 + x223);
- uint64_t x229 = (uint64_t) (x228 >> 0x33);
- uint64_t x230 = ((uint64_t)x228 & 0x7ffffffffffff);
- uint128_t x231 = (x229 + x224);
- uint64_t x232 = (uint64_t) (x231 >> 0x33);
- uint64_t x233 = ((uint64_t)x231 & 0x7ffffffffffff);
- uint128_t x234 = (x232 + x225);
- uint64_t x235 = (uint64_t) (x234 >> 0x33);
- uint64_t x236 = ((uint64_t)x234 & 0x7ffffffffffff);
- uint128_t x237 = (x235 + x217);
- uint64_t x238 = (uint64_t) (x237 >> 0x33);
- uint64_t x239 = ((uint64_t)x237 & 0x7ffffffffffff);
- uint64_t x240 = (x227 + (0x13 * x238));
- uint64_t x241 = (x240 >> 0x33);
- uint64_t x242 = (x240 & 0x7ffffffffffff);
- uint64_t x243 = (x241 + x230);
- uint64_t x244 = (x243 >> 0x33);
- uint64_t x245 = (x243 & 0x7ffffffffffff);
- uint64_t x246 = (x244 + x233);
- uint64_t x247 = (x57 * 0x2);
- uint64_t x248 = (x56 * 0x2);
- uint64_t x249 = ((x55 * 0x2) * 0x13);
- uint64_t x250 = (x53 * 0x13);
- uint64_t x251 = (x250 * 0x2);
- uint128_t x252 = ((((uint128_t)x57 * x57) + ((uint128_t)x251 * x56)) + ((uint128_t)x249 * x54));
- uint128_t x253 = ((((uint128_t)x247 * x56) + ((uint128_t)x251 * x55)) + ((uint128_t)x54 * (x54 * 0x13)));
- uint128_t x254 = ((((uint128_t)x247 * x55) + ((uint128_t)x56 * x56)) + ((uint128_t)x251 * x54));
- uint128_t x255 = ((((uint128_t)x247 * x54) + ((uint128_t)x248 * x55)) + ((uint128_t)x53 * x250));
- uint128_t x256 = ((((uint128_t)x247 * x53) + ((uint128_t)x248 * x54)) + ((uint128_t)x55 * x55));
- uint64_t x257 = (uint64_t) (x252 >> 0x33);
- uint64_t x258 = ((uint64_t)x252 & 0x7ffffffffffff);
- uint128_t x259 = (x257 + x253);
- uint64_t x260 = (uint64_t) (x259 >> 0x33);
- uint64_t x261 = ((uint64_t)x259 & 0x7ffffffffffff);
- uint128_t x262 = (x260 + x254);
- uint64_t x263 = (uint64_t) (x262 >> 0x33);
- uint64_t x264 = ((uint64_t)x262 & 0x7ffffffffffff);
- uint128_t x265 = (x263 + x255);
- uint64_t x266 = (uint64_t) (x265 >> 0x33);
- uint64_t x267 = ((uint64_t)x265 & 0x7ffffffffffff);
- uint128_t x268 = (x266 + x256);
- uint64_t x269 = (uint64_t) (x268 >> 0x33);
- uint64_t x270 = ((uint64_t)x268 & 0x7ffffffffffff);
- uint64_t x271 = (x258 + (0x13 * x269));
- uint64_t x272 = (x271 >> 0x33);
- uint64_t x273 = (x271 & 0x7ffffffffffff);
- uint64_t x274 = (x272 + x261);
- uint64_t x275 = (x274 >> 0x33);
- uint64_t x276 = (x274 & 0x7ffffffffffff);
- uint64_t x277 = (x275 + x264);
- uint64_t x278 = (x62 * 0x2);
- uint64_t x279 = (x61 * 0x2);
- uint64_t x280 = ((x60 * 0x2) * 0x13);
- uint64_t x281 = (x58 * 0x13);
- uint64_t x282 = (x281 * 0x2);
- uint128_t x283 = ((((uint128_t)x62 * x62) + ((uint128_t)x282 * x61)) + ((uint128_t)x280 * x59));
- uint128_t x284 = ((((uint128_t)x278 * x61) + ((uint128_t)x282 * x60)) + ((uint128_t)x59 * (x59 * 0x13)));
- uint128_t x285 = ((((uint128_t)x278 * x60) + ((uint128_t)x61 * x61)) + ((uint128_t)x282 * x59));
- uint128_t x286 = ((((uint128_t)x278 * x59) + ((uint128_t)x279 * x60)) + ((uint128_t)x58 * x281));
- uint128_t x287 = ((((uint128_t)x278 * x58) + ((uint128_t)x279 * x59)) + ((uint128_t)x60 * x60));
- uint64_t x288 = (uint64_t) (x283 >> 0x33);
- uint64_t x289 = ((uint64_t)x283 & 0x7ffffffffffff);
- uint128_t x290 = (x288 + x284);
- uint64_t x291 = (uint64_t) (x290 >> 0x33);
- uint64_t x292 = ((uint64_t)x290 & 0x7ffffffffffff);
- uint128_t x293 = (x291 + x285);
- uint64_t x294 = (uint64_t) (x293 >> 0x33);
- uint64_t x295 = ((uint64_t)x293 & 0x7ffffffffffff);
- uint128_t x296 = (x294 + x286);
- uint64_t x297 = (uint64_t) (x296 >> 0x33);
- uint64_t x298 = ((uint64_t)x296 & 0x7ffffffffffff);
- uint128_t x299 = (x297 + x287);
- uint64_t x300 = (uint64_t) (x299 >> 0x33);
- uint64_t x301 = ((uint64_t)x299 & 0x7ffffffffffff);
- uint64_t x302 = (x289 + (0x13 * x300));
- uint64_t x303 = (x302 >> 0x33);
- uint64_t x304 = (x302 & 0x7ffffffffffff);
- uint64_t x305 = (x303 + x292);
- uint64_t x306 = (x305 >> 0x33);
- uint64_t x307 = (x305 & 0x7ffffffffffff);
- uint64_t x308 = (x306 + x295);
- uint128_t x309 = ((uint128_t)x273 * x304);
- uint128_t x310 = (((uint128_t)x273 * x307) + ((uint128_t)x276 * x304));
- uint128_t x311 = ((((uint128_t)x273 * x308) + ((uint128_t)x277 * x304)) + ((uint128_t)x276 * x307));
- uint128_t x312 = (((((uint128_t)x273 * x298) + ((uint128_t)x267 * x304)) + ((uint128_t)x276 * x308)) + ((uint128_t)x277 * x307));
- uint128_t x313 = ((((((uint128_t)x273 * x301) + ((uint128_t)x270 * x304)) + ((uint128_t)x267 * x307)) + ((uint128_t)x276 * x298)) + ((uint128_t)x277 * x308));
- uint64_t x314 = (x270 * 0x13);
- uint64_t x315 = (x276 * 0x13);
- uint64_t x316 = (x277 * 0x13);
- uint64_t x317 = (x267 * 0x13);
- uint128_t x318 = ((((x309 + ((uint128_t)x314 * x307)) + ((uint128_t)x315 * x301)) + ((uint128_t)x316 * x298)) + ((uint128_t)x317 * x308));
- uint128_t x319 = (((x310 + ((uint128_t)x314 * x308)) + ((uint128_t)x316 * x301)) + ((uint128_t)x317 * x298));
- uint128_t x320 = ((x311 + ((uint128_t)x314 * x298)) + ((uint128_t)x317 * x301));
- uint128_t x321 = (x312 + ((uint128_t)x314 * x301));
- uint64_t x322 = (uint64_t) (x318 >> 0x33);
- uint64_t x323 = ((uint64_t)x318 & 0x7ffffffffffff);
- uint128_t x324 = (x322 + x319);
- uint64_t x325 = (uint64_t) (x324 >> 0x33);
- uint64_t x326 = ((uint64_t)x324 & 0x7ffffffffffff);
- uint128_t x327 = (x325 + x320);
- uint64_t x328 = (uint64_t) (x327 >> 0x33);
- uint64_t x329 = ((uint64_t)x327 & 0x7ffffffffffff);
- uint128_t x330 = (x328 + x321);
- uint64_t x331 = (uint64_t) (x330 >> 0x33);
- uint64_t x332 = ((uint64_t)x330 & 0x7ffffffffffff);
- uint128_t x333 = (x331 + x313);
- uint64_t x334 = (uint64_t) (x333 >> 0x33);
- uint64_t x335 = ((uint64_t)x333 & 0x7ffffffffffff);
- uint64_t x336 = (x323 + (0x13 * x334));
- uint64_t x337 = (x336 >> 0x33);
- uint64_t x338 = (x336 & 0x7ffffffffffff);
- uint64_t x339 = (x337 + x326);
- uint64_t x340 = (x339 >> 0x33);
- uint64_t x341 = (x339 & 0x7ffffffffffff);
- uint64_t x342 = (x340 + x329);
- uint64_t x343 = ((0xffffffffffffe + x270) - x301);
- uint64_t x344 = ((0xffffffffffffe + x267) - x298);
- uint64_t x345 = ((0xffffffffffffe + x277) - x308);
- uint64_t x346 = ((0xffffffffffffe + x276) - x307);
- uint64_t x347 = ((0xfffffffffffda + x273) - x304);
- uint128_t x348 = ((uint128_t)x347 * 0x1db41);
- uint128_t x349 = ((uint128_t)x346 * 0x1db41);
- uint128_t x350 = ((uint128_t)x345 * 0x1db41);
- uint128_t x351 = ((uint128_t)x344 * 0x1db41);
- uint128_t x352 = ((uint128_t)x343 * 0x1db41);
- uint64_t x353 = (uint64_t) (x348 >> 0x33);
- uint64_t x354 = ((uint64_t)x348 & 0x7ffffffffffff);
- uint128_t x355 = (x353 + x349);
- uint64_t x356 = (uint64_t) (x355 >> 0x33);
- uint64_t x357 = ((uint64_t)x355 & 0x7ffffffffffff);
- uint128_t x358 = (x356 + x350);
- uint64_t x359 = (uint64_t) (x358 >> 0x33);
- uint64_t x360 = ((uint64_t)x358 & 0x7ffffffffffff);
- uint128_t x361 = (x359 + x351);
- uint64_t x362 = (uint64_t) (x361 >> 0x33);
- uint64_t x363 = ((uint64_t)x361 & 0x7ffffffffffff);
- uint128_t x364 = (x362 + x352);
- uint64_t x365 = (uint64_t) (x364 >> 0x33);
- uint64_t x366 = ((uint64_t)x364 & 0x7ffffffffffff);
- uint64_t x367 = (x354 + (0x13 * x365));
- uint64_t x368 = (x367 >> 0x33);
- uint64_t x369 = (x367 & 0x7ffffffffffff);
- uint64_t x370 = (x368 + x357);
- uint64_t x371 = (x370 >> 0x33);
- uint64_t x372 = (x370 & 0x7ffffffffffff);
- uint64_t x373 = (x371 + x360);
- uint64_t x374 = (x366 + x270);
- uint64_t x375 = (x363 + x267);
- uint64_t x376 = (x373 + x277);
- uint64_t x377 = (x372 + x276);
- uint64_t x378 = (x369 + x273);
- uint128_t x379 = ((uint128_t)x347 * x378);
- uint128_t x380 = (((uint128_t)x347 * x377) + ((uint128_t)x346 * x378));
- uint128_t x381 = ((((uint128_t)x347 * x376) + ((uint128_t)x345 * x378)) + ((uint128_t)x346 * x377));
- uint128_t x382 = (((((uint128_t)x347 * x375) + ((uint128_t)x344 * x378)) + ((uint128_t)x346 * x376)) + ((uint128_t)x345 * x377));
- uint128_t x383 = ((((((uint128_t)x347 * x374) + ((uint128_t)x343 * x378)) + ((uint128_t)x344 * x377)) + ((uint128_t)x346 * x375)) + ((uint128_t)x345 * x376));
- uint64_t x384 = (x343 * 0x13);
- uint64_t x385 = (x346 * 0x13);
- uint64_t x386 = (x345 * 0x13);
- uint64_t x387 = (x344 * 0x13);
- uint128_t x388 = ((((x379 + ((uint128_t)x384 * x377)) + ((uint128_t)x385 * x374)) + ((uint128_t)x386 * x375)) + ((uint128_t)x387 * x376));
- uint128_t x389 = (((x380 + ((uint128_t)x384 * x376)) + ((uint128_t)x386 * x374)) + ((uint128_t)x387 * x375));
- uint128_t x390 = ((x381 + ((uint128_t)x384 * x375)) + ((uint128_t)x387 * x374));
- uint128_t x391 = (x382 + ((uint128_t)x384 * x374));
- uint64_t x392 = (uint64_t) (x388 >> 0x33);
- uint64_t x393 = ((uint64_t)x388 & 0x7ffffffffffff);
- uint128_t x394 = (x392 + x389);
- uint64_t x395 = (uint64_t) (x394 >> 0x33);
- uint64_t x396 = ((uint64_t)x394 & 0x7ffffffffffff);
- uint128_t x397 = (x395 + x390);
- uint64_t x398 = (uint64_t) (x397 >> 0x33);
- uint64_t x399 = ((uint64_t)x397 & 0x7ffffffffffff);
- uint128_t x400 = (x398 + x391);
- uint64_t x401 = (uint64_t) (x400 >> 0x33);
- uint64_t x402 = ((uint64_t)x400 & 0x7ffffffffffff);
- uint128_t x403 = (x401 + x383);
- uint64_t x404 = (uint64_t) (x403 >> 0x33);
- uint64_t x405 = ((uint64_t)x403 & 0x7ffffffffffff);
- uint64_t x406 = (x393 + (0x13 * x404));
- uint64_t x407 = (x406 >> 0x33);
- uint64_t x408 = (x406 & 0x7ffffffffffff);
- uint64_t x409 = (x407 + x396);
- uint64_t x410 = (x409 >> 0x33);
- uint64_t x411 = (x409 & 0x7ffffffffffff);
- uint64_t x412 = (x410 + x399);
- return (Return x335, Return x332, Return x342, Return x341, Return x338, (Return x405, Return x402, Return x412, Return x411, Return x408), (Return x174, Return x171, Return x181, Return x180, Return x177, (Return x239, Return x236, Return x246, Return x245, Return x242))))
-(x, (x0, x1), (x2, x3))%core in
-(let (a0, b0) := a in
-(a0, b0), let (a0, b0) := b in
-(a0, b0))%core
- : Synthesis.P.feW → Synthesis.P.feW → Synthesis.P.feW → Synthesis.P.feW → Synthesis.P.feW → Synthesis.P.feW * Synthesis.P.feW * (Synthesis.P.feW * Synthesis.P.feW)
diff --git a/src/Specific/X25519/C64/ladderstepDisplay.v b/src/Specific/X25519/C64/ladderstepDisplay.v
deleted file mode 100644
index 0716f8ef1..000000000
--- a/src/Specific/X25519/C64/ladderstepDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.X25519.C64.ladderstep.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display xzladderstep.
diff --git a/src/Specific/X25519/C64/measurements.txt b/src/Specific/X25519/C64/measurements.txt
deleted file mode 100644
index ba61696e1..000000000
--- a/src/Specific/X25519/C64/measurements.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-162456 =136254*3.10/2.60 ashryn-ht-tb-ac-broadwell 7.1.1 a7ce099b+
-168279 JASONGROSS-X230-ht-tb-nops-ivybridge 2.90ghz 6.3.0 c003b54
-168376 =168376*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
-184417 =184944*3.50/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 dcf7685+
-185666 =176132*3.70/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 e4b51d4+
-217869 JASONGROSS-X230-ht-tb-nops-core-avx-i 2.90ghz 4.8 c003b54
diff --git a/src/Specific/X25519/C64/py_interpreter.sh b/src/Specific/X25519/C64/py_interpreter.sh
deleted file mode 100755
index 470d2dd25..000000000
--- a/src/Specific/X25519/C64/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255-19' -Dmodulus_bytes='51' -Da24='121665'
diff --git a/src/Specific/X25519/C64/scalarmult.c b/src/Specific/X25519/C64/scalarmult.c
deleted file mode 100644
index 01f81d393..000000000
--- a/src/Specific/X25519/C64/scalarmult.c
+++ /dev/null
@@ -1,311 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/X25519_C64/scalarmult.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-// The synthesized parts are from fiat-crypto, copyright MIT 2017.
-// The synthesis framework is released under the MIT license.
-// The non-synthesized parts are from curve25519-donna by Adam Langley (Google):
-/* Copyright 2008, Google Inc.
- * All rights reserved.
- *
- * Code released into the public domain.
- *
- * curve25519-donna: Curve25519 elliptic curve, public key function
- *
- * http://code.google.com/p/curve25519-donna/
- *
- * (modified by Andres Erbsen and Jason Gross)
- * Adam Langley <agl@imperialviolet.org>
- * Parts optimised by floodyberry
- * Derived from public domain C code by Daniel J. Bernstein <djb@cr.yp.to>
- *
- * More information about curve25519 can be found here
- * http://cr.yp.to/ecdh.html
- *
- * djb's sample implementation of curve25519 is written in a special assembly
- * language called qhasm and uses the floating point registers.
- *
- * This is, almost, a clean room reimplementation from the curve25519 paper. It
- * uses many of the tricks described therein. Only the crecip function is taken
- * from the sample implementation.
- */
-
-#include <string.h>
-#include <stdint.h>
-
-#include "femul.h"
-#include "fesquare.h"
-#include "ladderstep.h"
-
-typedef unsigned int uint128_t __attribute__((mode(TI)));
-
-#undef force_inline
-#define force_inline __attribute__((always_inline))
-
-typedef uint8_t u8;
-typedef uint64_t limb;
-typedef limb felem[5];
-
-static void force_inline
-fmul(felem output, const felem in2, const felem in) {
- uint64_t out[5];
- femul(out,
- in2[4], in2[3], in2[2], in2[1], in2[0],
- in[4], in[3], in[2], in[1], in[0]);
- output[4] = out[0];
- output[3] = out[1];
- output[2] = out[2];
- output[1] = out[3];
- output[0] = out[4];
-}
-
-static void force_inline
-fsquare_times(felem output, const felem in, limb count) {
- uint64_t r0 = in[0];
- uint64_t r1 = in[1];
- uint64_t r2 = in[2];
- uint64_t r3 = in[3];
- uint64_t r4 = in[4];
-
- do {
- uint64_t out[5];
- fesquare(out, r4, r3, r2, r1, r0);
- r4 = out[0];
- r3 = out[1];
- r2 = out[2];
- r1 = out[3];
- r0 = out[4];
- } while(--count);
-
- output[0] = r0;
- output[1] = r1;
- output[2] = r2;
- output[3] = r3;
- output[4] = r4;
-}
-
-/* Take a little-endian, 32-byte number and expand it into polynomial form */
-static void
-fexpand(limb *output, const u8 *in) {
- output[0] = *((const uint64_t *)(in)) & 0x7ffffffffffff;
- output[1] = (*((const uint64_t *)(in+6)) >> 3) & 0x7ffffffffffff;
- output[2] = (*((const uint64_t *)(in+12)) >> 6) & 0x7ffffffffffff;
- output[3] = (*((const uint64_t *)(in+19)) >> 1) & 0x7ffffffffffff;
- output[4] = (*((const uint64_t *)(in+25)) >> 4) & 0x7ffffffffffff;
-}
-
-/* Take a fully reduced polynomial form number and contract it into a
- * little-endian, 32-byte array
- */
-static void
-fcontract(u8 *output, const felem input) {
- uint128_t t[5];
-
- t[0] = input[0];
- t[1] = input[1];
- t[2] = input[2];
- t[3] = input[3];
- t[4] = input[4];
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- /* now t is between 0 and 2^255-1, properly carried. */
- /* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */
-
- t[0] += 19;
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- /* now between 19 and 2^255-1 in both cases, and offset by 19. */
-
- t[0] += 0x8000000000000 - 19;
- t[1] += 0x8000000000000 - 1;
- t[2] += 0x8000000000000 - 1;
- t[3] += 0x8000000000000 - 1;
- t[4] += 0x8000000000000 - 1;
-
- /* now between 2^255 and 2^256-20, and offset by 2^255. */
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[4] &= 0x7ffffffffffff;
-
- *((uint64_t *)(output)) = t[0] | (t[1] << 51);
- *((uint64_t *)(output+8)) = (t[1] >> 13) | (t[2] << 38);
- *((uint64_t *)(output+16)) = (t[2] >> 26) | (t[3] << 25);
- *((uint64_t *)(output+24)) = (t[3] >> 39) | (t[4] << 12);
-}
-
-/* Input: Q, Q', Q-Q'
- * Output: 2Q, Q+Q'
- */
-static void
-fmonty(limb *x2, limb *z2, /* output 2Q */
- limb *x3, limb *z3, /* output Q + Q' */
- limb *x, limb *z, /* input Q */
- limb *xprime, limb *zprime, /* input Q' */
- const limb *qmqp /* input Q - Q' */) {
- uint64_t out[20];
- ladderstep(out, qmqp[4], qmqp[3], qmqp[2], qmqp[1], qmqp[0], x[4], x[3], x[2], x[1], x[0], z[4], z[3], z[2], z[1], z[0], xprime[4], xprime[3], xprime[2], xprime[1], xprime[0], zprime[4], zprime[3], zprime[2], zprime[1], zprime[0]);
- x2[4] = out[ 0];
- x2[3] = out[ 1];
- x2[2] = out[ 2];
- x2[1] = out[ 3];
- x2[0] = out[ 4];
- z2[4] = out[ 5];
- z2[3] = out[ 6];
- z2[2] = out[ 7];
- z2[1] = out[ 8];
- z2[0] = out[ 9];
- x3[4] = out[10];
- x3[3] = out[11];
- x3[2] = out[12];
- x3[1] = out[13];
- x3[0] = out[14];
- z3[4] = out[15];
- z3[3] = out[16];
- z3[2] = out[17];
- z3[1] = out[18];
- z3[0] = out[19];
-}
-
-// -----------------------------------------------------------------------------
-// Maybe swap the contents of two limb arrays (@a and @b), each @len elements
-// long. Perform the swap iff @swap is non-zero.
-//
-// This function performs the swap without leaking any side-channel
-// information.
-// -----------------------------------------------------------------------------
-static void
-swap_conditional(limb a[5], limb b[5], limb iswap) {
- unsigned i;
- const limb swap = -iswap;
-
- for (i = 0; i < 5; ++i) {
- const limb x = swap & (a[i] ^ b[i]);
- a[i] ^= x;
- b[i] ^= x;
- }
-}
-
-/* Calculates nQ where Q is the x-coordinate of a point on the curve
- *
- * resultx/resultz: the x coordinate of the resulting curve point (short form)
- * n: a little endian, 32-byte number
- * q: a point of the curve (short form)
- */
-static void
-cmult(limb *resultx, limb *resultz, const u8 *n, const limb *q) {
- limb a[5] = {0}, b[5] = {1}, c[5] = {1}, d[5] = {0};
- limb *nqpqx = a, *nqpqz = b, *nqx = c, *nqz = d, *t;
- limb e[5] = {0}, f[5] = {1}, g[5] = {0}, h[5] = {1};
- limb *nqpqx2 = e, *nqpqz2 = f, *nqx2 = g, *nqz2 = h;
-
- unsigned i, j;
-
- memcpy(nqpqx, q, sizeof(limb) * 5);
-
- for (i = 0; i < 32; ++i) {
- u8 byte = n[31 - i];
- for (j = 0; j < 8; ++j) {
- const limb bit = byte >> 7;
-
- swap_conditional(nqx, nqpqx, bit);
- swap_conditional(nqz, nqpqz, bit);
- fmonty(nqx2, nqz2,
- nqpqx2, nqpqz2,
- nqx, nqz,
- nqpqx, nqpqz,
- q);
- swap_conditional(nqx2, nqpqx2, bit);
- swap_conditional(nqz2, nqpqz2, bit);
-
- t = nqx;
- nqx = nqx2;
- nqx2 = t;
- t = nqz;
- nqz = nqz2;
- nqz2 = t;
- t = nqpqx;
- nqpqx = nqpqx2;
- nqpqx2 = t;
- t = nqpqz;
- nqpqz = nqpqz2;
- nqpqz2 = t;
-
- byte <<= 1;
- }
- }
-
- memcpy(resultx, nqx, sizeof(limb) * 5);
- memcpy(resultz, nqz, sizeof(limb) * 5);
-}
-
-
-// -----------------------------------------------------------------------------
-// Shamelessly copied from djb's code, tightened a little
-// -----------------------------------------------------------------------------
-static void
-crecip(felem out, const felem z) {
- felem a,t0,b,c;
-
- /* 2 */ fsquare_times(a, z, 1); // a = 2
- /* 8 */ fsquare_times(t0, a, 2);
- /* 9 */ fmul(b, t0, z); // b = 9
- /* 11 */ fmul(a, b, a); // a = 11
- /* 22 */ fsquare_times(t0, a, 1);
- /* 2^5 - 2^0 = 31 */ fmul(b, t0, b);
- /* 2^10 - 2^5 */ fsquare_times(t0, b, 5);
- /* 2^10 - 2^0 */ fmul(b, t0, b);
- /* 2^20 - 2^10 */ fsquare_times(t0, b, 10);
- /* 2^20 - 2^0 */ fmul(c, t0, b);
- /* 2^40 - 2^20 */ fsquare_times(t0, c, 20);
- /* 2^40 - 2^0 */ fmul(t0, t0, c);
- /* 2^50 - 2^10 */ fsquare_times(t0, t0, 10);
- /* 2^50 - 2^0 */ fmul(b, t0, b);
- /* 2^100 - 2^50 */ fsquare_times(t0, b, 50);
- /* 2^100 - 2^0 */ fmul(c, t0, b);
- /* 2^200 - 2^100 */ fsquare_times(t0, c, 100);
- /* 2^200 - 2^0 */ fmul(t0, t0, c);
- /* 2^250 - 2^50 */ fsquare_times(t0, t0, 50);
- /* 2^250 - 2^0 */ fmul(t0, t0, b);
- /* 2^255 - 2^5 */ fsquare_times(t0, t0, 5);
- /* 2^255 - 21 */ fmul(out, t0, a);
-}
-
-int
-crypto_scalarmult(u8 *mypublic, const u8 *secret, const u8 *basepoint) {
- limb bp[5], x[5], z[5], zmone[5];
- uint8_t e[32];
- int i;
-
- for (i = 0;i < 32;++i) e[i] = secret[i];
- e[0] &= 248;
- e[31] &= 127;
- e[31] |= 64;
-
- fexpand(bp, basepoint);
- cmult(x, z, e, bp);
- crecip(zmone, z);
- fmul(z, x, zmone);
- fcontract(mypublic, z);
- return 0;
-}
-
-void crypto_scalarmult_bench(unsigned char* buf) {
- crypto_scalarmult(buf, buf+32, buf+64);
-}
diff --git a/src/Specific/X25519/supercop-benchmarks.txt b/src/Specific/X25519/supercop-benchmarks.txt
deleted file mode 100644
index f892a7229..000000000
--- a/src/Specific/X25519/supercop-benchmarks.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-ashryn-noht-notb-ac-broadwell, 2.60/2.60
-
-browse@ashryn ~/thesis/supercop-data/ashryn/amd64 % ./try/c/gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv/crypto_scalarmult/curve25519/amd64-64/compiled/measure | tail -1 | tr ' ' '\n' | sort -rn | head -32 | tail -1
-
-
-145008
-browse@ashryn ~/thesis/supercop-data/ashryn/amd64 % ./try/c/gcc_-funroll-loops_-O2_-fomit-frame-pointer/crypto_scalarmult/curve25519/amd64-51/compiled/measure | tail -1 | tr ' ' '\n' | sort -rn | head -32 | tail -1
-
-
-154248
-browse@ashryn ~/thesis/supercop-data/ashryn/amd64 % ./try/c/gcc_-m64_-O3_-fomit-frame-pointer/crypto_scalarmult/curve25519/sandy2x/compiled/measure | tail -1 | tr ' ' '\n' | sort -rn | head -32 | tail -1
-
-
-154688
-browse@ashryn ~/thesis/supercop-data/ashryn/amd64 % ./try/c/gcc_-march=nocona_-Os_-fomit-frame-pointer/crypto_scalarmult/curve25519/ref10/compiled/measure | tail -1 | tr ' ' '\n' | sort -rn | head -32 | tail -1
-356716
-browse@ashryn ~/thesis/supercop-data/ashryn/amd64 % ./try/c/gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv/crypto_scalarmult/curve25519/ref/compiled/measure | tail -1 | tr ' ' '\n' | sort -rn | head -32 | tail -1
-
-
-6044504
-
diff --git a/src/Specific/X25519/x25519_test.c b/src/Specific/X25519/x25519_test.c
deleted file mode 100644
index 11bdb7acb..000000000
--- a/src/Specific/X25519/x25519_test.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdio.h>
-#include <stdint.h>
-
-void crypto_scalarmult(uint8_t *out, const uint8_t *secret, const uint8_t *basepoint);
-
-const uint8_t expected[32] = {0x89, 0x16, 0x1f, 0xde, 0x88, 0x7b, 0x2b, 0x53, 0xde, 0x54, 0x9a, 0xf4, 0x83, 0x94, 0x01, 0x06, 0xec, 0xc1, 0x14, 0xd6, 0x98, 0x2d, 0xaa, 0x98, 0x25, 0x6d, 0xe2, 0x3b, 0xdf, 0x77, 0x66, 0x1a};
-const uint8_t basepoint[32] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
-int main() {
- uint8_t a[32] = {0}, b[32] = {0};
- uint8_t* in = a;
- uint8_t* out = b;
- a[0] = 1;
-
- for (int i = 0; i < 200; i++) {
- // printf("0x"); for (int i = 31; i>=0; --i) { printf("%02x", in[i]); }; printf("\n");
- crypto_scalarmult(out, in, basepoint);
- uint8_t* t = out;
- out = in;
- in = t;
- }
-
- for (int i = 0; i < 32; i++) {
- if (in[i] != expected[i]) {
- return (i+1);
- }
- }
- return 0;
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/CurveParameters.v b/src/Specific/montgomery32_2e127m1_4limbs/CurveParameters.v
deleted file mode 100644
index 119c9782f..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^127 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 32;
- bitwidth := 32;
- s := 2^127;
- c := [(1, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e127m1_4limbs/Synthesis.v b/src/Specific/montgomery32_2e127m1_4limbs/Synthesis.v
deleted file mode 100644
index f6de13a17..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.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/montgomery32_2e127m1_4limbs/compiler.sh b/src/Specific/montgomery32_2e127m1_4limbs/compiler.sh
deleted file mode 100755
index c40a25812..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/compilerxx.sh b/src/Specific/montgomery32_2e127m1_4limbs/compilerxx.sh
deleted file mode 100755
index 37a71eef7..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feadd.c b/src/Specific/montgomery32_2e127m1_4limbs/feadd.c
deleted file mode 100644
index 83328c32f..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint32_t out[4], const uint32_t in1[4], const uint32_t in2[4]) {
- { const uint32_t x8 = in1[3];
- { const uint32_t x9 = in1[2];
- { const uint32_t x7 = in1[1];
- { const uint32_t x5 = in1[0];
- { const uint32_t x14 = in2[3];
- { const uint32_t x15 = in2[2];
- { const uint32_t x13 = in2[1];
- { const uint32_t x11 = in2[0];
- { uint32_t x17; uint8_t x18 = _addcarryx_u32(0x0, x5, x11, &x17);
- { uint32_t x20; uint8_t x21 = _addcarryx_u32(x18, x7, x13, &x20);
- { uint32_t x23; uint8_t x24 = _addcarryx_u32(x21, x9, x15, &x23);
- { uint32_t x26; uint8_t x27 = _addcarryx_u32(x24, x8, x14, &x26);
- { uint32_t x29; uint8_t x30 = _subborrow_u32(0x0, x17, 0xffffffff, &x29);
- { uint32_t x32; uint8_t x33 = _subborrow_u32(x30, x20, 0xffffffff, &x32);
- { uint32_t x35; uint8_t x36 = _subborrow_u32(x33, x23, 0xffffffff, &x35);
- { uint32_t x38; uint8_t x39 = _subborrow_u32(x36, x26, 0x7fffffff, &x38);
- { uint32_t _; uint8_t x42 = _subborrow_u32(x39, x27, 0x0, &_);
- { uint32_t x43 = cmovznz32(x42, x38, x26);
- { uint32_t x44 = cmovznz32(x42, x35, x23);
- { uint32_t x45 = cmovznz32(x42, x32, x20);
- { uint32_t x46 = cmovznz32(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feadd.v b/src/Specific/montgomery32_2e127m1_4limbs/feadd.v
deleted file mode 100644
index 8c828968e..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.log b/src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.log
deleted file mode 100644
index 6368982f5..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint32_t x17, uint8_t x18 = addcarryx_u32(0x0, x5, x11);
- uint32_t x20, uint8_t x21 = addcarryx_u32(x18, x7, x13);
- uint32_t x23, uint8_t x24 = addcarryx_u32(x21, x9, x15);
- uint32_t x26, uint8_t x27 = addcarryx_u32(x24, x8, x14);
- uint32_t x29, uint8_t x30 = subborrow_u32(0x0, x17, 0xffffffff);
- uint32_t x32, uint8_t x33 = subborrow_u32(x30, x20, 0xffffffff);
- uint32_t x35, uint8_t x36 = subborrow_u32(x33, x23, 0xffffffff);
- uint32_t x38, uint8_t x39 = subborrow_u32(x36, x26, 0x7fffffff);
- uint32_t _, uint8_t x42 = subborrow_u32(x39, x27, 0x0);
- uint32_t x43 = cmovznz32(x42, x38, x26);
- uint32_t x44 = cmovznz32(x42, x35, x23);
- uint32_t x45 = cmovznz32(x42, x32, x20);
- uint32_t x46 = cmovznz32(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.v b/src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.v
deleted file mode 100644
index 3e69b6c5c..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/femul.c b/src/Specific/montgomery32_2e127m1_4limbs/femul.c
deleted file mode 100644
index 49619dbef..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/femul.c
+++ /dev/null
@@ -1,126 +0,0 @@
-static void femul(uint32_t out[4], const uint32_t in1[4], const uint32_t in2[4]) {
- { const uint32_t x8 = in1[3];
- { const uint32_t x9 = in1[2];
- { const uint32_t x7 = in1[1];
- { const uint32_t x5 = in1[0];
- { const uint32_t x14 = in2[3];
- { const uint32_t x15 = in2[2];
- { const uint32_t x13 = in2[1];
- { const uint32_t x11 = in2[0];
- { uint32_t x18; uint32_t x17 = _mulx_u32(x5, x11, &x18);
- { uint32_t x21; uint32_t x20 = _mulx_u32(x5, x13, &x21);
- { uint32_t x24; uint32_t x23 = _mulx_u32(x5, x15, &x24);
- { uint32_t x27; uint32_t x26 = _mulx_u32(x5, x14, &x27);
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x18, x20, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x21, x23, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x24, x26, &x35);
- { uint32_t x38; uint8_t _ = _addcarryx_u32(0x0, x36, x27, &x38);
- { uint32_t x42; uint32_t x41 = _mulx_u32(x17, 0xffffffff, &x42);
- { uint32_t x45; uint32_t x44 = _mulx_u32(x17, 0xffffffff, &x45);
- { uint32_t x48; uint32_t x47 = _mulx_u32(x17, 0xffffffff, &x48);
- { uint32_t x51; uint32_t x50 = _mulx_u32(x17, 0x7fffffff, &x51);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(0x0, x42, x44, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x45, x47, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x48, x50, &x59);
- { uint32_t x62; uint8_t _ = _addcarryx_u32(0x0, x60, x51, &x62);
- { uint32_t _; uint8_t x66 = _addcarryx_u32(0x0, x17, x41, &_);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x29, x53, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x32, x56, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x35, x59, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x38, x62, &x77);
- { uint32_t x81; uint32_t x80 = _mulx_u32(x7, x11, &x81);
- { uint32_t x84; uint32_t x83 = _mulx_u32(x7, x13, &x84);
- { uint32_t x87; uint32_t x86 = _mulx_u32(x7, x15, &x87);
- { uint32_t x90; uint32_t x89 = _mulx_u32(x7, x14, &x90);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(0x0, x81, x83, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x84, x86, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x87, x89, &x98);
- { uint32_t x101; uint8_t _ = _addcarryx_u32(0x0, x99, x90, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(0x0, x68, x80, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x71, x92, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x74, x95, &x110);
- { uint32_t x113; uint8_t x114 = _addcarryx_u32(x111, x77, x98, &x113);
- { uint32_t x116; uint8_t x117 = _addcarryx_u32(x114, x78, x101, &x116);
- { uint32_t x120; uint32_t x119 = _mulx_u32(x104, 0xffffffff, &x120);
- { uint32_t x123; uint32_t x122 = _mulx_u32(x104, 0xffffffff, &x123);
- { uint32_t x126; uint32_t x125 = _mulx_u32(x104, 0xffffffff, &x126);
- { uint32_t x129; uint32_t x128 = _mulx_u32(x104, 0x7fffffff, &x129);
- { uint32_t x131; uint8_t x132 = _addcarryx_u32(0x0, x120, x122, &x131);
- { uint32_t x134; uint8_t x135 = _addcarryx_u32(x132, x123, x125, &x134);
- { uint32_t x137; uint8_t x138 = _addcarryx_u32(x135, x126, x128, &x137);
- { uint32_t x140; uint8_t _ = _addcarryx_u32(0x0, x138, x129, &x140);
- { uint32_t _; uint8_t x144 = _addcarryx_u32(0x0, x104, x119, &_);
- { uint32_t x146; uint8_t x147 = _addcarryx_u32(x144, x107, x131, &x146);
- { uint32_t x149; uint8_t x150 = _addcarryx_u32(x147, x110, x134, &x149);
- { uint32_t x152; uint8_t x153 = _addcarryx_u32(x150, x113, x137, &x152);
- { uint32_t x155; uint8_t x156 = _addcarryx_u32(x153, x116, x140, &x155);
- { uint8_t x157 = (x156 + x117);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x9, x11, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x9, x13, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x9, x15, &x166);
- { uint32_t x169; uint32_t x168 = _mulx_u32(x9, x14, &x169);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(0x0, x160, x162, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x163, x165, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x166, x168, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x169, &x180);
- { uint32_t x183; uint8_t x184 = _addcarryx_u32(0x0, x146, x159, &x183);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x149, x171, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x152, x174, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x155, x177, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x157, x180, &x195);
- { uint32_t x199; uint32_t x198 = _mulx_u32(x183, 0xffffffff, &x199);
- { uint32_t x202; uint32_t x201 = _mulx_u32(x183, 0xffffffff, &x202);
- { uint32_t x205; uint32_t x204 = _mulx_u32(x183, 0xffffffff, &x205);
- { uint32_t x208; uint32_t x207 = _mulx_u32(x183, 0x7fffffff, &x208);
- { uint32_t x210; uint8_t x211 = _addcarryx_u32(0x0, x199, x201, &x210);
- { uint32_t x213; uint8_t x214 = _addcarryx_u32(x211, x202, x204, &x213);
- { uint32_t x216; uint8_t x217 = _addcarryx_u32(x214, x205, x207, &x216);
- { uint32_t x219; uint8_t _ = _addcarryx_u32(0x0, x217, x208, &x219);
- { uint32_t _; uint8_t x223 = _addcarryx_u32(0x0, x183, x198, &_);
- { uint32_t x225; uint8_t x226 = _addcarryx_u32(x223, x186, x210, &x225);
- { uint32_t x228; uint8_t x229 = _addcarryx_u32(x226, x189, x213, &x228);
- { uint32_t x231; uint8_t x232 = _addcarryx_u32(x229, x192, x216, &x231);
- { uint32_t x234; uint8_t x235 = _addcarryx_u32(x232, x195, x219, &x234);
- { uint8_t x236 = (x235 + x196);
- { uint32_t x239; uint32_t x238 = _mulx_u32(x8, x11, &x239);
- { uint32_t x242; uint32_t x241 = _mulx_u32(x8, x13, &x242);
- { uint32_t x245; uint32_t x244 = _mulx_u32(x8, x15, &x245);
- { uint32_t x248; uint32_t x247 = _mulx_u32(x8, x14, &x248);
- { uint32_t x250; uint8_t x251 = _addcarryx_u32(0x0, x239, x241, &x250);
- { uint32_t x253; uint8_t x254 = _addcarryx_u32(x251, x242, x244, &x253);
- { uint32_t x256; uint8_t x257 = _addcarryx_u32(x254, x245, x247, &x256);
- { uint32_t x259; uint8_t _ = _addcarryx_u32(0x0, x257, x248, &x259);
- { uint32_t x262; uint8_t x263 = _addcarryx_u32(0x0, x225, x238, &x262);
- { uint32_t x265; uint8_t x266 = _addcarryx_u32(x263, x228, x250, &x265);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(x266, x231, x253, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x234, x256, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x236, x259, &x274);
- { uint32_t x278; uint32_t x277 = _mulx_u32(x262, 0xffffffff, &x278);
- { uint32_t x281; uint32_t x280 = _mulx_u32(x262, 0xffffffff, &x281);
- { uint32_t x284; uint32_t x283 = _mulx_u32(x262, 0xffffffff, &x284);
- { uint32_t x287; uint32_t x286 = _mulx_u32(x262, 0x7fffffff, &x287);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(0x0, x278, x280, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x281, x283, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x284, x286, &x295);
- { uint32_t x298; uint8_t _ = _addcarryx_u32(0x0, x296, x287, &x298);
- { uint32_t _; uint8_t x302 = _addcarryx_u32(0x0, x262, x277, &_);
- { uint32_t x304; uint8_t x305 = _addcarryx_u32(x302, x265, x289, &x304);
- { uint32_t x307; uint8_t x308 = _addcarryx_u32(x305, x268, x292, &x307);
- { uint32_t x310; uint8_t x311 = _addcarryx_u32(x308, x271, x295, &x310);
- { uint32_t x313; uint8_t x314 = _addcarryx_u32(x311, x274, x298, &x313);
- { uint8_t x315 = (x314 + x275);
- { uint32_t x317; uint8_t x318 = _subborrow_u32(0x0, x304, 0xffffffff, &x317);
- { uint32_t x320; uint8_t x321 = _subborrow_u32(x318, x307, 0xffffffff, &x320);
- { uint32_t x323; uint8_t x324 = _subborrow_u32(x321, x310, 0xffffffff, &x323);
- { uint32_t x326; uint8_t x327 = _subborrow_u32(x324, x313, 0x7fffffff, &x326);
- { uint32_t _; uint8_t x330 = _subborrow_u32(x327, x315, 0x0, &_);
- { uint32_t x331 = cmovznz32(x330, x326, x313);
- { uint32_t x332 = cmovznz32(x330, x323, x310);
- { uint32_t x333 = cmovznz32(x330, x320, x307);
- { uint32_t x334 = cmovznz32(x330, x317, x304);
- out[0] = x334;
- out[1] = x333;
- out[2] = x332;
- out[3] = x331;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/femul.v b/src/Specific/montgomery32_2e127m1_4limbs/femul.v
deleted file mode 100644
index e22bcea59..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.log b/src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.log
deleted file mode 100644
index 0fa546aca..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,118 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint32_t x17, uint32_t x18 = mulx_u32(x5, x11);
- uint32_t x20, uint32_t x21 = mulx_u32(x5, x13);
- uint32_t x23, uint32_t x24 = mulx_u32(x5, x15);
- uint32_t x26, uint32_t x27 = mulx_u32(x5, x14);
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x18, x20);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x21, x23);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x24, x26);
- uint32_t x38, uint8_t _ = addcarryx_u32(0x0, x36, x27);
- uint32_t x41, uint32_t x42 = mulx_u32(x17, 0xffffffff);
- uint32_t x44, uint32_t x45 = mulx_u32(x17, 0xffffffff);
- uint32_t x47, uint32_t x48 = mulx_u32(x17, 0xffffffff);
- uint32_t x50, uint32_t x51 = mulx_u32(x17, 0x7fffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x42, x44);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x45, x47);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x48, x50);
- uint32_t x62, uint8_t _ = addcarryx_u32(0x0, x60, x51);
- uint32_t _, uint8_t x66 = addcarryx_u32(0x0, x17, x41);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x29, x53);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x32, x56);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x35, x59);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x38, x62);
- uint32_t x80, uint32_t x81 = mulx_u32(x7, x11);
- uint32_t x83, uint32_t x84 = mulx_u32(x7, x13);
- uint32_t x86, uint32_t x87 = mulx_u32(x7, x15);
- uint32_t x89, uint32_t x90 = mulx_u32(x7, x14);
- uint32_t x92, uint8_t x93 = addcarryx_u32(0x0, x81, x83);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x84, x86);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x87, x89);
- uint32_t x101, uint8_t _ = addcarryx_u32(0x0, x99, x90);
- uint32_t x104, uint8_t x105 = addcarryx_u32(0x0, x68, x80);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x71, x92);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x74, x95);
- uint32_t x113, uint8_t x114 = addcarryx_u32(x111, x77, x98);
- uint32_t x116, uint8_t x117 = addcarryx_u32(x114, x78, x101);
- uint32_t x119, uint32_t x120 = mulx_u32(x104, 0xffffffff);
- uint32_t x122, uint32_t x123 = mulx_u32(x104, 0xffffffff);
- uint32_t x125, uint32_t x126 = mulx_u32(x104, 0xffffffff);
- uint32_t x128, uint32_t x129 = mulx_u32(x104, 0x7fffffff);
- uint32_t x131, uint8_t x132 = addcarryx_u32(0x0, x120, x122);
- uint32_t x134, uint8_t x135 = addcarryx_u32(x132, x123, x125);
- uint32_t x137, uint8_t x138 = addcarryx_u32(x135, x126, x128);
- uint32_t x140, uint8_t _ = addcarryx_u32(0x0, x138, x129);
- uint32_t _, uint8_t x144 = addcarryx_u32(0x0, x104, x119);
- uint32_t x146, uint8_t x147 = addcarryx_u32(x144, x107, x131);
- uint32_t x149, uint8_t x150 = addcarryx_u32(x147, x110, x134);
- uint32_t x152, uint8_t x153 = addcarryx_u32(x150, x113, x137);
- uint32_t x155, uint8_t x156 = addcarryx_u32(x153, x116, x140);
- uint8_t x157 = (x156 + x117);
- uint32_t x159, uint32_t x160 = mulx_u32(x9, x11);
- uint32_t x162, uint32_t x163 = mulx_u32(x9, x13);
- uint32_t x165, uint32_t x166 = mulx_u32(x9, x15);
- uint32_t x168, uint32_t x169 = mulx_u32(x9, x14);
- uint32_t x171, uint8_t x172 = addcarryx_u32(0x0, x160, x162);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x163, x165);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x166, x168);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x169);
- uint32_t x183, uint8_t x184 = addcarryx_u32(0x0, x146, x159);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x149, x171);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x152, x174);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x155, x177);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x157, x180);
- uint32_t x198, uint32_t x199 = mulx_u32(x183, 0xffffffff);
- uint32_t x201, uint32_t x202 = mulx_u32(x183, 0xffffffff);
- uint32_t x204, uint32_t x205 = mulx_u32(x183, 0xffffffff);
- uint32_t x207, uint32_t x208 = mulx_u32(x183, 0x7fffffff);
- uint32_t x210, uint8_t x211 = addcarryx_u32(0x0, x199, x201);
- uint32_t x213, uint8_t x214 = addcarryx_u32(x211, x202, x204);
- uint32_t x216, uint8_t x217 = addcarryx_u32(x214, x205, x207);
- uint32_t x219, uint8_t _ = addcarryx_u32(0x0, x217, x208);
- uint32_t _, uint8_t x223 = addcarryx_u32(0x0, x183, x198);
- uint32_t x225, uint8_t x226 = addcarryx_u32(x223, x186, x210);
- uint32_t x228, uint8_t x229 = addcarryx_u32(x226, x189, x213);
- uint32_t x231, uint8_t x232 = addcarryx_u32(x229, x192, x216);
- uint32_t x234, uint8_t x235 = addcarryx_u32(x232, x195, x219);
- uint8_t x236 = (x235 + x196);
- uint32_t x238, uint32_t x239 = mulx_u32(x8, x11);
- uint32_t x241, uint32_t x242 = mulx_u32(x8, x13);
- uint32_t x244, uint32_t x245 = mulx_u32(x8, x15);
- uint32_t x247, uint32_t x248 = mulx_u32(x8, x14);
- uint32_t x250, uint8_t x251 = addcarryx_u32(0x0, x239, x241);
- uint32_t x253, uint8_t x254 = addcarryx_u32(x251, x242, x244);
- uint32_t x256, uint8_t x257 = addcarryx_u32(x254, x245, x247);
- uint32_t x259, uint8_t _ = addcarryx_u32(0x0, x257, x248);
- uint32_t x262, uint8_t x263 = addcarryx_u32(0x0, x225, x238);
- uint32_t x265, uint8_t x266 = addcarryx_u32(x263, x228, x250);
- uint32_t x268, uint8_t x269 = addcarryx_u32(x266, x231, x253);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x234, x256);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x236, x259);
- uint32_t x277, uint32_t x278 = mulx_u32(x262, 0xffffffff);
- uint32_t x280, uint32_t x281 = mulx_u32(x262, 0xffffffff);
- uint32_t x283, uint32_t x284 = mulx_u32(x262, 0xffffffff);
- uint32_t x286, uint32_t x287 = mulx_u32(x262, 0x7fffffff);
- uint32_t x289, uint8_t x290 = addcarryx_u32(0x0, x278, x280);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x281, x283);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x284, x286);
- uint32_t x298, uint8_t _ = addcarryx_u32(0x0, x296, x287);
- uint32_t _, uint8_t x302 = addcarryx_u32(0x0, x262, x277);
- uint32_t x304, uint8_t x305 = addcarryx_u32(x302, x265, x289);
- uint32_t x307, uint8_t x308 = addcarryx_u32(x305, x268, x292);
- uint32_t x310, uint8_t x311 = addcarryx_u32(x308, x271, x295);
- uint32_t x313, uint8_t x314 = addcarryx_u32(x311, x274, x298);
- uint8_t x315 = (x314 + x275);
- uint32_t x317, uint8_t x318 = subborrow_u32(0x0, x304, 0xffffffff);
- uint32_t x320, uint8_t x321 = subborrow_u32(x318, x307, 0xffffffff);
- uint32_t x323, uint8_t x324 = subborrow_u32(x321, x310, 0xffffffff);
- uint32_t x326, uint8_t x327 = subborrow_u32(x324, x313, 0x7fffffff);
- uint32_t _, uint8_t x330 = subborrow_u32(x327, x315, 0x0);
- uint32_t x331 = cmovznz32(x330, x326, x313);
- uint32_t x332 = cmovznz32(x330, x323, x310);
- uint32_t x333 = cmovznz32(x330, x320, x307);
- uint32_t x334 = cmovznz32(x330, x317, x304);
- return (x331, x332, x333, x334))
-(x, x0)%core
- : word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.v b/src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.v
deleted file mode 100644
index 8bab5a350..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fenz.c b/src/Specific/montgomery32_2e127m1_4limbs/fenz.c
deleted file mode 100644
index 65f47ec44..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[4]) {
- { const uint32_t x5 = in1[3];
- { const uint32_t x6 = in1[2];
- { const uint32_t x4 = in1[1];
- { const uint32_t x2 = in1[0];
- { uint32_t x7 = (x6 | x5);
- { uint32_t x8 = (x4 | x7);
- { uint32_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fenz.v b/src/Specific/montgomery32_2e127m1_4limbs/fenz.v
deleted file mode 100644
index 169dc0c50..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.log b/src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.log
deleted file mode 100644
index 1b557691b..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint32_t x7 = (x6 | x5);
- uint32_t x8 = (x4 | x7);
- uint32_t x9 = (x2 | x8);
- return x9)
-x
- : word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.v b/src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.v
deleted file mode 100644
index 0f7fa3040..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feopp.c b/src/Specific/montgomery32_2e127m1_4limbs/feopp.c
deleted file mode 100644
index 4109fa0d9..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint32_t out[4], const uint32_t in1[4]) {
- { const uint32_t x5 = in1[3];
- { const uint32_t x6 = in1[2];
- { const uint32_t x4 = in1[1];
- { const uint32_t x2 = in1[0];
- { uint32_t x8; uint8_t x9 = _subborrow_u32(0x0, 0x0, x2, &x8);
- { uint32_t x11; uint8_t x12 = _subborrow_u32(x9, 0x0, x4, &x11);
- { uint32_t x14; uint8_t x15 = _subborrow_u32(x12, 0x0, x6, &x14);
- { uint32_t x17; uint8_t x18 = _subborrow_u32(x15, 0x0, x5, &x17);
- { uint32_t x19 = cmovznz32(x18, 0x0, 0xffffffff);
- { uint32_t x20 = (x19 & 0xffffffff);
- { uint32_t x22; uint8_t x23 = _addcarryx_u32(0x0, x8, x20, &x22);
- { uint32_t x24 = (x19 & 0xffffffff);
- { uint32_t x26; uint8_t x27 = _addcarryx_u32(x23, x11, x24, &x26);
- { uint32_t x28 = (x19 & 0xffffffff);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x27, x14, x28, &x30);
- { uint32_t x32 = (x19 & 0x7fffffff);
- { uint32_t x34; uint8_t _ = _addcarryx_u32(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feopp.v b/src/Specific/montgomery32_2e127m1_4limbs/feopp.v
deleted file mode 100644
index bb647274b..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.log b/src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.log
deleted file mode 100644
index d9265af7f..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint32_t x8, uint8_t x9 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x11, uint8_t x12 = subborrow_u32(x9, 0x0, x4);
- uint32_t x14, uint8_t x15 = subborrow_u32(x12, 0x0, x6);
- uint32_t x17, uint8_t x18 = subborrow_u32(x15, 0x0, x5);
- uint32_t x19 = cmovznz32(x18, 0x0, 0xffffffff);
- uint32_t x20 = (x19 & 0xffffffff);
- uint32_t x22, uint8_t x23 = addcarryx_u32(0x0, x8, x20);
- uint32_t x24 = (x19 & 0xffffffff);
- uint32_t x26, uint8_t x27 = addcarryx_u32(x23, x11, x24);
- uint32_t x28 = (x19 & 0xffffffff);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x27, x14, x28);
- uint32_t x32 = (x19 & 0x7fffffff);
- uint32_t x34, uint8_t _ = addcarryx_u32(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.v b/src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.v
deleted file mode 100644
index 1d1a753e7..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fesquare.c b/src/Specific/montgomery32_2e127m1_4limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fesub.c b/src/Specific/montgomery32_2e127m1_4limbs/fesub.c
deleted file mode 100644
index 8e0bc2a3b..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint32_t out[4], const uint32_t in1[4], const uint32_t in2[4]) {
- { const uint32_t x8 = in1[3];
- { const uint32_t x9 = in1[2];
- { const uint32_t x7 = in1[1];
- { const uint32_t x5 = in1[0];
- { const uint32_t x14 = in2[3];
- { const uint32_t x15 = in2[2];
- { const uint32_t x13 = in2[1];
- { const uint32_t x11 = in2[0];
- { uint32_t x17; uint8_t x18 = _subborrow_u32(0x0, x5, x11, &x17);
- { uint32_t x20; uint8_t x21 = _subborrow_u32(x18, x7, x13, &x20);
- { uint32_t x23; uint8_t x24 = _subborrow_u32(x21, x9, x15, &x23);
- { uint32_t x26; uint8_t x27 = _subborrow_u32(x24, x8, x14, &x26);
- { uint32_t x28 = cmovznz32(x27, 0x0, 0xffffffff);
- { uint32_t x29 = (x28 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(0x0, x17, x29, &x31);
- { uint32_t x33 = (x28 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x20, x33, &x35);
- { uint32_t x37 = (x28 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x23, x37, &x39);
- { uint32_t x41 = (x28 & 0x7fffffff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fesub.v b/src/Specific/montgomery32_2e127m1_4limbs/fesub.v
deleted file mode 100644
index 28188dc6e..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.log b/src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.log
deleted file mode 100644
index ac3d00bf1..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint32_t x17, uint8_t x18 = subborrow_u32(0x0, x5, x11);
- uint32_t x20, uint8_t x21 = subborrow_u32(x18, x7, x13);
- uint32_t x23, uint8_t x24 = subborrow_u32(x21, x9, x15);
- uint32_t x26, uint8_t x27 = subborrow_u32(x24, x8, x14);
- uint32_t x28 = cmovznz32(x27, 0x0, 0xffffffff);
- uint32_t x29 = (x28 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(0x0, x17, x29);
- uint32_t x33 = (x28 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x20, x33);
- uint32_t x37 = (x28 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x23, x37);
- uint32_t x41 = (x28 & 0x7fffffff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.v b/src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.v
deleted file mode 100644
index 69ded64e0..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e127m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/py_interpreter.sh b/src/Specific/montgomery32_2e127m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 48eed6784..000000000
--- a/src/Specific/montgomery32_2e127m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**127 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e129m25_5limbs/CurveParameters.v
deleted file mode 100644
index 07048d8db..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^129 - 25
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^129;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e129m25_5limbs/Synthesis.v b/src/Specific/montgomery32_2e129m25_5limbs/Synthesis.v
deleted file mode 100644
index 0705e68bd..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.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/montgomery32_2e129m25_5limbs/compiler.sh b/src/Specific/montgomery32_2e129m25_5limbs/compiler.sh
deleted file mode 100755
index 60996ea5e..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e129m25_5limbs/compilerxx.sh
deleted file mode 100755
index 56457befb..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feadd.c b/src/Specific/montgomery32_2e129m25_5limbs/feadd.c
deleted file mode 100644
index 44c8e70d7..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xffffffe7, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x1, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feadd.v b/src/Specific/montgomery32_2e129m25_5limbs/feadd.v
deleted file mode 100644
index bf1b4b9a5..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.log
deleted file mode 100644
index aed0a7f58..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xffffffe7);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x1);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.v
deleted file mode 100644
index 9f5f979b8..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/femul.c b/src/Specific/montgomery32_2e129m25_5limbs/femul.c
deleted file mode 100644
index f03dbf6a8..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/femul.c
+++ /dev/null
@@ -1,182 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xc28f5c29, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xffffffe7, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(0x0, x55, x57, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x58, x60, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x61, x63, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x64, x51, &x75);
- { uint32_t _; uint8_t x79 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x81; uint8_t x82 = _addcarryx_u32(x79, x36, x66, &x81);
- { uint32_t x84; uint8_t x85 = _addcarryx_u32(x82, x39, x69, &x84);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x42, x72, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x45, x75, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x48, x76, &x93);
- { uint32_t x97; uint32_t x96 = _mulx_u32(x7, x13, &x97);
- { uint32_t x100; uint32_t x99 = _mulx_u32(x7, x15, &x100);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x17, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x19, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x18, &x109);
- { uint32_t x111; uint8_t x112 = _addcarryx_u32(0x0, x97, x99, &x111);
- { uint32_t x114; uint8_t x115 = _addcarryx_u32(x112, x100, x102, &x114);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(x115, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t _ = _addcarryx_u32(0x0, x121, x109, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(0x0, x81, x96, &x126);
- { uint32_t x129; uint8_t x130 = _addcarryx_u32(x127, x84, x111, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(x130, x87, x114, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x94, x123, &x141);
- { uint32_t _; uint32_t x144 = _mulx_u32(x126, 0xc28f5c29, &_);
- { uint32_t x148; uint32_t x147 = _mulx_u32(x144, 0xffffffe7, &x148);
- { uint32_t x151; uint32_t x150 = _mulx_u32(x144, 0xffffffff, &x151);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x144, 0xffffffff, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x144, 0xffffffff, &x157);
- { uint32_t x159; uint8_t x160 = _addcarryx_u32(0x0, x148, x150, &x159);
- { uint32_t x162; uint8_t x163 = _addcarryx_u32(x160, x151, x153, &x162);
- { uint32_t x165; uint8_t x166 = _addcarryx_u32(x163, x154, x156, &x165);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(x166, x157, x144, &x168);
- { uint32_t _; uint8_t x172 = _addcarryx_u32(0x0, x126, x147, &_);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x129, x159, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x132, x162, &x177);
- { uint32_t x180; uint8_t x181 = _addcarryx_u32(x178, x135, x165, &x180);
- { uint32_t x183; uint8_t x184 = _addcarryx_u32(x181, x138, x168, &x183);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x141, x169, &x186);
- { uint8_t x188 = (x187 + x142);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x9, x13, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x9, x15, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x9, x17, &x197);
- { uint32_t x200; uint32_t x199 = _mulx_u32(x9, x19, &x200);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x18, &x203);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(0x0, x191, x193, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x194, x196, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x197, x199, &x211);
- { uint32_t x214; uint8_t x215 = _addcarryx_u32(x212, x200, x202, &x214);
- { uint32_t x217; uint8_t _ = _addcarryx_u32(0x0, x215, x203, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(0x0, x174, x190, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x177, x205, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x180, x208, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x183, x211, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x186, x214, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x188, x217, &x235);
- { uint32_t _; uint32_t x238 = _mulx_u32(x220, 0xc28f5c29, &_);
- { uint32_t x242; uint32_t x241 = _mulx_u32(x238, 0xffffffe7, &x242);
- { uint32_t x245; uint32_t x244 = _mulx_u32(x238, 0xffffffff, &x245);
- { uint32_t x248; uint32_t x247 = _mulx_u32(x238, 0xffffffff, &x248);
- { uint32_t x251; uint32_t x250 = _mulx_u32(x238, 0xffffffff, &x251);
- { uint32_t x253; uint8_t x254 = _addcarryx_u32(0x0, x242, x244, &x253);
- { uint32_t x256; uint8_t x257 = _addcarryx_u32(x254, x245, x247, &x256);
- { uint32_t x259; uint8_t x260 = _addcarryx_u32(x257, x248, x250, &x259);
- { uint32_t x262; uint8_t x263 = _addcarryx_u32(x260, x251, x238, &x262);
- { uint32_t _; uint8_t x266 = _addcarryx_u32(0x0, x220, x241, &_);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(x266, x223, x253, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x226, x256, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x229, x259, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x232, x262, &x277);
- { uint32_t x280; uint8_t x281 = _addcarryx_u32(x278, x235, x263, &x280);
- { uint8_t x282 = (x281 + x236);
- { uint32_t x285; uint32_t x284 = _mulx_u32(x11, x13, &x285);
- { uint32_t x288; uint32_t x287 = _mulx_u32(x11, x15, &x288);
- { uint32_t x291; uint32_t x290 = _mulx_u32(x11, x17, &x291);
- { uint32_t x294; uint32_t x293 = _mulx_u32(x11, x19, &x294);
- { uint32_t x297; uint32_t x296 = _mulx_u32(x11, x18, &x297);
- { uint32_t x299; uint8_t x300 = _addcarryx_u32(0x0, x285, x287, &x299);
- { uint32_t x302; uint8_t x303 = _addcarryx_u32(x300, x288, x290, &x302);
- { uint32_t x305; uint8_t x306 = _addcarryx_u32(x303, x291, x293, &x305);
- { uint32_t x308; uint8_t x309 = _addcarryx_u32(x306, x294, x296, &x308);
- { uint32_t x311; uint8_t _ = _addcarryx_u32(0x0, x309, x297, &x311);
- { uint32_t x314; uint8_t x315 = _addcarryx_u32(0x0, x268, x284, &x314);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(x315, x271, x299, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x274, x302, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x277, x305, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x280, x308, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x282, x311, &x329);
- { uint32_t _; uint32_t x332 = _mulx_u32(x314, 0xc28f5c29, &_);
- { uint32_t x336; uint32_t x335 = _mulx_u32(x332, 0xffffffe7, &x336);
- { uint32_t x339; uint32_t x338 = _mulx_u32(x332, 0xffffffff, &x339);
- { uint32_t x342; uint32_t x341 = _mulx_u32(x332, 0xffffffff, &x342);
- { uint32_t x345; uint32_t x344 = _mulx_u32(x332, 0xffffffff, &x345);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(0x0, x336, x338, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x339, x341, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x342, x344, &x353);
- { uint32_t x356; uint8_t x357 = _addcarryx_u32(x354, x345, x332, &x356);
- { uint32_t _; uint8_t x360 = _addcarryx_u32(0x0, x314, x335, &_);
- { uint32_t x362; uint8_t x363 = _addcarryx_u32(x360, x317, x347, &x362);
- { uint32_t x365; uint8_t x366 = _addcarryx_u32(x363, x320, x350, &x365);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(x366, x323, x353, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x326, x356, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x329, x357, &x374);
- { uint8_t x376 = (x375 + x330);
- { uint32_t x379; uint32_t x378 = _mulx_u32(x10, x13, &x379);
- { uint32_t x382; uint32_t x381 = _mulx_u32(x10, x15, &x382);
- { uint32_t x385; uint32_t x384 = _mulx_u32(x10, x17, &x385);
- { uint32_t x388; uint32_t x387 = _mulx_u32(x10, x19, &x388);
- { uint32_t x391; uint32_t x390 = _mulx_u32(x10, x18, &x391);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x379, x381, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x382, x384, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x385, x387, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x388, x390, &x402);
- { uint32_t x405; uint8_t _ = _addcarryx_u32(0x0, x403, x391, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(0x0, x362, x378, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x365, x393, &x411);
- { uint32_t x414; uint8_t x415 = _addcarryx_u32(x412, x368, x396, &x414);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(x415, x371, x399, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x374, x402, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x376, x405, &x423);
- { uint32_t _; uint32_t x426 = _mulx_u32(x408, 0xc28f5c29, &_);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x426, 0xffffffe7, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x426, 0xffffffff, &x433);
- { uint32_t x436; uint32_t x435 = _mulx_u32(x426, 0xffffffff, &x436);
- { uint32_t x439; uint32_t x438 = _mulx_u32(x426, 0xffffffff, &x439);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(0x0, x430, x432, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x433, x435, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x436, x438, &x447);
- { uint32_t x450; uint8_t x451 = _addcarryx_u32(x448, x439, x426, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x408, x429, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x411, x441, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x414, x444, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x417, x447, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x420, x450, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x423, x451, &x468);
- { uint8_t x470 = (x469 + x424);
- { uint32_t x472; uint8_t x473 = _subborrow_u32(0x0, x456, 0xffffffe7, &x472);
- { uint32_t x475; uint8_t x476 = _subborrow_u32(x473, x459, 0xffffffff, &x475);
- { uint32_t x478; uint8_t x479 = _subborrow_u32(x476, x462, 0xffffffff, &x478);
- { uint32_t x481; uint8_t x482 = _subborrow_u32(x479, x465, 0xffffffff, &x481);
- { uint32_t x484; uint8_t x485 = _subborrow_u32(x482, x468, 0x1, &x484);
- { uint32_t _; uint8_t x488 = _subborrow_u32(x485, x470, 0x0, &_);
- { uint32_t x489 = cmovznz32(x488, x484, x468);
- { uint32_t x490 = cmovznz32(x488, x481, x465);
- { uint32_t x491 = cmovznz32(x488, x478, x462);
- { uint32_t x492 = cmovznz32(x488, x475, x459);
- { uint32_t x493 = cmovznz32(x488, x472, x456);
- out[0] = x493;
- out[1] = x492;
- out[2] = x491;
- out[3] = x490;
- out[4] = x489;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/femul.v b/src/Specific/montgomery32_2e129m25_5limbs/femul.v
deleted file mode 100644
index cb93e3569..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.log
deleted file mode 100644
index 15f5ce352..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,171 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xc28f5c29);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xffffffe7);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint8_t x67 = addcarryx_u32(0x0, x55, x57);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x58, x60);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x61, x63);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x64, x51);
- uint32_t _, uint8_t x79 = addcarryx_u32(0x0, x21, x54);
- uint32_t x81, uint8_t x82 = addcarryx_u32(x79, x36, x66);
- uint32_t x84, uint8_t x85 = addcarryx_u32(x82, x39, x69);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x42, x72);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x45, x75);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x48, x76);
- uint32_t x96, uint32_t x97 = mulx_u32(x7, x13);
- uint32_t x99, uint32_t x100 = mulx_u32(x7, x15);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x17);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x19);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x18);
- uint32_t x111, uint8_t x112 = addcarryx_u32(0x0, x97, x99);
- uint32_t x114, uint8_t x115 = addcarryx_u32(x112, x100, x102);
- uint32_t x117, uint8_t x118 = addcarryx_u32(x115, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t _ = addcarryx_u32(0x0, x121, x109);
- uint32_t x126, uint8_t x127 = addcarryx_u32(0x0, x81, x96);
- uint32_t x129, uint8_t x130 = addcarryx_u32(x127, x84, x111);
- uint32_t x132, uint8_t x133 = addcarryx_u32(x130, x87, x114);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x94, x123);
- uint32_t x144, uint32_t _ = mulx_u32(x126, 0xc28f5c29);
- uint32_t x147, uint32_t x148 = mulx_u32(x144, 0xffffffe7);
- uint32_t x150, uint32_t x151 = mulx_u32(x144, 0xffffffff);
- uint32_t x153, uint32_t x154 = mulx_u32(x144, 0xffffffff);
- uint32_t x156, uint32_t x157 = mulx_u32(x144, 0xffffffff);
- uint32_t x159, uint8_t x160 = addcarryx_u32(0x0, x148, x150);
- uint32_t x162, uint8_t x163 = addcarryx_u32(x160, x151, x153);
- uint32_t x165, uint8_t x166 = addcarryx_u32(x163, x154, x156);
- uint32_t x168, uint8_t x169 = addcarryx_u32(x166, x157, x144);
- uint32_t _, uint8_t x172 = addcarryx_u32(0x0, x126, x147);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x129, x159);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x132, x162);
- uint32_t x180, uint8_t x181 = addcarryx_u32(x178, x135, x165);
- uint32_t x183, uint8_t x184 = addcarryx_u32(x181, x138, x168);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x141, x169);
- uint8_t x188 = (x187 + x142);
- uint32_t x190, uint32_t x191 = mulx_u32(x9, x13);
- uint32_t x193, uint32_t x194 = mulx_u32(x9, x15);
- uint32_t x196, uint32_t x197 = mulx_u32(x9, x17);
- uint32_t x199, uint32_t x200 = mulx_u32(x9, x19);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x18);
- uint32_t x205, uint8_t x206 = addcarryx_u32(0x0, x191, x193);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x194, x196);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x197, x199);
- uint32_t x214, uint8_t x215 = addcarryx_u32(x212, x200, x202);
- uint32_t x217, uint8_t _ = addcarryx_u32(0x0, x215, x203);
- uint32_t x220, uint8_t x221 = addcarryx_u32(0x0, x174, x190);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x177, x205);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x180, x208);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x183, x211);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x186, x214);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x188, x217);
- uint32_t x238, uint32_t _ = mulx_u32(x220, 0xc28f5c29);
- uint32_t x241, uint32_t x242 = mulx_u32(x238, 0xffffffe7);
- uint32_t x244, uint32_t x245 = mulx_u32(x238, 0xffffffff);
- uint32_t x247, uint32_t x248 = mulx_u32(x238, 0xffffffff);
- uint32_t x250, uint32_t x251 = mulx_u32(x238, 0xffffffff);
- uint32_t x253, uint8_t x254 = addcarryx_u32(0x0, x242, x244);
- uint32_t x256, uint8_t x257 = addcarryx_u32(x254, x245, x247);
- uint32_t x259, uint8_t x260 = addcarryx_u32(x257, x248, x250);
- uint32_t x262, uint8_t x263 = addcarryx_u32(x260, x251, x238);
- uint32_t _, uint8_t x266 = addcarryx_u32(0x0, x220, x241);
- uint32_t x268, uint8_t x269 = addcarryx_u32(x266, x223, x253);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x226, x256);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x229, x259);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x232, x262);
- uint32_t x280, uint8_t x281 = addcarryx_u32(x278, x235, x263);
- uint8_t x282 = (x281 + x236);
- uint32_t x284, uint32_t x285 = mulx_u32(x11, x13);
- uint32_t x287, uint32_t x288 = mulx_u32(x11, x15);
- uint32_t x290, uint32_t x291 = mulx_u32(x11, x17);
- uint32_t x293, uint32_t x294 = mulx_u32(x11, x19);
- uint32_t x296, uint32_t x297 = mulx_u32(x11, x18);
- uint32_t x299, uint8_t x300 = addcarryx_u32(0x0, x285, x287);
- uint32_t x302, uint8_t x303 = addcarryx_u32(x300, x288, x290);
- uint32_t x305, uint8_t x306 = addcarryx_u32(x303, x291, x293);
- uint32_t x308, uint8_t x309 = addcarryx_u32(x306, x294, x296);
- uint32_t x311, uint8_t _ = addcarryx_u32(0x0, x309, x297);
- uint32_t x314, uint8_t x315 = addcarryx_u32(0x0, x268, x284);
- uint32_t x317, uint8_t x318 = addcarryx_u32(x315, x271, x299);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x274, x302);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x277, x305);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x280, x308);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x282, x311);
- uint32_t x332, uint32_t _ = mulx_u32(x314, 0xc28f5c29);
- uint32_t x335, uint32_t x336 = mulx_u32(x332, 0xffffffe7);
- uint32_t x338, uint32_t x339 = mulx_u32(x332, 0xffffffff);
- uint32_t x341, uint32_t x342 = mulx_u32(x332, 0xffffffff);
- uint32_t x344, uint32_t x345 = mulx_u32(x332, 0xffffffff);
- uint32_t x347, uint8_t x348 = addcarryx_u32(0x0, x336, x338);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x339, x341);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x342, x344);
- uint32_t x356, uint8_t x357 = addcarryx_u32(x354, x345, x332);
- uint32_t _, uint8_t x360 = addcarryx_u32(0x0, x314, x335);
- uint32_t x362, uint8_t x363 = addcarryx_u32(x360, x317, x347);
- uint32_t x365, uint8_t x366 = addcarryx_u32(x363, x320, x350);
- uint32_t x368, uint8_t x369 = addcarryx_u32(x366, x323, x353);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x326, x356);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x329, x357);
- uint8_t x376 = (x375 + x330);
- uint32_t x378, uint32_t x379 = mulx_u32(x10, x13);
- uint32_t x381, uint32_t x382 = mulx_u32(x10, x15);
- uint32_t x384, uint32_t x385 = mulx_u32(x10, x17);
- uint32_t x387, uint32_t x388 = mulx_u32(x10, x19);
- uint32_t x390, uint32_t x391 = mulx_u32(x10, x18);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x379, x381);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x382, x384);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x385, x387);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x388, x390);
- uint32_t x405, uint8_t _ = addcarryx_u32(0x0, x403, x391);
- uint32_t x408, uint8_t x409 = addcarryx_u32(0x0, x362, x378);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x365, x393);
- uint32_t x414, uint8_t x415 = addcarryx_u32(x412, x368, x396);
- uint32_t x417, uint8_t x418 = addcarryx_u32(x415, x371, x399);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x374, x402);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x376, x405);
- uint32_t x426, uint32_t _ = mulx_u32(x408, 0xc28f5c29);
- uint32_t x429, uint32_t x430 = mulx_u32(x426, 0xffffffe7);
- uint32_t x432, uint32_t x433 = mulx_u32(x426, 0xffffffff);
- uint32_t x435, uint32_t x436 = mulx_u32(x426, 0xffffffff);
- uint32_t x438, uint32_t x439 = mulx_u32(x426, 0xffffffff);
- uint32_t x441, uint8_t x442 = addcarryx_u32(0x0, x430, x432);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x433, x435);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x436, x438);
- uint32_t x450, uint8_t x451 = addcarryx_u32(x448, x439, x426);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x408, x429);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x411, x441);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x414, x444);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x417, x447);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x420, x450);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x423, x451);
- uint8_t x470 = (x469 + x424);
- uint32_t x472, uint8_t x473 = subborrow_u32(0x0, x456, 0xffffffe7);
- uint32_t x475, uint8_t x476 = subborrow_u32(x473, x459, 0xffffffff);
- uint32_t x478, uint8_t x479 = subborrow_u32(x476, x462, 0xffffffff);
- uint32_t x481, uint8_t x482 = subborrow_u32(x479, x465, 0xffffffff);
- uint32_t x484, uint8_t x485 = subborrow_u32(x482, x468, 0x1);
- uint32_t _, uint8_t x488 = subborrow_u32(x485, x470, 0x0);
- uint32_t x489 = cmovznz32(x488, x484, x468);
- uint32_t x490 = cmovznz32(x488, x481, x465);
- uint32_t x491 = cmovznz32(x488, x478, x462);
- uint32_t x492 = cmovznz32(x488, x475, x459);
- uint32_t x493 = cmovznz32(x488, x472, x456);
- return (x489, x490, x491, x492, x493))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.v
deleted file mode 100644
index a6a17a74d..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fenz.c b/src/Specific/montgomery32_2e129m25_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fenz.v b/src/Specific/montgomery32_2e129m25_5limbs/fenz.v
deleted file mode 100644
index e299151f3..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.v
deleted file mode 100644
index 60bf6ae9c..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feopp.c b/src/Specific/montgomery32_2e129m25_5limbs/feopp.c
deleted file mode 100644
index 01cd3f66d..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xffffffe7);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint8_t x41 = ((uint8_t)x24 & 0x1);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feopp.v b/src/Specific/montgomery32_2e129m25_5limbs/feopp.v
deleted file mode 100644
index 7edb8724f..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.log
deleted file mode 100644
index fb5260ead..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xffffffe7);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint8_t x41 = ((uint8_t)x24 & 0x1);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.v
deleted file mode 100644
index 49af2b9ce..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fesquare.c b/src/Specific/montgomery32_2e129m25_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fesub.c b/src/Specific/montgomery32_2e129m25_5limbs/fesub.c
deleted file mode 100644
index f7c5313f1..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xffffffe7);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint8_t x52 = ((uint8_t)x35 & 0x1);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fesub.v b/src/Specific/montgomery32_2e129m25_5limbs/fesub.v
deleted file mode 100644
index 729a7c9d6..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.log
deleted file mode 100644
index fa6a3160e..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xffffffe7);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint8_t x52 = ((uint8_t)x35 & 0x1);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.v
deleted file mode 100644
index 66ee3324b..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e129m25_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e129m25_5limbs/py_interpreter.sh
deleted file mode 100755
index cc79d3711..000000000
--- a/src/Specific/montgomery32_2e129m25_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**129 - 25' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e130m5_5limbs/CurveParameters.v
deleted file mode 100644
index 4dfc2991f..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^130 - 5
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^130;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e130m5_5limbs/Synthesis.v b/src/Specific/montgomery32_2e130m5_5limbs/Synthesis.v
deleted file mode 100644
index 59fb07950..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.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/montgomery32_2e130m5_5limbs/compiler.sh b/src/Specific/montgomery32_2e130m5_5limbs/compiler.sh
deleted file mode 100755
index 48a85d622..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e130m5_5limbs/compilerxx.sh
deleted file mode 100755
index da243f641..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feadd.c b/src/Specific/montgomery32_2e130m5_5limbs/feadd.c
deleted file mode 100644
index 89b9fbad7..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xfffffffb, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x3, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feadd.v b/src/Specific/montgomery32_2e130m5_5limbs/feadd.v
deleted file mode 100644
index 7adfcf552..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.log
deleted file mode 100644
index 3fbc68015..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xfffffffb);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x3);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.v
deleted file mode 100644
index 90935a752..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/femul.c b/src/Specific/montgomery32_2e130m5_5limbs/femul.c
deleted file mode 100644
index dad2ff269..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xcccccccd, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xfffffffb, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint8_t x67; uint32_t x66 = _mulx_u32_out_u8(x51, 0x3, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint8_t x80 = (x79 + x67);
- { uint32_t _; uint8_t x83 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x36, x69, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x39, x72, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x42, x75, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x45, x78, &x94);
- { uint32_t x97; uint8_t x98 = _addcarryx_u32(x95, x48, x80, &x97);
- { uint32_t x101; uint32_t x100 = _mulx_u32(x7, x13, &x101);
- { uint32_t x104; uint32_t x103 = _mulx_u32(x7, x15, &x104);
- { uint32_t x107; uint32_t x106 = _mulx_u32(x7, x17, &x107);
- { uint32_t x110; uint32_t x109 = _mulx_u32(x7, x19, &x110);
- { uint32_t x113; uint32_t x112 = _mulx_u32(x7, x18, &x113);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(0x0, x101, x103, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x104, x106, &x118);
- { uint32_t x121; uint8_t x122 = _addcarryx_u32(x119, x107, x109, &x121);
- { uint32_t x124; uint8_t x125 = _addcarryx_u32(x122, x110, x112, &x124);
- { uint32_t x127; uint8_t _ = _addcarryx_u32(0x0, x125, x113, &x127);
- { uint32_t x130; uint8_t x131 = _addcarryx_u32(0x0, x85, x100, &x130);
- { uint32_t x133; uint8_t x134 = _addcarryx_u32(x131, x88, x115, &x133);
- { uint32_t x136; uint8_t x137 = _addcarryx_u32(x134, x91, x118, &x136);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(x137, x94, x121, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x97, x124, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x98, x127, &x145);
- { uint32_t _; uint32_t x148 = _mulx_u32(x130, 0xcccccccd, &_);
- { uint32_t x152; uint32_t x151 = _mulx_u32(x148, 0xfffffffb, &x152);
- { uint32_t x155; uint32_t x154 = _mulx_u32(x148, 0xffffffff, &x155);
- { uint32_t x158; uint32_t x157 = _mulx_u32(x148, 0xffffffff, &x158);
- { uint32_t x161; uint32_t x160 = _mulx_u32(x148, 0xffffffff, &x161);
- { uint8_t x164; uint32_t x163 = _mulx_u32_out_u8(x148, 0x3, &x164);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(0x0, x152, x154, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x155, x157, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x158, x160, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x161, x163, &x175);
- { uint8_t x177 = (x176 + x164);
- { uint32_t _; uint8_t x180 = _addcarryx_u32(0x0, x130, x151, &_);
- { uint32_t x182; uint8_t x183 = _addcarryx_u32(x180, x133, x166, &x182);
- { uint32_t x185; uint8_t x186 = _addcarryx_u32(x183, x136, x169, &x185);
- { uint32_t x188; uint8_t x189 = _addcarryx_u32(x186, x139, x172, &x188);
- { uint32_t x191; uint8_t x192 = _addcarryx_u32(x189, x142, x175, &x191);
- { uint32_t x194; uint8_t x195 = _addcarryx_u32(x192, x145, x177, &x194);
- { uint8_t x196 = (x195 + x146);
- { uint32_t x199; uint32_t x198 = _mulx_u32(x9, x13, &x199);
- { uint32_t x202; uint32_t x201 = _mulx_u32(x9, x15, &x202);
- { uint32_t x205; uint32_t x204 = _mulx_u32(x9, x17, &x205);
- { uint32_t x208; uint32_t x207 = _mulx_u32(x9, x19, &x208);
- { uint32_t x211; uint32_t x210 = _mulx_u32(x9, x18, &x211);
- { uint32_t x213; uint8_t x214 = _addcarryx_u32(0x0, x199, x201, &x213);
- { uint32_t x216; uint8_t x217 = _addcarryx_u32(x214, x202, x204, &x216);
- { uint32_t x219; uint8_t x220 = _addcarryx_u32(x217, x205, x207, &x219);
- { uint32_t x222; uint8_t x223 = _addcarryx_u32(x220, x208, x210, &x222);
- { uint32_t x225; uint8_t _ = _addcarryx_u32(0x0, x223, x211, &x225);
- { uint32_t x228; uint8_t x229 = _addcarryx_u32(0x0, x182, x198, &x228);
- { uint32_t x231; uint8_t x232 = _addcarryx_u32(x229, x185, x213, &x231);
- { uint32_t x234; uint8_t x235 = _addcarryx_u32(x232, x188, x216, &x234);
- { uint32_t x237; uint8_t x238 = _addcarryx_u32(x235, x191, x219, &x237);
- { uint32_t x240; uint8_t x241 = _addcarryx_u32(x238, x194, x222, &x240);
- { uint32_t x243; uint8_t x244 = _addcarryx_u32(x241, x196, x225, &x243);
- { uint32_t _; uint32_t x246 = _mulx_u32(x228, 0xcccccccd, &_);
- { uint32_t x250; uint32_t x249 = _mulx_u32(x246, 0xfffffffb, &x250);
- { uint32_t x253; uint32_t x252 = _mulx_u32(x246, 0xffffffff, &x253);
- { uint32_t x256; uint32_t x255 = _mulx_u32(x246, 0xffffffff, &x256);
- { uint32_t x259; uint32_t x258 = _mulx_u32(x246, 0xffffffff, &x259);
- { uint8_t x262; uint32_t x261 = _mulx_u32_out_u8(x246, 0x3, &x262);
- { uint32_t x264; uint8_t x265 = _addcarryx_u32(0x0, x250, x252, &x264);
- { uint32_t x267; uint8_t x268 = _addcarryx_u32(x265, x253, x255, &x267);
- { uint32_t x270; uint8_t x271 = _addcarryx_u32(x268, x256, x258, &x270);
- { uint32_t x273; uint8_t x274 = _addcarryx_u32(x271, x259, x261, &x273);
- { uint8_t x275 = (x274 + x262);
- { uint32_t _; uint8_t x278 = _addcarryx_u32(0x0, x228, x249, &_);
- { uint32_t x280; uint8_t x281 = _addcarryx_u32(x278, x231, x264, &x280);
- { uint32_t x283; uint8_t x284 = _addcarryx_u32(x281, x234, x267, &x283);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x237, x270, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x240, x273, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x243, x275, &x292);
- { uint8_t x294 = (x293 + x244);
- { uint32_t x297; uint32_t x296 = _mulx_u32(x11, x13, &x297);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x11, x15, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x17, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x19, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x18, &x309);
- { uint32_t x311; uint8_t x312 = _addcarryx_u32(0x0, x297, x299, &x311);
- { uint32_t x314; uint8_t x315 = _addcarryx_u32(x312, x300, x302, &x314);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(x315, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t _ = _addcarryx_u32(0x0, x321, x309, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(0x0, x280, x296, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x283, x311, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(x330, x286, x314, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x294, x323, &x341);
- { uint32_t _; uint32_t x344 = _mulx_u32(x326, 0xcccccccd, &_);
- { uint32_t x348; uint32_t x347 = _mulx_u32(x344, 0xfffffffb, &x348);
- { uint32_t x351; uint32_t x350 = _mulx_u32(x344, 0xffffffff, &x351);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x344, 0xffffffff, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x344, 0xffffffff, &x357);
- { uint8_t x360; uint32_t x359 = _mulx_u32_out_u8(x344, 0x3, &x360);
- { uint32_t x362; uint8_t x363 = _addcarryx_u32(0x0, x348, x350, &x362);
- { uint32_t x365; uint8_t x366 = _addcarryx_u32(x363, x351, x353, &x365);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(x366, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint8_t x373 = (x372 + x360);
- { uint32_t _; uint8_t x376 = _addcarryx_u32(0x0, x326, x347, &_);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x329, x362, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x332, x365, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x335, x368, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x338, x371, &x387);
- { uint32_t x390; uint8_t x391 = _addcarryx_u32(x388, x341, x373, &x390);
- { uint8_t x392 = (x391 + x342);
- { uint32_t x395; uint32_t x394 = _mulx_u32(x10, x13, &x395);
- { uint32_t x398; uint32_t x397 = _mulx_u32(x10, x15, &x398);
- { uint32_t x401; uint32_t x400 = _mulx_u32(x10, x17, &x401);
- { uint32_t x404; uint32_t x403 = _mulx_u32(x10, x19, &x404);
- { uint32_t x407; uint32_t x406 = _mulx_u32(x10, x18, &x407);
- { uint32_t x409; uint8_t x410 = _addcarryx_u32(0x0, x395, x397, &x409);
- { uint32_t x412; uint8_t x413 = _addcarryx_u32(x410, x398, x400, &x412);
- { uint32_t x415; uint8_t x416 = _addcarryx_u32(x413, x401, x403, &x415);
- { uint32_t x418; uint8_t x419 = _addcarryx_u32(x416, x404, x406, &x418);
- { uint32_t x421; uint8_t _ = _addcarryx_u32(0x0, x419, x407, &x421);
- { uint32_t x424; uint8_t x425 = _addcarryx_u32(0x0, x378, x394, &x424);
- { uint32_t x427; uint8_t x428 = _addcarryx_u32(x425, x381, x409, &x427);
- { uint32_t x430; uint8_t x431 = _addcarryx_u32(x428, x384, x412, &x430);
- { uint32_t x433; uint8_t x434 = _addcarryx_u32(x431, x387, x415, &x433);
- { uint32_t x436; uint8_t x437 = _addcarryx_u32(x434, x390, x418, &x436);
- { uint32_t x439; uint8_t x440 = _addcarryx_u32(x437, x392, x421, &x439);
- { uint32_t _; uint32_t x442 = _mulx_u32(x424, 0xcccccccd, &_);
- { uint32_t x446; uint32_t x445 = _mulx_u32(x442, 0xfffffffb, &x446);
- { uint32_t x449; uint32_t x448 = _mulx_u32(x442, 0xffffffff, &x449);
- { uint32_t x452; uint32_t x451 = _mulx_u32(x442, 0xffffffff, &x452);
- { uint32_t x455; uint32_t x454 = _mulx_u32(x442, 0xffffffff, &x455);
- { uint8_t x458; uint32_t x457 = _mulx_u32_out_u8(x442, 0x3, &x458);
- { uint32_t x460; uint8_t x461 = _addcarryx_u32(0x0, x446, x448, &x460);
- { uint32_t x463; uint8_t x464 = _addcarryx_u32(x461, x449, x451, &x463);
- { uint32_t x466; uint8_t x467 = _addcarryx_u32(x464, x452, x454, &x466);
- { uint32_t x469; uint8_t x470 = _addcarryx_u32(x467, x455, x457, &x469);
- { uint8_t x471 = (x470 + x458);
- { uint32_t _; uint8_t x474 = _addcarryx_u32(0x0, x424, x445, &_);
- { uint32_t x476; uint8_t x477 = _addcarryx_u32(x474, x427, x460, &x476);
- { uint32_t x479; uint8_t x480 = _addcarryx_u32(x477, x430, x463, &x479);
- { uint32_t x482; uint8_t x483 = _addcarryx_u32(x480, x433, x466, &x482);
- { uint32_t x485; uint8_t x486 = _addcarryx_u32(x483, x436, x469, &x485);
- { uint32_t x488; uint8_t x489 = _addcarryx_u32(x486, x439, x471, &x488);
- { uint8_t x490 = (x489 + x440);
- { uint32_t x492; uint8_t x493 = _subborrow_u32(0x0, x476, 0xfffffffb, &x492);
- { uint32_t x495; uint8_t x496 = _subborrow_u32(x493, x479, 0xffffffff, &x495);
- { uint32_t x498; uint8_t x499 = _subborrow_u32(x496, x482, 0xffffffff, &x498);
- { uint32_t x501; uint8_t x502 = _subborrow_u32(x499, x485, 0xffffffff, &x501);
- { uint32_t x504; uint8_t x505 = _subborrow_u32(x502, x488, 0x3, &x504);
- { uint32_t _; uint8_t x508 = _subborrow_u32(x505, x490, 0x0, &_);
- { uint32_t x509 = cmovznz32(x508, x504, x488);
- { uint32_t x510 = cmovznz32(x508, x501, x485);
- { uint32_t x511 = cmovznz32(x508, x498, x482);
- { uint32_t x512 = cmovznz32(x508, x495, x479);
- { uint32_t x513 = cmovznz32(x508, x492, x476);
- out[0] = x513;
- out[1] = x512;
- out[2] = x511;
- out[3] = x510;
- out[4] = x509;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/femul.v b/src/Specific/montgomery32_2e130m5_5limbs/femul.v
deleted file mode 100644
index ea475c8ed..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.log
deleted file mode 100644
index 913522927..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xcccccccd);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xfffffffb);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint8_t x67 = mulx_u32_out_u8(x51, 0x3);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint8_t x80 = (x79 + x67);
- uint32_t _, uint8_t x83 = addcarryx_u32(0x0, x21, x54);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x36, x69);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x39, x72);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x42, x75);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x45, x78);
- uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x48, x80);
- uint32_t x100, uint32_t x101 = mulx_u32(x7, x13);
- uint32_t x103, uint32_t x104 = mulx_u32(x7, x15);
- uint32_t x106, uint32_t x107 = mulx_u32(x7, x17);
- uint32_t x109, uint32_t x110 = mulx_u32(x7, x19);
- uint32_t x112, uint32_t x113 = mulx_u32(x7, x18);
- uint32_t x115, uint8_t x116 = addcarryx_u32(0x0, x101, x103);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x104, x106);
- uint32_t x121, uint8_t x122 = addcarryx_u32(x119, x107, x109);
- uint32_t x124, uint8_t x125 = addcarryx_u32(x122, x110, x112);
- uint32_t x127, uint8_t _ = addcarryx_u32(0x0, x125, x113);
- uint32_t x130, uint8_t x131 = addcarryx_u32(0x0, x85, x100);
- uint32_t x133, uint8_t x134 = addcarryx_u32(x131, x88, x115);
- uint32_t x136, uint8_t x137 = addcarryx_u32(x134, x91, x118);
- uint32_t x139, uint8_t x140 = addcarryx_u32(x137, x94, x121);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x97, x124);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x98, x127);
- uint32_t x148, uint32_t _ = mulx_u32(x130, 0xcccccccd);
- uint32_t x151, uint32_t x152 = mulx_u32(x148, 0xfffffffb);
- uint32_t x154, uint32_t x155 = mulx_u32(x148, 0xffffffff);
- uint32_t x157, uint32_t x158 = mulx_u32(x148, 0xffffffff);
- uint32_t x160, uint32_t x161 = mulx_u32(x148, 0xffffffff);
- uint32_t x163, uint8_t x164 = mulx_u32_out_u8(x148, 0x3);
- uint32_t x166, uint8_t x167 = addcarryx_u32(0x0, x152, x154);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x155, x157);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x158, x160);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x161, x163);
- uint8_t x177 = (x176 + x164);
- uint32_t _, uint8_t x180 = addcarryx_u32(0x0, x130, x151);
- uint32_t x182, uint8_t x183 = addcarryx_u32(x180, x133, x166);
- uint32_t x185, uint8_t x186 = addcarryx_u32(x183, x136, x169);
- uint32_t x188, uint8_t x189 = addcarryx_u32(x186, x139, x172);
- uint32_t x191, uint8_t x192 = addcarryx_u32(x189, x142, x175);
- uint32_t x194, uint8_t x195 = addcarryx_u32(x192, x145, x177);
- uint8_t x196 = (x195 + x146);
- uint32_t x198, uint32_t x199 = mulx_u32(x9, x13);
- uint32_t x201, uint32_t x202 = mulx_u32(x9, x15);
- uint32_t x204, uint32_t x205 = mulx_u32(x9, x17);
- uint32_t x207, uint32_t x208 = mulx_u32(x9, x19);
- uint32_t x210, uint32_t x211 = mulx_u32(x9, x18);
- uint32_t x213, uint8_t x214 = addcarryx_u32(0x0, x199, x201);
- uint32_t x216, uint8_t x217 = addcarryx_u32(x214, x202, x204);
- uint32_t x219, uint8_t x220 = addcarryx_u32(x217, x205, x207);
- uint32_t x222, uint8_t x223 = addcarryx_u32(x220, x208, x210);
- uint32_t x225, uint8_t _ = addcarryx_u32(0x0, x223, x211);
- uint32_t x228, uint8_t x229 = addcarryx_u32(0x0, x182, x198);
- uint32_t x231, uint8_t x232 = addcarryx_u32(x229, x185, x213);
- uint32_t x234, uint8_t x235 = addcarryx_u32(x232, x188, x216);
- uint32_t x237, uint8_t x238 = addcarryx_u32(x235, x191, x219);
- uint32_t x240, uint8_t x241 = addcarryx_u32(x238, x194, x222);
- uint32_t x243, uint8_t x244 = addcarryx_u32(x241, x196, x225);
- uint32_t x246, uint32_t _ = mulx_u32(x228, 0xcccccccd);
- uint32_t x249, uint32_t x250 = mulx_u32(x246, 0xfffffffb);
- uint32_t x252, uint32_t x253 = mulx_u32(x246, 0xffffffff);
- uint32_t x255, uint32_t x256 = mulx_u32(x246, 0xffffffff);
- uint32_t x258, uint32_t x259 = mulx_u32(x246, 0xffffffff);
- uint32_t x261, uint8_t x262 = mulx_u32_out_u8(x246, 0x3);
- uint32_t x264, uint8_t x265 = addcarryx_u32(0x0, x250, x252);
- uint32_t x267, uint8_t x268 = addcarryx_u32(x265, x253, x255);
- uint32_t x270, uint8_t x271 = addcarryx_u32(x268, x256, x258);
- uint32_t x273, uint8_t x274 = addcarryx_u32(x271, x259, x261);
- uint8_t x275 = (x274 + x262);
- uint32_t _, uint8_t x278 = addcarryx_u32(0x0, x228, x249);
- uint32_t x280, uint8_t x281 = addcarryx_u32(x278, x231, x264);
- uint32_t x283, uint8_t x284 = addcarryx_u32(x281, x234, x267);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x237, x270);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x240, x273);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x243, x275);
- uint8_t x294 = (x293 + x244);
- uint32_t x296, uint32_t x297 = mulx_u32(x11, x13);
- uint32_t x299, uint32_t x300 = mulx_u32(x11, x15);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x17);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x19);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x18);
- uint32_t x311, uint8_t x312 = addcarryx_u32(0x0, x297, x299);
- uint32_t x314, uint8_t x315 = addcarryx_u32(x312, x300, x302);
- uint32_t x317, uint8_t x318 = addcarryx_u32(x315, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t _ = addcarryx_u32(0x0, x321, x309);
- uint32_t x326, uint8_t x327 = addcarryx_u32(0x0, x280, x296);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x283, x311);
- uint32_t x332, uint8_t x333 = addcarryx_u32(x330, x286, x314);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x294, x323);
- uint32_t x344, uint32_t _ = mulx_u32(x326, 0xcccccccd);
- uint32_t x347, uint32_t x348 = mulx_u32(x344, 0xfffffffb);
- uint32_t x350, uint32_t x351 = mulx_u32(x344, 0xffffffff);
- uint32_t x353, uint32_t x354 = mulx_u32(x344, 0xffffffff);
- uint32_t x356, uint32_t x357 = mulx_u32(x344, 0xffffffff);
- uint32_t x359, uint8_t x360 = mulx_u32_out_u8(x344, 0x3);
- uint32_t x362, uint8_t x363 = addcarryx_u32(0x0, x348, x350);
- uint32_t x365, uint8_t x366 = addcarryx_u32(x363, x351, x353);
- uint32_t x368, uint8_t x369 = addcarryx_u32(x366, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint8_t x373 = (x372 + x360);
- uint32_t _, uint8_t x376 = addcarryx_u32(0x0, x326, x347);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x329, x362);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x332, x365);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x335, x368);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x338, x371);
- uint32_t x390, uint8_t x391 = addcarryx_u32(x388, x341, x373);
- uint8_t x392 = (x391 + x342);
- uint32_t x394, uint32_t x395 = mulx_u32(x10, x13);
- uint32_t x397, uint32_t x398 = mulx_u32(x10, x15);
- uint32_t x400, uint32_t x401 = mulx_u32(x10, x17);
- uint32_t x403, uint32_t x404 = mulx_u32(x10, x19);
- uint32_t x406, uint32_t x407 = mulx_u32(x10, x18);
- uint32_t x409, uint8_t x410 = addcarryx_u32(0x0, x395, x397);
- uint32_t x412, uint8_t x413 = addcarryx_u32(x410, x398, x400);
- uint32_t x415, uint8_t x416 = addcarryx_u32(x413, x401, x403);
- uint32_t x418, uint8_t x419 = addcarryx_u32(x416, x404, x406);
- uint32_t x421, uint8_t _ = addcarryx_u32(0x0, x419, x407);
- uint32_t x424, uint8_t x425 = addcarryx_u32(0x0, x378, x394);
- uint32_t x427, uint8_t x428 = addcarryx_u32(x425, x381, x409);
- uint32_t x430, uint8_t x431 = addcarryx_u32(x428, x384, x412);
- uint32_t x433, uint8_t x434 = addcarryx_u32(x431, x387, x415);
- uint32_t x436, uint8_t x437 = addcarryx_u32(x434, x390, x418);
- uint32_t x439, uint8_t x440 = addcarryx_u32(x437, x392, x421);
- uint32_t x442, uint32_t _ = mulx_u32(x424, 0xcccccccd);
- uint32_t x445, uint32_t x446 = mulx_u32(x442, 0xfffffffb);
- uint32_t x448, uint32_t x449 = mulx_u32(x442, 0xffffffff);
- uint32_t x451, uint32_t x452 = mulx_u32(x442, 0xffffffff);
- uint32_t x454, uint32_t x455 = mulx_u32(x442, 0xffffffff);
- uint32_t x457, uint8_t x458 = mulx_u32_out_u8(x442, 0x3);
- uint32_t x460, uint8_t x461 = addcarryx_u32(0x0, x446, x448);
- uint32_t x463, uint8_t x464 = addcarryx_u32(x461, x449, x451);
- uint32_t x466, uint8_t x467 = addcarryx_u32(x464, x452, x454);
- uint32_t x469, uint8_t x470 = addcarryx_u32(x467, x455, x457);
- uint8_t x471 = (x470 + x458);
- uint32_t _, uint8_t x474 = addcarryx_u32(0x0, x424, x445);
- uint32_t x476, uint8_t x477 = addcarryx_u32(x474, x427, x460);
- uint32_t x479, uint8_t x480 = addcarryx_u32(x477, x430, x463);
- uint32_t x482, uint8_t x483 = addcarryx_u32(x480, x433, x466);
- uint32_t x485, uint8_t x486 = addcarryx_u32(x483, x436, x469);
- uint32_t x488, uint8_t x489 = addcarryx_u32(x486, x439, x471);
- uint8_t x490 = (x489 + x440);
- uint32_t x492, uint8_t x493 = subborrow_u32(0x0, x476, 0xfffffffb);
- uint32_t x495, uint8_t x496 = subborrow_u32(x493, x479, 0xffffffff);
- uint32_t x498, uint8_t x499 = subborrow_u32(x496, x482, 0xffffffff);
- uint32_t x501, uint8_t x502 = subborrow_u32(x499, x485, 0xffffffff);
- uint32_t x504, uint8_t x505 = subborrow_u32(x502, x488, 0x3);
- uint32_t _, uint8_t x508 = subborrow_u32(x505, x490, 0x0);
- uint32_t x509 = cmovznz32(x508, x504, x488);
- uint32_t x510 = cmovznz32(x508, x501, x485);
- uint32_t x511 = cmovznz32(x508, x498, x482);
- uint32_t x512 = cmovznz32(x508, x495, x479);
- uint32_t x513 = cmovznz32(x508, x492, x476);
- return (x509, x510, x511, x512, x513))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.v
deleted file mode 100644
index e4cbca3c6..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fenz.c b/src/Specific/montgomery32_2e130m5_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fenz.v b/src/Specific/montgomery32_2e130m5_5limbs/fenz.v
deleted file mode 100644
index 8b9c5ba27..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.v
deleted file mode 100644
index 32b0b16c9..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feopp.c b/src/Specific/montgomery32_2e130m5_5limbs/feopp.c
deleted file mode 100644
index 52806d593..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xfffffffb);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint8_t x41 = ((uint8_t)x24 & 0x3);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feopp.v b/src/Specific/montgomery32_2e130m5_5limbs/feopp.v
deleted file mode 100644
index ac54e2776..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.log
deleted file mode 100644
index 3f460c1dd..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xfffffffb);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint8_t x41 = ((uint8_t)x24 & 0x3);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.v
deleted file mode 100644
index 938271ace..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fesquare.c b/src/Specific/montgomery32_2e130m5_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fesub.c b/src/Specific/montgomery32_2e130m5_5limbs/fesub.c
deleted file mode 100644
index fed7c8420..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xfffffffb);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint8_t x52 = ((uint8_t)x35 & 0x3);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fesub.v b/src/Specific/montgomery32_2e130m5_5limbs/fesub.v
deleted file mode 100644
index 145b55a60..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.log
deleted file mode 100644
index e12f2c9c3..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xfffffffb);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint8_t x52 = ((uint8_t)x35 & 0x3);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.v
deleted file mode 100644
index e67451fe7..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e130m5_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e130m5_5limbs/py_interpreter.sh
deleted file mode 100755
index d46af80e8..000000000
--- a/src/Specific/montgomery32_2e130m5_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**130 - 5' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e137m13_5limbs/CurveParameters.v
deleted file mode 100644
index 941f2eebd..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^137 - 13
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^137;
- c := [(1, 13)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e137m13_5limbs/Synthesis.v b/src/Specific/montgomery32_2e137m13_5limbs/Synthesis.v
deleted file mode 100644
index b56dd46b8..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.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/montgomery32_2e137m13_5limbs/compiler.sh b/src/Specific/montgomery32_2e137m13_5limbs/compiler.sh
deleted file mode 100755
index 4f4a355de..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e137m13_5limbs/compilerxx.sh
deleted file mode 100755
index b93176006..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feadd.c b/src/Specific/montgomery32_2e137m13_5limbs/feadd.c
deleted file mode 100644
index 9551c2a6f..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xfffffff3, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x1ff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feadd.v b/src/Specific/montgomery32_2e137m13_5limbs/feadd.v
deleted file mode 100644
index 78808dc89..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.log
deleted file mode 100644
index ce18e4d1f..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xfffffff3);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x1ff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.v
deleted file mode 100644
index 0469bd3bd..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/femul.c b/src/Specific/montgomery32_2e137m13_5limbs/femul.c
deleted file mode 100644
index 95d505d62..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xc4ec4ec5, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xfffffff3, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0x1ff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0xc4ec4ec5, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xfffffff3, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0x1ff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0xc4ec4ec5, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xfffffff3, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0x1ff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0xc4ec4ec5, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xfffffff3, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0x1ff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0xc4ec4ec5, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xfffffff3, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0x1ff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xfffffff3, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0x1ff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/femul.v b/src/Specific/montgomery32_2e137m13_5limbs/femul.v
deleted file mode 100644
index bd4825a7b..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.log
deleted file mode 100644
index e2ecb1b74..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xc4ec4ec5);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xfffffff3);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0x1ff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0xc4ec4ec5);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xfffffff3);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0x1ff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0xc4ec4ec5);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xfffffff3);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0x1ff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0xc4ec4ec5);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xfffffff3);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0x1ff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0xc4ec4ec5);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xfffffff3);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0x1ff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xfffffff3);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0x1ff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.v
deleted file mode 100644
index ba617c773..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fenz.c b/src/Specific/montgomery32_2e137m13_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fenz.v b/src/Specific/montgomery32_2e137m13_5limbs/fenz.v
deleted file mode 100644
index 73595f696..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.v
deleted file mode 100644
index c080f5f06..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feopp.c b/src/Specific/montgomery32_2e137m13_5limbs/feopp.c
deleted file mode 100644
index 39924b58e..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xfffffff3);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0x1ff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feopp.v b/src/Specific/montgomery32_2e137m13_5limbs/feopp.v
deleted file mode 100644
index c701f3fc4..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.log
deleted file mode 100644
index f1cfb1f67..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xfffffff3);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0x1ff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.v
deleted file mode 100644
index daa6255a6..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fesquare.c b/src/Specific/montgomery32_2e137m13_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fesub.c b/src/Specific/montgomery32_2e137m13_5limbs/fesub.c
deleted file mode 100644
index ee8fe44ce..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xfffffff3);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0x1ff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fesub.v b/src/Specific/montgomery32_2e137m13_5limbs/fesub.v
deleted file mode 100644
index 553ed7091..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.log
deleted file mode 100644
index 795077b02..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xfffffff3);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0x1ff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.v
deleted file mode 100644
index 3e210f0e0..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e137m13_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e137m13_5limbs/py_interpreter.sh
deleted file mode 100755
index 50240a08b..000000000
--- a/src/Specific/montgomery32_2e137m13_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**137 - 13' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e140m27_5limbs/CurveParameters.v
deleted file mode 100644
index 541761b3b..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^140 - 27
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^140;
- c := [(1, 27)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e140m27_5limbs/Synthesis.v b/src/Specific/montgomery32_2e140m27_5limbs/Synthesis.v
deleted file mode 100644
index 5d3a616f1..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.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/montgomery32_2e140m27_5limbs/compiler.sh b/src/Specific/montgomery32_2e140m27_5limbs/compiler.sh
deleted file mode 100755
index 717963c99..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e140m27_5limbs/compilerxx.sh
deleted file mode 100755
index 2e3e981cd..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feadd.c b/src/Specific/montgomery32_2e140m27_5limbs/feadd.c
deleted file mode 100644
index a836d6e4b..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xffffffe5, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0xfff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feadd.v b/src/Specific/montgomery32_2e140m27_5limbs/feadd.v
deleted file mode 100644
index b162d72d8..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.log
deleted file mode 100644
index 1d528f09a..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xffffffe5);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0xfff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.v
deleted file mode 100644
index 8c4b08316..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/femul.c b/src/Specific/montgomery32_2e140m27_5limbs/femul.c
deleted file mode 100644
index 71d6053f7..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0x684bda13, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xffffffe5, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0xfff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0x684bda13, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xffffffe5, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0xfff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0x684bda13, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xffffffe5, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0xfff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0x684bda13, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xffffffe5, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0xfff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0x684bda13, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xffffffe5, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0xfff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xffffffe5, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0xfff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/femul.v b/src/Specific/montgomery32_2e140m27_5limbs/femul.v
deleted file mode 100644
index ccdbc9a54..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.log
deleted file mode 100644
index 5dfdbcff6..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0x684bda13);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xffffffe5);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0xfff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0x684bda13);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xffffffe5);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0xfff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0x684bda13);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xffffffe5);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0xfff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0x684bda13);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xffffffe5);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0xfff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0x684bda13);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xffffffe5);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0xfff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xffffffe5);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0xfff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.v
deleted file mode 100644
index 09889813a..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fenz.c b/src/Specific/montgomery32_2e140m27_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fenz.v b/src/Specific/montgomery32_2e140m27_5limbs/fenz.v
deleted file mode 100644
index 006963fda..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.v
deleted file mode 100644
index cf91b5d6b..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feopp.c b/src/Specific/montgomery32_2e140m27_5limbs/feopp.c
deleted file mode 100644
index 5b9a3606e..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xffffffe5);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0xfff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feopp.v b/src/Specific/montgomery32_2e140m27_5limbs/feopp.v
deleted file mode 100644
index 7120c2abc..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.log
deleted file mode 100644
index 4b3132870..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xffffffe5);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0xfff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.v
deleted file mode 100644
index b89cce730..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fesquare.c b/src/Specific/montgomery32_2e140m27_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fesub.c b/src/Specific/montgomery32_2e140m27_5limbs/fesub.c
deleted file mode 100644
index 66c4f3cc0..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xffffffe5);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0xfff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fesub.v b/src/Specific/montgomery32_2e140m27_5limbs/fesub.v
deleted file mode 100644
index 61d5c7d70..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.log
deleted file mode 100644
index f4896928b..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xffffffe5);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0xfff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.v
deleted file mode 100644
index ee49f5655..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e140m27_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e140m27_5limbs/py_interpreter.sh
deleted file mode 100755
index c02634165..000000000
--- a/src/Specific/montgomery32_2e140m27_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**140 - 27' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e141m9_5limbs/CurveParameters.v
deleted file mode 100644
index 341a4a51e..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^141 - 9
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^141;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e141m9_5limbs/Synthesis.v b/src/Specific/montgomery32_2e141m9_5limbs/Synthesis.v
deleted file mode 100644
index da08f76a8..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.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/montgomery32_2e141m9_5limbs/compiler.sh b/src/Specific/montgomery32_2e141m9_5limbs/compiler.sh
deleted file mode 100755
index 0d0666f49..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e141m9_5limbs/compilerxx.sh
deleted file mode 100755
index 63a0318a2..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feadd.c b/src/Specific/montgomery32_2e141m9_5limbs/feadd.c
deleted file mode 100644
index 29f2dbfd7..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xfffffff7, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x1fff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feadd.v b/src/Specific/montgomery32_2e141m9_5limbs/feadd.v
deleted file mode 100644
index bb1b4de4f..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.log
deleted file mode 100644
index 5a7279038..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xfffffff7);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x1fff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.v
deleted file mode 100644
index 7cba42aa2..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/femul.c b/src/Specific/montgomery32_2e141m9_5limbs/femul.c
deleted file mode 100644
index 1d70a8f0c..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0x38e38e39, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xfffffff7, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0x1fff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0x38e38e39, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xfffffff7, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0x1fff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0x38e38e39, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xfffffff7, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0x1fff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0x38e38e39, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xfffffff7, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0x1fff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0x38e38e39, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xfffffff7, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0x1fff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xfffffff7, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0x1fff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/femul.v b/src/Specific/montgomery32_2e141m9_5limbs/femul.v
deleted file mode 100644
index 6ea02e6a3..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.log
deleted file mode 100644
index de7cb15c0..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0x38e38e39);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xfffffff7);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0x1fff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0x38e38e39);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xfffffff7);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0x1fff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0x38e38e39);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xfffffff7);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0x1fff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0x38e38e39);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xfffffff7);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0x1fff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0x38e38e39);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xfffffff7);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0x1fff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xfffffff7);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0x1fff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.v
deleted file mode 100644
index d68128c60..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fenz.c b/src/Specific/montgomery32_2e141m9_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fenz.v b/src/Specific/montgomery32_2e141m9_5limbs/fenz.v
deleted file mode 100644
index ce075993d..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.v
deleted file mode 100644
index bf6031d0c..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feopp.c b/src/Specific/montgomery32_2e141m9_5limbs/feopp.c
deleted file mode 100644
index 1df743151..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xfffffff7);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0x1fff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feopp.v b/src/Specific/montgomery32_2e141m9_5limbs/feopp.v
deleted file mode 100644
index 01aa4b127..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.log
deleted file mode 100644
index 0bb6e4ef5..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xfffffff7);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0x1fff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.v
deleted file mode 100644
index 01c672f9b..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fesquare.c b/src/Specific/montgomery32_2e141m9_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fesub.c b/src/Specific/montgomery32_2e141m9_5limbs/fesub.c
deleted file mode 100644
index ac66bcd49..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xfffffff7);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0x1fff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fesub.v b/src/Specific/montgomery32_2e141m9_5limbs/fesub.v
deleted file mode 100644
index 2636b0188..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.log
deleted file mode 100644
index 68b2db085..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xfffffff7);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0x1fff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.v
deleted file mode 100644
index 34de3f43c..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e141m9_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e141m9_5limbs/py_interpreter.sh
deleted file mode 100755
index efdc6d4ce..000000000
--- a/src/Specific/montgomery32_2e141m9_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**141 - 9' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e150m3_5limbs/CurveParameters.v
deleted file mode 100644
index 761ac9131..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^150;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e150m3_5limbs/Synthesis.v b/src/Specific/montgomery32_2e150m3_5limbs/Synthesis.v
deleted file mode 100644
index 4b788c221..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.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/montgomery32_2e150m3_5limbs/compiler.sh b/src/Specific/montgomery32_2e150m3_5limbs/compiler.sh
deleted file mode 100755
index 53fdb40c6..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e150m3_5limbs/compilerxx.sh
deleted file mode 100755
index 58cdd782f..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feadd.c b/src/Specific/montgomery32_2e150m3_5limbs/feadd.c
deleted file mode 100644
index 9a127229b..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xfffffffd, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x3fffff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feadd.v b/src/Specific/montgomery32_2e150m3_5limbs/feadd.v
deleted file mode 100644
index 51ae22d1e..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.log
deleted file mode 100644
index 2633d1b6d..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xfffffffd);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x3fffff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.v
deleted file mode 100644
index a87ae2476..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/femul.c b/src/Specific/montgomery32_2e150m3_5limbs/femul.c
deleted file mode 100644
index a7b4e9f8f..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xaaaaaaab, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xfffffffd, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0x3fffff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0xaaaaaaab, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xfffffffd, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0x3fffff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0xaaaaaaab, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xfffffffd, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0x3fffff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0xaaaaaaab, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xfffffffd, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0x3fffff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0xaaaaaaab, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xfffffffd, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0x3fffff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xfffffffd, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0x3fffff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/femul.v b/src/Specific/montgomery32_2e150m3_5limbs/femul.v
deleted file mode 100644
index e88f08d14..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.log
deleted file mode 100644
index 6258382e3..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xaaaaaaab);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xfffffffd);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0x3fffff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0xaaaaaaab);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xfffffffd);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0x3fffff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0xaaaaaaab);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xfffffffd);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0x3fffff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0xaaaaaaab);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xfffffffd);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0x3fffff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0xaaaaaaab);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xfffffffd);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0x3fffff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xfffffffd);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0x3fffff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.v
deleted file mode 100644
index 48f659f86..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fenz.c b/src/Specific/montgomery32_2e150m3_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fenz.v b/src/Specific/montgomery32_2e150m3_5limbs/fenz.v
deleted file mode 100644
index 6dba2f111..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.v
deleted file mode 100644
index a16ea3ceb..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feopp.c b/src/Specific/montgomery32_2e150m3_5limbs/feopp.c
deleted file mode 100644
index d20b45d9f..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xfffffffd);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0x3fffff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feopp.v b/src/Specific/montgomery32_2e150m3_5limbs/feopp.v
deleted file mode 100644
index 5cfa8918d..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.log
deleted file mode 100644
index 15ae1a066..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xfffffffd);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0x3fffff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.v
deleted file mode 100644
index 1ede3cecb..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fesquare.c b/src/Specific/montgomery32_2e150m3_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fesub.c b/src/Specific/montgomery32_2e150m3_5limbs/fesub.c
deleted file mode 100644
index 4de3e1ed2..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xfffffffd);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0x3fffff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fesub.v b/src/Specific/montgomery32_2e150m3_5limbs/fesub.v
deleted file mode 100644
index 8a2697292..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.log
deleted file mode 100644
index 9fe6254c8..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xfffffffd);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0x3fffff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.v
deleted file mode 100644
index 6b896ff42..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m3_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e150m3_5limbs/py_interpreter.sh
deleted file mode 100755
index 9d6257b10..000000000
--- a/src/Specific/montgomery32_2e150m3_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e150m5_5limbs/CurveParameters.v
deleted file mode 100644
index 906516faa..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 5
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^150;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e150m5_5limbs/Synthesis.v b/src/Specific/montgomery32_2e150m5_5limbs/Synthesis.v
deleted file mode 100644
index dde355b73..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.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/montgomery32_2e150m5_5limbs/compiler.sh b/src/Specific/montgomery32_2e150m5_5limbs/compiler.sh
deleted file mode 100755
index 91e0abdc5..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e150m5_5limbs/compilerxx.sh
deleted file mode 100755
index 69d18f81d..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feadd.c b/src/Specific/montgomery32_2e150m5_5limbs/feadd.c
deleted file mode 100644
index 6101067bb..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xfffffffb, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x3fffff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feadd.v b/src/Specific/montgomery32_2e150m5_5limbs/feadd.v
deleted file mode 100644
index 69655f147..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.log
deleted file mode 100644
index 28a86c45b..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xfffffffb);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x3fffff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.v
deleted file mode 100644
index 9154e825e..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/femul.c b/src/Specific/montgomery32_2e150m5_5limbs/femul.c
deleted file mode 100644
index bf7026593..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xcccccccd, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xfffffffb, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0x3fffff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0xcccccccd, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xfffffffb, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0x3fffff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0xcccccccd, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xfffffffb, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0x3fffff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0xcccccccd, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xfffffffb, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0x3fffff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0xcccccccd, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xfffffffb, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0x3fffff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xfffffffb, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0x3fffff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/femul.v b/src/Specific/montgomery32_2e150m5_5limbs/femul.v
deleted file mode 100644
index 23af1d3dd..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.log
deleted file mode 100644
index c78e55401..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xcccccccd);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xfffffffb);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0x3fffff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0xcccccccd);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xfffffffb);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0x3fffff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0xcccccccd);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xfffffffb);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0x3fffff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0xcccccccd);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xfffffffb);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0x3fffff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0xcccccccd);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xfffffffb);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0x3fffff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xfffffffb);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0x3fffff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.v
deleted file mode 100644
index 3946f2a44..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fenz.c b/src/Specific/montgomery32_2e150m5_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fenz.v b/src/Specific/montgomery32_2e150m5_5limbs/fenz.v
deleted file mode 100644
index 4de7adb0a..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.v
deleted file mode 100644
index c64254096..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feopp.c b/src/Specific/montgomery32_2e150m5_5limbs/feopp.c
deleted file mode 100644
index a73292a9e..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xfffffffb);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0x3fffff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feopp.v b/src/Specific/montgomery32_2e150m5_5limbs/feopp.v
deleted file mode 100644
index 5664d761c..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.log
deleted file mode 100644
index 91f1653b3..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xfffffffb);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0x3fffff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.v
deleted file mode 100644
index 6b93c764a..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fesquare.c b/src/Specific/montgomery32_2e150m5_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fesub.c b/src/Specific/montgomery32_2e150m5_5limbs/fesub.c
deleted file mode 100644
index 7f860d2ba..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xfffffffb);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0x3fffff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fesub.v b/src/Specific/montgomery32_2e150m5_5limbs/fesub.v
deleted file mode 100644
index 973f52ae0..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.log
deleted file mode 100644
index 96fa1ea1d..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xfffffffb);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0x3fffff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.v
deleted file mode 100644
index e71e48443..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e150m5_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e150m5_5limbs/py_interpreter.sh
deleted file mode 100755
index 65d951fe9..000000000
--- a/src/Specific/montgomery32_2e150m5_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 5' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e152m17_5limbs/CurveParameters.v
deleted file mode 100644
index 9192d3590..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^152 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^152;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e152m17_5limbs/Synthesis.v b/src/Specific/montgomery32_2e152m17_5limbs/Synthesis.v
deleted file mode 100644
index 83cae829c..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.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/montgomery32_2e152m17_5limbs/compiler.sh b/src/Specific/montgomery32_2e152m17_5limbs/compiler.sh
deleted file mode 100755
index 363f7a25a..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e152m17_5limbs/compilerxx.sh
deleted file mode 100755
index 7b66fa059..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feadd.c b/src/Specific/montgomery32_2e152m17_5limbs/feadd.c
deleted file mode 100644
index 7aa9a97e8..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xffffffef, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0xffffff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feadd.v b/src/Specific/montgomery32_2e152m17_5limbs/feadd.v
deleted file mode 100644
index 735f65f34..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.log
deleted file mode 100644
index f5e728c70..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xffffffef);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0xffffff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.v
deleted file mode 100644
index 36f9f7f2c..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/femul.c b/src/Specific/montgomery32_2e152m17_5limbs/femul.c
deleted file mode 100644
index b7f131ce6..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xf0f0f0f1, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xffffffef, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0xffffff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0xf0f0f0f1, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xffffffef, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0xffffff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0xf0f0f0f1, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xffffffef, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0xffffff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0xf0f0f0f1, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xffffffef, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0xffffff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0xf0f0f0f1, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xffffffef, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0xffffff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xffffffef, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0xffffff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/femul.v b/src/Specific/montgomery32_2e152m17_5limbs/femul.v
deleted file mode 100644
index 3e6c93cdc..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.log
deleted file mode 100644
index b6c0f4374..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xf0f0f0f1);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xffffffef);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0xffffff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0xf0f0f0f1);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xffffffef);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0xffffff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0xf0f0f0f1);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xffffffef);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0xffffff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0xf0f0f0f1);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xffffffef);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0xffffff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0xf0f0f0f1);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xffffffef);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0xffffff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xffffffef);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0xffffff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.v
deleted file mode 100644
index 5881d2bf3..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fenz.c b/src/Specific/montgomery32_2e152m17_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fenz.v b/src/Specific/montgomery32_2e152m17_5limbs/fenz.v
deleted file mode 100644
index 36879601b..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.v
deleted file mode 100644
index 64937127c..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feopp.c b/src/Specific/montgomery32_2e152m17_5limbs/feopp.c
deleted file mode 100644
index 9315b0eb2..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xffffffef);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0xffffff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feopp.v b/src/Specific/montgomery32_2e152m17_5limbs/feopp.v
deleted file mode 100644
index ac9bb7548..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.log
deleted file mode 100644
index 75f6eb65a..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xffffffef);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0xffffff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.v
deleted file mode 100644
index b7c7f7e48..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fesquare.c b/src/Specific/montgomery32_2e152m17_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fesub.c b/src/Specific/montgomery32_2e152m17_5limbs/fesub.c
deleted file mode 100644
index 613b712b5..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xffffffef);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0xffffff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fesub.v b/src/Specific/montgomery32_2e152m17_5limbs/fesub.v
deleted file mode 100644
index 7f943ed76..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.log
deleted file mode 100644
index ee2a25baf..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xffffffef);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0xffffff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.v
deleted file mode 100644
index 872631ac6..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e152m17_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e152m17_5limbs/py_interpreter.sh
deleted file mode 100755
index b6dee011d..000000000
--- a/src/Specific/montgomery32_2e152m17_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**152 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/CurveParameters.v b/src/Specific/montgomery32_2e158m15_5limbs/CurveParameters.v
deleted file mode 100644
index 282dd6dba..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^158 - 15
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 32;
- bitwidth := 32;
- s := 2^158;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e158m15_5limbs/Synthesis.v b/src/Specific/montgomery32_2e158m15_5limbs/Synthesis.v
deleted file mode 100644
index 4b384a199..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.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/montgomery32_2e158m15_5limbs/compiler.sh b/src/Specific/montgomery32_2e158m15_5limbs/compiler.sh
deleted file mode 100755
index d2c2fc2bc..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/compilerxx.sh b/src/Specific/montgomery32_2e158m15_5limbs/compilerxx.sh
deleted file mode 100755
index 8a31dc80c..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feadd.c b/src/Specific/montgomery32_2e158m15_5limbs/feadd.c
deleted file mode 100644
index ea813d3c5..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _addcarryx_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _addcarryx_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _addcarryx_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(x31, x10, x18, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(0x0, x21, 0xfffffff1, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x24, 0xffffffff, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x27, 0xffffffff, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x30, 0xffffffff, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x33, 0x3fffffff, &x48);
- { uint32_t _; uint8_t x52 = _subborrow_u32(x49, x34, 0x0, &_);
- { uint32_t x53 = cmovznz32(x52, x48, x33);
- { uint32_t x54 = cmovznz32(x52, x45, x30);
- { uint32_t x55 = cmovznz32(x52, x42, x27);
- { uint32_t x56 = cmovznz32(x52, x39, x24);
- { uint32_t x57 = cmovznz32(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feadd.v b/src/Specific/montgomery32_2e158m15_5limbs/feadd.v
deleted file mode 100644
index 14023b2f1..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.log b/src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.log
deleted file mode 100644
index b65769f73..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = addcarryx_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = addcarryx_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = addcarryx_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = addcarryx_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = addcarryx_u32(x31, x10, x18);
- uint32_t x36, uint8_t x37 = subborrow_u32(0x0, x21, 0xfffffff1);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x24, 0xffffffff);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x27, 0xffffffff);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x30, 0xffffffff);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x33, 0x3fffffff);
- uint32_t _, uint8_t x52 = subborrow_u32(x49, x34, 0x0);
- uint32_t x53 = cmovznz32(x52, x48, x33);
- uint32_t x54 = cmovznz32(x52, x45, x30);
- uint32_t x55 = cmovznz32(x52, x42, x27);
- uint32_t x56 = cmovznz32(x52, x39, x24);
- uint32_t x57 = cmovznz32(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.v b/src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.v
deleted file mode 100644
index 18ce7f295..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/femul.c b/src/Specific/montgomery32_2e158m15_5limbs/femul.c
deleted file mode 100644
index c3a464980..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x22; uint32_t x21 = _mulx_u32(x5, x13, &x22);
- { uint32_t x25; uint32_t x24 = _mulx_u32(x5, x15, &x25);
- { uint32_t x28; uint32_t x27 = _mulx_u32(x5, x17, &x28);
- { uint32_t x31; uint32_t x30 = _mulx_u32(x5, x19, &x31);
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x18, &x34);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(0x0, x22, x24, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x25, x27, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x28, x30, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x31, x33, &x45);
- { uint32_t x48; uint8_t _ = _addcarryx_u32(0x0, x46, x34, &x48);
- { uint32_t _; uint32_t x51 = _mulx_u32(x21, 0xeeeeeeef, &_);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x51, 0xfffffff1, &x55);
- { uint32_t x58; uint32_t x57 = _mulx_u32(x51, 0xffffffff, &x58);
- { uint32_t x61; uint32_t x60 = _mulx_u32(x51, 0xffffffff, &x61);
- { uint32_t x64; uint32_t x63 = _mulx_u32(x51, 0xffffffff, &x64);
- { uint32_t x67; uint32_t x66 = _mulx_u32(x51, 0x3fffffff, &x67);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x55, x57, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x58, x60, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x61, x63, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x64, x66, &x78);
- { uint32_t x81; uint8_t _ = _addcarryx_u32(0x0, x79, x67, &x81);
- { uint32_t _; uint8_t x85 = _addcarryx_u32(0x0, x21, x54, &_);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x36, x69, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x39, x72, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x42, x75, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x45, x78, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x48, x81, &x99);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x7, x13, &x103);
- { uint32_t x106; uint32_t x105 = _mulx_u32(x7, x15, &x106);
- { uint32_t x109; uint32_t x108 = _mulx_u32(x7, x17, &x109);
- { uint32_t x112; uint32_t x111 = _mulx_u32(x7, x19, &x112);
- { uint32_t x115; uint32_t x114 = _mulx_u32(x7, x18, &x115);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(0x0, x103, x105, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x106, x108, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x109, x111, &x123);
- { uint32_t x126; uint8_t x127 = _addcarryx_u32(x124, x112, x114, &x126);
- { uint32_t x129; uint8_t _ = _addcarryx_u32(0x0, x127, x115, &x129);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(0x0, x87, x102, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x90, x117, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x93, x120, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x96, x123, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x99, x126, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x100, x129, &x147);
- { uint32_t _; uint32_t x150 = _mulx_u32(x132, 0xeeeeeeef, &_);
- { uint32_t x154; uint32_t x153 = _mulx_u32(x150, 0xfffffff1, &x154);
- { uint32_t x157; uint32_t x156 = _mulx_u32(x150, 0xffffffff, &x157);
- { uint32_t x160; uint32_t x159 = _mulx_u32(x150, 0xffffffff, &x160);
- { uint32_t x163; uint32_t x162 = _mulx_u32(x150, 0xffffffff, &x163);
- { uint32_t x166; uint32_t x165 = _mulx_u32(x150, 0x3fffffff, &x166);
- { uint32_t x168; uint8_t x169 = _addcarryx_u32(0x0, x154, x156, &x168);
- { uint32_t x171; uint8_t x172 = _addcarryx_u32(x169, x157, x159, &x171);
- { uint32_t x174; uint8_t x175 = _addcarryx_u32(x172, x160, x162, &x174);
- { uint32_t x177; uint8_t x178 = _addcarryx_u32(x175, x163, x165, &x177);
- { uint32_t x180; uint8_t _ = _addcarryx_u32(0x0, x178, x166, &x180);
- { uint32_t _; uint8_t x184 = _addcarryx_u32(0x0, x132, x153, &_);
- { uint32_t x186; uint8_t x187 = _addcarryx_u32(x184, x135, x168, &x186);
- { uint32_t x189; uint8_t x190 = _addcarryx_u32(x187, x138, x171, &x189);
- { uint32_t x192; uint8_t x193 = _addcarryx_u32(x190, x141, x174, &x192);
- { uint32_t x195; uint8_t x196 = _addcarryx_u32(x193, x144, x177, &x195);
- { uint32_t x198; uint8_t x199 = _addcarryx_u32(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint32_t x203; uint32_t x202 = _mulx_u32(x9, x13, &x203);
- { uint32_t x206; uint32_t x205 = _mulx_u32(x9, x15, &x206);
- { uint32_t x209; uint32_t x208 = _mulx_u32(x9, x17, &x209);
- { uint32_t x212; uint32_t x211 = _mulx_u32(x9, x19, &x212);
- { uint32_t x215; uint32_t x214 = _mulx_u32(x9, x18, &x215);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(0x0, x203, x205, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x206, x208, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x209, x211, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x212, x214, &x226);
- { uint32_t x229; uint8_t _ = _addcarryx_u32(0x0, x227, x215, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(0x0, x186, x202, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x189, x217, &x235);
- { uint32_t x238; uint8_t x239 = _addcarryx_u32(x236, x192, x220, &x238);
- { uint32_t x241; uint8_t x242 = _addcarryx_u32(x239, x195, x223, &x241);
- { uint32_t x244; uint8_t x245 = _addcarryx_u32(x242, x198, x226, &x244);
- { uint32_t x247; uint8_t x248 = _addcarryx_u32(x245, x200, x229, &x247);
- { uint32_t _; uint32_t x250 = _mulx_u32(x232, 0xeeeeeeef, &_);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x250, 0xfffffff1, &x254);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x250, 0xffffffff, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x250, 0xffffffff, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x250, 0xffffffff, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x250, 0x3fffffff, &x266);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(0x0, x254, x256, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x257, x259, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x260, x262, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x263, x265, &x277);
- { uint32_t x280; uint8_t _ = _addcarryx_u32(0x0, x278, x266, &x280);
- { uint32_t _; uint8_t x284 = _addcarryx_u32(0x0, x232, x253, &_);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x235, x268, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x238, x271, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x241, x274, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x244, x277, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x11, x13, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x11, x15, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x11, x17, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x11, x19, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x11, x18, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x303, x305, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x306, x308, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x309, x311, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x312, x314, &x326);
- { uint32_t x329; uint8_t _ = _addcarryx_u32(0x0, x327, x315, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x286, x302, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x289, x317, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x292, x320, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x295, x323, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x298, x326, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x300, x329, &x347);
- { uint32_t _; uint32_t x350 = _mulx_u32(x332, 0xeeeeeeef, &_);
- { uint32_t x354; uint32_t x353 = _mulx_u32(x350, 0xfffffff1, &x354);
- { uint32_t x357; uint32_t x356 = _mulx_u32(x350, 0xffffffff, &x357);
- { uint32_t x360; uint32_t x359 = _mulx_u32(x350, 0xffffffff, &x360);
- { uint32_t x363; uint32_t x362 = _mulx_u32(x350, 0xffffffff, &x363);
- { uint32_t x366; uint32_t x365 = _mulx_u32(x350, 0x3fffffff, &x366);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(0x0, x354, x356, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x357, x359, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x360, x362, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x363, x365, &x377);
- { uint32_t x380; uint8_t _ = _addcarryx_u32(0x0, x378, x366, &x380);
- { uint32_t _; uint8_t x384 = _addcarryx_u32(0x0, x332, x353, &_);
- { uint32_t x386; uint8_t x387 = _addcarryx_u32(x384, x335, x368, &x386);
- { uint32_t x389; uint8_t x390 = _addcarryx_u32(x387, x338, x371, &x389);
- { uint32_t x392; uint8_t x393 = _addcarryx_u32(x390, x341, x374, &x392);
- { uint32_t x395; uint8_t x396 = _addcarryx_u32(x393, x344, x377, &x395);
- { uint32_t x398; uint8_t x399 = _addcarryx_u32(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x10, x13, &x403);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x10, x15, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x10, x17, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x10, x19, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x10, x18, &x415);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(0x0, x403, x405, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x406, x408, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x409, x411, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x412, x414, &x426);
- { uint32_t x429; uint8_t _ = _addcarryx_u32(0x0, x427, x415, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(0x0, x386, x402, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x389, x417, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x392, x420, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x395, x423, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x398, x426, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x400, x429, &x447);
- { uint32_t _; uint32_t x450 = _mulx_u32(x432, 0xeeeeeeef, &_);
- { uint32_t x454; uint32_t x453 = _mulx_u32(x450, 0xfffffff1, &x454);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x450, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x450, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x450, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x450, 0x3fffffff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x454, x456, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x457, x459, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x460, x462, &x474);
- { uint32_t x477; uint8_t x478 = _addcarryx_u32(x475, x463, x465, &x477);
- { uint32_t x480; uint8_t _ = _addcarryx_u32(0x0, x478, x466, &x480);
- { uint32_t _; uint8_t x484 = _addcarryx_u32(0x0, x432, x453, &_);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x435, x468, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x438, x471, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x441, x474, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x444, x477, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint32_t x502; uint8_t x503 = _subborrow_u32(0x0, x486, 0xfffffff1, &x502);
- { uint32_t x505; uint8_t x506 = _subborrow_u32(x503, x489, 0xffffffff, &x505);
- { uint32_t x508; uint8_t x509 = _subborrow_u32(x506, x492, 0xffffffff, &x508);
- { uint32_t x511; uint8_t x512 = _subborrow_u32(x509, x495, 0xffffffff, &x511);
- { uint32_t x514; uint8_t x515 = _subborrow_u32(x512, x498, 0x3fffffff, &x514);
- { uint32_t _; uint8_t x518 = _subborrow_u32(x515, x500, 0x0, &_);
- { uint32_t x519 = cmovznz32(x518, x514, x498);
- { uint32_t x520 = cmovznz32(x518, x511, x495);
- { uint32_t x521 = cmovznz32(x518, x508, x492);
- { uint32_t x522 = cmovznz32(x518, x505, x489);
- { uint32_t x523 = cmovznz32(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/femul.v b/src/Specific/montgomery32_2e158m15_5limbs/femul.v
deleted file mode 100644
index 7177cebc0..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.log b/src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.log
deleted file mode 100644
index f849fb9b8..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint32_t x22 = mulx_u32(x5, x13);
- uint32_t x24, uint32_t x25 = mulx_u32(x5, x15);
- uint32_t x27, uint32_t x28 = mulx_u32(x5, x17);
- uint32_t x30, uint32_t x31 = mulx_u32(x5, x19);
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x18);
- uint32_t x36, uint8_t x37 = addcarryx_u32(0x0, x22, x24);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x25, x27);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x28, x30);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x31, x33);
- uint32_t x48, uint8_t _ = addcarryx_u32(0x0, x46, x34);
- uint32_t x51, uint32_t _ = mulx_u32(x21, 0xeeeeeeef);
- uint32_t x54, uint32_t x55 = mulx_u32(x51, 0xfffffff1);
- uint32_t x57, uint32_t x58 = mulx_u32(x51, 0xffffffff);
- uint32_t x60, uint32_t x61 = mulx_u32(x51, 0xffffffff);
- uint32_t x63, uint32_t x64 = mulx_u32(x51, 0xffffffff);
- uint32_t x66, uint32_t x67 = mulx_u32(x51, 0x3fffffff);
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x55, x57);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x58, x60);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x61, x63);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x64, x66);
- uint32_t x81, uint8_t _ = addcarryx_u32(0x0, x79, x67);
- uint32_t _, uint8_t x85 = addcarryx_u32(0x0, x21, x54);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x36, x69);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x39, x72);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x42, x75);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x45, x78);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x48, x81);
- uint32_t x102, uint32_t x103 = mulx_u32(x7, x13);
- uint32_t x105, uint32_t x106 = mulx_u32(x7, x15);
- uint32_t x108, uint32_t x109 = mulx_u32(x7, x17);
- uint32_t x111, uint32_t x112 = mulx_u32(x7, x19);
- uint32_t x114, uint32_t x115 = mulx_u32(x7, x18);
- uint32_t x117, uint8_t x118 = addcarryx_u32(0x0, x103, x105);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x106, x108);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x109, x111);
- uint32_t x126, uint8_t x127 = addcarryx_u32(x124, x112, x114);
- uint32_t x129, uint8_t _ = addcarryx_u32(0x0, x127, x115);
- uint32_t x132, uint8_t x133 = addcarryx_u32(0x0, x87, x102);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x90, x117);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x93, x120);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x96, x123);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x99, x126);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x100, x129);
- uint32_t x150, uint32_t _ = mulx_u32(x132, 0xeeeeeeef);
- uint32_t x153, uint32_t x154 = mulx_u32(x150, 0xfffffff1);
- uint32_t x156, uint32_t x157 = mulx_u32(x150, 0xffffffff);
- uint32_t x159, uint32_t x160 = mulx_u32(x150, 0xffffffff);
- uint32_t x162, uint32_t x163 = mulx_u32(x150, 0xffffffff);
- uint32_t x165, uint32_t x166 = mulx_u32(x150, 0x3fffffff);
- uint32_t x168, uint8_t x169 = addcarryx_u32(0x0, x154, x156);
- uint32_t x171, uint8_t x172 = addcarryx_u32(x169, x157, x159);
- uint32_t x174, uint8_t x175 = addcarryx_u32(x172, x160, x162);
- uint32_t x177, uint8_t x178 = addcarryx_u32(x175, x163, x165);
- uint32_t x180, uint8_t _ = addcarryx_u32(0x0, x178, x166);
- uint32_t _, uint8_t x184 = addcarryx_u32(0x0, x132, x153);
- uint32_t x186, uint8_t x187 = addcarryx_u32(x184, x135, x168);
- uint32_t x189, uint8_t x190 = addcarryx_u32(x187, x138, x171);
- uint32_t x192, uint8_t x193 = addcarryx_u32(x190, x141, x174);
- uint32_t x195, uint8_t x196 = addcarryx_u32(x193, x144, x177);
- uint32_t x198, uint8_t x199 = addcarryx_u32(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint32_t x202, uint32_t x203 = mulx_u32(x9, x13);
- uint32_t x205, uint32_t x206 = mulx_u32(x9, x15);
- uint32_t x208, uint32_t x209 = mulx_u32(x9, x17);
- uint32_t x211, uint32_t x212 = mulx_u32(x9, x19);
- uint32_t x214, uint32_t x215 = mulx_u32(x9, x18);
- uint32_t x217, uint8_t x218 = addcarryx_u32(0x0, x203, x205);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x206, x208);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x209, x211);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x212, x214);
- uint32_t x229, uint8_t _ = addcarryx_u32(0x0, x227, x215);
- uint32_t x232, uint8_t x233 = addcarryx_u32(0x0, x186, x202);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x189, x217);
- uint32_t x238, uint8_t x239 = addcarryx_u32(x236, x192, x220);
- uint32_t x241, uint8_t x242 = addcarryx_u32(x239, x195, x223);
- uint32_t x244, uint8_t x245 = addcarryx_u32(x242, x198, x226);
- uint32_t x247, uint8_t x248 = addcarryx_u32(x245, x200, x229);
- uint32_t x250, uint32_t _ = mulx_u32(x232, 0xeeeeeeef);
- uint32_t x253, uint32_t x254 = mulx_u32(x250, 0xfffffff1);
- uint32_t x256, uint32_t x257 = mulx_u32(x250, 0xffffffff);
- uint32_t x259, uint32_t x260 = mulx_u32(x250, 0xffffffff);
- uint32_t x262, uint32_t x263 = mulx_u32(x250, 0xffffffff);
- uint32_t x265, uint32_t x266 = mulx_u32(x250, 0x3fffffff);
- uint32_t x268, uint8_t x269 = addcarryx_u32(0x0, x254, x256);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x257, x259);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x260, x262);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x263, x265);
- uint32_t x280, uint8_t _ = addcarryx_u32(0x0, x278, x266);
- uint32_t _, uint8_t x284 = addcarryx_u32(0x0, x232, x253);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x235, x268);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x238, x271);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x241, x274);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x244, x277);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint32_t x302, uint32_t x303 = mulx_u32(x11, x13);
- uint32_t x305, uint32_t x306 = mulx_u32(x11, x15);
- uint32_t x308, uint32_t x309 = mulx_u32(x11, x17);
- uint32_t x311, uint32_t x312 = mulx_u32(x11, x19);
- uint32_t x314, uint32_t x315 = mulx_u32(x11, x18);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x303, x305);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x306, x308);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x309, x311);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x312, x314);
- uint32_t x329, uint8_t _ = addcarryx_u32(0x0, x327, x315);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x286, x302);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x289, x317);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x292, x320);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x295, x323);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x298, x326);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x300, x329);
- uint32_t x350, uint32_t _ = mulx_u32(x332, 0xeeeeeeef);
- uint32_t x353, uint32_t x354 = mulx_u32(x350, 0xfffffff1);
- uint32_t x356, uint32_t x357 = mulx_u32(x350, 0xffffffff);
- uint32_t x359, uint32_t x360 = mulx_u32(x350, 0xffffffff);
- uint32_t x362, uint32_t x363 = mulx_u32(x350, 0xffffffff);
- uint32_t x365, uint32_t x366 = mulx_u32(x350, 0x3fffffff);
- uint32_t x368, uint8_t x369 = addcarryx_u32(0x0, x354, x356);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x357, x359);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x360, x362);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x363, x365);
- uint32_t x380, uint8_t _ = addcarryx_u32(0x0, x378, x366);
- uint32_t _, uint8_t x384 = addcarryx_u32(0x0, x332, x353);
- uint32_t x386, uint8_t x387 = addcarryx_u32(x384, x335, x368);
- uint32_t x389, uint8_t x390 = addcarryx_u32(x387, x338, x371);
- uint32_t x392, uint8_t x393 = addcarryx_u32(x390, x341, x374);
- uint32_t x395, uint8_t x396 = addcarryx_u32(x393, x344, x377);
- uint32_t x398, uint8_t x399 = addcarryx_u32(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint32_t x402, uint32_t x403 = mulx_u32(x10, x13);
- uint32_t x405, uint32_t x406 = mulx_u32(x10, x15);
- uint32_t x408, uint32_t x409 = mulx_u32(x10, x17);
- uint32_t x411, uint32_t x412 = mulx_u32(x10, x19);
- uint32_t x414, uint32_t x415 = mulx_u32(x10, x18);
- uint32_t x417, uint8_t x418 = addcarryx_u32(0x0, x403, x405);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x406, x408);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x409, x411);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x412, x414);
- uint32_t x429, uint8_t _ = addcarryx_u32(0x0, x427, x415);
- uint32_t x432, uint8_t x433 = addcarryx_u32(0x0, x386, x402);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x389, x417);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x392, x420);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x395, x423);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x398, x426);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x400, x429);
- uint32_t x450, uint32_t _ = mulx_u32(x432, 0xeeeeeeef);
- uint32_t x453, uint32_t x454 = mulx_u32(x450, 0xfffffff1);
- uint32_t x456, uint32_t x457 = mulx_u32(x450, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x450, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x450, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x450, 0x3fffffff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x454, x456);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x457, x459);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x460, x462);
- uint32_t x477, uint8_t x478 = addcarryx_u32(x475, x463, x465);
- uint32_t x480, uint8_t _ = addcarryx_u32(0x0, x478, x466);
- uint32_t _, uint8_t x484 = addcarryx_u32(0x0, x432, x453);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x435, x468);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x438, x471);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x441, x474);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x444, x477);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint32_t x502, uint8_t x503 = subborrow_u32(0x0, x486, 0xfffffff1);
- uint32_t x505, uint8_t x506 = subborrow_u32(x503, x489, 0xffffffff);
- uint32_t x508, uint8_t x509 = subborrow_u32(x506, x492, 0xffffffff);
- uint32_t x511, uint8_t x512 = subborrow_u32(x509, x495, 0xffffffff);
- uint32_t x514, uint8_t x515 = subborrow_u32(x512, x498, 0x3fffffff);
- uint32_t _, uint8_t x518 = subborrow_u32(x515, x500, 0x0);
- uint32_t x519 = cmovznz32(x518, x514, x498);
- uint32_t x520 = cmovznz32(x518, x511, x495);
- uint32_t x521 = cmovznz32(x518, x508, x492);
- uint32_t x522 = cmovznz32(x518, x505, x489);
- uint32_t x523 = cmovznz32(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.v b/src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.v
deleted file mode 100644
index ef3d630a8..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fenz.c b/src/Specific/montgomery32_2e158m15_5limbs/fenz.c
deleted file mode 100644
index 5601e8c15..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (x8 | x7);
- { uint32_t x10 = (x6 | x9);
- { uint32_t x11 = (x4 | x10);
- { uint32_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fenz.v b/src/Specific/montgomery32_2e158m15_5limbs/fenz.v
deleted file mode 100644
index b4645e2ad..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.log b/src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.log
deleted file mode 100644
index 723d13164..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x9 = (x8 | x7);
- uint32_t x10 = (x6 | x9);
- uint32_t x11 = (x4 | x10);
- uint32_t x12 = (x2 | x11);
- return x12)
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.v b/src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.v
deleted file mode 100644
index 8bd92bb79..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feopp.c b/src/Specific/montgomery32_2e158m15_5limbs/feopp.c
deleted file mode 100644
index 3f4e5751a..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10; uint8_t x11 = _subborrow_u32(0x0, 0x0, x2, &x10);
- { uint32_t x13; uint8_t x14 = _subborrow_u32(x11, 0x0, x4, &x13);
- { uint32_t x16; uint8_t x17 = _subborrow_u32(x14, 0x0, x6, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x8, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x7, &x22);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xfffffff1);
- { uint32_t x27; uint8_t x28 = _addcarryx_u32(0x0, x10, x25, &x27);
- { uint32_t x29 = (x24 & 0xffffffff);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x28, x13, x29, &x31);
- { uint32_t x33 = (x24 & 0xffffffff);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x32, x16, x33, &x35);
- { uint32_t x37 = (x24 & 0xffffffff);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x36, x19, x37, &x39);
- { uint32_t x41 = (x24 & 0x3fffffff);
- { uint32_t x43; uint8_t _ = _addcarryx_u32(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feopp.v b/src/Specific/montgomery32_2e158m15_5limbs/feopp.v
deleted file mode 100644
index 51d6f09e7..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.log b/src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.log
deleted file mode 100644
index 2697f64f6..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x13, uint8_t x14 = subborrow_u32(x11, 0x0, x4);
- uint32_t x16, uint8_t x17 = subborrow_u32(x14, 0x0, x6);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x8);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x7);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xfffffff1);
- uint32_t x27, uint8_t x28 = addcarryx_u32(0x0, x10, x25);
- uint32_t x29 = (x24 & 0xffffffff);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x28, x13, x29);
- uint32_t x33 = (x24 & 0xffffffff);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x32, x16, x33);
- uint32_t x37 = (x24 & 0xffffffff);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x36, x19, x37);
- uint32_t x41 = (x24 & 0x3fffffff);
- uint32_t x43, uint8_t _ = addcarryx_u32(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.v b/src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.v
deleted file mode 100644
index 3a9db7f14..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fesquare.c b/src/Specific/montgomery32_2e158m15_5limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fesub.c b/src/Specific/montgomery32_2e158m15_5limbs/fesub.c
deleted file mode 100644
index 454b73e85..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint32_t x21; uint8_t x22 = _subborrow_u32(0x0, x5, x13, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, x7, x15, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, x9, x17, &x27);
- { uint32_t x30; uint8_t x31 = _subborrow_u32(x28, x11, x19, &x30);
- { uint32_t x33; uint8_t x34 = _subborrow_u32(x31, x10, x18, &x33);
- { uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- { uint32_t x36 = (x35 & 0xfffffff1);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(0x0, x21, x36, &x38);
- { uint32_t x40 = (x35 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x39, x24, x40, &x42);
- { uint32_t x44 = (x35 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x27, x44, &x46);
- { uint32_t x48 = (x35 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x30, x48, &x50);
- { uint32_t x52 = (x35 & 0x3fffffff);
- { uint32_t x54; uint8_t _ = _addcarryx_u32(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fesub.v b/src/Specific/montgomery32_2e158m15_5limbs/fesub.v
deleted file mode 100644
index f3256c90a..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.log b/src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.log
deleted file mode 100644
index feebc0497..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint32_t x21, uint8_t x22 = subborrow_u32(0x0, x5, x13);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, x7, x15);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, x9, x17);
- uint32_t x30, uint8_t x31 = subborrow_u32(x28, x11, x19);
- uint32_t x33, uint8_t x34 = subborrow_u32(x31, x10, x18);
- uint32_t x35 = cmovznz32(x34, 0x0, 0xffffffff);
- uint32_t x36 = (x35 & 0xfffffff1);
- uint32_t x38, uint8_t x39 = addcarryx_u32(0x0, x21, x36);
- uint32_t x40 = (x35 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x39, x24, x40);
- uint32_t x44 = (x35 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x27, x44);
- uint32_t x48 = (x35 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x30, x48);
- uint32_t x52 = (x35 & 0x3fffffff);
- uint32_t x54, uint8_t _ = addcarryx_u32(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.v b/src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.v
deleted file mode 100644
index 4b77e7106..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e158m15_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/py_interpreter.sh b/src/Specific/montgomery32_2e158m15_5limbs/py_interpreter.sh
deleted file mode 100755
index 5ea532959..000000000
--- a/src/Specific/montgomery32_2e158m15_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**158 - 15' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e165m25_6limbs/CurveParameters.v
deleted file mode 100644
index 8d3c00d6d..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^165 - 25
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^165;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e165m25_6limbs/Synthesis.v b/src/Specific/montgomery32_2e165m25_6limbs/Synthesis.v
deleted file mode 100644
index 495851996..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.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/montgomery32_2e165m25_6limbs/compiler.sh b/src/Specific/montgomery32_2e165m25_6limbs/compiler.sh
deleted file mode 100755
index 9cc797273..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e165m25_6limbs/compilerxx.sh
deleted file mode 100755
index 9fea32f85..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feadd.c b/src/Specific/montgomery32_2e165m25_6limbs/feadd.c
deleted file mode 100644
index e05f2ca1b..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xffffffe7, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x1f, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feadd.v b/src/Specific/montgomery32_2e165m25_6limbs/feadd.v
deleted file mode 100644
index 14e23bcb3..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.log
deleted file mode 100644
index 2d8233e99..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xffffffe7);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x1f);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.v
deleted file mode 100644
index 13548dd88..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/femul.c b/src/Specific/montgomery32_2e165m25_6limbs/femul.c
deleted file mode 100644
index 42401356b..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0xc28f5c29, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xffffffe7, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint8_t x80; uint32_t x79 = _mulx_u32_out_u8(x61, 0x1f, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint8_t x96 = (x95 + x80);
- { uint32_t _; uint8_t x99 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x43, x82, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x46, x85, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x49, x88, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x52, x91, &x110);
- { uint32_t x113; uint8_t x114 = _addcarryx_u32(x111, x55, x94, &x113);
- { uint32_t x116; uint8_t x117 = _addcarryx_u32(x114, x58, x96, &x116);
- { uint32_t x120; uint32_t x119 = _mulx_u32(x7, x15, &x120);
- { uint32_t x123; uint32_t x122 = _mulx_u32(x7, x17, &x123);
- { uint32_t x126; uint32_t x125 = _mulx_u32(x7, x19, &x126);
- { uint32_t x129; uint32_t x128 = _mulx_u32(x7, x21, &x129);
- { uint32_t x132; uint32_t x131 = _mulx_u32(x7, x23, &x132);
- { uint32_t x135; uint32_t x134 = _mulx_u32(x7, x22, &x135);
- { uint32_t x137; uint8_t x138 = _addcarryx_u32(0x0, x120, x122, &x137);
- { uint32_t x140; uint8_t x141 = _addcarryx_u32(x138, x123, x125, &x140);
- { uint32_t x143; uint8_t x144 = _addcarryx_u32(x141, x126, x128, &x143);
- { uint32_t x146; uint8_t x147 = _addcarryx_u32(x144, x129, x131, &x146);
- { uint32_t x149; uint8_t x150 = _addcarryx_u32(x147, x132, x134, &x149);
- { uint32_t x152; uint8_t _ = _addcarryx_u32(0x0, x150, x135, &x152);
- { uint32_t x155; uint8_t x156 = _addcarryx_u32(0x0, x101, x119, &x155);
- { uint32_t x158; uint8_t x159 = _addcarryx_u32(x156, x104, x137, &x158);
- { uint32_t x161; uint8_t x162 = _addcarryx_u32(x159, x107, x140, &x161);
- { uint32_t x164; uint8_t x165 = _addcarryx_u32(x162, x110, x143, &x164);
- { uint32_t x167; uint8_t x168 = _addcarryx_u32(x165, x113, x146, &x167);
- { uint32_t x170; uint8_t x171 = _addcarryx_u32(x168, x116, x149, &x170);
- { uint32_t x173; uint8_t x174 = _addcarryx_u32(x171, x117, x152, &x173);
- { uint32_t _; uint32_t x176 = _mulx_u32(x155, 0xc28f5c29, &_);
- { uint32_t x180; uint32_t x179 = _mulx_u32(x176, 0xffffffe7, &x180);
- { uint32_t x183; uint32_t x182 = _mulx_u32(x176, 0xffffffff, &x183);
- { uint32_t x186; uint32_t x185 = _mulx_u32(x176, 0xffffffff, &x186);
- { uint32_t x189; uint32_t x188 = _mulx_u32(x176, 0xffffffff, &x189);
- { uint32_t x192; uint32_t x191 = _mulx_u32(x176, 0xffffffff, &x192);
- { uint8_t x195; uint32_t x194 = _mulx_u32_out_u8(x176, 0x1f, &x195);
- { uint32_t x197; uint8_t x198 = _addcarryx_u32(0x0, x180, x182, &x197);
- { uint32_t x200; uint8_t x201 = _addcarryx_u32(x198, x183, x185, &x200);
- { uint32_t x203; uint8_t x204 = _addcarryx_u32(x201, x186, x188, &x203);
- { uint32_t x206; uint8_t x207 = _addcarryx_u32(x204, x189, x191, &x206);
- { uint32_t x209; uint8_t x210 = _addcarryx_u32(x207, x192, x194, &x209);
- { uint8_t x211 = (x210 + x195);
- { uint32_t _; uint8_t x214 = _addcarryx_u32(0x0, x155, x179, &_);
- { uint32_t x216; uint8_t x217 = _addcarryx_u32(x214, x158, x197, &x216);
- { uint32_t x219; uint8_t x220 = _addcarryx_u32(x217, x161, x200, &x219);
- { uint32_t x222; uint8_t x223 = _addcarryx_u32(x220, x164, x203, &x222);
- { uint32_t x225; uint8_t x226 = _addcarryx_u32(x223, x167, x206, &x225);
- { uint32_t x228; uint8_t x229 = _addcarryx_u32(x226, x170, x209, &x228);
- { uint32_t x231; uint8_t x232 = _addcarryx_u32(x229, x173, x211, &x231);
- { uint8_t x233 = (x232 + x174);
- { uint32_t x236; uint32_t x235 = _mulx_u32(x9, x15, &x236);
- { uint32_t x239; uint32_t x238 = _mulx_u32(x9, x17, &x239);
- { uint32_t x242; uint32_t x241 = _mulx_u32(x9, x19, &x242);
- { uint32_t x245; uint32_t x244 = _mulx_u32(x9, x21, &x245);
- { uint32_t x248; uint32_t x247 = _mulx_u32(x9, x23, &x248);
- { uint32_t x251; uint32_t x250 = _mulx_u32(x9, x22, &x251);
- { uint32_t x253; uint8_t x254 = _addcarryx_u32(0x0, x236, x238, &x253);
- { uint32_t x256; uint8_t x257 = _addcarryx_u32(x254, x239, x241, &x256);
- { uint32_t x259; uint8_t x260 = _addcarryx_u32(x257, x242, x244, &x259);
- { uint32_t x262; uint8_t x263 = _addcarryx_u32(x260, x245, x247, &x262);
- { uint32_t x265; uint8_t x266 = _addcarryx_u32(x263, x248, x250, &x265);
- { uint32_t x268; uint8_t _ = _addcarryx_u32(0x0, x266, x251, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(0x0, x216, x235, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x219, x253, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x222, x256, &x277);
- { uint32_t x280; uint8_t x281 = _addcarryx_u32(x278, x225, x259, &x280);
- { uint32_t x283; uint8_t x284 = _addcarryx_u32(x281, x228, x262, &x283);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x231, x265, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x233, x268, &x289);
- { uint32_t _; uint32_t x292 = _mulx_u32(x271, 0xc28f5c29, &_);
- { uint32_t x296; uint32_t x295 = _mulx_u32(x292, 0xffffffe7, &x296);
- { uint32_t x299; uint32_t x298 = _mulx_u32(x292, 0xffffffff, &x299);
- { uint32_t x302; uint32_t x301 = _mulx_u32(x292, 0xffffffff, &x302);
- { uint32_t x305; uint32_t x304 = _mulx_u32(x292, 0xffffffff, &x305);
- { uint32_t x308; uint32_t x307 = _mulx_u32(x292, 0xffffffff, &x308);
- { uint8_t x311; uint32_t x310 = _mulx_u32_out_u8(x292, 0x1f, &x311);
- { uint32_t x313; uint8_t x314 = _addcarryx_u32(0x0, x296, x298, &x313);
- { uint32_t x316; uint8_t x317 = _addcarryx_u32(x314, x299, x301, &x316);
- { uint32_t x319; uint8_t x320 = _addcarryx_u32(x317, x302, x304, &x319);
- { uint32_t x322; uint8_t x323 = _addcarryx_u32(x320, x305, x307, &x322);
- { uint32_t x325; uint8_t x326 = _addcarryx_u32(x323, x308, x310, &x325);
- { uint8_t x327 = (x326 + x311);
- { uint32_t _; uint8_t x330 = _addcarryx_u32(0x0, x271, x295, &_);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(x330, x274, x313, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x277, x316, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x280, x319, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x283, x322, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x286, x325, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x289, x327, &x347);
- { uint8_t x349 = (x348 + x290);
- { uint32_t x352; uint32_t x351 = _mulx_u32(x11, x15, &x352);
- { uint32_t x355; uint32_t x354 = _mulx_u32(x11, x17, &x355);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x19, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x21, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x23, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x22, &x367);
- { uint32_t x369; uint8_t x370 = _addcarryx_u32(0x0, x352, x354, &x369);
- { uint32_t x372; uint8_t x373 = _addcarryx_u32(x370, x355, x357, &x372);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(x373, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t _ = _addcarryx_u32(0x0, x382, x367, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(0x0, x332, x351, &x387);
- { uint32_t x390; uint8_t x391 = _addcarryx_u32(x388, x335, x369, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(x391, x338, x372, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x349, x384, &x405);
- { uint32_t _; uint32_t x408 = _mulx_u32(x387, 0xc28f5c29, &_);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x408, 0xffffffe7, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x408, 0xffffffff, &x415);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x408, 0xffffffff, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x408, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x408, 0xffffffff, &x424);
- { uint8_t x427; uint32_t x426 = _mulx_u32_out_u8(x408, 0x1f, &x427);
- { uint32_t x429; uint8_t x430 = _addcarryx_u32(0x0, x412, x414, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(x430, x415, x417, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint8_t x443 = (x442 + x427);
- { uint32_t _; uint8_t x446 = _addcarryx_u32(0x0, x387, x411, &_);
- { uint32_t x448; uint8_t x449 = _addcarryx_u32(x446, x390, x429, &x448);
- { uint32_t x451; uint8_t x452 = _addcarryx_u32(x449, x393, x432, &x451);
- { uint32_t x454; uint8_t x455 = _addcarryx_u32(x452, x396, x435, &x454);
- { uint32_t x457; uint8_t x458 = _addcarryx_u32(x455, x399, x438, &x457);
- { uint32_t x460; uint8_t x461 = _addcarryx_u32(x458, x402, x441, &x460);
- { uint32_t x463; uint8_t x464 = _addcarryx_u32(x461, x405, x443, &x463);
- { uint8_t x465 = (x464 + x406);
- { uint32_t x468; uint32_t x467 = _mulx_u32(x13, x15, &x468);
- { uint32_t x471; uint32_t x470 = _mulx_u32(x13, x17, &x471);
- { uint32_t x474; uint32_t x473 = _mulx_u32(x13, x19, &x474);
- { uint32_t x477; uint32_t x476 = _mulx_u32(x13, x21, &x477);
- { uint32_t x480; uint32_t x479 = _mulx_u32(x13, x23, &x480);
- { uint32_t x483; uint32_t x482 = _mulx_u32(x13, x22, &x483);
- { uint32_t x485; uint8_t x486 = _addcarryx_u32(0x0, x468, x470, &x485);
- { uint32_t x488; uint8_t x489 = _addcarryx_u32(x486, x471, x473, &x488);
- { uint32_t x491; uint8_t x492 = _addcarryx_u32(x489, x474, x476, &x491);
- { uint32_t x494; uint8_t x495 = _addcarryx_u32(x492, x477, x479, &x494);
- { uint32_t x497; uint8_t x498 = _addcarryx_u32(x495, x480, x482, &x497);
- { uint32_t x500; uint8_t _ = _addcarryx_u32(0x0, x498, x483, &x500);
- { uint32_t x503; uint8_t x504 = _addcarryx_u32(0x0, x448, x467, &x503);
- { uint32_t x506; uint8_t x507 = _addcarryx_u32(x504, x451, x485, &x506);
- { uint32_t x509; uint8_t x510 = _addcarryx_u32(x507, x454, x488, &x509);
- { uint32_t x512; uint8_t x513 = _addcarryx_u32(x510, x457, x491, &x512);
- { uint32_t x515; uint8_t x516 = _addcarryx_u32(x513, x460, x494, &x515);
- { uint32_t x518; uint8_t x519 = _addcarryx_u32(x516, x463, x497, &x518);
- { uint32_t x521; uint8_t x522 = _addcarryx_u32(x519, x465, x500, &x521);
- { uint32_t _; uint32_t x524 = _mulx_u32(x503, 0xc28f5c29, &_);
- { uint32_t x528; uint32_t x527 = _mulx_u32(x524, 0xffffffe7, &x528);
- { uint32_t x531; uint32_t x530 = _mulx_u32(x524, 0xffffffff, &x531);
- { uint32_t x534; uint32_t x533 = _mulx_u32(x524, 0xffffffff, &x534);
- { uint32_t x537; uint32_t x536 = _mulx_u32(x524, 0xffffffff, &x537);
- { uint32_t x540; uint32_t x539 = _mulx_u32(x524, 0xffffffff, &x540);
- { uint8_t x543; uint32_t x542 = _mulx_u32_out_u8(x524, 0x1f, &x543);
- { uint32_t x545; uint8_t x546 = _addcarryx_u32(0x0, x528, x530, &x545);
- { uint32_t x548; uint8_t x549 = _addcarryx_u32(x546, x531, x533, &x548);
- { uint32_t x551; uint8_t x552 = _addcarryx_u32(x549, x534, x536, &x551);
- { uint32_t x554; uint8_t x555 = _addcarryx_u32(x552, x537, x539, &x554);
- { uint32_t x557; uint8_t x558 = _addcarryx_u32(x555, x540, x542, &x557);
- { uint8_t x559 = (x558 + x543);
- { uint32_t _; uint8_t x562 = _addcarryx_u32(0x0, x503, x527, &_);
- { uint32_t x564; uint8_t x565 = _addcarryx_u32(x562, x506, x545, &x564);
- { uint32_t x567; uint8_t x568 = _addcarryx_u32(x565, x509, x548, &x567);
- { uint32_t x570; uint8_t x571 = _addcarryx_u32(x568, x512, x551, &x570);
- { uint32_t x573; uint8_t x574 = _addcarryx_u32(x571, x515, x554, &x573);
- { uint32_t x576; uint8_t x577 = _addcarryx_u32(x574, x518, x557, &x576);
- { uint32_t x579; uint8_t x580 = _addcarryx_u32(x577, x521, x559, &x579);
- { uint8_t x581 = (x580 + x522);
- { uint32_t x584; uint32_t x583 = _mulx_u32(x12, x15, &x584);
- { uint32_t x587; uint32_t x586 = _mulx_u32(x12, x17, &x587);
- { uint32_t x590; uint32_t x589 = _mulx_u32(x12, x19, &x590);
- { uint32_t x593; uint32_t x592 = _mulx_u32(x12, x21, &x593);
- { uint32_t x596; uint32_t x595 = _mulx_u32(x12, x23, &x596);
- { uint32_t x599; uint32_t x598 = _mulx_u32(x12, x22, &x599);
- { uint32_t x601; uint8_t x602 = _addcarryx_u32(0x0, x584, x586, &x601);
- { uint32_t x604; uint8_t x605 = _addcarryx_u32(x602, x587, x589, &x604);
- { uint32_t x607; uint8_t x608 = _addcarryx_u32(x605, x590, x592, &x607);
- { uint32_t x610; uint8_t x611 = _addcarryx_u32(x608, x593, x595, &x610);
- { uint32_t x613; uint8_t x614 = _addcarryx_u32(x611, x596, x598, &x613);
- { uint32_t x616; uint8_t _ = _addcarryx_u32(0x0, x614, x599, &x616);
- { uint32_t x619; uint8_t x620 = _addcarryx_u32(0x0, x564, x583, &x619);
- { uint32_t x622; uint8_t x623 = _addcarryx_u32(x620, x567, x601, &x622);
- { uint32_t x625; uint8_t x626 = _addcarryx_u32(x623, x570, x604, &x625);
- { uint32_t x628; uint8_t x629 = _addcarryx_u32(x626, x573, x607, &x628);
- { uint32_t x631; uint8_t x632 = _addcarryx_u32(x629, x576, x610, &x631);
- { uint32_t x634; uint8_t x635 = _addcarryx_u32(x632, x579, x613, &x634);
- { uint32_t x637; uint8_t x638 = _addcarryx_u32(x635, x581, x616, &x637);
- { uint32_t _; uint32_t x640 = _mulx_u32(x619, 0xc28f5c29, &_);
- { uint32_t x644; uint32_t x643 = _mulx_u32(x640, 0xffffffe7, &x644);
- { uint32_t x647; uint32_t x646 = _mulx_u32(x640, 0xffffffff, &x647);
- { uint32_t x650; uint32_t x649 = _mulx_u32(x640, 0xffffffff, &x650);
- { uint32_t x653; uint32_t x652 = _mulx_u32(x640, 0xffffffff, &x653);
- { uint32_t x656; uint32_t x655 = _mulx_u32(x640, 0xffffffff, &x656);
- { uint8_t x659; uint32_t x658 = _mulx_u32_out_u8(x640, 0x1f, &x659);
- { uint32_t x661; uint8_t x662 = _addcarryx_u32(0x0, x644, x646, &x661);
- { uint32_t x664; uint8_t x665 = _addcarryx_u32(x662, x647, x649, &x664);
- { uint32_t x667; uint8_t x668 = _addcarryx_u32(x665, x650, x652, &x667);
- { uint32_t x670; uint8_t x671 = _addcarryx_u32(x668, x653, x655, &x670);
- { uint32_t x673; uint8_t x674 = _addcarryx_u32(x671, x656, x658, &x673);
- { uint8_t x675 = (x674 + x659);
- { uint32_t _; uint8_t x678 = _addcarryx_u32(0x0, x619, x643, &_);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x622, x661, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x625, x664, &x683);
- { uint32_t x686; uint8_t x687 = _addcarryx_u32(x684, x628, x667, &x686);
- { uint32_t x689; uint8_t x690 = _addcarryx_u32(x687, x631, x670, &x689);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x634, x673, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x637, x675, &x695);
- { uint8_t x697 = (x696 + x638);
- { uint32_t x699; uint8_t x700 = _subborrow_u32(0x0, x680, 0xffffffe7, &x699);
- { uint32_t x702; uint8_t x703 = _subborrow_u32(x700, x683, 0xffffffff, &x702);
- { uint32_t x705; uint8_t x706 = _subborrow_u32(x703, x686, 0xffffffff, &x705);
- { uint32_t x708; uint8_t x709 = _subborrow_u32(x706, x689, 0xffffffff, &x708);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(x709, x692, 0xffffffff, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0x1f, &x714);
- { uint32_t _; uint8_t x718 = _subborrow_u32(x715, x697, 0x0, &_);
- { uint32_t x719 = cmovznz32(x718, x714, x695);
- { uint32_t x720 = cmovznz32(x718, x711, x692);
- { uint32_t x721 = cmovznz32(x718, x708, x689);
- { uint32_t x722 = cmovznz32(x718, x705, x686);
- { uint32_t x723 = cmovznz32(x718, x702, x683);
- { uint32_t x724 = cmovznz32(x718, x699, x680);
- out[0] = x724;
- out[1] = x723;
- out[2] = x722;
- out[3] = x721;
- out[4] = x720;
- out[5] = x719;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/femul.v b/src/Specific/montgomery32_2e165m25_6limbs/femul.v
deleted file mode 100644
index 6a15d083c..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.log
deleted file mode 100644
index 76e90e61d..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0xc28f5c29);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xffffffe7);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint8_t x80 = mulx_u32_out_u8(x61, 0x1f);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint8_t x96 = (x95 + x80);
- uint32_t _, uint8_t x99 = addcarryx_u32(0x0, x25, x64);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x43, x82);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x46, x85);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x49, x88);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x52, x91);
- uint32_t x113, uint8_t x114 = addcarryx_u32(x111, x55, x94);
- uint32_t x116, uint8_t x117 = addcarryx_u32(x114, x58, x96);
- uint32_t x119, uint32_t x120 = mulx_u32(x7, x15);
- uint32_t x122, uint32_t x123 = mulx_u32(x7, x17);
- uint32_t x125, uint32_t x126 = mulx_u32(x7, x19);
- uint32_t x128, uint32_t x129 = mulx_u32(x7, x21);
- uint32_t x131, uint32_t x132 = mulx_u32(x7, x23);
- uint32_t x134, uint32_t x135 = mulx_u32(x7, x22);
- uint32_t x137, uint8_t x138 = addcarryx_u32(0x0, x120, x122);
- uint32_t x140, uint8_t x141 = addcarryx_u32(x138, x123, x125);
- uint32_t x143, uint8_t x144 = addcarryx_u32(x141, x126, x128);
- uint32_t x146, uint8_t x147 = addcarryx_u32(x144, x129, x131);
- uint32_t x149, uint8_t x150 = addcarryx_u32(x147, x132, x134);
- uint32_t x152, uint8_t _ = addcarryx_u32(0x0, x150, x135);
- uint32_t x155, uint8_t x156 = addcarryx_u32(0x0, x101, x119);
- uint32_t x158, uint8_t x159 = addcarryx_u32(x156, x104, x137);
- uint32_t x161, uint8_t x162 = addcarryx_u32(x159, x107, x140);
- uint32_t x164, uint8_t x165 = addcarryx_u32(x162, x110, x143);
- uint32_t x167, uint8_t x168 = addcarryx_u32(x165, x113, x146);
- uint32_t x170, uint8_t x171 = addcarryx_u32(x168, x116, x149);
- uint32_t x173, uint8_t x174 = addcarryx_u32(x171, x117, x152);
- uint32_t x176, uint32_t _ = mulx_u32(x155, 0xc28f5c29);
- uint32_t x179, uint32_t x180 = mulx_u32(x176, 0xffffffe7);
- uint32_t x182, uint32_t x183 = mulx_u32(x176, 0xffffffff);
- uint32_t x185, uint32_t x186 = mulx_u32(x176, 0xffffffff);
- uint32_t x188, uint32_t x189 = mulx_u32(x176, 0xffffffff);
- uint32_t x191, uint32_t x192 = mulx_u32(x176, 0xffffffff);
- uint32_t x194, uint8_t x195 = mulx_u32_out_u8(x176, 0x1f);
- uint32_t x197, uint8_t x198 = addcarryx_u32(0x0, x180, x182);
- uint32_t x200, uint8_t x201 = addcarryx_u32(x198, x183, x185);
- uint32_t x203, uint8_t x204 = addcarryx_u32(x201, x186, x188);
- uint32_t x206, uint8_t x207 = addcarryx_u32(x204, x189, x191);
- uint32_t x209, uint8_t x210 = addcarryx_u32(x207, x192, x194);
- uint8_t x211 = (x210 + x195);
- uint32_t _, uint8_t x214 = addcarryx_u32(0x0, x155, x179);
- uint32_t x216, uint8_t x217 = addcarryx_u32(x214, x158, x197);
- uint32_t x219, uint8_t x220 = addcarryx_u32(x217, x161, x200);
- uint32_t x222, uint8_t x223 = addcarryx_u32(x220, x164, x203);
- uint32_t x225, uint8_t x226 = addcarryx_u32(x223, x167, x206);
- uint32_t x228, uint8_t x229 = addcarryx_u32(x226, x170, x209);
- uint32_t x231, uint8_t x232 = addcarryx_u32(x229, x173, x211);
- uint8_t x233 = (x232 + x174);
- uint32_t x235, uint32_t x236 = mulx_u32(x9, x15);
- uint32_t x238, uint32_t x239 = mulx_u32(x9, x17);
- uint32_t x241, uint32_t x242 = mulx_u32(x9, x19);
- uint32_t x244, uint32_t x245 = mulx_u32(x9, x21);
- uint32_t x247, uint32_t x248 = mulx_u32(x9, x23);
- uint32_t x250, uint32_t x251 = mulx_u32(x9, x22);
- uint32_t x253, uint8_t x254 = addcarryx_u32(0x0, x236, x238);
- uint32_t x256, uint8_t x257 = addcarryx_u32(x254, x239, x241);
- uint32_t x259, uint8_t x260 = addcarryx_u32(x257, x242, x244);
- uint32_t x262, uint8_t x263 = addcarryx_u32(x260, x245, x247);
- uint32_t x265, uint8_t x266 = addcarryx_u32(x263, x248, x250);
- uint32_t x268, uint8_t _ = addcarryx_u32(0x0, x266, x251);
- uint32_t x271, uint8_t x272 = addcarryx_u32(0x0, x216, x235);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x219, x253);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x222, x256);
- uint32_t x280, uint8_t x281 = addcarryx_u32(x278, x225, x259);
- uint32_t x283, uint8_t x284 = addcarryx_u32(x281, x228, x262);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x231, x265);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x233, x268);
- uint32_t x292, uint32_t _ = mulx_u32(x271, 0xc28f5c29);
- uint32_t x295, uint32_t x296 = mulx_u32(x292, 0xffffffe7);
- uint32_t x298, uint32_t x299 = mulx_u32(x292, 0xffffffff);
- uint32_t x301, uint32_t x302 = mulx_u32(x292, 0xffffffff);
- uint32_t x304, uint32_t x305 = mulx_u32(x292, 0xffffffff);
- uint32_t x307, uint32_t x308 = mulx_u32(x292, 0xffffffff);
- uint32_t x310, uint8_t x311 = mulx_u32_out_u8(x292, 0x1f);
- uint32_t x313, uint8_t x314 = addcarryx_u32(0x0, x296, x298);
- uint32_t x316, uint8_t x317 = addcarryx_u32(x314, x299, x301);
- uint32_t x319, uint8_t x320 = addcarryx_u32(x317, x302, x304);
- uint32_t x322, uint8_t x323 = addcarryx_u32(x320, x305, x307);
- uint32_t x325, uint8_t x326 = addcarryx_u32(x323, x308, x310);
- uint8_t x327 = (x326 + x311);
- uint32_t _, uint8_t x330 = addcarryx_u32(0x0, x271, x295);
- uint32_t x332, uint8_t x333 = addcarryx_u32(x330, x274, x313);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x277, x316);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x280, x319);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x283, x322);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x286, x325);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x289, x327);
- uint8_t x349 = (x348 + x290);
- uint32_t x351, uint32_t x352 = mulx_u32(x11, x15);
- uint32_t x354, uint32_t x355 = mulx_u32(x11, x17);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x19);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x21);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x23);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x22);
- uint32_t x369, uint8_t x370 = addcarryx_u32(0x0, x352, x354);
- uint32_t x372, uint8_t x373 = addcarryx_u32(x370, x355, x357);
- uint32_t x375, uint8_t x376 = addcarryx_u32(x373, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t _ = addcarryx_u32(0x0, x382, x367);
- uint32_t x387, uint8_t x388 = addcarryx_u32(0x0, x332, x351);
- uint32_t x390, uint8_t x391 = addcarryx_u32(x388, x335, x369);
- uint32_t x393, uint8_t x394 = addcarryx_u32(x391, x338, x372);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x349, x384);
- uint32_t x408, uint32_t _ = mulx_u32(x387, 0xc28f5c29);
- uint32_t x411, uint32_t x412 = mulx_u32(x408, 0xffffffe7);
- uint32_t x414, uint32_t x415 = mulx_u32(x408, 0xffffffff);
- uint32_t x417, uint32_t x418 = mulx_u32(x408, 0xffffffff);
- uint32_t x420, uint32_t x421 = mulx_u32(x408, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x408, 0xffffffff);
- uint32_t x426, uint8_t x427 = mulx_u32_out_u8(x408, 0x1f);
- uint32_t x429, uint8_t x430 = addcarryx_u32(0x0, x412, x414);
- uint32_t x432, uint8_t x433 = addcarryx_u32(x430, x415, x417);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint8_t x443 = (x442 + x427);
- uint32_t _, uint8_t x446 = addcarryx_u32(0x0, x387, x411);
- uint32_t x448, uint8_t x449 = addcarryx_u32(x446, x390, x429);
- uint32_t x451, uint8_t x452 = addcarryx_u32(x449, x393, x432);
- uint32_t x454, uint8_t x455 = addcarryx_u32(x452, x396, x435);
- uint32_t x457, uint8_t x458 = addcarryx_u32(x455, x399, x438);
- uint32_t x460, uint8_t x461 = addcarryx_u32(x458, x402, x441);
- uint32_t x463, uint8_t x464 = addcarryx_u32(x461, x405, x443);
- uint8_t x465 = (x464 + x406);
- uint32_t x467, uint32_t x468 = mulx_u32(x13, x15);
- uint32_t x470, uint32_t x471 = mulx_u32(x13, x17);
- uint32_t x473, uint32_t x474 = mulx_u32(x13, x19);
- uint32_t x476, uint32_t x477 = mulx_u32(x13, x21);
- uint32_t x479, uint32_t x480 = mulx_u32(x13, x23);
- uint32_t x482, uint32_t x483 = mulx_u32(x13, x22);
- uint32_t x485, uint8_t x486 = addcarryx_u32(0x0, x468, x470);
- uint32_t x488, uint8_t x489 = addcarryx_u32(x486, x471, x473);
- uint32_t x491, uint8_t x492 = addcarryx_u32(x489, x474, x476);
- uint32_t x494, uint8_t x495 = addcarryx_u32(x492, x477, x479);
- uint32_t x497, uint8_t x498 = addcarryx_u32(x495, x480, x482);
- uint32_t x500, uint8_t _ = addcarryx_u32(0x0, x498, x483);
- uint32_t x503, uint8_t x504 = addcarryx_u32(0x0, x448, x467);
- uint32_t x506, uint8_t x507 = addcarryx_u32(x504, x451, x485);
- uint32_t x509, uint8_t x510 = addcarryx_u32(x507, x454, x488);
- uint32_t x512, uint8_t x513 = addcarryx_u32(x510, x457, x491);
- uint32_t x515, uint8_t x516 = addcarryx_u32(x513, x460, x494);
- uint32_t x518, uint8_t x519 = addcarryx_u32(x516, x463, x497);
- uint32_t x521, uint8_t x522 = addcarryx_u32(x519, x465, x500);
- uint32_t x524, uint32_t _ = mulx_u32(x503, 0xc28f5c29);
- uint32_t x527, uint32_t x528 = mulx_u32(x524, 0xffffffe7);
- uint32_t x530, uint32_t x531 = mulx_u32(x524, 0xffffffff);
- uint32_t x533, uint32_t x534 = mulx_u32(x524, 0xffffffff);
- uint32_t x536, uint32_t x537 = mulx_u32(x524, 0xffffffff);
- uint32_t x539, uint32_t x540 = mulx_u32(x524, 0xffffffff);
- uint32_t x542, uint8_t x543 = mulx_u32_out_u8(x524, 0x1f);
- uint32_t x545, uint8_t x546 = addcarryx_u32(0x0, x528, x530);
- uint32_t x548, uint8_t x549 = addcarryx_u32(x546, x531, x533);
- uint32_t x551, uint8_t x552 = addcarryx_u32(x549, x534, x536);
- uint32_t x554, uint8_t x555 = addcarryx_u32(x552, x537, x539);
- uint32_t x557, uint8_t x558 = addcarryx_u32(x555, x540, x542);
- uint8_t x559 = (x558 + x543);
- uint32_t _, uint8_t x562 = addcarryx_u32(0x0, x503, x527);
- uint32_t x564, uint8_t x565 = addcarryx_u32(x562, x506, x545);
- uint32_t x567, uint8_t x568 = addcarryx_u32(x565, x509, x548);
- uint32_t x570, uint8_t x571 = addcarryx_u32(x568, x512, x551);
- uint32_t x573, uint8_t x574 = addcarryx_u32(x571, x515, x554);
- uint32_t x576, uint8_t x577 = addcarryx_u32(x574, x518, x557);
- uint32_t x579, uint8_t x580 = addcarryx_u32(x577, x521, x559);
- uint8_t x581 = (x580 + x522);
- uint32_t x583, uint32_t x584 = mulx_u32(x12, x15);
- uint32_t x586, uint32_t x587 = mulx_u32(x12, x17);
- uint32_t x589, uint32_t x590 = mulx_u32(x12, x19);
- uint32_t x592, uint32_t x593 = mulx_u32(x12, x21);
- uint32_t x595, uint32_t x596 = mulx_u32(x12, x23);
- uint32_t x598, uint32_t x599 = mulx_u32(x12, x22);
- uint32_t x601, uint8_t x602 = addcarryx_u32(0x0, x584, x586);
- uint32_t x604, uint8_t x605 = addcarryx_u32(x602, x587, x589);
- uint32_t x607, uint8_t x608 = addcarryx_u32(x605, x590, x592);
- uint32_t x610, uint8_t x611 = addcarryx_u32(x608, x593, x595);
- uint32_t x613, uint8_t x614 = addcarryx_u32(x611, x596, x598);
- uint32_t x616, uint8_t _ = addcarryx_u32(0x0, x614, x599);
- uint32_t x619, uint8_t x620 = addcarryx_u32(0x0, x564, x583);
- uint32_t x622, uint8_t x623 = addcarryx_u32(x620, x567, x601);
- uint32_t x625, uint8_t x626 = addcarryx_u32(x623, x570, x604);
- uint32_t x628, uint8_t x629 = addcarryx_u32(x626, x573, x607);
- uint32_t x631, uint8_t x632 = addcarryx_u32(x629, x576, x610);
- uint32_t x634, uint8_t x635 = addcarryx_u32(x632, x579, x613);
- uint32_t x637, uint8_t x638 = addcarryx_u32(x635, x581, x616);
- uint32_t x640, uint32_t _ = mulx_u32(x619, 0xc28f5c29);
- uint32_t x643, uint32_t x644 = mulx_u32(x640, 0xffffffe7);
- uint32_t x646, uint32_t x647 = mulx_u32(x640, 0xffffffff);
- uint32_t x649, uint32_t x650 = mulx_u32(x640, 0xffffffff);
- uint32_t x652, uint32_t x653 = mulx_u32(x640, 0xffffffff);
- uint32_t x655, uint32_t x656 = mulx_u32(x640, 0xffffffff);
- uint32_t x658, uint8_t x659 = mulx_u32_out_u8(x640, 0x1f);
- uint32_t x661, uint8_t x662 = addcarryx_u32(0x0, x644, x646);
- uint32_t x664, uint8_t x665 = addcarryx_u32(x662, x647, x649);
- uint32_t x667, uint8_t x668 = addcarryx_u32(x665, x650, x652);
- uint32_t x670, uint8_t x671 = addcarryx_u32(x668, x653, x655);
- uint32_t x673, uint8_t x674 = addcarryx_u32(x671, x656, x658);
- uint8_t x675 = (x674 + x659);
- uint32_t _, uint8_t x678 = addcarryx_u32(0x0, x619, x643);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x622, x661);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x625, x664);
- uint32_t x686, uint8_t x687 = addcarryx_u32(x684, x628, x667);
- uint32_t x689, uint8_t x690 = addcarryx_u32(x687, x631, x670);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x634, x673);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x637, x675);
- uint8_t x697 = (x696 + x638);
- uint32_t x699, uint8_t x700 = subborrow_u32(0x0, x680, 0xffffffe7);
- uint32_t x702, uint8_t x703 = subborrow_u32(x700, x683, 0xffffffff);
- uint32_t x705, uint8_t x706 = subborrow_u32(x703, x686, 0xffffffff);
- uint32_t x708, uint8_t x709 = subborrow_u32(x706, x689, 0xffffffff);
- uint32_t x711, uint8_t x712 = subborrow_u32(x709, x692, 0xffffffff);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0x1f);
- uint32_t _, uint8_t x718 = subborrow_u32(x715, x697, 0x0);
- uint32_t x719 = cmovznz32(x718, x714, x695);
- uint32_t x720 = cmovznz32(x718, x711, x692);
- uint32_t x721 = cmovznz32(x718, x708, x689);
- uint32_t x722 = cmovznz32(x718, x705, x686);
- uint32_t x723 = cmovznz32(x718, x702, x683);
- uint32_t x724 = cmovznz32(x718, x699, x680);
- return (x719, x720, x721, x722, x723, x724))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.v
deleted file mode 100644
index 941a96963..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fenz.c b/src/Specific/montgomery32_2e165m25_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fenz.v b/src/Specific/montgomery32_2e165m25_6limbs/fenz.v
deleted file mode 100644
index 5a3cfc99d..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.v
deleted file mode 100644
index 28713add6..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feopp.c b/src/Specific/montgomery32_2e165m25_6limbs/feopp.c
deleted file mode 100644
index e8e2767ae..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffe7);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint8_t x50 = ((uint8_t)x29 & 0x1f);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feopp.v b/src/Specific/montgomery32_2e165m25_6limbs/feopp.v
deleted file mode 100644
index a361e5fb0..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.log
deleted file mode 100644
index df49ff1ff..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffe7);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint8_t x50 = ((uint8_t)x29 & 0x1f);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.v
deleted file mode 100644
index 46e604e05..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fesquare.c b/src/Specific/montgomery32_2e165m25_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fesub.c b/src/Specific/montgomery32_2e165m25_6limbs/fesub.c
deleted file mode 100644
index 2f1872aba..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xffffffe7);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint8_t x63 = ((uint8_t)x42 & 0x1f);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fesub.v b/src/Specific/montgomery32_2e165m25_6limbs/fesub.v
deleted file mode 100644
index 02b3601e5..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.log
deleted file mode 100644
index c64a7d5aa..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xffffffe7);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint8_t x63 = ((uint8_t)x42 & 0x1f);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.v
deleted file mode 100644
index 50856ffec..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e165m25_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e165m25_6limbs/py_interpreter.sh
deleted file mode 100755
index 870509253..000000000
--- a/src/Specific/montgomery32_2e165m25_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**165 - 25' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e166m5_6limbs/CurveParameters.v
deleted file mode 100644
index b75c925d1..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^166 - 5
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^166;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e166m5_6limbs/Synthesis.v b/src/Specific/montgomery32_2e166m5_6limbs/Synthesis.v
deleted file mode 100644
index 112591174..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.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/montgomery32_2e166m5_6limbs/compiler.sh b/src/Specific/montgomery32_2e166m5_6limbs/compiler.sh
deleted file mode 100755
index 5a2d9cdbd..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e166m5_6limbs/compilerxx.sh
deleted file mode 100755
index 63a5c93c7..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feadd.c b/src/Specific/montgomery32_2e166m5_6limbs/feadd.c
deleted file mode 100644
index cd706f5c5..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xfffffffb, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x3f, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feadd.v b/src/Specific/montgomery32_2e166m5_6limbs/feadd.v
deleted file mode 100644
index 5ede21213..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.log
deleted file mode 100644
index 194e37fb2..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xfffffffb);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x3f);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.v
deleted file mode 100644
index 45d080280..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/femul.c b/src/Specific/montgomery32_2e166m5_6limbs/femul.c
deleted file mode 100644
index b834472fd..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0xcccccccd, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xfffffffb, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint8_t x80; uint32_t x79 = _mulx_u32_out_u8(x61, 0x3f, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint8_t x96 = (x95 + x80);
- { uint32_t _; uint8_t x99 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x43, x82, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x46, x85, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x49, x88, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x52, x91, &x110);
- { uint32_t x113; uint8_t x114 = _addcarryx_u32(x111, x55, x94, &x113);
- { uint32_t x116; uint8_t x117 = _addcarryx_u32(x114, x58, x96, &x116);
- { uint32_t x120; uint32_t x119 = _mulx_u32(x7, x15, &x120);
- { uint32_t x123; uint32_t x122 = _mulx_u32(x7, x17, &x123);
- { uint32_t x126; uint32_t x125 = _mulx_u32(x7, x19, &x126);
- { uint32_t x129; uint32_t x128 = _mulx_u32(x7, x21, &x129);
- { uint32_t x132; uint32_t x131 = _mulx_u32(x7, x23, &x132);
- { uint32_t x135; uint32_t x134 = _mulx_u32(x7, x22, &x135);
- { uint32_t x137; uint8_t x138 = _addcarryx_u32(0x0, x120, x122, &x137);
- { uint32_t x140; uint8_t x141 = _addcarryx_u32(x138, x123, x125, &x140);
- { uint32_t x143; uint8_t x144 = _addcarryx_u32(x141, x126, x128, &x143);
- { uint32_t x146; uint8_t x147 = _addcarryx_u32(x144, x129, x131, &x146);
- { uint32_t x149; uint8_t x150 = _addcarryx_u32(x147, x132, x134, &x149);
- { uint32_t x152; uint8_t _ = _addcarryx_u32(0x0, x150, x135, &x152);
- { uint32_t x155; uint8_t x156 = _addcarryx_u32(0x0, x101, x119, &x155);
- { uint32_t x158; uint8_t x159 = _addcarryx_u32(x156, x104, x137, &x158);
- { uint32_t x161; uint8_t x162 = _addcarryx_u32(x159, x107, x140, &x161);
- { uint32_t x164; uint8_t x165 = _addcarryx_u32(x162, x110, x143, &x164);
- { uint32_t x167; uint8_t x168 = _addcarryx_u32(x165, x113, x146, &x167);
- { uint32_t x170; uint8_t x171 = _addcarryx_u32(x168, x116, x149, &x170);
- { uint32_t x173; uint8_t x174 = _addcarryx_u32(x171, x117, x152, &x173);
- { uint32_t _; uint32_t x176 = _mulx_u32(x155, 0xcccccccd, &_);
- { uint32_t x180; uint32_t x179 = _mulx_u32(x176, 0xfffffffb, &x180);
- { uint32_t x183; uint32_t x182 = _mulx_u32(x176, 0xffffffff, &x183);
- { uint32_t x186; uint32_t x185 = _mulx_u32(x176, 0xffffffff, &x186);
- { uint32_t x189; uint32_t x188 = _mulx_u32(x176, 0xffffffff, &x189);
- { uint32_t x192; uint32_t x191 = _mulx_u32(x176, 0xffffffff, &x192);
- { uint8_t x195; uint32_t x194 = _mulx_u32_out_u8(x176, 0x3f, &x195);
- { uint32_t x197; uint8_t x198 = _addcarryx_u32(0x0, x180, x182, &x197);
- { uint32_t x200; uint8_t x201 = _addcarryx_u32(x198, x183, x185, &x200);
- { uint32_t x203; uint8_t x204 = _addcarryx_u32(x201, x186, x188, &x203);
- { uint32_t x206; uint8_t x207 = _addcarryx_u32(x204, x189, x191, &x206);
- { uint32_t x209; uint8_t x210 = _addcarryx_u32(x207, x192, x194, &x209);
- { uint8_t x211 = (x210 + x195);
- { uint32_t _; uint8_t x214 = _addcarryx_u32(0x0, x155, x179, &_);
- { uint32_t x216; uint8_t x217 = _addcarryx_u32(x214, x158, x197, &x216);
- { uint32_t x219; uint8_t x220 = _addcarryx_u32(x217, x161, x200, &x219);
- { uint32_t x222; uint8_t x223 = _addcarryx_u32(x220, x164, x203, &x222);
- { uint32_t x225; uint8_t x226 = _addcarryx_u32(x223, x167, x206, &x225);
- { uint32_t x228; uint8_t x229 = _addcarryx_u32(x226, x170, x209, &x228);
- { uint32_t x231; uint8_t x232 = _addcarryx_u32(x229, x173, x211, &x231);
- { uint8_t x233 = (x232 + x174);
- { uint32_t x236; uint32_t x235 = _mulx_u32(x9, x15, &x236);
- { uint32_t x239; uint32_t x238 = _mulx_u32(x9, x17, &x239);
- { uint32_t x242; uint32_t x241 = _mulx_u32(x9, x19, &x242);
- { uint32_t x245; uint32_t x244 = _mulx_u32(x9, x21, &x245);
- { uint32_t x248; uint32_t x247 = _mulx_u32(x9, x23, &x248);
- { uint32_t x251; uint32_t x250 = _mulx_u32(x9, x22, &x251);
- { uint32_t x253; uint8_t x254 = _addcarryx_u32(0x0, x236, x238, &x253);
- { uint32_t x256; uint8_t x257 = _addcarryx_u32(x254, x239, x241, &x256);
- { uint32_t x259; uint8_t x260 = _addcarryx_u32(x257, x242, x244, &x259);
- { uint32_t x262; uint8_t x263 = _addcarryx_u32(x260, x245, x247, &x262);
- { uint32_t x265; uint8_t x266 = _addcarryx_u32(x263, x248, x250, &x265);
- { uint32_t x268; uint8_t _ = _addcarryx_u32(0x0, x266, x251, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(0x0, x216, x235, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x219, x253, &x274);
- { uint32_t x277; uint8_t x278 = _addcarryx_u32(x275, x222, x256, &x277);
- { uint32_t x280; uint8_t x281 = _addcarryx_u32(x278, x225, x259, &x280);
- { uint32_t x283; uint8_t x284 = _addcarryx_u32(x281, x228, x262, &x283);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x231, x265, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x233, x268, &x289);
- { uint32_t _; uint32_t x292 = _mulx_u32(x271, 0xcccccccd, &_);
- { uint32_t x296; uint32_t x295 = _mulx_u32(x292, 0xfffffffb, &x296);
- { uint32_t x299; uint32_t x298 = _mulx_u32(x292, 0xffffffff, &x299);
- { uint32_t x302; uint32_t x301 = _mulx_u32(x292, 0xffffffff, &x302);
- { uint32_t x305; uint32_t x304 = _mulx_u32(x292, 0xffffffff, &x305);
- { uint32_t x308; uint32_t x307 = _mulx_u32(x292, 0xffffffff, &x308);
- { uint8_t x311; uint32_t x310 = _mulx_u32_out_u8(x292, 0x3f, &x311);
- { uint32_t x313; uint8_t x314 = _addcarryx_u32(0x0, x296, x298, &x313);
- { uint32_t x316; uint8_t x317 = _addcarryx_u32(x314, x299, x301, &x316);
- { uint32_t x319; uint8_t x320 = _addcarryx_u32(x317, x302, x304, &x319);
- { uint32_t x322; uint8_t x323 = _addcarryx_u32(x320, x305, x307, &x322);
- { uint32_t x325; uint8_t x326 = _addcarryx_u32(x323, x308, x310, &x325);
- { uint8_t x327 = (x326 + x311);
- { uint32_t _; uint8_t x330 = _addcarryx_u32(0x0, x271, x295, &_);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(x330, x274, x313, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x277, x316, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x280, x319, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x283, x322, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x286, x325, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x289, x327, &x347);
- { uint8_t x349 = (x348 + x290);
- { uint32_t x352; uint32_t x351 = _mulx_u32(x11, x15, &x352);
- { uint32_t x355; uint32_t x354 = _mulx_u32(x11, x17, &x355);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x19, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x21, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x23, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x22, &x367);
- { uint32_t x369; uint8_t x370 = _addcarryx_u32(0x0, x352, x354, &x369);
- { uint32_t x372; uint8_t x373 = _addcarryx_u32(x370, x355, x357, &x372);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(x373, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t _ = _addcarryx_u32(0x0, x382, x367, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(0x0, x332, x351, &x387);
- { uint32_t x390; uint8_t x391 = _addcarryx_u32(x388, x335, x369, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(x391, x338, x372, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x349, x384, &x405);
- { uint32_t _; uint32_t x408 = _mulx_u32(x387, 0xcccccccd, &_);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x408, 0xfffffffb, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x408, 0xffffffff, &x415);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x408, 0xffffffff, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x408, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x408, 0xffffffff, &x424);
- { uint8_t x427; uint32_t x426 = _mulx_u32_out_u8(x408, 0x3f, &x427);
- { uint32_t x429; uint8_t x430 = _addcarryx_u32(0x0, x412, x414, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(x430, x415, x417, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint8_t x443 = (x442 + x427);
- { uint32_t _; uint8_t x446 = _addcarryx_u32(0x0, x387, x411, &_);
- { uint32_t x448; uint8_t x449 = _addcarryx_u32(x446, x390, x429, &x448);
- { uint32_t x451; uint8_t x452 = _addcarryx_u32(x449, x393, x432, &x451);
- { uint32_t x454; uint8_t x455 = _addcarryx_u32(x452, x396, x435, &x454);
- { uint32_t x457; uint8_t x458 = _addcarryx_u32(x455, x399, x438, &x457);
- { uint32_t x460; uint8_t x461 = _addcarryx_u32(x458, x402, x441, &x460);
- { uint32_t x463; uint8_t x464 = _addcarryx_u32(x461, x405, x443, &x463);
- { uint8_t x465 = (x464 + x406);
- { uint32_t x468; uint32_t x467 = _mulx_u32(x13, x15, &x468);
- { uint32_t x471; uint32_t x470 = _mulx_u32(x13, x17, &x471);
- { uint32_t x474; uint32_t x473 = _mulx_u32(x13, x19, &x474);
- { uint32_t x477; uint32_t x476 = _mulx_u32(x13, x21, &x477);
- { uint32_t x480; uint32_t x479 = _mulx_u32(x13, x23, &x480);
- { uint32_t x483; uint32_t x482 = _mulx_u32(x13, x22, &x483);
- { uint32_t x485; uint8_t x486 = _addcarryx_u32(0x0, x468, x470, &x485);
- { uint32_t x488; uint8_t x489 = _addcarryx_u32(x486, x471, x473, &x488);
- { uint32_t x491; uint8_t x492 = _addcarryx_u32(x489, x474, x476, &x491);
- { uint32_t x494; uint8_t x495 = _addcarryx_u32(x492, x477, x479, &x494);
- { uint32_t x497; uint8_t x498 = _addcarryx_u32(x495, x480, x482, &x497);
- { uint32_t x500; uint8_t _ = _addcarryx_u32(0x0, x498, x483, &x500);
- { uint32_t x503; uint8_t x504 = _addcarryx_u32(0x0, x448, x467, &x503);
- { uint32_t x506; uint8_t x507 = _addcarryx_u32(x504, x451, x485, &x506);
- { uint32_t x509; uint8_t x510 = _addcarryx_u32(x507, x454, x488, &x509);
- { uint32_t x512; uint8_t x513 = _addcarryx_u32(x510, x457, x491, &x512);
- { uint32_t x515; uint8_t x516 = _addcarryx_u32(x513, x460, x494, &x515);
- { uint32_t x518; uint8_t x519 = _addcarryx_u32(x516, x463, x497, &x518);
- { uint32_t x521; uint8_t x522 = _addcarryx_u32(x519, x465, x500, &x521);
- { uint32_t _; uint32_t x524 = _mulx_u32(x503, 0xcccccccd, &_);
- { uint32_t x528; uint32_t x527 = _mulx_u32(x524, 0xfffffffb, &x528);
- { uint32_t x531; uint32_t x530 = _mulx_u32(x524, 0xffffffff, &x531);
- { uint32_t x534; uint32_t x533 = _mulx_u32(x524, 0xffffffff, &x534);
- { uint32_t x537; uint32_t x536 = _mulx_u32(x524, 0xffffffff, &x537);
- { uint32_t x540; uint32_t x539 = _mulx_u32(x524, 0xffffffff, &x540);
- { uint8_t x543; uint32_t x542 = _mulx_u32_out_u8(x524, 0x3f, &x543);
- { uint32_t x545; uint8_t x546 = _addcarryx_u32(0x0, x528, x530, &x545);
- { uint32_t x548; uint8_t x549 = _addcarryx_u32(x546, x531, x533, &x548);
- { uint32_t x551; uint8_t x552 = _addcarryx_u32(x549, x534, x536, &x551);
- { uint32_t x554; uint8_t x555 = _addcarryx_u32(x552, x537, x539, &x554);
- { uint32_t x557; uint8_t x558 = _addcarryx_u32(x555, x540, x542, &x557);
- { uint8_t x559 = (x558 + x543);
- { uint32_t _; uint8_t x562 = _addcarryx_u32(0x0, x503, x527, &_);
- { uint32_t x564; uint8_t x565 = _addcarryx_u32(x562, x506, x545, &x564);
- { uint32_t x567; uint8_t x568 = _addcarryx_u32(x565, x509, x548, &x567);
- { uint32_t x570; uint8_t x571 = _addcarryx_u32(x568, x512, x551, &x570);
- { uint32_t x573; uint8_t x574 = _addcarryx_u32(x571, x515, x554, &x573);
- { uint32_t x576; uint8_t x577 = _addcarryx_u32(x574, x518, x557, &x576);
- { uint32_t x579; uint8_t x580 = _addcarryx_u32(x577, x521, x559, &x579);
- { uint8_t x581 = (x580 + x522);
- { uint32_t x584; uint32_t x583 = _mulx_u32(x12, x15, &x584);
- { uint32_t x587; uint32_t x586 = _mulx_u32(x12, x17, &x587);
- { uint32_t x590; uint32_t x589 = _mulx_u32(x12, x19, &x590);
- { uint32_t x593; uint32_t x592 = _mulx_u32(x12, x21, &x593);
- { uint32_t x596; uint32_t x595 = _mulx_u32(x12, x23, &x596);
- { uint32_t x599; uint32_t x598 = _mulx_u32(x12, x22, &x599);
- { uint32_t x601; uint8_t x602 = _addcarryx_u32(0x0, x584, x586, &x601);
- { uint32_t x604; uint8_t x605 = _addcarryx_u32(x602, x587, x589, &x604);
- { uint32_t x607; uint8_t x608 = _addcarryx_u32(x605, x590, x592, &x607);
- { uint32_t x610; uint8_t x611 = _addcarryx_u32(x608, x593, x595, &x610);
- { uint32_t x613; uint8_t x614 = _addcarryx_u32(x611, x596, x598, &x613);
- { uint32_t x616; uint8_t _ = _addcarryx_u32(0x0, x614, x599, &x616);
- { uint32_t x619; uint8_t x620 = _addcarryx_u32(0x0, x564, x583, &x619);
- { uint32_t x622; uint8_t x623 = _addcarryx_u32(x620, x567, x601, &x622);
- { uint32_t x625; uint8_t x626 = _addcarryx_u32(x623, x570, x604, &x625);
- { uint32_t x628; uint8_t x629 = _addcarryx_u32(x626, x573, x607, &x628);
- { uint32_t x631; uint8_t x632 = _addcarryx_u32(x629, x576, x610, &x631);
- { uint32_t x634; uint8_t x635 = _addcarryx_u32(x632, x579, x613, &x634);
- { uint32_t x637; uint8_t x638 = _addcarryx_u32(x635, x581, x616, &x637);
- { uint32_t _; uint32_t x640 = _mulx_u32(x619, 0xcccccccd, &_);
- { uint32_t x644; uint32_t x643 = _mulx_u32(x640, 0xfffffffb, &x644);
- { uint32_t x647; uint32_t x646 = _mulx_u32(x640, 0xffffffff, &x647);
- { uint32_t x650; uint32_t x649 = _mulx_u32(x640, 0xffffffff, &x650);
- { uint32_t x653; uint32_t x652 = _mulx_u32(x640, 0xffffffff, &x653);
- { uint32_t x656; uint32_t x655 = _mulx_u32(x640, 0xffffffff, &x656);
- { uint8_t x659; uint32_t x658 = _mulx_u32_out_u8(x640, 0x3f, &x659);
- { uint32_t x661; uint8_t x662 = _addcarryx_u32(0x0, x644, x646, &x661);
- { uint32_t x664; uint8_t x665 = _addcarryx_u32(x662, x647, x649, &x664);
- { uint32_t x667; uint8_t x668 = _addcarryx_u32(x665, x650, x652, &x667);
- { uint32_t x670; uint8_t x671 = _addcarryx_u32(x668, x653, x655, &x670);
- { uint32_t x673; uint8_t x674 = _addcarryx_u32(x671, x656, x658, &x673);
- { uint8_t x675 = (x674 + x659);
- { uint32_t _; uint8_t x678 = _addcarryx_u32(0x0, x619, x643, &_);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x622, x661, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x625, x664, &x683);
- { uint32_t x686; uint8_t x687 = _addcarryx_u32(x684, x628, x667, &x686);
- { uint32_t x689; uint8_t x690 = _addcarryx_u32(x687, x631, x670, &x689);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x634, x673, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x637, x675, &x695);
- { uint8_t x697 = (x696 + x638);
- { uint32_t x699; uint8_t x700 = _subborrow_u32(0x0, x680, 0xfffffffb, &x699);
- { uint32_t x702; uint8_t x703 = _subborrow_u32(x700, x683, 0xffffffff, &x702);
- { uint32_t x705; uint8_t x706 = _subborrow_u32(x703, x686, 0xffffffff, &x705);
- { uint32_t x708; uint8_t x709 = _subborrow_u32(x706, x689, 0xffffffff, &x708);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(x709, x692, 0xffffffff, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0x3f, &x714);
- { uint32_t _; uint8_t x718 = _subborrow_u32(x715, x697, 0x0, &_);
- { uint32_t x719 = cmovznz32(x718, x714, x695);
- { uint32_t x720 = cmovznz32(x718, x711, x692);
- { uint32_t x721 = cmovznz32(x718, x708, x689);
- { uint32_t x722 = cmovznz32(x718, x705, x686);
- { uint32_t x723 = cmovznz32(x718, x702, x683);
- { uint32_t x724 = cmovznz32(x718, x699, x680);
- out[0] = x724;
- out[1] = x723;
- out[2] = x722;
- out[3] = x721;
- out[4] = x720;
- out[5] = x719;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/femul.v b/src/Specific/montgomery32_2e166m5_6limbs/femul.v
deleted file mode 100644
index da8ceb05f..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.log
deleted file mode 100644
index 7202f403c..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0xcccccccd);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xfffffffb);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint8_t x80 = mulx_u32_out_u8(x61, 0x3f);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint8_t x96 = (x95 + x80);
- uint32_t _, uint8_t x99 = addcarryx_u32(0x0, x25, x64);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x43, x82);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x46, x85);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x49, x88);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x52, x91);
- uint32_t x113, uint8_t x114 = addcarryx_u32(x111, x55, x94);
- uint32_t x116, uint8_t x117 = addcarryx_u32(x114, x58, x96);
- uint32_t x119, uint32_t x120 = mulx_u32(x7, x15);
- uint32_t x122, uint32_t x123 = mulx_u32(x7, x17);
- uint32_t x125, uint32_t x126 = mulx_u32(x7, x19);
- uint32_t x128, uint32_t x129 = mulx_u32(x7, x21);
- uint32_t x131, uint32_t x132 = mulx_u32(x7, x23);
- uint32_t x134, uint32_t x135 = mulx_u32(x7, x22);
- uint32_t x137, uint8_t x138 = addcarryx_u32(0x0, x120, x122);
- uint32_t x140, uint8_t x141 = addcarryx_u32(x138, x123, x125);
- uint32_t x143, uint8_t x144 = addcarryx_u32(x141, x126, x128);
- uint32_t x146, uint8_t x147 = addcarryx_u32(x144, x129, x131);
- uint32_t x149, uint8_t x150 = addcarryx_u32(x147, x132, x134);
- uint32_t x152, uint8_t _ = addcarryx_u32(0x0, x150, x135);
- uint32_t x155, uint8_t x156 = addcarryx_u32(0x0, x101, x119);
- uint32_t x158, uint8_t x159 = addcarryx_u32(x156, x104, x137);
- uint32_t x161, uint8_t x162 = addcarryx_u32(x159, x107, x140);
- uint32_t x164, uint8_t x165 = addcarryx_u32(x162, x110, x143);
- uint32_t x167, uint8_t x168 = addcarryx_u32(x165, x113, x146);
- uint32_t x170, uint8_t x171 = addcarryx_u32(x168, x116, x149);
- uint32_t x173, uint8_t x174 = addcarryx_u32(x171, x117, x152);
- uint32_t x176, uint32_t _ = mulx_u32(x155, 0xcccccccd);
- uint32_t x179, uint32_t x180 = mulx_u32(x176, 0xfffffffb);
- uint32_t x182, uint32_t x183 = mulx_u32(x176, 0xffffffff);
- uint32_t x185, uint32_t x186 = mulx_u32(x176, 0xffffffff);
- uint32_t x188, uint32_t x189 = mulx_u32(x176, 0xffffffff);
- uint32_t x191, uint32_t x192 = mulx_u32(x176, 0xffffffff);
- uint32_t x194, uint8_t x195 = mulx_u32_out_u8(x176, 0x3f);
- uint32_t x197, uint8_t x198 = addcarryx_u32(0x0, x180, x182);
- uint32_t x200, uint8_t x201 = addcarryx_u32(x198, x183, x185);
- uint32_t x203, uint8_t x204 = addcarryx_u32(x201, x186, x188);
- uint32_t x206, uint8_t x207 = addcarryx_u32(x204, x189, x191);
- uint32_t x209, uint8_t x210 = addcarryx_u32(x207, x192, x194);
- uint8_t x211 = (x210 + x195);
- uint32_t _, uint8_t x214 = addcarryx_u32(0x0, x155, x179);
- uint32_t x216, uint8_t x217 = addcarryx_u32(x214, x158, x197);
- uint32_t x219, uint8_t x220 = addcarryx_u32(x217, x161, x200);
- uint32_t x222, uint8_t x223 = addcarryx_u32(x220, x164, x203);
- uint32_t x225, uint8_t x226 = addcarryx_u32(x223, x167, x206);
- uint32_t x228, uint8_t x229 = addcarryx_u32(x226, x170, x209);
- uint32_t x231, uint8_t x232 = addcarryx_u32(x229, x173, x211);
- uint8_t x233 = (x232 + x174);
- uint32_t x235, uint32_t x236 = mulx_u32(x9, x15);
- uint32_t x238, uint32_t x239 = mulx_u32(x9, x17);
- uint32_t x241, uint32_t x242 = mulx_u32(x9, x19);
- uint32_t x244, uint32_t x245 = mulx_u32(x9, x21);
- uint32_t x247, uint32_t x248 = mulx_u32(x9, x23);
- uint32_t x250, uint32_t x251 = mulx_u32(x9, x22);
- uint32_t x253, uint8_t x254 = addcarryx_u32(0x0, x236, x238);
- uint32_t x256, uint8_t x257 = addcarryx_u32(x254, x239, x241);
- uint32_t x259, uint8_t x260 = addcarryx_u32(x257, x242, x244);
- uint32_t x262, uint8_t x263 = addcarryx_u32(x260, x245, x247);
- uint32_t x265, uint8_t x266 = addcarryx_u32(x263, x248, x250);
- uint32_t x268, uint8_t _ = addcarryx_u32(0x0, x266, x251);
- uint32_t x271, uint8_t x272 = addcarryx_u32(0x0, x216, x235);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x219, x253);
- uint32_t x277, uint8_t x278 = addcarryx_u32(x275, x222, x256);
- uint32_t x280, uint8_t x281 = addcarryx_u32(x278, x225, x259);
- uint32_t x283, uint8_t x284 = addcarryx_u32(x281, x228, x262);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x231, x265);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x233, x268);
- uint32_t x292, uint32_t _ = mulx_u32(x271, 0xcccccccd);
- uint32_t x295, uint32_t x296 = mulx_u32(x292, 0xfffffffb);
- uint32_t x298, uint32_t x299 = mulx_u32(x292, 0xffffffff);
- uint32_t x301, uint32_t x302 = mulx_u32(x292, 0xffffffff);
- uint32_t x304, uint32_t x305 = mulx_u32(x292, 0xffffffff);
- uint32_t x307, uint32_t x308 = mulx_u32(x292, 0xffffffff);
- uint32_t x310, uint8_t x311 = mulx_u32_out_u8(x292, 0x3f);
- uint32_t x313, uint8_t x314 = addcarryx_u32(0x0, x296, x298);
- uint32_t x316, uint8_t x317 = addcarryx_u32(x314, x299, x301);
- uint32_t x319, uint8_t x320 = addcarryx_u32(x317, x302, x304);
- uint32_t x322, uint8_t x323 = addcarryx_u32(x320, x305, x307);
- uint32_t x325, uint8_t x326 = addcarryx_u32(x323, x308, x310);
- uint8_t x327 = (x326 + x311);
- uint32_t _, uint8_t x330 = addcarryx_u32(0x0, x271, x295);
- uint32_t x332, uint8_t x333 = addcarryx_u32(x330, x274, x313);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x277, x316);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x280, x319);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x283, x322);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x286, x325);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x289, x327);
- uint8_t x349 = (x348 + x290);
- uint32_t x351, uint32_t x352 = mulx_u32(x11, x15);
- uint32_t x354, uint32_t x355 = mulx_u32(x11, x17);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x19);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x21);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x23);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x22);
- uint32_t x369, uint8_t x370 = addcarryx_u32(0x0, x352, x354);
- uint32_t x372, uint8_t x373 = addcarryx_u32(x370, x355, x357);
- uint32_t x375, uint8_t x376 = addcarryx_u32(x373, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t _ = addcarryx_u32(0x0, x382, x367);
- uint32_t x387, uint8_t x388 = addcarryx_u32(0x0, x332, x351);
- uint32_t x390, uint8_t x391 = addcarryx_u32(x388, x335, x369);
- uint32_t x393, uint8_t x394 = addcarryx_u32(x391, x338, x372);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x349, x384);
- uint32_t x408, uint32_t _ = mulx_u32(x387, 0xcccccccd);
- uint32_t x411, uint32_t x412 = mulx_u32(x408, 0xfffffffb);
- uint32_t x414, uint32_t x415 = mulx_u32(x408, 0xffffffff);
- uint32_t x417, uint32_t x418 = mulx_u32(x408, 0xffffffff);
- uint32_t x420, uint32_t x421 = mulx_u32(x408, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x408, 0xffffffff);
- uint32_t x426, uint8_t x427 = mulx_u32_out_u8(x408, 0x3f);
- uint32_t x429, uint8_t x430 = addcarryx_u32(0x0, x412, x414);
- uint32_t x432, uint8_t x433 = addcarryx_u32(x430, x415, x417);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint8_t x443 = (x442 + x427);
- uint32_t _, uint8_t x446 = addcarryx_u32(0x0, x387, x411);
- uint32_t x448, uint8_t x449 = addcarryx_u32(x446, x390, x429);
- uint32_t x451, uint8_t x452 = addcarryx_u32(x449, x393, x432);
- uint32_t x454, uint8_t x455 = addcarryx_u32(x452, x396, x435);
- uint32_t x457, uint8_t x458 = addcarryx_u32(x455, x399, x438);
- uint32_t x460, uint8_t x461 = addcarryx_u32(x458, x402, x441);
- uint32_t x463, uint8_t x464 = addcarryx_u32(x461, x405, x443);
- uint8_t x465 = (x464 + x406);
- uint32_t x467, uint32_t x468 = mulx_u32(x13, x15);
- uint32_t x470, uint32_t x471 = mulx_u32(x13, x17);
- uint32_t x473, uint32_t x474 = mulx_u32(x13, x19);
- uint32_t x476, uint32_t x477 = mulx_u32(x13, x21);
- uint32_t x479, uint32_t x480 = mulx_u32(x13, x23);
- uint32_t x482, uint32_t x483 = mulx_u32(x13, x22);
- uint32_t x485, uint8_t x486 = addcarryx_u32(0x0, x468, x470);
- uint32_t x488, uint8_t x489 = addcarryx_u32(x486, x471, x473);
- uint32_t x491, uint8_t x492 = addcarryx_u32(x489, x474, x476);
- uint32_t x494, uint8_t x495 = addcarryx_u32(x492, x477, x479);
- uint32_t x497, uint8_t x498 = addcarryx_u32(x495, x480, x482);
- uint32_t x500, uint8_t _ = addcarryx_u32(0x0, x498, x483);
- uint32_t x503, uint8_t x504 = addcarryx_u32(0x0, x448, x467);
- uint32_t x506, uint8_t x507 = addcarryx_u32(x504, x451, x485);
- uint32_t x509, uint8_t x510 = addcarryx_u32(x507, x454, x488);
- uint32_t x512, uint8_t x513 = addcarryx_u32(x510, x457, x491);
- uint32_t x515, uint8_t x516 = addcarryx_u32(x513, x460, x494);
- uint32_t x518, uint8_t x519 = addcarryx_u32(x516, x463, x497);
- uint32_t x521, uint8_t x522 = addcarryx_u32(x519, x465, x500);
- uint32_t x524, uint32_t _ = mulx_u32(x503, 0xcccccccd);
- uint32_t x527, uint32_t x528 = mulx_u32(x524, 0xfffffffb);
- uint32_t x530, uint32_t x531 = mulx_u32(x524, 0xffffffff);
- uint32_t x533, uint32_t x534 = mulx_u32(x524, 0xffffffff);
- uint32_t x536, uint32_t x537 = mulx_u32(x524, 0xffffffff);
- uint32_t x539, uint32_t x540 = mulx_u32(x524, 0xffffffff);
- uint32_t x542, uint8_t x543 = mulx_u32_out_u8(x524, 0x3f);
- uint32_t x545, uint8_t x546 = addcarryx_u32(0x0, x528, x530);
- uint32_t x548, uint8_t x549 = addcarryx_u32(x546, x531, x533);
- uint32_t x551, uint8_t x552 = addcarryx_u32(x549, x534, x536);
- uint32_t x554, uint8_t x555 = addcarryx_u32(x552, x537, x539);
- uint32_t x557, uint8_t x558 = addcarryx_u32(x555, x540, x542);
- uint8_t x559 = (x558 + x543);
- uint32_t _, uint8_t x562 = addcarryx_u32(0x0, x503, x527);
- uint32_t x564, uint8_t x565 = addcarryx_u32(x562, x506, x545);
- uint32_t x567, uint8_t x568 = addcarryx_u32(x565, x509, x548);
- uint32_t x570, uint8_t x571 = addcarryx_u32(x568, x512, x551);
- uint32_t x573, uint8_t x574 = addcarryx_u32(x571, x515, x554);
- uint32_t x576, uint8_t x577 = addcarryx_u32(x574, x518, x557);
- uint32_t x579, uint8_t x580 = addcarryx_u32(x577, x521, x559);
- uint8_t x581 = (x580 + x522);
- uint32_t x583, uint32_t x584 = mulx_u32(x12, x15);
- uint32_t x586, uint32_t x587 = mulx_u32(x12, x17);
- uint32_t x589, uint32_t x590 = mulx_u32(x12, x19);
- uint32_t x592, uint32_t x593 = mulx_u32(x12, x21);
- uint32_t x595, uint32_t x596 = mulx_u32(x12, x23);
- uint32_t x598, uint32_t x599 = mulx_u32(x12, x22);
- uint32_t x601, uint8_t x602 = addcarryx_u32(0x0, x584, x586);
- uint32_t x604, uint8_t x605 = addcarryx_u32(x602, x587, x589);
- uint32_t x607, uint8_t x608 = addcarryx_u32(x605, x590, x592);
- uint32_t x610, uint8_t x611 = addcarryx_u32(x608, x593, x595);
- uint32_t x613, uint8_t x614 = addcarryx_u32(x611, x596, x598);
- uint32_t x616, uint8_t _ = addcarryx_u32(0x0, x614, x599);
- uint32_t x619, uint8_t x620 = addcarryx_u32(0x0, x564, x583);
- uint32_t x622, uint8_t x623 = addcarryx_u32(x620, x567, x601);
- uint32_t x625, uint8_t x626 = addcarryx_u32(x623, x570, x604);
- uint32_t x628, uint8_t x629 = addcarryx_u32(x626, x573, x607);
- uint32_t x631, uint8_t x632 = addcarryx_u32(x629, x576, x610);
- uint32_t x634, uint8_t x635 = addcarryx_u32(x632, x579, x613);
- uint32_t x637, uint8_t x638 = addcarryx_u32(x635, x581, x616);
- uint32_t x640, uint32_t _ = mulx_u32(x619, 0xcccccccd);
- uint32_t x643, uint32_t x644 = mulx_u32(x640, 0xfffffffb);
- uint32_t x646, uint32_t x647 = mulx_u32(x640, 0xffffffff);
- uint32_t x649, uint32_t x650 = mulx_u32(x640, 0xffffffff);
- uint32_t x652, uint32_t x653 = mulx_u32(x640, 0xffffffff);
- uint32_t x655, uint32_t x656 = mulx_u32(x640, 0xffffffff);
- uint32_t x658, uint8_t x659 = mulx_u32_out_u8(x640, 0x3f);
- uint32_t x661, uint8_t x662 = addcarryx_u32(0x0, x644, x646);
- uint32_t x664, uint8_t x665 = addcarryx_u32(x662, x647, x649);
- uint32_t x667, uint8_t x668 = addcarryx_u32(x665, x650, x652);
- uint32_t x670, uint8_t x671 = addcarryx_u32(x668, x653, x655);
- uint32_t x673, uint8_t x674 = addcarryx_u32(x671, x656, x658);
- uint8_t x675 = (x674 + x659);
- uint32_t _, uint8_t x678 = addcarryx_u32(0x0, x619, x643);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x622, x661);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x625, x664);
- uint32_t x686, uint8_t x687 = addcarryx_u32(x684, x628, x667);
- uint32_t x689, uint8_t x690 = addcarryx_u32(x687, x631, x670);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x634, x673);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x637, x675);
- uint8_t x697 = (x696 + x638);
- uint32_t x699, uint8_t x700 = subborrow_u32(0x0, x680, 0xfffffffb);
- uint32_t x702, uint8_t x703 = subborrow_u32(x700, x683, 0xffffffff);
- uint32_t x705, uint8_t x706 = subborrow_u32(x703, x686, 0xffffffff);
- uint32_t x708, uint8_t x709 = subborrow_u32(x706, x689, 0xffffffff);
- uint32_t x711, uint8_t x712 = subborrow_u32(x709, x692, 0xffffffff);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0x3f);
- uint32_t _, uint8_t x718 = subborrow_u32(x715, x697, 0x0);
- uint32_t x719 = cmovznz32(x718, x714, x695);
- uint32_t x720 = cmovznz32(x718, x711, x692);
- uint32_t x721 = cmovznz32(x718, x708, x689);
- uint32_t x722 = cmovznz32(x718, x705, x686);
- uint32_t x723 = cmovznz32(x718, x702, x683);
- uint32_t x724 = cmovznz32(x718, x699, x680);
- return (x719, x720, x721, x722, x723, x724))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.v
deleted file mode 100644
index ef490d3b8..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fenz.c b/src/Specific/montgomery32_2e166m5_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fenz.v b/src/Specific/montgomery32_2e166m5_6limbs/fenz.v
deleted file mode 100644
index f2faf3cde..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.v
deleted file mode 100644
index ff598cdd8..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feopp.c b/src/Specific/montgomery32_2e166m5_6limbs/feopp.c
deleted file mode 100644
index d9caf7596..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xfffffffb);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint8_t x50 = ((uint8_t)x29 & 0x3f);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feopp.v b/src/Specific/montgomery32_2e166m5_6limbs/feopp.v
deleted file mode 100644
index 7cce66503..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.log
deleted file mode 100644
index 8b39a6b4e..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xfffffffb);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint8_t x50 = ((uint8_t)x29 & 0x3f);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.v
deleted file mode 100644
index f4bf79759..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fesquare.c b/src/Specific/montgomery32_2e166m5_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fesub.c b/src/Specific/montgomery32_2e166m5_6limbs/fesub.c
deleted file mode 100644
index 5ce4a0e74..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xfffffffb);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint8_t x63 = ((uint8_t)x42 & 0x3f);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fesub.v b/src/Specific/montgomery32_2e166m5_6limbs/fesub.v
deleted file mode 100644
index 6f40465e7..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.log
deleted file mode 100644
index 5b6f35fd1..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xfffffffb);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint8_t x63 = ((uint8_t)x42 & 0x3f);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.v
deleted file mode 100644
index d219fea11..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e166m5_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e166m5_6limbs/py_interpreter.sh
deleted file mode 100755
index 8d5ad5dcf..000000000
--- a/src/Specific/montgomery32_2e166m5_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**166 - 5' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e171m19_6limbs/CurveParameters.v
deleted file mode 100644
index 54b82b346..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^171 - 19
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^171;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e171m19_6limbs/Synthesis.v b/src/Specific/montgomery32_2e171m19_6limbs/Synthesis.v
deleted file mode 100644
index 6e0e62bb8..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.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/montgomery32_2e171m19_6limbs/compiler.sh b/src/Specific/montgomery32_2e171m19_6limbs/compiler.sh
deleted file mode 100755
index d24f69337..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e171m19_6limbs/compilerxx.sh
deleted file mode 100755
index 6893e0b3c..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feadd.c b/src/Specific/montgomery32_2e171m19_6limbs/feadd.c
deleted file mode 100644
index 85dcc582d..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xffffffed, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x7ff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feadd.v b/src/Specific/montgomery32_2e171m19_6limbs/feadd.v
deleted file mode 100644
index a14e0b391..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.log
deleted file mode 100644
index 4a39a15c4..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xffffffed);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x7ff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.v
deleted file mode 100644
index e423d3403..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/femul.c b/src/Specific/montgomery32_2e171m19_6limbs/femul.c
deleted file mode 100644
index e41566974..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0x286bca1b, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xffffffed, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint32_t x80; uint32_t x79 = _mulx_u32(x61, 0x7ff, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint32_t x97; uint8_t _ = _addcarryx_u32(0x0, x95, x80, &x97);
- { uint32_t _; uint8_t x101 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x43, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x46, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x49, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x52, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x55, x94, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x58, x97, &x118);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x15, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x17, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x19, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x21, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x23, &x134);
- { uint32_t x137; uint32_t x136 = _mulx_u32(x7, x22, &x137);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(0x0, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t x152 = _addcarryx_u32(x149, x134, x136, &x151);
- { uint32_t x154; uint8_t _ = _addcarryx_u32(0x0, x152, x137, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(0x0, x103, x121, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x118, x151, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x119, x154, &x175);
- { uint32_t _; uint32_t x178 = _mulx_u32(x157, 0x286bca1b, &_);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x178, 0xffffffed, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x178, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x178, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x178, 0xffffffff, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x178, 0xffffffff, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x178, 0x7ff, &x197);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(0x0, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x191, x193, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x194, x196, &x211);
- { uint32_t x214; uint8_t _ = _addcarryx_u32(0x0, x212, x197, &x214);
- { uint32_t _; uint8_t x218 = _addcarryx_u32(0x0, x157, x181, &_);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x160, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x163, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x166, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x169, x208, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x172, x211, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x15, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x17, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x19, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x21, &x249);
- { uint32_t x252; uint32_t x251 = _mulx_u32(x9, x23, &x252);
- { uint32_t x255; uint32_t x254 = _mulx_u32(x9, x22, &x255);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(0x0, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t x267 = _addcarryx_u32(x264, x249, x251, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(x267, x252, x254, &x269);
- { uint32_t x272; uint8_t _ = _addcarryx_u32(0x0, x270, x255, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(0x0, x220, x239, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x232, x266, &x287);
- { uint32_t x290; uint8_t x291 = _addcarryx_u32(x288, x235, x269, &x290);
- { uint32_t x293; uint8_t x294 = _addcarryx_u32(x291, x237, x272, &x293);
- { uint32_t _; uint32_t x296 = _mulx_u32(x275, 0x286bca1b, &_);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x296, 0xffffffed, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x296, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x296, 0xffffffff, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x296, 0xffffffff, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x296, 0xffffffff, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x296, 0x7ff, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x306, x308, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x309, x311, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x312, x314, &x329);
- { uint32_t x332; uint8_t _ = _addcarryx_u32(0x0, x330, x315, &x332);
- { uint32_t _; uint8_t x336 = _addcarryx_u32(0x0, x275, x299, &_);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x278, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x281, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x284, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x287, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x290, x329, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x15, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x17, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x19, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x21, &x367);
- { uint32_t x370; uint32_t x369 = _mulx_u32(x11, x23, &x370);
- { uint32_t x373; uint32_t x372 = _mulx_u32(x11, x22, &x373);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(0x0, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x367, x369, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x370, x372, &x387);
- { uint32_t x390; uint8_t _ = _addcarryx_u32(0x0, x388, x373, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x338, x357, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x350, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x353, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x355, x390, &x411);
- { uint32_t _; uint32_t x414 = _mulx_u32(x393, 0x286bca1b, &_);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x414, 0xffffffed, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x414, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x414, 0xffffffff, &x424);
- { uint32_t x427; uint32_t x426 = _mulx_u32(x414, 0xffffffff, &x427);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x414, 0xffffffff, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x414, 0x7ff, &x433);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(0x0, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x427, x429, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x430, x432, &x447);
- { uint32_t x450; uint8_t _ = _addcarryx_u32(0x0, x448, x433, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x393, x417, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x396, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x399, x438, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x402, x441, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x405, x444, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x408, x447, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x15, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x17, &x479);
- { uint32_t x482; uint32_t x481 = _mulx_u32(x13, x19, &x482);
- { uint32_t x485; uint32_t x484 = _mulx_u32(x13, x21, &x485);
- { uint32_t x488; uint32_t x487 = _mulx_u32(x13, x23, &x488);
- { uint32_t x491; uint32_t x490 = _mulx_u32(x13, x22, &x491);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(0x0, x476, x478, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x479, x481, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x482, x484, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x485, x487, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x488, x490, &x505);
- { uint32_t x508; uint8_t _ = _addcarryx_u32(0x0, x506, x491, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(0x0, x456, x475, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x462, x496, &x517);
- { uint32_t x520; uint8_t x521 = _addcarryx_u32(x518, x465, x499, &x520);
- { uint32_t x523; uint8_t x524 = _addcarryx_u32(x521, x468, x502, &x523);
- { uint32_t x526; uint8_t x527 = _addcarryx_u32(x524, x471, x505, &x526);
- { uint32_t x529; uint8_t x530 = _addcarryx_u32(x527, x473, x508, &x529);
- { uint32_t _; uint32_t x532 = _mulx_u32(x511, 0x286bca1b, &_);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x532, 0xffffffed, &x536);
- { uint32_t x539; uint32_t x538 = _mulx_u32(x532, 0xffffffff, &x539);
- { uint32_t x542; uint32_t x541 = _mulx_u32(x532, 0xffffffff, &x542);
- { uint32_t x545; uint32_t x544 = _mulx_u32(x532, 0xffffffff, &x545);
- { uint32_t x548; uint32_t x547 = _mulx_u32(x532, 0xffffffff, &x548);
- { uint32_t x551; uint32_t x550 = _mulx_u32(x532, 0x7ff, &x551);
- { uint32_t x553; uint8_t x554 = _addcarryx_u32(0x0, x536, x538, &x553);
- { uint32_t x556; uint8_t x557 = _addcarryx_u32(x554, x539, x541, &x556);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x542, x544, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x545, x547, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x548, x550, &x565);
- { uint32_t x568; uint8_t _ = _addcarryx_u32(0x0, x566, x551, &x568);
- { uint32_t _; uint8_t x572 = _addcarryx_u32(0x0, x511, x535, &_);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x514, x553, &x574);
- { uint32_t x577; uint8_t x578 = _addcarryx_u32(x575, x517, x556, &x577);
- { uint32_t x580; uint8_t x581 = _addcarryx_u32(x578, x520, x559, &x580);
- { uint32_t x583; uint8_t x584 = _addcarryx_u32(x581, x523, x562, &x583);
- { uint32_t x586; uint8_t x587 = _addcarryx_u32(x584, x526, x565, &x586);
- { uint32_t x589; uint8_t x590 = _addcarryx_u32(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x15, &x594);
- { uint32_t x597; uint32_t x596 = _mulx_u32(x12, x17, &x597);
- { uint32_t x600; uint32_t x599 = _mulx_u32(x12, x19, &x600);
- { uint32_t x603; uint32_t x602 = _mulx_u32(x12, x21, &x603);
- { uint32_t x606; uint32_t x605 = _mulx_u32(x12, x23, &x606);
- { uint32_t x609; uint32_t x608 = _mulx_u32(x12, x22, &x609);
- { uint32_t x611; uint8_t x612 = _addcarryx_u32(0x0, x594, x596, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(x612, x597, x599, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x600, x602, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x603, x605, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x606, x608, &x623);
- { uint32_t x626; uint8_t _ = _addcarryx_u32(0x0, x624, x609, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(0x0, x574, x593, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x577, x611, &x632);
- { uint32_t x635; uint8_t x636 = _addcarryx_u32(x633, x580, x614, &x635);
- { uint32_t x638; uint8_t x639 = _addcarryx_u32(x636, x583, x617, &x638);
- { uint32_t x641; uint8_t x642 = _addcarryx_u32(x639, x586, x620, &x641);
- { uint32_t x644; uint8_t x645 = _addcarryx_u32(x642, x589, x623, &x644);
- { uint32_t x647; uint8_t x648 = _addcarryx_u32(x645, x591, x626, &x647);
- { uint32_t _; uint32_t x650 = _mulx_u32(x629, 0x286bca1b, &_);
- { uint32_t x654; uint32_t x653 = _mulx_u32(x650, 0xffffffed, &x654);
- { uint32_t x657; uint32_t x656 = _mulx_u32(x650, 0xffffffff, &x657);
- { uint32_t x660; uint32_t x659 = _mulx_u32(x650, 0xffffffff, &x660);
- { uint32_t x663; uint32_t x662 = _mulx_u32(x650, 0xffffffff, &x663);
- { uint32_t x666; uint32_t x665 = _mulx_u32(x650, 0xffffffff, &x666);
- { uint32_t x669; uint32_t x668 = _mulx_u32(x650, 0x7ff, &x669);
- { uint32_t x671; uint8_t x672 = _addcarryx_u32(0x0, x654, x656, &x671);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x657, x659, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x660, x662, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x663, x665, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x666, x668, &x683);
- { uint32_t x686; uint8_t _ = _addcarryx_u32(0x0, x684, x669, &x686);
- { uint32_t _; uint8_t x690 = _addcarryx_u32(0x0, x629, x653, &_);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x632, x671, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x635, x674, &x695);
- { uint32_t x698; uint8_t x699 = _addcarryx_u32(x696, x638, x677, &x698);
- { uint32_t x701; uint8_t x702 = _addcarryx_u32(x699, x641, x680, &x701);
- { uint32_t x704; uint8_t x705 = _addcarryx_u32(x702, x644, x683, &x704);
- { uint32_t x707; uint8_t x708 = _addcarryx_u32(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(0x0, x692, 0xffffffed, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0xffffffff, &x714);
- { uint32_t x717; uint8_t x718 = _subborrow_u32(x715, x698, 0xffffffff, &x717);
- { uint32_t x720; uint8_t x721 = _subborrow_u32(x718, x701, 0xffffffff, &x720);
- { uint32_t x723; uint8_t x724 = _subborrow_u32(x721, x704, 0xffffffff, &x723);
- { uint32_t x726; uint8_t x727 = _subborrow_u32(x724, x707, 0x7ff, &x726);
- { uint32_t _; uint8_t x730 = _subborrow_u32(x727, x709, 0x0, &_);
- { uint32_t x731 = cmovznz32(x730, x726, x707);
- { uint32_t x732 = cmovznz32(x730, x723, x704);
- { uint32_t x733 = cmovznz32(x730, x720, x701);
- { uint32_t x734 = cmovznz32(x730, x717, x698);
- { uint32_t x735 = cmovznz32(x730, x714, x695);
- { uint32_t x736 = cmovznz32(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/femul.v b/src/Specific/montgomery32_2e171m19_6limbs/femul.v
deleted file mode 100644
index a10273efc..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.log
deleted file mode 100644
index d4b873886..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0x286bca1b);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xffffffed);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint32_t x80 = mulx_u32(x61, 0x7ff);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint32_t x97, uint8_t _ = addcarryx_u32(0x0, x95, x80);
- uint32_t _, uint8_t x101 = addcarryx_u32(0x0, x25, x64);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x43, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x46, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x49, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x52, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x55, x94);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x58, x97);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x15);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x17);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x19);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x21);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x23);
- uint32_t x136, uint32_t x137 = mulx_u32(x7, x22);
- uint32_t x139, uint8_t x140 = addcarryx_u32(0x0, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t x152 = addcarryx_u32(x149, x134, x136);
- uint32_t x154, uint8_t _ = addcarryx_u32(0x0, x152, x137);
- uint32_t x157, uint8_t x158 = addcarryx_u32(0x0, x103, x121);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x118, x151);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x119, x154);
- uint32_t x178, uint32_t _ = mulx_u32(x157, 0x286bca1b);
- uint32_t x181, uint32_t x182 = mulx_u32(x178, 0xffffffed);
- uint32_t x184, uint32_t x185 = mulx_u32(x178, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x178, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x178, 0xffffffff);
- uint32_t x193, uint32_t x194 = mulx_u32(x178, 0xffffffff);
- uint32_t x196, uint32_t x197 = mulx_u32(x178, 0x7ff);
- uint32_t x199, uint8_t x200 = addcarryx_u32(0x0, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x191, x193);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x194, x196);
- uint32_t x214, uint8_t _ = addcarryx_u32(0x0, x212, x197);
- uint32_t _, uint8_t x218 = addcarryx_u32(0x0, x157, x181);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x160, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x163, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x166, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x169, x208);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x172, x211);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x15);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x17);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x19);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x21);
- uint32_t x251, uint32_t x252 = mulx_u32(x9, x23);
- uint32_t x254, uint32_t x255 = mulx_u32(x9, x22);
- uint32_t x257, uint8_t x258 = addcarryx_u32(0x0, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x249, x251);
- uint32_t x269, uint8_t x270 = addcarryx_u32(x267, x252, x254);
- uint32_t x272, uint8_t _ = addcarryx_u32(0x0, x270, x255);
- uint32_t x275, uint8_t x276 = addcarryx_u32(0x0, x220, x239);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x232, x266);
- uint32_t x290, uint8_t x291 = addcarryx_u32(x288, x235, x269);
- uint32_t x293, uint8_t x294 = addcarryx_u32(x291, x237, x272);
- uint32_t x296, uint32_t _ = mulx_u32(x275, 0x286bca1b);
- uint32_t x299, uint32_t x300 = mulx_u32(x296, 0xffffffed);
- uint32_t x302, uint32_t x303 = mulx_u32(x296, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x296, 0xffffffff);
- uint32_t x308, uint32_t x309 = mulx_u32(x296, 0xffffffff);
- uint32_t x311, uint32_t x312 = mulx_u32(x296, 0xffffffff);
- uint32_t x314, uint32_t x315 = mulx_u32(x296, 0x7ff);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x306, x308);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x309, x311);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x312, x314);
- uint32_t x332, uint8_t _ = addcarryx_u32(0x0, x330, x315);
- uint32_t _, uint8_t x336 = addcarryx_u32(0x0, x275, x299);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x278, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x281, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x284, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x287, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x290, x329);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x15);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x17);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x19);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x21);
- uint32_t x369, uint32_t x370 = mulx_u32(x11, x23);
- uint32_t x372, uint32_t x373 = mulx_u32(x11, x22);
- uint32_t x375, uint8_t x376 = addcarryx_u32(0x0, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x367, x369);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x370, x372);
- uint32_t x390, uint8_t _ = addcarryx_u32(0x0, x388, x373);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x338, x357);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x350, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x353, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x355, x390);
- uint32_t x414, uint32_t _ = mulx_u32(x393, 0x286bca1b);
- uint32_t x417, uint32_t x418 = mulx_u32(x414, 0xffffffed);
- uint32_t x420, uint32_t x421 = mulx_u32(x414, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x414, 0xffffffff);
- uint32_t x426, uint32_t x427 = mulx_u32(x414, 0xffffffff);
- uint32_t x429, uint32_t x430 = mulx_u32(x414, 0xffffffff);
- uint32_t x432, uint32_t x433 = mulx_u32(x414, 0x7ff);
- uint32_t x435, uint8_t x436 = addcarryx_u32(0x0, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x427, x429);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x430, x432);
- uint32_t x450, uint8_t _ = addcarryx_u32(0x0, x448, x433);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x393, x417);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x396, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x399, x438);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x402, x441);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x405, x444);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x408, x447);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x15);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x17);
- uint32_t x481, uint32_t x482 = mulx_u32(x13, x19);
- uint32_t x484, uint32_t x485 = mulx_u32(x13, x21);
- uint32_t x487, uint32_t x488 = mulx_u32(x13, x23);
- uint32_t x490, uint32_t x491 = mulx_u32(x13, x22);
- uint32_t x493, uint8_t x494 = addcarryx_u32(0x0, x476, x478);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x479, x481);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x482, x484);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x485, x487);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x488, x490);
- uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x491);
- uint32_t x511, uint8_t x512 = addcarryx_u32(0x0, x456, x475);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x462, x496);
- uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x465, x499);
- uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x468, x502);
- uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x471, x505);
- uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x473, x508);
- uint32_t x532, uint32_t _ = mulx_u32(x511, 0x286bca1b);
- uint32_t x535, uint32_t x536 = mulx_u32(x532, 0xffffffed);
- uint32_t x538, uint32_t x539 = mulx_u32(x532, 0xffffffff);
- uint32_t x541, uint32_t x542 = mulx_u32(x532, 0xffffffff);
- uint32_t x544, uint32_t x545 = mulx_u32(x532, 0xffffffff);
- uint32_t x547, uint32_t x548 = mulx_u32(x532, 0xffffffff);
- uint32_t x550, uint32_t x551 = mulx_u32(x532, 0x7ff);
- uint32_t x553, uint8_t x554 = addcarryx_u32(0x0, x536, x538);
- uint32_t x556, uint8_t x557 = addcarryx_u32(x554, x539, x541);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x542, x544);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x545, x547);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x548, x550);
- uint32_t x568, uint8_t _ = addcarryx_u32(0x0, x566, x551);
- uint32_t _, uint8_t x572 = addcarryx_u32(0x0, x511, x535);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x514, x553);
- uint32_t x577, uint8_t x578 = addcarryx_u32(x575, x517, x556);
- uint32_t x580, uint8_t x581 = addcarryx_u32(x578, x520, x559);
- uint32_t x583, uint8_t x584 = addcarryx_u32(x581, x523, x562);
- uint32_t x586, uint8_t x587 = addcarryx_u32(x584, x526, x565);
- uint32_t x589, uint8_t x590 = addcarryx_u32(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x15);
- uint32_t x596, uint32_t x597 = mulx_u32(x12, x17);
- uint32_t x599, uint32_t x600 = mulx_u32(x12, x19);
- uint32_t x602, uint32_t x603 = mulx_u32(x12, x21);
- uint32_t x605, uint32_t x606 = mulx_u32(x12, x23);
- uint32_t x608, uint32_t x609 = mulx_u32(x12, x22);
- uint32_t x611, uint8_t x612 = addcarryx_u32(0x0, x594, x596);
- uint32_t x614, uint8_t x615 = addcarryx_u32(x612, x597, x599);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x600, x602);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x603, x605);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x606, x608);
- uint32_t x626, uint8_t _ = addcarryx_u32(0x0, x624, x609);
- uint32_t x629, uint8_t x630 = addcarryx_u32(0x0, x574, x593);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x577, x611);
- uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x580, x614);
- uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x583, x617);
- uint32_t x641, uint8_t x642 = addcarryx_u32(x639, x586, x620);
- uint32_t x644, uint8_t x645 = addcarryx_u32(x642, x589, x623);
- uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x591, x626);
- uint32_t x650, uint32_t _ = mulx_u32(x629, 0x286bca1b);
- uint32_t x653, uint32_t x654 = mulx_u32(x650, 0xffffffed);
- uint32_t x656, uint32_t x657 = mulx_u32(x650, 0xffffffff);
- uint32_t x659, uint32_t x660 = mulx_u32(x650, 0xffffffff);
- uint32_t x662, uint32_t x663 = mulx_u32(x650, 0xffffffff);
- uint32_t x665, uint32_t x666 = mulx_u32(x650, 0xffffffff);
- uint32_t x668, uint32_t x669 = mulx_u32(x650, 0x7ff);
- uint32_t x671, uint8_t x672 = addcarryx_u32(0x0, x654, x656);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x657, x659);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x660, x662);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x663, x665);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x666, x668);
- uint32_t x686, uint8_t _ = addcarryx_u32(0x0, x684, x669);
- uint32_t _, uint8_t x690 = addcarryx_u32(0x0, x629, x653);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x632, x671);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x635, x674);
- uint32_t x698, uint8_t x699 = addcarryx_u32(x696, x638, x677);
- uint32_t x701, uint8_t x702 = addcarryx_u32(x699, x641, x680);
- uint32_t x704, uint8_t x705 = addcarryx_u32(x702, x644, x683);
- uint32_t x707, uint8_t x708 = addcarryx_u32(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint32_t x711, uint8_t x712 = subborrow_u32(0x0, x692, 0xffffffed);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0xffffffff);
- uint32_t x717, uint8_t x718 = subborrow_u32(x715, x698, 0xffffffff);
- uint32_t x720, uint8_t x721 = subborrow_u32(x718, x701, 0xffffffff);
- uint32_t x723, uint8_t x724 = subborrow_u32(x721, x704, 0xffffffff);
- uint32_t x726, uint8_t x727 = subborrow_u32(x724, x707, 0x7ff);
- uint32_t _, uint8_t x730 = subborrow_u32(x727, x709, 0x0);
- uint32_t x731 = cmovznz32(x730, x726, x707);
- uint32_t x732 = cmovznz32(x730, x723, x704);
- uint32_t x733 = cmovznz32(x730, x720, x701);
- uint32_t x734 = cmovznz32(x730, x717, x698);
- uint32_t x735 = cmovznz32(x730, x714, x695);
- uint32_t x736 = cmovznz32(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.v
deleted file mode 100644
index 0b2f6980f..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fenz.c b/src/Specific/montgomery32_2e171m19_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fenz.v b/src/Specific/montgomery32_2e171m19_6limbs/fenz.v
deleted file mode 100644
index 114ac2f82..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.v
deleted file mode 100644
index 592c288c7..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feopp.c b/src/Specific/montgomery32_2e171m19_6limbs/feopp.c
deleted file mode 100644
index c7d34f427..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffed);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0x7ff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feopp.v b/src/Specific/montgomery32_2e171m19_6limbs/feopp.v
deleted file mode 100644
index 2653d12a9..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.log
deleted file mode 100644
index c49945ba8..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffed);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0x7ff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.v
deleted file mode 100644
index 7cb06a34f..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fesquare.c b/src/Specific/montgomery32_2e171m19_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fesub.c b/src/Specific/montgomery32_2e171m19_6limbs/fesub.c
deleted file mode 100644
index 7dc4f0d26..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xffffffed);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0x7ff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fesub.v b/src/Specific/montgomery32_2e171m19_6limbs/fesub.v
deleted file mode 100644
index 31675ab9a..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.log
deleted file mode 100644
index 4f3a0717b..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xffffffed);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0x7ff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.v
deleted file mode 100644
index 6aa9ddfa8..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e171m19_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e171m19_6limbs/py_interpreter.sh
deleted file mode 100755
index 97053ad74..000000000
--- a/src/Specific/montgomery32_2e171m19_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**171 - 19' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e174m17_6limbs/CurveParameters.v
deleted file mode 100644
index 4084ea061..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^174;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e174m17_6limbs/Synthesis.v b/src/Specific/montgomery32_2e174m17_6limbs/Synthesis.v
deleted file mode 100644
index cf5b92427..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.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/montgomery32_2e174m17_6limbs/compiler.sh b/src/Specific/montgomery32_2e174m17_6limbs/compiler.sh
deleted file mode 100755
index 3fb9dca37..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e174m17_6limbs/compilerxx.sh
deleted file mode 100755
index 0e3cff3a9..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feadd.c b/src/Specific/montgomery32_2e174m17_6limbs/feadd.c
deleted file mode 100644
index a361d09df..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xffffffef, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x3fff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feadd.v b/src/Specific/montgomery32_2e174m17_6limbs/feadd.v
deleted file mode 100644
index 81e8f3cf1..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.log
deleted file mode 100644
index 31e22218b..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xffffffef);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x3fff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.v
deleted file mode 100644
index 4ea08b6f1..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/femul.c b/src/Specific/montgomery32_2e174m17_6limbs/femul.c
deleted file mode 100644
index b24bb3ee2..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0xf0f0f0f1, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xffffffef, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint32_t x80; uint32_t x79 = _mulx_u32(x61, 0x3fff, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint32_t x97; uint8_t _ = _addcarryx_u32(0x0, x95, x80, &x97);
- { uint32_t _; uint8_t x101 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x43, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x46, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x49, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x52, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x55, x94, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x58, x97, &x118);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x15, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x17, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x19, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x21, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x23, &x134);
- { uint32_t x137; uint32_t x136 = _mulx_u32(x7, x22, &x137);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(0x0, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t x152 = _addcarryx_u32(x149, x134, x136, &x151);
- { uint32_t x154; uint8_t _ = _addcarryx_u32(0x0, x152, x137, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(0x0, x103, x121, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x118, x151, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x119, x154, &x175);
- { uint32_t _; uint32_t x178 = _mulx_u32(x157, 0xf0f0f0f1, &_);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x178, 0xffffffef, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x178, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x178, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x178, 0xffffffff, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x178, 0xffffffff, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x178, 0x3fff, &x197);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(0x0, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x191, x193, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x194, x196, &x211);
- { uint32_t x214; uint8_t _ = _addcarryx_u32(0x0, x212, x197, &x214);
- { uint32_t _; uint8_t x218 = _addcarryx_u32(0x0, x157, x181, &_);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x160, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x163, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x166, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x169, x208, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x172, x211, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x15, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x17, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x19, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x21, &x249);
- { uint32_t x252; uint32_t x251 = _mulx_u32(x9, x23, &x252);
- { uint32_t x255; uint32_t x254 = _mulx_u32(x9, x22, &x255);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(0x0, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t x267 = _addcarryx_u32(x264, x249, x251, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(x267, x252, x254, &x269);
- { uint32_t x272; uint8_t _ = _addcarryx_u32(0x0, x270, x255, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(0x0, x220, x239, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x232, x266, &x287);
- { uint32_t x290; uint8_t x291 = _addcarryx_u32(x288, x235, x269, &x290);
- { uint32_t x293; uint8_t x294 = _addcarryx_u32(x291, x237, x272, &x293);
- { uint32_t _; uint32_t x296 = _mulx_u32(x275, 0xf0f0f0f1, &_);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x296, 0xffffffef, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x296, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x296, 0xffffffff, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x296, 0xffffffff, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x296, 0xffffffff, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x296, 0x3fff, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x306, x308, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x309, x311, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x312, x314, &x329);
- { uint32_t x332; uint8_t _ = _addcarryx_u32(0x0, x330, x315, &x332);
- { uint32_t _; uint8_t x336 = _addcarryx_u32(0x0, x275, x299, &_);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x278, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x281, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x284, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x287, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x290, x329, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x15, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x17, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x19, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x21, &x367);
- { uint32_t x370; uint32_t x369 = _mulx_u32(x11, x23, &x370);
- { uint32_t x373; uint32_t x372 = _mulx_u32(x11, x22, &x373);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(0x0, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x367, x369, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x370, x372, &x387);
- { uint32_t x390; uint8_t _ = _addcarryx_u32(0x0, x388, x373, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x338, x357, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x350, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x353, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x355, x390, &x411);
- { uint32_t _; uint32_t x414 = _mulx_u32(x393, 0xf0f0f0f1, &_);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x414, 0xffffffef, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x414, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x414, 0xffffffff, &x424);
- { uint32_t x427; uint32_t x426 = _mulx_u32(x414, 0xffffffff, &x427);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x414, 0xffffffff, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x414, 0x3fff, &x433);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(0x0, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x427, x429, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x430, x432, &x447);
- { uint32_t x450; uint8_t _ = _addcarryx_u32(0x0, x448, x433, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x393, x417, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x396, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x399, x438, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x402, x441, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x405, x444, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x408, x447, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x15, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x17, &x479);
- { uint32_t x482; uint32_t x481 = _mulx_u32(x13, x19, &x482);
- { uint32_t x485; uint32_t x484 = _mulx_u32(x13, x21, &x485);
- { uint32_t x488; uint32_t x487 = _mulx_u32(x13, x23, &x488);
- { uint32_t x491; uint32_t x490 = _mulx_u32(x13, x22, &x491);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(0x0, x476, x478, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x479, x481, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x482, x484, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x485, x487, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x488, x490, &x505);
- { uint32_t x508; uint8_t _ = _addcarryx_u32(0x0, x506, x491, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(0x0, x456, x475, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x462, x496, &x517);
- { uint32_t x520; uint8_t x521 = _addcarryx_u32(x518, x465, x499, &x520);
- { uint32_t x523; uint8_t x524 = _addcarryx_u32(x521, x468, x502, &x523);
- { uint32_t x526; uint8_t x527 = _addcarryx_u32(x524, x471, x505, &x526);
- { uint32_t x529; uint8_t x530 = _addcarryx_u32(x527, x473, x508, &x529);
- { uint32_t _; uint32_t x532 = _mulx_u32(x511, 0xf0f0f0f1, &_);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x532, 0xffffffef, &x536);
- { uint32_t x539; uint32_t x538 = _mulx_u32(x532, 0xffffffff, &x539);
- { uint32_t x542; uint32_t x541 = _mulx_u32(x532, 0xffffffff, &x542);
- { uint32_t x545; uint32_t x544 = _mulx_u32(x532, 0xffffffff, &x545);
- { uint32_t x548; uint32_t x547 = _mulx_u32(x532, 0xffffffff, &x548);
- { uint32_t x551; uint32_t x550 = _mulx_u32(x532, 0x3fff, &x551);
- { uint32_t x553; uint8_t x554 = _addcarryx_u32(0x0, x536, x538, &x553);
- { uint32_t x556; uint8_t x557 = _addcarryx_u32(x554, x539, x541, &x556);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x542, x544, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x545, x547, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x548, x550, &x565);
- { uint32_t x568; uint8_t _ = _addcarryx_u32(0x0, x566, x551, &x568);
- { uint32_t _; uint8_t x572 = _addcarryx_u32(0x0, x511, x535, &_);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x514, x553, &x574);
- { uint32_t x577; uint8_t x578 = _addcarryx_u32(x575, x517, x556, &x577);
- { uint32_t x580; uint8_t x581 = _addcarryx_u32(x578, x520, x559, &x580);
- { uint32_t x583; uint8_t x584 = _addcarryx_u32(x581, x523, x562, &x583);
- { uint32_t x586; uint8_t x587 = _addcarryx_u32(x584, x526, x565, &x586);
- { uint32_t x589; uint8_t x590 = _addcarryx_u32(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x15, &x594);
- { uint32_t x597; uint32_t x596 = _mulx_u32(x12, x17, &x597);
- { uint32_t x600; uint32_t x599 = _mulx_u32(x12, x19, &x600);
- { uint32_t x603; uint32_t x602 = _mulx_u32(x12, x21, &x603);
- { uint32_t x606; uint32_t x605 = _mulx_u32(x12, x23, &x606);
- { uint32_t x609; uint32_t x608 = _mulx_u32(x12, x22, &x609);
- { uint32_t x611; uint8_t x612 = _addcarryx_u32(0x0, x594, x596, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(x612, x597, x599, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x600, x602, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x603, x605, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x606, x608, &x623);
- { uint32_t x626; uint8_t _ = _addcarryx_u32(0x0, x624, x609, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(0x0, x574, x593, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x577, x611, &x632);
- { uint32_t x635; uint8_t x636 = _addcarryx_u32(x633, x580, x614, &x635);
- { uint32_t x638; uint8_t x639 = _addcarryx_u32(x636, x583, x617, &x638);
- { uint32_t x641; uint8_t x642 = _addcarryx_u32(x639, x586, x620, &x641);
- { uint32_t x644; uint8_t x645 = _addcarryx_u32(x642, x589, x623, &x644);
- { uint32_t x647; uint8_t x648 = _addcarryx_u32(x645, x591, x626, &x647);
- { uint32_t _; uint32_t x650 = _mulx_u32(x629, 0xf0f0f0f1, &_);
- { uint32_t x654; uint32_t x653 = _mulx_u32(x650, 0xffffffef, &x654);
- { uint32_t x657; uint32_t x656 = _mulx_u32(x650, 0xffffffff, &x657);
- { uint32_t x660; uint32_t x659 = _mulx_u32(x650, 0xffffffff, &x660);
- { uint32_t x663; uint32_t x662 = _mulx_u32(x650, 0xffffffff, &x663);
- { uint32_t x666; uint32_t x665 = _mulx_u32(x650, 0xffffffff, &x666);
- { uint32_t x669; uint32_t x668 = _mulx_u32(x650, 0x3fff, &x669);
- { uint32_t x671; uint8_t x672 = _addcarryx_u32(0x0, x654, x656, &x671);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x657, x659, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x660, x662, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x663, x665, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x666, x668, &x683);
- { uint32_t x686; uint8_t _ = _addcarryx_u32(0x0, x684, x669, &x686);
- { uint32_t _; uint8_t x690 = _addcarryx_u32(0x0, x629, x653, &_);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x632, x671, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x635, x674, &x695);
- { uint32_t x698; uint8_t x699 = _addcarryx_u32(x696, x638, x677, &x698);
- { uint32_t x701; uint8_t x702 = _addcarryx_u32(x699, x641, x680, &x701);
- { uint32_t x704; uint8_t x705 = _addcarryx_u32(x702, x644, x683, &x704);
- { uint32_t x707; uint8_t x708 = _addcarryx_u32(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(0x0, x692, 0xffffffef, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0xffffffff, &x714);
- { uint32_t x717; uint8_t x718 = _subborrow_u32(x715, x698, 0xffffffff, &x717);
- { uint32_t x720; uint8_t x721 = _subborrow_u32(x718, x701, 0xffffffff, &x720);
- { uint32_t x723; uint8_t x724 = _subborrow_u32(x721, x704, 0xffffffff, &x723);
- { uint32_t x726; uint8_t x727 = _subborrow_u32(x724, x707, 0x3fff, &x726);
- { uint32_t _; uint8_t x730 = _subborrow_u32(x727, x709, 0x0, &_);
- { uint32_t x731 = cmovznz32(x730, x726, x707);
- { uint32_t x732 = cmovznz32(x730, x723, x704);
- { uint32_t x733 = cmovznz32(x730, x720, x701);
- { uint32_t x734 = cmovznz32(x730, x717, x698);
- { uint32_t x735 = cmovznz32(x730, x714, x695);
- { uint32_t x736 = cmovznz32(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/femul.v b/src/Specific/montgomery32_2e174m17_6limbs/femul.v
deleted file mode 100644
index 1f69b1793..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.log
deleted file mode 100644
index 047054f7e..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0xf0f0f0f1);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xffffffef);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint32_t x80 = mulx_u32(x61, 0x3fff);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint32_t x97, uint8_t _ = addcarryx_u32(0x0, x95, x80);
- uint32_t _, uint8_t x101 = addcarryx_u32(0x0, x25, x64);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x43, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x46, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x49, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x52, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x55, x94);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x58, x97);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x15);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x17);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x19);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x21);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x23);
- uint32_t x136, uint32_t x137 = mulx_u32(x7, x22);
- uint32_t x139, uint8_t x140 = addcarryx_u32(0x0, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t x152 = addcarryx_u32(x149, x134, x136);
- uint32_t x154, uint8_t _ = addcarryx_u32(0x0, x152, x137);
- uint32_t x157, uint8_t x158 = addcarryx_u32(0x0, x103, x121);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x118, x151);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x119, x154);
- uint32_t x178, uint32_t _ = mulx_u32(x157, 0xf0f0f0f1);
- uint32_t x181, uint32_t x182 = mulx_u32(x178, 0xffffffef);
- uint32_t x184, uint32_t x185 = mulx_u32(x178, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x178, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x178, 0xffffffff);
- uint32_t x193, uint32_t x194 = mulx_u32(x178, 0xffffffff);
- uint32_t x196, uint32_t x197 = mulx_u32(x178, 0x3fff);
- uint32_t x199, uint8_t x200 = addcarryx_u32(0x0, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x191, x193);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x194, x196);
- uint32_t x214, uint8_t _ = addcarryx_u32(0x0, x212, x197);
- uint32_t _, uint8_t x218 = addcarryx_u32(0x0, x157, x181);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x160, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x163, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x166, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x169, x208);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x172, x211);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x15);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x17);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x19);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x21);
- uint32_t x251, uint32_t x252 = mulx_u32(x9, x23);
- uint32_t x254, uint32_t x255 = mulx_u32(x9, x22);
- uint32_t x257, uint8_t x258 = addcarryx_u32(0x0, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x249, x251);
- uint32_t x269, uint8_t x270 = addcarryx_u32(x267, x252, x254);
- uint32_t x272, uint8_t _ = addcarryx_u32(0x0, x270, x255);
- uint32_t x275, uint8_t x276 = addcarryx_u32(0x0, x220, x239);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x232, x266);
- uint32_t x290, uint8_t x291 = addcarryx_u32(x288, x235, x269);
- uint32_t x293, uint8_t x294 = addcarryx_u32(x291, x237, x272);
- uint32_t x296, uint32_t _ = mulx_u32(x275, 0xf0f0f0f1);
- uint32_t x299, uint32_t x300 = mulx_u32(x296, 0xffffffef);
- uint32_t x302, uint32_t x303 = mulx_u32(x296, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x296, 0xffffffff);
- uint32_t x308, uint32_t x309 = mulx_u32(x296, 0xffffffff);
- uint32_t x311, uint32_t x312 = mulx_u32(x296, 0xffffffff);
- uint32_t x314, uint32_t x315 = mulx_u32(x296, 0x3fff);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x306, x308);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x309, x311);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x312, x314);
- uint32_t x332, uint8_t _ = addcarryx_u32(0x0, x330, x315);
- uint32_t _, uint8_t x336 = addcarryx_u32(0x0, x275, x299);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x278, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x281, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x284, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x287, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x290, x329);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x15);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x17);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x19);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x21);
- uint32_t x369, uint32_t x370 = mulx_u32(x11, x23);
- uint32_t x372, uint32_t x373 = mulx_u32(x11, x22);
- uint32_t x375, uint8_t x376 = addcarryx_u32(0x0, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x367, x369);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x370, x372);
- uint32_t x390, uint8_t _ = addcarryx_u32(0x0, x388, x373);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x338, x357);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x350, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x353, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x355, x390);
- uint32_t x414, uint32_t _ = mulx_u32(x393, 0xf0f0f0f1);
- uint32_t x417, uint32_t x418 = mulx_u32(x414, 0xffffffef);
- uint32_t x420, uint32_t x421 = mulx_u32(x414, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x414, 0xffffffff);
- uint32_t x426, uint32_t x427 = mulx_u32(x414, 0xffffffff);
- uint32_t x429, uint32_t x430 = mulx_u32(x414, 0xffffffff);
- uint32_t x432, uint32_t x433 = mulx_u32(x414, 0x3fff);
- uint32_t x435, uint8_t x436 = addcarryx_u32(0x0, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x427, x429);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x430, x432);
- uint32_t x450, uint8_t _ = addcarryx_u32(0x0, x448, x433);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x393, x417);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x396, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x399, x438);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x402, x441);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x405, x444);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x408, x447);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x15);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x17);
- uint32_t x481, uint32_t x482 = mulx_u32(x13, x19);
- uint32_t x484, uint32_t x485 = mulx_u32(x13, x21);
- uint32_t x487, uint32_t x488 = mulx_u32(x13, x23);
- uint32_t x490, uint32_t x491 = mulx_u32(x13, x22);
- uint32_t x493, uint8_t x494 = addcarryx_u32(0x0, x476, x478);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x479, x481);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x482, x484);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x485, x487);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x488, x490);
- uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x491);
- uint32_t x511, uint8_t x512 = addcarryx_u32(0x0, x456, x475);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x462, x496);
- uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x465, x499);
- uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x468, x502);
- uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x471, x505);
- uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x473, x508);
- uint32_t x532, uint32_t _ = mulx_u32(x511, 0xf0f0f0f1);
- uint32_t x535, uint32_t x536 = mulx_u32(x532, 0xffffffef);
- uint32_t x538, uint32_t x539 = mulx_u32(x532, 0xffffffff);
- uint32_t x541, uint32_t x542 = mulx_u32(x532, 0xffffffff);
- uint32_t x544, uint32_t x545 = mulx_u32(x532, 0xffffffff);
- uint32_t x547, uint32_t x548 = mulx_u32(x532, 0xffffffff);
- uint32_t x550, uint32_t x551 = mulx_u32(x532, 0x3fff);
- uint32_t x553, uint8_t x554 = addcarryx_u32(0x0, x536, x538);
- uint32_t x556, uint8_t x557 = addcarryx_u32(x554, x539, x541);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x542, x544);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x545, x547);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x548, x550);
- uint32_t x568, uint8_t _ = addcarryx_u32(0x0, x566, x551);
- uint32_t _, uint8_t x572 = addcarryx_u32(0x0, x511, x535);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x514, x553);
- uint32_t x577, uint8_t x578 = addcarryx_u32(x575, x517, x556);
- uint32_t x580, uint8_t x581 = addcarryx_u32(x578, x520, x559);
- uint32_t x583, uint8_t x584 = addcarryx_u32(x581, x523, x562);
- uint32_t x586, uint8_t x587 = addcarryx_u32(x584, x526, x565);
- uint32_t x589, uint8_t x590 = addcarryx_u32(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x15);
- uint32_t x596, uint32_t x597 = mulx_u32(x12, x17);
- uint32_t x599, uint32_t x600 = mulx_u32(x12, x19);
- uint32_t x602, uint32_t x603 = mulx_u32(x12, x21);
- uint32_t x605, uint32_t x606 = mulx_u32(x12, x23);
- uint32_t x608, uint32_t x609 = mulx_u32(x12, x22);
- uint32_t x611, uint8_t x612 = addcarryx_u32(0x0, x594, x596);
- uint32_t x614, uint8_t x615 = addcarryx_u32(x612, x597, x599);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x600, x602);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x603, x605);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x606, x608);
- uint32_t x626, uint8_t _ = addcarryx_u32(0x0, x624, x609);
- uint32_t x629, uint8_t x630 = addcarryx_u32(0x0, x574, x593);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x577, x611);
- uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x580, x614);
- uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x583, x617);
- uint32_t x641, uint8_t x642 = addcarryx_u32(x639, x586, x620);
- uint32_t x644, uint8_t x645 = addcarryx_u32(x642, x589, x623);
- uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x591, x626);
- uint32_t x650, uint32_t _ = mulx_u32(x629, 0xf0f0f0f1);
- uint32_t x653, uint32_t x654 = mulx_u32(x650, 0xffffffef);
- uint32_t x656, uint32_t x657 = mulx_u32(x650, 0xffffffff);
- uint32_t x659, uint32_t x660 = mulx_u32(x650, 0xffffffff);
- uint32_t x662, uint32_t x663 = mulx_u32(x650, 0xffffffff);
- uint32_t x665, uint32_t x666 = mulx_u32(x650, 0xffffffff);
- uint32_t x668, uint32_t x669 = mulx_u32(x650, 0x3fff);
- uint32_t x671, uint8_t x672 = addcarryx_u32(0x0, x654, x656);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x657, x659);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x660, x662);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x663, x665);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x666, x668);
- uint32_t x686, uint8_t _ = addcarryx_u32(0x0, x684, x669);
- uint32_t _, uint8_t x690 = addcarryx_u32(0x0, x629, x653);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x632, x671);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x635, x674);
- uint32_t x698, uint8_t x699 = addcarryx_u32(x696, x638, x677);
- uint32_t x701, uint8_t x702 = addcarryx_u32(x699, x641, x680);
- uint32_t x704, uint8_t x705 = addcarryx_u32(x702, x644, x683);
- uint32_t x707, uint8_t x708 = addcarryx_u32(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint32_t x711, uint8_t x712 = subborrow_u32(0x0, x692, 0xffffffef);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0xffffffff);
- uint32_t x717, uint8_t x718 = subborrow_u32(x715, x698, 0xffffffff);
- uint32_t x720, uint8_t x721 = subborrow_u32(x718, x701, 0xffffffff);
- uint32_t x723, uint8_t x724 = subborrow_u32(x721, x704, 0xffffffff);
- uint32_t x726, uint8_t x727 = subborrow_u32(x724, x707, 0x3fff);
- uint32_t _, uint8_t x730 = subborrow_u32(x727, x709, 0x0);
- uint32_t x731 = cmovznz32(x730, x726, x707);
- uint32_t x732 = cmovznz32(x730, x723, x704);
- uint32_t x733 = cmovznz32(x730, x720, x701);
- uint32_t x734 = cmovznz32(x730, x717, x698);
- uint32_t x735 = cmovznz32(x730, x714, x695);
- uint32_t x736 = cmovznz32(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.v
deleted file mode 100644
index 05308cd1c..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fenz.c b/src/Specific/montgomery32_2e174m17_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fenz.v b/src/Specific/montgomery32_2e174m17_6limbs/fenz.v
deleted file mode 100644
index 994fabd7b..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.v
deleted file mode 100644
index 07974e3c1..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feopp.c b/src/Specific/montgomery32_2e174m17_6limbs/feopp.c
deleted file mode 100644
index 65336f912..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffef);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0x3fff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feopp.v b/src/Specific/montgomery32_2e174m17_6limbs/feopp.v
deleted file mode 100644
index b165d23c1..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.log
deleted file mode 100644
index 189315f28..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffef);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0x3fff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.v
deleted file mode 100644
index 91a7358f1..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fesquare.c b/src/Specific/montgomery32_2e174m17_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fesub.c b/src/Specific/montgomery32_2e174m17_6limbs/fesub.c
deleted file mode 100644
index e66d18339..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xffffffef);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0x3fff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fesub.v b/src/Specific/montgomery32_2e174m17_6limbs/fesub.v
deleted file mode 100644
index 03d09f0b7..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.log
deleted file mode 100644
index d5763203a..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xffffffef);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0x3fff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.v
deleted file mode 100644
index 0c89f8a7b..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m17_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e174m17_6limbs/py_interpreter.sh
deleted file mode 100755
index d804b4d00..000000000
--- a/src/Specific/montgomery32_2e174m17_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e174m3_6limbs/CurveParameters.v
deleted file mode 100644
index 722991370..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^174;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e174m3_6limbs/Synthesis.v b/src/Specific/montgomery32_2e174m3_6limbs/Synthesis.v
deleted file mode 100644
index 8502091ec..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.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/montgomery32_2e174m3_6limbs/compiler.sh b/src/Specific/montgomery32_2e174m3_6limbs/compiler.sh
deleted file mode 100755
index 6668c860a..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e174m3_6limbs/compilerxx.sh
deleted file mode 100755
index aa5307ecb..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feadd.c b/src/Specific/montgomery32_2e174m3_6limbs/feadd.c
deleted file mode 100644
index e6f12dcab..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xfffffffd, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x3fff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feadd.v b/src/Specific/montgomery32_2e174m3_6limbs/feadd.v
deleted file mode 100644
index 0832c6441..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.log
deleted file mode 100644
index e0691d08d..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xfffffffd);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x3fff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.v
deleted file mode 100644
index 59a5affe3..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/femul.c b/src/Specific/montgomery32_2e174m3_6limbs/femul.c
deleted file mode 100644
index 62d0623a2..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0xaaaaaaab, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xfffffffd, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint32_t x80; uint32_t x79 = _mulx_u32(x61, 0x3fff, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint32_t x97; uint8_t _ = _addcarryx_u32(0x0, x95, x80, &x97);
- { uint32_t _; uint8_t x101 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x43, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x46, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x49, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x52, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x55, x94, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x58, x97, &x118);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x15, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x17, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x19, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x21, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x23, &x134);
- { uint32_t x137; uint32_t x136 = _mulx_u32(x7, x22, &x137);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(0x0, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t x152 = _addcarryx_u32(x149, x134, x136, &x151);
- { uint32_t x154; uint8_t _ = _addcarryx_u32(0x0, x152, x137, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(0x0, x103, x121, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x118, x151, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x119, x154, &x175);
- { uint32_t _; uint32_t x178 = _mulx_u32(x157, 0xaaaaaaab, &_);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x178, 0xfffffffd, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x178, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x178, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x178, 0xffffffff, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x178, 0xffffffff, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x178, 0x3fff, &x197);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(0x0, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x191, x193, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x194, x196, &x211);
- { uint32_t x214; uint8_t _ = _addcarryx_u32(0x0, x212, x197, &x214);
- { uint32_t _; uint8_t x218 = _addcarryx_u32(0x0, x157, x181, &_);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x160, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x163, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x166, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x169, x208, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x172, x211, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x15, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x17, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x19, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x21, &x249);
- { uint32_t x252; uint32_t x251 = _mulx_u32(x9, x23, &x252);
- { uint32_t x255; uint32_t x254 = _mulx_u32(x9, x22, &x255);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(0x0, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t x267 = _addcarryx_u32(x264, x249, x251, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(x267, x252, x254, &x269);
- { uint32_t x272; uint8_t _ = _addcarryx_u32(0x0, x270, x255, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(0x0, x220, x239, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x232, x266, &x287);
- { uint32_t x290; uint8_t x291 = _addcarryx_u32(x288, x235, x269, &x290);
- { uint32_t x293; uint8_t x294 = _addcarryx_u32(x291, x237, x272, &x293);
- { uint32_t _; uint32_t x296 = _mulx_u32(x275, 0xaaaaaaab, &_);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x296, 0xfffffffd, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x296, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x296, 0xffffffff, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x296, 0xffffffff, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x296, 0xffffffff, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x296, 0x3fff, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x306, x308, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x309, x311, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x312, x314, &x329);
- { uint32_t x332; uint8_t _ = _addcarryx_u32(0x0, x330, x315, &x332);
- { uint32_t _; uint8_t x336 = _addcarryx_u32(0x0, x275, x299, &_);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x278, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x281, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x284, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x287, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x290, x329, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x15, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x17, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x19, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x21, &x367);
- { uint32_t x370; uint32_t x369 = _mulx_u32(x11, x23, &x370);
- { uint32_t x373; uint32_t x372 = _mulx_u32(x11, x22, &x373);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(0x0, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x367, x369, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x370, x372, &x387);
- { uint32_t x390; uint8_t _ = _addcarryx_u32(0x0, x388, x373, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x338, x357, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x350, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x353, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x355, x390, &x411);
- { uint32_t _; uint32_t x414 = _mulx_u32(x393, 0xaaaaaaab, &_);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x414, 0xfffffffd, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x414, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x414, 0xffffffff, &x424);
- { uint32_t x427; uint32_t x426 = _mulx_u32(x414, 0xffffffff, &x427);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x414, 0xffffffff, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x414, 0x3fff, &x433);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(0x0, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x427, x429, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x430, x432, &x447);
- { uint32_t x450; uint8_t _ = _addcarryx_u32(0x0, x448, x433, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x393, x417, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x396, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x399, x438, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x402, x441, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x405, x444, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x408, x447, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x15, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x17, &x479);
- { uint32_t x482; uint32_t x481 = _mulx_u32(x13, x19, &x482);
- { uint32_t x485; uint32_t x484 = _mulx_u32(x13, x21, &x485);
- { uint32_t x488; uint32_t x487 = _mulx_u32(x13, x23, &x488);
- { uint32_t x491; uint32_t x490 = _mulx_u32(x13, x22, &x491);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(0x0, x476, x478, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x479, x481, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x482, x484, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x485, x487, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x488, x490, &x505);
- { uint32_t x508; uint8_t _ = _addcarryx_u32(0x0, x506, x491, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(0x0, x456, x475, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x462, x496, &x517);
- { uint32_t x520; uint8_t x521 = _addcarryx_u32(x518, x465, x499, &x520);
- { uint32_t x523; uint8_t x524 = _addcarryx_u32(x521, x468, x502, &x523);
- { uint32_t x526; uint8_t x527 = _addcarryx_u32(x524, x471, x505, &x526);
- { uint32_t x529; uint8_t x530 = _addcarryx_u32(x527, x473, x508, &x529);
- { uint32_t _; uint32_t x532 = _mulx_u32(x511, 0xaaaaaaab, &_);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x532, 0xfffffffd, &x536);
- { uint32_t x539; uint32_t x538 = _mulx_u32(x532, 0xffffffff, &x539);
- { uint32_t x542; uint32_t x541 = _mulx_u32(x532, 0xffffffff, &x542);
- { uint32_t x545; uint32_t x544 = _mulx_u32(x532, 0xffffffff, &x545);
- { uint32_t x548; uint32_t x547 = _mulx_u32(x532, 0xffffffff, &x548);
- { uint32_t x551; uint32_t x550 = _mulx_u32(x532, 0x3fff, &x551);
- { uint32_t x553; uint8_t x554 = _addcarryx_u32(0x0, x536, x538, &x553);
- { uint32_t x556; uint8_t x557 = _addcarryx_u32(x554, x539, x541, &x556);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x542, x544, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x545, x547, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x548, x550, &x565);
- { uint32_t x568; uint8_t _ = _addcarryx_u32(0x0, x566, x551, &x568);
- { uint32_t _; uint8_t x572 = _addcarryx_u32(0x0, x511, x535, &_);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x514, x553, &x574);
- { uint32_t x577; uint8_t x578 = _addcarryx_u32(x575, x517, x556, &x577);
- { uint32_t x580; uint8_t x581 = _addcarryx_u32(x578, x520, x559, &x580);
- { uint32_t x583; uint8_t x584 = _addcarryx_u32(x581, x523, x562, &x583);
- { uint32_t x586; uint8_t x587 = _addcarryx_u32(x584, x526, x565, &x586);
- { uint32_t x589; uint8_t x590 = _addcarryx_u32(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x15, &x594);
- { uint32_t x597; uint32_t x596 = _mulx_u32(x12, x17, &x597);
- { uint32_t x600; uint32_t x599 = _mulx_u32(x12, x19, &x600);
- { uint32_t x603; uint32_t x602 = _mulx_u32(x12, x21, &x603);
- { uint32_t x606; uint32_t x605 = _mulx_u32(x12, x23, &x606);
- { uint32_t x609; uint32_t x608 = _mulx_u32(x12, x22, &x609);
- { uint32_t x611; uint8_t x612 = _addcarryx_u32(0x0, x594, x596, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(x612, x597, x599, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x600, x602, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x603, x605, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x606, x608, &x623);
- { uint32_t x626; uint8_t _ = _addcarryx_u32(0x0, x624, x609, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(0x0, x574, x593, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x577, x611, &x632);
- { uint32_t x635; uint8_t x636 = _addcarryx_u32(x633, x580, x614, &x635);
- { uint32_t x638; uint8_t x639 = _addcarryx_u32(x636, x583, x617, &x638);
- { uint32_t x641; uint8_t x642 = _addcarryx_u32(x639, x586, x620, &x641);
- { uint32_t x644; uint8_t x645 = _addcarryx_u32(x642, x589, x623, &x644);
- { uint32_t x647; uint8_t x648 = _addcarryx_u32(x645, x591, x626, &x647);
- { uint32_t _; uint32_t x650 = _mulx_u32(x629, 0xaaaaaaab, &_);
- { uint32_t x654; uint32_t x653 = _mulx_u32(x650, 0xfffffffd, &x654);
- { uint32_t x657; uint32_t x656 = _mulx_u32(x650, 0xffffffff, &x657);
- { uint32_t x660; uint32_t x659 = _mulx_u32(x650, 0xffffffff, &x660);
- { uint32_t x663; uint32_t x662 = _mulx_u32(x650, 0xffffffff, &x663);
- { uint32_t x666; uint32_t x665 = _mulx_u32(x650, 0xffffffff, &x666);
- { uint32_t x669; uint32_t x668 = _mulx_u32(x650, 0x3fff, &x669);
- { uint32_t x671; uint8_t x672 = _addcarryx_u32(0x0, x654, x656, &x671);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x657, x659, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x660, x662, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x663, x665, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x666, x668, &x683);
- { uint32_t x686; uint8_t _ = _addcarryx_u32(0x0, x684, x669, &x686);
- { uint32_t _; uint8_t x690 = _addcarryx_u32(0x0, x629, x653, &_);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x632, x671, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x635, x674, &x695);
- { uint32_t x698; uint8_t x699 = _addcarryx_u32(x696, x638, x677, &x698);
- { uint32_t x701; uint8_t x702 = _addcarryx_u32(x699, x641, x680, &x701);
- { uint32_t x704; uint8_t x705 = _addcarryx_u32(x702, x644, x683, &x704);
- { uint32_t x707; uint8_t x708 = _addcarryx_u32(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(0x0, x692, 0xfffffffd, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0xffffffff, &x714);
- { uint32_t x717; uint8_t x718 = _subborrow_u32(x715, x698, 0xffffffff, &x717);
- { uint32_t x720; uint8_t x721 = _subborrow_u32(x718, x701, 0xffffffff, &x720);
- { uint32_t x723; uint8_t x724 = _subborrow_u32(x721, x704, 0xffffffff, &x723);
- { uint32_t x726; uint8_t x727 = _subborrow_u32(x724, x707, 0x3fff, &x726);
- { uint32_t _; uint8_t x730 = _subborrow_u32(x727, x709, 0x0, &_);
- { uint32_t x731 = cmovznz32(x730, x726, x707);
- { uint32_t x732 = cmovznz32(x730, x723, x704);
- { uint32_t x733 = cmovznz32(x730, x720, x701);
- { uint32_t x734 = cmovznz32(x730, x717, x698);
- { uint32_t x735 = cmovznz32(x730, x714, x695);
- { uint32_t x736 = cmovznz32(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/femul.v b/src/Specific/montgomery32_2e174m3_6limbs/femul.v
deleted file mode 100644
index 02ab209a5..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.log
deleted file mode 100644
index bc626a982..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0xaaaaaaab);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xfffffffd);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint32_t x80 = mulx_u32(x61, 0x3fff);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint32_t x97, uint8_t _ = addcarryx_u32(0x0, x95, x80);
- uint32_t _, uint8_t x101 = addcarryx_u32(0x0, x25, x64);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x43, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x46, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x49, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x52, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x55, x94);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x58, x97);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x15);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x17);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x19);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x21);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x23);
- uint32_t x136, uint32_t x137 = mulx_u32(x7, x22);
- uint32_t x139, uint8_t x140 = addcarryx_u32(0x0, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t x152 = addcarryx_u32(x149, x134, x136);
- uint32_t x154, uint8_t _ = addcarryx_u32(0x0, x152, x137);
- uint32_t x157, uint8_t x158 = addcarryx_u32(0x0, x103, x121);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x118, x151);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x119, x154);
- uint32_t x178, uint32_t _ = mulx_u32(x157, 0xaaaaaaab);
- uint32_t x181, uint32_t x182 = mulx_u32(x178, 0xfffffffd);
- uint32_t x184, uint32_t x185 = mulx_u32(x178, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x178, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x178, 0xffffffff);
- uint32_t x193, uint32_t x194 = mulx_u32(x178, 0xffffffff);
- uint32_t x196, uint32_t x197 = mulx_u32(x178, 0x3fff);
- uint32_t x199, uint8_t x200 = addcarryx_u32(0x0, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x191, x193);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x194, x196);
- uint32_t x214, uint8_t _ = addcarryx_u32(0x0, x212, x197);
- uint32_t _, uint8_t x218 = addcarryx_u32(0x0, x157, x181);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x160, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x163, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x166, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x169, x208);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x172, x211);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x15);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x17);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x19);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x21);
- uint32_t x251, uint32_t x252 = mulx_u32(x9, x23);
- uint32_t x254, uint32_t x255 = mulx_u32(x9, x22);
- uint32_t x257, uint8_t x258 = addcarryx_u32(0x0, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x249, x251);
- uint32_t x269, uint8_t x270 = addcarryx_u32(x267, x252, x254);
- uint32_t x272, uint8_t _ = addcarryx_u32(0x0, x270, x255);
- uint32_t x275, uint8_t x276 = addcarryx_u32(0x0, x220, x239);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x232, x266);
- uint32_t x290, uint8_t x291 = addcarryx_u32(x288, x235, x269);
- uint32_t x293, uint8_t x294 = addcarryx_u32(x291, x237, x272);
- uint32_t x296, uint32_t _ = mulx_u32(x275, 0xaaaaaaab);
- uint32_t x299, uint32_t x300 = mulx_u32(x296, 0xfffffffd);
- uint32_t x302, uint32_t x303 = mulx_u32(x296, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x296, 0xffffffff);
- uint32_t x308, uint32_t x309 = mulx_u32(x296, 0xffffffff);
- uint32_t x311, uint32_t x312 = mulx_u32(x296, 0xffffffff);
- uint32_t x314, uint32_t x315 = mulx_u32(x296, 0x3fff);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x306, x308);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x309, x311);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x312, x314);
- uint32_t x332, uint8_t _ = addcarryx_u32(0x0, x330, x315);
- uint32_t _, uint8_t x336 = addcarryx_u32(0x0, x275, x299);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x278, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x281, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x284, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x287, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x290, x329);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x15);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x17);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x19);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x21);
- uint32_t x369, uint32_t x370 = mulx_u32(x11, x23);
- uint32_t x372, uint32_t x373 = mulx_u32(x11, x22);
- uint32_t x375, uint8_t x376 = addcarryx_u32(0x0, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x367, x369);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x370, x372);
- uint32_t x390, uint8_t _ = addcarryx_u32(0x0, x388, x373);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x338, x357);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x350, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x353, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x355, x390);
- uint32_t x414, uint32_t _ = mulx_u32(x393, 0xaaaaaaab);
- uint32_t x417, uint32_t x418 = mulx_u32(x414, 0xfffffffd);
- uint32_t x420, uint32_t x421 = mulx_u32(x414, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x414, 0xffffffff);
- uint32_t x426, uint32_t x427 = mulx_u32(x414, 0xffffffff);
- uint32_t x429, uint32_t x430 = mulx_u32(x414, 0xffffffff);
- uint32_t x432, uint32_t x433 = mulx_u32(x414, 0x3fff);
- uint32_t x435, uint8_t x436 = addcarryx_u32(0x0, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x427, x429);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x430, x432);
- uint32_t x450, uint8_t _ = addcarryx_u32(0x0, x448, x433);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x393, x417);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x396, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x399, x438);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x402, x441);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x405, x444);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x408, x447);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x15);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x17);
- uint32_t x481, uint32_t x482 = mulx_u32(x13, x19);
- uint32_t x484, uint32_t x485 = mulx_u32(x13, x21);
- uint32_t x487, uint32_t x488 = mulx_u32(x13, x23);
- uint32_t x490, uint32_t x491 = mulx_u32(x13, x22);
- uint32_t x493, uint8_t x494 = addcarryx_u32(0x0, x476, x478);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x479, x481);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x482, x484);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x485, x487);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x488, x490);
- uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x491);
- uint32_t x511, uint8_t x512 = addcarryx_u32(0x0, x456, x475);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x462, x496);
- uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x465, x499);
- uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x468, x502);
- uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x471, x505);
- uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x473, x508);
- uint32_t x532, uint32_t _ = mulx_u32(x511, 0xaaaaaaab);
- uint32_t x535, uint32_t x536 = mulx_u32(x532, 0xfffffffd);
- uint32_t x538, uint32_t x539 = mulx_u32(x532, 0xffffffff);
- uint32_t x541, uint32_t x542 = mulx_u32(x532, 0xffffffff);
- uint32_t x544, uint32_t x545 = mulx_u32(x532, 0xffffffff);
- uint32_t x547, uint32_t x548 = mulx_u32(x532, 0xffffffff);
- uint32_t x550, uint32_t x551 = mulx_u32(x532, 0x3fff);
- uint32_t x553, uint8_t x554 = addcarryx_u32(0x0, x536, x538);
- uint32_t x556, uint8_t x557 = addcarryx_u32(x554, x539, x541);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x542, x544);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x545, x547);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x548, x550);
- uint32_t x568, uint8_t _ = addcarryx_u32(0x0, x566, x551);
- uint32_t _, uint8_t x572 = addcarryx_u32(0x0, x511, x535);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x514, x553);
- uint32_t x577, uint8_t x578 = addcarryx_u32(x575, x517, x556);
- uint32_t x580, uint8_t x581 = addcarryx_u32(x578, x520, x559);
- uint32_t x583, uint8_t x584 = addcarryx_u32(x581, x523, x562);
- uint32_t x586, uint8_t x587 = addcarryx_u32(x584, x526, x565);
- uint32_t x589, uint8_t x590 = addcarryx_u32(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x15);
- uint32_t x596, uint32_t x597 = mulx_u32(x12, x17);
- uint32_t x599, uint32_t x600 = mulx_u32(x12, x19);
- uint32_t x602, uint32_t x603 = mulx_u32(x12, x21);
- uint32_t x605, uint32_t x606 = mulx_u32(x12, x23);
- uint32_t x608, uint32_t x609 = mulx_u32(x12, x22);
- uint32_t x611, uint8_t x612 = addcarryx_u32(0x0, x594, x596);
- uint32_t x614, uint8_t x615 = addcarryx_u32(x612, x597, x599);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x600, x602);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x603, x605);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x606, x608);
- uint32_t x626, uint8_t _ = addcarryx_u32(0x0, x624, x609);
- uint32_t x629, uint8_t x630 = addcarryx_u32(0x0, x574, x593);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x577, x611);
- uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x580, x614);
- uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x583, x617);
- uint32_t x641, uint8_t x642 = addcarryx_u32(x639, x586, x620);
- uint32_t x644, uint8_t x645 = addcarryx_u32(x642, x589, x623);
- uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x591, x626);
- uint32_t x650, uint32_t _ = mulx_u32(x629, 0xaaaaaaab);
- uint32_t x653, uint32_t x654 = mulx_u32(x650, 0xfffffffd);
- uint32_t x656, uint32_t x657 = mulx_u32(x650, 0xffffffff);
- uint32_t x659, uint32_t x660 = mulx_u32(x650, 0xffffffff);
- uint32_t x662, uint32_t x663 = mulx_u32(x650, 0xffffffff);
- uint32_t x665, uint32_t x666 = mulx_u32(x650, 0xffffffff);
- uint32_t x668, uint32_t x669 = mulx_u32(x650, 0x3fff);
- uint32_t x671, uint8_t x672 = addcarryx_u32(0x0, x654, x656);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x657, x659);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x660, x662);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x663, x665);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x666, x668);
- uint32_t x686, uint8_t _ = addcarryx_u32(0x0, x684, x669);
- uint32_t _, uint8_t x690 = addcarryx_u32(0x0, x629, x653);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x632, x671);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x635, x674);
- uint32_t x698, uint8_t x699 = addcarryx_u32(x696, x638, x677);
- uint32_t x701, uint8_t x702 = addcarryx_u32(x699, x641, x680);
- uint32_t x704, uint8_t x705 = addcarryx_u32(x702, x644, x683);
- uint32_t x707, uint8_t x708 = addcarryx_u32(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint32_t x711, uint8_t x712 = subborrow_u32(0x0, x692, 0xfffffffd);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0xffffffff);
- uint32_t x717, uint8_t x718 = subborrow_u32(x715, x698, 0xffffffff);
- uint32_t x720, uint8_t x721 = subborrow_u32(x718, x701, 0xffffffff);
- uint32_t x723, uint8_t x724 = subborrow_u32(x721, x704, 0xffffffff);
- uint32_t x726, uint8_t x727 = subborrow_u32(x724, x707, 0x3fff);
- uint32_t _, uint8_t x730 = subborrow_u32(x727, x709, 0x0);
- uint32_t x731 = cmovznz32(x730, x726, x707);
- uint32_t x732 = cmovznz32(x730, x723, x704);
- uint32_t x733 = cmovznz32(x730, x720, x701);
- uint32_t x734 = cmovznz32(x730, x717, x698);
- uint32_t x735 = cmovznz32(x730, x714, x695);
- uint32_t x736 = cmovznz32(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.v
deleted file mode 100644
index 6e835a03f..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fenz.c b/src/Specific/montgomery32_2e174m3_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fenz.v b/src/Specific/montgomery32_2e174m3_6limbs/fenz.v
deleted file mode 100644
index 0cb249a45..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.v
deleted file mode 100644
index e3a97d556..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feopp.c b/src/Specific/montgomery32_2e174m3_6limbs/feopp.c
deleted file mode 100644
index f163e0729..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xfffffffd);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0x3fff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feopp.v b/src/Specific/montgomery32_2e174m3_6limbs/feopp.v
deleted file mode 100644
index 0f2f5c5eb..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.log
deleted file mode 100644
index 1f234f789..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xfffffffd);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0x3fff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.v
deleted file mode 100644
index 2d7d49d3b..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fesquare.c b/src/Specific/montgomery32_2e174m3_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fesub.c b/src/Specific/montgomery32_2e174m3_6limbs/fesub.c
deleted file mode 100644
index 01db95d89..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xfffffffd);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0x3fff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fesub.v b/src/Specific/montgomery32_2e174m3_6limbs/fesub.v
deleted file mode 100644
index 973f21b8c..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.log
deleted file mode 100644
index 7efb22e98..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xfffffffd);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0x3fff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.v
deleted file mode 100644
index 9d3236693..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e174m3_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e174m3_6limbs/py_interpreter.sh
deleted file mode 100755
index a352c1e14..000000000
--- a/src/Specific/montgomery32_2e174m3_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e189m25_6limbs/CurveParameters.v
deleted file mode 100644
index c6dffce9b..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^189 - 25
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^189;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e189m25_6limbs/Synthesis.v b/src/Specific/montgomery32_2e189m25_6limbs/Synthesis.v
deleted file mode 100644
index 10fce69d6..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.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/montgomery32_2e189m25_6limbs/compiler.sh b/src/Specific/montgomery32_2e189m25_6limbs/compiler.sh
deleted file mode 100755
index a0966e875..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e189m25_6limbs/compilerxx.sh
deleted file mode 100755
index 195032eeb..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feadd.c b/src/Specific/montgomery32_2e189m25_6limbs/feadd.c
deleted file mode 100644
index 7bc1da67f..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xffffffe7, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x1fffffff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feadd.v b/src/Specific/montgomery32_2e189m25_6limbs/feadd.v
deleted file mode 100644
index 7b5f01efa..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.log
deleted file mode 100644
index 4a1bcdf23..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xffffffe7);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x1fffffff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.v
deleted file mode 100644
index 84457773d..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/femul.c b/src/Specific/montgomery32_2e189m25_6limbs/femul.c
deleted file mode 100644
index bca4a73ab..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0xc28f5c29, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xffffffe7, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint32_t x80; uint32_t x79 = _mulx_u32(x61, 0x1fffffff, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint32_t x97; uint8_t _ = _addcarryx_u32(0x0, x95, x80, &x97);
- { uint32_t _; uint8_t x101 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x43, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x46, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x49, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x52, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x55, x94, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x58, x97, &x118);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x15, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x17, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x19, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x21, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x23, &x134);
- { uint32_t x137; uint32_t x136 = _mulx_u32(x7, x22, &x137);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(0x0, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t x152 = _addcarryx_u32(x149, x134, x136, &x151);
- { uint32_t x154; uint8_t _ = _addcarryx_u32(0x0, x152, x137, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(0x0, x103, x121, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x118, x151, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x119, x154, &x175);
- { uint32_t _; uint32_t x178 = _mulx_u32(x157, 0xc28f5c29, &_);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x178, 0xffffffe7, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x178, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x178, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x178, 0xffffffff, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x178, 0xffffffff, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x178, 0x1fffffff, &x197);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(0x0, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x191, x193, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x194, x196, &x211);
- { uint32_t x214; uint8_t _ = _addcarryx_u32(0x0, x212, x197, &x214);
- { uint32_t _; uint8_t x218 = _addcarryx_u32(0x0, x157, x181, &_);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x160, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x163, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x166, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x169, x208, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x172, x211, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x15, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x17, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x19, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x21, &x249);
- { uint32_t x252; uint32_t x251 = _mulx_u32(x9, x23, &x252);
- { uint32_t x255; uint32_t x254 = _mulx_u32(x9, x22, &x255);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(0x0, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t x267 = _addcarryx_u32(x264, x249, x251, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(x267, x252, x254, &x269);
- { uint32_t x272; uint8_t _ = _addcarryx_u32(0x0, x270, x255, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(0x0, x220, x239, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x232, x266, &x287);
- { uint32_t x290; uint8_t x291 = _addcarryx_u32(x288, x235, x269, &x290);
- { uint32_t x293; uint8_t x294 = _addcarryx_u32(x291, x237, x272, &x293);
- { uint32_t _; uint32_t x296 = _mulx_u32(x275, 0xc28f5c29, &_);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x296, 0xffffffe7, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x296, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x296, 0xffffffff, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x296, 0xffffffff, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x296, 0xffffffff, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x296, 0x1fffffff, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x306, x308, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x309, x311, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x312, x314, &x329);
- { uint32_t x332; uint8_t _ = _addcarryx_u32(0x0, x330, x315, &x332);
- { uint32_t _; uint8_t x336 = _addcarryx_u32(0x0, x275, x299, &_);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x278, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x281, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x284, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x287, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x290, x329, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x15, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x17, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x19, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x21, &x367);
- { uint32_t x370; uint32_t x369 = _mulx_u32(x11, x23, &x370);
- { uint32_t x373; uint32_t x372 = _mulx_u32(x11, x22, &x373);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(0x0, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x367, x369, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x370, x372, &x387);
- { uint32_t x390; uint8_t _ = _addcarryx_u32(0x0, x388, x373, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x338, x357, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x350, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x353, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x355, x390, &x411);
- { uint32_t _; uint32_t x414 = _mulx_u32(x393, 0xc28f5c29, &_);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x414, 0xffffffe7, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x414, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x414, 0xffffffff, &x424);
- { uint32_t x427; uint32_t x426 = _mulx_u32(x414, 0xffffffff, &x427);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x414, 0xffffffff, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x414, 0x1fffffff, &x433);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(0x0, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x427, x429, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x430, x432, &x447);
- { uint32_t x450; uint8_t _ = _addcarryx_u32(0x0, x448, x433, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x393, x417, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x396, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x399, x438, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x402, x441, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x405, x444, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x408, x447, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x15, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x17, &x479);
- { uint32_t x482; uint32_t x481 = _mulx_u32(x13, x19, &x482);
- { uint32_t x485; uint32_t x484 = _mulx_u32(x13, x21, &x485);
- { uint32_t x488; uint32_t x487 = _mulx_u32(x13, x23, &x488);
- { uint32_t x491; uint32_t x490 = _mulx_u32(x13, x22, &x491);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(0x0, x476, x478, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x479, x481, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x482, x484, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x485, x487, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x488, x490, &x505);
- { uint32_t x508; uint8_t _ = _addcarryx_u32(0x0, x506, x491, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(0x0, x456, x475, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x462, x496, &x517);
- { uint32_t x520; uint8_t x521 = _addcarryx_u32(x518, x465, x499, &x520);
- { uint32_t x523; uint8_t x524 = _addcarryx_u32(x521, x468, x502, &x523);
- { uint32_t x526; uint8_t x527 = _addcarryx_u32(x524, x471, x505, &x526);
- { uint32_t x529; uint8_t x530 = _addcarryx_u32(x527, x473, x508, &x529);
- { uint32_t _; uint32_t x532 = _mulx_u32(x511, 0xc28f5c29, &_);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x532, 0xffffffe7, &x536);
- { uint32_t x539; uint32_t x538 = _mulx_u32(x532, 0xffffffff, &x539);
- { uint32_t x542; uint32_t x541 = _mulx_u32(x532, 0xffffffff, &x542);
- { uint32_t x545; uint32_t x544 = _mulx_u32(x532, 0xffffffff, &x545);
- { uint32_t x548; uint32_t x547 = _mulx_u32(x532, 0xffffffff, &x548);
- { uint32_t x551; uint32_t x550 = _mulx_u32(x532, 0x1fffffff, &x551);
- { uint32_t x553; uint8_t x554 = _addcarryx_u32(0x0, x536, x538, &x553);
- { uint32_t x556; uint8_t x557 = _addcarryx_u32(x554, x539, x541, &x556);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x542, x544, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x545, x547, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x548, x550, &x565);
- { uint32_t x568; uint8_t _ = _addcarryx_u32(0x0, x566, x551, &x568);
- { uint32_t _; uint8_t x572 = _addcarryx_u32(0x0, x511, x535, &_);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x514, x553, &x574);
- { uint32_t x577; uint8_t x578 = _addcarryx_u32(x575, x517, x556, &x577);
- { uint32_t x580; uint8_t x581 = _addcarryx_u32(x578, x520, x559, &x580);
- { uint32_t x583; uint8_t x584 = _addcarryx_u32(x581, x523, x562, &x583);
- { uint32_t x586; uint8_t x587 = _addcarryx_u32(x584, x526, x565, &x586);
- { uint32_t x589; uint8_t x590 = _addcarryx_u32(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x15, &x594);
- { uint32_t x597; uint32_t x596 = _mulx_u32(x12, x17, &x597);
- { uint32_t x600; uint32_t x599 = _mulx_u32(x12, x19, &x600);
- { uint32_t x603; uint32_t x602 = _mulx_u32(x12, x21, &x603);
- { uint32_t x606; uint32_t x605 = _mulx_u32(x12, x23, &x606);
- { uint32_t x609; uint32_t x608 = _mulx_u32(x12, x22, &x609);
- { uint32_t x611; uint8_t x612 = _addcarryx_u32(0x0, x594, x596, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(x612, x597, x599, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x600, x602, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x603, x605, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x606, x608, &x623);
- { uint32_t x626; uint8_t _ = _addcarryx_u32(0x0, x624, x609, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(0x0, x574, x593, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x577, x611, &x632);
- { uint32_t x635; uint8_t x636 = _addcarryx_u32(x633, x580, x614, &x635);
- { uint32_t x638; uint8_t x639 = _addcarryx_u32(x636, x583, x617, &x638);
- { uint32_t x641; uint8_t x642 = _addcarryx_u32(x639, x586, x620, &x641);
- { uint32_t x644; uint8_t x645 = _addcarryx_u32(x642, x589, x623, &x644);
- { uint32_t x647; uint8_t x648 = _addcarryx_u32(x645, x591, x626, &x647);
- { uint32_t _; uint32_t x650 = _mulx_u32(x629, 0xc28f5c29, &_);
- { uint32_t x654; uint32_t x653 = _mulx_u32(x650, 0xffffffe7, &x654);
- { uint32_t x657; uint32_t x656 = _mulx_u32(x650, 0xffffffff, &x657);
- { uint32_t x660; uint32_t x659 = _mulx_u32(x650, 0xffffffff, &x660);
- { uint32_t x663; uint32_t x662 = _mulx_u32(x650, 0xffffffff, &x663);
- { uint32_t x666; uint32_t x665 = _mulx_u32(x650, 0xffffffff, &x666);
- { uint32_t x669; uint32_t x668 = _mulx_u32(x650, 0x1fffffff, &x669);
- { uint32_t x671; uint8_t x672 = _addcarryx_u32(0x0, x654, x656, &x671);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x657, x659, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x660, x662, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x663, x665, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x666, x668, &x683);
- { uint32_t x686; uint8_t _ = _addcarryx_u32(0x0, x684, x669, &x686);
- { uint32_t _; uint8_t x690 = _addcarryx_u32(0x0, x629, x653, &_);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x632, x671, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x635, x674, &x695);
- { uint32_t x698; uint8_t x699 = _addcarryx_u32(x696, x638, x677, &x698);
- { uint32_t x701; uint8_t x702 = _addcarryx_u32(x699, x641, x680, &x701);
- { uint32_t x704; uint8_t x705 = _addcarryx_u32(x702, x644, x683, &x704);
- { uint32_t x707; uint8_t x708 = _addcarryx_u32(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(0x0, x692, 0xffffffe7, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0xffffffff, &x714);
- { uint32_t x717; uint8_t x718 = _subborrow_u32(x715, x698, 0xffffffff, &x717);
- { uint32_t x720; uint8_t x721 = _subborrow_u32(x718, x701, 0xffffffff, &x720);
- { uint32_t x723; uint8_t x724 = _subborrow_u32(x721, x704, 0xffffffff, &x723);
- { uint32_t x726; uint8_t x727 = _subborrow_u32(x724, x707, 0x1fffffff, &x726);
- { uint32_t _; uint8_t x730 = _subborrow_u32(x727, x709, 0x0, &_);
- { uint32_t x731 = cmovznz32(x730, x726, x707);
- { uint32_t x732 = cmovznz32(x730, x723, x704);
- { uint32_t x733 = cmovznz32(x730, x720, x701);
- { uint32_t x734 = cmovznz32(x730, x717, x698);
- { uint32_t x735 = cmovznz32(x730, x714, x695);
- { uint32_t x736 = cmovznz32(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/femul.v b/src/Specific/montgomery32_2e189m25_6limbs/femul.v
deleted file mode 100644
index aad556f06..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.log
deleted file mode 100644
index b5219a8ff..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0xc28f5c29);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xffffffe7);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint32_t x80 = mulx_u32(x61, 0x1fffffff);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint32_t x97, uint8_t _ = addcarryx_u32(0x0, x95, x80);
- uint32_t _, uint8_t x101 = addcarryx_u32(0x0, x25, x64);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x43, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x46, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x49, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x52, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x55, x94);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x58, x97);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x15);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x17);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x19);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x21);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x23);
- uint32_t x136, uint32_t x137 = mulx_u32(x7, x22);
- uint32_t x139, uint8_t x140 = addcarryx_u32(0x0, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t x152 = addcarryx_u32(x149, x134, x136);
- uint32_t x154, uint8_t _ = addcarryx_u32(0x0, x152, x137);
- uint32_t x157, uint8_t x158 = addcarryx_u32(0x0, x103, x121);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x118, x151);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x119, x154);
- uint32_t x178, uint32_t _ = mulx_u32(x157, 0xc28f5c29);
- uint32_t x181, uint32_t x182 = mulx_u32(x178, 0xffffffe7);
- uint32_t x184, uint32_t x185 = mulx_u32(x178, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x178, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x178, 0xffffffff);
- uint32_t x193, uint32_t x194 = mulx_u32(x178, 0xffffffff);
- uint32_t x196, uint32_t x197 = mulx_u32(x178, 0x1fffffff);
- uint32_t x199, uint8_t x200 = addcarryx_u32(0x0, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x191, x193);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x194, x196);
- uint32_t x214, uint8_t _ = addcarryx_u32(0x0, x212, x197);
- uint32_t _, uint8_t x218 = addcarryx_u32(0x0, x157, x181);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x160, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x163, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x166, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x169, x208);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x172, x211);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x15);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x17);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x19);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x21);
- uint32_t x251, uint32_t x252 = mulx_u32(x9, x23);
- uint32_t x254, uint32_t x255 = mulx_u32(x9, x22);
- uint32_t x257, uint8_t x258 = addcarryx_u32(0x0, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x249, x251);
- uint32_t x269, uint8_t x270 = addcarryx_u32(x267, x252, x254);
- uint32_t x272, uint8_t _ = addcarryx_u32(0x0, x270, x255);
- uint32_t x275, uint8_t x276 = addcarryx_u32(0x0, x220, x239);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x232, x266);
- uint32_t x290, uint8_t x291 = addcarryx_u32(x288, x235, x269);
- uint32_t x293, uint8_t x294 = addcarryx_u32(x291, x237, x272);
- uint32_t x296, uint32_t _ = mulx_u32(x275, 0xc28f5c29);
- uint32_t x299, uint32_t x300 = mulx_u32(x296, 0xffffffe7);
- uint32_t x302, uint32_t x303 = mulx_u32(x296, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x296, 0xffffffff);
- uint32_t x308, uint32_t x309 = mulx_u32(x296, 0xffffffff);
- uint32_t x311, uint32_t x312 = mulx_u32(x296, 0xffffffff);
- uint32_t x314, uint32_t x315 = mulx_u32(x296, 0x1fffffff);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x306, x308);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x309, x311);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x312, x314);
- uint32_t x332, uint8_t _ = addcarryx_u32(0x0, x330, x315);
- uint32_t _, uint8_t x336 = addcarryx_u32(0x0, x275, x299);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x278, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x281, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x284, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x287, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x290, x329);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x15);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x17);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x19);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x21);
- uint32_t x369, uint32_t x370 = mulx_u32(x11, x23);
- uint32_t x372, uint32_t x373 = mulx_u32(x11, x22);
- uint32_t x375, uint8_t x376 = addcarryx_u32(0x0, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x367, x369);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x370, x372);
- uint32_t x390, uint8_t _ = addcarryx_u32(0x0, x388, x373);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x338, x357);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x350, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x353, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x355, x390);
- uint32_t x414, uint32_t _ = mulx_u32(x393, 0xc28f5c29);
- uint32_t x417, uint32_t x418 = mulx_u32(x414, 0xffffffe7);
- uint32_t x420, uint32_t x421 = mulx_u32(x414, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x414, 0xffffffff);
- uint32_t x426, uint32_t x427 = mulx_u32(x414, 0xffffffff);
- uint32_t x429, uint32_t x430 = mulx_u32(x414, 0xffffffff);
- uint32_t x432, uint32_t x433 = mulx_u32(x414, 0x1fffffff);
- uint32_t x435, uint8_t x436 = addcarryx_u32(0x0, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x427, x429);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x430, x432);
- uint32_t x450, uint8_t _ = addcarryx_u32(0x0, x448, x433);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x393, x417);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x396, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x399, x438);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x402, x441);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x405, x444);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x408, x447);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x15);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x17);
- uint32_t x481, uint32_t x482 = mulx_u32(x13, x19);
- uint32_t x484, uint32_t x485 = mulx_u32(x13, x21);
- uint32_t x487, uint32_t x488 = mulx_u32(x13, x23);
- uint32_t x490, uint32_t x491 = mulx_u32(x13, x22);
- uint32_t x493, uint8_t x494 = addcarryx_u32(0x0, x476, x478);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x479, x481);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x482, x484);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x485, x487);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x488, x490);
- uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x491);
- uint32_t x511, uint8_t x512 = addcarryx_u32(0x0, x456, x475);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x462, x496);
- uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x465, x499);
- uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x468, x502);
- uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x471, x505);
- uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x473, x508);
- uint32_t x532, uint32_t _ = mulx_u32(x511, 0xc28f5c29);
- uint32_t x535, uint32_t x536 = mulx_u32(x532, 0xffffffe7);
- uint32_t x538, uint32_t x539 = mulx_u32(x532, 0xffffffff);
- uint32_t x541, uint32_t x542 = mulx_u32(x532, 0xffffffff);
- uint32_t x544, uint32_t x545 = mulx_u32(x532, 0xffffffff);
- uint32_t x547, uint32_t x548 = mulx_u32(x532, 0xffffffff);
- uint32_t x550, uint32_t x551 = mulx_u32(x532, 0x1fffffff);
- uint32_t x553, uint8_t x554 = addcarryx_u32(0x0, x536, x538);
- uint32_t x556, uint8_t x557 = addcarryx_u32(x554, x539, x541);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x542, x544);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x545, x547);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x548, x550);
- uint32_t x568, uint8_t _ = addcarryx_u32(0x0, x566, x551);
- uint32_t _, uint8_t x572 = addcarryx_u32(0x0, x511, x535);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x514, x553);
- uint32_t x577, uint8_t x578 = addcarryx_u32(x575, x517, x556);
- uint32_t x580, uint8_t x581 = addcarryx_u32(x578, x520, x559);
- uint32_t x583, uint8_t x584 = addcarryx_u32(x581, x523, x562);
- uint32_t x586, uint8_t x587 = addcarryx_u32(x584, x526, x565);
- uint32_t x589, uint8_t x590 = addcarryx_u32(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x15);
- uint32_t x596, uint32_t x597 = mulx_u32(x12, x17);
- uint32_t x599, uint32_t x600 = mulx_u32(x12, x19);
- uint32_t x602, uint32_t x603 = mulx_u32(x12, x21);
- uint32_t x605, uint32_t x606 = mulx_u32(x12, x23);
- uint32_t x608, uint32_t x609 = mulx_u32(x12, x22);
- uint32_t x611, uint8_t x612 = addcarryx_u32(0x0, x594, x596);
- uint32_t x614, uint8_t x615 = addcarryx_u32(x612, x597, x599);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x600, x602);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x603, x605);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x606, x608);
- uint32_t x626, uint8_t _ = addcarryx_u32(0x0, x624, x609);
- uint32_t x629, uint8_t x630 = addcarryx_u32(0x0, x574, x593);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x577, x611);
- uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x580, x614);
- uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x583, x617);
- uint32_t x641, uint8_t x642 = addcarryx_u32(x639, x586, x620);
- uint32_t x644, uint8_t x645 = addcarryx_u32(x642, x589, x623);
- uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x591, x626);
- uint32_t x650, uint32_t _ = mulx_u32(x629, 0xc28f5c29);
- uint32_t x653, uint32_t x654 = mulx_u32(x650, 0xffffffe7);
- uint32_t x656, uint32_t x657 = mulx_u32(x650, 0xffffffff);
- uint32_t x659, uint32_t x660 = mulx_u32(x650, 0xffffffff);
- uint32_t x662, uint32_t x663 = mulx_u32(x650, 0xffffffff);
- uint32_t x665, uint32_t x666 = mulx_u32(x650, 0xffffffff);
- uint32_t x668, uint32_t x669 = mulx_u32(x650, 0x1fffffff);
- uint32_t x671, uint8_t x672 = addcarryx_u32(0x0, x654, x656);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x657, x659);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x660, x662);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x663, x665);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x666, x668);
- uint32_t x686, uint8_t _ = addcarryx_u32(0x0, x684, x669);
- uint32_t _, uint8_t x690 = addcarryx_u32(0x0, x629, x653);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x632, x671);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x635, x674);
- uint32_t x698, uint8_t x699 = addcarryx_u32(x696, x638, x677);
- uint32_t x701, uint8_t x702 = addcarryx_u32(x699, x641, x680);
- uint32_t x704, uint8_t x705 = addcarryx_u32(x702, x644, x683);
- uint32_t x707, uint8_t x708 = addcarryx_u32(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint32_t x711, uint8_t x712 = subborrow_u32(0x0, x692, 0xffffffe7);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0xffffffff);
- uint32_t x717, uint8_t x718 = subborrow_u32(x715, x698, 0xffffffff);
- uint32_t x720, uint8_t x721 = subborrow_u32(x718, x701, 0xffffffff);
- uint32_t x723, uint8_t x724 = subborrow_u32(x721, x704, 0xffffffff);
- uint32_t x726, uint8_t x727 = subborrow_u32(x724, x707, 0x1fffffff);
- uint32_t _, uint8_t x730 = subborrow_u32(x727, x709, 0x0);
- uint32_t x731 = cmovznz32(x730, x726, x707);
- uint32_t x732 = cmovznz32(x730, x723, x704);
- uint32_t x733 = cmovznz32(x730, x720, x701);
- uint32_t x734 = cmovznz32(x730, x717, x698);
- uint32_t x735 = cmovznz32(x730, x714, x695);
- uint32_t x736 = cmovznz32(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.v
deleted file mode 100644
index f70776e7c..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fenz.c b/src/Specific/montgomery32_2e189m25_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fenz.v b/src/Specific/montgomery32_2e189m25_6limbs/fenz.v
deleted file mode 100644
index ab9fda2ab..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.v
deleted file mode 100644
index 3ec4412a7..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feopp.c b/src/Specific/montgomery32_2e189m25_6limbs/feopp.c
deleted file mode 100644
index 53268a96c..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffe7);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0x1fffffff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feopp.v b/src/Specific/montgomery32_2e189m25_6limbs/feopp.v
deleted file mode 100644
index a3c27a45a..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.log
deleted file mode 100644
index 619df7d75..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffe7);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0x1fffffff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.v
deleted file mode 100644
index 029c1cffe..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fesquare.c b/src/Specific/montgomery32_2e189m25_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fesub.c b/src/Specific/montgomery32_2e189m25_6limbs/fesub.c
deleted file mode 100644
index 6dcd995c0..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xffffffe7);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0x1fffffff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fesub.v b/src/Specific/montgomery32_2e189m25_6limbs/fesub.v
deleted file mode 100644
index fafd61759..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.log
deleted file mode 100644
index 2e7956b02..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xffffffe7);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0x1fffffff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.v
deleted file mode 100644
index 6bd99aeb9..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e189m25_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e189m25_6limbs/py_interpreter.sh
deleted file mode 100755
index 91ca61590..000000000
--- a/src/Specific/montgomery32_2e189m25_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**189 - 25' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e190m11_6limbs/CurveParameters.v
deleted file mode 100644
index 17ea93c10..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^190 - 11
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^190;
- c := [(1, 11)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e190m11_6limbs/Synthesis.v b/src/Specific/montgomery32_2e190m11_6limbs/Synthesis.v
deleted file mode 100644
index 212a68859..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.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/montgomery32_2e190m11_6limbs/compiler.sh b/src/Specific/montgomery32_2e190m11_6limbs/compiler.sh
deleted file mode 100755
index 3113c70b4..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e190m11_6limbs/compilerxx.sh
deleted file mode 100755
index 9d381645f..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feadd.c b/src/Specific/montgomery32_2e190m11_6limbs/feadd.c
deleted file mode 100644
index 411144107..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xfffffff5, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x3fffffff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feadd.v b/src/Specific/montgomery32_2e190m11_6limbs/feadd.v
deleted file mode 100644
index 53ce999ae..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.log
deleted file mode 100644
index 3b885fe29..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xfffffff5);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x3fffffff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.v
deleted file mode 100644
index b28308124..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/femul.c b/src/Specific/montgomery32_2e190m11_6limbs/femul.c
deleted file mode 100644
index b62e2cb3c..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0xba2e8ba3, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xfffffff5, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint32_t x80; uint32_t x79 = _mulx_u32(x61, 0x3fffffff, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint32_t x97; uint8_t _ = _addcarryx_u32(0x0, x95, x80, &x97);
- { uint32_t _; uint8_t x101 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x43, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x46, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x49, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x52, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x55, x94, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x58, x97, &x118);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x15, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x17, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x19, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x21, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x23, &x134);
- { uint32_t x137; uint32_t x136 = _mulx_u32(x7, x22, &x137);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(0x0, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t x152 = _addcarryx_u32(x149, x134, x136, &x151);
- { uint32_t x154; uint8_t _ = _addcarryx_u32(0x0, x152, x137, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(0x0, x103, x121, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x118, x151, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x119, x154, &x175);
- { uint32_t _; uint32_t x178 = _mulx_u32(x157, 0xba2e8ba3, &_);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x178, 0xfffffff5, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x178, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x178, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x178, 0xffffffff, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x178, 0xffffffff, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x178, 0x3fffffff, &x197);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(0x0, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x191, x193, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x194, x196, &x211);
- { uint32_t x214; uint8_t _ = _addcarryx_u32(0x0, x212, x197, &x214);
- { uint32_t _; uint8_t x218 = _addcarryx_u32(0x0, x157, x181, &_);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x160, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x163, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x166, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x169, x208, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x172, x211, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x15, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x17, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x19, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x21, &x249);
- { uint32_t x252; uint32_t x251 = _mulx_u32(x9, x23, &x252);
- { uint32_t x255; uint32_t x254 = _mulx_u32(x9, x22, &x255);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(0x0, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t x267 = _addcarryx_u32(x264, x249, x251, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(x267, x252, x254, &x269);
- { uint32_t x272; uint8_t _ = _addcarryx_u32(0x0, x270, x255, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(0x0, x220, x239, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x232, x266, &x287);
- { uint32_t x290; uint8_t x291 = _addcarryx_u32(x288, x235, x269, &x290);
- { uint32_t x293; uint8_t x294 = _addcarryx_u32(x291, x237, x272, &x293);
- { uint32_t _; uint32_t x296 = _mulx_u32(x275, 0xba2e8ba3, &_);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x296, 0xfffffff5, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x296, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x296, 0xffffffff, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x296, 0xffffffff, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x296, 0xffffffff, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x296, 0x3fffffff, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x306, x308, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x309, x311, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x312, x314, &x329);
- { uint32_t x332; uint8_t _ = _addcarryx_u32(0x0, x330, x315, &x332);
- { uint32_t _; uint8_t x336 = _addcarryx_u32(0x0, x275, x299, &_);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x278, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x281, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x284, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x287, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x290, x329, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x15, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x17, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x19, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x21, &x367);
- { uint32_t x370; uint32_t x369 = _mulx_u32(x11, x23, &x370);
- { uint32_t x373; uint32_t x372 = _mulx_u32(x11, x22, &x373);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(0x0, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x367, x369, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x370, x372, &x387);
- { uint32_t x390; uint8_t _ = _addcarryx_u32(0x0, x388, x373, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x338, x357, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x350, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x353, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x355, x390, &x411);
- { uint32_t _; uint32_t x414 = _mulx_u32(x393, 0xba2e8ba3, &_);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x414, 0xfffffff5, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x414, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x414, 0xffffffff, &x424);
- { uint32_t x427; uint32_t x426 = _mulx_u32(x414, 0xffffffff, &x427);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x414, 0xffffffff, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x414, 0x3fffffff, &x433);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(0x0, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x427, x429, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x430, x432, &x447);
- { uint32_t x450; uint8_t _ = _addcarryx_u32(0x0, x448, x433, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x393, x417, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x396, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x399, x438, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x402, x441, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x405, x444, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x408, x447, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x15, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x17, &x479);
- { uint32_t x482; uint32_t x481 = _mulx_u32(x13, x19, &x482);
- { uint32_t x485; uint32_t x484 = _mulx_u32(x13, x21, &x485);
- { uint32_t x488; uint32_t x487 = _mulx_u32(x13, x23, &x488);
- { uint32_t x491; uint32_t x490 = _mulx_u32(x13, x22, &x491);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(0x0, x476, x478, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x479, x481, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x482, x484, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x485, x487, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x488, x490, &x505);
- { uint32_t x508; uint8_t _ = _addcarryx_u32(0x0, x506, x491, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(0x0, x456, x475, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x462, x496, &x517);
- { uint32_t x520; uint8_t x521 = _addcarryx_u32(x518, x465, x499, &x520);
- { uint32_t x523; uint8_t x524 = _addcarryx_u32(x521, x468, x502, &x523);
- { uint32_t x526; uint8_t x527 = _addcarryx_u32(x524, x471, x505, &x526);
- { uint32_t x529; uint8_t x530 = _addcarryx_u32(x527, x473, x508, &x529);
- { uint32_t _; uint32_t x532 = _mulx_u32(x511, 0xba2e8ba3, &_);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x532, 0xfffffff5, &x536);
- { uint32_t x539; uint32_t x538 = _mulx_u32(x532, 0xffffffff, &x539);
- { uint32_t x542; uint32_t x541 = _mulx_u32(x532, 0xffffffff, &x542);
- { uint32_t x545; uint32_t x544 = _mulx_u32(x532, 0xffffffff, &x545);
- { uint32_t x548; uint32_t x547 = _mulx_u32(x532, 0xffffffff, &x548);
- { uint32_t x551; uint32_t x550 = _mulx_u32(x532, 0x3fffffff, &x551);
- { uint32_t x553; uint8_t x554 = _addcarryx_u32(0x0, x536, x538, &x553);
- { uint32_t x556; uint8_t x557 = _addcarryx_u32(x554, x539, x541, &x556);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x542, x544, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x545, x547, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x548, x550, &x565);
- { uint32_t x568; uint8_t _ = _addcarryx_u32(0x0, x566, x551, &x568);
- { uint32_t _; uint8_t x572 = _addcarryx_u32(0x0, x511, x535, &_);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x514, x553, &x574);
- { uint32_t x577; uint8_t x578 = _addcarryx_u32(x575, x517, x556, &x577);
- { uint32_t x580; uint8_t x581 = _addcarryx_u32(x578, x520, x559, &x580);
- { uint32_t x583; uint8_t x584 = _addcarryx_u32(x581, x523, x562, &x583);
- { uint32_t x586; uint8_t x587 = _addcarryx_u32(x584, x526, x565, &x586);
- { uint32_t x589; uint8_t x590 = _addcarryx_u32(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x15, &x594);
- { uint32_t x597; uint32_t x596 = _mulx_u32(x12, x17, &x597);
- { uint32_t x600; uint32_t x599 = _mulx_u32(x12, x19, &x600);
- { uint32_t x603; uint32_t x602 = _mulx_u32(x12, x21, &x603);
- { uint32_t x606; uint32_t x605 = _mulx_u32(x12, x23, &x606);
- { uint32_t x609; uint32_t x608 = _mulx_u32(x12, x22, &x609);
- { uint32_t x611; uint8_t x612 = _addcarryx_u32(0x0, x594, x596, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(x612, x597, x599, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x600, x602, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x603, x605, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x606, x608, &x623);
- { uint32_t x626; uint8_t _ = _addcarryx_u32(0x0, x624, x609, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(0x0, x574, x593, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x577, x611, &x632);
- { uint32_t x635; uint8_t x636 = _addcarryx_u32(x633, x580, x614, &x635);
- { uint32_t x638; uint8_t x639 = _addcarryx_u32(x636, x583, x617, &x638);
- { uint32_t x641; uint8_t x642 = _addcarryx_u32(x639, x586, x620, &x641);
- { uint32_t x644; uint8_t x645 = _addcarryx_u32(x642, x589, x623, &x644);
- { uint32_t x647; uint8_t x648 = _addcarryx_u32(x645, x591, x626, &x647);
- { uint32_t _; uint32_t x650 = _mulx_u32(x629, 0xba2e8ba3, &_);
- { uint32_t x654; uint32_t x653 = _mulx_u32(x650, 0xfffffff5, &x654);
- { uint32_t x657; uint32_t x656 = _mulx_u32(x650, 0xffffffff, &x657);
- { uint32_t x660; uint32_t x659 = _mulx_u32(x650, 0xffffffff, &x660);
- { uint32_t x663; uint32_t x662 = _mulx_u32(x650, 0xffffffff, &x663);
- { uint32_t x666; uint32_t x665 = _mulx_u32(x650, 0xffffffff, &x666);
- { uint32_t x669; uint32_t x668 = _mulx_u32(x650, 0x3fffffff, &x669);
- { uint32_t x671; uint8_t x672 = _addcarryx_u32(0x0, x654, x656, &x671);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x657, x659, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x660, x662, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x663, x665, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x666, x668, &x683);
- { uint32_t x686; uint8_t _ = _addcarryx_u32(0x0, x684, x669, &x686);
- { uint32_t _; uint8_t x690 = _addcarryx_u32(0x0, x629, x653, &_);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x632, x671, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x635, x674, &x695);
- { uint32_t x698; uint8_t x699 = _addcarryx_u32(x696, x638, x677, &x698);
- { uint32_t x701; uint8_t x702 = _addcarryx_u32(x699, x641, x680, &x701);
- { uint32_t x704; uint8_t x705 = _addcarryx_u32(x702, x644, x683, &x704);
- { uint32_t x707; uint8_t x708 = _addcarryx_u32(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(0x0, x692, 0xfffffff5, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0xffffffff, &x714);
- { uint32_t x717; uint8_t x718 = _subborrow_u32(x715, x698, 0xffffffff, &x717);
- { uint32_t x720; uint8_t x721 = _subborrow_u32(x718, x701, 0xffffffff, &x720);
- { uint32_t x723; uint8_t x724 = _subborrow_u32(x721, x704, 0xffffffff, &x723);
- { uint32_t x726; uint8_t x727 = _subborrow_u32(x724, x707, 0x3fffffff, &x726);
- { uint32_t _; uint8_t x730 = _subborrow_u32(x727, x709, 0x0, &_);
- { uint32_t x731 = cmovznz32(x730, x726, x707);
- { uint32_t x732 = cmovznz32(x730, x723, x704);
- { uint32_t x733 = cmovznz32(x730, x720, x701);
- { uint32_t x734 = cmovznz32(x730, x717, x698);
- { uint32_t x735 = cmovznz32(x730, x714, x695);
- { uint32_t x736 = cmovznz32(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/femul.v b/src/Specific/montgomery32_2e190m11_6limbs/femul.v
deleted file mode 100644
index b0602fff1..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.log
deleted file mode 100644
index c302cbb1d..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0xba2e8ba3);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xfffffff5);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint32_t x80 = mulx_u32(x61, 0x3fffffff);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint32_t x97, uint8_t _ = addcarryx_u32(0x0, x95, x80);
- uint32_t _, uint8_t x101 = addcarryx_u32(0x0, x25, x64);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x43, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x46, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x49, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x52, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x55, x94);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x58, x97);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x15);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x17);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x19);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x21);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x23);
- uint32_t x136, uint32_t x137 = mulx_u32(x7, x22);
- uint32_t x139, uint8_t x140 = addcarryx_u32(0x0, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t x152 = addcarryx_u32(x149, x134, x136);
- uint32_t x154, uint8_t _ = addcarryx_u32(0x0, x152, x137);
- uint32_t x157, uint8_t x158 = addcarryx_u32(0x0, x103, x121);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x118, x151);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x119, x154);
- uint32_t x178, uint32_t _ = mulx_u32(x157, 0xba2e8ba3);
- uint32_t x181, uint32_t x182 = mulx_u32(x178, 0xfffffff5);
- uint32_t x184, uint32_t x185 = mulx_u32(x178, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x178, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x178, 0xffffffff);
- uint32_t x193, uint32_t x194 = mulx_u32(x178, 0xffffffff);
- uint32_t x196, uint32_t x197 = mulx_u32(x178, 0x3fffffff);
- uint32_t x199, uint8_t x200 = addcarryx_u32(0x0, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x191, x193);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x194, x196);
- uint32_t x214, uint8_t _ = addcarryx_u32(0x0, x212, x197);
- uint32_t _, uint8_t x218 = addcarryx_u32(0x0, x157, x181);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x160, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x163, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x166, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x169, x208);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x172, x211);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x15);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x17);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x19);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x21);
- uint32_t x251, uint32_t x252 = mulx_u32(x9, x23);
- uint32_t x254, uint32_t x255 = mulx_u32(x9, x22);
- uint32_t x257, uint8_t x258 = addcarryx_u32(0x0, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x249, x251);
- uint32_t x269, uint8_t x270 = addcarryx_u32(x267, x252, x254);
- uint32_t x272, uint8_t _ = addcarryx_u32(0x0, x270, x255);
- uint32_t x275, uint8_t x276 = addcarryx_u32(0x0, x220, x239);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x232, x266);
- uint32_t x290, uint8_t x291 = addcarryx_u32(x288, x235, x269);
- uint32_t x293, uint8_t x294 = addcarryx_u32(x291, x237, x272);
- uint32_t x296, uint32_t _ = mulx_u32(x275, 0xba2e8ba3);
- uint32_t x299, uint32_t x300 = mulx_u32(x296, 0xfffffff5);
- uint32_t x302, uint32_t x303 = mulx_u32(x296, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x296, 0xffffffff);
- uint32_t x308, uint32_t x309 = mulx_u32(x296, 0xffffffff);
- uint32_t x311, uint32_t x312 = mulx_u32(x296, 0xffffffff);
- uint32_t x314, uint32_t x315 = mulx_u32(x296, 0x3fffffff);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x306, x308);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x309, x311);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x312, x314);
- uint32_t x332, uint8_t _ = addcarryx_u32(0x0, x330, x315);
- uint32_t _, uint8_t x336 = addcarryx_u32(0x0, x275, x299);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x278, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x281, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x284, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x287, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x290, x329);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x15);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x17);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x19);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x21);
- uint32_t x369, uint32_t x370 = mulx_u32(x11, x23);
- uint32_t x372, uint32_t x373 = mulx_u32(x11, x22);
- uint32_t x375, uint8_t x376 = addcarryx_u32(0x0, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x367, x369);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x370, x372);
- uint32_t x390, uint8_t _ = addcarryx_u32(0x0, x388, x373);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x338, x357);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x350, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x353, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x355, x390);
- uint32_t x414, uint32_t _ = mulx_u32(x393, 0xba2e8ba3);
- uint32_t x417, uint32_t x418 = mulx_u32(x414, 0xfffffff5);
- uint32_t x420, uint32_t x421 = mulx_u32(x414, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x414, 0xffffffff);
- uint32_t x426, uint32_t x427 = mulx_u32(x414, 0xffffffff);
- uint32_t x429, uint32_t x430 = mulx_u32(x414, 0xffffffff);
- uint32_t x432, uint32_t x433 = mulx_u32(x414, 0x3fffffff);
- uint32_t x435, uint8_t x436 = addcarryx_u32(0x0, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x427, x429);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x430, x432);
- uint32_t x450, uint8_t _ = addcarryx_u32(0x0, x448, x433);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x393, x417);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x396, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x399, x438);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x402, x441);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x405, x444);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x408, x447);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x15);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x17);
- uint32_t x481, uint32_t x482 = mulx_u32(x13, x19);
- uint32_t x484, uint32_t x485 = mulx_u32(x13, x21);
- uint32_t x487, uint32_t x488 = mulx_u32(x13, x23);
- uint32_t x490, uint32_t x491 = mulx_u32(x13, x22);
- uint32_t x493, uint8_t x494 = addcarryx_u32(0x0, x476, x478);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x479, x481);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x482, x484);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x485, x487);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x488, x490);
- uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x491);
- uint32_t x511, uint8_t x512 = addcarryx_u32(0x0, x456, x475);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x462, x496);
- uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x465, x499);
- uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x468, x502);
- uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x471, x505);
- uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x473, x508);
- uint32_t x532, uint32_t _ = mulx_u32(x511, 0xba2e8ba3);
- uint32_t x535, uint32_t x536 = mulx_u32(x532, 0xfffffff5);
- uint32_t x538, uint32_t x539 = mulx_u32(x532, 0xffffffff);
- uint32_t x541, uint32_t x542 = mulx_u32(x532, 0xffffffff);
- uint32_t x544, uint32_t x545 = mulx_u32(x532, 0xffffffff);
- uint32_t x547, uint32_t x548 = mulx_u32(x532, 0xffffffff);
- uint32_t x550, uint32_t x551 = mulx_u32(x532, 0x3fffffff);
- uint32_t x553, uint8_t x554 = addcarryx_u32(0x0, x536, x538);
- uint32_t x556, uint8_t x557 = addcarryx_u32(x554, x539, x541);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x542, x544);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x545, x547);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x548, x550);
- uint32_t x568, uint8_t _ = addcarryx_u32(0x0, x566, x551);
- uint32_t _, uint8_t x572 = addcarryx_u32(0x0, x511, x535);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x514, x553);
- uint32_t x577, uint8_t x578 = addcarryx_u32(x575, x517, x556);
- uint32_t x580, uint8_t x581 = addcarryx_u32(x578, x520, x559);
- uint32_t x583, uint8_t x584 = addcarryx_u32(x581, x523, x562);
- uint32_t x586, uint8_t x587 = addcarryx_u32(x584, x526, x565);
- uint32_t x589, uint8_t x590 = addcarryx_u32(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x15);
- uint32_t x596, uint32_t x597 = mulx_u32(x12, x17);
- uint32_t x599, uint32_t x600 = mulx_u32(x12, x19);
- uint32_t x602, uint32_t x603 = mulx_u32(x12, x21);
- uint32_t x605, uint32_t x606 = mulx_u32(x12, x23);
- uint32_t x608, uint32_t x609 = mulx_u32(x12, x22);
- uint32_t x611, uint8_t x612 = addcarryx_u32(0x0, x594, x596);
- uint32_t x614, uint8_t x615 = addcarryx_u32(x612, x597, x599);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x600, x602);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x603, x605);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x606, x608);
- uint32_t x626, uint8_t _ = addcarryx_u32(0x0, x624, x609);
- uint32_t x629, uint8_t x630 = addcarryx_u32(0x0, x574, x593);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x577, x611);
- uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x580, x614);
- uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x583, x617);
- uint32_t x641, uint8_t x642 = addcarryx_u32(x639, x586, x620);
- uint32_t x644, uint8_t x645 = addcarryx_u32(x642, x589, x623);
- uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x591, x626);
- uint32_t x650, uint32_t _ = mulx_u32(x629, 0xba2e8ba3);
- uint32_t x653, uint32_t x654 = mulx_u32(x650, 0xfffffff5);
- uint32_t x656, uint32_t x657 = mulx_u32(x650, 0xffffffff);
- uint32_t x659, uint32_t x660 = mulx_u32(x650, 0xffffffff);
- uint32_t x662, uint32_t x663 = mulx_u32(x650, 0xffffffff);
- uint32_t x665, uint32_t x666 = mulx_u32(x650, 0xffffffff);
- uint32_t x668, uint32_t x669 = mulx_u32(x650, 0x3fffffff);
- uint32_t x671, uint8_t x672 = addcarryx_u32(0x0, x654, x656);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x657, x659);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x660, x662);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x663, x665);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x666, x668);
- uint32_t x686, uint8_t _ = addcarryx_u32(0x0, x684, x669);
- uint32_t _, uint8_t x690 = addcarryx_u32(0x0, x629, x653);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x632, x671);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x635, x674);
- uint32_t x698, uint8_t x699 = addcarryx_u32(x696, x638, x677);
- uint32_t x701, uint8_t x702 = addcarryx_u32(x699, x641, x680);
- uint32_t x704, uint8_t x705 = addcarryx_u32(x702, x644, x683);
- uint32_t x707, uint8_t x708 = addcarryx_u32(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint32_t x711, uint8_t x712 = subborrow_u32(0x0, x692, 0xfffffff5);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0xffffffff);
- uint32_t x717, uint8_t x718 = subborrow_u32(x715, x698, 0xffffffff);
- uint32_t x720, uint8_t x721 = subborrow_u32(x718, x701, 0xffffffff);
- uint32_t x723, uint8_t x724 = subborrow_u32(x721, x704, 0xffffffff);
- uint32_t x726, uint8_t x727 = subborrow_u32(x724, x707, 0x3fffffff);
- uint32_t _, uint8_t x730 = subborrow_u32(x727, x709, 0x0);
- uint32_t x731 = cmovznz32(x730, x726, x707);
- uint32_t x732 = cmovznz32(x730, x723, x704);
- uint32_t x733 = cmovznz32(x730, x720, x701);
- uint32_t x734 = cmovznz32(x730, x717, x698);
- uint32_t x735 = cmovznz32(x730, x714, x695);
- uint32_t x736 = cmovznz32(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.v
deleted file mode 100644
index 124426d6f..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fenz.c b/src/Specific/montgomery32_2e190m11_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fenz.v b/src/Specific/montgomery32_2e190m11_6limbs/fenz.v
deleted file mode 100644
index 1a8450286..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.v
deleted file mode 100644
index bfafc09ab..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feopp.c b/src/Specific/montgomery32_2e190m11_6limbs/feopp.c
deleted file mode 100644
index c3aa5103a..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xfffffff5);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0x3fffffff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feopp.v b/src/Specific/montgomery32_2e190m11_6limbs/feopp.v
deleted file mode 100644
index df8e5ca34..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.log
deleted file mode 100644
index 3a36d2db7..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xfffffff5);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0x3fffffff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.v
deleted file mode 100644
index 7686263c9..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fesquare.c b/src/Specific/montgomery32_2e190m11_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fesub.c b/src/Specific/montgomery32_2e190m11_6limbs/fesub.c
deleted file mode 100644
index c1db0ba51..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xfffffff5);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0x3fffffff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fesub.v b/src/Specific/montgomery32_2e190m11_6limbs/fesub.v
deleted file mode 100644
index 75bfed4f8..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.log
deleted file mode 100644
index fc2472ce7..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xfffffff5);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0x3fffffff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.v
deleted file mode 100644
index 61512e951..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e190m11_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e190m11_6limbs/py_interpreter.sh
deleted file mode 100755
index 8ea8cabcc..000000000
--- a/src/Specific/montgomery32_2e190m11_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**190 - 11' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e191m19_6limbs/CurveParameters.v
deleted file mode 100644
index 173cd0e0e..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^191 - 19
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^191;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e191m19_6limbs/Synthesis.v b/src/Specific/montgomery32_2e191m19_6limbs/Synthesis.v
deleted file mode 100644
index 683002931..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.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/montgomery32_2e191m19_6limbs/compiler.sh b/src/Specific/montgomery32_2e191m19_6limbs/compiler.sh
deleted file mode 100755
index d4d861f09..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e191m19_6limbs/compilerxx.sh
deleted file mode 100755
index 62530fd91..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feadd.c b/src/Specific/montgomery32_2e191m19_6limbs/feadd.c
deleted file mode 100644
index 849c7a45e..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xffffffed, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xffffffff, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0x7fffffff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feadd.v b/src/Specific/montgomery32_2e191m19_6limbs/feadd.v
deleted file mode 100644
index c868adea6..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.log
deleted file mode 100644
index 522ef5d71..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xffffffed);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xffffffff);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0x7fffffff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.v
deleted file mode 100644
index decea4a95..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/femul.c b/src/Specific/montgomery32_2e191m19_6limbs/femul.c
deleted file mode 100644
index 70f742a25..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t _; uint32_t x61 = _mulx_u32(x25, 0x286bca1b, &_);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x61, 0xffffffed, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x61, 0xffffffff, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x61, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x61, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x61, 0xffffffff, &x77);
- { uint32_t x80; uint32_t x79 = _mulx_u32(x61, 0x7fffffff, &x80);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(0x0, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x77, x79, &x94);
- { uint32_t x97; uint8_t _ = _addcarryx_u32(0x0, x95, x80, &x97);
- { uint32_t _; uint8_t x101 = _addcarryx_u32(0x0, x25, x64, &_);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x43, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x46, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x49, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x52, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x55, x94, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x58, x97, &x118);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x15, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x17, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x19, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x21, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x23, &x134);
- { uint32_t x137; uint32_t x136 = _mulx_u32(x7, x22, &x137);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(0x0, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t x152 = _addcarryx_u32(x149, x134, x136, &x151);
- { uint32_t x154; uint8_t _ = _addcarryx_u32(0x0, x152, x137, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(0x0, x103, x121, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x118, x151, &x172);
- { uint32_t x175; uint8_t x176 = _addcarryx_u32(x173, x119, x154, &x175);
- { uint32_t _; uint32_t x178 = _mulx_u32(x157, 0x286bca1b, &_);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x178, 0xffffffed, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x178, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x178, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x178, 0xffffffff, &x191);
- { uint32_t x194; uint32_t x193 = _mulx_u32(x178, 0xffffffff, &x194);
- { uint32_t x197; uint32_t x196 = _mulx_u32(x178, 0x7fffffff, &x197);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(0x0, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x191, x193, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x194, x196, &x211);
- { uint32_t x214; uint8_t _ = _addcarryx_u32(0x0, x212, x197, &x214);
- { uint32_t _; uint8_t x218 = _addcarryx_u32(0x0, x157, x181, &_);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x160, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x163, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x166, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x169, x208, &x229);
- { uint32_t x232; uint8_t x233 = _addcarryx_u32(x230, x172, x211, &x232);
- { uint32_t x235; uint8_t x236 = _addcarryx_u32(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x15, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x17, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x19, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x21, &x249);
- { uint32_t x252; uint32_t x251 = _mulx_u32(x9, x23, &x252);
- { uint32_t x255; uint32_t x254 = _mulx_u32(x9, x22, &x255);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(0x0, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t x267 = _addcarryx_u32(x264, x249, x251, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(x267, x252, x254, &x269);
- { uint32_t x272; uint8_t _ = _addcarryx_u32(0x0, x270, x255, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(0x0, x220, x239, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x232, x266, &x287);
- { uint32_t x290; uint8_t x291 = _addcarryx_u32(x288, x235, x269, &x290);
- { uint32_t x293; uint8_t x294 = _addcarryx_u32(x291, x237, x272, &x293);
- { uint32_t _; uint32_t x296 = _mulx_u32(x275, 0x286bca1b, &_);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x296, 0xffffffed, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x296, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x296, 0xffffffff, &x306);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x296, 0xffffffff, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x296, 0xffffffff, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x296, 0x7fffffff, &x315);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(0x0, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t x324 = _addcarryx_u32(x321, x306, x308, &x323);
- { uint32_t x326; uint8_t x327 = _addcarryx_u32(x324, x309, x311, &x326);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x312, x314, &x329);
- { uint32_t x332; uint8_t _ = _addcarryx_u32(0x0, x330, x315, &x332);
- { uint32_t _; uint8_t x336 = _addcarryx_u32(0x0, x275, x299, &_);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x278, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x281, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x284, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x287, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x290, x329, &x350);
- { uint32_t x353; uint8_t x354 = _addcarryx_u32(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x15, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x17, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x19, &x364);
- { uint32_t x367; uint32_t x366 = _mulx_u32(x11, x21, &x367);
- { uint32_t x370; uint32_t x369 = _mulx_u32(x11, x23, &x370);
- { uint32_t x373; uint32_t x372 = _mulx_u32(x11, x22, &x373);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(0x0, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t x382 = _addcarryx_u32(x379, x364, x366, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(x382, x367, x369, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x370, x372, &x387);
- { uint32_t x390; uint8_t _ = _addcarryx_u32(0x0, x388, x373, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(0x0, x338, x357, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x347, x381, &x402);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(x403, x350, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x353, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x355, x390, &x411);
- { uint32_t _; uint32_t x414 = _mulx_u32(x393, 0x286bca1b, &_);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x414, 0xffffffed, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x414, 0xffffffff, &x421);
- { uint32_t x424; uint32_t x423 = _mulx_u32(x414, 0xffffffff, &x424);
- { uint32_t x427; uint32_t x426 = _mulx_u32(x414, 0xffffffff, &x427);
- { uint32_t x430; uint32_t x429 = _mulx_u32(x414, 0xffffffff, &x430);
- { uint32_t x433; uint32_t x432 = _mulx_u32(x414, 0x7fffffff, &x433);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(0x0, x418, x420, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x421, x423, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x424, x426, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x427, x429, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x430, x432, &x447);
- { uint32_t x450; uint8_t _ = _addcarryx_u32(0x0, x448, x433, &x450);
- { uint32_t _; uint8_t x454 = _addcarryx_u32(0x0, x393, x417, &_);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x396, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x399, x438, &x459);
- { uint32_t x462; uint8_t x463 = _addcarryx_u32(x460, x402, x441, &x462);
- { uint32_t x465; uint8_t x466 = _addcarryx_u32(x463, x405, x444, &x465);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(x466, x408, x447, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x15, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x17, &x479);
- { uint32_t x482; uint32_t x481 = _mulx_u32(x13, x19, &x482);
- { uint32_t x485; uint32_t x484 = _mulx_u32(x13, x21, &x485);
- { uint32_t x488; uint32_t x487 = _mulx_u32(x13, x23, &x488);
- { uint32_t x491; uint32_t x490 = _mulx_u32(x13, x22, &x491);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(0x0, x476, x478, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x479, x481, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x482, x484, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x485, x487, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x488, x490, &x505);
- { uint32_t x508; uint8_t _ = _addcarryx_u32(0x0, x506, x491, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(0x0, x456, x475, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x462, x496, &x517);
- { uint32_t x520; uint8_t x521 = _addcarryx_u32(x518, x465, x499, &x520);
- { uint32_t x523; uint8_t x524 = _addcarryx_u32(x521, x468, x502, &x523);
- { uint32_t x526; uint8_t x527 = _addcarryx_u32(x524, x471, x505, &x526);
- { uint32_t x529; uint8_t x530 = _addcarryx_u32(x527, x473, x508, &x529);
- { uint32_t _; uint32_t x532 = _mulx_u32(x511, 0x286bca1b, &_);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x532, 0xffffffed, &x536);
- { uint32_t x539; uint32_t x538 = _mulx_u32(x532, 0xffffffff, &x539);
- { uint32_t x542; uint32_t x541 = _mulx_u32(x532, 0xffffffff, &x542);
- { uint32_t x545; uint32_t x544 = _mulx_u32(x532, 0xffffffff, &x545);
- { uint32_t x548; uint32_t x547 = _mulx_u32(x532, 0xffffffff, &x548);
- { uint32_t x551; uint32_t x550 = _mulx_u32(x532, 0x7fffffff, &x551);
- { uint32_t x553; uint8_t x554 = _addcarryx_u32(0x0, x536, x538, &x553);
- { uint32_t x556; uint8_t x557 = _addcarryx_u32(x554, x539, x541, &x556);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x542, x544, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x545, x547, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x548, x550, &x565);
- { uint32_t x568; uint8_t _ = _addcarryx_u32(0x0, x566, x551, &x568);
- { uint32_t _; uint8_t x572 = _addcarryx_u32(0x0, x511, x535, &_);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x514, x553, &x574);
- { uint32_t x577; uint8_t x578 = _addcarryx_u32(x575, x517, x556, &x577);
- { uint32_t x580; uint8_t x581 = _addcarryx_u32(x578, x520, x559, &x580);
- { uint32_t x583; uint8_t x584 = _addcarryx_u32(x581, x523, x562, &x583);
- { uint32_t x586; uint8_t x587 = _addcarryx_u32(x584, x526, x565, &x586);
- { uint32_t x589; uint8_t x590 = _addcarryx_u32(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x15, &x594);
- { uint32_t x597; uint32_t x596 = _mulx_u32(x12, x17, &x597);
- { uint32_t x600; uint32_t x599 = _mulx_u32(x12, x19, &x600);
- { uint32_t x603; uint32_t x602 = _mulx_u32(x12, x21, &x603);
- { uint32_t x606; uint32_t x605 = _mulx_u32(x12, x23, &x606);
- { uint32_t x609; uint32_t x608 = _mulx_u32(x12, x22, &x609);
- { uint32_t x611; uint8_t x612 = _addcarryx_u32(0x0, x594, x596, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(x612, x597, x599, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x600, x602, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x603, x605, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x606, x608, &x623);
- { uint32_t x626; uint8_t _ = _addcarryx_u32(0x0, x624, x609, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(0x0, x574, x593, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x577, x611, &x632);
- { uint32_t x635; uint8_t x636 = _addcarryx_u32(x633, x580, x614, &x635);
- { uint32_t x638; uint8_t x639 = _addcarryx_u32(x636, x583, x617, &x638);
- { uint32_t x641; uint8_t x642 = _addcarryx_u32(x639, x586, x620, &x641);
- { uint32_t x644; uint8_t x645 = _addcarryx_u32(x642, x589, x623, &x644);
- { uint32_t x647; uint8_t x648 = _addcarryx_u32(x645, x591, x626, &x647);
- { uint32_t _; uint32_t x650 = _mulx_u32(x629, 0x286bca1b, &_);
- { uint32_t x654; uint32_t x653 = _mulx_u32(x650, 0xffffffed, &x654);
- { uint32_t x657; uint32_t x656 = _mulx_u32(x650, 0xffffffff, &x657);
- { uint32_t x660; uint32_t x659 = _mulx_u32(x650, 0xffffffff, &x660);
- { uint32_t x663; uint32_t x662 = _mulx_u32(x650, 0xffffffff, &x663);
- { uint32_t x666; uint32_t x665 = _mulx_u32(x650, 0xffffffff, &x666);
- { uint32_t x669; uint32_t x668 = _mulx_u32(x650, 0x7fffffff, &x669);
- { uint32_t x671; uint8_t x672 = _addcarryx_u32(0x0, x654, x656, &x671);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x657, x659, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x660, x662, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x663, x665, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x666, x668, &x683);
- { uint32_t x686; uint8_t _ = _addcarryx_u32(0x0, x684, x669, &x686);
- { uint32_t _; uint8_t x690 = _addcarryx_u32(0x0, x629, x653, &_);
- { uint32_t x692; uint8_t x693 = _addcarryx_u32(x690, x632, x671, &x692);
- { uint32_t x695; uint8_t x696 = _addcarryx_u32(x693, x635, x674, &x695);
- { uint32_t x698; uint8_t x699 = _addcarryx_u32(x696, x638, x677, &x698);
- { uint32_t x701; uint8_t x702 = _addcarryx_u32(x699, x641, x680, &x701);
- { uint32_t x704; uint8_t x705 = _addcarryx_u32(x702, x644, x683, &x704);
- { uint32_t x707; uint8_t x708 = _addcarryx_u32(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint32_t x711; uint8_t x712 = _subborrow_u32(0x0, x692, 0xffffffed, &x711);
- { uint32_t x714; uint8_t x715 = _subborrow_u32(x712, x695, 0xffffffff, &x714);
- { uint32_t x717; uint8_t x718 = _subborrow_u32(x715, x698, 0xffffffff, &x717);
- { uint32_t x720; uint8_t x721 = _subborrow_u32(x718, x701, 0xffffffff, &x720);
- { uint32_t x723; uint8_t x724 = _subborrow_u32(x721, x704, 0xffffffff, &x723);
- { uint32_t x726; uint8_t x727 = _subborrow_u32(x724, x707, 0x7fffffff, &x726);
- { uint32_t _; uint8_t x730 = _subborrow_u32(x727, x709, 0x0, &_);
- { uint32_t x731 = cmovznz32(x730, x726, x707);
- { uint32_t x732 = cmovznz32(x730, x723, x704);
- { uint32_t x733 = cmovznz32(x730, x720, x701);
- { uint32_t x734 = cmovznz32(x730, x717, x698);
- { uint32_t x735 = cmovznz32(x730, x714, x695);
- { uint32_t x736 = cmovznz32(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/femul.v b/src/Specific/montgomery32_2e191m19_6limbs/femul.v
deleted file mode 100644
index 2bc9657e9..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.log
deleted file mode 100644
index 7b0e96d28..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t _ = mulx_u32(x25, 0x286bca1b);
- uint32_t x64, uint32_t x65 = mulx_u32(x61, 0xffffffed);
- uint32_t x67, uint32_t x68 = mulx_u32(x61, 0xffffffff);
- uint32_t x70, uint32_t x71 = mulx_u32(x61, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x61, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x61, 0xffffffff);
- uint32_t x79, uint32_t x80 = mulx_u32(x61, 0x7fffffff);
- uint32_t x82, uint8_t x83 = addcarryx_u32(0x0, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x77, x79);
- uint32_t x97, uint8_t _ = addcarryx_u32(0x0, x95, x80);
- uint32_t _, uint8_t x101 = addcarryx_u32(0x0, x25, x64);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x43, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x46, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x49, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x52, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x55, x94);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x58, x97);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x15);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x17);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x19);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x21);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x23);
- uint32_t x136, uint32_t x137 = mulx_u32(x7, x22);
- uint32_t x139, uint8_t x140 = addcarryx_u32(0x0, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t x152 = addcarryx_u32(x149, x134, x136);
- uint32_t x154, uint8_t _ = addcarryx_u32(0x0, x152, x137);
- uint32_t x157, uint8_t x158 = addcarryx_u32(0x0, x103, x121);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x118, x151);
- uint32_t x175, uint8_t x176 = addcarryx_u32(x173, x119, x154);
- uint32_t x178, uint32_t _ = mulx_u32(x157, 0x286bca1b);
- uint32_t x181, uint32_t x182 = mulx_u32(x178, 0xffffffed);
- uint32_t x184, uint32_t x185 = mulx_u32(x178, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x178, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x178, 0xffffffff);
- uint32_t x193, uint32_t x194 = mulx_u32(x178, 0xffffffff);
- uint32_t x196, uint32_t x197 = mulx_u32(x178, 0x7fffffff);
- uint32_t x199, uint8_t x200 = addcarryx_u32(0x0, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x191, x193);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x194, x196);
- uint32_t x214, uint8_t _ = addcarryx_u32(0x0, x212, x197);
- uint32_t _, uint8_t x218 = addcarryx_u32(0x0, x157, x181);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x160, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x163, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x166, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x169, x208);
- uint32_t x232, uint8_t x233 = addcarryx_u32(x230, x172, x211);
- uint32_t x235, uint8_t x236 = addcarryx_u32(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x15);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x17);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x19);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x21);
- uint32_t x251, uint32_t x252 = mulx_u32(x9, x23);
- uint32_t x254, uint32_t x255 = mulx_u32(x9, x22);
- uint32_t x257, uint8_t x258 = addcarryx_u32(0x0, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t x267 = addcarryx_u32(x264, x249, x251);
- uint32_t x269, uint8_t x270 = addcarryx_u32(x267, x252, x254);
- uint32_t x272, uint8_t _ = addcarryx_u32(0x0, x270, x255);
- uint32_t x275, uint8_t x276 = addcarryx_u32(0x0, x220, x239);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x232, x266);
- uint32_t x290, uint8_t x291 = addcarryx_u32(x288, x235, x269);
- uint32_t x293, uint8_t x294 = addcarryx_u32(x291, x237, x272);
- uint32_t x296, uint32_t _ = mulx_u32(x275, 0x286bca1b);
- uint32_t x299, uint32_t x300 = mulx_u32(x296, 0xffffffed);
- uint32_t x302, uint32_t x303 = mulx_u32(x296, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x296, 0xffffffff);
- uint32_t x308, uint32_t x309 = mulx_u32(x296, 0xffffffff);
- uint32_t x311, uint32_t x312 = mulx_u32(x296, 0xffffffff);
- uint32_t x314, uint32_t x315 = mulx_u32(x296, 0x7fffffff);
- uint32_t x317, uint8_t x318 = addcarryx_u32(0x0, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t x324 = addcarryx_u32(x321, x306, x308);
- uint32_t x326, uint8_t x327 = addcarryx_u32(x324, x309, x311);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x312, x314);
- uint32_t x332, uint8_t _ = addcarryx_u32(0x0, x330, x315);
- uint32_t _, uint8_t x336 = addcarryx_u32(0x0, x275, x299);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x278, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x281, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x284, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x287, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x290, x329);
- uint32_t x353, uint8_t x354 = addcarryx_u32(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x15);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x17);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x19);
- uint32_t x366, uint32_t x367 = mulx_u32(x11, x21);
- uint32_t x369, uint32_t x370 = mulx_u32(x11, x23);
- uint32_t x372, uint32_t x373 = mulx_u32(x11, x22);
- uint32_t x375, uint8_t x376 = addcarryx_u32(0x0, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t x382 = addcarryx_u32(x379, x364, x366);
- uint32_t x384, uint8_t x385 = addcarryx_u32(x382, x367, x369);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x370, x372);
- uint32_t x390, uint8_t _ = addcarryx_u32(0x0, x388, x373);
- uint32_t x393, uint8_t x394 = addcarryx_u32(0x0, x338, x357);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x347, x381);
- uint32_t x405, uint8_t x406 = addcarryx_u32(x403, x350, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x353, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x355, x390);
- uint32_t x414, uint32_t _ = mulx_u32(x393, 0x286bca1b);
- uint32_t x417, uint32_t x418 = mulx_u32(x414, 0xffffffed);
- uint32_t x420, uint32_t x421 = mulx_u32(x414, 0xffffffff);
- uint32_t x423, uint32_t x424 = mulx_u32(x414, 0xffffffff);
- uint32_t x426, uint32_t x427 = mulx_u32(x414, 0xffffffff);
- uint32_t x429, uint32_t x430 = mulx_u32(x414, 0xffffffff);
- uint32_t x432, uint32_t x433 = mulx_u32(x414, 0x7fffffff);
- uint32_t x435, uint8_t x436 = addcarryx_u32(0x0, x418, x420);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x421, x423);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x424, x426);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x427, x429);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x430, x432);
- uint32_t x450, uint8_t _ = addcarryx_u32(0x0, x448, x433);
- uint32_t _, uint8_t x454 = addcarryx_u32(0x0, x393, x417);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x396, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x399, x438);
- uint32_t x462, uint8_t x463 = addcarryx_u32(x460, x402, x441);
- uint32_t x465, uint8_t x466 = addcarryx_u32(x463, x405, x444);
- uint32_t x468, uint8_t x469 = addcarryx_u32(x466, x408, x447);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x15);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x17);
- uint32_t x481, uint32_t x482 = mulx_u32(x13, x19);
- uint32_t x484, uint32_t x485 = mulx_u32(x13, x21);
- uint32_t x487, uint32_t x488 = mulx_u32(x13, x23);
- uint32_t x490, uint32_t x491 = mulx_u32(x13, x22);
- uint32_t x493, uint8_t x494 = addcarryx_u32(0x0, x476, x478);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x479, x481);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x482, x484);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x485, x487);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x488, x490);
- uint32_t x508, uint8_t _ = addcarryx_u32(0x0, x506, x491);
- uint32_t x511, uint8_t x512 = addcarryx_u32(0x0, x456, x475);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x462, x496);
- uint32_t x520, uint8_t x521 = addcarryx_u32(x518, x465, x499);
- uint32_t x523, uint8_t x524 = addcarryx_u32(x521, x468, x502);
- uint32_t x526, uint8_t x527 = addcarryx_u32(x524, x471, x505);
- uint32_t x529, uint8_t x530 = addcarryx_u32(x527, x473, x508);
- uint32_t x532, uint32_t _ = mulx_u32(x511, 0x286bca1b);
- uint32_t x535, uint32_t x536 = mulx_u32(x532, 0xffffffed);
- uint32_t x538, uint32_t x539 = mulx_u32(x532, 0xffffffff);
- uint32_t x541, uint32_t x542 = mulx_u32(x532, 0xffffffff);
- uint32_t x544, uint32_t x545 = mulx_u32(x532, 0xffffffff);
- uint32_t x547, uint32_t x548 = mulx_u32(x532, 0xffffffff);
- uint32_t x550, uint32_t x551 = mulx_u32(x532, 0x7fffffff);
- uint32_t x553, uint8_t x554 = addcarryx_u32(0x0, x536, x538);
- uint32_t x556, uint8_t x557 = addcarryx_u32(x554, x539, x541);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x542, x544);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x545, x547);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x548, x550);
- uint32_t x568, uint8_t _ = addcarryx_u32(0x0, x566, x551);
- uint32_t _, uint8_t x572 = addcarryx_u32(0x0, x511, x535);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x514, x553);
- uint32_t x577, uint8_t x578 = addcarryx_u32(x575, x517, x556);
- uint32_t x580, uint8_t x581 = addcarryx_u32(x578, x520, x559);
- uint32_t x583, uint8_t x584 = addcarryx_u32(x581, x523, x562);
- uint32_t x586, uint8_t x587 = addcarryx_u32(x584, x526, x565);
- uint32_t x589, uint8_t x590 = addcarryx_u32(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x15);
- uint32_t x596, uint32_t x597 = mulx_u32(x12, x17);
- uint32_t x599, uint32_t x600 = mulx_u32(x12, x19);
- uint32_t x602, uint32_t x603 = mulx_u32(x12, x21);
- uint32_t x605, uint32_t x606 = mulx_u32(x12, x23);
- uint32_t x608, uint32_t x609 = mulx_u32(x12, x22);
- uint32_t x611, uint8_t x612 = addcarryx_u32(0x0, x594, x596);
- uint32_t x614, uint8_t x615 = addcarryx_u32(x612, x597, x599);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x600, x602);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x603, x605);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x606, x608);
- uint32_t x626, uint8_t _ = addcarryx_u32(0x0, x624, x609);
- uint32_t x629, uint8_t x630 = addcarryx_u32(0x0, x574, x593);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x577, x611);
- uint32_t x635, uint8_t x636 = addcarryx_u32(x633, x580, x614);
- uint32_t x638, uint8_t x639 = addcarryx_u32(x636, x583, x617);
- uint32_t x641, uint8_t x642 = addcarryx_u32(x639, x586, x620);
- uint32_t x644, uint8_t x645 = addcarryx_u32(x642, x589, x623);
- uint32_t x647, uint8_t x648 = addcarryx_u32(x645, x591, x626);
- uint32_t x650, uint32_t _ = mulx_u32(x629, 0x286bca1b);
- uint32_t x653, uint32_t x654 = mulx_u32(x650, 0xffffffed);
- uint32_t x656, uint32_t x657 = mulx_u32(x650, 0xffffffff);
- uint32_t x659, uint32_t x660 = mulx_u32(x650, 0xffffffff);
- uint32_t x662, uint32_t x663 = mulx_u32(x650, 0xffffffff);
- uint32_t x665, uint32_t x666 = mulx_u32(x650, 0xffffffff);
- uint32_t x668, uint32_t x669 = mulx_u32(x650, 0x7fffffff);
- uint32_t x671, uint8_t x672 = addcarryx_u32(0x0, x654, x656);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x657, x659);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x660, x662);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x663, x665);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x666, x668);
- uint32_t x686, uint8_t _ = addcarryx_u32(0x0, x684, x669);
- uint32_t _, uint8_t x690 = addcarryx_u32(0x0, x629, x653);
- uint32_t x692, uint8_t x693 = addcarryx_u32(x690, x632, x671);
- uint32_t x695, uint8_t x696 = addcarryx_u32(x693, x635, x674);
- uint32_t x698, uint8_t x699 = addcarryx_u32(x696, x638, x677);
- uint32_t x701, uint8_t x702 = addcarryx_u32(x699, x641, x680);
- uint32_t x704, uint8_t x705 = addcarryx_u32(x702, x644, x683);
- uint32_t x707, uint8_t x708 = addcarryx_u32(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint32_t x711, uint8_t x712 = subborrow_u32(0x0, x692, 0xffffffed);
- uint32_t x714, uint8_t x715 = subborrow_u32(x712, x695, 0xffffffff);
- uint32_t x717, uint8_t x718 = subborrow_u32(x715, x698, 0xffffffff);
- uint32_t x720, uint8_t x721 = subborrow_u32(x718, x701, 0xffffffff);
- uint32_t x723, uint8_t x724 = subborrow_u32(x721, x704, 0xffffffff);
- uint32_t x726, uint8_t x727 = subborrow_u32(x724, x707, 0x7fffffff);
- uint32_t _, uint8_t x730 = subborrow_u32(x727, x709, 0x0);
- uint32_t x731 = cmovznz32(x730, x726, x707);
- uint32_t x732 = cmovznz32(x730, x723, x704);
- uint32_t x733 = cmovznz32(x730, x720, x701);
- uint32_t x734 = cmovznz32(x730, x717, x698);
- uint32_t x735 = cmovznz32(x730, x714, x695);
- uint32_t x736 = cmovznz32(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.v
deleted file mode 100644
index bb5083ca5..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fenz.c b/src/Specific/montgomery32_2e191m19_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fenz.v b/src/Specific/montgomery32_2e191m19_6limbs/fenz.v
deleted file mode 100644
index 29b2a4078..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.v
deleted file mode 100644
index 52de78906..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feopp.c b/src/Specific/montgomery32_2e191m19_6limbs/feopp.c
deleted file mode 100644
index 7d6c52941..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffed);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xffffffff);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0x7fffffff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feopp.v b/src/Specific/montgomery32_2e191m19_6limbs/feopp.v
deleted file mode 100644
index 19ab6dd3d..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.log
deleted file mode 100644
index eec3da830..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffed);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xffffffff);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0x7fffffff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.v
deleted file mode 100644
index ffa7938a7..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fesquare.c b/src/Specific/montgomery32_2e191m19_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fesub.c b/src/Specific/montgomery32_2e191m19_6limbs/fesub.c
deleted file mode 100644
index 9a3cb209c..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xffffffed);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xffffffff);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0x7fffffff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fesub.v b/src/Specific/montgomery32_2e191m19_6limbs/fesub.v
deleted file mode 100644
index a027c4fd6..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.log
deleted file mode 100644
index 25cedd032..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xffffffed);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xffffffff);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0x7fffffff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.v
deleted file mode 100644
index 4277db36c..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e191m19_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e191m19_6limbs/py_interpreter.sh
deleted file mode 100755
index ac9b7615f..000000000
--- a/src/Specific/montgomery32_2e191m19_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**191 - 19' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/CurveParameters.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/CurveParameters.v
deleted file mode 100644
index 76ebb9d37..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^192 - 2^64 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 32;
- bitwidth := 32;
- s := 2^192;
- c := [(1, 1); (2^64, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e192m2e64m1_6limbs/Synthesis.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/Synthesis.v
deleted file mode 100644
index 8a54ef877..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.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/montgomery32_2e192m2e64m1_6limbs/compiler.sh b/src/Specific/montgomery32_2e192m2e64m1_6limbs/compiler.sh
deleted file mode 100755
index 8e5739c23..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/compilerxx.sh b/src/Specific/montgomery32_2e192m2e64m1_6limbs/compilerxx.sh
deleted file mode 100755
index 9135046d9..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.c
deleted file mode 100644
index 9357de067..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _addcarryx_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _addcarryx_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _addcarryx_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _addcarryx_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x12, x22, &x40);
- { uint32_t x43; uint8_t x44 = _subborrow_u32(0x0, x25, 0xffffffff, &x43);
- { uint32_t x46; uint8_t x47 = _subborrow_u32(x44, x28, 0xffffffff, &x46);
- { uint32_t x49; uint8_t x50 = _subborrow_u32(x47, x31, 0xfffffffe, &x49);
- { uint32_t x52; uint8_t x53 = _subborrow_u32(x50, x34, 0xffffffff, &x52);
- { uint32_t x55; uint8_t x56 = _subborrow_u32(x53, x37, 0xffffffff, &x55);
- { uint32_t x58; uint8_t x59 = _subborrow_u32(x56, x40, 0xffffffff, &x58);
- { uint32_t _; uint8_t x62 = _subborrow_u32(x59, x41, 0x0, &_);
- { uint32_t x63 = cmovznz32(x62, x58, x40);
- { uint32_t x64 = cmovznz32(x62, x55, x37);
- { uint32_t x65 = cmovznz32(x62, x52, x34);
- { uint32_t x66 = cmovznz32(x62, x49, x31);
- { uint32_t x67 = cmovznz32(x62, x46, x28);
- { uint32_t x68 = cmovznz32(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.v
deleted file mode 100644
index f0c5f5321..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.log b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.log
deleted file mode 100644
index 630037baa..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = addcarryx_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = addcarryx_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = addcarryx_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = addcarryx_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = addcarryx_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x12, x22);
- uint32_t x43, uint8_t x44 = subborrow_u32(0x0, x25, 0xffffffff);
- uint32_t x46, uint8_t x47 = subborrow_u32(x44, x28, 0xffffffff);
- uint32_t x49, uint8_t x50 = subborrow_u32(x47, x31, 0xfffffffe);
- uint32_t x52, uint8_t x53 = subborrow_u32(x50, x34, 0xffffffff);
- uint32_t x55, uint8_t x56 = subborrow_u32(x53, x37, 0xffffffff);
- uint32_t x58, uint8_t x59 = subborrow_u32(x56, x40, 0xffffffff);
- uint32_t _, uint8_t x62 = subborrow_u32(x59, x41, 0x0);
- uint32_t x63 = cmovznz32(x62, x58, x40);
- uint32_t x64 = cmovznz32(x62, x55, x37);
- uint32_t x65 = cmovznz32(x62, x52, x34);
- uint32_t x66 = cmovznz32(x62, x49, x31);
- uint32_t x67 = cmovznz32(x62, x46, x28);
- uint32_t x68 = cmovznz32(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.v
deleted file mode 100644
index 6ee035747..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.c
deleted file mode 100644
index 319702b09..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.c
+++ /dev/null
@@ -1,260 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x26; uint32_t x25 = _mulx_u32(x5, x15, &x26);
- { uint32_t x29; uint32_t x28 = _mulx_u32(x5, x17, &x29);
- { uint32_t x32; uint32_t x31 = _mulx_u32(x5, x19, &x32);
- { uint32_t x35; uint32_t x34 = _mulx_u32(x5, x21, &x35);
- { uint32_t x38; uint32_t x37 = _mulx_u32(x5, x23, &x38);
- { uint32_t x41; uint32_t x40 = _mulx_u32(x5, x22, &x41);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(0x0, x26, x28, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x29, x31, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x32, x34, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x35, x37, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x38, x40, &x55);
- { uint32_t x58; uint8_t _ = _addcarryx_u32(0x0, x56, x41, &x58);
- { uint32_t x62; uint32_t x61 = _mulx_u32(x25, 0xffffffff, &x62);
- { uint32_t x65; uint32_t x64 = _mulx_u32(x25, 0xffffffff, &x65);
- { uint32_t x68; uint32_t x67 = _mulx_u32(x25, 0xfffffffe, &x68);
- { uint32_t x71; uint32_t x70 = _mulx_u32(x25, 0xffffffff, &x71);
- { uint32_t x74; uint32_t x73 = _mulx_u32(x25, 0xffffffff, &x74);
- { uint32_t x77; uint32_t x76 = _mulx_u32(x25, 0xffffffff, &x77);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(0x0, x62, x64, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x65, x67, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x68, x70, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x71, x73, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x74, x76, &x91);
- { uint32_t x94; uint8_t _ = _addcarryx_u32(0x0, x92, x77, &x94);
- { uint32_t _; uint8_t x98 = _addcarryx_u32(0x0, x25, x61, &_);
- { uint32_t x100; uint8_t x101 = _addcarryx_u32(x98, x43, x79, &x100);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x46, x82, &x103);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x49, x85, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x52, x88, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x55, x91, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x58, x94, &x115);
- { uint32_t x119; uint32_t x118 = _mulx_u32(x7, x15, &x119);
- { uint32_t x122; uint32_t x121 = _mulx_u32(x7, x17, &x122);
- { uint32_t x125; uint32_t x124 = _mulx_u32(x7, x19, &x125);
- { uint32_t x128; uint32_t x127 = _mulx_u32(x7, x21, &x128);
- { uint32_t x131; uint32_t x130 = _mulx_u32(x7, x23, &x131);
- { uint32_t x134; uint32_t x133 = _mulx_u32(x7, x22, &x134);
- { uint32_t x136; uint8_t x137 = _addcarryx_u32(0x0, x119, x121, &x136);
- { uint32_t x139; uint8_t x140 = _addcarryx_u32(x137, x122, x124, &x139);
- { uint32_t x142; uint8_t x143 = _addcarryx_u32(x140, x125, x127, &x142);
- { uint32_t x145; uint8_t x146 = _addcarryx_u32(x143, x128, x130, &x145);
- { uint32_t x148; uint8_t x149 = _addcarryx_u32(x146, x131, x133, &x148);
- { uint32_t x151; uint8_t _ = _addcarryx_u32(0x0, x149, x134, &x151);
- { uint32_t x154; uint8_t x155 = _addcarryx_u32(0x0, x100, x118, &x154);
- { uint32_t x157; uint8_t x158 = _addcarryx_u32(x155, x103, x136, &x157);
- { uint32_t x160; uint8_t x161 = _addcarryx_u32(x158, x106, x139, &x160);
- { uint32_t x163; uint8_t x164 = _addcarryx_u32(x161, x109, x142, &x163);
- { uint32_t x166; uint8_t x167 = _addcarryx_u32(x164, x112, x145, &x166);
- { uint32_t x169; uint8_t x170 = _addcarryx_u32(x167, x115, x148, &x169);
- { uint32_t x172; uint8_t x173 = _addcarryx_u32(x170, x116, x151, &x172);
- { uint32_t x176; uint32_t x175 = _mulx_u32(x154, 0xffffffff, &x176);
- { uint32_t x179; uint32_t x178 = _mulx_u32(x154, 0xffffffff, &x179);
- { uint32_t x182; uint32_t x181 = _mulx_u32(x154, 0xfffffffe, &x182);
- { uint32_t x185; uint32_t x184 = _mulx_u32(x154, 0xffffffff, &x185);
- { uint32_t x188; uint32_t x187 = _mulx_u32(x154, 0xffffffff, &x188);
- { uint32_t x191; uint32_t x190 = _mulx_u32(x154, 0xffffffff, &x191);
- { uint32_t x193; uint8_t x194 = _addcarryx_u32(0x0, x176, x178, &x193);
- { uint32_t x196; uint8_t x197 = _addcarryx_u32(x194, x179, x181, &x196);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(x197, x182, x184, &x199);
- { uint32_t x202; uint8_t x203 = _addcarryx_u32(x200, x185, x187, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(x203, x188, x190, &x205);
- { uint32_t x208; uint8_t _ = _addcarryx_u32(0x0, x206, x191, &x208);
- { uint32_t _; uint8_t x212 = _addcarryx_u32(0x0, x154, x175, &_);
- { uint32_t x214; uint8_t x215 = _addcarryx_u32(x212, x157, x193, &x214);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(x215, x160, x196, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x163, x199, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x166, x202, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x169, x205, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x172, x208, &x229);
- { uint8_t x231 = (x230 + x173);
- { uint32_t x234; uint32_t x233 = _mulx_u32(x9, x15, &x234);
- { uint32_t x237; uint32_t x236 = _mulx_u32(x9, x17, &x237);
- { uint32_t x240; uint32_t x239 = _mulx_u32(x9, x19, &x240);
- { uint32_t x243; uint32_t x242 = _mulx_u32(x9, x21, &x243);
- { uint32_t x246; uint32_t x245 = _mulx_u32(x9, x23, &x246);
- { uint32_t x249; uint32_t x248 = _mulx_u32(x9, x22, &x249);
- { uint32_t x251; uint8_t x252 = _addcarryx_u32(0x0, x234, x236, &x251);
- { uint32_t x254; uint8_t x255 = _addcarryx_u32(x252, x237, x239, &x254);
- { uint32_t x257; uint8_t x258 = _addcarryx_u32(x255, x240, x242, &x257);
- { uint32_t x260; uint8_t x261 = _addcarryx_u32(x258, x243, x245, &x260);
- { uint32_t x263; uint8_t x264 = _addcarryx_u32(x261, x246, x248, &x263);
- { uint32_t x266; uint8_t _ = _addcarryx_u32(0x0, x264, x249, &x266);
- { uint32_t x269; uint8_t x270 = _addcarryx_u32(0x0, x214, x233, &x269);
- { uint32_t x272; uint8_t x273 = _addcarryx_u32(x270, x217, x251, &x272);
- { uint32_t x275; uint8_t x276 = _addcarryx_u32(x273, x220, x254, &x275);
- { uint32_t x278; uint8_t x279 = _addcarryx_u32(x276, x223, x257, &x278);
- { uint32_t x281; uint8_t x282 = _addcarryx_u32(x279, x226, x260, &x281);
- { uint32_t x284; uint8_t x285 = _addcarryx_u32(x282, x229, x263, &x284);
- { uint32_t x287; uint8_t x288 = _addcarryx_u32(x285, x231, x266, &x287);
- { uint32_t x291; uint32_t x290 = _mulx_u32(x269, 0xffffffff, &x291);
- { uint32_t x294; uint32_t x293 = _mulx_u32(x269, 0xffffffff, &x294);
- { uint32_t x297; uint32_t x296 = _mulx_u32(x269, 0xfffffffe, &x297);
- { uint32_t x300; uint32_t x299 = _mulx_u32(x269, 0xffffffff, &x300);
- { uint32_t x303; uint32_t x302 = _mulx_u32(x269, 0xffffffff, &x303);
- { uint32_t x306; uint32_t x305 = _mulx_u32(x269, 0xffffffff, &x306);
- { uint32_t x308; uint8_t x309 = _addcarryx_u32(0x0, x291, x293, &x308);
- { uint32_t x311; uint8_t x312 = _addcarryx_u32(x309, x294, x296, &x311);
- { uint32_t x314; uint8_t x315 = _addcarryx_u32(x312, x297, x299, &x314);
- { uint32_t x317; uint8_t x318 = _addcarryx_u32(x315, x300, x302, &x317);
- { uint32_t x320; uint8_t x321 = _addcarryx_u32(x318, x303, x305, &x320);
- { uint32_t x323; uint8_t _ = _addcarryx_u32(0x0, x321, x306, &x323);
- { uint32_t _; uint8_t x327 = _addcarryx_u32(0x0, x269, x290, &_);
- { uint32_t x329; uint8_t x330 = _addcarryx_u32(x327, x272, x308, &x329);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(x330, x275, x311, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x278, x314, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x281, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x284, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x287, x323, &x344);
- { uint8_t x346 = (x345 + x288);
- { uint32_t x349; uint32_t x348 = _mulx_u32(x11, x15, &x349);
- { uint32_t x352; uint32_t x351 = _mulx_u32(x11, x17, &x352);
- { uint32_t x355; uint32_t x354 = _mulx_u32(x11, x19, &x355);
- { uint32_t x358; uint32_t x357 = _mulx_u32(x11, x21, &x358);
- { uint32_t x361; uint32_t x360 = _mulx_u32(x11, x23, &x361);
- { uint32_t x364; uint32_t x363 = _mulx_u32(x11, x22, &x364);
- { uint32_t x366; uint8_t x367 = _addcarryx_u32(0x0, x349, x351, &x366);
- { uint32_t x369; uint8_t x370 = _addcarryx_u32(x367, x352, x354, &x369);
- { uint32_t x372; uint8_t x373 = _addcarryx_u32(x370, x355, x357, &x372);
- { uint32_t x375; uint8_t x376 = _addcarryx_u32(x373, x358, x360, &x375);
- { uint32_t x378; uint8_t x379 = _addcarryx_u32(x376, x361, x363, &x378);
- { uint32_t x381; uint8_t _ = _addcarryx_u32(0x0, x379, x364, &x381);
- { uint32_t x384; uint8_t x385 = _addcarryx_u32(0x0, x329, x348, &x384);
- { uint32_t x387; uint8_t x388 = _addcarryx_u32(x385, x332, x366, &x387);
- { uint32_t x390; uint8_t x391 = _addcarryx_u32(x388, x335, x369, &x390);
- { uint32_t x393; uint8_t x394 = _addcarryx_u32(x391, x338, x372, &x393);
- { uint32_t x396; uint8_t x397 = _addcarryx_u32(x394, x341, x375, &x396);
- { uint32_t x399; uint8_t x400 = _addcarryx_u32(x397, x344, x378, &x399);
- { uint32_t x402; uint8_t x403 = _addcarryx_u32(x400, x346, x381, &x402);
- { uint32_t x406; uint32_t x405 = _mulx_u32(x384, 0xffffffff, &x406);
- { uint32_t x409; uint32_t x408 = _mulx_u32(x384, 0xffffffff, &x409);
- { uint32_t x412; uint32_t x411 = _mulx_u32(x384, 0xfffffffe, &x412);
- { uint32_t x415; uint32_t x414 = _mulx_u32(x384, 0xffffffff, &x415);
- { uint32_t x418; uint32_t x417 = _mulx_u32(x384, 0xffffffff, &x418);
- { uint32_t x421; uint32_t x420 = _mulx_u32(x384, 0xffffffff, &x421);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(0x0, x406, x408, &x423);
- { uint32_t x426; uint8_t x427 = _addcarryx_u32(x424, x409, x411, &x426);
- { uint32_t x429; uint8_t x430 = _addcarryx_u32(x427, x412, x414, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(x430, x415, x417, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x418, x420, &x435);
- { uint32_t x438; uint8_t _ = _addcarryx_u32(0x0, x436, x421, &x438);
- { uint32_t _; uint8_t x442 = _addcarryx_u32(0x0, x384, x405, &_);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x387, x423, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x390, x426, &x447);
- { uint32_t x450; uint8_t x451 = _addcarryx_u32(x448, x393, x429, &x450);
- { uint32_t x453; uint8_t x454 = _addcarryx_u32(x451, x396, x432, &x453);
- { uint32_t x456; uint8_t x457 = _addcarryx_u32(x454, x399, x435, &x456);
- { uint32_t x459; uint8_t x460 = _addcarryx_u32(x457, x402, x438, &x459);
- { uint8_t x461 = (x460 + x403);
- { uint32_t x464; uint32_t x463 = _mulx_u32(x13, x15, &x464);
- { uint32_t x467; uint32_t x466 = _mulx_u32(x13, x17, &x467);
- { uint32_t x470; uint32_t x469 = _mulx_u32(x13, x19, &x470);
- { uint32_t x473; uint32_t x472 = _mulx_u32(x13, x21, &x473);
- { uint32_t x476; uint32_t x475 = _mulx_u32(x13, x23, &x476);
- { uint32_t x479; uint32_t x478 = _mulx_u32(x13, x22, &x479);
- { uint32_t x481; uint8_t x482 = _addcarryx_u32(0x0, x464, x466, &x481);
- { uint32_t x484; uint8_t x485 = _addcarryx_u32(x482, x467, x469, &x484);
- { uint32_t x487; uint8_t x488 = _addcarryx_u32(x485, x470, x472, &x487);
- { uint32_t x490; uint8_t x491 = _addcarryx_u32(x488, x473, x475, &x490);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(x491, x476, x478, &x493);
- { uint32_t x496; uint8_t _ = _addcarryx_u32(0x0, x494, x479, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(0x0, x444, x463, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x447, x481, &x502);
- { uint32_t x505; uint8_t x506 = _addcarryx_u32(x503, x450, x484, &x505);
- { uint32_t x508; uint8_t x509 = _addcarryx_u32(x506, x453, x487, &x508);
- { uint32_t x511; uint8_t x512 = _addcarryx_u32(x509, x456, x490, &x511);
- { uint32_t x514; uint8_t x515 = _addcarryx_u32(x512, x459, x493, &x514);
- { uint32_t x517; uint8_t x518 = _addcarryx_u32(x515, x461, x496, &x517);
- { uint32_t x521; uint32_t x520 = _mulx_u32(x499, 0xffffffff, &x521);
- { uint32_t x524; uint32_t x523 = _mulx_u32(x499, 0xffffffff, &x524);
- { uint32_t x527; uint32_t x526 = _mulx_u32(x499, 0xfffffffe, &x527);
- { uint32_t x530; uint32_t x529 = _mulx_u32(x499, 0xffffffff, &x530);
- { uint32_t x533; uint32_t x532 = _mulx_u32(x499, 0xffffffff, &x533);
- { uint32_t x536; uint32_t x535 = _mulx_u32(x499, 0xffffffff, &x536);
- { uint32_t x538; uint8_t x539 = _addcarryx_u32(0x0, x521, x523, &x538);
- { uint32_t x541; uint8_t x542 = _addcarryx_u32(x539, x524, x526, &x541);
- { uint32_t x544; uint8_t x545 = _addcarryx_u32(x542, x527, x529, &x544);
- { uint32_t x547; uint8_t x548 = _addcarryx_u32(x545, x530, x532, &x547);
- { uint32_t x550; uint8_t x551 = _addcarryx_u32(x548, x533, x535, &x550);
- { uint32_t x553; uint8_t _ = _addcarryx_u32(0x0, x551, x536, &x553);
- { uint32_t _; uint8_t x557 = _addcarryx_u32(0x0, x499, x520, &_);
- { uint32_t x559; uint8_t x560 = _addcarryx_u32(x557, x502, x538, &x559);
- { uint32_t x562; uint8_t x563 = _addcarryx_u32(x560, x505, x541, &x562);
- { uint32_t x565; uint8_t x566 = _addcarryx_u32(x563, x508, x544, &x565);
- { uint32_t x568; uint8_t x569 = _addcarryx_u32(x566, x511, x547, &x568);
- { uint32_t x571; uint8_t x572 = _addcarryx_u32(x569, x514, x550, &x571);
- { uint32_t x574; uint8_t x575 = _addcarryx_u32(x572, x517, x553, &x574);
- { uint8_t x576 = (x575 + x518);
- { uint32_t x579; uint32_t x578 = _mulx_u32(x12, x15, &x579);
- { uint32_t x582; uint32_t x581 = _mulx_u32(x12, x17, &x582);
- { uint32_t x585; uint32_t x584 = _mulx_u32(x12, x19, &x585);
- { uint32_t x588; uint32_t x587 = _mulx_u32(x12, x21, &x588);
- { uint32_t x591; uint32_t x590 = _mulx_u32(x12, x23, &x591);
- { uint32_t x594; uint32_t x593 = _mulx_u32(x12, x22, &x594);
- { uint32_t x596; uint8_t x597 = _addcarryx_u32(0x0, x579, x581, &x596);
- { uint32_t x599; uint8_t x600 = _addcarryx_u32(x597, x582, x584, &x599);
- { uint32_t x602; uint8_t x603 = _addcarryx_u32(x600, x585, x587, &x602);
- { uint32_t x605; uint8_t x606 = _addcarryx_u32(x603, x588, x590, &x605);
- { uint32_t x608; uint8_t x609 = _addcarryx_u32(x606, x591, x593, &x608);
- { uint32_t x611; uint8_t _ = _addcarryx_u32(0x0, x609, x594, &x611);
- { uint32_t x614; uint8_t x615 = _addcarryx_u32(0x0, x559, x578, &x614);
- { uint32_t x617; uint8_t x618 = _addcarryx_u32(x615, x562, x596, &x617);
- { uint32_t x620; uint8_t x621 = _addcarryx_u32(x618, x565, x599, &x620);
- { uint32_t x623; uint8_t x624 = _addcarryx_u32(x621, x568, x602, &x623);
- { uint32_t x626; uint8_t x627 = _addcarryx_u32(x624, x571, x605, &x626);
- { uint32_t x629; uint8_t x630 = _addcarryx_u32(x627, x574, x608, &x629);
- { uint32_t x632; uint8_t x633 = _addcarryx_u32(x630, x576, x611, &x632);
- { uint32_t x636; uint32_t x635 = _mulx_u32(x614, 0xffffffff, &x636);
- { uint32_t x639; uint32_t x638 = _mulx_u32(x614, 0xffffffff, &x639);
- { uint32_t x642; uint32_t x641 = _mulx_u32(x614, 0xfffffffe, &x642);
- { uint32_t x645; uint32_t x644 = _mulx_u32(x614, 0xffffffff, &x645);
- { uint32_t x648; uint32_t x647 = _mulx_u32(x614, 0xffffffff, &x648);
- { uint32_t x651; uint32_t x650 = _mulx_u32(x614, 0xffffffff, &x651);
- { uint32_t x653; uint8_t x654 = _addcarryx_u32(0x0, x636, x638, &x653);
- { uint32_t x656; uint8_t x657 = _addcarryx_u32(x654, x639, x641, &x656);
- { uint32_t x659; uint8_t x660 = _addcarryx_u32(x657, x642, x644, &x659);
- { uint32_t x662; uint8_t x663 = _addcarryx_u32(x660, x645, x647, &x662);
- { uint32_t x665; uint8_t x666 = _addcarryx_u32(x663, x648, x650, &x665);
- { uint32_t x668; uint8_t _ = _addcarryx_u32(0x0, x666, x651, &x668);
- { uint32_t _; uint8_t x672 = _addcarryx_u32(0x0, x614, x635, &_);
- { uint32_t x674; uint8_t x675 = _addcarryx_u32(x672, x617, x653, &x674);
- { uint32_t x677; uint8_t x678 = _addcarryx_u32(x675, x620, x656, &x677);
- { uint32_t x680; uint8_t x681 = _addcarryx_u32(x678, x623, x659, &x680);
- { uint32_t x683; uint8_t x684 = _addcarryx_u32(x681, x626, x662, &x683);
- { uint32_t x686; uint8_t x687 = _addcarryx_u32(x684, x629, x665, &x686);
- { uint32_t x689; uint8_t x690 = _addcarryx_u32(x687, x632, x668, &x689);
- { uint8_t x691 = (x690 + x633);
- { uint32_t x693; uint8_t x694 = _subborrow_u32(0x0, x674, 0xffffffff, &x693);
- { uint32_t x696; uint8_t x697 = _subborrow_u32(x694, x677, 0xffffffff, &x696);
- { uint32_t x699; uint8_t x700 = _subborrow_u32(x697, x680, 0xfffffffe, &x699);
- { uint32_t x702; uint8_t x703 = _subborrow_u32(x700, x683, 0xffffffff, &x702);
- { uint32_t x705; uint8_t x706 = _subborrow_u32(x703, x686, 0xffffffff, &x705);
- { uint32_t x708; uint8_t x709 = _subborrow_u32(x706, x689, 0xffffffff, &x708);
- { uint32_t _; uint8_t x712 = _subborrow_u32(x709, x691, 0x0, &_);
- { uint32_t x713 = cmovznz32(x712, x708, x689);
- { uint32_t x714 = cmovznz32(x712, x705, x686);
- { uint32_t x715 = cmovznz32(x712, x702, x683);
- { uint32_t x716 = cmovznz32(x712, x699, x680);
- { uint32_t x717 = cmovznz32(x712, x696, x677);
- { uint32_t x718 = cmovznz32(x712, x693, x674);
- out[0] = x718;
- out[1] = x717;
- out[2] = x716;
- out[3] = x715;
- out[4] = x714;
- out[5] = x713;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.v
deleted file mode 100644
index fa7d9599c..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.log b/src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.log
deleted file mode 100644
index 8af983b0d..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,246 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint32_t x26 = mulx_u32(x5, x15);
- uint32_t x28, uint32_t x29 = mulx_u32(x5, x17);
- uint32_t x31, uint32_t x32 = mulx_u32(x5, x19);
- uint32_t x34, uint32_t x35 = mulx_u32(x5, x21);
- uint32_t x37, uint32_t x38 = mulx_u32(x5, x23);
- uint32_t x40, uint32_t x41 = mulx_u32(x5, x22);
- uint32_t x43, uint8_t x44 = addcarryx_u32(0x0, x26, x28);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x29, x31);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x32, x34);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x35, x37);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x38, x40);
- uint32_t x58, uint8_t _ = addcarryx_u32(0x0, x56, x41);
- uint32_t x61, uint32_t x62 = mulx_u32(x25, 0xffffffff);
- uint32_t x64, uint32_t x65 = mulx_u32(x25, 0xffffffff);
- uint32_t x67, uint32_t x68 = mulx_u32(x25, 0xfffffffe);
- uint32_t x70, uint32_t x71 = mulx_u32(x25, 0xffffffff);
- uint32_t x73, uint32_t x74 = mulx_u32(x25, 0xffffffff);
- uint32_t x76, uint32_t x77 = mulx_u32(x25, 0xffffffff);
- uint32_t x79, uint8_t x80 = addcarryx_u32(0x0, x62, x64);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x65, x67);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x68, x70);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x71, x73);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x74, x76);
- uint32_t x94, uint8_t _ = addcarryx_u32(0x0, x92, x77);
- uint32_t _, uint8_t x98 = addcarryx_u32(0x0, x25, x61);
- uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x43, x79);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x46, x82);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x49, x85);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x52, x88);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x55, x91);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x58, x94);
- uint32_t x118, uint32_t x119 = mulx_u32(x7, x15);
- uint32_t x121, uint32_t x122 = mulx_u32(x7, x17);
- uint32_t x124, uint32_t x125 = mulx_u32(x7, x19);
- uint32_t x127, uint32_t x128 = mulx_u32(x7, x21);
- uint32_t x130, uint32_t x131 = mulx_u32(x7, x23);
- uint32_t x133, uint32_t x134 = mulx_u32(x7, x22);
- uint32_t x136, uint8_t x137 = addcarryx_u32(0x0, x119, x121);
- uint32_t x139, uint8_t x140 = addcarryx_u32(x137, x122, x124);
- uint32_t x142, uint8_t x143 = addcarryx_u32(x140, x125, x127);
- uint32_t x145, uint8_t x146 = addcarryx_u32(x143, x128, x130);
- uint32_t x148, uint8_t x149 = addcarryx_u32(x146, x131, x133);
- uint32_t x151, uint8_t _ = addcarryx_u32(0x0, x149, x134);
- uint32_t x154, uint8_t x155 = addcarryx_u32(0x0, x100, x118);
- uint32_t x157, uint8_t x158 = addcarryx_u32(x155, x103, x136);
- uint32_t x160, uint8_t x161 = addcarryx_u32(x158, x106, x139);
- uint32_t x163, uint8_t x164 = addcarryx_u32(x161, x109, x142);
- uint32_t x166, uint8_t x167 = addcarryx_u32(x164, x112, x145);
- uint32_t x169, uint8_t x170 = addcarryx_u32(x167, x115, x148);
- uint32_t x172, uint8_t x173 = addcarryx_u32(x170, x116, x151);
- uint32_t x175, uint32_t x176 = mulx_u32(x154, 0xffffffff);
- uint32_t x178, uint32_t x179 = mulx_u32(x154, 0xffffffff);
- uint32_t x181, uint32_t x182 = mulx_u32(x154, 0xfffffffe);
- uint32_t x184, uint32_t x185 = mulx_u32(x154, 0xffffffff);
- uint32_t x187, uint32_t x188 = mulx_u32(x154, 0xffffffff);
- uint32_t x190, uint32_t x191 = mulx_u32(x154, 0xffffffff);
- uint32_t x193, uint8_t x194 = addcarryx_u32(0x0, x176, x178);
- uint32_t x196, uint8_t x197 = addcarryx_u32(x194, x179, x181);
- uint32_t x199, uint8_t x200 = addcarryx_u32(x197, x182, x184);
- uint32_t x202, uint8_t x203 = addcarryx_u32(x200, x185, x187);
- uint32_t x205, uint8_t x206 = addcarryx_u32(x203, x188, x190);
- uint32_t x208, uint8_t _ = addcarryx_u32(0x0, x206, x191);
- uint32_t _, uint8_t x212 = addcarryx_u32(0x0, x154, x175);
- uint32_t x214, uint8_t x215 = addcarryx_u32(x212, x157, x193);
- uint32_t x217, uint8_t x218 = addcarryx_u32(x215, x160, x196);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x163, x199);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x166, x202);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x169, x205);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x172, x208);
- uint8_t x231 = (x230 + x173);
- uint32_t x233, uint32_t x234 = mulx_u32(x9, x15);
- uint32_t x236, uint32_t x237 = mulx_u32(x9, x17);
- uint32_t x239, uint32_t x240 = mulx_u32(x9, x19);
- uint32_t x242, uint32_t x243 = mulx_u32(x9, x21);
- uint32_t x245, uint32_t x246 = mulx_u32(x9, x23);
- uint32_t x248, uint32_t x249 = mulx_u32(x9, x22);
- uint32_t x251, uint8_t x252 = addcarryx_u32(0x0, x234, x236);
- uint32_t x254, uint8_t x255 = addcarryx_u32(x252, x237, x239);
- uint32_t x257, uint8_t x258 = addcarryx_u32(x255, x240, x242);
- uint32_t x260, uint8_t x261 = addcarryx_u32(x258, x243, x245);
- uint32_t x263, uint8_t x264 = addcarryx_u32(x261, x246, x248);
- uint32_t x266, uint8_t _ = addcarryx_u32(0x0, x264, x249);
- uint32_t x269, uint8_t x270 = addcarryx_u32(0x0, x214, x233);
- uint32_t x272, uint8_t x273 = addcarryx_u32(x270, x217, x251);
- uint32_t x275, uint8_t x276 = addcarryx_u32(x273, x220, x254);
- uint32_t x278, uint8_t x279 = addcarryx_u32(x276, x223, x257);
- uint32_t x281, uint8_t x282 = addcarryx_u32(x279, x226, x260);
- uint32_t x284, uint8_t x285 = addcarryx_u32(x282, x229, x263);
- uint32_t x287, uint8_t x288 = addcarryx_u32(x285, x231, x266);
- uint32_t x290, uint32_t x291 = mulx_u32(x269, 0xffffffff);
- uint32_t x293, uint32_t x294 = mulx_u32(x269, 0xffffffff);
- uint32_t x296, uint32_t x297 = mulx_u32(x269, 0xfffffffe);
- uint32_t x299, uint32_t x300 = mulx_u32(x269, 0xffffffff);
- uint32_t x302, uint32_t x303 = mulx_u32(x269, 0xffffffff);
- uint32_t x305, uint32_t x306 = mulx_u32(x269, 0xffffffff);
- uint32_t x308, uint8_t x309 = addcarryx_u32(0x0, x291, x293);
- uint32_t x311, uint8_t x312 = addcarryx_u32(x309, x294, x296);
- uint32_t x314, uint8_t x315 = addcarryx_u32(x312, x297, x299);
- uint32_t x317, uint8_t x318 = addcarryx_u32(x315, x300, x302);
- uint32_t x320, uint8_t x321 = addcarryx_u32(x318, x303, x305);
- uint32_t x323, uint8_t _ = addcarryx_u32(0x0, x321, x306);
- uint32_t _, uint8_t x327 = addcarryx_u32(0x0, x269, x290);
- uint32_t x329, uint8_t x330 = addcarryx_u32(x327, x272, x308);
- uint32_t x332, uint8_t x333 = addcarryx_u32(x330, x275, x311);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x278, x314);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x281, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x284, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x287, x323);
- uint8_t x346 = (x345 + x288);
- uint32_t x348, uint32_t x349 = mulx_u32(x11, x15);
- uint32_t x351, uint32_t x352 = mulx_u32(x11, x17);
- uint32_t x354, uint32_t x355 = mulx_u32(x11, x19);
- uint32_t x357, uint32_t x358 = mulx_u32(x11, x21);
- uint32_t x360, uint32_t x361 = mulx_u32(x11, x23);
- uint32_t x363, uint32_t x364 = mulx_u32(x11, x22);
- uint32_t x366, uint8_t x367 = addcarryx_u32(0x0, x349, x351);
- uint32_t x369, uint8_t x370 = addcarryx_u32(x367, x352, x354);
- uint32_t x372, uint8_t x373 = addcarryx_u32(x370, x355, x357);
- uint32_t x375, uint8_t x376 = addcarryx_u32(x373, x358, x360);
- uint32_t x378, uint8_t x379 = addcarryx_u32(x376, x361, x363);
- uint32_t x381, uint8_t _ = addcarryx_u32(0x0, x379, x364);
- uint32_t x384, uint8_t x385 = addcarryx_u32(0x0, x329, x348);
- uint32_t x387, uint8_t x388 = addcarryx_u32(x385, x332, x366);
- uint32_t x390, uint8_t x391 = addcarryx_u32(x388, x335, x369);
- uint32_t x393, uint8_t x394 = addcarryx_u32(x391, x338, x372);
- uint32_t x396, uint8_t x397 = addcarryx_u32(x394, x341, x375);
- uint32_t x399, uint8_t x400 = addcarryx_u32(x397, x344, x378);
- uint32_t x402, uint8_t x403 = addcarryx_u32(x400, x346, x381);
- uint32_t x405, uint32_t x406 = mulx_u32(x384, 0xffffffff);
- uint32_t x408, uint32_t x409 = mulx_u32(x384, 0xffffffff);
- uint32_t x411, uint32_t x412 = mulx_u32(x384, 0xfffffffe);
- uint32_t x414, uint32_t x415 = mulx_u32(x384, 0xffffffff);
- uint32_t x417, uint32_t x418 = mulx_u32(x384, 0xffffffff);
- uint32_t x420, uint32_t x421 = mulx_u32(x384, 0xffffffff);
- uint32_t x423, uint8_t x424 = addcarryx_u32(0x0, x406, x408);
- uint32_t x426, uint8_t x427 = addcarryx_u32(x424, x409, x411);
- uint32_t x429, uint8_t x430 = addcarryx_u32(x427, x412, x414);
- uint32_t x432, uint8_t x433 = addcarryx_u32(x430, x415, x417);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x418, x420);
- uint32_t x438, uint8_t _ = addcarryx_u32(0x0, x436, x421);
- uint32_t _, uint8_t x442 = addcarryx_u32(0x0, x384, x405);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x387, x423);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x390, x426);
- uint32_t x450, uint8_t x451 = addcarryx_u32(x448, x393, x429);
- uint32_t x453, uint8_t x454 = addcarryx_u32(x451, x396, x432);
- uint32_t x456, uint8_t x457 = addcarryx_u32(x454, x399, x435);
- uint32_t x459, uint8_t x460 = addcarryx_u32(x457, x402, x438);
- uint8_t x461 = (x460 + x403);
- uint32_t x463, uint32_t x464 = mulx_u32(x13, x15);
- uint32_t x466, uint32_t x467 = mulx_u32(x13, x17);
- uint32_t x469, uint32_t x470 = mulx_u32(x13, x19);
- uint32_t x472, uint32_t x473 = mulx_u32(x13, x21);
- uint32_t x475, uint32_t x476 = mulx_u32(x13, x23);
- uint32_t x478, uint32_t x479 = mulx_u32(x13, x22);
- uint32_t x481, uint8_t x482 = addcarryx_u32(0x0, x464, x466);
- uint32_t x484, uint8_t x485 = addcarryx_u32(x482, x467, x469);
- uint32_t x487, uint8_t x488 = addcarryx_u32(x485, x470, x472);
- uint32_t x490, uint8_t x491 = addcarryx_u32(x488, x473, x475);
- uint32_t x493, uint8_t x494 = addcarryx_u32(x491, x476, x478);
- uint32_t x496, uint8_t _ = addcarryx_u32(0x0, x494, x479);
- uint32_t x499, uint8_t x500 = addcarryx_u32(0x0, x444, x463);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x447, x481);
- uint32_t x505, uint8_t x506 = addcarryx_u32(x503, x450, x484);
- uint32_t x508, uint8_t x509 = addcarryx_u32(x506, x453, x487);
- uint32_t x511, uint8_t x512 = addcarryx_u32(x509, x456, x490);
- uint32_t x514, uint8_t x515 = addcarryx_u32(x512, x459, x493);
- uint32_t x517, uint8_t x518 = addcarryx_u32(x515, x461, x496);
- uint32_t x520, uint32_t x521 = mulx_u32(x499, 0xffffffff);
- uint32_t x523, uint32_t x524 = mulx_u32(x499, 0xffffffff);
- uint32_t x526, uint32_t x527 = mulx_u32(x499, 0xfffffffe);
- uint32_t x529, uint32_t x530 = mulx_u32(x499, 0xffffffff);
- uint32_t x532, uint32_t x533 = mulx_u32(x499, 0xffffffff);
- uint32_t x535, uint32_t x536 = mulx_u32(x499, 0xffffffff);
- uint32_t x538, uint8_t x539 = addcarryx_u32(0x0, x521, x523);
- uint32_t x541, uint8_t x542 = addcarryx_u32(x539, x524, x526);
- uint32_t x544, uint8_t x545 = addcarryx_u32(x542, x527, x529);
- uint32_t x547, uint8_t x548 = addcarryx_u32(x545, x530, x532);
- uint32_t x550, uint8_t x551 = addcarryx_u32(x548, x533, x535);
- uint32_t x553, uint8_t _ = addcarryx_u32(0x0, x551, x536);
- uint32_t _, uint8_t x557 = addcarryx_u32(0x0, x499, x520);
- uint32_t x559, uint8_t x560 = addcarryx_u32(x557, x502, x538);
- uint32_t x562, uint8_t x563 = addcarryx_u32(x560, x505, x541);
- uint32_t x565, uint8_t x566 = addcarryx_u32(x563, x508, x544);
- uint32_t x568, uint8_t x569 = addcarryx_u32(x566, x511, x547);
- uint32_t x571, uint8_t x572 = addcarryx_u32(x569, x514, x550);
- uint32_t x574, uint8_t x575 = addcarryx_u32(x572, x517, x553);
- uint8_t x576 = (x575 + x518);
- uint32_t x578, uint32_t x579 = mulx_u32(x12, x15);
- uint32_t x581, uint32_t x582 = mulx_u32(x12, x17);
- uint32_t x584, uint32_t x585 = mulx_u32(x12, x19);
- uint32_t x587, uint32_t x588 = mulx_u32(x12, x21);
- uint32_t x590, uint32_t x591 = mulx_u32(x12, x23);
- uint32_t x593, uint32_t x594 = mulx_u32(x12, x22);
- uint32_t x596, uint8_t x597 = addcarryx_u32(0x0, x579, x581);
- uint32_t x599, uint8_t x600 = addcarryx_u32(x597, x582, x584);
- uint32_t x602, uint8_t x603 = addcarryx_u32(x600, x585, x587);
- uint32_t x605, uint8_t x606 = addcarryx_u32(x603, x588, x590);
- uint32_t x608, uint8_t x609 = addcarryx_u32(x606, x591, x593);
- uint32_t x611, uint8_t _ = addcarryx_u32(0x0, x609, x594);
- uint32_t x614, uint8_t x615 = addcarryx_u32(0x0, x559, x578);
- uint32_t x617, uint8_t x618 = addcarryx_u32(x615, x562, x596);
- uint32_t x620, uint8_t x621 = addcarryx_u32(x618, x565, x599);
- uint32_t x623, uint8_t x624 = addcarryx_u32(x621, x568, x602);
- uint32_t x626, uint8_t x627 = addcarryx_u32(x624, x571, x605);
- uint32_t x629, uint8_t x630 = addcarryx_u32(x627, x574, x608);
- uint32_t x632, uint8_t x633 = addcarryx_u32(x630, x576, x611);
- uint32_t x635, uint32_t x636 = mulx_u32(x614, 0xffffffff);
- uint32_t x638, uint32_t x639 = mulx_u32(x614, 0xffffffff);
- uint32_t x641, uint32_t x642 = mulx_u32(x614, 0xfffffffe);
- uint32_t x644, uint32_t x645 = mulx_u32(x614, 0xffffffff);
- uint32_t x647, uint32_t x648 = mulx_u32(x614, 0xffffffff);
- uint32_t x650, uint32_t x651 = mulx_u32(x614, 0xffffffff);
- uint32_t x653, uint8_t x654 = addcarryx_u32(0x0, x636, x638);
- uint32_t x656, uint8_t x657 = addcarryx_u32(x654, x639, x641);
- uint32_t x659, uint8_t x660 = addcarryx_u32(x657, x642, x644);
- uint32_t x662, uint8_t x663 = addcarryx_u32(x660, x645, x647);
- uint32_t x665, uint8_t x666 = addcarryx_u32(x663, x648, x650);
- uint32_t x668, uint8_t _ = addcarryx_u32(0x0, x666, x651);
- uint32_t _, uint8_t x672 = addcarryx_u32(0x0, x614, x635);
- uint32_t x674, uint8_t x675 = addcarryx_u32(x672, x617, x653);
- uint32_t x677, uint8_t x678 = addcarryx_u32(x675, x620, x656);
- uint32_t x680, uint8_t x681 = addcarryx_u32(x678, x623, x659);
- uint32_t x683, uint8_t x684 = addcarryx_u32(x681, x626, x662);
- uint32_t x686, uint8_t x687 = addcarryx_u32(x684, x629, x665);
- uint32_t x689, uint8_t x690 = addcarryx_u32(x687, x632, x668);
- uint8_t x691 = (x690 + x633);
- uint32_t x693, uint8_t x694 = subborrow_u32(0x0, x674, 0xffffffff);
- uint32_t x696, uint8_t x697 = subborrow_u32(x694, x677, 0xffffffff);
- uint32_t x699, uint8_t x700 = subborrow_u32(x697, x680, 0xfffffffe);
- uint32_t x702, uint8_t x703 = subborrow_u32(x700, x683, 0xffffffff);
- uint32_t x705, uint8_t x706 = subborrow_u32(x703, x686, 0xffffffff);
- uint32_t x708, uint8_t x709 = subborrow_u32(x706, x689, 0xffffffff);
- uint32_t _, uint8_t x712 = subborrow_u32(x709, x691, 0x0);
- uint32_t x713 = cmovznz32(x712, x708, x689);
- uint32_t x714 = cmovznz32(x712, x705, x686);
- uint32_t x715 = cmovznz32(x712, x702, x683);
- uint32_t x716 = cmovznz32(x712, x699, x680);
- uint32_t x717 = cmovznz32(x712, x696, x677);
- uint32_t x718 = cmovznz32(x712, x693, x674);
- return (x713, x714, x715, x716, x717, x718))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.v
deleted file mode 100644
index 48c89ae88..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.c
deleted file mode 100644
index 2e0454af1..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (x10 | x9);
- { uint32_t x12 = (x8 | x11);
- { uint32_t x13 = (x6 | x12);
- { uint32_t x14 = (x4 | x13);
- { uint32_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.v
deleted file mode 100644
index cd2517cd1..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.log b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.log
deleted file mode 100644
index 616138b7b..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x11 = (x10 | x9);
- uint32_t x12 = (x8 | x11);
- uint32_t x13 = (x6 | x12);
- uint32_t x14 = (x4 | x13);
- uint32_t x15 = (x2 | x14);
- return x15)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.v
deleted file mode 100644
index 7c73aecbf..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.c
deleted file mode 100644
index 9e9f82dca..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12; uint8_t x13 = _subborrow_u32(0x0, 0x0, x2, &x12);
- { uint32_t x15; uint8_t x16 = _subborrow_u32(x13, 0x0, x4, &x15);
- { uint32_t x18; uint8_t x19 = _subborrow_u32(x16, 0x0, x6, &x18);
- { uint32_t x21; uint8_t x22 = _subborrow_u32(x19, 0x0, x8, &x21);
- { uint32_t x24; uint8_t x25 = _subborrow_u32(x22, 0x0, x10, &x24);
- { uint32_t x27; uint8_t x28 = _subborrow_u32(x25, 0x0, x9, &x27);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffff);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(0x0, x12, x30, &x32);
- { uint32_t x34 = (x29 & 0xffffffff);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x33, x15, x34, &x36);
- { uint32_t x38 = (x29 & 0xfffffffe);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x37, x18, x38, &x40);
- { uint32_t x42 = (x29 & 0xffffffff);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x41, x21, x42, &x44);
- { uint32_t x46 = (x29 & 0xffffffff);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x45, x24, x46, &x48);
- { uint32_t x50 = (x29 & 0xffffffff);
- { uint32_t x52; uint8_t _ = _addcarryx_u32(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.v
deleted file mode 100644
index 35594e490..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.log b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.log
deleted file mode 100644
index e937846f9..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x15, uint8_t x16 = subborrow_u32(x13, 0x0, x4);
- uint32_t x18, uint8_t x19 = subborrow_u32(x16, 0x0, x6);
- uint32_t x21, uint8_t x22 = subborrow_u32(x19, 0x0, x8);
- uint32_t x24, uint8_t x25 = subborrow_u32(x22, 0x0, x10);
- uint32_t x27, uint8_t x28 = subborrow_u32(x25, 0x0, x9);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffff);
- uint32_t x32, uint8_t x33 = addcarryx_u32(0x0, x12, x30);
- uint32_t x34 = (x29 & 0xffffffff);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x33, x15, x34);
- uint32_t x38 = (x29 & 0xfffffffe);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x37, x18, x38);
- uint32_t x42 = (x29 & 0xffffffff);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x41, x21, x42);
- uint32_t x46 = (x29 & 0xffffffff);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x45, x24, x46);
- uint32_t x50 = (x29 & 0xffffffff);
- uint32_t x52, uint8_t _ = addcarryx_u32(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.v
deleted file mode 100644
index a55a5e5c5..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.c
deleted file mode 100644
index 5c0d60043..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint32_t x25; uint8_t x26 = _subborrow_u32(0x0, x5, x15, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, x7, x17, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, x9, x19, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, x11, x21, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, x13, x23, &x37);
- { uint32_t x40; uint8_t x41 = _subborrow_u32(x38, x12, x22, &x40);
- { uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- { uint32_t x43 = (x42 & 0xffffffff);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x25, x43, &x45);
- { uint32_t x47 = (x42 & 0xffffffff);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x46, x28, x47, &x49);
- { uint32_t x51 = (x42 & 0xfffffffe);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x50, x31, x51, &x53);
- { uint32_t x55 = (x42 & 0xffffffff);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x54, x34, x55, &x57);
- { uint32_t x59 = (x42 & 0xffffffff);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x58, x37, x59, &x61);
- { uint32_t x63 = (x42 & 0xffffffff);
- { uint32_t x65; uint8_t _ = _addcarryx_u32(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.v
deleted file mode 100644
index 0efb3f48c..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.log b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.log
deleted file mode 100644
index ec794c27f..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint32_t x25, uint8_t x26 = subborrow_u32(0x0, x5, x15);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, x7, x17);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, x9, x19);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, x11, x21);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, x13, x23);
- uint32_t x40, uint8_t x41 = subborrow_u32(x38, x12, x22);
- uint32_t x42 = cmovznz32(x41, 0x0, 0xffffffff);
- uint32_t x43 = (x42 & 0xffffffff);
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x25, x43);
- uint32_t x47 = (x42 & 0xffffffff);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x46, x28, x47);
- uint32_t x51 = (x42 & 0xfffffffe);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x50, x31, x51);
- uint32_t x55 = (x42 & 0xffffffff);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x54, x34, x55);
- uint32_t x59 = (x42 & 0xffffffff);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x58, x37, x59);
- uint32_t x63 = (x42 & 0xffffffff);
- uint32_t x65, uint8_t _ = addcarryx_u32(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.v b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.v
deleted file mode 100644
index 077f2abdc..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e192m2e64m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/py_interpreter.sh b/src/Specific/montgomery32_2e192m2e64m1_6limbs/py_interpreter.sh
deleted file mode 100755
index 9d29d1b0a..000000000
--- a/src/Specific/montgomery32_2e192m2e64m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**192 - 2**64 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e194m33_7limbs/CurveParameters.v
deleted file mode 100644
index f0ea8cc22..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^194 - 33
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^194;
- c := [(1, 33)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e194m33_7limbs/Synthesis.v b/src/Specific/montgomery32_2e194m33_7limbs/Synthesis.v
deleted file mode 100644
index 4217255fc..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.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/montgomery32_2e194m33_7limbs/compiler.sh b/src/Specific/montgomery32_2e194m33_7limbs/compiler.sh
deleted file mode 100755
index ab5acc8bb..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e194m33_7limbs/compilerxx.sh
deleted file mode 100755
index 1e2bec543..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/feadd.c b/src/Specific/montgomery32_2e194m33_7limbs/feadd.c
deleted file mode 100644
index ba45079f7..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffffdf, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x3, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/feadd.v b/src/Specific/montgomery32_2e194m33_7limbs/feadd.v
deleted file mode 100644
index 3fd1c6163..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.log
deleted file mode 100644
index c217451c3..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffdf);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x3);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.v
deleted file mode 100644
index 24139f59f..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/femul.v b/src/Specific/montgomery32_2e194m33_7limbs/femul.v
deleted file mode 100644
index 61bc3205e..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e194m33_7limbs/femulDisplay.v
deleted file mode 100644
index 8a5f86f05..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fenz.c b/src/Specific/montgomery32_2e194m33_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fenz.v b/src/Specific/montgomery32_2e194m33_7limbs/fenz.v
deleted file mode 100644
index 6173c1322..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.v
deleted file mode 100644
index 36b2f4bd2..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/feopp.v b/src/Specific/montgomery32_2e194m33_7limbs/feopp.v
deleted file mode 100644
index cfdbf7abc..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e194m33_7limbs/feoppDisplay.v
deleted file mode 100644
index bbfac206f..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fesquare.c b/src/Specific/montgomery32_2e194m33_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fesub.v b/src/Specific/montgomery32_2e194m33_7limbs/fesub.v
deleted file mode 100644
index eacc6245e..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e194m33_7limbs/fesubDisplay.v
deleted file mode 100644
index 9efd45280..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e194m33_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e194m33_7limbs/py_interpreter.sh
deleted file mode 100755
index 19760a7c4..000000000
--- a/src/Specific/montgomery32_2e194m33_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**194 - 33' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e196m15_7limbs/CurveParameters.v
deleted file mode 100644
index be8378ba9..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^196 - 15
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^196;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e196m15_7limbs/Synthesis.v b/src/Specific/montgomery32_2e196m15_7limbs/Synthesis.v
deleted file mode 100644
index b50b59900..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.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/montgomery32_2e196m15_7limbs/compiler.sh b/src/Specific/montgomery32_2e196m15_7limbs/compiler.sh
deleted file mode 100755
index d116e6a1f..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e196m15_7limbs/compilerxx.sh
deleted file mode 100755
index a230753d5..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/feadd.c b/src/Specific/montgomery32_2e196m15_7limbs/feadd.c
deleted file mode 100644
index 3fe2c20c9..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xfffffff1, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0xf, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/feadd.v b/src/Specific/montgomery32_2e196m15_7limbs/feadd.v
deleted file mode 100644
index 7d6e10aa3..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.log
deleted file mode 100644
index 9398047fb..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xfffffff1);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0xf);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.v
deleted file mode 100644
index ccb561d37..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/femul.v b/src/Specific/montgomery32_2e196m15_7limbs/femul.v
deleted file mode 100644
index dc6bb44ab..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e196m15_7limbs/femulDisplay.v
deleted file mode 100644
index 9d359aed8..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fenz.c b/src/Specific/montgomery32_2e196m15_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fenz.v b/src/Specific/montgomery32_2e196m15_7limbs/fenz.v
deleted file mode 100644
index c31b8e427..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.v
deleted file mode 100644
index 5836b0c61..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/feopp.v b/src/Specific/montgomery32_2e196m15_7limbs/feopp.v
deleted file mode 100644
index a44c60a6c..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e196m15_7limbs/feoppDisplay.v
deleted file mode 100644
index 660cf5399..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fesquare.c b/src/Specific/montgomery32_2e196m15_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fesub.v b/src/Specific/montgomery32_2e196m15_7limbs/fesub.v
deleted file mode 100644
index 87e4aa893..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e196m15_7limbs/fesubDisplay.v
deleted file mode 100644
index 442dd63b4..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e196m15_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e196m15_7limbs/py_interpreter.sh
deleted file mode 100755
index 1ed1c0b70..000000000
--- a/src/Specific/montgomery32_2e196m15_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**196 - 15' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e198m17_7limbs/CurveParameters.v
deleted file mode 100644
index 18f056404..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^198 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^198;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e198m17_7limbs/Synthesis.v b/src/Specific/montgomery32_2e198m17_7limbs/Synthesis.v
deleted file mode 100644
index 82d2c10f4..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.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/montgomery32_2e198m17_7limbs/compiler.sh b/src/Specific/montgomery32_2e198m17_7limbs/compiler.sh
deleted file mode 100755
index cc8a57a00..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e198m17_7limbs/compilerxx.sh
deleted file mode 100755
index 33705d0e4..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/feadd.c b/src/Specific/montgomery32_2e198m17_7limbs/feadd.c
deleted file mode 100644
index 89081d51b..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffffef, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x3f, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/feadd.v b/src/Specific/montgomery32_2e198m17_7limbs/feadd.v
deleted file mode 100644
index efb274337..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.log
deleted file mode 100644
index 5d5529301..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffef);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x3f);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.v
deleted file mode 100644
index 4f439f46d..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/femul.v b/src/Specific/montgomery32_2e198m17_7limbs/femul.v
deleted file mode 100644
index 674f32cbd..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e198m17_7limbs/femulDisplay.v
deleted file mode 100644
index 37973475b..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fenz.c b/src/Specific/montgomery32_2e198m17_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fenz.v b/src/Specific/montgomery32_2e198m17_7limbs/fenz.v
deleted file mode 100644
index c0bbad68e..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.v
deleted file mode 100644
index 98f33ecd7..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/feopp.v b/src/Specific/montgomery32_2e198m17_7limbs/feopp.v
deleted file mode 100644
index 95f7cc564..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e198m17_7limbs/feoppDisplay.v
deleted file mode 100644
index c30d38d85..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fesquare.c b/src/Specific/montgomery32_2e198m17_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fesub.v b/src/Specific/montgomery32_2e198m17_7limbs/fesub.v
deleted file mode 100644
index c51b616e8..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e198m17_7limbs/fesubDisplay.v
deleted file mode 100644
index 42d58f836..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e198m17_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e198m17_7limbs/py_interpreter.sh
deleted file mode 100755
index 46ee6ade2..000000000
--- a/src/Specific/montgomery32_2e198m17_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**198 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/CurveParameters.v
deleted file mode 100644
index d3ff2f8a7..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^205 - 45*2^198 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^205;
- c := [(1, 1); (45, 2^198)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e205m45x2e198m1_7limbs/Synthesis.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/Synthesis.v
deleted file mode 100644
index 3cb786103..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.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/montgomery32_2e205m45x2e198m1_7limbs/compiler.sh b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/compiler.sh
deleted file mode 100755
index 51b8fe280..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/compilerxx.sh
deleted file mode 100755
index df70d7763..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.c b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.c
deleted file mode 100644
index b879f8a35..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffffff, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x14bf, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.v
deleted file mode 100644
index 10194686a..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.log
deleted file mode 100644
index c0d73efa6..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffff);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x14bf);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.v
deleted file mode 100644
index a632bd4a9..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femul.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femul.v
deleted file mode 100644
index 18bdd83ea..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femulDisplay.v
deleted file mode 100644
index 217d15e03..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.c b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.v
deleted file mode 100644
index ea84cae2d..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.v
deleted file mode 100644
index 682489513..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feopp.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feopp.v
deleted file mode 100644
index 5ede6a556..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feoppDisplay.v
deleted file mode 100644
index 0f9925540..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesub.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesub.v
deleted file mode 100644
index 329fb334f..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesubDisplay.v
deleted file mode 100644
index b248e8969..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e205m45x2e198m1_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/py_interpreter.sh
deleted file mode 100755
index 3649864ca..000000000
--- a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**205 - 45*2**198 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e206m5_7limbs/CurveParameters.v
deleted file mode 100644
index 8b51bfd39..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^206 - 5
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^206;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e206m5_7limbs/Synthesis.v b/src/Specific/montgomery32_2e206m5_7limbs/Synthesis.v
deleted file mode 100644
index 9b3bc72e2..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.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/montgomery32_2e206m5_7limbs/compiler.sh b/src/Specific/montgomery32_2e206m5_7limbs/compiler.sh
deleted file mode 100755
index 0677a4808..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e206m5_7limbs/compilerxx.sh
deleted file mode 100755
index edac6347c..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/feadd.c b/src/Specific/montgomery32_2e206m5_7limbs/feadd.c
deleted file mode 100644
index e6acc71b8..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xfffffffb, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x3fff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/feadd.v b/src/Specific/montgomery32_2e206m5_7limbs/feadd.v
deleted file mode 100644
index 6434293e2..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.log
deleted file mode 100644
index f74236c7a..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xfffffffb);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x3fff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.v
deleted file mode 100644
index b0ca4d037..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/femul.v b/src/Specific/montgomery32_2e206m5_7limbs/femul.v
deleted file mode 100644
index 23e7cb039..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e206m5_7limbs/femulDisplay.v
deleted file mode 100644
index 9d6840ec4..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fenz.c b/src/Specific/montgomery32_2e206m5_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fenz.v b/src/Specific/montgomery32_2e206m5_7limbs/fenz.v
deleted file mode 100644
index 9a0255e2a..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.v
deleted file mode 100644
index a864da122..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/feopp.v b/src/Specific/montgomery32_2e206m5_7limbs/feopp.v
deleted file mode 100644
index 5355aeeec..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e206m5_7limbs/feoppDisplay.v
deleted file mode 100644
index 32d119bdd..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fesquare.c b/src/Specific/montgomery32_2e206m5_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fesub.v b/src/Specific/montgomery32_2e206m5_7limbs/fesub.v
deleted file mode 100644
index a06e68b74..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e206m5_7limbs/fesubDisplay.v
deleted file mode 100644
index 781532864..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e206m5_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e206m5_7limbs/py_interpreter.sh
deleted file mode 100755
index 8bf66ae1a..000000000
--- a/src/Specific/montgomery32_2e206m5_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**206 - 5' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e212m29_7limbs/CurveParameters.v
deleted file mode 100644
index eb3018b24..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^212 - 29
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^212;
- c := [(1, 29)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e212m29_7limbs/Synthesis.v b/src/Specific/montgomery32_2e212m29_7limbs/Synthesis.v
deleted file mode 100644
index 5b0134559..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.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/montgomery32_2e212m29_7limbs/compiler.sh b/src/Specific/montgomery32_2e212m29_7limbs/compiler.sh
deleted file mode 100755
index e20e5ca02..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e212m29_7limbs/compilerxx.sh
deleted file mode 100755
index c96cbc7ec..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/feadd.c b/src/Specific/montgomery32_2e212m29_7limbs/feadd.c
deleted file mode 100644
index c075f0e44..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffffe3, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0xfffff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/feadd.v b/src/Specific/montgomery32_2e212m29_7limbs/feadd.v
deleted file mode 100644
index c0fe6e713..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.log
deleted file mode 100644
index 4eb882853..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffe3);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0xfffff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.v
deleted file mode 100644
index ca99d3b8b..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/femul.v b/src/Specific/montgomery32_2e212m29_7limbs/femul.v
deleted file mode 100644
index b2d3355b8..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e212m29_7limbs/femulDisplay.v
deleted file mode 100644
index c6e997070..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fenz.c b/src/Specific/montgomery32_2e212m29_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fenz.v b/src/Specific/montgomery32_2e212m29_7limbs/fenz.v
deleted file mode 100644
index 95c840bb2..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.v
deleted file mode 100644
index 037e5db94..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/feopp.v b/src/Specific/montgomery32_2e212m29_7limbs/feopp.v
deleted file mode 100644
index 50ff0a780..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e212m29_7limbs/feoppDisplay.v
deleted file mode 100644
index 3624d5d16..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fesquare.c b/src/Specific/montgomery32_2e212m29_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fesub.v b/src/Specific/montgomery32_2e212m29_7limbs/fesub.v
deleted file mode 100644
index 320cc3d68..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e212m29_7limbs/fesubDisplay.v
deleted file mode 100644
index 1012d51d3..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e212m29_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e212m29_7limbs/py_interpreter.sh
deleted file mode 100755
index 765d27254..000000000
--- a/src/Specific/montgomery32_2e212m29_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**212 - 29' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e213m3_7limbs/CurveParameters.v
deleted file mode 100644
index b54fe904f..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^213 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^213;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e213m3_7limbs/Synthesis.v b/src/Specific/montgomery32_2e213m3_7limbs/Synthesis.v
deleted file mode 100644
index 212edbed6..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.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/montgomery32_2e213m3_7limbs/compiler.sh b/src/Specific/montgomery32_2e213m3_7limbs/compiler.sh
deleted file mode 100755
index 87522275e..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e213m3_7limbs/compilerxx.sh
deleted file mode 100755
index 15a710d3f..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/feadd.c b/src/Specific/montgomery32_2e213m3_7limbs/feadd.c
deleted file mode 100644
index 240511a98..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xfffffffd, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x1fffff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/feadd.v b/src/Specific/montgomery32_2e213m3_7limbs/feadd.v
deleted file mode 100644
index 7f27d21a1..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.log
deleted file mode 100644
index 1410fe6af..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xfffffffd);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x1fffff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.v
deleted file mode 100644
index 1265fb97b..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/femul.v b/src/Specific/montgomery32_2e213m3_7limbs/femul.v
deleted file mode 100644
index bbe02230f..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e213m3_7limbs/femulDisplay.v
deleted file mode 100644
index 33fb2c01e..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fenz.c b/src/Specific/montgomery32_2e213m3_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fenz.v b/src/Specific/montgomery32_2e213m3_7limbs/fenz.v
deleted file mode 100644
index 607e2f7f6..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.v
deleted file mode 100644
index 338b01d76..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/feopp.v b/src/Specific/montgomery32_2e213m3_7limbs/feopp.v
deleted file mode 100644
index f9988be5b..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e213m3_7limbs/feoppDisplay.v
deleted file mode 100644
index cfd020301..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fesquare.c b/src/Specific/montgomery32_2e213m3_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fesub.v b/src/Specific/montgomery32_2e213m3_7limbs/fesub.v
deleted file mode 100644
index 4704a8254..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e213m3_7limbs/fesubDisplay.v
deleted file mode 100644
index f1f14e2b6..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e213m3_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e213m3_7limbs/py_interpreter.sh
deleted file mode 100755
index a5e8679c5..000000000
--- a/src/Specific/montgomery32_2e213m3_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**213 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/CurveParameters.v
deleted file mode 100644
index aac012bf0..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^216 - 2^108 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^216;
- c := [(1, 1); (2^108, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e216m2e108m1_7limbs/Synthesis.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/Synthesis.v
deleted file mode 100644
index 2cd5c636b..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.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/montgomery32_2e216m2e108m1_7limbs/compiler.sh b/src/Specific/montgomery32_2e216m2e108m1_7limbs/compiler.sh
deleted file mode 100755
index 2fa1f2f7d..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e216m2e108m1_7limbs/compilerxx.sh
deleted file mode 100755
index 57d710a55..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.c b/src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.c
deleted file mode 100644
index 7ddb08291..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffffff, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffefff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0xffffff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.v
deleted file mode 100644
index 964bc85ce..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.log
deleted file mode 100644
index 8dd5626ae..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffffff);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffefff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0xffffff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.v
deleted file mode 100644
index 5bbd74cbe..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/femul.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/femul.v
deleted file mode 100644
index 3a0da14ae..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/femulDisplay.v
deleted file mode 100644
index f9ca0157f..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.c b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.v
deleted file mode 100644
index 3dd34901b..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.v
deleted file mode 100644
index a54e3a6bb..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feopp.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/feopp.v
deleted file mode 100644
index d2387b0ec..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/feoppDisplay.v
deleted file mode 100644
index 0cf1976b5..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesub.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesub.v
deleted file mode 100644
index 69af6b8b0..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesubDisplay.v
deleted file mode 100644
index 4ffd5ff16..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e216m2e108m1_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e216m2e108m1_7limbs/py_interpreter.sh
deleted file mode 100755
index 344ee243b..000000000
--- a/src/Specific/montgomery32_2e216m2e108m1_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**216 - 2**108 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e221m3_7limbs/CurveParameters.v
deleted file mode 100644
index 433140906..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^221 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^221;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e221m3_7limbs/Synthesis.v b/src/Specific/montgomery32_2e221m3_7limbs/Synthesis.v
deleted file mode 100644
index 8e0463490..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.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/montgomery32_2e221m3_7limbs/compiler.sh b/src/Specific/montgomery32_2e221m3_7limbs/compiler.sh
deleted file mode 100755
index 377abb3f0..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e221m3_7limbs/compilerxx.sh
deleted file mode 100755
index 108f5bfe3..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/feadd.c b/src/Specific/montgomery32_2e221m3_7limbs/feadd.c
deleted file mode 100644
index abe3c2d31..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xfffffffd, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x1fffffff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/feadd.v b/src/Specific/montgomery32_2e221m3_7limbs/feadd.v
deleted file mode 100644
index 42ea21a41..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.log
deleted file mode 100644
index 9586e9d0b..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xfffffffd);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x1fffffff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.v
deleted file mode 100644
index ae294b64f..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/femul.v b/src/Specific/montgomery32_2e221m3_7limbs/femul.v
deleted file mode 100644
index 5330ee2ad..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e221m3_7limbs/femulDisplay.v
deleted file mode 100644
index 8f37f08f4..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fenz.c b/src/Specific/montgomery32_2e221m3_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fenz.v b/src/Specific/montgomery32_2e221m3_7limbs/fenz.v
deleted file mode 100644
index e5ebd6e56..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.v
deleted file mode 100644
index 263da955d..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/feopp.v b/src/Specific/montgomery32_2e221m3_7limbs/feopp.v
deleted file mode 100644
index 64a1af2ad..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e221m3_7limbs/feoppDisplay.v
deleted file mode 100644
index 2e30d7af3..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fesquare.c b/src/Specific/montgomery32_2e221m3_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fesub.v b/src/Specific/montgomery32_2e221m3_7limbs/fesub.v
deleted file mode 100644
index 0938af09d..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e221m3_7limbs/fesubDisplay.v
deleted file mode 100644
index 966fae95a..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e221m3_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e221m3_7limbs/py_interpreter.sh
deleted file mode 100755
index fb06eaaa5..000000000
--- a/src/Specific/montgomery32_2e221m3_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**221 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v
deleted file mode 100644
index fdfdf452e..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^222 - 117
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^222;
- c := [(1, 117)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e222m117_7limbs/Synthesis.v b/src/Specific/montgomery32_2e222m117_7limbs/Synthesis.v
deleted file mode 100644
index 395113bd9..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.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/montgomery32_2e222m117_7limbs/compiler.sh b/src/Specific/montgomery32_2e222m117_7limbs/compiler.sh
deleted file mode 100755
index 11acff1e4..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e222m117_7limbs/compilerxx.sh
deleted file mode 100755
index 1dc8fd0f2..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/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='{32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feadd.c b/src/Specific/montgomery32_2e222m117_7limbs/feadd.c
deleted file mode 100644
index b687807e2..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0xffffff8b, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0xffffffff, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0xffffffff, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0x3fffffff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feadd.v b/src/Specific/montgomery32_2e222m117_7limbs/feadd.v
deleted file mode 100644
index 2e16f156d..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.log
deleted file mode 100644
index 42c686f39..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0xffffff8b);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0xffffffff);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0xffffffff);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0x3fffffff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v
deleted file mode 100644
index 96e40d62b..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/femul.v b/src/Specific/montgomery32_2e222m117_7limbs/femul.v
deleted file mode 100644
index 83cc67c29..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v
deleted file mode 100644
index e50d33416..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenz.c b/src/Specific/montgomery32_2e222m117_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenz.v b/src/Specific/montgomery32_2e222m117_7limbs/fenz.v
deleted file mode 100644
index 52897c98e..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v
deleted file mode 100644
index 5938d7ab9..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feopp.v b/src/Specific/montgomery32_2e222m117_7limbs/feopp.v
deleted file mode 100644
index 31c54f100..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v
deleted file mode 100644
index e51b7e893..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c b/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fesub.v b/src/Specific/montgomery32_2e222m117_7limbs/fesub.v
deleted file mode 100644
index 24410b11b..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v
deleted file mode 100644
index c099e31ef..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e222m117_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh
deleted file mode 100755
index db48f60b3..000000000
--- a/src/Specific/montgomery32_2e222m117_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/CurveParameters.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/CurveParameters.v
deleted file mode 100644
index 5777d34fe..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/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: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 32;
- bitwidth := 32;
- s := 2^224;
- c := [(1, -1); (2^96, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e224m2e96p1_7limbs/Synthesis.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/Synthesis.v
deleted file mode 100644
index 818e75983..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.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/montgomery32_2e224m2e96p1_7limbs/compiler.sh b/src/Specific/montgomery32_2e224m2e96p1_7limbs/compiler.sh
deleted file mode 100755
index c53957a89..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/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='{32,32,32,32,32,32,32}' -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='7' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/compilerxx.sh b/src/Specific/montgomery32_2e224m2e96p1_7limbs/compilerxx.sh
deleted file mode 100755
index 918088932..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/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='{32,32,32,32,32,32,32}' -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='7' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.c b/src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.c
deleted file mode 100644
index accfe4540..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint32_t x29; uint8_t x30 = _addcarryx_u32(0x0, x5, x17, &x29);
- { uint32_t x32; uint8_t x33 = _addcarryx_u32(x30, x7, x19, &x32);
- { uint32_t x35; uint8_t x36 = _addcarryx_u32(x33, x9, x21, &x35);
- { uint32_t x38; uint8_t x39 = _addcarryx_u32(x36, x11, x23, &x38);
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(x39, x13, x25, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x15, x27, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x14, x26, &x47);
- { uint32_t x50; uint8_t x51 = _subborrow_u32(0x0, x29, 0x1, &x50);
- { uint32_t x53; uint8_t x54 = _subborrow_u32(x51, x32, 0x0, &x53);
- { uint32_t x56; uint8_t x57 = _subborrow_u32(x54, x35, 0x0, &x56);
- { uint32_t x59; uint8_t x60 = _subborrow_u32(x57, x38, 0xffffffff, &x59);
- { uint32_t x62; uint8_t x63 = _subborrow_u32(x60, x41, 0xffffffff, &x62);
- { uint32_t x65; uint8_t x66 = _subborrow_u32(x63, x44, 0xffffffff, &x65);
- { uint32_t x68; uint8_t x69 = _subborrow_u32(x66, x47, 0xffffffff, &x68);
- { uint32_t _; uint8_t x72 = _subborrow_u32(x69, x48, 0x0, &_);
- { uint32_t x73 = cmovznz32(x72, x68, x47);
- { uint32_t x74 = cmovznz32(x72, x65, x44);
- { uint32_t x75 = cmovznz32(x72, x62, x41);
- { uint32_t x76 = cmovznz32(x72, x59, x38);
- { uint32_t x77 = cmovznz32(x72, x56, x35);
- { uint32_t x78 = cmovznz32(x72, x53, x32);
- { uint32_t x79 = cmovznz32(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.v
deleted file mode 100644
index b5f8d616e..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.log b/src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.log
deleted file mode 100644
index e35ab18d5..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint32_t x29, uint8_t x30 = addcarryx_u32(0x0, x5, x17);
- uint32_t x32, uint8_t x33 = addcarryx_u32(x30, x7, x19);
- uint32_t x35, uint8_t x36 = addcarryx_u32(x33, x9, x21);
- uint32_t x38, uint8_t x39 = addcarryx_u32(x36, x11, x23);
- uint32_t x41, uint8_t x42 = addcarryx_u32(x39, x13, x25);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x15, x27);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x14, x26);
- uint32_t x50, uint8_t x51 = subborrow_u32(0x0, x29, 0x1);
- uint32_t x53, uint8_t x54 = subborrow_u32(x51, x32, 0x0);
- uint32_t x56, uint8_t x57 = subborrow_u32(x54, x35, 0x0);
- uint32_t x59, uint8_t x60 = subborrow_u32(x57, x38, 0xffffffff);
- uint32_t x62, uint8_t x63 = subborrow_u32(x60, x41, 0xffffffff);
- uint32_t x65, uint8_t x66 = subborrow_u32(x63, x44, 0xffffffff);
- uint32_t x68, uint8_t x69 = subborrow_u32(x66, x47, 0xffffffff);
- uint32_t _, uint8_t x72 = subborrow_u32(x69, x48, 0x0);
- uint32_t x73 = cmovznz32(x72, x68, x47);
- uint32_t x74 = cmovznz32(x72, x65, x44);
- uint32_t x75 = cmovznz32(x72, x62, x41);
- uint32_t x76 = cmovznz32(x72, x59, x38);
- uint32_t x77 = cmovznz32(x72, x56, x35);
- uint32_t x78 = cmovznz32(x72, x53, x32);
- uint32_t x79 = cmovznz32(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.v
deleted file mode 100644
index cd95abdd5..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/femul.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/femul.v
deleted file mode 100644
index 1dbf704a0..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/femulDisplay.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/femulDisplay.v
deleted file mode 100644
index bba88e5c1..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.c b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.c
deleted file mode 100644
index 387dcfe67..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (x12 | x11);
- { uint32_t x14 = (x10 | x13);
- { uint32_t x15 = (x8 | x14);
- { uint32_t x16 = (x6 | x15);
- { uint32_t x17 = (x4 | x16);
- { uint32_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.v
deleted file mode 100644
index 455eca214..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.log b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.log
deleted file mode 100644
index 9685f89d7..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x13 = (x12 | x11);
- uint32_t x14 = (x10 | x13);
- uint32_t x15 = (x8 | x14);
- uint32_t x16 = (x6 | x15);
- uint32_t x17 = (x4 | x16);
- uint32_t x18 = (x2 | x17);
- return x18)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.v
deleted file mode 100644
index b703fdefb..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feopp.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/feopp.v
deleted file mode 100644
index d8e27ed3a..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feoppDisplay.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/feoppDisplay.v
deleted file mode 100644
index a00cc9448..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesub.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesub.v
deleted file mode 100644
index 5c0997f5d..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesubDisplay.v b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesubDisplay.v
deleted file mode 100644
index f8ea98b3d..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e224m2e96p1_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/py_interpreter.sh b/src/Specific/montgomery32_2e224m2e96p1_7limbs/py_interpreter.sh
deleted file mode 100755
index 9bbdf2022..000000000
--- a/src/Specific/montgomery32_2e224m2e96p1_7limbs/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='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e226m5_8limbs/CurveParameters.v
deleted file mode 100644
index d42852590..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^226 - 5
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^226;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e226m5_8limbs/Synthesis.v b/src/Specific/montgomery32_2e226m5_8limbs/Synthesis.v
deleted file mode 100644
index fac23b95f..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.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/montgomery32_2e226m5_8limbs/compiler.sh b/src/Specific/montgomery32_2e226m5_8limbs/compiler.sh
deleted file mode 100755
index 74803f86b..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e226m5_8limbs/compilerxx.sh
deleted file mode 100755
index 193556d2c..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/feadd.c b/src/Specific/montgomery32_2e226m5_8limbs/feadd.c
deleted file mode 100644
index e2743057b..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffffb, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x3, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/feadd.v b/src/Specific/montgomery32_2e226m5_8limbs/feadd.v
deleted file mode 100644
index c8b4db270..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.log
deleted file mode 100644
index 9b27bb47f..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffffb);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x3);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.v
deleted file mode 100644
index 16d13de8f..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/femul.v b/src/Specific/montgomery32_2e226m5_8limbs/femul.v
deleted file mode 100644
index c26fd6f50..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e226m5_8limbs/femulDisplay.v
deleted file mode 100644
index f69955c30..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fenz.c b/src/Specific/montgomery32_2e226m5_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fenz.v b/src/Specific/montgomery32_2e226m5_8limbs/fenz.v
deleted file mode 100644
index 5a6b10d50..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.v
deleted file mode 100644
index ed9968406..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/feopp.v b/src/Specific/montgomery32_2e226m5_8limbs/feopp.v
deleted file mode 100644
index cf12a1918..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e226m5_8limbs/feoppDisplay.v
deleted file mode 100644
index ff0575673..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fesquare.c b/src/Specific/montgomery32_2e226m5_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fesub.v b/src/Specific/montgomery32_2e226m5_8limbs/fesub.v
deleted file mode 100644
index dbc778d98..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e226m5_8limbs/fesubDisplay.v
deleted file mode 100644
index a1498690b..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e226m5_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e226m5_8limbs/py_interpreter.sh
deleted file mode 100755
index 37bc3bc38..000000000
--- a/src/Specific/montgomery32_2e226m5_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**226 - 5' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e230m27_8limbs/CurveParameters.v
deleted file mode 100644
index 180742861..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^230 - 27
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^230;
- c := [(1, 27)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e230m27_8limbs/Synthesis.v b/src/Specific/montgomery32_2e230m27_8limbs/Synthesis.v
deleted file mode 100644
index 773f9fe2c..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.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/montgomery32_2e230m27_8limbs/compiler.sh b/src/Specific/montgomery32_2e230m27_8limbs/compiler.sh
deleted file mode 100755
index eadd48b02..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e230m27_8limbs/compilerxx.sh
deleted file mode 100755
index 3d4a4edda..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/feadd.c b/src/Specific/montgomery32_2e230m27_8limbs/feadd.c
deleted file mode 100644
index 0b93efdbf..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xffffffe5, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x3f, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/feadd.v b/src/Specific/montgomery32_2e230m27_8limbs/feadd.v
deleted file mode 100644
index 491df52f6..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.log
deleted file mode 100644
index 3b3330e0d..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffe5);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x3f);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.v
deleted file mode 100644
index aabfdbfa7..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/femul.v b/src/Specific/montgomery32_2e230m27_8limbs/femul.v
deleted file mode 100644
index 7ed4d0f71..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e230m27_8limbs/femulDisplay.v
deleted file mode 100644
index c16dda340..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fenz.c b/src/Specific/montgomery32_2e230m27_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fenz.v b/src/Specific/montgomery32_2e230m27_8limbs/fenz.v
deleted file mode 100644
index bb5977cb4..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.v
deleted file mode 100644
index 874b4ad4e..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/feopp.v b/src/Specific/montgomery32_2e230m27_8limbs/feopp.v
deleted file mode 100644
index d39a90f69..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e230m27_8limbs/feoppDisplay.v
deleted file mode 100644
index 6805ac515..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fesquare.c b/src/Specific/montgomery32_2e230m27_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fesub.v b/src/Specific/montgomery32_2e230m27_8limbs/fesub.v
deleted file mode 100644
index bddcf4200..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e230m27_8limbs/fesubDisplay.v
deleted file mode 100644
index 244a8404d..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e230m27_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e230m27_8limbs/py_interpreter.sh
deleted file mode 100755
index fc71de448..000000000
--- a/src/Specific/montgomery32_2e230m27_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**230 - 27' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e235m15_8limbs/CurveParameters.v
deleted file mode 100644
index cc45478d6..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^235 - 15
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^235;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e235m15_8limbs/Synthesis.v b/src/Specific/montgomery32_2e235m15_8limbs/Synthesis.v
deleted file mode 100644
index 711deadf0..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.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/montgomery32_2e235m15_8limbs/compiler.sh b/src/Specific/montgomery32_2e235m15_8limbs/compiler.sh
deleted file mode 100755
index c82b15352..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e235m15_8limbs/compilerxx.sh
deleted file mode 100755
index e25ba1ce1..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/feadd.c b/src/Specific/montgomery32_2e235m15_8limbs/feadd.c
deleted file mode 100644
index a3c0c6920..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffff1, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x7ff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/feadd.v b/src/Specific/montgomery32_2e235m15_8limbs/feadd.v
deleted file mode 100644
index eb6866c08..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.log
deleted file mode 100644
index 85a026c3e..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffff1);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7ff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.v
deleted file mode 100644
index 09ff437fc..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/femul.v b/src/Specific/montgomery32_2e235m15_8limbs/femul.v
deleted file mode 100644
index 9217df293..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e235m15_8limbs/femulDisplay.v
deleted file mode 100644
index 921d3ccf7..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fenz.c b/src/Specific/montgomery32_2e235m15_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fenz.v b/src/Specific/montgomery32_2e235m15_8limbs/fenz.v
deleted file mode 100644
index 32ab22a05..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.v
deleted file mode 100644
index f4c24bb4f..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/feopp.v b/src/Specific/montgomery32_2e235m15_8limbs/feopp.v
deleted file mode 100644
index 5174b9612..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e235m15_8limbs/feoppDisplay.v
deleted file mode 100644
index 0b8c0b559..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fesquare.c b/src/Specific/montgomery32_2e235m15_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fesub.v b/src/Specific/montgomery32_2e235m15_8limbs/fesub.v
deleted file mode 100644
index 7153324d5..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e235m15_8limbs/fesubDisplay.v
deleted file mode 100644
index a4256cd61..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e235m15_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e235m15_8limbs/py_interpreter.sh
deleted file mode 100755
index 92a64740a..000000000
--- a/src/Specific/montgomery32_2e235m15_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**235 - 15' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e243m9_8limbs/CurveParameters.v
deleted file mode 100644
index f02ed60ce..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^243 - 9
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^243;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e243m9_8limbs/Synthesis.v b/src/Specific/montgomery32_2e243m9_8limbs/Synthesis.v
deleted file mode 100644
index 303cd67a1..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.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/montgomery32_2e243m9_8limbs/compiler.sh b/src/Specific/montgomery32_2e243m9_8limbs/compiler.sh
deleted file mode 100755
index 7164f4a9d..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e243m9_8limbs/compilerxx.sh
deleted file mode 100755
index 8bf821a2d..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/feadd.c b/src/Specific/montgomery32_2e243m9_8limbs/feadd.c
deleted file mode 100644
index f3ec8140b..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffff7, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x7ffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/feadd.v b/src/Specific/montgomery32_2e243m9_8limbs/feadd.v
deleted file mode 100644
index 661dbe85d..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.log
deleted file mode 100644
index 8c7f833ea..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffff7);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7ffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.v
deleted file mode 100644
index 0d66b61f8..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/femul.v b/src/Specific/montgomery32_2e243m9_8limbs/femul.v
deleted file mode 100644
index 1127bc605..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e243m9_8limbs/femulDisplay.v
deleted file mode 100644
index 5405e4733..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fenz.c b/src/Specific/montgomery32_2e243m9_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fenz.v b/src/Specific/montgomery32_2e243m9_8limbs/fenz.v
deleted file mode 100644
index 65c05a852..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.v
deleted file mode 100644
index 7c50cc807..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/feopp.v b/src/Specific/montgomery32_2e243m9_8limbs/feopp.v
deleted file mode 100644
index 3b764a52c..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e243m9_8limbs/feoppDisplay.v
deleted file mode 100644
index 90082915f..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fesquare.c b/src/Specific/montgomery32_2e243m9_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fesub.v b/src/Specific/montgomery32_2e243m9_8limbs/fesub.v
deleted file mode 100644
index afc4e2de0..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e243m9_8limbs/fesubDisplay.v
deleted file mode 100644
index ef6899b42..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e243m9_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e243m9_8limbs/py_interpreter.sh
deleted file mode 100755
index 9dbce4aab..000000000
--- a/src/Specific/montgomery32_2e243m9_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**243 - 9' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e251m9_8limbs/CurveParameters.v
deleted file mode 100644
index 243ea3437..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^251 - 9
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^251;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e251m9_8limbs/Synthesis.v b/src/Specific/montgomery32_2e251m9_8limbs/Synthesis.v
deleted file mode 100644
index a536b3faf..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.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/montgomery32_2e251m9_8limbs/compiler.sh b/src/Specific/montgomery32_2e251m9_8limbs/compiler.sh
deleted file mode 100755
index 3dafed688..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e251m9_8limbs/compilerxx.sh
deleted file mode 100755
index 9d0954277..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/feadd.c b/src/Specific/montgomery32_2e251m9_8limbs/feadd.c
deleted file mode 100644
index cfd21c577..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffff7, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x7ffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/feadd.v b/src/Specific/montgomery32_2e251m9_8limbs/feadd.v
deleted file mode 100644
index 4224af29c..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.log
deleted file mode 100644
index 34bfeae75..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffff7);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7ffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.v
deleted file mode 100644
index 5d404d4f5..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/femul.v b/src/Specific/montgomery32_2e251m9_8limbs/femul.v
deleted file mode 100644
index 7fa9b8680..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e251m9_8limbs/femulDisplay.v
deleted file mode 100644
index 98eac4c57..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fenz.c b/src/Specific/montgomery32_2e251m9_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fenz.v b/src/Specific/montgomery32_2e251m9_8limbs/fenz.v
deleted file mode 100644
index 4bea597b2..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.v
deleted file mode 100644
index b969646b5..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/feopp.v b/src/Specific/montgomery32_2e251m9_8limbs/feopp.v
deleted file mode 100644
index 82dd8f6fa..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e251m9_8limbs/feoppDisplay.v
deleted file mode 100644
index d772f7876..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fesquare.c b/src/Specific/montgomery32_2e251m9_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fesub.v b/src/Specific/montgomery32_2e251m9_8limbs/fesub.v
deleted file mode 100644
index 834961a30..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e251m9_8limbs/fesubDisplay.v
deleted file mode 100644
index 2cc26b6f2..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e251m9_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e251m9_8limbs/py_interpreter.sh
deleted file mode 100755
index 8da552b58..000000000
--- a/src/Specific/montgomery32_2e251m9_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**251 - 9' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/CurveParameters.v
deleted file mode 100644
index 04f2fa3e6..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^254 - 127*2^240 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^254;
- c := [(1, 1); (127, 2^240)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e254m127x2e240m1_8limbs/Synthesis.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/Synthesis.v
deleted file mode 100644
index eaacbfff5..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.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/montgomery32_2e254m127x2e240m1_8limbs/compiler.sh b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/compiler.sh
deleted file mode 100755
index 5f1f5bc74..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/compilerxx.sh
deleted file mode 100755
index 9400bbabb..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.c
deleted file mode 100644
index 6ffed3913..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xffffffff, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x3f80ffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.v
deleted file mode 100644
index 129a7fe58..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 846e6f58d..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffff);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x3f80ffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.v
deleted file mode 100644
index cbbf5781c..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.c
deleted file mode 100644
index deddfa1db..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.c
+++ /dev/null
@@ -1,443 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x19, &x34);
- { uint32_t x37; uint32_t x36 = _mulx_u32(x5, x21, &x37);
- { uint32_t x40; uint32_t x39 = _mulx_u32(x5, x23, &x40);
- { uint32_t x43; uint32_t x42 = _mulx_u32(x5, x25, &x43);
- { uint32_t x46; uint32_t x45 = _mulx_u32(x5, x27, &x46);
- { uint32_t x49; uint32_t x48 = _mulx_u32(x5, x29, &x49);
- { uint32_t x52; uint32_t x51 = _mulx_u32(x5, x31, &x52);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x5, x30, &x55);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(0x0, x34, x36, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x37, x39, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x40, x42, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x43, x45, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x46, x48, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x49, x51, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x52, x54, &x75);
- { uint32_t x78; uint8_t _ = _addcarryx_u32(0x0, x76, x55, &x78);
- { uint32_t x82; uint32_t x81 = _mulx_u32(x33, 0xffffffff, &x82);
- { uint32_t x85; uint32_t x84 = _mulx_u32(x33, 0xffffffff, &x85);
- { uint32_t x88; uint32_t x87 = _mulx_u32(x33, 0xffffffff, &x88);
- { uint32_t x91; uint32_t x90 = _mulx_u32(x33, 0xffffffff, &x91);
- { uint32_t x94; uint32_t x93 = _mulx_u32(x33, 0xffffffff, &x94);
- { uint32_t x97; uint32_t x96 = _mulx_u32(x33, 0xffffffff, &x97);
- { uint32_t x100; uint32_t x99 = _mulx_u32(x33, 0xffffffff, &x100);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x33, 0x3f80ffff, &x103);
- { uint32_t x105; uint8_t x106 = _addcarryx_u32(0x0, x82, x84, &x105);
- { uint32_t x108; uint8_t x109 = _addcarryx_u32(x106, x85, x87, &x108);
- { uint32_t x111; uint8_t x112 = _addcarryx_u32(x109, x88, x90, &x111);
- { uint32_t x114; uint8_t x115 = _addcarryx_u32(x112, x91, x93, &x114);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(x115, x94, x96, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x97, x99, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x100, x102, &x123);
- { uint32_t x126; uint8_t _ = _addcarryx_u32(0x0, x124, x103, &x126);
- { uint32_t _; uint8_t x130 = _addcarryx_u32(0x0, x33, x81, &_);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(x130, x57, x105, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x60, x108, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x63, x111, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x66, x114, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x69, x117, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x72, x120, &x147);
- { uint32_t x150; uint8_t x151 = _addcarryx_u32(x148, x75, x123, &x150);
- { uint32_t x153; uint8_t x154 = _addcarryx_u32(x151, x78, x126, &x153);
- { uint8_t x155 = (x154 + 0x0);
- { uint32_t x158; uint32_t x157 = _mulx_u32(x7, x19, &x158);
- { uint32_t x161; uint32_t x160 = _mulx_u32(x7, x21, &x161);
- { uint32_t x164; uint32_t x163 = _mulx_u32(x7, x23, &x164);
- { uint32_t x167; uint32_t x166 = _mulx_u32(x7, x25, &x167);
- { uint32_t x170; uint32_t x169 = _mulx_u32(x7, x27, &x170);
- { uint32_t x173; uint32_t x172 = _mulx_u32(x7, x29, &x173);
- { uint32_t x176; uint32_t x175 = _mulx_u32(x7, x31, &x176);
- { uint32_t x179; uint32_t x178 = _mulx_u32(x7, x30, &x179);
- { uint32_t x181; uint8_t x182 = _addcarryx_u32(0x0, x158, x160, &x181);
- { uint32_t x184; uint8_t x185 = _addcarryx_u32(x182, x161, x163, &x184);
- { uint32_t x187; uint8_t x188 = _addcarryx_u32(x185, x164, x166, &x187);
- { uint32_t x190; uint8_t x191 = _addcarryx_u32(x188, x167, x169, &x190);
- { uint32_t x193; uint8_t x194 = _addcarryx_u32(x191, x170, x172, &x193);
- { uint32_t x196; uint8_t x197 = _addcarryx_u32(x194, x173, x175, &x196);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(x197, x176, x178, &x199);
- { uint32_t x202; uint8_t _ = _addcarryx_u32(0x0, x200, x179, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(0x0, x132, x157, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x135, x181, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x138, x184, &x211);
- { uint32_t x214; uint8_t x215 = _addcarryx_u32(x212, x141, x187, &x214);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(x215, x144, x190, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x147, x193, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x150, x196, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x153, x199, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x155, x202, &x229);
- { uint32_t x233; uint32_t x232 = _mulx_u32(x205, 0xffffffff, &x233);
- { uint32_t x236; uint32_t x235 = _mulx_u32(x205, 0xffffffff, &x236);
- { uint32_t x239; uint32_t x238 = _mulx_u32(x205, 0xffffffff, &x239);
- { uint32_t x242; uint32_t x241 = _mulx_u32(x205, 0xffffffff, &x242);
- { uint32_t x245; uint32_t x244 = _mulx_u32(x205, 0xffffffff, &x245);
- { uint32_t x248; uint32_t x247 = _mulx_u32(x205, 0xffffffff, &x248);
- { uint32_t x251; uint32_t x250 = _mulx_u32(x205, 0xffffffff, &x251);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x205, 0x3f80ffff, &x254);
- { uint32_t x256; uint8_t x257 = _addcarryx_u32(0x0, x233, x235, &x256);
- { uint32_t x259; uint8_t x260 = _addcarryx_u32(x257, x236, x238, &x259);
- { uint32_t x262; uint8_t x263 = _addcarryx_u32(x260, x239, x241, &x262);
- { uint32_t x265; uint8_t x266 = _addcarryx_u32(x263, x242, x244, &x265);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(x266, x245, x247, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x248, x250, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x251, x253, &x274);
- { uint32_t x277; uint8_t _ = _addcarryx_u32(0x0, x275, x254, &x277);
- { uint32_t _; uint8_t x281 = _addcarryx_u32(0x0, x205, x232, &_);
- { uint32_t x283; uint8_t x284 = _addcarryx_u32(x281, x208, x256, &x283);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x211, x259, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x214, x262, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x217, x265, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x220, x268, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x223, x271, &x298);
- { uint32_t x301; uint8_t x302 = _addcarryx_u32(x299, x226, x274, &x301);
- { uint32_t x304; uint8_t x305 = _addcarryx_u32(x302, x229, x277, &x304);
- { uint8_t x306 = (x305 + x230);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x9, x19, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x9, x21, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x9, x23, &x315);
- { uint32_t x318; uint32_t x317 = _mulx_u32(x9, x25, &x318);
- { uint32_t x321; uint32_t x320 = _mulx_u32(x9, x27, &x321);
- { uint32_t x324; uint32_t x323 = _mulx_u32(x9, x29, &x324);
- { uint32_t x327; uint32_t x326 = _mulx_u32(x9, x31, &x327);
- { uint32_t x330; uint32_t x329 = _mulx_u32(x9, x30, &x330);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x309, x311, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x312, x314, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x315, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x318, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x321, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x324, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x327, x329, &x350);
- { uint32_t x353; uint8_t _ = _addcarryx_u32(0x0, x351, x330, &x353);
- { uint32_t x356; uint8_t x357 = _addcarryx_u32(0x0, x283, x308, &x356);
- { uint32_t x359; uint8_t x360 = _addcarryx_u32(x357, x286, x332, &x359);
- { uint32_t x362; uint8_t x363 = _addcarryx_u32(x360, x289, x335, &x362);
- { uint32_t x365; uint8_t x366 = _addcarryx_u32(x363, x292, x338, &x365);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(x366, x295, x341, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x298, x344, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x301, x347, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x304, x350, &x377);
- { uint32_t x380; uint8_t x381 = _addcarryx_u32(x378, x306, x353, &x380);
- { uint32_t x384; uint32_t x383 = _mulx_u32(x356, 0xffffffff, &x384);
- { uint32_t x387; uint32_t x386 = _mulx_u32(x356, 0xffffffff, &x387);
- { uint32_t x390; uint32_t x389 = _mulx_u32(x356, 0xffffffff, &x390);
- { uint32_t x393; uint32_t x392 = _mulx_u32(x356, 0xffffffff, &x393);
- { uint32_t x396; uint32_t x395 = _mulx_u32(x356, 0xffffffff, &x396);
- { uint32_t x399; uint32_t x398 = _mulx_u32(x356, 0xffffffff, &x399);
- { uint32_t x402; uint32_t x401 = _mulx_u32(x356, 0xffffffff, &x402);
- { uint32_t x405; uint32_t x404 = _mulx_u32(x356, 0x3f80ffff, &x405);
- { uint32_t x407; uint8_t x408 = _addcarryx_u32(0x0, x384, x386, &x407);
- { uint32_t x410; uint8_t x411 = _addcarryx_u32(x408, x387, x389, &x410);
- { uint32_t x413; uint8_t x414 = _addcarryx_u32(x411, x390, x392, &x413);
- { uint32_t x416; uint8_t x417 = _addcarryx_u32(x414, x393, x395, &x416);
- { uint32_t x419; uint8_t x420 = _addcarryx_u32(x417, x396, x398, &x419);
- { uint32_t x422; uint8_t x423 = _addcarryx_u32(x420, x399, x401, &x422);
- { uint32_t x425; uint8_t x426 = _addcarryx_u32(x423, x402, x404, &x425);
- { uint32_t x428; uint8_t _ = _addcarryx_u32(0x0, x426, x405, &x428);
- { uint32_t _; uint8_t x432 = _addcarryx_u32(0x0, x356, x383, &_);
- { uint32_t x434; uint8_t x435 = _addcarryx_u32(x432, x359, x407, &x434);
- { uint32_t x437; uint8_t x438 = _addcarryx_u32(x435, x362, x410, &x437);
- { uint32_t x440; uint8_t x441 = _addcarryx_u32(x438, x365, x413, &x440);
- { uint32_t x443; uint8_t x444 = _addcarryx_u32(x441, x368, x416, &x443);
- { uint32_t x446; uint8_t x447 = _addcarryx_u32(x444, x371, x419, &x446);
- { uint32_t x449; uint8_t x450 = _addcarryx_u32(x447, x374, x422, &x449);
- { uint32_t x452; uint8_t x453 = _addcarryx_u32(x450, x377, x425, &x452);
- { uint32_t x455; uint8_t x456 = _addcarryx_u32(x453, x380, x428, &x455);
- { uint8_t x457 = (x456 + x381);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x11, x19, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x11, x21, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x11, x23, &x466);
- { uint32_t x469; uint32_t x468 = _mulx_u32(x11, x25, &x469);
- { uint32_t x472; uint32_t x471 = _mulx_u32(x11, x27, &x472);
- { uint32_t x475; uint32_t x474 = _mulx_u32(x11, x29, &x475);
- { uint32_t x478; uint32_t x477 = _mulx_u32(x11, x31, &x478);
- { uint32_t x481; uint32_t x480 = _mulx_u32(x11, x30, &x481);
- { uint32_t x483; uint8_t x484 = _addcarryx_u32(0x0, x460, x462, &x483);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x463, x465, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x466, x468, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x469, x471, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x472, x474, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x475, x477, &x498);
- { uint32_t x501; uint8_t x502 = _addcarryx_u32(x499, x478, x480, &x501);
- { uint32_t x504; uint8_t _ = _addcarryx_u32(0x0, x502, x481, &x504);
- { uint32_t x507; uint8_t x508 = _addcarryx_u32(0x0, x434, x459, &x507);
- { uint32_t x510; uint8_t x511 = _addcarryx_u32(x508, x437, x483, &x510);
- { uint32_t x513; uint8_t x514 = _addcarryx_u32(x511, x440, x486, &x513);
- { uint32_t x516; uint8_t x517 = _addcarryx_u32(x514, x443, x489, &x516);
- { uint32_t x519; uint8_t x520 = _addcarryx_u32(x517, x446, x492, &x519);
- { uint32_t x522; uint8_t x523 = _addcarryx_u32(x520, x449, x495, &x522);
- { uint32_t x525; uint8_t x526 = _addcarryx_u32(x523, x452, x498, &x525);
- { uint32_t x528; uint8_t x529 = _addcarryx_u32(x526, x455, x501, &x528);
- { uint32_t x531; uint8_t x532 = _addcarryx_u32(x529, x457, x504, &x531);
- { uint32_t x535; uint32_t x534 = _mulx_u32(x507, 0xffffffff, &x535);
- { uint32_t x538; uint32_t x537 = _mulx_u32(x507, 0xffffffff, &x538);
- { uint32_t x541; uint32_t x540 = _mulx_u32(x507, 0xffffffff, &x541);
- { uint32_t x544; uint32_t x543 = _mulx_u32(x507, 0xffffffff, &x544);
- { uint32_t x547; uint32_t x546 = _mulx_u32(x507, 0xffffffff, &x547);
- { uint32_t x550; uint32_t x549 = _mulx_u32(x507, 0xffffffff, &x550);
- { uint32_t x553; uint32_t x552 = _mulx_u32(x507, 0xffffffff, &x553);
- { uint32_t x556; uint32_t x555 = _mulx_u32(x507, 0x3f80ffff, &x556);
- { uint32_t x558; uint8_t x559 = _addcarryx_u32(0x0, x535, x537, &x558);
- { uint32_t x561; uint8_t x562 = _addcarryx_u32(x559, x538, x540, &x561);
- { uint32_t x564; uint8_t x565 = _addcarryx_u32(x562, x541, x543, &x564);
- { uint32_t x567; uint8_t x568 = _addcarryx_u32(x565, x544, x546, &x567);
- { uint32_t x570; uint8_t x571 = _addcarryx_u32(x568, x547, x549, &x570);
- { uint32_t x573; uint8_t x574 = _addcarryx_u32(x571, x550, x552, &x573);
- { uint32_t x576; uint8_t x577 = _addcarryx_u32(x574, x553, x555, &x576);
- { uint32_t x579; uint8_t _ = _addcarryx_u32(0x0, x577, x556, &x579);
- { uint32_t _; uint8_t x583 = _addcarryx_u32(0x0, x507, x534, &_);
- { uint32_t x585; uint8_t x586 = _addcarryx_u32(x583, x510, x558, &x585);
- { uint32_t x588; uint8_t x589 = _addcarryx_u32(x586, x513, x561, &x588);
- { uint32_t x591; uint8_t x592 = _addcarryx_u32(x589, x516, x564, &x591);
- { uint32_t x594; uint8_t x595 = _addcarryx_u32(x592, x519, x567, &x594);
- { uint32_t x597; uint8_t x598 = _addcarryx_u32(x595, x522, x570, &x597);
- { uint32_t x600; uint8_t x601 = _addcarryx_u32(x598, x525, x573, &x600);
- { uint32_t x603; uint8_t x604 = _addcarryx_u32(x601, x528, x576, &x603);
- { uint32_t x606; uint8_t x607 = _addcarryx_u32(x604, x531, x579, &x606);
- { uint8_t x608 = (x607 + x532);
- { uint32_t x611; uint32_t x610 = _mulx_u32(x13, x19, &x611);
- { uint32_t x614; uint32_t x613 = _mulx_u32(x13, x21, &x614);
- { uint32_t x617; uint32_t x616 = _mulx_u32(x13, x23, &x617);
- { uint32_t x620; uint32_t x619 = _mulx_u32(x13, x25, &x620);
- { uint32_t x623; uint32_t x622 = _mulx_u32(x13, x27, &x623);
- { uint32_t x626; uint32_t x625 = _mulx_u32(x13, x29, &x626);
- { uint32_t x629; uint32_t x628 = _mulx_u32(x13, x31, &x629);
- { uint32_t x632; uint32_t x631 = _mulx_u32(x13, x30, &x632);
- { uint32_t x634; uint8_t x635 = _addcarryx_u32(0x0, x611, x613, &x634);
- { uint32_t x637; uint8_t x638 = _addcarryx_u32(x635, x614, x616, &x637);
- { uint32_t x640; uint8_t x641 = _addcarryx_u32(x638, x617, x619, &x640);
- { uint32_t x643; uint8_t x644 = _addcarryx_u32(x641, x620, x622, &x643);
- { uint32_t x646; uint8_t x647 = _addcarryx_u32(x644, x623, x625, &x646);
- { uint32_t x649; uint8_t x650 = _addcarryx_u32(x647, x626, x628, &x649);
- { uint32_t x652; uint8_t x653 = _addcarryx_u32(x650, x629, x631, &x652);
- { uint32_t x655; uint8_t _ = _addcarryx_u32(0x0, x653, x632, &x655);
- { uint32_t x658; uint8_t x659 = _addcarryx_u32(0x0, x585, x610, &x658);
- { uint32_t x661; uint8_t x662 = _addcarryx_u32(x659, x588, x634, &x661);
- { uint32_t x664; uint8_t x665 = _addcarryx_u32(x662, x591, x637, &x664);
- { uint32_t x667; uint8_t x668 = _addcarryx_u32(x665, x594, x640, &x667);
- { uint32_t x670; uint8_t x671 = _addcarryx_u32(x668, x597, x643, &x670);
- { uint32_t x673; uint8_t x674 = _addcarryx_u32(x671, x600, x646, &x673);
- { uint32_t x676; uint8_t x677 = _addcarryx_u32(x674, x603, x649, &x676);
- { uint32_t x679; uint8_t x680 = _addcarryx_u32(x677, x606, x652, &x679);
- { uint32_t x682; uint8_t x683 = _addcarryx_u32(x680, x608, x655, &x682);
- { uint32_t x686; uint32_t x685 = _mulx_u32(x658, 0xffffffff, &x686);
- { uint32_t x689; uint32_t x688 = _mulx_u32(x658, 0xffffffff, &x689);
- { uint32_t x692; uint32_t x691 = _mulx_u32(x658, 0xffffffff, &x692);
- { uint32_t x695; uint32_t x694 = _mulx_u32(x658, 0xffffffff, &x695);
- { uint32_t x698; uint32_t x697 = _mulx_u32(x658, 0xffffffff, &x698);
- { uint32_t x701; uint32_t x700 = _mulx_u32(x658, 0xffffffff, &x701);
- { uint32_t x704; uint32_t x703 = _mulx_u32(x658, 0xffffffff, &x704);
- { uint32_t x707; uint32_t x706 = _mulx_u32(x658, 0x3f80ffff, &x707);
- { uint32_t x709; uint8_t x710 = _addcarryx_u32(0x0, x686, x688, &x709);
- { uint32_t x712; uint8_t x713 = _addcarryx_u32(x710, x689, x691, &x712);
- { uint32_t x715; uint8_t x716 = _addcarryx_u32(x713, x692, x694, &x715);
- { uint32_t x718; uint8_t x719 = _addcarryx_u32(x716, x695, x697, &x718);
- { uint32_t x721; uint8_t x722 = _addcarryx_u32(x719, x698, x700, &x721);
- { uint32_t x724; uint8_t x725 = _addcarryx_u32(x722, x701, x703, &x724);
- { uint32_t x727; uint8_t x728 = _addcarryx_u32(x725, x704, x706, &x727);
- { uint32_t x730; uint8_t _ = _addcarryx_u32(0x0, x728, x707, &x730);
- { uint32_t _; uint8_t x734 = _addcarryx_u32(0x0, x658, x685, &_);
- { uint32_t x736; uint8_t x737 = _addcarryx_u32(x734, x661, x709, &x736);
- { uint32_t x739; uint8_t x740 = _addcarryx_u32(x737, x664, x712, &x739);
- { uint32_t x742; uint8_t x743 = _addcarryx_u32(x740, x667, x715, &x742);
- { uint32_t x745; uint8_t x746 = _addcarryx_u32(x743, x670, x718, &x745);
- { uint32_t x748; uint8_t x749 = _addcarryx_u32(x746, x673, x721, &x748);
- { uint32_t x751; uint8_t x752 = _addcarryx_u32(x749, x676, x724, &x751);
- { uint32_t x754; uint8_t x755 = _addcarryx_u32(x752, x679, x727, &x754);
- { uint32_t x757; uint8_t x758 = _addcarryx_u32(x755, x682, x730, &x757);
- { uint8_t x759 = (x758 + x683);
- { uint32_t x762; uint32_t x761 = _mulx_u32(x15, x19, &x762);
- { uint32_t x765; uint32_t x764 = _mulx_u32(x15, x21, &x765);
- { uint32_t x768; uint32_t x767 = _mulx_u32(x15, x23, &x768);
- { uint32_t x771; uint32_t x770 = _mulx_u32(x15, x25, &x771);
- { uint32_t x774; uint32_t x773 = _mulx_u32(x15, x27, &x774);
- { uint32_t x777; uint32_t x776 = _mulx_u32(x15, x29, &x777);
- { uint32_t x780; uint32_t x779 = _mulx_u32(x15, x31, &x780);
- { uint32_t x783; uint32_t x782 = _mulx_u32(x15, x30, &x783);
- { uint32_t x785; uint8_t x786 = _addcarryx_u32(0x0, x762, x764, &x785);
- { uint32_t x788; uint8_t x789 = _addcarryx_u32(x786, x765, x767, &x788);
- { uint32_t x791; uint8_t x792 = _addcarryx_u32(x789, x768, x770, &x791);
- { uint32_t x794; uint8_t x795 = _addcarryx_u32(x792, x771, x773, &x794);
- { uint32_t x797; uint8_t x798 = _addcarryx_u32(x795, x774, x776, &x797);
- { uint32_t x800; uint8_t x801 = _addcarryx_u32(x798, x777, x779, &x800);
- { uint32_t x803; uint8_t x804 = _addcarryx_u32(x801, x780, x782, &x803);
- { uint32_t x806; uint8_t _ = _addcarryx_u32(0x0, x804, x783, &x806);
- { uint32_t x809; uint8_t x810 = _addcarryx_u32(0x0, x736, x761, &x809);
- { uint32_t x812; uint8_t x813 = _addcarryx_u32(x810, x739, x785, &x812);
- { uint32_t x815; uint8_t x816 = _addcarryx_u32(x813, x742, x788, &x815);
- { uint32_t x818; uint8_t x819 = _addcarryx_u32(x816, x745, x791, &x818);
- { uint32_t x821; uint8_t x822 = _addcarryx_u32(x819, x748, x794, &x821);
- { uint32_t x824; uint8_t x825 = _addcarryx_u32(x822, x751, x797, &x824);
- { uint32_t x827; uint8_t x828 = _addcarryx_u32(x825, x754, x800, &x827);
- { uint32_t x830; uint8_t x831 = _addcarryx_u32(x828, x757, x803, &x830);
- { uint32_t x833; uint8_t x834 = _addcarryx_u32(x831, x759, x806, &x833);
- { uint32_t x837; uint32_t x836 = _mulx_u32(x809, 0xffffffff, &x837);
- { uint32_t x840; uint32_t x839 = _mulx_u32(x809, 0xffffffff, &x840);
- { uint32_t x843; uint32_t x842 = _mulx_u32(x809, 0xffffffff, &x843);
- { uint32_t x846; uint32_t x845 = _mulx_u32(x809, 0xffffffff, &x846);
- { uint32_t x849; uint32_t x848 = _mulx_u32(x809, 0xffffffff, &x849);
- { uint32_t x852; uint32_t x851 = _mulx_u32(x809, 0xffffffff, &x852);
- { uint32_t x855; uint32_t x854 = _mulx_u32(x809, 0xffffffff, &x855);
- { uint32_t x858; uint32_t x857 = _mulx_u32(x809, 0x3f80ffff, &x858);
- { uint32_t x860; uint8_t x861 = _addcarryx_u32(0x0, x837, x839, &x860);
- { uint32_t x863; uint8_t x864 = _addcarryx_u32(x861, x840, x842, &x863);
- { uint32_t x866; uint8_t x867 = _addcarryx_u32(x864, x843, x845, &x866);
- { uint32_t x869; uint8_t x870 = _addcarryx_u32(x867, x846, x848, &x869);
- { uint32_t x872; uint8_t x873 = _addcarryx_u32(x870, x849, x851, &x872);
- { uint32_t x875; uint8_t x876 = _addcarryx_u32(x873, x852, x854, &x875);
- { uint32_t x878; uint8_t x879 = _addcarryx_u32(x876, x855, x857, &x878);
- { uint32_t x881; uint8_t _ = _addcarryx_u32(0x0, x879, x858, &x881);
- { uint32_t _; uint8_t x885 = _addcarryx_u32(0x0, x809, x836, &_);
- { uint32_t x887; uint8_t x888 = _addcarryx_u32(x885, x812, x860, &x887);
- { uint32_t x890; uint8_t x891 = _addcarryx_u32(x888, x815, x863, &x890);
- { uint32_t x893; uint8_t x894 = _addcarryx_u32(x891, x818, x866, &x893);
- { uint32_t x896; uint8_t x897 = _addcarryx_u32(x894, x821, x869, &x896);
- { uint32_t x899; uint8_t x900 = _addcarryx_u32(x897, x824, x872, &x899);
- { uint32_t x902; uint8_t x903 = _addcarryx_u32(x900, x827, x875, &x902);
- { uint32_t x905; uint8_t x906 = _addcarryx_u32(x903, x830, x878, &x905);
- { uint32_t x908; uint8_t x909 = _addcarryx_u32(x906, x833, x881, &x908);
- { uint8_t x910 = (x909 + x834);
- { uint32_t x913; uint32_t x912 = _mulx_u32(x17, x19, &x913);
- { uint32_t x916; uint32_t x915 = _mulx_u32(x17, x21, &x916);
- { uint32_t x919; uint32_t x918 = _mulx_u32(x17, x23, &x919);
- { uint32_t x922; uint32_t x921 = _mulx_u32(x17, x25, &x922);
- { uint32_t x925; uint32_t x924 = _mulx_u32(x17, x27, &x925);
- { uint32_t x928; uint32_t x927 = _mulx_u32(x17, x29, &x928);
- { uint32_t x931; uint32_t x930 = _mulx_u32(x17, x31, &x931);
- { uint32_t x934; uint32_t x933 = _mulx_u32(x17, x30, &x934);
- { uint32_t x936; uint8_t x937 = _addcarryx_u32(0x0, x913, x915, &x936);
- { uint32_t x939; uint8_t x940 = _addcarryx_u32(x937, x916, x918, &x939);
- { uint32_t x942; uint8_t x943 = _addcarryx_u32(x940, x919, x921, &x942);
- { uint32_t x945; uint8_t x946 = _addcarryx_u32(x943, x922, x924, &x945);
- { uint32_t x948; uint8_t x949 = _addcarryx_u32(x946, x925, x927, &x948);
- { uint32_t x951; uint8_t x952 = _addcarryx_u32(x949, x928, x930, &x951);
- { uint32_t x954; uint8_t x955 = _addcarryx_u32(x952, x931, x933, &x954);
- { uint32_t x957; uint8_t _ = _addcarryx_u32(0x0, x955, x934, &x957);
- { uint32_t x960; uint8_t x961 = _addcarryx_u32(0x0, x887, x912, &x960);
- { uint32_t x963; uint8_t x964 = _addcarryx_u32(x961, x890, x936, &x963);
- { uint32_t x966; uint8_t x967 = _addcarryx_u32(x964, x893, x939, &x966);
- { uint32_t x969; uint8_t x970 = _addcarryx_u32(x967, x896, x942, &x969);
- { uint32_t x972; uint8_t x973 = _addcarryx_u32(x970, x899, x945, &x972);
- { uint32_t x975; uint8_t x976 = _addcarryx_u32(x973, x902, x948, &x975);
- { uint32_t x978; uint8_t x979 = _addcarryx_u32(x976, x905, x951, &x978);
- { uint32_t x981; uint8_t x982 = _addcarryx_u32(x979, x908, x954, &x981);
- { uint32_t x984; uint8_t x985 = _addcarryx_u32(x982, x910, x957, &x984);
- { uint32_t x988; uint32_t x987 = _mulx_u32(x960, 0xffffffff, &x988);
- { uint32_t x991; uint32_t x990 = _mulx_u32(x960, 0xffffffff, &x991);
- { uint32_t x994; uint32_t x993 = _mulx_u32(x960, 0xffffffff, &x994);
- { uint32_t x997; uint32_t x996 = _mulx_u32(x960, 0xffffffff, &x997);
- { uint32_t x1000; uint32_t x999 = _mulx_u32(x960, 0xffffffff, &x1000);
- { uint32_t x1003; uint32_t x1002 = _mulx_u32(x960, 0xffffffff, &x1003);
- { uint32_t x1006; uint32_t x1005 = _mulx_u32(x960, 0xffffffff, &x1006);
- { uint32_t x1009; uint32_t x1008 = _mulx_u32(x960, 0x3f80ffff, &x1009);
- { uint32_t x1011; uint8_t x1012 = _addcarryx_u32(0x0, x988, x990, &x1011);
- { uint32_t x1014; uint8_t x1015 = _addcarryx_u32(x1012, x991, x993, &x1014);
- { uint32_t x1017; uint8_t x1018 = _addcarryx_u32(x1015, x994, x996, &x1017);
- { uint32_t x1020; uint8_t x1021 = _addcarryx_u32(x1018, x997, x999, &x1020);
- { uint32_t x1023; uint8_t x1024 = _addcarryx_u32(x1021, x1000, x1002, &x1023);
- { uint32_t x1026; uint8_t x1027 = _addcarryx_u32(x1024, x1003, x1005, &x1026);
- { uint32_t x1029; uint8_t x1030 = _addcarryx_u32(x1027, x1006, x1008, &x1029);
- { uint32_t x1032; uint8_t _ = _addcarryx_u32(0x0, x1030, x1009, &x1032);
- { uint32_t _; uint8_t x1036 = _addcarryx_u32(0x0, x960, x987, &_);
- { uint32_t x1038; uint8_t x1039 = _addcarryx_u32(x1036, x963, x1011, &x1038);
- { uint32_t x1041; uint8_t x1042 = _addcarryx_u32(x1039, x966, x1014, &x1041);
- { uint32_t x1044; uint8_t x1045 = _addcarryx_u32(x1042, x969, x1017, &x1044);
- { uint32_t x1047; uint8_t x1048 = _addcarryx_u32(x1045, x972, x1020, &x1047);
- { uint32_t x1050; uint8_t x1051 = _addcarryx_u32(x1048, x975, x1023, &x1050);
- { uint32_t x1053; uint8_t x1054 = _addcarryx_u32(x1051, x978, x1026, &x1053);
- { uint32_t x1056; uint8_t x1057 = _addcarryx_u32(x1054, x981, x1029, &x1056);
- { uint32_t x1059; uint8_t x1060 = _addcarryx_u32(x1057, x984, x1032, &x1059);
- { uint8_t x1061 = (x1060 + x985);
- { uint32_t x1064; uint32_t x1063 = _mulx_u32(x16, x19, &x1064);
- { uint32_t x1067; uint32_t x1066 = _mulx_u32(x16, x21, &x1067);
- { uint32_t x1070; uint32_t x1069 = _mulx_u32(x16, x23, &x1070);
- { uint32_t x1073; uint32_t x1072 = _mulx_u32(x16, x25, &x1073);
- { uint32_t x1076; uint32_t x1075 = _mulx_u32(x16, x27, &x1076);
- { uint32_t x1079; uint32_t x1078 = _mulx_u32(x16, x29, &x1079);
- { uint32_t x1082; uint32_t x1081 = _mulx_u32(x16, x31, &x1082);
- { uint32_t x1085; uint32_t x1084 = _mulx_u32(x16, x30, &x1085);
- { uint32_t x1087; uint8_t x1088 = _addcarryx_u32(0x0, x1064, x1066, &x1087);
- { uint32_t x1090; uint8_t x1091 = _addcarryx_u32(x1088, x1067, x1069, &x1090);
- { uint32_t x1093; uint8_t x1094 = _addcarryx_u32(x1091, x1070, x1072, &x1093);
- { uint32_t x1096; uint8_t x1097 = _addcarryx_u32(x1094, x1073, x1075, &x1096);
- { uint32_t x1099; uint8_t x1100 = _addcarryx_u32(x1097, x1076, x1078, &x1099);
- { uint32_t x1102; uint8_t x1103 = _addcarryx_u32(x1100, x1079, x1081, &x1102);
- { uint32_t x1105; uint8_t x1106 = _addcarryx_u32(x1103, x1082, x1084, &x1105);
- { uint32_t x1108; uint8_t _ = _addcarryx_u32(0x0, x1106, x1085, &x1108);
- { uint32_t x1111; uint8_t x1112 = _addcarryx_u32(0x0, x1038, x1063, &x1111);
- { uint32_t x1114; uint8_t x1115 = _addcarryx_u32(x1112, x1041, x1087, &x1114);
- { uint32_t x1117; uint8_t x1118 = _addcarryx_u32(x1115, x1044, x1090, &x1117);
- { uint32_t x1120; uint8_t x1121 = _addcarryx_u32(x1118, x1047, x1093, &x1120);
- { uint32_t x1123; uint8_t x1124 = _addcarryx_u32(x1121, x1050, x1096, &x1123);
- { uint32_t x1126; uint8_t x1127 = _addcarryx_u32(x1124, x1053, x1099, &x1126);
- { uint32_t x1129; uint8_t x1130 = _addcarryx_u32(x1127, x1056, x1102, &x1129);
- { uint32_t x1132; uint8_t x1133 = _addcarryx_u32(x1130, x1059, x1105, &x1132);
- { uint32_t x1135; uint8_t x1136 = _addcarryx_u32(x1133, x1061, x1108, &x1135);
- { uint32_t x1139; uint32_t x1138 = _mulx_u32(x1111, 0xffffffff, &x1139);
- { uint32_t x1142; uint32_t x1141 = _mulx_u32(x1111, 0xffffffff, &x1142);
- { uint32_t x1145; uint32_t x1144 = _mulx_u32(x1111, 0xffffffff, &x1145);
- { uint32_t x1148; uint32_t x1147 = _mulx_u32(x1111, 0xffffffff, &x1148);
- { uint32_t x1151; uint32_t x1150 = _mulx_u32(x1111, 0xffffffff, &x1151);
- { uint32_t x1154; uint32_t x1153 = _mulx_u32(x1111, 0xffffffff, &x1154);
- { uint32_t x1157; uint32_t x1156 = _mulx_u32(x1111, 0xffffffff, &x1157);
- { uint32_t x1160; uint32_t x1159 = _mulx_u32(x1111, 0x3f80ffff, &x1160);
- { uint32_t x1162; uint8_t x1163 = _addcarryx_u32(0x0, x1139, x1141, &x1162);
- { uint32_t x1165; uint8_t x1166 = _addcarryx_u32(x1163, x1142, x1144, &x1165);
- { uint32_t x1168; uint8_t x1169 = _addcarryx_u32(x1166, x1145, x1147, &x1168);
- { uint32_t x1171; uint8_t x1172 = _addcarryx_u32(x1169, x1148, x1150, &x1171);
- { uint32_t x1174; uint8_t x1175 = _addcarryx_u32(x1172, x1151, x1153, &x1174);
- { uint32_t x1177; uint8_t x1178 = _addcarryx_u32(x1175, x1154, x1156, &x1177);
- { uint32_t x1180; uint8_t x1181 = _addcarryx_u32(x1178, x1157, x1159, &x1180);
- { uint32_t x1183; uint8_t _ = _addcarryx_u32(0x0, x1181, x1160, &x1183);
- { uint32_t _; uint8_t x1187 = _addcarryx_u32(0x0, x1111, x1138, &_);
- { uint32_t x1189; uint8_t x1190 = _addcarryx_u32(x1187, x1114, x1162, &x1189);
- { uint32_t x1192; uint8_t x1193 = _addcarryx_u32(x1190, x1117, x1165, &x1192);
- { uint32_t x1195; uint8_t x1196 = _addcarryx_u32(x1193, x1120, x1168, &x1195);
- { uint32_t x1198; uint8_t x1199 = _addcarryx_u32(x1196, x1123, x1171, &x1198);
- { uint32_t x1201; uint8_t x1202 = _addcarryx_u32(x1199, x1126, x1174, &x1201);
- { uint32_t x1204; uint8_t x1205 = _addcarryx_u32(x1202, x1129, x1177, &x1204);
- { uint32_t x1207; uint8_t x1208 = _addcarryx_u32(x1205, x1132, x1180, &x1207);
- { uint32_t x1210; uint8_t x1211 = _addcarryx_u32(x1208, x1135, x1183, &x1210);
- { uint8_t x1212 = (x1211 + x1136);
- { uint32_t x1214; uint8_t x1215 = _subborrow_u32(0x0, x1189, 0xffffffff, &x1214);
- { uint32_t x1217; uint8_t x1218 = _subborrow_u32(x1215, x1192, 0xffffffff, &x1217);
- { uint32_t x1220; uint8_t x1221 = _subborrow_u32(x1218, x1195, 0xffffffff, &x1220);
- { uint32_t x1223; uint8_t x1224 = _subborrow_u32(x1221, x1198, 0xffffffff, &x1223);
- { uint32_t x1226; uint8_t x1227 = _subborrow_u32(x1224, x1201, 0xffffffff, &x1226);
- { uint32_t x1229; uint8_t x1230 = _subborrow_u32(x1227, x1204, 0xffffffff, &x1229);
- { uint32_t x1232; uint8_t x1233 = _subborrow_u32(x1230, x1207, 0xffffffff, &x1232);
- { uint32_t x1235; uint8_t x1236 = _subborrow_u32(x1233, x1210, 0x3f80ffff, &x1235);
- { uint32_t _; uint8_t x1239 = _subborrow_u32(x1236, x1212, 0x0, &_);
- { uint32_t x1240 = cmovznz32(x1239, x1235, x1210);
- { uint32_t x1241 = cmovznz32(x1239, x1232, x1207);
- { uint32_t x1242 = cmovznz32(x1239, x1229, x1204);
- { uint32_t x1243 = cmovznz32(x1239, x1226, x1201);
- { uint32_t x1244 = cmovznz32(x1239, x1223, x1198);
- { uint32_t x1245 = cmovznz32(x1239, x1220, x1195);
- { uint32_t x1246 = cmovznz32(x1239, x1217, x1192);
- { uint32_t x1247 = cmovznz32(x1239, x1214, x1189);
- out[0] = x1247;
- out[1] = x1246;
- out[2] = x1245;
- out[3] = x1244;
- out[4] = x1243;
- out[5] = x1242;
- out[6] = x1241;
- out[7] = x1240;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.v
deleted file mode 100644
index 055887526..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.log
deleted file mode 100644
index 8d2fde7c5..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,423 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x19);
- uint32_t x36, uint32_t x37 = mulx_u32(x5, x21);
- uint32_t x39, uint32_t x40 = mulx_u32(x5, x23);
- uint32_t x42, uint32_t x43 = mulx_u32(x5, x25);
- uint32_t x45, uint32_t x46 = mulx_u32(x5, x27);
- uint32_t x48, uint32_t x49 = mulx_u32(x5, x29);
- uint32_t x51, uint32_t x52 = mulx_u32(x5, x31);
- uint32_t x54, uint32_t x55 = mulx_u32(x5, x30);
- uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x34, x36);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x37, x39);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x40, x42);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x43, x45);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x46, x48);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x49, x51);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x52, x54);
- uint32_t x78, uint8_t _ = addcarryx_u32(0x0, x76, x55);
- uint32_t x81, uint32_t x82 = mulx_u32(x33, 0xffffffff);
- uint32_t x84, uint32_t x85 = mulx_u32(x33, 0xffffffff);
- uint32_t x87, uint32_t x88 = mulx_u32(x33, 0xffffffff);
- uint32_t x90, uint32_t x91 = mulx_u32(x33, 0xffffffff);
- uint32_t x93, uint32_t x94 = mulx_u32(x33, 0xffffffff);
- uint32_t x96, uint32_t x97 = mulx_u32(x33, 0xffffffff);
- uint32_t x99, uint32_t x100 = mulx_u32(x33, 0xffffffff);
- uint32_t x102, uint32_t x103 = mulx_u32(x33, 0x3f80ffff);
- uint32_t x105, uint8_t x106 = addcarryx_u32(0x0, x82, x84);
- uint32_t x108, uint8_t x109 = addcarryx_u32(x106, x85, x87);
- uint32_t x111, uint8_t x112 = addcarryx_u32(x109, x88, x90);
- uint32_t x114, uint8_t x115 = addcarryx_u32(x112, x91, x93);
- uint32_t x117, uint8_t x118 = addcarryx_u32(x115, x94, x96);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x97, x99);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x100, x102);
- uint32_t x126, uint8_t _ = addcarryx_u32(0x0, x124, x103);
- uint32_t _, uint8_t x130 = addcarryx_u32(0x0, x33, x81);
- uint32_t x132, uint8_t x133 = addcarryx_u32(x130, x57, x105);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x60, x108);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x63, x111);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x66, x114);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x69, x117);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x72, x120);
- uint32_t x150, uint8_t x151 = addcarryx_u32(x148, x75, x123);
- uint32_t x153, uint8_t x154 = addcarryx_u32(x151, x78, x126);
- uint8_t x155 = (x154 + 0x0);
- uint32_t x157, uint32_t x158 = mulx_u32(x7, x19);
- uint32_t x160, uint32_t x161 = mulx_u32(x7, x21);
- uint32_t x163, uint32_t x164 = mulx_u32(x7, x23);
- uint32_t x166, uint32_t x167 = mulx_u32(x7, x25);
- uint32_t x169, uint32_t x170 = mulx_u32(x7, x27);
- uint32_t x172, uint32_t x173 = mulx_u32(x7, x29);
- uint32_t x175, uint32_t x176 = mulx_u32(x7, x31);
- uint32_t x178, uint32_t x179 = mulx_u32(x7, x30);
- uint32_t x181, uint8_t x182 = addcarryx_u32(0x0, x158, x160);
- uint32_t x184, uint8_t x185 = addcarryx_u32(x182, x161, x163);
- uint32_t x187, uint8_t x188 = addcarryx_u32(x185, x164, x166);
- uint32_t x190, uint8_t x191 = addcarryx_u32(x188, x167, x169);
- uint32_t x193, uint8_t x194 = addcarryx_u32(x191, x170, x172);
- uint32_t x196, uint8_t x197 = addcarryx_u32(x194, x173, x175);
- uint32_t x199, uint8_t x200 = addcarryx_u32(x197, x176, x178);
- uint32_t x202, uint8_t _ = addcarryx_u32(0x0, x200, x179);
- uint32_t x205, uint8_t x206 = addcarryx_u32(0x0, x132, x157);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x135, x181);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x138, x184);
- uint32_t x214, uint8_t x215 = addcarryx_u32(x212, x141, x187);
- uint32_t x217, uint8_t x218 = addcarryx_u32(x215, x144, x190);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x147, x193);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x150, x196);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x153, x199);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x155, x202);
- uint32_t x232, uint32_t x233 = mulx_u32(x205, 0xffffffff);
- uint32_t x235, uint32_t x236 = mulx_u32(x205, 0xffffffff);
- uint32_t x238, uint32_t x239 = mulx_u32(x205, 0xffffffff);
- uint32_t x241, uint32_t x242 = mulx_u32(x205, 0xffffffff);
- uint32_t x244, uint32_t x245 = mulx_u32(x205, 0xffffffff);
- uint32_t x247, uint32_t x248 = mulx_u32(x205, 0xffffffff);
- uint32_t x250, uint32_t x251 = mulx_u32(x205, 0xffffffff);
- uint32_t x253, uint32_t x254 = mulx_u32(x205, 0x3f80ffff);
- uint32_t x256, uint8_t x257 = addcarryx_u32(0x0, x233, x235);
- uint32_t x259, uint8_t x260 = addcarryx_u32(x257, x236, x238);
- uint32_t x262, uint8_t x263 = addcarryx_u32(x260, x239, x241);
- uint32_t x265, uint8_t x266 = addcarryx_u32(x263, x242, x244);
- uint32_t x268, uint8_t x269 = addcarryx_u32(x266, x245, x247);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x248, x250);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x251, x253);
- uint32_t x277, uint8_t _ = addcarryx_u32(0x0, x275, x254);
- uint32_t _, uint8_t x281 = addcarryx_u32(0x0, x205, x232);
- uint32_t x283, uint8_t x284 = addcarryx_u32(x281, x208, x256);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x211, x259);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x214, x262);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x217, x265);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x220, x268);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x223, x271);
- uint32_t x301, uint8_t x302 = addcarryx_u32(x299, x226, x274);
- uint32_t x304, uint8_t x305 = addcarryx_u32(x302, x229, x277);
- uint8_t x306 = (x305 + x230);
- uint32_t x308, uint32_t x309 = mulx_u32(x9, x19);
- uint32_t x311, uint32_t x312 = mulx_u32(x9, x21);
- uint32_t x314, uint32_t x315 = mulx_u32(x9, x23);
- uint32_t x317, uint32_t x318 = mulx_u32(x9, x25);
- uint32_t x320, uint32_t x321 = mulx_u32(x9, x27);
- uint32_t x323, uint32_t x324 = mulx_u32(x9, x29);
- uint32_t x326, uint32_t x327 = mulx_u32(x9, x31);
- uint32_t x329, uint32_t x330 = mulx_u32(x9, x30);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x309, x311);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x312, x314);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x315, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x318, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x321, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x324, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x327, x329);
- uint32_t x353, uint8_t _ = addcarryx_u32(0x0, x351, x330);
- uint32_t x356, uint8_t x357 = addcarryx_u32(0x0, x283, x308);
- uint32_t x359, uint8_t x360 = addcarryx_u32(x357, x286, x332);
- uint32_t x362, uint8_t x363 = addcarryx_u32(x360, x289, x335);
- uint32_t x365, uint8_t x366 = addcarryx_u32(x363, x292, x338);
- uint32_t x368, uint8_t x369 = addcarryx_u32(x366, x295, x341);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x298, x344);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x301, x347);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x304, x350);
- uint32_t x380, uint8_t x381 = addcarryx_u32(x378, x306, x353);
- uint32_t x383, uint32_t x384 = mulx_u32(x356, 0xffffffff);
- uint32_t x386, uint32_t x387 = mulx_u32(x356, 0xffffffff);
- uint32_t x389, uint32_t x390 = mulx_u32(x356, 0xffffffff);
- uint32_t x392, uint32_t x393 = mulx_u32(x356, 0xffffffff);
- uint32_t x395, uint32_t x396 = mulx_u32(x356, 0xffffffff);
- uint32_t x398, uint32_t x399 = mulx_u32(x356, 0xffffffff);
- uint32_t x401, uint32_t x402 = mulx_u32(x356, 0xffffffff);
- uint32_t x404, uint32_t x405 = mulx_u32(x356, 0x3f80ffff);
- uint32_t x407, uint8_t x408 = addcarryx_u32(0x0, x384, x386);
- uint32_t x410, uint8_t x411 = addcarryx_u32(x408, x387, x389);
- uint32_t x413, uint8_t x414 = addcarryx_u32(x411, x390, x392);
- uint32_t x416, uint8_t x417 = addcarryx_u32(x414, x393, x395);
- uint32_t x419, uint8_t x420 = addcarryx_u32(x417, x396, x398);
- uint32_t x422, uint8_t x423 = addcarryx_u32(x420, x399, x401);
- uint32_t x425, uint8_t x426 = addcarryx_u32(x423, x402, x404);
- uint32_t x428, uint8_t _ = addcarryx_u32(0x0, x426, x405);
- uint32_t _, uint8_t x432 = addcarryx_u32(0x0, x356, x383);
- uint32_t x434, uint8_t x435 = addcarryx_u32(x432, x359, x407);
- uint32_t x437, uint8_t x438 = addcarryx_u32(x435, x362, x410);
- uint32_t x440, uint8_t x441 = addcarryx_u32(x438, x365, x413);
- uint32_t x443, uint8_t x444 = addcarryx_u32(x441, x368, x416);
- uint32_t x446, uint8_t x447 = addcarryx_u32(x444, x371, x419);
- uint32_t x449, uint8_t x450 = addcarryx_u32(x447, x374, x422);
- uint32_t x452, uint8_t x453 = addcarryx_u32(x450, x377, x425);
- uint32_t x455, uint8_t x456 = addcarryx_u32(x453, x380, x428);
- uint8_t x457 = (x456 + x381);
- uint32_t x459, uint32_t x460 = mulx_u32(x11, x19);
- uint32_t x462, uint32_t x463 = mulx_u32(x11, x21);
- uint32_t x465, uint32_t x466 = mulx_u32(x11, x23);
- uint32_t x468, uint32_t x469 = mulx_u32(x11, x25);
- uint32_t x471, uint32_t x472 = mulx_u32(x11, x27);
- uint32_t x474, uint32_t x475 = mulx_u32(x11, x29);
- uint32_t x477, uint32_t x478 = mulx_u32(x11, x31);
- uint32_t x480, uint32_t x481 = mulx_u32(x11, x30);
- uint32_t x483, uint8_t x484 = addcarryx_u32(0x0, x460, x462);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x463, x465);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x466, x468);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x469, x471);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x472, x474);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x475, x477);
- uint32_t x501, uint8_t x502 = addcarryx_u32(x499, x478, x480);
- uint32_t x504, uint8_t _ = addcarryx_u32(0x0, x502, x481);
- uint32_t x507, uint8_t x508 = addcarryx_u32(0x0, x434, x459);
- uint32_t x510, uint8_t x511 = addcarryx_u32(x508, x437, x483);
- uint32_t x513, uint8_t x514 = addcarryx_u32(x511, x440, x486);
- uint32_t x516, uint8_t x517 = addcarryx_u32(x514, x443, x489);
- uint32_t x519, uint8_t x520 = addcarryx_u32(x517, x446, x492);
- uint32_t x522, uint8_t x523 = addcarryx_u32(x520, x449, x495);
- uint32_t x525, uint8_t x526 = addcarryx_u32(x523, x452, x498);
- uint32_t x528, uint8_t x529 = addcarryx_u32(x526, x455, x501);
- uint32_t x531, uint8_t x532 = addcarryx_u32(x529, x457, x504);
- uint32_t x534, uint32_t x535 = mulx_u32(x507, 0xffffffff);
- uint32_t x537, uint32_t x538 = mulx_u32(x507, 0xffffffff);
- uint32_t x540, uint32_t x541 = mulx_u32(x507, 0xffffffff);
- uint32_t x543, uint32_t x544 = mulx_u32(x507, 0xffffffff);
- uint32_t x546, uint32_t x547 = mulx_u32(x507, 0xffffffff);
- uint32_t x549, uint32_t x550 = mulx_u32(x507, 0xffffffff);
- uint32_t x552, uint32_t x553 = mulx_u32(x507, 0xffffffff);
- uint32_t x555, uint32_t x556 = mulx_u32(x507, 0x3f80ffff);
- uint32_t x558, uint8_t x559 = addcarryx_u32(0x0, x535, x537);
- uint32_t x561, uint8_t x562 = addcarryx_u32(x559, x538, x540);
- uint32_t x564, uint8_t x565 = addcarryx_u32(x562, x541, x543);
- uint32_t x567, uint8_t x568 = addcarryx_u32(x565, x544, x546);
- uint32_t x570, uint8_t x571 = addcarryx_u32(x568, x547, x549);
- uint32_t x573, uint8_t x574 = addcarryx_u32(x571, x550, x552);
- uint32_t x576, uint8_t x577 = addcarryx_u32(x574, x553, x555);
- uint32_t x579, uint8_t _ = addcarryx_u32(0x0, x577, x556);
- uint32_t _, uint8_t x583 = addcarryx_u32(0x0, x507, x534);
- uint32_t x585, uint8_t x586 = addcarryx_u32(x583, x510, x558);
- uint32_t x588, uint8_t x589 = addcarryx_u32(x586, x513, x561);
- uint32_t x591, uint8_t x592 = addcarryx_u32(x589, x516, x564);
- uint32_t x594, uint8_t x595 = addcarryx_u32(x592, x519, x567);
- uint32_t x597, uint8_t x598 = addcarryx_u32(x595, x522, x570);
- uint32_t x600, uint8_t x601 = addcarryx_u32(x598, x525, x573);
- uint32_t x603, uint8_t x604 = addcarryx_u32(x601, x528, x576);
- uint32_t x606, uint8_t x607 = addcarryx_u32(x604, x531, x579);
- uint8_t x608 = (x607 + x532);
- uint32_t x610, uint32_t x611 = mulx_u32(x13, x19);
- uint32_t x613, uint32_t x614 = mulx_u32(x13, x21);
- uint32_t x616, uint32_t x617 = mulx_u32(x13, x23);
- uint32_t x619, uint32_t x620 = mulx_u32(x13, x25);
- uint32_t x622, uint32_t x623 = mulx_u32(x13, x27);
- uint32_t x625, uint32_t x626 = mulx_u32(x13, x29);
- uint32_t x628, uint32_t x629 = mulx_u32(x13, x31);
- uint32_t x631, uint32_t x632 = mulx_u32(x13, x30);
- uint32_t x634, uint8_t x635 = addcarryx_u32(0x0, x611, x613);
- uint32_t x637, uint8_t x638 = addcarryx_u32(x635, x614, x616);
- uint32_t x640, uint8_t x641 = addcarryx_u32(x638, x617, x619);
- uint32_t x643, uint8_t x644 = addcarryx_u32(x641, x620, x622);
- uint32_t x646, uint8_t x647 = addcarryx_u32(x644, x623, x625);
- uint32_t x649, uint8_t x650 = addcarryx_u32(x647, x626, x628);
- uint32_t x652, uint8_t x653 = addcarryx_u32(x650, x629, x631);
- uint32_t x655, uint8_t _ = addcarryx_u32(0x0, x653, x632);
- uint32_t x658, uint8_t x659 = addcarryx_u32(0x0, x585, x610);
- uint32_t x661, uint8_t x662 = addcarryx_u32(x659, x588, x634);
- uint32_t x664, uint8_t x665 = addcarryx_u32(x662, x591, x637);
- uint32_t x667, uint8_t x668 = addcarryx_u32(x665, x594, x640);
- uint32_t x670, uint8_t x671 = addcarryx_u32(x668, x597, x643);
- uint32_t x673, uint8_t x674 = addcarryx_u32(x671, x600, x646);
- uint32_t x676, uint8_t x677 = addcarryx_u32(x674, x603, x649);
- uint32_t x679, uint8_t x680 = addcarryx_u32(x677, x606, x652);
- uint32_t x682, uint8_t x683 = addcarryx_u32(x680, x608, x655);
- uint32_t x685, uint32_t x686 = mulx_u32(x658, 0xffffffff);
- uint32_t x688, uint32_t x689 = mulx_u32(x658, 0xffffffff);
- uint32_t x691, uint32_t x692 = mulx_u32(x658, 0xffffffff);
- uint32_t x694, uint32_t x695 = mulx_u32(x658, 0xffffffff);
- uint32_t x697, uint32_t x698 = mulx_u32(x658, 0xffffffff);
- uint32_t x700, uint32_t x701 = mulx_u32(x658, 0xffffffff);
- uint32_t x703, uint32_t x704 = mulx_u32(x658, 0xffffffff);
- uint32_t x706, uint32_t x707 = mulx_u32(x658, 0x3f80ffff);
- uint32_t x709, uint8_t x710 = addcarryx_u32(0x0, x686, x688);
- uint32_t x712, uint8_t x713 = addcarryx_u32(x710, x689, x691);
- uint32_t x715, uint8_t x716 = addcarryx_u32(x713, x692, x694);
- uint32_t x718, uint8_t x719 = addcarryx_u32(x716, x695, x697);
- uint32_t x721, uint8_t x722 = addcarryx_u32(x719, x698, x700);
- uint32_t x724, uint8_t x725 = addcarryx_u32(x722, x701, x703);
- uint32_t x727, uint8_t x728 = addcarryx_u32(x725, x704, x706);
- uint32_t x730, uint8_t _ = addcarryx_u32(0x0, x728, x707);
- uint32_t _, uint8_t x734 = addcarryx_u32(0x0, x658, x685);
- uint32_t x736, uint8_t x737 = addcarryx_u32(x734, x661, x709);
- uint32_t x739, uint8_t x740 = addcarryx_u32(x737, x664, x712);
- uint32_t x742, uint8_t x743 = addcarryx_u32(x740, x667, x715);
- uint32_t x745, uint8_t x746 = addcarryx_u32(x743, x670, x718);
- uint32_t x748, uint8_t x749 = addcarryx_u32(x746, x673, x721);
- uint32_t x751, uint8_t x752 = addcarryx_u32(x749, x676, x724);
- uint32_t x754, uint8_t x755 = addcarryx_u32(x752, x679, x727);
- uint32_t x757, uint8_t x758 = addcarryx_u32(x755, x682, x730);
- uint8_t x759 = (x758 + x683);
- uint32_t x761, uint32_t x762 = mulx_u32(x15, x19);
- uint32_t x764, uint32_t x765 = mulx_u32(x15, x21);
- uint32_t x767, uint32_t x768 = mulx_u32(x15, x23);
- uint32_t x770, uint32_t x771 = mulx_u32(x15, x25);
- uint32_t x773, uint32_t x774 = mulx_u32(x15, x27);
- uint32_t x776, uint32_t x777 = mulx_u32(x15, x29);
- uint32_t x779, uint32_t x780 = mulx_u32(x15, x31);
- uint32_t x782, uint32_t x783 = mulx_u32(x15, x30);
- uint32_t x785, uint8_t x786 = addcarryx_u32(0x0, x762, x764);
- uint32_t x788, uint8_t x789 = addcarryx_u32(x786, x765, x767);
- uint32_t x791, uint8_t x792 = addcarryx_u32(x789, x768, x770);
- uint32_t x794, uint8_t x795 = addcarryx_u32(x792, x771, x773);
- uint32_t x797, uint8_t x798 = addcarryx_u32(x795, x774, x776);
- uint32_t x800, uint8_t x801 = addcarryx_u32(x798, x777, x779);
- uint32_t x803, uint8_t x804 = addcarryx_u32(x801, x780, x782);
- uint32_t x806, uint8_t _ = addcarryx_u32(0x0, x804, x783);
- uint32_t x809, uint8_t x810 = addcarryx_u32(0x0, x736, x761);
- uint32_t x812, uint8_t x813 = addcarryx_u32(x810, x739, x785);
- uint32_t x815, uint8_t x816 = addcarryx_u32(x813, x742, x788);
- uint32_t x818, uint8_t x819 = addcarryx_u32(x816, x745, x791);
- uint32_t x821, uint8_t x822 = addcarryx_u32(x819, x748, x794);
- uint32_t x824, uint8_t x825 = addcarryx_u32(x822, x751, x797);
- uint32_t x827, uint8_t x828 = addcarryx_u32(x825, x754, x800);
- uint32_t x830, uint8_t x831 = addcarryx_u32(x828, x757, x803);
- uint32_t x833, uint8_t x834 = addcarryx_u32(x831, x759, x806);
- uint32_t x836, uint32_t x837 = mulx_u32(x809, 0xffffffff);
- uint32_t x839, uint32_t x840 = mulx_u32(x809, 0xffffffff);
- uint32_t x842, uint32_t x843 = mulx_u32(x809, 0xffffffff);
- uint32_t x845, uint32_t x846 = mulx_u32(x809, 0xffffffff);
- uint32_t x848, uint32_t x849 = mulx_u32(x809, 0xffffffff);
- uint32_t x851, uint32_t x852 = mulx_u32(x809, 0xffffffff);
- uint32_t x854, uint32_t x855 = mulx_u32(x809, 0xffffffff);
- uint32_t x857, uint32_t x858 = mulx_u32(x809, 0x3f80ffff);
- uint32_t x860, uint8_t x861 = addcarryx_u32(0x0, x837, x839);
- uint32_t x863, uint8_t x864 = addcarryx_u32(x861, x840, x842);
- uint32_t x866, uint8_t x867 = addcarryx_u32(x864, x843, x845);
- uint32_t x869, uint8_t x870 = addcarryx_u32(x867, x846, x848);
- uint32_t x872, uint8_t x873 = addcarryx_u32(x870, x849, x851);
- uint32_t x875, uint8_t x876 = addcarryx_u32(x873, x852, x854);
- uint32_t x878, uint8_t x879 = addcarryx_u32(x876, x855, x857);
- uint32_t x881, uint8_t _ = addcarryx_u32(0x0, x879, x858);
- uint32_t _, uint8_t x885 = addcarryx_u32(0x0, x809, x836);
- uint32_t x887, uint8_t x888 = addcarryx_u32(x885, x812, x860);
- uint32_t x890, uint8_t x891 = addcarryx_u32(x888, x815, x863);
- uint32_t x893, uint8_t x894 = addcarryx_u32(x891, x818, x866);
- uint32_t x896, uint8_t x897 = addcarryx_u32(x894, x821, x869);
- uint32_t x899, uint8_t x900 = addcarryx_u32(x897, x824, x872);
- uint32_t x902, uint8_t x903 = addcarryx_u32(x900, x827, x875);
- uint32_t x905, uint8_t x906 = addcarryx_u32(x903, x830, x878);
- uint32_t x908, uint8_t x909 = addcarryx_u32(x906, x833, x881);
- uint8_t x910 = (x909 + x834);
- uint32_t x912, uint32_t x913 = mulx_u32(x17, x19);
- uint32_t x915, uint32_t x916 = mulx_u32(x17, x21);
- uint32_t x918, uint32_t x919 = mulx_u32(x17, x23);
- uint32_t x921, uint32_t x922 = mulx_u32(x17, x25);
- uint32_t x924, uint32_t x925 = mulx_u32(x17, x27);
- uint32_t x927, uint32_t x928 = mulx_u32(x17, x29);
- uint32_t x930, uint32_t x931 = mulx_u32(x17, x31);
- uint32_t x933, uint32_t x934 = mulx_u32(x17, x30);
- uint32_t x936, uint8_t x937 = addcarryx_u32(0x0, x913, x915);
- uint32_t x939, uint8_t x940 = addcarryx_u32(x937, x916, x918);
- uint32_t x942, uint8_t x943 = addcarryx_u32(x940, x919, x921);
- uint32_t x945, uint8_t x946 = addcarryx_u32(x943, x922, x924);
- uint32_t x948, uint8_t x949 = addcarryx_u32(x946, x925, x927);
- uint32_t x951, uint8_t x952 = addcarryx_u32(x949, x928, x930);
- uint32_t x954, uint8_t x955 = addcarryx_u32(x952, x931, x933);
- uint32_t x957, uint8_t _ = addcarryx_u32(0x0, x955, x934);
- uint32_t x960, uint8_t x961 = addcarryx_u32(0x0, x887, x912);
- uint32_t x963, uint8_t x964 = addcarryx_u32(x961, x890, x936);
- uint32_t x966, uint8_t x967 = addcarryx_u32(x964, x893, x939);
- uint32_t x969, uint8_t x970 = addcarryx_u32(x967, x896, x942);
- uint32_t x972, uint8_t x973 = addcarryx_u32(x970, x899, x945);
- uint32_t x975, uint8_t x976 = addcarryx_u32(x973, x902, x948);
- uint32_t x978, uint8_t x979 = addcarryx_u32(x976, x905, x951);
- uint32_t x981, uint8_t x982 = addcarryx_u32(x979, x908, x954);
- uint32_t x984, uint8_t x985 = addcarryx_u32(x982, x910, x957);
- uint32_t x987, uint32_t x988 = mulx_u32(x960, 0xffffffff);
- uint32_t x990, uint32_t x991 = mulx_u32(x960, 0xffffffff);
- uint32_t x993, uint32_t x994 = mulx_u32(x960, 0xffffffff);
- uint32_t x996, uint32_t x997 = mulx_u32(x960, 0xffffffff);
- uint32_t x999, uint32_t x1000 = mulx_u32(x960, 0xffffffff);
- uint32_t x1002, uint32_t x1003 = mulx_u32(x960, 0xffffffff);
- uint32_t x1005, uint32_t x1006 = mulx_u32(x960, 0xffffffff);
- uint32_t x1008, uint32_t x1009 = mulx_u32(x960, 0x3f80ffff);
- uint32_t x1011, uint8_t x1012 = addcarryx_u32(0x0, x988, x990);
- uint32_t x1014, uint8_t x1015 = addcarryx_u32(x1012, x991, x993);
- uint32_t x1017, uint8_t x1018 = addcarryx_u32(x1015, x994, x996);
- uint32_t x1020, uint8_t x1021 = addcarryx_u32(x1018, x997, x999);
- uint32_t x1023, uint8_t x1024 = addcarryx_u32(x1021, x1000, x1002);
- uint32_t x1026, uint8_t x1027 = addcarryx_u32(x1024, x1003, x1005);
- uint32_t x1029, uint8_t x1030 = addcarryx_u32(x1027, x1006, x1008);
- uint32_t x1032, uint8_t _ = addcarryx_u32(0x0, x1030, x1009);
- uint32_t _, uint8_t x1036 = addcarryx_u32(0x0, x960, x987);
- uint32_t x1038, uint8_t x1039 = addcarryx_u32(x1036, x963, x1011);
- uint32_t x1041, uint8_t x1042 = addcarryx_u32(x1039, x966, x1014);
- uint32_t x1044, uint8_t x1045 = addcarryx_u32(x1042, x969, x1017);
- uint32_t x1047, uint8_t x1048 = addcarryx_u32(x1045, x972, x1020);
- uint32_t x1050, uint8_t x1051 = addcarryx_u32(x1048, x975, x1023);
- uint32_t x1053, uint8_t x1054 = addcarryx_u32(x1051, x978, x1026);
- uint32_t x1056, uint8_t x1057 = addcarryx_u32(x1054, x981, x1029);
- uint32_t x1059, uint8_t x1060 = addcarryx_u32(x1057, x984, x1032);
- uint8_t x1061 = (x1060 + x985);
- uint32_t x1063, uint32_t x1064 = mulx_u32(x16, x19);
- uint32_t x1066, uint32_t x1067 = mulx_u32(x16, x21);
- uint32_t x1069, uint32_t x1070 = mulx_u32(x16, x23);
- uint32_t x1072, uint32_t x1073 = mulx_u32(x16, x25);
- uint32_t x1075, uint32_t x1076 = mulx_u32(x16, x27);
- uint32_t x1078, uint32_t x1079 = mulx_u32(x16, x29);
- uint32_t x1081, uint32_t x1082 = mulx_u32(x16, x31);
- uint32_t x1084, uint32_t x1085 = mulx_u32(x16, x30);
- uint32_t x1087, uint8_t x1088 = addcarryx_u32(0x0, x1064, x1066);
- uint32_t x1090, uint8_t x1091 = addcarryx_u32(x1088, x1067, x1069);
- uint32_t x1093, uint8_t x1094 = addcarryx_u32(x1091, x1070, x1072);
- uint32_t x1096, uint8_t x1097 = addcarryx_u32(x1094, x1073, x1075);
- uint32_t x1099, uint8_t x1100 = addcarryx_u32(x1097, x1076, x1078);
- uint32_t x1102, uint8_t x1103 = addcarryx_u32(x1100, x1079, x1081);
- uint32_t x1105, uint8_t x1106 = addcarryx_u32(x1103, x1082, x1084);
- uint32_t x1108, uint8_t _ = addcarryx_u32(0x0, x1106, x1085);
- uint32_t x1111, uint8_t x1112 = addcarryx_u32(0x0, x1038, x1063);
- uint32_t x1114, uint8_t x1115 = addcarryx_u32(x1112, x1041, x1087);
- uint32_t x1117, uint8_t x1118 = addcarryx_u32(x1115, x1044, x1090);
- uint32_t x1120, uint8_t x1121 = addcarryx_u32(x1118, x1047, x1093);
- uint32_t x1123, uint8_t x1124 = addcarryx_u32(x1121, x1050, x1096);
- uint32_t x1126, uint8_t x1127 = addcarryx_u32(x1124, x1053, x1099);
- uint32_t x1129, uint8_t x1130 = addcarryx_u32(x1127, x1056, x1102);
- uint32_t x1132, uint8_t x1133 = addcarryx_u32(x1130, x1059, x1105);
- uint32_t x1135, uint8_t x1136 = addcarryx_u32(x1133, x1061, x1108);
- uint32_t x1138, uint32_t x1139 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1141, uint32_t x1142 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1144, uint32_t x1145 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1147, uint32_t x1148 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1150, uint32_t x1151 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1153, uint32_t x1154 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1156, uint32_t x1157 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1159, uint32_t x1160 = mulx_u32(x1111, 0x3f80ffff);
- uint32_t x1162, uint8_t x1163 = addcarryx_u32(0x0, x1139, x1141);
- uint32_t x1165, uint8_t x1166 = addcarryx_u32(x1163, x1142, x1144);
- uint32_t x1168, uint8_t x1169 = addcarryx_u32(x1166, x1145, x1147);
- uint32_t x1171, uint8_t x1172 = addcarryx_u32(x1169, x1148, x1150);
- uint32_t x1174, uint8_t x1175 = addcarryx_u32(x1172, x1151, x1153);
- uint32_t x1177, uint8_t x1178 = addcarryx_u32(x1175, x1154, x1156);
- uint32_t x1180, uint8_t x1181 = addcarryx_u32(x1178, x1157, x1159);
- uint32_t x1183, uint8_t _ = addcarryx_u32(0x0, x1181, x1160);
- uint32_t _, uint8_t x1187 = addcarryx_u32(0x0, x1111, x1138);
- uint32_t x1189, uint8_t x1190 = addcarryx_u32(x1187, x1114, x1162);
- uint32_t x1192, uint8_t x1193 = addcarryx_u32(x1190, x1117, x1165);
- uint32_t x1195, uint8_t x1196 = addcarryx_u32(x1193, x1120, x1168);
- uint32_t x1198, uint8_t x1199 = addcarryx_u32(x1196, x1123, x1171);
- uint32_t x1201, uint8_t x1202 = addcarryx_u32(x1199, x1126, x1174);
- uint32_t x1204, uint8_t x1205 = addcarryx_u32(x1202, x1129, x1177);
- uint32_t x1207, uint8_t x1208 = addcarryx_u32(x1205, x1132, x1180);
- uint32_t x1210, uint8_t x1211 = addcarryx_u32(x1208, x1135, x1183);
- uint8_t x1212 = (x1211 + x1136);
- uint32_t x1214, uint8_t x1215 = subborrow_u32(0x0, x1189, 0xffffffff);
- uint32_t x1217, uint8_t x1218 = subborrow_u32(x1215, x1192, 0xffffffff);
- uint32_t x1220, uint8_t x1221 = subborrow_u32(x1218, x1195, 0xffffffff);
- uint32_t x1223, uint8_t x1224 = subborrow_u32(x1221, x1198, 0xffffffff);
- uint32_t x1226, uint8_t x1227 = subborrow_u32(x1224, x1201, 0xffffffff);
- uint32_t x1229, uint8_t x1230 = subborrow_u32(x1227, x1204, 0xffffffff);
- uint32_t x1232, uint8_t x1233 = subborrow_u32(x1230, x1207, 0xffffffff);
- uint32_t x1235, uint8_t x1236 = subborrow_u32(x1233, x1210, 0x3f80ffff);
- uint32_t _, uint8_t x1239 = subborrow_u32(x1236, x1212, 0x0);
- uint32_t x1240 = cmovznz32(x1239, x1235, x1210);
- uint32_t x1241 = cmovznz32(x1239, x1232, x1207);
- uint32_t x1242 = cmovznz32(x1239, x1229, x1204);
- uint32_t x1243 = cmovznz32(x1239, x1226, x1201);
- uint32_t x1244 = cmovznz32(x1239, x1223, x1198);
- uint32_t x1245 = cmovznz32(x1239, x1220, x1195);
- uint32_t x1246 = cmovznz32(x1239, x1217, x1192);
- uint32_t x1247 = cmovznz32(x1239, x1214, x1189);
- return (x1240, x1241, x1242, x1243, x1244, x1245, x1246, x1247))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.v
deleted file mode 100644
index a1902f77e..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.v
deleted file mode 100644
index e3e36e358..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.v
deleted file mode 100644
index 9ea8e9185..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.c
deleted file mode 100644
index 28a215411..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void feopp(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16; uint8_t x17 = _subborrow_u32(0x0, 0x0, x2, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x4, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x6, &x22);
- { uint32_t x25; uint8_t x26 = _subborrow_u32(x23, 0x0, x8, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, 0x0, x10, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, 0x0, x12, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, 0x0, x14, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, 0x0, x13, &x37);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(0x0, x16, x40, &x42);
- { uint32_t x44 = (x39 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x19, x44, &x46);
- { uint32_t x48 = (x39 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x22, x48, &x50);
- { uint32_t x52 = (x39 & 0xffffffff);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x51, x25, x52, &x54);
- { uint32_t x56 = (x39 & 0xffffffff);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x55, x28, x56, &x58);
- { uint32_t x60 = (x39 & 0xffffffff);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x59, x31, x60, &x62);
- { uint32_t x64 = (x39 & 0xffffffff);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x63, x34, x64, &x66);
- { uint32_t x68 = (x39 & 0x3f80ffff);
- { uint32_t x70; uint8_t _ = _addcarryx_u32(x67, x37, x68, &x70);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.v
deleted file mode 100644
index 0b19dfa0b..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.log
deleted file mode 100644
index 2c9f03a70..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6);
- uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40);
- uint32_t x44 = (x39 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44);
- uint32_t x48 = (x39 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48);
- uint32_t x52 = (x39 & 0xffffffff);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x51, x25, x52);
- uint32_t x56 = (x39 & 0xffffffff);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x55, x28, x56);
- uint32_t x60 = (x39 & 0xffffffff);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x31, x60);
- uint32_t x64 = (x39 & 0xffffffff);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x34, x64);
- uint32_t x68 = (x39 & 0x3f80ffff);
- uint32_t x70, uint8_t _ = addcarryx_u32(x67, x37, x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.v
deleted file mode 100644
index 8fb72ea92..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.c
deleted file mode 100644
index a7634dcbc..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _subborrow_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _subborrow_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _subborrow_u32(x52, x16, x30, &x54);
- { uint32_t x56 = cmovznz32(x55, 0x0, 0xffffffff);
- { uint32_t x57 = (x56 & 0xffffffff);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(0x0, x33, x57, &x59);
- { uint32_t x61 = (x56 & 0xffffffff);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x60, x36, x61, &x63);
- { uint32_t x65 = (x56 & 0xffffffff);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x64, x39, x65, &x67);
- { uint32_t x69 = (x56 & 0xffffffff);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x68, x42, x69, &x71);
- { uint32_t x73 = (x56 & 0xffffffff);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x72, x45, x73, &x75);
- { uint32_t x77 = (x56 & 0xffffffff);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x76, x48, x77, &x79);
- { uint32_t x81 = (x56 & 0xffffffff);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x80, x51, x81, &x83);
- { uint32_t x85 = (x56 & 0x3f80ffff);
- { uint32_t x87; uint8_t _ = _addcarryx_u32(x84, x54, x85, &x87);
- out[0] = x59;
- out[1] = x63;
- out[2] = x67;
- out[3] = x71;
- out[4] = x75;
- out[5] = x79;
- out[6] = x83;
- out[7] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.v
deleted file mode 100644
index 300f6e100..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.log b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.log
deleted file mode 100644
index 76d3eb77f..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30);
- uint32_t x56 = cmovznz32(x55, 0x0, 0xffffffff);
- uint32_t x57 = (x56 & 0xffffffff);
- uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57);
- uint32_t x61 = (x56 & 0xffffffff);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61);
- uint32_t x65 = (x56 & 0xffffffff);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65);
- uint32_t x69 = (x56 & 0xffffffff);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x68, x42, x69);
- uint32_t x73 = (x56 & 0xffffffff);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x72, x45, x73);
- uint32_t x77 = (x56 & 0xffffffff);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x76, x48, x77);
- uint32_t x81 = (x56 & 0xffffffff);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x80, x51, x81);
- uint32_t x85 = (x56 & 0x3f80ffff);
- uint32_t x87, uint8_t _ = addcarryx_u32(x84, x54, x85);
- (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.v
deleted file mode 100644
index e57bd0ce4..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e254m127x2e240m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/py_interpreter.sh
deleted file mode 100755
index 4893f7c8e..000000000
--- a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**254 - 127*2**240 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e255m19_8limbs/CurveParameters.v
deleted file mode 100644
index 2912d73c2..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e255m19_8limbs/Synthesis.v b/src/Specific/montgomery32_2e255m19_8limbs/Synthesis.v
deleted file mode 100644
index 95e1946d1..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.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/montgomery32_2e255m19_8limbs/compiler.sh b/src/Specific/montgomery32_2e255m19_8limbs/compiler.sh
deleted file mode 100755
index 8ee215067..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e255m19_8limbs/compilerxx.sh
deleted file mode 100755
index 76013648b..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/feadd.c b/src/Specific/montgomery32_2e255m19_8limbs/feadd.c
deleted file mode 100644
index 898843dd3..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xffffffed, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x7fffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/feadd.v b/src/Specific/montgomery32_2e255m19_8limbs/feadd.v
deleted file mode 100644
index 235f7e489..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.log
deleted file mode 100644
index 94c173f05..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffed);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7fffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.v
deleted file mode 100644
index f3cdd8a0d..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/femul.v b/src/Specific/montgomery32_2e255m19_8limbs/femul.v
deleted file mode 100644
index 61844d86e..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e255m19_8limbs/femulDisplay.v
deleted file mode 100644
index aaa59f3c8..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fenz.c b/src/Specific/montgomery32_2e255m19_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fenz.v b/src/Specific/montgomery32_2e255m19_8limbs/fenz.v
deleted file mode 100644
index 6668ff255..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.v
deleted file mode 100644
index 35bb0b4e5..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/feopp.v b/src/Specific/montgomery32_2e255m19_8limbs/feopp.v
deleted file mode 100644
index 349addf54..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e255m19_8limbs/feoppDisplay.v
deleted file mode 100644
index 46ae2ba55..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fesquare.c b/src/Specific/montgomery32_2e255m19_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fesub.v b/src/Specific/montgomery32_2e255m19_8limbs/fesub.v
deleted file mode 100644
index 10e6410cf..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e255m19_8limbs/fesubDisplay.v
deleted file mode 100644
index ddf45d162..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m19_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e255m19_8limbs/py_interpreter.sh
deleted file mode 100755
index da42d011a..000000000
--- a/src/Specific/montgomery32_2e255m19_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e255m765_8limbs/CurveParameters.v
deleted file mode 100644
index 531d00bbb..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 765
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 765)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e255m765_8limbs/Synthesis.v b/src/Specific/montgomery32_2e255m765_8limbs/Synthesis.v
deleted file mode 100644
index 7553856b5..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.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/montgomery32_2e255m765_8limbs/compiler.sh b/src/Specific/montgomery32_2e255m765_8limbs/compiler.sh
deleted file mode 100755
index 332bc7c6e..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e255m765_8limbs/compilerxx.sh
deleted file mode 100755
index 15fe989f3..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/feadd.c b/src/Specific/montgomery32_2e255m765_8limbs/feadd.c
deleted file mode 100644
index c8a728e51..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffd03, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0x7fffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/feadd.v b/src/Specific/montgomery32_2e255m765_8limbs/feadd.v
deleted file mode 100644
index 7a53941d4..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.log
deleted file mode 100644
index dd7712447..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffd03);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0x7fffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.v
deleted file mode 100644
index a23d1d0c1..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/femul.v b/src/Specific/montgomery32_2e255m765_8limbs/femul.v
deleted file mode 100644
index cf3dd0305..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e255m765_8limbs/femulDisplay.v
deleted file mode 100644
index 2dd8d03ca..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fenz.c b/src/Specific/montgomery32_2e255m765_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fenz.v b/src/Specific/montgomery32_2e255m765_8limbs/fenz.v
deleted file mode 100644
index dea7924f3..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.v
deleted file mode 100644
index 73a777b3b..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/feopp.v b/src/Specific/montgomery32_2e255m765_8limbs/feopp.v
deleted file mode 100644
index 8ccd506fa..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e255m765_8limbs/feoppDisplay.v
deleted file mode 100644
index 3d41d35b5..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fesquare.c b/src/Specific/montgomery32_2e255m765_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fesub.v b/src/Specific/montgomery32_2e255m765_8limbs/fesub.v
deleted file mode 100644
index 499d96f16..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e255m765_8limbs/fesubDisplay.v
deleted file mode 100644
index 9e6ab8b9a..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e255m765_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e255m765_8limbs/py_interpreter.sh
deleted file mode 100755
index 014423320..000000000
--- a/src/Specific/montgomery32_2e255m765_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 765' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e256m189_8limbs/CurveParameters.v
deleted file mode 100644
index c673cf6d9..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 189
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 189)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e256m189_8limbs/Synthesis.v b/src/Specific/montgomery32_2e256m189_8limbs/Synthesis.v
deleted file mode 100644
index cef5cd4ca..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.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/montgomery32_2e256m189_8limbs/compiler.sh b/src/Specific/montgomery32_2e256m189_8limbs/compiler.sh
deleted file mode 100755
index 7bfb65e94..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e256m189_8limbs/compilerxx.sh
deleted file mode 100755
index f4aaec0dd..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/feadd.c b/src/Specific/montgomery32_2e256m189_8limbs/feadd.c
deleted file mode 100644
index d06e9223e..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xffffff43, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0xffffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/feadd.v b/src/Specific/montgomery32_2e256m189_8limbs/feadd.v
deleted file mode 100644
index 6398b5804..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.log
deleted file mode 100644
index f20b63443..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffff43);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.v
deleted file mode 100644
index 6ea724cdf..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/femul.v b/src/Specific/montgomery32_2e256m189_8limbs/femul.v
deleted file mode 100644
index 148807359..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e256m189_8limbs/femulDisplay.v
deleted file mode 100644
index 5924c8dfc..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fenz.c b/src/Specific/montgomery32_2e256m189_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fenz.v b/src/Specific/montgomery32_2e256m189_8limbs/fenz.v
deleted file mode 100644
index 73da4791a..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.v
deleted file mode 100644
index d3ce1b635..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/feopp.v b/src/Specific/montgomery32_2e256m189_8limbs/feopp.v
deleted file mode 100644
index 8703562ab..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e256m189_8limbs/feoppDisplay.v
deleted file mode 100644
index d8846ef32..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m189_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fesub.v b/src/Specific/montgomery32_2e256m189_8limbs/fesub.v
deleted file mode 100644
index 8df01bf62..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e256m189_8limbs/fesubDisplay.v
deleted file mode 100644
index e84d95cf1..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m189_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e256m189_8limbs/py_interpreter.sh
deleted file mode 100755
index fccf728a7..000000000
--- a/src/Specific/montgomery32_2e256m189_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 189' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/CurveParameters.v
deleted file mode 100644
index f8b2b996d..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^224 + 2^192 + 2^96 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/Synthesis.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/Synthesis.v
deleted file mode 100644
index b733e4ce9..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.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/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/compiler.sh b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/compiler.sh
deleted file mode 100755
index df0737051..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/compilerxx.sh
deleted file mode 100755
index 0b670506f..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.c b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.c
deleted file mode 100644
index 6dc8ca44c..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xffffffff, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0x0, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0x0, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0x0, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0x1, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0xffffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.v
deleted file mode 100644
index 6df357075..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 6ce2399b9..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffff);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0x0);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0x0);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0x0);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0x1);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.v
deleted file mode 100644
index 05abfc4b8..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.c b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.c
deleted file mode 100644
index c9e60baf3..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.c
+++ /dev/null
@@ -1,379 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x19, &x34);
- { uint32_t x37; uint32_t x36 = _mulx_u32(x5, x21, &x37);
- { uint32_t x40; uint32_t x39 = _mulx_u32(x5, x23, &x40);
- { uint32_t x43; uint32_t x42 = _mulx_u32(x5, x25, &x43);
- { uint32_t x46; uint32_t x45 = _mulx_u32(x5, x27, &x46);
- { uint32_t x49; uint32_t x48 = _mulx_u32(x5, x29, &x49);
- { uint32_t x52; uint32_t x51 = _mulx_u32(x5, x31, &x52);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x5, x30, &x55);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(0x0, x34, x36, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x37, x39, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x40, x42, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x43, x45, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x46, x48, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x49, x51, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x52, x54, &x75);
- { uint32_t x78; uint8_t _ = _addcarryx_u32(0x0, x76, x55, &x78);
- { uint32_t x82; uint32_t x81 = _mulx_u32(x33, 0xffffffff, &x82);
- { uint32_t x85; uint32_t x84 = _mulx_u32(x33, 0xffffffff, &x85);
- { uint32_t x88; uint32_t x87 = _mulx_u32(x33, 0xffffffff, &x88);
- { uint32_t x91; uint32_t x90 = _mulx_u32(x33, 0xffffffff, &x91);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(0x0, x82, x84, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x85, x87, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x88, 0x0, &x99);
- { uint8_t x101 = (0x0 + 0x0);
- { uint32_t _; uint8_t x104 = _addcarryx_u32(0x0, x33, x81, &_);
- { uint32_t x106; uint8_t x107 = _addcarryx_u32(x104, x57, x93, &x106);
- { uint32_t x109; uint8_t x110 = _addcarryx_u32(x107, x60, x96, &x109);
- { uint32_t x112; uint8_t x113 = _addcarryx_u32(x110, x63, x99, &x112);
- { uint32_t x115; uint8_t x116 = _addcarryx_u32(x113, x66, x100, &x115);
- { uint32_t x118; uint8_t x119 = _addcarryx_u32(x116, x69, x101, &x118);
- { uint32_t x121; uint8_t x122 = _addcarryx_u32(x119, x72, x33, &x121);
- { uint32_t x124; uint8_t x125 = _addcarryx_u32(x122, x75, x90, &x124);
- { uint32_t x127; uint8_t x128 = _addcarryx_u32(x125, x78, x91, &x127);
- { uint8_t x129 = (x128 + 0x0);
- { uint32_t x132; uint32_t x131 = _mulx_u32(x7, x19, &x132);
- { uint32_t x135; uint32_t x134 = _mulx_u32(x7, x21, &x135);
- { uint32_t x138; uint32_t x137 = _mulx_u32(x7, x23, &x138);
- { uint32_t x141; uint32_t x140 = _mulx_u32(x7, x25, &x141);
- { uint32_t x144; uint32_t x143 = _mulx_u32(x7, x27, &x144);
- { uint32_t x147; uint32_t x146 = _mulx_u32(x7, x29, &x147);
- { uint32_t x150; uint32_t x149 = _mulx_u32(x7, x31, &x150);
- { uint32_t x153; uint32_t x152 = _mulx_u32(x7, x30, &x153);
- { uint32_t x155; uint8_t x156 = _addcarryx_u32(0x0, x132, x134, &x155);
- { uint32_t x158; uint8_t x159 = _addcarryx_u32(x156, x135, x137, &x158);
- { uint32_t x161; uint8_t x162 = _addcarryx_u32(x159, x138, x140, &x161);
- { uint32_t x164; uint8_t x165 = _addcarryx_u32(x162, x141, x143, &x164);
- { uint32_t x167; uint8_t x168 = _addcarryx_u32(x165, x144, x146, &x167);
- { uint32_t x170; uint8_t x171 = _addcarryx_u32(x168, x147, x149, &x170);
- { uint32_t x173; uint8_t x174 = _addcarryx_u32(x171, x150, x152, &x173);
- { uint32_t x176; uint8_t _ = _addcarryx_u32(0x0, x174, x153, &x176);
- { uint32_t x179; uint8_t x180 = _addcarryx_u32(0x0, x106, x131, &x179);
- { uint32_t x182; uint8_t x183 = _addcarryx_u32(x180, x109, x155, &x182);
- { uint32_t x185; uint8_t x186 = _addcarryx_u32(x183, x112, x158, &x185);
- { uint32_t x188; uint8_t x189 = _addcarryx_u32(x186, x115, x161, &x188);
- { uint32_t x191; uint8_t x192 = _addcarryx_u32(x189, x118, x164, &x191);
- { uint32_t x194; uint8_t x195 = _addcarryx_u32(x192, x121, x167, &x194);
- { uint32_t x197; uint8_t x198 = _addcarryx_u32(x195, x124, x170, &x197);
- { uint32_t x200; uint8_t x201 = _addcarryx_u32(x198, x127, x173, &x200);
- { uint32_t x203; uint8_t x204 = _addcarryx_u32(x201, x129, x176, &x203);
- { uint32_t x207; uint32_t x206 = _mulx_u32(x179, 0xffffffff, &x207);
- { uint32_t x210; uint32_t x209 = _mulx_u32(x179, 0xffffffff, &x210);
- { uint32_t x213; uint32_t x212 = _mulx_u32(x179, 0xffffffff, &x213);
- { uint32_t x216; uint32_t x215 = _mulx_u32(x179, 0xffffffff, &x216);
- { uint32_t x218; uint8_t x219 = _addcarryx_u32(0x0, x207, x209, &x218);
- { uint32_t x221; uint8_t x222 = _addcarryx_u32(x219, x210, x212, &x221);
- { uint32_t x224; uint8_t x225 = _addcarryx_u32(x222, x213, 0x0, &x224);
- { uint8_t x226 = (0x0 + 0x0);
- { uint32_t _; uint8_t x229 = _addcarryx_u32(0x0, x179, x206, &_);
- { uint32_t x231; uint8_t x232 = _addcarryx_u32(x229, x182, x218, &x231);
- { uint32_t x234; uint8_t x235 = _addcarryx_u32(x232, x185, x221, &x234);
- { uint32_t x237; uint8_t x238 = _addcarryx_u32(x235, x188, x224, &x237);
- { uint32_t x240; uint8_t x241 = _addcarryx_u32(x238, x191, x225, &x240);
- { uint32_t x243; uint8_t x244 = _addcarryx_u32(x241, x194, x226, &x243);
- { uint32_t x246; uint8_t x247 = _addcarryx_u32(x244, x197, x179, &x246);
- { uint32_t x249; uint8_t x250 = _addcarryx_u32(x247, x200, x215, &x249);
- { uint32_t x252; uint8_t x253 = _addcarryx_u32(x250, x203, x216, &x252);
- { uint8_t x254 = (x253 + x204);
- { uint32_t x257; uint32_t x256 = _mulx_u32(x9, x19, &x257);
- { uint32_t x260; uint32_t x259 = _mulx_u32(x9, x21, &x260);
- { uint32_t x263; uint32_t x262 = _mulx_u32(x9, x23, &x263);
- { uint32_t x266; uint32_t x265 = _mulx_u32(x9, x25, &x266);
- { uint32_t x269; uint32_t x268 = _mulx_u32(x9, x27, &x269);
- { uint32_t x272; uint32_t x271 = _mulx_u32(x9, x29, &x272);
- { uint32_t x275; uint32_t x274 = _mulx_u32(x9, x31, &x275);
- { uint32_t x278; uint32_t x277 = _mulx_u32(x9, x30, &x278);
- { uint32_t x280; uint8_t x281 = _addcarryx_u32(0x0, x257, x259, &x280);
- { uint32_t x283; uint8_t x284 = _addcarryx_u32(x281, x260, x262, &x283);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x263, x265, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x266, x268, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x269, x271, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x272, x274, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x275, x277, &x298);
- { uint32_t x301; uint8_t _ = _addcarryx_u32(0x0, x299, x278, &x301);
- { uint32_t x304; uint8_t x305 = _addcarryx_u32(0x0, x231, x256, &x304);
- { uint32_t x307; uint8_t x308 = _addcarryx_u32(x305, x234, x280, &x307);
- { uint32_t x310; uint8_t x311 = _addcarryx_u32(x308, x237, x283, &x310);
- { uint32_t x313; uint8_t x314 = _addcarryx_u32(x311, x240, x286, &x313);
- { uint32_t x316; uint8_t x317 = _addcarryx_u32(x314, x243, x289, &x316);
- { uint32_t x319; uint8_t x320 = _addcarryx_u32(x317, x246, x292, &x319);
- { uint32_t x322; uint8_t x323 = _addcarryx_u32(x320, x249, x295, &x322);
- { uint32_t x325; uint8_t x326 = _addcarryx_u32(x323, x252, x298, &x325);
- { uint32_t x328; uint8_t x329 = _addcarryx_u32(x326, x254, x301, &x328);
- { uint32_t x332; uint32_t x331 = _mulx_u32(x304, 0xffffffff, &x332);
- { uint32_t x335; uint32_t x334 = _mulx_u32(x304, 0xffffffff, &x335);
- { uint32_t x338; uint32_t x337 = _mulx_u32(x304, 0xffffffff, &x338);
- { uint32_t x341; uint32_t x340 = _mulx_u32(x304, 0xffffffff, &x341);
- { uint32_t x343; uint8_t x344 = _addcarryx_u32(0x0, x332, x334, &x343);
- { uint32_t x346; uint8_t x347 = _addcarryx_u32(x344, x335, x337, &x346);
- { uint32_t x349; uint8_t x350 = _addcarryx_u32(x347, x338, 0x0, &x349);
- { uint8_t x351 = (0x0 + 0x0);
- { uint32_t _; uint8_t x354 = _addcarryx_u32(0x0, x304, x331, &_);
- { uint32_t x356; uint8_t x357 = _addcarryx_u32(x354, x307, x343, &x356);
- { uint32_t x359; uint8_t x360 = _addcarryx_u32(x357, x310, x346, &x359);
- { uint32_t x362; uint8_t x363 = _addcarryx_u32(x360, x313, x349, &x362);
- { uint32_t x365; uint8_t x366 = _addcarryx_u32(x363, x316, x350, &x365);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(x366, x319, x351, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x322, x304, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x325, x340, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x328, x341, &x377);
- { uint8_t x379 = (x378 + x329);
- { uint32_t x382; uint32_t x381 = _mulx_u32(x11, x19, &x382);
- { uint32_t x385; uint32_t x384 = _mulx_u32(x11, x21, &x385);
- { uint32_t x388; uint32_t x387 = _mulx_u32(x11, x23, &x388);
- { uint32_t x391; uint32_t x390 = _mulx_u32(x11, x25, &x391);
- { uint32_t x394; uint32_t x393 = _mulx_u32(x11, x27, &x394);
- { uint32_t x397; uint32_t x396 = _mulx_u32(x11, x29, &x397);
- { uint32_t x400; uint32_t x399 = _mulx_u32(x11, x31, &x400);
- { uint32_t x403; uint32_t x402 = _mulx_u32(x11, x30, &x403);
- { uint32_t x405; uint8_t x406 = _addcarryx_u32(0x0, x382, x384, &x405);
- { uint32_t x408; uint8_t x409 = _addcarryx_u32(x406, x385, x387, &x408);
- { uint32_t x411; uint8_t x412 = _addcarryx_u32(x409, x388, x390, &x411);
- { uint32_t x414; uint8_t x415 = _addcarryx_u32(x412, x391, x393, &x414);
- { uint32_t x417; uint8_t x418 = _addcarryx_u32(x415, x394, x396, &x417);
- { uint32_t x420; uint8_t x421 = _addcarryx_u32(x418, x397, x399, &x420);
- { uint32_t x423; uint8_t x424 = _addcarryx_u32(x421, x400, x402, &x423);
- { uint32_t x426; uint8_t _ = _addcarryx_u32(0x0, x424, x403, &x426);
- { uint32_t x429; uint8_t x430 = _addcarryx_u32(0x0, x356, x381, &x429);
- { uint32_t x432; uint8_t x433 = _addcarryx_u32(x430, x359, x405, &x432);
- { uint32_t x435; uint8_t x436 = _addcarryx_u32(x433, x362, x408, &x435);
- { uint32_t x438; uint8_t x439 = _addcarryx_u32(x436, x365, x411, &x438);
- { uint32_t x441; uint8_t x442 = _addcarryx_u32(x439, x368, x414, &x441);
- { uint32_t x444; uint8_t x445 = _addcarryx_u32(x442, x371, x417, &x444);
- { uint32_t x447; uint8_t x448 = _addcarryx_u32(x445, x374, x420, &x447);
- { uint32_t x450; uint8_t x451 = _addcarryx_u32(x448, x377, x423, &x450);
- { uint32_t x453; uint8_t x454 = _addcarryx_u32(x451, x379, x426, &x453);
- { uint32_t x457; uint32_t x456 = _mulx_u32(x429, 0xffffffff, &x457);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x429, 0xffffffff, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x429, 0xffffffff, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x429, 0xffffffff, &x466);
- { uint32_t x468; uint8_t x469 = _addcarryx_u32(0x0, x457, x459, &x468);
- { uint32_t x471; uint8_t x472 = _addcarryx_u32(x469, x460, x462, &x471);
- { uint32_t x474; uint8_t x475 = _addcarryx_u32(x472, x463, 0x0, &x474);
- { uint8_t x476 = (0x0 + 0x0);
- { uint32_t _; uint8_t x479 = _addcarryx_u32(0x0, x429, x456, &_);
- { uint32_t x481; uint8_t x482 = _addcarryx_u32(x479, x432, x468, &x481);
- { uint32_t x484; uint8_t x485 = _addcarryx_u32(x482, x435, x471, &x484);
- { uint32_t x487; uint8_t x488 = _addcarryx_u32(x485, x438, x474, &x487);
- { uint32_t x490; uint8_t x491 = _addcarryx_u32(x488, x441, x475, &x490);
- { uint32_t x493; uint8_t x494 = _addcarryx_u32(x491, x444, x476, &x493);
- { uint32_t x496; uint8_t x497 = _addcarryx_u32(x494, x447, x429, &x496);
- { uint32_t x499; uint8_t x500 = _addcarryx_u32(x497, x450, x465, &x499);
- { uint32_t x502; uint8_t x503 = _addcarryx_u32(x500, x453, x466, &x502);
- { uint8_t x504 = (x503 + x454);
- { uint32_t x507; uint32_t x506 = _mulx_u32(x13, x19, &x507);
- { uint32_t x510; uint32_t x509 = _mulx_u32(x13, x21, &x510);
- { uint32_t x513; uint32_t x512 = _mulx_u32(x13, x23, &x513);
- { uint32_t x516; uint32_t x515 = _mulx_u32(x13, x25, &x516);
- { uint32_t x519; uint32_t x518 = _mulx_u32(x13, x27, &x519);
- { uint32_t x522; uint32_t x521 = _mulx_u32(x13, x29, &x522);
- { uint32_t x525; uint32_t x524 = _mulx_u32(x13, x31, &x525);
- { uint32_t x528; uint32_t x527 = _mulx_u32(x13, x30, &x528);
- { uint32_t x530; uint8_t x531 = _addcarryx_u32(0x0, x507, x509, &x530);
- { uint32_t x533; uint8_t x534 = _addcarryx_u32(x531, x510, x512, &x533);
- { uint32_t x536; uint8_t x537 = _addcarryx_u32(x534, x513, x515, &x536);
- { uint32_t x539; uint8_t x540 = _addcarryx_u32(x537, x516, x518, &x539);
- { uint32_t x542; uint8_t x543 = _addcarryx_u32(x540, x519, x521, &x542);
- { uint32_t x545; uint8_t x546 = _addcarryx_u32(x543, x522, x524, &x545);
- { uint32_t x548; uint8_t x549 = _addcarryx_u32(x546, x525, x527, &x548);
- { uint32_t x551; uint8_t _ = _addcarryx_u32(0x0, x549, x528, &x551);
- { uint32_t x554; uint8_t x555 = _addcarryx_u32(0x0, x481, x506, &x554);
- { uint32_t x557; uint8_t x558 = _addcarryx_u32(x555, x484, x530, &x557);
- { uint32_t x560; uint8_t x561 = _addcarryx_u32(x558, x487, x533, &x560);
- { uint32_t x563; uint8_t x564 = _addcarryx_u32(x561, x490, x536, &x563);
- { uint32_t x566; uint8_t x567 = _addcarryx_u32(x564, x493, x539, &x566);
- { uint32_t x569; uint8_t x570 = _addcarryx_u32(x567, x496, x542, &x569);
- { uint32_t x572; uint8_t x573 = _addcarryx_u32(x570, x499, x545, &x572);
- { uint32_t x575; uint8_t x576 = _addcarryx_u32(x573, x502, x548, &x575);
- { uint32_t x578; uint8_t x579 = _addcarryx_u32(x576, x504, x551, &x578);
- { uint32_t x582; uint32_t x581 = _mulx_u32(x554, 0xffffffff, &x582);
- { uint32_t x585; uint32_t x584 = _mulx_u32(x554, 0xffffffff, &x585);
- { uint32_t x588; uint32_t x587 = _mulx_u32(x554, 0xffffffff, &x588);
- { uint32_t x591; uint32_t x590 = _mulx_u32(x554, 0xffffffff, &x591);
- { uint32_t x593; uint8_t x594 = _addcarryx_u32(0x0, x582, x584, &x593);
- { uint32_t x596; uint8_t x597 = _addcarryx_u32(x594, x585, x587, &x596);
- { uint32_t x599; uint8_t x600 = _addcarryx_u32(x597, x588, 0x0, &x599);
- { uint8_t x601 = (0x0 + 0x0);
- { uint32_t _; uint8_t x604 = _addcarryx_u32(0x0, x554, x581, &_);
- { uint32_t x606; uint8_t x607 = _addcarryx_u32(x604, x557, x593, &x606);
- { uint32_t x609; uint8_t x610 = _addcarryx_u32(x607, x560, x596, &x609);
- { uint32_t x612; uint8_t x613 = _addcarryx_u32(x610, x563, x599, &x612);
- { uint32_t x615; uint8_t x616 = _addcarryx_u32(x613, x566, x600, &x615);
- { uint32_t x618; uint8_t x619 = _addcarryx_u32(x616, x569, x601, &x618);
- { uint32_t x621; uint8_t x622 = _addcarryx_u32(x619, x572, x554, &x621);
- { uint32_t x624; uint8_t x625 = _addcarryx_u32(x622, x575, x590, &x624);
- { uint32_t x627; uint8_t x628 = _addcarryx_u32(x625, x578, x591, &x627);
- { uint8_t x629 = (x628 + x579);
- { uint32_t x632; uint32_t x631 = _mulx_u32(x15, x19, &x632);
- { uint32_t x635; uint32_t x634 = _mulx_u32(x15, x21, &x635);
- { uint32_t x638; uint32_t x637 = _mulx_u32(x15, x23, &x638);
- { uint32_t x641; uint32_t x640 = _mulx_u32(x15, x25, &x641);
- { uint32_t x644; uint32_t x643 = _mulx_u32(x15, x27, &x644);
- { uint32_t x647; uint32_t x646 = _mulx_u32(x15, x29, &x647);
- { uint32_t x650; uint32_t x649 = _mulx_u32(x15, x31, &x650);
- { uint32_t x653; uint32_t x652 = _mulx_u32(x15, x30, &x653);
- { uint32_t x655; uint8_t x656 = _addcarryx_u32(0x0, x632, x634, &x655);
- { uint32_t x658; uint8_t x659 = _addcarryx_u32(x656, x635, x637, &x658);
- { uint32_t x661; uint8_t x662 = _addcarryx_u32(x659, x638, x640, &x661);
- { uint32_t x664; uint8_t x665 = _addcarryx_u32(x662, x641, x643, &x664);
- { uint32_t x667; uint8_t x668 = _addcarryx_u32(x665, x644, x646, &x667);
- { uint32_t x670; uint8_t x671 = _addcarryx_u32(x668, x647, x649, &x670);
- { uint32_t x673; uint8_t x674 = _addcarryx_u32(x671, x650, x652, &x673);
- { uint32_t x676; uint8_t _ = _addcarryx_u32(0x0, x674, x653, &x676);
- { uint32_t x679; uint8_t x680 = _addcarryx_u32(0x0, x606, x631, &x679);
- { uint32_t x682; uint8_t x683 = _addcarryx_u32(x680, x609, x655, &x682);
- { uint32_t x685; uint8_t x686 = _addcarryx_u32(x683, x612, x658, &x685);
- { uint32_t x688; uint8_t x689 = _addcarryx_u32(x686, x615, x661, &x688);
- { uint32_t x691; uint8_t x692 = _addcarryx_u32(x689, x618, x664, &x691);
- { uint32_t x694; uint8_t x695 = _addcarryx_u32(x692, x621, x667, &x694);
- { uint32_t x697; uint8_t x698 = _addcarryx_u32(x695, x624, x670, &x697);
- { uint32_t x700; uint8_t x701 = _addcarryx_u32(x698, x627, x673, &x700);
- { uint32_t x703; uint8_t x704 = _addcarryx_u32(x701, x629, x676, &x703);
- { uint32_t x707; uint32_t x706 = _mulx_u32(x679, 0xffffffff, &x707);
- { uint32_t x710; uint32_t x709 = _mulx_u32(x679, 0xffffffff, &x710);
- { uint32_t x713; uint32_t x712 = _mulx_u32(x679, 0xffffffff, &x713);
- { uint32_t x716; uint32_t x715 = _mulx_u32(x679, 0xffffffff, &x716);
- { uint32_t x718; uint8_t x719 = _addcarryx_u32(0x0, x707, x709, &x718);
- { uint32_t x721; uint8_t x722 = _addcarryx_u32(x719, x710, x712, &x721);
- { uint32_t x724; uint8_t x725 = _addcarryx_u32(x722, x713, 0x0, &x724);
- { uint8_t x726 = (0x0 + 0x0);
- { uint32_t _; uint8_t x729 = _addcarryx_u32(0x0, x679, x706, &_);
- { uint32_t x731; uint8_t x732 = _addcarryx_u32(x729, x682, x718, &x731);
- { uint32_t x734; uint8_t x735 = _addcarryx_u32(x732, x685, x721, &x734);
- { uint32_t x737; uint8_t x738 = _addcarryx_u32(x735, x688, x724, &x737);
- { uint32_t x740; uint8_t x741 = _addcarryx_u32(x738, x691, x725, &x740);
- { uint32_t x743; uint8_t x744 = _addcarryx_u32(x741, x694, x726, &x743);
- { uint32_t x746; uint8_t x747 = _addcarryx_u32(x744, x697, x679, &x746);
- { uint32_t x749; uint8_t x750 = _addcarryx_u32(x747, x700, x715, &x749);
- { uint32_t x752; uint8_t x753 = _addcarryx_u32(x750, x703, x716, &x752);
- { uint8_t x754 = (x753 + x704);
- { uint32_t x757; uint32_t x756 = _mulx_u32(x17, x19, &x757);
- { uint32_t x760; uint32_t x759 = _mulx_u32(x17, x21, &x760);
- { uint32_t x763; uint32_t x762 = _mulx_u32(x17, x23, &x763);
- { uint32_t x766; uint32_t x765 = _mulx_u32(x17, x25, &x766);
- { uint32_t x769; uint32_t x768 = _mulx_u32(x17, x27, &x769);
- { uint32_t x772; uint32_t x771 = _mulx_u32(x17, x29, &x772);
- { uint32_t x775; uint32_t x774 = _mulx_u32(x17, x31, &x775);
- { uint32_t x778; uint32_t x777 = _mulx_u32(x17, x30, &x778);
- { uint32_t x780; uint8_t x781 = _addcarryx_u32(0x0, x757, x759, &x780);
- { uint32_t x783; uint8_t x784 = _addcarryx_u32(x781, x760, x762, &x783);
- { uint32_t x786; uint8_t x787 = _addcarryx_u32(x784, x763, x765, &x786);
- { uint32_t x789; uint8_t x790 = _addcarryx_u32(x787, x766, x768, &x789);
- { uint32_t x792; uint8_t x793 = _addcarryx_u32(x790, x769, x771, &x792);
- { uint32_t x795; uint8_t x796 = _addcarryx_u32(x793, x772, x774, &x795);
- { uint32_t x798; uint8_t x799 = _addcarryx_u32(x796, x775, x777, &x798);
- { uint32_t x801; uint8_t _ = _addcarryx_u32(0x0, x799, x778, &x801);
- { uint32_t x804; uint8_t x805 = _addcarryx_u32(0x0, x731, x756, &x804);
- { uint32_t x807; uint8_t x808 = _addcarryx_u32(x805, x734, x780, &x807);
- { uint32_t x810; uint8_t x811 = _addcarryx_u32(x808, x737, x783, &x810);
- { uint32_t x813; uint8_t x814 = _addcarryx_u32(x811, x740, x786, &x813);
- { uint32_t x816; uint8_t x817 = _addcarryx_u32(x814, x743, x789, &x816);
- { uint32_t x819; uint8_t x820 = _addcarryx_u32(x817, x746, x792, &x819);
- { uint32_t x822; uint8_t x823 = _addcarryx_u32(x820, x749, x795, &x822);
- { uint32_t x825; uint8_t x826 = _addcarryx_u32(x823, x752, x798, &x825);
- { uint32_t x828; uint8_t x829 = _addcarryx_u32(x826, x754, x801, &x828);
- { uint32_t x832; uint32_t x831 = _mulx_u32(x804, 0xffffffff, &x832);
- { uint32_t x835; uint32_t x834 = _mulx_u32(x804, 0xffffffff, &x835);
- { uint32_t x838; uint32_t x837 = _mulx_u32(x804, 0xffffffff, &x838);
- { uint32_t x841; uint32_t x840 = _mulx_u32(x804, 0xffffffff, &x841);
- { uint32_t x843; uint8_t x844 = _addcarryx_u32(0x0, x832, x834, &x843);
- { uint32_t x846; uint8_t x847 = _addcarryx_u32(x844, x835, x837, &x846);
- { uint32_t x849; uint8_t x850 = _addcarryx_u32(x847, x838, 0x0, &x849);
- { uint8_t x851 = (0x0 + 0x0);
- { uint32_t _; uint8_t x854 = _addcarryx_u32(0x0, x804, x831, &_);
- { uint32_t x856; uint8_t x857 = _addcarryx_u32(x854, x807, x843, &x856);
- { uint32_t x859; uint8_t x860 = _addcarryx_u32(x857, x810, x846, &x859);
- { uint32_t x862; uint8_t x863 = _addcarryx_u32(x860, x813, x849, &x862);
- { uint32_t x865; uint8_t x866 = _addcarryx_u32(x863, x816, x850, &x865);
- { uint32_t x868; uint8_t x869 = _addcarryx_u32(x866, x819, x851, &x868);
- { uint32_t x871; uint8_t x872 = _addcarryx_u32(x869, x822, x804, &x871);
- { uint32_t x874; uint8_t x875 = _addcarryx_u32(x872, x825, x840, &x874);
- { uint32_t x877; uint8_t x878 = _addcarryx_u32(x875, x828, x841, &x877);
- { uint8_t x879 = (x878 + x829);
- { uint32_t x882; uint32_t x881 = _mulx_u32(x16, x19, &x882);
- { uint32_t x885; uint32_t x884 = _mulx_u32(x16, x21, &x885);
- { uint32_t x888; uint32_t x887 = _mulx_u32(x16, x23, &x888);
- { uint32_t x891; uint32_t x890 = _mulx_u32(x16, x25, &x891);
- { uint32_t x894; uint32_t x893 = _mulx_u32(x16, x27, &x894);
- { uint32_t x897; uint32_t x896 = _mulx_u32(x16, x29, &x897);
- { uint32_t x900; uint32_t x899 = _mulx_u32(x16, x31, &x900);
- { uint32_t x903; uint32_t x902 = _mulx_u32(x16, x30, &x903);
- { uint32_t x905; uint8_t x906 = _addcarryx_u32(0x0, x882, x884, &x905);
- { uint32_t x908; uint8_t x909 = _addcarryx_u32(x906, x885, x887, &x908);
- { uint32_t x911; uint8_t x912 = _addcarryx_u32(x909, x888, x890, &x911);
- { uint32_t x914; uint8_t x915 = _addcarryx_u32(x912, x891, x893, &x914);
- { uint32_t x917; uint8_t x918 = _addcarryx_u32(x915, x894, x896, &x917);
- { uint32_t x920; uint8_t x921 = _addcarryx_u32(x918, x897, x899, &x920);
- { uint32_t x923; uint8_t x924 = _addcarryx_u32(x921, x900, x902, &x923);
- { uint32_t x926; uint8_t _ = _addcarryx_u32(0x0, x924, x903, &x926);
- { uint32_t x929; uint8_t x930 = _addcarryx_u32(0x0, x856, x881, &x929);
- { uint32_t x932; uint8_t x933 = _addcarryx_u32(x930, x859, x905, &x932);
- { uint32_t x935; uint8_t x936 = _addcarryx_u32(x933, x862, x908, &x935);
- { uint32_t x938; uint8_t x939 = _addcarryx_u32(x936, x865, x911, &x938);
- { uint32_t x941; uint8_t x942 = _addcarryx_u32(x939, x868, x914, &x941);
- { uint32_t x944; uint8_t x945 = _addcarryx_u32(x942, x871, x917, &x944);
- { uint32_t x947; uint8_t x948 = _addcarryx_u32(x945, x874, x920, &x947);
- { uint32_t x950; uint8_t x951 = _addcarryx_u32(x948, x877, x923, &x950);
- { uint32_t x953; uint8_t x954 = _addcarryx_u32(x951, x879, x926, &x953);
- { uint32_t x957; uint32_t x956 = _mulx_u32(x929, 0xffffffff, &x957);
- { uint32_t x960; uint32_t x959 = _mulx_u32(x929, 0xffffffff, &x960);
- { uint32_t x963; uint32_t x962 = _mulx_u32(x929, 0xffffffff, &x963);
- { uint32_t x966; uint32_t x965 = _mulx_u32(x929, 0xffffffff, &x966);
- { uint32_t x968; uint8_t x969 = _addcarryx_u32(0x0, x957, x959, &x968);
- { uint32_t x971; uint8_t x972 = _addcarryx_u32(x969, x960, x962, &x971);
- { uint32_t x974; uint8_t x975 = _addcarryx_u32(x972, x963, 0x0, &x974);
- { uint8_t x976 = (0x0 + 0x0);
- { uint32_t _; uint8_t x979 = _addcarryx_u32(0x0, x929, x956, &_);
- { uint32_t x981; uint8_t x982 = _addcarryx_u32(x979, x932, x968, &x981);
- { uint32_t x984; uint8_t x985 = _addcarryx_u32(x982, x935, x971, &x984);
- { uint32_t x987; uint8_t x988 = _addcarryx_u32(x985, x938, x974, &x987);
- { uint32_t x990; uint8_t x991 = _addcarryx_u32(x988, x941, x975, &x990);
- { uint32_t x993; uint8_t x994 = _addcarryx_u32(x991, x944, x976, &x993);
- { uint32_t x996; uint8_t x997 = _addcarryx_u32(x994, x947, x929, &x996);
- { uint32_t x999; uint8_t x1000 = _addcarryx_u32(x997, x950, x965, &x999);
- { uint32_t x1002; uint8_t x1003 = _addcarryx_u32(x1000, x953, x966, &x1002);
- { uint8_t x1004 = (x1003 + x954);
- { uint32_t x1006; uint8_t x1007 = _subborrow_u32(0x0, x981, 0xffffffff, &x1006);
- { uint32_t x1009; uint8_t x1010 = _subborrow_u32(x1007, x984, 0xffffffff, &x1009);
- { uint32_t x1012; uint8_t x1013 = _subborrow_u32(x1010, x987, 0xffffffff, &x1012);
- { uint32_t x1015; uint8_t x1016 = _subborrow_u32(x1013, x990, 0x0, &x1015);
- { uint32_t x1018; uint8_t x1019 = _subborrow_u32(x1016, x993, 0x0, &x1018);
- { uint32_t x1021; uint8_t x1022 = _subborrow_u32(x1019, x996, 0x0, &x1021);
- { uint32_t x1024; uint8_t x1025 = _subborrow_u32(x1022, x999, 0x1, &x1024);
- { uint32_t x1027; uint8_t x1028 = _subborrow_u32(x1025, x1002, 0xffffffff, &x1027);
- { uint32_t _; uint8_t x1031 = _subborrow_u32(x1028, x1004, 0x0, &_);
- { uint32_t x1032 = cmovznz32(x1031, x1027, x1002);
- { uint32_t x1033 = cmovznz32(x1031, x1024, x999);
- { uint32_t x1034 = cmovznz32(x1031, x1021, x996);
- { uint32_t x1035 = cmovznz32(x1031, x1018, x993);
- { uint32_t x1036 = cmovznz32(x1031, x1015, x990);
- { uint32_t x1037 = cmovznz32(x1031, x1012, x987);
- { uint32_t x1038 = cmovznz32(x1031, x1009, x984);
- { uint32_t x1039 = cmovznz32(x1031, x1006, x981);
- out[0] = x1039;
- out[1] = x1038;
- out[2] = x1037;
- out[3] = x1036;
- out[4] = x1035;
- out[5] = x1034;
- out[6] = x1033;
- out[7] = x1032;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.v
deleted file mode 100644
index 284b2cc23..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.log b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.log
deleted file mode 100644
index c7c748f7f..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,359 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x19);
- uint32_t x36, uint32_t x37 = mulx_u32(x5, x21);
- uint32_t x39, uint32_t x40 = mulx_u32(x5, x23);
- uint32_t x42, uint32_t x43 = mulx_u32(x5, x25);
- uint32_t x45, uint32_t x46 = mulx_u32(x5, x27);
- uint32_t x48, uint32_t x49 = mulx_u32(x5, x29);
- uint32_t x51, uint32_t x52 = mulx_u32(x5, x31);
- uint32_t x54, uint32_t x55 = mulx_u32(x5, x30);
- uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x34, x36);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x37, x39);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x40, x42);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x43, x45);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x46, x48);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x49, x51);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x52, x54);
- uint32_t x78, uint8_t _ = addcarryx_u32(0x0, x76, x55);
- uint32_t x81, uint32_t x82 = mulx_u32(x33, 0xffffffff);
- uint32_t x84, uint32_t x85 = mulx_u32(x33, 0xffffffff);
- uint32_t x87, uint32_t x88 = mulx_u32(x33, 0xffffffff);
- uint32_t x90, uint32_t x91 = mulx_u32(x33, 0xffffffff);
- uint32_t x93, uint8_t x94 = addcarryx_u32(0x0, x82, x84);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x85, x87);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x88, 0x0);
- uint8_t x101 = (0x0 + 0x0);
- uint32_t _, uint8_t x104 = addcarryx_u32(0x0, x33, x81);
- uint32_t x106, uint8_t x107 = addcarryx_u32(x104, x57, x93);
- uint32_t x109, uint8_t x110 = addcarryx_u32(x107, x60, x96);
- uint32_t x112, uint8_t x113 = addcarryx_u32(x110, x63, x99);
- uint32_t x115, uint8_t x116 = addcarryx_u32(x113, x66, x100);
- uint32_t x118, uint8_t x119 = addcarryx_u32(x116, x69, x101);
- uint32_t x121, uint8_t x122 = addcarryx_u32(x119, x72, x33);
- uint32_t x124, uint8_t x125 = addcarryx_u32(x122, x75, x90);
- uint32_t x127, uint8_t x128 = addcarryx_u32(x125, x78, x91);
- uint8_t x129 = (x128 + 0x0);
- uint32_t x131, uint32_t x132 = mulx_u32(x7, x19);
- uint32_t x134, uint32_t x135 = mulx_u32(x7, x21);
- uint32_t x137, uint32_t x138 = mulx_u32(x7, x23);
- uint32_t x140, uint32_t x141 = mulx_u32(x7, x25);
- uint32_t x143, uint32_t x144 = mulx_u32(x7, x27);
- uint32_t x146, uint32_t x147 = mulx_u32(x7, x29);
- uint32_t x149, uint32_t x150 = mulx_u32(x7, x31);
- uint32_t x152, uint32_t x153 = mulx_u32(x7, x30);
- uint32_t x155, uint8_t x156 = addcarryx_u32(0x0, x132, x134);
- uint32_t x158, uint8_t x159 = addcarryx_u32(x156, x135, x137);
- uint32_t x161, uint8_t x162 = addcarryx_u32(x159, x138, x140);
- uint32_t x164, uint8_t x165 = addcarryx_u32(x162, x141, x143);
- uint32_t x167, uint8_t x168 = addcarryx_u32(x165, x144, x146);
- uint32_t x170, uint8_t x171 = addcarryx_u32(x168, x147, x149);
- uint32_t x173, uint8_t x174 = addcarryx_u32(x171, x150, x152);
- uint32_t x176, uint8_t _ = addcarryx_u32(0x0, x174, x153);
- uint32_t x179, uint8_t x180 = addcarryx_u32(0x0, x106, x131);
- uint32_t x182, uint8_t x183 = addcarryx_u32(x180, x109, x155);
- uint32_t x185, uint8_t x186 = addcarryx_u32(x183, x112, x158);
- uint32_t x188, uint8_t x189 = addcarryx_u32(x186, x115, x161);
- uint32_t x191, uint8_t x192 = addcarryx_u32(x189, x118, x164);
- uint32_t x194, uint8_t x195 = addcarryx_u32(x192, x121, x167);
- uint32_t x197, uint8_t x198 = addcarryx_u32(x195, x124, x170);
- uint32_t x200, uint8_t x201 = addcarryx_u32(x198, x127, x173);
- uint32_t x203, uint8_t x204 = addcarryx_u32(x201, x129, x176);
- uint32_t x206, uint32_t x207 = mulx_u32(x179, 0xffffffff);
- uint32_t x209, uint32_t x210 = mulx_u32(x179, 0xffffffff);
- uint32_t x212, uint32_t x213 = mulx_u32(x179, 0xffffffff);
- uint32_t x215, uint32_t x216 = mulx_u32(x179, 0xffffffff);
- uint32_t x218, uint8_t x219 = addcarryx_u32(0x0, x207, x209);
- uint32_t x221, uint8_t x222 = addcarryx_u32(x219, x210, x212);
- uint32_t x224, uint8_t x225 = addcarryx_u32(x222, x213, 0x0);
- uint8_t x226 = (0x0 + 0x0);
- uint32_t _, uint8_t x229 = addcarryx_u32(0x0, x179, x206);
- uint32_t x231, uint8_t x232 = addcarryx_u32(x229, x182, x218);
- uint32_t x234, uint8_t x235 = addcarryx_u32(x232, x185, x221);
- uint32_t x237, uint8_t x238 = addcarryx_u32(x235, x188, x224);
- uint32_t x240, uint8_t x241 = addcarryx_u32(x238, x191, x225);
- uint32_t x243, uint8_t x244 = addcarryx_u32(x241, x194, x226);
- uint32_t x246, uint8_t x247 = addcarryx_u32(x244, x197, x179);
- uint32_t x249, uint8_t x250 = addcarryx_u32(x247, x200, x215);
- uint32_t x252, uint8_t x253 = addcarryx_u32(x250, x203, x216);
- uint8_t x254 = (x253 + x204);
- uint32_t x256, uint32_t x257 = mulx_u32(x9, x19);
- uint32_t x259, uint32_t x260 = mulx_u32(x9, x21);
- uint32_t x262, uint32_t x263 = mulx_u32(x9, x23);
- uint32_t x265, uint32_t x266 = mulx_u32(x9, x25);
- uint32_t x268, uint32_t x269 = mulx_u32(x9, x27);
- uint32_t x271, uint32_t x272 = mulx_u32(x9, x29);
- uint32_t x274, uint32_t x275 = mulx_u32(x9, x31);
- uint32_t x277, uint32_t x278 = mulx_u32(x9, x30);
- uint32_t x280, uint8_t x281 = addcarryx_u32(0x0, x257, x259);
- uint32_t x283, uint8_t x284 = addcarryx_u32(x281, x260, x262);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x263, x265);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x266, x268);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x269, x271);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x272, x274);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x275, x277);
- uint32_t x301, uint8_t _ = addcarryx_u32(0x0, x299, x278);
- uint32_t x304, uint8_t x305 = addcarryx_u32(0x0, x231, x256);
- uint32_t x307, uint8_t x308 = addcarryx_u32(x305, x234, x280);
- uint32_t x310, uint8_t x311 = addcarryx_u32(x308, x237, x283);
- uint32_t x313, uint8_t x314 = addcarryx_u32(x311, x240, x286);
- uint32_t x316, uint8_t x317 = addcarryx_u32(x314, x243, x289);
- uint32_t x319, uint8_t x320 = addcarryx_u32(x317, x246, x292);
- uint32_t x322, uint8_t x323 = addcarryx_u32(x320, x249, x295);
- uint32_t x325, uint8_t x326 = addcarryx_u32(x323, x252, x298);
- uint32_t x328, uint8_t x329 = addcarryx_u32(x326, x254, x301);
- uint32_t x331, uint32_t x332 = mulx_u32(x304, 0xffffffff);
- uint32_t x334, uint32_t x335 = mulx_u32(x304, 0xffffffff);
- uint32_t x337, uint32_t x338 = mulx_u32(x304, 0xffffffff);
- uint32_t x340, uint32_t x341 = mulx_u32(x304, 0xffffffff);
- uint32_t x343, uint8_t x344 = addcarryx_u32(0x0, x332, x334);
- uint32_t x346, uint8_t x347 = addcarryx_u32(x344, x335, x337);
- uint32_t x349, uint8_t x350 = addcarryx_u32(x347, x338, 0x0);
- uint8_t x351 = (0x0 + 0x0);
- uint32_t _, uint8_t x354 = addcarryx_u32(0x0, x304, x331);
- uint32_t x356, uint8_t x357 = addcarryx_u32(x354, x307, x343);
- uint32_t x359, uint8_t x360 = addcarryx_u32(x357, x310, x346);
- uint32_t x362, uint8_t x363 = addcarryx_u32(x360, x313, x349);
- uint32_t x365, uint8_t x366 = addcarryx_u32(x363, x316, x350);
- uint32_t x368, uint8_t x369 = addcarryx_u32(x366, x319, x351);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x322, x304);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x325, x340);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x328, x341);
- uint8_t x379 = (x378 + x329);
- uint32_t x381, uint32_t x382 = mulx_u32(x11, x19);
- uint32_t x384, uint32_t x385 = mulx_u32(x11, x21);
- uint32_t x387, uint32_t x388 = mulx_u32(x11, x23);
- uint32_t x390, uint32_t x391 = mulx_u32(x11, x25);
- uint32_t x393, uint32_t x394 = mulx_u32(x11, x27);
- uint32_t x396, uint32_t x397 = mulx_u32(x11, x29);
- uint32_t x399, uint32_t x400 = mulx_u32(x11, x31);
- uint32_t x402, uint32_t x403 = mulx_u32(x11, x30);
- uint32_t x405, uint8_t x406 = addcarryx_u32(0x0, x382, x384);
- uint32_t x408, uint8_t x409 = addcarryx_u32(x406, x385, x387);
- uint32_t x411, uint8_t x412 = addcarryx_u32(x409, x388, x390);
- uint32_t x414, uint8_t x415 = addcarryx_u32(x412, x391, x393);
- uint32_t x417, uint8_t x418 = addcarryx_u32(x415, x394, x396);
- uint32_t x420, uint8_t x421 = addcarryx_u32(x418, x397, x399);
- uint32_t x423, uint8_t x424 = addcarryx_u32(x421, x400, x402);
- uint32_t x426, uint8_t _ = addcarryx_u32(0x0, x424, x403);
- uint32_t x429, uint8_t x430 = addcarryx_u32(0x0, x356, x381);
- uint32_t x432, uint8_t x433 = addcarryx_u32(x430, x359, x405);
- uint32_t x435, uint8_t x436 = addcarryx_u32(x433, x362, x408);
- uint32_t x438, uint8_t x439 = addcarryx_u32(x436, x365, x411);
- uint32_t x441, uint8_t x442 = addcarryx_u32(x439, x368, x414);
- uint32_t x444, uint8_t x445 = addcarryx_u32(x442, x371, x417);
- uint32_t x447, uint8_t x448 = addcarryx_u32(x445, x374, x420);
- uint32_t x450, uint8_t x451 = addcarryx_u32(x448, x377, x423);
- uint32_t x453, uint8_t x454 = addcarryx_u32(x451, x379, x426);
- uint32_t x456, uint32_t x457 = mulx_u32(x429, 0xffffffff);
- uint32_t x459, uint32_t x460 = mulx_u32(x429, 0xffffffff);
- uint32_t x462, uint32_t x463 = mulx_u32(x429, 0xffffffff);
- uint32_t x465, uint32_t x466 = mulx_u32(x429, 0xffffffff);
- uint32_t x468, uint8_t x469 = addcarryx_u32(0x0, x457, x459);
- uint32_t x471, uint8_t x472 = addcarryx_u32(x469, x460, x462);
- uint32_t x474, uint8_t x475 = addcarryx_u32(x472, x463, 0x0);
- uint8_t x476 = (0x0 + 0x0);
- uint32_t _, uint8_t x479 = addcarryx_u32(0x0, x429, x456);
- uint32_t x481, uint8_t x482 = addcarryx_u32(x479, x432, x468);
- uint32_t x484, uint8_t x485 = addcarryx_u32(x482, x435, x471);
- uint32_t x487, uint8_t x488 = addcarryx_u32(x485, x438, x474);
- uint32_t x490, uint8_t x491 = addcarryx_u32(x488, x441, x475);
- uint32_t x493, uint8_t x494 = addcarryx_u32(x491, x444, x476);
- uint32_t x496, uint8_t x497 = addcarryx_u32(x494, x447, x429);
- uint32_t x499, uint8_t x500 = addcarryx_u32(x497, x450, x465);
- uint32_t x502, uint8_t x503 = addcarryx_u32(x500, x453, x466);
- uint8_t x504 = (x503 + x454);
- uint32_t x506, uint32_t x507 = mulx_u32(x13, x19);
- uint32_t x509, uint32_t x510 = mulx_u32(x13, x21);
- uint32_t x512, uint32_t x513 = mulx_u32(x13, x23);
- uint32_t x515, uint32_t x516 = mulx_u32(x13, x25);
- uint32_t x518, uint32_t x519 = mulx_u32(x13, x27);
- uint32_t x521, uint32_t x522 = mulx_u32(x13, x29);
- uint32_t x524, uint32_t x525 = mulx_u32(x13, x31);
- uint32_t x527, uint32_t x528 = mulx_u32(x13, x30);
- uint32_t x530, uint8_t x531 = addcarryx_u32(0x0, x507, x509);
- uint32_t x533, uint8_t x534 = addcarryx_u32(x531, x510, x512);
- uint32_t x536, uint8_t x537 = addcarryx_u32(x534, x513, x515);
- uint32_t x539, uint8_t x540 = addcarryx_u32(x537, x516, x518);
- uint32_t x542, uint8_t x543 = addcarryx_u32(x540, x519, x521);
- uint32_t x545, uint8_t x546 = addcarryx_u32(x543, x522, x524);
- uint32_t x548, uint8_t x549 = addcarryx_u32(x546, x525, x527);
- uint32_t x551, uint8_t _ = addcarryx_u32(0x0, x549, x528);
- uint32_t x554, uint8_t x555 = addcarryx_u32(0x0, x481, x506);
- uint32_t x557, uint8_t x558 = addcarryx_u32(x555, x484, x530);
- uint32_t x560, uint8_t x561 = addcarryx_u32(x558, x487, x533);
- uint32_t x563, uint8_t x564 = addcarryx_u32(x561, x490, x536);
- uint32_t x566, uint8_t x567 = addcarryx_u32(x564, x493, x539);
- uint32_t x569, uint8_t x570 = addcarryx_u32(x567, x496, x542);
- uint32_t x572, uint8_t x573 = addcarryx_u32(x570, x499, x545);
- uint32_t x575, uint8_t x576 = addcarryx_u32(x573, x502, x548);
- uint32_t x578, uint8_t x579 = addcarryx_u32(x576, x504, x551);
- uint32_t x581, uint32_t x582 = mulx_u32(x554, 0xffffffff);
- uint32_t x584, uint32_t x585 = mulx_u32(x554, 0xffffffff);
- uint32_t x587, uint32_t x588 = mulx_u32(x554, 0xffffffff);
- uint32_t x590, uint32_t x591 = mulx_u32(x554, 0xffffffff);
- uint32_t x593, uint8_t x594 = addcarryx_u32(0x0, x582, x584);
- uint32_t x596, uint8_t x597 = addcarryx_u32(x594, x585, x587);
- uint32_t x599, uint8_t x600 = addcarryx_u32(x597, x588, 0x0);
- uint8_t x601 = (0x0 + 0x0);
- uint32_t _, uint8_t x604 = addcarryx_u32(0x0, x554, x581);
- uint32_t x606, uint8_t x607 = addcarryx_u32(x604, x557, x593);
- uint32_t x609, uint8_t x610 = addcarryx_u32(x607, x560, x596);
- uint32_t x612, uint8_t x613 = addcarryx_u32(x610, x563, x599);
- uint32_t x615, uint8_t x616 = addcarryx_u32(x613, x566, x600);
- uint32_t x618, uint8_t x619 = addcarryx_u32(x616, x569, x601);
- uint32_t x621, uint8_t x622 = addcarryx_u32(x619, x572, x554);
- uint32_t x624, uint8_t x625 = addcarryx_u32(x622, x575, x590);
- uint32_t x627, uint8_t x628 = addcarryx_u32(x625, x578, x591);
- uint8_t x629 = (x628 + x579);
- uint32_t x631, uint32_t x632 = mulx_u32(x15, x19);
- uint32_t x634, uint32_t x635 = mulx_u32(x15, x21);
- uint32_t x637, uint32_t x638 = mulx_u32(x15, x23);
- uint32_t x640, uint32_t x641 = mulx_u32(x15, x25);
- uint32_t x643, uint32_t x644 = mulx_u32(x15, x27);
- uint32_t x646, uint32_t x647 = mulx_u32(x15, x29);
- uint32_t x649, uint32_t x650 = mulx_u32(x15, x31);
- uint32_t x652, uint32_t x653 = mulx_u32(x15, x30);
- uint32_t x655, uint8_t x656 = addcarryx_u32(0x0, x632, x634);
- uint32_t x658, uint8_t x659 = addcarryx_u32(x656, x635, x637);
- uint32_t x661, uint8_t x662 = addcarryx_u32(x659, x638, x640);
- uint32_t x664, uint8_t x665 = addcarryx_u32(x662, x641, x643);
- uint32_t x667, uint8_t x668 = addcarryx_u32(x665, x644, x646);
- uint32_t x670, uint8_t x671 = addcarryx_u32(x668, x647, x649);
- uint32_t x673, uint8_t x674 = addcarryx_u32(x671, x650, x652);
- uint32_t x676, uint8_t _ = addcarryx_u32(0x0, x674, x653);
- uint32_t x679, uint8_t x680 = addcarryx_u32(0x0, x606, x631);
- uint32_t x682, uint8_t x683 = addcarryx_u32(x680, x609, x655);
- uint32_t x685, uint8_t x686 = addcarryx_u32(x683, x612, x658);
- uint32_t x688, uint8_t x689 = addcarryx_u32(x686, x615, x661);
- uint32_t x691, uint8_t x692 = addcarryx_u32(x689, x618, x664);
- uint32_t x694, uint8_t x695 = addcarryx_u32(x692, x621, x667);
- uint32_t x697, uint8_t x698 = addcarryx_u32(x695, x624, x670);
- uint32_t x700, uint8_t x701 = addcarryx_u32(x698, x627, x673);
- uint32_t x703, uint8_t x704 = addcarryx_u32(x701, x629, x676);
- uint32_t x706, uint32_t x707 = mulx_u32(x679, 0xffffffff);
- uint32_t x709, uint32_t x710 = mulx_u32(x679, 0xffffffff);
- uint32_t x712, uint32_t x713 = mulx_u32(x679, 0xffffffff);
- uint32_t x715, uint32_t x716 = mulx_u32(x679, 0xffffffff);
- uint32_t x718, uint8_t x719 = addcarryx_u32(0x0, x707, x709);
- uint32_t x721, uint8_t x722 = addcarryx_u32(x719, x710, x712);
- uint32_t x724, uint8_t x725 = addcarryx_u32(x722, x713, 0x0);
- uint8_t x726 = (0x0 + 0x0);
- uint32_t _, uint8_t x729 = addcarryx_u32(0x0, x679, x706);
- uint32_t x731, uint8_t x732 = addcarryx_u32(x729, x682, x718);
- uint32_t x734, uint8_t x735 = addcarryx_u32(x732, x685, x721);
- uint32_t x737, uint8_t x738 = addcarryx_u32(x735, x688, x724);
- uint32_t x740, uint8_t x741 = addcarryx_u32(x738, x691, x725);
- uint32_t x743, uint8_t x744 = addcarryx_u32(x741, x694, x726);
- uint32_t x746, uint8_t x747 = addcarryx_u32(x744, x697, x679);
- uint32_t x749, uint8_t x750 = addcarryx_u32(x747, x700, x715);
- uint32_t x752, uint8_t x753 = addcarryx_u32(x750, x703, x716);
- uint8_t x754 = (x753 + x704);
- uint32_t x756, uint32_t x757 = mulx_u32(x17, x19);
- uint32_t x759, uint32_t x760 = mulx_u32(x17, x21);
- uint32_t x762, uint32_t x763 = mulx_u32(x17, x23);
- uint32_t x765, uint32_t x766 = mulx_u32(x17, x25);
- uint32_t x768, uint32_t x769 = mulx_u32(x17, x27);
- uint32_t x771, uint32_t x772 = mulx_u32(x17, x29);
- uint32_t x774, uint32_t x775 = mulx_u32(x17, x31);
- uint32_t x777, uint32_t x778 = mulx_u32(x17, x30);
- uint32_t x780, uint8_t x781 = addcarryx_u32(0x0, x757, x759);
- uint32_t x783, uint8_t x784 = addcarryx_u32(x781, x760, x762);
- uint32_t x786, uint8_t x787 = addcarryx_u32(x784, x763, x765);
- uint32_t x789, uint8_t x790 = addcarryx_u32(x787, x766, x768);
- uint32_t x792, uint8_t x793 = addcarryx_u32(x790, x769, x771);
- uint32_t x795, uint8_t x796 = addcarryx_u32(x793, x772, x774);
- uint32_t x798, uint8_t x799 = addcarryx_u32(x796, x775, x777);
- uint32_t x801, uint8_t _ = addcarryx_u32(0x0, x799, x778);
- uint32_t x804, uint8_t x805 = addcarryx_u32(0x0, x731, x756);
- uint32_t x807, uint8_t x808 = addcarryx_u32(x805, x734, x780);
- uint32_t x810, uint8_t x811 = addcarryx_u32(x808, x737, x783);
- uint32_t x813, uint8_t x814 = addcarryx_u32(x811, x740, x786);
- uint32_t x816, uint8_t x817 = addcarryx_u32(x814, x743, x789);
- uint32_t x819, uint8_t x820 = addcarryx_u32(x817, x746, x792);
- uint32_t x822, uint8_t x823 = addcarryx_u32(x820, x749, x795);
- uint32_t x825, uint8_t x826 = addcarryx_u32(x823, x752, x798);
- uint32_t x828, uint8_t x829 = addcarryx_u32(x826, x754, x801);
- uint32_t x831, uint32_t x832 = mulx_u32(x804, 0xffffffff);
- uint32_t x834, uint32_t x835 = mulx_u32(x804, 0xffffffff);
- uint32_t x837, uint32_t x838 = mulx_u32(x804, 0xffffffff);
- uint32_t x840, uint32_t x841 = mulx_u32(x804, 0xffffffff);
- uint32_t x843, uint8_t x844 = addcarryx_u32(0x0, x832, x834);
- uint32_t x846, uint8_t x847 = addcarryx_u32(x844, x835, x837);
- uint32_t x849, uint8_t x850 = addcarryx_u32(x847, x838, 0x0);
- uint8_t x851 = (0x0 + 0x0);
- uint32_t _, uint8_t x854 = addcarryx_u32(0x0, x804, x831);
- uint32_t x856, uint8_t x857 = addcarryx_u32(x854, x807, x843);
- uint32_t x859, uint8_t x860 = addcarryx_u32(x857, x810, x846);
- uint32_t x862, uint8_t x863 = addcarryx_u32(x860, x813, x849);
- uint32_t x865, uint8_t x866 = addcarryx_u32(x863, x816, x850);
- uint32_t x868, uint8_t x869 = addcarryx_u32(x866, x819, x851);
- uint32_t x871, uint8_t x872 = addcarryx_u32(x869, x822, x804);
- uint32_t x874, uint8_t x875 = addcarryx_u32(x872, x825, x840);
- uint32_t x877, uint8_t x878 = addcarryx_u32(x875, x828, x841);
- uint8_t x879 = (x878 + x829);
- uint32_t x881, uint32_t x882 = mulx_u32(x16, x19);
- uint32_t x884, uint32_t x885 = mulx_u32(x16, x21);
- uint32_t x887, uint32_t x888 = mulx_u32(x16, x23);
- uint32_t x890, uint32_t x891 = mulx_u32(x16, x25);
- uint32_t x893, uint32_t x894 = mulx_u32(x16, x27);
- uint32_t x896, uint32_t x897 = mulx_u32(x16, x29);
- uint32_t x899, uint32_t x900 = mulx_u32(x16, x31);
- uint32_t x902, uint32_t x903 = mulx_u32(x16, x30);
- uint32_t x905, uint8_t x906 = addcarryx_u32(0x0, x882, x884);
- uint32_t x908, uint8_t x909 = addcarryx_u32(x906, x885, x887);
- uint32_t x911, uint8_t x912 = addcarryx_u32(x909, x888, x890);
- uint32_t x914, uint8_t x915 = addcarryx_u32(x912, x891, x893);
- uint32_t x917, uint8_t x918 = addcarryx_u32(x915, x894, x896);
- uint32_t x920, uint8_t x921 = addcarryx_u32(x918, x897, x899);
- uint32_t x923, uint8_t x924 = addcarryx_u32(x921, x900, x902);
- uint32_t x926, uint8_t _ = addcarryx_u32(0x0, x924, x903);
- uint32_t x929, uint8_t x930 = addcarryx_u32(0x0, x856, x881);
- uint32_t x932, uint8_t x933 = addcarryx_u32(x930, x859, x905);
- uint32_t x935, uint8_t x936 = addcarryx_u32(x933, x862, x908);
- uint32_t x938, uint8_t x939 = addcarryx_u32(x936, x865, x911);
- uint32_t x941, uint8_t x942 = addcarryx_u32(x939, x868, x914);
- uint32_t x944, uint8_t x945 = addcarryx_u32(x942, x871, x917);
- uint32_t x947, uint8_t x948 = addcarryx_u32(x945, x874, x920);
- uint32_t x950, uint8_t x951 = addcarryx_u32(x948, x877, x923);
- uint32_t x953, uint8_t x954 = addcarryx_u32(x951, x879, x926);
- uint32_t x956, uint32_t x957 = mulx_u32(x929, 0xffffffff);
- uint32_t x959, uint32_t x960 = mulx_u32(x929, 0xffffffff);
- uint32_t x962, uint32_t x963 = mulx_u32(x929, 0xffffffff);
- uint32_t x965, uint32_t x966 = mulx_u32(x929, 0xffffffff);
- uint32_t x968, uint8_t x969 = addcarryx_u32(0x0, x957, x959);
- uint32_t x971, uint8_t x972 = addcarryx_u32(x969, x960, x962);
- uint32_t x974, uint8_t x975 = addcarryx_u32(x972, x963, 0x0);
- uint8_t x976 = (0x0 + 0x0);
- uint32_t _, uint8_t x979 = addcarryx_u32(0x0, x929, x956);
- uint32_t x981, uint8_t x982 = addcarryx_u32(x979, x932, x968);
- uint32_t x984, uint8_t x985 = addcarryx_u32(x982, x935, x971);
- uint32_t x987, uint8_t x988 = addcarryx_u32(x985, x938, x974);
- uint32_t x990, uint8_t x991 = addcarryx_u32(x988, x941, x975);
- uint32_t x993, uint8_t x994 = addcarryx_u32(x991, x944, x976);
- uint32_t x996, uint8_t x997 = addcarryx_u32(x994, x947, x929);
- uint32_t x999, uint8_t x1000 = addcarryx_u32(x997, x950, x965);
- uint32_t x1002, uint8_t x1003 = addcarryx_u32(x1000, x953, x966);
- uint8_t x1004 = (x1003 + x954);
- uint32_t x1006, uint8_t x1007 = subborrow_u32(0x0, x981, 0xffffffff);
- uint32_t x1009, uint8_t x1010 = subborrow_u32(x1007, x984, 0xffffffff);
- uint32_t x1012, uint8_t x1013 = subborrow_u32(x1010, x987, 0xffffffff);
- uint32_t x1015, uint8_t x1016 = subborrow_u32(x1013, x990, 0x0);
- uint32_t x1018, uint8_t x1019 = subborrow_u32(x1016, x993, 0x0);
- uint32_t x1021, uint8_t x1022 = subborrow_u32(x1019, x996, 0x0);
- uint32_t x1024, uint8_t x1025 = subborrow_u32(x1022, x999, 0x1);
- uint32_t x1027, uint8_t x1028 = subborrow_u32(x1025, x1002, 0xffffffff);
- uint32_t _, uint8_t x1031 = subborrow_u32(x1028, x1004, 0x0);
- uint32_t x1032 = cmovznz32(x1031, x1027, x1002);
- uint32_t x1033 = cmovznz32(x1031, x1024, x999);
- uint32_t x1034 = cmovznz32(x1031, x1021, x996);
- uint32_t x1035 = cmovznz32(x1031, x1018, x993);
- uint32_t x1036 = cmovznz32(x1031, x1015, x990);
- uint32_t x1037 = cmovznz32(x1031, x1012, x987);
- uint32_t x1038 = cmovznz32(x1031, x1009, x984);
- uint32_t x1039 = cmovznz32(x1031, x1006, x981);
- return (x1032, x1033, x1034, x1035, x1036, x1037, x1038, x1039))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.v
deleted file mode 100644
index 4ae2eaca0..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.c b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.v
deleted file mode 100644
index 5856d542c..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.v
deleted file mode 100644
index 3154b837d..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feopp.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feopp.v
deleted file mode 100644
index 853164824..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feoppDisplay.v
deleted file mode 100644
index 541ff2626..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesub.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesub.v
deleted file mode 100644
index 0d8fb6076..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesubDisplay.v
deleted file mode 100644
index 134feb3ee..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e224p2e192p2e96m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/py_interpreter.sh
deleted file mode 100755
index 6e83fbf84..000000000
--- a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**224 + 2**192 + 2**96 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/CurveParameters.v
deleted file mode 100644
index 5badbfc52..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^32 - 977
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 977); (2^32, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e256m2e32m977_8limbs/Synthesis.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/Synthesis.v
deleted file mode 100644
index 601de49c3..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.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/montgomery32_2e256m2e32m977_8limbs/compiler.sh b/src/Specific/montgomery32_2e256m2e32m977_8limbs/compiler.sh
deleted file mode 100755
index 883eed7d8..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e256m2e32m977_8limbs/compilerxx.sh
deleted file mode 100755
index 6a7c6bf30..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.c b/src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.c
deleted file mode 100644
index d63a79de9..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffc2f, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xfffffffe, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0xffffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.v
deleted file mode 100644
index 32f747e8b..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.log
deleted file mode 100644
index ae0590e29..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffc2f);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xfffffffe);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.v
deleted file mode 100644
index d5bddcc71..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/femul.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/femul.v
deleted file mode 100644
index d25d53787..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/femulDisplay.v
deleted file mode 100644
index a6b104151..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.c b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.v
deleted file mode 100644
index 50065ced7..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.v
deleted file mode 100644
index 49b6e603e..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feopp.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/feopp.v
deleted file mode 100644
index 5c59949a6..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/feoppDisplay.v
deleted file mode 100644
index 9456d0467..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesub.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesub.v
deleted file mode 100644
index 6b9977440..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesubDisplay.v
deleted file mode 100644
index 620d05b68..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m2e32m977_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e256m2e32m977_8limbs/py_interpreter.sh
deleted file mode 100755
index ee01d5590..000000000
--- a/src/Specific/montgomery32_2e256m2e32m977_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**32 - 977' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/CurveParameters.v
deleted file mode 100644
index d158a02eb..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 4294968273
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 4294968273)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e256m4294968273_8limbs/Synthesis.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/Synthesis.v
deleted file mode 100644
index 31478dac1..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.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/montgomery32_2e256m4294968273_8limbs/compiler.sh b/src/Specific/montgomery32_2e256m4294968273_8limbs/compiler.sh
deleted file mode 100755
index 813ddf011..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e256m4294968273_8limbs/compilerxx.sh
deleted file mode 100755
index 4c8bea533..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.c b/src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.c
deleted file mode 100644
index d63a79de9..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xfffffc2f, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xfffffffe, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0xffffffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.v
deleted file mode 100644
index fe1eb4112..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.log
deleted file mode 100644
index ae0590e29..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xfffffc2f);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xfffffffe);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffffffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.v
deleted file mode 100644
index 7f422fa84..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/femul.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/femul.v
deleted file mode 100644
index 3d63b3470..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/femulDisplay.v
deleted file mode 100644
index ecd88d96b..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.c b/src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.v
deleted file mode 100644
index 77416a9d7..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.v
deleted file mode 100644
index 99cb21d7a..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/feopp.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/feopp.v
deleted file mode 100644
index 9e9b04128..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/feoppDisplay.v
deleted file mode 100644
index ecd4e21c5..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesub.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/fesub.v
deleted file mode 100644
index 83b25aa26..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e256m4294968273_8limbs/fesubDisplay.v
deleted file mode 100644
index cf2b9dd15..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m4294968273_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e256m4294968273_8limbs/py_interpreter.sh
deleted file mode 100755
index 4de64d06a..000000000
--- a/src/Specific/montgomery32_2e256m4294968273_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 4294968273' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/CurveParameters.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/CurveParameters.v
deleted file mode 100644
index 6045bed0c..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 88*2^240 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 32;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 1); (88, 2^240)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e256m88x2e240m1_8limbs/Synthesis.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/Synthesis.v
deleted file mode 100644
index a4cf72e22..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.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/montgomery32_2e256m88x2e240m1_8limbs/compiler.sh b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/compiler.sh
deleted file mode 100755
index db406c93a..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/compilerxx.sh b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/compilerxx.sh
deleted file mode 100755
index e7059f96a..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.c
deleted file mode 100644
index 056dbba53..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _addcarryx_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _addcarryx_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _addcarryx_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x16, x30, &x54);
- { uint32_t x57; uint8_t x58 = _subborrow_u32(0x0, x33, 0xffffffff, &x57);
- { uint32_t x60; uint8_t x61 = _subborrow_u32(x58, x36, 0xffffffff, &x60);
- { uint32_t x63; uint8_t x64 = _subborrow_u32(x61, x39, 0xffffffff, &x63);
- { uint32_t x66; uint8_t x67 = _subborrow_u32(x64, x42, 0xffffffff, &x66);
- { uint32_t x69; uint8_t x70 = _subborrow_u32(x67, x45, 0xffffffff, &x69);
- { uint32_t x72; uint8_t x73 = _subborrow_u32(x70, x48, 0xffffffff, &x72);
- { uint32_t x75; uint8_t x76 = _subborrow_u32(x73, x51, 0xffffffff, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(x76, x54, 0xffa7ffff, &x78);
- { uint32_t _; uint8_t x82 = _subborrow_u32(x79, x55, 0x0, &_);
- { uint32_t x83 = cmovznz32(x82, x78, x54);
- { uint32_t x84 = cmovznz32(x82, x75, x51);
- { uint32_t x85 = cmovznz32(x82, x72, x48);
- { uint32_t x86 = cmovznz32(x82, x69, x45);
- { uint32_t x87 = cmovznz32(x82, x66, x42);
- { uint32_t x88 = cmovznz32(x82, x63, x39);
- { uint32_t x89 = cmovznz32(x82, x60, x36);
- { uint32_t x90 = cmovznz32(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.v
deleted file mode 100644
index 7a6ee32c8..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.log
deleted file mode 100644
index c4b54ef1d..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = addcarryx_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = addcarryx_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = addcarryx_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = addcarryx_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = addcarryx_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x16, x30);
- uint32_t x57, uint8_t x58 = subborrow_u32(0x0, x33, 0xffffffff);
- uint32_t x60, uint8_t x61 = subborrow_u32(x58, x36, 0xffffffff);
- uint32_t x63, uint8_t x64 = subborrow_u32(x61, x39, 0xffffffff);
- uint32_t x66, uint8_t x67 = subborrow_u32(x64, x42, 0xffffffff);
- uint32_t x69, uint8_t x70 = subborrow_u32(x67, x45, 0xffffffff);
- uint32_t x72, uint8_t x73 = subborrow_u32(x70, x48, 0xffffffff);
- uint32_t x75, uint8_t x76 = subborrow_u32(x73, x51, 0xffffffff);
- uint32_t x78, uint8_t x79 = subborrow_u32(x76, x54, 0xffa7ffff);
- uint32_t _, uint8_t x82 = subborrow_u32(x79, x55, 0x0);
- uint32_t x83 = cmovznz32(x82, x78, x54);
- uint32_t x84 = cmovznz32(x82, x75, x51);
- uint32_t x85 = cmovznz32(x82, x72, x48);
- uint32_t x86 = cmovznz32(x82, x69, x45);
- uint32_t x87 = cmovznz32(x82, x66, x42);
- uint32_t x88 = cmovznz32(x82, x63, x39);
- uint32_t x89 = cmovznz32(x82, x60, x36);
- uint32_t x90 = cmovznz32(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.v
deleted file mode 100644
index b79f8f1dc..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.c
deleted file mode 100644
index 325d3c74c..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.c
+++ /dev/null
@@ -1,443 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x34; uint32_t x33 = _mulx_u32(x5, x19, &x34);
- { uint32_t x37; uint32_t x36 = _mulx_u32(x5, x21, &x37);
- { uint32_t x40; uint32_t x39 = _mulx_u32(x5, x23, &x40);
- { uint32_t x43; uint32_t x42 = _mulx_u32(x5, x25, &x43);
- { uint32_t x46; uint32_t x45 = _mulx_u32(x5, x27, &x46);
- { uint32_t x49; uint32_t x48 = _mulx_u32(x5, x29, &x49);
- { uint32_t x52; uint32_t x51 = _mulx_u32(x5, x31, &x52);
- { uint32_t x55; uint32_t x54 = _mulx_u32(x5, x30, &x55);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(0x0, x34, x36, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x37, x39, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x40, x42, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x43, x45, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x46, x48, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x49, x51, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x52, x54, &x75);
- { uint32_t x78; uint8_t _ = _addcarryx_u32(0x0, x76, x55, &x78);
- { uint32_t x82; uint32_t x81 = _mulx_u32(x33, 0xffffffff, &x82);
- { uint32_t x85; uint32_t x84 = _mulx_u32(x33, 0xffffffff, &x85);
- { uint32_t x88; uint32_t x87 = _mulx_u32(x33, 0xffffffff, &x88);
- { uint32_t x91; uint32_t x90 = _mulx_u32(x33, 0xffffffff, &x91);
- { uint32_t x94; uint32_t x93 = _mulx_u32(x33, 0xffffffff, &x94);
- { uint32_t x97; uint32_t x96 = _mulx_u32(x33, 0xffffffff, &x97);
- { uint32_t x100; uint32_t x99 = _mulx_u32(x33, 0xffffffff, &x100);
- { uint32_t x103; uint32_t x102 = _mulx_u32(x33, 0xffa7ffff, &x103);
- { uint32_t x105; uint8_t x106 = _addcarryx_u32(0x0, x82, x84, &x105);
- { uint32_t x108; uint8_t x109 = _addcarryx_u32(x106, x85, x87, &x108);
- { uint32_t x111; uint8_t x112 = _addcarryx_u32(x109, x88, x90, &x111);
- { uint32_t x114; uint8_t x115 = _addcarryx_u32(x112, x91, x93, &x114);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(x115, x94, x96, &x117);
- { uint32_t x120; uint8_t x121 = _addcarryx_u32(x118, x97, x99, &x120);
- { uint32_t x123; uint8_t x124 = _addcarryx_u32(x121, x100, x102, &x123);
- { uint32_t x126; uint8_t _ = _addcarryx_u32(0x0, x124, x103, &x126);
- { uint32_t _; uint8_t x130 = _addcarryx_u32(0x0, x33, x81, &_);
- { uint32_t x132; uint8_t x133 = _addcarryx_u32(x130, x57, x105, &x132);
- { uint32_t x135; uint8_t x136 = _addcarryx_u32(x133, x60, x108, &x135);
- { uint32_t x138; uint8_t x139 = _addcarryx_u32(x136, x63, x111, &x138);
- { uint32_t x141; uint8_t x142 = _addcarryx_u32(x139, x66, x114, &x141);
- { uint32_t x144; uint8_t x145 = _addcarryx_u32(x142, x69, x117, &x144);
- { uint32_t x147; uint8_t x148 = _addcarryx_u32(x145, x72, x120, &x147);
- { uint32_t x150; uint8_t x151 = _addcarryx_u32(x148, x75, x123, &x150);
- { uint32_t x153; uint8_t x154 = _addcarryx_u32(x151, x78, x126, &x153);
- { uint8_t x155 = (x154 + 0x0);
- { uint32_t x158; uint32_t x157 = _mulx_u32(x7, x19, &x158);
- { uint32_t x161; uint32_t x160 = _mulx_u32(x7, x21, &x161);
- { uint32_t x164; uint32_t x163 = _mulx_u32(x7, x23, &x164);
- { uint32_t x167; uint32_t x166 = _mulx_u32(x7, x25, &x167);
- { uint32_t x170; uint32_t x169 = _mulx_u32(x7, x27, &x170);
- { uint32_t x173; uint32_t x172 = _mulx_u32(x7, x29, &x173);
- { uint32_t x176; uint32_t x175 = _mulx_u32(x7, x31, &x176);
- { uint32_t x179; uint32_t x178 = _mulx_u32(x7, x30, &x179);
- { uint32_t x181; uint8_t x182 = _addcarryx_u32(0x0, x158, x160, &x181);
- { uint32_t x184; uint8_t x185 = _addcarryx_u32(x182, x161, x163, &x184);
- { uint32_t x187; uint8_t x188 = _addcarryx_u32(x185, x164, x166, &x187);
- { uint32_t x190; uint8_t x191 = _addcarryx_u32(x188, x167, x169, &x190);
- { uint32_t x193; uint8_t x194 = _addcarryx_u32(x191, x170, x172, &x193);
- { uint32_t x196; uint8_t x197 = _addcarryx_u32(x194, x173, x175, &x196);
- { uint32_t x199; uint8_t x200 = _addcarryx_u32(x197, x176, x178, &x199);
- { uint32_t x202; uint8_t _ = _addcarryx_u32(0x0, x200, x179, &x202);
- { uint32_t x205; uint8_t x206 = _addcarryx_u32(0x0, x132, x157, &x205);
- { uint32_t x208; uint8_t x209 = _addcarryx_u32(x206, x135, x181, &x208);
- { uint32_t x211; uint8_t x212 = _addcarryx_u32(x209, x138, x184, &x211);
- { uint32_t x214; uint8_t x215 = _addcarryx_u32(x212, x141, x187, &x214);
- { uint32_t x217; uint8_t x218 = _addcarryx_u32(x215, x144, x190, &x217);
- { uint32_t x220; uint8_t x221 = _addcarryx_u32(x218, x147, x193, &x220);
- { uint32_t x223; uint8_t x224 = _addcarryx_u32(x221, x150, x196, &x223);
- { uint32_t x226; uint8_t x227 = _addcarryx_u32(x224, x153, x199, &x226);
- { uint32_t x229; uint8_t x230 = _addcarryx_u32(x227, x155, x202, &x229);
- { uint32_t x233; uint32_t x232 = _mulx_u32(x205, 0xffffffff, &x233);
- { uint32_t x236; uint32_t x235 = _mulx_u32(x205, 0xffffffff, &x236);
- { uint32_t x239; uint32_t x238 = _mulx_u32(x205, 0xffffffff, &x239);
- { uint32_t x242; uint32_t x241 = _mulx_u32(x205, 0xffffffff, &x242);
- { uint32_t x245; uint32_t x244 = _mulx_u32(x205, 0xffffffff, &x245);
- { uint32_t x248; uint32_t x247 = _mulx_u32(x205, 0xffffffff, &x248);
- { uint32_t x251; uint32_t x250 = _mulx_u32(x205, 0xffffffff, &x251);
- { uint32_t x254; uint32_t x253 = _mulx_u32(x205, 0xffa7ffff, &x254);
- { uint32_t x256; uint8_t x257 = _addcarryx_u32(0x0, x233, x235, &x256);
- { uint32_t x259; uint8_t x260 = _addcarryx_u32(x257, x236, x238, &x259);
- { uint32_t x262; uint8_t x263 = _addcarryx_u32(x260, x239, x241, &x262);
- { uint32_t x265; uint8_t x266 = _addcarryx_u32(x263, x242, x244, &x265);
- { uint32_t x268; uint8_t x269 = _addcarryx_u32(x266, x245, x247, &x268);
- { uint32_t x271; uint8_t x272 = _addcarryx_u32(x269, x248, x250, &x271);
- { uint32_t x274; uint8_t x275 = _addcarryx_u32(x272, x251, x253, &x274);
- { uint32_t x277; uint8_t _ = _addcarryx_u32(0x0, x275, x254, &x277);
- { uint32_t _; uint8_t x281 = _addcarryx_u32(0x0, x205, x232, &_);
- { uint32_t x283; uint8_t x284 = _addcarryx_u32(x281, x208, x256, &x283);
- { uint32_t x286; uint8_t x287 = _addcarryx_u32(x284, x211, x259, &x286);
- { uint32_t x289; uint8_t x290 = _addcarryx_u32(x287, x214, x262, &x289);
- { uint32_t x292; uint8_t x293 = _addcarryx_u32(x290, x217, x265, &x292);
- { uint32_t x295; uint8_t x296 = _addcarryx_u32(x293, x220, x268, &x295);
- { uint32_t x298; uint8_t x299 = _addcarryx_u32(x296, x223, x271, &x298);
- { uint32_t x301; uint8_t x302 = _addcarryx_u32(x299, x226, x274, &x301);
- { uint32_t x304; uint8_t x305 = _addcarryx_u32(x302, x229, x277, &x304);
- { uint8_t x306 = (x305 + x230);
- { uint32_t x309; uint32_t x308 = _mulx_u32(x9, x19, &x309);
- { uint32_t x312; uint32_t x311 = _mulx_u32(x9, x21, &x312);
- { uint32_t x315; uint32_t x314 = _mulx_u32(x9, x23, &x315);
- { uint32_t x318; uint32_t x317 = _mulx_u32(x9, x25, &x318);
- { uint32_t x321; uint32_t x320 = _mulx_u32(x9, x27, &x321);
- { uint32_t x324; uint32_t x323 = _mulx_u32(x9, x29, &x324);
- { uint32_t x327; uint32_t x326 = _mulx_u32(x9, x31, &x327);
- { uint32_t x330; uint32_t x329 = _mulx_u32(x9, x30, &x330);
- { uint32_t x332; uint8_t x333 = _addcarryx_u32(0x0, x309, x311, &x332);
- { uint32_t x335; uint8_t x336 = _addcarryx_u32(x333, x312, x314, &x335);
- { uint32_t x338; uint8_t x339 = _addcarryx_u32(x336, x315, x317, &x338);
- { uint32_t x341; uint8_t x342 = _addcarryx_u32(x339, x318, x320, &x341);
- { uint32_t x344; uint8_t x345 = _addcarryx_u32(x342, x321, x323, &x344);
- { uint32_t x347; uint8_t x348 = _addcarryx_u32(x345, x324, x326, &x347);
- { uint32_t x350; uint8_t x351 = _addcarryx_u32(x348, x327, x329, &x350);
- { uint32_t x353; uint8_t _ = _addcarryx_u32(0x0, x351, x330, &x353);
- { uint32_t x356; uint8_t x357 = _addcarryx_u32(0x0, x283, x308, &x356);
- { uint32_t x359; uint8_t x360 = _addcarryx_u32(x357, x286, x332, &x359);
- { uint32_t x362; uint8_t x363 = _addcarryx_u32(x360, x289, x335, &x362);
- { uint32_t x365; uint8_t x366 = _addcarryx_u32(x363, x292, x338, &x365);
- { uint32_t x368; uint8_t x369 = _addcarryx_u32(x366, x295, x341, &x368);
- { uint32_t x371; uint8_t x372 = _addcarryx_u32(x369, x298, x344, &x371);
- { uint32_t x374; uint8_t x375 = _addcarryx_u32(x372, x301, x347, &x374);
- { uint32_t x377; uint8_t x378 = _addcarryx_u32(x375, x304, x350, &x377);
- { uint32_t x380; uint8_t x381 = _addcarryx_u32(x378, x306, x353, &x380);
- { uint32_t x384; uint32_t x383 = _mulx_u32(x356, 0xffffffff, &x384);
- { uint32_t x387; uint32_t x386 = _mulx_u32(x356, 0xffffffff, &x387);
- { uint32_t x390; uint32_t x389 = _mulx_u32(x356, 0xffffffff, &x390);
- { uint32_t x393; uint32_t x392 = _mulx_u32(x356, 0xffffffff, &x393);
- { uint32_t x396; uint32_t x395 = _mulx_u32(x356, 0xffffffff, &x396);
- { uint32_t x399; uint32_t x398 = _mulx_u32(x356, 0xffffffff, &x399);
- { uint32_t x402; uint32_t x401 = _mulx_u32(x356, 0xffffffff, &x402);
- { uint32_t x405; uint32_t x404 = _mulx_u32(x356, 0xffa7ffff, &x405);
- { uint32_t x407; uint8_t x408 = _addcarryx_u32(0x0, x384, x386, &x407);
- { uint32_t x410; uint8_t x411 = _addcarryx_u32(x408, x387, x389, &x410);
- { uint32_t x413; uint8_t x414 = _addcarryx_u32(x411, x390, x392, &x413);
- { uint32_t x416; uint8_t x417 = _addcarryx_u32(x414, x393, x395, &x416);
- { uint32_t x419; uint8_t x420 = _addcarryx_u32(x417, x396, x398, &x419);
- { uint32_t x422; uint8_t x423 = _addcarryx_u32(x420, x399, x401, &x422);
- { uint32_t x425; uint8_t x426 = _addcarryx_u32(x423, x402, x404, &x425);
- { uint32_t x428; uint8_t _ = _addcarryx_u32(0x0, x426, x405, &x428);
- { uint32_t _; uint8_t x432 = _addcarryx_u32(0x0, x356, x383, &_);
- { uint32_t x434; uint8_t x435 = _addcarryx_u32(x432, x359, x407, &x434);
- { uint32_t x437; uint8_t x438 = _addcarryx_u32(x435, x362, x410, &x437);
- { uint32_t x440; uint8_t x441 = _addcarryx_u32(x438, x365, x413, &x440);
- { uint32_t x443; uint8_t x444 = _addcarryx_u32(x441, x368, x416, &x443);
- { uint32_t x446; uint8_t x447 = _addcarryx_u32(x444, x371, x419, &x446);
- { uint32_t x449; uint8_t x450 = _addcarryx_u32(x447, x374, x422, &x449);
- { uint32_t x452; uint8_t x453 = _addcarryx_u32(x450, x377, x425, &x452);
- { uint32_t x455; uint8_t x456 = _addcarryx_u32(x453, x380, x428, &x455);
- { uint8_t x457 = (x456 + x381);
- { uint32_t x460; uint32_t x459 = _mulx_u32(x11, x19, &x460);
- { uint32_t x463; uint32_t x462 = _mulx_u32(x11, x21, &x463);
- { uint32_t x466; uint32_t x465 = _mulx_u32(x11, x23, &x466);
- { uint32_t x469; uint32_t x468 = _mulx_u32(x11, x25, &x469);
- { uint32_t x472; uint32_t x471 = _mulx_u32(x11, x27, &x472);
- { uint32_t x475; uint32_t x474 = _mulx_u32(x11, x29, &x475);
- { uint32_t x478; uint32_t x477 = _mulx_u32(x11, x31, &x478);
- { uint32_t x481; uint32_t x480 = _mulx_u32(x11, x30, &x481);
- { uint32_t x483; uint8_t x484 = _addcarryx_u32(0x0, x460, x462, &x483);
- { uint32_t x486; uint8_t x487 = _addcarryx_u32(x484, x463, x465, &x486);
- { uint32_t x489; uint8_t x490 = _addcarryx_u32(x487, x466, x468, &x489);
- { uint32_t x492; uint8_t x493 = _addcarryx_u32(x490, x469, x471, &x492);
- { uint32_t x495; uint8_t x496 = _addcarryx_u32(x493, x472, x474, &x495);
- { uint32_t x498; uint8_t x499 = _addcarryx_u32(x496, x475, x477, &x498);
- { uint32_t x501; uint8_t x502 = _addcarryx_u32(x499, x478, x480, &x501);
- { uint32_t x504; uint8_t _ = _addcarryx_u32(0x0, x502, x481, &x504);
- { uint32_t x507; uint8_t x508 = _addcarryx_u32(0x0, x434, x459, &x507);
- { uint32_t x510; uint8_t x511 = _addcarryx_u32(x508, x437, x483, &x510);
- { uint32_t x513; uint8_t x514 = _addcarryx_u32(x511, x440, x486, &x513);
- { uint32_t x516; uint8_t x517 = _addcarryx_u32(x514, x443, x489, &x516);
- { uint32_t x519; uint8_t x520 = _addcarryx_u32(x517, x446, x492, &x519);
- { uint32_t x522; uint8_t x523 = _addcarryx_u32(x520, x449, x495, &x522);
- { uint32_t x525; uint8_t x526 = _addcarryx_u32(x523, x452, x498, &x525);
- { uint32_t x528; uint8_t x529 = _addcarryx_u32(x526, x455, x501, &x528);
- { uint32_t x531; uint8_t x532 = _addcarryx_u32(x529, x457, x504, &x531);
- { uint32_t x535; uint32_t x534 = _mulx_u32(x507, 0xffffffff, &x535);
- { uint32_t x538; uint32_t x537 = _mulx_u32(x507, 0xffffffff, &x538);
- { uint32_t x541; uint32_t x540 = _mulx_u32(x507, 0xffffffff, &x541);
- { uint32_t x544; uint32_t x543 = _mulx_u32(x507, 0xffffffff, &x544);
- { uint32_t x547; uint32_t x546 = _mulx_u32(x507, 0xffffffff, &x547);
- { uint32_t x550; uint32_t x549 = _mulx_u32(x507, 0xffffffff, &x550);
- { uint32_t x553; uint32_t x552 = _mulx_u32(x507, 0xffffffff, &x553);
- { uint32_t x556; uint32_t x555 = _mulx_u32(x507, 0xffa7ffff, &x556);
- { uint32_t x558; uint8_t x559 = _addcarryx_u32(0x0, x535, x537, &x558);
- { uint32_t x561; uint8_t x562 = _addcarryx_u32(x559, x538, x540, &x561);
- { uint32_t x564; uint8_t x565 = _addcarryx_u32(x562, x541, x543, &x564);
- { uint32_t x567; uint8_t x568 = _addcarryx_u32(x565, x544, x546, &x567);
- { uint32_t x570; uint8_t x571 = _addcarryx_u32(x568, x547, x549, &x570);
- { uint32_t x573; uint8_t x574 = _addcarryx_u32(x571, x550, x552, &x573);
- { uint32_t x576; uint8_t x577 = _addcarryx_u32(x574, x553, x555, &x576);
- { uint32_t x579; uint8_t _ = _addcarryx_u32(0x0, x577, x556, &x579);
- { uint32_t _; uint8_t x583 = _addcarryx_u32(0x0, x507, x534, &_);
- { uint32_t x585; uint8_t x586 = _addcarryx_u32(x583, x510, x558, &x585);
- { uint32_t x588; uint8_t x589 = _addcarryx_u32(x586, x513, x561, &x588);
- { uint32_t x591; uint8_t x592 = _addcarryx_u32(x589, x516, x564, &x591);
- { uint32_t x594; uint8_t x595 = _addcarryx_u32(x592, x519, x567, &x594);
- { uint32_t x597; uint8_t x598 = _addcarryx_u32(x595, x522, x570, &x597);
- { uint32_t x600; uint8_t x601 = _addcarryx_u32(x598, x525, x573, &x600);
- { uint32_t x603; uint8_t x604 = _addcarryx_u32(x601, x528, x576, &x603);
- { uint32_t x606; uint8_t x607 = _addcarryx_u32(x604, x531, x579, &x606);
- { uint8_t x608 = (x607 + x532);
- { uint32_t x611; uint32_t x610 = _mulx_u32(x13, x19, &x611);
- { uint32_t x614; uint32_t x613 = _mulx_u32(x13, x21, &x614);
- { uint32_t x617; uint32_t x616 = _mulx_u32(x13, x23, &x617);
- { uint32_t x620; uint32_t x619 = _mulx_u32(x13, x25, &x620);
- { uint32_t x623; uint32_t x622 = _mulx_u32(x13, x27, &x623);
- { uint32_t x626; uint32_t x625 = _mulx_u32(x13, x29, &x626);
- { uint32_t x629; uint32_t x628 = _mulx_u32(x13, x31, &x629);
- { uint32_t x632; uint32_t x631 = _mulx_u32(x13, x30, &x632);
- { uint32_t x634; uint8_t x635 = _addcarryx_u32(0x0, x611, x613, &x634);
- { uint32_t x637; uint8_t x638 = _addcarryx_u32(x635, x614, x616, &x637);
- { uint32_t x640; uint8_t x641 = _addcarryx_u32(x638, x617, x619, &x640);
- { uint32_t x643; uint8_t x644 = _addcarryx_u32(x641, x620, x622, &x643);
- { uint32_t x646; uint8_t x647 = _addcarryx_u32(x644, x623, x625, &x646);
- { uint32_t x649; uint8_t x650 = _addcarryx_u32(x647, x626, x628, &x649);
- { uint32_t x652; uint8_t x653 = _addcarryx_u32(x650, x629, x631, &x652);
- { uint32_t x655; uint8_t _ = _addcarryx_u32(0x0, x653, x632, &x655);
- { uint32_t x658; uint8_t x659 = _addcarryx_u32(0x0, x585, x610, &x658);
- { uint32_t x661; uint8_t x662 = _addcarryx_u32(x659, x588, x634, &x661);
- { uint32_t x664; uint8_t x665 = _addcarryx_u32(x662, x591, x637, &x664);
- { uint32_t x667; uint8_t x668 = _addcarryx_u32(x665, x594, x640, &x667);
- { uint32_t x670; uint8_t x671 = _addcarryx_u32(x668, x597, x643, &x670);
- { uint32_t x673; uint8_t x674 = _addcarryx_u32(x671, x600, x646, &x673);
- { uint32_t x676; uint8_t x677 = _addcarryx_u32(x674, x603, x649, &x676);
- { uint32_t x679; uint8_t x680 = _addcarryx_u32(x677, x606, x652, &x679);
- { uint32_t x682; uint8_t x683 = _addcarryx_u32(x680, x608, x655, &x682);
- { uint32_t x686; uint32_t x685 = _mulx_u32(x658, 0xffffffff, &x686);
- { uint32_t x689; uint32_t x688 = _mulx_u32(x658, 0xffffffff, &x689);
- { uint32_t x692; uint32_t x691 = _mulx_u32(x658, 0xffffffff, &x692);
- { uint32_t x695; uint32_t x694 = _mulx_u32(x658, 0xffffffff, &x695);
- { uint32_t x698; uint32_t x697 = _mulx_u32(x658, 0xffffffff, &x698);
- { uint32_t x701; uint32_t x700 = _mulx_u32(x658, 0xffffffff, &x701);
- { uint32_t x704; uint32_t x703 = _mulx_u32(x658, 0xffffffff, &x704);
- { uint32_t x707; uint32_t x706 = _mulx_u32(x658, 0xffa7ffff, &x707);
- { uint32_t x709; uint8_t x710 = _addcarryx_u32(0x0, x686, x688, &x709);
- { uint32_t x712; uint8_t x713 = _addcarryx_u32(x710, x689, x691, &x712);
- { uint32_t x715; uint8_t x716 = _addcarryx_u32(x713, x692, x694, &x715);
- { uint32_t x718; uint8_t x719 = _addcarryx_u32(x716, x695, x697, &x718);
- { uint32_t x721; uint8_t x722 = _addcarryx_u32(x719, x698, x700, &x721);
- { uint32_t x724; uint8_t x725 = _addcarryx_u32(x722, x701, x703, &x724);
- { uint32_t x727; uint8_t x728 = _addcarryx_u32(x725, x704, x706, &x727);
- { uint32_t x730; uint8_t _ = _addcarryx_u32(0x0, x728, x707, &x730);
- { uint32_t _; uint8_t x734 = _addcarryx_u32(0x0, x658, x685, &_);
- { uint32_t x736; uint8_t x737 = _addcarryx_u32(x734, x661, x709, &x736);
- { uint32_t x739; uint8_t x740 = _addcarryx_u32(x737, x664, x712, &x739);
- { uint32_t x742; uint8_t x743 = _addcarryx_u32(x740, x667, x715, &x742);
- { uint32_t x745; uint8_t x746 = _addcarryx_u32(x743, x670, x718, &x745);
- { uint32_t x748; uint8_t x749 = _addcarryx_u32(x746, x673, x721, &x748);
- { uint32_t x751; uint8_t x752 = _addcarryx_u32(x749, x676, x724, &x751);
- { uint32_t x754; uint8_t x755 = _addcarryx_u32(x752, x679, x727, &x754);
- { uint32_t x757; uint8_t x758 = _addcarryx_u32(x755, x682, x730, &x757);
- { uint8_t x759 = (x758 + x683);
- { uint32_t x762; uint32_t x761 = _mulx_u32(x15, x19, &x762);
- { uint32_t x765; uint32_t x764 = _mulx_u32(x15, x21, &x765);
- { uint32_t x768; uint32_t x767 = _mulx_u32(x15, x23, &x768);
- { uint32_t x771; uint32_t x770 = _mulx_u32(x15, x25, &x771);
- { uint32_t x774; uint32_t x773 = _mulx_u32(x15, x27, &x774);
- { uint32_t x777; uint32_t x776 = _mulx_u32(x15, x29, &x777);
- { uint32_t x780; uint32_t x779 = _mulx_u32(x15, x31, &x780);
- { uint32_t x783; uint32_t x782 = _mulx_u32(x15, x30, &x783);
- { uint32_t x785; uint8_t x786 = _addcarryx_u32(0x0, x762, x764, &x785);
- { uint32_t x788; uint8_t x789 = _addcarryx_u32(x786, x765, x767, &x788);
- { uint32_t x791; uint8_t x792 = _addcarryx_u32(x789, x768, x770, &x791);
- { uint32_t x794; uint8_t x795 = _addcarryx_u32(x792, x771, x773, &x794);
- { uint32_t x797; uint8_t x798 = _addcarryx_u32(x795, x774, x776, &x797);
- { uint32_t x800; uint8_t x801 = _addcarryx_u32(x798, x777, x779, &x800);
- { uint32_t x803; uint8_t x804 = _addcarryx_u32(x801, x780, x782, &x803);
- { uint32_t x806; uint8_t _ = _addcarryx_u32(0x0, x804, x783, &x806);
- { uint32_t x809; uint8_t x810 = _addcarryx_u32(0x0, x736, x761, &x809);
- { uint32_t x812; uint8_t x813 = _addcarryx_u32(x810, x739, x785, &x812);
- { uint32_t x815; uint8_t x816 = _addcarryx_u32(x813, x742, x788, &x815);
- { uint32_t x818; uint8_t x819 = _addcarryx_u32(x816, x745, x791, &x818);
- { uint32_t x821; uint8_t x822 = _addcarryx_u32(x819, x748, x794, &x821);
- { uint32_t x824; uint8_t x825 = _addcarryx_u32(x822, x751, x797, &x824);
- { uint32_t x827; uint8_t x828 = _addcarryx_u32(x825, x754, x800, &x827);
- { uint32_t x830; uint8_t x831 = _addcarryx_u32(x828, x757, x803, &x830);
- { uint32_t x833; uint8_t x834 = _addcarryx_u32(x831, x759, x806, &x833);
- { uint32_t x837; uint32_t x836 = _mulx_u32(x809, 0xffffffff, &x837);
- { uint32_t x840; uint32_t x839 = _mulx_u32(x809, 0xffffffff, &x840);
- { uint32_t x843; uint32_t x842 = _mulx_u32(x809, 0xffffffff, &x843);
- { uint32_t x846; uint32_t x845 = _mulx_u32(x809, 0xffffffff, &x846);
- { uint32_t x849; uint32_t x848 = _mulx_u32(x809, 0xffffffff, &x849);
- { uint32_t x852; uint32_t x851 = _mulx_u32(x809, 0xffffffff, &x852);
- { uint32_t x855; uint32_t x854 = _mulx_u32(x809, 0xffffffff, &x855);
- { uint32_t x858; uint32_t x857 = _mulx_u32(x809, 0xffa7ffff, &x858);
- { uint32_t x860; uint8_t x861 = _addcarryx_u32(0x0, x837, x839, &x860);
- { uint32_t x863; uint8_t x864 = _addcarryx_u32(x861, x840, x842, &x863);
- { uint32_t x866; uint8_t x867 = _addcarryx_u32(x864, x843, x845, &x866);
- { uint32_t x869; uint8_t x870 = _addcarryx_u32(x867, x846, x848, &x869);
- { uint32_t x872; uint8_t x873 = _addcarryx_u32(x870, x849, x851, &x872);
- { uint32_t x875; uint8_t x876 = _addcarryx_u32(x873, x852, x854, &x875);
- { uint32_t x878; uint8_t x879 = _addcarryx_u32(x876, x855, x857, &x878);
- { uint32_t x881; uint8_t _ = _addcarryx_u32(0x0, x879, x858, &x881);
- { uint32_t _; uint8_t x885 = _addcarryx_u32(0x0, x809, x836, &_);
- { uint32_t x887; uint8_t x888 = _addcarryx_u32(x885, x812, x860, &x887);
- { uint32_t x890; uint8_t x891 = _addcarryx_u32(x888, x815, x863, &x890);
- { uint32_t x893; uint8_t x894 = _addcarryx_u32(x891, x818, x866, &x893);
- { uint32_t x896; uint8_t x897 = _addcarryx_u32(x894, x821, x869, &x896);
- { uint32_t x899; uint8_t x900 = _addcarryx_u32(x897, x824, x872, &x899);
- { uint32_t x902; uint8_t x903 = _addcarryx_u32(x900, x827, x875, &x902);
- { uint32_t x905; uint8_t x906 = _addcarryx_u32(x903, x830, x878, &x905);
- { uint32_t x908; uint8_t x909 = _addcarryx_u32(x906, x833, x881, &x908);
- { uint8_t x910 = (x909 + x834);
- { uint32_t x913; uint32_t x912 = _mulx_u32(x17, x19, &x913);
- { uint32_t x916; uint32_t x915 = _mulx_u32(x17, x21, &x916);
- { uint32_t x919; uint32_t x918 = _mulx_u32(x17, x23, &x919);
- { uint32_t x922; uint32_t x921 = _mulx_u32(x17, x25, &x922);
- { uint32_t x925; uint32_t x924 = _mulx_u32(x17, x27, &x925);
- { uint32_t x928; uint32_t x927 = _mulx_u32(x17, x29, &x928);
- { uint32_t x931; uint32_t x930 = _mulx_u32(x17, x31, &x931);
- { uint32_t x934; uint32_t x933 = _mulx_u32(x17, x30, &x934);
- { uint32_t x936; uint8_t x937 = _addcarryx_u32(0x0, x913, x915, &x936);
- { uint32_t x939; uint8_t x940 = _addcarryx_u32(x937, x916, x918, &x939);
- { uint32_t x942; uint8_t x943 = _addcarryx_u32(x940, x919, x921, &x942);
- { uint32_t x945; uint8_t x946 = _addcarryx_u32(x943, x922, x924, &x945);
- { uint32_t x948; uint8_t x949 = _addcarryx_u32(x946, x925, x927, &x948);
- { uint32_t x951; uint8_t x952 = _addcarryx_u32(x949, x928, x930, &x951);
- { uint32_t x954; uint8_t x955 = _addcarryx_u32(x952, x931, x933, &x954);
- { uint32_t x957; uint8_t _ = _addcarryx_u32(0x0, x955, x934, &x957);
- { uint32_t x960; uint8_t x961 = _addcarryx_u32(0x0, x887, x912, &x960);
- { uint32_t x963; uint8_t x964 = _addcarryx_u32(x961, x890, x936, &x963);
- { uint32_t x966; uint8_t x967 = _addcarryx_u32(x964, x893, x939, &x966);
- { uint32_t x969; uint8_t x970 = _addcarryx_u32(x967, x896, x942, &x969);
- { uint32_t x972; uint8_t x973 = _addcarryx_u32(x970, x899, x945, &x972);
- { uint32_t x975; uint8_t x976 = _addcarryx_u32(x973, x902, x948, &x975);
- { uint32_t x978; uint8_t x979 = _addcarryx_u32(x976, x905, x951, &x978);
- { uint32_t x981; uint8_t x982 = _addcarryx_u32(x979, x908, x954, &x981);
- { uint32_t x984; uint8_t x985 = _addcarryx_u32(x982, x910, x957, &x984);
- { uint32_t x988; uint32_t x987 = _mulx_u32(x960, 0xffffffff, &x988);
- { uint32_t x991; uint32_t x990 = _mulx_u32(x960, 0xffffffff, &x991);
- { uint32_t x994; uint32_t x993 = _mulx_u32(x960, 0xffffffff, &x994);
- { uint32_t x997; uint32_t x996 = _mulx_u32(x960, 0xffffffff, &x997);
- { uint32_t x1000; uint32_t x999 = _mulx_u32(x960, 0xffffffff, &x1000);
- { uint32_t x1003; uint32_t x1002 = _mulx_u32(x960, 0xffffffff, &x1003);
- { uint32_t x1006; uint32_t x1005 = _mulx_u32(x960, 0xffffffff, &x1006);
- { uint32_t x1009; uint32_t x1008 = _mulx_u32(x960, 0xffa7ffff, &x1009);
- { uint32_t x1011; uint8_t x1012 = _addcarryx_u32(0x0, x988, x990, &x1011);
- { uint32_t x1014; uint8_t x1015 = _addcarryx_u32(x1012, x991, x993, &x1014);
- { uint32_t x1017; uint8_t x1018 = _addcarryx_u32(x1015, x994, x996, &x1017);
- { uint32_t x1020; uint8_t x1021 = _addcarryx_u32(x1018, x997, x999, &x1020);
- { uint32_t x1023; uint8_t x1024 = _addcarryx_u32(x1021, x1000, x1002, &x1023);
- { uint32_t x1026; uint8_t x1027 = _addcarryx_u32(x1024, x1003, x1005, &x1026);
- { uint32_t x1029; uint8_t x1030 = _addcarryx_u32(x1027, x1006, x1008, &x1029);
- { uint32_t x1032; uint8_t _ = _addcarryx_u32(0x0, x1030, x1009, &x1032);
- { uint32_t _; uint8_t x1036 = _addcarryx_u32(0x0, x960, x987, &_);
- { uint32_t x1038; uint8_t x1039 = _addcarryx_u32(x1036, x963, x1011, &x1038);
- { uint32_t x1041; uint8_t x1042 = _addcarryx_u32(x1039, x966, x1014, &x1041);
- { uint32_t x1044; uint8_t x1045 = _addcarryx_u32(x1042, x969, x1017, &x1044);
- { uint32_t x1047; uint8_t x1048 = _addcarryx_u32(x1045, x972, x1020, &x1047);
- { uint32_t x1050; uint8_t x1051 = _addcarryx_u32(x1048, x975, x1023, &x1050);
- { uint32_t x1053; uint8_t x1054 = _addcarryx_u32(x1051, x978, x1026, &x1053);
- { uint32_t x1056; uint8_t x1057 = _addcarryx_u32(x1054, x981, x1029, &x1056);
- { uint32_t x1059; uint8_t x1060 = _addcarryx_u32(x1057, x984, x1032, &x1059);
- { uint8_t x1061 = (x1060 + x985);
- { uint32_t x1064; uint32_t x1063 = _mulx_u32(x16, x19, &x1064);
- { uint32_t x1067; uint32_t x1066 = _mulx_u32(x16, x21, &x1067);
- { uint32_t x1070; uint32_t x1069 = _mulx_u32(x16, x23, &x1070);
- { uint32_t x1073; uint32_t x1072 = _mulx_u32(x16, x25, &x1073);
- { uint32_t x1076; uint32_t x1075 = _mulx_u32(x16, x27, &x1076);
- { uint32_t x1079; uint32_t x1078 = _mulx_u32(x16, x29, &x1079);
- { uint32_t x1082; uint32_t x1081 = _mulx_u32(x16, x31, &x1082);
- { uint32_t x1085; uint32_t x1084 = _mulx_u32(x16, x30, &x1085);
- { uint32_t x1087; uint8_t x1088 = _addcarryx_u32(0x0, x1064, x1066, &x1087);
- { uint32_t x1090; uint8_t x1091 = _addcarryx_u32(x1088, x1067, x1069, &x1090);
- { uint32_t x1093; uint8_t x1094 = _addcarryx_u32(x1091, x1070, x1072, &x1093);
- { uint32_t x1096; uint8_t x1097 = _addcarryx_u32(x1094, x1073, x1075, &x1096);
- { uint32_t x1099; uint8_t x1100 = _addcarryx_u32(x1097, x1076, x1078, &x1099);
- { uint32_t x1102; uint8_t x1103 = _addcarryx_u32(x1100, x1079, x1081, &x1102);
- { uint32_t x1105; uint8_t x1106 = _addcarryx_u32(x1103, x1082, x1084, &x1105);
- { uint32_t x1108; uint8_t _ = _addcarryx_u32(0x0, x1106, x1085, &x1108);
- { uint32_t x1111; uint8_t x1112 = _addcarryx_u32(0x0, x1038, x1063, &x1111);
- { uint32_t x1114; uint8_t x1115 = _addcarryx_u32(x1112, x1041, x1087, &x1114);
- { uint32_t x1117; uint8_t x1118 = _addcarryx_u32(x1115, x1044, x1090, &x1117);
- { uint32_t x1120; uint8_t x1121 = _addcarryx_u32(x1118, x1047, x1093, &x1120);
- { uint32_t x1123; uint8_t x1124 = _addcarryx_u32(x1121, x1050, x1096, &x1123);
- { uint32_t x1126; uint8_t x1127 = _addcarryx_u32(x1124, x1053, x1099, &x1126);
- { uint32_t x1129; uint8_t x1130 = _addcarryx_u32(x1127, x1056, x1102, &x1129);
- { uint32_t x1132; uint8_t x1133 = _addcarryx_u32(x1130, x1059, x1105, &x1132);
- { uint32_t x1135; uint8_t x1136 = _addcarryx_u32(x1133, x1061, x1108, &x1135);
- { uint32_t x1139; uint32_t x1138 = _mulx_u32(x1111, 0xffffffff, &x1139);
- { uint32_t x1142; uint32_t x1141 = _mulx_u32(x1111, 0xffffffff, &x1142);
- { uint32_t x1145; uint32_t x1144 = _mulx_u32(x1111, 0xffffffff, &x1145);
- { uint32_t x1148; uint32_t x1147 = _mulx_u32(x1111, 0xffffffff, &x1148);
- { uint32_t x1151; uint32_t x1150 = _mulx_u32(x1111, 0xffffffff, &x1151);
- { uint32_t x1154; uint32_t x1153 = _mulx_u32(x1111, 0xffffffff, &x1154);
- { uint32_t x1157; uint32_t x1156 = _mulx_u32(x1111, 0xffffffff, &x1157);
- { uint32_t x1160; uint32_t x1159 = _mulx_u32(x1111, 0xffa7ffff, &x1160);
- { uint32_t x1162; uint8_t x1163 = _addcarryx_u32(0x0, x1139, x1141, &x1162);
- { uint32_t x1165; uint8_t x1166 = _addcarryx_u32(x1163, x1142, x1144, &x1165);
- { uint32_t x1168; uint8_t x1169 = _addcarryx_u32(x1166, x1145, x1147, &x1168);
- { uint32_t x1171; uint8_t x1172 = _addcarryx_u32(x1169, x1148, x1150, &x1171);
- { uint32_t x1174; uint8_t x1175 = _addcarryx_u32(x1172, x1151, x1153, &x1174);
- { uint32_t x1177; uint8_t x1178 = _addcarryx_u32(x1175, x1154, x1156, &x1177);
- { uint32_t x1180; uint8_t x1181 = _addcarryx_u32(x1178, x1157, x1159, &x1180);
- { uint32_t x1183; uint8_t _ = _addcarryx_u32(0x0, x1181, x1160, &x1183);
- { uint32_t _; uint8_t x1187 = _addcarryx_u32(0x0, x1111, x1138, &_);
- { uint32_t x1189; uint8_t x1190 = _addcarryx_u32(x1187, x1114, x1162, &x1189);
- { uint32_t x1192; uint8_t x1193 = _addcarryx_u32(x1190, x1117, x1165, &x1192);
- { uint32_t x1195; uint8_t x1196 = _addcarryx_u32(x1193, x1120, x1168, &x1195);
- { uint32_t x1198; uint8_t x1199 = _addcarryx_u32(x1196, x1123, x1171, &x1198);
- { uint32_t x1201; uint8_t x1202 = _addcarryx_u32(x1199, x1126, x1174, &x1201);
- { uint32_t x1204; uint8_t x1205 = _addcarryx_u32(x1202, x1129, x1177, &x1204);
- { uint32_t x1207; uint8_t x1208 = _addcarryx_u32(x1205, x1132, x1180, &x1207);
- { uint32_t x1210; uint8_t x1211 = _addcarryx_u32(x1208, x1135, x1183, &x1210);
- { uint8_t x1212 = (x1211 + x1136);
- { uint32_t x1214; uint8_t x1215 = _subborrow_u32(0x0, x1189, 0xffffffff, &x1214);
- { uint32_t x1217; uint8_t x1218 = _subborrow_u32(x1215, x1192, 0xffffffff, &x1217);
- { uint32_t x1220; uint8_t x1221 = _subborrow_u32(x1218, x1195, 0xffffffff, &x1220);
- { uint32_t x1223; uint8_t x1224 = _subborrow_u32(x1221, x1198, 0xffffffff, &x1223);
- { uint32_t x1226; uint8_t x1227 = _subborrow_u32(x1224, x1201, 0xffffffff, &x1226);
- { uint32_t x1229; uint8_t x1230 = _subborrow_u32(x1227, x1204, 0xffffffff, &x1229);
- { uint32_t x1232; uint8_t x1233 = _subborrow_u32(x1230, x1207, 0xffffffff, &x1232);
- { uint32_t x1235; uint8_t x1236 = _subborrow_u32(x1233, x1210, 0xffa7ffff, &x1235);
- { uint32_t _; uint8_t x1239 = _subborrow_u32(x1236, x1212, 0x0, &_);
- { uint32_t x1240 = cmovznz32(x1239, x1235, x1210);
- { uint32_t x1241 = cmovznz32(x1239, x1232, x1207);
- { uint32_t x1242 = cmovznz32(x1239, x1229, x1204);
- { uint32_t x1243 = cmovznz32(x1239, x1226, x1201);
- { uint32_t x1244 = cmovznz32(x1239, x1223, x1198);
- { uint32_t x1245 = cmovznz32(x1239, x1220, x1195);
- { uint32_t x1246 = cmovznz32(x1239, x1217, x1192);
- { uint32_t x1247 = cmovznz32(x1239, x1214, x1189);
- out[0] = x1247;
- out[1] = x1246;
- out[2] = x1245;
- out[3] = x1244;
- out[4] = x1243;
- out[5] = x1242;
- out[6] = x1241;
- out[7] = x1240;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.v
deleted file mode 100644
index 9e4fe9b9e..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.log
deleted file mode 100644
index 6f75c2fe9..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,423 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint32_t x34 = mulx_u32(x5, x19);
- uint32_t x36, uint32_t x37 = mulx_u32(x5, x21);
- uint32_t x39, uint32_t x40 = mulx_u32(x5, x23);
- uint32_t x42, uint32_t x43 = mulx_u32(x5, x25);
- uint32_t x45, uint32_t x46 = mulx_u32(x5, x27);
- uint32_t x48, uint32_t x49 = mulx_u32(x5, x29);
- uint32_t x51, uint32_t x52 = mulx_u32(x5, x31);
- uint32_t x54, uint32_t x55 = mulx_u32(x5, x30);
- uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x34, x36);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x37, x39);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x40, x42);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x43, x45);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x46, x48);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x49, x51);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x52, x54);
- uint32_t x78, uint8_t _ = addcarryx_u32(0x0, x76, x55);
- uint32_t x81, uint32_t x82 = mulx_u32(x33, 0xffffffff);
- uint32_t x84, uint32_t x85 = mulx_u32(x33, 0xffffffff);
- uint32_t x87, uint32_t x88 = mulx_u32(x33, 0xffffffff);
- uint32_t x90, uint32_t x91 = mulx_u32(x33, 0xffffffff);
- uint32_t x93, uint32_t x94 = mulx_u32(x33, 0xffffffff);
- uint32_t x96, uint32_t x97 = mulx_u32(x33, 0xffffffff);
- uint32_t x99, uint32_t x100 = mulx_u32(x33, 0xffffffff);
- uint32_t x102, uint32_t x103 = mulx_u32(x33, 0xffa7ffff);
- uint32_t x105, uint8_t x106 = addcarryx_u32(0x0, x82, x84);
- uint32_t x108, uint8_t x109 = addcarryx_u32(x106, x85, x87);
- uint32_t x111, uint8_t x112 = addcarryx_u32(x109, x88, x90);
- uint32_t x114, uint8_t x115 = addcarryx_u32(x112, x91, x93);
- uint32_t x117, uint8_t x118 = addcarryx_u32(x115, x94, x96);
- uint32_t x120, uint8_t x121 = addcarryx_u32(x118, x97, x99);
- uint32_t x123, uint8_t x124 = addcarryx_u32(x121, x100, x102);
- uint32_t x126, uint8_t _ = addcarryx_u32(0x0, x124, x103);
- uint32_t _, uint8_t x130 = addcarryx_u32(0x0, x33, x81);
- uint32_t x132, uint8_t x133 = addcarryx_u32(x130, x57, x105);
- uint32_t x135, uint8_t x136 = addcarryx_u32(x133, x60, x108);
- uint32_t x138, uint8_t x139 = addcarryx_u32(x136, x63, x111);
- uint32_t x141, uint8_t x142 = addcarryx_u32(x139, x66, x114);
- uint32_t x144, uint8_t x145 = addcarryx_u32(x142, x69, x117);
- uint32_t x147, uint8_t x148 = addcarryx_u32(x145, x72, x120);
- uint32_t x150, uint8_t x151 = addcarryx_u32(x148, x75, x123);
- uint32_t x153, uint8_t x154 = addcarryx_u32(x151, x78, x126);
- uint8_t x155 = (x154 + 0x0);
- uint32_t x157, uint32_t x158 = mulx_u32(x7, x19);
- uint32_t x160, uint32_t x161 = mulx_u32(x7, x21);
- uint32_t x163, uint32_t x164 = mulx_u32(x7, x23);
- uint32_t x166, uint32_t x167 = mulx_u32(x7, x25);
- uint32_t x169, uint32_t x170 = mulx_u32(x7, x27);
- uint32_t x172, uint32_t x173 = mulx_u32(x7, x29);
- uint32_t x175, uint32_t x176 = mulx_u32(x7, x31);
- uint32_t x178, uint32_t x179 = mulx_u32(x7, x30);
- uint32_t x181, uint8_t x182 = addcarryx_u32(0x0, x158, x160);
- uint32_t x184, uint8_t x185 = addcarryx_u32(x182, x161, x163);
- uint32_t x187, uint8_t x188 = addcarryx_u32(x185, x164, x166);
- uint32_t x190, uint8_t x191 = addcarryx_u32(x188, x167, x169);
- uint32_t x193, uint8_t x194 = addcarryx_u32(x191, x170, x172);
- uint32_t x196, uint8_t x197 = addcarryx_u32(x194, x173, x175);
- uint32_t x199, uint8_t x200 = addcarryx_u32(x197, x176, x178);
- uint32_t x202, uint8_t _ = addcarryx_u32(0x0, x200, x179);
- uint32_t x205, uint8_t x206 = addcarryx_u32(0x0, x132, x157);
- uint32_t x208, uint8_t x209 = addcarryx_u32(x206, x135, x181);
- uint32_t x211, uint8_t x212 = addcarryx_u32(x209, x138, x184);
- uint32_t x214, uint8_t x215 = addcarryx_u32(x212, x141, x187);
- uint32_t x217, uint8_t x218 = addcarryx_u32(x215, x144, x190);
- uint32_t x220, uint8_t x221 = addcarryx_u32(x218, x147, x193);
- uint32_t x223, uint8_t x224 = addcarryx_u32(x221, x150, x196);
- uint32_t x226, uint8_t x227 = addcarryx_u32(x224, x153, x199);
- uint32_t x229, uint8_t x230 = addcarryx_u32(x227, x155, x202);
- uint32_t x232, uint32_t x233 = mulx_u32(x205, 0xffffffff);
- uint32_t x235, uint32_t x236 = mulx_u32(x205, 0xffffffff);
- uint32_t x238, uint32_t x239 = mulx_u32(x205, 0xffffffff);
- uint32_t x241, uint32_t x242 = mulx_u32(x205, 0xffffffff);
- uint32_t x244, uint32_t x245 = mulx_u32(x205, 0xffffffff);
- uint32_t x247, uint32_t x248 = mulx_u32(x205, 0xffffffff);
- uint32_t x250, uint32_t x251 = mulx_u32(x205, 0xffffffff);
- uint32_t x253, uint32_t x254 = mulx_u32(x205, 0xffa7ffff);
- uint32_t x256, uint8_t x257 = addcarryx_u32(0x0, x233, x235);
- uint32_t x259, uint8_t x260 = addcarryx_u32(x257, x236, x238);
- uint32_t x262, uint8_t x263 = addcarryx_u32(x260, x239, x241);
- uint32_t x265, uint8_t x266 = addcarryx_u32(x263, x242, x244);
- uint32_t x268, uint8_t x269 = addcarryx_u32(x266, x245, x247);
- uint32_t x271, uint8_t x272 = addcarryx_u32(x269, x248, x250);
- uint32_t x274, uint8_t x275 = addcarryx_u32(x272, x251, x253);
- uint32_t x277, uint8_t _ = addcarryx_u32(0x0, x275, x254);
- uint32_t _, uint8_t x281 = addcarryx_u32(0x0, x205, x232);
- uint32_t x283, uint8_t x284 = addcarryx_u32(x281, x208, x256);
- uint32_t x286, uint8_t x287 = addcarryx_u32(x284, x211, x259);
- uint32_t x289, uint8_t x290 = addcarryx_u32(x287, x214, x262);
- uint32_t x292, uint8_t x293 = addcarryx_u32(x290, x217, x265);
- uint32_t x295, uint8_t x296 = addcarryx_u32(x293, x220, x268);
- uint32_t x298, uint8_t x299 = addcarryx_u32(x296, x223, x271);
- uint32_t x301, uint8_t x302 = addcarryx_u32(x299, x226, x274);
- uint32_t x304, uint8_t x305 = addcarryx_u32(x302, x229, x277);
- uint8_t x306 = (x305 + x230);
- uint32_t x308, uint32_t x309 = mulx_u32(x9, x19);
- uint32_t x311, uint32_t x312 = mulx_u32(x9, x21);
- uint32_t x314, uint32_t x315 = mulx_u32(x9, x23);
- uint32_t x317, uint32_t x318 = mulx_u32(x9, x25);
- uint32_t x320, uint32_t x321 = mulx_u32(x9, x27);
- uint32_t x323, uint32_t x324 = mulx_u32(x9, x29);
- uint32_t x326, uint32_t x327 = mulx_u32(x9, x31);
- uint32_t x329, uint32_t x330 = mulx_u32(x9, x30);
- uint32_t x332, uint8_t x333 = addcarryx_u32(0x0, x309, x311);
- uint32_t x335, uint8_t x336 = addcarryx_u32(x333, x312, x314);
- uint32_t x338, uint8_t x339 = addcarryx_u32(x336, x315, x317);
- uint32_t x341, uint8_t x342 = addcarryx_u32(x339, x318, x320);
- uint32_t x344, uint8_t x345 = addcarryx_u32(x342, x321, x323);
- uint32_t x347, uint8_t x348 = addcarryx_u32(x345, x324, x326);
- uint32_t x350, uint8_t x351 = addcarryx_u32(x348, x327, x329);
- uint32_t x353, uint8_t _ = addcarryx_u32(0x0, x351, x330);
- uint32_t x356, uint8_t x357 = addcarryx_u32(0x0, x283, x308);
- uint32_t x359, uint8_t x360 = addcarryx_u32(x357, x286, x332);
- uint32_t x362, uint8_t x363 = addcarryx_u32(x360, x289, x335);
- uint32_t x365, uint8_t x366 = addcarryx_u32(x363, x292, x338);
- uint32_t x368, uint8_t x369 = addcarryx_u32(x366, x295, x341);
- uint32_t x371, uint8_t x372 = addcarryx_u32(x369, x298, x344);
- uint32_t x374, uint8_t x375 = addcarryx_u32(x372, x301, x347);
- uint32_t x377, uint8_t x378 = addcarryx_u32(x375, x304, x350);
- uint32_t x380, uint8_t x381 = addcarryx_u32(x378, x306, x353);
- uint32_t x383, uint32_t x384 = mulx_u32(x356, 0xffffffff);
- uint32_t x386, uint32_t x387 = mulx_u32(x356, 0xffffffff);
- uint32_t x389, uint32_t x390 = mulx_u32(x356, 0xffffffff);
- uint32_t x392, uint32_t x393 = mulx_u32(x356, 0xffffffff);
- uint32_t x395, uint32_t x396 = mulx_u32(x356, 0xffffffff);
- uint32_t x398, uint32_t x399 = mulx_u32(x356, 0xffffffff);
- uint32_t x401, uint32_t x402 = mulx_u32(x356, 0xffffffff);
- uint32_t x404, uint32_t x405 = mulx_u32(x356, 0xffa7ffff);
- uint32_t x407, uint8_t x408 = addcarryx_u32(0x0, x384, x386);
- uint32_t x410, uint8_t x411 = addcarryx_u32(x408, x387, x389);
- uint32_t x413, uint8_t x414 = addcarryx_u32(x411, x390, x392);
- uint32_t x416, uint8_t x417 = addcarryx_u32(x414, x393, x395);
- uint32_t x419, uint8_t x420 = addcarryx_u32(x417, x396, x398);
- uint32_t x422, uint8_t x423 = addcarryx_u32(x420, x399, x401);
- uint32_t x425, uint8_t x426 = addcarryx_u32(x423, x402, x404);
- uint32_t x428, uint8_t _ = addcarryx_u32(0x0, x426, x405);
- uint32_t _, uint8_t x432 = addcarryx_u32(0x0, x356, x383);
- uint32_t x434, uint8_t x435 = addcarryx_u32(x432, x359, x407);
- uint32_t x437, uint8_t x438 = addcarryx_u32(x435, x362, x410);
- uint32_t x440, uint8_t x441 = addcarryx_u32(x438, x365, x413);
- uint32_t x443, uint8_t x444 = addcarryx_u32(x441, x368, x416);
- uint32_t x446, uint8_t x447 = addcarryx_u32(x444, x371, x419);
- uint32_t x449, uint8_t x450 = addcarryx_u32(x447, x374, x422);
- uint32_t x452, uint8_t x453 = addcarryx_u32(x450, x377, x425);
- uint32_t x455, uint8_t x456 = addcarryx_u32(x453, x380, x428);
- uint8_t x457 = (x456 + x381);
- uint32_t x459, uint32_t x460 = mulx_u32(x11, x19);
- uint32_t x462, uint32_t x463 = mulx_u32(x11, x21);
- uint32_t x465, uint32_t x466 = mulx_u32(x11, x23);
- uint32_t x468, uint32_t x469 = mulx_u32(x11, x25);
- uint32_t x471, uint32_t x472 = mulx_u32(x11, x27);
- uint32_t x474, uint32_t x475 = mulx_u32(x11, x29);
- uint32_t x477, uint32_t x478 = mulx_u32(x11, x31);
- uint32_t x480, uint32_t x481 = mulx_u32(x11, x30);
- uint32_t x483, uint8_t x484 = addcarryx_u32(0x0, x460, x462);
- uint32_t x486, uint8_t x487 = addcarryx_u32(x484, x463, x465);
- uint32_t x489, uint8_t x490 = addcarryx_u32(x487, x466, x468);
- uint32_t x492, uint8_t x493 = addcarryx_u32(x490, x469, x471);
- uint32_t x495, uint8_t x496 = addcarryx_u32(x493, x472, x474);
- uint32_t x498, uint8_t x499 = addcarryx_u32(x496, x475, x477);
- uint32_t x501, uint8_t x502 = addcarryx_u32(x499, x478, x480);
- uint32_t x504, uint8_t _ = addcarryx_u32(0x0, x502, x481);
- uint32_t x507, uint8_t x508 = addcarryx_u32(0x0, x434, x459);
- uint32_t x510, uint8_t x511 = addcarryx_u32(x508, x437, x483);
- uint32_t x513, uint8_t x514 = addcarryx_u32(x511, x440, x486);
- uint32_t x516, uint8_t x517 = addcarryx_u32(x514, x443, x489);
- uint32_t x519, uint8_t x520 = addcarryx_u32(x517, x446, x492);
- uint32_t x522, uint8_t x523 = addcarryx_u32(x520, x449, x495);
- uint32_t x525, uint8_t x526 = addcarryx_u32(x523, x452, x498);
- uint32_t x528, uint8_t x529 = addcarryx_u32(x526, x455, x501);
- uint32_t x531, uint8_t x532 = addcarryx_u32(x529, x457, x504);
- uint32_t x534, uint32_t x535 = mulx_u32(x507, 0xffffffff);
- uint32_t x537, uint32_t x538 = mulx_u32(x507, 0xffffffff);
- uint32_t x540, uint32_t x541 = mulx_u32(x507, 0xffffffff);
- uint32_t x543, uint32_t x544 = mulx_u32(x507, 0xffffffff);
- uint32_t x546, uint32_t x547 = mulx_u32(x507, 0xffffffff);
- uint32_t x549, uint32_t x550 = mulx_u32(x507, 0xffffffff);
- uint32_t x552, uint32_t x553 = mulx_u32(x507, 0xffffffff);
- uint32_t x555, uint32_t x556 = mulx_u32(x507, 0xffa7ffff);
- uint32_t x558, uint8_t x559 = addcarryx_u32(0x0, x535, x537);
- uint32_t x561, uint8_t x562 = addcarryx_u32(x559, x538, x540);
- uint32_t x564, uint8_t x565 = addcarryx_u32(x562, x541, x543);
- uint32_t x567, uint8_t x568 = addcarryx_u32(x565, x544, x546);
- uint32_t x570, uint8_t x571 = addcarryx_u32(x568, x547, x549);
- uint32_t x573, uint8_t x574 = addcarryx_u32(x571, x550, x552);
- uint32_t x576, uint8_t x577 = addcarryx_u32(x574, x553, x555);
- uint32_t x579, uint8_t _ = addcarryx_u32(0x0, x577, x556);
- uint32_t _, uint8_t x583 = addcarryx_u32(0x0, x507, x534);
- uint32_t x585, uint8_t x586 = addcarryx_u32(x583, x510, x558);
- uint32_t x588, uint8_t x589 = addcarryx_u32(x586, x513, x561);
- uint32_t x591, uint8_t x592 = addcarryx_u32(x589, x516, x564);
- uint32_t x594, uint8_t x595 = addcarryx_u32(x592, x519, x567);
- uint32_t x597, uint8_t x598 = addcarryx_u32(x595, x522, x570);
- uint32_t x600, uint8_t x601 = addcarryx_u32(x598, x525, x573);
- uint32_t x603, uint8_t x604 = addcarryx_u32(x601, x528, x576);
- uint32_t x606, uint8_t x607 = addcarryx_u32(x604, x531, x579);
- uint8_t x608 = (x607 + x532);
- uint32_t x610, uint32_t x611 = mulx_u32(x13, x19);
- uint32_t x613, uint32_t x614 = mulx_u32(x13, x21);
- uint32_t x616, uint32_t x617 = mulx_u32(x13, x23);
- uint32_t x619, uint32_t x620 = mulx_u32(x13, x25);
- uint32_t x622, uint32_t x623 = mulx_u32(x13, x27);
- uint32_t x625, uint32_t x626 = mulx_u32(x13, x29);
- uint32_t x628, uint32_t x629 = mulx_u32(x13, x31);
- uint32_t x631, uint32_t x632 = mulx_u32(x13, x30);
- uint32_t x634, uint8_t x635 = addcarryx_u32(0x0, x611, x613);
- uint32_t x637, uint8_t x638 = addcarryx_u32(x635, x614, x616);
- uint32_t x640, uint8_t x641 = addcarryx_u32(x638, x617, x619);
- uint32_t x643, uint8_t x644 = addcarryx_u32(x641, x620, x622);
- uint32_t x646, uint8_t x647 = addcarryx_u32(x644, x623, x625);
- uint32_t x649, uint8_t x650 = addcarryx_u32(x647, x626, x628);
- uint32_t x652, uint8_t x653 = addcarryx_u32(x650, x629, x631);
- uint32_t x655, uint8_t _ = addcarryx_u32(0x0, x653, x632);
- uint32_t x658, uint8_t x659 = addcarryx_u32(0x0, x585, x610);
- uint32_t x661, uint8_t x662 = addcarryx_u32(x659, x588, x634);
- uint32_t x664, uint8_t x665 = addcarryx_u32(x662, x591, x637);
- uint32_t x667, uint8_t x668 = addcarryx_u32(x665, x594, x640);
- uint32_t x670, uint8_t x671 = addcarryx_u32(x668, x597, x643);
- uint32_t x673, uint8_t x674 = addcarryx_u32(x671, x600, x646);
- uint32_t x676, uint8_t x677 = addcarryx_u32(x674, x603, x649);
- uint32_t x679, uint8_t x680 = addcarryx_u32(x677, x606, x652);
- uint32_t x682, uint8_t x683 = addcarryx_u32(x680, x608, x655);
- uint32_t x685, uint32_t x686 = mulx_u32(x658, 0xffffffff);
- uint32_t x688, uint32_t x689 = mulx_u32(x658, 0xffffffff);
- uint32_t x691, uint32_t x692 = mulx_u32(x658, 0xffffffff);
- uint32_t x694, uint32_t x695 = mulx_u32(x658, 0xffffffff);
- uint32_t x697, uint32_t x698 = mulx_u32(x658, 0xffffffff);
- uint32_t x700, uint32_t x701 = mulx_u32(x658, 0xffffffff);
- uint32_t x703, uint32_t x704 = mulx_u32(x658, 0xffffffff);
- uint32_t x706, uint32_t x707 = mulx_u32(x658, 0xffa7ffff);
- uint32_t x709, uint8_t x710 = addcarryx_u32(0x0, x686, x688);
- uint32_t x712, uint8_t x713 = addcarryx_u32(x710, x689, x691);
- uint32_t x715, uint8_t x716 = addcarryx_u32(x713, x692, x694);
- uint32_t x718, uint8_t x719 = addcarryx_u32(x716, x695, x697);
- uint32_t x721, uint8_t x722 = addcarryx_u32(x719, x698, x700);
- uint32_t x724, uint8_t x725 = addcarryx_u32(x722, x701, x703);
- uint32_t x727, uint8_t x728 = addcarryx_u32(x725, x704, x706);
- uint32_t x730, uint8_t _ = addcarryx_u32(0x0, x728, x707);
- uint32_t _, uint8_t x734 = addcarryx_u32(0x0, x658, x685);
- uint32_t x736, uint8_t x737 = addcarryx_u32(x734, x661, x709);
- uint32_t x739, uint8_t x740 = addcarryx_u32(x737, x664, x712);
- uint32_t x742, uint8_t x743 = addcarryx_u32(x740, x667, x715);
- uint32_t x745, uint8_t x746 = addcarryx_u32(x743, x670, x718);
- uint32_t x748, uint8_t x749 = addcarryx_u32(x746, x673, x721);
- uint32_t x751, uint8_t x752 = addcarryx_u32(x749, x676, x724);
- uint32_t x754, uint8_t x755 = addcarryx_u32(x752, x679, x727);
- uint32_t x757, uint8_t x758 = addcarryx_u32(x755, x682, x730);
- uint8_t x759 = (x758 + x683);
- uint32_t x761, uint32_t x762 = mulx_u32(x15, x19);
- uint32_t x764, uint32_t x765 = mulx_u32(x15, x21);
- uint32_t x767, uint32_t x768 = mulx_u32(x15, x23);
- uint32_t x770, uint32_t x771 = mulx_u32(x15, x25);
- uint32_t x773, uint32_t x774 = mulx_u32(x15, x27);
- uint32_t x776, uint32_t x777 = mulx_u32(x15, x29);
- uint32_t x779, uint32_t x780 = mulx_u32(x15, x31);
- uint32_t x782, uint32_t x783 = mulx_u32(x15, x30);
- uint32_t x785, uint8_t x786 = addcarryx_u32(0x0, x762, x764);
- uint32_t x788, uint8_t x789 = addcarryx_u32(x786, x765, x767);
- uint32_t x791, uint8_t x792 = addcarryx_u32(x789, x768, x770);
- uint32_t x794, uint8_t x795 = addcarryx_u32(x792, x771, x773);
- uint32_t x797, uint8_t x798 = addcarryx_u32(x795, x774, x776);
- uint32_t x800, uint8_t x801 = addcarryx_u32(x798, x777, x779);
- uint32_t x803, uint8_t x804 = addcarryx_u32(x801, x780, x782);
- uint32_t x806, uint8_t _ = addcarryx_u32(0x0, x804, x783);
- uint32_t x809, uint8_t x810 = addcarryx_u32(0x0, x736, x761);
- uint32_t x812, uint8_t x813 = addcarryx_u32(x810, x739, x785);
- uint32_t x815, uint8_t x816 = addcarryx_u32(x813, x742, x788);
- uint32_t x818, uint8_t x819 = addcarryx_u32(x816, x745, x791);
- uint32_t x821, uint8_t x822 = addcarryx_u32(x819, x748, x794);
- uint32_t x824, uint8_t x825 = addcarryx_u32(x822, x751, x797);
- uint32_t x827, uint8_t x828 = addcarryx_u32(x825, x754, x800);
- uint32_t x830, uint8_t x831 = addcarryx_u32(x828, x757, x803);
- uint32_t x833, uint8_t x834 = addcarryx_u32(x831, x759, x806);
- uint32_t x836, uint32_t x837 = mulx_u32(x809, 0xffffffff);
- uint32_t x839, uint32_t x840 = mulx_u32(x809, 0xffffffff);
- uint32_t x842, uint32_t x843 = mulx_u32(x809, 0xffffffff);
- uint32_t x845, uint32_t x846 = mulx_u32(x809, 0xffffffff);
- uint32_t x848, uint32_t x849 = mulx_u32(x809, 0xffffffff);
- uint32_t x851, uint32_t x852 = mulx_u32(x809, 0xffffffff);
- uint32_t x854, uint32_t x855 = mulx_u32(x809, 0xffffffff);
- uint32_t x857, uint32_t x858 = mulx_u32(x809, 0xffa7ffff);
- uint32_t x860, uint8_t x861 = addcarryx_u32(0x0, x837, x839);
- uint32_t x863, uint8_t x864 = addcarryx_u32(x861, x840, x842);
- uint32_t x866, uint8_t x867 = addcarryx_u32(x864, x843, x845);
- uint32_t x869, uint8_t x870 = addcarryx_u32(x867, x846, x848);
- uint32_t x872, uint8_t x873 = addcarryx_u32(x870, x849, x851);
- uint32_t x875, uint8_t x876 = addcarryx_u32(x873, x852, x854);
- uint32_t x878, uint8_t x879 = addcarryx_u32(x876, x855, x857);
- uint32_t x881, uint8_t _ = addcarryx_u32(0x0, x879, x858);
- uint32_t _, uint8_t x885 = addcarryx_u32(0x0, x809, x836);
- uint32_t x887, uint8_t x888 = addcarryx_u32(x885, x812, x860);
- uint32_t x890, uint8_t x891 = addcarryx_u32(x888, x815, x863);
- uint32_t x893, uint8_t x894 = addcarryx_u32(x891, x818, x866);
- uint32_t x896, uint8_t x897 = addcarryx_u32(x894, x821, x869);
- uint32_t x899, uint8_t x900 = addcarryx_u32(x897, x824, x872);
- uint32_t x902, uint8_t x903 = addcarryx_u32(x900, x827, x875);
- uint32_t x905, uint8_t x906 = addcarryx_u32(x903, x830, x878);
- uint32_t x908, uint8_t x909 = addcarryx_u32(x906, x833, x881);
- uint8_t x910 = (x909 + x834);
- uint32_t x912, uint32_t x913 = mulx_u32(x17, x19);
- uint32_t x915, uint32_t x916 = mulx_u32(x17, x21);
- uint32_t x918, uint32_t x919 = mulx_u32(x17, x23);
- uint32_t x921, uint32_t x922 = mulx_u32(x17, x25);
- uint32_t x924, uint32_t x925 = mulx_u32(x17, x27);
- uint32_t x927, uint32_t x928 = mulx_u32(x17, x29);
- uint32_t x930, uint32_t x931 = mulx_u32(x17, x31);
- uint32_t x933, uint32_t x934 = mulx_u32(x17, x30);
- uint32_t x936, uint8_t x937 = addcarryx_u32(0x0, x913, x915);
- uint32_t x939, uint8_t x940 = addcarryx_u32(x937, x916, x918);
- uint32_t x942, uint8_t x943 = addcarryx_u32(x940, x919, x921);
- uint32_t x945, uint8_t x946 = addcarryx_u32(x943, x922, x924);
- uint32_t x948, uint8_t x949 = addcarryx_u32(x946, x925, x927);
- uint32_t x951, uint8_t x952 = addcarryx_u32(x949, x928, x930);
- uint32_t x954, uint8_t x955 = addcarryx_u32(x952, x931, x933);
- uint32_t x957, uint8_t _ = addcarryx_u32(0x0, x955, x934);
- uint32_t x960, uint8_t x961 = addcarryx_u32(0x0, x887, x912);
- uint32_t x963, uint8_t x964 = addcarryx_u32(x961, x890, x936);
- uint32_t x966, uint8_t x967 = addcarryx_u32(x964, x893, x939);
- uint32_t x969, uint8_t x970 = addcarryx_u32(x967, x896, x942);
- uint32_t x972, uint8_t x973 = addcarryx_u32(x970, x899, x945);
- uint32_t x975, uint8_t x976 = addcarryx_u32(x973, x902, x948);
- uint32_t x978, uint8_t x979 = addcarryx_u32(x976, x905, x951);
- uint32_t x981, uint8_t x982 = addcarryx_u32(x979, x908, x954);
- uint32_t x984, uint8_t x985 = addcarryx_u32(x982, x910, x957);
- uint32_t x987, uint32_t x988 = mulx_u32(x960, 0xffffffff);
- uint32_t x990, uint32_t x991 = mulx_u32(x960, 0xffffffff);
- uint32_t x993, uint32_t x994 = mulx_u32(x960, 0xffffffff);
- uint32_t x996, uint32_t x997 = mulx_u32(x960, 0xffffffff);
- uint32_t x999, uint32_t x1000 = mulx_u32(x960, 0xffffffff);
- uint32_t x1002, uint32_t x1003 = mulx_u32(x960, 0xffffffff);
- uint32_t x1005, uint32_t x1006 = mulx_u32(x960, 0xffffffff);
- uint32_t x1008, uint32_t x1009 = mulx_u32(x960, 0xffa7ffff);
- uint32_t x1011, uint8_t x1012 = addcarryx_u32(0x0, x988, x990);
- uint32_t x1014, uint8_t x1015 = addcarryx_u32(x1012, x991, x993);
- uint32_t x1017, uint8_t x1018 = addcarryx_u32(x1015, x994, x996);
- uint32_t x1020, uint8_t x1021 = addcarryx_u32(x1018, x997, x999);
- uint32_t x1023, uint8_t x1024 = addcarryx_u32(x1021, x1000, x1002);
- uint32_t x1026, uint8_t x1027 = addcarryx_u32(x1024, x1003, x1005);
- uint32_t x1029, uint8_t x1030 = addcarryx_u32(x1027, x1006, x1008);
- uint32_t x1032, uint8_t _ = addcarryx_u32(0x0, x1030, x1009);
- uint32_t _, uint8_t x1036 = addcarryx_u32(0x0, x960, x987);
- uint32_t x1038, uint8_t x1039 = addcarryx_u32(x1036, x963, x1011);
- uint32_t x1041, uint8_t x1042 = addcarryx_u32(x1039, x966, x1014);
- uint32_t x1044, uint8_t x1045 = addcarryx_u32(x1042, x969, x1017);
- uint32_t x1047, uint8_t x1048 = addcarryx_u32(x1045, x972, x1020);
- uint32_t x1050, uint8_t x1051 = addcarryx_u32(x1048, x975, x1023);
- uint32_t x1053, uint8_t x1054 = addcarryx_u32(x1051, x978, x1026);
- uint32_t x1056, uint8_t x1057 = addcarryx_u32(x1054, x981, x1029);
- uint32_t x1059, uint8_t x1060 = addcarryx_u32(x1057, x984, x1032);
- uint8_t x1061 = (x1060 + x985);
- uint32_t x1063, uint32_t x1064 = mulx_u32(x16, x19);
- uint32_t x1066, uint32_t x1067 = mulx_u32(x16, x21);
- uint32_t x1069, uint32_t x1070 = mulx_u32(x16, x23);
- uint32_t x1072, uint32_t x1073 = mulx_u32(x16, x25);
- uint32_t x1075, uint32_t x1076 = mulx_u32(x16, x27);
- uint32_t x1078, uint32_t x1079 = mulx_u32(x16, x29);
- uint32_t x1081, uint32_t x1082 = mulx_u32(x16, x31);
- uint32_t x1084, uint32_t x1085 = mulx_u32(x16, x30);
- uint32_t x1087, uint8_t x1088 = addcarryx_u32(0x0, x1064, x1066);
- uint32_t x1090, uint8_t x1091 = addcarryx_u32(x1088, x1067, x1069);
- uint32_t x1093, uint8_t x1094 = addcarryx_u32(x1091, x1070, x1072);
- uint32_t x1096, uint8_t x1097 = addcarryx_u32(x1094, x1073, x1075);
- uint32_t x1099, uint8_t x1100 = addcarryx_u32(x1097, x1076, x1078);
- uint32_t x1102, uint8_t x1103 = addcarryx_u32(x1100, x1079, x1081);
- uint32_t x1105, uint8_t x1106 = addcarryx_u32(x1103, x1082, x1084);
- uint32_t x1108, uint8_t _ = addcarryx_u32(0x0, x1106, x1085);
- uint32_t x1111, uint8_t x1112 = addcarryx_u32(0x0, x1038, x1063);
- uint32_t x1114, uint8_t x1115 = addcarryx_u32(x1112, x1041, x1087);
- uint32_t x1117, uint8_t x1118 = addcarryx_u32(x1115, x1044, x1090);
- uint32_t x1120, uint8_t x1121 = addcarryx_u32(x1118, x1047, x1093);
- uint32_t x1123, uint8_t x1124 = addcarryx_u32(x1121, x1050, x1096);
- uint32_t x1126, uint8_t x1127 = addcarryx_u32(x1124, x1053, x1099);
- uint32_t x1129, uint8_t x1130 = addcarryx_u32(x1127, x1056, x1102);
- uint32_t x1132, uint8_t x1133 = addcarryx_u32(x1130, x1059, x1105);
- uint32_t x1135, uint8_t x1136 = addcarryx_u32(x1133, x1061, x1108);
- uint32_t x1138, uint32_t x1139 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1141, uint32_t x1142 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1144, uint32_t x1145 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1147, uint32_t x1148 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1150, uint32_t x1151 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1153, uint32_t x1154 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1156, uint32_t x1157 = mulx_u32(x1111, 0xffffffff);
- uint32_t x1159, uint32_t x1160 = mulx_u32(x1111, 0xffa7ffff);
- uint32_t x1162, uint8_t x1163 = addcarryx_u32(0x0, x1139, x1141);
- uint32_t x1165, uint8_t x1166 = addcarryx_u32(x1163, x1142, x1144);
- uint32_t x1168, uint8_t x1169 = addcarryx_u32(x1166, x1145, x1147);
- uint32_t x1171, uint8_t x1172 = addcarryx_u32(x1169, x1148, x1150);
- uint32_t x1174, uint8_t x1175 = addcarryx_u32(x1172, x1151, x1153);
- uint32_t x1177, uint8_t x1178 = addcarryx_u32(x1175, x1154, x1156);
- uint32_t x1180, uint8_t x1181 = addcarryx_u32(x1178, x1157, x1159);
- uint32_t x1183, uint8_t _ = addcarryx_u32(0x0, x1181, x1160);
- uint32_t _, uint8_t x1187 = addcarryx_u32(0x0, x1111, x1138);
- uint32_t x1189, uint8_t x1190 = addcarryx_u32(x1187, x1114, x1162);
- uint32_t x1192, uint8_t x1193 = addcarryx_u32(x1190, x1117, x1165);
- uint32_t x1195, uint8_t x1196 = addcarryx_u32(x1193, x1120, x1168);
- uint32_t x1198, uint8_t x1199 = addcarryx_u32(x1196, x1123, x1171);
- uint32_t x1201, uint8_t x1202 = addcarryx_u32(x1199, x1126, x1174);
- uint32_t x1204, uint8_t x1205 = addcarryx_u32(x1202, x1129, x1177);
- uint32_t x1207, uint8_t x1208 = addcarryx_u32(x1205, x1132, x1180);
- uint32_t x1210, uint8_t x1211 = addcarryx_u32(x1208, x1135, x1183);
- uint8_t x1212 = (x1211 + x1136);
- uint32_t x1214, uint8_t x1215 = subborrow_u32(0x0, x1189, 0xffffffff);
- uint32_t x1217, uint8_t x1218 = subborrow_u32(x1215, x1192, 0xffffffff);
- uint32_t x1220, uint8_t x1221 = subborrow_u32(x1218, x1195, 0xffffffff);
- uint32_t x1223, uint8_t x1224 = subborrow_u32(x1221, x1198, 0xffffffff);
- uint32_t x1226, uint8_t x1227 = subborrow_u32(x1224, x1201, 0xffffffff);
- uint32_t x1229, uint8_t x1230 = subborrow_u32(x1227, x1204, 0xffffffff);
- uint32_t x1232, uint8_t x1233 = subborrow_u32(x1230, x1207, 0xffffffff);
- uint32_t x1235, uint8_t x1236 = subborrow_u32(x1233, x1210, 0xffa7ffff);
- uint32_t _, uint8_t x1239 = subborrow_u32(x1236, x1212, 0x0);
- uint32_t x1240 = cmovznz32(x1239, x1235, x1210);
- uint32_t x1241 = cmovznz32(x1239, x1232, x1207);
- uint32_t x1242 = cmovznz32(x1239, x1229, x1204);
- uint32_t x1243 = cmovznz32(x1239, x1226, x1201);
- uint32_t x1244 = cmovznz32(x1239, x1223, x1198);
- uint32_t x1245 = cmovznz32(x1239, x1220, x1195);
- uint32_t x1246 = cmovznz32(x1239, x1217, x1192);
- uint32_t x1247 = cmovznz32(x1239, x1214, x1189);
- return (x1240, x1241, x1242, x1243, x1244, x1245, x1246, x1247))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.v
deleted file mode 100644
index a7fb74bc4..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.c
deleted file mode 100644
index 744f2aa5f..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (x14 | x13);
- { uint32_t x16 = (x12 | x15);
- { uint32_t x17 = (x10 | x16);
- { uint32_t x18 = (x8 | x17);
- { uint32_t x19 = (x6 | x18);
- { uint32_t x20 = (x4 | x19);
- { uint32_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.v
deleted file mode 100644
index f436e1855..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.log
deleted file mode 100644
index c7c1c2df1..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x15 = (x14 | x13);
- uint32_t x16 = (x12 | x15);
- uint32_t x17 = (x10 | x16);
- uint32_t x18 = (x8 | x17);
- uint32_t x19 = (x6 | x18);
- uint32_t x20 = (x4 | x19);
- uint32_t x21 = (x2 | x20);
- return x21)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.v
deleted file mode 100644
index 6f6fd1490..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.c
deleted file mode 100644
index e31162ea2..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void feopp(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16; uint8_t x17 = _subborrow_u32(0x0, 0x0, x2, &x16);
- { uint32_t x19; uint8_t x20 = _subborrow_u32(x17, 0x0, x4, &x19);
- { uint32_t x22; uint8_t x23 = _subborrow_u32(x20, 0x0, x6, &x22);
- { uint32_t x25; uint8_t x26 = _subborrow_u32(x23, 0x0, x8, &x25);
- { uint32_t x28; uint8_t x29 = _subborrow_u32(x26, 0x0, x10, &x28);
- { uint32_t x31; uint8_t x32 = _subborrow_u32(x29, 0x0, x12, &x31);
- { uint32_t x34; uint8_t x35 = _subborrow_u32(x32, 0x0, x14, &x34);
- { uint32_t x37; uint8_t x38 = _subborrow_u32(x35, 0x0, x13, &x37);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0xffffffff);
- { uint32_t x42; uint8_t x43 = _addcarryx_u32(0x0, x16, x40, &x42);
- { uint32_t x44 = (x39 & 0xffffffff);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x43, x19, x44, &x46);
- { uint32_t x48 = (x39 & 0xffffffff);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x47, x22, x48, &x50);
- { uint32_t x52 = (x39 & 0xffffffff);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x51, x25, x52, &x54);
- { uint32_t x56 = (x39 & 0xffffffff);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x55, x28, x56, &x58);
- { uint32_t x60 = (x39 & 0xffffffff);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x59, x31, x60, &x62);
- { uint32_t x64 = (x39 & 0xffffffff);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x63, x34, x64, &x66);
- { uint32_t x68 = (x39 & 0xffa7ffff);
- { uint32_t x70; uint8_t _ = _addcarryx_u32(x67, x37, x68, &x70);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.v
deleted file mode 100644
index cb0f5ce19..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.log
deleted file mode 100644
index 947fb5f66..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = subborrow_u32(0x0, 0x0, x2);
- uint32_t x19, uint8_t x20 = subborrow_u32(x17, 0x0, x4);
- uint32_t x22, uint8_t x23 = subborrow_u32(x20, 0x0, x6);
- uint32_t x25, uint8_t x26 = subborrow_u32(x23, 0x0, x8);
- uint32_t x28, uint8_t x29 = subborrow_u32(x26, 0x0, x10);
- uint32_t x31, uint8_t x32 = subborrow_u32(x29, 0x0, x12);
- uint32_t x34, uint8_t x35 = subborrow_u32(x32, 0x0, x14);
- uint32_t x37, uint8_t x38 = subborrow_u32(x35, 0x0, x13);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0xffffffff);
- uint32_t x42, uint8_t x43 = addcarryx_u32(0x0, x16, x40);
- uint32_t x44 = (x39 & 0xffffffff);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x43, x19, x44);
- uint32_t x48 = (x39 & 0xffffffff);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x47, x22, x48);
- uint32_t x52 = (x39 & 0xffffffff);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x51, x25, x52);
- uint32_t x56 = (x39 & 0xffffffff);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x55, x28, x56);
- uint32_t x60 = (x39 & 0xffffffff);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x59, x31, x60);
- uint32_t x64 = (x39 & 0xffffffff);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x63, x34, x64);
- uint32_t x68 = (x39 & 0xffa7ffff);
- uint32_t x70, uint8_t _ = addcarryx_u32(x67, x37, x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.v
deleted file mode 100644
index d88c3ee9e..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.c
deleted file mode 100644
index e192050b7..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint32_t x33; uint8_t x34 = _subborrow_u32(0x0, x5, x19, &x33);
- { uint32_t x36; uint8_t x37 = _subborrow_u32(x34, x7, x21, &x36);
- { uint32_t x39; uint8_t x40 = _subborrow_u32(x37, x9, x23, &x39);
- { uint32_t x42; uint8_t x43 = _subborrow_u32(x40, x11, x25, &x42);
- { uint32_t x45; uint8_t x46 = _subborrow_u32(x43, x13, x27, &x45);
- { uint32_t x48; uint8_t x49 = _subborrow_u32(x46, x15, x29, &x48);
- { uint32_t x51; uint8_t x52 = _subborrow_u32(x49, x17, x31, &x51);
- { uint32_t x54; uint8_t x55 = _subborrow_u32(x52, x16, x30, &x54);
- { uint32_t x56 = cmovznz32(x55, 0x0, 0xffffffff);
- { uint32_t x57 = (x56 & 0xffffffff);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(0x0, x33, x57, &x59);
- { uint32_t x61 = (x56 & 0xffffffff);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x60, x36, x61, &x63);
- { uint32_t x65 = (x56 & 0xffffffff);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x64, x39, x65, &x67);
- { uint32_t x69 = (x56 & 0xffffffff);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x68, x42, x69, &x71);
- { uint32_t x73 = (x56 & 0xffffffff);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x72, x45, x73, &x75);
- { uint32_t x77 = (x56 & 0xffffffff);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x76, x48, x77, &x79);
- { uint32_t x81 = (x56 & 0xffffffff);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x80, x51, x81, &x83);
- { uint32_t x85 = (x56 & 0xffa7ffff);
- { uint32_t x87; uint8_t _ = _addcarryx_u32(x84, x54, x85, &x87);
- out[0] = x59;
- out[1] = x63;
- out[2] = x67;
- out[3] = x71;
- out[4] = x75;
- out[5] = x79;
- out[6] = x83;
- out[7] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.v
deleted file mode 100644
index f84ee3c48..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.log b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.log
deleted file mode 100644
index aab7d8d32..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint32_t x33, uint8_t x34 = subborrow_u32(0x0, x5, x19);
- uint32_t x36, uint8_t x37 = subborrow_u32(x34, x7, x21);
- uint32_t x39, uint8_t x40 = subborrow_u32(x37, x9, x23);
- uint32_t x42, uint8_t x43 = subborrow_u32(x40, x11, x25);
- uint32_t x45, uint8_t x46 = subborrow_u32(x43, x13, x27);
- uint32_t x48, uint8_t x49 = subborrow_u32(x46, x15, x29);
- uint32_t x51, uint8_t x52 = subborrow_u32(x49, x17, x31);
- uint32_t x54, uint8_t x55 = subborrow_u32(x52, x16, x30);
- uint32_t x56 = cmovznz32(x55, 0x0, 0xffffffff);
- uint32_t x57 = (x56 & 0xffffffff);
- uint32_t x59, uint8_t x60 = addcarryx_u32(0x0, x33, x57);
- uint32_t x61 = (x56 & 0xffffffff);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x60, x36, x61);
- uint32_t x65 = (x56 & 0xffffffff);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x64, x39, x65);
- uint32_t x69 = (x56 & 0xffffffff);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x68, x42, x69);
- uint32_t x73 = (x56 & 0xffffffff);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x72, x45, x73);
- uint32_t x77 = (x56 & 0xffffffff);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x76, x48, x77);
- uint32_t x81 = (x56 & 0xffffffff);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x80, x51, x81);
- uint32_t x85 = (x56 & 0xffa7ffff);
- uint32_t x87, uint8_t _ = addcarryx_u32(x84, x54, x85);
- (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.v b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.v
deleted file mode 100644
index 0d953d26e..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e256m88x2e240m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/py_interpreter.sh b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/py_interpreter.sh
deleted file mode 100755
index 09e3d56cf..000000000
--- a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 88*2**240 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/CurveParameters.v b/src/Specific/montgomery32_2e266m3_9limbs/CurveParameters.v
deleted file mode 100644
index 77b84da50..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^266 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 32;
- bitwidth := 32;
- s := 2^266;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e266m3_9limbs/Synthesis.v b/src/Specific/montgomery32_2e266m3_9limbs/Synthesis.v
deleted file mode 100644
index bdeb64c63..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.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/montgomery32_2e266m3_9limbs/compiler.sh b/src/Specific/montgomery32_2e266m3_9limbs/compiler.sh
deleted file mode 100755
index cb66392dd..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/compilerxx.sh b/src/Specific/montgomery32_2e266m3_9limbs/compilerxx.sh
deleted file mode 100755
index 5f503ca01..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/feadd.c b/src/Specific/montgomery32_2e266m3_9limbs/feadd.c
deleted file mode 100644
index c59fa710c..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/feadd.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(0x0, x5, x21, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x7, x23, &x40);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(x41, x9, x25, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x11, x27, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x13, x29, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x15, x31, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x17, x33, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x19, x35, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x18, x34, &x61);
- { uint32_t x64; uint8_t x65 = _subborrow_u32(0x0, x37, 0xfffffffd, &x64);
- { uint32_t x67; uint8_t x68 = _subborrow_u32(x65, x40, 0xffffffff, &x67);
- { uint32_t x70; uint8_t x71 = _subborrow_u32(x68, x43, 0xffffffff, &x70);
- { uint32_t x73; uint8_t x74 = _subborrow_u32(x71, x46, 0xffffffff, &x73);
- { uint32_t x76; uint8_t x77 = _subborrow_u32(x74, x49, 0xffffffff, &x76);
- { uint32_t x79; uint8_t x80 = _subborrow_u32(x77, x52, 0xffffffff, &x79);
- { uint32_t x82; uint8_t x83 = _subborrow_u32(x80, x55, 0xffffffff, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(x83, x58, 0xffffffff, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x61, 0x3ff, &x88);
- { uint32_t _; uint8_t x92 = _subborrow_u32(x89, x62, 0x0, &_);
- { uint32_t x93 = cmovznz32(x92, x88, x61);
- { uint32_t x94 = cmovznz32(x92, x85, x58);
- { uint32_t x95 = cmovznz32(x92, x82, x55);
- { uint32_t x96 = cmovznz32(x92, x79, x52);
- { uint32_t x97 = cmovznz32(x92, x76, x49);
- { uint32_t x98 = cmovznz32(x92, x73, x46);
- { uint32_t x99 = cmovznz32(x92, x70, x43);
- { uint32_t x100 = cmovznz32(x92, x67, x40);
- { uint32_t x101 = cmovznz32(x92, x64, x37);
- out[0] = x101;
- out[1] = x100;
- out[2] = x99;
- out[3] = x98;
- out[4] = x97;
- out[5] = x96;
- out[6] = x95;
- out[7] = x94;
- out[8] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/feadd.v b/src/Specific/montgomery32_2e266m3_9limbs/feadd.v
deleted file mode 100644
index 76bf68719..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.log b/src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.log
deleted file mode 100644
index de4f4c7bf..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x5, x21);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x7, x23);
- uint32_t x43, uint8_t x44 = addcarryx_u32(x41, x9, x25);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x11, x27);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x13, x29);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x15, x31);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x17, x33);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x19, x35);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x18, x34);
- uint32_t x64, uint8_t x65 = subborrow_u32(0x0, x37, 0xfffffffd);
- uint32_t x67, uint8_t x68 = subborrow_u32(x65, x40, 0xffffffff);
- uint32_t x70, uint8_t x71 = subborrow_u32(x68, x43, 0xffffffff);
- uint32_t x73, uint8_t x74 = subborrow_u32(x71, x46, 0xffffffff);
- uint32_t x76, uint8_t x77 = subborrow_u32(x74, x49, 0xffffffff);
- uint32_t x79, uint8_t x80 = subborrow_u32(x77, x52, 0xffffffff);
- uint32_t x82, uint8_t x83 = subborrow_u32(x80, x55, 0xffffffff);
- uint32_t x85, uint8_t x86 = subborrow_u32(x83, x58, 0xffffffff);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x61, 0x3ff);
- uint32_t _, uint8_t x92 = subborrow_u32(x89, x62, 0x0);
- uint32_t x93 = cmovznz32(x92, x88, x61);
- uint32_t x94 = cmovznz32(x92, x85, x58);
- uint32_t x95 = cmovznz32(x92, x82, x55);
- uint32_t x96 = cmovznz32(x92, x79, x52);
- uint32_t x97 = cmovznz32(x92, x76, x49);
- uint32_t x98 = cmovznz32(x92, x73, x46);
- uint32_t x99 = cmovznz32(x92, x70, x43);
- uint32_t x100 = cmovznz32(x92, x67, x40);
- uint32_t x101 = cmovznz32(x92, x64, x37);
- return (x93, x94, x95, x96, x97, x98, x99, x100, x101))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.v b/src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.v
deleted file mode 100644
index 36b9525c2..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/femul.v b/src/Specific/montgomery32_2e266m3_9limbs/femul.v
deleted file mode 100644
index 35be13188..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/femulDisplay.v b/src/Specific/montgomery32_2e266m3_9limbs/femulDisplay.v
deleted file mode 100644
index 9129251a9..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fenz.c b/src/Specific/montgomery32_2e266m3_9limbs/fenz.c
deleted file mode 100644
index c10600790..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fenz.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (x16 | x15);
- { uint32_t x18 = (x14 | x17);
- { uint32_t x19 = (x12 | x18);
- { uint32_t x20 = (x10 | x19);
- { uint32_t x21 = (x8 | x20);
- { uint32_t x22 = (x6 | x21);
- { uint32_t x23 = (x4 | x22);
- { uint32_t x24 = (x2 | x23);
- out[0] = x24;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fenz.v b/src/Specific/montgomery32_2e266m3_9limbs/fenz.v
deleted file mode 100644
index d2b5da571..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.log b/src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.log
deleted file mode 100644
index d8d43b40b..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.log
+++ /dev/null
@@ -1,15 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x17 = (x16 | x15);
- uint32_t x18 = (x14 | x17);
- uint32_t x19 = (x12 | x18);
- uint32_t x20 = (x10 | x19);
- uint32_t x21 = (x8 | x20);
- uint32_t x22 = (x6 | x21);
- uint32_t x23 = (x4 | x22);
- uint32_t x24 = (x2 | x23);
- return x24)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.v b/src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.v
deleted file mode 100644
index 9ef0db2f9..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/feopp.v b/src/Specific/montgomery32_2e266m3_9limbs/feopp.v
deleted file mode 100644
index 8aa749a6f..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/feoppDisplay.v b/src/Specific/montgomery32_2e266m3_9limbs/feoppDisplay.v
deleted file mode 100644
index 2efa883dc..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fesquare.c b/src/Specific/montgomery32_2e266m3_9limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fesub.v b/src/Specific/montgomery32_2e266m3_9limbs/fesub.v
deleted file mode 100644
index 3ffbea356..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fesubDisplay.v b/src/Specific/montgomery32_2e266m3_9limbs/fesubDisplay.v
deleted file mode 100644
index b912f0de4..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e266m3_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/py_interpreter.sh b/src/Specific/montgomery32_2e266m3_9limbs/py_interpreter.sh
deleted file mode 100755
index cd8d8f0a4..000000000
--- a/src/Specific/montgomery32_2e266m3_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**266 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v b/src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v
deleted file mode 100644
index a17478355..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^285 - 9
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 32;
- bitwidth := 32;
- s := 2^285;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e285m9_9limbs/Synthesis.v b/src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v
deleted file mode 100644
index de9d8e76e..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.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/montgomery32_2e285m9_9limbs/compiler.sh b/src/Specific/montgomery32_2e285m9_9limbs/compiler.sh
deleted file mode 100755
index c1dc7bdb1..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/compilerxx.sh b/src/Specific/montgomery32_2e285m9_9limbs/compilerxx.sh
deleted file mode 100755
index 4dc514d7d..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feadd.c b/src/Specific/montgomery32_2e285m9_9limbs/feadd.c
deleted file mode 100644
index 2d47c9464..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/feadd.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint32_t x37; uint8_t x38 = _addcarryx_u32(0x0, x5, x21, &x37);
- { uint32_t x40; uint8_t x41 = _addcarryx_u32(x38, x7, x23, &x40);
- { uint32_t x43; uint8_t x44 = _addcarryx_u32(x41, x9, x25, &x43);
- { uint32_t x46; uint8_t x47 = _addcarryx_u32(x44, x11, x27, &x46);
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(x47, x13, x29, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x15, x31, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x17, x33, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x19, x35, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x18, x34, &x61);
- { uint32_t x64; uint8_t x65 = _subborrow_u32(0x0, x37, 0xfffffff7, &x64);
- { uint32_t x67; uint8_t x68 = _subborrow_u32(x65, x40, 0xffffffff, &x67);
- { uint32_t x70; uint8_t x71 = _subborrow_u32(x68, x43, 0xffffffff, &x70);
- { uint32_t x73; uint8_t x74 = _subborrow_u32(x71, x46, 0xffffffff, &x73);
- { uint32_t x76; uint8_t x77 = _subborrow_u32(x74, x49, 0xffffffff, &x76);
- { uint32_t x79; uint8_t x80 = _subborrow_u32(x77, x52, 0xffffffff, &x79);
- { uint32_t x82; uint8_t x83 = _subborrow_u32(x80, x55, 0xffffffff, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(x83, x58, 0xffffffff, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x61, 0x1fffffff, &x88);
- { uint32_t _; uint8_t x92 = _subborrow_u32(x89, x62, 0x0, &_);
- { uint32_t x93 = cmovznz32(x92, x88, x61);
- { uint32_t x94 = cmovznz32(x92, x85, x58);
- { uint32_t x95 = cmovznz32(x92, x82, x55);
- { uint32_t x96 = cmovznz32(x92, x79, x52);
- { uint32_t x97 = cmovznz32(x92, x76, x49);
- { uint32_t x98 = cmovznz32(x92, x73, x46);
- { uint32_t x99 = cmovznz32(x92, x70, x43);
- { uint32_t x100 = cmovznz32(x92, x67, x40);
- { uint32_t x101 = cmovznz32(x92, x64, x37);
- out[0] = x101;
- out[1] = x100;
- out[2] = x99;
- out[3] = x98;
- out[4] = x97;
- out[5] = x96;
- out[6] = x95;
- out[7] = x94;
- out[8] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feadd.v b/src/Specific/montgomery32_2e285m9_9limbs/feadd.v
deleted file mode 100644
index 548a2f636..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log b/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log
deleted file mode 100644
index 1dabeafdc..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint32_t x37, uint8_t x38 = addcarryx_u32(0x0, x5, x21);
- uint32_t x40, uint8_t x41 = addcarryx_u32(x38, x7, x23);
- uint32_t x43, uint8_t x44 = addcarryx_u32(x41, x9, x25);
- uint32_t x46, uint8_t x47 = addcarryx_u32(x44, x11, x27);
- uint32_t x49, uint8_t x50 = addcarryx_u32(x47, x13, x29);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x15, x31);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x17, x33);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x19, x35);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x18, x34);
- uint32_t x64, uint8_t x65 = subborrow_u32(0x0, x37, 0xfffffff7);
- uint32_t x67, uint8_t x68 = subborrow_u32(x65, x40, 0xffffffff);
- uint32_t x70, uint8_t x71 = subborrow_u32(x68, x43, 0xffffffff);
- uint32_t x73, uint8_t x74 = subborrow_u32(x71, x46, 0xffffffff);
- uint32_t x76, uint8_t x77 = subborrow_u32(x74, x49, 0xffffffff);
- uint32_t x79, uint8_t x80 = subborrow_u32(x77, x52, 0xffffffff);
- uint32_t x82, uint8_t x83 = subborrow_u32(x80, x55, 0xffffffff);
- uint32_t x85, uint8_t x86 = subborrow_u32(x83, x58, 0xffffffff);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x61, 0x1fffffff);
- uint32_t _, uint8_t x92 = subborrow_u32(x89, x62, 0x0);
- uint32_t x93 = cmovznz32(x92, x88, x61);
- uint32_t x94 = cmovznz32(x92, x85, x58);
- uint32_t x95 = cmovznz32(x92, x82, x55);
- uint32_t x96 = cmovznz32(x92, x79, x52);
- uint32_t x97 = cmovznz32(x92, x76, x49);
- uint32_t x98 = cmovznz32(x92, x73, x46);
- uint32_t x99 = cmovznz32(x92, x70, x43);
- uint32_t x100 = cmovznz32(x92, x67, x40);
- uint32_t x101 = cmovznz32(x92, x64, x37);
- return (x93, x94, x95, x96, x97, x98, x99, x100, x101))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v
deleted file mode 100644
index 7d021f1e1..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/femul.v b/src/Specific/montgomery32_2e285m9_9limbs/femul.v
deleted file mode 100644
index 395794549..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v
deleted file mode 100644
index bde3785e9..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenz.c b/src/Specific/montgomery32_2e285m9_9limbs/fenz.c
deleted file mode 100644
index c10600790..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fenz.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (x16 | x15);
- { uint32_t x18 = (x14 | x17);
- { uint32_t x19 = (x12 | x18);
- { uint32_t x20 = (x10 | x19);
- { uint32_t x21 = (x8 | x20);
- { uint32_t x22 = (x6 | x21);
- { uint32_t x23 = (x4 | x22);
- { uint32_t x24 = (x2 | x23);
- out[0] = x24;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenz.v b/src/Specific/montgomery32_2e285m9_9limbs/fenz.v
deleted file mode 100644
index 5c5c5a2cc..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log b/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log
deleted file mode 100644
index d8d43b40b..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.log
+++ /dev/null
@@ -1,15 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x17 = (x16 | x15);
- uint32_t x18 = (x14 | x17);
- uint32_t x19 = (x12 | x18);
- uint32_t x20 = (x10 | x19);
- uint32_t x21 = (x8 | x20);
- uint32_t x22 = (x6 | x21);
- uint32_t x23 = (x4 | x22);
- uint32_t x24 = (x2 | x23);
- return x24)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v
deleted file mode 100644
index 79fbfa65e..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feopp.v b/src/Specific/montgomery32_2e285m9_9limbs/feopp.v
deleted file mode 100644
index 944c20a63..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v
deleted file mode 100644
index 4a157a6db..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c b/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesub.v b/src/Specific/montgomery32_2e285m9_9limbs/fesub.v
deleted file mode 100644
index 94dfd086c..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v b/src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v
deleted file mode 100644
index 6981915a3..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e285m9_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh b/src/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh
deleted file mode 100755
index c07e3f4a1..000000000
--- a/src/Specific/montgomery32_2e285m9_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/CurveParameters.v b/src/Specific/montgomery32_2e291m19_10limbs/CurveParameters.v
deleted file mode 100644
index 5d1b126a1..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^291 - 19
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 32;
- bitwidth := 32;
- s := 2^291;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e291m19_10limbs/Synthesis.v b/src/Specific/montgomery32_2e291m19_10limbs/Synthesis.v
deleted file mode 100644
index 101415039..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.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/montgomery32_2e291m19_10limbs/compiler.sh b/src/Specific/montgomery32_2e291m19_10limbs/compiler.sh
deleted file mode 100755
index 631448ef0..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/compilerxx.sh b/src/Specific/montgomery32_2e291m19_10limbs/compilerxx.sh
deleted file mode 100755
index 8780d3954..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/feadd.c b/src/Specific/montgomery32_2e291m19_10limbs/feadd.c
deleted file mode 100644
index 999094fe2..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/feadd.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint32_t x41; uint8_t x42 = _addcarryx_u32(0x0, x5, x23, &x41);
- { uint32_t x44; uint8_t x45 = _addcarryx_u32(x42, x7, x25, &x44);
- { uint32_t x47; uint8_t x48 = _addcarryx_u32(x45, x9, x27, &x47);
- { uint32_t x50; uint8_t x51 = _addcarryx_u32(x48, x11, x29, &x50);
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(x51, x13, x31, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x15, x33, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x17, x35, &x59);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x60, x19, x37, &x62);
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(x63, x21, x39, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x20, x38, &x68);
- { uint32_t x71; uint8_t x72 = _subborrow_u32(0x0, x41, 0xffffffed, &x71);
- { uint32_t x74; uint8_t x75 = _subborrow_u32(x72, x44, 0xffffffff, &x74);
- { uint32_t x77; uint8_t x78 = _subborrow_u32(x75, x47, 0xffffffff, &x77);
- { uint32_t x80; uint8_t x81 = _subborrow_u32(x78, x50, 0xffffffff, &x80);
- { uint32_t x83; uint8_t x84 = _subborrow_u32(x81, x53, 0xffffffff, &x83);
- { uint32_t x86; uint8_t x87 = _subborrow_u32(x84, x56, 0xffffffff, &x86);
- { uint32_t x89; uint8_t x90 = _subborrow_u32(x87, x59, 0xffffffff, &x89);
- { uint32_t x92; uint8_t x93 = _subborrow_u32(x90, x62, 0xffffffff, &x92);
- { uint32_t x95; uint8_t x96 = _subborrow_u32(x93, x65, 0xffffffff, &x95);
- { uint32_t x98; uint8_t x99 = _subborrow_u32(x96, x68, 0x7, &x98);
- { uint32_t _; uint8_t x102 = _subborrow_u32(x99, x69, 0x0, &_);
- { uint32_t x103 = cmovznz32(x102, x98, x68);
- { uint32_t x104 = cmovznz32(x102, x95, x65);
- { uint32_t x105 = cmovznz32(x102, x92, x62);
- { uint32_t x106 = cmovznz32(x102, x89, x59);
- { uint32_t x107 = cmovznz32(x102, x86, x56);
- { uint32_t x108 = cmovznz32(x102, x83, x53);
- { uint32_t x109 = cmovznz32(x102, x80, x50);
- { uint32_t x110 = cmovznz32(x102, x77, x47);
- { uint32_t x111 = cmovznz32(x102, x74, x44);
- { uint32_t x112 = cmovznz32(x102, x71, x41);
- out[0] = x112;
- out[1] = x111;
- out[2] = x110;
- out[3] = x109;
- out[4] = x108;
- out[5] = x107;
- out[6] = x106;
- out[7] = x105;
- out[8] = x104;
- out[9] = x103;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/feadd.v b/src/Specific/montgomery32_2e291m19_10limbs/feadd.v
deleted file mode 100644
index cd3175a65..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.log b/src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.log
deleted file mode 100644
index 6b530ebf5..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint32_t x41, uint8_t x42 = addcarryx_u32(0x0, x5, x23);
- uint32_t x44, uint8_t x45 = addcarryx_u32(x42, x7, x25);
- uint32_t x47, uint8_t x48 = addcarryx_u32(x45, x9, x27);
- uint32_t x50, uint8_t x51 = addcarryx_u32(x48, x11, x29);
- uint32_t x53, uint8_t x54 = addcarryx_u32(x51, x13, x31);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x15, x33);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x17, x35);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x19, x37);
- uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x21, x39);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x20, x38);
- uint32_t x71, uint8_t x72 = subborrow_u32(0x0, x41, 0xffffffed);
- uint32_t x74, uint8_t x75 = subborrow_u32(x72, x44, 0xffffffff);
- uint32_t x77, uint8_t x78 = subborrow_u32(x75, x47, 0xffffffff);
- uint32_t x80, uint8_t x81 = subborrow_u32(x78, x50, 0xffffffff);
- uint32_t x83, uint8_t x84 = subborrow_u32(x81, x53, 0xffffffff);
- uint32_t x86, uint8_t x87 = subborrow_u32(x84, x56, 0xffffffff);
- uint32_t x89, uint8_t x90 = subborrow_u32(x87, x59, 0xffffffff);
- uint32_t x92, uint8_t x93 = subborrow_u32(x90, x62, 0xffffffff);
- uint32_t x95, uint8_t x96 = subborrow_u32(x93, x65, 0xffffffff);
- uint32_t x98, uint8_t x99 = subborrow_u32(x96, x68, 0x7);
- uint32_t _, uint8_t x102 = subborrow_u32(x99, x69, 0x0);
- uint32_t x103 = cmovznz32(x102, x98, x68);
- uint32_t x104 = cmovznz32(x102, x95, x65);
- uint32_t x105 = cmovznz32(x102, x92, x62);
- uint32_t x106 = cmovznz32(x102, x89, x59);
- uint32_t x107 = cmovznz32(x102, x86, x56);
- uint32_t x108 = cmovznz32(x102, x83, x53);
- uint32_t x109 = cmovznz32(x102, x80, x50);
- uint32_t x110 = cmovznz32(x102, x77, x47);
- uint32_t x111 = cmovznz32(x102, x74, x44);
- uint32_t x112 = cmovznz32(x102, x71, x41);
- return (x103, x104, x105, x106, x107, x108, x109, x110, x111, x112))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.v b/src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.v
deleted file mode 100644
index 4d1ccb5d3..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/femul.v b/src/Specific/montgomery32_2e291m19_10limbs/femul.v
deleted file mode 100644
index 9f88a1ac7..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/femulDisplay.v b/src/Specific/montgomery32_2e291m19_10limbs/femulDisplay.v
deleted file mode 100644
index 4615da62f..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fenz.c b/src/Specific/montgomery32_2e291m19_10limbs/fenz.c
deleted file mode 100644
index 4ad084ead..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fenz.c
+++ /dev/null
@@ -1,23 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (x18 | x17);
- { uint32_t x20 = (x16 | x19);
- { uint32_t x21 = (x14 | x20);
- { uint32_t x22 = (x12 | x21);
- { uint32_t x23 = (x10 | x22);
- { uint32_t x24 = (x8 | x23);
- { uint32_t x25 = (x6 | x24);
- { uint32_t x26 = (x4 | x25);
- { uint32_t x27 = (x2 | x26);
- out[0] = x27;
- }}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fenz.v b/src/Specific/montgomery32_2e291m19_10limbs/fenz.v
deleted file mode 100644
index d2e54da64..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.log b/src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.log
deleted file mode 100644
index d57ef4050..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.log
+++ /dev/null
@@ -1,16 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x19 = (x18 | x17);
- uint32_t x20 = (x16 | x19);
- uint32_t x21 = (x14 | x20);
- uint32_t x22 = (x12 | x21);
- uint32_t x23 = (x10 | x22);
- uint32_t x24 = (x8 | x23);
- uint32_t x25 = (x6 | x24);
- uint32_t x26 = (x4 | x25);
- uint32_t x27 = (x2 | x26);
- return x27)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.v b/src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.v
deleted file mode 100644
index 42118c57d..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/feopp.v b/src/Specific/montgomery32_2e291m19_10limbs/feopp.v
deleted file mode 100644
index b0d201e75..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/feoppDisplay.v b/src/Specific/montgomery32_2e291m19_10limbs/feoppDisplay.v
deleted file mode 100644
index b392a1302..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fesquare.c b/src/Specific/montgomery32_2e291m19_10limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fesub.v b/src/Specific/montgomery32_2e291m19_10limbs/fesub.v
deleted file mode 100644
index 19fe13519..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fesubDisplay.v b/src/Specific/montgomery32_2e291m19_10limbs/fesubDisplay.v
deleted file mode 100644
index 611321ffc..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e291m19_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/py_interpreter.sh b/src/Specific/montgomery32_2e291m19_10limbs/py_interpreter.sh
deleted file mode 100755
index 7e6097a09..000000000
--- a/src/Specific/montgomery32_2e291m19_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**291 - 19' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/CurveParameters.v b/src/Specific/montgomery32_2e321m9_11limbs/CurveParameters.v
deleted file mode 100644
index 492ecac0f..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^321 - 9
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 32;
- bitwidth := 32;
- s := 2^321;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e321m9_11limbs/Synthesis.v b/src/Specific/montgomery32_2e321m9_11limbs/Synthesis.v
deleted file mode 100644
index 86adf28bb..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e321m9_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/montgomery32_2e321m9_11limbs/compiler.sh b/src/Specific/montgomery32_2e321m9_11limbs/compiler.sh
deleted file mode 100755
index da71a1cca..000000000
--- a/src/Specific/montgomery32_2e321m9_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/compilerxx.sh b/src/Specific/montgomery32_2e321m9_11limbs/compilerxx.sh
deleted file mode 100755
index 8c462b7ee..000000000
--- a/src/Specific/montgomery32_2e321m9_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/feadd.c b/src/Specific/montgomery32_2e321m9_11limbs/feadd.c
deleted file mode 100644
index c637bcba9..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/feadd.c
+++ /dev/null
@@ -1,70 +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];
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x5, x25, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x7, x27, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x9, x29, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x11, x31, &x54);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x55, x13, x33, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x15, x35, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x17, x37, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x19, x39, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x21, x41, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x23, x43, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x22, x42, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(0x0, x45, 0xfffffff7, &x78);
- { uint32_t x81; uint8_t x82 = _subborrow_u32(x79, x48, 0xffffffff, &x81);
- { uint32_t x84; uint8_t x85 = _subborrow_u32(x82, x51, 0xffffffff, &x84);
- { uint32_t x87; uint8_t x88 = _subborrow_u32(x85, x54, 0xffffffff, &x87);
- { uint32_t x90; uint8_t x91 = _subborrow_u32(x88, x57, 0xffffffff, &x90);
- { uint32_t x93; uint8_t x94 = _subborrow_u32(x91, x60, 0xffffffff, &x93);
- { uint32_t x96; uint8_t x97 = _subborrow_u32(x94, x63, 0xffffffff, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(x97, x66, 0xffffffff, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x69, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x72, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x75, 0x1, &x108);
- { uint32_t _; uint8_t x112 = _subborrow_u32(x109, x76, 0x0, &_);
- { uint32_t x113 = cmovznz32(x112, x108, x75);
- { uint32_t x114 = cmovznz32(x112, x105, x72);
- { uint32_t x115 = cmovznz32(x112, x102, x69);
- { uint32_t x116 = cmovznz32(x112, x99, x66);
- { uint32_t x117 = cmovznz32(x112, x96, x63);
- { uint32_t x118 = cmovznz32(x112, x93, x60);
- { uint32_t x119 = cmovznz32(x112, x90, x57);
- { uint32_t x120 = cmovznz32(x112, x87, x54);
- { uint32_t x121 = cmovznz32(x112, x84, x51);
- { uint32_t x122 = cmovznz32(x112, x81, x48);
- { uint32_t x123 = cmovznz32(x112, x78, x45);
- out[0] = x123;
- out[1] = x122;
- out[2] = x121;
- out[3] = x120;
- out[4] = x119;
- out[5] = x118;
- out[6] = x117;
- out[7] = x116;
- out[8] = x115;
- out[9] = x114;
- out[10] = x113;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/feadd.v b/src/Specific/montgomery32_2e321m9_11limbs/feadd.v
deleted file mode 100644
index 317871919..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.log b/src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.log
deleted file mode 100644
index 3f005e69e..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,41 +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,
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
- uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xfffffff7);
- uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
- uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
- uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
- uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
- uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xffffffff);
- uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
- uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0x1);
- uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
- uint32_t x113 = cmovznz32(x112, x108, x75);
- uint32_t x114 = cmovznz32(x112, x105, x72);
- uint32_t x115 = cmovznz32(x112, x102, x69);
- uint32_t x116 = cmovznz32(x112, x99, x66);
- uint32_t x117 = cmovznz32(x112, x96, x63);
- uint32_t x118 = cmovznz32(x112, x93, x60);
- uint32_t x119 = cmovznz32(x112, x90, x57);
- uint32_t x120 = cmovznz32(x112, x87, x54);
- uint32_t x121 = cmovznz32(x112, x84, x51);
- uint32_t x122 = cmovznz32(x112, x81, x48);
- uint32_t x123 = cmovznz32(x112, x78, x45);
- return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
-(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/montgomery32_2e321m9_11limbs/feaddDisplay.v b/src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.v
deleted file mode 100644
index 9da09c2bf..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/femul.v b/src/Specific/montgomery32_2e321m9_11limbs/femul.v
deleted file mode 100644
index 69f51c5f5..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/femulDisplay.v b/src/Specific/montgomery32_2e321m9_11limbs/femulDisplay.v
deleted file mode 100644
index d43feeadc..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fenz.c b/src/Specific/montgomery32_2e321m9_11limbs/fenz.c
deleted file mode 100644
index d962eda51..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fenz.c
+++ /dev/null
@@ -1,25 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x21 = (x20 | x19);
- { uint32_t x22 = (x18 | x21);
- { uint32_t x23 = (x16 | x22);
- { uint32_t x24 = (x14 | x23);
- { uint32_t x25 = (x12 | x24);
- { uint32_t x26 = (x10 | x25);
- { uint32_t x27 = (x8 | x26);
- { uint32_t x28 = (x6 | x27);
- { uint32_t x29 = (x4 | x28);
- { uint32_t x30 = (x2 | x29);
- out[0] = x30;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fenz.v b/src/Specific/montgomery32_2e321m9_11limbs/fenz.v
deleted file mode 100644
index dc2102ca7..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.log b/src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.log
deleted file mode 100644
index 4c54f68e5..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.log
+++ /dev/null
@@ -1,17 +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 x21 = (x20 | x19);
- uint32_t x22 = (x18 | x21);
- uint32_t x23 = (x16 | x22);
- uint32_t x24 = (x14 | x23);
- uint32_t x25 = (x12 | x24);
- uint32_t x26 = (x10 | x25);
- uint32_t x27 = (x8 | x26);
- uint32_t x28 = (x6 | x27);
- uint32_t x29 = (x4 | x28);
- uint32_t x30 = (x2 | x29);
- return x30)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.v b/src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.v
deleted file mode 100644
index 494df5722..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/feopp.v b/src/Specific/montgomery32_2e321m9_11limbs/feopp.v
deleted file mode 100644
index 31535c883..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/feoppDisplay.v b/src/Specific/montgomery32_2e321m9_11limbs/feoppDisplay.v
deleted file mode 100644
index 61088cb7b..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fesquare.c b/src/Specific/montgomery32_2e321m9_11limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fesub.v b/src/Specific/montgomery32_2e321m9_11limbs/fesub.v
deleted file mode 100644
index 85ab6e1f8..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fesubDisplay.v b/src/Specific/montgomery32_2e321m9_11limbs/fesubDisplay.v
deleted file mode 100644
index 11373c473..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e321m9_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/py_interpreter.sh b/src/Specific/montgomery32_2e321m9_11limbs/py_interpreter.sh
deleted file mode 100755
index 262a89c32..000000000
--- a/src/Specific/montgomery32_2e321m9_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**321 - 9' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/CurveParameters.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/CurveParameters.v
deleted file mode 100644
index 7486ca425..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^322 - 2^161 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 32;
- bitwidth := 32;
- s := 2^322;
- c := [(1, 1); (2^161, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e322m2e161m1_11limbs/Synthesis.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/Synthesis.v
deleted file mode 100644
index e18642dfb..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_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/montgomery32_2e322m2e161m1_11limbs/compiler.sh b/src/Specific/montgomery32_2e322m2e161m1_11limbs/compiler.sh
deleted file mode 100755
index ed31bcdb5..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/compilerxx.sh b/src/Specific/montgomery32_2e322m2e161m1_11limbs/compilerxx.sh
deleted file mode 100755
index f6d0de11e..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.c b/src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.c
deleted file mode 100644
index 60f7eb069..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.c
+++ /dev/null
@@ -1,70 +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];
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x5, x25, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x7, x27, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x9, x29, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x11, x31, &x54);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x55, x13, x33, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x15, x35, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x17, x37, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x19, x39, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x21, x41, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x23, x43, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x22, x42, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(0x0, x45, 0xffffffff, &x78);
- { uint32_t x81; uint8_t x82 = _subborrow_u32(x79, x48, 0xffffffff, &x81);
- { uint32_t x84; uint8_t x85 = _subborrow_u32(x82, x51, 0xffffffff, &x84);
- { uint32_t x87; uint8_t x88 = _subborrow_u32(x85, x54, 0xffffffff, &x87);
- { uint32_t x90; uint8_t x91 = _subborrow_u32(x88, x57, 0xffffffff, &x90);
- { uint32_t x93; uint8_t x94 = _subborrow_u32(x91, x60, 0xfffffffd, &x93);
- { uint32_t x96; uint8_t x97 = _subborrow_u32(x94, x63, 0xffffffff, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(x97, x66, 0xffffffff, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x69, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x72, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x75, 0x3, &x108);
- { uint32_t _; uint8_t x112 = _subborrow_u32(x109, x76, 0x0, &_);
- { uint32_t x113 = cmovznz32(x112, x108, x75);
- { uint32_t x114 = cmovznz32(x112, x105, x72);
- { uint32_t x115 = cmovznz32(x112, x102, x69);
- { uint32_t x116 = cmovznz32(x112, x99, x66);
- { uint32_t x117 = cmovznz32(x112, x96, x63);
- { uint32_t x118 = cmovznz32(x112, x93, x60);
- { uint32_t x119 = cmovznz32(x112, x90, x57);
- { uint32_t x120 = cmovznz32(x112, x87, x54);
- { uint32_t x121 = cmovznz32(x112, x84, x51);
- { uint32_t x122 = cmovznz32(x112, x81, x48);
- { uint32_t x123 = cmovznz32(x112, x78, x45);
- out[0] = x123;
- out[1] = x122;
- out[2] = x121;
- out[3] = x120;
- out[4] = x119;
- out[5] = x118;
- out[6] = x117;
- out[7] = x116;
- out[8] = x115;
- out[9] = x114;
- out[10] = x113;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.v
deleted file mode 100644
index ab0bfda63..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.log b/src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.log
deleted file mode 100644
index 4aa00c707..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,41 +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,
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
- uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xffffffff);
- uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
- uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
- uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
- uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
- uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xfffffffd);
- uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
- uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0x3);
- uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
- uint32_t x113 = cmovznz32(x112, x108, x75);
- uint32_t x114 = cmovznz32(x112, x105, x72);
- uint32_t x115 = cmovznz32(x112, x102, x69);
- uint32_t x116 = cmovznz32(x112, x99, x66);
- uint32_t x117 = cmovznz32(x112, x96, x63);
- uint32_t x118 = cmovznz32(x112, x93, x60);
- uint32_t x119 = cmovznz32(x112, x90, x57);
- uint32_t x120 = cmovznz32(x112, x87, x54);
- uint32_t x121 = cmovznz32(x112, x84, x51);
- uint32_t x122 = cmovznz32(x112, x81, x48);
- uint32_t x123 = cmovznz32(x112, x78, x45);
- return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
-(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/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.v
deleted file mode 100644
index d1049262d..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/femul.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/femul.v
deleted file mode 100644
index a9a4bbcc0..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/femulDisplay.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/femulDisplay.v
deleted file mode 100644
index c7eae993b..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.c b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.c
deleted file mode 100644
index d962eda51..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.c
+++ /dev/null
@@ -1,25 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x21 = (x20 | x19);
- { uint32_t x22 = (x18 | x21);
- { uint32_t x23 = (x16 | x22);
- { uint32_t x24 = (x14 | x23);
- { uint32_t x25 = (x12 | x24);
- { uint32_t x26 = (x10 | x25);
- { uint32_t x27 = (x8 | x26);
- { uint32_t x28 = (x6 | x27);
- { uint32_t x29 = (x4 | x28);
- { uint32_t x30 = (x2 | x29);
- out[0] = x30;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.v
deleted file mode 100644
index e3d48ddae..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.log b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.log
deleted file mode 100644
index 4c54f68e5..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.log
+++ /dev/null
@@ -1,17 +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 x21 = (x20 | x19);
- uint32_t x22 = (x18 | x21);
- uint32_t x23 = (x16 | x22);
- uint32_t x24 = (x14 | x23);
- uint32_t x25 = (x12 | x24);
- uint32_t x26 = (x10 | x25);
- uint32_t x27 = (x8 | x26);
- uint32_t x28 = (x6 | x27);
- uint32_t x29 = (x4 | x28);
- uint32_t x30 = (x2 | x29);
- return x30)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.v
deleted file mode 100644
index 1e1fae348..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feopp.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/feopp.v
deleted file mode 100644
index 1d1ede397..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feoppDisplay.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/feoppDisplay.v
deleted file mode 100644
index a24681b48..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesub.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesub.v
deleted file mode 100644
index e4b3d58f2..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesubDisplay.v b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesubDisplay.v
deleted file mode 100644
index 43e7bb784..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e322m2e161m1_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/py_interpreter.sh b/src/Specific/montgomery32_2e322m2e161m1_11limbs/py_interpreter.sh
deleted file mode 100755
index 4762f6ada..000000000
--- a/src/Specific/montgomery32_2e322m2e161m1_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**322 - 2**161 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/CurveParameters.v b/src/Specific/montgomery32_2e336m17_11limbs/CurveParameters.v
deleted file mode 100644
index 231b9ddf7..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 32;
- bitwidth := 32;
- s := 2^336;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e336m17_11limbs/Synthesis.v b/src/Specific/montgomery32_2e336m17_11limbs/Synthesis.v
deleted file mode 100644
index 4741fdc9c..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e336m17_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/montgomery32_2e336m17_11limbs/compiler.sh b/src/Specific/montgomery32_2e336m17_11limbs/compiler.sh
deleted file mode 100755
index 700e474c6..000000000
--- a/src/Specific/montgomery32_2e336m17_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/compilerxx.sh b/src/Specific/montgomery32_2e336m17_11limbs/compilerxx.sh
deleted file mode 100755
index eb9ba31e5..000000000
--- a/src/Specific/montgomery32_2e336m17_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/feadd.c b/src/Specific/montgomery32_2e336m17_11limbs/feadd.c
deleted file mode 100644
index c5dd7f807..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/feadd.c
+++ /dev/null
@@ -1,70 +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];
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x5, x25, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x7, x27, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x9, x29, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x11, x31, &x54);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x55, x13, x33, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x15, x35, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x17, x37, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x19, x39, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x21, x41, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x23, x43, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x22, x42, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(0x0, x45, 0xffffffef, &x78);
- { uint32_t x81; uint8_t x82 = _subborrow_u32(x79, x48, 0xffffffff, &x81);
- { uint32_t x84; uint8_t x85 = _subborrow_u32(x82, x51, 0xffffffff, &x84);
- { uint32_t x87; uint8_t x88 = _subborrow_u32(x85, x54, 0xffffffff, &x87);
- { uint32_t x90; uint8_t x91 = _subborrow_u32(x88, x57, 0xffffffff, &x90);
- { uint32_t x93; uint8_t x94 = _subborrow_u32(x91, x60, 0xffffffff, &x93);
- { uint32_t x96; uint8_t x97 = _subborrow_u32(x94, x63, 0xffffffff, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(x97, x66, 0xffffffff, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x69, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x72, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x75, 0xffff, &x108);
- { uint32_t _; uint8_t x112 = _subborrow_u32(x109, x76, 0x0, &_);
- { uint32_t x113 = cmovznz32(x112, x108, x75);
- { uint32_t x114 = cmovznz32(x112, x105, x72);
- { uint32_t x115 = cmovznz32(x112, x102, x69);
- { uint32_t x116 = cmovznz32(x112, x99, x66);
- { uint32_t x117 = cmovznz32(x112, x96, x63);
- { uint32_t x118 = cmovznz32(x112, x93, x60);
- { uint32_t x119 = cmovznz32(x112, x90, x57);
- { uint32_t x120 = cmovznz32(x112, x87, x54);
- { uint32_t x121 = cmovznz32(x112, x84, x51);
- { uint32_t x122 = cmovznz32(x112, x81, x48);
- { uint32_t x123 = cmovznz32(x112, x78, x45);
- out[0] = x123;
- out[1] = x122;
- out[2] = x121;
- out[3] = x120;
- out[4] = x119;
- out[5] = x118;
- out[6] = x117;
- out[7] = x116;
- out[8] = x115;
- out[9] = x114;
- out[10] = x113;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/feadd.v b/src/Specific/montgomery32_2e336m17_11limbs/feadd.v
deleted file mode 100644
index 369db708e..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.log b/src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.log
deleted file mode 100644
index 09fdf8d10..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,41 +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,
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
- uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xffffffef);
- uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
- uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
- uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
- uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
- uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xffffffff);
- uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
- uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0xffff);
- uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
- uint32_t x113 = cmovznz32(x112, x108, x75);
- uint32_t x114 = cmovznz32(x112, x105, x72);
- uint32_t x115 = cmovznz32(x112, x102, x69);
- uint32_t x116 = cmovznz32(x112, x99, x66);
- uint32_t x117 = cmovznz32(x112, x96, x63);
- uint32_t x118 = cmovznz32(x112, x93, x60);
- uint32_t x119 = cmovznz32(x112, x90, x57);
- uint32_t x120 = cmovznz32(x112, x87, x54);
- uint32_t x121 = cmovznz32(x112, x84, x51);
- uint32_t x122 = cmovznz32(x112, x81, x48);
- uint32_t x123 = cmovznz32(x112, x78, x45);
- return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
-(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/montgomery32_2e336m17_11limbs/feaddDisplay.v b/src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.v
deleted file mode 100644
index 01821896b..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/femul.v b/src/Specific/montgomery32_2e336m17_11limbs/femul.v
deleted file mode 100644
index 1e84c1849..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/femulDisplay.v b/src/Specific/montgomery32_2e336m17_11limbs/femulDisplay.v
deleted file mode 100644
index a1ee7be3c..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fenz.c b/src/Specific/montgomery32_2e336m17_11limbs/fenz.c
deleted file mode 100644
index d962eda51..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fenz.c
+++ /dev/null
@@ -1,25 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x21 = (x20 | x19);
- { uint32_t x22 = (x18 | x21);
- { uint32_t x23 = (x16 | x22);
- { uint32_t x24 = (x14 | x23);
- { uint32_t x25 = (x12 | x24);
- { uint32_t x26 = (x10 | x25);
- { uint32_t x27 = (x8 | x26);
- { uint32_t x28 = (x6 | x27);
- { uint32_t x29 = (x4 | x28);
- { uint32_t x30 = (x2 | x29);
- out[0] = x30;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fenz.v b/src/Specific/montgomery32_2e336m17_11limbs/fenz.v
deleted file mode 100644
index 9390ef439..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.log b/src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.log
deleted file mode 100644
index 4c54f68e5..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.log
+++ /dev/null
@@ -1,17 +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 x21 = (x20 | x19);
- uint32_t x22 = (x18 | x21);
- uint32_t x23 = (x16 | x22);
- uint32_t x24 = (x14 | x23);
- uint32_t x25 = (x12 | x24);
- uint32_t x26 = (x10 | x25);
- uint32_t x27 = (x8 | x26);
- uint32_t x28 = (x6 | x27);
- uint32_t x29 = (x4 | x28);
- uint32_t x30 = (x2 | x29);
- return x30)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.v b/src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.v
deleted file mode 100644
index 1336481cb..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/feopp.v b/src/Specific/montgomery32_2e336m17_11limbs/feopp.v
deleted file mode 100644
index ca9d40d78..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/feoppDisplay.v b/src/Specific/montgomery32_2e336m17_11limbs/feoppDisplay.v
deleted file mode 100644
index ff0077782..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fesquare.c b/src/Specific/montgomery32_2e336m17_11limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fesub.v b/src/Specific/montgomery32_2e336m17_11limbs/fesub.v
deleted file mode 100644
index 7f100b1c3..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fesubDisplay.v b/src/Specific/montgomery32_2e336m17_11limbs/fesubDisplay.v
deleted file mode 100644
index e0a2ee2da..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m17_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/py_interpreter.sh b/src/Specific/montgomery32_2e336m17_11limbs/py_interpreter.sh
deleted file mode 100755
index 53b5fec49..000000000
--- a/src/Specific/montgomery32_2e336m17_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/CurveParameters.v b/src/Specific/montgomery32_2e336m3_11limbs/CurveParameters.v
deleted file mode 100644
index a03d11c28..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 32;
- bitwidth := 32;
- s := 2^336;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e336m3_11limbs/Synthesis.v b/src/Specific/montgomery32_2e336m3_11limbs/Synthesis.v
deleted file mode 100644
index 21dd2d917..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e336m3_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/montgomery32_2e336m3_11limbs/compiler.sh b/src/Specific/montgomery32_2e336m3_11limbs/compiler.sh
deleted file mode 100755
index cec08f58c..000000000
--- a/src/Specific/montgomery32_2e336m3_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/compilerxx.sh b/src/Specific/montgomery32_2e336m3_11limbs/compilerxx.sh
deleted file mode 100755
index 10257d4d8..000000000
--- a/src/Specific/montgomery32_2e336m3_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/feadd.c b/src/Specific/montgomery32_2e336m3_11limbs/feadd.c
deleted file mode 100644
index d78f51b80..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/feadd.c
+++ /dev/null
@@ -1,70 +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];
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x5, x25, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x7, x27, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x9, x29, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x11, x31, &x54);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x55, x13, x33, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x15, x35, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x17, x37, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x19, x39, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x21, x41, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x23, x43, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x22, x42, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(0x0, x45, 0xfffffffd, &x78);
- { uint32_t x81; uint8_t x82 = _subborrow_u32(x79, x48, 0xffffffff, &x81);
- { uint32_t x84; uint8_t x85 = _subborrow_u32(x82, x51, 0xffffffff, &x84);
- { uint32_t x87; uint8_t x88 = _subborrow_u32(x85, x54, 0xffffffff, &x87);
- { uint32_t x90; uint8_t x91 = _subborrow_u32(x88, x57, 0xffffffff, &x90);
- { uint32_t x93; uint8_t x94 = _subborrow_u32(x91, x60, 0xffffffff, &x93);
- { uint32_t x96; uint8_t x97 = _subborrow_u32(x94, x63, 0xffffffff, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(x97, x66, 0xffffffff, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x69, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x72, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x75, 0xffff, &x108);
- { uint32_t _; uint8_t x112 = _subborrow_u32(x109, x76, 0x0, &_);
- { uint32_t x113 = cmovznz32(x112, x108, x75);
- { uint32_t x114 = cmovznz32(x112, x105, x72);
- { uint32_t x115 = cmovznz32(x112, x102, x69);
- { uint32_t x116 = cmovznz32(x112, x99, x66);
- { uint32_t x117 = cmovznz32(x112, x96, x63);
- { uint32_t x118 = cmovznz32(x112, x93, x60);
- { uint32_t x119 = cmovznz32(x112, x90, x57);
- { uint32_t x120 = cmovznz32(x112, x87, x54);
- { uint32_t x121 = cmovznz32(x112, x84, x51);
- { uint32_t x122 = cmovznz32(x112, x81, x48);
- { uint32_t x123 = cmovznz32(x112, x78, x45);
- out[0] = x123;
- out[1] = x122;
- out[2] = x121;
- out[3] = x120;
- out[4] = x119;
- out[5] = x118;
- out[6] = x117;
- out[7] = x116;
- out[8] = x115;
- out[9] = x114;
- out[10] = x113;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/feadd.v b/src/Specific/montgomery32_2e336m3_11limbs/feadd.v
deleted file mode 100644
index 3c374f5a4..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.log b/src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.log
deleted file mode 100644
index fffeb4702..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,41 +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,
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
- uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xfffffffd);
- uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
- uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
- uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
- uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
- uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xffffffff);
- uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
- uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0xffff);
- uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
- uint32_t x113 = cmovznz32(x112, x108, x75);
- uint32_t x114 = cmovznz32(x112, x105, x72);
- uint32_t x115 = cmovznz32(x112, x102, x69);
- uint32_t x116 = cmovznz32(x112, x99, x66);
- uint32_t x117 = cmovznz32(x112, x96, x63);
- uint32_t x118 = cmovznz32(x112, x93, x60);
- uint32_t x119 = cmovznz32(x112, x90, x57);
- uint32_t x120 = cmovznz32(x112, x87, x54);
- uint32_t x121 = cmovznz32(x112, x84, x51);
- uint32_t x122 = cmovznz32(x112, x81, x48);
- uint32_t x123 = cmovznz32(x112, x78, x45);
- return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
-(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/montgomery32_2e336m3_11limbs/feaddDisplay.v b/src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.v
deleted file mode 100644
index 212abe903..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/femul.v b/src/Specific/montgomery32_2e336m3_11limbs/femul.v
deleted file mode 100644
index a6f82db7a..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/femulDisplay.v b/src/Specific/montgomery32_2e336m3_11limbs/femulDisplay.v
deleted file mode 100644
index 535c664ae..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fenz.c b/src/Specific/montgomery32_2e336m3_11limbs/fenz.c
deleted file mode 100644
index d962eda51..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fenz.c
+++ /dev/null
@@ -1,25 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x21 = (x20 | x19);
- { uint32_t x22 = (x18 | x21);
- { uint32_t x23 = (x16 | x22);
- { uint32_t x24 = (x14 | x23);
- { uint32_t x25 = (x12 | x24);
- { uint32_t x26 = (x10 | x25);
- { uint32_t x27 = (x8 | x26);
- { uint32_t x28 = (x6 | x27);
- { uint32_t x29 = (x4 | x28);
- { uint32_t x30 = (x2 | x29);
- out[0] = x30;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fenz.v b/src/Specific/montgomery32_2e336m3_11limbs/fenz.v
deleted file mode 100644
index 4b2aeb976..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.log b/src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.log
deleted file mode 100644
index 4c54f68e5..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.log
+++ /dev/null
@@ -1,17 +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 x21 = (x20 | x19);
- uint32_t x22 = (x18 | x21);
- uint32_t x23 = (x16 | x22);
- uint32_t x24 = (x14 | x23);
- uint32_t x25 = (x12 | x24);
- uint32_t x26 = (x10 | x25);
- uint32_t x27 = (x8 | x26);
- uint32_t x28 = (x6 | x27);
- uint32_t x29 = (x4 | x28);
- uint32_t x30 = (x2 | x29);
- return x30)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.v b/src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.v
deleted file mode 100644
index b09ceff76..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/feopp.v b/src/Specific/montgomery32_2e336m3_11limbs/feopp.v
deleted file mode 100644
index b26c2ecc0..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/feoppDisplay.v b/src/Specific/montgomery32_2e336m3_11limbs/feoppDisplay.v
deleted file mode 100644
index 54c141533..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fesquare.c b/src/Specific/montgomery32_2e336m3_11limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fesub.v b/src/Specific/montgomery32_2e336m3_11limbs/fesub.v
deleted file mode 100644
index 834a4fcbf..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fesubDisplay.v b/src/Specific/montgomery32_2e336m3_11limbs/fesubDisplay.v
deleted file mode 100644
index e0d814d02..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e336m3_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/py_interpreter.sh b/src/Specific/montgomery32_2e336m3_11limbs/py_interpreter.sh
deleted file mode 100755
index 6ab4b54d5..000000000
--- a/src/Specific/montgomery32_2e336m3_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/CurveParameters.v b/src/Specific/montgomery32_2e338m15_11limbs/CurveParameters.v
deleted file mode 100644
index acab46614..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^338 - 15
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 32;
- bitwidth := 32;
- s := 2^338;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e338m15_11limbs/Synthesis.v b/src/Specific/montgomery32_2e338m15_11limbs/Synthesis.v
deleted file mode 100644
index c94a68c6a..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e338m15_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/montgomery32_2e338m15_11limbs/compiler.sh b/src/Specific/montgomery32_2e338m15_11limbs/compiler.sh
deleted file mode 100755
index d2f4d779e..000000000
--- a/src/Specific/montgomery32_2e338m15_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/compilerxx.sh b/src/Specific/montgomery32_2e338m15_11limbs/compilerxx.sh
deleted file mode 100755
index 5dda1826c..000000000
--- a/src/Specific/montgomery32_2e338m15_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/feadd.c b/src/Specific/montgomery32_2e338m15_11limbs/feadd.c
deleted file mode 100644
index 7883f5102..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/feadd.c
+++ /dev/null
@@ -1,70 +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];
- { uint32_t x45; uint8_t x46 = _addcarryx_u32(0x0, x5, x25, &x45);
- { uint32_t x48; uint8_t x49 = _addcarryx_u32(x46, x7, x27, &x48);
- { uint32_t x51; uint8_t x52 = _addcarryx_u32(x49, x9, x29, &x51);
- { uint32_t x54; uint8_t x55 = _addcarryx_u32(x52, x11, x31, &x54);
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(x55, x13, x33, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x15, x35, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x17, x37, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x19, x39, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x21, x41, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x23, x43, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x22, x42, &x75);
- { uint32_t x78; uint8_t x79 = _subborrow_u32(0x0, x45, 0xfffffff1, &x78);
- { uint32_t x81; uint8_t x82 = _subborrow_u32(x79, x48, 0xffffffff, &x81);
- { uint32_t x84; uint8_t x85 = _subborrow_u32(x82, x51, 0xffffffff, &x84);
- { uint32_t x87; uint8_t x88 = _subborrow_u32(x85, x54, 0xffffffff, &x87);
- { uint32_t x90; uint8_t x91 = _subborrow_u32(x88, x57, 0xffffffff, &x90);
- { uint32_t x93; uint8_t x94 = _subborrow_u32(x91, x60, 0xffffffff, &x93);
- { uint32_t x96; uint8_t x97 = _subborrow_u32(x94, x63, 0xffffffff, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(x97, x66, 0xffffffff, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x69, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x72, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x75, 0x3ffff, &x108);
- { uint32_t _; uint8_t x112 = _subborrow_u32(x109, x76, 0x0, &_);
- { uint32_t x113 = cmovznz32(x112, x108, x75);
- { uint32_t x114 = cmovznz32(x112, x105, x72);
- { uint32_t x115 = cmovznz32(x112, x102, x69);
- { uint32_t x116 = cmovznz32(x112, x99, x66);
- { uint32_t x117 = cmovznz32(x112, x96, x63);
- { uint32_t x118 = cmovznz32(x112, x93, x60);
- { uint32_t x119 = cmovznz32(x112, x90, x57);
- { uint32_t x120 = cmovznz32(x112, x87, x54);
- { uint32_t x121 = cmovznz32(x112, x84, x51);
- { uint32_t x122 = cmovznz32(x112, x81, x48);
- { uint32_t x123 = cmovznz32(x112, x78, x45);
- out[0] = x123;
- out[1] = x122;
- out[2] = x121;
- out[3] = x120;
- out[4] = x119;
- out[5] = x118;
- out[6] = x117;
- out[7] = x116;
- out[8] = x115;
- out[9] = x114;
- out[10] = x113;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/feadd.v b/src/Specific/montgomery32_2e338m15_11limbs/feadd.v
deleted file mode 100644
index f2e3a7a1e..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.log b/src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.log
deleted file mode 100644
index 0c5d2c998..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,41 +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,
- uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
- uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
- uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
- uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
- uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
- uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xfffffff1);
- uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
- uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
- uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
- uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
- uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xffffffff);
- uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
- uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0x3ffff);
- uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
- uint32_t x113 = cmovznz32(x112, x108, x75);
- uint32_t x114 = cmovznz32(x112, x105, x72);
- uint32_t x115 = cmovznz32(x112, x102, x69);
- uint32_t x116 = cmovznz32(x112, x99, x66);
- uint32_t x117 = cmovznz32(x112, x96, x63);
- uint32_t x118 = cmovznz32(x112, x93, x60);
- uint32_t x119 = cmovznz32(x112, x90, x57);
- uint32_t x120 = cmovznz32(x112, x87, x54);
- uint32_t x121 = cmovznz32(x112, x84, x51);
- uint32_t x122 = cmovznz32(x112, x81, x48);
- uint32_t x123 = cmovznz32(x112, x78, x45);
- return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
-(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/montgomery32_2e338m15_11limbs/feaddDisplay.v b/src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.v
deleted file mode 100644
index 8525953eb..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/femul.v b/src/Specific/montgomery32_2e338m15_11limbs/femul.v
deleted file mode 100644
index e2631f9f4..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/femulDisplay.v b/src/Specific/montgomery32_2e338m15_11limbs/femulDisplay.v
deleted file mode 100644
index 0b1d27781..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fenz.c b/src/Specific/montgomery32_2e338m15_11limbs/fenz.c
deleted file mode 100644
index d962eda51..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fenz.c
+++ /dev/null
@@ -1,25 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x21 = (x20 | x19);
- { uint32_t x22 = (x18 | x21);
- { uint32_t x23 = (x16 | x22);
- { uint32_t x24 = (x14 | x23);
- { uint32_t x25 = (x12 | x24);
- { uint32_t x26 = (x10 | x25);
- { uint32_t x27 = (x8 | x26);
- { uint32_t x28 = (x6 | x27);
- { uint32_t x29 = (x4 | x28);
- { uint32_t x30 = (x2 | x29);
- out[0] = x30;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fenz.v b/src/Specific/montgomery32_2e338m15_11limbs/fenz.v
deleted file mode 100644
index b1e974202..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.log b/src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.log
deleted file mode 100644
index 4c54f68e5..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.log
+++ /dev/null
@@ -1,17 +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 x21 = (x20 | x19);
- uint32_t x22 = (x18 | x21);
- uint32_t x23 = (x16 | x22);
- uint32_t x24 = (x14 | x23);
- uint32_t x25 = (x12 | x24);
- uint32_t x26 = (x10 | x25);
- uint32_t x27 = (x8 | x26);
- uint32_t x28 = (x6 | x27);
- uint32_t x29 = (x4 | x28);
- uint32_t x30 = (x2 | x29);
- return x30)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.v b/src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.v
deleted file mode 100644
index b4fbe0c5f..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/feopp.v b/src/Specific/montgomery32_2e338m15_11limbs/feopp.v
deleted file mode 100644
index 12a89a350..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/feoppDisplay.v b/src/Specific/montgomery32_2e338m15_11limbs/feoppDisplay.v
deleted file mode 100644
index b483ec2b6..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fesquare.c b/src/Specific/montgomery32_2e338m15_11limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fesub.v b/src/Specific/montgomery32_2e338m15_11limbs/fesub.v
deleted file mode 100644
index 0a71a37fa..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fesubDisplay.v b/src/Specific/montgomery32_2e338m15_11limbs/fesubDisplay.v
deleted file mode 100644
index 4b5cb5552..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e338m15_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/py_interpreter.sh b/src/Specific/montgomery32_2e338m15_11limbs/py_interpreter.sh
deleted file mode 100755
index 892e73f13..000000000
--- a/src/Specific/montgomery32_2e338m15_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**338 - 15' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e369m25_12limbs/CurveParameters.v
deleted file mode 100644
index 0ebd0e29c..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^369 - 25
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^369;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e369m25_12limbs/Synthesis.v b/src/Specific/montgomery32_2e369m25_12limbs/Synthesis.v
deleted file mode 100644
index 30638ff55..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.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/montgomery32_2e369m25_12limbs/compiler.sh b/src/Specific/montgomery32_2e369m25_12limbs/compiler.sh
deleted file mode 100755
index 7b6cb8655..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e369m25_12limbs/compilerxx.sh
deleted file mode 100755
index 9dc6273ba..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/feadd.c b/src/Specific/montgomery32_2e369m25_12limbs/feadd.c
deleted file mode 100644
index 36dd32b7d..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffffe7, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0x1ffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/feadd.v b/src/Specific/montgomery32_2e369m25_12limbs/feadd.v
deleted file mode 100644
index 1542a1e7c..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.log
deleted file mode 100644
index 16fda009a..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffe7);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x1ffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.v
deleted file mode 100644
index 4edb5aa93..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/femul.v b/src/Specific/montgomery32_2e369m25_12limbs/femul.v
deleted file mode 100644
index 0c931961c..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e369m25_12limbs/femulDisplay.v
deleted file mode 100644
index 1207a3651..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fenz.c b/src/Specific/montgomery32_2e369m25_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fenz.v b/src/Specific/montgomery32_2e369m25_12limbs/fenz.v
deleted file mode 100644
index a5fb2770d..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.v
deleted file mode 100644
index 88ef4fabf..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/feopp.v b/src/Specific/montgomery32_2e369m25_12limbs/feopp.v
deleted file mode 100644
index 6d74fccb0..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e369m25_12limbs/feoppDisplay.v
deleted file mode 100644
index 2b4c73ab5..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fesquare.c b/src/Specific/montgomery32_2e369m25_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fesub.v b/src/Specific/montgomery32_2e369m25_12limbs/fesub.v
deleted file mode 100644
index 371ba4eb4..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e369m25_12limbs/fesubDisplay.v
deleted file mode 100644
index 072bc7fcb..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e369m25_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e369m25_12limbs/py_interpreter.sh
deleted file mode 100755
index 3096f3a18..000000000
--- a/src/Specific/montgomery32_2e369m25_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**369 - 25' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e379m19_12limbs/CurveParameters.v
deleted file mode 100644
index ffaec84e8..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^379 - 19
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^379;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e379m19_12limbs/Synthesis.v b/src/Specific/montgomery32_2e379m19_12limbs/Synthesis.v
deleted file mode 100644
index eafb9f05a..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.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/montgomery32_2e379m19_12limbs/compiler.sh b/src/Specific/montgomery32_2e379m19_12limbs/compiler.sh
deleted file mode 100755
index 8ee266867..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e379m19_12limbs/compilerxx.sh
deleted file mode 100755
index 25defc9c0..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/feadd.c b/src/Specific/montgomery32_2e379m19_12limbs/feadd.c
deleted file mode 100644
index 2add72b03..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffffed, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0x7ffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/feadd.v b/src/Specific/montgomery32_2e379m19_12limbs/feadd.v
deleted file mode 100644
index f4a3f4d54..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.log
deleted file mode 100644
index 48ec006e0..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffed);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7ffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.v
deleted file mode 100644
index 6aebaac3e..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/femul.v b/src/Specific/montgomery32_2e379m19_12limbs/femul.v
deleted file mode 100644
index 4917b67b6..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e379m19_12limbs/femulDisplay.v
deleted file mode 100644
index 1383fdb70..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fenz.c b/src/Specific/montgomery32_2e379m19_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fenz.v b/src/Specific/montgomery32_2e379m19_12limbs/fenz.v
deleted file mode 100644
index 3752cdc76..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.v
deleted file mode 100644
index 90f2f4505..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/feopp.v b/src/Specific/montgomery32_2e379m19_12limbs/feopp.v
deleted file mode 100644
index 61f31b516..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e379m19_12limbs/feoppDisplay.v
deleted file mode 100644
index e12b173db..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fesquare.c b/src/Specific/montgomery32_2e379m19_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fesub.v b/src/Specific/montgomery32_2e379m19_12limbs/fesub.v
deleted file mode 100644
index ab1c67f45..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e379m19_12limbs/fesubDisplay.v
deleted file mode 100644
index 9257c5d13..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e379m19_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e379m19_12limbs/py_interpreter.sh
deleted file mode 100755
index c7fa9ec6d..000000000
--- a/src/Specific/montgomery32_2e379m19_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**379 - 19' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e382m105_12limbs/CurveParameters.v
deleted file mode 100644
index fde7808fe..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^382 - 105
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^382;
- c := [(1, 105)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e382m105_12limbs/Synthesis.v b/src/Specific/montgomery32_2e382m105_12limbs/Synthesis.v
deleted file mode 100644
index db595ddc7..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.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/montgomery32_2e382m105_12limbs/compiler.sh b/src/Specific/montgomery32_2e382m105_12limbs/compiler.sh
deleted file mode 100755
index 082c73b45..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e382m105_12limbs/compilerxx.sh
deleted file mode 100755
index e1e214d82..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/feadd.c b/src/Specific/montgomery32_2e382m105_12limbs/feadd.c
deleted file mode 100644
index 91d56558c..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffff97, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0x3fffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/feadd.v b/src/Specific/montgomery32_2e382m105_12limbs/feadd.v
deleted file mode 100644
index 6679873a8..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.log
deleted file mode 100644
index 1d5b08b0e..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffff97);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x3fffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.v
deleted file mode 100644
index fe5174d65..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/femul.v b/src/Specific/montgomery32_2e382m105_12limbs/femul.v
deleted file mode 100644
index a1b034703..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e382m105_12limbs/femulDisplay.v
deleted file mode 100644
index 064e3f2b9..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fenz.c b/src/Specific/montgomery32_2e382m105_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fenz.v b/src/Specific/montgomery32_2e382m105_12limbs/fenz.v
deleted file mode 100644
index 6c0bdfb51..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.v
deleted file mode 100644
index cd6302cd4..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/feopp.v b/src/Specific/montgomery32_2e382m105_12limbs/feopp.v
deleted file mode 100644
index 5b4628a81..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e382m105_12limbs/feoppDisplay.v
deleted file mode 100644
index 31ead9e59..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fesquare.c b/src/Specific/montgomery32_2e382m105_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fesub.v b/src/Specific/montgomery32_2e382m105_12limbs/fesub.v
deleted file mode 100644
index f145f1342..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e382m105_12limbs/fesubDisplay.v
deleted file mode 100644
index 5e304427a..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e382m105_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e382m105_12limbs/py_interpreter.sh
deleted file mode 100755
index ddbb835fd..000000000
--- a/src/Specific/montgomery32_2e382m105_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**382 - 105' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e383m187_12limbs/CurveParameters.v
deleted file mode 100644
index df9b2f250..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 187
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 187)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e383m187_12limbs/Synthesis.v b/src/Specific/montgomery32_2e383m187_12limbs/Synthesis.v
deleted file mode 100644
index 9495174e5..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.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/montgomery32_2e383m187_12limbs/compiler.sh b/src/Specific/montgomery32_2e383m187_12limbs/compiler.sh
deleted file mode 100755
index f6d254e73..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e383m187_12limbs/compilerxx.sh
deleted file mode 100755
index 0194c0b93..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/feadd.c b/src/Specific/montgomery32_2e383m187_12limbs/feadd.c
deleted file mode 100644
index 8bd80a3bf..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffff45, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0x7fffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/feadd.v b/src/Specific/montgomery32_2e383m187_12limbs/feadd.v
deleted file mode 100644
index fb655bd91..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.log
deleted file mode 100644
index b2077f6d1..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffff45);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7fffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.v
deleted file mode 100644
index 4449f5c76..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/femul.v b/src/Specific/montgomery32_2e383m187_12limbs/femul.v
deleted file mode 100644
index 6e60ee01c..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e383m187_12limbs/femulDisplay.v
deleted file mode 100644
index 7be3ad994..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fenz.c b/src/Specific/montgomery32_2e383m187_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fenz.v b/src/Specific/montgomery32_2e383m187_12limbs/fenz.v
deleted file mode 100644
index 8a0a63dd4..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.v
deleted file mode 100644
index de94c6079..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/feopp.v b/src/Specific/montgomery32_2e383m187_12limbs/feopp.v
deleted file mode 100644
index 3be118ee0..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e383m187_12limbs/feoppDisplay.v
deleted file mode 100644
index e27081165..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fesquare.c b/src/Specific/montgomery32_2e383m187_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fesub.v b/src/Specific/montgomery32_2e383m187_12limbs/fesub.v
deleted file mode 100644
index f2a7eebe3..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e383m187_12limbs/fesubDisplay.v
deleted file mode 100644
index c8b469047..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m187_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e383m187_12limbs/py_interpreter.sh
deleted file mode 100755
index 17568bd0f..000000000
--- a/src/Specific/montgomery32_2e383m187_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 187' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e383m31_12limbs/CurveParameters.v
deleted file mode 100644
index 12f10af41..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 31
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 31)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e383m31_12limbs/Synthesis.v b/src/Specific/montgomery32_2e383m31_12limbs/Synthesis.v
deleted file mode 100644
index 1d066fcdc..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.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/montgomery32_2e383m31_12limbs/compiler.sh b/src/Specific/montgomery32_2e383m31_12limbs/compiler.sh
deleted file mode 100755
index ff129be59..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e383m31_12limbs/compilerxx.sh
deleted file mode 100755
index b3e9ebc62..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/feadd.c b/src/Specific/montgomery32_2e383m31_12limbs/feadd.c
deleted file mode 100644
index 9a542cca1..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffffe1, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0x7fffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/feadd.v b/src/Specific/montgomery32_2e383m31_12limbs/feadd.v
deleted file mode 100644
index 4a27dd7e3..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.log
deleted file mode 100644
index d8d6ae3d8..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffe1);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7fffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.v
deleted file mode 100644
index 1b2842c25..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/femul.v b/src/Specific/montgomery32_2e383m31_12limbs/femul.v
deleted file mode 100644
index 976acc54e..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e383m31_12limbs/femulDisplay.v
deleted file mode 100644
index 494b604b8..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fenz.c b/src/Specific/montgomery32_2e383m31_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fenz.v b/src/Specific/montgomery32_2e383m31_12limbs/fenz.v
deleted file mode 100644
index b54203d72..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.v
deleted file mode 100644
index df02764cd..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/feopp.v b/src/Specific/montgomery32_2e383m31_12limbs/feopp.v
deleted file mode 100644
index ef7bb51e5..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e383m31_12limbs/feoppDisplay.v
deleted file mode 100644
index d0a4ae70b..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fesquare.c b/src/Specific/montgomery32_2e383m31_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fesub.v b/src/Specific/montgomery32_2e383m31_12limbs/fesub.v
deleted file mode 100644
index fd4669bb4..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e383m31_12limbs/fesubDisplay.v
deleted file mode 100644
index 84ced36a4..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m31_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e383m31_12limbs/py_interpreter.sh
deleted file mode 100755
index 09472c92c..000000000
--- a/src/Specific/montgomery32_2e383m31_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 31' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e383m421_12limbs/CurveParameters.v
deleted file mode 100644
index 678e5243e..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 421
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 421)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e383m421_12limbs/Synthesis.v b/src/Specific/montgomery32_2e383m421_12limbs/Synthesis.v
deleted file mode 100644
index abd38cea2..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.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/montgomery32_2e383m421_12limbs/compiler.sh b/src/Specific/montgomery32_2e383m421_12limbs/compiler.sh
deleted file mode 100755
index e43247f53..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e383m421_12limbs/compilerxx.sh
deleted file mode 100755
index 0676af3b6..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/feadd.c b/src/Specific/montgomery32_2e383m421_12limbs/feadd.c
deleted file mode 100644
index 20a590121..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xfffffe5b, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0x7fffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/feadd.v b/src/Specific/montgomery32_2e383m421_12limbs/feadd.v
deleted file mode 100644
index 49b4229fe..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.log
deleted file mode 100644
index 21c18fb82..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xfffffe5b);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7fffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.v
deleted file mode 100644
index 4809b20d4..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/femul.v b/src/Specific/montgomery32_2e383m421_12limbs/femul.v
deleted file mode 100644
index 53925029e..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e383m421_12limbs/femulDisplay.v
deleted file mode 100644
index 03a5dc750..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fenz.c b/src/Specific/montgomery32_2e383m421_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fenz.v b/src/Specific/montgomery32_2e383m421_12limbs/fenz.v
deleted file mode 100644
index d6efed41c..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.v
deleted file mode 100644
index bfafc4735..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/feopp.v b/src/Specific/montgomery32_2e383m421_12limbs/feopp.v
deleted file mode 100644
index c4556ef13..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e383m421_12limbs/feoppDisplay.v
deleted file mode 100644
index 4c7f0dd17..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fesquare.c b/src/Specific/montgomery32_2e383m421_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fesub.v b/src/Specific/montgomery32_2e383m421_12limbs/fesub.v
deleted file mode 100644
index 94887fc76..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e383m421_12limbs/fesubDisplay.v
deleted file mode 100644
index 9749ba751..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e383m421_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e383m421_12limbs/py_interpreter.sh
deleted file mode 100755
index 6860efa7b..000000000
--- a/src/Specific/montgomery32_2e383m421_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 421' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/CurveParameters.v
deleted file mode 100644
index e1d8d7f74..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 2^128 - 2^96 + 2^32 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 1); (2^32, -1); (2^96, 1); (2^128, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/Synthesis.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/Synthesis.v
deleted file mode 100644
index 775c7acc4..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.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/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/compiler.sh b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/compiler.sh
deleted file mode 100755
index a4491c81f..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/compilerxx.sh
deleted file mode 100755
index b8d30cf89..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.c b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.c
deleted file mode 100644
index 54f5cc05d..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffffff, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0x0, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0x0, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xfffffffe, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0xffffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.v
deleted file mode 100644
index 4e2a14fd2..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.log
deleted file mode 100644
index 3cef03129..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffff);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0x0);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0x0);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xfffffffe);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0xffffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.v
deleted file mode 100644
index 39f370377..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femul.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femul.v
deleted file mode 100644
index 54499e4d3..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femulDisplay.v
deleted file mode 100644
index 709afb701..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.c b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.v
deleted file mode 100644
index 8e71146fe..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.v
deleted file mode 100644
index 458bb4d07..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feopp.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feopp.v
deleted file mode 100644
index b7d181e0b..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feoppDisplay.v
deleted file mode 100644
index c96a0ef50..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesub.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesub.v
deleted file mode 100644
index 8405ab290..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesubDisplay.v
deleted file mode 100644
index 79dc1cb8d..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m2e128m2e96p2e32m1_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/py_interpreter.sh
deleted file mode 100755
index 60bc2eb7c..000000000
--- a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 2**128 - 2**96 + 2**32 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e384m317_12limbs/CurveParameters.v
deleted file mode 100644
index 01b7f54d7..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 317
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 317)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e384m317_12limbs/Synthesis.v b/src/Specific/montgomery32_2e384m317_12limbs/Synthesis.v
deleted file mode 100644
index ebb5958b4..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.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/montgomery32_2e384m317_12limbs/compiler.sh b/src/Specific/montgomery32_2e384m317_12limbs/compiler.sh
deleted file mode 100755
index 8551f6766..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e384m317_12limbs/compilerxx.sh
deleted file mode 100755
index 6e6f2bb9d..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/feadd.c b/src/Specific/montgomery32_2e384m317_12limbs/feadd.c
deleted file mode 100644
index ac3bf445a..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xfffffec3, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0xffffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/feadd.v b/src/Specific/montgomery32_2e384m317_12limbs/feadd.v
deleted file mode 100644
index 7602cde88..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.log
deleted file mode 100644
index d6ec1994f..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xfffffec3);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0xffffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.v
deleted file mode 100644
index daddd7cec..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/femul.v b/src/Specific/montgomery32_2e384m317_12limbs/femul.v
deleted file mode 100644
index 3d6513a58..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e384m317_12limbs/femulDisplay.v
deleted file mode 100644
index 6b7d8ee14..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fenz.c b/src/Specific/montgomery32_2e384m317_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fenz.v b/src/Specific/montgomery32_2e384m317_12limbs/fenz.v
deleted file mode 100644
index 345fdbfa7..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.v
deleted file mode 100644
index ffc3961cc..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/feopp.v b/src/Specific/montgomery32_2e384m317_12limbs/feopp.v
deleted file mode 100644
index 69b4ed2c6..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e384m317_12limbs/feoppDisplay.v
deleted file mode 100644
index f3832cecd..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m317_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fesub.v b/src/Specific/montgomery32_2e384m317_12limbs/fesub.v
deleted file mode 100644
index f8ed56795..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e384m317_12limbs/fesubDisplay.v
deleted file mode 100644
index aedbd21c6..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m317_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e384m317_12limbs/py_interpreter.sh
deleted file mode 100755
index c7630a3c6..000000000
--- a/src/Specific/montgomery32_2e384m317_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 317' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/CurveParameters.v
deleted file mode 100644
index f220253fa..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 5*2^368 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 1); (5, 2^368)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e384m5x2e368m1_12limbs/Synthesis.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/Synthesis.v
deleted file mode 100644
index 1625054ae..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.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/montgomery32_2e384m5x2e368m1_12limbs/compiler.sh b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/compiler.sh
deleted file mode 100755
index 0a88da40b..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/compilerxx.sh
deleted file mode 100755
index 135252883..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.c b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.c
deleted file mode 100644
index 66bd374ad..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffffff, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0xfffaffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.v
deleted file mode 100644
index 01955529a..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.log
deleted file mode 100644
index d13f97195..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffff);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0xfffaffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.v
deleted file mode 100644
index 88c987120..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femul.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femul.v
deleted file mode 100644
index 587763a3b..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femulDisplay.v
deleted file mode 100644
index 020621142..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.c b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.v
deleted file mode 100644
index 4124189cf..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.v
deleted file mode 100644
index 27a9bfdce..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feopp.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feopp.v
deleted file mode 100644
index 002e6a702..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feoppDisplay.v
deleted file mode 100644
index 6292d6d62..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesub.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesub.v
deleted file mode 100644
index 44a04938c..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesubDisplay.v
deleted file mode 100644
index e34e5cedb..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m5x2e368m1_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/py_interpreter.sh
deleted file mode 100755
index 579f5db77..000000000
--- a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 5*2**368 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/CurveParameters.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/CurveParameters.v
deleted file mode 100644
index cf5e93859..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 79*2^376 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 32;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 1); (79, 2^376)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e384m79x2e376m1_12limbs/Synthesis.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/Synthesis.v
deleted file mode 100644
index a0385c10e..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.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/montgomery32_2e384m79x2e376m1_12limbs/compiler.sh b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/compiler.sh
deleted file mode 100755
index 892fe2658..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/compilerxx.sh b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/compilerxx.sh
deleted file mode 100755
index 0fab4c6b1..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.c b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.c
deleted file mode 100644
index 52b84f7c0..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint32_t x49; uint8_t x50 = _addcarryx_u32(0x0, x5, x27, &x49);
- { uint32_t x52; uint8_t x53 = _addcarryx_u32(x50, x7, x29, &x52);
- { uint32_t x55; uint8_t x56 = _addcarryx_u32(x53, x9, x31, &x55);
- { uint32_t x58; uint8_t x59 = _addcarryx_u32(x56, x11, x33, &x58);
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(x59, x13, x35, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x15, x37, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x17, x39, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x19, x41, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x21, x43, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x23, x45, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x25, x47, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x24, x46, &x82);
- { uint32_t x85; uint8_t x86 = _subborrow_u32(0x0, x49, 0xffffffff, &x85);
- { uint32_t x88; uint8_t x89 = _subborrow_u32(x86, x52, 0xffffffff, &x88);
- { uint32_t x91; uint8_t x92 = _subborrow_u32(x89, x55, 0xffffffff, &x91);
- { uint32_t x94; uint8_t x95 = _subborrow_u32(x92, x58, 0xffffffff, &x94);
- { uint32_t x97; uint8_t x98 = _subborrow_u32(x95, x61, 0xffffffff, &x97);
- { uint32_t x100; uint8_t x101 = _subborrow_u32(x98, x64, 0xffffffff, &x100);
- { uint32_t x103; uint8_t x104 = _subborrow_u32(x101, x67, 0xffffffff, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(x104, x70, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x73, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x76, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x79, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x82, 0xb0ffffff, &x118);
- { uint32_t _; uint8_t x122 = _subborrow_u32(x119, x83, 0x0, &_);
- { uint32_t x123 = cmovznz32(x122, x118, x82);
- { uint32_t x124 = cmovznz32(x122, x115, x79);
- { uint32_t x125 = cmovznz32(x122, x112, x76);
- { uint32_t x126 = cmovznz32(x122, x109, x73);
- { uint32_t x127 = cmovznz32(x122, x106, x70);
- { uint32_t x128 = cmovznz32(x122, x103, x67);
- { uint32_t x129 = cmovznz32(x122, x100, x64);
- { uint32_t x130 = cmovznz32(x122, x97, x61);
- { uint32_t x131 = cmovznz32(x122, x94, x58);
- { uint32_t x132 = cmovznz32(x122, x91, x55);
- { uint32_t x133 = cmovznz32(x122, x88, x52);
- { uint32_t x134 = cmovznz32(x122, x85, x49);
- out[0] = x134;
- out[1] = x133;
- out[2] = x132;
- out[3] = x131;
- out[4] = x130;
- out[5] = x129;
- out[6] = x128;
- out[7] = x127;
- out[8] = x126;
- out[9] = x125;
- out[10] = x124;
- out[11] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.v
deleted file mode 100644
index 8ac7fe991..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.log b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.log
deleted file mode 100644
index a0a196ff2..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
- uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
- uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
- uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
- uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
- uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffff);
- uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
- uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
- uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
- uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
- uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
- uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
- uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0xb0ffffff);
- uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
- uint32_t x123 = cmovznz32(x122, x118, x82);
- uint32_t x124 = cmovznz32(x122, x115, x79);
- uint32_t x125 = cmovznz32(x122, x112, x76);
- uint32_t x126 = cmovznz32(x122, x109, x73);
- uint32_t x127 = cmovznz32(x122, x106, x70);
- uint32_t x128 = cmovznz32(x122, x103, x67);
- uint32_t x129 = cmovznz32(x122, x100, x64);
- uint32_t x130 = cmovznz32(x122, x97, x61);
- uint32_t x131 = cmovznz32(x122, x94, x58);
- uint32_t x132 = cmovznz32(x122, x91, x55);
- uint32_t x133 = cmovznz32(x122, x88, x52);
- uint32_t x134 = cmovznz32(x122, x85, x49);
- return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.v
deleted file mode 100644
index 888048fb5..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femul.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femul.v
deleted file mode 100644
index 958b30e2e..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femulDisplay.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femulDisplay.v
deleted file mode 100644
index f04b5deb3..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.c b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.c
deleted file mode 100644
index 61ca36c29..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (x22 | x21);
- { uint32_t x24 = (x20 | x23);
- { uint32_t x25 = (x18 | x24);
- { uint32_t x26 = (x16 | x25);
- { uint32_t x27 = (x14 | x26);
- { uint32_t x28 = (x12 | x27);
- { uint32_t x29 = (x10 | x28);
- { uint32_t x30 = (x8 | x29);
- { uint32_t x31 = (x6 | x30);
- { uint32_t x32 = (x4 | x31);
- { uint32_t x33 = (x2 | x32);
- out[0] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.v
deleted file mode 100644
index 9a7f96595..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.log b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.log
deleted file mode 100644
index 7a5f016e0..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.log
+++ /dev/null
@@ -1,18 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x23 = (x22 | x21);
- uint32_t x24 = (x20 | x23);
- uint32_t x25 = (x18 | x24);
- uint32_t x26 = (x16 | x25);
- uint32_t x27 = (x14 | x26);
- uint32_t x28 = (x12 | x27);
- uint32_t x29 = (x10 | x28);
- uint32_t x30 = (x8 | x29);
- uint32_t x31 = (x6 | x30);
- uint32_t x32 = (x4 | x31);
- uint32_t x33 = (x2 | x32);
- return x33)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.v
deleted file mode 100644
index f887d88c5..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feopp.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feopp.v
deleted file mode 100644
index 1460ae91f..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feoppDisplay.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feoppDisplay.v
deleted file mode 100644
index c704cd960..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesub.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesub.v
deleted file mode 100644
index e8f033244..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesubDisplay.v b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesubDisplay.v
deleted file mode 100644
index 5404cd0d1..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e384m79x2e376m1_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/py_interpreter.sh b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/py_interpreter.sh
deleted file mode 100755
index 31ec19158..000000000
--- a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 79*2**376 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/CurveParameters.v b/src/Specific/montgomery32_2e389m21_13limbs/CurveParameters.v
deleted file mode 100644
index 53d697165..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^389 - 21
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 32;
- bitwidth := 32;
- s := 2^389;
- c := [(1, 21)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e389m21_13limbs/Synthesis.v b/src/Specific/montgomery32_2e389m21_13limbs/Synthesis.v
deleted file mode 100644
index 0068407b6..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.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/montgomery32_2e389m21_13limbs/compiler.sh b/src/Specific/montgomery32_2e389m21_13limbs/compiler.sh
deleted file mode 100755
index 8c6f0837f..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/compilerxx.sh b/src/Specific/montgomery32_2e389m21_13limbs/compilerxx.sh
deleted file mode 100755
index 2cd025005..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/feadd.c b/src/Specific/montgomery32_2e389m21_13limbs/feadd.c
deleted file mode 100644
index ac55d2332..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/feadd.c
+++ /dev/null
@@ -1,82 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(0x0, x5, x29, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x7, x31, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x9, x33, &x59);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x60, x11, x35, &x62);
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(x63, x13, x37, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x15, x39, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x17, x41, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x19, x43, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x21, x45, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x23, x47, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x25, x49, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x27, x51, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x26, x50, &x89);
- { uint32_t x92; uint8_t x93 = _subborrow_u32(0x0, x53, 0xffffffeb, &x92);
- { uint32_t x95; uint8_t x96 = _subborrow_u32(x93, x56, 0xffffffff, &x95);
- { uint32_t x98; uint8_t x99 = _subborrow_u32(x96, x59, 0xffffffff, &x98);
- { uint32_t x101; uint8_t x102 = _subborrow_u32(x99, x62, 0xffffffff, &x101);
- { uint32_t x104; uint8_t x105 = _subborrow_u32(x102, x65, 0xffffffff, &x104);
- { uint32_t x107; uint8_t x108 = _subborrow_u32(x105, x68, 0xffffffff, &x107);
- { uint32_t x110; uint8_t x111 = _subborrow_u32(x108, x71, 0xffffffff, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(x111, x74, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x77, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x80, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x83, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x86, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x89, 0x1f, &x128);
- { uint32_t _; uint8_t x132 = _subborrow_u32(x129, x90, 0x0, &_);
- { uint32_t x133 = cmovznz32(x132, x128, x89);
- { uint32_t x134 = cmovznz32(x132, x125, x86);
- { uint32_t x135 = cmovznz32(x132, x122, x83);
- { uint32_t x136 = cmovznz32(x132, x119, x80);
- { uint32_t x137 = cmovznz32(x132, x116, x77);
- { uint32_t x138 = cmovznz32(x132, x113, x74);
- { uint32_t x139 = cmovznz32(x132, x110, x71);
- { uint32_t x140 = cmovznz32(x132, x107, x68);
- { uint32_t x141 = cmovznz32(x132, x104, x65);
- { uint32_t x142 = cmovznz32(x132, x101, x62);
- { uint32_t x143 = cmovznz32(x132, x98, x59);
- { uint32_t x144 = cmovznz32(x132, x95, x56);
- { uint32_t x145 = cmovznz32(x132, x92, x53);
- out[0] = x145;
- out[1] = x144;
- out[2] = x143;
- out[3] = x142;
- out[4] = x141;
- out[5] = x140;
- out[6] = x139;
- out[7] = x138;
- out[8] = x137;
- out[9] = x136;
- out[10] = x135;
- out[11] = x134;
- out[12] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/feadd.v b/src/Specific/montgomery32_2e389m21_13limbs/feadd.v
deleted file mode 100644
index d9479740e..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.log b/src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.log
deleted file mode 100644
index c4db24a28..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
- uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
- uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffeb);
- uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
- uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
- uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
- uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
- uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
- uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
- uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x1f);
- uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
- uint32_t x133 = cmovznz32(x132, x128, x89);
- uint32_t x134 = cmovznz32(x132, x125, x86);
- uint32_t x135 = cmovznz32(x132, x122, x83);
- uint32_t x136 = cmovznz32(x132, x119, x80);
- uint32_t x137 = cmovznz32(x132, x116, x77);
- uint32_t x138 = cmovznz32(x132, x113, x74);
- uint32_t x139 = cmovznz32(x132, x110, x71);
- uint32_t x140 = cmovznz32(x132, x107, x68);
- uint32_t x141 = cmovznz32(x132, x104, x65);
- uint32_t x142 = cmovznz32(x132, x101, x62);
- uint32_t x143 = cmovznz32(x132, x98, x59);
- uint32_t x144 = cmovznz32(x132, x95, x56);
- uint32_t x145 = cmovznz32(x132, x92, x53);
- return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.v b/src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.v
deleted file mode 100644
index aa598995e..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/femul.v b/src/Specific/montgomery32_2e389m21_13limbs/femul.v
deleted file mode 100644
index 887554302..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/femulDisplay.v b/src/Specific/montgomery32_2e389m21_13limbs/femulDisplay.v
deleted file mode 100644
index 16026fa0c..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fenz.c b/src/Specific/montgomery32_2e389m21_13limbs/fenz.c
deleted file mode 100644
index c34513bef..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fenz.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (x24 | x23);
- { uint32_t x26 = (x22 | x25);
- { uint32_t x27 = (x20 | x26);
- { uint32_t x28 = (x18 | x27);
- { uint32_t x29 = (x16 | x28);
- { uint32_t x30 = (x14 | x29);
- { uint32_t x31 = (x12 | x30);
- { uint32_t x32 = (x10 | x31);
- { uint32_t x33 = (x8 | x32);
- { uint32_t x34 = (x6 | x33);
- { uint32_t x35 = (x4 | x34);
- { uint32_t x36 = (x2 | x35);
- out[0] = x36;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fenz.v b/src/Specific/montgomery32_2e389m21_13limbs/fenz.v
deleted file mode 100644
index 0166bee91..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.log b/src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.log
deleted file mode 100644
index be61ce3d7..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x25 = (x24 | x23);
- uint32_t x26 = (x22 | x25);
- uint32_t x27 = (x20 | x26);
- uint32_t x28 = (x18 | x27);
- uint32_t x29 = (x16 | x28);
- uint32_t x30 = (x14 | x29);
- uint32_t x31 = (x12 | x30);
- uint32_t x32 = (x10 | x31);
- uint32_t x33 = (x8 | x32);
- uint32_t x34 = (x6 | x33);
- uint32_t x35 = (x4 | x34);
- uint32_t x36 = (x2 | x35);
- return x36)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.v b/src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.v
deleted file mode 100644
index e8e99f72b..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/feopp.v b/src/Specific/montgomery32_2e389m21_13limbs/feopp.v
deleted file mode 100644
index fa4c4c021..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/feoppDisplay.v b/src/Specific/montgomery32_2e389m21_13limbs/feoppDisplay.v
deleted file mode 100644
index 243156a0d..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fesquare.c b/src/Specific/montgomery32_2e389m21_13limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fesub.v b/src/Specific/montgomery32_2e389m21_13limbs/fesub.v
deleted file mode 100644
index a8b402e4f..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fesubDisplay.v b/src/Specific/montgomery32_2e389m21_13limbs/fesubDisplay.v
deleted file mode 100644
index 5d4461558..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e389m21_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/py_interpreter.sh b/src/Specific/montgomery32_2e389m21_13limbs/py_interpreter.sh
deleted file mode 100755
index 43b54b0d6..000000000
--- a/src/Specific/montgomery32_2e389m21_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**389 - 21' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/CurveParameters.v b/src/Specific/montgomery32_2e401m31_13limbs/CurveParameters.v
deleted file mode 100644
index 131704a25..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^401 - 31
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 32;
- bitwidth := 32;
- s := 2^401;
- c := [(1, 31)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e401m31_13limbs/Synthesis.v b/src/Specific/montgomery32_2e401m31_13limbs/Synthesis.v
deleted file mode 100644
index 16804ee29..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.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/montgomery32_2e401m31_13limbs/compiler.sh b/src/Specific/montgomery32_2e401m31_13limbs/compiler.sh
deleted file mode 100755
index 07720bf51..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/compilerxx.sh b/src/Specific/montgomery32_2e401m31_13limbs/compilerxx.sh
deleted file mode 100755
index b21ac5157..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/feadd.c b/src/Specific/montgomery32_2e401m31_13limbs/feadd.c
deleted file mode 100644
index 2a35ceda2..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/feadd.c
+++ /dev/null
@@ -1,82 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(0x0, x5, x29, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x7, x31, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x9, x33, &x59);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x60, x11, x35, &x62);
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(x63, x13, x37, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x15, x39, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x17, x41, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x19, x43, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x21, x45, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x23, x47, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x25, x49, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x27, x51, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x26, x50, &x89);
- { uint32_t x92; uint8_t x93 = _subborrow_u32(0x0, x53, 0xffffffe1, &x92);
- { uint32_t x95; uint8_t x96 = _subborrow_u32(x93, x56, 0xffffffff, &x95);
- { uint32_t x98; uint8_t x99 = _subborrow_u32(x96, x59, 0xffffffff, &x98);
- { uint32_t x101; uint8_t x102 = _subborrow_u32(x99, x62, 0xffffffff, &x101);
- { uint32_t x104; uint8_t x105 = _subborrow_u32(x102, x65, 0xffffffff, &x104);
- { uint32_t x107; uint8_t x108 = _subborrow_u32(x105, x68, 0xffffffff, &x107);
- { uint32_t x110; uint8_t x111 = _subborrow_u32(x108, x71, 0xffffffff, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(x111, x74, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x77, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x80, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x83, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x86, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x89, 0x1ffff, &x128);
- { uint32_t _; uint8_t x132 = _subborrow_u32(x129, x90, 0x0, &_);
- { uint32_t x133 = cmovznz32(x132, x128, x89);
- { uint32_t x134 = cmovznz32(x132, x125, x86);
- { uint32_t x135 = cmovznz32(x132, x122, x83);
- { uint32_t x136 = cmovznz32(x132, x119, x80);
- { uint32_t x137 = cmovznz32(x132, x116, x77);
- { uint32_t x138 = cmovznz32(x132, x113, x74);
- { uint32_t x139 = cmovznz32(x132, x110, x71);
- { uint32_t x140 = cmovznz32(x132, x107, x68);
- { uint32_t x141 = cmovznz32(x132, x104, x65);
- { uint32_t x142 = cmovznz32(x132, x101, x62);
- { uint32_t x143 = cmovznz32(x132, x98, x59);
- { uint32_t x144 = cmovznz32(x132, x95, x56);
- { uint32_t x145 = cmovznz32(x132, x92, x53);
- out[0] = x145;
- out[1] = x144;
- out[2] = x143;
- out[3] = x142;
- out[4] = x141;
- out[5] = x140;
- out[6] = x139;
- out[7] = x138;
- out[8] = x137;
- out[9] = x136;
- out[10] = x135;
- out[11] = x134;
- out[12] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/feadd.v b/src/Specific/montgomery32_2e401m31_13limbs/feadd.v
deleted file mode 100644
index 4db0e9e9a..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.log b/src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.log
deleted file mode 100644
index 24b1f0bba..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
- uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
- uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffe1);
- uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
- uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
- uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
- uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
- uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
- uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
- uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x1ffff);
- uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
- uint32_t x133 = cmovznz32(x132, x128, x89);
- uint32_t x134 = cmovznz32(x132, x125, x86);
- uint32_t x135 = cmovznz32(x132, x122, x83);
- uint32_t x136 = cmovznz32(x132, x119, x80);
- uint32_t x137 = cmovznz32(x132, x116, x77);
- uint32_t x138 = cmovznz32(x132, x113, x74);
- uint32_t x139 = cmovznz32(x132, x110, x71);
- uint32_t x140 = cmovznz32(x132, x107, x68);
- uint32_t x141 = cmovznz32(x132, x104, x65);
- uint32_t x142 = cmovznz32(x132, x101, x62);
- uint32_t x143 = cmovznz32(x132, x98, x59);
- uint32_t x144 = cmovznz32(x132, x95, x56);
- uint32_t x145 = cmovznz32(x132, x92, x53);
- return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.v b/src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.v
deleted file mode 100644
index 50d57b25e..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/femul.v b/src/Specific/montgomery32_2e401m31_13limbs/femul.v
deleted file mode 100644
index fc17e0188..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/femulDisplay.v b/src/Specific/montgomery32_2e401m31_13limbs/femulDisplay.v
deleted file mode 100644
index d5ae278e3..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fenz.c b/src/Specific/montgomery32_2e401m31_13limbs/fenz.c
deleted file mode 100644
index c34513bef..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fenz.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (x24 | x23);
- { uint32_t x26 = (x22 | x25);
- { uint32_t x27 = (x20 | x26);
- { uint32_t x28 = (x18 | x27);
- { uint32_t x29 = (x16 | x28);
- { uint32_t x30 = (x14 | x29);
- { uint32_t x31 = (x12 | x30);
- { uint32_t x32 = (x10 | x31);
- { uint32_t x33 = (x8 | x32);
- { uint32_t x34 = (x6 | x33);
- { uint32_t x35 = (x4 | x34);
- { uint32_t x36 = (x2 | x35);
- out[0] = x36;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fenz.v b/src/Specific/montgomery32_2e401m31_13limbs/fenz.v
deleted file mode 100644
index 80bac23a9..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.log b/src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.log
deleted file mode 100644
index be61ce3d7..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x25 = (x24 | x23);
- uint32_t x26 = (x22 | x25);
- uint32_t x27 = (x20 | x26);
- uint32_t x28 = (x18 | x27);
- uint32_t x29 = (x16 | x28);
- uint32_t x30 = (x14 | x29);
- uint32_t x31 = (x12 | x30);
- uint32_t x32 = (x10 | x31);
- uint32_t x33 = (x8 | x32);
- uint32_t x34 = (x6 | x33);
- uint32_t x35 = (x4 | x34);
- uint32_t x36 = (x2 | x35);
- return x36)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.v b/src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.v
deleted file mode 100644
index b7e92c310..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/feopp.v b/src/Specific/montgomery32_2e401m31_13limbs/feopp.v
deleted file mode 100644
index 3ac1535d0..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/feoppDisplay.v b/src/Specific/montgomery32_2e401m31_13limbs/feoppDisplay.v
deleted file mode 100644
index fe1ecf79a..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fesquare.c b/src/Specific/montgomery32_2e401m31_13limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fesub.v b/src/Specific/montgomery32_2e401m31_13limbs/fesub.v
deleted file mode 100644
index 7d2b473b8..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fesubDisplay.v b/src/Specific/montgomery32_2e401m31_13limbs/fesubDisplay.v
deleted file mode 100644
index f76d6eb11..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e401m31_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/py_interpreter.sh b/src/Specific/montgomery32_2e401m31_13limbs/py_interpreter.sh
deleted file mode 100755
index 364b0f1e4..000000000
--- a/src/Specific/montgomery32_2e401m31_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**401 - 31' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/CurveParameters.v b/src/Specific/montgomery32_2e413m21_13limbs/CurveParameters.v
deleted file mode 100644
index dade6d2e9..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^413 - 21
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 32;
- bitwidth := 32;
- s := 2^413;
- c := [(1, 21)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e413m21_13limbs/Synthesis.v b/src/Specific/montgomery32_2e413m21_13limbs/Synthesis.v
deleted file mode 100644
index c1673e6d4..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.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/montgomery32_2e413m21_13limbs/compiler.sh b/src/Specific/montgomery32_2e413m21_13limbs/compiler.sh
deleted file mode 100755
index 943b48bc3..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/compilerxx.sh b/src/Specific/montgomery32_2e413m21_13limbs/compilerxx.sh
deleted file mode 100755
index 9370e0a9d..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/feadd.c b/src/Specific/montgomery32_2e413m21_13limbs/feadd.c
deleted file mode 100644
index 23d76ab4d..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/feadd.c
+++ /dev/null
@@ -1,82 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(0x0, x5, x29, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x7, x31, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x9, x33, &x59);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x60, x11, x35, &x62);
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(x63, x13, x37, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x15, x39, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x17, x41, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x19, x43, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x21, x45, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x23, x47, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x25, x49, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x27, x51, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x26, x50, &x89);
- { uint32_t x92; uint8_t x93 = _subborrow_u32(0x0, x53, 0xffffffeb, &x92);
- { uint32_t x95; uint8_t x96 = _subborrow_u32(x93, x56, 0xffffffff, &x95);
- { uint32_t x98; uint8_t x99 = _subborrow_u32(x96, x59, 0xffffffff, &x98);
- { uint32_t x101; uint8_t x102 = _subborrow_u32(x99, x62, 0xffffffff, &x101);
- { uint32_t x104; uint8_t x105 = _subborrow_u32(x102, x65, 0xffffffff, &x104);
- { uint32_t x107; uint8_t x108 = _subborrow_u32(x105, x68, 0xffffffff, &x107);
- { uint32_t x110; uint8_t x111 = _subborrow_u32(x108, x71, 0xffffffff, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(x111, x74, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x77, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x80, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x83, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x86, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x89, 0x1fffffff, &x128);
- { uint32_t _; uint8_t x132 = _subborrow_u32(x129, x90, 0x0, &_);
- { uint32_t x133 = cmovznz32(x132, x128, x89);
- { uint32_t x134 = cmovznz32(x132, x125, x86);
- { uint32_t x135 = cmovznz32(x132, x122, x83);
- { uint32_t x136 = cmovznz32(x132, x119, x80);
- { uint32_t x137 = cmovznz32(x132, x116, x77);
- { uint32_t x138 = cmovznz32(x132, x113, x74);
- { uint32_t x139 = cmovznz32(x132, x110, x71);
- { uint32_t x140 = cmovznz32(x132, x107, x68);
- { uint32_t x141 = cmovznz32(x132, x104, x65);
- { uint32_t x142 = cmovznz32(x132, x101, x62);
- { uint32_t x143 = cmovznz32(x132, x98, x59);
- { uint32_t x144 = cmovznz32(x132, x95, x56);
- { uint32_t x145 = cmovznz32(x132, x92, x53);
- out[0] = x145;
- out[1] = x144;
- out[2] = x143;
- out[3] = x142;
- out[4] = x141;
- out[5] = x140;
- out[6] = x139;
- out[7] = x138;
- out[8] = x137;
- out[9] = x136;
- out[10] = x135;
- out[11] = x134;
- out[12] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/feadd.v b/src/Specific/montgomery32_2e413m21_13limbs/feadd.v
deleted file mode 100644
index 125acbfbc..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.log b/src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.log
deleted file mode 100644
index 05c4f5ed1..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
- uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
- uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffeb);
- uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
- uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
- uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
- uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
- uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
- uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
- uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x1fffffff);
- uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
- uint32_t x133 = cmovznz32(x132, x128, x89);
- uint32_t x134 = cmovznz32(x132, x125, x86);
- uint32_t x135 = cmovznz32(x132, x122, x83);
- uint32_t x136 = cmovznz32(x132, x119, x80);
- uint32_t x137 = cmovznz32(x132, x116, x77);
- uint32_t x138 = cmovznz32(x132, x113, x74);
- uint32_t x139 = cmovznz32(x132, x110, x71);
- uint32_t x140 = cmovznz32(x132, x107, x68);
- uint32_t x141 = cmovznz32(x132, x104, x65);
- uint32_t x142 = cmovznz32(x132, x101, x62);
- uint32_t x143 = cmovznz32(x132, x98, x59);
- uint32_t x144 = cmovznz32(x132, x95, x56);
- uint32_t x145 = cmovznz32(x132, x92, x53);
- return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.v b/src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.v
deleted file mode 100644
index f162dfb47..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/femul.v b/src/Specific/montgomery32_2e413m21_13limbs/femul.v
deleted file mode 100644
index 41c224f99..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/femulDisplay.v b/src/Specific/montgomery32_2e413m21_13limbs/femulDisplay.v
deleted file mode 100644
index 2fa59e5b2..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fenz.c b/src/Specific/montgomery32_2e413m21_13limbs/fenz.c
deleted file mode 100644
index c34513bef..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fenz.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (x24 | x23);
- { uint32_t x26 = (x22 | x25);
- { uint32_t x27 = (x20 | x26);
- { uint32_t x28 = (x18 | x27);
- { uint32_t x29 = (x16 | x28);
- { uint32_t x30 = (x14 | x29);
- { uint32_t x31 = (x12 | x30);
- { uint32_t x32 = (x10 | x31);
- { uint32_t x33 = (x8 | x32);
- { uint32_t x34 = (x6 | x33);
- { uint32_t x35 = (x4 | x34);
- { uint32_t x36 = (x2 | x35);
- out[0] = x36;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fenz.v b/src/Specific/montgomery32_2e413m21_13limbs/fenz.v
deleted file mode 100644
index d80e3b304..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.log b/src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.log
deleted file mode 100644
index be61ce3d7..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x25 = (x24 | x23);
- uint32_t x26 = (x22 | x25);
- uint32_t x27 = (x20 | x26);
- uint32_t x28 = (x18 | x27);
- uint32_t x29 = (x16 | x28);
- uint32_t x30 = (x14 | x29);
- uint32_t x31 = (x12 | x30);
- uint32_t x32 = (x10 | x31);
- uint32_t x33 = (x8 | x32);
- uint32_t x34 = (x6 | x33);
- uint32_t x35 = (x4 | x34);
- uint32_t x36 = (x2 | x35);
- return x36)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.v b/src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.v
deleted file mode 100644
index 06cbfbc85..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/feopp.v b/src/Specific/montgomery32_2e413m21_13limbs/feopp.v
deleted file mode 100644
index 7238c94fb..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/feoppDisplay.v b/src/Specific/montgomery32_2e413m21_13limbs/feoppDisplay.v
deleted file mode 100644
index 5206bd23b..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fesquare.c b/src/Specific/montgomery32_2e413m21_13limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fesub.v b/src/Specific/montgomery32_2e413m21_13limbs/fesub.v
deleted file mode 100644
index 9e0c888dd..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fesubDisplay.v b/src/Specific/montgomery32_2e413m21_13limbs/fesubDisplay.v
deleted file mode 100644
index 71aad29c1..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e413m21_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/py_interpreter.sh b/src/Specific/montgomery32_2e413m21_13limbs/py_interpreter.sh
deleted file mode 100755
index bf658bf19..000000000
--- a/src/Specific/montgomery32_2e413m21_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**413 - 21' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/CurveParameters.v b/src/Specific/montgomery32_2e414m17_13limbs/CurveParameters.v
deleted file mode 100644
index cbe200a23..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^414 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 32;
- bitwidth := 32;
- s := 2^414;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e414m17_13limbs/Synthesis.v b/src/Specific/montgomery32_2e414m17_13limbs/Synthesis.v
deleted file mode 100644
index afecde11b..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.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/montgomery32_2e414m17_13limbs/compiler.sh b/src/Specific/montgomery32_2e414m17_13limbs/compiler.sh
deleted file mode 100755
index 531aa0d7f..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/compilerxx.sh b/src/Specific/montgomery32_2e414m17_13limbs/compilerxx.sh
deleted file mode 100755
index c3ff4697c..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/feadd.c b/src/Specific/montgomery32_2e414m17_13limbs/feadd.c
deleted file mode 100644
index 4ea3fef54..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/feadd.c
+++ /dev/null
@@ -1,82 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(0x0, x5, x29, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x7, x31, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x9, x33, &x59);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x60, x11, x35, &x62);
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(x63, x13, x37, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x15, x39, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x17, x41, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x19, x43, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x21, x45, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x23, x47, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x25, x49, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x27, x51, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x26, x50, &x89);
- { uint32_t x92; uint8_t x93 = _subborrow_u32(0x0, x53, 0xffffffef, &x92);
- { uint32_t x95; uint8_t x96 = _subborrow_u32(x93, x56, 0xffffffff, &x95);
- { uint32_t x98; uint8_t x99 = _subborrow_u32(x96, x59, 0xffffffff, &x98);
- { uint32_t x101; uint8_t x102 = _subborrow_u32(x99, x62, 0xffffffff, &x101);
- { uint32_t x104; uint8_t x105 = _subborrow_u32(x102, x65, 0xffffffff, &x104);
- { uint32_t x107; uint8_t x108 = _subborrow_u32(x105, x68, 0xffffffff, &x107);
- { uint32_t x110; uint8_t x111 = _subborrow_u32(x108, x71, 0xffffffff, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(x111, x74, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x77, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x80, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x83, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x86, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x89, 0x3fffffff, &x128);
- { uint32_t _; uint8_t x132 = _subborrow_u32(x129, x90, 0x0, &_);
- { uint32_t x133 = cmovznz32(x132, x128, x89);
- { uint32_t x134 = cmovznz32(x132, x125, x86);
- { uint32_t x135 = cmovznz32(x132, x122, x83);
- { uint32_t x136 = cmovznz32(x132, x119, x80);
- { uint32_t x137 = cmovznz32(x132, x116, x77);
- { uint32_t x138 = cmovznz32(x132, x113, x74);
- { uint32_t x139 = cmovznz32(x132, x110, x71);
- { uint32_t x140 = cmovznz32(x132, x107, x68);
- { uint32_t x141 = cmovznz32(x132, x104, x65);
- { uint32_t x142 = cmovznz32(x132, x101, x62);
- { uint32_t x143 = cmovznz32(x132, x98, x59);
- { uint32_t x144 = cmovznz32(x132, x95, x56);
- { uint32_t x145 = cmovznz32(x132, x92, x53);
- out[0] = x145;
- out[1] = x144;
- out[2] = x143;
- out[3] = x142;
- out[4] = x141;
- out[5] = x140;
- out[6] = x139;
- out[7] = x138;
- out[8] = x137;
- out[9] = x136;
- out[10] = x135;
- out[11] = x134;
- out[12] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/feadd.v b/src/Specific/montgomery32_2e414m17_13limbs/feadd.v
deleted file mode 100644
index 278785798..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.log b/src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.log
deleted file mode 100644
index 0e9b0c7f7..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
- uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
- uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffef);
- uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
- uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
- uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
- uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
- uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
- uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
- uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x3fffffff);
- uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
- uint32_t x133 = cmovznz32(x132, x128, x89);
- uint32_t x134 = cmovznz32(x132, x125, x86);
- uint32_t x135 = cmovznz32(x132, x122, x83);
- uint32_t x136 = cmovznz32(x132, x119, x80);
- uint32_t x137 = cmovznz32(x132, x116, x77);
- uint32_t x138 = cmovznz32(x132, x113, x74);
- uint32_t x139 = cmovznz32(x132, x110, x71);
- uint32_t x140 = cmovznz32(x132, x107, x68);
- uint32_t x141 = cmovznz32(x132, x104, x65);
- uint32_t x142 = cmovznz32(x132, x101, x62);
- uint32_t x143 = cmovznz32(x132, x98, x59);
- uint32_t x144 = cmovznz32(x132, x95, x56);
- uint32_t x145 = cmovznz32(x132, x92, x53);
- return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.v b/src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.v
deleted file mode 100644
index 1f124bcc6..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/femul.v b/src/Specific/montgomery32_2e414m17_13limbs/femul.v
deleted file mode 100644
index e40320788..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/femulDisplay.v b/src/Specific/montgomery32_2e414m17_13limbs/femulDisplay.v
deleted file mode 100644
index d9d182558..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fenz.c b/src/Specific/montgomery32_2e414m17_13limbs/fenz.c
deleted file mode 100644
index c34513bef..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fenz.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (x24 | x23);
- { uint32_t x26 = (x22 | x25);
- { uint32_t x27 = (x20 | x26);
- { uint32_t x28 = (x18 | x27);
- { uint32_t x29 = (x16 | x28);
- { uint32_t x30 = (x14 | x29);
- { uint32_t x31 = (x12 | x30);
- { uint32_t x32 = (x10 | x31);
- { uint32_t x33 = (x8 | x32);
- { uint32_t x34 = (x6 | x33);
- { uint32_t x35 = (x4 | x34);
- { uint32_t x36 = (x2 | x35);
- out[0] = x36;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fenz.v b/src/Specific/montgomery32_2e414m17_13limbs/fenz.v
deleted file mode 100644
index 4a23baf4e..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.log b/src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.log
deleted file mode 100644
index be61ce3d7..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x25 = (x24 | x23);
- uint32_t x26 = (x22 | x25);
- uint32_t x27 = (x20 | x26);
- uint32_t x28 = (x18 | x27);
- uint32_t x29 = (x16 | x28);
- uint32_t x30 = (x14 | x29);
- uint32_t x31 = (x12 | x30);
- uint32_t x32 = (x10 | x31);
- uint32_t x33 = (x8 | x32);
- uint32_t x34 = (x6 | x33);
- uint32_t x35 = (x4 | x34);
- uint32_t x36 = (x2 | x35);
- return x36)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.v b/src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.v
deleted file mode 100644
index bb96b9b27..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/feopp.v b/src/Specific/montgomery32_2e414m17_13limbs/feopp.v
deleted file mode 100644
index 3a522b003..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/feoppDisplay.v b/src/Specific/montgomery32_2e414m17_13limbs/feoppDisplay.v
deleted file mode 100644
index 93300836c..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fesquare.c b/src/Specific/montgomery32_2e414m17_13limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fesub.v b/src/Specific/montgomery32_2e414m17_13limbs/fesub.v
deleted file mode 100644
index 017459a22..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fesubDisplay.v b/src/Specific/montgomery32_2e414m17_13limbs/fesubDisplay.v
deleted file mode 100644
index e0881e2f1..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e414m17_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/py_interpreter.sh b/src/Specific/montgomery32_2e414m17_13limbs/py_interpreter.sh
deleted file mode 100755
index 1d0fb48f6..000000000
--- a/src/Specific/montgomery32_2e414m17_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**414 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/CurveParameters.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/CurveParameters.v
deleted file mode 100644
index 199f2b1c8..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^416 - 2^208 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 32;
- bitwidth := 32;
- s := 2^416;
- c := [(1, 1); (2^208, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e416m2e208m1_13limbs/Synthesis.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/Synthesis.v
deleted file mode 100644
index 32d191a87..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.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/montgomery32_2e416m2e208m1_13limbs/compiler.sh b/src/Specific/montgomery32_2e416m2e208m1_13limbs/compiler.sh
deleted file mode 100755
index 3e8ec4324..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/compilerxx.sh b/src/Specific/montgomery32_2e416m2e208m1_13limbs/compilerxx.sh
deleted file mode 100755
index 0491071d3..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.c b/src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.c
deleted file mode 100644
index 400048e0d..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.c
+++ /dev/null
@@ -1,82 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint32_t x53; uint8_t x54 = _addcarryx_u32(0x0, x5, x29, &x53);
- { uint32_t x56; uint8_t x57 = _addcarryx_u32(x54, x7, x31, &x56);
- { uint32_t x59; uint8_t x60 = _addcarryx_u32(x57, x9, x33, &x59);
- { uint32_t x62; uint8_t x63 = _addcarryx_u32(x60, x11, x35, &x62);
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(x63, x13, x37, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x15, x39, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x17, x41, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x19, x43, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x21, x45, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x23, x47, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x25, x49, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x27, x51, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x26, x50, &x89);
- { uint32_t x92; uint8_t x93 = _subborrow_u32(0x0, x53, 0xffffffff, &x92);
- { uint32_t x95; uint8_t x96 = _subborrow_u32(x93, x56, 0xffffffff, &x95);
- { uint32_t x98; uint8_t x99 = _subborrow_u32(x96, x59, 0xffffffff, &x98);
- { uint32_t x101; uint8_t x102 = _subborrow_u32(x99, x62, 0xffffffff, &x101);
- { uint32_t x104; uint8_t x105 = _subborrow_u32(x102, x65, 0xffffffff, &x104);
- { uint32_t x107; uint8_t x108 = _subborrow_u32(x105, x68, 0xffffffff, &x107);
- { uint32_t x110; uint8_t x111 = _subborrow_u32(x108, x71, 0xfffeffff, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(x111, x74, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x77, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x80, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x83, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x86, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x89, 0xffffffff, &x128);
- { uint32_t _; uint8_t x132 = _subborrow_u32(x129, x90, 0x0, &_);
- { uint32_t x133 = cmovznz32(x132, x128, x89);
- { uint32_t x134 = cmovznz32(x132, x125, x86);
- { uint32_t x135 = cmovznz32(x132, x122, x83);
- { uint32_t x136 = cmovznz32(x132, x119, x80);
- { uint32_t x137 = cmovznz32(x132, x116, x77);
- { uint32_t x138 = cmovznz32(x132, x113, x74);
- { uint32_t x139 = cmovznz32(x132, x110, x71);
- { uint32_t x140 = cmovznz32(x132, x107, x68);
- { uint32_t x141 = cmovznz32(x132, x104, x65);
- { uint32_t x142 = cmovznz32(x132, x101, x62);
- { uint32_t x143 = cmovznz32(x132, x98, x59);
- { uint32_t x144 = cmovznz32(x132, x95, x56);
- { uint32_t x145 = cmovznz32(x132, x92, x53);
- out[0] = x145;
- out[1] = x144;
- out[2] = x143;
- out[3] = x142;
- out[4] = x141;
- out[5] = x140;
- out[6] = x139;
- out[7] = x138;
- out[8] = x137;
- out[9] = x136;
- out[10] = x135;
- out[11] = x134;
- out[12] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.v
deleted file mode 100644
index 6caf323a4..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.log b/src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.log
deleted file mode 100644
index de529b044..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
- uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
- uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
- uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
- uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
- uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffff);
- uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
- uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
- uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
- uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
- uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
- uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xfffeffff);
- uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0xffffffff);
- uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
- uint32_t x133 = cmovznz32(x132, x128, x89);
- uint32_t x134 = cmovznz32(x132, x125, x86);
- uint32_t x135 = cmovznz32(x132, x122, x83);
- uint32_t x136 = cmovznz32(x132, x119, x80);
- uint32_t x137 = cmovznz32(x132, x116, x77);
- uint32_t x138 = cmovznz32(x132, x113, x74);
- uint32_t x139 = cmovznz32(x132, x110, x71);
- uint32_t x140 = cmovznz32(x132, x107, x68);
- uint32_t x141 = cmovznz32(x132, x104, x65);
- uint32_t x142 = cmovznz32(x132, x101, x62);
- uint32_t x143 = cmovznz32(x132, x98, x59);
- uint32_t x144 = cmovznz32(x132, x95, x56);
- uint32_t x145 = cmovznz32(x132, x92, x53);
- return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.v
deleted file mode 100644
index 00ad389f7..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/femul.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/femul.v
deleted file mode 100644
index 9bbf3530e..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/femulDisplay.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/femulDisplay.v
deleted file mode 100644
index 442fcec84..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.c b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.c
deleted file mode 100644
index c34513bef..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (x24 | x23);
- { uint32_t x26 = (x22 | x25);
- { uint32_t x27 = (x20 | x26);
- { uint32_t x28 = (x18 | x27);
- { uint32_t x29 = (x16 | x28);
- { uint32_t x30 = (x14 | x29);
- { uint32_t x31 = (x12 | x30);
- { uint32_t x32 = (x10 | x31);
- { uint32_t x33 = (x8 | x32);
- { uint32_t x34 = (x6 | x33);
- { uint32_t x35 = (x4 | x34);
- { uint32_t x36 = (x2 | x35);
- out[0] = x36;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.v
deleted file mode 100644
index 2f2efea07..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.log b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.log
deleted file mode 100644
index be61ce3d7..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x25 = (x24 | x23);
- uint32_t x26 = (x22 | x25);
- uint32_t x27 = (x20 | x26);
- uint32_t x28 = (x18 | x27);
- uint32_t x29 = (x16 | x28);
- uint32_t x30 = (x14 | x29);
- uint32_t x31 = (x12 | x30);
- uint32_t x32 = (x10 | x31);
- uint32_t x33 = (x8 | x32);
- uint32_t x34 = (x6 | x33);
- uint32_t x35 = (x4 | x34);
- uint32_t x36 = (x2 | x35);
- return x36)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.v
deleted file mode 100644
index 771394499..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feopp.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/feopp.v
deleted file mode 100644
index 4b0b1d12d..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feoppDisplay.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/feoppDisplay.v
deleted file mode 100644
index aeda3cb17..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesub.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesub.v
deleted file mode 100644
index 6e7e7768d..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesubDisplay.v b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesubDisplay.v
deleted file mode 100644
index 91083932e..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e416m2e208m1_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/py_interpreter.sh b/src/Specific/montgomery32_2e416m2e208m1_13limbs/py_interpreter.sh
deleted file mode 100755
index d760d16d7..000000000
--- a/src/Specific/montgomery32_2e416m2e208m1_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**416 - 2**208 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/CurveParameters.v b/src/Specific/montgomery32_2e444m17_14limbs/CurveParameters.v
deleted file mode 100644
index 9911b3666..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^444 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 14%nat;
- base := 32;
- bitwidth := 32;
- s := 2^444;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e444m17_14limbs/Synthesis.v b/src/Specific/montgomery32_2e444m17_14limbs/Synthesis.v
deleted file mode 100644
index 2e898efa0..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.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/montgomery32_2e444m17_14limbs/compiler.sh b/src/Specific/montgomery32_2e444m17_14limbs/compiler.sh
deleted file mode 100755
index 0482ba705..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/compilerxx.sh b/src/Specific/montgomery32_2e444m17_14limbs/compilerxx.sh
deleted file mode 100755
index 005386194..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/feadd.c b/src/Specific/montgomery32_2e444m17_14limbs/feadd.c
deleted file mode 100644
index 27173d59a..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/feadd.c
+++ /dev/null
@@ -1,88 +0,0 @@
-static void feadd(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(0x0, x5, x31, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x7, x33, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x9, x35, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x11, x37, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x13, x39, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x15, x41, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x17, x43, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x19, x45, &x78);
- { uint32_t x81; uint8_t x82 = _addcarryx_u32(x79, x21, x47, &x81);
- { uint32_t x84; uint8_t x85 = _addcarryx_u32(x82, x23, x49, &x84);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x25, x51, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x27, x53, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x29, x55, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x28, x54, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(0x0, x57, 0xffffffef, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x60, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x63, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x66, 0xffffffff, &x108);
- { uint32_t x111; uint8_t x112 = _subborrow_u32(x109, x69, 0xffffffff, &x111);
- { uint32_t x114; uint8_t x115 = _subborrow_u32(x112, x72, 0xffffffff, &x114);
- { uint32_t x117; uint8_t x118 = _subborrow_u32(x115, x75, 0xffffffff, &x117);
- { uint32_t x120; uint8_t x121 = _subborrow_u32(x118, x78, 0xffffffff, &x120);
- { uint32_t x123; uint8_t x124 = _subborrow_u32(x121, x81, 0xffffffff, &x123);
- { uint32_t x126; uint8_t x127 = _subborrow_u32(x124, x84, 0xffffffff, &x126);
- { uint32_t x129; uint8_t x130 = _subborrow_u32(x127, x87, 0xffffffff, &x129);
- { uint32_t x132; uint8_t x133 = _subborrow_u32(x130, x90, 0xffffffff, &x132);
- { uint32_t x135; uint8_t x136 = _subborrow_u32(x133, x93, 0xffffffff, &x135);
- { uint32_t x138; uint8_t x139 = _subborrow_u32(x136, x96, 0xfffffff, &x138);
- { uint32_t _; uint8_t x142 = _subborrow_u32(x139, x97, 0x0, &_);
- { uint32_t x143 = cmovznz32(x142, x138, x96);
- { uint32_t x144 = cmovznz32(x142, x135, x93);
- { uint32_t x145 = cmovznz32(x142, x132, x90);
- { uint32_t x146 = cmovznz32(x142, x129, x87);
- { uint32_t x147 = cmovznz32(x142, x126, x84);
- { uint32_t x148 = cmovznz32(x142, x123, x81);
- { uint32_t x149 = cmovznz32(x142, x120, x78);
- { uint32_t x150 = cmovznz32(x142, x117, x75);
- { uint32_t x151 = cmovznz32(x142, x114, x72);
- { uint32_t x152 = cmovznz32(x142, x111, x69);
- { uint32_t x153 = cmovznz32(x142, x108, x66);
- { uint32_t x154 = cmovznz32(x142, x105, x63);
- { uint32_t x155 = cmovznz32(x142, x102, x60);
- { uint32_t x156 = cmovznz32(x142, x99, x57);
- out[0] = x156;
- out[1] = x155;
- out[2] = x154;
- out[3] = x153;
- out[4] = x152;
- out[5] = x151;
- out[6] = x150;
- out[7] = x149;
- out[8] = x148;
- out[9] = x147;
- out[10] = x146;
- out[11] = x145;
- out[12] = x144;
- out[13] = x143;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/feadd.v b/src/Specific/montgomery32_2e444m17_14limbs/feadd.v
deleted file mode 100644
index c617e1dcd..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.log b/src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.log
deleted file mode 100644
index 07d9c8b95..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.log
+++ /dev/null
@@ -1,50 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x5, x31);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x7, x33);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x9, x35);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x11, x37);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x13, x39);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x15, x41);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x17, x43);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x19, x45);
- uint32_t x81, uint8_t x82 = addcarryx_u32(x79, x21, x47);
- uint32_t x84, uint8_t x85 = addcarryx_u32(x82, x23, x49);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x25, x51);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x27, x53);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x29, x55);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x28, x54);
- uint32_t x99, uint8_t x100 = subborrow_u32(0x0, x57, 0xffffffef);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x60, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x63, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x66, 0xffffffff);
- uint32_t x111, uint8_t x112 = subborrow_u32(x109, x69, 0xffffffff);
- uint32_t x114, uint8_t x115 = subborrow_u32(x112, x72, 0xffffffff);
- uint32_t x117, uint8_t x118 = subborrow_u32(x115, x75, 0xffffffff);
- uint32_t x120, uint8_t x121 = subborrow_u32(x118, x78, 0xffffffff);
- uint32_t x123, uint8_t x124 = subborrow_u32(x121, x81, 0xffffffff);
- uint32_t x126, uint8_t x127 = subborrow_u32(x124, x84, 0xffffffff);
- uint32_t x129, uint8_t x130 = subborrow_u32(x127, x87, 0xffffffff);
- uint32_t x132, uint8_t x133 = subborrow_u32(x130, x90, 0xffffffff);
- uint32_t x135, uint8_t x136 = subborrow_u32(x133, x93, 0xffffffff);
- uint32_t x138, uint8_t x139 = subborrow_u32(x136, x96, 0xfffffff);
- uint32_t _, uint8_t x142 = subborrow_u32(x139, x97, 0x0);
- uint32_t x143 = cmovznz32(x142, x138, x96);
- uint32_t x144 = cmovznz32(x142, x135, x93);
- uint32_t x145 = cmovznz32(x142, x132, x90);
- uint32_t x146 = cmovznz32(x142, x129, x87);
- uint32_t x147 = cmovznz32(x142, x126, x84);
- uint32_t x148 = cmovznz32(x142, x123, x81);
- uint32_t x149 = cmovznz32(x142, x120, x78);
- uint32_t x150 = cmovznz32(x142, x117, x75);
- uint32_t x151 = cmovznz32(x142, x114, x72);
- uint32_t x152 = cmovznz32(x142, x111, x69);
- uint32_t x153 = cmovznz32(x142, x108, x66);
- uint32_t x154 = cmovznz32(x142, x105, x63);
- uint32_t x155 = cmovznz32(x142, x102, x60);
- uint32_t x156 = cmovznz32(x142, x99, x57);
- return (x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155, x156))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.v b/src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.v
deleted file mode 100644
index c5ce0532e..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/femul.v b/src/Specific/montgomery32_2e444m17_14limbs/femul.v
deleted file mode 100644
index 43f6e3801..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/femulDisplay.v b/src/Specific/montgomery32_2e444m17_14limbs/femulDisplay.v
deleted file mode 100644
index e721f0531..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fenz.c b/src/Specific/montgomery32_2e444m17_14limbs/fenz.c
deleted file mode 100644
index 42fc27af3..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fenz.c
+++ /dev/null
@@ -1,31 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x27 = (x26 | x25);
- { uint32_t x28 = (x24 | x27);
- { uint32_t x29 = (x22 | x28);
- { uint32_t x30 = (x20 | x29);
- { uint32_t x31 = (x18 | x30);
- { uint32_t x32 = (x16 | x31);
- { uint32_t x33 = (x14 | x32);
- { uint32_t x34 = (x12 | x33);
- { uint32_t x35 = (x10 | x34);
- { uint32_t x36 = (x8 | x35);
- { uint32_t x37 = (x6 | x36);
- { uint32_t x38 = (x4 | x37);
- { uint32_t x39 = (x2 | x38);
- out[0] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fenz.v b/src/Specific/montgomery32_2e444m17_14limbs/fenz.v
deleted file mode 100644
index 014d61f96..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.log b/src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.log
deleted file mode 100644
index 265fc8b8c..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x27 = (x26 | x25);
- uint32_t x28 = (x24 | x27);
- uint32_t x29 = (x22 | x28);
- uint32_t x30 = (x20 | x29);
- uint32_t x31 = (x18 | x30);
- uint32_t x32 = (x16 | x31);
- uint32_t x33 = (x14 | x32);
- uint32_t x34 = (x12 | x33);
- uint32_t x35 = (x10 | x34);
- uint32_t x36 = (x8 | x35);
- uint32_t x37 = (x6 | x36);
- uint32_t x38 = (x4 | x37);
- uint32_t x39 = (x2 | x38);
- return x39)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.v b/src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.v
deleted file mode 100644
index 55b547264..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/feopp.v b/src/Specific/montgomery32_2e444m17_14limbs/feopp.v
deleted file mode 100644
index 85511f3c5..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/feoppDisplay.v b/src/Specific/montgomery32_2e444m17_14limbs/feoppDisplay.v
deleted file mode 100644
index 1012b495b..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fesquare.c b/src/Specific/montgomery32_2e444m17_14limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fesub.v b/src/Specific/montgomery32_2e444m17_14limbs/fesub.v
deleted file mode 100644
index fd382b473..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fesubDisplay.v b/src/Specific/montgomery32_2e444m17_14limbs/fesubDisplay.v
deleted file mode 100644
index 77fd2fa6b..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e444m17_14limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/py_interpreter.sh b/src/Specific/montgomery32_2e444m17_14limbs/py_interpreter.sh
deleted file mode 100755
index ac55d629a..000000000
--- a/src/Specific/montgomery32_2e444m17_14limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**444 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/CurveParameters.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/CurveParameters.v
deleted file mode 100644
index 87cb9da35..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/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: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 14%nat;
- base := 32;
- bitwidth := 32;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e448m2e224m1_14limbs/Synthesis.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/Synthesis.v
deleted file mode 100644
index eb803fa67..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.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/montgomery32_2e448m2e224m1_14limbs/compiler.sh b/src/Specific/montgomery32_2e448m2e224m1_14limbs/compiler.sh
deleted file mode 100755
index 507c6c3fe..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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='14' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/compilerxx.sh b/src/Specific/montgomery32_2e448m2e224m1_14limbs/compilerxx.sh
deleted file mode 100755
index 13644f139..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/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='{32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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='14' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.c b/src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.c
deleted file mode 100644
index be0570114..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.c
+++ /dev/null
@@ -1,88 +0,0 @@
-static void feadd(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- { uint32_t x57; uint8_t x58 = _addcarryx_u32(0x0, x5, x31, &x57);
- { uint32_t x60; uint8_t x61 = _addcarryx_u32(x58, x7, x33, &x60);
- { uint32_t x63; uint8_t x64 = _addcarryx_u32(x61, x9, x35, &x63);
- { uint32_t x66; uint8_t x67 = _addcarryx_u32(x64, x11, x37, &x66);
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(x67, x13, x39, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x15, x41, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x17, x43, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x19, x45, &x78);
- { uint32_t x81; uint8_t x82 = _addcarryx_u32(x79, x21, x47, &x81);
- { uint32_t x84; uint8_t x85 = _addcarryx_u32(x82, x23, x49, &x84);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x25, x51, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x27, x53, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x29, x55, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x28, x54, &x96);
- { uint32_t x99; uint8_t x100 = _subborrow_u32(0x0, x57, 0xffffffff, &x99);
- { uint32_t x102; uint8_t x103 = _subborrow_u32(x100, x60, 0xffffffff, &x102);
- { uint32_t x105; uint8_t x106 = _subborrow_u32(x103, x63, 0xffffffff, &x105);
- { uint32_t x108; uint8_t x109 = _subborrow_u32(x106, x66, 0xffffffff, &x108);
- { uint32_t x111; uint8_t x112 = _subborrow_u32(x109, x69, 0xffffffff, &x111);
- { uint32_t x114; uint8_t x115 = _subborrow_u32(x112, x72, 0xffffffff, &x114);
- { uint32_t x117; uint8_t x118 = _subborrow_u32(x115, x75, 0xffffffff, &x117);
- { uint32_t x120; uint8_t x121 = _subborrow_u32(x118, x78, 0xfffffffe, &x120);
- { uint32_t x123; uint8_t x124 = _subborrow_u32(x121, x81, 0xffffffff, &x123);
- { uint32_t x126; uint8_t x127 = _subborrow_u32(x124, x84, 0xffffffff, &x126);
- { uint32_t x129; uint8_t x130 = _subborrow_u32(x127, x87, 0xffffffff, &x129);
- { uint32_t x132; uint8_t x133 = _subborrow_u32(x130, x90, 0xffffffff, &x132);
- { uint32_t x135; uint8_t x136 = _subborrow_u32(x133, x93, 0xffffffff, &x135);
- { uint32_t x138; uint8_t x139 = _subborrow_u32(x136, x96, 0xffffffff, &x138);
- { uint32_t _; uint8_t x142 = _subborrow_u32(x139, x97, 0x0, &_);
- { uint32_t x143 = cmovznz32(x142, x138, x96);
- { uint32_t x144 = cmovznz32(x142, x135, x93);
- { uint32_t x145 = cmovznz32(x142, x132, x90);
- { uint32_t x146 = cmovznz32(x142, x129, x87);
- { uint32_t x147 = cmovznz32(x142, x126, x84);
- { uint32_t x148 = cmovznz32(x142, x123, x81);
- { uint32_t x149 = cmovznz32(x142, x120, x78);
- { uint32_t x150 = cmovznz32(x142, x117, x75);
- { uint32_t x151 = cmovznz32(x142, x114, x72);
- { uint32_t x152 = cmovznz32(x142, x111, x69);
- { uint32_t x153 = cmovznz32(x142, x108, x66);
- { uint32_t x154 = cmovznz32(x142, x105, x63);
- { uint32_t x155 = cmovznz32(x142, x102, x60);
- { uint32_t x156 = cmovznz32(x142, x99, x57);
- out[0] = x156;
- out[1] = x155;
- out[2] = x154;
- out[3] = x153;
- out[4] = x152;
- out[5] = x151;
- out[6] = x150;
- out[7] = x149;
- out[8] = x148;
- out[9] = x147;
- out[10] = x146;
- out[11] = x145;
- out[12] = x144;
- out[13] = x143;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.v
deleted file mode 100644
index c1e308867..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.log b/src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.log
deleted file mode 100644
index 71a9485c1..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.log
+++ /dev/null
@@ -1,50 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x5, x31);
- uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x7, x33);
- uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x9, x35);
- uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x11, x37);
- uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x13, x39);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x15, x41);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x17, x43);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x19, x45);
- uint32_t x81, uint8_t x82 = addcarryx_u32(x79, x21, x47);
- uint32_t x84, uint8_t x85 = addcarryx_u32(x82, x23, x49);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x25, x51);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x27, x53);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x29, x55);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x28, x54);
- uint32_t x99, uint8_t x100 = subborrow_u32(0x0, x57, 0xffffffff);
- uint32_t x102, uint8_t x103 = subborrow_u32(x100, x60, 0xffffffff);
- uint32_t x105, uint8_t x106 = subborrow_u32(x103, x63, 0xffffffff);
- uint32_t x108, uint8_t x109 = subborrow_u32(x106, x66, 0xffffffff);
- uint32_t x111, uint8_t x112 = subborrow_u32(x109, x69, 0xffffffff);
- uint32_t x114, uint8_t x115 = subborrow_u32(x112, x72, 0xffffffff);
- uint32_t x117, uint8_t x118 = subborrow_u32(x115, x75, 0xffffffff);
- uint32_t x120, uint8_t x121 = subborrow_u32(x118, x78, 0xfffffffe);
- uint32_t x123, uint8_t x124 = subborrow_u32(x121, x81, 0xffffffff);
- uint32_t x126, uint8_t x127 = subborrow_u32(x124, x84, 0xffffffff);
- uint32_t x129, uint8_t x130 = subborrow_u32(x127, x87, 0xffffffff);
- uint32_t x132, uint8_t x133 = subborrow_u32(x130, x90, 0xffffffff);
- uint32_t x135, uint8_t x136 = subborrow_u32(x133, x93, 0xffffffff);
- uint32_t x138, uint8_t x139 = subborrow_u32(x136, x96, 0xffffffff);
- uint32_t _, uint8_t x142 = subborrow_u32(x139, x97, 0x0);
- uint32_t x143 = cmovznz32(x142, x138, x96);
- uint32_t x144 = cmovznz32(x142, x135, x93);
- uint32_t x145 = cmovznz32(x142, x132, x90);
- uint32_t x146 = cmovznz32(x142, x129, x87);
- uint32_t x147 = cmovznz32(x142, x126, x84);
- uint32_t x148 = cmovznz32(x142, x123, x81);
- uint32_t x149 = cmovznz32(x142, x120, x78);
- uint32_t x150 = cmovznz32(x142, x117, x75);
- uint32_t x151 = cmovznz32(x142, x114, x72);
- uint32_t x152 = cmovznz32(x142, x111, x69);
- uint32_t x153 = cmovznz32(x142, x108, x66);
- uint32_t x154 = cmovznz32(x142, x105, x63);
- uint32_t x155 = cmovznz32(x142, x102, x60);
- uint32_t x156 = cmovznz32(x142, x99, x57);
- return (x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155, x156))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.v
deleted file mode 100644
index 070d26dba..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/femul.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/femul.v
deleted file mode 100644
index 054557c78..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/femulDisplay.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/femulDisplay.v
deleted file mode 100644
index 45a9db438..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.c b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.c
deleted file mode 100644
index 42fc27af3..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.c
+++ /dev/null
@@ -1,31 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x27 = (x26 | x25);
- { uint32_t x28 = (x24 | x27);
- { uint32_t x29 = (x22 | x28);
- { uint32_t x30 = (x20 | x29);
- { uint32_t x31 = (x18 | x30);
- { uint32_t x32 = (x16 | x31);
- { uint32_t x33 = (x14 | x32);
- { uint32_t x34 = (x12 | x33);
- { uint32_t x35 = (x10 | x34);
- { uint32_t x36 = (x8 | x35);
- { uint32_t x37 = (x6 | x36);
- { uint32_t x38 = (x4 | x37);
- { uint32_t x39 = (x2 | x38);
- out[0] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.v
deleted file mode 100644
index 2815d6e08..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.log b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.log
deleted file mode 100644
index 265fc8b8c..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x27 = (x26 | x25);
- uint32_t x28 = (x24 | x27);
- uint32_t x29 = (x22 | x28);
- uint32_t x30 = (x20 | x29);
- uint32_t x31 = (x18 | x30);
- uint32_t x32 = (x16 | x31);
- uint32_t x33 = (x14 | x32);
- uint32_t x34 = (x12 | x33);
- uint32_t x35 = (x10 | x34);
- uint32_t x36 = (x8 | x35);
- uint32_t x37 = (x6 | x36);
- uint32_t x38 = (x4 | x37);
- uint32_t x39 = (x2 | x38);
- return x39)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.v
deleted file mode 100644
index 05b3cabdf..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feopp.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/feopp.v
deleted file mode 100644
index ea57ad51d..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feoppDisplay.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/feoppDisplay.v
deleted file mode 100644
index 37adbbacc..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesub.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesub.v
deleted file mode 100644
index dd3a13647..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesubDisplay.v b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesubDisplay.v
deleted file mode 100644
index eb0b7a879..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e448m2e224m1_14limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/py_interpreter.sh b/src/Specific/montgomery32_2e448m2e224m1_14limbs/py_interpreter.sh
deleted file mode 100755
index 7485cb514..000000000
--- a/src/Specific/montgomery32_2e448m2e224m1_14limbs/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='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/CurveParameters.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/CurveParameters.v
deleted file mode 100644
index ad40479c6..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^450 - 2^225 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 32;
- bitwidth := 32;
- s := 2^450;
- c := [(1, 1); (2^225, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e450m2e225m1_15limbs/Synthesis.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/Synthesis.v
deleted file mode 100644
index b93b0e892..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.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/montgomery32_2e450m2e225m1_15limbs/compiler.sh b/src/Specific/montgomery32_2e450m2e225m1_15limbs/compiler.sh
deleted file mode 100755
index b53bd3504..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/compilerxx.sh b/src/Specific/montgomery32_2e450m2e225m1_15limbs/compilerxx.sh
deleted file mode 100755
index 37cbf164c..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.c b/src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.c
deleted file mode 100644
index 3fad66efb..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(0x0, x5, x33, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x7, x35, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x9, x37, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x11, x39, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x13, x41, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x15, x43, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x17, x45, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x19, x47, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x21, x49, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x23, x51, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x25, x53, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x27, x55, &x94);
- { uint32_t x97; uint8_t x98 = _addcarryx_u32(x95, x29, x57, &x97);
- { uint32_t x100; uint8_t x101 = _addcarryx_u32(x98, x31, x59, &x100);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x30, x58, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(0x0, x61, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x64, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x67, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x70, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x73, 0xffffffff, &x118);
- { uint32_t x121; uint8_t x122 = _subborrow_u32(x119, x76, 0xffffffff, &x121);
- { uint32_t x124; uint8_t x125 = _subborrow_u32(x122, x79, 0xffffffff, &x124);
- { uint32_t x127; uint8_t x128 = _subborrow_u32(x125, x82, 0xfffffffd, &x127);
- { uint32_t x130; uint8_t x131 = _subborrow_u32(x128, x85, 0xffffffff, &x130);
- { uint32_t x133; uint8_t x134 = _subborrow_u32(x131, x88, 0xffffffff, &x133);
- { uint32_t x136; uint8_t x137 = _subborrow_u32(x134, x91, 0xffffffff, &x136);
- { uint32_t x139; uint8_t x140 = _subborrow_u32(x137, x94, 0xffffffff, &x139);
- { uint32_t x142; uint8_t x143 = _subborrow_u32(x140, x97, 0xffffffff, &x142);
- { uint32_t x145; uint8_t x146 = _subborrow_u32(x143, x100, 0xffffffff, &x145);
- { uint32_t x148; uint8_t x149 = _subborrow_u32(x146, x103, 0x3, &x148);
- { uint32_t _; uint8_t x152 = _subborrow_u32(x149, x104, 0x0, &_);
- { uint32_t x153 = cmovznz32(x152, x148, x103);
- { uint32_t x154 = cmovznz32(x152, x145, x100);
- { uint32_t x155 = cmovznz32(x152, x142, x97);
- { uint32_t x156 = cmovznz32(x152, x139, x94);
- { uint32_t x157 = cmovznz32(x152, x136, x91);
- { uint32_t x158 = cmovznz32(x152, x133, x88);
- { uint32_t x159 = cmovznz32(x152, x130, x85);
- { uint32_t x160 = cmovznz32(x152, x127, x82);
- { uint32_t x161 = cmovznz32(x152, x124, x79);
- { uint32_t x162 = cmovznz32(x152, x121, x76);
- { uint32_t x163 = cmovznz32(x152, x118, x73);
- { uint32_t x164 = cmovznz32(x152, x115, x70);
- { uint32_t x165 = cmovznz32(x152, x112, x67);
- { uint32_t x166 = cmovznz32(x152, x109, x64);
- { uint32_t x167 = cmovznz32(x152, x106, x61);
- out[0] = x167;
- out[1] = x166;
- out[2] = x165;
- out[3] = x164;
- out[4] = x163;
- out[5] = x162;
- out[6] = x161;
- out[7] = x160;
- out[8] = x159;
- out[9] = x158;
- out[10] = x157;
- out[11] = x156;
- out[12] = x155;
- out[13] = x154;
- out[14] = x153;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.v
deleted file mode 100644
index 0b1f83d64..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.log b/src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.log
deleted file mode 100644
index 5315b7fe3..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
- uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
- uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
- uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
- uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
- uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
- uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xfffffffd);
- uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
- uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
- uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
- uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
- uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
- uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
- uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0x3);
- uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
- uint32_t x153 = cmovznz32(x152, x148, x103);
- uint32_t x154 = cmovznz32(x152, x145, x100);
- uint32_t x155 = cmovznz32(x152, x142, x97);
- uint32_t x156 = cmovznz32(x152, x139, x94);
- uint32_t x157 = cmovznz32(x152, x136, x91);
- uint32_t x158 = cmovznz32(x152, x133, x88);
- uint32_t x159 = cmovznz32(x152, x130, x85);
- uint32_t x160 = cmovznz32(x152, x127, x82);
- uint32_t x161 = cmovznz32(x152, x124, x79);
- uint32_t x162 = cmovznz32(x152, x121, x76);
- uint32_t x163 = cmovznz32(x152, x118, x73);
- uint32_t x164 = cmovznz32(x152, x115, x70);
- uint32_t x165 = cmovznz32(x152, x112, x67);
- uint32_t x166 = cmovznz32(x152, x109, x64);
- uint32_t x167 = cmovznz32(x152, x106, x61);
- return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.v
deleted file mode 100644
index 80bbee60f..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/femul.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/femul.v
deleted file mode 100644
index 49be40cc9..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/femulDisplay.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/femulDisplay.v
deleted file mode 100644
index 4057056b8..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.c b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.c
deleted file mode 100644
index d66853caf..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (x28 | x27);
- { uint32_t x30 = (x26 | x29);
- { uint32_t x31 = (x24 | x30);
- { uint32_t x32 = (x22 | x31);
- { uint32_t x33 = (x20 | x32);
- { uint32_t x34 = (x18 | x33);
- { uint32_t x35 = (x16 | x34);
- { uint32_t x36 = (x14 | x35);
- { uint32_t x37 = (x12 | x36);
- { uint32_t x38 = (x10 | x37);
- { uint32_t x39 = (x8 | x38);
- { uint32_t x40 = (x6 | x39);
- { uint32_t x41 = (x4 | x40);
- { uint32_t x42 = (x2 | x41);
- out[0] = x42;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.v
deleted file mode 100644
index 5d4164569..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.log b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.log
deleted file mode 100644
index 8907c292b..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.log
+++ /dev/null
@@ -1,21 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x29 = (x28 | x27);
- uint32_t x30 = (x26 | x29);
- uint32_t x31 = (x24 | x30);
- uint32_t x32 = (x22 | x31);
- uint32_t x33 = (x20 | x32);
- uint32_t x34 = (x18 | x33);
- uint32_t x35 = (x16 | x34);
- uint32_t x36 = (x14 | x35);
- uint32_t x37 = (x12 | x36);
- uint32_t x38 = (x10 | x37);
- uint32_t x39 = (x8 | x38);
- uint32_t x40 = (x6 | x39);
- uint32_t x41 = (x4 | x40);
- uint32_t x42 = (x2 | x41);
- return x42)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.v
deleted file mode 100644
index 02aba4332..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feopp.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/feopp.v
deleted file mode 100644
index 50cc53453..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feoppDisplay.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/feoppDisplay.v
deleted file mode 100644
index 8adcfae5e..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesub.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesub.v
deleted file mode 100644
index fe0611b08..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesubDisplay.v b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesubDisplay.v
deleted file mode 100644
index 862043852..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e450m2e225m1_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/py_interpreter.sh b/src/Specific/montgomery32_2e450m2e225m1_15limbs/py_interpreter.sh
deleted file mode 100755
index 7129814fc..000000000
--- a/src/Specific/montgomery32_2e450m2e225m1_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**450 - 2**225 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/CurveParameters.v b/src/Specific/montgomery32_2e452m3_15limbs/CurveParameters.v
deleted file mode 100644
index bc18572bd..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^452 - 3
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 32;
- bitwidth := 32;
- s := 2^452;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e452m3_15limbs/Synthesis.v b/src/Specific/montgomery32_2e452m3_15limbs/Synthesis.v
deleted file mode 100644
index bddb2fd2a..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.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/montgomery32_2e452m3_15limbs/compiler.sh b/src/Specific/montgomery32_2e452m3_15limbs/compiler.sh
deleted file mode 100755
index 04c8bef40..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/compilerxx.sh b/src/Specific/montgomery32_2e452m3_15limbs/compilerxx.sh
deleted file mode 100755
index e740d5e37..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/feadd.c b/src/Specific/montgomery32_2e452m3_15limbs/feadd.c
deleted file mode 100644
index d9de15f48..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/feadd.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(0x0, x5, x33, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x7, x35, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x9, x37, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x11, x39, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x13, x41, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x15, x43, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x17, x45, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x19, x47, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x21, x49, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x23, x51, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x25, x53, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x27, x55, &x94);
- { uint32_t x97; uint8_t x98 = _addcarryx_u32(x95, x29, x57, &x97);
- { uint32_t x100; uint8_t x101 = _addcarryx_u32(x98, x31, x59, &x100);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x30, x58, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(0x0, x61, 0xfffffffd, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x64, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x67, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x70, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x73, 0xffffffff, &x118);
- { uint32_t x121; uint8_t x122 = _subborrow_u32(x119, x76, 0xffffffff, &x121);
- { uint32_t x124; uint8_t x125 = _subborrow_u32(x122, x79, 0xffffffff, &x124);
- { uint32_t x127; uint8_t x128 = _subborrow_u32(x125, x82, 0xffffffff, &x127);
- { uint32_t x130; uint8_t x131 = _subborrow_u32(x128, x85, 0xffffffff, &x130);
- { uint32_t x133; uint8_t x134 = _subborrow_u32(x131, x88, 0xffffffff, &x133);
- { uint32_t x136; uint8_t x137 = _subborrow_u32(x134, x91, 0xffffffff, &x136);
- { uint32_t x139; uint8_t x140 = _subborrow_u32(x137, x94, 0xffffffff, &x139);
- { uint32_t x142; uint8_t x143 = _subborrow_u32(x140, x97, 0xffffffff, &x142);
- { uint32_t x145; uint8_t x146 = _subborrow_u32(x143, x100, 0xffffffff, &x145);
- { uint32_t x148; uint8_t x149 = _subborrow_u32(x146, x103, 0xf, &x148);
- { uint32_t _; uint8_t x152 = _subborrow_u32(x149, x104, 0x0, &_);
- { uint32_t x153 = cmovznz32(x152, x148, x103);
- { uint32_t x154 = cmovznz32(x152, x145, x100);
- { uint32_t x155 = cmovznz32(x152, x142, x97);
- { uint32_t x156 = cmovznz32(x152, x139, x94);
- { uint32_t x157 = cmovznz32(x152, x136, x91);
- { uint32_t x158 = cmovznz32(x152, x133, x88);
- { uint32_t x159 = cmovznz32(x152, x130, x85);
- { uint32_t x160 = cmovznz32(x152, x127, x82);
- { uint32_t x161 = cmovznz32(x152, x124, x79);
- { uint32_t x162 = cmovznz32(x152, x121, x76);
- { uint32_t x163 = cmovznz32(x152, x118, x73);
- { uint32_t x164 = cmovznz32(x152, x115, x70);
- { uint32_t x165 = cmovznz32(x152, x112, x67);
- { uint32_t x166 = cmovznz32(x152, x109, x64);
- { uint32_t x167 = cmovznz32(x152, x106, x61);
- out[0] = x167;
- out[1] = x166;
- out[2] = x165;
- out[3] = x164;
- out[4] = x163;
- out[5] = x162;
- out[6] = x161;
- out[7] = x160;
- out[8] = x159;
- out[9] = x158;
- out[10] = x157;
- out[11] = x156;
- out[12] = x155;
- out[13] = x154;
- out[14] = x153;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/feadd.v b/src/Specific/montgomery32_2e452m3_15limbs/feadd.v
deleted file mode 100644
index 1db485153..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.log b/src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.log
deleted file mode 100644
index 853ad2718..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
- uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
- uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
- uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xfffffffd);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
- uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
- uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
- uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xffffffff);
- uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
- uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
- uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
- uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
- uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
- uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
- uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0xf);
- uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
- uint32_t x153 = cmovznz32(x152, x148, x103);
- uint32_t x154 = cmovznz32(x152, x145, x100);
- uint32_t x155 = cmovznz32(x152, x142, x97);
- uint32_t x156 = cmovznz32(x152, x139, x94);
- uint32_t x157 = cmovznz32(x152, x136, x91);
- uint32_t x158 = cmovznz32(x152, x133, x88);
- uint32_t x159 = cmovznz32(x152, x130, x85);
- uint32_t x160 = cmovznz32(x152, x127, x82);
- uint32_t x161 = cmovznz32(x152, x124, x79);
- uint32_t x162 = cmovznz32(x152, x121, x76);
- uint32_t x163 = cmovznz32(x152, x118, x73);
- uint32_t x164 = cmovznz32(x152, x115, x70);
- uint32_t x165 = cmovznz32(x152, x112, x67);
- uint32_t x166 = cmovznz32(x152, x109, x64);
- uint32_t x167 = cmovznz32(x152, x106, x61);
- return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.v b/src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.v
deleted file mode 100644
index 2772e6928..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/femul.v b/src/Specific/montgomery32_2e452m3_15limbs/femul.v
deleted file mode 100644
index abaf9cb73..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/femulDisplay.v b/src/Specific/montgomery32_2e452m3_15limbs/femulDisplay.v
deleted file mode 100644
index ed9d3a85e..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fenz.c b/src/Specific/montgomery32_2e452m3_15limbs/fenz.c
deleted file mode 100644
index d66853caf..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fenz.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (x28 | x27);
- { uint32_t x30 = (x26 | x29);
- { uint32_t x31 = (x24 | x30);
- { uint32_t x32 = (x22 | x31);
- { uint32_t x33 = (x20 | x32);
- { uint32_t x34 = (x18 | x33);
- { uint32_t x35 = (x16 | x34);
- { uint32_t x36 = (x14 | x35);
- { uint32_t x37 = (x12 | x36);
- { uint32_t x38 = (x10 | x37);
- { uint32_t x39 = (x8 | x38);
- { uint32_t x40 = (x6 | x39);
- { uint32_t x41 = (x4 | x40);
- { uint32_t x42 = (x2 | x41);
- out[0] = x42;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fenz.v b/src/Specific/montgomery32_2e452m3_15limbs/fenz.v
deleted file mode 100644
index 20d17e800..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.log b/src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.log
deleted file mode 100644
index 8907c292b..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.log
+++ /dev/null
@@ -1,21 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x29 = (x28 | x27);
- uint32_t x30 = (x26 | x29);
- uint32_t x31 = (x24 | x30);
- uint32_t x32 = (x22 | x31);
- uint32_t x33 = (x20 | x32);
- uint32_t x34 = (x18 | x33);
- uint32_t x35 = (x16 | x34);
- uint32_t x36 = (x14 | x35);
- uint32_t x37 = (x12 | x36);
- uint32_t x38 = (x10 | x37);
- uint32_t x39 = (x8 | x38);
- uint32_t x40 = (x6 | x39);
- uint32_t x41 = (x4 | x40);
- uint32_t x42 = (x2 | x41);
- return x42)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.v b/src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.v
deleted file mode 100644
index 39797abc9..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/feopp.v b/src/Specific/montgomery32_2e452m3_15limbs/feopp.v
deleted file mode 100644
index ee247668c..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/feoppDisplay.v b/src/Specific/montgomery32_2e452m3_15limbs/feoppDisplay.v
deleted file mode 100644
index f4f483596..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fesquare.c b/src/Specific/montgomery32_2e452m3_15limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fesub.v b/src/Specific/montgomery32_2e452m3_15limbs/fesub.v
deleted file mode 100644
index a710bfde7..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fesubDisplay.v b/src/Specific/montgomery32_2e452m3_15limbs/fesubDisplay.v
deleted file mode 100644
index e9406db01..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e452m3_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/py_interpreter.sh b/src/Specific/montgomery32_2e452m3_15limbs/py_interpreter.sh
deleted file mode 100755
index 4c5c4c1f8..000000000
--- a/src/Specific/montgomery32_2e452m3_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**452 - 3' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/CurveParameters.v b/src/Specific/montgomery32_2e468m17_15limbs/CurveParameters.v
deleted file mode 100644
index 3f2a2d057..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^468 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 32;
- bitwidth := 32;
- s := 2^468;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e468m17_15limbs/Synthesis.v b/src/Specific/montgomery32_2e468m17_15limbs/Synthesis.v
deleted file mode 100644
index 28df8e038..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.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/montgomery32_2e468m17_15limbs/compiler.sh b/src/Specific/montgomery32_2e468m17_15limbs/compiler.sh
deleted file mode 100755
index 7e39e69c2..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/compilerxx.sh b/src/Specific/montgomery32_2e468m17_15limbs/compilerxx.sh
deleted file mode 100755
index 650b04aed..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/feadd.c b/src/Specific/montgomery32_2e468m17_15limbs/feadd.c
deleted file mode 100644
index 0ca8876bd..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/feadd.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(0x0, x5, x33, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x7, x35, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x9, x37, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x11, x39, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x13, x41, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x15, x43, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x17, x45, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x19, x47, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x21, x49, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x23, x51, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x25, x53, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x27, x55, &x94);
- { uint32_t x97; uint8_t x98 = _addcarryx_u32(x95, x29, x57, &x97);
- { uint32_t x100; uint8_t x101 = _addcarryx_u32(x98, x31, x59, &x100);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x30, x58, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(0x0, x61, 0xffffffef, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x64, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x67, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x70, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x73, 0xffffffff, &x118);
- { uint32_t x121; uint8_t x122 = _subborrow_u32(x119, x76, 0xffffffff, &x121);
- { uint32_t x124; uint8_t x125 = _subborrow_u32(x122, x79, 0xffffffff, &x124);
- { uint32_t x127; uint8_t x128 = _subborrow_u32(x125, x82, 0xffffffff, &x127);
- { uint32_t x130; uint8_t x131 = _subborrow_u32(x128, x85, 0xffffffff, &x130);
- { uint32_t x133; uint8_t x134 = _subborrow_u32(x131, x88, 0xffffffff, &x133);
- { uint32_t x136; uint8_t x137 = _subborrow_u32(x134, x91, 0xffffffff, &x136);
- { uint32_t x139; uint8_t x140 = _subborrow_u32(x137, x94, 0xffffffff, &x139);
- { uint32_t x142; uint8_t x143 = _subborrow_u32(x140, x97, 0xffffffff, &x142);
- { uint32_t x145; uint8_t x146 = _subborrow_u32(x143, x100, 0xffffffff, &x145);
- { uint32_t x148; uint8_t x149 = _subborrow_u32(x146, x103, 0xfffff, &x148);
- { uint32_t _; uint8_t x152 = _subborrow_u32(x149, x104, 0x0, &_);
- { uint32_t x153 = cmovznz32(x152, x148, x103);
- { uint32_t x154 = cmovznz32(x152, x145, x100);
- { uint32_t x155 = cmovznz32(x152, x142, x97);
- { uint32_t x156 = cmovznz32(x152, x139, x94);
- { uint32_t x157 = cmovznz32(x152, x136, x91);
- { uint32_t x158 = cmovznz32(x152, x133, x88);
- { uint32_t x159 = cmovznz32(x152, x130, x85);
- { uint32_t x160 = cmovznz32(x152, x127, x82);
- { uint32_t x161 = cmovznz32(x152, x124, x79);
- { uint32_t x162 = cmovznz32(x152, x121, x76);
- { uint32_t x163 = cmovznz32(x152, x118, x73);
- { uint32_t x164 = cmovznz32(x152, x115, x70);
- { uint32_t x165 = cmovznz32(x152, x112, x67);
- { uint32_t x166 = cmovznz32(x152, x109, x64);
- { uint32_t x167 = cmovznz32(x152, x106, x61);
- out[0] = x167;
- out[1] = x166;
- out[2] = x165;
- out[3] = x164;
- out[4] = x163;
- out[5] = x162;
- out[6] = x161;
- out[7] = x160;
- out[8] = x159;
- out[9] = x158;
- out[10] = x157;
- out[11] = x156;
- out[12] = x155;
- out[13] = x154;
- out[14] = x153;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/feadd.v b/src/Specific/montgomery32_2e468m17_15limbs/feadd.v
deleted file mode 100644
index 91f007d4e..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.log b/src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.log
deleted file mode 100644
index 49636caac..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
- uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
- uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
- uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xffffffef);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
- uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
- uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
- uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xffffffff);
- uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
- uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
- uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
- uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
- uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
- uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
- uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0xfffff);
- uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
- uint32_t x153 = cmovznz32(x152, x148, x103);
- uint32_t x154 = cmovznz32(x152, x145, x100);
- uint32_t x155 = cmovznz32(x152, x142, x97);
- uint32_t x156 = cmovznz32(x152, x139, x94);
- uint32_t x157 = cmovznz32(x152, x136, x91);
- uint32_t x158 = cmovznz32(x152, x133, x88);
- uint32_t x159 = cmovznz32(x152, x130, x85);
- uint32_t x160 = cmovznz32(x152, x127, x82);
- uint32_t x161 = cmovznz32(x152, x124, x79);
- uint32_t x162 = cmovznz32(x152, x121, x76);
- uint32_t x163 = cmovznz32(x152, x118, x73);
- uint32_t x164 = cmovznz32(x152, x115, x70);
- uint32_t x165 = cmovznz32(x152, x112, x67);
- uint32_t x166 = cmovznz32(x152, x109, x64);
- uint32_t x167 = cmovznz32(x152, x106, x61);
- return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.v b/src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.v
deleted file mode 100644
index e67ffcf1f..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/femul.v b/src/Specific/montgomery32_2e468m17_15limbs/femul.v
deleted file mode 100644
index 71f5be9b8..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/femulDisplay.v b/src/Specific/montgomery32_2e468m17_15limbs/femulDisplay.v
deleted file mode 100644
index e4a2e53c3..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fenz.c b/src/Specific/montgomery32_2e468m17_15limbs/fenz.c
deleted file mode 100644
index d66853caf..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fenz.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (x28 | x27);
- { uint32_t x30 = (x26 | x29);
- { uint32_t x31 = (x24 | x30);
- { uint32_t x32 = (x22 | x31);
- { uint32_t x33 = (x20 | x32);
- { uint32_t x34 = (x18 | x33);
- { uint32_t x35 = (x16 | x34);
- { uint32_t x36 = (x14 | x35);
- { uint32_t x37 = (x12 | x36);
- { uint32_t x38 = (x10 | x37);
- { uint32_t x39 = (x8 | x38);
- { uint32_t x40 = (x6 | x39);
- { uint32_t x41 = (x4 | x40);
- { uint32_t x42 = (x2 | x41);
- out[0] = x42;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fenz.v b/src/Specific/montgomery32_2e468m17_15limbs/fenz.v
deleted file mode 100644
index 85427c9a0..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.log b/src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.log
deleted file mode 100644
index 8907c292b..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.log
+++ /dev/null
@@ -1,21 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x29 = (x28 | x27);
- uint32_t x30 = (x26 | x29);
- uint32_t x31 = (x24 | x30);
- uint32_t x32 = (x22 | x31);
- uint32_t x33 = (x20 | x32);
- uint32_t x34 = (x18 | x33);
- uint32_t x35 = (x16 | x34);
- uint32_t x36 = (x14 | x35);
- uint32_t x37 = (x12 | x36);
- uint32_t x38 = (x10 | x37);
- uint32_t x39 = (x8 | x38);
- uint32_t x40 = (x6 | x39);
- uint32_t x41 = (x4 | x40);
- uint32_t x42 = (x2 | x41);
- return x42)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.v b/src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.v
deleted file mode 100644
index e242c5f5d..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/feopp.v b/src/Specific/montgomery32_2e468m17_15limbs/feopp.v
deleted file mode 100644
index 40484e87f..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/feoppDisplay.v b/src/Specific/montgomery32_2e468m17_15limbs/feoppDisplay.v
deleted file mode 100644
index 91a273b7d..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fesquare.c b/src/Specific/montgomery32_2e468m17_15limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fesub.v b/src/Specific/montgomery32_2e468m17_15limbs/fesub.v
deleted file mode 100644
index 69d6b56f6..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fesubDisplay.v b/src/Specific/montgomery32_2e468m17_15limbs/fesubDisplay.v
deleted file mode 100644
index 2276c4fbc..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e468m17_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/py_interpreter.sh b/src/Specific/montgomery32_2e468m17_15limbs/py_interpreter.sh
deleted file mode 100755
index 7bdf454ae..000000000
--- a/src/Specific/montgomery32_2e468m17_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**468 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/CurveParameters.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/CurveParameters.v
deleted file mode 100644
index df2d34dd7..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^480 - 2^240 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 32;
- bitwidth := 32;
- s := 2^480;
- c := [(1, 1); (2^240, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e480m2e240m1_15limbs/Synthesis.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/Synthesis.v
deleted file mode 100644
index 6a6551985..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.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/montgomery32_2e480m2e240m1_15limbs/compiler.sh b/src/Specific/montgomery32_2e480m2e240m1_15limbs/compiler.sh
deleted file mode 100755
index 897051c3d..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/compilerxx.sh b/src/Specific/montgomery32_2e480m2e240m1_15limbs/compilerxx.sh
deleted file mode 100755
index e65b740d7..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.c b/src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.c
deleted file mode 100644
index d56ddb00f..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint32_t x61; uint8_t x62 = _addcarryx_u32(0x0, x5, x33, &x61);
- { uint32_t x64; uint8_t x65 = _addcarryx_u32(x62, x7, x35, &x64);
- { uint32_t x67; uint8_t x68 = _addcarryx_u32(x65, x9, x37, &x67);
- { uint32_t x70; uint8_t x71 = _addcarryx_u32(x68, x11, x39, &x70);
- { uint32_t x73; uint8_t x74 = _addcarryx_u32(x71, x13, x41, &x73);
- { uint32_t x76; uint8_t x77 = _addcarryx_u32(x74, x15, x43, &x76);
- { uint32_t x79; uint8_t x80 = _addcarryx_u32(x77, x17, x45, &x79);
- { uint32_t x82; uint8_t x83 = _addcarryx_u32(x80, x19, x47, &x82);
- { uint32_t x85; uint8_t x86 = _addcarryx_u32(x83, x21, x49, &x85);
- { uint32_t x88; uint8_t x89 = _addcarryx_u32(x86, x23, x51, &x88);
- { uint32_t x91; uint8_t x92 = _addcarryx_u32(x89, x25, x53, &x91);
- { uint32_t x94; uint8_t x95 = _addcarryx_u32(x92, x27, x55, &x94);
- { uint32_t x97; uint8_t x98 = _addcarryx_u32(x95, x29, x57, &x97);
- { uint32_t x100; uint8_t x101 = _addcarryx_u32(x98, x31, x59, &x100);
- { uint32_t x103; uint8_t x104 = _addcarryx_u32(x101, x30, x58, &x103);
- { uint32_t x106; uint8_t x107 = _subborrow_u32(0x0, x61, 0xffffffff, &x106);
- { uint32_t x109; uint8_t x110 = _subborrow_u32(x107, x64, 0xffffffff, &x109);
- { uint32_t x112; uint8_t x113 = _subborrow_u32(x110, x67, 0xffffffff, &x112);
- { uint32_t x115; uint8_t x116 = _subborrow_u32(x113, x70, 0xffffffff, &x115);
- { uint32_t x118; uint8_t x119 = _subborrow_u32(x116, x73, 0xffffffff, &x118);
- { uint32_t x121; uint8_t x122 = _subborrow_u32(x119, x76, 0xffffffff, &x121);
- { uint32_t x124; uint8_t x125 = _subborrow_u32(x122, x79, 0xffffffff, &x124);
- { uint32_t x127; uint8_t x128 = _subborrow_u32(x125, x82, 0xfffeffff, &x127);
- { uint32_t x130; uint8_t x131 = _subborrow_u32(x128, x85, 0xffffffff, &x130);
- { uint32_t x133; uint8_t x134 = _subborrow_u32(x131, x88, 0xffffffff, &x133);
- { uint32_t x136; uint8_t x137 = _subborrow_u32(x134, x91, 0xffffffff, &x136);
- { uint32_t x139; uint8_t x140 = _subborrow_u32(x137, x94, 0xffffffff, &x139);
- { uint32_t x142; uint8_t x143 = _subborrow_u32(x140, x97, 0xffffffff, &x142);
- { uint32_t x145; uint8_t x146 = _subborrow_u32(x143, x100, 0xffffffff, &x145);
- { uint32_t x148; uint8_t x149 = _subborrow_u32(x146, x103, 0xffffffff, &x148);
- { uint32_t _; uint8_t x152 = _subborrow_u32(x149, x104, 0x0, &_);
- { uint32_t x153 = cmovznz32(x152, x148, x103);
- { uint32_t x154 = cmovznz32(x152, x145, x100);
- { uint32_t x155 = cmovznz32(x152, x142, x97);
- { uint32_t x156 = cmovznz32(x152, x139, x94);
- { uint32_t x157 = cmovznz32(x152, x136, x91);
- { uint32_t x158 = cmovznz32(x152, x133, x88);
- { uint32_t x159 = cmovznz32(x152, x130, x85);
- { uint32_t x160 = cmovznz32(x152, x127, x82);
- { uint32_t x161 = cmovznz32(x152, x124, x79);
- { uint32_t x162 = cmovznz32(x152, x121, x76);
- { uint32_t x163 = cmovznz32(x152, x118, x73);
- { uint32_t x164 = cmovznz32(x152, x115, x70);
- { uint32_t x165 = cmovznz32(x152, x112, x67);
- { uint32_t x166 = cmovznz32(x152, x109, x64);
- { uint32_t x167 = cmovznz32(x152, x106, x61);
- out[0] = x167;
- out[1] = x166;
- out[2] = x165;
- out[3] = x164;
- out[4] = x163;
- out[5] = x162;
- out[6] = x161;
- out[7] = x160;
- out[8] = x159;
- out[9] = x158;
- out[10] = x157;
- out[11] = x156;
- out[12] = x155;
- out[13] = x154;
- out[14] = x153;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.v
deleted file mode 100644
index 05b22310a..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.log b/src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.log
deleted file mode 100644
index 89d8ec5de..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
- uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
- uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
- uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
- uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
- uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
- uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
- uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
- uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
- uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
- uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
- uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
- uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
- uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
- uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
- uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xffffffff);
- uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
- uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
- uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
- uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
- uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
- uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
- uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xfffeffff);
- uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
- uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
- uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
- uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
- uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
- uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
- uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0xffffffff);
- uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
- uint32_t x153 = cmovznz32(x152, x148, x103);
- uint32_t x154 = cmovznz32(x152, x145, x100);
- uint32_t x155 = cmovznz32(x152, x142, x97);
- uint32_t x156 = cmovznz32(x152, x139, x94);
- uint32_t x157 = cmovznz32(x152, x136, x91);
- uint32_t x158 = cmovznz32(x152, x133, x88);
- uint32_t x159 = cmovznz32(x152, x130, x85);
- uint32_t x160 = cmovznz32(x152, x127, x82);
- uint32_t x161 = cmovznz32(x152, x124, x79);
- uint32_t x162 = cmovznz32(x152, x121, x76);
- uint32_t x163 = cmovznz32(x152, x118, x73);
- uint32_t x164 = cmovznz32(x152, x115, x70);
- uint32_t x165 = cmovznz32(x152, x112, x67);
- uint32_t x166 = cmovznz32(x152, x109, x64);
- uint32_t x167 = cmovznz32(x152, x106, x61);
- return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
-(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 → 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)
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.v
deleted file mode 100644
index 8674277be..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/femul.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/femul.v
deleted file mode 100644
index 49cc90f7f..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/femulDisplay.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/femulDisplay.v
deleted file mode 100644
index 4651a41f2..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.c b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.c
deleted file mode 100644
index d66853caf..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (x28 | x27);
- { uint32_t x30 = (x26 | x29);
- { uint32_t x31 = (x24 | x30);
- { uint32_t x32 = (x22 | x31);
- { uint32_t x33 = (x20 | x32);
- { uint32_t x34 = (x18 | x33);
- { uint32_t x35 = (x16 | x34);
- { uint32_t x36 = (x14 | x35);
- { uint32_t x37 = (x12 | x36);
- { uint32_t x38 = (x10 | x37);
- { uint32_t x39 = (x8 | x38);
- { uint32_t x40 = (x6 | x39);
- { uint32_t x41 = (x4 | x40);
- { uint32_t x42 = (x2 | x41);
- out[0] = x42;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.v
deleted file mode 100644
index 17142f7f7..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.log b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.log
deleted file mode 100644
index 8907c292b..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.log
+++ /dev/null
@@ -1,21 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x29 = (x28 | x27);
- uint32_t x30 = (x26 | x29);
- uint32_t x31 = (x24 | x30);
- uint32_t x32 = (x22 | x31);
- uint32_t x33 = (x20 | x32);
- uint32_t x34 = (x18 | x33);
- uint32_t x35 = (x16 | x34);
- uint32_t x36 = (x14 | x35);
- uint32_t x37 = (x12 | x36);
- uint32_t x38 = (x10 | x37);
- uint32_t x39 = (x8 | x38);
- uint32_t x40 = (x6 | x39);
- uint32_t x41 = (x4 | x40);
- uint32_t x42 = (x2 | x41);
- return x42)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.v
deleted file mode 100644
index c7ab1be50..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feopp.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/feopp.v
deleted file mode 100644
index 50799f314..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feoppDisplay.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/feoppDisplay.v
deleted file mode 100644
index f87a885cc..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesub.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesub.v
deleted file mode 100644
index 8a7d5d843..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesubDisplay.v b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesubDisplay.v
deleted file mode 100644
index 9e365c337..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e480m2e240m1_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/py_interpreter.sh b/src/Specific/montgomery32_2e480m2e240m1_15limbs/py_interpreter.sh
deleted file mode 100755
index a30165598..000000000
--- a/src/Specific/montgomery32_2e480m2e240m1_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**480 - 2**240 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e488m17_16limbs/CurveParameters.v
deleted file mode 100644
index 7e8ed034f..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^488 - 17
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^488;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e488m17_16limbs/Synthesis.v b/src/Specific/montgomery32_2e488m17_16limbs/Synthesis.v
deleted file mode 100644
index d41934183..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e488m17_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/montgomery32_2e488m17_16limbs/compiler.sh b/src/Specific/montgomery32_2e488m17_16limbs/compiler.sh
deleted file mode 100755
index 44b8265ec..000000000
--- a/src/Specific/montgomery32_2e488m17_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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e488m17_16limbs/compilerxx.sh
deleted file mode 100755
index 2d1fb577c..000000000
--- a/src/Specific/montgomery32_2e488m17_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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/feadd.c b/src/Specific/montgomery32_2e488m17_16limbs/feadd.c
deleted file mode 100644
index 302b84c35..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xffffffef, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0xff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/feadd.v b/src/Specific/montgomery32_2e488m17_16limbs/feadd.v
deleted file mode 100644
index efc60b647..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.log
deleted file mode 100644
index d29341a8b..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xffffffef);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0xff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e488m17_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.v
deleted file mode 100644
index a30c1ca31..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/femul.v b/src/Specific/montgomery32_2e488m17_16limbs/femul.v
deleted file mode 100644
index 58f8f9ee5..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e488m17_16limbs/femulDisplay.v
deleted file mode 100644
index 6e225c283..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fenz.c b/src/Specific/montgomery32_2e488m17_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fenz.v b/src/Specific/montgomery32_2e488m17_16limbs/fenz.v
deleted file mode 100644
index 7b4278763..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.v
deleted file mode 100644
index b9f64a0e6..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/feopp.v b/src/Specific/montgomery32_2e488m17_16limbs/feopp.v
deleted file mode 100644
index b62c2bec7..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e488m17_16limbs/feoppDisplay.v
deleted file mode 100644
index 3abae5741..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fesquare.c b/src/Specific/montgomery32_2e488m17_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fesub.v b/src/Specific/montgomery32_2e488m17_16limbs/fesub.v
deleted file mode 100644
index 04166afa0..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e488m17_16limbs/fesubDisplay.v
deleted file mode 100644
index ac40869e1..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e488m17_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e488m17_16limbs/py_interpreter.sh
deleted file mode 100755
index 218293b7d..000000000
--- a/src/Specific/montgomery32_2e488m17_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**488 - 17' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e489m21_16limbs/CurveParameters.v
deleted file mode 100644
index f73876229..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^489 - 21
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^489;
- c := [(1, 21)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e489m21_16limbs/Synthesis.v b/src/Specific/montgomery32_2e489m21_16limbs/Synthesis.v
deleted file mode 100644
index 7aeaecd07..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e489m21_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/montgomery32_2e489m21_16limbs/compiler.sh b/src/Specific/montgomery32_2e489m21_16limbs/compiler.sh
deleted file mode 100755
index 6844c3d95..000000000
--- a/src/Specific/montgomery32_2e489m21_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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e489m21_16limbs/compilerxx.sh
deleted file mode 100755
index 47ae4448a..000000000
--- a/src/Specific/montgomery32_2e489m21_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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/feadd.c b/src/Specific/montgomery32_2e489m21_16limbs/feadd.c
deleted file mode 100644
index 007a47660..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xffffffeb, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0x1ff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/feadd.v b/src/Specific/montgomery32_2e489m21_16limbs/feadd.v
deleted file mode 100644
index 7056a3afe..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.log
deleted file mode 100644
index bb1861938..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xffffffeb);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0x1ff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e489m21_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.v
deleted file mode 100644
index 2a7f7fdec..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/femul.v b/src/Specific/montgomery32_2e489m21_16limbs/femul.v
deleted file mode 100644
index 909983b32..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e489m21_16limbs/femulDisplay.v
deleted file mode 100644
index 2a90529ef..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fenz.c b/src/Specific/montgomery32_2e489m21_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fenz.v b/src/Specific/montgomery32_2e489m21_16limbs/fenz.v
deleted file mode 100644
index cc8c5f473..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.v
deleted file mode 100644
index cff6060a4..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/feopp.v b/src/Specific/montgomery32_2e489m21_16limbs/feopp.v
deleted file mode 100644
index 215633a3f..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e489m21_16limbs/feoppDisplay.v
deleted file mode 100644
index ed9b75c77..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fesquare.c b/src/Specific/montgomery32_2e489m21_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fesub.v b/src/Specific/montgomery32_2e489m21_16limbs/fesub.v
deleted file mode 100644
index 4ffe05566..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e489m21_16limbs/fesubDisplay.v
deleted file mode 100644
index a856c078f..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e489m21_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e489m21_16limbs/py_interpreter.sh
deleted file mode 100755
index d0d1ab9cf..000000000
--- a/src/Specific/montgomery32_2e489m21_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**489 - 21' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e495m31_16limbs/CurveParameters.v
deleted file mode 100644
index bcaa3e33b..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^495 - 31
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^495;
- c := [(1, 31)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e495m31_16limbs/Synthesis.v b/src/Specific/montgomery32_2e495m31_16limbs/Synthesis.v
deleted file mode 100644
index c177c1721..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e495m31_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/montgomery32_2e495m31_16limbs/compiler.sh b/src/Specific/montgomery32_2e495m31_16limbs/compiler.sh
deleted file mode 100755
index 454b3b5db..000000000
--- a/src/Specific/montgomery32_2e495m31_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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e495m31_16limbs/compilerxx.sh
deleted file mode 100755
index 7d5148624..000000000
--- a/src/Specific/montgomery32_2e495m31_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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/feadd.c b/src/Specific/montgomery32_2e495m31_16limbs/feadd.c
deleted file mode 100644
index 98ff25687..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xffffffe1, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0x7fff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/feadd.v b/src/Specific/montgomery32_2e495m31_16limbs/feadd.v
deleted file mode 100644
index 5319c4f28..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.log
deleted file mode 100644
index 7dc2014d6..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xffffffe1);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0x7fff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e495m31_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.v
deleted file mode 100644
index efa93a926..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/femul.v b/src/Specific/montgomery32_2e495m31_16limbs/femul.v
deleted file mode 100644
index f73f7fd73..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e495m31_16limbs/femulDisplay.v
deleted file mode 100644
index b41f7a64c..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fenz.c b/src/Specific/montgomery32_2e495m31_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fenz.v b/src/Specific/montgomery32_2e495m31_16limbs/fenz.v
deleted file mode 100644
index 82cce2442..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.v
deleted file mode 100644
index 9641e8ba6..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/feopp.v b/src/Specific/montgomery32_2e495m31_16limbs/feopp.v
deleted file mode 100644
index 704610e8e..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e495m31_16limbs/feoppDisplay.v
deleted file mode 100644
index cdffe1b57..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fesquare.c b/src/Specific/montgomery32_2e495m31_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fesub.v b/src/Specific/montgomery32_2e495m31_16limbs/fesub.v
deleted file mode 100644
index a77795c9b..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e495m31_16limbs/fesubDisplay.v
deleted file mode 100644
index 6add7acf4..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e495m31_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e495m31_16limbs/py_interpreter.sh
deleted file mode 100755
index 1b69eb239..000000000
--- a/src/Specific/montgomery32_2e495m31_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**495 - 31' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/CurveParameters.v
deleted file mode 100644
index 8dd31f795..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^510 - 290*2^496 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^510;
- c := [(1, 1); (290, 2^496)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e510m290x2e496m1_16limbs/Synthesis.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/Synthesis.v
deleted file mode 100644
index a51058007..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_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/montgomery32_2e510m290x2e496m1_16limbs/compiler.sh b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/compiler.sh
deleted file mode 100755
index b6155d473..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/compilerxx.sh
deleted file mode 100755
index dc962804e..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.c b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.c
deleted file mode 100644
index 9ad623033..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0x3eddffff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.v
deleted file mode 100644
index e66a17d0a..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.log
deleted file mode 100644
index 36c81d199..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0x3eddffff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.v
deleted file mode 100644
index f5411c7b9..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femul.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femul.v
deleted file mode 100644
index 2d0530515..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femulDisplay.v
deleted file mode 100644
index 6908019e6..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.c b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.v
deleted file mode 100644
index f28b6235b..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.v
deleted file mode 100644
index beb477c79..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feopp.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feopp.v
deleted file mode 100644
index ad725872f..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feoppDisplay.v
deleted file mode 100644
index 6ee281365..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesub.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesub.v
deleted file mode 100644
index dffd1a5e9..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesubDisplay.v
deleted file mode 100644
index 5819c30a6..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e510m290x2e496m1_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/py_interpreter.sh
deleted file mode 100755
index c7e51b970..000000000
--- a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**510 - 290*2**496 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e511m187_16limbs/CurveParameters.v
deleted file mode 100644
index 466621f72..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 187
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^511;
- c := [(1, 187)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e511m187_16limbs/Synthesis.v b/src/Specific/montgomery32_2e511m187_16limbs/Synthesis.v
deleted file mode 100644
index 9f3d257c0..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e511m187_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/montgomery32_2e511m187_16limbs/compiler.sh b/src/Specific/montgomery32_2e511m187_16limbs/compiler.sh
deleted file mode 100755
index 181d02550..000000000
--- a/src/Specific/montgomery32_2e511m187_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e511m187_16limbs/compilerxx.sh
deleted file mode 100755
index 2256f4d06..000000000
--- a/src/Specific/montgomery32_2e511m187_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/feadd.c b/src/Specific/montgomery32_2e511m187_16limbs/feadd.c
deleted file mode 100644
index ccbd5e348..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xffffff45, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0x7fffffff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/feadd.v b/src/Specific/montgomery32_2e511m187_16limbs/feadd.v
deleted file mode 100644
index 68f2c4961..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.log
deleted file mode 100644
index 59330b3bf..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xffffff45);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0x7fffffff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e511m187_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.v
deleted file mode 100644
index e0a27ff81..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/femul.v b/src/Specific/montgomery32_2e511m187_16limbs/femul.v
deleted file mode 100644
index df868580c..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e511m187_16limbs/femulDisplay.v
deleted file mode 100644
index c5ce90c96..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fenz.c b/src/Specific/montgomery32_2e511m187_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fenz.v b/src/Specific/montgomery32_2e511m187_16limbs/fenz.v
deleted file mode 100644
index d81ba93b0..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.v
deleted file mode 100644
index 0f8de2f53..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/feopp.v b/src/Specific/montgomery32_2e511m187_16limbs/feopp.v
deleted file mode 100644
index 2457e068b..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e511m187_16limbs/feoppDisplay.v
deleted file mode 100644
index 798bcd7af..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fesquare.c b/src/Specific/montgomery32_2e511m187_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fesub.v b/src/Specific/montgomery32_2e511m187_16limbs/fesub.v
deleted file mode 100644
index 99a4118e7..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e511m187_16limbs/fesubDisplay.v
deleted file mode 100644
index bd817251a..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m187_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e511m187_16limbs/py_interpreter.sh
deleted file mode 100755
index a906c0086..000000000
--- a/src/Specific/montgomery32_2e511m187_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 187' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e511m481_16limbs/CurveParameters.v
deleted file mode 100644
index 549de6e98..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 481
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^511;
- c := [(1, 481)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e511m481_16limbs/Synthesis.v b/src/Specific/montgomery32_2e511m481_16limbs/Synthesis.v
deleted file mode 100644
index 00f30f376..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e511m481_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/montgomery32_2e511m481_16limbs/compiler.sh b/src/Specific/montgomery32_2e511m481_16limbs/compiler.sh
deleted file mode 100755
index 467e507df..000000000
--- a/src/Specific/montgomery32_2e511m481_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e511m481_16limbs/compilerxx.sh
deleted file mode 100755
index 498d748e0..000000000
--- a/src/Specific/montgomery32_2e511m481_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/feadd.c b/src/Specific/montgomery32_2e511m481_16limbs/feadd.c
deleted file mode 100644
index 17497e041..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xfffffe1f, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0x7fffffff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/feadd.v b/src/Specific/montgomery32_2e511m481_16limbs/feadd.v
deleted file mode 100644
index a9e7ce2a6..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.log
deleted file mode 100644
index 08f7c6c17..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xfffffe1f);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0x7fffffff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e511m481_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.v
deleted file mode 100644
index 5e5d2032e..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/femul.v b/src/Specific/montgomery32_2e511m481_16limbs/femul.v
deleted file mode 100644
index fd00ae1bf..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e511m481_16limbs/femulDisplay.v
deleted file mode 100644
index 8d62e3686..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fenz.c b/src/Specific/montgomery32_2e511m481_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fenz.v b/src/Specific/montgomery32_2e511m481_16limbs/fenz.v
deleted file mode 100644
index ae3c406dd..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.v
deleted file mode 100644
index c79a45a35..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/feopp.v b/src/Specific/montgomery32_2e511m481_16limbs/feopp.v
deleted file mode 100644
index 5d5bd5e9d..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e511m481_16limbs/feoppDisplay.v
deleted file mode 100644
index fe6ac1921..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fesquare.c b/src/Specific/montgomery32_2e511m481_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fesub.v b/src/Specific/montgomery32_2e511m481_16limbs/fesub.v
deleted file mode 100644
index 8ce4861c1..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e511m481_16limbs/fesubDisplay.v
deleted file mode 100644
index 609d3c784..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e511m481_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e511m481_16limbs/py_interpreter.sh
deleted file mode 100755
index 7d2b63d36..000000000
--- a/src/Specific/montgomery32_2e511m481_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 481' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/CurveParameters.v
deleted file mode 100644
index 1ae4f17f9..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 491*2^496 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^512;
- c := [(1, 1); (491, 2^496)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e512m491x2e496m1_16limbs/Synthesis.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/Synthesis.v
deleted file mode 100644
index ed19bc17d..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_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/montgomery32_2e512m491x2e496m1_16limbs/compiler.sh b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/compiler.sh
deleted file mode 100755
index 0cdbf7285..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/compilerxx.sh
deleted file mode 100755
index 5546086f1..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.c b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.c
deleted file mode 100644
index b107d1c5e..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xffffffff, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0xfe14ffff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.v
deleted file mode 100644
index 9cb1f7c88..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.log
deleted file mode 100644
index e0fa0330d..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xffffffff);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0xfe14ffff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.v
deleted file mode 100644
index 5a905fe77..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femul.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femul.v
deleted file mode 100644
index c40c520c3..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femulDisplay.v
deleted file mode 100644
index 715f87c08..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.c b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.v
deleted file mode 100644
index d7c39fd66..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.v
deleted file mode 100644
index 767ac9a1e..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feopp.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feopp.v
deleted file mode 100644
index b944d8730..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feoppDisplay.v
deleted file mode 100644
index 94aebc1b3..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesub.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesub.v
deleted file mode 100644
index b05314489..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesubDisplay.v
deleted file mode 100644
index a7f04270e..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m491x2e496m1_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/py_interpreter.sh
deleted file mode 100755
index aa94ccb26..000000000
--- a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 491*2**496 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/CurveParameters.v b/src/Specific/montgomery32_2e512m569_16limbs/CurveParameters.v
deleted file mode 100644
index cb83eba64..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 569
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 32;
- bitwidth := 32;
- s := 2^512;
- c := [(1, 569)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e512m569_16limbs/Synthesis.v b/src/Specific/montgomery32_2e512m569_16limbs/Synthesis.v
deleted file mode 100644
index b2f247ba2..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e512m569_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/montgomery32_2e512m569_16limbs/compiler.sh b/src/Specific/montgomery32_2e512m569_16limbs/compiler.sh
deleted file mode 100755
index c6b78b443..000000000
--- a/src/Specific/montgomery32_2e512m569_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/compilerxx.sh b/src/Specific/montgomery32_2e512m569_16limbs/compilerxx.sh
deleted file mode 100755
index c9d5da527..000000000
--- a/src/Specific/montgomery32_2e512m569_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/feadd.c b/src/Specific/montgomery32_2e512m569_16limbs/feadd.c
deleted file mode 100644
index 60bca6599..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/feadd.c
+++ /dev/null
@@ -1,100 +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];
- { uint32_t x65; uint8_t x66 = _addcarryx_u32(0x0, x5, x35, &x65);
- { uint32_t x68; uint8_t x69 = _addcarryx_u32(x66, x7, x37, &x68);
- { uint32_t x71; uint8_t x72 = _addcarryx_u32(x69, x9, x39, &x71);
- { uint32_t x74; uint8_t x75 = _addcarryx_u32(x72, x11, x41, &x74);
- { uint32_t x77; uint8_t x78 = _addcarryx_u32(x75, x13, x43, &x77);
- { uint32_t x80; uint8_t x81 = _addcarryx_u32(x78, x15, x45, &x80);
- { uint32_t x83; uint8_t x84 = _addcarryx_u32(x81, x17, x47, &x83);
- { uint32_t x86; uint8_t x87 = _addcarryx_u32(x84, x19, x49, &x86);
- { uint32_t x89; uint8_t x90 = _addcarryx_u32(x87, x21, x51, &x89);
- { uint32_t x92; uint8_t x93 = _addcarryx_u32(x90, x23, x53, &x92);
- { uint32_t x95; uint8_t x96 = _addcarryx_u32(x93, x25, x55, &x95);
- { uint32_t x98; uint8_t x99 = _addcarryx_u32(x96, x27, x57, &x98);
- { uint32_t x101; uint8_t x102 = _addcarryx_u32(x99, x29, x59, &x101);
- { uint32_t x104; uint8_t x105 = _addcarryx_u32(x102, x31, x61, &x104);
- { uint32_t x107; uint8_t x108 = _addcarryx_u32(x105, x33, x63, &x107);
- { uint32_t x110; uint8_t x111 = _addcarryx_u32(x108, x32, x62, &x110);
- { uint32_t x113; uint8_t x114 = _subborrow_u32(0x0, x65, 0xfffffdc7, &x113);
- { uint32_t x116; uint8_t x117 = _subborrow_u32(x114, x68, 0xffffffff, &x116);
- { uint32_t x119; uint8_t x120 = _subborrow_u32(x117, x71, 0xffffffff, &x119);
- { uint32_t x122; uint8_t x123 = _subborrow_u32(x120, x74, 0xffffffff, &x122);
- { uint32_t x125; uint8_t x126 = _subborrow_u32(x123, x77, 0xffffffff, &x125);
- { uint32_t x128; uint8_t x129 = _subborrow_u32(x126, x80, 0xffffffff, &x128);
- { uint32_t x131; uint8_t x132 = _subborrow_u32(x129, x83, 0xffffffff, &x131);
- { uint32_t x134; uint8_t x135 = _subborrow_u32(x132, x86, 0xffffffff, &x134);
- { uint32_t x137; uint8_t x138 = _subborrow_u32(x135, x89, 0xffffffff, &x137);
- { uint32_t x140; uint8_t x141 = _subborrow_u32(x138, x92, 0xffffffff, &x140);
- { uint32_t x143; uint8_t x144 = _subborrow_u32(x141, x95, 0xffffffff, &x143);
- { uint32_t x146; uint8_t x147 = _subborrow_u32(x144, x98, 0xffffffff, &x146);
- { uint32_t x149; uint8_t x150 = _subborrow_u32(x147, x101, 0xffffffff, &x149);
- { uint32_t x152; uint8_t x153 = _subborrow_u32(x150, x104, 0xffffffff, &x152);
- { uint32_t x155; uint8_t x156 = _subborrow_u32(x153, x107, 0xffffffff, &x155);
- { uint32_t x158; uint8_t x159 = _subborrow_u32(x156, x110, 0xffffffff, &x158);
- { uint32_t _; uint8_t x162 = _subborrow_u32(x159, x111, 0x0, &_);
- { uint32_t x163 = cmovznz32(x162, x158, x110);
- { uint32_t x164 = cmovznz32(x162, x155, x107);
- { uint32_t x165 = cmovznz32(x162, x152, x104);
- { uint32_t x166 = cmovznz32(x162, x149, x101);
- { uint32_t x167 = cmovznz32(x162, x146, x98);
- { uint32_t x168 = cmovznz32(x162, x143, x95);
- { uint32_t x169 = cmovznz32(x162, x140, x92);
- { uint32_t x170 = cmovznz32(x162, x137, x89);
- { uint32_t x171 = cmovznz32(x162, x134, x86);
- { uint32_t x172 = cmovznz32(x162, x131, x83);
- { uint32_t x173 = cmovznz32(x162, x128, x80);
- { uint32_t x174 = cmovznz32(x162, x125, x77);
- { uint32_t x175 = cmovznz32(x162, x122, x74);
- { uint32_t x176 = cmovznz32(x162, x119, x71);
- { uint32_t x177 = cmovznz32(x162, x116, x68);
- { uint32_t x178 = cmovznz32(x162, x113, x65);
- out[0] = x178;
- out[1] = x177;
- out[2] = x176;
- out[3] = x175;
- out[4] = x174;
- out[5] = x173;
- out[6] = x172;
- out[7] = x171;
- out[8] = x170;
- out[9] = x169;
- out[10] = x168;
- out[11] = x167;
- out[12] = x166;
- out[13] = x165;
- out[14] = x164;
- out[15] = x163;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/feadd.v b/src/Specific/montgomery32_2e512m569_16limbs/feadd.v
deleted file mode 100644
index 2a2324723..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.log b/src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.log
deleted file mode 100644
index 7b83b4a4f..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint32_t x65, uint8_t x66 = addcarryx_u32(0x0, x5, x35);
- uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x7, x37);
- uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x9, x39);
- uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x11, x41);
- uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x13, x43);
- uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x15, x45);
- uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x17, x47);
- uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x19, x49);
- uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x21, x51);
- uint32_t x92, uint8_t x93 = addcarryx_u32(x90, x23, x53);
- uint32_t x95, uint8_t x96 = addcarryx_u32(x93, x25, x55);
- uint32_t x98, uint8_t x99 = addcarryx_u32(x96, x27, x57);
- uint32_t x101, uint8_t x102 = addcarryx_u32(x99, x29, x59);
- uint32_t x104, uint8_t x105 = addcarryx_u32(x102, x31, x61);
- uint32_t x107, uint8_t x108 = addcarryx_u32(x105, x33, x63);
- uint32_t x110, uint8_t x111 = addcarryx_u32(x108, x32, x62);
- uint32_t x113, uint8_t x114 = subborrow_u32(0x0, x65, 0xfffffdc7);
- uint32_t x116, uint8_t x117 = subborrow_u32(x114, x68, 0xffffffff);
- uint32_t x119, uint8_t x120 = subborrow_u32(x117, x71, 0xffffffff);
- uint32_t x122, uint8_t x123 = subborrow_u32(x120, x74, 0xffffffff);
- uint32_t x125, uint8_t x126 = subborrow_u32(x123, x77, 0xffffffff);
- uint32_t x128, uint8_t x129 = subborrow_u32(x126, x80, 0xffffffff);
- uint32_t x131, uint8_t x132 = subborrow_u32(x129, x83, 0xffffffff);
- uint32_t x134, uint8_t x135 = subborrow_u32(x132, x86, 0xffffffff);
- uint32_t x137, uint8_t x138 = subborrow_u32(x135, x89, 0xffffffff);
- uint32_t x140, uint8_t x141 = subborrow_u32(x138, x92, 0xffffffff);
- uint32_t x143, uint8_t x144 = subborrow_u32(x141, x95, 0xffffffff);
- uint32_t x146, uint8_t x147 = subborrow_u32(x144, x98, 0xffffffff);
- uint32_t x149, uint8_t x150 = subborrow_u32(x147, x101, 0xffffffff);
- uint32_t x152, uint8_t x153 = subborrow_u32(x150, x104, 0xffffffff);
- uint32_t x155, uint8_t x156 = subborrow_u32(x153, x107, 0xffffffff);
- uint32_t x158, uint8_t x159 = subborrow_u32(x156, x110, 0xffffffff);
- uint32_t _, uint8_t x162 = subborrow_u32(x159, x111, 0x0);
- uint32_t x163 = cmovznz32(x162, x158, x110);
- uint32_t x164 = cmovznz32(x162, x155, x107);
- uint32_t x165 = cmovznz32(x162, x152, x104);
- uint32_t x166 = cmovznz32(x162, x149, x101);
- uint32_t x167 = cmovznz32(x162, x146, x98);
- uint32_t x168 = cmovznz32(x162, x143, x95);
- uint32_t x169 = cmovznz32(x162, x140, x92);
- uint32_t x170 = cmovznz32(x162, x137, x89);
- uint32_t x171 = cmovznz32(x162, x134, x86);
- uint32_t x172 = cmovznz32(x162, x131, x83);
- uint32_t x173 = cmovznz32(x162, x128, x80);
- uint32_t x174 = cmovznz32(x162, x125, x77);
- uint32_t x175 = cmovznz32(x162, x122, x74);
- uint32_t x176 = cmovznz32(x162, x119, x71);
- uint32_t x177 = cmovznz32(x162, x116, x68);
- uint32_t x178 = cmovznz32(x162, x113, x65);
- return (x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178))
-(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/montgomery32_2e512m569_16limbs/feaddDisplay.v b/src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.v
deleted file mode 100644
index f45a8aaa1..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/femul.v b/src/Specific/montgomery32_2e512m569_16limbs/femul.v
deleted file mode 100644
index a756f22c4..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/femulDisplay.v b/src/Specific/montgomery32_2e512m569_16limbs/femulDisplay.v
deleted file mode 100644
index 3185e3de3..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fenz.c b/src/Specific/montgomery32_2e512m569_16limbs/fenz.c
deleted file mode 100644
index 5c5d21b0e..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fenz.c
+++ /dev/null
@@ -1,35 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], 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 x31 = (x30 | x29);
- { uint32_t x32 = (x28 | x31);
- { uint32_t x33 = (x26 | x32);
- { uint32_t x34 = (x24 | x33);
- { uint32_t x35 = (x22 | x34);
- { uint32_t x36 = (x20 | x35);
- { uint32_t x37 = (x18 | x36);
- { uint32_t x38 = (x16 | x37);
- { uint32_t x39 = (x14 | x38);
- { uint32_t x40 = (x12 | x39);
- { uint32_t x41 = (x10 | x40);
- { uint32_t x42 = (x8 | x41);
- { uint32_t x43 = (x6 | x42);
- { uint32_t x44 = (x4 | x43);
- { uint32_t x45 = (x2 | x44);
- out[0] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fenz.v b/src/Specific/montgomery32_2e512m569_16limbs/fenz.v
deleted file mode 100644
index d7ddd39e1..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.log b/src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.log
deleted file mode 100644
index eb0b6ea33..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.log
+++ /dev/null
@@ -1,22 +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 x31 = (x30 | x29);
- uint32_t x32 = (x28 | x31);
- uint32_t x33 = (x26 | x32);
- uint32_t x34 = (x24 | x33);
- uint32_t x35 = (x22 | x34);
- uint32_t x36 = (x20 | x35);
- uint32_t x37 = (x18 | x36);
- uint32_t x38 = (x16 | x37);
- uint32_t x39 = (x14 | x38);
- uint32_t x40 = (x12 | x39);
- uint32_t x41 = (x10 | x40);
- uint32_t x42 = (x8 | x41);
- uint32_t x43 = (x6 | x42);
- uint32_t x44 = (x4 | x43);
- uint32_t x45 = (x2 | x44);
- return x45)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.v b/src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.v
deleted file mode 100644
index 89fc31408..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/feopp.v b/src/Specific/montgomery32_2e512m569_16limbs/feopp.v
deleted file mode 100644
index 4ec4faa75..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/feoppDisplay.v b/src/Specific/montgomery32_2e512m569_16limbs/feoppDisplay.v
deleted file mode 100644
index 6b4cc0449..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fesquare.c b/src/Specific/montgomery32_2e512m569_16limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fesub.v b/src/Specific/montgomery32_2e512m569_16limbs/fesub.v
deleted file mode 100644
index ba7b9b198..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fesubDisplay.v b/src/Specific/montgomery32_2e512m569_16limbs/fesubDisplay.v
deleted file mode 100644
index b46b960ce..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e512m569_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/py_interpreter.sh b/src/Specific/montgomery32_2e512m569_16limbs/py_interpreter.sh
deleted file mode 100755
index 3277ef6fc..000000000
--- a/src/Specific/montgomery32_2e512m569_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 569' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/CurveParameters.v b/src/Specific/montgomery32_2e521m1_17limbs/CurveParameters.v
deleted file mode 100644
index 92329b455..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^521 - 1
-Base: 32
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 32;
- bitwidth := 32;
- s := 2^521;
- c := [(1, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery32_2e521m1_17limbs/Synthesis.v b/src/Specific/montgomery32_2e521m1_17limbs/Synthesis.v
deleted file mode 100644
index 10de9b3e6..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.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/montgomery32_2e521m1_17limbs/compiler.sh b/src/Specific/montgomery32_2e521m1_17limbs/compiler.sh
deleted file mode 100755
index 38e22a033..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/compilerxx.sh b/src/Specific/montgomery32_2e521m1_17limbs/compilerxx.sh
deleted file mode 100755
index 0f6c7857d..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/feadd.c b/src/Specific/montgomery32_2e521m1_17limbs/feadd.c
deleted file mode 100644
index 7019270b1..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/feadd.c
+++ /dev/null
@@ -1,106 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint32_t x69; uint8_t x70 = _addcarryx_u32(0x0, x5, x37, &x69);
- { uint32_t x72; uint8_t x73 = _addcarryx_u32(x70, x7, x39, &x72);
- { uint32_t x75; uint8_t x76 = _addcarryx_u32(x73, x9, x41, &x75);
- { uint32_t x78; uint8_t x79 = _addcarryx_u32(x76, x11, x43, &x78);
- { uint32_t x81; uint8_t x82 = _addcarryx_u32(x79, x13, x45, &x81);
- { uint32_t x84; uint8_t x85 = _addcarryx_u32(x82, x15, x47, &x84);
- { uint32_t x87; uint8_t x88 = _addcarryx_u32(x85, x17, x49, &x87);
- { uint32_t x90; uint8_t x91 = _addcarryx_u32(x88, x19, x51, &x90);
- { uint32_t x93; uint8_t x94 = _addcarryx_u32(x91, x21, x53, &x93);
- { uint32_t x96; uint8_t x97 = _addcarryx_u32(x94, x23, x55, &x96);
- { uint32_t x99; uint8_t x100 = _addcarryx_u32(x97, x25, x57, &x99);
- { uint32_t x102; uint8_t x103 = _addcarryx_u32(x100, x27, x59, &x102);
- { uint32_t x105; uint8_t x106 = _addcarryx_u32(x103, x29, x61, &x105);
- { uint32_t x108; uint8_t x109 = _addcarryx_u32(x106, x31, x63, &x108);
- { uint32_t x111; uint8_t x112 = _addcarryx_u32(x109, x33, x65, &x111);
- { uint32_t x114; uint8_t x115 = _addcarryx_u32(x112, x35, x67, &x114);
- { uint32_t x117; uint8_t x118 = _addcarryx_u32(x115, x34, x66, &x117);
- { uint32_t x120; uint8_t x121 = _subborrow_u32(0x0, x69, 0xffffffff, &x120);
- { uint32_t x123; uint8_t x124 = _subborrow_u32(x121, x72, 0xffffffff, &x123);
- { uint32_t x126; uint8_t x127 = _subborrow_u32(x124, x75, 0xffffffff, &x126);
- { uint32_t x129; uint8_t x130 = _subborrow_u32(x127, x78, 0xffffffff, &x129);
- { uint32_t x132; uint8_t x133 = _subborrow_u32(x130, x81, 0xffffffff, &x132);
- { uint32_t x135; uint8_t x136 = _subborrow_u32(x133, x84, 0xffffffff, &x135);
- { uint32_t x138; uint8_t x139 = _subborrow_u32(x136, x87, 0xffffffff, &x138);
- { uint32_t x141; uint8_t x142 = _subborrow_u32(x139, x90, 0xffffffff, &x141);
- { uint32_t x144; uint8_t x145 = _subborrow_u32(x142, x93, 0xffffffff, &x144);
- { uint32_t x147; uint8_t x148 = _subborrow_u32(x145, x96, 0xffffffff, &x147);
- { uint32_t x150; uint8_t x151 = _subborrow_u32(x148, x99, 0xffffffff, &x150);
- { uint32_t x153; uint8_t x154 = _subborrow_u32(x151, x102, 0xffffffff, &x153);
- { uint32_t x156; uint8_t x157 = _subborrow_u32(x154, x105, 0xffffffff, &x156);
- { uint32_t x159; uint8_t x160 = _subborrow_u32(x157, x108, 0xffffffff, &x159);
- { uint32_t x162; uint8_t x163 = _subborrow_u32(x160, x111, 0xffffffff, &x162);
- { uint32_t x165; uint8_t x166 = _subborrow_u32(x163, x114, 0xffffffff, &x165);
- { uint32_t x168; uint8_t x169 = _subborrow_u32(x166, x117, 0x1ff, &x168);
- { uint32_t _; uint8_t x172 = _subborrow_u32(x169, x118, 0x0, &_);
- { uint32_t x173 = cmovznz32(x172, x168, x117);
- { uint32_t x174 = cmovznz32(x172, x165, x114);
- { uint32_t x175 = cmovznz32(x172, x162, x111);
- { uint32_t x176 = cmovznz32(x172, x159, x108);
- { uint32_t x177 = cmovznz32(x172, x156, x105);
- { uint32_t x178 = cmovznz32(x172, x153, x102);
- { uint32_t x179 = cmovznz32(x172, x150, x99);
- { uint32_t x180 = cmovznz32(x172, x147, x96);
- { uint32_t x181 = cmovznz32(x172, x144, x93);
- { uint32_t x182 = cmovznz32(x172, x141, x90);
- { uint32_t x183 = cmovznz32(x172, x138, x87);
- { uint32_t x184 = cmovznz32(x172, x135, x84);
- { uint32_t x185 = cmovznz32(x172, x132, x81);
- { uint32_t x186 = cmovznz32(x172, x129, x78);
- { uint32_t x187 = cmovznz32(x172, x126, x75);
- { uint32_t x188 = cmovznz32(x172, x123, x72);
- { uint32_t x189 = cmovznz32(x172, x120, x69);
- out[0] = x189;
- out[1] = x188;
- out[2] = x187;
- out[3] = x186;
- out[4] = x185;
- out[5] = x184;
- out[6] = x183;
- out[7] = x182;
- out[8] = x181;
- out[9] = x180;
- out[10] = x179;
- out[11] = x178;
- out[12] = x177;
- out[13] = x176;
- out[14] = x175;
- out[15] = x174;
- out[16] = x173;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/feadd.v b/src/Specific/montgomery32_2e521m1_17limbs/feadd.v
deleted file mode 100644
index c0a0264cd..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.log b/src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.log
deleted file mode 100644
index 0dbd5526d..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint32_t x69, uint8_t x70 = addcarryx_u32(0x0, x5, x37);
- uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x7, x39);
- uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x9, x41);
- uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x11, x43);
- uint32_t x81, uint8_t x82 = addcarryx_u32(x79, x13, x45);
- uint32_t x84, uint8_t x85 = addcarryx_u32(x82, x15, x47);
- uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x17, x49);
- uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x19, x51);
- uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x21, x53);
- uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x23, x55);
- uint32_t x99, uint8_t x100 = addcarryx_u32(x97, x25, x57);
- uint32_t x102, uint8_t x103 = addcarryx_u32(x100, x27, x59);
- uint32_t x105, uint8_t x106 = addcarryx_u32(x103, x29, x61);
- uint32_t x108, uint8_t x109 = addcarryx_u32(x106, x31, x63);
- uint32_t x111, uint8_t x112 = addcarryx_u32(x109, x33, x65);
- uint32_t x114, uint8_t x115 = addcarryx_u32(x112, x35, x67);
- uint32_t x117, uint8_t x118 = addcarryx_u32(x115, x34, x66);
- uint32_t x120, uint8_t x121 = subborrow_u32(0x0, x69, 0xffffffff);
- uint32_t x123, uint8_t x124 = subborrow_u32(x121, x72, 0xffffffff);
- uint32_t x126, uint8_t x127 = subborrow_u32(x124, x75, 0xffffffff);
- uint32_t x129, uint8_t x130 = subborrow_u32(x127, x78, 0xffffffff);
- uint32_t x132, uint8_t x133 = subborrow_u32(x130, x81, 0xffffffff);
- uint32_t x135, uint8_t x136 = subborrow_u32(x133, x84, 0xffffffff);
- uint32_t x138, uint8_t x139 = subborrow_u32(x136, x87, 0xffffffff);
- uint32_t x141, uint8_t x142 = subborrow_u32(x139, x90, 0xffffffff);
- uint32_t x144, uint8_t x145 = subborrow_u32(x142, x93, 0xffffffff);
- uint32_t x147, uint8_t x148 = subborrow_u32(x145, x96, 0xffffffff);
- uint32_t x150, uint8_t x151 = subborrow_u32(x148, x99, 0xffffffff);
- uint32_t x153, uint8_t x154 = subborrow_u32(x151, x102, 0xffffffff);
- uint32_t x156, uint8_t x157 = subborrow_u32(x154, x105, 0xffffffff);
- uint32_t x159, uint8_t x160 = subborrow_u32(x157, x108, 0xffffffff);
- uint32_t x162, uint8_t x163 = subborrow_u32(x160, x111, 0xffffffff);
- uint32_t x165, uint8_t x166 = subborrow_u32(x163, x114, 0xffffffff);
- uint32_t x168, uint8_t x169 = subborrow_u32(x166, x117, 0x1ff);
- uint32_t _, uint8_t x172 = subborrow_u32(x169, x118, 0x0);
- uint32_t x173 = cmovznz32(x172, x168, x117);
- uint32_t x174 = cmovznz32(x172, x165, x114);
- uint32_t x175 = cmovznz32(x172, x162, x111);
- uint32_t x176 = cmovznz32(x172, x159, x108);
- uint32_t x177 = cmovznz32(x172, x156, x105);
- uint32_t x178 = cmovznz32(x172, x153, x102);
- uint32_t x179 = cmovznz32(x172, x150, x99);
- uint32_t x180 = cmovznz32(x172, x147, x96);
- uint32_t x181 = cmovznz32(x172, x144, x93);
- uint32_t x182 = cmovznz32(x172, x141, x90);
- uint32_t x183 = cmovznz32(x172, x138, x87);
- uint32_t x184 = cmovznz32(x172, x135, x84);
- uint32_t x185 = cmovznz32(x172, x132, x81);
- uint32_t x186 = cmovznz32(x172, x129, x78);
- uint32_t x187 = cmovznz32(x172, x126, x75);
- uint32_t x188 = cmovznz32(x172, x123, x72);
- uint32_t x189 = cmovznz32(x172, x120, x69);
- return (x173, x174, x175, x176, x177, x178, x179, x180, x181, x182, x183, x184, x185, x186, x187, x188, x189))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.v b/src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.v
deleted file mode 100644
index d7ae8cdd8..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/femul.v b/src/Specific/montgomery32_2e521m1_17limbs/femul.v
deleted file mode 100644
index 856bef63d..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/femulDisplay.v b/src/Specific/montgomery32_2e521m1_17limbs/femulDisplay.v
deleted file mode 100644
index f41ba2d0f..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fenz.c b/src/Specific/montgomery32_2e521m1_17limbs/fenz.c
deleted file mode 100644
index fdbe458c3..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fenz.c
+++ /dev/null
@@ -1,37 +0,0 @@
-static void fenz(ReturnType uint32_t out[1], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (x32 | x31);
- { uint32_t x34 = (x30 | x33);
- { uint32_t x35 = (x28 | x34);
- { uint32_t x36 = (x26 | x35);
- { uint32_t x37 = (x24 | x36);
- { uint32_t x38 = (x22 | x37);
- { uint32_t x39 = (x20 | x38);
- { uint32_t x40 = (x18 | x39);
- { uint32_t x41 = (x16 | x40);
- { uint32_t x42 = (x14 | x41);
- { uint32_t x43 = (x12 | x42);
- { uint32_t x44 = (x10 | x43);
- { uint32_t x45 = (x8 | x44);
- { uint32_t x46 = (x6 | x45);
- { uint32_t x47 = (x4 | x46);
- { uint32_t x48 = (x2 | x47);
- out[0] = x48;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fenz.v b/src/Specific/montgomery32_2e521m1_17limbs/fenz.v
deleted file mode 100644
index 826fe316f..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.log b/src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.log
deleted file mode 100644
index 47cc8d6b2..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x33 = (x32 | x31);
- uint32_t x34 = (x30 | x33);
- uint32_t x35 = (x28 | x34);
- uint32_t x36 = (x26 | x35);
- uint32_t x37 = (x24 | x36);
- uint32_t x38 = (x22 | x37);
- uint32_t x39 = (x20 | x38);
- uint32_t x40 = (x18 | x39);
- uint32_t x41 = (x16 | x40);
- uint32_t x42 = (x14 | x41);
- uint32_t x43 = (x12 | x42);
- uint32_t x44 = (x10 | x43);
- uint32_t x45 = (x8 | x44);
- uint32_t x46 = (x6 | x45);
- uint32_t x47 = (x4 | x46);
- uint32_t x48 = (x2 | x47);
- return x48)
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType uint32_t
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.v b/src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.v
deleted file mode 100644
index 093ea6bcc..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/feopp.v b/src/Specific/montgomery32_2e521m1_17limbs/feopp.v
deleted file mode 100644
index 61b0cfa03..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/feoppDisplay.v b/src/Specific/montgomery32_2e521m1_17limbs/feoppDisplay.v
deleted file mode 100644
index a38aac29d..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fesquare.c b/src/Specific/montgomery32_2e521m1_17limbs/fesquare.c
deleted file mode 100644
index e3345edfe..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint32_t *out, const uint32_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fesub.v b/src/Specific/montgomery32_2e521m1_17limbs/fesub.v
deleted file mode 100644
index 0d3390e19..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fesubDisplay.v b/src/Specific/montgomery32_2e521m1_17limbs/fesubDisplay.v
deleted file mode 100644
index 950af96c1..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery32_2e521m1_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/py_interpreter.sh b/src/Specific/montgomery32_2e521m1_17limbs/py_interpreter.sh
deleted file mode 100755
index f8030cf9e..000000000
--- a/src/Specific/montgomery32_2e521m1_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**521 - 1' -Dmodulus_bytes='32' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/CurveParameters.v b/src/Specific/montgomery64_2e127m1_2limbs/CurveParameters.v
deleted file mode 100644
index fb2a5146e..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^127 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 2%nat;
- base := 64;
- bitwidth := 64;
- s := 2^127;
- c := [(1, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e127m1_2limbs/Synthesis.v b/src/Specific/montgomery64_2e127m1_2limbs/Synthesis.v
deleted file mode 100644
index 9ab5a4d27..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.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/montgomery64_2e127m1_2limbs/compiler.sh b/src/Specific/montgomery64_2e127m1_2limbs/compiler.sh
deleted file mode 100755
index 31642bfb4..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='2' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/compilerxx.sh b/src/Specific/montgomery64_2e127m1_2limbs/compilerxx.sh
deleted file mode 100755
index 5d36e8a6f..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='2' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feadd.c b/src/Specific/montgomery64_2e127m1_2limbs/feadd.c
deleted file mode 100644
index 91fa60600..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feadd.c
+++ /dev/null
@@ -1,16 +0,0 @@
-static void feadd(uint64_t out[2], const uint64_t in1[2], const uint64_t in2[2]) {
- { const uint64_t x4 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x6 = in2[1];
- { const uint64_t x7 = in2[0];
- { uint64_t x9; uint8_t x10 = _addcarryx_u64(0x0, x5, x7, &x9);
- { uint64_t x12; uint8_t x13 = _addcarryx_u64(x10, x4, x6, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(0x0, x9, 0xffffffffffffffffL, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, x12, 0x7fffffffffffffffL, &x18);
- { uint64_t _; uint8_t x22 = _subborrow_u64(x19, x13, 0x0, &_);
- { uint64_t x23 = cmovznz64(x22, x18, x12);
- { uint64_t x24 = cmovznz64(x22, x15, x9);
- out[0] = x24;
- out[1] = x23;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feadd.v b/src/Specific/montgomery64_2e127m1_2limbs/feadd.v
deleted file mode 100644
index b04fa87d7..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.log b/src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.log
deleted file mode 100644
index a47056f6b..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x x0 : word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x4, x5, (x6, x7))%core,
- uint64_t x9, uint8_t x10 = addcarryx_u64(0x0, x5, x7);
- uint64_t x12, uint8_t x13 = addcarryx_u64(x10, x4, x6);
- uint64_t x15, uint8_t x16 = subborrow_u64(0x0, x9, 0xffffffffffffffffL);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, x12, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x22 = subborrow_u64(x19, x13, 0x0);
- uint64_t x23 = cmovznz64(x22, x18, x12);
- uint64_t x24 = cmovznz64(x22, x15, x9);
- return (x23, x24))
-(x, x0)%core
- : word64 * word64 → word64 * word64 → ReturnType (uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.v b/src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.v
deleted file mode 100644
index c4a26b0b0..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/femul.c b/src/Specific/montgomery64_2e127m1_2limbs/femul.c
deleted file mode 100644
index c6f5ef6fb..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/femul.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void femul(uint64_t out[2], const uint64_t in1[2], const uint64_t in2[2]) {
- { const uint64_t x4 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x6 = in2[1];
- { const uint64_t x7 = in2[0];
- { uint64_t x10; uint64_t x9 = _mulx_u64(x5, x7, &x10);
- { uint64_t x13; uint64_t x12 = _mulx_u64(x5, x6, &x13);
- { uint64_t x15; uint8_t x16 = _addcarryx_u64(0x0, x10, x12, &x15);
- { uint64_t x18; uint8_t _ = _addcarryx_u64(0x0, x16, x13, &x18);
- { uint64_t x22; uint64_t x21 = _mulx_u64(x9, 0xffffffffffffffffL, &x22);
- { uint64_t x25; uint64_t x24 = _mulx_u64(x9, 0x7fffffffffffffffL, &x25);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(0x0, x22, x24, &x27);
- { uint64_t x30; uint8_t _ = _addcarryx_u64(0x0, x28, x25, &x30);
- { uint64_t _; uint8_t x34 = _addcarryx_u64(0x0, x9, x21, &_);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x15, x27, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x18, x30, &x39);
- { uint64_t x43; uint64_t x42 = _mulx_u64(x4, x7, &x43);
- { uint64_t x46; uint64_t x45 = _mulx_u64(x4, x6, &x46);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(0x0, x43, x45, &x48);
- { uint64_t x51; uint8_t _ = _addcarryx_u64(0x0, x49, x46, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(0x0, x36, x42, &x54);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x55, x39, x48, &x57);
- { uint64_t x60; uint8_t x61 = _addcarryx_u64(x58, x40, x51, &x60);
- { uint64_t x64; uint64_t x63 = _mulx_u64(x54, 0xffffffffffffffffL, &x64);
- { uint64_t x67; uint64_t x66 = _mulx_u64(x54, 0x7fffffffffffffffL, &x67);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(0x0, x64, x66, &x69);
- { uint64_t x72; uint8_t _ = _addcarryx_u64(0x0, x70, x67, &x72);
- { uint64_t _; uint8_t x76 = _addcarryx_u64(0x0, x54, x63, &_);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x57, x69, &x78);
- { uint64_t x81; uint8_t x82 = _addcarryx_u64(x79, x60, x72, &x81);
- { uint8_t x83 = (x82 + x61);
- { uint64_t x85; uint8_t x86 = _subborrow_u64(0x0, x78, 0xffffffffffffffffL, &x85);
- { uint64_t x88; uint8_t x89 = _subborrow_u64(x86, x81, 0x7fffffffffffffffL, &x88);
- { uint64_t _; uint8_t x92 = _subborrow_u64(x89, x83, 0x0, &_);
- { uint64_t x93 = cmovznz64(x92, x88, x81);
- { uint64_t x94 = cmovznz64(x92, x85, x78);
- out[0] = x94;
- out[1] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/femul.v b/src/Specific/montgomery64_2e127m1_2limbs/femul.v
deleted file mode 100644
index 66a33f9c3..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.log b/src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.log
deleted file mode 100644
index ea19e6486..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x x0 : word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x4, x5, (x6, x7))%core,
- uint64_t x9, uint64_t x10 = mulx_u64(x5, x7);
- uint64_t x12, uint64_t x13 = mulx_u64(x5, x6);
- uint64_t x15, uint8_t x16 = addcarryx_u64(0x0, x10, x12);
- uint64_t x18, uint8_t _ = addcarryx_u64(0x0, x16, x13);
- uint64_t x21, uint64_t x22 = mulx_u64(x9, 0xffffffffffffffffL);
- uint64_t x24, uint64_t x25 = mulx_u64(x9, 0x7fffffffffffffffL);
- uint64_t x27, uint8_t x28 = addcarryx_u64(0x0, x22, x24);
- uint64_t x30, uint8_t _ = addcarryx_u64(0x0, x28, x25);
- uint64_t _, uint8_t x34 = addcarryx_u64(0x0, x9, x21);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x15, x27);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x18, x30);
- uint64_t x42, uint64_t x43 = mulx_u64(x4, x7);
- uint64_t x45, uint64_t x46 = mulx_u64(x4, x6);
- uint64_t x48, uint8_t x49 = addcarryx_u64(0x0, x43, x45);
- uint64_t x51, uint8_t _ = addcarryx_u64(0x0, x49, x46);
- uint64_t x54, uint8_t x55 = addcarryx_u64(0x0, x36, x42);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x55, x39, x48);
- uint64_t x60, uint8_t x61 = addcarryx_u64(x58, x40, x51);
- uint64_t x63, uint64_t x64 = mulx_u64(x54, 0xffffffffffffffffL);
- uint64_t x66, uint64_t x67 = mulx_u64(x54, 0x7fffffffffffffffL);
- uint64_t x69, uint8_t x70 = addcarryx_u64(0x0, x64, x66);
- uint64_t x72, uint8_t _ = addcarryx_u64(0x0, x70, x67);
- uint64_t _, uint8_t x76 = addcarryx_u64(0x0, x54, x63);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x57, x69);
- uint64_t x81, uint8_t x82 = addcarryx_u64(x79, x60, x72);
- uint8_t x83 = (x82 + x61);
- uint64_t x85, uint8_t x86 = subborrow_u64(0x0, x78, 0xffffffffffffffffL);
- uint64_t x88, uint8_t x89 = subborrow_u64(x86, x81, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x92 = subborrow_u64(x89, x83, 0x0);
- uint64_t x93 = cmovznz64(x92, x88, x81);
- uint64_t x94 = cmovznz64(x92, x85, x78);
- return (x93, x94))
-(x, x0)%core
- : word64 * word64 → word64 * word64 → ReturnType (uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.v b/src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.v
deleted file mode 100644
index 1d32b1bf0..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fenz.c b/src/Specific/montgomery64_2e127m1_2limbs/fenz.c
deleted file mode 100644
index 3b61c77b8..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fenz.c
+++ /dev/null
@@ -1,7 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[2]) {
- { const uint64_t x1 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x3 = (x2 | x1);
- out[0] = x3;
- }}}
-}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fenz.v b/src/Specific/montgomery64_2e127m1_2limbs/fenz.v
deleted file mode 100644
index 0f01535d9..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.log b/src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.log
deleted file mode 100644
index 42367b877..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.log
+++ /dev/null
@@ -1,8 +0,0 @@
-λ x : word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x1, x2)%core,
- uint64_t x3 = (x2 | x1);
- return x3)
-x
- : word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.v b/src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.v
deleted file mode 100644
index dd3265746..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feopp.c b/src/Specific/montgomery64_2e127m1_2limbs/feopp.c
deleted file mode 100644
index 2982fec31..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feopp.c
+++ /dev/null
@@ -1,14 +0,0 @@
-static void feopp(uint64_t out[2], const uint64_t in1[2]) {
- { const uint64_t x1 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x4; uint8_t x5 = _subborrow_u64(0x0, 0x0, x2, &x4);
- { uint64_t x7; uint8_t x8 = _subborrow_u64(x5, 0x0, x1, &x7);
- { uint64_t x9 = cmovznz64(x8, 0x0, 0xffffffffffffffffL);
- { uint64_t x10 = (x9 & 0xffffffffffffffffL);
- { uint64_t x12; uint8_t x13 = _addcarryx_u64(0x0, x4, x10, &x12);
- { uint64_t x14 = (x9 & 0x7fffffffffffffffL);
- { uint64_t x16; uint8_t _ = _addcarryx_u64(x13, x7, x14, &x16);
- out[0] = x12;
- out[1] = x16;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feopp.v b/src/Specific/montgomery64_2e127m1_2limbs/feopp.v
deleted file mode 100644
index 3b4228859..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.log b/src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.log
deleted file mode 100644
index 2e861c851..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x1, x2)%core,
- uint64_t x4, uint8_t x5 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x7, uint8_t x8 = subborrow_u64(x5, 0x0, x1);
- uint64_t x9 = cmovznz64(x8, 0x0, 0xffffffffffffffffL);
- uint64_t x10 = (x9 & 0xffffffffffffffffL);
- uint64_t x12, uint8_t x13 = addcarryx_u64(0x0, x4, x10);
- uint64_t x14 = (x9 & 0x7fffffffffffffffL);
- uint64_t x16, uint8_t _ = addcarryx_u64(x13, x7, x14);
- (Return x16, Return x12))
-x
- : word64 * word64 → ReturnType (uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.v b/src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.v
deleted file mode 100644
index 409dbc85a..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fesquare.c b/src/Specific/montgomery64_2e127m1_2limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fesub.c b/src/Specific/montgomery64_2e127m1_2limbs/fesub.c
deleted file mode 100644
index 45bb624d9..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fesub.c
+++ /dev/null
@@ -1,16 +0,0 @@
-static void fesub(uint64_t out[2], const uint64_t in1[2], const uint64_t in2[2]) {
- { const uint64_t x4 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x6 = in2[1];
- { const uint64_t x7 = in2[0];
- { uint64_t x9; uint8_t x10 = _subborrow_u64(0x0, x5, x7, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, x4, x6, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffffL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x9, x15, &x17);
- { uint64_t x19 = (x14 & 0x7fffffffffffffffL);
- { uint64_t x21; uint8_t _ = _addcarryx_u64(x18, x12, x19, &x21);
- out[0] = x17;
- out[1] = x21;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fesub.v b/src/Specific/montgomery64_2e127m1_2limbs/fesub.v
deleted file mode 100644
index c9f9a4b00..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.log b/src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.log
deleted file mode 100644
index ec41671f0..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x x0 : word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x4, x5, (x6, x7))%core,
- uint64_t x9, uint8_t x10 = subborrow_u64(0x0, x5, x7);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, x4, x6);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffffL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x9, x15);
- uint64_t x19 = (x14 & 0x7fffffffffffffffL);
- uint64_t x21, uint8_t _ = addcarryx_u64(x18, x12, x19);
- (Return x21, Return x17))
-(x, x0)%core
- : word64 * word64 → word64 * word64 → ReturnType (uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.v b/src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.v
deleted file mode 100644
index 1285480a7..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e127m1_2limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/py_interpreter.sh b/src/Specific/montgomery64_2e127m1_2limbs/py_interpreter.sh
deleted file mode 100755
index 83c4398b2..000000000
--- a/src/Specific/montgomery64_2e127m1_2limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**127 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e129m25_3limbs/CurveParameters.v
deleted file mode 100644
index a9a854de9..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^129 - 25
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^129;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e129m25_3limbs/Synthesis.v b/src/Specific/montgomery64_2e129m25_3limbs/Synthesis.v
deleted file mode 100644
index 0c2f9af49..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.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/montgomery64_2e129m25_3limbs/compiler.sh b/src/Specific/montgomery64_2e129m25_3limbs/compiler.sh
deleted file mode 100755
index 13bcfb67c..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e129m25_3limbs/compilerxx.sh
deleted file mode 100755
index f4ce10411..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feadd.c b/src/Specific/montgomery64_2e129m25_3limbs/feadd.c
deleted file mode 100644
index 1f4da6ce2..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffe7L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x1, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feadd.v b/src/Specific/montgomery64_2e129m25_3limbs/feadd.v
deleted file mode 100644
index 17240f046..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.log
deleted file mode 100644
index 429f30466..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffe7L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.v
deleted file mode 100644
index 674755c4e..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/femul.c b/src/Specific/montgomery64_2e129m25_3limbs/femul.c
deleted file mode 100644
index 6e245304f..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/femul.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffe7L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(0x0, x35, x37, &x40);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(x41, x38, x31, &x43);
- { uint64_t _; uint8_t x47 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x22, x40, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x25, x43, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x28, x44, &x55);
- { uint64_t x59; uint64_t x58 = _mulx_u64(x7, x9, &x59);
- { uint64_t x62; uint64_t x61 = _mulx_u64(x7, x11, &x62);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x10, &x65);
- { uint64_t x67; uint8_t x68 = _addcarryx_u64(0x0, x59, x61, &x67);
- { uint64_t x70; uint8_t x71 = _addcarryx_u64(x68, x62, x64, &x70);
- { uint64_t x73; uint8_t _ = _addcarryx_u64(0x0, x71, x65, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(0x0, x49, x58, &x76);
- { uint64_t x79; uint8_t x80 = _addcarryx_u64(x77, x52, x67, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(x80, x55, x70, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x56, x73, &x85);
- { uint64_t _; uint64_t x88 = _mulx_u64(x76, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x92; uint64_t x91 = _mulx_u64(x88, 0xffffffffffffffe7L, &x92);
- { uint64_t x95; uint64_t x94 = _mulx_u64(x88, 0xffffffffffffffffL, &x95);
- { uint64_t x97; uint8_t x98 = _addcarryx_u64(0x0, x92, x94, &x97);
- { uint64_t x100; uint8_t x101 = _addcarryx_u64(x98, x95, x88, &x100);
- { uint64_t _; uint8_t x104 = _addcarryx_u64(0x0, x76, x91, &_);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x79, x97, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x82, x100, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x85, x101, &x112);
- { uint8_t x114 = (x113 + x86);
- { uint64_t x117; uint64_t x116 = _mulx_u64(x6, x9, &x117);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x6, x11, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x6, x10, &x123);
- { uint64_t x125; uint8_t x126 = _addcarryx_u64(0x0, x117, x119, &x125);
- { uint64_t x128; uint8_t x129 = _addcarryx_u64(x126, x120, x122, &x128);
- { uint64_t x131; uint8_t _ = _addcarryx_u64(0x0, x129, x123, &x131);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(0x0, x106, x116, &x134);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(x135, x109, x125, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x112, x128, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x114, x131, &x143);
- { uint64_t _; uint64_t x146 = _mulx_u64(x134, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x150; uint64_t x149 = _mulx_u64(x146, 0xffffffffffffffe7L, &x150);
- { uint64_t x153; uint64_t x152 = _mulx_u64(x146, 0xffffffffffffffffL, &x153);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(0x0, x150, x152, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x153, x146, &x158);
- { uint64_t _; uint8_t x162 = _addcarryx_u64(0x0, x134, x149, &_);
- { uint64_t x164; uint8_t x165 = _addcarryx_u64(x162, x137, x155, &x164);
- { uint64_t x167; uint8_t x168 = _addcarryx_u64(x165, x140, x158, &x167);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(x168, x143, x159, &x170);
- { uint8_t x172 = (x171 + x144);
- { uint64_t x174; uint8_t x175 = _subborrow_u64(0x0, x164, 0xffffffffffffffe7L, &x174);
- { uint64_t x177; uint8_t x178 = _subborrow_u64(x175, x167, 0xffffffffffffffffL, &x177);
- { uint64_t x180; uint8_t x181 = _subborrow_u64(x178, x170, 0x1, &x180);
- { uint64_t _; uint8_t x184 = _subborrow_u64(x181, x172, 0x0, &_);
- { uint64_t x185 = cmovznz64(x184, x180, x170);
- { uint64_t x186 = cmovznz64(x184, x177, x167);
- { uint64_t x187 = cmovznz64(x184, x174, x164);
- out[0] = x187;
- out[1] = x186;
- out[2] = x185;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/femul.v b/src/Specific/montgomery64_2e129m25_3limbs/femul.v
deleted file mode 100644
index 62ff3222d..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.log
deleted file mode 100644
index 5e06221b0..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,69 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x8f5c28f5c28f5c29L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffe7L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(0x0, x35, x37);
- uint64_t x43, uint8_t x44 = addcarryx_u64(x41, x38, x31);
- uint64_t _, uint8_t x47 = addcarryx_u64(0x0, x13, x34);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x22, x40);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x25, x43);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x28, x44);
- uint64_t x58, uint64_t x59 = mulx_u64(x7, x9);
- uint64_t x61, uint64_t x62 = mulx_u64(x7, x11);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x10);
- uint64_t x67, uint8_t x68 = addcarryx_u64(0x0, x59, x61);
- uint64_t x70, uint8_t x71 = addcarryx_u64(x68, x62, x64);
- uint64_t x73, uint8_t _ = addcarryx_u64(0x0, x71, x65);
- uint64_t x76, uint8_t x77 = addcarryx_u64(0x0, x49, x58);
- uint64_t x79, uint8_t x80 = addcarryx_u64(x77, x52, x67);
- uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x55, x70);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x56, x73);
- uint64_t x88, uint64_t _ = mulx_u64(x76, 0x8f5c28f5c28f5c29L);
- uint64_t x91, uint64_t x92 = mulx_u64(x88, 0xffffffffffffffe7L);
- uint64_t x94, uint64_t x95 = mulx_u64(x88, 0xffffffffffffffffL);
- uint64_t x97, uint8_t x98 = addcarryx_u64(0x0, x92, x94);
- uint64_t x100, uint8_t x101 = addcarryx_u64(x98, x95, x88);
- uint64_t _, uint8_t x104 = addcarryx_u64(0x0, x76, x91);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x79, x97);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x82, x100);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x85, x101);
- uint8_t x114 = (x113 + x86);
- uint64_t x116, uint64_t x117 = mulx_u64(x6, x9);
- uint64_t x119, uint64_t x120 = mulx_u64(x6, x11);
- uint64_t x122, uint64_t x123 = mulx_u64(x6, x10);
- uint64_t x125, uint8_t x126 = addcarryx_u64(0x0, x117, x119);
- uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x120, x122);
- uint64_t x131, uint8_t _ = addcarryx_u64(0x0, x129, x123);
- uint64_t x134, uint8_t x135 = addcarryx_u64(0x0, x106, x116);
- uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x109, x125);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x112, x128);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x114, x131);
- uint64_t x146, uint64_t _ = mulx_u64(x134, 0x8f5c28f5c28f5c29L);
- uint64_t x149, uint64_t x150 = mulx_u64(x146, 0xffffffffffffffe7L);
- uint64_t x152, uint64_t x153 = mulx_u64(x146, 0xffffffffffffffffL);
- uint64_t x155, uint8_t x156 = addcarryx_u64(0x0, x150, x152);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x153, x146);
- uint64_t _, uint8_t x162 = addcarryx_u64(0x0, x134, x149);
- uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x137, x155);
- uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x140, x158);
- uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x143, x159);
- uint8_t x172 = (x171 + x144);
- uint64_t x174, uint8_t x175 = subborrow_u64(0x0, x164, 0xffffffffffffffe7L);
- uint64_t x177, uint8_t x178 = subborrow_u64(x175, x167, 0xffffffffffffffffL);
- uint64_t x180, uint8_t x181 = subborrow_u64(x178, x170, 0x1);
- uint64_t _, uint8_t x184 = subborrow_u64(x181, x172, 0x0);
- uint64_t x185 = cmovznz64(x184, x180, x170);
- uint64_t x186 = cmovznz64(x184, x177, x167);
- uint64_t x187 = cmovznz64(x184, x174, x164);
- return (x185, x186, x187))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.v
deleted file mode 100644
index 80e0676ab..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fenz.c b/src/Specific/montgomery64_2e129m25_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fenz.v b/src/Specific/montgomery64_2e129m25_3limbs/fenz.v
deleted file mode 100644
index d798fc1b7..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.v
deleted file mode 100644
index cb39055d9..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feopp.c b/src/Specific/montgomery64_2e129m25_3limbs/feopp.c
deleted file mode 100644
index 57985379d..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffe7L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint8_t x23 = ((uint8_t)x14 & 0x1);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feopp.v b/src/Specific/montgomery64_2e129m25_3limbs/feopp.v
deleted file mode 100644
index 38ccc7883..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.log
deleted file mode 100644
index e761bfab0..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffe7L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint8_t x23 = ((uint8_t)x14 & 0x1);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.v
deleted file mode 100644
index 9d27d4261..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fesquare.c b/src/Specific/montgomery64_2e129m25_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fesub.c b/src/Specific/montgomery64_2e129m25_3limbs/fesub.c
deleted file mode 100644
index d31d91734..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffe7L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint8_t x30 = ((uint8_t)x21 & 0x1);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fesub.v b/src/Specific/montgomery64_2e129m25_3limbs/fesub.v
deleted file mode 100644
index 886089943..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.log
deleted file mode 100644
index b792af81b..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffe7L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint8_t x30 = ((uint8_t)x21 & 0x1);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.v
deleted file mode 100644
index 128a01d46..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e129m25_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e129m25_3limbs/py_interpreter.sh
deleted file mode 100755
index 39c45c699..000000000
--- a/src/Specific/montgomery64_2e129m25_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**129 - 25' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e130m5_3limbs/CurveParameters.v
deleted file mode 100644
index b4ff2f97e..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^130 - 5
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^130;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e130m5_3limbs/Synthesis.v b/src/Specific/montgomery64_2e130m5_3limbs/Synthesis.v
deleted file mode 100644
index 447d033a0..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.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/montgomery64_2e130m5_3limbs/compiler.sh b/src/Specific/montgomery64_2e130m5_3limbs/compiler.sh
deleted file mode 100755
index 06ffd20ae..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e130m5_3limbs/compilerxx.sh
deleted file mode 100755
index e8e32239d..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feadd.c b/src/Specific/montgomery64_2e130m5_3limbs/feadd.c
deleted file mode 100644
index fd76ff39c..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffffbL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feadd.v b/src/Specific/montgomery64_2e130m5_3limbs/feadd.v
deleted file mode 100644
index 67b903a12..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.log
deleted file mode 100644
index 3490818b1..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffffbL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.v
deleted file mode 100644
index ef6edb79c..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/femul.c b/src/Specific/montgomery64_2e130m5_3limbs/femul.c
deleted file mode 100644
index fb6f4f400..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xcccccccccccccccdL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffffbL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint8_t x41; uint64_t x40 = _mulx_u64_out_u8(x31, 0x3, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint8_t x48 = (x47 + x41);
- { uint64_t _; uint8_t x51 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x51, x22, x43, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, x25, x46, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x28, x48, &x59);
- { uint64_t x63; uint64_t x62 = _mulx_u64(x7, x9, &x63);
- { uint64_t x66; uint64_t x65 = _mulx_u64(x7, x11, &x66);
- { uint64_t x69; uint64_t x68 = _mulx_u64(x7, x10, &x69);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(0x0, x63, x65, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x66, x68, &x74);
- { uint64_t x77; uint8_t _ = _addcarryx_u64(0x0, x75, x69, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(0x0, x53, x62, &x80);
- { uint64_t x83; uint8_t x84 = _addcarryx_u64(x81, x56, x71, &x83);
- { uint64_t x86; uint8_t x87 = _addcarryx_u64(x84, x59, x74, &x86);
- { uint64_t x89; uint8_t x90 = _addcarryx_u64(x87, x60, x77, &x89);
- { uint64_t _; uint64_t x92 = _mulx_u64(x80, 0xcccccccccccccccdL, &_);
- { uint64_t x96; uint64_t x95 = _mulx_u64(x92, 0xfffffffffffffffbL, &x96);
- { uint64_t x99; uint64_t x98 = _mulx_u64(x92, 0xffffffffffffffffL, &x99);
- { uint8_t x102; uint64_t x101 = _mulx_u64_out_u8(x92, 0x3, &x102);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(0x0, x96, x98, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x99, x101, &x107);
- { uint8_t x109 = (x108 + x102);
- { uint64_t _; uint8_t x112 = _addcarryx_u64(0x0, x80, x95, &_);
- { uint64_t x114; uint8_t x115 = _addcarryx_u64(x112, x83, x104, &x114);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(x115, x86, x107, &x117);
- { uint64_t x120; uint8_t x121 = _addcarryx_u64(x118, x89, x109, &x120);
- { uint8_t x122 = (x121 + x90);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x6, x9, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x6, x11, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x6, x10, &x131);
- { uint64_t x133; uint8_t x134 = _addcarryx_u64(0x0, x125, x127, &x133);
- { uint64_t x136; uint8_t x137 = _addcarryx_u64(x134, x128, x130, &x136);
- { uint64_t x139; uint8_t _ = _addcarryx_u64(0x0, x137, x131, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(0x0, x114, x124, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x117, x133, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x120, x136, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x122, x139, &x151);
- { uint64_t _; uint64_t x154 = _mulx_u64(x142, 0xcccccccccccccccdL, &_);
- { uint64_t x158; uint64_t x157 = _mulx_u64(x154, 0xfffffffffffffffbL, &x158);
- { uint64_t x161; uint64_t x160 = _mulx_u64(x154, 0xffffffffffffffffL, &x161);
- { uint8_t x164; uint64_t x163 = _mulx_u64_out_u8(x154, 0x3, &x164);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(0x0, x158, x160, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x161, x163, &x169);
- { uint8_t x171 = (x170 + x164);
- { uint64_t _; uint8_t x174 = _addcarryx_u64(0x0, x142, x157, &_);
- { uint64_t x176; uint8_t x177 = _addcarryx_u64(x174, x145, x166, &x176);
- { uint64_t x179; uint8_t x180 = _addcarryx_u64(x177, x148, x169, &x179);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x151, x171, &x182);
- { uint8_t x184 = (x183 + x152);
- { uint64_t x186; uint8_t x187 = _subborrow_u64(0x0, x176, 0xfffffffffffffffbL, &x186);
- { uint64_t x189; uint8_t x190 = _subborrow_u64(x187, x179, 0xffffffffffffffffL, &x189);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(x190, x182, 0x3, &x192);
- { uint64_t _; uint8_t x196 = _subborrow_u64(x193, x184, 0x0, &_);
- { uint64_t x197 = cmovznz64(x196, x192, x182);
- { uint64_t x198 = cmovznz64(x196, x189, x179);
- { uint64_t x199 = cmovznz64(x196, x186, x176);
- out[0] = x199;
- out[1] = x198;
- out[2] = x197;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/femul.v b/src/Specific/montgomery64_2e130m5_3limbs/femul.v
deleted file mode 100644
index dc589557f..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.log
deleted file mode 100644
index 51f4abe94..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xcccccccccccccccdL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffffbL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = mulx_u64_out_u8(x31, 0x3);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint8_t x48 = (x47 + x41);
- uint64_t _, uint8_t x51 = addcarryx_u64(0x0, x13, x34);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x22, x43);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x25, x46);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x28, x48);
- uint64_t x62, uint64_t x63 = mulx_u64(x7, x9);
- uint64_t x65, uint64_t x66 = mulx_u64(x7, x11);
- uint64_t x68, uint64_t x69 = mulx_u64(x7, x10);
- uint64_t x71, uint8_t x72 = addcarryx_u64(0x0, x63, x65);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x66, x68);
- uint64_t x77, uint8_t _ = addcarryx_u64(0x0, x75, x69);
- uint64_t x80, uint8_t x81 = addcarryx_u64(0x0, x53, x62);
- uint64_t x83, uint8_t x84 = addcarryx_u64(x81, x56, x71);
- uint64_t x86, uint8_t x87 = addcarryx_u64(x84, x59, x74);
- uint64_t x89, uint8_t x90 = addcarryx_u64(x87, x60, x77);
- uint64_t x92, uint64_t _ = mulx_u64(x80, 0xcccccccccccccccdL);
- uint64_t x95, uint64_t x96 = mulx_u64(x92, 0xfffffffffffffffbL);
- uint64_t x98, uint64_t x99 = mulx_u64(x92, 0xffffffffffffffffL);
- uint64_t x101, uint8_t x102 = mulx_u64_out_u8(x92, 0x3);
- uint64_t x104, uint8_t x105 = addcarryx_u64(0x0, x96, x98);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x99, x101);
- uint8_t x109 = (x108 + x102);
- uint64_t _, uint8_t x112 = addcarryx_u64(0x0, x80, x95);
- uint64_t x114, uint8_t x115 = addcarryx_u64(x112, x83, x104);
- uint64_t x117, uint8_t x118 = addcarryx_u64(x115, x86, x107);
- uint64_t x120, uint8_t x121 = addcarryx_u64(x118, x89, x109);
- uint8_t x122 = (x121 + x90);
- uint64_t x124, uint64_t x125 = mulx_u64(x6, x9);
- uint64_t x127, uint64_t x128 = mulx_u64(x6, x11);
- uint64_t x130, uint64_t x131 = mulx_u64(x6, x10);
- uint64_t x133, uint8_t x134 = addcarryx_u64(0x0, x125, x127);
- uint64_t x136, uint8_t x137 = addcarryx_u64(x134, x128, x130);
- uint64_t x139, uint8_t _ = addcarryx_u64(0x0, x137, x131);
- uint64_t x142, uint8_t x143 = addcarryx_u64(0x0, x114, x124);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x117, x133);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x120, x136);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x122, x139);
- uint64_t x154, uint64_t _ = mulx_u64(x142, 0xcccccccccccccccdL);
- uint64_t x157, uint64_t x158 = mulx_u64(x154, 0xfffffffffffffffbL);
- uint64_t x160, uint64_t x161 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x163, uint8_t x164 = mulx_u64_out_u8(x154, 0x3);
- uint64_t x166, uint8_t x167 = addcarryx_u64(0x0, x158, x160);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x161, x163);
- uint8_t x171 = (x170 + x164);
- uint64_t _, uint8_t x174 = addcarryx_u64(0x0, x142, x157);
- uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x145, x166);
- uint64_t x179, uint8_t x180 = addcarryx_u64(x177, x148, x169);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x151, x171);
- uint8_t x184 = (x183 + x152);
- uint64_t x186, uint8_t x187 = subborrow_u64(0x0, x176, 0xfffffffffffffffbL);
- uint64_t x189, uint8_t x190 = subborrow_u64(x187, x179, 0xffffffffffffffffL);
- uint64_t x192, uint8_t x193 = subborrow_u64(x190, x182, 0x3);
- uint64_t _, uint8_t x196 = subborrow_u64(x193, x184, 0x0);
- uint64_t x197 = cmovznz64(x196, x192, x182);
- uint64_t x198 = cmovznz64(x196, x189, x179);
- uint64_t x199 = cmovznz64(x196, x186, x176);
- return (x197, x198, x199))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.v
deleted file mode 100644
index 3019e3f31..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fenz.c b/src/Specific/montgomery64_2e130m5_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fenz.v b/src/Specific/montgomery64_2e130m5_3limbs/fenz.v
deleted file mode 100644
index e3604d43f..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.v
deleted file mode 100644
index 96aea020e..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feopp.c b/src/Specific/montgomery64_2e130m5_3limbs/feopp.c
deleted file mode 100644
index 5a36bd38d..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffffbL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint8_t x23 = ((uint8_t)x14 & 0x3);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feopp.v b/src/Specific/montgomery64_2e130m5_3limbs/feopp.v
deleted file mode 100644
index e90ba77cf..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.log
deleted file mode 100644
index d35231424..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffffbL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint8_t x23 = ((uint8_t)x14 & 0x3);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.v
deleted file mode 100644
index 19683e664..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fesquare.c b/src/Specific/montgomery64_2e130m5_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fesub.c b/src/Specific/montgomery64_2e130m5_3limbs/fesub.c
deleted file mode 100644
index a7a5ad633..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffffbL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint8_t x30 = ((uint8_t)x21 & 0x3);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fesub.v b/src/Specific/montgomery64_2e130m5_3limbs/fesub.v
deleted file mode 100644
index 1e11cb37b..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.log
deleted file mode 100644
index 28a5a458b..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffffbL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint8_t x30 = ((uint8_t)x21 & 0x3);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.v
deleted file mode 100644
index 5fecb349f..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e130m5_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e130m5_3limbs/py_interpreter.sh
deleted file mode 100755
index 9db7098ab..000000000
--- a/src/Specific/montgomery64_2e130m5_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**130 - 5' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e137m13_3limbs/CurveParameters.v
deleted file mode 100644
index 2e161dd87..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^137 - 13
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^137;
- c := [(1, 13)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e137m13_3limbs/Synthesis.v b/src/Specific/montgomery64_2e137m13_3limbs/Synthesis.v
deleted file mode 100644
index 5ec00bff6..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.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/montgomery64_2e137m13_3limbs/compiler.sh b/src/Specific/montgomery64_2e137m13_3limbs/compiler.sh
deleted file mode 100755
index b63f7fef1..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e137m13_3limbs/compilerxx.sh
deleted file mode 100755
index aafdde49b..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feadd.c b/src/Specific/montgomery64_2e137m13_3limbs/feadd.c
deleted file mode 100644
index 57dc9adb8..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffff3L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x1ff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feadd.v b/src/Specific/montgomery64_2e137m13_3limbs/feadd.v
deleted file mode 100644
index c91238348..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.log
deleted file mode 100644
index 656a4babe..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffff3L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1ff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.v
deleted file mode 100644
index c17888f1a..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/femul.c b/src/Specific/montgomery64_2e137m13_3limbs/femul.c
deleted file mode 100644
index 6c502e42a..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x4ec4ec4ec4ec4ec5, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffff3L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x1ff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x4ec4ec4ec4ec4ec5, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffff3L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x1ff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x4ec4ec4ec4ec4ec5, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffff3L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x1ff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffff3L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x1ff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/femul.v b/src/Specific/montgomery64_2e137m13_3limbs/femul.v
deleted file mode 100644
index 9ca491b89..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.log
deleted file mode 100644
index 04fb62766..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x4ec4ec4ec4ec4ec5);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffff3L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x1ff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x4ec4ec4ec4ec4ec5);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffff3L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x1ff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x4ec4ec4ec4ec4ec5);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffff3L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x1ff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffff3L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x1ff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.v
deleted file mode 100644
index 88da658f3..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fenz.c b/src/Specific/montgomery64_2e137m13_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fenz.v b/src/Specific/montgomery64_2e137m13_3limbs/fenz.v
deleted file mode 100644
index 57785dccb..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.v
deleted file mode 100644
index fee0e85cc..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feopp.c b/src/Specific/montgomery64_2e137m13_3limbs/feopp.c
deleted file mode 100644
index 77448545e..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffff3L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x1ff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feopp.v b/src/Specific/montgomery64_2e137m13_3limbs/feopp.v
deleted file mode 100644
index 5f26f7178..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.log
deleted file mode 100644
index 40ece040b..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffff3L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x1ff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.v
deleted file mode 100644
index bd99daa02..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fesquare.c b/src/Specific/montgomery64_2e137m13_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fesub.c b/src/Specific/montgomery64_2e137m13_3limbs/fesub.c
deleted file mode 100644
index 48eba5996..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffff3L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x1ff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fesub.v b/src/Specific/montgomery64_2e137m13_3limbs/fesub.v
deleted file mode 100644
index c33fcdfa6..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.log
deleted file mode 100644
index c9e562b56..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffff3L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x1ff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.v
deleted file mode 100644
index cc4dd7b68..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e137m13_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e137m13_3limbs/py_interpreter.sh
deleted file mode 100755
index ad658f727..000000000
--- a/src/Specific/montgomery64_2e137m13_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**137 - 13' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e140m27_3limbs/CurveParameters.v
deleted file mode 100644
index 7ff1f6a0f..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^140 - 27
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^140;
- c := [(1, 27)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e140m27_3limbs/Synthesis.v b/src/Specific/montgomery64_2e140m27_3limbs/Synthesis.v
deleted file mode 100644
index f5771c3a4..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.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/montgomery64_2e140m27_3limbs/compiler.sh b/src/Specific/montgomery64_2e140m27_3limbs/compiler.sh
deleted file mode 100755
index 6048dffd9..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e140m27_3limbs/compilerxx.sh
deleted file mode 100755
index 416ee208b..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feadd.c b/src/Specific/montgomery64_2e140m27_3limbs/feadd.c
deleted file mode 100644
index ef4942348..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffe5L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0xfff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feadd.v b/src/Specific/montgomery64_2e140m27_3limbs/feadd.v
deleted file mode 100644
index 3fe089dec..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.log
deleted file mode 100644
index f20421f20..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffe5L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0xfff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.v
deleted file mode 100644
index fbcd93104..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/femul.c b/src/Specific/montgomery64_2e140m27_3limbs/femul.c
deleted file mode 100644
index 4668a124b..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x84bda12f684bda13L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffe5L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0xfff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x84bda12f684bda13L, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffe5L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0xfff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x84bda12f684bda13L, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffe5L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0xfff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffe5L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0xfff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/femul.v b/src/Specific/montgomery64_2e140m27_3limbs/femul.v
deleted file mode 100644
index c874efa60..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.log
deleted file mode 100644
index 3c21d92e6..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x84bda12f684bda13L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffe5L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0xfff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x84bda12f684bda13L);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffe5L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0xfff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x84bda12f684bda13L);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffe5L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0xfff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffe5L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0xfff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.v
deleted file mode 100644
index a40a4354a..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fenz.c b/src/Specific/montgomery64_2e140m27_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fenz.v b/src/Specific/montgomery64_2e140m27_3limbs/fenz.v
deleted file mode 100644
index 984ce7223..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.v
deleted file mode 100644
index 5380e0abd..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feopp.c b/src/Specific/montgomery64_2e140m27_3limbs/feopp.c
deleted file mode 100644
index b0a35f3f6..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffe5L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0xfff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feopp.v b/src/Specific/montgomery64_2e140m27_3limbs/feopp.v
deleted file mode 100644
index 86bd005a9..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.log
deleted file mode 100644
index 1709ee6e4..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffe5L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0xfff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.v
deleted file mode 100644
index f033f6195..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fesquare.c b/src/Specific/montgomery64_2e140m27_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fesub.c b/src/Specific/montgomery64_2e140m27_3limbs/fesub.c
deleted file mode 100644
index f386086c1..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffe5L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0xfff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fesub.v b/src/Specific/montgomery64_2e140m27_3limbs/fesub.v
deleted file mode 100644
index 092f2ae22..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.log
deleted file mode 100644
index 7a2fde310..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffe5L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0xfff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.v
deleted file mode 100644
index ba9abfea1..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e140m27_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e140m27_3limbs/py_interpreter.sh
deleted file mode 100755
index 3b2de8348..000000000
--- a/src/Specific/montgomery64_2e140m27_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**140 - 27' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e141m9_3limbs/CurveParameters.v
deleted file mode 100644
index 1d4146465..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^141 - 9
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^141;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e141m9_3limbs/Synthesis.v b/src/Specific/montgomery64_2e141m9_3limbs/Synthesis.v
deleted file mode 100644
index 737c73876..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.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/montgomery64_2e141m9_3limbs/compiler.sh b/src/Specific/montgomery64_2e141m9_3limbs/compiler.sh
deleted file mode 100755
index 31430d48d..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e141m9_3limbs/compilerxx.sh
deleted file mode 100755
index a13ba18cb..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feadd.c b/src/Specific/montgomery64_2e141m9_3limbs/feadd.c
deleted file mode 100644
index 484a1128e..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffff7L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x1fff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feadd.v b/src/Specific/montgomery64_2e141m9_3limbs/feadd.v
deleted file mode 100644
index d6c7afee0..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.log
deleted file mode 100644
index 23d38a106..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffff7L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1fff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.v
deleted file mode 100644
index 1123110f3..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/femul.c b/src/Specific/montgomery64_2e141m9_3limbs/femul.c
deleted file mode 100644
index 2d0bf967e..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x8e38e38e38e38e39L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffff7L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x1fff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x8e38e38e38e38e39L, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffff7L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x1fff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x8e38e38e38e38e39L, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffff7L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x1fff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffff7L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x1fff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/femul.v b/src/Specific/montgomery64_2e141m9_3limbs/femul.v
deleted file mode 100644
index 8199f911c..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.log
deleted file mode 100644
index 55ed27c92..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x8e38e38e38e38e39L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffff7L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x1fff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x8e38e38e38e38e39L);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffff7L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x1fff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x8e38e38e38e38e39L);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffff7L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x1fff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffff7L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x1fff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.v
deleted file mode 100644
index 3b5b12251..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fenz.c b/src/Specific/montgomery64_2e141m9_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fenz.v b/src/Specific/montgomery64_2e141m9_3limbs/fenz.v
deleted file mode 100644
index 2ece89136..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.v
deleted file mode 100644
index 4f3fb14b0..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feopp.c b/src/Specific/montgomery64_2e141m9_3limbs/feopp.c
deleted file mode 100644
index 53662378d..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffff7L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x1fff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feopp.v b/src/Specific/montgomery64_2e141m9_3limbs/feopp.v
deleted file mode 100644
index f55172b1a..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.log
deleted file mode 100644
index e542a5f6c..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffff7L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x1fff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.v
deleted file mode 100644
index 871c4929c..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fesquare.c b/src/Specific/montgomery64_2e141m9_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fesub.c b/src/Specific/montgomery64_2e141m9_3limbs/fesub.c
deleted file mode 100644
index b0a285053..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffff7L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x1fff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fesub.v b/src/Specific/montgomery64_2e141m9_3limbs/fesub.v
deleted file mode 100644
index e405c867d..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.log
deleted file mode 100644
index 28e2d96ca..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffff7L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x1fff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.v
deleted file mode 100644
index 3334d475e..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e141m9_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e141m9_3limbs/py_interpreter.sh
deleted file mode 100755
index 688f9b1ae..000000000
--- a/src/Specific/montgomery64_2e141m9_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**141 - 9' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e150m3_3limbs/CurveParameters.v
deleted file mode 100644
index 9fa7b1f6b..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^150;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e150m3_3limbs/Synthesis.v b/src/Specific/montgomery64_2e150m3_3limbs/Synthesis.v
deleted file mode 100644
index 9f819a862..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.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/montgomery64_2e150m3_3limbs/compiler.sh b/src/Specific/montgomery64_2e150m3_3limbs/compiler.sh
deleted file mode 100755
index ca25cb24e..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e150m3_3limbs/compilerxx.sh
deleted file mode 100755
index 7b96d7c01..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feadd.c b/src/Specific/montgomery64_2e150m3_3limbs/feadd.c
deleted file mode 100644
index f7bf1ae57..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffffdL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feadd.v b/src/Specific/montgomery64_2e150m3_3limbs/feadd.v
deleted file mode 100644
index c936d4a4f..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.log
deleted file mode 100644
index bf8484756..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffffdL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.v
deleted file mode 100644
index 625a44ea6..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/femul.c b/src/Specific/montgomery64_2e150m3_3limbs/femul.c
deleted file mode 100644
index e6c781e6d..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffffdL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffffdL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffffdL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffffdL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/femul.v b/src/Specific/montgomery64_2e150m3_3limbs/femul.v
deleted file mode 100644
index badeb3085..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.log
deleted file mode 100644
index e0c671325..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xaaaaaaaaaaaaaaabL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffffdL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xaaaaaaaaaaaaaaabL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffffdL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xaaaaaaaaaaaaaaabL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffffdL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffffdL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.v
deleted file mode 100644
index 59008ab56..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fenz.c b/src/Specific/montgomery64_2e150m3_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fenz.v b/src/Specific/montgomery64_2e150m3_3limbs/fenz.v
deleted file mode 100644
index 8da2117c7..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.v
deleted file mode 100644
index 575f5c536..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feopp.c b/src/Specific/montgomery64_2e150m3_3limbs/feopp.c
deleted file mode 100644
index d70d226e0..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffffdL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feopp.v b/src/Specific/montgomery64_2e150m3_3limbs/feopp.v
deleted file mode 100644
index a22ebf8df..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.log
deleted file mode 100644
index 557bc3a13..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffffdL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.v
deleted file mode 100644
index b49d85661..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fesquare.c b/src/Specific/montgomery64_2e150m3_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fesub.c b/src/Specific/montgomery64_2e150m3_3limbs/fesub.c
deleted file mode 100644
index f25324f92..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffffdL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fesub.v b/src/Specific/montgomery64_2e150m3_3limbs/fesub.v
deleted file mode 100644
index 92e08e429..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.log
deleted file mode 100644
index 11c135bd2..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffffdL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.v
deleted file mode 100644
index 8cd9f347c..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m3_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e150m3_3limbs/py_interpreter.sh
deleted file mode 100755
index e14a82219..000000000
--- a/src/Specific/montgomery64_2e150m3_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e150m5_3limbs/CurveParameters.v
deleted file mode 100644
index 249d46427..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 5
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^150;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e150m5_3limbs/Synthesis.v b/src/Specific/montgomery64_2e150m5_3limbs/Synthesis.v
deleted file mode 100644
index 091670552..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.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/montgomery64_2e150m5_3limbs/compiler.sh b/src/Specific/montgomery64_2e150m5_3limbs/compiler.sh
deleted file mode 100755
index 7f2862afe..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e150m5_3limbs/compilerxx.sh
deleted file mode 100755
index 3e1c57da0..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feadd.c b/src/Specific/montgomery64_2e150m5_3limbs/feadd.c
deleted file mode 100644
index 0b31721e5..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffffbL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feadd.v b/src/Specific/montgomery64_2e150m5_3limbs/feadd.v
deleted file mode 100644
index 73b8b10dc..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.log
deleted file mode 100644
index 654bbedc7..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffffbL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.v
deleted file mode 100644
index 25cb94d17..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/femul.c b/src/Specific/montgomery64_2e150m5_3limbs/femul.c
deleted file mode 100644
index 0ae71da39..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xcccccccccccccccdL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffffbL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xcccccccccccccccdL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffffbL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xcccccccccccccccdL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffffbL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffffbL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/femul.v b/src/Specific/montgomery64_2e150m5_3limbs/femul.v
deleted file mode 100644
index 3efedb6cc..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.log
deleted file mode 100644
index ea386329f..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xcccccccccccccccdL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffffbL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xcccccccccccccccdL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffffbL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xcccccccccccccccdL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffffbL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffffbL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.v
deleted file mode 100644
index 687a470d5..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fenz.c b/src/Specific/montgomery64_2e150m5_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fenz.v b/src/Specific/montgomery64_2e150m5_3limbs/fenz.v
deleted file mode 100644
index 86d1078c7..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.v
deleted file mode 100644
index 514ad74f6..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feopp.c b/src/Specific/montgomery64_2e150m5_3limbs/feopp.c
deleted file mode 100644
index f0bb881e1..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffffbL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feopp.v b/src/Specific/montgomery64_2e150m5_3limbs/feopp.v
deleted file mode 100644
index 39f7fb5d5..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.log
deleted file mode 100644
index beeba9404..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffffbL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.v
deleted file mode 100644
index a3cd94e86..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fesquare.c b/src/Specific/montgomery64_2e150m5_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fesub.c b/src/Specific/montgomery64_2e150m5_3limbs/fesub.c
deleted file mode 100644
index ee9031dc5..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffffbL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fesub.v b/src/Specific/montgomery64_2e150m5_3limbs/fesub.v
deleted file mode 100644
index 4fc6b12e7..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.log
deleted file mode 100644
index 1455a0777..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffffbL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.v
deleted file mode 100644
index 947bd8fd2..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e150m5_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e150m5_3limbs/py_interpreter.sh
deleted file mode 100755
index 47b3f75d5..000000000
--- a/src/Specific/montgomery64_2e150m5_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 5' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e152m17_3limbs/CurveParameters.v
deleted file mode 100644
index 581741f40..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^152 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^152;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e152m17_3limbs/Synthesis.v b/src/Specific/montgomery64_2e152m17_3limbs/Synthesis.v
deleted file mode 100644
index 09c703965..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.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/montgomery64_2e152m17_3limbs/compiler.sh b/src/Specific/montgomery64_2e152m17_3limbs/compiler.sh
deleted file mode 100755
index 0d78754b2..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e152m17_3limbs/compilerxx.sh
deleted file mode 100755
index ea28b88b3..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feadd.c b/src/Specific/montgomery64_2e152m17_3limbs/feadd.c
deleted file mode 100644
index b280cb729..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffefL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0xffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feadd.v b/src/Specific/montgomery64_2e152m17_3limbs/feadd.v
deleted file mode 100644
index c4789708f..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.log
deleted file mode 100644
index 3c1c0d937..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffefL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0xffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.v
deleted file mode 100644
index 771f8c841..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/femul.c b/src/Specific/montgomery64_2e152m17_3limbs/femul.c
deleted file mode 100644
index 401222097..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffefL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0xffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffefL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0xffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffefL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0xffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffefL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0xffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/femul.v b/src/Specific/montgomery64_2e152m17_3limbs/femul.v
deleted file mode 100644
index 1c3e1c133..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.log
deleted file mode 100644
index 6c3eb91fb..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffefL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0xffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffefL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0xffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffefL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0xffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffefL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0xffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.v
deleted file mode 100644
index 78af37297..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fenz.c b/src/Specific/montgomery64_2e152m17_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fenz.v b/src/Specific/montgomery64_2e152m17_3limbs/fenz.v
deleted file mode 100644
index 800904599..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.v
deleted file mode 100644
index a076b2db2..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feopp.c b/src/Specific/montgomery64_2e152m17_3limbs/feopp.c
deleted file mode 100644
index cbf79bcda..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffefL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0xffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feopp.v b/src/Specific/montgomery64_2e152m17_3limbs/feopp.v
deleted file mode 100644
index 9ef6f4979..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.log
deleted file mode 100644
index e27602ec5..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffefL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0xffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.v
deleted file mode 100644
index 8af8e8a84..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fesquare.c b/src/Specific/montgomery64_2e152m17_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fesub.c b/src/Specific/montgomery64_2e152m17_3limbs/fesub.c
deleted file mode 100644
index 81ae44d47..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffefL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0xffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fesub.v b/src/Specific/montgomery64_2e152m17_3limbs/fesub.v
deleted file mode 100644
index a7ad8dbc9..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.log
deleted file mode 100644
index 3d107ab03..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffefL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0xffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.v
deleted file mode 100644
index cd65b26df..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e152m17_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e152m17_3limbs/py_interpreter.sh
deleted file mode 100755
index 15b8e2ca4..000000000
--- a/src/Specific/montgomery64_2e152m17_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**152 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e158m15_3limbs/CurveParameters.v
deleted file mode 100644
index 82c1baba1..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^158 - 15
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^158;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e158m15_3limbs/Synthesis.v b/src/Specific/montgomery64_2e158m15_3limbs/Synthesis.v
deleted file mode 100644
index e7ac59824..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.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/montgomery64_2e158m15_3limbs/compiler.sh b/src/Specific/montgomery64_2e158m15_3limbs/compiler.sh
deleted file mode 100755
index 3c766e035..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e158m15_3limbs/compilerxx.sh
deleted file mode 100755
index 0ce18d17e..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feadd.c b/src/Specific/montgomery64_2e158m15_3limbs/feadd.c
deleted file mode 100644
index 686fa28f6..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffff1L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feadd.v b/src/Specific/montgomery64_2e158m15_3limbs/feadd.v
deleted file mode 100644
index db2860447..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.log
deleted file mode 100644
index e58fcd683..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffff1L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.v
deleted file mode 100644
index bc7390fda..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/femul.c b/src/Specific/montgomery64_2e158m15_3limbs/femul.c
deleted file mode 100644
index d83532e8a..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffff1L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffff1L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffff1L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffff1L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/femul.v b/src/Specific/montgomery64_2e158m15_3limbs/femul.v
deleted file mode 100644
index fce127a7c..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.log
deleted file mode 100644
index d982c5b1b..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xeeeeeeeeeeeeeeefL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffff1L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xeeeeeeeeeeeeeeefL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffff1L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xeeeeeeeeeeeeeeefL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffff1L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffff1L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.v
deleted file mode 100644
index 71f2c7c26..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fenz.c b/src/Specific/montgomery64_2e158m15_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fenz.v b/src/Specific/montgomery64_2e158m15_3limbs/fenz.v
deleted file mode 100644
index d2103a75c..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.v
deleted file mode 100644
index 2c436f2df..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feopp.c b/src/Specific/montgomery64_2e158m15_3limbs/feopp.c
deleted file mode 100644
index ded084772..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffff1L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feopp.v b/src/Specific/montgomery64_2e158m15_3limbs/feopp.v
deleted file mode 100644
index b76d97a08..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.log
deleted file mode 100644
index 958bc93f4..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffff1L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.v
deleted file mode 100644
index 77d443efc..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fesquare.c b/src/Specific/montgomery64_2e158m15_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fesub.c b/src/Specific/montgomery64_2e158m15_3limbs/fesub.c
deleted file mode 100644
index 793809f57..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffff1L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fesub.v b/src/Specific/montgomery64_2e158m15_3limbs/fesub.v
deleted file mode 100644
index bac77b733..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.log
deleted file mode 100644
index 5539940ca..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffff1L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.v
deleted file mode 100644
index 4a7dc6241..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e158m15_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e158m15_3limbs/py_interpreter.sh
deleted file mode 100755
index d0abc4958..000000000
--- a/src/Specific/montgomery64_2e158m15_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**158 - 15' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e165m25_3limbs/CurveParameters.v
deleted file mode 100644
index 3915190cb..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^165 - 25
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^165;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e165m25_3limbs/Synthesis.v b/src/Specific/montgomery64_2e165m25_3limbs/Synthesis.v
deleted file mode 100644
index 456a52b20..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.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/montgomery64_2e165m25_3limbs/compiler.sh b/src/Specific/montgomery64_2e165m25_3limbs/compiler.sh
deleted file mode 100755
index d97d73b6c..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e165m25_3limbs/compilerxx.sh
deleted file mode 100755
index e2b7ad2d1..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feadd.c b/src/Specific/montgomery64_2e165m25_3limbs/feadd.c
deleted file mode 100644
index 8fd844560..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffe7L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x1fffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feadd.v b/src/Specific/montgomery64_2e165m25_3limbs/feadd.v
deleted file mode 100644
index f0c72969d..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.log
deleted file mode 100644
index 909d6bf32..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffe7L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1fffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.v
deleted file mode 100644
index f60581326..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/femul.c b/src/Specific/montgomery64_2e165m25_3limbs/femul.c
deleted file mode 100644
index 1a40a737b..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffe7L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x1fffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffe7L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x1fffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffe7L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x1fffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffe7L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x1fffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/femul.v b/src/Specific/montgomery64_2e165m25_3limbs/femul.v
deleted file mode 100644
index 9d3fdafd9..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.log
deleted file mode 100644
index 695ddce41..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x8f5c28f5c28f5c29L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffe7L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x1fffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x8f5c28f5c28f5c29L);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffe7L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x1fffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x8f5c28f5c28f5c29L);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffe7L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x1fffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffe7L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x1fffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.v
deleted file mode 100644
index deff6e70a..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fenz.c b/src/Specific/montgomery64_2e165m25_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fenz.v b/src/Specific/montgomery64_2e165m25_3limbs/fenz.v
deleted file mode 100644
index ac40c5c44..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.v
deleted file mode 100644
index 7162ad896..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feopp.c b/src/Specific/montgomery64_2e165m25_3limbs/feopp.c
deleted file mode 100644
index fbb4ed8d5..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffe7L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x1fffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feopp.v b/src/Specific/montgomery64_2e165m25_3limbs/feopp.v
deleted file mode 100644
index 5862ef613..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.log
deleted file mode 100644
index c82d3098f..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffe7L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x1fffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.v
deleted file mode 100644
index 6370b90e8..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fesquare.c b/src/Specific/montgomery64_2e165m25_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fesub.c b/src/Specific/montgomery64_2e165m25_3limbs/fesub.c
deleted file mode 100644
index b7cec3891..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffe7L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x1fffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fesub.v b/src/Specific/montgomery64_2e165m25_3limbs/fesub.v
deleted file mode 100644
index 0e0d27ef5..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.log
deleted file mode 100644
index 505664e2b..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffe7L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x1fffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.v
deleted file mode 100644
index 1b9af7896..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e165m25_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e165m25_3limbs/py_interpreter.sh
deleted file mode 100755
index 5a5da3087..000000000
--- a/src/Specific/montgomery64_2e165m25_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**165 - 25' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e166m5_3limbs/CurveParameters.v
deleted file mode 100644
index b80118c5e..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^166 - 5
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^166;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e166m5_3limbs/Synthesis.v b/src/Specific/montgomery64_2e166m5_3limbs/Synthesis.v
deleted file mode 100644
index 4f271165d..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.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/montgomery64_2e166m5_3limbs/compiler.sh b/src/Specific/montgomery64_2e166m5_3limbs/compiler.sh
deleted file mode 100755
index 12ae63583..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e166m5_3limbs/compilerxx.sh
deleted file mode 100755
index 26aebde3f..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feadd.c b/src/Specific/montgomery64_2e166m5_3limbs/feadd.c
deleted file mode 100644
index ddd0e590c..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffffbL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feadd.v b/src/Specific/montgomery64_2e166m5_3limbs/feadd.v
deleted file mode 100644
index e6cfdc036..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.log
deleted file mode 100644
index 91dc59768..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffffbL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.v
deleted file mode 100644
index a93030528..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/femul.c b/src/Specific/montgomery64_2e166m5_3limbs/femul.c
deleted file mode 100644
index 90f8a9ba1..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xcccccccccccccccdL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffffbL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xcccccccccccccccdL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffffbL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xcccccccccccccccdL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffffbL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffffbL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/femul.v b/src/Specific/montgomery64_2e166m5_3limbs/femul.v
deleted file mode 100644
index 180bb0a9b..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.log
deleted file mode 100644
index 71c77bb01..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xcccccccccccccccdL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffffbL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xcccccccccccccccdL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffffbL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xcccccccccccccccdL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffffbL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffffbL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.v
deleted file mode 100644
index 880ca464b..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fenz.c b/src/Specific/montgomery64_2e166m5_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fenz.v b/src/Specific/montgomery64_2e166m5_3limbs/fenz.v
deleted file mode 100644
index 78394c814..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.v
deleted file mode 100644
index 97e275229..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feopp.c b/src/Specific/montgomery64_2e166m5_3limbs/feopp.c
deleted file mode 100644
index c99dc61d8..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffffbL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feopp.v b/src/Specific/montgomery64_2e166m5_3limbs/feopp.v
deleted file mode 100644
index ec8152367..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.log
deleted file mode 100644
index e58f8f51f..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffffbL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.v
deleted file mode 100644
index fead2b95a..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fesquare.c b/src/Specific/montgomery64_2e166m5_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fesub.c b/src/Specific/montgomery64_2e166m5_3limbs/fesub.c
deleted file mode 100644
index f4c87ad6d..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffffbL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fesub.v b/src/Specific/montgomery64_2e166m5_3limbs/fesub.v
deleted file mode 100644
index 51fcfecb1..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.log
deleted file mode 100644
index 3ab9ec12d..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffffbL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.v
deleted file mode 100644
index 71293c831..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e166m5_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e166m5_3limbs/py_interpreter.sh
deleted file mode 100755
index a5e2020e0..000000000
--- a/src/Specific/montgomery64_2e166m5_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**166 - 5' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e171m19_3limbs/CurveParameters.v
deleted file mode 100644
index 776c36f1e..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^171 - 19
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^171;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e171m19_3limbs/Synthesis.v b/src/Specific/montgomery64_2e171m19_3limbs/Synthesis.v
deleted file mode 100644
index 78cf8e037..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.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/montgomery64_2e171m19_3limbs/compiler.sh b/src/Specific/montgomery64_2e171m19_3limbs/compiler.sh
deleted file mode 100755
index 713ccab40..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e171m19_3limbs/compilerxx.sh
deleted file mode 100755
index 7b5702392..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feadd.c b/src/Specific/montgomery64_2e171m19_3limbs/feadd.c
deleted file mode 100644
index cfc2a28d9..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffedL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x7ffffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feadd.v b/src/Specific/montgomery64_2e171m19_3limbs/feadd.v
deleted file mode 100644
index 2b8f9218b..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.log
deleted file mode 100644
index e1dee8a70..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffedL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x7ffffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.v
deleted file mode 100644
index bcbd06ffc..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/femul.c b/src/Specific/montgomery64_2e171m19_3limbs/femul.c
deleted file mode 100644
index f48dbe98d..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x86bca1af286bca1bL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffedL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x7ffffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x86bca1af286bca1bL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffedL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x7ffffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x86bca1af286bca1bL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffedL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x7ffffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffedL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x7ffffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/femul.v b/src/Specific/montgomery64_2e171m19_3limbs/femul.v
deleted file mode 100644
index d7e8f70d2..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.log
deleted file mode 100644
index 1025fdd76..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x86bca1af286bca1bL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffedL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x7ffffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x86bca1af286bca1bL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffedL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x7ffffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x86bca1af286bca1bL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffedL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x7ffffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffedL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x7ffffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.v
deleted file mode 100644
index 8155241f7..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fenz.c b/src/Specific/montgomery64_2e171m19_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fenz.v b/src/Specific/montgomery64_2e171m19_3limbs/fenz.v
deleted file mode 100644
index d10741407..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.v
deleted file mode 100644
index e2b2b174c..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feopp.c b/src/Specific/montgomery64_2e171m19_3limbs/feopp.c
deleted file mode 100644
index e62a4e9b6..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffedL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x7ffffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feopp.v b/src/Specific/montgomery64_2e171m19_3limbs/feopp.v
deleted file mode 100644
index 846d7a13e..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.log
deleted file mode 100644
index 4c3fc354d..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffedL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x7ffffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.v
deleted file mode 100644
index 9952d5190..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fesquare.c b/src/Specific/montgomery64_2e171m19_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fesub.c b/src/Specific/montgomery64_2e171m19_3limbs/fesub.c
deleted file mode 100644
index dc95081fa..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffedL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x7ffffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fesub.v b/src/Specific/montgomery64_2e171m19_3limbs/fesub.v
deleted file mode 100644
index a1a1c0f5c..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.log
deleted file mode 100644
index aa902b08f..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffedL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x7ffffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.v
deleted file mode 100644
index f3039138f..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e171m19_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e171m19_3limbs/py_interpreter.sh
deleted file mode 100755
index 0fe99a0e3..000000000
--- a/src/Specific/montgomery64_2e171m19_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**171 - 19' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e174m17_3limbs/CurveParameters.v
deleted file mode 100644
index 73ad4b3fe..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^174;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e174m17_3limbs/Synthesis.v b/src/Specific/montgomery64_2e174m17_3limbs/Synthesis.v
deleted file mode 100644
index 70568abd2..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.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/montgomery64_2e174m17_3limbs/compiler.sh b/src/Specific/montgomery64_2e174m17_3limbs/compiler.sh
deleted file mode 100755
index a9128a83d..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e174m17_3limbs/compilerxx.sh
deleted file mode 100755
index 399df141f..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feadd.c b/src/Specific/montgomery64_2e174m17_3limbs/feadd.c
deleted file mode 100644
index 0b55b0a1f..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffefL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feadd.v b/src/Specific/montgomery64_2e174m17_3limbs/feadd.v
deleted file mode 100644
index d7d6f3077..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.log
deleted file mode 100644
index 8e63c8563..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffefL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.v
deleted file mode 100644
index 6f5eb8593..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/femul.c b/src/Specific/montgomery64_2e174m17_3limbs/femul.c
deleted file mode 100644
index 1b4daae65..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffefL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffefL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffefL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffefL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/femul.v b/src/Specific/montgomery64_2e174m17_3limbs/femul.v
deleted file mode 100644
index 812ee9c1b..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.log
deleted file mode 100644
index 8fbd68327..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffefL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffefL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffefL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffefL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.v
deleted file mode 100644
index 85cdd2db3..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fenz.c b/src/Specific/montgomery64_2e174m17_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fenz.v b/src/Specific/montgomery64_2e174m17_3limbs/fenz.v
deleted file mode 100644
index 3320b4336..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.v
deleted file mode 100644
index fa6b82bf2..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feopp.c b/src/Specific/montgomery64_2e174m17_3limbs/feopp.c
deleted file mode 100644
index 9702a946c..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffefL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feopp.v b/src/Specific/montgomery64_2e174m17_3limbs/feopp.v
deleted file mode 100644
index e0d83fe6d..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.log
deleted file mode 100644
index c3b02e611..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffefL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.v
deleted file mode 100644
index 7dd23b868..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fesquare.c b/src/Specific/montgomery64_2e174m17_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fesub.c b/src/Specific/montgomery64_2e174m17_3limbs/fesub.c
deleted file mode 100644
index 8c618bdcc..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffefL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fesub.v b/src/Specific/montgomery64_2e174m17_3limbs/fesub.v
deleted file mode 100644
index e2e1b6fa7..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.log
deleted file mode 100644
index 5274fa01c..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffefL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.v
deleted file mode 100644
index 7b02ea6e9..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m17_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e174m17_3limbs/py_interpreter.sh
deleted file mode 100755
index ac5979bf9..000000000
--- a/src/Specific/montgomery64_2e174m17_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e174m3_3limbs/CurveParameters.v
deleted file mode 100644
index fe20134ec..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^174;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e174m3_3limbs/Synthesis.v b/src/Specific/montgomery64_2e174m3_3limbs/Synthesis.v
deleted file mode 100644
index 4b475f02e..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.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/montgomery64_2e174m3_3limbs/compiler.sh b/src/Specific/montgomery64_2e174m3_3limbs/compiler.sh
deleted file mode 100755
index 5f6e705d3..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e174m3_3limbs/compilerxx.sh
deleted file mode 100755
index cae2ec26f..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feadd.c b/src/Specific/montgomery64_2e174m3_3limbs/feadd.c
deleted file mode 100644
index 3d83e59ed..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffffdL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feadd.v b/src/Specific/montgomery64_2e174m3_3limbs/feadd.v
deleted file mode 100644
index b43fdfa7b..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.log
deleted file mode 100644
index c559ecee4..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffffdL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.v
deleted file mode 100644
index 514b81fda..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/femul.c b/src/Specific/montgomery64_2e174m3_3limbs/femul.c
deleted file mode 100644
index ae9801d21..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffffdL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffffdL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffffdL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffffdL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/femul.v b/src/Specific/montgomery64_2e174m3_3limbs/femul.v
deleted file mode 100644
index f3df08665..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.log
deleted file mode 100644
index e8cea29ab..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0xaaaaaaaaaaaaaaabL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffffdL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0xaaaaaaaaaaaaaaabL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffffdL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0xaaaaaaaaaaaaaaabL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffffdL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffffdL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.v
deleted file mode 100644
index e7c5d83b4..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fenz.c b/src/Specific/montgomery64_2e174m3_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fenz.v b/src/Specific/montgomery64_2e174m3_3limbs/fenz.v
deleted file mode 100644
index dbb484584..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.v
deleted file mode 100644
index 230660c92..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feopp.c b/src/Specific/montgomery64_2e174m3_3limbs/feopp.c
deleted file mode 100644
index 19ee56f31..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffffdL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feopp.v b/src/Specific/montgomery64_2e174m3_3limbs/feopp.v
deleted file mode 100644
index 2cc6c0362..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.log
deleted file mode 100644
index 1990945e3..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffffdL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.v
deleted file mode 100644
index c99c43c1a..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fesquare.c b/src/Specific/montgomery64_2e174m3_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fesub.c b/src/Specific/montgomery64_2e174m3_3limbs/fesub.c
deleted file mode 100644
index d92e16d29..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffffdL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fesub.v b/src/Specific/montgomery64_2e174m3_3limbs/fesub.v
deleted file mode 100644
index b2d6fd812..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.log
deleted file mode 100644
index 06cc33bbf..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffffdL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.v
deleted file mode 100644
index cfc796386..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e174m3_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e174m3_3limbs/py_interpreter.sh
deleted file mode 100755
index d66ba455b..000000000
--- a/src/Specific/montgomery64_2e174m3_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e189m25_3limbs/CurveParameters.v
deleted file mode 100644
index 6f8159a72..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^189 - 25
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^189;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e189m25_3limbs/Synthesis.v b/src/Specific/montgomery64_2e189m25_3limbs/Synthesis.v
deleted file mode 100644
index 5721758fa..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.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/montgomery64_2e189m25_3limbs/compiler.sh b/src/Specific/montgomery64_2e189m25_3limbs/compiler.sh
deleted file mode 100755
index ffd313718..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e189m25_3limbs/compilerxx.sh
deleted file mode 100755
index f5808a04e..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feadd.c b/src/Specific/montgomery64_2e189m25_3limbs/feadd.c
deleted file mode 100644
index 297cd9cbc..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffe7L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x1fffffffffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feadd.v b/src/Specific/montgomery64_2e189m25_3limbs/feadd.v
deleted file mode 100644
index 581a541d2..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.log
deleted file mode 100644
index 831ce8317..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffe7L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1fffffffffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.v
deleted file mode 100644
index 84ce8b70f..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/femul.c b/src/Specific/montgomery64_2e189m25_3limbs/femul.c
deleted file mode 100644
index c5a3d4492..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffe7L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x1fffffffffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffe7L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x1fffffffffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffe7L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x1fffffffffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffe7L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x1fffffffffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/femul.v b/src/Specific/montgomery64_2e189m25_3limbs/femul.v
deleted file mode 100644
index 9aa5bfdfb..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.log
deleted file mode 100644
index d0507df07..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x8f5c28f5c28f5c29L);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffe7L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x1fffffffffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x8f5c28f5c28f5c29L);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffe7L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x1fffffffffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x8f5c28f5c28f5c29L);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffe7L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x1fffffffffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffe7L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x1fffffffffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.v
deleted file mode 100644
index b02fa3fe8..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fenz.c b/src/Specific/montgomery64_2e189m25_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fenz.v b/src/Specific/montgomery64_2e189m25_3limbs/fenz.v
deleted file mode 100644
index fe339b027..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.v
deleted file mode 100644
index 1f99d8f4d..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feopp.c b/src/Specific/montgomery64_2e189m25_3limbs/feopp.c
deleted file mode 100644
index acef14dec..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffe7L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x1fffffffffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feopp.v b/src/Specific/montgomery64_2e189m25_3limbs/feopp.v
deleted file mode 100644
index 08a4add86..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.log
deleted file mode 100644
index c11948d1e..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffe7L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x1fffffffffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.v
deleted file mode 100644
index f50f013df..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fesquare.c b/src/Specific/montgomery64_2e189m25_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fesub.c b/src/Specific/montgomery64_2e189m25_3limbs/fesub.c
deleted file mode 100644
index 9959078f0..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffe7L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x1fffffffffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fesub.v b/src/Specific/montgomery64_2e189m25_3limbs/fesub.v
deleted file mode 100644
index b1f482285..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.log
deleted file mode 100644
index 692e6a34c..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffe7L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x1fffffffffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.v
deleted file mode 100644
index 8ff18961a..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e189m25_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e189m25_3limbs/py_interpreter.sh
deleted file mode 100755
index 4170c37e6..000000000
--- a/src/Specific/montgomery64_2e189m25_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**189 - 25' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e190m11_3limbs/CurveParameters.v
deleted file mode 100644
index 18a845f0f..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^190 - 11
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^190;
- c := [(1, 11)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e190m11_3limbs/Synthesis.v b/src/Specific/montgomery64_2e190m11_3limbs/Synthesis.v
deleted file mode 100644
index 1ca0a7186..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.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/montgomery64_2e190m11_3limbs/compiler.sh b/src/Specific/montgomery64_2e190m11_3limbs/compiler.sh
deleted file mode 100755
index 761ff4f92..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e190m11_3limbs/compilerxx.sh
deleted file mode 100755
index 76c561ed1..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feadd.c b/src/Specific/montgomery64_2e190m11_3limbs/feadd.c
deleted file mode 100644
index 8b2ff0c3f..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xfffffffffffffff5L, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x3fffffffffffffff, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feadd.v b/src/Specific/montgomery64_2e190m11_3limbs/feadd.v
deleted file mode 100644
index a1f6b2082..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.log
deleted file mode 100644
index f6f352aec..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffff5L);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x3fffffffffffffff);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.v
deleted file mode 100644
index f7646fee8..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/femul.c b/src/Specific/montgomery64_2e190m11_3limbs/femul.c
deleted file mode 100644
index 0119b01ed..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x2e8ba2e8ba2e8ba3, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xfffffffffffffff5L, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x3fffffffffffffff, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x2e8ba2e8ba2e8ba3, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xfffffffffffffff5L, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x3fffffffffffffff, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x2e8ba2e8ba2e8ba3, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xfffffffffffffff5L, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x3fffffffffffffff, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xfffffffffffffff5L, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x3fffffffffffffff, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/femul.v b/src/Specific/montgomery64_2e190m11_3limbs/femul.v
deleted file mode 100644
index 78cdb1acf..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.log
deleted file mode 100644
index 185717349..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x2e8ba2e8ba2e8ba3);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xfffffffffffffff5L);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x3fffffffffffffff);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x2e8ba2e8ba2e8ba3);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xfffffffffffffff5L);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x3fffffffffffffff);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x2e8ba2e8ba2e8ba3);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xfffffffffffffff5L);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x3fffffffffffffff);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xfffffffffffffff5L);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x3fffffffffffffff);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.v
deleted file mode 100644
index f8621943c..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fenz.c b/src/Specific/montgomery64_2e190m11_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fenz.v b/src/Specific/montgomery64_2e190m11_3limbs/fenz.v
deleted file mode 100644
index 5032740ca..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.v
deleted file mode 100644
index 4516a9137..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feopp.c b/src/Specific/montgomery64_2e190m11_3limbs/feopp.c
deleted file mode 100644
index bb4485f74..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffff5L);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3fffffffffffffff);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feopp.v b/src/Specific/montgomery64_2e190m11_3limbs/feopp.v
deleted file mode 100644
index 9a927f245..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.log
deleted file mode 100644
index 9fdeaa269..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffff5L);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3fffffffffffffff);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.v
deleted file mode 100644
index 5e940e5bf..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fesquare.c b/src/Specific/montgomery64_2e190m11_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fesub.c b/src/Specific/montgomery64_2e190m11_3limbs/fesub.c
deleted file mode 100644
index a88dac55b..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xfffffffffffffff5L);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x3fffffffffffffff);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fesub.v b/src/Specific/montgomery64_2e190m11_3limbs/fesub.v
deleted file mode 100644
index 7ab9ec756..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.log
deleted file mode 100644
index 152265c89..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xfffffffffffffff5L);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x3fffffffffffffff);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.v
deleted file mode 100644
index 725e0072a..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e190m11_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e190m11_3limbs/py_interpreter.sh
deleted file mode 100755
index ae6a726fd..000000000
--- a/src/Specific/montgomery64_2e190m11_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**190 - 11' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e191m19_3limbs/CurveParameters.v
deleted file mode 100644
index 54d7d6487..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^191 - 19
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^191;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e191m19_3limbs/Synthesis.v b/src/Specific/montgomery64_2e191m19_3limbs/Synthesis.v
deleted file mode 100644
index 32de8a922..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.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/montgomery64_2e191m19_3limbs/compiler.sh b/src/Specific/montgomery64_2e191m19_3limbs/compiler.sh
deleted file mode 100755
index 452d706ee..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e191m19_3limbs/compilerxx.sh
deleted file mode 100755
index dfead1db3..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feadd.c b/src/Specific/montgomery64_2e191m19_3limbs/feadd.c
deleted file mode 100644
index 3139704bc..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffedL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xffffffffffffffffL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0x7fffffffffffffffL, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feadd.v b/src/Specific/montgomery64_2e191m19_3limbs/feadd.v
deleted file mode 100644
index ebf97915e..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.log
deleted file mode 100644
index 0ebc92482..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffedL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.v
deleted file mode 100644
index 5a709da06..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/femul.c b/src/Specific/montgomery64_2e191m19_3limbs/femul.c
deleted file mode 100644
index df68f86c4..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/femul.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t _; uint64_t x31 = _mulx_u64(x13, 0x86bca1af286bca1bL, &_);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x31, 0xffffffffffffffedL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x31, 0xffffffffffffffffL, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x31, 0x7fffffffffffffffL, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x35, x37, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x38, x40, &x46);
- { uint64_t x49; uint8_t _ = _addcarryx_u64(0x0, x47, x41, &x49);
- { uint64_t _; uint8_t x53 = _addcarryx_u64(0x0, x13, x34, &_);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x22, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x25, x46, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x28, x49, &x61);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x9, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x11, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x7, x10, &x71);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(0x0, x65, x67, &x73);
- { uint64_t x76; uint8_t x77 = _addcarryx_u64(x74, x68, x70, &x76);
- { uint64_t x79; uint8_t _ = _addcarryx_u64(0x0, x77, x71, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x55, x64, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x61, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x62, x79, &x91);
- { uint64_t _; uint64_t x94 = _mulx_u64(x82, 0x86bca1af286bca1bL, &_);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x94, 0xffffffffffffffedL, &x98);
- { uint64_t x101; uint64_t x100 = _mulx_u64(x94, 0xffffffffffffffffL, &x101);
- { uint64_t x104; uint64_t x103 = _mulx_u64(x94, 0x7fffffffffffffffL, &x104);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(0x0, x98, x100, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x101, x103, &x109);
- { uint64_t x112; uint8_t _ = _addcarryx_u64(0x0, x110, x104, &x112);
- { uint64_t _; uint8_t x116 = _addcarryx_u64(0x0, x82, x97, &_);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x85, x106, &x118);
- { uint64_t x121; uint8_t x122 = _addcarryx_u64(x119, x88, x109, &x121);
- { uint64_t x124; uint8_t x125 = _addcarryx_u64(x122, x91, x112, &x124);
- { uint8_t x126 = (x125 + x92);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x9, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x6, x11, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x6, x10, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x129, x131, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x132, x134, &x140);
- { uint64_t x143; uint8_t _ = _addcarryx_u64(0x0, x141, x135, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(0x0, x118, x128, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x121, x137, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x124, x140, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x126, x143, &x155);
- { uint64_t _; uint64_t x158 = _mulx_u64(x146, 0x86bca1af286bca1bL, &_);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x158, 0xffffffffffffffedL, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x158, 0xffffffffffffffffL, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x158, 0x7fffffffffffffffL, &x168);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(0x0, x162, x164, &x170);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x165, x167, &x173);
- { uint64_t x176; uint8_t _ = _addcarryx_u64(0x0, x174, x168, &x176);
- { uint64_t _; uint8_t x180 = _addcarryx_u64(0x0, x146, x161, &_);
- { uint64_t x182; uint8_t x183 = _addcarryx_u64(x180, x149, x170, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(x183, x152, x173, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x155, x176, &x188);
- { uint8_t x190 = (x189 + x156);
- { uint64_t x192; uint8_t x193 = _subborrow_u64(0x0, x182, 0xffffffffffffffedL, &x192);
- { uint64_t x195; uint8_t x196 = _subborrow_u64(x193, x185, 0xffffffffffffffffL, &x195);
- { uint64_t x198; uint8_t x199 = _subborrow_u64(x196, x188, 0x7fffffffffffffffL, &x198);
- { uint64_t _; uint8_t x202 = _subborrow_u64(x199, x190, 0x0, &_);
- { uint64_t x203 = cmovznz64(x202, x198, x188);
- { uint64_t x204 = cmovznz64(x202, x195, x185);
- { uint64_t x205 = cmovznz64(x202, x192, x182);
- out[0] = x205;
- out[1] = x204;
- out[2] = x203;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/femul.v b/src/Specific/montgomery64_2e191m19_3limbs/femul.v
deleted file mode 100644
index 6434bcd37..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.log
deleted file mode 100644
index 0534b16de..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t _ = mulx_u64(x13, 0x86bca1af286bca1bL);
- uint64_t x34, uint64_t x35 = mulx_u64(x31, 0xffffffffffffffedL);
- uint64_t x37, uint64_t x38 = mulx_u64(x31, 0xffffffffffffffffL);
- uint64_t x40, uint64_t x41 = mulx_u64(x31, 0x7fffffffffffffffL);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x35, x37);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x38, x40);
- uint64_t x49, uint8_t _ = addcarryx_u64(0x0, x47, x41);
- uint64_t _, uint8_t x53 = addcarryx_u64(0x0, x13, x34);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x22, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x25, x46);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x28, x49);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x9);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x11);
- uint64_t x70, uint64_t x71 = mulx_u64(x7, x10);
- uint64_t x73, uint8_t x74 = addcarryx_u64(0x0, x65, x67);
- uint64_t x76, uint8_t x77 = addcarryx_u64(x74, x68, x70);
- uint64_t x79, uint8_t _ = addcarryx_u64(0x0, x77, x71);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x55, x64);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x61, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x62, x79);
- uint64_t x94, uint64_t _ = mulx_u64(x82, 0x86bca1af286bca1bL);
- uint64_t x97, uint64_t x98 = mulx_u64(x94, 0xffffffffffffffedL);
- uint64_t x100, uint64_t x101 = mulx_u64(x94, 0xffffffffffffffffL);
- uint64_t x103, uint64_t x104 = mulx_u64(x94, 0x7fffffffffffffffL);
- uint64_t x106, uint8_t x107 = addcarryx_u64(0x0, x98, x100);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x101, x103);
- uint64_t x112, uint8_t _ = addcarryx_u64(0x0, x110, x104);
- uint64_t _, uint8_t x116 = addcarryx_u64(0x0, x82, x97);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x85, x106);
- uint64_t x121, uint8_t x122 = addcarryx_u64(x119, x88, x109);
- uint64_t x124, uint8_t x125 = addcarryx_u64(x122, x91, x112);
- uint8_t x126 = (x125 + x92);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x9);
- uint64_t x131, uint64_t x132 = mulx_u64(x6, x11);
- uint64_t x134, uint64_t x135 = mulx_u64(x6, x10);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x129, x131);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x132, x134);
- uint64_t x143, uint8_t _ = addcarryx_u64(0x0, x141, x135);
- uint64_t x146, uint8_t x147 = addcarryx_u64(0x0, x118, x128);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x121, x137);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x124, x140);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x126, x143);
- uint64_t x158, uint64_t _ = mulx_u64(x146, 0x86bca1af286bca1bL);
- uint64_t x161, uint64_t x162 = mulx_u64(x158, 0xffffffffffffffedL);
- uint64_t x164, uint64_t x165 = mulx_u64(x158, 0xffffffffffffffffL);
- uint64_t x167, uint64_t x168 = mulx_u64(x158, 0x7fffffffffffffffL);
- uint64_t x170, uint8_t x171 = addcarryx_u64(0x0, x162, x164);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x165, x167);
- uint64_t x176, uint8_t _ = addcarryx_u64(0x0, x174, x168);
- uint64_t _, uint8_t x180 = addcarryx_u64(0x0, x146, x161);
- uint64_t x182, uint8_t x183 = addcarryx_u64(x180, x149, x170);
- uint64_t x185, uint8_t x186 = addcarryx_u64(x183, x152, x173);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x155, x176);
- uint8_t x190 = (x189 + x156);
- uint64_t x192, uint8_t x193 = subborrow_u64(0x0, x182, 0xffffffffffffffedL);
- uint64_t x195, uint8_t x196 = subborrow_u64(x193, x185, 0xffffffffffffffffL);
- uint64_t x198, uint8_t x199 = subborrow_u64(x196, x188, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x202 = subborrow_u64(x199, x190, 0x0);
- uint64_t x203 = cmovznz64(x202, x198, x188);
- uint64_t x204 = cmovznz64(x202, x195, x185);
- uint64_t x205 = cmovznz64(x202, x192, x182);
- return (x203, x204, x205))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.v
deleted file mode 100644
index 7410b8ffb..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fenz.c b/src/Specific/montgomery64_2e191m19_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fenz.v b/src/Specific/montgomery64_2e191m19_3limbs/fenz.v
deleted file mode 100644
index 180980a54..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.v
deleted file mode 100644
index 408b1852a..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feopp.c b/src/Specific/montgomery64_2e191m19_3limbs/feopp.c
deleted file mode 100644
index 9c2e12b67..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffedL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xffffffffffffffffL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x7fffffffffffffffL);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feopp.v b/src/Specific/montgomery64_2e191m19_3limbs/feopp.v
deleted file mode 100644
index 84f43edf7..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.log
deleted file mode 100644
index 3b72f2aea..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffedL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xffffffffffffffffL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0x7fffffffffffffffL);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.v
deleted file mode 100644
index 635b58fdb..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fesquare.c b/src/Specific/montgomery64_2e191m19_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fesub.c b/src/Specific/montgomery64_2e191m19_3limbs/fesub.c
deleted file mode 100644
index e6683bd03..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffedL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xffffffffffffffffL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0x7fffffffffffffffL);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fesub.v b/src/Specific/montgomery64_2e191m19_3limbs/fesub.v
deleted file mode 100644
index a032b33aa..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.log
deleted file mode 100644
index 0a4d49441..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffedL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xffffffffffffffffL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0x7fffffffffffffffL);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.v
deleted file mode 100644
index 23419c34e..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e191m19_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e191m19_3limbs/py_interpreter.sh
deleted file mode 100755
index 33c60afb6..000000000
--- a/src/Specific/montgomery64_2e191m19_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**191 - 19' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/CurveParameters.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/CurveParameters.v
deleted file mode 100644
index bdd7fe851..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^192 - 2^64 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 64;
- bitwidth := 64;
- s := 2^192;
- c := [(1, 1); (2^64, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e192m2e64m1_3limbs/Synthesis.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/Synthesis.v
deleted file mode 100644
index 0cba6c8b2..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.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/montgomery64_2e192m2e64m1_3limbs/compiler.sh b/src/Specific/montgomery64_2e192m2e64m1_3limbs/compiler.sh
deleted file mode 100755
index 62e2b56ab..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/compilerxx.sh b/src/Specific/montgomery64_2e192m2e64m1_3limbs/compilerxx.sh
deleted file mode 100755
index dc2fd5d10..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.c
deleted file mode 100644
index b46c6c8d6..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _addcarryx_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _addcarryx_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _addcarryx_u64(x17, x6, x10, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(0x0, x13, 0xffffffffffffffffL, &x22);
- { uint64_t x25; uint8_t x26 = _subborrow_u64(x23, x16, 0xfffffffffffffffeL, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x19, 0xffffffffffffffffL, &x28);
- { uint64_t _; uint8_t x32 = _subborrow_u64(x29, x20, 0x0, &_);
- { uint64_t x33 = cmovznz64(x32, x28, x19);
- { uint64_t x34 = cmovznz64(x32, x25, x16);
- { uint64_t x35 = cmovznz64(x32, x22, x13);
- out[0] = x35;
- out[1] = x34;
- out[2] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.v
deleted file mode 100644
index 79eccab6f..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.log b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.log
deleted file mode 100644
index 6ab76e5b9..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
- uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xffffffffffffffffL);
- uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xfffffffffffffffeL);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0xffffffffffffffffL);
- uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
- uint64_t x33 = cmovznz64(x32, x28, x19);
- uint64_t x34 = cmovznz64(x32, x25, x16);
- uint64_t x35 = cmovznz64(x32, x22, x13);
- return (x33, x34, x35))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.v
deleted file mode 100644
index 78697c705..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.c
deleted file mode 100644
index aea170aaa..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.c
+++ /dev/null
@@ -1,77 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x14; uint64_t x13 = _mulx_u64(x5, x9, &x14);
- { uint64_t x17; uint64_t x16 = _mulx_u64(x5, x11, &x17);
- { uint64_t x20; uint64_t x19 = _mulx_u64(x5, x10, &x20);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x14, x16, &x22);
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(x23, x17, x19, &x25);
- { uint64_t x28; uint8_t _ = _addcarryx_u64(0x0, x26, x20, &x28);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x13, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x13, 0xfffffffffffffffeL, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x13, 0xffffffffffffffffL, &x38);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(0x0, x32, x34, &x40);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(x41, x35, x37, &x43);
- { uint64_t x46; uint8_t _ = _addcarryx_u64(0x0, x44, x38, &x46);
- { uint64_t _; uint8_t x50 = _addcarryx_u64(0x0, x13, x31, &_);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x22, x40, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x25, x43, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x28, x46, &x58);
- { uint64_t x62; uint64_t x61 = _mulx_u64(x7, x9, &x62);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x7, x11, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x7, x10, &x68);
- { uint64_t x70; uint8_t x71 = _addcarryx_u64(0x0, x62, x64, &x70);
- { uint64_t x73; uint8_t x74 = _addcarryx_u64(x71, x65, x67, &x73);
- { uint64_t x76; uint8_t _ = _addcarryx_u64(0x0, x74, x68, &x76);
- { uint64_t x79; uint8_t x80 = _addcarryx_u64(0x0, x52, x61, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(x80, x55, x70, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x58, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x59, x76, &x88);
- { uint64_t x92; uint64_t x91 = _mulx_u64(x79, 0xffffffffffffffffL, &x92);
- { uint64_t x95; uint64_t x94 = _mulx_u64(x79, 0xfffffffffffffffeL, &x95);
- { uint64_t x98; uint64_t x97 = _mulx_u64(x79, 0xffffffffffffffffL, &x98);
- { uint64_t x100; uint8_t x101 = _addcarryx_u64(0x0, x92, x94, &x100);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x95, x97, &x103);
- { uint64_t x106; uint8_t _ = _addcarryx_u64(0x0, x104, x98, &x106);
- { uint64_t _; uint8_t x110 = _addcarryx_u64(0x0, x79, x91, &_);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x82, x100, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x85, x103, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x88, x106, &x118);
- { uint8_t x120 = (x119 + x89);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x6, x9, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x6, x11, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x6, x10, &x129);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(0x0, x123, x125, &x131);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(x132, x126, x128, &x134);
- { uint64_t x137; uint8_t _ = _addcarryx_u64(0x0, x135, x129, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(0x0, x112, x122, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x115, x131, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x118, x134, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x120, x137, &x149);
- { uint64_t x153; uint64_t x152 = _mulx_u64(x140, 0xffffffffffffffffL, &x153);
- { uint64_t x156; uint64_t x155 = _mulx_u64(x140, 0xfffffffffffffffeL, &x156);
- { uint64_t x159; uint64_t x158 = _mulx_u64(x140, 0xffffffffffffffffL, &x159);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(0x0, x153, x155, &x161);
- { uint64_t x164; uint8_t x165 = _addcarryx_u64(x162, x156, x158, &x164);
- { uint64_t x167; uint8_t _ = _addcarryx_u64(0x0, x165, x159, &x167);
- { uint64_t _; uint8_t x171 = _addcarryx_u64(0x0, x140, x152, &_);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(x171, x143, x161, &x173);
- { uint64_t x176; uint8_t x177 = _addcarryx_u64(x174, x146, x164, &x176);
- { uint64_t x179; uint8_t x180 = _addcarryx_u64(x177, x149, x167, &x179);
- { uint8_t x181 = (x180 + x150);
- { uint64_t x183; uint8_t x184 = _subborrow_u64(0x0, x173, 0xffffffffffffffffL, &x183);
- { uint64_t x186; uint8_t x187 = _subborrow_u64(x184, x176, 0xfffffffffffffffeL, &x186);
- { uint64_t x189; uint8_t x190 = _subborrow_u64(x187, x179, 0xffffffffffffffffL, &x189);
- { uint64_t _; uint8_t x193 = _subborrow_u64(x190, x181, 0x0, &_);
- { uint64_t x194 = cmovznz64(x193, x189, x179);
- { uint64_t x195 = cmovznz64(x193, x186, x176);
- { uint64_t x196 = cmovznz64(x193, x183, x173);
- out[0] = x196;
- out[1] = x195;
- out[2] = x194;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.v
deleted file mode 100644
index f1ba1337b..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.log b/src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.log
deleted file mode 100644
index 7607e6c7f..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint64_t x14 = mulx_u64(x5, x9);
- uint64_t x16, uint64_t x17 = mulx_u64(x5, x11);
- uint64_t x19, uint64_t x20 = mulx_u64(x5, x10);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x14, x16);
- uint64_t x25, uint8_t x26 = addcarryx_u64(x23, x17, x19);
- uint64_t x28, uint8_t _ = addcarryx_u64(0x0, x26, x20);
- uint64_t x31, uint64_t x32 = mulx_u64(x13, 0xffffffffffffffffL);
- uint64_t x34, uint64_t x35 = mulx_u64(x13, 0xfffffffffffffffeL);
- uint64_t x37, uint64_t x38 = mulx_u64(x13, 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(0x0, x32, x34);
- uint64_t x43, uint8_t x44 = addcarryx_u64(x41, x35, x37);
- uint64_t x46, uint8_t _ = addcarryx_u64(0x0, x44, x38);
- uint64_t _, uint8_t x50 = addcarryx_u64(0x0, x13, x31);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x22, x40);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x25, x43);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x28, x46);
- uint64_t x61, uint64_t x62 = mulx_u64(x7, x9);
- uint64_t x64, uint64_t x65 = mulx_u64(x7, x11);
- uint64_t x67, uint64_t x68 = mulx_u64(x7, x10);
- uint64_t x70, uint8_t x71 = addcarryx_u64(0x0, x62, x64);
- uint64_t x73, uint8_t x74 = addcarryx_u64(x71, x65, x67);
- uint64_t x76, uint8_t _ = addcarryx_u64(0x0, x74, x68);
- uint64_t x79, uint8_t x80 = addcarryx_u64(0x0, x52, x61);
- uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x55, x70);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x58, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x59, x76);
- uint64_t x91, uint64_t x92 = mulx_u64(x79, 0xffffffffffffffffL);
- uint64_t x94, uint64_t x95 = mulx_u64(x79, 0xfffffffffffffffeL);
- uint64_t x97, uint64_t x98 = mulx_u64(x79, 0xffffffffffffffffL);
- uint64_t x100, uint8_t x101 = addcarryx_u64(0x0, x92, x94);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x95, x97);
- uint64_t x106, uint8_t _ = addcarryx_u64(0x0, x104, x98);
- uint64_t _, uint8_t x110 = addcarryx_u64(0x0, x79, x91);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x82, x100);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x85, x103);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x88, x106);
- uint8_t x120 = (x119 + x89);
- uint64_t x122, uint64_t x123 = mulx_u64(x6, x9);
- uint64_t x125, uint64_t x126 = mulx_u64(x6, x11);
- uint64_t x128, uint64_t x129 = mulx_u64(x6, x10);
- uint64_t x131, uint8_t x132 = addcarryx_u64(0x0, x123, x125);
- uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x126, x128);
- uint64_t x137, uint8_t _ = addcarryx_u64(0x0, x135, x129);
- uint64_t x140, uint8_t x141 = addcarryx_u64(0x0, x112, x122);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x115, x131);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x118, x134);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x120, x137);
- uint64_t x152, uint64_t x153 = mulx_u64(x140, 0xffffffffffffffffL);
- uint64_t x155, uint64_t x156 = mulx_u64(x140, 0xfffffffffffffffeL);
- uint64_t x158, uint64_t x159 = mulx_u64(x140, 0xffffffffffffffffL);
- uint64_t x161, uint8_t x162 = addcarryx_u64(0x0, x153, x155);
- uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x156, x158);
- uint64_t x167, uint8_t _ = addcarryx_u64(0x0, x165, x159);
- uint64_t _, uint8_t x171 = addcarryx_u64(0x0, x140, x152);
- uint64_t x173, uint8_t x174 = addcarryx_u64(x171, x143, x161);
- uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x146, x164);
- uint64_t x179, uint8_t x180 = addcarryx_u64(x177, x149, x167);
- uint8_t x181 = (x180 + x150);
- uint64_t x183, uint8_t x184 = subborrow_u64(0x0, x173, 0xffffffffffffffffL);
- uint64_t x186, uint8_t x187 = subborrow_u64(x184, x176, 0xfffffffffffffffeL);
- uint64_t x189, uint8_t x190 = subborrow_u64(x187, x179, 0xffffffffffffffffL);
- uint64_t _, uint8_t x193 = subborrow_u64(x190, x181, 0x0);
- uint64_t x194 = cmovznz64(x193, x189, x179);
- uint64_t x195 = cmovznz64(x193, x186, x176);
- uint64_t x196 = cmovznz64(x193, x183, x173);
- return (x194, x195, x196))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.v
deleted file mode 100644
index fdd8499d0..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.c
deleted file mode 100644
index 2632a2866..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.c
+++ /dev/null
@@ -1,9 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x5 = (x4 | x3);
- { uint64_t x6 = (x2 | x5);
- out[0] = x6;
- }}}}}
-}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.v
deleted file mode 100644
index da71ee297..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.log b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.log
deleted file mode 100644
index 680322e0f..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.log
+++ /dev/null
@@ -1,9 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x5 = (x4 | x3);
- uint64_t x6 = (x2 | x5);
- return x6)
-x
- : word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.v
deleted file mode 100644
index 05f27ba77..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.c
deleted file mode 100644
index 13a4cb613..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void feopp(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u64(0x0, 0x0, x2, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u64(x7, 0x0, x4, &x9);
- { uint64_t x12; uint8_t x13 = _subborrow_u64(x10, 0x0, x3, &x12);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffffffffL);
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0xfffffffffffffffeL);
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0xffffffffffffffffL);
- { uint64_t x25; uint8_t _ = _addcarryx_u64(x22, x12, x23, &x25);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.v
deleted file mode 100644
index 8ac57eeae..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.log b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.log
deleted file mode 100644
index 130eb71da..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x9, uint8_t x10 = subborrow_u64(x7, 0x0, x4);
- uint64_t x12, uint8_t x13 = subborrow_u64(x10, 0x0, x3);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffffffffL);
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x6, x15);
- uint64_t x19 = (x14 & 0xfffffffffffffffeL);
- uint64_t x21, uint8_t x22 = addcarryx_u64(x18, x9, x19);
- uint64_t x23 = (x14 & 0xffffffffffffffffL);
- uint64_t x25, uint8_t _ = addcarryx_u64(x22, x12, x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.v
deleted file mode 100644
index 5086092dd..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.c
deleted file mode 100644
index 5ccff56fb..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.c
+++ /dev/null
@@ -1,22 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint64_t x13; uint8_t x14 = _subborrow_u64(0x0, x5, x9, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, x7, x11, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, x6, x10, &x19);
- { uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- { uint64_t x22 = (x21 & 0xffffffffffffffffL);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(0x0, x13, x22, &x24);
- { uint64_t x26 = (x21 & 0xfffffffffffffffeL);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x25, x16, x26, &x28);
- { uint64_t x30 = (x21 & 0xffffffffffffffffL);
- { uint64_t x32; uint8_t _ = _addcarryx_u64(x29, x19, x30, &x32);
- out[0] = x24;
- out[1] = x28;
- out[2] = x32;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.v
deleted file mode 100644
index 4e63c1baa..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.log b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.log
deleted file mode 100644
index d0da94fa8..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint64_t x13, uint8_t x14 = subborrow_u64(0x0, x5, x9);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, x7, x11);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, x6, x10);
- uint64_t x21 = cmovznz64(x20, 0x0, 0xffffffffffffffffL);
- uint64_t x22 = (x21 & 0xffffffffffffffffL);
- uint64_t x24, uint8_t x25 = addcarryx_u64(0x0, x13, x22);
- uint64_t x26 = (x21 & 0xfffffffffffffffeL);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x25, x16, x26);
- uint64_t x30 = (x21 & 0xffffffffffffffffL);
- uint64_t x32, uint8_t _ = addcarryx_u64(x29, x19, x30);
- (Return x32, Return x28, Return x24))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.v b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.v
deleted file mode 100644
index f5f075671..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e192m2e64m1_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/py_interpreter.sh b/src/Specific/montgomery64_2e192m2e64m1_3limbs/py_interpreter.sh
deleted file mode 100755
index 5b7c36b50..000000000
--- a/src/Specific/montgomery64_2e192m2e64m1_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**192 - 2**64 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e194m33_4limbs/CurveParameters.v
deleted file mode 100644
index 2b450282c..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^194 - 33
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^194;
- c := [(1, 33)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e194m33_4limbs/Synthesis.v b/src/Specific/montgomery64_2e194m33_4limbs/Synthesis.v
deleted file mode 100644
index 03a183c79..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.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/montgomery64_2e194m33_4limbs/compiler.sh b/src/Specific/montgomery64_2e194m33_4limbs/compiler.sh
deleted file mode 100755
index 6f4ffcdbb..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e194m33_4limbs/compilerxx.sh
deleted file mode 100755
index ac5fbd0c6..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feadd.c b/src/Specific/montgomery64_2e194m33_4limbs/feadd.c
deleted file mode 100644
index ac925e7c3..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffdfL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feadd.v b/src/Specific/montgomery64_2e194m33_4limbs/feadd.v
deleted file mode 100644
index 2e181c924..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.log
deleted file mode 100644
index 031dc3bf4..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffdfL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.v
deleted file mode 100644
index c38357610..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/femul.c b/src/Specific/montgomery64_2e194m33_4limbs/femul.c
deleted file mode 100644
index 273eabe04..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xf83e0f83e0f83e1, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffffdfL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint8_t x54; uint64_t x53 = _mulx_u64_out_u8(x41, 0x3, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint8_t x64 = (x63 + x54);
- { uint64_t _; uint8_t x67 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(x67, x29, x56, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x32, x59, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x35, x62, &x75);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x38, x64, &x78);
- { uint64_t x82; uint64_t x81 = _mulx_u64(x7, x11, &x82);
- { uint64_t x85; uint64_t x84 = _mulx_u64(x7, x13, &x85);
- { uint64_t x88; uint64_t x87 = _mulx_u64(x7, x15, &x88);
- { uint64_t x91; uint64_t x90 = _mulx_u64(x7, x14, &x91);
- { uint64_t x93; uint8_t x94 = _addcarryx_u64(0x0, x82, x84, &x93);
- { uint64_t x96; uint8_t x97 = _addcarryx_u64(x94, x85, x87, &x96);
- { uint64_t x99; uint8_t x100 = _addcarryx_u64(x97, x88, x90, &x99);
- { uint64_t x102; uint8_t _ = _addcarryx_u64(0x0, x100, x91, &x102);
- { uint64_t x105; uint8_t x106 = _addcarryx_u64(0x0, x69, x81, &x105);
- { uint64_t x108; uint8_t x109 = _addcarryx_u64(x106, x72, x93, &x108);
- { uint64_t x111; uint8_t x112 = _addcarryx_u64(x109, x75, x96, &x111);
- { uint64_t x114; uint8_t x115 = _addcarryx_u64(x112, x78, x99, &x114);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(x115, x79, x102, &x117);
- { uint64_t _; uint64_t x120 = _mulx_u64(x105, 0xf83e0f83e0f83e1, &_);
- { uint64_t x124; uint64_t x123 = _mulx_u64(x120, 0xffffffffffffffdfL, &x124);
- { uint64_t x127; uint64_t x126 = _mulx_u64(x120, 0xffffffffffffffffL, &x127);
- { uint64_t x130; uint64_t x129 = _mulx_u64(x120, 0xffffffffffffffffL, &x130);
- { uint8_t x133; uint64_t x132 = _mulx_u64_out_u8(x120, 0x3, &x133);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(0x0, x124, x126, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x127, x129, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x130, x132, &x141);
- { uint8_t x143 = (x142 + x133);
- { uint64_t _; uint8_t x146 = _addcarryx_u64(0x0, x105, x123, &_);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x108, x135, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x111, x138, &x151);
- { uint64_t x154; uint8_t x155 = _addcarryx_u64(x152, x114, x141, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(x155, x117, x143, &x157);
- { uint8_t x159 = (x158 + x118);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x9, x11, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x9, x13, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x9, x15, &x168);
- { uint64_t x171; uint64_t x170 = _mulx_u64(x9, x14, &x171);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(0x0, x162, x164, &x173);
- { uint64_t x176; uint8_t x177 = _addcarryx_u64(x174, x165, x167, &x176);
- { uint64_t x179; uint8_t x180 = _addcarryx_u64(x177, x168, x170, &x179);
- { uint64_t x182; uint8_t _ = _addcarryx_u64(0x0, x180, x171, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(0x0, x148, x161, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x151, x173, &x188);
- { uint64_t x191; uint8_t x192 = _addcarryx_u64(x189, x154, x176, &x191);
- { uint64_t x194; uint8_t x195 = _addcarryx_u64(x192, x157, x179, &x194);
- { uint64_t x197; uint8_t x198 = _addcarryx_u64(x195, x159, x182, &x197);
- { uint64_t _; uint64_t x200 = _mulx_u64(x185, 0xf83e0f83e0f83e1, &_);
- { uint64_t x204; uint64_t x203 = _mulx_u64(x200, 0xffffffffffffffdfL, &x204);
- { uint64_t x207; uint64_t x206 = _mulx_u64(x200, 0xffffffffffffffffL, &x207);
- { uint64_t x210; uint64_t x209 = _mulx_u64(x200, 0xffffffffffffffffL, &x210);
- { uint8_t x213; uint64_t x212 = _mulx_u64_out_u8(x200, 0x3, &x213);
- { uint64_t x215; uint8_t x216 = _addcarryx_u64(0x0, x204, x206, &x215);
- { uint64_t x218; uint8_t x219 = _addcarryx_u64(x216, x207, x209, &x218);
- { uint64_t x221; uint8_t x222 = _addcarryx_u64(x219, x210, x212, &x221);
- { uint8_t x223 = (x222 + x213);
- { uint64_t _; uint8_t x226 = _addcarryx_u64(0x0, x185, x203, &_);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x188, x215, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x191, x218, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x194, x221, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x197, x223, &x237);
- { uint8_t x239 = (x238 + x198);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x11, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x13, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x15, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x14, &x251);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(0x0, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x248, x250, &x259);
- { uint64_t x262; uint8_t _ = _addcarryx_u64(0x0, x260, x251, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(0x0, x228, x241, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x239, x262, &x277);
- { uint64_t _; uint64_t x280 = _mulx_u64(x265, 0xf83e0f83e0f83e1, &_);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x280, 0xffffffffffffffdfL, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x280, 0xffffffffffffffffL, &x287);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x280, 0xffffffffffffffffL, &x290);
- { uint8_t x293; uint64_t x292 = _mulx_u64_out_u8(x280, 0x3, &x293);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(0x0, x284, x286, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x287, x289, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x290, x292, &x301);
- { uint8_t x303 = (x302 + x293);
- { uint64_t _; uint8_t x306 = _addcarryx_u64(0x0, x265, x283, &_);
- { uint64_t x308; uint8_t x309 = _addcarryx_u64(x306, x268, x295, &x308);
- { uint64_t x311; uint8_t x312 = _addcarryx_u64(x309, x271, x298, &x311);
- { uint64_t x314; uint8_t x315 = _addcarryx_u64(x312, x274, x301, &x314);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(x315, x277, x303, &x317);
- { uint8_t x319 = (x318 + x278);
- { uint64_t x321; uint8_t x322 = _subborrow_u64(0x0, x308, 0xffffffffffffffdfL, &x321);
- { uint64_t x324; uint8_t x325 = _subborrow_u64(x322, x311, 0xffffffffffffffffL, &x324);
- { uint64_t x327; uint8_t x328 = _subborrow_u64(x325, x314, 0xffffffffffffffffL, &x327);
- { uint64_t x330; uint8_t x331 = _subborrow_u64(x328, x317, 0x3, &x330);
- { uint64_t _; uint8_t x334 = _subborrow_u64(x331, x319, 0x0, &_);
- { uint64_t x335 = cmovznz64(x334, x330, x317);
- { uint64_t x336 = cmovznz64(x334, x327, x314);
- { uint64_t x337 = cmovznz64(x334, x324, x311);
- { uint64_t x338 = cmovznz64(x334, x321, x308);
- out[0] = x338;
- out[1] = x337;
- out[2] = x336;
- out[3] = x335;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/femul.v b/src/Specific/montgomery64_2e194m33_4limbs/femul.v
deleted file mode 100644
index 4dcca4d23..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.log
deleted file mode 100644
index e7bf4c410..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xf83e0f83e0f83e1);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffffdfL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = mulx_u64_out_u8(x41, 0x3);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint8_t x64 = (x63 + x54);
- uint64_t _, uint8_t x67 = addcarryx_u64(0x0, x17, x44);
- uint64_t x69, uint8_t x70 = addcarryx_u64(x67, x29, x56);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x32, x59);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x35, x62);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x38, x64);
- uint64_t x81, uint64_t x82 = mulx_u64(x7, x11);
- uint64_t x84, uint64_t x85 = mulx_u64(x7, x13);
- uint64_t x87, uint64_t x88 = mulx_u64(x7, x15);
- uint64_t x90, uint64_t x91 = mulx_u64(x7, x14);
- uint64_t x93, uint8_t x94 = addcarryx_u64(0x0, x82, x84);
- uint64_t x96, uint8_t x97 = addcarryx_u64(x94, x85, x87);
- uint64_t x99, uint8_t x100 = addcarryx_u64(x97, x88, x90);
- uint64_t x102, uint8_t _ = addcarryx_u64(0x0, x100, x91);
- uint64_t x105, uint8_t x106 = addcarryx_u64(0x0, x69, x81);
- uint64_t x108, uint8_t x109 = addcarryx_u64(x106, x72, x93);
- uint64_t x111, uint8_t x112 = addcarryx_u64(x109, x75, x96);
- uint64_t x114, uint8_t x115 = addcarryx_u64(x112, x78, x99);
- uint64_t x117, uint8_t x118 = addcarryx_u64(x115, x79, x102);
- uint64_t x120, uint64_t _ = mulx_u64(x105, 0xf83e0f83e0f83e1);
- uint64_t x123, uint64_t x124 = mulx_u64(x120, 0xffffffffffffffdfL);
- uint64_t x126, uint64_t x127 = mulx_u64(x120, 0xffffffffffffffffL);
- uint64_t x129, uint64_t x130 = mulx_u64(x120, 0xffffffffffffffffL);
- uint64_t x132, uint8_t x133 = mulx_u64_out_u8(x120, 0x3);
- uint64_t x135, uint8_t x136 = addcarryx_u64(0x0, x124, x126);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x127, x129);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x130, x132);
- uint8_t x143 = (x142 + x133);
- uint64_t _, uint8_t x146 = addcarryx_u64(0x0, x105, x123);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x108, x135);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x111, x138);
- uint64_t x154, uint8_t x155 = addcarryx_u64(x152, x114, x141);
- uint64_t x157, uint8_t x158 = addcarryx_u64(x155, x117, x143);
- uint8_t x159 = (x158 + x118);
- uint64_t x161, uint64_t x162 = mulx_u64(x9, x11);
- uint64_t x164, uint64_t x165 = mulx_u64(x9, x13);
- uint64_t x167, uint64_t x168 = mulx_u64(x9, x15);
- uint64_t x170, uint64_t x171 = mulx_u64(x9, x14);
- uint64_t x173, uint8_t x174 = addcarryx_u64(0x0, x162, x164);
- uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x165, x167);
- uint64_t x179, uint8_t x180 = addcarryx_u64(x177, x168, x170);
- uint64_t x182, uint8_t _ = addcarryx_u64(0x0, x180, x171);
- uint64_t x185, uint8_t x186 = addcarryx_u64(0x0, x148, x161);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x151, x173);
- uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x154, x176);
- uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x157, x179);
- uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x159, x182);
- uint64_t x200, uint64_t _ = mulx_u64(x185, 0xf83e0f83e0f83e1);
- uint64_t x203, uint64_t x204 = mulx_u64(x200, 0xffffffffffffffdfL);
- uint64_t x206, uint64_t x207 = mulx_u64(x200, 0xffffffffffffffffL);
- uint64_t x209, uint64_t x210 = mulx_u64(x200, 0xffffffffffffffffL);
- uint64_t x212, uint8_t x213 = mulx_u64_out_u8(x200, 0x3);
- uint64_t x215, uint8_t x216 = addcarryx_u64(0x0, x204, x206);
- uint64_t x218, uint8_t x219 = addcarryx_u64(x216, x207, x209);
- uint64_t x221, uint8_t x222 = addcarryx_u64(x219, x210, x212);
- uint8_t x223 = (x222 + x213);
- uint64_t _, uint8_t x226 = addcarryx_u64(0x0, x185, x203);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x188, x215);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x191, x218);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x194, x221);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x197, x223);
- uint8_t x239 = (x238 + x198);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x11);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x13);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x15);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x14);
- uint64_t x253, uint8_t x254 = addcarryx_u64(0x0, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x248, x250);
- uint64_t x262, uint8_t _ = addcarryx_u64(0x0, x260, x251);
- uint64_t x265, uint8_t x266 = addcarryx_u64(0x0, x228, x241);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x239, x262);
- uint64_t x280, uint64_t _ = mulx_u64(x265, 0xf83e0f83e0f83e1);
- uint64_t x283, uint64_t x284 = mulx_u64(x280, 0xffffffffffffffdfL);
- uint64_t x286, uint64_t x287 = mulx_u64(x280, 0xffffffffffffffffL);
- uint64_t x289, uint64_t x290 = mulx_u64(x280, 0xffffffffffffffffL);
- uint64_t x292, uint8_t x293 = mulx_u64_out_u8(x280, 0x3);
- uint64_t x295, uint8_t x296 = addcarryx_u64(0x0, x284, x286);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x287, x289);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x290, x292);
- uint8_t x303 = (x302 + x293);
- uint64_t _, uint8_t x306 = addcarryx_u64(0x0, x265, x283);
- uint64_t x308, uint8_t x309 = addcarryx_u64(x306, x268, x295);
- uint64_t x311, uint8_t x312 = addcarryx_u64(x309, x271, x298);
- uint64_t x314, uint8_t x315 = addcarryx_u64(x312, x274, x301);
- uint64_t x317, uint8_t x318 = addcarryx_u64(x315, x277, x303);
- uint8_t x319 = (x318 + x278);
- uint64_t x321, uint8_t x322 = subborrow_u64(0x0, x308, 0xffffffffffffffdfL);
- uint64_t x324, uint8_t x325 = subborrow_u64(x322, x311, 0xffffffffffffffffL);
- uint64_t x327, uint8_t x328 = subborrow_u64(x325, x314, 0xffffffffffffffffL);
- uint64_t x330, uint8_t x331 = subborrow_u64(x328, x317, 0x3);
- uint64_t _, uint8_t x334 = subborrow_u64(x331, x319, 0x0);
- uint64_t x335 = cmovznz64(x334, x330, x317);
- uint64_t x336 = cmovznz64(x334, x327, x314);
- uint64_t x337 = cmovznz64(x334, x324, x311);
- uint64_t x338 = cmovznz64(x334, x321, x308);
- return (x335, x336, x337, x338))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.v
deleted file mode 100644
index f201525fc..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fenz.c b/src/Specific/montgomery64_2e194m33_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fenz.v b/src/Specific/montgomery64_2e194m33_4limbs/fenz.v
deleted file mode 100644
index 55c922f36..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.v
deleted file mode 100644
index e05e4785a..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feopp.c b/src/Specific/montgomery64_2e194m33_4limbs/feopp.c
deleted file mode 100644
index a12db40d3..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffdfL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint8_t x32 = ((uint8_t)x19 & 0x3);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feopp.v b/src/Specific/montgomery64_2e194m33_4limbs/feopp.v
deleted file mode 100644
index c67ce9c3b..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.log
deleted file mode 100644
index 48c2b2587..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffdfL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint8_t x32 = ((uint8_t)x19 & 0x3);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.v
deleted file mode 100644
index 77065b5e2..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fesquare.c b/src/Specific/montgomery64_2e194m33_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fesub.c b/src/Specific/montgomery64_2e194m33_4limbs/fesub.c
deleted file mode 100644
index 0d8b5aea0..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffdfL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint8_t x41 = ((uint8_t)x28 & 0x3);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fesub.v b/src/Specific/montgomery64_2e194m33_4limbs/fesub.v
deleted file mode 100644
index b5fe9dad0..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.log
deleted file mode 100644
index 07812034e..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffdfL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint8_t x41 = ((uint8_t)x28 & 0x3);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.v
deleted file mode 100644
index 3638569b3..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e194m33_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e194m33_4limbs/py_interpreter.sh
deleted file mode 100755
index 28ef9a8a4..000000000
--- a/src/Specific/montgomery64_2e194m33_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**194 - 33' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e196m15_4limbs/CurveParameters.v
deleted file mode 100644
index f876ce2bf..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^196 - 15
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^196;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e196m15_4limbs/Synthesis.v b/src/Specific/montgomery64_2e196m15_4limbs/Synthesis.v
deleted file mode 100644
index 5d0bab3a1..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.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/montgomery64_2e196m15_4limbs/compiler.sh b/src/Specific/montgomery64_2e196m15_4limbs/compiler.sh
deleted file mode 100755
index 31cf6c03d..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e196m15_4limbs/compilerxx.sh
deleted file mode 100755
index 6a71b5f18..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feadd.c b/src/Specific/montgomery64_2e196m15_4limbs/feadd.c
deleted file mode 100644
index 1411b0e95..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffff1L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xf, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feadd.v b/src/Specific/montgomery64_2e196m15_4limbs/feadd.v
deleted file mode 100644
index a9d7dce04..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.log
deleted file mode 100644
index 35d293c7c..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffff1L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xf);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.v
deleted file mode 100644
index 3fdbff070..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/femul.c b/src/Specific/montgomery64_2e196m15_4limbs/femul.c
deleted file mode 100644
index 9e6c9aeaf..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffff1L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint8_t x54; uint64_t x53 = _mulx_u64_out_u8(x41, 0xf, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint8_t x64 = (x63 + x54);
- { uint64_t _; uint8_t x67 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(x67, x29, x56, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x32, x59, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x35, x62, &x75);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x38, x64, &x78);
- { uint64_t x82; uint64_t x81 = _mulx_u64(x7, x11, &x82);
- { uint64_t x85; uint64_t x84 = _mulx_u64(x7, x13, &x85);
- { uint64_t x88; uint64_t x87 = _mulx_u64(x7, x15, &x88);
- { uint64_t x91; uint64_t x90 = _mulx_u64(x7, x14, &x91);
- { uint64_t x93; uint8_t x94 = _addcarryx_u64(0x0, x82, x84, &x93);
- { uint64_t x96; uint8_t x97 = _addcarryx_u64(x94, x85, x87, &x96);
- { uint64_t x99; uint8_t x100 = _addcarryx_u64(x97, x88, x90, &x99);
- { uint64_t x102; uint8_t _ = _addcarryx_u64(0x0, x100, x91, &x102);
- { uint64_t x105; uint8_t x106 = _addcarryx_u64(0x0, x69, x81, &x105);
- { uint64_t x108; uint8_t x109 = _addcarryx_u64(x106, x72, x93, &x108);
- { uint64_t x111; uint8_t x112 = _addcarryx_u64(x109, x75, x96, &x111);
- { uint64_t x114; uint8_t x115 = _addcarryx_u64(x112, x78, x99, &x114);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(x115, x79, x102, &x117);
- { uint64_t _; uint64_t x120 = _mulx_u64(x105, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x124; uint64_t x123 = _mulx_u64(x120, 0xfffffffffffffff1L, &x124);
- { uint64_t x127; uint64_t x126 = _mulx_u64(x120, 0xffffffffffffffffL, &x127);
- { uint64_t x130; uint64_t x129 = _mulx_u64(x120, 0xffffffffffffffffL, &x130);
- { uint8_t x133; uint64_t x132 = _mulx_u64_out_u8(x120, 0xf, &x133);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(0x0, x124, x126, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x127, x129, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x130, x132, &x141);
- { uint8_t x143 = (x142 + x133);
- { uint64_t _; uint8_t x146 = _addcarryx_u64(0x0, x105, x123, &_);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x108, x135, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x111, x138, &x151);
- { uint64_t x154; uint8_t x155 = _addcarryx_u64(x152, x114, x141, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(x155, x117, x143, &x157);
- { uint8_t x159 = (x158 + x118);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x9, x11, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x9, x13, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x9, x15, &x168);
- { uint64_t x171; uint64_t x170 = _mulx_u64(x9, x14, &x171);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(0x0, x162, x164, &x173);
- { uint64_t x176; uint8_t x177 = _addcarryx_u64(x174, x165, x167, &x176);
- { uint64_t x179; uint8_t x180 = _addcarryx_u64(x177, x168, x170, &x179);
- { uint64_t x182; uint8_t _ = _addcarryx_u64(0x0, x180, x171, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(0x0, x148, x161, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x151, x173, &x188);
- { uint64_t x191; uint8_t x192 = _addcarryx_u64(x189, x154, x176, &x191);
- { uint64_t x194; uint8_t x195 = _addcarryx_u64(x192, x157, x179, &x194);
- { uint64_t x197; uint8_t x198 = _addcarryx_u64(x195, x159, x182, &x197);
- { uint64_t _; uint64_t x200 = _mulx_u64(x185, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x204; uint64_t x203 = _mulx_u64(x200, 0xfffffffffffffff1L, &x204);
- { uint64_t x207; uint64_t x206 = _mulx_u64(x200, 0xffffffffffffffffL, &x207);
- { uint64_t x210; uint64_t x209 = _mulx_u64(x200, 0xffffffffffffffffL, &x210);
- { uint8_t x213; uint64_t x212 = _mulx_u64_out_u8(x200, 0xf, &x213);
- { uint64_t x215; uint8_t x216 = _addcarryx_u64(0x0, x204, x206, &x215);
- { uint64_t x218; uint8_t x219 = _addcarryx_u64(x216, x207, x209, &x218);
- { uint64_t x221; uint8_t x222 = _addcarryx_u64(x219, x210, x212, &x221);
- { uint8_t x223 = (x222 + x213);
- { uint64_t _; uint8_t x226 = _addcarryx_u64(0x0, x185, x203, &_);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x188, x215, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x191, x218, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x194, x221, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x197, x223, &x237);
- { uint8_t x239 = (x238 + x198);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x11, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x13, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x15, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x14, &x251);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(0x0, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x248, x250, &x259);
- { uint64_t x262; uint8_t _ = _addcarryx_u64(0x0, x260, x251, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(0x0, x228, x241, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x239, x262, &x277);
- { uint64_t _; uint64_t x280 = _mulx_u64(x265, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x280, 0xfffffffffffffff1L, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x280, 0xffffffffffffffffL, &x287);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x280, 0xffffffffffffffffL, &x290);
- { uint8_t x293; uint64_t x292 = _mulx_u64_out_u8(x280, 0xf, &x293);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(0x0, x284, x286, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x287, x289, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x290, x292, &x301);
- { uint8_t x303 = (x302 + x293);
- { uint64_t _; uint8_t x306 = _addcarryx_u64(0x0, x265, x283, &_);
- { uint64_t x308; uint8_t x309 = _addcarryx_u64(x306, x268, x295, &x308);
- { uint64_t x311; uint8_t x312 = _addcarryx_u64(x309, x271, x298, &x311);
- { uint64_t x314; uint8_t x315 = _addcarryx_u64(x312, x274, x301, &x314);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(x315, x277, x303, &x317);
- { uint8_t x319 = (x318 + x278);
- { uint64_t x321; uint8_t x322 = _subborrow_u64(0x0, x308, 0xfffffffffffffff1L, &x321);
- { uint64_t x324; uint8_t x325 = _subborrow_u64(x322, x311, 0xffffffffffffffffL, &x324);
- { uint64_t x327; uint8_t x328 = _subborrow_u64(x325, x314, 0xffffffffffffffffL, &x327);
- { uint64_t x330; uint8_t x331 = _subborrow_u64(x328, x317, 0xf, &x330);
- { uint64_t _; uint8_t x334 = _subborrow_u64(x331, x319, 0x0, &_);
- { uint64_t x335 = cmovznz64(x334, x330, x317);
- { uint64_t x336 = cmovznz64(x334, x327, x314);
- { uint64_t x337 = cmovznz64(x334, x324, x311);
- { uint64_t x338 = cmovznz64(x334, x321, x308);
- out[0] = x338;
- out[1] = x337;
- out[2] = x336;
- out[3] = x335;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/femul.v b/src/Specific/montgomery64_2e196m15_4limbs/femul.v
deleted file mode 100644
index c1c8c8285..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.log
deleted file mode 100644
index a2c56f3fd..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xeeeeeeeeeeeeeeefL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffff1L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = mulx_u64_out_u8(x41, 0xf);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint8_t x64 = (x63 + x54);
- uint64_t _, uint8_t x67 = addcarryx_u64(0x0, x17, x44);
- uint64_t x69, uint8_t x70 = addcarryx_u64(x67, x29, x56);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x32, x59);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x35, x62);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x38, x64);
- uint64_t x81, uint64_t x82 = mulx_u64(x7, x11);
- uint64_t x84, uint64_t x85 = mulx_u64(x7, x13);
- uint64_t x87, uint64_t x88 = mulx_u64(x7, x15);
- uint64_t x90, uint64_t x91 = mulx_u64(x7, x14);
- uint64_t x93, uint8_t x94 = addcarryx_u64(0x0, x82, x84);
- uint64_t x96, uint8_t x97 = addcarryx_u64(x94, x85, x87);
- uint64_t x99, uint8_t x100 = addcarryx_u64(x97, x88, x90);
- uint64_t x102, uint8_t _ = addcarryx_u64(0x0, x100, x91);
- uint64_t x105, uint8_t x106 = addcarryx_u64(0x0, x69, x81);
- uint64_t x108, uint8_t x109 = addcarryx_u64(x106, x72, x93);
- uint64_t x111, uint8_t x112 = addcarryx_u64(x109, x75, x96);
- uint64_t x114, uint8_t x115 = addcarryx_u64(x112, x78, x99);
- uint64_t x117, uint8_t x118 = addcarryx_u64(x115, x79, x102);
- uint64_t x120, uint64_t _ = mulx_u64(x105, 0xeeeeeeeeeeeeeeefL);
- uint64_t x123, uint64_t x124 = mulx_u64(x120, 0xfffffffffffffff1L);
- uint64_t x126, uint64_t x127 = mulx_u64(x120, 0xffffffffffffffffL);
- uint64_t x129, uint64_t x130 = mulx_u64(x120, 0xffffffffffffffffL);
- uint64_t x132, uint8_t x133 = mulx_u64_out_u8(x120, 0xf);
- uint64_t x135, uint8_t x136 = addcarryx_u64(0x0, x124, x126);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x127, x129);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x130, x132);
- uint8_t x143 = (x142 + x133);
- uint64_t _, uint8_t x146 = addcarryx_u64(0x0, x105, x123);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x108, x135);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x111, x138);
- uint64_t x154, uint8_t x155 = addcarryx_u64(x152, x114, x141);
- uint64_t x157, uint8_t x158 = addcarryx_u64(x155, x117, x143);
- uint8_t x159 = (x158 + x118);
- uint64_t x161, uint64_t x162 = mulx_u64(x9, x11);
- uint64_t x164, uint64_t x165 = mulx_u64(x9, x13);
- uint64_t x167, uint64_t x168 = mulx_u64(x9, x15);
- uint64_t x170, uint64_t x171 = mulx_u64(x9, x14);
- uint64_t x173, uint8_t x174 = addcarryx_u64(0x0, x162, x164);
- uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x165, x167);
- uint64_t x179, uint8_t x180 = addcarryx_u64(x177, x168, x170);
- uint64_t x182, uint8_t _ = addcarryx_u64(0x0, x180, x171);
- uint64_t x185, uint8_t x186 = addcarryx_u64(0x0, x148, x161);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x151, x173);
- uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x154, x176);
- uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x157, x179);
- uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x159, x182);
- uint64_t x200, uint64_t _ = mulx_u64(x185, 0xeeeeeeeeeeeeeeefL);
- uint64_t x203, uint64_t x204 = mulx_u64(x200, 0xfffffffffffffff1L);
- uint64_t x206, uint64_t x207 = mulx_u64(x200, 0xffffffffffffffffL);
- uint64_t x209, uint64_t x210 = mulx_u64(x200, 0xffffffffffffffffL);
- uint64_t x212, uint8_t x213 = mulx_u64_out_u8(x200, 0xf);
- uint64_t x215, uint8_t x216 = addcarryx_u64(0x0, x204, x206);
- uint64_t x218, uint8_t x219 = addcarryx_u64(x216, x207, x209);
- uint64_t x221, uint8_t x222 = addcarryx_u64(x219, x210, x212);
- uint8_t x223 = (x222 + x213);
- uint64_t _, uint8_t x226 = addcarryx_u64(0x0, x185, x203);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x188, x215);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x191, x218);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x194, x221);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x197, x223);
- uint8_t x239 = (x238 + x198);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x11);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x13);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x15);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x14);
- uint64_t x253, uint8_t x254 = addcarryx_u64(0x0, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x248, x250);
- uint64_t x262, uint8_t _ = addcarryx_u64(0x0, x260, x251);
- uint64_t x265, uint8_t x266 = addcarryx_u64(0x0, x228, x241);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x239, x262);
- uint64_t x280, uint64_t _ = mulx_u64(x265, 0xeeeeeeeeeeeeeeefL);
- uint64_t x283, uint64_t x284 = mulx_u64(x280, 0xfffffffffffffff1L);
- uint64_t x286, uint64_t x287 = mulx_u64(x280, 0xffffffffffffffffL);
- uint64_t x289, uint64_t x290 = mulx_u64(x280, 0xffffffffffffffffL);
- uint64_t x292, uint8_t x293 = mulx_u64_out_u8(x280, 0xf);
- uint64_t x295, uint8_t x296 = addcarryx_u64(0x0, x284, x286);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x287, x289);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x290, x292);
- uint8_t x303 = (x302 + x293);
- uint64_t _, uint8_t x306 = addcarryx_u64(0x0, x265, x283);
- uint64_t x308, uint8_t x309 = addcarryx_u64(x306, x268, x295);
- uint64_t x311, uint8_t x312 = addcarryx_u64(x309, x271, x298);
- uint64_t x314, uint8_t x315 = addcarryx_u64(x312, x274, x301);
- uint64_t x317, uint8_t x318 = addcarryx_u64(x315, x277, x303);
- uint8_t x319 = (x318 + x278);
- uint64_t x321, uint8_t x322 = subborrow_u64(0x0, x308, 0xfffffffffffffff1L);
- uint64_t x324, uint8_t x325 = subborrow_u64(x322, x311, 0xffffffffffffffffL);
- uint64_t x327, uint8_t x328 = subborrow_u64(x325, x314, 0xffffffffffffffffL);
- uint64_t x330, uint8_t x331 = subborrow_u64(x328, x317, 0xf);
- uint64_t _, uint8_t x334 = subborrow_u64(x331, x319, 0x0);
- uint64_t x335 = cmovznz64(x334, x330, x317);
- uint64_t x336 = cmovznz64(x334, x327, x314);
- uint64_t x337 = cmovznz64(x334, x324, x311);
- uint64_t x338 = cmovznz64(x334, x321, x308);
- return (x335, x336, x337, x338))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.v
deleted file mode 100644
index 5898011f8..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fenz.c b/src/Specific/montgomery64_2e196m15_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fenz.v b/src/Specific/montgomery64_2e196m15_4limbs/fenz.v
deleted file mode 100644
index f37678d02..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.v
deleted file mode 100644
index 974087bd0..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feopp.c b/src/Specific/montgomery64_2e196m15_4limbs/feopp.c
deleted file mode 100644
index 19622bda1..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffff1L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint8_t x32 = ((uint8_t)x19 & 0xf);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feopp.v b/src/Specific/montgomery64_2e196m15_4limbs/feopp.v
deleted file mode 100644
index a8742e2b5..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.log
deleted file mode 100644
index cc51b2dd1..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffff1L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint8_t x32 = ((uint8_t)x19 & 0xf);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.v
deleted file mode 100644
index 8d7f56818..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fesquare.c b/src/Specific/montgomery64_2e196m15_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fesub.c b/src/Specific/montgomery64_2e196m15_4limbs/fesub.c
deleted file mode 100644
index 8ce694442..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffff1L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint8_t x41 = ((uint8_t)x28 & 0xf);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fesub.v b/src/Specific/montgomery64_2e196m15_4limbs/fesub.v
deleted file mode 100644
index b7fbe0ba6..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.log
deleted file mode 100644
index 961fd6c8d..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffff1L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint8_t x41 = ((uint8_t)x28 & 0xf);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.v
deleted file mode 100644
index 10b8c075e..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e196m15_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e196m15_4limbs/py_interpreter.sh
deleted file mode 100755
index f8a492b8c..000000000
--- a/src/Specific/montgomery64_2e196m15_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**196 - 15' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e198m17_4limbs/CurveParameters.v
deleted file mode 100644
index 16c39e743..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^198 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^198;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e198m17_4limbs/Synthesis.v b/src/Specific/montgomery64_2e198m17_4limbs/Synthesis.v
deleted file mode 100644
index 8c1e199d8..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.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/montgomery64_2e198m17_4limbs/compiler.sh b/src/Specific/montgomery64_2e198m17_4limbs/compiler.sh
deleted file mode 100755
index 365b34dfe..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e198m17_4limbs/compilerxx.sh
deleted file mode 100755
index fa415d831..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feadd.c b/src/Specific/montgomery64_2e198m17_4limbs/feadd.c
deleted file mode 100644
index 462dab71d..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffefL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3f, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feadd.v b/src/Specific/montgomery64_2e198m17_4limbs/feadd.v
deleted file mode 100644
index 94635fa24..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.log
deleted file mode 100644
index d4d34eddd..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffefL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3f);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.v
deleted file mode 100644
index 7a94878bf..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/femul.c b/src/Specific/montgomery64_2e198m17_4limbs/femul.c
deleted file mode 100644
index 3e5aad476..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffffefL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint8_t x54; uint64_t x53 = _mulx_u64_out_u8(x41, 0x3f, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint8_t x64 = (x63 + x54);
- { uint64_t _; uint8_t x67 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(x67, x29, x56, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x32, x59, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x35, x62, &x75);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x38, x64, &x78);
- { uint64_t x82; uint64_t x81 = _mulx_u64(x7, x11, &x82);
- { uint64_t x85; uint64_t x84 = _mulx_u64(x7, x13, &x85);
- { uint64_t x88; uint64_t x87 = _mulx_u64(x7, x15, &x88);
- { uint64_t x91; uint64_t x90 = _mulx_u64(x7, x14, &x91);
- { uint64_t x93; uint8_t x94 = _addcarryx_u64(0x0, x82, x84, &x93);
- { uint64_t x96; uint8_t x97 = _addcarryx_u64(x94, x85, x87, &x96);
- { uint64_t x99; uint8_t x100 = _addcarryx_u64(x97, x88, x90, &x99);
- { uint64_t x102; uint8_t _ = _addcarryx_u64(0x0, x100, x91, &x102);
- { uint64_t x105; uint8_t x106 = _addcarryx_u64(0x0, x69, x81, &x105);
- { uint64_t x108; uint8_t x109 = _addcarryx_u64(x106, x72, x93, &x108);
- { uint64_t x111; uint8_t x112 = _addcarryx_u64(x109, x75, x96, &x111);
- { uint64_t x114; uint8_t x115 = _addcarryx_u64(x112, x78, x99, &x114);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(x115, x79, x102, &x117);
- { uint64_t _; uint64_t x120 = _mulx_u64(x105, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x124; uint64_t x123 = _mulx_u64(x120, 0xffffffffffffffefL, &x124);
- { uint64_t x127; uint64_t x126 = _mulx_u64(x120, 0xffffffffffffffffL, &x127);
- { uint64_t x130; uint64_t x129 = _mulx_u64(x120, 0xffffffffffffffffL, &x130);
- { uint8_t x133; uint64_t x132 = _mulx_u64_out_u8(x120, 0x3f, &x133);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(0x0, x124, x126, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x127, x129, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x130, x132, &x141);
- { uint8_t x143 = (x142 + x133);
- { uint64_t _; uint8_t x146 = _addcarryx_u64(0x0, x105, x123, &_);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x108, x135, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x111, x138, &x151);
- { uint64_t x154; uint8_t x155 = _addcarryx_u64(x152, x114, x141, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(x155, x117, x143, &x157);
- { uint8_t x159 = (x158 + x118);
- { uint64_t x162; uint64_t x161 = _mulx_u64(x9, x11, &x162);
- { uint64_t x165; uint64_t x164 = _mulx_u64(x9, x13, &x165);
- { uint64_t x168; uint64_t x167 = _mulx_u64(x9, x15, &x168);
- { uint64_t x171; uint64_t x170 = _mulx_u64(x9, x14, &x171);
- { uint64_t x173; uint8_t x174 = _addcarryx_u64(0x0, x162, x164, &x173);
- { uint64_t x176; uint8_t x177 = _addcarryx_u64(x174, x165, x167, &x176);
- { uint64_t x179; uint8_t x180 = _addcarryx_u64(x177, x168, x170, &x179);
- { uint64_t x182; uint8_t _ = _addcarryx_u64(0x0, x180, x171, &x182);
- { uint64_t x185; uint8_t x186 = _addcarryx_u64(0x0, x148, x161, &x185);
- { uint64_t x188; uint8_t x189 = _addcarryx_u64(x186, x151, x173, &x188);
- { uint64_t x191; uint8_t x192 = _addcarryx_u64(x189, x154, x176, &x191);
- { uint64_t x194; uint8_t x195 = _addcarryx_u64(x192, x157, x179, &x194);
- { uint64_t x197; uint8_t x198 = _addcarryx_u64(x195, x159, x182, &x197);
- { uint64_t _; uint64_t x200 = _mulx_u64(x185, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x204; uint64_t x203 = _mulx_u64(x200, 0xffffffffffffffefL, &x204);
- { uint64_t x207; uint64_t x206 = _mulx_u64(x200, 0xffffffffffffffffL, &x207);
- { uint64_t x210; uint64_t x209 = _mulx_u64(x200, 0xffffffffffffffffL, &x210);
- { uint8_t x213; uint64_t x212 = _mulx_u64_out_u8(x200, 0x3f, &x213);
- { uint64_t x215; uint8_t x216 = _addcarryx_u64(0x0, x204, x206, &x215);
- { uint64_t x218; uint8_t x219 = _addcarryx_u64(x216, x207, x209, &x218);
- { uint64_t x221; uint8_t x222 = _addcarryx_u64(x219, x210, x212, &x221);
- { uint8_t x223 = (x222 + x213);
- { uint64_t _; uint8_t x226 = _addcarryx_u64(0x0, x185, x203, &_);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x188, x215, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x191, x218, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x194, x221, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x197, x223, &x237);
- { uint8_t x239 = (x238 + x198);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x11, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x13, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x15, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x14, &x251);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(0x0, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x248, x250, &x259);
- { uint64_t x262; uint8_t _ = _addcarryx_u64(0x0, x260, x251, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(0x0, x228, x241, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x239, x262, &x277);
- { uint64_t _; uint64_t x280 = _mulx_u64(x265, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x280, 0xffffffffffffffefL, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x280, 0xffffffffffffffffL, &x287);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x280, 0xffffffffffffffffL, &x290);
- { uint8_t x293; uint64_t x292 = _mulx_u64_out_u8(x280, 0x3f, &x293);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(0x0, x284, x286, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x287, x289, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x290, x292, &x301);
- { uint8_t x303 = (x302 + x293);
- { uint64_t _; uint8_t x306 = _addcarryx_u64(0x0, x265, x283, &_);
- { uint64_t x308; uint8_t x309 = _addcarryx_u64(x306, x268, x295, &x308);
- { uint64_t x311; uint8_t x312 = _addcarryx_u64(x309, x271, x298, &x311);
- { uint64_t x314; uint8_t x315 = _addcarryx_u64(x312, x274, x301, &x314);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(x315, x277, x303, &x317);
- { uint8_t x319 = (x318 + x278);
- { uint64_t x321; uint8_t x322 = _subborrow_u64(0x0, x308, 0xffffffffffffffefL, &x321);
- { uint64_t x324; uint8_t x325 = _subborrow_u64(x322, x311, 0xffffffffffffffffL, &x324);
- { uint64_t x327; uint8_t x328 = _subborrow_u64(x325, x314, 0xffffffffffffffffL, &x327);
- { uint64_t x330; uint8_t x331 = _subborrow_u64(x328, x317, 0x3f, &x330);
- { uint64_t _; uint8_t x334 = _subborrow_u64(x331, x319, 0x0, &_);
- { uint64_t x335 = cmovznz64(x334, x330, x317);
- { uint64_t x336 = cmovznz64(x334, x327, x314);
- { uint64_t x337 = cmovznz64(x334, x324, x311);
- { uint64_t x338 = cmovznz64(x334, x321, x308);
- out[0] = x338;
- out[1] = x337;
- out[2] = x336;
- out[3] = x335;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/femul.v b/src/Specific/montgomery64_2e198m17_4limbs/femul.v
deleted file mode 100644
index 185665bac..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.log
deleted file mode 100644
index 8823d6e80..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffffefL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = mulx_u64_out_u8(x41, 0x3f);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint8_t x64 = (x63 + x54);
- uint64_t _, uint8_t x67 = addcarryx_u64(0x0, x17, x44);
- uint64_t x69, uint8_t x70 = addcarryx_u64(x67, x29, x56);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x32, x59);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x35, x62);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x38, x64);
- uint64_t x81, uint64_t x82 = mulx_u64(x7, x11);
- uint64_t x84, uint64_t x85 = mulx_u64(x7, x13);
- uint64_t x87, uint64_t x88 = mulx_u64(x7, x15);
- uint64_t x90, uint64_t x91 = mulx_u64(x7, x14);
- uint64_t x93, uint8_t x94 = addcarryx_u64(0x0, x82, x84);
- uint64_t x96, uint8_t x97 = addcarryx_u64(x94, x85, x87);
- uint64_t x99, uint8_t x100 = addcarryx_u64(x97, x88, x90);
- uint64_t x102, uint8_t _ = addcarryx_u64(0x0, x100, x91);
- uint64_t x105, uint8_t x106 = addcarryx_u64(0x0, x69, x81);
- uint64_t x108, uint8_t x109 = addcarryx_u64(x106, x72, x93);
- uint64_t x111, uint8_t x112 = addcarryx_u64(x109, x75, x96);
- uint64_t x114, uint8_t x115 = addcarryx_u64(x112, x78, x99);
- uint64_t x117, uint8_t x118 = addcarryx_u64(x115, x79, x102);
- uint64_t x120, uint64_t _ = mulx_u64(x105, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x123, uint64_t x124 = mulx_u64(x120, 0xffffffffffffffefL);
- uint64_t x126, uint64_t x127 = mulx_u64(x120, 0xffffffffffffffffL);
- uint64_t x129, uint64_t x130 = mulx_u64(x120, 0xffffffffffffffffL);
- uint64_t x132, uint8_t x133 = mulx_u64_out_u8(x120, 0x3f);
- uint64_t x135, uint8_t x136 = addcarryx_u64(0x0, x124, x126);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x127, x129);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x130, x132);
- uint8_t x143 = (x142 + x133);
- uint64_t _, uint8_t x146 = addcarryx_u64(0x0, x105, x123);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x108, x135);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x111, x138);
- uint64_t x154, uint8_t x155 = addcarryx_u64(x152, x114, x141);
- uint64_t x157, uint8_t x158 = addcarryx_u64(x155, x117, x143);
- uint8_t x159 = (x158 + x118);
- uint64_t x161, uint64_t x162 = mulx_u64(x9, x11);
- uint64_t x164, uint64_t x165 = mulx_u64(x9, x13);
- uint64_t x167, uint64_t x168 = mulx_u64(x9, x15);
- uint64_t x170, uint64_t x171 = mulx_u64(x9, x14);
- uint64_t x173, uint8_t x174 = addcarryx_u64(0x0, x162, x164);
- uint64_t x176, uint8_t x177 = addcarryx_u64(x174, x165, x167);
- uint64_t x179, uint8_t x180 = addcarryx_u64(x177, x168, x170);
- uint64_t x182, uint8_t _ = addcarryx_u64(0x0, x180, x171);
- uint64_t x185, uint8_t x186 = addcarryx_u64(0x0, x148, x161);
- uint64_t x188, uint8_t x189 = addcarryx_u64(x186, x151, x173);
- uint64_t x191, uint8_t x192 = addcarryx_u64(x189, x154, x176);
- uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x157, x179);
- uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x159, x182);
- uint64_t x200, uint64_t _ = mulx_u64(x185, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x203, uint64_t x204 = mulx_u64(x200, 0xffffffffffffffefL);
- uint64_t x206, uint64_t x207 = mulx_u64(x200, 0xffffffffffffffffL);
- uint64_t x209, uint64_t x210 = mulx_u64(x200, 0xffffffffffffffffL);
- uint64_t x212, uint8_t x213 = mulx_u64_out_u8(x200, 0x3f);
- uint64_t x215, uint8_t x216 = addcarryx_u64(0x0, x204, x206);
- uint64_t x218, uint8_t x219 = addcarryx_u64(x216, x207, x209);
- uint64_t x221, uint8_t x222 = addcarryx_u64(x219, x210, x212);
- uint8_t x223 = (x222 + x213);
- uint64_t _, uint8_t x226 = addcarryx_u64(0x0, x185, x203);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x188, x215);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x191, x218);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x194, x221);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x197, x223);
- uint8_t x239 = (x238 + x198);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x11);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x13);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x15);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x14);
- uint64_t x253, uint8_t x254 = addcarryx_u64(0x0, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x248, x250);
- uint64_t x262, uint8_t _ = addcarryx_u64(0x0, x260, x251);
- uint64_t x265, uint8_t x266 = addcarryx_u64(0x0, x228, x241);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x239, x262);
- uint64_t x280, uint64_t _ = mulx_u64(x265, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x283, uint64_t x284 = mulx_u64(x280, 0xffffffffffffffefL);
- uint64_t x286, uint64_t x287 = mulx_u64(x280, 0xffffffffffffffffL);
- uint64_t x289, uint64_t x290 = mulx_u64(x280, 0xffffffffffffffffL);
- uint64_t x292, uint8_t x293 = mulx_u64_out_u8(x280, 0x3f);
- uint64_t x295, uint8_t x296 = addcarryx_u64(0x0, x284, x286);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x287, x289);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x290, x292);
- uint8_t x303 = (x302 + x293);
- uint64_t _, uint8_t x306 = addcarryx_u64(0x0, x265, x283);
- uint64_t x308, uint8_t x309 = addcarryx_u64(x306, x268, x295);
- uint64_t x311, uint8_t x312 = addcarryx_u64(x309, x271, x298);
- uint64_t x314, uint8_t x315 = addcarryx_u64(x312, x274, x301);
- uint64_t x317, uint8_t x318 = addcarryx_u64(x315, x277, x303);
- uint8_t x319 = (x318 + x278);
- uint64_t x321, uint8_t x322 = subborrow_u64(0x0, x308, 0xffffffffffffffefL);
- uint64_t x324, uint8_t x325 = subborrow_u64(x322, x311, 0xffffffffffffffffL);
- uint64_t x327, uint8_t x328 = subborrow_u64(x325, x314, 0xffffffffffffffffL);
- uint64_t x330, uint8_t x331 = subborrow_u64(x328, x317, 0x3f);
- uint64_t _, uint8_t x334 = subborrow_u64(x331, x319, 0x0);
- uint64_t x335 = cmovznz64(x334, x330, x317);
- uint64_t x336 = cmovznz64(x334, x327, x314);
- uint64_t x337 = cmovznz64(x334, x324, x311);
- uint64_t x338 = cmovznz64(x334, x321, x308);
- return (x335, x336, x337, x338))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.v
deleted file mode 100644
index d75c2feda..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fenz.c b/src/Specific/montgomery64_2e198m17_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fenz.v b/src/Specific/montgomery64_2e198m17_4limbs/fenz.v
deleted file mode 100644
index 4a7446ca3..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.v
deleted file mode 100644
index 188c1157e..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feopp.c b/src/Specific/montgomery64_2e198m17_4limbs/feopp.c
deleted file mode 100644
index 710608892..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffefL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint8_t x32 = ((uint8_t)x19 & 0x3f);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feopp.v b/src/Specific/montgomery64_2e198m17_4limbs/feopp.v
deleted file mode 100644
index 580fc90d0..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.log
deleted file mode 100644
index cb54ba741..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffefL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint8_t x32 = ((uint8_t)x19 & 0x3f);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.v
deleted file mode 100644
index 24280fac3..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fesquare.c b/src/Specific/montgomery64_2e198m17_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fesub.c b/src/Specific/montgomery64_2e198m17_4limbs/fesub.c
deleted file mode 100644
index eb73e957b..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffefL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint8_t x41 = ((uint8_t)x28 & 0x3f);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fesub.v b/src/Specific/montgomery64_2e198m17_4limbs/fesub.v
deleted file mode 100644
index 9fa121538..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.log
deleted file mode 100644
index a70ca85ad..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffefL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint8_t x41 = ((uint8_t)x28 & 0x3f);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.v
deleted file mode 100644
index 016486afc..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e198m17_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e198m17_4limbs/py_interpreter.sh
deleted file mode 100755
index 4e637fbc6..000000000
--- a/src/Specific/montgomery64_2e198m17_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**198 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/CurveParameters.v
deleted file mode 100644
index 69690d6d5..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^205 - 45*2^198 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^205;
- c := [(1, 1); (45, 2^198)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e205m45x2e198m1_4limbs/Synthesis.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/Synthesis.v
deleted file mode 100644
index d6a3ee4d8..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.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/montgomery64_2e205m45x2e198m1_4limbs/compiler.sh b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/compiler.sh
deleted file mode 100755
index 8ebfba4a2..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/compilerxx.sh
deleted file mode 100755
index dcb2e56c6..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x14,0xbf,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='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<205) - 45*(1_mpz<<198) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.c
deleted file mode 100644
index efa3e56d5..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffffL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x14bf, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.v
deleted file mode 100644
index 64b8ec57c..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.log
deleted file mode 100644
index f0bef4fdc..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x14bf);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.v
deleted file mode 100644
index 325ad0713..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.c
deleted file mode 100644
index 48e9c8511..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.c
+++ /dev/null
@@ -1,126 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t x42; uint64_t x41 = _mulx_u64(x17, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x17, 0xffffffffffffffffL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x17, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x17, 0x14bf, &x51);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(0x0, x42, x44, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t _ = _addcarryx_u64(0x0, x60, x51, &x62);
- { uint64_t _; uint8_t x66 = _addcarryx_u64(0x0, x17, x41, &_);
- { uint64_t x68; uint8_t x69 = _addcarryx_u64(x66, x29, x53, &x68);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x32, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x35, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x38, x62, &x77);
- { uint64_t x81; uint64_t x80 = _mulx_u64(x7, x11, &x81);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x13, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x15, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x14, &x90);
- { uint64_t x92; uint8_t x93 = _addcarryx_u64(0x0, x81, x83, &x92);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(x93, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t _ = _addcarryx_u64(0x0, x99, x90, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(0x0, x68, x80, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x71, x92, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x78, x101, &x116);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x104, 0xffffffffffffffffL, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x104, 0xffffffffffffffffL, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x104, 0xffffffffffffffffL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x104, 0x14bf, &x129);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(0x0, x120, x122, &x131);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(x132, x123, x125, &x134);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(x135, x126, x128, &x137);
- { uint64_t x140; uint8_t _ = _addcarryx_u64(0x0, x138, x129, &x140);
- { uint64_t _; uint8_t x144 = _addcarryx_u64(0x0, x104, x119, &_);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x107, x131, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x110, x134, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x113, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x116, x140, &x155);
- { uint8_t x157 = (x156 + x117);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x9, x11, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x9, x13, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x15, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x14, &x169);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(0x0, x160, x162, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x163, x165, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x166, x168, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x169, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(0x0, x146, x159, &x183);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x149, x171, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x152, x174, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x157, x180, &x195);
- { uint64_t x199; uint64_t x198 = _mulx_u64(x183, 0xffffffffffffffffL, &x199);
- { uint64_t x202; uint64_t x201 = _mulx_u64(x183, 0xffffffffffffffffL, &x202);
- { uint64_t x205; uint64_t x204 = _mulx_u64(x183, 0xffffffffffffffffL, &x205);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x183, 0x14bf, &x208);
- { uint64_t x210; uint8_t x211 = _addcarryx_u64(0x0, x199, x201, &x210);
- { uint64_t x213; uint8_t x214 = _addcarryx_u64(x211, x202, x204, &x213);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x205, x207, &x216);
- { uint64_t x219; uint8_t _ = _addcarryx_u64(0x0, x217, x208, &x219);
- { uint64_t _; uint8_t x223 = _addcarryx_u64(0x0, x183, x198, &_);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x186, x210, &x225);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x189, x213, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x192, x216, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x195, x219, &x234);
- { uint8_t x236 = (x235 + x196);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x8, x11, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x13, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x15, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x14, &x248);
- { uint64_t x250; uint8_t x251 = _addcarryx_u64(0x0, x239, x241, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(x251, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t _ = _addcarryx_u64(0x0, x257, x248, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(0x0, x225, x238, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x228, x250, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x236, x259, &x274);
- { uint64_t x278; uint64_t x277 = _mulx_u64(x262, 0xffffffffffffffffL, &x278);
- { uint64_t x281; uint64_t x280 = _mulx_u64(x262, 0xffffffffffffffffL, &x281);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x262, 0xffffffffffffffffL, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x262, 0x14bf, &x287);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(0x0, x278, x280, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x281, x283, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x284, x286, &x295);
- { uint64_t x298; uint8_t _ = _addcarryx_u64(0x0, x296, x287, &x298);
- { uint64_t _; uint8_t x302 = _addcarryx_u64(0x0, x262, x277, &_);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x265, x289, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x268, x292, &x307);
- { uint64_t x310; uint8_t x311 = _addcarryx_u64(x308, x271, x295, &x310);
- { uint64_t x313; uint8_t x314 = _addcarryx_u64(x311, x274, x298, &x313);
- { uint8_t x315 = (x314 + x275);
- { uint64_t x317; uint8_t x318 = _subborrow_u64(0x0, x304, 0xffffffffffffffffL, &x317);
- { uint64_t x320; uint8_t x321 = _subborrow_u64(x318, x307, 0xffffffffffffffffL, &x320);
- { uint64_t x323; uint8_t x324 = _subborrow_u64(x321, x310, 0xffffffffffffffffL, &x323);
- { uint64_t x326; uint8_t x327 = _subborrow_u64(x324, x313, 0x14bf, &x326);
- { uint64_t _; uint8_t x330 = _subborrow_u64(x327, x315, 0x0, &_);
- { uint64_t x331 = cmovznz64(x330, x326, x313);
- { uint64_t x332 = cmovznz64(x330, x323, x310);
- { uint64_t x333 = cmovznz64(x330, x320, x307);
- { uint64_t x334 = cmovznz64(x330, x317, x304);
- out[0] = x334;
- out[1] = x333;
- out[2] = x332;
- out[3] = x331;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.v
deleted file mode 100644
index 877c1dac7..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.log
deleted file mode 100644
index 1d65f9a33..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,118 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t x42 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x47, uint64_t x48 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x17, 0x14bf);
- uint64_t x53, uint8_t x54 = addcarryx_u64(0x0, x42, x44);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t _ = addcarryx_u64(0x0, x60, x51);
- uint64_t _, uint8_t x66 = addcarryx_u64(0x0, x17, x41);
- uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x29, x53);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x32, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x35, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x38, x62);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x11);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x13);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x15);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x14);
- uint64_t x92, uint8_t x93 = addcarryx_u64(0x0, x81, x83);
- uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t _ = addcarryx_u64(0x0, x99, x90);
- uint64_t x104, uint8_t x105 = addcarryx_u64(0x0, x68, x80);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x78, x101);
- uint64_t x119, uint64_t x120 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x122, uint64_t x123 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x125, uint64_t x126 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x128, uint64_t x129 = mulx_u64(x104, 0x14bf);
- uint64_t x131, uint8_t x132 = addcarryx_u64(0x0, x120, x122);
- uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x123, x125);
- uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x126, x128);
- uint64_t x140, uint8_t _ = addcarryx_u64(0x0, x138, x129);
- uint64_t _, uint8_t x144 = addcarryx_u64(0x0, x104, x119);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x107, x131);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x110, x134);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x113, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x116, x140);
- uint8_t x157 = (x156 + x117);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x11);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x13);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x15);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x14);
- uint64_t x171, uint8_t x172 = addcarryx_u64(0x0, x160, x162);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x163, x165);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x166, x168);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x169);
- uint64_t x183, uint8_t x184 = addcarryx_u64(0x0, x146, x159);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x152, x174);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x157, x180);
- uint64_t x198, uint64_t x199 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x201, uint64_t x202 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x204, uint64_t x205 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x207, uint64_t x208 = mulx_u64(x183, 0x14bf);
- uint64_t x210, uint8_t x211 = addcarryx_u64(0x0, x199, x201);
- uint64_t x213, uint8_t x214 = addcarryx_u64(x211, x202, x204);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x205, x207);
- uint64_t x219, uint8_t _ = addcarryx_u64(0x0, x217, x208);
- uint64_t _, uint8_t x223 = addcarryx_u64(0x0, x183, x198);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x186, x210);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x189, x213);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x192, x216);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x195, x219);
- uint8_t x236 = (x235 + x196);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x11);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x13);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x15);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x14);
- uint64_t x250, uint8_t x251 = addcarryx_u64(0x0, x239, x241);
- uint64_t x253, uint8_t x254 = addcarryx_u64(x251, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t _ = addcarryx_u64(0x0, x257, x248);
- uint64_t x262, uint8_t x263 = addcarryx_u64(0x0, x225, x238);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x228, x250);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x236, x259);
- uint64_t x277, uint64_t x278 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x280, uint64_t x281 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x283, uint64_t x284 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x286, uint64_t x287 = mulx_u64(x262, 0x14bf);
- uint64_t x289, uint8_t x290 = addcarryx_u64(0x0, x278, x280);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x281, x283);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x284, x286);
- uint64_t x298, uint8_t _ = addcarryx_u64(0x0, x296, x287);
- uint64_t _, uint8_t x302 = addcarryx_u64(0x0, x262, x277);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x265, x289);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x268, x292);
- uint64_t x310, uint8_t x311 = addcarryx_u64(x308, x271, x295);
- uint64_t x313, uint8_t x314 = addcarryx_u64(x311, x274, x298);
- uint8_t x315 = (x314 + x275);
- uint64_t x317, uint8_t x318 = subborrow_u64(0x0, x304, 0xffffffffffffffffL);
- uint64_t x320, uint8_t x321 = subborrow_u64(x318, x307, 0xffffffffffffffffL);
- uint64_t x323, uint8_t x324 = subborrow_u64(x321, x310, 0xffffffffffffffffL);
- uint64_t x326, uint8_t x327 = subborrow_u64(x324, x313, 0x14bf);
- uint64_t _, uint8_t x330 = subborrow_u64(x327, x315, 0x0);
- uint64_t x331 = cmovznz64(x330, x326, x313);
- uint64_t x332 = cmovznz64(x330, x323, x310);
- uint64_t x333 = cmovznz64(x330, x320, x307);
- uint64_t x334 = cmovznz64(x330, x317, x304);
- return (x331, x332, x333, x334))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.v
deleted file mode 100644
index 81cb9de27..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.v
deleted file mode 100644
index c4a3d1b8f..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.v
deleted file mode 100644
index 695e0c41a..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.c
deleted file mode 100644
index 0f3e0e288..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffffL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x14bf);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.v
deleted file mode 100644
index 3c2768abb..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.log
deleted file mode 100644
index 1d4dfdaf4..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffffL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x14bf);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.v
deleted file mode 100644
index 340969cfe..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.c
deleted file mode 100644
index 8a803be34..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x14bf);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.v
deleted file mode 100644
index f77e07583..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.log
deleted file mode 100644
index ea83e4737..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x14bf);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.v
deleted file mode 100644
index dd01cb919..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e205m45x2e198m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 65ae1af0b..000000000
--- a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**205 - 45*2**198 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e206m5_4limbs/CurveParameters.v
deleted file mode 100644
index b96f6d0a6..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^206 - 5
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^206;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e206m5_4limbs/Synthesis.v b/src/Specific/montgomery64_2e206m5_4limbs/Synthesis.v
deleted file mode 100644
index 2b2669eb6..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.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/montgomery64_2e206m5_4limbs/compiler.sh b/src/Specific/montgomery64_2e206m5_4limbs/compiler.sh
deleted file mode 100755
index 5f7cd8e77..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e206m5_4limbs/compilerxx.sh
deleted file mode 100755
index 7f847b2ad..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feadd.c b/src/Specific/montgomery64_2e206m5_4limbs/feadd.c
deleted file mode 100644
index bf6500712..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffffbL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3fff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feadd.v b/src/Specific/montgomery64_2e206m5_4limbs/feadd.v
deleted file mode 100644
index 863728097..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.log
deleted file mode 100644
index b639a1e26..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffffbL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3fff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.v
deleted file mode 100644
index 2b0d45f81..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/femul.c b/src/Specific/montgomery64_2e206m5_4limbs/femul.c
deleted file mode 100644
index 63fd232b1..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xcccccccccccccccdL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffffbL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x3fff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xcccccccccccccccdL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffffbL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x3fff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xcccccccccccccccdL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffffbL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x3fff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xcccccccccccccccdL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffffbL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x3fff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffffbL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x3fff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/femul.v b/src/Specific/montgomery64_2e206m5_4limbs/femul.v
deleted file mode 100644
index 8ceef20c4..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.log
deleted file mode 100644
index 597866bef..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xcccccccccccccccdL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffffbL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x3fff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xcccccccccccccccdL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffffbL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x3fff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xcccccccccccccccdL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffffbL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x3fff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xcccccccccccccccdL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffffbL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x3fff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffffbL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x3fff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.v
deleted file mode 100644
index 0c1e8f71c..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fenz.c b/src/Specific/montgomery64_2e206m5_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fenz.v b/src/Specific/montgomery64_2e206m5_4limbs/fenz.v
deleted file mode 100644
index 29e13f108..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.v
deleted file mode 100644
index 239ba0e38..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feopp.c b/src/Specific/montgomery64_2e206m5_4limbs/feopp.c
deleted file mode 100644
index 14512cb65..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffffbL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x3fff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feopp.v b/src/Specific/montgomery64_2e206m5_4limbs/feopp.v
deleted file mode 100644
index da531035a..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.log
deleted file mode 100644
index 66766af29..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffffbL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x3fff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.v
deleted file mode 100644
index c1cfbd778..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fesquare.c b/src/Specific/montgomery64_2e206m5_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fesub.c b/src/Specific/montgomery64_2e206m5_4limbs/fesub.c
deleted file mode 100644
index e8a81cfcb..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffffbL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x3fff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fesub.v b/src/Specific/montgomery64_2e206m5_4limbs/fesub.v
deleted file mode 100644
index b8819bb15..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.log
deleted file mode 100644
index c2474635a..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffffbL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x3fff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.v
deleted file mode 100644
index 8911c0480..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e206m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e206m5_4limbs/py_interpreter.sh
deleted file mode 100755
index 80e73f064..000000000
--- a/src/Specific/montgomery64_2e206m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**206 - 5' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e212m29_4limbs/CurveParameters.v
deleted file mode 100644
index 569504adc..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^212 - 29
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^212;
- c := [(1, 29)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e212m29_4limbs/Synthesis.v b/src/Specific/montgomery64_2e212m29_4limbs/Synthesis.v
deleted file mode 100644
index 67eb0d836..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.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/montgomery64_2e212m29_4limbs/compiler.sh b/src/Specific/montgomery64_2e212m29_4limbs/compiler.sh
deleted file mode 100755
index bf97b0512..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e212m29_4limbs/compilerxx.sh
deleted file mode 100755
index b027c34ea..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feadd.c b/src/Specific/montgomery64_2e212m29_4limbs/feadd.c
deleted file mode 100644
index 849154657..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffe3L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xfffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feadd.v b/src/Specific/montgomery64_2e212m29_4limbs/feadd.v
deleted file mode 100644
index 52e77bb5e..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.log
deleted file mode 100644
index 7d014a6a5..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffe3L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xfffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.v
deleted file mode 100644
index 3901e8920..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/femul.c b/src/Specific/montgomery64_2e212m29_4limbs/femul.c
deleted file mode 100644
index 1782985d0..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0x34f72c234f72c235, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffffe3L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0xfffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0x34f72c234f72c235, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xffffffffffffffe3L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0xfffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0x34f72c234f72c235, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xffffffffffffffe3L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0xfffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0x34f72c234f72c235, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xffffffffffffffe3L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0xfffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xffffffffffffffe3L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0xfffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/femul.v b/src/Specific/montgomery64_2e212m29_4limbs/femul.v
deleted file mode 100644
index 3e84d080d..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.log
deleted file mode 100644
index 98e14dbdc..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0x34f72c234f72c235);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffffe3L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0xfffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0x34f72c234f72c235);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xffffffffffffffe3L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0xfffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0x34f72c234f72c235);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xffffffffffffffe3L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0xfffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0x34f72c234f72c235);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xffffffffffffffe3L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0xfffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xffffffffffffffe3L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0xfffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.v
deleted file mode 100644
index 05a1d9342..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fenz.c b/src/Specific/montgomery64_2e212m29_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fenz.v b/src/Specific/montgomery64_2e212m29_4limbs/fenz.v
deleted file mode 100644
index 094a58750..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.v
deleted file mode 100644
index b0676631a..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feopp.c b/src/Specific/montgomery64_2e212m29_4limbs/feopp.c
deleted file mode 100644
index ad381e68b..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffe3L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xfffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feopp.v b/src/Specific/montgomery64_2e212m29_4limbs/feopp.v
deleted file mode 100644
index 2b37dfe9c..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.log
deleted file mode 100644
index 3b7584aeb..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffe3L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xfffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.v
deleted file mode 100644
index b788cc2a9..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fesquare.c b/src/Specific/montgomery64_2e212m29_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fesub.c b/src/Specific/montgomery64_2e212m29_4limbs/fesub.c
deleted file mode 100644
index 7911800fc..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffe3L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xfffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fesub.v b/src/Specific/montgomery64_2e212m29_4limbs/fesub.v
deleted file mode 100644
index cca124485..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.log
deleted file mode 100644
index 11fdb98c0..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffe3L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xfffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.v
deleted file mode 100644
index bbe2fd511..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e212m29_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e212m29_4limbs/py_interpreter.sh
deleted file mode 100755
index 75c8d487d..000000000
--- a/src/Specific/montgomery64_2e212m29_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**212 - 29' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e213m3_4limbs/CurveParameters.v
deleted file mode 100644
index f260326b0..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^213 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^213;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e213m3_4limbs/Synthesis.v b/src/Specific/montgomery64_2e213m3_4limbs/Synthesis.v
deleted file mode 100644
index a84e7e9b2..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.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/montgomery64_2e213m3_4limbs/compiler.sh b/src/Specific/montgomery64_2e213m3_4limbs/compiler.sh
deleted file mode 100755
index 548533422..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e213m3_4limbs/compilerxx.sh
deleted file mode 100755
index ef7024180..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feadd.c b/src/Specific/montgomery64_2e213m3_4limbs/feadd.c
deleted file mode 100644
index 007d524ae..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffffdL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x1fffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feadd.v b/src/Specific/montgomery64_2e213m3_4limbs/feadd.v
deleted file mode 100644
index 11efe4929..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.log
deleted file mode 100644
index a2348cfc3..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffffdL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x1fffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.v
deleted file mode 100644
index 4cb88857e..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/femul.c b/src/Specific/montgomery64_2e213m3_4limbs/femul.c
deleted file mode 100644
index 6e80f4806..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffffdL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x1fffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffffdL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x1fffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffffdL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x1fffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffffdL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x1fffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffffdL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x1fffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/femul.v b/src/Specific/montgomery64_2e213m3_4limbs/femul.v
deleted file mode 100644
index a47f8679b..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.log
deleted file mode 100644
index 2205892f9..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xaaaaaaaaaaaaaaabL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffffdL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x1fffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xaaaaaaaaaaaaaaabL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffffdL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x1fffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xaaaaaaaaaaaaaaabL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffffdL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x1fffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xaaaaaaaaaaaaaaabL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffffdL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x1fffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffffdL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x1fffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.v
deleted file mode 100644
index 975b6e10e..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fenz.c b/src/Specific/montgomery64_2e213m3_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fenz.v b/src/Specific/montgomery64_2e213m3_4limbs/fenz.v
deleted file mode 100644
index 1ee57066c..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.v
deleted file mode 100644
index c71c5f639..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feopp.c b/src/Specific/montgomery64_2e213m3_4limbs/feopp.c
deleted file mode 100644
index 9600b219b..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffffdL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x1fffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feopp.v b/src/Specific/montgomery64_2e213m3_4limbs/feopp.v
deleted file mode 100644
index c9f58a3e4..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.log
deleted file mode 100644
index 9d47c9866..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffffdL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x1fffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.v
deleted file mode 100644
index 41f77b62c..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fesquare.c b/src/Specific/montgomery64_2e213m3_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fesub.c b/src/Specific/montgomery64_2e213m3_4limbs/fesub.c
deleted file mode 100644
index e27dc5c35..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffffdL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x1fffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fesub.v b/src/Specific/montgomery64_2e213m3_4limbs/fesub.v
deleted file mode 100644
index 28edaf9b5..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.log
deleted file mode 100644
index 066544600..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffffdL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x1fffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.v
deleted file mode 100644
index dd8c0a0ed..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e213m3_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e213m3_4limbs/py_interpreter.sh
deleted file mode 100755
index 0ae74aca7..000000000
--- a/src/Specific/montgomery64_2e213m3_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**213 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/CurveParameters.v
deleted file mode 100644
index 945150d91..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^216 - 2^108 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^216;
- c := [(1, 1); (2^108, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e216m2e108m1_4limbs/Synthesis.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/Synthesis.v
deleted file mode 100644
index 2274084d2..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.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/montgomery64_2e216m2e108m1_4limbs/compiler.sh b/src/Specific/montgomery64_2e216m2e108m1_4limbs/compiler.sh
deleted file mode 100755
index 574d96977..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e216m2e108m1_4limbs/compilerxx.sh
deleted file mode 100755
index ff1ee0ec3..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.c
deleted file mode 100644
index 8bbafb674..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffffL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffefffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.v
deleted file mode 100644
index 1401567e2..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.log
deleted file mode 100644
index 7b28d893c..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffefffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.v
deleted file mode 100644
index bbd56c14b..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.c
deleted file mode 100644
index d010f3680..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.c
+++ /dev/null
@@ -1,126 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t x42; uint64_t x41 = _mulx_u64(x17, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x17, 0xffffefffffffffffL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x17, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x17, 0xffffff, &x51);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(0x0, x42, x44, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t _ = _addcarryx_u64(0x0, x60, x51, &x62);
- { uint64_t _; uint8_t x66 = _addcarryx_u64(0x0, x17, x41, &_);
- { uint64_t x68; uint8_t x69 = _addcarryx_u64(x66, x29, x53, &x68);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x32, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x35, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x38, x62, &x77);
- { uint64_t x81; uint64_t x80 = _mulx_u64(x7, x11, &x81);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x13, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x15, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x14, &x90);
- { uint64_t x92; uint8_t x93 = _addcarryx_u64(0x0, x81, x83, &x92);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(x93, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t _ = _addcarryx_u64(0x0, x99, x90, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(0x0, x68, x80, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x71, x92, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x78, x101, &x116);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x104, 0xffffffffffffffffL, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x104, 0xffffefffffffffffL, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x104, 0xffffffffffffffffL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x104, 0xffffff, &x129);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(0x0, x120, x122, &x131);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(x132, x123, x125, &x134);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(x135, x126, x128, &x137);
- { uint64_t x140; uint8_t _ = _addcarryx_u64(0x0, x138, x129, &x140);
- { uint64_t _; uint8_t x144 = _addcarryx_u64(0x0, x104, x119, &_);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x107, x131, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x110, x134, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x113, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x116, x140, &x155);
- { uint8_t x157 = (x156 + x117);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x9, x11, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x9, x13, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x15, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x14, &x169);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(0x0, x160, x162, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x163, x165, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x166, x168, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x169, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(0x0, x146, x159, &x183);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x149, x171, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x152, x174, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x157, x180, &x195);
- { uint64_t x199; uint64_t x198 = _mulx_u64(x183, 0xffffffffffffffffL, &x199);
- { uint64_t x202; uint64_t x201 = _mulx_u64(x183, 0xffffefffffffffffL, &x202);
- { uint64_t x205; uint64_t x204 = _mulx_u64(x183, 0xffffffffffffffffL, &x205);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x183, 0xffffff, &x208);
- { uint64_t x210; uint8_t x211 = _addcarryx_u64(0x0, x199, x201, &x210);
- { uint64_t x213; uint8_t x214 = _addcarryx_u64(x211, x202, x204, &x213);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x205, x207, &x216);
- { uint64_t x219; uint8_t _ = _addcarryx_u64(0x0, x217, x208, &x219);
- { uint64_t _; uint8_t x223 = _addcarryx_u64(0x0, x183, x198, &_);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x186, x210, &x225);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x189, x213, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x192, x216, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x195, x219, &x234);
- { uint8_t x236 = (x235 + x196);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x8, x11, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x13, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x15, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x14, &x248);
- { uint64_t x250; uint8_t x251 = _addcarryx_u64(0x0, x239, x241, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(x251, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t _ = _addcarryx_u64(0x0, x257, x248, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(0x0, x225, x238, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x228, x250, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x236, x259, &x274);
- { uint64_t x278; uint64_t x277 = _mulx_u64(x262, 0xffffffffffffffffL, &x278);
- { uint64_t x281; uint64_t x280 = _mulx_u64(x262, 0xffffefffffffffffL, &x281);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x262, 0xffffffffffffffffL, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x262, 0xffffff, &x287);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(0x0, x278, x280, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x281, x283, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x284, x286, &x295);
- { uint64_t x298; uint8_t _ = _addcarryx_u64(0x0, x296, x287, &x298);
- { uint64_t _; uint8_t x302 = _addcarryx_u64(0x0, x262, x277, &_);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x265, x289, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x268, x292, &x307);
- { uint64_t x310; uint8_t x311 = _addcarryx_u64(x308, x271, x295, &x310);
- { uint64_t x313; uint8_t x314 = _addcarryx_u64(x311, x274, x298, &x313);
- { uint8_t x315 = (x314 + x275);
- { uint64_t x317; uint8_t x318 = _subborrow_u64(0x0, x304, 0xffffffffffffffffL, &x317);
- { uint64_t x320; uint8_t x321 = _subborrow_u64(x318, x307, 0xffffefffffffffffL, &x320);
- { uint64_t x323; uint8_t x324 = _subborrow_u64(x321, x310, 0xffffffffffffffffL, &x323);
- { uint64_t x326; uint8_t x327 = _subborrow_u64(x324, x313, 0xffffff, &x326);
- { uint64_t _; uint8_t x330 = _subborrow_u64(x327, x315, 0x0, &_);
- { uint64_t x331 = cmovznz64(x330, x326, x313);
- { uint64_t x332 = cmovznz64(x330, x323, x310);
- { uint64_t x333 = cmovznz64(x330, x320, x307);
- { uint64_t x334 = cmovznz64(x330, x317, x304);
- out[0] = x334;
- out[1] = x333;
- out[2] = x332;
- out[3] = x331;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.v
deleted file mode 100644
index dea143d0c..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.log
deleted file mode 100644
index a24ee7be3..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,118 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t x42 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x17, 0xffffefffffffffffL);
- uint64_t x47, uint64_t x48 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x17, 0xffffff);
- uint64_t x53, uint8_t x54 = addcarryx_u64(0x0, x42, x44);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t _ = addcarryx_u64(0x0, x60, x51);
- uint64_t _, uint8_t x66 = addcarryx_u64(0x0, x17, x41);
- uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x29, x53);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x32, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x35, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x38, x62);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x11);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x13);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x15);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x14);
- uint64_t x92, uint8_t x93 = addcarryx_u64(0x0, x81, x83);
- uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t _ = addcarryx_u64(0x0, x99, x90);
- uint64_t x104, uint8_t x105 = addcarryx_u64(0x0, x68, x80);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x78, x101);
- uint64_t x119, uint64_t x120 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x122, uint64_t x123 = mulx_u64(x104, 0xffffefffffffffffL);
- uint64_t x125, uint64_t x126 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x128, uint64_t x129 = mulx_u64(x104, 0xffffff);
- uint64_t x131, uint8_t x132 = addcarryx_u64(0x0, x120, x122);
- uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x123, x125);
- uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x126, x128);
- uint64_t x140, uint8_t _ = addcarryx_u64(0x0, x138, x129);
- uint64_t _, uint8_t x144 = addcarryx_u64(0x0, x104, x119);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x107, x131);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x110, x134);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x113, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x116, x140);
- uint8_t x157 = (x156 + x117);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x11);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x13);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x15);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x14);
- uint64_t x171, uint8_t x172 = addcarryx_u64(0x0, x160, x162);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x163, x165);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x166, x168);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x169);
- uint64_t x183, uint8_t x184 = addcarryx_u64(0x0, x146, x159);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x152, x174);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x157, x180);
- uint64_t x198, uint64_t x199 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x201, uint64_t x202 = mulx_u64(x183, 0xffffefffffffffffL);
- uint64_t x204, uint64_t x205 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x207, uint64_t x208 = mulx_u64(x183, 0xffffff);
- uint64_t x210, uint8_t x211 = addcarryx_u64(0x0, x199, x201);
- uint64_t x213, uint8_t x214 = addcarryx_u64(x211, x202, x204);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x205, x207);
- uint64_t x219, uint8_t _ = addcarryx_u64(0x0, x217, x208);
- uint64_t _, uint8_t x223 = addcarryx_u64(0x0, x183, x198);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x186, x210);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x189, x213);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x192, x216);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x195, x219);
- uint8_t x236 = (x235 + x196);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x11);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x13);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x15);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x14);
- uint64_t x250, uint8_t x251 = addcarryx_u64(0x0, x239, x241);
- uint64_t x253, uint8_t x254 = addcarryx_u64(x251, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t _ = addcarryx_u64(0x0, x257, x248);
- uint64_t x262, uint8_t x263 = addcarryx_u64(0x0, x225, x238);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x228, x250);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x236, x259);
- uint64_t x277, uint64_t x278 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x280, uint64_t x281 = mulx_u64(x262, 0xffffefffffffffffL);
- uint64_t x283, uint64_t x284 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x286, uint64_t x287 = mulx_u64(x262, 0xffffff);
- uint64_t x289, uint8_t x290 = addcarryx_u64(0x0, x278, x280);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x281, x283);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x284, x286);
- uint64_t x298, uint8_t _ = addcarryx_u64(0x0, x296, x287);
- uint64_t _, uint8_t x302 = addcarryx_u64(0x0, x262, x277);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x265, x289);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x268, x292);
- uint64_t x310, uint8_t x311 = addcarryx_u64(x308, x271, x295);
- uint64_t x313, uint8_t x314 = addcarryx_u64(x311, x274, x298);
- uint8_t x315 = (x314 + x275);
- uint64_t x317, uint8_t x318 = subborrow_u64(0x0, x304, 0xffffffffffffffffL);
- uint64_t x320, uint8_t x321 = subborrow_u64(x318, x307, 0xffffefffffffffffL);
- uint64_t x323, uint8_t x324 = subborrow_u64(x321, x310, 0xffffffffffffffffL);
- uint64_t x326, uint8_t x327 = subborrow_u64(x324, x313, 0xffffff);
- uint64_t _, uint8_t x330 = subborrow_u64(x327, x315, 0x0);
- uint64_t x331 = cmovznz64(x330, x326, x313);
- uint64_t x332 = cmovznz64(x330, x323, x310);
- uint64_t x333 = cmovznz64(x330, x320, x307);
- uint64_t x334 = cmovznz64(x330, x317, x304);
- return (x331, x332, x333, x334))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.v
deleted file mode 100644
index 438efaade..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.v
deleted file mode 100644
index f8e2faebf..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.v
deleted file mode 100644
index fb39ad201..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.c
deleted file mode 100644
index 78aa58a09..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffffL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffefffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.v
deleted file mode 100644
index 4f7c9a494..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.log
deleted file mode 100644
index 70322fe03..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffffL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffefffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.v
deleted file mode 100644
index aa876f5ed..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.c
deleted file mode 100644
index 74132016f..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffefffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.v
deleted file mode 100644
index d916bc6a4..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.log
deleted file mode 100644
index 7d9995253..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffefffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.v
deleted file mode 100644
index 692657b3f..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e216m2e108m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e216m2e108m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 57e84d282..000000000
--- a/src/Specific/montgomery64_2e216m2e108m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**216 - 2**108 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e221m3_4limbs/CurveParameters.v
deleted file mode 100644
index 2eb4ee31e..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^221 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^221;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e221m3_4limbs/Synthesis.v b/src/Specific/montgomery64_2e221m3_4limbs/Synthesis.v
deleted file mode 100644
index e7ed95c62..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.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/montgomery64_2e221m3_4limbs/compiler.sh b/src/Specific/montgomery64_2e221m3_4limbs/compiler.sh
deleted file mode 100755
index e04386f64..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e221m3_4limbs/compilerxx.sh
deleted file mode 100755
index d7f492030..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feadd.c b/src/Specific/montgomery64_2e221m3_4limbs/feadd.c
deleted file mode 100644
index 24f858061..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffffdL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x1fffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feadd.v b/src/Specific/montgomery64_2e221m3_4limbs/feadd.v
deleted file mode 100644
index ba27adcaf..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.log
deleted file mode 100644
index 212988003..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffffdL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x1fffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.v
deleted file mode 100644
index da667cf63..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/femul.c b/src/Specific/montgomery64_2e221m3_4limbs/femul.c
deleted file mode 100644
index 9ef17c44b..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffffdL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x1fffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffffdL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x1fffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffffdL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x1fffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffffdL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x1fffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffffdL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x1fffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/femul.v b/src/Specific/montgomery64_2e221m3_4limbs/femul.v
deleted file mode 100644
index 7ee4bd6dd..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.log
deleted file mode 100644
index b50291902..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xaaaaaaaaaaaaaaabL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffffdL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x1fffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xaaaaaaaaaaaaaaabL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffffdL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x1fffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xaaaaaaaaaaaaaaabL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffffdL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x1fffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xaaaaaaaaaaaaaaabL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffffdL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x1fffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffffdL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x1fffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.v
deleted file mode 100644
index 6107f200d..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fenz.c b/src/Specific/montgomery64_2e221m3_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fenz.v b/src/Specific/montgomery64_2e221m3_4limbs/fenz.v
deleted file mode 100644
index 75c98b024..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.v
deleted file mode 100644
index 72a05c3d0..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feopp.c b/src/Specific/montgomery64_2e221m3_4limbs/feopp.c
deleted file mode 100644
index 1f92ce83d..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffffdL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x1fffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feopp.v b/src/Specific/montgomery64_2e221m3_4limbs/feopp.v
deleted file mode 100644
index 6d0b247e3..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.log
deleted file mode 100644
index f298014bc..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffffdL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x1fffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.v
deleted file mode 100644
index cdefdba08..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fesquare.c b/src/Specific/montgomery64_2e221m3_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fesub.c b/src/Specific/montgomery64_2e221m3_4limbs/fesub.c
deleted file mode 100644
index 7db2e8c61..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffffdL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x1fffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fesub.v b/src/Specific/montgomery64_2e221m3_4limbs/fesub.v
deleted file mode 100644
index d6843bca4..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.log
deleted file mode 100644
index 3c9cbaee3..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffffdL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x1fffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.v
deleted file mode 100644
index 378491963..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e221m3_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e221m3_4limbs/py_interpreter.sh
deleted file mode 100755
index 0d3b6ff7f..000000000
--- a/src/Specific/montgomery64_2e221m3_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**221 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e222m117_4limbs/CurveParameters.v
deleted file mode 100644
index 894baebcb..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^222 - 117
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^222;
- c := [(1, 117)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e222m117_4limbs/Synthesis.v b/src/Specific/montgomery64_2e222m117_4limbs/Synthesis.v
deleted file mode 100644
index 7ab729b8f..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.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/montgomery64_2e222m117_4limbs/compiler.sh b/src/Specific/montgomery64_2e222m117_4limbs/compiler.sh
deleted file mode 100755
index 4c026c91c..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e222m117_4limbs/compilerxx.sh
deleted file mode 100755
index f8e7e244c..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feadd.c b/src/Specific/montgomery64_2e222m117_4limbs/feadd.c
deleted file mode 100644
index f91088926..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffff8bL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3fffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feadd.v b/src/Specific/montgomery64_2e222m117_4limbs/feadd.v
deleted file mode 100644
index 52495a550..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.log
deleted file mode 100644
index 855ae784b..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffff8bL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3fffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.v
deleted file mode 100644
index 843dae2da..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/femul.c b/src/Specific/montgomery64_2e222m117_4limbs/femul.c
deleted file mode 100644
index 899159869..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xcfdcfdcfdcfdcfddL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffff8bL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x3fffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xcfdcfdcfdcfdcfddL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xffffffffffffff8bL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x3fffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xcfdcfdcfdcfdcfddL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xffffffffffffff8bL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x3fffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xcfdcfdcfdcfdcfddL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xffffffffffffff8bL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x3fffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xffffffffffffff8bL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x3fffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/femul.v b/src/Specific/montgomery64_2e222m117_4limbs/femul.v
deleted file mode 100644
index ea08179e2..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.log
deleted file mode 100644
index 2031fec31..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xcfdcfdcfdcfdcfddL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffff8bL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x3fffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xcfdcfdcfdcfdcfddL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xffffffffffffff8bL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x3fffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xcfdcfdcfdcfdcfddL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xffffffffffffff8bL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x3fffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xcfdcfdcfdcfdcfddL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xffffffffffffff8bL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x3fffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xffffffffffffff8bL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x3fffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.v
deleted file mode 100644
index 68915c088..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fenz.c b/src/Specific/montgomery64_2e222m117_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fenz.v b/src/Specific/montgomery64_2e222m117_4limbs/fenz.v
deleted file mode 100644
index bf3a8e7af..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.v
deleted file mode 100644
index f56874bf5..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feopp.c b/src/Specific/montgomery64_2e222m117_4limbs/feopp.c
deleted file mode 100644
index 447eee8ab..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffff8bL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x3fffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feopp.v b/src/Specific/montgomery64_2e222m117_4limbs/feopp.v
deleted file mode 100644
index 31c1016a0..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.log
deleted file mode 100644
index c4aa04fad..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffff8bL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x3fffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.v
deleted file mode 100644
index 824c8685c..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fesquare.c b/src/Specific/montgomery64_2e222m117_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fesub.c b/src/Specific/montgomery64_2e222m117_4limbs/fesub.c
deleted file mode 100644
index b138dafbd..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffff8bL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x3fffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fesub.v b/src/Specific/montgomery64_2e222m117_4limbs/fesub.v
deleted file mode 100644
index f8ded826b..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.log
deleted file mode 100644
index 13abe8776..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffff8bL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x3fffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.v
deleted file mode 100644
index 7755e6aca..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e222m117_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e222m117_4limbs/py_interpreter.sh
deleted file mode 100755
index ae39189e8..000000000
--- a/src/Specific/montgomery64_2e222m117_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/CurveParameters.v
deleted file mode 100644
index e28cc7788..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/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: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^224;
- c := [(1, -1); (2^96, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e224m2e96p1_4limbs/Synthesis.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/Synthesis.v
deleted file mode 100644
index fe000ddb6..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.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/montgomery64_2e224m2e96p1_4limbs/compiler.sh b/src/Specific/montgomery64_2e224m2e96p1_4limbs/compiler.sh
deleted file mode 100755
index a89085f42..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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='4' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e224m2e96p1_4limbs/compilerxx.sh
deleted file mode 100755
index 7ecd49ae7..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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='4' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.c
deleted file mode 100644
index 1cb91cd34..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0x1, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffff00000000L, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.v
deleted file mode 100644
index 86bc0cb4d..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.log
deleted file mode 100644
index c653739ee..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0x1);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffff00000000L);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.v
deleted file mode 100644
index eaabe2e75..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.c
deleted file mode 100644
index eacac67f9..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.c
+++ /dev/null
@@ -1,122 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xffffffffffffffffL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffff00000000L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffff, &x51);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(0x0, x45, x47, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, x48, x50, &x56);
- { uint64_t x59; uint8_t _ = _addcarryx_u64(0x0, x57, x51, &x59);
- { uint64_t _; uint8_t x63 = _addcarryx_u64(0x0, x17, x41, &_);
- { uint64_t x65; uint8_t x66 = _addcarryx_u64(x63, x29, x44, &x65);
- { uint64_t x68; uint8_t x69 = _addcarryx_u64(x66, x32, x53, &x68);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x35, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x38, x59, &x74);
- { uint64_t x78; uint64_t x77 = _mulx_u64(x7, x11, &x78);
- { uint64_t x81; uint64_t x80 = _mulx_u64(x7, x13, &x81);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x15, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x14, &x87);
- { uint64_t x89; uint8_t x90 = _addcarryx_u64(0x0, x78, x80, &x89);
- { uint64_t x92; uint8_t x93 = _addcarryx_u64(x90, x81, x83, &x92);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(x93, x84, x86, &x95);
- { uint64_t x98; uint8_t _ = _addcarryx_u64(0x0, x96, x87, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(0x0, x65, x77, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(x102, x68, x89, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x71, x92, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x75, x98, &x113);
- { uint64_t _; uint64_t x116 = _mulx_u64(x101, 0xffffffffffffffffL, &_);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x116, 0xffffffff00000000L, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x116, 0xffffffffffffffffL, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x116, 0xffffffff, &x126);
- { uint64_t x128; uint8_t x129 = _addcarryx_u64(0x0, x120, x122, &x128);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(x129, x123, x125, &x131);
- { uint64_t x134; uint8_t _ = _addcarryx_u64(0x0, x132, x126, &x134);
- { uint64_t _; uint8_t x138 = _addcarryx_u64(0x0, x101, x116, &_);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x104, x119, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x107, x128, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x110, x131, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x113, x134, &x149);
- { uint8_t x151 = (x150 + x114);
- { uint64_t x154; uint64_t x153 = _mulx_u64(x9, x11, &x154);
- { uint64_t x157; uint64_t x156 = _mulx_u64(x9, x13, &x157);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x9, x15, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x9, x14, &x163);
- { uint64_t x165; uint8_t x166 = _addcarryx_u64(0x0, x154, x156, &x165);
- { uint64_t x168; uint8_t x169 = _addcarryx_u64(x166, x157, x159, &x168);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(x169, x160, x162, &x171);
- { uint64_t x174; uint8_t _ = _addcarryx_u64(0x0, x172, x163, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x140, x153, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x143, x165, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x146, x168, &x183);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x149, x171, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x151, x174, &x189);
- { uint64_t _; uint64_t x192 = _mulx_u64(x177, 0xffffffffffffffffL, &_);
- { uint64_t x196; uint64_t x195 = _mulx_u64(x192, 0xffffffff00000000L, &x196);
- { uint64_t x199; uint64_t x198 = _mulx_u64(x192, 0xffffffffffffffffL, &x199);
- { uint64_t x202; uint64_t x201 = _mulx_u64(x192, 0xffffffff, &x202);
- { uint64_t x204; uint8_t x205 = _addcarryx_u64(0x0, x196, x198, &x204);
- { uint64_t x207; uint8_t x208 = _addcarryx_u64(x205, x199, x201, &x207);
- { uint64_t x210; uint8_t _ = _addcarryx_u64(0x0, x208, x202, &x210);
- { uint64_t _; uint8_t x214 = _addcarryx_u64(0x0, x177, x192, &_);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x180, x195, &x216);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(x217, x183, x204, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x186, x207, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x189, x210, &x225);
- { uint8_t x227 = (x226 + x190);
- { uint64_t x230; uint64_t x229 = _mulx_u64(x8, x11, &x230);
- { uint64_t x233; uint64_t x232 = _mulx_u64(x8, x13, &x233);
- { uint64_t x236; uint64_t x235 = _mulx_u64(x8, x15, &x236);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x8, x14, &x239);
- { uint64_t x241; uint8_t x242 = _addcarryx_u64(0x0, x230, x232, &x241);
- { uint64_t x244; uint8_t x245 = _addcarryx_u64(x242, x233, x235, &x244);
- { uint64_t x247; uint8_t x248 = _addcarryx_u64(x245, x236, x238, &x247);
- { uint64_t x250; uint8_t _ = _addcarryx_u64(0x0, x248, x239, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(0x0, x216, x229, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x219, x241, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x222, x244, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x225, x247, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x227, x250, &x265);
- { uint64_t _; uint64_t x268 = _mulx_u64(x253, 0xffffffffffffffffL, &_);
- { uint64_t x272; uint64_t x271 = _mulx_u64(x268, 0xffffffff00000000L, &x272);
- { uint64_t x275; uint64_t x274 = _mulx_u64(x268, 0xffffffffffffffffL, &x275);
- { uint64_t x278; uint64_t x277 = _mulx_u64(x268, 0xffffffff, &x278);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(0x0, x272, x274, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x275, x277, &x283);
- { uint64_t x286; uint8_t _ = _addcarryx_u64(0x0, x284, x278, &x286);
- { uint64_t _; uint8_t x290 = _addcarryx_u64(0x0, x253, x268, &_);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x256, x271, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x259, x280, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x262, x283, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x265, x286, &x301);
- { uint8_t x303 = (x302 + x266);
- { uint64_t x305; uint8_t x306 = _subborrow_u64(0x0, x292, 0x1, &x305);
- { uint64_t x308; uint8_t x309 = _subborrow_u64(x306, x295, 0xffffffff00000000L, &x308);
- { uint64_t x311; uint8_t x312 = _subborrow_u64(x309, x298, 0xffffffffffffffffL, &x311);
- { uint64_t x314; uint8_t x315 = _subborrow_u64(x312, x301, 0xffffffff, &x314);
- { uint64_t _; uint8_t x318 = _subborrow_u64(x315, x303, 0x0, &_);
- { uint64_t x319 = cmovznz64(x318, x314, x301);
- { uint64_t x320 = cmovznz64(x318, x311, x298);
- { uint64_t x321 = cmovznz64(x318, x308, x295);
- { uint64_t x322 = cmovznz64(x318, x305, x292);
- out[0] = x322;
- out[1] = x321;
- out[2] = x320;
- out[3] = x319;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.v
deleted file mode 100644
index a0a30863f..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.log
deleted file mode 100644
index 7482561e4..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,114 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffff00000000L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffff);
- uint64_t x53, uint8_t x54 = addcarryx_u64(0x0, x45, x47);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x48, x50);
- uint64_t x59, uint8_t _ = addcarryx_u64(0x0, x57, x51);
- uint64_t _, uint8_t x63 = addcarryx_u64(0x0, x17, x41);
- uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x29, x44);
- uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x32, x53);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x35, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x38, x59);
- uint64_t x77, uint64_t x78 = mulx_u64(x7, x11);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x13);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x15);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x14);
- uint64_t x89, uint8_t x90 = addcarryx_u64(0x0, x78, x80);
- uint64_t x92, uint8_t x93 = addcarryx_u64(x90, x81, x83);
- uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t _ = addcarryx_u64(0x0, x96, x87);
- uint64_t x101, uint8_t x102 = addcarryx_u64(0x0, x65, x77);
- uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x68, x89);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x75, x98);
- uint64_t x116, uint64_t _ = mulx_u64(x101, 0xffffffffffffffffL);
- uint64_t x119, uint64_t x120 = mulx_u64(x116, 0xffffffff00000000L);
- uint64_t x122, uint64_t x123 = mulx_u64(x116, 0xffffffffffffffffL);
- uint64_t x125, uint64_t x126 = mulx_u64(x116, 0xffffffff);
- uint64_t x128, uint8_t x129 = addcarryx_u64(0x0, x120, x122);
- uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x123, x125);
- uint64_t x134, uint8_t _ = addcarryx_u64(0x0, x132, x126);
- uint64_t _, uint8_t x138 = addcarryx_u64(0x0, x101, x116);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x104, x119);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x107, x128);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x110, x131);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x113, x134);
- uint8_t x151 = (x150 + x114);
- uint64_t x153, uint64_t x154 = mulx_u64(x9, x11);
- uint64_t x156, uint64_t x157 = mulx_u64(x9, x13);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x15);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x14);
- uint64_t x165, uint8_t x166 = addcarryx_u64(0x0, x154, x156);
- uint64_t x168, uint8_t x169 = addcarryx_u64(x166, x157, x159);
- uint64_t x171, uint8_t x172 = addcarryx_u64(x169, x160, x162);
- uint64_t x174, uint8_t _ = addcarryx_u64(0x0, x172, x163);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x140, x153);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x143, x165);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x146, x168);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x151, x174);
- uint64_t x192, uint64_t _ = mulx_u64(x177, 0xffffffffffffffffL);
- uint64_t x195, uint64_t x196 = mulx_u64(x192, 0xffffffff00000000L);
- uint64_t x198, uint64_t x199 = mulx_u64(x192, 0xffffffffffffffffL);
- uint64_t x201, uint64_t x202 = mulx_u64(x192, 0xffffffff);
- uint64_t x204, uint8_t x205 = addcarryx_u64(0x0, x196, x198);
- uint64_t x207, uint8_t x208 = addcarryx_u64(x205, x199, x201);
- uint64_t x210, uint8_t _ = addcarryx_u64(0x0, x208, x202);
- uint64_t _, uint8_t x214 = addcarryx_u64(0x0, x177, x192);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x180, x195);
- uint64_t x219, uint8_t x220 = addcarryx_u64(x217, x183, x204);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x186, x207);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x189, x210);
- uint8_t x227 = (x226 + x190);
- uint64_t x229, uint64_t x230 = mulx_u64(x8, x11);
- uint64_t x232, uint64_t x233 = mulx_u64(x8, x13);
- uint64_t x235, uint64_t x236 = mulx_u64(x8, x15);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x14);
- uint64_t x241, uint8_t x242 = addcarryx_u64(0x0, x230, x232);
- uint64_t x244, uint8_t x245 = addcarryx_u64(x242, x233, x235);
- uint64_t x247, uint8_t x248 = addcarryx_u64(x245, x236, x238);
- uint64_t x250, uint8_t _ = addcarryx_u64(0x0, x248, x239);
- uint64_t x253, uint8_t x254 = addcarryx_u64(0x0, x216, x229);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x219, x241);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x222, x244);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x225, x247);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x227, x250);
- uint64_t x268, uint64_t _ = mulx_u64(x253, 0xffffffffffffffffL);
- uint64_t x271, uint64_t x272 = mulx_u64(x268, 0xffffffff00000000L);
- uint64_t x274, uint64_t x275 = mulx_u64(x268, 0xffffffffffffffffL);
- uint64_t x277, uint64_t x278 = mulx_u64(x268, 0xffffffff);
- uint64_t x280, uint8_t x281 = addcarryx_u64(0x0, x272, x274);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x275, x277);
- uint64_t x286, uint8_t _ = addcarryx_u64(0x0, x284, x278);
- uint64_t _, uint8_t x290 = addcarryx_u64(0x0, x253, x268);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x256, x271);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x259, x280);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x262, x283);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x265, x286);
- uint8_t x303 = (x302 + x266);
- uint64_t x305, uint8_t x306 = subborrow_u64(0x0, x292, 0x1);
- uint64_t x308, uint8_t x309 = subborrow_u64(x306, x295, 0xffffffff00000000L);
- uint64_t x311, uint8_t x312 = subborrow_u64(x309, x298, 0xffffffffffffffffL);
- uint64_t x314, uint8_t x315 = subborrow_u64(x312, x301, 0xffffffff);
- uint64_t _, uint8_t x318 = subborrow_u64(x315, x303, 0x0);
- uint64_t x319 = cmovznz64(x318, x314, x301);
- uint64_t x320 = cmovznz64(x318, x311, x298);
- uint64_t x321 = cmovznz64(x318, x308, x295);
- uint64_t x322 = cmovznz64(x318, x305, x292);
- return (x319, x320, x321, x322))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.v
deleted file mode 100644
index 88f2f2724..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.v
deleted file mode 100644
index 2145482c8..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.v
deleted file mode 100644
index f4f781d8a..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.c
deleted file mode 100644
index 6bb56a416..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint8_t x20 = ((uint8_t)x19 & 0x1);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffff00000000L);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.v
deleted file mode 100644
index af178f50e..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.log
deleted file mode 100644
index 2885df362..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint8_t x20 = ((uint8_t)x19 & 0x1);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffff00000000L);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.v
deleted file mode 100644
index db4a25b69..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.c
deleted file mode 100644
index 91a2004fc..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint8_t x29 = ((uint8_t)x28 & 0x1);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffff00000000L);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.v
deleted file mode 100644
index 665bee9b6..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.log
deleted file mode 100644
index 73f4b09ed..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint8_t x29 = ((uint8_t)x28 & 0x1);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffff00000000L);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.v
deleted file mode 100644
index d58f143e5..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e224m2e96p1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e224m2e96p1_4limbs/py_interpreter.sh
deleted file mode 100755
index 442eebd51..000000000
--- a/src/Specific/montgomery64_2e224m2e96p1_4limbs/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='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e226m5_4limbs/CurveParameters.v
deleted file mode 100644
index 3e97cd422..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^226 - 5
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^226;
- c := [(1, 5)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e226m5_4limbs/Synthesis.v b/src/Specific/montgomery64_2e226m5_4limbs/Synthesis.v
deleted file mode 100644
index cb21ccb1c..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.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/montgomery64_2e226m5_4limbs/compiler.sh b/src/Specific/montgomery64_2e226m5_4limbs/compiler.sh
deleted file mode 100755
index 3e50e7d51..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e226m5_4limbs/compilerxx.sh
deleted file mode 100755
index 770599734..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feadd.c b/src/Specific/montgomery64_2e226m5_4limbs/feadd.c
deleted file mode 100644
index 4334bc35d..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffffbL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3ffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feadd.v b/src/Specific/montgomery64_2e226m5_4limbs/feadd.v
deleted file mode 100644
index 2f06dd51a..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.log
deleted file mode 100644
index 1c5eb603b..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffffbL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3ffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.v
deleted file mode 100644
index e5c90eae9..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/femul.c b/src/Specific/montgomery64_2e226m5_4limbs/femul.c
deleted file mode 100644
index e894281fb..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xcccccccccccccccdL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffffbL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x3ffffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xcccccccccccccccdL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffffbL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x3ffffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xcccccccccccccccdL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffffbL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x3ffffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xcccccccccccccccdL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffffbL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x3ffffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffffbL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x3ffffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/femul.v b/src/Specific/montgomery64_2e226m5_4limbs/femul.v
deleted file mode 100644
index 3965c4d41..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.log
deleted file mode 100644
index 646644444..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xcccccccccccccccdL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffffbL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x3ffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xcccccccccccccccdL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffffbL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x3ffffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xcccccccccccccccdL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffffbL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x3ffffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xcccccccccccccccdL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffffbL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x3ffffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffffbL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x3ffffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.v
deleted file mode 100644
index bcf32be28..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fenz.c b/src/Specific/montgomery64_2e226m5_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fenz.v b/src/Specific/montgomery64_2e226m5_4limbs/fenz.v
deleted file mode 100644
index 5aed15975..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.v
deleted file mode 100644
index 8ef3e785d..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feopp.c b/src/Specific/montgomery64_2e226m5_4limbs/feopp.c
deleted file mode 100644
index 6f2c1f751..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffffbL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x3ffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feopp.v b/src/Specific/montgomery64_2e226m5_4limbs/feopp.v
deleted file mode 100644
index a8007ab31..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.log
deleted file mode 100644
index dc4cd833a..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffffbL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x3ffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.v
deleted file mode 100644
index f16c25942..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fesquare.c b/src/Specific/montgomery64_2e226m5_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fesub.c b/src/Specific/montgomery64_2e226m5_4limbs/fesub.c
deleted file mode 100644
index 0bd48dc55..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffffbL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x3ffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fesub.v b/src/Specific/montgomery64_2e226m5_4limbs/fesub.v
deleted file mode 100644
index e3ef8730b..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.log
deleted file mode 100644
index cf4c950b3..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffffbL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x3ffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.v
deleted file mode 100644
index bb87a8f2f..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e226m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e226m5_4limbs/py_interpreter.sh
deleted file mode 100755
index 7850c705f..000000000
--- a/src/Specific/montgomery64_2e226m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**226 - 5' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e230m27_4limbs/CurveParameters.v
deleted file mode 100644
index 488698c86..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^230 - 27
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^230;
- c := [(1, 27)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e230m27_4limbs/Synthesis.v b/src/Specific/montgomery64_2e230m27_4limbs/Synthesis.v
deleted file mode 100644
index f26b1a0be..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.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/montgomery64_2e230m27_4limbs/compiler.sh b/src/Specific/montgomery64_2e230m27_4limbs/compiler.sh
deleted file mode 100755
index ecd2cb3f0..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e230m27_4limbs/compilerxx.sh
deleted file mode 100755
index e367d075e..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feadd.c b/src/Specific/montgomery64_2e230m27_4limbs/feadd.c
deleted file mode 100644
index 0027b2e0e..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffe5L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3fffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feadd.v b/src/Specific/montgomery64_2e230m27_4limbs/feadd.v
deleted file mode 100644
index 0d7c759cb..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.log
deleted file mode 100644
index e6e4b6cfe..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffe5L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3fffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.v
deleted file mode 100644
index 46cfb118e..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/femul.c b/src/Specific/montgomery64_2e230m27_4limbs/femul.c
deleted file mode 100644
index 11104a07f..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0x84bda12f684bda13L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffffe5L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x3fffffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0x84bda12f684bda13L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xffffffffffffffe5L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x3fffffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0x84bda12f684bda13L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xffffffffffffffe5L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x3fffffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0x84bda12f684bda13L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xffffffffffffffe5L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x3fffffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xffffffffffffffe5L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x3fffffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/femul.v b/src/Specific/montgomery64_2e230m27_4limbs/femul.v
deleted file mode 100644
index 662a17122..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.log
deleted file mode 100644
index 4f8e62a26..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0x84bda12f684bda13L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffffe5L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x3fffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0x84bda12f684bda13L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xffffffffffffffe5L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x3fffffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0x84bda12f684bda13L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xffffffffffffffe5L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x3fffffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0x84bda12f684bda13L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xffffffffffffffe5L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x3fffffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xffffffffffffffe5L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x3fffffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.v
deleted file mode 100644
index e5bbdda0b..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fenz.c b/src/Specific/montgomery64_2e230m27_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fenz.v b/src/Specific/montgomery64_2e230m27_4limbs/fenz.v
deleted file mode 100644
index bd7592861..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.v
deleted file mode 100644
index 71a83217d..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feopp.c b/src/Specific/montgomery64_2e230m27_4limbs/feopp.c
deleted file mode 100644
index a94c07462..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffe5L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x3fffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feopp.v b/src/Specific/montgomery64_2e230m27_4limbs/feopp.v
deleted file mode 100644
index 72ca4d646..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.log
deleted file mode 100644
index 467219dc4..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffe5L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x3fffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.v
deleted file mode 100644
index 303cc946a..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fesquare.c b/src/Specific/montgomery64_2e230m27_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fesub.c b/src/Specific/montgomery64_2e230m27_4limbs/fesub.c
deleted file mode 100644
index 0227c54e6..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffe5L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x3fffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fesub.v b/src/Specific/montgomery64_2e230m27_4limbs/fesub.v
deleted file mode 100644
index b1ccc65aa..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.log
deleted file mode 100644
index 08985aaf7..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffe5L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x3fffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.v
deleted file mode 100644
index 831205a62..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e230m27_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e230m27_4limbs/py_interpreter.sh
deleted file mode 100755
index 069fa6d19..000000000
--- a/src/Specific/montgomery64_2e230m27_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**230 - 27' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e235m15_4limbs/CurveParameters.v
deleted file mode 100644
index bf979d13d..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^235 - 15
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^235;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e235m15_4limbs/Synthesis.v b/src/Specific/montgomery64_2e235m15_4limbs/Synthesis.v
deleted file mode 100644
index c1a67ed8f..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.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/montgomery64_2e235m15_4limbs/compiler.sh b/src/Specific/montgomery64_2e235m15_4limbs/compiler.sh
deleted file mode 100755
index 008c49f39..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e235m15_4limbs/compilerxx.sh
deleted file mode 100755
index 7a4a6453d..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feadd.c b/src/Specific/montgomery64_2e235m15_4limbs/feadd.c
deleted file mode 100644
index 6537ac9bf..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffff1L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x7ffffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feadd.v b/src/Specific/montgomery64_2e235m15_4limbs/feadd.v
deleted file mode 100644
index 91bf1a9a3..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.log
deleted file mode 100644
index 9827efd67..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffff1L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x7ffffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.v
deleted file mode 100644
index ca9221ebb..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/femul.c b/src/Specific/montgomery64_2e235m15_4limbs/femul.c
deleted file mode 100644
index 3f0c87231..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffff1L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x7ffffffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffff1L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x7ffffffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffff1L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x7ffffffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffff1L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x7ffffffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffff1L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x7ffffffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/femul.v b/src/Specific/montgomery64_2e235m15_4limbs/femul.v
deleted file mode 100644
index 8ca528e6c..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.log
deleted file mode 100644
index 2b9931cf7..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xeeeeeeeeeeeeeeefL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffff1L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x7ffffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xeeeeeeeeeeeeeeefL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffff1L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x7ffffffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xeeeeeeeeeeeeeeefL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffff1L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x7ffffffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xeeeeeeeeeeeeeeefL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffff1L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x7ffffffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffff1L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x7ffffffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.v
deleted file mode 100644
index e0e048a4a..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fenz.c b/src/Specific/montgomery64_2e235m15_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fenz.v b/src/Specific/montgomery64_2e235m15_4limbs/fenz.v
deleted file mode 100644
index ca720f2f6..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.v
deleted file mode 100644
index 09d4d92bb..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feopp.c b/src/Specific/montgomery64_2e235m15_4limbs/feopp.c
deleted file mode 100644
index 8030e3746..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffff1L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x7ffffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feopp.v b/src/Specific/montgomery64_2e235m15_4limbs/feopp.v
deleted file mode 100644
index 8ab10418b..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.log
deleted file mode 100644
index 94ec9e81b..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffff1L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x7ffffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.v
deleted file mode 100644
index 2537ac69b..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fesquare.c b/src/Specific/montgomery64_2e235m15_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fesub.c b/src/Specific/montgomery64_2e235m15_4limbs/fesub.c
deleted file mode 100644
index 88f0cc105..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffff1L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x7ffffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fesub.v b/src/Specific/montgomery64_2e235m15_4limbs/fesub.v
deleted file mode 100644
index 2bf8f3d6e..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.log
deleted file mode 100644
index 1faf8a6e8..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffff1L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x7ffffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.v
deleted file mode 100644
index 7ecdc27fe..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e235m15_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e235m15_4limbs/py_interpreter.sh
deleted file mode 100755
index 0adf3e5ba..000000000
--- a/src/Specific/montgomery64_2e235m15_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**235 - 15' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e243m9_4limbs/CurveParameters.v
deleted file mode 100644
index 51d5b0a88..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^243 - 9
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^243;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e243m9_4limbs/Synthesis.v b/src/Specific/montgomery64_2e243m9_4limbs/Synthesis.v
deleted file mode 100644
index 088828941..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.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/montgomery64_2e243m9_4limbs/compiler.sh b/src/Specific/montgomery64_2e243m9_4limbs/compiler.sh
deleted file mode 100755
index d3db17fac..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e243m9_4limbs/compilerxx.sh
deleted file mode 100755
index f6aec86c3..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feadd.c b/src/Specific/montgomery64_2e243m9_4limbs/feadd.c
deleted file mode 100644
index 01f0c4674..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffff7L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x7ffffffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feadd.v b/src/Specific/montgomery64_2e243m9_4limbs/feadd.v
deleted file mode 100644
index f731c61b0..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.log
deleted file mode 100644
index 9871bcfa8..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffff7L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x7ffffffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.v
deleted file mode 100644
index 3451553de..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/femul.c b/src/Specific/montgomery64_2e243m9_4limbs/femul.c
deleted file mode 100644
index b515b9f12..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0x8e38e38e38e38e39L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffff7L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x7ffffffffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0x8e38e38e38e38e39L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffff7L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x7ffffffffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0x8e38e38e38e38e39L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffff7L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x7ffffffffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0x8e38e38e38e38e39L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffff7L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x7ffffffffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffff7L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x7ffffffffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/femul.v b/src/Specific/montgomery64_2e243m9_4limbs/femul.v
deleted file mode 100644
index a6283e9d9..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.log
deleted file mode 100644
index 6b961a6ce..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0x8e38e38e38e38e39L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffff7L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x7ffffffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0x8e38e38e38e38e39L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffff7L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x7ffffffffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0x8e38e38e38e38e39L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffff7L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x7ffffffffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0x8e38e38e38e38e39L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffff7L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x7ffffffffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffff7L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x7ffffffffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.v
deleted file mode 100644
index 804f3a43f..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fenz.c b/src/Specific/montgomery64_2e243m9_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fenz.v b/src/Specific/montgomery64_2e243m9_4limbs/fenz.v
deleted file mode 100644
index fc3a244d4..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.v
deleted file mode 100644
index f6b53c52a..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feopp.c b/src/Specific/montgomery64_2e243m9_4limbs/feopp.c
deleted file mode 100644
index 956373177..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffff7L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x7ffffffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feopp.v b/src/Specific/montgomery64_2e243m9_4limbs/feopp.v
deleted file mode 100644
index 7f88e6a95..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.log
deleted file mode 100644
index f40ba16b9..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffff7L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x7ffffffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.v
deleted file mode 100644
index fe5f34f93..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fesquare.c b/src/Specific/montgomery64_2e243m9_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fesub.c b/src/Specific/montgomery64_2e243m9_4limbs/fesub.c
deleted file mode 100644
index 93debaaa9..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffff7L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x7ffffffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fesub.v b/src/Specific/montgomery64_2e243m9_4limbs/fesub.v
deleted file mode 100644
index 017554c3c..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.log
deleted file mode 100644
index c730ca129..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffff7L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x7ffffffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.v
deleted file mode 100644
index 9855c30d3..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e243m9_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e243m9_4limbs/py_interpreter.sh
deleted file mode 100755
index 67bc8d431..000000000
--- a/src/Specific/montgomery64_2e243m9_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**243 - 9' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e251m9_4limbs/CurveParameters.v
deleted file mode 100644
index 0f61ec8c0..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^251 - 9
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^251;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e251m9_4limbs/Synthesis.v b/src/Specific/montgomery64_2e251m9_4limbs/Synthesis.v
deleted file mode 100644
index 58051c4ad..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.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/montgomery64_2e251m9_4limbs/compiler.sh b/src/Specific/montgomery64_2e251m9_4limbs/compiler.sh
deleted file mode 100755
index 4b7275528..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e251m9_4limbs/compilerxx.sh
deleted file mode 100755
index 68323b9ee..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feadd.c b/src/Specific/montgomery64_2e251m9_4limbs/feadd.c
deleted file mode 100644
index 42b9ea878..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffff7L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x7ffffffffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feadd.v b/src/Specific/montgomery64_2e251m9_4limbs/feadd.v
deleted file mode 100644
index df1c84e04..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.log
deleted file mode 100644
index a4fd422d6..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffff7L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x7ffffffffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.v
deleted file mode 100644
index e1bab30b4..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/femul.c b/src/Specific/montgomery64_2e251m9_4limbs/femul.c
deleted file mode 100644
index c10aea27b..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0x8e38e38e38e38e39L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffff7L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x7ffffffffffffff, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0x8e38e38e38e38e39L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffff7L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x7ffffffffffffff, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0x8e38e38e38e38e39L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffff7L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x7ffffffffffffff, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0x8e38e38e38e38e39L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffff7L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x7ffffffffffffff, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffff7L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x7ffffffffffffff, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/femul.v b/src/Specific/montgomery64_2e251m9_4limbs/femul.v
deleted file mode 100644
index 8602b3811..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.log
deleted file mode 100644
index 0f9304f68..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0x8e38e38e38e38e39L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffff7L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x7ffffffffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0x8e38e38e38e38e39L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffff7L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x7ffffffffffffff);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0x8e38e38e38e38e39L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffff7L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x7ffffffffffffff);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0x8e38e38e38e38e39L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffff7L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x7ffffffffffffff);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffff7L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x7ffffffffffffff);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.v
deleted file mode 100644
index 884821965..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fenz.c b/src/Specific/montgomery64_2e251m9_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fenz.v b/src/Specific/montgomery64_2e251m9_4limbs/fenz.v
deleted file mode 100644
index c993d57b8..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.v
deleted file mode 100644
index 25c78f288..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feopp.c b/src/Specific/montgomery64_2e251m9_4limbs/feopp.c
deleted file mode 100644
index e37c6d0d9..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffff7L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x7ffffffffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feopp.v b/src/Specific/montgomery64_2e251m9_4limbs/feopp.v
deleted file mode 100644
index ed21323a5..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.log
deleted file mode 100644
index 237800aa3..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffff7L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x7ffffffffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.v
deleted file mode 100644
index 531508bee..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fesquare.c b/src/Specific/montgomery64_2e251m9_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fesub.c b/src/Specific/montgomery64_2e251m9_4limbs/fesub.c
deleted file mode 100644
index 8391d0892..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffff7L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x7ffffffffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fesub.v b/src/Specific/montgomery64_2e251m9_4limbs/fesub.v
deleted file mode 100644
index daa52e52b..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.log
deleted file mode 100644
index d98803e52..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffff7L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x7ffffffffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.v
deleted file mode 100644
index bfe64ae82..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e251m9_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e251m9_4limbs/py_interpreter.sh
deleted file mode 100755
index 97e1673a8..000000000
--- a/src/Specific/montgomery64_2e251m9_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**251 - 9' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/CurveParameters.v
deleted file mode 100644
index 34d6d4b0c..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^254 - 127*2^240 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^254;
- c := [(1, 1); (127, 2^240)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e254m127x2e240m1_4limbs/Synthesis.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/Synthesis.v
deleted file mode 100644
index 9eb3bc57b..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.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/montgomery64_2e254m127x2e240m1_4limbs/compiler.sh b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/compiler.sh
deleted file mode 100755
index 3de125e40..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/compilerxx.sh
deleted file mode 100755
index 70cd49670..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x3f,0x80,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<254) - 127*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.c
deleted file mode 100644
index 6921369c7..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffffL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x3f80ffffffffffff, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.v
deleted file mode 100644
index 6eb12fd58..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.log
deleted file mode 100644
index acf9736ba..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x3f80ffffffffffff);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.v
deleted file mode 100644
index 4ad4e08c1..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.c
deleted file mode 100644
index 69062aa1d..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.c
+++ /dev/null
@@ -1,126 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t x42; uint64_t x41 = _mulx_u64(x17, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x17, 0xffffffffffffffffL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x17, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x17, 0x3f80ffffffffffff, &x51);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(0x0, x42, x44, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t _ = _addcarryx_u64(0x0, x60, x51, &x62);
- { uint64_t _; uint8_t x66 = _addcarryx_u64(0x0, x17, x41, &_);
- { uint64_t x68; uint8_t x69 = _addcarryx_u64(x66, x29, x53, &x68);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x32, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x35, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x38, x62, &x77);
- { uint64_t x81; uint64_t x80 = _mulx_u64(x7, x11, &x81);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x13, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x15, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x14, &x90);
- { uint64_t x92; uint8_t x93 = _addcarryx_u64(0x0, x81, x83, &x92);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(x93, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t _ = _addcarryx_u64(0x0, x99, x90, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(0x0, x68, x80, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x71, x92, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x78, x101, &x116);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x104, 0xffffffffffffffffL, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x104, 0xffffffffffffffffL, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x104, 0xffffffffffffffffL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x104, 0x3f80ffffffffffff, &x129);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(0x0, x120, x122, &x131);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(x132, x123, x125, &x134);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(x135, x126, x128, &x137);
- { uint64_t x140; uint8_t _ = _addcarryx_u64(0x0, x138, x129, &x140);
- { uint64_t _; uint8_t x144 = _addcarryx_u64(0x0, x104, x119, &_);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x107, x131, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x110, x134, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x113, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x116, x140, &x155);
- { uint8_t x157 = (x156 + x117);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x9, x11, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x9, x13, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x15, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x14, &x169);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(0x0, x160, x162, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x163, x165, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x166, x168, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x169, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(0x0, x146, x159, &x183);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x149, x171, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x152, x174, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x157, x180, &x195);
- { uint64_t x199; uint64_t x198 = _mulx_u64(x183, 0xffffffffffffffffL, &x199);
- { uint64_t x202; uint64_t x201 = _mulx_u64(x183, 0xffffffffffffffffL, &x202);
- { uint64_t x205; uint64_t x204 = _mulx_u64(x183, 0xffffffffffffffffL, &x205);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x183, 0x3f80ffffffffffff, &x208);
- { uint64_t x210; uint8_t x211 = _addcarryx_u64(0x0, x199, x201, &x210);
- { uint64_t x213; uint8_t x214 = _addcarryx_u64(x211, x202, x204, &x213);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x205, x207, &x216);
- { uint64_t x219; uint8_t _ = _addcarryx_u64(0x0, x217, x208, &x219);
- { uint64_t _; uint8_t x223 = _addcarryx_u64(0x0, x183, x198, &_);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x186, x210, &x225);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x189, x213, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x192, x216, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x195, x219, &x234);
- { uint8_t x236 = (x235 + x196);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x8, x11, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x13, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x15, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x14, &x248);
- { uint64_t x250; uint8_t x251 = _addcarryx_u64(0x0, x239, x241, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(x251, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t _ = _addcarryx_u64(0x0, x257, x248, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(0x0, x225, x238, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x228, x250, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x236, x259, &x274);
- { uint64_t x278; uint64_t x277 = _mulx_u64(x262, 0xffffffffffffffffL, &x278);
- { uint64_t x281; uint64_t x280 = _mulx_u64(x262, 0xffffffffffffffffL, &x281);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x262, 0xffffffffffffffffL, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x262, 0x3f80ffffffffffff, &x287);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(0x0, x278, x280, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x281, x283, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x284, x286, &x295);
- { uint64_t x298; uint8_t _ = _addcarryx_u64(0x0, x296, x287, &x298);
- { uint64_t _; uint8_t x302 = _addcarryx_u64(0x0, x262, x277, &_);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x265, x289, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x268, x292, &x307);
- { uint64_t x310; uint8_t x311 = _addcarryx_u64(x308, x271, x295, &x310);
- { uint64_t x313; uint8_t x314 = _addcarryx_u64(x311, x274, x298, &x313);
- { uint8_t x315 = (x314 + x275);
- { uint64_t x317; uint8_t x318 = _subborrow_u64(0x0, x304, 0xffffffffffffffffL, &x317);
- { uint64_t x320; uint8_t x321 = _subborrow_u64(x318, x307, 0xffffffffffffffffL, &x320);
- { uint64_t x323; uint8_t x324 = _subborrow_u64(x321, x310, 0xffffffffffffffffL, &x323);
- { uint64_t x326; uint8_t x327 = _subborrow_u64(x324, x313, 0x3f80ffffffffffff, &x326);
- { uint64_t _; uint8_t x330 = _subborrow_u64(x327, x315, 0x0, &_);
- { uint64_t x331 = cmovznz64(x330, x326, x313);
- { uint64_t x332 = cmovznz64(x330, x323, x310);
- { uint64_t x333 = cmovznz64(x330, x320, x307);
- { uint64_t x334 = cmovznz64(x330, x317, x304);
- out[0] = x334;
- out[1] = x333;
- out[2] = x332;
- out[3] = x331;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.v
deleted file mode 100644
index 0ca722ef1..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.log
deleted file mode 100644
index 730bbce58..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,118 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t x42 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x47, uint64_t x48 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x17, 0x3f80ffffffffffff);
- uint64_t x53, uint8_t x54 = addcarryx_u64(0x0, x42, x44);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t _ = addcarryx_u64(0x0, x60, x51);
- uint64_t _, uint8_t x66 = addcarryx_u64(0x0, x17, x41);
- uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x29, x53);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x32, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x35, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x38, x62);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x11);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x13);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x15);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x14);
- uint64_t x92, uint8_t x93 = addcarryx_u64(0x0, x81, x83);
- uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t _ = addcarryx_u64(0x0, x99, x90);
- uint64_t x104, uint8_t x105 = addcarryx_u64(0x0, x68, x80);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x78, x101);
- uint64_t x119, uint64_t x120 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x122, uint64_t x123 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x125, uint64_t x126 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x128, uint64_t x129 = mulx_u64(x104, 0x3f80ffffffffffff);
- uint64_t x131, uint8_t x132 = addcarryx_u64(0x0, x120, x122);
- uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x123, x125);
- uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x126, x128);
- uint64_t x140, uint8_t _ = addcarryx_u64(0x0, x138, x129);
- uint64_t _, uint8_t x144 = addcarryx_u64(0x0, x104, x119);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x107, x131);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x110, x134);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x113, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x116, x140);
- uint8_t x157 = (x156 + x117);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x11);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x13);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x15);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x14);
- uint64_t x171, uint8_t x172 = addcarryx_u64(0x0, x160, x162);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x163, x165);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x166, x168);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x169);
- uint64_t x183, uint8_t x184 = addcarryx_u64(0x0, x146, x159);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x152, x174);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x157, x180);
- uint64_t x198, uint64_t x199 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x201, uint64_t x202 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x204, uint64_t x205 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x207, uint64_t x208 = mulx_u64(x183, 0x3f80ffffffffffff);
- uint64_t x210, uint8_t x211 = addcarryx_u64(0x0, x199, x201);
- uint64_t x213, uint8_t x214 = addcarryx_u64(x211, x202, x204);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x205, x207);
- uint64_t x219, uint8_t _ = addcarryx_u64(0x0, x217, x208);
- uint64_t _, uint8_t x223 = addcarryx_u64(0x0, x183, x198);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x186, x210);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x189, x213);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x192, x216);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x195, x219);
- uint8_t x236 = (x235 + x196);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x11);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x13);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x15);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x14);
- uint64_t x250, uint8_t x251 = addcarryx_u64(0x0, x239, x241);
- uint64_t x253, uint8_t x254 = addcarryx_u64(x251, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t _ = addcarryx_u64(0x0, x257, x248);
- uint64_t x262, uint8_t x263 = addcarryx_u64(0x0, x225, x238);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x228, x250);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x236, x259);
- uint64_t x277, uint64_t x278 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x280, uint64_t x281 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x283, uint64_t x284 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x286, uint64_t x287 = mulx_u64(x262, 0x3f80ffffffffffff);
- uint64_t x289, uint8_t x290 = addcarryx_u64(0x0, x278, x280);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x281, x283);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x284, x286);
- uint64_t x298, uint8_t _ = addcarryx_u64(0x0, x296, x287);
- uint64_t _, uint8_t x302 = addcarryx_u64(0x0, x262, x277);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x265, x289);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x268, x292);
- uint64_t x310, uint8_t x311 = addcarryx_u64(x308, x271, x295);
- uint64_t x313, uint8_t x314 = addcarryx_u64(x311, x274, x298);
- uint8_t x315 = (x314 + x275);
- uint64_t x317, uint8_t x318 = subborrow_u64(0x0, x304, 0xffffffffffffffffL);
- uint64_t x320, uint8_t x321 = subborrow_u64(x318, x307, 0xffffffffffffffffL);
- uint64_t x323, uint8_t x324 = subborrow_u64(x321, x310, 0xffffffffffffffffL);
- uint64_t x326, uint8_t x327 = subborrow_u64(x324, x313, 0x3f80ffffffffffff);
- uint64_t _, uint8_t x330 = subborrow_u64(x327, x315, 0x0);
- uint64_t x331 = cmovznz64(x330, x326, x313);
- uint64_t x332 = cmovznz64(x330, x323, x310);
- uint64_t x333 = cmovznz64(x330, x320, x307);
- uint64_t x334 = cmovznz64(x330, x317, x304);
- return (x331, x332, x333, x334))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.v
deleted file mode 100644
index d43c115fc..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.v
deleted file mode 100644
index 36fd50b9e..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.v
deleted file mode 100644
index 4ba2ec450..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.c
deleted file mode 100644
index 862551d03..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffffL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x3f80ffffffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.v
deleted file mode 100644
index 01bca31ae..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.log
deleted file mode 100644
index dc4848371..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffffL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x3f80ffffffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.v
deleted file mode 100644
index dc2fe3d94..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.c
deleted file mode 100644
index 82b995af4..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x3f80ffffffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.v
deleted file mode 100644
index c895dd9df..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.log
deleted file mode 100644
index a9f5ecefa..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x3f80ffffffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.v
deleted file mode 100644
index 0d00ee3e6..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e254m127x2e240m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 05bd087a0..000000000
--- a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**254 - 127*2**240 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e255m19_4limbs/CurveParameters.v
deleted file mode 100644
index a82c6a4f3..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e255m19_4limbs/Synthesis.v b/src/Specific/montgomery64_2e255m19_4limbs/Synthesis.v
deleted file mode 100644
index 4fc32ad44..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.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/montgomery64_2e255m19_4limbs/compiler.sh b/src/Specific/montgomery64_2e255m19_4limbs/compiler.sh
deleted file mode 100755
index 1ad053970..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e255m19_4limbs/compilerxx.sh
deleted file mode 100755
index 69bc6a8e0..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feadd.c b/src/Specific/montgomery64_2e255m19_4limbs/feadd.c
deleted file mode 100644
index caf4ae59e..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffedL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x7fffffffffffffffL, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feadd.v b/src/Specific/montgomery64_2e255m19_4limbs/feadd.v
deleted file mode 100644
index b2f2a364d..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.log
deleted file mode 100644
index 0afad5f44..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffedL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.v
deleted file mode 100644
index 450f306c3..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/femul.c b/src/Specific/montgomery64_2e255m19_4limbs/femul.c
deleted file mode 100644
index 27976f9d3..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0x86bca1af286bca1bL, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffffedL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x7fffffffffffffffL, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0x86bca1af286bca1bL, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xffffffffffffffedL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x7fffffffffffffffL, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0x86bca1af286bca1bL, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xffffffffffffffedL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x7fffffffffffffffL, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0x86bca1af286bca1bL, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xffffffffffffffedL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x7fffffffffffffffL, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xffffffffffffffedL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x7fffffffffffffffL, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/femul.v b/src/Specific/montgomery64_2e255m19_4limbs/femul.v
deleted file mode 100644
index b2c1f97c4..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.log
deleted file mode 100644
index 0a8c04e28..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0x86bca1af286bca1bL);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffffedL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x7fffffffffffffffL);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0x86bca1af286bca1bL);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xffffffffffffffedL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x7fffffffffffffffL);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0x86bca1af286bca1bL);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xffffffffffffffedL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x7fffffffffffffffL);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0x86bca1af286bca1bL);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xffffffffffffffedL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x7fffffffffffffffL);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xffffffffffffffedL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.v
deleted file mode 100644
index d1bef8998..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fenz.c b/src/Specific/montgomery64_2e255m19_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fenz.v b/src/Specific/montgomery64_2e255m19_4limbs/fenz.v
deleted file mode 100644
index deab9711a..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.v
deleted file mode 100644
index 1902024fd..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feopp.c b/src/Specific/montgomery64_2e255m19_4limbs/feopp.c
deleted file mode 100644
index f7bc56926..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffedL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x7fffffffffffffffL);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feopp.v b/src/Specific/montgomery64_2e255m19_4limbs/feopp.v
deleted file mode 100644
index 1c288f624..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.log
deleted file mode 100644
index ef7f18fdb..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffedL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x7fffffffffffffffL);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.v
deleted file mode 100644
index 69a1c33a7..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fesquare.c b/src/Specific/montgomery64_2e255m19_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fesub.c b/src/Specific/montgomery64_2e255m19_4limbs/fesub.c
deleted file mode 100644
index 8e4400464..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffedL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x7fffffffffffffffL);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fesub.v b/src/Specific/montgomery64_2e255m19_4limbs/fesub.v
deleted file mode 100644
index 0cbd08a32..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.log
deleted file mode 100644
index 68b1ede8b..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffedL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x7fffffffffffffffL);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.v
deleted file mode 100644
index cbc7270f7..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m19_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e255m19_4limbs/py_interpreter.sh
deleted file mode 100755
index 90e12d083..000000000
--- a/src/Specific/montgomery64_2e255m19_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e255m765_4limbs/CurveParameters.v
deleted file mode 100644
index 24ae9e3d8..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 765
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 765)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e255m765_4limbs/Synthesis.v b/src/Specific/montgomery64_2e255m765_4limbs/Synthesis.v
deleted file mode 100644
index 1062894ae..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.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/montgomery64_2e255m765_4limbs/compiler.sh b/src/Specific/montgomery64_2e255m765_4limbs/compiler.sh
deleted file mode 100755
index 257309184..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e255m765_4limbs/compilerxx.sh
deleted file mode 100755
index b82c81aae..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feadd.c b/src/Specific/montgomery64_2e255m765_4limbs/feadd.c
deleted file mode 100644
index 44d3c7827..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffffffffd03L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0x7fffffffffffffffL, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feadd.v b/src/Specific/montgomery64_2e255m765_4limbs/feadd.v
deleted file mode 100644
index c79fa3c96..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.log
deleted file mode 100644
index fe4bb1921..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffffffffd03L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.v
deleted file mode 100644
index 5b4720878..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/femul.c b/src/Specific/montgomery64_2e255m765_4limbs/femul.c
deleted file mode 100644
index b2c04e1ce..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xaa54ffaa54ffaa55L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffffffffd03L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0x7fffffffffffffffL, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xaa54ffaa54ffaa55L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffffffffd03L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0x7fffffffffffffffL, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xaa54ffaa54ffaa55L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffffffffd03L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0x7fffffffffffffffL, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xaa54ffaa54ffaa55L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffffffffd03L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0x7fffffffffffffffL, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffffffffd03L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0x7fffffffffffffffL, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/femul.v b/src/Specific/montgomery64_2e255m765_4limbs/femul.v
deleted file mode 100644
index 1f615977e..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.log
deleted file mode 100644
index 88a22cde6..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xaa54ffaa54ffaa55L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffffffffd03L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0x7fffffffffffffffL);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xaa54ffaa54ffaa55L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffffffffd03L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0x7fffffffffffffffL);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xaa54ffaa54ffaa55L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffffffffd03L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0x7fffffffffffffffL);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xaa54ffaa54ffaa55L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffffffffd03L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0x7fffffffffffffffL);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffffffffd03L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.v
deleted file mode 100644
index dde0a7c9f..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fenz.c b/src/Specific/montgomery64_2e255m765_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fenz.v b/src/Specific/montgomery64_2e255m765_4limbs/fenz.v
deleted file mode 100644
index 00f4de132..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.v
deleted file mode 100644
index a4922ce86..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feopp.c b/src/Specific/montgomery64_2e255m765_4limbs/feopp.c
deleted file mode 100644
index 3842bfcc0..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffd03L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0x7fffffffffffffffL);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feopp.v b/src/Specific/montgomery64_2e255m765_4limbs/feopp.v
deleted file mode 100644
index 88c79387d..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.log
deleted file mode 100644
index bc3a61489..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffd03L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0x7fffffffffffffffL);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.v
deleted file mode 100644
index 5d6635c3d..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fesquare.c b/src/Specific/montgomery64_2e255m765_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fesub.c b/src/Specific/montgomery64_2e255m765_4limbs/fesub.c
deleted file mode 100644
index 61706f866..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffffffffd03L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0x7fffffffffffffffL);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fesub.v b/src/Specific/montgomery64_2e255m765_4limbs/fesub.v
deleted file mode 100644
index 5a98a42f6..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.log
deleted file mode 100644
index f31b891f6..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffffffffd03L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0x7fffffffffffffffL);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.v
deleted file mode 100644
index 7cb3ba9df..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e255m765_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e255m765_4limbs/py_interpreter.sh
deleted file mode 100755
index 1dca40d71..000000000
--- a/src/Specific/montgomery64_2e255m765_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 765' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e256m189_4limbs/CurveParameters.v
deleted file mode 100644
index c6844835e..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 189
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 189)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e256m189_4limbs/Synthesis.v b/src/Specific/montgomery64_2e256m189_4limbs/Synthesis.v
deleted file mode 100644
index c848649b6..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.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/montgomery64_2e256m189_4limbs/compiler.sh b/src/Specific/montgomery64_2e256m189_4limbs/compiler.sh
deleted file mode 100755
index 28dd82c5c..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e256m189_4limbs/compilerxx.sh
deleted file mode 100755
index c04a39e78..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feadd.c b/src/Specific/montgomery64_2e256m189_4limbs/feadd.c
deleted file mode 100644
index 1f8f68ebe..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffff43L, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffffffffffffffffL, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feadd.v b/src/Specific/montgomery64_2e256m189_4limbs/feadd.v
deleted file mode 100644
index 82683d6a9..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.log
deleted file mode 100644
index 5b28c3467..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffff43L);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffffffffffffffffL);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.v
deleted file mode 100644
index 92c1c0c1e..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/femul.c b/src/Specific/montgomery64_2e256m189_4limbs/femul.c
deleted file mode 100644
index 7acb54447..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xa53fa94fea53fa95L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xffffffffffffff43L, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0xffffffffffffffffL, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xa53fa94fea53fa95L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xffffffffffffff43L, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0xffffffffffffffffL, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xa53fa94fea53fa95L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xffffffffffffff43L, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0xffffffffffffffffL, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xa53fa94fea53fa95L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xffffffffffffff43L, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0xffffffffffffffffL, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xffffffffffffff43L, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0xffffffffffffffffL, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/femul.v b/src/Specific/montgomery64_2e256m189_4limbs/femul.v
deleted file mode 100644
index ce046d552..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.log
deleted file mode 100644
index e9d9a9334..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xa53fa94fea53fa95L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffffffffff43L);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xa53fa94fea53fa95L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xffffffffffffff43L);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xa53fa94fea53fa95L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xffffffffffffff43L);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xa53fa94fea53fa95L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xffffffffffffff43L);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xffffffffffffff43L);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0xffffffffffffffffL);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.v
deleted file mode 100644
index 247fc3ba8..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fenz.c b/src/Specific/montgomery64_2e256m189_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fenz.v b/src/Specific/montgomery64_2e256m189_4limbs/fenz.v
deleted file mode 100644
index e6a62189a..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.v
deleted file mode 100644
index fc77eb948..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feopp.c b/src/Specific/montgomery64_2e256m189_4limbs/feopp.c
deleted file mode 100644
index e6fb61c33..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffff43L);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xffffffffffffffffL);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feopp.v b/src/Specific/montgomery64_2e256m189_4limbs/feopp.v
deleted file mode 100644
index 88e81e1bb..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.log
deleted file mode 100644
index 9eabbbfcf..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffff43L);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xffffffffffffffffL);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.v
deleted file mode 100644
index 727d3a5e4..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m189_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fesub.c b/src/Specific/montgomery64_2e256m189_4limbs/fesub.c
deleted file mode 100644
index 235e733b4..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffff43L);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xffffffffffffffffL);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fesub.v b/src/Specific/montgomery64_2e256m189_4limbs/fesub.v
deleted file mode 100644
index 818853ad0..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.log
deleted file mode 100644
index a7aa158b4..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffff43L);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xffffffffffffffffL);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.v
deleted file mode 100644
index 912959003..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m189_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e256m189_4limbs/py_interpreter.sh
deleted file mode 100755
index 457d92c81..000000000
--- a/src/Specific/montgomery64_2e256m189_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 189' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/CurveParameters.v
deleted file mode 100644
index 1d1a9e4a7..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^224 + 2^192 + 2^96 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/Synthesis.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/Synthesis.v
deleted file mode 100644
index bfe232445..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.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/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/compiler.sh b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/compiler.sh
deleted file mode 100755
index edc6484fe..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/compilerxx.sh
deleted file mode 100755
index dc5d0ca5f..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.c
deleted file mode 100644
index 9b4c39955..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffffL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffff, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0x0, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffffffff00000001L, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.v
deleted file mode 100644
index 152486e84..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.log
deleted file mode 100644
index 9849e94ae..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffff);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0x0);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffffffff00000001L);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.v
deleted file mode 100644
index 2a123f9d3..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.c
deleted file mode 100644
index 71c0a2e99..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.c
+++ /dev/null
@@ -1,122 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t x42; uint64_t x41 = _mulx_u64(x17, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x17, 0xffffffff, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x17, 0xffffffff00000001L, &x48);
- { uint64_t x50; uint8_t x51 = _addcarryx_u64(0x0, x42, x44, &x50);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x51, x45, 0x0, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, 0x0, x47, &x56);
- { uint64_t x59; uint8_t _ = _addcarryx_u64(0x0, x57, x48, &x59);
- { uint64_t _; uint8_t x63 = _addcarryx_u64(0x0, x17, x41, &_);
- { uint64_t x65; uint8_t x66 = _addcarryx_u64(x63, x29, x50, &x65);
- { uint64_t x68; uint8_t x69 = _addcarryx_u64(x66, x32, x53, &x68);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x35, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x38, x59, &x74);
- { uint64_t x78; uint64_t x77 = _mulx_u64(x7, x11, &x78);
- { uint64_t x81; uint64_t x80 = _mulx_u64(x7, x13, &x81);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x15, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x14, &x87);
- { uint64_t x89; uint8_t x90 = _addcarryx_u64(0x0, x78, x80, &x89);
- { uint64_t x92; uint8_t x93 = _addcarryx_u64(x90, x81, x83, &x92);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(x93, x84, x86, &x95);
- { uint64_t x98; uint8_t _ = _addcarryx_u64(0x0, x96, x87, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(0x0, x65, x77, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(x102, x68, x89, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x71, x92, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x75, x98, &x113);
- { uint64_t x117; uint64_t x116 = _mulx_u64(x101, 0xffffffffffffffffL, &x117);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x101, 0xffffffff, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x101, 0xffffffff00000001L, &x123);
- { uint64_t x125; uint8_t x126 = _addcarryx_u64(0x0, x117, x119, &x125);
- { uint64_t x128; uint8_t x129 = _addcarryx_u64(x126, x120, 0x0, &x128);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(x129, 0x0, x122, &x131);
- { uint64_t x134; uint8_t _ = _addcarryx_u64(0x0, x132, x123, &x134);
- { uint64_t _; uint8_t x138 = _addcarryx_u64(0x0, x101, x116, &_);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x104, x125, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x107, x128, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x110, x131, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x113, x134, &x149);
- { uint8_t x151 = (x150 + x114);
- { uint64_t x154; uint64_t x153 = _mulx_u64(x9, x11, &x154);
- { uint64_t x157; uint64_t x156 = _mulx_u64(x9, x13, &x157);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x9, x15, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x9, x14, &x163);
- { uint64_t x165; uint8_t x166 = _addcarryx_u64(0x0, x154, x156, &x165);
- { uint64_t x168; uint8_t x169 = _addcarryx_u64(x166, x157, x159, &x168);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(x169, x160, x162, &x171);
- { uint64_t x174; uint8_t _ = _addcarryx_u64(0x0, x172, x163, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x140, x153, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x143, x165, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x146, x168, &x183);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x149, x171, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x151, x174, &x189);
- { uint64_t x193; uint64_t x192 = _mulx_u64(x177, 0xffffffffffffffffL, &x193);
- { uint64_t x196; uint64_t x195 = _mulx_u64(x177, 0xffffffff, &x196);
- { uint64_t x199; uint64_t x198 = _mulx_u64(x177, 0xffffffff00000001L, &x199);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(0x0, x193, x195, &x201);
- { uint64_t x204; uint8_t x205 = _addcarryx_u64(x202, x196, 0x0, &x204);
- { uint64_t x207; uint8_t x208 = _addcarryx_u64(x205, 0x0, x198, &x207);
- { uint64_t x210; uint8_t _ = _addcarryx_u64(0x0, x208, x199, &x210);
- { uint64_t _; uint8_t x214 = _addcarryx_u64(0x0, x177, x192, &_);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x180, x201, &x216);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(x217, x183, x204, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x186, x207, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x189, x210, &x225);
- { uint8_t x227 = (x226 + x190);
- { uint64_t x230; uint64_t x229 = _mulx_u64(x8, x11, &x230);
- { uint64_t x233; uint64_t x232 = _mulx_u64(x8, x13, &x233);
- { uint64_t x236; uint64_t x235 = _mulx_u64(x8, x15, &x236);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x8, x14, &x239);
- { uint64_t x241; uint8_t x242 = _addcarryx_u64(0x0, x230, x232, &x241);
- { uint64_t x244; uint8_t x245 = _addcarryx_u64(x242, x233, x235, &x244);
- { uint64_t x247; uint8_t x248 = _addcarryx_u64(x245, x236, x238, &x247);
- { uint64_t x250; uint8_t _ = _addcarryx_u64(0x0, x248, x239, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(0x0, x216, x229, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x219, x241, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x222, x244, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x225, x247, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x227, x250, &x265);
- { uint64_t x269; uint64_t x268 = _mulx_u64(x253, 0xffffffffffffffffL, &x269);
- { uint64_t x272; uint64_t x271 = _mulx_u64(x253, 0xffffffff, &x272);
- { uint64_t x275; uint64_t x274 = _mulx_u64(x253, 0xffffffff00000001L, &x275);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(0x0, x269, x271, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x272, 0x0, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, 0x0, x274, &x283);
- { uint64_t x286; uint8_t _ = _addcarryx_u64(0x0, x284, x275, &x286);
- { uint64_t _; uint8_t x290 = _addcarryx_u64(0x0, x253, x268, &_);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x256, x277, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x259, x280, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x262, x283, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x265, x286, &x301);
- { uint8_t x303 = (x302 + x266);
- { uint64_t x305; uint8_t x306 = _subborrow_u64(0x0, x292, 0xffffffffffffffffL, &x305);
- { uint64_t x308; uint8_t x309 = _subborrow_u64(x306, x295, 0xffffffff, &x308);
- { uint64_t x311; uint8_t x312 = _subborrow_u64(x309, x298, 0x0, &x311);
- { uint64_t x314; uint8_t x315 = _subborrow_u64(x312, x301, 0xffffffff00000001L, &x314);
- { uint64_t _; uint8_t x318 = _subborrow_u64(x315, x303, 0x0, &_);
- { uint64_t x319 = cmovznz64(x318, x314, x301);
- { uint64_t x320 = cmovznz64(x318, x311, x298);
- { uint64_t x321 = cmovznz64(x318, x308, x295);
- { uint64_t x322 = cmovznz64(x318, x305, x292);
- out[0] = x322;
- out[1] = x321;
- out[2] = x320;
- out[3] = x319;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.v
deleted file mode 100644
index 921d38ccb..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.log
deleted file mode 100644
index 1ad198fe0..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,114 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t x42 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x17, 0xffffffff);
- uint64_t x47, uint64_t x48 = mulx_u64(x17, 0xffffffff00000001L);
- uint64_t x50, uint8_t x51 = addcarryx_u64(0x0, x42, x44);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x51, x45, 0x0);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, 0x0, x47);
- uint64_t x59, uint8_t _ = addcarryx_u64(0x0, x57, x48);
- uint64_t _, uint8_t x63 = addcarryx_u64(0x0, x17, x41);
- uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x29, x50);
- uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x32, x53);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x35, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x38, x59);
- uint64_t x77, uint64_t x78 = mulx_u64(x7, x11);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x13);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x15);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x14);
- uint64_t x89, uint8_t x90 = addcarryx_u64(0x0, x78, x80);
- uint64_t x92, uint8_t x93 = addcarryx_u64(x90, x81, x83);
- uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t _ = addcarryx_u64(0x0, x96, x87);
- uint64_t x101, uint8_t x102 = addcarryx_u64(0x0, x65, x77);
- uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x68, x89);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x75, x98);
- uint64_t x116, uint64_t x117 = mulx_u64(x101, 0xffffffffffffffffL);
- uint64_t x119, uint64_t x120 = mulx_u64(x101, 0xffffffff);
- uint64_t x122, uint64_t x123 = mulx_u64(x101, 0xffffffff00000001L);
- uint64_t x125, uint8_t x126 = addcarryx_u64(0x0, x117, x119);
- uint64_t x128, uint8_t x129 = addcarryx_u64(x126, x120, 0x0);
- uint64_t x131, uint8_t x132 = addcarryx_u64(x129, 0x0, x122);
- uint64_t x134, uint8_t _ = addcarryx_u64(0x0, x132, x123);
- uint64_t _, uint8_t x138 = addcarryx_u64(0x0, x101, x116);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x104, x125);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x107, x128);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x110, x131);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x113, x134);
- uint8_t x151 = (x150 + x114);
- uint64_t x153, uint64_t x154 = mulx_u64(x9, x11);
- uint64_t x156, uint64_t x157 = mulx_u64(x9, x13);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x15);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x14);
- uint64_t x165, uint8_t x166 = addcarryx_u64(0x0, x154, x156);
- uint64_t x168, uint8_t x169 = addcarryx_u64(x166, x157, x159);
- uint64_t x171, uint8_t x172 = addcarryx_u64(x169, x160, x162);
- uint64_t x174, uint8_t _ = addcarryx_u64(0x0, x172, x163);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x140, x153);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x143, x165);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x146, x168);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x151, x174);
- uint64_t x192, uint64_t x193 = mulx_u64(x177, 0xffffffffffffffffL);
- uint64_t x195, uint64_t x196 = mulx_u64(x177, 0xffffffff);
- uint64_t x198, uint64_t x199 = mulx_u64(x177, 0xffffffff00000001L);
- uint64_t x201, uint8_t x202 = addcarryx_u64(0x0, x193, x195);
- uint64_t x204, uint8_t x205 = addcarryx_u64(x202, x196, 0x0);
- uint64_t x207, uint8_t x208 = addcarryx_u64(x205, 0x0, x198);
- uint64_t x210, uint8_t _ = addcarryx_u64(0x0, x208, x199);
- uint64_t _, uint8_t x214 = addcarryx_u64(0x0, x177, x192);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x180, x201);
- uint64_t x219, uint8_t x220 = addcarryx_u64(x217, x183, x204);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x186, x207);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x189, x210);
- uint8_t x227 = (x226 + x190);
- uint64_t x229, uint64_t x230 = mulx_u64(x8, x11);
- uint64_t x232, uint64_t x233 = mulx_u64(x8, x13);
- uint64_t x235, uint64_t x236 = mulx_u64(x8, x15);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x14);
- uint64_t x241, uint8_t x242 = addcarryx_u64(0x0, x230, x232);
- uint64_t x244, uint8_t x245 = addcarryx_u64(x242, x233, x235);
- uint64_t x247, uint8_t x248 = addcarryx_u64(x245, x236, x238);
- uint64_t x250, uint8_t _ = addcarryx_u64(0x0, x248, x239);
- uint64_t x253, uint8_t x254 = addcarryx_u64(0x0, x216, x229);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x219, x241);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x222, x244);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x225, x247);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x227, x250);
- uint64_t x268, uint64_t x269 = mulx_u64(x253, 0xffffffffffffffffL);
- uint64_t x271, uint64_t x272 = mulx_u64(x253, 0xffffffff);
- uint64_t x274, uint64_t x275 = mulx_u64(x253, 0xffffffff00000001L);
- uint64_t x277, uint8_t x278 = addcarryx_u64(0x0, x269, x271);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x272, 0x0);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, 0x0, x274);
- uint64_t x286, uint8_t _ = addcarryx_u64(0x0, x284, x275);
- uint64_t _, uint8_t x290 = addcarryx_u64(0x0, x253, x268);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x256, x277);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x259, x280);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x262, x283);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x265, x286);
- uint8_t x303 = (x302 + x266);
- uint64_t x305, uint8_t x306 = subborrow_u64(0x0, x292, 0xffffffffffffffffL);
- uint64_t x308, uint8_t x309 = subborrow_u64(x306, x295, 0xffffffff);
- uint64_t x311, uint8_t x312 = subborrow_u64(x309, x298, 0x0);
- uint64_t x314, uint8_t x315 = subborrow_u64(x312, x301, 0xffffffff00000001L);
- uint64_t _, uint8_t x318 = subborrow_u64(x315, x303, 0x0);
- uint64_t x319 = cmovznz64(x318, x314, x301);
- uint64_t x320 = cmovznz64(x318, x311, x298);
- uint64_t x321 = cmovznz64(x318, x308, x295);
- uint64_t x322 = cmovznz64(x318, x305, x292);
- return (x319, x320, x321, x322))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.v
deleted file mode 100644
index 18f0467cb..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.v
deleted file mode 100644
index 76dc46dd4..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.v
deleted file mode 100644
index 8544084a1..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.c
deleted file mode 100644
index 680f0ec5b..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.c
+++ /dev/null
@@ -1,23 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffffL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffff);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(x27, x14, 0x0, &x29);
- { uint64_t x31 = (x19 & 0xffffffff00000001L);
- { uint64_t x33; uint8_t _ = _addcarryx_u64(x30, x17, x31, &x33);
- out[0] = x22;
- out[1] = x26;
- out[2] = x29;
- out[3] = x33;
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.v
deleted file mode 100644
index 839f259b0..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.log
deleted file mode 100644
index b08bcd7fb..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffffL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffff);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x29, uint8_t x30 = addcarryx_u64(x27, x14, 0x0);
- uint64_t x31 = (x19 & 0xffffffff00000001L);
- uint64_t x33, uint8_t _ = addcarryx_u64(x30, x17, x31);
- (Return x33, Return x29, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.v
deleted file mode 100644
index b08796e1d..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.c
deleted file mode 100644
index 7697d07d2..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffff);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x23, 0x0, &x38);
- { uint64_t x40 = (x28 & 0xffffffff00000001L);
- { uint64_t x42; uint8_t _ = _addcarryx_u64(x39, x26, x40, &x42);
- out[0] = x31;
- out[1] = x35;
- out[2] = x38;
- out[3] = x42;
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.v
deleted file mode 100644
index bd5ef89b7..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.log
deleted file mode 100644
index 9175c3383..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,19 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffff);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x23, 0x0);
- uint64_t x40 = (x28 & 0xffffffff00000001L);
- uint64_t x42, uint8_t _ = addcarryx_u64(x39, x26, x40);
- (Return x42, Return x38, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.v
deleted file mode 100644
index c72236eec..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e224p2e192p2e96m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 211c82368..000000000
--- a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**224 + 2**192 + 2**96 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/CurveParameters.v
deleted file mode 100644
index 0c0b5f720..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^32 - 977
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 977); (2^32, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e256m2e32m977_4limbs/Synthesis.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/Synthesis.v
deleted file mode 100644
index c0a8e8529..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.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/montgomery64_2e256m2e32m977_4limbs/compiler.sh b/src/Specific/montgomery64_2e256m2e32m977_4limbs/compiler.sh
deleted file mode 100755
index 676d2b25f..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e256m2e32m977_4limbs/compilerxx.sh
deleted file mode 100755
index 76971cd96..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.c
deleted file mode 100644
index 14f720f2d..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffefffffc2fL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffffffffffffffffL, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.v
deleted file mode 100644
index c466a6925..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.log
deleted file mode 100644
index ae304849e..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffefffffc2fL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffffffffffffffffL);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.v
deleted file mode 100644
index 4af4b73d5..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.c
deleted file mode 100644
index e6301b612..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xd838091dd2253531L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffefffffc2fL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0xffffffffffffffffL, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xd838091dd2253531L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffefffffc2fL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0xffffffffffffffffL, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xd838091dd2253531L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffefffffc2fL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0xffffffffffffffffL, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xd838091dd2253531L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffefffffc2fL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0xffffffffffffffffL, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffefffffc2fL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0xffffffffffffffffL, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.v
deleted file mode 100644
index ade94b2bc..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.log
deleted file mode 100644
index 59bd5d082..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xd838091dd2253531L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffefffffc2fL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xd838091dd2253531L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffefffffc2fL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xd838091dd2253531L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffefffffc2fL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xd838091dd2253531L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffefffffc2fL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffefffffc2fL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0xffffffffffffffffL);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.v
deleted file mode 100644
index b90c1fe4c..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.v
deleted file mode 100644
index 0ec4ad9e9..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.v
deleted file mode 100644
index 46e4d1c5e..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.c
deleted file mode 100644
index 6461080dc..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffefffffc2fL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xffffffffffffffffL);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.v
deleted file mode 100644
index bedc6d60b..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.log
deleted file mode 100644
index b89811d28..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffefffffc2fL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xffffffffffffffffL);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.v
deleted file mode 100644
index 8c83c69c9..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.c
deleted file mode 100644
index 7bb6ec2a2..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffefffffc2fL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xffffffffffffffffL);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.v
deleted file mode 100644
index 1e773b5aa..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.log
deleted file mode 100644
index fd2507333..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffefffffc2fL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xffffffffffffffffL);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.v
deleted file mode 100644
index 9c280f42b..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m2e32m977_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e256m2e32m977_4limbs/py_interpreter.sh
deleted file mode 100755
index 465dcfb46..000000000
--- a/src/Specific/montgomery64_2e256m2e32m977_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**32 - 977' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/CurveParameters.v
deleted file mode 100644
index 6e5f55ff1..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 4294968273
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 4294968273)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e256m4294968273_4limbs/Synthesis.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/Synthesis.v
deleted file mode 100644
index 41b3e63c9..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.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/montgomery64_2e256m4294968273_4limbs/compiler.sh b/src/Specific/montgomery64_2e256m4294968273_4limbs/compiler.sh
deleted file mode 100755
index f5498d3a2..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e256m4294968273_4limbs/compilerxx.sh
deleted file mode 100755
index 0ca360bb6..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.c
deleted file mode 100644
index 14f720f2d..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xfffffffefffffc2fL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffffffffffffffffL, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.v
deleted file mode 100644
index 369b01033..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.log
deleted file mode 100644
index ae304849e..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xfffffffefffffc2fL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffffffffffffffffL);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.v
deleted file mode 100644
index a85921d5c..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/femul.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/femul.c
deleted file mode 100644
index e6301b612..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/femul.c
+++ /dev/null
@@ -1,130 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t _; uint64_t x41 = _mulx_u64(x17, 0xd838091dd2253531L, &_);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x41, 0xfffffffefffffc2fL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x41, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x41, 0xffffffffffffffffL, &x51);
- { uint64_t x54; uint64_t x53 = _mulx_u64(x41, 0xffffffffffffffffL, &x54);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(0x0, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t x63 = _addcarryx_u64(x60, x51, x53, &x62);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(0x0, x63, x54, &x65);
- { uint64_t _; uint8_t x69 = _addcarryx_u64(0x0, x17, x44, &_);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x29, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x32, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x35, x62, &x77);
- { uint64_t x80; uint8_t x81 = _addcarryx_u64(x78, x38, x65, &x80);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x11, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x13, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x15, &x90);
- { uint64_t x93; uint64_t x92 = _mulx_u64(x7, x14, &x93);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(0x0, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x90, x92, &x101);
- { uint64_t x104; uint8_t _ = _addcarryx_u64(0x0, x102, x93, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(0x0, x71, x83, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x80, x101, &x116);
- { uint64_t x119; uint8_t x120 = _addcarryx_u64(x117, x81, x104, &x119);
- { uint64_t _; uint64_t x122 = _mulx_u64(x107, 0xd838091dd2253531L, &_);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x122, 0xfffffffefffffc2fL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x122, 0xffffffffffffffffL, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x122, 0xffffffffffffffffL, &x132);
- { uint64_t x135; uint64_t x134 = _mulx_u64(x122, 0xffffffffffffffffL, &x135);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(0x0, x126, x128, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x129, x131, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x132, x134, &x143);
- { uint64_t x146; uint8_t _ = _addcarryx_u64(0x0, x144, x135, &x146);
- { uint64_t _; uint8_t x150 = _addcarryx_u64(0x0, x107, x125, &_);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x110, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x113, x140, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x116, x143, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x119, x146, &x161);
- { uint8_t x163 = (x162 + x120);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x11, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x13, &x169);
- { uint64_t x172; uint64_t x171 = _mulx_u64(x9, x15, &x172);
- { uint64_t x175; uint64_t x174 = _mulx_u64(x9, x14, &x175);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(0x0, x166, x168, &x177);
- { uint64_t x180; uint8_t x181 = _addcarryx_u64(x178, x169, x171, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(x181, x172, x174, &x183);
- { uint64_t x186; uint8_t _ = _addcarryx_u64(0x0, x184, x175, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(0x0, x152, x165, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x158, x180, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x161, x183, &x198);
- { uint64_t x201; uint8_t x202 = _addcarryx_u64(x199, x163, x186, &x201);
- { uint64_t _; uint64_t x204 = _mulx_u64(x189, 0xd838091dd2253531L, &_);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x204, 0xfffffffefffffc2fL, &x208);
- { uint64_t x211; uint64_t x210 = _mulx_u64(x204, 0xffffffffffffffffL, &x211);
- { uint64_t x214; uint64_t x213 = _mulx_u64(x204, 0xffffffffffffffffL, &x214);
- { uint64_t x217; uint64_t x216 = _mulx_u64(x204, 0xffffffffffffffffL, &x217);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(0x0, x208, x210, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x211, x213, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x214, x216, &x225);
- { uint64_t x228; uint8_t _ = _addcarryx_u64(0x0, x226, x217, &x228);
- { uint64_t _; uint8_t x232 = _addcarryx_u64(0x0, x189, x207, &_);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x192, x219, &x234);
- { uint64_t x237; uint8_t x238 = _addcarryx_u64(x235, x195, x222, &x237);
- { uint64_t x240; uint8_t x241 = _addcarryx_u64(x238, x198, x225, &x240);
- { uint64_t x243; uint8_t x244 = _addcarryx_u64(x241, x201, x228, &x243);
- { uint8_t x245 = (x244 + x202);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x11, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x8, x13, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x8, x15, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x8, x14, &x257);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(0x0, x248, x250, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x251, x253, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x254, x256, &x265);
- { uint64_t x268; uint8_t _ = _addcarryx_u64(0x0, x266, x257, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(0x0, x234, x247, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x237, x259, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x240, x262, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x243, x265, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x245, x268, &x283);
- { uint64_t _; uint64_t x286 = _mulx_u64(x271, 0xd838091dd2253531L, &_);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x286, 0xfffffffefffffc2fL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x286, 0xffffffffffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x286, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x286, 0xffffffffffffffffL, &x299);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(0x0, x290, x292, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x293, x295, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x296, x298, &x307);
- { uint64_t x310; uint8_t _ = _addcarryx_u64(0x0, x308, x299, &x310);
- { uint64_t _; uint8_t x314 = _addcarryx_u64(0x0, x271, x289, &_);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x274, x301, &x316);
- { uint64_t x319; uint8_t x320 = _addcarryx_u64(x317, x277, x304, &x319);
- { uint64_t x322; uint8_t x323 = _addcarryx_u64(x320, x280, x307, &x322);
- { uint64_t x325; uint8_t x326 = _addcarryx_u64(x323, x283, x310, &x325);
- { uint8_t x327 = (x326 + x284);
- { uint64_t x329; uint8_t x330 = _subborrow_u64(0x0, x316, 0xfffffffefffffc2fL, &x329);
- { uint64_t x332; uint8_t x333 = _subborrow_u64(x330, x319, 0xffffffffffffffffL, &x332);
- { uint64_t x335; uint8_t x336 = _subborrow_u64(x333, x322, 0xffffffffffffffffL, &x335);
- { uint64_t x338; uint8_t x339 = _subborrow_u64(x336, x325, 0xffffffffffffffffL, &x338);
- { uint64_t _; uint8_t x342 = _subborrow_u64(x339, x327, 0x0, &_);
- { uint64_t x343 = cmovznz64(x342, x338, x325);
- { uint64_t x344 = cmovznz64(x342, x335, x322);
- { uint64_t x345 = cmovznz64(x342, x332, x319);
- { uint64_t x346 = cmovznz64(x342, x329, x316);
- out[0] = x346;
- out[1] = x345;
- out[2] = x344;
- out[3] = x343;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/femul.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/femul.v
deleted file mode 100644
index e449959b1..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.log
deleted file mode 100644
index 59bd5d082..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,122 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t _ = mulx_u64(x17, 0xd838091dd2253531L);
- uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xfffffffefffffc2fL);
- uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x53, uint64_t x54 = mulx_u64(x41, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = addcarryx_u64(0x0, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t x63 = addcarryx_u64(x60, x51, x53);
- uint64_t x65, uint8_t _ = addcarryx_u64(0x0, x63, x54);
- uint64_t _, uint8_t x69 = addcarryx_u64(0x0, x17, x44);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x29, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x32, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x35, x62);
- uint64_t x80, uint8_t x81 = addcarryx_u64(x78, x38, x65);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x11);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x13);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x15);
- uint64_t x92, uint64_t x93 = mulx_u64(x7, x14);
- uint64_t x95, uint8_t x96 = addcarryx_u64(0x0, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x90, x92);
- uint64_t x104, uint8_t _ = addcarryx_u64(0x0, x102, x93);
- uint64_t x107, uint8_t x108 = addcarryx_u64(0x0, x71, x83);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x80, x101);
- uint64_t x119, uint8_t x120 = addcarryx_u64(x117, x81, x104);
- uint64_t x122, uint64_t _ = mulx_u64(x107, 0xd838091dd2253531L);
- uint64_t x125, uint64_t x126 = mulx_u64(x122, 0xfffffffefffffc2fL);
- uint64_t x128, uint64_t x129 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x131, uint64_t x132 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x134, uint64_t x135 = mulx_u64(x122, 0xffffffffffffffffL);
- uint64_t x137, uint8_t x138 = addcarryx_u64(0x0, x126, x128);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x129, x131);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x132, x134);
- uint64_t x146, uint8_t _ = addcarryx_u64(0x0, x144, x135);
- uint64_t _, uint8_t x150 = addcarryx_u64(0x0, x107, x125);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x110, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x113, x140);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x116, x143);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x119, x146);
- uint8_t x163 = (x162 + x120);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x11);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x13);
- uint64_t x171, uint64_t x172 = mulx_u64(x9, x15);
- uint64_t x174, uint64_t x175 = mulx_u64(x9, x14);
- uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x166, x168);
- uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x169, x171);
- uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x172, x174);
- uint64_t x186, uint8_t _ = addcarryx_u64(0x0, x184, x175);
- uint64_t x189, uint8_t x190 = addcarryx_u64(0x0, x152, x165);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x158, x180);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x161, x183);
- uint64_t x201, uint8_t x202 = addcarryx_u64(x199, x163, x186);
- uint64_t x204, uint64_t _ = mulx_u64(x189, 0xd838091dd2253531L);
- uint64_t x207, uint64_t x208 = mulx_u64(x204, 0xfffffffefffffc2fL);
- uint64_t x210, uint64_t x211 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x213, uint64_t x214 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x216, uint64_t x217 = mulx_u64(x204, 0xffffffffffffffffL);
- uint64_t x219, uint8_t x220 = addcarryx_u64(0x0, x208, x210);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x211, x213);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x214, x216);
- uint64_t x228, uint8_t _ = addcarryx_u64(0x0, x226, x217);
- uint64_t _, uint8_t x232 = addcarryx_u64(0x0, x189, x207);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x192, x219);
- uint64_t x237, uint8_t x238 = addcarryx_u64(x235, x195, x222);
- uint64_t x240, uint8_t x241 = addcarryx_u64(x238, x198, x225);
- uint64_t x243, uint8_t x244 = addcarryx_u64(x241, x201, x228);
- uint8_t x245 = (x244 + x202);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x11);
- uint64_t x250, uint64_t x251 = mulx_u64(x8, x13);
- uint64_t x253, uint64_t x254 = mulx_u64(x8, x15);
- uint64_t x256, uint64_t x257 = mulx_u64(x8, x14);
- uint64_t x259, uint8_t x260 = addcarryx_u64(0x0, x248, x250);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x251, x253);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x254, x256);
- uint64_t x268, uint8_t _ = addcarryx_u64(0x0, x266, x257);
- uint64_t x271, uint8_t x272 = addcarryx_u64(0x0, x234, x247);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x237, x259);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x240, x262);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x243, x265);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x245, x268);
- uint64_t x286, uint64_t _ = mulx_u64(x271, 0xd838091dd2253531L);
- uint64_t x289, uint64_t x290 = mulx_u64(x286, 0xfffffffefffffc2fL);
- uint64_t x292, uint64_t x293 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x286, 0xffffffffffffffffL);
- uint64_t x301, uint8_t x302 = addcarryx_u64(0x0, x290, x292);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x293, x295);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x296, x298);
- uint64_t x310, uint8_t _ = addcarryx_u64(0x0, x308, x299);
- uint64_t _, uint8_t x314 = addcarryx_u64(0x0, x271, x289);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x274, x301);
- uint64_t x319, uint8_t x320 = addcarryx_u64(x317, x277, x304);
- uint64_t x322, uint8_t x323 = addcarryx_u64(x320, x280, x307);
- uint64_t x325, uint8_t x326 = addcarryx_u64(x323, x283, x310);
- uint8_t x327 = (x326 + x284);
- uint64_t x329, uint8_t x330 = subborrow_u64(0x0, x316, 0xfffffffefffffc2fL);
- uint64_t x332, uint8_t x333 = subborrow_u64(x330, x319, 0xffffffffffffffffL);
- uint64_t x335, uint8_t x336 = subborrow_u64(x333, x322, 0xffffffffffffffffL);
- uint64_t x338, uint8_t x339 = subborrow_u64(x336, x325, 0xffffffffffffffffL);
- uint64_t _, uint8_t x342 = subborrow_u64(x339, x327, 0x0);
- uint64_t x343 = cmovznz64(x342, x338, x325);
- uint64_t x344 = cmovznz64(x342, x335, x322);
- uint64_t x345 = cmovznz64(x342, x332, x319);
- uint64_t x346 = cmovznz64(x342, x329, x316);
- return (x343, x344, x345, x346))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.v
deleted file mode 100644
index ecbd96059..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.v
deleted file mode 100644
index f991f921b..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.v
deleted file mode 100644
index 95a803b86..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.c
deleted file mode 100644
index 6461080dc..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffefffffc2fL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xffffffffffffffffL);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.v
deleted file mode 100644
index 1b9ead4e0..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.log
deleted file mode 100644
index b89811d28..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffefffffc2fL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xffffffffffffffffL);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.v
deleted file mode 100644
index 0819567d5..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.c
deleted file mode 100644
index 7bb6ec2a2..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xfffffffefffffc2fL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xffffffffffffffffL);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.v
deleted file mode 100644
index 29dd21063..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.log
deleted file mode 100644
index fd2507333..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xfffffffefffffc2fL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xffffffffffffffffL);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.v
deleted file mode 100644
index 0dd519b2e..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m4294968273_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e256m4294968273_4limbs/py_interpreter.sh
deleted file mode 100755
index f44b49d86..000000000
--- a/src/Specific/montgomery64_2e256m4294968273_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 4294968273' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/CurveParameters.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/CurveParameters.v
deleted file mode 100644
index e0f31c209..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 88*2^240 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 64;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 1); (88, 2^240)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e256m88x2e240m1_4limbs/Synthesis.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/Synthesis.v
deleted file mode 100644
index 3840e91c2..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.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/montgomery64_2e256m88x2e240m1_4limbs/compiler.sh b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/compiler.sh
deleted file mode 100755
index ebb206363..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/compilerxx.sh b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/compilerxx.sh
deleted file mode 100755
index bb27ce1e1..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64}' -Dmodulus_array='{0xff,0xa7,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,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<256) - 88*(1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.c
deleted file mode 100644
index bc65ab093..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _addcarryx_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _addcarryx_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _addcarryx_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x24, x8, x14, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u64(0x0, x17, 0xffffffffffffffffL, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u64(x30, x20, 0xffffffffffffffffL, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u64(x33, x23, 0xffffffffffffffffL, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u64(x36, x26, 0xffa7ffffffffffffL, &x38);
- { uint64_t _; uint8_t x42 = _subborrow_u64(x39, x27, 0x0, &_);
- { uint64_t x43 = cmovznz64(x42, x38, x26);
- { uint64_t x44 = cmovznz64(x42, x35, x23);
- { uint64_t x45 = cmovznz64(x42, x32, x20);
- { uint64_t x46 = cmovznz64(x42, x29, x17);
- out[0] = x46;
- out[1] = x45;
- out[2] = x44;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.v
deleted file mode 100644
index 1e1ac45af..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.log b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.log
deleted file mode 100644
index 81d0d6f63..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = addcarryx_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = addcarryx_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x24, x8, x14);
- uint64_t x29, uint8_t x30 = subborrow_u64(0x0, x17, 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = subborrow_u64(x30, x20, 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = subborrow_u64(x33, x23, 0xffffffffffffffffL);
- uint64_t x38, uint8_t x39 = subborrow_u64(x36, x26, 0xffa7ffffffffffffL);
- uint64_t _, uint8_t x42 = subborrow_u64(x39, x27, 0x0);
- uint64_t x43 = cmovznz64(x42, x38, x26);
- uint64_t x44 = cmovznz64(x42, x35, x23);
- uint64_t x45 = cmovznz64(x42, x32, x20);
- uint64_t x46 = cmovznz64(x42, x29, x17);
- return (x43, x44, x45, x46))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.v
deleted file mode 100644
index 16a034685..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.c
deleted file mode 100644
index 82b06c926..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.c
+++ /dev/null
@@ -1,126 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x18; uint64_t x17 = _mulx_u64(x5, x11, &x18);
- { uint64_t x21; uint64_t x20 = _mulx_u64(x5, x13, &x21);
- { uint64_t x24; uint64_t x23 = _mulx_u64(x5, x15, &x24);
- { uint64_t x27; uint64_t x26 = _mulx_u64(x5, x14, &x27);
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x18, x20, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x21, x23, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x24, x26, &x35);
- { uint64_t x38; uint8_t _ = _addcarryx_u64(0x0, x36, x27, &x38);
- { uint64_t x42; uint64_t x41 = _mulx_u64(x17, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint64_t x44 = _mulx_u64(x17, 0xffffffffffffffffL, &x45);
- { uint64_t x48; uint64_t x47 = _mulx_u64(x17, 0xffffffffffffffffL, &x48);
- { uint64_t x51; uint64_t x50 = _mulx_u64(x17, 0xffa7ffffffffffffL, &x51);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(0x0, x42, x44, &x53);
- { uint64_t x56; uint8_t x57 = _addcarryx_u64(x54, x45, x47, &x56);
- { uint64_t x59; uint8_t x60 = _addcarryx_u64(x57, x48, x50, &x59);
- { uint64_t x62; uint8_t _ = _addcarryx_u64(0x0, x60, x51, &x62);
- { uint64_t _; uint8_t x66 = _addcarryx_u64(0x0, x17, x41, &_);
- { uint64_t x68; uint8_t x69 = _addcarryx_u64(x66, x29, x53, &x68);
- { uint64_t x71; uint8_t x72 = _addcarryx_u64(x69, x32, x56, &x71);
- { uint64_t x74; uint8_t x75 = _addcarryx_u64(x72, x35, x59, &x74);
- { uint64_t x77; uint8_t x78 = _addcarryx_u64(x75, x38, x62, &x77);
- { uint64_t x81; uint64_t x80 = _mulx_u64(x7, x11, &x81);
- { uint64_t x84; uint64_t x83 = _mulx_u64(x7, x13, &x84);
- { uint64_t x87; uint64_t x86 = _mulx_u64(x7, x15, &x87);
- { uint64_t x90; uint64_t x89 = _mulx_u64(x7, x14, &x90);
- { uint64_t x92; uint8_t x93 = _addcarryx_u64(0x0, x81, x83, &x92);
- { uint64_t x95; uint8_t x96 = _addcarryx_u64(x93, x84, x86, &x95);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x87, x89, &x98);
- { uint64_t x101; uint8_t _ = _addcarryx_u64(0x0, x99, x90, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(0x0, x68, x80, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x71, x92, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x74, x95, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x77, x98, &x113);
- { uint64_t x116; uint8_t x117 = _addcarryx_u64(x114, x78, x101, &x116);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x104, 0xffffffffffffffffL, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x104, 0xffffffffffffffffL, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x104, 0xffffffffffffffffL, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x104, 0xffa7ffffffffffffL, &x129);
- { uint64_t x131; uint8_t x132 = _addcarryx_u64(0x0, x120, x122, &x131);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(x132, x123, x125, &x134);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(x135, x126, x128, &x137);
- { uint64_t x140; uint8_t _ = _addcarryx_u64(0x0, x138, x129, &x140);
- { uint64_t _; uint8_t x144 = _addcarryx_u64(0x0, x104, x119, &_);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x107, x131, &x146);
- { uint64_t x149; uint8_t x150 = _addcarryx_u64(x147, x110, x134, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(x150, x113, x137, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x116, x140, &x155);
- { uint8_t x157 = (x156 + x117);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x9, x11, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x9, x13, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x9, x15, &x166);
- { uint64_t x169; uint64_t x168 = _mulx_u64(x9, x14, &x169);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(0x0, x160, x162, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x163, x165, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x166, x168, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x169, &x180);
- { uint64_t x183; uint8_t x184 = _addcarryx_u64(0x0, x146, x159, &x183);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x149, x171, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x152, x174, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x155, x177, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x157, x180, &x195);
- { uint64_t x199; uint64_t x198 = _mulx_u64(x183, 0xffffffffffffffffL, &x199);
- { uint64_t x202; uint64_t x201 = _mulx_u64(x183, 0xffffffffffffffffL, &x202);
- { uint64_t x205; uint64_t x204 = _mulx_u64(x183, 0xffffffffffffffffL, &x205);
- { uint64_t x208; uint64_t x207 = _mulx_u64(x183, 0xffa7ffffffffffffL, &x208);
- { uint64_t x210; uint8_t x211 = _addcarryx_u64(0x0, x199, x201, &x210);
- { uint64_t x213; uint8_t x214 = _addcarryx_u64(x211, x202, x204, &x213);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x205, x207, &x216);
- { uint64_t x219; uint8_t _ = _addcarryx_u64(0x0, x217, x208, &x219);
- { uint64_t _; uint8_t x223 = _addcarryx_u64(0x0, x183, x198, &_);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x186, x210, &x225);
- { uint64_t x228; uint8_t x229 = _addcarryx_u64(x226, x189, x213, &x228);
- { uint64_t x231; uint8_t x232 = _addcarryx_u64(x229, x192, x216, &x231);
- { uint64_t x234; uint8_t x235 = _addcarryx_u64(x232, x195, x219, &x234);
- { uint8_t x236 = (x235 + x196);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x8, x11, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x8, x13, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x8, x15, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x8, x14, &x248);
- { uint64_t x250; uint8_t x251 = _addcarryx_u64(0x0, x239, x241, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(x251, x242, x244, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x245, x247, &x256);
- { uint64_t x259; uint8_t _ = _addcarryx_u64(0x0, x257, x248, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(0x0, x225, x238, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x228, x250, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x231, x253, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x234, x256, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x236, x259, &x274);
- { uint64_t x278; uint64_t x277 = _mulx_u64(x262, 0xffffffffffffffffL, &x278);
- { uint64_t x281; uint64_t x280 = _mulx_u64(x262, 0xffffffffffffffffL, &x281);
- { uint64_t x284; uint64_t x283 = _mulx_u64(x262, 0xffffffffffffffffL, &x284);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x262, 0xffa7ffffffffffffL, &x287);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(0x0, x278, x280, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x281, x283, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x284, x286, &x295);
- { uint64_t x298; uint8_t _ = _addcarryx_u64(0x0, x296, x287, &x298);
- { uint64_t _; uint8_t x302 = _addcarryx_u64(0x0, x262, x277, &_);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x265, x289, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x268, x292, &x307);
- { uint64_t x310; uint8_t x311 = _addcarryx_u64(x308, x271, x295, &x310);
- { uint64_t x313; uint8_t x314 = _addcarryx_u64(x311, x274, x298, &x313);
- { uint8_t x315 = (x314 + x275);
- { uint64_t x317; uint8_t x318 = _subborrow_u64(0x0, x304, 0xffffffffffffffffL, &x317);
- { uint64_t x320; uint8_t x321 = _subborrow_u64(x318, x307, 0xffffffffffffffffL, &x320);
- { uint64_t x323; uint8_t x324 = _subborrow_u64(x321, x310, 0xffffffffffffffffL, &x323);
- { uint64_t x326; uint8_t x327 = _subborrow_u64(x324, x313, 0xffa7ffffffffffffL, &x326);
- { uint64_t _; uint8_t x330 = _subborrow_u64(x327, x315, 0x0, &_);
- { uint64_t x331 = cmovznz64(x330, x326, x313);
- { uint64_t x332 = cmovznz64(x330, x323, x310);
- { uint64_t x333 = cmovznz64(x330, x320, x307);
- { uint64_t x334 = cmovznz64(x330, x317, x304);
- out[0] = x334;
- out[1] = x333;
- out[2] = x332;
- out[3] = x331;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.v
deleted file mode 100644
index cf302e69e..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.log b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.log
deleted file mode 100644
index aff28190a..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,118 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
- uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
- uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
- uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
- uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
- uint64_t x41, uint64_t x42 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x44, uint64_t x45 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x47, uint64_t x48 = mulx_u64(x17, 0xffffffffffffffffL);
- uint64_t x50, uint64_t x51 = mulx_u64(x17, 0xffa7ffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(0x0, x42, x44);
- uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x45, x47);
- uint64_t x59, uint8_t x60 = addcarryx_u64(x57, x48, x50);
- uint64_t x62, uint8_t _ = addcarryx_u64(0x0, x60, x51);
- uint64_t _, uint8_t x66 = addcarryx_u64(0x0, x17, x41);
- uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x29, x53);
- uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x32, x56);
- uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x35, x59);
- uint64_t x77, uint8_t x78 = addcarryx_u64(x75, x38, x62);
- uint64_t x80, uint64_t x81 = mulx_u64(x7, x11);
- uint64_t x83, uint64_t x84 = mulx_u64(x7, x13);
- uint64_t x86, uint64_t x87 = mulx_u64(x7, x15);
- uint64_t x89, uint64_t x90 = mulx_u64(x7, x14);
- uint64_t x92, uint8_t x93 = addcarryx_u64(0x0, x81, x83);
- uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x87, x89);
- uint64_t x101, uint8_t _ = addcarryx_u64(0x0, x99, x90);
- uint64_t x104, uint8_t x105 = addcarryx_u64(0x0, x68, x80);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x77, x98);
- uint64_t x116, uint8_t x117 = addcarryx_u64(x114, x78, x101);
- uint64_t x119, uint64_t x120 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x122, uint64_t x123 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x125, uint64_t x126 = mulx_u64(x104, 0xffffffffffffffffL);
- uint64_t x128, uint64_t x129 = mulx_u64(x104, 0xffa7ffffffffffffL);
- uint64_t x131, uint8_t x132 = addcarryx_u64(0x0, x120, x122);
- uint64_t x134, uint8_t x135 = addcarryx_u64(x132, x123, x125);
- uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x126, x128);
- uint64_t x140, uint8_t _ = addcarryx_u64(0x0, x138, x129);
- uint64_t _, uint8_t x144 = addcarryx_u64(0x0, x104, x119);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x107, x131);
- uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x110, x134);
- uint64_t x152, uint8_t x153 = addcarryx_u64(x150, x113, x137);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x116, x140);
- uint8_t x157 = (x156 + x117);
- uint64_t x159, uint64_t x160 = mulx_u64(x9, x11);
- uint64_t x162, uint64_t x163 = mulx_u64(x9, x13);
- uint64_t x165, uint64_t x166 = mulx_u64(x9, x15);
- uint64_t x168, uint64_t x169 = mulx_u64(x9, x14);
- uint64_t x171, uint8_t x172 = addcarryx_u64(0x0, x160, x162);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x163, x165);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x166, x168);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x169);
- uint64_t x183, uint8_t x184 = addcarryx_u64(0x0, x146, x159);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x152, x174);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x155, x177);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x157, x180);
- uint64_t x198, uint64_t x199 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x201, uint64_t x202 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x204, uint64_t x205 = mulx_u64(x183, 0xffffffffffffffffL);
- uint64_t x207, uint64_t x208 = mulx_u64(x183, 0xffa7ffffffffffffL);
- uint64_t x210, uint8_t x211 = addcarryx_u64(0x0, x199, x201);
- uint64_t x213, uint8_t x214 = addcarryx_u64(x211, x202, x204);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x205, x207);
- uint64_t x219, uint8_t _ = addcarryx_u64(0x0, x217, x208);
- uint64_t _, uint8_t x223 = addcarryx_u64(0x0, x183, x198);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x186, x210);
- uint64_t x228, uint8_t x229 = addcarryx_u64(x226, x189, x213);
- uint64_t x231, uint8_t x232 = addcarryx_u64(x229, x192, x216);
- uint64_t x234, uint8_t x235 = addcarryx_u64(x232, x195, x219);
- uint8_t x236 = (x235 + x196);
- uint64_t x238, uint64_t x239 = mulx_u64(x8, x11);
- uint64_t x241, uint64_t x242 = mulx_u64(x8, x13);
- uint64_t x244, uint64_t x245 = mulx_u64(x8, x15);
- uint64_t x247, uint64_t x248 = mulx_u64(x8, x14);
- uint64_t x250, uint8_t x251 = addcarryx_u64(0x0, x239, x241);
- uint64_t x253, uint8_t x254 = addcarryx_u64(x251, x242, x244);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x245, x247);
- uint64_t x259, uint8_t _ = addcarryx_u64(0x0, x257, x248);
- uint64_t x262, uint8_t x263 = addcarryx_u64(0x0, x225, x238);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x228, x250);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x231, x253);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x234, x256);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x236, x259);
- uint64_t x277, uint64_t x278 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x280, uint64_t x281 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x283, uint64_t x284 = mulx_u64(x262, 0xffffffffffffffffL);
- uint64_t x286, uint64_t x287 = mulx_u64(x262, 0xffa7ffffffffffffL);
- uint64_t x289, uint8_t x290 = addcarryx_u64(0x0, x278, x280);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x281, x283);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x284, x286);
- uint64_t x298, uint8_t _ = addcarryx_u64(0x0, x296, x287);
- uint64_t _, uint8_t x302 = addcarryx_u64(0x0, x262, x277);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x265, x289);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x268, x292);
- uint64_t x310, uint8_t x311 = addcarryx_u64(x308, x271, x295);
- uint64_t x313, uint8_t x314 = addcarryx_u64(x311, x274, x298);
- uint8_t x315 = (x314 + x275);
- uint64_t x317, uint8_t x318 = subborrow_u64(0x0, x304, 0xffffffffffffffffL);
- uint64_t x320, uint8_t x321 = subborrow_u64(x318, x307, 0xffffffffffffffffL);
- uint64_t x323, uint8_t x324 = subborrow_u64(x321, x310, 0xffffffffffffffffL);
- uint64_t x326, uint8_t x327 = subborrow_u64(x324, x313, 0xffa7ffffffffffffL);
- uint64_t _, uint8_t x330 = subborrow_u64(x327, x315, 0x0);
- uint64_t x331 = cmovznz64(x330, x326, x313);
- uint64_t x332 = cmovznz64(x330, x323, x310);
- uint64_t x333 = cmovznz64(x330, x320, x307);
- uint64_t x334 = cmovznz64(x330, x317, x304);
- return (x331, x332, x333, x334))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.v
deleted file mode 100644
index 593735c7f..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.c
deleted file mode 100644
index 7541094ff..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.c
+++ /dev/null
@@ -1,11 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x7 = (x6 | x5);
- { uint64_t x8 = (x4 | x7);
- { uint64_t x9 = (x2 | x8);
- out[0] = x9;
- }}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.v
deleted file mode 100644
index 2840c9231..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.log b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.log
deleted file mode 100644
index 65afbc2d6..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.log
+++ /dev/null
@@ -1,10 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x7 = (x6 | x5);
- uint64_t x8 = (x4 | x7);
- uint64_t x9 = (x2 | x8);
- return x9)
-x
- : word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.v
deleted file mode 100644
index c2c51eea6..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.c
deleted file mode 100644
index 80cc7ff84..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feopp(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8; uint8_t x9 = _subborrow_u64(0x0, 0x0, x2, &x8);
- { uint64_t x11; uint8_t x12 = _subborrow_u64(x9, 0x0, x4, &x11);
- { uint64_t x14; uint8_t x15 = _subborrow_u64(x12, 0x0, x6, &x14);
- { uint64_t x17; uint8_t x18 = _subborrow_u64(x15, 0x0, x5, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffffffL);
- { uint64_t x22; uint8_t x23 = _addcarryx_u64(0x0, x8, x20, &x22);
- { uint64_t x24 = (x19 & 0xffffffffffffffffL);
- { uint64_t x26; uint8_t x27 = _addcarryx_u64(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xffffffffffffffffL);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x27, x14, x28, &x30);
- { uint64_t x32 = (x19 & 0xffa7ffffffffffffL);
- { uint64_t x34; uint8_t _ = _addcarryx_u64(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.v
deleted file mode 100644
index fbbae9059..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.log b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.log
deleted file mode 100644
index 216af93d4..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x11, uint8_t x12 = subborrow_u64(x9, 0x0, x4);
- uint64_t x14, uint8_t x15 = subborrow_u64(x12, 0x0, x6);
- uint64_t x17, uint8_t x18 = subborrow_u64(x15, 0x0, x5);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffffffL);
- uint64_t x22, uint8_t x23 = addcarryx_u64(0x0, x8, x20);
- uint64_t x24 = (x19 & 0xffffffffffffffffL);
- uint64_t x26, uint8_t x27 = addcarryx_u64(x23, x11, x24);
- uint64_t x28 = (x19 & 0xffffffffffffffffL);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x27, x14, x28);
- uint64_t x32 = (x19 & 0xffa7ffffffffffffL);
- uint64_t x34, uint8_t _ = addcarryx_u64(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.v
deleted file mode 100644
index 37e5a9e1b..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.c
deleted file mode 100644
index 974f1cf0d..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint64_t x17; uint8_t x18 = _subborrow_u64(0x0, x5, x11, &x17);
- { uint64_t x20; uint8_t x21 = _subborrow_u64(x18, x7, x13, &x20);
- { uint64_t x23; uint8_t x24 = _subborrow_u64(x21, x9, x15, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u64(x24, x8, x14, &x26);
- { uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- { uint64_t x29 = (x28 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(0x0, x17, x29, &x31);
- { uint64_t x33 = (x28 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x20, x33, &x35);
- { uint64_t x37 = (x28 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x23, x37, &x39);
- { uint64_t x41 = (x28 & 0xffa7ffffffffffffL);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x26, x41, &x43);
- out[0] = x31;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.v
deleted file mode 100644
index dc65cf5d1..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.log b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.log
deleted file mode 100644
index bf22dbebe..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint64_t x17, uint8_t x18 = subborrow_u64(0x0, x5, x11);
- uint64_t x20, uint8_t x21 = subborrow_u64(x18, x7, x13);
- uint64_t x23, uint8_t x24 = subborrow_u64(x21, x9, x15);
- uint64_t x26, uint8_t x27 = subborrow_u64(x24, x8, x14);
- uint64_t x28 = cmovznz64(x27, 0x0, 0xffffffffffffffffL);
- uint64_t x29 = (x28 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(0x0, x17, x29);
- uint64_t x33 = (x28 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x20, x33);
- uint64_t x37 = (x28 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x23, x37);
- uint64_t x41 = (x28 & 0xffa7ffffffffffffL);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x26, x41);
- (Return x43, Return x39, Return x35, Return x31))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.v b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.v
deleted file mode 100644
index b3b8fa34f..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e256m88x2e240m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/py_interpreter.sh b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 4df5aee31..000000000
--- a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 88*2**240 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/CurveParameters.v b/src/Specific/montgomery64_2e266m3_5limbs/CurveParameters.v
deleted file mode 100644
index fb791dd86..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^266 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 64;
- bitwidth := 64;
- s := 2^266;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e266m3_5limbs/Synthesis.v b/src/Specific/montgomery64_2e266m3_5limbs/Synthesis.v
deleted file mode 100644
index 9e57e20b5..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.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/montgomery64_2e266m3_5limbs/compiler.sh b/src/Specific/montgomery64_2e266m3_5limbs/compiler.sh
deleted file mode 100755
index eca6a5a8c..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/compilerxx.sh b/src/Specific/montgomery64_2e266m3_5limbs/compilerxx.sh
deleted file mode 100755
index 376c8d1d2..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feadd.c b/src/Specific/montgomery64_2e266m3_5limbs/feadd.c
deleted file mode 100644
index 74e984d17..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(0x0, x5, x13, &x21);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(x22, x7, x15, &x24);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(x25, x9, x17, &x27);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x28, x11, x19, &x30);
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(x31, x10, x18, &x33);
- { uint64_t x36; uint8_t x37 = _subborrow_u64(0x0, x21, 0xfffffffffffffffdL, &x36);
- { uint64_t x39; uint8_t x40 = _subborrow_u64(x37, x24, 0xffffffffffffffffL, &x39);
- { uint64_t x42; uint8_t x43 = _subborrow_u64(x40, x27, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint8_t x46 = _subborrow_u64(x43, x30, 0xffffffffffffffffL, &x45);
- { uint64_t x48; uint8_t x49 = _subborrow_u64(x46, x33, 0x3ff, &x48);
- { uint64_t _; uint8_t x52 = _subborrow_u64(x49, x34, 0x0, &_);
- { uint64_t x53 = cmovznz64(x52, x48, x33);
- { uint64_t x54 = cmovznz64(x52, x45, x30);
- { uint64_t x55 = cmovznz64(x52, x42, x27);
- { uint64_t x56 = cmovznz64(x52, x39, x24);
- { uint64_t x57 = cmovznz64(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feadd.v b/src/Specific/montgomery64_2e266m3_5limbs/feadd.v
deleted file mode 100644
index efe84e292..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.log b/src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.log
deleted file mode 100644
index 5a46897ef..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint8_t x22 = addcarryx_u64(0x0, x5, x13);
- uint64_t x24, uint8_t x25 = addcarryx_u64(x22, x7, x15);
- uint64_t x27, uint8_t x28 = addcarryx_u64(x25, x9, x17);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x28, x11, x19);
- uint64_t x33, uint8_t x34 = addcarryx_u64(x31, x10, x18);
- uint64_t x36, uint8_t x37 = subborrow_u64(0x0, x21, 0xfffffffffffffffdL);
- uint64_t x39, uint8_t x40 = subborrow_u64(x37, x24, 0xffffffffffffffffL);
- uint64_t x42, uint8_t x43 = subborrow_u64(x40, x27, 0xffffffffffffffffL);
- uint64_t x45, uint8_t x46 = subborrow_u64(x43, x30, 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = subborrow_u64(x46, x33, 0x3ff);
- uint64_t _, uint8_t x52 = subborrow_u64(x49, x34, 0x0);
- uint64_t x53 = cmovznz64(x52, x48, x33);
- uint64_t x54 = cmovznz64(x52, x45, x30);
- uint64_t x55 = cmovznz64(x52, x42, x27);
- uint64_t x56 = cmovznz64(x52, x39, x24);
- uint64_t x57 = cmovznz64(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.v b/src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.v
deleted file mode 100644
index 0709cf6d0..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/femul.c b/src/Specific/montgomery64_2e266m3_5limbs/femul.c
deleted file mode 100644
index fb45d44d2..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x22; uint64_t x21 = _mulx_u64(x5, x13, &x22);
- { uint64_t x25; uint64_t x24 = _mulx_u64(x5, x15, &x25);
- { uint64_t x28; uint64_t x27 = _mulx_u64(x5, x17, &x28);
- { uint64_t x31; uint64_t x30 = _mulx_u64(x5, x19, &x31);
- { uint64_t x34; uint64_t x33 = _mulx_u64(x5, x18, &x34);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(0x0, x22, x24, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x25, x27, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x28, x30, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x31, x33, &x45);
- { uint64_t x48; uint8_t _ = _addcarryx_u64(0x0, x46, x34, &x48);
- { uint64_t _; uint64_t x51 = _mulx_u64(x21, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x55; uint64_t x54 = _mulx_u64(x51, 0xfffffffffffffffdL, &x55);
- { uint64_t x58; uint64_t x57 = _mulx_u64(x51, 0xffffffffffffffffL, &x58);
- { uint64_t x61; uint64_t x60 = _mulx_u64(x51, 0xffffffffffffffffL, &x61);
- { uint64_t x64; uint64_t x63 = _mulx_u64(x51, 0xffffffffffffffffL, &x64);
- { uint64_t x67; uint64_t x66 = _mulx_u64(x51, 0x3ff, &x67);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(0x0, x55, x57, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x58, x60, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x61, x63, &x75);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x64, x66, &x78);
- { uint64_t x81; uint8_t _ = _addcarryx_u64(0x0, x79, x67, &x81);
- { uint64_t _; uint8_t x85 = _addcarryx_u64(0x0, x21, x54, &_);
- { uint64_t x87; uint8_t x88 = _addcarryx_u64(x85, x36, x69, &x87);
- { uint64_t x90; uint8_t x91 = _addcarryx_u64(x88, x39, x72, &x90);
- { uint64_t x93; uint8_t x94 = _addcarryx_u64(x91, x42, x75, &x93);
- { uint64_t x96; uint8_t x97 = _addcarryx_u64(x94, x45, x78, &x96);
- { uint64_t x99; uint8_t x100 = _addcarryx_u64(x97, x48, x81, &x99);
- { uint64_t x103; uint64_t x102 = _mulx_u64(x7, x13, &x103);
- { uint64_t x106; uint64_t x105 = _mulx_u64(x7, x15, &x106);
- { uint64_t x109; uint64_t x108 = _mulx_u64(x7, x17, &x109);
- { uint64_t x112; uint64_t x111 = _mulx_u64(x7, x19, &x112);
- { uint64_t x115; uint64_t x114 = _mulx_u64(x7, x18, &x115);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(0x0, x103, x105, &x117);
- { uint64_t x120; uint8_t x121 = _addcarryx_u64(x118, x106, x108, &x120);
- { uint64_t x123; uint8_t x124 = _addcarryx_u64(x121, x109, x111, &x123);
- { uint64_t x126; uint8_t x127 = _addcarryx_u64(x124, x112, x114, &x126);
- { uint64_t x129; uint8_t _ = _addcarryx_u64(0x0, x127, x115, &x129);
- { uint64_t x132; uint8_t x133 = _addcarryx_u64(0x0, x87, x102, &x132);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(x133, x90, x117, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x93, x120, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x96, x123, &x141);
- { uint64_t x144; uint8_t x145 = _addcarryx_u64(x142, x99, x126, &x144);
- { uint64_t x147; uint8_t x148 = _addcarryx_u64(x145, x100, x129, &x147);
- { uint64_t _; uint64_t x150 = _mulx_u64(x132, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x154; uint64_t x153 = _mulx_u64(x150, 0xfffffffffffffffdL, &x154);
- { uint64_t x157; uint64_t x156 = _mulx_u64(x150, 0xffffffffffffffffL, &x157);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x150, 0xffffffffffffffffL, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x150, 0xffffffffffffffffL, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x150, 0x3ff, &x166);
- { uint64_t x168; uint8_t x169 = _addcarryx_u64(0x0, x154, x156, &x168);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(x169, x157, x159, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x160, x162, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x163, x165, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x166, &x180);
- { uint64_t _; uint8_t x184 = _addcarryx_u64(0x0, x132, x153, &_);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x135, x168, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x138, x171, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x141, x174, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x144, x177, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint64_t x203; uint64_t x202 = _mulx_u64(x9, x13, &x203);
- { uint64_t x206; uint64_t x205 = _mulx_u64(x9, x15, &x206);
- { uint64_t x209; uint64_t x208 = _mulx_u64(x9, x17, &x209);
- { uint64_t x212; uint64_t x211 = _mulx_u64(x9, x19, &x212);
- { uint64_t x215; uint64_t x214 = _mulx_u64(x9, x18, &x215);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(0x0, x203, x205, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x206, x208, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x209, x211, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x212, x214, &x226);
- { uint64_t x229; uint8_t _ = _addcarryx_u64(0x0, x227, x215, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(0x0, x186, x202, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x189, x217, &x235);
- { uint64_t x238; uint8_t x239 = _addcarryx_u64(x236, x192, x220, &x238);
- { uint64_t x241; uint8_t x242 = _addcarryx_u64(x239, x195, x223, &x241);
- { uint64_t x244; uint8_t x245 = _addcarryx_u64(x242, x198, x226, &x244);
- { uint64_t x247; uint8_t x248 = _addcarryx_u64(x245, x200, x229, &x247);
- { uint64_t _; uint64_t x250 = _mulx_u64(x232, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x250, 0xfffffffffffffffdL, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x250, 0xffffffffffffffffL, &x257);
- { uint64_t x260; uint64_t x259 = _mulx_u64(x250, 0xffffffffffffffffL, &x260);
- { uint64_t x263; uint64_t x262 = _mulx_u64(x250, 0xffffffffffffffffL, &x263);
- { uint64_t x266; uint64_t x265 = _mulx_u64(x250, 0x3ff, &x266);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(0x0, x254, x256, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x257, x259, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x260, x262, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x263, x265, &x277);
- { uint64_t x280; uint8_t _ = _addcarryx_u64(0x0, x278, x266, &x280);
- { uint64_t _; uint8_t x284 = _addcarryx_u64(0x0, x232, x253, &_);
- { uint64_t x286; uint8_t x287 = _addcarryx_u64(x284, x235, x268, &x286);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(x287, x238, x271, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x241, x274, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x244, x277, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x11, x13, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x11, x15, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x11, x17, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x11, x19, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x11, x18, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x303, x305, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x306, x308, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x309, x311, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x312, x314, &x326);
- { uint64_t x329; uint8_t _ = _addcarryx_u64(0x0, x327, x315, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(0x0, x286, x302, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x289, x317, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x292, x320, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x295, x323, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x298, x326, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x300, x329, &x347);
- { uint64_t _; uint64_t x350 = _mulx_u64(x332, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x354; uint64_t x353 = _mulx_u64(x350, 0xfffffffffffffffdL, &x354);
- { uint64_t x357; uint64_t x356 = _mulx_u64(x350, 0xffffffffffffffffL, &x357);
- { uint64_t x360; uint64_t x359 = _mulx_u64(x350, 0xffffffffffffffffL, &x360);
- { uint64_t x363; uint64_t x362 = _mulx_u64(x350, 0xffffffffffffffffL, &x363);
- { uint64_t x366; uint64_t x365 = _mulx_u64(x350, 0x3ff, &x366);
- { uint64_t x368; uint8_t x369 = _addcarryx_u64(0x0, x354, x356, &x368);
- { uint64_t x371; uint8_t x372 = _addcarryx_u64(x369, x357, x359, &x371);
- { uint64_t x374; uint8_t x375 = _addcarryx_u64(x372, x360, x362, &x374);
- { uint64_t x377; uint8_t x378 = _addcarryx_u64(x375, x363, x365, &x377);
- { uint64_t x380; uint8_t _ = _addcarryx_u64(0x0, x378, x366, &x380);
- { uint64_t _; uint8_t x384 = _addcarryx_u64(0x0, x332, x353, &_);
- { uint64_t x386; uint8_t x387 = _addcarryx_u64(x384, x335, x368, &x386);
- { uint64_t x389; uint8_t x390 = _addcarryx_u64(x387, x338, x371, &x389);
- { uint64_t x392; uint8_t x393 = _addcarryx_u64(x390, x341, x374, &x392);
- { uint64_t x395; uint8_t x396 = _addcarryx_u64(x393, x344, x377, &x395);
- { uint64_t x398; uint8_t x399 = _addcarryx_u64(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint64_t x403; uint64_t x402 = _mulx_u64(x10, x13, &x403);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x10, x15, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x10, x17, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x10, x19, &x412);
- { uint64_t x415; uint64_t x414 = _mulx_u64(x10, x18, &x415);
- { uint64_t x417; uint8_t x418 = _addcarryx_u64(0x0, x403, x405, &x417);
- { uint64_t x420; uint8_t x421 = _addcarryx_u64(x418, x406, x408, &x420);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(x421, x409, x411, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x412, x414, &x426);
- { uint64_t x429; uint8_t _ = _addcarryx_u64(0x0, x427, x415, &x429);
- { uint64_t x432; uint8_t x433 = _addcarryx_u64(0x0, x386, x402, &x432);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(x433, x389, x417, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x392, x420, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x395, x423, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x398, x426, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x400, x429, &x447);
- { uint64_t _; uint64_t x450 = _mulx_u64(x432, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x454; uint64_t x453 = _mulx_u64(x450, 0xfffffffffffffffdL, &x454);
- { uint64_t x457; uint64_t x456 = _mulx_u64(x450, 0xffffffffffffffffL, &x457);
- { uint64_t x460; uint64_t x459 = _mulx_u64(x450, 0xffffffffffffffffL, &x460);
- { uint64_t x463; uint64_t x462 = _mulx_u64(x450, 0xffffffffffffffffL, &x463);
- { uint64_t x466; uint64_t x465 = _mulx_u64(x450, 0x3ff, &x466);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(0x0, x454, x456, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x457, x459, &x471);
- { uint64_t x474; uint8_t x475 = _addcarryx_u64(x472, x460, x462, &x474);
- { uint64_t x477; uint8_t x478 = _addcarryx_u64(x475, x463, x465, &x477);
- { uint64_t x480; uint8_t _ = _addcarryx_u64(0x0, x478, x466, &x480);
- { uint64_t _; uint8_t x484 = _addcarryx_u64(0x0, x432, x453, &_);
- { uint64_t x486; uint8_t x487 = _addcarryx_u64(x484, x435, x468, &x486);
- { uint64_t x489; uint8_t x490 = _addcarryx_u64(x487, x438, x471, &x489);
- { uint64_t x492; uint8_t x493 = _addcarryx_u64(x490, x441, x474, &x492);
- { uint64_t x495; uint8_t x496 = _addcarryx_u64(x493, x444, x477, &x495);
- { uint64_t x498; uint8_t x499 = _addcarryx_u64(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint64_t x502; uint8_t x503 = _subborrow_u64(0x0, x486, 0xfffffffffffffffdL, &x502);
- { uint64_t x505; uint8_t x506 = _subborrow_u64(x503, x489, 0xffffffffffffffffL, &x505);
- { uint64_t x508; uint8_t x509 = _subborrow_u64(x506, x492, 0xffffffffffffffffL, &x508);
- { uint64_t x511; uint8_t x512 = _subborrow_u64(x509, x495, 0xffffffffffffffffL, &x511);
- { uint64_t x514; uint8_t x515 = _subborrow_u64(x512, x498, 0x3ff, &x514);
- { uint64_t _; uint8_t x518 = _subborrow_u64(x515, x500, 0x0, &_);
- { uint64_t x519 = cmovznz64(x518, x514, x498);
- { uint64_t x520 = cmovznz64(x518, x511, x495);
- { uint64_t x521 = cmovznz64(x518, x508, x492);
- { uint64_t x522 = cmovznz64(x518, x505, x489);
- { uint64_t x523 = cmovznz64(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/femul.v b/src/Specific/montgomery64_2e266m3_5limbs/femul.v
deleted file mode 100644
index 1975c3afc..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.log b/src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.log
deleted file mode 100644
index d80a655d8..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint64_t x22 = mulx_u64(x5, x13);
- uint64_t x24, uint64_t x25 = mulx_u64(x5, x15);
- uint64_t x27, uint64_t x28 = mulx_u64(x5, x17);
- uint64_t x30, uint64_t x31 = mulx_u64(x5, x19);
- uint64_t x33, uint64_t x34 = mulx_u64(x5, x18);
- uint64_t x36, uint8_t x37 = addcarryx_u64(0x0, x22, x24);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x25, x27);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x28, x30);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x31, x33);
- uint64_t x48, uint8_t _ = addcarryx_u64(0x0, x46, x34);
- uint64_t x51, uint64_t _ = mulx_u64(x21, 0xaaaaaaaaaaaaaaabL);
- uint64_t x54, uint64_t x55 = mulx_u64(x51, 0xfffffffffffffffdL);
- uint64_t x57, uint64_t x58 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x60, uint64_t x61 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x63, uint64_t x64 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x66, uint64_t x67 = mulx_u64(x51, 0x3ff);
- uint64_t x69, uint8_t x70 = addcarryx_u64(0x0, x55, x57);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x58, x60);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x61, x63);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x64, x66);
- uint64_t x81, uint8_t _ = addcarryx_u64(0x0, x79, x67);
- uint64_t _, uint8_t x85 = addcarryx_u64(0x0, x21, x54);
- uint64_t x87, uint8_t x88 = addcarryx_u64(x85, x36, x69);
- uint64_t x90, uint8_t x91 = addcarryx_u64(x88, x39, x72);
- uint64_t x93, uint8_t x94 = addcarryx_u64(x91, x42, x75);
- uint64_t x96, uint8_t x97 = addcarryx_u64(x94, x45, x78);
- uint64_t x99, uint8_t x100 = addcarryx_u64(x97, x48, x81);
- uint64_t x102, uint64_t x103 = mulx_u64(x7, x13);
- uint64_t x105, uint64_t x106 = mulx_u64(x7, x15);
- uint64_t x108, uint64_t x109 = mulx_u64(x7, x17);
- uint64_t x111, uint64_t x112 = mulx_u64(x7, x19);
- uint64_t x114, uint64_t x115 = mulx_u64(x7, x18);
- uint64_t x117, uint8_t x118 = addcarryx_u64(0x0, x103, x105);
- uint64_t x120, uint8_t x121 = addcarryx_u64(x118, x106, x108);
- uint64_t x123, uint8_t x124 = addcarryx_u64(x121, x109, x111);
- uint64_t x126, uint8_t x127 = addcarryx_u64(x124, x112, x114);
- uint64_t x129, uint8_t _ = addcarryx_u64(0x0, x127, x115);
- uint64_t x132, uint8_t x133 = addcarryx_u64(0x0, x87, x102);
- uint64_t x135, uint8_t x136 = addcarryx_u64(x133, x90, x117);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x93, x120);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x96, x123);
- uint64_t x144, uint8_t x145 = addcarryx_u64(x142, x99, x126);
- uint64_t x147, uint8_t x148 = addcarryx_u64(x145, x100, x129);
- uint64_t x150, uint64_t _ = mulx_u64(x132, 0xaaaaaaaaaaaaaaabL);
- uint64_t x153, uint64_t x154 = mulx_u64(x150, 0xfffffffffffffffdL);
- uint64_t x156, uint64_t x157 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x159, uint64_t x160 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x162, uint64_t x163 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x165, uint64_t x166 = mulx_u64(x150, 0x3ff);
- uint64_t x168, uint8_t x169 = addcarryx_u64(0x0, x154, x156);
- uint64_t x171, uint8_t x172 = addcarryx_u64(x169, x157, x159);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x160, x162);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x163, x165);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x166);
- uint64_t _, uint8_t x184 = addcarryx_u64(0x0, x132, x153);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x135, x168);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x138, x171);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x141, x174);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x144, x177);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint64_t x202, uint64_t x203 = mulx_u64(x9, x13);
- uint64_t x205, uint64_t x206 = mulx_u64(x9, x15);
- uint64_t x208, uint64_t x209 = mulx_u64(x9, x17);
- uint64_t x211, uint64_t x212 = mulx_u64(x9, x19);
- uint64_t x214, uint64_t x215 = mulx_u64(x9, x18);
- uint64_t x217, uint8_t x218 = addcarryx_u64(0x0, x203, x205);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x206, x208);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x209, x211);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x212, x214);
- uint64_t x229, uint8_t _ = addcarryx_u64(0x0, x227, x215);
- uint64_t x232, uint8_t x233 = addcarryx_u64(0x0, x186, x202);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x189, x217);
- uint64_t x238, uint8_t x239 = addcarryx_u64(x236, x192, x220);
- uint64_t x241, uint8_t x242 = addcarryx_u64(x239, x195, x223);
- uint64_t x244, uint8_t x245 = addcarryx_u64(x242, x198, x226);
- uint64_t x247, uint8_t x248 = addcarryx_u64(x245, x200, x229);
- uint64_t x250, uint64_t _ = mulx_u64(x232, 0xaaaaaaaaaaaaaaabL);
- uint64_t x253, uint64_t x254 = mulx_u64(x250, 0xfffffffffffffffdL);
- uint64_t x256, uint64_t x257 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x259, uint64_t x260 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x262, uint64_t x263 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x265, uint64_t x266 = mulx_u64(x250, 0x3ff);
- uint64_t x268, uint8_t x269 = addcarryx_u64(0x0, x254, x256);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x257, x259);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x260, x262);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x263, x265);
- uint64_t x280, uint8_t _ = addcarryx_u64(0x0, x278, x266);
- uint64_t _, uint8_t x284 = addcarryx_u64(0x0, x232, x253);
- uint64_t x286, uint8_t x287 = addcarryx_u64(x284, x235, x268);
- uint64_t x289, uint8_t x290 = addcarryx_u64(x287, x238, x271);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x241, x274);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x244, x277);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint64_t x302, uint64_t x303 = mulx_u64(x11, x13);
- uint64_t x305, uint64_t x306 = mulx_u64(x11, x15);
- uint64_t x308, uint64_t x309 = mulx_u64(x11, x17);
- uint64_t x311, uint64_t x312 = mulx_u64(x11, x19);
- uint64_t x314, uint64_t x315 = mulx_u64(x11, x18);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x303, x305);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x306, x308);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x309, x311);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x312, x314);
- uint64_t x329, uint8_t _ = addcarryx_u64(0x0, x327, x315);
- uint64_t x332, uint8_t x333 = addcarryx_u64(0x0, x286, x302);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x289, x317);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x292, x320);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x295, x323);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x298, x326);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x300, x329);
- uint64_t x350, uint64_t _ = mulx_u64(x332, 0xaaaaaaaaaaaaaaabL);
- uint64_t x353, uint64_t x354 = mulx_u64(x350, 0xfffffffffffffffdL);
- uint64_t x356, uint64_t x357 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x359, uint64_t x360 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x362, uint64_t x363 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x365, uint64_t x366 = mulx_u64(x350, 0x3ff);
- uint64_t x368, uint8_t x369 = addcarryx_u64(0x0, x354, x356);
- uint64_t x371, uint8_t x372 = addcarryx_u64(x369, x357, x359);
- uint64_t x374, uint8_t x375 = addcarryx_u64(x372, x360, x362);
- uint64_t x377, uint8_t x378 = addcarryx_u64(x375, x363, x365);
- uint64_t x380, uint8_t _ = addcarryx_u64(0x0, x378, x366);
- uint64_t _, uint8_t x384 = addcarryx_u64(0x0, x332, x353);
- uint64_t x386, uint8_t x387 = addcarryx_u64(x384, x335, x368);
- uint64_t x389, uint8_t x390 = addcarryx_u64(x387, x338, x371);
- uint64_t x392, uint8_t x393 = addcarryx_u64(x390, x341, x374);
- uint64_t x395, uint8_t x396 = addcarryx_u64(x393, x344, x377);
- uint64_t x398, uint8_t x399 = addcarryx_u64(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint64_t x402, uint64_t x403 = mulx_u64(x10, x13);
- uint64_t x405, uint64_t x406 = mulx_u64(x10, x15);
- uint64_t x408, uint64_t x409 = mulx_u64(x10, x17);
- uint64_t x411, uint64_t x412 = mulx_u64(x10, x19);
- uint64_t x414, uint64_t x415 = mulx_u64(x10, x18);
- uint64_t x417, uint8_t x418 = addcarryx_u64(0x0, x403, x405);
- uint64_t x420, uint8_t x421 = addcarryx_u64(x418, x406, x408);
- uint64_t x423, uint8_t x424 = addcarryx_u64(x421, x409, x411);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x412, x414);
- uint64_t x429, uint8_t _ = addcarryx_u64(0x0, x427, x415);
- uint64_t x432, uint8_t x433 = addcarryx_u64(0x0, x386, x402);
- uint64_t x435, uint8_t x436 = addcarryx_u64(x433, x389, x417);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x392, x420);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x395, x423);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x398, x426);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x400, x429);
- uint64_t x450, uint64_t _ = mulx_u64(x432, 0xaaaaaaaaaaaaaaabL);
- uint64_t x453, uint64_t x454 = mulx_u64(x450, 0xfffffffffffffffdL);
- uint64_t x456, uint64_t x457 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x459, uint64_t x460 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x462, uint64_t x463 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x465, uint64_t x466 = mulx_u64(x450, 0x3ff);
- uint64_t x468, uint8_t x469 = addcarryx_u64(0x0, x454, x456);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x457, x459);
- uint64_t x474, uint8_t x475 = addcarryx_u64(x472, x460, x462);
- uint64_t x477, uint8_t x478 = addcarryx_u64(x475, x463, x465);
- uint64_t x480, uint8_t _ = addcarryx_u64(0x0, x478, x466);
- uint64_t _, uint8_t x484 = addcarryx_u64(0x0, x432, x453);
- uint64_t x486, uint8_t x487 = addcarryx_u64(x484, x435, x468);
- uint64_t x489, uint8_t x490 = addcarryx_u64(x487, x438, x471);
- uint64_t x492, uint8_t x493 = addcarryx_u64(x490, x441, x474);
- uint64_t x495, uint8_t x496 = addcarryx_u64(x493, x444, x477);
- uint64_t x498, uint8_t x499 = addcarryx_u64(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint64_t x502, uint8_t x503 = subborrow_u64(0x0, x486, 0xfffffffffffffffdL);
- uint64_t x505, uint8_t x506 = subborrow_u64(x503, x489, 0xffffffffffffffffL);
- uint64_t x508, uint8_t x509 = subborrow_u64(x506, x492, 0xffffffffffffffffL);
- uint64_t x511, uint8_t x512 = subborrow_u64(x509, x495, 0xffffffffffffffffL);
- uint64_t x514, uint8_t x515 = subborrow_u64(x512, x498, 0x3ff);
- uint64_t _, uint8_t x518 = subborrow_u64(x515, x500, 0x0);
- uint64_t x519 = cmovznz64(x518, x514, x498);
- uint64_t x520 = cmovznz64(x518, x511, x495);
- uint64_t x521 = cmovznz64(x518, x508, x492);
- uint64_t x522 = cmovznz64(x518, x505, x489);
- uint64_t x523 = cmovznz64(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.v b/src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.v
deleted file mode 100644
index 41c7cfa21..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fenz.c b/src/Specific/montgomery64_2e266m3_5limbs/fenz.c
deleted file mode 100644
index 0a779af7c..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x9 = (x8 | x7);
- { uint64_t x10 = (x6 | x9);
- { uint64_t x11 = (x4 | x10);
- { uint64_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fenz.v b/src/Specific/montgomery64_2e266m3_5limbs/fenz.v
deleted file mode 100644
index 6a7fd8054..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.log b/src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.log
deleted file mode 100644
index 4f18295b0..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x8 | x7);
- uint64_t x10 = (x6 | x9);
- uint64_t x11 = (x4 | x10);
- uint64_t x12 = (x2 | x11);
- return x12)
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.v b/src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.v
deleted file mode 100644
index b2bf9998f..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feopp.c b/src/Specific/montgomery64_2e266m3_5limbs/feopp.c
deleted file mode 100644
index 73d56aa32..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t x11 = _subborrow_u64(0x0, 0x0, x2, &x10);
- { uint64_t x13; uint8_t x14 = _subborrow_u64(x11, 0x0, x4, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, 0x0, x6, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, 0x0, x8, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(x20, 0x0, x7, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xfffffffffffffffdL);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x3ff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feopp.v b/src/Specific/montgomery64_2e266m3_5limbs/feopp.v
deleted file mode 100644
index 7a3ba7eaf..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.log b/src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.log
deleted file mode 100644
index fe7f00b63..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x13, uint8_t x14 = subborrow_u64(x11, 0x0, x4);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, 0x0, x6);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x8);
- uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x7);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xfffffffffffffffdL);
- uint64_t x27, uint8_t x28 = addcarryx_u64(0x0, x10, x25);
- uint64_t x29 = (x24 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x28, x13, x29);
- uint64_t x33 = (x24 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x16, x33);
- uint64_t x37 = (x24 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x19, x37);
- uint64_t x41 = (x24 & 0x3ff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.v b/src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.v
deleted file mode 100644
index f78a4f0ba..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fesquare.c b/src/Specific/montgomery64_2e266m3_5limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fesub.c b/src/Specific/montgomery64_2e266m3_5limbs/fesub.c
deleted file mode 100644
index 17bb0bd90..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x21; uint8_t x22 = _subborrow_u64(0x0, x5, x13, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, x7, x15, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, x9, x17, &x27);
- { uint64_t x30; uint8_t x31 = _subborrow_u64(x28, x11, x19, &x30);
- { uint64_t x33; uint8_t x34 = _subborrow_u64(x31, x10, x18, &x33);
- { uint64_t x35 = cmovznz64(x34, 0x0, 0xffffffffffffffffL);
- { uint64_t x36 = (x35 & 0xfffffffffffffffdL);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(0x0, x21, x36, &x38);
- { uint64_t x40 = (x35 & 0xffffffffffffffffL);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x39, x24, x40, &x42);
- { uint64_t x44 = (x35 & 0xffffffffffffffffL);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x43, x27, x44, &x46);
- { uint64_t x48 = (x35 & 0xffffffffffffffffL);
- { uint64_t x50; uint8_t x51 = _addcarryx_u64(x47, x30, x48, &x50);
- { uint64_t x52 = (x35 & 0x3ff);
- { uint64_t x54; uint8_t _ = _addcarryx_u64(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fesub.v b/src/Specific/montgomery64_2e266m3_5limbs/fesub.v
deleted file mode 100644
index 3bcf49286..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.log b/src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.log
deleted file mode 100644
index 695b18f9a..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint8_t x22 = subborrow_u64(0x0, x5, x13);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, x7, x15);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, x9, x17);
- uint64_t x30, uint8_t x31 = subborrow_u64(x28, x11, x19);
- uint64_t x33, uint8_t x34 = subborrow_u64(x31, x10, x18);
- uint64_t x35 = cmovznz64(x34, 0x0, 0xffffffffffffffffL);
- uint64_t x36 = (x35 & 0xfffffffffffffffdL);
- uint64_t x38, uint8_t x39 = addcarryx_u64(0x0, x21, x36);
- uint64_t x40 = (x35 & 0xffffffffffffffffL);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x39, x24, x40);
- uint64_t x44 = (x35 & 0xffffffffffffffffL);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x27, x44);
- uint64_t x48 = (x35 & 0xffffffffffffffffL);
- uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x30, x48);
- uint64_t x52 = (x35 & 0x3ff);
- uint64_t x54, uint8_t _ = addcarryx_u64(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.v b/src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.v
deleted file mode 100644
index b866dff96..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e266m3_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/py_interpreter.sh b/src/Specific/montgomery64_2e266m3_5limbs/py_interpreter.sh
deleted file mode 100755
index 5a0ea5b68..000000000
--- a/src/Specific/montgomery64_2e266m3_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**266 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/CurveParameters.v b/src/Specific/montgomery64_2e285m9_5limbs/CurveParameters.v
deleted file mode 100644
index 2fa34e17e..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^285 - 9
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 64;
- bitwidth := 64;
- s := 2^285;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e285m9_5limbs/Synthesis.v b/src/Specific/montgomery64_2e285m9_5limbs/Synthesis.v
deleted file mode 100644
index 95e54093e..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.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/montgomery64_2e285m9_5limbs/compiler.sh b/src/Specific/montgomery64_2e285m9_5limbs/compiler.sh
deleted file mode 100755
index 7cb6f23b0..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/compilerxx.sh b/src/Specific/montgomery64_2e285m9_5limbs/compilerxx.sh
deleted file mode 100755
index b19826115..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feadd.c b/src/Specific/montgomery64_2e285m9_5limbs/feadd.c
deleted file mode 100644
index 9ab6448cf..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(0x0, x5, x13, &x21);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(x22, x7, x15, &x24);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(x25, x9, x17, &x27);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x28, x11, x19, &x30);
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(x31, x10, x18, &x33);
- { uint64_t x36; uint8_t x37 = _subborrow_u64(0x0, x21, 0xfffffffffffffff7L, &x36);
- { uint64_t x39; uint8_t x40 = _subborrow_u64(x37, x24, 0xffffffffffffffffL, &x39);
- { uint64_t x42; uint8_t x43 = _subborrow_u64(x40, x27, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint8_t x46 = _subborrow_u64(x43, x30, 0xffffffffffffffffL, &x45);
- { uint64_t x48; uint8_t x49 = _subborrow_u64(x46, x33, 0x1fffffff, &x48);
- { uint64_t _; uint8_t x52 = _subborrow_u64(x49, x34, 0x0, &_);
- { uint64_t x53 = cmovznz64(x52, x48, x33);
- { uint64_t x54 = cmovznz64(x52, x45, x30);
- { uint64_t x55 = cmovznz64(x52, x42, x27);
- { uint64_t x56 = cmovznz64(x52, x39, x24);
- { uint64_t x57 = cmovznz64(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feadd.v b/src/Specific/montgomery64_2e285m9_5limbs/feadd.v
deleted file mode 100644
index 0fad18600..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.log b/src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.log
deleted file mode 100644
index 5d3ecfdc2..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint8_t x22 = addcarryx_u64(0x0, x5, x13);
- uint64_t x24, uint8_t x25 = addcarryx_u64(x22, x7, x15);
- uint64_t x27, uint8_t x28 = addcarryx_u64(x25, x9, x17);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x28, x11, x19);
- uint64_t x33, uint8_t x34 = addcarryx_u64(x31, x10, x18);
- uint64_t x36, uint8_t x37 = subborrow_u64(0x0, x21, 0xfffffffffffffff7L);
- uint64_t x39, uint8_t x40 = subborrow_u64(x37, x24, 0xffffffffffffffffL);
- uint64_t x42, uint8_t x43 = subborrow_u64(x40, x27, 0xffffffffffffffffL);
- uint64_t x45, uint8_t x46 = subborrow_u64(x43, x30, 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = subborrow_u64(x46, x33, 0x1fffffff);
- uint64_t _, uint8_t x52 = subborrow_u64(x49, x34, 0x0);
- uint64_t x53 = cmovznz64(x52, x48, x33);
- uint64_t x54 = cmovznz64(x52, x45, x30);
- uint64_t x55 = cmovznz64(x52, x42, x27);
- uint64_t x56 = cmovznz64(x52, x39, x24);
- uint64_t x57 = cmovznz64(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.v b/src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.v
deleted file mode 100644
index 60c2ea779..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/femul.c b/src/Specific/montgomery64_2e285m9_5limbs/femul.c
deleted file mode 100644
index 2adf31093..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x22; uint64_t x21 = _mulx_u64(x5, x13, &x22);
- { uint64_t x25; uint64_t x24 = _mulx_u64(x5, x15, &x25);
- { uint64_t x28; uint64_t x27 = _mulx_u64(x5, x17, &x28);
- { uint64_t x31; uint64_t x30 = _mulx_u64(x5, x19, &x31);
- { uint64_t x34; uint64_t x33 = _mulx_u64(x5, x18, &x34);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(0x0, x22, x24, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x25, x27, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x28, x30, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x31, x33, &x45);
- { uint64_t x48; uint8_t _ = _addcarryx_u64(0x0, x46, x34, &x48);
- { uint64_t _; uint64_t x51 = _mulx_u64(x21, 0x8e38e38e38e38e39L, &_);
- { uint64_t x55; uint64_t x54 = _mulx_u64(x51, 0xfffffffffffffff7L, &x55);
- { uint64_t x58; uint64_t x57 = _mulx_u64(x51, 0xffffffffffffffffL, &x58);
- { uint64_t x61; uint64_t x60 = _mulx_u64(x51, 0xffffffffffffffffL, &x61);
- { uint64_t x64; uint64_t x63 = _mulx_u64(x51, 0xffffffffffffffffL, &x64);
- { uint64_t x67; uint64_t x66 = _mulx_u64(x51, 0x1fffffff, &x67);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(0x0, x55, x57, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x58, x60, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x61, x63, &x75);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x64, x66, &x78);
- { uint64_t x81; uint8_t _ = _addcarryx_u64(0x0, x79, x67, &x81);
- { uint64_t _; uint8_t x85 = _addcarryx_u64(0x0, x21, x54, &_);
- { uint64_t x87; uint8_t x88 = _addcarryx_u64(x85, x36, x69, &x87);
- { uint64_t x90; uint8_t x91 = _addcarryx_u64(x88, x39, x72, &x90);
- { uint64_t x93; uint8_t x94 = _addcarryx_u64(x91, x42, x75, &x93);
- { uint64_t x96; uint8_t x97 = _addcarryx_u64(x94, x45, x78, &x96);
- { uint64_t x99; uint8_t x100 = _addcarryx_u64(x97, x48, x81, &x99);
- { uint64_t x103; uint64_t x102 = _mulx_u64(x7, x13, &x103);
- { uint64_t x106; uint64_t x105 = _mulx_u64(x7, x15, &x106);
- { uint64_t x109; uint64_t x108 = _mulx_u64(x7, x17, &x109);
- { uint64_t x112; uint64_t x111 = _mulx_u64(x7, x19, &x112);
- { uint64_t x115; uint64_t x114 = _mulx_u64(x7, x18, &x115);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(0x0, x103, x105, &x117);
- { uint64_t x120; uint8_t x121 = _addcarryx_u64(x118, x106, x108, &x120);
- { uint64_t x123; uint8_t x124 = _addcarryx_u64(x121, x109, x111, &x123);
- { uint64_t x126; uint8_t x127 = _addcarryx_u64(x124, x112, x114, &x126);
- { uint64_t x129; uint8_t _ = _addcarryx_u64(0x0, x127, x115, &x129);
- { uint64_t x132; uint8_t x133 = _addcarryx_u64(0x0, x87, x102, &x132);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(x133, x90, x117, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x93, x120, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x96, x123, &x141);
- { uint64_t x144; uint8_t x145 = _addcarryx_u64(x142, x99, x126, &x144);
- { uint64_t x147; uint8_t x148 = _addcarryx_u64(x145, x100, x129, &x147);
- { uint64_t _; uint64_t x150 = _mulx_u64(x132, 0x8e38e38e38e38e39L, &_);
- { uint64_t x154; uint64_t x153 = _mulx_u64(x150, 0xfffffffffffffff7L, &x154);
- { uint64_t x157; uint64_t x156 = _mulx_u64(x150, 0xffffffffffffffffL, &x157);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x150, 0xffffffffffffffffL, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x150, 0xffffffffffffffffL, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x150, 0x1fffffff, &x166);
- { uint64_t x168; uint8_t x169 = _addcarryx_u64(0x0, x154, x156, &x168);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(x169, x157, x159, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x160, x162, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x163, x165, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x166, &x180);
- { uint64_t _; uint8_t x184 = _addcarryx_u64(0x0, x132, x153, &_);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x135, x168, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x138, x171, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x141, x174, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x144, x177, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint64_t x203; uint64_t x202 = _mulx_u64(x9, x13, &x203);
- { uint64_t x206; uint64_t x205 = _mulx_u64(x9, x15, &x206);
- { uint64_t x209; uint64_t x208 = _mulx_u64(x9, x17, &x209);
- { uint64_t x212; uint64_t x211 = _mulx_u64(x9, x19, &x212);
- { uint64_t x215; uint64_t x214 = _mulx_u64(x9, x18, &x215);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(0x0, x203, x205, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x206, x208, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x209, x211, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x212, x214, &x226);
- { uint64_t x229; uint8_t _ = _addcarryx_u64(0x0, x227, x215, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(0x0, x186, x202, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x189, x217, &x235);
- { uint64_t x238; uint8_t x239 = _addcarryx_u64(x236, x192, x220, &x238);
- { uint64_t x241; uint8_t x242 = _addcarryx_u64(x239, x195, x223, &x241);
- { uint64_t x244; uint8_t x245 = _addcarryx_u64(x242, x198, x226, &x244);
- { uint64_t x247; uint8_t x248 = _addcarryx_u64(x245, x200, x229, &x247);
- { uint64_t _; uint64_t x250 = _mulx_u64(x232, 0x8e38e38e38e38e39L, &_);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x250, 0xfffffffffffffff7L, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x250, 0xffffffffffffffffL, &x257);
- { uint64_t x260; uint64_t x259 = _mulx_u64(x250, 0xffffffffffffffffL, &x260);
- { uint64_t x263; uint64_t x262 = _mulx_u64(x250, 0xffffffffffffffffL, &x263);
- { uint64_t x266; uint64_t x265 = _mulx_u64(x250, 0x1fffffff, &x266);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(0x0, x254, x256, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x257, x259, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x260, x262, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x263, x265, &x277);
- { uint64_t x280; uint8_t _ = _addcarryx_u64(0x0, x278, x266, &x280);
- { uint64_t _; uint8_t x284 = _addcarryx_u64(0x0, x232, x253, &_);
- { uint64_t x286; uint8_t x287 = _addcarryx_u64(x284, x235, x268, &x286);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(x287, x238, x271, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x241, x274, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x244, x277, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x11, x13, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x11, x15, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x11, x17, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x11, x19, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x11, x18, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x303, x305, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x306, x308, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x309, x311, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x312, x314, &x326);
- { uint64_t x329; uint8_t _ = _addcarryx_u64(0x0, x327, x315, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(0x0, x286, x302, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x289, x317, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x292, x320, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x295, x323, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x298, x326, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x300, x329, &x347);
- { uint64_t _; uint64_t x350 = _mulx_u64(x332, 0x8e38e38e38e38e39L, &_);
- { uint64_t x354; uint64_t x353 = _mulx_u64(x350, 0xfffffffffffffff7L, &x354);
- { uint64_t x357; uint64_t x356 = _mulx_u64(x350, 0xffffffffffffffffL, &x357);
- { uint64_t x360; uint64_t x359 = _mulx_u64(x350, 0xffffffffffffffffL, &x360);
- { uint64_t x363; uint64_t x362 = _mulx_u64(x350, 0xffffffffffffffffL, &x363);
- { uint64_t x366; uint64_t x365 = _mulx_u64(x350, 0x1fffffff, &x366);
- { uint64_t x368; uint8_t x369 = _addcarryx_u64(0x0, x354, x356, &x368);
- { uint64_t x371; uint8_t x372 = _addcarryx_u64(x369, x357, x359, &x371);
- { uint64_t x374; uint8_t x375 = _addcarryx_u64(x372, x360, x362, &x374);
- { uint64_t x377; uint8_t x378 = _addcarryx_u64(x375, x363, x365, &x377);
- { uint64_t x380; uint8_t _ = _addcarryx_u64(0x0, x378, x366, &x380);
- { uint64_t _; uint8_t x384 = _addcarryx_u64(0x0, x332, x353, &_);
- { uint64_t x386; uint8_t x387 = _addcarryx_u64(x384, x335, x368, &x386);
- { uint64_t x389; uint8_t x390 = _addcarryx_u64(x387, x338, x371, &x389);
- { uint64_t x392; uint8_t x393 = _addcarryx_u64(x390, x341, x374, &x392);
- { uint64_t x395; uint8_t x396 = _addcarryx_u64(x393, x344, x377, &x395);
- { uint64_t x398; uint8_t x399 = _addcarryx_u64(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint64_t x403; uint64_t x402 = _mulx_u64(x10, x13, &x403);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x10, x15, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x10, x17, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x10, x19, &x412);
- { uint64_t x415; uint64_t x414 = _mulx_u64(x10, x18, &x415);
- { uint64_t x417; uint8_t x418 = _addcarryx_u64(0x0, x403, x405, &x417);
- { uint64_t x420; uint8_t x421 = _addcarryx_u64(x418, x406, x408, &x420);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(x421, x409, x411, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x412, x414, &x426);
- { uint64_t x429; uint8_t _ = _addcarryx_u64(0x0, x427, x415, &x429);
- { uint64_t x432; uint8_t x433 = _addcarryx_u64(0x0, x386, x402, &x432);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(x433, x389, x417, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x392, x420, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x395, x423, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x398, x426, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x400, x429, &x447);
- { uint64_t _; uint64_t x450 = _mulx_u64(x432, 0x8e38e38e38e38e39L, &_);
- { uint64_t x454; uint64_t x453 = _mulx_u64(x450, 0xfffffffffffffff7L, &x454);
- { uint64_t x457; uint64_t x456 = _mulx_u64(x450, 0xffffffffffffffffL, &x457);
- { uint64_t x460; uint64_t x459 = _mulx_u64(x450, 0xffffffffffffffffL, &x460);
- { uint64_t x463; uint64_t x462 = _mulx_u64(x450, 0xffffffffffffffffL, &x463);
- { uint64_t x466; uint64_t x465 = _mulx_u64(x450, 0x1fffffff, &x466);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(0x0, x454, x456, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x457, x459, &x471);
- { uint64_t x474; uint8_t x475 = _addcarryx_u64(x472, x460, x462, &x474);
- { uint64_t x477; uint8_t x478 = _addcarryx_u64(x475, x463, x465, &x477);
- { uint64_t x480; uint8_t _ = _addcarryx_u64(0x0, x478, x466, &x480);
- { uint64_t _; uint8_t x484 = _addcarryx_u64(0x0, x432, x453, &_);
- { uint64_t x486; uint8_t x487 = _addcarryx_u64(x484, x435, x468, &x486);
- { uint64_t x489; uint8_t x490 = _addcarryx_u64(x487, x438, x471, &x489);
- { uint64_t x492; uint8_t x493 = _addcarryx_u64(x490, x441, x474, &x492);
- { uint64_t x495; uint8_t x496 = _addcarryx_u64(x493, x444, x477, &x495);
- { uint64_t x498; uint8_t x499 = _addcarryx_u64(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint64_t x502; uint8_t x503 = _subborrow_u64(0x0, x486, 0xfffffffffffffff7L, &x502);
- { uint64_t x505; uint8_t x506 = _subborrow_u64(x503, x489, 0xffffffffffffffffL, &x505);
- { uint64_t x508; uint8_t x509 = _subborrow_u64(x506, x492, 0xffffffffffffffffL, &x508);
- { uint64_t x511; uint8_t x512 = _subborrow_u64(x509, x495, 0xffffffffffffffffL, &x511);
- { uint64_t x514; uint8_t x515 = _subborrow_u64(x512, x498, 0x1fffffff, &x514);
- { uint64_t _; uint8_t x518 = _subborrow_u64(x515, x500, 0x0, &_);
- { uint64_t x519 = cmovznz64(x518, x514, x498);
- { uint64_t x520 = cmovznz64(x518, x511, x495);
- { uint64_t x521 = cmovznz64(x518, x508, x492);
- { uint64_t x522 = cmovznz64(x518, x505, x489);
- { uint64_t x523 = cmovznz64(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/femul.v b/src/Specific/montgomery64_2e285m9_5limbs/femul.v
deleted file mode 100644
index 7e9c75d66..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.log b/src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.log
deleted file mode 100644
index c6e894c2b..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint64_t x22 = mulx_u64(x5, x13);
- uint64_t x24, uint64_t x25 = mulx_u64(x5, x15);
- uint64_t x27, uint64_t x28 = mulx_u64(x5, x17);
- uint64_t x30, uint64_t x31 = mulx_u64(x5, x19);
- uint64_t x33, uint64_t x34 = mulx_u64(x5, x18);
- uint64_t x36, uint8_t x37 = addcarryx_u64(0x0, x22, x24);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x25, x27);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x28, x30);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x31, x33);
- uint64_t x48, uint8_t _ = addcarryx_u64(0x0, x46, x34);
- uint64_t x51, uint64_t _ = mulx_u64(x21, 0x8e38e38e38e38e39L);
- uint64_t x54, uint64_t x55 = mulx_u64(x51, 0xfffffffffffffff7L);
- uint64_t x57, uint64_t x58 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x60, uint64_t x61 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x63, uint64_t x64 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x66, uint64_t x67 = mulx_u64(x51, 0x1fffffff);
- uint64_t x69, uint8_t x70 = addcarryx_u64(0x0, x55, x57);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x58, x60);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x61, x63);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x64, x66);
- uint64_t x81, uint8_t _ = addcarryx_u64(0x0, x79, x67);
- uint64_t _, uint8_t x85 = addcarryx_u64(0x0, x21, x54);
- uint64_t x87, uint8_t x88 = addcarryx_u64(x85, x36, x69);
- uint64_t x90, uint8_t x91 = addcarryx_u64(x88, x39, x72);
- uint64_t x93, uint8_t x94 = addcarryx_u64(x91, x42, x75);
- uint64_t x96, uint8_t x97 = addcarryx_u64(x94, x45, x78);
- uint64_t x99, uint8_t x100 = addcarryx_u64(x97, x48, x81);
- uint64_t x102, uint64_t x103 = mulx_u64(x7, x13);
- uint64_t x105, uint64_t x106 = mulx_u64(x7, x15);
- uint64_t x108, uint64_t x109 = mulx_u64(x7, x17);
- uint64_t x111, uint64_t x112 = mulx_u64(x7, x19);
- uint64_t x114, uint64_t x115 = mulx_u64(x7, x18);
- uint64_t x117, uint8_t x118 = addcarryx_u64(0x0, x103, x105);
- uint64_t x120, uint8_t x121 = addcarryx_u64(x118, x106, x108);
- uint64_t x123, uint8_t x124 = addcarryx_u64(x121, x109, x111);
- uint64_t x126, uint8_t x127 = addcarryx_u64(x124, x112, x114);
- uint64_t x129, uint8_t _ = addcarryx_u64(0x0, x127, x115);
- uint64_t x132, uint8_t x133 = addcarryx_u64(0x0, x87, x102);
- uint64_t x135, uint8_t x136 = addcarryx_u64(x133, x90, x117);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x93, x120);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x96, x123);
- uint64_t x144, uint8_t x145 = addcarryx_u64(x142, x99, x126);
- uint64_t x147, uint8_t x148 = addcarryx_u64(x145, x100, x129);
- uint64_t x150, uint64_t _ = mulx_u64(x132, 0x8e38e38e38e38e39L);
- uint64_t x153, uint64_t x154 = mulx_u64(x150, 0xfffffffffffffff7L);
- uint64_t x156, uint64_t x157 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x159, uint64_t x160 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x162, uint64_t x163 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x165, uint64_t x166 = mulx_u64(x150, 0x1fffffff);
- uint64_t x168, uint8_t x169 = addcarryx_u64(0x0, x154, x156);
- uint64_t x171, uint8_t x172 = addcarryx_u64(x169, x157, x159);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x160, x162);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x163, x165);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x166);
- uint64_t _, uint8_t x184 = addcarryx_u64(0x0, x132, x153);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x135, x168);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x138, x171);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x141, x174);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x144, x177);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint64_t x202, uint64_t x203 = mulx_u64(x9, x13);
- uint64_t x205, uint64_t x206 = mulx_u64(x9, x15);
- uint64_t x208, uint64_t x209 = mulx_u64(x9, x17);
- uint64_t x211, uint64_t x212 = mulx_u64(x9, x19);
- uint64_t x214, uint64_t x215 = mulx_u64(x9, x18);
- uint64_t x217, uint8_t x218 = addcarryx_u64(0x0, x203, x205);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x206, x208);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x209, x211);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x212, x214);
- uint64_t x229, uint8_t _ = addcarryx_u64(0x0, x227, x215);
- uint64_t x232, uint8_t x233 = addcarryx_u64(0x0, x186, x202);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x189, x217);
- uint64_t x238, uint8_t x239 = addcarryx_u64(x236, x192, x220);
- uint64_t x241, uint8_t x242 = addcarryx_u64(x239, x195, x223);
- uint64_t x244, uint8_t x245 = addcarryx_u64(x242, x198, x226);
- uint64_t x247, uint8_t x248 = addcarryx_u64(x245, x200, x229);
- uint64_t x250, uint64_t _ = mulx_u64(x232, 0x8e38e38e38e38e39L);
- uint64_t x253, uint64_t x254 = mulx_u64(x250, 0xfffffffffffffff7L);
- uint64_t x256, uint64_t x257 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x259, uint64_t x260 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x262, uint64_t x263 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x265, uint64_t x266 = mulx_u64(x250, 0x1fffffff);
- uint64_t x268, uint8_t x269 = addcarryx_u64(0x0, x254, x256);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x257, x259);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x260, x262);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x263, x265);
- uint64_t x280, uint8_t _ = addcarryx_u64(0x0, x278, x266);
- uint64_t _, uint8_t x284 = addcarryx_u64(0x0, x232, x253);
- uint64_t x286, uint8_t x287 = addcarryx_u64(x284, x235, x268);
- uint64_t x289, uint8_t x290 = addcarryx_u64(x287, x238, x271);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x241, x274);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x244, x277);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint64_t x302, uint64_t x303 = mulx_u64(x11, x13);
- uint64_t x305, uint64_t x306 = mulx_u64(x11, x15);
- uint64_t x308, uint64_t x309 = mulx_u64(x11, x17);
- uint64_t x311, uint64_t x312 = mulx_u64(x11, x19);
- uint64_t x314, uint64_t x315 = mulx_u64(x11, x18);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x303, x305);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x306, x308);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x309, x311);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x312, x314);
- uint64_t x329, uint8_t _ = addcarryx_u64(0x0, x327, x315);
- uint64_t x332, uint8_t x333 = addcarryx_u64(0x0, x286, x302);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x289, x317);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x292, x320);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x295, x323);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x298, x326);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x300, x329);
- uint64_t x350, uint64_t _ = mulx_u64(x332, 0x8e38e38e38e38e39L);
- uint64_t x353, uint64_t x354 = mulx_u64(x350, 0xfffffffffffffff7L);
- uint64_t x356, uint64_t x357 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x359, uint64_t x360 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x362, uint64_t x363 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x365, uint64_t x366 = mulx_u64(x350, 0x1fffffff);
- uint64_t x368, uint8_t x369 = addcarryx_u64(0x0, x354, x356);
- uint64_t x371, uint8_t x372 = addcarryx_u64(x369, x357, x359);
- uint64_t x374, uint8_t x375 = addcarryx_u64(x372, x360, x362);
- uint64_t x377, uint8_t x378 = addcarryx_u64(x375, x363, x365);
- uint64_t x380, uint8_t _ = addcarryx_u64(0x0, x378, x366);
- uint64_t _, uint8_t x384 = addcarryx_u64(0x0, x332, x353);
- uint64_t x386, uint8_t x387 = addcarryx_u64(x384, x335, x368);
- uint64_t x389, uint8_t x390 = addcarryx_u64(x387, x338, x371);
- uint64_t x392, uint8_t x393 = addcarryx_u64(x390, x341, x374);
- uint64_t x395, uint8_t x396 = addcarryx_u64(x393, x344, x377);
- uint64_t x398, uint8_t x399 = addcarryx_u64(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint64_t x402, uint64_t x403 = mulx_u64(x10, x13);
- uint64_t x405, uint64_t x406 = mulx_u64(x10, x15);
- uint64_t x408, uint64_t x409 = mulx_u64(x10, x17);
- uint64_t x411, uint64_t x412 = mulx_u64(x10, x19);
- uint64_t x414, uint64_t x415 = mulx_u64(x10, x18);
- uint64_t x417, uint8_t x418 = addcarryx_u64(0x0, x403, x405);
- uint64_t x420, uint8_t x421 = addcarryx_u64(x418, x406, x408);
- uint64_t x423, uint8_t x424 = addcarryx_u64(x421, x409, x411);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x412, x414);
- uint64_t x429, uint8_t _ = addcarryx_u64(0x0, x427, x415);
- uint64_t x432, uint8_t x433 = addcarryx_u64(0x0, x386, x402);
- uint64_t x435, uint8_t x436 = addcarryx_u64(x433, x389, x417);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x392, x420);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x395, x423);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x398, x426);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x400, x429);
- uint64_t x450, uint64_t _ = mulx_u64(x432, 0x8e38e38e38e38e39L);
- uint64_t x453, uint64_t x454 = mulx_u64(x450, 0xfffffffffffffff7L);
- uint64_t x456, uint64_t x457 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x459, uint64_t x460 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x462, uint64_t x463 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x465, uint64_t x466 = mulx_u64(x450, 0x1fffffff);
- uint64_t x468, uint8_t x469 = addcarryx_u64(0x0, x454, x456);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x457, x459);
- uint64_t x474, uint8_t x475 = addcarryx_u64(x472, x460, x462);
- uint64_t x477, uint8_t x478 = addcarryx_u64(x475, x463, x465);
- uint64_t x480, uint8_t _ = addcarryx_u64(0x0, x478, x466);
- uint64_t _, uint8_t x484 = addcarryx_u64(0x0, x432, x453);
- uint64_t x486, uint8_t x487 = addcarryx_u64(x484, x435, x468);
- uint64_t x489, uint8_t x490 = addcarryx_u64(x487, x438, x471);
- uint64_t x492, uint8_t x493 = addcarryx_u64(x490, x441, x474);
- uint64_t x495, uint8_t x496 = addcarryx_u64(x493, x444, x477);
- uint64_t x498, uint8_t x499 = addcarryx_u64(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint64_t x502, uint8_t x503 = subborrow_u64(0x0, x486, 0xfffffffffffffff7L);
- uint64_t x505, uint8_t x506 = subborrow_u64(x503, x489, 0xffffffffffffffffL);
- uint64_t x508, uint8_t x509 = subborrow_u64(x506, x492, 0xffffffffffffffffL);
- uint64_t x511, uint8_t x512 = subborrow_u64(x509, x495, 0xffffffffffffffffL);
- uint64_t x514, uint8_t x515 = subborrow_u64(x512, x498, 0x1fffffff);
- uint64_t _, uint8_t x518 = subborrow_u64(x515, x500, 0x0);
- uint64_t x519 = cmovznz64(x518, x514, x498);
- uint64_t x520 = cmovznz64(x518, x511, x495);
- uint64_t x521 = cmovznz64(x518, x508, x492);
- uint64_t x522 = cmovznz64(x518, x505, x489);
- uint64_t x523 = cmovznz64(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.v b/src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.v
deleted file mode 100644
index c32eb0420..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fenz.c b/src/Specific/montgomery64_2e285m9_5limbs/fenz.c
deleted file mode 100644
index 0a779af7c..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x9 = (x8 | x7);
- { uint64_t x10 = (x6 | x9);
- { uint64_t x11 = (x4 | x10);
- { uint64_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fenz.v b/src/Specific/montgomery64_2e285m9_5limbs/fenz.v
deleted file mode 100644
index 287d4dd67..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.log b/src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.log
deleted file mode 100644
index 4f18295b0..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x8 | x7);
- uint64_t x10 = (x6 | x9);
- uint64_t x11 = (x4 | x10);
- uint64_t x12 = (x2 | x11);
- return x12)
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.v b/src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.v
deleted file mode 100644
index f8efe8625..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feopp.c b/src/Specific/montgomery64_2e285m9_5limbs/feopp.c
deleted file mode 100644
index 64e1b5bd1..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t x11 = _subborrow_u64(0x0, 0x0, x2, &x10);
- { uint64_t x13; uint8_t x14 = _subborrow_u64(x11, 0x0, x4, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, 0x0, x6, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, 0x0, x8, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(x20, 0x0, x7, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xfffffffffffffff7L);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x1fffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feopp.v b/src/Specific/montgomery64_2e285m9_5limbs/feopp.v
deleted file mode 100644
index b1ead836d..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.log b/src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.log
deleted file mode 100644
index 68ec2f162..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x13, uint8_t x14 = subborrow_u64(x11, 0x0, x4);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, 0x0, x6);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x8);
- uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x7);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xfffffffffffffff7L);
- uint64_t x27, uint8_t x28 = addcarryx_u64(0x0, x10, x25);
- uint64_t x29 = (x24 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x28, x13, x29);
- uint64_t x33 = (x24 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x16, x33);
- uint64_t x37 = (x24 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x19, x37);
- uint64_t x41 = (x24 & 0x1fffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.v b/src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.v
deleted file mode 100644
index 91850b52e..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fesquare.c b/src/Specific/montgomery64_2e285m9_5limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fesub.c b/src/Specific/montgomery64_2e285m9_5limbs/fesub.c
deleted file mode 100644
index 12c16d5f5..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x21; uint8_t x22 = _subborrow_u64(0x0, x5, x13, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, x7, x15, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, x9, x17, &x27);
- { uint64_t x30; uint8_t x31 = _subborrow_u64(x28, x11, x19, &x30);
- { uint64_t x33; uint8_t x34 = _subborrow_u64(x31, x10, x18, &x33);
- { uint64_t x35 = cmovznz64(x34, 0x0, 0xffffffffffffffffL);
- { uint64_t x36 = (x35 & 0xfffffffffffffff7L);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(0x0, x21, x36, &x38);
- { uint64_t x40 = (x35 & 0xffffffffffffffffL);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x39, x24, x40, &x42);
- { uint64_t x44 = (x35 & 0xffffffffffffffffL);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x43, x27, x44, &x46);
- { uint64_t x48 = (x35 & 0xffffffffffffffffL);
- { uint64_t x50; uint8_t x51 = _addcarryx_u64(x47, x30, x48, &x50);
- { uint64_t x52 = (x35 & 0x1fffffff);
- { uint64_t x54; uint8_t _ = _addcarryx_u64(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fesub.v b/src/Specific/montgomery64_2e285m9_5limbs/fesub.v
deleted file mode 100644
index 18a2560bf..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.log b/src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.log
deleted file mode 100644
index f6cdb966c..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint8_t x22 = subborrow_u64(0x0, x5, x13);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, x7, x15);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, x9, x17);
- uint64_t x30, uint8_t x31 = subborrow_u64(x28, x11, x19);
- uint64_t x33, uint8_t x34 = subborrow_u64(x31, x10, x18);
- uint64_t x35 = cmovznz64(x34, 0x0, 0xffffffffffffffffL);
- uint64_t x36 = (x35 & 0xfffffffffffffff7L);
- uint64_t x38, uint8_t x39 = addcarryx_u64(0x0, x21, x36);
- uint64_t x40 = (x35 & 0xffffffffffffffffL);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x39, x24, x40);
- uint64_t x44 = (x35 & 0xffffffffffffffffL);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x27, x44);
- uint64_t x48 = (x35 & 0xffffffffffffffffL);
- uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x30, x48);
- uint64_t x52 = (x35 & 0x1fffffff);
- uint64_t x54, uint8_t _ = addcarryx_u64(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.v b/src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.v
deleted file mode 100644
index 06b1e8d3e..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e285m9_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/py_interpreter.sh b/src/Specific/montgomery64_2e285m9_5limbs/py_interpreter.sh
deleted file mode 100755
index 0202a546c..000000000
--- a/src/Specific/montgomery64_2e285m9_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/CurveParameters.v b/src/Specific/montgomery64_2e291m19_5limbs/CurveParameters.v
deleted file mode 100644
index 8067dfdd2..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^291 - 19
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 64;
- bitwidth := 64;
- s := 2^291;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e291m19_5limbs/Synthesis.v b/src/Specific/montgomery64_2e291m19_5limbs/Synthesis.v
deleted file mode 100644
index 671fc7f80..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.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/montgomery64_2e291m19_5limbs/compiler.sh b/src/Specific/montgomery64_2e291m19_5limbs/compiler.sh
deleted file mode 100755
index c8e3f48cc..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/compilerxx.sh b/src/Specific/montgomery64_2e291m19_5limbs/compilerxx.sh
deleted file mode 100755
index bb4ef6c5a..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feadd.c b/src/Specific/montgomery64_2e291m19_5limbs/feadd.c
deleted file mode 100644
index d7626cf52..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feadd.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x21; uint8_t x22 = _addcarryx_u64(0x0, x5, x13, &x21);
- { uint64_t x24; uint8_t x25 = _addcarryx_u64(x22, x7, x15, &x24);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(x25, x9, x17, &x27);
- { uint64_t x30; uint8_t x31 = _addcarryx_u64(x28, x11, x19, &x30);
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(x31, x10, x18, &x33);
- { uint64_t x36; uint8_t x37 = _subborrow_u64(0x0, x21, 0xffffffffffffffedL, &x36);
- { uint64_t x39; uint8_t x40 = _subborrow_u64(x37, x24, 0xffffffffffffffffL, &x39);
- { uint64_t x42; uint8_t x43 = _subborrow_u64(x40, x27, 0xffffffffffffffffL, &x42);
- { uint64_t x45; uint8_t x46 = _subborrow_u64(x43, x30, 0xffffffffffffffffL, &x45);
- { uint64_t x48; uint8_t x49 = _subborrow_u64(x46, x33, 0x7ffffffff, &x48);
- { uint64_t _; uint8_t x52 = _subborrow_u64(x49, x34, 0x0, &_);
- { uint64_t x53 = cmovznz64(x52, x48, x33);
- { uint64_t x54 = cmovznz64(x52, x45, x30);
- { uint64_t x55 = cmovznz64(x52, x42, x27);
- { uint64_t x56 = cmovznz64(x52, x39, x24);
- { uint64_t x57 = cmovznz64(x52, x36, x21);
- out[0] = x57;
- out[1] = x56;
- out[2] = x55;
- out[3] = x54;
- out[4] = x53;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feadd.v b/src/Specific/montgomery64_2e291m19_5limbs/feadd.v
deleted file mode 100644
index 0dfaf4578..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.log b/src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.log
deleted file mode 100644
index 0475ac351..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint8_t x22 = addcarryx_u64(0x0, x5, x13);
- uint64_t x24, uint8_t x25 = addcarryx_u64(x22, x7, x15);
- uint64_t x27, uint8_t x28 = addcarryx_u64(x25, x9, x17);
- uint64_t x30, uint8_t x31 = addcarryx_u64(x28, x11, x19);
- uint64_t x33, uint8_t x34 = addcarryx_u64(x31, x10, x18);
- uint64_t x36, uint8_t x37 = subborrow_u64(0x0, x21, 0xffffffffffffffedL);
- uint64_t x39, uint8_t x40 = subborrow_u64(x37, x24, 0xffffffffffffffffL);
- uint64_t x42, uint8_t x43 = subborrow_u64(x40, x27, 0xffffffffffffffffL);
- uint64_t x45, uint8_t x46 = subborrow_u64(x43, x30, 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = subborrow_u64(x46, x33, 0x7ffffffff);
- uint64_t _, uint8_t x52 = subborrow_u64(x49, x34, 0x0);
- uint64_t x53 = cmovznz64(x52, x48, x33);
- uint64_t x54 = cmovznz64(x52, x45, x30);
- uint64_t x55 = cmovznz64(x52, x42, x27);
- uint64_t x56 = cmovznz64(x52, x39, x24);
- uint64_t x57 = cmovznz64(x52, x36, x21);
- return (x53, x54, x55, x56, x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.v b/src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.v
deleted file mode 100644
index becefa76d..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/femul.c b/src/Specific/montgomery64_2e291m19_5limbs/femul.c
deleted file mode 100644
index 13d0393aa..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/femul.c
+++ /dev/null
@@ -1,192 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x22; uint64_t x21 = _mulx_u64(x5, x13, &x22);
- { uint64_t x25; uint64_t x24 = _mulx_u64(x5, x15, &x25);
- { uint64_t x28; uint64_t x27 = _mulx_u64(x5, x17, &x28);
- { uint64_t x31; uint64_t x30 = _mulx_u64(x5, x19, &x31);
- { uint64_t x34; uint64_t x33 = _mulx_u64(x5, x18, &x34);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(0x0, x22, x24, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x25, x27, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x28, x30, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x31, x33, &x45);
- { uint64_t x48; uint8_t _ = _addcarryx_u64(0x0, x46, x34, &x48);
- { uint64_t _; uint64_t x51 = _mulx_u64(x21, 0x86bca1af286bca1bL, &_);
- { uint64_t x55; uint64_t x54 = _mulx_u64(x51, 0xffffffffffffffedL, &x55);
- { uint64_t x58; uint64_t x57 = _mulx_u64(x51, 0xffffffffffffffffL, &x58);
- { uint64_t x61; uint64_t x60 = _mulx_u64(x51, 0xffffffffffffffffL, &x61);
- { uint64_t x64; uint64_t x63 = _mulx_u64(x51, 0xffffffffffffffffL, &x64);
- { uint64_t x67; uint64_t x66 = _mulx_u64(x51, 0x7ffffffff, &x67);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(0x0, x55, x57, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x58, x60, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x61, x63, &x75);
- { uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x64, x66, &x78);
- { uint64_t x81; uint8_t _ = _addcarryx_u64(0x0, x79, x67, &x81);
- { uint64_t _; uint8_t x85 = _addcarryx_u64(0x0, x21, x54, &_);
- { uint64_t x87; uint8_t x88 = _addcarryx_u64(x85, x36, x69, &x87);
- { uint64_t x90; uint8_t x91 = _addcarryx_u64(x88, x39, x72, &x90);
- { uint64_t x93; uint8_t x94 = _addcarryx_u64(x91, x42, x75, &x93);
- { uint64_t x96; uint8_t x97 = _addcarryx_u64(x94, x45, x78, &x96);
- { uint64_t x99; uint8_t x100 = _addcarryx_u64(x97, x48, x81, &x99);
- { uint64_t x103; uint64_t x102 = _mulx_u64(x7, x13, &x103);
- { uint64_t x106; uint64_t x105 = _mulx_u64(x7, x15, &x106);
- { uint64_t x109; uint64_t x108 = _mulx_u64(x7, x17, &x109);
- { uint64_t x112; uint64_t x111 = _mulx_u64(x7, x19, &x112);
- { uint64_t x115; uint64_t x114 = _mulx_u64(x7, x18, &x115);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(0x0, x103, x105, &x117);
- { uint64_t x120; uint8_t x121 = _addcarryx_u64(x118, x106, x108, &x120);
- { uint64_t x123; uint8_t x124 = _addcarryx_u64(x121, x109, x111, &x123);
- { uint64_t x126; uint8_t x127 = _addcarryx_u64(x124, x112, x114, &x126);
- { uint64_t x129; uint8_t _ = _addcarryx_u64(0x0, x127, x115, &x129);
- { uint64_t x132; uint8_t x133 = _addcarryx_u64(0x0, x87, x102, &x132);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(x133, x90, x117, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x93, x120, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x96, x123, &x141);
- { uint64_t x144; uint8_t x145 = _addcarryx_u64(x142, x99, x126, &x144);
- { uint64_t x147; uint8_t x148 = _addcarryx_u64(x145, x100, x129, &x147);
- { uint64_t _; uint64_t x150 = _mulx_u64(x132, 0x86bca1af286bca1bL, &_);
- { uint64_t x154; uint64_t x153 = _mulx_u64(x150, 0xffffffffffffffedL, &x154);
- { uint64_t x157; uint64_t x156 = _mulx_u64(x150, 0xffffffffffffffffL, &x157);
- { uint64_t x160; uint64_t x159 = _mulx_u64(x150, 0xffffffffffffffffL, &x160);
- { uint64_t x163; uint64_t x162 = _mulx_u64(x150, 0xffffffffffffffffL, &x163);
- { uint64_t x166; uint64_t x165 = _mulx_u64(x150, 0x7ffffffff, &x166);
- { uint64_t x168; uint8_t x169 = _addcarryx_u64(0x0, x154, x156, &x168);
- { uint64_t x171; uint8_t x172 = _addcarryx_u64(x169, x157, x159, &x171);
- { uint64_t x174; uint8_t x175 = _addcarryx_u64(x172, x160, x162, &x174);
- { uint64_t x177; uint8_t x178 = _addcarryx_u64(x175, x163, x165, &x177);
- { uint64_t x180; uint8_t _ = _addcarryx_u64(0x0, x178, x166, &x180);
- { uint64_t _; uint8_t x184 = _addcarryx_u64(0x0, x132, x153, &_);
- { uint64_t x186; uint8_t x187 = _addcarryx_u64(x184, x135, x168, &x186);
- { uint64_t x189; uint8_t x190 = _addcarryx_u64(x187, x138, x171, &x189);
- { uint64_t x192; uint8_t x193 = _addcarryx_u64(x190, x141, x174, &x192);
- { uint64_t x195; uint8_t x196 = _addcarryx_u64(x193, x144, x177, &x195);
- { uint64_t x198; uint8_t x199 = _addcarryx_u64(x196, x147, x180, &x198);
- { uint8_t x200 = (x199 + x148);
- { uint64_t x203; uint64_t x202 = _mulx_u64(x9, x13, &x203);
- { uint64_t x206; uint64_t x205 = _mulx_u64(x9, x15, &x206);
- { uint64_t x209; uint64_t x208 = _mulx_u64(x9, x17, &x209);
- { uint64_t x212; uint64_t x211 = _mulx_u64(x9, x19, &x212);
- { uint64_t x215; uint64_t x214 = _mulx_u64(x9, x18, &x215);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(0x0, x203, x205, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x206, x208, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x209, x211, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x212, x214, &x226);
- { uint64_t x229; uint8_t _ = _addcarryx_u64(0x0, x227, x215, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(0x0, x186, x202, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x189, x217, &x235);
- { uint64_t x238; uint8_t x239 = _addcarryx_u64(x236, x192, x220, &x238);
- { uint64_t x241; uint8_t x242 = _addcarryx_u64(x239, x195, x223, &x241);
- { uint64_t x244; uint8_t x245 = _addcarryx_u64(x242, x198, x226, &x244);
- { uint64_t x247; uint8_t x248 = _addcarryx_u64(x245, x200, x229, &x247);
- { uint64_t _; uint64_t x250 = _mulx_u64(x232, 0x86bca1af286bca1bL, &_);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x250, 0xffffffffffffffedL, &x254);
- { uint64_t x257; uint64_t x256 = _mulx_u64(x250, 0xffffffffffffffffL, &x257);
- { uint64_t x260; uint64_t x259 = _mulx_u64(x250, 0xffffffffffffffffL, &x260);
- { uint64_t x263; uint64_t x262 = _mulx_u64(x250, 0xffffffffffffffffL, &x263);
- { uint64_t x266; uint64_t x265 = _mulx_u64(x250, 0x7ffffffff, &x266);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(0x0, x254, x256, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x257, x259, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x260, x262, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x263, x265, &x277);
- { uint64_t x280; uint8_t _ = _addcarryx_u64(0x0, x278, x266, &x280);
- { uint64_t _; uint8_t x284 = _addcarryx_u64(0x0, x232, x253, &_);
- { uint64_t x286; uint8_t x287 = _addcarryx_u64(x284, x235, x268, &x286);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(x287, x238, x271, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x241, x274, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x244, x277, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x247, x280, &x298);
- { uint8_t x300 = (x299 + x248);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x11, x13, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x11, x15, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x11, x17, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x11, x19, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x11, x18, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x303, x305, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x306, x308, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x309, x311, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x312, x314, &x326);
- { uint64_t x329; uint8_t _ = _addcarryx_u64(0x0, x327, x315, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(0x0, x286, x302, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x289, x317, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x292, x320, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x295, x323, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x298, x326, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x300, x329, &x347);
- { uint64_t _; uint64_t x350 = _mulx_u64(x332, 0x86bca1af286bca1bL, &_);
- { uint64_t x354; uint64_t x353 = _mulx_u64(x350, 0xffffffffffffffedL, &x354);
- { uint64_t x357; uint64_t x356 = _mulx_u64(x350, 0xffffffffffffffffL, &x357);
- { uint64_t x360; uint64_t x359 = _mulx_u64(x350, 0xffffffffffffffffL, &x360);
- { uint64_t x363; uint64_t x362 = _mulx_u64(x350, 0xffffffffffffffffL, &x363);
- { uint64_t x366; uint64_t x365 = _mulx_u64(x350, 0x7ffffffff, &x366);
- { uint64_t x368; uint8_t x369 = _addcarryx_u64(0x0, x354, x356, &x368);
- { uint64_t x371; uint8_t x372 = _addcarryx_u64(x369, x357, x359, &x371);
- { uint64_t x374; uint8_t x375 = _addcarryx_u64(x372, x360, x362, &x374);
- { uint64_t x377; uint8_t x378 = _addcarryx_u64(x375, x363, x365, &x377);
- { uint64_t x380; uint8_t _ = _addcarryx_u64(0x0, x378, x366, &x380);
- { uint64_t _; uint8_t x384 = _addcarryx_u64(0x0, x332, x353, &_);
- { uint64_t x386; uint8_t x387 = _addcarryx_u64(x384, x335, x368, &x386);
- { uint64_t x389; uint8_t x390 = _addcarryx_u64(x387, x338, x371, &x389);
- { uint64_t x392; uint8_t x393 = _addcarryx_u64(x390, x341, x374, &x392);
- { uint64_t x395; uint8_t x396 = _addcarryx_u64(x393, x344, x377, &x395);
- { uint64_t x398; uint8_t x399 = _addcarryx_u64(x396, x347, x380, &x398);
- { uint8_t x400 = (x399 + x348);
- { uint64_t x403; uint64_t x402 = _mulx_u64(x10, x13, &x403);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x10, x15, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x10, x17, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x10, x19, &x412);
- { uint64_t x415; uint64_t x414 = _mulx_u64(x10, x18, &x415);
- { uint64_t x417; uint8_t x418 = _addcarryx_u64(0x0, x403, x405, &x417);
- { uint64_t x420; uint8_t x421 = _addcarryx_u64(x418, x406, x408, &x420);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(x421, x409, x411, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x412, x414, &x426);
- { uint64_t x429; uint8_t _ = _addcarryx_u64(0x0, x427, x415, &x429);
- { uint64_t x432; uint8_t x433 = _addcarryx_u64(0x0, x386, x402, &x432);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(x433, x389, x417, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x392, x420, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x395, x423, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x398, x426, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x400, x429, &x447);
- { uint64_t _; uint64_t x450 = _mulx_u64(x432, 0x86bca1af286bca1bL, &_);
- { uint64_t x454; uint64_t x453 = _mulx_u64(x450, 0xffffffffffffffedL, &x454);
- { uint64_t x457; uint64_t x456 = _mulx_u64(x450, 0xffffffffffffffffL, &x457);
- { uint64_t x460; uint64_t x459 = _mulx_u64(x450, 0xffffffffffffffffL, &x460);
- { uint64_t x463; uint64_t x462 = _mulx_u64(x450, 0xffffffffffffffffL, &x463);
- { uint64_t x466; uint64_t x465 = _mulx_u64(x450, 0x7ffffffff, &x466);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(0x0, x454, x456, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x457, x459, &x471);
- { uint64_t x474; uint8_t x475 = _addcarryx_u64(x472, x460, x462, &x474);
- { uint64_t x477; uint8_t x478 = _addcarryx_u64(x475, x463, x465, &x477);
- { uint64_t x480; uint8_t _ = _addcarryx_u64(0x0, x478, x466, &x480);
- { uint64_t _; uint8_t x484 = _addcarryx_u64(0x0, x432, x453, &_);
- { uint64_t x486; uint8_t x487 = _addcarryx_u64(x484, x435, x468, &x486);
- { uint64_t x489; uint8_t x490 = _addcarryx_u64(x487, x438, x471, &x489);
- { uint64_t x492; uint8_t x493 = _addcarryx_u64(x490, x441, x474, &x492);
- { uint64_t x495; uint8_t x496 = _addcarryx_u64(x493, x444, x477, &x495);
- { uint64_t x498; uint8_t x499 = _addcarryx_u64(x496, x447, x480, &x498);
- { uint8_t x500 = (x499 + x448);
- { uint64_t x502; uint8_t x503 = _subborrow_u64(0x0, x486, 0xffffffffffffffedL, &x502);
- { uint64_t x505; uint8_t x506 = _subborrow_u64(x503, x489, 0xffffffffffffffffL, &x505);
- { uint64_t x508; uint8_t x509 = _subborrow_u64(x506, x492, 0xffffffffffffffffL, &x508);
- { uint64_t x511; uint8_t x512 = _subborrow_u64(x509, x495, 0xffffffffffffffffL, &x511);
- { uint64_t x514; uint8_t x515 = _subborrow_u64(x512, x498, 0x7ffffffff, &x514);
- { uint64_t _; uint8_t x518 = _subborrow_u64(x515, x500, 0x0, &_);
- { uint64_t x519 = cmovznz64(x518, x514, x498);
- { uint64_t x520 = cmovznz64(x518, x511, x495);
- { uint64_t x521 = cmovznz64(x518, x508, x492);
- { uint64_t x522 = cmovznz64(x518, x505, x489);
- { uint64_t x523 = cmovznz64(x518, x502, x486);
- out[0] = x523;
- out[1] = x522;
- out[2] = x521;
- out[3] = x520;
- out[4] = x519;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/femul.v b/src/Specific/montgomery64_2e291m19_5limbs/femul.v
deleted file mode 100644
index 0ac794521..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.log b/src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.log
deleted file mode 100644
index 5cf09abe3..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,181 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint64_t x22 = mulx_u64(x5, x13);
- uint64_t x24, uint64_t x25 = mulx_u64(x5, x15);
- uint64_t x27, uint64_t x28 = mulx_u64(x5, x17);
- uint64_t x30, uint64_t x31 = mulx_u64(x5, x19);
- uint64_t x33, uint64_t x34 = mulx_u64(x5, x18);
- uint64_t x36, uint8_t x37 = addcarryx_u64(0x0, x22, x24);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x25, x27);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x28, x30);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x31, x33);
- uint64_t x48, uint8_t _ = addcarryx_u64(0x0, x46, x34);
- uint64_t x51, uint64_t _ = mulx_u64(x21, 0x86bca1af286bca1bL);
- uint64_t x54, uint64_t x55 = mulx_u64(x51, 0xffffffffffffffedL);
- uint64_t x57, uint64_t x58 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x60, uint64_t x61 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x63, uint64_t x64 = mulx_u64(x51, 0xffffffffffffffffL);
- uint64_t x66, uint64_t x67 = mulx_u64(x51, 0x7ffffffff);
- uint64_t x69, uint8_t x70 = addcarryx_u64(0x0, x55, x57);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x58, x60);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x61, x63);
- uint64_t x78, uint8_t x79 = addcarryx_u64(x76, x64, x66);
- uint64_t x81, uint8_t _ = addcarryx_u64(0x0, x79, x67);
- uint64_t _, uint8_t x85 = addcarryx_u64(0x0, x21, x54);
- uint64_t x87, uint8_t x88 = addcarryx_u64(x85, x36, x69);
- uint64_t x90, uint8_t x91 = addcarryx_u64(x88, x39, x72);
- uint64_t x93, uint8_t x94 = addcarryx_u64(x91, x42, x75);
- uint64_t x96, uint8_t x97 = addcarryx_u64(x94, x45, x78);
- uint64_t x99, uint8_t x100 = addcarryx_u64(x97, x48, x81);
- uint64_t x102, uint64_t x103 = mulx_u64(x7, x13);
- uint64_t x105, uint64_t x106 = mulx_u64(x7, x15);
- uint64_t x108, uint64_t x109 = mulx_u64(x7, x17);
- uint64_t x111, uint64_t x112 = mulx_u64(x7, x19);
- uint64_t x114, uint64_t x115 = mulx_u64(x7, x18);
- uint64_t x117, uint8_t x118 = addcarryx_u64(0x0, x103, x105);
- uint64_t x120, uint8_t x121 = addcarryx_u64(x118, x106, x108);
- uint64_t x123, uint8_t x124 = addcarryx_u64(x121, x109, x111);
- uint64_t x126, uint8_t x127 = addcarryx_u64(x124, x112, x114);
- uint64_t x129, uint8_t _ = addcarryx_u64(0x0, x127, x115);
- uint64_t x132, uint8_t x133 = addcarryx_u64(0x0, x87, x102);
- uint64_t x135, uint8_t x136 = addcarryx_u64(x133, x90, x117);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x93, x120);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x96, x123);
- uint64_t x144, uint8_t x145 = addcarryx_u64(x142, x99, x126);
- uint64_t x147, uint8_t x148 = addcarryx_u64(x145, x100, x129);
- uint64_t x150, uint64_t _ = mulx_u64(x132, 0x86bca1af286bca1bL);
- uint64_t x153, uint64_t x154 = mulx_u64(x150, 0xffffffffffffffedL);
- uint64_t x156, uint64_t x157 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x159, uint64_t x160 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x162, uint64_t x163 = mulx_u64(x150, 0xffffffffffffffffL);
- uint64_t x165, uint64_t x166 = mulx_u64(x150, 0x7ffffffff);
- uint64_t x168, uint8_t x169 = addcarryx_u64(0x0, x154, x156);
- uint64_t x171, uint8_t x172 = addcarryx_u64(x169, x157, x159);
- uint64_t x174, uint8_t x175 = addcarryx_u64(x172, x160, x162);
- uint64_t x177, uint8_t x178 = addcarryx_u64(x175, x163, x165);
- uint64_t x180, uint8_t _ = addcarryx_u64(0x0, x178, x166);
- uint64_t _, uint8_t x184 = addcarryx_u64(0x0, x132, x153);
- uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x135, x168);
- uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x138, x171);
- uint64_t x192, uint8_t x193 = addcarryx_u64(x190, x141, x174);
- uint64_t x195, uint8_t x196 = addcarryx_u64(x193, x144, x177);
- uint64_t x198, uint8_t x199 = addcarryx_u64(x196, x147, x180);
- uint8_t x200 = (x199 + x148);
- uint64_t x202, uint64_t x203 = mulx_u64(x9, x13);
- uint64_t x205, uint64_t x206 = mulx_u64(x9, x15);
- uint64_t x208, uint64_t x209 = mulx_u64(x9, x17);
- uint64_t x211, uint64_t x212 = mulx_u64(x9, x19);
- uint64_t x214, uint64_t x215 = mulx_u64(x9, x18);
- uint64_t x217, uint8_t x218 = addcarryx_u64(0x0, x203, x205);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x206, x208);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x209, x211);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x212, x214);
- uint64_t x229, uint8_t _ = addcarryx_u64(0x0, x227, x215);
- uint64_t x232, uint8_t x233 = addcarryx_u64(0x0, x186, x202);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x189, x217);
- uint64_t x238, uint8_t x239 = addcarryx_u64(x236, x192, x220);
- uint64_t x241, uint8_t x242 = addcarryx_u64(x239, x195, x223);
- uint64_t x244, uint8_t x245 = addcarryx_u64(x242, x198, x226);
- uint64_t x247, uint8_t x248 = addcarryx_u64(x245, x200, x229);
- uint64_t x250, uint64_t _ = mulx_u64(x232, 0x86bca1af286bca1bL);
- uint64_t x253, uint64_t x254 = mulx_u64(x250, 0xffffffffffffffedL);
- uint64_t x256, uint64_t x257 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x259, uint64_t x260 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x262, uint64_t x263 = mulx_u64(x250, 0xffffffffffffffffL);
- uint64_t x265, uint64_t x266 = mulx_u64(x250, 0x7ffffffff);
- uint64_t x268, uint8_t x269 = addcarryx_u64(0x0, x254, x256);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x257, x259);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x260, x262);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x263, x265);
- uint64_t x280, uint8_t _ = addcarryx_u64(0x0, x278, x266);
- uint64_t _, uint8_t x284 = addcarryx_u64(0x0, x232, x253);
- uint64_t x286, uint8_t x287 = addcarryx_u64(x284, x235, x268);
- uint64_t x289, uint8_t x290 = addcarryx_u64(x287, x238, x271);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x241, x274);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x244, x277);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x247, x280);
- uint8_t x300 = (x299 + x248);
- uint64_t x302, uint64_t x303 = mulx_u64(x11, x13);
- uint64_t x305, uint64_t x306 = mulx_u64(x11, x15);
- uint64_t x308, uint64_t x309 = mulx_u64(x11, x17);
- uint64_t x311, uint64_t x312 = mulx_u64(x11, x19);
- uint64_t x314, uint64_t x315 = mulx_u64(x11, x18);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x303, x305);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x306, x308);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x309, x311);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x312, x314);
- uint64_t x329, uint8_t _ = addcarryx_u64(0x0, x327, x315);
- uint64_t x332, uint8_t x333 = addcarryx_u64(0x0, x286, x302);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x289, x317);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x292, x320);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x295, x323);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x298, x326);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x300, x329);
- uint64_t x350, uint64_t _ = mulx_u64(x332, 0x86bca1af286bca1bL);
- uint64_t x353, uint64_t x354 = mulx_u64(x350, 0xffffffffffffffedL);
- uint64_t x356, uint64_t x357 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x359, uint64_t x360 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x362, uint64_t x363 = mulx_u64(x350, 0xffffffffffffffffL);
- uint64_t x365, uint64_t x366 = mulx_u64(x350, 0x7ffffffff);
- uint64_t x368, uint8_t x369 = addcarryx_u64(0x0, x354, x356);
- uint64_t x371, uint8_t x372 = addcarryx_u64(x369, x357, x359);
- uint64_t x374, uint8_t x375 = addcarryx_u64(x372, x360, x362);
- uint64_t x377, uint8_t x378 = addcarryx_u64(x375, x363, x365);
- uint64_t x380, uint8_t _ = addcarryx_u64(0x0, x378, x366);
- uint64_t _, uint8_t x384 = addcarryx_u64(0x0, x332, x353);
- uint64_t x386, uint8_t x387 = addcarryx_u64(x384, x335, x368);
- uint64_t x389, uint8_t x390 = addcarryx_u64(x387, x338, x371);
- uint64_t x392, uint8_t x393 = addcarryx_u64(x390, x341, x374);
- uint64_t x395, uint8_t x396 = addcarryx_u64(x393, x344, x377);
- uint64_t x398, uint8_t x399 = addcarryx_u64(x396, x347, x380);
- uint8_t x400 = (x399 + x348);
- uint64_t x402, uint64_t x403 = mulx_u64(x10, x13);
- uint64_t x405, uint64_t x406 = mulx_u64(x10, x15);
- uint64_t x408, uint64_t x409 = mulx_u64(x10, x17);
- uint64_t x411, uint64_t x412 = mulx_u64(x10, x19);
- uint64_t x414, uint64_t x415 = mulx_u64(x10, x18);
- uint64_t x417, uint8_t x418 = addcarryx_u64(0x0, x403, x405);
- uint64_t x420, uint8_t x421 = addcarryx_u64(x418, x406, x408);
- uint64_t x423, uint8_t x424 = addcarryx_u64(x421, x409, x411);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x412, x414);
- uint64_t x429, uint8_t _ = addcarryx_u64(0x0, x427, x415);
- uint64_t x432, uint8_t x433 = addcarryx_u64(0x0, x386, x402);
- uint64_t x435, uint8_t x436 = addcarryx_u64(x433, x389, x417);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x392, x420);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x395, x423);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x398, x426);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x400, x429);
- uint64_t x450, uint64_t _ = mulx_u64(x432, 0x86bca1af286bca1bL);
- uint64_t x453, uint64_t x454 = mulx_u64(x450, 0xffffffffffffffedL);
- uint64_t x456, uint64_t x457 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x459, uint64_t x460 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x462, uint64_t x463 = mulx_u64(x450, 0xffffffffffffffffL);
- uint64_t x465, uint64_t x466 = mulx_u64(x450, 0x7ffffffff);
- uint64_t x468, uint8_t x469 = addcarryx_u64(0x0, x454, x456);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x457, x459);
- uint64_t x474, uint8_t x475 = addcarryx_u64(x472, x460, x462);
- uint64_t x477, uint8_t x478 = addcarryx_u64(x475, x463, x465);
- uint64_t x480, uint8_t _ = addcarryx_u64(0x0, x478, x466);
- uint64_t _, uint8_t x484 = addcarryx_u64(0x0, x432, x453);
- uint64_t x486, uint8_t x487 = addcarryx_u64(x484, x435, x468);
- uint64_t x489, uint8_t x490 = addcarryx_u64(x487, x438, x471);
- uint64_t x492, uint8_t x493 = addcarryx_u64(x490, x441, x474);
- uint64_t x495, uint8_t x496 = addcarryx_u64(x493, x444, x477);
- uint64_t x498, uint8_t x499 = addcarryx_u64(x496, x447, x480);
- uint8_t x500 = (x499 + x448);
- uint64_t x502, uint8_t x503 = subborrow_u64(0x0, x486, 0xffffffffffffffedL);
- uint64_t x505, uint8_t x506 = subborrow_u64(x503, x489, 0xffffffffffffffffL);
- uint64_t x508, uint8_t x509 = subborrow_u64(x506, x492, 0xffffffffffffffffL);
- uint64_t x511, uint8_t x512 = subborrow_u64(x509, x495, 0xffffffffffffffffL);
- uint64_t x514, uint8_t x515 = subborrow_u64(x512, x498, 0x7ffffffff);
- uint64_t _, uint8_t x518 = subborrow_u64(x515, x500, 0x0);
- uint64_t x519 = cmovznz64(x518, x514, x498);
- uint64_t x520 = cmovznz64(x518, x511, x495);
- uint64_t x521 = cmovznz64(x518, x508, x492);
- uint64_t x522 = cmovznz64(x518, x505, x489);
- uint64_t x523 = cmovznz64(x518, x502, x486);
- return (x519, x520, x521, x522, x523))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.v b/src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.v
deleted file mode 100644
index 555e4ba04..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fenz.c b/src/Specific/montgomery64_2e291m19_5limbs/fenz.c
deleted file mode 100644
index 0a779af7c..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fenz.c
+++ /dev/null
@@ -1,13 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x9 = (x8 | x7);
- { uint64_t x10 = (x6 | x9);
- { uint64_t x11 = (x4 | x10);
- { uint64_t x12 = (x2 | x11);
- out[0] = x12;
- }}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fenz.v b/src/Specific/montgomery64_2e291m19_5limbs/fenz.v
deleted file mode 100644
index fa3922b93..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.log b/src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.log
deleted file mode 100644
index 4f18295b0..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.log
+++ /dev/null
@@ -1,11 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x8 | x7);
- uint64_t x10 = (x6 | x9);
- uint64_t x11 = (x4 | x10);
- uint64_t x12 = (x2 | x11);
- return x12)
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.v b/src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.v
deleted file mode 100644
index 06f67cb4e..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feopp.c b/src/Specific/montgomery64_2e291m19_5limbs/feopp.c
deleted file mode 100644
index 31390ffd8..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feopp.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void feopp(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t x11 = _subborrow_u64(0x0, 0x0, x2, &x10);
- { uint64_t x13; uint8_t x14 = _subborrow_u64(x11, 0x0, x4, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u64(x14, 0x0, x6, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u64(x17, 0x0, x8, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u64(x20, 0x0, x7, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xffffffffffffffedL);
- { uint64_t x27; uint8_t x28 = _addcarryx_u64(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0xffffffffffffffffL);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0xffffffffffffffffL);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0xffffffffffffffffL);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x7ffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u64(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feopp.v b/src/Specific/montgomery64_2e291m19_5limbs/feopp.v
deleted file mode 100644
index 1b35f18e2..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.log b/src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.log
deleted file mode 100644
index 5c4609742..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x13, uint8_t x14 = subborrow_u64(x11, 0x0, x4);
- uint64_t x16, uint8_t x17 = subborrow_u64(x14, 0x0, x6);
- uint64_t x19, uint8_t x20 = subborrow_u64(x17, 0x0, x8);
- uint64_t x22, uint8_t x23 = subborrow_u64(x20, 0x0, x7);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xffffffffffffffedL);
- uint64_t x27, uint8_t x28 = addcarryx_u64(0x0, x10, x25);
- uint64_t x29 = (x24 & 0xffffffffffffffffL);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x28, x13, x29);
- uint64_t x33 = (x24 & 0xffffffffffffffffL);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x32, x16, x33);
- uint64_t x37 = (x24 & 0xffffffffffffffffL);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x36, x19, x37);
- uint64_t x41 = (x24 & 0x7ffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u64(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.v b/src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.v
deleted file mode 100644
index 263c48e3f..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fesquare.c b/src/Specific/montgomery64_2e291m19_5limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fesub.c b/src/Specific/montgomery64_2e291m19_5limbs/fesub.c
deleted file mode 100644
index cfc10c92f..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fesub.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint64_t x21; uint8_t x22 = _subborrow_u64(0x0, x5, x13, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, x7, x15, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, x9, x17, &x27);
- { uint64_t x30; uint8_t x31 = _subborrow_u64(x28, x11, x19, &x30);
- { uint64_t x33; uint8_t x34 = _subborrow_u64(x31, x10, x18, &x33);
- { uint64_t x35 = cmovznz64(x34, 0x0, 0xffffffffffffffffL);
- { uint64_t x36 = (x35 & 0xffffffffffffffedL);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(0x0, x21, x36, &x38);
- { uint64_t x40 = (x35 & 0xffffffffffffffffL);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x39, x24, x40, &x42);
- { uint64_t x44 = (x35 & 0xffffffffffffffffL);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x43, x27, x44, &x46);
- { uint64_t x48 = (x35 & 0xffffffffffffffffL);
- { uint64_t x50; uint8_t x51 = _addcarryx_u64(x47, x30, x48, &x50);
- { uint64_t x52 = (x35 & 0x7ffffffff);
- { uint64_t x54; uint8_t _ = _addcarryx_u64(x51, x33, x52, &x54);
- out[0] = x38;
- out[1] = x42;
- out[2] = x46;
- out[3] = x50;
- out[4] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fesub.v b/src/Specific/montgomery64_2e291m19_5limbs/fesub.v
deleted file mode 100644
index d19f6790d..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.log b/src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.log
deleted file mode 100644
index 75ea81a86..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x21, uint8_t x22 = subborrow_u64(0x0, x5, x13);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, x7, x15);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, x9, x17);
- uint64_t x30, uint8_t x31 = subborrow_u64(x28, x11, x19);
- uint64_t x33, uint8_t x34 = subborrow_u64(x31, x10, x18);
- uint64_t x35 = cmovznz64(x34, 0x0, 0xffffffffffffffffL);
- uint64_t x36 = (x35 & 0xffffffffffffffedL);
- uint64_t x38, uint8_t x39 = addcarryx_u64(0x0, x21, x36);
- uint64_t x40 = (x35 & 0xffffffffffffffffL);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x39, x24, x40);
- uint64_t x44 = (x35 & 0xffffffffffffffffL);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x43, x27, x44);
- uint64_t x48 = (x35 & 0xffffffffffffffffL);
- uint64_t x50, uint8_t x51 = addcarryx_u64(x47, x30, x48);
- uint64_t x52 = (x35 & 0x7ffffffff);
- uint64_t x54, uint8_t _ = addcarryx_u64(x51, x33, x52);
- (Return x54, Return x50, Return x46, Return x42, Return x38))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.v b/src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.v
deleted file mode 100644
index 0d79990e5..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e291m19_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/py_interpreter.sh b/src/Specific/montgomery64_2e291m19_5limbs/py_interpreter.sh
deleted file mode 100755
index 3ba9fdbd4..000000000
--- a/src/Specific/montgomery64_2e291m19_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**291 - 19' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e321m9_6limbs/CurveParameters.v
deleted file mode 100644
index 040e23d2d..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^321 - 9
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^321;
- c := [(1, 9)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e321m9_6limbs/Synthesis.v b/src/Specific/montgomery64_2e321m9_6limbs/Synthesis.v
deleted file mode 100644
index f085b9d5d..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.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/montgomery64_2e321m9_6limbs/compiler.sh b/src/Specific/montgomery64_2e321m9_6limbs/compiler.sh
deleted file mode 100755
index cb2337264..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e321m9_6limbs/compilerxx.sh
deleted file mode 100755
index 06cf9951e..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feadd.c b/src/Specific/montgomery64_2e321m9_6limbs/feadd.c
deleted file mode 100644
index a995a347f..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xfffffffffffffff7L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x1, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feadd.v b/src/Specific/montgomery64_2e321m9_6limbs/feadd.v
deleted file mode 100644
index f40c6c43b..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.log
deleted file mode 100644
index 7af9dbdbc..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xfffffffffffffff7L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x1);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.v
deleted file mode 100644
index f72c54942..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/femul.c b/src/Specific/montgomery64_2e321m9_6limbs/femul.c
deleted file mode 100644
index b56aef734..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/femul.c
+++ /dev/null
@@ -1,254 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0x8e38e38e38e38e39L, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xfffffffffffffff7L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x79; uint8_t x80 = _addcarryx_u64(0x0, x65, x67, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(x80, x68, x70, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x71, x73, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x74, x76, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x77, x61, &x91);
- { uint64_t _; uint8_t x95 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x97; uint8_t x98 = _addcarryx_u64(x95, x43, x79, &x97);
- { uint64_t x100; uint8_t x101 = _addcarryx_u64(x98, x46, x82, &x100);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x49, x85, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x52, x88, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x55, x91, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x58, x92, &x112);
- { uint64_t x116; uint64_t x115 = _mulx_u64(x7, x15, &x116);
- { uint64_t x119; uint64_t x118 = _mulx_u64(x7, x17, &x119);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x19, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x21, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x23, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x22, &x131);
- { uint64_t x133; uint8_t x134 = _addcarryx_u64(0x0, x116, x118, &x133);
- { uint64_t x136; uint8_t x137 = _addcarryx_u64(x134, x119, x121, &x136);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(x137, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t _ = _addcarryx_u64(0x0, x146, x131, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(0x0, x97, x115, &x151);
- { uint64_t x154; uint8_t x155 = _addcarryx_u64(x152, x100, x133, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(x155, x103, x136, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x113, x148, &x169);
- { uint64_t _; uint64_t x172 = _mulx_u64(x151, 0x8e38e38e38e38e39L, &_);
- { uint64_t x176; uint64_t x175 = _mulx_u64(x172, 0xfffffffffffffff7L, &x176);
- { uint64_t x179; uint64_t x178 = _mulx_u64(x172, 0xffffffffffffffffL, &x179);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x172, 0xffffffffffffffffL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x172, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x172, 0xffffffffffffffffL, &x188);
- { uint64_t x190; uint8_t x191 = _addcarryx_u64(0x0, x176, x178, &x190);
- { uint64_t x193; uint8_t x194 = _addcarryx_u64(x191, x179, x181, &x193);
- { uint64_t x196; uint8_t x197 = _addcarryx_u64(x194, x182, x184, &x196);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(x197, x185, x187, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x188, x172, &x202);
- { uint64_t _; uint8_t x206 = _addcarryx_u64(0x0, x151, x175, &_);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x154, x190, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x157, x193, &x211);
- { uint64_t x214; uint8_t x215 = _addcarryx_u64(x212, x160, x196, &x214);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(x215, x163, x199, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x166, x202, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x169, x203, &x223);
- { uint8_t x225 = (x224 + x170);
- { uint64_t x228; uint64_t x227 = _mulx_u64(x9, x15, &x228);
- { uint64_t x231; uint64_t x230 = _mulx_u64(x9, x17, &x231);
- { uint64_t x234; uint64_t x233 = _mulx_u64(x9, x19, &x234);
- { uint64_t x237; uint64_t x236 = _mulx_u64(x9, x21, &x237);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x23, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x22, &x243);
- { uint64_t x245; uint8_t x246 = _addcarryx_u64(0x0, x228, x230, &x245);
- { uint64_t x248; uint8_t x249 = _addcarryx_u64(x246, x231, x233, &x248);
- { uint64_t x251; uint8_t x252 = _addcarryx_u64(x249, x234, x236, &x251);
- { uint64_t x254; uint8_t x255 = _addcarryx_u64(x252, x237, x239, &x254);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(x255, x240, x242, &x257);
- { uint64_t x260; uint8_t _ = _addcarryx_u64(0x0, x258, x243, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(0x0, x208, x227, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x211, x245, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x214, x248, &x269);
- { uint64_t x272; uint8_t x273 = _addcarryx_u64(x270, x217, x251, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(x273, x220, x254, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x225, x260, &x281);
- { uint64_t _; uint64_t x284 = _mulx_u64(x263, 0x8e38e38e38e38e39L, &_);
- { uint64_t x288; uint64_t x287 = _mulx_u64(x284, 0xfffffffffffffff7L, &x288);
- { uint64_t x291; uint64_t x290 = _mulx_u64(x284, 0xffffffffffffffffL, &x291);
- { uint64_t x294; uint64_t x293 = _mulx_u64(x284, 0xffffffffffffffffL, &x294);
- { uint64_t x297; uint64_t x296 = _mulx_u64(x284, 0xffffffffffffffffL, &x297);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x284, 0xffffffffffffffffL, &x300);
- { uint64_t x302; uint8_t x303 = _addcarryx_u64(0x0, x288, x290, &x302);
- { uint64_t x305; uint8_t x306 = _addcarryx_u64(x303, x291, x293, &x305);
- { uint64_t x308; uint8_t x309 = _addcarryx_u64(x306, x294, x296, &x308);
- { uint64_t x311; uint8_t x312 = _addcarryx_u64(x309, x297, x299, &x311);
- { uint64_t x314; uint8_t x315 = _addcarryx_u64(x312, x300, x284, &x314);
- { uint64_t _; uint8_t x318 = _addcarryx_u64(0x0, x263, x287, &_);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x266, x302, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x269, x305, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x272, x308, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x275, x311, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(x330, x278, x314, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x281, x315, &x335);
- { uint8_t x337 = (x336 + x282);
- { uint64_t x340; uint64_t x339 = _mulx_u64(x11, x15, &x340);
- { uint64_t x343; uint64_t x342 = _mulx_u64(x11, x17, &x343);
- { uint64_t x346; uint64_t x345 = _mulx_u64(x11, x19, &x346);
- { uint64_t x349; uint64_t x348 = _mulx_u64(x11, x21, &x349);
- { uint64_t x352; uint64_t x351 = _mulx_u64(x11, x23, &x352);
- { uint64_t x355; uint64_t x354 = _mulx_u64(x11, x22, &x355);
- { uint64_t x357; uint8_t x358 = _addcarryx_u64(0x0, x340, x342, &x357);
- { uint64_t x360; uint8_t x361 = _addcarryx_u64(x358, x343, x345, &x360);
- { uint64_t x363; uint8_t x364 = _addcarryx_u64(x361, x346, x348, &x363);
- { uint64_t x366; uint8_t x367 = _addcarryx_u64(x364, x349, x351, &x366);
- { uint64_t x369; uint8_t x370 = _addcarryx_u64(x367, x352, x354, &x369);
- { uint64_t x372; uint8_t _ = _addcarryx_u64(0x0, x370, x355, &x372);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x320, x339, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x323, x357, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x326, x360, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x329, x363, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x332, x366, &x387);
- { uint64_t x390; uint8_t x391 = _addcarryx_u64(x388, x335, x369, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(x391, x337, x372, &x393);
- { uint64_t _; uint64_t x396 = _mulx_u64(x375, 0x8e38e38e38e38e39L, &_);
- { uint64_t x400; uint64_t x399 = _mulx_u64(x396, 0xfffffffffffffff7L, &x400);
- { uint64_t x403; uint64_t x402 = _mulx_u64(x396, 0xffffffffffffffffL, &x403);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x396, 0xffffffffffffffffL, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x396, 0xffffffffffffffffL, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x396, 0xffffffffffffffffL, &x412);
- { uint64_t x414; uint8_t x415 = _addcarryx_u64(0x0, x400, x402, &x414);
- { uint64_t x417; uint8_t x418 = _addcarryx_u64(x415, x403, x405, &x417);
- { uint64_t x420; uint8_t x421 = _addcarryx_u64(x418, x406, x408, &x420);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(x421, x409, x411, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x412, x396, &x426);
- { uint64_t _; uint8_t x430 = _addcarryx_u64(0x0, x375, x399, &_);
- { uint64_t x432; uint8_t x433 = _addcarryx_u64(x430, x378, x414, &x432);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(x433, x381, x417, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x384, x420, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x387, x423, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x390, x426, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x393, x427, &x447);
- { uint8_t x449 = (x448 + x394);
- { uint64_t x452; uint64_t x451 = _mulx_u64(x13, x15, &x452);
- { uint64_t x455; uint64_t x454 = _mulx_u64(x13, x17, &x455);
- { uint64_t x458; uint64_t x457 = _mulx_u64(x13, x19, &x458);
- { uint64_t x461; uint64_t x460 = _mulx_u64(x13, x21, &x461);
- { uint64_t x464; uint64_t x463 = _mulx_u64(x13, x23, &x464);
- { uint64_t x467; uint64_t x466 = _mulx_u64(x13, x22, &x467);
- { uint64_t x469; uint8_t x470 = _addcarryx_u64(0x0, x452, x454, &x469);
- { uint64_t x472; uint8_t x473 = _addcarryx_u64(x470, x455, x457, &x472);
- { uint64_t x475; uint8_t x476 = _addcarryx_u64(x473, x458, x460, &x475);
- { uint64_t x478; uint8_t x479 = _addcarryx_u64(x476, x461, x463, &x478);
- { uint64_t x481; uint8_t x482 = _addcarryx_u64(x479, x464, x466, &x481);
- { uint64_t x484; uint8_t _ = _addcarryx_u64(0x0, x482, x467, &x484);
- { uint64_t x487; uint8_t x488 = _addcarryx_u64(0x0, x432, x451, &x487);
- { uint64_t x490; uint8_t x491 = _addcarryx_u64(x488, x435, x469, &x490);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(x491, x438, x472, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x441, x475, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x444, x478, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x447, x481, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x449, x484, &x505);
- { uint64_t _; uint64_t x508 = _mulx_u64(x487, 0x8e38e38e38e38e39L, &_);
- { uint64_t x512; uint64_t x511 = _mulx_u64(x508, 0xfffffffffffffff7L, &x512);
- { uint64_t x515; uint64_t x514 = _mulx_u64(x508, 0xffffffffffffffffL, &x515);
- { uint64_t x518; uint64_t x517 = _mulx_u64(x508, 0xffffffffffffffffL, &x518);
- { uint64_t x521; uint64_t x520 = _mulx_u64(x508, 0xffffffffffffffffL, &x521);
- { uint64_t x524; uint64_t x523 = _mulx_u64(x508, 0xffffffffffffffffL, &x524);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(0x0, x512, x514, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x515, x517, &x529);
- { uint64_t x532; uint8_t x533 = _addcarryx_u64(x530, x518, x520, &x532);
- { uint64_t x535; uint8_t x536 = _addcarryx_u64(x533, x521, x523, &x535);
- { uint64_t x538; uint8_t x539 = _addcarryx_u64(x536, x524, x508, &x538);
- { uint64_t _; uint8_t x542 = _addcarryx_u64(0x0, x487, x511, &_);
- { uint64_t x544; uint8_t x545 = _addcarryx_u64(x542, x490, x526, &x544);
- { uint64_t x547; uint8_t x548 = _addcarryx_u64(x545, x493, x529, &x547);
- { uint64_t x550; uint8_t x551 = _addcarryx_u64(x548, x496, x532, &x550);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(x551, x499, x535, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x502, x538, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x505, x539, &x559);
- { uint8_t x561 = (x560 + x506);
- { uint64_t x564; uint64_t x563 = _mulx_u64(x12, x15, &x564);
- { uint64_t x567; uint64_t x566 = _mulx_u64(x12, x17, &x567);
- { uint64_t x570; uint64_t x569 = _mulx_u64(x12, x19, &x570);
- { uint64_t x573; uint64_t x572 = _mulx_u64(x12, x21, &x573);
- { uint64_t x576; uint64_t x575 = _mulx_u64(x12, x23, &x576);
- { uint64_t x579; uint64_t x578 = _mulx_u64(x12, x22, &x579);
- { uint64_t x581; uint8_t x582 = _addcarryx_u64(0x0, x564, x566, &x581);
- { uint64_t x584; uint8_t x585 = _addcarryx_u64(x582, x567, x569, &x584);
- { uint64_t x587; uint8_t x588 = _addcarryx_u64(x585, x570, x572, &x587);
- { uint64_t x590; uint8_t x591 = _addcarryx_u64(x588, x573, x575, &x590);
- { uint64_t x593; uint8_t x594 = _addcarryx_u64(x591, x576, x578, &x593);
- { uint64_t x596; uint8_t _ = _addcarryx_u64(0x0, x594, x579, &x596);
- { uint64_t x599; uint8_t x600 = _addcarryx_u64(0x0, x544, x563, &x599);
- { uint64_t x602; uint8_t x603 = _addcarryx_u64(x600, x547, x581, &x602);
- { uint64_t x605; uint8_t x606 = _addcarryx_u64(x603, x550, x584, &x605);
- { uint64_t x608; uint8_t x609 = _addcarryx_u64(x606, x553, x587, &x608);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(x609, x556, x590, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x559, x593, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x561, x596, &x617);
- { uint64_t _; uint64_t x620 = _mulx_u64(x599, 0x8e38e38e38e38e39L, &_);
- { uint64_t x624; uint64_t x623 = _mulx_u64(x620, 0xfffffffffffffff7L, &x624);
- { uint64_t x627; uint64_t x626 = _mulx_u64(x620, 0xffffffffffffffffL, &x627);
- { uint64_t x630; uint64_t x629 = _mulx_u64(x620, 0xffffffffffffffffL, &x630);
- { uint64_t x633; uint64_t x632 = _mulx_u64(x620, 0xffffffffffffffffL, &x633);
- { uint64_t x636; uint64_t x635 = _mulx_u64(x620, 0xffffffffffffffffL, &x636);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(0x0, x624, x626, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x627, x629, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x630, x632, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x633, x635, &x647);
- { uint64_t x650; uint8_t x651 = _addcarryx_u64(x648, x636, x620, &x650);
- { uint64_t _; uint8_t x654 = _addcarryx_u64(0x0, x599, x623, &_);
- { uint64_t x656; uint8_t x657 = _addcarryx_u64(x654, x602, x638, &x656);
- { uint64_t x659; uint8_t x660 = _addcarryx_u64(x657, x605, x641, &x659);
- { uint64_t x662; uint8_t x663 = _addcarryx_u64(x660, x608, x644, &x662);
- { uint64_t x665; uint8_t x666 = _addcarryx_u64(x663, x611, x647, &x665);
- { uint64_t x668; uint8_t x669 = _addcarryx_u64(x666, x614, x650, &x668);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(x669, x617, x651, &x671);
- { uint8_t x673 = (x672 + x618);
- { uint64_t x675; uint8_t x676 = _subborrow_u64(0x0, x656, 0xfffffffffffffff7L, &x675);
- { uint64_t x678; uint8_t x679 = _subborrow_u64(x676, x659, 0xffffffffffffffffL, &x678);
- { uint64_t x681; uint8_t x682 = _subborrow_u64(x679, x662, 0xffffffffffffffffL, &x681);
- { uint64_t x684; uint8_t x685 = _subborrow_u64(x682, x665, 0xffffffffffffffffL, &x684);
- { uint64_t x687; uint8_t x688 = _subborrow_u64(x685, x668, 0xffffffffffffffffL, &x687);
- { uint64_t x690; uint8_t x691 = _subborrow_u64(x688, x671, 0x1, &x690);
- { uint64_t _; uint8_t x694 = _subborrow_u64(x691, x673, 0x0, &_);
- { uint64_t x695 = cmovznz64(x694, x690, x671);
- { uint64_t x696 = cmovznz64(x694, x687, x668);
- { uint64_t x697 = cmovznz64(x694, x684, x665);
- { uint64_t x698 = cmovznz64(x694, x681, x662);
- { uint64_t x699 = cmovznz64(x694, x678, x659);
- { uint64_t x700 = cmovznz64(x694, x675, x656);
- out[0] = x700;
- out[1] = x699;
- out[2] = x698;
- out[3] = x697;
- out[4] = x696;
- out[5] = x695;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/femul.v b/src/Specific/montgomery64_2e321m9_6limbs/femul.v
deleted file mode 100644
index 4b75e66ff..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.log
deleted file mode 100644
index adf3b5b55..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,240 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0x8e38e38e38e38e39L);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xfffffffffffffff7L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint8_t x80 = addcarryx_u64(0x0, x65, x67);
- uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x68, x70);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x71, x73);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x74, x76);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x77, x61);
- uint64_t _, uint8_t x95 = addcarryx_u64(0x0, x25, x64);
- uint64_t x97, uint8_t x98 = addcarryx_u64(x95, x43, x79);
- uint64_t x100, uint8_t x101 = addcarryx_u64(x98, x46, x82);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x49, x85);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x52, x88);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x55, x91);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x58, x92);
- uint64_t x115, uint64_t x116 = mulx_u64(x7, x15);
- uint64_t x118, uint64_t x119 = mulx_u64(x7, x17);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x19);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x21);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x23);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x22);
- uint64_t x133, uint8_t x134 = addcarryx_u64(0x0, x116, x118);
- uint64_t x136, uint8_t x137 = addcarryx_u64(x134, x119, x121);
- uint64_t x139, uint8_t x140 = addcarryx_u64(x137, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t _ = addcarryx_u64(0x0, x146, x131);
- uint64_t x151, uint8_t x152 = addcarryx_u64(0x0, x97, x115);
- uint64_t x154, uint8_t x155 = addcarryx_u64(x152, x100, x133);
- uint64_t x157, uint8_t x158 = addcarryx_u64(x155, x103, x136);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x113, x148);
- uint64_t x172, uint64_t _ = mulx_u64(x151, 0x8e38e38e38e38e39L);
- uint64_t x175, uint64_t x176 = mulx_u64(x172, 0xfffffffffffffff7L);
- uint64_t x178, uint64_t x179 = mulx_u64(x172, 0xffffffffffffffffL);
- uint64_t x181, uint64_t x182 = mulx_u64(x172, 0xffffffffffffffffL);
- uint64_t x184, uint64_t x185 = mulx_u64(x172, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x172, 0xffffffffffffffffL);
- uint64_t x190, uint8_t x191 = addcarryx_u64(0x0, x176, x178);
- uint64_t x193, uint8_t x194 = addcarryx_u64(x191, x179, x181);
- uint64_t x196, uint8_t x197 = addcarryx_u64(x194, x182, x184);
- uint64_t x199, uint8_t x200 = addcarryx_u64(x197, x185, x187);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x188, x172);
- uint64_t _, uint8_t x206 = addcarryx_u64(0x0, x151, x175);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x154, x190);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x157, x193);
- uint64_t x214, uint8_t x215 = addcarryx_u64(x212, x160, x196);
- uint64_t x217, uint8_t x218 = addcarryx_u64(x215, x163, x199);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x166, x202);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x169, x203);
- uint8_t x225 = (x224 + x170);
- uint64_t x227, uint64_t x228 = mulx_u64(x9, x15);
- uint64_t x230, uint64_t x231 = mulx_u64(x9, x17);
- uint64_t x233, uint64_t x234 = mulx_u64(x9, x19);
- uint64_t x236, uint64_t x237 = mulx_u64(x9, x21);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x23);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x22);
- uint64_t x245, uint8_t x246 = addcarryx_u64(0x0, x228, x230);
- uint64_t x248, uint8_t x249 = addcarryx_u64(x246, x231, x233);
- uint64_t x251, uint8_t x252 = addcarryx_u64(x249, x234, x236);
- uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x237, x239);
- uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x240, x242);
- uint64_t x260, uint8_t _ = addcarryx_u64(0x0, x258, x243);
- uint64_t x263, uint8_t x264 = addcarryx_u64(0x0, x208, x227);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x211, x245);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x214, x248);
- uint64_t x272, uint8_t x273 = addcarryx_u64(x270, x217, x251);
- uint64_t x275, uint8_t x276 = addcarryx_u64(x273, x220, x254);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x225, x260);
- uint64_t x284, uint64_t _ = mulx_u64(x263, 0x8e38e38e38e38e39L);
- uint64_t x287, uint64_t x288 = mulx_u64(x284, 0xfffffffffffffff7L);
- uint64_t x290, uint64_t x291 = mulx_u64(x284, 0xffffffffffffffffL);
- uint64_t x293, uint64_t x294 = mulx_u64(x284, 0xffffffffffffffffL);
- uint64_t x296, uint64_t x297 = mulx_u64(x284, 0xffffffffffffffffL);
- uint64_t x299, uint64_t x300 = mulx_u64(x284, 0xffffffffffffffffL);
- uint64_t x302, uint8_t x303 = addcarryx_u64(0x0, x288, x290);
- uint64_t x305, uint8_t x306 = addcarryx_u64(x303, x291, x293);
- uint64_t x308, uint8_t x309 = addcarryx_u64(x306, x294, x296);
- uint64_t x311, uint8_t x312 = addcarryx_u64(x309, x297, x299);
- uint64_t x314, uint8_t x315 = addcarryx_u64(x312, x300, x284);
- uint64_t _, uint8_t x318 = addcarryx_u64(0x0, x263, x287);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x266, x302);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x269, x305);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x272, x308);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x275, x311);
- uint64_t x332, uint8_t x333 = addcarryx_u64(x330, x278, x314);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x281, x315);
- uint8_t x337 = (x336 + x282);
- uint64_t x339, uint64_t x340 = mulx_u64(x11, x15);
- uint64_t x342, uint64_t x343 = mulx_u64(x11, x17);
- uint64_t x345, uint64_t x346 = mulx_u64(x11, x19);
- uint64_t x348, uint64_t x349 = mulx_u64(x11, x21);
- uint64_t x351, uint64_t x352 = mulx_u64(x11, x23);
- uint64_t x354, uint64_t x355 = mulx_u64(x11, x22);
- uint64_t x357, uint8_t x358 = addcarryx_u64(0x0, x340, x342);
- uint64_t x360, uint8_t x361 = addcarryx_u64(x358, x343, x345);
- uint64_t x363, uint8_t x364 = addcarryx_u64(x361, x346, x348);
- uint64_t x366, uint8_t x367 = addcarryx_u64(x364, x349, x351);
- uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x352, x354);
- uint64_t x372, uint8_t _ = addcarryx_u64(0x0, x370, x355);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x320, x339);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x323, x357);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x326, x360);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x329, x363);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x332, x366);
- uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x335, x369);
- uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x337, x372);
- uint64_t x396, uint64_t _ = mulx_u64(x375, 0x8e38e38e38e38e39L);
- uint64_t x399, uint64_t x400 = mulx_u64(x396, 0xfffffffffffffff7L);
- uint64_t x402, uint64_t x403 = mulx_u64(x396, 0xffffffffffffffffL);
- uint64_t x405, uint64_t x406 = mulx_u64(x396, 0xffffffffffffffffL);
- uint64_t x408, uint64_t x409 = mulx_u64(x396, 0xffffffffffffffffL);
- uint64_t x411, uint64_t x412 = mulx_u64(x396, 0xffffffffffffffffL);
- uint64_t x414, uint8_t x415 = addcarryx_u64(0x0, x400, x402);
- uint64_t x417, uint8_t x418 = addcarryx_u64(x415, x403, x405);
- uint64_t x420, uint8_t x421 = addcarryx_u64(x418, x406, x408);
- uint64_t x423, uint8_t x424 = addcarryx_u64(x421, x409, x411);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x412, x396);
- uint64_t _, uint8_t x430 = addcarryx_u64(0x0, x375, x399);
- uint64_t x432, uint8_t x433 = addcarryx_u64(x430, x378, x414);
- uint64_t x435, uint8_t x436 = addcarryx_u64(x433, x381, x417);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x384, x420);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x387, x423);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x390, x426);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x393, x427);
- uint8_t x449 = (x448 + x394);
- uint64_t x451, uint64_t x452 = mulx_u64(x13, x15);
- uint64_t x454, uint64_t x455 = mulx_u64(x13, x17);
- uint64_t x457, uint64_t x458 = mulx_u64(x13, x19);
- uint64_t x460, uint64_t x461 = mulx_u64(x13, x21);
- uint64_t x463, uint64_t x464 = mulx_u64(x13, x23);
- uint64_t x466, uint64_t x467 = mulx_u64(x13, x22);
- uint64_t x469, uint8_t x470 = addcarryx_u64(0x0, x452, x454);
- uint64_t x472, uint8_t x473 = addcarryx_u64(x470, x455, x457);
- uint64_t x475, uint8_t x476 = addcarryx_u64(x473, x458, x460);
- uint64_t x478, uint8_t x479 = addcarryx_u64(x476, x461, x463);
- uint64_t x481, uint8_t x482 = addcarryx_u64(x479, x464, x466);
- uint64_t x484, uint8_t _ = addcarryx_u64(0x0, x482, x467);
- uint64_t x487, uint8_t x488 = addcarryx_u64(0x0, x432, x451);
- uint64_t x490, uint8_t x491 = addcarryx_u64(x488, x435, x469);
- uint64_t x493, uint8_t x494 = addcarryx_u64(x491, x438, x472);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x441, x475);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x444, x478);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x447, x481);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x449, x484);
- uint64_t x508, uint64_t _ = mulx_u64(x487, 0x8e38e38e38e38e39L);
- uint64_t x511, uint64_t x512 = mulx_u64(x508, 0xfffffffffffffff7L);
- uint64_t x514, uint64_t x515 = mulx_u64(x508, 0xffffffffffffffffL);
- uint64_t x517, uint64_t x518 = mulx_u64(x508, 0xffffffffffffffffL);
- uint64_t x520, uint64_t x521 = mulx_u64(x508, 0xffffffffffffffffL);
- uint64_t x523, uint64_t x524 = mulx_u64(x508, 0xffffffffffffffffL);
- uint64_t x526, uint8_t x527 = addcarryx_u64(0x0, x512, x514);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x515, x517);
- uint64_t x532, uint8_t x533 = addcarryx_u64(x530, x518, x520);
- uint64_t x535, uint8_t x536 = addcarryx_u64(x533, x521, x523);
- uint64_t x538, uint8_t x539 = addcarryx_u64(x536, x524, x508);
- uint64_t _, uint8_t x542 = addcarryx_u64(0x0, x487, x511);
- uint64_t x544, uint8_t x545 = addcarryx_u64(x542, x490, x526);
- uint64_t x547, uint8_t x548 = addcarryx_u64(x545, x493, x529);
- uint64_t x550, uint8_t x551 = addcarryx_u64(x548, x496, x532);
- uint64_t x553, uint8_t x554 = addcarryx_u64(x551, x499, x535);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x502, x538);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x505, x539);
- uint8_t x561 = (x560 + x506);
- uint64_t x563, uint64_t x564 = mulx_u64(x12, x15);
- uint64_t x566, uint64_t x567 = mulx_u64(x12, x17);
- uint64_t x569, uint64_t x570 = mulx_u64(x12, x19);
- uint64_t x572, uint64_t x573 = mulx_u64(x12, x21);
- uint64_t x575, uint64_t x576 = mulx_u64(x12, x23);
- uint64_t x578, uint64_t x579 = mulx_u64(x12, x22);
- uint64_t x581, uint8_t x582 = addcarryx_u64(0x0, x564, x566);
- uint64_t x584, uint8_t x585 = addcarryx_u64(x582, x567, x569);
- uint64_t x587, uint8_t x588 = addcarryx_u64(x585, x570, x572);
- uint64_t x590, uint8_t x591 = addcarryx_u64(x588, x573, x575);
- uint64_t x593, uint8_t x594 = addcarryx_u64(x591, x576, x578);
- uint64_t x596, uint8_t _ = addcarryx_u64(0x0, x594, x579);
- uint64_t x599, uint8_t x600 = addcarryx_u64(0x0, x544, x563);
- uint64_t x602, uint8_t x603 = addcarryx_u64(x600, x547, x581);
- uint64_t x605, uint8_t x606 = addcarryx_u64(x603, x550, x584);
- uint64_t x608, uint8_t x609 = addcarryx_u64(x606, x553, x587);
- uint64_t x611, uint8_t x612 = addcarryx_u64(x609, x556, x590);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x559, x593);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x561, x596);
- uint64_t x620, uint64_t _ = mulx_u64(x599, 0x8e38e38e38e38e39L);
- uint64_t x623, uint64_t x624 = mulx_u64(x620, 0xfffffffffffffff7L);
- uint64_t x626, uint64_t x627 = mulx_u64(x620, 0xffffffffffffffffL);
- uint64_t x629, uint64_t x630 = mulx_u64(x620, 0xffffffffffffffffL);
- uint64_t x632, uint64_t x633 = mulx_u64(x620, 0xffffffffffffffffL);
- uint64_t x635, uint64_t x636 = mulx_u64(x620, 0xffffffffffffffffL);
- uint64_t x638, uint8_t x639 = addcarryx_u64(0x0, x624, x626);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x627, x629);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x630, x632);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x633, x635);
- uint64_t x650, uint8_t x651 = addcarryx_u64(x648, x636, x620);
- uint64_t _, uint8_t x654 = addcarryx_u64(0x0, x599, x623);
- uint64_t x656, uint8_t x657 = addcarryx_u64(x654, x602, x638);
- uint64_t x659, uint8_t x660 = addcarryx_u64(x657, x605, x641);
- uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x608, x644);
- uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x611, x647);
- uint64_t x668, uint8_t x669 = addcarryx_u64(x666, x614, x650);
- uint64_t x671, uint8_t x672 = addcarryx_u64(x669, x617, x651);
- uint8_t x673 = (x672 + x618);
- uint64_t x675, uint8_t x676 = subborrow_u64(0x0, x656, 0xfffffffffffffff7L);
- uint64_t x678, uint8_t x679 = subborrow_u64(x676, x659, 0xffffffffffffffffL);
- uint64_t x681, uint8_t x682 = subborrow_u64(x679, x662, 0xffffffffffffffffL);
- uint64_t x684, uint8_t x685 = subborrow_u64(x682, x665, 0xffffffffffffffffL);
- uint64_t x687, uint8_t x688 = subborrow_u64(x685, x668, 0xffffffffffffffffL);
- uint64_t x690, uint8_t x691 = subborrow_u64(x688, x671, 0x1);
- uint64_t _, uint8_t x694 = subborrow_u64(x691, x673, 0x0);
- uint64_t x695 = cmovznz64(x694, x690, x671);
- uint64_t x696 = cmovznz64(x694, x687, x668);
- uint64_t x697 = cmovznz64(x694, x684, x665);
- uint64_t x698 = cmovznz64(x694, x681, x662);
- uint64_t x699 = cmovznz64(x694, x678, x659);
- uint64_t x700 = cmovznz64(x694, x675, x656);
- return (x695, x696, x697, x698, x699, x700))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.v
deleted file mode 100644
index 66a1d87e9..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fenz.c b/src/Specific/montgomery64_2e321m9_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fenz.v b/src/Specific/montgomery64_2e321m9_6limbs/fenz.v
deleted file mode 100644
index a6a081c6b..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.v
deleted file mode 100644
index c6254b2eb..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feopp.c b/src/Specific/montgomery64_2e321m9_6limbs/feopp.c
deleted file mode 100644
index f0a4603ea..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffffffff7L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint8_t x50 = ((uint8_t)x29 & 0x1);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feopp.v b/src/Specific/montgomery64_2e321m9_6limbs/feopp.v
deleted file mode 100644
index d7d19fbc2..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.log
deleted file mode 100644
index 07d8bfd39..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffffffff7L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint8_t x50 = ((uint8_t)x29 & 0x1);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.v
deleted file mode 100644
index 6a052f147..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fesquare.c b/src/Specific/montgomery64_2e321m9_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fesub.c b/src/Specific/montgomery64_2e321m9_6limbs/fesub.c
deleted file mode 100644
index 5bb8fc37b..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xfffffffffffffff7L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint8_t x63 = ((uint8_t)x42 & 0x1);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fesub.v b/src/Specific/montgomery64_2e321m9_6limbs/fesub.v
deleted file mode 100644
index 54be69609..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.log
deleted file mode 100644
index 482ae2c09..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xfffffffffffffff7L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint8_t x63 = ((uint8_t)x42 & 0x1);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.v
deleted file mode 100644
index 5b27aece0..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e321m9_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e321m9_6limbs/py_interpreter.sh
deleted file mode 100755
index 568a64ea0..000000000
--- a/src/Specific/montgomery64_2e321m9_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**321 - 9' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/CurveParameters.v
deleted file mode 100644
index 340e7f55a..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^322 - 2^161 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^322;
- c := [(1, 1); (2^161, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e322m2e161m1_6limbs/Synthesis.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/Synthesis.v
deleted file mode 100644
index 414b2efaf..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.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/montgomery64_2e322m2e161m1_6limbs/compiler.sh b/src/Specific/montgomery64_2e322m2e161m1_6limbs/compiler.sh
deleted file mode 100755
index 0a29f9a09..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e322m2e161m1_6limbs/compilerxx.sh
deleted file mode 100755
index 0b186ffe2..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.c
deleted file mode 100644
index 44531fadd..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffffL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xfffffffdffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x3, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.v
deleted file mode 100644
index ff6d282d2..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.log
deleted file mode 100644
index 407fc8bb8..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffffL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xfffffffdffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x3);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.v
deleted file mode 100644
index 963e5e0a3..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.c
deleted file mode 100644
index 21650b616..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.c
+++ /dev/null
@@ -1,260 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t x62; uint64_t x61 = _mulx_u64(x25, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x25, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x25, 0xfffffffdffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x25, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x25, 0xffffffffffffffffL, &x74);
- { uint8_t x77; uint64_t x76 = _mulx_u64_out_u8(x25, 0x3, &x77);
- { uint64_t x79; uint8_t x80 = _addcarryx_u64(0x0, x62, x64, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(x80, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint8_t x93 = (x92 + x77);
- { uint64_t _; uint8_t x96 = _addcarryx_u64(0x0, x25, x61, &_);
- { uint64_t x98; uint8_t x99 = _addcarryx_u64(x96, x43, x79, &x98);
- { uint64_t x101; uint8_t x102 = _addcarryx_u64(x99, x46, x82, &x101);
- { uint64_t x104; uint8_t x105 = _addcarryx_u64(x102, x49, x85, &x104);
- { uint64_t x107; uint8_t x108 = _addcarryx_u64(x105, x52, x88, &x107);
- { uint64_t x110; uint8_t x111 = _addcarryx_u64(x108, x55, x91, &x110);
- { uint64_t x113; uint8_t x114 = _addcarryx_u64(x111, x58, x93, &x113);
- { uint64_t x117; uint64_t x116 = _mulx_u64(x7, x15, &x117);
- { uint64_t x120; uint64_t x119 = _mulx_u64(x7, x17, &x120);
- { uint64_t x123; uint64_t x122 = _mulx_u64(x7, x19, &x123);
- { uint64_t x126; uint64_t x125 = _mulx_u64(x7, x21, &x126);
- { uint64_t x129; uint64_t x128 = _mulx_u64(x7, x23, &x129);
- { uint64_t x132; uint64_t x131 = _mulx_u64(x7, x22, &x132);
- { uint64_t x134; uint8_t x135 = _addcarryx_u64(0x0, x117, x119, &x134);
- { uint64_t x137; uint8_t x138 = _addcarryx_u64(x135, x120, x122, &x137);
- { uint64_t x140; uint8_t x141 = _addcarryx_u64(x138, x123, x125, &x140);
- { uint64_t x143; uint8_t x144 = _addcarryx_u64(x141, x126, x128, &x143);
- { uint64_t x146; uint8_t x147 = _addcarryx_u64(x144, x129, x131, &x146);
- { uint64_t x149; uint8_t _ = _addcarryx_u64(0x0, x147, x132, &x149);
- { uint64_t x152; uint8_t x153 = _addcarryx_u64(0x0, x98, x116, &x152);
- { uint64_t x155; uint8_t x156 = _addcarryx_u64(x153, x101, x134, &x155);
- { uint64_t x158; uint8_t x159 = _addcarryx_u64(x156, x104, x137, &x158);
- { uint64_t x161; uint8_t x162 = _addcarryx_u64(x159, x107, x140, &x161);
- { uint64_t x164; uint8_t x165 = _addcarryx_u64(x162, x110, x143, &x164);
- { uint64_t x167; uint8_t x168 = _addcarryx_u64(x165, x113, x146, &x167);
- { uint64_t x170; uint8_t x171 = _addcarryx_u64(x168, x114, x149, &x170);
- { uint64_t x174; uint64_t x173 = _mulx_u64(x152, 0xffffffffffffffffL, &x174);
- { uint64_t x177; uint64_t x176 = _mulx_u64(x152, 0xffffffffffffffffL, &x177);
- { uint64_t x180; uint64_t x179 = _mulx_u64(x152, 0xfffffffdffffffffL, &x180);
- { uint64_t x183; uint64_t x182 = _mulx_u64(x152, 0xffffffffffffffffL, &x183);
- { uint64_t x186; uint64_t x185 = _mulx_u64(x152, 0xffffffffffffffffL, &x186);
- { uint8_t x189; uint64_t x188 = _mulx_u64_out_u8(x152, 0x3, &x189);
- { uint64_t x191; uint8_t x192 = _addcarryx_u64(0x0, x174, x176, &x191);
- { uint64_t x194; uint8_t x195 = _addcarryx_u64(x192, x177, x179, &x194);
- { uint64_t x197; uint8_t x198 = _addcarryx_u64(x195, x180, x182, &x197);
- { uint64_t x200; uint8_t x201 = _addcarryx_u64(x198, x183, x185, &x200);
- { uint64_t x203; uint8_t x204 = _addcarryx_u64(x201, x186, x188, &x203);
- { uint8_t x205 = (x204 + x189);
- { uint64_t _; uint8_t x208 = _addcarryx_u64(0x0, x152, x173, &_);
- { uint64_t x210; uint8_t x211 = _addcarryx_u64(x208, x155, x191, &x210);
- { uint64_t x213; uint8_t x214 = _addcarryx_u64(x211, x158, x194, &x213);
- { uint64_t x216; uint8_t x217 = _addcarryx_u64(x214, x161, x197, &x216);
- { uint64_t x219; uint8_t x220 = _addcarryx_u64(x217, x164, x200, &x219);
- { uint64_t x222; uint8_t x223 = _addcarryx_u64(x220, x167, x203, &x222);
- { uint64_t x225; uint8_t x226 = _addcarryx_u64(x223, x170, x205, &x225);
- { uint8_t x227 = (x226 + x171);
- { uint64_t x230; uint64_t x229 = _mulx_u64(x9, x15, &x230);
- { uint64_t x233; uint64_t x232 = _mulx_u64(x9, x17, &x233);
- { uint64_t x236; uint64_t x235 = _mulx_u64(x9, x19, &x236);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x9, x21, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x9, x23, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x9, x22, &x245);
- { uint64_t x247; uint8_t x248 = _addcarryx_u64(0x0, x230, x232, &x247);
- { uint64_t x250; uint8_t x251 = _addcarryx_u64(x248, x233, x235, &x250);
- { uint64_t x253; uint8_t x254 = _addcarryx_u64(x251, x236, x238, &x253);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(x254, x239, x241, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x242, x244, &x259);
- { uint64_t x262; uint8_t _ = _addcarryx_u64(0x0, x260, x245, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(0x0, x210, x229, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x213, x247, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x216, x250, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x219, x253, &x274);
- { uint64_t x277; uint8_t x278 = _addcarryx_u64(x275, x222, x256, &x277);
- { uint64_t x280; uint8_t x281 = _addcarryx_u64(x278, x225, x259, &x280);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x227, x262, &x283);
- { uint64_t x287; uint64_t x286 = _mulx_u64(x265, 0xffffffffffffffffL, &x287);
- { uint64_t x290; uint64_t x289 = _mulx_u64(x265, 0xffffffffffffffffL, &x290);
- { uint64_t x293; uint64_t x292 = _mulx_u64(x265, 0xfffffffdffffffffL, &x293);
- { uint64_t x296; uint64_t x295 = _mulx_u64(x265, 0xffffffffffffffffL, &x296);
- { uint64_t x299; uint64_t x298 = _mulx_u64(x265, 0xffffffffffffffffL, &x299);
- { uint8_t x302; uint64_t x301 = _mulx_u64_out_u8(x265, 0x3, &x302);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(0x0, x287, x289, &x304);
- { uint64_t x307; uint8_t x308 = _addcarryx_u64(x305, x290, x292, &x307);
- { uint64_t x310; uint8_t x311 = _addcarryx_u64(x308, x293, x295, &x310);
- { uint64_t x313; uint8_t x314 = _addcarryx_u64(x311, x296, x298, &x313);
- { uint64_t x316; uint8_t x317 = _addcarryx_u64(x314, x299, x301, &x316);
- { uint8_t x318 = (x317 + x302);
- { uint64_t _; uint8_t x321 = _addcarryx_u64(0x0, x265, x286, &_);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x268, x304, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x271, x307, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x274, x310, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(x330, x277, x313, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x280, x316, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x283, x318, &x338);
- { uint8_t x340 = (x339 + x284);
- { uint64_t x343; uint64_t x342 = _mulx_u64(x11, x15, &x343);
- { uint64_t x346; uint64_t x345 = _mulx_u64(x11, x17, &x346);
- { uint64_t x349; uint64_t x348 = _mulx_u64(x11, x19, &x349);
- { uint64_t x352; uint64_t x351 = _mulx_u64(x11, x21, &x352);
- { uint64_t x355; uint64_t x354 = _mulx_u64(x11, x23, &x355);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x22, &x358);
- { uint64_t x360; uint8_t x361 = _addcarryx_u64(0x0, x343, x345, &x360);
- { uint64_t x363; uint8_t x364 = _addcarryx_u64(x361, x346, x348, &x363);
- { uint64_t x366; uint8_t x367 = _addcarryx_u64(x364, x349, x351, &x366);
- { uint64_t x369; uint8_t x370 = _addcarryx_u64(x367, x352, x354, &x369);
- { uint64_t x372; uint8_t x373 = _addcarryx_u64(x370, x355, x357, &x372);
- { uint64_t x375; uint8_t _ = _addcarryx_u64(0x0, x373, x358, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(0x0, x323, x342, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x326, x360, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x329, x363, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x332, x366, &x387);
- { uint64_t x390; uint8_t x391 = _addcarryx_u64(x388, x335, x369, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(x391, x338, x372, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x340, x375, &x396);
- { uint64_t x400; uint64_t x399 = _mulx_u64(x378, 0xffffffffffffffffL, &x400);
- { uint64_t x403; uint64_t x402 = _mulx_u64(x378, 0xffffffffffffffffL, &x403);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x378, 0xfffffffdffffffffL, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x378, 0xffffffffffffffffL, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x378, 0xffffffffffffffffL, &x412);
- { uint8_t x415; uint64_t x414 = _mulx_u64_out_u8(x378, 0x3, &x415);
- { uint64_t x417; uint8_t x418 = _addcarryx_u64(0x0, x400, x402, &x417);
- { uint64_t x420; uint8_t x421 = _addcarryx_u64(x418, x403, x405, &x420);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(x421, x406, x408, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x409, x411, &x426);
- { uint64_t x429; uint8_t x430 = _addcarryx_u64(x427, x412, x414, &x429);
- { uint8_t x431 = (x430 + x415);
- { uint64_t _; uint8_t x434 = _addcarryx_u64(0x0, x378, x399, &_);
- { uint64_t x436; uint8_t x437 = _addcarryx_u64(x434, x381, x417, &x436);
- { uint64_t x439; uint8_t x440 = _addcarryx_u64(x437, x384, x420, &x439);
- { uint64_t x442; uint8_t x443 = _addcarryx_u64(x440, x387, x423, &x442);
- { uint64_t x445; uint8_t x446 = _addcarryx_u64(x443, x390, x426, &x445);
- { uint64_t x448; uint8_t x449 = _addcarryx_u64(x446, x393, x429, &x448);
- { uint64_t x451; uint8_t x452 = _addcarryx_u64(x449, x396, x431, &x451);
- { uint8_t x453 = (x452 + x397);
- { uint64_t x456; uint64_t x455 = _mulx_u64(x13, x15, &x456);
- { uint64_t x459; uint64_t x458 = _mulx_u64(x13, x17, &x459);
- { uint64_t x462; uint64_t x461 = _mulx_u64(x13, x19, &x462);
- { uint64_t x465; uint64_t x464 = _mulx_u64(x13, x21, &x465);
- { uint64_t x468; uint64_t x467 = _mulx_u64(x13, x23, &x468);
- { uint64_t x471; uint64_t x470 = _mulx_u64(x13, x22, &x471);
- { uint64_t x473; uint8_t x474 = _addcarryx_u64(0x0, x456, x458, &x473);
- { uint64_t x476; uint8_t x477 = _addcarryx_u64(x474, x459, x461, &x476);
- { uint64_t x479; uint8_t x480 = _addcarryx_u64(x477, x462, x464, &x479);
- { uint64_t x482; uint8_t x483 = _addcarryx_u64(x480, x465, x467, &x482);
- { uint64_t x485; uint8_t x486 = _addcarryx_u64(x483, x468, x470, &x485);
- { uint64_t x488; uint8_t _ = _addcarryx_u64(0x0, x486, x471, &x488);
- { uint64_t x491; uint8_t x492 = _addcarryx_u64(0x0, x436, x455, &x491);
- { uint64_t x494; uint8_t x495 = _addcarryx_u64(x492, x439, x473, &x494);
- { uint64_t x497; uint8_t x498 = _addcarryx_u64(x495, x442, x476, &x497);
- { uint64_t x500; uint8_t x501 = _addcarryx_u64(x498, x445, x479, &x500);
- { uint64_t x503; uint8_t x504 = _addcarryx_u64(x501, x448, x482, &x503);
- { uint64_t x506; uint8_t x507 = _addcarryx_u64(x504, x451, x485, &x506);
- { uint64_t x509; uint8_t x510 = _addcarryx_u64(x507, x453, x488, &x509);
- { uint64_t x513; uint64_t x512 = _mulx_u64(x491, 0xffffffffffffffffL, &x513);
- { uint64_t x516; uint64_t x515 = _mulx_u64(x491, 0xffffffffffffffffL, &x516);
- { uint64_t x519; uint64_t x518 = _mulx_u64(x491, 0xfffffffdffffffffL, &x519);
- { uint64_t x522; uint64_t x521 = _mulx_u64(x491, 0xffffffffffffffffL, &x522);
- { uint64_t x525; uint64_t x524 = _mulx_u64(x491, 0xffffffffffffffffL, &x525);
- { uint8_t x528; uint64_t x527 = _mulx_u64_out_u8(x491, 0x3, &x528);
- { uint64_t x530; uint8_t x531 = _addcarryx_u64(0x0, x513, x515, &x530);
- { uint64_t x533; uint8_t x534 = _addcarryx_u64(x531, x516, x518, &x533);
- { uint64_t x536; uint8_t x537 = _addcarryx_u64(x534, x519, x521, &x536);
- { uint64_t x539; uint8_t x540 = _addcarryx_u64(x537, x522, x524, &x539);
- { uint64_t x542; uint8_t x543 = _addcarryx_u64(x540, x525, x527, &x542);
- { uint8_t x544 = (x543 + x528);
- { uint64_t _; uint8_t x547 = _addcarryx_u64(0x0, x491, x512, &_);
- { uint64_t x549; uint8_t x550 = _addcarryx_u64(x547, x494, x530, &x549);
- { uint64_t x552; uint8_t x553 = _addcarryx_u64(x550, x497, x533, &x552);
- { uint64_t x555; uint8_t x556 = _addcarryx_u64(x553, x500, x536, &x555);
- { uint64_t x558; uint8_t x559 = _addcarryx_u64(x556, x503, x539, &x558);
- { uint64_t x561; uint8_t x562 = _addcarryx_u64(x559, x506, x542, &x561);
- { uint64_t x564; uint8_t x565 = _addcarryx_u64(x562, x509, x544, &x564);
- { uint8_t x566 = (x565 + x510);
- { uint64_t x569; uint64_t x568 = _mulx_u64(x12, x15, &x569);
- { uint64_t x572; uint64_t x571 = _mulx_u64(x12, x17, &x572);
- { uint64_t x575; uint64_t x574 = _mulx_u64(x12, x19, &x575);
- { uint64_t x578; uint64_t x577 = _mulx_u64(x12, x21, &x578);
- { uint64_t x581; uint64_t x580 = _mulx_u64(x12, x23, &x581);
- { uint64_t x584; uint64_t x583 = _mulx_u64(x12, x22, &x584);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(0x0, x569, x571, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x572, x574, &x589);
- { uint64_t x592; uint8_t x593 = _addcarryx_u64(x590, x575, x577, &x592);
- { uint64_t x595; uint8_t x596 = _addcarryx_u64(x593, x578, x580, &x595);
- { uint64_t x598; uint8_t x599 = _addcarryx_u64(x596, x581, x583, &x598);
- { uint64_t x601; uint8_t _ = _addcarryx_u64(0x0, x599, x584, &x601);
- { uint64_t x604; uint8_t x605 = _addcarryx_u64(0x0, x549, x568, &x604);
- { uint64_t x607; uint8_t x608 = _addcarryx_u64(x605, x552, x586, &x607);
- { uint64_t x610; uint8_t x611 = _addcarryx_u64(x608, x555, x589, &x610);
- { uint64_t x613; uint8_t x614 = _addcarryx_u64(x611, x558, x592, &x613);
- { uint64_t x616; uint8_t x617 = _addcarryx_u64(x614, x561, x595, &x616);
- { uint64_t x619; uint8_t x620 = _addcarryx_u64(x617, x564, x598, &x619);
- { uint64_t x622; uint8_t x623 = _addcarryx_u64(x620, x566, x601, &x622);
- { uint64_t x626; uint64_t x625 = _mulx_u64(x604, 0xffffffffffffffffL, &x626);
- { uint64_t x629; uint64_t x628 = _mulx_u64(x604, 0xffffffffffffffffL, &x629);
- { uint64_t x632; uint64_t x631 = _mulx_u64(x604, 0xfffffffdffffffffL, &x632);
- { uint64_t x635; uint64_t x634 = _mulx_u64(x604, 0xffffffffffffffffL, &x635);
- { uint64_t x638; uint64_t x637 = _mulx_u64(x604, 0xffffffffffffffffL, &x638);
- { uint8_t x641; uint64_t x640 = _mulx_u64_out_u8(x604, 0x3, &x641);
- { uint64_t x643; uint8_t x644 = _addcarryx_u64(0x0, x626, x628, &x643);
- { uint64_t x646; uint8_t x647 = _addcarryx_u64(x644, x629, x631, &x646);
- { uint64_t x649; uint8_t x650 = _addcarryx_u64(x647, x632, x634, &x649);
- { uint64_t x652; uint8_t x653 = _addcarryx_u64(x650, x635, x637, &x652);
- { uint64_t x655; uint8_t x656 = _addcarryx_u64(x653, x638, x640, &x655);
- { uint8_t x657 = (x656 + x641);
- { uint64_t _; uint8_t x660 = _addcarryx_u64(0x0, x604, x625, &_);
- { uint64_t x662; uint8_t x663 = _addcarryx_u64(x660, x607, x643, &x662);
- { uint64_t x665; uint8_t x666 = _addcarryx_u64(x663, x610, x646, &x665);
- { uint64_t x668; uint8_t x669 = _addcarryx_u64(x666, x613, x649, &x668);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(x669, x616, x652, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x619, x655, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x622, x657, &x677);
- { uint8_t x679 = (x678 + x623);
- { uint64_t x681; uint8_t x682 = _subborrow_u64(0x0, x662, 0xffffffffffffffffL, &x681);
- { uint64_t x684; uint8_t x685 = _subborrow_u64(x682, x665, 0xffffffffffffffffL, &x684);
- { uint64_t x687; uint8_t x688 = _subborrow_u64(x685, x668, 0xfffffffdffffffffL, &x687);
- { uint64_t x690; uint8_t x691 = _subborrow_u64(x688, x671, 0xffffffffffffffffL, &x690);
- { uint64_t x693; uint8_t x694 = _subborrow_u64(x691, x674, 0xffffffffffffffffL, &x693);
- { uint64_t x696; uint8_t x697 = _subborrow_u64(x694, x677, 0x3, &x696);
- { uint64_t _; uint8_t x700 = _subborrow_u64(x697, x679, 0x0, &_);
- { uint64_t x701 = cmovznz64(x700, x696, x677);
- { uint64_t x702 = cmovznz64(x700, x693, x674);
- { uint64_t x703 = cmovznz64(x700, x690, x671);
- { uint64_t x704 = cmovznz64(x700, x687, x668);
- { uint64_t x705 = cmovznz64(x700, x684, x665);
- { uint64_t x706 = cmovznz64(x700, x681, x662);
- out[0] = x706;
- out[1] = x705;
- out[2] = x704;
- out[3] = x703;
- out[4] = x702;
- out[5] = x701;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.v
deleted file mode 100644
index 2c8b34a65..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.log
deleted file mode 100644
index bd69c25d5..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,246 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t x62 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x64, uint64_t x65 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x67, uint64_t x68 = mulx_u64(x25, 0xfffffffdffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x76, uint8_t x77 = mulx_u64_out_u8(x25, 0x3);
- uint64_t x79, uint8_t x80 = addcarryx_u64(0x0, x62, x64);
- uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint8_t x93 = (x92 + x77);
- uint64_t _, uint8_t x96 = addcarryx_u64(0x0, x25, x61);
- uint64_t x98, uint8_t x99 = addcarryx_u64(x96, x43, x79);
- uint64_t x101, uint8_t x102 = addcarryx_u64(x99, x46, x82);
- uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x49, x85);
- uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x52, x88);
- uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x55, x91);
- uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x58, x93);
- uint64_t x116, uint64_t x117 = mulx_u64(x7, x15);
- uint64_t x119, uint64_t x120 = mulx_u64(x7, x17);
- uint64_t x122, uint64_t x123 = mulx_u64(x7, x19);
- uint64_t x125, uint64_t x126 = mulx_u64(x7, x21);
- uint64_t x128, uint64_t x129 = mulx_u64(x7, x23);
- uint64_t x131, uint64_t x132 = mulx_u64(x7, x22);
- uint64_t x134, uint8_t x135 = addcarryx_u64(0x0, x117, x119);
- uint64_t x137, uint8_t x138 = addcarryx_u64(x135, x120, x122);
- uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x123, x125);
- uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x126, x128);
- uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x129, x131);
- uint64_t x149, uint8_t _ = addcarryx_u64(0x0, x147, x132);
- uint64_t x152, uint8_t x153 = addcarryx_u64(0x0, x98, x116);
- uint64_t x155, uint8_t x156 = addcarryx_u64(x153, x101, x134);
- uint64_t x158, uint8_t x159 = addcarryx_u64(x156, x104, x137);
- uint64_t x161, uint8_t x162 = addcarryx_u64(x159, x107, x140);
- uint64_t x164, uint8_t x165 = addcarryx_u64(x162, x110, x143);
- uint64_t x167, uint8_t x168 = addcarryx_u64(x165, x113, x146);
- uint64_t x170, uint8_t x171 = addcarryx_u64(x168, x114, x149);
- uint64_t x173, uint64_t x174 = mulx_u64(x152, 0xffffffffffffffffL);
- uint64_t x176, uint64_t x177 = mulx_u64(x152, 0xffffffffffffffffL);
- uint64_t x179, uint64_t x180 = mulx_u64(x152, 0xfffffffdffffffffL);
- uint64_t x182, uint64_t x183 = mulx_u64(x152, 0xffffffffffffffffL);
- uint64_t x185, uint64_t x186 = mulx_u64(x152, 0xffffffffffffffffL);
- uint64_t x188, uint8_t x189 = mulx_u64_out_u8(x152, 0x3);
- uint64_t x191, uint8_t x192 = addcarryx_u64(0x0, x174, x176);
- uint64_t x194, uint8_t x195 = addcarryx_u64(x192, x177, x179);
- uint64_t x197, uint8_t x198 = addcarryx_u64(x195, x180, x182);
- uint64_t x200, uint8_t x201 = addcarryx_u64(x198, x183, x185);
- uint64_t x203, uint8_t x204 = addcarryx_u64(x201, x186, x188);
- uint8_t x205 = (x204 + x189);
- uint64_t _, uint8_t x208 = addcarryx_u64(0x0, x152, x173);
- uint64_t x210, uint8_t x211 = addcarryx_u64(x208, x155, x191);
- uint64_t x213, uint8_t x214 = addcarryx_u64(x211, x158, x194);
- uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x161, x197);
- uint64_t x219, uint8_t x220 = addcarryx_u64(x217, x164, x200);
- uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x167, x203);
- uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x170, x205);
- uint8_t x227 = (x226 + x171);
- uint64_t x229, uint64_t x230 = mulx_u64(x9, x15);
- uint64_t x232, uint64_t x233 = mulx_u64(x9, x17);
- uint64_t x235, uint64_t x236 = mulx_u64(x9, x19);
- uint64_t x238, uint64_t x239 = mulx_u64(x9, x21);
- uint64_t x241, uint64_t x242 = mulx_u64(x9, x23);
- uint64_t x244, uint64_t x245 = mulx_u64(x9, x22);
- uint64_t x247, uint8_t x248 = addcarryx_u64(0x0, x230, x232);
- uint64_t x250, uint8_t x251 = addcarryx_u64(x248, x233, x235);
- uint64_t x253, uint8_t x254 = addcarryx_u64(x251, x236, x238);
- uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x239, x241);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x242, x244);
- uint64_t x262, uint8_t _ = addcarryx_u64(0x0, x260, x245);
- uint64_t x265, uint8_t x266 = addcarryx_u64(0x0, x210, x229);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x213, x247);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x216, x250);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x219, x253);
- uint64_t x277, uint8_t x278 = addcarryx_u64(x275, x222, x256);
- uint64_t x280, uint8_t x281 = addcarryx_u64(x278, x225, x259);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x227, x262);
- uint64_t x286, uint64_t x287 = mulx_u64(x265, 0xffffffffffffffffL);
- uint64_t x289, uint64_t x290 = mulx_u64(x265, 0xffffffffffffffffL);
- uint64_t x292, uint64_t x293 = mulx_u64(x265, 0xfffffffdffffffffL);
- uint64_t x295, uint64_t x296 = mulx_u64(x265, 0xffffffffffffffffL);
- uint64_t x298, uint64_t x299 = mulx_u64(x265, 0xffffffffffffffffL);
- uint64_t x301, uint8_t x302 = mulx_u64_out_u8(x265, 0x3);
- uint64_t x304, uint8_t x305 = addcarryx_u64(0x0, x287, x289);
- uint64_t x307, uint8_t x308 = addcarryx_u64(x305, x290, x292);
- uint64_t x310, uint8_t x311 = addcarryx_u64(x308, x293, x295);
- uint64_t x313, uint8_t x314 = addcarryx_u64(x311, x296, x298);
- uint64_t x316, uint8_t x317 = addcarryx_u64(x314, x299, x301);
- uint8_t x318 = (x317 + x302);
- uint64_t _, uint8_t x321 = addcarryx_u64(0x0, x265, x286);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x268, x304);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x271, x307);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x274, x310);
- uint64_t x332, uint8_t x333 = addcarryx_u64(x330, x277, x313);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x280, x316);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x283, x318);
- uint8_t x340 = (x339 + x284);
- uint64_t x342, uint64_t x343 = mulx_u64(x11, x15);
- uint64_t x345, uint64_t x346 = mulx_u64(x11, x17);
- uint64_t x348, uint64_t x349 = mulx_u64(x11, x19);
- uint64_t x351, uint64_t x352 = mulx_u64(x11, x21);
- uint64_t x354, uint64_t x355 = mulx_u64(x11, x23);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x22);
- uint64_t x360, uint8_t x361 = addcarryx_u64(0x0, x343, x345);
- uint64_t x363, uint8_t x364 = addcarryx_u64(x361, x346, x348);
- uint64_t x366, uint8_t x367 = addcarryx_u64(x364, x349, x351);
- uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x352, x354);
- uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x355, x357);
- uint64_t x375, uint8_t _ = addcarryx_u64(0x0, x373, x358);
- uint64_t x378, uint8_t x379 = addcarryx_u64(0x0, x323, x342);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x326, x360);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x329, x363);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x332, x366);
- uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x335, x369);
- uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x338, x372);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x340, x375);
- uint64_t x399, uint64_t x400 = mulx_u64(x378, 0xffffffffffffffffL);
- uint64_t x402, uint64_t x403 = mulx_u64(x378, 0xffffffffffffffffL);
- uint64_t x405, uint64_t x406 = mulx_u64(x378, 0xfffffffdffffffffL);
- uint64_t x408, uint64_t x409 = mulx_u64(x378, 0xffffffffffffffffL);
- uint64_t x411, uint64_t x412 = mulx_u64(x378, 0xffffffffffffffffL);
- uint64_t x414, uint8_t x415 = mulx_u64_out_u8(x378, 0x3);
- uint64_t x417, uint8_t x418 = addcarryx_u64(0x0, x400, x402);
- uint64_t x420, uint8_t x421 = addcarryx_u64(x418, x403, x405);
- uint64_t x423, uint8_t x424 = addcarryx_u64(x421, x406, x408);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x409, x411);
- uint64_t x429, uint8_t x430 = addcarryx_u64(x427, x412, x414);
- uint8_t x431 = (x430 + x415);
- uint64_t _, uint8_t x434 = addcarryx_u64(0x0, x378, x399);
- uint64_t x436, uint8_t x437 = addcarryx_u64(x434, x381, x417);
- uint64_t x439, uint8_t x440 = addcarryx_u64(x437, x384, x420);
- uint64_t x442, uint8_t x443 = addcarryx_u64(x440, x387, x423);
- uint64_t x445, uint8_t x446 = addcarryx_u64(x443, x390, x426);
- uint64_t x448, uint8_t x449 = addcarryx_u64(x446, x393, x429);
- uint64_t x451, uint8_t x452 = addcarryx_u64(x449, x396, x431);
- uint8_t x453 = (x452 + x397);
- uint64_t x455, uint64_t x456 = mulx_u64(x13, x15);
- uint64_t x458, uint64_t x459 = mulx_u64(x13, x17);
- uint64_t x461, uint64_t x462 = mulx_u64(x13, x19);
- uint64_t x464, uint64_t x465 = mulx_u64(x13, x21);
- uint64_t x467, uint64_t x468 = mulx_u64(x13, x23);
- uint64_t x470, uint64_t x471 = mulx_u64(x13, x22);
- uint64_t x473, uint8_t x474 = addcarryx_u64(0x0, x456, x458);
- uint64_t x476, uint8_t x477 = addcarryx_u64(x474, x459, x461);
- uint64_t x479, uint8_t x480 = addcarryx_u64(x477, x462, x464);
- uint64_t x482, uint8_t x483 = addcarryx_u64(x480, x465, x467);
- uint64_t x485, uint8_t x486 = addcarryx_u64(x483, x468, x470);
- uint64_t x488, uint8_t _ = addcarryx_u64(0x0, x486, x471);
- uint64_t x491, uint8_t x492 = addcarryx_u64(0x0, x436, x455);
- uint64_t x494, uint8_t x495 = addcarryx_u64(x492, x439, x473);
- uint64_t x497, uint8_t x498 = addcarryx_u64(x495, x442, x476);
- uint64_t x500, uint8_t x501 = addcarryx_u64(x498, x445, x479);
- uint64_t x503, uint8_t x504 = addcarryx_u64(x501, x448, x482);
- uint64_t x506, uint8_t x507 = addcarryx_u64(x504, x451, x485);
- uint64_t x509, uint8_t x510 = addcarryx_u64(x507, x453, x488);
- uint64_t x512, uint64_t x513 = mulx_u64(x491, 0xffffffffffffffffL);
- uint64_t x515, uint64_t x516 = mulx_u64(x491, 0xffffffffffffffffL);
- uint64_t x518, uint64_t x519 = mulx_u64(x491, 0xfffffffdffffffffL);
- uint64_t x521, uint64_t x522 = mulx_u64(x491, 0xffffffffffffffffL);
- uint64_t x524, uint64_t x525 = mulx_u64(x491, 0xffffffffffffffffL);
- uint64_t x527, uint8_t x528 = mulx_u64_out_u8(x491, 0x3);
- uint64_t x530, uint8_t x531 = addcarryx_u64(0x0, x513, x515);
- uint64_t x533, uint8_t x534 = addcarryx_u64(x531, x516, x518);
- uint64_t x536, uint8_t x537 = addcarryx_u64(x534, x519, x521);
- uint64_t x539, uint8_t x540 = addcarryx_u64(x537, x522, x524);
- uint64_t x542, uint8_t x543 = addcarryx_u64(x540, x525, x527);
- uint8_t x544 = (x543 + x528);
- uint64_t _, uint8_t x547 = addcarryx_u64(0x0, x491, x512);
- uint64_t x549, uint8_t x550 = addcarryx_u64(x547, x494, x530);
- uint64_t x552, uint8_t x553 = addcarryx_u64(x550, x497, x533);
- uint64_t x555, uint8_t x556 = addcarryx_u64(x553, x500, x536);
- uint64_t x558, uint8_t x559 = addcarryx_u64(x556, x503, x539);
- uint64_t x561, uint8_t x562 = addcarryx_u64(x559, x506, x542);
- uint64_t x564, uint8_t x565 = addcarryx_u64(x562, x509, x544);
- uint8_t x566 = (x565 + x510);
- uint64_t x568, uint64_t x569 = mulx_u64(x12, x15);
- uint64_t x571, uint64_t x572 = mulx_u64(x12, x17);
- uint64_t x574, uint64_t x575 = mulx_u64(x12, x19);
- uint64_t x577, uint64_t x578 = mulx_u64(x12, x21);
- uint64_t x580, uint64_t x581 = mulx_u64(x12, x23);
- uint64_t x583, uint64_t x584 = mulx_u64(x12, x22);
- uint64_t x586, uint8_t x587 = addcarryx_u64(0x0, x569, x571);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x572, x574);
- uint64_t x592, uint8_t x593 = addcarryx_u64(x590, x575, x577);
- uint64_t x595, uint8_t x596 = addcarryx_u64(x593, x578, x580);
- uint64_t x598, uint8_t x599 = addcarryx_u64(x596, x581, x583);
- uint64_t x601, uint8_t _ = addcarryx_u64(0x0, x599, x584);
- uint64_t x604, uint8_t x605 = addcarryx_u64(0x0, x549, x568);
- uint64_t x607, uint8_t x608 = addcarryx_u64(x605, x552, x586);
- uint64_t x610, uint8_t x611 = addcarryx_u64(x608, x555, x589);
- uint64_t x613, uint8_t x614 = addcarryx_u64(x611, x558, x592);
- uint64_t x616, uint8_t x617 = addcarryx_u64(x614, x561, x595);
- uint64_t x619, uint8_t x620 = addcarryx_u64(x617, x564, x598);
- uint64_t x622, uint8_t x623 = addcarryx_u64(x620, x566, x601);
- uint64_t x625, uint64_t x626 = mulx_u64(x604, 0xffffffffffffffffL);
- uint64_t x628, uint64_t x629 = mulx_u64(x604, 0xffffffffffffffffL);
- uint64_t x631, uint64_t x632 = mulx_u64(x604, 0xfffffffdffffffffL);
- uint64_t x634, uint64_t x635 = mulx_u64(x604, 0xffffffffffffffffL);
- uint64_t x637, uint64_t x638 = mulx_u64(x604, 0xffffffffffffffffL);
- uint64_t x640, uint8_t x641 = mulx_u64_out_u8(x604, 0x3);
- uint64_t x643, uint8_t x644 = addcarryx_u64(0x0, x626, x628);
- uint64_t x646, uint8_t x647 = addcarryx_u64(x644, x629, x631);
- uint64_t x649, uint8_t x650 = addcarryx_u64(x647, x632, x634);
- uint64_t x652, uint8_t x653 = addcarryx_u64(x650, x635, x637);
- uint64_t x655, uint8_t x656 = addcarryx_u64(x653, x638, x640);
- uint8_t x657 = (x656 + x641);
- uint64_t _, uint8_t x660 = addcarryx_u64(0x0, x604, x625);
- uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x607, x643);
- uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x610, x646);
- uint64_t x668, uint8_t x669 = addcarryx_u64(x666, x613, x649);
- uint64_t x671, uint8_t x672 = addcarryx_u64(x669, x616, x652);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x619, x655);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x622, x657);
- uint8_t x679 = (x678 + x623);
- uint64_t x681, uint8_t x682 = subborrow_u64(0x0, x662, 0xffffffffffffffffL);
- uint64_t x684, uint8_t x685 = subborrow_u64(x682, x665, 0xffffffffffffffffL);
- uint64_t x687, uint8_t x688 = subborrow_u64(x685, x668, 0xfffffffdffffffffL);
- uint64_t x690, uint8_t x691 = subborrow_u64(x688, x671, 0xffffffffffffffffL);
- uint64_t x693, uint8_t x694 = subborrow_u64(x691, x674, 0xffffffffffffffffL);
- uint64_t x696, uint8_t x697 = subborrow_u64(x694, x677, 0x3);
- uint64_t _, uint8_t x700 = subborrow_u64(x697, x679, 0x0);
- uint64_t x701 = cmovznz64(x700, x696, x677);
- uint64_t x702 = cmovznz64(x700, x693, x674);
- uint64_t x703 = cmovznz64(x700, x690, x671);
- uint64_t x704 = cmovznz64(x700, x687, x668);
- uint64_t x705 = cmovznz64(x700, x684, x665);
- uint64_t x706 = cmovznz64(x700, x681, x662);
- return (x701, x702, x703, x704, x705, x706))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.v
deleted file mode 100644
index c8a68a640..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.v
deleted file mode 100644
index 2dae98686..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.v
deleted file mode 100644
index 7bcfc415e..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.c
deleted file mode 100644
index 7445311c5..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffffL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xfffffffdffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint8_t x50 = ((uint8_t)x29 & 0x3);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.v
deleted file mode 100644
index c8ec1aa08..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.log
deleted file mode 100644
index 2dee04d64..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xfffffffdffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint8_t x50 = ((uint8_t)x29 & 0x3);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.v
deleted file mode 100644
index 0b82855e5..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.c
deleted file mode 100644
index 587de6e27..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffffL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xfffffffdffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint8_t x63 = ((uint8_t)x42 & 0x3);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.v
deleted file mode 100644
index de8d97b91..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.log
deleted file mode 100644
index 3068ccc4e..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffffL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xfffffffdffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint8_t x63 = ((uint8_t)x42 & 0x3);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.v
deleted file mode 100644
index 18b8f014d..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e322m2e161m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e322m2e161m1_6limbs/py_interpreter.sh
deleted file mode 100755
index ec91a5000..000000000
--- a/src/Specific/montgomery64_2e322m2e161m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**322 - 2**161 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e336m17_6limbs/CurveParameters.v
deleted file mode 100644
index b0d15fb57..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^336;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e336m17_6limbs/Synthesis.v b/src/Specific/montgomery64_2e336m17_6limbs/Synthesis.v
deleted file mode 100644
index 1fd9783bf..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.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/montgomery64_2e336m17_6limbs/compiler.sh b/src/Specific/montgomery64_2e336m17_6limbs/compiler.sh
deleted file mode 100755
index a8151d050..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e336m17_6limbs/compilerxx.sh
deleted file mode 100755
index 6158bf1ca..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feadd.c b/src/Specific/montgomery64_2e336m17_6limbs/feadd.c
deleted file mode 100644
index 3d3730fc9..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffefL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0xffff, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feadd.v b/src/Specific/montgomery64_2e336m17_6limbs/feadd.v
deleted file mode 100644
index d2fda5116..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.log
deleted file mode 100644
index 12075332c..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffefL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0xffff);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.v
deleted file mode 100644
index 2c16a1bfa..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/femul.c b/src/Specific/montgomery64_2e336m17_6limbs/femul.c
deleted file mode 100644
index fdc0e2bd4..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffffffffffefL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0xffff, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffffffffffefL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0xffff, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffffffffffefL, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0xffff, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffffffffffefL, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0xffff, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffffffffffefL, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0xffff, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0xf0f0f0f0f0f0f0f1L, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffffffffffefL, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0xffff, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffffffffffefL, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0xffff, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/femul.v b/src/Specific/montgomery64_2e336m17_6limbs/femul.v
deleted file mode 100644
index d5efc0842..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.log
deleted file mode 100644
index 491804734..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffffefL);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0xffff);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffffefL);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0xffff);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffffefL);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0xffff);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffffefL);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0xffff);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffffefL);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0xffff);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0xf0f0f0f0f0f0f0f1L);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffffefL);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0xffff);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffffefL);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0xffff);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.v
deleted file mode 100644
index 7d4aa4e50..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fenz.c b/src/Specific/montgomery64_2e336m17_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fenz.v b/src/Specific/montgomery64_2e336m17_6limbs/fenz.v
deleted file mode 100644
index e1bfc11d7..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.v
deleted file mode 100644
index 1fa6d318c..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feopp.c b/src/Specific/montgomery64_2e336m17_6limbs/feopp.c
deleted file mode 100644
index c3255daf6..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffefL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0xffff);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feopp.v b/src/Specific/montgomery64_2e336m17_6limbs/feopp.v
deleted file mode 100644
index 14bfc46d8..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.log
deleted file mode 100644
index 272ed2bf5..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffefL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0xffff);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.v
deleted file mode 100644
index 2bb2ab58d..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fesquare.c b/src/Specific/montgomery64_2e336m17_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fesub.c b/src/Specific/montgomery64_2e336m17_6limbs/fesub.c
deleted file mode 100644
index a0b2a3273..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffefL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0xffff);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fesub.v b/src/Specific/montgomery64_2e336m17_6limbs/fesub.v
deleted file mode 100644
index 3407b2615..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.log
deleted file mode 100644
index 1c36f7753..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffefL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0xffff);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.v
deleted file mode 100644
index d568858aa..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m17_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e336m17_6limbs/py_interpreter.sh
deleted file mode 100755
index 553c015ba..000000000
--- a/src/Specific/montgomery64_2e336m17_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e336m3_6limbs/CurveParameters.v
deleted file mode 100644
index eb90a6f99..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^336;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e336m3_6limbs/Synthesis.v b/src/Specific/montgomery64_2e336m3_6limbs/Synthesis.v
deleted file mode 100644
index a006a946a..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.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/montgomery64_2e336m3_6limbs/compiler.sh b/src/Specific/montgomery64_2e336m3_6limbs/compiler.sh
deleted file mode 100755
index 10100a3cd..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e336m3_6limbs/compilerxx.sh
deleted file mode 100755
index 7243088ea..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feadd.c b/src/Specific/montgomery64_2e336m3_6limbs/feadd.c
deleted file mode 100644
index f9e5f21b7..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xfffffffffffffffdL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0xffff, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feadd.v b/src/Specific/montgomery64_2e336m3_6limbs/feadd.v
deleted file mode 100644
index 9d646bae3..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.log
deleted file mode 100644
index bba653e9a..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xfffffffffffffffdL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0xffff);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.v
deleted file mode 100644
index c52f98147..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/femul.c b/src/Specific/montgomery64_2e336m3_6limbs/femul.c
deleted file mode 100644
index ef7679b78..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xfffffffffffffffdL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0xffff, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xfffffffffffffffdL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0xffff, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xfffffffffffffffdL, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0xffff, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xfffffffffffffffdL, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0xffff, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xfffffffffffffffdL, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0xffff, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0xaaaaaaaaaaaaaaabL, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xfffffffffffffffdL, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0xffff, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xfffffffffffffffdL, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0xffff, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/femul.v b/src/Specific/montgomery64_2e336m3_6limbs/femul.v
deleted file mode 100644
index 2d87f54f2..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.log
deleted file mode 100644
index 329612ea5..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0xaaaaaaaaaaaaaaabL);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xfffffffffffffffdL);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0xffff);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0xaaaaaaaaaaaaaaabL);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xfffffffffffffffdL);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0xffff);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0xaaaaaaaaaaaaaaabL);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xfffffffffffffffdL);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0xffff);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0xaaaaaaaaaaaaaaabL);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xfffffffffffffffdL);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0xffff);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0xaaaaaaaaaaaaaaabL);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xfffffffffffffffdL);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0xffff);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0xaaaaaaaaaaaaaaabL);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xfffffffffffffffdL);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0xffff);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xfffffffffffffffdL);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0xffff);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.v
deleted file mode 100644
index e6e5755ee..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fenz.c b/src/Specific/montgomery64_2e336m3_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fenz.v b/src/Specific/montgomery64_2e336m3_6limbs/fenz.v
deleted file mode 100644
index c1380cc71..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.v
deleted file mode 100644
index c914f46d5..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feopp.c b/src/Specific/montgomery64_2e336m3_6limbs/feopp.c
deleted file mode 100644
index 17bbd7bd0..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffffffffdL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0xffff);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feopp.v b/src/Specific/montgomery64_2e336m3_6limbs/feopp.v
deleted file mode 100644
index d7e0acaa0..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.log
deleted file mode 100644
index 1591801df..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffffffffdL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0xffff);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.v
deleted file mode 100644
index 8050722a8..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fesquare.c b/src/Specific/montgomery64_2e336m3_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fesub.c b/src/Specific/montgomery64_2e336m3_6limbs/fesub.c
deleted file mode 100644
index a765dc44e..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xfffffffffffffffdL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0xffff);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fesub.v b/src/Specific/montgomery64_2e336m3_6limbs/fesub.v
deleted file mode 100644
index 686c84bc5..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.log
deleted file mode 100644
index ca77cd145..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xfffffffffffffffdL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0xffff);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.v
deleted file mode 100644
index bbb417cc5..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e336m3_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e336m3_6limbs/py_interpreter.sh
deleted file mode 100755
index 3b939c233..000000000
--- a/src/Specific/montgomery64_2e336m3_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e338m15_6limbs/CurveParameters.v
deleted file mode 100644
index 2aca237b6..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^338 - 15
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^338;
- c := [(1, 15)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e338m15_6limbs/Synthesis.v b/src/Specific/montgomery64_2e338m15_6limbs/Synthesis.v
deleted file mode 100644
index cb1dae8df..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.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/montgomery64_2e338m15_6limbs/compiler.sh b/src/Specific/montgomery64_2e338m15_6limbs/compiler.sh
deleted file mode 100755
index 2156b2d91..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e338m15_6limbs/compilerxx.sh
deleted file mode 100755
index f6046535f..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feadd.c b/src/Specific/montgomery64_2e338m15_6limbs/feadd.c
deleted file mode 100644
index 32e3e705b..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xfffffffffffffff1L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x3ffff, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feadd.v b/src/Specific/montgomery64_2e338m15_6limbs/feadd.v
deleted file mode 100644
index 38cc76f2a..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.log
deleted file mode 100644
index 5336bcf27..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xfffffffffffffff1L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x3ffff);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.v
deleted file mode 100644
index 851a9efb1..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/femul.c b/src/Specific/montgomery64_2e338m15_6limbs/femul.c
deleted file mode 100644
index 90a1d477d..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xfffffffffffffff1L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x3ffff, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xfffffffffffffff1L, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x3ffff, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xfffffffffffffff1L, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x3ffff, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xfffffffffffffff1L, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x3ffff, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xfffffffffffffff1L, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x3ffff, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0xeeeeeeeeeeeeeeefL, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xfffffffffffffff1L, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x3ffff, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xfffffffffffffff1L, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x3ffff, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/femul.v b/src/Specific/montgomery64_2e338m15_6limbs/femul.v
deleted file mode 100644
index 1261fa7ce..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.log
deleted file mode 100644
index fda5a2d0a..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0xeeeeeeeeeeeeeeefL);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xfffffffffffffff1L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x3ffff);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0xeeeeeeeeeeeeeeefL);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xfffffffffffffff1L);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x3ffff);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0xeeeeeeeeeeeeeeefL);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xfffffffffffffff1L);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x3ffff);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0xeeeeeeeeeeeeeeefL);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xfffffffffffffff1L);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x3ffff);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0xeeeeeeeeeeeeeeefL);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xfffffffffffffff1L);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x3ffff);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0xeeeeeeeeeeeeeeefL);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xfffffffffffffff1L);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x3ffff);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xfffffffffffffff1L);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x3ffff);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.v
deleted file mode 100644
index 7859aab29..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fenz.c b/src/Specific/montgomery64_2e338m15_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fenz.v b/src/Specific/montgomery64_2e338m15_6limbs/fenz.v
deleted file mode 100644
index 7d51939bd..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.v
deleted file mode 100644
index 5342b4d9a..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feopp.c b/src/Specific/montgomery64_2e338m15_6limbs/feopp.c
deleted file mode 100644
index 0ded68efb..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffffffff1L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x3ffff);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feopp.v b/src/Specific/montgomery64_2e338m15_6limbs/feopp.v
deleted file mode 100644
index 2ef0bcf8a..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.log
deleted file mode 100644
index eadb1d5a3..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffffffff1L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x3ffff);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.v
deleted file mode 100644
index 4ae43c87b..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fesquare.c b/src/Specific/montgomery64_2e338m15_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fesub.c b/src/Specific/montgomery64_2e338m15_6limbs/fesub.c
deleted file mode 100644
index 5fbb3bd1e..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xfffffffffffffff1L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x3ffff);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fesub.v b/src/Specific/montgomery64_2e338m15_6limbs/fesub.v
deleted file mode 100644
index 8a750d9d2..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.log
deleted file mode 100644
index 1a34e9483..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xfffffffffffffff1L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x3ffff);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.v
deleted file mode 100644
index 01ad028a6..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e338m15_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e338m15_6limbs/py_interpreter.sh
deleted file mode 100755
index b1c53f325..000000000
--- a/src/Specific/montgomery64_2e338m15_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**338 - 15' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e369m25_6limbs/CurveParameters.v
deleted file mode 100644
index 5cddeef19..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^369 - 25
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^369;
- c := [(1, 25)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e369m25_6limbs/Synthesis.v b/src/Specific/montgomery64_2e369m25_6limbs/Synthesis.v
deleted file mode 100644
index e6e41bb51..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.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/montgomery64_2e369m25_6limbs/compiler.sh b/src/Specific/montgomery64_2e369m25_6limbs/compiler.sh
deleted file mode 100755
index 095bc944c..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e369m25_6limbs/compilerxx.sh
deleted file mode 100755
index 9e6a5894e..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feadd.c b/src/Specific/montgomery64_2e369m25_6limbs/feadd.c
deleted file mode 100644
index 45754f978..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffe7L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x1ffffffffffff, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feadd.v b/src/Specific/montgomery64_2e369m25_6limbs/feadd.v
deleted file mode 100644
index d4b7a3ec8..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.log
deleted file mode 100644
index cacc80702..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffe7L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x1ffffffffffff);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.v
deleted file mode 100644
index c0d1571c2..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/femul.c b/src/Specific/montgomery64_2e369m25_6limbs/femul.c
deleted file mode 100644
index 5ab804164..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffffffffffe7L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x1ffffffffffff, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffffffffffe7L, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x1ffffffffffff, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffffffffffe7L, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x1ffffffffffff, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffffffffffe7L, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x1ffffffffffff, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffffffffffe7L, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x1ffffffffffff, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0x8f5c28f5c28f5c29L, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffffffffffe7L, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x1ffffffffffff, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffffffffffe7L, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x1ffffffffffff, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/femul.v b/src/Specific/montgomery64_2e369m25_6limbs/femul.v
deleted file mode 100644
index 081ad3654..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.log
deleted file mode 100644
index c0898b04c..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0x8f5c28f5c28f5c29L);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffffe7L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x1ffffffffffff);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0x8f5c28f5c28f5c29L);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffffe7L);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x1ffffffffffff);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0x8f5c28f5c28f5c29L);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffffe7L);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x1ffffffffffff);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0x8f5c28f5c28f5c29L);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffffe7L);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x1ffffffffffff);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0x8f5c28f5c28f5c29L);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffffe7L);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x1ffffffffffff);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0x8f5c28f5c28f5c29L);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffffe7L);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x1ffffffffffff);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffffe7L);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x1ffffffffffff);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.v
deleted file mode 100644
index f78c4a083..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fenz.c b/src/Specific/montgomery64_2e369m25_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fenz.v b/src/Specific/montgomery64_2e369m25_6limbs/fenz.v
deleted file mode 100644
index 0126b8fd1..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.v
deleted file mode 100644
index 87fa839a0..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feopp.c b/src/Specific/montgomery64_2e369m25_6limbs/feopp.c
deleted file mode 100644
index 894e0aa8a..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffe7L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x1ffffffffffff);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feopp.v b/src/Specific/montgomery64_2e369m25_6limbs/feopp.v
deleted file mode 100644
index aca02740b..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.log
deleted file mode 100644
index b026fa121..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffe7L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x1ffffffffffff);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.v
deleted file mode 100644
index 3a870069d..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fesquare.c b/src/Specific/montgomery64_2e369m25_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fesub.c b/src/Specific/montgomery64_2e369m25_6limbs/fesub.c
deleted file mode 100644
index f1c7b6a7b..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffe7L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x1ffffffffffff);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fesub.v b/src/Specific/montgomery64_2e369m25_6limbs/fesub.v
deleted file mode 100644
index c3902efc8..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.log
deleted file mode 100644
index 4b3eaa015..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffe7L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x1ffffffffffff);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.v
deleted file mode 100644
index d7819d83b..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e369m25_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e369m25_6limbs/py_interpreter.sh
deleted file mode 100755
index ac96489c7..000000000
--- a/src/Specific/montgomery64_2e369m25_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**369 - 25' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e379m19_6limbs/CurveParameters.v
deleted file mode 100644
index 47dad6280..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^379 - 19
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^379;
- c := [(1, 19)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e379m19_6limbs/Synthesis.v b/src/Specific/montgomery64_2e379m19_6limbs/Synthesis.v
deleted file mode 100644
index 307ac87c9..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.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/montgomery64_2e379m19_6limbs/compiler.sh b/src/Specific/montgomery64_2e379m19_6limbs/compiler.sh
deleted file mode 100755
index d25b73e09..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e379m19_6limbs/compilerxx.sh
deleted file mode 100755
index 94c51f2a6..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feadd.c b/src/Specific/montgomery64_2e379m19_6limbs/feadd.c
deleted file mode 100644
index cd9f98c5f..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffedL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x7ffffffffffffff, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feadd.v b/src/Specific/montgomery64_2e379m19_6limbs/feadd.v
deleted file mode 100644
index d2e4243ed..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.log
deleted file mode 100644
index 5c48f68c5..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffedL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x7ffffffffffffff);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.v
deleted file mode 100644
index 52be7bff7..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/femul.c b/src/Specific/montgomery64_2e379m19_6limbs/femul.c
deleted file mode 100644
index cdf5ff0fc..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0x86bca1af286bca1bL, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffffffffffedL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x7ffffffffffffff, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0x86bca1af286bca1bL, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffffffffffedL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x7ffffffffffffff, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0x86bca1af286bca1bL, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffffffffffedL, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x7ffffffffffffff, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0x86bca1af286bca1bL, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffffffffffedL, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x7ffffffffffffff, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0x86bca1af286bca1bL, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffffffffffedL, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x7ffffffffffffff, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0x86bca1af286bca1bL, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffffffffffedL, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x7ffffffffffffff, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffffffffffedL, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x7ffffffffffffff, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/femul.v b/src/Specific/montgomery64_2e379m19_6limbs/femul.v
deleted file mode 100644
index 3bf9fed05..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.log
deleted file mode 100644
index 5154ce6bd..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0x86bca1af286bca1bL);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffffedL);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x7ffffffffffffff);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0x86bca1af286bca1bL);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffffedL);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x7ffffffffffffff);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0x86bca1af286bca1bL);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffffedL);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x7ffffffffffffff);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0x86bca1af286bca1bL);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffffedL);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x7ffffffffffffff);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0x86bca1af286bca1bL);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffffedL);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x7ffffffffffffff);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0x86bca1af286bca1bL);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffffedL);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x7ffffffffffffff);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffffedL);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x7ffffffffffffff);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.v
deleted file mode 100644
index 9faed2f1c..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fenz.c b/src/Specific/montgomery64_2e379m19_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fenz.v b/src/Specific/montgomery64_2e379m19_6limbs/fenz.v
deleted file mode 100644
index adc795c4d..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.v
deleted file mode 100644
index 8535ad120..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feopp.c b/src/Specific/montgomery64_2e379m19_6limbs/feopp.c
deleted file mode 100644
index 27f51512a..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffedL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x7ffffffffffffff);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feopp.v b/src/Specific/montgomery64_2e379m19_6limbs/feopp.v
deleted file mode 100644
index e56046afb..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.log
deleted file mode 100644
index cf97d003d..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffedL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x7ffffffffffffff);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.v
deleted file mode 100644
index a8a14e428..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fesquare.c b/src/Specific/montgomery64_2e379m19_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fesub.c b/src/Specific/montgomery64_2e379m19_6limbs/fesub.c
deleted file mode 100644
index a3e301761..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffedL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x7ffffffffffffff);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fesub.v b/src/Specific/montgomery64_2e379m19_6limbs/fesub.v
deleted file mode 100644
index 95fdc36cf..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.log
deleted file mode 100644
index c242d0109..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffedL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x7ffffffffffffff);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.v
deleted file mode 100644
index 86df9b001..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e379m19_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e379m19_6limbs/py_interpreter.sh
deleted file mode 100755
index a12fc0ea5..000000000
--- a/src/Specific/montgomery64_2e379m19_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**379 - 19' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e382m105_6limbs/CurveParameters.v
deleted file mode 100644
index 3a16d34a1..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^382 - 105
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^382;
- c := [(1, 105)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e382m105_6limbs/Synthesis.v b/src/Specific/montgomery64_2e382m105_6limbs/Synthesis.v
deleted file mode 100644
index c34ff4ad8..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.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/montgomery64_2e382m105_6limbs/compiler.sh b/src/Specific/montgomery64_2e382m105_6limbs/compiler.sh
deleted file mode 100755
index 9d11c85a4..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e382m105_6limbs/compilerxx.sh
deleted file mode 100755
index b9a4361ce..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feadd.c b/src/Specific/montgomery64_2e382m105_6limbs/feadd.c
deleted file mode 100644
index d153cc986..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffff97L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x3fffffffffffffff, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feadd.v b/src/Specific/montgomery64_2e382m105_6limbs/feadd.v
deleted file mode 100644
index 255f7be00..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.log
deleted file mode 100644
index ca32ff087..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffff97L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x3fffffffffffffff);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.v
deleted file mode 100644
index 13a071768..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/femul.c b/src/Specific/montgomery64_2e382m105_6limbs/femul.c
deleted file mode 100644
index c18796dcb..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0x8fd8fd8fd8fd8fd9L, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffffffffff97L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x3fffffffffffffff, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0x8fd8fd8fd8fd8fd9L, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffffffffff97L, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x3fffffffffffffff, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0x8fd8fd8fd8fd8fd9L, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffffffffff97L, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x3fffffffffffffff, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0x8fd8fd8fd8fd8fd9L, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffffffffff97L, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x3fffffffffffffff, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0x8fd8fd8fd8fd8fd9L, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffffffffff97L, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x3fffffffffffffff, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0x8fd8fd8fd8fd8fd9L, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffffffffff97L, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x3fffffffffffffff, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffffffffff97L, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x3fffffffffffffff, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/femul.v b/src/Specific/montgomery64_2e382m105_6limbs/femul.v
deleted file mode 100644
index 7b95bb62a..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.log
deleted file mode 100644
index 473609891..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0x8fd8fd8fd8fd8fd9L);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffff97L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x3fffffffffffffff);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0x8fd8fd8fd8fd8fd9L);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffff97L);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x3fffffffffffffff);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0x8fd8fd8fd8fd8fd9L);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffff97L);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x3fffffffffffffff);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0x8fd8fd8fd8fd8fd9L);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffff97L);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x3fffffffffffffff);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0x8fd8fd8fd8fd8fd9L);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffff97L);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x3fffffffffffffff);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0x8fd8fd8fd8fd8fd9L);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffff97L);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x3fffffffffffffff);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffff97L);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x3fffffffffffffff);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.v
deleted file mode 100644
index 1652a3102..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fenz.c b/src/Specific/montgomery64_2e382m105_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fenz.v b/src/Specific/montgomery64_2e382m105_6limbs/fenz.v
deleted file mode 100644
index 289b666cb..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.v
deleted file mode 100644
index 732add0fd..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feopp.c b/src/Specific/montgomery64_2e382m105_6limbs/feopp.c
deleted file mode 100644
index 8c3f46737..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffff97L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x3fffffffffffffff);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feopp.v b/src/Specific/montgomery64_2e382m105_6limbs/feopp.v
deleted file mode 100644
index ee6434f80..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.log
deleted file mode 100644
index a9d8ca2d7..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffff97L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x3fffffffffffffff);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.v
deleted file mode 100644
index 989fe9a06..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fesquare.c b/src/Specific/montgomery64_2e382m105_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fesub.c b/src/Specific/montgomery64_2e382m105_6limbs/fesub.c
deleted file mode 100644
index d4902b9b9..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffff97L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x3fffffffffffffff);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fesub.v b/src/Specific/montgomery64_2e382m105_6limbs/fesub.v
deleted file mode 100644
index 4b7dd1105..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.log
deleted file mode 100644
index 9669d06c8..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffff97L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x3fffffffffffffff);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.v
deleted file mode 100644
index 6d7605d7b..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e382m105_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e382m105_6limbs/py_interpreter.sh
deleted file mode 100755
index 04dd71243..000000000
--- a/src/Specific/montgomery64_2e382m105_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**382 - 105' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e383m187_6limbs/CurveParameters.v
deleted file mode 100644
index cc4e4efae..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 187
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 187)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e383m187_6limbs/Synthesis.v b/src/Specific/montgomery64_2e383m187_6limbs/Synthesis.v
deleted file mode 100644
index 13e8bc2eb..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.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/montgomery64_2e383m187_6limbs/compiler.sh b/src/Specific/montgomery64_2e383m187_6limbs/compiler.sh
deleted file mode 100755
index 59ba84de3..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e383m187_6limbs/compilerxx.sh
deleted file mode 100755
index 01f8ac981..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feadd.c b/src/Specific/montgomery64_2e383m187_6limbs/feadd.c
deleted file mode 100644
index eced0e029..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffff45L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x7fffffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feadd.v b/src/Specific/montgomery64_2e383m187_6limbs/feadd.v
deleted file mode 100644
index b989ba32e..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.log
deleted file mode 100644
index f29301fe6..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffff45L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.v
deleted file mode 100644
index c46fc78ff..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/femul.c b/src/Specific/montgomery64_2e383m187_6limbs/femul.c
deleted file mode 100644
index 9f87a6997..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0x8a4472fea18a4473L, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffffffffff45L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x7fffffffffffffffL, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0x8a4472fea18a4473L, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffffffffff45L, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x7fffffffffffffffL, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0x8a4472fea18a4473L, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffffffffff45L, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x7fffffffffffffffL, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0x8a4472fea18a4473L, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffffffffff45L, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x7fffffffffffffffL, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0x8a4472fea18a4473L, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffffffffff45L, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x7fffffffffffffffL, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0x8a4472fea18a4473L, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffffffffff45L, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x7fffffffffffffffL, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffffffffff45L, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x7fffffffffffffffL, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/femul.v b/src/Specific/montgomery64_2e383m187_6limbs/femul.v
deleted file mode 100644
index d3afb8360..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.log
deleted file mode 100644
index 9e36aea47..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0x8a4472fea18a4473L);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffff45L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x7fffffffffffffffL);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0x8a4472fea18a4473L);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffff45L);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x7fffffffffffffffL);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0x8a4472fea18a4473L);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffff45L);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x7fffffffffffffffL);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0x8a4472fea18a4473L);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffff45L);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x7fffffffffffffffL);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0x8a4472fea18a4473L);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffff45L);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x7fffffffffffffffL);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0x8a4472fea18a4473L);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffff45L);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x7fffffffffffffffL);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffff45L);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.v
deleted file mode 100644
index 295809b26..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fenz.c b/src/Specific/montgomery64_2e383m187_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fenz.v b/src/Specific/montgomery64_2e383m187_6limbs/fenz.v
deleted file mode 100644
index 1646d4d4a..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.v
deleted file mode 100644
index 3a4db400d..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feopp.c b/src/Specific/montgomery64_2e383m187_6limbs/feopp.c
deleted file mode 100644
index ee38728fa..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffff45L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x7fffffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feopp.v b/src/Specific/montgomery64_2e383m187_6limbs/feopp.v
deleted file mode 100644
index 8f9732300..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.log
deleted file mode 100644
index 89b5bb87b..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffff45L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x7fffffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.v
deleted file mode 100644
index a9f0b61e5..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fesquare.c b/src/Specific/montgomery64_2e383m187_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fesub.c b/src/Specific/montgomery64_2e383m187_6limbs/fesub.c
deleted file mode 100644
index c92fe3d39..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffff45L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x7fffffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fesub.v b/src/Specific/montgomery64_2e383m187_6limbs/fesub.v
deleted file mode 100644
index a70f23825..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.log
deleted file mode 100644
index 08c1e5b26..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffff45L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x7fffffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.v
deleted file mode 100644
index 11726cf1a..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m187_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e383m187_6limbs/py_interpreter.sh
deleted file mode 100755
index 48c948770..000000000
--- a/src/Specific/montgomery64_2e383m187_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 187' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e383m31_6limbs/CurveParameters.v
deleted file mode 100644
index da9efc880..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 31
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 31)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e383m31_6limbs/Synthesis.v b/src/Specific/montgomery64_2e383m31_6limbs/Synthesis.v
deleted file mode 100644
index 89bd970fa..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.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/montgomery64_2e383m31_6limbs/compiler.sh b/src/Specific/montgomery64_2e383m31_6limbs/compiler.sh
deleted file mode 100755
index d8b662d5b..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e383m31_6limbs/compilerxx.sh
deleted file mode 100755
index f2ad4cc1b..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feadd.c b/src/Specific/montgomery64_2e383m31_6limbs/feadd.c
deleted file mode 100644
index 5b393973b..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffe1L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x7fffffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feadd.v b/src/Specific/montgomery64_2e383m31_6limbs/feadd.v
deleted file mode 100644
index a3160536b..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.log
deleted file mode 100644
index de4ad4faf..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffe1L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.v
deleted file mode 100644
index ff69e9f60..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/femul.c b/src/Specific/montgomery64_2e383m31_6limbs/femul.c
deleted file mode 100644
index 04a4c08bd..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0xef7bdef7bdef7bdfL, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffffffffffe1L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x7fffffffffffffffL, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0xef7bdef7bdef7bdfL, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffffffffffe1L, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x7fffffffffffffffL, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0xef7bdef7bdef7bdfL, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffffffffffe1L, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x7fffffffffffffffL, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0xef7bdef7bdef7bdfL, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffffffffffe1L, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x7fffffffffffffffL, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0xef7bdef7bdef7bdfL, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffffffffffe1L, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x7fffffffffffffffL, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0xef7bdef7bdef7bdfL, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffffffffffe1L, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x7fffffffffffffffL, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffffffffffe1L, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x7fffffffffffffffL, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/femul.v b/src/Specific/montgomery64_2e383m31_6limbs/femul.v
deleted file mode 100644
index 2b0cdaf86..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.log
deleted file mode 100644
index 73e05e2f9..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0xef7bdef7bdef7bdfL);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffffffffffe1L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x7fffffffffffffffL);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0xef7bdef7bdef7bdfL);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffffffffffe1L);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x7fffffffffffffffL);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0xef7bdef7bdef7bdfL);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffffffffffe1L);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x7fffffffffffffffL);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0xef7bdef7bdef7bdfL);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffffffffffe1L);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x7fffffffffffffffL);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0xef7bdef7bdef7bdfL);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffffffffffe1L);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x7fffffffffffffffL);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0xef7bdef7bdef7bdfL);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffffffffffe1L);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x7fffffffffffffffL);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffffffffffe1L);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.v
deleted file mode 100644
index b06781896..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fenz.c b/src/Specific/montgomery64_2e383m31_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fenz.v b/src/Specific/montgomery64_2e383m31_6limbs/fenz.v
deleted file mode 100644
index 52676b5bb..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.v
deleted file mode 100644
index 5f0dfec98..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feopp.c b/src/Specific/montgomery64_2e383m31_6limbs/feopp.c
deleted file mode 100644
index f5e2debdb..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffe1L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x7fffffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feopp.v b/src/Specific/montgomery64_2e383m31_6limbs/feopp.v
deleted file mode 100644
index 16d17cfb1..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.log
deleted file mode 100644
index f906c81b3..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffe1L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x7fffffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.v
deleted file mode 100644
index 4c4e06342..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fesquare.c b/src/Specific/montgomery64_2e383m31_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fesub.c b/src/Specific/montgomery64_2e383m31_6limbs/fesub.c
deleted file mode 100644
index d759ffa5a..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffe1L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x7fffffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fesub.v b/src/Specific/montgomery64_2e383m31_6limbs/fesub.v
deleted file mode 100644
index a74a89a01..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.log
deleted file mode 100644
index be101216c..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffe1L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x7fffffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.v
deleted file mode 100644
index 18ce569d5..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m31_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e383m31_6limbs/py_interpreter.sh
deleted file mode 100755
index a453e9812..000000000
--- a/src/Specific/montgomery64_2e383m31_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 31' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e383m421_6limbs/CurveParameters.v
deleted file mode 100644
index 65b26ddae..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 421
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 421)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e383m421_6limbs/Synthesis.v b/src/Specific/montgomery64_2e383m421_6limbs/Synthesis.v
deleted file mode 100644
index 5554094a3..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.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/montgomery64_2e383m421_6limbs/compiler.sh b/src/Specific/montgomery64_2e383m421_6limbs/compiler.sh
deleted file mode 100755
index 70c7de9b7..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e383m421_6limbs/compilerxx.sh
deleted file mode 100755
index 21f897a48..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feadd.c b/src/Specific/montgomery64_2e383m421_6limbs/feadd.c
deleted file mode 100644
index 244b4e633..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xfffffffffffffe5bL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0x7fffffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feadd.v b/src/Specific/montgomery64_2e383m421_6limbs/feadd.v
deleted file mode 100644
index c45dcaf3d..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.log
deleted file mode 100644
index 4e71e5e9c..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xfffffffffffffe5bL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.v
deleted file mode 100644
index f77f3834a..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/femul.c b/src/Specific/montgomery64_2e383m421_6limbs/femul.c
deleted file mode 100644
index b8ab8b2c6..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0xcebeef94fa86fe2dL, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xfffffffffffffe5bL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0x7fffffffffffffffL, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0xcebeef94fa86fe2dL, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xfffffffffffffe5bL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0x7fffffffffffffffL, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0xcebeef94fa86fe2dL, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xfffffffffffffe5bL, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0x7fffffffffffffffL, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0xcebeef94fa86fe2dL, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xfffffffffffffe5bL, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0x7fffffffffffffffL, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0xcebeef94fa86fe2dL, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xfffffffffffffe5bL, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0x7fffffffffffffffL, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0xcebeef94fa86fe2dL, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xfffffffffffffe5bL, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0x7fffffffffffffffL, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xfffffffffffffe5bL, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0x7fffffffffffffffL, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/femul.v b/src/Specific/montgomery64_2e383m421_6limbs/femul.v
deleted file mode 100644
index d8b72a7c7..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.log
deleted file mode 100644
index 74ffddec5..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0xcebeef94fa86fe2dL);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xfffffffffffffe5bL);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0x7fffffffffffffffL);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0xcebeef94fa86fe2dL);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xfffffffffffffe5bL);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0x7fffffffffffffffL);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0xcebeef94fa86fe2dL);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xfffffffffffffe5bL);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0x7fffffffffffffffL);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0xcebeef94fa86fe2dL);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xfffffffffffffe5bL);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0x7fffffffffffffffL);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0xcebeef94fa86fe2dL);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xfffffffffffffe5bL);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0x7fffffffffffffffL);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0xcebeef94fa86fe2dL);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xfffffffffffffe5bL);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0x7fffffffffffffffL);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xfffffffffffffe5bL);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.v
deleted file mode 100644
index 1ad3cec4b..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fenz.c b/src/Specific/montgomery64_2e383m421_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fenz.v b/src/Specific/montgomery64_2e383m421_6limbs/fenz.v
deleted file mode 100644
index 7a27a012f..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.v
deleted file mode 100644
index e18170690..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feopp.c b/src/Specific/montgomery64_2e383m421_6limbs/feopp.c
deleted file mode 100644
index 0139d56bd..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffffffe5bL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0x7fffffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feopp.v b/src/Specific/montgomery64_2e383m421_6limbs/feopp.v
deleted file mode 100644
index 11d9c9cf3..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.log
deleted file mode 100644
index 53b451dbb..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffffffe5bL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0x7fffffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.v
deleted file mode 100644
index 26b045ec6..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fesquare.c b/src/Specific/montgomery64_2e383m421_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fesub.c b/src/Specific/montgomery64_2e383m421_6limbs/fesub.c
deleted file mode 100644
index 6d05dc19e..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xfffffffffffffe5bL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0x7fffffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fesub.v b/src/Specific/montgomery64_2e383m421_6limbs/fesub.v
deleted file mode 100644
index 2e59a4263..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.log
deleted file mode 100644
index f6d3bd616..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xfffffffffffffe5bL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0x7fffffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.v
deleted file mode 100644
index c38b2eaff..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e383m421_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e383m421_6limbs/py_interpreter.sh
deleted file mode 100755
index 7a586c0db..000000000
--- a/src/Specific/montgomery64_2e383m421_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 421' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/CurveParameters.v
deleted file mode 100644
index 406a8de00..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 2^128 - 2^96 + 2^32 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 1); (2^32, -1); (2^96, 1); (2^128, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/Synthesis.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/Synthesis.v
deleted file mode 100644
index 92b98a050..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.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/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/compiler.sh b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/compiler.sh
deleted file mode 100755
index fcf2a8557..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/compilerxx.sh
deleted file mode 100755
index 61ceb8a5c..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.c
deleted file mode 100644
index ac69883a5..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffff, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffff00000000L, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xfffffffffffffffeL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0xffffffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.v
deleted file mode 100644
index 92d74f4df..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.log
deleted file mode 100644
index 82253f65f..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffff);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffff00000000L);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xfffffffffffffffeL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0xffffffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.v
deleted file mode 100644
index 7bb6a9648..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.c
deleted file mode 100644
index 77fcb4861..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0x100000001, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xffffffff, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffff00000000L, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xfffffffffffffffeL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0xffffffffffffffffL, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0x100000001, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xffffffff, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffff00000000L, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xfffffffffffffffeL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0xffffffffffffffffL, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0x100000001, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xffffffff, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffff00000000L, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xfffffffffffffffeL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0xffffffffffffffffL, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0x100000001, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xffffffff, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffff00000000L, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xfffffffffffffffeL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0xffffffffffffffffL, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0x100000001, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xffffffff, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffff00000000L, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xfffffffffffffffeL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0xffffffffffffffffL, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0x100000001, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xffffffff, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffff00000000L, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xfffffffffffffffeL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0xffffffffffffffffL, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xffffffff, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffff00000000L, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xfffffffffffffffeL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0xffffffffffffffffL, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.v
deleted file mode 100644
index d0c12b483..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.log
deleted file mode 100644
index bda309185..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0x100000001);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xffffffff);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffff00000000L);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xfffffffffffffffeL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0x100000001);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xffffffff);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffff00000000L);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xfffffffffffffffeL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0x100000001);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xffffffff);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffff00000000L);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xfffffffffffffffeL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0x100000001);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xffffffff);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffff00000000L);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xfffffffffffffffeL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0x100000001);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xffffffff);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffff00000000L);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xfffffffffffffffeL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0x100000001);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xffffffff);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffff00000000L);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xfffffffffffffffeL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xffffffff);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffff00000000L);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xfffffffffffffffeL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0xffffffffffffffffL);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.v
deleted file mode 100644
index 9b74c4039..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.v
deleted file mode 100644
index be98c5c31..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.v
deleted file mode 100644
index 8ebbc12c6..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.c
deleted file mode 100644
index 51a571f4d..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffff);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffff00000000L);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xfffffffffffffffeL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0xffffffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.v
deleted file mode 100644
index 10b84eab0..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.log
deleted file mode 100644
index ab3378641..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffff);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffff00000000L);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xfffffffffffffffeL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0xffffffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.v
deleted file mode 100644
index 16f4125ed..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.c
deleted file mode 100644
index f14f24207..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffff);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffff00000000L);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xfffffffffffffffeL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0xffffffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.v
deleted file mode 100644
index de7c490e7..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.log
deleted file mode 100644
index 63da9b2f5..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffff);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffff00000000L);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xfffffffffffffffeL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0xffffffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.v
deleted file mode 100644
index 53541241f..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m2e128m2e96p2e32m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/py_interpreter.sh
deleted file mode 100755
index 4b6905b2a..000000000
--- a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 2**128 - 2**96 + 2**32 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e384m317_6limbs/CurveParameters.v
deleted file mode 100644
index 9616800d3..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 317
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 317)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e384m317_6limbs/Synthesis.v b/src/Specific/montgomery64_2e384m317_6limbs/Synthesis.v
deleted file mode 100644
index 4bbd7bd60..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.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/montgomery64_2e384m317_6limbs/compiler.sh b/src/Specific/montgomery64_2e384m317_6limbs/compiler.sh
deleted file mode 100755
index 9a7389212..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e384m317_6limbs/compilerxx.sh
deleted file mode 100755
index 084fafa58..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feadd.c b/src/Specific/montgomery64_2e384m317_6limbs/feadd.c
deleted file mode 100644
index a73e2c353..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xfffffffffffffec3L, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0xffffffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feadd.v b/src/Specific/montgomery64_2e384m317_6limbs/feadd.v
deleted file mode 100644
index e4476d5bc..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.log
deleted file mode 100644
index fe11d57ba..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xfffffffffffffec3L);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0xffffffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.v
deleted file mode 100644
index 1956f08b9..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/femul.c b/src/Specific/montgomery64_2e384m317_6limbs/femul.c
deleted file mode 100644
index ef9dec8be..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/femul.c
+++ /dev/null
@@ -1,266 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t _; uint64_t x61 = _mulx_u64(x25, 0xec9e48ae6f71de15L, &_);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x61, 0xfffffffffffffec3L, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x61, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x61, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x61, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x61, 0xffffffffffffffffL, &x77);
- { uint64_t x80; uint64_t x79 = _mulx_u64(x61, 0xffffffffffffffffL, &x80);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(0x0, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t x95 = _addcarryx_u64(x92, x77, x79, &x94);
- { uint64_t x97; uint8_t _ = _addcarryx_u64(0x0, x95, x80, &x97);
- { uint64_t _; uint8_t x101 = _addcarryx_u64(0x0, x25, x64, &_);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x43, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x46, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x49, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x52, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x55, x94, &x115);
- { uint64_t x118; uint8_t x119 = _addcarryx_u64(x116, x58, x97, &x118);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x15, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x17, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x19, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x21, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x23, &x134);
- { uint64_t x137; uint64_t x136 = _mulx_u64(x7, x22, &x137);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(0x0, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t x152 = _addcarryx_u64(x149, x134, x136, &x151);
- { uint64_t x154; uint8_t _ = _addcarryx_u64(0x0, x152, x137, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(0x0, x103, x121, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x118, x151, &x172);
- { uint64_t x175; uint8_t x176 = _addcarryx_u64(x173, x119, x154, &x175);
- { uint64_t _; uint64_t x178 = _mulx_u64(x157, 0xec9e48ae6f71de15L, &_);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x178, 0xfffffffffffffec3L, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x178, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x178, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x178, 0xffffffffffffffffL, &x191);
- { uint64_t x194; uint64_t x193 = _mulx_u64(x178, 0xffffffffffffffffL, &x194);
- { uint64_t x197; uint64_t x196 = _mulx_u64(x178, 0xffffffffffffffffL, &x197);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(0x0, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x191, x193, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x194, x196, &x211);
- { uint64_t x214; uint8_t _ = _addcarryx_u64(0x0, x212, x197, &x214);
- { uint64_t _; uint8_t x218 = _addcarryx_u64(0x0, x157, x181, &_);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x160, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x163, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x166, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x169, x208, &x229);
- { uint64_t x232; uint8_t x233 = _addcarryx_u64(x230, x172, x211, &x232);
- { uint64_t x235; uint8_t x236 = _addcarryx_u64(x233, x175, x214, &x235);
- { uint8_t x237 = (x236 + x176);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x15, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x17, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x19, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x21, &x249);
- { uint64_t x252; uint64_t x251 = _mulx_u64(x9, x23, &x252);
- { uint64_t x255; uint64_t x254 = _mulx_u64(x9, x22, &x255);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(0x0, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t x267 = _addcarryx_u64(x264, x249, x251, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(x267, x252, x254, &x269);
- { uint64_t x272; uint8_t _ = _addcarryx_u64(0x0, x270, x255, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(0x0, x220, x239, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x232, x266, &x287);
- { uint64_t x290; uint8_t x291 = _addcarryx_u64(x288, x235, x269, &x290);
- { uint64_t x293; uint8_t x294 = _addcarryx_u64(x291, x237, x272, &x293);
- { uint64_t _; uint64_t x296 = _mulx_u64(x275, 0xec9e48ae6f71de15L, &_);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x296, 0xfffffffffffffec3L, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x296, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x296, 0xffffffffffffffffL, &x306);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x296, 0xffffffffffffffffL, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x296, 0xffffffffffffffffL, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x296, 0xffffffffffffffffL, &x315);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(0x0, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t x324 = _addcarryx_u64(x321, x306, x308, &x323);
- { uint64_t x326; uint8_t x327 = _addcarryx_u64(x324, x309, x311, &x326);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x312, x314, &x329);
- { uint64_t x332; uint8_t _ = _addcarryx_u64(0x0, x330, x315, &x332);
- { uint64_t _; uint8_t x336 = _addcarryx_u64(0x0, x275, x299, &_);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x278, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x281, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x284, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x287, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x290, x329, &x350);
- { uint64_t x353; uint8_t x354 = _addcarryx_u64(x351, x293, x332, &x353);
- { uint8_t x355 = (x354 + x294);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x15, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x17, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x19, &x364);
- { uint64_t x367; uint64_t x366 = _mulx_u64(x11, x21, &x367);
- { uint64_t x370; uint64_t x369 = _mulx_u64(x11, x23, &x370);
- { uint64_t x373; uint64_t x372 = _mulx_u64(x11, x22, &x373);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(0x0, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t x382 = _addcarryx_u64(x379, x364, x366, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(x382, x367, x369, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x370, x372, &x387);
- { uint64_t x390; uint8_t _ = _addcarryx_u64(0x0, x388, x373, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(0x0, x338, x357, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x347, x381, &x402);
- { uint64_t x405; uint8_t x406 = _addcarryx_u64(x403, x350, x384, &x405);
- { uint64_t x408; uint8_t x409 = _addcarryx_u64(x406, x353, x387, &x408);
- { uint64_t x411; uint8_t x412 = _addcarryx_u64(x409, x355, x390, &x411);
- { uint64_t _; uint64_t x414 = _mulx_u64(x393, 0xec9e48ae6f71de15L, &_);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x414, 0xfffffffffffffec3L, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x414, 0xffffffffffffffffL, &x421);
- { uint64_t x424; uint64_t x423 = _mulx_u64(x414, 0xffffffffffffffffL, &x424);
- { uint64_t x427; uint64_t x426 = _mulx_u64(x414, 0xffffffffffffffffL, &x427);
- { uint64_t x430; uint64_t x429 = _mulx_u64(x414, 0xffffffffffffffffL, &x430);
- { uint64_t x433; uint64_t x432 = _mulx_u64(x414, 0xffffffffffffffffL, &x433);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(0x0, x418, x420, &x435);
- { uint64_t x438; uint8_t x439 = _addcarryx_u64(x436, x421, x423, &x438);
- { uint64_t x441; uint8_t x442 = _addcarryx_u64(x439, x424, x426, &x441);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x427, x429, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x430, x432, &x447);
- { uint64_t x450; uint8_t _ = _addcarryx_u64(0x0, x448, x433, &x450);
- { uint64_t _; uint8_t x454 = _addcarryx_u64(0x0, x393, x417, &_);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x396, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x399, x438, &x459);
- { uint64_t x462; uint8_t x463 = _addcarryx_u64(x460, x402, x441, &x462);
- { uint64_t x465; uint8_t x466 = _addcarryx_u64(x463, x405, x444, &x465);
- { uint64_t x468; uint8_t x469 = _addcarryx_u64(x466, x408, x447, &x468);
- { uint64_t x471; uint8_t x472 = _addcarryx_u64(x469, x411, x450, &x471);
- { uint8_t x473 = (x472 + x412);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x15, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x17, &x479);
- { uint64_t x482; uint64_t x481 = _mulx_u64(x13, x19, &x482);
- { uint64_t x485; uint64_t x484 = _mulx_u64(x13, x21, &x485);
- { uint64_t x488; uint64_t x487 = _mulx_u64(x13, x23, &x488);
- { uint64_t x491; uint64_t x490 = _mulx_u64(x13, x22, &x491);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(0x0, x476, x478, &x493);
- { uint64_t x496; uint8_t x497 = _addcarryx_u64(x494, x479, x481, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(x497, x482, x484, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x485, x487, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x488, x490, &x505);
- { uint64_t x508; uint8_t _ = _addcarryx_u64(0x0, x506, x491, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(0x0, x456, x475, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x462, x496, &x517);
- { uint64_t x520; uint8_t x521 = _addcarryx_u64(x518, x465, x499, &x520);
- { uint64_t x523; uint8_t x524 = _addcarryx_u64(x521, x468, x502, &x523);
- { uint64_t x526; uint8_t x527 = _addcarryx_u64(x524, x471, x505, &x526);
- { uint64_t x529; uint8_t x530 = _addcarryx_u64(x527, x473, x508, &x529);
- { uint64_t _; uint64_t x532 = _mulx_u64(x511, 0xec9e48ae6f71de15L, &_);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x532, 0xfffffffffffffec3L, &x536);
- { uint64_t x539; uint64_t x538 = _mulx_u64(x532, 0xffffffffffffffffL, &x539);
- { uint64_t x542; uint64_t x541 = _mulx_u64(x532, 0xffffffffffffffffL, &x542);
- { uint64_t x545; uint64_t x544 = _mulx_u64(x532, 0xffffffffffffffffL, &x545);
- { uint64_t x548; uint64_t x547 = _mulx_u64(x532, 0xffffffffffffffffL, &x548);
- { uint64_t x551; uint64_t x550 = _mulx_u64(x532, 0xffffffffffffffffL, &x551);
- { uint64_t x553; uint8_t x554 = _addcarryx_u64(0x0, x536, x538, &x553);
- { uint64_t x556; uint8_t x557 = _addcarryx_u64(x554, x539, x541, &x556);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x542, x544, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x545, x547, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x548, x550, &x565);
- { uint64_t x568; uint8_t _ = _addcarryx_u64(0x0, x566, x551, &x568);
- { uint64_t _; uint8_t x572 = _addcarryx_u64(0x0, x511, x535, &_);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x514, x553, &x574);
- { uint64_t x577; uint8_t x578 = _addcarryx_u64(x575, x517, x556, &x577);
- { uint64_t x580; uint8_t x581 = _addcarryx_u64(x578, x520, x559, &x580);
- { uint64_t x583; uint8_t x584 = _addcarryx_u64(x581, x523, x562, &x583);
- { uint64_t x586; uint8_t x587 = _addcarryx_u64(x584, x526, x565, &x586);
- { uint64_t x589; uint8_t x590 = _addcarryx_u64(x587, x529, x568, &x589);
- { uint8_t x591 = (x590 + x530);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x15, &x594);
- { uint64_t x597; uint64_t x596 = _mulx_u64(x12, x17, &x597);
- { uint64_t x600; uint64_t x599 = _mulx_u64(x12, x19, &x600);
- { uint64_t x603; uint64_t x602 = _mulx_u64(x12, x21, &x603);
- { uint64_t x606; uint64_t x605 = _mulx_u64(x12, x23, &x606);
- { uint64_t x609; uint64_t x608 = _mulx_u64(x12, x22, &x609);
- { uint64_t x611; uint8_t x612 = _addcarryx_u64(0x0, x594, x596, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(x612, x597, x599, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x600, x602, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x603, x605, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x606, x608, &x623);
- { uint64_t x626; uint8_t _ = _addcarryx_u64(0x0, x624, x609, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(0x0, x574, x593, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x577, x611, &x632);
- { uint64_t x635; uint8_t x636 = _addcarryx_u64(x633, x580, x614, &x635);
- { uint64_t x638; uint8_t x639 = _addcarryx_u64(x636, x583, x617, &x638);
- { uint64_t x641; uint8_t x642 = _addcarryx_u64(x639, x586, x620, &x641);
- { uint64_t x644; uint8_t x645 = _addcarryx_u64(x642, x589, x623, &x644);
- { uint64_t x647; uint8_t x648 = _addcarryx_u64(x645, x591, x626, &x647);
- { uint64_t _; uint64_t x650 = _mulx_u64(x629, 0xec9e48ae6f71de15L, &_);
- { uint64_t x654; uint64_t x653 = _mulx_u64(x650, 0xfffffffffffffec3L, &x654);
- { uint64_t x657; uint64_t x656 = _mulx_u64(x650, 0xffffffffffffffffL, &x657);
- { uint64_t x660; uint64_t x659 = _mulx_u64(x650, 0xffffffffffffffffL, &x660);
- { uint64_t x663; uint64_t x662 = _mulx_u64(x650, 0xffffffffffffffffL, &x663);
- { uint64_t x666; uint64_t x665 = _mulx_u64(x650, 0xffffffffffffffffL, &x666);
- { uint64_t x669; uint64_t x668 = _mulx_u64(x650, 0xffffffffffffffffL, &x669);
- { uint64_t x671; uint8_t x672 = _addcarryx_u64(0x0, x654, x656, &x671);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x657, x659, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x660, x662, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x663, x665, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x666, x668, &x683);
- { uint64_t x686; uint8_t _ = _addcarryx_u64(0x0, x684, x669, &x686);
- { uint64_t _; uint8_t x690 = _addcarryx_u64(0x0, x629, x653, &_);
- { uint64_t x692; uint8_t x693 = _addcarryx_u64(x690, x632, x671, &x692);
- { uint64_t x695; uint8_t x696 = _addcarryx_u64(x693, x635, x674, &x695);
- { uint64_t x698; uint8_t x699 = _addcarryx_u64(x696, x638, x677, &x698);
- { uint64_t x701; uint8_t x702 = _addcarryx_u64(x699, x641, x680, &x701);
- { uint64_t x704; uint8_t x705 = _addcarryx_u64(x702, x644, x683, &x704);
- { uint64_t x707; uint8_t x708 = _addcarryx_u64(x705, x647, x686, &x707);
- { uint8_t x709 = (x708 + x648);
- { uint64_t x711; uint8_t x712 = _subborrow_u64(0x0, x692, 0xfffffffffffffec3L, &x711);
- { uint64_t x714; uint8_t x715 = _subborrow_u64(x712, x695, 0xffffffffffffffffL, &x714);
- { uint64_t x717; uint8_t x718 = _subborrow_u64(x715, x698, 0xffffffffffffffffL, &x717);
- { uint64_t x720; uint8_t x721 = _subborrow_u64(x718, x701, 0xffffffffffffffffL, &x720);
- { uint64_t x723; uint8_t x724 = _subborrow_u64(x721, x704, 0xffffffffffffffffL, &x723);
- { uint64_t x726; uint8_t x727 = _subborrow_u64(x724, x707, 0xffffffffffffffffL, &x726);
- { uint64_t _; uint8_t x730 = _subborrow_u64(x727, x709, 0x0, &_);
- { uint64_t x731 = cmovznz64(x730, x726, x707);
- { uint64_t x732 = cmovznz64(x730, x723, x704);
- { uint64_t x733 = cmovznz64(x730, x720, x701);
- { uint64_t x734 = cmovznz64(x730, x717, x698);
- { uint64_t x735 = cmovznz64(x730, x714, x695);
- { uint64_t x736 = cmovznz64(x730, x711, x692);
- out[0] = x736;
- out[1] = x735;
- out[2] = x734;
- out[3] = x733;
- out[4] = x732;
- out[5] = x731;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/femul.v b/src/Specific/montgomery64_2e384m317_6limbs/femul.v
deleted file mode 100644
index 5fafa981a..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.log
deleted file mode 100644
index eadcc1c62..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,252 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t _ = mulx_u64(x25, 0xec9e48ae6f71de15L);
- uint64_t x64, uint64_t x65 = mulx_u64(x61, 0xfffffffffffffec3L);
- uint64_t x67, uint64_t x68 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x79, uint64_t x80 = mulx_u64(x61, 0xffffffffffffffffL);
- uint64_t x82, uint8_t x83 = addcarryx_u64(0x0, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t x95 = addcarryx_u64(x92, x77, x79);
- uint64_t x97, uint8_t _ = addcarryx_u64(0x0, x95, x80);
- uint64_t _, uint8_t x101 = addcarryx_u64(0x0, x25, x64);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x43, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x46, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x49, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x52, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x55, x94);
- uint64_t x118, uint8_t x119 = addcarryx_u64(x116, x58, x97);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x15);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x17);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x19);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x21);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x23);
- uint64_t x136, uint64_t x137 = mulx_u64(x7, x22);
- uint64_t x139, uint8_t x140 = addcarryx_u64(0x0, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t x152 = addcarryx_u64(x149, x134, x136);
- uint64_t x154, uint8_t _ = addcarryx_u64(0x0, x152, x137);
- uint64_t x157, uint8_t x158 = addcarryx_u64(0x0, x103, x121);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x118, x151);
- uint64_t x175, uint8_t x176 = addcarryx_u64(x173, x119, x154);
- uint64_t x178, uint64_t _ = mulx_u64(x157, 0xec9e48ae6f71de15L);
- uint64_t x181, uint64_t x182 = mulx_u64(x178, 0xfffffffffffffec3L);
- uint64_t x184, uint64_t x185 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x193, uint64_t x194 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x196, uint64_t x197 = mulx_u64(x178, 0xffffffffffffffffL);
- uint64_t x199, uint8_t x200 = addcarryx_u64(0x0, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x191, x193);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x194, x196);
- uint64_t x214, uint8_t _ = addcarryx_u64(0x0, x212, x197);
- uint64_t _, uint8_t x218 = addcarryx_u64(0x0, x157, x181);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x160, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x163, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x166, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x169, x208);
- uint64_t x232, uint8_t x233 = addcarryx_u64(x230, x172, x211);
- uint64_t x235, uint8_t x236 = addcarryx_u64(x233, x175, x214);
- uint8_t x237 = (x236 + x176);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x15);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x17);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x19);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x21);
- uint64_t x251, uint64_t x252 = mulx_u64(x9, x23);
- uint64_t x254, uint64_t x255 = mulx_u64(x9, x22);
- uint64_t x257, uint8_t x258 = addcarryx_u64(0x0, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t x267 = addcarryx_u64(x264, x249, x251);
- uint64_t x269, uint8_t x270 = addcarryx_u64(x267, x252, x254);
- uint64_t x272, uint8_t _ = addcarryx_u64(0x0, x270, x255);
- uint64_t x275, uint8_t x276 = addcarryx_u64(0x0, x220, x239);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x232, x266);
- uint64_t x290, uint8_t x291 = addcarryx_u64(x288, x235, x269);
- uint64_t x293, uint8_t x294 = addcarryx_u64(x291, x237, x272);
- uint64_t x296, uint64_t _ = mulx_u64(x275, 0xec9e48ae6f71de15L);
- uint64_t x299, uint64_t x300 = mulx_u64(x296, 0xfffffffffffffec3L);
- uint64_t x302, uint64_t x303 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x308, uint64_t x309 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x311, uint64_t x312 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x314, uint64_t x315 = mulx_u64(x296, 0xffffffffffffffffL);
- uint64_t x317, uint8_t x318 = addcarryx_u64(0x0, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t x324 = addcarryx_u64(x321, x306, x308);
- uint64_t x326, uint8_t x327 = addcarryx_u64(x324, x309, x311);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x312, x314);
- uint64_t x332, uint8_t _ = addcarryx_u64(0x0, x330, x315);
- uint64_t _, uint8_t x336 = addcarryx_u64(0x0, x275, x299);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x278, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x281, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x284, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x287, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x290, x329);
- uint64_t x353, uint8_t x354 = addcarryx_u64(x351, x293, x332);
- uint8_t x355 = (x354 + x294);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x15);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x17);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x19);
- uint64_t x366, uint64_t x367 = mulx_u64(x11, x21);
- uint64_t x369, uint64_t x370 = mulx_u64(x11, x23);
- uint64_t x372, uint64_t x373 = mulx_u64(x11, x22);
- uint64_t x375, uint8_t x376 = addcarryx_u64(0x0, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t x382 = addcarryx_u64(x379, x364, x366);
- uint64_t x384, uint8_t x385 = addcarryx_u64(x382, x367, x369);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x370, x372);
- uint64_t x390, uint8_t _ = addcarryx_u64(0x0, x388, x373);
- uint64_t x393, uint8_t x394 = addcarryx_u64(0x0, x338, x357);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x347, x381);
- uint64_t x405, uint8_t x406 = addcarryx_u64(x403, x350, x384);
- uint64_t x408, uint8_t x409 = addcarryx_u64(x406, x353, x387);
- uint64_t x411, uint8_t x412 = addcarryx_u64(x409, x355, x390);
- uint64_t x414, uint64_t _ = mulx_u64(x393, 0xec9e48ae6f71de15L);
- uint64_t x417, uint64_t x418 = mulx_u64(x414, 0xfffffffffffffec3L);
- uint64_t x420, uint64_t x421 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x423, uint64_t x424 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x426, uint64_t x427 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x429, uint64_t x430 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x432, uint64_t x433 = mulx_u64(x414, 0xffffffffffffffffL);
- uint64_t x435, uint8_t x436 = addcarryx_u64(0x0, x418, x420);
- uint64_t x438, uint8_t x439 = addcarryx_u64(x436, x421, x423);
- uint64_t x441, uint8_t x442 = addcarryx_u64(x439, x424, x426);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x427, x429);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x430, x432);
- uint64_t x450, uint8_t _ = addcarryx_u64(0x0, x448, x433);
- uint64_t _, uint8_t x454 = addcarryx_u64(0x0, x393, x417);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x396, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x399, x438);
- uint64_t x462, uint8_t x463 = addcarryx_u64(x460, x402, x441);
- uint64_t x465, uint8_t x466 = addcarryx_u64(x463, x405, x444);
- uint64_t x468, uint8_t x469 = addcarryx_u64(x466, x408, x447);
- uint64_t x471, uint8_t x472 = addcarryx_u64(x469, x411, x450);
- uint8_t x473 = (x472 + x412);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x15);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x17);
- uint64_t x481, uint64_t x482 = mulx_u64(x13, x19);
- uint64_t x484, uint64_t x485 = mulx_u64(x13, x21);
- uint64_t x487, uint64_t x488 = mulx_u64(x13, x23);
- uint64_t x490, uint64_t x491 = mulx_u64(x13, x22);
- uint64_t x493, uint8_t x494 = addcarryx_u64(0x0, x476, x478);
- uint64_t x496, uint8_t x497 = addcarryx_u64(x494, x479, x481);
- uint64_t x499, uint8_t x500 = addcarryx_u64(x497, x482, x484);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x485, x487);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x488, x490);
- uint64_t x508, uint8_t _ = addcarryx_u64(0x0, x506, x491);
- uint64_t x511, uint8_t x512 = addcarryx_u64(0x0, x456, x475);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x462, x496);
- uint64_t x520, uint8_t x521 = addcarryx_u64(x518, x465, x499);
- uint64_t x523, uint8_t x524 = addcarryx_u64(x521, x468, x502);
- uint64_t x526, uint8_t x527 = addcarryx_u64(x524, x471, x505);
- uint64_t x529, uint8_t x530 = addcarryx_u64(x527, x473, x508);
- uint64_t x532, uint64_t _ = mulx_u64(x511, 0xec9e48ae6f71de15L);
- uint64_t x535, uint64_t x536 = mulx_u64(x532, 0xfffffffffffffec3L);
- uint64_t x538, uint64_t x539 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x541, uint64_t x542 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x544, uint64_t x545 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x547, uint64_t x548 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x550, uint64_t x551 = mulx_u64(x532, 0xffffffffffffffffL);
- uint64_t x553, uint8_t x554 = addcarryx_u64(0x0, x536, x538);
- uint64_t x556, uint8_t x557 = addcarryx_u64(x554, x539, x541);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x542, x544);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x545, x547);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x548, x550);
- uint64_t x568, uint8_t _ = addcarryx_u64(0x0, x566, x551);
- uint64_t _, uint8_t x572 = addcarryx_u64(0x0, x511, x535);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x514, x553);
- uint64_t x577, uint8_t x578 = addcarryx_u64(x575, x517, x556);
- uint64_t x580, uint8_t x581 = addcarryx_u64(x578, x520, x559);
- uint64_t x583, uint8_t x584 = addcarryx_u64(x581, x523, x562);
- uint64_t x586, uint8_t x587 = addcarryx_u64(x584, x526, x565);
- uint64_t x589, uint8_t x590 = addcarryx_u64(x587, x529, x568);
- uint8_t x591 = (x590 + x530);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x15);
- uint64_t x596, uint64_t x597 = mulx_u64(x12, x17);
- uint64_t x599, uint64_t x600 = mulx_u64(x12, x19);
- uint64_t x602, uint64_t x603 = mulx_u64(x12, x21);
- uint64_t x605, uint64_t x606 = mulx_u64(x12, x23);
- uint64_t x608, uint64_t x609 = mulx_u64(x12, x22);
- uint64_t x611, uint8_t x612 = addcarryx_u64(0x0, x594, x596);
- uint64_t x614, uint8_t x615 = addcarryx_u64(x612, x597, x599);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x600, x602);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x603, x605);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x606, x608);
- uint64_t x626, uint8_t _ = addcarryx_u64(0x0, x624, x609);
- uint64_t x629, uint8_t x630 = addcarryx_u64(0x0, x574, x593);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x577, x611);
- uint64_t x635, uint8_t x636 = addcarryx_u64(x633, x580, x614);
- uint64_t x638, uint8_t x639 = addcarryx_u64(x636, x583, x617);
- uint64_t x641, uint8_t x642 = addcarryx_u64(x639, x586, x620);
- uint64_t x644, uint8_t x645 = addcarryx_u64(x642, x589, x623);
- uint64_t x647, uint8_t x648 = addcarryx_u64(x645, x591, x626);
- uint64_t x650, uint64_t _ = mulx_u64(x629, 0xec9e48ae6f71de15L);
- uint64_t x653, uint64_t x654 = mulx_u64(x650, 0xfffffffffffffec3L);
- uint64_t x656, uint64_t x657 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x659, uint64_t x660 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x662, uint64_t x663 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x665, uint64_t x666 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x668, uint64_t x669 = mulx_u64(x650, 0xffffffffffffffffL);
- uint64_t x671, uint8_t x672 = addcarryx_u64(0x0, x654, x656);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x657, x659);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x660, x662);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x663, x665);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x666, x668);
- uint64_t x686, uint8_t _ = addcarryx_u64(0x0, x684, x669);
- uint64_t _, uint8_t x690 = addcarryx_u64(0x0, x629, x653);
- uint64_t x692, uint8_t x693 = addcarryx_u64(x690, x632, x671);
- uint64_t x695, uint8_t x696 = addcarryx_u64(x693, x635, x674);
- uint64_t x698, uint8_t x699 = addcarryx_u64(x696, x638, x677);
- uint64_t x701, uint8_t x702 = addcarryx_u64(x699, x641, x680);
- uint64_t x704, uint8_t x705 = addcarryx_u64(x702, x644, x683);
- uint64_t x707, uint8_t x708 = addcarryx_u64(x705, x647, x686);
- uint8_t x709 = (x708 + x648);
- uint64_t x711, uint8_t x712 = subborrow_u64(0x0, x692, 0xfffffffffffffec3L);
- uint64_t x714, uint8_t x715 = subborrow_u64(x712, x695, 0xffffffffffffffffL);
- uint64_t x717, uint8_t x718 = subborrow_u64(x715, x698, 0xffffffffffffffffL);
- uint64_t x720, uint8_t x721 = subborrow_u64(x718, x701, 0xffffffffffffffffL);
- uint64_t x723, uint8_t x724 = subborrow_u64(x721, x704, 0xffffffffffffffffL);
- uint64_t x726, uint8_t x727 = subborrow_u64(x724, x707, 0xffffffffffffffffL);
- uint64_t _, uint8_t x730 = subborrow_u64(x727, x709, 0x0);
- uint64_t x731 = cmovznz64(x730, x726, x707);
- uint64_t x732 = cmovznz64(x730, x723, x704);
- uint64_t x733 = cmovznz64(x730, x720, x701);
- uint64_t x734 = cmovznz64(x730, x717, x698);
- uint64_t x735 = cmovznz64(x730, x714, x695);
- uint64_t x736 = cmovznz64(x730, x711, x692);
- return (x731, x732, x733, x734, x735, x736))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.v
deleted file mode 100644
index e50dbcf16..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fenz.c b/src/Specific/montgomery64_2e384m317_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fenz.v b/src/Specific/montgomery64_2e384m317_6limbs/fenz.v
deleted file mode 100644
index b18aee6c7..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.v
deleted file mode 100644
index 577a48502..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feopp.c b/src/Specific/montgomery64_2e384m317_6limbs/feopp.c
deleted file mode 100644
index 1e3821350..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffffffec3L);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0xffffffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feopp.v b/src/Specific/montgomery64_2e384m317_6limbs/feopp.v
deleted file mode 100644
index 1397f11e0..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.log
deleted file mode 100644
index 096edacb8..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffffffec3L);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0xffffffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.v
deleted file mode 100644
index 302f7d604..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m317_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fesub.c b/src/Specific/montgomery64_2e384m317_6limbs/fesub.c
deleted file mode 100644
index 600d8f46f..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xfffffffffffffec3L);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0xffffffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fesub.v b/src/Specific/montgomery64_2e384m317_6limbs/fesub.v
deleted file mode 100644
index 8e5c971b5..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.log
deleted file mode 100644
index f66a7568e..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xfffffffffffffec3L);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0xffffffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.v
deleted file mode 100644
index ace83fedb..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m317_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e384m317_6limbs/py_interpreter.sh
deleted file mode 100755
index b209001ee..000000000
--- a/src/Specific/montgomery64_2e384m317_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 317' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/CurveParameters.v
deleted file mode 100644
index 6642c8a5b..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 5*2^368 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 1); (5, 2^368)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e384m5x2e368m1_6limbs/Synthesis.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/Synthesis.v
deleted file mode 100644
index 6ff233bdb..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.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/montgomery64_2e384m5x2e368m1_6limbs/compiler.sh b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/compiler.sh
deleted file mode 100755
index 6da62391e..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/compilerxx.sh
deleted file mode 100755
index 493868c16..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xff,0xfa,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 5*(1_mpz<<368) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.c
deleted file mode 100644
index f7bc3c4f8..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffffL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0xfffaffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.v
deleted file mode 100644
index c1e435b4e..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.log
deleted file mode 100644
index 222cf00b2..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffffL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0xfffaffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.v
deleted file mode 100644
index b405d92ab..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.c
deleted file mode 100644
index 1df4cfe62..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.c
+++ /dev/null
@@ -1,260 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t x62; uint64_t x61 = _mulx_u64(x25, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x25, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x25, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x25, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x25, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x25, 0xfffaffffffffffffL, &x77);
- { uint64_t x79; uint8_t x80 = _addcarryx_u64(0x0, x62, x64, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(x80, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t _ = _addcarryx_u64(0x0, x92, x77, &x94);
- { uint64_t _; uint8_t x98 = _addcarryx_u64(0x0, x25, x61, &_);
- { uint64_t x100; uint8_t x101 = _addcarryx_u64(x98, x43, x79, &x100);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x46, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x49, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x52, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x55, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x58, x94, &x115);
- { uint64_t x119; uint64_t x118 = _mulx_u64(x7, x15, &x119);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x17, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x19, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x21, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x23, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x22, &x134);
- { uint64_t x136; uint8_t x137 = _addcarryx_u64(0x0, x119, x121, &x136);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(x137, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t _ = _addcarryx_u64(0x0, x149, x134, &x151);
- { uint64_t x154; uint8_t x155 = _addcarryx_u64(0x0, x100, x118, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(x155, x103, x136, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x116, x151, &x172);
- { uint64_t x176; uint64_t x175 = _mulx_u64(x154, 0xffffffffffffffffL, &x176);
- { uint64_t x179; uint64_t x178 = _mulx_u64(x154, 0xffffffffffffffffL, &x179);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x154, 0xffffffffffffffffL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x154, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x154, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x154, 0xfffaffffffffffffL, &x191);
- { uint64_t x193; uint8_t x194 = _addcarryx_u64(0x0, x176, x178, &x193);
- { uint64_t x196; uint8_t x197 = _addcarryx_u64(x194, x179, x181, &x196);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(x197, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t _ = _addcarryx_u64(0x0, x206, x191, &x208);
- { uint64_t _; uint8_t x212 = _addcarryx_u64(0x0, x154, x175, &_);
- { uint64_t x214; uint8_t x215 = _addcarryx_u64(x212, x157, x193, &x214);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(x215, x160, x196, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x163, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x166, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x169, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x172, x208, &x229);
- { uint8_t x231 = (x230 + x173);
- { uint64_t x234; uint64_t x233 = _mulx_u64(x9, x15, &x234);
- { uint64_t x237; uint64_t x236 = _mulx_u64(x9, x17, &x237);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x19, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x21, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x23, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x22, &x249);
- { uint64_t x251; uint8_t x252 = _addcarryx_u64(0x0, x234, x236, &x251);
- { uint64_t x254; uint8_t x255 = _addcarryx_u64(x252, x237, x239, &x254);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(x255, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t _ = _addcarryx_u64(0x0, x264, x249, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(0x0, x214, x233, &x269);
- { uint64_t x272; uint8_t x273 = _addcarryx_u64(x270, x217, x251, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(x273, x220, x254, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x231, x266, &x287);
- { uint64_t x291; uint64_t x290 = _mulx_u64(x269, 0xffffffffffffffffL, &x291);
- { uint64_t x294; uint64_t x293 = _mulx_u64(x269, 0xffffffffffffffffL, &x294);
- { uint64_t x297; uint64_t x296 = _mulx_u64(x269, 0xffffffffffffffffL, &x297);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x269, 0xffffffffffffffffL, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x269, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x269, 0xfffaffffffffffffL, &x306);
- { uint64_t x308; uint8_t x309 = _addcarryx_u64(0x0, x291, x293, &x308);
- { uint64_t x311; uint8_t x312 = _addcarryx_u64(x309, x294, x296, &x311);
- { uint64_t x314; uint8_t x315 = _addcarryx_u64(x312, x297, x299, &x314);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(x315, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t _ = _addcarryx_u64(0x0, x321, x306, &x323);
- { uint64_t _; uint8_t x327 = _addcarryx_u64(0x0, x269, x290, &_);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x272, x308, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(x330, x275, x311, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x278, x314, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x281, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x284, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x287, x323, &x344);
- { uint8_t x346 = (x345 + x288);
- { uint64_t x349; uint64_t x348 = _mulx_u64(x11, x15, &x349);
- { uint64_t x352; uint64_t x351 = _mulx_u64(x11, x17, &x352);
- { uint64_t x355; uint64_t x354 = _mulx_u64(x11, x19, &x355);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x21, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x23, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x22, &x364);
- { uint64_t x366; uint8_t x367 = _addcarryx_u64(0x0, x349, x351, &x366);
- { uint64_t x369; uint8_t x370 = _addcarryx_u64(x367, x352, x354, &x369);
- { uint64_t x372; uint8_t x373 = _addcarryx_u64(x370, x355, x357, &x372);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(x373, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t _ = _addcarryx_u64(0x0, x379, x364, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(0x0, x329, x348, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x332, x366, &x387);
- { uint64_t x390; uint8_t x391 = _addcarryx_u64(x388, x335, x369, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(x391, x338, x372, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x346, x381, &x402);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x384, 0xffffffffffffffffL, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x384, 0xffffffffffffffffL, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x384, 0xffffffffffffffffL, &x412);
- { uint64_t x415; uint64_t x414 = _mulx_u64(x384, 0xffffffffffffffffL, &x415);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x384, 0xffffffffffffffffL, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x384, 0xfffaffffffffffffL, &x421);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(0x0, x406, x408, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x409, x411, &x426);
- { uint64_t x429; uint8_t x430 = _addcarryx_u64(x427, x412, x414, &x429);
- { uint64_t x432; uint8_t x433 = _addcarryx_u64(x430, x415, x417, &x432);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(x433, x418, x420, &x435);
- { uint64_t x438; uint8_t _ = _addcarryx_u64(0x0, x436, x421, &x438);
- { uint64_t _; uint8_t x442 = _addcarryx_u64(0x0, x384, x405, &_);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x387, x423, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x390, x426, &x447);
- { uint64_t x450; uint8_t x451 = _addcarryx_u64(x448, x393, x429, &x450);
- { uint64_t x453; uint8_t x454 = _addcarryx_u64(x451, x396, x432, &x453);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x399, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x402, x438, &x459);
- { uint8_t x461 = (x460 + x403);
- { uint64_t x464; uint64_t x463 = _mulx_u64(x13, x15, &x464);
- { uint64_t x467; uint64_t x466 = _mulx_u64(x13, x17, &x467);
- { uint64_t x470; uint64_t x469 = _mulx_u64(x13, x19, &x470);
- { uint64_t x473; uint64_t x472 = _mulx_u64(x13, x21, &x473);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x23, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x22, &x479);
- { uint64_t x481; uint8_t x482 = _addcarryx_u64(0x0, x464, x466, &x481);
- { uint64_t x484; uint8_t x485 = _addcarryx_u64(x482, x467, x469, &x484);
- { uint64_t x487; uint8_t x488 = _addcarryx_u64(x485, x470, x472, &x487);
- { uint64_t x490; uint8_t x491 = _addcarryx_u64(x488, x473, x475, &x490);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(x491, x476, x478, &x493);
- { uint64_t x496; uint8_t _ = _addcarryx_u64(0x0, x494, x479, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(0x0, x444, x463, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x447, x481, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x450, x484, &x505);
- { uint64_t x508; uint8_t x509 = _addcarryx_u64(x506, x453, x487, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(x509, x456, x490, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x461, x496, &x517);
- { uint64_t x521; uint64_t x520 = _mulx_u64(x499, 0xffffffffffffffffL, &x521);
- { uint64_t x524; uint64_t x523 = _mulx_u64(x499, 0xffffffffffffffffL, &x524);
- { uint64_t x527; uint64_t x526 = _mulx_u64(x499, 0xffffffffffffffffL, &x527);
- { uint64_t x530; uint64_t x529 = _mulx_u64(x499, 0xffffffffffffffffL, &x530);
- { uint64_t x533; uint64_t x532 = _mulx_u64(x499, 0xffffffffffffffffL, &x533);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x499, 0xfffaffffffffffffL, &x536);
- { uint64_t x538; uint8_t x539 = _addcarryx_u64(0x0, x521, x523, &x538);
- { uint64_t x541; uint8_t x542 = _addcarryx_u64(x539, x524, x526, &x541);
- { uint64_t x544; uint8_t x545 = _addcarryx_u64(x542, x527, x529, &x544);
- { uint64_t x547; uint8_t x548 = _addcarryx_u64(x545, x530, x532, &x547);
- { uint64_t x550; uint8_t x551 = _addcarryx_u64(x548, x533, x535, &x550);
- { uint64_t x553; uint8_t _ = _addcarryx_u64(0x0, x551, x536, &x553);
- { uint64_t _; uint8_t x557 = _addcarryx_u64(0x0, x499, x520, &_);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x502, x538, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x505, x541, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x508, x544, &x565);
- { uint64_t x568; uint8_t x569 = _addcarryx_u64(x566, x511, x547, &x568);
- { uint64_t x571; uint8_t x572 = _addcarryx_u64(x569, x514, x550, &x571);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x517, x553, &x574);
- { uint8_t x576 = (x575 + x518);
- { uint64_t x579; uint64_t x578 = _mulx_u64(x12, x15, &x579);
- { uint64_t x582; uint64_t x581 = _mulx_u64(x12, x17, &x582);
- { uint64_t x585; uint64_t x584 = _mulx_u64(x12, x19, &x585);
- { uint64_t x588; uint64_t x587 = _mulx_u64(x12, x21, &x588);
- { uint64_t x591; uint64_t x590 = _mulx_u64(x12, x23, &x591);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x22, &x594);
- { uint64_t x596; uint8_t x597 = _addcarryx_u64(0x0, x579, x581, &x596);
- { uint64_t x599; uint8_t x600 = _addcarryx_u64(x597, x582, x584, &x599);
- { uint64_t x602; uint8_t x603 = _addcarryx_u64(x600, x585, x587, &x602);
- { uint64_t x605; uint8_t x606 = _addcarryx_u64(x603, x588, x590, &x605);
- { uint64_t x608; uint8_t x609 = _addcarryx_u64(x606, x591, x593, &x608);
- { uint64_t x611; uint8_t _ = _addcarryx_u64(0x0, x609, x594, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(0x0, x559, x578, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x562, x596, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x565, x599, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x568, x602, &x623);
- { uint64_t x626; uint8_t x627 = _addcarryx_u64(x624, x571, x605, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(x627, x574, x608, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x576, x611, &x632);
- { uint64_t x636; uint64_t x635 = _mulx_u64(x614, 0xffffffffffffffffL, &x636);
- { uint64_t x639; uint64_t x638 = _mulx_u64(x614, 0xffffffffffffffffL, &x639);
- { uint64_t x642; uint64_t x641 = _mulx_u64(x614, 0xffffffffffffffffL, &x642);
- { uint64_t x645; uint64_t x644 = _mulx_u64(x614, 0xffffffffffffffffL, &x645);
- { uint64_t x648; uint64_t x647 = _mulx_u64(x614, 0xffffffffffffffffL, &x648);
- { uint64_t x651; uint64_t x650 = _mulx_u64(x614, 0xfffaffffffffffffL, &x651);
- { uint64_t x653; uint8_t x654 = _addcarryx_u64(0x0, x636, x638, &x653);
- { uint64_t x656; uint8_t x657 = _addcarryx_u64(x654, x639, x641, &x656);
- { uint64_t x659; uint8_t x660 = _addcarryx_u64(x657, x642, x644, &x659);
- { uint64_t x662; uint8_t x663 = _addcarryx_u64(x660, x645, x647, &x662);
- { uint64_t x665; uint8_t x666 = _addcarryx_u64(x663, x648, x650, &x665);
- { uint64_t x668; uint8_t _ = _addcarryx_u64(0x0, x666, x651, &x668);
- { uint64_t _; uint8_t x672 = _addcarryx_u64(0x0, x614, x635, &_);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x617, x653, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x620, x656, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x623, x659, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x626, x662, &x683);
- { uint64_t x686; uint8_t x687 = _addcarryx_u64(x684, x629, x665, &x686);
- { uint64_t x689; uint8_t x690 = _addcarryx_u64(x687, x632, x668, &x689);
- { uint8_t x691 = (x690 + x633);
- { uint64_t x693; uint8_t x694 = _subborrow_u64(0x0, x674, 0xffffffffffffffffL, &x693);
- { uint64_t x696; uint8_t x697 = _subborrow_u64(x694, x677, 0xffffffffffffffffL, &x696);
- { uint64_t x699; uint8_t x700 = _subborrow_u64(x697, x680, 0xffffffffffffffffL, &x699);
- { uint64_t x702; uint8_t x703 = _subborrow_u64(x700, x683, 0xffffffffffffffffL, &x702);
- { uint64_t x705; uint8_t x706 = _subborrow_u64(x703, x686, 0xffffffffffffffffL, &x705);
- { uint64_t x708; uint8_t x709 = _subborrow_u64(x706, x689, 0xfffaffffffffffffL, &x708);
- { uint64_t _; uint8_t x712 = _subborrow_u64(x709, x691, 0x0, &_);
- { uint64_t x713 = cmovznz64(x712, x708, x689);
- { uint64_t x714 = cmovznz64(x712, x705, x686);
- { uint64_t x715 = cmovznz64(x712, x702, x683);
- { uint64_t x716 = cmovznz64(x712, x699, x680);
- { uint64_t x717 = cmovznz64(x712, x696, x677);
- { uint64_t x718 = cmovznz64(x712, x693, x674);
- out[0] = x718;
- out[1] = x717;
- out[2] = x716;
- out[3] = x715;
- out[4] = x714;
- out[5] = x713;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.v
deleted file mode 100644
index 6b6b602f6..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.log
deleted file mode 100644
index 1e07e0934..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,246 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t x62 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x64, uint64_t x65 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x67, uint64_t x68 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x25, 0xfffaffffffffffffL);
- uint64_t x79, uint8_t x80 = addcarryx_u64(0x0, x62, x64);
- uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t _ = addcarryx_u64(0x0, x92, x77);
- uint64_t _, uint8_t x98 = addcarryx_u64(0x0, x25, x61);
- uint64_t x100, uint8_t x101 = addcarryx_u64(x98, x43, x79);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x46, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x49, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x52, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x55, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x58, x94);
- uint64_t x118, uint64_t x119 = mulx_u64(x7, x15);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x17);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x19);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x21);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x23);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x22);
- uint64_t x136, uint8_t x137 = addcarryx_u64(0x0, x119, x121);
- uint64_t x139, uint8_t x140 = addcarryx_u64(x137, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t _ = addcarryx_u64(0x0, x149, x134);
- uint64_t x154, uint8_t x155 = addcarryx_u64(0x0, x100, x118);
- uint64_t x157, uint8_t x158 = addcarryx_u64(x155, x103, x136);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x116, x151);
- uint64_t x175, uint64_t x176 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x178, uint64_t x179 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x181, uint64_t x182 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x184, uint64_t x185 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x154, 0xfffaffffffffffffL);
- uint64_t x193, uint8_t x194 = addcarryx_u64(0x0, x176, x178);
- uint64_t x196, uint8_t x197 = addcarryx_u64(x194, x179, x181);
- uint64_t x199, uint8_t x200 = addcarryx_u64(x197, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t _ = addcarryx_u64(0x0, x206, x191);
- uint64_t _, uint8_t x212 = addcarryx_u64(0x0, x154, x175);
- uint64_t x214, uint8_t x215 = addcarryx_u64(x212, x157, x193);
- uint64_t x217, uint8_t x218 = addcarryx_u64(x215, x160, x196);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x163, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x166, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x169, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x172, x208);
- uint8_t x231 = (x230 + x173);
- uint64_t x233, uint64_t x234 = mulx_u64(x9, x15);
- uint64_t x236, uint64_t x237 = mulx_u64(x9, x17);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x19);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x21);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x23);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x22);
- uint64_t x251, uint8_t x252 = addcarryx_u64(0x0, x234, x236);
- uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x237, x239);
- uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t _ = addcarryx_u64(0x0, x264, x249);
- uint64_t x269, uint8_t x270 = addcarryx_u64(0x0, x214, x233);
- uint64_t x272, uint8_t x273 = addcarryx_u64(x270, x217, x251);
- uint64_t x275, uint8_t x276 = addcarryx_u64(x273, x220, x254);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x231, x266);
- uint64_t x290, uint64_t x291 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x293, uint64_t x294 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x296, uint64_t x297 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x299, uint64_t x300 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x302, uint64_t x303 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x269, 0xfffaffffffffffffL);
- uint64_t x308, uint8_t x309 = addcarryx_u64(0x0, x291, x293);
- uint64_t x311, uint8_t x312 = addcarryx_u64(x309, x294, x296);
- uint64_t x314, uint8_t x315 = addcarryx_u64(x312, x297, x299);
- uint64_t x317, uint8_t x318 = addcarryx_u64(x315, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t _ = addcarryx_u64(0x0, x321, x306);
- uint64_t _, uint8_t x327 = addcarryx_u64(0x0, x269, x290);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x272, x308);
- uint64_t x332, uint8_t x333 = addcarryx_u64(x330, x275, x311);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x278, x314);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x281, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x284, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x287, x323);
- uint8_t x346 = (x345 + x288);
- uint64_t x348, uint64_t x349 = mulx_u64(x11, x15);
- uint64_t x351, uint64_t x352 = mulx_u64(x11, x17);
- uint64_t x354, uint64_t x355 = mulx_u64(x11, x19);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x21);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x23);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x22);
- uint64_t x366, uint8_t x367 = addcarryx_u64(0x0, x349, x351);
- uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x352, x354);
- uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x355, x357);
- uint64_t x375, uint8_t x376 = addcarryx_u64(x373, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t _ = addcarryx_u64(0x0, x379, x364);
- uint64_t x384, uint8_t x385 = addcarryx_u64(0x0, x329, x348);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x332, x366);
- uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x335, x369);
- uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x338, x372);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x346, x381);
- uint64_t x405, uint64_t x406 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x408, uint64_t x409 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x411, uint64_t x412 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x414, uint64_t x415 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x417, uint64_t x418 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x420, uint64_t x421 = mulx_u64(x384, 0xfffaffffffffffffL);
- uint64_t x423, uint8_t x424 = addcarryx_u64(0x0, x406, x408);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x409, x411);
- uint64_t x429, uint8_t x430 = addcarryx_u64(x427, x412, x414);
- uint64_t x432, uint8_t x433 = addcarryx_u64(x430, x415, x417);
- uint64_t x435, uint8_t x436 = addcarryx_u64(x433, x418, x420);
- uint64_t x438, uint8_t _ = addcarryx_u64(0x0, x436, x421);
- uint64_t _, uint8_t x442 = addcarryx_u64(0x0, x384, x405);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x387, x423);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x390, x426);
- uint64_t x450, uint8_t x451 = addcarryx_u64(x448, x393, x429);
- uint64_t x453, uint8_t x454 = addcarryx_u64(x451, x396, x432);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x399, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x402, x438);
- uint8_t x461 = (x460 + x403);
- uint64_t x463, uint64_t x464 = mulx_u64(x13, x15);
- uint64_t x466, uint64_t x467 = mulx_u64(x13, x17);
- uint64_t x469, uint64_t x470 = mulx_u64(x13, x19);
- uint64_t x472, uint64_t x473 = mulx_u64(x13, x21);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x23);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x22);
- uint64_t x481, uint8_t x482 = addcarryx_u64(0x0, x464, x466);
- uint64_t x484, uint8_t x485 = addcarryx_u64(x482, x467, x469);
- uint64_t x487, uint8_t x488 = addcarryx_u64(x485, x470, x472);
- uint64_t x490, uint8_t x491 = addcarryx_u64(x488, x473, x475);
- uint64_t x493, uint8_t x494 = addcarryx_u64(x491, x476, x478);
- uint64_t x496, uint8_t _ = addcarryx_u64(0x0, x494, x479);
- uint64_t x499, uint8_t x500 = addcarryx_u64(0x0, x444, x463);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x447, x481);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x450, x484);
- uint64_t x508, uint8_t x509 = addcarryx_u64(x506, x453, x487);
- uint64_t x511, uint8_t x512 = addcarryx_u64(x509, x456, x490);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x461, x496);
- uint64_t x520, uint64_t x521 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x523, uint64_t x524 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x526, uint64_t x527 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x529, uint64_t x530 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x532, uint64_t x533 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x535, uint64_t x536 = mulx_u64(x499, 0xfffaffffffffffffL);
- uint64_t x538, uint8_t x539 = addcarryx_u64(0x0, x521, x523);
- uint64_t x541, uint8_t x542 = addcarryx_u64(x539, x524, x526);
- uint64_t x544, uint8_t x545 = addcarryx_u64(x542, x527, x529);
- uint64_t x547, uint8_t x548 = addcarryx_u64(x545, x530, x532);
- uint64_t x550, uint8_t x551 = addcarryx_u64(x548, x533, x535);
- uint64_t x553, uint8_t _ = addcarryx_u64(0x0, x551, x536);
- uint64_t _, uint8_t x557 = addcarryx_u64(0x0, x499, x520);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x502, x538);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x505, x541);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x508, x544);
- uint64_t x568, uint8_t x569 = addcarryx_u64(x566, x511, x547);
- uint64_t x571, uint8_t x572 = addcarryx_u64(x569, x514, x550);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x517, x553);
- uint8_t x576 = (x575 + x518);
- uint64_t x578, uint64_t x579 = mulx_u64(x12, x15);
- uint64_t x581, uint64_t x582 = mulx_u64(x12, x17);
- uint64_t x584, uint64_t x585 = mulx_u64(x12, x19);
- uint64_t x587, uint64_t x588 = mulx_u64(x12, x21);
- uint64_t x590, uint64_t x591 = mulx_u64(x12, x23);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x22);
- uint64_t x596, uint8_t x597 = addcarryx_u64(0x0, x579, x581);
- uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x582, x584);
- uint64_t x602, uint8_t x603 = addcarryx_u64(x600, x585, x587);
- uint64_t x605, uint8_t x606 = addcarryx_u64(x603, x588, x590);
- uint64_t x608, uint8_t x609 = addcarryx_u64(x606, x591, x593);
- uint64_t x611, uint8_t _ = addcarryx_u64(0x0, x609, x594);
- uint64_t x614, uint8_t x615 = addcarryx_u64(0x0, x559, x578);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x562, x596);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x565, x599);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x568, x602);
- uint64_t x626, uint8_t x627 = addcarryx_u64(x624, x571, x605);
- uint64_t x629, uint8_t x630 = addcarryx_u64(x627, x574, x608);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x576, x611);
- uint64_t x635, uint64_t x636 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x638, uint64_t x639 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x641, uint64_t x642 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x644, uint64_t x645 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x647, uint64_t x648 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x650, uint64_t x651 = mulx_u64(x614, 0xfffaffffffffffffL);
- uint64_t x653, uint8_t x654 = addcarryx_u64(0x0, x636, x638);
- uint64_t x656, uint8_t x657 = addcarryx_u64(x654, x639, x641);
- uint64_t x659, uint8_t x660 = addcarryx_u64(x657, x642, x644);
- uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x645, x647);
- uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x648, x650);
- uint64_t x668, uint8_t _ = addcarryx_u64(0x0, x666, x651);
- uint64_t _, uint8_t x672 = addcarryx_u64(0x0, x614, x635);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x617, x653);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x620, x656);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x623, x659);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x626, x662);
- uint64_t x686, uint8_t x687 = addcarryx_u64(x684, x629, x665);
- uint64_t x689, uint8_t x690 = addcarryx_u64(x687, x632, x668);
- uint8_t x691 = (x690 + x633);
- uint64_t x693, uint8_t x694 = subborrow_u64(0x0, x674, 0xffffffffffffffffL);
- uint64_t x696, uint8_t x697 = subborrow_u64(x694, x677, 0xffffffffffffffffL);
- uint64_t x699, uint8_t x700 = subborrow_u64(x697, x680, 0xffffffffffffffffL);
- uint64_t x702, uint8_t x703 = subborrow_u64(x700, x683, 0xffffffffffffffffL);
- uint64_t x705, uint8_t x706 = subborrow_u64(x703, x686, 0xffffffffffffffffL);
- uint64_t x708, uint8_t x709 = subborrow_u64(x706, x689, 0xfffaffffffffffffL);
- uint64_t _, uint8_t x712 = subborrow_u64(x709, x691, 0x0);
- uint64_t x713 = cmovznz64(x712, x708, x689);
- uint64_t x714 = cmovznz64(x712, x705, x686);
- uint64_t x715 = cmovznz64(x712, x702, x683);
- uint64_t x716 = cmovznz64(x712, x699, x680);
- uint64_t x717 = cmovznz64(x712, x696, x677);
- uint64_t x718 = cmovznz64(x712, x693, x674);
- return (x713, x714, x715, x716, x717, x718))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.v
deleted file mode 100644
index babd0a93e..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.v
deleted file mode 100644
index 7ff722693..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.v
deleted file mode 100644
index f665f19a5..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.c
deleted file mode 100644
index 666ec0ad1..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffffL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0xfffaffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.v
deleted file mode 100644
index 7d93fdca8..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.log
deleted file mode 100644
index 625c3e169..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0xfffaffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.v
deleted file mode 100644
index 5ce8d1487..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.c
deleted file mode 100644
index 8e5943404..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffffL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0xfffaffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.v
deleted file mode 100644
index 980c15f82..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.log
deleted file mode 100644
index 2787b77d5..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffffL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0xfffaffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.v
deleted file mode 100644
index e9bdd3242..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m5x2e368m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/py_interpreter.sh
deleted file mode 100755
index e960ac224..000000000
--- a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 5*2**368 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/CurveParameters.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/CurveParameters.v
deleted file mode 100644
index 67ec75679..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 79*2^376 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 64;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 1); (79, 2^376)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e384m79x2e376m1_6limbs/Synthesis.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/Synthesis.v
deleted file mode 100644
index 9929ba1e0..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.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/montgomery64_2e384m79x2e376m1_6limbs/compiler.sh b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/compiler.sh
deleted file mode 100755
index 03e4aaaf7..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/compilerxx.sh b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/compilerxx.sh
deleted file mode 100755
index 12db4e310..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64}' -Dmodulus_array='{0xb0,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<384) - 79*(1_mpz<<376) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.c
deleted file mode 100644
index 1bc58a70d..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _addcarryx_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _addcarryx_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _addcarryx_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x12, x22, &x40);
- { uint64_t x43; uint8_t x44 = _subborrow_u64(0x0, x25, 0xffffffffffffffffL, &x43);
- { uint64_t x46; uint8_t x47 = _subborrow_u64(x44, x28, 0xffffffffffffffffL, &x46);
- { uint64_t x49; uint8_t x50 = _subborrow_u64(x47, x31, 0xffffffffffffffffL, &x49);
- { uint64_t x52; uint8_t x53 = _subborrow_u64(x50, x34, 0xffffffffffffffffL, &x52);
- { uint64_t x55; uint8_t x56 = _subborrow_u64(x53, x37, 0xffffffffffffffffL, &x55);
- { uint64_t x58; uint8_t x59 = _subborrow_u64(x56, x40, 0xb0ffffffffffffffL, &x58);
- { uint64_t _; uint8_t x62 = _subborrow_u64(x59, x41, 0x0, &_);
- { uint64_t x63 = cmovznz64(x62, x58, x40);
- { uint64_t x64 = cmovznz64(x62, x55, x37);
- { uint64_t x65 = cmovznz64(x62, x52, x34);
- { uint64_t x66 = cmovznz64(x62, x49, x31);
- { uint64_t x67 = cmovznz64(x62, x46, x28);
- { uint64_t x68 = cmovznz64(x62, x43, x25);
- out[0] = x68;
- out[1] = x67;
- out[2] = x66;
- out[3] = x65;
- out[4] = x64;
- out[5] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.v
deleted file mode 100644
index 772d0f206..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.log b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.log
deleted file mode 100644
index d44abf137..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = addcarryx_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = addcarryx_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = addcarryx_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = addcarryx_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = addcarryx_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x12, x22);
- uint64_t x43, uint8_t x44 = subborrow_u64(0x0, x25, 0xffffffffffffffffL);
- uint64_t x46, uint8_t x47 = subborrow_u64(x44, x28, 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = subborrow_u64(x47, x31, 0xffffffffffffffffL);
- uint64_t x52, uint8_t x53 = subborrow_u64(x50, x34, 0xffffffffffffffffL);
- uint64_t x55, uint8_t x56 = subborrow_u64(x53, x37, 0xffffffffffffffffL);
- uint64_t x58, uint8_t x59 = subborrow_u64(x56, x40, 0xb0ffffffffffffffL);
- uint64_t _, uint8_t x62 = subborrow_u64(x59, x41, 0x0);
- uint64_t x63 = cmovznz64(x62, x58, x40);
- uint64_t x64 = cmovznz64(x62, x55, x37);
- uint64_t x65 = cmovznz64(x62, x52, x34);
- uint64_t x66 = cmovznz64(x62, x49, x31);
- uint64_t x67 = cmovznz64(x62, x46, x28);
- uint64_t x68 = cmovznz64(x62, x43, x25);
- return (x63, x64, x65, x66, x67, x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.v
deleted file mode 100644
index 7b38a59cb..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.c
deleted file mode 100644
index 65495b82a..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.c
+++ /dev/null
@@ -1,260 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x26; uint64_t x25 = _mulx_u64(x5, x15, &x26);
- { uint64_t x29; uint64_t x28 = _mulx_u64(x5, x17, &x29);
- { uint64_t x32; uint64_t x31 = _mulx_u64(x5, x19, &x32);
- { uint64_t x35; uint64_t x34 = _mulx_u64(x5, x21, &x35);
- { uint64_t x38; uint64_t x37 = _mulx_u64(x5, x23, &x38);
- { uint64_t x41; uint64_t x40 = _mulx_u64(x5, x22, &x41);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(0x0, x26, x28, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x29, x31, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x32, x34, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x35, x37, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x38, x40, &x55);
- { uint64_t x58; uint8_t _ = _addcarryx_u64(0x0, x56, x41, &x58);
- { uint64_t x62; uint64_t x61 = _mulx_u64(x25, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint64_t x64 = _mulx_u64(x25, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint64_t x67 = _mulx_u64(x25, 0xffffffffffffffffL, &x68);
- { uint64_t x71; uint64_t x70 = _mulx_u64(x25, 0xffffffffffffffffL, &x71);
- { uint64_t x74; uint64_t x73 = _mulx_u64(x25, 0xffffffffffffffffL, &x74);
- { uint64_t x77; uint64_t x76 = _mulx_u64(x25, 0xb0ffffffffffffffL, &x77);
- { uint64_t x79; uint8_t x80 = _addcarryx_u64(0x0, x62, x64, &x79);
- { uint64_t x82; uint8_t x83 = _addcarryx_u64(x80, x65, x67, &x82);
- { uint64_t x85; uint8_t x86 = _addcarryx_u64(x83, x68, x70, &x85);
- { uint64_t x88; uint8_t x89 = _addcarryx_u64(x86, x71, x73, &x88);
- { uint64_t x91; uint8_t x92 = _addcarryx_u64(x89, x74, x76, &x91);
- { uint64_t x94; uint8_t _ = _addcarryx_u64(0x0, x92, x77, &x94);
- { uint64_t _; uint8_t x98 = _addcarryx_u64(0x0, x25, x61, &_);
- { uint64_t x100; uint8_t x101 = _addcarryx_u64(x98, x43, x79, &x100);
- { uint64_t x103; uint8_t x104 = _addcarryx_u64(x101, x46, x82, &x103);
- { uint64_t x106; uint8_t x107 = _addcarryx_u64(x104, x49, x85, &x106);
- { uint64_t x109; uint8_t x110 = _addcarryx_u64(x107, x52, x88, &x109);
- { uint64_t x112; uint8_t x113 = _addcarryx_u64(x110, x55, x91, &x112);
- { uint64_t x115; uint8_t x116 = _addcarryx_u64(x113, x58, x94, &x115);
- { uint64_t x119; uint64_t x118 = _mulx_u64(x7, x15, &x119);
- { uint64_t x122; uint64_t x121 = _mulx_u64(x7, x17, &x122);
- { uint64_t x125; uint64_t x124 = _mulx_u64(x7, x19, &x125);
- { uint64_t x128; uint64_t x127 = _mulx_u64(x7, x21, &x128);
- { uint64_t x131; uint64_t x130 = _mulx_u64(x7, x23, &x131);
- { uint64_t x134; uint64_t x133 = _mulx_u64(x7, x22, &x134);
- { uint64_t x136; uint8_t x137 = _addcarryx_u64(0x0, x119, x121, &x136);
- { uint64_t x139; uint8_t x140 = _addcarryx_u64(x137, x122, x124, &x139);
- { uint64_t x142; uint8_t x143 = _addcarryx_u64(x140, x125, x127, &x142);
- { uint64_t x145; uint8_t x146 = _addcarryx_u64(x143, x128, x130, &x145);
- { uint64_t x148; uint8_t x149 = _addcarryx_u64(x146, x131, x133, &x148);
- { uint64_t x151; uint8_t _ = _addcarryx_u64(0x0, x149, x134, &x151);
- { uint64_t x154; uint8_t x155 = _addcarryx_u64(0x0, x100, x118, &x154);
- { uint64_t x157; uint8_t x158 = _addcarryx_u64(x155, x103, x136, &x157);
- { uint64_t x160; uint8_t x161 = _addcarryx_u64(x158, x106, x139, &x160);
- { uint64_t x163; uint8_t x164 = _addcarryx_u64(x161, x109, x142, &x163);
- { uint64_t x166; uint8_t x167 = _addcarryx_u64(x164, x112, x145, &x166);
- { uint64_t x169; uint8_t x170 = _addcarryx_u64(x167, x115, x148, &x169);
- { uint64_t x172; uint8_t x173 = _addcarryx_u64(x170, x116, x151, &x172);
- { uint64_t x176; uint64_t x175 = _mulx_u64(x154, 0xffffffffffffffffL, &x176);
- { uint64_t x179; uint64_t x178 = _mulx_u64(x154, 0xffffffffffffffffL, &x179);
- { uint64_t x182; uint64_t x181 = _mulx_u64(x154, 0xffffffffffffffffL, &x182);
- { uint64_t x185; uint64_t x184 = _mulx_u64(x154, 0xffffffffffffffffL, &x185);
- { uint64_t x188; uint64_t x187 = _mulx_u64(x154, 0xffffffffffffffffL, &x188);
- { uint64_t x191; uint64_t x190 = _mulx_u64(x154, 0xb0ffffffffffffffL, &x191);
- { uint64_t x193; uint8_t x194 = _addcarryx_u64(0x0, x176, x178, &x193);
- { uint64_t x196; uint8_t x197 = _addcarryx_u64(x194, x179, x181, &x196);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(x197, x182, x184, &x199);
- { uint64_t x202; uint8_t x203 = _addcarryx_u64(x200, x185, x187, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(x203, x188, x190, &x205);
- { uint64_t x208; uint8_t _ = _addcarryx_u64(0x0, x206, x191, &x208);
- { uint64_t _; uint8_t x212 = _addcarryx_u64(0x0, x154, x175, &_);
- { uint64_t x214; uint8_t x215 = _addcarryx_u64(x212, x157, x193, &x214);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(x215, x160, x196, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x163, x199, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x166, x202, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x169, x205, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x172, x208, &x229);
- { uint8_t x231 = (x230 + x173);
- { uint64_t x234; uint64_t x233 = _mulx_u64(x9, x15, &x234);
- { uint64_t x237; uint64_t x236 = _mulx_u64(x9, x17, &x237);
- { uint64_t x240; uint64_t x239 = _mulx_u64(x9, x19, &x240);
- { uint64_t x243; uint64_t x242 = _mulx_u64(x9, x21, &x243);
- { uint64_t x246; uint64_t x245 = _mulx_u64(x9, x23, &x246);
- { uint64_t x249; uint64_t x248 = _mulx_u64(x9, x22, &x249);
- { uint64_t x251; uint8_t x252 = _addcarryx_u64(0x0, x234, x236, &x251);
- { uint64_t x254; uint8_t x255 = _addcarryx_u64(x252, x237, x239, &x254);
- { uint64_t x257; uint8_t x258 = _addcarryx_u64(x255, x240, x242, &x257);
- { uint64_t x260; uint8_t x261 = _addcarryx_u64(x258, x243, x245, &x260);
- { uint64_t x263; uint8_t x264 = _addcarryx_u64(x261, x246, x248, &x263);
- { uint64_t x266; uint8_t _ = _addcarryx_u64(0x0, x264, x249, &x266);
- { uint64_t x269; uint8_t x270 = _addcarryx_u64(0x0, x214, x233, &x269);
- { uint64_t x272; uint8_t x273 = _addcarryx_u64(x270, x217, x251, &x272);
- { uint64_t x275; uint8_t x276 = _addcarryx_u64(x273, x220, x254, &x275);
- { uint64_t x278; uint8_t x279 = _addcarryx_u64(x276, x223, x257, &x278);
- { uint64_t x281; uint8_t x282 = _addcarryx_u64(x279, x226, x260, &x281);
- { uint64_t x284; uint8_t x285 = _addcarryx_u64(x282, x229, x263, &x284);
- { uint64_t x287; uint8_t x288 = _addcarryx_u64(x285, x231, x266, &x287);
- { uint64_t x291; uint64_t x290 = _mulx_u64(x269, 0xffffffffffffffffL, &x291);
- { uint64_t x294; uint64_t x293 = _mulx_u64(x269, 0xffffffffffffffffL, &x294);
- { uint64_t x297; uint64_t x296 = _mulx_u64(x269, 0xffffffffffffffffL, &x297);
- { uint64_t x300; uint64_t x299 = _mulx_u64(x269, 0xffffffffffffffffL, &x300);
- { uint64_t x303; uint64_t x302 = _mulx_u64(x269, 0xffffffffffffffffL, &x303);
- { uint64_t x306; uint64_t x305 = _mulx_u64(x269, 0xb0ffffffffffffffL, &x306);
- { uint64_t x308; uint8_t x309 = _addcarryx_u64(0x0, x291, x293, &x308);
- { uint64_t x311; uint8_t x312 = _addcarryx_u64(x309, x294, x296, &x311);
- { uint64_t x314; uint8_t x315 = _addcarryx_u64(x312, x297, x299, &x314);
- { uint64_t x317; uint8_t x318 = _addcarryx_u64(x315, x300, x302, &x317);
- { uint64_t x320; uint8_t x321 = _addcarryx_u64(x318, x303, x305, &x320);
- { uint64_t x323; uint8_t _ = _addcarryx_u64(0x0, x321, x306, &x323);
- { uint64_t _; uint8_t x327 = _addcarryx_u64(0x0, x269, x290, &_);
- { uint64_t x329; uint8_t x330 = _addcarryx_u64(x327, x272, x308, &x329);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(x330, x275, x311, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x278, x314, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x281, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x284, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x287, x323, &x344);
- { uint8_t x346 = (x345 + x288);
- { uint64_t x349; uint64_t x348 = _mulx_u64(x11, x15, &x349);
- { uint64_t x352; uint64_t x351 = _mulx_u64(x11, x17, &x352);
- { uint64_t x355; uint64_t x354 = _mulx_u64(x11, x19, &x355);
- { uint64_t x358; uint64_t x357 = _mulx_u64(x11, x21, &x358);
- { uint64_t x361; uint64_t x360 = _mulx_u64(x11, x23, &x361);
- { uint64_t x364; uint64_t x363 = _mulx_u64(x11, x22, &x364);
- { uint64_t x366; uint8_t x367 = _addcarryx_u64(0x0, x349, x351, &x366);
- { uint64_t x369; uint8_t x370 = _addcarryx_u64(x367, x352, x354, &x369);
- { uint64_t x372; uint8_t x373 = _addcarryx_u64(x370, x355, x357, &x372);
- { uint64_t x375; uint8_t x376 = _addcarryx_u64(x373, x358, x360, &x375);
- { uint64_t x378; uint8_t x379 = _addcarryx_u64(x376, x361, x363, &x378);
- { uint64_t x381; uint8_t _ = _addcarryx_u64(0x0, x379, x364, &x381);
- { uint64_t x384; uint8_t x385 = _addcarryx_u64(0x0, x329, x348, &x384);
- { uint64_t x387; uint8_t x388 = _addcarryx_u64(x385, x332, x366, &x387);
- { uint64_t x390; uint8_t x391 = _addcarryx_u64(x388, x335, x369, &x390);
- { uint64_t x393; uint8_t x394 = _addcarryx_u64(x391, x338, x372, &x393);
- { uint64_t x396; uint8_t x397 = _addcarryx_u64(x394, x341, x375, &x396);
- { uint64_t x399; uint8_t x400 = _addcarryx_u64(x397, x344, x378, &x399);
- { uint64_t x402; uint8_t x403 = _addcarryx_u64(x400, x346, x381, &x402);
- { uint64_t x406; uint64_t x405 = _mulx_u64(x384, 0xffffffffffffffffL, &x406);
- { uint64_t x409; uint64_t x408 = _mulx_u64(x384, 0xffffffffffffffffL, &x409);
- { uint64_t x412; uint64_t x411 = _mulx_u64(x384, 0xffffffffffffffffL, &x412);
- { uint64_t x415; uint64_t x414 = _mulx_u64(x384, 0xffffffffffffffffL, &x415);
- { uint64_t x418; uint64_t x417 = _mulx_u64(x384, 0xffffffffffffffffL, &x418);
- { uint64_t x421; uint64_t x420 = _mulx_u64(x384, 0xb0ffffffffffffffL, &x421);
- { uint64_t x423; uint8_t x424 = _addcarryx_u64(0x0, x406, x408, &x423);
- { uint64_t x426; uint8_t x427 = _addcarryx_u64(x424, x409, x411, &x426);
- { uint64_t x429; uint8_t x430 = _addcarryx_u64(x427, x412, x414, &x429);
- { uint64_t x432; uint8_t x433 = _addcarryx_u64(x430, x415, x417, &x432);
- { uint64_t x435; uint8_t x436 = _addcarryx_u64(x433, x418, x420, &x435);
- { uint64_t x438; uint8_t _ = _addcarryx_u64(0x0, x436, x421, &x438);
- { uint64_t _; uint8_t x442 = _addcarryx_u64(0x0, x384, x405, &_);
- { uint64_t x444; uint8_t x445 = _addcarryx_u64(x442, x387, x423, &x444);
- { uint64_t x447; uint8_t x448 = _addcarryx_u64(x445, x390, x426, &x447);
- { uint64_t x450; uint8_t x451 = _addcarryx_u64(x448, x393, x429, &x450);
- { uint64_t x453; uint8_t x454 = _addcarryx_u64(x451, x396, x432, &x453);
- { uint64_t x456; uint8_t x457 = _addcarryx_u64(x454, x399, x435, &x456);
- { uint64_t x459; uint8_t x460 = _addcarryx_u64(x457, x402, x438, &x459);
- { uint8_t x461 = (x460 + x403);
- { uint64_t x464; uint64_t x463 = _mulx_u64(x13, x15, &x464);
- { uint64_t x467; uint64_t x466 = _mulx_u64(x13, x17, &x467);
- { uint64_t x470; uint64_t x469 = _mulx_u64(x13, x19, &x470);
- { uint64_t x473; uint64_t x472 = _mulx_u64(x13, x21, &x473);
- { uint64_t x476; uint64_t x475 = _mulx_u64(x13, x23, &x476);
- { uint64_t x479; uint64_t x478 = _mulx_u64(x13, x22, &x479);
- { uint64_t x481; uint8_t x482 = _addcarryx_u64(0x0, x464, x466, &x481);
- { uint64_t x484; uint8_t x485 = _addcarryx_u64(x482, x467, x469, &x484);
- { uint64_t x487; uint8_t x488 = _addcarryx_u64(x485, x470, x472, &x487);
- { uint64_t x490; uint8_t x491 = _addcarryx_u64(x488, x473, x475, &x490);
- { uint64_t x493; uint8_t x494 = _addcarryx_u64(x491, x476, x478, &x493);
- { uint64_t x496; uint8_t _ = _addcarryx_u64(0x0, x494, x479, &x496);
- { uint64_t x499; uint8_t x500 = _addcarryx_u64(0x0, x444, x463, &x499);
- { uint64_t x502; uint8_t x503 = _addcarryx_u64(x500, x447, x481, &x502);
- { uint64_t x505; uint8_t x506 = _addcarryx_u64(x503, x450, x484, &x505);
- { uint64_t x508; uint8_t x509 = _addcarryx_u64(x506, x453, x487, &x508);
- { uint64_t x511; uint8_t x512 = _addcarryx_u64(x509, x456, x490, &x511);
- { uint64_t x514; uint8_t x515 = _addcarryx_u64(x512, x459, x493, &x514);
- { uint64_t x517; uint8_t x518 = _addcarryx_u64(x515, x461, x496, &x517);
- { uint64_t x521; uint64_t x520 = _mulx_u64(x499, 0xffffffffffffffffL, &x521);
- { uint64_t x524; uint64_t x523 = _mulx_u64(x499, 0xffffffffffffffffL, &x524);
- { uint64_t x527; uint64_t x526 = _mulx_u64(x499, 0xffffffffffffffffL, &x527);
- { uint64_t x530; uint64_t x529 = _mulx_u64(x499, 0xffffffffffffffffL, &x530);
- { uint64_t x533; uint64_t x532 = _mulx_u64(x499, 0xffffffffffffffffL, &x533);
- { uint64_t x536; uint64_t x535 = _mulx_u64(x499, 0xb0ffffffffffffffL, &x536);
- { uint64_t x538; uint8_t x539 = _addcarryx_u64(0x0, x521, x523, &x538);
- { uint64_t x541; uint8_t x542 = _addcarryx_u64(x539, x524, x526, &x541);
- { uint64_t x544; uint8_t x545 = _addcarryx_u64(x542, x527, x529, &x544);
- { uint64_t x547; uint8_t x548 = _addcarryx_u64(x545, x530, x532, &x547);
- { uint64_t x550; uint8_t x551 = _addcarryx_u64(x548, x533, x535, &x550);
- { uint64_t x553; uint8_t _ = _addcarryx_u64(0x0, x551, x536, &x553);
- { uint64_t _; uint8_t x557 = _addcarryx_u64(0x0, x499, x520, &_);
- { uint64_t x559; uint8_t x560 = _addcarryx_u64(x557, x502, x538, &x559);
- { uint64_t x562; uint8_t x563 = _addcarryx_u64(x560, x505, x541, &x562);
- { uint64_t x565; uint8_t x566 = _addcarryx_u64(x563, x508, x544, &x565);
- { uint64_t x568; uint8_t x569 = _addcarryx_u64(x566, x511, x547, &x568);
- { uint64_t x571; uint8_t x572 = _addcarryx_u64(x569, x514, x550, &x571);
- { uint64_t x574; uint8_t x575 = _addcarryx_u64(x572, x517, x553, &x574);
- { uint8_t x576 = (x575 + x518);
- { uint64_t x579; uint64_t x578 = _mulx_u64(x12, x15, &x579);
- { uint64_t x582; uint64_t x581 = _mulx_u64(x12, x17, &x582);
- { uint64_t x585; uint64_t x584 = _mulx_u64(x12, x19, &x585);
- { uint64_t x588; uint64_t x587 = _mulx_u64(x12, x21, &x588);
- { uint64_t x591; uint64_t x590 = _mulx_u64(x12, x23, &x591);
- { uint64_t x594; uint64_t x593 = _mulx_u64(x12, x22, &x594);
- { uint64_t x596; uint8_t x597 = _addcarryx_u64(0x0, x579, x581, &x596);
- { uint64_t x599; uint8_t x600 = _addcarryx_u64(x597, x582, x584, &x599);
- { uint64_t x602; uint8_t x603 = _addcarryx_u64(x600, x585, x587, &x602);
- { uint64_t x605; uint8_t x606 = _addcarryx_u64(x603, x588, x590, &x605);
- { uint64_t x608; uint8_t x609 = _addcarryx_u64(x606, x591, x593, &x608);
- { uint64_t x611; uint8_t _ = _addcarryx_u64(0x0, x609, x594, &x611);
- { uint64_t x614; uint8_t x615 = _addcarryx_u64(0x0, x559, x578, &x614);
- { uint64_t x617; uint8_t x618 = _addcarryx_u64(x615, x562, x596, &x617);
- { uint64_t x620; uint8_t x621 = _addcarryx_u64(x618, x565, x599, &x620);
- { uint64_t x623; uint8_t x624 = _addcarryx_u64(x621, x568, x602, &x623);
- { uint64_t x626; uint8_t x627 = _addcarryx_u64(x624, x571, x605, &x626);
- { uint64_t x629; uint8_t x630 = _addcarryx_u64(x627, x574, x608, &x629);
- { uint64_t x632; uint8_t x633 = _addcarryx_u64(x630, x576, x611, &x632);
- { uint64_t x636; uint64_t x635 = _mulx_u64(x614, 0xffffffffffffffffL, &x636);
- { uint64_t x639; uint64_t x638 = _mulx_u64(x614, 0xffffffffffffffffL, &x639);
- { uint64_t x642; uint64_t x641 = _mulx_u64(x614, 0xffffffffffffffffL, &x642);
- { uint64_t x645; uint64_t x644 = _mulx_u64(x614, 0xffffffffffffffffL, &x645);
- { uint64_t x648; uint64_t x647 = _mulx_u64(x614, 0xffffffffffffffffL, &x648);
- { uint64_t x651; uint64_t x650 = _mulx_u64(x614, 0xb0ffffffffffffffL, &x651);
- { uint64_t x653; uint8_t x654 = _addcarryx_u64(0x0, x636, x638, &x653);
- { uint64_t x656; uint8_t x657 = _addcarryx_u64(x654, x639, x641, &x656);
- { uint64_t x659; uint8_t x660 = _addcarryx_u64(x657, x642, x644, &x659);
- { uint64_t x662; uint8_t x663 = _addcarryx_u64(x660, x645, x647, &x662);
- { uint64_t x665; uint8_t x666 = _addcarryx_u64(x663, x648, x650, &x665);
- { uint64_t x668; uint8_t _ = _addcarryx_u64(0x0, x666, x651, &x668);
- { uint64_t _; uint8_t x672 = _addcarryx_u64(0x0, x614, x635, &_);
- { uint64_t x674; uint8_t x675 = _addcarryx_u64(x672, x617, x653, &x674);
- { uint64_t x677; uint8_t x678 = _addcarryx_u64(x675, x620, x656, &x677);
- { uint64_t x680; uint8_t x681 = _addcarryx_u64(x678, x623, x659, &x680);
- { uint64_t x683; uint8_t x684 = _addcarryx_u64(x681, x626, x662, &x683);
- { uint64_t x686; uint8_t x687 = _addcarryx_u64(x684, x629, x665, &x686);
- { uint64_t x689; uint8_t x690 = _addcarryx_u64(x687, x632, x668, &x689);
- { uint8_t x691 = (x690 + x633);
- { uint64_t x693; uint8_t x694 = _subborrow_u64(0x0, x674, 0xffffffffffffffffL, &x693);
- { uint64_t x696; uint8_t x697 = _subborrow_u64(x694, x677, 0xffffffffffffffffL, &x696);
- { uint64_t x699; uint8_t x700 = _subborrow_u64(x697, x680, 0xffffffffffffffffL, &x699);
- { uint64_t x702; uint8_t x703 = _subborrow_u64(x700, x683, 0xffffffffffffffffL, &x702);
- { uint64_t x705; uint8_t x706 = _subborrow_u64(x703, x686, 0xffffffffffffffffL, &x705);
- { uint64_t x708; uint8_t x709 = _subborrow_u64(x706, x689, 0xb0ffffffffffffffL, &x708);
- { uint64_t _; uint8_t x712 = _subborrow_u64(x709, x691, 0x0, &_);
- { uint64_t x713 = cmovznz64(x712, x708, x689);
- { uint64_t x714 = cmovznz64(x712, x705, x686);
- { uint64_t x715 = cmovznz64(x712, x702, x683);
- { uint64_t x716 = cmovznz64(x712, x699, x680);
- { uint64_t x717 = cmovznz64(x712, x696, x677);
- { uint64_t x718 = cmovznz64(x712, x693, x674);
- out[0] = x718;
- out[1] = x717;
- out[2] = x716;
- out[3] = x715;
- out[4] = x714;
- out[5] = x713;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.v
deleted file mode 100644
index 981dcfb23..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.log b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.log
deleted file mode 100644
index f6fad76a0..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,246 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint64_t x26 = mulx_u64(x5, x15);
- uint64_t x28, uint64_t x29 = mulx_u64(x5, x17);
- uint64_t x31, uint64_t x32 = mulx_u64(x5, x19);
- uint64_t x34, uint64_t x35 = mulx_u64(x5, x21);
- uint64_t x37, uint64_t x38 = mulx_u64(x5, x23);
- uint64_t x40, uint64_t x41 = mulx_u64(x5, x22);
- uint64_t x43, uint8_t x44 = addcarryx_u64(0x0, x26, x28);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x29, x31);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x32, x34);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x35, x37);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x38, x40);
- uint64_t x58, uint8_t _ = addcarryx_u64(0x0, x56, x41);
- uint64_t x61, uint64_t x62 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x64, uint64_t x65 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x67, uint64_t x68 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x70, uint64_t x71 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x73, uint64_t x74 = mulx_u64(x25, 0xffffffffffffffffL);
- uint64_t x76, uint64_t x77 = mulx_u64(x25, 0xb0ffffffffffffffL);
- uint64_t x79, uint8_t x80 = addcarryx_u64(0x0, x62, x64);
- uint64_t x82, uint8_t x83 = addcarryx_u64(x80, x65, x67);
- uint64_t x85, uint8_t x86 = addcarryx_u64(x83, x68, x70);
- uint64_t x88, uint8_t x89 = addcarryx_u64(x86, x71, x73);
- uint64_t x91, uint8_t x92 = addcarryx_u64(x89, x74, x76);
- uint64_t x94, uint8_t _ = addcarryx_u64(0x0, x92, x77);
- uint64_t _, uint8_t x98 = addcarryx_u64(0x0, x25, x61);
- uint64_t x100, uint8_t x101 = addcarryx_u64(x98, x43, x79);
- uint64_t x103, uint8_t x104 = addcarryx_u64(x101, x46, x82);
- uint64_t x106, uint8_t x107 = addcarryx_u64(x104, x49, x85);
- uint64_t x109, uint8_t x110 = addcarryx_u64(x107, x52, x88);
- uint64_t x112, uint8_t x113 = addcarryx_u64(x110, x55, x91);
- uint64_t x115, uint8_t x116 = addcarryx_u64(x113, x58, x94);
- uint64_t x118, uint64_t x119 = mulx_u64(x7, x15);
- uint64_t x121, uint64_t x122 = mulx_u64(x7, x17);
- uint64_t x124, uint64_t x125 = mulx_u64(x7, x19);
- uint64_t x127, uint64_t x128 = mulx_u64(x7, x21);
- uint64_t x130, uint64_t x131 = mulx_u64(x7, x23);
- uint64_t x133, uint64_t x134 = mulx_u64(x7, x22);
- uint64_t x136, uint8_t x137 = addcarryx_u64(0x0, x119, x121);
- uint64_t x139, uint8_t x140 = addcarryx_u64(x137, x122, x124);
- uint64_t x142, uint8_t x143 = addcarryx_u64(x140, x125, x127);
- uint64_t x145, uint8_t x146 = addcarryx_u64(x143, x128, x130);
- uint64_t x148, uint8_t x149 = addcarryx_u64(x146, x131, x133);
- uint64_t x151, uint8_t _ = addcarryx_u64(0x0, x149, x134);
- uint64_t x154, uint8_t x155 = addcarryx_u64(0x0, x100, x118);
- uint64_t x157, uint8_t x158 = addcarryx_u64(x155, x103, x136);
- uint64_t x160, uint8_t x161 = addcarryx_u64(x158, x106, x139);
- uint64_t x163, uint8_t x164 = addcarryx_u64(x161, x109, x142);
- uint64_t x166, uint8_t x167 = addcarryx_u64(x164, x112, x145);
- uint64_t x169, uint8_t x170 = addcarryx_u64(x167, x115, x148);
- uint64_t x172, uint8_t x173 = addcarryx_u64(x170, x116, x151);
- uint64_t x175, uint64_t x176 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x178, uint64_t x179 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x181, uint64_t x182 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x184, uint64_t x185 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x187, uint64_t x188 = mulx_u64(x154, 0xffffffffffffffffL);
- uint64_t x190, uint64_t x191 = mulx_u64(x154, 0xb0ffffffffffffffL);
- uint64_t x193, uint8_t x194 = addcarryx_u64(0x0, x176, x178);
- uint64_t x196, uint8_t x197 = addcarryx_u64(x194, x179, x181);
- uint64_t x199, uint8_t x200 = addcarryx_u64(x197, x182, x184);
- uint64_t x202, uint8_t x203 = addcarryx_u64(x200, x185, x187);
- uint64_t x205, uint8_t x206 = addcarryx_u64(x203, x188, x190);
- uint64_t x208, uint8_t _ = addcarryx_u64(0x0, x206, x191);
- uint64_t _, uint8_t x212 = addcarryx_u64(0x0, x154, x175);
- uint64_t x214, uint8_t x215 = addcarryx_u64(x212, x157, x193);
- uint64_t x217, uint8_t x218 = addcarryx_u64(x215, x160, x196);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x163, x199);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x166, x202);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x169, x205);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x172, x208);
- uint8_t x231 = (x230 + x173);
- uint64_t x233, uint64_t x234 = mulx_u64(x9, x15);
- uint64_t x236, uint64_t x237 = mulx_u64(x9, x17);
- uint64_t x239, uint64_t x240 = mulx_u64(x9, x19);
- uint64_t x242, uint64_t x243 = mulx_u64(x9, x21);
- uint64_t x245, uint64_t x246 = mulx_u64(x9, x23);
- uint64_t x248, uint64_t x249 = mulx_u64(x9, x22);
- uint64_t x251, uint8_t x252 = addcarryx_u64(0x0, x234, x236);
- uint64_t x254, uint8_t x255 = addcarryx_u64(x252, x237, x239);
- uint64_t x257, uint8_t x258 = addcarryx_u64(x255, x240, x242);
- uint64_t x260, uint8_t x261 = addcarryx_u64(x258, x243, x245);
- uint64_t x263, uint8_t x264 = addcarryx_u64(x261, x246, x248);
- uint64_t x266, uint8_t _ = addcarryx_u64(0x0, x264, x249);
- uint64_t x269, uint8_t x270 = addcarryx_u64(0x0, x214, x233);
- uint64_t x272, uint8_t x273 = addcarryx_u64(x270, x217, x251);
- uint64_t x275, uint8_t x276 = addcarryx_u64(x273, x220, x254);
- uint64_t x278, uint8_t x279 = addcarryx_u64(x276, x223, x257);
- uint64_t x281, uint8_t x282 = addcarryx_u64(x279, x226, x260);
- uint64_t x284, uint8_t x285 = addcarryx_u64(x282, x229, x263);
- uint64_t x287, uint8_t x288 = addcarryx_u64(x285, x231, x266);
- uint64_t x290, uint64_t x291 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x293, uint64_t x294 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x296, uint64_t x297 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x299, uint64_t x300 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x302, uint64_t x303 = mulx_u64(x269, 0xffffffffffffffffL);
- uint64_t x305, uint64_t x306 = mulx_u64(x269, 0xb0ffffffffffffffL);
- uint64_t x308, uint8_t x309 = addcarryx_u64(0x0, x291, x293);
- uint64_t x311, uint8_t x312 = addcarryx_u64(x309, x294, x296);
- uint64_t x314, uint8_t x315 = addcarryx_u64(x312, x297, x299);
- uint64_t x317, uint8_t x318 = addcarryx_u64(x315, x300, x302);
- uint64_t x320, uint8_t x321 = addcarryx_u64(x318, x303, x305);
- uint64_t x323, uint8_t _ = addcarryx_u64(0x0, x321, x306);
- uint64_t _, uint8_t x327 = addcarryx_u64(0x0, x269, x290);
- uint64_t x329, uint8_t x330 = addcarryx_u64(x327, x272, x308);
- uint64_t x332, uint8_t x333 = addcarryx_u64(x330, x275, x311);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x278, x314);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x281, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x284, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x287, x323);
- uint8_t x346 = (x345 + x288);
- uint64_t x348, uint64_t x349 = mulx_u64(x11, x15);
- uint64_t x351, uint64_t x352 = mulx_u64(x11, x17);
- uint64_t x354, uint64_t x355 = mulx_u64(x11, x19);
- uint64_t x357, uint64_t x358 = mulx_u64(x11, x21);
- uint64_t x360, uint64_t x361 = mulx_u64(x11, x23);
- uint64_t x363, uint64_t x364 = mulx_u64(x11, x22);
- uint64_t x366, uint8_t x367 = addcarryx_u64(0x0, x349, x351);
- uint64_t x369, uint8_t x370 = addcarryx_u64(x367, x352, x354);
- uint64_t x372, uint8_t x373 = addcarryx_u64(x370, x355, x357);
- uint64_t x375, uint8_t x376 = addcarryx_u64(x373, x358, x360);
- uint64_t x378, uint8_t x379 = addcarryx_u64(x376, x361, x363);
- uint64_t x381, uint8_t _ = addcarryx_u64(0x0, x379, x364);
- uint64_t x384, uint8_t x385 = addcarryx_u64(0x0, x329, x348);
- uint64_t x387, uint8_t x388 = addcarryx_u64(x385, x332, x366);
- uint64_t x390, uint8_t x391 = addcarryx_u64(x388, x335, x369);
- uint64_t x393, uint8_t x394 = addcarryx_u64(x391, x338, x372);
- uint64_t x396, uint8_t x397 = addcarryx_u64(x394, x341, x375);
- uint64_t x399, uint8_t x400 = addcarryx_u64(x397, x344, x378);
- uint64_t x402, uint8_t x403 = addcarryx_u64(x400, x346, x381);
- uint64_t x405, uint64_t x406 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x408, uint64_t x409 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x411, uint64_t x412 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x414, uint64_t x415 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x417, uint64_t x418 = mulx_u64(x384, 0xffffffffffffffffL);
- uint64_t x420, uint64_t x421 = mulx_u64(x384, 0xb0ffffffffffffffL);
- uint64_t x423, uint8_t x424 = addcarryx_u64(0x0, x406, x408);
- uint64_t x426, uint8_t x427 = addcarryx_u64(x424, x409, x411);
- uint64_t x429, uint8_t x430 = addcarryx_u64(x427, x412, x414);
- uint64_t x432, uint8_t x433 = addcarryx_u64(x430, x415, x417);
- uint64_t x435, uint8_t x436 = addcarryx_u64(x433, x418, x420);
- uint64_t x438, uint8_t _ = addcarryx_u64(0x0, x436, x421);
- uint64_t _, uint8_t x442 = addcarryx_u64(0x0, x384, x405);
- uint64_t x444, uint8_t x445 = addcarryx_u64(x442, x387, x423);
- uint64_t x447, uint8_t x448 = addcarryx_u64(x445, x390, x426);
- uint64_t x450, uint8_t x451 = addcarryx_u64(x448, x393, x429);
- uint64_t x453, uint8_t x454 = addcarryx_u64(x451, x396, x432);
- uint64_t x456, uint8_t x457 = addcarryx_u64(x454, x399, x435);
- uint64_t x459, uint8_t x460 = addcarryx_u64(x457, x402, x438);
- uint8_t x461 = (x460 + x403);
- uint64_t x463, uint64_t x464 = mulx_u64(x13, x15);
- uint64_t x466, uint64_t x467 = mulx_u64(x13, x17);
- uint64_t x469, uint64_t x470 = mulx_u64(x13, x19);
- uint64_t x472, uint64_t x473 = mulx_u64(x13, x21);
- uint64_t x475, uint64_t x476 = mulx_u64(x13, x23);
- uint64_t x478, uint64_t x479 = mulx_u64(x13, x22);
- uint64_t x481, uint8_t x482 = addcarryx_u64(0x0, x464, x466);
- uint64_t x484, uint8_t x485 = addcarryx_u64(x482, x467, x469);
- uint64_t x487, uint8_t x488 = addcarryx_u64(x485, x470, x472);
- uint64_t x490, uint8_t x491 = addcarryx_u64(x488, x473, x475);
- uint64_t x493, uint8_t x494 = addcarryx_u64(x491, x476, x478);
- uint64_t x496, uint8_t _ = addcarryx_u64(0x0, x494, x479);
- uint64_t x499, uint8_t x500 = addcarryx_u64(0x0, x444, x463);
- uint64_t x502, uint8_t x503 = addcarryx_u64(x500, x447, x481);
- uint64_t x505, uint8_t x506 = addcarryx_u64(x503, x450, x484);
- uint64_t x508, uint8_t x509 = addcarryx_u64(x506, x453, x487);
- uint64_t x511, uint8_t x512 = addcarryx_u64(x509, x456, x490);
- uint64_t x514, uint8_t x515 = addcarryx_u64(x512, x459, x493);
- uint64_t x517, uint8_t x518 = addcarryx_u64(x515, x461, x496);
- uint64_t x520, uint64_t x521 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x523, uint64_t x524 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x526, uint64_t x527 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x529, uint64_t x530 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x532, uint64_t x533 = mulx_u64(x499, 0xffffffffffffffffL);
- uint64_t x535, uint64_t x536 = mulx_u64(x499, 0xb0ffffffffffffffL);
- uint64_t x538, uint8_t x539 = addcarryx_u64(0x0, x521, x523);
- uint64_t x541, uint8_t x542 = addcarryx_u64(x539, x524, x526);
- uint64_t x544, uint8_t x545 = addcarryx_u64(x542, x527, x529);
- uint64_t x547, uint8_t x548 = addcarryx_u64(x545, x530, x532);
- uint64_t x550, uint8_t x551 = addcarryx_u64(x548, x533, x535);
- uint64_t x553, uint8_t _ = addcarryx_u64(0x0, x551, x536);
- uint64_t _, uint8_t x557 = addcarryx_u64(0x0, x499, x520);
- uint64_t x559, uint8_t x560 = addcarryx_u64(x557, x502, x538);
- uint64_t x562, uint8_t x563 = addcarryx_u64(x560, x505, x541);
- uint64_t x565, uint8_t x566 = addcarryx_u64(x563, x508, x544);
- uint64_t x568, uint8_t x569 = addcarryx_u64(x566, x511, x547);
- uint64_t x571, uint8_t x572 = addcarryx_u64(x569, x514, x550);
- uint64_t x574, uint8_t x575 = addcarryx_u64(x572, x517, x553);
- uint8_t x576 = (x575 + x518);
- uint64_t x578, uint64_t x579 = mulx_u64(x12, x15);
- uint64_t x581, uint64_t x582 = mulx_u64(x12, x17);
- uint64_t x584, uint64_t x585 = mulx_u64(x12, x19);
- uint64_t x587, uint64_t x588 = mulx_u64(x12, x21);
- uint64_t x590, uint64_t x591 = mulx_u64(x12, x23);
- uint64_t x593, uint64_t x594 = mulx_u64(x12, x22);
- uint64_t x596, uint8_t x597 = addcarryx_u64(0x0, x579, x581);
- uint64_t x599, uint8_t x600 = addcarryx_u64(x597, x582, x584);
- uint64_t x602, uint8_t x603 = addcarryx_u64(x600, x585, x587);
- uint64_t x605, uint8_t x606 = addcarryx_u64(x603, x588, x590);
- uint64_t x608, uint8_t x609 = addcarryx_u64(x606, x591, x593);
- uint64_t x611, uint8_t _ = addcarryx_u64(0x0, x609, x594);
- uint64_t x614, uint8_t x615 = addcarryx_u64(0x0, x559, x578);
- uint64_t x617, uint8_t x618 = addcarryx_u64(x615, x562, x596);
- uint64_t x620, uint8_t x621 = addcarryx_u64(x618, x565, x599);
- uint64_t x623, uint8_t x624 = addcarryx_u64(x621, x568, x602);
- uint64_t x626, uint8_t x627 = addcarryx_u64(x624, x571, x605);
- uint64_t x629, uint8_t x630 = addcarryx_u64(x627, x574, x608);
- uint64_t x632, uint8_t x633 = addcarryx_u64(x630, x576, x611);
- uint64_t x635, uint64_t x636 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x638, uint64_t x639 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x641, uint64_t x642 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x644, uint64_t x645 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x647, uint64_t x648 = mulx_u64(x614, 0xffffffffffffffffL);
- uint64_t x650, uint64_t x651 = mulx_u64(x614, 0xb0ffffffffffffffL);
- uint64_t x653, uint8_t x654 = addcarryx_u64(0x0, x636, x638);
- uint64_t x656, uint8_t x657 = addcarryx_u64(x654, x639, x641);
- uint64_t x659, uint8_t x660 = addcarryx_u64(x657, x642, x644);
- uint64_t x662, uint8_t x663 = addcarryx_u64(x660, x645, x647);
- uint64_t x665, uint8_t x666 = addcarryx_u64(x663, x648, x650);
- uint64_t x668, uint8_t _ = addcarryx_u64(0x0, x666, x651);
- uint64_t _, uint8_t x672 = addcarryx_u64(0x0, x614, x635);
- uint64_t x674, uint8_t x675 = addcarryx_u64(x672, x617, x653);
- uint64_t x677, uint8_t x678 = addcarryx_u64(x675, x620, x656);
- uint64_t x680, uint8_t x681 = addcarryx_u64(x678, x623, x659);
- uint64_t x683, uint8_t x684 = addcarryx_u64(x681, x626, x662);
- uint64_t x686, uint8_t x687 = addcarryx_u64(x684, x629, x665);
- uint64_t x689, uint8_t x690 = addcarryx_u64(x687, x632, x668);
- uint8_t x691 = (x690 + x633);
- uint64_t x693, uint8_t x694 = subborrow_u64(0x0, x674, 0xffffffffffffffffL);
- uint64_t x696, uint8_t x697 = subborrow_u64(x694, x677, 0xffffffffffffffffL);
- uint64_t x699, uint8_t x700 = subborrow_u64(x697, x680, 0xffffffffffffffffL);
- uint64_t x702, uint8_t x703 = subborrow_u64(x700, x683, 0xffffffffffffffffL);
- uint64_t x705, uint8_t x706 = subborrow_u64(x703, x686, 0xffffffffffffffffL);
- uint64_t x708, uint8_t x709 = subborrow_u64(x706, x689, 0xb0ffffffffffffffL);
- uint64_t _, uint8_t x712 = subborrow_u64(x709, x691, 0x0);
- uint64_t x713 = cmovznz64(x712, x708, x689);
- uint64_t x714 = cmovznz64(x712, x705, x686);
- uint64_t x715 = cmovznz64(x712, x702, x683);
- uint64_t x716 = cmovznz64(x712, x699, x680);
- uint64_t x717 = cmovznz64(x712, x696, x677);
- uint64_t x718 = cmovznz64(x712, x693, x674);
- return (x713, x714, x715, x716, x717, x718))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.v
deleted file mode 100644
index 1d0ae177e..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.c
deleted file mode 100644
index c93f74257..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x10 | x9);
- { uint64_t x12 = (x8 | x11);
- { uint64_t x13 = (x6 | x12);
- { uint64_t x14 = (x4 | x13);
- { uint64_t x15 = (x2 | x14);
- out[0] = x15;
- }}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.v
deleted file mode 100644
index 93a7518ea..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.log b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.log
deleted file mode 100644
index f39f1d91b..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.log
+++ /dev/null
@@ -1,12 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x10 | x9);
- uint64_t x12 = (x8 | x11);
- uint64_t x13 = (x6 | x12);
- uint64_t x14 = (x4 | x13);
- uint64_t x15 = (x2 | x14);
- return x15)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.v
deleted file mode 100644
index ce0b57b92..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.c
deleted file mode 100644
index 1e2fad524..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void feopp(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12; uint8_t x13 = _subborrow_u64(0x0, 0x0, x2, &x12);
- { uint64_t x15; uint8_t x16 = _subborrow_u64(x13, 0x0, x4, &x15);
- { uint64_t x18; uint8_t x19 = _subborrow_u64(x16, 0x0, x6, &x18);
- { uint64_t x21; uint8_t x22 = _subborrow_u64(x19, 0x0, x8, &x21);
- { uint64_t x24; uint8_t x25 = _subborrow_u64(x22, 0x0, x10, &x24);
- { uint64_t x27; uint8_t x28 = _subborrow_u64(x25, 0x0, x9, &x27);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffffffL);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(0x0, x12, x30, &x32);
- { uint64_t x34 = (x29 & 0xffffffffffffffffL);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x33, x15, x34, &x36);
- { uint64_t x38 = (x29 & 0xffffffffffffffffL);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x37, x18, x38, &x40);
- { uint64_t x42 = (x29 & 0xffffffffffffffffL);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x41, x21, x42, &x44);
- { uint64_t x46 = (x29 & 0xffffffffffffffffL);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x45, x24, x46, &x48);
- { uint64_t x50 = (x29 & 0xb0ffffffffffffffL);
- { uint64_t x52; uint8_t _ = _addcarryx_u64(x49, x27, x50, &x52);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.v
deleted file mode 100644
index 808a52be8..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.log b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.log
deleted file mode 100644
index 72e96d79d..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = subborrow_u64(0x0, 0x0, x2);
- uint64_t x15, uint8_t x16 = subborrow_u64(x13, 0x0, x4);
- uint64_t x18, uint8_t x19 = subborrow_u64(x16, 0x0, x6);
- uint64_t x21, uint8_t x22 = subborrow_u64(x19, 0x0, x8);
- uint64_t x24, uint8_t x25 = subborrow_u64(x22, 0x0, x10);
- uint64_t x27, uint8_t x28 = subborrow_u64(x25, 0x0, x9);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffffffL);
- uint64_t x32, uint8_t x33 = addcarryx_u64(0x0, x12, x30);
- uint64_t x34 = (x29 & 0xffffffffffffffffL);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x33, x15, x34);
- uint64_t x38 = (x29 & 0xffffffffffffffffL);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x37, x18, x38);
- uint64_t x42 = (x29 & 0xffffffffffffffffL);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x41, x21, x42);
- uint64_t x46 = (x29 & 0xffffffffffffffffL);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x45, x24, x46);
- uint64_t x50 = (x29 & 0xb0ffffffffffffffL);
- uint64_t x52, uint8_t _ = addcarryx_u64(x49, x27, x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.v
deleted file mode 100644
index 780930f90..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.c
deleted file mode 100644
index 4a8b7c7dd..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.c
+++ /dev/null
@@ -1,40 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint64_t x25; uint8_t x26 = _subborrow_u64(0x0, x5, x15, &x25);
- { uint64_t x28; uint8_t x29 = _subborrow_u64(x26, x7, x17, &x28);
- { uint64_t x31; uint8_t x32 = _subborrow_u64(x29, x9, x19, &x31);
- { uint64_t x34; uint8_t x35 = _subborrow_u64(x32, x11, x21, &x34);
- { uint64_t x37; uint8_t x38 = _subborrow_u64(x35, x13, x23, &x37);
- { uint64_t x40; uint8_t x41 = _subborrow_u64(x38, x12, x22, &x40);
- { uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- { uint64_t x43 = (x42 & 0xffffffffffffffffL);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(0x0, x25, x43, &x45);
- { uint64_t x47 = (x42 & 0xffffffffffffffffL);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x46, x28, x47, &x49);
- { uint64_t x51 = (x42 & 0xffffffffffffffffL);
- { uint64_t x53; uint8_t x54 = _addcarryx_u64(x50, x31, x51, &x53);
- { uint64_t x55 = (x42 & 0xffffffffffffffffL);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(x54, x34, x55, &x57);
- { uint64_t x59 = (x42 & 0xffffffffffffffffL);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x58, x37, x59, &x61);
- { uint64_t x63 = (x42 & 0xb0ffffffffffffffL);
- { uint64_t x65; uint8_t _ = _addcarryx_u64(x62, x40, x63, &x65);
- out[0] = x45;
- out[1] = x49;
- out[2] = x53;
- out[3] = x57;
- out[4] = x61;
- out[5] = x65;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.v
deleted file mode 100644
index f0424330b..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.log b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.log
deleted file mode 100644
index 4d416958a..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x25, uint8_t x26 = subborrow_u64(0x0, x5, x15);
- uint64_t x28, uint8_t x29 = subborrow_u64(x26, x7, x17);
- uint64_t x31, uint8_t x32 = subborrow_u64(x29, x9, x19);
- uint64_t x34, uint8_t x35 = subborrow_u64(x32, x11, x21);
- uint64_t x37, uint8_t x38 = subborrow_u64(x35, x13, x23);
- uint64_t x40, uint8_t x41 = subborrow_u64(x38, x12, x22);
- uint64_t x42 = cmovznz64(x41, 0x0, 0xffffffffffffffffL);
- uint64_t x43 = (x42 & 0xffffffffffffffffL);
- uint64_t x45, uint8_t x46 = addcarryx_u64(0x0, x25, x43);
- uint64_t x47 = (x42 & 0xffffffffffffffffL);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x46, x28, x47);
- uint64_t x51 = (x42 & 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = addcarryx_u64(x50, x31, x51);
- uint64_t x55 = (x42 & 0xffffffffffffffffL);
- uint64_t x57, uint8_t x58 = addcarryx_u64(x54, x34, x55);
- uint64_t x59 = (x42 & 0xffffffffffffffffL);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x58, x37, x59);
- uint64_t x63 = (x42 & 0xb0ffffffffffffffL);
- uint64_t x65, uint8_t _ = addcarryx_u64(x62, x40, x63);
- (Return x65, Return x61, Return x57, Return x53, Return x49, Return x45))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.v b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.v
deleted file mode 100644
index 7327fcdeb..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e384m79x2e376m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/py_interpreter.sh b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/py_interpreter.sh
deleted file mode 100755
index ecb46830f..000000000
--- a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 79*2**376 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e389m21_7limbs/CurveParameters.v
deleted file mode 100644
index a7a960cdf..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^389 - 21
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^389;
- c := [(1, 21)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e389m21_7limbs/Synthesis.v b/src/Specific/montgomery64_2e389m21_7limbs/Synthesis.v
deleted file mode 100644
index 1986e7517..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.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/montgomery64_2e389m21_7limbs/compiler.sh b/src/Specific/montgomery64_2e389m21_7limbs/compiler.sh
deleted file mode 100755
index ddf60cbd6..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e389m21_7limbs/compilerxx.sh
deleted file mode 100755
index 0f5bf2037..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/feadd.c b/src/Specific/montgomery64_2e389m21_7limbs/feadd.c
deleted file mode 100644
index 6e359760a..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffebL, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xffffffffffffffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0x1f, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/feadd.v b/src/Specific/montgomery64_2e389m21_7limbs/feadd.v
deleted file mode 100644
index 6236ce5a5..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.log
deleted file mode 100644
index cb7dd7090..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffebL);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x1f);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.v
deleted file mode 100644
index ba7d5f66e..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/femul.v b/src/Specific/montgomery64_2e389m21_7limbs/femul.v
deleted file mode 100644
index f5af4d6a4..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e389m21_7limbs/femulDisplay.v
deleted file mode 100644
index 02be243c9..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fenz.c b/src/Specific/montgomery64_2e389m21_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fenz.v b/src/Specific/montgomery64_2e389m21_7limbs/fenz.v
deleted file mode 100644
index 5e40a190a..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.v
deleted file mode 100644
index 91660be19..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/feopp.v b/src/Specific/montgomery64_2e389m21_7limbs/feopp.v
deleted file mode 100644
index e36a5a83f..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e389m21_7limbs/feoppDisplay.v
deleted file mode 100644
index 55e9a71f9..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fesquare.c b/src/Specific/montgomery64_2e389m21_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fesub.v b/src/Specific/montgomery64_2e389m21_7limbs/fesub.v
deleted file mode 100644
index 8a53bbd98..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e389m21_7limbs/fesubDisplay.v
deleted file mode 100644
index ee4c02e11..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e389m21_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e389m21_7limbs/py_interpreter.sh
deleted file mode 100755
index 0711e414c..000000000
--- a/src/Specific/montgomery64_2e389m21_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**389 - 21' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e401m31_7limbs/CurveParameters.v
deleted file mode 100644
index 1f1900525..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^401 - 31
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^401;
- c := [(1, 31)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e401m31_7limbs/Synthesis.v b/src/Specific/montgomery64_2e401m31_7limbs/Synthesis.v
deleted file mode 100644
index 1c5155764..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.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/montgomery64_2e401m31_7limbs/compiler.sh b/src/Specific/montgomery64_2e401m31_7limbs/compiler.sh
deleted file mode 100755
index 67585d589..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e401m31_7limbs/compilerxx.sh
deleted file mode 100755
index a5ad2b92c..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/feadd.c b/src/Specific/montgomery64_2e401m31_7limbs/feadd.c
deleted file mode 100644
index 01c0bc6b7..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffe1L, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xffffffffffffffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0x1ffff, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/feadd.v b/src/Specific/montgomery64_2e401m31_7limbs/feadd.v
deleted file mode 100644
index b0cb069e9..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.log
deleted file mode 100644
index 9bffb37fb..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffe1L);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x1ffff);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.v
deleted file mode 100644
index 6551d8c38..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/femul.v b/src/Specific/montgomery64_2e401m31_7limbs/femul.v
deleted file mode 100644
index 2f5a1a3a9..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e401m31_7limbs/femulDisplay.v
deleted file mode 100644
index f4ce6c5bd..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fenz.c b/src/Specific/montgomery64_2e401m31_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fenz.v b/src/Specific/montgomery64_2e401m31_7limbs/fenz.v
deleted file mode 100644
index c49ceb86a..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.v
deleted file mode 100644
index 1a5eaca6a..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/feopp.v b/src/Specific/montgomery64_2e401m31_7limbs/feopp.v
deleted file mode 100644
index eed3d21ce..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e401m31_7limbs/feoppDisplay.v
deleted file mode 100644
index 45c6fcc94..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fesquare.c b/src/Specific/montgomery64_2e401m31_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fesub.v b/src/Specific/montgomery64_2e401m31_7limbs/fesub.v
deleted file mode 100644
index 384b6bb08..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e401m31_7limbs/fesubDisplay.v
deleted file mode 100644
index d28491620..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e401m31_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e401m31_7limbs/py_interpreter.sh
deleted file mode 100755
index 18f2c7bd8..000000000
--- a/src/Specific/montgomery64_2e401m31_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**401 - 31' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e413m21_7limbs/CurveParameters.v
deleted file mode 100644
index 072b07875..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^413 - 21
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^413;
- c := [(1, 21)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e413m21_7limbs/Synthesis.v b/src/Specific/montgomery64_2e413m21_7limbs/Synthesis.v
deleted file mode 100644
index 6e1f63661..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.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/montgomery64_2e413m21_7limbs/compiler.sh b/src/Specific/montgomery64_2e413m21_7limbs/compiler.sh
deleted file mode 100755
index c1d51fa4f..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e413m21_7limbs/compilerxx.sh
deleted file mode 100755
index 291bb8b80..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/feadd.c b/src/Specific/montgomery64_2e413m21_7limbs/feadd.c
deleted file mode 100644
index 1978027e3..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffebL, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xffffffffffffffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0x1fffffff, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/feadd.v b/src/Specific/montgomery64_2e413m21_7limbs/feadd.v
deleted file mode 100644
index 8cb127d43..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.log
deleted file mode 100644
index 0e539add9..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffebL);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x1fffffff);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.v
deleted file mode 100644
index cdd899cb1..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/femul.v b/src/Specific/montgomery64_2e413m21_7limbs/femul.v
deleted file mode 100644
index cdad0d00e..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e413m21_7limbs/femulDisplay.v
deleted file mode 100644
index f55c9c649..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fenz.c b/src/Specific/montgomery64_2e413m21_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fenz.v b/src/Specific/montgomery64_2e413m21_7limbs/fenz.v
deleted file mode 100644
index ef30f537d..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.v
deleted file mode 100644
index b94d72a55..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/feopp.v b/src/Specific/montgomery64_2e413m21_7limbs/feopp.v
deleted file mode 100644
index 45dd48d6f..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e413m21_7limbs/feoppDisplay.v
deleted file mode 100644
index 44cf585c9..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fesquare.c b/src/Specific/montgomery64_2e413m21_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fesub.v b/src/Specific/montgomery64_2e413m21_7limbs/fesub.v
deleted file mode 100644
index 4f94daa7d..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e413m21_7limbs/fesubDisplay.v
deleted file mode 100644
index 4ffc415f6..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e413m21_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e413m21_7limbs/py_interpreter.sh
deleted file mode 100755
index 8be5e5a3b..000000000
--- a/src/Specific/montgomery64_2e413m21_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**413 - 21' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e414m17_7limbs/CurveParameters.v
deleted file mode 100644
index cd6d8ee68..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^414 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^414;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e414m17_7limbs/Synthesis.v b/src/Specific/montgomery64_2e414m17_7limbs/Synthesis.v
deleted file mode 100644
index b52600fb6..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.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/montgomery64_2e414m17_7limbs/compiler.sh b/src/Specific/montgomery64_2e414m17_7limbs/compiler.sh
deleted file mode 100755
index 0aa377234..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e414m17_7limbs/compilerxx.sh
deleted file mode 100755
index b4d1100c3..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/feadd.c b/src/Specific/montgomery64_2e414m17_7limbs/feadd.c
deleted file mode 100644
index ec76fd473..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffefL, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xffffffffffffffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0x3fffffff, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/feadd.v b/src/Specific/montgomery64_2e414m17_7limbs/feadd.v
deleted file mode 100644
index 641a16b2c..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.log
deleted file mode 100644
index d7510c664..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffefL);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0x3fffffff);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.v
deleted file mode 100644
index e8d726e17..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/femul.v b/src/Specific/montgomery64_2e414m17_7limbs/femul.v
deleted file mode 100644
index 89b6f10a6..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e414m17_7limbs/femulDisplay.v
deleted file mode 100644
index f2ff4c6d5..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fenz.c b/src/Specific/montgomery64_2e414m17_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fenz.v b/src/Specific/montgomery64_2e414m17_7limbs/fenz.v
deleted file mode 100644
index 46395f98b..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.v
deleted file mode 100644
index 706c1bb7f..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/feopp.v b/src/Specific/montgomery64_2e414m17_7limbs/feopp.v
deleted file mode 100644
index b73150d4f..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e414m17_7limbs/feoppDisplay.v
deleted file mode 100644
index 9e1528f54..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fesquare.c b/src/Specific/montgomery64_2e414m17_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fesub.v b/src/Specific/montgomery64_2e414m17_7limbs/fesub.v
deleted file mode 100644
index 999377403..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e414m17_7limbs/fesubDisplay.v
deleted file mode 100644
index 7914eb7dc..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e414m17_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e414m17_7limbs/py_interpreter.sh
deleted file mode 100755
index 967545266..000000000
--- a/src/Specific/montgomery64_2e414m17_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**414 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/CurveParameters.v
deleted file mode 100644
index 15fb68dac..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^416 - 2^208 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^416;
- c := [(1, 1); (2^208, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e416m2e208m1_7limbs/Synthesis.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/Synthesis.v
deleted file mode 100644
index 07c0c68cb..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.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/montgomery64_2e416m2e208m1_7limbs/compiler.sh b/src/Specific/montgomery64_2e416m2e208m1_7limbs/compiler.sh
deleted file mode 100755
index 85011ccfc..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e416m2e208m1_7limbs/compilerxx.sh
deleted file mode 100755
index 80a407e51..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.c b/src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.c
deleted file mode 100644
index 753e03d78..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffffL, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xfffffffffffeffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0xffffffff, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.v
deleted file mode 100644
index 039a4b8df..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.log
deleted file mode 100644
index bdac118e2..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xfffffffffffeffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0xffffffff);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.v
deleted file mode 100644
index d02523bdd..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/femul.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/femul.v
deleted file mode 100644
index 6f9353567..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/femulDisplay.v
deleted file mode 100644
index f72f3649b..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.c b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.v
deleted file mode 100644
index 26142d172..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.v
deleted file mode 100644
index c1834cf24..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feopp.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/feopp.v
deleted file mode 100644
index c02f8857d..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/feoppDisplay.v
deleted file mode 100644
index 89cad0fde..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesub.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesub.v
deleted file mode 100644
index 381ee1bdb..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesubDisplay.v
deleted file mode 100644
index 5ad930b75..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e416m2e208m1_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e416m2e208m1_7limbs/py_interpreter.sh
deleted file mode 100755
index 6495749c9..000000000
--- a/src/Specific/montgomery64_2e416m2e208m1_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**416 - 2**208 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e444m17_7limbs/CurveParameters.v
deleted file mode 100644
index fa0acb741..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^444 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^444;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e444m17_7limbs/Synthesis.v b/src/Specific/montgomery64_2e444m17_7limbs/Synthesis.v
deleted file mode 100644
index 0008e6c09..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.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/montgomery64_2e444m17_7limbs/compiler.sh b/src/Specific/montgomery64_2e444m17_7limbs/compiler.sh
deleted file mode 100755
index 7122f61e4..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e444m17_7limbs/compilerxx.sh
deleted file mode 100755
index 6735e4140..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/feadd.c b/src/Specific/montgomery64_2e444m17_7limbs/feadd.c
deleted file mode 100644
index 653b42fdf..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffefL, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xffffffffffffffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0xfffffffffffffff, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/feadd.v b/src/Specific/montgomery64_2e444m17_7limbs/feadd.v
deleted file mode 100644
index 39876bf6c..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.log
deleted file mode 100644
index 2a33a4262..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffefL);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xffffffffffffffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0xfffffffffffffff);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.v
deleted file mode 100644
index 390abd46a..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/femul.v b/src/Specific/montgomery64_2e444m17_7limbs/femul.v
deleted file mode 100644
index 6b6c11247..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e444m17_7limbs/femulDisplay.v
deleted file mode 100644
index 1f692775e..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fenz.c b/src/Specific/montgomery64_2e444m17_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fenz.v b/src/Specific/montgomery64_2e444m17_7limbs/fenz.v
deleted file mode 100644
index 89136c148..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.v
deleted file mode 100644
index 6d27bf81b..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/feopp.v b/src/Specific/montgomery64_2e444m17_7limbs/feopp.v
deleted file mode 100644
index dd2ff520b..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e444m17_7limbs/feoppDisplay.v
deleted file mode 100644
index 71ffb3d62..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fesquare.c b/src/Specific/montgomery64_2e444m17_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fesub.v b/src/Specific/montgomery64_2e444m17_7limbs/fesub.v
deleted file mode 100644
index beb07fcc3..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e444m17_7limbs/fesubDisplay.v
deleted file mode 100644
index 64bd5e597..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e444m17_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e444m17_7limbs/py_interpreter.sh
deleted file mode 100755
index 4112ef798..000000000
--- a/src/Specific/montgomery64_2e444m17_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**444 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/CurveParameters.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/CurveParameters.v
deleted file mode 100644
index c61e96569..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/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: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 64;
- bitwidth := 64;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e448m2e224m1_7limbs/Synthesis.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/Synthesis.v
deleted file mode 100644
index 06522dffa..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.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/montgomery64_2e448m2e224m1_7limbs/compiler.sh b/src/Specific/montgomery64_2e448m2e224m1_7limbs/compiler.sh
deleted file mode 100755
index 66a699f1a..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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='7' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/compilerxx.sh b/src/Specific/montgomery64_2e448m2e224m1_7limbs/compilerxx.sh
deleted file mode 100755
index 3c95ee00a..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/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='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64}' -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='7' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.c b/src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.c
deleted file mode 100644
index 07baa6ebd..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.c
+++ /dev/null
@@ -1,46 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint64_t x29; uint8_t x30 = _addcarryx_u64(0x0, x5, x17, &x29);
- { uint64_t x32; uint8_t x33 = _addcarryx_u64(x30, x7, x19, &x32);
- { uint64_t x35; uint8_t x36 = _addcarryx_u64(x33, x9, x21, &x35);
- { uint64_t x38; uint8_t x39 = _addcarryx_u64(x36, x11, x23, &x38);
- { uint64_t x41; uint8_t x42 = _addcarryx_u64(x39, x13, x25, &x41);
- { uint64_t x44; uint8_t x45 = _addcarryx_u64(x42, x15, x27, &x44);
- { uint64_t x47; uint8_t x48 = _addcarryx_u64(x45, x14, x26, &x47);
- { uint64_t x50; uint8_t x51 = _subborrow_u64(0x0, x29, 0xffffffffffffffffL, &x50);
- { uint64_t x53; uint8_t x54 = _subborrow_u64(x51, x32, 0xffffffffffffffffL, &x53);
- { uint64_t x56; uint8_t x57 = _subborrow_u64(x54, x35, 0xffffffffffffffffL, &x56);
- { uint64_t x59; uint8_t x60 = _subborrow_u64(x57, x38, 0xfffffffeffffffffL, &x59);
- { uint64_t x62; uint8_t x63 = _subborrow_u64(x60, x41, 0xffffffffffffffffL, &x62);
- { uint64_t x65; uint8_t x66 = _subborrow_u64(x63, x44, 0xffffffffffffffffL, &x65);
- { uint64_t x68; uint8_t x69 = _subborrow_u64(x66, x47, 0xffffffffffffffffL, &x68);
- { uint64_t _; uint8_t x72 = _subborrow_u64(x69, x48, 0x0, &_);
- { uint64_t x73 = cmovznz64(x72, x68, x47);
- { uint64_t x74 = cmovznz64(x72, x65, x44);
- { uint64_t x75 = cmovznz64(x72, x62, x41);
- { uint64_t x76 = cmovznz64(x72, x59, x38);
- { uint64_t x77 = cmovznz64(x72, x56, x35);
- { uint64_t x78 = cmovznz64(x72, x53, x32);
- { uint64_t x79 = cmovznz64(x72, x50, x29);
- out[0] = x79;
- out[1] = x78;
- out[2] = x77;
- out[3] = x76;
- out[4] = x75;
- out[5] = x74;
- out[6] = x73;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.v
deleted file mode 100644
index 3577dfcdd..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.log b/src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.log
deleted file mode 100644
index 43bb533e8..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x5, x17);
- uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x7, x19);
- uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x9, x21);
- uint64_t x38, uint8_t x39 = addcarryx_u64(x36, x11, x23);
- uint64_t x41, uint8_t x42 = addcarryx_u64(x39, x13, x25);
- uint64_t x44, uint8_t x45 = addcarryx_u64(x42, x15, x27);
- uint64_t x47, uint8_t x48 = addcarryx_u64(x45, x14, x26);
- uint64_t x50, uint8_t x51 = subborrow_u64(0x0, x29, 0xffffffffffffffffL);
- uint64_t x53, uint8_t x54 = subborrow_u64(x51, x32, 0xffffffffffffffffL);
- uint64_t x56, uint8_t x57 = subborrow_u64(x54, x35, 0xffffffffffffffffL);
- uint64_t x59, uint8_t x60 = subborrow_u64(x57, x38, 0xfffffffeffffffffL);
- uint64_t x62, uint8_t x63 = subborrow_u64(x60, x41, 0xffffffffffffffffL);
- uint64_t x65, uint8_t x66 = subborrow_u64(x63, x44, 0xffffffffffffffffL);
- uint64_t x68, uint8_t x69 = subborrow_u64(x66, x47, 0xffffffffffffffffL);
- uint64_t _, uint8_t x72 = subborrow_u64(x69, x48, 0x0);
- uint64_t x73 = cmovznz64(x72, x68, x47);
- uint64_t x74 = cmovznz64(x72, x65, x44);
- uint64_t x75 = cmovznz64(x72, x62, x41);
- uint64_t x76 = cmovznz64(x72, x59, x38);
- uint64_t x77 = cmovznz64(x72, x56, x35);
- uint64_t x78 = cmovznz64(x72, x53, x32);
- uint64_t x79 = cmovznz64(x72, x50, x29);
- return (x73, x74, x75, x76, x77, x78, x79))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.v
deleted file mode 100644
index e0c6c3c62..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/femul.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/femul.v
deleted file mode 100644
index c91845d8a..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/femulDisplay.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/femulDisplay.v
deleted file mode 100644
index 94fc6a4e4..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.c b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.c
deleted file mode 100644
index d09ab7ff5..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.c
+++ /dev/null
@@ -1,17 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x13 = (x12 | x11);
- { uint64_t x14 = (x10 | x13);
- { uint64_t x15 = (x8 | x14);
- { uint64_t x16 = (x6 | x15);
- { uint64_t x17 = (x4 | x16);
- { uint64_t x18 = (x2 | x17);
- out[0] = x18;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.v
deleted file mode 100644
index 149098167..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.log b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.log
deleted file mode 100644
index 28baa6eea..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.log
+++ /dev/null
@@ -1,13 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (x12 | x11);
- uint64_t x14 = (x10 | x13);
- uint64_t x15 = (x8 | x14);
- uint64_t x16 = (x6 | x15);
- uint64_t x17 = (x4 | x16);
- uint64_t x18 = (x2 | x17);
- return x18)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.v
deleted file mode 100644
index 318a59cd5..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feopp.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/feopp.v
deleted file mode 100644
index bbb2ab5c8..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feoppDisplay.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/feoppDisplay.v
deleted file mode 100644
index 9a5da0ca7..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesub.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesub.v
deleted file mode 100644
index 8173e1801..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesubDisplay.v b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesubDisplay.v
deleted file mode 100644
index b276ed2fb..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e448m2e224m1_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/py_interpreter.sh b/src/Specific/montgomery64_2e448m2e224m1_7limbs/py_interpreter.sh
deleted file mode 100755
index 662ea51cd..000000000
--- a/src/Specific/montgomery64_2e448m2e224m1_7limbs/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='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/CurveParameters.v
deleted file mode 100644
index 69aefbd94..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^450 - 2^225 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^450;
- c := [(1, 1); (2^225, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e450m2e225m1_8limbs/Synthesis.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/Synthesis.v
deleted file mode 100644
index 943826b73..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.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/montgomery64_2e450m2e225m1_8limbs/compiler.sh b/src/Specific/montgomery64_2e450m2e225m1_8limbs/compiler.sh
deleted file mode 100755
index f6a8e134a..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e450m2e225m1_8limbs/compilerxx.sh
deleted file mode 100755
index 3761fa659..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.c b/src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.c
deleted file mode 100644
index a7e273342..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffffL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xfffffffdffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0x3, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.v
deleted file mode 100644
index 7a3861820..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.log
deleted file mode 100644
index ceb4ce79a..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xfffffffdffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x3);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.v
deleted file mode 100644
index bc7aaa829..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/femul.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/femul.v
deleted file mode 100644
index 304f7cf81..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/femulDisplay.v
deleted file mode 100644
index 043dd14d9..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.c b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.v
deleted file mode 100644
index 646d02f95..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.v
deleted file mode 100644
index ab32759ee..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feopp.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/feopp.v
deleted file mode 100644
index 7d76db910..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/feoppDisplay.v
deleted file mode 100644
index a34793732..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesub.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesub.v
deleted file mode 100644
index b55a49f0d..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesubDisplay.v
deleted file mode 100644
index 162650007..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e450m2e225m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e450m2e225m1_8limbs/py_interpreter.sh
deleted file mode 100755
index f81231205..000000000
--- a/src/Specific/montgomery64_2e450m2e225m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**450 - 2**225 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e452m3_8limbs/CurveParameters.v
deleted file mode 100644
index 9dd11515b..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^452 - 3
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^452;
- c := [(1, 3)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e452m3_8limbs/Synthesis.v b/src/Specific/montgomery64_2e452m3_8limbs/Synthesis.v
deleted file mode 100644
index 39a15b999..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.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/montgomery64_2e452m3_8limbs/compiler.sh b/src/Specific/montgomery64_2e452m3_8limbs/compiler.sh
deleted file mode 100755
index f481e7c9d..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e452m3_8limbs/compilerxx.sh
deleted file mode 100755
index 6700d4a6c..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/feadd.c b/src/Specific/montgomery64_2e452m3_8limbs/feadd.c
deleted file mode 100644
index 752d18f97..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xfffffffffffffffdL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0xf, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/feadd.v b/src/Specific/montgomery64_2e452m3_8limbs/feadd.v
deleted file mode 100644
index e895f4210..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.log
deleted file mode 100644
index 9bbb41025..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xfffffffffffffffdL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xf);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.v
deleted file mode 100644
index b4526f4da..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/femul.v b/src/Specific/montgomery64_2e452m3_8limbs/femul.v
deleted file mode 100644
index f949a4d6f..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e452m3_8limbs/femulDisplay.v
deleted file mode 100644
index 4ea059f34..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fenz.c b/src/Specific/montgomery64_2e452m3_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fenz.v b/src/Specific/montgomery64_2e452m3_8limbs/fenz.v
deleted file mode 100644
index c8faebd85..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.v
deleted file mode 100644
index 97cf4cc7b..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/feopp.v b/src/Specific/montgomery64_2e452m3_8limbs/feopp.v
deleted file mode 100644
index a95c92427..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e452m3_8limbs/feoppDisplay.v
deleted file mode 100644
index e770cb0df..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fesquare.c b/src/Specific/montgomery64_2e452m3_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fesub.v b/src/Specific/montgomery64_2e452m3_8limbs/fesub.v
deleted file mode 100644
index 6a8dad388..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e452m3_8limbs/fesubDisplay.v
deleted file mode 100644
index 9847ed911..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e452m3_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e452m3_8limbs/py_interpreter.sh
deleted file mode 100755
index ce536e70c..000000000
--- a/src/Specific/montgomery64_2e452m3_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**452 - 3' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e468m17_8limbs/CurveParameters.v
deleted file mode 100644
index 46f3af838..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^468 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^468;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e468m17_8limbs/Synthesis.v b/src/Specific/montgomery64_2e468m17_8limbs/Synthesis.v
deleted file mode 100644
index 3f800483c..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.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/montgomery64_2e468m17_8limbs/compiler.sh b/src/Specific/montgomery64_2e468m17_8limbs/compiler.sh
deleted file mode 100755
index bfa6184d9..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e468m17_8limbs/compilerxx.sh
deleted file mode 100755
index 724a6bed1..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/feadd.c b/src/Specific/montgomery64_2e468m17_8limbs/feadd.c
deleted file mode 100644
index ae087338f..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffefL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0xfffff, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/feadd.v b/src/Specific/montgomery64_2e468m17_8limbs/feadd.v
deleted file mode 100644
index feb27b864..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.log
deleted file mode 100644
index 73a489014..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffefL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xfffff);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.v
deleted file mode 100644
index 2c9eb3a16..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/femul.v b/src/Specific/montgomery64_2e468m17_8limbs/femul.v
deleted file mode 100644
index f0f50ce8a..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e468m17_8limbs/femulDisplay.v
deleted file mode 100644
index 1175afdb4..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fenz.c b/src/Specific/montgomery64_2e468m17_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fenz.v b/src/Specific/montgomery64_2e468m17_8limbs/fenz.v
deleted file mode 100644
index 5f082f3c5..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.v
deleted file mode 100644
index df5c16409..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/feopp.v b/src/Specific/montgomery64_2e468m17_8limbs/feopp.v
deleted file mode 100644
index 78ed56f0c..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e468m17_8limbs/feoppDisplay.v
deleted file mode 100644
index 925f40f21..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fesquare.c b/src/Specific/montgomery64_2e468m17_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fesub.v b/src/Specific/montgomery64_2e468m17_8limbs/fesub.v
deleted file mode 100644
index b68ecc7e3..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e468m17_8limbs/fesubDisplay.v
deleted file mode 100644
index 317ecc042..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e468m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e468m17_8limbs/py_interpreter.sh
deleted file mode 100755
index e7d4321ad..000000000
--- a/src/Specific/montgomery64_2e468m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**468 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/CurveParameters.v
deleted file mode 100644
index 84f491bef..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^480 - 2^240 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^480;
- c := [(1, 1); (2^240, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e480m2e240m1_8limbs/Synthesis.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/Synthesis.v
deleted file mode 100644
index 8fb9a90c9..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.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/montgomery64_2e480m2e240m1_8limbs/compiler.sh b/src/Specific/montgomery64_2e480m2e240m1_8limbs/compiler.sh
deleted file mode 100755
index fe72154c7..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e480m2e240m1_8limbs/compilerxx.sh
deleted file mode 100755
index 003705a32..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.c b/src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.c
deleted file mode 100644
index 17d80401d..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffffL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xfffeffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0xffffffff, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.v
deleted file mode 100644
index fe8a2c33b..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 6a0ac8802..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xfffeffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xffffffff);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.v
deleted file mode 100644
index 6fa792fe8..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/femul.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/femul.v
deleted file mode 100644
index c84c2735e..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/femulDisplay.v
deleted file mode 100644
index e6613da4f..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.c b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.v
deleted file mode 100644
index ae56d3978..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.v
deleted file mode 100644
index a27ef5282..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feopp.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/feopp.v
deleted file mode 100644
index 4394aff4a..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/feoppDisplay.v
deleted file mode 100644
index 2aeb470cf..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesub.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesub.v
deleted file mode 100644
index 69f1d6de2..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesubDisplay.v
deleted file mode 100644
index b5281c017..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e480m2e240m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e480m2e240m1_8limbs/py_interpreter.sh
deleted file mode 100755
index c5e34d2ae..000000000
--- a/src/Specific/montgomery64_2e480m2e240m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**480 - 2**240 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e488m17_8limbs/CurveParameters.v
deleted file mode 100644
index 686a23539..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^488 - 17
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^488;
- c := [(1, 17)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e488m17_8limbs/Synthesis.v b/src/Specific/montgomery64_2e488m17_8limbs/Synthesis.v
deleted file mode 100644
index 03f7ab319..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.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/montgomery64_2e488m17_8limbs/compiler.sh b/src/Specific/montgomery64_2e488m17_8limbs/compiler.sh
deleted file mode 100755
index 9dced47dc..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e488m17_8limbs/compilerxx.sh
deleted file mode 100755
index b59dd5829..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/feadd.c b/src/Specific/montgomery64_2e488m17_8limbs/feadd.c
deleted file mode 100644
index d51bc767a..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffefL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0xffffffffff, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/feadd.v b/src/Specific/montgomery64_2e488m17_8limbs/feadd.v
deleted file mode 100644
index 8d714cc4e..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.log
deleted file mode 100644
index e75c10f26..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffefL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xffffffffff);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.v
deleted file mode 100644
index 6b6c66f1f..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/femul.v b/src/Specific/montgomery64_2e488m17_8limbs/femul.v
deleted file mode 100644
index f3105ed7e..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e488m17_8limbs/femulDisplay.v
deleted file mode 100644
index 6e08624f4..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fenz.c b/src/Specific/montgomery64_2e488m17_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fenz.v b/src/Specific/montgomery64_2e488m17_8limbs/fenz.v
deleted file mode 100644
index 980e6e6af..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.v
deleted file mode 100644
index e28a9c89f..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/feopp.v b/src/Specific/montgomery64_2e488m17_8limbs/feopp.v
deleted file mode 100644
index 1e7b3d45b..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e488m17_8limbs/feoppDisplay.v
deleted file mode 100644
index 3f809deac..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fesquare.c b/src/Specific/montgomery64_2e488m17_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fesub.v b/src/Specific/montgomery64_2e488m17_8limbs/fesub.v
deleted file mode 100644
index 43614675a..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e488m17_8limbs/fesubDisplay.v
deleted file mode 100644
index 46d74c096..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e488m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e488m17_8limbs/py_interpreter.sh
deleted file mode 100755
index dd4465184..000000000
--- a/src/Specific/montgomery64_2e488m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**488 - 17' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e489m21_8limbs/CurveParameters.v
deleted file mode 100644
index dcff12f2b..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^489 - 21
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^489;
- c := [(1, 21)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e489m21_8limbs/Synthesis.v b/src/Specific/montgomery64_2e489m21_8limbs/Synthesis.v
deleted file mode 100644
index 7f57d7d00..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.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/montgomery64_2e489m21_8limbs/compiler.sh b/src/Specific/montgomery64_2e489m21_8limbs/compiler.sh
deleted file mode 100755
index 259ed5711..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e489m21_8limbs/compilerxx.sh
deleted file mode 100755
index 77e9e0ad5..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/feadd.c b/src/Specific/montgomery64_2e489m21_8limbs/feadd.c
deleted file mode 100644
index e416cbae4..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffebL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0x1ffffffffff, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/feadd.v b/src/Specific/montgomery64_2e489m21_8limbs/feadd.v
deleted file mode 100644
index a7374bd6e..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.log
deleted file mode 100644
index f8639d889..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffebL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x1ffffffffff);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.v
deleted file mode 100644
index 19842ff3f..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/femul.v b/src/Specific/montgomery64_2e489m21_8limbs/femul.v
deleted file mode 100644
index 6d5140661..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e489m21_8limbs/femulDisplay.v
deleted file mode 100644
index fea1876f2..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fenz.c b/src/Specific/montgomery64_2e489m21_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fenz.v b/src/Specific/montgomery64_2e489m21_8limbs/fenz.v
deleted file mode 100644
index ca9f33b24..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.v
deleted file mode 100644
index 5711ed081..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/feopp.v b/src/Specific/montgomery64_2e489m21_8limbs/feopp.v
deleted file mode 100644
index 00c74a198..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e489m21_8limbs/feoppDisplay.v
deleted file mode 100644
index 479bd50ce..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fesquare.c b/src/Specific/montgomery64_2e489m21_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fesub.v b/src/Specific/montgomery64_2e489m21_8limbs/fesub.v
deleted file mode 100644
index 5e3ee3138..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e489m21_8limbs/fesubDisplay.v
deleted file mode 100644
index f124262df..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e489m21_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e489m21_8limbs/py_interpreter.sh
deleted file mode 100755
index 2a94029fa..000000000
--- a/src/Specific/montgomery64_2e489m21_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**489 - 21' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e495m31_8limbs/CurveParameters.v
deleted file mode 100644
index 168ddec41..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^495 - 31
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^495;
- c := [(1, 31)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e495m31_8limbs/Synthesis.v b/src/Specific/montgomery64_2e495m31_8limbs/Synthesis.v
deleted file mode 100644
index 603e85c9d..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.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/montgomery64_2e495m31_8limbs/compiler.sh b/src/Specific/montgomery64_2e495m31_8limbs/compiler.sh
deleted file mode 100755
index e1f890747..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e495m31_8limbs/compilerxx.sh
deleted file mode 100755
index 107733a01..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/feadd.c b/src/Specific/montgomery64_2e495m31_8limbs/feadd.c
deleted file mode 100644
index f0c78d0f9..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffe1L, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0x7fffffffffff, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/feadd.v b/src/Specific/montgomery64_2e495m31_8limbs/feadd.v
deleted file mode 100644
index 9c31c62da..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.log
deleted file mode 100644
index 41e6d4e3a..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffe1L);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x7fffffffffff);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.v
deleted file mode 100644
index ee0262587..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/femul.v b/src/Specific/montgomery64_2e495m31_8limbs/femul.v
deleted file mode 100644
index 2a3438f72..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e495m31_8limbs/femulDisplay.v
deleted file mode 100644
index 90b580092..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fenz.c b/src/Specific/montgomery64_2e495m31_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fenz.v b/src/Specific/montgomery64_2e495m31_8limbs/fenz.v
deleted file mode 100644
index 19475c871..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.v
deleted file mode 100644
index 1b651af8b..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/feopp.v b/src/Specific/montgomery64_2e495m31_8limbs/feopp.v
deleted file mode 100644
index 776e87b40..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e495m31_8limbs/feoppDisplay.v
deleted file mode 100644
index 6656b2675..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fesquare.c b/src/Specific/montgomery64_2e495m31_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fesub.v b/src/Specific/montgomery64_2e495m31_8limbs/fesub.v
deleted file mode 100644
index 71bf15d4b..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e495m31_8limbs/fesubDisplay.v
deleted file mode 100644
index 5f3969bae..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e495m31_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e495m31_8limbs/py_interpreter.sh
deleted file mode 100755
index 8795ac69c..000000000
--- a/src/Specific/montgomery64_2e495m31_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**495 - 31' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/CurveParameters.v
deleted file mode 100644
index d8cf3d25f..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^510 - 290*2^496 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^510;
- c := [(1, 1); (290, 2^496)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e510m290x2e496m1_8limbs/Synthesis.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/Synthesis.v
deleted file mode 100644
index d3c4e871f..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.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/montgomery64_2e510m290x2e496m1_8limbs/compiler.sh b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/compiler.sh
deleted file mode 100755
index 231fd60e3..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/compilerxx.sh
deleted file mode 100755
index 20f1dedb0..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x3e,0xdd,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<510) - 290*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.c b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.c
deleted file mode 100644
index 9851fdab2..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffffL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0x3eddffffffffffff, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.v
deleted file mode 100644
index a3d8a0922..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 57c9fad62..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x3eddffffffffffff);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.v
deleted file mode 100644
index e6939a00b..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.c b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.c
deleted file mode 100644
index 193eb0c44..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.c
+++ /dev/null
@@ -1,443 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x34; uint64_t x33 = _mulx_u64(x5, x19, &x34);
- { uint64_t x37; uint64_t x36 = _mulx_u64(x5, x21, &x37);
- { uint64_t x40; uint64_t x39 = _mulx_u64(x5, x23, &x40);
- { uint64_t x43; uint64_t x42 = _mulx_u64(x5, x25, &x43);
- { uint64_t x46; uint64_t x45 = _mulx_u64(x5, x27, &x46);
- { uint64_t x49; uint64_t x48 = _mulx_u64(x5, x29, &x49);
- { uint64_t x52; uint64_t x51 = _mulx_u64(x5, x31, &x52);
- { uint64_t x55; uint64_t x54 = _mulx_u64(x5, x30, &x55);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(0x0, x34, x36, &x57);
- { uint64_t x60; uint8_t x61 = _addcarryx_u64(x58, x37, x39, &x60);
- { uint64_t x63; uint8_t x64 = _addcarryx_u64(x61, x40, x42, &x63);
- { uint64_t x66; uint8_t x67 = _addcarryx_u64(x64, x43, x45, &x66);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(x67, x46, x48, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x49, x51, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x52, x54, &x75);
- { uint64_t x78; uint8_t _ = _addcarryx_u64(0x0, x76, x55, &x78);
- { uint64_t x82; uint64_t x81 = _mulx_u64(x33, 0xffffffffffffffffL, &x82);
- { uint64_t x85; uint64_t x84 = _mulx_u64(x33, 0xffffffffffffffffL, &x85);
- { uint64_t x88; uint64_t x87 = _mulx_u64(x33, 0xffffffffffffffffL, &x88);
- { uint64_t x91; uint64_t x90 = _mulx_u64(x33, 0xffffffffffffffffL, &x91);
- { uint64_t x94; uint64_t x93 = _mulx_u64(x33, 0xffffffffffffffffL, &x94);
- { uint64_t x97; uint64_t x96 = _mulx_u64(x33, 0xffffffffffffffffL, &x97);
- { uint64_t x100; uint64_t x99 = _mulx_u64(x33, 0xffffffffffffffffL, &x100);
- { uint64_t x103; uint64_t x102 = _mulx_u64(x33, 0x3eddffffffffffff, &x103);
- { uint64_t x105; uint8_t x106 = _addcarryx_u64(0x0, x82, x84, &x105);
- { uint64_t x108; uint8_t x109 = _addcarryx_u64(x106, x85, x87, &x108);
- { uint64_t x111; uint8_t x112 = _addcarryx_u64(x109, x88, x90, &x111);
- { uint64_t x114; uint8_t x115 = _addcarryx_u64(x112, x91, x93, &x114);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(x115, x94, x96, &x117);
- { uint64_t x120; uint8_t x121 = _addcarryx_u64(x118, x97, x99, &x120);
- { uint64_t x123; uint8_t x124 = _addcarryx_u64(x121, x100, x102, &x123);
- { uint64_t x126; uint8_t _ = _addcarryx_u64(0x0, x124, x103, &x126);
- { uint64_t _; uint8_t x130 = _addcarryx_u64(0x0, x33, x81, &_);
- { uint64_t x132; uint8_t x133 = _addcarryx_u64(x130, x57, x105, &x132);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(x133, x60, x108, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x63, x111, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x66, x114, &x141);
- { uint64_t x144; uint8_t x145 = _addcarryx_u64(x142, x69, x117, &x144);
- { uint64_t x147; uint8_t x148 = _addcarryx_u64(x145, x72, x120, &x147);
- { uint64_t x150; uint8_t x151 = _addcarryx_u64(x148, x75, x123, &x150);
- { uint64_t x153; uint8_t x154 = _addcarryx_u64(x151, x78, x126, &x153);
- { uint8_t x155 = (x154 + 0x0);
- { uint64_t x158; uint64_t x157 = _mulx_u64(x7, x19, &x158);
- { uint64_t x161; uint64_t x160 = _mulx_u64(x7, x21, &x161);
- { uint64_t x164; uint64_t x163 = _mulx_u64(x7, x23, &x164);
- { uint64_t x167; uint64_t x166 = _mulx_u64(x7, x25, &x167);
- { uint64_t x170; uint64_t x169 = _mulx_u64(x7, x27, &x170);
- { uint64_t x173; uint64_t x172 = _mulx_u64(x7, x29, &x173);
- { uint64_t x176; uint64_t x175 = _mulx_u64(x7, x31, &x176);
- { uint64_t x179; uint64_t x178 = _mulx_u64(x7, x30, &x179);
- { uint64_t x181; uint8_t x182 = _addcarryx_u64(0x0, x158, x160, &x181);
- { uint64_t x184; uint8_t x185 = _addcarryx_u64(x182, x161, x163, &x184);
- { uint64_t x187; uint8_t x188 = _addcarryx_u64(x185, x164, x166, &x187);
- { uint64_t x190; uint8_t x191 = _addcarryx_u64(x188, x167, x169, &x190);
- { uint64_t x193; uint8_t x194 = _addcarryx_u64(x191, x170, x172, &x193);
- { uint64_t x196; uint8_t x197 = _addcarryx_u64(x194, x173, x175, &x196);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(x197, x176, x178, &x199);
- { uint64_t x202; uint8_t _ = _addcarryx_u64(0x0, x200, x179, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(0x0, x132, x157, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x135, x181, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x138, x184, &x211);
- { uint64_t x214; uint8_t x215 = _addcarryx_u64(x212, x141, x187, &x214);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(x215, x144, x190, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x147, x193, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x150, x196, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x153, x199, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x155, x202, &x229);
- { uint64_t x233; uint64_t x232 = _mulx_u64(x205, 0xffffffffffffffffL, &x233);
- { uint64_t x236; uint64_t x235 = _mulx_u64(x205, 0xffffffffffffffffL, &x236);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x205, 0xffffffffffffffffL, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x205, 0xffffffffffffffffL, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x205, 0xffffffffffffffffL, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x205, 0xffffffffffffffffL, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x205, 0xffffffffffffffffL, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x205, 0x3eddffffffffffff, &x254);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(0x0, x233, x235, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x236, x238, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x239, x241, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x242, x244, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x245, x247, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x248, x250, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x251, x253, &x274);
- { uint64_t x277; uint8_t _ = _addcarryx_u64(0x0, x275, x254, &x277);
- { uint64_t _; uint8_t x281 = _addcarryx_u64(0x0, x205, x232, &_);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x208, x256, &x283);
- { uint64_t x286; uint8_t x287 = _addcarryx_u64(x284, x211, x259, &x286);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(x287, x214, x262, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x217, x265, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x220, x268, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x223, x271, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x226, x274, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x229, x277, &x304);
- { uint8_t x306 = (x305 + x230);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x9, x19, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x9, x21, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x9, x23, &x315);
- { uint64_t x318; uint64_t x317 = _mulx_u64(x9, x25, &x318);
- { uint64_t x321; uint64_t x320 = _mulx_u64(x9, x27, &x321);
- { uint64_t x324; uint64_t x323 = _mulx_u64(x9, x29, &x324);
- { uint64_t x327; uint64_t x326 = _mulx_u64(x9, x31, &x327);
- { uint64_t x330; uint64_t x329 = _mulx_u64(x9, x30, &x330);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(0x0, x309, x311, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x312, x314, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x315, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x318, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x321, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x324, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x327, x329, &x350);
- { uint64_t x353; uint8_t _ = _addcarryx_u64(0x0, x351, x330, &x353);
- { uint64_t x356; uint8_t x357 = _addcarryx_u64(0x0, x283, x308, &x356);
- { uint64_t x359; uint8_t x360 = _addcarryx_u64(x357, x286, x332, &x359);
- { uint64_t x362; uint8_t x363 = _addcarryx_u64(x360, x289, x335, &x362);
- { uint64_t x365; uint8_t x366 = _addcarryx_u64(x363, x292, x338, &x365);
- { uint64_t x368; uint8_t x369 = _addcarryx_u64(x366, x295, x341, &x368);
- { uint64_t x371; uint8_t x372 = _addcarryx_u64(x369, x298, x344, &x371);
- { uint64_t x374; uint8_t x375 = _addcarryx_u64(x372, x301, x347, &x374);
- { uint64_t x377; uint8_t x378 = _addcarryx_u64(x375, x304, x350, &x377);
- { uint64_t x380; uint8_t x381 = _addcarryx_u64(x378, x306, x353, &x380);
- { uint64_t x384; uint64_t x383 = _mulx_u64(x356, 0xffffffffffffffffL, &x384);
- { uint64_t x387; uint64_t x386 = _mulx_u64(x356, 0xffffffffffffffffL, &x387);
- { uint64_t x390; uint64_t x389 = _mulx_u64(x356, 0xffffffffffffffffL, &x390);
- { uint64_t x393; uint64_t x392 = _mulx_u64(x356, 0xffffffffffffffffL, &x393);
- { uint64_t x396; uint64_t x395 = _mulx_u64(x356, 0xffffffffffffffffL, &x396);
- { uint64_t x399; uint64_t x398 = _mulx_u64(x356, 0xffffffffffffffffL, &x399);
- { uint64_t x402; uint64_t x401 = _mulx_u64(x356, 0xffffffffffffffffL, &x402);
- { uint64_t x405; uint64_t x404 = _mulx_u64(x356, 0x3eddffffffffffff, &x405);
- { uint64_t x407; uint8_t x408 = _addcarryx_u64(0x0, x384, x386, &x407);
- { uint64_t x410; uint8_t x411 = _addcarryx_u64(x408, x387, x389, &x410);
- { uint64_t x413; uint8_t x414 = _addcarryx_u64(x411, x390, x392, &x413);
- { uint64_t x416; uint8_t x417 = _addcarryx_u64(x414, x393, x395, &x416);
- { uint64_t x419; uint8_t x420 = _addcarryx_u64(x417, x396, x398, &x419);
- { uint64_t x422; uint8_t x423 = _addcarryx_u64(x420, x399, x401, &x422);
- { uint64_t x425; uint8_t x426 = _addcarryx_u64(x423, x402, x404, &x425);
- { uint64_t x428; uint8_t _ = _addcarryx_u64(0x0, x426, x405, &x428);
- { uint64_t _; uint8_t x432 = _addcarryx_u64(0x0, x356, x383, &_);
- { uint64_t x434; uint8_t x435 = _addcarryx_u64(x432, x359, x407, &x434);
- { uint64_t x437; uint8_t x438 = _addcarryx_u64(x435, x362, x410, &x437);
- { uint64_t x440; uint8_t x441 = _addcarryx_u64(x438, x365, x413, &x440);
- { uint64_t x443; uint8_t x444 = _addcarryx_u64(x441, x368, x416, &x443);
- { uint64_t x446; uint8_t x447 = _addcarryx_u64(x444, x371, x419, &x446);
- { uint64_t x449; uint8_t x450 = _addcarryx_u64(x447, x374, x422, &x449);
- { uint64_t x452; uint8_t x453 = _addcarryx_u64(x450, x377, x425, &x452);
- { uint64_t x455; uint8_t x456 = _addcarryx_u64(x453, x380, x428, &x455);
- { uint8_t x457 = (x456 + x381);
- { uint64_t x460; uint64_t x459 = _mulx_u64(x11, x19, &x460);
- { uint64_t x463; uint64_t x462 = _mulx_u64(x11, x21, &x463);
- { uint64_t x466; uint64_t x465 = _mulx_u64(x11, x23, &x466);
- { uint64_t x469; uint64_t x468 = _mulx_u64(x11, x25, &x469);
- { uint64_t x472; uint64_t x471 = _mulx_u64(x11, x27, &x472);
- { uint64_t x475; uint64_t x474 = _mulx_u64(x11, x29, &x475);
- { uint64_t x478; uint64_t x477 = _mulx_u64(x11, x31, &x478);
- { uint64_t x481; uint64_t x480 = _mulx_u64(x11, x30, &x481);
- { uint64_t x483; uint8_t x484 = _addcarryx_u64(0x0, x460, x462, &x483);
- { uint64_t x486; uint8_t x487 = _addcarryx_u64(x484, x463, x465, &x486);
- { uint64_t x489; uint8_t x490 = _addcarryx_u64(x487, x466, x468, &x489);
- { uint64_t x492; uint8_t x493 = _addcarryx_u64(x490, x469, x471, &x492);
- { uint64_t x495; uint8_t x496 = _addcarryx_u64(x493, x472, x474, &x495);
- { uint64_t x498; uint8_t x499 = _addcarryx_u64(x496, x475, x477, &x498);
- { uint64_t x501; uint8_t x502 = _addcarryx_u64(x499, x478, x480, &x501);
- { uint64_t x504; uint8_t _ = _addcarryx_u64(0x0, x502, x481, &x504);
- { uint64_t x507; uint8_t x508 = _addcarryx_u64(0x0, x434, x459, &x507);
- { uint64_t x510; uint8_t x511 = _addcarryx_u64(x508, x437, x483, &x510);
- { uint64_t x513; uint8_t x514 = _addcarryx_u64(x511, x440, x486, &x513);
- { uint64_t x516; uint8_t x517 = _addcarryx_u64(x514, x443, x489, &x516);
- { uint64_t x519; uint8_t x520 = _addcarryx_u64(x517, x446, x492, &x519);
- { uint64_t x522; uint8_t x523 = _addcarryx_u64(x520, x449, x495, &x522);
- { uint64_t x525; uint8_t x526 = _addcarryx_u64(x523, x452, x498, &x525);
- { uint64_t x528; uint8_t x529 = _addcarryx_u64(x526, x455, x501, &x528);
- { uint64_t x531; uint8_t x532 = _addcarryx_u64(x529, x457, x504, &x531);
- { uint64_t x535; uint64_t x534 = _mulx_u64(x507, 0xffffffffffffffffL, &x535);
- { uint64_t x538; uint64_t x537 = _mulx_u64(x507, 0xffffffffffffffffL, &x538);
- { uint64_t x541; uint64_t x540 = _mulx_u64(x507, 0xffffffffffffffffL, &x541);
- { uint64_t x544; uint64_t x543 = _mulx_u64(x507, 0xffffffffffffffffL, &x544);
- { uint64_t x547; uint64_t x546 = _mulx_u64(x507, 0xffffffffffffffffL, &x547);
- { uint64_t x550; uint64_t x549 = _mulx_u64(x507, 0xffffffffffffffffL, &x550);
- { uint64_t x553; uint64_t x552 = _mulx_u64(x507, 0xffffffffffffffffL, &x553);
- { uint64_t x556; uint64_t x555 = _mulx_u64(x507, 0x3eddffffffffffff, &x556);
- { uint64_t x558; uint8_t x559 = _addcarryx_u64(0x0, x535, x537, &x558);
- { uint64_t x561; uint8_t x562 = _addcarryx_u64(x559, x538, x540, &x561);
- { uint64_t x564; uint8_t x565 = _addcarryx_u64(x562, x541, x543, &x564);
- { uint64_t x567; uint8_t x568 = _addcarryx_u64(x565, x544, x546, &x567);
- { uint64_t x570; uint8_t x571 = _addcarryx_u64(x568, x547, x549, &x570);
- { uint64_t x573; uint8_t x574 = _addcarryx_u64(x571, x550, x552, &x573);
- { uint64_t x576; uint8_t x577 = _addcarryx_u64(x574, x553, x555, &x576);
- { uint64_t x579; uint8_t _ = _addcarryx_u64(0x0, x577, x556, &x579);
- { uint64_t _; uint8_t x583 = _addcarryx_u64(0x0, x507, x534, &_);
- { uint64_t x585; uint8_t x586 = _addcarryx_u64(x583, x510, x558, &x585);
- { uint64_t x588; uint8_t x589 = _addcarryx_u64(x586, x513, x561, &x588);
- { uint64_t x591; uint8_t x592 = _addcarryx_u64(x589, x516, x564, &x591);
- { uint64_t x594; uint8_t x595 = _addcarryx_u64(x592, x519, x567, &x594);
- { uint64_t x597; uint8_t x598 = _addcarryx_u64(x595, x522, x570, &x597);
- { uint64_t x600; uint8_t x601 = _addcarryx_u64(x598, x525, x573, &x600);
- { uint64_t x603; uint8_t x604 = _addcarryx_u64(x601, x528, x576, &x603);
- { uint64_t x606; uint8_t x607 = _addcarryx_u64(x604, x531, x579, &x606);
- { uint8_t x608 = (x607 + x532);
- { uint64_t x611; uint64_t x610 = _mulx_u64(x13, x19, &x611);
- { uint64_t x614; uint64_t x613 = _mulx_u64(x13, x21, &x614);
- { uint64_t x617; uint64_t x616 = _mulx_u64(x13, x23, &x617);
- { uint64_t x620; uint64_t x619 = _mulx_u64(x13, x25, &x620);
- { uint64_t x623; uint64_t x622 = _mulx_u64(x13, x27, &x623);
- { uint64_t x626; uint64_t x625 = _mulx_u64(x13, x29, &x626);
- { uint64_t x629; uint64_t x628 = _mulx_u64(x13, x31, &x629);
- { uint64_t x632; uint64_t x631 = _mulx_u64(x13, x30, &x632);
- { uint64_t x634; uint8_t x635 = _addcarryx_u64(0x0, x611, x613, &x634);
- { uint64_t x637; uint8_t x638 = _addcarryx_u64(x635, x614, x616, &x637);
- { uint64_t x640; uint8_t x641 = _addcarryx_u64(x638, x617, x619, &x640);
- { uint64_t x643; uint8_t x644 = _addcarryx_u64(x641, x620, x622, &x643);
- { uint64_t x646; uint8_t x647 = _addcarryx_u64(x644, x623, x625, &x646);
- { uint64_t x649; uint8_t x650 = _addcarryx_u64(x647, x626, x628, &x649);
- { uint64_t x652; uint8_t x653 = _addcarryx_u64(x650, x629, x631, &x652);
- { uint64_t x655; uint8_t _ = _addcarryx_u64(0x0, x653, x632, &x655);
- { uint64_t x658; uint8_t x659 = _addcarryx_u64(0x0, x585, x610, &x658);
- { uint64_t x661; uint8_t x662 = _addcarryx_u64(x659, x588, x634, &x661);
- { uint64_t x664; uint8_t x665 = _addcarryx_u64(x662, x591, x637, &x664);
- { uint64_t x667; uint8_t x668 = _addcarryx_u64(x665, x594, x640, &x667);
- { uint64_t x670; uint8_t x671 = _addcarryx_u64(x668, x597, x643, &x670);
- { uint64_t x673; uint8_t x674 = _addcarryx_u64(x671, x600, x646, &x673);
- { uint64_t x676; uint8_t x677 = _addcarryx_u64(x674, x603, x649, &x676);
- { uint64_t x679; uint8_t x680 = _addcarryx_u64(x677, x606, x652, &x679);
- { uint64_t x682; uint8_t x683 = _addcarryx_u64(x680, x608, x655, &x682);
- { uint64_t x686; uint64_t x685 = _mulx_u64(x658, 0xffffffffffffffffL, &x686);
- { uint64_t x689; uint64_t x688 = _mulx_u64(x658, 0xffffffffffffffffL, &x689);
- { uint64_t x692; uint64_t x691 = _mulx_u64(x658, 0xffffffffffffffffL, &x692);
- { uint64_t x695; uint64_t x694 = _mulx_u64(x658, 0xffffffffffffffffL, &x695);
- { uint64_t x698; uint64_t x697 = _mulx_u64(x658, 0xffffffffffffffffL, &x698);
- { uint64_t x701; uint64_t x700 = _mulx_u64(x658, 0xffffffffffffffffL, &x701);
- { uint64_t x704; uint64_t x703 = _mulx_u64(x658, 0xffffffffffffffffL, &x704);
- { uint64_t x707; uint64_t x706 = _mulx_u64(x658, 0x3eddffffffffffff, &x707);
- { uint64_t x709; uint8_t x710 = _addcarryx_u64(0x0, x686, x688, &x709);
- { uint64_t x712; uint8_t x713 = _addcarryx_u64(x710, x689, x691, &x712);
- { uint64_t x715; uint8_t x716 = _addcarryx_u64(x713, x692, x694, &x715);
- { uint64_t x718; uint8_t x719 = _addcarryx_u64(x716, x695, x697, &x718);
- { uint64_t x721; uint8_t x722 = _addcarryx_u64(x719, x698, x700, &x721);
- { uint64_t x724; uint8_t x725 = _addcarryx_u64(x722, x701, x703, &x724);
- { uint64_t x727; uint8_t x728 = _addcarryx_u64(x725, x704, x706, &x727);
- { uint64_t x730; uint8_t _ = _addcarryx_u64(0x0, x728, x707, &x730);
- { uint64_t _; uint8_t x734 = _addcarryx_u64(0x0, x658, x685, &_);
- { uint64_t x736; uint8_t x737 = _addcarryx_u64(x734, x661, x709, &x736);
- { uint64_t x739; uint8_t x740 = _addcarryx_u64(x737, x664, x712, &x739);
- { uint64_t x742; uint8_t x743 = _addcarryx_u64(x740, x667, x715, &x742);
- { uint64_t x745; uint8_t x746 = _addcarryx_u64(x743, x670, x718, &x745);
- { uint64_t x748; uint8_t x749 = _addcarryx_u64(x746, x673, x721, &x748);
- { uint64_t x751; uint8_t x752 = _addcarryx_u64(x749, x676, x724, &x751);
- { uint64_t x754; uint8_t x755 = _addcarryx_u64(x752, x679, x727, &x754);
- { uint64_t x757; uint8_t x758 = _addcarryx_u64(x755, x682, x730, &x757);
- { uint8_t x759 = (x758 + x683);
- { uint64_t x762; uint64_t x761 = _mulx_u64(x15, x19, &x762);
- { uint64_t x765; uint64_t x764 = _mulx_u64(x15, x21, &x765);
- { uint64_t x768; uint64_t x767 = _mulx_u64(x15, x23, &x768);
- { uint64_t x771; uint64_t x770 = _mulx_u64(x15, x25, &x771);
- { uint64_t x774; uint64_t x773 = _mulx_u64(x15, x27, &x774);
- { uint64_t x777; uint64_t x776 = _mulx_u64(x15, x29, &x777);
- { uint64_t x780; uint64_t x779 = _mulx_u64(x15, x31, &x780);
- { uint64_t x783; uint64_t x782 = _mulx_u64(x15, x30, &x783);
- { uint64_t x785; uint8_t x786 = _addcarryx_u64(0x0, x762, x764, &x785);
- { uint64_t x788; uint8_t x789 = _addcarryx_u64(x786, x765, x767, &x788);
- { uint64_t x791; uint8_t x792 = _addcarryx_u64(x789, x768, x770, &x791);
- { uint64_t x794; uint8_t x795 = _addcarryx_u64(x792, x771, x773, &x794);
- { uint64_t x797; uint8_t x798 = _addcarryx_u64(x795, x774, x776, &x797);
- { uint64_t x800; uint8_t x801 = _addcarryx_u64(x798, x777, x779, &x800);
- { uint64_t x803; uint8_t x804 = _addcarryx_u64(x801, x780, x782, &x803);
- { uint64_t x806; uint8_t _ = _addcarryx_u64(0x0, x804, x783, &x806);
- { uint64_t x809; uint8_t x810 = _addcarryx_u64(0x0, x736, x761, &x809);
- { uint64_t x812; uint8_t x813 = _addcarryx_u64(x810, x739, x785, &x812);
- { uint64_t x815; uint8_t x816 = _addcarryx_u64(x813, x742, x788, &x815);
- { uint64_t x818; uint8_t x819 = _addcarryx_u64(x816, x745, x791, &x818);
- { uint64_t x821; uint8_t x822 = _addcarryx_u64(x819, x748, x794, &x821);
- { uint64_t x824; uint8_t x825 = _addcarryx_u64(x822, x751, x797, &x824);
- { uint64_t x827; uint8_t x828 = _addcarryx_u64(x825, x754, x800, &x827);
- { uint64_t x830; uint8_t x831 = _addcarryx_u64(x828, x757, x803, &x830);
- { uint64_t x833; uint8_t x834 = _addcarryx_u64(x831, x759, x806, &x833);
- { uint64_t x837; uint64_t x836 = _mulx_u64(x809, 0xffffffffffffffffL, &x837);
- { uint64_t x840; uint64_t x839 = _mulx_u64(x809, 0xffffffffffffffffL, &x840);
- { uint64_t x843; uint64_t x842 = _mulx_u64(x809, 0xffffffffffffffffL, &x843);
- { uint64_t x846; uint64_t x845 = _mulx_u64(x809, 0xffffffffffffffffL, &x846);
- { uint64_t x849; uint64_t x848 = _mulx_u64(x809, 0xffffffffffffffffL, &x849);
- { uint64_t x852; uint64_t x851 = _mulx_u64(x809, 0xffffffffffffffffL, &x852);
- { uint64_t x855; uint64_t x854 = _mulx_u64(x809, 0xffffffffffffffffL, &x855);
- { uint64_t x858; uint64_t x857 = _mulx_u64(x809, 0x3eddffffffffffff, &x858);
- { uint64_t x860; uint8_t x861 = _addcarryx_u64(0x0, x837, x839, &x860);
- { uint64_t x863; uint8_t x864 = _addcarryx_u64(x861, x840, x842, &x863);
- { uint64_t x866; uint8_t x867 = _addcarryx_u64(x864, x843, x845, &x866);
- { uint64_t x869; uint8_t x870 = _addcarryx_u64(x867, x846, x848, &x869);
- { uint64_t x872; uint8_t x873 = _addcarryx_u64(x870, x849, x851, &x872);
- { uint64_t x875; uint8_t x876 = _addcarryx_u64(x873, x852, x854, &x875);
- { uint64_t x878; uint8_t x879 = _addcarryx_u64(x876, x855, x857, &x878);
- { uint64_t x881; uint8_t _ = _addcarryx_u64(0x0, x879, x858, &x881);
- { uint64_t _; uint8_t x885 = _addcarryx_u64(0x0, x809, x836, &_);
- { uint64_t x887; uint8_t x888 = _addcarryx_u64(x885, x812, x860, &x887);
- { uint64_t x890; uint8_t x891 = _addcarryx_u64(x888, x815, x863, &x890);
- { uint64_t x893; uint8_t x894 = _addcarryx_u64(x891, x818, x866, &x893);
- { uint64_t x896; uint8_t x897 = _addcarryx_u64(x894, x821, x869, &x896);
- { uint64_t x899; uint8_t x900 = _addcarryx_u64(x897, x824, x872, &x899);
- { uint64_t x902; uint8_t x903 = _addcarryx_u64(x900, x827, x875, &x902);
- { uint64_t x905; uint8_t x906 = _addcarryx_u64(x903, x830, x878, &x905);
- { uint64_t x908; uint8_t x909 = _addcarryx_u64(x906, x833, x881, &x908);
- { uint8_t x910 = (x909 + x834);
- { uint64_t x913; uint64_t x912 = _mulx_u64(x17, x19, &x913);
- { uint64_t x916; uint64_t x915 = _mulx_u64(x17, x21, &x916);
- { uint64_t x919; uint64_t x918 = _mulx_u64(x17, x23, &x919);
- { uint64_t x922; uint64_t x921 = _mulx_u64(x17, x25, &x922);
- { uint64_t x925; uint64_t x924 = _mulx_u64(x17, x27, &x925);
- { uint64_t x928; uint64_t x927 = _mulx_u64(x17, x29, &x928);
- { uint64_t x931; uint64_t x930 = _mulx_u64(x17, x31, &x931);
- { uint64_t x934; uint64_t x933 = _mulx_u64(x17, x30, &x934);
- { uint64_t x936; uint8_t x937 = _addcarryx_u64(0x0, x913, x915, &x936);
- { uint64_t x939; uint8_t x940 = _addcarryx_u64(x937, x916, x918, &x939);
- { uint64_t x942; uint8_t x943 = _addcarryx_u64(x940, x919, x921, &x942);
- { uint64_t x945; uint8_t x946 = _addcarryx_u64(x943, x922, x924, &x945);
- { uint64_t x948; uint8_t x949 = _addcarryx_u64(x946, x925, x927, &x948);
- { uint64_t x951; uint8_t x952 = _addcarryx_u64(x949, x928, x930, &x951);
- { uint64_t x954; uint8_t x955 = _addcarryx_u64(x952, x931, x933, &x954);
- { uint64_t x957; uint8_t _ = _addcarryx_u64(0x0, x955, x934, &x957);
- { uint64_t x960; uint8_t x961 = _addcarryx_u64(0x0, x887, x912, &x960);
- { uint64_t x963; uint8_t x964 = _addcarryx_u64(x961, x890, x936, &x963);
- { uint64_t x966; uint8_t x967 = _addcarryx_u64(x964, x893, x939, &x966);
- { uint64_t x969; uint8_t x970 = _addcarryx_u64(x967, x896, x942, &x969);
- { uint64_t x972; uint8_t x973 = _addcarryx_u64(x970, x899, x945, &x972);
- { uint64_t x975; uint8_t x976 = _addcarryx_u64(x973, x902, x948, &x975);
- { uint64_t x978; uint8_t x979 = _addcarryx_u64(x976, x905, x951, &x978);
- { uint64_t x981; uint8_t x982 = _addcarryx_u64(x979, x908, x954, &x981);
- { uint64_t x984; uint8_t x985 = _addcarryx_u64(x982, x910, x957, &x984);
- { uint64_t x988; uint64_t x987 = _mulx_u64(x960, 0xffffffffffffffffL, &x988);
- { uint64_t x991; uint64_t x990 = _mulx_u64(x960, 0xffffffffffffffffL, &x991);
- { uint64_t x994; uint64_t x993 = _mulx_u64(x960, 0xffffffffffffffffL, &x994);
- { uint64_t x997; uint64_t x996 = _mulx_u64(x960, 0xffffffffffffffffL, &x997);
- { uint64_t x1000; uint64_t x999 = _mulx_u64(x960, 0xffffffffffffffffL, &x1000);
- { uint64_t x1003; uint64_t x1002 = _mulx_u64(x960, 0xffffffffffffffffL, &x1003);
- { uint64_t x1006; uint64_t x1005 = _mulx_u64(x960, 0xffffffffffffffffL, &x1006);
- { uint64_t x1009; uint64_t x1008 = _mulx_u64(x960, 0x3eddffffffffffff, &x1009);
- { uint64_t x1011; uint8_t x1012 = _addcarryx_u64(0x0, x988, x990, &x1011);
- { uint64_t x1014; uint8_t x1015 = _addcarryx_u64(x1012, x991, x993, &x1014);
- { uint64_t x1017; uint8_t x1018 = _addcarryx_u64(x1015, x994, x996, &x1017);
- { uint64_t x1020; uint8_t x1021 = _addcarryx_u64(x1018, x997, x999, &x1020);
- { uint64_t x1023; uint8_t x1024 = _addcarryx_u64(x1021, x1000, x1002, &x1023);
- { uint64_t x1026; uint8_t x1027 = _addcarryx_u64(x1024, x1003, x1005, &x1026);
- { uint64_t x1029; uint8_t x1030 = _addcarryx_u64(x1027, x1006, x1008, &x1029);
- { uint64_t x1032; uint8_t _ = _addcarryx_u64(0x0, x1030, x1009, &x1032);
- { uint64_t _; uint8_t x1036 = _addcarryx_u64(0x0, x960, x987, &_);
- { uint64_t x1038; uint8_t x1039 = _addcarryx_u64(x1036, x963, x1011, &x1038);
- { uint64_t x1041; uint8_t x1042 = _addcarryx_u64(x1039, x966, x1014, &x1041);
- { uint64_t x1044; uint8_t x1045 = _addcarryx_u64(x1042, x969, x1017, &x1044);
- { uint64_t x1047; uint8_t x1048 = _addcarryx_u64(x1045, x972, x1020, &x1047);
- { uint64_t x1050; uint8_t x1051 = _addcarryx_u64(x1048, x975, x1023, &x1050);
- { uint64_t x1053; uint8_t x1054 = _addcarryx_u64(x1051, x978, x1026, &x1053);
- { uint64_t x1056; uint8_t x1057 = _addcarryx_u64(x1054, x981, x1029, &x1056);
- { uint64_t x1059; uint8_t x1060 = _addcarryx_u64(x1057, x984, x1032, &x1059);
- { uint8_t x1061 = (x1060 + x985);
- { uint64_t x1064; uint64_t x1063 = _mulx_u64(x16, x19, &x1064);
- { uint64_t x1067; uint64_t x1066 = _mulx_u64(x16, x21, &x1067);
- { uint64_t x1070; uint64_t x1069 = _mulx_u64(x16, x23, &x1070);
- { uint64_t x1073; uint64_t x1072 = _mulx_u64(x16, x25, &x1073);
- { uint64_t x1076; uint64_t x1075 = _mulx_u64(x16, x27, &x1076);
- { uint64_t x1079; uint64_t x1078 = _mulx_u64(x16, x29, &x1079);
- { uint64_t x1082; uint64_t x1081 = _mulx_u64(x16, x31, &x1082);
- { uint64_t x1085; uint64_t x1084 = _mulx_u64(x16, x30, &x1085);
- { uint64_t x1087; uint8_t x1088 = _addcarryx_u64(0x0, x1064, x1066, &x1087);
- { uint64_t x1090; uint8_t x1091 = _addcarryx_u64(x1088, x1067, x1069, &x1090);
- { uint64_t x1093; uint8_t x1094 = _addcarryx_u64(x1091, x1070, x1072, &x1093);
- { uint64_t x1096; uint8_t x1097 = _addcarryx_u64(x1094, x1073, x1075, &x1096);
- { uint64_t x1099; uint8_t x1100 = _addcarryx_u64(x1097, x1076, x1078, &x1099);
- { uint64_t x1102; uint8_t x1103 = _addcarryx_u64(x1100, x1079, x1081, &x1102);
- { uint64_t x1105; uint8_t x1106 = _addcarryx_u64(x1103, x1082, x1084, &x1105);
- { uint64_t x1108; uint8_t _ = _addcarryx_u64(0x0, x1106, x1085, &x1108);
- { uint64_t x1111; uint8_t x1112 = _addcarryx_u64(0x0, x1038, x1063, &x1111);
- { uint64_t x1114; uint8_t x1115 = _addcarryx_u64(x1112, x1041, x1087, &x1114);
- { uint64_t x1117; uint8_t x1118 = _addcarryx_u64(x1115, x1044, x1090, &x1117);
- { uint64_t x1120; uint8_t x1121 = _addcarryx_u64(x1118, x1047, x1093, &x1120);
- { uint64_t x1123; uint8_t x1124 = _addcarryx_u64(x1121, x1050, x1096, &x1123);
- { uint64_t x1126; uint8_t x1127 = _addcarryx_u64(x1124, x1053, x1099, &x1126);
- { uint64_t x1129; uint8_t x1130 = _addcarryx_u64(x1127, x1056, x1102, &x1129);
- { uint64_t x1132; uint8_t x1133 = _addcarryx_u64(x1130, x1059, x1105, &x1132);
- { uint64_t x1135; uint8_t x1136 = _addcarryx_u64(x1133, x1061, x1108, &x1135);
- { uint64_t x1139; uint64_t x1138 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1139);
- { uint64_t x1142; uint64_t x1141 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1142);
- { uint64_t x1145; uint64_t x1144 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1145);
- { uint64_t x1148; uint64_t x1147 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1148);
- { uint64_t x1151; uint64_t x1150 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1151);
- { uint64_t x1154; uint64_t x1153 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1154);
- { uint64_t x1157; uint64_t x1156 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1157);
- { uint64_t x1160; uint64_t x1159 = _mulx_u64(x1111, 0x3eddffffffffffff, &x1160);
- { uint64_t x1162; uint8_t x1163 = _addcarryx_u64(0x0, x1139, x1141, &x1162);
- { uint64_t x1165; uint8_t x1166 = _addcarryx_u64(x1163, x1142, x1144, &x1165);
- { uint64_t x1168; uint8_t x1169 = _addcarryx_u64(x1166, x1145, x1147, &x1168);
- { uint64_t x1171; uint8_t x1172 = _addcarryx_u64(x1169, x1148, x1150, &x1171);
- { uint64_t x1174; uint8_t x1175 = _addcarryx_u64(x1172, x1151, x1153, &x1174);
- { uint64_t x1177; uint8_t x1178 = _addcarryx_u64(x1175, x1154, x1156, &x1177);
- { uint64_t x1180; uint8_t x1181 = _addcarryx_u64(x1178, x1157, x1159, &x1180);
- { uint64_t x1183; uint8_t _ = _addcarryx_u64(0x0, x1181, x1160, &x1183);
- { uint64_t _; uint8_t x1187 = _addcarryx_u64(0x0, x1111, x1138, &_);
- { uint64_t x1189; uint8_t x1190 = _addcarryx_u64(x1187, x1114, x1162, &x1189);
- { uint64_t x1192; uint8_t x1193 = _addcarryx_u64(x1190, x1117, x1165, &x1192);
- { uint64_t x1195; uint8_t x1196 = _addcarryx_u64(x1193, x1120, x1168, &x1195);
- { uint64_t x1198; uint8_t x1199 = _addcarryx_u64(x1196, x1123, x1171, &x1198);
- { uint64_t x1201; uint8_t x1202 = _addcarryx_u64(x1199, x1126, x1174, &x1201);
- { uint64_t x1204; uint8_t x1205 = _addcarryx_u64(x1202, x1129, x1177, &x1204);
- { uint64_t x1207; uint8_t x1208 = _addcarryx_u64(x1205, x1132, x1180, &x1207);
- { uint64_t x1210; uint8_t x1211 = _addcarryx_u64(x1208, x1135, x1183, &x1210);
- { uint8_t x1212 = (x1211 + x1136);
- { uint64_t x1214; uint8_t x1215 = _subborrow_u64(0x0, x1189, 0xffffffffffffffffL, &x1214);
- { uint64_t x1217; uint8_t x1218 = _subborrow_u64(x1215, x1192, 0xffffffffffffffffL, &x1217);
- { uint64_t x1220; uint8_t x1221 = _subborrow_u64(x1218, x1195, 0xffffffffffffffffL, &x1220);
- { uint64_t x1223; uint8_t x1224 = _subborrow_u64(x1221, x1198, 0xffffffffffffffffL, &x1223);
- { uint64_t x1226; uint8_t x1227 = _subborrow_u64(x1224, x1201, 0xffffffffffffffffL, &x1226);
- { uint64_t x1229; uint8_t x1230 = _subborrow_u64(x1227, x1204, 0xffffffffffffffffL, &x1229);
- { uint64_t x1232; uint8_t x1233 = _subborrow_u64(x1230, x1207, 0xffffffffffffffffL, &x1232);
- { uint64_t x1235; uint8_t x1236 = _subborrow_u64(x1233, x1210, 0x3eddffffffffffff, &x1235);
- { uint64_t _; uint8_t x1239 = _subborrow_u64(x1236, x1212, 0x0, &_);
- { uint64_t x1240 = cmovznz64(x1239, x1235, x1210);
- { uint64_t x1241 = cmovznz64(x1239, x1232, x1207);
- { uint64_t x1242 = cmovznz64(x1239, x1229, x1204);
- { uint64_t x1243 = cmovznz64(x1239, x1226, x1201);
- { uint64_t x1244 = cmovznz64(x1239, x1223, x1198);
- { uint64_t x1245 = cmovznz64(x1239, x1220, x1195);
- { uint64_t x1246 = cmovznz64(x1239, x1217, x1192);
- { uint64_t x1247 = cmovznz64(x1239, x1214, x1189);
- out[0] = x1247;
- out[1] = x1246;
- out[2] = x1245;
- out[3] = x1244;
- out[4] = x1243;
- out[5] = x1242;
- out[6] = x1241;
- out[7] = x1240;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.v
deleted file mode 100644
index f374b9e73..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.log b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.log
deleted file mode 100644
index f5fee1792..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,423 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint64_t x34 = mulx_u64(x5, x19);
- uint64_t x36, uint64_t x37 = mulx_u64(x5, x21);
- uint64_t x39, uint64_t x40 = mulx_u64(x5, x23);
- uint64_t x42, uint64_t x43 = mulx_u64(x5, x25);
- uint64_t x45, uint64_t x46 = mulx_u64(x5, x27);
- uint64_t x48, uint64_t x49 = mulx_u64(x5, x29);
- uint64_t x51, uint64_t x52 = mulx_u64(x5, x31);
- uint64_t x54, uint64_t x55 = mulx_u64(x5, x30);
- uint64_t x57, uint8_t x58 = addcarryx_u64(0x0, x34, x36);
- uint64_t x60, uint8_t x61 = addcarryx_u64(x58, x37, x39);
- uint64_t x63, uint8_t x64 = addcarryx_u64(x61, x40, x42);
- uint64_t x66, uint8_t x67 = addcarryx_u64(x64, x43, x45);
- uint64_t x69, uint8_t x70 = addcarryx_u64(x67, x46, x48);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x49, x51);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x52, x54);
- uint64_t x78, uint8_t _ = addcarryx_u64(0x0, x76, x55);
- uint64_t x81, uint64_t x82 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x84, uint64_t x85 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x87, uint64_t x88 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x90, uint64_t x91 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x93, uint64_t x94 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x96, uint64_t x97 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x99, uint64_t x100 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x102, uint64_t x103 = mulx_u64(x33, 0x3eddffffffffffff);
- uint64_t x105, uint8_t x106 = addcarryx_u64(0x0, x82, x84);
- uint64_t x108, uint8_t x109 = addcarryx_u64(x106, x85, x87);
- uint64_t x111, uint8_t x112 = addcarryx_u64(x109, x88, x90);
- uint64_t x114, uint8_t x115 = addcarryx_u64(x112, x91, x93);
- uint64_t x117, uint8_t x118 = addcarryx_u64(x115, x94, x96);
- uint64_t x120, uint8_t x121 = addcarryx_u64(x118, x97, x99);
- uint64_t x123, uint8_t x124 = addcarryx_u64(x121, x100, x102);
- uint64_t x126, uint8_t _ = addcarryx_u64(0x0, x124, x103);
- uint64_t _, uint8_t x130 = addcarryx_u64(0x0, x33, x81);
- uint64_t x132, uint8_t x133 = addcarryx_u64(x130, x57, x105);
- uint64_t x135, uint8_t x136 = addcarryx_u64(x133, x60, x108);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x63, x111);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x66, x114);
- uint64_t x144, uint8_t x145 = addcarryx_u64(x142, x69, x117);
- uint64_t x147, uint8_t x148 = addcarryx_u64(x145, x72, x120);
- uint64_t x150, uint8_t x151 = addcarryx_u64(x148, x75, x123);
- uint64_t x153, uint8_t x154 = addcarryx_u64(x151, x78, x126);
- uint8_t x155 = (x154 + 0x0);
- uint64_t x157, uint64_t x158 = mulx_u64(x7, x19);
- uint64_t x160, uint64_t x161 = mulx_u64(x7, x21);
- uint64_t x163, uint64_t x164 = mulx_u64(x7, x23);
- uint64_t x166, uint64_t x167 = mulx_u64(x7, x25);
- uint64_t x169, uint64_t x170 = mulx_u64(x7, x27);
- uint64_t x172, uint64_t x173 = mulx_u64(x7, x29);
- uint64_t x175, uint64_t x176 = mulx_u64(x7, x31);
- uint64_t x178, uint64_t x179 = mulx_u64(x7, x30);
- uint64_t x181, uint8_t x182 = addcarryx_u64(0x0, x158, x160);
- uint64_t x184, uint8_t x185 = addcarryx_u64(x182, x161, x163);
- uint64_t x187, uint8_t x188 = addcarryx_u64(x185, x164, x166);
- uint64_t x190, uint8_t x191 = addcarryx_u64(x188, x167, x169);
- uint64_t x193, uint8_t x194 = addcarryx_u64(x191, x170, x172);
- uint64_t x196, uint8_t x197 = addcarryx_u64(x194, x173, x175);
- uint64_t x199, uint8_t x200 = addcarryx_u64(x197, x176, x178);
- uint64_t x202, uint8_t _ = addcarryx_u64(0x0, x200, x179);
- uint64_t x205, uint8_t x206 = addcarryx_u64(0x0, x132, x157);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x135, x181);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x138, x184);
- uint64_t x214, uint8_t x215 = addcarryx_u64(x212, x141, x187);
- uint64_t x217, uint8_t x218 = addcarryx_u64(x215, x144, x190);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x147, x193);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x150, x196);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x153, x199);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x155, x202);
- uint64_t x232, uint64_t x233 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x235, uint64_t x236 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x238, uint64_t x239 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x241, uint64_t x242 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x244, uint64_t x245 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x247, uint64_t x248 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x250, uint64_t x251 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x253, uint64_t x254 = mulx_u64(x205, 0x3eddffffffffffff);
- uint64_t x256, uint8_t x257 = addcarryx_u64(0x0, x233, x235);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x236, x238);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x239, x241);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x242, x244);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x245, x247);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x248, x250);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x251, x253);
- uint64_t x277, uint8_t _ = addcarryx_u64(0x0, x275, x254);
- uint64_t _, uint8_t x281 = addcarryx_u64(0x0, x205, x232);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x208, x256);
- uint64_t x286, uint8_t x287 = addcarryx_u64(x284, x211, x259);
- uint64_t x289, uint8_t x290 = addcarryx_u64(x287, x214, x262);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x217, x265);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x220, x268);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x223, x271);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x226, x274);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x229, x277);
- uint8_t x306 = (x305 + x230);
- uint64_t x308, uint64_t x309 = mulx_u64(x9, x19);
- uint64_t x311, uint64_t x312 = mulx_u64(x9, x21);
- uint64_t x314, uint64_t x315 = mulx_u64(x9, x23);
- uint64_t x317, uint64_t x318 = mulx_u64(x9, x25);
- uint64_t x320, uint64_t x321 = mulx_u64(x9, x27);
- uint64_t x323, uint64_t x324 = mulx_u64(x9, x29);
- uint64_t x326, uint64_t x327 = mulx_u64(x9, x31);
- uint64_t x329, uint64_t x330 = mulx_u64(x9, x30);
- uint64_t x332, uint8_t x333 = addcarryx_u64(0x0, x309, x311);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x312, x314);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x315, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x318, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x321, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x324, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x327, x329);
- uint64_t x353, uint8_t _ = addcarryx_u64(0x0, x351, x330);
- uint64_t x356, uint8_t x357 = addcarryx_u64(0x0, x283, x308);
- uint64_t x359, uint8_t x360 = addcarryx_u64(x357, x286, x332);
- uint64_t x362, uint8_t x363 = addcarryx_u64(x360, x289, x335);
- uint64_t x365, uint8_t x366 = addcarryx_u64(x363, x292, x338);
- uint64_t x368, uint8_t x369 = addcarryx_u64(x366, x295, x341);
- uint64_t x371, uint8_t x372 = addcarryx_u64(x369, x298, x344);
- uint64_t x374, uint8_t x375 = addcarryx_u64(x372, x301, x347);
- uint64_t x377, uint8_t x378 = addcarryx_u64(x375, x304, x350);
- uint64_t x380, uint8_t x381 = addcarryx_u64(x378, x306, x353);
- uint64_t x383, uint64_t x384 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x386, uint64_t x387 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x389, uint64_t x390 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x392, uint64_t x393 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x395, uint64_t x396 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x398, uint64_t x399 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x401, uint64_t x402 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x404, uint64_t x405 = mulx_u64(x356, 0x3eddffffffffffff);
- uint64_t x407, uint8_t x408 = addcarryx_u64(0x0, x384, x386);
- uint64_t x410, uint8_t x411 = addcarryx_u64(x408, x387, x389);
- uint64_t x413, uint8_t x414 = addcarryx_u64(x411, x390, x392);
- uint64_t x416, uint8_t x417 = addcarryx_u64(x414, x393, x395);
- uint64_t x419, uint8_t x420 = addcarryx_u64(x417, x396, x398);
- uint64_t x422, uint8_t x423 = addcarryx_u64(x420, x399, x401);
- uint64_t x425, uint8_t x426 = addcarryx_u64(x423, x402, x404);
- uint64_t x428, uint8_t _ = addcarryx_u64(0x0, x426, x405);
- uint64_t _, uint8_t x432 = addcarryx_u64(0x0, x356, x383);
- uint64_t x434, uint8_t x435 = addcarryx_u64(x432, x359, x407);
- uint64_t x437, uint8_t x438 = addcarryx_u64(x435, x362, x410);
- uint64_t x440, uint8_t x441 = addcarryx_u64(x438, x365, x413);
- uint64_t x443, uint8_t x444 = addcarryx_u64(x441, x368, x416);
- uint64_t x446, uint8_t x447 = addcarryx_u64(x444, x371, x419);
- uint64_t x449, uint8_t x450 = addcarryx_u64(x447, x374, x422);
- uint64_t x452, uint8_t x453 = addcarryx_u64(x450, x377, x425);
- uint64_t x455, uint8_t x456 = addcarryx_u64(x453, x380, x428);
- uint8_t x457 = (x456 + x381);
- uint64_t x459, uint64_t x460 = mulx_u64(x11, x19);
- uint64_t x462, uint64_t x463 = mulx_u64(x11, x21);
- uint64_t x465, uint64_t x466 = mulx_u64(x11, x23);
- uint64_t x468, uint64_t x469 = mulx_u64(x11, x25);
- uint64_t x471, uint64_t x472 = mulx_u64(x11, x27);
- uint64_t x474, uint64_t x475 = mulx_u64(x11, x29);
- uint64_t x477, uint64_t x478 = mulx_u64(x11, x31);
- uint64_t x480, uint64_t x481 = mulx_u64(x11, x30);
- uint64_t x483, uint8_t x484 = addcarryx_u64(0x0, x460, x462);
- uint64_t x486, uint8_t x487 = addcarryx_u64(x484, x463, x465);
- uint64_t x489, uint8_t x490 = addcarryx_u64(x487, x466, x468);
- uint64_t x492, uint8_t x493 = addcarryx_u64(x490, x469, x471);
- uint64_t x495, uint8_t x496 = addcarryx_u64(x493, x472, x474);
- uint64_t x498, uint8_t x499 = addcarryx_u64(x496, x475, x477);
- uint64_t x501, uint8_t x502 = addcarryx_u64(x499, x478, x480);
- uint64_t x504, uint8_t _ = addcarryx_u64(0x0, x502, x481);
- uint64_t x507, uint8_t x508 = addcarryx_u64(0x0, x434, x459);
- uint64_t x510, uint8_t x511 = addcarryx_u64(x508, x437, x483);
- uint64_t x513, uint8_t x514 = addcarryx_u64(x511, x440, x486);
- uint64_t x516, uint8_t x517 = addcarryx_u64(x514, x443, x489);
- uint64_t x519, uint8_t x520 = addcarryx_u64(x517, x446, x492);
- uint64_t x522, uint8_t x523 = addcarryx_u64(x520, x449, x495);
- uint64_t x525, uint8_t x526 = addcarryx_u64(x523, x452, x498);
- uint64_t x528, uint8_t x529 = addcarryx_u64(x526, x455, x501);
- uint64_t x531, uint8_t x532 = addcarryx_u64(x529, x457, x504);
- uint64_t x534, uint64_t x535 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x537, uint64_t x538 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x540, uint64_t x541 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x543, uint64_t x544 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x546, uint64_t x547 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x549, uint64_t x550 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x552, uint64_t x553 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x555, uint64_t x556 = mulx_u64(x507, 0x3eddffffffffffff);
- uint64_t x558, uint8_t x559 = addcarryx_u64(0x0, x535, x537);
- uint64_t x561, uint8_t x562 = addcarryx_u64(x559, x538, x540);
- uint64_t x564, uint8_t x565 = addcarryx_u64(x562, x541, x543);
- uint64_t x567, uint8_t x568 = addcarryx_u64(x565, x544, x546);
- uint64_t x570, uint8_t x571 = addcarryx_u64(x568, x547, x549);
- uint64_t x573, uint8_t x574 = addcarryx_u64(x571, x550, x552);
- uint64_t x576, uint8_t x577 = addcarryx_u64(x574, x553, x555);
- uint64_t x579, uint8_t _ = addcarryx_u64(0x0, x577, x556);
- uint64_t _, uint8_t x583 = addcarryx_u64(0x0, x507, x534);
- uint64_t x585, uint8_t x586 = addcarryx_u64(x583, x510, x558);
- uint64_t x588, uint8_t x589 = addcarryx_u64(x586, x513, x561);
- uint64_t x591, uint8_t x592 = addcarryx_u64(x589, x516, x564);
- uint64_t x594, uint8_t x595 = addcarryx_u64(x592, x519, x567);
- uint64_t x597, uint8_t x598 = addcarryx_u64(x595, x522, x570);
- uint64_t x600, uint8_t x601 = addcarryx_u64(x598, x525, x573);
- uint64_t x603, uint8_t x604 = addcarryx_u64(x601, x528, x576);
- uint64_t x606, uint8_t x607 = addcarryx_u64(x604, x531, x579);
- uint8_t x608 = (x607 + x532);
- uint64_t x610, uint64_t x611 = mulx_u64(x13, x19);
- uint64_t x613, uint64_t x614 = mulx_u64(x13, x21);
- uint64_t x616, uint64_t x617 = mulx_u64(x13, x23);
- uint64_t x619, uint64_t x620 = mulx_u64(x13, x25);
- uint64_t x622, uint64_t x623 = mulx_u64(x13, x27);
- uint64_t x625, uint64_t x626 = mulx_u64(x13, x29);
- uint64_t x628, uint64_t x629 = mulx_u64(x13, x31);
- uint64_t x631, uint64_t x632 = mulx_u64(x13, x30);
- uint64_t x634, uint8_t x635 = addcarryx_u64(0x0, x611, x613);
- uint64_t x637, uint8_t x638 = addcarryx_u64(x635, x614, x616);
- uint64_t x640, uint8_t x641 = addcarryx_u64(x638, x617, x619);
- uint64_t x643, uint8_t x644 = addcarryx_u64(x641, x620, x622);
- uint64_t x646, uint8_t x647 = addcarryx_u64(x644, x623, x625);
- uint64_t x649, uint8_t x650 = addcarryx_u64(x647, x626, x628);
- uint64_t x652, uint8_t x653 = addcarryx_u64(x650, x629, x631);
- uint64_t x655, uint8_t _ = addcarryx_u64(0x0, x653, x632);
- uint64_t x658, uint8_t x659 = addcarryx_u64(0x0, x585, x610);
- uint64_t x661, uint8_t x662 = addcarryx_u64(x659, x588, x634);
- uint64_t x664, uint8_t x665 = addcarryx_u64(x662, x591, x637);
- uint64_t x667, uint8_t x668 = addcarryx_u64(x665, x594, x640);
- uint64_t x670, uint8_t x671 = addcarryx_u64(x668, x597, x643);
- uint64_t x673, uint8_t x674 = addcarryx_u64(x671, x600, x646);
- uint64_t x676, uint8_t x677 = addcarryx_u64(x674, x603, x649);
- uint64_t x679, uint8_t x680 = addcarryx_u64(x677, x606, x652);
- uint64_t x682, uint8_t x683 = addcarryx_u64(x680, x608, x655);
- uint64_t x685, uint64_t x686 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x688, uint64_t x689 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x691, uint64_t x692 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x694, uint64_t x695 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x697, uint64_t x698 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x700, uint64_t x701 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x703, uint64_t x704 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x706, uint64_t x707 = mulx_u64(x658, 0x3eddffffffffffff);
- uint64_t x709, uint8_t x710 = addcarryx_u64(0x0, x686, x688);
- uint64_t x712, uint8_t x713 = addcarryx_u64(x710, x689, x691);
- uint64_t x715, uint8_t x716 = addcarryx_u64(x713, x692, x694);
- uint64_t x718, uint8_t x719 = addcarryx_u64(x716, x695, x697);
- uint64_t x721, uint8_t x722 = addcarryx_u64(x719, x698, x700);
- uint64_t x724, uint8_t x725 = addcarryx_u64(x722, x701, x703);
- uint64_t x727, uint8_t x728 = addcarryx_u64(x725, x704, x706);
- uint64_t x730, uint8_t _ = addcarryx_u64(0x0, x728, x707);
- uint64_t _, uint8_t x734 = addcarryx_u64(0x0, x658, x685);
- uint64_t x736, uint8_t x737 = addcarryx_u64(x734, x661, x709);
- uint64_t x739, uint8_t x740 = addcarryx_u64(x737, x664, x712);
- uint64_t x742, uint8_t x743 = addcarryx_u64(x740, x667, x715);
- uint64_t x745, uint8_t x746 = addcarryx_u64(x743, x670, x718);
- uint64_t x748, uint8_t x749 = addcarryx_u64(x746, x673, x721);
- uint64_t x751, uint8_t x752 = addcarryx_u64(x749, x676, x724);
- uint64_t x754, uint8_t x755 = addcarryx_u64(x752, x679, x727);
- uint64_t x757, uint8_t x758 = addcarryx_u64(x755, x682, x730);
- uint8_t x759 = (x758 + x683);
- uint64_t x761, uint64_t x762 = mulx_u64(x15, x19);
- uint64_t x764, uint64_t x765 = mulx_u64(x15, x21);
- uint64_t x767, uint64_t x768 = mulx_u64(x15, x23);
- uint64_t x770, uint64_t x771 = mulx_u64(x15, x25);
- uint64_t x773, uint64_t x774 = mulx_u64(x15, x27);
- uint64_t x776, uint64_t x777 = mulx_u64(x15, x29);
- uint64_t x779, uint64_t x780 = mulx_u64(x15, x31);
- uint64_t x782, uint64_t x783 = mulx_u64(x15, x30);
- uint64_t x785, uint8_t x786 = addcarryx_u64(0x0, x762, x764);
- uint64_t x788, uint8_t x789 = addcarryx_u64(x786, x765, x767);
- uint64_t x791, uint8_t x792 = addcarryx_u64(x789, x768, x770);
- uint64_t x794, uint8_t x795 = addcarryx_u64(x792, x771, x773);
- uint64_t x797, uint8_t x798 = addcarryx_u64(x795, x774, x776);
- uint64_t x800, uint8_t x801 = addcarryx_u64(x798, x777, x779);
- uint64_t x803, uint8_t x804 = addcarryx_u64(x801, x780, x782);
- uint64_t x806, uint8_t _ = addcarryx_u64(0x0, x804, x783);
- uint64_t x809, uint8_t x810 = addcarryx_u64(0x0, x736, x761);
- uint64_t x812, uint8_t x813 = addcarryx_u64(x810, x739, x785);
- uint64_t x815, uint8_t x816 = addcarryx_u64(x813, x742, x788);
- uint64_t x818, uint8_t x819 = addcarryx_u64(x816, x745, x791);
- uint64_t x821, uint8_t x822 = addcarryx_u64(x819, x748, x794);
- uint64_t x824, uint8_t x825 = addcarryx_u64(x822, x751, x797);
- uint64_t x827, uint8_t x828 = addcarryx_u64(x825, x754, x800);
- uint64_t x830, uint8_t x831 = addcarryx_u64(x828, x757, x803);
- uint64_t x833, uint8_t x834 = addcarryx_u64(x831, x759, x806);
- uint64_t x836, uint64_t x837 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x839, uint64_t x840 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x842, uint64_t x843 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x845, uint64_t x846 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x848, uint64_t x849 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x851, uint64_t x852 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x854, uint64_t x855 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x857, uint64_t x858 = mulx_u64(x809, 0x3eddffffffffffff);
- uint64_t x860, uint8_t x861 = addcarryx_u64(0x0, x837, x839);
- uint64_t x863, uint8_t x864 = addcarryx_u64(x861, x840, x842);
- uint64_t x866, uint8_t x867 = addcarryx_u64(x864, x843, x845);
- uint64_t x869, uint8_t x870 = addcarryx_u64(x867, x846, x848);
- uint64_t x872, uint8_t x873 = addcarryx_u64(x870, x849, x851);
- uint64_t x875, uint8_t x876 = addcarryx_u64(x873, x852, x854);
- uint64_t x878, uint8_t x879 = addcarryx_u64(x876, x855, x857);
- uint64_t x881, uint8_t _ = addcarryx_u64(0x0, x879, x858);
- uint64_t _, uint8_t x885 = addcarryx_u64(0x0, x809, x836);
- uint64_t x887, uint8_t x888 = addcarryx_u64(x885, x812, x860);
- uint64_t x890, uint8_t x891 = addcarryx_u64(x888, x815, x863);
- uint64_t x893, uint8_t x894 = addcarryx_u64(x891, x818, x866);
- uint64_t x896, uint8_t x897 = addcarryx_u64(x894, x821, x869);
- uint64_t x899, uint8_t x900 = addcarryx_u64(x897, x824, x872);
- uint64_t x902, uint8_t x903 = addcarryx_u64(x900, x827, x875);
- uint64_t x905, uint8_t x906 = addcarryx_u64(x903, x830, x878);
- uint64_t x908, uint8_t x909 = addcarryx_u64(x906, x833, x881);
- uint8_t x910 = (x909 + x834);
- uint64_t x912, uint64_t x913 = mulx_u64(x17, x19);
- uint64_t x915, uint64_t x916 = mulx_u64(x17, x21);
- uint64_t x918, uint64_t x919 = mulx_u64(x17, x23);
- uint64_t x921, uint64_t x922 = mulx_u64(x17, x25);
- uint64_t x924, uint64_t x925 = mulx_u64(x17, x27);
- uint64_t x927, uint64_t x928 = mulx_u64(x17, x29);
- uint64_t x930, uint64_t x931 = mulx_u64(x17, x31);
- uint64_t x933, uint64_t x934 = mulx_u64(x17, x30);
- uint64_t x936, uint8_t x937 = addcarryx_u64(0x0, x913, x915);
- uint64_t x939, uint8_t x940 = addcarryx_u64(x937, x916, x918);
- uint64_t x942, uint8_t x943 = addcarryx_u64(x940, x919, x921);
- uint64_t x945, uint8_t x946 = addcarryx_u64(x943, x922, x924);
- uint64_t x948, uint8_t x949 = addcarryx_u64(x946, x925, x927);
- uint64_t x951, uint8_t x952 = addcarryx_u64(x949, x928, x930);
- uint64_t x954, uint8_t x955 = addcarryx_u64(x952, x931, x933);
- uint64_t x957, uint8_t _ = addcarryx_u64(0x0, x955, x934);
- uint64_t x960, uint8_t x961 = addcarryx_u64(0x0, x887, x912);
- uint64_t x963, uint8_t x964 = addcarryx_u64(x961, x890, x936);
- uint64_t x966, uint8_t x967 = addcarryx_u64(x964, x893, x939);
- uint64_t x969, uint8_t x970 = addcarryx_u64(x967, x896, x942);
- uint64_t x972, uint8_t x973 = addcarryx_u64(x970, x899, x945);
- uint64_t x975, uint8_t x976 = addcarryx_u64(x973, x902, x948);
- uint64_t x978, uint8_t x979 = addcarryx_u64(x976, x905, x951);
- uint64_t x981, uint8_t x982 = addcarryx_u64(x979, x908, x954);
- uint64_t x984, uint8_t x985 = addcarryx_u64(x982, x910, x957);
- uint64_t x987, uint64_t x988 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x990, uint64_t x991 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x993, uint64_t x994 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x996, uint64_t x997 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x999, uint64_t x1000 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x1002, uint64_t x1003 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x1005, uint64_t x1006 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x1008, uint64_t x1009 = mulx_u64(x960, 0x3eddffffffffffff);
- uint64_t x1011, uint8_t x1012 = addcarryx_u64(0x0, x988, x990);
- uint64_t x1014, uint8_t x1015 = addcarryx_u64(x1012, x991, x993);
- uint64_t x1017, uint8_t x1018 = addcarryx_u64(x1015, x994, x996);
- uint64_t x1020, uint8_t x1021 = addcarryx_u64(x1018, x997, x999);
- uint64_t x1023, uint8_t x1024 = addcarryx_u64(x1021, x1000, x1002);
- uint64_t x1026, uint8_t x1027 = addcarryx_u64(x1024, x1003, x1005);
- uint64_t x1029, uint8_t x1030 = addcarryx_u64(x1027, x1006, x1008);
- uint64_t x1032, uint8_t _ = addcarryx_u64(0x0, x1030, x1009);
- uint64_t _, uint8_t x1036 = addcarryx_u64(0x0, x960, x987);
- uint64_t x1038, uint8_t x1039 = addcarryx_u64(x1036, x963, x1011);
- uint64_t x1041, uint8_t x1042 = addcarryx_u64(x1039, x966, x1014);
- uint64_t x1044, uint8_t x1045 = addcarryx_u64(x1042, x969, x1017);
- uint64_t x1047, uint8_t x1048 = addcarryx_u64(x1045, x972, x1020);
- uint64_t x1050, uint8_t x1051 = addcarryx_u64(x1048, x975, x1023);
- uint64_t x1053, uint8_t x1054 = addcarryx_u64(x1051, x978, x1026);
- uint64_t x1056, uint8_t x1057 = addcarryx_u64(x1054, x981, x1029);
- uint64_t x1059, uint8_t x1060 = addcarryx_u64(x1057, x984, x1032);
- uint8_t x1061 = (x1060 + x985);
- uint64_t x1063, uint64_t x1064 = mulx_u64(x16, x19);
- uint64_t x1066, uint64_t x1067 = mulx_u64(x16, x21);
- uint64_t x1069, uint64_t x1070 = mulx_u64(x16, x23);
- uint64_t x1072, uint64_t x1073 = mulx_u64(x16, x25);
- uint64_t x1075, uint64_t x1076 = mulx_u64(x16, x27);
- uint64_t x1078, uint64_t x1079 = mulx_u64(x16, x29);
- uint64_t x1081, uint64_t x1082 = mulx_u64(x16, x31);
- uint64_t x1084, uint64_t x1085 = mulx_u64(x16, x30);
- uint64_t x1087, uint8_t x1088 = addcarryx_u64(0x0, x1064, x1066);
- uint64_t x1090, uint8_t x1091 = addcarryx_u64(x1088, x1067, x1069);
- uint64_t x1093, uint8_t x1094 = addcarryx_u64(x1091, x1070, x1072);
- uint64_t x1096, uint8_t x1097 = addcarryx_u64(x1094, x1073, x1075);
- uint64_t x1099, uint8_t x1100 = addcarryx_u64(x1097, x1076, x1078);
- uint64_t x1102, uint8_t x1103 = addcarryx_u64(x1100, x1079, x1081);
- uint64_t x1105, uint8_t x1106 = addcarryx_u64(x1103, x1082, x1084);
- uint64_t x1108, uint8_t _ = addcarryx_u64(0x0, x1106, x1085);
- uint64_t x1111, uint8_t x1112 = addcarryx_u64(0x0, x1038, x1063);
- uint64_t x1114, uint8_t x1115 = addcarryx_u64(x1112, x1041, x1087);
- uint64_t x1117, uint8_t x1118 = addcarryx_u64(x1115, x1044, x1090);
- uint64_t x1120, uint8_t x1121 = addcarryx_u64(x1118, x1047, x1093);
- uint64_t x1123, uint8_t x1124 = addcarryx_u64(x1121, x1050, x1096);
- uint64_t x1126, uint8_t x1127 = addcarryx_u64(x1124, x1053, x1099);
- uint64_t x1129, uint8_t x1130 = addcarryx_u64(x1127, x1056, x1102);
- uint64_t x1132, uint8_t x1133 = addcarryx_u64(x1130, x1059, x1105);
- uint64_t x1135, uint8_t x1136 = addcarryx_u64(x1133, x1061, x1108);
- uint64_t x1138, uint64_t x1139 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1141, uint64_t x1142 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1144, uint64_t x1145 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1147, uint64_t x1148 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1150, uint64_t x1151 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1153, uint64_t x1154 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1156, uint64_t x1157 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1159, uint64_t x1160 = mulx_u64(x1111, 0x3eddffffffffffff);
- uint64_t x1162, uint8_t x1163 = addcarryx_u64(0x0, x1139, x1141);
- uint64_t x1165, uint8_t x1166 = addcarryx_u64(x1163, x1142, x1144);
- uint64_t x1168, uint8_t x1169 = addcarryx_u64(x1166, x1145, x1147);
- uint64_t x1171, uint8_t x1172 = addcarryx_u64(x1169, x1148, x1150);
- uint64_t x1174, uint8_t x1175 = addcarryx_u64(x1172, x1151, x1153);
- uint64_t x1177, uint8_t x1178 = addcarryx_u64(x1175, x1154, x1156);
- uint64_t x1180, uint8_t x1181 = addcarryx_u64(x1178, x1157, x1159);
- uint64_t x1183, uint8_t _ = addcarryx_u64(0x0, x1181, x1160);
- uint64_t _, uint8_t x1187 = addcarryx_u64(0x0, x1111, x1138);
- uint64_t x1189, uint8_t x1190 = addcarryx_u64(x1187, x1114, x1162);
- uint64_t x1192, uint8_t x1193 = addcarryx_u64(x1190, x1117, x1165);
- uint64_t x1195, uint8_t x1196 = addcarryx_u64(x1193, x1120, x1168);
- uint64_t x1198, uint8_t x1199 = addcarryx_u64(x1196, x1123, x1171);
- uint64_t x1201, uint8_t x1202 = addcarryx_u64(x1199, x1126, x1174);
- uint64_t x1204, uint8_t x1205 = addcarryx_u64(x1202, x1129, x1177);
- uint64_t x1207, uint8_t x1208 = addcarryx_u64(x1205, x1132, x1180);
- uint64_t x1210, uint8_t x1211 = addcarryx_u64(x1208, x1135, x1183);
- uint8_t x1212 = (x1211 + x1136);
- uint64_t x1214, uint8_t x1215 = subborrow_u64(0x0, x1189, 0xffffffffffffffffL);
- uint64_t x1217, uint8_t x1218 = subborrow_u64(x1215, x1192, 0xffffffffffffffffL);
- uint64_t x1220, uint8_t x1221 = subborrow_u64(x1218, x1195, 0xffffffffffffffffL);
- uint64_t x1223, uint8_t x1224 = subborrow_u64(x1221, x1198, 0xffffffffffffffffL);
- uint64_t x1226, uint8_t x1227 = subborrow_u64(x1224, x1201, 0xffffffffffffffffL);
- uint64_t x1229, uint8_t x1230 = subborrow_u64(x1227, x1204, 0xffffffffffffffffL);
- uint64_t x1232, uint8_t x1233 = subborrow_u64(x1230, x1207, 0xffffffffffffffffL);
- uint64_t x1235, uint8_t x1236 = subborrow_u64(x1233, x1210, 0x3eddffffffffffff);
- uint64_t _, uint8_t x1239 = subborrow_u64(x1236, x1212, 0x0);
- uint64_t x1240 = cmovznz64(x1239, x1235, x1210);
- uint64_t x1241 = cmovznz64(x1239, x1232, x1207);
- uint64_t x1242 = cmovznz64(x1239, x1229, x1204);
- uint64_t x1243 = cmovznz64(x1239, x1226, x1201);
- uint64_t x1244 = cmovznz64(x1239, x1223, x1198);
- uint64_t x1245 = cmovznz64(x1239, x1220, x1195);
- uint64_t x1246 = cmovznz64(x1239, x1217, x1192);
- uint64_t x1247 = cmovznz64(x1239, x1214, x1189);
- return (x1240, x1241, x1242, x1243, x1244, x1245, x1246, x1247))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.v
deleted file mode 100644
index c859c108e..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.c b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.v
deleted file mode 100644
index d877bb15e..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.v
deleted file mode 100644
index f4b23c2be..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feopp.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feopp.v
deleted file mode 100644
index 6f2297ff1..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feoppDisplay.v
deleted file mode 100644
index e61efd6b4..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesub.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesub.v
deleted file mode 100644
index 0e6ddc0f4..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesubDisplay.v
deleted file mode 100644
index f0a751a19..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e510m290x2e496m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/py_interpreter.sh
deleted file mode 100755
index ff7ce7905..000000000
--- a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**510 - 290*2**496 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e511m187_8limbs/CurveParameters.v
deleted file mode 100644
index 20f69fb93..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 187
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^511;
- c := [(1, 187)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e511m187_8limbs/Synthesis.v b/src/Specific/montgomery64_2e511m187_8limbs/Synthesis.v
deleted file mode 100644
index 5d7413726..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.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/montgomery64_2e511m187_8limbs/compiler.sh b/src/Specific/montgomery64_2e511m187_8limbs/compiler.sh
deleted file mode 100755
index efd9a71b0..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e511m187_8limbs/compilerxx.sh
deleted file mode 100755
index 6d85adc01..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/feadd.c b/src/Specific/montgomery64_2e511m187_8limbs/feadd.c
deleted file mode 100644
index ef4b7bc6d..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffff45L, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0x7fffffffffffffffL, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/feadd.v b/src/Specific/montgomery64_2e511m187_8limbs/feadd.v
deleted file mode 100644
index 9dfdccc87..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.log
deleted file mode 100644
index 88beaff82..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffff45L);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.v
deleted file mode 100644
index 38d9c6610..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/femul.v b/src/Specific/montgomery64_2e511m187_8limbs/femul.v
deleted file mode 100644
index ff485c9f6..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e511m187_8limbs/femulDisplay.v
deleted file mode 100644
index 56033e31d..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fenz.c b/src/Specific/montgomery64_2e511m187_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fenz.v b/src/Specific/montgomery64_2e511m187_8limbs/fenz.v
deleted file mode 100644
index c6c0cd864..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.v
deleted file mode 100644
index 7e57e418d..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/feopp.v b/src/Specific/montgomery64_2e511m187_8limbs/feopp.v
deleted file mode 100644
index 3fc02879a..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e511m187_8limbs/feoppDisplay.v
deleted file mode 100644
index f0e2484e0..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fesquare.c b/src/Specific/montgomery64_2e511m187_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fesub.v b/src/Specific/montgomery64_2e511m187_8limbs/fesub.v
deleted file mode 100644
index a13ca639f..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e511m187_8limbs/fesubDisplay.v
deleted file mode 100644
index b85e32dae..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m187_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e511m187_8limbs/py_interpreter.sh
deleted file mode 100755
index c460069af..000000000
--- a/src/Specific/montgomery64_2e511m187_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 187' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e511m481_8limbs/CurveParameters.v
deleted file mode 100644
index 37ba2f8dd..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 481
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^511;
- c := [(1, 481)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e511m481_8limbs/Synthesis.v b/src/Specific/montgomery64_2e511m481_8limbs/Synthesis.v
deleted file mode 100644
index a99f9d8b7..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.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/montgomery64_2e511m481_8limbs/compiler.sh b/src/Specific/montgomery64_2e511m481_8limbs/compiler.sh
deleted file mode 100755
index f4d4f313f..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e511m481_8limbs/compilerxx.sh
deleted file mode 100755
index 657121f1a..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/feadd.c b/src/Specific/montgomery64_2e511m481_8limbs/feadd.c
deleted file mode 100644
index b1a70e025..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xfffffffffffffe1fL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0x7fffffffffffffffL, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/feadd.v b/src/Specific/montgomery64_2e511m481_8limbs/feadd.v
deleted file mode 100644
index 7d6a08cfe..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.log
deleted file mode 100644
index 3102464cf..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xfffffffffffffe1fL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0x7fffffffffffffffL);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.v
deleted file mode 100644
index 331cb03f6..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/femul.v b/src/Specific/montgomery64_2e511m481_8limbs/femul.v
deleted file mode 100644
index 845e2c79f..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e511m481_8limbs/femulDisplay.v
deleted file mode 100644
index f32fa438f..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fenz.c b/src/Specific/montgomery64_2e511m481_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fenz.v b/src/Specific/montgomery64_2e511m481_8limbs/fenz.v
deleted file mode 100644
index 9296c1b2b..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.v
deleted file mode 100644
index ff43e8992..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/feopp.v b/src/Specific/montgomery64_2e511m481_8limbs/feopp.v
deleted file mode 100644
index cecc54292..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e511m481_8limbs/feoppDisplay.v
deleted file mode 100644
index 684e0a1ca..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fesquare.c b/src/Specific/montgomery64_2e511m481_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fesub.v b/src/Specific/montgomery64_2e511m481_8limbs/fesub.v
deleted file mode 100644
index 36334c18a..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e511m481_8limbs/fesubDisplay.v
deleted file mode 100644
index 5705796ab..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e511m481_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e511m481_8limbs/py_interpreter.sh
deleted file mode 100755
index a563a6f3b..000000000
--- a/src/Specific/montgomery64_2e511m481_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 481' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/CurveParameters.v
deleted file mode 100644
index accf6b9a7..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 491*2^496 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^512;
- c := [(1, 1); (491, 2^496)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e512m491x2e496m1_8limbs/Synthesis.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/Synthesis.v
deleted file mode 100644
index fb95e130a..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.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/montgomery64_2e512m491x2e496m1_8limbs/compiler.sh b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/compiler.sh
deleted file mode 100755
index 61ac13abd..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/compilerxx.sh
deleted file mode 100755
index 9cd808494..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -Dmodulus_array='{0xfe,0x14,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,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,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 491*(1_mpz<<496) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.c b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.c
deleted file mode 100644
index cf7695d2d..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xffffffffffffffffL, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0xfe14ffffffffffffL, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.v
deleted file mode 100644
index 4bc42b4b7..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.log
deleted file mode 100644
index d9e775eee..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xffffffffffffffffL);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xfe14ffffffffffffL);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.v
deleted file mode 100644
index 4ebc5f249..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.c b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.c
deleted file mode 100644
index 958e08911..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.c
+++ /dev/null
@@ -1,443 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x34; uint64_t x33 = _mulx_u64(x5, x19, &x34);
- { uint64_t x37; uint64_t x36 = _mulx_u64(x5, x21, &x37);
- { uint64_t x40; uint64_t x39 = _mulx_u64(x5, x23, &x40);
- { uint64_t x43; uint64_t x42 = _mulx_u64(x5, x25, &x43);
- { uint64_t x46; uint64_t x45 = _mulx_u64(x5, x27, &x46);
- { uint64_t x49; uint64_t x48 = _mulx_u64(x5, x29, &x49);
- { uint64_t x52; uint64_t x51 = _mulx_u64(x5, x31, &x52);
- { uint64_t x55; uint64_t x54 = _mulx_u64(x5, x30, &x55);
- { uint64_t x57; uint8_t x58 = _addcarryx_u64(0x0, x34, x36, &x57);
- { uint64_t x60; uint8_t x61 = _addcarryx_u64(x58, x37, x39, &x60);
- { uint64_t x63; uint8_t x64 = _addcarryx_u64(x61, x40, x42, &x63);
- { uint64_t x66; uint8_t x67 = _addcarryx_u64(x64, x43, x45, &x66);
- { uint64_t x69; uint8_t x70 = _addcarryx_u64(x67, x46, x48, &x69);
- { uint64_t x72; uint8_t x73 = _addcarryx_u64(x70, x49, x51, &x72);
- { uint64_t x75; uint8_t x76 = _addcarryx_u64(x73, x52, x54, &x75);
- { uint64_t x78; uint8_t _ = _addcarryx_u64(0x0, x76, x55, &x78);
- { uint64_t x82; uint64_t x81 = _mulx_u64(x33, 0xffffffffffffffffL, &x82);
- { uint64_t x85; uint64_t x84 = _mulx_u64(x33, 0xffffffffffffffffL, &x85);
- { uint64_t x88; uint64_t x87 = _mulx_u64(x33, 0xffffffffffffffffL, &x88);
- { uint64_t x91; uint64_t x90 = _mulx_u64(x33, 0xffffffffffffffffL, &x91);
- { uint64_t x94; uint64_t x93 = _mulx_u64(x33, 0xffffffffffffffffL, &x94);
- { uint64_t x97; uint64_t x96 = _mulx_u64(x33, 0xffffffffffffffffL, &x97);
- { uint64_t x100; uint64_t x99 = _mulx_u64(x33, 0xffffffffffffffffL, &x100);
- { uint64_t x103; uint64_t x102 = _mulx_u64(x33, 0xfe14ffffffffffffL, &x103);
- { uint64_t x105; uint8_t x106 = _addcarryx_u64(0x0, x82, x84, &x105);
- { uint64_t x108; uint8_t x109 = _addcarryx_u64(x106, x85, x87, &x108);
- { uint64_t x111; uint8_t x112 = _addcarryx_u64(x109, x88, x90, &x111);
- { uint64_t x114; uint8_t x115 = _addcarryx_u64(x112, x91, x93, &x114);
- { uint64_t x117; uint8_t x118 = _addcarryx_u64(x115, x94, x96, &x117);
- { uint64_t x120; uint8_t x121 = _addcarryx_u64(x118, x97, x99, &x120);
- { uint64_t x123; uint8_t x124 = _addcarryx_u64(x121, x100, x102, &x123);
- { uint64_t x126; uint8_t _ = _addcarryx_u64(0x0, x124, x103, &x126);
- { uint64_t _; uint8_t x130 = _addcarryx_u64(0x0, x33, x81, &_);
- { uint64_t x132; uint8_t x133 = _addcarryx_u64(x130, x57, x105, &x132);
- { uint64_t x135; uint8_t x136 = _addcarryx_u64(x133, x60, x108, &x135);
- { uint64_t x138; uint8_t x139 = _addcarryx_u64(x136, x63, x111, &x138);
- { uint64_t x141; uint8_t x142 = _addcarryx_u64(x139, x66, x114, &x141);
- { uint64_t x144; uint8_t x145 = _addcarryx_u64(x142, x69, x117, &x144);
- { uint64_t x147; uint8_t x148 = _addcarryx_u64(x145, x72, x120, &x147);
- { uint64_t x150; uint8_t x151 = _addcarryx_u64(x148, x75, x123, &x150);
- { uint64_t x153; uint8_t x154 = _addcarryx_u64(x151, x78, x126, &x153);
- { uint8_t x155 = (x154 + 0x0);
- { uint64_t x158; uint64_t x157 = _mulx_u64(x7, x19, &x158);
- { uint64_t x161; uint64_t x160 = _mulx_u64(x7, x21, &x161);
- { uint64_t x164; uint64_t x163 = _mulx_u64(x7, x23, &x164);
- { uint64_t x167; uint64_t x166 = _mulx_u64(x7, x25, &x167);
- { uint64_t x170; uint64_t x169 = _mulx_u64(x7, x27, &x170);
- { uint64_t x173; uint64_t x172 = _mulx_u64(x7, x29, &x173);
- { uint64_t x176; uint64_t x175 = _mulx_u64(x7, x31, &x176);
- { uint64_t x179; uint64_t x178 = _mulx_u64(x7, x30, &x179);
- { uint64_t x181; uint8_t x182 = _addcarryx_u64(0x0, x158, x160, &x181);
- { uint64_t x184; uint8_t x185 = _addcarryx_u64(x182, x161, x163, &x184);
- { uint64_t x187; uint8_t x188 = _addcarryx_u64(x185, x164, x166, &x187);
- { uint64_t x190; uint8_t x191 = _addcarryx_u64(x188, x167, x169, &x190);
- { uint64_t x193; uint8_t x194 = _addcarryx_u64(x191, x170, x172, &x193);
- { uint64_t x196; uint8_t x197 = _addcarryx_u64(x194, x173, x175, &x196);
- { uint64_t x199; uint8_t x200 = _addcarryx_u64(x197, x176, x178, &x199);
- { uint64_t x202; uint8_t _ = _addcarryx_u64(0x0, x200, x179, &x202);
- { uint64_t x205; uint8_t x206 = _addcarryx_u64(0x0, x132, x157, &x205);
- { uint64_t x208; uint8_t x209 = _addcarryx_u64(x206, x135, x181, &x208);
- { uint64_t x211; uint8_t x212 = _addcarryx_u64(x209, x138, x184, &x211);
- { uint64_t x214; uint8_t x215 = _addcarryx_u64(x212, x141, x187, &x214);
- { uint64_t x217; uint8_t x218 = _addcarryx_u64(x215, x144, x190, &x217);
- { uint64_t x220; uint8_t x221 = _addcarryx_u64(x218, x147, x193, &x220);
- { uint64_t x223; uint8_t x224 = _addcarryx_u64(x221, x150, x196, &x223);
- { uint64_t x226; uint8_t x227 = _addcarryx_u64(x224, x153, x199, &x226);
- { uint64_t x229; uint8_t x230 = _addcarryx_u64(x227, x155, x202, &x229);
- { uint64_t x233; uint64_t x232 = _mulx_u64(x205, 0xffffffffffffffffL, &x233);
- { uint64_t x236; uint64_t x235 = _mulx_u64(x205, 0xffffffffffffffffL, &x236);
- { uint64_t x239; uint64_t x238 = _mulx_u64(x205, 0xffffffffffffffffL, &x239);
- { uint64_t x242; uint64_t x241 = _mulx_u64(x205, 0xffffffffffffffffL, &x242);
- { uint64_t x245; uint64_t x244 = _mulx_u64(x205, 0xffffffffffffffffL, &x245);
- { uint64_t x248; uint64_t x247 = _mulx_u64(x205, 0xffffffffffffffffL, &x248);
- { uint64_t x251; uint64_t x250 = _mulx_u64(x205, 0xffffffffffffffffL, &x251);
- { uint64_t x254; uint64_t x253 = _mulx_u64(x205, 0xfe14ffffffffffffL, &x254);
- { uint64_t x256; uint8_t x257 = _addcarryx_u64(0x0, x233, x235, &x256);
- { uint64_t x259; uint8_t x260 = _addcarryx_u64(x257, x236, x238, &x259);
- { uint64_t x262; uint8_t x263 = _addcarryx_u64(x260, x239, x241, &x262);
- { uint64_t x265; uint8_t x266 = _addcarryx_u64(x263, x242, x244, &x265);
- { uint64_t x268; uint8_t x269 = _addcarryx_u64(x266, x245, x247, &x268);
- { uint64_t x271; uint8_t x272 = _addcarryx_u64(x269, x248, x250, &x271);
- { uint64_t x274; uint8_t x275 = _addcarryx_u64(x272, x251, x253, &x274);
- { uint64_t x277; uint8_t _ = _addcarryx_u64(0x0, x275, x254, &x277);
- { uint64_t _; uint8_t x281 = _addcarryx_u64(0x0, x205, x232, &_);
- { uint64_t x283; uint8_t x284 = _addcarryx_u64(x281, x208, x256, &x283);
- { uint64_t x286; uint8_t x287 = _addcarryx_u64(x284, x211, x259, &x286);
- { uint64_t x289; uint8_t x290 = _addcarryx_u64(x287, x214, x262, &x289);
- { uint64_t x292; uint8_t x293 = _addcarryx_u64(x290, x217, x265, &x292);
- { uint64_t x295; uint8_t x296 = _addcarryx_u64(x293, x220, x268, &x295);
- { uint64_t x298; uint8_t x299 = _addcarryx_u64(x296, x223, x271, &x298);
- { uint64_t x301; uint8_t x302 = _addcarryx_u64(x299, x226, x274, &x301);
- { uint64_t x304; uint8_t x305 = _addcarryx_u64(x302, x229, x277, &x304);
- { uint8_t x306 = (x305 + x230);
- { uint64_t x309; uint64_t x308 = _mulx_u64(x9, x19, &x309);
- { uint64_t x312; uint64_t x311 = _mulx_u64(x9, x21, &x312);
- { uint64_t x315; uint64_t x314 = _mulx_u64(x9, x23, &x315);
- { uint64_t x318; uint64_t x317 = _mulx_u64(x9, x25, &x318);
- { uint64_t x321; uint64_t x320 = _mulx_u64(x9, x27, &x321);
- { uint64_t x324; uint64_t x323 = _mulx_u64(x9, x29, &x324);
- { uint64_t x327; uint64_t x326 = _mulx_u64(x9, x31, &x327);
- { uint64_t x330; uint64_t x329 = _mulx_u64(x9, x30, &x330);
- { uint64_t x332; uint8_t x333 = _addcarryx_u64(0x0, x309, x311, &x332);
- { uint64_t x335; uint8_t x336 = _addcarryx_u64(x333, x312, x314, &x335);
- { uint64_t x338; uint8_t x339 = _addcarryx_u64(x336, x315, x317, &x338);
- { uint64_t x341; uint8_t x342 = _addcarryx_u64(x339, x318, x320, &x341);
- { uint64_t x344; uint8_t x345 = _addcarryx_u64(x342, x321, x323, &x344);
- { uint64_t x347; uint8_t x348 = _addcarryx_u64(x345, x324, x326, &x347);
- { uint64_t x350; uint8_t x351 = _addcarryx_u64(x348, x327, x329, &x350);
- { uint64_t x353; uint8_t _ = _addcarryx_u64(0x0, x351, x330, &x353);
- { uint64_t x356; uint8_t x357 = _addcarryx_u64(0x0, x283, x308, &x356);
- { uint64_t x359; uint8_t x360 = _addcarryx_u64(x357, x286, x332, &x359);
- { uint64_t x362; uint8_t x363 = _addcarryx_u64(x360, x289, x335, &x362);
- { uint64_t x365; uint8_t x366 = _addcarryx_u64(x363, x292, x338, &x365);
- { uint64_t x368; uint8_t x369 = _addcarryx_u64(x366, x295, x341, &x368);
- { uint64_t x371; uint8_t x372 = _addcarryx_u64(x369, x298, x344, &x371);
- { uint64_t x374; uint8_t x375 = _addcarryx_u64(x372, x301, x347, &x374);
- { uint64_t x377; uint8_t x378 = _addcarryx_u64(x375, x304, x350, &x377);
- { uint64_t x380; uint8_t x381 = _addcarryx_u64(x378, x306, x353, &x380);
- { uint64_t x384; uint64_t x383 = _mulx_u64(x356, 0xffffffffffffffffL, &x384);
- { uint64_t x387; uint64_t x386 = _mulx_u64(x356, 0xffffffffffffffffL, &x387);
- { uint64_t x390; uint64_t x389 = _mulx_u64(x356, 0xffffffffffffffffL, &x390);
- { uint64_t x393; uint64_t x392 = _mulx_u64(x356, 0xffffffffffffffffL, &x393);
- { uint64_t x396; uint64_t x395 = _mulx_u64(x356, 0xffffffffffffffffL, &x396);
- { uint64_t x399; uint64_t x398 = _mulx_u64(x356, 0xffffffffffffffffL, &x399);
- { uint64_t x402; uint64_t x401 = _mulx_u64(x356, 0xffffffffffffffffL, &x402);
- { uint64_t x405; uint64_t x404 = _mulx_u64(x356, 0xfe14ffffffffffffL, &x405);
- { uint64_t x407; uint8_t x408 = _addcarryx_u64(0x0, x384, x386, &x407);
- { uint64_t x410; uint8_t x411 = _addcarryx_u64(x408, x387, x389, &x410);
- { uint64_t x413; uint8_t x414 = _addcarryx_u64(x411, x390, x392, &x413);
- { uint64_t x416; uint8_t x417 = _addcarryx_u64(x414, x393, x395, &x416);
- { uint64_t x419; uint8_t x420 = _addcarryx_u64(x417, x396, x398, &x419);
- { uint64_t x422; uint8_t x423 = _addcarryx_u64(x420, x399, x401, &x422);
- { uint64_t x425; uint8_t x426 = _addcarryx_u64(x423, x402, x404, &x425);
- { uint64_t x428; uint8_t _ = _addcarryx_u64(0x0, x426, x405, &x428);
- { uint64_t _; uint8_t x432 = _addcarryx_u64(0x0, x356, x383, &_);
- { uint64_t x434; uint8_t x435 = _addcarryx_u64(x432, x359, x407, &x434);
- { uint64_t x437; uint8_t x438 = _addcarryx_u64(x435, x362, x410, &x437);
- { uint64_t x440; uint8_t x441 = _addcarryx_u64(x438, x365, x413, &x440);
- { uint64_t x443; uint8_t x444 = _addcarryx_u64(x441, x368, x416, &x443);
- { uint64_t x446; uint8_t x447 = _addcarryx_u64(x444, x371, x419, &x446);
- { uint64_t x449; uint8_t x450 = _addcarryx_u64(x447, x374, x422, &x449);
- { uint64_t x452; uint8_t x453 = _addcarryx_u64(x450, x377, x425, &x452);
- { uint64_t x455; uint8_t x456 = _addcarryx_u64(x453, x380, x428, &x455);
- { uint8_t x457 = (x456 + x381);
- { uint64_t x460; uint64_t x459 = _mulx_u64(x11, x19, &x460);
- { uint64_t x463; uint64_t x462 = _mulx_u64(x11, x21, &x463);
- { uint64_t x466; uint64_t x465 = _mulx_u64(x11, x23, &x466);
- { uint64_t x469; uint64_t x468 = _mulx_u64(x11, x25, &x469);
- { uint64_t x472; uint64_t x471 = _mulx_u64(x11, x27, &x472);
- { uint64_t x475; uint64_t x474 = _mulx_u64(x11, x29, &x475);
- { uint64_t x478; uint64_t x477 = _mulx_u64(x11, x31, &x478);
- { uint64_t x481; uint64_t x480 = _mulx_u64(x11, x30, &x481);
- { uint64_t x483; uint8_t x484 = _addcarryx_u64(0x0, x460, x462, &x483);
- { uint64_t x486; uint8_t x487 = _addcarryx_u64(x484, x463, x465, &x486);
- { uint64_t x489; uint8_t x490 = _addcarryx_u64(x487, x466, x468, &x489);
- { uint64_t x492; uint8_t x493 = _addcarryx_u64(x490, x469, x471, &x492);
- { uint64_t x495; uint8_t x496 = _addcarryx_u64(x493, x472, x474, &x495);
- { uint64_t x498; uint8_t x499 = _addcarryx_u64(x496, x475, x477, &x498);
- { uint64_t x501; uint8_t x502 = _addcarryx_u64(x499, x478, x480, &x501);
- { uint64_t x504; uint8_t _ = _addcarryx_u64(0x0, x502, x481, &x504);
- { uint64_t x507; uint8_t x508 = _addcarryx_u64(0x0, x434, x459, &x507);
- { uint64_t x510; uint8_t x511 = _addcarryx_u64(x508, x437, x483, &x510);
- { uint64_t x513; uint8_t x514 = _addcarryx_u64(x511, x440, x486, &x513);
- { uint64_t x516; uint8_t x517 = _addcarryx_u64(x514, x443, x489, &x516);
- { uint64_t x519; uint8_t x520 = _addcarryx_u64(x517, x446, x492, &x519);
- { uint64_t x522; uint8_t x523 = _addcarryx_u64(x520, x449, x495, &x522);
- { uint64_t x525; uint8_t x526 = _addcarryx_u64(x523, x452, x498, &x525);
- { uint64_t x528; uint8_t x529 = _addcarryx_u64(x526, x455, x501, &x528);
- { uint64_t x531; uint8_t x532 = _addcarryx_u64(x529, x457, x504, &x531);
- { uint64_t x535; uint64_t x534 = _mulx_u64(x507, 0xffffffffffffffffL, &x535);
- { uint64_t x538; uint64_t x537 = _mulx_u64(x507, 0xffffffffffffffffL, &x538);
- { uint64_t x541; uint64_t x540 = _mulx_u64(x507, 0xffffffffffffffffL, &x541);
- { uint64_t x544; uint64_t x543 = _mulx_u64(x507, 0xffffffffffffffffL, &x544);
- { uint64_t x547; uint64_t x546 = _mulx_u64(x507, 0xffffffffffffffffL, &x547);
- { uint64_t x550; uint64_t x549 = _mulx_u64(x507, 0xffffffffffffffffL, &x550);
- { uint64_t x553; uint64_t x552 = _mulx_u64(x507, 0xffffffffffffffffL, &x553);
- { uint64_t x556; uint64_t x555 = _mulx_u64(x507, 0xfe14ffffffffffffL, &x556);
- { uint64_t x558; uint8_t x559 = _addcarryx_u64(0x0, x535, x537, &x558);
- { uint64_t x561; uint8_t x562 = _addcarryx_u64(x559, x538, x540, &x561);
- { uint64_t x564; uint8_t x565 = _addcarryx_u64(x562, x541, x543, &x564);
- { uint64_t x567; uint8_t x568 = _addcarryx_u64(x565, x544, x546, &x567);
- { uint64_t x570; uint8_t x571 = _addcarryx_u64(x568, x547, x549, &x570);
- { uint64_t x573; uint8_t x574 = _addcarryx_u64(x571, x550, x552, &x573);
- { uint64_t x576; uint8_t x577 = _addcarryx_u64(x574, x553, x555, &x576);
- { uint64_t x579; uint8_t _ = _addcarryx_u64(0x0, x577, x556, &x579);
- { uint64_t _; uint8_t x583 = _addcarryx_u64(0x0, x507, x534, &_);
- { uint64_t x585; uint8_t x586 = _addcarryx_u64(x583, x510, x558, &x585);
- { uint64_t x588; uint8_t x589 = _addcarryx_u64(x586, x513, x561, &x588);
- { uint64_t x591; uint8_t x592 = _addcarryx_u64(x589, x516, x564, &x591);
- { uint64_t x594; uint8_t x595 = _addcarryx_u64(x592, x519, x567, &x594);
- { uint64_t x597; uint8_t x598 = _addcarryx_u64(x595, x522, x570, &x597);
- { uint64_t x600; uint8_t x601 = _addcarryx_u64(x598, x525, x573, &x600);
- { uint64_t x603; uint8_t x604 = _addcarryx_u64(x601, x528, x576, &x603);
- { uint64_t x606; uint8_t x607 = _addcarryx_u64(x604, x531, x579, &x606);
- { uint8_t x608 = (x607 + x532);
- { uint64_t x611; uint64_t x610 = _mulx_u64(x13, x19, &x611);
- { uint64_t x614; uint64_t x613 = _mulx_u64(x13, x21, &x614);
- { uint64_t x617; uint64_t x616 = _mulx_u64(x13, x23, &x617);
- { uint64_t x620; uint64_t x619 = _mulx_u64(x13, x25, &x620);
- { uint64_t x623; uint64_t x622 = _mulx_u64(x13, x27, &x623);
- { uint64_t x626; uint64_t x625 = _mulx_u64(x13, x29, &x626);
- { uint64_t x629; uint64_t x628 = _mulx_u64(x13, x31, &x629);
- { uint64_t x632; uint64_t x631 = _mulx_u64(x13, x30, &x632);
- { uint64_t x634; uint8_t x635 = _addcarryx_u64(0x0, x611, x613, &x634);
- { uint64_t x637; uint8_t x638 = _addcarryx_u64(x635, x614, x616, &x637);
- { uint64_t x640; uint8_t x641 = _addcarryx_u64(x638, x617, x619, &x640);
- { uint64_t x643; uint8_t x644 = _addcarryx_u64(x641, x620, x622, &x643);
- { uint64_t x646; uint8_t x647 = _addcarryx_u64(x644, x623, x625, &x646);
- { uint64_t x649; uint8_t x650 = _addcarryx_u64(x647, x626, x628, &x649);
- { uint64_t x652; uint8_t x653 = _addcarryx_u64(x650, x629, x631, &x652);
- { uint64_t x655; uint8_t _ = _addcarryx_u64(0x0, x653, x632, &x655);
- { uint64_t x658; uint8_t x659 = _addcarryx_u64(0x0, x585, x610, &x658);
- { uint64_t x661; uint8_t x662 = _addcarryx_u64(x659, x588, x634, &x661);
- { uint64_t x664; uint8_t x665 = _addcarryx_u64(x662, x591, x637, &x664);
- { uint64_t x667; uint8_t x668 = _addcarryx_u64(x665, x594, x640, &x667);
- { uint64_t x670; uint8_t x671 = _addcarryx_u64(x668, x597, x643, &x670);
- { uint64_t x673; uint8_t x674 = _addcarryx_u64(x671, x600, x646, &x673);
- { uint64_t x676; uint8_t x677 = _addcarryx_u64(x674, x603, x649, &x676);
- { uint64_t x679; uint8_t x680 = _addcarryx_u64(x677, x606, x652, &x679);
- { uint64_t x682; uint8_t x683 = _addcarryx_u64(x680, x608, x655, &x682);
- { uint64_t x686; uint64_t x685 = _mulx_u64(x658, 0xffffffffffffffffL, &x686);
- { uint64_t x689; uint64_t x688 = _mulx_u64(x658, 0xffffffffffffffffL, &x689);
- { uint64_t x692; uint64_t x691 = _mulx_u64(x658, 0xffffffffffffffffL, &x692);
- { uint64_t x695; uint64_t x694 = _mulx_u64(x658, 0xffffffffffffffffL, &x695);
- { uint64_t x698; uint64_t x697 = _mulx_u64(x658, 0xffffffffffffffffL, &x698);
- { uint64_t x701; uint64_t x700 = _mulx_u64(x658, 0xffffffffffffffffL, &x701);
- { uint64_t x704; uint64_t x703 = _mulx_u64(x658, 0xffffffffffffffffL, &x704);
- { uint64_t x707; uint64_t x706 = _mulx_u64(x658, 0xfe14ffffffffffffL, &x707);
- { uint64_t x709; uint8_t x710 = _addcarryx_u64(0x0, x686, x688, &x709);
- { uint64_t x712; uint8_t x713 = _addcarryx_u64(x710, x689, x691, &x712);
- { uint64_t x715; uint8_t x716 = _addcarryx_u64(x713, x692, x694, &x715);
- { uint64_t x718; uint8_t x719 = _addcarryx_u64(x716, x695, x697, &x718);
- { uint64_t x721; uint8_t x722 = _addcarryx_u64(x719, x698, x700, &x721);
- { uint64_t x724; uint8_t x725 = _addcarryx_u64(x722, x701, x703, &x724);
- { uint64_t x727; uint8_t x728 = _addcarryx_u64(x725, x704, x706, &x727);
- { uint64_t x730; uint8_t _ = _addcarryx_u64(0x0, x728, x707, &x730);
- { uint64_t _; uint8_t x734 = _addcarryx_u64(0x0, x658, x685, &_);
- { uint64_t x736; uint8_t x737 = _addcarryx_u64(x734, x661, x709, &x736);
- { uint64_t x739; uint8_t x740 = _addcarryx_u64(x737, x664, x712, &x739);
- { uint64_t x742; uint8_t x743 = _addcarryx_u64(x740, x667, x715, &x742);
- { uint64_t x745; uint8_t x746 = _addcarryx_u64(x743, x670, x718, &x745);
- { uint64_t x748; uint8_t x749 = _addcarryx_u64(x746, x673, x721, &x748);
- { uint64_t x751; uint8_t x752 = _addcarryx_u64(x749, x676, x724, &x751);
- { uint64_t x754; uint8_t x755 = _addcarryx_u64(x752, x679, x727, &x754);
- { uint64_t x757; uint8_t x758 = _addcarryx_u64(x755, x682, x730, &x757);
- { uint8_t x759 = (x758 + x683);
- { uint64_t x762; uint64_t x761 = _mulx_u64(x15, x19, &x762);
- { uint64_t x765; uint64_t x764 = _mulx_u64(x15, x21, &x765);
- { uint64_t x768; uint64_t x767 = _mulx_u64(x15, x23, &x768);
- { uint64_t x771; uint64_t x770 = _mulx_u64(x15, x25, &x771);
- { uint64_t x774; uint64_t x773 = _mulx_u64(x15, x27, &x774);
- { uint64_t x777; uint64_t x776 = _mulx_u64(x15, x29, &x777);
- { uint64_t x780; uint64_t x779 = _mulx_u64(x15, x31, &x780);
- { uint64_t x783; uint64_t x782 = _mulx_u64(x15, x30, &x783);
- { uint64_t x785; uint8_t x786 = _addcarryx_u64(0x0, x762, x764, &x785);
- { uint64_t x788; uint8_t x789 = _addcarryx_u64(x786, x765, x767, &x788);
- { uint64_t x791; uint8_t x792 = _addcarryx_u64(x789, x768, x770, &x791);
- { uint64_t x794; uint8_t x795 = _addcarryx_u64(x792, x771, x773, &x794);
- { uint64_t x797; uint8_t x798 = _addcarryx_u64(x795, x774, x776, &x797);
- { uint64_t x800; uint8_t x801 = _addcarryx_u64(x798, x777, x779, &x800);
- { uint64_t x803; uint8_t x804 = _addcarryx_u64(x801, x780, x782, &x803);
- { uint64_t x806; uint8_t _ = _addcarryx_u64(0x0, x804, x783, &x806);
- { uint64_t x809; uint8_t x810 = _addcarryx_u64(0x0, x736, x761, &x809);
- { uint64_t x812; uint8_t x813 = _addcarryx_u64(x810, x739, x785, &x812);
- { uint64_t x815; uint8_t x816 = _addcarryx_u64(x813, x742, x788, &x815);
- { uint64_t x818; uint8_t x819 = _addcarryx_u64(x816, x745, x791, &x818);
- { uint64_t x821; uint8_t x822 = _addcarryx_u64(x819, x748, x794, &x821);
- { uint64_t x824; uint8_t x825 = _addcarryx_u64(x822, x751, x797, &x824);
- { uint64_t x827; uint8_t x828 = _addcarryx_u64(x825, x754, x800, &x827);
- { uint64_t x830; uint8_t x831 = _addcarryx_u64(x828, x757, x803, &x830);
- { uint64_t x833; uint8_t x834 = _addcarryx_u64(x831, x759, x806, &x833);
- { uint64_t x837; uint64_t x836 = _mulx_u64(x809, 0xffffffffffffffffL, &x837);
- { uint64_t x840; uint64_t x839 = _mulx_u64(x809, 0xffffffffffffffffL, &x840);
- { uint64_t x843; uint64_t x842 = _mulx_u64(x809, 0xffffffffffffffffL, &x843);
- { uint64_t x846; uint64_t x845 = _mulx_u64(x809, 0xffffffffffffffffL, &x846);
- { uint64_t x849; uint64_t x848 = _mulx_u64(x809, 0xffffffffffffffffL, &x849);
- { uint64_t x852; uint64_t x851 = _mulx_u64(x809, 0xffffffffffffffffL, &x852);
- { uint64_t x855; uint64_t x854 = _mulx_u64(x809, 0xffffffffffffffffL, &x855);
- { uint64_t x858; uint64_t x857 = _mulx_u64(x809, 0xfe14ffffffffffffL, &x858);
- { uint64_t x860; uint8_t x861 = _addcarryx_u64(0x0, x837, x839, &x860);
- { uint64_t x863; uint8_t x864 = _addcarryx_u64(x861, x840, x842, &x863);
- { uint64_t x866; uint8_t x867 = _addcarryx_u64(x864, x843, x845, &x866);
- { uint64_t x869; uint8_t x870 = _addcarryx_u64(x867, x846, x848, &x869);
- { uint64_t x872; uint8_t x873 = _addcarryx_u64(x870, x849, x851, &x872);
- { uint64_t x875; uint8_t x876 = _addcarryx_u64(x873, x852, x854, &x875);
- { uint64_t x878; uint8_t x879 = _addcarryx_u64(x876, x855, x857, &x878);
- { uint64_t x881; uint8_t _ = _addcarryx_u64(0x0, x879, x858, &x881);
- { uint64_t _; uint8_t x885 = _addcarryx_u64(0x0, x809, x836, &_);
- { uint64_t x887; uint8_t x888 = _addcarryx_u64(x885, x812, x860, &x887);
- { uint64_t x890; uint8_t x891 = _addcarryx_u64(x888, x815, x863, &x890);
- { uint64_t x893; uint8_t x894 = _addcarryx_u64(x891, x818, x866, &x893);
- { uint64_t x896; uint8_t x897 = _addcarryx_u64(x894, x821, x869, &x896);
- { uint64_t x899; uint8_t x900 = _addcarryx_u64(x897, x824, x872, &x899);
- { uint64_t x902; uint8_t x903 = _addcarryx_u64(x900, x827, x875, &x902);
- { uint64_t x905; uint8_t x906 = _addcarryx_u64(x903, x830, x878, &x905);
- { uint64_t x908; uint8_t x909 = _addcarryx_u64(x906, x833, x881, &x908);
- { uint8_t x910 = (x909 + x834);
- { uint64_t x913; uint64_t x912 = _mulx_u64(x17, x19, &x913);
- { uint64_t x916; uint64_t x915 = _mulx_u64(x17, x21, &x916);
- { uint64_t x919; uint64_t x918 = _mulx_u64(x17, x23, &x919);
- { uint64_t x922; uint64_t x921 = _mulx_u64(x17, x25, &x922);
- { uint64_t x925; uint64_t x924 = _mulx_u64(x17, x27, &x925);
- { uint64_t x928; uint64_t x927 = _mulx_u64(x17, x29, &x928);
- { uint64_t x931; uint64_t x930 = _mulx_u64(x17, x31, &x931);
- { uint64_t x934; uint64_t x933 = _mulx_u64(x17, x30, &x934);
- { uint64_t x936; uint8_t x937 = _addcarryx_u64(0x0, x913, x915, &x936);
- { uint64_t x939; uint8_t x940 = _addcarryx_u64(x937, x916, x918, &x939);
- { uint64_t x942; uint8_t x943 = _addcarryx_u64(x940, x919, x921, &x942);
- { uint64_t x945; uint8_t x946 = _addcarryx_u64(x943, x922, x924, &x945);
- { uint64_t x948; uint8_t x949 = _addcarryx_u64(x946, x925, x927, &x948);
- { uint64_t x951; uint8_t x952 = _addcarryx_u64(x949, x928, x930, &x951);
- { uint64_t x954; uint8_t x955 = _addcarryx_u64(x952, x931, x933, &x954);
- { uint64_t x957; uint8_t _ = _addcarryx_u64(0x0, x955, x934, &x957);
- { uint64_t x960; uint8_t x961 = _addcarryx_u64(0x0, x887, x912, &x960);
- { uint64_t x963; uint8_t x964 = _addcarryx_u64(x961, x890, x936, &x963);
- { uint64_t x966; uint8_t x967 = _addcarryx_u64(x964, x893, x939, &x966);
- { uint64_t x969; uint8_t x970 = _addcarryx_u64(x967, x896, x942, &x969);
- { uint64_t x972; uint8_t x973 = _addcarryx_u64(x970, x899, x945, &x972);
- { uint64_t x975; uint8_t x976 = _addcarryx_u64(x973, x902, x948, &x975);
- { uint64_t x978; uint8_t x979 = _addcarryx_u64(x976, x905, x951, &x978);
- { uint64_t x981; uint8_t x982 = _addcarryx_u64(x979, x908, x954, &x981);
- { uint64_t x984; uint8_t x985 = _addcarryx_u64(x982, x910, x957, &x984);
- { uint64_t x988; uint64_t x987 = _mulx_u64(x960, 0xffffffffffffffffL, &x988);
- { uint64_t x991; uint64_t x990 = _mulx_u64(x960, 0xffffffffffffffffL, &x991);
- { uint64_t x994; uint64_t x993 = _mulx_u64(x960, 0xffffffffffffffffL, &x994);
- { uint64_t x997; uint64_t x996 = _mulx_u64(x960, 0xffffffffffffffffL, &x997);
- { uint64_t x1000; uint64_t x999 = _mulx_u64(x960, 0xffffffffffffffffL, &x1000);
- { uint64_t x1003; uint64_t x1002 = _mulx_u64(x960, 0xffffffffffffffffL, &x1003);
- { uint64_t x1006; uint64_t x1005 = _mulx_u64(x960, 0xffffffffffffffffL, &x1006);
- { uint64_t x1009; uint64_t x1008 = _mulx_u64(x960, 0xfe14ffffffffffffL, &x1009);
- { uint64_t x1011; uint8_t x1012 = _addcarryx_u64(0x0, x988, x990, &x1011);
- { uint64_t x1014; uint8_t x1015 = _addcarryx_u64(x1012, x991, x993, &x1014);
- { uint64_t x1017; uint8_t x1018 = _addcarryx_u64(x1015, x994, x996, &x1017);
- { uint64_t x1020; uint8_t x1021 = _addcarryx_u64(x1018, x997, x999, &x1020);
- { uint64_t x1023; uint8_t x1024 = _addcarryx_u64(x1021, x1000, x1002, &x1023);
- { uint64_t x1026; uint8_t x1027 = _addcarryx_u64(x1024, x1003, x1005, &x1026);
- { uint64_t x1029; uint8_t x1030 = _addcarryx_u64(x1027, x1006, x1008, &x1029);
- { uint64_t x1032; uint8_t _ = _addcarryx_u64(0x0, x1030, x1009, &x1032);
- { uint64_t _; uint8_t x1036 = _addcarryx_u64(0x0, x960, x987, &_);
- { uint64_t x1038; uint8_t x1039 = _addcarryx_u64(x1036, x963, x1011, &x1038);
- { uint64_t x1041; uint8_t x1042 = _addcarryx_u64(x1039, x966, x1014, &x1041);
- { uint64_t x1044; uint8_t x1045 = _addcarryx_u64(x1042, x969, x1017, &x1044);
- { uint64_t x1047; uint8_t x1048 = _addcarryx_u64(x1045, x972, x1020, &x1047);
- { uint64_t x1050; uint8_t x1051 = _addcarryx_u64(x1048, x975, x1023, &x1050);
- { uint64_t x1053; uint8_t x1054 = _addcarryx_u64(x1051, x978, x1026, &x1053);
- { uint64_t x1056; uint8_t x1057 = _addcarryx_u64(x1054, x981, x1029, &x1056);
- { uint64_t x1059; uint8_t x1060 = _addcarryx_u64(x1057, x984, x1032, &x1059);
- { uint8_t x1061 = (x1060 + x985);
- { uint64_t x1064; uint64_t x1063 = _mulx_u64(x16, x19, &x1064);
- { uint64_t x1067; uint64_t x1066 = _mulx_u64(x16, x21, &x1067);
- { uint64_t x1070; uint64_t x1069 = _mulx_u64(x16, x23, &x1070);
- { uint64_t x1073; uint64_t x1072 = _mulx_u64(x16, x25, &x1073);
- { uint64_t x1076; uint64_t x1075 = _mulx_u64(x16, x27, &x1076);
- { uint64_t x1079; uint64_t x1078 = _mulx_u64(x16, x29, &x1079);
- { uint64_t x1082; uint64_t x1081 = _mulx_u64(x16, x31, &x1082);
- { uint64_t x1085; uint64_t x1084 = _mulx_u64(x16, x30, &x1085);
- { uint64_t x1087; uint8_t x1088 = _addcarryx_u64(0x0, x1064, x1066, &x1087);
- { uint64_t x1090; uint8_t x1091 = _addcarryx_u64(x1088, x1067, x1069, &x1090);
- { uint64_t x1093; uint8_t x1094 = _addcarryx_u64(x1091, x1070, x1072, &x1093);
- { uint64_t x1096; uint8_t x1097 = _addcarryx_u64(x1094, x1073, x1075, &x1096);
- { uint64_t x1099; uint8_t x1100 = _addcarryx_u64(x1097, x1076, x1078, &x1099);
- { uint64_t x1102; uint8_t x1103 = _addcarryx_u64(x1100, x1079, x1081, &x1102);
- { uint64_t x1105; uint8_t x1106 = _addcarryx_u64(x1103, x1082, x1084, &x1105);
- { uint64_t x1108; uint8_t _ = _addcarryx_u64(0x0, x1106, x1085, &x1108);
- { uint64_t x1111; uint8_t x1112 = _addcarryx_u64(0x0, x1038, x1063, &x1111);
- { uint64_t x1114; uint8_t x1115 = _addcarryx_u64(x1112, x1041, x1087, &x1114);
- { uint64_t x1117; uint8_t x1118 = _addcarryx_u64(x1115, x1044, x1090, &x1117);
- { uint64_t x1120; uint8_t x1121 = _addcarryx_u64(x1118, x1047, x1093, &x1120);
- { uint64_t x1123; uint8_t x1124 = _addcarryx_u64(x1121, x1050, x1096, &x1123);
- { uint64_t x1126; uint8_t x1127 = _addcarryx_u64(x1124, x1053, x1099, &x1126);
- { uint64_t x1129; uint8_t x1130 = _addcarryx_u64(x1127, x1056, x1102, &x1129);
- { uint64_t x1132; uint8_t x1133 = _addcarryx_u64(x1130, x1059, x1105, &x1132);
- { uint64_t x1135; uint8_t x1136 = _addcarryx_u64(x1133, x1061, x1108, &x1135);
- { uint64_t x1139; uint64_t x1138 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1139);
- { uint64_t x1142; uint64_t x1141 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1142);
- { uint64_t x1145; uint64_t x1144 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1145);
- { uint64_t x1148; uint64_t x1147 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1148);
- { uint64_t x1151; uint64_t x1150 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1151);
- { uint64_t x1154; uint64_t x1153 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1154);
- { uint64_t x1157; uint64_t x1156 = _mulx_u64(x1111, 0xffffffffffffffffL, &x1157);
- { uint64_t x1160; uint64_t x1159 = _mulx_u64(x1111, 0xfe14ffffffffffffL, &x1160);
- { uint64_t x1162; uint8_t x1163 = _addcarryx_u64(0x0, x1139, x1141, &x1162);
- { uint64_t x1165; uint8_t x1166 = _addcarryx_u64(x1163, x1142, x1144, &x1165);
- { uint64_t x1168; uint8_t x1169 = _addcarryx_u64(x1166, x1145, x1147, &x1168);
- { uint64_t x1171; uint8_t x1172 = _addcarryx_u64(x1169, x1148, x1150, &x1171);
- { uint64_t x1174; uint8_t x1175 = _addcarryx_u64(x1172, x1151, x1153, &x1174);
- { uint64_t x1177; uint8_t x1178 = _addcarryx_u64(x1175, x1154, x1156, &x1177);
- { uint64_t x1180; uint8_t x1181 = _addcarryx_u64(x1178, x1157, x1159, &x1180);
- { uint64_t x1183; uint8_t _ = _addcarryx_u64(0x0, x1181, x1160, &x1183);
- { uint64_t _; uint8_t x1187 = _addcarryx_u64(0x0, x1111, x1138, &_);
- { uint64_t x1189; uint8_t x1190 = _addcarryx_u64(x1187, x1114, x1162, &x1189);
- { uint64_t x1192; uint8_t x1193 = _addcarryx_u64(x1190, x1117, x1165, &x1192);
- { uint64_t x1195; uint8_t x1196 = _addcarryx_u64(x1193, x1120, x1168, &x1195);
- { uint64_t x1198; uint8_t x1199 = _addcarryx_u64(x1196, x1123, x1171, &x1198);
- { uint64_t x1201; uint8_t x1202 = _addcarryx_u64(x1199, x1126, x1174, &x1201);
- { uint64_t x1204; uint8_t x1205 = _addcarryx_u64(x1202, x1129, x1177, &x1204);
- { uint64_t x1207; uint8_t x1208 = _addcarryx_u64(x1205, x1132, x1180, &x1207);
- { uint64_t x1210; uint8_t x1211 = _addcarryx_u64(x1208, x1135, x1183, &x1210);
- { uint8_t x1212 = (x1211 + x1136);
- { uint64_t x1214; uint8_t x1215 = _subborrow_u64(0x0, x1189, 0xffffffffffffffffL, &x1214);
- { uint64_t x1217; uint8_t x1218 = _subborrow_u64(x1215, x1192, 0xffffffffffffffffL, &x1217);
- { uint64_t x1220; uint8_t x1221 = _subborrow_u64(x1218, x1195, 0xffffffffffffffffL, &x1220);
- { uint64_t x1223; uint8_t x1224 = _subborrow_u64(x1221, x1198, 0xffffffffffffffffL, &x1223);
- { uint64_t x1226; uint8_t x1227 = _subborrow_u64(x1224, x1201, 0xffffffffffffffffL, &x1226);
- { uint64_t x1229; uint8_t x1230 = _subborrow_u64(x1227, x1204, 0xffffffffffffffffL, &x1229);
- { uint64_t x1232; uint8_t x1233 = _subborrow_u64(x1230, x1207, 0xffffffffffffffffL, &x1232);
- { uint64_t x1235; uint8_t x1236 = _subborrow_u64(x1233, x1210, 0xfe14ffffffffffffL, &x1235);
- { uint64_t _; uint8_t x1239 = _subborrow_u64(x1236, x1212, 0x0, &_);
- { uint64_t x1240 = cmovznz64(x1239, x1235, x1210);
- { uint64_t x1241 = cmovznz64(x1239, x1232, x1207);
- { uint64_t x1242 = cmovznz64(x1239, x1229, x1204);
- { uint64_t x1243 = cmovznz64(x1239, x1226, x1201);
- { uint64_t x1244 = cmovznz64(x1239, x1223, x1198);
- { uint64_t x1245 = cmovznz64(x1239, x1220, x1195);
- { uint64_t x1246 = cmovznz64(x1239, x1217, x1192);
- { uint64_t x1247 = cmovznz64(x1239, x1214, x1189);
- out[0] = x1247;
- out[1] = x1246;
- out[2] = x1245;
- out[3] = x1244;
- out[4] = x1243;
- out[5] = x1242;
- out[6] = x1241;
- out[7] = x1240;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.v
deleted file mode 100644
index a0b64e0ce..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.log b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.log
deleted file mode 100644
index aca3dfe9b..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,423 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint64_t x34 = mulx_u64(x5, x19);
- uint64_t x36, uint64_t x37 = mulx_u64(x5, x21);
- uint64_t x39, uint64_t x40 = mulx_u64(x5, x23);
- uint64_t x42, uint64_t x43 = mulx_u64(x5, x25);
- uint64_t x45, uint64_t x46 = mulx_u64(x5, x27);
- uint64_t x48, uint64_t x49 = mulx_u64(x5, x29);
- uint64_t x51, uint64_t x52 = mulx_u64(x5, x31);
- uint64_t x54, uint64_t x55 = mulx_u64(x5, x30);
- uint64_t x57, uint8_t x58 = addcarryx_u64(0x0, x34, x36);
- uint64_t x60, uint8_t x61 = addcarryx_u64(x58, x37, x39);
- uint64_t x63, uint8_t x64 = addcarryx_u64(x61, x40, x42);
- uint64_t x66, uint8_t x67 = addcarryx_u64(x64, x43, x45);
- uint64_t x69, uint8_t x70 = addcarryx_u64(x67, x46, x48);
- uint64_t x72, uint8_t x73 = addcarryx_u64(x70, x49, x51);
- uint64_t x75, uint8_t x76 = addcarryx_u64(x73, x52, x54);
- uint64_t x78, uint8_t _ = addcarryx_u64(0x0, x76, x55);
- uint64_t x81, uint64_t x82 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x84, uint64_t x85 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x87, uint64_t x88 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x90, uint64_t x91 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x93, uint64_t x94 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x96, uint64_t x97 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x99, uint64_t x100 = mulx_u64(x33, 0xffffffffffffffffL);
- uint64_t x102, uint64_t x103 = mulx_u64(x33, 0xfe14ffffffffffffL);
- uint64_t x105, uint8_t x106 = addcarryx_u64(0x0, x82, x84);
- uint64_t x108, uint8_t x109 = addcarryx_u64(x106, x85, x87);
- uint64_t x111, uint8_t x112 = addcarryx_u64(x109, x88, x90);
- uint64_t x114, uint8_t x115 = addcarryx_u64(x112, x91, x93);
- uint64_t x117, uint8_t x118 = addcarryx_u64(x115, x94, x96);
- uint64_t x120, uint8_t x121 = addcarryx_u64(x118, x97, x99);
- uint64_t x123, uint8_t x124 = addcarryx_u64(x121, x100, x102);
- uint64_t x126, uint8_t _ = addcarryx_u64(0x0, x124, x103);
- uint64_t _, uint8_t x130 = addcarryx_u64(0x0, x33, x81);
- uint64_t x132, uint8_t x133 = addcarryx_u64(x130, x57, x105);
- uint64_t x135, uint8_t x136 = addcarryx_u64(x133, x60, x108);
- uint64_t x138, uint8_t x139 = addcarryx_u64(x136, x63, x111);
- uint64_t x141, uint8_t x142 = addcarryx_u64(x139, x66, x114);
- uint64_t x144, uint8_t x145 = addcarryx_u64(x142, x69, x117);
- uint64_t x147, uint8_t x148 = addcarryx_u64(x145, x72, x120);
- uint64_t x150, uint8_t x151 = addcarryx_u64(x148, x75, x123);
- uint64_t x153, uint8_t x154 = addcarryx_u64(x151, x78, x126);
- uint8_t x155 = (x154 + 0x0);
- uint64_t x157, uint64_t x158 = mulx_u64(x7, x19);
- uint64_t x160, uint64_t x161 = mulx_u64(x7, x21);
- uint64_t x163, uint64_t x164 = mulx_u64(x7, x23);
- uint64_t x166, uint64_t x167 = mulx_u64(x7, x25);
- uint64_t x169, uint64_t x170 = mulx_u64(x7, x27);
- uint64_t x172, uint64_t x173 = mulx_u64(x7, x29);
- uint64_t x175, uint64_t x176 = mulx_u64(x7, x31);
- uint64_t x178, uint64_t x179 = mulx_u64(x7, x30);
- uint64_t x181, uint8_t x182 = addcarryx_u64(0x0, x158, x160);
- uint64_t x184, uint8_t x185 = addcarryx_u64(x182, x161, x163);
- uint64_t x187, uint8_t x188 = addcarryx_u64(x185, x164, x166);
- uint64_t x190, uint8_t x191 = addcarryx_u64(x188, x167, x169);
- uint64_t x193, uint8_t x194 = addcarryx_u64(x191, x170, x172);
- uint64_t x196, uint8_t x197 = addcarryx_u64(x194, x173, x175);
- uint64_t x199, uint8_t x200 = addcarryx_u64(x197, x176, x178);
- uint64_t x202, uint8_t _ = addcarryx_u64(0x0, x200, x179);
- uint64_t x205, uint8_t x206 = addcarryx_u64(0x0, x132, x157);
- uint64_t x208, uint8_t x209 = addcarryx_u64(x206, x135, x181);
- uint64_t x211, uint8_t x212 = addcarryx_u64(x209, x138, x184);
- uint64_t x214, uint8_t x215 = addcarryx_u64(x212, x141, x187);
- uint64_t x217, uint8_t x218 = addcarryx_u64(x215, x144, x190);
- uint64_t x220, uint8_t x221 = addcarryx_u64(x218, x147, x193);
- uint64_t x223, uint8_t x224 = addcarryx_u64(x221, x150, x196);
- uint64_t x226, uint8_t x227 = addcarryx_u64(x224, x153, x199);
- uint64_t x229, uint8_t x230 = addcarryx_u64(x227, x155, x202);
- uint64_t x232, uint64_t x233 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x235, uint64_t x236 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x238, uint64_t x239 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x241, uint64_t x242 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x244, uint64_t x245 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x247, uint64_t x248 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x250, uint64_t x251 = mulx_u64(x205, 0xffffffffffffffffL);
- uint64_t x253, uint64_t x254 = mulx_u64(x205, 0xfe14ffffffffffffL);
- uint64_t x256, uint8_t x257 = addcarryx_u64(0x0, x233, x235);
- uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x236, x238);
- uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x239, x241);
- uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x242, x244);
- uint64_t x268, uint8_t x269 = addcarryx_u64(x266, x245, x247);
- uint64_t x271, uint8_t x272 = addcarryx_u64(x269, x248, x250);
- uint64_t x274, uint8_t x275 = addcarryx_u64(x272, x251, x253);
- uint64_t x277, uint8_t _ = addcarryx_u64(0x0, x275, x254);
- uint64_t _, uint8_t x281 = addcarryx_u64(0x0, x205, x232);
- uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x208, x256);
- uint64_t x286, uint8_t x287 = addcarryx_u64(x284, x211, x259);
- uint64_t x289, uint8_t x290 = addcarryx_u64(x287, x214, x262);
- uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x217, x265);
- uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x220, x268);
- uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x223, x271);
- uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x226, x274);
- uint64_t x304, uint8_t x305 = addcarryx_u64(x302, x229, x277);
- uint8_t x306 = (x305 + x230);
- uint64_t x308, uint64_t x309 = mulx_u64(x9, x19);
- uint64_t x311, uint64_t x312 = mulx_u64(x9, x21);
- uint64_t x314, uint64_t x315 = mulx_u64(x9, x23);
- uint64_t x317, uint64_t x318 = mulx_u64(x9, x25);
- uint64_t x320, uint64_t x321 = mulx_u64(x9, x27);
- uint64_t x323, uint64_t x324 = mulx_u64(x9, x29);
- uint64_t x326, uint64_t x327 = mulx_u64(x9, x31);
- uint64_t x329, uint64_t x330 = mulx_u64(x9, x30);
- uint64_t x332, uint8_t x333 = addcarryx_u64(0x0, x309, x311);
- uint64_t x335, uint8_t x336 = addcarryx_u64(x333, x312, x314);
- uint64_t x338, uint8_t x339 = addcarryx_u64(x336, x315, x317);
- uint64_t x341, uint8_t x342 = addcarryx_u64(x339, x318, x320);
- uint64_t x344, uint8_t x345 = addcarryx_u64(x342, x321, x323);
- uint64_t x347, uint8_t x348 = addcarryx_u64(x345, x324, x326);
- uint64_t x350, uint8_t x351 = addcarryx_u64(x348, x327, x329);
- uint64_t x353, uint8_t _ = addcarryx_u64(0x0, x351, x330);
- uint64_t x356, uint8_t x357 = addcarryx_u64(0x0, x283, x308);
- uint64_t x359, uint8_t x360 = addcarryx_u64(x357, x286, x332);
- uint64_t x362, uint8_t x363 = addcarryx_u64(x360, x289, x335);
- uint64_t x365, uint8_t x366 = addcarryx_u64(x363, x292, x338);
- uint64_t x368, uint8_t x369 = addcarryx_u64(x366, x295, x341);
- uint64_t x371, uint8_t x372 = addcarryx_u64(x369, x298, x344);
- uint64_t x374, uint8_t x375 = addcarryx_u64(x372, x301, x347);
- uint64_t x377, uint8_t x378 = addcarryx_u64(x375, x304, x350);
- uint64_t x380, uint8_t x381 = addcarryx_u64(x378, x306, x353);
- uint64_t x383, uint64_t x384 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x386, uint64_t x387 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x389, uint64_t x390 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x392, uint64_t x393 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x395, uint64_t x396 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x398, uint64_t x399 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x401, uint64_t x402 = mulx_u64(x356, 0xffffffffffffffffL);
- uint64_t x404, uint64_t x405 = mulx_u64(x356, 0xfe14ffffffffffffL);
- uint64_t x407, uint8_t x408 = addcarryx_u64(0x0, x384, x386);
- uint64_t x410, uint8_t x411 = addcarryx_u64(x408, x387, x389);
- uint64_t x413, uint8_t x414 = addcarryx_u64(x411, x390, x392);
- uint64_t x416, uint8_t x417 = addcarryx_u64(x414, x393, x395);
- uint64_t x419, uint8_t x420 = addcarryx_u64(x417, x396, x398);
- uint64_t x422, uint8_t x423 = addcarryx_u64(x420, x399, x401);
- uint64_t x425, uint8_t x426 = addcarryx_u64(x423, x402, x404);
- uint64_t x428, uint8_t _ = addcarryx_u64(0x0, x426, x405);
- uint64_t _, uint8_t x432 = addcarryx_u64(0x0, x356, x383);
- uint64_t x434, uint8_t x435 = addcarryx_u64(x432, x359, x407);
- uint64_t x437, uint8_t x438 = addcarryx_u64(x435, x362, x410);
- uint64_t x440, uint8_t x441 = addcarryx_u64(x438, x365, x413);
- uint64_t x443, uint8_t x444 = addcarryx_u64(x441, x368, x416);
- uint64_t x446, uint8_t x447 = addcarryx_u64(x444, x371, x419);
- uint64_t x449, uint8_t x450 = addcarryx_u64(x447, x374, x422);
- uint64_t x452, uint8_t x453 = addcarryx_u64(x450, x377, x425);
- uint64_t x455, uint8_t x456 = addcarryx_u64(x453, x380, x428);
- uint8_t x457 = (x456 + x381);
- uint64_t x459, uint64_t x460 = mulx_u64(x11, x19);
- uint64_t x462, uint64_t x463 = mulx_u64(x11, x21);
- uint64_t x465, uint64_t x466 = mulx_u64(x11, x23);
- uint64_t x468, uint64_t x469 = mulx_u64(x11, x25);
- uint64_t x471, uint64_t x472 = mulx_u64(x11, x27);
- uint64_t x474, uint64_t x475 = mulx_u64(x11, x29);
- uint64_t x477, uint64_t x478 = mulx_u64(x11, x31);
- uint64_t x480, uint64_t x481 = mulx_u64(x11, x30);
- uint64_t x483, uint8_t x484 = addcarryx_u64(0x0, x460, x462);
- uint64_t x486, uint8_t x487 = addcarryx_u64(x484, x463, x465);
- uint64_t x489, uint8_t x490 = addcarryx_u64(x487, x466, x468);
- uint64_t x492, uint8_t x493 = addcarryx_u64(x490, x469, x471);
- uint64_t x495, uint8_t x496 = addcarryx_u64(x493, x472, x474);
- uint64_t x498, uint8_t x499 = addcarryx_u64(x496, x475, x477);
- uint64_t x501, uint8_t x502 = addcarryx_u64(x499, x478, x480);
- uint64_t x504, uint8_t _ = addcarryx_u64(0x0, x502, x481);
- uint64_t x507, uint8_t x508 = addcarryx_u64(0x0, x434, x459);
- uint64_t x510, uint8_t x511 = addcarryx_u64(x508, x437, x483);
- uint64_t x513, uint8_t x514 = addcarryx_u64(x511, x440, x486);
- uint64_t x516, uint8_t x517 = addcarryx_u64(x514, x443, x489);
- uint64_t x519, uint8_t x520 = addcarryx_u64(x517, x446, x492);
- uint64_t x522, uint8_t x523 = addcarryx_u64(x520, x449, x495);
- uint64_t x525, uint8_t x526 = addcarryx_u64(x523, x452, x498);
- uint64_t x528, uint8_t x529 = addcarryx_u64(x526, x455, x501);
- uint64_t x531, uint8_t x532 = addcarryx_u64(x529, x457, x504);
- uint64_t x534, uint64_t x535 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x537, uint64_t x538 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x540, uint64_t x541 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x543, uint64_t x544 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x546, uint64_t x547 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x549, uint64_t x550 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x552, uint64_t x553 = mulx_u64(x507, 0xffffffffffffffffL);
- uint64_t x555, uint64_t x556 = mulx_u64(x507, 0xfe14ffffffffffffL);
- uint64_t x558, uint8_t x559 = addcarryx_u64(0x0, x535, x537);
- uint64_t x561, uint8_t x562 = addcarryx_u64(x559, x538, x540);
- uint64_t x564, uint8_t x565 = addcarryx_u64(x562, x541, x543);
- uint64_t x567, uint8_t x568 = addcarryx_u64(x565, x544, x546);
- uint64_t x570, uint8_t x571 = addcarryx_u64(x568, x547, x549);
- uint64_t x573, uint8_t x574 = addcarryx_u64(x571, x550, x552);
- uint64_t x576, uint8_t x577 = addcarryx_u64(x574, x553, x555);
- uint64_t x579, uint8_t _ = addcarryx_u64(0x0, x577, x556);
- uint64_t _, uint8_t x583 = addcarryx_u64(0x0, x507, x534);
- uint64_t x585, uint8_t x586 = addcarryx_u64(x583, x510, x558);
- uint64_t x588, uint8_t x589 = addcarryx_u64(x586, x513, x561);
- uint64_t x591, uint8_t x592 = addcarryx_u64(x589, x516, x564);
- uint64_t x594, uint8_t x595 = addcarryx_u64(x592, x519, x567);
- uint64_t x597, uint8_t x598 = addcarryx_u64(x595, x522, x570);
- uint64_t x600, uint8_t x601 = addcarryx_u64(x598, x525, x573);
- uint64_t x603, uint8_t x604 = addcarryx_u64(x601, x528, x576);
- uint64_t x606, uint8_t x607 = addcarryx_u64(x604, x531, x579);
- uint8_t x608 = (x607 + x532);
- uint64_t x610, uint64_t x611 = mulx_u64(x13, x19);
- uint64_t x613, uint64_t x614 = mulx_u64(x13, x21);
- uint64_t x616, uint64_t x617 = mulx_u64(x13, x23);
- uint64_t x619, uint64_t x620 = mulx_u64(x13, x25);
- uint64_t x622, uint64_t x623 = mulx_u64(x13, x27);
- uint64_t x625, uint64_t x626 = mulx_u64(x13, x29);
- uint64_t x628, uint64_t x629 = mulx_u64(x13, x31);
- uint64_t x631, uint64_t x632 = mulx_u64(x13, x30);
- uint64_t x634, uint8_t x635 = addcarryx_u64(0x0, x611, x613);
- uint64_t x637, uint8_t x638 = addcarryx_u64(x635, x614, x616);
- uint64_t x640, uint8_t x641 = addcarryx_u64(x638, x617, x619);
- uint64_t x643, uint8_t x644 = addcarryx_u64(x641, x620, x622);
- uint64_t x646, uint8_t x647 = addcarryx_u64(x644, x623, x625);
- uint64_t x649, uint8_t x650 = addcarryx_u64(x647, x626, x628);
- uint64_t x652, uint8_t x653 = addcarryx_u64(x650, x629, x631);
- uint64_t x655, uint8_t _ = addcarryx_u64(0x0, x653, x632);
- uint64_t x658, uint8_t x659 = addcarryx_u64(0x0, x585, x610);
- uint64_t x661, uint8_t x662 = addcarryx_u64(x659, x588, x634);
- uint64_t x664, uint8_t x665 = addcarryx_u64(x662, x591, x637);
- uint64_t x667, uint8_t x668 = addcarryx_u64(x665, x594, x640);
- uint64_t x670, uint8_t x671 = addcarryx_u64(x668, x597, x643);
- uint64_t x673, uint8_t x674 = addcarryx_u64(x671, x600, x646);
- uint64_t x676, uint8_t x677 = addcarryx_u64(x674, x603, x649);
- uint64_t x679, uint8_t x680 = addcarryx_u64(x677, x606, x652);
- uint64_t x682, uint8_t x683 = addcarryx_u64(x680, x608, x655);
- uint64_t x685, uint64_t x686 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x688, uint64_t x689 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x691, uint64_t x692 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x694, uint64_t x695 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x697, uint64_t x698 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x700, uint64_t x701 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x703, uint64_t x704 = mulx_u64(x658, 0xffffffffffffffffL);
- uint64_t x706, uint64_t x707 = mulx_u64(x658, 0xfe14ffffffffffffL);
- uint64_t x709, uint8_t x710 = addcarryx_u64(0x0, x686, x688);
- uint64_t x712, uint8_t x713 = addcarryx_u64(x710, x689, x691);
- uint64_t x715, uint8_t x716 = addcarryx_u64(x713, x692, x694);
- uint64_t x718, uint8_t x719 = addcarryx_u64(x716, x695, x697);
- uint64_t x721, uint8_t x722 = addcarryx_u64(x719, x698, x700);
- uint64_t x724, uint8_t x725 = addcarryx_u64(x722, x701, x703);
- uint64_t x727, uint8_t x728 = addcarryx_u64(x725, x704, x706);
- uint64_t x730, uint8_t _ = addcarryx_u64(0x0, x728, x707);
- uint64_t _, uint8_t x734 = addcarryx_u64(0x0, x658, x685);
- uint64_t x736, uint8_t x737 = addcarryx_u64(x734, x661, x709);
- uint64_t x739, uint8_t x740 = addcarryx_u64(x737, x664, x712);
- uint64_t x742, uint8_t x743 = addcarryx_u64(x740, x667, x715);
- uint64_t x745, uint8_t x746 = addcarryx_u64(x743, x670, x718);
- uint64_t x748, uint8_t x749 = addcarryx_u64(x746, x673, x721);
- uint64_t x751, uint8_t x752 = addcarryx_u64(x749, x676, x724);
- uint64_t x754, uint8_t x755 = addcarryx_u64(x752, x679, x727);
- uint64_t x757, uint8_t x758 = addcarryx_u64(x755, x682, x730);
- uint8_t x759 = (x758 + x683);
- uint64_t x761, uint64_t x762 = mulx_u64(x15, x19);
- uint64_t x764, uint64_t x765 = mulx_u64(x15, x21);
- uint64_t x767, uint64_t x768 = mulx_u64(x15, x23);
- uint64_t x770, uint64_t x771 = mulx_u64(x15, x25);
- uint64_t x773, uint64_t x774 = mulx_u64(x15, x27);
- uint64_t x776, uint64_t x777 = mulx_u64(x15, x29);
- uint64_t x779, uint64_t x780 = mulx_u64(x15, x31);
- uint64_t x782, uint64_t x783 = mulx_u64(x15, x30);
- uint64_t x785, uint8_t x786 = addcarryx_u64(0x0, x762, x764);
- uint64_t x788, uint8_t x789 = addcarryx_u64(x786, x765, x767);
- uint64_t x791, uint8_t x792 = addcarryx_u64(x789, x768, x770);
- uint64_t x794, uint8_t x795 = addcarryx_u64(x792, x771, x773);
- uint64_t x797, uint8_t x798 = addcarryx_u64(x795, x774, x776);
- uint64_t x800, uint8_t x801 = addcarryx_u64(x798, x777, x779);
- uint64_t x803, uint8_t x804 = addcarryx_u64(x801, x780, x782);
- uint64_t x806, uint8_t _ = addcarryx_u64(0x0, x804, x783);
- uint64_t x809, uint8_t x810 = addcarryx_u64(0x0, x736, x761);
- uint64_t x812, uint8_t x813 = addcarryx_u64(x810, x739, x785);
- uint64_t x815, uint8_t x816 = addcarryx_u64(x813, x742, x788);
- uint64_t x818, uint8_t x819 = addcarryx_u64(x816, x745, x791);
- uint64_t x821, uint8_t x822 = addcarryx_u64(x819, x748, x794);
- uint64_t x824, uint8_t x825 = addcarryx_u64(x822, x751, x797);
- uint64_t x827, uint8_t x828 = addcarryx_u64(x825, x754, x800);
- uint64_t x830, uint8_t x831 = addcarryx_u64(x828, x757, x803);
- uint64_t x833, uint8_t x834 = addcarryx_u64(x831, x759, x806);
- uint64_t x836, uint64_t x837 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x839, uint64_t x840 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x842, uint64_t x843 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x845, uint64_t x846 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x848, uint64_t x849 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x851, uint64_t x852 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x854, uint64_t x855 = mulx_u64(x809, 0xffffffffffffffffL);
- uint64_t x857, uint64_t x858 = mulx_u64(x809, 0xfe14ffffffffffffL);
- uint64_t x860, uint8_t x861 = addcarryx_u64(0x0, x837, x839);
- uint64_t x863, uint8_t x864 = addcarryx_u64(x861, x840, x842);
- uint64_t x866, uint8_t x867 = addcarryx_u64(x864, x843, x845);
- uint64_t x869, uint8_t x870 = addcarryx_u64(x867, x846, x848);
- uint64_t x872, uint8_t x873 = addcarryx_u64(x870, x849, x851);
- uint64_t x875, uint8_t x876 = addcarryx_u64(x873, x852, x854);
- uint64_t x878, uint8_t x879 = addcarryx_u64(x876, x855, x857);
- uint64_t x881, uint8_t _ = addcarryx_u64(0x0, x879, x858);
- uint64_t _, uint8_t x885 = addcarryx_u64(0x0, x809, x836);
- uint64_t x887, uint8_t x888 = addcarryx_u64(x885, x812, x860);
- uint64_t x890, uint8_t x891 = addcarryx_u64(x888, x815, x863);
- uint64_t x893, uint8_t x894 = addcarryx_u64(x891, x818, x866);
- uint64_t x896, uint8_t x897 = addcarryx_u64(x894, x821, x869);
- uint64_t x899, uint8_t x900 = addcarryx_u64(x897, x824, x872);
- uint64_t x902, uint8_t x903 = addcarryx_u64(x900, x827, x875);
- uint64_t x905, uint8_t x906 = addcarryx_u64(x903, x830, x878);
- uint64_t x908, uint8_t x909 = addcarryx_u64(x906, x833, x881);
- uint8_t x910 = (x909 + x834);
- uint64_t x912, uint64_t x913 = mulx_u64(x17, x19);
- uint64_t x915, uint64_t x916 = mulx_u64(x17, x21);
- uint64_t x918, uint64_t x919 = mulx_u64(x17, x23);
- uint64_t x921, uint64_t x922 = mulx_u64(x17, x25);
- uint64_t x924, uint64_t x925 = mulx_u64(x17, x27);
- uint64_t x927, uint64_t x928 = mulx_u64(x17, x29);
- uint64_t x930, uint64_t x931 = mulx_u64(x17, x31);
- uint64_t x933, uint64_t x934 = mulx_u64(x17, x30);
- uint64_t x936, uint8_t x937 = addcarryx_u64(0x0, x913, x915);
- uint64_t x939, uint8_t x940 = addcarryx_u64(x937, x916, x918);
- uint64_t x942, uint8_t x943 = addcarryx_u64(x940, x919, x921);
- uint64_t x945, uint8_t x946 = addcarryx_u64(x943, x922, x924);
- uint64_t x948, uint8_t x949 = addcarryx_u64(x946, x925, x927);
- uint64_t x951, uint8_t x952 = addcarryx_u64(x949, x928, x930);
- uint64_t x954, uint8_t x955 = addcarryx_u64(x952, x931, x933);
- uint64_t x957, uint8_t _ = addcarryx_u64(0x0, x955, x934);
- uint64_t x960, uint8_t x961 = addcarryx_u64(0x0, x887, x912);
- uint64_t x963, uint8_t x964 = addcarryx_u64(x961, x890, x936);
- uint64_t x966, uint8_t x967 = addcarryx_u64(x964, x893, x939);
- uint64_t x969, uint8_t x970 = addcarryx_u64(x967, x896, x942);
- uint64_t x972, uint8_t x973 = addcarryx_u64(x970, x899, x945);
- uint64_t x975, uint8_t x976 = addcarryx_u64(x973, x902, x948);
- uint64_t x978, uint8_t x979 = addcarryx_u64(x976, x905, x951);
- uint64_t x981, uint8_t x982 = addcarryx_u64(x979, x908, x954);
- uint64_t x984, uint8_t x985 = addcarryx_u64(x982, x910, x957);
- uint64_t x987, uint64_t x988 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x990, uint64_t x991 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x993, uint64_t x994 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x996, uint64_t x997 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x999, uint64_t x1000 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x1002, uint64_t x1003 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x1005, uint64_t x1006 = mulx_u64(x960, 0xffffffffffffffffL);
- uint64_t x1008, uint64_t x1009 = mulx_u64(x960, 0xfe14ffffffffffffL);
- uint64_t x1011, uint8_t x1012 = addcarryx_u64(0x0, x988, x990);
- uint64_t x1014, uint8_t x1015 = addcarryx_u64(x1012, x991, x993);
- uint64_t x1017, uint8_t x1018 = addcarryx_u64(x1015, x994, x996);
- uint64_t x1020, uint8_t x1021 = addcarryx_u64(x1018, x997, x999);
- uint64_t x1023, uint8_t x1024 = addcarryx_u64(x1021, x1000, x1002);
- uint64_t x1026, uint8_t x1027 = addcarryx_u64(x1024, x1003, x1005);
- uint64_t x1029, uint8_t x1030 = addcarryx_u64(x1027, x1006, x1008);
- uint64_t x1032, uint8_t _ = addcarryx_u64(0x0, x1030, x1009);
- uint64_t _, uint8_t x1036 = addcarryx_u64(0x0, x960, x987);
- uint64_t x1038, uint8_t x1039 = addcarryx_u64(x1036, x963, x1011);
- uint64_t x1041, uint8_t x1042 = addcarryx_u64(x1039, x966, x1014);
- uint64_t x1044, uint8_t x1045 = addcarryx_u64(x1042, x969, x1017);
- uint64_t x1047, uint8_t x1048 = addcarryx_u64(x1045, x972, x1020);
- uint64_t x1050, uint8_t x1051 = addcarryx_u64(x1048, x975, x1023);
- uint64_t x1053, uint8_t x1054 = addcarryx_u64(x1051, x978, x1026);
- uint64_t x1056, uint8_t x1057 = addcarryx_u64(x1054, x981, x1029);
- uint64_t x1059, uint8_t x1060 = addcarryx_u64(x1057, x984, x1032);
- uint8_t x1061 = (x1060 + x985);
- uint64_t x1063, uint64_t x1064 = mulx_u64(x16, x19);
- uint64_t x1066, uint64_t x1067 = mulx_u64(x16, x21);
- uint64_t x1069, uint64_t x1070 = mulx_u64(x16, x23);
- uint64_t x1072, uint64_t x1073 = mulx_u64(x16, x25);
- uint64_t x1075, uint64_t x1076 = mulx_u64(x16, x27);
- uint64_t x1078, uint64_t x1079 = mulx_u64(x16, x29);
- uint64_t x1081, uint64_t x1082 = mulx_u64(x16, x31);
- uint64_t x1084, uint64_t x1085 = mulx_u64(x16, x30);
- uint64_t x1087, uint8_t x1088 = addcarryx_u64(0x0, x1064, x1066);
- uint64_t x1090, uint8_t x1091 = addcarryx_u64(x1088, x1067, x1069);
- uint64_t x1093, uint8_t x1094 = addcarryx_u64(x1091, x1070, x1072);
- uint64_t x1096, uint8_t x1097 = addcarryx_u64(x1094, x1073, x1075);
- uint64_t x1099, uint8_t x1100 = addcarryx_u64(x1097, x1076, x1078);
- uint64_t x1102, uint8_t x1103 = addcarryx_u64(x1100, x1079, x1081);
- uint64_t x1105, uint8_t x1106 = addcarryx_u64(x1103, x1082, x1084);
- uint64_t x1108, uint8_t _ = addcarryx_u64(0x0, x1106, x1085);
- uint64_t x1111, uint8_t x1112 = addcarryx_u64(0x0, x1038, x1063);
- uint64_t x1114, uint8_t x1115 = addcarryx_u64(x1112, x1041, x1087);
- uint64_t x1117, uint8_t x1118 = addcarryx_u64(x1115, x1044, x1090);
- uint64_t x1120, uint8_t x1121 = addcarryx_u64(x1118, x1047, x1093);
- uint64_t x1123, uint8_t x1124 = addcarryx_u64(x1121, x1050, x1096);
- uint64_t x1126, uint8_t x1127 = addcarryx_u64(x1124, x1053, x1099);
- uint64_t x1129, uint8_t x1130 = addcarryx_u64(x1127, x1056, x1102);
- uint64_t x1132, uint8_t x1133 = addcarryx_u64(x1130, x1059, x1105);
- uint64_t x1135, uint8_t x1136 = addcarryx_u64(x1133, x1061, x1108);
- uint64_t x1138, uint64_t x1139 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1141, uint64_t x1142 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1144, uint64_t x1145 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1147, uint64_t x1148 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1150, uint64_t x1151 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1153, uint64_t x1154 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1156, uint64_t x1157 = mulx_u64(x1111, 0xffffffffffffffffL);
- uint64_t x1159, uint64_t x1160 = mulx_u64(x1111, 0xfe14ffffffffffffL);
- uint64_t x1162, uint8_t x1163 = addcarryx_u64(0x0, x1139, x1141);
- uint64_t x1165, uint8_t x1166 = addcarryx_u64(x1163, x1142, x1144);
- uint64_t x1168, uint8_t x1169 = addcarryx_u64(x1166, x1145, x1147);
- uint64_t x1171, uint8_t x1172 = addcarryx_u64(x1169, x1148, x1150);
- uint64_t x1174, uint8_t x1175 = addcarryx_u64(x1172, x1151, x1153);
- uint64_t x1177, uint8_t x1178 = addcarryx_u64(x1175, x1154, x1156);
- uint64_t x1180, uint8_t x1181 = addcarryx_u64(x1178, x1157, x1159);
- uint64_t x1183, uint8_t _ = addcarryx_u64(0x0, x1181, x1160);
- uint64_t _, uint8_t x1187 = addcarryx_u64(0x0, x1111, x1138);
- uint64_t x1189, uint8_t x1190 = addcarryx_u64(x1187, x1114, x1162);
- uint64_t x1192, uint8_t x1193 = addcarryx_u64(x1190, x1117, x1165);
- uint64_t x1195, uint8_t x1196 = addcarryx_u64(x1193, x1120, x1168);
- uint64_t x1198, uint8_t x1199 = addcarryx_u64(x1196, x1123, x1171);
- uint64_t x1201, uint8_t x1202 = addcarryx_u64(x1199, x1126, x1174);
- uint64_t x1204, uint8_t x1205 = addcarryx_u64(x1202, x1129, x1177);
- uint64_t x1207, uint8_t x1208 = addcarryx_u64(x1205, x1132, x1180);
- uint64_t x1210, uint8_t x1211 = addcarryx_u64(x1208, x1135, x1183);
- uint8_t x1212 = (x1211 + x1136);
- uint64_t x1214, uint8_t x1215 = subborrow_u64(0x0, x1189, 0xffffffffffffffffL);
- uint64_t x1217, uint8_t x1218 = subborrow_u64(x1215, x1192, 0xffffffffffffffffL);
- uint64_t x1220, uint8_t x1221 = subborrow_u64(x1218, x1195, 0xffffffffffffffffL);
- uint64_t x1223, uint8_t x1224 = subborrow_u64(x1221, x1198, 0xffffffffffffffffL);
- uint64_t x1226, uint8_t x1227 = subborrow_u64(x1224, x1201, 0xffffffffffffffffL);
- uint64_t x1229, uint8_t x1230 = subborrow_u64(x1227, x1204, 0xffffffffffffffffL);
- uint64_t x1232, uint8_t x1233 = subborrow_u64(x1230, x1207, 0xffffffffffffffffL);
- uint64_t x1235, uint8_t x1236 = subborrow_u64(x1233, x1210, 0xfe14ffffffffffffL);
- uint64_t _, uint8_t x1239 = subborrow_u64(x1236, x1212, 0x0);
- uint64_t x1240 = cmovznz64(x1239, x1235, x1210);
- uint64_t x1241 = cmovznz64(x1239, x1232, x1207);
- uint64_t x1242 = cmovznz64(x1239, x1229, x1204);
- uint64_t x1243 = cmovznz64(x1239, x1226, x1201);
- uint64_t x1244 = cmovznz64(x1239, x1223, x1198);
- uint64_t x1245 = cmovznz64(x1239, x1220, x1195);
- uint64_t x1246 = cmovznz64(x1239, x1217, x1192);
- uint64_t x1247 = cmovznz64(x1239, x1214, x1189);
- return (x1240, x1241, x1242, x1243, x1244, x1245, x1246, x1247))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.v
deleted file mode 100644
index af2bac0e2..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.c b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.v
deleted file mode 100644
index ffbd55b1c..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.v
deleted file mode 100644
index 86cc8d400..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feopp.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feopp.v
deleted file mode 100644
index 2504b74b6..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feoppDisplay.v
deleted file mode 100644
index 29884c531..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesub.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesub.v
deleted file mode 100644
index ee4037366..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesubDisplay.v
deleted file mode 100644
index 60e9e7a8e..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m491x2e496m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/py_interpreter.sh
deleted file mode 100755
index bb934a309..000000000
--- a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 491*2**496 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/CurveParameters.v b/src/Specific/montgomery64_2e512m569_8limbs/CurveParameters.v
deleted file mode 100644
index 0496d086b..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 569
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 64;
- bitwidth := 64;
- s := 2^512;
- c := [(1, 569)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e512m569_8limbs/Synthesis.v b/src/Specific/montgomery64_2e512m569_8limbs/Synthesis.v
deleted file mode 100644
index 9c86a7e79..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.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/montgomery64_2e512m569_8limbs/compiler.sh b/src/Specific/montgomery64_2e512m569_8limbs/compiler.sh
deleted file mode 100755
index 606de5ed7..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/compilerxx.sh b/src/Specific/montgomery64_2e512m569_8limbs/compilerxx.sh
deleted file mode 100755
index 596166577..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/feadd.c b/src/Specific/montgomery64_2e512m569_8limbs/feadd.c
deleted file mode 100644
index 5ef15f5f9..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/feadd.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint64_t x33; uint8_t x34 = _addcarryx_u64(0x0, x5, x19, &x33);
- { uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x7, x21, &x36);
- { uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x9, x23, &x39);
- { uint64_t x42; uint8_t x43 = _addcarryx_u64(x40, x11, x25, &x42);
- { uint64_t x45; uint8_t x46 = _addcarryx_u64(x43, x13, x27, &x45);
- { uint64_t x48; uint8_t x49 = _addcarryx_u64(x46, x15, x29, &x48);
- { uint64_t x51; uint8_t x52 = _addcarryx_u64(x49, x17, x31, &x51);
- { uint64_t x54; uint8_t x55 = _addcarryx_u64(x52, x16, x30, &x54);
- { uint64_t x57; uint8_t x58 = _subborrow_u64(0x0, x33, 0xfffffffffffffdc7L, &x57);
- { uint64_t x60; uint8_t x61 = _subborrow_u64(x58, x36, 0xffffffffffffffffL, &x60);
- { uint64_t x63; uint8_t x64 = _subborrow_u64(x61, x39, 0xffffffffffffffffL, &x63);
- { uint64_t x66; uint8_t x67 = _subborrow_u64(x64, x42, 0xffffffffffffffffL, &x66);
- { uint64_t x69; uint8_t x70 = _subborrow_u64(x67, x45, 0xffffffffffffffffL, &x69);
- { uint64_t x72; uint8_t x73 = _subborrow_u64(x70, x48, 0xffffffffffffffffL, &x72);
- { uint64_t x75; uint8_t x76 = _subborrow_u64(x73, x51, 0xffffffffffffffffL, &x75);
- { uint64_t x78; uint8_t x79 = _subborrow_u64(x76, x54, 0xffffffffffffffffL, &x78);
- { uint64_t _; uint8_t x82 = _subborrow_u64(x79, x55, 0x0, &_);
- { uint64_t x83 = cmovznz64(x82, x78, x54);
- { uint64_t x84 = cmovznz64(x82, x75, x51);
- { uint64_t x85 = cmovznz64(x82, x72, x48);
- { uint64_t x86 = cmovznz64(x82, x69, x45);
- { uint64_t x87 = cmovznz64(x82, x66, x42);
- { uint64_t x88 = cmovznz64(x82, x63, x39);
- { uint64_t x89 = cmovznz64(x82, x60, x36);
- { uint64_t x90 = cmovznz64(x82, x57, x33);
- out[0] = x90;
- out[1] = x89;
- out[2] = x88;
- out[3] = x87;
- out[4] = x86;
- out[5] = x85;
- out[6] = x84;
- out[7] = x83;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/feadd.v b/src/Specific/montgomery64_2e512m569_8limbs/feadd.v
deleted file mode 100644
index 0fa7e5b27..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.log b/src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.log
deleted file mode 100644
index 75c6272df..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x33, uint8_t x34 = addcarryx_u64(0x0, x5, x19);
- uint64_t x36, uint8_t x37 = addcarryx_u64(x34, x7, x21);
- uint64_t x39, uint8_t x40 = addcarryx_u64(x37, x9, x23);
- uint64_t x42, uint8_t x43 = addcarryx_u64(x40, x11, x25);
- uint64_t x45, uint8_t x46 = addcarryx_u64(x43, x13, x27);
- uint64_t x48, uint8_t x49 = addcarryx_u64(x46, x15, x29);
- uint64_t x51, uint8_t x52 = addcarryx_u64(x49, x17, x31);
- uint64_t x54, uint8_t x55 = addcarryx_u64(x52, x16, x30);
- uint64_t x57, uint8_t x58 = subborrow_u64(0x0, x33, 0xfffffffffffffdc7L);
- uint64_t x60, uint8_t x61 = subborrow_u64(x58, x36, 0xffffffffffffffffL);
- uint64_t x63, uint8_t x64 = subborrow_u64(x61, x39, 0xffffffffffffffffL);
- uint64_t x66, uint8_t x67 = subborrow_u64(x64, x42, 0xffffffffffffffffL);
- uint64_t x69, uint8_t x70 = subborrow_u64(x67, x45, 0xffffffffffffffffL);
- uint64_t x72, uint8_t x73 = subborrow_u64(x70, x48, 0xffffffffffffffffL);
- uint64_t x75, uint8_t x76 = subborrow_u64(x73, x51, 0xffffffffffffffffL);
- uint64_t x78, uint8_t x79 = subborrow_u64(x76, x54, 0xffffffffffffffffL);
- uint64_t _, uint8_t x82 = subborrow_u64(x79, x55, 0x0);
- uint64_t x83 = cmovznz64(x82, x78, x54);
- uint64_t x84 = cmovznz64(x82, x75, x51);
- uint64_t x85 = cmovznz64(x82, x72, x48);
- uint64_t x86 = cmovznz64(x82, x69, x45);
- uint64_t x87 = cmovznz64(x82, x66, x42);
- uint64_t x88 = cmovznz64(x82, x63, x39);
- uint64_t x89 = cmovznz64(x82, x60, x36);
- uint64_t x90 = cmovznz64(x82, x57, x33);
- return (x83, x84, x85, x86, x87, x88, x89, x90))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.v b/src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.v
deleted file mode 100644
index 601860c27..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/femul.v b/src/Specific/montgomery64_2e512m569_8limbs/femul.v
deleted file mode 100644
index fe1bb9c8d..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/femulDisplay.v b/src/Specific/montgomery64_2e512m569_8limbs/femulDisplay.v
deleted file mode 100644
index eb0c51679..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fenz.c b/src/Specific/montgomery64_2e512m569_8limbs/fenz.c
deleted file mode 100644
index a07b0df9c..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fenz.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x15 = (x14 | x13);
- { uint64_t x16 = (x12 | x15);
- { uint64_t x17 = (x10 | x16);
- { uint64_t x18 = (x8 | x17);
- { uint64_t x19 = (x6 | x18);
- { uint64_t x20 = (x4 | x19);
- { uint64_t x21 = (x2 | x20);
- out[0] = x21;
- }}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fenz.v b/src/Specific/montgomery64_2e512m569_8limbs/fenz.v
deleted file mode 100644
index 7c21da78b..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.log b/src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.log
deleted file mode 100644
index a05fc22ab..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.log
+++ /dev/null
@@ -1,14 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (x14 | x13);
- uint64_t x16 = (x12 | x15);
- uint64_t x17 = (x10 | x16);
- uint64_t x18 = (x8 | x17);
- uint64_t x19 = (x6 | x18);
- uint64_t x20 = (x4 | x19);
- uint64_t x21 = (x2 | x20);
- return x21)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.v b/src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.v
deleted file mode 100644
index 2825f082e..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/feopp.v b/src/Specific/montgomery64_2e512m569_8limbs/feopp.v
deleted file mode 100644
index 4e8c4069f..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/feoppDisplay.v b/src/Specific/montgomery64_2e512m569_8limbs/feoppDisplay.v
deleted file mode 100644
index eddc94e50..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fesquare.c b/src/Specific/montgomery64_2e512m569_8limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fesub.v b/src/Specific/montgomery64_2e512m569_8limbs/fesub.v
deleted file mode 100644
index 116d8b614..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fesubDisplay.v b/src/Specific/montgomery64_2e512m569_8limbs/fesubDisplay.v
deleted file mode 100644
index 5f0635669..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e512m569_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/py_interpreter.sh b/src/Specific/montgomery64_2e512m569_8limbs/py_interpreter.sh
deleted file mode 100755
index 920fa0e84..000000000
--- a/src/Specific/montgomery64_2e512m569_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 569' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/CurveParameters.v b/src/Specific/montgomery64_2e521m1_9limbs/CurveParameters.v
deleted file mode 100644
index 171d1b5a0..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^521 - 1
-Base: 64
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 64;
- bitwidth := 64;
- s := 2^521;
- c := [(1, 1)];
- carry_chains := None;
-
- a24 := None;
- coef_div_modulus := None;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := true;
- freeze := Some false;
- 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/montgomery64_2e521m1_9limbs/Synthesis.v b/src/Specific/montgomery64_2e521m1_9limbs/Synthesis.v
deleted file mode 100644
index 1124403a3..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.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/montgomery64_2e521m1_9limbs/compiler.sh b/src/Specific/montgomery64_2e521m1_9limbs/compiler.sh
deleted file mode 100755
index d625be94f..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/compilerxx.sh b/src/Specific/montgomery64_2e521m1_9limbs/compilerxx.sh
deleted file mode 100755
index afe76ad59..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{64,64,64,64,64,64,64,64,64}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/feadd.c b/src/Specific/montgomery64_2e521m1_9limbs/feadd.c
deleted file mode 100644
index 1588992e9..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/feadd.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint64_t x37; uint8_t x38 = _addcarryx_u64(0x0, x5, x21, &x37);
- { uint64_t x40; uint8_t x41 = _addcarryx_u64(x38, x7, x23, &x40);
- { uint64_t x43; uint8_t x44 = _addcarryx_u64(x41, x9, x25, &x43);
- { uint64_t x46; uint8_t x47 = _addcarryx_u64(x44, x11, x27, &x46);
- { uint64_t x49; uint8_t x50 = _addcarryx_u64(x47, x13, x29, &x49);
- { uint64_t x52; uint8_t x53 = _addcarryx_u64(x50, x15, x31, &x52);
- { uint64_t x55; uint8_t x56 = _addcarryx_u64(x53, x17, x33, &x55);
- { uint64_t x58; uint8_t x59 = _addcarryx_u64(x56, x19, x35, &x58);
- { uint64_t x61; uint8_t x62 = _addcarryx_u64(x59, x18, x34, &x61);
- { uint64_t x64; uint8_t x65 = _subborrow_u64(0x0, x37, 0xffffffffffffffffL, &x64);
- { uint64_t x67; uint8_t x68 = _subborrow_u64(x65, x40, 0xffffffffffffffffL, &x67);
- { uint64_t x70; uint8_t x71 = _subborrow_u64(x68, x43, 0xffffffffffffffffL, &x70);
- { uint64_t x73; uint8_t x74 = _subborrow_u64(x71, x46, 0xffffffffffffffffL, &x73);
- { uint64_t x76; uint8_t x77 = _subborrow_u64(x74, x49, 0xffffffffffffffffL, &x76);
- { uint64_t x79; uint8_t x80 = _subborrow_u64(x77, x52, 0xffffffffffffffffL, &x79);
- { uint64_t x82; uint8_t x83 = _subborrow_u64(x80, x55, 0xffffffffffffffffL, &x82);
- { uint64_t x85; uint8_t x86 = _subborrow_u64(x83, x58, 0xffffffffffffffffL, &x85);
- { uint64_t x88; uint8_t x89 = _subborrow_u64(x86, x61, 0x1ff, &x88);
- { uint64_t _; uint8_t x92 = _subborrow_u64(x89, x62, 0x0, &_);
- { uint64_t x93 = cmovznz64(x92, x88, x61);
- { uint64_t x94 = cmovznz64(x92, x85, x58);
- { uint64_t x95 = cmovznz64(x92, x82, x55);
- { uint64_t x96 = cmovznz64(x92, x79, x52);
- { uint64_t x97 = cmovznz64(x92, x76, x49);
- { uint64_t x98 = cmovznz64(x92, x73, x46);
- { uint64_t x99 = cmovznz64(x92, x70, x43);
- { uint64_t x100 = cmovznz64(x92, x67, x40);
- { uint64_t x101 = cmovznz64(x92, x64, x37);
- out[0] = x101;
- out[1] = x100;
- out[2] = x99;
- out[3] = x98;
- out[4] = x97;
- out[5] = x96;
- out[6] = x95;
- out[7] = x94;
- out[8] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/feadd.v b/src/Specific/montgomery64_2e521m1_9limbs/feadd.v
deleted file mode 100644
index 3cf7b37fb..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition add :
- { add : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (add a b) = F.add (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_add ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions add.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.log b/src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.log
deleted file mode 100644
index 75f67f58f..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x37, uint8_t x38 = addcarryx_u64(0x0, x5, x21);
- uint64_t x40, uint8_t x41 = addcarryx_u64(x38, x7, x23);
- uint64_t x43, uint8_t x44 = addcarryx_u64(x41, x9, x25);
- uint64_t x46, uint8_t x47 = addcarryx_u64(x44, x11, x27);
- uint64_t x49, uint8_t x50 = addcarryx_u64(x47, x13, x29);
- uint64_t x52, uint8_t x53 = addcarryx_u64(x50, x15, x31);
- uint64_t x55, uint8_t x56 = addcarryx_u64(x53, x17, x33);
- uint64_t x58, uint8_t x59 = addcarryx_u64(x56, x19, x35);
- uint64_t x61, uint8_t x62 = addcarryx_u64(x59, x18, x34);
- uint64_t x64, uint8_t x65 = subborrow_u64(0x0, x37, 0xffffffffffffffffL);
- uint64_t x67, uint8_t x68 = subborrow_u64(x65, x40, 0xffffffffffffffffL);
- uint64_t x70, uint8_t x71 = subborrow_u64(x68, x43, 0xffffffffffffffffL);
- uint64_t x73, uint8_t x74 = subborrow_u64(x71, x46, 0xffffffffffffffffL);
- uint64_t x76, uint8_t x77 = subborrow_u64(x74, x49, 0xffffffffffffffffL);
- uint64_t x79, uint8_t x80 = subborrow_u64(x77, x52, 0xffffffffffffffffL);
- uint64_t x82, uint8_t x83 = subborrow_u64(x80, x55, 0xffffffffffffffffL);
- uint64_t x85, uint8_t x86 = subborrow_u64(x83, x58, 0xffffffffffffffffL);
- uint64_t x88, uint8_t x89 = subborrow_u64(x86, x61, 0x1ff);
- uint64_t _, uint8_t x92 = subborrow_u64(x89, x62, 0x0);
- uint64_t x93 = cmovznz64(x92, x88, x61);
- uint64_t x94 = cmovznz64(x92, x85, x58);
- uint64_t x95 = cmovznz64(x92, x82, x55);
- uint64_t x96 = cmovznz64(x92, x79, x52);
- uint64_t x97 = cmovznz64(x92, x76, x49);
- uint64_t x98 = cmovznz64(x92, x73, x46);
- uint64_t x99 = cmovznz64(x92, x70, x43);
- uint64_t x100 = cmovznz64(x92, x67, x40);
- uint64_t x101 = cmovznz64(x92, x64, x37);
- return (x93, x94, x95, x96, x97, x98, x99, x100, x101))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.v b/src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.v
deleted file mode 100644
index 074227346..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/femul.v b/src/Specific/montgomery64_2e521m1_9limbs/femul.v
deleted file mode 100644
index 56b440d5b..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition mul :
- { mul : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (mul a b) = F.mul (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_mul ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions mul.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/femulDisplay.v b/src/Specific/montgomery64_2e521m1_9limbs/femulDisplay.v
deleted file mode 100644
index 822a780d0..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fenz.c b/src/Specific/montgomery64_2e521m1_9limbs/fenz.c
deleted file mode 100644
index eb4cd2856..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fenz.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fenz(ReturnType uint64_t out[1], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x17 = (x16 | x15);
- { uint64_t x18 = (x14 | x17);
- { uint64_t x19 = (x12 | x18);
- { uint64_t x20 = (x10 | x19);
- { uint64_t x21 = (x8 | x20);
- { uint64_t x22 = (x6 | x21);
- { uint64_t x23 = (x4 | x22);
- { uint64_t x24 = (x2 | x23);
- out[0] = x24;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fenz.v b/src/Specific/montgomery64_2e521m1_9limbs/fenz.v
deleted file mode 100644
index fa6107bf4..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fenz.v
+++ /dev/null
@@ -1,16 +0,0 @@
-Require Import Coq.ZArith.ZArith.
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.Synthesis.
-Local Open Scope Z_scope.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition nonzero :
- { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
- | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_nonzero ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions nonzero.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.log b/src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.log
deleted file mode 100644
index d4727163e..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.log
+++ /dev/null
@@ -1,15 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (x16 | x15);
- uint64_t x18 = (x14 | x17);
- uint64_t x19 = (x12 | x18);
- uint64_t x20 = (x10 | x19);
- uint64_t x21 = (x8 | x20);
- uint64_t x22 = (x6 | x21);
- uint64_t x23 = (x4 | x22);
- uint64_t x24 = (x2 | x23);
- return x24)
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType uint64_t
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.v b/src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.v
deleted file mode 100644
index 93492f43e..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fenzDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.fenz.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display nonzero.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/feopp.v b/src/Specific/montgomery64_2e521m1_9limbs/feopp.v
deleted file mode 100644
index c71d818d6..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/feopp.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition opp :
- { opp : feBW_small -> feBW_small
- | forall a, phiM_small (opp a) = F.opp (phiM_small a) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_opp ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions opp.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/feoppDisplay.v b/src/Specific/montgomery64_2e521m1_9limbs/feoppDisplay.v
deleted file mode 100644
index 30e5da4f1..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/feoppDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.feopp.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display opp.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fesquare.c b/src/Specific/montgomery64_2e521m1_9limbs/fesquare.c
deleted file mode 100644
index 7bd8db166..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fesquare.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
- If you edit it here, changes will be erased the next time remake_curves.sh is run. */
-static void fesquare(uint64_t *out, const uint64_t *in) {
- femul(out, in, in);
-}
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fesub.v b/src/Specific/montgomery64_2e521m1_9limbs/fesub.v
deleted file mode 100644
index 3946a09f9..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.Synthesis.
-
-(* TODO : change this to field once field isomorphism happens *)
-Definition sub :
- { sub : feBW_small -> feBW_small -> feBW_small
- | forall a b, phiM_small (sub a b) = F.sub (phiM_small a) (phiM_small b) }.
-Proof.
- Set Ltac Profiling.
- Time synthesize_sub ().
- Show Ltac Profile.
-Time Defined.
-
-Print Assumptions sub.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fesubDisplay.v b/src/Specific/montgomery64_2e521m1_9limbs/fesubDisplay.v
deleted file mode 100644
index d5916ba34..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.montgomery64_2e521m1_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/py_interpreter.sh b/src/Specific/montgomery64_2e521m1_9limbs/py_interpreter.sh
deleted file mode 100755
index babf89741..000000000
--- a/src/Specific/montgomery64_2e521m1_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**521 - 1' -Dmodulus_bytes='64' -Da24='121665'
diff --git a/src/Specific/solinas32_2e127m1_5limbs/CurveParameters.v b/src/Specific/solinas32_2e127m1_5limbs/CurveParameters.v
deleted file mode 100644
index aa40df134..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^127 - 1
-Base: 25.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 25 + 2/5;
- bitwidth := 32;
- s := 2^127;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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_2e127m1_5limbs/Synthesis.v b/src/Specific/solinas32_2e127m1_5limbs/Synthesis.v
deleted file mode 100644
index 999f751ac..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/compiler.sh b/src/Specific/solinas32_2e127m1_5limbs/compiler.sh
deleted file mode 100755
index 16b79b695..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/solinas32_2e127m1_5limbs/compilerxx.sh b/src/Specific/solinas32_2e127m1_5limbs/compilerxx.sh
deleted file mode 100755
index d2630fc07..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,25}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/solinas32_2e127m1_5limbs/feadd.c b/src/Specific/solinas32_2e127m1_5limbs/feadd.c
deleted file mode 100644
index 4db430361..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_5limbs/feadd.v b/src/Specific/solinas32_2e127m1_5limbs/feadd.v
deleted file mode 100644
index 4789715de..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/feaddDisplay.log b/src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.log
deleted file mode 100644
index eaf25ecd1..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.v b/src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.v
deleted file mode 100644
index 501ed7571..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fecarry.v b/src/Specific/solinas32_2e127m1_5limbs/fecarry.v
deleted file mode 100644
index a98935a59..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/fecarryDisplay.v b/src/Specific/solinas32_2e127m1_5limbs/fecarryDisplay.v
deleted file mode 100644
index 4f643e4de..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e127m1_5limbs/femul.c b/src/Specific/solinas32_2e127m1_5limbs/femul.c
deleted file mode 100644
index 824f351e8..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint64_t x20 = (((uint64_t)x5 * x18) + ((0x2 * ((uint64_t)x7 * x19)) + (((uint64_t)x9 * x17) + ((0x2 * ((uint64_t)x11 * x15)) + ((uint64_t)x10 * x13)))));
- { uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + ((uint64_t)x10 * x18));
- { uint64_t x22 = ((((uint64_t)x5 * x17) + ((0x2 * ((uint64_t)x7 * x15)) + ((uint64_t)x9 * x13))) + ((0x2 * ((uint64_t)x11 * x18)) + (0x2 * ((uint64_t)x10 * x19))));
- { uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (((uint64_t)x9 * x18) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x10 * x17))));
- { uint64_t x24 = (((uint64_t)x5 * x13) + ((0x2 * ((uint64_t)x7 * x18)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + (0x2 * ((uint64_t)x10 * x15))))));
- { uint32_t x25 = (uint32_t) (x24 >> 0x1a);
- { uint32_t x26 = ((uint32_t)x24 & 0x3ffffff);
- { uint64_t x27 = (x25 + x23);
- { uint32_t x28 = (uint32_t) (x27 >> 0x19);
- { uint32_t x29 = ((uint32_t)x27 & 0x1ffffff);
- { uint64_t x30 = (x28 + x22);
- { uint32_t x31 = (uint32_t) (x30 >> 0x1a);
- { uint32_t x32 = ((uint32_t)x30 & 0x3ffffff);
- { uint64_t x33 = (x31 + x21);
- { uint32_t x34 = (uint32_t) (x33 >> 0x19);
- { uint32_t x35 = ((uint32_t)x33 & 0x1ffffff);
- { uint64_t x36 = (x34 + x20);
- { uint64_t x37 = (x36 >> 0x19);
- { uint32_t x38 = ((uint32_t)x36 & 0x1ffffff);
- { uint64_t x39 = (x26 + x37);
- { uint32_t x40 = (uint32_t) (x39 >> 0x1a);
- { uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- { uint32_t x42 = (x40 + x29);
- { uint32_t x43 = (x42 >> 0x19);
- { uint32_t x44 = (x42 & 0x1ffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_5limbs/femul.v b/src/Specific/solinas32_2e127m1_5limbs/femul.v
deleted file mode 100644
index 9514bbfbf..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/femulDisplay.log b/src/Specific/solinas32_2e127m1_5limbs/femulDisplay.log
deleted file mode 100644
index 18eeef1a0..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x20 = (((uint64_t)x5 * x18) + ((0x2 * ((uint64_t)x7 * x19)) + (((uint64_t)x9 * x17) + ((0x2 * ((uint64_t)x11 * x15)) + ((uint64_t)x10 * x13)))));
- uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + ((uint64_t)x10 * x18));
- uint64_t x22 = ((((uint64_t)x5 * x17) + ((0x2 * ((uint64_t)x7 * x15)) + ((uint64_t)x9 * x13))) + ((0x2 * ((uint64_t)x11 * x18)) + (0x2 * ((uint64_t)x10 * x19))));
- uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (((uint64_t)x9 * x18) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x10 * x17))));
- uint64_t x24 = (((uint64_t)x5 * x13) + ((0x2 * ((uint64_t)x7 * x18)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + (0x2 * ((uint64_t)x10 * x15))))));
- uint32_t x25 = (uint32_t) (x24 >> 0x1a);
- uint32_t x26 = ((uint32_t)x24 & 0x3ffffff);
- uint64_t x27 = (x25 + x23);
- uint32_t x28 = (uint32_t) (x27 >> 0x19);
- uint32_t x29 = ((uint32_t)x27 & 0x1ffffff);
- uint64_t x30 = (x28 + x22);
- uint32_t x31 = (uint32_t) (x30 >> 0x1a);
- uint32_t x32 = ((uint32_t)x30 & 0x3ffffff);
- uint64_t x33 = (x31 + x21);
- uint32_t x34 = (uint32_t) (x33 >> 0x19);
- uint32_t x35 = ((uint32_t)x33 & 0x1ffffff);
- uint64_t x36 = (x34 + x20);
- uint64_t x37 = (x36 >> 0x19);
- uint32_t x38 = ((uint32_t)x36 & 0x1ffffff);
- uint64_t x39 = (x26 + x37);
- uint32_t x40 = (uint32_t) (x39 >> 0x1a);
- uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- uint32_t x42 = (x40 + x29);
- uint32_t x43 = (x42 >> 0x19);
- uint32_t x44 = (x42 & 0x1ffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_5limbs/femulDisplay.v b/src/Specific/solinas32_2e127m1_5limbs/femulDisplay.v
deleted file mode 100644
index 93aea3c75..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fesquare.c b/src/Specific/solinas32_2e127m1_5limbs/fesquare.c
deleted file mode 100644
index 8a995a91b..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (((uint64_t)x2 * x7) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x7 * x2)))));
- { uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + ((uint64_t)x7 * x7));
- { uint64_t x11 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x2 * ((uint64_t)x8 * x7)) + (0x2 * ((uint64_t)x7 * x8))));
- { uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x7) + ((0x2 * ((uint64_t)x8 * x8)) + ((uint64_t)x7 * x6))));
- { uint64_t x13 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x7)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x7 * x4))))));
- { uint32_t x14 = (uint32_t) (x13 >> 0x1a);
- { uint32_t x15 = ((uint32_t)x13 & 0x3ffffff);
- { uint64_t x16 = (x14 + x12);
- { uint32_t x17 = (uint32_t) (x16 >> 0x19);
- { uint32_t x18 = ((uint32_t)x16 & 0x1ffffff);
- { uint64_t x19 = (x17 + x11);
- { uint32_t x20 = (uint32_t) (x19 >> 0x1a);
- { uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- { uint64_t x22 = (x20 + x10);
- { uint32_t x23 = (uint32_t) (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x9);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x15 + x26);
- { uint32_t x29 = (uint32_t) (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint32_t x31 = (x29 + x18);
- { uint32_t x32 = (x31 >> 0x19);
- { uint32_t x33 = (x31 & 0x1ffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fesquare.v b/src/Specific/solinas32_2e127m1_5limbs/fesquare.v
deleted file mode 100644
index 3e108634c..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/fesquareDisplay.log b/src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.log
deleted file mode 100644
index 889e30ed8..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (((uint64_t)x2 * x7) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x7 * x2)))));
- uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + ((uint64_t)x7 * x7));
- uint64_t x11 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x2 * ((uint64_t)x8 * x7)) + (0x2 * ((uint64_t)x7 * x8))));
- uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x7) + ((0x2 * ((uint64_t)x8 * x8)) + ((uint64_t)x7 * x6))));
- uint64_t x13 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x7)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x7 * x4))))));
- uint32_t x14 = (uint32_t) (x13 >> 0x1a);
- uint32_t x15 = ((uint32_t)x13 & 0x3ffffff);
- uint64_t x16 = (x14 + x12);
- uint32_t x17 = (uint32_t) (x16 >> 0x19);
- uint32_t x18 = ((uint32_t)x16 & 0x1ffffff);
- uint64_t x19 = (x17 + x11);
- uint32_t x20 = (uint32_t) (x19 >> 0x1a);
- uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- uint64_t x22 = (x20 + x10);
- uint32_t x23 = (uint32_t) (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x9);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x15 + x26);
- uint32_t x29 = (uint32_t) (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint32_t x31 = (x29 + x18);
- uint32_t x32 = (x31 >> 0x19);
- uint32_t x33 = (x31 & 0x1ffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.v b/src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.v
deleted file mode 100644
index 34c318986..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fesub.c b/src/Specific/solinas32_2e127m1_5limbs/fesub.c
deleted file mode 100644
index a20842db8..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = ((0x7fffffe + x5) - x13);
- out[1] = ((0x3fffffe + x7) - x15);
- out[2] = ((0x7fffffe + x9) - x17);
- out[3] = ((0x3fffffe + x11) - x19);
- out[4] = ((0x3fffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fesub.v b/src/Specific/solinas32_2e127m1_5limbs/fesub.v
deleted file mode 100644
index 8b6026abf..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/fesubDisplay.log b/src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.log
deleted file mode 100644
index ae2e90e74..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3fffffe + x10) - x18), ((0x3fffffe + x11) - x19), ((0x7fffffe + x9) - x17), ((0x3fffffe + x7) - x15), ((0x7fffffe + x5) - x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.v b/src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.v
deleted file mode 100644
index 0ddd8b51a..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e127m1_5limbs/freeze.c b/src/Specific/solinas32_2e127m1_5limbs/freeze.c
deleted file mode 100644
index b3415c615..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffff);
- { uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffff);
- { uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffff);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffff);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0x3ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint32_t x29 = (x24 & 0x1ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint32_t x33 = (x24 & 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint32_t x37 = (x24 & 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint32_t x41 = (x24 & 0x1ffffff);
- { uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_5limbs/freeze.v b/src/Specific/solinas32_2e127m1_5limbs/freeze.v
deleted file mode 100644
index 03c823c82..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.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_2e127m1_5limbs/freezeDisplay.log b/src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.log
deleted file mode 100644
index dd12b4b64..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffff);
- uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffff);
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffff);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffff);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0x3ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint32_t x29 = (x24 & 0x1ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint32_t x33 = (x24 & 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint32_t x37 = (x24 & 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint32_t x41 = (x24 & 0x1ffffff);
- uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.v b/src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.v
deleted file mode 100644
index e7e324f19..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e127m1_5limbs/py_interpreter.sh b/src/Specific/solinas32_2e127m1_5limbs/py_interpreter.sh
deleted file mode 100755
index 7a6be62ac..000000000
--- a/src/Specific/solinas32_2e127m1_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**127 - 1' -Dmodulus_bytes='25.4' -Da24='121665'
diff --git a/src/Specific/solinas32_2e127m1_6limbs/CurveParameters.v b/src/Specific/solinas32_2e127m1_6limbs/CurveParameters.v
deleted file mode 100644
index 2071cfd04..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^127 - 1
-Base: 21 + 1/6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 21 + 1/6;
- bitwidth := 32;
- s := 2^127;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e127m1_6limbs/Synthesis.v b/src/Specific/solinas32_2e127m1_6limbs/Synthesis.v
deleted file mode 100644
index 5f44d2a9b..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/compiler.sh b/src/Specific/solinas32_2e127m1_6limbs/compiler.sh
deleted file mode 100755
index 1654fec0c..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/solinas32_2e127m1_6limbs/compilerxx.sh b/src/Specific/solinas32_2e127m1_6limbs/compilerxx.sh
deleted file mode 100755
index f5fc5b102..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/solinas32_2e127m1_6limbs/feadd.c b/src/Specific/solinas32_2e127m1_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_6limbs/feadd.v b/src/Specific/solinas32_2e127m1_6limbs/feadd.v
deleted file mode 100644
index 4321ad050..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.v
deleted file mode 100644
index 93d651da7..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fecarry.v b/src/Specific/solinas32_2e127m1_6limbs/fecarry.v
deleted file mode 100644
index efbe07477..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e127m1_6limbs/fecarryDisplay.v
deleted file mode 100644
index 8f8ae013f..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e127m1_6limbs/femul.c b/src/Specific/solinas32_2e127m1_6limbs/femul.c
deleted file mode 100644
index f51c6ba17..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + ((uint64_t)x13 * x15))))) + ((uint64_t)x12 * x22));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23)));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19)))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17)))))));
- { uint32_t x30 = (uint32_t) (x29 >> 0x16);
- { uint32_t x31 = ((uint32_t)x29 & 0x3fffff);
- { uint64_t x32 = (x30 + x28);
- { uint32_t x33 = (uint32_t) (x32 >> 0x15);
- { uint32_t x34 = ((uint32_t)x32 & 0x1fffff);
- { uint64_t x35 = (x33 + x27);
- { uint32_t x36 = (uint32_t) (x35 >> 0x15);
- { uint32_t x37 = ((uint32_t)x35 & 0x1fffff);
- { uint64_t x38 = (x36 + x26);
- { uint32_t x39 = (uint32_t) (x38 >> 0x15);
- { uint32_t x40 = ((uint32_t)x38 & 0x1fffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x15);
- { uint32_t x43 = ((uint32_t)x41 & 0x1fffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x15);
- { uint32_t x46 = ((uint32_t)x44 & 0x1fffff);
- { uint32_t x47 = (x31 + x45);
- { uint32_t x48 = (x47 >> 0x16);
- { uint32_t x49 = (x47 & 0x3fffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x15);
- { uint32_t x52 = (x50 & 0x1fffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_6limbs/femul.v b/src/Specific/solinas32_2e127m1_6limbs/femul.v
deleted file mode 100644
index e04d68e15..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/femulDisplay.log b/src/Specific/solinas32_2e127m1_6limbs/femulDisplay.log
deleted file mode 100644
index f2f0e5d6a..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + ((uint64_t)x13 * x15))))) + ((uint64_t)x12 * x22));
- uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23)));
- uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19)))));
- uint64_t x29 = (((uint64_t)x5 * x15) + ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17)))))));
- uint32_t x30 = (uint32_t) (x29 >> 0x16);
- uint32_t x31 = ((uint32_t)x29 & 0x3fffff);
- uint64_t x32 = (x30 + x28);
- uint32_t x33 = (uint32_t) (x32 >> 0x15);
- uint32_t x34 = ((uint32_t)x32 & 0x1fffff);
- uint64_t x35 = (x33 + x27);
- uint32_t x36 = (uint32_t) (x35 >> 0x15);
- uint32_t x37 = ((uint32_t)x35 & 0x1fffff);
- uint64_t x38 = (x36 + x26);
- uint32_t x39 = (uint32_t) (x38 >> 0x15);
- uint32_t x40 = ((uint32_t)x38 & 0x1fffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x15);
- uint32_t x43 = ((uint32_t)x41 & 0x1fffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x15);
- uint32_t x46 = ((uint32_t)x44 & 0x1fffff);
- uint32_t x47 = (x31 + x45);
- uint32_t x48 = (x47 >> 0x16);
- uint32_t x49 = (x47 & 0x3fffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x15);
- uint32_t x52 = (x50 & 0x1fffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e127m1_6limbs/femulDisplay.v b/src/Specific/solinas32_2e127m1_6limbs/femulDisplay.v
deleted file mode 100644
index 693ebf3c5..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fesquare.c b/src/Specific/solinas32_2e127m1_6limbs/fesquare.c
deleted file mode 100644
index 517b5ec31..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((uint64_t)x9 * x9));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10)));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6)))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4)))))));
- { uint32_t x17 = (uint32_t) (x16 >> 0x16);
- { uint32_t x18 = ((uint32_t)x16 & 0x3fffff);
- { uint64_t x19 = (x17 + x15);
- { uint32_t x20 = (uint32_t) (x19 >> 0x15);
- { uint32_t x21 = ((uint32_t)x19 & 0x1fffff);
- { uint64_t x22 = (x20 + x14);
- { uint32_t x23 = (uint32_t) (x22 >> 0x15);
- { uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- { uint64_t x25 = (x23 + x13);
- { uint32_t x26 = (uint32_t) (x25 >> 0x15);
- { uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x15);
- { uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint32_t x34 = (x18 + x32);
- { uint32_t x35 = (x34 >> 0x16);
- { uint32_t x36 = (x34 & 0x3fffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x15);
- { uint32_t x39 = (x37 & 0x1fffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fesquare.v b/src/Specific/solinas32_2e127m1_6limbs/fesquare.v
deleted file mode 100644
index c3df9ca52..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.log
deleted file mode 100644
index 6012f2e94..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((uint64_t)x9 * x9));
- uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10)));
- uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6)))));
- uint64_t x16 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4)))))));
- uint32_t x17 = (uint32_t) (x16 >> 0x16);
- uint32_t x18 = ((uint32_t)x16 & 0x3fffff);
- uint64_t x19 = (x17 + x15);
- uint32_t x20 = (uint32_t) (x19 >> 0x15);
- uint32_t x21 = ((uint32_t)x19 & 0x1fffff);
- uint64_t x22 = (x20 + x14);
- uint32_t x23 = (uint32_t) (x22 >> 0x15);
- uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- uint64_t x25 = (x23 + x13);
- uint32_t x26 = (uint32_t) (x25 >> 0x15);
- uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x15);
- uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint32_t x34 = (x18 + x32);
- uint32_t x35 = (x34 >> 0x16);
- uint32_t x36 = (x34 & 0x3fffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x15);
- uint32_t x39 = (x37 & 0x1fffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.v
deleted file mode 100644
index b90d50ad4..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fesub.c b/src/Specific/solinas32_2e127m1_6limbs/fesub.c
deleted file mode 100644
index ad019122b..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x7ffffe + x5) - x15);
- out[1] = ((0x3ffffe + x7) - x17);
- out[2] = ((0x3ffffe + x9) - x19);
- out[3] = ((0x3ffffe + x11) - x21);
- out[4] = ((0x3ffffe + x13) - x23);
- out[5] = ((0x3ffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fesub.v b/src/Specific/solinas32_2e127m1_6limbs/fesub.v
deleted file mode 100644
index d8d5e0605..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.log
deleted file mode 100644
index 6727bf155..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3ffffe + x12) - x22), ((0x3ffffe + x13) - x23), ((0x3ffffe + x11) - x21), ((0x3ffffe + x9) - x19), ((0x3ffffe + x7) - x17), ((0x7ffffe + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.v
deleted file mode 100644
index b5db93352..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e127m1_6limbs/freeze.c b/src/Specific/solinas32_2e127m1_6limbs/freeze.c
deleted file mode 100644
index 32e7cd19e..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1fffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x3fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x1fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x1fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x1fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x1fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x1fffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e127m1_6limbs/freeze.v b/src/Specific/solinas32_2e127m1_6limbs/freeze.v
deleted file mode 100644
index 5e2132f01..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.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_2e127m1_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.log
deleted file mode 100644
index 46db8b723..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1fffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x3fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x1fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x1fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x1fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x1fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x1fffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.v
deleted file mode 100644
index bea9ac67c..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e127m1_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e127m1_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e127m1_6limbs/py_interpreter.sh
deleted file mode 100755
index bbc17f7a0..000000000
--- a/src/Specific/solinas32_2e127m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**127 - 1' -Dmodulus_bytes='21 + 1/6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e129m25_5limbs/CurveParameters.v b/src/Specific/solinas32_2e129m25_5limbs/CurveParameters.v
deleted file mode 100644
index 30d76ba63..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^129 - 25
-Base: 25.8
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 25 + 4/5;
- bitwidth := 32;
- s := 2^129;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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_2e129m25_5limbs/Synthesis.v b/src/Specific/solinas32_2e129m25_5limbs/Synthesis.v
deleted file mode 100644
index 70b502321..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/compiler.sh b/src/Specific/solinas32_2e129m25_5limbs/compiler.sh
deleted file mode 100755
index 0da3a363f..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas32_2e129m25_5limbs/compilerxx.sh b/src/Specific/solinas32_2e129m25_5limbs/compilerxx.sh
deleted file mode 100755
index 05f0f61ce..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,25}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas32_2e129m25_5limbs/feadd.c b/src/Specific/solinas32_2e129m25_5limbs/feadd.c
deleted file mode 100644
index 4db430361..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_5limbs/feadd.v b/src/Specific/solinas32_2e129m25_5limbs/feadd.v
deleted file mode 100644
index ad0c03188..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/feaddDisplay.log b/src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.log
deleted file mode 100644
index eaf25ecd1..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.v b/src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.v
deleted file mode 100644
index 2dc5bab57..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fecarry.v b/src/Specific/solinas32_2e129m25_5limbs/fecarry.v
deleted file mode 100644
index f6ec2ff69..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/fecarryDisplay.v b/src/Specific/solinas32_2e129m25_5limbs/fecarryDisplay.v
deleted file mode 100644
index 71a7712a9..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e129m25_5limbs/femul.c b/src/Specific/solinas32_2e129m25_5limbs/femul.c
deleted file mode 100644
index 61675e434..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint64_t x20 = (((uint64_t)x5 * x18) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + (((uint64_t)x11 * x15) + ((uint64_t)x10 * x13)))));
- { uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + (0x19 * (0x2 * ((uint64_t)x10 * x18))));
- { uint64_t x22 = ((((uint64_t)x5 * x17) + (((uint64_t)x7 * x15) + ((uint64_t)x9 * x13))) + (0x19 * ((0x2 * ((uint64_t)x11 * x18)) + (0x2 * ((uint64_t)x10 * x19)))));
- { uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (0x19 * ((0x2 * ((uint64_t)x9 * x18)) + ((0x2 * ((uint64_t)x11 * x19)) + (0x2 * ((uint64_t)x10 * x17))))));
- { uint64_t x24 = (((uint64_t)x5 * x13) + (0x19 * ((0x2 * ((uint64_t)x7 * x18)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + (0x2 * ((uint64_t)x10 * x15)))))));
- { uint64_t x25 = (x24 >> 0x1a);
- { uint32_t x26 = ((uint32_t)x24 & 0x3ffffff);
- { uint64_t x27 = (x25 + x23);
- { uint64_t x28 = (x27 >> 0x1a);
- { uint32_t x29 = ((uint32_t)x27 & 0x3ffffff);
- { uint64_t x30 = (x28 + x22);
- { uint64_t x31 = (x30 >> 0x1a);
- { uint32_t x32 = ((uint32_t)x30 & 0x3ffffff);
- { uint64_t x33 = (x31 + x21);
- { uint64_t x34 = (x33 >> 0x1a);
- { uint32_t x35 = ((uint32_t)x33 & 0x3ffffff);
- { uint64_t x36 = (x34 + x20);
- { uint64_t x37 = (x36 >> 0x19);
- { uint32_t x38 = ((uint32_t)x36 & 0x1ffffff);
- { uint64_t x39 = (x26 + (0x19 * x37));
- { uint32_t x40 = (uint32_t) (x39 >> 0x1a);
- { uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- { uint32_t x42 = (x40 + x29);
- { uint32_t x43 = (x42 >> 0x1a);
- { uint32_t x44 = (x42 & 0x3ffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_5limbs/femul.v b/src/Specific/solinas32_2e129m25_5limbs/femul.v
deleted file mode 100644
index 440b28a80..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/femulDisplay.log b/src/Specific/solinas32_2e129m25_5limbs/femulDisplay.log
deleted file mode 100644
index 8fd8dbe90..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x20 = (((uint64_t)x5 * x18) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + (((uint64_t)x11 * x15) + ((uint64_t)x10 * x13)))));
- uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + (0x19 * (0x2 * ((uint64_t)x10 * x18))));
- uint64_t x22 = ((((uint64_t)x5 * x17) + (((uint64_t)x7 * x15) + ((uint64_t)x9 * x13))) + (0x19 * ((0x2 * ((uint64_t)x11 * x18)) + (0x2 * ((uint64_t)x10 * x19)))));
- uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (0x19 * ((0x2 * ((uint64_t)x9 * x18)) + ((0x2 * ((uint64_t)x11 * x19)) + (0x2 * ((uint64_t)x10 * x17))))));
- uint64_t x24 = (((uint64_t)x5 * x13) + (0x19 * ((0x2 * ((uint64_t)x7 * x18)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + (0x2 * ((uint64_t)x10 * x15)))))));
- uint64_t x25 = (x24 >> 0x1a);
- uint32_t x26 = ((uint32_t)x24 & 0x3ffffff);
- uint64_t x27 = (x25 + x23);
- uint64_t x28 = (x27 >> 0x1a);
- uint32_t x29 = ((uint32_t)x27 & 0x3ffffff);
- uint64_t x30 = (x28 + x22);
- uint64_t x31 = (x30 >> 0x1a);
- uint32_t x32 = ((uint32_t)x30 & 0x3ffffff);
- uint64_t x33 = (x31 + x21);
- uint64_t x34 = (x33 >> 0x1a);
- uint32_t x35 = ((uint32_t)x33 & 0x3ffffff);
- uint64_t x36 = (x34 + x20);
- uint64_t x37 = (x36 >> 0x19);
- uint32_t x38 = ((uint32_t)x36 & 0x1ffffff);
- uint64_t x39 = (x26 + (0x19 * x37));
- uint32_t x40 = (uint32_t) (x39 >> 0x1a);
- uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- uint32_t x42 = (x40 + x29);
- uint32_t x43 = (x42 >> 0x1a);
- uint32_t x44 = (x42 & 0x3ffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_5limbs/femulDisplay.v b/src/Specific/solinas32_2e129m25_5limbs/femulDisplay.v
deleted file mode 100644
index d23967038..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fesquare.c b/src/Specific/solinas32_2e129m25_5limbs/fesquare.c
deleted file mode 100644
index b63685118..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (((uint64_t)x2 * x7) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x7 * x2)))));
- { uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x19 * (0x2 * ((uint64_t)x7 * x7))));
- { uint64_t x11 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * ((0x2 * ((uint64_t)x8 * x7)) + (0x2 * ((uint64_t)x7 * x8)))));
- { uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x7)) + ((0x2 * ((uint64_t)x8 * x8)) + (0x2 * ((uint64_t)x7 * x6))))));
- { uint64_t x13 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x7)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x7 * x4)))))));
- { uint64_t x14 = (x13 >> 0x1a);
- { uint32_t x15 = ((uint32_t)x13 & 0x3ffffff);
- { uint64_t x16 = (x14 + x12);
- { uint64_t x17 = (x16 >> 0x1a);
- { uint32_t x18 = ((uint32_t)x16 & 0x3ffffff);
- { uint64_t x19 = (x17 + x11);
- { uint64_t x20 = (x19 >> 0x1a);
- { uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- { uint64_t x22 = (x20 + x10);
- { uint64_t x23 = (x22 >> 0x1a);
- { uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- { uint64_t x25 = (x23 + x9);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x15 + (0x19 * x26));
- { uint32_t x29 = (uint32_t) (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint32_t x31 = (x29 + x18);
- { uint32_t x32 = (x31 >> 0x1a);
- { uint32_t x33 = (x31 & 0x3ffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fesquare.v b/src/Specific/solinas32_2e129m25_5limbs/fesquare.v
deleted file mode 100644
index d10ddeeff..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/fesquareDisplay.log b/src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.log
deleted file mode 100644
index fb657b2d5..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (((uint64_t)x2 * x7) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x7 * x2)))));
- uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x19 * (0x2 * ((uint64_t)x7 * x7))));
- uint64_t x11 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * ((0x2 * ((uint64_t)x8 * x7)) + (0x2 * ((uint64_t)x7 * x8)))));
- uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x7)) + ((0x2 * ((uint64_t)x8 * x8)) + (0x2 * ((uint64_t)x7 * x6))))));
- uint64_t x13 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x7)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x7 * x4)))))));
- uint64_t x14 = (x13 >> 0x1a);
- uint32_t x15 = ((uint32_t)x13 & 0x3ffffff);
- uint64_t x16 = (x14 + x12);
- uint64_t x17 = (x16 >> 0x1a);
- uint32_t x18 = ((uint32_t)x16 & 0x3ffffff);
- uint64_t x19 = (x17 + x11);
- uint64_t x20 = (x19 >> 0x1a);
- uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- uint64_t x22 = (x20 + x10);
- uint64_t x23 = (x22 >> 0x1a);
- uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- uint64_t x25 = (x23 + x9);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x15 + (0x19 * x26));
- uint32_t x29 = (uint32_t) (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint32_t x31 = (x29 + x18);
- uint32_t x32 = (x31 >> 0x1a);
- uint32_t x33 = (x31 & 0x3ffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.v b/src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.v
deleted file mode 100644
index 5646466d1..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fesub.c b/src/Specific/solinas32_2e129m25_5limbs/fesub.c
deleted file mode 100644
index 758eebda7..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = ((0x7ffffce + x5) - x13);
- out[1] = ((0x7fffffe + x7) - x15);
- out[2] = ((0x7fffffe + x9) - x17);
- out[3] = ((0x7fffffe + x11) - x19);
- out[4] = ((0x3fffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fesub.v b/src/Specific/solinas32_2e129m25_5limbs/fesub.v
deleted file mode 100644
index d4d32b8a8..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/fesubDisplay.log b/src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.log
deleted file mode 100644
index 218309d16..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3fffffe + x10) - x18), ((0x7fffffe + x11) - x19), ((0x7fffffe + x9) - x17), ((0x7fffffe + x7) - x15), ((0x7ffffce + x5) - x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.v b/src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.v
deleted file mode 100644
index 95f3e5f93..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e129m25_5limbs/freeze.c b/src/Specific/solinas32_2e129m25_5limbs/freeze.c
deleted file mode 100644
index 7ee522ad7..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe7);
- { uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffff);
- { uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffff);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffff);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0x3ffffe7);
- { uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint32_t x29 = (x24 & 0x3ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint32_t x33 = (x24 & 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint32_t x37 = (x24 & 0x3ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint32_t x41 = (x24 & 0x1ffffff);
- { uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_5limbs/freeze.v b/src/Specific/solinas32_2e129m25_5limbs/freeze.v
deleted file mode 100644
index 86a817724..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.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_2e129m25_5limbs/freezeDisplay.log b/src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.log
deleted file mode 100644
index 418a7e817..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe7);
- uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffff);
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffff);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffff);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0x3ffffe7);
- uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint32_t x29 = (x24 & 0x3ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint32_t x33 = (x24 & 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint32_t x37 = (x24 & 0x3ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint32_t x41 = (x24 & 0x1ffffff);
- uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.v b/src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.v
deleted file mode 100644
index df6d0d0ee..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e129m25_5limbs/py_interpreter.sh b/src/Specific/solinas32_2e129m25_5limbs/py_interpreter.sh
deleted file mode 100755
index 88f708d3e..000000000
--- a/src/Specific/solinas32_2e129m25_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**129 - 25' -Dmodulus_bytes='25.8' -Da24='121665'
diff --git a/src/Specific/solinas32_2e129m25_6limbs/CurveParameters.v b/src/Specific/solinas32_2e129m25_6limbs/CurveParameters.v
deleted file mode 100644
index 7031863e9..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^129 - 25
-Base: 21.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 21 + 1/2;
- bitwidth := 32;
- s := 2^129;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e129m25_6limbs/Synthesis.v b/src/Specific/solinas32_2e129m25_6limbs/Synthesis.v
deleted file mode 100644
index d455eccf6..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/compiler.sh b/src/Specific/solinas32_2e129m25_6limbs/compiler.sh
deleted file mode 100755
index 027d8ff00..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas32_2e129m25_6limbs/compilerxx.sh b/src/Specific/solinas32_2e129m25_6limbs/compilerxx.sh
deleted file mode 100755
index 1c436f32d..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas32_2e129m25_6limbs/feadd.c b/src/Specific/solinas32_2e129m25_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_6limbs/feadd.v b/src/Specific/solinas32_2e129m25_6limbs/feadd.v
deleted file mode 100644
index 23ec0ab57..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.v
deleted file mode 100644
index 5c928bc2d..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fecarry.v b/src/Specific/solinas32_2e129m25_6limbs/fecarry.v
deleted file mode 100644
index 4c67cd236..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e129m25_6limbs/fecarryDisplay.v
deleted file mode 100644
index 7e2151e27..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e129m25_6limbs/femul.c b/src/Specific/solinas32_2e129m25_6limbs/femul.c
deleted file mode 100644
index 9ed23c4c2..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + (((uint64_t)x9 * x19) + ((0x2 * ((uint64_t)x11 * x17)) + ((uint64_t)x13 * x15))))) + (0x19 * (0x2 * ((uint64_t)x12 * x22))));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x19 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x19 * ((0x2 * ((uint64_t)x11 * x22)) + (((uint64_t)x13 * x23) + (0x2 * ((uint64_t)x12 * x21))))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x19 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x19 * ((0x2 * ((uint64_t)x7 * x22)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint32_t x30 = (uint32_t) (x29 >> 0x16);
- { uint32_t x31 = ((uint32_t)x29 & 0x3fffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x15);
- { uint32_t x34 = ((uint32_t)x32 & 0x1fffff);
- { uint64_t x35 = (x33 + x27);
- { uint32_t x36 = (uint32_t) (x35 >> 0x16);
- { uint32_t x37 = ((uint32_t)x35 & 0x3fffff);
- { uint64_t x38 = (x36 + x26);
- { uint32_t x39 = (uint32_t) (x38 >> 0x15);
- { uint32_t x40 = ((uint32_t)x38 & 0x1fffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x16);
- { uint32_t x43 = ((uint32_t)x41 & 0x3fffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x15);
- { uint32_t x46 = ((uint32_t)x44 & 0x1fffff);
- { uint64_t x47 = (x31 + ((uint64_t)0x19 * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x16);
- { uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x15);
- { uint32_t x52 = (x50 & 0x1fffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_6limbs/femul.v b/src/Specific/solinas32_2e129m25_6limbs/femul.v
deleted file mode 100644
index d371064bb..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/femulDisplay.log b/src/Specific/solinas32_2e129m25_6limbs/femulDisplay.log
deleted file mode 100644
index 505980179..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + (((uint64_t)x9 * x19) + ((0x2 * ((uint64_t)x11 * x17)) + ((uint64_t)x13 * x15))))) + (0x19 * (0x2 * ((uint64_t)x12 * x22))));
- uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x19 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x19 * ((0x2 * ((uint64_t)x11 * x22)) + (((uint64_t)x13 * x23) + (0x2 * ((uint64_t)x12 * x21))))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x19 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x19 * ((0x2 * ((uint64_t)x7 * x22)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint32_t x30 = (uint32_t) (x29 >> 0x16);
- uint32_t x31 = ((uint32_t)x29 & 0x3fffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x15);
- uint32_t x34 = ((uint32_t)x32 & 0x1fffff);
- uint64_t x35 = (x33 + x27);
- uint32_t x36 = (uint32_t) (x35 >> 0x16);
- uint32_t x37 = ((uint32_t)x35 & 0x3fffff);
- uint64_t x38 = (x36 + x26);
- uint32_t x39 = (uint32_t) (x38 >> 0x15);
- uint32_t x40 = ((uint32_t)x38 & 0x1fffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x16);
- uint32_t x43 = ((uint32_t)x41 & 0x3fffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x15);
- uint32_t x46 = ((uint32_t)x44 & 0x1fffff);
- uint64_t x47 = (x31 + ((uint64_t)0x19 * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x16);
- uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x15);
- uint32_t x52 = (x50 & 0x1fffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e129m25_6limbs/femulDisplay.v b/src/Specific/solinas32_2e129m25_6limbs/femulDisplay.v
deleted file mode 100644
index 082f94ff3..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fesquare.c b/src/Specific/solinas32_2e129m25_6limbs/fesquare.c
deleted file mode 100644
index efa4f8e92..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x19 * (0x2 * ((uint64_t)x9 * x9))));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x19 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x19 * ((0x2 * ((uint64_t)x8 * x9)) + (((uint64_t)x10 * x10) + (0x2 * ((uint64_t)x9 * x8))))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x9)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint32_t x17 = (uint32_t) (x16 >> 0x16);
- { uint32_t x18 = ((uint32_t)x16 & 0x3fffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x15);
- { uint32_t x21 = ((uint32_t)x19 & 0x1fffff);
- { uint64_t x22 = (x20 + x14);
- { uint32_t x23 = (uint32_t) (x22 >> 0x16);
- { uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- { uint64_t x25 = (x23 + x13);
- { uint32_t x26 = (uint32_t) (x25 >> 0x15);
- { uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x18 + ((uint64_t)0x19 * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x15);
- { uint32_t x39 = (x37 & 0x1fffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fesquare.v b/src/Specific/solinas32_2e129m25_6limbs/fesquare.v
deleted file mode 100644
index 64854e704..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.log
deleted file mode 100644
index 33269bc68..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x19 * (0x2 * ((uint64_t)x9 * x9))));
- uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x19 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x19 * ((0x2 * ((uint64_t)x8 * x9)) + (((uint64_t)x10 * x10) + (0x2 * ((uint64_t)x9 * x8))))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x9)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint32_t x17 = (uint32_t) (x16 >> 0x16);
- uint32_t x18 = ((uint32_t)x16 & 0x3fffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x15);
- uint32_t x21 = ((uint32_t)x19 & 0x1fffff);
- uint64_t x22 = (x20 + x14);
- uint32_t x23 = (uint32_t) (x22 >> 0x16);
- uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- uint64_t x25 = (x23 + x13);
- uint32_t x26 = (uint32_t) (x25 >> 0x15);
- uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x18 + ((uint64_t)0x19 * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x15);
- uint32_t x39 = (x37 & 0x1fffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.v
deleted file mode 100644
index 93c8073fb..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fesub.c b/src/Specific/solinas32_2e129m25_6limbs/fesub.c
deleted file mode 100644
index d557470df..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x7fffce + x5) - x15);
- out[1] = ((0x3ffffe + x7) - x17);
- out[2] = ((0x7ffffe + x9) - x19);
- out[3] = ((0x3ffffe + x11) - x21);
- out[4] = ((0x7ffffe + x13) - x23);
- out[5] = ((0x3ffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fesub.v b/src/Specific/solinas32_2e129m25_6limbs/fesub.v
deleted file mode 100644
index 46ffc1f1f..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.log
deleted file mode 100644
index 8a85dcd49..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3ffffe + x12) - x22), ((0x7ffffe + x13) - x23), ((0x3ffffe + x11) - x21), ((0x7ffffe + x9) - x19), ((0x3ffffe + x7) - x17), ((0x7fffce + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.v
deleted file mode 100644
index 2e82a7d3c..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e129m25_6limbs/freeze.c b/src/Specific/solinas32_2e129m25_6limbs/freeze.c
deleted file mode 100644
index 989ef2208..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffe7);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1fffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x3fffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x3fffe7);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x1fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x3fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x1fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x3fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x1fffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e129m25_6limbs/freeze.v b/src/Specific/solinas32_2e129m25_6limbs/freeze.v
deleted file mode 100644
index 1b72bd4e3..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.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_2e129m25_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.log
deleted file mode 100644
index 3a22c8feb..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffe7);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1fffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x3fffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x3fffe7);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x1fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x3fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x1fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x3fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x1fffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.v
deleted file mode 100644
index e420e3119..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e129m25_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e129m25_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e129m25_6limbs/py_interpreter.sh
deleted file mode 100755
index e644139bb..000000000
--- a/src/Specific/solinas32_2e129m25_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**129 - 25' -Dmodulus_bytes='21.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e130m5_5limbs/CurveParameters.v b/src/Specific/solinas32_2e130m5_5limbs/CurveParameters.v
deleted file mode 100644
index 4c7d39418..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^130 - 5
-Base: 26
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 26;
- bitwidth := 32;
- s := 2^130;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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_2e130m5_5limbs/Synthesis.v b/src/Specific/solinas32_2e130m5_5limbs/Synthesis.v
deleted file mode 100644
index b20dc4d17..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/compiler.sh b/src/Specific/solinas32_2e130m5_5limbs/compiler.sh
deleted file mode 100755
index 1c2b51928..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas32_2e130m5_5limbs/compilerxx.sh b/src/Specific/solinas32_2e130m5_5limbs/compilerxx.sh
deleted file mode 100755
index f73700fc6..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas32_2e130m5_5limbs/feadd.c b/src/Specific/solinas32_2e130m5_5limbs/feadd.c
deleted file mode 100644
index 4db430361..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_5limbs/feadd.v b/src/Specific/solinas32_2e130m5_5limbs/feadd.v
deleted file mode 100644
index bf954a018..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/feaddDisplay.log b/src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.log
deleted file mode 100644
index eaf25ecd1..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.v b/src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.v
deleted file mode 100644
index b3cacdda0..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fecarry.v b/src/Specific/solinas32_2e130m5_5limbs/fecarry.v
deleted file mode 100644
index 22a676882..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/fecarryDisplay.v b/src/Specific/solinas32_2e130m5_5limbs/fecarryDisplay.v
deleted file mode 100644
index 6de5412c1..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e130m5_5limbs/femul.c b/src/Specific/solinas32_2e130m5_5limbs/femul.c
deleted file mode 100644
index 597a8eddd..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint64_t x20 = (((uint64_t)x5 * x18) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + (((uint64_t)x11 * x15) + ((uint64_t)x10 * x13)))));
- { uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + (0x5 * ((uint64_t)x10 * x18)));
- { uint64_t x22 = ((((uint64_t)x5 * x17) + (((uint64_t)x7 * x15) + ((uint64_t)x9 * x13))) + (0x5 * (((uint64_t)x11 * x18) + ((uint64_t)x10 * x19))));
- { uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (0x5 * (((uint64_t)x9 * x18) + (((uint64_t)x11 * x19) + ((uint64_t)x10 * x17)))));
- { uint64_t x24 = (((uint64_t)x5 * x13) + (0x5 * (((uint64_t)x7 * x18) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x10 * x15))))));
- { uint64_t x25 = (x24 >> 0x1a);
- { uint32_t x26 = ((uint32_t)x24 & 0x3ffffff);
- { uint64_t x27 = (x25 + x23);
- { uint64_t x28 = (x27 >> 0x1a);
- { uint32_t x29 = ((uint32_t)x27 & 0x3ffffff);
- { uint64_t x30 = (x28 + x22);
- { uint64_t x31 = (x30 >> 0x1a);
- { uint32_t x32 = ((uint32_t)x30 & 0x3ffffff);
- { uint64_t x33 = (x31 + x21);
- { uint64_t x34 = (x33 >> 0x1a);
- { uint32_t x35 = ((uint32_t)x33 & 0x3ffffff);
- { uint64_t x36 = (x34 + x20);
- { uint32_t x37 = (uint32_t) (x36 >> 0x1a);
- { uint32_t x38 = ((uint32_t)x36 & 0x3ffffff);
- { uint64_t x39 = (x26 + ((uint64_t)0x5 * x37));
- { uint32_t x40 = (uint32_t) (x39 >> 0x1a);
- { uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- { uint32_t x42 = (x40 + x29);
- { uint32_t x43 = (x42 >> 0x1a);
- { uint32_t x44 = (x42 & 0x3ffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_5limbs/femul.v b/src/Specific/solinas32_2e130m5_5limbs/femul.v
deleted file mode 100644
index 0d55a547d..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/femulDisplay.log b/src/Specific/solinas32_2e130m5_5limbs/femulDisplay.log
deleted file mode 100644
index ff0a450a6..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x20 = (((uint64_t)x5 * x18) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + (((uint64_t)x11 * x15) + ((uint64_t)x10 * x13)))));
- uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + (0x5 * ((uint64_t)x10 * x18)));
- uint64_t x22 = ((((uint64_t)x5 * x17) + (((uint64_t)x7 * x15) + ((uint64_t)x9 * x13))) + (0x5 * (((uint64_t)x11 * x18) + ((uint64_t)x10 * x19))));
- uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (0x5 * (((uint64_t)x9 * x18) + (((uint64_t)x11 * x19) + ((uint64_t)x10 * x17)))));
- uint64_t x24 = (((uint64_t)x5 * x13) + (0x5 * (((uint64_t)x7 * x18) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x10 * x15))))));
- uint64_t x25 = (x24 >> 0x1a);
- uint32_t x26 = ((uint32_t)x24 & 0x3ffffff);
- uint64_t x27 = (x25 + x23);
- uint64_t x28 = (x27 >> 0x1a);
- uint32_t x29 = ((uint32_t)x27 & 0x3ffffff);
- uint64_t x30 = (x28 + x22);
- uint64_t x31 = (x30 >> 0x1a);
- uint32_t x32 = ((uint32_t)x30 & 0x3ffffff);
- uint64_t x33 = (x31 + x21);
- uint64_t x34 = (x33 >> 0x1a);
- uint32_t x35 = ((uint32_t)x33 & 0x3ffffff);
- uint64_t x36 = (x34 + x20);
- uint32_t x37 = (uint32_t) (x36 >> 0x1a);
- uint32_t x38 = ((uint32_t)x36 & 0x3ffffff);
- uint64_t x39 = (x26 + ((uint64_t)0x5 * x37));
- uint32_t x40 = (uint32_t) (x39 >> 0x1a);
- uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- uint32_t x42 = (x40 + x29);
- uint32_t x43 = (x42 >> 0x1a);
- uint32_t x44 = (x42 & 0x3ffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_5limbs/femulDisplay.v b/src/Specific/solinas32_2e130m5_5limbs/femulDisplay.v
deleted file mode 100644
index 8d4119d7d..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fesquare.c b/src/Specific/solinas32_2e130m5_5limbs/fesquare.c
deleted file mode 100644
index 9fc0158e4..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (((uint64_t)x2 * x7) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x7 * x2)))));
- { uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * ((uint64_t)x7 * x7)));
- { uint64_t x11 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x7) + ((uint64_t)x7 * x8))));
- { uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x7) + (((uint64_t)x8 * x8) + ((uint64_t)x7 * x6)))));
- { uint64_t x13 = (((uint64_t)x2 * x2) + (0x5 * (((uint64_t)x4 * x7) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((uint64_t)x7 * x4))))));
- { uint64_t x14 = (x13 >> 0x1a);
- { uint32_t x15 = ((uint32_t)x13 & 0x3ffffff);
- { uint64_t x16 = (x14 + x12);
- { uint64_t x17 = (x16 >> 0x1a);
- { uint32_t x18 = ((uint32_t)x16 & 0x3ffffff);
- { uint64_t x19 = (x17 + x11);
- { uint64_t x20 = (x19 >> 0x1a);
- { uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- { uint64_t x22 = (x20 + x10);
- { uint64_t x23 = (x22 >> 0x1a);
- { uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- { uint64_t x25 = (x23 + x9);
- { uint32_t x26 = (uint32_t) (x25 >> 0x1a);
- { uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- { uint64_t x28 = (x15 + ((uint64_t)0x5 * x26));
- { uint32_t x29 = (uint32_t) (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint32_t x31 = (x29 + x18);
- { uint32_t x32 = (x31 >> 0x1a);
- { uint32_t x33 = (x31 & 0x3ffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fesquare.v b/src/Specific/solinas32_2e130m5_5limbs/fesquare.v
deleted file mode 100644
index e445539f0..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/fesquareDisplay.log b/src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.log
deleted file mode 100644
index 2d88d3465..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (((uint64_t)x2 * x7) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x7 * x2)))));
- uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * ((uint64_t)x7 * x7)));
- uint64_t x11 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x7) + ((uint64_t)x7 * x8))));
- uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x7) + (((uint64_t)x8 * x8) + ((uint64_t)x7 * x6)))));
- uint64_t x13 = (((uint64_t)x2 * x2) + (0x5 * (((uint64_t)x4 * x7) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((uint64_t)x7 * x4))))));
- uint64_t x14 = (x13 >> 0x1a);
- uint32_t x15 = ((uint32_t)x13 & 0x3ffffff);
- uint64_t x16 = (x14 + x12);
- uint64_t x17 = (x16 >> 0x1a);
- uint32_t x18 = ((uint32_t)x16 & 0x3ffffff);
- uint64_t x19 = (x17 + x11);
- uint64_t x20 = (x19 >> 0x1a);
- uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- uint64_t x22 = (x20 + x10);
- uint64_t x23 = (x22 >> 0x1a);
- uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- uint64_t x25 = (x23 + x9);
- uint32_t x26 = (uint32_t) (x25 >> 0x1a);
- uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- uint64_t x28 = (x15 + ((uint64_t)0x5 * x26));
- uint32_t x29 = (uint32_t) (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint32_t x31 = (x29 + x18);
- uint32_t x32 = (x31 >> 0x1a);
- uint32_t x33 = (x31 & 0x3ffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.v b/src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.v
deleted file mode 100644
index 5eec20f69..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fesub.c b/src/Specific/solinas32_2e130m5_5limbs/fesub.c
deleted file mode 100644
index 5cb693285..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = ((0x7fffff6 + x5) - x13);
- out[1] = ((0x7fffffe + x7) - x15);
- out[2] = ((0x7fffffe + x9) - x17);
- out[3] = ((0x7fffffe + x11) - x19);
- out[4] = ((0x7fffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fesub.v b/src/Specific/solinas32_2e130m5_5limbs/fesub.v
deleted file mode 100644
index 0c1c589dc..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/fesubDisplay.log b/src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.log
deleted file mode 100644
index 1250af0b6..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7fffffe + x10) - x18), ((0x7fffffe + x11) - x19), ((0x7fffffe + x9) - x17), ((0x7fffffe + x7) - x15), ((0x7fffff6 + x5) - x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.v b/src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.v
deleted file mode 100644
index 58442e682..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e130m5_5limbs/freeze.c b/src/Specific/solinas32_2e130m5_5limbs/freeze.c
deleted file mode 100644
index dae1a6834..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb);
- { uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffff);
- { uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffff);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffff);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0x3fffffb);
- { uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint32_t x29 = (x24 & 0x3ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint32_t x33 = (x24 & 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint32_t x37 = (x24 & 0x3ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint32_t x41 = (x24 & 0x3ffffff);
- { uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_5limbs/freeze.v b/src/Specific/solinas32_2e130m5_5limbs/freeze.v
deleted file mode 100644
index 207ad0e71..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.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_2e130m5_5limbs/freezeDisplay.log b/src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.log
deleted file mode 100644
index 8aa0457e5..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb);
- uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffff);
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffff);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffff);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0x3fffffb);
- uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint32_t x29 = (x24 & 0x3ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint32_t x33 = (x24 & 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint32_t x37 = (x24 & 0x3ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint32_t x41 = (x24 & 0x3ffffff);
- uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.v b/src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.v
deleted file mode 100644
index abf00e549..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e130m5_5limbs/py_interpreter.sh b/src/Specific/solinas32_2e130m5_5limbs/py_interpreter.sh
deleted file mode 100755
index 9330f32d1..000000000
--- a/src/Specific/solinas32_2e130m5_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**130 - 5' -Dmodulus_bytes='26' -Da24='121665'
diff --git a/src/Specific/solinas32_2e130m5_6limbs/CurveParameters.v b/src/Specific/solinas32_2e130m5_6limbs/CurveParameters.v
deleted file mode 100644
index 861448a43..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^130 - 5
-Base: 21 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 21 + 2/3;
- bitwidth := 32;
- s := 2^130;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e130m5_6limbs/Synthesis.v b/src/Specific/solinas32_2e130m5_6limbs/Synthesis.v
deleted file mode 100644
index 3b2d9ab41..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/compiler.sh b/src/Specific/solinas32_2e130m5_6limbs/compiler.sh
deleted file mode 100755
index b5830e59c..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas32_2e130m5_6limbs/compilerxx.sh b/src/Specific/solinas32_2e130m5_6limbs/compilerxx.sh
deleted file mode 100755
index cbb03e6b5..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas32_2e130m5_6limbs/feadd.c b/src/Specific/solinas32_2e130m5_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_6limbs/feadd.v b/src/Specific/solinas32_2e130m5_6limbs/feadd.v
deleted file mode 100644
index d85422729..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.v
deleted file mode 100644
index b2298c3e0..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fecarry.v b/src/Specific/solinas32_2e130m5_6limbs/fecarry.v
deleted file mode 100644
index d08dadb58..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e130m5_6limbs/fecarryDisplay.v
deleted file mode 100644
index 1acf791ed..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e130m5_6limbs/femul.c b/src/Specific/solinas32_2e130m5_6limbs/femul.c
deleted file mode 100644
index ed022e446..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((0x2 * ((uint64_t)x9 * x19)) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x5 * (0x2 * ((uint64_t)x12 * x22))));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x5 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x5 * ((0x2 * ((uint64_t)x9 * x22)) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (0x2 * ((uint64_t)x12 * x19)))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x5 * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint32_t x30 = (uint32_t) (x29 >> 0x16);
- { uint32_t x31 = ((uint32_t)x29 & 0x3fffff);
- { uint64_t x32 = (x30 + x28);
- { uint32_t x33 = (uint32_t) (x32 >> 0x16);
- { uint32_t x34 = ((uint32_t)x32 & 0x3fffff);
- { uint64_t x35 = (x33 + x27);
- { uint32_t x36 = (uint32_t) (x35 >> 0x15);
- { uint32_t x37 = ((uint32_t)x35 & 0x1fffff);
- { uint64_t x38 = (x36 + x26);
- { uint32_t x39 = (uint32_t) (x38 >> 0x16);
- { uint32_t x40 = ((uint32_t)x38 & 0x3fffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x16);
- { uint32_t x43 = ((uint32_t)x41 & 0x3fffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x15);
- { uint32_t x46 = ((uint32_t)x44 & 0x1fffff);
- { uint32_t x47 = (x31 + (0x5 * x45));
- { uint32_t x48 = (x47 >> 0x16);
- { uint32_t x49 = (x47 & 0x3fffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x16);
- { uint32_t x52 = (x50 & 0x3fffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_6limbs/femul.v b/src/Specific/solinas32_2e130m5_6limbs/femul.v
deleted file mode 100644
index 6ea60a91d..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/femulDisplay.log b/src/Specific/solinas32_2e130m5_6limbs/femulDisplay.log
deleted file mode 100644
index a1c22d578..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((0x2 * ((uint64_t)x9 * x19)) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x5 * (0x2 * ((uint64_t)x12 * x22))));
- uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x5 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x5 * ((0x2 * ((uint64_t)x9 * x22)) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (0x2 * ((uint64_t)x12 * x19)))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x5 * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint32_t x30 = (uint32_t) (x29 >> 0x16);
- uint32_t x31 = ((uint32_t)x29 & 0x3fffff);
- uint64_t x32 = (x30 + x28);
- uint32_t x33 = (uint32_t) (x32 >> 0x16);
- uint32_t x34 = ((uint32_t)x32 & 0x3fffff);
- uint64_t x35 = (x33 + x27);
- uint32_t x36 = (uint32_t) (x35 >> 0x15);
- uint32_t x37 = ((uint32_t)x35 & 0x1fffff);
- uint64_t x38 = (x36 + x26);
- uint32_t x39 = (uint32_t) (x38 >> 0x16);
- uint32_t x40 = ((uint32_t)x38 & 0x3fffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x16);
- uint32_t x43 = ((uint32_t)x41 & 0x3fffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x15);
- uint32_t x46 = ((uint32_t)x44 & 0x1fffff);
- uint32_t x47 = (x31 + (0x5 * x45));
- uint32_t x48 = (x47 >> 0x16);
- uint32_t x49 = (x47 & 0x3fffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x16);
- uint32_t x52 = (x50 & 0x3fffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e130m5_6limbs/femulDisplay.v b/src/Specific/solinas32_2e130m5_6limbs/femulDisplay.v
deleted file mode 100644
index 635966b05..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fesquare.c b/src/Specific/solinas32_2e130m5_6limbs/fesquare.c
deleted file mode 100644
index 6a6590edf..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * (0x2 * ((uint64_t)x9 * x9))));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x9)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (0x2 * ((uint64_t)x9 * x6)))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint32_t x17 = (uint32_t) (x16 >> 0x16);
- { uint32_t x18 = ((uint32_t)x16 & 0x3fffff);
- { uint64_t x19 = (x17 + x15);
- { uint32_t x20 = (uint32_t) (x19 >> 0x16);
- { uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- { uint64_t x22 = (x20 + x14);
- { uint32_t x23 = (uint32_t) (x22 >> 0x15);
- { uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- { uint64_t x25 = (x23 + x13);
- { uint32_t x26 = (uint32_t) (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint32_t x34 = (x18 + (0x5 * x32));
- { uint32_t x35 = (x34 >> 0x16);
- { uint32_t x36 = (x34 & 0x3fffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x16);
- { uint32_t x39 = (x37 & 0x3fffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fesquare.v b/src/Specific/solinas32_2e130m5_6limbs/fesquare.v
deleted file mode 100644
index dfcf52e9a..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.log
deleted file mode 100644
index ebbd6a951..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * (0x2 * ((uint64_t)x9 * x9))));
- uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x9)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (0x2 * ((uint64_t)x9 * x6)))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint32_t x17 = (uint32_t) (x16 >> 0x16);
- uint32_t x18 = ((uint32_t)x16 & 0x3fffff);
- uint64_t x19 = (x17 + x15);
- uint32_t x20 = (uint32_t) (x19 >> 0x16);
- uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- uint64_t x22 = (x20 + x14);
- uint32_t x23 = (uint32_t) (x22 >> 0x15);
- uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- uint64_t x25 = (x23 + x13);
- uint32_t x26 = (uint32_t) (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint32_t x34 = (x18 + (0x5 * x32));
- uint32_t x35 = (x34 >> 0x16);
- uint32_t x36 = (x34 & 0x3fffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x16);
- uint32_t x39 = (x37 & 0x3fffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.v
deleted file mode 100644
index 40bde8792..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fesub.c b/src/Specific/solinas32_2e130m5_6limbs/fesub.c
deleted file mode 100644
index 71e866452..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x7ffff6 + x5) - x15);
- out[1] = ((0x7ffffe + x7) - x17);
- out[2] = ((0x3ffffe + x9) - x19);
- out[3] = ((0x7ffffe + x11) - x21);
- out[4] = ((0x7ffffe + x13) - x23);
- out[5] = ((0x3ffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fesub.v b/src/Specific/solinas32_2e130m5_6limbs/fesub.v
deleted file mode 100644
index 6acb43ae0..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.log
deleted file mode 100644
index e9bac8469..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3ffffe + x12) - x22), ((0x7ffffe + x13) - x23), ((0x7ffffe + x11) - x21), ((0x3ffffe + x9) - x19), ((0x7ffffe + x7) - x17), ((0x7ffff6 + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.v
deleted file mode 100644
index bf9e327ee..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e130m5_6limbs/freeze.c b/src/Specific/solinas32_2e130m5_6limbs/freeze.c
deleted file mode 100644
index d97282ebe..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffb);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x3fffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x3fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x3ffffb);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x3fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x1fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x3fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x3fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x1fffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e130m5_6limbs/freeze.v b/src/Specific/solinas32_2e130m5_6limbs/freeze.v
deleted file mode 100644
index 30d079fbb..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.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_2e130m5_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.log
deleted file mode 100644
index 77f6fc447..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffb);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x3fffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x3fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x3ffffb);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x3fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x1fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x3fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x3fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x1fffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.v
deleted file mode 100644
index 5715324df..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e130m5_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e130m5_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e130m5_6limbs/py_interpreter.sh
deleted file mode 100755
index 7bb3a01fc..000000000
--- a/src/Specific/solinas32_2e130m5_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**130 - 5' -Dmodulus_bytes='21 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e137m13_5limbs/CurveParameters.v b/src/Specific/solinas32_2e137m13_5limbs/CurveParameters.v
deleted file mode 100644
index 5ef636ee6..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^137 - 13
-Base: 27.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 27 + 2/5;
- bitwidth := 32;
- s := 2^137;
- c := [(1, 13)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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_2e137m13_5limbs/Synthesis.v b/src/Specific/solinas32_2e137m13_5limbs/Synthesis.v
deleted file mode 100644
index 1ae2b5e8a..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/compiler.sh b/src/Specific/solinas32_2e137m13_5limbs/compiler.sh
deleted file mode 100755
index 9f1bd6726..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,27}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas32_2e137m13_5limbs/compilerxx.sh b/src/Specific/solinas32_2e137m13_5limbs/compilerxx.sh
deleted file mode 100755
index 75342acec..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,27}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas32_2e137m13_5limbs/feadd.c b/src/Specific/solinas32_2e137m13_5limbs/feadd.c
deleted file mode 100644
index 4db430361..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_5limbs/feadd.v b/src/Specific/solinas32_2e137m13_5limbs/feadd.v
deleted file mode 100644
index a96a3c0b2..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/feaddDisplay.log b/src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.log
deleted file mode 100644
index eaf25ecd1..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.v b/src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.v
deleted file mode 100644
index 6db5b05c1..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fecarry.v b/src/Specific/solinas32_2e137m13_5limbs/fecarry.v
deleted file mode 100644
index ed350e4cb..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/fecarryDisplay.v b/src/Specific/solinas32_2e137m13_5limbs/fecarryDisplay.v
deleted file mode 100644
index 9eb371398..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e137m13_5limbs/femul.c b/src/Specific/solinas32_2e137m13_5limbs/femul.c
deleted file mode 100644
index 580db6bef..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- { uint64_t x20 = (((uint64_t)x5 * x18) + ((0x2 * ((uint64_t)x7 * x19)) + (((uint64_t)x9 * x17) + ((0x2 * ((uint64_t)x11 * x15)) + ((uint64_t)x10 * x13)))));
- { uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + (0xd * ((uint64_t)x10 * x18)));
- { uint64_t x22 = ((((uint64_t)x5 * x17) + ((0x2 * ((uint64_t)x7 * x15)) + ((uint64_t)x9 * x13))) + (0xd * ((0x2 * ((uint64_t)x11 * x18)) + (0x2 * ((uint64_t)x10 * x19)))));
- { uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (0xd * (((uint64_t)x9 * x18) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x10 * x17)))));
- { ℤ x24 = (((uint64_t)x5 * x13) +ℤ (0xd *ℤ ((0x2 * ((uint64_t)x7 * x18)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + (0x2 * ((uint64_t)x10 * x15)))))));
- { uint64_t x25 = (x24 >> 0x1c);
- { uint32_t x26 = (x24 & 0xfffffff);
- { uint64_t x27 = (x25 + x23);
- { uint64_t x28 = (x27 >> 0x1b);
- { uint32_t x29 = ((uint32_t)x27 & 0x7ffffff);
- { uint64_t x30 = (x28 + x22);
- { uint64_t x31 = (x30 >> 0x1c);
- { uint32_t x32 = ((uint32_t)x30 & 0xfffffff);
- { uint64_t x33 = (x31 + x21);
- { uint64_t x34 = (x33 >> 0x1b);
- { uint32_t x35 = ((uint32_t)x33 & 0x7ffffff);
- { uint64_t x36 = (x34 + x20);
- { uint64_t x37 = (x36 >> 0x1b);
- { uint32_t x38 = ((uint32_t)x36 & 0x7ffffff);
- { uint64_t x39 = (x26 + (0xd * x37));
- { uint32_t x40 = (uint32_t) (x39 >> 0x1c);
- { uint32_t x41 = ((uint32_t)x39 & 0xfffffff);
- { uint32_t x42 = (x40 + x29);
- { uint32_t x43 = (x42 >> 0x1b);
- { uint32_t x44 = (x42 & 0x7ffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_5limbs/femul.v b/src/Specific/solinas32_2e137m13_5limbs/femul.v
deleted file mode 100644
index cdb99846f..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/femulDisplay.log b/src/Specific/solinas32_2e137m13_5limbs/femulDisplay.log
deleted file mode 100644
index de2778a1d..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint64_t x20 = (((uint64_t)x5 * x18) + ((0x2 * ((uint64_t)x7 * x19)) + (((uint64_t)x9 * x17) + ((0x2 * ((uint64_t)x11 * x15)) + ((uint64_t)x10 * x13)))));
- uint64_t x21 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + (((uint64_t)x9 * x15) + ((uint64_t)x11 * x13)))) + (0xd * ((uint64_t)x10 * x18)));
- uint64_t x22 = ((((uint64_t)x5 * x17) + ((0x2 * ((uint64_t)x7 * x15)) + ((uint64_t)x9 * x13))) + (0xd * ((0x2 * ((uint64_t)x11 * x18)) + (0x2 * ((uint64_t)x10 * x19)))));
- uint64_t x23 = ((((uint64_t)x5 * x15) + ((uint64_t)x7 * x13)) + (0xd * (((uint64_t)x9 * x18) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x10 * x17)))));
- ℤ x24 = (((uint64_t)x5 * x13) +ℤ (0xd *ℤ ((0x2 * ((uint64_t)x7 * x18)) + ((0x2 * ((uint64_t)x9 * x19)) + ((0x2 * ((uint64_t)x11 * x17)) + (0x2 * ((uint64_t)x10 * x15)))))));
- uint64_t x25 = (x24 >> 0x1c);
- uint32_t x26 = (x24 & 0xfffffff);
- uint64_t x27 = (x25 + x23);
- uint64_t x28 = (x27 >> 0x1b);
- uint32_t x29 = ((uint32_t)x27 & 0x7ffffff);
- uint64_t x30 = (x28 + x22);
- uint64_t x31 = (x30 >> 0x1c);
- uint32_t x32 = ((uint32_t)x30 & 0xfffffff);
- uint64_t x33 = (x31 + x21);
- uint64_t x34 = (x33 >> 0x1b);
- uint32_t x35 = ((uint32_t)x33 & 0x7ffffff);
- uint64_t x36 = (x34 + x20);
- uint64_t x37 = (x36 >> 0x1b);
- uint32_t x38 = ((uint32_t)x36 & 0x7ffffff);
- uint64_t x39 = (x26 + (0xd * x37));
- uint32_t x40 = (uint32_t) (x39 >> 0x1c);
- uint32_t x41 = ((uint32_t)x39 & 0xfffffff);
- uint32_t x42 = (x40 + x29);
- uint32_t x43 = (x42 >> 0x1b);
- uint32_t x44 = (x42 & 0x7ffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_5limbs/femulDisplay.v b/src/Specific/solinas32_2e137m13_5limbs/femulDisplay.v
deleted file mode 100644
index 41cc6427e..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fesquare.c b/src/Specific/solinas32_2e137m13_5limbs/fesquare.c
deleted file mode 100644
index ba5546056..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x9 = (((uint64_t)x2 * x7) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x7 * x2)))));
- { uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xd * ((uint64_t)x7 * x7)));
- { uint64_t x11 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xd * ((0x2 * ((uint64_t)x8 * x7)) + (0x2 * ((uint64_t)x7 * x8)))));
- { uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xd * (((uint64_t)x6 * x7) + ((0x2 * ((uint64_t)x8 * x8)) + ((uint64_t)x7 * x6)))));
- { ℤ x13 = (((uint64_t)x2 * x2) +ℤ (0xd *ℤ ((0x2 * ((uint64_t)x4 * x7)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x7 * x4)))))));
- { uint64_t x14 = (x13 >> 0x1c);
- { uint32_t x15 = (x13 & 0xfffffff);
- { uint64_t x16 = (x14 + x12);
- { uint64_t x17 = (x16 >> 0x1b);
- { uint32_t x18 = ((uint32_t)x16 & 0x7ffffff);
- { uint64_t x19 = (x17 + x11);
- { uint64_t x20 = (x19 >> 0x1c);
- { uint32_t x21 = ((uint32_t)x19 & 0xfffffff);
- { uint64_t x22 = (x20 + x10);
- { uint64_t x23 = (x22 >> 0x1b);
- { uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- { uint64_t x25 = (x23 + x9);
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x28 = (x15 + (0xd * x26));
- { uint32_t x29 = (uint32_t) (x28 >> 0x1c);
- { uint32_t x30 = ((uint32_t)x28 & 0xfffffff);
- { uint32_t x31 = (x29 + x18);
- { uint32_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = (x31 & 0x7ffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fesquare.v b/src/Specific/solinas32_2e137m13_5limbs/fesquare.v
deleted file mode 100644
index 638ea50ca..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/fesquareDisplay.log b/src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.log
deleted file mode 100644
index d179e2f30..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (((uint64_t)x2 * x7) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x7 * x2)))));
- uint64_t x10 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xd * ((uint64_t)x7 * x7)));
- uint64_t x11 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xd * ((0x2 * ((uint64_t)x8 * x7)) + (0x2 * ((uint64_t)x7 * x8)))));
- uint64_t x12 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xd * (((uint64_t)x6 * x7) + ((0x2 * ((uint64_t)x8 * x8)) + ((uint64_t)x7 * x6)))));
- ℤ x13 = (((uint64_t)x2 * x2) +ℤ (0xd *ℤ ((0x2 * ((uint64_t)x4 * x7)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x7 * x4)))))));
- uint64_t x14 = (x13 >> 0x1c);
- uint32_t x15 = (x13 & 0xfffffff);
- uint64_t x16 = (x14 + x12);
- uint64_t x17 = (x16 >> 0x1b);
- uint32_t x18 = ((uint32_t)x16 & 0x7ffffff);
- uint64_t x19 = (x17 + x11);
- uint64_t x20 = (x19 >> 0x1c);
- uint32_t x21 = ((uint32_t)x19 & 0xfffffff);
- uint64_t x22 = (x20 + x10);
- uint64_t x23 = (x22 >> 0x1b);
- uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- uint64_t x25 = (x23 + x9);
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x28 = (x15 + (0xd * x26));
- uint32_t x29 = (uint32_t) (x28 >> 0x1c);
- uint32_t x30 = ((uint32_t)x28 & 0xfffffff);
- uint32_t x31 = (x29 + x18);
- uint32_t x32 = (x31 >> 0x1b);
- uint32_t x33 = (x31 & 0x7ffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.v b/src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.v
deleted file mode 100644
index 60e0af4a5..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fesub.c b/src/Specific/solinas32_2e137m13_5limbs/fesub.c
deleted file mode 100644
index f4bc53a29..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint32_t out[5], const uint32_t in1[5], const uint32_t in2[5]) {
- { const uint32_t x10 = 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 x18 = in2[4];
- { const uint32_t x19 = in2[3];
- { const uint32_t x17 = in2[2];
- { const uint32_t x15 = in2[1];
- { const uint32_t x13 = in2[0];
- out[0] = ((0x1fffffe6 + x5) - x13);
- out[1] = ((0xffffffe + x7) - x15);
- out[2] = ((0x1ffffffe + x9) - x17);
- out[3] = ((0xffffffe + x11) - x19);
- out[4] = ((0xffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fesub.v b/src/Specific/solinas32_2e137m13_5limbs/fesub.v
deleted file mode 100644
index f805167fb..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/fesubDisplay.log b/src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.log
deleted file mode 100644
index cd269dba7..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffe + x10) - x18), ((0xffffffe + x11) - x19), ((0x1ffffffe + x9) - x17), ((0xffffffe + x7) - x15), ((0x1fffffe6 + x5) - x13)))
-(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.v b/src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.v
deleted file mode 100644
index d84d2913e..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e137m13_5limbs/freeze.c b/src/Specific/solinas32_2e137m13_5limbs/freeze.c
deleted file mode 100644
index 5d8668155..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint32_t out[5], const uint32_t in1[5]) {
- { const uint32_t x7 = 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 x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff3);
- { uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x7ffffff);
- { uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0xfffffff);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x7ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x7ffffff);
- { uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- { uint32_t x25 = (x24 & 0xffffff3);
- { uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint32_t x29 = (x24 & 0x7ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint32_t x33 = (x24 & 0xfffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint32_t x37 = (x24 & 0x7ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint32_t x41 = (x24 & 0x7ffffff);
- { uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_5limbs/freeze.v b/src/Specific/solinas32_2e137m13_5limbs/freeze.v
deleted file mode 100644
index 882f51e21..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.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_2e137m13_5limbs/freezeDisplay.log b/src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.log
deleted file mode 100644
index 8cec37338..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint32_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff3);
- uint32_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x11, Return x4, 0x7ffffff);
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x14, Return x6, 0xfffffff);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x8, 0x7ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x7, 0x7ffffff);
- uint32_t x24 = cmovznz32(x23, 0x0, 0xffffffff);
- uint32_t x25 = (x24 & 0xffffff3);
- uint32_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint32_t x29 = (x24 & 0x7ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint32_t x33 = (x24 & 0xfffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint32_t x37 = (x24 & 0x7ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint32_t x41 = (x24 & 0x7ffffff);
- uint32_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.v b/src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.v
deleted file mode 100644
index 081063ba1..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e137m13_5limbs/py_interpreter.sh b/src/Specific/solinas32_2e137m13_5limbs/py_interpreter.sh
deleted file mode 100755
index 7761fe281..000000000
--- a/src/Specific/solinas32_2e137m13_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**137 - 13' -Dmodulus_bytes='27.4' -Da24='121665'
diff --git a/src/Specific/solinas32_2e137m13_6limbs/CurveParameters.v b/src/Specific/solinas32_2e137m13_6limbs/CurveParameters.v
deleted file mode 100644
index 759473989..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^137 - 13
-Base: 22 + 5/6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 22 + 5/6;
- bitwidth := 32;
- s := 2^137;
- c := [(1, 13)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e137m13_6limbs/Synthesis.v b/src/Specific/solinas32_2e137m13_6limbs/Synthesis.v
deleted file mode 100644
index fd28064d8..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/compiler.sh b/src/Specific/solinas32_2e137m13_6limbs/compiler.sh
deleted file mode 100755
index 7f7d566db..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas32_2e137m13_6limbs/compilerxx.sh b/src/Specific/solinas32_2e137m13_6limbs/compilerxx.sh
deleted file mode 100755
index b02e7c329..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas32_2e137m13_6limbs/feadd.c b/src/Specific/solinas32_2e137m13_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_6limbs/feadd.v b/src/Specific/solinas32_2e137m13_6limbs/feadd.v
deleted file mode 100644
index b91a478ea..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.v
deleted file mode 100644
index 59430a2d6..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fecarry.v b/src/Specific/solinas32_2e137m13_6limbs/fecarry.v
deleted file mode 100644
index 44c6457d1..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e137m13_6limbs/fecarryDisplay.v
deleted file mode 100644
index 3c4786335..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e137m13_6limbs/femul.c b/src/Specific/solinas32_2e137m13_6limbs/femul.c
deleted file mode 100644
index 9b942f763..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0xd * (0x2 * ((uint64_t)x12 * x22))));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0xd * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0xd * ((0x2 * ((uint64_t)x11 * x22)) + ((0x2 * ((uint64_t)x13 * x23)) + (0x2 * ((uint64_t)x12 * x21))))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0xd * ((0x2 * ((uint64_t)x9 * x22)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + (0x2 * ((uint64_t)x12 * x19)))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0xd * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint64_t x30 = (x29 >> 0x17);
- { uint32_t x31 = ((uint32_t)x29 & 0x7fffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x17);
- { uint32_t x34 = ((uint32_t)x32 & 0x7fffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x17);
- { uint32_t x37 = ((uint32_t)x35 & 0x7fffff);
- { uint64_t x38 = (x36 + x26);
- { uint32_t x39 = (uint32_t) (x38 >> 0x17);
- { uint32_t x40 = ((uint32_t)x38 & 0x7fffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x17);
- { uint32_t x43 = ((uint32_t)x41 & 0x7fffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x16);
- { uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- { uint64_t x47 = (x31 + ((uint64_t)0xd * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x17);
- { uint32_t x49 = ((uint32_t)x47 & 0x7fffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x17);
- { uint32_t x52 = (x50 & 0x7fffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_6limbs/femul.v b/src/Specific/solinas32_2e137m13_6limbs/femul.v
deleted file mode 100644
index 30568dd61..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/femulDisplay.log b/src/Specific/solinas32_2e137m13_6limbs/femulDisplay.log
deleted file mode 100644
index 614a91016..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0xd * (0x2 * ((uint64_t)x12 * x22))));
- uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0xd * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0xd * ((0x2 * ((uint64_t)x11 * x22)) + ((0x2 * ((uint64_t)x13 * x23)) + (0x2 * ((uint64_t)x12 * x21))))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0xd * ((0x2 * ((uint64_t)x9 * x22)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + (0x2 * ((uint64_t)x12 * x19)))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0xd * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint64_t x30 = (x29 >> 0x17);
- uint32_t x31 = ((uint32_t)x29 & 0x7fffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x17);
- uint32_t x34 = ((uint32_t)x32 & 0x7fffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x17);
- uint32_t x37 = ((uint32_t)x35 & 0x7fffff);
- uint64_t x38 = (x36 + x26);
- uint32_t x39 = (uint32_t) (x38 >> 0x17);
- uint32_t x40 = ((uint32_t)x38 & 0x7fffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x17);
- uint32_t x43 = ((uint32_t)x41 & 0x7fffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x16);
- uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- uint64_t x47 = (x31 + ((uint64_t)0xd * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x17);
- uint32_t x49 = ((uint32_t)x47 & 0x7fffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x17);
- uint32_t x52 = (x50 & 0x7fffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e137m13_6limbs/femulDisplay.v b/src/Specific/solinas32_2e137m13_6limbs/femulDisplay.v
deleted file mode 100644
index d41c18535..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fesquare.c b/src/Specific/solinas32_2e137m13_6limbs/fesquare.c
deleted file mode 100644
index aaf8ec016..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xd * (0x2 * ((uint64_t)x9 * x9))));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xd * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xd * ((0x2 * ((uint64_t)x8 * x9)) + ((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x9 * x8))))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xd * ((0x2 * ((uint64_t)x6 * x9)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (0x2 * ((uint64_t)x9 * x6)))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0xd * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint64_t x17 = (x16 >> 0x17);
- { uint32_t x18 = ((uint32_t)x16 & 0x7fffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x17);
- { uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x17);
- { uint32_t x24 = ((uint32_t)x22 & 0x7fffff);
- { uint64_t x25 = (x23 + x13);
- { uint32_t x26 = (uint32_t) (x25 >> 0x17);
- { uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x18 + ((uint64_t)0xd * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x17);
- { uint32_t x39 = (x37 & 0x7fffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fesquare.v b/src/Specific/solinas32_2e137m13_6limbs/fesquare.v
deleted file mode 100644
index 1ecf8a3f1..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.log
deleted file mode 100644
index 5e1c36487..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xd * (0x2 * ((uint64_t)x9 * x9))));
- uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xd * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xd * ((0x2 * ((uint64_t)x8 * x9)) + ((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x9 * x8))))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xd * ((0x2 * ((uint64_t)x6 * x9)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (0x2 * ((uint64_t)x9 * x6)))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0xd * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint64_t x17 = (x16 >> 0x17);
- uint32_t x18 = ((uint32_t)x16 & 0x7fffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x17);
- uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x17);
- uint32_t x24 = ((uint32_t)x22 & 0x7fffff);
- uint64_t x25 = (x23 + x13);
- uint32_t x26 = (uint32_t) (x25 >> 0x17);
- uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x18 + ((uint64_t)0xd * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x17);
- uint32_t x39 = (x37 & 0x7fffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.v
deleted file mode 100644
index 5339cbee3..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fesub.c b/src/Specific/solinas32_2e137m13_6limbs/fesub.c
deleted file mode 100644
index cfa6edada..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0xffffe6 + x5) - x15);
- out[1] = ((0xfffffe + x7) - x17);
- out[2] = ((0xfffffe + x9) - x19);
- out[3] = ((0xfffffe + x11) - x21);
- out[4] = ((0xfffffe + x13) - x23);
- out[5] = ((0x7ffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fesub.v b/src/Specific/solinas32_2e137m13_6limbs/fesub.v
deleted file mode 100644
index 39d9e1b90..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.log
deleted file mode 100644
index 534e6af0a..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x7ffffe + x12) - x22), ((0xfffffe + x13) - x23), ((0xfffffe + x11) - x21), ((0xfffffe + x9) - x19), ((0xfffffe + x7) - x17), ((0xffffe6 + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.v
deleted file mode 100644
index 2a6944117..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e137m13_6limbs/freeze.c b/src/Specific/solinas32_2e137m13_6limbs/freeze.c
deleted file mode 100644
index 37aea66be..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff3);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x7fffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x7fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x7fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x3fffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x7ffff3);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x7fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x7fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x3fffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e137m13_6limbs/freeze.v b/src/Specific/solinas32_2e137m13_6limbs/freeze.v
deleted file mode 100644
index 745aa2fb7..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.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_2e137m13_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.log
deleted file mode 100644
index df913fbcb..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff3);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x7fffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x7fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x7fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x3fffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x7ffff3);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x7fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x7fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x3fffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.v
deleted file mode 100644
index 862bb7dc9..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e137m13_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e137m13_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e137m13_6limbs/py_interpreter.sh
deleted file mode 100755
index 4e1773a4a..000000000
--- a/src/Specific/solinas32_2e137m13_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**137 - 13' -Dmodulus_bytes='22 + 5/6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e140m27_6limbs/CurveParameters.v b/src/Specific/solinas32_2e140m27_6limbs/CurveParameters.v
deleted file mode 100644
index 57672aa0b..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^140 - 27
-Base: 23 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 23 + 1/3;
- bitwidth := 32;
- s := 2^140;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e140m27_6limbs/Synthesis.v b/src/Specific/solinas32_2e140m27_6limbs/Synthesis.v
deleted file mode 100644
index 7af97b96a..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/compiler.sh b/src/Specific/solinas32_2e140m27_6limbs/compiler.sh
deleted file mode 100755
index 3d87a4920..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas32_2e140m27_6limbs/compilerxx.sh b/src/Specific/solinas32_2e140m27_6limbs/compilerxx.sh
deleted file mode 100755
index 47b1e6469..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas32_2e140m27_6limbs/feadd.c b/src/Specific/solinas32_2e140m27_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_6limbs/feadd.v b/src/Specific/solinas32_2e140m27_6limbs/feadd.v
deleted file mode 100644
index 42fc7f636..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.v
deleted file mode 100644
index 78f9b9dfa..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fecarry.v b/src/Specific/solinas32_2e140m27_6limbs/fecarry.v
deleted file mode 100644
index f870841a3..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e140m27_6limbs/fecarryDisplay.v
deleted file mode 100644
index 30ff6ec6c..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e140m27_6limbs/femul.c b/src/Specific/solinas32_2e140m27_6limbs/femul.c
deleted file mode 100644
index f8c7f04fd..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x1b * ((uint64_t)x12 * x22)));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x1b * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x1b * (((uint64_t)x11 * x22) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x1b * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x1b * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint64_t x30 = (x29 >> 0x18);
- { uint32_t x31 = ((uint32_t)x29 & 0xffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x17);
- { uint32_t x34 = ((uint32_t)x32 & 0x7fffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x17);
- { uint32_t x37 = ((uint32_t)x35 & 0x7fffff);
- { uint64_t x38 = (x36 + x26);
- { uint64_t x39 = (x38 >> 0x18);
- { uint32_t x40 = ((uint32_t)x38 & 0xffffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x17);
- { uint32_t x43 = ((uint32_t)x41 & 0x7fffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x17);
- { uint32_t x46 = ((uint32_t)x44 & 0x7fffff);
- { uint64_t x47 = (x31 + ((uint64_t)0x1b * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x18);
- { uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x17);
- { uint32_t x52 = (x50 & 0x7fffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_6limbs/femul.v b/src/Specific/solinas32_2e140m27_6limbs/femul.v
deleted file mode 100644
index 722f2ac89..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/femulDisplay.log b/src/Specific/solinas32_2e140m27_6limbs/femulDisplay.log
deleted file mode 100644
index 27372ed26..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x1b * ((uint64_t)x12 * x22)));
- uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x1b * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x1b * (((uint64_t)x11 * x22) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x1b * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x1b * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint64_t x30 = (x29 >> 0x18);
- uint32_t x31 = ((uint32_t)x29 & 0xffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x17);
- uint32_t x34 = ((uint32_t)x32 & 0x7fffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x17);
- uint32_t x37 = ((uint32_t)x35 & 0x7fffff);
- uint64_t x38 = (x36 + x26);
- uint64_t x39 = (x38 >> 0x18);
- uint32_t x40 = ((uint32_t)x38 & 0xffffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x17);
- uint32_t x43 = ((uint32_t)x41 & 0x7fffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x17);
- uint32_t x46 = ((uint32_t)x44 & 0x7fffff);
- uint64_t x47 = (x31 + ((uint64_t)0x1b * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x18);
- uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x17);
- uint32_t x52 = (x50 & 0x7fffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e140m27_6limbs/femulDisplay.v b/src/Specific/solinas32_2e140m27_6limbs/femulDisplay.v
deleted file mode 100644
index 34f6742ce..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fesquare.c b/src/Specific/solinas32_2e140m27_6limbs/fesquare.c
deleted file mode 100644
index a7149e90e..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * ((uint64_t)x9 * x9)));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1b * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x9) + ((0x2 * ((uint64_t)x10 * x10)) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x1b * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint64_t x17 = (x16 >> 0x18);
- { uint32_t x18 = ((uint32_t)x16 & 0xffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x17);
- { uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x17);
- { uint32_t x24 = ((uint32_t)x22 & 0x7fffff);
- { uint64_t x25 = (x23 + x13);
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x18 + ((uint64_t)0x1b * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x17);
- { uint32_t x39 = (x37 & 0x7fffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fesquare.v b/src/Specific/solinas32_2e140m27_6limbs/fesquare.v
deleted file mode 100644
index 64f9ab13c..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.log
deleted file mode 100644
index 3f805555c..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * ((uint64_t)x9 * x9)));
- uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1b * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x9) + ((0x2 * ((uint64_t)x10 * x10)) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x1b * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint64_t x17 = (x16 >> 0x18);
- uint32_t x18 = ((uint32_t)x16 & 0xffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x17);
- uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x17);
- uint32_t x24 = ((uint32_t)x22 & 0x7fffff);
- uint64_t x25 = (x23 + x13);
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x18 + ((uint64_t)0x1b * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x17);
- uint32_t x39 = (x37 & 0x7fffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.v
deleted file mode 100644
index 84e87f777..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fesub.c b/src/Specific/solinas32_2e140m27_6limbs/fesub.c
deleted file mode 100644
index 2fafe8f41..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x1ffffca + x5) - x15);
- out[1] = ((0xfffffe + x7) - x17);
- out[2] = ((0xfffffe + x9) - x19);
- out[3] = ((0x1fffffe + x11) - x21);
- out[4] = ((0xfffffe + x13) - x23);
- out[5] = ((0xfffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fesub.v b/src/Specific/solinas32_2e140m27_6limbs/fesub.v
deleted file mode 100644
index 61f7ef5e2..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.log
deleted file mode 100644
index 3dc0cee98..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0xfffffe + x12) - x22), ((0xfffffe + x13) - x23), ((0x1fffffe + x11) - x21), ((0xfffffe + x9) - x19), ((0xfffffe + x7) - x17), ((0x1ffffca + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.v
deleted file mode 100644
index fc7015d1a..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e140m27_6limbs/freeze.c b/src/Specific/solinas32_2e140m27_6limbs/freeze.c
deleted file mode 100644
index 493e08507..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe5);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x7fffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x7fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x7fffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffe5);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x7fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0xffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x7fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x7fffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_6limbs/freeze.v b/src/Specific/solinas32_2e140m27_6limbs/freeze.v
deleted file mode 100644
index 50f3d99ec..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.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_2e140m27_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.log
deleted file mode 100644
index 5fcd4aff9..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe5);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x7fffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x7fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x7fffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffe5);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x7fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0xffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x7fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x7fffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.v
deleted file mode 100644
index eeba032da..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e140m27_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e140m27_6limbs/py_interpreter.sh
deleted file mode 100755
index ee391a528..000000000
--- a/src/Specific/solinas32_2e140m27_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**140 - 27' -Dmodulus_bytes='23 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e140m27_7limbs/CurveParameters.v b/src/Specific/solinas32_2e140m27_7limbs/CurveParameters.v
deleted file mode 100644
index ee354aeae..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^140 - 27
-Base: 20
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 20;
- bitwidth := 32;
- s := 2^140;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e140m27_7limbs/Synthesis.v b/src/Specific/solinas32_2e140m27_7limbs/Synthesis.v
deleted file mode 100644
index 1930d783c..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/compiler.sh b/src/Specific/solinas32_2e140m27_7limbs/compiler.sh
deleted file mode 100755
index 7daa274b5..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,20,20,20,20}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas32_2e140m27_7limbs/compilerxx.sh b/src/Specific/solinas32_2e140m27_7limbs/compilerxx.sh
deleted file mode 100755
index 7018c71ce..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,20,20,20,20}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas32_2e140m27_7limbs/feadd.c b/src/Specific/solinas32_2e140m27_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_7limbs/feadd.v b/src/Specific/solinas32_2e140m27_7limbs/feadd.v
deleted file mode 100644
index 5f57a74e9..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.v
deleted file mode 100644
index c4d56965c..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fecarry.v b/src/Specific/solinas32_2e140m27_7limbs/fecarry.v
deleted file mode 100644
index 4d2c523b2..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e140m27_7limbs/fecarryDisplay.v
deleted file mode 100644
index 3ca8363db..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e140m27_7limbs/femul.c b/src/Specific/solinas32_2e140m27_7limbs/femul.c
deleted file mode 100644
index 84bbf7c78..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x1b * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x1b * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x1b * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x1b * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x1b * (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x1b * (((uint64_t)x7 * x26) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x14 * x19))))))));
- { uint32_t x35 = (uint32_t) (x34 >> 0x14);
- { uint32_t x36 = ((uint32_t)x34 & 0xfffff);
- { uint64_t x37 = (x35 + x33);
- { uint32_t x38 = (uint32_t) (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint64_t x40 = (x38 + x32);
- { uint32_t x41 = (uint32_t) (x40 >> 0x14);
- { uint32_t x42 = ((uint32_t)x40 & 0xfffff);
- { uint64_t x43 = (x41 + x31);
- { uint32_t x44 = (uint32_t) (x43 >> 0x14);
- { uint32_t x45 = ((uint32_t)x43 & 0xfffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x14);
- { uint32_t x48 = ((uint32_t)x46 & 0xfffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x14);
- { uint32_t x51 = ((uint32_t)x49 & 0xfffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x14);
- { uint32_t x54 = ((uint32_t)x52 & 0xfffff);
- { uint32_t x55 = (x36 + (0x1b * x53));
- { uint32_t x56 = (x55 >> 0x14);
- { uint32_t x57 = (x55 & 0xfffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x14);
- { uint32_t x60 = (x58 & 0xfffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_7limbs/femul.v b/src/Specific/solinas32_2e140m27_7limbs/femul.v
deleted file mode 100644
index 3c93b56a2..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/femulDisplay.log b/src/Specific/solinas32_2e140m27_7limbs/femulDisplay.log
deleted file mode 100644
index 9973d40a2..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x1b * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x1b * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x1b * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x1b * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x1b * (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x1b * (((uint64_t)x7 * x26) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x14 * x19))))))));
- uint32_t x35 = (uint32_t) (x34 >> 0x14);
- uint32_t x36 = ((uint32_t)x34 & 0xfffff);
- uint64_t x37 = (x35 + x33);
- uint32_t x38 = (uint32_t) (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint64_t x40 = (x38 + x32);
- uint32_t x41 = (uint32_t) (x40 >> 0x14);
- uint32_t x42 = ((uint32_t)x40 & 0xfffff);
- uint64_t x43 = (x41 + x31);
- uint32_t x44 = (uint32_t) (x43 >> 0x14);
- uint32_t x45 = ((uint32_t)x43 & 0xfffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x14);
- uint32_t x48 = ((uint32_t)x46 & 0xfffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x14);
- uint32_t x51 = ((uint32_t)x49 & 0xfffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x14);
- uint32_t x54 = ((uint32_t)x52 & 0xfffff);
- uint32_t x55 = (x36 + (0x1b * x53));
- uint32_t x56 = (x55 >> 0x14);
- uint32_t x57 = (x55 & 0xfffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x14);
- uint32_t x60 = (x58 & 0xfffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e140m27_7limbs/femulDisplay.v b/src/Specific/solinas32_2e140m27_7limbs/femulDisplay.v
deleted file mode 100644
index ead68f42b..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fesquare.c b/src/Specific/solinas32_2e140m27_7limbs/fesquare.c
deleted file mode 100644
index 0e08dac20..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1b * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1b * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x1b * (((uint64_t)x4 * x11) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((uint64_t)x11 * x4))))))));
- { uint32_t x20 = (uint32_t) (x19 >> 0x14);
- { uint32_t x21 = ((uint32_t)x19 & 0xfffff);
- { uint64_t x22 = (x20 + x18);
- { uint32_t x23 = (uint32_t) (x22 >> 0x14);
- { uint32_t x24 = ((uint32_t)x22 & 0xfffff);
- { uint64_t x25 = (x23 + x17);
- { uint32_t x26 = (uint32_t) (x25 >> 0x14);
- { uint32_t x27 = ((uint32_t)x25 & 0xfffff);
- { uint64_t x28 = (x26 + x16);
- { uint32_t x29 = (uint32_t) (x28 >> 0x14);
- { uint32_t x30 = ((uint32_t)x28 & 0xfffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x14);
- { uint32_t x33 = ((uint32_t)x31 & 0xfffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x14);
- { uint32_t x36 = ((uint32_t)x34 & 0xfffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint32_t x40 = (x21 + (0x1b * x38));
- { uint32_t x41 = (x40 >> 0x14);
- { uint32_t x42 = (x40 & 0xfffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x14);
- { uint32_t x45 = (x43 & 0xfffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fesquare.v b/src/Specific/solinas32_2e140m27_7limbs/fesquare.v
deleted file mode 100644
index f396d8191..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.log
deleted file mode 100644
index b8de3f39b..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1b * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1b * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x1b * (((uint64_t)x4 * x11) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((uint64_t)x11 * x4))))))));
- uint32_t x20 = (uint32_t) (x19 >> 0x14);
- uint32_t x21 = ((uint32_t)x19 & 0xfffff);
- uint64_t x22 = (x20 + x18);
- uint32_t x23 = (uint32_t) (x22 >> 0x14);
- uint32_t x24 = ((uint32_t)x22 & 0xfffff);
- uint64_t x25 = (x23 + x17);
- uint32_t x26 = (uint32_t) (x25 >> 0x14);
- uint32_t x27 = ((uint32_t)x25 & 0xfffff);
- uint64_t x28 = (x26 + x16);
- uint32_t x29 = (uint32_t) (x28 >> 0x14);
- uint32_t x30 = ((uint32_t)x28 & 0xfffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x14);
- uint32_t x33 = ((uint32_t)x31 & 0xfffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x14);
- uint32_t x36 = ((uint32_t)x34 & 0xfffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint32_t x40 = (x21 + (0x1b * x38));
- uint32_t x41 = (x40 >> 0x14);
- uint32_t x42 = (x40 & 0xfffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x14);
- uint32_t x45 = (x43 & 0xfffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.v
deleted file mode 100644
index bf19378b3..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fesub.c b/src/Specific/solinas32_2e140m27_7limbs/fesub.c
deleted file mode 100644
index acaabc6bb..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x1fffca + x5) - x17);
- out[1] = ((0x1ffffe + x7) - x19);
- out[2] = ((0x1ffffe + x9) - x21);
- out[3] = ((0x1ffffe + x11) - x23);
- out[4] = ((0x1ffffe + x13) - x25);
- out[5] = ((0x1ffffe + x15) - x27);
- out[6] = ((0x1ffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fesub.v b/src/Specific/solinas32_2e140m27_7limbs/fesub.v
deleted file mode 100644
index 1d515a51b..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.log
deleted file mode 100644
index 4b0289037..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1ffffe + x14) - x26), ((0x1ffffe + x15) - x27), ((0x1ffffe + x13) - x25), ((0x1ffffe + x11) - x23), ((0x1ffffe + x9) - x21), ((0x1ffffe + x7) - x19), ((0x1fffca + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.v
deleted file mode 100644
index 8e4cdc7e7..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e140m27_7limbs/freeze.c b/src/Specific/solinas32_2e140m27_7limbs/freeze.c
deleted file mode 100644
index 5f9eb0720..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffe5);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xfffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0xfffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xfffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0xfffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xfffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0xfffe5);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0xfffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0xfffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0xfffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0xfffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0xfffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0xfffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e140m27_7limbs/freeze.v b/src/Specific/solinas32_2e140m27_7limbs/freeze.v
deleted file mode 100644
index 1cbdf3568..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.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_2e140m27_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.log
deleted file mode 100644
index d496ecafd..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffe5);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xfffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0xfffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xfffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0xfffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xfffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0xfffe5);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0xfffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0xfffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0xfffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0xfffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0xfffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0xfffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.v
deleted file mode 100644
index 765b56c1d..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e140m27_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e140m27_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e140m27_7limbs/py_interpreter.sh
deleted file mode 100755
index a577eb32d..000000000
--- a/src/Specific/solinas32_2e140m27_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**140 - 27' -Dmodulus_bytes='20' -Da24='121665'
diff --git a/src/Specific/solinas32_2e141m9_6limbs/CurveParameters.v b/src/Specific/solinas32_2e141m9_6limbs/CurveParameters.v
deleted file mode 100644
index 8c12f0251..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^141 - 9
-Base: 23.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 23 + 1/2;
- bitwidth := 32;
- s := 2^141;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e141m9_6limbs/Synthesis.v b/src/Specific/solinas32_2e141m9_6limbs/Synthesis.v
deleted file mode 100644
index 2d259843b..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/compiler.sh b/src/Specific/solinas32_2e141m9_6limbs/compiler.sh
deleted file mode 100755
index 9013c7cd1..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas32_2e141m9_6limbs/compilerxx.sh b/src/Specific/solinas32_2e141m9_6limbs/compilerxx.sh
deleted file mode 100755
index b8630b211..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas32_2e141m9_6limbs/feadd.c b/src/Specific/solinas32_2e141m9_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_6limbs/feadd.v b/src/Specific/solinas32_2e141m9_6limbs/feadd.v
deleted file mode 100644
index e51a5e5c8..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.v
deleted file mode 100644
index 6f2226cfa..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fecarry.v b/src/Specific/solinas32_2e141m9_6limbs/fecarry.v
deleted file mode 100644
index 63751ec20..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e141m9_6limbs/fecarryDisplay.v
deleted file mode 100644
index f0beec3af..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e141m9_6limbs/femul.c b/src/Specific/solinas32_2e141m9_6limbs/femul.c
deleted file mode 100644
index bfc1b2f93..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + (((uint64_t)x9 * x19) + ((0x2 * ((uint64_t)x11 * x17)) + ((uint64_t)x13 * x15))))) + (0x9 * (0x2 * ((uint64_t)x12 * x22))));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x9 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x9 * ((0x2 * ((uint64_t)x11 * x22)) + (((uint64_t)x13 * x23) + (0x2 * ((uint64_t)x12 * x21))))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x9 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x9 * ((0x2 * ((uint64_t)x7 * x22)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint64_t x30 = (x29 >> 0x18);
- { uint32_t x31 = ((uint32_t)x29 & 0xffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x17);
- { uint32_t x34 = ((uint32_t)x32 & 0x7fffff);
- { uint64_t x35 = (x33 + x27);
- { uint32_t x36 = (uint32_t) (x35 >> 0x18);
- { uint32_t x37 = ((uint32_t)x35 & 0xffffff);
- { uint64_t x38 = (x36 + x26);
- { uint32_t x39 = (uint32_t) (x38 >> 0x17);
- { uint32_t x40 = ((uint32_t)x38 & 0x7fffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x18);
- { uint32_t x43 = ((uint32_t)x41 & 0xffffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x17);
- { uint32_t x46 = ((uint32_t)x44 & 0x7fffff);
- { uint64_t x47 = (x31 + ((uint64_t)0x9 * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x18);
- { uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x17);
- { uint32_t x52 = (x50 & 0x7fffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_6limbs/femul.v b/src/Specific/solinas32_2e141m9_6limbs/femul.v
deleted file mode 100644
index 051513f3f..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/femulDisplay.log b/src/Specific/solinas32_2e141m9_6limbs/femulDisplay.log
deleted file mode 100644
index 1dae1e57e..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + (((uint64_t)x9 * x19) + ((0x2 * ((uint64_t)x11 * x17)) + ((uint64_t)x13 * x15))))) + (0x9 * (0x2 * ((uint64_t)x12 * x22))));
- uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x9 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x9 * ((0x2 * ((uint64_t)x11 * x22)) + (((uint64_t)x13 * x23) + (0x2 * ((uint64_t)x12 * x21))))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x9 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x9 * ((0x2 * ((uint64_t)x7 * x22)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint64_t x30 = (x29 >> 0x18);
- uint32_t x31 = ((uint32_t)x29 & 0xffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x17);
- uint32_t x34 = ((uint32_t)x32 & 0x7fffff);
- uint64_t x35 = (x33 + x27);
- uint32_t x36 = (uint32_t) (x35 >> 0x18);
- uint32_t x37 = ((uint32_t)x35 & 0xffffff);
- uint64_t x38 = (x36 + x26);
- uint32_t x39 = (uint32_t) (x38 >> 0x17);
- uint32_t x40 = ((uint32_t)x38 & 0x7fffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x18);
- uint32_t x43 = ((uint32_t)x41 & 0xffffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x17);
- uint32_t x46 = ((uint32_t)x44 & 0x7fffff);
- uint64_t x47 = (x31 + ((uint64_t)0x9 * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x18);
- uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x17);
- uint32_t x52 = (x50 & 0x7fffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e141m9_6limbs/femulDisplay.v b/src/Specific/solinas32_2e141m9_6limbs/femulDisplay.v
deleted file mode 100644
index 39615770c..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fesquare.c b/src/Specific/solinas32_2e141m9_6limbs/fesquare.c
deleted file mode 100644
index a0f82da0d..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (0x2 * ((uint64_t)x9 * x9))));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x9)) + (((uint64_t)x10 * x10) + (0x2 * ((uint64_t)x9 * x8))))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x9)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint64_t x17 = (x16 >> 0x18);
- { uint32_t x18 = ((uint32_t)x16 & 0xffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x17);
- { uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- { uint64_t x22 = (x20 + x14);
- { uint32_t x23 = (uint32_t) (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x13);
- { uint32_t x26 = (uint32_t) (x25 >> 0x17);
- { uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x18 + ((uint64_t)0x9 * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x17);
- { uint32_t x39 = (x37 & 0x7fffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fesquare.v b/src/Specific/solinas32_2e141m9_6limbs/fesquare.v
deleted file mode 100644
index 3ef02fdaa..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.log
deleted file mode 100644
index 44c86d48c..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (0x2 * ((uint64_t)x9 * x9))));
- uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x9)) + (((uint64_t)x10 * x10) + (0x2 * ((uint64_t)x9 * x8))))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x9)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint64_t x17 = (x16 >> 0x18);
- uint32_t x18 = ((uint32_t)x16 & 0xffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x17);
- uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- uint64_t x22 = (x20 + x14);
- uint32_t x23 = (uint32_t) (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x13);
- uint32_t x26 = (uint32_t) (x25 >> 0x17);
- uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x18 + ((uint64_t)0x9 * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x17);
- uint32_t x39 = (x37 & 0x7fffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.v
deleted file mode 100644
index 950c82063..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fesub.c b/src/Specific/solinas32_2e141m9_6limbs/fesub.c
deleted file mode 100644
index 8c928bced..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x1ffffee + x5) - x15);
- out[1] = ((0xfffffe + x7) - x17);
- out[2] = ((0x1fffffe + x9) - x19);
- out[3] = ((0xfffffe + x11) - x21);
- out[4] = ((0x1fffffe + x13) - x23);
- out[5] = ((0xfffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fesub.v b/src/Specific/solinas32_2e141m9_6limbs/fesub.v
deleted file mode 100644
index 02abceb3d..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.log
deleted file mode 100644
index 45d58a6d4..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0xfffffe + x12) - x22), ((0x1fffffe + x13) - x23), ((0xfffffe + x11) - x21), ((0x1fffffe + x9) - x19), ((0xfffffe + x7) - x17), ((0x1ffffee + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.v
deleted file mode 100644
index c6cba461a..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e141m9_6limbs/freeze.c b/src/Specific/solinas32_2e141m9_6limbs/freeze.c
deleted file mode 100644
index 24e968a49..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff7);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x7fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x7fffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xfffff7);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x7fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0xffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0xffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x7fffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_6limbs/freeze.v b/src/Specific/solinas32_2e141m9_6limbs/freeze.v
deleted file mode 100644
index eb4d34558..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.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_2e141m9_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.log
deleted file mode 100644
index d4ea4280b..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff7);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x7fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x7fffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xfffff7);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x7fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0xffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x7fffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.v
deleted file mode 100644
index c56e82158..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e141m9_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e141m9_6limbs/py_interpreter.sh
deleted file mode 100755
index d7b3f8f9d..000000000
--- a/src/Specific/solinas32_2e141m9_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**141 - 9' -Dmodulus_bytes='23.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e141m9_7limbs/CurveParameters.v b/src/Specific/solinas32_2e141m9_7limbs/CurveParameters.v
deleted file mode 100644
index 64ad24267..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^141 - 9
-Base: 20 + 1/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 20 + 1/7;
- bitwidth := 32;
- s := 2^141;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e141m9_7limbs/Synthesis.v b/src/Specific/solinas32_2e141m9_7limbs/Synthesis.v
deleted file mode 100644
index 0aa8419a9..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/compiler.sh b/src/Specific/solinas32_2e141m9_7limbs/compiler.sh
deleted file mode 100755
index 015f4dbc7..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas32_2e141m9_7limbs/compilerxx.sh b/src/Specific/solinas32_2e141m9_7limbs/compilerxx.sh
deleted file mode 100755
index a28aeb21b..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,20,20,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas32_2e141m9_7limbs/feadd.c b/src/Specific/solinas32_2e141m9_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_7limbs/feadd.v b/src/Specific/solinas32_2e141m9_7limbs/feadd.v
deleted file mode 100644
index 66c8c3b34..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.v
deleted file mode 100644
index 3ec2bc7bd..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fecarry.v b/src/Specific/solinas32_2e141m9_7limbs/fecarry.v
deleted file mode 100644
index 9a647a821..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e141m9_7limbs/fecarryDisplay.v
deleted file mode 100644
index a29fc6cde..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e141m9_7limbs/femul.c b/src/Specific/solinas32_2e141m9_7limbs/femul.c
deleted file mode 100644
index 2583f0079..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0x9 * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x9 * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0x9 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x9 * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x9 * (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x9 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint32_t x35 = (uint32_t) (x34 >> 0x15);
- { uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- { uint64_t x37 = (x35 + x33);
- { uint32_t x38 = (uint32_t) (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint64_t x40 = (x38 + x32);
- { uint32_t x41 = (uint32_t) (x40 >> 0x14);
- { uint32_t x42 = ((uint32_t)x40 & 0xfffff);
- { uint64_t x43 = (x41 + x31);
- { uint32_t x44 = (uint32_t) (x43 >> 0x14);
- { uint32_t x45 = ((uint32_t)x43 & 0xfffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x14);
- { uint32_t x48 = ((uint32_t)x46 & 0xfffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x14);
- { uint32_t x51 = ((uint32_t)x49 & 0xfffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x14);
- { uint32_t x54 = ((uint32_t)x52 & 0xfffff);
- { uint32_t x55 = (x36 + (0x9 * x53));
- { uint32_t x56 = (x55 >> 0x15);
- { uint32_t x57 = (x55 & 0x1fffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x14);
- { uint32_t x60 = (x58 & 0xfffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_7limbs/femul.v b/src/Specific/solinas32_2e141m9_7limbs/femul.v
deleted file mode 100644
index 05eb87bb3..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/femulDisplay.log b/src/Specific/solinas32_2e141m9_7limbs/femulDisplay.log
deleted file mode 100644
index 3e7f9e0e4..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0x9 * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x9 * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0x9 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x9 * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x9 * (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x9 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint32_t x35 = (uint32_t) (x34 >> 0x15);
- uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- uint64_t x37 = (x35 + x33);
- uint32_t x38 = (uint32_t) (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint64_t x40 = (x38 + x32);
- uint32_t x41 = (uint32_t) (x40 >> 0x14);
- uint32_t x42 = ((uint32_t)x40 & 0xfffff);
- uint64_t x43 = (x41 + x31);
- uint32_t x44 = (uint32_t) (x43 >> 0x14);
- uint32_t x45 = ((uint32_t)x43 & 0xfffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x14);
- uint32_t x48 = ((uint32_t)x46 & 0xfffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x14);
- uint32_t x51 = ((uint32_t)x49 & 0xfffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x14);
- uint32_t x54 = ((uint32_t)x52 & 0xfffff);
- uint32_t x55 = (x36 + (0x9 * x53));
- uint32_t x56 = (x55 >> 0x15);
- uint32_t x57 = (x55 & 0x1fffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x14);
- uint32_t x60 = (x58 & 0xfffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e141m9_7limbs/femulDisplay.v b/src/Specific/solinas32_2e141m9_7limbs/femulDisplay.v
deleted file mode 100644
index 581826e30..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fesquare.c b/src/Specific/solinas32_2e141m9_7limbs/fesquare.c
deleted file mode 100644
index 4ebaaa757..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint32_t x20 = (uint32_t) (x19 >> 0x15);
- { uint32_t x21 = ((uint32_t)x19 & 0x1fffff);
- { uint64_t x22 = (x20 + x18);
- { uint32_t x23 = (uint32_t) (x22 >> 0x14);
- { uint32_t x24 = ((uint32_t)x22 & 0xfffff);
- { uint64_t x25 = (x23 + x17);
- { uint32_t x26 = (uint32_t) (x25 >> 0x14);
- { uint32_t x27 = ((uint32_t)x25 & 0xfffff);
- { uint64_t x28 = (x26 + x16);
- { uint32_t x29 = (uint32_t) (x28 >> 0x14);
- { uint32_t x30 = ((uint32_t)x28 & 0xfffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x14);
- { uint32_t x33 = ((uint32_t)x31 & 0xfffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x14);
- { uint32_t x36 = ((uint32_t)x34 & 0xfffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint32_t x40 = (x21 + (0x9 * x38));
- { uint32_t x41 = (x40 >> 0x15);
- { uint32_t x42 = (x40 & 0x1fffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x14);
- { uint32_t x45 = (x43 & 0xfffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fesquare.v b/src/Specific/solinas32_2e141m9_7limbs/fesquare.v
deleted file mode 100644
index e49645a33..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.log
deleted file mode 100644
index eb2db8f40..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint32_t x20 = (uint32_t) (x19 >> 0x15);
- uint32_t x21 = ((uint32_t)x19 & 0x1fffff);
- uint64_t x22 = (x20 + x18);
- uint32_t x23 = (uint32_t) (x22 >> 0x14);
- uint32_t x24 = ((uint32_t)x22 & 0xfffff);
- uint64_t x25 = (x23 + x17);
- uint32_t x26 = (uint32_t) (x25 >> 0x14);
- uint32_t x27 = ((uint32_t)x25 & 0xfffff);
- uint64_t x28 = (x26 + x16);
- uint32_t x29 = (uint32_t) (x28 >> 0x14);
- uint32_t x30 = ((uint32_t)x28 & 0xfffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x14);
- uint32_t x33 = ((uint32_t)x31 & 0xfffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x14);
- uint32_t x36 = ((uint32_t)x34 & 0xfffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint32_t x40 = (x21 + (0x9 * x38));
- uint32_t x41 = (x40 >> 0x15);
- uint32_t x42 = (x40 & 0x1fffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x14);
- uint32_t x45 = (x43 & 0xfffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.v
deleted file mode 100644
index 2fcab9a4d..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fesub.c b/src/Specific/solinas32_2e141m9_7limbs/fesub.c
deleted file mode 100644
index a1ead2aa0..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x3fffee + x5) - x17);
- out[1] = ((0x1ffffe + x7) - x19);
- out[2] = ((0x1ffffe + x9) - x21);
- out[3] = ((0x1ffffe + x11) - x23);
- out[4] = ((0x1ffffe + x13) - x25);
- out[5] = ((0x1ffffe + x15) - x27);
- out[6] = ((0x1ffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fesub.v b/src/Specific/solinas32_2e141m9_7limbs/fesub.v
deleted file mode 100644
index 72184468d..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.log
deleted file mode 100644
index 346dcca70..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1ffffe + x14) - x26), ((0x1ffffe + x15) - x27), ((0x1ffffe + x13) - x25), ((0x1ffffe + x11) - x23), ((0x1ffffe + x9) - x21), ((0x1ffffe + x7) - x19), ((0x3fffee + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.v
deleted file mode 100644
index 4e0578a1c..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e141m9_7limbs/freeze.c b/src/Specific/solinas32_2e141m9_7limbs/freeze.c
deleted file mode 100644
index 26cae0fa5..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffff7);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xfffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0xfffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xfffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0xfffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xfffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x1ffff7);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0xfffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0xfffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0xfffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0xfffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0xfffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0xfffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e141m9_7limbs/freeze.v b/src/Specific/solinas32_2e141m9_7limbs/freeze.v
deleted file mode 100644
index 01dde236b..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.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_2e141m9_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.log
deleted file mode 100644
index 230b59dc9..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffff7);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xfffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0xfffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xfffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0xfffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xfffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x1ffff7);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0xfffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0xfffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0xfffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0xfffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0xfffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0xfffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.v
deleted file mode 100644
index b9642c5a2..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e141m9_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e141m9_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e141m9_7limbs/py_interpreter.sh
deleted file mode 100755
index c62c46cd5..000000000
--- a/src/Specific/solinas32_2e141m9_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**141 - 9' -Dmodulus_bytes='20 + 1/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e150m3_6limbs/CurveParameters.v b/src/Specific/solinas32_2e150m3_6limbs/CurveParameters.v
deleted file mode 100644
index 4f693fe27..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 3
-Base: 25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 25;
- bitwidth := 32;
- s := 2^150;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e150m3_6limbs/Synthesis.v b/src/Specific/solinas32_2e150m3_6limbs/Synthesis.v
deleted file mode 100644
index dafc9cdc7..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/compiler.sh b/src/Specific/solinas32_2e150m3_6limbs/compiler.sh
deleted file mode 100755
index c31699519..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas32_2e150m3_6limbs/compilerxx.sh b/src/Specific/solinas32_2e150m3_6limbs/compilerxx.sh
deleted file mode 100755
index ad7ffef80..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas32_2e150m3_6limbs/feadd.c b/src/Specific/solinas32_2e150m3_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_6limbs/feadd.v b/src/Specific/solinas32_2e150m3_6limbs/feadd.v
deleted file mode 100644
index 187d32b6a..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.v
deleted file mode 100644
index 8a14207df..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fecarry.v b/src/Specific/solinas32_2e150m3_6limbs/fecarry.v
deleted file mode 100644
index 0c2c21552..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e150m3_6limbs/fecarryDisplay.v
deleted file mode 100644
index c1aeaa36e..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e150m3_6limbs/femul.c b/src/Specific/solinas32_2e150m3_6limbs/femul.c
deleted file mode 100644
index 8e1b3b763..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x3 * ((uint64_t)x12 * x22)));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x3 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x3 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x3 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x3 * (((uint64_t)x7 * x22) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x12 * x17)))))));
- { uint64_t x30 = (x29 >> 0x19);
- { uint32_t x31 = ((uint32_t)x29 & 0x1ffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x19);
- { uint32_t x34 = ((uint32_t)x32 & 0x1ffffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x19);
- { uint32_t x37 = ((uint32_t)x35 & 0x1ffffff);
- { uint64_t x38 = (x36 + x26);
- { uint32_t x39 = (uint32_t) (x38 >> 0x19);
- { uint32_t x40 = ((uint32_t)x38 & 0x1ffffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x19);
- { uint32_t x43 = ((uint32_t)x41 & 0x1ffffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x19);
- { uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- { uint64_t x47 = (x31 + ((uint64_t)0x3 * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x19);
- { uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x19);
- { uint32_t x52 = (x50 & 0x1ffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_6limbs/femul.v b/src/Specific/solinas32_2e150m3_6limbs/femul.v
deleted file mode 100644
index 21acddccc..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/femulDisplay.log b/src/Specific/solinas32_2e150m3_6limbs/femulDisplay.log
deleted file mode 100644
index c0d245008..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x3 * ((uint64_t)x12 * x22)));
- uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x3 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x3 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x3 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x3 * (((uint64_t)x7 * x22) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x12 * x17)))))));
- uint64_t x30 = (x29 >> 0x19);
- uint32_t x31 = ((uint32_t)x29 & 0x1ffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x19);
- uint32_t x34 = ((uint32_t)x32 & 0x1ffffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x19);
- uint32_t x37 = ((uint32_t)x35 & 0x1ffffff);
- uint64_t x38 = (x36 + x26);
- uint32_t x39 = (uint32_t) (x38 >> 0x19);
- uint32_t x40 = ((uint32_t)x38 & 0x1ffffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x19);
- uint32_t x43 = ((uint32_t)x41 & 0x1ffffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x19);
- uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- uint64_t x47 = (x31 + ((uint64_t)0x3 * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x19);
- uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x19);
- uint32_t x52 = (x50 & 0x1ffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m3_6limbs/femulDisplay.v b/src/Specific/solinas32_2e150m3_6limbs/femulDisplay.v
deleted file mode 100644
index 1c45ed233..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fesquare.c b/src/Specific/solinas32_2e150m3_6limbs/fesquare.c
deleted file mode 100644
index 043ba5b12..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((uint64_t)x9 * x9)));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x3 * (((uint64_t)x4 * x9) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((uint64_t)x9 * x4)))))));
- { uint64_t x17 = (x16 >> 0x19);
- { uint32_t x18 = ((uint32_t)x16 & 0x1ffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x19);
- { uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x13);
- { uint32_t x26 = (uint32_t) (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x18 + ((uint64_t)0x3 * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x19);
- { uint32_t x39 = (x37 & 0x1ffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fesquare.v b/src/Specific/solinas32_2e150m3_6limbs/fesquare.v
deleted file mode 100644
index 89af0cb03..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.log
deleted file mode 100644
index 31d45f0a3..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((uint64_t)x9 * x9)));
- uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x3 * (((uint64_t)x4 * x9) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((uint64_t)x9 * x4)))))));
- uint64_t x17 = (x16 >> 0x19);
- uint32_t x18 = ((uint32_t)x16 & 0x1ffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x19);
- uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x13);
- uint32_t x26 = (uint32_t) (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x18 + ((uint64_t)0x3 * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x19);
- uint32_t x39 = (x37 & 0x1ffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.v
deleted file mode 100644
index e66521590..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fesub.c b/src/Specific/solinas32_2e150m3_6limbs/fesub.c
deleted file mode 100644
index fd241a4d4..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x3fffffa + x5) - x15);
- out[1] = ((0x3fffffe + x7) - x17);
- out[2] = ((0x3fffffe + x9) - x19);
- out[3] = ((0x3fffffe + x11) - x21);
- out[4] = ((0x3fffffe + x13) - x23);
- out[5] = ((0x3fffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fesub.v b/src/Specific/solinas32_2e150m3_6limbs/fesub.v
deleted file mode 100644
index 5f21f06c8..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.log
deleted file mode 100644
index 582cc74fa..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3fffffe + x12) - x22), ((0x3fffffe + x13) - x23), ((0x3fffffe + x11) - x21), ((0x3fffffe + x9) - x19), ((0x3fffffe + x7) - x17), ((0x3fffffa + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.v
deleted file mode 100644
index 46981ad9e..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e150m3_6limbs/freeze.c b/src/Specific/solinas32_2e150m3_6limbs/freeze.c
deleted file mode 100644
index 4dbed5747..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1ffffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x1fffffd);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x1ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x1ffffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_6limbs/freeze.v b/src/Specific/solinas32_2e150m3_6limbs/freeze.v
deleted file mode 100644
index 822a022bd..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.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_2e150m3_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.log
deleted file mode 100644
index 849da0935..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1ffffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x1fffffd);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x1ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x1ffffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.v
deleted file mode 100644
index e0967ca28..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e150m3_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e150m3_6limbs/py_interpreter.sh
deleted file mode 100755
index c52299d11..000000000
--- a/src/Specific/solinas32_2e150m3_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 3' -Dmodulus_bytes='25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e150m3_7limbs/CurveParameters.v b/src/Specific/solinas32_2e150m3_7limbs/CurveParameters.v
deleted file mode 100644
index c4e23850a..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 3
-Base: 21 + 3/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 21 + 3/7;
- bitwidth := 32;
- s := 2^150;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e150m3_7limbs/Synthesis.v b/src/Specific/solinas32_2e150m3_7limbs/Synthesis.v
deleted file mode 100644
index 23e2dd792..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/compiler.sh b/src/Specific/solinas32_2e150m3_7limbs/compiler.sh
deleted file mode 100755
index 4e4c35171..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas32_2e150m3_7limbs/compilerxx.sh b/src/Specific/solinas32_2e150m3_7limbs/compilerxx.sh
deleted file mode 100755
index f26584589..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas32_2e150m3_7limbs/feadd.c b/src/Specific/solinas32_2e150m3_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_7limbs/feadd.v b/src/Specific/solinas32_2e150m3_7limbs/feadd.v
deleted file mode 100644
index a9a519dbd..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.v
deleted file mode 100644
index 55e2a6ad9..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fecarry.v b/src/Specific/solinas32_2e150m3_7limbs/fecarry.v
deleted file mode 100644
index b11d002a9..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e150m3_7limbs/fecarryDisplay.v
deleted file mode 100644
index f8c6bbc8a..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e150m3_7limbs/femul.c b/src/Specific/solinas32_2e150m3_7limbs/femul.c
deleted file mode 100644
index e8e91f157..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x3 * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x3 * (((uint64_t)x13 * x26) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x3 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x3 * (((uint64_t)x9 * x26) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x14 * x21)))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x3 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x33);
- { uint32_t x38 = (uint32_t) (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x38 + x32);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x31);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x15);
- { uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- { uint32_t x55 = (x36 + (0x3 * x53));
- { uint32_t x56 = (x55 >> 0x16);
- { uint32_t x57 = (x55 & 0x3fffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x15);
- { uint32_t x60 = (x58 & 0x1fffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_7limbs/femul.v b/src/Specific/solinas32_2e150m3_7limbs/femul.v
deleted file mode 100644
index 339b87342..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/femulDisplay.log b/src/Specific/solinas32_2e150m3_7limbs/femulDisplay.log
deleted file mode 100644
index a122fdd87..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x3 * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x3 * (((uint64_t)x13 * x26) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x3 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x3 * (((uint64_t)x9 * x26) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x14 * x21)))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x3 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x33);
- uint32_t x38 = (uint32_t) (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x38 + x32);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x31);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x15);
- uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- uint32_t x55 = (x36 + (0x3 * x53));
- uint32_t x56 = (x55 >> 0x16);
- uint32_t x57 = (x55 & 0x3fffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x15);
- uint32_t x60 = (x58 & 0x1fffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m3_7limbs/femulDisplay.v b/src/Specific/solinas32_2e150m3_7limbs/femulDisplay.v
deleted file mode 100644
index ea75b22f9..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fesquare.c b/src/Specific/solinas32_2e150m3_7limbs/fesquare.c
deleted file mode 100644
index 21212e541..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x11) + ((0x2 * ((uint64_t)x12 * x12)) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x11) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((uint64_t)x11 * x6)))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint32_t x20 = (uint32_t) (x19 >> 0x16);
- { uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- { uint64_t x22 = (x20 + x18);
- { uint32_t x23 = (uint32_t) (x22 >> 0x15);
- { uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- { uint64_t x25 = (x23 + x17);
- { uint32_t x26 = (uint32_t) (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x16);
- { uint32_t x29 = (uint32_t) (x28 >> 0x15);
- { uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x15);
- { uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint32_t x40 = (x21 + (0x3 * x38));
- { uint32_t x41 = (x40 >> 0x16);
- { uint32_t x42 = (x40 & 0x3fffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x15);
- { uint32_t x45 = (x43 & 0x1fffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fesquare.v b/src/Specific/solinas32_2e150m3_7limbs/fesquare.v
deleted file mode 100644
index 73249a2c7..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.log
deleted file mode 100644
index b775e6872..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x11) + ((0x2 * ((uint64_t)x12 * x12)) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x11) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((uint64_t)x11 * x6)))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint32_t x20 = (uint32_t) (x19 >> 0x16);
- uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- uint64_t x22 = (x20 + x18);
- uint32_t x23 = (uint32_t) (x22 >> 0x15);
- uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- uint64_t x25 = (x23 + x17);
- uint32_t x26 = (uint32_t) (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x16);
- uint32_t x29 = (uint32_t) (x28 >> 0x15);
- uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x15);
- uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint32_t x40 = (x21 + (0x3 * x38));
- uint32_t x41 = (x40 >> 0x16);
- uint32_t x42 = (x40 & 0x3fffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x15);
- uint32_t x45 = (x43 & 0x1fffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.v
deleted file mode 100644
index 09baa2aab..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fesub.c b/src/Specific/solinas32_2e150m3_7limbs/fesub.c
deleted file mode 100644
index 28bad45b5..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x7ffffa + x5) - x17);
- out[1] = ((0x3ffffe + x7) - x19);
- out[2] = ((0x7ffffe + x9) - x21);
- out[3] = ((0x3ffffe + x11) - x23);
- out[4] = ((0x7ffffe + x13) - x25);
- out[5] = ((0x3ffffe + x15) - x27);
- out[6] = ((0x3ffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fesub.v b/src/Specific/solinas32_2e150m3_7limbs/fesub.v
deleted file mode 100644
index e1d694fec..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.log
deleted file mode 100644
index 9bb97f7e2..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x3ffffe + x14) - x26), ((0x3ffffe + x15) - x27), ((0x7ffffe + x13) - x25), ((0x3ffffe + x11) - x23), ((0x7ffffe + x9) - x21), ((0x3ffffe + x7) - x19), ((0x7ffffa + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.v
deleted file mode 100644
index 1ae520389..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e150m3_7limbs/freeze.c b/src/Specific/solinas32_2e150m3_7limbs/freeze.c
deleted file mode 100644
index 052baf1be..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffd);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x3ffffd);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x1fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x3fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x1fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x3fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x1fffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m3_7limbs/freeze.v b/src/Specific/solinas32_2e150m3_7limbs/freeze.v
deleted file mode 100644
index 33b764dd0..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.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_2e150m3_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.log
deleted file mode 100644
index 5dc979b5d..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffd);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x3ffffd);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x1fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x3fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x1fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x3fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x1fffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.v
deleted file mode 100644
index 238d7f8f7..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m3_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e150m3_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e150m3_7limbs/py_interpreter.sh
deleted file mode 100755
index 1c4c8ea30..000000000
--- a/src/Specific/solinas32_2e150m3_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 3' -Dmodulus_bytes='21 + 3/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e150m5_6limbs/CurveParameters.v b/src/Specific/solinas32_2e150m5_6limbs/CurveParameters.v
deleted file mode 100644
index 4ee09cc7d..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 5
-Base: 25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 25;
- bitwidth := 32;
- s := 2^150;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e150m5_6limbs/Synthesis.v b/src/Specific/solinas32_2e150m5_6limbs/Synthesis.v
deleted file mode 100644
index cbc77e86b..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/compiler.sh b/src/Specific/solinas32_2e150m5_6limbs/compiler.sh
deleted file mode 100755
index 5fa75c707..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas32_2e150m5_6limbs/compilerxx.sh b/src/Specific/solinas32_2e150m5_6limbs/compilerxx.sh
deleted file mode 100755
index c733f3187..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas32_2e150m5_6limbs/feadd.c b/src/Specific/solinas32_2e150m5_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_6limbs/feadd.v b/src/Specific/solinas32_2e150m5_6limbs/feadd.v
deleted file mode 100644
index d8620b268..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.v
deleted file mode 100644
index deeb44400..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fecarry.v b/src/Specific/solinas32_2e150m5_6limbs/fecarry.v
deleted file mode 100644
index 77e8ff44e..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e150m5_6limbs/fecarryDisplay.v
deleted file mode 100644
index 850b217ae..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e150m5_6limbs/femul.c b/src/Specific/solinas32_2e150m5_6limbs/femul.c
deleted file mode 100644
index 7c3a9970d..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x5 * ((uint64_t)x12 * x22)));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x5 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x5 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x5 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x5 * (((uint64_t)x7 * x22) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x12 * x17)))))));
- { uint64_t x30 = (x29 >> 0x19);
- { uint32_t x31 = ((uint32_t)x29 & 0x1ffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x19);
- { uint32_t x34 = ((uint32_t)x32 & 0x1ffffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x19);
- { uint32_t x37 = ((uint32_t)x35 & 0x1ffffff);
- { uint64_t x38 = (x36 + x26);
- { uint64_t x39 = (x38 >> 0x19);
- { uint32_t x40 = ((uint32_t)x38 & 0x1ffffff);
- { uint64_t x41 = (x39 + x25);
- { uint32_t x42 = (uint32_t) (x41 >> 0x19);
- { uint32_t x43 = ((uint32_t)x41 & 0x1ffffff);
- { uint64_t x44 = (x42 + x24);
- { uint32_t x45 = (uint32_t) (x44 >> 0x19);
- { uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- { uint64_t x47 = (x31 + ((uint64_t)0x5 * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x19);
- { uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x19);
- { uint32_t x52 = (x50 & 0x1ffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_6limbs/femul.v b/src/Specific/solinas32_2e150m5_6limbs/femul.v
deleted file mode 100644
index e36c4d7df..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/femulDisplay.log b/src/Specific/solinas32_2e150m5_6limbs/femulDisplay.log
deleted file mode 100644
index a78dc39c1..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x5 * ((uint64_t)x12 * x22)));
- uint64_t x26 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + (((uint64_t)x9 * x17) + ((uint64_t)x11 * x15)))) + (0x5 * (((uint64_t)x13 * x22) + ((uint64_t)x12 * x23))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x5 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x5 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x5 * (((uint64_t)x7 * x22) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x12 * x17)))))));
- uint64_t x30 = (x29 >> 0x19);
- uint32_t x31 = ((uint32_t)x29 & 0x1ffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x19);
- uint32_t x34 = ((uint32_t)x32 & 0x1ffffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x19);
- uint32_t x37 = ((uint32_t)x35 & 0x1ffffff);
- uint64_t x38 = (x36 + x26);
- uint64_t x39 = (x38 >> 0x19);
- uint32_t x40 = ((uint32_t)x38 & 0x1ffffff);
- uint64_t x41 = (x39 + x25);
- uint32_t x42 = (uint32_t) (x41 >> 0x19);
- uint32_t x43 = ((uint32_t)x41 & 0x1ffffff);
- uint64_t x44 = (x42 + x24);
- uint32_t x45 = (uint32_t) (x44 >> 0x19);
- uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- uint64_t x47 = (x31 + ((uint64_t)0x5 * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x19);
- uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x19);
- uint32_t x52 = (x50 & 0x1ffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m5_6limbs/femulDisplay.v b/src/Specific/solinas32_2e150m5_6limbs/femulDisplay.v
deleted file mode 100644
index 32f4f6809..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fesquare.c b/src/Specific/solinas32_2e150m5_6limbs/fesquare.c
deleted file mode 100644
index 7210a32c4..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * ((uint64_t)x9 * x9)));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x5 * (((uint64_t)x4 * x9) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((uint64_t)x9 * x4)))))));
- { uint64_t x17 = (x16 >> 0x19);
- { uint32_t x18 = ((uint32_t)x16 & 0x1ffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x19);
- { uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x13);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x12);
- { uint32_t x29 = (uint32_t) (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x11);
- { uint32_t x32 = (uint32_t) (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x18 + ((uint64_t)0x5 * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x19);
- { uint32_t x39 = (x37 & 0x1ffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fesquare.v b/src/Specific/solinas32_2e150m5_6limbs/fesquare.v
deleted file mode 100644
index d63e06bf1..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.log
deleted file mode 100644
index e32ea3b81..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * ((uint64_t)x9 * x9)));
- uint64_t x13 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x9) + ((uint64_t)x9 * x10))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x5 * (((uint64_t)x4 * x9) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((uint64_t)x9 * x4)))))));
- uint64_t x17 = (x16 >> 0x19);
- uint32_t x18 = ((uint32_t)x16 & 0x1ffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x19);
- uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x13);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x12);
- uint32_t x29 = (uint32_t) (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x11);
- uint32_t x32 = (uint32_t) (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x18 + ((uint64_t)0x5 * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x19);
- uint32_t x39 = (x37 & 0x1ffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.v
deleted file mode 100644
index 2b54aac4d..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fesub.c b/src/Specific/solinas32_2e150m5_6limbs/fesub.c
deleted file mode 100644
index a2bae1877..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x3fffff6 + x5) - x15);
- out[1] = ((0x3fffffe + x7) - x17);
- out[2] = ((0x3fffffe + x9) - x19);
- out[3] = ((0x3fffffe + x11) - x21);
- out[4] = ((0x3fffffe + x13) - x23);
- out[5] = ((0x3fffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fesub.v b/src/Specific/solinas32_2e150m5_6limbs/fesub.v
deleted file mode 100644
index df8abaa6b..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.log
deleted file mode 100644
index 1229647ea..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3fffffe + x12) - x22), ((0x3fffffe + x13) - x23), ((0x3fffffe + x11) - x21), ((0x3fffffe + x9) - x19), ((0x3fffffe + x7) - x17), ((0x3fffff6 + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.v
deleted file mode 100644
index 74b7b3607..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e150m5_6limbs/freeze.c b/src/Specific/solinas32_2e150m5_6limbs/freeze.c
deleted file mode 100644
index 877b3693b..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffb);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1ffffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x1fffffb);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x1ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x1ffffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_6limbs/freeze.v b/src/Specific/solinas32_2e150m5_6limbs/freeze.v
deleted file mode 100644
index 847c9b7e0..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.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_2e150m5_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.log
deleted file mode 100644
index 9a4af32ee..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffb);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1ffffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x1ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x1fffffb);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x1ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x1ffffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.v
deleted file mode 100644
index 775b893e4..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e150m5_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e150m5_6limbs/py_interpreter.sh
deleted file mode 100755
index dd832d5a7..000000000
--- a/src/Specific/solinas32_2e150m5_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 5' -Dmodulus_bytes='25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e150m5_7limbs/CurveParameters.v b/src/Specific/solinas32_2e150m5_7limbs/CurveParameters.v
deleted file mode 100644
index 03525bdcc..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 5
-Base: 21 + 3/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 21 + 3/7;
- bitwidth := 32;
- s := 2^150;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e150m5_7limbs/Synthesis.v b/src/Specific/solinas32_2e150m5_7limbs/Synthesis.v
deleted file mode 100644
index b627664df..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/compiler.sh b/src/Specific/solinas32_2e150m5_7limbs/compiler.sh
deleted file mode 100755
index de962e3d4..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas32_2e150m5_7limbs/compilerxx.sh b/src/Specific/solinas32_2e150m5_7limbs/compilerxx.sh
deleted file mode 100755
index 79d9d9241..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,22,21,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas32_2e150m5_7limbs/feadd.c b/src/Specific/solinas32_2e150m5_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_7limbs/feadd.v b/src/Specific/solinas32_2e150m5_7limbs/feadd.v
deleted file mode 100644
index bf9d67467..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.v
deleted file mode 100644
index 5397e80b5..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fecarry.v b/src/Specific/solinas32_2e150m5_7limbs/fecarry.v
deleted file mode 100644
index f8d231f26..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e150m5_7limbs/fecarryDisplay.v
deleted file mode 100644
index b82fa9dee..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e150m5_7limbs/femul.c b/src/Specific/solinas32_2e150m5_7limbs/femul.c
deleted file mode 100644
index 267c331ee..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x5 * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x5 * (((uint64_t)x13 * x26) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x5 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x5 * (((uint64_t)x9 * x26) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x14 * x21)))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x5 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x33);
- { uint32_t x38 = (uint32_t) (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x38 + x32);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x31);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x15);
- { uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- { uint32_t x55 = (x36 + (0x5 * x53));
- { uint32_t x56 = (x55 >> 0x16);
- { uint32_t x57 = (x55 & 0x3fffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x15);
- { uint32_t x60 = (x58 & 0x1fffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_7limbs/femul.v b/src/Specific/solinas32_2e150m5_7limbs/femul.v
deleted file mode 100644
index a853c48d6..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/femulDisplay.log b/src/Specific/solinas32_2e150m5_7limbs/femulDisplay.log
deleted file mode 100644
index 05cfd1066..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x5 * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x5 * (((uint64_t)x13 * x26) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x5 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x5 * (((uint64_t)x9 * x26) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x14 * x21)))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x5 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x33);
- uint32_t x38 = (uint32_t) (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x38 + x32);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x31);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x15);
- uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- uint32_t x55 = (x36 + (0x5 * x53));
- uint32_t x56 = (x55 >> 0x16);
- uint32_t x57 = (x55 & 0x3fffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x15);
- uint32_t x60 = (x58 & 0x1fffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m5_7limbs/femulDisplay.v b/src/Specific/solinas32_2e150m5_7limbs/femulDisplay.v
deleted file mode 100644
index 85482485b..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fesquare.c b/src/Specific/solinas32_2e150m5_7limbs/fesquare.c
deleted file mode 100644
index e29bdb4c9..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x11) + ((0x2 * ((uint64_t)x12 * x12)) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x11) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((uint64_t)x11 * x6)))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint32_t x20 = (uint32_t) (x19 >> 0x16);
- { uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- { uint64_t x22 = (x20 + x18);
- { uint32_t x23 = (uint32_t) (x22 >> 0x15);
- { uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- { uint64_t x25 = (x23 + x17);
- { uint32_t x26 = (uint32_t) (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x16);
- { uint32_t x29 = (uint32_t) (x28 >> 0x15);
- { uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x15);
- { uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint32_t x40 = (x21 + (0x5 * x38));
- { uint32_t x41 = (x40 >> 0x16);
- { uint32_t x42 = (x40 & 0x3fffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x15);
- { uint32_t x45 = (x43 & 0x1fffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fesquare.v b/src/Specific/solinas32_2e150m5_7limbs/fesquare.v
deleted file mode 100644
index 53dc29952..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.log
deleted file mode 100644
index 22a3d37df..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x11) + ((0x2 * ((uint64_t)x12 * x12)) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x11) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((uint64_t)x11 * x6)))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint32_t x20 = (uint32_t) (x19 >> 0x16);
- uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- uint64_t x22 = (x20 + x18);
- uint32_t x23 = (uint32_t) (x22 >> 0x15);
- uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- uint64_t x25 = (x23 + x17);
- uint32_t x26 = (uint32_t) (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x16);
- uint32_t x29 = (uint32_t) (x28 >> 0x15);
- uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x15);
- uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint32_t x40 = (x21 + (0x5 * x38));
- uint32_t x41 = (x40 >> 0x16);
- uint32_t x42 = (x40 & 0x3fffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x15);
- uint32_t x45 = (x43 & 0x1fffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.v
deleted file mode 100644
index ea56e3a52..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fesub.c b/src/Specific/solinas32_2e150m5_7limbs/fesub.c
deleted file mode 100644
index def03b357..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x7ffff6 + x5) - x17);
- out[1] = ((0x3ffffe + x7) - x19);
- out[2] = ((0x7ffffe + x9) - x21);
- out[3] = ((0x3ffffe + x11) - x23);
- out[4] = ((0x7ffffe + x13) - x25);
- out[5] = ((0x3ffffe + x15) - x27);
- out[6] = ((0x3ffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fesub.v b/src/Specific/solinas32_2e150m5_7limbs/fesub.v
deleted file mode 100644
index f78a5d0c2..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.log
deleted file mode 100644
index a9be237c2..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x3ffffe + x14) - x26), ((0x3ffffe + x15) - x27), ((0x7ffffe + x13) - x25), ((0x3ffffe + x11) - x23), ((0x7ffffe + x9) - x21), ((0x3ffffe + x7) - x19), ((0x7ffff6 + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.v
deleted file mode 100644
index f8c131141..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e150m5_7limbs/freeze.c b/src/Specific/solinas32_2e150m5_7limbs/freeze.c
deleted file mode 100644
index 1eee5b658..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffb);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x3ffffb);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x1fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x3fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x1fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x3fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x1fffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e150m5_7limbs/freeze.v b/src/Specific/solinas32_2e150m5_7limbs/freeze.v
deleted file mode 100644
index 22e44fd0f..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.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_2e150m5_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.log
deleted file mode 100644
index 15ce74d4b..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffb);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x3ffffb);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x1fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x3fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x1fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x3fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x1fffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.v
deleted file mode 100644
index c728d15a8..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e150m5_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e150m5_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e150m5_7limbs/py_interpreter.sh
deleted file mode 100755
index 93f34c08e..000000000
--- a/src/Specific/solinas32_2e150m5_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 5' -Dmodulus_bytes='21 + 3/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e152m17_6limbs/CurveParameters.v b/src/Specific/solinas32_2e152m17_6limbs/CurveParameters.v
deleted file mode 100644
index 22ea729fc..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^152 - 17
-Base: 25 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 25 + 1/3;
- bitwidth := 32;
- s := 2^152;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e152m17_6limbs/Synthesis.v b/src/Specific/solinas32_2e152m17_6limbs/Synthesis.v
deleted file mode 100644
index f30360062..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/compiler.sh b/src/Specific/solinas32_2e152m17_6limbs/compiler.sh
deleted file mode 100755
index 62cf8c2d3..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas32_2e152m17_6limbs/compilerxx.sh b/src/Specific/solinas32_2e152m17_6limbs/compilerxx.sh
deleted file mode 100755
index 3db6e7734..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas32_2e152m17_6limbs/feadd.c b/src/Specific/solinas32_2e152m17_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_6limbs/feadd.v b/src/Specific/solinas32_2e152m17_6limbs/feadd.v
deleted file mode 100644
index cda4bf30e..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.v
deleted file mode 100644
index 71cee85c2..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fecarry.v b/src/Specific/solinas32_2e152m17_6limbs/fecarry.v
deleted file mode 100644
index 8813eb3fa..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e152m17_6limbs/fecarryDisplay.v
deleted file mode 100644
index 6d520eeba..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e152m17_6limbs/femul.c b/src/Specific/solinas32_2e152m17_6limbs/femul.c
deleted file mode 100644
index 5cf3743f7..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x11 * ((uint64_t)x12 * x22)));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x11 * (((uint64_t)x11 * x22) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x11 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0x11 * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint64_t x30 = (x29 >> 0x1a);
- { uint32_t x31 = ((uint32_t)x29 & 0x3ffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x19);
- { uint32_t x34 = ((uint32_t)x32 & 0x1ffffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x19);
- { uint32_t x37 = ((uint32_t)x35 & 0x1ffffff);
- { uint64_t x38 = (x36 + x26);
- { uint64_t x39 = (x38 >> 0x1a);
- { uint32_t x40 = ((uint32_t)x38 & 0x3ffffff);
- { uint64_t x41 = (x39 + x25);
- { uint64_t x42 = (x41 >> 0x19);
- { uint32_t x43 = ((uint32_t)x41 & 0x1ffffff);
- { uint64_t x44 = (x42 + x24);
- { uint64_t x45 = (x44 >> 0x19);
- { uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- { uint64_t x47 = (x31 + (0x11 * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x1a);
- { uint32_t x49 = ((uint32_t)x47 & 0x3ffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x19);
- { uint32_t x52 = (x50 & 0x1ffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_6limbs/femul.v b/src/Specific/solinas32_2e152m17_6limbs/femul.v
deleted file mode 100644
index 809501e57..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/femulDisplay.log b/src/Specific/solinas32_2e152m17_6limbs/femulDisplay.log
deleted file mode 100644
index 434a3892a..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x11 * ((uint64_t)x12 * x22)));
- uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0x11 * (((uint64_t)x11 * x22) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x11 * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0x11 * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint64_t x30 = (x29 >> 0x1a);
- uint32_t x31 = ((uint32_t)x29 & 0x3ffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x19);
- uint32_t x34 = ((uint32_t)x32 & 0x1ffffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x19);
- uint32_t x37 = ((uint32_t)x35 & 0x1ffffff);
- uint64_t x38 = (x36 + x26);
- uint64_t x39 = (x38 >> 0x1a);
- uint32_t x40 = ((uint32_t)x38 & 0x3ffffff);
- uint64_t x41 = (x39 + x25);
- uint64_t x42 = (x41 >> 0x19);
- uint32_t x43 = ((uint32_t)x41 & 0x1ffffff);
- uint64_t x44 = (x42 + x24);
- uint64_t x45 = (x44 >> 0x19);
- uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- uint64_t x47 = (x31 + (0x11 * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x1a);
- uint32_t x49 = ((uint32_t)x47 & 0x3ffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x19);
- uint32_t x52 = (x50 & 0x1ffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e152m17_6limbs/femulDisplay.v b/src/Specific/solinas32_2e152m17_6limbs/femulDisplay.v
deleted file mode 100644
index 8ccac81c8..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fesquare.c b/src/Specific/solinas32_2e152m17_6limbs/fesquare.c
deleted file mode 100644
index 3d2387de8..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((uint64_t)x9 * x9)));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x9) + ((0x2 * ((uint64_t)x10 * x10)) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint64_t x17 = (x16 >> 0x1a);
- { uint32_t x18 = ((uint32_t)x16 & 0x3ffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x19);
- { uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x13);
- { uint64_t x26 = (x25 >> 0x1a);
- { uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- { uint64_t x28 = (x26 + x12);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x11);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x18 + (0x11 * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x19);
- { uint32_t x39 = (x37 & 0x1ffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fesquare.v b/src/Specific/solinas32_2e152m17_6limbs/fesquare.v
deleted file mode 100644
index 6a6a924a8..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.log
deleted file mode 100644
index cc5bc86f5..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((uint64_t)x9 * x9)));
- uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x9) + ((0x2 * ((uint64_t)x10 * x10)) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint64_t x17 = (x16 >> 0x1a);
- uint32_t x18 = ((uint32_t)x16 & 0x3ffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x19);
- uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x13);
- uint64_t x26 = (x25 >> 0x1a);
- uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- uint64_t x28 = (x26 + x12);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x11);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x18 + (0x11 * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x19);
- uint32_t x39 = (x37 & 0x1ffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.v
deleted file mode 100644
index c3e27d0ef..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fesub.c b/src/Specific/solinas32_2e152m17_6limbs/fesub.c
deleted file mode 100644
index 1153d1999..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x7ffffde + x5) - x15);
- out[1] = ((0x3fffffe + x7) - x17);
- out[2] = ((0x3fffffe + x9) - x19);
- out[3] = ((0x7fffffe + x11) - x21);
- out[4] = ((0x3fffffe + x13) - x23);
- out[5] = ((0x3fffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fesub.v b/src/Specific/solinas32_2e152m17_6limbs/fesub.v
deleted file mode 100644
index b370f8b89..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.log
deleted file mode 100644
index 535c511cc..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3fffffe + x12) - x22), ((0x3fffffe + x13) - x23), ((0x7fffffe + x11) - x21), ((0x3fffffe + x9) - x19), ((0x3fffffe + x7) - x17), ((0x7ffffde + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.v
deleted file mode 100644
index e7f0bbf20..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e152m17_6limbs/freeze.c b/src/Specific/solinas32_2e152m17_6limbs/freeze.c
deleted file mode 100644
index 539597636..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1ffffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x3ffffef);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x1ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x1ffffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_6limbs/freeze.v b/src/Specific/solinas32_2e152m17_6limbs/freeze.v
deleted file mode 100644
index 18403b22b..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.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_2e152m17_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.log
deleted file mode 100644
index 5d8bdcde7..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x1ffffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x3ffffef);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x1ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x1ffffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.v
deleted file mode 100644
index 177f96178..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e152m17_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e152m17_6limbs/py_interpreter.sh
deleted file mode 100755
index d0a2d5eb1..000000000
--- a/src/Specific/solinas32_2e152m17_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**152 - 17' -Dmodulus_bytes='25 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e152m17_7limbs/CurveParameters.v b/src/Specific/solinas32_2e152m17_7limbs/CurveParameters.v
deleted file mode 100644
index 3f8039bb2..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^152 - 17
-Base: 21 + 5/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 21 + 5/7;
- bitwidth := 32;
- s := 2^152;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e152m17_7limbs/Synthesis.v b/src/Specific/solinas32_2e152m17_7limbs/Synthesis.v
deleted file mode 100644
index 4ed504522..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/compiler.sh b/src/Specific/solinas32_2e152m17_7limbs/compiler.sh
deleted file mode 100755
index 5ae12f71d..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas32_2e152m17_7limbs/compilerxx.sh b/src/Specific/solinas32_2e152m17_7limbs/compilerxx.sh
deleted file mode 100755
index b3984ecb8..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas32_2e152m17_7limbs/feadd.c b/src/Specific/solinas32_2e152m17_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_7limbs/feadd.v b/src/Specific/solinas32_2e152m17_7limbs/feadd.v
deleted file mode 100644
index 08dcd8698..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.v
deleted file mode 100644
index ea69b8277..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fecarry.v b/src/Specific/solinas32_2e152m17_7limbs/fecarry.v
deleted file mode 100644
index ed6ac251f..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e152m17_7limbs/fecarryDisplay.v
deleted file mode 100644
index bc4311aab..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e152m17_7limbs/femul.c b/src/Specific/solinas32_2e152m17_7limbs/femul.c
deleted file mode 100644
index 4e37d78d5..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x11 * (0x2 * ((uint64_t)x14 * x26))));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x11 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x11 * ((0x2 * ((uint64_t)x11 * x26)) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x11 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x11 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x33);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x32);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x31);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x16);
- { uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x15);
- { uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- { uint64_t x55 = (x36 + ((uint64_t)0x11 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x16);
- { uint32_t x60 = (x58 & 0x3fffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_7limbs/femul.v b/src/Specific/solinas32_2e152m17_7limbs/femul.v
deleted file mode 100644
index 0d6ee477b..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/femulDisplay.log b/src/Specific/solinas32_2e152m17_7limbs/femulDisplay.log
deleted file mode 100644
index 8f2c23481..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x11 * (0x2 * ((uint64_t)x14 * x26))));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x11 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x11 * ((0x2 * ((uint64_t)x11 * x26)) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x11 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x11 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x33);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x32);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x31);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x16);
- uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x15);
- uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- uint64_t x55 = (x36 + ((uint64_t)0x11 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x16);
- uint32_t x60 = (x58 & 0x3fffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e152m17_7limbs/femulDisplay.v b/src/Specific/solinas32_2e152m17_7limbs/femulDisplay.v
deleted file mode 100644
index 820360046..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fesquare.c b/src/Specific/solinas32_2e152m17_7limbs/fesquare.c
deleted file mode 100644
index f25e30e0d..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (0x2 * ((uint64_t)x11 * x11))));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x11)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x16);
- { uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- { uint64_t x22 = (x20 + x18);
- { uint32_t x23 = (uint32_t) (x22 >> 0x16);
- { uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- { uint64_t x25 = (x23 + x17);
- { uint32_t x26 = (uint32_t) (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x16);
- { uint32_t x29 = (uint32_t) (x28 >> 0x15);
- { uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x21 + ((uint64_t)0x11 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x16);
- { uint32_t x45 = (x43 & 0x3fffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fesquare.v b/src/Specific/solinas32_2e152m17_7limbs/fesquare.v
deleted file mode 100644
index 3d661027d..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.log
deleted file mode 100644
index e4acf0c76..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (0x2 * ((uint64_t)x11 * x11))));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x11)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x16);
- uint32_t x21 = ((uint32_t)x19 & 0x3fffff);
- uint64_t x22 = (x20 + x18);
- uint32_t x23 = (uint32_t) (x22 >> 0x16);
- uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- uint64_t x25 = (x23 + x17);
- uint32_t x26 = (uint32_t) (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x16);
- uint32_t x29 = (uint32_t) (x28 >> 0x15);
- uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x21 + ((uint64_t)0x11 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x16);
- uint32_t x45 = (x43 & 0x3fffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.v
deleted file mode 100644
index 09e48a1c9..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fesub.c b/src/Specific/solinas32_2e152m17_7limbs/fesub.c
deleted file mode 100644
index d5ab3c216..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x7fffde + x5) - x17);
- out[1] = ((0x7ffffe + x7) - x19);
- out[2] = ((0x7ffffe + x9) - x21);
- out[3] = ((0x3ffffe + x11) - x23);
- out[4] = ((0x7ffffe + x13) - x25);
- out[5] = ((0x7ffffe + x15) - x27);
- out[6] = ((0x3ffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fesub.v b/src/Specific/solinas32_2e152m17_7limbs/fesub.v
deleted file mode 100644
index 87521a3fb..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.log
deleted file mode 100644
index 4c35b7065..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x3ffffe + x14) - x26), ((0x7ffffe + x15) - x27), ((0x7ffffe + x13) - x25), ((0x3ffffe + x11) - x23), ((0x7ffffe + x9) - x21), ((0x7ffffe + x7) - x19), ((0x7fffde + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.v
deleted file mode 100644
index 8c373a497..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e152m17_7limbs/freeze.c b/src/Specific/solinas32_2e152m17_7limbs/freeze.c
deleted file mode 100644
index 51d8576f3..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffef);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x3fffef);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x3fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x3fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x1fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x3fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x3fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x1fffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e152m17_7limbs/freeze.v b/src/Specific/solinas32_2e152m17_7limbs/freeze.v
deleted file mode 100644
index 20a506fe9..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.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_2e152m17_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.log
deleted file mode 100644
index 6c155f863..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffef);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x3fffef);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x3fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x3fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x1fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x3fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x3fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x1fffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.v
deleted file mode 100644
index 97c194d15..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e152m17_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e152m17_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e152m17_7limbs/py_interpreter.sh
deleted file mode 100755
index 5d84ec970..000000000
--- a/src/Specific/solinas32_2e152m17_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**152 - 17' -Dmodulus_bytes='21 + 5/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e158m15_6limbs/CurveParameters.v b/src/Specific/solinas32_2e158m15_6limbs/CurveParameters.v
deleted file mode 100644
index 726a23d43..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^158 - 15
-Base: 26 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 26 + 1/3;
- bitwidth := 32;
- s := 2^158;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e158m15_6limbs/Synthesis.v b/src/Specific/solinas32_2e158m15_6limbs/Synthesis.v
deleted file mode 100644
index 7ff0183f6..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/compiler.sh b/src/Specific/solinas32_2e158m15_6limbs/compiler.sh
deleted file mode 100755
index 8c1e08024..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas32_2e158m15_6limbs/compilerxx.sh b/src/Specific/solinas32_2e158m15_6limbs/compilerxx.sh
deleted file mode 100755
index 359d2dba0..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,27,26,26}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas32_2e158m15_6limbs/feadd.c b/src/Specific/solinas32_2e158m15_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_6limbs/feadd.v b/src/Specific/solinas32_2e158m15_6limbs/feadd.v
deleted file mode 100644
index 743fc13a9..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.v
deleted file mode 100644
index d6ea2a6a6..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fecarry.v b/src/Specific/solinas32_2e158m15_6limbs/fecarry.v
deleted file mode 100644
index 9548d23a3..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e158m15_6limbs/fecarryDisplay.v
deleted file mode 100644
index ca527c233..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e158m15_6limbs/femul.c b/src/Specific/solinas32_2e158m15_6limbs/femul.c
deleted file mode 100644
index 353afb2a8..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0xf * ((uint64_t)x12 * x22)));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0xf * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0xf * (((uint64_t)x11 * x22) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0xf * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- { uint64_t x29 = (((uint64_t)x5 * x15) + (0xf * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint64_t x30 = (x29 >> 0x1b);
- { uint32_t x31 = ((uint32_t)x29 & 0x7ffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x1a);
- { uint32_t x34 = ((uint32_t)x32 & 0x3ffffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x1a);
- { uint32_t x37 = ((uint32_t)x35 & 0x3ffffff);
- { uint64_t x38 = (x36 + x26);
- { uint64_t x39 = (x38 >> 0x1b);
- { uint32_t x40 = ((uint32_t)x38 & 0x7ffffff);
- { uint64_t x41 = (x39 + x25);
- { uint64_t x42 = (x41 >> 0x1a);
- { uint32_t x43 = ((uint32_t)x41 & 0x3ffffff);
- { uint64_t x44 = (x42 + x24);
- { uint64_t x45 = (x44 >> 0x1a);
- { uint32_t x46 = ((uint32_t)x44 & 0x3ffffff);
- { uint64_t x47 = (x31 + (0xf * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x1b);
- { uint32_t x49 = ((uint32_t)x47 & 0x7ffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x1a);
- { uint32_t x52 = (x50 & 0x3ffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_6limbs/femul.v b/src/Specific/solinas32_2e158m15_6limbs/femul.v
deleted file mode 100644
index a8c7f50bd..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/femulDisplay.log b/src/Specific/solinas32_2e158m15_6limbs/femulDisplay.log
deleted file mode 100644
index 83d0d6f1e..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((0x2 * ((uint64_t)x13 * x17)) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0xf * ((uint64_t)x12 * x22)));
- uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0xf * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + ((0x2 * ((uint64_t)x7 * x17)) + ((uint64_t)x9 * x15))) + (0xf * (((uint64_t)x11 * x22) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0xf * (((uint64_t)x9 * x22) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x12 * x19))))));
- uint64_t x29 = (((uint64_t)x5 * x15) + (0xf * ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint64_t x30 = (x29 >> 0x1b);
- uint32_t x31 = ((uint32_t)x29 & 0x7ffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x1a);
- uint32_t x34 = ((uint32_t)x32 & 0x3ffffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x1a);
- uint32_t x37 = ((uint32_t)x35 & 0x3ffffff);
- uint64_t x38 = (x36 + x26);
- uint64_t x39 = (x38 >> 0x1b);
- uint32_t x40 = ((uint32_t)x38 & 0x7ffffff);
- uint64_t x41 = (x39 + x25);
- uint64_t x42 = (x41 >> 0x1a);
- uint32_t x43 = ((uint32_t)x41 & 0x3ffffff);
- uint64_t x44 = (x42 + x24);
- uint64_t x45 = (x44 >> 0x1a);
- uint32_t x46 = ((uint32_t)x44 & 0x3ffffff);
- uint64_t x47 = (x31 + (0xf * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x1b);
- uint32_t x49 = ((uint32_t)x47 & 0x7ffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x1a);
- uint32_t x52 = (x50 & 0x3ffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e158m15_6limbs/femulDisplay.v b/src/Specific/solinas32_2e158m15_6limbs/femulDisplay.v
deleted file mode 100644
index 626d7c5dd..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fesquare.c b/src/Specific/solinas32_2e158m15_6limbs/fesquare.c
deleted file mode 100644
index 588f6154b..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * ((uint64_t)x9 * x9)));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x9) + ((0x2 * ((uint64_t)x10 * x10)) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- { uint64_t x16 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint64_t x17 = (x16 >> 0x1b);
- { uint32_t x18 = ((uint32_t)x16 & 0x7ffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x1a);
- { uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x1a);
- { uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- { uint64_t x25 = (x23 + x13);
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x28 = (x26 + x12);
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x11);
- { uint64_t x32 = (x31 >> 0x1a);
- { uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- { uint64_t x34 = (x18 + (0xf * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x1b);
- { uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = (x37 & 0x3ffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fesquare.v b/src/Specific/solinas32_2e158m15_6limbs/fesquare.v
deleted file mode 100644
index 08f15ddca..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.log
deleted file mode 100644
index c77e995f1..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * ((uint64_t)x9 * x9)));
- uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x9) + ((0x2 * ((uint64_t)x10 * x10)) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x9) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((uint64_t)x9 * x6))))));
- uint64_t x16 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint64_t x17 = (x16 >> 0x1b);
- uint32_t x18 = ((uint32_t)x16 & 0x7ffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x1a);
- uint32_t x21 = ((uint32_t)x19 & 0x3ffffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x1a);
- uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- uint64_t x25 = (x23 + x13);
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x28 = (x26 + x12);
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x11);
- uint64_t x32 = (x31 >> 0x1a);
- uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- uint64_t x34 = (x18 + (0xf * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x1b);
- uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x1a);
- uint32_t x39 = (x37 & 0x3ffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.v
deleted file mode 100644
index 5cdcfe574..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fesub.c b/src/Specific/solinas32_2e158m15_6limbs/fesub.c
deleted file mode 100644
index 2da1f8617..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0xfffffe2 + x5) - x15);
- out[1] = ((0x7fffffe + x7) - x17);
- out[2] = ((0x7fffffe + x9) - x19);
- out[3] = ((0xffffffe + x11) - x21);
- out[4] = ((0x7fffffe + x13) - x23);
- out[5] = ((0x7fffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fesub.v b/src/Specific/solinas32_2e158m15_6limbs/fesub.v
deleted file mode 100644
index 473f9de6a..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.log
deleted file mode 100644
index 284622c58..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x7fffffe + x12) - x22), ((0x7fffffe + x13) - x23), ((0xffffffe + x11) - x21), ((0x7fffffe + x9) - x19), ((0x7fffffe + x7) - x17), ((0xfffffe2 + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.v
deleted file mode 100644
index 671ce87a7..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e158m15_6limbs/freeze.c b/src/Specific/solinas32_2e158m15_6limbs/freeze.c
deleted file mode 100644
index c465eb5ed..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff1);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x3ffffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x7ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x3ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0x7fffff1);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0x3ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x3ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0x7ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0x3ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x3ffffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_6limbs/freeze.v b/src/Specific/solinas32_2e158m15_6limbs/freeze.v
deleted file mode 100644
index 4d49c7880..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.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_2e158m15_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.log
deleted file mode 100644
index 9df853258..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff1);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0x3ffffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0x7ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0x3ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0x7fffff1);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0x3ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x3ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0x7ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0x3ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x3ffffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.v
deleted file mode 100644
index be8edd8e3..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e158m15_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e158m15_6limbs/py_interpreter.sh
deleted file mode 100755
index cf35d4d01..000000000
--- a/src/Specific/solinas32_2e158m15_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**158 - 15' -Dmodulus_bytes='26 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e158m15_7limbs/CurveParameters.v b/src/Specific/solinas32_2e158m15_7limbs/CurveParameters.v
deleted file mode 100644
index 7bda8290c..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^158 - 15
-Base: 22 + 4/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 22 + 4/7;
- bitwidth := 32;
- s := 2^158;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e158m15_7limbs/Synthesis.v b/src/Specific/solinas32_2e158m15_7limbs/Synthesis.v
deleted file mode 100644
index 232d5ee06..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/compiler.sh b/src/Specific/solinas32_2e158m15_7limbs/compiler.sh
deleted file mode 100755
index 2578c2582..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas32_2e158m15_7limbs/compilerxx.sh b/src/Specific/solinas32_2e158m15_7limbs/compilerxx.sh
deleted file mode 100755
index 23932e58a..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas32_2e158m15_7limbs/feadd.c b/src/Specific/solinas32_2e158m15_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_7limbs/feadd.v b/src/Specific/solinas32_2e158m15_7limbs/feadd.v
deleted file mode 100644
index a51c6e040..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.v
deleted file mode 100644
index 2b895d88b..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fecarry.v b/src/Specific/solinas32_2e158m15_7limbs/fecarry.v
deleted file mode 100644
index 55a60ca24..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e158m15_7limbs/fecarryDisplay.v
deleted file mode 100644
index 45b884c3b..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e158m15_7limbs/femul.c b/src/Specific/solinas32_2e158m15_7limbs/femul.c
deleted file mode 100644
index 9df0827b0..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((0x2 * ((uint64_t)x13 * x21)) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0xf * (0x2 * ((uint64_t)x14 * x26))));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((0x2 * ((uint64_t)x9 * x21)) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0xf * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0xf * ((0x2 * ((uint64_t)x13 * x26)) + (((uint64_t)x15 * x27) + (0x2 * ((uint64_t)x14 * x25))))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0xf * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0xf * ((0x2 * ((uint64_t)x9 * x26)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + (0x2 * ((uint64_t)x14 * x21))))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0xf * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x31);
- { uint32_t x44 = (uint32_t) (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x36 + ((uint64_t)0xf * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x17);
- { uint32_t x60 = (x58 & 0x7fffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_7limbs/femul.v b/src/Specific/solinas32_2e158m15_7limbs/femul.v
deleted file mode 100644
index f514a7a68..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/femulDisplay.log b/src/Specific/solinas32_2e158m15_7limbs/femulDisplay.log
deleted file mode 100644
index b5935c279..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((0x2 * ((uint64_t)x13 * x21)) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0xf * (0x2 * ((uint64_t)x14 * x26))));
- uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((0x2 * ((uint64_t)x9 * x21)) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0xf * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0xf * ((0x2 * ((uint64_t)x13 * x26)) + (((uint64_t)x15 * x27) + (0x2 * ((uint64_t)x14 * x25))))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0xf * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0xf * ((0x2 * ((uint64_t)x9 * x26)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + (0x2 * ((uint64_t)x14 * x21))))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0xf * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x31);
- uint32_t x44 = (uint32_t) (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x36 + ((uint64_t)0xf * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x17);
- uint32_t x60 = (x58 & 0x7fffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e158m15_7limbs/femulDisplay.v b/src/Specific/solinas32_2e158m15_7limbs/femulDisplay.v
deleted file mode 100644
index 0b05b0553..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fesquare.c b/src/Specific/solinas32_2e158m15_7limbs/fesquare.c
deleted file mode 100644
index e7d45d069..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (0x2 * ((uint64_t)x11 * x11))));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * ((0x2 * ((uint64_t)x10 * x11)) + (((uint64_t)x12 * x12) + (0x2 * ((uint64_t)x11 * x10))))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * ((0x2 * ((uint64_t)x6 * x11)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (0x2 * ((uint64_t)x11 * x6))))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x17);
- { uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x17);
- { uint32_t x24 = ((uint32_t)x22 & 0x7fffff);
- { uint64_t x25 = (x23 + x17);
- { uint64_t x26 = (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x16);
- { uint32_t x29 = (uint32_t) (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x21 + ((uint64_t)0xf * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x17);
- { uint32_t x45 = (x43 & 0x7fffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fesquare.v b/src/Specific/solinas32_2e158m15_7limbs/fesquare.v
deleted file mode 100644
index cc540694f..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.log
deleted file mode 100644
index ac17ecbc2..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (0x2 * ((uint64_t)x11 * x11))));
- uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * ((0x2 * ((uint64_t)x10 * x11)) + (((uint64_t)x12 * x12) + (0x2 * ((uint64_t)x11 * x10))))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * ((0x2 * ((uint64_t)x6 * x11)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (0x2 * ((uint64_t)x11 * x6))))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x17);
- uint32_t x21 = ((uint32_t)x19 & 0x7fffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x17);
- uint32_t x24 = ((uint32_t)x22 & 0x7fffff);
- uint64_t x25 = (x23 + x17);
- uint64_t x26 = (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x16);
- uint32_t x29 = (uint32_t) (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x21 + ((uint64_t)0xf * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x17);
- uint32_t x45 = (x43 & 0x7fffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.v
deleted file mode 100644
index cb4a11560..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fesub.c b/src/Specific/solinas32_2e158m15_7limbs/fesub.c
deleted file mode 100644
index af7c7ded6..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0xffffe2 + x5) - x17);
- out[1] = ((0xfffffe + x7) - x19);
- out[2] = ((0x7ffffe + x9) - x21);
- out[3] = ((0xfffffe + x11) - x23);
- out[4] = ((0x7ffffe + x13) - x25);
- out[5] = ((0xfffffe + x15) - x27);
- out[6] = ((0x7ffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fesub.v b/src/Specific/solinas32_2e158m15_7limbs/fesub.v
deleted file mode 100644
index dc64941dd..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.log
deleted file mode 100644
index 6e0448548..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffe + x14) - x26), ((0xfffffe + x15) - x27), ((0x7ffffe + x13) - x25), ((0xfffffe + x11) - x23), ((0x7ffffe + x9) - x21), ((0xfffffe + x7) - x19), ((0xffffe2 + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.v
deleted file mode 100644
index 546cf3df6..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e158m15_7limbs/freeze.c b/src/Specific/solinas32_2e158m15_7limbs/freeze.c
deleted file mode 100644
index 53531452f..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff1);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x7ffff1);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x7fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x3fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x3fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x7fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x3fffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e158m15_7limbs/freeze.v b/src/Specific/solinas32_2e158m15_7limbs/freeze.v
deleted file mode 100644
index 6b7854531..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.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_2e158m15_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.log
deleted file mode 100644
index 1d26d8e40..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff1);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x7ffff1);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x7fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x3fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x3fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x7fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x3fffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.v
deleted file mode 100644
index 3db6bf35e..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e158m15_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e158m15_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e158m15_7limbs/py_interpreter.sh
deleted file mode 100755
index bb9fe4d9a..000000000
--- a/src/Specific/solinas32_2e158m15_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**158 - 15' -Dmodulus_bytes='22 + 4/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e165m25_7limbs/CurveParameters.v b/src/Specific/solinas32_2e165m25_7limbs/CurveParameters.v
deleted file mode 100644
index 108f8fc68..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^165 - 25
-Base: 23 + 4/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 23 + 4/7;
- bitwidth := 32;
- s := 2^165;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e165m25_7limbs/Synthesis.v b/src/Specific/solinas32_2e165m25_7limbs/Synthesis.v
deleted file mode 100644
index 7800ca199..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/compiler.sh b/src/Specific/solinas32_2e165m25_7limbs/compiler.sh
deleted file mode 100755
index a0fe65c90..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas32_2e165m25_7limbs/compilerxx.sh b/src/Specific/solinas32_2e165m25_7limbs/compilerxx.sh
deleted file mode 100755
index 35e1d7a42..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas32_2e165m25_7limbs/feadd.c b/src/Specific/solinas32_2e165m25_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_7limbs/feadd.v b/src/Specific/solinas32_2e165m25_7limbs/feadd.v
deleted file mode 100644
index c584129a1..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.v
deleted file mode 100644
index e7269822f..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fecarry.v b/src/Specific/solinas32_2e165m25_7limbs/fecarry.v
deleted file mode 100644
index 0fff1d861..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e165m25_7limbs/fecarryDisplay.v
deleted file mode 100644
index 24b78ddb1..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e165m25_7limbs/femul.c b/src/Specific/solinas32_2e165m25_7limbs/femul.c
deleted file mode 100644
index fe4322931..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((0x2 * ((uint64_t)x13 * x21)) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0x19 * (0x2 * ((uint64_t)x14 * x26))));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((0x2 * ((uint64_t)x9 * x21)) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x19 * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x26)) + (((uint64_t)x15 * x27) + (0x2 * ((uint64_t)x14 * x25))))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x19 * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x19 * ((0x2 * ((uint64_t)x9 * x26)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + (0x2 * ((uint64_t)x14 * x21))))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x19 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x17);
- { uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x36 + ((uint64_t)0x19 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x18);
- { uint32_t x60 = (x58 & 0xffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_7limbs/femul.v b/src/Specific/solinas32_2e165m25_7limbs/femul.v
deleted file mode 100644
index 65638ae37..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/femulDisplay.log b/src/Specific/solinas32_2e165m25_7limbs/femulDisplay.log
deleted file mode 100644
index 372c83a54..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((0x2 * ((uint64_t)x13 * x21)) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0x19 * (0x2 * ((uint64_t)x14 * x26))));
- uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((0x2 * ((uint64_t)x9 * x21)) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x19 * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x26)) + (((uint64_t)x15 * x27) + (0x2 * ((uint64_t)x14 * x25))))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x19 * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x19 * ((0x2 * ((uint64_t)x9 * x26)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + (0x2 * ((uint64_t)x14 * x21))))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x19 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x17);
- uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x36 + ((uint64_t)0x19 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x18);
- uint32_t x60 = (x58 & 0xffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_7limbs/femulDisplay.v b/src/Specific/solinas32_2e165m25_7limbs/femulDisplay.v
deleted file mode 100644
index a147bf93b..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fesquare.c b/src/Specific/solinas32_2e165m25_7limbs/fesquare.c
deleted file mode 100644
index 5974ee820..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * (0x2 * ((uint64_t)x11 * x11))));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x11)) + (((uint64_t)x12 * x12) + (0x2 * ((uint64_t)x11 * x10))))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x11)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (0x2 * ((uint64_t)x11 * x6))))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x18);
- { uint32_t x21 = ((uint32_t)x19 & 0xffffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x17);
- { uint64_t x26 = (x25 >> 0x17);
- { uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x15);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x21 + ((uint64_t)0x19 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x18);
- { uint32_t x45 = (x43 & 0xffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fesquare.v b/src/Specific/solinas32_2e165m25_7limbs/fesquare.v
deleted file mode 100644
index 0945bfbff..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.log
deleted file mode 100644
index 45b8ae257..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * (0x2 * ((uint64_t)x11 * x11))));
- uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x11)) + (((uint64_t)x12 * x12) + (0x2 * ((uint64_t)x11 * x10))))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x11)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (0x2 * ((uint64_t)x11 * x6))))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x18);
- uint32_t x21 = ((uint32_t)x19 & 0xffffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x17);
- uint64_t x26 = (x25 >> 0x17);
- uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x15);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x21 + ((uint64_t)0x19 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x18);
- uint32_t x45 = (x43 & 0xffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.v
deleted file mode 100644
index 8d76e348b..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fesub.c b/src/Specific/solinas32_2e165m25_7limbs/fesub.c
deleted file mode 100644
index d942986f0..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x1ffffce + x5) - x17);
- out[1] = ((0x1fffffe + x7) - x19);
- out[2] = ((0xfffffe + x9) - x21);
- out[3] = ((0x1fffffe + x11) - x23);
- out[4] = ((0xfffffe + x13) - x25);
- out[5] = ((0x1fffffe + x15) - x27);
- out[6] = ((0xfffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fesub.v b/src/Specific/solinas32_2e165m25_7limbs/fesub.v
deleted file mode 100644
index 8e1c0965e..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.log
deleted file mode 100644
index 0faebe502..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0xfffffe + x14) - x26), ((0x1fffffe + x15) - x27), ((0xfffffe + x13) - x25), ((0x1fffffe + x11) - x23), ((0xfffffe + x9) - x21), ((0x1fffffe + x7) - x19), ((0x1ffffce + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.v
deleted file mode 100644
index 50f7ce5bd..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e165m25_7limbs/freeze.c b/src/Specific/solinas32_2e165m25_7limbs/freeze.c
deleted file mode 100644
index 051d61bd2..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe7);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7fffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0xffffe7);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x7fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x7fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0xffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x7fffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_7limbs/freeze.v b/src/Specific/solinas32_2e165m25_7limbs/freeze.v
deleted file mode 100644
index 17755bb32..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.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_2e165m25_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.log
deleted file mode 100644
index 10c311d95..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe7);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7fffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0xffffe7);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x7fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x7fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0xffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x7fffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.v
deleted file mode 100644
index dc3f61e45..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e165m25_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e165m25_7limbs/py_interpreter.sh
deleted file mode 100755
index e7e507314..000000000
--- a/src/Specific/solinas32_2e165m25_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**165 - 25' -Dmodulus_bytes='23 + 4/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e165m25_8limbs/CurveParameters.v b/src/Specific/solinas32_2e165m25_8limbs/CurveParameters.v
deleted file mode 100644
index d75d7b605..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^165 - 25
-Base: 20.625
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 20 + 5/8;
- bitwidth := 32;
- s := 2^165;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e165m25_8limbs/Synthesis.v b/src/Specific/solinas32_2e165m25_8limbs/Synthesis.v
deleted file mode 100644
index 15c770f93..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/compiler.sh b/src/Specific/solinas32_2e165m25_8limbs/compiler.sh
deleted file mode 100755
index 3420b2a36..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,21,20,21,21,20,21,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas32_2e165m25_8limbs/compilerxx.sh b/src/Specific/solinas32_2e165m25_8limbs/compilerxx.sh
deleted file mode 100755
index af5b15632..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,21,20,21,21,20,21,20}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas32_2e165m25_8limbs/feadd.c b/src/Specific/solinas32_2e165m25_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_8limbs/feadd.v b/src/Specific/solinas32_2e165m25_8limbs/feadd.v
deleted file mode 100644
index 0f7a26438..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.v
deleted file mode 100644
index 94814a27f..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fecarry.v b/src/Specific/solinas32_2e165m25_8limbs/fecarry.v
deleted file mode 100644
index d8197f0ed..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e165m25_8limbs/fecarryDisplay.v
deleted file mode 100644
index 33325b17d..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e165m25_8limbs/femul.c b/src/Specific/solinas32_2e165m25_8limbs/femul.c
deleted file mode 100644
index 0150266c6..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x19 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x19 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x19 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x19 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x19 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x19 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x15);
- { uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
- { uint64_t x42 = (x40 + x38);
- { uint32_t x43 = (uint32_t) (x42 >> 0x15);
- { uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- { uint64_t x45 = (x43 + x37);
- { uint32_t x46 = (uint32_t) (x45 >> 0x14);
- { uint32_t x47 = ((uint32_t)x45 & 0xfffff);
- { uint64_t x48 = (x46 + x36);
- { uint32_t x49 = (uint32_t) (x48 >> 0x15);
- { uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- { uint64_t x51 = (x49 + x35);
- { uint32_t x52 = (uint32_t) (x51 >> 0x15);
- { uint32_t x53 = ((uint32_t)x51 & 0x1fffff);
- { uint64_t x54 = (x52 + x34);
- { uint32_t x55 = (uint32_t) (x54 >> 0x14);
- { uint32_t x56 = ((uint32_t)x54 & 0xfffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x15);
- { uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x14);
- { uint32_t x62 = ((uint32_t)x60 & 0xfffff);
- { uint64_t x63 = (x41 + ((uint64_t)0x19 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x15);
- { uint32_t x65 = ((uint32_t)x63 & 0x1fffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x15);
- { uint32_t x68 = (x66 & 0x1fffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_8limbs/femul.v b/src/Specific/solinas32_2e165m25_8limbs/femul.v
deleted file mode 100644
index 11a9d8734..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/femulDisplay.log b/src/Specific/solinas32_2e165m25_8limbs/femulDisplay.log
deleted file mode 100644
index 3c46f018f..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x19 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x19 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x19 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x19 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x19 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x19 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x15);
- uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
- uint64_t x42 = (x40 + x38);
- uint32_t x43 = (uint32_t) (x42 >> 0x15);
- uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- uint64_t x45 = (x43 + x37);
- uint32_t x46 = (uint32_t) (x45 >> 0x14);
- uint32_t x47 = ((uint32_t)x45 & 0xfffff);
- uint64_t x48 = (x46 + x36);
- uint32_t x49 = (uint32_t) (x48 >> 0x15);
- uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- uint64_t x51 = (x49 + x35);
- uint32_t x52 = (uint32_t) (x51 >> 0x15);
- uint32_t x53 = ((uint32_t)x51 & 0x1fffff);
- uint64_t x54 = (x52 + x34);
- uint32_t x55 = (uint32_t) (x54 >> 0x14);
- uint32_t x56 = ((uint32_t)x54 & 0xfffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x15);
- uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x14);
- uint32_t x62 = ((uint32_t)x60 & 0xfffff);
- uint64_t x63 = (x41 + ((uint64_t)0x19 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x15);
- uint32_t x65 = ((uint32_t)x63 & 0x1fffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x15);
- uint32_t x68 = (x66 & 0x1fffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_8limbs/femulDisplay.v b/src/Specific/solinas32_2e165m25_8limbs/femulDisplay.v
deleted file mode 100644
index e3557a8c5..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fesquare.c b/src/Specific/solinas32_2e165m25_8limbs/fesquare.c
deleted file mode 100644
index 5bae4d373..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x15);
- { uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- { uint64_t x25 = (x23 + x21);
- { uint32_t x26 = (uint32_t) (x25 >> 0x15);
- { uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- { uint64_t x28 = (x26 + x20);
- { uint32_t x29 = (uint32_t) (x28 >> 0x14);
- { uint32_t x30 = ((uint32_t)x28 & 0xfffff);
- { uint64_t x31 = (x29 + x19);
- { uint32_t x32 = (uint32_t) (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x32 + x18);
- { uint32_t x35 = (uint32_t) (x34 >> 0x15);
- { uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- { uint64_t x37 = (x35 + x17);
- { uint32_t x38 = (uint32_t) (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x15);
- { uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x14);
- { uint32_t x45 = ((uint32_t)x43 & 0xfffff);
- { uint64_t x46 = (x24 + ((uint64_t)0x19 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x15);
- { uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x15);
- { uint32_t x51 = (x49 & 0x1fffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fesquare.v b/src/Specific/solinas32_2e165m25_8limbs/fesquare.v
deleted file mode 100644
index b92f7fa43..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.log
deleted file mode 100644
index 718555371..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x15);
- uint32_t x24 = ((uint32_t)x22 & 0x1fffff);
- uint64_t x25 = (x23 + x21);
- uint32_t x26 = (uint32_t) (x25 >> 0x15);
- uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- uint64_t x28 = (x26 + x20);
- uint32_t x29 = (uint32_t) (x28 >> 0x14);
- uint32_t x30 = ((uint32_t)x28 & 0xfffff);
- uint64_t x31 = (x29 + x19);
- uint32_t x32 = (uint32_t) (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x32 + x18);
- uint32_t x35 = (uint32_t) (x34 >> 0x15);
- uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- uint64_t x37 = (x35 + x17);
- uint32_t x38 = (uint32_t) (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x15);
- uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x14);
- uint32_t x45 = ((uint32_t)x43 & 0xfffff);
- uint64_t x46 = (x24 + ((uint64_t)0x19 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x15);
- uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x15);
- uint32_t x51 = (x49 & 0x1fffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.v
deleted file mode 100644
index 52e5ac8b9..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fesub.c b/src/Specific/solinas32_2e165m25_8limbs/fesub.c
deleted file mode 100644
index bd69e708d..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x3fffce + x5) - x19);
- out[1] = ((0x3ffffe + x7) - x21);
- out[2] = ((0x1ffffe + x9) - x23);
- out[3] = ((0x3ffffe + x11) - x25);
- out[4] = ((0x3ffffe + x13) - x27);
- out[5] = ((0x1ffffe + x15) - x29);
- out[6] = ((0x3ffffe + x17) - x31);
- out[7] = ((0x1ffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fesub.v b/src/Specific/solinas32_2e165m25_8limbs/fesub.v
deleted file mode 100644
index 12838e5ec..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.log
deleted file mode 100644
index 660588243..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1ffffe + x16) - x30), ((0x3ffffe + x17) - x31), ((0x1ffffe + x15) - x29), ((0x3ffffe + x13) - x27), ((0x3ffffe + x11) - x25), ((0x1ffffe + x9) - x23), ((0x3ffffe + x7) - x21), ((0x3fffce + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.v
deleted file mode 100644
index 2aa395b64..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e165m25_8limbs/freeze.c b/src/Specific/solinas32_2e165m25_8limbs/freeze.c
deleted file mode 100644
index 10da45359..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffe7);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x1fffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1fffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x1fffe7);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x1fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0xfffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x1fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0xfffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0xfffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e165m25_8limbs/freeze.v b/src/Specific/solinas32_2e165m25_8limbs/freeze.v
deleted file mode 100644
index b92d3e42c..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.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_2e165m25_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.log
deleted file mode 100644
index 8f9d23fc0..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffe7);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x1fffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1fffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x1fffe7);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x1fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0xfffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x1fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0xfffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0xfffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.v
deleted file mode 100644
index 3ea1187db..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e165m25_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e165m25_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e165m25_8limbs/py_interpreter.sh
deleted file mode 100755
index 45895b7d1..000000000
--- a/src/Specific/solinas32_2e165m25_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**165 - 25' -Dmodulus_bytes='20.625' -Da24='121665'
diff --git a/src/Specific/solinas32_2e166m5_6limbs/CurveParameters.v b/src/Specific/solinas32_2e166m5_6limbs/CurveParameters.v
deleted file mode 100644
index 7ac75883c..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^166 - 5
-Base: 27 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 27 + 2/3;
- bitwidth := 32;
- s := 2^166;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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_2e166m5_6limbs/Synthesis.v b/src/Specific/solinas32_2e166m5_6limbs/Synthesis.v
deleted file mode 100644
index 76e907892..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/compiler.sh b/src/Specific/solinas32_2e166m5_6limbs/compiler.sh
deleted file mode 100755
index 6c684d09a..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,28,27,28,28,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas32_2e166m5_6limbs/compilerxx.sh b/src/Specific/solinas32_2e166m5_6limbs/compilerxx.sh
deleted file mode 100755
index 4c634cb3f..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,28,27,28,28,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas32_2e166m5_6limbs/feadd.c b/src/Specific/solinas32_2e166m5_6limbs/feadd.c
deleted file mode 100644
index 5b654b294..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_6limbs/feadd.v b/src/Specific/solinas32_2e166m5_6limbs/feadd.v
deleted file mode 100644
index 2bffbb708..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/feaddDisplay.log b/src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.log
deleted file mode 100644
index 1084b2659..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.v b/src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.v
deleted file mode 100644
index 3338bd7da..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fecarry.v b/src/Specific/solinas32_2e166m5_6limbs/fecarry.v
deleted file mode 100644
index 8cffdfb03..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/fecarryDisplay.v b/src/Specific/solinas32_2e166m5_6limbs/fecarryDisplay.v
deleted file mode 100644
index 608375825..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e166m5_6limbs/femul.c b/src/Specific/solinas32_2e166m5_6limbs/femul.c
deleted file mode 100644
index 2d1b2d490..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- { uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- { uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((0x2 * ((uint64_t)x9 * x19)) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x5 * (0x2 * ((uint64_t)x12 * x22))));
- { uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- { uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x5 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- { uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x5 * ((0x2 * ((uint64_t)x9 * x22)) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (0x2 * ((uint64_t)x12 * x19)))))));
- { ℤ x29 = (((uint64_t)x5 * x15) +ℤ (0x5 *ℤ ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- { uint64_t x30 = (x29 >> 0x1c);
- { uint32_t x31 = (x29 & 0xfffffff);
- { uint64_t x32 = (x30 + x28);
- { uint64_t x33 = (x32 >> 0x1c);
- { uint32_t x34 = ((uint32_t)x32 & 0xfffffff);
- { uint64_t x35 = (x33 + x27);
- { uint64_t x36 = (x35 >> 0x1b);
- { uint32_t x37 = ((uint32_t)x35 & 0x7ffffff);
- { uint64_t x38 = (x36 + x26);
- { uint64_t x39 = (x38 >> 0x1c);
- { uint32_t x40 = ((uint32_t)x38 & 0xfffffff);
- { uint64_t x41 = (x39 + x25);
- { uint64_t x42 = (x41 >> 0x1c);
- { uint32_t x43 = ((uint32_t)x41 & 0xfffffff);
- { uint64_t x44 = (x42 + x24);
- { uint64_t x45 = (x44 >> 0x1b);
- { uint32_t x46 = ((uint32_t)x44 & 0x7ffffff);
- { uint64_t x47 = (x31 + (0x5 * x45));
- { uint32_t x48 = (uint32_t) (x47 >> 0x1c);
- { uint32_t x49 = ((uint32_t)x47 & 0xfffffff);
- { uint32_t x50 = (x48 + x34);
- { uint32_t x51 = (x50 >> 0x1c);
- { uint32_t x52 = (x50 & 0xfffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_6limbs/femul.v b/src/Specific/solinas32_2e166m5_6limbs/femul.v
deleted file mode 100644
index 9bf9ff4ca..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/femulDisplay.log b/src/Specific/solinas32_2e166m5_6limbs/femulDisplay.log
deleted file mode 100644
index f4c573268..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint64_t x24 = (((uint64_t)x5 * x22) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + (((uint64_t)x13 * x17) + ((uint64_t)x12 * x15))))));
- uint64_t x25 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((0x2 * ((uint64_t)x9 * x19)) + (((uint64_t)x11 * x17) + ((uint64_t)x13 * x15))))) + (0x5 * (0x2 * ((uint64_t)x12 * x22))));
- uint64_t x26 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((0x2 * ((uint64_t)x9 * x17)) + ((uint64_t)x11 * x15)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x22)) + (0x2 * ((uint64_t)x12 * x23)))));
- uint64_t x27 = ((((uint64_t)x5 * x19) + (((uint64_t)x7 * x17) + ((uint64_t)x9 * x15))) + (0x5 * (((uint64_t)x11 * x22) + (((uint64_t)x13 * x23) + ((uint64_t)x12 * x21)))));
- uint64_t x28 = ((((uint64_t)x5 * x17) + ((uint64_t)x7 * x15)) + (0x5 * ((0x2 * ((uint64_t)x9 * x22)) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (0x2 * ((uint64_t)x12 * x19)))))));
- ℤ x29 = (((uint64_t)x5 * x15) +ℤ (0x5 *ℤ ((0x2 * ((uint64_t)x7 * x22)) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((0x2 * ((uint64_t)x13 * x19)) + (0x2 * ((uint64_t)x12 * x17))))))));
- uint64_t x30 = (x29 >> 0x1c);
- uint32_t x31 = (x29 & 0xfffffff);
- uint64_t x32 = (x30 + x28);
- uint64_t x33 = (x32 >> 0x1c);
- uint32_t x34 = ((uint32_t)x32 & 0xfffffff);
- uint64_t x35 = (x33 + x27);
- uint64_t x36 = (x35 >> 0x1b);
- uint32_t x37 = ((uint32_t)x35 & 0x7ffffff);
- uint64_t x38 = (x36 + x26);
- uint64_t x39 = (x38 >> 0x1c);
- uint32_t x40 = ((uint32_t)x38 & 0xfffffff);
- uint64_t x41 = (x39 + x25);
- uint64_t x42 = (x41 >> 0x1c);
- uint32_t x43 = ((uint32_t)x41 & 0xfffffff);
- uint64_t x44 = (x42 + x24);
- uint64_t x45 = (x44 >> 0x1b);
- uint32_t x46 = ((uint32_t)x44 & 0x7ffffff);
- uint64_t x47 = (x31 + (0x5 * x45));
- uint32_t x48 = (uint32_t) (x47 >> 0x1c);
- uint32_t x49 = ((uint32_t)x47 & 0xfffffff);
- uint32_t x50 = (x48 + x34);
- uint32_t x51 = (x50 >> 0x1c);
- uint32_t x52 = (x50 & 0xfffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e166m5_6limbs/femulDisplay.v b/src/Specific/solinas32_2e166m5_6limbs/femulDisplay.v
deleted file mode 100644
index e3d8fc1b2..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fesquare.c b/src/Specific/solinas32_2e166m5_6limbs/fesquare.c
deleted file mode 100644
index a6c7d5591..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- { uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * (0x2 * ((uint64_t)x9 * x9))));
- { uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- { uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- { uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x9)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (0x2 * ((uint64_t)x9 * x6)))))));
- { ℤ x16 = (((uint64_t)x2 * x2) +ℤ (0x5 *ℤ ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- { uint64_t x17 = (x16 >> 0x1c);
- { uint32_t x18 = (x16 & 0xfffffff);
- { uint64_t x19 = (x17 + x15);
- { uint64_t x20 = (x19 >> 0x1c);
- { uint32_t x21 = ((uint32_t)x19 & 0xfffffff);
- { uint64_t x22 = (x20 + x14);
- { uint64_t x23 = (x22 >> 0x1b);
- { uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- { uint64_t x25 = (x23 + x13);
- { uint64_t x26 = (x25 >> 0x1c);
- { uint32_t x27 = ((uint32_t)x25 & 0xfffffff);
- { uint64_t x28 = (x26 + x12);
- { uint64_t x29 = (x28 >> 0x1c);
- { uint32_t x30 = ((uint32_t)x28 & 0xfffffff);
- { uint64_t x31 = (x29 + x11);
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- { uint64_t x34 = (x18 + (0x5 * x32));
- { uint32_t x35 = (uint32_t) (x34 >> 0x1c);
- { uint32_t x36 = ((uint32_t)x34 & 0xfffffff);
- { uint32_t x37 = (x35 + x21);
- { uint32_t x38 = (x37 >> 0x1c);
- { uint32_t x39 = (x37 & 0xfffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fesquare.v b/src/Specific/solinas32_2e166m5_6limbs/fesquare.v
deleted file mode 100644
index d2ebbb35a..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/fesquareDisplay.log b/src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.log
deleted file mode 100644
index 5b04f3bba..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (((uint64_t)x2 * x9) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x9 * x2))))));
- uint64_t x12 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * (0x2 * ((uint64_t)x9 * x9))));
- uint64_t x13 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x9)) + (0x2 * ((uint64_t)x9 * x10)))));
- uint64_t x14 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x9) + (((uint64_t)x10 * x10) + ((uint64_t)x9 * x8)))));
- uint64_t x15 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x9)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (0x2 * ((uint64_t)x9 * x6)))))));
- ℤ x16 = (((uint64_t)x2 * x2) +ℤ (0x5 *ℤ ((0x2 * ((uint64_t)x4 * x9)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x9 * x4))))))));
- uint64_t x17 = (x16 >> 0x1c);
- uint32_t x18 = (x16 & 0xfffffff);
- uint64_t x19 = (x17 + x15);
- uint64_t x20 = (x19 >> 0x1c);
- uint32_t x21 = ((uint32_t)x19 & 0xfffffff);
- uint64_t x22 = (x20 + x14);
- uint64_t x23 = (x22 >> 0x1b);
- uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- uint64_t x25 = (x23 + x13);
- uint64_t x26 = (x25 >> 0x1c);
- uint32_t x27 = ((uint32_t)x25 & 0xfffffff);
- uint64_t x28 = (x26 + x12);
- uint64_t x29 = (x28 >> 0x1c);
- uint32_t x30 = ((uint32_t)x28 & 0xfffffff);
- uint64_t x31 = (x29 + x11);
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- uint64_t x34 = (x18 + (0x5 * x32));
- uint32_t x35 = (uint32_t) (x34 >> 0x1c);
- uint32_t x36 = ((uint32_t)x34 & 0xfffffff);
- uint32_t x37 = (x35 + x21);
- uint32_t x38 = (x37 >> 0x1c);
- uint32_t x39 = (x37 & 0xfffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.v b/src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.v
deleted file mode 100644
index 2d6ab9323..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fesub.c b/src/Specific/solinas32_2e166m5_6limbs/fesub.c
deleted file mode 100644
index 00ba16853..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint32_t out[6], const uint32_t in1[6], const uint32_t in2[6]) {
- { const uint32_t x12 = 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 x22 = in2[5];
- { const uint32_t x23 = in2[4];
- { const uint32_t x21 = in2[3];
- { const uint32_t x19 = in2[2];
- { const uint32_t x17 = in2[1];
- { const uint32_t x15 = in2[0];
- out[0] = ((0x1ffffff6 + x5) - x15);
- out[1] = ((0x1ffffffe + x7) - x17);
- out[2] = ((0xffffffe + x9) - x19);
- out[3] = ((0x1ffffffe + x11) - x21);
- out[4] = ((0x1ffffffe + x13) - x23);
- out[5] = ((0xffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fesub.v b/src/Specific/solinas32_2e166m5_6limbs/fesub.v
deleted file mode 100644
index 7de97f5c3..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/fesubDisplay.log b/src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.log
deleted file mode 100644
index 52ac96f21..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0xffffffe + x12) - x22), ((0x1ffffffe + x13) - x23), ((0x1ffffffe + x11) - x21), ((0xffffffe + x9) - x19), ((0x1ffffffe + x7) - x17), ((0x1ffffff6 + x5) - x15)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.v b/src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.v
deleted file mode 100644
index 13608796f..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e166m5_6limbs/freeze.c b/src/Specific/solinas32_2e166m5_6limbs/freeze.c
deleted file mode 100644
index 2d49c1e3f..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint32_t out[6], const uint32_t in1[6]) {
- { const uint32_t x9 = 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 x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffb);
- { uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0xfffffff);
- { uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x7ffffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0xfffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0xfffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x7ffffff);
- { uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- { uint32_t x30 = (x29 & 0xffffffb);
- { uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint32_t x34 = (x29 & 0xfffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint32_t x38 = (x29 & 0x7ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint32_t x42 = (x29 & 0xfffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint32_t x46 = (x29 & 0xfffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint32_t x50 = (x29 & 0x7ffffff);
- { uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_6limbs/freeze.v b/src/Specific/solinas32_2e166m5_6limbs/freeze.v
deleted file mode 100644
index 9af9a590b..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.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_2e166m5_6limbs/freezeDisplay.log b/src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.log
deleted file mode 100644
index 6be085c41..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint32_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffb);
- uint32_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x13, Return x4, 0xfffffff);
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x16, Return x6, 0x7ffffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x8, 0xfffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x10, 0xfffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x9, 0x7ffffff);
- uint32_t x29 = cmovznz32(x28, 0x0, 0xffffffff);
- uint32_t x30 = (x29 & 0xffffffb);
- uint32_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint32_t x34 = (x29 & 0xfffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint32_t x38 = (x29 & 0x7ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint32_t x42 = (x29 & 0xfffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint32_t x46 = (x29 & 0xfffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint32_t x50 = (x29 & 0x7ffffff);
- uint32_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.v b/src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.v
deleted file mode 100644
index ac9183393..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e166m5_6limbs/py_interpreter.sh b/src/Specific/solinas32_2e166m5_6limbs/py_interpreter.sh
deleted file mode 100755
index 139fe6124..000000000
--- a/src/Specific/solinas32_2e166m5_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**166 - 5' -Dmodulus_bytes='27 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e166m5_7limbs/CurveParameters.v b/src/Specific/solinas32_2e166m5_7limbs/CurveParameters.v
deleted file mode 100644
index 48c3b947f..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^166 - 5
-Base: 23 + 5/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 23 + 5/7;
- bitwidth := 32;
- s := 2^166;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e166m5_7limbs/Synthesis.v b/src/Specific/solinas32_2e166m5_7limbs/Synthesis.v
deleted file mode 100644
index 63ebf4d66..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/compiler.sh b/src/Specific/solinas32_2e166m5_7limbs/compiler.sh
deleted file mode 100755
index 1e9c6b4bf..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas32_2e166m5_7limbs/compilerxx.sh b/src/Specific/solinas32_2e166m5_7limbs/compilerxx.sh
deleted file mode 100755
index 2ab7c3a01..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas32_2e166m5_7limbs/feadd.c b/src/Specific/solinas32_2e166m5_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_7limbs/feadd.v b/src/Specific/solinas32_2e166m5_7limbs/feadd.v
deleted file mode 100644
index 1a49371fd..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.v
deleted file mode 100644
index 1da8d33af..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fecarry.v b/src/Specific/solinas32_2e166m5_7limbs/fecarry.v
deleted file mode 100644
index f558dc0d0..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e166m5_7limbs/fecarryDisplay.v
deleted file mode 100644
index cb108bb49..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e166m5_7limbs/femul.c b/src/Specific/solinas32_2e166m5_7limbs/femul.c
deleted file mode 100644
index 46284e56c..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x5 * (0x2 * ((uint64_t)x14 * x26))));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x5 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x5 * ((0x2 * ((uint64_t)x11 * x26)) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x5 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x5 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x32);
- { uint32_t x41 = (uint32_t) (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x36 + ((uint64_t)0x5 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x18);
- { uint32_t x60 = (x58 & 0xffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_7limbs/femul.v b/src/Specific/solinas32_2e166m5_7limbs/femul.v
deleted file mode 100644
index 1f91b9afd..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/femulDisplay.log b/src/Specific/solinas32_2e166m5_7limbs/femulDisplay.log
deleted file mode 100644
index cf11b11d3..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x5 * (0x2 * ((uint64_t)x14 * x26))));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x5 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x5 * ((0x2 * ((uint64_t)x11 * x26)) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x5 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x5 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x32);
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x36 + ((uint64_t)0x5 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x18);
- uint32_t x60 = (x58 & 0xffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e166m5_7limbs/femulDisplay.v b/src/Specific/solinas32_2e166m5_7limbs/femulDisplay.v
deleted file mode 100644
index 9334b5212..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fesquare.c b/src/Specific/solinas32_2e166m5_7limbs/fesquare.c
deleted file mode 100644
index d8040ca45..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * (0x2 * ((uint64_t)x11 * x11))));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x11)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x18);
- { uint32_t x21 = ((uint32_t)x19 & 0xffffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x17);
- { uint32_t x26 = (uint32_t) (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x21 + ((uint64_t)0x5 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x18);
- { uint32_t x45 = (x43 & 0xffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fesquare.v b/src/Specific/solinas32_2e166m5_7limbs/fesquare.v
deleted file mode 100644
index b8587c468..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.log
deleted file mode 100644
index ce68539e0..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * (0x2 * ((uint64_t)x11 * x11))));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x11)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x18);
- uint32_t x21 = ((uint32_t)x19 & 0xffffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x17);
- uint32_t x26 = (uint32_t) (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x21 + ((uint64_t)0x5 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x18);
- uint32_t x45 = (x43 & 0xffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.v
deleted file mode 100644
index 6f1c0b497..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fesub.c b/src/Specific/solinas32_2e166m5_7limbs/fesub.c
deleted file mode 100644
index 3336e6ee5..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x1fffff6 + x5) - x17);
- out[1] = ((0x1fffffe + x7) - x19);
- out[2] = ((0x1fffffe + x9) - x21);
- out[3] = ((0xfffffe + x11) - x23);
- out[4] = ((0x1fffffe + x13) - x25);
- out[5] = ((0x1fffffe + x15) - x27);
- out[6] = ((0xfffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fesub.v b/src/Specific/solinas32_2e166m5_7limbs/fesub.v
deleted file mode 100644
index a33b05fdd..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.log
deleted file mode 100644
index 997385693..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0xfffffe + x14) - x26), ((0x1fffffe + x15) - x27), ((0x1fffffe + x13) - x25), ((0xfffffe + x11) - x23), ((0x1fffffe + x9) - x21), ((0x1fffffe + x7) - x19), ((0x1fffff6 + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.v
deleted file mode 100644
index 09553a5c5..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e166m5_7limbs/freeze.c b/src/Specific/solinas32_2e166m5_7limbs/freeze.c
deleted file mode 100644
index 731ecced5..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffb);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7fffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0xfffffb);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0xffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0xffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0xffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x7fffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e166m5_7limbs/freeze.v b/src/Specific/solinas32_2e166m5_7limbs/freeze.v
deleted file mode 100644
index 13da312c9..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.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_2e166m5_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.log
deleted file mode 100644
index aee4928a3..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffb);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7fffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0xfffffb);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0xffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0xffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0xffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x7fffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.v
deleted file mode 100644
index 93dced6d8..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e166m5_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e166m5_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e166m5_7limbs/py_interpreter.sh
deleted file mode 100755
index c6a5d2a8f..000000000
--- a/src/Specific/solinas32_2e166m5_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**166 - 5' -Dmodulus_bytes='23 + 5/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e171m19_7limbs/CurveParameters.v b/src/Specific/solinas32_2e171m19_7limbs/CurveParameters.v
deleted file mode 100644
index 10601d6d1..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^171 - 19
-Base: 24 + 3/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 24 + 3/7;
- bitwidth := 32;
- s := 2^171;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e171m19_7limbs/Synthesis.v b/src/Specific/solinas32_2e171m19_7limbs/Synthesis.v
deleted file mode 100644
index de0a57129..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/compiler.sh b/src/Specific/solinas32_2e171m19_7limbs/compiler.sh
deleted file mode 100755
index e288a27fb..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas32_2e171m19_7limbs/compilerxx.sh b/src/Specific/solinas32_2e171m19_7limbs/compilerxx.sh
deleted file mode 100755
index ac22d5e08..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,24}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas32_2e171m19_7limbs/feadd.c b/src/Specific/solinas32_2e171m19_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_7limbs/feadd.v b/src/Specific/solinas32_2e171m19_7limbs/feadd.v
deleted file mode 100644
index 82904e9b1..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.v
deleted file mode 100644
index d8473c284..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fecarry.v b/src/Specific/solinas32_2e171m19_7limbs/fecarry.v
deleted file mode 100644
index 380db605d..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e171m19_7limbs/fecarryDisplay.v
deleted file mode 100644
index 2bff69b79..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e171m19_7limbs/femul.c b/src/Specific/solinas32_2e171m19_7limbs/femul.c
deleted file mode 100644
index eef6341e2..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x13 * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x13 * (((uint64_t)x13 * x26) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x13 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x13 * (((uint64_t)x9 * x26) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x14 * x21)))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x13 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x28);
- { uint32_t x53 = (uint32_t) (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x36 + ((uint64_t)0x13 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x18);
- { uint32_t x60 = (x58 & 0xffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_7limbs/femul.v b/src/Specific/solinas32_2e171m19_7limbs/femul.v
deleted file mode 100644
index 481e94d70..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/femulDisplay.log b/src/Specific/solinas32_2e171m19_7limbs/femulDisplay.log
deleted file mode 100644
index e7a3b6138..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + (((uint64_t)x9 * x25) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x13 * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x21) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x13 * (((uint64_t)x13 * x26) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0x13 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x13 * (((uint64_t)x9 * x26) + ((0x2 * ((uint64_t)x11 * x27)) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x14 * x21)))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x13 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x28);
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x36 + ((uint64_t)0x13 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x18);
- uint32_t x60 = (x58 & 0xffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_7limbs/femulDisplay.v b/src/Specific/solinas32_2e171m19_7limbs/femulDisplay.v
deleted file mode 100644
index 9528a4abe..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fesquare.c b/src/Specific/solinas32_2e171m19_7limbs/fesquare.c
deleted file mode 100644
index 9e3e5027f..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x11) + ((0x2 * ((uint64_t)x12 * x12)) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x11) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((uint64_t)x11 * x6)))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x19);
- { uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x17);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x15);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x14);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x13);
- { uint32_t x38 = (uint32_t) (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x21 + ((uint64_t)0x13 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x18);
- { uint32_t x45 = (x43 & 0xffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fesquare.v b/src/Specific/solinas32_2e171m19_7limbs/fesquare.v
deleted file mode 100644
index 7d6a7a274..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.log
deleted file mode 100644
index 2a3b5a1ba..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x11) + ((0x2 * ((uint64_t)x12 * x12)) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x11) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((uint64_t)x11 * x6)))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x19);
- uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x17);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x15);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x14);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x13);
- uint32_t x38 = (uint32_t) (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x21 + ((uint64_t)0x13 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x18);
- uint32_t x45 = (x43 & 0xffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.v
deleted file mode 100644
index 9580d5e3f..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fesub.c b/src/Specific/solinas32_2e171m19_7limbs/fesub.c
deleted file mode 100644
index 244cdc672..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x3ffffda + x5) - x17);
- out[1] = ((0x1fffffe + x7) - x19);
- out[2] = ((0x3fffffe + x9) - x21);
- out[3] = ((0x1fffffe + x11) - x23);
- out[4] = ((0x3fffffe + x13) - x25);
- out[5] = ((0x1fffffe + x15) - x27);
- out[6] = ((0x1fffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fesub.v b/src/Specific/solinas32_2e171m19_7limbs/fesub.v
deleted file mode 100644
index e06459d3d..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.log
deleted file mode 100644
index 03744fcef..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1fffffe + x14) - x26), ((0x1fffffe + x15) - x27), ((0x3fffffe + x13) - x25), ((0x1fffffe + x11) - x23), ((0x3fffffe + x9) - x21), ((0x1fffffe + x7) - x19), ((0x3ffffda + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.v
deleted file mode 100644
index 6d31bd213..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e171m19_7limbs/freeze.c b/src/Specific/solinas32_2e171m19_7limbs/freeze.c
deleted file mode 100644
index 11b9709db..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffed);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x1ffffed);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0xffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0xffffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_7limbs/freeze.v b/src/Specific/solinas32_2e171m19_7limbs/freeze.v
deleted file mode 100644
index 07972c0f0..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.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_2e171m19_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.log
deleted file mode 100644
index 0a73c24ea..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffed);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x1ffffed);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0xffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0xffffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.v
deleted file mode 100644
index c136bcec3..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e171m19_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e171m19_7limbs/py_interpreter.sh
deleted file mode 100755
index fa2170571..000000000
--- a/src/Specific/solinas32_2e171m19_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**171 - 19' -Dmodulus_bytes='24 + 3/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e171m19_8limbs/CurveParameters.v b/src/Specific/solinas32_2e171m19_8limbs/CurveParameters.v
deleted file mode 100644
index 4b90d2264..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^171 - 19
-Base: 21.375
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 21 + 3/8;
- bitwidth := 32;
- s := 2^171;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e171m19_8limbs/Synthesis.v b/src/Specific/solinas32_2e171m19_8limbs/Synthesis.v
deleted file mode 100644
index 25e760d6b..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/compiler.sh b/src/Specific/solinas32_2e171m19_8limbs/compiler.sh
deleted file mode 100755
index ee39a6961..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,21,22,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas32_2e171m19_8limbs/compilerxx.sh b/src/Specific/solinas32_2e171m19_8limbs/compilerxx.sh
deleted file mode 100755
index 177e0ea03..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,22,21,21,22,21,21}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas32_2e171m19_8limbs/feadd.c b/src/Specific/solinas32_2e171m19_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_8limbs/feadd.v b/src/Specific/solinas32_2e171m19_8limbs/feadd.v
deleted file mode 100644
index fc5a605c8..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.v
deleted file mode 100644
index 5c08db701..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fecarry.v b/src/Specific/solinas32_2e171m19_8limbs/fecarry.v
deleted file mode 100644
index 9c500dc17..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e171m19_8limbs/fecarryDisplay.v
deleted file mode 100644
index cce6aa678..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e171m19_8limbs/femul.c b/src/Specific/solinas32_2e171m19_8limbs/femul.c
deleted file mode 100644
index c0e89ad8a..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x13 * ((uint64_t)x16 * x30)));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((uint64_t)x15 * x19)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x13 * (((uint64_t)x15 * x30) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x16 * x29)))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x13 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x13 * ((0x2 * ((uint64_t)x11 * x30)) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x13 * (((uint64_t)x9 * x30) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x16 * x23))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x13 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x16);
- { uint32_t x41 = ((uint32_t)x39 & 0x3fffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x15);
- { uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- { uint64_t x45 = (x43 + x37);
- { uint32_t x46 = (uint32_t) (x45 >> 0x16);
- { uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- { uint64_t x48 = (x46 + x36);
- { uint32_t x49 = (uint32_t) (x48 >> 0x15);
- { uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- { uint64_t x51 = (x49 + x35);
- { uint32_t x52 = (uint32_t) (x51 >> 0x15);
- { uint32_t x53 = ((uint32_t)x51 & 0x1fffff);
- { uint64_t x54 = (x52 + x34);
- { uint32_t x55 = (uint32_t) (x54 >> 0x16);
- { uint32_t x56 = ((uint32_t)x54 & 0x3fffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x15);
- { uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x15);
- { uint32_t x62 = ((uint32_t)x60 & 0x1fffff);
- { uint64_t x63 = (x41 + ((uint64_t)0x13 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x16);
- { uint32_t x65 = ((uint32_t)x63 & 0x3fffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x15);
- { uint32_t x68 = (x66 & 0x1fffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_8limbs/femul.v b/src/Specific/solinas32_2e171m19_8limbs/femul.v
deleted file mode 100644
index e00ae6459..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/femulDisplay.log b/src/Specific/solinas32_2e171m19_8limbs/femulDisplay.log
deleted file mode 100644
index 694a43540..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x13 * ((uint64_t)x16 * x30)));
- uint64_t x34 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((uint64_t)x15 * x19)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x13 * (((uint64_t)x15 * x30) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x16 * x29)))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x13 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x13 * ((0x2 * ((uint64_t)x11 * x30)) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x13 * (((uint64_t)x9 * x30) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x16 * x23))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x13 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x16);
- uint32_t x41 = ((uint32_t)x39 & 0x3fffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x15);
- uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- uint64_t x45 = (x43 + x37);
- uint32_t x46 = (uint32_t) (x45 >> 0x16);
- uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- uint64_t x48 = (x46 + x36);
- uint32_t x49 = (uint32_t) (x48 >> 0x15);
- uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- uint64_t x51 = (x49 + x35);
- uint32_t x52 = (uint32_t) (x51 >> 0x15);
- uint32_t x53 = ((uint32_t)x51 & 0x1fffff);
- uint64_t x54 = (x52 + x34);
- uint32_t x55 = (uint32_t) (x54 >> 0x16);
- uint32_t x56 = ((uint32_t)x54 & 0x3fffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x15);
- uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x15);
- uint32_t x62 = ((uint32_t)x60 & 0x1fffff);
- uint64_t x63 = (x41 + ((uint64_t)0x13 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x16);
- uint32_t x65 = ((uint32_t)x63 & 0x3fffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x15);
- uint32_t x68 = (x66 & 0x1fffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_8limbs/femulDisplay.v b/src/Specific/solinas32_2e171m19_8limbs/femulDisplay.v
deleted file mode 100644
index edd5c3c28..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fesquare.c b/src/Specific/solinas32_2e171m19_8limbs/fesquare.c
deleted file mode 100644
index aaefdc5ba..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13 * ((uint64_t)x13 * x13)));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x13) + ((0x2 * ((uint64_t)x14 * x14)) + ((uint64_t)x13 * x12)))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x13)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x13) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((uint64_t)x13 * x6))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x16);
- { uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x15);
- { uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- { uint64_t x28 = (x26 + x20);
- { uint32_t x29 = (uint32_t) (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x19);
- { uint32_t x32 = (uint32_t) (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x32 + x18);
- { uint32_t x35 = (uint32_t) (x34 >> 0x15);
- { uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- { uint64_t x37 = (x35 + x17);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x15);
- { uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x24 + ((uint64_t)0x13 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x15);
- { uint32_t x51 = (x49 & 0x1fffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fesquare.v b/src/Specific/solinas32_2e171m19_8limbs/fesquare.v
deleted file mode 100644
index 3096d87fe..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.log
deleted file mode 100644
index a86d3ce95..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13 * ((uint64_t)x13 * x13)));
- uint64_t x17 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x13) + ((0x2 * ((uint64_t)x14 * x14)) + ((uint64_t)x13 * x12)))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x13)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x13) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((uint64_t)x13 * x6))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x16);
- uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x15);
- uint32_t x27 = ((uint32_t)x25 & 0x1fffff);
- uint64_t x28 = (x26 + x20);
- uint32_t x29 = (uint32_t) (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x19);
- uint32_t x32 = (uint32_t) (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x32 + x18);
- uint32_t x35 = (uint32_t) (x34 >> 0x15);
- uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- uint64_t x37 = (x35 + x17);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x15);
- uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x24 + ((uint64_t)0x13 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x15);
- uint32_t x51 = (x49 & 0x1fffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.v
deleted file mode 100644
index 5b91c94e0..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fesub.c b/src/Specific/solinas32_2e171m19_8limbs/fesub.c
deleted file mode 100644
index 7a0b623f5..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x7fffda + x5) - x19);
- out[1] = ((0x3ffffe + x7) - x21);
- out[2] = ((0x7ffffe + x9) - x23);
- out[3] = ((0x3ffffe + x11) - x25);
- out[4] = ((0x3ffffe + x13) - x27);
- out[5] = ((0x7ffffe + x15) - x29);
- out[6] = ((0x3ffffe + x17) - x31);
- out[7] = ((0x3ffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fesub.v b/src/Specific/solinas32_2e171m19_8limbs/fesub.v
deleted file mode 100644
index 1e96d1ced..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.log
deleted file mode 100644
index 5322f4754..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x3ffffe + x16) - x30), ((0x3ffffe + x17) - x31), ((0x7ffffe + x15) - x29), ((0x3ffffe + x13) - x27), ((0x3ffffe + x11) - x25), ((0x7ffffe + x9) - x23), ((0x3ffffe + x7) - x21), ((0x7fffda + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.v
deleted file mode 100644
index 6aa2156f0..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e171m19_8limbs/freeze.c b/src/Specific/solinas32_2e171m19_8limbs/freeze.c
deleted file mode 100644
index 96d92326f..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffed);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x1fffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1fffff);
- { 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 x13, 0x1fffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x3fffed);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x1fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x3fffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x1fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x3fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x1fffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e171m19_8limbs/freeze.v b/src/Specific/solinas32_2e171m19_8limbs/freeze.v
deleted file mode 100644
index 9b1f7ed21..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.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_2e171m19_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.log
deleted file mode 100644
index 0bcedc9dc..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffed);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x1fffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1fffff);
- 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 x13, 0x1fffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x3fffed);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x1fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x3fffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x1fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x3fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x1fffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.v
deleted file mode 100644
index fcfae09ce..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e171m19_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e171m19_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e171m19_8limbs/py_interpreter.sh
deleted file mode 100755
index f8b71e67d..000000000
--- a/src/Specific/solinas32_2e171m19_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**171 - 19' -Dmodulus_bytes='21.375' -Da24='121665'
diff --git a/src/Specific/solinas32_2e174m17_7limbs/CurveParameters.v b/src/Specific/solinas32_2e174m17_7limbs/CurveParameters.v
deleted file mode 100644
index d9756e251..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 17
-Base: 24 + 6/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 24 + 6/7;
- bitwidth := 32;
- s := 2^174;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e174m17_7limbs/Synthesis.v b/src/Specific/solinas32_2e174m17_7limbs/Synthesis.v
deleted file mode 100644
index 7643315b1..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/compiler.sh b/src/Specific/solinas32_2e174m17_7limbs/compiler.sh
deleted file mode 100755
index 0b42fc0e6..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas32_2e174m17_7limbs/compilerxx.sh b/src/Specific/solinas32_2e174m17_7limbs/compilerxx.sh
deleted file mode 100755
index f80896859..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas32_2e174m17_7limbs/feadd.c b/src/Specific/solinas32_2e174m17_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_7limbs/feadd.v b/src/Specific/solinas32_2e174m17_7limbs/feadd.v
deleted file mode 100644
index 1fe4a8e9c..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.v
deleted file mode 100644
index a5c2b98ed..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fecarry.v b/src/Specific/solinas32_2e174m17_7limbs/fecarry.v
deleted file mode 100644
index a0ba7a60a..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e174m17_7limbs/fecarryDisplay.v
deleted file mode 100644
index 835dd2c84..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e174m17_7limbs/femul.c b/src/Specific/solinas32_2e174m17_7limbs/femul.c
deleted file mode 100644
index 9f76b9380..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x11 * (0x2 * ((uint64_t)x14 * x26))));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x26)) + ((0x2 * ((uint64_t)x15 * x27)) + (0x2 * ((uint64_t)x14 * x25))))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x11 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x11 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x11 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x36 + (0x11 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x19);
- { uint32_t x60 = (x58 & 0x1ffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_7limbs/femul.v b/src/Specific/solinas32_2e174m17_7limbs/femul.v
deleted file mode 100644
index ccb7dde90..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/femulDisplay.log b/src/Specific/solinas32_2e174m17_7limbs/femulDisplay.log
deleted file mode 100644
index 49ea49d71..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x11 * (0x2 * ((uint64_t)x14 * x26))));
- uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x26)) + ((0x2 * ((uint64_t)x15 * x27)) + (0x2 * ((uint64_t)x14 * x25))))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x11 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x11 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x11 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x36 + (0x11 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x19);
- uint32_t x60 = (x58 & 0x1ffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_7limbs/femulDisplay.v b/src/Specific/solinas32_2e174m17_7limbs/femulDisplay.v
deleted file mode 100644
index f02c2c1b6..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fesquare.c b/src/Specific/solinas32_2e174m17_7limbs/fesquare.c
deleted file mode 100644
index 5a6c5fb42..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (0x2 * ((uint64_t)x11 * x11))));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x11)) + ((0x2 * ((uint64_t)x12 * x12)) + (0x2 * ((uint64_t)x11 * x10))))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x19);
- { uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x17);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x15);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x14);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x13);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x21 + (0x11 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x19);
- { uint32_t x45 = (x43 & 0x1ffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fesquare.v b/src/Specific/solinas32_2e174m17_7limbs/fesquare.v
deleted file mode 100644
index 268ae6242..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.log
deleted file mode 100644
index 712620cd3..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (0x2 * ((uint64_t)x11 * x11))));
- uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x11)) + ((0x2 * ((uint64_t)x12 * x12)) + (0x2 * ((uint64_t)x11 * x10))))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x19);
- uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x17);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x15);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x14);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x13);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x21 + (0x11 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x19);
- uint32_t x45 = (x43 & 0x1ffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.v
deleted file mode 100644
index 6f3a26531..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fesub.c b/src/Specific/solinas32_2e174m17_7limbs/fesub.c
deleted file mode 100644
index d4d3ac9cd..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x3ffffde + x5) - x17);
- out[1] = ((0x3fffffe + x7) - x19);
- out[2] = ((0x3fffffe + x9) - x21);
- out[3] = ((0x3fffffe + x11) - x23);
- out[4] = ((0x3fffffe + x13) - x25);
- out[5] = ((0x3fffffe + x15) - x27);
- out[6] = ((0x1fffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fesub.v b/src/Specific/solinas32_2e174m17_7limbs/fesub.v
deleted file mode 100644
index c5d767095..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.log
deleted file mode 100644
index bc7310e3d..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1fffffe + x14) - x26), ((0x3fffffe + x15) - x27), ((0x3fffffe + x13) - x25), ((0x3fffffe + x11) - x23), ((0x3fffffe + x9) - x21), ((0x3fffffe + x7) - x19), ((0x3ffffde + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.v
deleted file mode 100644
index 306fe7e2b..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e174m17_7limbs/freeze.c b/src/Specific/solinas32_2e174m17_7limbs/freeze.c
deleted file mode 100644
index 281034530..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1ffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x1ffffef);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x1ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x1ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0xffffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_7limbs/freeze.v b/src/Specific/solinas32_2e174m17_7limbs/freeze.v
deleted file mode 100644
index e697b2858..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.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_2e174m17_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.log
deleted file mode 100644
index ff3dadf39..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1ffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x1ffffef);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x1ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x1ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0xffffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.v
deleted file mode 100644
index fde77ecbe..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e174m17_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e174m17_7limbs/py_interpreter.sh
deleted file mode 100755
index a435a20f5..000000000
--- a/src/Specific/solinas32_2e174m17_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 17' -Dmodulus_bytes='24 + 6/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e174m17_8limbs/CurveParameters.v b/src/Specific/solinas32_2e174m17_8limbs/CurveParameters.v
deleted file mode 100644
index d52bc5881..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 17
-Base: 21.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 21 + 3/4;
- bitwidth := 32;
- s := 2^174;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e174m17_8limbs/Synthesis.v b/src/Specific/solinas32_2e174m17_8limbs/Synthesis.v
deleted file mode 100644
index a55a43ab9..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/compiler.sh b/src/Specific/solinas32_2e174m17_8limbs/compiler.sh
deleted file mode 100755
index ded3e7196..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas32_2e174m17_8limbs/compilerxx.sh b/src/Specific/solinas32_2e174m17_8limbs/compilerxx.sh
deleted file mode 100755
index 9603ed1d7..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas32_2e174m17_8limbs/feadd.c b/src/Specific/solinas32_2e174m17_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_8limbs/feadd.v b/src/Specific/solinas32_2e174m17_8limbs/feadd.v
deleted file mode 100644
index 8e428acf3..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.v
deleted file mode 100644
index ff03d94d2..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fecarry.v b/src/Specific/solinas32_2e174m17_8limbs/fecarry.v
deleted file mode 100644
index 8cf55a11a..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e174m17_8limbs/fecarryDisplay.v
deleted file mode 100644
index b2123bc96..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e174m17_8limbs/femul.c b/src/Specific/solinas32_2e174m17_8limbs/femul.c
deleted file mode 100644
index 81c112119..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x11 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x11 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x11 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x11 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x16);
- { uint32_t x41 = ((uint32_t)x39 & 0x3fffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x16);
- { uint32_t x44 = ((uint32_t)x42 & 0x3fffff);
- { uint64_t x45 = (x43 + x37);
- { uint32_t x46 = (uint32_t) (x45 >> 0x16);
- { uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x15);
- { uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- { uint64_t x51 = (x49 + x35);
- { uint32_t x52 = (uint32_t) (x51 >> 0x16);
- { uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- { uint64_t x54 = (x52 + x34);
- { uint32_t x55 = (uint32_t) (x54 >> 0x16);
- { uint32_t x56 = ((uint32_t)x54 & 0x3fffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x16);
- { uint32_t x59 = ((uint32_t)x57 & 0x3fffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x15);
- { uint32_t x62 = ((uint32_t)x60 & 0x1fffff);
- { uint64_t x63 = (x41 + ((uint64_t)0x11 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x16);
- { uint32_t x65 = ((uint32_t)x63 & 0x3fffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x16);
- { uint32_t x68 = (x66 & 0x3fffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_8limbs/femul.v b/src/Specific/solinas32_2e174m17_8limbs/femul.v
deleted file mode 100644
index 4259cd205..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/femulDisplay.log b/src/Specific/solinas32_2e174m17_8limbs/femulDisplay.log
deleted file mode 100644
index ecb345f6b..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x11 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x11 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x11 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x11 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x16);
- uint32_t x41 = ((uint32_t)x39 & 0x3fffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x16);
- uint32_t x44 = ((uint32_t)x42 & 0x3fffff);
- uint64_t x45 = (x43 + x37);
- uint32_t x46 = (uint32_t) (x45 >> 0x16);
- uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x15);
- uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- uint64_t x51 = (x49 + x35);
- uint32_t x52 = (uint32_t) (x51 >> 0x16);
- uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- uint64_t x54 = (x52 + x34);
- uint32_t x55 = (uint32_t) (x54 >> 0x16);
- uint32_t x56 = ((uint32_t)x54 & 0x3fffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x16);
- uint32_t x59 = ((uint32_t)x57 & 0x3fffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x15);
- uint32_t x62 = ((uint32_t)x60 & 0x1fffff);
- uint64_t x63 = (x41 + ((uint64_t)0x11 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x16);
- uint32_t x65 = ((uint32_t)x63 & 0x3fffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x16);
- uint32_t x68 = (x66 & 0x3fffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_8limbs/femulDisplay.v b/src/Specific/solinas32_2e174m17_8limbs/femulDisplay.v
deleted file mode 100644
index de22c43f6..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fesquare.c b/src/Specific/solinas32_2e174m17_8limbs/fesquare.c
deleted file mode 100644
index dec43c8df..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x16);
- { uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x20);
- { uint32_t x29 = (uint32_t) (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x32 + x18);
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x17);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x24 + ((uint64_t)0x11 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x16);
- { uint32_t x51 = (x49 & 0x3fffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fesquare.v b/src/Specific/solinas32_2e174m17_8limbs/fesquare.v
deleted file mode 100644
index fe4808c34..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.log
deleted file mode 100644
index 846d739cd..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x16);
- uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x20);
- uint32_t x29 = (uint32_t) (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x32 + x18);
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x17);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x24 + ((uint64_t)0x11 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x16);
- uint32_t x51 = (x49 & 0x3fffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.v
deleted file mode 100644
index 5f297ccb1..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fesub.c b/src/Specific/solinas32_2e174m17_8limbs/fesub.c
deleted file mode 100644
index 335f5c0e4..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x7fffde + x5) - x19);
- out[1] = ((0x7ffffe + x7) - x21);
- out[2] = ((0x7ffffe + x9) - x23);
- out[3] = ((0x3ffffe + x11) - x25);
- out[4] = ((0x7ffffe + x13) - x27);
- out[5] = ((0x7ffffe + x15) - x29);
- out[6] = ((0x7ffffe + x17) - x31);
- out[7] = ((0x3ffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fesub.v b/src/Specific/solinas32_2e174m17_8limbs/fesub.v
deleted file mode 100644
index 11d49c286..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.log
deleted file mode 100644
index 5c67ecf1c..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x3ffffe + x16) - x30), ((0x7ffffe + x17) - x31), ((0x7ffffe + x15) - x29), ((0x7ffffe + x13) - x27), ((0x3ffffe + x11) - x25), ((0x7ffffe + x9) - x23), ((0x7ffffe + x7) - x21), ((0x7fffde + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.v
deleted file mode 100644
index de7dfecbf..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e174m17_8limbs/freeze.c b/src/Specific/solinas32_2e174m17_8limbs/freeze.c
deleted file mode 100644
index 8ab82d97b..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffef);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3fffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x3fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffff);
- { 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 x13, 0x1fffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x3fffef);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x3fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x3fffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x3fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x3fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x1fffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m17_8limbs/freeze.v b/src/Specific/solinas32_2e174m17_8limbs/freeze.v
deleted file mode 100644
index 7e5537d46..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.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_2e174m17_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.log
deleted file mode 100644
index 1f510ea1d..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffef);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3fffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x3fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffff);
- 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 x13, 0x1fffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x3fffef);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x3fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x3fffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x3fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x3fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x1fffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.v
deleted file mode 100644
index 319b30eb2..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m17_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e174m17_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e174m17_8limbs/py_interpreter.sh
deleted file mode 100755
index a66ba22ea..000000000
--- a/src/Specific/solinas32_2e174m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 17' -Dmodulus_bytes='21.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e174m3_7limbs/CurveParameters.v b/src/Specific/solinas32_2e174m3_7limbs/CurveParameters.v
deleted file mode 100644
index 7b581a52f..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 3
-Base: 24 + 6/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 24 + 6/7;
- bitwidth := 32;
- s := 2^174;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e174m3_7limbs/Synthesis.v b/src/Specific/solinas32_2e174m3_7limbs/Synthesis.v
deleted file mode 100644
index 863f765c2..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/compiler.sh b/src/Specific/solinas32_2e174m3_7limbs/compiler.sh
deleted file mode 100755
index 7682c3254..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas32_2e174m3_7limbs/compilerxx.sh b/src/Specific/solinas32_2e174m3_7limbs/compilerxx.sh
deleted file mode 100755
index a00b12ac5..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas32_2e174m3_7limbs/feadd.c b/src/Specific/solinas32_2e174m3_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_7limbs/feadd.v b/src/Specific/solinas32_2e174m3_7limbs/feadd.v
deleted file mode 100644
index cddbf9f98..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.v
deleted file mode 100644
index 714c7ca6b..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fecarry.v b/src/Specific/solinas32_2e174m3_7limbs/fecarry.v
deleted file mode 100644
index 7b0eb086d..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e174m3_7limbs/fecarryDisplay.v
deleted file mode 100644
index 9bd1de649..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e174m3_7limbs/femul.c b/src/Specific/solinas32_2e174m3_7limbs/femul.c
deleted file mode 100644
index f5e709aff..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x3 * (0x2 * ((uint64_t)x14 * x26))));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x26)) + ((0x2 * ((uint64_t)x15 * x27)) + (0x2 * ((uint64_t)x14 * x25))))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x3 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x3 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- { uint64_t x34 = (((uint64_t)x5 * x17) + (0x3 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x30);
- { uint32_t x47 = (uint32_t) (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint32_t x50 = (uint32_t) (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x36 + (0x3 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x19);
- { uint32_t x60 = (x58 & 0x1ffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_7limbs/femul.v b/src/Specific/solinas32_2e174m3_7limbs/femul.v
deleted file mode 100644
index 1604714de..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/femulDisplay.log b/src/Specific/solinas32_2e174m3_7limbs/femulDisplay.log
deleted file mode 100644
index 4e8f9ea75..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x3 * (0x2 * ((uint64_t)x14 * x26))));
- uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x26)) + (0x2 * ((uint64_t)x14 * x27)))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x26)) + ((0x2 * ((uint64_t)x15 * x27)) + (0x2 * ((uint64_t)x14 * x25))))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) + (0x3 * ((0x2 * ((uint64_t)x11 * x26)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + (0x2 * ((uint64_t)x14 * x23)))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0x3 * ((0x2 * ((uint64_t)x9 * x26)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + (0x2 * ((uint64_t)x14 * x21))))))));
- uint64_t x34 = (((uint64_t)x5 * x17) + (0x3 * ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x30);
- uint32_t x47 = (uint32_t) (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x29);
- uint32_t x50 = (uint32_t) (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x36 + (0x3 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x19);
- uint32_t x60 = (x58 & 0x1ffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_7limbs/femulDisplay.v b/src/Specific/solinas32_2e174m3_7limbs/femulDisplay.v
deleted file mode 100644
index 3b74cd2d1..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fesquare.c b/src/Specific/solinas32_2e174m3_7limbs/fesquare.c
deleted file mode 100644
index e3a6632a8..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (0x2 * ((uint64_t)x11 * x11))));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x11)) + ((0x2 * ((uint64_t)x12 * x12)) + (0x2 * ((uint64_t)x11 * x10))))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- { uint64_t x19 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x19);
- { uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x17);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x15);
- { uint32_t x32 = (uint32_t) (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x14);
- { uint32_t x35 = (uint32_t) (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x13);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x21 + (0x3 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x19);
- { uint32_t x45 = (x43 & 0x1ffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fesquare.v b/src/Specific/solinas32_2e174m3_7limbs/fesquare.v
deleted file mode 100644
index 70d24937e..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.log
deleted file mode 100644
index f834ce2df..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (0x2 * ((uint64_t)x11 * x11))));
- uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x11)) + (0x2 * ((uint64_t)x11 * x12)))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x11)) + ((0x2 * ((uint64_t)x12 * x12)) + (0x2 * ((uint64_t)x11 * x10))))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x11)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (0x2 * ((uint64_t)x11 * x8)))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x11)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (0x2 * ((uint64_t)x11 * x6))))))));
- uint64_t x19 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x19);
- uint32_t x21 = ((uint32_t)x19 & 0x1ffffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x17);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x15);
- uint32_t x32 = (uint32_t) (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x14);
- uint32_t x35 = (uint32_t) (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x13);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x21 + (0x3 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x19);
- uint32_t x45 = (x43 & 0x1ffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.v
deleted file mode 100644
index 0570f81fc..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fesub.c b/src/Specific/solinas32_2e174m3_7limbs/fesub.c
deleted file mode 100644
index 1c7d5e51b..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x3fffffa + x5) - x17);
- out[1] = ((0x3fffffe + x7) - x19);
- out[2] = ((0x3fffffe + x9) - x21);
- out[3] = ((0x3fffffe + x11) - x23);
- out[4] = ((0x3fffffe + x13) - x25);
- out[5] = ((0x3fffffe + x15) - x27);
- out[6] = ((0x1fffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fesub.v b/src/Specific/solinas32_2e174m3_7limbs/fesub.v
deleted file mode 100644
index fc08b511c..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.log
deleted file mode 100644
index f26e548e4..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1fffffe + x14) - x26), ((0x3fffffe + x15) - x27), ((0x3fffffe + x13) - x25), ((0x3fffffe + x11) - x23), ((0x3fffffe + x9) - x21), ((0x3fffffe + x7) - x19), ((0x3fffffa + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.v
deleted file mode 100644
index e838bbc9c..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e174m3_7limbs/freeze.c b/src/Specific/solinas32_2e174m3_7limbs/freeze.c
deleted file mode 100644
index 374fe1cbe..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1ffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x1fffffd);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x1ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x1ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0xffffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_7limbs/freeze.v b/src/Specific/solinas32_2e174m3_7limbs/freeze.v
deleted file mode 100644
index 2f64271f1..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.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_2e174m3_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.log
deleted file mode 100644
index aa6dba0f3..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x1ffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x1ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x1ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x1fffffd);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x1ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x1ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0xffffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.v
deleted file mode 100644
index 23c17c3a4..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e174m3_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e174m3_7limbs/py_interpreter.sh
deleted file mode 100755
index 0e2055ed4..000000000
--- a/src/Specific/solinas32_2e174m3_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 3' -Dmodulus_bytes='24 + 6/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e174m3_8limbs/CurveParameters.v b/src/Specific/solinas32_2e174m3_8limbs/CurveParameters.v
deleted file mode 100644
index ba2940378..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 3
-Base: 21.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 21 + 3/4;
- bitwidth := 32;
- s := 2^174;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e174m3_8limbs/Synthesis.v b/src/Specific/solinas32_2e174m3_8limbs/Synthesis.v
deleted file mode 100644
index e488096a8..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/compiler.sh b/src/Specific/solinas32_2e174m3_8limbs/compiler.sh
deleted file mode 100755
index 90b65feda..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas32_2e174m3_8limbs/compilerxx.sh b/src/Specific/solinas32_2e174m3_8limbs/compilerxx.sh
deleted file mode 100755
index 79d5eba9b..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas32_2e174m3_8limbs/feadd.c b/src/Specific/solinas32_2e174m3_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_8limbs/feadd.v b/src/Specific/solinas32_2e174m3_8limbs/feadd.v
deleted file mode 100644
index 5ba5f5524..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.v
deleted file mode 100644
index b741518f3..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fecarry.v b/src/Specific/solinas32_2e174m3_8limbs/fecarry.v
deleted file mode 100644
index 06a6322cd..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e174m3_8limbs/fecarryDisplay.v
deleted file mode 100644
index 4c4999d6a..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e174m3_8limbs/femul.c b/src/Specific/solinas32_2e174m3_8limbs/femul.c
deleted file mode 100644
index 21705fce9..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x3 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x3 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x3 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x3 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint32_t x40 = (uint32_t) (x39 >> 0x16);
- { uint32_t x41 = ((uint32_t)x39 & 0x3fffff);
- { uint64_t x42 = (x40 + x38);
- { uint32_t x43 = (uint32_t) (x42 >> 0x16);
- { uint32_t x44 = ((uint32_t)x42 & 0x3fffff);
- { uint64_t x45 = (x43 + x37);
- { uint32_t x46 = (uint32_t) (x45 >> 0x16);
- { uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- { uint64_t x48 = (x46 + x36);
- { uint32_t x49 = (uint32_t) (x48 >> 0x15);
- { uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- { uint64_t x51 = (x49 + x35);
- { uint32_t x52 = (uint32_t) (x51 >> 0x16);
- { uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- { uint64_t x54 = (x52 + x34);
- { uint32_t x55 = (uint32_t) (x54 >> 0x16);
- { uint32_t x56 = ((uint32_t)x54 & 0x3fffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x16);
- { uint32_t x59 = ((uint32_t)x57 & 0x3fffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x15);
- { uint32_t x62 = ((uint32_t)x60 & 0x1fffff);
- { uint32_t x63 = (x41 + (0x3 * x61));
- { uint32_t x64 = (x63 >> 0x16);
- { uint32_t x65 = (x63 & 0x3fffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x16);
- { uint32_t x68 = (x66 & 0x3fffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_8limbs/femul.v b/src/Specific/solinas32_2e174m3_8limbs/femul.v
deleted file mode 100644
index 32cd5ab5e..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/femulDisplay.log b/src/Specific/solinas32_2e174m3_8limbs/femulDisplay.log
deleted file mode 100644
index d88723ec8..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x3 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x3 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x3 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x3 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint32_t x40 = (uint32_t) (x39 >> 0x16);
- uint32_t x41 = ((uint32_t)x39 & 0x3fffff);
- uint64_t x42 = (x40 + x38);
- uint32_t x43 = (uint32_t) (x42 >> 0x16);
- uint32_t x44 = ((uint32_t)x42 & 0x3fffff);
- uint64_t x45 = (x43 + x37);
- uint32_t x46 = (uint32_t) (x45 >> 0x16);
- uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- uint64_t x48 = (x46 + x36);
- uint32_t x49 = (uint32_t) (x48 >> 0x15);
- uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- uint64_t x51 = (x49 + x35);
- uint32_t x52 = (uint32_t) (x51 >> 0x16);
- uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- uint64_t x54 = (x52 + x34);
- uint32_t x55 = (uint32_t) (x54 >> 0x16);
- uint32_t x56 = ((uint32_t)x54 & 0x3fffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x16);
- uint32_t x59 = ((uint32_t)x57 & 0x3fffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x15);
- uint32_t x62 = ((uint32_t)x60 & 0x1fffff);
- uint32_t x63 = (x41 + (0x3 * x61));
- uint32_t x64 = (x63 >> 0x16);
- uint32_t x65 = (x63 & 0x3fffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x16);
- uint32_t x68 = (x66 & 0x3fffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_8limbs/femulDisplay.v b/src/Specific/solinas32_2e174m3_8limbs/femulDisplay.v
deleted file mode 100644
index c3ed3492a..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fesquare.c b/src/Specific/solinas32_2e174m3_8limbs/fesquare.c
deleted file mode 100644
index 5d58c6956..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint32_t x23 = (uint32_t) (x22 >> 0x16);
- { uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- { uint64_t x25 = (x23 + x21);
- { uint32_t x26 = (uint32_t) (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x20);
- { uint32_t x29 = (uint32_t) (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x19);
- { uint32_t x32 = (uint32_t) (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x32 + x18);
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x17);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint32_t x46 = (x24 + (0x3 * x44));
- { uint32_t x47 = (x46 >> 0x16);
- { uint32_t x48 = (x46 & 0x3fffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x16);
- { uint32_t x51 = (x49 & 0x3fffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fesquare.v b/src/Specific/solinas32_2e174m3_8limbs/fesquare.v
deleted file mode 100644
index e8927b7d7..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.log
deleted file mode 100644
index 867d7fb89..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint32_t x23 = (uint32_t) (x22 >> 0x16);
- uint32_t x24 = ((uint32_t)x22 & 0x3fffff);
- uint64_t x25 = (x23 + x21);
- uint32_t x26 = (uint32_t) (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x20);
- uint32_t x29 = (uint32_t) (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x19);
- uint32_t x32 = (uint32_t) (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x32 + x18);
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x17);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint32_t x46 = (x24 + (0x3 * x44));
- uint32_t x47 = (x46 >> 0x16);
- uint32_t x48 = (x46 & 0x3fffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x16);
- uint32_t x51 = (x49 & 0x3fffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.v
deleted file mode 100644
index 8f317bd49..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fesub.c b/src/Specific/solinas32_2e174m3_8limbs/fesub.c
deleted file mode 100644
index 160676135..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x7ffffa + x5) - x19);
- out[1] = ((0x7ffffe + x7) - x21);
- out[2] = ((0x7ffffe + x9) - x23);
- out[3] = ((0x3ffffe + x11) - x25);
- out[4] = ((0x7ffffe + x13) - x27);
- out[5] = ((0x7ffffe + x15) - x29);
- out[6] = ((0x7ffffe + x17) - x31);
- out[7] = ((0x3ffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fesub.v b/src/Specific/solinas32_2e174m3_8limbs/fesub.v
deleted file mode 100644
index 2a963b774..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.log
deleted file mode 100644
index 04f45b651..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x3ffffe + x16) - x30), ((0x7ffffe + x17) - x31), ((0x7ffffe + x15) - x29), ((0x7ffffe + x13) - x27), ((0x3ffffe + x11) - x25), ((0x7ffffe + x9) - x23), ((0x7ffffe + x7) - x21), ((0x7ffffa + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.v
deleted file mode 100644
index 1ad149e4e..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e174m3_8limbs/freeze.c b/src/Specific/solinas32_2e174m3_8limbs/freeze.c
deleted file mode 100644
index eeaa231d4..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffd);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3fffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x3fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffff);
- { 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 x13, 0x1fffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x3ffffd);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x3fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x3fffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x3fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x3fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x1fffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e174m3_8limbs/freeze.v b/src/Specific/solinas32_2e174m3_8limbs/freeze.v
deleted file mode 100644
index bf9f6fe83..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.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_2e174m3_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.log
deleted file mode 100644
index fe6dcee61..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffd);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3fffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x3fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffff);
- 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 x13, 0x1fffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x3ffffd);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x3fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x3fffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x3fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x3fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x1fffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.v
deleted file mode 100644
index 74c85acf1..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e174m3_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e174m3_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e174m3_8limbs/py_interpreter.sh
deleted file mode 100755
index 8fdc6b46c..000000000
--- a/src/Specific/solinas32_2e174m3_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 3' -Dmodulus_bytes='21.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e189m25_7limbs/CurveParameters.v b/src/Specific/solinas32_2e189m25_7limbs/CurveParameters.v
deleted file mode 100644
index f846046f4..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^189 - 25
-Base: 27
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 27;
- bitwidth := 32;
- s := 2^189;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e189m25_7limbs/Synthesis.v b/src/Specific/solinas32_2e189m25_7limbs/Synthesis.v
deleted file mode 100644
index ea0e13506..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/compiler.sh b/src/Specific/solinas32_2e189m25_7limbs/compiler.sh
deleted file mode 100755
index 094bc139c..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas32_2e189m25_7limbs/compilerxx.sh b/src/Specific/solinas32_2e189m25_7limbs/compilerxx.sh
deleted file mode 100755
index d5b1ed13f..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas32_2e189m25_7limbs/feadd.c b/src/Specific/solinas32_2e189m25_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_7limbs/feadd.v b/src/Specific/solinas32_2e189m25_7limbs/feadd.v
deleted file mode 100644
index 5331c84ae..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.v
deleted file mode 100644
index 6e3f89708..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fecarry.v b/src/Specific/solinas32_2e189m25_7limbs/fecarry.v
deleted file mode 100644
index 04b9662fa..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e189m25_7limbs/fecarryDisplay.v
deleted file mode 100644
index 4c1da1e8f..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e189m25_7limbs/femul.c b/src/Specific/solinas32_2e189m25_7limbs/femul.c
deleted file mode 100644
index 9da02e886..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x19 * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x19 * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x19 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- { ℤ x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) +ℤ (0x19 *ℤ (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- { ℤ x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) +ℤ (0x19 *ℤ (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- { ℤ x34 = (((uint64_t)x5 * x17) +ℤ (0x19 *ℤ (((uint64_t)x7 * x26) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x14 * x19))))))));
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = (x34 & 0x7ffffff);
- { ℤ x37 = (x35 +ℤ x33);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = (x37 & 0x7ffffff);
- { ℤ x40 = (x38 +ℤ x32);
- { uint64_t x41 = (x40 >> 0x1b);
- { uint32_t x42 = (x40 & 0x7ffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x36 + (0x19 * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x1b);
- { uint32_t x57 = ((uint32_t)x55 & 0x7ffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = (x58 & 0x7ffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_7limbs/femul.v b/src/Specific/solinas32_2e189m25_7limbs/femul.v
deleted file mode 100644
index 613e6e001..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/femulDisplay.log b/src/Specific/solinas32_2e189m25_7limbs/femulDisplay.log
deleted file mode 100644
index 6f1d5362e..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + (((uint64_t)x15 * x19) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + (((uint64_t)x13 * x19) + ((uint64_t)x15 * x17)))))) + (0x19 * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + (((uint64_t)x11 * x19) + ((uint64_t)x13 * x17))))) + (0x19 * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + (((uint64_t)x9 * x19) + ((uint64_t)x11 * x17)))) + (0x19 * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- ℤ x32 = ((((uint64_t)x5 * x21) + (((uint64_t)x7 * x19) + ((uint64_t)x9 * x17))) +ℤ (0x19 *ℤ (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- ℤ x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) +ℤ (0x19 *ℤ (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- ℤ x34 = (((uint64_t)x5 * x17) +ℤ (0x19 *ℤ (((uint64_t)x7 * x26) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x14 * x19))))))));
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = (x34 & 0x7ffffff);
- ℤ x37 = (x35 +ℤ x33);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = (x37 & 0x7ffffff);
- ℤ x40 = (x38 +ℤ x32);
- uint64_t x41 = (x40 >> 0x1b);
- uint32_t x42 = (x40 & 0x7ffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x1b);
- uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x36 + (0x19 * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x1b);
- uint32_t x57 = ((uint32_t)x55 & 0x7ffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x1b);
- uint32_t x60 = (x58 & 0x7ffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_7limbs/femulDisplay.v b/src/Specific/solinas32_2e189m25_7limbs/femulDisplay.v
deleted file mode 100644
index ce02f1dac..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fesquare.c b/src/Specific/solinas32_2e189m25_7limbs/fesquare.c
deleted file mode 100644
index 2d8ae4b5a..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x19 * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x19 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- { ℤ x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x19 *ℤ (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- { ℤ x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x19 *ℤ (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- { ℤ x19 = (((uint64_t)x2 * x2) +ℤ (0x19 *ℤ (((uint64_t)x4 * x11) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((uint64_t)x11 * x4))))))));
- { uint64_t x20 = (x19 >> 0x1b);
- { uint32_t x21 = (x19 & 0x7ffffff);
- { ℤ x22 = (x20 +ℤ x18);
- { uint64_t x23 = (x22 >> 0x1b);
- { uint32_t x24 = (x22 & 0x7ffffff);
- { ℤ x25 = (x23 +ℤ x17);
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = (x25 & 0x7ffffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x1b);
- { uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- { uint64_t x31 = (x29 + x15);
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- { uint64_t x34 = (x32 + x14);
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- { uint64_t x37 = (x35 + x13);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- { uint64_t x40 = (x21 + (0x19 * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x1b);
- { uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = (x43 & 0x7ffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fesquare.v b/src/Specific/solinas32_2e189m25_7limbs/fesquare.v
deleted file mode 100644
index 3d0fa3105..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.log
deleted file mode 100644
index efc8e6c28..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x19 * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x19 * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- ℤ x17 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x19 *ℤ (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- ℤ x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x19 *ℤ (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- ℤ x19 = (((uint64_t)x2 * x2) +ℤ (0x19 *ℤ (((uint64_t)x4 * x11) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((uint64_t)x11 * x4))))))));
- uint64_t x20 = (x19 >> 0x1b);
- uint32_t x21 = (x19 & 0x7ffffff);
- ℤ x22 = (x20 +ℤ x18);
- uint64_t x23 = (x22 >> 0x1b);
- uint32_t x24 = (x22 & 0x7ffffff);
- ℤ x25 = (x23 +ℤ x17);
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = (x25 & 0x7ffffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x1b);
- uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- uint64_t x31 = (x29 + x15);
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- uint64_t x34 = (x32 + x14);
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- uint64_t x37 = (x35 + x13);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- uint64_t x40 = (x21 + (0x19 * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x1b);
- uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x1b);
- uint32_t x45 = (x43 & 0x7ffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.v
deleted file mode 100644
index ea38791e7..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fesub.c b/src/Specific/solinas32_2e189m25_7limbs/fesub.c
deleted file mode 100644
index c8d4d9289..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0xfffffce + x5) - x17);
- out[1] = ((0xffffffe + x7) - x19);
- out[2] = ((0xffffffe + x9) - x21);
- out[3] = ((0xffffffe + x11) - x23);
- out[4] = ((0xffffffe + x13) - x25);
- out[5] = ((0xffffffe + x15) - x27);
- out[6] = ((0xffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fesub.v b/src/Specific/solinas32_2e189m25_7limbs/fesub.v
deleted file mode 100644
index 00d24b1dc..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.log
deleted file mode 100644
index 74fbc0216..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0xffffffe + x14) - x26), ((0xffffffe + x15) - x27), ((0xffffffe + x13) - x25), ((0xffffffe + x11) - x23), ((0xffffffe + x9) - x21), ((0xffffffe + x7) - x19), ((0xfffffce + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.v
deleted file mode 100644
index 824e2d447..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e189m25_7limbs/freeze.c b/src/Specific/solinas32_2e189m25_7limbs/freeze.c
deleted file mode 100644
index 861a4917d..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffe7);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x7ffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x7ffffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x7ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x7ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7ffffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0x7ffffe7);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x7ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x7ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x7ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x7ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x7ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x7ffffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_7limbs/freeze.v b/src/Specific/solinas32_2e189m25_7limbs/freeze.v
deleted file mode 100644
index 1d6de764f..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.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_2e189m25_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.log
deleted file mode 100644
index 8094a8368..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffe7);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x7ffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x7ffffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x7ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x7ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7ffffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0x7ffffe7);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x7ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x7ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x7ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x7ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x7ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x7ffffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.v
deleted file mode 100644
index bc2d527a9..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e189m25_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e189m25_7limbs/py_interpreter.sh
deleted file mode 100755
index 080fca164..000000000
--- a/src/Specific/solinas32_2e189m25_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**189 - 25' -Dmodulus_bytes='27' -Da24='121665'
diff --git a/src/Specific/solinas32_2e189m25_8limbs/CurveParameters.v b/src/Specific/solinas32_2e189m25_8limbs/CurveParameters.v
deleted file mode 100644
index 7eda70018..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^189 - 25
-Base: 23.625
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 23 + 5/8;
- bitwidth := 32;
- s := 2^189;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e189m25_8limbs/Synthesis.v b/src/Specific/solinas32_2e189m25_8limbs/Synthesis.v
deleted file mode 100644
index 1a8ccfbef..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/compiler.sh b/src/Specific/solinas32_2e189m25_8limbs/compiler.sh
deleted file mode 100755
index ea9312dc6..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas32_2e189m25_8limbs/compilerxx.sh b/src/Specific/solinas32_2e189m25_8limbs/compilerxx.sh
deleted file mode 100755
index d61af8038..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,23}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas32_2e189m25_8limbs/feadd.c b/src/Specific/solinas32_2e189m25_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_8limbs/feadd.v b/src/Specific/solinas32_2e189m25_8limbs/feadd.v
deleted file mode 100644
index 371a2f2d4..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.v
deleted file mode 100644
index cc84243ed..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fecarry.v b/src/Specific/solinas32_2e189m25_8limbs/fecarry.v
deleted file mode 100644
index cc9d7a7b0..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e189m25_8limbs/fecarryDisplay.v
deleted file mode 100644
index a345d0a4b..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e189m25_8limbs/femul.c b/src/Specific/solinas32_2e189m25_8limbs/femul.c
deleted file mode 100644
index 3e1955645..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x19 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x19 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x19 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x19 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x19 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x19 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x18);
- { uint32_t x41 = ((uint32_t)x39 & 0xffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x18);
- { uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x17);
- { uint32_t x47 = ((uint32_t)x45 & 0x7fffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x18);
- { uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x18);
- { uint32_t x53 = ((uint32_t)x51 & 0xffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x17);
- { uint32_t x56 = ((uint32_t)x54 & 0x7fffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x18);
- { uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x41 + ((uint64_t)0x19 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x18);
- { uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x18);
- { uint32_t x68 = (x66 & 0xffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_8limbs/femul.v b/src/Specific/solinas32_2e189m25_8limbs/femul.v
deleted file mode 100644
index 0ffd1ba90..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/femulDisplay.log b/src/Specific/solinas32_2e189m25_8limbs/femulDisplay.log
deleted file mode 100644
index a60f309c1..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x19 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x19 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x19 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x19 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x19 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x19 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x18);
- uint32_t x41 = ((uint32_t)x39 & 0xffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x18);
- uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x17);
- uint32_t x47 = ((uint32_t)x45 & 0x7fffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x18);
- uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x18);
- uint32_t x53 = ((uint32_t)x51 & 0xffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x17);
- uint32_t x56 = ((uint32_t)x54 & 0x7fffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x18);
- uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x41 + ((uint64_t)0x19 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x18);
- uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x18);
- uint32_t x68 = (x66 & 0xffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_8limbs/femulDisplay.v b/src/Specific/solinas32_2e189m25_8limbs/femulDisplay.v
deleted file mode 100644
index 7bf49539a..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fesquare.c b/src/Specific/solinas32_2e189m25_8limbs/fesquare.c
deleted file mode 100644
index 180a8bad8..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x24 + ((uint64_t)0x19 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x18);
- { uint32_t x51 = (x49 & 0xffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fesquare.v b/src/Specific/solinas32_2e189m25_8limbs/fesquare.v
deleted file mode 100644
index fd70ea682..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.log
deleted file mode 100644
index 62194cb45..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x24 + ((uint64_t)0x19 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x18);
- uint32_t x51 = (x49 & 0xffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.v
deleted file mode 100644
index deba2cc23..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fesub.c b/src/Specific/solinas32_2e189m25_8limbs/fesub.c
deleted file mode 100644
index aa1a6a810..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x1ffffce + x5) - x19);
- out[1] = ((0x1fffffe + x7) - x21);
- out[2] = ((0xfffffe + x9) - x23);
- out[3] = ((0x1fffffe + x11) - x25);
- out[4] = ((0x1fffffe + x13) - x27);
- out[5] = ((0xfffffe + x15) - x29);
- out[6] = ((0x1fffffe + x17) - x31);
- out[7] = ((0xfffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fesub.v b/src/Specific/solinas32_2e189m25_8limbs/fesub.v
deleted file mode 100644
index 3fedc6033..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.log
deleted file mode 100644
index d9ce29935..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffe + x16) - x30), ((0x1fffffe + x17) - x31), ((0xfffffe + x15) - x29), ((0x1fffffe + x13) - x27), ((0x1fffffe + x11) - x25), ((0xfffffe + x9) - x23), ((0x1fffffe + x7) - x21), ((0x1ffffce + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.v
deleted file mode 100644
index 8944bec30..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e189m25_8limbs/freeze.c b/src/Specific/solinas32_2e189m25_8limbs/freeze.c
deleted file mode 100644
index 14bd28b21..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe7);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7fffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x7fffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0xffffe7);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x7fffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x7fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x7fffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e189m25_8limbs/freeze.v b/src/Specific/solinas32_2e189m25_8limbs/freeze.v
deleted file mode 100644
index 317b401d8..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.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_2e189m25_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.log
deleted file mode 100644
index 373c465f1..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe7);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7fffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x7fffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0xffffe7);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x7fffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x7fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x7fffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.v
deleted file mode 100644
index 10f2601a2..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e189m25_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e189m25_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e189m25_8limbs/py_interpreter.sh
deleted file mode 100755
index a4a74ccf2..000000000
--- a/src/Specific/solinas32_2e189m25_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**189 - 25' -Dmodulus_bytes='23.625' -Da24='121665'
diff --git a/src/Specific/solinas32_2e190m11_7limbs/CurveParameters.v b/src/Specific/solinas32_2e190m11_7limbs/CurveParameters.v
deleted file mode 100644
index b610a7925..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^190 - 11
-Base: 27 + 1/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 27 + 1/7;
- bitwidth := 32;
- s := 2^190;
- c := [(1, 11)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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_2e190m11_7limbs/Synthesis.v b/src/Specific/solinas32_2e190m11_7limbs/Synthesis.v
deleted file mode 100644
index 2f41c5a2b..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/compiler.sh b/src/Specific/solinas32_2e190m11_7limbs/compiler.sh
deleted file mode 100755
index d5a972543..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas32_2e190m11_7limbs/compilerxx.sh b/src/Specific/solinas32_2e190m11_7limbs/compilerxx.sh
deleted file mode 100755
index d7ecccf62..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,27,27,27,27,27}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas32_2e190m11_7limbs/feadd.c b/src/Specific/solinas32_2e190m11_7limbs/feadd.c
deleted file mode 100644
index 5288d0bef..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_7limbs/feadd.v b/src/Specific/solinas32_2e190m11_7limbs/feadd.v
deleted file mode 100644
index 1086f8748..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/feaddDisplay.log b/src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.log
deleted file mode 100644
index d22997dcb..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.v b/src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.v
deleted file mode 100644
index 9876eb0f8..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fecarry.v b/src/Specific/solinas32_2e190m11_7limbs/fecarry.v
deleted file mode 100644
index 261ed8c23..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/fecarryDisplay.v b/src/Specific/solinas32_2e190m11_7limbs/fecarryDisplay.v
deleted file mode 100644
index 0fe5e9bf3..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e190m11_7limbs/femul.c b/src/Specific/solinas32_2e190m11_7limbs/femul.c
deleted file mode 100644
index ed25ed8f1..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- { uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- { uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0xb * ((uint64_t)x14 * x26)));
- { uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0xb * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- { uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0xb * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- { uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0xb * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- { uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0xb * (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- { ℤ x34 = (((uint64_t)x5 * x17) +ℤ (0xb *ℤ ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- { uint64_t x35 = (x34 >> 0x1c);
- { uint32_t x36 = (x34 & 0xfffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x1b);
- { uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x36 + (0xb * x53));
- { uint32_t x56 = (uint32_t) (x55 >> 0x1c);
- { uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
- { uint32_t x58 = (x56 + x39);
- { uint32_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = (x58 & 0x7ffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_7limbs/femul.v b/src/Specific/solinas32_2e190m11_7limbs/femul.v
deleted file mode 100644
index 3d2fdb2bc..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/femulDisplay.log b/src/Specific/solinas32_2e190m11_7limbs/femulDisplay.log
deleted file mode 100644
index 8e4dfcb20..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint64_t x28 = (((uint64_t)x5 * x26) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((0x2 * ((uint64_t)x13 * x21)) + ((0x2 * ((uint64_t)x15 * x19)) + ((uint64_t)x14 * x17)))))));
- uint64_t x29 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((0x2 * ((uint64_t)x13 * x19)) + ((uint64_t)x15 * x17)))))) + (0xb * ((uint64_t)x14 * x26)));
- uint64_t x30 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((0x2 * ((uint64_t)x11 * x19)) + ((uint64_t)x13 * x17))))) + (0xb * (((uint64_t)x15 * x26) + ((uint64_t)x14 * x27))));
- uint64_t x31 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((0x2 * ((uint64_t)x9 * x19)) + ((uint64_t)x11 * x17)))) + (0xb * (((uint64_t)x13 * x26) + (((uint64_t)x15 * x27) + ((uint64_t)x14 * x25)))));
- uint64_t x32 = ((((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x19)) + ((uint64_t)x9 * x17))) + (0xb * (((uint64_t)x11 * x26) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x14 * x23))))));
- uint64_t x33 = ((((uint64_t)x5 * x19) + ((uint64_t)x7 * x17)) + (0xb * (((uint64_t)x9 * x26) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x14 * x21)))))));
- ℤ x34 = (((uint64_t)x5 * x17) +ℤ (0xb *ℤ ((0x2 * ((uint64_t)x7 * x26)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + (0x2 * ((uint64_t)x14 * x19)))))))));
- uint64_t x35 = (x34 >> 0x1c);
- uint32_t x36 = (x34 & 0xfffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x1b);
- uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x1b);
- uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x36 + (0xb * x53));
- uint32_t x56 = (uint32_t) (x55 >> 0x1c);
- uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
- uint32_t x58 = (x56 + x39);
- uint32_t x59 = (x58 >> 0x1b);
- uint32_t x60 = (x58 & 0x7ffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_7limbs/femulDisplay.v b/src/Specific/solinas32_2e190m11_7limbs/femulDisplay.v
deleted file mode 100644
index 6d113d693..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fesquare.c b/src/Specific/solinas32_2e190m11_7limbs/fesquare.c
deleted file mode 100644
index ece920735..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- { uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xb * ((uint64_t)x11 * x11)));
- { uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xb * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- { uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xb * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- { uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xb * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- { uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xb * (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- { ℤ x19 = (((uint64_t)x2 * x2) +ℤ (0xb *ℤ ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- { uint64_t x20 = (x19 >> 0x1c);
- { uint32_t x21 = (x19 & 0xfffffff);
- { uint64_t x22 = (x20 + x18);
- { uint64_t x23 = (x22 >> 0x1b);
- { uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- { uint64_t x25 = (x23 + x17);
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x28 = (x26 + x16);
- { uint64_t x29 = (x28 >> 0x1b);
- { uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- { uint64_t x31 = (x29 + x15);
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- { uint64_t x34 = (x32 + x14);
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- { uint64_t x37 = (x35 + x13);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- { uint64_t x40 = (x21 + (0xb * x38));
- { uint32_t x41 = (uint32_t) (x40 >> 0x1c);
- { uint32_t x42 = ((uint32_t)x40 & 0xfffffff);
- { uint32_t x43 = (x41 + x24);
- { uint32_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = (x43 & 0x7ffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fesquare.v b/src/Specific/solinas32_2e190m11_7limbs/fesquare.v
deleted file mode 100644
index d5c311935..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/fesquareDisplay.log b/src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.log
deleted file mode 100644
index f6685bd3a..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x13 = (((uint64_t)x2 * x11) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x11 * x2)))))));
- uint64_t x14 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xb * ((uint64_t)x11 * x11)));
- uint64_t x15 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xb * (((uint64_t)x12 * x11) + ((uint64_t)x11 * x12))));
- uint64_t x16 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xb * (((uint64_t)x10 * x11) + (((uint64_t)x12 * x12) + ((uint64_t)x11 * x10)))));
- uint64_t x17 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xb * (((uint64_t)x8 * x11) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x11 * x8))))));
- uint64_t x18 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xb * (((uint64_t)x6 * x11) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x11 * x6)))))));
- ℤ x19 = (((uint64_t)x2 * x2) +ℤ (0xb *ℤ ((0x2 * ((uint64_t)x4 * x11)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (0x2 * ((uint64_t)x11 * x4)))))))));
- uint64_t x20 = (x19 >> 0x1c);
- uint32_t x21 = (x19 & 0xfffffff);
- uint64_t x22 = (x20 + x18);
- uint64_t x23 = (x22 >> 0x1b);
- uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- uint64_t x25 = (x23 + x17);
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x28 = (x26 + x16);
- uint64_t x29 = (x28 >> 0x1b);
- uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- uint64_t x31 = (x29 + x15);
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- uint64_t x34 = (x32 + x14);
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- uint64_t x37 = (x35 + x13);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- uint64_t x40 = (x21 + (0xb * x38));
- uint32_t x41 = (uint32_t) (x40 >> 0x1c);
- uint32_t x42 = ((uint32_t)x40 & 0xfffffff);
- uint32_t x43 = (x41 + x24);
- uint32_t x44 = (x43 >> 0x1b);
- uint32_t x45 = (x43 & 0x7ffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.v b/src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.v
deleted file mode 100644
index 771822249..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fesub.c b/src/Specific/solinas32_2e190m11_7limbs/fesub.c
deleted file mode 100644
index ff043a07f..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint32_t out[7], const uint32_t in1[7], const uint32_t in2[7]) {
- { const uint32_t x14 = 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 x26 = in2[6];
- { const uint32_t x27 = in2[5];
- { const uint32_t x25 = in2[4];
- { const uint32_t x23 = in2[3];
- { const uint32_t x21 = in2[2];
- { const uint32_t x19 = in2[1];
- { const uint32_t x17 = in2[0];
- out[0] = ((0x1fffffea + x5) - x17);
- out[1] = ((0xffffffe + x7) - x19);
- out[2] = ((0xffffffe + x9) - x21);
- out[3] = ((0xffffffe + x11) - x23);
- out[4] = ((0xffffffe + x13) - x25);
- out[5] = ((0xffffffe + x15) - x27);
- out[6] = ((0xffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fesub.v b/src/Specific/solinas32_2e190m11_7limbs/fesub.v
deleted file mode 100644
index 424ffb740..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/fesubDisplay.log b/src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.log
deleted file mode 100644
index e7a7f3328..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0xffffffe + x14) - x26), ((0xffffffe + x15) - x27), ((0xffffffe + x13) - x25), ((0xffffffe + x11) - x23), ((0xffffffe + x9) - x21), ((0xffffffe + x7) - x19), ((0x1fffffea + x5) - x17)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.v b/src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.v
deleted file mode 100644
index c75acdcb7..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e190m11_7limbs/freeze.c b/src/Specific/solinas32_2e190m11_7limbs/freeze.c
deleted file mode 100644
index 6e4e52017..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint32_t out[7], const uint32_t in1[7]) {
- { const uint32_t x11 = 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 x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff5);
- { uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x7ffffff);
- { uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x7ffffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x7ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x7ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7ffffff);
- { uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- { uint32_t x35 = (x34 & 0xffffff5);
- { uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint32_t x39 = (x34 & 0x7ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint32_t x43 = (x34 & 0x7ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint32_t x47 = (x34 & 0x7ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint32_t x51 = (x34 & 0x7ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint32_t x55 = (x34 & 0x7ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint32_t x59 = (x34 & 0x7ffffff);
- { uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_7limbs/freeze.v b/src/Specific/solinas32_2e190m11_7limbs/freeze.v
deleted file mode 100644
index 9575c9334..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.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_2e190m11_7limbs/freezeDisplay.log b/src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.log
deleted file mode 100644
index 1e9673e6c..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff5);
- uint32_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x15, Return x4, 0x7ffffff);
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x18, Return x6, 0x7ffffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x8, 0x7ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x10, 0x7ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x12, 0x7ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x11, 0x7ffffff);
- uint32_t x34 = cmovznz32(x33, 0x0, 0xffffffff);
- uint32_t x35 = (x34 & 0xffffff5);
- uint32_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint32_t x39 = (x34 & 0x7ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint32_t x43 = (x34 & 0x7ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint32_t x47 = (x34 & 0x7ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint32_t x51 = (x34 & 0x7ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint32_t x55 = (x34 & 0x7ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint32_t x59 = (x34 & 0x7ffffff);
- uint32_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.v b/src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.v
deleted file mode 100644
index 896456b37..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e190m11_7limbs/py_interpreter.sh b/src/Specific/solinas32_2e190m11_7limbs/py_interpreter.sh
deleted file mode 100755
index 6f930b167..000000000
--- a/src/Specific/solinas32_2e190m11_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**190 - 11' -Dmodulus_bytes='27 + 1/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e190m11_8limbs/CurveParameters.v b/src/Specific/solinas32_2e190m11_8limbs/CurveParameters.v
deleted file mode 100644
index 4f2a91005..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^190 - 11
-Base: 23.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 23 + 3/4;
- bitwidth := 32;
- s := 2^190;
- c := [(1, 11)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e190m11_8limbs/Synthesis.v b/src/Specific/solinas32_2e190m11_8limbs/Synthesis.v
deleted file mode 100644
index 8c729f68e..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/compiler.sh b/src/Specific/solinas32_2e190m11_8limbs/compiler.sh
deleted file mode 100755
index ecf70ecc4..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas32_2e190m11_8limbs/compilerxx.sh b/src/Specific/solinas32_2e190m11_8limbs/compilerxx.sh
deleted file mode 100755
index 70737c228..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas32_2e190m11_8limbs/feadd.c b/src/Specific/solinas32_2e190m11_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_8limbs/feadd.v b/src/Specific/solinas32_2e190m11_8limbs/feadd.v
deleted file mode 100644
index 2004db577..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.v
deleted file mode 100644
index 524582fc7..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fecarry.v b/src/Specific/solinas32_2e190m11_8limbs/fecarry.v
deleted file mode 100644
index f6bbd8e13..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e190m11_8limbs/fecarryDisplay.v
deleted file mode 100644
index 9c00ce321..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e190m11_8limbs/femul.c b/src/Specific/solinas32_2e190m11_8limbs/femul.c
deleted file mode 100644
index cc7761576..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0xb * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0xb * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0xb * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0xb * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0xb * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0xb * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0xb * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x18);
- { uint32_t x41 = ((uint32_t)x39 & 0xffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x18);
- { uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x18);
- { uint32_t x47 = ((uint32_t)x45 & 0xffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x17);
- { uint32_t x50 = ((uint32_t)x48 & 0x7fffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x18);
- { uint32_t x53 = ((uint32_t)x51 & 0xffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x18);
- { uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x18);
- { uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x41 + ((uint64_t)0xb * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x18);
- { uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x18);
- { uint32_t x68 = (x66 & 0xffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_8limbs/femul.v b/src/Specific/solinas32_2e190m11_8limbs/femul.v
deleted file mode 100644
index f14bb113d..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/femulDisplay.log b/src/Specific/solinas32_2e190m11_8limbs/femulDisplay.log
deleted file mode 100644
index d091d88bf..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0xb * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0xb * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0xb * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0xb * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0xb * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0xb * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0xb * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x18);
- uint32_t x41 = ((uint32_t)x39 & 0xffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x18);
- uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x18);
- uint32_t x47 = ((uint32_t)x45 & 0xffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x17);
- uint32_t x50 = ((uint32_t)x48 & 0x7fffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x18);
- uint32_t x53 = ((uint32_t)x51 & 0xffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x18);
- uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x18);
- uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x41 + ((uint64_t)0xb * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x18);
- uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x18);
- uint32_t x68 = (x66 & 0xffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_8limbs/femulDisplay.v b/src/Specific/solinas32_2e190m11_8limbs/femulDisplay.v
deleted file mode 100644
index 817c92267..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fesquare.c b/src/Specific/solinas32_2e190m11_8limbs/fesquare.c
deleted file mode 100644
index d2306fd0c..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xb * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xb * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xb * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xb * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xb * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xb * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0xb * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x24 + ((uint64_t)0xb * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x18);
- { uint32_t x51 = (x49 & 0xffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fesquare.v b/src/Specific/solinas32_2e190m11_8limbs/fesquare.v
deleted file mode 100644
index 4f42c731e..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.log
deleted file mode 100644
index 1dfa748d3..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xb * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xb * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xb * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xb * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xb * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xb * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0xb * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x24 + ((uint64_t)0xb * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x18);
- uint32_t x51 = (x49 & 0xffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.v
deleted file mode 100644
index 496f03857..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fesub.c b/src/Specific/solinas32_2e190m11_8limbs/fesub.c
deleted file mode 100644
index b67318bf0..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x1ffffea + x5) - x19);
- out[1] = ((0x1fffffe + x7) - x21);
- out[2] = ((0x1fffffe + x9) - x23);
- out[3] = ((0xfffffe + x11) - x25);
- out[4] = ((0x1fffffe + x13) - x27);
- out[5] = ((0x1fffffe + x15) - x29);
- out[6] = ((0x1fffffe + x17) - x31);
- out[7] = ((0xfffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fesub.v b/src/Specific/solinas32_2e190m11_8limbs/fesub.v
deleted file mode 100644
index 0b7bbff01..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.log
deleted file mode 100644
index 0dc02a853..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffe + x16) - x30), ((0x1fffffe + x17) - x31), ((0x1fffffe + x15) - x29), ((0x1fffffe + x13) - x27), ((0xfffffe + x11) - x25), ((0x1fffffe + x9) - x23), ((0x1fffffe + x7) - x21), ((0x1ffffea + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.v
deleted file mode 100644
index eb883b881..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e190m11_8limbs/freeze.c b/src/Specific/solinas32_2e190m11_8limbs/freeze.c
deleted file mode 100644
index 564a5bbd7..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff5);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0xfffff5);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x7fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x7fffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e190m11_8limbs/freeze.v b/src/Specific/solinas32_2e190m11_8limbs/freeze.v
deleted file mode 100644
index cac4d098a..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.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_2e190m11_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.log
deleted file mode 100644
index 3c65f2b1e..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff5);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0xfffff5);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x7fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x7fffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.v
deleted file mode 100644
index 877a90eb4..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e190m11_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e190m11_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e190m11_8limbs/py_interpreter.sh
deleted file mode 100755
index 4633c6942..000000000
--- a/src/Specific/solinas32_2e190m11_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**190 - 11' -Dmodulus_bytes='23.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e191m19_8limbs/CurveParameters.v b/src/Specific/solinas32_2e191m19_8limbs/CurveParameters.v
deleted file mode 100644
index f096bdc5e..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^191 - 19
-Base: 23.875
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 23 + 7/8;
- bitwidth := 32;
- s := 2^191;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e191m19_8limbs/Synthesis.v b/src/Specific/solinas32_2e191m19_8limbs/Synthesis.v
deleted file mode 100644
index fd6b16375..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/compiler.sh b/src/Specific/solinas32_2e191m19_8limbs/compiler.sh
deleted file mode 100755
index bdff4a3dd..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas32_2e191m19_8limbs/compilerxx.sh b/src/Specific/solinas32_2e191m19_8limbs/compilerxx.sh
deleted file mode 100755
index 041a72d62..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas32_2e191m19_8limbs/feadd.c b/src/Specific/solinas32_2e191m19_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_8limbs/feadd.v b/src/Specific/solinas32_2e191m19_8limbs/feadd.v
deleted file mode 100644
index ac3ff8362..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.v
deleted file mode 100644
index 5cb2b8ffb..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fecarry.v b/src/Specific/solinas32_2e191m19_8limbs/fecarry.v
deleted file mode 100644
index 36cfe850d..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e191m19_8limbs/fecarryDisplay.v
deleted file mode 100644
index c4567b608..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e191m19_8limbs/femul.c b/src/Specific/solinas32_2e191m19_8limbs/femul.c
deleted file mode 100644
index 0d573e836..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x13 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x13 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x13 * ((0x2 * ((uint64_t)x11 * x30)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x13 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x13 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x18);
- { uint32_t x41 = ((uint32_t)x39 & 0xffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x18);
- { uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x18);
- { uint32_t x47 = ((uint32_t)x45 & 0xffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x18);
- { uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x18);
- { uint32_t x53 = ((uint32_t)x51 & 0xffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x18);
- { uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- { uint64_t x57 = (x55 + x33);
- { uint32_t x58 = (uint32_t) (x57 >> 0x18);
- { uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x41 + ((uint64_t)0x13 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x18);
- { uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x18);
- { uint32_t x68 = (x66 & 0xffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_8limbs/femul.v b/src/Specific/solinas32_2e191m19_8limbs/femul.v
deleted file mode 100644
index 346cc167d..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/femulDisplay.log b/src/Specific/solinas32_2e191m19_8limbs/femulDisplay.log
deleted file mode 100644
index 47a66e92a..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x13 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x13 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x13 * ((0x2 * ((uint64_t)x11 * x30)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x13 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x13 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x18);
- uint32_t x41 = ((uint32_t)x39 & 0xffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x18);
- uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x18);
- uint32_t x47 = ((uint32_t)x45 & 0xffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x18);
- uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x18);
- uint32_t x53 = ((uint32_t)x51 & 0xffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x18);
- uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- uint64_t x57 = (x55 + x33);
- uint32_t x58 = (uint32_t) (x57 >> 0x18);
- uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x41 + ((uint64_t)0x13 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x18);
- uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x18);
- uint32_t x68 = (x66 & 0xffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_8limbs/femulDisplay.v b/src/Specific/solinas32_2e191m19_8limbs/femulDisplay.v
deleted file mode 100644
index 973b8c90e..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fesquare.c b/src/Specific/solinas32_2e191m19_8limbs/fesquare.c
deleted file mode 100644
index e801601b2..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((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))))))) + (0x13 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x13)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x18);
- { uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x16);
- { uint32_t x41 = (uint32_t) (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x24 + ((uint64_t)0x13 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x18);
- { uint32_t x51 = (x49 & 0xffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fesquare.v b/src/Specific/solinas32_2e191m19_8limbs/fesquare.v
deleted file mode 100644
index bd21f804a..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.log
deleted file mode 100644
index 380a3010e..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((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))))))) + (0x13 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x13)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x18);
- uint32_t x24 = ((uint32_t)x22 & 0xffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x16);
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x24 + ((uint64_t)0x13 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x18);
- uint32_t x51 = (x49 & 0xffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.v
deleted file mode 100644
index 4c3bcc97c..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fesub.c b/src/Specific/solinas32_2e191m19_8limbs/fesub.c
deleted file mode 100644
index 7749acd3d..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x1ffffda + x5) - x19);
- out[1] = ((0x1fffffe + x7) - x21);
- out[2] = ((0x1fffffe + x9) - x23);
- out[3] = ((0x1fffffe + x11) - x25);
- out[4] = ((0x1fffffe + x13) - x27);
- out[5] = ((0x1fffffe + x15) - x29);
- out[6] = ((0x1fffffe + x17) - x31);
- out[7] = ((0xfffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fesub.v b/src/Specific/solinas32_2e191m19_8limbs/fesub.v
deleted file mode 100644
index 7914a06d8..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.log
deleted file mode 100644
index af93c846a..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffe + x16) - x30), ((0x1fffffe + x17) - x31), ((0x1fffffe + x15) - x29), ((0x1fffffe + x13) - x27), ((0x1fffffe + x11) - x25), ((0x1fffffe + x9) - x23), ((0x1fffffe + x7) - x21), ((0x1ffffda + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.v
deleted file mode 100644
index 3f50790bb..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e191m19_8limbs/freeze.c b/src/Specific/solinas32_2e191m19_8limbs/freeze.c
deleted file mode 100644
index fd2a1675a..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffed);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0xffffed);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x7fffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_8limbs/freeze.v b/src/Specific/solinas32_2e191m19_8limbs/freeze.v
deleted file mode 100644
index fac64429a..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.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_2e191m19_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.log
deleted file mode 100644
index d864e8413..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffed);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0xffffed);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x7fffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.v
deleted file mode 100644
index 9bcd64f5c..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e191m19_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e191m19_8limbs/py_interpreter.sh
deleted file mode 100755
index 14e582461..000000000
--- a/src/Specific/solinas32_2e191m19_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**191 - 19' -Dmodulus_bytes='23.875' -Da24='121665'
diff --git a/src/Specific/solinas32_2e191m19_9limbs/CurveParameters.v b/src/Specific/solinas32_2e191m19_9limbs/CurveParameters.v
deleted file mode 100644
index df449528f..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^191 - 19
-Base: 21 + 2/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 21 + 2/9;
- bitwidth := 32;
- s := 2^191;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e191m19_9limbs/Synthesis.v b/src/Specific/solinas32_2e191m19_9limbs/Synthesis.v
deleted file mode 100644
index ce60e0e58..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/compiler.sh b/src/Specific/solinas32_2e191m19_9limbs/compiler.sh
deleted file mode 100755
index d793eba27..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas32_2e191m19_9limbs/compilerxx.sh b/src/Specific/solinas32_2e191m19_9limbs/compilerxx.sh
deleted file mode 100755
index 0c12c48dd..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,21}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas32_2e191m19_9limbs/feadd.c b/src/Specific/solinas32_2e191m19_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_9limbs/feadd.v b/src/Specific/solinas32_2e191m19_9limbs/feadd.v
deleted file mode 100644
index b550d9fa0..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.v
deleted file mode 100644
index 62c4da4c6..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fecarry.v b/src/Specific/solinas32_2e191m19_9limbs/fecarry.v
deleted file mode 100644
index 3054a3687..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e191m19_9limbs/fecarryDisplay.v
deleted file mode 100644
index 753b6bba3..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e191m19_9limbs/femul.c b/src/Specific/solinas32_2e191m19_9limbs/femul.c
deleted file mode 100644
index ee224ceb6..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x13 * ((uint64_t)x18 * x34)));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x13 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x13 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x34)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + (0x2 * ((uint64_t)x18 * x31)))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x13 * (((uint64_t)x13 * x34) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((uint64_t)x18 * x29)))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0x13 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x13 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x13 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x16);
- { uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x15);
- { uint32_t x49 = ((uint32_t)x47 & 0x1fffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x15);
- { uint32_t x52 = ((uint32_t)x50 & 0x1fffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x15);
- { uint32_t x55 = ((uint32_t)x53 & 0x1fffff);
- { uint64_t x56 = (x54 + x40);
- { uint32_t x57 = (uint32_t) (x56 >> 0x16);
- { uint32_t x58 = ((uint32_t)x56 & 0x3fffff);
- { uint64_t x59 = (x57 + x39);
- { uint32_t x60 = (uint32_t) (x59 >> 0x15);
- { uint32_t x61 = ((uint32_t)x59 & 0x1fffff);
- { uint64_t x62 = (x60 + x38);
- { uint32_t x63 = (uint32_t) (x62 >> 0x15);
- { uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x15);
- { uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x15);
- { uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0x13 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x16);
- { uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x15);
- { uint32_t x76 = (x74 & 0x1fffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_9limbs/femul.v b/src/Specific/solinas32_2e191m19_9limbs/femul.v
deleted file mode 100644
index 2b4d49af8..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/femulDisplay.log b/src/Specific/solinas32_2e191m19_9limbs/femulDisplay.log
deleted file mode 100644
index b6fd8eb84..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x13 * ((uint64_t)x18 * x34)));
- uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x13 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x13 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x34)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + (0x2 * ((uint64_t)x18 * x31)))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x13 * (((uint64_t)x13 * x34) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((uint64_t)x18 * x29)))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0x13 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x13 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x13 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x16);
- uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x15);
- uint32_t x49 = ((uint32_t)x47 & 0x1fffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x15);
- uint32_t x52 = ((uint32_t)x50 & 0x1fffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x15);
- uint32_t x55 = ((uint32_t)x53 & 0x1fffff);
- uint64_t x56 = (x54 + x40);
- uint32_t x57 = (uint32_t) (x56 >> 0x16);
- uint32_t x58 = ((uint32_t)x56 & 0x3fffff);
- uint64_t x59 = (x57 + x39);
- uint32_t x60 = (uint32_t) (x59 >> 0x15);
- uint32_t x61 = ((uint32_t)x59 & 0x1fffff);
- uint64_t x62 = (x60 + x38);
- uint32_t x63 = (uint32_t) (x62 >> 0x15);
- uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x15);
- uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x15);
- uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- uint64_t x71 = (x46 + ((uint64_t)0x13 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x16);
- uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x15);
- uint32_t x76 = (x74 & 0x1fffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_9limbs/femulDisplay.v b/src/Specific/solinas32_2e191m19_9limbs/femulDisplay.v
deleted file mode 100644
index f53cff5c1..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fesquare.c b/src/Specific/solinas32_2e191m19_9limbs/fesquare.c
deleted file mode 100644
index ac2392779..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((uint64_t)x15 * x15)));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x15)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x15 * x12)))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x15) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((uint64_t)x15 * x10)))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x15);
- { uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x15);
- { uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- { uint64_t x37 = (x35 + x21);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x20);
- { uint32_t x41 = (uint32_t) (x40 >> 0x15);
- { uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- { uint64_t x43 = (x41 + x19);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x15);
- { uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0x13 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x15);
- { uint32_t x57 = (x55 & 0x1fffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fesquare.v b/src/Specific/solinas32_2e191m19_9limbs/fesquare.v
deleted file mode 100644
index d83afa84d..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.log
deleted file mode 100644
index 94974bf04..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((uint64_t)x15 * x15)));
- uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x15)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x15 * x12)))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x15) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((uint64_t)x15 * x10)))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x15);
- uint32_t x30 = ((uint32_t)x28 & 0x1fffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x15);
- uint32_t x36 = ((uint32_t)x34 & 0x1fffff);
- uint64_t x37 = (x35 + x21);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x20);
- uint32_t x41 = (uint32_t) (x40 >> 0x15);
- uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- uint64_t x43 = (x41 + x19);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x15);
- uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x27 + ((uint64_t)0x13 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x15);
- uint32_t x57 = (x55 & 0x1fffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.v
deleted file mode 100644
index 538d70712..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fesub.c b/src/Specific/solinas32_2e191m19_9limbs/fesub.c
deleted file mode 100644
index 387af353e..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7fffda + x5) - x21);
- out[1] = ((0x3ffffe + x7) - x23);
- out[2] = ((0x3ffffe + x9) - x25);
- out[3] = ((0x3ffffe + x11) - x27);
- out[4] = ((0x7ffffe + x13) - x29);
- out[5] = ((0x3ffffe + x15) - x31);
- out[6] = ((0x3ffffe + x17) - x33);
- out[7] = ((0x3ffffe + x19) - x35);
- out[8] = ((0x3ffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fesub.v b/src/Specific/solinas32_2e191m19_9limbs/fesub.v
deleted file mode 100644
index c844a2503..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.log
deleted file mode 100644
index 633c454ee..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3ffffe + x18) - x34), ((0x3ffffe + x19) - x35), ((0x3ffffe + x17) - x33), ((0x3ffffe + x15) - x31), ((0x7ffffe + x13) - x29), ((0x3ffffe + x11) - x27), ((0x3ffffe + x9) - x25), ((0x3ffffe + x7) - x23), ((0x7fffda + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.v
deleted file mode 100644
index ae73fb6b4..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e191m19_9limbs/freeze.c b/src/Specific/solinas32_2e191m19_9limbs/freeze.c
deleted file mode 100644
index 0207bbb81..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffed);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3fffed);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x1fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x1fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x1fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x3fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x1fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x1fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x1fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x1fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e191m19_9limbs/freeze.v b/src/Specific/solinas32_2e191m19_9limbs/freeze.v
deleted file mode 100644
index aa36e0dc3..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.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_2e191m19_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.log
deleted file mode 100644
index 699e96a4d..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffed);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3fffed);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x1fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x1fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x1fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x3fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x1fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x1fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x1fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x1fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.v
deleted file mode 100644
index 6d2c50dcd..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e191m19_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e191m19_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e191m19_9limbs/py_interpreter.sh
deleted file mode 100755
index 4e33ed2f4..000000000
--- a/src/Specific/solinas32_2e191m19_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**191 - 19' -Dmodulus_bytes='21 + 2/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/CurveParameters.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/CurveParameters.v
deleted file mode 100644
index 7c68d0045..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^192 - 2^64 - 1
-Base: 19.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 19 + 1/5;
- bitwidth := 32;
- s := 2^192;
- c := [(1, 1); (2^64, 1)];
- carry_chains := Some [[2; 9]; [3; 0; 4; 1; 5; 2; 6; 7; 8; 9]; [3; 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_2e192m2e64m1_10limbs/Synthesis.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/Synthesis.v
deleted file mode 100644
index 7b49b0189..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/compiler.sh b/src/Specific/solinas32_2e192m2e64m1_10limbs/compiler.sh
deleted file mode 100755
index 1bbcd6d0e..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,19,19,19,19,20,19,19,19,19}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/compilerxx.sh b/src/Specific/solinas32_2e192m2e64m1_10limbs/compilerxx.sh
deleted file mode 100755
index 6f35ee6bf..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,19,19,19,19,20,19,19,19,19}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.c b/src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.v
deleted file mode 100644
index b35b8e904..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.v
deleted file mode 100644
index fc1e2eb52..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fecarry.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/fecarry.v
deleted file mode 100644
index 4c69e5d8f..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index 28b6683a0..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/femul.c b/src/Specific/solinas32_2e192m2e64m1_10limbs/femul.c
deleted file mode 100644
index 5c9f4bdd4..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/femul.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { ℤ x40 = ((((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23)))))))))) +ℤ ((0x80 * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))) +ℤ ((0x4000000 *ℤ (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))) +ℤ (0x200000000000 *ℤ ((uint64_t)x20 * x38)))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (((uint64_t)x20 * x38) + (0x40 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x19 * x23)))))))) + ((((uint64_t)x21 * x38) + ((uint64_t)x20 * x39)) + (0x40 * (((uint64_t)x15 * x38) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x20 * x33))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + ((((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37))) + (0x40 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31)))))))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35))))) + (0x80 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + ((((uint64_t)x15 * x38) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x20 * x33))))) + (0x80 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27)))))))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + ((((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31)))))) + (0x40 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25)))))))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27)))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25)))))))))));
- { uint32_t x50 = (uint32_t) (x47 >> 0x13);
- { uint32_t x51 = ((uint32_t)x47 & 0x7ffff);
- { ℤ x52 = (x40 >>ℤ 0x13);
- { uint32_t x53 = (x40 & 0x7ffff);
- { ℤ x54 = ((0x80000 *ℤ x52) +ℤ x53);
- { ℤ x55 = (x54 >>ℤ 0x13);
- { uint32_t x56 = (x54 & 0x7ffff);
- { ℤ x57 = ((x50 + x46) +ℤ (0x40 *ℤ x55));
- { uint64_t x58 = (x57 >> 0x13);
- { uint32_t x59 = (x57 & 0x7ffff);
- { ℤ x60 = (x49 +ℤ x55);
- { uint64_t x61 = (x60 >> 0x14);
- { uint32_t x62 = (x60 & 0xfffff);
- { uint64_t x63 = (x58 + x45);
- { uint64_t x64 = (x63 >> 0x13);
- { uint32_t x65 = ((uint32_t)x63 & 0x7ffff);
- { uint64_t x66 = (x61 + x48);
- { uint32_t x67 = (uint32_t) (x66 >> 0x13);
- { uint32_t x68 = ((uint32_t)x66 & 0x7ffff);
- { uint64_t x69 = (x64 + x44);
- { uint32_t x70 = (uint32_t) (x69 >> 0x14);
- { uint32_t x71 = ((uint32_t)x69 & 0xfffff);
- { uint32_t x72 = (x67 + x51);
- { uint32_t x73 = (x72 >> 0x13);
- { uint32_t x74 = (x72 & 0x7ffff);
- { uint64_t x75 = (x70 + x43);
- { uint32_t x76 = (uint32_t) (x75 >> 0x13);
- { uint32_t x77 = ((uint32_t)x75 & 0x7ffff);
- { uint64_t x78 = (x76 + x42);
- { uint32_t x79 = (uint32_t) (x78 >> 0x13);
- { uint32_t x80 = ((uint32_t)x78 & 0x7ffff);
- { uint64_t x81 = (x79 + x41);
- { uint32_t x82 = (uint32_t) (x81 >> 0x13);
- { uint32_t x83 = ((uint32_t)x81 & 0x7ffff);
- { uint32_t x84 = (x82 + x56);
- { uint32_t x85 = (x84 >> 0x13);
- { uint32_t x86 = (x84 & 0x7ffff);
- { uint32_t x87 = ((0x80000 * x85) + x86);
- { uint32_t x88 = (x87 >> 0x13);
- { uint32_t x89 = (x87 & 0x7ffff);
- { uint32_t x90 = ((x73 + x59) + (0x40 * x88));
- { uint32_t x91 = (x90 >> 0x13);
- { uint32_t x92 = (x90 & 0x7ffff);
- { uint32_t x93 = (x62 + x88);
- { uint32_t x94 = (x93 >> 0x14);
- { uint32_t x95 = (x93 & 0xfffff);
- out[0] = x95;
- out[1] = (x94 + x68);
- out[2] = x74;
- out[3] = x92;
- out[4] = (x91 + x65);
- out[5] = x71;
- out[6] = x77;
- out[7] = x80;
- out[8] = x83;
- out[9] = x89;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/femul.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/femul.v
deleted file mode 100644
index 64764d49e..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/femulDisplay.log b/src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.log
deleted file mode 100644
index 3e47b8298..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,63 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ℤ x40 = ((((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23)))))))))) +ℤ ((0x80 * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))) +ℤ ((0x4000000 *ℤ (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))) +ℤ (0x200000000000 *ℤ ((uint64_t)x20 * x38)))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (((uint64_t)x20 * x38) + (0x40 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35))))))));
- uint64_t x42 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x19 * x23)))))))) + ((((uint64_t)x21 * x38) + ((uint64_t)x20 * x39)) + (0x40 * (((uint64_t)x15 * x38) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x20 * x33))))))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + ((((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37))) + (0x40 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31)))))))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35))))) + (0x80 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + ((((uint64_t)x15 * x38) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x20 * x33))))) + (0x80 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27)))))))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + ((((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31)))))) + (0x40 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25)))))))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27)))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25)))))))))));
- uint32_t x50 = (uint32_t) (x47 >> 0x13);
- uint32_t x51 = ((uint32_t)x47 & 0x7ffff);
- ℤ x52 = (x40 >>ℤ 0x13);
- uint32_t x53 = (x40 & 0x7ffff);
- ℤ x54 = ((0x80000 *ℤ x52) +ℤ x53);
- ℤ x55 = (x54 >>ℤ 0x13);
- uint32_t x56 = (x54 & 0x7ffff);
- ℤ x57 = ((x50 + x46) +ℤ (0x40 *ℤ x55));
- uint64_t x58 = (x57 >> 0x13);
- uint32_t x59 = (x57 & 0x7ffff);
- ℤ x60 = (x49 +ℤ x55);
- uint64_t x61 = (x60 >> 0x14);
- uint32_t x62 = (x60 & 0xfffff);
- uint64_t x63 = (x58 + x45);
- uint64_t x64 = (x63 >> 0x13);
- uint32_t x65 = ((uint32_t)x63 & 0x7ffff);
- uint64_t x66 = (x61 + x48);
- uint32_t x67 = (uint32_t) (x66 >> 0x13);
- uint32_t x68 = ((uint32_t)x66 & 0x7ffff);
- uint64_t x69 = (x64 + x44);
- uint32_t x70 = (uint32_t) (x69 >> 0x14);
- uint32_t x71 = ((uint32_t)x69 & 0xfffff);
- uint32_t x72 = (x67 + x51);
- uint32_t x73 = (x72 >> 0x13);
- uint32_t x74 = (x72 & 0x7ffff);
- uint64_t x75 = (x70 + x43);
- uint32_t x76 = (uint32_t) (x75 >> 0x13);
- uint32_t x77 = ((uint32_t)x75 & 0x7ffff);
- uint64_t x78 = (x76 + x42);
- uint32_t x79 = (uint32_t) (x78 >> 0x13);
- uint32_t x80 = ((uint32_t)x78 & 0x7ffff);
- uint64_t x81 = (x79 + x41);
- uint32_t x82 = (uint32_t) (x81 >> 0x13);
- uint32_t x83 = ((uint32_t)x81 & 0x7ffff);
- uint32_t x84 = (x82 + x56);
- uint32_t x85 = (x84 >> 0x13);
- uint32_t x86 = (x84 & 0x7ffff);
- uint32_t x87 = ((0x80000 * x85) + x86);
- uint32_t x88 = (x87 >> 0x13);
- uint32_t x89 = (x87 & 0x7ffff);
- uint32_t x90 = ((x73 + x59) + (0x40 * x88));
- uint32_t x91 = (x90 >> 0x13);
- uint32_t x92 = (x90 & 0x7ffff);
- uint32_t x93 = (x62 + x88);
- uint32_t x94 = (x93 >> 0x14);
- uint32_t x95 = (x93 & 0xfffff);
- return (Return x89, Return x83, Return x80, Return x77, Return x71, (x91 + x65), Return x92, Return x74, (x94 + x68), Return x95))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.v
deleted file mode 100644
index 4af82497a..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.c b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.c
deleted file mode 100644
index c39890fde..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.c
+++ /dev/null
@@ -1,79 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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];
- { ℤ x19 = ((((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2)))))))))) +ℤ ((0x80 * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))) +ℤ ((0x4000000 *ℤ (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))) +ℤ (0x200000000000 *ℤ ((uint64_t)x17 * x17)))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x17 * x17) + (0x40 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + ((((uint64_t)x18 * x17) + ((uint64_t)x17 * x18)) + (0x40 * (((uint64_t)x12 * x17) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((uint64_t)x17 * x12))))))));
- { uint64_t x22 = ((((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)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16))) + (0x40 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10)))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14))))) + (0x80 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((((uint64_t)x12 * x17) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((uint64_t)x17 * x12))))) + (0x80 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6)))))))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + ((((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10)))))) + (0x40 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4)))))))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6)))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4)))))))))));
- { uint32_t x29 = (uint32_t) (x26 >> 0x13);
- { uint32_t x30 = ((uint32_t)x26 & 0x7ffff);
- { ℤ x31 = (x19 >>ℤ 0x13);
- { uint32_t x32 = (x19 & 0x7ffff);
- { ℤ x33 = ((0x80000 *ℤ x31) +ℤ x32);
- { ℤ x34 = (x33 >>ℤ 0x13);
- { uint32_t x35 = (x33 & 0x7ffff);
- { ℤ x36 = ((x29 + x25) +ℤ (0x40 *ℤ x34));
- { uint64_t x37 = (x36 >> 0x13);
- { uint32_t x38 = (x36 & 0x7ffff);
- { ℤ x39 = (x28 +ℤ x34);
- { uint64_t x40 = (x39 >> 0x14);
- { uint32_t x41 = (x39 & 0xfffff);
- { uint64_t x42 = (x37 + x24);
- { uint64_t x43 = (x42 >> 0x13);
- { uint32_t x44 = ((uint32_t)x42 & 0x7ffff);
- { uint64_t x45 = (x40 + x27);
- { uint32_t x46 = (uint32_t) (x45 >> 0x13);
- { uint32_t x47 = ((uint32_t)x45 & 0x7ffff);
- { uint64_t x48 = (x43 + x23);
- { uint32_t x49 = (uint32_t) (x48 >> 0x14);
- { uint32_t x50 = ((uint32_t)x48 & 0xfffff);
- { uint32_t x51 = (x46 + x30);
- { uint32_t x52 = (x51 >> 0x13);
- { uint32_t x53 = (x51 & 0x7ffff);
- { uint64_t x54 = (x49 + x22);
- { uint32_t x55 = (uint32_t) (x54 >> 0x13);
- { uint32_t x56 = ((uint32_t)x54 & 0x7ffff);
- { uint64_t x57 = (x55 + x21);
- { uint32_t x58 = (uint32_t) (x57 >> 0x13);
- { uint32_t x59 = ((uint32_t)x57 & 0x7ffff);
- { uint64_t x60 = (x58 + x20);
- { uint32_t x61 = (uint32_t) (x60 >> 0x13);
- { uint32_t x62 = ((uint32_t)x60 & 0x7ffff);
- { uint32_t x63 = (x61 + x35);
- { uint32_t x64 = (x63 >> 0x13);
- { uint32_t x65 = (x63 & 0x7ffff);
- { uint32_t x66 = ((0x80000 * x64) + x65);
- { uint32_t x67 = (x66 >> 0x13);
- { uint32_t x68 = (x66 & 0x7ffff);
- { uint32_t x69 = ((x52 + x38) + (0x40 * x67));
- { uint32_t x70 = (x69 >> 0x13);
- { uint32_t x71 = (x69 & 0x7ffff);
- { uint32_t x72 = (x41 + x67);
- { uint32_t x73 = (x72 >> 0x14);
- { uint32_t x74 = (x72 & 0xfffff);
- out[0] = x74;
- out[1] = (x73 + x47);
- out[2] = x53;
- out[3] = x71;
- out[4] = (x70 + x44);
- out[5] = x50;
- out[6] = x56;
- out[7] = x59;
- out[8] = x62;
- out[9] = x68;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.v
deleted file mode 100644
index 1884f4e6c..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.log
deleted file mode 100644
index fe134cb59..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,63 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- ℤ x19 = ((((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2)))))))))) +ℤ ((0x80 * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))) +ℤ ((0x4000000 *ℤ (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))) +ℤ (0x200000000000 *ℤ ((uint64_t)x17 * x17)))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x17 * x17) + (0x40 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14))))))));
- uint64_t x21 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + ((((uint64_t)x18 * x17) + ((uint64_t)x17 * x18)) + (0x40 * (((uint64_t)x12 * x17) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((uint64_t)x17 * x12))))))));
- uint64_t x22 = ((((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)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16))) + (0x40 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10)))))))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14))))) + (0x80 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((((uint64_t)x12 * x17) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((uint64_t)x17 * x12))))) + (0x80 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6)))))))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + ((((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10)))))) + (0x40 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4)))))))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6)))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4)))))))))));
- uint32_t x29 = (uint32_t) (x26 >> 0x13);
- uint32_t x30 = ((uint32_t)x26 & 0x7ffff);
- ℤ x31 = (x19 >>ℤ 0x13);
- uint32_t x32 = (x19 & 0x7ffff);
- ℤ x33 = ((0x80000 *ℤ x31) +ℤ x32);
- ℤ x34 = (x33 >>ℤ 0x13);
- uint32_t x35 = (x33 & 0x7ffff);
- ℤ x36 = ((x29 + x25) +ℤ (0x40 *ℤ x34));
- uint64_t x37 = (x36 >> 0x13);
- uint32_t x38 = (x36 & 0x7ffff);
- ℤ x39 = (x28 +ℤ x34);
- uint64_t x40 = (x39 >> 0x14);
- uint32_t x41 = (x39 & 0xfffff);
- uint64_t x42 = (x37 + x24);
- uint64_t x43 = (x42 >> 0x13);
- uint32_t x44 = ((uint32_t)x42 & 0x7ffff);
- uint64_t x45 = (x40 + x27);
- uint32_t x46 = (uint32_t) (x45 >> 0x13);
- uint32_t x47 = ((uint32_t)x45 & 0x7ffff);
- uint64_t x48 = (x43 + x23);
- uint32_t x49 = (uint32_t) (x48 >> 0x14);
- uint32_t x50 = ((uint32_t)x48 & 0xfffff);
- uint32_t x51 = (x46 + x30);
- uint32_t x52 = (x51 >> 0x13);
- uint32_t x53 = (x51 & 0x7ffff);
- uint64_t x54 = (x49 + x22);
- uint32_t x55 = (uint32_t) (x54 >> 0x13);
- uint32_t x56 = ((uint32_t)x54 & 0x7ffff);
- uint64_t x57 = (x55 + x21);
- uint32_t x58 = (uint32_t) (x57 >> 0x13);
- uint32_t x59 = ((uint32_t)x57 & 0x7ffff);
- uint64_t x60 = (x58 + x20);
- uint32_t x61 = (uint32_t) (x60 >> 0x13);
- uint32_t x62 = ((uint32_t)x60 & 0x7ffff);
- uint32_t x63 = (x61 + x35);
- uint32_t x64 = (x63 >> 0x13);
- uint32_t x65 = (x63 & 0x7ffff);
- uint32_t x66 = ((0x80000 * x64) + x65);
- uint32_t x67 = (x66 >> 0x13);
- uint32_t x68 = (x66 & 0x7ffff);
- uint32_t x69 = ((x52 + x38) + (0x40 * x67));
- uint32_t x70 = (x69 >> 0x13);
- uint32_t x71 = (x69 & 0x7ffff);
- uint32_t x72 = (x41 + x67);
- uint32_t x73 = (x72 >> 0x14);
- uint32_t x74 = (x72 & 0xfffff);
- return (Return x68, Return x62, Return x59, Return x56, Return x50, (x70 + x44), Return x71, Return x53, (x73 + x47), Return x74))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index 62177e9ff..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.c b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.c
deleted file mode 100644
index c9a19629d..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x1ffffe + x5) - x23);
- out[1] = ((0xffffe + x7) - x25);
- out[2] = ((0xffffe + x9) - x27);
- out[3] = ((0xfff7e + x11) - x29);
- out[4] = ((0xffffe + x13) - x31);
- out[5] = ((0x1ffffe + x15) - x33);
- out[6] = ((0xffffe + x17) - x35);
- out[7] = ((0xffffe + x19) - x37);
- out[8] = ((0xffffe + x21) - x39);
- out[9] = ((0xffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.v
deleted file mode 100644
index 39a8fba9b..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.log
deleted file mode 100644
index 6da59487f..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0xffffe + x20) - x38), ((0xffffe + x21) - x39), ((0xffffe + x19) - x37), ((0xffffe + x17) - x35), ((0x1ffffe + x15) - x33), ((0xffffe + x13) - x31), ((0xfff7e + x11) - x29), ((0xffffe + x9) - x27), ((0xffffe + x7) - x25), ((0x1ffffe + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.v
deleted file mode 100644
index 4f48166a0..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.c b/src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.c
deleted file mode 100644
index 72929d3e5..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7ffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x7ffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7ffbf);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x7ffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7ffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7ffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7ffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7ffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0xfffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x7ffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x7ffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x7ffbf);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x7ffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0xfffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x7ffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x7ffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x7ffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x7ffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.v
deleted file mode 100644
index ed69efd85..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.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_2e192m2e64m1_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.log
deleted file mode 100644
index 56b228e32..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7ffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x7ffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7ffbf);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x7ffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7ffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7ffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7ffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7ffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0xfffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x7ffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x7ffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x7ffbf);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x7ffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0xfffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x7ffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x7ffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x7ffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x7ffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.v
deleted file mode 100644
index 84461a6f2..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e192m2e64m1_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e192m2e64m1_10limbs/py_interpreter.sh
deleted file mode 100755
index 945a2bd90..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**192 - 2**64 - 1' -Dmodulus_bytes='19.2' -Da24='121665'
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/CurveParameters.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/CurveParameters.v
deleted file mode 100644
index 05e5d26b1..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^192 - 2^64 - 1
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^192;
- c := [(1, 1); (2^64, 1)];
- carry_chains := Some [[2; 8]; [3; 0; 4; 1; 5; 2; 6; 7; 8]; [3; 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_2e192m2e64m1_9limbs/Synthesis.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/Synthesis.v
deleted file mode 100644
index 26111fb7a..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/compiler.sh b/src/Specific/solinas32_2e192m2e64m1_9limbs/compiler.sh
deleted file mode 100755
index c472aa7d3..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/compilerxx.sh b/src/Specific/solinas32_2e192m2e64m1_9limbs/compilerxx.sh
deleted file mode 100755
index 1e9832553..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.c b/src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.v
deleted file mode 100644
index 0d79c50ba..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.v
deleted file mode 100644
index 48e966089..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fecarry.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/fecarry.v
deleted file mode 100644
index d37b1b648..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/fecarryDisplay.v
deleted file mode 100644
index a62335ecb..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/femul.c b/src/Specific/solinas32_2e192m2e64m1_9limbs/femul.c
deleted file mode 100644
index 07fe00892..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/femul.c
+++ /dev/null
@@ -1,82 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { ℤ x36 = ((((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21))))))))) +ℤ ((((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))) +ℤ ((0x200000 *ℤ ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))) +ℤ (0x80000000000 *ℤ ((uint64_t)x18 * x34)))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (((uint64_t)x18 * x34) + (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35))) + ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + ((((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))) + (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27))))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + ((((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))) + (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29)))))) + ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27)))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))));
- { uint32_t x45 = (uint32_t) (x42 >> 0x15);
- { uint32_t x46 = ((uint32_t)x42 & 0x1fffff);
- { ℤ x47 = (x36 >>ℤ 0x15);
- { uint32_t x48 = (x36 & 0x1fffff);
- { ℤ x49 = ((0x200000 *ℤ x47) +ℤ x48);
- { ℤ x50 = (x49 >>ℤ 0x15);
- { uint32_t x51 = (x49 & 0x1fffff);
- { ℤ x52 = ((x45 + x41) +ℤ x50);
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = (x52 & 0x3fffff);
- { ℤ x55 = (x44 +ℤ x50);
- { uint64_t x56 = (x55 >> 0x16);
- { uint32_t x57 = (x55 & 0x3fffff);
- { uint64_t x58 = (x53 + x40);
- { uint32_t x59 = (uint32_t) (x58 >> 0x15);
- { uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- { uint64_t x61 = (x56 + x43);
- { uint32_t x62 = (uint32_t) (x61 >> 0x15);
- { uint32_t x63 = ((uint32_t)x61 & 0x1fffff);
- { uint64_t x64 = (x59 + x39);
- { uint32_t x65 = (uint32_t) (x64 >> 0x15);
- { uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- { uint32_t x67 = (x62 + x46);
- { uint32_t x68 = (x67 >> 0x15);
- { uint32_t x69 = (x67 & 0x1fffff);
- { uint64_t x70 = (x65 + x38);
- { uint32_t x71 = (uint32_t) (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x37);
- { uint32_t x74 = (uint32_t) (x73 >> 0x15);
- { uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- { uint32_t x76 = (x74 + x51);
- { uint32_t x77 = (x76 >> 0x15);
- { uint32_t x78 = (x76 & 0x1fffff);
- { uint32_t x79 = ((0x200000 * x77) + x78);
- { uint32_t x80 = (x79 >> 0x15);
- { uint32_t x81 = (x79 & 0x1fffff);
- { uint32_t x82 = ((x68 + x54) + x80);
- { uint32_t x83 = (x82 >> 0x16);
- { uint32_t x84 = (x82 & 0x3fffff);
- { uint32_t x85 = (x57 + x80);
- { uint32_t x86 = (x85 >> 0x16);
- { uint32_t x87 = (x85 & 0x3fffff);
- out[0] = x87;
- out[1] = (x86 + x63);
- out[2] = x69;
- out[3] = x84;
- out[4] = (x83 + x60);
- out[5] = x66;
- out[6] = x72;
- out[7] = x75;
- out[8] = x81;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/femul.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/femul.v
deleted file mode 100644
index 71b1d3999..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/femulDisplay.log b/src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.log
deleted file mode 100644
index a56b0c125..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ℤ x36 = ((((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21))))))))) +ℤ ((((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))) +ℤ ((0x200000 *ℤ ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))) +ℤ (0x80000000000 *ℤ ((uint64_t)x18 * x34)))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (((uint64_t)x18 * x34) + (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35))) + ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + ((((uint64_t)x17 * x34) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x18 * x33))) + (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27))))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + ((((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31)))) + (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29)))))) + ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (((uint64_t)x11 * x34) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x18 * x27)))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23))))))))));
- uint32_t x45 = (uint32_t) (x42 >> 0x15);
- uint32_t x46 = ((uint32_t)x42 & 0x1fffff);
- ℤ x47 = (x36 >>ℤ 0x15);
- uint32_t x48 = (x36 & 0x1fffff);
- ℤ x49 = ((0x200000 *ℤ x47) +ℤ x48);
- ℤ x50 = (x49 >>ℤ 0x15);
- uint32_t x51 = (x49 & 0x1fffff);
- ℤ x52 = ((x45 + x41) +ℤ x50);
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = (x52 & 0x3fffff);
- ℤ x55 = (x44 +ℤ x50);
- uint64_t x56 = (x55 >> 0x16);
- uint32_t x57 = (x55 & 0x3fffff);
- uint64_t x58 = (x53 + x40);
- uint32_t x59 = (uint32_t) (x58 >> 0x15);
- uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- uint64_t x61 = (x56 + x43);
- uint32_t x62 = (uint32_t) (x61 >> 0x15);
- uint32_t x63 = ((uint32_t)x61 & 0x1fffff);
- uint64_t x64 = (x59 + x39);
- uint32_t x65 = (uint32_t) (x64 >> 0x15);
- uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- uint32_t x67 = (x62 + x46);
- uint32_t x68 = (x67 >> 0x15);
- uint32_t x69 = (x67 & 0x1fffff);
- uint64_t x70 = (x65 + x38);
- uint32_t x71 = (uint32_t) (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x37);
- uint32_t x74 = (uint32_t) (x73 >> 0x15);
- uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- uint32_t x76 = (x74 + x51);
- uint32_t x77 = (x76 >> 0x15);
- uint32_t x78 = (x76 & 0x1fffff);
- uint32_t x79 = ((0x200000 * x77) + x78);
- uint32_t x80 = (x79 >> 0x15);
- uint32_t x81 = (x79 & 0x1fffff);
- uint32_t x82 = ((x68 + x54) + x80);
- uint32_t x83 = (x82 >> 0x16);
- uint32_t x84 = (x82 & 0x3fffff);
- uint32_t x85 = (x57 + x80);
- uint32_t x86 = (x85 >> 0x16);
- uint32_t x87 = (x85 & 0x3fffff);
- return (Return x81, Return x75, Return x72, Return x66, (x83 + x60), Return x84, Return x69, (x86 + x63), Return x87))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.v
deleted file mode 100644
index 7a36bc052..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.c b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.c
deleted file mode 100644
index 8327d8ae3..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.c
+++ /dev/null
@@ -1,73 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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];
- { ℤ x17 = ((((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2))))))))) +ℤ ((((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))) +ℤ ((0x200000 *ℤ ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))) +ℤ (0x80000000000 *ℤ ((uint64_t)x15 * x15)))));
- { uint64_t 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)x15 * x15) + (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16))) + ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + ((((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))) + (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + ((((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))) + (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10)))))) + ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8)))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))));
- { uint32_t x26 = (uint32_t) (x23 >> 0x15);
- { uint32_t x27 = ((uint32_t)x23 & 0x1fffff);
- { ℤ x28 = (x17 >>ℤ 0x15);
- { uint32_t x29 = (x17 & 0x1fffff);
- { ℤ x30 = ((0x200000 *ℤ x28) +ℤ x29);
- { ℤ x31 = (x30 >>ℤ 0x15);
- { uint32_t x32 = (x30 & 0x1fffff);
- { ℤ x33 = ((x26 + x22) +ℤ x31);
- { uint64_t x34 = (x33 >> 0x16);
- { uint32_t x35 = (x33 & 0x3fffff);
- { ℤ x36 = (x25 +ℤ x31);
- { uint64_t x37 = (x36 >> 0x16);
- { uint32_t x38 = (x36 & 0x3fffff);
- { uint64_t x39 = (x34 + x21);
- { uint32_t x40 = (uint32_t) (x39 >> 0x15);
- { uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
- { uint64_t x42 = (x37 + x24);
- { uint32_t x43 = (uint32_t) (x42 >> 0x15);
- { uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- { uint64_t x45 = (x40 + x20);
- { uint32_t x46 = (uint32_t) (x45 >> 0x15);
- { uint32_t x47 = ((uint32_t)x45 & 0x1fffff);
- { uint32_t x48 = (x43 + x27);
- { uint32_t x49 = (x48 >> 0x15);
- { uint32_t x50 = (x48 & 0x1fffff);
- { uint64_t x51 = (x46 + x19);
- { uint32_t x52 = (uint32_t) (x51 >> 0x16);
- { uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- { uint64_t x54 = (x52 + x18);
- { uint32_t x55 = (uint32_t) (x54 >> 0x15);
- { uint32_t x56 = ((uint32_t)x54 & 0x1fffff);
- { uint32_t x57 = (x55 + x32);
- { uint32_t x58 = (x57 >> 0x15);
- { uint32_t x59 = (x57 & 0x1fffff);
- { uint32_t x60 = ((0x200000 * x58) + x59);
- { uint32_t x61 = (x60 >> 0x15);
- { uint32_t x62 = (x60 & 0x1fffff);
- { uint32_t x63 = ((x49 + x35) + x61);
- { uint32_t x64 = (x63 >> 0x16);
- { uint32_t x65 = (x63 & 0x3fffff);
- { uint32_t x66 = (x38 + x61);
- { uint32_t x67 = (x66 >> 0x16);
- { uint32_t x68 = (x66 & 0x3fffff);
- out[0] = x68;
- out[1] = (x67 + x44);
- out[2] = x50;
- out[3] = x65;
- out[4] = (x64 + x41);
- out[5] = x47;
- out[6] = x53;
- out[7] = x56;
- out[8] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.v
deleted file mode 100644
index 165cd403c..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.log
deleted file mode 100644
index 18e5049e0..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- ℤ x17 = ((((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2))))))))) +ℤ ((((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))) +ℤ ((0x200000 *ℤ ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))) +ℤ (0x80000000000 *ℤ ((uint64_t)x15 * x15)))));
- uint64_t 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)x15 * x15) + (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16))) + ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + ((((uint64_t)x14 * x15) + ((0x2 * ((uint64_t)x16 * x16)) + ((uint64_t)x15 * x14))) + (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + ((((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12)))) + (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10)))))) + ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x15) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((uint64_t)x15 * x8)))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4))))))))));
- uint32_t x26 = (uint32_t) (x23 >> 0x15);
- uint32_t x27 = ((uint32_t)x23 & 0x1fffff);
- ℤ x28 = (x17 >>ℤ 0x15);
- uint32_t x29 = (x17 & 0x1fffff);
- ℤ x30 = ((0x200000 *ℤ x28) +ℤ x29);
- ℤ x31 = (x30 >>ℤ 0x15);
- uint32_t x32 = (x30 & 0x1fffff);
- ℤ x33 = ((x26 + x22) +ℤ x31);
- uint64_t x34 = (x33 >> 0x16);
- uint32_t x35 = (x33 & 0x3fffff);
- ℤ x36 = (x25 +ℤ x31);
- uint64_t x37 = (x36 >> 0x16);
- uint32_t x38 = (x36 & 0x3fffff);
- uint64_t x39 = (x34 + x21);
- uint32_t x40 = (uint32_t) (x39 >> 0x15);
- uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
- uint64_t x42 = (x37 + x24);
- uint32_t x43 = (uint32_t) (x42 >> 0x15);
- uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- uint64_t x45 = (x40 + x20);
- uint32_t x46 = (uint32_t) (x45 >> 0x15);
- uint32_t x47 = ((uint32_t)x45 & 0x1fffff);
- uint32_t x48 = (x43 + x27);
- uint32_t x49 = (x48 >> 0x15);
- uint32_t x50 = (x48 & 0x1fffff);
- uint64_t x51 = (x46 + x19);
- uint32_t x52 = (uint32_t) (x51 >> 0x16);
- uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- uint64_t x54 = (x52 + x18);
- uint32_t x55 = (uint32_t) (x54 >> 0x15);
- uint32_t x56 = ((uint32_t)x54 & 0x1fffff);
- uint32_t x57 = (x55 + x32);
- uint32_t x58 = (x57 >> 0x15);
- uint32_t x59 = (x57 & 0x1fffff);
- uint32_t x60 = ((0x200000 * x58) + x59);
- uint32_t x61 = (x60 >> 0x15);
- uint32_t x62 = (x60 & 0x1fffff);
- uint32_t x63 = ((x49 + x35) + x61);
- uint32_t x64 = (x63 >> 0x16);
- uint32_t x65 = (x63 & 0x3fffff);
- uint32_t x66 = (x38 + x61);
- uint32_t x67 = (x66 >> 0x16);
- uint32_t x68 = (x66 & 0x3fffff);
- return (Return x62, Return x56, Return x53, Return x47, (x64 + x41), Return x65, Return x50, (x67 + x44), Return x68))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.v
deleted file mode 100644
index 9183e6cec..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.c b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.c
deleted file mode 100644
index 3adcdaf1e..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7ffffe + x5) - x21);
- out[1] = ((0x3ffffe + x7) - x23);
- out[2] = ((0x3ffffe + x9) - x25);
- out[3] = ((0x7ffffc + x11) - x27);
- out[4] = ((0x3ffffe + x13) - x29);
- out[5] = ((0x3ffffe + x15) - x31);
- out[6] = ((0x7ffffe + x17) - x33);
- out[7] = ((0x3ffffe + x19) - x35);
- out[8] = ((0x3ffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.v
deleted file mode 100644
index 259526f4d..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.log
deleted file mode 100644
index 9c0e83ada..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3ffffe + x18) - x34), ((0x3ffffe + x19) - x35), ((0x7ffffe + x17) - x33), ((0x3ffffe + x15) - x31), ((0x3ffffe + x13) - x29), ((0x7ffffc + x11) - x27), ((0x3ffffe + x9) - x25), ((0x3ffffe + x7) - x23), ((0x7ffffe + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.v
deleted file mode 100644
index 5278df5f7..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.c b/src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.c
deleted file mode 100644
index 99c0c9266..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffe);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x1fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x1fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x3ffffe);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x1fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x3fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x1fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x1fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.v
deleted file mode 100644
index a1a4b61ae..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.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_2e192m2e64m1_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.log
deleted file mode 100644
index bd91d1424..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffe);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x1fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x1fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x3ffffe);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x1fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x3fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x1fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x1fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.v
deleted file mode 100644
index bdcbc09d0..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e192m2e64m1_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e192m2e64m1_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e192m2e64m1_9limbs/py_interpreter.sh
deleted file mode 100755
index 79b7e37f6..000000000
--- a/src/Specific/solinas32_2e192m2e64m1_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**192 - 2**64 - 1' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e194m33_8limbs/CurveParameters.v b/src/Specific/solinas32_2e194m33_8limbs/CurveParameters.v
deleted file mode 100644
index ac84fa183..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^194 - 33
-Base: 24.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 24 + 1/4;
- bitwidth := 32;
- s := 2^194;
- c := [(1, 33)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e194m33_8limbs/Synthesis.v b/src/Specific/solinas32_2e194m33_8limbs/Synthesis.v
deleted file mode 100644
index b714606f9..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/compiler.sh b/src/Specific/solinas32_2e194m33_8limbs/compiler.sh
deleted file mode 100755
index 5f9ff1836..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas32_2e194m33_8limbs/compilerxx.sh b/src/Specific/solinas32_2e194m33_8limbs/compilerxx.sh
deleted file mode 100755
index a8f803ec6..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas32_2e194m33_8limbs/feadd.c b/src/Specific/solinas32_2e194m33_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_8limbs/feadd.v b/src/Specific/solinas32_2e194m33_8limbs/feadd.v
deleted file mode 100644
index 21347e97b..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.v
deleted file mode 100644
index 3db83e06d..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fecarry.v b/src/Specific/solinas32_2e194m33_8limbs/fecarry.v
deleted file mode 100644
index c3b195f77..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e194m33_8limbs/fecarryDisplay.v
deleted file mode 100644
index 539fd774f..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e194m33_8limbs/femul.c b/src/Specific/solinas32_2e194m33_8limbs/femul.c
deleted file mode 100644
index 59c62a65b..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x21 * ((uint64_t)x16 * x30)));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x21 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x21 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x21 * (((uint64_t)x13 * x30) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x21 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x21 * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x21 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x19);
- { uint32_t x41 = ((uint32_t)x39 & 0x1ffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x18);
- { uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x18);
- { uint32_t x47 = ((uint32_t)x45 & 0xffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x18);
- { uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x19);
- { uint32_t x53 = ((uint32_t)x51 & 0x1ffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x18);
- { uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x18);
- { uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x18);
- { uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- { uint64_t x63 = (x41 + ((uint64_t)0x21 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x19);
- { uint32_t x65 = ((uint32_t)x63 & 0x1ffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x18);
- { uint32_t x68 = (x66 & 0xffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_8limbs/femul.v b/src/Specific/solinas32_2e194m33_8limbs/femul.v
deleted file mode 100644
index 198f99f08..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/femulDisplay.log b/src/Specific/solinas32_2e194m33_8limbs/femulDisplay.log
deleted file mode 100644
index d47f7631a..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + ((0x2 * ((uint64_t)x17 * x21)) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x21 * ((uint64_t)x16 * x30)));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x21 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x21 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x21 * (((uint64_t)x13 * x30) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0x21 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x21 * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x21 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x19);
- uint32_t x41 = ((uint32_t)x39 & 0x1ffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x18);
- uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x18);
- uint32_t x47 = ((uint32_t)x45 & 0xffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x18);
- uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x19);
- uint32_t x53 = ((uint32_t)x51 & 0x1ffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x18);
- uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x18);
- uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x18);
- uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- uint64_t x63 = (x41 + ((uint64_t)0x21 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x19);
- uint32_t x65 = ((uint32_t)x63 & 0x1ffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x18);
- uint32_t x68 = (x66 & 0xffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_8limbs/femulDisplay.v b/src/Specific/solinas32_2e194m33_8limbs/femulDisplay.v
deleted file mode 100644
index d4de41ebd..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fesquare.c b/src/Specific/solinas32_2e194m33_8limbs/fesquare.c
deleted file mode 100644
index c5d941438..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x21 * ((uint64_t)x13 * x13)));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x21 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x21 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x21 * (((uint64_t)x10 * x13) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x21 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x21 * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x21 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x24 + ((uint64_t)0x21 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x18);
- { uint32_t x51 = (x49 & 0xffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fesquare.v b/src/Specific/solinas32_2e194m33_8limbs/fesquare.v
deleted file mode 100644
index 2c3a6c96f..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.log
deleted file mode 100644
index 49b2ae021..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x21 * ((uint64_t)x13 * x13)));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x21 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x21 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x21 * (((uint64_t)x10 * x13) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x21 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x21 * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x21 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x24 + ((uint64_t)0x21 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x18);
- uint32_t x51 = (x49 & 0xffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.v
deleted file mode 100644
index 2c34724cd..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fesub.c b/src/Specific/solinas32_2e194m33_8limbs/fesub.c
deleted file mode 100644
index 970c77da5..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x3ffffbe + x5) - x19);
- out[1] = ((0x1fffffe + x7) - x21);
- out[2] = ((0x1fffffe + x9) - x23);
- out[3] = ((0x1fffffe + x11) - x25);
- out[4] = ((0x3fffffe + x13) - x27);
- out[5] = ((0x1fffffe + x15) - x29);
- out[6] = ((0x1fffffe + x17) - x31);
- out[7] = ((0x1fffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fesub.v b/src/Specific/solinas32_2e194m33_8limbs/fesub.v
deleted file mode 100644
index 374b77573..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.log
deleted file mode 100644
index ed0218289..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffe + x16) - x30), ((0x1fffffe + x17) - x31), ((0x1fffffe + x15) - x29), ((0x3fffffe + x13) - x27), ((0x1fffffe + x11) - x25), ((0x1fffffe + x9) - x23), ((0x1fffffe + x7) - x21), ((0x3ffffbe + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.v
deleted file mode 100644
index ffdd120e3..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e194m33_8limbs/freeze.c b/src/Specific/solinas32_2e194m33_8limbs/freeze.c
deleted file mode 100644
index a56db3e82..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffdf);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x1ffffdf);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x1ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0xffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_8limbs/freeze.v b/src/Specific/solinas32_2e194m33_8limbs/freeze.v
deleted file mode 100644
index 87951d0a4..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.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_2e194m33_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.log
deleted file mode 100644
index 64df88137..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffdf);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x1ffffdf);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x1ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0xffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.v
deleted file mode 100644
index a828f6a6b..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e194m33_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e194m33_8limbs/py_interpreter.sh
deleted file mode 100755
index b44eb42c5..000000000
--- a/src/Specific/solinas32_2e194m33_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**194 - 33' -Dmodulus_bytes='24.25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e194m33_9limbs/CurveParameters.v b/src/Specific/solinas32_2e194m33_9limbs/CurveParameters.v
deleted file mode 100644
index 75adb53e4..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^194 - 33
-Base: 21 + 5/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 21 + 5/9;
- bitwidth := 32;
- s := 2^194;
- c := [(1, 33)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e194m33_9limbs/Synthesis.v b/src/Specific/solinas32_2e194m33_9limbs/Synthesis.v
deleted file mode 100644
index 05f47ca44..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/compiler.sh b/src/Specific/solinas32_2e194m33_9limbs/compiler.sh
deleted file mode 100755
index d55b4c9e5..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,21,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas32_2e194m33_9limbs/compilerxx.sh b/src/Specific/solinas32_2e194m33_9limbs/compilerxx.sh
deleted file mode 100755
index 87a979e10..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,21,22,21}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas32_2e194m33_9limbs/feadd.c b/src/Specific/solinas32_2e194m33_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_9limbs/feadd.v b/src/Specific/solinas32_2e194m33_9limbs/feadd.v
deleted file mode 100644
index cde2a6e3e..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.v
deleted file mode 100644
index ef29a5528..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fecarry.v b/src/Specific/solinas32_2e194m33_9limbs/fecarry.v
deleted file mode 100644
index 71ac0eff8..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e194m33_9limbs/fecarryDisplay.v
deleted file mode 100644
index e4792fc37..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e194m33_9limbs/femul.c b/src/Specific/solinas32_2e194m33_9limbs/femul.c
deleted file mode 100644
index d5c4e4106..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x21 * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x21 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x21 * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x21 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x21 * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x21 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x21 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x21 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x16);
- { uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x16);
- { uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x15);
- { uint32_t x52 = ((uint32_t)x50 & 0x1fffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x16);
- { uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x15);
- { uint32_t x58 = ((uint32_t)x56 & 0x1fffff);
- { uint64_t x59 = (x57 + x39);
- { uint32_t x60 = (uint32_t) (x59 >> 0x16);
- { uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- { uint64_t x62 = (x60 + x38);
- { uint32_t x63 = (uint32_t) (x62 >> 0x15);
- { uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x16);
- { uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x15);
- { uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0x21 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x16);
- { uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x16);
- { uint32_t x76 = (x74 & 0x3fffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_9limbs/femul.v b/src/Specific/solinas32_2e194m33_9limbs/femul.v
deleted file mode 100644
index 25610b0ab..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/femulDisplay.log b/src/Specific/solinas32_2e194m33_9limbs/femulDisplay.log
deleted file mode 100644
index d20398ca5..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x21 * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x21 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x21 * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x21 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x21 * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x21 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x21 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x21 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x16);
- uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x16);
- uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x15);
- uint32_t x52 = ((uint32_t)x50 & 0x1fffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x16);
- uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x15);
- uint32_t x58 = ((uint32_t)x56 & 0x1fffff);
- uint64_t x59 = (x57 + x39);
- uint32_t x60 = (uint32_t) (x59 >> 0x16);
- uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- uint64_t x62 = (x60 + x38);
- uint32_t x63 = (uint32_t) (x62 >> 0x15);
- uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x16);
- uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x15);
- uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- uint64_t x71 = (x46 + ((uint64_t)0x21 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x16);
- uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x16);
- uint32_t x76 = (x74 & 0x3fffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_9limbs/femulDisplay.v b/src/Specific/solinas32_2e194m33_9limbs/femulDisplay.v
deleted file mode 100644
index 95b91b49f..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fesquare.c b/src/Specific/solinas32_2e194m33_9limbs/fesquare.c
deleted file mode 100644
index 8f3537f2b..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x21 * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x21 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x21 * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x21 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x21 * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x21 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x21 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x21 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x15);
- { uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x38 + x20);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x19);
- { uint32_t x44 = (uint32_t) (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0x21 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x16);
- { uint32_t x57 = (x55 & 0x3fffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fesquare.v b/src/Specific/solinas32_2e194m33_9limbs/fesquare.v
deleted file mode 100644
index 398d9b535..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.log
deleted file mode 100644
index 854b31f24..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x21 * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x21 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x21 * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x21 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x21 * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x21 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x21 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x21 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x15);
- uint32_t x33 = ((uint32_t)x31 & 0x1fffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x38 + x20);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x19);
- uint32_t x44 = (uint32_t) (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x27 + ((uint64_t)0x21 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x16);
- uint32_t x57 = (x55 & 0x3fffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.v
deleted file mode 100644
index e18e26100..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fesub.c b/src/Specific/solinas32_2e194m33_9limbs/fesub.c
deleted file mode 100644
index 006cd3547..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7fffbe + x5) - x21);
- out[1] = ((0x7ffffe + x7) - x23);
- out[2] = ((0x3ffffe + x9) - x25);
- out[3] = ((0x7ffffe + x11) - x27);
- out[4] = ((0x3ffffe + x13) - x29);
- out[5] = ((0x7ffffe + x15) - x31);
- out[6] = ((0x3ffffe + x17) - x33);
- out[7] = ((0x7ffffe + x19) - x35);
- out[8] = ((0x3ffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fesub.v b/src/Specific/solinas32_2e194m33_9limbs/fesub.v
deleted file mode 100644
index 3c9734829..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.log
deleted file mode 100644
index e8c72a24c..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3ffffe + x18) - x34), ((0x7ffffe + x19) - x35), ((0x3ffffe + x17) - x33), ((0x7ffffe + x15) - x31), ((0x3ffffe + x13) - x29), ((0x7ffffe + x11) - x27), ((0x3ffffe + x9) - x25), ((0x7ffffe + x7) - x23), ((0x7fffbe + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.v
deleted file mode 100644
index d6d62ffcb..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e194m33_9limbs/freeze.c b/src/Specific/solinas32_2e194m33_9limbs/freeze.c
deleted file mode 100644
index 2f5e9aea3..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffdf);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3fffdf);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x3fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x1fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x3fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x1fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x3fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x1fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e194m33_9limbs/freeze.v b/src/Specific/solinas32_2e194m33_9limbs/freeze.v
deleted file mode 100644
index 2c293a61e..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.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_2e194m33_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.log
deleted file mode 100644
index 849fa9815..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffdf);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3fffdf);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x3fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x1fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x3fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x1fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x3fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x1fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.v
deleted file mode 100644
index 738d3e3a1..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e194m33_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e194m33_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e194m33_9limbs/py_interpreter.sh
deleted file mode 100755
index 40e7a0c1a..000000000
--- a/src/Specific/solinas32_2e194m33_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**194 - 33' -Dmodulus_bytes='21 + 5/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e196m15_8limbs/CurveParameters.v b/src/Specific/solinas32_2e196m15_8limbs/CurveParameters.v
deleted file mode 100644
index 79fc27c23..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^196 - 15
-Base: 24.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 24 + 1/2;
- bitwidth := 32;
- s := 2^196;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e196m15_8limbs/Synthesis.v b/src/Specific/solinas32_2e196m15_8limbs/Synthesis.v
deleted file mode 100644
index dd1c992a2..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/compiler.sh b/src/Specific/solinas32_2e196m15_8limbs/compiler.sh
deleted file mode 100755
index 62212639b..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas32_2e196m15_8limbs/compilerxx.sh b/src/Specific/solinas32_2e196m15_8limbs/compilerxx.sh
deleted file mode 100755
index b527b4e03..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas32_2e196m15_8limbs/feadd.c b/src/Specific/solinas32_2e196m15_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_8limbs/feadd.v b/src/Specific/solinas32_2e196m15_8limbs/feadd.v
deleted file mode 100644
index b7e8d06ef..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.v
deleted file mode 100644
index a6972c448..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fecarry.v b/src/Specific/solinas32_2e196m15_8limbs/fecarry.v
deleted file mode 100644
index b263e4897..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e196m15_8limbs/fecarryDisplay.v
deleted file mode 100644
index 8b719f32c..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e196m15_8limbs/femul.c b/src/Specific/solinas32_2e196m15_8limbs/femul.c
deleted file mode 100644
index 39cd69e00..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0xf * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0xf * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0xf * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0xf * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0xf * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0xf * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0xf * ((0x2 * ((uint64_t)x7 * x30)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x19);
- { uint32_t x41 = ((uint32_t)x39 & 0x1ffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x18);
- { uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x19);
- { uint32_t x47 = ((uint32_t)x45 & 0x1ffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x18);
- { uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x19);
- { uint32_t x53 = ((uint32_t)x51 & 0x1ffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x18);
- { uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x19);
- { uint32_t x59 = ((uint32_t)x57 & 0x1ffffff);
- { uint64_t x60 = (x58 + x32);
- { uint32_t x61 = (uint32_t) (x60 >> 0x18);
- { uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- { uint64_t x63 = (x41 + ((uint64_t)0xf * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x19);
- { uint32_t x65 = ((uint32_t)x63 & 0x1ffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x18);
- { uint32_t x68 = (x66 & 0xffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_8limbs/femul.v b/src/Specific/solinas32_2e196m15_8limbs/femul.v
deleted file mode 100644
index e630ad9a5..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/femulDisplay.log b/src/Specific/solinas32_2e196m15_8limbs/femulDisplay.log
deleted file mode 100644
index eeb257755..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0xf * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0xf * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0xf * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0xf * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) + (0xf * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0xf * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0xf * ((0x2 * ((uint64_t)x7 * x30)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x19);
- uint32_t x41 = ((uint32_t)x39 & 0x1ffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x18);
- uint32_t x44 = ((uint32_t)x42 & 0xffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x19);
- uint32_t x47 = ((uint32_t)x45 & 0x1ffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x18);
- uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x19);
- uint32_t x53 = ((uint32_t)x51 & 0x1ffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x18);
- uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x19);
- uint32_t x59 = ((uint32_t)x57 & 0x1ffffff);
- uint64_t x60 = (x58 + x32);
- uint32_t x61 = (uint32_t) (x60 >> 0x18);
- uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- uint64_t x63 = (x41 + ((uint64_t)0xf * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x19);
- uint32_t x65 = ((uint32_t)x63 & 0x1ffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x18);
- uint32_t x68 = (x66 & 0xffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_8limbs/femulDisplay.v b/src/Specific/solinas32_2e196m15_8limbs/femulDisplay.v
deleted file mode 100644
index 417b82fba..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fesquare.c b/src/Specific/solinas32_2e196m15_8limbs/fesquare.c
deleted file mode 100644
index ed7de1d16..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x13)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x15);
- { uint32_t x44 = (uint32_t) (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x24 + ((uint64_t)0xf * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x18);
- { uint32_t x51 = (x49 & 0xffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fesquare.v b/src/Specific/solinas32_2e196m15_8limbs/fesquare.v
deleted file mode 100644
index 1cf956f88..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.log
deleted file mode 100644
index f043e3458..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x13)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x15);
- uint32_t x44 = (uint32_t) (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x24 + ((uint64_t)0xf * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x18);
- uint32_t x51 = (x49 & 0xffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.v
deleted file mode 100644
index f1551f274..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fesub.c b/src/Specific/solinas32_2e196m15_8limbs/fesub.c
deleted file mode 100644
index 0a3649df5..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x3ffffe2 + x5) - x19);
- out[1] = ((0x1fffffe + x7) - x21);
- out[2] = ((0x3fffffe + x9) - x23);
- out[3] = ((0x1fffffe + x11) - x25);
- out[4] = ((0x3fffffe + x13) - x27);
- out[5] = ((0x1fffffe + x15) - x29);
- out[6] = ((0x3fffffe + x17) - x31);
- out[7] = ((0x1fffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fesub.v b/src/Specific/solinas32_2e196m15_8limbs/fesub.v
deleted file mode 100644
index b0174d3c8..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.log
deleted file mode 100644
index d16646c0c..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffe + x16) - x30), ((0x3fffffe + x17) - x31), ((0x1fffffe + x15) - x29), ((0x3fffffe + x13) - x27), ((0x1fffffe + x11) - x25), ((0x3fffffe + x9) - x23), ((0x1fffffe + x7) - x21), ((0x3ffffe2 + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.v
deleted file mode 100644
index 96eb9d29e..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e196m15_8limbs/freeze.c b/src/Specific/solinas32_2e196m15_8limbs/freeze.c
deleted file mode 100644
index 624dadc27..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff1);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x1fffff1);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x1ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x1ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0xffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_8limbs/freeze.v b/src/Specific/solinas32_2e196m15_8limbs/freeze.v
deleted file mode 100644
index 186ab2833..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.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_2e196m15_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.log
deleted file mode 100644
index 1fb132f2f..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff1);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x1fffff1);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x1ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x1ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0xffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.v
deleted file mode 100644
index f62c59452..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e196m15_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e196m15_8limbs/py_interpreter.sh
deleted file mode 100755
index 1957689bd..000000000
--- a/src/Specific/solinas32_2e196m15_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**196 - 15' -Dmodulus_bytes='24.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e196m15_9limbs/CurveParameters.v b/src/Specific/solinas32_2e196m15_9limbs/CurveParameters.v
deleted file mode 100644
index 2b6f7a220..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^196 - 15
-Base: 21 + 7/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 21 + 7/9;
- bitwidth := 32;
- s := 2^196;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e196m15_9limbs/Synthesis.v b/src/Specific/solinas32_2e196m15_9limbs/Synthesis.v
deleted file mode 100644
index 45d8fabec..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/compiler.sh b/src/Specific/solinas32_2e196m15_9limbs/compiler.sh
deleted file mode 100755
index 367eb31a3..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas32_2e196m15_9limbs/compilerxx.sh b/src/Specific/solinas32_2e196m15_9limbs/compilerxx.sh
deleted file mode 100755
index dc7c8210e..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,21,22,22,22,21}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas32_2e196m15_9limbs/feadd.c b/src/Specific/solinas32_2e196m15_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_9limbs/feadd.v b/src/Specific/solinas32_2e196m15_9limbs/feadd.v
deleted file mode 100644
index 27443e78b..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.v
deleted file mode 100644
index 20432b1c2..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fecarry.v b/src/Specific/solinas32_2e196m15_9limbs/fecarry.v
deleted file mode 100644
index 3ff75fab0..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e196m15_9limbs/fecarryDisplay.v
deleted file mode 100644
index 17f488745..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e196m15_9limbs/femul.c b/src/Specific/solinas32_2e196m15_9limbs/femul.c
deleted file mode 100644
index 581348c40..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0xf * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0xf * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0xf * ((0x2 * ((uint64_t)x17 * x34)) + ((0x2 * ((uint64_t)x19 * x35)) + (0x2 * ((uint64_t)x18 * x33))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0xf * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0xf * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0xf * ((0x2 * ((uint64_t)x11 * x34)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + (0x2 * ((uint64_t)x18 * x27)))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0xf * ((0x2 * ((uint64_t)x9 * x34)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0xf * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x16);
- { uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x16);
- { uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x16);
- { uint32_t x52 = ((uint32_t)x50 & 0x3fffff);
- { uint64_t x53 = (x51 + x41);
- { uint32_t x54 = (uint32_t) (x53 >> 0x16);
- { uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x15);
- { uint32_t x58 = ((uint32_t)x56 & 0x1fffff);
- { uint64_t x59 = (x57 + x39);
- { uint32_t x60 = (uint32_t) (x59 >> 0x16);
- { uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- { uint64_t x62 = (x60 + x38);
- { uint32_t x63 = (uint32_t) (x62 >> 0x16);
- { uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x16);
- { uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x15);
- { uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0xf * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x16);
- { uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x16);
- { uint32_t x76 = (x74 & 0x3fffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_9limbs/femul.v b/src/Specific/solinas32_2e196m15_9limbs/femul.v
deleted file mode 100644
index 7153bc34c..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/femulDisplay.log b/src/Specific/solinas32_2e196m15_9limbs/femulDisplay.log
deleted file mode 100644
index 85cb53c4b..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0xf * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0xf * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0xf * ((0x2 * ((uint64_t)x17 * x34)) + ((0x2 * ((uint64_t)x19 * x35)) + (0x2 * ((uint64_t)x18 * x33))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0xf * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0xf * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0xf * ((0x2 * ((uint64_t)x11 * x34)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + (0x2 * ((uint64_t)x18 * x27)))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0xf * ((0x2 * ((uint64_t)x9 * x34)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0xf * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x16);
- uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x16);
- uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x16);
- uint32_t x52 = ((uint32_t)x50 & 0x3fffff);
- uint64_t x53 = (x51 + x41);
- uint32_t x54 = (uint32_t) (x53 >> 0x16);
- uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x15);
- uint32_t x58 = ((uint32_t)x56 & 0x1fffff);
- uint64_t x59 = (x57 + x39);
- uint32_t x60 = (uint32_t) (x59 >> 0x16);
- uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- uint64_t x62 = (x60 + x38);
- uint32_t x63 = (uint32_t) (x62 >> 0x16);
- uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x16);
- uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x15);
- uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- uint64_t x71 = (x46 + ((uint64_t)0xf * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x16);
- uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x16);
- uint32_t x76 = (x74 & 0x3fffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_9limbs/femulDisplay.v b/src/Specific/solinas32_2e196m15_9limbs/femulDisplay.v
deleted file mode 100644
index 3b63c620f..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fesquare.c b/src/Specific/solinas32_2e196m15_9limbs/fesquare.c
deleted file mode 100644
index 305b68c9e..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0xf * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xf * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * ((0x2 * ((uint64_t)x14 * x15)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x15 * x14))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * ((0x2 * ((uint64_t)x8 * x15)) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x15 * x8)))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * ((0x2 * ((uint64_t)x6 * x15)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x22);
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x38 + x20);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x19);
- { uint32_t x44 = (uint32_t) (x43 >> 0x16);
- { uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0xf * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x16);
- { uint32_t x57 = (x55 & 0x3fffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fesquare.v b/src/Specific/solinas32_2e196m15_9limbs/fesquare.v
deleted file mode 100644
index a24f4bc52..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.log
deleted file mode 100644
index 6cd41d7c2..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0xf * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xf * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * ((0x2 * ((uint64_t)x14 * x15)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x15 * x14))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * ((0x2 * ((uint64_t)x8 * x15)) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x15 * x8)))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * ((0x2 * ((uint64_t)x6 * x15)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x22);
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x38 + x20);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x19);
- uint32_t x44 = (uint32_t) (x43 >> 0x16);
- uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x27 + ((uint64_t)0xf * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x16);
- uint32_t x57 = (x55 & 0x3fffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.v
deleted file mode 100644
index 580ac6b8c..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fesub.c b/src/Specific/solinas32_2e196m15_9limbs/fesub.c
deleted file mode 100644
index c68e4d712..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7fffe2 + x5) - x21);
- out[1] = ((0x7ffffe + x7) - x23);
- out[2] = ((0x7ffffe + x9) - x25);
- out[3] = ((0x7ffffe + x11) - x27);
- out[4] = ((0x3ffffe + x13) - x29);
- out[5] = ((0x7ffffe + x15) - x31);
- out[6] = ((0x7ffffe + x17) - x33);
- out[7] = ((0x7ffffe + x19) - x35);
- out[8] = ((0x3ffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fesub.v b/src/Specific/solinas32_2e196m15_9limbs/fesub.v
deleted file mode 100644
index f2065d046..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.log
deleted file mode 100644
index 0e1e7af91..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3ffffe + x18) - x34), ((0x7ffffe + x19) - x35), ((0x7ffffe + x17) - x33), ((0x7ffffe + x15) - x31), ((0x3ffffe + x13) - x29), ((0x7ffffe + x11) - x27), ((0x7ffffe + x9) - x25), ((0x7ffffe + x7) - x23), ((0x7fffe2 + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.v
deleted file mode 100644
index ed0dac9f2..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e196m15_9limbs/freeze.c b/src/Specific/solinas32_2e196m15_9limbs/freeze.c
deleted file mode 100644
index 62f17e5d9..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffff1);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3ffff1);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x3fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x3fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x3fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x3fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x3fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x1fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e196m15_9limbs/freeze.v b/src/Specific/solinas32_2e196m15_9limbs/freeze.v
deleted file mode 100644
index 3cd60aabc..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.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_2e196m15_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.log
deleted file mode 100644
index 15bd783f5..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffff1);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3ffff1);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x3fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x3fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x3fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x3fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x3fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x1fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.v
deleted file mode 100644
index f26cb0369..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e196m15_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e196m15_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e196m15_9limbs/py_interpreter.sh
deleted file mode 100755
index 3d67c7178..000000000
--- a/src/Specific/solinas32_2e196m15_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**196 - 15' -Dmodulus_bytes='21 + 7/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e198m17_8limbs/CurveParameters.v b/src/Specific/solinas32_2e198m17_8limbs/CurveParameters.v
deleted file mode 100644
index bc64ca7c6..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^198 - 17
-Base: 24.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 24 + 3/4;
- bitwidth := 32;
- s := 2^198;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e198m17_8limbs/Synthesis.v b/src/Specific/solinas32_2e198m17_8limbs/Synthesis.v
deleted file mode 100644
index 4c1b64f9b..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/compiler.sh b/src/Specific/solinas32_2e198m17_8limbs/compiler.sh
deleted file mode 100755
index 0e2e19e62..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas32_2e198m17_8limbs/compilerxx.sh b/src/Specific/solinas32_2e198m17_8limbs/compilerxx.sh
deleted file mode 100755
index f64d6b78a..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas32_2e198m17_8limbs/feadd.c b/src/Specific/solinas32_2e198m17_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_8limbs/feadd.v b/src/Specific/solinas32_2e198m17_8limbs/feadd.v
deleted file mode 100644
index 11c033c76..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.v
deleted file mode 100644
index a7953ab4a..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fecarry.v b/src/Specific/solinas32_2e198m17_8limbs/fecarry.v
deleted file mode 100644
index 7cc902762..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e198m17_8limbs/fecarryDisplay.v
deleted file mode 100644
index 471b35a15..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e198m17_8limbs/femul.c b/src/Specific/solinas32_2e198m17_8limbs/femul.c
deleted file mode 100644
index ac77b93d4..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x11 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x11 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x11 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x11 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x19);
- { uint32_t x41 = ((uint32_t)x39 & 0x1ffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x19);
- { uint32_t x44 = ((uint32_t)x42 & 0x1ffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x19);
- { uint32_t x47 = ((uint32_t)x45 & 0x1ffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x18);
- { uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x19);
- { uint32_t x53 = ((uint32_t)x51 & 0x1ffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x19);
- { uint32_t x56 = ((uint32_t)x54 & 0x1ffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x19);
- { uint32_t x59 = ((uint32_t)x57 & 0x1ffffff);
- { uint64_t x60 = (x58 + x32);
- { uint64_t x61 = (x60 >> 0x18);
- { uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- { uint64_t x63 = (x41 + (0x11 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x19);
- { uint32_t x65 = ((uint32_t)x63 & 0x1ffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x19);
- { uint32_t x68 = (x66 & 0x1ffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_8limbs/femul.v b/src/Specific/solinas32_2e198m17_8limbs/femul.v
deleted file mode 100644
index f7f66c3d7..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/femulDisplay.log b/src/Specific/solinas32_2e198m17_8limbs/femulDisplay.log
deleted file mode 100644
index b476342cc..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x11 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x11 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x11 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x11 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x19);
- uint32_t x41 = ((uint32_t)x39 & 0x1ffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x19);
- uint32_t x44 = ((uint32_t)x42 & 0x1ffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x19);
- uint32_t x47 = ((uint32_t)x45 & 0x1ffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x18);
- uint32_t x50 = ((uint32_t)x48 & 0xffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x19);
- uint32_t x53 = ((uint32_t)x51 & 0x1ffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x19);
- uint32_t x56 = ((uint32_t)x54 & 0x1ffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x19);
- uint32_t x59 = ((uint32_t)x57 & 0x1ffffff);
- uint64_t x60 = (x58 + x32);
- uint64_t x61 = (x60 >> 0x18);
- uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- uint64_t x63 = (x41 + (0x11 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x19);
- uint32_t x65 = ((uint32_t)x63 & 0x1ffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x19);
- uint32_t x68 = (x66 & 0x1ffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_8limbs/femulDisplay.v b/src/Specific/solinas32_2e198m17_8limbs/femulDisplay.v
deleted file mode 100644
index 2b19a709d..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fesquare.c b/src/Specific/solinas32_2e198m17_8limbs/fesquare.c
deleted file mode 100644
index 429016d6a..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x19);
- { uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x15);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x24 + (0x11 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x19);
- { uint32_t x51 = (x49 & 0x1ffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fesquare.v b/src/Specific/solinas32_2e198m17_8limbs/fesquare.v
deleted file mode 100644
index 5e59fa6a7..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.log
deleted file mode 100644
index db6452242..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x19);
- uint32_t x24 = ((uint32_t)x22 & 0x1ffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x15);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x24 + (0x11 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x19);
- uint32_t x51 = (x49 & 0x1ffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.v
deleted file mode 100644
index 444464890..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fesub.c b/src/Specific/solinas32_2e198m17_8limbs/fesub.c
deleted file mode 100644
index f0d6fee45..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x3ffffde + x5) - x19);
- out[1] = ((0x3fffffe + x7) - x21);
- out[2] = ((0x3fffffe + x9) - x23);
- out[3] = ((0x1fffffe + x11) - x25);
- out[4] = ((0x3fffffe + x13) - x27);
- out[5] = ((0x3fffffe + x15) - x29);
- out[6] = ((0x3fffffe + x17) - x31);
- out[7] = ((0x1fffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fesub.v b/src/Specific/solinas32_2e198m17_8limbs/fesub.v
deleted file mode 100644
index 658c5bc91..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.log
deleted file mode 100644
index dac840266..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffe + x16) - x30), ((0x3fffffe + x17) - x31), ((0x3fffffe + x15) - x29), ((0x3fffffe + x13) - x27), ((0x1fffffe + x11) - x25), ((0x3fffffe + x9) - x23), ((0x3fffffe + x7) - x21), ((0x3ffffde + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.v
deleted file mode 100644
index 865a36ec5..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e198m17_8limbs/freeze.c b/src/Specific/solinas32_2e198m17_8limbs/freeze.c
deleted file mode 100644
index f91e7e3e9..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x1ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x1ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x1ffffef);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x1ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x1ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x1ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x1ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0xffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_8limbs/freeze.v b/src/Specific/solinas32_2e198m17_8limbs/freeze.v
deleted file mode 100644
index 3cddf0fd6..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.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_2e198m17_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.log
deleted file mode 100644
index 95a480b08..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x1ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x1ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x1ffffef);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x1ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x1ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x1ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x1ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0xffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.v
deleted file mode 100644
index 69acf7b2e..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e198m17_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e198m17_8limbs/py_interpreter.sh
deleted file mode 100755
index c03da2be8..000000000
--- a/src/Specific/solinas32_2e198m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**198 - 17' -Dmodulus_bytes='24.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e198m17_9limbs/CurveParameters.v b/src/Specific/solinas32_2e198m17_9limbs/CurveParameters.v
deleted file mode 100644
index edf315311..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^198 - 17
-Base: 22
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 22;
- bitwidth := 32;
- s := 2^198;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e198m17_9limbs/Synthesis.v b/src/Specific/solinas32_2e198m17_9limbs/Synthesis.v
deleted file mode 100644
index ccaa0a50c..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/compiler.sh b/src/Specific/solinas32_2e198m17_9limbs/compiler.sh
deleted file mode 100755
index e4f389ee5..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas32_2e198m17_9limbs/compilerxx.sh b/src/Specific/solinas32_2e198m17_9limbs/compilerxx.sh
deleted file mode 100755
index 89094429a..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,22,22,22,22,22,22,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas32_2e198m17_9limbs/feadd.c b/src/Specific/solinas32_2e198m17_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_9limbs/feadd.v b/src/Specific/solinas32_2e198m17_9limbs/feadd.v
deleted file mode 100644
index f2712a272..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.v
deleted file mode 100644
index 52b584310..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fecarry.v b/src/Specific/solinas32_2e198m17_9limbs/fecarry.v
deleted file mode 100644
index 722b5b906..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e198m17_9limbs/fecarryDisplay.v
deleted file mode 100644
index c9e290764..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e198m17_9limbs/femul.c b/src/Specific/solinas32_2e198m17_9limbs/femul.c
deleted file mode 100644
index fa8aadc0c..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x11 * ((uint64_t)x18 * x34)));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x11 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x11 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x11 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x11 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x11 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x11 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x11 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23))))))))));
- { uint64_t x45 = (x44 >> 0x16);
- { uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x16);
- { uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x16);
- { uint32_t x52 = ((uint32_t)x50 & 0x3fffff);
- { uint64_t x53 = (x51 + x41);
- { uint32_t x54 = (uint32_t) (x53 >> 0x16);
- { uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- { uint64_t x56 = (x54 + x40);
- { uint32_t x57 = (uint32_t) (x56 >> 0x16);
- { uint32_t x58 = ((uint32_t)x56 & 0x3fffff);
- { uint64_t x59 = (x57 + x39);
- { uint32_t x60 = (uint32_t) (x59 >> 0x16);
- { uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- { uint64_t x62 = (x60 + x38);
- { uint32_t x63 = (uint32_t) (x62 >> 0x16);
- { uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x16);
- { uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x16);
- { uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0x11 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x16);
- { uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x16);
- { uint32_t x76 = (x74 & 0x3fffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_9limbs/femul.v b/src/Specific/solinas32_2e198m17_9limbs/femul.v
deleted file mode 100644
index 15fea2dd1..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/femulDisplay.log b/src/Specific/solinas32_2e198m17_9limbs/femulDisplay.log
deleted file mode 100644
index 6d3e2ee24..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x11 * ((uint64_t)x18 * x34)));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x11 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x11 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x11 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x11 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x11 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x11 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x11 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23))))))))));
- uint64_t x45 = (x44 >> 0x16);
- uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x16);
- uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x16);
- uint32_t x52 = ((uint32_t)x50 & 0x3fffff);
- uint64_t x53 = (x51 + x41);
- uint32_t x54 = (uint32_t) (x53 >> 0x16);
- uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- uint64_t x56 = (x54 + x40);
- uint32_t x57 = (uint32_t) (x56 >> 0x16);
- uint32_t x58 = ((uint32_t)x56 & 0x3fffff);
- uint64_t x59 = (x57 + x39);
- uint32_t x60 = (uint32_t) (x59 >> 0x16);
- uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- uint64_t x62 = (x60 + x38);
- uint32_t x63 = (uint32_t) (x62 >> 0x16);
- uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x16);
- uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x16);
- uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- uint64_t x71 = (x46 + ((uint64_t)0x11 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x16);
- uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x16);
- uint32_t x76 = (x74 & 0x3fffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_9limbs/femulDisplay.v b/src/Specific/solinas32_2e198m17_9limbs/femulDisplay.v
deleted file mode 100644
index 095a12236..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fesquare.c b/src/Specific/solinas32_2e198m17_9limbs/fesquare.c
deleted file mode 100644
index c146341e3..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- { uint64_t 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)))))))) + (0x11 * ((uint64_t)x15 * x15)));
- { uint64_t x19 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x15) + (((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)x15 * x4))))))))));
- { uint64_t x26 = (x25 >> 0x16);
- { uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x16);
- { uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x22);
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x21);
- { uint32_t x38 = (uint32_t) (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x20);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x19);
- { uint32_t x44 = (uint32_t) (x43 >> 0x16);
- { uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x16);
- { uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0x11 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x16);
- { uint32_t x57 = (x55 & 0x3fffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fesquare.v b/src/Specific/solinas32_2e198m17_9limbs/fesquare.v
deleted file mode 100644
index 4125f1ab5..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.log
deleted file mode 100644
index 3b0ec9b78..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- uint64_t 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)))))))) + (0x11 * ((uint64_t)x15 * x15)));
- uint64_t x19 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x15) + (((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)x15 * x4))))))))));
- uint64_t x26 = (x25 >> 0x16);
- uint32_t x27 = ((uint32_t)x25 & 0x3fffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x16);
- uint32_t x30 = ((uint32_t)x28 & 0x3fffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x22);
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x21);
- uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x20);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x19);
- uint32_t x44 = (uint32_t) (x43 >> 0x16);
- uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x16);
- uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- uint64_t x52 = (x27 + ((uint64_t)0x11 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x16);
- uint32_t x57 = (x55 & 0x3fffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.v
deleted file mode 100644
index 403c4c74f..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fesub.c b/src/Specific/solinas32_2e198m17_9limbs/fesub.c
deleted file mode 100644
index d591ab209..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7fffde + x5) - x21);
- out[1] = ((0x7ffffe + x7) - x23);
- out[2] = ((0x7ffffe + x9) - x25);
- out[3] = ((0x7ffffe + x11) - x27);
- out[4] = ((0x7ffffe + x13) - x29);
- out[5] = ((0x7ffffe + x15) - x31);
- out[6] = ((0x7ffffe + x17) - x33);
- out[7] = ((0x7ffffe + x19) - x35);
- out[8] = ((0x7ffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fesub.v b/src/Specific/solinas32_2e198m17_9limbs/fesub.v
deleted file mode 100644
index d9db93bed..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.log
deleted file mode 100644
index 16ff09f9d..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7ffffe + x18) - x34), ((0x7ffffe + x19) - x35), ((0x7ffffe + x17) - x33), ((0x7ffffe + x15) - x31), ((0x7ffffe + x13) - x29), ((0x7ffffe + x11) - x27), ((0x7ffffe + x9) - x25), ((0x7ffffe + x7) - x23), ((0x7fffde + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.v
deleted file mode 100644
index 5d1a252a1..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e198m17_9limbs/freeze.c b/src/Specific/solinas32_2e198m17_9limbs/freeze.c
deleted file mode 100644
index 869e5f82d..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffef);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3fffef);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x3fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x3fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x3fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x3fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x3fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x3fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x3fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e198m17_9limbs/freeze.v b/src/Specific/solinas32_2e198m17_9limbs/freeze.v
deleted file mode 100644
index c61727074..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.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_2e198m17_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.log
deleted file mode 100644
index e249734b6..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffef);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3fffef);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x3fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x3fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x3fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x3fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x3fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x3fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x3fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.v
deleted file mode 100644
index 98bd3a044..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e198m17_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e198m17_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e198m17_9limbs/py_interpreter.sh
deleted file mode 100755
index 21efd4b00..000000000
--- a/src/Specific/solinas32_2e198m17_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**198 - 17' -Dmodulus_bytes='22' -Da24='121665'
diff --git a/src/Specific/solinas32_2e206m5_8limbs/CurveParameters.v b/src/Specific/solinas32_2e206m5_8limbs/CurveParameters.v
deleted file mode 100644
index ffb4e025d..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^206 - 5
-Base: 25.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 25 + 3/4;
- bitwidth := 32;
- s := 2^206;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e206m5_8limbs/Synthesis.v b/src/Specific/solinas32_2e206m5_8limbs/Synthesis.v
deleted file mode 100644
index e6c4f42de..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/compiler.sh b/src/Specific/solinas32_2e206m5_8limbs/compiler.sh
deleted file mode 100755
index 62224c306..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas32_2e206m5_8limbs/compilerxx.sh b/src/Specific/solinas32_2e206m5_8limbs/compilerxx.sh
deleted file mode 100755
index 7072af09a..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas32_2e206m5_8limbs/feadd.c b/src/Specific/solinas32_2e206m5_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_8limbs/feadd.v b/src/Specific/solinas32_2e206m5_8limbs/feadd.v
deleted file mode 100644
index c16d5ff4c..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.v
deleted file mode 100644
index 29caa7929..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fecarry.v b/src/Specific/solinas32_2e206m5_8limbs/fecarry.v
deleted file mode 100644
index 777ea1822..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e206m5_8limbs/fecarryDisplay.v
deleted file mode 100644
index aaf073260..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e206m5_8limbs/femul.c b/src/Specific/solinas32_2e206m5_8limbs/femul.c
deleted file mode 100644
index 05e571707..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x5 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x5 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x5 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x5 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x5 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x5 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x1a);
- { uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x1a);
- { uint32_t x44 = ((uint32_t)x42 & 0x3ffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x1a);
- { uint32_t x47 = ((uint32_t)x45 & 0x3ffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x19);
- { uint32_t x50 = ((uint32_t)x48 & 0x1ffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x1a);
- { uint32_t x53 = ((uint32_t)x51 & 0x3ffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x1a);
- { uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x1a);
- { uint32_t x59 = ((uint32_t)x57 & 0x3ffffff);
- { uint64_t x60 = (x58 + x32);
- { uint64_t x61 = (x60 >> 0x19);
- { uint32_t x62 = ((uint32_t)x60 & 0x1ffffff);
- { uint64_t x63 = (x41 + (0x5 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x1a);
- { uint32_t x65 = ((uint32_t)x63 & 0x3ffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x1a);
- { uint32_t x68 = (x66 & 0x3ffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_8limbs/femul.v b/src/Specific/solinas32_2e206m5_8limbs/femul.v
deleted file mode 100644
index 31f2f0750..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/femulDisplay.log b/src/Specific/solinas32_2e206m5_8limbs/femulDisplay.log
deleted file mode 100644
index 63e534599..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + (((uint64_t)x15 * x21) + ((uint64_t)x17 * x19))))))) + (0x5 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x5 * ((0x2 * ((uint64_t)x17 * x30)) + (0x2 * ((uint64_t)x16 * x31)))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x30)) + ((0x2 * ((uint64_t)x17 * x31)) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x5 * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x5 * ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x5 * ((0x2 * ((uint64_t)x9 * x30)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x5 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x1a);
- uint32_t x41 = ((uint32_t)x39 & 0x3ffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x1a);
- uint32_t x44 = ((uint32_t)x42 & 0x3ffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x1a);
- uint32_t x47 = ((uint32_t)x45 & 0x3ffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x19);
- uint32_t x50 = ((uint32_t)x48 & 0x1ffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x1a);
- uint32_t x53 = ((uint32_t)x51 & 0x3ffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x1a);
- uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x1a);
- uint32_t x59 = ((uint32_t)x57 & 0x3ffffff);
- uint64_t x60 = (x58 + x32);
- uint64_t x61 = (x60 >> 0x19);
- uint32_t x62 = ((uint32_t)x60 & 0x1ffffff);
- uint64_t x63 = (x41 + (0x5 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x1a);
- uint32_t x65 = ((uint32_t)x63 & 0x3ffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x1a);
- uint32_t x68 = (x66 & 0x3ffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_8limbs/femulDisplay.v b/src/Specific/solinas32_2e206m5_8limbs/femulDisplay.v
deleted file mode 100644
index 205110d4b..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fesquare.c b/src/Specific/solinas32_2e206m5_8limbs/fesquare.c
deleted file mode 100644
index 0be1a7e70..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x5 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x1a);
- { uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x1a);
- { uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x15);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x24 + (0x5 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = (x49 & 0x3ffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fesquare.v b/src/Specific/solinas32_2e206m5_8limbs/fesquare.v
deleted file mode 100644
index 22bf36d41..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.log
deleted file mode 100644
index 725782e55..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x5 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * ((0x2 * ((uint64_t)x14 * x13)) + (0x2 * ((uint64_t)x13 * x14)))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x13)) + ((0x2 * ((uint64_t)x14 * x14)) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x13)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x1a);
- uint32_t x24 = ((uint32_t)x22 & 0x3ffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x1a);
- uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x15);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x24 + (0x5 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x1a);
- uint32_t x51 = (x49 & 0x3ffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.v
deleted file mode 100644
index 75c5cd16c..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fesub.c b/src/Specific/solinas32_2e206m5_8limbs/fesub.c
deleted file mode 100644
index c0c7ec7b8..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x7fffff6 + x5) - x19);
- out[1] = ((0x7fffffe + x7) - x21);
- out[2] = ((0x7fffffe + x9) - x23);
- out[3] = ((0x3fffffe + x11) - x25);
- out[4] = ((0x7fffffe + x13) - x27);
- out[5] = ((0x7fffffe + x15) - x29);
- out[6] = ((0x7fffffe + x17) - x31);
- out[7] = ((0x3fffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fesub.v b/src/Specific/solinas32_2e206m5_8limbs/fesub.v
deleted file mode 100644
index d26b4f7ee..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.log
deleted file mode 100644
index 3dd042f02..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x3fffffe + x16) - x30), ((0x7fffffe + x17) - x31), ((0x7fffffe + x15) - x29), ((0x7fffffe + x13) - x27), ((0x3fffffe + x11) - x25), ((0x7fffffe + x9) - x23), ((0x7fffffe + x7) - x21), ((0x7fffff6 + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.v
deleted file mode 100644
index 12bf2fb8f..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e206m5_8limbs/freeze.c b/src/Specific/solinas32_2e206m5_8limbs/freeze.c
deleted file mode 100644
index b595e6712..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1ffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x3ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x3ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x1ffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x3fffffb);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x3ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x1ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x3ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x3ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x1ffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_8limbs/freeze.v b/src/Specific/solinas32_2e206m5_8limbs/freeze.v
deleted file mode 100644
index 302bfef65..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.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_2e206m5_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.log
deleted file mode 100644
index 83b10aa8a..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x1ffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x3ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x3ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x1ffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x3fffffb);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x3ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x1ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x3ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x3ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x1ffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.v
deleted file mode 100644
index eba4ff820..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e206m5_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e206m5_8limbs/py_interpreter.sh
deleted file mode 100755
index a7f4db74a..000000000
--- a/src/Specific/solinas32_2e206m5_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**206 - 5' -Dmodulus_bytes='25.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e206m5_9limbs/CurveParameters.v b/src/Specific/solinas32_2e206m5_9limbs/CurveParameters.v
deleted file mode 100644
index 23426fa78..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^206 - 5
-Base: 22 + 8/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 22 + 8/9;
- bitwidth := 32;
- s := 2^206;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e206m5_9limbs/Synthesis.v b/src/Specific/solinas32_2e206m5_9limbs/Synthesis.v
deleted file mode 100644
index 9da8fd388..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/compiler.sh b/src/Specific/solinas32_2e206m5_9limbs/compiler.sh
deleted file mode 100755
index 64c441be6..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas32_2e206m5_9limbs/compilerxx.sh b/src/Specific/solinas32_2e206m5_9limbs/compilerxx.sh
deleted file mode 100755
index 3b6d007f1..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,22}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas32_2e206m5_9limbs/feadd.c b/src/Specific/solinas32_2e206m5_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_9limbs/feadd.v b/src/Specific/solinas32_2e206m5_9limbs/feadd.v
deleted file mode 100644
index cab39f267..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.v
deleted file mode 100644
index fd25cad8d..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fecarry.v b/src/Specific/solinas32_2e206m5_9limbs/fecarry.v
deleted file mode 100644
index c31925ee8..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e206m5_9limbs/fecarryDisplay.v
deleted file mode 100644
index c56780361..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e206m5_9limbs/femul.c b/src/Specific/solinas32_2e206m5_9limbs/femul.c
deleted file mode 100644
index ed4a4983c..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x5 * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x5 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x5 * ((0x2 * ((uint64_t)x17 * x34)) + ((0x2 * ((uint64_t)x19 * x35)) + (0x2 * ((uint64_t)x18 * x33))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x34)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + (0x2 * ((uint64_t)x18 * x31)))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x5 * ((0x2 * ((uint64_t)x11 * x34)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + (0x2 * ((uint64_t)x18 * x27)))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x5 * ((0x2 * ((uint64_t)x9 * x34)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x5 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x17);
- { uint32_t x46 = ((uint32_t)x44 & 0x7fffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x17);
- { uint32_t x49 = ((uint32_t)x47 & 0x7fffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x17);
- { uint32_t x52 = ((uint32_t)x50 & 0x7fffff);
- { uint64_t x53 = (x51 + x41);
- { uint32_t x54 = (uint32_t) (x53 >> 0x17);
- { uint32_t x55 = ((uint32_t)x53 & 0x7fffff);
- { uint64_t x56 = (x54 + x40);
- { uint32_t x57 = (uint32_t) (x56 >> 0x17);
- { uint32_t x58 = ((uint32_t)x56 & 0x7fffff);
- { uint64_t x59 = (x57 + x39);
- { uint32_t x60 = (uint32_t) (x59 >> 0x17);
- { uint32_t x61 = ((uint32_t)x59 & 0x7fffff);
- { uint64_t x62 = (x60 + x38);
- { uint32_t x63 = (uint32_t) (x62 >> 0x17);
- { uint32_t x64 = ((uint32_t)x62 & 0x7fffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x17);
- { uint32_t x67 = ((uint32_t)x65 & 0x7fffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x16);
- { uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0x5 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x17);
- { uint32_t x73 = ((uint32_t)x71 & 0x7fffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x17);
- { uint32_t x76 = (x74 & 0x7fffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_9limbs/femul.v b/src/Specific/solinas32_2e206m5_9limbs/femul.v
deleted file mode 100644
index a9b79f3d7..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/femulDisplay.log b/src/Specific/solinas32_2e206m5_9limbs/femulDisplay.log
deleted file mode 100644
index 488601433..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x5 * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x5 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x5 * ((0x2 * ((uint64_t)x17 * x34)) + ((0x2 * ((uint64_t)x19 * x35)) + (0x2 * ((uint64_t)x18 * x33))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x5 * ((0x2 * ((uint64_t)x15 * x34)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + (0x2 * ((uint64_t)x18 * x31)))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x5 * ((0x2 * ((uint64_t)x11 * x34)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + (0x2 * ((uint64_t)x18 * x27)))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x5 * ((0x2 * ((uint64_t)x9 * x34)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x5 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x17);
- uint32_t x46 = ((uint32_t)x44 & 0x7fffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x17);
- uint32_t x49 = ((uint32_t)x47 & 0x7fffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x17);
- uint32_t x52 = ((uint32_t)x50 & 0x7fffff);
- uint64_t x53 = (x51 + x41);
- uint32_t x54 = (uint32_t) (x53 >> 0x17);
- uint32_t x55 = ((uint32_t)x53 & 0x7fffff);
- uint64_t x56 = (x54 + x40);
- uint32_t x57 = (uint32_t) (x56 >> 0x17);
- uint32_t x58 = ((uint32_t)x56 & 0x7fffff);
- uint64_t x59 = (x57 + x39);
- uint32_t x60 = (uint32_t) (x59 >> 0x17);
- uint32_t x61 = ((uint32_t)x59 & 0x7fffff);
- uint64_t x62 = (x60 + x38);
- uint32_t x63 = (uint32_t) (x62 >> 0x17);
- uint32_t x64 = ((uint32_t)x62 & 0x7fffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x17);
- uint32_t x67 = ((uint32_t)x65 & 0x7fffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x16);
- uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- uint64_t x71 = (x46 + ((uint64_t)0x5 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x17);
- uint32_t x73 = ((uint32_t)x71 & 0x7fffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x17);
- uint32_t x76 = (x74 & 0x7fffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_9limbs/femulDisplay.v b/src/Specific/solinas32_2e206m5_9limbs/femulDisplay.v
deleted file mode 100644
index fe111ff20..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fesquare.c b/src/Specific/solinas32_2e206m5_9limbs/fesquare.c
deleted file mode 100644
index afd9dbb29..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- { uint64_t 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)))))))) + (0x5 * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((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))))))) + (0x5 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * ((0x2 * ((uint64_t)x14 * x15)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x15 * x14))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x15)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x15 * x12)))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x15)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x15 * x8)))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x15)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x17);
- { uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x22);
- { uint32_t x35 = (uint32_t) (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x21);
- { uint32_t x38 = (uint32_t) (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x20);
- { uint32_t x41 = (uint32_t) (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint64_t x43 = (x41 + x19);
- { uint32_t x44 = (uint32_t) (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x17);
- { uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x16);
- { uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0x5 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x17);
- { uint32_t x57 = (x55 & 0x7fffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fesquare.v b/src/Specific/solinas32_2e206m5_9limbs/fesquare.v
deleted file mode 100644
index 98cd34d50..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.log
deleted file mode 100644
index 52d75ffb2..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- uint64_t 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)))))))) + (0x5 * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((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))))))) + (0x5 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x5 * ((0x2 * ((uint64_t)x14 * x15)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x15 * x14))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * ((0x2 * ((uint64_t)x12 * x15)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x15 * x12)))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * ((0x2 * ((uint64_t)x8 * x15)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x15 * x8)))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x15)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x17);
- uint32_t x27 = ((uint32_t)x25 & 0x7fffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x22);
- uint32_t x35 = (uint32_t) (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x21);
- uint32_t x38 = (uint32_t) (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x20);
- uint32_t x41 = (uint32_t) (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint64_t x43 = (x41 + x19);
- uint32_t x44 = (uint32_t) (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x17);
- uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x16);
- uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- uint64_t x52 = (x27 + ((uint64_t)0x5 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x17);
- uint32_t x57 = (x55 & 0x7fffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.v
deleted file mode 100644
index fd5d8c814..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fesub.c b/src/Specific/solinas32_2e206m5_9limbs/fesub.c
deleted file mode 100644
index 5801ccefa..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0xfffff6 + x5) - x21);
- out[1] = ((0xfffffe + x7) - x23);
- out[2] = ((0xfffffe + x9) - x25);
- out[3] = ((0xfffffe + x11) - x27);
- out[4] = ((0xfffffe + x13) - x29);
- out[5] = ((0xfffffe + x15) - x31);
- out[6] = ((0xfffffe + x17) - x33);
- out[7] = ((0xfffffe + x19) - x35);
- out[8] = ((0x7ffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fesub.v b/src/Specific/solinas32_2e206m5_9limbs/fesub.v
deleted file mode 100644
index a88c7e41c..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.log
deleted file mode 100644
index 16bef8d8f..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7ffffe + x18) - x34), ((0xfffffe + x19) - x35), ((0xfffffe + x17) - x33), ((0xfffffe + x15) - x31), ((0xfffffe + x13) - x29), ((0xfffffe + x11) - x27), ((0xfffffe + x9) - x25), ((0xfffffe + x7) - x23), ((0xfffff6 + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.v
deleted file mode 100644
index 2bdf9bd2b..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e206m5_9limbs/freeze.c b/src/Specific/solinas32_2e206m5_9limbs/freeze.c
deleted file mode 100644
index f8822d158..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffb);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x7fffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x7ffffb);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x7fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x7fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x7fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x7fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x7fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x7fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x3fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e206m5_9limbs/freeze.v b/src/Specific/solinas32_2e206m5_9limbs/freeze.v
deleted file mode 100644
index 20eda67fc..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.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_2e206m5_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.log
deleted file mode 100644
index de0e4e748..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffb);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x7fffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x7ffffb);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x7fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x7fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x7fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x7fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x7fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x7fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x3fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.v
deleted file mode 100644
index 52b7b0e75..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e206m5_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e206m5_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e206m5_9limbs/py_interpreter.sh
deleted file mode 100755
index e0a33f9d2..000000000
--- a/src/Specific/solinas32_2e206m5_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**206 - 5' -Dmodulus_bytes='22 + 8/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e212m29_8limbs/CurveParameters.v b/src/Specific/solinas32_2e212m29_8limbs/CurveParameters.v
deleted file mode 100644
index 608767c8b..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^212 - 29
-Base: 26.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 26 + 1/2;
- bitwidth := 32;
- s := 2^212;
- c := [(1, 29)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e212m29_8limbs/Synthesis.v b/src/Specific/solinas32_2e212m29_8limbs/Synthesis.v
deleted file mode 100644
index e8bc77753..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/compiler.sh b/src/Specific/solinas32_2e212m29_8limbs/compiler.sh
deleted file mode 100755
index c8aa071ac..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas32_2e212m29_8limbs/compilerxx.sh b/src/Specific/solinas32_2e212m29_8limbs/compilerxx.sh
deleted file mode 100755
index 64a13fb18..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas32_2e212m29_8limbs/feadd.c b/src/Specific/solinas32_2e212m29_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_8limbs/feadd.v b/src/Specific/solinas32_2e212m29_8limbs/feadd.v
deleted file mode 100644
index 70665dd31..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.v
deleted file mode 100644
index 522bba3e0..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fecarry.v b/src/Specific/solinas32_2e212m29_8limbs/fecarry.v
deleted file mode 100644
index 651f14e81..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e212m29_8limbs/fecarryDisplay.v
deleted file mode 100644
index 953ad424b..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e212m29_8limbs/femul.c b/src/Specific/solinas32_2e212m29_8limbs/femul.c
deleted file mode 100644
index bdce0055e..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x1d * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x1d * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x1d * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x1d * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- { ℤ x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x1d * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))));
- { ℤ x39 = (((uint64_t)x5 * x19) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x7 * x30)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x1b);
- { uint32_t x41 = (x39 & 0x7ffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x1a);
- { uint32_t x44 = ((uint32_t)x42 & 0x3ffffff);
- { ℤ x45 = (x43 +ℤ x37);
- { uint64_t x46 = (x45 >> 0x1b);
- { uint32_t x47 = (x45 & 0x7ffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x1a);
- { uint32_t x50 = ((uint32_t)x48 & 0x3ffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x1b);
- { uint32_t x53 = ((uint32_t)x51 & 0x7ffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x1a);
- { uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x1b);
- { uint32_t x59 = ((uint32_t)x57 & 0x7ffffff);
- { uint64_t x60 = (x58 + x32);
- { uint64_t x61 = (x60 >> 0x1a);
- { uint32_t x62 = ((uint32_t)x60 & 0x3ffffff);
- { uint64_t x63 = (x41 + (0x1d * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x1b);
- { uint32_t x65 = ((uint32_t)x63 & 0x7ffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x1a);
- { uint32_t x68 = (x66 & 0x3ffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_8limbs/femul.v b/src/Specific/solinas32_2e212m29_8limbs/femul.v
deleted file mode 100644
index a68939af1..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/femulDisplay.log b/src/Specific/solinas32_2e212m29_8limbs/femulDisplay.log
deleted file mode 100644
index 79e94597f..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + (((uint64_t)x13 * x23) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x1d * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x1d * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + (((uint64_t)x9 * x23) + ((0x2 * ((uint64_t)x11 * x21)) + ((uint64_t)x13 * x19))))) + (0x1d * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (0x1d * (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27))))));
- ℤ x37 = ((((uint64_t)x5 * x23) + ((0x2 * ((uint64_t)x7 * x21)) + ((uint64_t)x9 * x19))) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x11 * x30)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + (0x2 * ((uint64_t)x16 * x25))))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x1d * (((uint64_t)x9 * x30) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x16 * x23))))))));
- ℤ x39 = (((uint64_t)x5 * x19) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x7 * x30)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x1b);
- uint32_t x41 = (x39 & 0x7ffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x1a);
- uint32_t x44 = ((uint32_t)x42 & 0x3ffffff);
- ℤ x45 = (x43 +ℤ x37);
- uint64_t x46 = (x45 >> 0x1b);
- uint32_t x47 = (x45 & 0x7ffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x1a);
- uint32_t x50 = ((uint32_t)x48 & 0x3ffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x1b);
- uint32_t x53 = ((uint32_t)x51 & 0x7ffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x1a);
- uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x1b);
- uint32_t x59 = ((uint32_t)x57 & 0x7ffffff);
- uint64_t x60 = (x58 + x32);
- uint64_t x61 = (x60 >> 0x1a);
- uint32_t x62 = ((uint32_t)x60 & 0x3ffffff);
- uint64_t x63 = (x41 + (0x1d * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x1b);
- uint32_t x65 = ((uint32_t)x63 & 0x7ffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x1a);
- uint32_t x68 = (x66 & 0x3ffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_8limbs/femulDisplay.v b/src/Specific/solinas32_2e212m29_8limbs/femulDisplay.v
deleted file mode 100644
index e037a0935..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fesquare.c b/src/Specific/solinas32_2e212m29_8limbs/fesquare.c
deleted file mode 100644
index 0ee4a8a9e..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1d * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1d * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1d * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1d * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- { ℤ x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1d * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))));
- { ℤ x22 = (((uint64_t)x2 * x2) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x4 * x13)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x1b);
- { uint32_t x24 = (x22 & 0x7ffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x1a);
- { uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- { ℤ x28 = (x26 +ℤ x20);
- { uint64_t x29 = (x28 >> 0x1b);
- { uint32_t x30 = (x28 & 0x7ffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x1a);
- { uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x1b);
- { uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- { uint64_t x43 = (x41 + x15);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x24 + (0x1d * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = (x49 & 0x3ffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fesquare.v b/src/Specific/solinas32_2e212m29_8limbs/fesquare.v
deleted file mode 100644
index 982aec57c..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.log
deleted file mode 100644
index 8acca1388..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((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)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1d * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1d * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1d * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1d * (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10))))));
- ℤ x20 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x8 * x13)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (0x2 * ((uint64_t)x13 * x8))))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1d * (((uint64_t)x6 * x13) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((uint64_t)x13 * x6))))))));
- ℤ x22 = (((uint64_t)x2 * x2) +ℤ (0x1d *ℤ ((0x2 * ((uint64_t)x4 * x13)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x1b);
- uint32_t x24 = (x22 & 0x7ffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x1a);
- uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- ℤ x28 = (x26 +ℤ x20);
- uint64_t x29 = (x28 >> 0x1b);
- uint32_t x30 = (x28 & 0x7ffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x1a);
- uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x1b);
- uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- uint64_t x43 = (x41 + x15);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x24 + (0x1d * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x1a);
- uint32_t x51 = (x49 & 0x3ffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.v
deleted file mode 100644
index d31e2a10d..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fesub.c b/src/Specific/solinas32_2e212m29_8limbs/fesub.c
deleted file mode 100644
index fe6806c49..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0xfffffc6 + x5) - x19);
- out[1] = ((0x7fffffe + x7) - x21);
- out[2] = ((0xffffffe + x9) - x23);
- out[3] = ((0x7fffffe + x11) - x25);
- out[4] = ((0xffffffe + x13) - x27);
- out[5] = ((0x7fffffe + x15) - x29);
- out[6] = ((0xffffffe + x17) - x31);
- out[7] = ((0x7fffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fesub.v b/src/Specific/solinas32_2e212m29_8limbs/fesub.v
deleted file mode 100644
index 551b9cdaf..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.log
deleted file mode 100644
index 06372c648..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x7fffffe + x16) - x30), ((0xffffffe + x17) - x31), ((0x7fffffe + x15) - x29), ((0xffffffe + x13) - x27), ((0x7fffffe + x11) - x25), ((0xffffffe + x9) - x23), ((0x7fffffe + x7) - x21), ((0xfffffc6 + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.v
deleted file mode 100644
index fca1bf265..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e212m29_8limbs/freeze.c b/src/Specific/solinas32_2e212m29_8limbs/freeze.c
deleted file mode 100644
index 6c723743b..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffe3);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x7ffffe3);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x3ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x7ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x3ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x7ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x7ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x3ffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_8limbs/freeze.v b/src/Specific/solinas32_2e212m29_8limbs/freeze.v
deleted file mode 100644
index 0c35146ed..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.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_2e212m29_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.log
deleted file mode 100644
index a8e542125..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffe3);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x7ffffe3);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x3ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x7ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x3ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x7ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x7ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x3ffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.v
deleted file mode 100644
index d284af4b2..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e212m29_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e212m29_8limbs/py_interpreter.sh
deleted file mode 100755
index d9173c05f..000000000
--- a/src/Specific/solinas32_2e212m29_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**212 - 29' -Dmodulus_bytes='26.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e212m29_9limbs/CurveParameters.v b/src/Specific/solinas32_2e212m29_9limbs/CurveParameters.v
deleted file mode 100644
index d28740e42..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^212 - 29
-Base: 23 + 5/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 23 + 5/9;
- bitwidth := 32;
- s := 2^212;
- c := [(1, 29)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e212m29_9limbs/Synthesis.v b/src/Specific/solinas32_2e212m29_9limbs/Synthesis.v
deleted file mode 100644
index 6068e518e..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/compiler.sh b/src/Specific/solinas32_2e212m29_9limbs/compiler.sh
deleted file mode 100755
index 0446e9163..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas32_2e212m29_9limbs/compilerxx.sh b/src/Specific/solinas32_2e212m29_9limbs/compilerxx.sh
deleted file mode 100755
index 36e080ffe..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas32_2e212m29_9limbs/feadd.c b/src/Specific/solinas32_2e212m29_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_9limbs/feadd.v b/src/Specific/solinas32_2e212m29_9limbs/feadd.v
deleted file mode 100644
index 744793ca0..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.v
deleted file mode 100644
index bf21b94ba..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fecarry.v b/src/Specific/solinas32_2e212m29_9limbs/fecarry.v
deleted file mode 100644
index c9cb31db8..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e212m29_9limbs/fecarryDisplay.v
deleted file mode 100644
index 61e909f76..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e212m29_9limbs/femul.c b/src/Specific/solinas32_2e212m29_9limbs/femul.c
deleted file mode 100644
index 1ec44d2fa..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x1d * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x1d * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x1d * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x1d * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x1d * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x1d * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x1d * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x1d * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x18);
- { uint32_t x46 = ((uint32_t)x44 & 0xffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x18);
- { uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x17);
- { uint32_t x52 = ((uint32_t)x50 & 0x7fffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x18);
- { uint32_t x55 = ((uint32_t)x53 & 0xffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x17);
- { uint32_t x58 = ((uint32_t)x56 & 0x7fffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x18);
- { uint32_t x61 = ((uint32_t)x59 & 0xffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x17);
- { uint32_t x64 = ((uint32_t)x62 & 0x7fffff);
- { uint64_t x65 = (x63 + x37);
- { uint64_t x66 = (x65 >> 0x18);
- { uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x17);
- { uint32_t x70 = ((uint32_t)x68 & 0x7fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0x1d * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x18);
- { uint32_t x73 = ((uint32_t)x71 & 0xffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x18);
- { uint32_t x76 = (x74 & 0xffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_9limbs/femul.v b/src/Specific/solinas32_2e212m29_9limbs/femul.v
deleted file mode 100644
index bfa069204..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/femulDisplay.log b/src/Specific/solinas32_2e212m29_9limbs/femulDisplay.log
deleted file mode 100644
index e0951d3a5..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x1d * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x1d * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x1d * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x1d * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x1d * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x1d * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x1d * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x1d * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x18);
- uint32_t x46 = ((uint32_t)x44 & 0xffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x18);
- uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x17);
- uint32_t x52 = ((uint32_t)x50 & 0x7fffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x18);
- uint32_t x55 = ((uint32_t)x53 & 0xffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x17);
- uint32_t x58 = ((uint32_t)x56 & 0x7fffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x18);
- uint32_t x61 = ((uint32_t)x59 & 0xffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x17);
- uint32_t x64 = ((uint32_t)x62 & 0x7fffff);
- uint64_t x65 = (x63 + x37);
- uint64_t x66 = (x65 >> 0x18);
- uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x17);
- uint32_t x70 = ((uint32_t)x68 & 0x7fffff);
- uint64_t x71 = (x46 + ((uint64_t)0x1d * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x18);
- uint32_t x73 = ((uint32_t)x71 & 0xffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x18);
- uint32_t x76 = (x74 & 0xffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_9limbs/femulDisplay.v b/src/Specific/solinas32_2e212m29_9limbs/femulDisplay.v
deleted file mode 100644
index 08f524c0d..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fesquare.c b/src/Specific/solinas32_2e212m29_9limbs/fesquare.c
deleted file mode 100644
index f651debf8..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1d * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1d * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1d * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1d * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1d * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1d * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1d * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x1d * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x18);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0x1d * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x18);
- { uint32_t x57 = (x55 & 0xffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fesquare.v b/src/Specific/solinas32_2e212m29_9limbs/fesquare.v
deleted file mode 100644
index bb0afddcc..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.log
deleted file mode 100644
index f54042b88..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1d * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1d * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1d * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1d * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1d * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1d * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1d * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x1d * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x18);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x27 + ((uint64_t)0x1d * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x18);
- uint32_t x57 = (x55 & 0xffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.v
deleted file mode 100644
index ba9fca67d..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fesub.c b/src/Specific/solinas32_2e212m29_9limbs/fesub.c
deleted file mode 100644
index cfdc435d6..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x1ffffc6 + x5) - x21);
- out[1] = ((0x1fffffe + x7) - x23);
- out[2] = ((0xfffffe + x9) - x25);
- out[3] = ((0x1fffffe + x11) - x27);
- out[4] = ((0xfffffe + x13) - x29);
- out[5] = ((0x1fffffe + x15) - x31);
- out[6] = ((0xfffffe + x17) - x33);
- out[7] = ((0x1fffffe + x19) - x35);
- out[8] = ((0xfffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fesub.v b/src/Specific/solinas32_2e212m29_9limbs/fesub.v
deleted file mode 100644
index 30de65bff..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.log
deleted file mode 100644
index 3d20cc56f..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0xfffffe + x18) - x34), ((0x1fffffe + x19) - x35), ((0xfffffe + x17) - x33), ((0x1fffffe + x15) - x31), ((0xfffffe + x13) - x29), ((0x1fffffe + x11) - x27), ((0xfffffe + x9) - x25), ((0x1fffffe + x7) - x23), ((0x1ffffc6 + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.v
deleted file mode 100644
index c715cd0d8..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e212m29_9limbs/freeze.c b/src/Specific/solinas32_2e212m29_9limbs/freeze.c
deleted file mode 100644
index 9e75fa756..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe3);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0xffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0xffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0xffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0xffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0xffffe3);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0xffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x7fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x7fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0xffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x7fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e212m29_9limbs/freeze.v b/src/Specific/solinas32_2e212m29_9limbs/freeze.v
deleted file mode 100644
index db6b61d2a..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.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_2e212m29_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.log
deleted file mode 100644
index 2edc753b3..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe3);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0xffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0xffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0xffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0xffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0xffffe3);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0xffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x7fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x7fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0xffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x7fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.v
deleted file mode 100644
index 81617bc41..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e212m29_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e212m29_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e212m29_9limbs/py_interpreter.sh
deleted file mode 100755
index d070ee491..000000000
--- a/src/Specific/solinas32_2e212m29_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**212 - 29' -Dmodulus_bytes='23 + 5/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e213m3_8limbs/CurveParameters.v b/src/Specific/solinas32_2e213m3_8limbs/CurveParameters.v
deleted file mode 100644
index e68d2c787..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^213 - 3
-Base: 26.625
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 26 + 5/8;
- bitwidth := 32;
- s := 2^213;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e213m3_8limbs/Synthesis.v b/src/Specific/solinas32_2e213m3_8limbs/Synthesis.v
deleted file mode 100644
index ace9b845f..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/compiler.sh b/src/Specific/solinas32_2e213m3_8limbs/compiler.sh
deleted file mode 100755
index 21c01e7cc..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,26}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas32_2e213m3_8limbs/compilerxx.sh b/src/Specific/solinas32_2e213m3_8limbs/compilerxx.sh
deleted file mode 100755
index cfd8a2391..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,26}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas32_2e213m3_8limbs/feadd.c b/src/Specific/solinas32_2e213m3_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_8limbs/feadd.v b/src/Specific/solinas32_2e213m3_8limbs/feadd.v
deleted file mode 100644
index 893fbdcd7..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.v
deleted file mode 100644
index 9d2b2acba..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fecarry.v b/src/Specific/solinas32_2e213m3_8limbs/fecarry.v
deleted file mode 100644
index f4db12f2c..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e213m3_8limbs/fecarryDisplay.v
deleted file mode 100644
index e7bda24eb..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e213m3_8limbs/femul.c b/src/Specific/solinas32_2e213m3_8limbs/femul.c
deleted file mode 100644
index 6882c73c2..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x3 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x3 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x3 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { uint64_t x39 = (((uint64_t)x5 * x19) + (0x3 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x1b);
- { uint32_t x41 = ((uint32_t)x39 & 0x7ffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x1b);
- { uint32_t x44 = ((uint32_t)x42 & 0x7ffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x1a);
- { uint32_t x47 = ((uint32_t)x45 & 0x3ffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x1b);
- { uint32_t x50 = ((uint32_t)x48 & 0x7ffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x1b);
- { uint32_t x53 = ((uint32_t)x51 & 0x7ffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x1a);
- { uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x1b);
- { uint32_t x59 = ((uint32_t)x57 & 0x7ffffff);
- { uint64_t x60 = (x58 + x32);
- { uint64_t x61 = (x60 >> 0x1a);
- { uint32_t x62 = ((uint32_t)x60 & 0x3ffffff);
- { uint64_t x63 = (x41 + (0x3 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x1b);
- { uint32_t x65 = ((uint32_t)x63 & 0x7ffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x1b);
- { uint32_t x68 = (x66 & 0x7ffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_8limbs/femul.v b/src/Specific/solinas32_2e213m3_8limbs/femul.v
deleted file mode 100644
index 09a023c91..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/femulDisplay.log b/src/Specific/solinas32_2e213m3_8limbs/femulDisplay.log
deleted file mode 100644
index 92dccb9f6..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x3 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x3 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x3 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- uint64_t x39 = (((uint64_t)x5 * x19) + (0x3 * ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x1b);
- uint32_t x41 = ((uint32_t)x39 & 0x7ffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x1b);
- uint32_t x44 = ((uint32_t)x42 & 0x7ffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x1a);
- uint32_t x47 = ((uint32_t)x45 & 0x3ffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x1b);
- uint32_t x50 = ((uint32_t)x48 & 0x7ffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x1b);
- uint32_t x53 = ((uint32_t)x51 & 0x7ffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x1a);
- uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x1b);
- uint32_t x59 = ((uint32_t)x57 & 0x7ffffff);
- uint64_t x60 = (x58 + x32);
- uint64_t x61 = (x60 >> 0x1a);
- uint32_t x62 = ((uint32_t)x60 & 0x3ffffff);
- uint64_t x63 = (x41 + (0x3 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x1b);
- uint32_t x65 = ((uint32_t)x63 & 0x7ffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x1b);
- uint32_t x68 = (x66 & 0x7ffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_8limbs/femulDisplay.v b/src/Specific/solinas32_2e213m3_8limbs/femulDisplay.v
deleted file mode 100644
index 1a896fe4c..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fesquare.c b/src/Specific/solinas32_2e213m3_8limbs/fesquare.c
deleted file mode 100644
index 3bd305b83..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { uint64_t x22 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x1b);
- { uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x1b);
- { uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- { uint64_t x43 = (x41 + x15);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x24 + (0x3 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = (x49 & 0x7ffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fesquare.v b/src/Specific/solinas32_2e213m3_8limbs/fesquare.v
deleted file mode 100644
index fe77858dc..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.log
deleted file mode 100644
index be2417c6c..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- uint64_t x22 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x1b);
- uint32_t x24 = ((uint32_t)x22 & 0x7ffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x1b);
- uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- uint64_t x43 = (x41 + x15);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x24 + (0x3 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x1b);
- uint32_t x51 = (x49 & 0x7ffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.v
deleted file mode 100644
index a2df52f17..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fesub.c b/src/Specific/solinas32_2e213m3_8limbs/fesub.c
deleted file mode 100644
index a8d0c529a..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0xffffffa + x5) - x19);
- out[1] = ((0xffffffe + x7) - x21);
- out[2] = ((0x7fffffe + x9) - x23);
- out[3] = ((0xffffffe + x11) - x25);
- out[4] = ((0xffffffe + x13) - x27);
- out[5] = ((0x7fffffe + x15) - x29);
- out[6] = ((0xffffffe + x17) - x31);
- out[7] = ((0x7fffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fesub.v b/src/Specific/solinas32_2e213m3_8limbs/fesub.v
deleted file mode 100644
index b3694e20a..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.log
deleted file mode 100644
index 20ab6c6ca..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x7fffffe + x16) - x30), ((0xffffffe + x17) - x31), ((0x7fffffe + x15) - x29), ((0xffffffe + x13) - x27), ((0xffffffe + x11) - x25), ((0x7fffffe + x9) - x23), ((0xffffffe + x7) - x21), ((0xffffffa + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.v
deleted file mode 100644
index 998b32af5..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e213m3_8limbs/freeze.c b/src/Specific/solinas32_2e213m3_8limbs/freeze.c
deleted file mode 100644
index da544c064..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffd);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x7ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x7ffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x7fffffd);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x7ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x7ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x7ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x7ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x3ffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_8limbs/freeze.v b/src/Specific/solinas32_2e213m3_8limbs/freeze.v
deleted file mode 100644
index 352b8f5b8..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.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_2e213m3_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.log
deleted file mode 100644
index fcb19b259..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffd);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x7ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x3ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x7ffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x7fffffd);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x7ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x7ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x7ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x7ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x3ffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.v
deleted file mode 100644
index eb355cdb0..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e213m3_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e213m3_8limbs/py_interpreter.sh
deleted file mode 100755
index 6efdefa9f..000000000
--- a/src/Specific/solinas32_2e213m3_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**213 - 3' -Dmodulus_bytes='26.625' -Da24='121665'
diff --git a/src/Specific/solinas32_2e213m3_9limbs/CurveParameters.v b/src/Specific/solinas32_2e213m3_9limbs/CurveParameters.v
deleted file mode 100644
index afcbb362c..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^213 - 3
-Base: 23 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 23 + 2/3;
- bitwidth := 32;
- s := 2^213;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e213m3_9limbs/Synthesis.v b/src/Specific/solinas32_2e213m3_9limbs/Synthesis.v
deleted file mode 100644
index a74316f73..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/compiler.sh b/src/Specific/solinas32_2e213m3_9limbs/compiler.sh
deleted file mode 100755
index deb08c3bf..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas32_2e213m3_9limbs/compilerxx.sh b/src/Specific/solinas32_2e213m3_9limbs/compilerxx.sh
deleted file mode 100755
index bbc6abfe0..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas32_2e213m3_9limbs/feadd.c b/src/Specific/solinas32_2e213m3_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_9limbs/feadd.v b/src/Specific/solinas32_2e213m3_9limbs/feadd.v
deleted file mode 100644
index fbfcdf746..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.v
deleted file mode 100644
index 61ab0fbfc..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fecarry.v b/src/Specific/solinas32_2e213m3_9limbs/fecarry.v
deleted file mode 100644
index ef63ecc8b..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e213m3_9limbs/fecarryDisplay.v
deleted file mode 100644
index e65dc672c..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e213m3_9limbs/femul.c b/src/Specific/solinas32_2e213m3_9limbs/femul.c
deleted file mode 100644
index 324d182bc..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x3 * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x3 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x34)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (0x2 * ((uint64_t)x18 * x31)))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x3 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x3 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x3 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x18);
- { uint32_t x46 = ((uint32_t)x44 & 0xffffff);
- { uint64_t x47 = (x45 + x43);
- { uint32_t x48 = (uint32_t) (x47 >> 0x18);
- { uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x17);
- { uint32_t x52 = ((uint32_t)x50 & 0x7fffff);
- { uint64_t x53 = (x51 + x41);
- { uint32_t x54 = (uint32_t) (x53 >> 0x18);
- { uint32_t x55 = ((uint32_t)x53 & 0xffffff);
- { uint64_t x56 = (x54 + x40);
- { uint32_t x57 = (uint32_t) (x56 >> 0x18);
- { uint32_t x58 = ((uint32_t)x56 & 0xffffff);
- { uint64_t x59 = (x57 + x39);
- { uint32_t x60 = (uint32_t) (x59 >> 0x17);
- { uint32_t x61 = ((uint32_t)x59 & 0x7fffff);
- { uint64_t x62 = (x60 + x38);
- { uint32_t x63 = (uint32_t) (x62 >> 0x18);
- { uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x18);
- { uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- { uint64_t x68 = (x66 + x36);
- { uint32_t x69 = (uint32_t) (x68 >> 0x17);
- { uint32_t x70 = ((uint32_t)x68 & 0x7fffff);
- { uint64_t x71 = (x46 + ((uint64_t)0x3 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x18);
- { uint32_t x73 = ((uint32_t)x71 & 0xffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x18);
- { uint32_t x76 = (x74 & 0xffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_9limbs/femul.v b/src/Specific/solinas32_2e213m3_9limbs/femul.v
deleted file mode 100644
index 75f619b40..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/femulDisplay.log b/src/Specific/solinas32_2e213m3_9limbs/femulDisplay.log
deleted file mode 100644
index d89c7fb60..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x3 * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x3 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x34)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (0x2 * ((uint64_t)x18 * x31)))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x3 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x3 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x3 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x18);
- uint32_t x46 = ((uint32_t)x44 & 0xffffff);
- uint64_t x47 = (x45 + x43);
- uint32_t x48 = (uint32_t) (x47 >> 0x18);
- uint32_t x49 = ((uint32_t)x47 & 0xffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x17);
- uint32_t x52 = ((uint32_t)x50 & 0x7fffff);
- uint64_t x53 = (x51 + x41);
- uint32_t x54 = (uint32_t) (x53 >> 0x18);
- uint32_t x55 = ((uint32_t)x53 & 0xffffff);
- uint64_t x56 = (x54 + x40);
- uint32_t x57 = (uint32_t) (x56 >> 0x18);
- uint32_t x58 = ((uint32_t)x56 & 0xffffff);
- uint64_t x59 = (x57 + x39);
- uint32_t x60 = (uint32_t) (x59 >> 0x17);
- uint32_t x61 = ((uint32_t)x59 & 0x7fffff);
- uint64_t x62 = (x60 + x38);
- uint32_t x63 = (uint32_t) (x62 >> 0x18);
- uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x18);
- uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- uint64_t x68 = (x66 + x36);
- uint32_t x69 = (uint32_t) (x68 >> 0x17);
- uint32_t x70 = ((uint32_t)x68 & 0x7fffff);
- uint64_t x71 = (x46 + ((uint64_t)0x3 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x18);
- uint32_t x73 = ((uint32_t)x71 & 0xffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x18);
- uint32_t x76 = (x74 & 0xffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_9limbs/femulDisplay.v b/src/Specific/solinas32_2e213m3_9limbs/femulDisplay.v
deleted file mode 100644
index 1324dc802..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fesquare.c b/src/Specific/solinas32_2e213m3_9limbs/fesquare.c
deleted file mode 100644
index 04143ef6a..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x3 * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x15)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x15 * x12)))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x18);
- { uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- { uint64_t x28 = (x26 + x24);
- { uint32_t x29 = (uint32_t) (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x22);
- { uint32_t x35 = (uint32_t) (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x21);
- { uint32_t x38 = (uint32_t) (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x20);
- { uint32_t x41 = (uint32_t) (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint64_t x43 = (x41 + x19);
- { uint32_t x44 = (uint32_t) (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x17);
- { uint32_t x50 = (uint32_t) (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x27 + ((uint64_t)0x3 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x18);
- { uint32_t x57 = (x55 & 0xffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fesquare.v b/src/Specific/solinas32_2e213m3_9limbs/fesquare.v
deleted file mode 100644
index a012664f4..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.log
deleted file mode 100644
index 216a0cea8..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x3 * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x15)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x15 * x12)))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x18);
- uint32_t x27 = ((uint32_t)x25 & 0xffffff);
- uint64_t x28 = (x26 + x24);
- uint32_t x29 = (uint32_t) (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x22);
- uint32_t x35 = (uint32_t) (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x21);
- uint32_t x38 = (uint32_t) (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x20);
- uint32_t x41 = (uint32_t) (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint64_t x43 = (x41 + x19);
- uint32_t x44 = (uint32_t) (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x17);
- uint32_t x50 = (uint32_t) (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x27 + ((uint64_t)0x3 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x18);
- uint32_t x57 = (x55 & 0xffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.v
deleted file mode 100644
index 48bea70a3..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fesub.c b/src/Specific/solinas32_2e213m3_9limbs/fesub.c
deleted file mode 100644
index 11df94aa2..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x1fffffa + x5) - x21);
- out[1] = ((0x1fffffe + x7) - x23);
- out[2] = ((0xfffffe + x9) - x25);
- out[3] = ((0x1fffffe + x11) - x27);
- out[4] = ((0x1fffffe + x13) - x29);
- out[5] = ((0xfffffe + x15) - x31);
- out[6] = ((0x1fffffe + x17) - x33);
- out[7] = ((0x1fffffe + x19) - x35);
- out[8] = ((0xfffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fesub.v b/src/Specific/solinas32_2e213m3_9limbs/fesub.v
deleted file mode 100644
index 7ca08daa4..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.log
deleted file mode 100644
index 3e656b07a..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0xfffffe + x18) - x34), ((0x1fffffe + x19) - x35), ((0x1fffffe + x17) - x33), ((0xfffffe + x15) - x31), ((0x1fffffe + x13) - x29), ((0x1fffffe + x11) - x27), ((0xfffffe + x9) - x25), ((0x1fffffe + x7) - x23), ((0x1fffffa + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.v
deleted file mode 100644
index b19c9641c..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e213m3_9limbs/freeze.c b/src/Specific/solinas32_2e213m3_9limbs/freeze.c
deleted file mode 100644
index de950d54f..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffd);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0xffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0xffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0xffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0xffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0xffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0xfffffd);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0xffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0xffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x7fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0xffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x7fffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e213m3_9limbs/freeze.v b/src/Specific/solinas32_2e213m3_9limbs/freeze.v
deleted file mode 100644
index 238bb4b42..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.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_2e213m3_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.log
deleted file mode 100644
index d2d337856..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffd);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0xffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0xffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0xffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0xffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0xffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0xfffffd);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0xffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0xffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x7fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0xffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x7fffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.v
deleted file mode 100644
index 2129057a8..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e213m3_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e213m3_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e213m3_9limbs/py_interpreter.sh
deleted file mode 100755
index fa919b1f7..000000000
--- a/src/Specific/solinas32_2e213m3_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**213 - 3' -Dmodulus_bytes='23 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/CurveParameters.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/CurveParameters.v
deleted file mode 100644
index bb4a23959..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^216 - 2^108 - 1
-Base: 21.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 21 + 3/5;
- bitwidth := 32;
- s := 2^216;
- c := [(1, 1); (2^108, 1)];
- carry_chains := Some [[4; 9]; [5; 0; 6; 1; 7; 2; 8; 3; 9; 4]; [5; 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_2e216m2e108m1_10limbs/Synthesis.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/Synthesis.v
deleted file mode 100644
index 5ba21dd82..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/compiler.sh b/src/Specific/solinas32_2e216m2e108m1_10limbs/compiler.sh
deleted file mode 100755
index 4bd8030d8..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,22,21,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/compilerxx.sh b/src/Specific/solinas32_2e216m2e108m1_10limbs/compilerxx.sh
deleted file mode 100755
index 2c09d6911..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,22,21,22,21,22,22,21,22,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.c b/src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.v
deleted file mode 100644
index 17083aa6e..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.v
deleted file mode 100644
index d245c0ca3..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fecarry.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/fecarry.v
deleted file mode 100644
index f21fedaf1..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index dc288d9e7..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/femul.c b/src/Specific/solinas32_2e216m2e108m1_10limbs/femul.c
deleted file mode 100644
index 55f8155cd..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/femul.c
+++ /dev/null
@@ -1,97 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = ((0x2 * ((uint64_t)(x13 + x20) * (x31 + x38))) - (0x2 * ((uint64_t)x13 * x31)));
- { uint64_t x41 = ((((uint64_t)(x11 + x21) * (x31 + x38)) + ((uint64_t)(x13 + x20) * (x29 + x39))) - (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29)));
- { uint64_t x42 = (((0x2 * ((uint64_t)(x9 + x19) * (x31 + x38))) + (((uint64_t)(x11 + x21) * (x29 + x39)) + (0x2 * ((uint64_t)(x13 + x20) * (x27 + x37))))) - ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (0x2 * ((uint64_t)x13 * x27)))));
- { uint64_t x43 = (((0x2 * ((uint64_t)(x7 + x17) * (x31 + x38))) + ((0x2 * ((uint64_t)(x9 + x19) * (x29 + x39))) + ((0x2 * ((uint64_t)(x11 + x21) * (x27 + x37))) + (0x2 * ((uint64_t)(x13 + x20) * (x25 + x35)))))) - ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + (0x2 * ((uint64_t)x13 * x25))))));
- { uint64_t x44 = ((((uint64_t)(x5 + x15) * (x31 + x38)) + (((uint64_t)(x7 + x17) * (x29 + x39)) + ((0x2 * ((uint64_t)(x9 + x19) * (x27 + x37))) + (((uint64_t)(x11 + x21) * (x25 + x35)) + ((uint64_t)(x13 + x20) * (x23 + x33)))))) - (((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))));
- { uint64_t x45 = ((((uint64_t)(x5 + x15) * (x29 + x39)) + ((0x2 * ((uint64_t)(x7 + x17) * (x27 + x37))) + ((0x2 * ((uint64_t)(x9 + x19) * (x25 + x35))) + ((uint64_t)(x11 + x21) * (x23 + x33))))) - (((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))));
- { uint64_t x46 = ((((uint64_t)(x5 + x15) * (x27 + x37)) + (((uint64_t)(x7 + x17) * (x25 + x35)) + ((uint64_t)(x9 + x19) * (x23 + x33)))) - (((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))));
- { uint64_t x47 = ((((uint64_t)(x5 + x15) * (x25 + x35)) + ((uint64_t)(x7 + x17) * (x23 + x33))) - (((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)));
- { uint64_t x48 = (((uint64_t)(x5 + x15) * (x23 + x33)) - ((uint64_t)x5 * x23));
- { uint64_t x49 = ((((0x2 * ((uint64_t)x13 * x31)) + (0x2 * ((uint64_t)x20 * x38))) + x45) + x40);
- { uint64_t x50 = ((((((uint64_t)x11 * x31) + ((uint64_t)x13 * x29)) + (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))) + x46) + x41);
- { uint64_t x51 = (((((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (0x2 * ((uint64_t)x13 * x27)))) + ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))) + x47) + x42);
- { uint64_t x52 = (((((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + (0x2 * ((uint64_t)x13 * x25))))) + ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))) + x48) + x43);
- { uint64_t x53 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33))))));
- { uint64_t x54 = (((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x21 * x33))))) + x40);
- { uint64_t x55 = (((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((uint64_t)x19 * x33)))) + x41);
- { uint64_t x56 = (((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))) + x42);
- { uint64_t x57 = ((((uint64_t)x5 * x23) + ((uint64_t)x15 * x33)) + x43);
- { uint32_t x58 = (uint32_t) (x53 >> 0x15);
- { uint32_t x59 = ((uint32_t)x53 & 0x1fffff);
- { uint32_t x60 = (uint32_t) (x44 >> 0x15);
- { uint32_t x61 = ((uint32_t)x44 & 0x1fffff);
- { uint64_t x62 = (((uint64_t)0x200000 * x60) + x61);
- { uint32_t x63 = (uint32_t) (x62 >> 0x15);
- { uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- { uint64_t x65 = ((x58 + x52) + x63);
- { uint32_t x66 = (uint32_t) (x65 >> 0x16);
- { uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- { uint64_t x68 = (x57 + x63);
- { uint32_t x69 = (uint32_t) (x68 >> 0x16);
- { uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- { uint64_t x71 = (x66 + x51);
- { uint32_t x72 = (uint32_t) (x71 >> 0x16);
- { uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- { uint64_t x74 = (x69 + x56);
- { uint32_t x75 = (uint32_t) (x74 >> 0x16);
- { uint32_t x76 = ((uint32_t)x74 & 0x3fffff);
- { uint64_t x77 = (x72 + x50);
- { uint32_t x78 = (uint32_t) (x77 >> 0x15);
- { uint32_t x79 = ((uint32_t)x77 & 0x1fffff);
- { uint64_t x80 = (x75 + x55);
- { uint32_t x81 = (uint32_t) (x80 >> 0x15);
- { uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
- { uint64_t x83 = (x78 + x49);
- { uint32_t x84 = (uint32_t) (x83 >> 0x16);
- { uint32_t x85 = ((uint32_t)x83 & 0x3fffff);
- { uint64_t x86 = (x81 + x54);
- { uint32_t x87 = (uint32_t) (x86 >> 0x16);
- { uint32_t x88 = ((uint32_t)x86 & 0x3fffff);
- { uint32_t x89 = (x84 + x64);
- { uint32_t x90 = (x89 >> 0x15);
- { uint32_t x91 = (x89 & 0x1fffff);
- { uint32_t x92 = (x87 + x59);
- { uint32_t x93 = (x92 >> 0x15);
- { uint32_t x94 = (x92 & 0x1fffff);
- { uint32_t x95 = ((0x200000 * x90) + x91);
- { uint32_t x96 = (x95 >> 0x15);
- { uint32_t x97 = (x95 & 0x1fffff);
- { uint32_t x98 = ((x93 + x67) + x96);
- { uint32_t x99 = (x98 >> 0x16);
- { uint32_t x100 = (x98 & 0x3fffff);
- { uint32_t x101 = (x70 + x96);
- { uint32_t x102 = (x101 >> 0x16);
- { uint32_t x103 = (x101 & 0x3fffff);
- out[0] = x103;
- out[1] = (x102 + x76);
- out[2] = x82;
- out[3] = x88;
- out[4] = x94;
- out[5] = x100;
- out[6] = (x99 + x73);
- out[7] = x79;
- out[8] = x85;
- out[9] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/femul.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/femul.v
deleted file mode 100644
index 2232168df..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/femulDisplay.log b/src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.log
deleted file mode 100644
index 5dfdeb51e..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = ((0x2 * ((uint64_t)(x13 + x20) * (x31 + x38))) - (0x2 * ((uint64_t)x13 * x31)));
- uint64_t x41 = ((((uint64_t)(x11 + x21) * (x31 + x38)) + ((uint64_t)(x13 + x20) * (x29 + x39))) - (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29)));
- uint64_t x42 = (((0x2 * ((uint64_t)(x9 + x19) * (x31 + x38))) + (((uint64_t)(x11 + x21) * (x29 + x39)) + (0x2 * ((uint64_t)(x13 + x20) * (x27 + x37))))) - ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (0x2 * ((uint64_t)x13 * x27)))));
- uint64_t x43 = (((0x2 * ((uint64_t)(x7 + x17) * (x31 + x38))) + ((0x2 * ((uint64_t)(x9 + x19) * (x29 + x39))) + ((0x2 * ((uint64_t)(x11 + x21) * (x27 + x37))) + (0x2 * ((uint64_t)(x13 + x20) * (x25 + x35)))))) - ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + (0x2 * ((uint64_t)x13 * x25))))));
- uint64_t x44 = ((((uint64_t)(x5 + x15) * (x31 + x38)) + (((uint64_t)(x7 + x17) * (x29 + x39)) + ((0x2 * ((uint64_t)(x9 + x19) * (x27 + x37))) + (((uint64_t)(x11 + x21) * (x25 + x35)) + ((uint64_t)(x13 + x20) * (x23 + x33)))))) - (((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))));
- uint64_t x45 = ((((uint64_t)(x5 + x15) * (x29 + x39)) + ((0x2 * ((uint64_t)(x7 + x17) * (x27 + x37))) + ((0x2 * ((uint64_t)(x9 + x19) * (x25 + x35))) + ((uint64_t)(x11 + x21) * (x23 + x33))))) - (((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))));
- uint64_t x46 = ((((uint64_t)(x5 + x15) * (x27 + x37)) + (((uint64_t)(x7 + x17) * (x25 + x35)) + ((uint64_t)(x9 + x19) * (x23 + x33)))) - (((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))));
- uint64_t x47 = ((((uint64_t)(x5 + x15) * (x25 + x35)) + ((uint64_t)(x7 + x17) * (x23 + x33))) - (((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)));
- uint64_t x48 = (((uint64_t)(x5 + x15) * (x23 + x33)) - ((uint64_t)x5 * x23));
- uint64_t x49 = ((((0x2 * ((uint64_t)x13 * x31)) + (0x2 * ((uint64_t)x20 * x38))) + x45) + x40);
- uint64_t x50 = ((((((uint64_t)x11 * x31) + ((uint64_t)x13 * x29)) + (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))) + x46) + x41);
- uint64_t x51 = (((((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (0x2 * ((uint64_t)x13 * x27)))) + ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))) + x47) + x42);
- uint64_t x52 = (((((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + (0x2 * ((uint64_t)x13 * x25))))) + ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))) + x48) + x43);
- uint64_t x53 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33))))));
- uint64_t x54 = (((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x21 * x33))))) + x40);
- uint64_t x55 = (((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((uint64_t)x19 * x33)))) + x41);
- uint64_t x56 = (((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))) + x42);
- uint64_t x57 = ((((uint64_t)x5 * x23) + ((uint64_t)x15 * x33)) + x43);
- uint32_t x58 = (uint32_t) (x53 >> 0x15);
- uint32_t x59 = ((uint32_t)x53 & 0x1fffff);
- uint32_t x60 = (uint32_t) (x44 >> 0x15);
- uint32_t x61 = ((uint32_t)x44 & 0x1fffff);
- uint64_t x62 = (((uint64_t)0x200000 * x60) + x61);
- uint32_t x63 = (uint32_t) (x62 >> 0x15);
- uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- uint64_t x65 = ((x58 + x52) + x63);
- uint32_t x66 = (uint32_t) (x65 >> 0x16);
- uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- uint64_t x68 = (x57 + x63);
- uint32_t x69 = (uint32_t) (x68 >> 0x16);
- uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- uint64_t x71 = (x66 + x51);
- uint32_t x72 = (uint32_t) (x71 >> 0x16);
- uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- uint64_t x74 = (x69 + x56);
- uint32_t x75 = (uint32_t) (x74 >> 0x16);
- uint32_t x76 = ((uint32_t)x74 & 0x3fffff);
- uint64_t x77 = (x72 + x50);
- uint32_t x78 = (uint32_t) (x77 >> 0x15);
- uint32_t x79 = ((uint32_t)x77 & 0x1fffff);
- uint64_t x80 = (x75 + x55);
- uint32_t x81 = (uint32_t) (x80 >> 0x15);
- uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
- uint64_t x83 = (x78 + x49);
- uint32_t x84 = (uint32_t) (x83 >> 0x16);
- uint32_t x85 = ((uint32_t)x83 & 0x3fffff);
- uint64_t x86 = (x81 + x54);
- uint32_t x87 = (uint32_t) (x86 >> 0x16);
- uint32_t x88 = ((uint32_t)x86 & 0x3fffff);
- uint32_t x89 = (x84 + x64);
- uint32_t x90 = (x89 >> 0x15);
- uint32_t x91 = (x89 & 0x1fffff);
- uint32_t x92 = (x87 + x59);
- uint32_t x93 = (x92 >> 0x15);
- uint32_t x94 = (x92 & 0x1fffff);
- uint32_t x95 = ((0x200000 * x90) + x91);
- uint32_t x96 = (x95 >> 0x15);
- uint32_t x97 = (x95 & 0x1fffff);
- uint32_t x98 = ((x93 + x67) + x96);
- uint32_t x99 = (x98 >> 0x16);
- uint32_t x100 = (x98 & 0x3fffff);
- uint32_t x101 = (x70 + x96);
- uint32_t x102 = (x101 >> 0x16);
- uint32_t x103 = (x101 & 0x3fffff);
- return (Return x97, Return x85, Return x79, (x99 + x73), Return x100, Return x94, Return x88, Return x82, (x102 + x76), Return x103))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.v
deleted file mode 100644
index ef7cd3293..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.c b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.c
deleted file mode 100644
index f38e5623d..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.c
+++ /dev/null
@@ -1,87 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = ((0x2 * ((uint64_t)(x10 + x17) * (x10 + x17))) - (0x2 * ((uint64_t)x10 * x10)));
- { uint64_t x20 = ((((uint64_t)(x8 + x18) * (x10 + x17)) + ((uint64_t)(x10 + x17) * (x8 + x18))) - (((uint64_t)x8 * x10) + ((uint64_t)x10 * x8)));
- { uint64_t x21 = (((0x2 * ((uint64_t)(x6 + x16) * (x10 + x17))) + (((uint64_t)(x8 + x18) * (x8 + x18)) + (0x2 * ((uint64_t)(x10 + x17) * (x6 + x16))))) - ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + (0x2 * ((uint64_t)x10 * x6)))));
- { uint64_t x22 = (((0x2 * ((uint64_t)(x4 + x14) * (x10 + x17))) + ((0x2 * ((uint64_t)(x6 + x16) * (x8 + x18))) + ((0x2 * ((uint64_t)(x8 + x18) * (x6 + x16))) + (0x2 * ((uint64_t)(x10 + x17) * (x4 + x14)))))) - ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x10 * x4))))));
- { uint64_t x23 = ((((uint64_t)(x2 + x12) * (x10 + x17)) + (((uint64_t)(x4 + x14) * (x8 + x18)) + ((0x2 * ((uint64_t)(x6 + x16) * (x6 + x16))) + (((uint64_t)(x8 + x18) * (x4 + x14)) + ((uint64_t)(x10 + x17) * (x2 + x12)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x24 = ((((uint64_t)(x2 + x12) * (x8 + x18)) + ((0x2 * ((uint64_t)(x4 + x14) * (x6 + x16))) + ((0x2 * ((uint64_t)(x6 + x16) * (x4 + x14))) + ((uint64_t)(x8 + x18) * (x2 + x12))))) - (((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))));
- { uint64_t x25 = ((((uint64_t)(x2 + x12) * (x6 + x16)) + (((uint64_t)(x4 + x14) * (x4 + x14)) + ((uint64_t)(x6 + x16) * (x2 + x12)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x26 = ((((uint64_t)(x2 + x12) * (x4 + x14)) + ((uint64_t)(x4 + x14) * (x2 + x12))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x27 = (((uint64_t)(x2 + x12) * (x2 + x12)) - ((uint64_t)x2 * x2));
- { uint64_t x28 = ((((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x17 * x17))) + x24) + x19);
- { uint64_t x29 = ((((((uint64_t)x8 * x10) + ((uint64_t)x10 * x8)) + (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))) + x25) + x20);
- { uint64_t x30 = (((((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + (0x2 * ((uint64_t)x10 * x6)))) + ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))) + x26) + x21);
- { uint64_t x31 = (((((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x10 * x4))))) + ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))) + x27) + x22);
- { uint64_t x32 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12))))));
- { uint64_t x33 = (((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((uint64_t)x18 * x12))))) + x19);
- { uint64_t x34 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + ((uint64_t)x16 * x12)))) + x20);
- { uint64_t x35 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x12 * x14) + ((uint64_t)x14 * x12))) + x21);
- { uint64_t x36 = ((((uint64_t)x2 * x2) + ((uint64_t)x12 * x12)) + x22);
- { uint32_t x37 = (uint32_t) (x32 >> 0x15);
- { uint32_t x38 = ((uint32_t)x32 & 0x1fffff);
- { uint32_t x39 = (uint32_t) (x23 >> 0x15);
- { uint32_t x40 = ((uint32_t)x23 & 0x1fffff);
- { uint64_t x41 = (((uint64_t)0x200000 * x39) + x40);
- { uint32_t x42 = (uint32_t) (x41 >> 0x15);
- { uint32_t x43 = ((uint32_t)x41 & 0x1fffff);
- { uint64_t x44 = ((x37 + x31) + x42);
- { uint32_t x45 = (uint32_t) (x44 >> 0x16);
- { uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- { uint64_t x47 = (x36 + x42);
- { uint32_t x48 = (uint32_t) (x47 >> 0x16);
- { uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- { uint64_t x50 = (x45 + x30);
- { uint32_t x51 = (uint32_t) (x50 >> 0x16);
- { uint32_t x52 = ((uint32_t)x50 & 0x3fffff);
- { uint64_t x53 = (x48 + x35);
- { uint32_t x54 = (uint32_t) (x53 >> 0x16);
- { uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- { uint64_t x56 = (x51 + x29);
- { uint32_t x57 = (uint32_t) (x56 >> 0x15);
- { uint32_t x58 = ((uint32_t)x56 & 0x1fffff);
- { uint64_t x59 = (x54 + x34);
- { uint32_t x60 = (uint32_t) (x59 >> 0x15);
- { uint32_t x61 = ((uint32_t)x59 & 0x1fffff);
- { uint64_t x62 = (x57 + x28);
- { uint32_t x63 = (uint32_t) (x62 >> 0x16);
- { uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
- { uint64_t x65 = (x60 + x33);
- { uint32_t x66 = (uint32_t) (x65 >> 0x16);
- { uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- { uint32_t x68 = (x63 + x43);
- { uint32_t x69 = (x68 >> 0x15);
- { uint32_t x70 = (x68 & 0x1fffff);
- { uint32_t x71 = (x66 + x38);
- { uint32_t x72 = (x71 >> 0x15);
- { uint32_t x73 = (x71 & 0x1fffff);
- { uint32_t x74 = ((0x200000 * x69) + x70);
- { uint32_t x75 = (x74 >> 0x15);
- { uint32_t x76 = (x74 & 0x1fffff);
- { uint32_t x77 = ((x72 + x46) + x75);
- { uint32_t x78 = (x77 >> 0x16);
- { uint32_t x79 = (x77 & 0x3fffff);
- { uint32_t x80 = (x49 + x75);
- { uint32_t x81 = (x80 >> 0x16);
- { uint32_t x82 = (x80 & 0x3fffff);
- out[0] = x82;
- out[1] = (x81 + x55);
- out[2] = x61;
- out[3] = x67;
- out[4] = x73;
- out[5] = x79;
- out[6] = (x78 + x52);
- out[7] = x58;
- out[8] = x64;
- out[9] = x76;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.v
deleted file mode 100644
index 1ff9fb27f..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.log
deleted file mode 100644
index 9ccf95bb8..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = ((0x2 * ((uint64_t)(x10 + x17) * (x10 + x17))) - (0x2 * ((uint64_t)x10 * x10)));
- uint64_t x20 = ((((uint64_t)(x8 + x18) * (x10 + x17)) + ((uint64_t)(x10 + x17) * (x8 + x18))) - (((uint64_t)x8 * x10) + ((uint64_t)x10 * x8)));
- uint64_t x21 = (((0x2 * ((uint64_t)(x6 + x16) * (x10 + x17))) + (((uint64_t)(x8 + x18) * (x8 + x18)) + (0x2 * ((uint64_t)(x10 + x17) * (x6 + x16))))) - ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + (0x2 * ((uint64_t)x10 * x6)))));
- uint64_t x22 = (((0x2 * ((uint64_t)(x4 + x14) * (x10 + x17))) + ((0x2 * ((uint64_t)(x6 + x16) * (x8 + x18))) + ((0x2 * ((uint64_t)(x8 + x18) * (x6 + x16))) + (0x2 * ((uint64_t)(x10 + x17) * (x4 + x14)))))) - ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x10 * x4))))));
- uint64_t x23 = ((((uint64_t)(x2 + x12) * (x10 + x17)) + (((uint64_t)(x4 + x14) * (x8 + x18)) + ((0x2 * ((uint64_t)(x6 + x16) * (x6 + x16))) + (((uint64_t)(x8 + x18) * (x4 + x14)) + ((uint64_t)(x10 + x17) * (x2 + x12)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x24 = ((((uint64_t)(x2 + x12) * (x8 + x18)) + ((0x2 * ((uint64_t)(x4 + x14) * (x6 + x16))) + ((0x2 * ((uint64_t)(x6 + x16) * (x4 + x14))) + ((uint64_t)(x8 + x18) * (x2 + x12))))) - (((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))));
- uint64_t x25 = ((((uint64_t)(x2 + x12) * (x6 + x16)) + (((uint64_t)(x4 + x14) * (x4 + x14)) + ((uint64_t)(x6 + x16) * (x2 + x12)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x26 = ((((uint64_t)(x2 + x12) * (x4 + x14)) + ((uint64_t)(x4 + x14) * (x2 + x12))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x27 = (((uint64_t)(x2 + x12) * (x2 + x12)) - ((uint64_t)x2 * x2));
- uint64_t x28 = ((((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x17 * x17))) + x24) + x19);
- uint64_t x29 = ((((((uint64_t)x8 * x10) + ((uint64_t)x10 * x8)) + (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))) + x25) + x20);
- uint64_t x30 = (((((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + (0x2 * ((uint64_t)x10 * x6)))) + ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))) + x26) + x21);
- uint64_t x31 = (((((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (0x2 * ((uint64_t)x10 * x4))))) + ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))) + x27) + x22);
- uint64_t x32 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12))))));
- uint64_t x33 = (((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((uint64_t)x18 * x12))))) + x19);
- uint64_t x34 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + ((uint64_t)x16 * x12)))) + x20);
- uint64_t x35 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x12 * x14) + ((uint64_t)x14 * x12))) + x21);
- uint64_t x36 = ((((uint64_t)x2 * x2) + ((uint64_t)x12 * x12)) + x22);
- uint32_t x37 = (uint32_t) (x32 >> 0x15);
- uint32_t x38 = ((uint32_t)x32 & 0x1fffff);
- uint32_t x39 = (uint32_t) (x23 >> 0x15);
- uint32_t x40 = ((uint32_t)x23 & 0x1fffff);
- uint64_t x41 = (((uint64_t)0x200000 * x39) + x40);
- uint32_t x42 = (uint32_t) (x41 >> 0x15);
- uint32_t x43 = ((uint32_t)x41 & 0x1fffff);
- uint64_t x44 = ((x37 + x31) + x42);
- uint32_t x45 = (uint32_t) (x44 >> 0x16);
- uint32_t x46 = ((uint32_t)x44 & 0x3fffff);
- uint64_t x47 = (x36 + x42);
- uint32_t x48 = (uint32_t) (x47 >> 0x16);
- uint32_t x49 = ((uint32_t)x47 & 0x3fffff);
- uint64_t x50 = (x45 + x30);
- uint32_t x51 = (uint32_t) (x50 >> 0x16);
- uint32_t x52 = ((uint32_t)x50 & 0x3fffff);
- uint64_t x53 = (x48 + x35);
- uint32_t x54 = (uint32_t) (x53 >> 0x16);
- uint32_t x55 = ((uint32_t)x53 & 0x3fffff);
- uint64_t x56 = (x51 + x29);
- uint32_t x57 = (uint32_t) (x56 >> 0x15);
- uint32_t x58 = ((uint32_t)x56 & 0x1fffff);
- uint64_t x59 = (x54 + x34);
- uint32_t x60 = (uint32_t) (x59 >> 0x15);
- uint32_t x61 = ((uint32_t)x59 & 0x1fffff);
- uint64_t x62 = (x57 + x28);
- uint32_t x63 = (uint32_t) (x62 >> 0x16);
- uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
- uint64_t x65 = (x60 + x33);
- uint32_t x66 = (uint32_t) (x65 >> 0x16);
- uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
- uint32_t x68 = (x63 + x43);
- uint32_t x69 = (x68 >> 0x15);
- uint32_t x70 = (x68 & 0x1fffff);
- uint32_t x71 = (x66 + x38);
- uint32_t x72 = (x71 >> 0x15);
- uint32_t x73 = (x71 & 0x1fffff);
- uint32_t x74 = ((0x200000 * x69) + x70);
- uint32_t x75 = (x74 >> 0x15);
- uint32_t x76 = (x74 & 0x1fffff);
- uint32_t x77 = ((x72 + x46) + x75);
- uint32_t x78 = (x77 >> 0x16);
- uint32_t x79 = (x77 & 0x3fffff);
- uint32_t x80 = (x49 + x75);
- uint32_t x81 = (x80 >> 0x16);
- uint32_t x82 = (x80 & 0x3fffff);
- return (Return x76, Return x64, Return x58, (x78 + x52), Return x79, Return x73, Return x67, Return x61, (x81 + x55), Return x82))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index 7030e585a..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.c b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.c
deleted file mode 100644
index fabbee8b4..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x7ffffe + x5) - x23);
- out[1] = ((0x7ffffe + x7) - x25);
- out[2] = ((0x3ffffe + x9) - x27);
- out[3] = ((0x7ffffe + x11) - x29);
- out[4] = ((0x3ffffe + x13) - x31);
- out[5] = ((0x7ffffc + x15) - x33);
- out[6] = ((0x7ffffe + x17) - x35);
- out[7] = ((0x3ffffe + x19) - x37);
- out[8] = ((0x7ffffe + x21) - x39);
- out[9] = ((0x3ffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.v
deleted file mode 100644
index fcb9703ef..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.log
deleted file mode 100644
index a2cb16be9..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3ffffe + x20) - x38), ((0x7ffffe + x21) - x39), ((0x3ffffe + x19) - x37), ((0x7ffffe + x17) - x35), ((0x7ffffc + x15) - x33), ((0x3ffffe + x13) - x31), ((0x7ffffe + x11) - x29), ((0x3ffffe + x9) - x27), ((0x7ffffe + x7) - x25), ((0x7ffffe + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.v
deleted file mode 100644
index 402cd4b29..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.c b/src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.c
deleted file mode 100644
index c9d38d77e..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x3fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x3fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x1fffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x3ffffe);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1fffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x3fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x3fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x1fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x1fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x3ffffe);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x3fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x1fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x3fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x1fffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.v
deleted file mode 100644
index 87a324611..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.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_2e216m2e108m1_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.log
deleted file mode 100644
index 4d7d71eea..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x3fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x3fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x1fffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x3ffffe);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1fffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x3fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x3fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x1fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x1fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x3ffffe);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x3fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x1fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x3fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x1fffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.v
deleted file mode 100644
index 576c37352..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e216m2e108m1_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e216m2e108m1_10limbs/py_interpreter.sh
deleted file mode 100755
index b3ffc91d8..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**216 - 2**108 - 1' -Dmodulus_bytes='21.6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/CurveParameters.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/CurveParameters.v
deleted file mode 100644
index c780f984b..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^216 - 2^108 - 1
-Base: 27
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 27;
- bitwidth := 32;
- s := 2^216;
- c := [(1, 1); (2^108, 1)];
- carry_chains := Some [[3; 7]; [4; 0; 5; 1; 6; 2; 7; 3]; [4; 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_2e216m2e108m1_8limbs/Synthesis.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/Synthesis.v
deleted file mode 100644
index c5af7afed..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/compiler.sh b/src/Specific/solinas32_2e216m2e108m1_8limbs/compiler.sh
deleted file mode 100755
index 3ee47b664..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/compilerxx.sh b/src/Specific/solinas32_2e216m2e108m1_8limbs/compilerxx.sh
deleted file mode 100755
index 2f32911fc..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.c b/src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.v
deleted file mode 100644
index a8f93eea3..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.v
deleted file mode 100644
index 5e0c39b49..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fecarry.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/fecarry.v
deleted file mode 100644
index 5b96c1d32..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/fecarryDisplay.v
deleted file mode 100644
index 7b1d0d859..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/femul.c b/src/Specific/solinas32_2e216m2e108m1_8limbs/femul.c
deleted file mode 100644
index 4a4e096c7..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/femul.c
+++ /dev/null
@@ -1,81 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)(x11 + x16) * (x25 + x30)) - ((uint64_t)x11 * x25));
- { uint64_t x33 = ((((uint64_t)(x9 + x17) * (x25 + x30)) + ((uint64_t)(x11 + x16) * (x23 + x31))) - (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)));
- { uint64_t x34 = ((((uint64_t)(x7 + x15) * (x25 + x30)) + (((uint64_t)(x9 + x17) * (x23 + x31)) + ((uint64_t)(x11 + x16) * (x21 + x29)))) - (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21))));
- { uint64_t x35 = ((((uint64_t)(x5 + x13) * (x25 + x30)) + (((uint64_t)(x7 + x15) * (x23 + x31)) + (((uint64_t)(x9 + x17) * (x21 + x29)) + ((uint64_t)(x11 + x16) * (x19 + x27))))) - (((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))));
- { uint64_t x36 = ((((uint64_t)(x5 + x13) * (x23 + x31)) + (((uint64_t)(x7 + x15) * (x21 + x29)) + ((uint64_t)(x9 + x17) * (x19 + x27)))) - (((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))));
- { uint64_t x37 = ((((uint64_t)(x5 + x13) * (x21 + x29)) + ((uint64_t)(x7 + x15) * (x19 + x27))) - (((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)));
- { uint64_t x38 = (((uint64_t)(x5 + x13) * (x19 + x27)) - ((uint64_t)x5 * x19));
- { uint64_t x39 = (((((uint64_t)x11 * x25) + ((uint64_t)x16 * x30)) + x36) + x32);
- { uint64_t x40 = ((((((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)) + (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))) + x37) + x33);
- { uint64_t x41 = ((((((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21))) + (((uint64_t)x15 * x30) + (((uint64_t)x17 * x31) + ((uint64_t)x16 * x29)))) + x38) + x34);
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27)))));
- { uint64_t x43 = (((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27)))) + x32);
- { uint64_t x44 = (((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27))) + x33);
- { uint64_t x45 = ((((uint64_t)x5 * x19) + ((uint64_t)x13 * x27)) + x34);
- { uint64_t x46 = (x42 >> 0x1b);
- { uint32_t x47 = ((uint32_t)x42 & 0x7ffffff);
- { uint64_t x48 = (x35 >> 0x1b);
- { uint32_t x49 = ((uint32_t)x35 & 0x7ffffff);
- { uint64_t x50 = ((0x8000000 * x48) + x49);
- { uint64_t x51 = (x50 >> 0x1b);
- { uint32_t x52 = ((uint32_t)x50 & 0x7ffffff);
- { uint64_t x53 = ((x46 + x41) + x51);
- { uint64_t x54 = (x53 >> 0x1b);
- { uint32_t x55 = ((uint32_t)x53 & 0x7ffffff);
- { uint64_t x56 = (x45 + x51);
- { uint64_t x57 = (x56 >> 0x1b);
- { uint32_t x58 = ((uint32_t)x56 & 0x7ffffff);
- { uint64_t x59 = (x54 + x40);
- { uint64_t x60 = (x59 >> 0x1b);
- { uint32_t x61 = ((uint32_t)x59 & 0x7ffffff);
- { uint64_t x62 = (x57 + x44);
- { uint64_t x63 = (x62 >> 0x1b);
- { uint32_t x64 = ((uint32_t)x62 & 0x7ffffff);
- { uint64_t x65 = (x60 + x39);
- { uint64_t x66 = (x65 >> 0x1b);
- { uint32_t x67 = ((uint32_t)x65 & 0x7ffffff);
- { uint64_t x68 = (x63 + x43);
- { uint64_t x69 = (x68 >> 0x1b);
- { uint32_t x70 = ((uint32_t)x68 & 0x7ffffff);
- { uint64_t x71 = (x66 + x52);
- { uint32_t x72 = (uint32_t) (x71 >> 0x1b);
- { uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- { uint64_t x74 = (x69 + x47);
- { uint32_t x75 = (uint32_t) (x74 >> 0x1b);
- { uint32_t x76 = ((uint32_t)x74 & 0x7ffffff);
- { uint64_t x77 = (((uint64_t)0x8000000 * x72) + x73);
- { uint32_t x78 = (uint32_t) (x77 >> 0x1b);
- { uint32_t x79 = ((uint32_t)x77 & 0x7ffffff);
- { uint32_t x80 = ((x75 + x55) + x78);
- { uint32_t x81 = (x80 >> 0x1b);
- { uint32_t x82 = (x80 & 0x7ffffff);
- { uint32_t x83 = (x58 + x78);
- { uint32_t x84 = (x83 >> 0x1b);
- { uint32_t x85 = (x83 & 0x7ffffff);
- out[0] = x85;
- out[1] = (x84 + x64);
- out[2] = x70;
- out[3] = x76;
- out[4] = x82;
- out[5] = (x81 + x61);
- out[6] = x67;
- out[7] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/femul.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/femul.v
deleted file mode 100644
index 499abb395..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/femulDisplay.log b/src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.log
deleted file mode 100644
index 64839d2fe..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)(x11 + x16) * (x25 + x30)) - ((uint64_t)x11 * x25));
- uint64_t x33 = ((((uint64_t)(x9 + x17) * (x25 + x30)) + ((uint64_t)(x11 + x16) * (x23 + x31))) - (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)));
- uint64_t x34 = ((((uint64_t)(x7 + x15) * (x25 + x30)) + (((uint64_t)(x9 + x17) * (x23 + x31)) + ((uint64_t)(x11 + x16) * (x21 + x29)))) - (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21))));
- uint64_t x35 = ((((uint64_t)(x5 + x13) * (x25 + x30)) + (((uint64_t)(x7 + x15) * (x23 + x31)) + (((uint64_t)(x9 + x17) * (x21 + x29)) + ((uint64_t)(x11 + x16) * (x19 + x27))))) - (((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))));
- uint64_t x36 = ((((uint64_t)(x5 + x13) * (x23 + x31)) + (((uint64_t)(x7 + x15) * (x21 + x29)) + ((uint64_t)(x9 + x17) * (x19 + x27)))) - (((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))));
- uint64_t x37 = ((((uint64_t)(x5 + x13) * (x21 + x29)) + ((uint64_t)(x7 + x15) * (x19 + x27))) - (((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)));
- uint64_t x38 = (((uint64_t)(x5 + x13) * (x19 + x27)) - ((uint64_t)x5 * x19));
- uint64_t x39 = (((((uint64_t)x11 * x25) + ((uint64_t)x16 * x30)) + x36) + x32);
- uint64_t x40 = ((((((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)) + (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))) + x37) + x33);
- uint64_t x41 = ((((((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21))) + (((uint64_t)x15 * x30) + (((uint64_t)x17 * x31) + ((uint64_t)x16 * x29)))) + x38) + x34);
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + (((uint64_t)x9 * x21) + ((uint64_t)x11 * x19)))) + (((uint64_t)x13 * x30) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x16 * x27)))));
- uint64_t x43 = (((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27)))) + x32);
- uint64_t x44 = (((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27))) + x33);
- uint64_t x45 = ((((uint64_t)x5 * x19) + ((uint64_t)x13 * x27)) + x34);
- uint64_t x46 = (x42 >> 0x1b);
- uint32_t x47 = ((uint32_t)x42 & 0x7ffffff);
- uint64_t x48 = (x35 >> 0x1b);
- uint32_t x49 = ((uint32_t)x35 & 0x7ffffff);
- uint64_t x50 = ((0x8000000 * x48) + x49);
- uint64_t x51 = (x50 >> 0x1b);
- uint32_t x52 = ((uint32_t)x50 & 0x7ffffff);
- uint64_t x53 = ((x46 + x41) + x51);
- uint64_t x54 = (x53 >> 0x1b);
- uint32_t x55 = ((uint32_t)x53 & 0x7ffffff);
- uint64_t x56 = (x45 + x51);
- uint64_t x57 = (x56 >> 0x1b);
- uint32_t x58 = ((uint32_t)x56 & 0x7ffffff);
- uint64_t x59 = (x54 + x40);
- uint64_t x60 = (x59 >> 0x1b);
- uint32_t x61 = ((uint32_t)x59 & 0x7ffffff);
- uint64_t x62 = (x57 + x44);
- uint64_t x63 = (x62 >> 0x1b);
- uint32_t x64 = ((uint32_t)x62 & 0x7ffffff);
- uint64_t x65 = (x60 + x39);
- uint64_t x66 = (x65 >> 0x1b);
- uint32_t x67 = ((uint32_t)x65 & 0x7ffffff);
- uint64_t x68 = (x63 + x43);
- uint64_t x69 = (x68 >> 0x1b);
- uint32_t x70 = ((uint32_t)x68 & 0x7ffffff);
- uint64_t x71 = (x66 + x52);
- uint32_t x72 = (uint32_t) (x71 >> 0x1b);
- uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- uint64_t x74 = (x69 + x47);
- uint32_t x75 = (uint32_t) (x74 >> 0x1b);
- uint32_t x76 = ((uint32_t)x74 & 0x7ffffff);
- uint64_t x77 = (((uint64_t)0x8000000 * x72) + x73);
- uint32_t x78 = (uint32_t) (x77 >> 0x1b);
- uint32_t x79 = ((uint32_t)x77 & 0x7ffffff);
- uint32_t x80 = ((x75 + x55) + x78);
- uint32_t x81 = (x80 >> 0x1b);
- uint32_t x82 = (x80 & 0x7ffffff);
- uint32_t x83 = (x58 + x78);
- uint32_t x84 = (x83 >> 0x1b);
- uint32_t x85 = (x83 & 0x7ffffff);
- return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.v
deleted file mode 100644
index 4df3e5f0c..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.c b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.c
deleted file mode 100644
index aee2bd170..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,73 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)(x8 + x13) * (x8 + x13)) - ((uint64_t)x8 * x8));
- { uint64_t x16 = ((((uint64_t)(x6 + x14) * (x8 + x13)) + ((uint64_t)(x8 + x13) * (x6 + x14))) - (((uint64_t)x6 * x8) + ((uint64_t)x8 * x6)));
- { uint64_t x17 = ((((uint64_t)(x4 + x12) * (x8 + x13)) + (((uint64_t)(x6 + x14) * (x6 + x14)) + ((uint64_t)(x8 + x13) * (x4 + x12)))) - (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + ((uint64_t)x8 * x4))));
- { uint64_t x18 = ((((uint64_t)(x2 + x10) * (x8 + x13)) + (((uint64_t)(x4 + x12) * (x6 + x14)) + (((uint64_t)(x6 + x14) * (x4 + x12)) + ((uint64_t)(x8 + x13) * (x2 + x10))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x19 = ((((uint64_t)(x2 + x10) * (x6 + x14)) + (((uint64_t)(x4 + x12) * (x4 + x12)) + ((uint64_t)(x6 + x14) * (x2 + x10)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x20 = ((((uint64_t)(x2 + x10) * (x4 + x12)) + ((uint64_t)(x4 + x12) * (x2 + x10))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x21 = (((uint64_t)(x2 + x10) * (x2 + x10)) - ((uint64_t)x2 * x2));
- { uint64_t x22 = (((((uint64_t)x8 * x8) + ((uint64_t)x13 * x13)) + x19) + x15);
- { uint64_t x23 = ((((((uint64_t)x6 * x8) + ((uint64_t)x8 * x6)) + (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))) + x20) + x16);
- { uint64_t x24 = ((((((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + ((uint64_t)x8 * x4))) + (((uint64_t)x12 * x13) + (((uint64_t)x14 * x14) + ((uint64_t)x13 * x12)))) + x21) + x17);
- { uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10)))));
- { uint64_t x26 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10)))) + x15);
- { uint64_t x27 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x10 * x12) + ((uint64_t)x12 * x10))) + x16);
- { uint64_t x28 = ((((uint64_t)x2 * x2) + ((uint64_t)x10 * x10)) + x17);
- { uint64_t x29 = (x25 >> 0x1b);
- { uint32_t x30 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x31 = (x18 >> 0x1b);
- { uint32_t x32 = ((uint32_t)x18 & 0x7ffffff);
- { uint64_t x33 = ((0x8000000 * x31) + x32);
- { uint64_t x34 = (x33 >> 0x1b);
- { uint32_t x35 = ((uint32_t)x33 & 0x7ffffff);
- { uint64_t x36 = ((x29 + x24) + x34);
- { uint64_t x37 = (x36 >> 0x1b);
- { uint32_t x38 = ((uint32_t)x36 & 0x7ffffff);
- { uint64_t x39 = (x28 + x34);
- { uint64_t x40 = (x39 >> 0x1b);
- { uint32_t x41 = ((uint32_t)x39 & 0x7ffffff);
- { uint64_t x42 = (x37 + x23);
- { uint64_t x43 = (x42 >> 0x1b);
- { uint32_t x44 = ((uint32_t)x42 & 0x7ffffff);
- { uint64_t x45 = (x40 + x27);
- { uint64_t x46 = (x45 >> 0x1b);
- { uint32_t x47 = ((uint32_t)x45 & 0x7ffffff);
- { uint64_t x48 = (x43 + x22);
- { uint64_t x49 = (x48 >> 0x1b);
- { uint32_t x50 = ((uint32_t)x48 & 0x7ffffff);
- { uint64_t x51 = (x46 + x26);
- { uint64_t x52 = (x51 >> 0x1b);
- { uint32_t x53 = ((uint32_t)x51 & 0x7ffffff);
- { uint64_t x54 = (x49 + x35);
- { uint32_t x55 = (uint32_t) (x54 >> 0x1b);
- { uint32_t x56 = ((uint32_t)x54 & 0x7ffffff);
- { uint64_t x57 = (x52 + x30);
- { uint32_t x58 = (uint32_t) (x57 >> 0x1b);
- { uint32_t x59 = ((uint32_t)x57 & 0x7ffffff);
- { uint64_t x60 = (((uint64_t)0x8000000 * x55) + x56);
- { uint32_t x61 = (uint32_t) (x60 >> 0x1b);
- { uint32_t x62 = ((uint32_t)x60 & 0x7ffffff);
- { uint32_t x63 = ((x58 + x38) + x61);
- { uint32_t x64 = (x63 >> 0x1b);
- { uint32_t x65 = (x63 & 0x7ffffff);
- { uint32_t x66 = (x41 + x61);
- { uint32_t x67 = (x66 >> 0x1b);
- { uint32_t x68 = (x66 & 0x7ffffff);
- out[0] = x68;
- out[1] = (x67 + x47);
- out[2] = x53;
- out[3] = x59;
- out[4] = x65;
- out[5] = (x64 + x44);
- out[6] = x50;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.v
deleted file mode 100644
index 4552db923..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.log
deleted file mode 100644
index fe3bc9190..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)(x8 + x13) * (x8 + x13)) - ((uint64_t)x8 * x8));
- uint64_t x16 = ((((uint64_t)(x6 + x14) * (x8 + x13)) + ((uint64_t)(x8 + x13) * (x6 + x14))) - (((uint64_t)x6 * x8) + ((uint64_t)x8 * x6)));
- uint64_t x17 = ((((uint64_t)(x4 + x12) * (x8 + x13)) + (((uint64_t)(x6 + x14) * (x6 + x14)) + ((uint64_t)(x8 + x13) * (x4 + x12)))) - (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + ((uint64_t)x8 * x4))));
- uint64_t x18 = ((((uint64_t)(x2 + x10) * (x8 + x13)) + (((uint64_t)(x4 + x12) * (x6 + x14)) + (((uint64_t)(x6 + x14) * (x4 + x12)) + ((uint64_t)(x8 + x13) * (x2 + x10))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x19 = ((((uint64_t)(x2 + x10) * (x6 + x14)) + (((uint64_t)(x4 + x12) * (x4 + x12)) + ((uint64_t)(x6 + x14) * (x2 + x10)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x20 = ((((uint64_t)(x2 + x10) * (x4 + x12)) + ((uint64_t)(x4 + x12) * (x2 + x10))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x21 = (((uint64_t)(x2 + x10) * (x2 + x10)) - ((uint64_t)x2 * x2));
- uint64_t x22 = (((((uint64_t)x8 * x8) + ((uint64_t)x13 * x13)) + x19) + x15);
- uint64_t x23 = ((((((uint64_t)x6 * x8) + ((uint64_t)x8 * x6)) + (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))) + x20) + x16);
- uint64_t x24 = ((((((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + ((uint64_t)x8 * x4))) + (((uint64_t)x12 * x13) + (((uint64_t)x14 * x14) + ((uint64_t)x13 * x12)))) + x21) + x17);
- uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x13) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((uint64_t)x13 * x10)))));
- uint64_t x26 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10)))) + x15);
- uint64_t x27 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x10 * x12) + ((uint64_t)x12 * x10))) + x16);
- uint64_t x28 = ((((uint64_t)x2 * x2) + ((uint64_t)x10 * x10)) + x17);
- uint64_t x29 = (x25 >> 0x1b);
- uint32_t x30 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x31 = (x18 >> 0x1b);
- uint32_t x32 = ((uint32_t)x18 & 0x7ffffff);
- uint64_t x33 = ((0x8000000 * x31) + x32);
- uint64_t x34 = (x33 >> 0x1b);
- uint32_t x35 = ((uint32_t)x33 & 0x7ffffff);
- uint64_t x36 = ((x29 + x24) + x34);
- uint64_t x37 = (x36 >> 0x1b);
- uint32_t x38 = ((uint32_t)x36 & 0x7ffffff);
- uint64_t x39 = (x28 + x34);
- uint64_t x40 = (x39 >> 0x1b);
- uint32_t x41 = ((uint32_t)x39 & 0x7ffffff);
- uint64_t x42 = (x37 + x23);
- uint64_t x43 = (x42 >> 0x1b);
- uint32_t x44 = ((uint32_t)x42 & 0x7ffffff);
- uint64_t x45 = (x40 + x27);
- uint64_t x46 = (x45 >> 0x1b);
- uint32_t x47 = ((uint32_t)x45 & 0x7ffffff);
- uint64_t x48 = (x43 + x22);
- uint64_t x49 = (x48 >> 0x1b);
- uint32_t x50 = ((uint32_t)x48 & 0x7ffffff);
- uint64_t x51 = (x46 + x26);
- uint64_t x52 = (x51 >> 0x1b);
- uint32_t x53 = ((uint32_t)x51 & 0x7ffffff);
- uint64_t x54 = (x49 + x35);
- uint32_t x55 = (uint32_t) (x54 >> 0x1b);
- uint32_t x56 = ((uint32_t)x54 & 0x7ffffff);
- uint64_t x57 = (x52 + x30);
- uint32_t x58 = (uint32_t) (x57 >> 0x1b);
- uint32_t x59 = ((uint32_t)x57 & 0x7ffffff);
- uint64_t x60 = (((uint64_t)0x8000000 * x55) + x56);
- uint32_t x61 = (uint32_t) (x60 >> 0x1b);
- uint32_t x62 = ((uint32_t)x60 & 0x7ffffff);
- uint32_t x63 = ((x58 + x38) + x61);
- uint32_t x64 = (x63 >> 0x1b);
- uint32_t x65 = (x63 & 0x7ffffff);
- uint32_t x66 = (x41 + x61);
- uint32_t x67 = (x66 >> 0x1b);
- uint32_t x68 = (x66 & 0x7ffffff);
- return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.v
deleted file mode 100644
index 515965576..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.c b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.c
deleted file mode 100644
index 282def963..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0xffffffe + x5) - x19);
- out[1] = ((0xffffffe + x7) - x21);
- out[2] = ((0xffffffe + x9) - x23);
- out[3] = ((0xffffffe + x11) - x25);
- out[4] = ((0xffffffc + x13) - x27);
- out[5] = ((0xffffffe + x15) - x29);
- out[6] = ((0xffffffe + x17) - x31);
- out[7] = ((0xffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.v
deleted file mode 100644
index bedc691c0..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.log
deleted file mode 100644
index 2176f748f..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xffffffe + x16) - x30), ((0xffffffe + x17) - x31), ((0xffffffe + x15) - x29), ((0xffffffc + x13) - x27), ((0xffffffe + x11) - x25), ((0xffffffe + x9) - x23), ((0xffffffe + x7) - x21), ((0xffffffe + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.v
deleted file mode 100644
index ecd215720..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.c b/src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.c
deleted file mode 100644
index b491fbbf7..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x7ffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x7ffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7fffffe);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x7ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7ffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0x7ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0x7ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x7ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0x7ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0x7fffffe);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x7ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0x7ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x7ffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.v
deleted file mode 100644
index 51d348874..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.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_2e216m2e108m1_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.log
deleted file mode 100644
index 18b6d8b72..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0x7ffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0x7ffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0x7fffffe);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x7ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7ffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0x7ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0x7ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x7ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0x7ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0x7fffffe);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x7ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0x7ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x7ffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.v
deleted file mode 100644
index 472cf9877..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e216m2e108m1_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e216m2e108m1_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e216m2e108m1_8limbs/py_interpreter.sh
deleted file mode 100755
index c2779db9b..000000000
--- a/src/Specific/solinas32_2e216m2e108m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**216 - 2**108 - 1' -Dmodulus_bytes='27' -Da24='121665'
diff --git a/src/Specific/solinas32_2e221m3_8limbs/CurveParameters.v b/src/Specific/solinas32_2e221m3_8limbs/CurveParameters.v
deleted file mode 100644
index 8b481f704..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^221 - 3
-Base: 27.625
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 27 + 5/8;
- bitwidth := 32;
- s := 2^221;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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_2e221m3_8limbs/Synthesis.v b/src/Specific/solinas32_2e221m3_8limbs/Synthesis.v
deleted file mode 100644
index 3b9687cf0..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/compiler.sh b/src/Specific/solinas32_2e221m3_8limbs/compiler.sh
deleted file mode 100755
index 7886b0560..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/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='{28,28,27,28,28,27,28,27}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas32_2e221m3_8limbs/compilerxx.sh b/src/Specific/solinas32_2e221m3_8limbs/compilerxx.sh
deleted file mode 100755
index af56cdb3c..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/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='{28,28,27,28,28,27,28,27}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas32_2e221m3_8limbs/feadd.c b/src/Specific/solinas32_2e221m3_8limbs/feadd.c
deleted file mode 100644
index cc3671f75..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_8limbs/feadd.v b/src/Specific/solinas32_2e221m3_8limbs/feadd.v
deleted file mode 100644
index 3c92a8a62..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/feaddDisplay.log b/src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.log
deleted file mode 100644
index f25c10903..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.v b/src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.v
deleted file mode 100644
index 7b29a28f9..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fecarry.v b/src/Specific/solinas32_2e221m3_8limbs/fecarry.v
deleted file mode 100644
index f0b6c43f5..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/fecarryDisplay.v b/src/Specific/solinas32_2e221m3_8limbs/fecarryDisplay.v
deleted file mode 100644
index b50313c2d..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e221m3_8limbs/femul.c b/src/Specific/solinas32_2e221m3_8limbs/femul.c
deleted file mode 100644
index 61d58a697..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- { uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- { uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint64_t)x16 * x30))));
- { uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x3 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- { uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- { uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- { uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x3 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- { uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x3 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- { ℤ x39 = (((uint64_t)x5 * x19) +ℤ (0x3 *ℤ ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- { uint64_t x40 = (x39 >> 0x1c);
- { uint32_t x41 = (x39 & 0xfffffff);
- { uint64_t x42 = (x40 + x38);
- { uint64_t x43 = (x42 >> 0x1c);
- { uint32_t x44 = ((uint32_t)x42 & 0xfffffff);
- { uint64_t x45 = (x43 + x37);
- { uint64_t x46 = (x45 >> 0x1b);
- { uint32_t x47 = ((uint32_t)x45 & 0x7ffffff);
- { uint64_t x48 = (x46 + x36);
- { uint64_t x49 = (x48 >> 0x1c);
- { uint32_t x50 = ((uint32_t)x48 & 0xfffffff);
- { uint64_t x51 = (x49 + x35);
- { uint64_t x52 = (x51 >> 0x1c);
- { uint32_t x53 = ((uint32_t)x51 & 0xfffffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x1b);
- { uint32_t x56 = ((uint32_t)x54 & 0x7ffffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x1c);
- { uint32_t x59 = ((uint32_t)x57 & 0xfffffff);
- { uint64_t x60 = (x58 + x32);
- { uint64_t x61 = (x60 >> 0x1b);
- { uint32_t x62 = ((uint32_t)x60 & 0x7ffffff);
- { uint64_t x63 = (x41 + (0x3 * x61));
- { uint32_t x64 = (uint32_t) (x63 >> 0x1c);
- { uint32_t x65 = ((uint32_t)x63 & 0xfffffff);
- { uint32_t x66 = (x64 + x44);
- { uint32_t x67 = (x66 >> 0x1c);
- { uint32_t x68 = (x66 & 0xfffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_8limbs/femul.v b/src/Specific/solinas32_2e221m3_8limbs/femul.v
deleted file mode 100644
index 3e8884f19..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/femulDisplay.log b/src/Specific/solinas32_2e221m3_8limbs/femulDisplay.log
deleted file mode 100644
index 55e612903..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint64_t x32 = (((uint64_t)x5 * x30) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((0x2 * ((uint64_t)x15 * x23)) + (((uint64_t)x17 * x21) + ((uint64_t)x16 * x19))))))));
- uint64_t x33 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((0x2 * ((uint64_t)x13 * x23)) + ((0x2 * ((uint64_t)x15 * x21)) + ((uint64_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint64_t)x16 * x30))));
- uint64_t x34 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + (((uint64_t)x13 * x21) + ((uint64_t)x15 * x19)))))) + (0x3 * (((uint64_t)x17 * x30) + ((uint64_t)x16 * x31))));
- uint64_t x35 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((0x2 * ((uint64_t)x9 * x23)) + (((uint64_t)x11 * x21) + ((uint64_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x30)) + (((uint64_t)x17 * x31) + (0x2 * ((uint64_t)x16 * x29))))));
- uint64_t x36 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((0x2 * ((uint64_t)x9 * x21)) + ((uint64_t)x11 * x19)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x30)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + (0x2 * ((uint64_t)x16 * x27)))))));
- uint64_t x37 = ((((uint64_t)x5 * x23) + (((uint64_t)x7 * x21) + ((uint64_t)x9 * x19))) + (0x3 * (((uint64_t)x11 * x30) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x16 * x25)))))));
- uint64_t x38 = ((((uint64_t)x5 * x21) + ((uint64_t)x7 * x19)) + (0x3 * ((0x2 * ((uint64_t)x9 * x30)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + (((uint64_t)x17 * x25) + (0x2 * ((uint64_t)x16 * x23)))))))));
- ℤ x39 = (((uint64_t)x5 * x19) +ℤ (0x3 *ℤ ((0x2 * ((uint64_t)x7 * x30)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + (0x2 * ((uint64_t)x16 * x21))))))))));
- uint64_t x40 = (x39 >> 0x1c);
- uint32_t x41 = (x39 & 0xfffffff);
- uint64_t x42 = (x40 + x38);
- uint64_t x43 = (x42 >> 0x1c);
- uint32_t x44 = ((uint32_t)x42 & 0xfffffff);
- uint64_t x45 = (x43 + x37);
- uint64_t x46 = (x45 >> 0x1b);
- uint32_t x47 = ((uint32_t)x45 & 0x7ffffff);
- uint64_t x48 = (x46 + x36);
- uint64_t x49 = (x48 >> 0x1c);
- uint32_t x50 = ((uint32_t)x48 & 0xfffffff);
- uint64_t x51 = (x49 + x35);
- uint64_t x52 = (x51 >> 0x1c);
- uint32_t x53 = ((uint32_t)x51 & 0xfffffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x1b);
- uint32_t x56 = ((uint32_t)x54 & 0x7ffffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x1c);
- uint32_t x59 = ((uint32_t)x57 & 0xfffffff);
- uint64_t x60 = (x58 + x32);
- uint64_t x61 = (x60 >> 0x1b);
- uint32_t x62 = ((uint32_t)x60 & 0x7ffffff);
- uint64_t x63 = (x41 + (0x3 * x61));
- uint32_t x64 = (uint32_t) (x63 >> 0x1c);
- uint32_t x65 = ((uint32_t)x63 & 0xfffffff);
- uint32_t x66 = (x64 + x44);
- uint32_t x67 = (x66 >> 0x1c);
- uint32_t x68 = (x66 & 0xfffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_8limbs/femulDisplay.v b/src/Specific/solinas32_2e221m3_8limbs/femulDisplay.v
deleted file mode 100644
index 846eff827..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fesquare.c b/src/Specific/solinas32_2e221m3_8limbs/fesquare.c
deleted file mode 100644
index 930bb41d4..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- { uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint64_t)x13 * x13))));
- { uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- { uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- { uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- { uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- { uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- { ℤ x22 = (((uint64_t)x2 * x2) +ℤ (0x3 *ℤ ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- { uint64_t x23 = (x22 >> 0x1c);
- { uint32_t x24 = (x22 & 0xfffffff);
- { uint64_t x25 = (x23 + x21);
- { uint64_t x26 = (x25 >> 0x1c);
- { uint32_t x27 = ((uint32_t)x25 & 0xfffffff);
- { uint64_t x28 = (x26 + x20);
- { uint64_t x29 = (x28 >> 0x1b);
- { uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- { uint64_t x31 = (x29 + x19);
- { uint64_t x32 = (x31 >> 0x1c);
- { uint32_t x33 = ((uint32_t)x31 & 0xfffffff);
- { uint64_t x34 = (x32 + x18);
- { uint64_t x35 = (x34 >> 0x1c);
- { uint32_t x36 = ((uint32_t)x34 & 0xfffffff);
- { uint64_t x37 = (x35 + x17);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- { uint64_t x40 = (x38 + x16);
- { uint64_t x41 = (x40 >> 0x1c);
- { uint32_t x42 = ((uint32_t)x40 & 0xfffffff);
- { uint64_t x43 = (x41 + x15);
- { uint64_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- { uint64_t x46 = (x24 + (0x3 * x44));
- { uint32_t x47 = (uint32_t) (x46 >> 0x1c);
- { uint32_t x48 = ((uint32_t)x46 & 0xfffffff);
- { uint32_t x49 = (x47 + x27);
- { uint32_t x50 = (x49 >> 0x1c);
- { uint32_t x51 = (x49 & 0xfffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fesquare.v b/src/Specific/solinas32_2e221m3_8limbs/fesquare.v
deleted file mode 100644
index c309620a9..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/fesquareDisplay.log b/src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.log
deleted file mode 100644
index 4b8d4fd4b..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x15 = (((uint64_t)x2 * x13) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x13 * x2))))))));
- uint64_t x16 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint64_t)x13 * x13))));
- uint64_t x17 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x13) + ((uint64_t)x13 * x14))));
- uint64_t x18 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x13)) + (((uint64_t)x14 * x14) + (0x2 * ((uint64_t)x13 * x12))))));
- uint64_t x19 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x13)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (0x2 * ((uint64_t)x13 * x10)))))));
- uint64_t x20 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x13) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((uint64_t)x13 * x8)))))));
- uint64_t x21 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x13)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (0x2 * ((uint64_t)x13 * x6)))))))));
- ℤ x22 = (((uint64_t)x2 * x2) +ℤ (0x3 *ℤ ((0x2 * ((uint64_t)x4 * x13)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (0x2 * ((uint64_t)x13 * x4))))))))));
- uint64_t x23 = (x22 >> 0x1c);
- uint32_t x24 = (x22 & 0xfffffff);
- uint64_t x25 = (x23 + x21);
- uint64_t x26 = (x25 >> 0x1c);
- uint32_t x27 = ((uint32_t)x25 & 0xfffffff);
- uint64_t x28 = (x26 + x20);
- uint64_t x29 = (x28 >> 0x1b);
- uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- uint64_t x31 = (x29 + x19);
- uint64_t x32 = (x31 >> 0x1c);
- uint32_t x33 = ((uint32_t)x31 & 0xfffffff);
- uint64_t x34 = (x32 + x18);
- uint64_t x35 = (x34 >> 0x1c);
- uint32_t x36 = ((uint32_t)x34 & 0xfffffff);
- uint64_t x37 = (x35 + x17);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- uint64_t x40 = (x38 + x16);
- uint64_t x41 = (x40 >> 0x1c);
- uint32_t x42 = ((uint32_t)x40 & 0xfffffff);
- uint64_t x43 = (x41 + x15);
- uint64_t x44 = (x43 >> 0x1b);
- uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- uint64_t x46 = (x24 + (0x3 * x44));
- uint32_t x47 = (uint32_t) (x46 >> 0x1c);
- uint32_t x48 = ((uint32_t)x46 & 0xfffffff);
- uint32_t x49 = (x47 + x27);
- uint32_t x50 = (x49 >> 0x1c);
- uint32_t x51 = (x49 & 0xfffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.v b/src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.v
deleted file mode 100644
index 4b0de58cf..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fesub.c b/src/Specific/solinas32_2e221m3_8limbs/fesub.c
deleted file mode 100644
index 3e092cb13..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint32_t out[8], const uint32_t in1[8], const uint32_t in2[8]) {
- { const uint32_t x16 = 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 x30 = in2[7];
- { const uint32_t x31 = in2[6];
- { const uint32_t x29 = in2[5];
- { const uint32_t x27 = in2[4];
- { const uint32_t x25 = in2[3];
- { const uint32_t x23 = in2[2];
- { const uint32_t x21 = in2[1];
- { const uint32_t x19 = in2[0];
- out[0] = ((0x1ffffffa + x5) - x19);
- out[1] = ((0x1ffffffe + x7) - x21);
- out[2] = ((0xffffffe + x9) - x23);
- out[3] = ((0x1ffffffe + x11) - x25);
- out[4] = ((0x1ffffffe + x13) - x27);
- out[5] = ((0xffffffe + x15) - x29);
- out[6] = ((0x1ffffffe + x17) - x31);
- out[7] = ((0xffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fesub.v b/src/Specific/solinas32_2e221m3_8limbs/fesub.v
deleted file mode 100644
index 8fef42652..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/fesubDisplay.log b/src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.log
deleted file mode 100644
index 978e32873..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xffffffe + x16) - x30), ((0x1ffffffe + x17) - x31), ((0xffffffe + x15) - x29), ((0x1ffffffe + x13) - x27), ((0x1ffffffe + x11) - x25), ((0xffffffe + x9) - x23), ((0x1ffffffe + x7) - x21), ((0x1ffffffa + x5) - x19)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.v b/src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.v
deleted file mode 100644
index 0207fbb6f..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e221m3_8limbs/freeze.c b/src/Specific/solinas32_2e221m3_8limbs/freeze.c
deleted file mode 100644
index e31bca57f..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint32_t out[8], const uint32_t in1[8]) {
- { const uint32_t x13 = 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 x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffd);
- { uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffff);
- { uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x7ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7ffffff);
- { uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- { uint32_t x40 = (x39 & 0xffffffd);
- { uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint32_t x44 = (x39 & 0xfffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint32_t x48 = (x39 & 0x7ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint32_t x52 = (x39 & 0xfffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint32_t x56 = (x39 & 0xfffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint32_t x60 = (x39 & 0x7ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint32_t x64 = (x39 & 0xfffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint32_t x68 = (x39 & 0x7ffffff);
- { uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_8limbs/freeze.v b/src/Specific/solinas32_2e221m3_8limbs/freeze.v
deleted file mode 100644
index 214c8676a..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.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_2e221m3_8limbs/freezeDisplay.log b/src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.log
deleted file mode 100644
index 175373d3f..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffd);
- uint32_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffff);
- uint32_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x12, 0x7ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x13, 0x7ffffff);
- uint32_t x39 = cmovznz32(x38, 0x0, 0xffffffff);
- uint32_t x40 = (x39 & 0xffffffd);
- uint32_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint32_t x44 = (x39 & 0xfffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint32_t x48 = (x39 & 0x7ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint32_t x52 = (x39 & 0xfffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint32_t x56 = (x39 & 0xfffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint32_t x60 = (x39 & 0x7ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint32_t x64 = (x39 & 0xfffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint32_t x68 = (x39 & 0x7ffffff);
- uint32_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.v b/src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.v
deleted file mode 100644
index 841706328..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e221m3_8limbs/py_interpreter.sh b/src/Specific/solinas32_2e221m3_8limbs/py_interpreter.sh
deleted file mode 100755
index 19814b752..000000000
--- a/src/Specific/solinas32_2e221m3_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**221 - 3' -Dmodulus_bytes='27.625' -Da24='121665'
diff --git a/src/Specific/solinas32_2e221m3_9limbs/CurveParameters.v b/src/Specific/solinas32_2e221m3_9limbs/CurveParameters.v
deleted file mode 100644
index f7ed271a7..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^221 - 3
-Base: 24 + 5/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 24 + 5/9;
- bitwidth := 32;
- s := 2^221;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e221m3_9limbs/Synthesis.v b/src/Specific/solinas32_2e221m3_9limbs/Synthesis.v
deleted file mode 100644
index f9ca8e780..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/compiler.sh b/src/Specific/solinas32_2e221m3_9limbs/compiler.sh
deleted file mode 100755
index bc6748977..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/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='{25,25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas32_2e221m3_9limbs/compilerxx.sh b/src/Specific/solinas32_2e221m3_9limbs/compilerxx.sh
deleted file mode 100755
index 44cca2d87..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/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='{25,25,24,25,24,25,24,25,24}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas32_2e221m3_9limbs/feadd.c b/src/Specific/solinas32_2e221m3_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_9limbs/feadd.v b/src/Specific/solinas32_2e221m3_9limbs/feadd.v
deleted file mode 100644
index 65b4594d5..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.v
deleted file mode 100644
index 11e1379be..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fecarry.v b/src/Specific/solinas32_2e221m3_9limbs/fecarry.v
deleted file mode 100644
index 4930fb805..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e221m3_9limbs/fecarryDisplay.v
deleted file mode 100644
index 1e069d020..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e221m3_9limbs/femul.c b/src/Specific/solinas32_2e221m3_9limbs/femul.c
deleted file mode 100644
index 9d11d7afd..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x3 * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x3 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x3 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x3 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x3 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x3 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x19);
- { uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x19);
- { uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x18);
- { uint32_t x52 = ((uint32_t)x50 & 0xffffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x19);
- { uint32_t x55 = ((uint32_t)x53 & 0x1ffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x18);
- { uint32_t x58 = ((uint32_t)x56 & 0xffffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x19);
- { uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x18);
- { uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- { uint64_t x65 = (x63 + x37);
- { uint32_t x66 = (uint32_t) (x65 >> 0x19);
- { uint32_t x67 = ((uint32_t)x65 & 0x1ffffff);
- { uint64_t x68 = (x66 + x36);
- { uint64_t x69 = (x68 >> 0x18);
- { uint32_t x70 = ((uint32_t)x68 & 0xffffff);
- { uint64_t x71 = (x46 + (0x3 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x19);
- { uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x19);
- { uint32_t x76 = (x74 & 0x1ffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_9limbs/femul.v b/src/Specific/solinas32_2e221m3_9limbs/femul.v
deleted file mode 100644
index 311587e84..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/femulDisplay.log b/src/Specific/solinas32_2e221m3_9limbs/femulDisplay.log
deleted file mode 100644
index d8bdb846c..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x3 * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x3 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x3 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x3 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x3 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x3 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x19);
- uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x19);
- uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x18);
- uint32_t x52 = ((uint32_t)x50 & 0xffffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x19);
- uint32_t x55 = ((uint32_t)x53 & 0x1ffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x18);
- uint32_t x58 = ((uint32_t)x56 & 0xffffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x19);
- uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x18);
- uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- uint64_t x65 = (x63 + x37);
- uint32_t x66 = (uint32_t) (x65 >> 0x19);
- uint32_t x67 = ((uint32_t)x65 & 0x1ffffff);
- uint64_t x68 = (x66 + x36);
- uint64_t x69 = (x68 >> 0x18);
- uint32_t x70 = ((uint32_t)x68 & 0xffffff);
- uint64_t x71 = (x46 + (0x3 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x19);
- uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x19);
- uint32_t x76 = (x74 & 0x1ffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_9limbs/femulDisplay.v b/src/Specific/solinas32_2e221m3_9limbs/femulDisplay.v
deleted file mode 100644
index 9fb957c7d..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fesquare.c b/src/Specific/solinas32_2e221m3_9limbs/fesquare.c
deleted file mode 100644
index d6e8cf3f3..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x18);
- { uint32_t x47 = (uint32_t) (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x17);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x27 + (0x3 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x19);
- { uint32_t x57 = (x55 & 0x1ffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fesquare.v b/src/Specific/solinas32_2e221m3_9limbs/fesquare.v
deleted file mode 100644
index beeda0579..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.log
deleted file mode 100644
index da6b9195e..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x18);
- uint32_t x47 = (uint32_t) (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x17);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x27 + (0x3 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x19);
- uint32_t x57 = (x55 & 0x1ffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.v
deleted file mode 100644
index 1d5fbce10..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fesub.c b/src/Specific/solinas32_2e221m3_9limbs/fesub.c
deleted file mode 100644
index 094cc73ac..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x3fffffa + x5) - x21);
- out[1] = ((0x3fffffe + x7) - x23);
- out[2] = ((0x1fffffe + x9) - x25);
- out[3] = ((0x3fffffe + x11) - x27);
- out[4] = ((0x1fffffe + x13) - x29);
- out[5] = ((0x3fffffe + x15) - x31);
- out[6] = ((0x1fffffe + x17) - x33);
- out[7] = ((0x3fffffe + x19) - x35);
- out[8] = ((0x1fffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fesub.v b/src/Specific/solinas32_2e221m3_9limbs/fesub.v
deleted file mode 100644
index 90bbfa0bd..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.log
deleted file mode 100644
index 0cb9b46d8..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x1fffffe + x18) - x34), ((0x3fffffe + x19) - x35), ((0x1fffffe + x17) - x33), ((0x3fffffe + x15) - x31), ((0x1fffffe + x13) - x29), ((0x3fffffe + x11) - x27), ((0x1fffffe + x9) - x25), ((0x3fffffe + x7) - x23), ((0x3fffffa + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.v
deleted file mode 100644
index 0bf002a4d..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e221m3_9limbs/freeze.c b/src/Specific/solinas32_2e221m3_9limbs/freeze.c
deleted file mode 100644
index 69217921f..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0xffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0xffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0xffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0xffffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x1fffffd);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0xffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x1ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0xffffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e221m3_9limbs/freeze.v b/src/Specific/solinas32_2e221m3_9limbs/freeze.v
deleted file mode 100644
index efadf1a5a..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.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_2e221m3_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.log
deleted file mode 100644
index 3bdcfa0ed..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0xffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0xffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0xffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0xffffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x1fffffd);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0xffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x1ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0xffffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.v
deleted file mode 100644
index b3de6ffdd..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e221m3_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e221m3_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e221m3_9limbs/py_interpreter.sh
deleted file mode 100755
index c7fb75c2b..000000000
--- a/src/Specific/solinas32_2e221m3_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**221 - 3' -Dmodulus_bytes='24 + 5/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e222m117_10limbs/CurveParameters.v b/src/Specific/solinas32_2e222m117_10limbs/CurveParameters.v
deleted file mode 100644
index 75c7e2c96..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^222 - 117
-Base: 22.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 22 + 1/5;
- bitwidth := 32;
- s := 2^222;
- c := [(1, 117)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e222m117_10limbs/Synthesis.v b/src/Specific/solinas32_2e222m117_10limbs/Synthesis.v
deleted file mode 100644
index cb0f4c535..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/compiler.sh b/src/Specific/solinas32_2e222m117_10limbs/compiler.sh
deleted file mode 100755
index 5976a682e..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/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='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas32_2e222m117_10limbs/compilerxx.sh b/src/Specific/solinas32_2e222m117_10limbs/compilerxx.sh
deleted file mode 100755
index f00a6670a..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/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='{23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas32_2e222m117_10limbs/feadd.c b/src/Specific/solinas32_2e222m117_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_10limbs/feadd.v b/src/Specific/solinas32_2e222m117_10limbs/feadd.v
deleted file mode 100644
index 79b253b51..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.v
deleted file mode 100644
index e6839b871..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fecarry.v b/src/Specific/solinas32_2e222m117_10limbs/fecarry.v
deleted file mode 100644
index d0c58d19d..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e222m117_10limbs/fecarryDisplay.v
deleted file mode 100644
index 5df5b4375..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e222m117_10limbs/femul.c b/src/Specific/solinas32_2e222m117_10limbs/femul.c
deleted file mode 100644
index a890cbb84..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x75 * ((uint64_t)x20 * x38)));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x19 * x23)))))))) + (0x75 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x75 * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x75 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0x75 * (((uint64_t)x15 * x38) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x20 * x33)))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x75 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x75 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x75 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x75 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x16);
- { uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x16);
- { uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x16);
- { uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- { uint64_t x76 = (x74 + x40);
- { uint32_t x77 = (uint32_t) (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x51 + ((uint64_t)0x75 * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x16);
- { uint32_t x84 = (x82 & 0x3fffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_10limbs/femul.v b/src/Specific/solinas32_2e222m117_10limbs/femul.v
deleted file mode 100644
index 1f5231692..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/femulDisplay.log b/src/Specific/solinas32_2e222m117_10limbs/femulDisplay.log
deleted file mode 100644
index 42ac8e79b..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x75 * ((uint64_t)x20 * x38)));
- uint64_t x42 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x19 * x23)))))))) + (0x75 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x75 * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x75 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0x75 * (((uint64_t)x15 * x38) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x20 * x33)))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x75 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x75 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x75 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x75 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x16);
- uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x16);
- uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x16);
- uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- uint64_t x76 = (x74 + x40);
- uint32_t x77 = (uint32_t) (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x51 + ((uint64_t)0x75 * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x16);
- uint32_t x84 = (x82 & 0x3fffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_10limbs/femulDisplay.v b/src/Specific/solinas32_2e222m117_10limbs/femulDisplay.v
deleted file mode 100644
index 95f82806c..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fesquare.c b/src/Specific/solinas32_2e222m117_10limbs/fesquare.c
deleted file mode 100644
index 5d1995438..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x75 * ((uint64_t)x17 * x17)));
- { uint64_t x21 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x75 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((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))))))) + (0x75 * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x75 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x75 * (((uint64_t)x12 * x17) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((uint64_t)x17 * x12)))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x75 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x75 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x75 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x75 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x16);
- { uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x16);
- { uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x16);
- { uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- { uint64_t x52 = (x50 + x20);
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x53 + x19);
- { uint32_t x56 = (uint32_t) (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x30 + ((uint64_t)0x75 * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x16);
- { uint32_t x63 = (x61 & 0x3fffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fesquare.v b/src/Specific/solinas32_2e222m117_10limbs/fesquare.v
deleted file mode 100644
index cdfde13a0..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.log
deleted file mode 100644
index ea75716a5..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x75 * ((uint64_t)x17 * x17)));
- uint64_t x21 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x75 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((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))))))) + (0x75 * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x75 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x75 * (((uint64_t)x12 * x17) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((uint64_t)x17 * x12)))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x75 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x75 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x75 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x75 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x16);
- uint32_t x33 = ((uint32_t)x31 & 0x3fffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x16);
- uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x16);
- uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- uint64_t x52 = (x50 + x20);
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x53 + x19);
- uint32_t x56 = (uint32_t) (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x30 + ((uint64_t)0x75 * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x16);
- uint32_t x63 = (x61 & 0x3fffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.v
deleted file mode 100644
index b62b59ce9..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fesub.c b/src/Specific/solinas32_2e222m117_10limbs/fesub.c
deleted file mode 100644
index ebf300def..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0xffff16 + x5) - x23);
- out[1] = ((0x7ffffe + x7) - x25);
- out[2] = ((0x7ffffe + x9) - x27);
- out[3] = ((0x7ffffe + x11) - x29);
- out[4] = ((0x7ffffe + x13) - x31);
- out[5] = ((0xfffffe + x15) - x33);
- out[6] = ((0x7ffffe + x17) - x35);
- out[7] = ((0x7ffffe + x19) - x37);
- out[8] = ((0x7ffffe + x21) - x39);
- out[9] = ((0x7ffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fesub.v b/src/Specific/solinas32_2e222m117_10limbs/fesub.v
deleted file mode 100644
index 7927c2447..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.log
deleted file mode 100644
index 05a560f1e..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x7ffffe + x20) - x38), ((0x7ffffe + x21) - x39), ((0x7ffffe + x19) - x37), ((0x7ffffe + x17) - x35), ((0xfffffe + x15) - x33), ((0x7ffffe + x13) - x31), ((0x7ffffe + x11) - x29), ((0x7ffffe + x9) - x27), ((0x7ffffe + x7) - x25), ((0xffff16 + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.v
deleted file mode 100644
index 59b000ea3..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e222m117_10limbs/freeze.c b/src/Specific/solinas32_2e222m117_10limbs/freeze.c
deleted file mode 100644
index 31e1b5c00..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff8b);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x3fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x3fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x3fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x7fff8b);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x3fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x3fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x3fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x3fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x3fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x3fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x3fffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_10limbs/freeze.v b/src/Specific/solinas32_2e222m117_10limbs/freeze.v
deleted file mode 100644
index a57b515f3..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.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_2e222m117_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.log
deleted file mode 100644
index d4ff62712..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff8b);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x3fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x3fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x3fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x7fff8b);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x3fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x3fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x3fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x3fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x3fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x3fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x3fffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.v
deleted file mode 100644
index 874bbe919..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e222m117_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e222m117_10limbs/py_interpreter.sh
deleted file mode 100755
index c1d96cfbd..000000000
--- a/src/Specific/solinas32_2e222m117_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='22.2' -Da24='121665'
diff --git a/src/Specific/solinas32_2e222m117_9limbs/CurveParameters.v b/src/Specific/solinas32_2e222m117_9limbs/CurveParameters.v
deleted file mode 100644
index f2eeeef9a..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^222 - 117
-Base: 24 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 24 + 2/3;
- bitwidth := 32;
- s := 2^222;
- c := [(1, 117)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e222m117_9limbs/Synthesis.v b/src/Specific/solinas32_2e222m117_9limbs/Synthesis.v
deleted file mode 100644
index 28806adee..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/compiler.sh b/src/Specific/solinas32_2e222m117_9limbs/compiler.sh
deleted file mode 100755
index 87cbfaa5a..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/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='{25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas32_2e222m117_9limbs/compilerxx.sh b/src/Specific/solinas32_2e222m117_9limbs/compilerxx.sh
deleted file mode 100755
index f380a35cd..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/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='{25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas32_2e222m117_9limbs/feadd.c b/src/Specific/solinas32_2e222m117_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_9limbs/feadd.v b/src/Specific/solinas32_2e222m117_9limbs/feadd.v
deleted file mode 100644
index 729d8f4d0..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.v
deleted file mode 100644
index c3d0b96cc..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fecarry.v b/src/Specific/solinas32_2e222m117_9limbs/fecarry.v
deleted file mode 100644
index ba7d720c8..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e222m117_9limbs/fecarryDisplay.v
deleted file mode 100644
index d6f409027..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e222m117_9limbs/femul.c b/src/Specific/solinas32_2e222m117_9limbs/femul.c
deleted file mode 100644
index a62885f43..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x75 * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x75 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x75 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x75 * ((0x2 * ((uint64_t)x15 * x34)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (0x2 * ((uint64_t)x18 * x31)))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x75 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x75 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x75 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x75 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x19);
- { uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x19);
- { uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x18);
- { uint32_t x52 = ((uint32_t)x50 & 0xffffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x19);
- { uint32_t x55 = ((uint32_t)x53 & 0x1ffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x19);
- { uint32_t x58 = ((uint32_t)x56 & 0x1ffffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x18);
- { uint32_t x61 = ((uint32_t)x59 & 0xffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x19);
- { uint32_t x64 = ((uint32_t)x62 & 0x1ffffff);
- { uint64_t x65 = (x63 + x37);
- { uint64_t x66 = (x65 >> 0x19);
- { uint32_t x67 = ((uint32_t)x65 & 0x1ffffff);
- { uint64_t x68 = (x66 + x36);
- { uint64_t x69 = (x68 >> 0x18);
- { uint32_t x70 = ((uint32_t)x68 & 0xffffff);
- { uint64_t x71 = (x46 + (0x75 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x19);
- { uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x19);
- { uint32_t x76 = (x74 & 0x1ffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_9limbs/femul.v b/src/Specific/solinas32_2e222m117_9limbs/femul.v
deleted file mode 100644
index 1f1a6837a..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/femulDisplay.log b/src/Specific/solinas32_2e222m117_9limbs/femulDisplay.log
deleted file mode 100644
index 83ba14b2c..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x75 * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x75 * ((0x2 * ((uint64_t)x19 * x34)) + (0x2 * ((uint64_t)x18 * x35)))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x75 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x75 * ((0x2 * ((uint64_t)x15 * x34)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (0x2 * ((uint64_t)x18 * x31)))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x75 * ((0x2 * ((uint64_t)x13 * x34)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x75 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x75 * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x75 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x19);
- uint32_t x46 = ((uint32_t)x44 & 0x1ffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x19);
- uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x18);
- uint32_t x52 = ((uint32_t)x50 & 0xffffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x19);
- uint32_t x55 = ((uint32_t)x53 & 0x1ffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x19);
- uint32_t x58 = ((uint32_t)x56 & 0x1ffffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x18);
- uint32_t x61 = ((uint32_t)x59 & 0xffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x19);
- uint32_t x64 = ((uint32_t)x62 & 0x1ffffff);
- uint64_t x65 = (x63 + x37);
- uint64_t x66 = (x65 >> 0x19);
- uint32_t x67 = ((uint32_t)x65 & 0x1ffffff);
- uint64_t x68 = (x66 + x36);
- uint64_t x69 = (x68 >> 0x18);
- uint32_t x70 = ((uint32_t)x68 & 0xffffff);
- uint64_t x71 = (x46 + (0x75 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x19);
- uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x19);
- uint32_t x76 = (x74 & 0x1ffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_9limbs/femulDisplay.v b/src/Specific/solinas32_2e222m117_9limbs/femulDisplay.v
deleted file mode 100644
index 063f2f0b9..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fesquare.c b/src/Specific/solinas32_2e222m117_9limbs/fesquare.c
deleted file mode 100644
index c6201cf09..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x75 * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x75 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x75 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x75 * ((0x2 * ((uint64_t)x12 * x15)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x15 * x12)))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x75 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x75 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x75 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x75 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x19);
- { uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x18);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x17);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x27 + (0x75 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x19);
- { uint32_t x57 = (x55 & 0x1ffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fesquare.v b/src/Specific/solinas32_2e222m117_9limbs/fesquare.v
deleted file mode 100644
index bc237e524..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.log
deleted file mode 100644
index 90145be16..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x75 * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x75 * ((0x2 * ((uint64_t)x16 * x15)) + (0x2 * ((uint64_t)x15 * x16)))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x75 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x75 * ((0x2 * ((uint64_t)x12 * x15)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x15 * x12)))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x75 * ((0x2 * ((uint64_t)x10 * x15)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x75 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x75 * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x75 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x19);
- uint32_t x27 = ((uint32_t)x25 & 0x1ffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x18);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x17);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x27 + (0x75 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x19);
- uint32_t x57 = (x55 & 0x1ffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.v
deleted file mode 100644
index 79b202e26..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fesub.c b/src/Specific/solinas32_2e222m117_9limbs/fesub.c
deleted file mode 100644
index 9c28db3e3..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x3ffff16 + x5) - x21);
- out[1] = ((0x3fffffe + x7) - x23);
- out[2] = ((0x1fffffe + x9) - x25);
- out[3] = ((0x3fffffe + x11) - x27);
- out[4] = ((0x3fffffe + x13) - x29);
- out[5] = ((0x1fffffe + x15) - x31);
- out[6] = ((0x3fffffe + x17) - x33);
- out[7] = ((0x3fffffe + x19) - x35);
- out[8] = ((0x1fffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fesub.v b/src/Specific/solinas32_2e222m117_9limbs/fesub.v
deleted file mode 100644
index 43d42a85b..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.log
deleted file mode 100644
index 0f4a409f7..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x1fffffe + x18) - x34), ((0x3fffffe + x19) - x35), ((0x3fffffe + x17) - x33), ((0x1fffffe + x15) - x31), ((0x3fffffe + x13) - x29), ((0x3fffffe + x11) - x27), ((0x1fffffe + x9) - x25), ((0x3fffffe + x7) - x23), ((0x3ffff16 + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.v
deleted file mode 100644
index e655cca08..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e222m117_9limbs/freeze.c b/src/Specific/solinas32_2e222m117_9limbs/freeze.c
deleted file mode 100644
index 18f848a2e..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffff8b);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0xffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0xffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0xffffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x1ffff8b);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x1ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0xffffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e222m117_9limbs/freeze.v b/src/Specific/solinas32_2e222m117_9limbs/freeze.v
deleted file mode 100644
index ce8b1e7ad..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.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_2e222m117_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.log
deleted file mode 100644
index ee02717f6..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffff8b);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0xffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0xffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0xffffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x1ffff8b);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x1ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0xffffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.v
deleted file mode 100644
index 0b187de68..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e222m117_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e222m117_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e222m117_9limbs/py_interpreter.sh
deleted file mode 100755
index e4ce5bef0..000000000
--- a/src/Specific/solinas32_2e222m117_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='24 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/CurveParameters.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/CurveParameters.v
deleted file mode 100644
index 63e25fda4..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/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: 22.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 22 + 2/5;
- bitwidth := 32;
- s := 2^224;
- c := [(1, -1); (2^96, 1)];
- carry_chains := Some [[3; 9]; [4; 0; 5; 1; 6; 2; 7; 3; 8; 9]; [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_10limbs/Synthesis.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/Synthesis.v
deleted file mode 100644
index 8f71b99c5..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/compiler.sh b/src/Specific/solinas32_2e224m2e96p1_10limbs/compiler.sh
deleted file mode 100755
index 8bdc01deb..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/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='{23,22,23,22,22,23,22,23,22,22}' -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='10' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/compilerxx.sh b/src/Specific/solinas32_2e224m2e96p1_10limbs/compilerxx.sh
deleted file mode 100755
index d0eb018cd..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/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='{23,22,23,22,22,23,22,23,22,22}' -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='10' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.c b/src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.v
deleted file mode 100644
index 0e3965187..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.v
deleted file mode 100644
index 55c1faf1a..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/fecarry.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/fecarry.v
deleted file mode 100644
index d7337e78c..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/fecarryDisplay.v
deleted file mode 100644
index f4afb2efe..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/femul.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/femul.v
deleted file mode 100644
index 9b47d09d9..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/femulDisplay.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/femulDisplay.v
deleted file mode 100644
index 6dd1efe1f..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/fesquare.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/fesquare.v
deleted file mode 100644
index ed5fc8e4c..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/fesquareDisplay.v
deleted file mode 100644
index bd4003b15..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/fesub.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/fesub.v
deleted file mode 100644
index 1b3a09e66..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/fesubDisplay.v
deleted file mode 100644
index e16f6f74a..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.c b/src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.c
deleted file mode 100644
index 3330e06cc..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.c
+++ /dev/null
@@ -1,51 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, ℤ x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (0x0, Return x2, 0x1);
- { uint32_t x23, ℤ x24 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x21, Return x4, 0x0);
- { uint32_t x26, ℤ x27 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x24, Return x6, 0x0);
- { uint32_t x29, ℤ x30 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x27, Return x8, 0x0);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffc0);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint8_t x50 = ((uint8_t)x49 & 0x1);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, 0x0);
- { uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x26, 0x0);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x29, 0x0);
- { uint32_t x63 = (x49 & 0x3fffc0);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x32, Return x63);
- { uint32_t x67 = (x49 & 0x7fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x35, Return x67);
- { uint32_t x71 = (x49 & 0x3fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x38, Return x71);
- { uint32_t x75 = (x49 & 0x7fffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x41, Return x75);
- { uint32_t x79 = (x49 & 0x3fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x44, Return x79);
- { uint32_t x83 = (x49 & 0x3fffff);
- { uint32_t x85, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x47, Return x83);
- out[0] = x52;
- out[1] = x55;
- out[2] = x58;
- out[3] = x61;
- out[4] = x65;
- out[5] = x69;
- out[6] = x73;
- out[7] = x77;
- out[8] = x81;
- out[9] = x85;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.v
deleted file mode 100644
index f4e276b8d..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.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_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.log
deleted file mode 100644
index 006a5223d..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, ℤ x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (0x0, Return x2, 0x1);
- uint32_t x23, ℤ x24 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x21, Return x4, 0x0);
- uint32_t x26, ℤ x27 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x24, Return x6, 0x0);
- uint32_t x29, ℤ x30 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x27, Return x8, 0x0);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffc0);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint8_t x50 = ((uint8_t)x49 & 0x1);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, 0x0);
- uint32_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x26, 0x0);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x29, 0x0);
- uint32_t x63 = (x49 & 0x3fffc0);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x32, Return x63);
- uint32_t x67 = (x49 & 0x7fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x35, Return x67);
- uint32_t x71 = (x49 & 0x3fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x38, Return x71);
- uint32_t x75 = (x49 & 0x7fffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x41, Return x75);
- uint32_t x79 = (x49 & 0x3fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x44, Return x79);
- uint32_t x83 = (x49 & 0x3fffff);
- uint32_t x85, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x47, Return x83);
- (Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, Return x58, Return x55, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.v
deleted file mode 100644
index 095e23dd7..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e224m2e96p1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e224m2e96p1_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e224m2e96p1_10limbs/py_interpreter.sh
deleted file mode 100755
index b5e8d1471..000000000
--- a/src/Specific/solinas32_2e224m2e96p1_10limbs/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='22.4' -Da24='121665'
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'
diff --git a/src/Specific/solinas32_2e226m5_10limbs/CurveParameters.v b/src/Specific/solinas32_2e226m5_10limbs/CurveParameters.v
deleted file mode 100644
index f24259a96..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^226 - 5
-Base: 22.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 22 + 3/5;
- bitwidth := 32;
- s := 2^226;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e226m5_10limbs/Synthesis.v b/src/Specific/solinas32_2e226m5_10limbs/Synthesis.v
deleted file mode 100644
index 7041d9eba..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/compiler.sh b/src/Specific/solinas32_2e226m5_10limbs/compiler.sh
deleted file mode 100755
index 9a00ae187..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas32_2e226m5_10limbs/compilerxx.sh b/src/Specific/solinas32_2e226m5_10limbs/compilerxx.sh
deleted file mode 100755
index b93a17e6d..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas32_2e226m5_10limbs/feadd.c b/src/Specific/solinas32_2e226m5_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_10limbs/feadd.v b/src/Specific/solinas32_2e226m5_10limbs/feadd.v
deleted file mode 100644
index ab300e83f..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.v
deleted file mode 100644
index 3b1cee79e..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fecarry.v b/src/Specific/solinas32_2e226m5_10limbs/fecarry.v
deleted file mode 100644
index 82c44a8a6..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e226m5_10limbs/fecarryDisplay.v
deleted file mode 100644
index 0abd80675..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e226m5_10limbs/femul.c b/src/Specific/solinas32_2e226m5_10limbs/femul.c
deleted file mode 100644
index eba25c56e..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x5 * (0x2 * ((uint64_t)x20 * x38))));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x5 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x5 * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x5 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x5 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x38)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (0x2 * ((uint64_t)x20 * x31)))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (0x5 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x5 * ((0x2 * ((uint64_t)x9 * x38)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + (0x2 * ((uint64_t)x20 * x27)))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x5 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint32_t x53 = (uint32_t) (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x47);
- { uint32_t x56 = (uint32_t) (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x56 + x46);
- { uint32_t x59 = (uint32_t) (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x45);
- { uint32_t x62 = (uint32_t) (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x44);
- { uint32_t x65 = (uint32_t) (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint32_t x68 = (uint32_t) (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x42);
- { uint32_t x71 = (uint32_t) (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x41);
- { uint32_t x74 = (uint32_t) (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x40);
- { uint32_t x77 = (uint32_t) (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x51 + ((uint64_t)0x5 * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x17);
- { uint32_t x84 = (x82 & 0x7fffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_10limbs/femul.v b/src/Specific/solinas32_2e226m5_10limbs/femul.v
deleted file mode 100644
index b78840458..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/femulDisplay.log b/src/Specific/solinas32_2e226m5_10limbs/femulDisplay.log
deleted file mode 100644
index ad4235c49..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x5 * (0x2 * ((uint64_t)x20 * x38))));
- uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x5 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x5 * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x5 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x5 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x5 * ((0x2 * ((uint64_t)x13 * x38)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (0x2 * ((uint64_t)x20 * x31)))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (0x5 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x5 * ((0x2 * ((uint64_t)x9 * x38)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + (0x2 * ((uint64_t)x20 * x27)))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x5 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x47);
- uint32_t x56 = (uint32_t) (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x56 + x46);
- uint32_t x59 = (uint32_t) (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x45);
- uint32_t x62 = (uint32_t) (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x44);
- uint32_t x65 = (uint32_t) (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint32_t x68 = (uint32_t) (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x42);
- uint32_t x71 = (uint32_t) (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x41);
- uint32_t x74 = (uint32_t) (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x40);
- uint32_t x77 = (uint32_t) (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x51 + ((uint64_t)0x5 * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x17);
- uint32_t x84 = (x82 & 0x7fffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_10limbs/femulDisplay.v b/src/Specific/solinas32_2e226m5_10limbs/femulDisplay.v
deleted file mode 100644
index 3941a95a0..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fesquare.c b/src/Specific/solinas32_2e226m5_10limbs/fesquare.c
deleted file mode 100644
index 3c4af1c29..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x5 * (0x2 * ((uint64_t)x17 * x17))));
- { uint64_t x21 = ((((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)))))))) + (0x5 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x5 * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x5 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x17)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (0x2 * ((uint64_t)x17 * x10)))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x17)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (0x2 * ((uint64_t)x17 * x6)))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x27);
- { uint32_t x32 = (uint32_t) (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x26);
- { uint32_t x35 = (uint32_t) (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x25);
- { uint32_t x38 = (uint32_t) (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x24);
- { uint32_t x41 = (uint32_t) (x40 >> 0x16);
- { uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- { uint64_t x43 = (x41 + x23);
- { uint32_t x44 = (uint32_t) (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x22);
- { uint32_t x47 = (uint32_t) (x46 >> 0x17);
- { uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- { uint64_t x49 = (x47 + x21);
- { uint32_t x50 = (uint32_t) (x49 >> 0x16);
- { uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- { uint64_t x52 = (x50 + x20);
- { uint32_t x53 = (uint32_t) (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x19);
- { uint32_t x56 = (uint32_t) (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x30 + ((uint64_t)0x5 * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x17);
- { uint32_t x63 = (x61 & 0x7fffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fesquare.v b/src/Specific/solinas32_2e226m5_10limbs/fesquare.v
deleted file mode 100644
index f4d3eecf6..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.log
deleted file mode 100644
index b04e3499c..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x5 * (0x2 * ((uint64_t)x17 * x17))));
- uint64_t x21 = ((((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)))))))) + (0x5 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x5 * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x5 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x5 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * ((0x2 * ((uint64_t)x10 * x17)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (0x2 * ((uint64_t)x17 * x10)))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * ((0x2 * ((uint64_t)x6 * x17)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (0x2 * ((uint64_t)x17 * x6)))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x27);
- uint32_t x32 = (uint32_t) (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x26);
- uint32_t x35 = (uint32_t) (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x25);
- uint32_t x38 = (uint32_t) (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x24);
- uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
- uint64_t x43 = (x41 + x23);
- uint32_t x44 = (uint32_t) (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x22);
- uint32_t x47 = (uint32_t) (x46 >> 0x17);
- uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- uint64_t x49 = (x47 + x21);
- uint32_t x50 = (uint32_t) (x49 >> 0x16);
- uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
- uint64_t x52 = (x50 + x20);
- uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x19);
- uint32_t x56 = (uint32_t) (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x30 + ((uint64_t)0x5 * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x17);
- uint32_t x63 = (x61 & 0x7fffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.v
deleted file mode 100644
index 72209434d..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fesub.c b/src/Specific/solinas32_2e226m5_10limbs/fesub.c
deleted file mode 100644
index 55f642d62..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0xfffff6 + x5) - x23);
- out[1] = ((0xfffffe + x7) - x25);
- out[2] = ((0x7ffffe + x9) - x27);
- out[3] = ((0xfffffe + x11) - x29);
- out[4] = ((0x7ffffe + x13) - x31);
- out[5] = ((0xfffffe + x15) - x33);
- out[6] = ((0xfffffe + x17) - x35);
- out[7] = ((0x7ffffe + x19) - x37);
- out[8] = ((0xfffffe + x21) - x39);
- out[9] = ((0x7ffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fesub.v b/src/Specific/solinas32_2e226m5_10limbs/fesub.v
deleted file mode 100644
index fa978c553..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.log
deleted file mode 100644
index 55787bb66..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x7ffffe + x20) - x38), ((0xfffffe + x21) - x39), ((0x7ffffe + x19) - x37), ((0xfffffe + x17) - x35), ((0xfffffe + x15) - x33), ((0x7ffffe + x13) - x31), ((0xfffffe + x11) - x29), ((0x7ffffe + x9) - x27), ((0xfffffe + x7) - x25), ((0xfffff6 + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.v
deleted file mode 100644
index 12dbf603e..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e226m5_10limbs/freeze.c b/src/Specific/solinas32_2e226m5_10limbs/freeze.c
deleted file mode 100644
index fd30ceda1..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffb);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x3fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x7ffffb);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x7fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x3fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x3fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x3fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x7fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x3fffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_10limbs/freeze.v b/src/Specific/solinas32_2e226m5_10limbs/freeze.v
deleted file mode 100644
index c8cdcf777..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.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_2e226m5_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.log
deleted file mode 100644
index ae7e06b76..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffb);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x3fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x7ffffb);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x7fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x3fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x3fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x3fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x7fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x3fffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.v
deleted file mode 100644
index 052fe3eb9..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e226m5_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e226m5_10limbs/py_interpreter.sh
deleted file mode 100755
index 4d6c5df92..000000000
--- a/src/Specific/solinas32_2e226m5_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**226 - 5' -Dmodulus_bytes='22.6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e226m5_9limbs/CurveParameters.v b/src/Specific/solinas32_2e226m5_9limbs/CurveParameters.v
deleted file mode 100644
index cd1c394d9..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^226 - 5
-Base: 25 + 1/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 25 + 1/9;
- bitwidth := 32;
- s := 2^226;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e226m5_9limbs/Synthesis.v b/src/Specific/solinas32_2e226m5_9limbs/Synthesis.v
deleted file mode 100644
index b4e89beef..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/compiler.sh b/src/Specific/solinas32_2e226m5_9limbs/compiler.sh
deleted file mode 100755
index 82a3fc691..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas32_2e226m5_9limbs/compilerxx.sh b/src/Specific/solinas32_2e226m5_9limbs/compilerxx.sh
deleted file mode 100755
index 7fc933c31..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas32_2e226m5_9limbs/feadd.c b/src/Specific/solinas32_2e226m5_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_9limbs/feadd.v b/src/Specific/solinas32_2e226m5_9limbs/feadd.v
deleted file mode 100644
index 5a75575b4..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.v
deleted file mode 100644
index 2531629b3..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fecarry.v b/src/Specific/solinas32_2e226m5_9limbs/fecarry.v
deleted file mode 100644
index 9d71b33ba..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e226m5_9limbs/fecarryDisplay.v
deleted file mode 100644
index 313aea908..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e226m5_9limbs/femul.c b/src/Specific/solinas32_2e226m5_9limbs/femul.c
deleted file mode 100644
index f023c4b4b..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x5 * ((uint64_t)x18 * x34)));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x5 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x5 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0x5 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x5 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0x5 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x5 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x5 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x1a);
- { uint32_t x46 = ((uint32_t)x44 & 0x3ffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x19);
- { uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x19);
- { uint32_t x52 = ((uint32_t)x50 & 0x1ffffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x19);
- { uint32_t x55 = ((uint32_t)x53 & 0x1ffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x19);
- { uint32_t x58 = ((uint32_t)x56 & 0x1ffffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x19);
- { uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x19);
- { uint32_t x64 = ((uint32_t)x62 & 0x1ffffff);
- { uint64_t x65 = (x63 + x37);
- { uint64_t x66 = (x65 >> 0x19);
- { uint32_t x67 = ((uint32_t)x65 & 0x1ffffff);
- { uint64_t x68 = (x66 + x36);
- { uint64_t x69 = (x68 >> 0x19);
- { uint32_t x70 = ((uint32_t)x68 & 0x1ffffff);
- { uint64_t x71 = (x46 + (0x5 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x1a);
- { uint32_t x73 = ((uint32_t)x71 & 0x3ffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x19);
- { uint32_t x76 = (x74 & 0x1ffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_9limbs/femul.v b/src/Specific/solinas32_2e226m5_9limbs/femul.v
deleted file mode 100644
index 9d10ee815..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/femulDisplay.log b/src/Specific/solinas32_2e226m5_9limbs/femulDisplay.log
deleted file mode 100644
index e9f4ba5de..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x5 * ((uint64_t)x18 * x34)));
- uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0x5 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x5 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0x5 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x5 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0x5 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x5 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x5 * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x1a);
- uint32_t x46 = ((uint32_t)x44 & 0x3ffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x19);
- uint32_t x49 = ((uint32_t)x47 & 0x1ffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x19);
- uint32_t x52 = ((uint32_t)x50 & 0x1ffffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x19);
- uint32_t x55 = ((uint32_t)x53 & 0x1ffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x19);
- uint32_t x58 = ((uint32_t)x56 & 0x1ffffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x19);
- uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x19);
- uint32_t x64 = ((uint32_t)x62 & 0x1ffffff);
- uint64_t x65 = (x63 + x37);
- uint64_t x66 = (x65 >> 0x19);
- uint32_t x67 = ((uint32_t)x65 & 0x1ffffff);
- uint64_t x68 = (x66 + x36);
- uint64_t x69 = (x68 >> 0x19);
- uint32_t x70 = ((uint32_t)x68 & 0x1ffffff);
- uint64_t x71 = (x46 + (0x5 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x1a);
- uint32_t x73 = ((uint32_t)x71 & 0x3ffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x19);
- uint32_t x76 = (x74 & 0x1ffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_9limbs/femulDisplay.v b/src/Specific/solinas32_2e226m5_9limbs/femulDisplay.v
deleted file mode 100644
index 2613e8b5e..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fesquare.c b/src/Specific/solinas32_2e226m5_9limbs/fesquare.c
deleted file mode 100644
index 91eb73d03..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x5 * ((uint64_t)x15 * x15)));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x5 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x5 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x1a);
- { uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x18);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x17);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x27 + (0x5 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x19);
- { uint32_t x57 = (x55 & 0x1ffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fesquare.v b/src/Specific/solinas32_2e226m5_9limbs/fesquare.v
deleted file mode 100644
index ea3d4d80b..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.log
deleted file mode 100644
index 507ed9466..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x5 * ((uint64_t)x15 * x15)));
- uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x5 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x5 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x1a);
- uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x18);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x17);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x27 + (0x5 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x19);
- uint32_t x57 = (x55 & 0x1ffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.v
deleted file mode 100644
index 54212e3c1..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fesub.c b/src/Specific/solinas32_2e226m5_9limbs/fesub.c
deleted file mode 100644
index 73238f0b1..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7fffff6 + x5) - x21);
- out[1] = ((0x3fffffe + x7) - x23);
- out[2] = ((0x3fffffe + x9) - x25);
- out[3] = ((0x3fffffe + x11) - x27);
- out[4] = ((0x3fffffe + x13) - x29);
- out[5] = ((0x3fffffe + x15) - x31);
- out[6] = ((0x3fffffe + x17) - x33);
- out[7] = ((0x3fffffe + x19) - x35);
- out[8] = ((0x3fffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fesub.v b/src/Specific/solinas32_2e226m5_9limbs/fesub.v
deleted file mode 100644
index 12ef11f0a..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.log
deleted file mode 100644
index dde4f2fe7..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3fffffe + x18) - x34), ((0x3fffffe + x19) - x35), ((0x3fffffe + x17) - x33), ((0x3fffffe + x15) - x31), ((0x3fffffe + x13) - x29), ((0x3fffffe + x11) - x27), ((0x3fffffe + x9) - x25), ((0x3fffffe + x7) - x23), ((0x7fffff6 + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.v
deleted file mode 100644
index e7cb220a8..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e226m5_9limbs/freeze.c b/src/Specific/solinas32_2e226m5_9limbs/freeze.c
deleted file mode 100644
index 7637cfeb2..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3fffffb);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x1ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x1ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x1ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x1ffffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e226m5_9limbs/freeze.v b/src/Specific/solinas32_2e226m5_9limbs/freeze.v
deleted file mode 100644
index 5c724caf5..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.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_2e226m5_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.log
deleted file mode 100644
index aaf536664..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffb);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x1ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3fffffb);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x1ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x1ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x1ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x1ffffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.v
deleted file mode 100644
index 3d8f485f7..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e226m5_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e226m5_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e226m5_9limbs/py_interpreter.sh
deleted file mode 100755
index da7fb307b..000000000
--- a/src/Specific/solinas32_2e226m5_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**226 - 5' -Dmodulus_bytes='25 + 1/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e230m27_10limbs/CurveParameters.v b/src/Specific/solinas32_2e230m27_10limbs/CurveParameters.v
deleted file mode 100644
index dfc3c0964..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^230 - 27
-Base: 23
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 23;
- bitwidth := 32;
- s := 2^230;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e230m27_10limbs/Synthesis.v b/src/Specific/solinas32_2e230m27_10limbs/Synthesis.v
deleted file mode 100644
index 7a71a0705..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/compiler.sh b/src/Specific/solinas32_2e230m27_10limbs/compiler.sh
deleted file mode 100755
index 56cbabf3b..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas32_2e230m27_10limbs/compilerxx.sh b/src/Specific/solinas32_2e230m27_10limbs/compilerxx.sh
deleted file mode 100755
index 083fe1806..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas32_2e230m27_10limbs/feadd.c b/src/Specific/solinas32_2e230m27_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_10limbs/feadd.v b/src/Specific/solinas32_2e230m27_10limbs/feadd.v
deleted file mode 100644
index 98f53517c..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.v
deleted file mode 100644
index 1f20a273f..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fecarry.v b/src/Specific/solinas32_2e230m27_10limbs/fecarry.v
deleted file mode 100644
index 236dc48d6..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e230m27_10limbs/fecarryDisplay.v
deleted file mode 100644
index d9fa44640..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e230m27_10limbs/femul.c b/src/Specific/solinas32_2e230m27_10limbs/femul.c
deleted file mode 100644
index 75851dd8a..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x21 * x23))))))))) + (0x1b * ((uint64_t)x20 * x38)));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x1b * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x1b * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((uint64_t)x15 * x23)))))) + (0x1b * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x1b * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)))) + (0x1b * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (0x1b * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x1b * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x1b * (((uint64_t)x7 * x38) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x20 * x25)))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x17);
- { uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x41);
- { uint32_t x74 = (uint32_t) (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x40);
- { uint32_t x77 = (uint32_t) (x76 >> 0x17);
- { uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- { uint64_t x79 = (x51 + ((uint64_t)0x1b * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x17);
- { uint32_t x84 = (x82 & 0x7fffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_10limbs/femul.v b/src/Specific/solinas32_2e230m27_10limbs/femul.v
deleted file mode 100644
index 9c8a38673..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/femulDisplay.log b/src/Specific/solinas32_2e230m27_10limbs/femulDisplay.log
deleted file mode 100644
index 9588152da..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x21 * x23))))))))) + (0x1b * ((uint64_t)x20 * x38)));
- uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x1b * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x1b * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((uint64_t)x15 * x23)))))) + (0x1b * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x1b * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)))) + (0x1b * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (0x1b * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x1b * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x1b * (((uint64_t)x7 * x38) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x20 * x25)))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x17);
- uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x41);
- uint32_t x74 = (uint32_t) (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x40);
- uint32_t x77 = (uint32_t) (x76 >> 0x17);
- uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- uint64_t x79 = (x51 + ((uint64_t)0x1b * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x17);
- uint32_t x84 = (x82 & 0x7fffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_10limbs/femulDisplay.v b/src/Specific/solinas32_2e230m27_10limbs/femulDisplay.v
deleted file mode 100644
index 744087da0..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fesquare.c b/src/Specific/solinas32_2e230m27_10limbs/fesquare.c
deleted file mode 100644
index 7be6c9a29..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x1b * ((uint64_t)x17 * x17)));
- { uint64_t x21 = ((((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)))))))) + (0x1b * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((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))))))) + (0x1b * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1b * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1b * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x1b * (((uint64_t)x4 * x17) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((uint64_t)x17 * x4)))))))))));
- { uint64_t x29 = (x28 >> 0x17);
- { uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x17);
- { uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x20);
- { uint32_t x53 = (uint32_t) (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x19);
- { uint32_t x56 = (uint32_t) (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x30 + ((uint64_t)0x1b * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x17);
- { uint32_t x63 = (x61 & 0x7fffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fesquare.v b/src/Specific/solinas32_2e230m27_10limbs/fesquare.v
deleted file mode 100644
index b4df13e13..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.log
deleted file mode 100644
index 37ac5e492..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x1b * ((uint64_t)x17 * x17)));
- uint64_t x21 = ((((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)))))))) + (0x1b * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((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))))))) + (0x1b * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1b * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1b * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x1b * (((uint64_t)x4 * x17) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((uint64_t)x17 * x4)))))))))));
- uint64_t x29 = (x28 >> 0x17);
- uint32_t x30 = ((uint32_t)x28 & 0x7fffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x17);
- uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x20);
- uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x19);
- uint32_t x56 = (uint32_t) (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x30 + ((uint64_t)0x1b * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x17);
- uint32_t x63 = (x61 & 0x7fffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.v
deleted file mode 100644
index d0051e4ab..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fesub.c b/src/Specific/solinas32_2e230m27_10limbs/fesub.c
deleted file mode 100644
index 7a81c7e89..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0xffffca + x5) - x23);
- out[1] = ((0xfffffe + x7) - x25);
- out[2] = ((0xfffffe + x9) - x27);
- out[3] = ((0xfffffe + x11) - x29);
- out[4] = ((0xfffffe + x13) - x31);
- out[5] = ((0xfffffe + x15) - x33);
- out[6] = ((0xfffffe + x17) - x35);
- out[7] = ((0xfffffe + x19) - x37);
- out[8] = ((0xfffffe + x21) - x39);
- out[9] = ((0xfffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fesub.v b/src/Specific/solinas32_2e230m27_10limbs/fesub.v
deleted file mode 100644
index 1247defc8..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.log
deleted file mode 100644
index d40b94113..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0xfffffe + x20) - x38), ((0xfffffe + x21) - x39), ((0xfffffe + x19) - x37), ((0xfffffe + x17) - x35), ((0xfffffe + x15) - x33), ((0xfffffe + x13) - x31), ((0xfffffe + x11) - x29), ((0xfffffe + x9) - x27), ((0xfffffe + x7) - x25), ((0xffffca + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.v
deleted file mode 100644
index b070b9752..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e230m27_10limbs/freeze.c b/src/Specific/solinas32_2e230m27_10limbs/freeze.c
deleted file mode 100644
index feed33dcc..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffe5);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x7fffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x7fffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7fffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x7fffe5);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x7fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x7fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x7fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x7fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x7fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x7fffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_10limbs/freeze.v b/src/Specific/solinas32_2e230m27_10limbs/freeze.v
deleted file mode 100644
index 5cec72e1d..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.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_2e230m27_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.log
deleted file mode 100644
index cdedba2b3..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffe5);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x7fffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x7fffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7fffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x7fffe5);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x7fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x7fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x7fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x7fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x7fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x7fffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.v
deleted file mode 100644
index 843f5cb18..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e230m27_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e230m27_10limbs/py_interpreter.sh
deleted file mode 100755
index 486f57c5c..000000000
--- a/src/Specific/solinas32_2e230m27_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**230 - 27' -Dmodulus_bytes='23' -Da24='121665'
diff --git a/src/Specific/solinas32_2e230m27_9limbs/CurveParameters.v b/src/Specific/solinas32_2e230m27_9limbs/CurveParameters.v
deleted file mode 100644
index c9ec2e232..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^230 - 27
-Base: 25 + 5/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 25 + 5/9;
- bitwidth := 32;
- s := 2^230;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e230m27_9limbs/Synthesis.v b/src/Specific/solinas32_2e230m27_9limbs/Synthesis.v
deleted file mode 100644
index 1f717402e..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/compiler.sh b/src/Specific/solinas32_2e230m27_9limbs/compiler.sh
deleted file mode 100755
index 09641f52b..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas32_2e230m27_9limbs/compilerxx.sh b/src/Specific/solinas32_2e230m27_9limbs/compilerxx.sh
deleted file mode 100755
index 92086d2cc..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas32_2e230m27_9limbs/feadd.c b/src/Specific/solinas32_2e230m27_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_9limbs/feadd.v b/src/Specific/solinas32_2e230m27_9limbs/feadd.v
deleted file mode 100644
index d33980e5b..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.v
deleted file mode 100644
index d4c22eb54..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fecarry.v b/src/Specific/solinas32_2e230m27_9limbs/fecarry.v
deleted file mode 100644
index 3f564d158..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e230m27_9limbs/fecarryDisplay.v
deleted file mode 100644
index 4a928621a..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e230m27_9limbs/femul.c b/src/Specific/solinas32_2e230m27_9limbs/femul.c
deleted file mode 100644
index bd7cc2425..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x1b * (0x2 * ((uint64_t)x18 * x34))));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x1b * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x1b * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x1b * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x1b * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x1b * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x1b * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x1b * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x1a);
- { uint32_t x46 = ((uint32_t)x44 & 0x3ffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x1a);
- { uint32_t x49 = ((uint32_t)x47 & 0x3ffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x19);
- { uint32_t x52 = ((uint32_t)x50 & 0x1ffffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x1a);
- { uint32_t x55 = ((uint32_t)x53 & 0x3ffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x19);
- { uint32_t x58 = ((uint32_t)x56 & 0x1ffffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x1a);
- { uint32_t x61 = ((uint32_t)x59 & 0x3ffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x19);
- { uint32_t x64 = ((uint32_t)x62 & 0x1ffffff);
- { uint64_t x65 = (x63 + x37);
- { uint64_t x66 = (x65 >> 0x1a);
- { uint32_t x67 = ((uint32_t)x65 & 0x3ffffff);
- { uint64_t x68 = (x66 + x36);
- { uint64_t x69 = (x68 >> 0x19);
- { uint32_t x70 = ((uint32_t)x68 & 0x1ffffff);
- { uint64_t x71 = (x46 + (0x1b * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x1a);
- { uint32_t x73 = ((uint32_t)x71 & 0x3ffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = (x74 & 0x3ffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_9limbs/femul.v b/src/Specific/solinas32_2e230m27_9limbs/femul.v
deleted file mode 100644
index a2a70e6a0..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/femulDisplay.log b/src/Specific/solinas32_2e230m27_9limbs/femulDisplay.log
deleted file mode 100644
index 9d383a1a5..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + (((uint64_t)x15 * x27) + ((0x2 * ((uint64_t)x17 * x25)) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0x1b * (0x2 * ((uint64_t)x18 * x34))));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((0x2 * ((uint64_t)x9 * x29)) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x1b * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0x1b * ((0x2 * ((uint64_t)x17 * x34)) + (((uint64_t)x19 * x35) + (0x2 * ((uint64_t)x18 * x33))))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((0x2 * ((uint64_t)x9 * x25)) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x1b * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0x1b * ((0x2 * ((uint64_t)x13 * x34)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + (0x2 * ((uint64_t)x18 * x29))))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x1b * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x1b * ((0x2 * ((uint64_t)x9 * x34)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + (((uint64_t)x19 * x27) + (0x2 * ((uint64_t)x18 * x25))))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x1b * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x1a);
- uint32_t x46 = ((uint32_t)x44 & 0x3ffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x1a);
- uint32_t x49 = ((uint32_t)x47 & 0x3ffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x19);
- uint32_t x52 = ((uint32_t)x50 & 0x1ffffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x1a);
- uint32_t x55 = ((uint32_t)x53 & 0x3ffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x19);
- uint32_t x58 = ((uint32_t)x56 & 0x1ffffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x1a);
- uint32_t x61 = ((uint32_t)x59 & 0x3ffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x19);
- uint32_t x64 = ((uint32_t)x62 & 0x1ffffff);
- uint64_t x65 = (x63 + x37);
- uint64_t x66 = (x65 >> 0x1a);
- uint32_t x67 = ((uint32_t)x65 & 0x3ffffff);
- uint64_t x68 = (x66 + x36);
- uint64_t x69 = (x68 >> 0x19);
- uint32_t x70 = ((uint32_t)x68 & 0x1ffffff);
- uint64_t x71 = (x46 + (0x1b * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x1a);
- uint32_t x73 = ((uint32_t)x71 & 0x3ffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x1a);
- uint32_t x76 = (x74 & 0x3ffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_9limbs/femulDisplay.v b/src/Specific/solinas32_2e230m27_9limbs/femulDisplay.v
deleted file mode 100644
index 0dd0b6119..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fesquare.c b/src/Specific/solinas32_2e230m27_9limbs/fesquare.c
deleted file mode 100644
index fbdfc90de..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1b * (0x2 * ((uint64_t)x15 * x15))));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1b * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1b * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1b * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x1b * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x1a);
- { uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x18);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x17);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x27 + (0x1b * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = (x55 & 0x3ffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fesquare.v b/src/Specific/solinas32_2e230m27_9limbs/fesquare.v
deleted file mode 100644
index 115aa6d1d..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.log
deleted file mode 100644
index c03ff40bc..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1b * (0x2 * ((uint64_t)x15 * x15))));
- uint64_t x19 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1b * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1b * ((0x2 * ((uint64_t)x14 * x15)) + (((uint64_t)x16 * x16) + (0x2 * ((uint64_t)x15 * x14))))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1b * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1b * ((0x2 * ((uint64_t)x10 * x15)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (0x2 * ((uint64_t)x15 * x10))))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1b * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1b * ((0x2 * ((uint64_t)x6 * x15)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x15 * x6))))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x1b * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x1a);
- uint32_t x27 = ((uint32_t)x25 & 0x3ffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x18);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x17);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x27 + (0x1b * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x1a);
- uint32_t x57 = (x55 & 0x3ffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.v
deleted file mode 100644
index 7f8241b7d..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fesub.c b/src/Specific/solinas32_2e230m27_9limbs/fesub.c
deleted file mode 100644
index 43446f792..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0x7ffffca + x5) - x21);
- out[1] = ((0x7fffffe + x7) - x23);
- out[2] = ((0x3fffffe + x9) - x25);
- out[3] = ((0x7fffffe + x11) - x27);
- out[4] = ((0x3fffffe + x13) - x29);
- out[5] = ((0x7fffffe + x15) - x31);
- out[6] = ((0x3fffffe + x17) - x33);
- out[7] = ((0x7fffffe + x19) - x35);
- out[8] = ((0x3fffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fesub.v b/src/Specific/solinas32_2e230m27_9limbs/fesub.v
deleted file mode 100644
index ac56bb8be..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.log
deleted file mode 100644
index a41438c35..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3fffffe + x18) - x34), ((0x7fffffe + x19) - x35), ((0x3fffffe + x17) - x33), ((0x7fffffe + x15) - x31), ((0x3fffffe + x13) - x29), ((0x7fffffe + x11) - x27), ((0x3fffffe + x9) - x25), ((0x7fffffe + x7) - x23), ((0x7ffffca + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.v
deleted file mode 100644
index 5b31e9725..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e230m27_9limbs/freeze.c b/src/Specific/solinas32_2e230m27_9limbs/freeze.c
deleted file mode 100644
index 341d005c3..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe5);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x3ffffe5);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x3ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x1ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x3ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x1ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x3ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x1ffffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e230m27_9limbs/freeze.v b/src/Specific/solinas32_2e230m27_9limbs/freeze.v
deleted file mode 100644
index 3184a0b11..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.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_2e230m27_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.log
deleted file mode 100644
index 82f0bae3f..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe5);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x3ffffe5);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x3ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x1ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x3ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x1ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x3ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x1ffffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.v
deleted file mode 100644
index 0fa9ada14..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e230m27_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e230m27_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e230m27_9limbs/py_interpreter.sh
deleted file mode 100755
index ed0d883b7..000000000
--- a/src/Specific/solinas32_2e230m27_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**230 - 27' -Dmodulus_bytes='25 + 5/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e235m15_10limbs/CurveParameters.v b/src/Specific/solinas32_2e235m15_10limbs/CurveParameters.v
deleted file mode 100644
index fa37e34ac..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^235 - 15
-Base: 23.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 23 + 1/2;
- bitwidth := 32;
- s := 2^235;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e235m15_10limbs/Synthesis.v b/src/Specific/solinas32_2e235m15_10limbs/Synthesis.v
deleted file mode 100644
index 54803293b..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/compiler.sh b/src/Specific/solinas32_2e235m15_10limbs/compiler.sh
deleted file mode 100755
index 221a33cc8..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas32_2e235m15_10limbs/compilerxx.sh b/src/Specific/solinas32_2e235m15_10limbs/compilerxx.sh
deleted file mode 100755
index 668afec7d..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,24,23,24,23,24,23,24,23}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas32_2e235m15_10limbs/feadd.c b/src/Specific/solinas32_2e235m15_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_10limbs/feadd.v b/src/Specific/solinas32_2e235m15_10limbs/feadd.v
deleted file mode 100644
index a7d6b74e6..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.v
deleted file mode 100644
index 22ae41c0c..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fecarry.v b/src/Specific/solinas32_2e235m15_10limbs/fecarry.v
deleted file mode 100644
index 0410a73c5..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e235m15_10limbs/fecarryDisplay.v
deleted file mode 100644
index c96658118..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e235m15_10limbs/femul.c b/src/Specific/solinas32_2e235m15_10limbs/femul.c
deleted file mode 100644
index bc32c90fa..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0xf * (0x2 * ((uint64_t)x20 * x38))));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0xf * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0xf * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((uint64_t)x15 * x23)))))) + (0xf * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0xf * ((0x2 * ((uint64_t)x15 * x38)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (0x2 * ((uint64_t)x20 * x33))))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)))) + (0xf * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0xf * ((0x2 * ((uint64_t)x11 * x38)) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (0x2 * ((uint64_t)x20 * x29))))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0xf * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0xf * ((0x2 * ((uint64_t)x7 * x38)) + (((uint64_t)x9 * x39) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + (((uint64_t)x21 * x27) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x41);
- { uint32_t x74 = (uint32_t) (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x40);
- { uint32_t x77 = (uint32_t) (x76 >> 0x17);
- { uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- { uint64_t x79 = (x51 + ((uint64_t)0xf * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x17);
- { uint32_t x84 = (x82 & 0x7fffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_10limbs/femul.v b/src/Specific/solinas32_2e235m15_10limbs/femul.v
deleted file mode 100644
index 3b9d88dca..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/femulDisplay.log b/src/Specific/solinas32_2e235m15_10limbs/femulDisplay.log
deleted file mode 100644
index 2b1410eb1..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0xf * (0x2 * ((uint64_t)x20 * x38))));
- uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0xf * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0xf * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((uint64_t)x15 * x23)))))) + (0xf * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0xf * ((0x2 * ((uint64_t)x15 * x38)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (0x2 * ((uint64_t)x20 * x33))))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)))) + (0xf * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0xf * ((0x2 * ((uint64_t)x11 * x38)) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (0x2 * ((uint64_t)x20 * x29))))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0xf * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0xf * ((0x2 * ((uint64_t)x7 * x38)) + (((uint64_t)x9 * x39) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + (((uint64_t)x21 * x27) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x41);
- uint32_t x74 = (uint32_t) (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x40);
- uint32_t x77 = (uint32_t) (x76 >> 0x17);
- uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- uint64_t x79 = (x51 + ((uint64_t)0xf * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x17);
- uint32_t x84 = (x82 & 0x7fffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_10limbs/femulDisplay.v b/src/Specific/solinas32_2e235m15_10limbs/femulDisplay.v
deleted file mode 100644
index 514e76db4..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fesquare.c b/src/Specific/solinas32_2e235m15_10limbs/fesquare.c
deleted file mode 100644
index efe9f697f..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xf * (0x2 * ((uint64_t)x17 * x17))));
- { uint64_t x21 = ((((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)))))))) + (0xf * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * ((0x2 * ((uint64_t)x12 * x17)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (0x2 * ((uint64_t)x17 * x12))))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * ((0x2 * ((uint64_t)x8 * x17)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (0x2 * ((uint64_t)x17 * x8))))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x17)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x18);
- { uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x20);
- { uint32_t x53 = (uint32_t) (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x19);
- { uint32_t x56 = (uint32_t) (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x30 + ((uint64_t)0xf * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x17);
- { uint32_t x63 = (x61 & 0x7fffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fesquare.v b/src/Specific/solinas32_2e235m15_10limbs/fesquare.v
deleted file mode 100644
index d1694f21a..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.log
deleted file mode 100644
index 34be938a1..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xf * (0x2 * ((uint64_t)x17 * x17))));
- uint64_t x21 = ((((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)))))))) + (0xf * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * ((0x2 * ((uint64_t)x12 * x17)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (0x2 * ((uint64_t)x17 * x12))))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * ((0x2 * ((uint64_t)x8 * x17)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (0x2 * ((uint64_t)x17 * x8))))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x17)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x18);
- uint32_t x30 = ((uint32_t)x28 & 0xffffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x20);
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x19);
- uint32_t x56 = (uint32_t) (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x30 + ((uint64_t)0xf * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x17);
- uint32_t x63 = (x61 & 0x7fffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.v
deleted file mode 100644
index b657de578..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fesub.c b/src/Specific/solinas32_2e235m15_10limbs/fesub.c
deleted file mode 100644
index 1a30c9540..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x1ffffe2 + x5) - x23);
- out[1] = ((0xfffffe + x7) - x25);
- out[2] = ((0x1fffffe + x9) - x27);
- out[3] = ((0xfffffe + x11) - x29);
- out[4] = ((0x1fffffe + x13) - x31);
- out[5] = ((0xfffffe + x15) - x33);
- out[6] = ((0x1fffffe + x17) - x35);
- out[7] = ((0xfffffe + x19) - x37);
- out[8] = ((0x1fffffe + x21) - x39);
- out[9] = ((0xfffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fesub.v b/src/Specific/solinas32_2e235m15_10limbs/fesub.v
deleted file mode 100644
index 68c3c7a70..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.log
deleted file mode 100644
index cfb564d95..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0xfffffe + x20) - x38), ((0x1fffffe + x21) - x39), ((0xfffffe + x19) - x37), ((0x1fffffe + x17) - x35), ((0xfffffe + x15) - x33), ((0x1fffffe + x13) - x31), ((0xfffffe + x11) - x29), ((0x1fffffe + x9) - x27), ((0xfffffe + x7) - x25), ((0x1ffffe2 + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.v
deleted file mode 100644
index 3ed30f49d..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e235m15_10limbs/freeze.c b/src/Specific/solinas32_2e235m15_10limbs/freeze.c
deleted file mode 100644
index ebac57b65..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff1);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7fffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0xfffff1);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x7fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0xffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x7fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0xffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x7fffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_10limbs/freeze.v b/src/Specific/solinas32_2e235m15_10limbs/freeze.v
deleted file mode 100644
index 22f3303a3..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.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_2e235m15_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.log
deleted file mode 100644
index 6b9a2b829..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff1);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7fffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7fffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x7fffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0xfffff1);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x7fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0xffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x7fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0xffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x7fffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.v
deleted file mode 100644
index 62d210782..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e235m15_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e235m15_10limbs/py_interpreter.sh
deleted file mode 100755
index 59e02ee7c..000000000
--- a/src/Specific/solinas32_2e235m15_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**235 - 15' -Dmodulus_bytes='23.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e235m15_9limbs/CurveParameters.v b/src/Specific/solinas32_2e235m15_9limbs/CurveParameters.v
deleted file mode 100644
index 2c254584e..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^235 - 15
-Base: 26 + 1/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 26 + 1/9;
- bitwidth := 32;
- s := 2^235;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e235m15_9limbs/Synthesis.v b/src/Specific/solinas32_2e235m15_9limbs/Synthesis.v
deleted file mode 100644
index f8a31ae08..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/compiler.sh b/src/Specific/solinas32_2e235m15_9limbs/compiler.sh
deleted file mode 100755
index a347c5520..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas32_2e235m15_9limbs/compilerxx.sh b/src/Specific/solinas32_2e235m15_9limbs/compilerxx.sh
deleted file mode 100755
index 7534f2b5e..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas32_2e235m15_9limbs/feadd.c b/src/Specific/solinas32_2e235m15_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_9limbs/feadd.v b/src/Specific/solinas32_2e235m15_9limbs/feadd.v
deleted file mode 100644
index 746f3cd1b..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.v
deleted file mode 100644
index e49cc0084..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fecarry.v b/src/Specific/solinas32_2e235m15_9limbs/fecarry.v
deleted file mode 100644
index 62f199d28..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e235m15_9limbs/fecarryDisplay.v
deleted file mode 100644
index f6679c9be..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e235m15_9limbs/femul.c b/src/Specific/solinas32_2e235m15_9limbs/femul.c
deleted file mode 100644
index ba306b31b..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0xf * ((uint64_t)x18 * x34)));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0xf * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0xf * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0xf * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0xf * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0xf * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0xf * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0xf * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- { uint64_t x45 = (x44 >> 0x1b);
- { uint32_t x46 = ((uint32_t)x44 & 0x7ffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x1a);
- { uint32_t x49 = ((uint32_t)x47 & 0x3ffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x1a);
- { uint32_t x52 = ((uint32_t)x50 & 0x3ffffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x1a);
- { uint32_t x55 = ((uint32_t)x53 & 0x3ffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x1a);
- { uint32_t x58 = ((uint32_t)x56 & 0x3ffffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x1a);
- { uint32_t x61 = ((uint32_t)x59 & 0x3ffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x1a);
- { uint32_t x64 = ((uint32_t)x62 & 0x3ffffff);
- { uint64_t x65 = (x63 + x37);
- { uint64_t x66 = (x65 >> 0x1a);
- { uint32_t x67 = ((uint32_t)x65 & 0x3ffffff);
- { uint64_t x68 = (x66 + x36);
- { uint64_t x69 = (x68 >> 0x1a);
- { uint32_t x70 = ((uint32_t)x68 & 0x3ffffff);
- { uint64_t x71 = (x46 + (0xf * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x1b);
- { uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = (x74 & 0x3ffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_9limbs/femul.v b/src/Specific/solinas32_2e235m15_9limbs/femul.v
deleted file mode 100644
index f4b0277a2..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/femulDisplay.log b/src/Specific/solinas32_2e235m15_9limbs/femulDisplay.log
deleted file mode 100644
index 7005fad2e..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((0x2 * ((uint64_t)x19 * x23)) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((0x2 * ((uint64_t)x17 * x23)) + ((uint64_t)x19 * x21)))))))) + (0xf * ((uint64_t)x18 * x34)));
- uint64_t x38 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((0x2 * ((uint64_t)x15 * x23)) + ((uint64_t)x17 * x21))))))) + (0xf * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((0x2 * ((uint64_t)x13 * x23)) + ((uint64_t)x15 * x21)))))) + (0xf * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((0x2 * ((uint64_t)x11 * x23)) + ((uint64_t)x13 * x21))))) + (0xf * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((0x2 * ((uint64_t)x9 * x23)) + ((uint64_t)x11 * x21)))) + (0xf * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + ((0x2 * ((uint64_t)x7 * x23)) + ((uint64_t)x9 * x21))) + (0xf * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0xf * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0xf * ((0x2 * ((uint64_t)x7 * x34)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + (0x2 * ((uint64_t)x18 * x23)))))))))));
- uint64_t x45 = (x44 >> 0x1b);
- uint32_t x46 = ((uint32_t)x44 & 0x7ffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x1a);
- uint32_t x49 = ((uint32_t)x47 & 0x3ffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x1a);
- uint32_t x52 = ((uint32_t)x50 & 0x3ffffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x1a);
- uint32_t x55 = ((uint32_t)x53 & 0x3ffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x1a);
- uint32_t x58 = ((uint32_t)x56 & 0x3ffffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x1a);
- uint32_t x61 = ((uint32_t)x59 & 0x3ffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x1a);
- uint32_t x64 = ((uint32_t)x62 & 0x3ffffff);
- uint64_t x65 = (x63 + x37);
- uint64_t x66 = (x65 >> 0x1a);
- uint32_t x67 = ((uint32_t)x65 & 0x3ffffff);
- uint64_t x68 = (x66 + x36);
- uint64_t x69 = (x68 >> 0x1a);
- uint32_t x70 = ((uint32_t)x68 & 0x3ffffff);
- uint64_t x71 = (x46 + (0xf * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x1b);
- uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x1a);
- uint32_t x76 = (x74 & 0x3ffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_9limbs/femulDisplay.v b/src/Specific/solinas32_2e235m15_9limbs/femulDisplay.v
deleted file mode 100644
index 3baecfcf1..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fesquare.c b/src/Specific/solinas32_2e235m15_9limbs/fesquare.c
deleted file mode 100644
index 950713e6b..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2)))))))));
- { uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xf * ((uint64_t)x15 * x15)));
- { uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x1a);
- { uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x18);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x17);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x27 + (0xf * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = (x55 & 0x3ffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fesquare.v b/src/Specific/solinas32_2e235m15_9limbs/fesquare.v
deleted file mode 100644
index 8fd615a08..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.log
deleted file mode 100644
index 0291ede5c..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x15 * x2)))))))));
- uint64_t x18 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xf * ((uint64_t)x15 * x15)));
- uint64_t x19 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x15)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x15 * x4)))))))))));
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x1a);
- uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x18);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x17);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x27 + (0xf * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x1a);
- uint32_t x57 = (x55 & 0x3ffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.v
deleted file mode 100644
index c7b7e6d64..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fesub.c b/src/Specific/solinas32_2e235m15_9limbs/fesub.c
deleted file mode 100644
index 7fd2d1be8..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0xfffffe2 + x5) - x21);
- out[1] = ((0x7fffffe + x7) - x23);
- out[2] = ((0x7fffffe + x9) - x25);
- out[3] = ((0x7fffffe + x11) - x27);
- out[4] = ((0x7fffffe + x13) - x29);
- out[5] = ((0x7fffffe + x15) - x31);
- out[6] = ((0x7fffffe + x17) - x33);
- out[7] = ((0x7fffffe + x19) - x35);
- out[8] = ((0x7fffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fesub.v b/src/Specific/solinas32_2e235m15_9limbs/fesub.v
deleted file mode 100644
index a694ac65a..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.log
deleted file mode 100644
index 583cd065b..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7fffffe + x18) - x34), ((0x7fffffe + x19) - x35), ((0x7fffffe + x17) - x33), ((0x7fffffe + x15) - x31), ((0x7fffffe + x13) - x29), ((0x7fffffe + x11) - x27), ((0x7fffffe + x9) - x25), ((0x7fffffe + x7) - x23), ((0xfffffe2 + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.v
deleted file mode 100644
index 3bf9bd896..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e235m15_9limbs/freeze.c b/src/Specific/solinas32_2e235m15_9limbs/freeze.c
deleted file mode 100644
index 12fd6ce06..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff1);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x7fffff1);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x3ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x3ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x3ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x3ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x3ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x3ffffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e235m15_9limbs/freeze.v b/src/Specific/solinas32_2e235m15_9limbs/freeze.v
deleted file mode 100644
index 0b08c7e8a..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.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_2e235m15_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.log
deleted file mode 100644
index 2b247c4a5..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff1);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x3ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x7fffff1);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x3ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x3ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x3ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x3ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x3ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x3ffffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.v
deleted file mode 100644
index 184472b4a..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e235m15_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e235m15_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e235m15_9limbs/py_interpreter.sh
deleted file mode 100755
index 0093dec06..000000000
--- a/src/Specific/solinas32_2e235m15_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**235 - 15' -Dmodulus_bytes='26 + 1/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e243m9_10limbs/CurveParameters.v b/src/Specific/solinas32_2e243m9_10limbs/CurveParameters.v
deleted file mode 100644
index 303a9b657..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^243 - 9
-Base: 24.3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 24 + 3/10;
- bitwidth := 32;
- s := 2^243;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e243m9_10limbs/Synthesis.v b/src/Specific/solinas32_2e243m9_10limbs/Synthesis.v
deleted file mode 100644
index eb5e6fe37..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/compiler.sh b/src/Specific/solinas32_2e243m9_10limbs/compiler.sh
deleted file mode 100755
index b43ae1fbb..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas32_2e243m9_10limbs/compilerxx.sh b/src/Specific/solinas32_2e243m9_10limbs/compilerxx.sh
deleted file mode 100755
index d9402a17b..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas32_2e243m9_10limbs/feadd.c b/src/Specific/solinas32_2e243m9_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_10limbs/feadd.v b/src/Specific/solinas32_2e243m9_10limbs/feadd.v
deleted file mode 100644
index 0ced18c14..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.v
deleted file mode 100644
index d325a3cc4..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fecarry.v b/src/Specific/solinas32_2e243m9_10limbs/fecarry.v
deleted file mode 100644
index 69419266a..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e243m9_10limbs/fecarryDisplay.v
deleted file mode 100644
index a1ffa40f7..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e243m9_10limbs/femul.c b/src/Specific/solinas32_2e243m9_10limbs/femul.c
deleted file mode 100644
index 4e070ca73..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x9 * ((uint64_t)x20 * x38)));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x9 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x38)) + ((0x2 * ((uint64_t)x21 * x39)) + (0x2 * ((uint64_t)x20 * x37))))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x9 * (((uint64_t)x17 * x38) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x20 * x35))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x9 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x9 * ((0x2 * ((uint64_t)x13 * x38)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + (0x2 * ((uint64_t)x20 * x31)))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x9 * (((uint64_t)x11 * x38) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((uint64_t)x20 * x29)))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x9 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x9 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x51 + (0x9 * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x18);
- { uint32_t x84 = (x82 & 0xffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_10limbs/femul.v b/src/Specific/solinas32_2e243m9_10limbs/femul.v
deleted file mode 100644
index e5816a454..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/femulDisplay.log b/src/Specific/solinas32_2e243m9_10limbs/femulDisplay.log
deleted file mode 100644
index a855462d1..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x9 * ((uint64_t)x20 * x38)));
- uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x9 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x38)) + ((0x2 * ((uint64_t)x21 * x39)) + (0x2 * ((uint64_t)x20 * x37))))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x9 * (((uint64_t)x17 * x38) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x20 * x35))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x9 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x9 * ((0x2 * ((uint64_t)x13 * x38)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + (0x2 * ((uint64_t)x20 * x31)))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x9 * (((uint64_t)x11 * x38) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((uint64_t)x20 * x29)))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x9 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x9 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x51 + (0x9 * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x18);
- uint32_t x84 = (x82 & 0xffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_10limbs/femulDisplay.v b/src/Specific/solinas32_2e243m9_10limbs/femulDisplay.v
deleted file mode 100644
index 523b75476..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fesquare.c b/src/Specific/solinas32_2e243m9_10limbs/fesquare.c
deleted file mode 100644
index fc8390539..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((uint64_t)x17 * x17)));
- { uint64_t x21 = ((((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)))))))) + (0x9 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x17)) + ((0x2 * ((uint64_t)x18 * x18)) + (0x2 * ((uint64_t)x17 * x16))))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x17) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((uint64_t)x17 * x14))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint64_t)x10 * x17)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + (0x2 * ((uint64_t)x17 * x10)))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x17) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((uint64_t)x17 * x8)))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x19);
- { uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x20);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x19);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x30 + (0x9 * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x18);
- { uint32_t x63 = (x61 & 0xffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fesquare.v b/src/Specific/solinas32_2e243m9_10limbs/fesquare.v
deleted file mode 100644
index 4e79a4179..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.log
deleted file mode 100644
index 6f19b0946..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((uint64_t)x17 * x17)));
- uint64_t x21 = ((((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)))))))) + (0x9 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x17)) + ((0x2 * ((uint64_t)x18 * x18)) + (0x2 * ((uint64_t)x17 * x16))))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x17) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((uint64_t)x17 * x14))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint64_t)x10 * x17)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + (0x2 * ((uint64_t)x17 * x10)))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x17) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((uint64_t)x17 * x8)))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x19);
- uint32_t x30 = ((uint32_t)x28 & 0x1ffffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x20);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x19);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x30 + (0x9 * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x18);
- uint32_t x63 = (x61 & 0xffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.v
deleted file mode 100644
index 591a72936..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fesub.c b/src/Specific/solinas32_2e243m9_10limbs/fesub.c
deleted file mode 100644
index 92263253e..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x3ffffee + x5) - x23);
- out[1] = ((0x1fffffe + x7) - x25);
- out[2] = ((0x1fffffe + x9) - x27);
- out[3] = ((0x3fffffe + x11) - x29);
- out[4] = ((0x1fffffe + x13) - x31);
- out[5] = ((0x1fffffe + x15) - x33);
- out[6] = ((0x3fffffe + x17) - x35);
- out[7] = ((0x1fffffe + x19) - x37);
- out[8] = ((0x1fffffe + x21) - x39);
- out[9] = ((0x1fffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fesub.v b/src/Specific/solinas32_2e243m9_10limbs/fesub.v
deleted file mode 100644
index d660bcdc3..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.log
deleted file mode 100644
index 41d34ad20..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x1fffffe + x20) - x38), ((0x1fffffe + x21) - x39), ((0x1fffffe + x19) - x37), ((0x3fffffe + x17) - x35), ((0x1fffffe + x15) - x33), ((0x1fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x1fffffe + x9) - x27), ((0x1fffffe + x7) - x25), ((0x3ffffee + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.v
deleted file mode 100644
index d705ddff0..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e243m9_10limbs/freeze.c b/src/Specific/solinas32_2e243m9_10limbs/freeze.c
deleted file mode 100644
index 72b42ea89..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff7);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0xffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0xffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x1fffff7);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0xffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x1ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0xffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x1ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0xffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0xffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0xffffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_10limbs/freeze.v b/src/Specific/solinas32_2e243m9_10limbs/freeze.v
deleted file mode 100644
index c382d04f7..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.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_2e243m9_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.log
deleted file mode 100644
index 30c174644..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff7);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0xffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0xffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x1fffff7);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0xffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x1ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0xffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x1ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0xffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0xffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0xffffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.v
deleted file mode 100644
index 6c29248de..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e243m9_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e243m9_10limbs/py_interpreter.sh
deleted file mode 100755
index 5388fa26c..000000000
--- a/src/Specific/solinas32_2e243m9_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**243 - 9' -Dmodulus_bytes='24.3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e243m9_9limbs/CurveParameters.v b/src/Specific/solinas32_2e243m9_9limbs/CurveParameters.v
deleted file mode 100644
index 0ced35491..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^243 - 9
-Base: 27
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 27;
- bitwidth := 32;
- s := 2^243;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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_2e243m9_9limbs/Synthesis.v b/src/Specific/solinas32_2e243m9_9limbs/Synthesis.v
deleted file mode 100644
index 77b939798..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/compiler.sh b/src/Specific/solinas32_2e243m9_9limbs/compiler.sh
deleted file mode 100755
index 5de6f8ea3..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas32_2e243m9_9limbs/compilerxx.sh b/src/Specific/solinas32_2e243m9_9limbs/compilerxx.sh
deleted file mode 100755
index c0026cc46..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,27,27,27,27}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas32_2e243m9_9limbs/feadd.c b/src/Specific/solinas32_2e243m9_9limbs/feadd.c
deleted file mode 100644
index e1188fdec..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_9limbs/feadd.v b/src/Specific/solinas32_2e243m9_9limbs/feadd.v
deleted file mode 100644
index 15f3bb3d9..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/feaddDisplay.log b/src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.log
deleted file mode 100644
index e26bb40f8..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.v b/src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.v
deleted file mode 100644
index e31fd6e32..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fecarry.v b/src/Specific/solinas32_2e243m9_9limbs/fecarry.v
deleted file mode 100644
index 69cbfae8d..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/fecarryDisplay.v b/src/Specific/solinas32_2e243m9_9limbs/fecarryDisplay.v
deleted file mode 100644
index 2bba5ba80..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e243m9_9limbs/femul.c b/src/Specific/solinas32_2e243m9_9limbs/femul.c
deleted file mode 100644
index c5e1a658b..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- { uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- { uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x9 * ((uint64_t)x18 * x34)));
- { uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x9 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- { uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x9 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- { uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x9 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- { uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x9 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- { uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x9 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- { uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x9 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- { uint64_t x44 = (((uint64_t)x5 * x21) + (0x9 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23))))))))));
- { uint64_t x45 = (x44 >> 0x1b);
- { uint32_t x46 = ((uint32_t)x44 & 0x7ffffff);
- { uint64_t x47 = (x45 + x43);
- { uint64_t x48 = (x47 >> 0x1b);
- { uint32_t x49 = ((uint32_t)x47 & 0x7ffffff);
- { uint64_t x50 = (x48 + x42);
- { uint64_t x51 = (x50 >> 0x1b);
- { uint32_t x52 = ((uint32_t)x50 & 0x7ffffff);
- { uint64_t x53 = (x51 + x41);
- { uint64_t x54 = (x53 >> 0x1b);
- { uint32_t x55 = ((uint32_t)x53 & 0x7ffffff);
- { uint64_t x56 = (x54 + x40);
- { uint64_t x57 = (x56 >> 0x1b);
- { uint32_t x58 = ((uint32_t)x56 & 0x7ffffff);
- { uint64_t x59 = (x57 + x39);
- { uint64_t x60 = (x59 >> 0x1b);
- { uint32_t x61 = ((uint32_t)x59 & 0x7ffffff);
- { uint64_t x62 = (x60 + x38);
- { uint64_t x63 = (x62 >> 0x1b);
- { uint32_t x64 = ((uint32_t)x62 & 0x7ffffff);
- { uint64_t x65 = (x63 + x37);
- { uint64_t x66 = (x65 >> 0x1b);
- { uint32_t x67 = ((uint32_t)x65 & 0x7ffffff);
- { uint64_t x68 = (x66 + x36);
- { uint64_t x69 = (x68 >> 0x1b);
- { uint32_t x70 = ((uint32_t)x68 & 0x7ffffff);
- { uint64_t x71 = (x46 + (0x9 * x69));
- { uint32_t x72 = (uint32_t) (x71 >> 0x1b);
- { uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- { uint32_t x74 = (x72 + x49);
- { uint32_t x75 = (x74 >> 0x1b);
- { uint32_t x76 = (x74 & 0x7ffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_9limbs/femul.v b/src/Specific/solinas32_2e243m9_9limbs/femul.v
deleted file mode 100644
index 8e1d2480b..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/femulDisplay.log b/src/Specific/solinas32_2e243m9_9limbs/femulDisplay.log
deleted file mode 100644
index 4d5b22a3a..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint64_t x36 = (((uint64_t)x5 * x34) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + (((uint64_t)x19 * x23) + ((uint64_t)x18 * x21)))))))));
- uint64_t x37 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + (((uint64_t)x15 * x25) + (((uint64_t)x17 * x23) + ((uint64_t)x19 * x21)))))))) + (0x9 * ((uint64_t)x18 * x34)));
- uint64_t x38 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + (((uint64_t)x15 * x23) + ((uint64_t)x17 * x21))))))) + (0x9 * (((uint64_t)x19 * x34) + ((uint64_t)x18 * x35))));
- uint64_t x39 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + (((uint64_t)x11 * x25) + (((uint64_t)x13 * x23) + ((uint64_t)x15 * x21)))))) + (0x9 * (((uint64_t)x17 * x34) + (((uint64_t)x19 * x35) + ((uint64_t)x18 * x33)))));
- uint64_t x40 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + (((uint64_t)x11 * x23) + ((uint64_t)x13 * x21))))) + (0x9 * (((uint64_t)x15 * x34) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x18 * x31))))));
- uint64_t x41 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + (((uint64_t)x9 * x23) + ((uint64_t)x11 * x21)))) + (0x9 * (((uint64_t)x13 * x34) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x18 * x29)))))));
- uint64_t x42 = ((((uint64_t)x5 * x25) + (((uint64_t)x7 * x23) + ((uint64_t)x9 * x21))) + (0x9 * (((uint64_t)x11 * x34) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x18 * x27))))))));
- uint64_t x43 = ((((uint64_t)x5 * x23) + ((uint64_t)x7 * x21)) + (0x9 * (((uint64_t)x9 * x34) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x18 * x25)))))))));
- uint64_t x44 = (((uint64_t)x5 * x21) + (0x9 * (((uint64_t)x7 * x34) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + (((uint64_t)x19 * x25) + ((uint64_t)x18 * x23))))))))));
- uint64_t x45 = (x44 >> 0x1b);
- uint32_t x46 = ((uint32_t)x44 & 0x7ffffff);
- uint64_t x47 = (x45 + x43);
- uint64_t x48 = (x47 >> 0x1b);
- uint32_t x49 = ((uint32_t)x47 & 0x7ffffff);
- uint64_t x50 = (x48 + x42);
- uint64_t x51 = (x50 >> 0x1b);
- uint32_t x52 = ((uint32_t)x50 & 0x7ffffff);
- uint64_t x53 = (x51 + x41);
- uint64_t x54 = (x53 >> 0x1b);
- uint32_t x55 = ((uint32_t)x53 & 0x7ffffff);
- uint64_t x56 = (x54 + x40);
- uint64_t x57 = (x56 >> 0x1b);
- uint32_t x58 = ((uint32_t)x56 & 0x7ffffff);
- uint64_t x59 = (x57 + x39);
- uint64_t x60 = (x59 >> 0x1b);
- uint32_t x61 = ((uint32_t)x59 & 0x7ffffff);
- uint64_t x62 = (x60 + x38);
- uint64_t x63 = (x62 >> 0x1b);
- uint32_t x64 = ((uint32_t)x62 & 0x7ffffff);
- uint64_t x65 = (x63 + x37);
- uint64_t x66 = (x65 >> 0x1b);
- uint32_t x67 = ((uint32_t)x65 & 0x7ffffff);
- uint64_t x68 = (x66 + x36);
- uint64_t x69 = (x68 >> 0x1b);
- uint32_t x70 = ((uint32_t)x68 & 0x7ffffff);
- uint64_t x71 = (x46 + (0x9 * x69));
- uint32_t x72 = (uint32_t) (x71 >> 0x1b);
- uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- uint32_t x74 = (x72 + x49);
- uint32_t x75 = (x74 >> 0x1b);
- uint32_t x76 = (x74 & 0x7ffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_9limbs/femulDisplay.v b/src/Specific/solinas32_2e243m9_9limbs/femulDisplay.v
deleted file mode 100644
index 30f76a118..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fesquare.c b/src/Specific/solinas32_2e243m9_9limbs/fesquare.c
deleted file mode 100644
index 01abea524..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- { uint64_t 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)))))))) + (0x9 * ((uint64_t)x15 * x15)));
- { uint64_t x19 = ((((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))))))) + (0x9 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- { uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- { uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- { uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- { uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- { uint64_t x25 = (((uint64_t)x2 * x2) + (0x9 * (((uint64_t)x4 * x15) + (((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)x15 * x4))))))))));
- { uint64_t x26 = (x25 >> 0x1b);
- { uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- { uint64_t x28 = (x26 + x24);
- { uint64_t x29 = (x28 >> 0x1b);
- { uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- { uint64_t x31 = (x29 + x23);
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- { uint64_t x34 = (x32 + x22);
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- { uint64_t x40 = (x38 + x20);
- { uint64_t x41 = (x40 >> 0x1b);
- { uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- { uint64_t x43 = (x41 + x19);
- { uint64_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- { uint64_t x46 = (x44 + x18);
- { uint64_t x47 = (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint64_t x49 = (x47 + x17);
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x27 + (0x9 * x50));
- { uint32_t x53 = (uint32_t) (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint32_t x55 = (x53 + x30);
- { uint32_t x56 = (x55 >> 0x1b);
- { uint32_t x57 = (x55 & 0x7ffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fesquare.v b/src/Specific/solinas32_2e243m9_9limbs/fesquare.v
deleted file mode 100644
index e449f49dc..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/fesquareDisplay.log b/src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.log
deleted file mode 100644
index 8a4b25a51..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x17 = (((uint64_t)x2 * x15) + (((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)x15 * x2)))))))));
- uint64_t 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)))))))) + (0x9 * ((uint64_t)x15 * x15)));
- uint64_t x19 = ((((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))))))) + (0x9 * (((uint64_t)x16 * x15) + ((uint64_t)x15 * x16))));
- uint64_t x20 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x15) + (((uint64_t)x16 * x16) + ((uint64_t)x15 * x14)))));
- uint64_t x21 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x15) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x15 * x12))))));
- uint64_t x22 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x15) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x15 * x10)))))));
- uint64_t x23 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x15) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x15 * x8))))))));
- uint64_t x24 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x15) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x15 * x6)))))))));
- uint64_t x25 = (((uint64_t)x2 * x2) + (0x9 * (((uint64_t)x4 * x15) + (((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)x15 * x4))))))))));
- uint64_t x26 = (x25 >> 0x1b);
- uint32_t x27 = ((uint32_t)x25 & 0x7ffffff);
- uint64_t x28 = (x26 + x24);
- uint64_t x29 = (x28 >> 0x1b);
- uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- uint64_t x31 = (x29 + x23);
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- uint64_t x34 = (x32 + x22);
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = ((uint32_t)x34 & 0x7ffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- uint64_t x40 = (x38 + x20);
- uint64_t x41 = (x40 >> 0x1b);
- uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- uint64_t x43 = (x41 + x19);
- uint64_t x44 = (x43 >> 0x1b);
- uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- uint64_t x46 = (x44 + x18);
- uint64_t x47 = (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint64_t x49 = (x47 + x17);
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x27 + (0x9 * x50));
- uint32_t x53 = (uint32_t) (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint32_t x55 = (x53 + x30);
- uint32_t x56 = (x55 >> 0x1b);
- uint32_t x57 = (x55 & 0x7ffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.v b/src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.v
deleted file mode 100644
index 5146bca6a..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fesub.c b/src/Specific/solinas32_2e243m9_9limbs/fesub.c
deleted file mode 100644
index 51d3a48e3..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) {
- { const uint32_t x18 = 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 x34 = in2[8];
- { const uint32_t x35 = in2[7];
- { const uint32_t x33 = in2[6];
- { const uint32_t x31 = in2[5];
- { const uint32_t x29 = in2[4];
- { const uint32_t x27 = in2[3];
- { const uint32_t x25 = in2[2];
- { const uint32_t x23 = in2[1];
- { const uint32_t x21 = in2[0];
- out[0] = ((0xfffffee + x5) - x21);
- out[1] = ((0xffffffe + x7) - x23);
- out[2] = ((0xffffffe + x9) - x25);
- out[3] = ((0xffffffe + x11) - x27);
- out[4] = ((0xffffffe + x13) - x29);
- out[5] = ((0xffffffe + x15) - x31);
- out[6] = ((0xffffffe + x17) - x33);
- out[7] = ((0xffffffe + x19) - x35);
- out[8] = ((0xffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fesub.v b/src/Specific/solinas32_2e243m9_9limbs/fesub.v
deleted file mode 100644
index 5f5fd4e60..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/fesubDisplay.log b/src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.log
deleted file mode 100644
index c2adfb236..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0xffffffe + x18) - x34), ((0xffffffe + x19) - x35), ((0xffffffe + x17) - x33), ((0xffffffe + x15) - x31), ((0xffffffe + x13) - x29), ((0xffffffe + x11) - x27), ((0xffffffe + x9) - x25), ((0xffffffe + x7) - x23), ((0xfffffee + x5) - x21)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.v b/src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.v
deleted file mode 100644
index ba7bf1655..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e243m9_9limbs/freeze.c b/src/Specific/solinas32_2e243m9_9limbs/freeze.c
deleted file mode 100644
index e0a268881..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint32_t out[9], const uint32_t in1[9]) {
- { const uint32_t x15 = 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 x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff7);
- { uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x7ffffff);
- { uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x7ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7ffffff);
- { uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- { uint32_t x45 = (x44 & 0x7fffff7);
- { uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint32_t x49 = (x44 & 0x7ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint32_t x53 = (x44 & 0x7ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint32_t x57 = (x44 & 0x7ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint32_t x61 = (x44 & 0x7ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint32_t x65 = (x44 & 0x7ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint32_t x69 = (x44 & 0x7ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint32_t x73 = (x44 & 0x7ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint32_t x77 = (x44 & 0x7ffffff);
- { uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e243m9_9limbs/freeze.v b/src/Specific/solinas32_2e243m9_9limbs/freeze.v
deleted file mode 100644
index 128da1329..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.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_2e243m9_9limbs/freezeDisplay.log b/src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.log
deleted file mode 100644
index 3c74627ca..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff7);
- uint32_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x19, Return x4, 0x7ffffff);
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x22, Return x6, 0x7ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x8, 0x7ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x10, 0x7ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x12, 0x7ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x14, 0x7ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x15, 0x7ffffff);
- uint32_t x44 = cmovznz32(x43, 0x0, 0xffffffff);
- uint32_t x45 = (x44 & 0x7fffff7);
- uint32_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint32_t x49 = (x44 & 0x7ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint32_t x53 = (x44 & 0x7ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint32_t x57 = (x44 & 0x7ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint32_t x61 = (x44 & 0x7ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint32_t x65 = (x44 & 0x7ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint32_t x69 = (x44 & 0x7ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint32_t x73 = (x44 & 0x7ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint32_t x77 = (x44 & 0x7ffffff);
- uint32_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.v b/src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.v
deleted file mode 100644
index 97397b072..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e243m9_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e243m9_9limbs/py_interpreter.sh b/src/Specific/solinas32_2e243m9_9limbs/py_interpreter.sh
deleted file mode 100755
index 74091a60e..000000000
--- a/src/Specific/solinas32_2e243m9_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**243 - 9' -Dmodulus_bytes='27' -Da24='121665'
diff --git a/src/Specific/solinas32_2e251m9_10limbs/CurveParameters.v b/src/Specific/solinas32_2e251m9_10limbs/CurveParameters.v
deleted file mode 100644
index 1cbf603c8..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^251 - 9
-Base: 25.1
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 25 + 1/10;
- bitwidth := 32;
- s := 2^251;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e251m9_10limbs/Synthesis.v b/src/Specific/solinas32_2e251m9_10limbs/Synthesis.v
deleted file mode 100644
index 9ed97e86f..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/compiler.sh b/src/Specific/solinas32_2e251m9_10limbs/compiler.sh
deleted file mode 100755
index 9f621de3c..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas32_2e251m9_10limbs/compilerxx.sh b/src/Specific/solinas32_2e251m9_10limbs/compilerxx.sh
deleted file mode 100755
index 81b507b07..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas32_2e251m9_10limbs/feadd.c b/src/Specific/solinas32_2e251m9_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_10limbs/feadd.v b/src/Specific/solinas32_2e251m9_10limbs/feadd.v
deleted file mode 100644
index 67a3a9630..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.v
deleted file mode 100644
index ba2f12c79..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fecarry.v b/src/Specific/solinas32_2e251m9_10limbs/fecarry.v
deleted file mode 100644
index c080db3a2..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e251m9_10limbs/fecarryDisplay.v
deleted file mode 100644
index 16acd39c9..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e251m9_10limbs/femul.c b/src/Specific/solinas32_2e251m9_10limbs/femul.c
deleted file mode 100644
index 62632bb16..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x9 * ((uint64_t)x20 * x38)));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x19 * x23)))))))) + (0x9 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0x9 * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x9 * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0x9 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x9 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x9 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x9 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x9 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x51 + (0x9 * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x19);
- { uint32_t x84 = (x82 & 0x1ffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_10limbs/femul.v b/src/Specific/solinas32_2e251m9_10limbs/femul.v
deleted file mode 100644
index 54a20cb50..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/femulDisplay.log b/src/Specific/solinas32_2e251m9_10limbs/femulDisplay.log
deleted file mode 100644
index f8fccef50..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((0x2 * ((uint64_t)x21 * x25)) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x9 * ((uint64_t)x20 * x38)));
- uint64_t x42 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((0x2 * ((uint64_t)x17 * x25)) + ((uint64_t)x19 * x23)))))))) + (0x9 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0x9 * (((uint64_t)x19 * x38) + (((uint64_t)x21 * x39) + ((uint64_t)x20 * x37)))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x9 * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0x9 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x9 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x9 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x9 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x9 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x51 + (0x9 * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x19);
- uint32_t x84 = (x82 & 0x1ffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e251m9_10limbs/femulDisplay.v b/src/Specific/solinas32_2e251m9_10limbs/femulDisplay.v
deleted file mode 100644
index 6f958eb95..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fesquare.c b/src/Specific/solinas32_2e251m9_10limbs/fesquare.c
deleted file mode 100644
index d21201afe..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((uint64_t)x17 * x17)));
- { uint64_t x21 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x9 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x20);
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x19);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x30 + (0x9 * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x19);
- { uint32_t x63 = (x61 & 0x1ffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fesquare.v b/src/Specific/solinas32_2e251m9_10limbs/fesquare.v
deleted file mode 100644
index 4634ea792..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.log
deleted file mode 100644
index 588ea2285..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((uint64_t)x17 * x17)));
- uint64_t x21 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x9 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x17) + (((uint64_t)x18 * x18) + ((uint64_t)x17 * x16)))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x20);
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x19);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x30 + (0x9 * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x19);
- uint32_t x63 = (x61 & 0x1ffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.v
deleted file mode 100644
index 6007b04f1..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fesub.c b/src/Specific/solinas32_2e251m9_10limbs/fesub.c
deleted file mode 100644
index 1a01bec17..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x7ffffee + x5) - x23);
- out[1] = ((0x3fffffe + x7) - x25);
- out[2] = ((0x3fffffe + x9) - x27);
- out[3] = ((0x3fffffe + x11) - x29);
- out[4] = ((0x3fffffe + x13) - x31);
- out[5] = ((0x3fffffe + x15) - x33);
- out[6] = ((0x3fffffe + x17) - x35);
- out[7] = ((0x3fffffe + x19) - x37);
- out[8] = ((0x3fffffe + x21) - x39);
- out[9] = ((0x3fffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fesub.v b/src/Specific/solinas32_2e251m9_10limbs/fesub.v
deleted file mode 100644
index 227f8b9d6..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.log
deleted file mode 100644
index 590e5d991..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3fffffe + x20) - x38), ((0x3fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x3fffffe + x17) - x35), ((0x3fffffe + x15) - x33), ((0x3fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x3fffffe + x9) - x27), ((0x3fffffe + x7) - x25), ((0x7ffffee + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.v
deleted file mode 100644
index ef7c325a0..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e251m9_10limbs/freeze.c b/src/Specific/solinas32_2e251m9_10limbs/freeze.c
deleted file mode 100644
index ace9aa146..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff7);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x1ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x1ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x3fffff7);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x1ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x1ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x1ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x1ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x1ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x1ffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x1ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x1ffffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_10limbs/freeze.v b/src/Specific/solinas32_2e251m9_10limbs/freeze.v
deleted file mode 100644
index 50d82af41..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.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_2e251m9_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.log
deleted file mode 100644
index 740c0f5ae..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff7);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x1ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x1ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x3fffff7);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x1ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x1ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x1ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x1ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x1ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x1ffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x1ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x1ffffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.v
deleted file mode 100644
index 52ff71f6c..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e251m9_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e251m9_10limbs/py_interpreter.sh
deleted file mode 100755
index 76778413e..000000000
--- a/src/Specific/solinas32_2e251m9_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**251 - 9' -Dmodulus_bytes='25.1' -Da24='121665'
diff --git a/src/Specific/solinas32_2e251m9_11limbs/CurveParameters.v b/src/Specific/solinas32_2e251m9_11limbs/CurveParameters.v
deleted file mode 100644
index 8a5cd6090..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^251 - 9
-Base: 22 + 9/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 22 + 9/11;
- bitwidth := 32;
- s := 2^251;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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_2e251m9_11limbs/Synthesis.v b/src/Specific/solinas32_2e251m9_11limbs/Synthesis.v
deleted file mode 100644
index 5499624b8..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/compiler.sh b/src/Specific/solinas32_2e251m9_11limbs/compiler.sh
deleted file mode 100755
index 47e3c3aa5..000000000
--- a/src/Specific/solinas32_2e251m9_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22,23,23,23,23,22}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas32_2e251m9_11limbs/compilerxx.sh b/src/Specific/solinas32_2e251m9_11limbs/compilerxx.sh
deleted file mode 100755
index eafa7b7e6..000000000
--- a/src/Specific/solinas32_2e251m9_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,22,23,23,23,23,22}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas32_2e251m9_11limbs/feadd.c b/src/Specific/solinas32_2e251m9_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e251m9_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_2e251m9_11limbs/feadd.v b/src/Specific/solinas32_2e251m9_11limbs/feadd.v
deleted file mode 100644
index 099e2f6c4..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e251m9_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e251m9_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_2e251m9_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e251m9_11limbs/feaddDisplay.v
deleted file mode 100644
index 0f42825b4..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e251m9_11limbs/fecarry.v b/src/Specific/solinas32_2e251m9_11limbs/fecarry.v
deleted file mode 100644
index 949f6364d..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e251m9_11limbs/fecarryDisplay.v
deleted file mode 100644
index 1eb30c444..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e251m9_11limbs/femul.c b/src/Specific/solinas32_2e251m9_11limbs/femul.c
deleted file mode 100644
index 1e1f990eb..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(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];
- { uint64_t x44 = (((uint64_t)x5 * x42) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + (((uint64_t)x23 * x27) + ((uint64_t)x22 * x25)))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x23 * x25)))))))))) + (0x9 * (0x2 * ((uint64_t)x22 * x42))));
- { uint64_t x46 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x21 * x25))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x42)) + (0x2 * ((uint64_t)x22 * x43)))));
- { uint64_t x47 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x19 * x25)))))))) + (0x9 * ((0x2 * ((uint64_t)x21 * x42)) + ((0x2 * ((uint64_t)x23 * x43)) + (0x2 * ((uint64_t)x22 * x41))))));
- { uint64_t x48 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x17 * x25))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x42)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (0x2 * ((uint64_t)x22 * x39)))))));
- { uint64_t x49 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((uint64_t)x15 * x25)))))) + (0x9 * (((uint64_t)x17 * x42) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + ((uint64_t)x22 * x37)))))));
- { uint64_t x50 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((uint64_t)x13 * x25))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x42)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (0x2 * ((uint64_t)x22 * x35)))))))));
- { uint64_t x51 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((uint64_t)x11 * x25)))) + (0x9 * ((0x2 * ((uint64_t)x13 * x42)) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + (0x2 * ((uint64_t)x22 * x33))))))))));
- { uint64_t x52 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((uint64_t)x9 * x25))) + (0x9 * ((0x2 * ((uint64_t)x11 * x42)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (0x2 * ((uint64_t)x22 * x31)))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x9 * ((0x2 * ((uint64_t)x9 * x42)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + (0x2 * ((uint64_t)x22 * x29))))))))))));
- { uint64_t x54 = (((uint64_t)x5 * x25) + (0x9 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- { uint64_t x55 = (x54 >> 0x17);
- { uint32_t x56 = ((uint32_t)x54 & 0x7fffff);
- { uint64_t x57 = (x55 + x53);
- { uint64_t x58 = (x57 >> 0x17);
- { uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- { uint64_t x60 = (x58 + x52);
- { uint64_t x61 = (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x61 + x51);
- { uint64_t x64 = (x63 >> 0x17);
- { uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
- { uint64_t x66 = (x64 + x50);
- { uint64_t x67 = (x66 >> 0x17);
- { uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- { uint64_t x69 = (x67 + x49);
- { uint64_t x70 = (x69 >> 0x16);
- { uint32_t x71 = ((uint32_t)x69 & 0x3fffff);
- { uint64_t x72 = (x70 + x48);
- { uint64_t x73 = (x72 >> 0x17);
- { uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- { uint64_t x75 = (x73 + x47);
- { uint64_t x76 = (x75 >> 0x17);
- { uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
- { uint64_t x78 = (x76 + x46);
- { uint32_t x79 = (uint32_t) (x78 >> 0x17);
- { uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- { uint64_t x81 = (x79 + x45);
- { uint32_t x82 = (uint32_t) (x81 >> 0x17);
- { uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- { uint64_t x84 = (x82 + x44);
- { uint32_t x85 = (uint32_t) (x84 >> 0x16);
- { uint32_t x86 = ((uint32_t)x84 & 0x3fffff);
- { uint64_t x87 = (x56 + ((uint64_t)0x9 * x85));
- { uint32_t x88 = (uint32_t) (x87 >> 0x17);
- { uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- { uint32_t x90 = (x88 + x59);
- { uint32_t x91 = (x90 >> 0x17);
- { uint32_t x92 = (x90 & 0x7fffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_11limbs/femul.v b/src/Specific/solinas32_2e251m9_11limbs/femul.v
deleted file mode 100644
index 4b48df773..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/femulDisplay.log b/src/Specific/solinas32_2e251m9_11limbs/femulDisplay.log
deleted file mode 100644
index 45b1fede9..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x44 = (((uint64_t)x5 * x42) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + (((uint64_t)x23 * x27) + ((uint64_t)x22 * x25)))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x23 * x25)))))))))) + (0x9 * (0x2 * ((uint64_t)x22 * x42))));
- uint64_t x46 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x21 * x25))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x42)) + (0x2 * ((uint64_t)x22 * x43)))));
- uint64_t x47 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((uint64_t)x19 * x25)))))))) + (0x9 * ((0x2 * ((uint64_t)x21 * x42)) + ((0x2 * ((uint64_t)x23 * x43)) + (0x2 * ((uint64_t)x22 * x41))))));
- uint64_t x48 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x17 * x25))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x42)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (0x2 * ((uint64_t)x22 * x39)))))));
- uint64_t x49 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((uint64_t)x15 * x25)))))) + (0x9 * (((uint64_t)x17 * x42) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + ((uint64_t)x22 * x37)))))));
- uint64_t x50 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((uint64_t)x13 * x25))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x42)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (0x2 * ((uint64_t)x22 * x35)))))))));
- uint64_t x51 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((uint64_t)x11 * x25)))) + (0x9 * ((0x2 * ((uint64_t)x13 * x42)) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + (0x2 * ((uint64_t)x22 * x33))))))))));
- uint64_t x52 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((uint64_t)x9 * x25))) + (0x9 * ((0x2 * ((uint64_t)x11 * x42)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (0x2 * ((uint64_t)x22 * x31)))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x9 * ((0x2 * ((uint64_t)x9 * x42)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + (0x2 * ((uint64_t)x22 * x29))))))))))));
- uint64_t x54 = (((uint64_t)x5 * x25) + (0x9 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- uint64_t x55 = (x54 >> 0x17);
- uint32_t x56 = ((uint32_t)x54 & 0x7fffff);
- uint64_t x57 = (x55 + x53);
- uint64_t x58 = (x57 >> 0x17);
- uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- uint64_t x60 = (x58 + x52);
- uint64_t x61 = (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x61 + x51);
- uint64_t x64 = (x63 >> 0x17);
- uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
- uint64_t x66 = (x64 + x50);
- uint64_t x67 = (x66 >> 0x17);
- uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- uint64_t x69 = (x67 + x49);
- uint64_t x70 = (x69 >> 0x16);
- uint32_t x71 = ((uint32_t)x69 & 0x3fffff);
- uint64_t x72 = (x70 + x48);
- uint64_t x73 = (x72 >> 0x17);
- uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- uint64_t x75 = (x73 + x47);
- uint64_t x76 = (x75 >> 0x17);
- uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
- uint64_t x78 = (x76 + x46);
- uint32_t x79 = (uint32_t) (x78 >> 0x17);
- uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- uint64_t x81 = (x79 + x45);
- uint32_t x82 = (uint32_t) (x81 >> 0x17);
- uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- uint64_t x84 = (x82 + x44);
- uint32_t x85 = (uint32_t) (x84 >> 0x16);
- uint32_t x86 = ((uint32_t)x84 & 0x3fffff);
- uint64_t x87 = (x56 + ((uint64_t)0x9 * x85));
- uint32_t x88 = (uint32_t) (x87 >> 0x17);
- uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- uint32_t x90 = (x88 + x59);
- uint32_t x91 = (x90 >> 0x17);
- uint32_t x92 = (x90 & 0x7fffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(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_2e251m9_11limbs/femulDisplay.v b/src/Specific/solinas32_2e251m9_11limbs/femulDisplay.v
deleted file mode 100644
index ab9fab85c..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e251m9_11limbs/fesquare.c b/src/Specific/solinas32_2e251m9_11limbs/fesquare.c
deleted file mode 100644
index 748440285..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(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];
- { uint64_t x21 = (((uint64_t)x2 * x19) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x19 * x2)))))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (0x2 * ((uint64_t)x19 * x19))));
- { uint64_t x23 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x19)) + (0x2 * ((uint64_t)x19 * x20)))));
- { uint64_t x24 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x9 * ((0x2 * ((uint64_t)x18 * x19)) + ((0x2 * ((uint64_t)x20 * x20)) + (0x2 * ((uint64_t)x19 * x18))))));
- { uint64_t x25 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x19)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (0x2 * ((uint64_t)x19 * x16)))))));
- { uint64_t x26 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x19) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((uint64_t)x19 * x14)))))));
- { uint64_t x27 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x19)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (0x2 * ((uint64_t)x19 * x12)))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint64_t)x10 * x19)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (0x2 * ((uint64_t)x19 * x10))))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x19)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (0x2 * ((uint64_t)x19 * x8)))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x19)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + (0x2 * ((uint64_t)x19 * x6))))))))))));
- { uint64_t x31 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- { uint64_t x32 = (x31 >> 0x17);
- { uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- { uint64_t x34 = (x32 + x30);
- { uint64_t x35 = (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x29);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x28);
- { uint64_t x41 = (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint64_t x43 = (x41 + x27);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x26);
- { uint64_t x47 = (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x25);
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x24);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x23);
- { uint32_t x56 = (uint32_t) (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x22);
- { uint32_t x59 = (uint32_t) (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x21);
- { uint32_t x62 = (uint32_t) (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x33 + ((uint64_t)0x9 * x62));
- { uint32_t x65 = (uint32_t) (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint32_t x67 = (x65 + x36);
- { uint32_t x68 = (x67 >> 0x17);
- { uint32_t x69 = (x67 & 0x7fffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_11limbs/fesquare.v b/src/Specific/solinas32_2e251m9_11limbs/fesquare.v
deleted file mode 100644
index 1a866c866..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/fesquareDisplay.log b/src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.log
deleted file mode 100644
index ad2168cc4..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x21 = (((uint64_t)x2 * x19) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x19 * x2)))))))))));
- uint64_t x22 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (0x2 * ((uint64_t)x19 * x19))));
- uint64_t x23 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x19)) + (0x2 * ((uint64_t)x19 * x20)))));
- uint64_t x24 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x9 * ((0x2 * ((uint64_t)x18 * x19)) + ((0x2 * ((uint64_t)x20 * x20)) + (0x2 * ((uint64_t)x19 * x18))))));
- uint64_t x25 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x19)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (0x2 * ((uint64_t)x19 * x16)))))));
- uint64_t x26 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x19) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((uint64_t)x19 * x14)))))));
- uint64_t x27 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x19)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (0x2 * ((uint64_t)x19 * x12)))))))));
- uint64_t x28 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint64_t)x10 * x19)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (0x2 * ((uint64_t)x19 * x10))))))))));
- uint64_t x29 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x19)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (0x2 * ((uint64_t)x19 * x8)))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x19)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + (0x2 * ((uint64_t)x19 * x6))))))))))));
- uint64_t x31 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- uint64_t x32 = (x31 >> 0x17);
- uint32_t x33 = ((uint32_t)x31 & 0x7fffff);
- uint64_t x34 = (x32 + x30);
- uint64_t x35 = (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x29);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x28);
- uint64_t x41 = (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint64_t x43 = (x41 + x27);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x26);
- uint64_t x47 = (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x25);
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x24);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x23);
- uint32_t x56 = (uint32_t) (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x22);
- uint32_t x59 = (uint32_t) (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x21);
- uint32_t x62 = (uint32_t) (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x33 + ((uint64_t)0x9 * x62));
- uint32_t x65 = (uint32_t) (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint32_t x67 = (x65 + x36);
- uint32_t x68 = (x67 >> 0x17);
- uint32_t x69 = (x67 & 0x7fffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-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_2e251m9_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.v
deleted file mode 100644
index 8ccc39af6..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e251m9_11limbs/fesub.c b/src/Specific/solinas32_2e251m9_11limbs/fesub.c
deleted file mode 100644
index 770204419..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(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] = ((0xffffee + x5) - x25);
- out[1] = ((0xfffffe + x7) - x27);
- out[2] = ((0xfffffe + x9) - x29);
- out[3] = ((0xfffffe + x11) - x31);
- out[4] = ((0xfffffe + x13) - x33);
- out[5] = ((0x7ffffe + x15) - x35);
- out[6] = ((0xfffffe + x17) - x37);
- out[7] = ((0xfffffe + x19) - x39);
- out[8] = ((0xfffffe + x21) - x41);
- out[9] = ((0xfffffe + x23) - x43);
- out[10] = ((0x7ffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_11limbs/fesub.v b/src/Specific/solinas32_2e251m9_11limbs/fesub.v
deleted file mode 100644
index ac56f27a4..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/fesubDisplay.log b/src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.log
deleted file mode 100644
index c5f7f2932..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.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,
- (((0x7ffffe + x22) - x42), ((0xfffffe + x23) - x43), ((0xfffffe + x21) - x41), ((0xfffffe + x19) - x39), ((0xfffffe + x17) - x37), ((0x7ffffe + x15) - x35), ((0xfffffe + x13) - x33), ((0xfffffe + x11) - x31), ((0xfffffe + x9) - x29), ((0xfffffe + x7) - x27), ((0xffffee + 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_2e251m9_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.v
deleted file mode 100644
index 12b723dd5..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e251m9_11limbs/freeze.c b/src/Specific/solinas32_2e251m9_11limbs/freeze.c
deleted file mode 100644
index 056294e18..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff7);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x7fffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x7fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0x7ffff7);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0x7fffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0x7fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint32_t x71 = (x54 & 0x7fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint32_t x75 = (x54 & 0x3fffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint32_t x79 = (x54 & 0x7fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint32_t x83 = (x54 & 0x7fffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint32_t x87 = (x54 & 0x7fffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint32_t x91 = (x54 & 0x7fffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint32_t x95 = (x54 & 0x3fffff);
- { uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e251m9_11limbs/freeze.v b/src/Specific/solinas32_2e251m9_11limbs/freeze.v
deleted file mode 100644
index 2bb9d911d..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e251m9_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_2e251m9_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.log
deleted file mode 100644
index c6a24c3eb..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffff7);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x7fffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x7fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0x7ffff7);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0x7fffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0x7fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint32_t x71 = (x54 & 0x7fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint32_t x75 = (x54 & 0x3fffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint32_t x79 = (x54 & 0x7fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint32_t x83 = (x54 & 0x7fffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint32_t x87 = (x54 & 0x7fffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint32_t x91 = (x54 & 0x7fffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint32_t x95 = (x54 & 0x3fffff);
- uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, 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_2e251m9_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.v
deleted file mode 100644
index f3267c25f..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e251m9_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e251m9_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e251m9_11limbs/py_interpreter.sh
deleted file mode 100755
index 4f27369f1..000000000
--- a/src/Specific/solinas32_2e251m9_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**251 - 9' -Dmodulus_bytes='22 + 9/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e255m19_10limbs/CurveParameters.v b/src/Specific/solinas32_2e255m19_10limbs/CurveParameters.v
deleted file mode 100644
index 64e2e84b7..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 25.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 25 + 1/2;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e255m19_10limbs/Synthesis.v b/src/Specific/solinas32_2e255m19_10limbs/Synthesis.v
deleted file mode 100644
index 2964f451e..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/compiler.sh b/src/Specific/solinas32_2e255m19_10limbs/compiler.sh
deleted file mode 100755
index 8ff44b7ae..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas32_2e255m19_10limbs/compilerxx.sh b/src/Specific/solinas32_2e255m19_10limbs/compilerxx.sh
deleted file mode 100755
index cc1e919a6..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas32_2e255m19_10limbs/feadd.c b/src/Specific/solinas32_2e255m19_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs/feadd.v b/src/Specific/solinas32_2e255m19_10limbs/feadd.v
deleted file mode 100644
index 24cdae880..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.v
deleted file mode 100644
index def680096..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fecarry.c b/src/Specific/solinas32_2e255m19_10limbs/fecarry.c
deleted file mode 100644
index cd97f6d5f..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fecarry.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void fecarry(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (x2 >> 0x1a);
- { uint32_t x20 = (x2 & 0x3ffffff);
- { uint32_t x21 = (x19 + x4);
- { uint32_t x22 = (x21 >> 0x19);
- { uint32_t x23 = (x21 & 0x1ffffff);
- { uint32_t x24 = (x22 + x6);
- { uint32_t x25 = (x24 >> 0x1a);
- { uint32_t x26 = (x24 & 0x3ffffff);
- { uint32_t x27 = (x25 + x8);
- { uint32_t x28 = (x27 >> 0x19);
- { uint32_t x29 = (x27 & 0x1ffffff);
- { uint32_t x30 = (x28 + x10);
- { uint32_t x31 = (x30 >> 0x1a);
- { uint32_t x32 = (x30 & 0x3ffffff);
- { uint32_t x33 = (x31 + x12);
- { uint32_t x34 = (x33 >> 0x19);
- { uint32_t x35 = (x33 & 0x1ffffff);
- { uint32_t x36 = (x34 + x14);
- { uint32_t x37 = (x36 >> 0x1a);
- { uint32_t x38 = (x36 & 0x3ffffff);
- { uint32_t x39 = (x37 + x16);
- { uint32_t x40 = (x39 >> 0x19);
- { uint32_t x41 = (x39 & 0x1ffffff);
- { uint32_t x42 = (x40 + x18);
- { uint32_t x43 = (x42 >> 0x1a);
- { uint32_t x44 = (x42 & 0x3ffffff);
- { uint32_t x45 = (x43 + x17);
- { uint32_t x46 = (x45 >> 0x19);
- { uint32_t x47 = (x45 & 0x1ffffff);
- { uint32_t x48 = (x20 + (0x13 * x46));
- { uint32_t x49 = (x48 >> 0x1a);
- { uint32_t x50 = (x48 & 0x3ffffff);
- { uint32_t x51 = (x49 + x23);
- { uint32_t x52 = (x51 >> 0x19);
- { uint32_t x53 = (x51 & 0x1ffffff);
- out[0] = x50;
- out[1] = x53;
- out[2] = (x52 + x26);
- out[3] = x29;
- out[4] = x32;
- out[5] = x35;
- out[6] = x38;
- out[7] = x41;
- out[8] = x44;
- out[9] = x47;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fecarry.v b/src/Specific/solinas32_2e255m19_10limbs/fecarry.v
deleted file mode 100644
index e66f12956..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/fecarryDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.log
deleted file mode 100644
index 186e797bb..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.log
+++ /dev/null
@@ -1,42 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x19 = (x2 >> 0x1a);
- uint32_t x20 = (x2 & 0x3ffffff);
- uint32_t x21 = (x19 + x4);
- uint32_t x22 = (x21 >> 0x19);
- uint32_t x23 = (x21 & 0x1ffffff);
- uint32_t x24 = (x22 + x6);
- uint32_t x25 = (x24 >> 0x1a);
- uint32_t x26 = (x24 & 0x3ffffff);
- uint32_t x27 = (x25 + x8);
- uint32_t x28 = (x27 >> 0x19);
- uint32_t x29 = (x27 & 0x1ffffff);
- uint32_t x30 = (x28 + x10);
- uint32_t x31 = (x30 >> 0x1a);
- uint32_t x32 = (x30 & 0x3ffffff);
- uint32_t x33 = (x31 + x12);
- uint32_t x34 = (x33 >> 0x19);
- uint32_t x35 = (x33 & 0x1ffffff);
- uint32_t x36 = (x34 + x14);
- uint32_t x37 = (x36 >> 0x1a);
- uint32_t x38 = (x36 & 0x3ffffff);
- uint32_t x39 = (x37 + x16);
- uint32_t x40 = (x39 >> 0x19);
- uint32_t x41 = (x39 & 0x1ffffff);
- uint32_t x42 = (x40 + x18);
- uint32_t x43 = (x42 >> 0x1a);
- uint32_t x44 = (x42 & 0x3ffffff);
- uint32_t x45 = (x43 + x17);
- uint32_t x46 = (x45 >> 0x19);
- uint32_t x47 = (x45 & 0x1ffffff);
- uint32_t x48 = (x20 + (0x13 * x46));
- uint32_t x49 = (x48 >> 0x1a);
- uint32_t x50 = (x48 & 0x3ffffff);
- uint32_t x51 = (x49 + x23);
- uint32_t x52 = (x51 >> 0x19);
- uint32_t x53 = (x51 & 0x1ffffff);
- return (Return x47, Return x44, Return x41, Return x38, Return x35, Return x32, Return x29, (x52 + x26), Return x53, Return x50))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.v
deleted file mode 100644
index d81ff83cc..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e255m19_10limbs/femul.c b/src/Specific/solinas32_2e255m19_10limbs/femul.c
deleted file mode 100644
index 74037da91..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x13 * (0x2 * ((uint64_t)x20 * x38))));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x13 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0x13 * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((uint64_t)x15 * x23)))))) + (0x13 * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x38)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (0x2 * ((uint64_t)x20 * x33))))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)))) + (0x13 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x13 * ((0x2 * ((uint64_t)x11 * x38)) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (0x2 * ((uint64_t)x20 * x29))))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x13 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x13 * ((0x2 * ((uint64_t)x7 * x38)) + (((uint64_t)x9 * x39) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + (((uint64_t)x21 * x27) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x51 + (0x13 * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x19);
- { uint32_t x84 = (x82 & 0x1ffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs/femul.v b/src/Specific/solinas32_2e255m19_10limbs/femul.v
deleted file mode 100644
index a0eac4611..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/femulDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/femulDisplay.log
deleted file mode 100644
index a193e6b6e..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + (((uint64_t)x17 * x27) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x13 * (0x2 * ((uint64_t)x20 * x38))));
- uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x13 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + (((uint64_t)x9 * x31) + ((0x2 * ((uint64_t)x11 * x29)) + (((uint64_t)x13 * x27) + ((0x2 * ((uint64_t)x15 * x25)) + ((uint64_t)x17 * x23))))))) + (0x13 * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + (((uint64_t)x13 * x25) + ((uint64_t)x15 * x23)))))) + (0x13 * (((uint64_t)x17 * x38) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x20 * x35))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + (((uint64_t)x9 * x27) + ((0x2 * ((uint64_t)x11 * x25)) + ((uint64_t)x13 * x23))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x38)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (0x2 * ((uint64_t)x20 * x33))))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + (((uint64_t)x9 * x25) + ((uint64_t)x11 * x23)))) + (0x13 * (((uint64_t)x13 * x38) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x20 * x31))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + ((0x2 * ((uint64_t)x7 * x25)) + ((uint64_t)x9 * x23))) + (0x13 * ((0x2 * ((uint64_t)x11 * x38)) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (0x2 * ((uint64_t)x20 * x29))))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x13 * (((uint64_t)x9 * x38) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x20 * x27))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x13 * ((0x2 * ((uint64_t)x7 * x38)) + (((uint64_t)x9 * x39) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + (((uint64_t)x21 * x27) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x51 + (0x13 * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x19);
- uint32_t x84 = (x82 & 0x1ffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/femulDisplay.v b/src/Specific/solinas32_2e255m19_10limbs/femulDisplay.v
deleted file mode 100644
index 75f315b5e..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fesquare.c b/src/Specific/solinas32_2e255m19_10limbs/fesquare.c
deleted file mode 100644
index 877264dce..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * (0x2 * ((uint64_t)x17 * x17))));
- { uint64_t x21 = ((((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)))))))) + (0x13 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x17)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (0x2 * ((uint64_t)x17 * x12))))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x17)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (0x2 * ((uint64_t)x17 * x8))))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x17)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x1a);
- { uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x20);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x19);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x30 + (0x13 * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x19);
- { uint32_t x63 = (x61 & 0x1ffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fesquare.v b/src/Specific/solinas32_2e255m19_10limbs/fesquare.v
deleted file mode 100644
index 922ddacd2..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.log
deleted file mode 100644
index 2490dc647..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * (0x2 * ((uint64_t)x17 * x17))));
- uint64_t x21 = ((((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)))))))) + (0x13 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x17) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x17 * x14))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x17)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (0x2 * ((uint64_t)x17 * x12))))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x17) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x17 * x10))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x17)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (0x2 * ((uint64_t)x17 * x8))))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x17) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x17 * x6))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x17)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x1a);
- uint32_t x30 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x20);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x19);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x30 + (0x13 * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x19);
- uint32_t x63 = (x61 & 0x1ffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.v
deleted file mode 100644
index dec94ac67..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fesub.c b/src/Specific/solinas32_2e255m19_10limbs/fesub.c
deleted file mode 100644
index b92ed2bbe..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x7ffffda + x5) - x23);
- out[1] = ((0x3fffffe + x7) - x25);
- out[2] = ((0x7fffffe + x9) - x27);
- out[3] = ((0x3fffffe + x11) - x29);
- out[4] = ((0x7fffffe + x13) - x31);
- out[5] = ((0x3fffffe + x15) - x33);
- out[6] = ((0x7fffffe + x17) - x35);
- out[7] = ((0x3fffffe + x19) - x37);
- out[8] = ((0x7fffffe + x21) - x39);
- out[9] = ((0x3fffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fesub.v b/src/Specific/solinas32_2e255m19_10limbs/fesub.v
deleted file mode 100644
index a86e0990c..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.log
deleted file mode 100644
index bb18a6a51..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3fffffe + x20) - x38), ((0x7fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x7fffffe + x17) - x35), ((0x3fffffe + x15) - x33), ((0x7fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x7fffffe + x9) - x27), ((0x3fffffe + x7) - x25), ((0x7ffffda + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.v
deleted file mode 100644
index 9d8793d5c..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e255m19_10limbs/freeze.c b/src/Specific/solinas32_2e255m19_10limbs/freeze.c
deleted file mode 100644
index 89de979a8..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20; uint8_t/*bool*/ x21 = _subborrow_u26(0x0, x2, 0x3ffffed, &x20);
- { uint32_t x23; uint8_t/*bool*/ x24 = _subborrow_u25(x21, x4, 0x1ffffff, &x23);
- { uint32_t x26; uint8_t/*bool*/ x27 = _subborrow_u26(x24, x6, 0x3ffffff, &x26);
- { uint32_t x29; uint8_t/*bool*/ x30 = _subborrow_u25(x27, x8, 0x1ffffff, &x29);
- { uint32_t x32; uint8_t/*bool*/ x33 = _subborrow_u26(x30, x10, 0x3ffffff, &x32);
- { uint32_t x35; uint8_t/*bool*/ x36 = _subborrow_u25(x33, x12, 0x1ffffff, &x35);
- { uint32_t x38; uint8_t/*bool*/ x39 = _subborrow_u26(x36, x14, 0x3ffffff, &x38);
- { uint32_t x41; uint8_t/*bool*/ x42 = _subborrow_u25(x39, x16, 0x1ffffff, &x41);
- { uint32_t x44; uint8_t/*bool*/ x45 = _subborrow_u26(x42, x18, 0x3ffffff, &x44);
- { uint32_t x47; uint8_t/*bool*/ x48 = _subborrow_u25(x45, x17, 0x1ffffff, &x47);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x3ffffed);
- { uint32_t x52; uint8_t/*bool*/ x53 = _addcarryx_u26(0x0, x20, x50, &x52);
- { uint32_t x54 = (x49 & 0x1ffffff);
- { uint32_t x56; uint8_t/*bool*/ x57 = _addcarryx_u25(x53, x23, x54, &x56);
- { uint32_t x58 = (x49 & 0x3ffffff);
- { uint32_t x60; uint8_t/*bool*/ x61 = _addcarryx_u26(x57, x26, x58, &x60);
- { uint32_t x62 = (x49 & 0x1ffffff);
- { uint32_t x64; uint8_t/*bool*/ x65 = _addcarryx_u25(x61, x29, x62, &x64);
- { uint32_t x66 = (x49 & 0x3ffffff);
- { uint32_t x68; uint8_t/*bool*/ x69 = _addcarryx_u26(x65, x32, x66, &x68);
- { uint32_t x70 = (x49 & 0x1ffffff);
- { uint32_t x72; uint8_t/*bool*/ x73 = _addcarryx_u25(x69, x35, x70, &x72);
- { uint32_t x74 = (x49 & 0x3ffffff);
- { uint32_t x76; uint8_t/*bool*/ x77 = _addcarryx_u26(x73, x38, x74, &x76);
- { uint32_t x78 = (x49 & 0x1ffffff);
- { uint32_t x80; uint8_t/*bool*/ x81 = _addcarryx_u25(x77, x41, x78, &x80);
- { uint32_t x82 = (x49 & 0x3ffffff);
- { uint32_t x84; uint8_t/*bool*/ x85 = _addcarryx_u26(x81, x44, x82, &x84);
- { uint32_t x86 = (x49 & 0x1ffffff);
- { uint32_t x88; uint8_t/*bool*/ _ = _addcarryx_u25(x85, x47, x86, &x88);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs/freeze.v b/src/Specific/solinas32_2e255m19_10limbs/freeze.v
deleted file mode 100644
index 0802b3851..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.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_2e255m19_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log
deleted file mode 100644
index 71d7c1cbb..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t/*bool*/ x21 = subborrow_u26(0x0, x2, 0x3ffffed);
- uint32_t x23, uint8_t/*bool*/ x24 = subborrow_u25(x21, x4, 0x1ffffff);
- uint32_t x26, uint8_t/*bool*/ x27 = subborrow_u26(x24, x6, 0x3ffffff);
- uint32_t x29, uint8_t/*bool*/ x30 = subborrow_u25(x27, x8, 0x1ffffff);
- uint32_t x32, uint8_t/*bool*/ x33 = subborrow_u26(x30, x10, 0x3ffffff);
- uint32_t x35, uint8_t/*bool*/ x36 = subborrow_u25(x33, x12, 0x1ffffff);
- uint32_t x38, uint8_t/*bool*/ x39 = subborrow_u26(x36, x14, 0x3ffffff);
- uint32_t x41, uint8_t/*bool*/ x42 = subborrow_u25(x39, x16, 0x1ffffff);
- uint32_t x44, uint8_t/*bool*/ x45 = subborrow_u26(x42, x18, 0x3ffffff);
- uint32_t x47, uint8_t/*bool*/ x48 = subborrow_u25(x45, x17, 0x1ffffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x3ffffed);
- uint32_t x52, uint8_t/*bool*/ x53 = addcarryx_u26(0x0, x20, x50);
- uint32_t x54 = (x49 & 0x1ffffff);
- uint32_t x56, uint8_t/*bool*/ x57 = addcarryx_u25(x53, x23, x54);
- uint32_t x58 = (x49 & 0x3ffffff);
- uint32_t x60, uint8_t/*bool*/ x61 = addcarryx_u26(x57, x26, x58);
- uint32_t x62 = (x49 & 0x1ffffff);
- uint32_t x64, uint8_t/*bool*/ x65 = addcarryx_u25(x61, x29, x62);
- uint32_t x66 = (x49 & 0x3ffffff);
- uint32_t x68, uint8_t/*bool*/ x69 = addcarryx_u26(x65, x32, x66);
- uint32_t x70 = (x49 & 0x1ffffff);
- uint32_t x72, uint8_t/*bool*/ x73 = addcarryx_u25(x69, x35, x70);
- uint32_t x74 = (x49 & 0x3ffffff);
- uint32_t x76, uint8_t/*bool*/ x77 = addcarryx_u26(x73, x38, x74);
- uint32_t x78 = (x49 & 0x1ffffff);
- uint32_t x80, uint8_t/*bool*/ x81 = addcarryx_u25(x77, x41, x78);
- uint32_t x82 = (x49 & 0x3ffffff);
- uint32_t x84, uint8_t/*bool*/ x85 = addcarryx_u26(x81, x44, x82);
- uint32_t x86 = (x49 & 0x1ffffff);
- uint32_t x88, uint8_t/*bool*/ _ = addcarryx_u25(x85, x47, x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.v
deleted file mode 100644
index 0b6b38f33..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e255m19_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e255m19_10limbs/py_interpreter.sh
deleted file mode 100755
index c5b125c07..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='25.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/CurveParameters.v b/src/Specific/solinas32_2e255m19_10limbs_donna/CurveParameters.v
deleted file mode 100644
index 1be3437a3..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/CurveParameters.v
+++ /dev/null
@@ -1,257 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 25.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 25 + 1/2;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%nat;
-
- a24 := None;
- coef_div_modulus := Some 2%nat;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := false;
- freeze := Some true;
- ladderstep := false;
-
- mul_code := Some (fun a b =>
- (* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(in9, in8, in7, in6, in5, in4, in3, in2, in1, in0) := a in
- let '(in29, in28, in27, in26, in25, in24, in23, in22, in21, in20) := b in
- dlet output0 := in20 * in0 in
- dlet output1 := in20 * in1 +
- in21 * in0 in
- dlet output2 := 2 * in21 * in1 +
- in20 * in2 +
- in22 * in0 in
- dlet output3 := in21 * in2 +
- in22 * in1 +
- in20 * in3 +
- in23 * in0 in
- dlet output4 := in22 * in2 +
- 2 * (in21 * in3 +
- in23 * in1) +
- in20 * in4 +
- in24 * in0 in
- dlet output5 := in22 * in3 +
- in23 * in2 +
- in21 * in4 +
- in24 * in1 +
- in20 * in5 +
- in25 * in0 in
- dlet output6 := 2 * (in23 * in3 +
- in21 * in5 +
- in25 * in1) +
- in22 * in4 +
- in24 * in2 +
- in20 * in6 +
- in26 * in0 in
- dlet output7 := in23 * in4 +
- in24 * in3 +
- in22 * in5 +
- in25 * in2 +
- in21 * in6 +
- in26 * in1 +
- in20 * in7 +
- in27 * in0 in
- dlet output8 := in24 * in4 +
- 2 * (in23 * in5 +
- in25 * in3 +
- in21 * in7 +
- in27 * in1) +
- in22 * in6 +
- in26 * in2 +
- in20 * in8 +
- in28 * in0 in
- dlet output9 := in24 * in5 +
- in25 * in4 +
- in23 * in6 +
- in26 * in3 +
- in22 * in7 +
- in27 * in2 +
- in21 * in8 +
- in28 * in1 +
- in20 * in9 +
- in29 * in0 in
- dlet output10 := 2 * (in25 * in5 +
- in23 * in7 +
- in27 * in3 +
- in21 * in9 +
- in29 * in1) +
- in24 * in6 +
- in26 * in4 +
- in22 * in8 +
- in28 * in2 in
- dlet output11 := in25 * in6 +
- in26 * in5 +
- in24 * in7 +
- in27 * in4 +
- in23 * in8 +
- in28 * in3 +
- in22 * in9 +
- in29 * in2 in
- dlet output12 := in26 * in6 +
- 2 * (in25 * in7 +
- in27 * in5 +
- in23 * in9 +
- in29 * in3) +
- in24 * in8 +
- in28 * in4 in
- dlet output13 := in26 * in7 +
- in27 * in6 +
- in25 * in8 +
- in28 * in5 +
- in24 * in9 +
- in29 * in4 in
- dlet output14 := 2 * (in27 * in7 +
- in25 * in9 +
- in29 * in5) +
- in26 * in8 +
- in28 * in6 in
- dlet output15 := in27 * in8 +
- in28 * in7 +
- in26 * in9 +
- in29 * in6 in
- dlet output16 := in28 * in8 +
- 2 * (in27 * in9 +
- in29 * in7) in
- dlet output17 := in28 * in9 +
- in29 * in8 in
- dlet output18 := 2 * in29 * in9 in
- dlet output8 := output8 + output18 << 4 in
- dlet output8 := output8 + output18 << 1 in
- dlet output8 := output8 + output18 in
- dlet output7 := output7 + output17 << 4 in
- dlet output7 := output7 + output17 << 1 in
- dlet output7 := output7 + output17 in
- dlet output6 := output6 + output16 << 4 in
- dlet output6 := output6 + output16 << 1 in
- dlet output6 := output6 + output16 in
- dlet output5 := output5 + output15 << 4 in
- dlet output5 := output5 + output15 << 1 in
- dlet output5 := output5 + output15 in
- dlet output4 := output4 + output14 << 4 in
- dlet output4 := output4 + output14 << 1 in
- dlet output4 := output4 + output14 in
- dlet output3 := output3 + output13 << 4 in
- dlet output3 := output3 + output13 << 1 in
- dlet output3 := output3 + output13 in
- dlet output2 := output2 + output12 << 4 in
- dlet output2 := output2 + output12 << 1 in
- dlet output2 := output2 + output12 in
- dlet output1 := output1 + output11 << 4 in
- dlet output1 := output1 + output11 << 1 in
- dlet output1 := output1 + output11 in
- dlet output0 := output0 + output10 << 4 in
- dlet output0 := output0 + output10 << 1 in
- dlet output0 := output0 + output10 in
- (output9, output8, output7, output6, output5, output4, output3, output2, output1, output0)
- );
-
- square_code := Some (fun a =>
- (* Micro-optimized form from curve25519-donna by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(in9, in8, in7, in6, in5, in4, in3, in2, in1, in0) := a in
- dlet output0 := in0 * in0 in
- dlet output1 := 2 * in0 * in1 in
- dlet output2 := 2 * (in1 * in1 +
- in0 * in2) in
- dlet output3 := 2 * (in1 * in2 +
- in0 * in3) in
- dlet output4 := in2 * in2 +
- 4 * in1 * in3 +
- 2 * in0 * in4 in
- dlet output5 := 2 * (in2 * in3 +
- in1 * in4 +
- in0 * in5) in
- dlet output6 := 2 * (in3 * in3 +
- in2 * in4 +
- in0 * in6 +
- 2 * in1 * in5) in
- dlet output7 := 2 * (in3 * in4 +
- in2 * in5 +
- in1 * in6 +
- in0 * in7) in
- dlet output8 := in4 * in4 +
- 2 * (in2 * in6 +
- in0 * in8 +
- 2 * (in1 * in7 +
- in3 * in5)) in
- dlet output9 := 2 * (in4 * in5 +
- in3 * in6 +
- in2 * in7 +
- in1 * in8 +
- in0 * in9) in
- dlet output10 := 2 * (in5 * in5 +
- in4 * in6 +
- in2 * in8 +
- 2 * (in3 * in7 +
- in1 * in9)) in
- dlet output11 := 2 * (in5 * in6 +
- in4 * in7 +
- in3 * in8 +
- in2 * in9) in
- dlet output12 := in6 * in6 +
- 2 * (in4 * in8 +
- 2 * (in5 * in7 +
- in3 * in9)) in
- dlet output13 := 2 * (in6 * in7 +
- in5 * in8 +
- in4 * in9) in
- dlet output14 := 2 * (in7 * in7 +
- in6 * in8 +
- 2 * in5 * in9) in
- dlet output15 := 2 * (in7 * in8 +
- in6 * in9) in
- dlet output16 := in8 * in8 +
- 4 * in7 * in9 in
- dlet output17 := 2 * in8 * in9 in
- dlet output18 := 2 * in9 * in9 in
- dlet output8 := output8 + output18 << 4 in
- dlet output8 := output8 + output18 << 1 in
- dlet output8 := output8 + output18 in
- dlet output7 := output7 + output17 << 4 in
- dlet output7 := output7 + output17 << 1 in
- dlet output7 := output7 + output17 in
- dlet output6 := output6 + output16 << 4 in
- dlet output6 := output6 + output16 << 1 in
- dlet output6 := output6 + output16 in
- dlet output5 := output5 + output15 << 4 in
- dlet output5 := output5 + output15 << 1 in
- dlet output5 := output5 + output15 in
- dlet output4 := output4 + output14 << 4 in
- dlet output4 := output4 + output14 << 1 in
- dlet output4 := output4 + output14 in
- dlet output3 := output3 + output13 << 4 in
- dlet output3 := output3 + output13 << 1 in
- dlet output3 := output3 + output13 in
- dlet output2 := output2 + output12 << 4 in
- dlet output2 := output2 + output12 << 1 in
- dlet output2 := output2 + output12 in
- dlet output1 := output1 + output11 << 4 in
- dlet output1 := output1 + output11 << 1 in
- dlet output1 := output1 + output11 in
- dlet output0 := output0 + output10 << 4 in
- dlet output0 := output0 + output10 << 1 in
- dlet output0 := output0 + output10 in
- (output9, output8, output7, output6, output5, output4, output3, output2, output1, output0)
- );
-
- 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_2e255m19_10limbs_donna/Synthesis.v b/src/Specific/solinas32_2e255m19_10limbs_donna/Synthesis.v
deleted file mode 100644
index c27bd5b77..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/compiler.sh b/src/Specific/solinas32_2e255m19_10limbs_donna/compiler.sh
deleted file mode 100755
index 8ff44b7ae..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/compilerxx.sh b/src/Specific/solinas32_2e255m19_10limbs_donna/compilerxx.sh
deleted file mode 100755
index cc1e919a6..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/feadd.c b/src/Specific/solinas32_2e255m19_10limbs_donna/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/feadd.v b/src/Specific/solinas32_2e255m19_10limbs_donna/feadd.v
deleted file mode 100644
index 7d4318c78..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/feaddDisplay.log b/src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.v b/src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.v
deleted file mode 100644
index 233b9f92b..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.c b/src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.c
deleted file mode 100644
index cd97f6d5f..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void fecarry(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (x2 >> 0x1a);
- { uint32_t x20 = (x2 & 0x3ffffff);
- { uint32_t x21 = (x19 + x4);
- { uint32_t x22 = (x21 >> 0x19);
- { uint32_t x23 = (x21 & 0x1ffffff);
- { uint32_t x24 = (x22 + x6);
- { uint32_t x25 = (x24 >> 0x1a);
- { uint32_t x26 = (x24 & 0x3ffffff);
- { uint32_t x27 = (x25 + x8);
- { uint32_t x28 = (x27 >> 0x19);
- { uint32_t x29 = (x27 & 0x1ffffff);
- { uint32_t x30 = (x28 + x10);
- { uint32_t x31 = (x30 >> 0x1a);
- { uint32_t x32 = (x30 & 0x3ffffff);
- { uint32_t x33 = (x31 + x12);
- { uint32_t x34 = (x33 >> 0x19);
- { uint32_t x35 = (x33 & 0x1ffffff);
- { uint32_t x36 = (x34 + x14);
- { uint32_t x37 = (x36 >> 0x1a);
- { uint32_t x38 = (x36 & 0x3ffffff);
- { uint32_t x39 = (x37 + x16);
- { uint32_t x40 = (x39 >> 0x19);
- { uint32_t x41 = (x39 & 0x1ffffff);
- { uint32_t x42 = (x40 + x18);
- { uint32_t x43 = (x42 >> 0x1a);
- { uint32_t x44 = (x42 & 0x3ffffff);
- { uint32_t x45 = (x43 + x17);
- { uint32_t x46 = (x45 >> 0x19);
- { uint32_t x47 = (x45 & 0x1ffffff);
- { uint32_t x48 = (x20 + (0x13 * x46));
- { uint32_t x49 = (x48 >> 0x1a);
- { uint32_t x50 = (x48 & 0x3ffffff);
- { uint32_t x51 = (x49 + x23);
- { uint32_t x52 = (x51 >> 0x19);
- { uint32_t x53 = (x51 & 0x1ffffff);
- out[0] = x50;
- out[1] = x53;
- out[2] = (x52 + x26);
- out[3] = x29;
- out[4] = x32;
- out[5] = x35;
- out[6] = x38;
- out[7] = x41;
- out[8] = x44;
- out[9] = x47;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.v b/src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.v
deleted file mode 100644
index 534d538d0..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/fecarryDisplay.log b/src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.log
deleted file mode 100644
index 186e797bb..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.log
+++ /dev/null
@@ -1,42 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x19 = (x2 >> 0x1a);
- uint32_t x20 = (x2 & 0x3ffffff);
- uint32_t x21 = (x19 + x4);
- uint32_t x22 = (x21 >> 0x19);
- uint32_t x23 = (x21 & 0x1ffffff);
- uint32_t x24 = (x22 + x6);
- uint32_t x25 = (x24 >> 0x1a);
- uint32_t x26 = (x24 & 0x3ffffff);
- uint32_t x27 = (x25 + x8);
- uint32_t x28 = (x27 >> 0x19);
- uint32_t x29 = (x27 & 0x1ffffff);
- uint32_t x30 = (x28 + x10);
- uint32_t x31 = (x30 >> 0x1a);
- uint32_t x32 = (x30 & 0x3ffffff);
- uint32_t x33 = (x31 + x12);
- uint32_t x34 = (x33 >> 0x19);
- uint32_t x35 = (x33 & 0x1ffffff);
- uint32_t x36 = (x34 + x14);
- uint32_t x37 = (x36 >> 0x1a);
- uint32_t x38 = (x36 & 0x3ffffff);
- uint32_t x39 = (x37 + x16);
- uint32_t x40 = (x39 >> 0x19);
- uint32_t x41 = (x39 & 0x1ffffff);
- uint32_t x42 = (x40 + x18);
- uint32_t x43 = (x42 >> 0x1a);
- uint32_t x44 = (x42 & 0x3ffffff);
- uint32_t x45 = (x43 + x17);
- uint32_t x46 = (x45 >> 0x19);
- uint32_t x47 = (x45 & 0x1ffffff);
- uint32_t x48 = (x20 + (0x13 * x46));
- uint32_t x49 = (x48 >> 0x1a);
- uint32_t x50 = (x48 & 0x3ffffff);
- uint32_t x51 = (x49 + x23);
- uint32_t x52 = (x51 >> 0x19);
- uint32_t x53 = (x51 & 0x1ffffff);
- return (Return x47, Return x44, Return x41, Return x38, Return x35, Return x32, Return x29, (x52 + x26), Return x53, Return x50))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.v b/src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.v
deleted file mode 100644
index cda477ab7..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/femul.c b/src/Specific/solinas32_2e255m19_10limbs_donna/femul.c
deleted file mode 100644
index 748842194..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/femul.c
+++ /dev/null
@@ -1,114 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = ((uint64_t)x23 * x5);
- { uint64_t x41 = (((uint64_t)x23 * x7) + ((uint64_t)x25 * x5));
- { uint64_t x42 = ((((uint64_t)(0x2 * x25) * x7) + ((uint64_t)x23 * x9)) + ((uint64_t)x27 * x5));
- { uint64_t x43 = (((((uint64_t)x25 * x9) + ((uint64_t)x27 * x7)) + ((uint64_t)x23 * x11)) + ((uint64_t)x29 * x5));
- { uint64_t x44 = (((((uint64_t)x27 * x9) + (0x2 * (((uint64_t)x25 * x11) + ((uint64_t)x29 * x7)))) + ((uint64_t)x23 * x13)) + ((uint64_t)x31 * x5));
- { uint64_t x45 = (((((((uint64_t)x27 * x11) + ((uint64_t)x29 * x9)) + ((uint64_t)x25 * x13)) + ((uint64_t)x31 * x7)) + ((uint64_t)x23 * x15)) + ((uint64_t)x33 * x5));
- { uint64_t x46 = (((((0x2 * ((((uint64_t)x29 * x11) + ((uint64_t)x25 * x15)) + ((uint64_t)x33 * x7))) + ((uint64_t)x27 * x13)) + ((uint64_t)x31 * x9)) + ((uint64_t)x23 * x17)) + ((uint64_t)x35 * x5));
- { uint64_t x47 = (((((((((uint64_t)x29 * x13) + ((uint64_t)x31 * x11)) + ((uint64_t)x27 * x15)) + ((uint64_t)x33 * x9)) + ((uint64_t)x25 * x17)) + ((uint64_t)x35 * x7)) + ((uint64_t)x23 * x19)) + ((uint64_t)x37 * x5));
- { uint64_t x48 = (((((((uint64_t)x31 * x13) + (0x2 * (((((uint64_t)x29 * x15) + ((uint64_t)x33 * x11)) + ((uint64_t)x25 * x19)) + ((uint64_t)x37 * x7)))) + ((uint64_t)x27 * x17)) + ((uint64_t)x35 * x9)) + ((uint64_t)x23 * x21)) + ((uint64_t)x39 * x5));
- { uint64_t x49 = (((((((((((uint64_t)x31 * x15) + ((uint64_t)x33 * x13)) + ((uint64_t)x29 * x17)) + ((uint64_t)x35 * x11)) + ((uint64_t)x27 * x19)) + ((uint64_t)x37 * x9)) + ((uint64_t)x25 * x21)) + ((uint64_t)x39 * x7)) + ((uint64_t)x23 * x20)) + ((uint64_t)x38 * x5));
- { uint64_t x50 = (((((0x2 * ((((((uint64_t)x33 * x15) + ((uint64_t)x29 * x19)) + ((uint64_t)x37 * x11)) + ((uint64_t)x25 * x20)) + ((uint64_t)x38 * x7))) + ((uint64_t)x31 * x17)) + ((uint64_t)x35 * x13)) + ((uint64_t)x27 * x21)) + ((uint64_t)x39 * x9));
- { uint64_t x51 = (((((((((uint64_t)x33 * x17) + ((uint64_t)x35 * x15)) + ((uint64_t)x31 * x19)) + ((uint64_t)x37 * x13)) + ((uint64_t)x29 * x21)) + ((uint64_t)x39 * x11)) + ((uint64_t)x27 * x20)) + ((uint64_t)x38 * x9));
- { uint64_t x52 = (((((uint64_t)x35 * x17) + (0x2 * (((((uint64_t)x33 * x19) + ((uint64_t)x37 * x15)) + ((uint64_t)x29 * x20)) + ((uint64_t)x38 * x11)))) + ((uint64_t)x31 * x21)) + ((uint64_t)x39 * x13));
- { uint64_t x53 = (((((((uint64_t)x35 * x19) + ((uint64_t)x37 * x17)) + ((uint64_t)x33 * x21)) + ((uint64_t)x39 * x15)) + ((uint64_t)x31 * x20)) + ((uint64_t)x38 * x13));
- { uint64_t x54 = (((0x2 * ((((uint64_t)x37 * x19) + ((uint64_t)x33 * x20)) + ((uint64_t)x38 * x15))) + ((uint64_t)x35 * x21)) + ((uint64_t)x39 * x17));
- { uint64_t x55 = (((((uint64_t)x37 * x21) + ((uint64_t)x39 * x19)) + ((uint64_t)x35 * x20)) + ((uint64_t)x38 * x17));
- { uint64_t x56 = (((uint64_t)x39 * x21) + (0x2 * (((uint64_t)x37 * x20) + ((uint64_t)x38 * x19))));
- { uint64_t x57 = (((uint64_t)x39 * x20) + ((uint64_t)x38 * x21));
- { uint64_t x58 = ((uint64_t)(0x2 * x38) * x20);
- { uint64_t x59 = (x48 + (x58 << 0x4));
- { uint64_t x60 = (x59 + (x58 << 0x1));
- { uint64_t x61 = (x60 + x58);
- { uint64_t x62 = (x47 + (x57 << 0x4));
- { uint64_t x63 = (x62 + (x57 << 0x1));
- { uint64_t x64 = (x63 + x57);
- { uint64_t x65 = (x46 + (x56 << 0x4));
- { uint64_t x66 = (x65 + (x56 << 0x1));
- { uint64_t x67 = (x66 + x56);
- { uint64_t x68 = (x45 + (x55 << 0x4));
- { uint64_t x69 = (x68 + (x55 << 0x1));
- { uint64_t x70 = (x69 + x55);
- { uint64_t x71 = (x44 + (x54 << 0x4));
- { uint64_t x72 = (x71 + (x54 << 0x1));
- { uint64_t x73 = (x72 + x54);
- { uint64_t x74 = (x43 + (x53 << 0x4));
- { uint64_t x75 = (x74 + (x53 << 0x1));
- { uint64_t x76 = (x75 + x53);
- { uint64_t x77 = (x42 + (x52 << 0x4));
- { uint64_t x78 = (x77 + (x52 << 0x1));
- { uint64_t x79 = (x78 + x52);
- { uint64_t x80 = (x41 + (x51 << 0x4));
- { uint64_t x81 = (x80 + (x51 << 0x1));
- { uint64_t x82 = (x81 + x51);
- { uint64_t x83 = (x40 + (x50 << 0x4));
- { uint64_t x84 = (x83 + (x50 << 0x1));
- { uint64_t x85 = (x84 + x50);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x82);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x79);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x76);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x70);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x67);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x104 + x64);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x107 + x61);
- { uint64_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- { uint64_t x112 = (x110 + x49);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x87 + (0x13 * x113));
- { uint32_t x116 = (uint32_t) (x115 >> 0x1a);
- { uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- { uint32_t x118 = (x116 + x90);
- { uint32_t x119 = (x118 >> 0x19);
- { uint32_t x120 = (x118 & 0x1ffffff);
- out[0] = x117;
- out[1] = x120;
- out[2] = (x119 + x93);
- out[3] = x96;
- out[4] = x99;
- out[5] = x102;
- out[6] = x105;
- out[7] = x108;
- out[8] = x111;
- out[9] = x114;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/femul.v b/src/Specific/solinas32_2e255m19_10limbs_donna/femul.v
deleted file mode 100644
index 918b0e5a9..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/femulDisplay.log b/src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.log
deleted file mode 100644
index 1650f4c9d..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = ((uint64_t)x23 * x5);
- uint64_t x41 = (((uint64_t)x23 * x7) + ((uint64_t)x25 * x5));
- uint64_t x42 = ((((uint64_t)(0x2 * x25) * x7) + ((uint64_t)x23 * x9)) + ((uint64_t)x27 * x5));
- uint64_t x43 = (((((uint64_t)x25 * x9) + ((uint64_t)x27 * x7)) + ((uint64_t)x23 * x11)) + ((uint64_t)x29 * x5));
- uint64_t x44 = (((((uint64_t)x27 * x9) + (0x2 * (((uint64_t)x25 * x11) + ((uint64_t)x29 * x7)))) + ((uint64_t)x23 * x13)) + ((uint64_t)x31 * x5));
- uint64_t x45 = (((((((uint64_t)x27 * x11) + ((uint64_t)x29 * x9)) + ((uint64_t)x25 * x13)) + ((uint64_t)x31 * x7)) + ((uint64_t)x23 * x15)) + ((uint64_t)x33 * x5));
- uint64_t x46 = (((((0x2 * ((((uint64_t)x29 * x11) + ((uint64_t)x25 * x15)) + ((uint64_t)x33 * x7))) + ((uint64_t)x27 * x13)) + ((uint64_t)x31 * x9)) + ((uint64_t)x23 * x17)) + ((uint64_t)x35 * x5));
- uint64_t x47 = (((((((((uint64_t)x29 * x13) + ((uint64_t)x31 * x11)) + ((uint64_t)x27 * x15)) + ((uint64_t)x33 * x9)) + ((uint64_t)x25 * x17)) + ((uint64_t)x35 * x7)) + ((uint64_t)x23 * x19)) + ((uint64_t)x37 * x5));
- uint64_t x48 = (((((((uint64_t)x31 * x13) + (0x2 * (((((uint64_t)x29 * x15) + ((uint64_t)x33 * x11)) + ((uint64_t)x25 * x19)) + ((uint64_t)x37 * x7)))) + ((uint64_t)x27 * x17)) + ((uint64_t)x35 * x9)) + ((uint64_t)x23 * x21)) + ((uint64_t)x39 * x5));
- uint64_t x49 = (((((((((((uint64_t)x31 * x15) + ((uint64_t)x33 * x13)) + ((uint64_t)x29 * x17)) + ((uint64_t)x35 * x11)) + ((uint64_t)x27 * x19)) + ((uint64_t)x37 * x9)) + ((uint64_t)x25 * x21)) + ((uint64_t)x39 * x7)) + ((uint64_t)x23 * x20)) + ((uint64_t)x38 * x5));
- uint64_t x50 = (((((0x2 * ((((((uint64_t)x33 * x15) + ((uint64_t)x29 * x19)) + ((uint64_t)x37 * x11)) + ((uint64_t)x25 * x20)) + ((uint64_t)x38 * x7))) + ((uint64_t)x31 * x17)) + ((uint64_t)x35 * x13)) + ((uint64_t)x27 * x21)) + ((uint64_t)x39 * x9));
- uint64_t x51 = (((((((((uint64_t)x33 * x17) + ((uint64_t)x35 * x15)) + ((uint64_t)x31 * x19)) + ((uint64_t)x37 * x13)) + ((uint64_t)x29 * x21)) + ((uint64_t)x39 * x11)) + ((uint64_t)x27 * x20)) + ((uint64_t)x38 * x9));
- uint64_t x52 = (((((uint64_t)x35 * x17) + (0x2 * (((((uint64_t)x33 * x19) + ((uint64_t)x37 * x15)) + ((uint64_t)x29 * x20)) + ((uint64_t)x38 * x11)))) + ((uint64_t)x31 * x21)) + ((uint64_t)x39 * x13));
- uint64_t x53 = (((((((uint64_t)x35 * x19) + ((uint64_t)x37 * x17)) + ((uint64_t)x33 * x21)) + ((uint64_t)x39 * x15)) + ((uint64_t)x31 * x20)) + ((uint64_t)x38 * x13));
- uint64_t x54 = (((0x2 * ((((uint64_t)x37 * x19) + ((uint64_t)x33 * x20)) + ((uint64_t)x38 * x15))) + ((uint64_t)x35 * x21)) + ((uint64_t)x39 * x17));
- uint64_t x55 = (((((uint64_t)x37 * x21) + ((uint64_t)x39 * x19)) + ((uint64_t)x35 * x20)) + ((uint64_t)x38 * x17));
- uint64_t x56 = (((uint64_t)x39 * x21) + (0x2 * (((uint64_t)x37 * x20) + ((uint64_t)x38 * x19))));
- uint64_t x57 = (((uint64_t)x39 * x20) + ((uint64_t)x38 * x21));
- uint64_t x58 = ((uint64_t)(0x2 * x38) * x20);
- uint64_t x59 = (x48 + (x58 << 0x4));
- uint64_t x60 = (x59 + (x58 << 0x1));
- uint64_t x61 = (x60 + x58);
- uint64_t x62 = (x47 + (x57 << 0x4));
- uint64_t x63 = (x62 + (x57 << 0x1));
- uint64_t x64 = (x63 + x57);
- uint64_t x65 = (x46 + (x56 << 0x4));
- uint64_t x66 = (x65 + (x56 << 0x1));
- uint64_t x67 = (x66 + x56);
- uint64_t x68 = (x45 + (x55 << 0x4));
- uint64_t x69 = (x68 + (x55 << 0x1));
- uint64_t x70 = (x69 + x55);
- uint64_t x71 = (x44 + (x54 << 0x4));
- uint64_t x72 = (x71 + (x54 << 0x1));
- uint64_t x73 = (x72 + x54);
- uint64_t x74 = (x43 + (x53 << 0x4));
- uint64_t x75 = (x74 + (x53 << 0x1));
- uint64_t x76 = (x75 + x53);
- uint64_t x77 = (x42 + (x52 << 0x4));
- uint64_t x78 = (x77 + (x52 << 0x1));
- uint64_t x79 = (x78 + x52);
- uint64_t x80 = (x41 + (x51 << 0x4));
- uint64_t x81 = (x80 + (x51 << 0x1));
- uint64_t x82 = (x81 + x51);
- uint64_t x83 = (x40 + (x50 << 0x4));
- uint64_t x84 = (x83 + (x50 << 0x1));
- uint64_t x85 = (x84 + x50);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x82);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x79);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x76);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x70);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x67);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x64);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x61);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x110 + x49);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x87 + (0x13 * x113));
- uint32_t x116 = (uint32_t) (x115 >> 0x1a);
- uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- uint32_t x118 = (x116 + x90);
- uint32_t x119 = (x118 >> 0x19);
- uint32_t x120 = (x118 & 0x1ffffff);
- return (Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, (x119 + x93), Return x120, Return x117))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.v b/src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.v
deleted file mode 100644
index c0973e1e2..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.c b/src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.c
deleted file mode 100644
index e72449a1b..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = ((uint64_t)x2 * x2);
- { uint64_t x20 = ((uint64_t)(0x2 * x2) * x4);
- { uint64_t x21 = (0x2 * (((uint64_t)x4 * x4) + ((uint64_t)x2 * x6)));
- { uint64_t x22 = (0x2 * (((uint64_t)x4 * x6) + ((uint64_t)x2 * x8)));
- { uint64_t x23 = ((((uint64_t)x6 * x6) + ((uint64_t)(0x4 * x4) * x8)) + ((uint64_t)(0x2 * x2) * x10));
- { uint64_t x24 = (0x2 * ((((uint64_t)x6 * x8) + ((uint64_t)x4 * x10)) + ((uint64_t)x2 * x12)));
- { uint64_t x25 = (0x2 * (((((uint64_t)x8 * x8) + ((uint64_t)x6 * x10)) + ((uint64_t)x2 * x14)) + ((uint64_t)(0x2 * x4) * x12)));
- { uint64_t x26 = (0x2 * (((((uint64_t)x8 * x10) + ((uint64_t)x6 * x12)) + ((uint64_t)x4 * x14)) + ((uint64_t)x2 * x16)));
- { uint64_t x27 = (((uint64_t)x10 * x10) + (0x2 * ((((uint64_t)x6 * x14) + ((uint64_t)x2 * x18)) + (0x2 * (((uint64_t)x4 * x16) + ((uint64_t)x8 * x12))))));
- { uint64_t x28 = (0x2 * ((((((uint64_t)x10 * x12) + ((uint64_t)x8 * x14)) + ((uint64_t)x6 * x16)) + ((uint64_t)x4 * x18)) + ((uint64_t)x2 * x17)));
- { uint64_t x29 = (0x2 * (((((uint64_t)x12 * x12) + ((uint64_t)x10 * x14)) + ((uint64_t)x6 * x18)) + (0x2 * (((uint64_t)x8 * x16) + ((uint64_t)x4 * x17)))));
- { uint64_t x30 = (0x2 * (((((uint64_t)x12 * x14) + ((uint64_t)x10 * x16)) + ((uint64_t)x8 * x18)) + ((uint64_t)x6 * x17)));
- { uint64_t x31 = (((uint64_t)x14 * x14) + (0x2 * (((uint64_t)x10 * x18) + (0x2 * (((uint64_t)x12 * x16) + ((uint64_t)x8 * x17))))));
- { uint64_t x32 = (0x2 * ((((uint64_t)x14 * x16) + ((uint64_t)x12 * x18)) + ((uint64_t)x10 * x17)));
- { uint64_t x33 = (0x2 * ((((uint64_t)x16 * x16) + ((uint64_t)x14 * x18)) + ((uint64_t)(0x2 * x12) * x17)));
- { uint64_t x34 = (0x2 * (((uint64_t)x16 * x18) + ((uint64_t)x14 * x17)));
- { uint64_t x35 = (((uint64_t)x18 * x18) + ((uint64_t)(0x4 * x16) * x17));
- { uint64_t x36 = ((uint64_t)(0x2 * x18) * x17);
- { uint64_t x37 = ((uint64_t)(0x2 * x17) * x17);
- { uint64_t x38 = (x27 + (x37 << 0x4));
- { uint64_t x39 = (x38 + (x37 << 0x1));
- { uint64_t x40 = (x39 + x37);
- { uint64_t x41 = (x26 + (x36 << 0x4));
- { uint64_t x42 = (x41 + (x36 << 0x1));
- { uint64_t x43 = (x42 + x36);
- { uint64_t x44 = (x25 + (x35 << 0x4));
- { uint64_t x45 = (x44 + (x35 << 0x1));
- { uint64_t x46 = (x45 + x35);
- { uint64_t x47 = (x24 + (x34 << 0x4));
- { uint64_t x48 = (x47 + (x34 << 0x1));
- { uint64_t x49 = (x48 + x34);
- { uint64_t x50 = (x23 + (x33 << 0x4));
- { uint64_t x51 = (x50 + (x33 << 0x1));
- { uint64_t x52 = (x51 + x33);
- { uint64_t x53 = (x22 + (x32 << 0x4));
- { uint64_t x54 = (x53 + (x32 << 0x1));
- { uint64_t x55 = (x54 + x32);
- { uint64_t x56 = (x21 + (x31 << 0x4));
- { uint64_t x57 = (x56 + (x31 << 0x1));
- { uint64_t x58 = (x57 + x31);
- { uint64_t x59 = (x20 + (x30 << 0x4));
- { uint64_t x60 = (x59 + (x30 << 0x1));
- { uint64_t x61 = (x60 + x30);
- { uint64_t x62 = (x19 + (x29 << 0x4));
- { uint64_t x63 = (x62 + (x29 << 0x1));
- { uint64_t x64 = (x63 + x29);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x61);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x58);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x55);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x52);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x49);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x46);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x43);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x86 + x40);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x28);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x66 + (0x13 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint32_t x97 = (x95 + x69);
- { uint32_t x98 = (x97 >> 0x19);
- { uint32_t x99 = (x97 & 0x1ffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.v b/src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.v
deleted file mode 100644
index 68939088c..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/fesquareDisplay.log b/src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.log
deleted file mode 100644
index 06c5bc75f..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = ((uint64_t)x2 * x2);
- uint64_t x20 = ((uint64_t)(0x2 * x2) * x4);
- uint64_t x21 = (0x2 * (((uint64_t)x4 * x4) + ((uint64_t)x2 * x6)));
- uint64_t x22 = (0x2 * (((uint64_t)x4 * x6) + ((uint64_t)x2 * x8)));
- uint64_t x23 = ((((uint64_t)x6 * x6) + ((uint64_t)(0x4 * x4) * x8)) + ((uint64_t)(0x2 * x2) * x10));
- uint64_t x24 = (0x2 * ((((uint64_t)x6 * x8) + ((uint64_t)x4 * x10)) + ((uint64_t)x2 * x12)));
- uint64_t x25 = (0x2 * (((((uint64_t)x8 * x8) + ((uint64_t)x6 * x10)) + ((uint64_t)x2 * x14)) + ((uint64_t)(0x2 * x4) * x12)));
- uint64_t x26 = (0x2 * (((((uint64_t)x8 * x10) + ((uint64_t)x6 * x12)) + ((uint64_t)x4 * x14)) + ((uint64_t)x2 * x16)));
- uint64_t x27 = (((uint64_t)x10 * x10) + (0x2 * ((((uint64_t)x6 * x14) + ((uint64_t)x2 * x18)) + (0x2 * (((uint64_t)x4 * x16) + ((uint64_t)x8 * x12))))));
- uint64_t x28 = (0x2 * ((((((uint64_t)x10 * x12) + ((uint64_t)x8 * x14)) + ((uint64_t)x6 * x16)) + ((uint64_t)x4 * x18)) + ((uint64_t)x2 * x17)));
- uint64_t x29 = (0x2 * (((((uint64_t)x12 * x12) + ((uint64_t)x10 * x14)) + ((uint64_t)x6 * x18)) + (0x2 * (((uint64_t)x8 * x16) + ((uint64_t)x4 * x17)))));
- uint64_t x30 = (0x2 * (((((uint64_t)x12 * x14) + ((uint64_t)x10 * x16)) + ((uint64_t)x8 * x18)) + ((uint64_t)x6 * x17)));
- uint64_t x31 = (((uint64_t)x14 * x14) + (0x2 * (((uint64_t)x10 * x18) + (0x2 * (((uint64_t)x12 * x16) + ((uint64_t)x8 * x17))))));
- uint64_t x32 = (0x2 * ((((uint64_t)x14 * x16) + ((uint64_t)x12 * x18)) + ((uint64_t)x10 * x17)));
- uint64_t x33 = (0x2 * ((((uint64_t)x16 * x16) + ((uint64_t)x14 * x18)) + ((uint64_t)(0x2 * x12) * x17)));
- uint64_t x34 = (0x2 * (((uint64_t)x16 * x18) + ((uint64_t)x14 * x17)));
- uint64_t x35 = (((uint64_t)x18 * x18) + ((uint64_t)(0x4 * x16) * x17));
- uint64_t x36 = ((uint64_t)(0x2 * x18) * x17);
- uint64_t x37 = ((uint64_t)(0x2 * x17) * x17);
- uint64_t x38 = (x27 + (x37 << 0x4));
- uint64_t x39 = (x38 + (x37 << 0x1));
- uint64_t x40 = (x39 + x37);
- uint64_t x41 = (x26 + (x36 << 0x4));
- uint64_t x42 = (x41 + (x36 << 0x1));
- uint64_t x43 = (x42 + x36);
- uint64_t x44 = (x25 + (x35 << 0x4));
- uint64_t x45 = (x44 + (x35 << 0x1));
- uint64_t x46 = (x45 + x35);
- uint64_t x47 = (x24 + (x34 << 0x4));
- uint64_t x48 = (x47 + (x34 << 0x1));
- uint64_t x49 = (x48 + x34);
- uint64_t x50 = (x23 + (x33 << 0x4));
- uint64_t x51 = (x50 + (x33 << 0x1));
- uint64_t x52 = (x51 + x33);
- uint64_t x53 = (x22 + (x32 << 0x4));
- uint64_t x54 = (x53 + (x32 << 0x1));
- uint64_t x55 = (x54 + x32);
- uint64_t x56 = (x21 + (x31 << 0x4));
- uint64_t x57 = (x56 + (x31 << 0x1));
- uint64_t x58 = (x57 + x31);
- uint64_t x59 = (x20 + (x30 << 0x4));
- uint64_t x60 = (x59 + (x30 << 0x1));
- uint64_t x61 = (x60 + x30);
- uint64_t x62 = (x19 + (x29 << 0x4));
- uint64_t x63 = (x62 + (x29 << 0x1));
- uint64_t x64 = (x63 + x29);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x61);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x58);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x55);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x52);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x49);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x46);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x43);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x28);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x66 + (0x13 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint32_t x97 = (x95 + x69);
- uint32_t x98 = (x97 >> 0x19);
- uint32_t x99 = (x97 & 0x1ffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x98 + x72), Return x99, Return x96))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.v b/src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.v
deleted file mode 100644
index 651779f2b..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fesub.c b/src/Specific/solinas32_2e255m19_10limbs_donna/fesub.c
deleted file mode 100644
index b92ed2bbe..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0x7ffffda + x5) - x23);
- out[1] = ((0x3fffffe + x7) - x25);
- out[2] = ((0x7fffffe + x9) - x27);
- out[3] = ((0x3fffffe + x11) - x29);
- out[4] = ((0x7fffffe + x13) - x31);
- out[5] = ((0x3fffffe + x15) - x33);
- out[6] = ((0x7fffffe + x17) - x35);
- out[7] = ((0x3fffffe + x19) - x37);
- out[8] = ((0x7fffffe + x21) - x39);
- out[9] = ((0x3fffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fesub.v b/src/Specific/solinas32_2e255m19_10limbs_donna/fesub.v
deleted file mode 100644
index 3c5d12e55..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/fesubDisplay.log b/src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.log
deleted file mode 100644
index bb18a6a51..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3fffffe + x20) - x38), ((0x7fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x7fffffe + x17) - x35), ((0x3fffffe + x15) - x33), ((0x7fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x7fffffe + x9) - x27), ((0x3fffffe + x7) - x25), ((0x7ffffda + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.v b/src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.v
deleted file mode 100644
index a4ec24ade..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/freeze.c b/src/Specific/solinas32_2e255m19_10limbs_donna/freeze.c
deleted file mode 100644
index 89de979a8..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20; uint8_t/*bool*/ x21 = _subborrow_u26(0x0, x2, 0x3ffffed, &x20);
- { uint32_t x23; uint8_t/*bool*/ x24 = _subborrow_u25(x21, x4, 0x1ffffff, &x23);
- { uint32_t x26; uint8_t/*bool*/ x27 = _subborrow_u26(x24, x6, 0x3ffffff, &x26);
- { uint32_t x29; uint8_t/*bool*/ x30 = _subborrow_u25(x27, x8, 0x1ffffff, &x29);
- { uint32_t x32; uint8_t/*bool*/ x33 = _subborrow_u26(x30, x10, 0x3ffffff, &x32);
- { uint32_t x35; uint8_t/*bool*/ x36 = _subborrow_u25(x33, x12, 0x1ffffff, &x35);
- { uint32_t x38; uint8_t/*bool*/ x39 = _subborrow_u26(x36, x14, 0x3ffffff, &x38);
- { uint32_t x41; uint8_t/*bool*/ x42 = _subborrow_u25(x39, x16, 0x1ffffff, &x41);
- { uint32_t x44; uint8_t/*bool*/ x45 = _subborrow_u26(x42, x18, 0x3ffffff, &x44);
- { uint32_t x47; uint8_t/*bool*/ x48 = _subborrow_u25(x45, x17, 0x1ffffff, &x47);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x3ffffed);
- { uint32_t x52; uint8_t/*bool*/ x53 = _addcarryx_u26(0x0, x20, x50, &x52);
- { uint32_t x54 = (x49 & 0x1ffffff);
- { uint32_t x56; uint8_t/*bool*/ x57 = _addcarryx_u25(x53, x23, x54, &x56);
- { uint32_t x58 = (x49 & 0x3ffffff);
- { uint32_t x60; uint8_t/*bool*/ x61 = _addcarryx_u26(x57, x26, x58, &x60);
- { uint32_t x62 = (x49 & 0x1ffffff);
- { uint32_t x64; uint8_t/*bool*/ x65 = _addcarryx_u25(x61, x29, x62, &x64);
- { uint32_t x66 = (x49 & 0x3ffffff);
- { uint32_t x68; uint8_t/*bool*/ x69 = _addcarryx_u26(x65, x32, x66, &x68);
- { uint32_t x70 = (x49 & 0x1ffffff);
- { uint32_t x72; uint8_t/*bool*/ x73 = _addcarryx_u25(x69, x35, x70, &x72);
- { uint32_t x74 = (x49 & 0x3ffffff);
- { uint32_t x76; uint8_t/*bool*/ x77 = _addcarryx_u26(x73, x38, x74, &x76);
- { uint32_t x78 = (x49 & 0x1ffffff);
- { uint32_t x80; uint8_t/*bool*/ x81 = _addcarryx_u25(x77, x41, x78, &x80);
- { uint32_t x82 = (x49 & 0x3ffffff);
- { uint32_t x84; uint8_t/*bool*/ x85 = _addcarryx_u26(x81, x44, x82, &x84);
- { uint32_t x86 = (x49 & 0x1ffffff);
- { uint32_t x88; uint8_t/*bool*/ _ = _addcarryx_u25(x85, x47, x86, &x88);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/freeze.v b/src/Specific/solinas32_2e255m19_10limbs_donna/freeze.v
deleted file mode 100644
index c57bd2f06..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.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_2e255m19_10limbs_donna/freezeDisplay.log b/src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.log
deleted file mode 100644
index 71d7c1cbb..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t/*bool*/ x21 = subborrow_u26(0x0, x2, 0x3ffffed);
- uint32_t x23, uint8_t/*bool*/ x24 = subborrow_u25(x21, x4, 0x1ffffff);
- uint32_t x26, uint8_t/*bool*/ x27 = subborrow_u26(x24, x6, 0x3ffffff);
- uint32_t x29, uint8_t/*bool*/ x30 = subborrow_u25(x27, x8, 0x1ffffff);
- uint32_t x32, uint8_t/*bool*/ x33 = subborrow_u26(x30, x10, 0x3ffffff);
- uint32_t x35, uint8_t/*bool*/ x36 = subborrow_u25(x33, x12, 0x1ffffff);
- uint32_t x38, uint8_t/*bool*/ x39 = subborrow_u26(x36, x14, 0x3ffffff);
- uint32_t x41, uint8_t/*bool*/ x42 = subborrow_u25(x39, x16, 0x1ffffff);
- uint32_t x44, uint8_t/*bool*/ x45 = subborrow_u26(x42, x18, 0x3ffffff);
- uint32_t x47, uint8_t/*bool*/ x48 = subborrow_u25(x45, x17, 0x1ffffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x3ffffed);
- uint32_t x52, uint8_t/*bool*/ x53 = addcarryx_u26(0x0, x20, x50);
- uint32_t x54 = (x49 & 0x1ffffff);
- uint32_t x56, uint8_t/*bool*/ x57 = addcarryx_u25(x53, x23, x54);
- uint32_t x58 = (x49 & 0x3ffffff);
- uint32_t x60, uint8_t/*bool*/ x61 = addcarryx_u26(x57, x26, x58);
- uint32_t x62 = (x49 & 0x1ffffff);
- uint32_t x64, uint8_t/*bool*/ x65 = addcarryx_u25(x61, x29, x62);
- uint32_t x66 = (x49 & 0x3ffffff);
- uint32_t x68, uint8_t/*bool*/ x69 = addcarryx_u26(x65, x32, x66);
- uint32_t x70 = (x49 & 0x1ffffff);
- uint32_t x72, uint8_t/*bool*/ x73 = addcarryx_u25(x69, x35, x70);
- uint32_t x74 = (x49 & 0x3ffffff);
- uint32_t x76, uint8_t/*bool*/ x77 = addcarryx_u26(x73, x38, x74);
- uint32_t x78 = (x49 & 0x1ffffff);
- uint32_t x80, uint8_t/*bool*/ x81 = addcarryx_u25(x77, x41, x78);
- uint32_t x82 = (x49 & 0x3ffffff);
- uint32_t x84, uint8_t/*bool*/ x85 = addcarryx_u26(x81, x44, x82);
- uint32_t x86 = (x49 & 0x1ffffff);
- uint32_t x88, uint8_t/*bool*/ _ = addcarryx_u25(x85, x47, x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.v b/src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.v
deleted file mode 100644
index 3992875a2..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_10limbs_donna.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e255m19_10limbs_donna/py_interpreter.sh b/src/Specific/solinas32_2e255m19_10limbs_donna/py_interpreter.sh
deleted file mode 100755
index c5b125c07..000000000
--- a/src/Specific/solinas32_2e255m19_10limbs_donna/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='25.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v b/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v
deleted file mode 100644
index b1b94c285..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 23 + 2/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 23 + 2/11;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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_2e255m19_11limbs/Synthesis.v b/src/Specific/solinas32_2e255m19_11limbs/Synthesis.v
deleted file mode 100644
index 55d4ba8ca..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/compiler.sh b/src/Specific/solinas32_2e255m19_11limbs/compiler.sh
deleted file mode 100755
index 7cc2878f7..000000000
--- a/src/Specific/solinas32_2e255m19_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,24,23,23,23,23,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas32_2e255m19_11limbs/compilerxx.sh b/src/Specific/solinas32_2e255m19_11limbs/compilerxx.sh
deleted file mode 100755
index 94996d1c5..000000000
--- a/src/Specific/solinas32_2e255m19_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,24,23,23,23,23,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas32_2e255m19_11limbs/feadd.c b/src/Specific/solinas32_2e255m19_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e255m19_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_2e255m19_11limbs/feadd.v b/src/Specific/solinas32_2e255m19_11limbs/feadd.v
deleted file mode 100644
index acbeb9532..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e255m19_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e255m19_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_2e255m19_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e255m19_11limbs/feaddDisplay.v
deleted file mode 100644
index f1d409715..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fecarry.c b/src/Specific/solinas32_2e255m19_11limbs/fecarry.c
deleted file mode 100644
index ec622a02f..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fecarry.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fecarry(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 x21 = (x2 >> 0x18);
- { uint32_t x22 = (x2 & 0xffffff);
- { uint32_t x23 = (x21 + x4);
- { uint32_t x24 = (x23 >> 0x17);
- { uint32_t x25 = (x23 & 0x7fffff);
- { uint32_t x26 = (x24 + x6);
- { uint32_t x27 = (x26 >> 0x17);
- { uint32_t x28 = (x26 & 0x7fffff);
- { uint32_t x29 = (x27 + x8);
- { uint32_t x30 = (x29 >> 0x17);
- { uint32_t x31 = (x29 & 0x7fffff);
- { uint32_t x32 = (x30 + x10);
- { uint32_t x33 = (x32 >> 0x17);
- { uint32_t x34 = (x32 & 0x7fffff);
- { uint32_t x35 = (x33 + x12);
- { uint32_t x36 = (x35 >> 0x18);
- { uint32_t x37 = (x35 & 0xffffff);
- { uint32_t x38 = (x36 + x14);
- { uint32_t x39 = (x38 >> 0x17);
- { uint32_t x40 = (x38 & 0x7fffff);
- { uint32_t x41 = (x39 + x16);
- { uint32_t x42 = (x41 >> 0x17);
- { uint32_t x43 = (x41 & 0x7fffff);
- { uint32_t x44 = (x42 + x18);
- { uint32_t x45 = (x44 >> 0x17);
- { uint32_t x46 = (x44 & 0x7fffff);
- { uint32_t x47 = (x45 + x20);
- { uint32_t x48 = (x47 >> 0x17);
- { uint32_t x49 = (x47 & 0x7fffff);
- { uint32_t x50 = (x48 + x19);
- { uint32_t x51 = (x50 >> 0x17);
- { uint32_t x52 = (x50 & 0x7fffff);
- { uint32_t x53 = (x22 + (0x13 * x51));
- { uint32_t x54 = (x53 >> 0x18);
- { uint32_t x55 = (x53 & 0xffffff);
- { uint32_t x56 = (x54 + x25);
- { uint32_t x57 = (x56 >> 0x17);
- { uint32_t x58 = (x56 & 0x7fffff);
- out[0] = x55;
- out[1] = x58;
- out[2] = (x57 + x28);
- out[3] = x31;
- out[4] = x34;
- out[5] = x37;
- out[6] = x40;
- out[7] = x43;
- out[8] = x46;
- out[9] = x49;
- out[10] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fecarry.v b/src/Specific/solinas32_2e255m19_11limbs/fecarry.v
deleted file mode 100644
index 0a9dc3b88..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/fecarryDisplay.log b/src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.log
deleted file mode 100644
index 1e8284701..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.log
+++ /dev/null
@@ -1,45 +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 x21 = (x2 >> 0x18);
- uint32_t x22 = (x2 & 0xffffff);
- uint32_t x23 = (x21 + x4);
- uint32_t x24 = (x23 >> 0x17);
- uint32_t x25 = (x23 & 0x7fffff);
- uint32_t x26 = (x24 + x6);
- uint32_t x27 = (x26 >> 0x17);
- uint32_t x28 = (x26 & 0x7fffff);
- uint32_t x29 = (x27 + x8);
- uint32_t x30 = (x29 >> 0x17);
- uint32_t x31 = (x29 & 0x7fffff);
- uint32_t x32 = (x30 + x10);
- uint32_t x33 = (x32 >> 0x17);
- uint32_t x34 = (x32 & 0x7fffff);
- uint32_t x35 = (x33 + x12);
- uint32_t x36 = (x35 >> 0x18);
- uint32_t x37 = (x35 & 0xffffff);
- uint32_t x38 = (x36 + x14);
- uint32_t x39 = (x38 >> 0x17);
- uint32_t x40 = (x38 & 0x7fffff);
- uint32_t x41 = (x39 + x16);
- uint32_t x42 = (x41 >> 0x17);
- uint32_t x43 = (x41 & 0x7fffff);
- uint32_t x44 = (x42 + x18);
- uint32_t x45 = (x44 >> 0x17);
- uint32_t x46 = (x44 & 0x7fffff);
- uint32_t x47 = (x45 + x20);
- uint32_t x48 = (x47 >> 0x17);
- uint32_t x49 = (x47 & 0x7fffff);
- uint32_t x50 = (x48 + x19);
- uint32_t x51 = (x50 >> 0x17);
- uint32_t x52 = (x50 & 0x7fffff);
- uint32_t x53 = (x22 + (0x13 * x51));
- uint32_t x54 = (x53 >> 0x18);
- uint32_t x55 = (x53 & 0xffffff);
- uint32_t x56 = (x54 + x25);
- uint32_t x57 = (x56 >> 0x17);
- uint32_t x58 = (x56 & 0x7fffff);
- return (Return x52, Return x49, Return x46, Return x43, Return x40, Return x37, Return x34, Return x31, (x57 + x28), Return x58, Return x55))
-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_2e255m19_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.v
deleted file mode 100644
index c43ae06b7..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e255m19_11limbs/femul.c b/src/Specific/solinas32_2e255m19_11limbs/femul.c
deleted file mode 100644
index 706430ee4..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(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];
- { uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + ((uint64_t)x23 * x25)))))))))) + (0x13 * ((uint64_t)x22 * x42)));
- { uint64_t x46 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((uint64_t)x21 * x25))))))))) + (0x13 * (((uint64_t)x23 * x42) + ((uint64_t)x22 * x43))));
- { uint64_t x47 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((uint64_t)x19 * x25)))))))) + (0x13 * (((uint64_t)x21 * x42) + (((uint64_t)x23 * x43) + ((uint64_t)x22 * x41)))));
- { uint64_t x48 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((uint64_t)x17 * x25))))))) + (0x13 * (((uint64_t)x19 * x42) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x22 * x39))))));
- { uint64_t x49 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((uint64_t)x15 * x25)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x42)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (0x2 * ((uint64_t)x22 * x37))))))));
- { uint64_t x50 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((uint64_t)x13 * x25))))) + (0x13 * (((uint64_t)x15 * x42) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x22 * x35))))))));
- { uint64_t x51 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((uint64_t)x11 * x25)))) + (0x13 * (((uint64_t)x13 * x42) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (((uint64_t)x23 * x35) + ((uint64_t)x22 * x33)))))))));
- { uint64_t x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) + (0x13 * (((uint64_t)x11 * x42) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x22 * x31))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x13 * (((uint64_t)x9 * x42) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x22 * x29)))))))))));
- { uint64_t x54 = (((uint64_t)x5 * x25) + (0x13 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- { uint64_t x55 = (x54 >> 0x18);
- { uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- { uint64_t x57 = (x55 + x53);
- { uint64_t x58 = (x57 >> 0x17);
- { uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- { uint64_t x60 = (x58 + x52);
- { uint64_t x61 = (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x61 + x51);
- { uint64_t x64 = (x63 >> 0x17);
- { uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
- { uint64_t x66 = (x64 + x50);
- { uint64_t x67 = (x66 >> 0x17);
- { uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- { uint64_t x69 = (x67 + x49);
- { uint64_t x70 = (x69 >> 0x18);
- { uint32_t x71 = ((uint32_t)x69 & 0xffffff);
- { uint64_t x72 = (x70 + x48);
- { uint64_t x73 = (x72 >> 0x17);
- { uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- { uint64_t x75 = (x73 + x47);
- { uint64_t x76 = (x75 >> 0x17);
- { uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
- { uint64_t x78 = (x76 + x46);
- { uint64_t x79 = (x78 >> 0x17);
- { uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- { uint64_t x81 = (x79 + x45);
- { uint32_t x82 = (uint32_t) (x81 >> 0x17);
- { uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- { uint64_t x84 = (x82 + x44);
- { uint32_t x85 = (uint32_t) (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x56 + ((uint64_t)0x13 * x85));
- { uint32_t x88 = (uint32_t) (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint32_t x90 = (x88 + x59);
- { uint32_t x91 = (x90 >> 0x17);
- { uint32_t x92 = (x90 & 0x7fffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_11limbs/femul.v b/src/Specific/solinas32_2e255m19_11limbs/femul.v
deleted file mode 100644
index d7cf17605..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/femulDisplay.log b/src/Specific/solinas32_2e255m19_11limbs/femulDisplay.log
deleted file mode 100644
index 68f38291e..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + ((uint64_t)x23 * x25)))))))))) + (0x13 * ((uint64_t)x22 * x42)));
- uint64_t x46 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((uint64_t)x21 * x25))))))))) + (0x13 * (((uint64_t)x23 * x42) + ((uint64_t)x22 * x43))));
- uint64_t x47 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((uint64_t)x19 * x25)))))))) + (0x13 * (((uint64_t)x21 * x42) + (((uint64_t)x23 * x43) + ((uint64_t)x22 * x41)))));
- uint64_t x48 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((uint64_t)x17 * x25))))))) + (0x13 * (((uint64_t)x19 * x42) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x22 * x39))))));
- uint64_t x49 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((uint64_t)x15 * x25)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x42)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (0x2 * ((uint64_t)x22 * x37))))))));
- uint64_t x50 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((uint64_t)x13 * x25))))) + (0x13 * (((uint64_t)x15 * x42) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x22 * x35))))))));
- uint64_t x51 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((uint64_t)x11 * x25)))) + (0x13 * (((uint64_t)x13 * x42) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (((uint64_t)x23 * x35) + ((uint64_t)x22 * x33)))))))));
- uint64_t x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) + (0x13 * (((uint64_t)x11 * x42) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x22 * x31))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x13 * (((uint64_t)x9 * x42) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x22 * x29)))))))))));
- uint64_t x54 = (((uint64_t)x5 * x25) + (0x13 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- uint64_t x55 = (x54 >> 0x18);
- uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- uint64_t x57 = (x55 + x53);
- uint64_t x58 = (x57 >> 0x17);
- uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- uint64_t x60 = (x58 + x52);
- uint64_t x61 = (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x61 + x51);
- uint64_t x64 = (x63 >> 0x17);
- uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
- uint64_t x66 = (x64 + x50);
- uint64_t x67 = (x66 >> 0x17);
- uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- uint64_t x69 = (x67 + x49);
- uint64_t x70 = (x69 >> 0x18);
- uint32_t x71 = ((uint32_t)x69 & 0xffffff);
- uint64_t x72 = (x70 + x48);
- uint64_t x73 = (x72 >> 0x17);
- uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- uint64_t x75 = (x73 + x47);
- uint64_t x76 = (x75 >> 0x17);
- uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
- uint64_t x78 = (x76 + x46);
- uint64_t x79 = (x78 >> 0x17);
- uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- uint64_t x81 = (x79 + x45);
- uint32_t x82 = (uint32_t) (x81 >> 0x17);
- uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- uint64_t x84 = (x82 + x44);
- uint32_t x85 = (uint32_t) (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x56 + ((uint64_t)0x13 * x85));
- uint32_t x88 = (uint32_t) (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint32_t x90 = (x88 + x59);
- uint32_t x91 = (x90 >> 0x17);
- uint32_t x92 = (x90 & 0x7fffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(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_2e255m19_11limbs/femulDisplay.v b/src/Specific/solinas32_2e255m19_11limbs/femulDisplay.v
deleted file mode 100644
index e3ad00de4..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fesquare.c b/src/Specific/solinas32_2e255m19_11limbs/fesquare.c
deleted file mode 100644
index 33b637cc4..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(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];
- { uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x13 * ((uint64_t)x19 * x19)));
- { uint64_t x23 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * (((uint64_t)x20 * x19) + ((uint64_t)x19 * x20))));
- { uint64_t x24 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * (((uint64_t)x18 * x19) + (((uint64_t)x20 * x20) + ((uint64_t)x19 * x18)))));
- { uint64_t x25 = ((((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))))))) + (0x13 * (((uint64_t)x16 * x19) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x19 * x16))))));
- { uint64_t x26 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x19)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (0x2 * ((uint64_t)x19 * x14))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x19) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((uint64_t)x19 * x12))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x19) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((uint64_t)x19 * x10)))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x19) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((uint64_t)x19 * x8))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x19) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((uint64_t)x19 * x6)))))))))));
- { uint64_t x31 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x30);
- { uint64_t x35 = (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x29);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x28);
- { uint64_t x41 = (x40 >> 0x17);
- { uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- { uint64_t x43 = (x41 + x27);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x26);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x25);
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x24);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x23);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x22);
- { uint32_t x59 = (uint32_t) (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x21);
- { uint32_t x62 = (uint32_t) (x61 >> 0x17);
- { uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- { uint64_t x64 = (x33 + ((uint64_t)0x13 * x62));
- { uint32_t x65 = (uint32_t) (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint32_t x67 = (x65 + x36);
- { uint32_t x68 = (x67 >> 0x17);
- { uint32_t x69 = (x67 & 0x7fffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fesquare.v b/src/Specific/solinas32_2e255m19_11limbs/fesquare.v
deleted file mode 100644
index a5554d5fc..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/fesquareDisplay.log b/src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.log
deleted file mode 100644
index e2fd23f51..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- uint64_t x22 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x13 * ((uint64_t)x19 * x19)));
- uint64_t x23 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * (((uint64_t)x20 * x19) + ((uint64_t)x19 * x20))));
- uint64_t x24 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * (((uint64_t)x18 * x19) + (((uint64_t)x20 * x20) + ((uint64_t)x19 * x18)))));
- uint64_t x25 = ((((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))))))) + (0x13 * (((uint64_t)x16 * x19) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x19 * x16))))));
- uint64_t x26 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x19)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (0x2 * ((uint64_t)x19 * x14))))))));
- uint64_t x27 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x19) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((uint64_t)x19 * x12))))))));
- uint64_t x28 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x19) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((uint64_t)x19 * x10)))))))));
- uint64_t x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x19) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((uint64_t)x19 * x8))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x19) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((uint64_t)x19 * x6)))))))))));
- uint64_t x31 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x30);
- uint64_t x35 = (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x29);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x28);
- uint64_t x41 = (x40 >> 0x17);
- uint32_t x42 = ((uint32_t)x40 & 0x7fffff);
- uint64_t x43 = (x41 + x27);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x26);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x25);
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x24);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x23);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x22);
- uint32_t x59 = (uint32_t) (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x21);
- uint32_t x62 = (uint32_t) (x61 >> 0x17);
- uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- uint64_t x64 = (x33 + ((uint64_t)0x13 * x62));
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint32_t x67 = (x65 + x36);
- uint32_t x68 = (x67 >> 0x17);
- uint32_t x69 = (x67 & 0x7fffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-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_2e255m19_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.v
deleted file mode 100644
index 2cefb615c..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fesub.c b/src/Specific/solinas32_2e255m19_11limbs/fesub.c
deleted file mode 100644
index 3e88a923c..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(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] = ((0x1ffffda + x5) - x25);
- out[1] = ((0xfffffe + x7) - x27);
- out[2] = ((0xfffffe + x9) - x29);
- out[3] = ((0xfffffe + x11) - x31);
- out[4] = ((0xfffffe + x13) - x33);
- out[5] = ((0x1fffffe + x15) - x35);
- out[6] = ((0xfffffe + x17) - x37);
- out[7] = ((0xfffffe + x19) - x39);
- out[8] = ((0xfffffe + x21) - x41);
- out[9] = ((0xfffffe + x23) - x43);
- out[10] = ((0xfffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_11limbs/fesub.v b/src/Specific/solinas32_2e255m19_11limbs/fesub.v
deleted file mode 100644
index 673a14d88..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/fesubDisplay.log b/src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.log
deleted file mode 100644
index 298433d11..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.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,
- (((0xfffffe + x22) - x42), ((0xfffffe + x23) - x43), ((0xfffffe + x21) - x41), ((0xfffffe + x19) - x39), ((0xfffffe + x17) - x37), ((0x1fffffe + x15) - x35), ((0xfffffe + x13) - x33), ((0xfffffe + x11) - x31), ((0xfffffe + x9) - x29), ((0xfffffe + x7) - x27), ((0x1ffffda + 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_2e255m19_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.v
deleted file mode 100644
index d2f5b1001..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e255m19_11limbs/freeze.c b/src/Specific/solinas32_2e255m19_11limbs/freeze.c
deleted file mode 100644
index 7864792d6..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +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, uint8_t/*bool*/ x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (0x0, Return x2, 0xffffed);
- { uint32_t x25, uint8_t/*bool*/ x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x23, Return x4, 0x7fffff);
- { uint32_t x28, uint8_t/*bool*/ x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x26, Return x6, 0x7fffff);
- { uint32_t x31, uint8_t/*bool*/ x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x29, Return x8, 0x7fffff);
- { uint32_t x34, uint8_t/*bool*/ x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x32, Return x10, 0x7fffff);
- { uint32_t x37, uint8_t/*bool*/ x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x35, Return x12, 0xffffff);
- { uint32_t x40, uint8_t/*bool*/ x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x38, Return x14, 0x7fffff);
- { uint32_t x43, uint8_t/*bool*/ x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x41, Return x16, 0x7fffff);
- { uint32_t x46, uint8_t/*bool*/ x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x44, Return x18, 0x7fffff);
- { uint32_t x49, uint8_t/*bool*/ x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x47, Return x20, 0x7fffff);
- { uint32_t x52, uint8_t/*bool*/ x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x50, Return x19, 0x7fffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0xffffed);
- { uint32_t x57, uint8_t/*bool*/ x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0x7fffff);
- { uint32_t x61, uint8_t/*bool*/ x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0x7fffff);
- { uint32_t x65, uint8_t/*bool*/ x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0x7fffff);
- { uint32_t x69, uint8_t/*bool*/ x70 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x66, Return x31, Return x67);
- { uint32_t x71 = (x54 & 0x7fffff);
- { uint32_t x73, uint8_t/*bool*/ x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x70, Return x34, Return x71);
- { uint32_t x75 = (x54 & 0xffffff);
- { uint32_t x77, uint8_t/*bool*/ x78 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x74, Return x37, Return x75);
- { uint32_t x79 = (x54 & 0x7fffff);
- { uint32_t x81, uint8_t/*bool*/ x82 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x78, Return x40, Return x79);
- { uint32_t x83 = (x54 & 0x7fffff);
- { uint32_t x85, uint8_t/*bool*/ x86 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x82, Return x43, Return x83);
- { uint32_t x87 = (x54 & 0x7fffff);
- { uint32_t x89, uint8_t/*bool*/ x90 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x86, Return x46, Return x87);
- { uint32_t x91 = (x54 & 0x7fffff);
- { uint32_t x93, uint8_t/*bool*/ x94 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x90, Return x49, Return x91);
- { uint32_t x95 = (x54 & 0x7fffff);
- { uint32_t x97, uint8_t/*bool*/ _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m19_11limbs/freeze.v b/src/Specific/solinas32_2e255m19_11limbs/freeze.v
deleted file mode 100644
index a16b4f50d..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m19_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_2e255m19_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.log
deleted file mode 100644
index f6174bc30..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +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, uint8_t/*bool*/ x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (0x0, Return x2, 0xffffed);
- uint32_t x25, uint8_t/*bool*/ x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x23, Return x4, 0x7fffff);
- uint32_t x28, uint8_t/*bool*/ x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x26, Return x6, 0x7fffff);
- uint32_t x31, uint8_t/*bool*/ x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x29, Return x8, 0x7fffff);
- uint32_t x34, uint8_t/*bool*/ x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x32, Return x10, 0x7fffff);
- uint32_t x37, uint8_t/*bool*/ x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x35, Return x12, 0xffffff);
- uint32_t x40, uint8_t/*bool*/ x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x38, Return x14, 0x7fffff);
- uint32_t x43, uint8_t/*bool*/ x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x41, Return x16, 0x7fffff);
- uint32_t x46, uint8_t/*bool*/ x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x44, Return x18, 0x7fffff);
- uint32_t x49, uint8_t/*bool*/ x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x47, Return x20, 0x7fffff);
- uint32_t x52, uint8_t/*bool*/ x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x50, Return x19, 0x7fffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0xffffed);
- uint32_t x57, uint8_t/*bool*/ x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0x7fffff);
- uint32_t x61, uint8_t/*bool*/ x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0x7fffff);
- uint32_t x65, uint8_t/*bool*/ x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0x7fffff);
- uint32_t x69, uint8_t/*bool*/ x70 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x66, Return x31, Return x67);
- uint32_t x71 = (x54 & 0x7fffff);
- uint32_t x73, uint8_t/*bool*/ x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x70, Return x34, Return x71);
- uint32_t x75 = (x54 & 0xffffff);
- uint32_t x77, uint8_t/*bool*/ x78 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x74, Return x37, Return x75);
- uint32_t x79 = (x54 & 0x7fffff);
- uint32_t x81, uint8_t/*bool*/ x82 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x78, Return x40, Return x79);
- uint32_t x83 = (x54 & 0x7fffff);
- uint32_t x85, uint8_t/*bool*/ x86 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x82, Return x43, Return x83);
- uint32_t x87 = (x54 & 0x7fffff);
- uint32_t x89, uint8_t/*bool*/ x90 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x86, Return x46, Return x87);
- uint32_t x91 = (x54 & 0x7fffff);
- uint32_t x93, uint8_t/*bool*/ x94 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x90, Return x49, Return x91);
- uint32_t x95 = (x54 & 0x7fffff);
- uint32_t x97, uint8_t/*bool*/ _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 0) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 0)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, 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_2e255m19_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.v
deleted file mode 100644
index 74d8b3997..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m19_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e255m19_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e255m19_11limbs/py_interpreter.sh
deleted file mode 100755
index 6d6e3354b..000000000
--- a/src/Specific/solinas32_2e255m19_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='23 + 2/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e255m765_12limbs/CurveParameters.v b/src/Specific/solinas32_2e255m765_12limbs/CurveParameters.v
deleted file mode 100644
index 7e852b89d..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 765
-Base: 21.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 21 + 1/4;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 765)];
- carry_chains := Some [seq 0 (pred 12); [0; 1]]%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_2e255m765_12limbs/Synthesis.v b/src/Specific/solinas32_2e255m765_12limbs/Synthesis.v
deleted file mode 100644
index ec9941b4a..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/compiler.sh b/src/Specific/solinas32_2e255m765_12limbs/compiler.sh
deleted file mode 100755
index e8ad2001c..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas32_2e255m765_12limbs/compilerxx.sh b/src/Specific/solinas32_2e255m765_12limbs/compilerxx.sh
deleted file mode 100755
index f3557c134..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas32_2e255m765_12limbs/feadd.c b/src/Specific/solinas32_2e255m765_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_12limbs/feadd.v b/src/Specific/solinas32_2e255m765_12limbs/feadd.v
deleted file mode 100644
index 77cf51c9a..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.v
deleted file mode 100644
index becc9e995..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fecarry.v b/src/Specific/solinas32_2e255m765_12limbs/fecarry.v
deleted file mode 100644
index 637a6f32a..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e255m765_12limbs/fecarryDisplay.v
deleted file mode 100644
index 5d1bac22b..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e255m765_12limbs/femul.c b/src/Specific/solinas32_2e255m765_12limbs/femul.c
deleted file mode 100644
index 6b918503d..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/femul.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
- { uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x2fd * ((uint64_t)x24 * x46)));
- { uint64_t x50 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x2fd * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x2fd * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x19 * x27)))))))) + (0x2fd * (((uint64_t)x21 * x46) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x24 * x43))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x2fd * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
- { uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x2fd * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
- { uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x2fd * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x2fd * (((uint64_t)x13 * x46) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x24 * x35))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x2fd * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x2fd * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- { uint64_t x59 = (((uint64_t)x5 * x27) + (0x2fd * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- { uint64_t x60 = (x59 >> 0x16);
- { uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- { uint64_t x62 = (x60 + x58);
- { uint64_t x63 = (x62 >> 0x15);
- { uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- { uint64_t x65 = (x63 + x57);
- { uint64_t x66 = (x65 >> 0x15);
- { uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
- { uint64_t x68 = (x66 + x56);
- { uint64_t x69 = (x68 >> 0x15);
- { uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- { uint64_t x71 = (x69 + x55);
- { uint64_t x72 = (x71 >> 0x16);
- { uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- { uint64_t x74 = (x72 + x54);
- { uint64_t x75 = (x74 >> 0x15);
- { uint32_t x76 = ((uint32_t)x74 & 0x1fffff);
- { uint64_t x77 = (x75 + x53);
- { uint64_t x78 = (x77 >> 0x15);
- { uint32_t x79 = ((uint32_t)x77 & 0x1fffff);
- { uint64_t x80 = (x78 + x52);
- { uint64_t x81 = (x80 >> 0x15);
- { uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
- { uint64_t x83 = (x81 + x51);
- { uint64_t x84 = (x83 >> 0x16);
- { uint32_t x85 = ((uint32_t)x83 & 0x3fffff);
- { uint64_t x86 = (x84 + x50);
- { uint64_t x87 = (x86 >> 0x15);
- { uint32_t x88 = ((uint32_t)x86 & 0x1fffff);
- { uint64_t x89 = (x87 + x49);
- { uint64_t x90 = (x89 >> 0x15);
- { uint32_t x91 = ((uint32_t)x89 & 0x1fffff);
- { uint64_t x92 = (x90 + x48);
- { uint32_t x93 = (uint32_t) (x92 >> 0x15);
- { uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- { uint64_t x95 = (x61 + ((uint64_t)0x2fd * x93));
- { uint32_t x96 = (uint32_t) (x95 >> 0x16);
- { uint32_t x97 = ((uint32_t)x95 & 0x3fffff);
- { uint32_t x98 = (x96 + x64);
- { uint32_t x99 = (x98 >> 0x15);
- { uint32_t x100 = (x98 & 0x1fffff);
- out[0] = x97;
- out[1] = x100;
- out[2] = (x99 + x67);
- out[3] = x70;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x85;
- out[9] = x88;
- out[10] = x91;
- out[11] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_12limbs/femul.v b/src/Specific/solinas32_2e255m765_12limbs/femul.v
deleted file mode 100644
index 52be0d9e3..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/femulDisplay.log b/src/Specific/solinas32_2e255m765_12limbs/femulDisplay.log
deleted file mode 100644
index bd79c323a..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
- uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x2fd * ((uint64_t)x24 * x46)));
- uint64_t x50 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x2fd * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x2fd * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x19 * x27)))))))) + (0x2fd * (((uint64_t)x21 * x46) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x24 * x43))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x2fd * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
- uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x2fd * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
- uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x2fd * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x2fd * (((uint64_t)x13 * x46) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x24 * x35))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x2fd * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
- uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x2fd * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- uint64_t x59 = (((uint64_t)x5 * x27) + (0x2fd * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- uint64_t x60 = (x59 >> 0x16);
- uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- uint64_t x62 = (x60 + x58);
- uint64_t x63 = (x62 >> 0x15);
- uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- uint64_t x65 = (x63 + x57);
- uint64_t x66 = (x65 >> 0x15);
- uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
- uint64_t x68 = (x66 + x56);
- uint64_t x69 = (x68 >> 0x15);
- uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
- uint64_t x71 = (x69 + x55);
- uint64_t x72 = (x71 >> 0x16);
- uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
- uint64_t x74 = (x72 + x54);
- uint64_t x75 = (x74 >> 0x15);
- uint32_t x76 = ((uint32_t)x74 & 0x1fffff);
- uint64_t x77 = (x75 + x53);
- uint64_t x78 = (x77 >> 0x15);
- uint32_t x79 = ((uint32_t)x77 & 0x1fffff);
- uint64_t x80 = (x78 + x52);
- uint64_t x81 = (x80 >> 0x15);
- uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
- uint64_t x83 = (x81 + x51);
- uint64_t x84 = (x83 >> 0x16);
- uint32_t x85 = ((uint32_t)x83 & 0x3fffff);
- uint64_t x86 = (x84 + x50);
- uint64_t x87 = (x86 >> 0x15);
- uint32_t x88 = ((uint32_t)x86 & 0x1fffff);
- uint64_t x89 = (x87 + x49);
- uint64_t x90 = (x89 >> 0x15);
- uint32_t x91 = ((uint32_t)x89 & 0x1fffff);
- uint64_t x92 = (x90 + x48);
- uint32_t x93 = (uint32_t) (x92 >> 0x15);
- uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- uint64_t x95 = (x61 + ((uint64_t)0x2fd * x93));
- uint32_t x96 = (uint32_t) (x95 >> 0x16);
- uint32_t x97 = ((uint32_t)x95 & 0x3fffff);
- uint32_t x98 = (x96 + x64);
- uint32_t x99 = (x98 >> 0x15);
- uint32_t x100 = (x98 & 0x1fffff);
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e255m765_12limbs/femulDisplay.v b/src/Specific/solinas32_2e255m765_12limbs/femulDisplay.v
deleted file mode 100644
index d12ab806a..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fesquare.c b/src/Specific/solinas32_2e255m765_12limbs/fesquare.c
deleted file mode 100644
index c9476e253..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesquare.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x2fd * ((uint64_t)x21 * x21)));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x2fd * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x2fd * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- { uint64_t x27 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x2fd * (((uint64_t)x18 * x21) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((uint64_t)x21 * x18))))));
- { uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x2fd * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
- { uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x2fd * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x2fd * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x2fd * (((uint64_t)x10 * x21) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((uint64_t)x21 * x10))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x2fd * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x2fd * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- { uint64_t x34 = (((uint64_t)x2 * x2) + (0x2fd * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- { uint64_t x35 = (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x15);
- { uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x15);
- { uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x16);
- { uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x15);
- { uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- { uint64_t x55 = (x53 + x27);
- { uint64_t x56 = (x55 >> 0x15);
- { uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- { uint64_t x58 = (x56 + x26);
- { uint64_t x59 = (x58 >> 0x16);
- { uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
- { uint64_t x61 = (x59 + x25);
- { uint64_t x62 = (x61 >> 0x15);
- { uint32_t x63 = ((uint32_t)x61 & 0x1fffff);
- { uint64_t x64 = (x62 + x24);
- { uint64_t x65 = (x64 >> 0x15);
- { uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- { uint64_t x67 = (x65 + x23);
- { uint32_t x68 = (uint32_t) (x67 >> 0x15);
- { uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- { uint64_t x70 = (x36 + ((uint64_t)0x2fd * x68));
- { uint32_t x71 = (uint32_t) (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint32_t x73 = (x71 + x39);
- { uint32_t x74 = (x73 >> 0x15);
- { uint32_t x75 = (x73 & 0x1fffff);
- out[0] = x72;
- out[1] = x75;
- out[2] = (x74 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- out[7] = x57;
- out[8] = x60;
- out[9] = x63;
- out[10] = x66;
- out[11] = x69;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fesquare.v b/src/Specific/solinas32_2e255m765_12limbs/fesquare.v
deleted file mode 100644
index 55f121919..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.log
deleted file mode 100644
index 7ac4be662..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x2fd * ((uint64_t)x21 * x21)));
- uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x2fd * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x2fd * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- uint64_t x27 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x2fd * (((uint64_t)x18 * x21) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((uint64_t)x21 * x18))))));
- uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x2fd * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
- uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x2fd * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
- uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x2fd * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x2fd * (((uint64_t)x10 * x21) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((uint64_t)x21 * x10))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x2fd * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x2fd * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- uint64_t x34 = (((uint64_t)x2 * x2) + (0x2fd * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- uint64_t x35 = (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x15);
- uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x15);
- uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x16);
- uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x15);
- uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
- uint64_t x55 = (x53 + x27);
- uint64_t x56 = (x55 >> 0x15);
- uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- uint64_t x58 = (x56 + x26);
- uint64_t x59 = (x58 >> 0x16);
- uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
- uint64_t x61 = (x59 + x25);
- uint64_t x62 = (x61 >> 0x15);
- uint32_t x63 = ((uint32_t)x61 & 0x1fffff);
- uint64_t x64 = (x62 + x24);
- uint64_t x65 = (x64 >> 0x15);
- uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- uint64_t x67 = (x65 + x23);
- uint32_t x68 = (uint32_t) (x67 >> 0x15);
- uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- uint64_t x70 = (x36 + ((uint64_t)0x2fd * x68));
- uint32_t x71 = (uint32_t) (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint32_t x73 = (x71 + x39);
- uint32_t x74 = (x73 >> 0x15);
- uint32_t x75 = (x73 & 0x1fffff);
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.v
deleted file mode 100644
index bb7b1d2d6..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fesub.c b/src/Specific/solinas32_2e255m765_12limbs/fesub.c
deleted file mode 100644
index 97b5a5b26..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0x7ffa06 + x5) - x27);
- out[1] = ((0x3ffffe + x7) - x29);
- out[2] = ((0x3ffffe + x9) - x31);
- out[3] = ((0x3ffffe + x11) - x33);
- out[4] = ((0x7ffffe + x13) - x35);
- out[5] = ((0x3ffffe + x15) - x37);
- out[6] = ((0x3ffffe + x17) - x39);
- out[7] = ((0x3ffffe + x19) - x41);
- out[8] = ((0x7ffffe + x21) - x43);
- out[9] = ((0x3ffffe + x23) - x45);
- out[10] = ((0x3ffffe + x25) - x47);
- out[11] = ((0x3ffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fesub.v b/src/Specific/solinas32_2e255m765_12limbs/fesub.v
deleted file mode 100644
index 2082839e9..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.log
deleted file mode 100644
index ad8b5da3c..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x3ffffe + x24) - x46), ((0x3ffffe + x25) - x47), ((0x3ffffe + x23) - x45), ((0x7ffffe + x21) - x43), ((0x3ffffe + x19) - x41), ((0x3ffffe + x17) - x39), ((0x3ffffe + x15) - x37), ((0x7ffffe + x13) - x35), ((0x3ffffe + x11) - x33), ((0x3ffffe + x9) - x31), ((0x3ffffe + x7) - x29), ((0x7ffa06 + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.v
deleted file mode 100644
index f034a61d3..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e255m765_12limbs/freeze.c b/src/Specific/solinas32_2e255m765_12limbs/freeze.c
deleted file mode 100644
index 8e245f5f1..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffd03);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x1fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x3fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x1fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x3fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x3ffd03);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0x1fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 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 x33, Return x72);
- { uint32_t x76 = (x59 & 0x3fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0x1fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 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 x42, Return x84);
- { uint32_t x88 = (x59 & 0x1fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0x3fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0x1fffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0x1fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0x1fffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_12limbs/freeze.v b/src/Specific/solinas32_2e255m765_12limbs/freeze.v
deleted file mode 100644
index 40dd4712e..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.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_2e255m765_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.log
deleted file mode 100644
index 49f69fa90..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffd03);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x1fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x3fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x1fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x3fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x3ffd03);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0x1fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 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 x33, Return x72);
- uint32_t x76 = (x59 & 0x3fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0x1fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 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 x42, Return x84);
- uint32_t x88 = (x59 & 0x1fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0x3fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0x1fffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0x1fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0x1fffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.v
deleted file mode 100644
index d2b047369..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e255m765_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e255m765_12limbs/py_interpreter.sh
deleted file mode 100755
index e14df90fc..000000000
--- a/src/Specific/solinas32_2e255m765_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 765' -Dmodulus_bytes='21.25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e255m765_13limbs/CurveParameters.v b/src/Specific/solinas32_2e255m765_13limbs/CurveParameters.v
deleted file mode 100644
index aaaed21cd..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 765
-Base: 19 + 8/13
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 19 + 8/13;
- bitwidth := 32;
- s := 2^255;
- c := [(1, 765)];
- carry_chains := Some [seq 0 (pred 13); [0; 1]]%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_2e255m765_13limbs/Synthesis.v b/src/Specific/solinas32_2e255m765_13limbs/Synthesis.v
deleted file mode 100644
index 9dcde15b4..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/compiler.sh b/src/Specific/solinas32_2e255m765_13limbs/compiler.sh
deleted file mode 100755
index 6383cdc0d..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,19,20,20,19,20,19,20,20,19,20,19}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas32_2e255m765_13limbs/compilerxx.sh b/src/Specific/solinas32_2e255m765_13limbs/compilerxx.sh
deleted file mode 100755
index f02b7a0f4..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,19,20,20,19,20,19,20,20,19,20,19}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas32_2e255m765_13limbs/feadd.c b/src/Specific/solinas32_2e255m765_13limbs/feadd.c
deleted file mode 100644
index dbbe1da57..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/feadd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = (x5 + x29);
- out[1] = (x7 + x31);
- out[2] = (x9 + x33);
- out[3] = (x11 + x35);
- out[4] = (x13 + x37);
- out[5] = (x15 + x39);
- out[6] = (x17 + x41);
- out[7] = (x19 + x43);
- out[8] = (x21 + x45);
- out[9] = (x23 + x47);
- out[10] = (x25 + x49);
- out[11] = (x27 + x51);
- out[12] = (x26 + x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_13limbs/feadd.v b/src/Specific/solinas32_2e255m765_13limbs/feadd.v
deleted file mode 100644
index 8e5e66697..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/feaddDisplay.log b/src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.log
deleted file mode 100644
index e64abeaba..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- ((x26 + x50), (x27 + x51), (x25 + x49), (x23 + x47), (x21 + x45), (x19 + x43), (x17 + x41), (x15 + x39), (x13 + x37), (x11 + x35), (x9 + x33), (x7 + x31), (x5 + x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.v b/src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.v
deleted file mode 100644
index 822686565..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fecarry.v b/src/Specific/solinas32_2e255m765_13limbs/fecarry.v
deleted file mode 100644
index 2f052b351..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/fecarryDisplay.v b/src/Specific/solinas32_2e255m765_13limbs/fecarryDisplay.v
deleted file mode 100644
index 8099db35c..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e255m765_13limbs/femul.c b/src/Specific/solinas32_2e255m765_13limbs/femul.c
deleted file mode 100644
index e42d85f01..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/femul.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void femul(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((0x2 * ((uint64_t)x25 * x33)) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + ((uint64_t)x27 * x29)))))))))))) + (0x2fd * (0x2 * ((uint64_t)x26 * x50))));
- { uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0x2fd * (((uint64_t)x27 * x50) + ((uint64_t)x26 * x51))));
- { uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x2fd * ((0x2 * ((uint64_t)x25 * x50)) + (((uint64_t)x27 * x51) + (0x2 * ((uint64_t)x26 * x49))))));
- { uint64_t x56 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((uint64_t)x21 * x29))))))))) + (0x2fd * ((0x2 * ((uint64_t)x23 * x50)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (0x2 * ((uint64_t)x26 * x47)))))));
- { uint64_t x57 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((0x2 * ((uint64_t)x9 * x39)) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + ((uint64_t)x19 * x29)))))))) + (0x2fd * (((uint64_t)x21 * x50) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((uint64_t)x26 * x45)))))));
- { uint64_t x58 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + ((uint64_t)x17 * x29))))))) + (0x2fd * ((0x2 * ((uint64_t)x19 * x50)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + (0x2 * ((uint64_t)x26 * x43)))))))));
- { uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x2fd * (((uint64_t)x17 * x50) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x26 * x41)))))))));
- { uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0x2fd * ((0x2 * ((uint64_t)x15 * x50)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((uint64_t)x11 * x29)))) + (0x2fd * ((0x2 * ((uint64_t)x13 * x50)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + (0x2 * ((uint64_t)x26 * x37))))))))))));
- { uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x2fd * (((uint64_t)x11 * x50) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((0x2 * ((uint64_t)x25 * x39)) + (((uint64_t)x27 * x37) + ((uint64_t)x26 * x35))))))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x2fd * ((0x2 * ((uint64_t)x9 * x50)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + (((uint64_t)x27 * x35) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- { uint64_t x64 = (((uint64_t)x5 * x29) + (0x2fd * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- { uint64_t x65 = (x64 >> 0x14);
- { uint32_t x66 = ((uint32_t)x64 & 0xfffff);
- { uint64_t x67 = (x65 + x63);
- { uint64_t x68 = (x67 >> 0x14);
- { uint32_t x69 = ((uint32_t)x67 & 0xfffff);
- { uint64_t x70 = (x68 + x62);
- { uint64_t x71 = (x70 >> 0x13);
- { uint32_t x72 = ((uint32_t)x70 & 0x7ffff);
- { uint64_t x73 = (x71 + x61);
- { uint64_t x74 = (x73 >> 0x14);
- { uint32_t x75 = ((uint32_t)x73 & 0xfffff);
- { uint64_t x76 = (x74 + x60);
- { uint64_t x77 = (x76 >> 0x14);
- { uint32_t x78 = ((uint32_t)x76 & 0xfffff);
- { uint64_t x79 = (x77 + x59);
- { uint64_t x80 = (x79 >> 0x13);
- { uint32_t x81 = ((uint32_t)x79 & 0x7ffff);
- { uint64_t x82 = (x80 + x58);
- { uint64_t x83 = (x82 >> 0x14);
- { uint32_t x84 = ((uint32_t)x82 & 0xfffff);
- { uint64_t x85 = (x83 + x57);
- { uint64_t x86 = (x85 >> 0x13);
- { uint32_t x87 = ((uint32_t)x85 & 0x7ffff);
- { uint64_t x88 = (x86 + x56);
- { uint64_t x89 = (x88 >> 0x14);
- { uint32_t x90 = ((uint32_t)x88 & 0xfffff);
- { uint64_t x91 = (x89 + x55);
- { uint64_t x92 = (x91 >> 0x14);
- { uint32_t x93 = ((uint32_t)x91 & 0xfffff);
- { uint64_t x94 = (x92 + x54);
- { uint64_t x95 = (x94 >> 0x13);
- { uint32_t x96 = ((uint32_t)x94 & 0x7ffff);
- { uint64_t x97 = (x95 + x53);
- { uint64_t x98 = (x97 >> 0x14);
- { uint32_t x99 = ((uint32_t)x97 & 0xfffff);
- { uint64_t x100 = (x98 + x52);
- { uint32_t x101 = (uint32_t) (x100 >> 0x13);
- { uint32_t x102 = ((uint32_t)x100 & 0x7ffff);
- { uint64_t x103 = (x66 + ((uint64_t)0x2fd * x101));
- { uint32_t x104 = (uint32_t) (x103 >> 0x14);
- { uint32_t x105 = ((uint32_t)x103 & 0xfffff);
- { uint32_t x106 = (x104 + x69);
- { uint32_t x107 = (x106 >> 0x14);
- { uint32_t x108 = (x106 & 0xfffff);
- out[0] = x105;
- out[1] = x108;
- out[2] = (x107 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- out[10] = x96;
- out[11] = x99;
- out[12] = x102;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_13limbs/femul.v b/src/Specific/solinas32_2e255m765_13limbs/femul.v
deleted file mode 100644
index f787b6148..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/femulDisplay.log b/src/Specific/solinas32_2e255m765_13limbs/femulDisplay.log
deleted file mode 100644
index 587233e55..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/femulDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((0x2 * ((uint64_t)x25 * x33)) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + ((uint64_t)x27 * x29)))))))))))) + (0x2fd * (0x2 * ((uint64_t)x26 * x50))));
- uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0x2fd * (((uint64_t)x27 * x50) + ((uint64_t)x26 * x51))));
- uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x2fd * ((0x2 * ((uint64_t)x25 * x50)) + (((uint64_t)x27 * x51) + (0x2 * ((uint64_t)x26 * x49))))));
- uint64_t x56 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((uint64_t)x21 * x29))))))))) + (0x2fd * ((0x2 * ((uint64_t)x23 * x50)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (0x2 * ((uint64_t)x26 * x47)))))));
- uint64_t x57 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((0x2 * ((uint64_t)x9 * x39)) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + ((uint64_t)x19 * x29)))))))) + (0x2fd * (((uint64_t)x21 * x50) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((uint64_t)x26 * x45)))))));
- uint64_t x58 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + ((0x2 * ((uint64_t)x15 * x31)) + ((uint64_t)x17 * x29))))))) + (0x2fd * ((0x2 * ((uint64_t)x19 * x50)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + (0x2 * ((uint64_t)x26 * x43)))))))));
- uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x2fd * (((uint64_t)x17 * x50) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x26 * x41)))))))));
- uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0x2fd * ((0x2 * ((uint64_t)x15 * x50)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((uint64_t)x11 * x29)))) + (0x2fd * ((0x2 * ((uint64_t)x13 * x50)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + (0x2 * ((uint64_t)x26 * x37))))))))))));
- uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x2fd * (((uint64_t)x11 * x50) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((0x2 * ((uint64_t)x25 * x39)) + (((uint64_t)x27 * x37) + ((uint64_t)x26 * x35))))))))))));
- uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x2fd * ((0x2 * ((uint64_t)x9 * x50)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + (((uint64_t)x27 * x35) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- uint64_t x64 = (((uint64_t)x5 * x29) + (0x2fd * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- uint64_t x65 = (x64 >> 0x14);
- uint32_t x66 = ((uint32_t)x64 & 0xfffff);
- uint64_t x67 = (x65 + x63);
- uint64_t x68 = (x67 >> 0x14);
- uint32_t x69 = ((uint32_t)x67 & 0xfffff);
- uint64_t x70 = (x68 + x62);
- uint64_t x71 = (x70 >> 0x13);
- uint32_t x72 = ((uint32_t)x70 & 0x7ffff);
- uint64_t x73 = (x71 + x61);
- uint64_t x74 = (x73 >> 0x14);
- uint32_t x75 = ((uint32_t)x73 & 0xfffff);
- uint64_t x76 = (x74 + x60);
- uint64_t x77 = (x76 >> 0x14);
- uint32_t x78 = ((uint32_t)x76 & 0xfffff);
- uint64_t x79 = (x77 + x59);
- uint64_t x80 = (x79 >> 0x13);
- uint32_t x81 = ((uint32_t)x79 & 0x7ffff);
- uint64_t x82 = (x80 + x58);
- uint64_t x83 = (x82 >> 0x14);
- uint32_t x84 = ((uint32_t)x82 & 0xfffff);
- uint64_t x85 = (x83 + x57);
- uint64_t x86 = (x85 >> 0x13);
- uint32_t x87 = ((uint32_t)x85 & 0x7ffff);
- uint64_t x88 = (x86 + x56);
- uint64_t x89 = (x88 >> 0x14);
- uint32_t x90 = ((uint32_t)x88 & 0xfffff);
- uint64_t x91 = (x89 + x55);
- uint64_t x92 = (x91 >> 0x14);
- uint32_t x93 = ((uint32_t)x91 & 0xfffff);
- uint64_t x94 = (x92 + x54);
- uint64_t x95 = (x94 >> 0x13);
- uint32_t x96 = ((uint32_t)x94 & 0x7ffff);
- uint64_t x97 = (x95 + x53);
- uint64_t x98 = (x97 >> 0x14);
- uint32_t x99 = ((uint32_t)x97 & 0xfffff);
- uint64_t x100 = (x98 + x52);
- uint32_t x101 = (uint32_t) (x100 >> 0x13);
- uint32_t x102 = ((uint32_t)x100 & 0x7ffff);
- uint64_t x103 = (x66 + ((uint64_t)0x2fd * x101));
- uint32_t x104 = (uint32_t) (x103 >> 0x14);
- uint32_t x105 = ((uint32_t)x103 & 0xfffff);
- uint32_t x106 = (x104 + x69);
- uint32_t x107 = (x106 >> 0x14);
- uint32_t x108 = (x106 & 0xfffff);
- return (Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x107 + x72), Return x108, Return x105))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e255m765_13limbs/femulDisplay.v b/src/Specific/solinas32_2e255m765_13limbs/femulDisplay.v
deleted file mode 100644
index 0a9fd5275..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fesquare.c b/src/Specific/solinas32_2e255m765_13limbs/fesquare.c
deleted file mode 100644
index 96f979ec2..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesquare.c
+++ /dev/null
@@ -1,86 +0,0 @@
-static void fesquare(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x2fd * (0x2 * ((uint64_t)x23 * x23))));
- { uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x2fd * (((uint64_t)x24 * x23) + ((uint64_t)x23 * x24))));
- { uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x2fd * ((0x2 * ((uint64_t)x22 * x23)) + (((uint64_t)x24 * x24) + (0x2 * ((uint64_t)x23 * x22))))));
- { uint64_t x29 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x2fd * ((0x2 * ((uint64_t)x20 * x23)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (0x2 * ((uint64_t)x23 * x20)))))));
- { uint64_t x30 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x2fd * (((uint64_t)x18 * x23) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((uint64_t)x23 * x18)))))));
- { uint64_t x31 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x2fd * ((0x2 * ((uint64_t)x16 * x23)) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (0x2 * ((uint64_t)x23 * x16)))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x2fd * (((uint64_t)x14 * x23) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((uint64_t)x23 * x14)))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x2fd * ((0x2 * ((uint64_t)x12 * x23)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x2fd * ((0x2 * ((uint64_t)x10 * x23)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (0x2 * ((uint64_t)x23 * x10))))))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x2fd * (((uint64_t)x8 * x23) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + ((uint64_t)x23 * x8))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x2fd * ((0x2 * ((uint64_t)x6 * x23)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- { uint64_t x37 = (((uint64_t)x2 * x2) + (0x2fd * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- { uint64_t x38 = (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint64_t x40 = (x38 + x36);
- { uint64_t x41 = (x40 >> 0x14);
- { uint32_t x42 = ((uint32_t)x40 & 0xfffff);
- { uint64_t x43 = (x41 + x35);
- { uint64_t x44 = (x43 >> 0x13);
- { uint32_t x45 = ((uint32_t)x43 & 0x7ffff);
- { uint64_t x46 = (x44 + x34);
- { uint64_t x47 = (x46 >> 0x14);
- { uint32_t x48 = ((uint32_t)x46 & 0xfffff);
- { uint64_t x49 = (x47 + x33);
- { uint64_t x50 = (x49 >> 0x14);
- { uint32_t x51 = ((uint32_t)x49 & 0xfffff);
- { uint64_t x52 = (x50 + x32);
- { uint64_t x53 = (x52 >> 0x13);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffff);
- { uint64_t x55 = (x53 + x31);
- { uint64_t x56 = (x55 >> 0x14);
- { uint32_t x57 = ((uint32_t)x55 & 0xfffff);
- { uint64_t x58 = (x56 + x30);
- { uint64_t x59 = (x58 >> 0x13);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffff);
- { uint64_t x61 = (x59 + x29);
- { uint64_t x62 = (x61 >> 0x14);
- { uint32_t x63 = ((uint32_t)x61 & 0xfffff);
- { uint64_t x64 = (x62 + x28);
- { uint64_t x65 = (x64 >> 0x14);
- { uint32_t x66 = ((uint32_t)x64 & 0xfffff);
- { uint64_t x67 = (x65 + x27);
- { uint64_t x68 = (x67 >> 0x13);
- { uint32_t x69 = ((uint32_t)x67 & 0x7ffff);
- { uint64_t x70 = (x68 + x26);
- { uint64_t x71 = (x70 >> 0x14);
- { uint32_t x72 = ((uint32_t)x70 & 0xfffff);
- { uint64_t x73 = (x71 + x25);
- { uint32_t x74 = (uint32_t) (x73 >> 0x13);
- { uint32_t x75 = ((uint32_t)x73 & 0x7ffff);
- { uint64_t x76 = (x39 + ((uint64_t)0x2fd * x74));
- { uint32_t x77 = (uint32_t) (x76 >> 0x14);
- { uint32_t x78 = ((uint32_t)x76 & 0xfffff);
- { uint32_t x79 = (x77 + x42);
- { uint32_t x80 = (x79 >> 0x14);
- { uint32_t x81 = (x79 & 0xfffff);
- out[0] = x78;
- out[1] = x81;
- out[2] = (x80 + x45);
- out[3] = x48;
- out[4] = x51;
- out[5] = x54;
- out[6] = x57;
- out[7] = x60;
- out[8] = x63;
- out[9] = x66;
- out[10] = x69;
- out[11] = x72;
- out[12] = x75;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fesquare.v b/src/Specific/solinas32_2e255m765_13limbs/fesquare.v
deleted file mode 100644
index cb42bedcc..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/fesquareDisplay.log b/src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.log
deleted file mode 100644
index 09f34e172..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- uint64_t x26 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x2fd * (0x2 * ((uint64_t)x23 * x23))));
- uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x2fd * (((uint64_t)x24 * x23) + ((uint64_t)x23 * x24))));
- uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x2fd * ((0x2 * ((uint64_t)x22 * x23)) + (((uint64_t)x24 * x24) + (0x2 * ((uint64_t)x23 * x22))))));
- uint64_t x29 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x2fd * ((0x2 * ((uint64_t)x20 * x23)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (0x2 * ((uint64_t)x23 * x20)))))));
- uint64_t x30 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x2fd * (((uint64_t)x18 * x23) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((uint64_t)x23 * x18)))))));
- uint64_t x31 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x2fd * ((0x2 * ((uint64_t)x16 * x23)) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (0x2 * ((uint64_t)x23 * x16)))))))));
- uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x2fd * (((uint64_t)x14 * x23) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((uint64_t)x23 * x14)))))))));
- uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x2fd * ((0x2 * ((uint64_t)x12 * x23)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x2fd * ((0x2 * ((uint64_t)x10 * x23)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (0x2 * ((uint64_t)x23 * x10))))))))))));
- uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x2fd * (((uint64_t)x8 * x23) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + ((uint64_t)x23 * x8))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x2fd * ((0x2 * ((uint64_t)x6 * x23)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- uint64_t x37 = (((uint64_t)x2 * x2) + (0x2fd * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- uint64_t x38 = (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint64_t x40 = (x38 + x36);
- uint64_t x41 = (x40 >> 0x14);
- uint32_t x42 = ((uint32_t)x40 & 0xfffff);
- uint64_t x43 = (x41 + x35);
- uint64_t x44 = (x43 >> 0x13);
- uint32_t x45 = ((uint32_t)x43 & 0x7ffff);
- uint64_t x46 = (x44 + x34);
- uint64_t x47 = (x46 >> 0x14);
- uint32_t x48 = ((uint32_t)x46 & 0xfffff);
- uint64_t x49 = (x47 + x33);
- uint64_t x50 = (x49 >> 0x14);
- uint32_t x51 = ((uint32_t)x49 & 0xfffff);
- uint64_t x52 = (x50 + x32);
- uint64_t x53 = (x52 >> 0x13);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffff);
- uint64_t x55 = (x53 + x31);
- uint64_t x56 = (x55 >> 0x14);
- uint32_t x57 = ((uint32_t)x55 & 0xfffff);
- uint64_t x58 = (x56 + x30);
- uint64_t x59 = (x58 >> 0x13);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffff);
- uint64_t x61 = (x59 + x29);
- uint64_t x62 = (x61 >> 0x14);
- uint32_t x63 = ((uint32_t)x61 & 0xfffff);
- uint64_t x64 = (x62 + x28);
- uint64_t x65 = (x64 >> 0x14);
- uint32_t x66 = ((uint32_t)x64 & 0xfffff);
- uint64_t x67 = (x65 + x27);
- uint64_t x68 = (x67 >> 0x13);
- uint32_t x69 = ((uint32_t)x67 & 0x7ffff);
- uint64_t x70 = (x68 + x26);
- uint64_t x71 = (x70 >> 0x14);
- uint32_t x72 = ((uint32_t)x70 & 0xfffff);
- uint64_t x73 = (x71 + x25);
- uint32_t x74 = (uint32_t) (x73 >> 0x13);
- uint32_t x75 = ((uint32_t)x73 & 0x7ffff);
- uint64_t x76 = (x39 + ((uint64_t)0x2fd * x74));
- uint32_t x77 = (uint32_t) (x76 >> 0x14);
- uint32_t x78 = ((uint32_t)x76 & 0xfffff);
- uint32_t x79 = (x77 + x42);
- uint32_t x80 = (x79 >> 0x14);
- uint32_t x81 = (x79 & 0xfffff);
- return (Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, (x80 + x45), Return x81, Return x78))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.v b/src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.v
deleted file mode 100644
index 4b1c7ef1b..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fesub.c b/src/Specific/solinas32_2e255m765_13limbs/fesub.c
deleted file mode 100644
index 2dc691fe8..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesub.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void fesub(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = ((0x1ffa06 + x5) - x29);
- out[1] = ((0x1ffffe + x7) - x31);
- out[2] = ((0xffffe + x9) - x33);
- out[3] = ((0x1ffffe + x11) - x35);
- out[4] = ((0x1ffffe + x13) - x37);
- out[5] = ((0xffffe + x15) - x39);
- out[6] = ((0x1ffffe + x17) - x41);
- out[7] = ((0xffffe + x19) - x43);
- out[8] = ((0x1ffffe + x21) - x45);
- out[9] = ((0x1ffffe + x23) - x47);
- out[10] = ((0xffffe + x25) - x49);
- out[11] = ((0x1ffffe + x27) - x51);
- out[12] = ((0xffffe + x26) - x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fesub.v b/src/Specific/solinas32_2e255m765_13limbs/fesub.v
deleted file mode 100644
index 1fa1b54da..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/fesubDisplay.log b/src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.log
deleted file mode 100644
index ebb7cdb3e..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- (((0xffffe + x26) - x50), ((0x1ffffe + x27) - x51), ((0xffffe + x25) - x49), ((0x1ffffe + x23) - x47), ((0x1ffffe + x21) - x45), ((0xffffe + x19) - x43), ((0x1ffffe + x17) - x41), ((0xffffe + x15) - x39), ((0x1ffffe + x13) - x37), ((0x1ffffe + x11) - x35), ((0xffffe + x9) - x33), ((0x1ffffe + x7) - x31), ((0x1ffa06 + x5) - x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.v b/src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.v
deleted file mode 100644
index f1a295ecf..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e255m765_13limbs/freeze.c b/src/Specific/solinas32_2e255m765_13limbs/freeze.c
deleted file mode 100644
index 7fda2f57e..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/freeze.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void freeze(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffd03);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0xfffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x7ffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0xfffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0xfffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x7ffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0xfffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x7ffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0xfffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0xfffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x7ffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0xfffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x7ffff);
- { uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- { uint32_t x65 = (x64 & 0xffd03);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- { uint32_t x69 = (x64 & 0xfffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- { uint32_t x73 = (x64 & 0x7ffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- { uint32_t x77 = (x64 & 0xfffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- { uint32_t x81 = (x64 & 0xfffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- { uint32_t x85 = (x64 & 0x7ffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- { uint32_t x89 = (x64 & 0xfffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- { uint32_t x93 = (x64 & 0x7ffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- { uint32_t x97 = (x64 & 0xfffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- { uint32_t x101 = (x64 & 0xfffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- { uint32_t x105 = (x64 & 0x7ffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- { uint32_t x109 = (x64 & 0xfffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- { uint32_t x113 = (x64 & 0x7ffff);
- { uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- out[0] = x67;
- out[1] = x71;
- out[2] = x75;
- out[3] = x79;
- out[4] = x83;
- out[5] = x87;
- out[6] = x91;
- out[7] = x95;
- out[8] = x99;
- out[9] = x103;
- out[10] = x107;
- out[11] = x111;
- out[12] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e255m765_13limbs/freeze.v b/src/Specific/solinas32_2e255m765_13limbs/freeze.v
deleted file mode 100644
index b62642c57..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.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_2e255m765_13limbs/freezeDisplay.log b/src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.log
deleted file mode 100644
index 24b1c126a..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffd03);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0xfffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x7ffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0xfffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0xfffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x7ffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0xfffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x7ffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0xfffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0xfffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x7ffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0xfffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x7ffff);
- uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- uint32_t x65 = (x64 & 0xffd03);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- uint32_t x69 = (x64 & 0xfffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- uint32_t x73 = (x64 & 0x7ffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- uint32_t x77 = (x64 & 0xfffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- uint32_t x81 = (x64 & 0xfffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- uint32_t x85 = (x64 & 0x7ffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- uint32_t x89 = (x64 & 0xfffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- uint32_t x93 = (x64 & 0x7ffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- uint32_t x97 = (x64 & 0xfffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- uint32_t x101 = (x64 & 0xfffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- uint32_t x105 = (x64 & 0x7ffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- uint32_t x109 = (x64 & 0xfffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- uint32_t x113 = (x64 & 0x7ffff);
- uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.v b/src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.v
deleted file mode 100644
index 142cdf11a..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e255m765_13limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e255m765_13limbs/py_interpreter.sh b/src/Specific/solinas32_2e255m765_13limbs/py_interpreter.sh
deleted file mode 100755
index a54dd225e..000000000
--- a/src/Specific/solinas32_2e255m765_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 765' -Dmodulus_bytes='19 + 8/13' -Da24='121665'
diff --git a/src/Specific/solinas32_2e256m189_11limbs/CurveParameters.v b/src/Specific/solinas32_2e256m189_11limbs/CurveParameters.v
deleted file mode 100644
index ff86a9395..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 189
-Base: 23 + 3/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 23 + 3/11;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 189)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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_2e256m189_11limbs/Synthesis.v b/src/Specific/solinas32_2e256m189_11limbs/Synthesis.v
deleted file mode 100644
index 528ea8e7c..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/compiler.sh b/src/Specific/solinas32_2e256m189_11limbs/compiler.sh
deleted file mode 100755
index 5bf8d7cf2..000000000
--- a/src/Specific/solinas32_2e256m189_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas32_2e256m189_11limbs/compilerxx.sh b/src/Specific/solinas32_2e256m189_11limbs/compilerxx.sh
deleted file mode 100755
index bf2193ba4..000000000
--- a/src/Specific/solinas32_2e256m189_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas32_2e256m189_11limbs/feadd.c b/src/Specific/solinas32_2e256m189_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e256m189_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_2e256m189_11limbs/feadd.v b/src/Specific/solinas32_2e256m189_11limbs/feadd.v
deleted file mode 100644
index ac435ccde..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e256m189_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e256m189_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_2e256m189_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e256m189_11limbs/feaddDisplay.v
deleted file mode 100644
index b71f2df3f..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e256m189_11limbs/fecarry.v b/src/Specific/solinas32_2e256m189_11limbs/fecarry.v
deleted file mode 100644
index 59666eb53..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e256m189_11limbs/fecarryDisplay.v
deleted file mode 100644
index e881bb6b2..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e256m189_11limbs/femul.c b/src/Specific/solinas32_2e256m189_11limbs/femul.c
deleted file mode 100644
index b3e2fc368..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(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];
- { uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((0x2 * ((uint64_t)x21 * x29)) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((0x2 * ((uint64_t)x21 * x27)) + ((uint64_t)x23 * x25)))))))))) + (0xbd * ((uint64_t)x22 * x42)));
- { uint64_t x46 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x21 * x25))))))))) + (0xbd * (((uint64_t)x23 * x42) + ((uint64_t)x22 * x43))));
- { uint64_t x47 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((uint64_t)x19 * x25)))))))) + (0xbd * ((0x2 * ((uint64_t)x21 * x42)) + ((0x2 * ((uint64_t)x23 * x43)) + (0x2 * ((uint64_t)x22 * x41))))));
- { uint64_t x48 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x17 * x25))))))) + (0xbd * (((uint64_t)x19 * x42) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((uint64_t)x22 * x39))))));
- { uint64_t x49 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + ((uint64_t)x15 * x25)))))) + (0xbd * (((uint64_t)x17 * x42) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((uint64_t)x22 * x37)))))));
- { uint64_t x50 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((uint64_t)x13 * x25))))) + (0xbd * (((uint64_t)x15 * x42) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x22 * x35))))))));
- { uint64_t x51 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((uint64_t)x11 * x25)))) + (0xbd * ((0x2 * ((uint64_t)x13 * x42)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + (0x2 * ((uint64_t)x22 * x33))))))))));
- { uint64_t x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) + (0xbd * (((uint64_t)x11 * x42) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + ((uint64_t)x22 * x31))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0xbd * (((uint64_t)x9 * x42) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + ((0x2 * ((uint64_t)x21 * x33)) + (((uint64_t)x23 * x31) + ((uint64_t)x22 * x29)))))))))));
- { uint64_t x54 = (((uint64_t)x5 * x25) + (0xbd * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- { uint64_t x55 = (x54 >> 0x18);
- { uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- { uint64_t x57 = (x55 + x53);
- { uint64_t x58 = (x57 >> 0x17);
- { uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- { uint64_t x60 = (x58 + x52);
- { uint64_t x61 = (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x61 + x51);
- { uint64_t x64 = (x63 >> 0x18);
- { uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- { uint64_t x66 = (x64 + x50);
- { uint64_t x67 = (x66 >> 0x17);
- { uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- { uint64_t x69 = (x67 + x49);
- { uint64_t x70 = (x69 >> 0x17);
- { uint32_t x71 = ((uint32_t)x69 & 0x7fffff);
- { uint64_t x72 = (x70 + x48);
- { uint64_t x73 = (x72 >> 0x17);
- { uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- { uint64_t x75 = (x73 + x47);
- { uint64_t x76 = (x75 >> 0x18);
- { uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- { uint64_t x78 = (x76 + x46);
- { uint64_t x79 = (x78 >> 0x17);
- { uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- { uint64_t x81 = (x79 + x45);
- { uint64_t x82 = (x81 >> 0x17);
- { uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- { uint64_t x84 = (x82 + x44);
- { uint32_t x85 = (uint32_t) (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x56 + ((uint64_t)0xbd * x85));
- { uint32_t x88 = (uint32_t) (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint32_t x90 = (x88 + x59);
- { uint32_t x91 = (x90 >> 0x17);
- { uint32_t x92 = (x90 & 0x7fffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_11limbs/femul.v b/src/Specific/solinas32_2e256m189_11limbs/femul.v
deleted file mode 100644
index 90430426c..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/femulDisplay.log b/src/Specific/solinas32_2e256m189_11limbs/femulDisplay.log
deleted file mode 100644
index 2e301007e..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((0x2 * ((uint64_t)x21 * x29)) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((0x2 * ((uint64_t)x21 * x27)) + ((uint64_t)x23 * x25)))))))))) + (0xbd * ((uint64_t)x22 * x42)));
- uint64_t x46 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((0x2 * ((uint64_t)x13 * x33)) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x21 * x25))))))))) + (0xbd * (((uint64_t)x23 * x42) + ((uint64_t)x22 * x43))));
- uint64_t x47 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((0x2 * ((uint64_t)x17 * x27)) + ((uint64_t)x19 * x25)))))))) + (0xbd * ((0x2 * ((uint64_t)x21 * x42)) + ((0x2 * ((uint64_t)x23 * x43)) + (0x2 * ((uint64_t)x22 * x41))))));
- uint64_t x48 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x17 * x25))))))) + (0xbd * (((uint64_t)x19 * x42) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((uint64_t)x22 * x39))))));
- uint64_t x49 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + ((uint64_t)x15 * x25)))))) + (0xbd * (((uint64_t)x17 * x42) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((uint64_t)x22 * x37)))))));
- uint64_t x50 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((uint64_t)x13 * x25))))) + (0xbd * (((uint64_t)x15 * x42) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x22 * x35))))))));
- uint64_t x51 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((uint64_t)x11 * x25)))) + (0xbd * ((0x2 * ((uint64_t)x13 * x42)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + (0x2 * ((uint64_t)x22 * x33))))))))));
- uint64_t x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) + (0xbd * (((uint64_t)x11 * x42) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + ((uint64_t)x22 * x31))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0xbd * (((uint64_t)x9 * x42) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + ((0x2 * ((uint64_t)x21 * x33)) + (((uint64_t)x23 * x31) + ((uint64_t)x22 * x29)))))))))));
- uint64_t x54 = (((uint64_t)x5 * x25) + (0xbd * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- uint64_t x55 = (x54 >> 0x18);
- uint32_t x56 = ((uint32_t)x54 & 0xffffff);
- uint64_t x57 = (x55 + x53);
- uint64_t x58 = (x57 >> 0x17);
- uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- uint64_t x60 = (x58 + x52);
- uint64_t x61 = (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x61 + x51);
- uint64_t x64 = (x63 >> 0x18);
- uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- uint64_t x66 = (x64 + x50);
- uint64_t x67 = (x66 >> 0x17);
- uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- uint64_t x69 = (x67 + x49);
- uint64_t x70 = (x69 >> 0x17);
- uint32_t x71 = ((uint32_t)x69 & 0x7fffff);
- uint64_t x72 = (x70 + x48);
- uint64_t x73 = (x72 >> 0x17);
- uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- uint64_t x75 = (x73 + x47);
- uint64_t x76 = (x75 >> 0x18);
- uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- uint64_t x78 = (x76 + x46);
- uint64_t x79 = (x78 >> 0x17);
- uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- uint64_t x81 = (x79 + x45);
- uint64_t x82 = (x81 >> 0x17);
- uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- uint64_t x84 = (x82 + x44);
- uint32_t x85 = (uint32_t) (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x56 + ((uint64_t)0xbd * x85));
- uint32_t x88 = (uint32_t) (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint32_t x90 = (x88 + x59);
- uint32_t x91 = (x90 >> 0x17);
- uint32_t x92 = (x90 & 0x7fffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(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_2e256m189_11limbs/femulDisplay.v b/src/Specific/solinas32_2e256m189_11limbs/femulDisplay.v
deleted file mode 100644
index 05d22f11b..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e256m189_11limbs/fesquare.c b/src/Specific/solinas32_2e256m189_11limbs/fesquare.c
deleted file mode 100644
index a9b151b23..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(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];
- { uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbd * ((uint64_t)x19 * x19)));
- { uint64_t x23 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0xbd * (((uint64_t)x20 * x19) + ((uint64_t)x19 * x20))));
- { uint64_t x24 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbd * ((0x2 * ((uint64_t)x18 * x19)) + ((0x2 * ((uint64_t)x20 * x20)) + (0x2 * ((uint64_t)x19 * x18))))));
- { uint64_t x25 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbd * (((uint64_t)x16 * x19) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((uint64_t)x19 * x16))))));
- { uint64_t x26 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbd * (((uint64_t)x14 * x19) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((uint64_t)x19 * x14)))))));
- { uint64_t x27 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbd * (((uint64_t)x12 * x19) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((uint64_t)x19 * x12))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint64_t)x10 * x19)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (0x2 * ((uint64_t)x19 * x10))))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbd * (((uint64_t)x8 * x19) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((uint64_t)x19 * x8))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbd * (((uint64_t)x6 * x19) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((uint64_t)x19 * x6)))))))))));
- { uint64_t x31 = (((uint64_t)x2 * x2) + (0xbd * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- { uint64_t x32 = (x31 >> 0x18);
- { uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- { uint64_t x34 = (x32 + x30);
- { uint64_t x35 = (x34 >> 0x17);
- { uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- { uint64_t x37 = (x35 + x29);
- { uint64_t x38 = (x37 >> 0x17);
- { uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- { uint64_t x40 = (x38 + x28);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x27);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x26);
- { uint64_t x47 = (x46 >> 0x17);
- { uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- { uint64_t x49 = (x47 + x25);
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x24);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x23);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x22);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x21);
- { uint32_t x62 = (uint32_t) (x61 >> 0x17);
- { uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- { uint64_t x64 = (x33 + ((uint64_t)0xbd * x62));
- { uint32_t x65 = (uint32_t) (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint32_t x67 = (x65 + x36);
- { uint32_t x68 = (x67 >> 0x17);
- { uint32_t x69 = (x67 & 0x7fffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_11limbs/fesquare.v b/src/Specific/solinas32_2e256m189_11limbs/fesquare.v
deleted file mode 100644
index 5639f3e7d..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/fesquareDisplay.log b/src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.log
deleted file mode 100644
index 245b4e992..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- uint64_t x22 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbd * ((uint64_t)x19 * x19)));
- uint64_t x23 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0xbd * (((uint64_t)x20 * x19) + ((uint64_t)x19 * x20))));
- uint64_t x24 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbd * ((0x2 * ((uint64_t)x18 * x19)) + ((0x2 * ((uint64_t)x20 * x20)) + (0x2 * ((uint64_t)x19 * x18))))));
- uint64_t x25 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbd * (((uint64_t)x16 * x19) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((uint64_t)x19 * x16))))));
- uint64_t x26 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbd * (((uint64_t)x14 * x19) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((uint64_t)x19 * x14)))))));
- uint64_t x27 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbd * (((uint64_t)x12 * x19) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((uint64_t)x19 * x12))))))));
- uint64_t x28 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint64_t)x10 * x19)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (0x2 * ((uint64_t)x19 * x10))))))))));
- uint64_t x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbd * (((uint64_t)x8 * x19) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((uint64_t)x19 * x8))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbd * (((uint64_t)x6 * x19) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((uint64_t)x19 * x6)))))))))));
- uint64_t x31 = (((uint64_t)x2 * x2) + (0xbd * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- uint64_t x32 = (x31 >> 0x18);
- uint32_t x33 = ((uint32_t)x31 & 0xffffff);
- uint64_t x34 = (x32 + x30);
- uint64_t x35 = (x34 >> 0x17);
- uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
- uint64_t x37 = (x35 + x29);
- uint64_t x38 = (x37 >> 0x17);
- uint32_t x39 = ((uint32_t)x37 & 0x7fffff);
- uint64_t x40 = (x38 + x28);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x27);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x26);
- uint64_t x47 = (x46 >> 0x17);
- uint32_t x48 = ((uint32_t)x46 & 0x7fffff);
- uint64_t x49 = (x47 + x25);
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x24);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x23);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x22);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x21);
- uint32_t x62 = (uint32_t) (x61 >> 0x17);
- uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- uint64_t x64 = (x33 + ((uint64_t)0xbd * x62));
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint32_t x67 = (x65 + x36);
- uint32_t x68 = (x67 >> 0x17);
- uint32_t x69 = (x67 & 0x7fffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-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_2e256m189_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.v
deleted file mode 100644
index ac91257ef..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e256m189_11limbs/fesub.c b/src/Specific/solinas32_2e256m189_11limbs/fesub.c
deleted file mode 100644
index 4574e6e09..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(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] = ((0x1fffe86 + x5) - x25);
- out[1] = ((0xfffffe + x7) - x27);
- out[2] = ((0xfffffe + x9) - x29);
- out[3] = ((0x1fffffe + x11) - x31);
- out[4] = ((0xfffffe + x13) - x33);
- out[5] = ((0xfffffe + x15) - x35);
- out[6] = ((0xfffffe + x17) - x37);
- out[7] = ((0x1fffffe + x19) - x39);
- out[8] = ((0xfffffe + x21) - x41);
- out[9] = ((0xfffffe + x23) - x43);
- out[10] = ((0xfffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_11limbs/fesub.v b/src/Specific/solinas32_2e256m189_11limbs/fesub.v
deleted file mode 100644
index b06aeb084..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/fesubDisplay.log b/src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.log
deleted file mode 100644
index c139a725a..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.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,
- (((0xfffffe + x22) - x42), ((0xfffffe + x23) - x43), ((0xfffffe + x21) - x41), ((0x1fffffe + x19) - x39), ((0xfffffe + x17) - x37), ((0xfffffe + x15) - x35), ((0xfffffe + x13) - x33), ((0x1fffffe + x11) - x31), ((0xfffffe + x9) - x29), ((0xfffffe + x7) - x27), ((0x1fffe86 + 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_2e256m189_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.v
deleted file mode 100644
index 184c03bdd..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e256m189_11limbs/freeze.c b/src/Specific/solinas32_2e256m189_11limbs/freeze.c
deleted file mode 100644
index b8f90c921..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff43);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x7fffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0xffff43);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0x7fffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0xffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint32_t x71 = (x54 & 0x7fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint32_t x75 = (x54 & 0x7fffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint32_t x79 = (x54 & 0x7fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint32_t x83 = (x54 & 0xffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint32_t x87 = (x54 & 0x7fffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint32_t x91 = (x54 & 0x7fffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint32_t x95 = (x54 & 0x7fffff);
- { uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_11limbs/freeze.v b/src/Specific/solinas32_2e256m189_11limbs/freeze.v
deleted file mode 100644
index 7c370cc95..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_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_2e256m189_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.log
deleted file mode 100644
index f12e58ea7..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff43);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x7fffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0xffff43);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0x7fffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0xffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint32_t x71 = (x54 & 0x7fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint32_t x75 = (x54 & 0x7fffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint32_t x79 = (x54 & 0x7fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint32_t x83 = (x54 & 0xffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint32_t x87 = (x54 & 0x7fffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint32_t x91 = (x54 & 0x7fffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint32_t x95 = (x54 & 0x7fffff);
- uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, 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_2e256m189_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.v
deleted file mode 100644
index 96a933d86..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e256m189_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e256m189_11limbs/py_interpreter.sh
deleted file mode 100755
index 0b771a2f2..000000000
--- a/src/Specific/solinas32_2e256m189_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 189' -Dmodulus_bytes='23 + 3/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e256m189_12limbs/CurveParameters.v b/src/Specific/solinas32_2e256m189_12limbs/CurveParameters.v
deleted file mode 100644
index 6d6c9c664..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 189
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 189)];
- carry_chains := Some [seq 0 (pred 12); [0; 1]]%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_2e256m189_12limbs/Synthesis.v b/src/Specific/solinas32_2e256m189_12limbs/Synthesis.v
deleted file mode 100644
index 6b4cc6185..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/compiler.sh b/src/Specific/solinas32_2e256m189_12limbs/compiler.sh
deleted file mode 100755
index ebbabbdfa..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas32_2e256m189_12limbs/compilerxx.sh b/src/Specific/solinas32_2e256m189_12limbs/compilerxx.sh
deleted file mode 100755
index e0d073333..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas32_2e256m189_12limbs/feadd.c b/src/Specific/solinas32_2e256m189_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_12limbs/feadd.v b/src/Specific/solinas32_2e256m189_12limbs/feadd.v
deleted file mode 100644
index d24768125..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.v
deleted file mode 100644
index 5696d8b7b..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fecarry.v b/src/Specific/solinas32_2e256m189_12limbs/fecarry.v
deleted file mode 100644
index 46a02cff1..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e256m189_12limbs/fecarryDisplay.v
deleted file mode 100644
index 02f8795fd..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e256m189_12limbs/femul.c b/src/Specific/solinas32_2e256m189_12limbs/femul.c
deleted file mode 100644
index f9b6991df..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/femul.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
- { uint64_t x49 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0xbd * ((uint64_t)x24 * x46)));
- { uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + (0xbd * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0xbd * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45)))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0xbd * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0xbd * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))));
- { uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + (0xbd * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))));
- { uint64_t x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + (0xbd * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0xbd * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35)))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0xbd * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33)))))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0xbd * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- { uint64_t x59 = (((uint64_t)x5 * x27) + (0xbd * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- { uint64_t x60 = (x59 >> 0x16);
- { uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- { uint64_t x62 = (x60 + x58);
- { uint64_t x63 = (x62 >> 0x15);
- { uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- { uint64_t x65 = (x63 + x57);
- { uint64_t x66 = (x65 >> 0x15);
- { uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
- { uint64_t x68 = (x66 + x56);
- { uint64_t x69 = (x68 >> 0x16);
- { uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- { uint64_t x71 = (x69 + x55);
- { uint64_t x72 = (x71 >> 0x15);
- { uint32_t x73 = ((uint32_t)x71 & 0x1fffff);
- { uint64_t x74 = (x72 + x54);
- { uint64_t x75 = (x74 >> 0x15);
- { uint32_t x76 = ((uint32_t)x74 & 0x1fffff);
- { uint64_t x77 = (x75 + x53);
- { uint64_t x78 = (x77 >> 0x16);
- { uint32_t x79 = ((uint32_t)x77 & 0x3fffff);
- { uint64_t x80 = (x78 + x52);
- { uint64_t x81 = (x80 >> 0x15);
- { uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
- { uint64_t x83 = (x81 + x51);
- { uint64_t x84 = (x83 >> 0x15);
- { uint32_t x85 = ((uint32_t)x83 & 0x1fffff);
- { uint64_t x86 = (x84 + x50);
- { uint64_t x87 = (x86 >> 0x16);
- { uint32_t x88 = ((uint32_t)x86 & 0x3fffff);
- { uint64_t x89 = (x87 + x49);
- { uint64_t x90 = (x89 >> 0x15);
- { uint32_t x91 = ((uint32_t)x89 & 0x1fffff);
- { uint64_t x92 = (x90 + x48);
- { uint32_t x93 = (uint32_t) (x92 >> 0x15);
- { uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- { uint64_t x95 = (x61 + ((uint64_t)0xbd * x93));
- { uint32_t x96 = (uint32_t) (x95 >> 0x16);
- { uint32_t x97 = ((uint32_t)x95 & 0x3fffff);
- { uint32_t x98 = (x96 + x64);
- { uint32_t x99 = (x98 >> 0x15);
- { uint32_t x100 = (x98 & 0x1fffff);
- out[0] = x97;
- out[1] = x100;
- out[2] = (x99 + x67);
- out[3] = x70;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x85;
- out[9] = x88;
- out[10] = x91;
- out[11] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_12limbs/femul.v b/src/Specific/solinas32_2e256m189_12limbs/femul.v
deleted file mode 100644
index c0fb8571c..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/femulDisplay.log b/src/Specific/solinas32_2e256m189_12limbs/femulDisplay.log
deleted file mode 100644
index 089b4132b..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
- uint64_t x49 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0xbd * ((uint64_t)x24 * x46)));
- uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + (0xbd * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0xbd * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45)))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0xbd * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0xbd * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))));
- uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + (0xbd * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))));
- uint64_t x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + (0xbd * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
- uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0xbd * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35)))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0xbd * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33)))))))))));
- uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0xbd * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- uint64_t x59 = (((uint64_t)x5 * x27) + (0xbd * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- uint64_t x60 = (x59 >> 0x16);
- uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- uint64_t x62 = (x60 + x58);
- uint64_t x63 = (x62 >> 0x15);
- uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
- uint64_t x65 = (x63 + x57);
- uint64_t x66 = (x65 >> 0x15);
- uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
- uint64_t x68 = (x66 + x56);
- uint64_t x69 = (x68 >> 0x16);
- uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
- uint64_t x71 = (x69 + x55);
- uint64_t x72 = (x71 >> 0x15);
- uint32_t x73 = ((uint32_t)x71 & 0x1fffff);
- uint64_t x74 = (x72 + x54);
- uint64_t x75 = (x74 >> 0x15);
- uint32_t x76 = ((uint32_t)x74 & 0x1fffff);
- uint64_t x77 = (x75 + x53);
- uint64_t x78 = (x77 >> 0x16);
- uint32_t x79 = ((uint32_t)x77 & 0x3fffff);
- uint64_t x80 = (x78 + x52);
- uint64_t x81 = (x80 >> 0x15);
- uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
- uint64_t x83 = (x81 + x51);
- uint64_t x84 = (x83 >> 0x15);
- uint32_t x85 = ((uint32_t)x83 & 0x1fffff);
- uint64_t x86 = (x84 + x50);
- uint64_t x87 = (x86 >> 0x16);
- uint32_t x88 = ((uint32_t)x86 & 0x3fffff);
- uint64_t x89 = (x87 + x49);
- uint64_t x90 = (x89 >> 0x15);
- uint32_t x91 = ((uint32_t)x89 & 0x1fffff);
- uint64_t x92 = (x90 + x48);
- uint32_t x93 = (uint32_t) (x92 >> 0x15);
- uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- uint64_t x95 = (x61 + ((uint64_t)0xbd * x93));
- uint32_t x96 = (uint32_t) (x95 >> 0x16);
- uint32_t x97 = ((uint32_t)x95 & 0x3fffff);
- uint32_t x98 = (x96 + x64);
- uint32_t x99 = (x98 >> 0x15);
- uint32_t x100 = (x98 & 0x1fffff);
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m189_12limbs/femulDisplay.v b/src/Specific/solinas32_2e256m189_12limbs/femulDisplay.v
deleted file mode 100644
index 9f25d1bd8..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fesquare.c b/src/Specific/solinas32_2e256m189_12limbs/fesquare.c
deleted file mode 100644
index 99dbf4656..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesquare.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbd * ((uint64_t)x21 * x21)));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbd * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbd * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20)))));
- { uint64_t x27 = ((((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)))))))) + (0xbd * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- { uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbd * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbd * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbd * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10)))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbd * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8)))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbd * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- { uint64_t x34 = (((uint64_t)x2 * x2) + (0xbd * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- { uint64_t x35 = (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x15);
- { uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x15);
- { uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x16);
- { uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x15);
- { uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x15);
- { uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x53 + x27);
- { uint64_t x56 = (x55 >> 0x15);
- { uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- { uint64_t x58 = (x56 + x26);
- { uint64_t x59 = (x58 >> 0x15);
- { uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- { uint64_t x61 = (x59 + x25);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x24);
- { uint64_t x65 = (x64 >> 0x15);
- { uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- { uint64_t x67 = (x65 + x23);
- { uint32_t x68 = (uint32_t) (x67 >> 0x15);
- { uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- { uint64_t x70 = (x36 + ((uint64_t)0xbd * x68));
- { uint32_t x71 = (uint32_t) (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint32_t x73 = (x71 + x39);
- { uint32_t x74 = (x73 >> 0x15);
- { uint32_t x75 = (x73 & 0x1fffff);
- out[0] = x72;
- out[1] = x75;
- out[2] = (x74 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- out[7] = x57;
- out[8] = x60;
- out[9] = x63;
- out[10] = x66;
- out[11] = x69;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fesquare.v b/src/Specific/solinas32_2e256m189_12limbs/fesquare.v
deleted file mode 100644
index a915474e7..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.log
deleted file mode 100644
index 4cb534fff..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbd * ((uint64_t)x21 * x21)));
- uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbd * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbd * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20)))));
- uint64_t x27 = ((((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)))))))) + (0xbd * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbd * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))));
- uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbd * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))));
- uint64_t x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbd * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
- uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10)))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbd * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8)))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbd * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- uint64_t x34 = (((uint64_t)x2 * x2) + (0xbd * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- uint64_t x35 = (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x15);
- uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x15);
- uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x16);
- uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x15);
- uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x15);
- uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x53 + x27);
- uint64_t x56 = (x55 >> 0x15);
- uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- uint64_t x58 = (x56 + x26);
- uint64_t x59 = (x58 >> 0x15);
- uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- uint64_t x61 = (x59 + x25);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x24);
- uint64_t x65 = (x64 >> 0x15);
- uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- uint64_t x67 = (x65 + x23);
- uint32_t x68 = (uint32_t) (x67 >> 0x15);
- uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- uint64_t x70 = (x36 + ((uint64_t)0xbd * x68));
- uint32_t x71 = (uint32_t) (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint32_t x73 = (x71 + x39);
- uint32_t x74 = (x73 >> 0x15);
- uint32_t x75 = (x73 & 0x1fffff);
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.v
deleted file mode 100644
index 1d992e8bf..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fesub.c b/src/Specific/solinas32_2e256m189_12limbs/fesub.c
deleted file mode 100644
index 1388a548d..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0x7ffe86 + x5) - x27);
- out[1] = ((0x3ffffe + x7) - x29);
- out[2] = ((0x3ffffe + x9) - x31);
- out[3] = ((0x7ffffe + x11) - x33);
- out[4] = ((0x3ffffe + x13) - x35);
- out[5] = ((0x3ffffe + x15) - x37);
- out[6] = ((0x7ffffe + x17) - x39);
- out[7] = ((0x3ffffe + x19) - x41);
- out[8] = ((0x3ffffe + x21) - x43);
- out[9] = ((0x7ffffe + x23) - x45);
- out[10] = ((0x3ffffe + x25) - x47);
- out[11] = ((0x3ffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fesub.v b/src/Specific/solinas32_2e256m189_12limbs/fesub.v
deleted file mode 100644
index e585acba1..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.log
deleted file mode 100644
index 2b4f11e78..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x3ffffe + x24) - x46), ((0x3ffffe + x25) - x47), ((0x7ffffe + x23) - x45), ((0x3ffffe + x21) - x43), ((0x3ffffe + x19) - x41), ((0x7ffffe + x17) - x39), ((0x3ffffe + x15) - x37), ((0x3ffffe + x13) - x35), ((0x7ffffe + x11) - x33), ((0x3ffffe + x9) - x31), ((0x3ffffe + x7) - x29), ((0x7ffe86 + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.v
deleted file mode 100644
index 219d5f437..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e256m189_12limbs/freeze.c b/src/Specific/solinas32_2e256m189_12limbs/freeze.c
deleted file mode 100644
index 8731f955a..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fff43);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x3fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x3fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x3fff43);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0x1fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0x3fffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0x1fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0x1fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 0x3fffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- { uint32_t x88 = (x59 & 0x1fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0x1fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0x3fffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0x1fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0x1fffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m189_12limbs/freeze.v b/src/Specific/solinas32_2e256m189_12limbs/freeze.v
deleted file mode 100644
index 3934619cb..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.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_2e256m189_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.log
deleted file mode 100644
index d225c3acc..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fff43);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x3fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x3fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x3fff43);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0x1fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0x3fffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0x1fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0x1fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 0x3fffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = (x59 & 0x1fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0x1fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0x3fffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0x1fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0x1fffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.v
deleted file mode 100644
index a532d9ef6..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m189_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e256m189_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e256m189_12limbs/py_interpreter.sh
deleted file mode 100755
index fab32ff04..000000000
--- a/src/Specific/solinas32_2e256m189_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 189' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/CurveParameters.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/CurveParameters.v
deleted file mode 100644
index 41d60e98f..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^224 + 2^192 + 2^96 - 1
-Base: 23 + 3/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 23 + 3/11;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := Some [[8; 7; 3; 10]; [9; 8; 4; 0; 10; 5; 1; 6; 2; 7; 3]; [9; 8; 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_2e256m2e224p2e192p2e96m1_11limbs/Synthesis.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/Synthesis.v
deleted file mode 100644
index 011d05cf7..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/compiler.sh b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/compiler.sh
deleted file mode 100755
index b89d41eae..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/compilerxx.sh b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/compilerxx.sh
deleted file mode 100755
index 82e11810f..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,24,23,23,23,24,23,23,23}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.c b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/feadd.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.v
deleted file mode 100644
index 48155d778..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.v
deleted file mode 100644
index a0d9c6efb..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarry.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarry.v
deleted file mode 100644
index d3416546e..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarryDisplay.v
deleted file mode 100644
index 624969a59..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femul.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femul.v
deleted file mode 100644
index 4a49098f1..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/femulDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femulDisplay.v
deleted file mode 100644
index 3baa25f07..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquare.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquare.v
deleted file mode 100644
index 3ea7cc667..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquareDisplay.v
deleted file mode 100644
index 4d03964ad..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesub.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesub.v
deleted file mode 100644
index 91a086752..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesubDisplay.v
deleted file mode 100644
index bf6592d62..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.c b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.c
deleted file mode 100644
index 2e70bcf61..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0xffffff);
- { uint32_t x34, ℤ x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x32, Return x10, 0x3);
- { uint32_t x37, ℤ x38 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x35, Return x12, 0x0);
- { uint32_t x40, ℤ x41 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x38, Return x14, 0x0);
- { uint32_t x43, ℤ x44 = Op (Syntax.SubWithGetBorrow 24 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x41, Return x16, 0x0);
- { uint32_t x46, ℤ x47 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x44, Return x18, 0x20);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fc000);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x7fffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0xffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0x7fffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0xffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint8_t x71 = ((uint8_t)x54 & 0x3);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, 0x0);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x40, 0x0);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x43, 0x0);
- { uint8_t x84 = ((uint8_t)x54 & 0x20);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x46, Return x84);
- { uint32_t x88 = (x54 & 0x7fc000);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x94, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x86;
- out[9] = x90;
- out[10] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.v
deleted file mode 100644
index fa14a3fa9..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_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_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.log
deleted file mode 100644
index 95abce37b..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0xffffff);
- uint32_t x34, ℤ x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x32, Return x10, 0x3);
- uint32_t x37, ℤ x38 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x35, Return x12, 0x0);
- uint32_t x40, ℤ x41 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x38, Return x14, 0x0);
- uint32_t x43, ℤ x44 = Op (Syntax.SubWithGetBorrow 24 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x41, Return x16, 0x0);
- uint32_t x46, ℤ x47 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x44, Return x18, 0x20);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fc000);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x7fffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0xffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0x7fffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0xffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint8_t x71 = ((uint8_t)x54 & 0x3);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, 0x0);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x40, 0x0);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x43, 0x0);
- uint8_t x84 = ((uint8_t)x54 & 0x20);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x46, Return x84);
- uint32_t x88 = (x54 & 0x7fc000);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x94, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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 x79, Return x76, Return x73, Return x69, Return x65, Return x61, 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_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.v
deleted file mode 100644
index c4dc356d3..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/py_interpreter.sh
deleted file mode 100755
index 6dac33925..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**224 + 2**192 + 2**96 - 1' -Dmodulus_bytes='23 + 3/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/CurveParameters.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/CurveParameters.v
deleted file mode 100644
index ed060118e..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^224 + 2^192 + 2^96 - 1
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := Some [[9; 8; 3; 11]; [10; 9; 4; 0; 11; 5; 1; 6; 2; 7; 3; 8]; [10; 9; 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_2e256m2e224p2e192p2e96m1_12limbs/Synthesis.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/Synthesis.v
deleted file mode 100644
index 278acfbe9..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/compiler.sh b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/compiler.sh
deleted file mode 100755
index e0742665f..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/compilerxx.sh b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/compilerxx.sh
deleted file mode 100755
index 18f433e38..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.c b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.v
deleted file mode 100644
index daf98edfc..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.v
deleted file mode 100644
index 40da7878e..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarry.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarry.v
deleted file mode 100644
index 3ab0a6b0c..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarryDisplay.v
deleted file mode 100644
index ec56891fa..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femul.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femul.v
deleted file mode 100644
index 3da10cdfe..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/femulDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femulDisplay.v
deleted file mode 100644
index ab11a3de5..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquare.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquare.v
deleted file mode 100644
index 02e8daeff..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquareDisplay.v
deleted file mode 100644
index 2d859c0fa..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesub.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesub.v
deleted file mode 100644
index 665eeca73..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesubDisplay.v
deleted file mode 100644
index d7839efb0..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.c b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.c
deleted file mode 100644
index bc4e44bea..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
- { uint32_t x36, ℤ x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) Syntax.TZ) (Return x34, Return x10, 0x3ff);
- { uint32_t x39, ℤ x40 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x37, Return x12, 0x0);
- { uint32_t x42, ℤ x43 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x40, Return x14, 0x0);
- { uint32_t x45, ℤ x46 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x43, Return x16, 0x0);
- { uint32_t x48, ℤ x49 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x46, Return x18, 0x0);
- { uint32_t x51, ℤ x52 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x49, Return x20, 0x1);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1ffc00);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x3fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0x1fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0x3fffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0x3ff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, 0x0);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x42, 0x0);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x45, 0x0);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x48, 0x0);
- { uint8_t x92 = ((uint8_t)x59 & 0x1);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x51, Return x92);
- { uint32_t x96 = (x59 & 0x1ffc00);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x54, Return x96);
- { uint32_t x100 = (x59 & 0x1fffff);
- { uint32_t x102, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x57, Return x100);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x94;
- out[10] = x98;
- out[11] = x102;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.v
deleted file mode 100644
index cf782146a..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.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_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.log
deleted file mode 100644
index 78ec1d8c1..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
- uint32_t x36, ℤ x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) Syntax.TZ) (Return x34, Return x10, 0x3ff);
- uint32_t x39, ℤ x40 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x37, Return x12, 0x0);
- uint32_t x42, ℤ x43 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x40, Return x14, 0x0);
- uint32_t x45, ℤ x46 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x43, Return x16, 0x0);
- uint32_t x48, ℤ x49 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x46, Return x18, 0x0);
- uint32_t x51, ℤ x52 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x49, Return x20, 0x1);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1ffc00);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x3fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0x1fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0x3fffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0x3ff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, 0x0);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x42, 0x0);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x45, 0x0);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x48, 0x0);
- uint8_t x92 = ((uint8_t)x59 & 0x1);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x51, Return x92);
- uint32_t x96 = (x59 & 0x1ffc00);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x54, Return x96);
- uint32_t x100 = (x59 & 0x1fffff);
- uint32_t x102, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x57, Return x100);
- (Return x102, Return x98, Return x94, Return x90, Return x87, Return x84, Return x81, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.v
deleted file mode 100644
index 795966cf2..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e224p2e192p2e96m1_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/py_interpreter.sh
deleted file mode 100755
index 3ebe640df..000000000
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**224 + 2**192 + 2**96 - 1' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/CurveParameters.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/CurveParameters.v
deleted file mode 100644
index 507c16669..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^32 - 977
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 977); (2^32, 1)];
- carry_chains := Some [[0; 11]; [1; 0; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11]; [1; 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_2e256m2e32m977_12limbs/Synthesis.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/Synthesis.v
deleted file mode 100644
index 70486bab7..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/compiler.sh b/src/Specific/solinas32_2e256m2e32m977_12limbs/compiler.sh
deleted file mode 100755
index f8f47d683..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/compilerxx.sh b/src/Specific/solinas32_2e256m2e32m977_12limbs/compilerxx.sh
deleted file mode 100755
index b7d9e5a0d..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.c b/src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.v
deleted file mode 100644
index 81db3caf1..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.v
deleted file mode 100644
index fdc8da47c..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fecarry.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/fecarry.v
deleted file mode 100644
index aa8ce6e6f..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/fecarryDisplay.v
deleted file mode 100644
index 95d531d11..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/femul.c b/src/Specific/solinas32_2e256m2e32m977_12limbs/femul.c
deleted file mode 100644
index 69b723883..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/femul.c
+++ /dev/null
@@ -1,103 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = ((((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27)))))))))))) + (0x800 * ((uint64_t)x24 * x46)));
- { uint64_t x49 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + ((0x3d1 * ((uint64_t)x24 * x46)) + (0x400 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47))))));
- { uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))) + (0x800 * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45))))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + ((0x3d1 * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45)))) + (0x800 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43)))))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + ((0x3d1 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))) + (0x400 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41)))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))) + (0x800 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39)))))))));
- { uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + ((0x3d1 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))) + (0x800 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37))))))))));
- { uint64_t x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + ((0x3d1 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))) + (0x400 * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35))))))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + ((0x3d1 * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35)))))))))) + (0x800 * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33))))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + ((0x3d1 * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33)))))))))) + (0x800 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31)))))))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + ((0x3d1 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))) + (0x400 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29)))))))))))))));
- { uint64_t x59 = (((uint64_t)x5 * x27) + (0x3d1 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- { uint64_t x60 = (x59 >> 0x16);
- { uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- { uint64_t x62 = (x48 >> 0x15);
- { uint32_t x63 = ((uint32_t)x48 & 0x1fffff);
- { uint64_t x64 = ((0x200000 * x62) + x63);
- { uint64_t x65 = (x64 >> 0x15);
- { uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- { uint64_t x67 = ((x60 + x58) + (0x400 * x65));
- { uint64_t x68 = (x67 >> 0x15);
- { uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- { uint64_t x70 = (x61 + (0x3d1 * x65));
- { uint32_t x71 = (uint32_t) (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x68 + x57);
- { uint64_t x74 = (x73 >> 0x15);
- { uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- { uint64_t x76 = (x74 + x56);
- { uint64_t x77 = (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x77 + x55);
- { uint64_t x80 = (x79 >> 0x15);
- { uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x15);
- { uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- { uint64_t x85 = (x83 + x53);
- { uint64_t x86 = (x85 >> 0x16);
- { uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- { uint64_t x88 = (x86 + x52);
- { uint64_t x89 = (x88 >> 0x15);
- { uint32_t x90 = ((uint32_t)x88 & 0x1fffff);
- { uint64_t x91 = (x89 + x51);
- { uint64_t x92 = (x91 >> 0x15);
- { uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- { uint64_t x94 = (x92 + x50);
- { uint64_t x95 = (x94 >> 0x16);
- { uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
- { uint64_t x97 = (x95 + x49);
- { uint64_t x98 = (x97 >> 0x15);
- { uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- { uint64_t x100 = (x98 + x66);
- { uint32_t x101 = (uint32_t) (x100 >> 0x15);
- { uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- { uint64_t x103 = (((uint64_t)0x200000 * x101) + x102);
- { uint32_t x104 = (uint32_t) (x103 >> 0x15);
- { uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- { uint32_t x106 = ((x71 + x69) + (0x400 * x104));
- { uint32_t x107 = (x106 >> 0x15);
- { uint32_t x108 = (x106 & 0x1fffff);
- { uint32_t x109 = (x72 + (0x3d1 * x104));
- { uint32_t x110 = (x109 >> 0x16);
- { uint32_t x111 = (x109 & 0x3fffff);
- out[0] = x111;
- out[1] = (x110 + x108);
- out[2] = (x107 + x75);
- out[3] = x78;
- out[4] = x81;
- out[5] = x84;
- out[6] = x87;
- out[7] = x90;
- out[8] = x93;
- out[9] = x96;
- out[10] = x99;
- out[11] = x105;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/femul.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/femul.v
deleted file mode 100644
index 7c40f1335..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/femulDisplay.log b/src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.log
deleted file mode 100644
index 238bb7bf6..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = ((((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27)))))))))))) + (0x800 * ((uint64_t)x24 * x46)));
- uint64_t x49 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + ((0x3d1 * ((uint64_t)x24 * x46)) + (0x400 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47))))));
- uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))) + (0x800 * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45))))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + ((0x3d1 * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45)))) + (0x800 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43)))))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + ((0x3d1 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))) + (0x400 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41)))))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))) + (0x800 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39)))))))));
- uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + ((0x3d1 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))) + (0x800 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37))))))))));
- uint64_t x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + ((0x3d1 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))) + (0x400 * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35))))))))))));
- uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + ((0x3d1 * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35)))))))))) + (0x800 * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33))))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + ((0x3d1 * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33)))))))))) + (0x800 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31)))))))))))));
- uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + ((0x3d1 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))) + (0x400 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29)))))))))))))));
- uint64_t x59 = (((uint64_t)x5 * x27) + (0x3d1 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- uint64_t x60 = (x59 >> 0x16);
- uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
- uint64_t x62 = (x48 >> 0x15);
- uint32_t x63 = ((uint32_t)x48 & 0x1fffff);
- uint64_t x64 = ((0x200000 * x62) + x63);
- uint64_t x65 = (x64 >> 0x15);
- uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- uint64_t x67 = ((x60 + x58) + (0x400 * x65));
- uint64_t x68 = (x67 >> 0x15);
- uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- uint64_t x70 = (x61 + (0x3d1 * x65));
- uint32_t x71 = (uint32_t) (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x68 + x57);
- uint64_t x74 = (x73 >> 0x15);
- uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- uint64_t x76 = (x74 + x56);
- uint64_t x77 = (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x77 + x55);
- uint64_t x80 = (x79 >> 0x15);
- uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x15);
- uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- uint64_t x85 = (x83 + x53);
- uint64_t x86 = (x85 >> 0x16);
- uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- uint64_t x88 = (x86 + x52);
- uint64_t x89 = (x88 >> 0x15);
- uint32_t x90 = ((uint32_t)x88 & 0x1fffff);
- uint64_t x91 = (x89 + x51);
- uint64_t x92 = (x91 >> 0x15);
- uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- uint64_t x94 = (x92 + x50);
- uint64_t x95 = (x94 >> 0x16);
- uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
- uint64_t x97 = (x95 + x49);
- uint64_t x98 = (x97 >> 0x15);
- uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- uint64_t x100 = (x98 + x66);
- uint32_t x101 = (uint32_t) (x100 >> 0x15);
- uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- uint64_t x103 = (((uint64_t)0x200000 * x101) + x102);
- uint32_t x104 = (uint32_t) (x103 >> 0x15);
- uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- uint32_t x106 = ((x71 + x69) + (0x400 * x104));
- uint32_t x107 = (x106 >> 0x15);
- uint32_t x108 = (x106 & 0x1fffff);
- uint32_t x109 = (x72 + (0x3d1 * x104));
- uint32_t x110 = (x109 >> 0x16);
- uint32_t x111 = (x109 & 0x3fffff);
- return (Return x105, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, (x107 + x75), (x110 + x108), Return x111))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.v
deleted file mode 100644
index 4a1cc516a..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.c b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.c
deleted file mode 100644
index 7f795b431..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.c
+++ /dev/null
@@ -1,91 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = ((((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2)))))))))))) + (0x800 * ((uint64_t)x21 * x21)));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + ((0x3d1 * ((uint64_t)x21 * x21)) + (0x400 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22))))));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))) + (0x800 * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20))))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + ((0x3d1 * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20)))) + (0x800 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18)))))));
- { uint64_t x27 = ((((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)))))))) + ((0x3d1 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))) + (0x400 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16)))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))) + (0x800 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14)))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + ((0x3d1 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))) + (0x800 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + ((0x3d1 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))) + (0x400 * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10))))))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10)))))))))) + (0x800 * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8))))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x3d1 * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8)))))))))) + (0x800 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6)))))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + ((0x3d1 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))) + (0x400 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4)))))))))))))));
- { uint64_t x34 = (((uint64_t)x2 * x2) + (0x3d1 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- { uint64_t x35 = (x34 >> 0x16);
- { uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- { uint64_t x37 = (x23 >> 0x15);
- { uint32_t x38 = ((uint32_t)x23 & 0x1fffff);
- { uint64_t x39 = ((0x200000 * x37) + x38);
- { uint64_t x40 = (x39 >> 0x15);
- { uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
- { uint64_t x42 = ((x35 + x33) + (0x400 * x40));
- { uint64_t x43 = (x42 >> 0x15);
- { uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- { uint64_t x45 = (x36 + (0x3d1 * x40));
- { uint32_t x46 = (uint32_t) (x45 >> 0x16);
- { uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- { uint64_t x48 = (x43 + x32);
- { uint64_t x49 = (x48 >> 0x15);
- { uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- { uint64_t x51 = (x49 + x31);
- { uint64_t x52 = (x51 >> 0x16);
- { uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- { uint64_t x54 = (x52 + x30);
- { uint64_t x55 = (x54 >> 0x15);
- { uint32_t x56 = ((uint32_t)x54 & 0x1fffff);
- { uint64_t x57 = (x55 + x29);
- { uint64_t x58 = (x57 >> 0x15);
- { uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
- { uint64_t x60 = (x58 + x28);
- { uint64_t x61 = (x60 >> 0x16);
- { uint32_t x62 = ((uint32_t)x60 & 0x3fffff);
- { uint64_t x63 = (x61 + x27);
- { uint64_t x64 = (x63 >> 0x15);
- { uint32_t x65 = ((uint32_t)x63 & 0x1fffff);
- { uint64_t x66 = (x64 + x26);
- { uint64_t x67 = (x66 >> 0x15);
- { uint32_t x68 = ((uint32_t)x66 & 0x1fffff);
- { uint64_t x69 = (x67 + x25);
- { uint64_t x70 = (x69 >> 0x16);
- { uint32_t x71 = ((uint32_t)x69 & 0x3fffff);
- { uint64_t x72 = (x70 + x24);
- { uint64_t x73 = (x72 >> 0x15);
- { uint32_t x74 = ((uint32_t)x72 & 0x1fffff);
- { uint64_t x75 = (x73 + x41);
- { uint32_t x76 = (uint32_t) (x75 >> 0x15);
- { uint32_t x77 = ((uint32_t)x75 & 0x1fffff);
- { uint64_t x78 = (((uint64_t)0x200000 * x76) + x77);
- { uint32_t x79 = (uint32_t) (x78 >> 0x15);
- { uint32_t x80 = ((uint32_t)x78 & 0x1fffff);
- { uint32_t x81 = ((x46 + x44) + (0x400 * x79));
- { uint32_t x82 = (x81 >> 0x15);
- { uint32_t x83 = (x81 & 0x1fffff);
- { uint32_t x84 = (x47 + (0x3d1 * x79));
- { uint32_t x85 = (x84 >> 0x16);
- { uint32_t x86 = (x84 & 0x3fffff);
- out[0] = x86;
- out[1] = (x85 + x83);
- out[2] = (x82 + x50);
- out[3] = x53;
- out[4] = x56;
- out[5] = x59;
- out[6] = x62;
- out[7] = x65;
- out[8] = x68;
- out[9] = x71;
- out[10] = x74;
- out[11] = x80;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.v
deleted file mode 100644
index 19cb2d266..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.log
deleted file mode 100644
index 2b6d59589..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = ((((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2)))))))))))) + (0x800 * ((uint64_t)x21 * x21)));
- uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + ((0x3d1 * ((uint64_t)x21 * x21)) + (0x400 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22))))));
- uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))) + (0x800 * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20))))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + ((0x3d1 * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20)))) + (0x800 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18)))))));
- uint64_t x27 = ((((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)))))))) + ((0x3d1 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))) + (0x400 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16)))))))));
- uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))) + (0x800 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14)))))))));
- uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + ((0x3d1 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))) + (0x800 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + ((0x3d1 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))) + (0x400 * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10))))))))))));
- uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10)))))))))) + (0x800 * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8))))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x3d1 * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8)))))))))) + (0x800 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6)))))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + ((0x3d1 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))) + (0x400 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4)))))))))))))));
- uint64_t x34 = (((uint64_t)x2 * x2) + (0x3d1 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- uint64_t x35 = (x34 >> 0x16);
- uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
- uint64_t x37 = (x23 >> 0x15);
- uint32_t x38 = ((uint32_t)x23 & 0x1fffff);
- uint64_t x39 = ((0x200000 * x37) + x38);
- uint64_t x40 = (x39 >> 0x15);
- uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
- uint64_t x42 = ((x35 + x33) + (0x400 * x40));
- uint64_t x43 = (x42 >> 0x15);
- uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
- uint64_t x45 = (x36 + (0x3d1 * x40));
- uint32_t x46 = (uint32_t) (x45 >> 0x16);
- uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
- uint64_t x48 = (x43 + x32);
- uint64_t x49 = (x48 >> 0x15);
- uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
- uint64_t x51 = (x49 + x31);
- uint64_t x52 = (x51 >> 0x16);
- uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
- uint64_t x54 = (x52 + x30);
- uint64_t x55 = (x54 >> 0x15);
- uint32_t x56 = ((uint32_t)x54 & 0x1fffff);
- uint64_t x57 = (x55 + x29);
- uint64_t x58 = (x57 >> 0x15);
- uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
- uint64_t x60 = (x58 + x28);
- uint64_t x61 = (x60 >> 0x16);
- uint32_t x62 = ((uint32_t)x60 & 0x3fffff);
- uint64_t x63 = (x61 + x27);
- uint64_t x64 = (x63 >> 0x15);
- uint32_t x65 = ((uint32_t)x63 & 0x1fffff);
- uint64_t x66 = (x64 + x26);
- uint64_t x67 = (x66 >> 0x15);
- uint32_t x68 = ((uint32_t)x66 & 0x1fffff);
- uint64_t x69 = (x67 + x25);
- uint64_t x70 = (x69 >> 0x16);
- uint32_t x71 = ((uint32_t)x69 & 0x3fffff);
- uint64_t x72 = (x70 + x24);
- uint64_t x73 = (x72 >> 0x15);
- uint32_t x74 = ((uint32_t)x72 & 0x1fffff);
- uint64_t x75 = (x73 + x41);
- uint32_t x76 = (uint32_t) (x75 >> 0x15);
- uint32_t x77 = ((uint32_t)x75 & 0x1fffff);
- uint64_t x78 = (((uint64_t)0x200000 * x76) + x77);
- uint32_t x79 = (uint32_t) (x78 >> 0x15);
- uint32_t x80 = ((uint32_t)x78 & 0x1fffff);
- uint32_t x81 = ((x46 + x44) + (0x400 * x79));
- uint32_t x82 = (x81 >> 0x15);
- uint32_t x83 = (x81 & 0x1fffff);
- uint32_t x84 = (x47 + (0x3d1 * x79));
- uint32_t x85 = (x84 >> 0x16);
- uint32_t x86 = (x84 & 0x3fffff);
- return (Return x80, Return x74, Return x71, Return x68, Return x65, Return x62, Return x59, Return x56, Return x53, (x82 + x50), (x85 + x83), Return x86))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.v
deleted file mode 100644
index e21acc95d..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.c b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.c
deleted file mode 100644
index 0a45906fc..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0x7ff85e + x5) - x27);
- out[1] = ((0x3ff7fe + x7) - x29);
- out[2] = ((0x3ffffe + x9) - x31);
- out[3] = ((0x7ffffe + x11) - x33);
- out[4] = ((0x3ffffe + x13) - x35);
- out[5] = ((0x3ffffe + x15) - x37);
- out[6] = ((0x7ffffe + x17) - x39);
- out[7] = ((0x3ffffe + x19) - x41);
- out[8] = ((0x3ffffe + x21) - x43);
- out[9] = ((0x7ffffe + x23) - x45);
- out[10] = ((0x3ffffe + x25) - x47);
- out[11] = ((0x3ffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.v
deleted file mode 100644
index eb0caa651..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.log
deleted file mode 100644
index 4c77a3d89..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x3ffffe + x24) - x46), ((0x3ffffe + x25) - x47), ((0x7ffffe + x23) - x45), ((0x3ffffe + x21) - x43), ((0x3ffffe + x19) - x41), ((0x7ffffe + x17) - x39), ((0x3ffffe + x15) - x37), ((0x3ffffe + x13) - x35), ((0x7ffffe + x11) - x33), ((0x3ffffe + x9) - x31), ((0x3ff7fe + x7) - x29), ((0x7ff85e + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.v
deleted file mode 100644
index 47d12e9c2..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.c b/src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.c
deleted file mode 100644
index ba45b0087..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffc2f);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1ffbff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1fffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x3fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x3fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x3ffc2f);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0x1ffbff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0x1fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0x3fffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0x1fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0x1fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 0x3fffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- { uint32_t x88 = (x59 & 0x1fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0x1fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0x3fffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0x1fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0x1fffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.v
deleted file mode 100644
index e034f2772..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.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_2e256m2e32m977_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.log
deleted file mode 100644
index 5c4fc1a9a..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffc2f);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1ffbff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1fffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x3fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x3fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x3ffc2f);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0x1ffbff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0x1fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0x3fffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0x1fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0x1fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 0x3fffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = (x59 & 0x1fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0x1fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0x3fffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0x1fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0x1fffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.v
deleted file mode 100644
index 8ce2d92cc..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e256m2e32m977_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e256m2e32m977_12limbs/py_interpreter.sh
deleted file mode 100755
index 6041da3bd..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**32 - 977' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/CurveParameters.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/CurveParameters.v
deleted file mode 100644
index dc2bcf523..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^32 - 977
-Base: 19 + 9/13
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 19 + 9/13;
- bitwidth := 32;
- s := 2^256;
- c := [(1, 977); (2^32, 1)];
- carry_chains := Some [[0; 12]; [1; 0; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12]; [1; 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_2e256m2e32m977_13limbs/Synthesis.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/Synthesis.v
deleted file mode 100644
index 405cf9850..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/compiler.sh b/src/Specific/solinas32_2e256m2e32m977_13limbs/compiler.sh
deleted file mode 100755
index 99064ce40..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,19,20,20,19,20,20,19,20,20,19}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/compilerxx.sh b/src/Specific/solinas32_2e256m2e32m977_13limbs/compilerxx.sh
deleted file mode 100755
index 72302f3bb..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{20,20,20,19,20,20,19,20,20,19,20,20,19}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.c b/src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.c
deleted file mode 100644
index dbbe1da57..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = (x5 + x29);
- out[1] = (x7 + x31);
- out[2] = (x9 + x33);
- out[3] = (x11 + x35);
- out[4] = (x13 + x37);
- out[5] = (x15 + x39);
- out[6] = (x17 + x41);
- out[7] = (x19 + x43);
- out[8] = (x21 + x45);
- out[9] = (x23 + x47);
- out[10] = (x25 + x49);
- out[11] = (x27 + x51);
- out[12] = (x26 + x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.v
deleted file mode 100644
index 3d99e7112..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/feaddDisplay.log b/src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.log
deleted file mode 100644
index e64abeaba..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- ((x26 + x50), (x27 + x51), (x25 + x49), (x23 + x47), (x21 + x45), (x19 + x43), (x17 + x41), (x15 + x39), (x13 + x37), (x11 + x35), (x9 + x33), (x7 + x31), (x5 + x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.v
deleted file mode 100644
index 17a9fd694..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fecarry.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/fecarry.v
deleted file mode 100644
index 3a42d520f..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/fecarryDisplay.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/fecarryDisplay.v
deleted file mode 100644
index a79a8d3b3..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/femul.c b/src/Specific/solinas32_2e256m2e32m977_13limbs/femul.c
deleted file mode 100644
index 787323fb8..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/femul.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void femul(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint64_t x52 = ((((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29))))))))))))) + (0x1000 * (0x2 * ((uint64_t)x26 * x50))));
- { uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + ((0x3d1 * (0x2 * ((uint64_t)x26 * x50))) + (0x1000 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51))))));
- { uint64_t x54 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + ((uint64_t)x25 * x29))))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))) + (0x2000 * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49))))));
- { uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + ((0x3d1 * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))) + (0x1000 * ((0x2 * ((uint64_t)x23 * x50)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (0x2 * ((uint64_t)x26 * x47))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x23 * x50)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (0x2 * ((uint64_t)x26 * x47)))))) + (0x1000 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45)))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))) + (0x2000 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43)))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + ((0x3d1 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))) + (0x1000 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41)))))))))));
- { uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + ((0x3d1 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))) + (0x1000 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39))))))))))));
- { uint64_t x60 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((uint64_t)x13 * x29))))) + ((0x3d1 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))) + (0x2000 * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37))))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + ((0x3d1 * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))) + (0x1000 * ((0x2 * ((uint64_t)x11 * x50)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (0x2 * ((uint64_t)x26 * x35))))))))))))));
- { uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + ((0x3d1 * ((0x2 * ((uint64_t)x11 * x50)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (0x2 * ((uint64_t)x26 * x35)))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33)))))))))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + ((0x3d1 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31))))))))))))))));
- { uint64_t x64 = (((uint64_t)x5 * x29) + (0x3d1 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- { uint64_t x65 = (x64 >> 0x14);
- { uint32_t x66 = ((uint32_t)x64 & 0xfffff);
- { uint64_t x67 = (x52 >> 0x13);
- { uint32_t x68 = ((uint32_t)x52 & 0x7ffff);
- { uint64_t x69 = ((0x80000 * x67) + x68);
- { uint64_t x70 = (x69 >> 0x13);
- { uint32_t x71 = ((uint32_t)x69 & 0x7ffff);
- { uint64_t x72 = ((x65 + x63) + (0x1000 * x70));
- { uint64_t x73 = (x72 >> 0x14);
- { uint32_t x74 = ((uint32_t)x72 & 0xfffff);
- { uint64_t x75 = (x66 + (0x3d1 * x70));
- { uint32_t x76 = (uint32_t) (x75 >> 0x14);
- { uint32_t x77 = ((uint32_t)x75 & 0xfffff);
- { uint64_t x78 = (x73 + x62);
- { uint64_t x79 = (x78 >> 0x14);
- { uint32_t x80 = ((uint32_t)x78 & 0xfffff);
- { uint64_t x81 = (x79 + x61);
- { uint64_t x82 = (x81 >> 0x13);
- { uint32_t x83 = ((uint32_t)x81 & 0x7ffff);
- { uint64_t x84 = (x82 + x60);
- { uint64_t x85 = (x84 >> 0x14);
- { uint32_t x86 = ((uint32_t)x84 & 0xfffff);
- { uint64_t x87 = (x85 + x59);
- { uint64_t x88 = (x87 >> 0x14);
- { uint32_t x89 = ((uint32_t)x87 & 0xfffff);
- { uint64_t x90 = (x88 + x58);
- { uint64_t x91 = (x90 >> 0x13);
- { uint32_t x92 = ((uint32_t)x90 & 0x7ffff);
- { uint64_t x93 = (x91 + x57);
- { uint64_t x94 = (x93 >> 0x14);
- { uint32_t x95 = ((uint32_t)x93 & 0xfffff);
- { uint64_t x96 = (x94 + x56);
- { uint64_t x97 = (x96 >> 0x14);
- { uint32_t x98 = ((uint32_t)x96 & 0xfffff);
- { uint64_t x99 = (x97 + x55);
- { uint64_t x100 = (x99 >> 0x13);
- { uint32_t x101 = ((uint32_t)x99 & 0x7ffff);
- { uint64_t x102 = (x100 + x54);
- { uint64_t x103 = (x102 >> 0x14);
- { uint32_t x104 = ((uint32_t)x102 & 0xfffff);
- { uint64_t x105 = (x103 + x53);
- { uint64_t x106 = (x105 >> 0x14);
- { uint32_t x107 = ((uint32_t)x105 & 0xfffff);
- { uint64_t x108 = (x106 + x71);
- { uint32_t x109 = (uint32_t) (x108 >> 0x13);
- { uint32_t x110 = ((uint32_t)x108 & 0x7ffff);
- { uint64_t x111 = (((uint64_t)0x80000 * x109) + x110);
- { uint32_t x112 = (uint32_t) (x111 >> 0x13);
- { uint32_t x113 = ((uint32_t)x111 & 0x7ffff);
- { uint32_t x114 = ((x76 + x74) + (0x1000 * x112));
- { uint32_t x115 = (x114 >> 0x14);
- { uint32_t x116 = (x114 & 0xfffff);
- { uint32_t x117 = (x77 + (0x3d1 * x112));
- { uint32_t x118 = (x117 >> 0x14);
- { uint32_t x119 = (x117 & 0xfffff);
- out[0] = x119;
- out[1] = (x118 + x116);
- out[2] = (x115 + x80);
- out[3] = x83;
- out[4] = x86;
- out[5] = x89;
- out[6] = x92;
- out[7] = x95;
- out[8] = x98;
- out[9] = x101;
- out[10] = x104;
- out[11] = x107;
- out[12] = x113;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/femul.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/femul.v
deleted file mode 100644
index b7d06daf3..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/femulDisplay.log b/src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.log
deleted file mode 100644
index 8addae88a..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint64_t x52 = ((((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29))))))))))))) + (0x1000 * (0x2 * ((uint64_t)x26 * x50))));
- uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + ((0x3d1 * (0x2 * ((uint64_t)x26 * x50))) + (0x1000 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51))))));
- uint64_t x54 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + ((uint64_t)x25 * x29))))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))) + (0x2000 * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49))))));
- uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + ((0x3d1 * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))) + (0x1000 * ((0x2 * ((uint64_t)x23 * x50)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (0x2 * ((uint64_t)x26 * x47))))))));
- uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x23 * x50)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (0x2 * ((uint64_t)x26 * x47)))))) + (0x1000 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45)))))))));
- uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))) + (0x2000 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43)))))))));
- uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + ((0x3d1 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))) + (0x1000 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41)))))))))));
- uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + ((0x3d1 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))) + (0x1000 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39))))))))))));
- uint64_t x60 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((uint64_t)x13 * x29))))) + ((0x3d1 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))) + (0x2000 * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37))))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + ((0x3d1 * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))) + (0x1000 * ((0x2 * ((uint64_t)x11 * x50)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (0x2 * ((uint64_t)x26 * x35))))))))))))));
- uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + ((0x3d1 * ((0x2 * ((uint64_t)x11 * x50)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (0x2 * ((uint64_t)x26 * x35)))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33)))))))))))))));
- uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + ((0x3d1 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31))))))))))))))));
- uint64_t x64 = (((uint64_t)x5 * x29) + (0x3d1 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- uint64_t x65 = (x64 >> 0x14);
- uint32_t x66 = ((uint32_t)x64 & 0xfffff);
- uint64_t x67 = (x52 >> 0x13);
- uint32_t x68 = ((uint32_t)x52 & 0x7ffff);
- uint64_t x69 = ((0x80000 * x67) + x68);
- uint64_t x70 = (x69 >> 0x13);
- uint32_t x71 = ((uint32_t)x69 & 0x7ffff);
- uint64_t x72 = ((x65 + x63) + (0x1000 * x70));
- uint64_t x73 = (x72 >> 0x14);
- uint32_t x74 = ((uint32_t)x72 & 0xfffff);
- uint64_t x75 = (x66 + (0x3d1 * x70));
- uint32_t x76 = (uint32_t) (x75 >> 0x14);
- uint32_t x77 = ((uint32_t)x75 & 0xfffff);
- uint64_t x78 = (x73 + x62);
- uint64_t x79 = (x78 >> 0x14);
- uint32_t x80 = ((uint32_t)x78 & 0xfffff);
- uint64_t x81 = (x79 + x61);
- uint64_t x82 = (x81 >> 0x13);
- uint32_t x83 = ((uint32_t)x81 & 0x7ffff);
- uint64_t x84 = (x82 + x60);
- uint64_t x85 = (x84 >> 0x14);
- uint32_t x86 = ((uint32_t)x84 & 0xfffff);
- uint64_t x87 = (x85 + x59);
- uint64_t x88 = (x87 >> 0x14);
- uint32_t x89 = ((uint32_t)x87 & 0xfffff);
- uint64_t x90 = (x88 + x58);
- uint64_t x91 = (x90 >> 0x13);
- uint32_t x92 = ((uint32_t)x90 & 0x7ffff);
- uint64_t x93 = (x91 + x57);
- uint64_t x94 = (x93 >> 0x14);
- uint32_t x95 = ((uint32_t)x93 & 0xfffff);
- uint64_t x96 = (x94 + x56);
- uint64_t x97 = (x96 >> 0x14);
- uint32_t x98 = ((uint32_t)x96 & 0xfffff);
- uint64_t x99 = (x97 + x55);
- uint64_t x100 = (x99 >> 0x13);
- uint32_t x101 = ((uint32_t)x99 & 0x7ffff);
- uint64_t x102 = (x100 + x54);
- uint64_t x103 = (x102 >> 0x14);
- uint32_t x104 = ((uint32_t)x102 & 0xfffff);
- uint64_t x105 = (x103 + x53);
- uint64_t x106 = (x105 >> 0x14);
- uint32_t x107 = ((uint32_t)x105 & 0xfffff);
- uint64_t x108 = (x106 + x71);
- uint32_t x109 = (uint32_t) (x108 >> 0x13);
- uint32_t x110 = ((uint32_t)x108 & 0x7ffff);
- uint64_t x111 = (((uint64_t)0x80000 * x109) + x110);
- uint32_t x112 = (uint32_t) (x111 >> 0x13);
- uint32_t x113 = ((uint32_t)x111 & 0x7ffff);
- uint32_t x114 = ((x76 + x74) + (0x1000 * x112));
- uint32_t x115 = (x114 >> 0x14);
- uint32_t x116 = (x114 & 0xfffff);
- uint32_t x117 = (x77 + (0x3d1 * x112));
- uint32_t x118 = (x117 >> 0x14);
- uint32_t x119 = (x117 & 0xfffff);
- return (Return x113, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, (x115 + x80), (x118 + x116), Return x119))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.v
deleted file mode 100644
index b041f5efe..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.c b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.c
deleted file mode 100644
index 3952acd13..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.c
+++ /dev/null
@@ -1,97 +0,0 @@
-static void fesquare(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = ((((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2))))))))))))) + (0x1000 * (0x2 * ((uint64_t)x23 * x23))));
- { uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + ((0x3d1 * (0x2 * ((uint64_t)x23 * x23))) + (0x1000 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24))))));
- { uint64_t x27 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))) + (0x2000 * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22))))));
- { uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + ((0x3d1 * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))) + (0x1000 * ((0x2 * ((uint64_t)x20 * x23)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (0x2 * ((uint64_t)x23 * x20))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x20 * x23)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (0x2 * ((uint64_t)x23 * x20)))))) + (0x1000 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18)))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))) + (0x2000 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16)))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + ((0x3d1 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))) + (0x1000 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14)))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + ((0x3d1 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))) + (0x1000 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12))))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((0x3d1 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))) + (0x2000 * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + ((0x3d1 * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))) + (0x1000 * ((0x2 * ((uint64_t)x8 * x23)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (0x2 * ((uint64_t)x23 * x8))))))))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + ((0x3d1 * ((0x2 * ((uint64_t)x8 * x23)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (0x2 * ((uint64_t)x23 * x8)))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6)))))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + ((0x3d1 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4))))))))))))))));
- { uint64_t x37 = (((uint64_t)x2 * x2) + (0x3d1 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- { uint64_t x38 = (x37 >> 0x14);
- { uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- { uint64_t x40 = (x25 >> 0x13);
- { uint32_t x41 = ((uint32_t)x25 & 0x7ffff);
- { uint64_t x42 = ((0x80000 * x40) + x41);
- { uint64_t x43 = (x42 >> 0x13);
- { uint32_t x44 = ((uint32_t)x42 & 0x7ffff);
- { uint64_t x45 = ((x38 + x36) + (0x1000 * x43));
- { uint64_t x46 = (x45 >> 0x14);
- { uint32_t x47 = ((uint32_t)x45 & 0xfffff);
- { uint64_t x48 = (x39 + (0x3d1 * x43));
- { uint32_t x49 = (uint32_t) (x48 >> 0x14);
- { uint32_t x50 = ((uint32_t)x48 & 0xfffff);
- { uint64_t x51 = (x46 + x35);
- { uint64_t x52 = (x51 >> 0x14);
- { uint32_t x53 = ((uint32_t)x51 & 0xfffff);
- { uint64_t x54 = (x52 + x34);
- { uint64_t x55 = (x54 >> 0x13);
- { uint32_t x56 = ((uint32_t)x54 & 0x7ffff);
- { uint64_t x57 = (x55 + x33);
- { uint64_t x58 = (x57 >> 0x14);
- { uint32_t x59 = ((uint32_t)x57 & 0xfffff);
- { uint64_t x60 = (x58 + x32);
- { uint64_t x61 = (x60 >> 0x14);
- { uint32_t x62 = ((uint32_t)x60 & 0xfffff);
- { uint64_t x63 = (x61 + x31);
- { uint64_t x64 = (x63 >> 0x13);
- { uint32_t x65 = ((uint32_t)x63 & 0x7ffff);
- { uint64_t x66 = (x64 + x30);
- { uint64_t x67 = (x66 >> 0x14);
- { uint32_t x68 = ((uint32_t)x66 & 0xfffff);
- { uint64_t x69 = (x67 + x29);
- { uint64_t x70 = (x69 >> 0x14);
- { uint32_t x71 = ((uint32_t)x69 & 0xfffff);
- { uint64_t x72 = (x70 + x28);
- { uint64_t x73 = (x72 >> 0x13);
- { uint32_t x74 = ((uint32_t)x72 & 0x7ffff);
- { uint64_t x75 = (x73 + x27);
- { uint64_t x76 = (x75 >> 0x14);
- { uint32_t x77 = ((uint32_t)x75 & 0xfffff);
- { uint64_t x78 = (x76 + x26);
- { uint64_t x79 = (x78 >> 0x14);
- { uint32_t x80 = ((uint32_t)x78 & 0xfffff);
- { uint64_t x81 = (x79 + x44);
- { uint32_t x82 = (uint32_t) (x81 >> 0x13);
- { uint32_t x83 = ((uint32_t)x81 & 0x7ffff);
- { uint64_t x84 = (((uint64_t)0x80000 * x82) + x83);
- { uint32_t x85 = (uint32_t) (x84 >> 0x13);
- { uint32_t x86 = ((uint32_t)x84 & 0x7ffff);
- { uint32_t x87 = ((x49 + x47) + (0x1000 * x85));
- { uint32_t x88 = (x87 >> 0x14);
- { uint32_t x89 = (x87 & 0xfffff);
- { uint32_t x90 = (x50 + (0x3d1 * x85));
- { uint32_t x91 = (x90 >> 0x14);
- { uint32_t x92 = (x90 & 0xfffff);
- out[0] = x92;
- out[1] = (x91 + x89);
- out[2] = (x88 + x53);
- out[3] = x56;
- out[4] = x59;
- out[5] = x62;
- out[6] = x65;
- out[7] = x68;
- out[8] = x71;
- out[9] = x74;
- out[10] = x77;
- out[11] = x80;
- out[12] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.v
deleted file mode 100644
index 6e55ba3c3..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/fesquareDisplay.log b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.log
deleted file mode 100644
index ccf2c91c7..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,75 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x25 = ((((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2))))))))))))) + (0x1000 * (0x2 * ((uint64_t)x23 * x23))));
- uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + ((0x3d1 * (0x2 * ((uint64_t)x23 * x23))) + (0x1000 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24))))));
- uint64_t x27 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))) + (0x2000 * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22))))));
- uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + ((0x3d1 * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))) + (0x1000 * ((0x2 * ((uint64_t)x20 * x23)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (0x2 * ((uint64_t)x23 * x20))))))));
- uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x20 * x23)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (0x2 * ((uint64_t)x23 * x20)))))) + (0x1000 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18)))))))));
- uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))) + (0x2000 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16)))))))));
- uint64_t x31 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + ((0x3d1 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))) + (0x1000 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14)))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + ((0x3d1 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))) + (0x1000 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12))))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((0x3d1 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))) + (0x2000 * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + ((0x3d1 * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))) + (0x1000 * ((0x2 * ((uint64_t)x8 * x23)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (0x2 * ((uint64_t)x23 * x8))))))))))))));
- uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + ((0x3d1 * ((0x2 * ((uint64_t)x8 * x23)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (0x2 * ((uint64_t)x23 * x8)))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6)))))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + ((0x3d1 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))) + (0x1000 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4))))))))))))))));
- uint64_t x37 = (((uint64_t)x2 * x2) + (0x3d1 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- uint64_t x38 = (x37 >> 0x14);
- uint32_t x39 = ((uint32_t)x37 & 0xfffff);
- uint64_t x40 = (x25 >> 0x13);
- uint32_t x41 = ((uint32_t)x25 & 0x7ffff);
- uint64_t x42 = ((0x80000 * x40) + x41);
- uint64_t x43 = (x42 >> 0x13);
- uint32_t x44 = ((uint32_t)x42 & 0x7ffff);
- uint64_t x45 = ((x38 + x36) + (0x1000 * x43));
- uint64_t x46 = (x45 >> 0x14);
- uint32_t x47 = ((uint32_t)x45 & 0xfffff);
- uint64_t x48 = (x39 + (0x3d1 * x43));
- uint32_t x49 = (uint32_t) (x48 >> 0x14);
- uint32_t x50 = ((uint32_t)x48 & 0xfffff);
- uint64_t x51 = (x46 + x35);
- uint64_t x52 = (x51 >> 0x14);
- uint32_t x53 = ((uint32_t)x51 & 0xfffff);
- uint64_t x54 = (x52 + x34);
- uint64_t x55 = (x54 >> 0x13);
- uint32_t x56 = ((uint32_t)x54 & 0x7ffff);
- uint64_t x57 = (x55 + x33);
- uint64_t x58 = (x57 >> 0x14);
- uint32_t x59 = ((uint32_t)x57 & 0xfffff);
- uint64_t x60 = (x58 + x32);
- uint64_t x61 = (x60 >> 0x14);
- uint32_t x62 = ((uint32_t)x60 & 0xfffff);
- uint64_t x63 = (x61 + x31);
- uint64_t x64 = (x63 >> 0x13);
- uint32_t x65 = ((uint32_t)x63 & 0x7ffff);
- uint64_t x66 = (x64 + x30);
- uint64_t x67 = (x66 >> 0x14);
- uint32_t x68 = ((uint32_t)x66 & 0xfffff);
- uint64_t x69 = (x67 + x29);
- uint64_t x70 = (x69 >> 0x14);
- uint32_t x71 = ((uint32_t)x69 & 0xfffff);
- uint64_t x72 = (x70 + x28);
- uint64_t x73 = (x72 >> 0x13);
- uint32_t x74 = ((uint32_t)x72 & 0x7ffff);
- uint64_t x75 = (x73 + x27);
- uint64_t x76 = (x75 >> 0x14);
- uint32_t x77 = ((uint32_t)x75 & 0xfffff);
- uint64_t x78 = (x76 + x26);
- uint64_t x79 = (x78 >> 0x14);
- uint32_t x80 = ((uint32_t)x78 & 0xfffff);
- uint64_t x81 = (x79 + x44);
- uint32_t x82 = (uint32_t) (x81 >> 0x13);
- uint32_t x83 = ((uint32_t)x81 & 0x7ffff);
- uint64_t x84 = (((uint64_t)0x80000 * x82) + x83);
- uint32_t x85 = (uint32_t) (x84 >> 0x13);
- uint32_t x86 = ((uint32_t)x84 & 0x7ffff);
- uint32_t x87 = ((x49 + x47) + (0x1000 * x85));
- uint32_t x88 = (x87 >> 0x14);
- uint32_t x89 = (x87 & 0xfffff);
- uint32_t x90 = (x50 + (0x3d1 * x85));
- uint32_t x91 = (x90 >> 0x14);
- uint32_t x92 = (x90 & 0xfffff);
- return (Return x86, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, Return x62, Return x59, Return x56, (x88 + x53), (x91 + x89), Return x92))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.v
deleted file mode 100644
index 3cf02f6c9..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.c b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.c
deleted file mode 100644
index f6db2564b..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void fesub(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = ((0x1ff85e + x5) - x29);
- out[1] = ((0x1fdffe + x7) - x31);
- out[2] = ((0x1ffffe + x9) - x33);
- out[3] = ((0xffffe + x11) - x35);
- out[4] = ((0x1ffffe + x13) - x37);
- out[5] = ((0x1ffffe + x15) - x39);
- out[6] = ((0xffffe + x17) - x41);
- out[7] = ((0x1ffffe + x19) - x43);
- out[8] = ((0x1ffffe + x21) - x45);
- out[9] = ((0xffffe + x23) - x47);
- out[10] = ((0x1ffffe + x25) - x49);
- out[11] = ((0x1ffffe + x27) - x51);
- out[12] = ((0xffffe + x26) - x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.v
deleted file mode 100644
index 0a59de45b..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/fesubDisplay.log b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.log
deleted file mode 100644
index f94c553fe..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- (((0xffffe + x26) - x50), ((0x1ffffe + x27) - x51), ((0x1ffffe + x25) - x49), ((0xffffe + x23) - x47), ((0x1ffffe + x21) - x45), ((0x1ffffe + x19) - x43), ((0xffffe + x17) - x41), ((0x1ffffe + x15) - x39), ((0x1ffffe + x13) - x37), ((0xffffe + x11) - x35), ((0x1ffffe + x9) - x33), ((0x1fdffe + x7) - x31), ((0x1ff85e + x5) - x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.v
deleted file mode 100644
index 2fa592842..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.c b/src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.c
deleted file mode 100644
index 3e0ce48d1..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void freeze(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffc2f);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0xfefff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0xfffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x7ffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0xfffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0xfffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x7ffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0xfffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0xfffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x7ffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0xfffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0xfffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x7ffff);
- { uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- { uint32_t x65 = (x64 & 0xffc2f);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- { uint32_t x69 = (x64 & 0xfefff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- { uint32_t x73 = (x64 & 0xfffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- { uint32_t x77 = (x64 & 0x7ffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- { uint32_t x81 = (x64 & 0xfffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- { uint32_t x85 = (x64 & 0xfffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- { uint32_t x89 = (x64 & 0x7ffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- { uint32_t x93 = (x64 & 0xfffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- { uint32_t x97 = (x64 & 0xfffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- { uint32_t x101 = (x64 & 0x7ffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- { uint32_t x105 = (x64 & 0xfffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- { uint32_t x109 = (x64 & 0xfffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- { uint32_t x113 = (x64 & 0x7ffff);
- { uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- out[0] = x67;
- out[1] = x71;
- out[2] = x75;
- out[3] = x79;
- out[4] = x83;
- out[5] = x87;
- out[6] = x91;
- out[7] = x95;
- out[8] = x99;
- out[9] = x103;
- out[10] = x107;
- out[11] = x111;
- out[12] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.v
deleted file mode 100644
index 7fe163842..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.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_2e256m2e32m977_13limbs/freezeDisplay.log b/src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.log
deleted file mode 100644
index efc340afa..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffc2f);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0xfefff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0xfffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x7ffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0xfffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0xfffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x7ffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0xfffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0xfffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x7ffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0xfffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0xfffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x7ffff);
- uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- uint32_t x65 = (x64 & 0xffc2f);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- uint32_t x69 = (x64 & 0xfefff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- uint32_t x73 = (x64 & 0xfffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- uint32_t x77 = (x64 & 0x7ffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- uint32_t x81 = (x64 & 0xfffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- uint32_t x85 = (x64 & 0xfffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- uint32_t x89 = (x64 & 0x7ffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- uint32_t x93 = (x64 & 0xfffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- uint32_t x97 = (x64 & 0xfffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- uint32_t x101 = (x64 & 0x7ffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- uint32_t x105 = (x64 & 0xfffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- uint32_t x109 = (x64 & 0xfffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- uint32_t x113 = (x64 & 0x7ffff);
- uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.v b/src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.v
deleted file mode 100644
index 9b6c0d3a4..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e256m2e32m977_13limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e256m2e32m977_13limbs/py_interpreter.sh b/src/Specific/solinas32_2e256m2e32m977_13limbs/py_interpreter.sh
deleted file mode 100755
index 91c1d1166..000000000
--- a/src/Specific/solinas32_2e256m2e32m977_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**32 - 977' -Dmodulus_bytes='19 + 9/13' -Da24='121665'
diff --git a/src/Specific/solinas32_2e266m3_10limbs/CurveParameters.v b/src/Specific/solinas32_2e266m3_10limbs/CurveParameters.v
deleted file mode 100644
index cc7d2254b..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^266 - 3
-Base: 26.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 26 + 3/5;
- bitwidth := 32;
- s := 2^266;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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_2e266m3_10limbs/Synthesis.v b/src/Specific/solinas32_2e266m3_10limbs/Synthesis.v
deleted file mode 100644
index fb1960f8a..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/compiler.sh b/src/Specific/solinas32_2e266m3_10limbs/compiler.sh
deleted file mode 100755
index 14ec7cb4e..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas32_2e266m3_10limbs/compilerxx.sh b/src/Specific/solinas32_2e266m3_10limbs/compilerxx.sh
deleted file mode 100755
index 7bb603bb8..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas32_2e266m3_10limbs/feadd.c b/src/Specific/solinas32_2e266m3_10limbs/feadd.c
deleted file mode 100644
index 57dd4e1af..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_10limbs/feadd.v b/src/Specific/solinas32_2e266m3_10limbs/feadd.v
deleted file mode 100644
index 93b331c83..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/feaddDisplay.log b/src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.log
deleted file mode 100644
index 8a4c51148..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.v b/src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.v
deleted file mode 100644
index c4caad7b5..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fecarry.v b/src/Specific/solinas32_2e266m3_10limbs/fecarry.v
deleted file mode 100644
index adab0a540..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/fecarryDisplay.v b/src/Specific/solinas32_2e266m3_10limbs/fecarryDisplay.v
deleted file mode 100644
index 1d00375aa..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e266m3_10limbs/femul.c b/src/Specific/solinas32_2e266m3_10limbs/femul.c
deleted file mode 100644
index b7f9d9745..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- { uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- { uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x3 * (0x2 * ((uint64_t)x20 * x38))));
- { uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x3 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- { uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- { uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))));
- { uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x3 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- { uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x38)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (0x2 * ((uint64_t)x20 * x31)))))))));
- { uint64_t x47 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (0x3 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- { uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x3 * ((0x2 * ((uint64_t)x9 * x38)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + (0x2 * ((uint64_t)x20 * x27)))))))))));
- { uint64_t x49 = (((uint64_t)x5 * x23) + (0x3 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x1b);
- { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x1b);
- { uint32_t x69 = ((uint32_t)x67 & 0x7ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x1b);
- { uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x51 + (0x3 * x77));
- { uint32_t x80 = (uint32_t) (x79 >> 0x1b);
- { uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- { uint32_t x82 = (x80 + x54);
- { uint32_t x83 = (x82 >> 0x1b);
- { uint32_t x84 = (x82 & 0x7ffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_10limbs/femul.v b/src/Specific/solinas32_2e266m3_10limbs/femul.v
deleted file mode 100644
index 84dc145f0..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/femulDisplay.log b/src/Specific/solinas32_2e266m3_10limbs/femulDisplay.log
deleted file mode 100644
index 2048703e9..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = (((uint64_t)x5 * x38) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + (((uint64_t)x21 * x25) + ((uint64_t)x20 * x23))))))))));
- uint64_t x41 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((0x2 * ((uint64_t)x19 * x25)) + ((uint64_t)x21 * x23))))))))) + (0x3 * (0x2 * ((uint64_t)x20 * x38))));
- uint64_t x42 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + (((uint64_t)x17 * x25) + ((uint64_t)x19 * x23)))))))) + (0x3 * (((uint64_t)x21 * x38) + ((uint64_t)x20 * x39))));
- uint64_t x43 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((0x2 * ((uint64_t)x9 * x31)) + (((uint64_t)x11 * x29) + ((0x2 * ((uint64_t)x13 * x27)) + (((uint64_t)x15 * x25) + ((uint64_t)x17 * x23))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x38)) + (((uint64_t)x21 * x39) + (0x2 * ((uint64_t)x20 * x37))))));
- uint64_t x44 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((0x2 * ((uint64_t)x13 * x25)) + ((uint64_t)x15 * x23)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x38)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (0x2 * ((uint64_t)x20 * x35)))))));
- uint64_t x45 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((0x2 * ((uint64_t)x9 * x27)) + (((uint64_t)x11 * x25) + ((uint64_t)x13 * x23))))) + (0x3 * (((uint64_t)x15 * x38) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x20 * x33)))))));
- uint64_t x46 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((0x2 * ((uint64_t)x9 * x25)) + ((uint64_t)x11 * x23)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x38)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (0x2 * ((uint64_t)x20 * x31)))))))));
- uint64_t x47 = ((((uint64_t)x5 * x27) + (((uint64_t)x7 * x25) + ((uint64_t)x9 * x23))) + (0x3 * (((uint64_t)x11 * x38) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x20 * x29)))))))));
- uint64_t x48 = ((((uint64_t)x5 * x25) + ((uint64_t)x7 * x23)) + (0x3 * ((0x2 * ((uint64_t)x9 * x38)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + (0x2 * ((uint64_t)x20 * x27)))))))))));
- uint64_t x49 = (((uint64_t)x5 * x23) + (0x3 * ((0x2 * ((uint64_t)x7 * x38)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + (0x2 * ((uint64_t)x20 * x25))))))))))));
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x1b);
- uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x1b);
- uint32_t x69 = ((uint32_t)x67 & 0x7ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x1b);
- uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x51 + (0x3 * x77));
- uint32_t x80 = (uint32_t) (x79 >> 0x1b);
- uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- uint32_t x82 = (x80 + x54);
- uint32_t x83 = (x82 >> 0x1b);
- uint32_t x84 = (x82 & 0x7ffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e266m3_10limbs/femulDisplay.v b/src/Specific/solinas32_2e266m3_10limbs/femulDisplay.v
deleted file mode 100644
index 0f5069a17..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fesquare.c b/src/Specific/solinas32_2e266m3_10limbs/fesquare.c
deleted file mode 100644
index 9bc27311c..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- { uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (0x2 * ((uint64_t)x17 * x17))));
- { uint64_t x21 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- { uint64_t x22 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- { uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))));
- { uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- { uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x17)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (0x2 * ((uint64_t)x17 * x10)))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x17)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (0x2 * ((uint64_t)x17 * x6)))))))))));
- { uint64_t x28 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- { uint64_t x29 = (x28 >> 0x1b);
- { uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- { uint64_t x31 = (x29 + x27);
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- { uint64_t x34 = (x32 + x26);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint64_t x37 = (x35 + x25);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- { uint64_t x40 = (x38 + x24);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x23);
- { uint64_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- { uint64_t x46 = (x44 + x22);
- { uint64_t x47 = (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint64_t x49 = (x47 + x21);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x20);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x53 + x19);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x30 + (0x3 * x56));
- { uint32_t x59 = (uint32_t) (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint32_t x61 = (x59 + x33);
- { uint32_t x62 = (x61 >> 0x1b);
- { uint32_t x63 = (x61 & 0x7ffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fesquare.v b/src/Specific/solinas32_2e266m3_10limbs/fesquare.v
deleted file mode 100644
index 27d4c2fec..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/fesquareDisplay.log b/src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.log
deleted file mode 100644
index 045ee5ab4..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = (((uint64_t)x2 * x17) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x17 * x2))))))))));
- uint64_t x20 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (0x2 * ((uint64_t)x17 * x17))));
- uint64_t x21 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x17) + ((uint64_t)x17 * x18))));
- uint64_t x22 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x17)) + (((uint64_t)x18 * x18) + (0x2 * ((uint64_t)x17 * x16))))));
- uint64_t x23 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x17)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (0x2 * ((uint64_t)x17 * x14)))))));
- uint64_t x24 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x17) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((uint64_t)x17 * x12)))))));
- uint64_t x25 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x17)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (0x2 * ((uint64_t)x17 * x10)))))))));
- uint64_t x26 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x17) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x17 * x8)))))))));
- uint64_t x27 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x17)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (0x2 * ((uint64_t)x17 * x6)))))))))));
- uint64_t x28 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x17)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + (0x2 * ((uint64_t)x17 * x4))))))))))));
- uint64_t x29 = (x28 >> 0x1b);
- uint32_t x30 = ((uint32_t)x28 & 0x7ffffff);
- uint64_t x31 = (x29 + x27);
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = ((uint32_t)x31 & 0x7ffffff);
- uint64_t x34 = (x32 + x26);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint64_t x37 = (x35 + x25);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = ((uint32_t)x37 & 0x7ffffff);
- uint64_t x40 = (x38 + x24);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x23);
- uint64_t x44 = (x43 >> 0x1b);
- uint32_t x45 = ((uint32_t)x43 & 0x7ffffff);
- uint64_t x46 = (x44 + x22);
- uint64_t x47 = (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint64_t x49 = (x47 + x21);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x20);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x53 + x19);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x30 + (0x3 * x56));
- uint32_t x59 = (uint32_t) (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint32_t x61 = (x59 + x33);
- uint32_t x62 = (x61 >> 0x1b);
- uint32_t x63 = (x61 & 0x7ffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.v b/src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.v
deleted file mode 100644
index 007e208bf..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fesub.c b/src/Specific/solinas32_2e266m3_10limbs/fesub.c
deleted file mode 100644
index e7e8d4bf6..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) {
- { const uint32_t x20 = 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 x38 = in2[9];
- { const uint32_t x39 = in2[8];
- { const uint32_t x37 = in2[7];
- { const uint32_t x35 = in2[6];
- { const uint32_t x33 = in2[5];
- { const uint32_t x31 = in2[4];
- { const uint32_t x29 = in2[3];
- { const uint32_t x27 = in2[2];
- { const uint32_t x25 = in2[1];
- { const uint32_t x23 = in2[0];
- out[0] = ((0xffffffa + x5) - x23);
- out[1] = ((0xffffffe + x7) - x25);
- out[2] = ((0x7fffffe + x9) - x27);
- out[3] = ((0xffffffe + x11) - x29);
- out[4] = ((0x7fffffe + x13) - x31);
- out[5] = ((0xffffffe + x15) - x33);
- out[6] = ((0xffffffe + x17) - x35);
- out[7] = ((0x7fffffe + x19) - x37);
- out[8] = ((0xffffffe + x21) - x39);
- out[9] = ((0x7fffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fesub.v b/src/Specific/solinas32_2e266m3_10limbs/fesub.v
deleted file mode 100644
index c234b6a84..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/fesubDisplay.log b/src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.log
deleted file mode 100644
index 97795c62a..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x7fffffe + x20) - x38), ((0xffffffe + x21) - x39), ((0x7fffffe + x19) - x37), ((0xffffffe + x17) - x35), ((0xffffffe + x15) - x33), ((0x7fffffe + x13) - x31), ((0xffffffe + x11) - x29), ((0x7fffffe + x9) - x27), ((0xffffffe + x7) - x25), ((0xffffffa + x5) - x23)))
-(x, x0)%core
- : 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)
diff --git a/src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.v b/src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.v
deleted file mode 100644
index 281306873..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e266m3_10limbs/freeze.c b/src/Specific/solinas32_2e266m3_10limbs/freeze.c
deleted file mode 100644
index d36996a8b..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint32_t out[10], const uint32_t in1[10]) {
- { const uint32_t x17 = 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 x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffd);
- { uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7ffffff);
- { uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffff);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3ffffff);
- { uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- { uint32_t x50 = (x49 & 0x7fffffd);
- { uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint32_t x54 = (x49 & 0x7ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint32_t x58 = (x49 & 0x3ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint32_t x62 = (x49 & 0x7ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint32_t x66 = (x49 & 0x3ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint32_t x70 = (x49 & 0x7ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint32_t x74 = (x49 & 0x7ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint32_t x78 = (x49 & 0x3ffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint32_t x82 = (x49 & 0x7ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint32_t x86 = (x49 & 0x3ffffff);
- { uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_10limbs/freeze.v b/src/Specific/solinas32_2e266m3_10limbs/freeze.v
deleted file mode 100644
index 92b3f1509..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.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_2e266m3_10limbs/freezeDisplay.log b/src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.log
deleted file mode 100644
index 0c596c6a9..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffd);
- uint32_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x21, Return x4, 0x7ffffff);
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffff);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x8, 0x7ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x12, 0x7ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x14, 0x7ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x16, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x18, 0x7ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x17, 0x3ffffff);
- uint32_t x49 = cmovznz32(x48, 0x0, 0xffffffff);
- uint32_t x50 = (x49 & 0x7fffffd);
- uint32_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint32_t x54 = (x49 & 0x7ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint32_t x58 = (x49 & 0x3ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint32_t x62 = (x49 & 0x7ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint32_t x66 = (x49 & 0x3ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint32_t x70 = (x49 & 0x7ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint32_t x74 = (x49 & 0x7ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint32_t x78 = (x49 & 0x3ffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint32_t x82 = (x49 & 0x7ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint32_t x86 = (x49 & 0x3ffffff);
- uint32_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.v b/src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.v
deleted file mode 100644
index 25fa67f2a..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e266m3_10limbs/py_interpreter.sh b/src/Specific/solinas32_2e266m3_10limbs/py_interpreter.sh
deleted file mode 100755
index 98afa0225..000000000
--- a/src/Specific/solinas32_2e266m3_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**266 - 3' -Dmodulus_bytes='26.6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e266m3_11limbs/CurveParameters.v b/src/Specific/solinas32_2e266m3_11limbs/CurveParameters.v
deleted file mode 100644
index 923b6a1d9..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^266 - 3
-Base: 24 + 2/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 24 + 2/11;
- bitwidth := 32;
- s := 2^266;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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_2e266m3_11limbs/Synthesis.v b/src/Specific/solinas32_2e266m3_11limbs/Synthesis.v
deleted file mode 100644
index 85d89535c..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/compiler.sh b/src/Specific/solinas32_2e266m3_11limbs/compiler.sh
deleted file mode 100755
index 7d3f05534..000000000
--- a/src/Specific/solinas32_2e266m3_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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,25,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas32_2e266m3_11limbs/compilerxx.sh b/src/Specific/solinas32_2e266m3_11limbs/compilerxx.sh
deleted file mode 100755
index 190a3f580..000000000
--- a/src/Specific/solinas32_2e266m3_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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,25,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas32_2e266m3_11limbs/feadd.c b/src/Specific/solinas32_2e266m3_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e266m3_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_2e266m3_11limbs/feadd.v b/src/Specific/solinas32_2e266m3_11limbs/feadd.v
deleted file mode 100644
index 7672c3bc7..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e266m3_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e266m3_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_2e266m3_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e266m3_11limbs/feaddDisplay.v
deleted file mode 100644
index 5fe9c294b..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e266m3_11limbs/fecarry.v b/src/Specific/solinas32_2e266m3_11limbs/fecarry.v
deleted file mode 100644
index 09b6a112b..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e266m3_11limbs/fecarryDisplay.v
deleted file mode 100644
index 75aae13fd..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e266m3_11limbs/femul.c b/src/Specific/solinas32_2e266m3_11limbs/femul.c
deleted file mode 100644
index adb205f40..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(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];
- { uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + ((uint64_t)x23 * x25)))))))))) + (0x3 * ((uint64_t)x22 * x42)));
- { uint64_t x46 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((uint64_t)x21 * x25))))))))) + (0x3 * (((uint64_t)x23 * x42) + ((uint64_t)x22 * x43))));
- { uint64_t x47 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((uint64_t)x19 * x25)))))))) + (0x3 * (((uint64_t)x21 * x42) + (((uint64_t)x23 * x43) + ((uint64_t)x22 * x41)))));
- { uint64_t x48 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((uint64_t)x17 * x25))))))) + (0x3 * (((uint64_t)x19 * x42) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x22 * x39))))));
- { uint64_t x49 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((uint64_t)x15 * x25)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x42)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (0x2 * ((uint64_t)x22 * x37))))))));
- { uint64_t x50 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((uint64_t)x13 * x25))))) + (0x3 * (((uint64_t)x15 * x42) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x22 * x35))))))));
- { uint64_t x51 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((uint64_t)x11 * x25)))) + (0x3 * (((uint64_t)x13 * x42) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (((uint64_t)x23 * x35) + ((uint64_t)x22 * x33)))))))));
- { uint64_t x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) + (0x3 * (((uint64_t)x11 * x42) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x22 * x31))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x3 * (((uint64_t)x9 * x42) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x22 * x29)))))))))));
- { uint64_t x54 = (((uint64_t)x5 * x25) + (0x3 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- { uint64_t x55 = (x54 >> 0x19);
- { uint32_t x56 = ((uint32_t)x54 & 0x1ffffff);
- { uint64_t x57 = (x55 + x53);
- { uint64_t x58 = (x57 >> 0x18);
- { uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- { uint64_t x60 = (x58 + x52);
- { uint64_t x61 = (x60 >> 0x18);
- { uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- { uint64_t x63 = (x61 + x51);
- { uint64_t x64 = (x63 >> 0x18);
- { uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- { uint64_t x66 = (x64 + x50);
- { uint64_t x67 = (x66 >> 0x18);
- { uint32_t x68 = ((uint32_t)x66 & 0xffffff);
- { uint64_t x69 = (x67 + x49);
- { uint64_t x70 = (x69 >> 0x19);
- { uint32_t x71 = ((uint32_t)x69 & 0x1ffffff);
- { uint64_t x72 = (x70 + x48);
- { uint64_t x73 = (x72 >> 0x18);
- { uint32_t x74 = ((uint32_t)x72 & 0xffffff);
- { uint64_t x75 = (x73 + x47);
- { uint64_t x76 = (x75 >> 0x18);
- { uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- { uint64_t x78 = (x76 + x46);
- { uint64_t x79 = (x78 >> 0x18);
- { uint32_t x80 = ((uint32_t)x78 & 0xffffff);
- { uint64_t x81 = (x79 + x45);
- { uint64_t x82 = (x81 >> 0x18);
- { uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- { uint64_t x84 = (x82 + x44);
- { uint64_t x85 = (x84 >> 0x18);
- { uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- { uint64_t x87 = (x56 + (0x3 * x85));
- { uint32_t x88 = (uint32_t) (x87 >> 0x19);
- { uint32_t x89 = ((uint32_t)x87 & 0x1ffffff);
- { uint32_t x90 = (x88 + x59);
- { uint32_t x91 = (x90 >> 0x18);
- { uint32_t x92 = (x90 & 0xffffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_11limbs/femul.v b/src/Specific/solinas32_2e266m3_11limbs/femul.v
deleted file mode 100644
index 7b35de082..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/femulDisplay.log b/src/Specific/solinas32_2e266m3_11limbs/femulDisplay.log
deleted file mode 100644
index 8dd11d0a9..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((0x2 * ((uint64_t)x21 * x27)) + ((uint64_t)x23 * x25)))))))))) + (0x3 * ((uint64_t)x22 * x42)));
- uint64_t x46 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((0x2 * ((uint64_t)x17 * x29)) + ((0x2 * ((uint64_t)x19 * x27)) + ((uint64_t)x21 * x25))))))))) + (0x3 * (((uint64_t)x23 * x42) + ((uint64_t)x22 * x43))));
- uint64_t x47 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((0x2 * ((uint64_t)x17 * x27)) + ((uint64_t)x19 * x25)))))))) + (0x3 * (((uint64_t)x21 * x42) + (((uint64_t)x23 * x43) + ((uint64_t)x22 * x41)))));
- uint64_t x48 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((uint64_t)x17 * x25))))))) + (0x3 * (((uint64_t)x19 * x42) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x22 * x39))))));
- uint64_t x49 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((0x2 * ((uint64_t)x13 * x27)) + ((uint64_t)x15 * x25)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x42)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (0x2 * ((uint64_t)x22 * x37))))))));
- uint64_t x50 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((0x2 * ((uint64_t)x11 * x27)) + ((uint64_t)x13 * x25))))) + (0x3 * (((uint64_t)x15 * x42) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x22 * x35))))))));
- uint64_t x51 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((0x2 * ((uint64_t)x9 * x27)) + ((uint64_t)x11 * x25)))) + (0x3 * (((uint64_t)x13 * x42) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + (((uint64_t)x23 * x35) + ((uint64_t)x22 * x33)))))))));
- uint64_t x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) + (0x3 * (((uint64_t)x11 * x42) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x22 * x31))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x3 * (((uint64_t)x9 * x42) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x22 * x29)))))))))));
- uint64_t x54 = (((uint64_t)x5 * x25) + (0x3 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- uint64_t x55 = (x54 >> 0x19);
- uint32_t x56 = ((uint32_t)x54 & 0x1ffffff);
- uint64_t x57 = (x55 + x53);
- uint64_t x58 = (x57 >> 0x18);
- uint32_t x59 = ((uint32_t)x57 & 0xffffff);
- uint64_t x60 = (x58 + x52);
- uint64_t x61 = (x60 >> 0x18);
- uint32_t x62 = ((uint32_t)x60 & 0xffffff);
- uint64_t x63 = (x61 + x51);
- uint64_t x64 = (x63 >> 0x18);
- uint32_t x65 = ((uint32_t)x63 & 0xffffff);
- uint64_t x66 = (x64 + x50);
- uint64_t x67 = (x66 >> 0x18);
- uint32_t x68 = ((uint32_t)x66 & 0xffffff);
- uint64_t x69 = (x67 + x49);
- uint64_t x70 = (x69 >> 0x19);
- uint32_t x71 = ((uint32_t)x69 & 0x1ffffff);
- uint64_t x72 = (x70 + x48);
- uint64_t x73 = (x72 >> 0x18);
- uint32_t x74 = ((uint32_t)x72 & 0xffffff);
- uint64_t x75 = (x73 + x47);
- uint64_t x76 = (x75 >> 0x18);
- uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- uint64_t x78 = (x76 + x46);
- uint64_t x79 = (x78 >> 0x18);
- uint32_t x80 = ((uint32_t)x78 & 0xffffff);
- uint64_t x81 = (x79 + x45);
- uint64_t x82 = (x81 >> 0x18);
- uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- uint64_t x84 = (x82 + x44);
- uint64_t x85 = (x84 >> 0x18);
- uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- uint64_t x87 = (x56 + (0x3 * x85));
- uint32_t x88 = (uint32_t) (x87 >> 0x19);
- uint32_t x89 = ((uint32_t)x87 & 0x1ffffff);
- uint32_t x90 = (x88 + x59);
- uint32_t x91 = (x90 >> 0x18);
- uint32_t x92 = (x90 & 0xffffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(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_2e266m3_11limbs/femulDisplay.v b/src/Specific/solinas32_2e266m3_11limbs/femulDisplay.v
deleted file mode 100644
index a44f2b082..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e266m3_11limbs/fesquare.c b/src/Specific/solinas32_2e266m3_11limbs/fesquare.c
deleted file mode 100644
index 4541c198b..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(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];
- { uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x3 * ((uint64_t)x19 * x19)));
- { uint64_t x23 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x19) + ((uint64_t)x19 * x20))));
- { uint64_t x24 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * (((uint64_t)x18 * x19) + (((uint64_t)x20 * x20) + ((uint64_t)x19 * x18)))));
- { uint64_t x25 = ((((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))))))) + (0x3 * (((uint64_t)x16 * x19) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x19 * x16))))));
- { uint64_t x26 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x19)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (0x2 * ((uint64_t)x19 * x14))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x19) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((uint64_t)x19 * x12))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x19) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((uint64_t)x19 * x10)))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x19) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((uint64_t)x19 * x8))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x19) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((uint64_t)x19 * x6)))))))))));
- { uint64_t x31 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- { uint64_t x32 = (x31 >> 0x19);
- { uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- { uint64_t x34 = (x32 + x30);
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x29);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x28);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x27);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x26);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x25);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x24);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x23);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x22);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x21);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x33 + (0x3 * x62));
- { uint32_t x65 = (uint32_t) (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint32_t x67 = (x65 + x36);
- { uint32_t x68 = (x67 >> 0x18);
- { uint32_t x69 = (x67 & 0xffffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_11limbs/fesquare.v b/src/Specific/solinas32_2e266m3_11limbs/fesquare.v
deleted file mode 100644
index 76530a509..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/fesquareDisplay.log b/src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.log
deleted file mode 100644
index 177226479..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- uint64_t x22 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x3 * ((uint64_t)x19 * x19)));
- uint64_t x23 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x19) + ((uint64_t)x19 * x20))));
- uint64_t x24 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * (((uint64_t)x18 * x19) + (((uint64_t)x20 * x20) + ((uint64_t)x19 * x18)))));
- uint64_t x25 = ((((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))))))) + (0x3 * (((uint64_t)x16 * x19) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x19 * x16))))));
- uint64_t x26 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x19)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (0x2 * ((uint64_t)x19 * x14))))))));
- uint64_t x27 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x19) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((uint64_t)x19 * x12))))))));
- uint64_t x28 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x19) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((uint64_t)x19 * x10)))))))));
- uint64_t x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x19) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((uint64_t)x19 * x8))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x19) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((uint64_t)x19 * x6)))))))))));
- uint64_t x31 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- uint64_t x32 = (x31 >> 0x19);
- uint32_t x33 = ((uint32_t)x31 & 0x1ffffff);
- uint64_t x34 = (x32 + x30);
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x29);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x28);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x27);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x26);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x25);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x24);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x23);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x22);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x21);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x33 + (0x3 * x62));
- uint32_t x65 = (uint32_t) (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint32_t x67 = (x65 + x36);
- uint32_t x68 = (x67 >> 0x18);
- uint32_t x69 = (x67 & 0xffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-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_2e266m3_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.v
deleted file mode 100644
index 3fe7558f8..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e266m3_11limbs/fesub.c b/src/Specific/solinas32_2e266m3_11limbs/fesub.c
deleted file mode 100644
index d750fd6c4..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(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] = ((0x3fffffa + x5) - x25);
- out[1] = ((0x1fffffe + x7) - x27);
- out[2] = ((0x1fffffe + x9) - x29);
- out[3] = ((0x1fffffe + x11) - x31);
- out[4] = ((0x1fffffe + x13) - x33);
- out[5] = ((0x3fffffe + x15) - x35);
- out[6] = ((0x1fffffe + x17) - x37);
- out[7] = ((0x1fffffe + x19) - x39);
- out[8] = ((0x1fffffe + x21) - x41);
- out[9] = ((0x1fffffe + x23) - x43);
- out[10] = ((0x1fffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_11limbs/fesub.v b/src/Specific/solinas32_2e266m3_11limbs/fesub.v
deleted file mode 100644
index 2b509090c..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/fesubDisplay.log b/src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.log
deleted file mode 100644
index 3c0a629e3..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.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,
- (((0x1fffffe + x22) - x42), ((0x1fffffe + x23) - x43), ((0x1fffffe + x21) - x41), ((0x1fffffe + x19) - x39), ((0x1fffffe + x17) - x37), ((0x3fffffe + x15) - x35), ((0x1fffffe + x13) - x33), ((0x1fffffe + x11) - x31), ((0x1fffffe + x9) - x29), ((0x1fffffe + x7) - x27), ((0x3fffffa + 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_2e266m3_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.v
deleted file mode 100644
index 40c6419e0..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e266m3_11limbs/freeze.c b/src/Specific/solinas32_2e266m3_11limbs/freeze.c
deleted file mode 100644
index c030a2c02..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0xffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0xffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x1ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0xffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0xffffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0x1fffffd);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0xffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint32_t x71 = (x54 & 0xffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint32_t x75 = (x54 & 0x1ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint32_t x79 = (x54 & 0xffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint32_t x83 = (x54 & 0xffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint32_t x87 = (x54 & 0xffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint32_t x91 = (x54 & 0xffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint32_t x95 = (x54 & 0xffffff);
- { uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e266m3_11limbs/freeze.v b/src/Specific/solinas32_2e266m3_11limbs/freeze.v
deleted file mode 100644
index a48e08cb9..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e266m3_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_2e266m3_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.log
deleted file mode 100644
index fbfc11b1c..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffd);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0xffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0xffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x1ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0xffffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0x1fffffd);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0xffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint32_t x71 = (x54 & 0xffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint32_t x75 = (x54 & 0x1ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint32_t x79 = (x54 & 0xffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint32_t x83 = (x54 & 0xffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint32_t x87 = (x54 & 0xffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint32_t x91 = (x54 & 0xffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint32_t x95 = (x54 & 0xffffff);
- uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, 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_2e266m3_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.v
deleted file mode 100644
index 504e6a5ce..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e266m3_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e266m3_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e266m3_11limbs/py_interpreter.sh
deleted file mode 100755
index 1e23dabd9..000000000
--- a/src/Specific/solinas32_2e266m3_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**266 - 3' -Dmodulus_bytes='24 + 2/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e285m9_11limbs/CurveParameters.v b/src/Specific/solinas32_2e285m9_11limbs/CurveParameters.v
deleted file mode 100644
index 294357ffb..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^285 - 9
-Base: 25 + 10/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 25 + 10/11;
- bitwidth := 32;
- s := 2^285;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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_2e285m9_11limbs/Synthesis.v b/src/Specific/solinas32_2e285m9_11limbs/Synthesis.v
deleted file mode 100644
index 41b7b0bdd..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/compiler.sh b/src/Specific/solinas32_2e285m9_11limbs/compiler.sh
deleted file mode 100755
index a45f0535d..000000000
--- a/src/Specific/solinas32_2e285m9_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas32_2e285m9_11limbs/compilerxx.sh b/src/Specific/solinas32_2e285m9_11limbs/compilerxx.sh
deleted file mode 100755
index fdd01e7e2..000000000
--- a/src/Specific/solinas32_2e285m9_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas32_2e285m9_11limbs/feadd.c b/src/Specific/solinas32_2e285m9_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e285m9_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_2e285m9_11limbs/feadd.v b/src/Specific/solinas32_2e285m9_11limbs/feadd.v
deleted file mode 100644
index 2f74f39a7..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e285m9_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e285m9_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_2e285m9_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e285m9_11limbs/feaddDisplay.v
deleted file mode 100644
index 35220de3a..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e285m9_11limbs/fecarry.v b/src/Specific/solinas32_2e285m9_11limbs/fecarry.v
deleted file mode 100644
index 4f77d33ea..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e285m9_11limbs/fecarryDisplay.v
deleted file mode 100644
index 6e1c3a2b5..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e285m9_11limbs/femul.c b/src/Specific/solinas32_2e285m9_11limbs/femul.c
deleted file mode 100644
index bc8435d1c..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(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];
- { uint64_t x44 = (((uint64_t)x5 * x42) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + (((uint64_t)x23 * x27) + ((uint64_t)x22 * x25)))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x23 * x25)))))))))) + (0x9 * (0x2 * ((uint64_t)x22 * x42))));
- { uint64_t x46 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x21 * x25))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x42)) + (0x2 * ((uint64_t)x22 * x43)))));
- { uint64_t x47 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x19 * x25)))))))) + (0x9 * ((0x2 * ((uint64_t)x21 * x42)) + ((0x2 * ((uint64_t)x23 * x43)) + (0x2 * ((uint64_t)x22 * x41))))));
- { uint64_t x48 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((uint64_t)x17 * x25))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x42)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (0x2 * ((uint64_t)x22 * x39)))))));
- { uint64_t x49 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((uint64_t)x15 * x25)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x42)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (0x2 * ((uint64_t)x22 * x37))))))));
- { uint64_t x50 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((uint64_t)x13 * x25))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x42)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + (0x2 * ((uint64_t)x22 * x35)))))))));
- { uint64_t x51 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((uint64_t)x11 * x25)))) + (0x9 * ((0x2 * ((uint64_t)x13 * x42)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + (0x2 * ((uint64_t)x22 * x33))))))))));
- { uint64_t x52 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((uint64_t)x9 * x25))) + (0x9 * ((0x2 * ((uint64_t)x11 * x42)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (0x2 * ((uint64_t)x22 * x31)))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x9 * ((0x2 * ((uint64_t)x9 * x42)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + (0x2 * ((uint64_t)x22 * x29))))))))))));
- { uint64_t x54 = (((uint64_t)x5 * x25) + (0x9 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- { uint64_t x55 = (x54 >> 0x1a);
- { uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- { uint64_t x57 = (x55 + x53);
- { uint64_t x58 = (x57 >> 0x1a);
- { uint32_t x59 = ((uint32_t)x57 & 0x3ffffff);
- { uint64_t x60 = (x58 + x52);
- { uint64_t x61 = (x60 >> 0x1a);
- { uint32_t x62 = ((uint32_t)x60 & 0x3ffffff);
- { uint64_t x63 = (x61 + x51);
- { uint64_t x64 = (x63 >> 0x1a);
- { uint32_t x65 = ((uint32_t)x63 & 0x3ffffff);
- { uint64_t x66 = (x64 + x50);
- { uint64_t x67 = (x66 >> 0x1a);
- { uint32_t x68 = ((uint32_t)x66 & 0x3ffffff);
- { uint64_t x69 = (x67 + x49);
- { uint64_t x70 = (x69 >> 0x1a);
- { uint32_t x71 = ((uint32_t)x69 & 0x3ffffff);
- { uint64_t x72 = (x70 + x48);
- { uint64_t x73 = (x72 >> 0x1a);
- { uint32_t x74 = ((uint32_t)x72 & 0x3ffffff);
- { uint64_t x75 = (x73 + x47);
- { uint64_t x76 = (x75 >> 0x1a);
- { uint32_t x77 = ((uint32_t)x75 & 0x3ffffff);
- { uint64_t x78 = (x76 + x46);
- { uint64_t x79 = (x78 >> 0x1a);
- { uint32_t x80 = ((uint32_t)x78 & 0x3ffffff);
- { uint64_t x81 = (x79 + x45);
- { uint64_t x82 = (x81 >> 0x1a);
- { uint32_t x83 = ((uint32_t)x81 & 0x3ffffff);
- { uint64_t x84 = (x82 + x44);
- { uint64_t x85 = (x84 >> 0x19);
- { uint32_t x86 = ((uint32_t)x84 & 0x1ffffff);
- { uint64_t x87 = (x56 + (0x9 * x85));
- { uint32_t x88 = (uint32_t) (x87 >> 0x1a);
- { uint32_t x89 = ((uint32_t)x87 & 0x3ffffff);
- { uint32_t x90 = (x88 + x59);
- { uint32_t x91 = (x90 >> 0x1a);
- { uint32_t x92 = (x90 & 0x3ffffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_11limbs/femul.v b/src/Specific/solinas32_2e285m9_11limbs/femul.v
deleted file mode 100644
index 48dd51577..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/femulDisplay.log b/src/Specific/solinas32_2e285m9_11limbs/femulDisplay.log
deleted file mode 100644
index 16a3015c5..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x44 = (((uint64_t)x5 * x42) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + (((uint64_t)x23 * x27) + ((uint64_t)x22 * x25)))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x23 * x25)))))))))) + (0x9 * (0x2 * ((uint64_t)x22 * x42))));
- uint64_t x46 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + (((uint64_t)x19 * x27) + ((uint64_t)x21 * x25))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x42)) + (0x2 * ((uint64_t)x22 * x43)))));
- uint64_t x47 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x19 * x25)))))))) + (0x9 * ((0x2 * ((uint64_t)x21 * x42)) + ((0x2 * ((uint64_t)x23 * x43)) + (0x2 * ((uint64_t)x22 * x41))))));
- uint64_t x48 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + (((uint64_t)x15 * x27) + ((uint64_t)x17 * x25))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x42)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (0x2 * ((uint64_t)x22 * x39)))))));
- uint64_t x49 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((uint64_t)x15 * x25)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x42)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (0x2 * ((uint64_t)x22 * x37))))))));
- uint64_t x50 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + (((uint64_t)x11 * x27) + ((uint64_t)x13 * x25))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x42)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + (0x2 * ((uint64_t)x22 * x35)))))))));
- uint64_t x51 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((uint64_t)x11 * x25)))) + (0x9 * ((0x2 * ((uint64_t)x13 * x42)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + (0x2 * ((uint64_t)x22 * x33))))))))));
- uint64_t x52 = ((((uint64_t)x5 * x29) + (((uint64_t)x7 * x27) + ((uint64_t)x9 * x25))) + (0x9 * ((0x2 * ((uint64_t)x11 * x42)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (0x2 * ((uint64_t)x22 * x31)))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) + (0x9 * ((0x2 * ((uint64_t)x9 * x42)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + (0x2 * ((uint64_t)x22 * x29))))))))))));
- uint64_t x54 = (((uint64_t)x5 * x25) + (0x9 * ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- uint64_t x55 = (x54 >> 0x1a);
- uint32_t x56 = ((uint32_t)x54 & 0x3ffffff);
- uint64_t x57 = (x55 + x53);
- uint64_t x58 = (x57 >> 0x1a);
- uint32_t x59 = ((uint32_t)x57 & 0x3ffffff);
- uint64_t x60 = (x58 + x52);
- uint64_t x61 = (x60 >> 0x1a);
- uint32_t x62 = ((uint32_t)x60 & 0x3ffffff);
- uint64_t x63 = (x61 + x51);
- uint64_t x64 = (x63 >> 0x1a);
- uint32_t x65 = ((uint32_t)x63 & 0x3ffffff);
- uint64_t x66 = (x64 + x50);
- uint64_t x67 = (x66 >> 0x1a);
- uint32_t x68 = ((uint32_t)x66 & 0x3ffffff);
- uint64_t x69 = (x67 + x49);
- uint64_t x70 = (x69 >> 0x1a);
- uint32_t x71 = ((uint32_t)x69 & 0x3ffffff);
- uint64_t x72 = (x70 + x48);
- uint64_t x73 = (x72 >> 0x1a);
- uint32_t x74 = ((uint32_t)x72 & 0x3ffffff);
- uint64_t x75 = (x73 + x47);
- uint64_t x76 = (x75 >> 0x1a);
- uint32_t x77 = ((uint32_t)x75 & 0x3ffffff);
- uint64_t x78 = (x76 + x46);
- uint64_t x79 = (x78 >> 0x1a);
- uint32_t x80 = ((uint32_t)x78 & 0x3ffffff);
- uint64_t x81 = (x79 + x45);
- uint64_t x82 = (x81 >> 0x1a);
- uint32_t x83 = ((uint32_t)x81 & 0x3ffffff);
- uint64_t x84 = (x82 + x44);
- uint64_t x85 = (x84 >> 0x19);
- uint32_t x86 = ((uint32_t)x84 & 0x1ffffff);
- uint64_t x87 = (x56 + (0x9 * x85));
- uint32_t x88 = (uint32_t) (x87 >> 0x1a);
- uint32_t x89 = ((uint32_t)x87 & 0x3ffffff);
- uint32_t x90 = (x88 + x59);
- uint32_t x91 = (x90 >> 0x1a);
- uint32_t x92 = (x90 & 0x3ffffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(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_2e285m9_11limbs/femulDisplay.v b/src/Specific/solinas32_2e285m9_11limbs/femulDisplay.v
deleted file mode 100644
index 5c98c924a..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e285m9_11limbs/fesquare.c b/src/Specific/solinas32_2e285m9_11limbs/fesquare.c
deleted file mode 100644
index 946053ad5..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(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];
- { uint64_t x21 = (((uint64_t)x2 * x19) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x19 * x2)))))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (0x2 * ((uint64_t)x19 * x19))));
- { uint64_t x23 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x19)) + (0x2 * ((uint64_t)x19 * x20)))));
- { uint64_t x24 = ((((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)))))))) + (0x9 * ((0x2 * ((uint64_t)x18 * x19)) + ((0x2 * ((uint64_t)x20 * x20)) + (0x2 * ((uint64_t)x19 * x18))))));
- { uint64_t x25 = ((((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))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x19)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (0x2 * ((uint64_t)x19 * x16)))))));
- { uint64_t x26 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x19)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (0x2 * ((uint64_t)x19 * x14))))))));
- { uint64_t x27 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x19)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (0x2 * ((uint64_t)x19 * x12)))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint64_t)x10 * x19)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (0x2 * ((uint64_t)x19 * x10))))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x19)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (0x2 * ((uint64_t)x19 * x8)))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x19)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + (0x2 * ((uint64_t)x19 * x6))))))))))));
- { uint64_t x31 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- { uint64_t x32 = (x31 >> 0x1a);
- { uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- { uint64_t x34 = (x32 + x30);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- { uint64_t x37 = (x35 + x29);
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x28);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x27);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x26);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x25);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x24);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x23);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x22);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x21);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x33 + (0x9 * x62));
- { uint32_t x65 = (uint32_t) (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint32_t x67 = (x65 + x36);
- { uint32_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = (x67 & 0x3ffffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_11limbs/fesquare.v b/src/Specific/solinas32_2e285m9_11limbs/fesquare.v
deleted file mode 100644
index 3fcd3a25e..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/fesquareDisplay.log b/src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.log
deleted file mode 100644
index bb4abd070..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x21 = (((uint64_t)x2 * x19) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x19 * x2)))))))))));
- uint64_t x22 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (0x2 * ((uint64_t)x19 * x19))));
- uint64_t x23 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x19)) + (0x2 * ((uint64_t)x19 * x20)))));
- uint64_t x24 = ((((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)))))))) + (0x9 * ((0x2 * ((uint64_t)x18 * x19)) + ((0x2 * ((uint64_t)x20 * x20)) + (0x2 * ((uint64_t)x19 * x18))))));
- uint64_t x25 = ((((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))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x19)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (0x2 * ((uint64_t)x19 * x16)))))));
- uint64_t x26 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x19)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (0x2 * ((uint64_t)x19 * x14))))))));
- uint64_t x27 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x19)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (0x2 * ((uint64_t)x19 * x12)))))))));
- uint64_t x28 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint64_t)x10 * x19)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (0x2 * ((uint64_t)x19 * x10))))))))));
- uint64_t x29 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x19)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (0x2 * ((uint64_t)x19 * x8)))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x19)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + (0x2 * ((uint64_t)x19 * x6))))))))))));
- uint64_t x31 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- uint64_t x32 = (x31 >> 0x1a);
- uint32_t x33 = ((uint32_t)x31 & 0x3ffffff);
- uint64_t x34 = (x32 + x30);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = ((uint32_t)x34 & 0x3ffffff);
- uint64_t x37 = (x35 + x29);
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x28);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x27);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x26);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x25);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x24);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x23);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x22);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x21);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x33 + (0x9 * x62));
- uint32_t x65 = (uint32_t) (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint32_t x67 = (x65 + x36);
- uint32_t x68 = (x67 >> 0x1a);
- uint32_t x69 = (x67 & 0x3ffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-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_2e285m9_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.v
deleted file mode 100644
index c5a3add1e..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e285m9_11limbs/fesub.c b/src/Specific/solinas32_2e285m9_11limbs/fesub.c
deleted file mode 100644
index 807ea8e69..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(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] = ((0x7ffffee + x5) - x25);
- out[1] = ((0x7fffffe + x7) - x27);
- out[2] = ((0x7fffffe + x9) - x29);
- out[3] = ((0x7fffffe + x11) - x31);
- out[4] = ((0x7fffffe + x13) - x33);
- out[5] = ((0x7fffffe + x15) - x35);
- out[6] = ((0x7fffffe + x17) - x37);
- out[7] = ((0x7fffffe + x19) - x39);
- out[8] = ((0x7fffffe + x21) - x41);
- out[9] = ((0x7fffffe + x23) - x43);
- out[10] = ((0x3fffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_11limbs/fesub.v b/src/Specific/solinas32_2e285m9_11limbs/fesub.v
deleted file mode 100644
index f9a29a140..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/fesubDisplay.log b/src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.log
deleted file mode 100644
index 3e919b374..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.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,
- (((0x3fffffe + x22) - x42), ((0x7fffffe + x23) - x43), ((0x7fffffe + x21) - x41), ((0x7fffffe + x19) - x39), ((0x7fffffe + x17) - x37), ((0x7fffffe + x15) - x35), ((0x7fffffe + x13) - x33), ((0x7fffffe + x11) - x31), ((0x7fffffe + x9) - x29), ((0x7fffffe + x7) - x27), ((0x7ffffee + 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_2e285m9_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.v
deleted file mode 100644
index 0a00ab15f..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e285m9_11limbs/freeze.c b/src/Specific/solinas32_2e285m9_11limbs/freeze.c
deleted file mode 100644
index 4141edb68..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff7);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x3ffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x3ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x3ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x3ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x3ffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x3ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x3ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x3ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x1ffffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0x3fffff7);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0x3ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0x3ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0x3ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint32_t x71 = (x54 & 0x3ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint32_t x75 = (x54 & 0x3ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint32_t x79 = (x54 & 0x3ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint32_t x83 = (x54 & 0x3ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint32_t x87 = (x54 & 0x3ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint32_t x91 = (x54 & 0x3ffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint32_t x95 = (x54 & 0x1ffffff);
- { uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_11limbs/freeze.v b/src/Specific/solinas32_2e285m9_11limbs/freeze.v
deleted file mode 100644
index 6d017f73b..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_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_2e285m9_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.log
deleted file mode 100644
index 58192bea0..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff7);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x3ffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x3ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x3ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x3ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x3ffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x3ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x3ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x3ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x1ffffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0x3fffff7);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0x3ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0x3ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0x3ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint32_t x71 = (x54 & 0x3ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint32_t x75 = (x54 & 0x3ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint32_t x79 = (x54 & 0x3ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint32_t x83 = (x54 & 0x3ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint32_t x87 = (x54 & 0x3ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint32_t x91 = (x54 & 0x3ffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint32_t x95 = (x54 & 0x1ffffff);
- uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, 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_2e285m9_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.v
deleted file mode 100644
index 2b580d82c..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e285m9_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e285m9_11limbs/py_interpreter.sh
deleted file mode 100755
index a68a0ab06..000000000
--- a/src/Specific/solinas32_2e285m9_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='25 + 10/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e285m9_12limbs/CurveParameters.v b/src/Specific/solinas32_2e285m9_12limbs/CurveParameters.v
deleted file mode 100644
index 9aeb0455a..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^285 - 9
-Base: 23.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 23 + 3/4;
- bitwidth := 32;
- s := 2^285;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 12); [0; 1]]%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_2e285m9_12limbs/Synthesis.v b/src/Specific/solinas32_2e285m9_12limbs/Synthesis.v
deleted file mode 100644
index 1d229e3eb..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/compiler.sh b/src/Specific/solinas32_2e285m9_12limbs/compiler.sh
deleted file mode 100755
index 9726f44ee..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas32_2e285m9_12limbs/compilerxx.sh b/src/Specific/solinas32_2e285m9_12limbs/compilerxx.sh
deleted file mode 100755
index 6c02ec958..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,24,23,24,24,24,23}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas32_2e285m9_12limbs/feadd.c b/src/Specific/solinas32_2e285m9_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_12limbs/feadd.v b/src/Specific/solinas32_2e285m9_12limbs/feadd.v
deleted file mode 100644
index 7a87d3912..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.v
deleted file mode 100644
index 7cbc58010..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fecarry.v b/src/Specific/solinas32_2e285m9_12limbs/fecarry.v
deleted file mode 100644
index 0dbbcdaa5..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e285m9_12limbs/fecarryDisplay.v
deleted file mode 100644
index e9d59ca80..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e285m9_12limbs/femul.c b/src/Specific/solinas32_2e285m9_12limbs/femul.c
deleted file mode 100644
index f8b4b9365..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/femul.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = (((uint64_t)x5 * x46) + (((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 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
- { uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x9 * (0x2 * ((uint64_t)x24 * x46))));
- { uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x9 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x9 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x46)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (0x2 * ((uint64_t)x24 * x41))))))));
- { uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x46)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (0x2 * ((uint64_t)x24 * x39)))))))));
- { uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) + (0x9 * (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) + (0x9 * ((0x2 * ((uint64_t)x11 * x46)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (0x2 * ((uint64_t)x24 * x33))))))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x9 * ((0x2 * ((uint64_t)x9 * x46)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((0x2 * ((uint64_t)x25 * x33)) + (0x2 * ((uint64_t)x24 * x31)))))))))))));
- { uint64_t x59 = (((uint64_t)x5 * x27) + (0x9 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- { uint64_t x60 = (x59 >> 0x18);
- { uint32_t x61 = ((uint32_t)x59 & 0xffffff);
- { uint64_t x62 = (x60 + x58);
- { uint64_t x63 = (x62 >> 0x18);
- { uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- { uint64_t x65 = (x63 + x57);
- { uint64_t x66 = (x65 >> 0x18);
- { uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- { uint64_t x68 = (x66 + x56);
- { uint64_t x69 = (x68 >> 0x17);
- { uint32_t x70 = ((uint32_t)x68 & 0x7fffff);
- { uint64_t x71 = (x69 + x55);
- { uint64_t x72 = (x71 >> 0x18);
- { uint32_t x73 = ((uint32_t)x71 & 0xffffff);
- { uint64_t x74 = (x72 + x54);
- { uint64_t x75 = (x74 >> 0x18);
- { uint32_t x76 = ((uint32_t)x74 & 0xffffff);
- { uint64_t x77 = (x75 + x53);
- { uint64_t x78 = (x77 >> 0x18);
- { uint32_t x79 = ((uint32_t)x77 & 0xffffff);
- { uint64_t x80 = (x78 + x52);
- { uint64_t x81 = (x80 >> 0x17);
- { uint32_t x82 = ((uint32_t)x80 & 0x7fffff);
- { uint64_t x83 = (x81 + x51);
- { uint64_t x84 = (x83 >> 0x18);
- { uint32_t x85 = ((uint32_t)x83 & 0xffffff);
- { uint64_t x86 = (x84 + x50);
- { uint64_t x87 = (x86 >> 0x18);
- { uint32_t x88 = ((uint32_t)x86 & 0xffffff);
- { uint64_t x89 = (x87 + x49);
- { uint32_t x90 = (uint32_t) (x89 >> 0x18);
- { uint32_t x91 = ((uint32_t)x89 & 0xffffff);
- { uint64_t x92 = (x90 + x48);
- { uint32_t x93 = (uint32_t) (x92 >> 0x17);
- { uint32_t x94 = ((uint32_t)x92 & 0x7fffff);
- { uint64_t x95 = (x61 + ((uint64_t)0x9 * x93));
- { uint32_t x96 = (uint32_t) (x95 >> 0x18);
- { uint32_t x97 = ((uint32_t)x95 & 0xffffff);
- { uint32_t x98 = (x96 + x64);
- { uint32_t x99 = (x98 >> 0x18);
- { uint32_t x100 = (x98 & 0xffffff);
- out[0] = x97;
- out[1] = x100;
- out[2] = (x99 + x67);
- out[3] = x70;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x85;
- out[9] = x88;
- out[10] = x91;
- out[11] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_12limbs/femul.v b/src/Specific/solinas32_2e285m9_12limbs/femul.v
deleted file mode 100644
index a9ca6eb2f..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/femulDisplay.log b/src/Specific/solinas32_2e285m9_12limbs/femulDisplay.log
deleted file mode 100644
index a60b5f0d7..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (((uint64_t)x5 * x46) + (((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 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
- uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x9 * (0x2 * ((uint64_t)x24 * x46))));
- uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x9 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x9 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x46)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (0x2 * ((uint64_t)x24 * x41))))))));
- uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x46)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (0x2 * ((uint64_t)x24 * x39)))))))));
- uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- uint64_t x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) + (0x9 * (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) + (0x9 * ((0x2 * ((uint64_t)x11 * x46)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (0x2 * ((uint64_t)x24 * x33))))))))))));
- uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x9 * ((0x2 * ((uint64_t)x9 * x46)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((0x2 * ((uint64_t)x25 * x33)) + (0x2 * ((uint64_t)x24 * x31)))))))))))));
- uint64_t x59 = (((uint64_t)x5 * x27) + (0x9 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- uint64_t x60 = (x59 >> 0x18);
- uint32_t x61 = ((uint32_t)x59 & 0xffffff);
- uint64_t x62 = (x60 + x58);
- uint64_t x63 = (x62 >> 0x18);
- uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- uint64_t x65 = (x63 + x57);
- uint64_t x66 = (x65 >> 0x18);
- uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- uint64_t x68 = (x66 + x56);
- uint64_t x69 = (x68 >> 0x17);
- uint32_t x70 = ((uint32_t)x68 & 0x7fffff);
- uint64_t x71 = (x69 + x55);
- uint64_t x72 = (x71 >> 0x18);
- uint32_t x73 = ((uint32_t)x71 & 0xffffff);
- uint64_t x74 = (x72 + x54);
- uint64_t x75 = (x74 >> 0x18);
- uint32_t x76 = ((uint32_t)x74 & 0xffffff);
- uint64_t x77 = (x75 + x53);
- uint64_t x78 = (x77 >> 0x18);
- uint32_t x79 = ((uint32_t)x77 & 0xffffff);
- uint64_t x80 = (x78 + x52);
- uint64_t x81 = (x80 >> 0x17);
- uint32_t x82 = ((uint32_t)x80 & 0x7fffff);
- uint64_t x83 = (x81 + x51);
- uint64_t x84 = (x83 >> 0x18);
- uint32_t x85 = ((uint32_t)x83 & 0xffffff);
- uint64_t x86 = (x84 + x50);
- uint64_t x87 = (x86 >> 0x18);
- uint32_t x88 = ((uint32_t)x86 & 0xffffff);
- uint64_t x89 = (x87 + x49);
- uint32_t x90 = (uint32_t) (x89 >> 0x18);
- uint32_t x91 = ((uint32_t)x89 & 0xffffff);
- uint64_t x92 = (x90 + x48);
- uint32_t x93 = (uint32_t) (x92 >> 0x17);
- uint32_t x94 = ((uint32_t)x92 & 0x7fffff);
- uint64_t x95 = (x61 + ((uint64_t)0x9 * x93));
- uint32_t x96 = (uint32_t) (x95 >> 0x18);
- uint32_t x97 = ((uint32_t)x95 & 0xffffff);
- uint32_t x98 = (x96 + x64);
- uint32_t x99 = (x98 >> 0x18);
- uint32_t x100 = (x98 & 0xffffff);
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e285m9_12limbs/femulDisplay.v b/src/Specific/solinas32_2e285m9_12limbs/femulDisplay.v
deleted file mode 100644
index 2c37f2d47..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fesquare.c b/src/Specific/solinas32_2e285m9_12limbs/fesquare.c
deleted file mode 100644
index 6c9e59538..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesquare.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x9 * (0x2 * ((uint64_t)x21 * x21))));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- { uint64_t x27 = ((((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)))))))) + (0x9 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- { uint64_t x28 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x21)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (0x2 * ((uint64_t)x21 * x16))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x21)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (0x2 * ((uint64_t)x21 * x14)))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x21) + (((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)x21 * x10))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x21)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (0x2 * ((uint64_t)x21 * x8))))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x21)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + (0x2 * ((uint64_t)x21 * x6)))))))))))));
- { uint64_t x34 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- { uint64_t x35 = (x34 >> 0x18);
- { uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x17);
- { uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x27);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x26);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x25);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x24);
- { uint32_t x65 = (uint32_t) (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x23);
- { uint32_t x68 = (uint32_t) (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x36 + ((uint64_t)0x9 * x68));
- { uint32_t x71 = (uint32_t) (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint32_t x73 = (x71 + x39);
- { uint32_t x74 = (x73 >> 0x18);
- { uint32_t x75 = (x73 & 0xffffff);
- out[0] = x72;
- out[1] = x75;
- out[2] = (x74 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- out[7] = x57;
- out[8] = x60;
- out[9] = x63;
- out[10] = x66;
- out[11] = x69;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fesquare.v b/src/Specific/solinas32_2e285m9_12limbs/fesquare.v
deleted file mode 100644
index 66063434e..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.log
deleted file mode 100644
index 29f0a72f5..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x9 * (0x2 * ((uint64_t)x21 * x21))));
- uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- uint64_t x27 = ((((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)))))))) + (0x9 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- uint64_t x28 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x21)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (0x2 * ((uint64_t)x21 * x16))))))));
- uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x21)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (0x2 * ((uint64_t)x21 * x14)))))))));
- uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- uint64_t x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x21) + (((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)x21 * x10))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x21)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (0x2 * ((uint64_t)x21 * x8))))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x21)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + (0x2 * ((uint64_t)x21 * x6)))))))))))));
- uint64_t x34 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- uint64_t x35 = (x34 >> 0x18);
- uint32_t x36 = ((uint32_t)x34 & 0xffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x17);
- uint32_t x45 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x27);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x26);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x25);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x24);
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x23);
- uint32_t x68 = (uint32_t) (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x36 + ((uint64_t)0x9 * x68));
- uint32_t x71 = (uint32_t) (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint32_t x73 = (x71 + x39);
- uint32_t x74 = (x73 >> 0x18);
- uint32_t x75 = (x73 & 0xffffff);
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.v
deleted file mode 100644
index e644c277f..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fesub.c b/src/Specific/solinas32_2e285m9_12limbs/fesub.c
deleted file mode 100644
index 1916eb3b0..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0x1ffffee + x5) - x27);
- out[1] = ((0x1fffffe + x7) - x29);
- out[2] = ((0x1fffffe + x9) - x31);
- out[3] = ((0xfffffe + x11) - x33);
- out[4] = ((0x1fffffe + x13) - x35);
- out[5] = ((0x1fffffe + x15) - x37);
- out[6] = ((0x1fffffe + x17) - x39);
- out[7] = ((0xfffffe + x19) - x41);
- out[8] = ((0x1fffffe + x21) - x43);
- out[9] = ((0x1fffffe + x23) - x45);
- out[10] = ((0x1fffffe + x25) - x47);
- out[11] = ((0xfffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fesub.v b/src/Specific/solinas32_2e285m9_12limbs/fesub.v
deleted file mode 100644
index a64cfe7e8..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.log
deleted file mode 100644
index 37fefb80a..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0xfffffe + x24) - x46), ((0x1fffffe + x25) - x47), ((0x1fffffe + x23) - x45), ((0x1fffffe + x21) - x43), ((0xfffffe + x19) - x41), ((0x1fffffe + x17) - x39), ((0x1fffffe + x15) - x37), ((0x1fffffe + x13) - x35), ((0xfffffe + x11) - x33), ((0x1fffffe + x9) - x31), ((0x1fffffe + x7) - x29), ((0x1ffffee + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.v
deleted file mode 100644
index 401256bcd..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e285m9_12limbs/freeze.c b/src/Specific/solinas32_2e285m9_12limbs/freeze.c
deleted file mode 100644
index 68ad18f61..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff7);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x7fffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0xffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x7fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0xffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x7fffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0xfffff7);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0x7fffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0xffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- { uint32_t x88 = (x59 & 0x7fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0xffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0x7fffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e285m9_12limbs/freeze.v b/src/Specific/solinas32_2e285m9_12limbs/freeze.v
deleted file mode 100644
index 01807fff9..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.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_2e285m9_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.log
deleted file mode 100644
index 214de7886..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffff7);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x7fffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0xffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x7fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0xffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x7fffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0xfffff7);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0x7fffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0xffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = (x59 & 0x7fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0xffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0x7fffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.v
deleted file mode 100644
index 322214e56..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e285m9_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e285m9_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e285m9_12limbs/py_interpreter.sh
deleted file mode 100755
index dffa82b7f..000000000
--- a/src/Specific/solinas32_2e285m9_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='23.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e291m19_11limbs/CurveParameters.v b/src/Specific/solinas32_2e291m19_11limbs/CurveParameters.v
deleted file mode 100644
index 953575a57..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^291 - 19
-Base: 26 + 5/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 26 + 5/11;
- bitwidth := 32;
- s := 2^291;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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_2e291m19_11limbs/Synthesis.v b/src/Specific/solinas32_2e291m19_11limbs/Synthesis.v
deleted file mode 100644
index 05f4d8fee..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/compiler.sh b/src/Specific/solinas32_2e291m19_11limbs/compiler.sh
deleted file mode 100755
index 8c7b7475e..000000000
--- a/src/Specific/solinas32_2e291m19_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26,27,26,26}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas32_2e291m19_11limbs/compilerxx.sh b/src/Specific/solinas32_2e291m19_11limbs/compilerxx.sh
deleted file mode 100755
index ca3ac669e..000000000
--- a/src/Specific/solinas32_2e291m19_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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,27,26,27,26,27,26,27,26,26}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas32_2e291m19_11limbs/feadd.c b/src/Specific/solinas32_2e291m19_11limbs/feadd.c
deleted file mode 100644
index 1763e8727..000000000
--- a/src/Specific/solinas32_2e291m19_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_2e291m19_11limbs/feadd.v b/src/Specific/solinas32_2e291m19_11limbs/feadd.v
deleted file mode 100644
index a4b9c68d9..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/feaddDisplay.log b/src/Specific/solinas32_2e291m19_11limbs/feaddDisplay.log
deleted file mode 100644
index 433ecbc2e..000000000
--- a/src/Specific/solinas32_2e291m19_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_2e291m19_11limbs/feaddDisplay.v b/src/Specific/solinas32_2e291m19_11limbs/feaddDisplay.v
deleted file mode 100644
index 93d3019b9..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e291m19_11limbs/fecarry.v b/src/Specific/solinas32_2e291m19_11limbs/fecarry.v
deleted file mode 100644
index d755f8509..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/fecarryDisplay.v b/src/Specific/solinas32_2e291m19_11limbs/fecarryDisplay.v
deleted file mode 100644
index ceb2bb951..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e291m19_11limbs/femul.c b/src/Specific/solinas32_2e291m19_11limbs/femul.c
deleted file mode 100644
index 67a95148b..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(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];
- { uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- { uint64_t x45 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x23 * x25)))))))))) + (0x13 * ((uint64_t)x22 * x42)));
- { uint64_t x46 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + ((uint64_t)x21 * x25))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x42)) + (0x2 * ((uint64_t)x22 * x43)))));
- { uint64_t x47 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x19 * x25)))))))) + (0x13 * (((uint64_t)x21 * x42) + ((0x2 * ((uint64_t)x23 * x43)) + ((uint64_t)x22 * x41)))));
- { uint64_t x48 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x17 * x25))))))) + (0x13 * ((0x2 * ((uint64_t)x19 * x42)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (0x2 * ((uint64_t)x22 * x39)))))));
- { uint64_t x49 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((uint64_t)x15 * x25)))))) + (0x13 * (((uint64_t)x17 * x42) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x22 * x37)))))));
- { ℤ x50 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + ((0x2 * ((uint64_t)x11 * x27)) + ((uint64_t)x13 * x25))))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x15 * x42)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + (0x2 * ((uint64_t)x22 * x35)))))))));
- { uint64_t x51 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((uint64_t)x11 * x25)))) + (0x13 * (((uint64_t)x13 * x42) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + ((uint64_t)x22 * x33)))))))));
- { ℤ x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x11 * x42)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (0x2 * ((uint64_t)x22 * x31)))))))))));
- { ℤ x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) +ℤ (0x13 *ℤ (((uint64_t)x9 * x42) + ((0x2 * ((uint64_t)x11 * x43)) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((uint64_t)x22 * x29)))))))))));
- { ℤ x54 = (((uint64_t)x5 * x25) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- { uint64_t x55 = (x54 >> 0x1b);
- { uint32_t x56 = (x54 & 0x7ffffff);
- { ℤ x57 = (x55 +ℤ x53);
- { uint64_t x58 = (x57 >> 0x1a);
- { uint32_t x59 = (x57 & 0x3ffffff);
- { ℤ x60 = (x58 +ℤ x52);
- { uint64_t x61 = (x60 >> 0x1b);
- { uint32_t x62 = (x60 & 0x7ffffff);
- { uint64_t x63 = (x61 + x51);
- { uint64_t x64 = (x63 >> 0x1a);
- { uint32_t x65 = ((uint32_t)x63 & 0x3ffffff);
- { ℤ x66 = (x64 +ℤ x50);
- { uint64_t x67 = (x66 >> 0x1b);
- { uint32_t x68 = (x66 & 0x7ffffff);
- { uint64_t x69 = (x67 + x49);
- { uint64_t x70 = (x69 >> 0x1a);
- { uint32_t x71 = ((uint32_t)x69 & 0x3ffffff);
- { uint64_t x72 = (x70 + x48);
- { uint64_t x73 = (x72 >> 0x1b);
- { uint32_t x74 = ((uint32_t)x72 & 0x7ffffff);
- { uint64_t x75 = (x73 + x47);
- { uint64_t x76 = (x75 >> 0x1a);
- { uint32_t x77 = ((uint32_t)x75 & 0x3ffffff);
- { uint64_t x78 = (x76 + x46);
- { uint64_t x79 = (x78 >> 0x1b);
- { uint32_t x80 = ((uint32_t)x78 & 0x7ffffff);
- { uint64_t x81 = (x79 + x45);
- { uint64_t x82 = (x81 >> 0x1a);
- { uint32_t x83 = ((uint32_t)x81 & 0x3ffffff);
- { uint64_t x84 = (x82 + x44);
- { uint64_t x85 = (x84 >> 0x1a);
- { uint32_t x86 = ((uint32_t)x84 & 0x3ffffff);
- { uint64_t x87 = (x56 + (0x13 * x85));
- { uint32_t x88 = (uint32_t) (x87 >> 0x1b);
- { uint32_t x89 = ((uint32_t)x87 & 0x7ffffff);
- { uint32_t x90 = (x88 + x59);
- { uint32_t x91 = (x90 >> 0x1a);
- { uint32_t x92 = (x90 & 0x3ffffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_11limbs/femul.v b/src/Specific/solinas32_2e291m19_11limbs/femul.v
deleted file mode 100644
index 1c748107c..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/femulDisplay.log b/src/Specific/solinas32_2e291m19_11limbs/femulDisplay.log
deleted file mode 100644
index 1c986d7a7..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x44 = (((uint64_t)x5 * x42) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((0x2 * ((uint64_t)x23 * x27)) + ((uint64_t)x22 * x25)))))))))));
- uint64_t x45 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + (((uint64_t)x21 * x27) + ((uint64_t)x23 * x25)))))))))) + (0x13 * ((uint64_t)x22 * x42)));
- uint64_t x46 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + (((uint64_t)x17 * x29) + ((0x2 * ((uint64_t)x19 * x27)) + ((uint64_t)x21 * x25))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x42)) + (0x2 * ((uint64_t)x22 * x43)))));
- uint64_t x47 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + (((uint64_t)x17 * x27) + ((uint64_t)x19 * x25)))))))) + (0x13 * (((uint64_t)x21 * x42) + ((0x2 * ((uint64_t)x23 * x43)) + ((uint64_t)x22 * x41)))));
- uint64_t x48 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((0x2 * ((uint64_t)x15 * x27)) + ((uint64_t)x17 * x25))))))) + (0x13 * ((0x2 * ((uint64_t)x19 * x42)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (0x2 * ((uint64_t)x22 * x39)))))));
- uint64_t x49 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + (((uint64_t)x13 * x27) + ((uint64_t)x15 * x25)))))) + (0x13 * (((uint64_t)x17 * x42) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x22 * x37)))))));
- ℤ x50 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + (((uint64_t)x9 * x29) + ((0x2 * ((uint64_t)x11 * x27)) + ((uint64_t)x13 * x25))))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x15 * x42)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + (0x2 * ((uint64_t)x22 * x35)))))))));
- uint64_t x51 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + (((uint64_t)x9 * x27) + ((uint64_t)x11 * x25)))) + (0x13 * (((uint64_t)x13 * x42) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + ((uint64_t)x22 * x33)))))))));
- ℤ x52 = ((((uint64_t)x5 * x29) + ((0x2 * ((uint64_t)x7 * x27)) + ((uint64_t)x9 * x25))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x11 * x42)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (0x2 * ((uint64_t)x22 * x31)))))))))));
- ℤ x53 = ((((uint64_t)x5 * x27) + ((uint64_t)x7 * x25)) +ℤ (0x13 *ℤ (((uint64_t)x9 * x42) + ((0x2 * ((uint64_t)x11 * x43)) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((uint64_t)x22 * x29)))))))))));
- ℤ x54 = (((uint64_t)x5 * x25) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x7 * x42)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + (0x2 * ((uint64_t)x22 * x27)))))))))))));
- uint64_t x55 = (x54 >> 0x1b);
- uint32_t x56 = (x54 & 0x7ffffff);
- ℤ x57 = (x55 +ℤ x53);
- uint64_t x58 = (x57 >> 0x1a);
- uint32_t x59 = (x57 & 0x3ffffff);
- ℤ x60 = (x58 +ℤ x52);
- uint64_t x61 = (x60 >> 0x1b);
- uint32_t x62 = (x60 & 0x7ffffff);
- uint64_t x63 = (x61 + x51);
- uint64_t x64 = (x63 >> 0x1a);
- uint32_t x65 = ((uint32_t)x63 & 0x3ffffff);
- ℤ x66 = (x64 +ℤ x50);
- uint64_t x67 = (x66 >> 0x1b);
- uint32_t x68 = (x66 & 0x7ffffff);
- uint64_t x69 = (x67 + x49);
- uint64_t x70 = (x69 >> 0x1a);
- uint32_t x71 = ((uint32_t)x69 & 0x3ffffff);
- uint64_t x72 = (x70 + x48);
- uint64_t x73 = (x72 >> 0x1b);
- uint32_t x74 = ((uint32_t)x72 & 0x7ffffff);
- uint64_t x75 = (x73 + x47);
- uint64_t x76 = (x75 >> 0x1a);
- uint32_t x77 = ((uint32_t)x75 & 0x3ffffff);
- uint64_t x78 = (x76 + x46);
- uint64_t x79 = (x78 >> 0x1b);
- uint32_t x80 = ((uint32_t)x78 & 0x7ffffff);
- uint64_t x81 = (x79 + x45);
- uint64_t x82 = (x81 >> 0x1a);
- uint32_t x83 = ((uint32_t)x81 & 0x3ffffff);
- uint64_t x84 = (x82 + x44);
- uint64_t x85 = (x84 >> 0x1a);
- uint32_t x86 = ((uint32_t)x84 & 0x3ffffff);
- uint64_t x87 = (x56 + (0x13 * x85));
- uint32_t x88 = (uint32_t) (x87 >> 0x1b);
- uint32_t x89 = ((uint32_t)x87 & 0x7ffffff);
- uint32_t x90 = (x88 + x59);
- uint32_t x91 = (x90 >> 0x1a);
- uint32_t x92 = (x90 & 0x3ffffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(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_2e291m19_11limbs/femulDisplay.v b/src/Specific/solinas32_2e291m19_11limbs/femulDisplay.v
deleted file mode 100644
index d58029bca..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e291m19_11limbs/fesquare.c b/src/Specific/solinas32_2e291m19_11limbs/fesquare.c
deleted file mode 100644
index 8c4a93c85..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(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];
- { uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- { uint64_t x22 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * ((uint64_t)x19 * x19)));
- { uint64_t x23 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x19)) + (0x2 * ((uint64_t)x19 * x20)))));
- { uint64_t x24 = ((((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)))))))) + (0x13 * (((uint64_t)x18 * x19) + ((0x2 * ((uint64_t)x20 * x20)) + ((uint64_t)x19 * x18)))));
- { uint64_t x25 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * ((0x2 * ((uint64_t)x16 * x19)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (0x2 * ((uint64_t)x19 * x16)))))));
- { uint64_t x26 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x19) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((uint64_t)x19 * x14)))))));
- { ℤ x27 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x12 * x19)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (0x2 * ((uint64_t)x19 * x12)))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x19) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((uint64_t)x19 * x10)))))))));
- { ℤ x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x8 * x19)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (0x2 * ((uint64_t)x19 * x8)))))))))));
- { ℤ x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x13 *ℤ (((uint64_t)x6 * x19) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((uint64_t)x19 * x6)))))))))));
- { ℤ x31 = (((uint64_t)x2 * x2) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- { uint64_t x32 = (x31 >> 0x1b);
- { uint32_t x33 = (x31 & 0x7ffffff);
- { ℤ x34 = (x32 +ℤ x30);
- { uint64_t x35 = (x34 >> 0x1a);
- { uint32_t x36 = (x34 & 0x3ffffff);
- { ℤ x37 = (x35 +ℤ x29);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = (x37 & 0x7ffffff);
- { uint64_t x40 = (x38 + x28);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { ℤ x43 = (x41 +ℤ x27);
- { uint64_t x44 = (x43 >> 0x1b);
- { uint32_t x45 = (x43 & 0x7ffffff);
- { uint64_t x46 = (x44 + x26);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x25);
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x24);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x23);
- { uint64_t x56 = (x55 >> 0x1b);
- { uint32_t x57 = ((uint32_t)x55 & 0x7ffffff);
- { uint64_t x58 = (x56 + x22);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x21);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x33 + (0x13 * x62));
- { uint32_t x65 = (uint32_t) (x64 >> 0x1b);
- { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- { uint32_t x67 = (x65 + x36);
- { uint32_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = (x67 & 0x3ffffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_11limbs/fesquare.v b/src/Specific/solinas32_2e291m19_11limbs/fesquare.v
deleted file mode 100644
index 85e38fecf..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/fesquareDisplay.log b/src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.log
deleted file mode 100644
index a6b916feb..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +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,
- uint64_t x21 = (((uint64_t)x2 * x19) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x19 * x2)))))))))));
- uint64_t x22 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * ((uint64_t)x19 * x19)));
- uint64_t x23 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x19)) + (0x2 * ((uint64_t)x19 * x20)))));
- uint64_t x24 = ((((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)))))))) + (0x13 * (((uint64_t)x18 * x19) + ((0x2 * ((uint64_t)x20 * x20)) + ((uint64_t)x19 * x18)))));
- uint64_t x25 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * ((0x2 * ((uint64_t)x16 * x19)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (0x2 * ((uint64_t)x19 * x16)))))));
- uint64_t x26 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x19) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((uint64_t)x19 * x14)))))));
- ℤ x27 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x12 * x19)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (0x2 * ((uint64_t)x19 * x12)))))))));
- uint64_t x28 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x19) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((uint64_t)x19 * x10)))))))));
- ℤ x29 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x8 * x19)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (0x2 * ((uint64_t)x19 * x8)))))))))));
- ℤ x30 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x13 *ℤ (((uint64_t)x6 * x19) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((uint64_t)x19 * x6)))))))))));
- ℤ x31 = (((uint64_t)x2 * x2) +ℤ (0x13 *ℤ ((0x2 * ((uint64_t)x4 * x19)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (0x2 * ((uint64_t)x19 * x4)))))))))))));
- uint64_t x32 = (x31 >> 0x1b);
- uint32_t x33 = (x31 & 0x7ffffff);
- ℤ x34 = (x32 +ℤ x30);
- uint64_t x35 = (x34 >> 0x1a);
- uint32_t x36 = (x34 & 0x3ffffff);
- ℤ x37 = (x35 +ℤ x29);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = (x37 & 0x7ffffff);
- uint64_t x40 = (x38 + x28);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- ℤ x43 = (x41 +ℤ x27);
- uint64_t x44 = (x43 >> 0x1b);
- uint32_t x45 = (x43 & 0x7ffffff);
- uint64_t x46 = (x44 + x26);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x25);
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x24);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x23);
- uint64_t x56 = (x55 >> 0x1b);
- uint32_t x57 = ((uint32_t)x55 & 0x7ffffff);
- uint64_t x58 = (x56 + x22);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x21);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x33 + (0x13 * x62));
- uint32_t x65 = (uint32_t) (x64 >> 0x1b);
- uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- uint32_t x67 = (x65 + x36);
- uint32_t x68 = (x67 >> 0x1a);
- uint32_t x69 = (x67 & 0x3ffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-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_2e291m19_11limbs/fesquareDisplay.v b/src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.v
deleted file mode 100644
index 5c968d45b..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e291m19_11limbs/fesub.c b/src/Specific/solinas32_2e291m19_11limbs/fesub.c
deleted file mode 100644
index 8f9629267..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(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] = ((0xfffffda + x5) - x25);
- out[1] = ((0x7fffffe + x7) - x27);
- out[2] = ((0xffffffe + x9) - x29);
- out[3] = ((0x7fffffe + x11) - x31);
- out[4] = ((0xffffffe + x13) - x33);
- out[5] = ((0x7fffffe + x15) - x35);
- out[6] = ((0xffffffe + x17) - x37);
- out[7] = ((0x7fffffe + x19) - x39);
- out[8] = ((0xffffffe + x21) - x41);
- out[9] = ((0x7fffffe + x23) - x43);
- out[10] = ((0x7fffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_11limbs/fesub.v b/src/Specific/solinas32_2e291m19_11limbs/fesub.v
deleted file mode 100644
index a957b1374..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/fesubDisplay.log b/src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.log
deleted file mode 100644
index 73b55bc46..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.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,
- (((0x7fffffe + x22) - x42), ((0x7fffffe + x23) - x43), ((0xffffffe + x21) - x41), ((0x7fffffe + x19) - x39), ((0xffffffe + x17) - x37), ((0x7fffffe + x15) - x35), ((0xffffffe + x13) - x33), ((0x7fffffe + x11) - x31), ((0xffffffe + x9) - x29), ((0x7fffffe + x7) - x27), ((0xfffffda + 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_2e291m19_11limbs/fesubDisplay.v b/src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.v
deleted file mode 100644
index 9b0594f00..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e291m19_11limbs/freeze.c b/src/Specific/solinas32_2e291m19_11limbs/freeze.c
deleted file mode 100644
index d9a0dfb55..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffed);
- { uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x3ffffff);
- { uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7ffffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x3ffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x7ffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x7ffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x3ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x7ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x3ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x3ffffff);
- { uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- { uint32_t x55 = (x54 & 0x7ffffed);
- { uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint32_t x59 = (x54 & 0x3ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint32_t x63 = (x54 & 0x7ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint32_t x67 = (x54 & 0x3ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint32_t x71 = (x54 & 0x7ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint32_t x75 = (x54 & 0x3ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint32_t x79 = (x54 & 0x7ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint32_t x83 = (x54 & 0x3ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint32_t x87 = (x54 & 0x7ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint32_t x91 = (x54 & 0x3ffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint32_t x95 = (x54 & 0x3ffffff);
- { uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_11limbs/freeze.v b/src/Specific/solinas32_2e291m19_11limbs/freeze.v
deleted file mode 100644
index b994819fb..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_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_2e291m19_11limbs/freezeDisplay.log b/src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.log
deleted file mode 100644
index b8a9f33c6..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +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, uint8_t x23 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffed);
- uint32_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x23, Return x4, 0x3ffffff);
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x26, Return x6, 0x7ffffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x8, 0x3ffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x10, 0x7ffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x12, 0x3ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x14, 0x7ffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x16, 0x3ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x18, 0x7ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x20, 0x3ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x19, 0x3ffffff);
- uint32_t x54 = cmovznz32(x53, 0x0, 0xffffffff);
- uint32_t x55 = (x54 & 0x7ffffed);
- uint32_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint32_t x59 = (x54 & 0x3ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint32_t x63 = (x54 & 0x7ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint32_t x67 = (x54 & 0x3ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint32_t x71 = (x54 & 0x7ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint32_t x75 = (x54 & 0x3ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint32_t x79 = (x54 & 0x7ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint32_t x83 = (x54 & 0x3ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint32_t x87 = (x54 & 0x7ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint32_t x91 = (x54 & 0x3ffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint32_t x95 = (x54 & 0x3ffffff);
- uint32_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, 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_2e291m19_11limbs/freezeDisplay.v b/src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.v
deleted file mode 100644
index 79522dfc6..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e291m19_11limbs/py_interpreter.sh b/src/Specific/solinas32_2e291m19_11limbs/py_interpreter.sh
deleted file mode 100755
index 1a6fa516f..000000000
--- a/src/Specific/solinas32_2e291m19_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**291 - 19' -Dmodulus_bytes='26 + 5/11' -Da24='121665'
diff --git a/src/Specific/solinas32_2e291m19_12limbs/CurveParameters.v b/src/Specific/solinas32_2e291m19_12limbs/CurveParameters.v
deleted file mode 100644
index e05bfb74e..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^291 - 19
-Base: 24.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 24 + 1/4;
- bitwidth := 32;
- s := 2^291;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 12); [0; 1]]%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_2e291m19_12limbs/Synthesis.v b/src/Specific/solinas32_2e291m19_12limbs/Synthesis.v
deleted file mode 100644
index 61e64bdf2..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/compiler.sh b/src/Specific/solinas32_2e291m19_12limbs/compiler.sh
deleted file mode 100755
index 210fd1c53..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas32_2e291m19_12limbs/compilerxx.sh b/src/Specific/solinas32_2e291m19_12limbs/compilerxx.sh
deleted file mode 100755
index 9133a73e8..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,25,24,24,24,25,24,24,24}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas32_2e291m19_12limbs/feadd.c b/src/Specific/solinas32_2e291m19_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_12limbs/feadd.v b/src/Specific/solinas32_2e291m19_12limbs/feadd.v
deleted file mode 100644
index 9571fd6f3..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.v
deleted file mode 100644
index c1ebb1ab8..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fecarry.v b/src/Specific/solinas32_2e291m19_12limbs/fecarry.v
deleted file mode 100644
index e858bdfcc..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e291m19_12limbs/fecarryDisplay.v
deleted file mode 100644
index e7e637f59..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e291m19_12limbs/femul.c b/src/Specific/solinas32_2e291m19_12limbs/femul.c
deleted file mode 100644
index 9fdc08fa1..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/femul.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
- { uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x13 * ((uint64_t)x24 * x46)));
- { uint64_t x50 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x13 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x19 * x27)))))))) + (0x13 * (((uint64_t)x21 * x46) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x24 * x43))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x13 * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
- { uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x13 * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
- { uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x13 * (((uint64_t)x13 * x46) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x24 * x35))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x13 * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x13 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- { uint64_t x59 = (((uint64_t)x5 * x27) + (0x13 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- { uint64_t x60 = (x59 >> 0x19);
- { uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
- { uint64_t x62 = (x60 + x58);
- { uint64_t x63 = (x62 >> 0x18);
- { uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- { uint64_t x65 = (x63 + x57);
- { uint64_t x66 = (x65 >> 0x18);
- { uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- { uint64_t x68 = (x66 + x56);
- { uint64_t x69 = (x68 >> 0x18);
- { uint32_t x70 = ((uint32_t)x68 & 0xffffff);
- { uint64_t x71 = (x69 + x55);
- { uint64_t x72 = (x71 >> 0x19);
- { uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
- { uint64_t x74 = (x72 + x54);
- { uint64_t x75 = (x74 >> 0x18);
- { uint32_t x76 = ((uint32_t)x74 & 0xffffff);
- { uint64_t x77 = (x75 + x53);
- { uint64_t x78 = (x77 >> 0x18);
- { uint32_t x79 = ((uint32_t)x77 & 0xffffff);
- { uint64_t x80 = (x78 + x52);
- { uint64_t x81 = (x80 >> 0x18);
- { uint32_t x82 = ((uint32_t)x80 & 0xffffff);
- { uint64_t x83 = (x81 + x51);
- { uint64_t x84 = (x83 >> 0x19);
- { uint32_t x85 = ((uint32_t)x83 & 0x1ffffff);
- { uint64_t x86 = (x84 + x50);
- { uint64_t x87 = (x86 >> 0x18);
- { uint32_t x88 = ((uint32_t)x86 & 0xffffff);
- { uint64_t x89 = (x87 + x49);
- { uint64_t x90 = (x89 >> 0x18);
- { uint32_t x91 = ((uint32_t)x89 & 0xffffff);
- { uint64_t x92 = (x90 + x48);
- { uint64_t x93 = (x92 >> 0x18);
- { uint32_t x94 = ((uint32_t)x92 & 0xffffff);
- { uint64_t x95 = (x61 + (0x13 * x93));
- { uint32_t x96 = (uint32_t) (x95 >> 0x19);
- { uint32_t x97 = ((uint32_t)x95 & 0x1ffffff);
- { uint32_t x98 = (x96 + x64);
- { uint32_t x99 = (x98 >> 0x18);
- { uint32_t x100 = (x98 & 0xffffff);
- out[0] = x97;
- out[1] = x100;
- out[2] = (x99 + x67);
- out[3] = x70;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x85;
- out[9] = x88;
- out[10] = x91;
- out[11] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_12limbs/femul.v b/src/Specific/solinas32_2e291m19_12limbs/femul.v
deleted file mode 100644
index 58bdf4b33..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/femulDisplay.log b/src/Specific/solinas32_2e291m19_12limbs/femulDisplay.log
deleted file mode 100644
index 1d9c944d5..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
- uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x13 * ((uint64_t)x24 * x46)));
- uint64_t x50 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x13 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x19 * x27)))))))) + (0x13 * (((uint64_t)x21 * x46) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x24 * x43))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x13 * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
- uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x13 * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
- uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x13 * (((uint64_t)x13 * x46) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x24 * x35))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x13 * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
- uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x13 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- uint64_t x59 = (((uint64_t)x5 * x27) + (0x13 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- uint64_t x60 = (x59 >> 0x19);
- uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
- uint64_t x62 = (x60 + x58);
- uint64_t x63 = (x62 >> 0x18);
- uint32_t x64 = ((uint32_t)x62 & 0xffffff);
- uint64_t x65 = (x63 + x57);
- uint64_t x66 = (x65 >> 0x18);
- uint32_t x67 = ((uint32_t)x65 & 0xffffff);
- uint64_t x68 = (x66 + x56);
- uint64_t x69 = (x68 >> 0x18);
- uint32_t x70 = ((uint32_t)x68 & 0xffffff);
- uint64_t x71 = (x69 + x55);
- uint64_t x72 = (x71 >> 0x19);
- uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
- uint64_t x74 = (x72 + x54);
- uint64_t x75 = (x74 >> 0x18);
- uint32_t x76 = ((uint32_t)x74 & 0xffffff);
- uint64_t x77 = (x75 + x53);
- uint64_t x78 = (x77 >> 0x18);
- uint32_t x79 = ((uint32_t)x77 & 0xffffff);
- uint64_t x80 = (x78 + x52);
- uint64_t x81 = (x80 >> 0x18);
- uint32_t x82 = ((uint32_t)x80 & 0xffffff);
- uint64_t x83 = (x81 + x51);
- uint64_t x84 = (x83 >> 0x19);
- uint32_t x85 = ((uint32_t)x83 & 0x1ffffff);
- uint64_t x86 = (x84 + x50);
- uint64_t x87 = (x86 >> 0x18);
- uint32_t x88 = ((uint32_t)x86 & 0xffffff);
- uint64_t x89 = (x87 + x49);
- uint64_t x90 = (x89 >> 0x18);
- uint32_t x91 = ((uint32_t)x89 & 0xffffff);
- uint64_t x92 = (x90 + x48);
- uint64_t x93 = (x92 >> 0x18);
- uint32_t x94 = ((uint32_t)x92 & 0xffffff);
- uint64_t x95 = (x61 + (0x13 * x93));
- uint32_t x96 = (uint32_t) (x95 >> 0x19);
- uint32_t x97 = ((uint32_t)x95 & 0x1ffffff);
- uint32_t x98 = (x96 + x64);
- uint32_t x99 = (x98 >> 0x18);
- uint32_t x100 = (x98 & 0xffffff);
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e291m19_12limbs/femulDisplay.v b/src/Specific/solinas32_2e291m19_12limbs/femulDisplay.v
deleted file mode 100644
index a26f81bf8..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fesquare.c b/src/Specific/solinas32_2e291m19_12limbs/fesquare.c
deleted file mode 100644
index 5cfc15536..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesquare.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * ((uint64_t)x21 * x21)));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- { uint64_t x27 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * (((uint64_t)x18 * x21) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((uint64_t)x21 * x18))))));
- { uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
- { uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x21) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((uint64_t)x21 * x10))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- { uint64_t x34 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- { uint64_t x35 = (x34 >> 0x19);
- { uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- { uint64_t x37 = (x35 + x33);
- { uint64_t x38 = (x37 >> 0x18);
- { uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x27);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x26);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x25);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x24);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x23);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x36 + (0x13 * x68));
- { uint32_t x71 = (uint32_t) (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint32_t x73 = (x71 + x39);
- { uint32_t x74 = (x73 >> 0x18);
- { uint32_t x75 = (x73 & 0xffffff);
- out[0] = x72;
- out[1] = x75;
- out[2] = (x74 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- out[7] = x57;
- out[8] = x60;
- out[9] = x63;
- out[10] = x66;
- out[11] = x69;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fesquare.v b/src/Specific/solinas32_2e291m19_12limbs/fesquare.v
deleted file mode 100644
index 10065e845..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.log
deleted file mode 100644
index 4f44c4241..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * ((uint64_t)x21 * x21)));
- uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- uint64_t x27 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * (((uint64_t)x18 * x21) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((uint64_t)x21 * x18))))));
- uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
- uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
- uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x21) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((uint64_t)x21 * x10))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- uint64_t x34 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- uint64_t x35 = (x34 >> 0x19);
- uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
- uint64_t x37 = (x35 + x33);
- uint64_t x38 = (x37 >> 0x18);
- uint32_t x39 = ((uint32_t)x37 & 0xffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x27);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x26);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x25);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x24);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x23);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x36 + (0x13 * x68));
- uint32_t x71 = (uint32_t) (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint32_t x73 = (x71 + x39);
- uint32_t x74 = (x73 >> 0x18);
- uint32_t x75 = (x73 & 0xffffff);
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.v
deleted file mode 100644
index 51f8a8221..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fesub.c b/src/Specific/solinas32_2e291m19_12limbs/fesub.c
deleted file mode 100644
index 63ebc937d..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0x3ffffda + x5) - x27);
- out[1] = ((0x1fffffe + x7) - x29);
- out[2] = ((0x1fffffe + x9) - x31);
- out[3] = ((0x1fffffe + x11) - x33);
- out[4] = ((0x3fffffe + x13) - x35);
- out[5] = ((0x1fffffe + x15) - x37);
- out[6] = ((0x1fffffe + x17) - x39);
- out[7] = ((0x1fffffe + x19) - x41);
- out[8] = ((0x3fffffe + x21) - x43);
- out[9] = ((0x1fffffe + x23) - x45);
- out[10] = ((0x1fffffe + x25) - x47);
- out[11] = ((0x1fffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fesub.v b/src/Specific/solinas32_2e291m19_12limbs/fesub.v
deleted file mode 100644
index 1edb92f95..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.log
deleted file mode 100644
index 0c37b869f..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x1fffffe + x24) - x46), ((0x1fffffe + x25) - x47), ((0x1fffffe + x23) - x45), ((0x3fffffe + x21) - x43), ((0x1fffffe + x19) - x41), ((0x1fffffe + x17) - x39), ((0x1fffffe + x15) - x37), ((0x3fffffe + x13) - x35), ((0x1fffffe + x11) - x33), ((0x1fffffe + x9) - x31), ((0x1fffffe + x7) - x29), ((0x3ffffda + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.v
deleted file mode 100644
index 667a843b2..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e291m19_12limbs/freeze.c b/src/Specific/solinas32_2e291m19_12limbs/freeze.c
deleted file mode 100644
index 37a19b100..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffed);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0xffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0xffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xffffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x1ffffed);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0xffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0x1ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- { uint32_t x88 = (x59 & 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0x1ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0xffffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e291m19_12limbs/freeze.v b/src/Specific/solinas32_2e291m19_12limbs/freeze.v
deleted file mode 100644
index 4c6da10d1..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.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_2e291m19_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.log
deleted file mode 100644
index ed2fe4cb7..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffed);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0xffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0xffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xffffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x1ffffed);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0xffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0x1ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = (x59 & 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0x1ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0xffffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.v
deleted file mode 100644
index ae6828696..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e291m19_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e291m19_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e291m19_12limbs/py_interpreter.sh
deleted file mode 100755
index 0d2f972b4..000000000
--- a/src/Specific/solinas32_2e291m19_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**291 - 19' -Dmodulus_bytes='24.25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e321m9_12limbs/CurveParameters.v b/src/Specific/solinas32_2e321m9_12limbs/CurveParameters.v
deleted file mode 100644
index 9421273b4..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^321 - 9
-Base: 26.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 26 + 3/4;
- bitwidth := 32;
- s := 2^321;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 12); [0; 1]]%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_2e321m9_12limbs/Synthesis.v b/src/Specific/solinas32_2e321m9_12limbs/Synthesis.v
deleted file mode 100644
index b8bb916cd..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/compiler.sh b/src/Specific/solinas32_2e321m9_12limbs/compiler.sh
deleted file mode 100755
index 6781620fe..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,26,27,27,27,26,27,27,27,26}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas32_2e321m9_12limbs/compilerxx.sh b/src/Specific/solinas32_2e321m9_12limbs/compilerxx.sh
deleted file mode 100755
index a04755d9f..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,26,27,27,27,26,27,27,27,26}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas32_2e321m9_12limbs/feadd.c b/src/Specific/solinas32_2e321m9_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_12limbs/feadd.v b/src/Specific/solinas32_2e321m9_12limbs/feadd.v
deleted file mode 100644
index e71676c35..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.v
deleted file mode 100644
index 24879c770..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fecarry.v b/src/Specific/solinas32_2e321m9_12limbs/fecarry.v
deleted file mode 100644
index 43da69fcf..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e321m9_12limbs/fecarryDisplay.v
deleted file mode 100644
index c328a7695..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e321m9_12limbs/femul.c b/src/Specific/solinas32_2e321m9_12limbs/femul.c
deleted file mode 100644
index 382ef7b72..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/femul.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = (((uint64_t)x5 * x46) + (((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 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
- { uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x9 * (0x2 * ((uint64_t)x24 * x46))));
- { uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x9 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x9 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x46)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (0x2 * ((uint64_t)x24 * x41))))))));
- { uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x46)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (0x2 * ((uint64_t)x24 * x39)))))))));
- { uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- { uint64_t x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) + (0x9 * (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) + (0x9 * ((0x2 * ((uint64_t)x11 * x46)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (0x2 * ((uint64_t)x24 * x33))))))))))));
- { ℤ x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x9 * x46)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((0x2 * ((uint64_t)x25 * x33)) + (0x2 * ((uint64_t)x24 * x31)))))))))))));
- { ℤ x59 = (((uint64_t)x5 * x27) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- { uint64_t x60 = (x59 >> 0x1b);
- { uint32_t x61 = (x59 & 0x7ffffff);
- { ℤ x62 = (x60 +ℤ x58);
- { uint64_t x63 = (x62 >> 0x1b);
- { uint32_t x64 = (x62 & 0x7ffffff);
- { uint64_t x65 = (x63 + x57);
- { uint64_t x66 = (x65 >> 0x1b);
- { uint32_t x67 = ((uint32_t)x65 & 0x7ffffff);
- { uint64_t x68 = (x66 + x56);
- { uint64_t x69 = (x68 >> 0x1a);
- { uint32_t x70 = ((uint32_t)x68 & 0x3ffffff);
- { uint64_t x71 = (x69 + x55);
- { uint64_t x72 = (x71 >> 0x1b);
- { uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- { uint64_t x74 = (x72 + x54);
- { uint64_t x75 = (x74 >> 0x1b);
- { uint32_t x76 = ((uint32_t)x74 & 0x7ffffff);
- { uint64_t x77 = (x75 + x53);
- { uint64_t x78 = (x77 >> 0x1b);
- { uint32_t x79 = ((uint32_t)x77 & 0x7ffffff);
- { uint64_t x80 = (x78 + x52);
- { uint64_t x81 = (x80 >> 0x1a);
- { uint32_t x82 = ((uint32_t)x80 & 0x3ffffff);
- { uint64_t x83 = (x81 + x51);
- { uint64_t x84 = (x83 >> 0x1b);
- { uint32_t x85 = ((uint32_t)x83 & 0x7ffffff);
- { uint64_t x86 = (x84 + x50);
- { uint64_t x87 = (x86 >> 0x1b);
- { uint32_t x88 = ((uint32_t)x86 & 0x7ffffff);
- { uint64_t x89 = (x87 + x49);
- { uint64_t x90 = (x89 >> 0x1b);
- { uint32_t x91 = ((uint32_t)x89 & 0x7ffffff);
- { uint64_t x92 = (x90 + x48);
- { uint64_t x93 = (x92 >> 0x1a);
- { uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- { uint64_t x95 = (x61 + (0x9 * x93));
- { uint32_t x96 = (uint32_t) (x95 >> 0x1b);
- { uint32_t x97 = ((uint32_t)x95 & 0x7ffffff);
- { uint32_t x98 = (x96 + x64);
- { uint32_t x99 = (x98 >> 0x1b);
- { uint32_t x100 = (x98 & 0x7ffffff);
- out[0] = x97;
- out[1] = x100;
- out[2] = (x99 + x67);
- out[3] = x70;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x85;
- out[9] = x88;
- out[10] = x91;
- out[11] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_12limbs/femul.v b/src/Specific/solinas32_2e321m9_12limbs/femul.v
deleted file mode 100644
index 5521bb1b6..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/femulDisplay.log b/src/Specific/solinas32_2e321m9_12limbs/femulDisplay.log
deleted file mode 100644
index d2a8abd3d..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (((uint64_t)x5 * x46) + (((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 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
- uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x9 * (0x2 * ((uint64_t)x24 * x46))));
- uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((0x2 * ((uint64_t)x17 * x33)) + ((0x2 * ((uint64_t)x19 * x31)) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x9 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x9 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x9 * ((0x2 * ((uint64_t)x19 * x46)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (0x2 * ((uint64_t)x24 * x41))))))));
- uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x46)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (0x2 * ((uint64_t)x24 * x39)))))))));
- uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
- uint64_t x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) + (0x9 * (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) + (0x9 * ((0x2 * ((uint64_t)x11 * x46)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (0x2 * ((uint64_t)x24 * x33))))))))))));
- ℤ x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x9 * x46)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((0x2 * ((uint64_t)x25 * x33)) + (0x2 * ((uint64_t)x24 * x31)))))))))))));
- ℤ x59 = (((uint64_t)x5 * x27) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
- uint64_t x60 = (x59 >> 0x1b);
- uint32_t x61 = (x59 & 0x7ffffff);
- ℤ x62 = (x60 +ℤ x58);
- uint64_t x63 = (x62 >> 0x1b);
- uint32_t x64 = (x62 & 0x7ffffff);
- uint64_t x65 = (x63 + x57);
- uint64_t x66 = (x65 >> 0x1b);
- uint32_t x67 = ((uint32_t)x65 & 0x7ffffff);
- uint64_t x68 = (x66 + x56);
- uint64_t x69 = (x68 >> 0x1a);
- uint32_t x70 = ((uint32_t)x68 & 0x3ffffff);
- uint64_t x71 = (x69 + x55);
- uint64_t x72 = (x71 >> 0x1b);
- uint32_t x73 = ((uint32_t)x71 & 0x7ffffff);
- uint64_t x74 = (x72 + x54);
- uint64_t x75 = (x74 >> 0x1b);
- uint32_t x76 = ((uint32_t)x74 & 0x7ffffff);
- uint64_t x77 = (x75 + x53);
- uint64_t x78 = (x77 >> 0x1b);
- uint32_t x79 = ((uint32_t)x77 & 0x7ffffff);
- uint64_t x80 = (x78 + x52);
- uint64_t x81 = (x80 >> 0x1a);
- uint32_t x82 = ((uint32_t)x80 & 0x3ffffff);
- uint64_t x83 = (x81 + x51);
- uint64_t x84 = (x83 >> 0x1b);
- uint32_t x85 = ((uint32_t)x83 & 0x7ffffff);
- uint64_t x86 = (x84 + x50);
- uint64_t x87 = (x86 >> 0x1b);
- uint32_t x88 = ((uint32_t)x86 & 0x7ffffff);
- uint64_t x89 = (x87 + x49);
- uint64_t x90 = (x89 >> 0x1b);
- uint32_t x91 = ((uint32_t)x89 & 0x7ffffff);
- uint64_t x92 = (x90 + x48);
- uint64_t x93 = (x92 >> 0x1a);
- uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- uint64_t x95 = (x61 + (0x9 * x93));
- uint32_t x96 = (uint32_t) (x95 >> 0x1b);
- uint32_t x97 = ((uint32_t)x95 & 0x7ffffff);
- uint32_t x98 = (x96 + x64);
- uint32_t x99 = (x98 >> 0x1b);
- uint32_t x100 = (x98 & 0x7ffffff);
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e321m9_12limbs/femulDisplay.v b/src/Specific/solinas32_2e321m9_12limbs/femulDisplay.v
deleted file mode 100644
index bb88b968c..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fesquare.c b/src/Specific/solinas32_2e321m9_12limbs/fesquare.c
deleted file mode 100644
index 3f5fe420c..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesquare.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x9 * (0x2 * ((uint64_t)x21 * x21))));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- { uint64_t x27 = ((((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)))))))) + (0x9 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- { uint64_t x28 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x21)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (0x2 * ((uint64_t)x21 * x16))))))));
- { uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x21)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (0x2 * ((uint64_t)x21 * x14)))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x21) + (((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)x21 * x10))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x21)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (0x2 * ((uint64_t)x21 * x8))))))))))));
- { ℤ x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x6 * x21)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + (0x2 * ((uint64_t)x21 * x6)))))))))))));
- { ℤ x34 = (((uint64_t)x2 * x2) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- { uint64_t x35 = (x34 >> 0x1b);
- { uint32_t x36 = (x34 & 0x7ffffff);
- { ℤ x37 = (x35 +ℤ x33);
- { uint64_t x38 = (x37 >> 0x1b);
- { uint32_t x39 = (x37 & 0x7ffffff);
- { uint64_t x40 = (x38 + x32);
- { uint64_t x41 = (x40 >> 0x1b);
- { uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- { uint64_t x43 = (x41 + x31);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x30);
- { uint64_t x47 = (x46 >> 0x1b);
- { uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- { uint64_t x49 = (x47 + x29);
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x53 + x27);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x26);
- { uint64_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint64_t x61 = (x59 + x25);
- { uint64_t x62 = (x61 >> 0x1b);
- { uint32_t x63 = ((uint32_t)x61 & 0x7ffffff);
- { uint64_t x64 = (x62 + x24);
- { uint64_t x65 = (x64 >> 0x1b);
- { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- { uint64_t x67 = (x65 + x23);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x36 + (0x9 * x68));
- { uint32_t x71 = (uint32_t) (x70 >> 0x1b);
- { uint32_t x72 = ((uint32_t)x70 & 0x7ffffff);
- { uint32_t x73 = (x71 + x39);
- { uint32_t x74 = (x73 >> 0x1b);
- { uint32_t x75 = (x73 & 0x7ffffff);
- out[0] = x72;
- out[1] = x75;
- out[2] = (x74 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- out[7] = x57;
- out[8] = x60;
- out[9] = x63;
- out[10] = x66;
- out[11] = x69;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fesquare.v b/src/Specific/solinas32_2e321m9_12limbs/fesquare.v
deleted file mode 100644
index 6cb94e185..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.log
deleted file mode 100644
index 1616acd3c..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x9 * (0x2 * ((uint64_t)x21 * x21))));
- uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
- uint64_t x27 = ((((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)))))))) + (0x9 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- uint64_t x28 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * ((0x2 * ((uint64_t)x16 * x21)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (0x2 * ((uint64_t)x21 * x16))))))));
- uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x21)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (0x2 * ((uint64_t)x21 * x14)))))))));
- uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
- uint64_t x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x21) + (((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)x21 * x10))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x21)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (0x2 * ((uint64_t)x21 * x8))))))))))));
- ℤ x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x6 * x21)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + (0x2 * ((uint64_t)x21 * x6)))))))))))));
- ℤ x34 = (((uint64_t)x2 * x2) +ℤ (0x9 *ℤ ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
- uint64_t x35 = (x34 >> 0x1b);
- uint32_t x36 = (x34 & 0x7ffffff);
- ℤ x37 = (x35 +ℤ x33);
- uint64_t x38 = (x37 >> 0x1b);
- uint32_t x39 = (x37 & 0x7ffffff);
- uint64_t x40 = (x38 + x32);
- uint64_t x41 = (x40 >> 0x1b);
- uint32_t x42 = ((uint32_t)x40 & 0x7ffffff);
- uint64_t x43 = (x41 + x31);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x30);
- uint64_t x47 = (x46 >> 0x1b);
- uint32_t x48 = ((uint32_t)x46 & 0x7ffffff);
- uint64_t x49 = (x47 + x29);
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x53 + x27);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x26);
- uint64_t x59 = (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint64_t x61 = (x59 + x25);
- uint64_t x62 = (x61 >> 0x1b);
- uint32_t x63 = ((uint32_t)x61 & 0x7ffffff);
- uint64_t x64 = (x62 + x24);
- uint64_t x65 = (x64 >> 0x1b);
- uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- uint64_t x67 = (x65 + x23);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x36 + (0x9 * x68));
- uint32_t x71 = (uint32_t) (x70 >> 0x1b);
- uint32_t x72 = ((uint32_t)x70 & 0x7ffffff);
- uint32_t x73 = (x71 + x39);
- uint32_t x74 = (x73 >> 0x1b);
- uint32_t x75 = (x73 & 0x7ffffff);
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.v
deleted file mode 100644
index 787b0dd98..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fesub.c b/src/Specific/solinas32_2e321m9_12limbs/fesub.c
deleted file mode 100644
index bcec212da..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0xfffffee + x5) - x27);
- out[1] = ((0xffffffe + x7) - x29);
- out[2] = ((0xffffffe + x9) - x31);
- out[3] = ((0x7fffffe + x11) - x33);
- out[4] = ((0xffffffe + x13) - x35);
- out[5] = ((0xffffffe + x15) - x37);
- out[6] = ((0xffffffe + x17) - x39);
- out[7] = ((0x7fffffe + x19) - x41);
- out[8] = ((0xffffffe + x21) - x43);
- out[9] = ((0xffffffe + x23) - x45);
- out[10] = ((0xffffffe + x25) - x47);
- out[11] = ((0x7fffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fesub.v b/src/Specific/solinas32_2e321m9_12limbs/fesub.v
deleted file mode 100644
index 423a26328..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.log
deleted file mode 100644
index bab733a09..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x7fffffe + x24) - x46), ((0xffffffe + x25) - x47), ((0xffffffe + x23) - x45), ((0xffffffe + x21) - x43), ((0x7fffffe + x19) - x41), ((0xffffffe + x17) - x39), ((0xffffffe + x15) - x37), ((0xffffffe + x13) - x35), ((0x7fffffe + x11) - x33), ((0xffffffe + x9) - x31), ((0xffffffe + x7) - x29), ((0xfffffee + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.v
deleted file mode 100644
index 92ade7648..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e321m9_12limbs/freeze.c b/src/Specific/solinas32_2e321m9_12limbs/freeze.c
deleted file mode 100644
index 3d85106c9..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff7);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x7ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x7ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x7ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x7ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x7ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x3ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x7ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x7ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x7ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x3ffffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x7fffff7);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0x7ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0x7ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0x3ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0x7ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0x7ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 0x7ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- { uint32_t x88 = (x59 & 0x3ffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0x7ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0x7ffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0x7ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0x3ffffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_12limbs/freeze.v b/src/Specific/solinas32_2e321m9_12limbs/freeze.v
deleted file mode 100644
index e71514d4a..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.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_2e321m9_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.log
deleted file mode 100644
index d5fcaf495..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff7);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x7ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x7ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x7ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x7ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x7ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x3ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x7ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x7ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x7ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x3ffffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x7fffff7);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0x7ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0x7ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0x3ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0x7ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0x7ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 0x7ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = (x59 & 0x3ffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0x7ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0x7ffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0x7ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0x3ffffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.v
deleted file mode 100644
index 8ec62f0fe..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e321m9_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e321m9_12limbs/py_interpreter.sh
deleted file mode 100755
index d07634498..000000000
--- a/src/Specific/solinas32_2e321m9_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**321 - 9' -Dmodulus_bytes='26.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e321m9_13limbs/CurveParameters.v b/src/Specific/solinas32_2e321m9_13limbs/CurveParameters.v
deleted file mode 100644
index 25d65653b..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^321 - 9
-Base: 24 + 9/13
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 24 + 9/13;
- bitwidth := 32;
- s := 2^321;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 13); [0; 1]]%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_2e321m9_13limbs/Synthesis.v b/src/Specific/solinas32_2e321m9_13limbs/Synthesis.v
deleted file mode 100644
index 44ef3a536..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/compiler.sh b/src/Specific/solinas32_2e321m9_13limbs/compiler.sh
deleted file mode 100755
index b9245c3e6..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas32_2e321m9_13limbs/compilerxx.sh b/src/Specific/solinas32_2e321m9_13limbs/compilerxx.sh
deleted file mode 100755
index dda3fbfcd..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas32_2e321m9_13limbs/feadd.c b/src/Specific/solinas32_2e321m9_13limbs/feadd.c
deleted file mode 100644
index dbbe1da57..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/feadd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = (x5 + x29);
- out[1] = (x7 + x31);
- out[2] = (x9 + x33);
- out[3] = (x11 + x35);
- out[4] = (x13 + x37);
- out[5] = (x15 + x39);
- out[6] = (x17 + x41);
- out[7] = (x19 + x43);
- out[8] = (x21 + x45);
- out[9] = (x23 + x47);
- out[10] = (x25 + x49);
- out[11] = (x27 + x51);
- out[12] = (x26 + x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_13limbs/feadd.v b/src/Specific/solinas32_2e321m9_13limbs/feadd.v
deleted file mode 100644
index be91c8f75..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/feaddDisplay.log b/src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.log
deleted file mode 100644
index e64abeaba..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- ((x26 + x50), (x27 + x51), (x25 + x49), (x23 + x47), (x21 + x45), (x19 + x43), (x17 + x41), (x15 + x39), (x13 + x37), (x11 + x35), (x9 + x33), (x7 + x31), (x5 + x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.v b/src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.v
deleted file mode 100644
index 9977b1abb..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fecarry.v b/src/Specific/solinas32_2e321m9_13limbs/fecarry.v
deleted file mode 100644
index 41a456e54..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/fecarryDisplay.v b/src/Specific/solinas32_2e321m9_13limbs/fecarryDisplay.v
deleted file mode 100644
index ccadceb16..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e321m9_13limbs/femul.c b/src/Specific/solinas32_2e321m9_13limbs/femul.c
deleted file mode 100644
index 667790295..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/femul.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void femul(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0x9 * (0x2 * ((uint64_t)x26 * x50))));
- { uint64_t x54 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + ((uint64_t)x25 * x29))))))))))) + (0x9 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))));
- { uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x9 * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))));
- { uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x50)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (0x2 * ((uint64_t)x26 * x47)))))));
- { uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + (0x9 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0x9 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- { uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))));
- { uint64_t x60 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((uint64_t)x13 * x29))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0x9 * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))));
- { uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x9 * ((0x2 * ((uint64_t)x11 * x50)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (0x2 * ((uint64_t)x26 * x35)))))))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x9 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- { uint64_t x64 = (((uint64_t)x5 * x29) + (0x9 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x63);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x62);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x61);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x60);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x59);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x58);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x57);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x86 + x56);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x55);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x54);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x53);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x52);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x66 + (0x9 * x101));
- { uint32_t x104 = (uint32_t) (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint32_t x106 = (x104 + x69);
- { uint32_t x107 = (x106 >> 0x19);
- { uint32_t x108 = (x106 & 0x1ffffff);
- out[0] = x105;
- out[1] = x108;
- out[2] = (x107 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- out[10] = x96;
- out[11] = x99;
- out[12] = x102;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_13limbs/femul.v b/src/Specific/solinas32_2e321m9_13limbs/femul.v
deleted file mode 100644
index fdfac7339..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/femulDisplay.log b/src/Specific/solinas32_2e321m9_13limbs/femulDisplay.log
deleted file mode 100644
index 49f9557c8..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/femulDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((0x2 * ((uint64_t)x23 * x35)) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0x9 * (0x2 * ((uint64_t)x26 * x50))));
- uint64_t x54 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + ((uint64_t)x25 * x29))))))))))) + (0x9 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))));
- uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x9 * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))));
- uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0x9 * ((0x2 * ((uint64_t)x23 * x50)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (0x2 * ((uint64_t)x26 * x47)))))));
- uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + (0x9 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))));
- uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((0x2 * ((uint64_t)x11 * x35)) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0x9 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x9 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))));
- uint64_t x60 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((uint64_t)x13 * x29))))) + (0x9 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0x9 * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))));
- uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x9 * ((0x2 * ((uint64_t)x11 * x50)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (0x2 * ((uint64_t)x26 * x35)))))))))))));
- uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x9 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- uint64_t x64 = (((uint64_t)x5 * x29) + (0x9 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x63);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x62);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x61);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x60);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x59);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x58);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x57);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x56);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x55);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x54);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x53);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x52);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x66 + (0x9 * x101));
- uint32_t x104 = (uint32_t) (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint32_t x106 = (x104 + x69);
- uint32_t x107 = (x106 >> 0x19);
- uint32_t x108 = (x106 & 0x1ffffff);
- return (Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x107 + x72), Return x108, Return x105))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e321m9_13limbs/femulDisplay.v b/src/Specific/solinas32_2e321m9_13limbs/femulDisplay.v
deleted file mode 100644
index aae72b4c5..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fesquare.c b/src/Specific/solinas32_2e321m9_13limbs/fesquare.c
deleted file mode 100644
index 1a21aba98..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesquare.c
+++ /dev/null
@@ -1,86 +0,0 @@
-static void fesquare(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x9 * (0x2 * ((uint64_t)x23 * x23))));
- { uint64_t x27 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x9 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))));
- { uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))));
- { uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x23)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (0x2 * ((uint64_t)x23 * x20)))))));
- { uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x9 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))));
- { uint64_t x31 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x23)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (0x2 * ((uint64_t)x23 * x8)))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- { uint64_t x37 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- { uint64_t x38 = (x37 >> 0x19);
- { uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- { uint64_t x40 = (x38 + x36);
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x35);
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x34);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x33);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x32);
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x31);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x30);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x29);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x28);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x27);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x26);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x25);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x39 + (0x9 * x74));
- { uint32_t x77 = (uint32_t) (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint32_t x79 = (x77 + x42);
- { uint32_t x80 = (x79 >> 0x19);
- { uint32_t x81 = (x79 & 0x1ffffff);
- out[0] = x78;
- out[1] = x81;
- out[2] = (x80 + x45);
- out[3] = x48;
- out[4] = x51;
- out[5] = x54;
- out[6] = x57;
- out[7] = x60;
- out[8] = x63;
- out[9] = x66;
- out[10] = x69;
- out[11] = x72;
- out[12] = x75;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fesquare.v b/src/Specific/solinas32_2e321m9_13limbs/fesquare.v
deleted file mode 100644
index 7f96eb812..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/fesquareDisplay.log b/src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.log
deleted file mode 100644
index 3ef05890a..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x9 * (0x2 * ((uint64_t)x23 * x23))));
- uint64_t x27 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x9 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))));
- uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))));
- uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x9 * ((0x2 * ((uint64_t)x20 * x23)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (0x2 * ((uint64_t)x23 * x20)))))));
- uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x9 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))));
- uint64_t x31 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))));
- uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * ((0x2 * ((uint64_t)x8 * x23)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (0x2 * ((uint64_t)x23 * x8)))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- uint64_t x37 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- uint64_t x38 = (x37 >> 0x19);
- uint32_t x39 = ((uint32_t)x37 & 0x1ffffff);
- uint64_t x40 = (x38 + x36);
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x35);
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x34);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x33);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x32);
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x31);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x30);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x29);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x28);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x27);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x26);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x25);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x39 + (0x9 * x74));
- uint32_t x77 = (uint32_t) (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint32_t x79 = (x77 + x42);
- uint32_t x80 = (x79 >> 0x19);
- uint32_t x81 = (x79 & 0x1ffffff);
- return (Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, (x80 + x45), Return x81, Return x78))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.v b/src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.v
deleted file mode 100644
index b743f3df7..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fesub.c b/src/Specific/solinas32_2e321m9_13limbs/fesub.c
deleted file mode 100644
index 11330feb8..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesub.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void fesub(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = ((0x3ffffee + x5) - x29);
- out[1] = ((0x3fffffe + x7) - x31);
- out[2] = ((0x3fffffe + x9) - x33);
- out[3] = ((0x1fffffe + x11) - x35);
- out[4] = ((0x3fffffe + x13) - x37);
- out[5] = ((0x3fffffe + x15) - x39);
- out[6] = ((0x1fffffe + x17) - x41);
- out[7] = ((0x3fffffe + x19) - x43);
- out[8] = ((0x3fffffe + x21) - x45);
- out[9] = ((0x1fffffe + x23) - x47);
- out[10] = ((0x3fffffe + x25) - x49);
- out[11] = ((0x3fffffe + x27) - x51);
- out[12] = ((0x1fffffe + x26) - x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fesub.v b/src/Specific/solinas32_2e321m9_13limbs/fesub.v
deleted file mode 100644
index 203e2318f..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/fesubDisplay.log b/src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.log
deleted file mode 100644
index 4c1546878..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- (((0x1fffffe + x26) - x50), ((0x3fffffe + x27) - x51), ((0x3fffffe + x25) - x49), ((0x1fffffe + x23) - x47), ((0x3fffffe + x21) - x45), ((0x3fffffe + x19) - x43), ((0x1fffffe + x17) - x41), ((0x3fffffe + x15) - x39), ((0x3fffffe + x13) - x37), ((0x1fffffe + x11) - x35), ((0x3fffffe + x9) - x33), ((0x3fffffe + x7) - x31), ((0x3ffffee + x5) - x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.v b/src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.v
deleted file mode 100644
index 913e67580..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e321m9_13limbs/freeze.c b/src/Specific/solinas32_2e321m9_13limbs/freeze.c
deleted file mode 100644
index e40424ca4..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/freeze.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void freeze(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff7);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x1ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x1ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x1ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x1ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0xffffff);
- { uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- { uint32_t x65 = (x64 & 0x1fffff7);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- { uint32_t x69 = (x64 & 0x1ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- { uint32_t x73 = (x64 & 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- { uint32_t x77 = (x64 & 0xffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- { uint32_t x81 = (x64 & 0x1ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- { uint32_t x85 = (x64 & 0x1ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- { uint32_t x89 = (x64 & 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- { uint32_t x93 = (x64 & 0x1ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- { uint32_t x97 = (x64 & 0x1ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- { uint32_t x101 = (x64 & 0xffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- { uint32_t x105 = (x64 & 0x1ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- { uint32_t x109 = (x64 & 0x1ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- { uint32_t x113 = (x64 & 0xffffff);
- { uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- out[0] = x67;
- out[1] = x71;
- out[2] = x75;
- out[3] = x79;
- out[4] = x83;
- out[5] = x87;
- out[6] = x91;
- out[7] = x95;
- out[8] = x99;
- out[9] = x103;
- out[10] = x107;
- out[11] = x111;
- out[12] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e321m9_13limbs/freeze.v b/src/Specific/solinas32_2e321m9_13limbs/freeze.v
deleted file mode 100644
index e2eac2725..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.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_2e321m9_13limbs/freezeDisplay.log b/src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.log
deleted file mode 100644
index 7588e8d55..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff7);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x1ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x1ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x1ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x1ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0xffffff);
- uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- uint32_t x65 = (x64 & 0x1fffff7);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- uint32_t x69 = (x64 & 0x1ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- uint32_t x73 = (x64 & 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- uint32_t x77 = (x64 & 0xffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- uint32_t x81 = (x64 & 0x1ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- uint32_t x85 = (x64 & 0x1ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- uint32_t x89 = (x64 & 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- uint32_t x93 = (x64 & 0x1ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- uint32_t x97 = (x64 & 0x1ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- uint32_t x101 = (x64 & 0xffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- uint32_t x105 = (x64 & 0x1ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- uint32_t x109 = (x64 & 0x1ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- uint32_t x113 = (x64 & 0xffffff);
- uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.v b/src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.v
deleted file mode 100644
index 2f9b9e068..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e321m9_13limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e321m9_13limbs/py_interpreter.sh b/src/Specific/solinas32_2e321m9_13limbs/py_interpreter.sh
deleted file mode 100755
index af5060232..000000000
--- a/src/Specific/solinas32_2e321m9_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**321 - 9' -Dmodulus_bytes='24 + 9/13' -Da24='121665'
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/CurveParameters.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/CurveParameters.v
deleted file mode 100644
index 3e63b7416..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^322 - 2^161 - 1
-Base: 26 + 5/6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 26 + 5/6;
- bitwidth := 32;
- s := 2^322;
- c := [(1, 1); (2^161, 1)];
- carry_chains := Some [[5; 11]; [6; 0; 7; 1; 8; 2; 9; 3; 10; 4; 11; 5]; [6; 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_2e322m2e161m1_12limbs/Synthesis.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/Synthesis.v
deleted file mode 100644
index c4113abe7..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/compiler.sh b/src/Specific/solinas32_2e322m2e161m1_12limbs/compiler.sh
deleted file mode 100755
index 90f9ebcd0..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,26,27,27,27,27,27,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/compilerxx.sh b/src/Specific/solinas32_2e322m2e161m1_12limbs/compilerxx.sh
deleted file mode 100755
index 8c76c4025..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,27,27,27,26,27,27,27,27,27,26}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.c b/src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.v
deleted file mode 100644
index 38da53e96..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.v
deleted file mode 100644
index 96e8095d6..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fecarry.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/fecarry.v
deleted file mode 100644
index a13a9c768..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/fecarryDisplay.v
deleted file mode 100644
index 94f2519b0..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/femul.c b/src/Specific/solinas32_2e322m2e161m1_12limbs/femul.c
deleted file mode 100644
index 842945eca..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/femul.c
+++ /dev/null
@@ -1,113 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = ((0x2 * ((uint64_t)(x15 + x24) * (x37 + x46))) - (0x2 * ((uint64_t)x15 * x37)));
- { uint64_t x49 = (((0x2 * ((uint64_t)(x13 + x25) * (x37 + x46))) + (0x2 * ((uint64_t)(x15 + x24) * (x35 + x47)))) - ((0x2 * ((uint64_t)x13 * x37)) + (0x2 * ((uint64_t)x15 * x35))));
- { uint64_t x50 = (((0x2 * ((uint64_t)(x11 + x23) * (x37 + x46))) + ((0x2 * ((uint64_t)(x13 + x25) * (x35 + x47))) + (0x2 * ((uint64_t)(x15 + x24) * (x33 + x45))))) - ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (0x2 * ((uint64_t)x15 * x33)))));
- { uint64_t x51 = (((0x2 * ((uint64_t)(x9 + x21) * (x37 + x46))) + ((0x2 * ((uint64_t)(x11 + x23) * (x35 + x47))) + ((0x2 * ((uint64_t)(x13 + x25) * (x33 + x45))) + (0x2 * ((uint64_t)(x15 + x24) * (x31 + x43)))))) - ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + (0x2 * ((uint64_t)x15 * x31))))));
- { uint64_t x52 = (((0x2 * ((uint64_t)(x7 + x19) * (x37 + x46))) + ((0x2 * ((uint64_t)(x9 + x21) * (x35 + x47))) + ((0x2 * ((uint64_t)(x11 + x23) * (x33 + x45))) + ((0x2 * ((uint64_t)(x13 + x25) * (x31 + x43))) + (0x2 * ((uint64_t)(x15 + x24) * (x29 + x41))))))) - ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + (0x2 * ((uint64_t)x15 * x29)))))));
- { uint64_t x53 = ((((uint64_t)(x5 + x17) * (x37 + x46)) + (((uint64_t)(x7 + x19) * (x35 + x47)) + (((uint64_t)(x9 + x21) * (x33 + x45)) + (((uint64_t)(x11 + x23) * (x31 + x43)) + (((uint64_t)(x13 + x25) * (x29 + x41)) + ((uint64_t)(x15 + x24) * (x27 + x39))))))) - (((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))));
- { uint64_t x54 = ((((uint64_t)(x5 + x17) * (x35 + x47)) + (((uint64_t)(x7 + x19) * (x33 + x45)) + (((uint64_t)(x9 + x21) * (x31 + x43)) + (((uint64_t)(x11 + x23) * (x29 + x41)) + ((uint64_t)(x13 + x25) * (x27 + x39)))))) - (((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))));
- { uint64_t x55 = ((((uint64_t)(x5 + x17) * (x33 + x45)) + (((uint64_t)(x7 + x19) * (x31 + x43)) + (((uint64_t)(x9 + x21) * (x29 + x41)) + ((uint64_t)(x11 + x23) * (x27 + x39))))) - (((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))));
- { uint64_t x56 = ((((uint64_t)(x5 + x17) * (x31 + x43)) + (((uint64_t)(x7 + x19) * (x29 + x41)) + ((uint64_t)(x9 + x21) * (x27 + x39)))) - (((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))));
- { uint64_t x57 = ((((uint64_t)(x5 + x17) * (x29 + x41)) + ((uint64_t)(x7 + x19) * (x27 + x39))) - (((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)));
- { uint64_t x58 = (((uint64_t)(x5 + x17) * (x27 + x39)) - ((uint64_t)x5 * x27));
- { uint64_t x59 = ((((0x2 * ((uint64_t)x15 * x37)) + (0x2 * ((uint64_t)x24 * x46))) + x54) + x48);
- { uint64_t x60 = (((((0x2 * ((uint64_t)x13 * x37)) + (0x2 * ((uint64_t)x15 * x35))) + ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))) + x55) + x49);
- { uint64_t x61 = (((((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (0x2 * ((uint64_t)x15 * x33)))) + ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))) + x56) + x50);
- { uint64_t x62 = (((((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + (0x2 * ((uint64_t)x15 * x31))))) + ((0x2 * ((uint64_t)x21 * x46)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + (0x2 * ((uint64_t)x24 * x43)))))) + x57) + x51);
- { uint64_t x63 = (((((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + (0x2 * ((uint64_t)x15 * x29)))))) + ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))) + x58) + x52);
- { uint64_t x64 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39)))))));
- { uint64_t x65 = (((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39)))))) + x48);
- { uint64_t x66 = (((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((uint64_t)x23 * x39))))) + x49);
- { uint64_t x67 = (((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39)))) + x50);
- { uint64_t x68 = (((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39))) + x51);
- { uint64_t x69 = ((((uint64_t)x5 * x27) + ((uint64_t)x17 * x39)) + x52);
- { uint64_t x70 = (x64 >> 0x1a);
- { uint32_t x71 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x72 = (x53 >> 0x1a);
- { uint32_t x73 = ((uint32_t)x53 & 0x3ffffff);
- { uint64_t x74 = ((0x4000000 * x72) + x73);
- { uint64_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = ((uint32_t)x74 & 0x3ffffff);
- { uint64_t x77 = ((x70 + x63) + x75);
- { uint64_t x78 = (x77 >> 0x1b);
- { uint32_t x79 = ((uint32_t)x77 & 0x7ffffff);
- { uint64_t x80 = (x69 + x75);
- { uint64_t x81 = (x80 >> 0x1b);
- { uint32_t x82 = ((uint32_t)x80 & 0x7ffffff);
- { uint64_t x83 = (x78 + x62);
- { uint64_t x84 = (x83 >> 0x1b);
- { uint32_t x85 = ((uint32_t)x83 & 0x7ffffff);
- { uint64_t x86 = (x81 + x68);
- { uint64_t x87 = (x86 >> 0x1b);
- { uint32_t x88 = ((uint32_t)x86 & 0x7ffffff);
- { uint64_t x89 = (x84 + x61);
- { uint64_t x90 = (x89 >> 0x1b);
- { uint32_t x91 = ((uint32_t)x89 & 0x7ffffff);
- { uint64_t x92 = (x87 + x67);
- { uint64_t x93 = (x92 >> 0x1b);
- { uint32_t x94 = ((uint32_t)x92 & 0x7ffffff);
- { uint64_t x95 = (x90 + x60);
- { uint64_t x96 = (x95 >> 0x1b);
- { uint32_t x97 = ((uint32_t)x95 & 0x7ffffff);
- { uint64_t x98 = (x93 + x66);
- { uint64_t x99 = (x98 >> 0x1b);
- { uint32_t x100 = ((uint32_t)x98 & 0x7ffffff);
- { uint64_t x101 = (x96 + x59);
- { uint64_t x102 = (x101 >> 0x1b);
- { uint32_t x103 = ((uint32_t)x101 & 0x7ffffff);
- { uint64_t x104 = (x99 + x65);
- { uint64_t x105 = (x104 >> 0x1b);
- { uint32_t x106 = ((uint32_t)x104 & 0x7ffffff);
- { uint64_t x107 = (x102 + x76);
- { uint32_t x108 = (uint32_t) (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x105 + x71);
- { uint32_t x111 = (uint32_t) (x110 >> 0x1a);
- { uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- { uint64_t x113 = (((uint64_t)0x4000000 * x108) + x109);
- { uint32_t x114 = (uint32_t) (x113 >> 0x1a);
- { uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- { uint32_t x116 = ((x111 + x79) + x114);
- { uint32_t x117 = (x116 >> 0x1b);
- { uint32_t x118 = (x116 & 0x7ffffff);
- { uint32_t x119 = (x82 + x114);
- { uint32_t x120 = (x119 >> 0x1b);
- { uint32_t x121 = (x119 & 0x7ffffff);
- out[0] = x121;
- out[1] = (x120 + x88);
- out[2] = x94;
- out[3] = x100;
- out[4] = x106;
- out[5] = x112;
- out[6] = x118;
- out[7] = (x117 + x85);
- out[8] = x91;
- out[9] = x97;
- out[10] = x103;
- out[11] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/femul.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/femul.v
deleted file mode 100644
index 727d23158..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/femulDisplay.log b/src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.log
deleted file mode 100644
index 19439716d..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,81 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = ((0x2 * ((uint64_t)(x15 + x24) * (x37 + x46))) - (0x2 * ((uint64_t)x15 * x37)));
- uint64_t x49 = (((0x2 * ((uint64_t)(x13 + x25) * (x37 + x46))) + (0x2 * ((uint64_t)(x15 + x24) * (x35 + x47)))) - ((0x2 * ((uint64_t)x13 * x37)) + (0x2 * ((uint64_t)x15 * x35))));
- uint64_t x50 = (((0x2 * ((uint64_t)(x11 + x23) * (x37 + x46))) + ((0x2 * ((uint64_t)(x13 + x25) * (x35 + x47))) + (0x2 * ((uint64_t)(x15 + x24) * (x33 + x45))))) - ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (0x2 * ((uint64_t)x15 * x33)))));
- uint64_t x51 = (((0x2 * ((uint64_t)(x9 + x21) * (x37 + x46))) + ((0x2 * ((uint64_t)(x11 + x23) * (x35 + x47))) + ((0x2 * ((uint64_t)(x13 + x25) * (x33 + x45))) + (0x2 * ((uint64_t)(x15 + x24) * (x31 + x43)))))) - ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + (0x2 * ((uint64_t)x15 * x31))))));
- uint64_t x52 = (((0x2 * ((uint64_t)(x7 + x19) * (x37 + x46))) + ((0x2 * ((uint64_t)(x9 + x21) * (x35 + x47))) + ((0x2 * ((uint64_t)(x11 + x23) * (x33 + x45))) + ((0x2 * ((uint64_t)(x13 + x25) * (x31 + x43))) + (0x2 * ((uint64_t)(x15 + x24) * (x29 + x41))))))) - ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + (0x2 * ((uint64_t)x15 * x29)))))));
- uint64_t x53 = ((((uint64_t)(x5 + x17) * (x37 + x46)) + (((uint64_t)(x7 + x19) * (x35 + x47)) + (((uint64_t)(x9 + x21) * (x33 + x45)) + (((uint64_t)(x11 + x23) * (x31 + x43)) + (((uint64_t)(x13 + x25) * (x29 + x41)) + ((uint64_t)(x15 + x24) * (x27 + x39))))))) - (((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))));
- uint64_t x54 = ((((uint64_t)(x5 + x17) * (x35 + x47)) + (((uint64_t)(x7 + x19) * (x33 + x45)) + (((uint64_t)(x9 + x21) * (x31 + x43)) + (((uint64_t)(x11 + x23) * (x29 + x41)) + ((uint64_t)(x13 + x25) * (x27 + x39)))))) - (((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))));
- uint64_t x55 = ((((uint64_t)(x5 + x17) * (x33 + x45)) + (((uint64_t)(x7 + x19) * (x31 + x43)) + (((uint64_t)(x9 + x21) * (x29 + x41)) + ((uint64_t)(x11 + x23) * (x27 + x39))))) - (((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))));
- uint64_t x56 = ((((uint64_t)(x5 + x17) * (x31 + x43)) + (((uint64_t)(x7 + x19) * (x29 + x41)) + ((uint64_t)(x9 + x21) * (x27 + x39)))) - (((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))));
- uint64_t x57 = ((((uint64_t)(x5 + x17) * (x29 + x41)) + ((uint64_t)(x7 + x19) * (x27 + x39))) - (((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)));
- uint64_t x58 = (((uint64_t)(x5 + x17) * (x27 + x39)) - ((uint64_t)x5 * x27));
- uint64_t x59 = ((((0x2 * ((uint64_t)x15 * x37)) + (0x2 * ((uint64_t)x24 * x46))) + x54) + x48);
- uint64_t x60 = (((((0x2 * ((uint64_t)x13 * x37)) + (0x2 * ((uint64_t)x15 * x35))) + ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))) + x55) + x49);
- uint64_t x61 = (((((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + (0x2 * ((uint64_t)x15 * x33)))) + ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))) + x56) + x50);
- uint64_t x62 = (((((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + (0x2 * ((uint64_t)x15 * x31))))) + ((0x2 * ((uint64_t)x21 * x46)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + (0x2 * ((uint64_t)x24 * x43)))))) + x57) + x51);
- uint64_t x63 = (((((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + (0x2 * ((uint64_t)x15 * x29)))))) + ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))) + x58) + x52);
- uint64_t x64 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39)))))));
- uint64_t x65 = (((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39)))))) + x48);
- uint64_t x66 = (((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((uint64_t)x23 * x39))))) + x49);
- uint64_t x67 = (((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39)))) + x50);
- uint64_t x68 = (((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39))) + x51);
- uint64_t x69 = ((((uint64_t)x5 * x27) + ((uint64_t)x17 * x39)) + x52);
- uint64_t x70 = (x64 >> 0x1a);
- uint32_t x71 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x72 = (x53 >> 0x1a);
- uint32_t x73 = ((uint32_t)x53 & 0x3ffffff);
- uint64_t x74 = ((0x4000000 * x72) + x73);
- uint64_t x75 = (x74 >> 0x1a);
- uint32_t x76 = ((uint32_t)x74 & 0x3ffffff);
- uint64_t x77 = ((x70 + x63) + x75);
- uint64_t x78 = (x77 >> 0x1b);
- uint32_t x79 = ((uint32_t)x77 & 0x7ffffff);
- uint64_t x80 = (x69 + x75);
- uint64_t x81 = (x80 >> 0x1b);
- uint32_t x82 = ((uint32_t)x80 & 0x7ffffff);
- uint64_t x83 = (x78 + x62);
- uint64_t x84 = (x83 >> 0x1b);
- uint32_t x85 = ((uint32_t)x83 & 0x7ffffff);
- uint64_t x86 = (x81 + x68);
- uint64_t x87 = (x86 >> 0x1b);
- uint32_t x88 = ((uint32_t)x86 & 0x7ffffff);
- uint64_t x89 = (x84 + x61);
- uint64_t x90 = (x89 >> 0x1b);
- uint32_t x91 = ((uint32_t)x89 & 0x7ffffff);
- uint64_t x92 = (x87 + x67);
- uint64_t x93 = (x92 >> 0x1b);
- uint32_t x94 = ((uint32_t)x92 & 0x7ffffff);
- uint64_t x95 = (x90 + x60);
- uint64_t x96 = (x95 >> 0x1b);
- uint32_t x97 = ((uint32_t)x95 & 0x7ffffff);
- uint64_t x98 = (x93 + x66);
- uint64_t x99 = (x98 >> 0x1b);
- uint32_t x100 = ((uint32_t)x98 & 0x7ffffff);
- uint64_t x101 = (x96 + x59);
- uint64_t x102 = (x101 >> 0x1b);
- uint32_t x103 = ((uint32_t)x101 & 0x7ffffff);
- uint64_t x104 = (x99 + x65);
- uint64_t x105 = (x104 >> 0x1b);
- uint32_t x106 = ((uint32_t)x104 & 0x7ffffff);
- uint64_t x107 = (x102 + x76);
- uint32_t x108 = (uint32_t) (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x105 + x71);
- uint32_t x111 = (uint32_t) (x110 >> 0x1a);
- uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- uint64_t x113 = (((uint64_t)0x4000000 * x108) + x109);
- uint32_t x114 = (uint32_t) (x113 >> 0x1a);
- uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- uint32_t x116 = ((x111 + x79) + x114);
- uint32_t x117 = (x116 >> 0x1b);
- uint32_t x118 = (x116 & 0x7ffffff);
- uint32_t x119 = (x82 + x114);
- uint32_t x120 = (x119 >> 0x1b);
- uint32_t x121 = (x119 & 0x7ffffff);
- return (Return x115, Return x103, Return x97, Return x91, (x117 + x85), Return x118, Return x112, Return x106, Return x100, Return x94, (x120 + x88), Return x121))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.v
deleted file mode 100644
index 2072b2fd1..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.c b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.c
deleted file mode 100644
index 239276ce9..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.c
+++ /dev/null
@@ -1,101 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = ((0x2 * ((uint64_t)(x12 + x21) * (x12 + x21))) - (0x2 * ((uint64_t)x12 * x12)));
- { uint64_t x24 = (((0x2 * ((uint64_t)(x10 + x22) * (x12 + x21))) + (0x2 * ((uint64_t)(x12 + x21) * (x10 + x22)))) - ((0x2 * ((uint64_t)x10 * x12)) + (0x2 * ((uint64_t)x12 * x10))));
- { uint64_t x25 = (((0x2 * ((uint64_t)(x8 + x20) * (x12 + x21))) + ((0x2 * ((uint64_t)(x10 + x22) * (x10 + x22))) + (0x2 * ((uint64_t)(x12 + x21) * (x8 + x20))))) - ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x12 * x8)))));
- { uint64_t x26 = (((0x2 * ((uint64_t)(x6 + x18) * (x12 + x21))) + ((0x2 * ((uint64_t)(x8 + x20) * (x10 + x22))) + ((0x2 * ((uint64_t)(x10 + x22) * (x8 + x20))) + (0x2 * ((uint64_t)(x12 + x21) * (x6 + x18)))))) - ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (0x2 * ((uint64_t)x12 * x6))))));
- { uint64_t x27 = (((0x2 * ((uint64_t)(x4 + x16) * (x12 + x21))) + ((0x2 * ((uint64_t)(x6 + x18) * (x10 + x22))) + ((0x2 * ((uint64_t)(x8 + x20) * (x8 + x20))) + ((0x2 * ((uint64_t)(x10 + x22) * (x6 + x18))) + (0x2 * ((uint64_t)(x12 + x21) * (x4 + x16))))))) - ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x12 * x4)))))));
- { uint64_t x28 = ((((uint64_t)(x2 + x14) * (x12 + x21)) + (((uint64_t)(x4 + x16) * (x10 + x22)) + (((uint64_t)(x6 + x18) * (x8 + x20)) + (((uint64_t)(x8 + x20) * (x6 + x18)) + (((uint64_t)(x10 + x22) * (x4 + x16)) + ((uint64_t)(x12 + x21) * (x2 + x14))))))) - (((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 x29 = ((((uint64_t)(x2 + x14) * (x10 + x22)) + (((uint64_t)(x4 + x16) * (x8 + x20)) + (((uint64_t)(x6 + x18) * (x6 + x18)) + (((uint64_t)(x8 + x20) * (x4 + x16)) + ((uint64_t)(x10 + x22) * (x2 + x14)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x30 = ((((uint64_t)(x2 + x14) * (x8 + x20)) + (((uint64_t)(x4 + x16) * (x6 + x18)) + (((uint64_t)(x6 + x18) * (x4 + x16)) + ((uint64_t)(x8 + x20) * (x2 + x14))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x31 = ((((uint64_t)(x2 + x14) * (x6 + x18)) + (((uint64_t)(x4 + x16) * (x4 + x16)) + ((uint64_t)(x6 + x18) * (x2 + x14)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x32 = ((((uint64_t)(x2 + x14) * (x4 + x16)) + ((uint64_t)(x4 + x16) * (x2 + x14))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x33 = (((uint64_t)(x2 + x14) * (x2 + x14)) - ((uint64_t)x2 * x2));
- { uint64_t x34 = ((((0x2 * ((uint64_t)x12 * x12)) + (0x2 * ((uint64_t)x21 * x21))) + x29) + x23);
- { uint64_t x35 = (((((0x2 * ((uint64_t)x10 * x12)) + (0x2 * ((uint64_t)x12 * x10))) + ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))) + x30) + x24);
- { uint64_t x36 = (((((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x12 * x8)))) + ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))) + x31) + x25);
- { uint64_t x37 = (((((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (0x2 * ((uint64_t)x12 * x6))))) + ((0x2 * ((uint64_t)x18 * x21)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (0x2 * ((uint64_t)x21 * x18)))))) + x32) + x26);
- { uint64_t x38 = (((((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x12 * x4)))))) + ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))) + x33) + x27);
- { uint64_t x39 = ((((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)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14)))))));
- { uint64_t x40 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((uint64_t)x22 * x14)))))) + x23);
- { uint64_t x41 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x20 * x14))))) + x24);
- { uint64_t x42 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14)))) + x25);
- { uint64_t x43 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x14 * x16) + ((uint64_t)x16 * x14))) + x26);
- { uint64_t x44 = ((((uint64_t)x2 * x2) + ((uint64_t)x14 * x14)) + x27);
- { uint64_t x45 = (x39 >> 0x1a);
- { uint32_t x46 = ((uint32_t)x39 & 0x3ffffff);
- { uint64_t x47 = (x28 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x28 & 0x3ffffff);
- { uint64_t x49 = ((0x4000000 * x47) + x48);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = ((x45 + x38) + x50);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x44 + x50);
- { uint64_t x56 = (x55 >> 0x1b);
- { uint32_t x57 = ((uint32_t)x55 & 0x7ffffff);
- { uint64_t x58 = (x53 + x37);
- { uint64_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint64_t x61 = (x56 + x43);
- { uint64_t x62 = (x61 >> 0x1b);
- { uint32_t x63 = ((uint32_t)x61 & 0x7ffffff);
- { uint64_t x64 = (x59 + x36);
- { uint64_t x65 = (x64 >> 0x1b);
- { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- { uint64_t x67 = (x62 + x42);
- { uint64_t x68 = (x67 >> 0x1b);
- { uint32_t x69 = ((uint32_t)x67 & 0x7ffffff);
- { uint64_t x70 = (x65 + x35);
- { uint64_t x71 = (x70 >> 0x1b);
- { uint32_t x72 = ((uint32_t)x70 & 0x7ffffff);
- { uint64_t x73 = (x68 + x41);
- { uint64_t x74 = (x73 >> 0x1b);
- { uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- { uint64_t x76 = (x71 + x34);
- { uint64_t x77 = (x76 >> 0x1b);
- { uint32_t x78 = ((uint32_t)x76 & 0x7ffffff);
- { uint64_t x79 = (x74 + x40);
- { uint64_t x80 = (x79 >> 0x1b);
- { uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- { uint64_t x82 = (x77 + x51);
- { uint32_t x83 = (uint32_t) (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x80 + x46);
- { uint32_t x86 = (uint32_t) (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (((uint64_t)0x4000000 * x83) + x84);
- { uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint32_t x91 = ((x86 + x54) + x89);
- { uint32_t x92 = (x91 >> 0x1b);
- { uint32_t x93 = (x91 & 0x7ffffff);
- { uint32_t x94 = (x57 + x89);
- { uint32_t x95 = (x94 >> 0x1b);
- { uint32_t x96 = (x94 & 0x7ffffff);
- out[0] = x96;
- out[1] = (x95 + x63);
- out[2] = x69;
- out[3] = x75;
- out[4] = x81;
- out[5] = x87;
- out[6] = x93;
- out[7] = (x92 + x60);
- out[8] = x66;
- out[9] = x72;
- out[10] = x78;
- out[11] = x90;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.v
deleted file mode 100644
index cc5758279..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.log
deleted file mode 100644
index dd9b17663..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,81 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = ((0x2 * ((uint64_t)(x12 + x21) * (x12 + x21))) - (0x2 * ((uint64_t)x12 * x12)));
- uint64_t x24 = (((0x2 * ((uint64_t)(x10 + x22) * (x12 + x21))) + (0x2 * ((uint64_t)(x12 + x21) * (x10 + x22)))) - ((0x2 * ((uint64_t)x10 * x12)) + (0x2 * ((uint64_t)x12 * x10))));
- uint64_t x25 = (((0x2 * ((uint64_t)(x8 + x20) * (x12 + x21))) + ((0x2 * ((uint64_t)(x10 + x22) * (x10 + x22))) + (0x2 * ((uint64_t)(x12 + x21) * (x8 + x20))))) - ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x12 * x8)))));
- uint64_t x26 = (((0x2 * ((uint64_t)(x6 + x18) * (x12 + x21))) + ((0x2 * ((uint64_t)(x8 + x20) * (x10 + x22))) + ((0x2 * ((uint64_t)(x10 + x22) * (x8 + x20))) + (0x2 * ((uint64_t)(x12 + x21) * (x6 + x18)))))) - ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (0x2 * ((uint64_t)x12 * x6))))));
- uint64_t x27 = (((0x2 * ((uint64_t)(x4 + x16) * (x12 + x21))) + ((0x2 * ((uint64_t)(x6 + x18) * (x10 + x22))) + ((0x2 * ((uint64_t)(x8 + x20) * (x8 + x20))) + ((0x2 * ((uint64_t)(x10 + x22) * (x6 + x18))) + (0x2 * ((uint64_t)(x12 + x21) * (x4 + x16))))))) - ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x12 * x4)))))));
- uint64_t x28 = ((((uint64_t)(x2 + x14) * (x12 + x21)) + (((uint64_t)(x4 + x16) * (x10 + x22)) + (((uint64_t)(x6 + x18) * (x8 + x20)) + (((uint64_t)(x8 + x20) * (x6 + x18)) + (((uint64_t)(x10 + x22) * (x4 + x16)) + ((uint64_t)(x12 + x21) * (x2 + x14))))))) - (((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 x29 = ((((uint64_t)(x2 + x14) * (x10 + x22)) + (((uint64_t)(x4 + x16) * (x8 + x20)) + (((uint64_t)(x6 + x18) * (x6 + x18)) + (((uint64_t)(x8 + x20) * (x4 + x16)) + ((uint64_t)(x10 + x22) * (x2 + x14)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x30 = ((((uint64_t)(x2 + x14) * (x8 + x20)) + (((uint64_t)(x4 + x16) * (x6 + x18)) + (((uint64_t)(x6 + x18) * (x4 + x16)) + ((uint64_t)(x8 + x20) * (x2 + x14))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x31 = ((((uint64_t)(x2 + x14) * (x6 + x18)) + (((uint64_t)(x4 + x16) * (x4 + x16)) + ((uint64_t)(x6 + x18) * (x2 + x14)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x32 = ((((uint64_t)(x2 + x14) * (x4 + x16)) + ((uint64_t)(x4 + x16) * (x2 + x14))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x33 = (((uint64_t)(x2 + x14) * (x2 + x14)) - ((uint64_t)x2 * x2));
- uint64_t x34 = ((((0x2 * ((uint64_t)x12 * x12)) + (0x2 * ((uint64_t)x21 * x21))) + x29) + x23);
- uint64_t x35 = (((((0x2 * ((uint64_t)x10 * x12)) + (0x2 * ((uint64_t)x12 * x10))) + ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))) + x30) + x24);
- uint64_t x36 = (((((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + (0x2 * ((uint64_t)x12 * x8)))) + ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))) + x31) + x25);
- uint64_t x37 = (((((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (0x2 * ((uint64_t)x12 * x6))))) + ((0x2 * ((uint64_t)x18 * x21)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (0x2 * ((uint64_t)x21 * x18)))))) + x32) + x26);
- uint64_t x38 = (((((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + (0x2 * ((uint64_t)x12 * x4)))))) + ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))) + x33) + x27);
- uint64_t x39 = ((((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)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14)))))));
- uint64_t x40 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((uint64_t)x22 * x14)))))) + x23);
- uint64_t x41 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x20 * x14))))) + x24);
- uint64_t x42 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14)))) + x25);
- uint64_t x43 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x14 * x16) + ((uint64_t)x16 * x14))) + x26);
- uint64_t x44 = ((((uint64_t)x2 * x2) + ((uint64_t)x14 * x14)) + x27);
- uint64_t x45 = (x39 >> 0x1a);
- uint32_t x46 = ((uint32_t)x39 & 0x3ffffff);
- uint64_t x47 = (x28 >> 0x1a);
- uint32_t x48 = ((uint32_t)x28 & 0x3ffffff);
- uint64_t x49 = ((0x4000000 * x47) + x48);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = ((x45 + x38) + x50);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x44 + x50);
- uint64_t x56 = (x55 >> 0x1b);
- uint32_t x57 = ((uint32_t)x55 & 0x7ffffff);
- uint64_t x58 = (x53 + x37);
- uint64_t x59 = (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint64_t x61 = (x56 + x43);
- uint64_t x62 = (x61 >> 0x1b);
- uint32_t x63 = ((uint32_t)x61 & 0x7ffffff);
- uint64_t x64 = (x59 + x36);
- uint64_t x65 = (x64 >> 0x1b);
- uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- uint64_t x67 = (x62 + x42);
- uint64_t x68 = (x67 >> 0x1b);
- uint32_t x69 = ((uint32_t)x67 & 0x7ffffff);
- uint64_t x70 = (x65 + x35);
- uint64_t x71 = (x70 >> 0x1b);
- uint32_t x72 = ((uint32_t)x70 & 0x7ffffff);
- uint64_t x73 = (x68 + x41);
- uint64_t x74 = (x73 >> 0x1b);
- uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- uint64_t x76 = (x71 + x34);
- uint64_t x77 = (x76 >> 0x1b);
- uint32_t x78 = ((uint32_t)x76 & 0x7ffffff);
- uint64_t x79 = (x74 + x40);
- uint64_t x80 = (x79 >> 0x1b);
- uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- uint64_t x82 = (x77 + x51);
- uint32_t x83 = (uint32_t) (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x80 + x46);
- uint32_t x86 = (uint32_t) (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (((uint64_t)0x4000000 * x83) + x84);
- uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint32_t x91 = ((x86 + x54) + x89);
- uint32_t x92 = (x91 >> 0x1b);
- uint32_t x93 = (x91 & 0x7ffffff);
- uint32_t x94 = (x57 + x89);
- uint32_t x95 = (x94 >> 0x1b);
- uint32_t x96 = (x94 & 0x7ffffff);
- return (Return x90, Return x78, Return x72, Return x66, (x92 + x60), Return x93, Return x87, Return x81, Return x75, Return x69, (x95 + x63), Return x96))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.v
deleted file mode 100644
index 65f89f463..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.c b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.c
deleted file mode 100644
index 009fc98df..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0xffffffe + x5) - x27);
- out[1] = ((0xffffffe + x7) - x29);
- out[2] = ((0xffffffe + x9) - x31);
- out[3] = ((0xffffffe + x11) - x33);
- out[4] = ((0xffffffe + x13) - x35);
- out[5] = ((0x7fffffe + x15) - x37);
- out[6] = ((0xffffffc + x17) - x39);
- out[7] = ((0xffffffe + x19) - x41);
- out[8] = ((0xffffffe + x21) - x43);
- out[9] = ((0xffffffe + x23) - x45);
- out[10] = ((0xffffffe + x25) - x47);
- out[11] = ((0x7fffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.v
deleted file mode 100644
index b364837f1..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.log
deleted file mode 100644
index 2374544c9..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x7fffffe + x24) - x46), ((0xffffffe + x25) - x47), ((0xffffffe + x23) - x45), ((0xffffffe + x21) - x43), ((0xffffffe + x19) - x41), ((0xffffffc + x17) - x39), ((0x7fffffe + x15) - x37), ((0xffffffe + x13) - x35), ((0xffffffe + x11) - x33), ((0xffffffe + x9) - x31), ((0xffffffe + x7) - x29), ((0xffffffe + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.v
deleted file mode 100644
index 832850c1c..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.c b/src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.c
deleted file mode 100644
index 6c821d00d..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x7ffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x7ffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x7ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x7ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x7fffffe);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x7ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x7ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x7ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x7ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x3ffffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0x7ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0x7ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0x7ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0x7ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0x7ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 0x3ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 0x7fffffe);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- { uint32_t x88 = (x59 & 0x7ffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- { uint32_t x92 = (x59 & 0x7ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- { uint32_t x96 = (x59 & 0x7ffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- { uint32_t x100 = (x59 & 0x7ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- { uint32_t x104 = (x59 & 0x3ffffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.v
deleted file mode 100644
index 1e640ae0a..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.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_2e322m2e161m1_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.log
deleted file mode 100644
index 30671ff93..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x7ffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x7ffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x7ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x7ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x7fffffe);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x7ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x7ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x7ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x7ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x3ffffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0x7ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0x7ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0x7ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0x7ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0x7ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 0x3ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 0x7fffffe);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = (x59 & 0x7ffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = (x59 & 0x7ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = (x59 & 0x7ffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = (x59 & 0x7ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = (x59 & 0x3ffffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.v
deleted file mode 100644
index f1f929149..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e322m2e161m1_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e322m2e161m1_12limbs/py_interpreter.sh
deleted file mode 100755
index 4652867d2..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**322 - 2**161 - 1' -Dmodulus_bytes='26 + 5/6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/CurveParameters.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/CurveParameters.v
deleted file mode 100644
index d6740403e..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^322 - 2^161 - 1
-Base: 23
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 14%nat;
- base := 23;
- bitwidth := 32;
- s := 2^322;
- c := [(1, 1); (2^161, 1)];
- carry_chains := Some [[6; 13]; [7; 0; 8; 1; 9; 2; 10; 3; 11; 4; 12; 5; 13; 6]; [7; 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_2e322m2e161m1_14limbs/Synthesis.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/Synthesis.v
deleted file mode 100644
index fa0554410..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/compiler.sh b/src/Specific/solinas32_2e322m2e161m1_14limbs/compiler.sh
deleted file mode 100755
index 813cdf7f8..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/compilerxx.sh b/src/Specific/solinas32_2e322m2e161m1_14limbs/compilerxx.sh
deleted file mode 100755
index 2f9631aea..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.c b/src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.c
deleted file mode 100644
index 6b2a8feaf..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void feadd(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- out[0] = (x5 + x31);
- out[1] = (x7 + x33);
- out[2] = (x9 + x35);
- out[3] = (x11 + x37);
- out[4] = (x13 + x39);
- out[5] = (x15 + x41);
- out[6] = (x17 + x43);
- out[7] = (x19 + x45);
- out[8] = (x21 + x47);
- out[9] = (x23 + x49);
- out[10] = (x25 + x51);
- out[11] = (x27 + x53);
- out[12] = (x29 + x55);
- out[13] = (x28 + x54);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.v
deleted file mode 100644
index 2d5207a49..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/feaddDisplay.log b/src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.log
deleted file mode 100644
index ff11bcba0..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- ((x28 + x54), (x29 + x55), (x27 + x53), (x25 + x51), (x23 + x49), (x21 + x47), (x19 + x45), (x17 + x43), (x15 + x41), (x13 + x39), (x11 + x37), (x9 + x35), (x7 + x33), (x5 + x31)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.v
deleted file mode 100644
index 058288807..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fecarry.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/fecarry.v
deleted file mode 100644
index 2c723f05a..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/fecarryDisplay.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/fecarryDisplay.v
deleted file mode 100644
index 8f37d58a6..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/femul.c b/src/Specific/solinas32_2e322m2e161m1_14limbs/femul.c
deleted file mode 100644
index 6111bb862..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/femul.c
+++ /dev/null
@@ -1,129 +0,0 @@
-static void femul(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- { uint64_t x56 = (((uint64_t)(x17 + x28) * (x43 + x54)) - ((uint64_t)x17 * x43));
- { uint64_t x57 = ((((uint64_t)(x15 + x29) * (x43 + x54)) + ((uint64_t)(x17 + x28) * (x41 + x55))) - (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41)));
- { uint64_t x58 = ((((uint64_t)(x13 + x27) * (x43 + x54)) + (((uint64_t)(x15 + x29) * (x41 + x55)) + ((uint64_t)(x17 + x28) * (x39 + x53)))) - (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))));
- { uint64_t x59 = ((((uint64_t)(x11 + x25) * (x43 + x54)) + (((uint64_t)(x13 + x27) * (x41 + x55)) + (((uint64_t)(x15 + x29) * (x39 + x53)) + ((uint64_t)(x17 + x28) * (x37 + x51))))) - (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37)))));
- { uint64_t x60 = ((((uint64_t)(x9 + x23) * (x43 + x54)) + (((uint64_t)(x11 + x25) * (x41 + x55)) + (((uint64_t)(x13 + x27) * (x39 + x53)) + (((uint64_t)(x15 + x29) * (x37 + x51)) + ((uint64_t)(x17 + x28) * (x35 + x49)))))) - (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))));
- { uint64_t x61 = ((((uint64_t)(x7 + x21) * (x43 + x54)) + (((uint64_t)(x9 + x23) * (x41 + x55)) + (((uint64_t)(x11 + x25) * (x39 + x53)) + (((uint64_t)(x13 + x27) * (x37 + x51)) + (((uint64_t)(x15 + x29) * (x35 + x49)) + ((uint64_t)(x17 + x28) * (x33 + x47))))))) - (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33)))))));
- { uint64_t x62 = ((((uint64_t)(x5 + x19) * (x43 + x54)) + (((uint64_t)(x7 + x21) * (x41 + x55)) + (((uint64_t)(x9 + x23) * (x39 + x53)) + (((uint64_t)(x11 + x25) * (x37 + x51)) + (((uint64_t)(x13 + x27) * (x35 + x49)) + (((uint64_t)(x15 + x29) * (x33 + x47)) + ((uint64_t)(x17 + x28) * (x31 + x45)))))))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))));
- { uint64_t x63 = ((((uint64_t)(x5 + x19) * (x41 + x55)) + (((uint64_t)(x7 + x21) * (x39 + x53)) + (((uint64_t)(x9 + x23) * (x37 + x51)) + (((uint64_t)(x11 + x25) * (x35 + x49)) + (((uint64_t)(x13 + x27) * (x33 + x47)) + ((uint64_t)(x15 + x29) * (x31 + x45))))))) - (((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))));
- { uint64_t x64 = ((((uint64_t)(x5 + x19) * (x39 + x53)) + (((uint64_t)(x7 + x21) * (x37 + x51)) + (((uint64_t)(x9 + x23) * (x35 + x49)) + (((uint64_t)(x11 + x25) * (x33 + x47)) + ((uint64_t)(x13 + x27) * (x31 + x45)))))) - (((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))));
- { uint64_t x65 = ((((uint64_t)(x5 + x19) * (x37 + x51)) + (((uint64_t)(x7 + x21) * (x35 + x49)) + (((uint64_t)(x9 + x23) * (x33 + x47)) + ((uint64_t)(x11 + x25) * (x31 + x45))))) - (((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))));
- { uint64_t x66 = ((((uint64_t)(x5 + x19) * (x35 + x49)) + (((uint64_t)(x7 + x21) * (x33 + x47)) + ((uint64_t)(x9 + x23) * (x31 + x45)))) - (((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))));
- { uint64_t x67 = ((((uint64_t)(x5 + x19) * (x33 + x47)) + ((uint64_t)(x7 + x21) * (x31 + x45))) - (((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)));
- { uint64_t x68 = (((uint64_t)(x5 + x19) * (x31 + x45)) - ((uint64_t)x5 * x31));
- { uint64_t x69 = (((((uint64_t)x17 * x43) + ((uint64_t)x28 * x54)) + x63) + x56);
- { uint64_t x70 = ((((((uint64_t)x15 * x43) + ((uint64_t)x17 * x41)) + (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))) + x64) + x57);
- { uint64_t x71 = ((((((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))) + (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))) + x65) + x58);
- { uint64_t x72 = ((((((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37)))) + (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))) + x66) + x59);
- { uint64_t x73 = ((((((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))) + (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))) + x67) + x60);
- { uint64_t x74 = ((((((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33)))))) + (((uint64_t)x21 * x54) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((uint64_t)x28 * x47))))))) + x68) + x61);
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))) + (((uint64_t)x19 * x54) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((uint64_t)x28 * x45))))))));
- { uint64_t x76 = (((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((uint64_t)x29 * x45))))))) + x56);
- { uint64_t x77 = (((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + ((uint64_t)x27 * x45)))))) + x57);
- { uint64_t x78 = (((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + ((uint64_t)x25 * x45))))) + x58);
- { uint64_t x79 = (((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((uint64_t)x23 * x45)))) + x59);
- { uint64_t x80 = (((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45))) + x60);
- { uint64_t x81 = ((((uint64_t)x5 * x31) + ((uint64_t)x19 * x45)) + x61);
- { uint32_t x82 = (uint32_t) (x75 >> 0x17);
- { uint32_t x83 = ((uint32_t)x75 & 0x7fffff);
- { uint32_t x84 = (uint32_t) (x62 >> 0x17);
- { uint32_t x85 = ((uint32_t)x62 & 0x7fffff);
- { uint64_t x86 = (((uint64_t)0x800000 * x84) + x85);
- { uint32_t x87 = (uint32_t) (x86 >> 0x17);
- { uint32_t x88 = ((uint32_t)x86 & 0x7fffff);
- { uint64_t x89 = ((x82 + x74) + x87);
- { uint32_t x90 = (uint32_t) (x89 >> 0x17);
- { uint32_t x91 = ((uint32_t)x89 & 0x7fffff);
- { uint64_t x92 = (x81 + x87);
- { uint32_t x93 = (uint32_t) (x92 >> 0x17);
- { uint32_t x94 = ((uint32_t)x92 & 0x7fffff);
- { uint64_t x95 = (x90 + x73);
- { uint32_t x96 = (uint32_t) (x95 >> 0x17);
- { uint32_t x97 = ((uint32_t)x95 & 0x7fffff);
- { uint64_t x98 = (x93 + x80);
- { uint32_t x99 = (uint32_t) (x98 >> 0x17);
- { uint32_t x100 = ((uint32_t)x98 & 0x7fffff);
- { uint64_t x101 = (x96 + x72);
- { uint32_t x102 = (uint32_t) (x101 >> 0x17);
- { uint32_t x103 = ((uint32_t)x101 & 0x7fffff);
- { uint64_t x104 = (x99 + x79);
- { uint32_t x105 = (uint32_t) (x104 >> 0x17);
- { uint32_t x106 = ((uint32_t)x104 & 0x7fffff);
- { uint64_t x107 = (x102 + x71);
- { uint32_t x108 = (uint32_t) (x107 >> 0x17);
- { uint32_t x109 = ((uint32_t)x107 & 0x7fffff);
- { uint64_t x110 = (x105 + x78);
- { uint32_t x111 = (uint32_t) (x110 >> 0x17);
- { uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
- { uint64_t x113 = (x108 + x70);
- { uint32_t x114 = (uint32_t) (x113 >> 0x17);
- { uint32_t x115 = ((uint32_t)x113 & 0x7fffff);
- { uint64_t x116 = (x111 + x77);
- { uint32_t x117 = (uint32_t) (x116 >> 0x17);
- { uint32_t x118 = ((uint32_t)x116 & 0x7fffff);
- { uint64_t x119 = (x114 + x69);
- { uint32_t x120 = (uint32_t) (x119 >> 0x17);
- { uint32_t x121 = ((uint32_t)x119 & 0x7fffff);
- { uint64_t x122 = (x117 + x76);
- { uint32_t x123 = (uint32_t) (x122 >> 0x17);
- { uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
- { uint32_t x125 = (x120 + x88);
- { uint32_t x126 = (x125 >> 0x17);
- { uint32_t x127 = (x125 & 0x7fffff);
- { uint32_t x128 = (x123 + x83);
- { uint32_t x129 = (x128 >> 0x17);
- { uint32_t x130 = (x128 & 0x7fffff);
- { uint32_t x131 = ((0x800000 * x126) + x127);
- { uint32_t x132 = (x131 >> 0x17);
- { uint32_t x133 = (x131 & 0x7fffff);
- { uint32_t x134 = ((x129 + x91) + x132);
- { uint32_t x135 = (x134 >> 0x17);
- { uint32_t x136 = (x134 & 0x7fffff);
- { uint32_t x137 = (x94 + x132);
- { uint32_t x138 = (x137 >> 0x17);
- { uint32_t x139 = (x137 & 0x7fffff);
- out[0] = x139;
- out[1] = (x138 + x100);
- out[2] = x106;
- out[3] = x112;
- out[4] = x118;
- out[5] = x124;
- out[6] = x130;
- out[7] = x136;
- out[8] = (x135 + x97);
- out[9] = x103;
- out[10] = x109;
- out[11] = x115;
- out[12] = x121;
- out[13] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/femul.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/femul.v
deleted file mode 100644
index 645fbf494..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/femulDisplay.log b/src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.log
deleted file mode 100644
index 55386e3bb..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.log
+++ /dev/null
@@ -1,91 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint64_t x56 = (((uint64_t)(x17 + x28) * (x43 + x54)) - ((uint64_t)x17 * x43));
- uint64_t x57 = ((((uint64_t)(x15 + x29) * (x43 + x54)) + ((uint64_t)(x17 + x28) * (x41 + x55))) - (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41)));
- uint64_t x58 = ((((uint64_t)(x13 + x27) * (x43 + x54)) + (((uint64_t)(x15 + x29) * (x41 + x55)) + ((uint64_t)(x17 + x28) * (x39 + x53)))) - (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))));
- uint64_t x59 = ((((uint64_t)(x11 + x25) * (x43 + x54)) + (((uint64_t)(x13 + x27) * (x41 + x55)) + (((uint64_t)(x15 + x29) * (x39 + x53)) + ((uint64_t)(x17 + x28) * (x37 + x51))))) - (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37)))));
- uint64_t x60 = ((((uint64_t)(x9 + x23) * (x43 + x54)) + (((uint64_t)(x11 + x25) * (x41 + x55)) + (((uint64_t)(x13 + x27) * (x39 + x53)) + (((uint64_t)(x15 + x29) * (x37 + x51)) + ((uint64_t)(x17 + x28) * (x35 + x49)))))) - (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))));
- uint64_t x61 = ((((uint64_t)(x7 + x21) * (x43 + x54)) + (((uint64_t)(x9 + x23) * (x41 + x55)) + (((uint64_t)(x11 + x25) * (x39 + x53)) + (((uint64_t)(x13 + x27) * (x37 + x51)) + (((uint64_t)(x15 + x29) * (x35 + x49)) + ((uint64_t)(x17 + x28) * (x33 + x47))))))) - (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33)))))));
- uint64_t x62 = ((((uint64_t)(x5 + x19) * (x43 + x54)) + (((uint64_t)(x7 + x21) * (x41 + x55)) + (((uint64_t)(x9 + x23) * (x39 + x53)) + (((uint64_t)(x11 + x25) * (x37 + x51)) + (((uint64_t)(x13 + x27) * (x35 + x49)) + (((uint64_t)(x15 + x29) * (x33 + x47)) + ((uint64_t)(x17 + x28) * (x31 + x45)))))))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))));
- uint64_t x63 = ((((uint64_t)(x5 + x19) * (x41 + x55)) + (((uint64_t)(x7 + x21) * (x39 + x53)) + (((uint64_t)(x9 + x23) * (x37 + x51)) + (((uint64_t)(x11 + x25) * (x35 + x49)) + (((uint64_t)(x13 + x27) * (x33 + x47)) + ((uint64_t)(x15 + x29) * (x31 + x45))))))) - (((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))));
- uint64_t x64 = ((((uint64_t)(x5 + x19) * (x39 + x53)) + (((uint64_t)(x7 + x21) * (x37 + x51)) + (((uint64_t)(x9 + x23) * (x35 + x49)) + (((uint64_t)(x11 + x25) * (x33 + x47)) + ((uint64_t)(x13 + x27) * (x31 + x45)))))) - (((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))));
- uint64_t x65 = ((((uint64_t)(x5 + x19) * (x37 + x51)) + (((uint64_t)(x7 + x21) * (x35 + x49)) + (((uint64_t)(x9 + x23) * (x33 + x47)) + ((uint64_t)(x11 + x25) * (x31 + x45))))) - (((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))));
- uint64_t x66 = ((((uint64_t)(x5 + x19) * (x35 + x49)) + (((uint64_t)(x7 + x21) * (x33 + x47)) + ((uint64_t)(x9 + x23) * (x31 + x45)))) - (((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))));
- uint64_t x67 = ((((uint64_t)(x5 + x19) * (x33 + x47)) + ((uint64_t)(x7 + x21) * (x31 + x45))) - (((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)));
- uint64_t x68 = (((uint64_t)(x5 + x19) * (x31 + x45)) - ((uint64_t)x5 * x31));
- uint64_t x69 = (((((uint64_t)x17 * x43) + ((uint64_t)x28 * x54)) + x63) + x56);
- uint64_t x70 = ((((((uint64_t)x15 * x43) + ((uint64_t)x17 * x41)) + (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))) + x64) + x57);
- uint64_t x71 = ((((((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))) + (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))) + x65) + x58);
- uint64_t x72 = ((((((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37)))) + (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))) + x66) + x59);
- uint64_t x73 = ((((((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))) + (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))) + x67) + x60);
- uint64_t x74 = ((((((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33)))))) + (((uint64_t)x21 * x54) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((uint64_t)x28 * x47))))))) + x68) + x61);
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))) + (((uint64_t)x19 * x54) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((uint64_t)x28 * x45))))))));
- uint64_t x76 = (((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((uint64_t)x29 * x45))))))) + x56);
- uint64_t x77 = (((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + ((uint64_t)x27 * x45)))))) + x57);
- uint64_t x78 = (((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + ((uint64_t)x25 * x45))))) + x58);
- uint64_t x79 = (((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((uint64_t)x23 * x45)))) + x59);
- uint64_t x80 = (((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45))) + x60);
- uint64_t x81 = ((((uint64_t)x5 * x31) + ((uint64_t)x19 * x45)) + x61);
- uint32_t x82 = (uint32_t) (x75 >> 0x17);
- uint32_t x83 = ((uint32_t)x75 & 0x7fffff);
- uint32_t x84 = (uint32_t) (x62 >> 0x17);
- uint32_t x85 = ((uint32_t)x62 & 0x7fffff);
- uint64_t x86 = (((uint64_t)0x800000 * x84) + x85);
- uint32_t x87 = (uint32_t) (x86 >> 0x17);
- uint32_t x88 = ((uint32_t)x86 & 0x7fffff);
- uint64_t x89 = ((x82 + x74) + x87);
- uint32_t x90 = (uint32_t) (x89 >> 0x17);
- uint32_t x91 = ((uint32_t)x89 & 0x7fffff);
- uint64_t x92 = (x81 + x87);
- uint32_t x93 = (uint32_t) (x92 >> 0x17);
- uint32_t x94 = ((uint32_t)x92 & 0x7fffff);
- uint64_t x95 = (x90 + x73);
- uint32_t x96 = (uint32_t) (x95 >> 0x17);
- uint32_t x97 = ((uint32_t)x95 & 0x7fffff);
- uint64_t x98 = (x93 + x80);
- uint32_t x99 = (uint32_t) (x98 >> 0x17);
- uint32_t x100 = ((uint32_t)x98 & 0x7fffff);
- uint64_t x101 = (x96 + x72);
- uint32_t x102 = (uint32_t) (x101 >> 0x17);
- uint32_t x103 = ((uint32_t)x101 & 0x7fffff);
- uint64_t x104 = (x99 + x79);
- uint32_t x105 = (uint32_t) (x104 >> 0x17);
- uint32_t x106 = ((uint32_t)x104 & 0x7fffff);
- uint64_t x107 = (x102 + x71);
- uint32_t x108 = (uint32_t) (x107 >> 0x17);
- uint32_t x109 = ((uint32_t)x107 & 0x7fffff);
- uint64_t x110 = (x105 + x78);
- uint32_t x111 = (uint32_t) (x110 >> 0x17);
- uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
- uint64_t x113 = (x108 + x70);
- uint32_t x114 = (uint32_t) (x113 >> 0x17);
- uint32_t x115 = ((uint32_t)x113 & 0x7fffff);
- uint64_t x116 = (x111 + x77);
- uint32_t x117 = (uint32_t) (x116 >> 0x17);
- uint32_t x118 = ((uint32_t)x116 & 0x7fffff);
- uint64_t x119 = (x114 + x69);
- uint32_t x120 = (uint32_t) (x119 >> 0x17);
- uint32_t x121 = ((uint32_t)x119 & 0x7fffff);
- uint64_t x122 = (x117 + x76);
- uint32_t x123 = (uint32_t) (x122 >> 0x17);
- uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
- uint32_t x125 = (x120 + x88);
- uint32_t x126 = (x125 >> 0x17);
- uint32_t x127 = (x125 & 0x7fffff);
- uint32_t x128 = (x123 + x83);
- uint32_t x129 = (x128 >> 0x17);
- uint32_t x130 = (x128 & 0x7fffff);
- uint32_t x131 = ((0x800000 * x126) + x127);
- uint32_t x132 = (x131 >> 0x17);
- uint32_t x133 = (x131 & 0x7fffff);
- uint32_t x134 = ((x129 + x91) + x132);
- uint32_t x135 = (x134 >> 0x17);
- uint32_t x136 = (x134 & 0x7fffff);
- uint32_t x137 = (x94 + x132);
- uint32_t x138 = (x137 >> 0x17);
- uint32_t x139 = (x137 & 0x7fffff);
- return (Return x133, Return x121, Return x115, Return x109, Return x103, (x135 + x97), Return x136, Return x130, Return x124, Return x118, Return x112, Return x106, (x138 + x100), Return x139))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.v
deleted file mode 100644
index 5526cba07..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.c b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.c
deleted file mode 100644
index e1d4a6c5a..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.c
+++ /dev/null
@@ -1,115 +0,0 @@
-static void fesquare(uint32_t out[14], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x27 = (((uint64_t)(x14 + x25) * (x14 + x25)) - ((uint64_t)x14 * x14));
- { uint64_t x28 = ((((uint64_t)(x12 + x26) * (x14 + x25)) + ((uint64_t)(x14 + x25) * (x12 + x26))) - (((uint64_t)x12 * x14) + ((uint64_t)x14 * x12)));
- { uint64_t x29 = ((((uint64_t)(x10 + x24) * (x14 + x25)) + (((uint64_t)(x12 + x26) * (x12 + x26)) + ((uint64_t)(x14 + x25) * (x10 + x24)))) - (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10))));
- { uint64_t x30 = ((((uint64_t)(x8 + x22) * (x14 + x25)) + (((uint64_t)(x10 + x24) * (x12 + x26)) + (((uint64_t)(x12 + x26) * (x10 + x24)) + ((uint64_t)(x14 + x25) * (x8 + x22))))) - (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x14 * x8)))));
- { uint64_t x31 = ((((uint64_t)(x6 + x20) * (x14 + x25)) + (((uint64_t)(x8 + x22) * (x12 + x26)) + (((uint64_t)(x10 + x24) * (x10 + x24)) + (((uint64_t)(x12 + x26) * (x8 + x22)) + ((uint64_t)(x14 + x25) * (x6 + x20)))))) - (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x14 * x6))))));
- { uint64_t x32 = ((((uint64_t)(x4 + x18) * (x14 + x25)) + (((uint64_t)(x6 + x20) * (x12 + x26)) + (((uint64_t)(x8 + x22) * (x10 + x24)) + (((uint64_t)(x10 + x24) * (x8 + x22)) + (((uint64_t)(x12 + x26) * (x6 + x20)) + ((uint64_t)(x14 + x25) * (x4 + x18))))))) - (((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 x33 = ((((uint64_t)(x2 + x16) * (x14 + x25)) + (((uint64_t)(x4 + x18) * (x12 + x26)) + (((uint64_t)(x6 + x20) * (x10 + x24)) + (((uint64_t)(x8 + x22) * (x8 + x22)) + (((uint64_t)(x10 + x24) * (x6 + x20)) + (((uint64_t)(x12 + x26) * (x4 + x18)) + ((uint64_t)(x14 + x25) * (x2 + x16)))))))) - (((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 x34 = ((((uint64_t)(x2 + x16) * (x12 + x26)) + (((uint64_t)(x4 + x18) * (x10 + x24)) + (((uint64_t)(x6 + x20) * (x8 + x22)) + (((uint64_t)(x8 + x22) * (x6 + x20)) + (((uint64_t)(x10 + x24) * (x4 + x18)) + ((uint64_t)(x12 + x26) * (x2 + x16))))))) - (((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 x35 = ((((uint64_t)(x2 + x16) * (x10 + x24)) + (((uint64_t)(x4 + x18) * (x8 + x22)) + (((uint64_t)(x6 + x20) * (x6 + x20)) + (((uint64_t)(x8 + x22) * (x4 + x18)) + ((uint64_t)(x10 + x24) * (x2 + x16)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x36 = ((((uint64_t)(x2 + x16) * (x8 + x22)) + (((uint64_t)(x4 + x18) * (x6 + x20)) + (((uint64_t)(x6 + x20) * (x4 + x18)) + ((uint64_t)(x8 + x22) * (x2 + x16))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x37 = ((((uint64_t)(x2 + x16) * (x6 + x20)) + (((uint64_t)(x4 + x18) * (x4 + x18)) + ((uint64_t)(x6 + x20) * (x2 + x16)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x38 = ((((uint64_t)(x2 + x16) * (x4 + x18)) + ((uint64_t)(x4 + x18) * (x2 + x16))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x39 = (((uint64_t)(x2 + x16) * (x2 + x16)) - ((uint64_t)x2 * x2));
- { uint64_t x40 = (((((uint64_t)x14 * x14) + ((uint64_t)x25 * x25)) + x34) + x27);
- { uint64_t x41 = ((((((uint64_t)x12 * x14) + ((uint64_t)x14 * x12)) + (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))) + x35) + x28);
- { uint64_t x42 = ((((((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10))) + (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))) + x36) + x29);
- { uint64_t x43 = ((((((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x14 * x8)))) + (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))) + x37) + x30);
- { uint64_t x44 = ((((((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x14 * x6))))) + (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))) + x38) + x31);
- { uint64_t x45 = ((((((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)x18 * x25) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x25 * x18))))))) + x39) + x32);
- { uint64_t x46 = ((((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)x16 * x25) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((uint64_t)x25 * x16))))))));
- { uint64_t x47 = (((((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)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x26 * x16))))))) + x27);
- { uint64_t x48 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((uint64_t)x24 * x16)))))) + x28);
- { uint64_t x49 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x22 * x16))))) + x29);
- { uint64_t x50 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16)))) + x30);
- { uint64_t x51 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16))) + x31);
- { uint64_t x52 = ((((uint64_t)x2 * x2) + ((uint64_t)x16 * x16)) + x32);
- { uint32_t x53 = (uint32_t) (x46 >> 0x17);
- { uint32_t x54 = ((uint32_t)x46 & 0x7fffff);
- { uint32_t x55 = (uint32_t) (x33 >> 0x17);
- { uint32_t x56 = ((uint32_t)x33 & 0x7fffff);
- { uint64_t x57 = (((uint64_t)0x800000 * x55) + x56);
- { uint32_t x58 = (uint32_t) (x57 >> 0x17);
- { uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- { uint64_t x60 = ((x53 + x45) + x58);
- { uint32_t x61 = (uint32_t) (x60 >> 0x17);
- { uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x63 = (x52 + x58);
- { uint32_t x64 = (uint32_t) (x63 >> 0x17);
- { uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
- { uint64_t x66 = (x61 + x44);
- { uint32_t x67 = (uint32_t) (x66 >> 0x17);
- { uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- { uint64_t x69 = (x64 + x51);
- { uint32_t x70 = (uint32_t) (x69 >> 0x17);
- { uint32_t x71 = ((uint32_t)x69 & 0x7fffff);
- { uint64_t x72 = (x67 + x43);
- { uint32_t x73 = (uint32_t) (x72 >> 0x17);
- { uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- { uint64_t x75 = (x70 + x50);
- { uint32_t x76 = (uint32_t) (x75 >> 0x17);
- { uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
- { uint64_t x78 = (x73 + x42);
- { uint32_t x79 = (uint32_t) (x78 >> 0x17);
- { uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- { uint64_t x81 = (x76 + x49);
- { uint32_t x82 = (uint32_t) (x81 >> 0x17);
- { uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- { uint64_t x84 = (x79 + x41);
- { uint32_t x85 = (uint32_t) (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x82 + x48);
- { uint32_t x88 = (uint32_t) (x87 >> 0x17);
- { uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- { uint64_t x90 = (x85 + x40);
- { uint32_t x91 = (uint32_t) (x90 >> 0x17);
- { uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
- { uint64_t x93 = (x88 + x47);
- { uint32_t x94 = (uint32_t) (x93 >> 0x17);
- { uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- { uint32_t x96 = (x91 + x59);
- { uint32_t x97 = (x96 >> 0x17);
- { uint32_t x98 = (x96 & 0x7fffff);
- { uint32_t x99 = (x94 + x54);
- { uint32_t x100 = (x99 >> 0x17);
- { uint32_t x101 = (x99 & 0x7fffff);
- { uint32_t x102 = ((0x800000 * x97) + x98);
- { uint32_t x103 = (x102 >> 0x17);
- { uint32_t x104 = (x102 & 0x7fffff);
- { uint32_t x105 = ((x100 + x62) + x103);
- { uint32_t x106 = (x105 >> 0x17);
- { uint32_t x107 = (x105 & 0x7fffff);
- { uint32_t x108 = (x65 + x103);
- { uint32_t x109 = (x108 >> 0x17);
- { uint32_t x110 = (x108 & 0x7fffff);
- out[0] = x110;
- out[1] = (x109 + x71);
- out[2] = x77;
- out[3] = x83;
- out[4] = x89;
- out[5] = x95;
- out[6] = x101;
- out[7] = x107;
- out[8] = (x106 + x68);
- out[9] = x74;
- out[10] = x80;
- out[11] = x86;
- out[12] = x92;
- out[13] = x104;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.v
deleted file mode 100644
index 445a76998..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/fesquareDisplay.log b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.log
deleted file mode 100644
index 6b4e29e41..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,91 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x27 = (((uint64_t)(x14 + x25) * (x14 + x25)) - ((uint64_t)x14 * x14));
- uint64_t x28 = ((((uint64_t)(x12 + x26) * (x14 + x25)) + ((uint64_t)(x14 + x25) * (x12 + x26))) - (((uint64_t)x12 * x14) + ((uint64_t)x14 * x12)));
- uint64_t x29 = ((((uint64_t)(x10 + x24) * (x14 + x25)) + (((uint64_t)(x12 + x26) * (x12 + x26)) + ((uint64_t)(x14 + x25) * (x10 + x24)))) - (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10))));
- uint64_t x30 = ((((uint64_t)(x8 + x22) * (x14 + x25)) + (((uint64_t)(x10 + x24) * (x12 + x26)) + (((uint64_t)(x12 + x26) * (x10 + x24)) + ((uint64_t)(x14 + x25) * (x8 + x22))))) - (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x14 * x8)))));
- uint64_t x31 = ((((uint64_t)(x6 + x20) * (x14 + x25)) + (((uint64_t)(x8 + x22) * (x12 + x26)) + (((uint64_t)(x10 + x24) * (x10 + x24)) + (((uint64_t)(x12 + x26) * (x8 + x22)) + ((uint64_t)(x14 + x25) * (x6 + x20)))))) - (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x14 * x6))))));
- uint64_t x32 = ((((uint64_t)(x4 + x18) * (x14 + x25)) + (((uint64_t)(x6 + x20) * (x12 + x26)) + (((uint64_t)(x8 + x22) * (x10 + x24)) + (((uint64_t)(x10 + x24) * (x8 + x22)) + (((uint64_t)(x12 + x26) * (x6 + x20)) + ((uint64_t)(x14 + x25) * (x4 + x18))))))) - (((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 x33 = ((((uint64_t)(x2 + x16) * (x14 + x25)) + (((uint64_t)(x4 + x18) * (x12 + x26)) + (((uint64_t)(x6 + x20) * (x10 + x24)) + (((uint64_t)(x8 + x22) * (x8 + x22)) + (((uint64_t)(x10 + x24) * (x6 + x20)) + (((uint64_t)(x12 + x26) * (x4 + x18)) + ((uint64_t)(x14 + x25) * (x2 + x16)))))))) - (((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 x34 = ((((uint64_t)(x2 + x16) * (x12 + x26)) + (((uint64_t)(x4 + x18) * (x10 + x24)) + (((uint64_t)(x6 + x20) * (x8 + x22)) + (((uint64_t)(x8 + x22) * (x6 + x20)) + (((uint64_t)(x10 + x24) * (x4 + x18)) + ((uint64_t)(x12 + x26) * (x2 + x16))))))) - (((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 x35 = ((((uint64_t)(x2 + x16) * (x10 + x24)) + (((uint64_t)(x4 + x18) * (x8 + x22)) + (((uint64_t)(x6 + x20) * (x6 + x20)) + (((uint64_t)(x8 + x22) * (x4 + x18)) + ((uint64_t)(x10 + x24) * (x2 + x16)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x36 = ((((uint64_t)(x2 + x16) * (x8 + x22)) + (((uint64_t)(x4 + x18) * (x6 + x20)) + (((uint64_t)(x6 + x20) * (x4 + x18)) + ((uint64_t)(x8 + x22) * (x2 + x16))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x37 = ((((uint64_t)(x2 + x16) * (x6 + x20)) + (((uint64_t)(x4 + x18) * (x4 + x18)) + ((uint64_t)(x6 + x20) * (x2 + x16)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x38 = ((((uint64_t)(x2 + x16) * (x4 + x18)) + ((uint64_t)(x4 + x18) * (x2 + x16))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x39 = (((uint64_t)(x2 + x16) * (x2 + x16)) - ((uint64_t)x2 * x2));
- uint64_t x40 = (((((uint64_t)x14 * x14) + ((uint64_t)x25 * x25)) + x34) + x27);
- uint64_t x41 = ((((((uint64_t)x12 * x14) + ((uint64_t)x14 * x12)) + (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))) + x35) + x28);
- uint64_t x42 = ((((((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10))) + (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))) + x36) + x29);
- uint64_t x43 = ((((((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x14 * x8)))) + (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))) + x37) + x30);
- uint64_t x44 = ((((((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x14 * x6))))) + (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))) + x38) + x31);
- uint64_t x45 = ((((((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)x18 * x25) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x25 * x18))))))) + x39) + x32);
- uint64_t x46 = ((((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)x16 * x25) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((uint64_t)x25 * x16))))))));
- uint64_t x47 = (((((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)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x26 * x16))))))) + x27);
- uint64_t x48 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((uint64_t)x24 * x16)))))) + x28);
- uint64_t x49 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x22 * x16))))) + x29);
- uint64_t x50 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16)))) + x30);
- uint64_t x51 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16))) + x31);
- uint64_t x52 = ((((uint64_t)x2 * x2) + ((uint64_t)x16 * x16)) + x32);
- uint32_t x53 = (uint32_t) (x46 >> 0x17);
- uint32_t x54 = ((uint32_t)x46 & 0x7fffff);
- uint32_t x55 = (uint32_t) (x33 >> 0x17);
- uint32_t x56 = ((uint32_t)x33 & 0x7fffff);
- uint64_t x57 = (((uint64_t)0x800000 * x55) + x56);
- uint32_t x58 = (uint32_t) (x57 >> 0x17);
- uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
- uint64_t x60 = ((x53 + x45) + x58);
- uint32_t x61 = (uint32_t) (x60 >> 0x17);
- uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x63 = (x52 + x58);
- uint32_t x64 = (uint32_t) (x63 >> 0x17);
- uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
- uint64_t x66 = (x61 + x44);
- uint32_t x67 = (uint32_t) (x66 >> 0x17);
- uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
- uint64_t x69 = (x64 + x51);
- uint32_t x70 = (uint32_t) (x69 >> 0x17);
- uint32_t x71 = ((uint32_t)x69 & 0x7fffff);
- uint64_t x72 = (x67 + x43);
- uint32_t x73 = (uint32_t) (x72 >> 0x17);
- uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
- uint64_t x75 = (x70 + x50);
- uint32_t x76 = (uint32_t) (x75 >> 0x17);
- uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
- uint64_t x78 = (x73 + x42);
- uint32_t x79 = (uint32_t) (x78 >> 0x17);
- uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
- uint64_t x81 = (x76 + x49);
- uint32_t x82 = (uint32_t) (x81 >> 0x17);
- uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
- uint64_t x84 = (x79 + x41);
- uint32_t x85 = (uint32_t) (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x82 + x48);
- uint32_t x88 = (uint32_t) (x87 >> 0x17);
- uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- uint64_t x90 = (x85 + x40);
- uint32_t x91 = (uint32_t) (x90 >> 0x17);
- uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
- uint64_t x93 = (x88 + x47);
- uint32_t x94 = (uint32_t) (x93 >> 0x17);
- uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- uint32_t x96 = (x91 + x59);
- uint32_t x97 = (x96 >> 0x17);
- uint32_t x98 = (x96 & 0x7fffff);
- uint32_t x99 = (x94 + x54);
- uint32_t x100 = (x99 >> 0x17);
- uint32_t x101 = (x99 & 0x7fffff);
- uint32_t x102 = ((0x800000 * x97) + x98);
- uint32_t x103 = (x102 >> 0x17);
- uint32_t x104 = (x102 & 0x7fffff);
- uint32_t x105 = ((x100 + x62) + x103);
- uint32_t x106 = (x105 >> 0x17);
- uint32_t x107 = (x105 & 0x7fffff);
- uint32_t x108 = (x65 + x103);
- uint32_t x109 = (x108 >> 0x17);
- uint32_t x110 = (x108 & 0x7fffff);
- return (Return x104, Return x92, Return x86, Return x80, Return x74, (x106 + x68), Return x107, Return x101, Return x95, Return x89, Return x83, Return x77, (x109 + x71), Return x110))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.v
deleted file mode 100644
index 452075f5b..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.c b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.c
deleted file mode 100644
index 4f2a40c68..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void fesub(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- out[0] = ((0xfffffe + x5) - x31);
- out[1] = ((0xfffffe + x7) - x33);
- out[2] = ((0xfffffe + x9) - x35);
- out[3] = ((0xfffffe + x11) - x37);
- out[4] = ((0xfffffe + x13) - x39);
- out[5] = ((0xfffffe + x15) - x41);
- out[6] = ((0xfffffe + x17) - x43);
- out[7] = ((0xfffffc + x19) - x45);
- out[8] = ((0xfffffe + x21) - x47);
- out[9] = ((0xfffffe + x23) - x49);
- out[10] = ((0xfffffe + x25) - x51);
- out[11] = ((0xfffffe + x27) - x53);
- out[12] = ((0xfffffe + x29) - x55);
- out[13] = ((0xfffffe + x28) - x54);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.v
deleted file mode 100644
index 6e10b5360..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/fesubDisplay.log b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.log
deleted file mode 100644
index f2233a5a9..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- (((0xfffffe + x28) - x54), ((0xfffffe + x29) - x55), ((0xfffffe + x27) - x53), ((0xfffffe + x25) - x51), ((0xfffffe + x23) - x49), ((0xfffffe + x21) - x47), ((0xfffffc + x19) - x45), ((0xfffffe + x17) - x43), ((0xfffffe + x15) - x41), ((0xfffffe + x13) - x39), ((0xfffffe + x11) - x37), ((0xfffffe + x9) - x35), ((0xfffffe + x7) - x33), ((0xfffffe + x5) - x31)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.v
deleted file mode 100644
index 30d1d831c..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.c b/src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.c
deleted file mode 100644
index 3e2f2b671..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void freeze(uint32_t out[14], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0x7fffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0x7fffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0x7fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0x7fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0x7ffffe);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0x7fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0x7fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0x7fffff);
- { uint32_t x69 = cmovznz32(x68, 0x0, 0xffffffff);
- { uint32_t x70 = (x69 & 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- { uint32_t x74 = (x69 & 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- { uint32_t x78 = (x69 & 0x7fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- { uint32_t x82 = (x69 & 0x7fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- { uint32_t x86 = (x69 & 0x7fffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- { uint32_t x90 = (x69 & 0x7fffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- { uint32_t x94 = (x69 & 0x7fffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- { uint32_t x98 = (x69 & 0x7ffffe);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- { uint32_t x102 = (x69 & 0x7fffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- { uint32_t x106 = (x69 & 0x7fffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- { uint32_t x110 = (x69 & 0x7fffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- { uint32_t x114 = (x69 & 0x7fffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- { uint32_t x118 = (x69 & 0x7fffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- { uint32_t x122 = (x69 & 0x7fffff);
- { uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- out[0] = x72;
- out[1] = x76;
- out[2] = x80;
- out[3] = x84;
- out[4] = x88;
- out[5] = x92;
- out[6] = x96;
- out[7] = x100;
- out[8] = x104;
- out[9] = x108;
- out[10] = x112;
- out[11] = x116;
- out[12] = x120;
- out[13] = x124;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.v
deleted file mode 100644
index 1e89dc14b..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.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_2e322m2e161m1_14limbs/freezeDisplay.log b/src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.log
deleted file mode 100644
index 5769da713..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.log
+++ /dev/null
@@ -1,50 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0x7fffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0x7fffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0x7fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0x7fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0x7ffffe);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0x7fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0x7fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0x7fffff);
- uint32_t x69 = cmovznz32(x68, 0x0, 0xffffffff);
- uint32_t x70 = (x69 & 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = (x69 & 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = (x69 & 0x7fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = (x69 & 0x7fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = (x69 & 0x7fffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = (x69 & 0x7fffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = (x69 & 0x7fffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = (x69 & 0x7ffffe);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = (x69 & 0x7fffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = (x69 & 0x7fffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = (x69 & 0x7fffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = (x69 & 0x7fffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = (x69 & 0x7fffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = (x69 & 0x7fffff);
- uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- (Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.v b/src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.v
deleted file mode 100644
index 7606e76c2..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e322m2e161m1_14limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e322m2e161m1_14limbs/py_interpreter.sh b/src/Specific/solinas32_2e322m2e161m1_14limbs/py_interpreter.sh
deleted file mode 100755
index 936986933..000000000
--- a/src/Specific/solinas32_2e322m2e161m1_14limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**322 - 2**161 - 1' -Dmodulus_bytes='23' -Da24='121665'
diff --git a/src/Specific/solinas32_2e336m17_13limbs/CurveParameters.v b/src/Specific/solinas32_2e336m17_13limbs/CurveParameters.v
deleted file mode 100644
index 267848b6c..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 17
-Base: 25 + 11/13
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 25 + 11/13;
- bitwidth := 32;
- s := 2^336;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 13); [0; 1]]%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_2e336m17_13limbs/Synthesis.v b/src/Specific/solinas32_2e336m17_13limbs/Synthesis.v
deleted file mode 100644
index ec6a4e6f5..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/compiler.sh b/src/Specific/solinas32_2e336m17_13limbs/compiler.sh
deleted file mode 100755
index f97220efe..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas32_2e336m17_13limbs/compilerxx.sh b/src/Specific/solinas32_2e336m17_13limbs/compilerxx.sh
deleted file mode 100755
index 0f79002b4..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas32_2e336m17_13limbs/feadd.c b/src/Specific/solinas32_2e336m17_13limbs/feadd.c
deleted file mode 100644
index dbbe1da57..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/feadd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = (x5 + x29);
- out[1] = (x7 + x31);
- out[2] = (x9 + x33);
- out[3] = (x11 + x35);
- out[4] = (x13 + x37);
- out[5] = (x15 + x39);
- out[6] = (x17 + x41);
- out[7] = (x19 + x43);
- out[8] = (x21 + x45);
- out[9] = (x23 + x47);
- out[10] = (x25 + x49);
- out[11] = (x27 + x51);
- out[12] = (x26 + x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_13limbs/feadd.v b/src/Specific/solinas32_2e336m17_13limbs/feadd.v
deleted file mode 100644
index 87627e474..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/feaddDisplay.log b/src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.log
deleted file mode 100644
index e64abeaba..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- ((x26 + x50), (x27 + x51), (x25 + x49), (x23 + x47), (x21 + x45), (x19 + x43), (x17 + x41), (x15 + x39), (x13 + x37), (x11 + x35), (x9 + x33), (x7 + x31), (x5 + x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.v b/src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.v
deleted file mode 100644
index 360718417..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fecarry.v b/src/Specific/solinas32_2e336m17_13limbs/fecarry.v
deleted file mode 100644
index b527b65ea..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/fecarryDisplay.v b/src/Specific/solinas32_2e336m17_13limbs/fecarryDisplay.v
deleted file mode 100644
index 6d296cc35..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e336m17_13limbs/femul.c b/src/Specific/solinas32_2e336m17_13limbs/femul.c
deleted file mode 100644
index 46f0f1298..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/femul.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void femul(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0x11 * (0x2 * ((uint64_t)x26 * x50))));
- { uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))));
- { uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x50)) + ((0x2 * ((uint64_t)x27 * x51)) + (0x2 * ((uint64_t)x26 * x49))))));
- { uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x50)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (0x2 * ((uint64_t)x26 * x47)))))));
- { uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0x11 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- { uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))));
- { uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x50)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + (0x2 * ((uint64_t)x26 * x37))))))))))));
- { uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x11 * ((0x2 * ((uint64_t)x11 * x50)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + (0x2 * ((uint64_t)x26 * x35)))))))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x11 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- { uint64_t x64 = (((uint64_t)x5 * x29) + (0x11 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x63);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x62);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x61);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x60);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x59);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x58);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x57);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x56);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x55);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x54);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x53);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x52);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x66 + (0x11 * x101));
- { uint32_t x104 = (uint32_t) (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint32_t x106 = (x104 + x69);
- { uint32_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = (x106 & 0x3ffffff);
- out[0] = x105;
- out[1] = x108;
- out[2] = (x107 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- out[10] = x96;
- out[11] = x99;
- out[12] = x102;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_13limbs/femul.v b/src/Specific/solinas32_2e336m17_13limbs/femul.v
deleted file mode 100644
index 7b93fabe0..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/femulDisplay.log b/src/Specific/solinas32_2e336m17_13limbs/femulDisplay.log
deleted file mode 100644
index 574782726..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/femulDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0x11 * (0x2 * ((uint64_t)x26 * x50))));
- uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))));
- uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x50)) + ((0x2 * ((uint64_t)x27 * x51)) + (0x2 * ((uint64_t)x26 * x49))))));
- uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x50)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (0x2 * ((uint64_t)x26 * x47)))))));
- uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))));
- uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0x11 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))));
- uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x50)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + (0x2 * ((uint64_t)x26 * x37))))))))))));
- uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x11 * ((0x2 * ((uint64_t)x11 * x50)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + (0x2 * ((uint64_t)x26 * x35)))))))))))));
- uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x11 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- uint64_t x64 = (((uint64_t)x5 * x29) + (0x11 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x63);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x62);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x61);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x60);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x59);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x58);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x57);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x56);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x55);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x54);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x53);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x52);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x66 + (0x11 * x101));
- uint32_t x104 = (uint32_t) (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint32_t x106 = (x104 + x69);
- uint32_t x107 = (x106 >> 0x1a);
- uint32_t x108 = (x106 & 0x3ffffff);
- return (Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x107 + x72), Return x108, Return x105))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m17_13limbs/femulDisplay.v b/src/Specific/solinas32_2e336m17_13limbs/femulDisplay.v
deleted file mode 100644
index e8b27afb6..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fesquare.c b/src/Specific/solinas32_2e336m17_13limbs/fesquare.c
deleted file mode 100644
index 170b92b82..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesquare.c
+++ /dev/null
@@ -1,86 +0,0 @@
-static void fesquare(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (0x2 * ((uint64_t)x23 * x23))));
- { uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))));
- { uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x23)) + ((0x2 * ((uint64_t)x24 * x24)) + (0x2 * ((uint64_t)x23 * x22))))));
- { uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x23)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (0x2 * ((uint64_t)x23 * x20)))))));
- { uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))));
- { uint64_t x31 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x23)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (0x2 * ((uint64_t)x23 * x10))))))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x23)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (0x2 * ((uint64_t)x23 * x8)))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- { uint64_t x37 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x36);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x35);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x34);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x33);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x32);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x31);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x30);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x29);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x28);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x27);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x26);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x25);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x39 + (0x11 * x74));
- { uint32_t x77 = (uint32_t) (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint32_t x79 = (x77 + x42);
- { uint32_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = (x79 & 0x3ffffff);
- out[0] = x78;
- out[1] = x81;
- out[2] = (x80 + x45);
- out[3] = x48;
- out[4] = x51;
- out[5] = x54;
- out[6] = x57;
- out[7] = x60;
- out[8] = x63;
- out[9] = x66;
- out[10] = x69;
- out[11] = x72;
- out[12] = x75;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fesquare.v b/src/Specific/solinas32_2e336m17_13limbs/fesquare.v
deleted file mode 100644
index f371426b4..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/fesquareDisplay.log b/src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.log
deleted file mode 100644
index 6e6bedf99..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (0x2 * ((uint64_t)x23 * x23))));
- uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))));
- uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x23)) + ((0x2 * ((uint64_t)x24 * x24)) + (0x2 * ((uint64_t)x23 * x22))))));
- uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x23)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (0x2 * ((uint64_t)x23 * x20)))))));
- uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))));
- uint64_t x31 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x23)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (0x2 * ((uint64_t)x23 * x10))))))))))));
- uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x23)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (0x2 * ((uint64_t)x23 * x8)))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- uint64_t x37 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x36);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x35);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x34);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x33);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x32);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x31);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x30);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x29);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x28);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x27);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x26);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x25);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x39 + (0x11 * x74));
- uint32_t x77 = (uint32_t) (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint32_t x79 = (x77 + x42);
- uint32_t x80 = (x79 >> 0x1a);
- uint32_t x81 = (x79 & 0x3ffffff);
- return (Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, (x80 + x45), Return x81, Return x78))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.v b/src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.v
deleted file mode 100644
index 3a6eada0b..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fesub.c b/src/Specific/solinas32_2e336m17_13limbs/fesub.c
deleted file mode 100644
index 74bbeadc1..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesub.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void fesub(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = ((0x7ffffde + x5) - x29);
- out[1] = ((0x7fffffe + x7) - x31);
- out[2] = ((0x7fffffe + x9) - x33);
- out[3] = ((0x7fffffe + x11) - x35);
- out[4] = ((0x7fffffe + x13) - x37);
- out[5] = ((0x7fffffe + x15) - x39);
- out[6] = ((0x3fffffe + x17) - x41);
- out[7] = ((0x7fffffe + x19) - x43);
- out[8] = ((0x7fffffe + x21) - x45);
- out[9] = ((0x7fffffe + x23) - x47);
- out[10] = ((0x7fffffe + x25) - x49);
- out[11] = ((0x7fffffe + x27) - x51);
- out[12] = ((0x3fffffe + x26) - x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fesub.v b/src/Specific/solinas32_2e336m17_13limbs/fesub.v
deleted file mode 100644
index 721620d20..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/fesubDisplay.log b/src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.log
deleted file mode 100644
index ca98fa373..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- (((0x3fffffe + x26) - x50), ((0x7fffffe + x27) - x51), ((0x7fffffe + x25) - x49), ((0x7fffffe + x23) - x47), ((0x7fffffe + x21) - x45), ((0x7fffffe + x19) - x43), ((0x3fffffe + x17) - x41), ((0x7fffffe + x15) - x39), ((0x7fffffe + x13) - x37), ((0x7fffffe + x11) - x35), ((0x7fffffe + x9) - x33), ((0x7fffffe + x7) - x31), ((0x7ffffde + x5) - x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.v b/src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.v
deleted file mode 100644
index 014c00b64..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e336m17_13limbs/freeze.c b/src/Specific/solinas32_2e336m17_13limbs/freeze.c
deleted file mode 100644
index e5d1174b1..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/freeze.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void freeze(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x1ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x1ffffff);
- { uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- { uint32_t x65 = (x64 & 0x3ffffef);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- { uint32_t x69 = (x64 & 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- { uint32_t x73 = (x64 & 0x3ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- { uint32_t x77 = (x64 & 0x3ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- { uint32_t x81 = (x64 & 0x3ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- { uint32_t x85 = (x64 & 0x3ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- { uint32_t x89 = (x64 & 0x1ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- { uint32_t x93 = (x64 & 0x3ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- { uint32_t x97 = (x64 & 0x3ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- { uint32_t x101 = (x64 & 0x3ffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- { uint32_t x105 = (x64 & 0x3ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- { uint32_t x109 = (x64 & 0x3ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- { uint32_t x113 = (x64 & 0x1ffffff);
- { uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- out[0] = x67;
- out[1] = x71;
- out[2] = x75;
- out[3] = x79;
- out[4] = x83;
- out[5] = x87;
- out[6] = x91;
- out[7] = x95;
- out[8] = x99;
- out[9] = x103;
- out[10] = x107;
- out[11] = x111;
- out[12] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_13limbs/freeze.v b/src/Specific/solinas32_2e336m17_13limbs/freeze.v
deleted file mode 100644
index 5752c3578..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.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_2e336m17_13limbs/freezeDisplay.log b/src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.log
deleted file mode 100644
index 4f2e96d47..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x1ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x1ffffff);
- uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- uint32_t x65 = (x64 & 0x3ffffef);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- uint32_t x69 = (x64 & 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- uint32_t x73 = (x64 & 0x3ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- uint32_t x77 = (x64 & 0x3ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- uint32_t x81 = (x64 & 0x3ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- uint32_t x85 = (x64 & 0x3ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- uint32_t x89 = (x64 & 0x1ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- uint32_t x93 = (x64 & 0x3ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- uint32_t x97 = (x64 & 0x3ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- uint32_t x101 = (x64 & 0x3ffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- uint32_t x105 = (x64 & 0x3ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- uint32_t x109 = (x64 & 0x3ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- uint32_t x113 = (x64 & 0x1ffffff);
- uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.v b/src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.v
deleted file mode 100644
index e68560c75..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_13limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e336m17_13limbs/py_interpreter.sh b/src/Specific/solinas32_2e336m17_13limbs/py_interpreter.sh
deleted file mode 100755
index 07030b62b..000000000
--- a/src/Specific/solinas32_2e336m17_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 17' -Dmodulus_bytes='25 + 11/13' -Da24='121665'
diff --git a/src/Specific/solinas32_2e336m17_14limbs/CurveParameters.v b/src/Specific/solinas32_2e336m17_14limbs/CurveParameters.v
deleted file mode 100644
index 15113ce93..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 17
-Base: 24
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 14%nat;
- base := 24;
- bitwidth := 32;
- s := 2^336;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 14); [0; 1]]%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_2e336m17_14limbs/Synthesis.v b/src/Specific/solinas32_2e336m17_14limbs/Synthesis.v
deleted file mode 100644
index 753a0f2a6..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/compiler.sh b/src/Specific/solinas32_2e336m17_14limbs/compiler.sh
deleted file mode 100755
index c2f3599d8..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas32_2e336m17_14limbs/compilerxx.sh b/src/Specific/solinas32_2e336m17_14limbs/compilerxx.sh
deleted file mode 100755
index 408178be0..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas32_2e336m17_14limbs/feadd.c b/src/Specific/solinas32_2e336m17_14limbs/feadd.c
deleted file mode 100644
index 6b2a8feaf..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/feadd.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void feadd(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- out[0] = (x5 + x31);
- out[1] = (x7 + x33);
- out[2] = (x9 + x35);
- out[3] = (x11 + x37);
- out[4] = (x13 + x39);
- out[5] = (x15 + x41);
- out[6] = (x17 + x43);
- out[7] = (x19 + x45);
- out[8] = (x21 + x47);
- out[9] = (x23 + x49);
- out[10] = (x25 + x51);
- out[11] = (x27 + x53);
- out[12] = (x29 + x55);
- out[13] = (x28 + x54);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_14limbs/feadd.v b/src/Specific/solinas32_2e336m17_14limbs/feadd.v
deleted file mode 100644
index 884edcecf..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/feaddDisplay.log b/src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.log
deleted file mode 100644
index ff11bcba0..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- ((x28 + x54), (x29 + x55), (x27 + x53), (x25 + x51), (x23 + x49), (x21 + x47), (x19 + x45), (x17 + x43), (x15 + x41), (x13 + x39), (x11 + x37), (x9 + x35), (x7 + x33), (x5 + x31)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.v b/src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.v
deleted file mode 100644
index 3b63bcdfc..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fecarry.v b/src/Specific/solinas32_2e336m17_14limbs/fecarry.v
deleted file mode 100644
index 1b13bde17..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/fecarryDisplay.v b/src/Specific/solinas32_2e336m17_14limbs/fecarryDisplay.v
deleted file mode 100644
index 3be4c0671..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e336m17_14limbs/femul.c b/src/Specific/solinas32_2e336m17_14limbs/femul.c
deleted file mode 100644
index eb775fe27..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/femul.c
+++ /dev/null
@@ -1,106 +0,0 @@
-static void femul(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- { uint64_t x56 = (((uint64_t)x5 * x54) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + (((uint64_t)x29 * x33) + ((uint64_t)x28 * x31))))))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (((uint64_t)x27 * x33) + ((uint64_t)x29 * x31))))))))))))) + (0x11 * ((uint64_t)x28 * x54)));
- { uint64_t x58 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x27 * x31)))))))))))) + (0x11 * (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))));
- { uint64_t x59 = ((((uint64_t)x5 * x51) + (((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)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x25 * x31))))))))))) + (0x11 * (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))));
- { uint64_t x60 = ((((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 * x33) + ((uint64_t)x23 * x31)))))))))) + (0x11 * (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))));
- { uint64_t x61 = ((((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)x19 * x33) + ((uint64_t)x21 * x31))))))))) + (0x11 * (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))));
- { uint64_t x62 = ((((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)x17 * x33) + ((uint64_t)x19 * x31)))))))) + (0x11 * (((uint64_t)x21 * x54) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((uint64_t)x28 * x47))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))) + (0x11 * (((uint64_t)x19 * x54) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((uint64_t)x28 * x45)))))))));
- { uint64_t x64 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))) + (0x11 * (((uint64_t)x17 * x54) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((uint64_t)x28 * x43))))))))));
- { uint64_t x65 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))) + (0x11 * (((uint64_t)x15 * x54) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x28 * x41)))))))))));
- { uint64_t x66 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))) + (0x11 * (((uint64_t)x13 * x54) + (((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)x28 * x39))))))))))));
- { uint64_t x67 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))) + (0x11 * (((uint64_t)x11 * x54) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x28 * x37)))))))))))));
- { uint64_t x68 = ((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (0x11 * (((uint64_t)x9 * x54) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x28 * x35))))))))))))));
- { uint64_t x69 = (((uint64_t)x5 * x31) + (0x11 * (((uint64_t)x7 * x54) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (((uint64_t)x29 * x35) + ((uint64_t)x28 * x33)))))))))))))));
- { uint64_t x70 = (x69 >> 0x18);
- { uint32_t x71 = ((uint32_t)x69 & 0xffffff);
- { uint64_t x72 = (x70 + x68);
- { uint64_t x73 = (x72 >> 0x18);
- { uint32_t x74 = ((uint32_t)x72 & 0xffffff);
- { uint64_t x75 = (x73 + x67);
- { uint64_t x76 = (x75 >> 0x18);
- { uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- { uint64_t x78 = (x76 + x66);
- { uint64_t x79 = (x78 >> 0x18);
- { uint32_t x80 = ((uint32_t)x78 & 0xffffff);
- { uint64_t x81 = (x79 + x65);
- { uint64_t x82 = (x81 >> 0x18);
- { uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- { uint64_t x84 = (x82 + x64);
- { uint64_t x85 = (x84 >> 0x18);
- { uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- { uint64_t x87 = (x85 + x63);
- { uint64_t x88 = (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint64_t x90 = (x88 + x62);
- { uint64_t x91 = (x90 >> 0x18);
- { uint32_t x92 = ((uint32_t)x90 & 0xffffff);
- { uint64_t x93 = (x91 + x61);
- { uint64_t x94 = (x93 >> 0x18);
- { uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- { uint64_t x96 = (x94 + x60);
- { uint64_t x97 = (x96 >> 0x18);
- { uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- { uint64_t x99 = (x97 + x59);
- { uint64_t x100 = (x99 >> 0x18);
- { uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- { uint64_t x102 = (x100 + x58);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x103 + x57);
- { uint64_t x106 = (x105 >> 0x18);
- { uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- { uint64_t x108 = (x106 + x56);
- { uint32_t x109 = (uint32_t) (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x71 + ((uint64_t)0x11 * x109));
- { uint32_t x112 = (uint32_t) (x111 >> 0x18);
- { uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- { uint32_t x114 = (x112 + x74);
- { uint32_t x115 = (x114 >> 0x18);
- { uint32_t x116 = (x114 & 0xffffff);
- out[0] = x113;
- out[1] = x116;
- out[2] = (x115 + x77);
- out[3] = x80;
- out[4] = x83;
- out[5] = x86;
- out[6] = x89;
- out[7] = x92;
- out[8] = x95;
- out[9] = x98;
- out[10] = x101;
- out[11] = x104;
- out[12] = x107;
- out[13] = x110;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_14limbs/femul.v b/src/Specific/solinas32_2e336m17_14limbs/femul.v
deleted file mode 100644
index 3ecc61b71..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/femulDisplay.log b/src/Specific/solinas32_2e336m17_14limbs/femulDisplay.log
deleted file mode 100644
index d47b7bb6b..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/femulDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint64_t x56 = (((uint64_t)x5 * x54) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + (((uint64_t)x29 * x33) + ((uint64_t)x28 * x31))))))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (((uint64_t)x27 * x33) + ((uint64_t)x29 * x31))))))))))))) + (0x11 * ((uint64_t)x28 * x54)));
- uint64_t x58 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x27 * x31)))))))))))) + (0x11 * (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))));
- uint64_t x59 = ((((uint64_t)x5 * x51) + (((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)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x25 * x31))))))))))) + (0x11 * (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))));
- uint64_t x60 = ((((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 * x33) + ((uint64_t)x23 * x31)))))))))) + (0x11 * (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))));
- uint64_t x61 = ((((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)x19 * x33) + ((uint64_t)x21 * x31))))))))) + (0x11 * (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))));
- uint64_t x62 = ((((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)x17 * x33) + ((uint64_t)x19 * x31)))))))) + (0x11 * (((uint64_t)x21 * x54) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((uint64_t)x28 * x47))))))));
- uint64_t x63 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))) + (0x11 * (((uint64_t)x19 * x54) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((uint64_t)x28 * x45)))))))));
- uint64_t x64 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))) + (0x11 * (((uint64_t)x17 * x54) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((uint64_t)x28 * x43))))))))));
- uint64_t x65 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))) + (0x11 * (((uint64_t)x15 * x54) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x28 * x41)))))))))));
- uint64_t x66 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))) + (0x11 * (((uint64_t)x13 * x54) + (((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)x28 * x39))))))))))));
- uint64_t x67 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))) + (0x11 * (((uint64_t)x11 * x54) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x28 * x37)))))))))))));
- uint64_t x68 = ((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (0x11 * (((uint64_t)x9 * x54) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x28 * x35))))))))))))));
- uint64_t x69 = (((uint64_t)x5 * x31) + (0x11 * (((uint64_t)x7 * x54) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (((uint64_t)x29 * x35) + ((uint64_t)x28 * x33)))))))))))))));
- uint64_t x70 = (x69 >> 0x18);
- uint32_t x71 = ((uint32_t)x69 & 0xffffff);
- uint64_t x72 = (x70 + x68);
- uint64_t x73 = (x72 >> 0x18);
- uint32_t x74 = ((uint32_t)x72 & 0xffffff);
- uint64_t x75 = (x73 + x67);
- uint64_t x76 = (x75 >> 0x18);
- uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- uint64_t x78 = (x76 + x66);
- uint64_t x79 = (x78 >> 0x18);
- uint32_t x80 = ((uint32_t)x78 & 0xffffff);
- uint64_t x81 = (x79 + x65);
- uint64_t x82 = (x81 >> 0x18);
- uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- uint64_t x84 = (x82 + x64);
- uint64_t x85 = (x84 >> 0x18);
- uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- uint64_t x87 = (x85 + x63);
- uint64_t x88 = (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint64_t x90 = (x88 + x62);
- uint64_t x91 = (x90 >> 0x18);
- uint32_t x92 = ((uint32_t)x90 & 0xffffff);
- uint64_t x93 = (x91 + x61);
- uint64_t x94 = (x93 >> 0x18);
- uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- uint64_t x96 = (x94 + x60);
- uint64_t x97 = (x96 >> 0x18);
- uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- uint64_t x99 = (x97 + x59);
- uint64_t x100 = (x99 >> 0x18);
- uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- uint64_t x102 = (x100 + x58);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x103 + x57);
- uint64_t x106 = (x105 >> 0x18);
- uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- uint64_t x108 = (x106 + x56);
- uint32_t x109 = (uint32_t) (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x71 + ((uint64_t)0x11 * x109));
- uint32_t x112 = (uint32_t) (x111 >> 0x18);
- uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- uint32_t x114 = (x112 + x74);
- uint32_t x115 = (x114 >> 0x18);
- uint32_t x116 = (x114 & 0xffffff);
- return (Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, Return x80, (x115 + x77), Return x116, Return x113))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m17_14limbs/femulDisplay.v b/src/Specific/solinas32_2e336m17_14limbs/femulDisplay.v
deleted file mode 100644
index 8222fa51f..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fesquare.c b/src/Specific/solinas32_2e336m17_14limbs/fesquare.c
deleted file mode 100644
index 5b42995f1..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesquare.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void fesquare(uint32_t out[14], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x27 = (((uint64_t)x2 * x25) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x25 * x2))))))))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((uint64_t)x25 * x25)));
- { uint64_t x29 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))));
- { uint64_t x30 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))));
- { uint64_t x31 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))));
- { uint64_t x32 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))));
- { uint64_t x33 = ((((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)))))))) + (0x11 * (((uint64_t)x18 * x25) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x25 * x18))))))));
- { uint64_t x34 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x25) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((uint64_t)x25 * x16)))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x25) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + ((uint64_t)x25 * x14))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x25) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((uint64_t)x25 * x12)))))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x25) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((uint64_t)x25 * x10))))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x25) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((uint64_t)x25 * x8)))))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x25) + (((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)x25 * x6))))))))))))));
- { uint64_t x40 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x25) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((uint64_t)x25 * x4)))))))))))))));
- { uint64_t x41 = (x40 >> 0x18);
- { uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- { uint64_t x43 = (x41 + x39);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x38);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x37);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x36);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x35);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x34);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x32);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x31);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x30);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x29);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x28);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x27);
- { uint32_t x80 = (uint32_t) (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x42 + ((uint64_t)0x11 * x80));
- { uint32_t x83 = (uint32_t) (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint32_t x85 = (x83 + x45);
- { uint32_t x86 = (x85 >> 0x18);
- { uint32_t x87 = (x85 & 0xffffff);
- out[0] = x84;
- out[1] = x87;
- out[2] = (x86 + x48);
- out[3] = x51;
- out[4] = x54;
- out[5] = x57;
- out[6] = x60;
- out[7] = x63;
- out[8] = x66;
- out[9] = x69;
- out[10] = x72;
- out[11] = x75;
- out[12] = x78;
- out[13] = x81;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fesquare.v b/src/Specific/solinas32_2e336m17_14limbs/fesquare.v
deleted file mode 100644
index 9dbeb805b..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/fesquareDisplay.log b/src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.log
deleted file mode 100644
index 392aa9c3a..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x27 = (((uint64_t)x2 * x25) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x25 * x2))))))))))))));
- uint64_t x28 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((uint64_t)x25 * x25)));
- uint64_t x29 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))));
- uint64_t x30 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))));
- uint64_t x31 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))));
- uint64_t x32 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))));
- uint64_t x33 = ((((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)))))))) + (0x11 * (((uint64_t)x18 * x25) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x25 * x18))))))));
- uint64_t x34 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x25) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((uint64_t)x25 * x16)))))))));
- uint64_t x35 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x25) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + ((uint64_t)x25 * x14))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x25) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((uint64_t)x25 * x12)))))))))));
- uint64_t x37 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x25) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((uint64_t)x25 * x10))))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x25) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((uint64_t)x25 * x8)))))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x25) + (((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)x25 * x6))))))))))))));
- uint64_t x40 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x25) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((uint64_t)x25 * x4)))))))))))))));
- uint64_t x41 = (x40 >> 0x18);
- uint32_t x42 = ((uint32_t)x40 & 0xffffff);
- uint64_t x43 = (x41 + x39);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x38);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x37);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x36);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x35);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x34);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x32);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x31);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x30);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x29);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x28);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x27);
- uint32_t x80 = (uint32_t) (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x42 + ((uint64_t)0x11 * x80));
- uint32_t x83 = (uint32_t) (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint32_t x85 = (x83 + x45);
- uint32_t x86 = (x85 >> 0x18);
- uint32_t x87 = (x85 & 0xffffff);
- return (Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, (x86 + x48), Return x87, Return x84))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.v b/src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.v
deleted file mode 100644
index 45ddc4d75..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fesub.c b/src/Specific/solinas32_2e336m17_14limbs/fesub.c
deleted file mode 100644
index c3cc34933..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesub.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void fesub(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- out[0] = ((0x1ffffde + x5) - x31);
- out[1] = ((0x1fffffe + x7) - x33);
- out[2] = ((0x1fffffe + x9) - x35);
- out[3] = ((0x1fffffe + x11) - x37);
- out[4] = ((0x1fffffe + x13) - x39);
- out[5] = ((0x1fffffe + x15) - x41);
- out[6] = ((0x1fffffe + x17) - x43);
- out[7] = ((0x1fffffe + x19) - x45);
- out[8] = ((0x1fffffe + x21) - x47);
- out[9] = ((0x1fffffe + x23) - x49);
- out[10] = ((0x1fffffe + x25) - x51);
- out[11] = ((0x1fffffe + x27) - x53);
- out[12] = ((0x1fffffe + x29) - x55);
- out[13] = ((0x1fffffe + x28) - x54);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fesub.v b/src/Specific/solinas32_2e336m17_14limbs/fesub.v
deleted file mode 100644
index bec589f96..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/fesubDisplay.log b/src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.log
deleted file mode 100644
index 7abd23722..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- (((0x1fffffe + x28) - x54), ((0x1fffffe + x29) - x55), ((0x1fffffe + x27) - x53), ((0x1fffffe + x25) - x51), ((0x1fffffe + x23) - x49), ((0x1fffffe + x21) - x47), ((0x1fffffe + x19) - x45), ((0x1fffffe + x17) - x43), ((0x1fffffe + x15) - x41), ((0x1fffffe + x13) - x39), ((0x1fffffe + x11) - x37), ((0x1fffffe + x9) - x35), ((0x1fffffe + x7) - x33), ((0x1ffffde + x5) - x31)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.v b/src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.v
deleted file mode 100644
index 907de86ea..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e336m17_14limbs/freeze.c b/src/Specific/solinas32_2e336m17_14limbs/freeze.c
deleted file mode 100644
index 2d7a3f5f0..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/freeze.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void freeze(uint32_t out[14], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffef);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0xffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0xffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
- { uint32_t x69 = cmovznz32(x68, 0x0, 0xffffffff);
- { uint32_t x70 = (x69 & 0xffffef);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- { uint32_t x74 = (x69 & 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- { uint32_t x78 = (x69 & 0xffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- { uint32_t x82 = (x69 & 0xffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- { uint32_t x86 = (x69 & 0xffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- { uint32_t x90 = (x69 & 0xffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- { uint32_t x94 = (x69 & 0xffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- { uint32_t x98 = (x69 & 0xffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- { uint32_t x102 = (x69 & 0xffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- { uint32_t x106 = (x69 & 0xffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- { uint32_t x110 = (x69 & 0xffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- { uint32_t x114 = (x69 & 0xffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- { uint32_t x118 = (x69 & 0xffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- { uint32_t x122 = (x69 & 0xffffff);
- { uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- out[0] = x72;
- out[1] = x76;
- out[2] = x80;
- out[3] = x84;
- out[4] = x88;
- out[5] = x92;
- out[6] = x96;
- out[7] = x100;
- out[8] = x104;
- out[9] = x108;
- out[10] = x112;
- out[11] = x116;
- out[12] = x120;
- out[13] = x124;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m17_14limbs/freeze.v b/src/Specific/solinas32_2e336m17_14limbs/freeze.v
deleted file mode 100644
index 607da7a00..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.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_2e336m17_14limbs/freezeDisplay.log b/src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.log
deleted file mode 100644
index 17b8867bb..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.log
+++ /dev/null
@@ -1,50 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffef);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
- uint32_t x69 = cmovznz32(x68, 0x0, 0xffffffff);
- uint32_t x70 = (x69 & 0xffffef);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = (x69 & 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = (x69 & 0xffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = (x69 & 0xffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = (x69 & 0xffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = (x69 & 0xffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = (x69 & 0xffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = (x69 & 0xffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = (x69 & 0xffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = (x69 & 0xffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = (x69 & 0xffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = (x69 & 0xffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = (x69 & 0xffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = (x69 & 0xffffff);
- uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- (Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.v b/src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.v
deleted file mode 100644
index 4ff3f3e97..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m17_14limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e336m17_14limbs/py_interpreter.sh b/src/Specific/solinas32_2e336m17_14limbs/py_interpreter.sh
deleted file mode 100755
index ed8665123..000000000
--- a/src/Specific/solinas32_2e336m17_14limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 17' -Dmodulus_bytes='24' -Da24='121665'
diff --git a/src/Specific/solinas32_2e336m3_12limbs/CurveParameters.v b/src/Specific/solinas32_2e336m3_12limbs/CurveParameters.v
deleted file mode 100644
index 8bcb0ddbc..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 3
-Base: 28
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 12%nat;
- base := 28;
- bitwidth := 32;
- s := 2^336;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 12); [0; 1]]%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_2e336m3_12limbs/Synthesis.v b/src/Specific/solinas32_2e336m3_12limbs/Synthesis.v
deleted file mode 100644
index 7e79a29d2..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/compiler.sh b/src/Specific/solinas32_2e336m3_12limbs/compiler.sh
deleted file mode 100755
index 9a407a560..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas32_2e336m3_12limbs/compilerxx.sh b/src/Specific/solinas32_2e336m3_12limbs/compilerxx.sh
deleted file mode 100755
index e17160dc9..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='12' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas32_2e336m3_12limbs/feadd.c b/src/Specific/solinas32_2e336m3_12limbs/feadd.c
deleted file mode 100644
index 68eccd2bc..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/feadd.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void feadd(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = (x5 + x27);
- out[1] = (x7 + x29);
- out[2] = (x9 + x31);
- out[3] = (x11 + x33);
- out[4] = (x13 + x35);
- out[5] = (x15 + x37);
- out[6] = (x17 + x39);
- out[7] = (x19 + x41);
- out[8] = (x21 + x43);
- out[9] = (x23 + x45);
- out[10] = (x25 + x47);
- out[11] = (x24 + x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_12limbs/feadd.v b/src/Specific/solinas32_2e336m3_12limbs/feadd.v
deleted file mode 100644
index a8684812a..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/feaddDisplay.log b/src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.log
deleted file mode 100644
index 4109af59c..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- ((x24 + x46), (x25 + x47), (x23 + x45), (x21 + x43), (x19 + x41), (x17 + x39), (x15 + x37), (x13 + x35), (x11 + x33), (x9 + x31), (x7 + x29), (x5 + x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.v b/src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.v
deleted file mode 100644
index 4af3543fd..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fecarry.v b/src/Specific/solinas32_2e336m3_12limbs/fecarry.v
deleted file mode 100644
index 56135b385..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/fecarryDisplay.v b/src/Specific/solinas32_2e336m3_12limbs/fecarryDisplay.v
deleted file mode 100644
index 1c66581c3..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e336m3_12limbs/femul.c b/src/Specific/solinas32_2e336m3_12limbs/femul.c
deleted file mode 100644
index 4d7bf5a52..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/femul.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void femul(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- { uint64_t x48 = (((uint64_t)x5 * x46) + (((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 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
- { uint64_t x49 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x3 * ((uint64_t)x24 * x46)));
- { uint64_t x50 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x3 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
- { uint64_t x51 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x21 * x27))))))))) + (0x3 * (((uint64_t)x23 * x46) + (((uint64_t)x25 * x47) + ((uint64_t)x24 * x45)))));
- { uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x3 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- { uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x3 * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
- { ℤ x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) +ℤ (0x3 * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
- { ℤ x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) +ℤ (0x3 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
- { ℤ x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) +ℤ (0x3 *ℤ (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
- { ℤ x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) +ℤ (0x3 *ℤ (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
- { ℤ x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) +ℤ (0x3 *ℤ (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- { ℤ x59 = (((uint64_t)x5 * x27) +ℤ (0x3 *ℤ (((uint64_t)x7 * x46) + (((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)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x24 * x29)))))))))))));
- { uint64_t x60 = (x59 >> 0x1c);
- { uint32_t x61 = (x59 & 0xfffffff);
- { ℤ x62 = (x60 +ℤ x58);
- { uint64_t x63 = (x62 >> 0x1c);
- { uint32_t x64 = (x62 & 0xfffffff);
- { ℤ x65 = (x63 +ℤ x57);
- { uint64_t x66 = (x65 >> 0x1c);
- { uint32_t x67 = (x65 & 0xfffffff);
- { ℤ x68 = (x66 +ℤ x56);
- { uint64_t x69 = (x68 >> 0x1c);
- { uint32_t x70 = (x68 & 0xfffffff);
- { ℤ x71 = (x69 +ℤ x55);
- { uint64_t x72 = (x71 >> 0x1c);
- { uint32_t x73 = (x71 & 0xfffffff);
- { ℤ x74 = (x72 +ℤ x54);
- { uint64_t x75 = (x74 >> 0x1c);
- { uint32_t x76 = (x74 & 0xfffffff);
- { uint64_t x77 = (x75 + x53);
- { uint64_t x78 = (x77 >> 0x1c);
- { uint32_t x79 = ((uint32_t)x77 & 0xfffffff);
- { uint64_t x80 = (x78 + x52);
- { uint64_t x81 = (x80 >> 0x1c);
- { uint32_t x82 = ((uint32_t)x80 & 0xfffffff);
- { uint64_t x83 = (x81 + x51);
- { uint64_t x84 = (x83 >> 0x1c);
- { uint32_t x85 = ((uint32_t)x83 & 0xfffffff);
- { uint64_t x86 = (x84 + x50);
- { uint64_t x87 = (x86 >> 0x1c);
- { uint32_t x88 = ((uint32_t)x86 & 0xfffffff);
- { uint64_t x89 = (x87 + x49);
- { uint64_t x90 = (x89 >> 0x1c);
- { uint32_t x91 = ((uint32_t)x89 & 0xfffffff);
- { uint64_t x92 = (x90 + x48);
- { uint64_t x93 = (x92 >> 0x1c);
- { uint32_t x94 = ((uint32_t)x92 & 0xfffffff);
- { uint64_t x95 = (x61 + (0x3 * x93));
- { uint32_t x96 = (uint32_t) (x95 >> 0x1c);
- { uint32_t x97 = ((uint32_t)x95 & 0xfffffff);
- { uint32_t x98 = (x96 + x64);
- { uint32_t x99 = (x98 >> 0x1c);
- { uint32_t x100 = (x98 & 0xfffffff);
- out[0] = x97;
- out[1] = x100;
- out[2] = (x99 + x67);
- out[3] = x70;
- out[4] = x73;
- out[5] = x76;
- out[6] = x79;
- out[7] = x82;
- out[8] = x85;
- out[9] = x88;
- out[10] = x91;
- out[11] = x94;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_12limbs/femul.v b/src/Specific/solinas32_2e336m3_12limbs/femul.v
deleted file mode 100644
index 74f5a357b..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/femulDisplay.log b/src/Specific/solinas32_2e336m3_12limbs/femulDisplay.log
deleted file mode 100644
index 7b17e6bed..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/femulDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (((uint64_t)x5 * x46) + (((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 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
- uint64_t x49 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x3 * ((uint64_t)x24 * x46)));
- uint64_t x50 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x3 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
- uint64_t x51 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x21 * x27))))))))) + (0x3 * (((uint64_t)x23 * x46) + (((uint64_t)x25 * x47) + ((uint64_t)x24 * x45)))));
- uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x3 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
- uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x3 * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
- ℤ x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) +ℤ (0x3 * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
- ℤ x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) +ℤ (0x3 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
- ℤ x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) +ℤ (0x3 *ℤ (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
- ℤ x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) +ℤ (0x3 *ℤ (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
- ℤ x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) +ℤ (0x3 *ℤ (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
- ℤ x59 = (((uint64_t)x5 * x27) +ℤ (0x3 *ℤ (((uint64_t)x7 * x46) + (((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)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x24 * x29)))))))))))));
- uint64_t x60 = (x59 >> 0x1c);
- uint32_t x61 = (x59 & 0xfffffff);
- ℤ x62 = (x60 +ℤ x58);
- uint64_t x63 = (x62 >> 0x1c);
- uint32_t x64 = (x62 & 0xfffffff);
- ℤ x65 = (x63 +ℤ x57);
- uint64_t x66 = (x65 >> 0x1c);
- uint32_t x67 = (x65 & 0xfffffff);
- ℤ x68 = (x66 +ℤ x56);
- uint64_t x69 = (x68 >> 0x1c);
- uint32_t x70 = (x68 & 0xfffffff);
- ℤ x71 = (x69 +ℤ x55);
- uint64_t x72 = (x71 >> 0x1c);
- uint32_t x73 = (x71 & 0xfffffff);
- ℤ x74 = (x72 +ℤ x54);
- uint64_t x75 = (x74 >> 0x1c);
- uint32_t x76 = (x74 & 0xfffffff);
- uint64_t x77 = (x75 + x53);
- uint64_t x78 = (x77 >> 0x1c);
- uint32_t x79 = ((uint32_t)x77 & 0xfffffff);
- uint64_t x80 = (x78 + x52);
- uint64_t x81 = (x80 >> 0x1c);
- uint32_t x82 = ((uint32_t)x80 & 0xfffffff);
- uint64_t x83 = (x81 + x51);
- uint64_t x84 = (x83 >> 0x1c);
- uint32_t x85 = ((uint32_t)x83 & 0xfffffff);
- uint64_t x86 = (x84 + x50);
- uint64_t x87 = (x86 >> 0x1c);
- uint32_t x88 = ((uint32_t)x86 & 0xfffffff);
- uint64_t x89 = (x87 + x49);
- uint64_t x90 = (x89 >> 0x1c);
- uint32_t x91 = ((uint32_t)x89 & 0xfffffff);
- uint64_t x92 = (x90 + x48);
- uint64_t x93 = (x92 >> 0x1c);
- uint32_t x94 = ((uint32_t)x92 & 0xfffffff);
- uint64_t x95 = (x61 + (0x3 * x93));
- uint32_t x96 = (uint32_t) (x95 >> 0x1c);
- uint32_t x97 = ((uint32_t)x95 & 0xfffffff);
- uint32_t x98 = (x96 + x64);
- uint32_t x99 = (x98 >> 0x1c);
- uint32_t x100 = (x98 & 0xfffffff);
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m3_12limbs/femulDisplay.v b/src/Specific/solinas32_2e336m3_12limbs/femulDisplay.v
deleted file mode 100644
index a3b8eeab9..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fesquare.c b/src/Specific/solinas32_2e336m3_12limbs/fesquare.c
deleted file mode 100644
index 70f7fecb8..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesquare.c
+++ /dev/null
@@ -1,80 +0,0 @@
-static void fesquare(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
- { uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((uint64_t)x21 * x21)));
- { uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
- { uint64_t x26 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x21) + (((uint64_t)x22 * x22) + ((uint64_t)x21 * x20)))));
- { uint64_t x27 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- { uint64_t x28 = ((((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))))))) + (0x3 * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
- { ℤ x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) +ℤ (0x3 * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
- { ℤ x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) +ℤ (0x3 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
- { ℤ x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) +ℤ (0x3 *ℤ (((uint64_t)x10 * x21) + (((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)x21 * x10))))))))));
- { ℤ x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x3 *ℤ (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
- { ℤ x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x3 *ℤ (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- { ℤ x34 = (((uint64_t)x2 * x2) +ℤ (0x3 *ℤ (((uint64_t)x4 * x21) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((uint64_t)x21 * x4)))))))))))));
- { uint64_t x35 = (x34 >> 0x1c);
- { uint32_t x36 = (x34 & 0xfffffff);
- { ℤ x37 = (x35 +ℤ x33);
- { uint64_t x38 = (x37 >> 0x1c);
- { uint32_t x39 = (x37 & 0xfffffff);
- { ℤ x40 = (x38 +ℤ x32);
- { uint64_t x41 = (x40 >> 0x1c);
- { uint32_t x42 = (x40 & 0xfffffff);
- { ℤ x43 = (x41 +ℤ x31);
- { uint64_t x44 = (x43 >> 0x1c);
- { uint32_t x45 = (x43 & 0xfffffff);
- { ℤ x46 = (x44 +ℤ x30);
- { uint64_t x47 = (x46 >> 0x1c);
- { uint32_t x48 = (x46 & 0xfffffff);
- { ℤ x49 = (x47 +ℤ x29);
- { uint64_t x50 = (x49 >> 0x1c);
- { uint32_t x51 = (x49 & 0xfffffff);
- { uint64_t x52 = (x50 + x28);
- { uint64_t x53 = (x52 >> 0x1c);
- { uint32_t x54 = ((uint32_t)x52 & 0xfffffff);
- { uint64_t x55 = (x53 + x27);
- { uint64_t x56 = (x55 >> 0x1c);
- { uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
- { uint64_t x58 = (x56 + x26);
- { uint64_t x59 = (x58 >> 0x1c);
- { uint32_t x60 = ((uint32_t)x58 & 0xfffffff);
- { uint64_t x61 = (x59 + x25);
- { uint64_t x62 = (x61 >> 0x1c);
- { uint32_t x63 = ((uint32_t)x61 & 0xfffffff);
- { uint64_t x64 = (x62 + x24);
- { uint64_t x65 = (x64 >> 0x1c);
- { uint32_t x66 = ((uint32_t)x64 & 0xfffffff);
- { uint64_t x67 = (x65 + x23);
- { uint64_t x68 = (x67 >> 0x1c);
- { uint32_t x69 = ((uint32_t)x67 & 0xfffffff);
- { uint64_t x70 = (x36 + (0x3 * x68));
- { uint32_t x71 = (uint32_t) (x70 >> 0x1c);
- { uint32_t x72 = ((uint32_t)x70 & 0xfffffff);
- { uint32_t x73 = (x71 + x39);
- { uint32_t x74 = (x73 >> 0x1c);
- { uint32_t x75 = (x73 & 0xfffffff);
- out[0] = x72;
- out[1] = x75;
- out[2] = (x74 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- out[7] = x57;
- out[8] = x60;
- out[9] = x63;
- out[10] = x66;
- out[11] = x69;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fesquare.v b/src/Specific/solinas32_2e336m3_12limbs/fesquare.v
deleted file mode 100644
index 06c77680b..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/fesquareDisplay.log b/src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.log
deleted file mode 100644
index 656b75a45..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
- uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((uint64_t)x21 * x21)));
- uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
- uint64_t x26 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x21) + (((uint64_t)x22 * x22) + ((uint64_t)x21 * x20)))));
- uint64_t x27 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
- uint64_t x28 = ((((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))))))) + (0x3 * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
- ℤ x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) +ℤ (0x3 * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
- ℤ x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) +ℤ (0x3 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
- ℤ x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) +ℤ (0x3 *ℤ (((uint64_t)x10 * x21) + (((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)x21 * x10))))))))));
- ℤ x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x3 *ℤ (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
- ℤ x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x3 *ℤ (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
- ℤ x34 = (((uint64_t)x2 * x2) +ℤ (0x3 *ℤ (((uint64_t)x4 * x21) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((uint64_t)x21 * x4)))))))))))));
- uint64_t x35 = (x34 >> 0x1c);
- uint32_t x36 = (x34 & 0xfffffff);
- ℤ x37 = (x35 +ℤ x33);
- uint64_t x38 = (x37 >> 0x1c);
- uint32_t x39 = (x37 & 0xfffffff);
- ℤ x40 = (x38 +ℤ x32);
- uint64_t x41 = (x40 >> 0x1c);
- uint32_t x42 = (x40 & 0xfffffff);
- ℤ x43 = (x41 +ℤ x31);
- uint64_t x44 = (x43 >> 0x1c);
- uint32_t x45 = (x43 & 0xfffffff);
- ℤ x46 = (x44 +ℤ x30);
- uint64_t x47 = (x46 >> 0x1c);
- uint32_t x48 = (x46 & 0xfffffff);
- ℤ x49 = (x47 +ℤ x29);
- uint64_t x50 = (x49 >> 0x1c);
- uint32_t x51 = (x49 & 0xfffffff);
- uint64_t x52 = (x50 + x28);
- uint64_t x53 = (x52 >> 0x1c);
- uint32_t x54 = ((uint32_t)x52 & 0xfffffff);
- uint64_t x55 = (x53 + x27);
- uint64_t x56 = (x55 >> 0x1c);
- uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
- uint64_t x58 = (x56 + x26);
- uint64_t x59 = (x58 >> 0x1c);
- uint32_t x60 = ((uint32_t)x58 & 0xfffffff);
- uint64_t x61 = (x59 + x25);
- uint64_t x62 = (x61 >> 0x1c);
- uint32_t x63 = ((uint32_t)x61 & 0xfffffff);
- uint64_t x64 = (x62 + x24);
- uint64_t x65 = (x64 >> 0x1c);
- uint32_t x66 = ((uint32_t)x64 & 0xfffffff);
- uint64_t x67 = (x65 + x23);
- uint64_t x68 = (x67 >> 0x1c);
- uint32_t x69 = ((uint32_t)x67 & 0xfffffff);
- uint64_t x70 = (x36 + (0x3 * x68));
- uint32_t x71 = (uint32_t) (x70 >> 0x1c);
- uint32_t x72 = ((uint32_t)x70 & 0xfffffff);
- uint32_t x73 = (x71 + x39);
- uint32_t x74 = (x73 >> 0x1c);
- uint32_t x75 = (x73 & 0xfffffff);
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.v b/src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.v
deleted file mode 100644
index 9fba56cda..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fesub.c b/src/Specific/solinas32_2e336m3_12limbs/fesub.c
deleted file mode 100644
index 1fbdaab1a..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesub.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void fesub(uint32_t out[12], const uint32_t in1[12], const uint32_t in2[12]) {
- { const uint32_t x24 = 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 x46 = in2[11];
- { const uint32_t x47 = in2[10];
- { const uint32_t x45 = in2[9];
- { const uint32_t x43 = in2[8];
- { const uint32_t x41 = in2[7];
- { const uint32_t x39 = in2[6];
- { const uint32_t x37 = in2[5];
- { const uint32_t x35 = in2[4];
- { const uint32_t x33 = in2[3];
- { const uint32_t x31 = in2[2];
- { const uint32_t x29 = in2[1];
- { const uint32_t x27 = in2[0];
- out[0] = ((0x1ffffffa + x5) - x27);
- out[1] = ((0x1ffffffe + x7) - x29);
- out[2] = ((0x1ffffffe + x9) - x31);
- out[3] = ((0x1ffffffe + x11) - x33);
- out[4] = ((0x1ffffffe + x13) - x35);
- out[5] = ((0x1ffffffe + x15) - x37);
- out[6] = ((0x1ffffffe + x17) - x39);
- out[7] = ((0x1ffffffe + x19) - x41);
- out[8] = ((0x1ffffffe + x21) - x43);
- out[9] = ((0x1ffffffe + x23) - x45);
- out[10] = ((0x1ffffffe + x25) - x47);
- out[11] = ((0x1ffffffe + x24) - x46);
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fesub.v b/src/Specific/solinas32_2e336m3_12limbs/fesub.v
deleted file mode 100644
index bd7920e70..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/fesubDisplay.log b/src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.log
deleted file mode 100644
index b5fc20900..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- (((0x1ffffffe + x24) - x46), ((0x1ffffffe + x25) - x47), ((0x1ffffffe + x23) - x45), ((0x1ffffffe + x21) - x43), ((0x1ffffffe + x19) - x41), ((0x1ffffffe + x17) - x39), ((0x1ffffffe + x15) - x37), ((0x1ffffffe + x13) - x35), ((0x1ffffffe + x11) - x33), ((0x1ffffffe + x9) - x31), ((0x1ffffffe + x7) - x29), ((0x1ffffffa + x5) - x27)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.v b/src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.v
deleted file mode 100644
index 63721b2c8..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e336m3_12limbs/freeze.c b/src/Specific/solinas32_2e336m3_12limbs/freeze.c
deleted file mode 100644
index 321731d94..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/freeze.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void freeze(uint32_t out[12], const uint32_t in1[12]) {
- { const uint32_t x21 = 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 x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffd);
- { uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xfffffff);
- { uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xfffffff);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0xfffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0xfffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xfffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xfffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0xfffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0xfffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xfffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xfffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xfffffff);
- { uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- { uint32_t x60 = (x59 & 0xffffffd);
- { uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- { uint32_t x64 = (x59 & 0xfffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- { uint32_t x68 = (x59 & 0xfffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- { uint32_t x72 = (x59 & 0xfffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- { uint32_t x76 = (x59 & 0xfffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- { uint32_t x80 = (x59 & 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)) (Return x79, Return x39, Return x80);
- { uint32_t x84 = (x59 & 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 x42, Return x84);
- { uint32_t x88 = (x59 & 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 x45, Return x88);
- { uint32_t x92 = (x59 & 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 x48, Return x92);
- { uint32_t x96 = (x59 & 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 x51, Return x96);
- { uint32_t x100 = (x59 & 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 x54, Return x100);
- { uint32_t x104 = (x59 & 0xfffffff);
- { uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- out[0] = x62;
- out[1] = x66;
- out[2] = x70;
- out[3] = x74;
- out[4] = x78;
- out[5] = x82;
- out[6] = x86;
- out[7] = x90;
- out[8] = x94;
- out[9] = x98;
- out[10] = x102;
- out[11] = x106;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_12limbs/freeze.v b/src/Specific/solinas32_2e336m3_12limbs/freeze.v
deleted file mode 100644
index bda5a779b..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.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_2e336m3_12limbs/freezeDisplay.log b/src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.log
deleted file mode 100644
index 8b4f4961f..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffd);
- uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xfffffff);
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xfffffff);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0xfffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0xfffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xfffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xfffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0xfffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0xfffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xfffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xfffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xfffffff);
- uint32_t x59 = cmovznz32(x58, 0x0, 0xffffffff);
- uint32_t x60 = (x59 & 0xffffffd);
- uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = (x59 & 0xfffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = (x59 & 0xfffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = (x59 & 0xfffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = (x59 & 0xfffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = (x59 & 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)) (Return x79, Return x39, Return x80);
- uint32_t x84 = (x59 & 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 x42, Return x84);
- uint32_t x88 = (x59 & 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 x45, Return x88);
- uint32_t x92 = (x59 & 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 x48, Return x92);
- uint32_t x96 = (x59 & 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 x51, Return x96);
- uint32_t x100 = (x59 & 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 x54, Return x100);
- uint32_t x104 = (x59 & 0xfffffff);
- uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
- (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.v b/src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.v
deleted file mode 100644
index 7ced6bff2..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_12limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e336m3_12limbs/py_interpreter.sh b/src/Specific/solinas32_2e336m3_12limbs/py_interpreter.sh
deleted file mode 100755
index 36fca1cac..000000000
--- a/src/Specific/solinas32_2e336m3_12limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 3' -Dmodulus_bytes='28' -Da24='121665'
diff --git a/src/Specific/solinas32_2e336m3_13limbs/CurveParameters.v b/src/Specific/solinas32_2e336m3_13limbs/CurveParameters.v
deleted file mode 100644
index 101524c5a..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 3
-Base: 25 + 11/13
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 25 + 11/13;
- bitwidth := 32;
- s := 2^336;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 13); [0; 1]]%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_2e336m3_13limbs/Synthesis.v b/src/Specific/solinas32_2e336m3_13limbs/Synthesis.v
deleted file mode 100644
index bbecc1814..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/compiler.sh b/src/Specific/solinas32_2e336m3_13limbs/compiler.sh
deleted file mode 100755
index 78c95ebe8..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas32_2e336m3_13limbs/compilerxx.sh b/src/Specific/solinas32_2e336m3_13limbs/compilerxx.sh
deleted file mode 100755
index 70fae7d78..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,25,26,26,26,26,26,25}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas32_2e336m3_13limbs/feadd.c b/src/Specific/solinas32_2e336m3_13limbs/feadd.c
deleted file mode 100644
index dbbe1da57..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/feadd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = (x5 + x29);
- out[1] = (x7 + x31);
- out[2] = (x9 + x33);
- out[3] = (x11 + x35);
- out[4] = (x13 + x37);
- out[5] = (x15 + x39);
- out[6] = (x17 + x41);
- out[7] = (x19 + x43);
- out[8] = (x21 + x45);
- out[9] = (x23 + x47);
- out[10] = (x25 + x49);
- out[11] = (x27 + x51);
- out[12] = (x26 + x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_13limbs/feadd.v b/src/Specific/solinas32_2e336m3_13limbs/feadd.v
deleted file mode 100644
index c9d7f10d4..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/feaddDisplay.log b/src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.log
deleted file mode 100644
index e64abeaba..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- ((x26 + x50), (x27 + x51), (x25 + x49), (x23 + x47), (x21 + x45), (x19 + x43), (x17 + x41), (x15 + x39), (x13 + x37), (x11 + x35), (x9 + x33), (x7 + x31), (x5 + x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.v b/src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.v
deleted file mode 100644
index 6e021d222..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fecarry.v b/src/Specific/solinas32_2e336m3_13limbs/fecarry.v
deleted file mode 100644
index 8babc32b1..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/fecarryDisplay.v b/src/Specific/solinas32_2e336m3_13limbs/fecarryDisplay.v
deleted file mode 100644
index d2c1ebf8f..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e336m3_13limbs/femul.c b/src/Specific/solinas32_2e336m3_13limbs/femul.c
deleted file mode 100644
index 5605cb643..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/femul.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void femul(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0x3 * (0x2 * ((uint64_t)x26 * x50))));
- { uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0x3 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))));
- { uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x3 * ((0x2 * ((uint64_t)x25 * x50)) + ((0x2 * ((uint64_t)x27 * x51)) + (0x2 * ((uint64_t)x26 * x49))))));
- { uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0x3 * ((0x2 * ((uint64_t)x23 * x50)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (0x2 * ((uint64_t)x26 * x47)))))));
- { uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + (0x3 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))));
- { uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0x3 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- { uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))));
- { uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x50)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + (0x2 * ((uint64_t)x26 * x37))))))))))));
- { uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x3 * ((0x2 * ((uint64_t)x11 * x50)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + (0x2 * ((uint64_t)x26 * x35)))))))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x3 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- { uint64_t x64 = (((uint64_t)x5 * x29) + (0x3 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x63);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x62);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x61);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x60);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x59);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x58);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x57);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x56);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x55);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x54);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x53);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x52);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x66 + (0x3 * x101));
- { uint32_t x104 = (uint32_t) (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint32_t x106 = (x104 + x69);
- { uint32_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = (x106 & 0x3ffffff);
- out[0] = x105;
- out[1] = x108;
- out[2] = (x107 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- out[10] = x96;
- out[11] = x99;
- out[12] = x102;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_13limbs/femul.v b/src/Specific/solinas32_2e336m3_13limbs/femul.v
deleted file mode 100644
index 88e13cd2a..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/femulDisplay.log b/src/Specific/solinas32_2e336m3_13limbs/femulDisplay.log
deleted file mode 100644
index 8eade710d..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/femulDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0x3 * (0x2 * ((uint64_t)x26 * x50))));
- uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0x3 * ((0x2 * ((uint64_t)x27 * x50)) + (0x2 * ((uint64_t)x26 * x51)))));
- uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0x3 * ((0x2 * ((uint64_t)x25 * x50)) + ((0x2 * ((uint64_t)x27 * x51)) + (0x2 * ((uint64_t)x26 * x49))))));
- uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0x3 * ((0x2 * ((uint64_t)x23 * x50)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (0x2 * ((uint64_t)x26 * x47)))))));
- uint64_t x57 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((uint64_t)x19 * x29)))))))) + (0x3 * ((0x2 * ((uint64_t)x21 * x50)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (0x2 * ((uint64_t)x26 * x45))))))));
- uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0x3 * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x50)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (0x2 * ((uint64_t)x26 * x41))))))))));
- uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0x3 * ((0x2 * ((uint64_t)x15 * x50)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + (0x2 * ((uint64_t)x26 * x39)))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x50)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + (0x2 * ((uint64_t)x26 * x37))))))))))));
- uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0x3 * ((0x2 * ((uint64_t)x11 * x50)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + (0x2 * ((uint64_t)x26 * x35)))))))))))));
- uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0x3 * ((0x2 * ((uint64_t)x9 * x50)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((0x2 * ((uint64_t)x27 * x35)) + (0x2 * ((uint64_t)x26 * x33))))))))))))));
- uint64_t x64 = (((uint64_t)x5 * x29) + (0x3 * ((0x2 * ((uint64_t)x7 * x50)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + (0x2 * ((uint64_t)x26 * x31)))))))))))))));
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x63);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x62);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x61);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x60);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x59);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x58);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x57);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x56);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x55);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x54);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x53);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x52);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x66 + (0x3 * x101));
- uint32_t x104 = (uint32_t) (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint32_t x106 = (x104 + x69);
- uint32_t x107 = (x106 >> 0x1a);
- uint32_t x108 = (x106 & 0x3ffffff);
- return (Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x107 + x72), Return x108, Return x105))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m3_13limbs/femulDisplay.v b/src/Specific/solinas32_2e336m3_13limbs/femulDisplay.v
deleted file mode 100644
index abb9b6677..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fesquare.c b/src/Specific/solinas32_2e336m3_13limbs/fesquare.c
deleted file mode 100644
index dcde6d104..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesquare.c
+++ /dev/null
@@ -1,86 +0,0 @@
-static void fesquare(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * (0x2 * ((uint64_t)x23 * x23))));
- { uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))));
- { uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * ((0x2 * ((uint64_t)x22 * x23)) + ((0x2 * ((uint64_t)x24 * x24)) + (0x2 * ((uint64_t)x23 * x22))))));
- { uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((0x2 * ((uint64_t)x20 * x23)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (0x2 * ((uint64_t)x23 * x20)))))));
- { uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))));
- { uint64_t x31 = ((((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))))))) + (0x3 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x23)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (0x2 * ((uint64_t)x23 * x10))))))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x23)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (0x2 * ((uint64_t)x23 * x8)))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- { uint64_t x37 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x36);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x35);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x34);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x33);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x32);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x31);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x30);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x29);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x28);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x27);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x26);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x25);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x39 + (0x3 * x74));
- { uint32_t x77 = (uint32_t) (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint32_t x79 = (x77 + x42);
- { uint32_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = (x79 & 0x3ffffff);
- out[0] = x78;
- out[1] = x81;
- out[2] = (x80 + x45);
- out[3] = x48;
- out[4] = x51;
- out[5] = x54;
- out[6] = x57;
- out[7] = x60;
- out[8] = x63;
- out[9] = x66;
- out[10] = x69;
- out[11] = x72;
- out[12] = x75;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fesquare.v b/src/Specific/solinas32_2e336m3_13limbs/fesquare.v
deleted file mode 100644
index 1bfb48b1c..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/fesquareDisplay.log b/src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.log
deleted file mode 100644
index 3b2fe9a61..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * (0x2 * ((uint64_t)x23 * x23))));
- uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((0x2 * ((uint64_t)x24 * x23)) + (0x2 * ((uint64_t)x23 * x24)))));
- uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * ((0x2 * ((uint64_t)x22 * x23)) + ((0x2 * ((uint64_t)x24 * x24)) + (0x2 * ((uint64_t)x23 * x22))))));
- uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((0x2 * ((uint64_t)x20 * x23)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (0x2 * ((uint64_t)x23 * x20)))))));
- uint64_t x30 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * ((0x2 * ((uint64_t)x18 * x23)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (0x2 * ((uint64_t)x23 * x18))))))));
- uint64_t x31 = ((((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))))))) + (0x3 * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x23)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (0x2 * ((uint64_t)x23 * x14))))))))));
- uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint64_t)x12 * x23)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (0x2 * ((uint64_t)x23 * x12)))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x23)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (0x2 * ((uint64_t)x23 * x10))))))))))));
- uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * ((0x2 * ((uint64_t)x8 * x23)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (0x2 * ((uint64_t)x23 * x8)))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x23)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + (0x2 * ((uint64_t)x23 * x6))))))))))))));
- uint64_t x37 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x23)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (0x2 * ((uint64_t)x23 * x4)))))))))))))));
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x36);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x35);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x34);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x33);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x32);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x31);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x30);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x29);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x28);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x27);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x26);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x25);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x39 + (0x3 * x74));
- uint32_t x77 = (uint32_t) (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint32_t x79 = (x77 + x42);
- uint32_t x80 = (x79 >> 0x1a);
- uint32_t x81 = (x79 & 0x3ffffff);
- return (Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, (x80 + x45), Return x81, Return x78))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.v b/src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.v
deleted file mode 100644
index ca633dab1..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fesub.c b/src/Specific/solinas32_2e336m3_13limbs/fesub.c
deleted file mode 100644
index c015e849b..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesub.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void fesub(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = ((0x7fffffa + x5) - x29);
- out[1] = ((0x7fffffe + x7) - x31);
- out[2] = ((0x7fffffe + x9) - x33);
- out[3] = ((0x7fffffe + x11) - x35);
- out[4] = ((0x7fffffe + x13) - x37);
- out[5] = ((0x7fffffe + x15) - x39);
- out[6] = ((0x3fffffe + x17) - x41);
- out[7] = ((0x7fffffe + x19) - x43);
- out[8] = ((0x7fffffe + x21) - x45);
- out[9] = ((0x7fffffe + x23) - x47);
- out[10] = ((0x7fffffe + x25) - x49);
- out[11] = ((0x7fffffe + x27) - x51);
- out[12] = ((0x3fffffe + x26) - x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fesub.v b/src/Specific/solinas32_2e336m3_13limbs/fesub.v
deleted file mode 100644
index da693a030..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/fesubDisplay.log b/src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.log
deleted file mode 100644
index 3245f5189..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- (((0x3fffffe + x26) - x50), ((0x7fffffe + x27) - x51), ((0x7fffffe + x25) - x49), ((0x7fffffe + x23) - x47), ((0x7fffffe + x21) - x45), ((0x7fffffe + x19) - x43), ((0x3fffffe + x17) - x41), ((0x7fffffe + x15) - x39), ((0x7fffffe + x13) - x37), ((0x7fffffe + x11) - x35), ((0x7fffffe + x9) - x33), ((0x7fffffe + x7) - x31), ((0x7fffffa + x5) - x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.v b/src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.v
deleted file mode 100644
index 16ada5736..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e336m3_13limbs/freeze.c b/src/Specific/solinas32_2e336m3_13limbs/freeze.c
deleted file mode 100644
index bb68e9547..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/freeze.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void freeze(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffd);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x1ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x1ffffff);
- { uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- { uint32_t x65 = (x64 & 0x3fffffd);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- { uint32_t x69 = (x64 & 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- { uint32_t x73 = (x64 & 0x3ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- { uint32_t x77 = (x64 & 0x3ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- { uint32_t x81 = (x64 & 0x3ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- { uint32_t x85 = (x64 & 0x3ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- { uint32_t x89 = (x64 & 0x1ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- { uint32_t x93 = (x64 & 0x3ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- { uint32_t x97 = (x64 & 0x3ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- { uint32_t x101 = (x64 & 0x3ffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- { uint32_t x105 = (x64 & 0x3ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- { uint32_t x109 = (x64 & 0x3ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- { uint32_t x113 = (x64 & 0x1ffffff);
- { uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- out[0] = x67;
- out[1] = x71;
- out[2] = x75;
- out[3] = x79;
- out[4] = x83;
- out[5] = x87;
- out[6] = x91;
- out[7] = x95;
- out[8] = x99;
- out[9] = x103;
- out[10] = x107;
- out[11] = x111;
- out[12] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e336m3_13limbs/freeze.v b/src/Specific/solinas32_2e336m3_13limbs/freeze.v
deleted file mode 100644
index e024a0703..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.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_2e336m3_13limbs/freezeDisplay.log b/src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.log
deleted file mode 100644
index 4f4256936..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffd);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x1ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x1ffffff);
- uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- uint32_t x65 = (x64 & 0x3fffffd);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- uint32_t x69 = (x64 & 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- uint32_t x73 = (x64 & 0x3ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- uint32_t x77 = (x64 & 0x3ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- uint32_t x81 = (x64 & 0x3ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- uint32_t x85 = (x64 & 0x3ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- uint32_t x89 = (x64 & 0x1ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- uint32_t x93 = (x64 & 0x3ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- uint32_t x97 = (x64 & 0x3ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- uint32_t x101 = (x64 & 0x3ffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- uint32_t x105 = (x64 & 0x3ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- uint32_t x109 = (x64 & 0x3ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- uint32_t x113 = (x64 & 0x1ffffff);
- uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.v b/src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.v
deleted file mode 100644
index 5ceb1a0be..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e336m3_13limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e336m3_13limbs/py_interpreter.sh b/src/Specific/solinas32_2e336m3_13limbs/py_interpreter.sh
deleted file mode 100755
index 2750a6d19..000000000
--- a/src/Specific/solinas32_2e336m3_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 3' -Dmodulus_bytes='25 + 11/13' -Da24='121665'
diff --git a/src/Specific/solinas32_2e338m15_13limbs/CurveParameters.v b/src/Specific/solinas32_2e338m15_13limbs/CurveParameters.v
deleted file mode 100644
index a76083880..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^338 - 15
-Base: 26
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 13%nat;
- base := 26;
- bitwidth := 32;
- s := 2^338;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 13); [0; 1]]%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_2e338m15_13limbs/Synthesis.v b/src/Specific/solinas32_2e338m15_13limbs/Synthesis.v
deleted file mode 100644
index 900488fa0..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/compiler.sh b/src/Specific/solinas32_2e338m15_13limbs/compiler.sh
deleted file mode 100755
index c6152c49b..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas32_2e338m15_13limbs/compilerxx.sh b/src/Specific/solinas32_2e338m15_13limbs/compilerxx.sh
deleted file mode 100755
index 3f7737838..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='13' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas32_2e338m15_13limbs/feadd.c b/src/Specific/solinas32_2e338m15_13limbs/feadd.c
deleted file mode 100644
index dbbe1da57..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/feadd.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void feadd(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = (x5 + x29);
- out[1] = (x7 + x31);
- out[2] = (x9 + x33);
- out[3] = (x11 + x35);
- out[4] = (x13 + x37);
- out[5] = (x15 + x39);
- out[6] = (x17 + x41);
- out[7] = (x19 + x43);
- out[8] = (x21 + x45);
- out[9] = (x23 + x47);
- out[10] = (x25 + x49);
- out[11] = (x27 + x51);
- out[12] = (x26 + x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_13limbs/feadd.v b/src/Specific/solinas32_2e338m15_13limbs/feadd.v
deleted file mode 100644
index 96ee18173..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/feaddDisplay.log b/src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.log
deleted file mode 100644
index e64abeaba..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- ((x26 + x50), (x27 + x51), (x25 + x49), (x23 + x47), (x21 + x45), (x19 + x43), (x17 + x41), (x15 + x39), (x13 + x37), (x11 + x35), (x9 + x33), (x7 + x31), (x5 + x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.v b/src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.v
deleted file mode 100644
index 5e028d088..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fecarry.v b/src/Specific/solinas32_2e338m15_13limbs/fecarry.v
deleted file mode 100644
index a19b54d95..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/fecarryDisplay.v b/src/Specific/solinas32_2e338m15_13limbs/fecarryDisplay.v
deleted file mode 100644
index 04f444251..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e338m15_13limbs/femul.c b/src/Specific/solinas32_2e338m15_13limbs/femul.c
deleted file mode 100644
index 18e92ef65..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/femul.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void femul(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- { uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- { uint64_t x53 = ((((uint64_t)x5 * x51) + (((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)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0xf * ((uint64_t)x26 * x50)));
- { uint64_t x54 = ((((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 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0xf * (((uint64_t)x27 * x50) + ((uint64_t)x26 * x51))));
- { uint64_t x55 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0xf * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))));
- { uint64_t x56 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0xf * (((uint64_t)x23 * x50) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((uint64_t)x26 * x47))))));
- { uint64_t x57 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((uint64_t)x19 * x29)))))))) + (0xf * (((uint64_t)x21 * x50) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((uint64_t)x26 * x45)))))));
- { uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0xf * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- { uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0xf * (((uint64_t)x17 * x50) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x26 * x41)))))))));
- { uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0xf * (((uint64_t)x15 * x50) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + ((uint64_t)x26 * x39))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0xf * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))));
- { uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0xf * (((uint64_t)x11 * x50) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x26 * x35))))))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0xf * (((uint64_t)x9 * x50) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x26 * x33)))))))))))));
- { uint64_t x64 = (((uint64_t)x5 * x29) + (0xf * (((uint64_t)x7 * x50) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (((uint64_t)x27 * x33) + ((uint64_t)x26 * x31))))))))))))));
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x63);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x62);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x61);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x60);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x59);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x58);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x57);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x56);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x55);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x54);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x53);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x52);
- { uint64_t x101 = (x100 >> 0x1a);
- { uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- { uint64_t x103 = (x66 + (0xf * x101));
- { uint32_t x104 = (uint32_t) (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint32_t x106 = (x104 + x69);
- { uint32_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = (x106 & 0x3ffffff);
- out[0] = x105;
- out[1] = x108;
- out[2] = (x107 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- out[10] = x96;
- out[11] = x99;
- out[12] = x102;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_13limbs/femul.v b/src/Specific/solinas32_2e338m15_13limbs/femul.v
deleted file mode 100644
index 36b25e510..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/femulDisplay.log b/src/Specific/solinas32_2e338m15_13limbs/femulDisplay.log
deleted file mode 100644
index 8de8577af..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/femulDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
- uint64_t x53 = ((((uint64_t)x5 * x51) + (((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)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0xf * ((uint64_t)x26 * x50)));
- uint64_t x54 = ((((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 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0xf * (((uint64_t)x27 * x50) + ((uint64_t)x26 * x51))));
- uint64_t x55 = ((((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)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0xf * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))));
- uint64_t x56 = ((((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)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0xf * (((uint64_t)x23 * x50) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((uint64_t)x26 * x47))))));
- uint64_t x57 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((uint64_t)x19 * x29)))))))) + (0xf * (((uint64_t)x21 * x50) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((uint64_t)x26 * x45)))))));
- uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0xf * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
- uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0xf * (((uint64_t)x17 * x50) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x26 * x41)))))))));
- uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0xf * (((uint64_t)x15 * x50) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + ((uint64_t)x26 * x39))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0xf * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))));
- uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0xf * (((uint64_t)x11 * x50) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x26 * x35))))))))))));
- uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0xf * (((uint64_t)x9 * x50) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x26 * x33)))))))))))));
- uint64_t x64 = (((uint64_t)x5 * x29) + (0xf * (((uint64_t)x7 * x50) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (((uint64_t)x27 * x33) + ((uint64_t)x26 * x31))))))))))))));
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x63);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x62);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x61);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x60);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x59);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x58);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x57);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x56);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x55);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x54);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x53);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x52);
- uint64_t x101 = (x100 >> 0x1a);
- uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- uint64_t x103 = (x66 + (0xf * x101));
- uint32_t x104 = (uint32_t) (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint32_t x106 = (x104 + x69);
- uint32_t x107 = (x106 >> 0x1a);
- uint32_t x108 = (x106 & 0x3ffffff);
- return (Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x107 + x72), Return x108, Return x105))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e338m15_13limbs/femulDisplay.v b/src/Specific/solinas32_2e338m15_13limbs/femulDisplay.v
deleted file mode 100644
index 16e1ac5aa..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fesquare.c b/src/Specific/solinas32_2e338m15_13limbs/fesquare.c
deleted file mode 100644
index 667230a95..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesquare.c
+++ /dev/null
@@ -1,86 +0,0 @@
-static void fesquare(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- { uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0xf * ((uint64_t)x23 * x23)));
- { uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xf * (((uint64_t)x24 * x23) + ((uint64_t)x23 * x24))));
- { uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xf * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))));
- { uint64_t x29 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0xf * (((uint64_t)x20 * x23) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x23 * x20))))));
- { uint64_t x30 = ((((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)))))))) + (0xf * (((uint64_t)x18 * x23) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((uint64_t)x23 * x18)))))));
- { uint64_t x31 = ((((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))))))) + (0xf * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x23) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((uint64_t)x23 * x14)))))))));
- { uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x23) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((uint64_t)x23 * x12))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x23) + (((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)x23 * x8))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x23) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((uint64_t)x23 * x6)))))))))))));
- { uint64_t x37 = (((uint64_t)x2 * x2) + (0xf * (((uint64_t)x4 * x23) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + ((uint64_t)x23 * x4))))))))))))));
- { uint64_t x38 = (x37 >> 0x1a);
- { uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- { uint64_t x40 = (x38 + x36);
- { uint64_t x41 = (x40 >> 0x1a);
- { uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- { uint64_t x43 = (x41 + x35);
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x34);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x33);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x32);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x31);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x30);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x29);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x28);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x27);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x26);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x25);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x39 + (0xf * x74));
- { uint32_t x77 = (uint32_t) (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint32_t x79 = (x77 + x42);
- { uint32_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = (x79 & 0x3ffffff);
- out[0] = x78;
- out[1] = x81;
- out[2] = (x80 + x45);
- out[3] = x48;
- out[4] = x51;
- out[5] = x54;
- out[6] = x57;
- out[7] = x60;
- out[8] = x63;
- out[9] = x66;
- out[10] = x69;
- out[11] = x72;
- out[12] = x75;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fesquare.v b/src/Specific/solinas32_2e338m15_13limbs/fesquare.v
deleted file mode 100644
index 33dc4dd98..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/fesquareDisplay.log b/src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.log
deleted file mode 100644
index f7b5ca625..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,64 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
- uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0xf * ((uint64_t)x23 * x23)));
- uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xf * (((uint64_t)x24 * x23) + ((uint64_t)x23 * x24))));
- uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xf * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))));
- uint64_t x29 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0xf * (((uint64_t)x20 * x23) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x23 * x20))))));
- uint64_t x30 = ((((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)))))))) + (0xf * (((uint64_t)x18 * x23) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((uint64_t)x23 * x18)))))));
- uint64_t x31 = ((((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))))))) + (0xf * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
- uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x23) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((uint64_t)x23 * x14)))))))));
- uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x23) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((uint64_t)x23 * x12))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))));
- uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x23) + (((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)x23 * x8))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x23) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((uint64_t)x23 * x6)))))))))))));
- uint64_t x37 = (((uint64_t)x2 * x2) + (0xf * (((uint64_t)x4 * x23) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + ((uint64_t)x23 * x4))))))))))))));
- uint64_t x38 = (x37 >> 0x1a);
- uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
- uint64_t x40 = (x38 + x36);
- uint64_t x41 = (x40 >> 0x1a);
- uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
- uint64_t x43 = (x41 + x35);
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x34);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x33);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x32);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x31);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x30);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x29);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x28);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x27);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x26);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x25);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x39 + (0xf * x74));
- uint32_t x77 = (uint32_t) (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint32_t x79 = (x77 + x42);
- uint32_t x80 = (x79 >> 0x1a);
- uint32_t x81 = (x79 & 0x3ffffff);
- return (Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, (x80 + x45), Return x81, Return x78))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.v b/src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.v
deleted file mode 100644
index 04abafbe0..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fesub.c b/src/Specific/solinas32_2e338m15_13limbs/fesub.c
deleted file mode 100644
index 5278414ba..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesub.c
+++ /dev/null
@@ -1,42 +0,0 @@
-static void fesub(uint32_t out[13], const uint32_t in1[13], const uint32_t in2[13]) {
- { const uint32_t x26 = 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 x50 = in2[12];
- { const uint32_t x51 = in2[11];
- { const uint32_t x49 = in2[10];
- { const uint32_t x47 = in2[9];
- { const uint32_t x45 = in2[8];
- { const uint32_t x43 = in2[7];
- { const uint32_t x41 = in2[6];
- { const uint32_t x39 = in2[5];
- { const uint32_t x37 = in2[4];
- { const uint32_t x35 = in2[3];
- { const uint32_t x33 = in2[2];
- { const uint32_t x31 = in2[1];
- { const uint32_t x29 = in2[0];
- out[0] = ((0x7ffffe2 + x5) - x29);
- out[1] = ((0x7fffffe + x7) - x31);
- out[2] = ((0x7fffffe + x9) - x33);
- out[3] = ((0x7fffffe + x11) - x35);
- out[4] = ((0x7fffffe + x13) - x37);
- out[5] = ((0x7fffffe + x15) - x39);
- out[6] = ((0x7fffffe + x17) - x41);
- out[7] = ((0x7fffffe + x19) - x43);
- out[8] = ((0x7fffffe + x21) - x45);
- out[9] = ((0x7fffffe + x23) - x47);
- out[10] = ((0x7fffffe + x25) - x49);
- out[11] = ((0x7fffffe + x27) - x51);
- out[12] = ((0x7fffffe + x26) - x50);
- }}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fesub.v b/src/Specific/solinas32_2e338m15_13limbs/fesub.v
deleted file mode 100644
index e000364a7..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/fesubDisplay.log b/src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.log
deleted file mode 100644
index fce0d0a23..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
- (((0x7fffffe + x26) - x50), ((0x7fffffe + x27) - x51), ((0x7fffffe + x25) - x49), ((0x7fffffe + x23) - x47), ((0x7fffffe + x21) - x45), ((0x7fffffe + x19) - x43), ((0x7fffffe + x17) - x41), ((0x7fffffe + x15) - x39), ((0x7fffffe + x13) - x37), ((0x7fffffe + x11) - x35), ((0x7fffffe + x9) - x33), ((0x7fffffe + x7) - x31), ((0x7ffffe2 + x5) - x29)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.v b/src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.v
deleted file mode 100644
index 4a3676ddf..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e338m15_13limbs/freeze.c b/src/Specific/solinas32_2e338m15_13limbs/freeze.c
deleted file mode 100644
index a37f312b1..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/freeze.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void freeze(uint32_t out[13], const uint32_t in1[13]) {
- { const uint32_t x23 = 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 x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff1);
- { uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
- { uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x3ffffff);
- { uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- { uint32_t x65 = (x64 & 0x3fffff1);
- { uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- { uint32_t x69 = (x64 & 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- { uint32_t x73 = (x64 & 0x3ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- { uint32_t x77 = (x64 & 0x3ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- { uint32_t x81 = (x64 & 0x3ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- { uint32_t x85 = (x64 & 0x3ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- { uint32_t x89 = (x64 & 0x3ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- { uint32_t x93 = (x64 & 0x3ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- { uint32_t x97 = (x64 & 0x3ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- { uint32_t x101 = (x64 & 0x3ffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- { uint32_t x105 = (x64 & 0x3ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- { uint32_t x109 = (x64 & 0x3ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- { uint32_t x113 = (x64 & 0x3ffffff);
- { uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- out[0] = x67;
- out[1] = x71;
- out[2] = x75;
- out[3] = x79;
- out[4] = x83;
- out[5] = x87;
- out[6] = x91;
- out[7] = x95;
- out[8] = x99;
- out[9] = x103;
- out[10] = x107;
- out[11] = x111;
- out[12] = x115;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_13limbs/freeze.v b/src/Specific/solinas32_2e338m15_13limbs/freeze.v
deleted file mode 100644
index cab653cac..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.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_2e338m15_13limbs/freezeDisplay.log b/src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.log
deleted file mode 100644
index 8f8255a0d..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.log
+++ /dev/null
@@ -1,47 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff1);
- uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x3ffffff);
- uint32_t x64 = cmovznz32(x63, 0x0, 0xffffffff);
- uint32_t x65 = (x64 & 0x3fffff1);
- uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
- uint32_t x69 = (x64 & 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
- uint32_t x73 = (x64 & 0x3ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
- uint32_t x77 = (x64 & 0x3ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
- uint32_t x81 = (x64 & 0x3ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
- uint32_t x85 = (x64 & 0x3ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
- uint32_t x89 = (x64 & 0x3ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
- uint32_t x93 = (x64 & 0x3ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
- uint32_t x97 = (x64 & 0x3ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
- uint32_t x101 = (x64 & 0x3ffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
- uint32_t x105 = (x64 & 0x3ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
- uint32_t x109 = (x64 & 0x3ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
- uint32_t x113 = (x64 & 0x3ffffff);
- uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
- (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.v b/src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.v
deleted file mode 100644
index 734bec166..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_13limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e338m15_13limbs/py_interpreter.sh b/src/Specific/solinas32_2e338m15_13limbs/py_interpreter.sh
deleted file mode 100755
index 3a4b1a469..000000000
--- a/src/Specific/solinas32_2e338m15_13limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**338 - 15' -Dmodulus_bytes='26' -Da24='121665'
diff --git a/src/Specific/solinas32_2e338m15_14limbs/CurveParameters.v b/src/Specific/solinas32_2e338m15_14limbs/CurveParameters.v
deleted file mode 100644
index db65d9ad9..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^338 - 15
-Base: 24 + 1/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 14%nat;
- base := 24 + 1/7;
- bitwidth := 32;
- s := 2^338;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 14); [0; 1]]%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_2e338m15_14limbs/Synthesis.v b/src/Specific/solinas32_2e338m15_14limbs/Synthesis.v
deleted file mode 100644
index b9581e135..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/compiler.sh b/src/Specific/solinas32_2e338m15_14limbs/compiler.sh
deleted file mode 100755
index 573af3cc1..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,24,24,25,24,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas32_2e338m15_14limbs/compilerxx.sh b/src/Specific/solinas32_2e338m15_14limbs/compilerxx.sh
deleted file mode 100755
index 635afc469..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,24,24,24,24,25,24,24,24,24,24,24}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='14' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas32_2e338m15_14limbs/feadd.c b/src/Specific/solinas32_2e338m15_14limbs/feadd.c
deleted file mode 100644
index 6b2a8feaf..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/feadd.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void feadd(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- out[0] = (x5 + x31);
- out[1] = (x7 + x33);
- out[2] = (x9 + x35);
- out[3] = (x11 + x37);
- out[4] = (x13 + x39);
- out[5] = (x15 + x41);
- out[6] = (x17 + x43);
- out[7] = (x19 + x45);
- out[8] = (x21 + x47);
- out[9] = (x23 + x49);
- out[10] = (x25 + x51);
- out[11] = (x27 + x53);
- out[12] = (x29 + x55);
- out[13] = (x28 + x54);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_14limbs/feadd.v b/src/Specific/solinas32_2e338m15_14limbs/feadd.v
deleted file mode 100644
index c158dfd4f..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/feaddDisplay.log b/src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.log
deleted file mode 100644
index ff11bcba0..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- ((x28 + x54), (x29 + x55), (x27 + x53), (x25 + x51), (x23 + x49), (x21 + x47), (x19 + x45), (x17 + x43), (x15 + x41), (x13 + x39), (x11 + x37), (x9 + x35), (x7 + x33), (x5 + x31)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.v b/src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.v
deleted file mode 100644
index d4fab9552..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fecarry.v b/src/Specific/solinas32_2e338m15_14limbs/fecarry.v
deleted file mode 100644
index 75cc419f2..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/fecarryDisplay.v b/src/Specific/solinas32_2e338m15_14limbs/fecarryDisplay.v
deleted file mode 100644
index 7ceb63fde..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e338m15_14limbs/femul.c b/src/Specific/solinas32_2e338m15_14limbs/femul.c
deleted file mode 100644
index 61d245bf8..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/femul.c
+++ /dev/null
@@ -1,106 +0,0 @@
-static void femul(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- { uint64_t x56 = (((uint64_t)x5 * x54) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((0x2 * ((uint64_t)x27 * x35)) + ((0x2 * ((uint64_t)x29 * x33)) + ((uint64_t)x28 * x31))))))))))))));
- { uint64_t x57 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + ((uint64_t)x29 * x31))))))))))))) + (0xf * ((uint64_t)x28 * x54)));
- { uint64_t x58 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + ((0x2 * ((uint64_t)x25 * x33)) + ((uint64_t)x27 * x31)))))))))))) + (0xf * (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))));
- { uint64_t x59 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + ((uint64_t)x25 * x31))))))))))) + (0xf * (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))));
- { uint64_t x60 = ((((uint64_t)x5 * x49) + ((0x2 * ((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) + ((0x2 * ((uint64_t)x21 * x33)) + ((uint64_t)x23 * x31)))))))))) + (0xf * (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))));
- { uint64_t x61 = ((((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)x19 * x33) + ((uint64_t)x21 * x31))))))))) + (0xf * (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))));
- { uint64_t x62 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((uint64_t)x19 * x31)))))))) + (0xf * ((0x2 * ((uint64_t)x21 * x54)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (0x2 * ((uint64_t)x28 * x47)))))))));
- { uint64_t x63 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((uint64_t)x17 * x31))))))) + (0xf * (((uint64_t)x19 * x54) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((uint64_t)x28 * x45)))))))));
- { uint64_t x64 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((uint64_t)x15 * x31)))))) + (0xf * (((uint64_t)x17 * x54) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((uint64_t)x28 * x43))))))))));
- { uint64_t x65 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((uint64_t)x13 * x31))))) + (0xf * (((uint64_t)x15 * x54) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x28 * x41)))))))))));
- { uint64_t x66 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((uint64_t)x11 * x31)))) + (0xf * (((uint64_t)x13 * x54) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (((uint64_t)x29 * x41) + ((uint64_t)x28 * x39))))))))))));
- { uint64_t x67 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((uint64_t)x9 * x31))) + (0xf * (((uint64_t)x11 * x54) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x28 * x37)))))))))))));
- { uint64_t x68 = ((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (0xf * (((uint64_t)x9 * x54) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x28 * x35))))))))))))));
- { uint64_t x69 = (((uint64_t)x5 * x31) + (0xf * ((0x2 * ((uint64_t)x7 * x54)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((0x2 * ((uint64_t)x29 * x35)) + (0x2 * ((uint64_t)x28 * x33))))))))))))))));
- { uint64_t x70 = (x69 >> 0x19);
- { uint32_t x71 = ((uint32_t)x69 & 0x1ffffff);
- { uint64_t x72 = (x70 + x68);
- { uint64_t x73 = (x72 >> 0x18);
- { uint32_t x74 = ((uint32_t)x72 & 0xffffff);
- { uint64_t x75 = (x73 + x67);
- { uint64_t x76 = (x75 >> 0x18);
- { uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- { uint64_t x78 = (x76 + x66);
- { uint64_t x79 = (x78 >> 0x18);
- { uint32_t x80 = ((uint32_t)x78 & 0xffffff);
- { uint64_t x81 = (x79 + x65);
- { uint64_t x82 = (x81 >> 0x18);
- { uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- { uint64_t x84 = (x82 + x64);
- { uint64_t x85 = (x84 >> 0x18);
- { uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- { uint64_t x87 = (x85 + x63);
- { uint64_t x88 = (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint64_t x90 = (x88 + x62);
- { uint64_t x91 = (x90 >> 0x19);
- { uint32_t x92 = ((uint32_t)x90 & 0x1ffffff);
- { uint64_t x93 = (x91 + x61);
- { uint64_t x94 = (x93 >> 0x18);
- { uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- { uint64_t x96 = (x94 + x60);
- { uint64_t x97 = (x96 >> 0x18);
- { uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- { uint64_t x99 = (x97 + x59);
- { uint64_t x100 = (x99 >> 0x18);
- { uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- { uint64_t x102 = (x100 + x58);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x103 + x57);
- { uint64_t x106 = (x105 >> 0x18);
- { uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- { uint64_t x108 = (x106 + x56);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x71 + (0xf * x109));
- { uint32_t x112 = (uint32_t) (x111 >> 0x19);
- { uint32_t x113 = ((uint32_t)x111 & 0x1ffffff);
- { uint32_t x114 = (x112 + x74);
- { uint32_t x115 = (x114 >> 0x18);
- { uint32_t x116 = (x114 & 0xffffff);
- out[0] = x113;
- out[1] = x116;
- out[2] = (x115 + x77);
- out[3] = x80;
- out[4] = x83;
- out[5] = x86;
- out[6] = x89;
- out[7] = x92;
- out[8] = x95;
- out[9] = x98;
- out[10] = x101;
- out[11] = x104;
- out[12] = x107;
- out[13] = x110;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_14limbs/femul.v b/src/Specific/solinas32_2e338m15_14limbs/femul.v
deleted file mode 100644
index 84c00e4ff..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/femulDisplay.log b/src/Specific/solinas32_2e338m15_14limbs/femulDisplay.log
deleted file mode 100644
index dcbb92107..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/femulDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint64_t x56 = (((uint64_t)x5 * x54) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((0x2 * ((uint64_t)x27 * x35)) + ((0x2 * ((uint64_t)x29 * x33)) + ((uint64_t)x28 * x31))))))))))))));
- uint64_t x57 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((0x2 * ((uint64_t)x27 * x33)) + ((uint64_t)x29 * x31))))))))))))) + (0xf * ((uint64_t)x28 * x54)));
- uint64_t x58 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + ((0x2 * ((uint64_t)x25 * x33)) + ((uint64_t)x27 * x31)))))))))))) + (0xf * (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))));
- uint64_t x59 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + ((uint64_t)x25 * x31))))))))))) + (0xf * (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))));
- uint64_t x60 = ((((uint64_t)x5 * x49) + ((0x2 * ((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) + ((0x2 * ((uint64_t)x21 * x33)) + ((uint64_t)x23 * x31)))))))))) + (0xf * (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))));
- uint64_t x61 = ((((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)x19 * x33) + ((uint64_t)x21 * x31))))))))) + (0xf * (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))));
- uint64_t x62 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((0x2 * ((uint64_t)x17 * x33)) + ((uint64_t)x19 * x31)))))))) + (0xf * ((0x2 * ((uint64_t)x21 * x54)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (0x2 * ((uint64_t)x28 * x47)))))))));
- uint64_t x63 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((0x2 * ((uint64_t)x15 * x33)) + ((uint64_t)x17 * x31))))))) + (0xf * (((uint64_t)x19 * x54) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((uint64_t)x28 * x45)))))))));
- uint64_t x64 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((0x2 * ((uint64_t)x11 * x35)) + ((0x2 * ((uint64_t)x13 * x33)) + ((uint64_t)x15 * x31)))))) + (0xf * (((uint64_t)x17 * x54) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((uint64_t)x28 * x43))))))))));
- uint64_t x65 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((uint64_t)x13 * x31))))) + (0xf * (((uint64_t)x15 * x54) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x28 * x41)))))))))));
- uint64_t x66 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((uint64_t)x11 * x31)))) + (0xf * (((uint64_t)x13 * x54) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (((uint64_t)x29 * x41) + ((uint64_t)x28 * x39))))))))))));
- uint64_t x67 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((uint64_t)x9 * x31))) + (0xf * (((uint64_t)x11 * x54) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x28 * x37)))))))))))));
- uint64_t x68 = ((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (0xf * (((uint64_t)x9 * x54) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x28 * x35))))))))))))));
- uint64_t x69 = (((uint64_t)x5 * x31) + (0xf * ((0x2 * ((uint64_t)x7 * x54)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((0x2 * ((uint64_t)x29 * x35)) + (0x2 * ((uint64_t)x28 * x33))))))))))))))));
- uint64_t x70 = (x69 >> 0x19);
- uint32_t x71 = ((uint32_t)x69 & 0x1ffffff);
- uint64_t x72 = (x70 + x68);
- uint64_t x73 = (x72 >> 0x18);
- uint32_t x74 = ((uint32_t)x72 & 0xffffff);
- uint64_t x75 = (x73 + x67);
- uint64_t x76 = (x75 >> 0x18);
- uint32_t x77 = ((uint32_t)x75 & 0xffffff);
- uint64_t x78 = (x76 + x66);
- uint64_t x79 = (x78 >> 0x18);
- uint32_t x80 = ((uint32_t)x78 & 0xffffff);
- uint64_t x81 = (x79 + x65);
- uint64_t x82 = (x81 >> 0x18);
- uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- uint64_t x84 = (x82 + x64);
- uint64_t x85 = (x84 >> 0x18);
- uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- uint64_t x87 = (x85 + x63);
- uint64_t x88 = (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint64_t x90 = (x88 + x62);
- uint64_t x91 = (x90 >> 0x19);
- uint32_t x92 = ((uint32_t)x90 & 0x1ffffff);
- uint64_t x93 = (x91 + x61);
- uint64_t x94 = (x93 >> 0x18);
- uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- uint64_t x96 = (x94 + x60);
- uint64_t x97 = (x96 >> 0x18);
- uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- uint64_t x99 = (x97 + x59);
- uint64_t x100 = (x99 >> 0x18);
- uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- uint64_t x102 = (x100 + x58);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x103 + x57);
- uint64_t x106 = (x105 >> 0x18);
- uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- uint64_t x108 = (x106 + x56);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x71 + (0xf * x109));
- uint32_t x112 = (uint32_t) (x111 >> 0x19);
- uint32_t x113 = ((uint32_t)x111 & 0x1ffffff);
- uint32_t x114 = (x112 + x74);
- uint32_t x115 = (x114 >> 0x18);
- uint32_t x116 = (x114 & 0xffffff);
- return (Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, Return x80, (x115 + x77), Return x116, Return x113))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e338m15_14limbs/femulDisplay.v b/src/Specific/solinas32_2e338m15_14limbs/femulDisplay.v
deleted file mode 100644
index e6943af34..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fesquare.c b/src/Specific/solinas32_2e338m15_14limbs/fesquare.c
deleted file mode 100644
index 37e2bc76c..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesquare.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void fesquare(uint32_t out[14], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x27 = (((uint64_t)x2 * x25) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x25 * x2))))))))))))));
- { uint64_t x28 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0xf * ((uint64_t)x25 * x25)));
- { uint64_t x29 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xf * (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))));
- { uint64_t x30 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0xf * (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))));
- { uint64_t x31 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xf * (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))));
- { uint64_t x32 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0xf * (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))));
- { uint64_t x33 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xf * ((0x2 * ((uint64_t)x18 * x25)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + (0x2 * ((uint64_t)x25 * x18)))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (((uint64_t)x16 * x25) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((uint64_t)x25 * x16)))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x25) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + ((uint64_t)x25 * x14))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x25) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((uint64_t)x25 * x12)))))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x25) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((uint64_t)x25 * x10))))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x25) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((uint64_t)x25 * x8)))))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x25) + (((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)x25 * x6))))))))))))));
- { uint64_t x40 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x25)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + (0x2 * ((uint64_t)x25 * x4))))))))))))))));
- { uint64_t x41 = (x40 >> 0x19);
- { uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- { uint64_t x43 = (x41 + x39);
- { uint64_t x44 = (x43 >> 0x18);
- { uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x46 = (x44 + x38);
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x37);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x36);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x35);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x34);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x32);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x31);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x30);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x29);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x28);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x27);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x42 + (0xf * x80));
- { uint32_t x83 = (uint32_t) (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint32_t x85 = (x83 + x45);
- { uint32_t x86 = (x85 >> 0x18);
- { uint32_t x87 = (x85 & 0xffffff);
- out[0] = x84;
- out[1] = x87;
- out[2] = (x86 + x48);
- out[3] = x51;
- out[4] = x54;
- out[5] = x57;
- out[6] = x60;
- out[7] = x63;
- out[8] = x66;
- out[9] = x69;
- out[10] = x72;
- out[11] = x75;
- out[12] = x78;
- out[13] = x81;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fesquare.v b/src/Specific/solinas32_2e338m15_14limbs/fesquare.v
deleted file mode 100644
index 36eca3b61..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/fesquareDisplay.log b/src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.log
deleted file mode 100644
index 34d67b773..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x27 = (((uint64_t)x2 * x25) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x25 * x2))))))))))))));
- uint64_t x28 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0xf * ((uint64_t)x25 * x25)));
- uint64_t x29 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xf * (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))));
- uint64_t x30 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0xf * (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))));
- uint64_t x31 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xf * (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))));
- uint64_t x32 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0xf * (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))));
- uint64_t x33 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xf * ((0x2 * ((uint64_t)x18 * x25)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + (0x2 * ((uint64_t)x25 * x18)))))))));
- uint64_t x34 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xf * (((uint64_t)x16 * x25) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((uint64_t)x25 * x16)))))))));
- uint64_t x35 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x25) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + ((uint64_t)x25 * x14))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x25) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((uint64_t)x25 * x12)))))))))));
- uint64_t x37 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x25) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((uint64_t)x25 * x10))))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x25) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((uint64_t)x25 * x8)))))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x25) + (((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)x25 * x6))))))))))))));
- uint64_t x40 = (((uint64_t)x2 * x2) + (0xf * ((0x2 * ((uint64_t)x4 * x25)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + (0x2 * ((uint64_t)x25 * x4))))))))))))))));
- uint64_t x41 = (x40 >> 0x19);
- uint32_t x42 = ((uint32_t)x40 & 0x1ffffff);
- uint64_t x43 = (x41 + x39);
- uint64_t x44 = (x43 >> 0x18);
- uint32_t x45 = ((uint32_t)x43 & 0xffffff);
- uint64_t x46 = (x44 + x38);
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x37);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x36);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x35);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x34);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x32);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x31);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x30);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x29);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x28);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x27);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x42 + (0xf * x80));
- uint32_t x83 = (uint32_t) (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint32_t x85 = (x83 + x45);
- uint32_t x86 = (x85 >> 0x18);
- uint32_t x87 = (x85 & 0xffffff);
- return (Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, (x86 + x48), Return x87, Return x84))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.v b/src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.v
deleted file mode 100644
index 4611f1d3f..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fesub.c b/src/Specific/solinas32_2e338m15_14limbs/fesub.c
deleted file mode 100644
index 5573e5737..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesub.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void fesub(uint32_t out[14], const uint32_t in1[14], const uint32_t in2[14]) {
- { const uint32_t x28 = 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 x54 = in2[13];
- { const uint32_t x55 = in2[12];
- { const uint32_t x53 = in2[11];
- { const uint32_t x51 = in2[10];
- { const uint32_t x49 = in2[9];
- { const uint32_t x47 = in2[8];
- { const uint32_t x45 = in2[7];
- { const uint32_t x43 = in2[6];
- { const uint32_t x41 = in2[5];
- { const uint32_t x39 = in2[4];
- { const uint32_t x37 = in2[3];
- { const uint32_t x35 = in2[2];
- { const uint32_t x33 = in2[1];
- { const uint32_t x31 = in2[0];
- out[0] = ((0x3ffffe2 + x5) - x31);
- out[1] = ((0x1fffffe + x7) - x33);
- out[2] = ((0x1fffffe + x9) - x35);
- out[3] = ((0x1fffffe + x11) - x37);
- out[4] = ((0x1fffffe + x13) - x39);
- out[5] = ((0x1fffffe + x15) - x41);
- out[6] = ((0x1fffffe + x17) - x43);
- out[7] = ((0x3fffffe + x19) - x45);
- out[8] = ((0x1fffffe + x21) - x47);
- out[9] = ((0x1fffffe + x23) - x49);
- out[10] = ((0x1fffffe + x25) - x51);
- out[11] = ((0x1fffffe + x27) - x53);
- out[12] = ((0x1fffffe + x29) - x55);
- out[13] = ((0x1fffffe + x28) - x54);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fesub.v b/src/Specific/solinas32_2e338m15_14limbs/fesub.v
deleted file mode 100644
index c815697a0..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/fesubDisplay.log b/src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.log
deleted file mode 100644
index 8af6fc90e..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- (((0x1fffffe + x28) - x54), ((0x1fffffe + x29) - x55), ((0x1fffffe + x27) - x53), ((0x1fffffe + x25) - x51), ((0x1fffffe + x23) - x49), ((0x1fffffe + x21) - x47), ((0x3fffffe + x19) - x45), ((0x1fffffe + x17) - x43), ((0x1fffffe + x15) - x41), ((0x1fffffe + x13) - x39), ((0x1fffffe + x11) - x37), ((0x1fffffe + x9) - x35), ((0x1fffffe + x7) - x33), ((0x3ffffe2 + x5) - x31)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.v b/src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.v
deleted file mode 100644
index b1107f434..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e338m15_14limbs/freeze.c b/src/Specific/solinas32_2e338m15_14limbs/freeze.c
deleted file mode 100644
index e70224f70..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/freeze.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void freeze(uint32_t out[14], const uint32_t in1[14]) {
- { const uint32_t x25 = 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 x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff1);
- { uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0xffffff);
- { uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0xffffff);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0xffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0xffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0x1ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
- { uint32_t x69 = cmovznz32(x68, 0x0, 0xffffffff);
- { uint32_t x70 = (x69 & 0x1fffff1);
- { uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- { uint32_t x74 = (x69 & 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- { uint32_t x78 = (x69 & 0xffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- { uint32_t x82 = (x69 & 0xffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- { uint32_t x86 = (x69 & 0xffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- { uint32_t x90 = (x69 & 0xffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- { uint32_t x94 = (x69 & 0xffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- { uint32_t x98 = (x69 & 0x1ffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- { uint32_t x102 = (x69 & 0xffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- { uint32_t x106 = (x69 & 0xffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- { uint32_t x110 = (x69 & 0xffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- { uint32_t x114 = (x69 & 0xffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- { uint32_t x118 = (x69 & 0xffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- { uint32_t x122 = (x69 & 0xffffff);
- { uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- out[0] = x72;
- out[1] = x76;
- out[2] = x80;
- out[3] = x84;
- out[4] = x88;
- out[5] = x92;
- out[6] = x96;
- out[7] = x100;
- out[8] = x104;
- out[9] = x108;
- out[10] = x112;
- out[11] = x116;
- out[12] = x120;
- out[13] = x124;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e338m15_14limbs/freeze.v b/src/Specific/solinas32_2e338m15_14limbs/freeze.v
deleted file mode 100644
index 858a769ec..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.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_2e338m15_14limbs/freezeDisplay.log b/src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.log
deleted file mode 100644
index 55b57957b..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.log
+++ /dev/null
@@ -1,50 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff1);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0x1ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
- uint32_t x69 = cmovznz32(x68, 0x0, 0xffffffff);
- uint32_t x70 = (x69 & 0x1fffff1);
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = (x69 & 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = (x69 & 0xffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = (x69 & 0xffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = (x69 & 0xffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = (x69 & 0xffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = (x69 & 0xffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = (x69 & 0x1ffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = (x69 & 0xffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = (x69 & 0xffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = (x69 & 0xffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = (x69 & 0xffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = (x69 & 0xffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = (x69 & 0xffffff);
- uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- (Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.v b/src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.v
deleted file mode 100644
index 187a2a775..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e338m15_14limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e338m15_14limbs/py_interpreter.sh b/src/Specific/solinas32_2e338m15_14limbs/py_interpreter.sh
deleted file mode 100755
index cf51489ce..000000000
--- a/src/Specific/solinas32_2e338m15_14limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**338 - 15' -Dmodulus_bytes='24 + 1/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e369m25_15limbs/CurveParameters.v b/src/Specific/solinas32_2e369m25_15limbs/CurveParameters.v
deleted file mode 100644
index 23d96973b..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^369 - 25
-Base: 24.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 24 + 3/5;
- bitwidth := 32;
- s := 2^369;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 15); [0; 1]]%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_2e369m25_15limbs/Synthesis.v b/src/Specific/solinas32_2e369m25_15limbs/Synthesis.v
deleted file mode 100644
index 25da195f3..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/compiler.sh b/src/Specific/solinas32_2e369m25_15limbs/compiler.sh
deleted file mode 100755
index af73aaeac..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,24,25,25,24,25,24,25,25,24,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas32_2e369m25_15limbs/compilerxx.sh b/src/Specific/solinas32_2e369m25_15limbs/compilerxx.sh
deleted file mode 100755
index ee0fcbb56..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,24,25,25,24,25,24,25,25,24,25,24}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas32_2e369m25_15limbs/feadd.c b/src/Specific/solinas32_2e369m25_15limbs/feadd.c
deleted file mode 100644
index 72a59425b..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/feadd.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = (x5 + x33);
- out[1] = (x7 + x35);
- out[2] = (x9 + x37);
- out[3] = (x11 + x39);
- out[4] = (x13 + x41);
- out[5] = (x15 + x43);
- out[6] = (x17 + x45);
- out[7] = (x19 + x47);
- out[8] = (x21 + x49);
- out[9] = (x23 + x51);
- out[10] = (x25 + x53);
- out[11] = (x27 + x55);
- out[12] = (x29 + x57);
- out[13] = (x31 + x59);
- out[14] = (x30 + x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_15limbs/feadd.v b/src/Specific/solinas32_2e369m25_15limbs/feadd.v
deleted file mode 100644
index 48efdb3f2..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/feaddDisplay.log b/src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.log
deleted file mode 100644
index 08d611628..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- ((x30 + x58), (x31 + x59), (x29 + x57), (x27 + x55), (x25 + x53), (x23 + x51), (x21 + x49), (x19 + x47), (x17 + x45), (x15 + x43), (x13 + x41), (x11 + x39), (x9 + x37), (x7 + x35), (x5 + x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.v b/src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.v
deleted file mode 100644
index 7752e301b..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fecarry.v b/src/Specific/solinas32_2e369m25_15limbs/fecarry.v
deleted file mode 100644
index 31da916c4..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/fecarryDisplay.v b/src/Specific/solinas32_2e369m25_15limbs/fecarryDisplay.v
deleted file mode 100644
index 8f4e06103..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e369m25_15limbs/femul.c b/src/Specific/solinas32_2e369m25_15limbs/femul.c
deleted file mode 100644
index 332b88a70..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/femul.c
+++ /dev/null
@@ -1,113 +0,0 @@
-static void femul(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((0x2 * ((uint64_t)x29 * x37)) + (((uint64_t)x31 * x35) + ((uint64_t)x30 * x33)))))))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((0x2 * ((uint64_t)x27 * x37)) + ((0x2 * ((uint64_t)x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + (0x19 * (0x2 * ((uint64_t)x30 * x58))));
- { uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x19 * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
- { uint64_t x63 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x27 * x33)))))))))))) + (0x19 * ((0x2 * ((uint64_t)x29 * x58)) + (((uint64_t)x31 * x59) + (0x2 * ((uint64_t)x30 * x57))))));
- { uint64_t x64 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + ((uint64_t)x25 * x33))))))))))) + (0x19 * ((0x2 * ((uint64_t)x27 * x58)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + (0x2 * ((uint64_t)x30 * x55)))))));
- { uint64_t x65 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x23 * x33)))))))))) + (0x19 * (((uint64_t)x25 * x58) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((uint64_t)x30 * x53)))))));
- { uint64_t x66 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x21 * x33))))))))) + (0x19 * ((0x2 * ((uint64_t)x23 * x58)) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (0x2 * ((uint64_t)x30 * x51)))))))));
- { uint64_t x67 = ((((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)x19 * x33)))))))) + (0x19 * (((uint64_t)x21 * x58) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((uint64_t)x30 * x49)))))))));
- { uint64_t x68 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))))))) + (0x19 * ((0x2 * ((uint64_t)x19 * x58)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (0x2 * ((uint64_t)x30 * x47)))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x19 * ((0x2 * ((uint64_t)x17 * x58)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (0x2 * ((uint64_t)x30 * x45))))))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x19 * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x58)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) + (0x19 * (((uint64_t)x11 * x58) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x30 * x39))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x19 * ((0x2 * ((uint64_t)x9 * x58)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + (0x2 * ((uint64_t)x30 * x37))))))))))))))));
- { uint64_t x74 = (((uint64_t)x5 * x33) + (0x19 * ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- { uint64_t x75 = (x74 >> 0x19);
- { uint32_t x76 = ((uint32_t)x74 & 0x1ffffff);
- { uint64_t x77 = (x75 + x73);
- { uint64_t x78 = (x77 >> 0x19);
- { uint32_t x79 = ((uint32_t)x77 & 0x1ffffff);
- { uint64_t x80 = (x78 + x72);
- { uint64_t x81 = (x80 >> 0x18);
- { uint32_t x82 = ((uint32_t)x80 & 0xffffff);
- { uint64_t x83 = (x81 + x71);
- { uint64_t x84 = (x83 >> 0x19);
- { uint32_t x85 = ((uint32_t)x83 & 0x1ffffff);
- { uint64_t x86 = (x84 + x70);
- { uint64_t x87 = (x86 >> 0x18);
- { uint32_t x88 = ((uint32_t)x86 & 0xffffff);
- { uint64_t x89 = (x87 + x69);
- { uint64_t x90 = (x89 >> 0x19);
- { uint32_t x91 = ((uint32_t)x89 & 0x1ffffff);
- { uint64_t x92 = (x90 + x68);
- { uint64_t x93 = (x92 >> 0x19);
- { uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- { uint64_t x95 = (x93 + x67);
- { uint64_t x96 = (x95 >> 0x18);
- { uint32_t x97 = ((uint32_t)x95 & 0xffffff);
- { uint64_t x98 = (x96 + x66);
- { uint64_t x99 = (x98 >> 0x19);
- { uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- { uint64_t x101 = (x99 + x65);
- { uint64_t x102 = (x101 >> 0x18);
- { uint32_t x103 = ((uint32_t)x101 & 0xffffff);
- { uint64_t x104 = (x102 + x64);
- { uint64_t x105 = (x104 >> 0x19);
- { uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- { uint64_t x107 = (x105 + x63);
- { uint64_t x108 = (x107 >> 0x19);
- { uint32_t x109 = ((uint32_t)x107 & 0x1ffffff);
- { uint64_t x110 = (x108 + x62);
- { uint64_t x111 = (x110 >> 0x18);
- { uint32_t x112 = ((uint32_t)x110 & 0xffffff);
- { uint64_t x113 = (x111 + x61);
- { uint64_t x114 = (x113 >> 0x19);
- { uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- { uint64_t x116 = (x114 + x60);
- { uint64_t x117 = (x116 >> 0x18);
- { uint32_t x118 = ((uint32_t)x116 & 0xffffff);
- { uint64_t x119 = (x76 + (0x19 * x117));
- { uint32_t x120 = (uint32_t) (x119 >> 0x19);
- { uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- { uint32_t x122 = (x120 + x79);
- { uint32_t x123 = (x122 >> 0x19);
- { uint32_t x124 = (x122 & 0x1ffffff);
- out[0] = x121;
- out[1] = x124;
- out[2] = (x123 + x82);
- out[3] = x85;
- out[4] = x88;
- out[5] = x91;
- out[6] = x94;
- out[7] = x97;
- out[8] = x100;
- out[9] = x103;
- out[10] = x106;
- out[11] = x109;
- out[12] = x112;
- out[13] = x115;
- out[14] = x118;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_15limbs/femul.v b/src/Specific/solinas32_2e369m25_15limbs/femul.v
deleted file mode 100644
index 0451ed7bb..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/femulDisplay.log b/src/Specific/solinas32_2e369m25_15limbs/femulDisplay.log
deleted file mode 100644
index 6ae70205b..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/femulDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((0x2 * ((uint64_t)x29 * x37)) + (((uint64_t)x31 * x35) + ((uint64_t)x30 * x33)))))))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((0x2 * ((uint64_t)x27 * x37)) + ((0x2 * ((uint64_t)x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + (0x19 * (0x2 * ((uint64_t)x30 * x58))));
- uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x19 * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
- uint64_t x63 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x27 * x33)))))))))))) + (0x19 * ((0x2 * ((uint64_t)x29 * x58)) + (((uint64_t)x31 * x59) + (0x2 * ((uint64_t)x30 * x57))))));
- uint64_t x64 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + ((uint64_t)x25 * x33))))))))))) + (0x19 * ((0x2 * ((uint64_t)x27 * x58)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + (0x2 * ((uint64_t)x30 * x55)))))));
- uint64_t x65 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((uint64_t)x23 * x33)))))))))) + (0x19 * (((uint64_t)x25 * x58) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((uint64_t)x30 * x53)))))));
- uint64_t x66 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + ((0x2 * ((uint64_t)x19 * x35)) + ((uint64_t)x21 * x33))))))))) + (0x19 * ((0x2 * ((uint64_t)x23 * x58)) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (0x2 * ((uint64_t)x30 * x51)))))))));
- uint64_t x67 = ((((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)x19 * x33)))))))) + (0x19 * (((uint64_t)x21 * x58) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((uint64_t)x30 * x49)))))))));
- uint64_t x68 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))))))) + (0x19 * ((0x2 * ((uint64_t)x19 * x58)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (0x2 * ((uint64_t)x30 * x47)))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x19 * ((0x2 * ((uint64_t)x17 * x58)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (0x2 * ((uint64_t)x30 * x45))))))))))));
- uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x19 * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
- uint64_t x71 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x19 * ((0x2 * ((uint64_t)x13 * x58)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- uint64_t x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) + (0x19 * (((uint64_t)x11 * x58) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x30 * x39))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x19 * ((0x2 * ((uint64_t)x9 * x58)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + (0x2 * ((uint64_t)x30 * x37))))))))))))))));
- uint64_t x74 = (((uint64_t)x5 * x33) + (0x19 * ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- uint64_t x75 = (x74 >> 0x19);
- uint32_t x76 = ((uint32_t)x74 & 0x1ffffff);
- uint64_t x77 = (x75 + x73);
- uint64_t x78 = (x77 >> 0x19);
- uint32_t x79 = ((uint32_t)x77 & 0x1ffffff);
- uint64_t x80 = (x78 + x72);
- uint64_t x81 = (x80 >> 0x18);
- uint32_t x82 = ((uint32_t)x80 & 0xffffff);
- uint64_t x83 = (x81 + x71);
- uint64_t x84 = (x83 >> 0x19);
- uint32_t x85 = ((uint32_t)x83 & 0x1ffffff);
- uint64_t x86 = (x84 + x70);
- uint64_t x87 = (x86 >> 0x18);
- uint32_t x88 = ((uint32_t)x86 & 0xffffff);
- uint64_t x89 = (x87 + x69);
- uint64_t x90 = (x89 >> 0x19);
- uint32_t x91 = ((uint32_t)x89 & 0x1ffffff);
- uint64_t x92 = (x90 + x68);
- uint64_t x93 = (x92 >> 0x19);
- uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- uint64_t x95 = (x93 + x67);
- uint64_t x96 = (x95 >> 0x18);
- uint32_t x97 = ((uint32_t)x95 & 0xffffff);
- uint64_t x98 = (x96 + x66);
- uint64_t x99 = (x98 >> 0x19);
- uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- uint64_t x101 = (x99 + x65);
- uint64_t x102 = (x101 >> 0x18);
- uint32_t x103 = ((uint32_t)x101 & 0xffffff);
- uint64_t x104 = (x102 + x64);
- uint64_t x105 = (x104 >> 0x19);
- uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- uint64_t x107 = (x105 + x63);
- uint64_t x108 = (x107 >> 0x19);
- uint32_t x109 = ((uint32_t)x107 & 0x1ffffff);
- uint64_t x110 = (x108 + x62);
- uint64_t x111 = (x110 >> 0x18);
- uint32_t x112 = ((uint32_t)x110 & 0xffffff);
- uint64_t x113 = (x111 + x61);
- uint64_t x114 = (x113 >> 0x19);
- uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- uint64_t x116 = (x114 + x60);
- uint64_t x117 = (x116 >> 0x18);
- uint32_t x118 = ((uint32_t)x116 & 0xffffff);
- uint64_t x119 = (x76 + (0x19 * x117));
- uint32_t x120 = (uint32_t) (x119 >> 0x19);
- uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- uint32_t x122 = (x120 + x79);
- uint32_t x123 = (x122 >> 0x19);
- uint32_t x124 = (x122 & 0x1ffffff);
- return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, (x123 + x82), Return x124, Return x121))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e369m25_15limbs/femulDisplay.v b/src/Specific/solinas32_2e369m25_15limbs/femulDisplay.v
deleted file mode 100644
index 524b5f11e..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fesquare.c b/src/Specific/solinas32_2e369m25_15limbs/fesquare.c
deleted file mode 100644
index 752b22e8e..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesquare.c
+++ /dev/null
@@ -1,98 +0,0 @@
-static void fesquare(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (((uint64_t)x2 * x27) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x27 * x2)))))))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x19 * (0x2 * ((uint64_t)x27 * x27))));
- { uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x19 * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
- { uint64_t x32 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x19 * ((0x2 * ((uint64_t)x26 * x27)) + (((uint64_t)x28 * x28) + (0x2 * ((uint64_t)x27 * x26))))));
- { uint64_t x33 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x19 * ((0x2 * ((uint64_t)x24 * x27)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (0x2 * ((uint64_t)x27 * x24)))))));
- { uint64_t x34 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x19 * (((uint64_t)x22 * x27) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((uint64_t)x27 * x22)))))));
- { uint64_t x35 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x19 * ((0x2 * ((uint64_t)x20 * x27)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + (0x2 * ((uint64_t)x27 * x20)))))))));
- { uint64_t x36 = ((((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)))))))) + (0x19 * (((uint64_t)x18 * x27) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x27 * x18)))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x19 * ((0x2 * ((uint64_t)x16 * x27)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (0x2 * ((uint64_t)x27 * x16)))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * ((0x2 * ((uint64_t)x14 * x27)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + (0x2 * ((uint64_t)x27 * x14))))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x27)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x27) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((uint64_t)x27 * x8))))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x27)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + (0x2 * ((uint64_t)x27 * x6))))))))))))))));
- { uint64_t x43 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- { uint64_t x44 = (x43 >> 0x19);
- { uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x46 = (x44 + x42);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x41);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x40);
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x39);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x38);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x37);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x36);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x35);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x34);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x33);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x32);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x31);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x30);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x29);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x45 + (0x19 * x86));
- { uint32_t x89 = (uint32_t) (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint32_t x91 = (x89 + x48);
- { uint32_t x92 = (x91 >> 0x19);
- { uint32_t x93 = (x91 & 0x1ffffff);
- out[0] = x90;
- out[1] = x93;
- out[2] = (x92 + x51);
- out[3] = x54;
- out[4] = x57;
- out[5] = x60;
- out[6] = x63;
- out[7] = x66;
- out[8] = x69;
- out[9] = x72;
- out[10] = x75;
- out[11] = x78;
- out[12] = x81;
- out[13] = x84;
- out[14] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fesquare.v b/src/Specific/solinas32_2e369m25_15limbs/fesquare.v
deleted file mode 100644
index 0cff24c64..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/fesquareDisplay.log b/src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.log
deleted file mode 100644
index 27f6a725a..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x29 = (((uint64_t)x2 * x27) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x27 * x2)))))))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x19 * (0x2 * ((uint64_t)x27 * x27))));
- uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x19 * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
- uint64_t x32 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x19 * ((0x2 * ((uint64_t)x26 * x27)) + (((uint64_t)x28 * x28) + (0x2 * ((uint64_t)x27 * x26))))));
- uint64_t x33 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x19 * ((0x2 * ((uint64_t)x24 * x27)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (0x2 * ((uint64_t)x27 * x24)))))));
- uint64_t x34 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x19 * (((uint64_t)x22 * x27) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((uint64_t)x27 * x22)))))));
- uint64_t x35 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x19 * ((0x2 * ((uint64_t)x20 * x27)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + (0x2 * ((uint64_t)x27 * x20)))))))));
- uint64_t x36 = ((((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)))))))) + (0x19 * (((uint64_t)x18 * x27) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x27 * x18)))))))));
- uint64_t x37 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x19 * ((0x2 * ((uint64_t)x16 * x27)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (0x2 * ((uint64_t)x27 * x16)))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * ((0x2 * ((uint64_t)x14 * x27)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + (0x2 * ((uint64_t)x27 * x14))))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * ((0x2 * ((uint64_t)x10 * x27)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x27) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((uint64_t)x27 * x8))))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * ((0x2 * ((uint64_t)x6 * x27)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + (0x2 * ((uint64_t)x27 * x6))))))))))))))));
- uint64_t x43 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- uint64_t x44 = (x43 >> 0x19);
- uint32_t x45 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x46 = (x44 + x42);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x41);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x40);
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x39);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x38);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x37);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x36);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x35);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x34);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x33);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x32);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x31);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x30);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x29);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x45 + (0x19 * x86));
- uint32_t x89 = (uint32_t) (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint32_t x91 = (x89 + x48);
- uint32_t x92 = (x91 >> 0x19);
- uint32_t x93 = (x91 & 0x1ffffff);
- return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, (x92 + x51), Return x93, Return x90))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.v b/src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.v
deleted file mode 100644
index 1c693bb46..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fesub.c b/src/Specific/solinas32_2e369m25_15limbs/fesub.c
deleted file mode 100644
index d7d3603d5..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesub.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void fesub(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = ((0x3ffffce + x5) - x33);
- out[1] = ((0x3fffffe + x7) - x35);
- out[2] = ((0x1fffffe + x9) - x37);
- out[3] = ((0x3fffffe + x11) - x39);
- out[4] = ((0x1fffffe + x13) - x41);
- out[5] = ((0x3fffffe + x15) - x43);
- out[6] = ((0x3fffffe + x17) - x45);
- out[7] = ((0x1fffffe + x19) - x47);
- out[8] = ((0x3fffffe + x21) - x49);
- out[9] = ((0x1fffffe + x23) - x51);
- out[10] = ((0x3fffffe + x25) - x53);
- out[11] = ((0x3fffffe + x27) - x55);
- out[12] = ((0x1fffffe + x29) - x57);
- out[13] = ((0x3fffffe + x31) - x59);
- out[14] = ((0x1fffffe + x30) - x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fesub.v b/src/Specific/solinas32_2e369m25_15limbs/fesub.v
deleted file mode 100644
index f2c8d1798..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/fesubDisplay.log b/src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.log
deleted file mode 100644
index 5acc2d986..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- (((0x1fffffe + x30) - x58), ((0x3fffffe + x31) - x59), ((0x1fffffe + x29) - x57), ((0x3fffffe + x27) - x55), ((0x3fffffe + x25) - x53), ((0x1fffffe + x23) - x51), ((0x3fffffe + x21) - x49), ((0x1fffffe + x19) - x47), ((0x3fffffe + x17) - x45), ((0x3fffffe + x15) - x43), ((0x1fffffe + x13) - x41), ((0x3fffffe + x11) - x39), ((0x1fffffe + x9) - x37), ((0x3fffffe + x7) - x35), ((0x3ffffce + x5) - x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.v b/src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.v
deleted file mode 100644
index 5f8a2af7a..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e369m25_15limbs/freeze.c b/src/Specific/solinas32_2e369m25_15limbs/freeze.c
deleted file mode 100644
index f33c335f6..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/freeze.c
+++ /dev/null
@@ -1,79 +0,0 @@
-static void freeze(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffe7);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0xffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0xffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0xffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x1ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0xffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0xffffff);
- { uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- { uint32_t x75 = (x74 & 0x1ffffe7);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- { uint32_t x79 = (x74 & 0x1ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- { uint32_t x83 = (x74 & 0xffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- { uint32_t x87 = (x74 & 0x1ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- { uint32_t x91 = (x74 & 0xffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- { uint32_t x95 = (x74 & 0x1ffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- { uint32_t x99 = (x74 & 0x1ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- { uint32_t x103 = (x74 & 0xffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- { uint32_t x107 = (x74 & 0x1ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- { uint32_t x111 = (x74 & 0xffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- { uint32_t x115 = (x74 & 0x1ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- { uint32_t x119 = (x74 & 0x1ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- { uint32_t x123 = (x74 & 0xffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- { uint32_t x127 = (x74 & 0x1ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- { uint32_t x131 = (x74 & 0xffffff);
- { uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- out[0] = x77;
- out[1] = x81;
- out[2] = x85;
- out[3] = x89;
- out[4] = x93;
- out[5] = x97;
- out[6] = x101;
- out[7] = x105;
- out[8] = x109;
- out[9] = x113;
- out[10] = x117;
- out[11] = x121;
- out[12] = x125;
- out[13] = x129;
- out[14] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_15limbs/freeze.v b/src/Specific/solinas32_2e369m25_15limbs/freeze.v
deleted file mode 100644
index aeb5d58f4..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.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_2e369m25_15limbs/freezeDisplay.log b/src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.log
deleted file mode 100644
index e27aaba97..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffe7);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0xffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0xffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0xffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x1ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0xffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0xffffff);
- uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- uint32_t x75 = (x74 & 0x1ffffe7);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = (x74 & 0x1ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = (x74 & 0xffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = (x74 & 0x1ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = (x74 & 0xffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = (x74 & 0x1ffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = (x74 & 0x1ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = (x74 & 0xffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = (x74 & 0x1ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = (x74 & 0xffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = (x74 & 0x1ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = (x74 & 0x1ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = (x74 & 0xffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = (x74 & 0x1ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = (x74 & 0xffffff);
- uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.v b/src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.v
deleted file mode 100644
index 5c201c0ad..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_15limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e369m25_15limbs/py_interpreter.sh b/src/Specific/solinas32_2e369m25_15limbs/py_interpreter.sh
deleted file mode 100755
index 730c995fb..000000000
--- a/src/Specific/solinas32_2e369m25_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**369 - 25' -Dmodulus_bytes='24.6' -Da24='121665'
diff --git a/src/Specific/solinas32_2e369m25_16limbs/CurveParameters.v b/src/Specific/solinas32_2e369m25_16limbs/CurveParameters.v
deleted file mode 100644
index bcbf236a9..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^369 - 25
-Base: 23 + 1/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 23 + 1/16;
- bitwidth := 32;
- s := 2^369;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e369m25_16limbs/Synthesis.v b/src/Specific/solinas32_2e369m25_16limbs/Synthesis.v
deleted file mode 100644
index 09ecef29b..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/compiler.sh b/src/Specific/solinas32_2e369m25_16limbs/compiler.sh
deleted file mode 100755
index 8697440d3..000000000
--- a/src/Specific/solinas32_2e369m25_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas32_2e369m25_16limbs/compilerxx.sh b/src/Specific/solinas32_2e369m25_16limbs/compilerxx.sh
deleted file mode 100755
index 28dde99b8..000000000
--- a/src/Specific/solinas32_2e369m25_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas32_2e369m25_16limbs/feadd.c b/src/Specific/solinas32_2e369m25_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e369m25_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_2e369m25_16limbs/feadd.v b/src/Specific/solinas32_2e369m25_16limbs/feadd.v
deleted file mode 100644
index 74a390c1f..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e369m25_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e369m25_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_2e369m25_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e369m25_16limbs/feaddDisplay.v
deleted file mode 100644
index a595eeb87..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e369m25_16limbs/fecarry.v b/src/Specific/solinas32_2e369m25_16limbs/fecarry.v
deleted file mode 100644
index ebce7cc85..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e369m25_16limbs/fecarryDisplay.v
deleted file mode 100644
index 39a277032..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e369m25_16limbs/femul.c b/src/Specific/solinas32_2e369m25_16limbs/femul.c
deleted file mode 100644
index cc1c2a4b5..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)x5 * x62) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((0x2 * ((uint64_t)x33 * x37)) + ((uint64_t)x32 * x35))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + ((uint64_t)x33 * x35))))))))))))))) + (0x19 * ((uint64_t)x32 * x62)));
- { uint64_t x66 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((0x2 * ((uint64_t)x29 * x37)) + ((uint64_t)x31 * x35)))))))))))))) + (0x19 * (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((uint64_t)x29 * x35))))))))))))) + (0x19 * (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x19 * (((uint64_t)x29 * x62) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((uint64_t)x32 * x59))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x25 * x35))))))))))) + (0x19 * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x23 * x35)))))))))) + (0x19 * (((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 x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x19 * (((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)))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((uint64_t)x19 * x35)))))))) + (0x19 * (((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 x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x19 * (((uint64_t)x19 * x62) + (((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)x32 * x49)))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((uint64_t)x15 * x35)))))) + (0x19 * (((uint64_t)x17 * x62) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + ((uint64_t)x32 * x47))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((uint64_t)x13 * x35))))) + (0x19 * (((uint64_t)x15 * x62) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + ((uint64_t)x32 * x45)))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((uint64_t)x11 * x35)))) + (0x19 * (((uint64_t)x13 * x62) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x32 * x43))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((uint64_t)x9 * x35))) + (0x19 * (((uint64_t)x11 * x62) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x32 * x41)))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x19 * (((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)x21 * x53) + (((uint64_t)x23 * x51) + (((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 x79 = (((uint64_t)x5 * x35) + (0x19 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x17);
- { uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x17);
- { uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x17);
- { uint32_t x105 = ((uint32_t)x103 & 0x7fffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x17);
- { uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x17);
- { uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x17);
- { uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x17);
- { uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x17);
- { uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x17);
- { uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- { uint64_t x124 = (x122 + x64);
- { uint32_t x125 = (uint32_t) (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x81 + ((uint64_t)0x19 * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x18);
- { uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x17);
- { uint32_t x132 = (x130 & 0x7fffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_16limbs/femul.v b/src/Specific/solinas32_2e369m25_16limbs/femul.v
deleted file mode 100644
index da0b77870..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/femulDisplay.log b/src/Specific/solinas32_2e369m25_16limbs/femulDisplay.log
deleted file mode 100644
index de38629da..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)x5 * x62) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((0x2 * ((uint64_t)x33 * x37)) + ((uint64_t)x32 * x35))))))))))))))));
- uint64_t x65 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + ((uint64_t)x33 * x35))))))))))))))) + (0x19 * ((uint64_t)x32 * x62)));
- uint64_t x66 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((0x2 * ((uint64_t)x29 * x37)) + ((uint64_t)x31 * x35)))))))))))))) + (0x19 * (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((uint64_t)x29 * x35))))))))))))) + (0x19 * (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x19 * (((uint64_t)x29 * x62) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((uint64_t)x32 * x59))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x25 * x35))))))))))) + (0x19 * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x23 * x35)))))))))) + (0x19 * (((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 x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x19 * (((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)))))))));
- uint64_t x72 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((uint64_t)x19 * x35)))))))) + (0x19 * (((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 x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x19 * (((uint64_t)x19 * x62) + (((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)x32 * x49)))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((uint64_t)x15 * x35)))))) + (0x19 * (((uint64_t)x17 * x62) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + ((uint64_t)x32 * x47))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((uint64_t)x13 * x35))))) + (0x19 * (((uint64_t)x15 * x62) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + ((uint64_t)x32 * x45)))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((uint64_t)x11 * x35)))) + (0x19 * (((uint64_t)x13 * x62) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x32 * x43))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((uint64_t)x9 * x35))) + (0x19 * (((uint64_t)x11 * x62) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x32 * x41)))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x19 * (((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)x21 * x53) + (((uint64_t)x23 * x51) + (((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 x79 = (((uint64_t)x5 * x35) + (0x19 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x17);
- uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x17);
- uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x17);
- uint32_t x105 = ((uint32_t)x103 & 0x7fffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x17);
- uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x17);
- uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x17);
- uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x17);
- uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x17);
- uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x17);
- uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- uint64_t x124 = (x122 + x64);
- uint32_t x125 = (uint32_t) (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x81 + ((uint64_t)0x19 * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x18);
- uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x17);
- uint32_t x132 = (x130 & 0x7fffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e369m25_16limbs/femulDisplay.v b/src/Specific/solinas32_2e369m25_16limbs/femulDisplay.v
deleted file mode 100644
index 119fc316f..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e369m25_16limbs/fesquare.c b/src/Specific/solinas32_2e369m25_16limbs/fesquare.c
deleted file mode 100644
index dc12ffc32..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x19 * ((uint64_t)x29 * x29)));
- { uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x19 * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x19 * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x19 * (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x19 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x19 * (((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 x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x19 * (((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)))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x19 * (((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 x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * (((uint64_t)x16 * x29) + (((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)x29 * x16)))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x29) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((uint64_t)x29 * x8)))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * (((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)x18 * x20) + (((uint64_t)x20 * x18) + (((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 x46 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x17);
- { uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x17);
- { uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x17);
- { uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x31);
- { uint32_t x92 = (uint32_t) (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x48 + ((uint64_t)0x19 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x17);
- { uint32_t x99 = (x97 & 0x7fffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_16limbs/fesquare.v b/src/Specific/solinas32_2e369m25_16limbs/fesquare.v
deleted file mode 100644
index c274f3c21..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.log
deleted file mode 100644
index 9c6b94bc1..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x19 * ((uint64_t)x29 * x29)));
- uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x19 * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x19 * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x19 * (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x19 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x19 * (((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 x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x19 * (((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)))))))));
- uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x19 * (((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 x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x19 * (((uint64_t)x16 * x29) + (((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)x29 * x16)))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x19 * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x19 * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x19 * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x19 * (((uint64_t)x8 * x29) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((uint64_t)x29 * x8)))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x19 * (((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)x18 * x20) + (((uint64_t)x20 * x18) + (((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 x46 = (((uint64_t)x2 * x2) + (0x19 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x17);
- uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x17);
- uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x17);
- uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x31);
- uint32_t x92 = (uint32_t) (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x48 + ((uint64_t)0x19 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x17);
- uint32_t x99 = (x97 & 0x7fffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e369m25_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.v
deleted file mode 100644
index f911c937b..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e369m25_16limbs/fesub.c b/src/Specific/solinas32_2e369m25_16limbs/fesub.c
deleted file mode 100644
index 62ea61d39..000000000
--- a/src/Specific/solinas32_2e369m25_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] = ((0x1ffffce + x5) - x35);
- out[1] = ((0xfffffe + x7) - x37);
- out[2] = ((0xfffffe + x9) - x39);
- out[3] = ((0xfffffe + x11) - x41);
- out[4] = ((0xfffffe + x13) - x43);
- out[5] = ((0xfffffe + x15) - x45);
- out[6] = ((0xfffffe + x17) - x47);
- out[7] = ((0xfffffe + x19) - x49);
- out[8] = ((0xfffffe + x21) - x51);
- out[9] = ((0xfffffe + x23) - x53);
- out[10] = ((0xfffffe + x25) - x55);
- out[11] = ((0xfffffe + x27) - x57);
- out[12] = ((0xfffffe + x29) - x59);
- out[13] = ((0xfffffe + x31) - x61);
- out[14] = ((0xfffffe + x33) - x63);
- out[15] = ((0xfffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e369m25_16limbs/fesub.v b/src/Specific/solinas32_2e369m25_16limbs/fesub.v
deleted file mode 100644
index 1dc7d9d19..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e369m25_16limbs/fesubDisplay.log
deleted file mode 100644
index 861f7676b..000000000
--- a/src/Specific/solinas32_2e369m25_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,
- (((0xfffffe + x32) - x62), ((0xfffffe + x33) - x63), ((0xfffffe + x31) - x61), ((0xfffffe + x29) - x59), ((0xfffffe + x27) - x57), ((0xfffffe + x25) - x55), ((0xfffffe + x23) - x53), ((0xfffffe + x21) - x51), ((0xfffffe + x19) - x49), ((0xfffffe + x17) - x47), ((0xfffffe + x15) - x45), ((0xfffffe + x13) - x43), ((0xfffffe + x11) - x41), ((0xfffffe + x9) - x39), ((0xfffffe + x7) - x37), ((0x1ffffce + 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_2e369m25_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e369m25_16limbs/fesubDisplay.v
deleted file mode 100644
index 4c5bc0749..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e369m25_16limbs/freeze.c b/src/Specific/solinas32_2e369m25_16limbs/freeze.c
deleted file mode 100644
index 9e69a5b92..000000000
--- a/src/Specific/solinas32_2e369m25_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe7);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x7fffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x7fffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x7fffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x7fffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x7fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x7fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x7fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x7fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x7fffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x7fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x7fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x7fffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x7fffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0xffffe7);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0x7fffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e369m25_16limbs/freeze.v b/src/Specific/solinas32_2e369m25_16limbs/freeze.v
deleted file mode 100644
index a572cf74d..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e369m25_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_2e369m25_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e369m25_16limbs/freezeDisplay.log
deleted file mode 100644
index 8bf6ce780..000000000
--- a/src/Specific/solinas32_2e369m25_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe7);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x7fffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x7fffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x7fffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x7fffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x7fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x7fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x7fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x7fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x7fffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x7fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x7fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x7fffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x7fffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0xffffe7);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0x7fffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 23 (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 & 0x7fffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e369m25_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e369m25_16limbs/freezeDisplay.v
deleted file mode 100644
index 2e860427f..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e369m25_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e369m25_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e369m25_16limbs/py_interpreter.sh
deleted file mode 100755
index df5837055..000000000
--- a/src/Specific/solinas32_2e369m25_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**369 - 25' -Dmodulus_bytes='23 + 1/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e379m19_15limbs/CurveParameters.v b/src/Specific/solinas32_2e379m19_15limbs/CurveParameters.v
deleted file mode 100644
index 32bb0f429..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^379 - 19
-Base: 25 + 4/15
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 25 + 4/15;
- bitwidth := 32;
- s := 2^379;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 15); [0; 1]]%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_2e379m19_15limbs/Synthesis.v b/src/Specific/solinas32_2e379m19_15limbs/Synthesis.v
deleted file mode 100644
index 1e832c116..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/compiler.sh b/src/Specific/solinas32_2e379m19_15limbs/compiler.sh
deleted file mode 100755
index fe18607f8..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25,25,26,25,25,25,26,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas32_2e379m19_15limbs/compilerxx.sh b/src/Specific/solinas32_2e379m19_15limbs/compilerxx.sh
deleted file mode 100755
index a32f534ca..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,26,25,25,25,26,25,25,25,26,25,25,25}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas32_2e379m19_15limbs/feadd.c b/src/Specific/solinas32_2e379m19_15limbs/feadd.c
deleted file mode 100644
index 72a59425b..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/feadd.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = (x5 + x33);
- out[1] = (x7 + x35);
- out[2] = (x9 + x37);
- out[3] = (x11 + x39);
- out[4] = (x13 + x41);
- out[5] = (x15 + x43);
- out[6] = (x17 + x45);
- out[7] = (x19 + x47);
- out[8] = (x21 + x49);
- out[9] = (x23 + x51);
- out[10] = (x25 + x53);
- out[11] = (x27 + x55);
- out[12] = (x29 + x57);
- out[13] = (x31 + x59);
- out[14] = (x30 + x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_15limbs/feadd.v b/src/Specific/solinas32_2e379m19_15limbs/feadd.v
deleted file mode 100644
index c0f72ae72..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/feaddDisplay.log b/src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.log
deleted file mode 100644
index 08d611628..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- ((x30 + x58), (x31 + x59), (x29 + x57), (x27 + x55), (x25 + x53), (x23 + x51), (x21 + x49), (x19 + x47), (x17 + x45), (x15 + x43), (x13 + x41), (x11 + x39), (x9 + x37), (x7 + x35), (x5 + x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.v b/src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.v
deleted file mode 100644
index a13dc39b4..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fecarry.v b/src/Specific/solinas32_2e379m19_15limbs/fecarry.v
deleted file mode 100644
index 33ca01750..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/fecarryDisplay.v b/src/Specific/solinas32_2e379m19_15limbs/fecarryDisplay.v
deleted file mode 100644
index 6c536b51d..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e379m19_15limbs/femul.c b/src/Specific/solinas32_2e379m19_15limbs/femul.c
deleted file mode 100644
index 21a92f9cb..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/femul.c
+++ /dev/null
@@ -1,113 +0,0 @@
-static void femul(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint64_t x60 = (((uint64_t)x5 * x58) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((0x2 * ((uint64_t)x29 * x37)) + ((0x2 * ((uint64_t)x31 * x35)) + ((uint64_t)x30 * x33)))))))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((0x2 * ((uint64_t)x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + (0x13 * ((uint64_t)x30 * x58)));
- { uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x13 * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
- { uint64_t x63 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x27 * x33)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x29 * x58)) + ((0x2 * ((uint64_t)x31 * x59)) + (0x2 * ((uint64_t)x30 * x57))))));
- { uint64_t x64 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + ((uint64_t)x25 * x33))))))))))) + (0x13 * (((uint64_t)x27 * x58) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((uint64_t)x30 * x55))))));
- { uint64_t x65 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x23 * x33)))))))))) + (0x13 * (((uint64_t)x25 * x58) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((uint64_t)x30 * x53)))))));
- { uint64_t x66 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + ((uint64_t)x21 * x33))))))))) + (0x13 * (((uint64_t)x23 * x58) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x30 * x51))))))));
- { uint64_t x67 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((uint64_t)x19 * x33)))))))) + (0x13 * ((0x2 * ((uint64_t)x21 * x58)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + (0x2 * ((uint64_t)x30 * x49))))))))));
- { uint64_t x68 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((uint64_t)x17 * x33))))))) + (0x13 * (((uint64_t)x19 * x58) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((uint64_t)x30 * x47))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x13 * (((uint64_t)x17 * x58) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((uint64_t)x30 * x45)))))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x13 * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x13 * ((0x2 * ((uint64_t)x13 * x58)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((uint64_t)x9 * x33))) + (0x13 * (((uint64_t)x11 * x58) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x30 * x39))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x13 * (((uint64_t)x9 * x58) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x30 * x37)))))))))))))));
- { uint64_t x74 = (((uint64_t)x5 * x33) + (0x13 * ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- { uint64_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = ((uint32_t)x74 & 0x3ffffff);
- { uint64_t x77 = (x75 + x73);
- { uint64_t x78 = (x77 >> 0x19);
- { uint32_t x79 = ((uint32_t)x77 & 0x1ffffff);
- { uint64_t x80 = (x78 + x72);
- { uint64_t x81 = (x80 >> 0x19);
- { uint32_t x82 = ((uint32_t)x80 & 0x1ffffff);
- { uint64_t x83 = (x81 + x71);
- { uint64_t x84 = (x83 >> 0x1a);
- { uint32_t x85 = ((uint32_t)x83 & 0x3ffffff);
- { uint64_t x86 = (x84 + x70);
- { uint64_t x87 = (x86 >> 0x19);
- { uint32_t x88 = ((uint32_t)x86 & 0x1ffffff);
- { uint64_t x89 = (x87 + x69);
- { uint64_t x90 = (x89 >> 0x19);
- { uint32_t x91 = ((uint32_t)x89 & 0x1ffffff);
- { uint64_t x92 = (x90 + x68);
- { uint64_t x93 = (x92 >> 0x19);
- { uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- { uint64_t x95 = (x93 + x67);
- { uint64_t x96 = (x95 >> 0x1a);
- { uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- { uint64_t x98 = (x96 + x66);
- { uint64_t x99 = (x98 >> 0x19);
- { uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- { uint64_t x101 = (x99 + x65);
- { uint64_t x102 = (x101 >> 0x19);
- { uint32_t x103 = ((uint32_t)x101 & 0x1ffffff);
- { uint64_t x104 = (x102 + x64);
- { uint64_t x105 = (x104 >> 0x19);
- { uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- { uint64_t x107 = (x105 + x63);
- { uint64_t x108 = (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x108 + x62);
- { uint64_t x111 = (x110 >> 0x19);
- { uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- { uint64_t x113 = (x111 + x61);
- { uint64_t x114 = (x113 >> 0x19);
- { uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- { uint64_t x116 = (x114 + x60);
- { uint64_t x117 = (x116 >> 0x19);
- { uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- { uint64_t x119 = (x76 + (0x13 * x117));
- { uint32_t x120 = (uint32_t) (x119 >> 0x1a);
- { uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- { uint32_t x122 = (x120 + x79);
- { uint32_t x123 = (x122 >> 0x19);
- { uint32_t x124 = (x122 & 0x1ffffff);
- out[0] = x121;
- out[1] = x124;
- out[2] = (x123 + x82);
- out[3] = x85;
- out[4] = x88;
- out[5] = x91;
- out[6] = x94;
- out[7] = x97;
- out[8] = x100;
- out[9] = x103;
- out[10] = x106;
- out[11] = x109;
- out[12] = x112;
- out[13] = x115;
- out[14] = x118;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_15limbs/femul.v b/src/Specific/solinas32_2e379m19_15limbs/femul.v
deleted file mode 100644
index c00e662c7..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/femulDisplay.log b/src/Specific/solinas32_2e379m19_15limbs/femulDisplay.log
deleted file mode 100644
index 4a2320efa..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/femulDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint64_t x60 = (((uint64_t)x5 * x58) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((0x2 * ((uint64_t)x29 * x37)) + ((0x2 * ((uint64_t)x31 * x35)) + ((uint64_t)x30 * x33)))))))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((0x2 * ((uint64_t)x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + (0x13 * ((uint64_t)x30 * x58)));
- uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x13 * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
- uint64_t x63 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x27 * x33)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x29 * x58)) + ((0x2 * ((uint64_t)x31 * x59)) + (0x2 * ((uint64_t)x30 * x57))))));
- uint64_t x64 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + ((0x2 * ((uint64_t)x23 * x35)) + ((uint64_t)x25 * x33))))))))))) + (0x13 * (((uint64_t)x27 * x58) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((uint64_t)x30 * x55))))));
- uint64_t x65 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x23 * x33)))))))))) + (0x13 * (((uint64_t)x25 * x58) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((uint64_t)x30 * x53)))))));
- uint64_t x66 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + ((uint64_t)x21 * x33))))))))) + (0x13 * (((uint64_t)x23 * x58) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x30 * x51))))))));
- uint64_t x67 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((uint64_t)x19 * x33)))))))) + (0x13 * ((0x2 * ((uint64_t)x21 * x58)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + (0x2 * ((uint64_t)x30 * x49))))))))));
- uint64_t x68 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + ((uint64_t)x17 * x33))))))) + (0x13 * (((uint64_t)x19 * x58) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((uint64_t)x30 * x47))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x13 * (((uint64_t)x17 * x58) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((uint64_t)x30 * x45)))))))))));
- uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x13 * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
- uint64_t x71 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x13 * ((0x2 * ((uint64_t)x13 * x58)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- uint64_t x72 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((uint64_t)x9 * x33))) + (0x13 * (((uint64_t)x11 * x58) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x30 * x39))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x13 * (((uint64_t)x9 * x58) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x30 * x37)))))))))))))));
- uint64_t x74 = (((uint64_t)x5 * x33) + (0x13 * ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- uint64_t x75 = (x74 >> 0x1a);
- uint32_t x76 = ((uint32_t)x74 & 0x3ffffff);
- uint64_t x77 = (x75 + x73);
- uint64_t x78 = (x77 >> 0x19);
- uint32_t x79 = ((uint32_t)x77 & 0x1ffffff);
- uint64_t x80 = (x78 + x72);
- uint64_t x81 = (x80 >> 0x19);
- uint32_t x82 = ((uint32_t)x80 & 0x1ffffff);
- uint64_t x83 = (x81 + x71);
- uint64_t x84 = (x83 >> 0x1a);
- uint32_t x85 = ((uint32_t)x83 & 0x3ffffff);
- uint64_t x86 = (x84 + x70);
- uint64_t x87 = (x86 >> 0x19);
- uint32_t x88 = ((uint32_t)x86 & 0x1ffffff);
- uint64_t x89 = (x87 + x69);
- uint64_t x90 = (x89 >> 0x19);
- uint32_t x91 = ((uint32_t)x89 & 0x1ffffff);
- uint64_t x92 = (x90 + x68);
- uint64_t x93 = (x92 >> 0x19);
- uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- uint64_t x95 = (x93 + x67);
- uint64_t x96 = (x95 >> 0x1a);
- uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- uint64_t x98 = (x96 + x66);
- uint64_t x99 = (x98 >> 0x19);
- uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- uint64_t x101 = (x99 + x65);
- uint64_t x102 = (x101 >> 0x19);
- uint32_t x103 = ((uint32_t)x101 & 0x1ffffff);
- uint64_t x104 = (x102 + x64);
- uint64_t x105 = (x104 >> 0x19);
- uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- uint64_t x107 = (x105 + x63);
- uint64_t x108 = (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x108 + x62);
- uint64_t x111 = (x110 >> 0x19);
- uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- uint64_t x113 = (x111 + x61);
- uint64_t x114 = (x113 >> 0x19);
- uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- uint64_t x116 = (x114 + x60);
- uint64_t x117 = (x116 >> 0x19);
- uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- uint64_t x119 = (x76 + (0x13 * x117));
- uint32_t x120 = (uint32_t) (x119 >> 0x1a);
- uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- uint32_t x122 = (x120 + x79);
- uint32_t x123 = (x122 >> 0x19);
- uint32_t x124 = (x122 & 0x1ffffff);
- return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, (x123 + x82), Return x124, Return x121))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e379m19_15limbs/femulDisplay.v b/src/Specific/solinas32_2e379m19_15limbs/femulDisplay.v
deleted file mode 100644
index a91deabe5..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fesquare.c b/src/Specific/solinas32_2e379m19_15limbs/fesquare.c
deleted file mode 100644
index b53458091..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesquare.c
+++ /dev/null
@@ -1,98 +0,0 @@
-static void fesquare(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (((uint64_t)x2 * x27) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x27 * x2)))))))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x13 * ((uint64_t)x27 * x27)));
- { uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x13 * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
- { uint64_t x32 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x26 * x27)) + ((0x2 * ((uint64_t)x28 * x28)) + (0x2 * ((uint64_t)x27 * x26))))));
- { uint64_t x33 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * (((uint64_t)x24 * x27) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((uint64_t)x27 * x24))))));
- { uint64_t x34 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((uint64_t)x22 * x27) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((uint64_t)x27 * x22)))))));
- { uint64_t x35 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x13 * (((uint64_t)x20 * x27) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x27 * x20))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((0x2 * ((uint64_t)x18 * x27)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (0x2 * ((uint64_t)x27 * x18))))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x27) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((uint64_t)x27 * x16))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x27) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((uint64_t)x27 * x14)))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * ((0x2 * ((uint64_t)x10 * x27)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x27) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((uint64_t)x27 * x8))))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x27) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((uint64_t)x27 * x6)))))))))))))));
- { uint64_t x43 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x42);
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x41);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x40);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x39);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x38);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x37);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x36);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x35);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x34);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x33);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x32);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x31);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x30);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x29);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x45 + (0x13 * x86));
- { uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint32_t x91 = (x89 + x48);
- { uint32_t x92 = (x91 >> 0x19);
- { uint32_t x93 = (x91 & 0x1ffffff);
- out[0] = x90;
- out[1] = x93;
- out[2] = (x92 + x51);
- out[3] = x54;
- out[4] = x57;
- out[5] = x60;
- out[6] = x63;
- out[7] = x66;
- out[8] = x69;
- out[9] = x72;
- out[10] = x75;
- out[11] = x78;
- out[12] = x81;
- out[13] = x84;
- out[14] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fesquare.v b/src/Specific/solinas32_2e379m19_15limbs/fesquare.v
deleted file mode 100644
index ff94c0640..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/fesquareDisplay.log b/src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.log
deleted file mode 100644
index df3c02c53..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x29 = (((uint64_t)x2 * x27) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x27 * x2)))))))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x13 * ((uint64_t)x27 * x27)));
- uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x13 * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
- uint64_t x32 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x26 * x27)) + ((0x2 * ((uint64_t)x28 * x28)) + (0x2 * ((uint64_t)x27 * x26))))));
- uint64_t x33 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * (((uint64_t)x24 * x27) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((uint64_t)x27 * x24))))));
- uint64_t x34 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((uint64_t)x22 * x27) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((uint64_t)x27 * x22)))))));
- uint64_t x35 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x13 * (((uint64_t)x20 * x27) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x27 * x20))))))));
- uint64_t x36 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((0x2 * ((uint64_t)x18 * x27)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (0x2 * ((uint64_t)x27 * x18))))))))));
- uint64_t x37 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x27) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((uint64_t)x27 * x16))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x27) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((uint64_t)x27 * x14)))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13 * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * ((0x2 * ((uint64_t)x10 * x27)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x27) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((uint64_t)x27 * x8))))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x27) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((uint64_t)x27 * x6)))))))))))))));
- uint64_t x43 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x42);
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x41);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x40);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x39);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x38);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x37);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x36);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x35);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x34);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x33);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x32);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x31);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x30);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x29);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x45 + (0x13 * x86));
- uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint32_t x91 = (x89 + x48);
- uint32_t x92 = (x91 >> 0x19);
- uint32_t x93 = (x91 & 0x1ffffff);
- return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, (x92 + x51), Return x93, Return x90))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.v b/src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.v
deleted file mode 100644
index 6e6a27897..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fesub.c b/src/Specific/solinas32_2e379m19_15limbs/fesub.c
deleted file mode 100644
index 67e2bb2ba..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesub.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void fesub(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = ((0x7ffffda + x5) - x33);
- out[1] = ((0x3fffffe + x7) - x35);
- out[2] = ((0x3fffffe + x9) - x37);
- out[3] = ((0x7fffffe + x11) - x39);
- out[4] = ((0x3fffffe + x13) - x41);
- out[5] = ((0x3fffffe + x15) - x43);
- out[6] = ((0x3fffffe + x17) - x45);
- out[7] = ((0x7fffffe + x19) - x47);
- out[8] = ((0x3fffffe + x21) - x49);
- out[9] = ((0x3fffffe + x23) - x51);
- out[10] = ((0x3fffffe + x25) - x53);
- out[11] = ((0x7fffffe + x27) - x55);
- out[12] = ((0x3fffffe + x29) - x57);
- out[13] = ((0x3fffffe + x31) - x59);
- out[14] = ((0x3fffffe + x30) - x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fesub.v b/src/Specific/solinas32_2e379m19_15limbs/fesub.v
deleted file mode 100644
index 4691be4a2..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/fesubDisplay.log b/src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.log
deleted file mode 100644
index 75aad202e..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- (((0x3fffffe + x30) - x58), ((0x3fffffe + x31) - x59), ((0x3fffffe + x29) - x57), ((0x7fffffe + x27) - x55), ((0x3fffffe + x25) - x53), ((0x3fffffe + x23) - x51), ((0x3fffffe + x21) - x49), ((0x7fffffe + x19) - x47), ((0x3fffffe + x17) - x45), ((0x3fffffe + x15) - x43), ((0x3fffffe + x13) - x41), ((0x7fffffe + x11) - x39), ((0x3fffffe + x9) - x37), ((0x3fffffe + x7) - x35), ((0x7ffffda + x5) - x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.v b/src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.v
deleted file mode 100644
index 46476c03d..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e379m19_15limbs/freeze.c b/src/Specific/solinas32_2e379m19_15limbs/freeze.c
deleted file mode 100644
index 00f912634..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/freeze.c
+++ /dev/null
@@ -1,79 +0,0 @@
-static void freeze(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffed);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x1ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x1ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x1ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffffff);
- { uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- { uint32_t x75 = (x74 & 0x3ffffed);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- { uint32_t x79 = (x74 & 0x1ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- { uint32_t x83 = (x74 & 0x1ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- { uint32_t x87 = (x74 & 0x3ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- { uint32_t x91 = (x74 & 0x1ffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- { uint32_t x95 = (x74 & 0x1ffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- { uint32_t x99 = (x74 & 0x1ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- { uint32_t x103 = (x74 & 0x3ffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- { uint32_t x107 = (x74 & 0x1ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- { uint32_t x111 = (x74 & 0x1ffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- { uint32_t x115 = (x74 & 0x1ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- { uint32_t x119 = (x74 & 0x3ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- { uint32_t x123 = (x74 & 0x1ffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- { uint32_t x127 = (x74 & 0x1ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- { uint32_t x131 = (x74 & 0x1ffffff);
- { uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- out[0] = x77;
- out[1] = x81;
- out[2] = x85;
- out[3] = x89;
- out[4] = x93;
- out[5] = x97;
- out[6] = x101;
- out[7] = x105;
- out[8] = x109;
- out[9] = x113;
- out[10] = x117;
- out[11] = x121;
- out[12] = x125;
- out[13] = x129;
- out[14] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_15limbs/freeze.v b/src/Specific/solinas32_2e379m19_15limbs/freeze.v
deleted file mode 100644
index 58cd3e180..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.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_2e379m19_15limbs/freezeDisplay.log b/src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.log
deleted file mode 100644
index 4d9db2670..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffed);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x1ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x1ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x1ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffffff);
- uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- uint32_t x75 = (x74 & 0x3ffffed);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = (x74 & 0x1ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = (x74 & 0x1ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = (x74 & 0x3ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = (x74 & 0x1ffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = (x74 & 0x1ffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = (x74 & 0x1ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = (x74 & 0x3ffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = (x74 & 0x1ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = (x74 & 0x1ffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = (x74 & 0x1ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = (x74 & 0x3ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = (x74 & 0x1ffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = (x74 & 0x1ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = (x74 & 0x1ffffff);
- uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.v b/src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.v
deleted file mode 100644
index cd756506c..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_15limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e379m19_15limbs/py_interpreter.sh b/src/Specific/solinas32_2e379m19_15limbs/py_interpreter.sh
deleted file mode 100755
index 8831ea450..000000000
--- a/src/Specific/solinas32_2e379m19_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**379 - 19' -Dmodulus_bytes='25 + 4/15' -Da24='121665'
diff --git a/src/Specific/solinas32_2e379m19_16limbs/CurveParameters.v b/src/Specific/solinas32_2e379m19_16limbs/CurveParameters.v
deleted file mode 100644
index 622d740be..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^379 - 19
-Base: 23 + 11/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 23 + 11/16;
- bitwidth := 32;
- s := 2^379;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e379m19_16limbs/Synthesis.v b/src/Specific/solinas32_2e379m19_16limbs/Synthesis.v
deleted file mode 100644
index 5db5fd152..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/compiler.sh b/src/Specific/solinas32_2e379m19_16limbs/compiler.sh
deleted file mode 100755
index cce3b8378..000000000
--- a/src/Specific/solinas32_2e379m19_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23,24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas32_2e379m19_16limbs/compilerxx.sh b/src/Specific/solinas32_2e379m19_16limbs/compilerxx.sh
deleted file mode 100755
index 9520d9842..000000000
--- a/src/Specific/solinas32_2e379m19_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,23,24,24,23,24,24,23,24,24,23,24,24,23}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas32_2e379m19_16limbs/feadd.c b/src/Specific/solinas32_2e379m19_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e379m19_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_2e379m19_16limbs/feadd.v b/src/Specific/solinas32_2e379m19_16limbs/feadd.v
deleted file mode 100644
index 3a3e69dd0..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e379m19_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e379m19_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_2e379m19_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e379m19_16limbs/feaddDisplay.v
deleted file mode 100644
index 47563d267..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e379m19_16limbs/fecarry.v b/src/Specific/solinas32_2e379m19_16limbs/fecarry.v
deleted file mode 100644
index 24098a7c5..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e379m19_16limbs/fecarryDisplay.v
deleted file mode 100644
index bf474b24d..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e379m19_16limbs/femul.c b/src/Specific/solinas32_2e379m19_16limbs/femul.c
deleted file mode 100644
index adc2d5136..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)x5 * x62) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + (((uint64_t)x33 * x37) + ((uint64_t)x32 * x35))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + (((uint64_t)x31 * x37) + ((uint64_t)x33 * x35))))))))))))))) + (0x13 * (0x2 * ((uint64_t)x32 * x62))));
- { uint64_t x66 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((0x2 * ((uint64_t)x29 * x37)) + ((uint64_t)x31 * x35)))))))))))))) + (0x13 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x13 * (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x29 * x62)) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (0x2 * ((uint64_t)x32 * x59)))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x25 * x35))))))))))) + (0x13 * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x13 * (((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 x71 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + ((uint64_t)x21 * x35))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x62)) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (0x2 * ((uint64_t)x32 * x53))))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((uint64_t)x19 * x35)))))))) + (0x13 * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))))) + (0x13 * (((uint64_t)x19 * x62) + (((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)x32 * x49)))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x62)) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((uint64_t)x13 * x35))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + (((uint64_t)x19 * x61) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x13 * (((uint64_t)x13 * x62) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x32 * x43))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x13 * ((0x2 * ((uint64_t)x11 * x62)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x13 * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- { uint64_t x79 = (((uint64_t)x5 * x35) + (0x13 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x17);
- { uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x17);
- { uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x17);
- { uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x18);
- { uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x81 + (0x13 * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x18);
- { uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x18);
- { uint32_t x132 = (x130 & 0xffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_16limbs/femul.v b/src/Specific/solinas32_2e379m19_16limbs/femul.v
deleted file mode 100644
index ed37b8453..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/femulDisplay.log b/src/Specific/solinas32_2e379m19_16limbs/femulDisplay.log
deleted file mode 100644
index 79f7def10..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)x5 * x62) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + (((uint64_t)x33 * x37) + ((uint64_t)x32 * x35))))))))))))))));
- uint64_t x65 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + (((uint64_t)x31 * x37) + ((uint64_t)x33 * x35))))))))))))))) + (0x13 * (0x2 * ((uint64_t)x32 * x62))));
- uint64_t x66 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((0x2 * ((uint64_t)x29 * x37)) + ((uint64_t)x31 * x35)))))))))))))) + (0x13 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x13 * (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x29 * x62)) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (0x2 * ((uint64_t)x32 * x59)))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x25 * x35))))))))))) + (0x13 * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x13 * (((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 x71 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + (((uint64_t)x19 * x37) + ((uint64_t)x21 * x35))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x62)) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (0x2 * ((uint64_t)x32 * x53))))))))));
- uint64_t x72 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((uint64_t)x19 * x35)))))))) + (0x13 * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))))) + (0x13 * (((uint64_t)x19 * x62) + (((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)x32 * x49)))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x13 * ((0x2 * ((uint64_t)x17 * x62)) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((uint64_t)x13 * x35))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + (((uint64_t)x19 * x61) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x13 * (((uint64_t)x13 * x62) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x32 * x43))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x13 * ((0x2 * ((uint64_t)x11 * x62)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x13 * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- uint64_t x79 = (((uint64_t)x5 * x35) + (0x13 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x17);
- uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x17);
- uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x17);
- uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x18);
- uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x81 + (0x13 * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x18);
- uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x18);
- uint32_t x132 = (x130 & 0xffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e379m19_16limbs/femulDisplay.v b/src/Specific/solinas32_2e379m19_16limbs/femulDisplay.v
deleted file mode 100644
index 326aea737..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e379m19_16limbs/fesquare.c b/src/Specific/solinas32_2e379m19_16limbs/fesquare.c
deleted file mode 100644
index 79e93765f..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)x2 * x29) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x29 * x2))))))))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x13 * (0x2 * ((uint64_t)x29 * x29))));
- { uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x13 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x13 * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x26 * x29)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (0x2 * ((uint64_t)x29 * x26)))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((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 x38 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x29)) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (0x2 * ((uint64_t)x29 * x20))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x29) + (((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)x29 * x16)))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x29)) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x29)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- { uint64_t x46 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x48 + (0x13 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x18);
- { uint32_t x99 = (x97 & 0xffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_16limbs/fesquare.v b/src/Specific/solinas32_2e379m19_16limbs/fesquare.v
deleted file mode 100644
index 0c770a953..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.log
deleted file mode 100644
index d7c1cd9c5..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)x2 * x29) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x29 * x2))))))))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x13 * (0x2 * ((uint64_t)x29 * x29))));
- uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x13 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x13 * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x13 * ((0x2 * ((uint64_t)x26 * x29)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (0x2 * ((uint64_t)x29 * x26)))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((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 x38 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x29)) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (0x2 * ((uint64_t)x29 * x20))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x29) + (((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)x29 * x16)))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint64_t)x14 * x29)) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13 * ((0x2 * ((uint64_t)x8 * x29)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- uint64_t x46 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x48 + (0x13 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x18);
- uint32_t x99 = (x97 & 0xffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e379m19_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.v
deleted file mode 100644
index bbf292406..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e379m19_16limbs/fesub.c b/src/Specific/solinas32_2e379m19_16limbs/fesub.c
deleted file mode 100644
index d00aacf65..000000000
--- a/src/Specific/solinas32_2e379m19_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] = ((0x1ffffda + x5) - x35);
- out[1] = ((0x1fffffe + x7) - x37);
- out[2] = ((0x1fffffe + x9) - x39);
- out[3] = ((0xfffffe + x11) - x41);
- out[4] = ((0x1fffffe + x13) - x43);
- out[5] = ((0x1fffffe + x15) - x45);
- out[6] = ((0xfffffe + x17) - x47);
- out[7] = ((0x1fffffe + x19) - x49);
- out[8] = ((0x1fffffe + x21) - x51);
- out[9] = ((0xfffffe + x23) - x53);
- out[10] = ((0x1fffffe + x25) - x55);
- out[11] = ((0x1fffffe + x27) - x57);
- out[12] = ((0xfffffe + x29) - x59);
- out[13] = ((0x1fffffe + x31) - x61);
- out[14] = ((0x1fffffe + x33) - x63);
- out[15] = ((0xfffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e379m19_16limbs/fesub.v b/src/Specific/solinas32_2e379m19_16limbs/fesub.v
deleted file mode 100644
index 439ab71e8..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e379m19_16limbs/fesubDisplay.log
deleted file mode 100644
index 49ba4b2a9..000000000
--- a/src/Specific/solinas32_2e379m19_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,
- (((0xfffffe + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0xfffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0xfffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0x1fffffe + x19) - x49), ((0xfffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0xfffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x1ffffda + 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_2e379m19_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e379m19_16limbs/fesubDisplay.v
deleted file mode 100644
index cba3aa401..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e379m19_16limbs/freeze.c b/src/Specific/solinas32_2e379m19_16limbs/freeze.c
deleted file mode 100644
index 8d1cf3f8e..000000000
--- a/src/Specific/solinas32_2e379m19_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffed);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x7fffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x7fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x7fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x7fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0xffffed);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e379m19_16limbs/freeze.v b/src/Specific/solinas32_2e379m19_16limbs/freeze.v
deleted file mode 100644
index a1f1fa2fb..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e379m19_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_2e379m19_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e379m19_16limbs/freezeDisplay.log
deleted file mode 100644
index 13c718586..000000000
--- a/src/Specific/solinas32_2e379m19_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffed);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x7fffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x7fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x7fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x7fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0xffffed);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e379m19_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e379m19_16limbs/freezeDisplay.v
deleted file mode 100644
index 10f352ee8..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e379m19_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e379m19_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e379m19_16limbs/py_interpreter.sh
deleted file mode 100755
index 2df0492b9..000000000
--- a/src/Specific/solinas32_2e379m19_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**379 - 19' -Dmodulus_bytes='23 + 11/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e382m105_16limbs/CurveParameters.v b/src/Specific/solinas32_2e382m105_16limbs/CurveParameters.v
deleted file mode 100644
index b961d157a..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^382 - 105
-Base: 23.875
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 23 + 7/8;
- bitwidth := 32;
- s := 2^382;
- c := [(1, 105)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e382m105_16limbs/Synthesis.v b/src/Specific/solinas32_2e382m105_16limbs/Synthesis.v
deleted file mode 100644
index 35a6503a7..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/compiler.sh b/src/Specific/solinas32_2e382m105_16limbs/compiler.sh
deleted file mode 100755
index 4b4892add..000000000
--- a/src/Specific/solinas32_2e382m105_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas32_2e382m105_16limbs/compilerxx.sh b/src/Specific/solinas32_2e382m105_16limbs/compilerxx.sh
deleted file mode 100755
index 26436b5c5..000000000
--- a/src/Specific/solinas32_2e382m105_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,23,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas32_2e382m105_16limbs/feadd.c b/src/Specific/solinas32_2e382m105_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e382m105_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_2e382m105_16limbs/feadd.v b/src/Specific/solinas32_2e382m105_16limbs/feadd.v
deleted file mode 100644
index 98983200f..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e382m105_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e382m105_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_2e382m105_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e382m105_16limbs/feaddDisplay.v
deleted file mode 100644
index cf872e81e..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e382m105_16limbs/fecarry.v b/src/Specific/solinas32_2e382m105_16limbs/fecarry.v
deleted file mode 100644
index 71c2563c5..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e382m105_16limbs/fecarryDisplay.v
deleted file mode 100644
index 8347e5e81..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e382m105_16limbs/femul.c b/src/Specific/solinas32_2e382m105_16limbs/femul.c
deleted file mode 100644
index 000c5addd..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)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 x65 = ((((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) + ((0x2 * ((uint64_t)x19 * x49)) + (((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))))))))))))))) + (0x69 * (0x2 * ((uint64_t)x32 * x62))));
- { uint64_t x66 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x69 * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x69 * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x69 * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x69 * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- { uint64_t x72 = ((((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)))))))) + (0x69 * (((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 x73 = ((((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))))))) + (0x69 * ((0x2 * ((uint64_t)x19 * x62)) + (((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) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x69 * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x69 * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x69 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x69 * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x69 * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- { uint64_t x79 = (((uint64_t)x5 * x35) + (0x69 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x18);
- { uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x18);
- { uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x81 + (0x69 * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x18);
- { uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x18);
- { uint32_t x132 = (x130 & 0xffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_16limbs/femul.v b/src/Specific/solinas32_2e382m105_16limbs/femul.v
deleted file mode 100644
index 5323b118f..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/femulDisplay.log b/src/Specific/solinas32_2e382m105_16limbs/femulDisplay.log
deleted file mode 100644
index 4788b52da..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x65 = ((((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) + ((0x2 * ((uint64_t)x19 * x49)) + (((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))))))))))))))) + (0x69 * (0x2 * ((uint64_t)x32 * x62))));
- uint64_t x66 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x69 * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x69 * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x69 * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- uint64_t x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x69 * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- uint64_t x72 = ((((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)))))))) + (0x69 * (((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 x73 = ((((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))))))) + (0x69 * ((0x2 * ((uint64_t)x19 * x62)) + (((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) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x69 * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x69 * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x69 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x69 * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x69 * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- uint64_t x79 = (((uint64_t)x5 * x35) + (0x69 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x18);
- uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x18);
- uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x81 + (0x69 * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x18);
- uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x18);
- uint32_t x132 = (x130 & 0xffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e382m105_16limbs/femulDisplay.v b/src/Specific/solinas32_2e382m105_16limbs/femulDisplay.v
deleted file mode 100644
index d98e37014..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e382m105_16limbs/fesquare.c b/src/Specific/solinas32_2e382m105_16limbs/fesquare.c
deleted file mode 100644
index 72d6e752d..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)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 x32 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x69 * (0x2 * ((uint64_t)x29 * x29))));
- { uint64_t x33 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x69 * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x69 * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x69 * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x69 * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- { uint64_t x39 = ((((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)))))))) + (0x69 * (((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 x40 = ((((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))))))) + (0x69 * ((0x2 * ((uint64_t)x16 * x29)) + (((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) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x69 * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x69 * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x69 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x69 * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x69 * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- { uint64_t x46 = (((uint64_t)x2 * x2) + (0x69 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x48 + (0x69 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x18);
- { uint32_t x99 = (x97 & 0xffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_16limbs/fesquare.v b/src/Specific/solinas32_2e382m105_16limbs/fesquare.v
deleted file mode 100644
index 926319ae7..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.log
deleted file mode 100644
index 3adbf3fab..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x32 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x69 * (0x2 * ((uint64_t)x29 * x29))));
- uint64_t x33 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x69 * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x69 * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x69 * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x69 * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- uint64_t x39 = ((((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)))))))) + (0x69 * (((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 x40 = ((((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))))))) + (0x69 * ((0x2 * ((uint64_t)x16 * x29)) + (((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) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x69 * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x69 * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x69 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x69 * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x69 * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- uint64_t x46 = (((uint64_t)x2 * x2) + (0x69 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x48 + (0x69 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x18);
- uint32_t x99 = (x97 & 0xffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e382m105_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.v
deleted file mode 100644
index b183c2f9f..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e382m105_16limbs/fesub.c b/src/Specific/solinas32_2e382m105_16limbs/fesub.c
deleted file mode 100644
index 54573ee8f..000000000
--- a/src/Specific/solinas32_2e382m105_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] = ((0x1ffff2e + x5) - x35);
- out[1] = ((0x1fffffe + x7) - x37);
- out[2] = ((0x1fffffe + x9) - x39);
- out[3] = ((0x1fffffe + x11) - x41);
- out[4] = ((0x1fffffe + x13) - x43);
- out[5] = ((0x1fffffe + x15) - x45);
- out[6] = ((0x1fffffe + x17) - x47);
- out[7] = ((0xfffffe + x19) - x49);
- out[8] = ((0x1fffffe + x21) - x51);
- out[9] = ((0x1fffffe + x23) - x53);
- out[10] = ((0x1fffffe + x25) - x55);
- out[11] = ((0x1fffffe + x27) - x57);
- out[12] = ((0x1fffffe + x29) - x59);
- out[13] = ((0x1fffffe + x31) - x61);
- out[14] = ((0x1fffffe + x33) - x63);
- out[15] = ((0xfffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_16limbs/fesub.v b/src/Specific/solinas32_2e382m105_16limbs/fesub.v
deleted file mode 100644
index 7d03994ec..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e382m105_16limbs/fesubDisplay.log
deleted file mode 100644
index 5ba1c47be..000000000
--- a/src/Specific/solinas32_2e382m105_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,
- (((0xfffffe + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0x1fffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0x1fffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0xfffffe + x19) - x49), ((0x1fffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0x1fffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x1ffff2e + 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_2e382m105_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e382m105_16limbs/fesubDisplay.v
deleted file mode 100644
index ada0d0212..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e382m105_16limbs/freeze.c b/src/Specific/solinas32_2e382m105_16limbs/freeze.c
deleted file mode 100644
index 23d68667e..000000000
--- a/src/Specific/solinas32_2e382m105_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff97);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x7fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0xffff97);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e382m105_16limbs/freeze.v b/src/Specific/solinas32_2e382m105_16limbs/freeze.v
deleted file mode 100644
index 8e1196c92..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_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_2e382m105_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e382m105_16limbs/freezeDisplay.log
deleted file mode 100644
index 41b83672a..000000000
--- a/src/Specific/solinas32_2e382m105_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff97);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x7fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0xffff97);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 23 (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 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e382m105_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e382m105_16limbs/freezeDisplay.v
deleted file mode 100644
index 57aa5485d..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e382m105_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e382m105_16limbs/py_interpreter.sh
deleted file mode 100755
index d685325c0..000000000
--- a/src/Specific/solinas32_2e382m105_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**382 - 105' -Dmodulus_bytes='23.875' -Da24='121665'
diff --git a/src/Specific/solinas32_2e382m105_17limbs/CurveParameters.v b/src/Specific/solinas32_2e382m105_17limbs/CurveParameters.v
deleted file mode 100644
index 8038f4c83..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^382 - 105
-Base: 22 + 8/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 22 + 8/17;
- bitwidth := 32;
- s := 2^382;
- c := [(1, 105)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e382m105_17limbs/Synthesis.v b/src/Specific/solinas32_2e382m105_17limbs/Synthesis.v
deleted file mode 100644
index 9a88f7767..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/compiler.sh b/src/Specific/solinas32_2e382m105_17limbs/compiler.sh
deleted file mode 100755
index b64426472..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,22}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas32_2e382m105_17limbs/compilerxx.sh b/src/Specific/solinas32_2e382m105_17limbs/compilerxx.sh
deleted file mode 100755
index 29553c0ed..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,22}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas32_2e382m105_17limbs/feadd.c b/src/Specific/solinas32_2e382m105_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_17limbs/feadd.v b/src/Specific/solinas32_2e382m105_17limbs/feadd.v
deleted file mode 100644
index fbf77a99e..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.v
deleted file mode 100644
index 7a4bb6abd..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fecarry.v b/src/Specific/solinas32_2e382m105_17limbs/fecarry.v
deleted file mode 100644
index 197008155..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e382m105_17limbs/fecarryDisplay.v
deleted file mode 100644
index 4c7484224..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e382m105_17limbs/femul.c b/src/Specific/solinas32_2e382m105_17limbs/femul.c
deleted file mode 100644
index c3194b2e0..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + (((uint64_t)x33 * x41) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((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)x21 * x51) + (((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)x35 * x37)))))))))))))))) + (0x69 * ((uint64_t)x34 * x66)));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + ((0x2 * ((uint64_t)x27 * x43)) + (((uint64_t)x29 * x41) + ((0x2 * ((uint64_t)x31 * x39)) + ((uint64_t)x33 * x37))))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x35 * x66)) + (0x2 * ((uint64_t)x34 * x67)))));
- { uint64_t x71 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x31 * x37)))))))))))))) + (0x69 * (((uint64_t)x33 * x66) + ((0x2 * ((uint64_t)x35 * x67)) + ((uint64_t)x34 * x65)))));
- { uint64_t x72 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + (((uint64_t)x25 * x41) + ((0x2 * ((uint64_t)x27 * x39)) + ((uint64_t)x29 * x37))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x31 * x66)) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + (0x2 * ((uint64_t)x34 * x63)))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x69 * (((uint64_t)x29 * x66) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + ((uint64_t)x34 * x61)))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x69 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x69 * (((uint64_t)x25 * x66) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + ((0x2 * ((uint64_t)x31 * x63)) + (((uint64_t)x33 * x61) + ((0x2 * ((uint64_t)x35 * x59)) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x69 * ((0x2 * ((uint64_t)x23 * x66)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x69 * (((uint64_t)x21 * x66) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + ((0x2 * ((uint64_t)x11 * x43)) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((uint64_t)x17 * x37))))))) + (0x69 * ((0x2 * ((uint64_t)x19 * x66)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((uint64_t)x15 * x37)))))) + (0x69 * (((uint64_t)x17 * x66) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + ((uint64_t)x34 * x49)))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + ((0x2 * ((uint64_t)x11 * x39)) + ((uint64_t)x13 * x37))))) + (0x69 * ((0x2 * ((uint64_t)x15 * x66)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + (0x2 * ((uint64_t)x34 * x47)))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + ((uint64_t)x11 * x37)))) + (0x69 * (((uint64_t)x13 * x66) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + ((uint64_t)x34 * x45)))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x69 * ((0x2 * ((uint64_t)x11 * x66)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + (0x2 * ((uint64_t)x34 * x43)))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x69 * (((uint64_t)x9 * x66) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + ((0x2 * ((uint64_t)x15 * x63)) + (((uint64_t)x17 * x61) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + (((uint64_t)x29 * x49) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x34 * x41)))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x69 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x16);
- { uint32_t x89 = ((uint32_t)x87 & 0x3fffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x17);
- { uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x16);
- { uint32_t x95 = ((uint32_t)x93 & 0x3fffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x17);
- { uint32_t x98 = ((uint32_t)x96 & 0x7fffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x16);
- { uint32_t x101 = ((uint32_t)x99 & 0x3fffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x17);
- { uint32_t x104 = ((uint32_t)x102 & 0x7fffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x16);
- { uint32_t x107 = ((uint32_t)x105 & 0x3fffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x17);
- { uint32_t x110 = ((uint32_t)x108 & 0x7fffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x16);
- { uint32_t x113 = ((uint32_t)x111 & 0x3fffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x17);
- { uint32_t x116 = ((uint32_t)x114 & 0x7fffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x16);
- { uint32_t x119 = ((uint32_t)x117 & 0x3fffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x17);
- { uint32_t x122 = ((uint32_t)x120 & 0x7fffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x16);
- { uint32_t x125 = ((uint32_t)x123 & 0x3fffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x17);
- { uint32_t x128 = ((uint32_t)x126 & 0x7fffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x16);
- { uint32_t x131 = ((uint32_t)x129 & 0x3fffff);
- { uint64_t x132 = (x130 + x68);
- { uint32_t x133 = (uint32_t) (x132 >> 0x16);
- { uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- { uint64_t x135 = (x86 + ((uint64_t)0x69 * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x17);
- { uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x16);
- { uint32_t x140 = (x138 & 0x3fffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_17limbs/femul.v b/src/Specific/solinas32_2e382m105_17limbs/femul.v
deleted file mode 100644
index fb03286ca..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/femulDisplay.log b/src/Specific/solinas32_2e382m105_17limbs/femulDisplay.log
deleted file mode 100644
index 55f23435e..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + (((uint64_t)x33 * x41) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((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)x21 * x51) + (((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)x35 * x37)))))))))))))))) + (0x69 * ((uint64_t)x34 * x66)));
- uint64_t x70 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + ((0x2 * ((uint64_t)x27 * x43)) + (((uint64_t)x29 * x41) + ((0x2 * ((uint64_t)x31 * x39)) + ((uint64_t)x33 * x37))))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x35 * x66)) + (0x2 * ((uint64_t)x34 * x67)))));
- uint64_t x71 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x31 * x37)))))))))))))) + (0x69 * (((uint64_t)x33 * x66) + ((0x2 * ((uint64_t)x35 * x67)) + ((uint64_t)x34 * x65)))));
- uint64_t x72 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + (((uint64_t)x25 * x41) + ((0x2 * ((uint64_t)x27 * x39)) + ((uint64_t)x29 * x37))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x31 * x66)) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + (0x2 * ((uint64_t)x34 * x63)))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x69 * (((uint64_t)x29 * x66) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + ((uint64_t)x34 * x61)))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x69 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x69 * (((uint64_t)x25 * x66) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + ((0x2 * ((uint64_t)x31 * x63)) + (((uint64_t)x33 * x61) + ((0x2 * ((uint64_t)x35 * x59)) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x69 * ((0x2 * ((uint64_t)x23 * x66)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x69 * (((uint64_t)x21 * x66) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + ((0x2 * ((uint64_t)x11 * x43)) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((uint64_t)x17 * x37))))))) + (0x69 * ((0x2 * ((uint64_t)x19 * x66)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((uint64_t)x15 * x37)))))) + (0x69 * (((uint64_t)x17 * x66) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + ((uint64_t)x34 * x49)))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + ((0x2 * ((uint64_t)x11 * x39)) + ((uint64_t)x13 * x37))))) + (0x69 * ((0x2 * ((uint64_t)x15 * x66)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + (0x2 * ((uint64_t)x34 * x47)))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + ((uint64_t)x11 * x37)))) + (0x69 * (((uint64_t)x13 * x66) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + ((uint64_t)x34 * x45)))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x69 * ((0x2 * ((uint64_t)x11 * x66)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + (0x2 * ((uint64_t)x34 * x43)))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x69 * (((uint64_t)x9 * x66) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + ((0x2 * ((uint64_t)x15 * x63)) + (((uint64_t)x17 * x61) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + (((uint64_t)x29 * x49) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x34 * x41)))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x69 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x16);
- uint32_t x89 = ((uint32_t)x87 & 0x3fffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x17);
- uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x16);
- uint32_t x95 = ((uint32_t)x93 & 0x3fffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x17);
- uint32_t x98 = ((uint32_t)x96 & 0x7fffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x16);
- uint32_t x101 = ((uint32_t)x99 & 0x3fffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x17);
- uint32_t x104 = ((uint32_t)x102 & 0x7fffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x16);
- uint32_t x107 = ((uint32_t)x105 & 0x3fffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x17);
- uint32_t x110 = ((uint32_t)x108 & 0x7fffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x16);
- uint32_t x113 = ((uint32_t)x111 & 0x3fffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x17);
- uint32_t x116 = ((uint32_t)x114 & 0x7fffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x16);
- uint32_t x119 = ((uint32_t)x117 & 0x3fffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x17);
- uint32_t x122 = ((uint32_t)x120 & 0x7fffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x16);
- uint32_t x125 = ((uint32_t)x123 & 0x3fffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x17);
- uint32_t x128 = ((uint32_t)x126 & 0x7fffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x16);
- uint32_t x131 = ((uint32_t)x129 & 0x3fffff);
- uint64_t x132 = (x130 + x68);
- uint32_t x133 = (uint32_t) (x132 >> 0x16);
- uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- uint64_t x135 = (x86 + ((uint64_t)0x69 * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x17);
- uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x16);
- uint32_t x140 = (x138 & 0x3fffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e382m105_17limbs/femulDisplay.v b/src/Specific/solinas32_2e382m105_17limbs/femulDisplay.v
deleted file mode 100644
index faf75ff09..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fesquare.c b/src/Specific/solinas32_2e382m105_17limbs/fesquare.c
deleted file mode 100644
index bb27bc57f..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x69 * ((uint64_t)x31 * x31)));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x32 * x31)) + (0x2 * ((uint64_t)x31 * x32)))));
- { uint64_t x36 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x69 * (((uint64_t)x30 * x31) + ((0x2 * ((uint64_t)x32 * x32)) + ((uint64_t)x31 * x30)))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x28 * x31)) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (0x2 * ((uint64_t)x31 * x28)))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x69 * (((uint64_t)x26 * x31) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((uint64_t)x31 * x26)))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x69 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x69 * (((uint64_t)x22 * x31) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x69 * ((0x2 * ((uint64_t)x20 * x31)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- { uint64_t x42 = ((((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)))))))) + (0x69 * (((uint64_t)x18 * x31) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x69 * ((0x2 * ((uint64_t)x16 * x31)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x69 * (((uint64_t)x14 * x31) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + ((uint64_t)x31 * x14)))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x69 * ((0x2 * ((uint64_t)x12 * x31)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + (0x2 * ((uint64_t)x31 * x12)))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x69 * (((uint64_t)x10 * x31) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + ((uint64_t)x31 * x10)))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x69 * ((0x2 * ((uint64_t)x8 * x31)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + (0x2 * ((uint64_t)x31 * x8)))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x69 * (((uint64_t)x6 * x31) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + ((uint64_t)x31 * x6)))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x69 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x16);
- { uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x17);
- { uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x16);
- { uint32_t x66 = ((uint32_t)x64 & 0x3fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x16);
- { uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x17);
- { uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x16);
- { uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x16);
- { uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
- { uint64_t x97 = (x95 + x33);
- { uint32_t x98 = (uint32_t) (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x51 + ((uint64_t)0x69 * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x16);
- { uint32_t x105 = (x103 & 0x3fffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fesquare.v b/src/Specific/solinas32_2e382m105_17limbs/fesquare.v
deleted file mode 100644
index c1fd0e8b8..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.log
deleted file mode 100644
index a86246132..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x69 * ((uint64_t)x31 * x31)));
- uint64_t x35 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x32 * x31)) + (0x2 * ((uint64_t)x31 * x32)))));
- uint64_t x36 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x69 * (((uint64_t)x30 * x31) + ((0x2 * ((uint64_t)x32 * x32)) + ((uint64_t)x31 * x30)))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x69 * ((0x2 * ((uint64_t)x28 * x31)) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (0x2 * ((uint64_t)x31 * x28)))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x69 * (((uint64_t)x26 * x31) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((uint64_t)x31 * x26)))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x69 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x69 * (((uint64_t)x22 * x31) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x69 * ((0x2 * ((uint64_t)x20 * x31)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- uint64_t x42 = ((((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)))))))) + (0x69 * (((uint64_t)x18 * x31) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x69 * ((0x2 * ((uint64_t)x16 * x31)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x69 * (((uint64_t)x14 * x31) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + ((uint64_t)x31 * x14)))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x69 * ((0x2 * ((uint64_t)x12 * x31)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + (0x2 * ((uint64_t)x31 * x12)))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x69 * (((uint64_t)x10 * x31) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + ((uint64_t)x31 * x10)))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x69 * ((0x2 * ((uint64_t)x8 * x31)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + (0x2 * ((uint64_t)x31 * x8)))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x69 * (((uint64_t)x6 * x31) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + ((uint64_t)x31 * x6)))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x69 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x16);
- uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x17);
- uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x16);
- uint32_t x66 = ((uint32_t)x64 & 0x3fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x16);
- uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x17);
- uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x16);
- uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x16);
- uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
- uint64_t x97 = (x95 + x33);
- uint32_t x98 = (uint32_t) (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x51 + ((uint64_t)0x69 * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x16);
- uint32_t x105 = (x103 & 0x3fffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.v
deleted file mode 100644
index f0f9fdc8d..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fesub.c b/src/Specific/solinas32_2e382m105_17limbs/fesub.c
deleted file mode 100644
index a4b250af4..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0xffff2e + x5) - x37);
- out[1] = ((0x7ffffe + x7) - x39);
- out[2] = ((0xfffffe + x9) - x41);
- out[3] = ((0x7ffffe + x11) - x43);
- out[4] = ((0xfffffe + x13) - x45);
- out[5] = ((0x7ffffe + x15) - x47);
- out[6] = ((0xfffffe + x17) - x49);
- out[7] = ((0x7ffffe + x19) - x51);
- out[8] = ((0xfffffe + x21) - x53);
- out[9] = ((0x7ffffe + x23) - x55);
- out[10] = ((0xfffffe + x25) - x57);
- out[11] = ((0x7ffffe + x27) - x59);
- out[12] = ((0xfffffe + x29) - x61);
- out[13] = ((0x7ffffe + x31) - x63);
- out[14] = ((0xfffffe + x33) - x65);
- out[15] = ((0x7ffffe + x35) - x67);
- out[16] = ((0x7ffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fesub.v b/src/Specific/solinas32_2e382m105_17limbs/fesub.v
deleted file mode 100644
index 5d52cc6dd..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.log
deleted file mode 100644
index a46f8a27d..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x7ffffe + x34) - x66), ((0x7ffffe + x35) - x67), ((0xfffffe + x33) - x65), ((0x7ffffe + x31) - x63), ((0xfffffe + x29) - x61), ((0x7ffffe + x27) - x59), ((0xfffffe + x25) - x57), ((0x7ffffe + x23) - x55), ((0xfffffe + x21) - x53), ((0x7ffffe + x19) - x51), ((0xfffffe + x17) - x49), ((0x7ffffe + x15) - x47), ((0xfffffe + x13) - x45), ((0x7ffffe + x11) - x43), ((0xfffffe + x9) - x41), ((0x7ffffe + x7) - x39), ((0xffff2e + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.v
deleted file mode 100644
index 111cd0ea5..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e382m105_17limbs/freeze.c b/src/Specific/solinas32_2e382m105_17limbs/freeze.c
deleted file mode 100644
index af26c1109..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff97);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x3fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x7fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x3fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x3fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x7fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x3fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x7fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x3fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x7fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x3fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x7fff97);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0x3fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x7fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x3fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x7fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x3fffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x7fffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x3fffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x7fffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x3fffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x7fffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x3fffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x7fffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x3fffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x7fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0x3fffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x3fffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e382m105_17limbs/freeze.v b/src/Specific/solinas32_2e382m105_17limbs/freeze.v
deleted file mode 100644
index 8be77186b..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.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_2e382m105_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.log
deleted file mode 100644
index d1aee48e4..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff97);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x3fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x7fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x3fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x3fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x7fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x3fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x7fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x3fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x7fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x3fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x7fff97);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0x3fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x7fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x3fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x7fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x3fffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x7fffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x3fffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x7fffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x3fffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x7fffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x3fffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x7fffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x3fffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x7fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0x3fffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x3fffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.v
deleted file mode 100644
index 9fa1444b0..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e382m105_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e382m105_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e382m105_17limbs/py_interpreter.sh
deleted file mode 100755
index a6c8995c0..000000000
--- a/src/Specific/solinas32_2e382m105_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**382 - 105' -Dmodulus_bytes='22 + 8/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e383m187_16limbs/CurveParameters.v b/src/Specific/solinas32_2e383m187_16limbs/CurveParameters.v
deleted file mode 100644
index 07e2faebd..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 187
-Base: 23 + 15/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 23 + 15/16;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e383m187_16limbs/Synthesis.v b/src/Specific/solinas32_2e383m187_16limbs/Synthesis.v
deleted file mode 100644
index 3322f466b..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/compiler.sh b/src/Specific/solinas32_2e383m187_16limbs/compiler.sh
deleted file mode 100755
index 264828517..000000000
--- a/src/Specific/solinas32_2e383m187_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas32_2e383m187_16limbs/compilerxx.sh b/src/Specific/solinas32_2e383m187_16limbs/compilerxx.sh
deleted file mode 100755
index ff2b846c9..000000000
--- a/src/Specific/solinas32_2e383m187_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas32_2e383m187_16limbs/feadd.c b/src/Specific/solinas32_2e383m187_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e383m187_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_2e383m187_16limbs/feadd.v b/src/Specific/solinas32_2e383m187_16limbs/feadd.v
deleted file mode 100644
index 4bd7089e0..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e383m187_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e383m187_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_2e383m187_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e383m187_16limbs/feaddDisplay.v
deleted file mode 100644
index 10142b267..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e383m187_16limbs/fecarry.v b/src/Specific/solinas32_2e383m187_16limbs/fecarry.v
deleted file mode 100644
index b9424408a..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e383m187_16limbs/fecarryDisplay.v
deleted file mode 100644
index da1f82c86..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e383m187_16limbs/femul.c b/src/Specific/solinas32_2e383m187_16limbs/femul.c
deleted file mode 100644
index 802237a93..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)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 x65 = ((((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)x19 * x49) + (((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))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x32 * x62))));
- { uint64_t x66 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0xbb * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0xbb * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x51) + (((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)x21 * x35))))))))) + (0xbb * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- { uint64_t x72 = ((((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)))))))) + (0xbb * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- { uint64_t x73 = ((((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))))))) + (0xbb * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0xbb * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0xbb * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0xbb * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0xbb * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0xbb * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- { uint64_t x79 = (((uint64_t)x5 * x35) + (0xbb * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x18);
- { uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x18);
- { uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x81 + (0xbb * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x18);
- { uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x18);
- { uint32_t x132 = (x130 & 0xffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_16limbs/femul.v b/src/Specific/solinas32_2e383m187_16limbs/femul.v
deleted file mode 100644
index ea32bd8d5..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/femulDisplay.log b/src/Specific/solinas32_2e383m187_16limbs/femulDisplay.log
deleted file mode 100644
index 092690c39..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x65 = ((((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)x19 * x49) + (((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))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x32 * x62))));
- uint64_t x66 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0xbb * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0xbb * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- uint64_t x71 = ((((uint64_t)x5 * x51) + (((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)x21 * x35))))))))) + (0xbb * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- uint64_t x72 = ((((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)))))))) + (0xbb * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- uint64_t x73 = ((((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))))))) + (0xbb * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0xbb * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0xbb * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0xbb * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0xbb * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0xbb * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- uint64_t x79 = (((uint64_t)x5 * x35) + (0xbb * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x18);
- uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x18);
- uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x81 + (0xbb * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x18);
- uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x18);
- uint32_t x132 = (x130 & 0xffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e383m187_16limbs/femulDisplay.v b/src/Specific/solinas32_2e383m187_16limbs/femulDisplay.v
deleted file mode 100644
index 5116ab677..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e383m187_16limbs/fesquare.c b/src/Specific/solinas32_2e383m187_16limbs/fesquare.c
deleted file mode 100644
index 3826dd660..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)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 x32 = ((((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)x16 * x16) + (((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))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x29 * x29))));
- { uint64_t x33 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbb * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xbb * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0xbb * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- { uint64_t x39 = ((((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)))))))) + (0xbb * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- { uint64_t x40 = ((((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))))))) + (0xbb * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xbb * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xbb * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xbb * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- { uint64_t x46 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x48 + (0xbb * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x18);
- { uint32_t x99 = (x97 & 0xffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_16limbs/fesquare.v b/src/Specific/solinas32_2e383m187_16limbs/fesquare.v
deleted file mode 100644
index 88a0069a6..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.log
deleted file mode 100644
index 09502e8dc..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x32 = ((((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)x16 * x16) + (((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))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x29 * x29))));
- uint64_t x33 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbb * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xbb * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- uint64_t x38 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0xbb * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- uint64_t x39 = ((((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)))))))) + (0xbb * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- uint64_t x40 = ((((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))))))) + (0xbb * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xbb * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xbb * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xbb * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- uint64_t x46 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x48 + (0xbb * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x18);
- uint32_t x99 = (x97 & 0xffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e383m187_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.v
deleted file mode 100644
index 3ab5ddfac..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e383m187_16limbs/fesub.c b/src/Specific/solinas32_2e383m187_16limbs/fesub.c
deleted file mode 100644
index 30606edb2..000000000
--- a/src/Specific/solinas32_2e383m187_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] = ((0x1fffe8a + x5) - x35);
- out[1] = ((0x1fffffe + x7) - x37);
- out[2] = ((0x1fffffe + x9) - x39);
- out[3] = ((0x1fffffe + x11) - x41);
- out[4] = ((0x1fffffe + x13) - x43);
- out[5] = ((0x1fffffe + x15) - x45);
- out[6] = ((0x1fffffe + x17) - x47);
- out[7] = ((0x1fffffe + x19) - x49);
- out[8] = ((0x1fffffe + x21) - x51);
- out[9] = ((0x1fffffe + x23) - x53);
- out[10] = ((0x1fffffe + x25) - x55);
- out[11] = ((0x1fffffe + x27) - x57);
- out[12] = ((0x1fffffe + x29) - x59);
- out[13] = ((0x1fffffe + x31) - x61);
- out[14] = ((0x1fffffe + x33) - x63);
- out[15] = ((0xfffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_16limbs/fesub.v b/src/Specific/solinas32_2e383m187_16limbs/fesub.v
deleted file mode 100644
index 77f912b64..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e383m187_16limbs/fesubDisplay.log
deleted file mode 100644
index c38739831..000000000
--- a/src/Specific/solinas32_2e383m187_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,
- (((0xfffffe + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0x1fffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0x1fffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0x1fffffe + x19) - x49), ((0x1fffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0x1fffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x1fffe8a + 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_2e383m187_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e383m187_16limbs/fesubDisplay.v
deleted file mode 100644
index 73f1e58d1..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e383m187_16limbs/freeze.c b/src/Specific/solinas32_2e383m187_16limbs/freeze.c
deleted file mode 100644
index 1bb1fbd60..000000000
--- a/src/Specific/solinas32_2e383m187_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff45);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0xffff45);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e383m187_16limbs/freeze.v b/src/Specific/solinas32_2e383m187_16limbs/freeze.v
deleted file mode 100644
index 259f23821..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_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_2e383m187_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e383m187_16limbs/freezeDisplay.log
deleted file mode 100644
index 10a8e1a4d..000000000
--- a/src/Specific/solinas32_2e383m187_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff45);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0xffff45);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e383m187_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e383m187_16limbs/freezeDisplay.v
deleted file mode 100644
index 666081512..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e383m187_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e383m187_16limbs/py_interpreter.sh
deleted file mode 100755
index f30aca3f8..000000000
--- a/src/Specific/solinas32_2e383m187_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 187' -Dmodulus_bytes='23 + 15/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e383m187_17limbs/CurveParameters.v b/src/Specific/solinas32_2e383m187_17limbs/CurveParameters.v
deleted file mode 100644
index 292bde427..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 187
-Base: 22 + 9/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 22 + 9/17;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e383m187_17limbs/Synthesis.v b/src/Specific/solinas32_2e383m187_17limbs/Synthesis.v
deleted file mode 100644
index c35ef7e09..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/compiler.sh b/src/Specific/solinas32_2e383m187_17limbs/compiler.sh
deleted file mode 100755
index 1f11f4a10..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas32_2e383m187_17limbs/compilerxx.sh b/src/Specific/solinas32_2e383m187_17limbs/compilerxx.sh
deleted file mode 100755
index aacfe9cc9..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas32_2e383m187_17limbs/feadd.c b/src/Specific/solinas32_2e383m187_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_17limbs/feadd.v b/src/Specific/solinas32_2e383m187_17limbs/feadd.v
deleted file mode 100644
index e2e0cc872..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.v
deleted file mode 100644
index 89e101866..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fecarry.v b/src/Specific/solinas32_2e383m187_17limbs/fecarry.v
deleted file mode 100644
index 6977ab1e6..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e383m187_17limbs/fecarryDisplay.v
deleted file mode 100644
index 8dc056fde..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e383m187_17limbs/femul.c b/src/Specific/solinas32_2e383m187_17limbs/femul.c
deleted file mode 100644
index f85e83969..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x34 * x66))));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0xbb * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- { uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0xbb * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((uint64_t)x25 * x37))))))))))) + (0xbb * (((uint64_t)x27 * x66) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((uint64_t)x34 * x59))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((uint64_t)x23 * x37)))))))))) + (0xbb * ((0x2 * ((uint64_t)x25 * x66)) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + (0x2 * ((uint64_t)x34 * x57))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((uint64_t)x21 * x37))))))))) + (0xbb * (((uint64_t)x23 * x66) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + ((uint64_t)x34 * x55))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0xbb * ((0x2 * ((uint64_t)x21 * x66)) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + (0x2 * ((uint64_t)x34 * x53))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0xbb * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0xbb * ((0x2 * ((uint64_t)x17 * x66)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0xbb * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0xbb * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0xbb * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0xbb * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0xbb * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x17);
- { uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x16);
- { uint32_t x92 = ((uint32_t)x90 & 0x3fffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x17);
- { uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x16);
- { uint32_t x98 = ((uint32_t)x96 & 0x3fffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x17);
- { uint32_t x101 = ((uint32_t)x99 & 0x7fffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x16);
- { uint32_t x104 = ((uint32_t)x102 & 0x3fffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x17);
- { uint32_t x107 = ((uint32_t)x105 & 0x7fffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x16);
- { uint32_t x110 = ((uint32_t)x108 & 0x3fffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x17);
- { uint32_t x113 = ((uint32_t)x111 & 0x7fffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x16);
- { uint32_t x116 = ((uint32_t)x114 & 0x3fffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x17);
- { uint32_t x119 = ((uint32_t)x117 & 0x7fffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x16);
- { uint32_t x122 = ((uint32_t)x120 & 0x3fffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x17);
- { uint32_t x125 = ((uint32_t)x123 & 0x7fffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x16);
- { uint32_t x128 = ((uint32_t)x126 & 0x3fffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x17);
- { uint32_t x131 = ((uint32_t)x129 & 0x7fffff);
- { uint64_t x132 = (x130 + x68);
- { uint32_t x133 = (uint32_t) (x132 >> 0x16);
- { uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- { uint64_t x135 = (x86 + ((uint64_t)0xbb * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x17);
- { uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x17);
- { uint32_t x140 = (x138 & 0x7fffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_17limbs/femul.v b/src/Specific/solinas32_2e383m187_17limbs/femul.v
deleted file mode 100644
index 046ae38e3..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/femulDisplay.log b/src/Specific/solinas32_2e383m187_17limbs/femulDisplay.log
deleted file mode 100644
index 21c93a2e8..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x34 * x66))));
- uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0xbb * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0xbb * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((uint64_t)x25 * x37))))))))))) + (0xbb * (((uint64_t)x27 * x66) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((uint64_t)x34 * x59))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((uint64_t)x23 * x37)))))))))) + (0xbb * ((0x2 * ((uint64_t)x25 * x66)) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + (0x2 * ((uint64_t)x34 * x57))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((uint64_t)x21 * x37))))))))) + (0xbb * (((uint64_t)x23 * x66) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + ((uint64_t)x34 * x55))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0xbb * ((0x2 * ((uint64_t)x21 * x66)) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + (0x2 * ((uint64_t)x34 * x53))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0xbb * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0xbb * ((0x2 * ((uint64_t)x17 * x66)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0xbb * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0xbb * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0xbb * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0xbb * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0xbb * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x17);
- uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x16);
- uint32_t x92 = ((uint32_t)x90 & 0x3fffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x17);
- uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x16);
- uint32_t x98 = ((uint32_t)x96 & 0x3fffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x17);
- uint32_t x101 = ((uint32_t)x99 & 0x7fffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x16);
- uint32_t x104 = ((uint32_t)x102 & 0x3fffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x17);
- uint32_t x107 = ((uint32_t)x105 & 0x7fffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x16);
- uint32_t x110 = ((uint32_t)x108 & 0x3fffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x17);
- uint32_t x113 = ((uint32_t)x111 & 0x7fffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x16);
- uint32_t x116 = ((uint32_t)x114 & 0x3fffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x17);
- uint32_t x119 = ((uint32_t)x117 & 0x7fffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x16);
- uint32_t x122 = ((uint32_t)x120 & 0x3fffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x17);
- uint32_t x125 = ((uint32_t)x123 & 0x7fffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x16);
- uint32_t x128 = ((uint32_t)x126 & 0x3fffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x17);
- uint32_t x131 = ((uint32_t)x129 & 0x7fffff);
- uint64_t x132 = (x130 + x68);
- uint32_t x133 = (uint32_t) (x132 >> 0x16);
- uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- uint64_t x135 = (x86 + ((uint64_t)0xbb * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x17);
- uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x17);
- uint32_t x140 = (x138 & 0x7fffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m187_17limbs/femulDisplay.v b/src/Specific/solinas32_2e383m187_17limbs/femulDisplay.v
deleted file mode 100644
index c20d51a59..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fesquare.c b/src/Specific/solinas32_2e383m187_17limbs/fesquare.c
deleted file mode 100644
index 4d1dd108a..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x31 * x31))));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0xbb * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbb * (((uint64_t)x24 * x31) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((uint64_t)x31 * x24))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbb * ((0x2 * ((uint64_t)x22 * x31)) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + (0x2 * ((uint64_t)x31 * x22))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0xbb * (((uint64_t)x20 * x31) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x31 * x20))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbb * ((0x2 * ((uint64_t)x18 * x31)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (0x2 * ((uint64_t)x31 * x18))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xbb * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbb * ((0x2 * ((uint64_t)x14 * x31)) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbb * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbb * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xbb * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x16);
- { uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x16);
- { uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x17);
- { uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x16);
- { uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x16);
- { uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x16);
- { uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x33);
- { uint32_t x98 = (uint32_t) (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x51 + ((uint64_t)0xbb * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x17);
- { uint32_t x105 = (x103 & 0x7fffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fesquare.v b/src/Specific/solinas32_2e383m187_17limbs/fesquare.v
deleted file mode 100644
index 57298dac9..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.log
deleted file mode 100644
index 33739de8b..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0xbb * (0x2 * ((uint64_t)x31 * x31))));
- uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0xbb * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbb * (((uint64_t)x24 * x31) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((uint64_t)x31 * x24))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbb * ((0x2 * ((uint64_t)x22 * x31)) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + (0x2 * ((uint64_t)x31 * x22))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0xbb * (((uint64_t)x20 * x31) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x31 * x20))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbb * ((0x2 * ((uint64_t)x18 * x31)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (0x2 * ((uint64_t)x31 * x18))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xbb * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbb * ((0x2 * ((uint64_t)x14 * x31)) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbb * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbb * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xbb * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x16);
- uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x16);
- uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x17);
- uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x16);
- uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x16);
- uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x16);
- uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x33);
- uint32_t x98 = (uint32_t) (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x51 + ((uint64_t)0xbb * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x17);
- uint32_t x105 = (x103 & 0x7fffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.v
deleted file mode 100644
index 3fbccec5c..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fesub.c b/src/Specific/solinas32_2e383m187_17limbs/fesub.c
deleted file mode 100644
index e9b4888bf..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0xfffe8a + x5) - x37);
- out[1] = ((0xfffffe + x7) - x39);
- out[2] = ((0x7ffffe + x9) - x41);
- out[3] = ((0xfffffe + x11) - x43);
- out[4] = ((0x7ffffe + x13) - x45);
- out[5] = ((0xfffffe + x15) - x47);
- out[6] = ((0x7ffffe + x17) - x49);
- out[7] = ((0xfffffe + x19) - x51);
- out[8] = ((0x7ffffe + x21) - x53);
- out[9] = ((0xfffffe + x23) - x55);
- out[10] = ((0x7ffffe + x25) - x57);
- out[11] = ((0xfffffe + x27) - x59);
- out[12] = ((0x7ffffe + x29) - x61);
- out[13] = ((0xfffffe + x31) - x63);
- out[14] = ((0x7ffffe + x33) - x65);
- out[15] = ((0xfffffe + x35) - x67);
- out[16] = ((0x7ffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fesub.v b/src/Specific/solinas32_2e383m187_17limbs/fesub.v
deleted file mode 100644
index 902fe6a62..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.log
deleted file mode 100644
index 1a8f2a3de..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x7ffffe + x34) - x66), ((0xfffffe + x35) - x67), ((0x7ffffe + x33) - x65), ((0xfffffe + x31) - x63), ((0x7ffffe + x29) - x61), ((0xfffffe + x27) - x59), ((0x7ffffe + x25) - x57), ((0xfffffe + x23) - x55), ((0x7ffffe + x21) - x53), ((0xfffffe + x19) - x51), ((0x7ffffe + x17) - x49), ((0xfffffe + x15) - x47), ((0x7ffffe + x13) - x45), ((0xfffffe + x11) - x43), ((0x7ffffe + x9) - x41), ((0xfffffe + x7) - x39), ((0xfffe8a + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.v
deleted file mode 100644
index 9401a4725..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e383m187_17limbs/freeze.c b/src/Specific/solinas32_2e383m187_17limbs/freeze.c
deleted file mode 100644
index af9e61e11..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff45);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x3fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x7fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x3fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x7fff45);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0x7fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x3fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x7fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x3fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x7fffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x3fffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x7fffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x3fffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x7fffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x3fffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x7fffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x3fffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x7fffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x3fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0x7fffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x3fffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m187_17limbs/freeze.v b/src/Specific/solinas32_2e383m187_17limbs/freeze.v
deleted file mode 100644
index 208b23b34..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.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_2e383m187_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.log
deleted file mode 100644
index fa254adf1..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff45);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x3fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x7fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x3fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x7fff45);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0x7fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x3fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x7fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x3fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x7fffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x3fffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x7fffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x3fffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x7fffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x3fffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x7fffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x3fffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x7fffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x3fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0x7fffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x3fffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.v
deleted file mode 100644
index dc20af24d..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m187_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e383m187_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e383m187_17limbs/py_interpreter.sh
deleted file mode 100755
index f1a7ab21a..000000000
--- a/src/Specific/solinas32_2e383m187_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 187' -Dmodulus_bytes='22 + 9/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e383m31_15limbs/CurveParameters.v b/src/Specific/solinas32_2e383m31_15limbs/CurveParameters.v
deleted file mode 100644
index ab96240c7..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 31
-Base: 25 + 8/15
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 25 + 8/15;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 15); [0; 1]]%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_2e383m31_15limbs/Synthesis.v b/src/Specific/solinas32_2e383m31_15limbs/Synthesis.v
deleted file mode 100644
index 7f4c9e380..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/compiler.sh b/src/Specific/solinas32_2e383m31_15limbs/compiler.sh
deleted file mode 100755
index 613482146..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas32_2e383m31_15limbs/compilerxx.sh b/src/Specific/solinas32_2e383m31_15limbs/compilerxx.sh
deleted file mode 100755
index beaad94ab..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,25,26,25,26,25,26,25,26,25}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas32_2e383m31_15limbs/feadd.c b/src/Specific/solinas32_2e383m31_15limbs/feadd.c
deleted file mode 100644
index 72a59425b..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/feadd.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = (x5 + x33);
- out[1] = (x7 + x35);
- out[2] = (x9 + x37);
- out[3] = (x11 + x39);
- out[4] = (x13 + x41);
- out[5] = (x15 + x43);
- out[6] = (x17 + x45);
- out[7] = (x19 + x47);
- out[8] = (x21 + x49);
- out[9] = (x23 + x51);
- out[10] = (x25 + x53);
- out[11] = (x27 + x55);
- out[12] = (x29 + x57);
- out[13] = (x31 + x59);
- out[14] = (x30 + x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_15limbs/feadd.v b/src/Specific/solinas32_2e383m31_15limbs/feadd.v
deleted file mode 100644
index 3d968e49f..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/feaddDisplay.log b/src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.log
deleted file mode 100644
index 08d611628..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- ((x30 + x58), (x31 + x59), (x29 + x57), (x27 + x55), (x25 + x53), (x23 + x51), (x21 + x49), (x19 + x47), (x17 + x45), (x15 + x43), (x13 + x41), (x11 + x39), (x9 + x37), (x7 + x35), (x5 + x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.v b/src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.v
deleted file mode 100644
index 841e867fb..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fecarry.v b/src/Specific/solinas32_2e383m31_15limbs/fecarry.v
deleted file mode 100644
index 2120ea8db..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/fecarryDisplay.v b/src/Specific/solinas32_2e383m31_15limbs/fecarryDisplay.v
deleted file mode 100644
index 176c65a06..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e383m31_15limbs/femul.c b/src/Specific/solinas32_2e383m31_15limbs/femul.c
deleted file mode 100644
index 4e89d811b..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/femul.c
+++ /dev/null
@@ -1,113 +0,0 @@
-static void femul(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((0x2 * ((uint64_t)x29 * x37)) + (((uint64_t)x31 * x35) + ((uint64_t)x30 * x33)))))))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((0x2 * ((uint64_t)x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + (0x1f * (0x2 * ((uint64_t)x30 * x58))));
- { uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x1f * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
- { uint64_t x63 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x27 * x33)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x29 * x58)) + (((uint64_t)x31 * x59) + (0x2 * ((uint64_t)x30 * x57))))));
- { uint64_t x64 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + (((uint64_t)x23 * x35) + ((uint64_t)x25 * x33))))))))))) + (0x1f * (((uint64_t)x27 * x58) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((uint64_t)x30 * x55))))));
- { uint64_t x65 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x23 * x33)))))))))) + (0x1f * ((0x2 * ((uint64_t)x25 * x58)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + (0x2 * ((uint64_t)x30 * x53))))))));
- { uint64_t x66 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + ((uint64_t)x21 * x33))))))))) + (0x1f * (((uint64_t)x23 * x58) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x30 * x51))))))));
- { uint64_t x67 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((uint64_t)x19 * x33)))))))) + (0x1f * ((0x2 * ((uint64_t)x21 * x58)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + (0x2 * ((uint64_t)x30 * x49))))))))));
- { uint64_t x68 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))))))) + (0x1f * (((uint64_t)x19 * x58) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((uint64_t)x30 * x47))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x58)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + (0x2 * ((uint64_t)x30 * x45))))))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x1f * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x58)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) + (0x1f * (((uint64_t)x11 * x58) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x30 * x39))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x1f * ((0x2 * ((uint64_t)x9 * x58)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + (0x2 * ((uint64_t)x30 * x37))))))))))))))));
- { ℤ x74 = (((uint64_t)x5 * x33) +ℤ (0x1f *ℤ ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- { uint64_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = (x74 & 0x3ffffff);
- { uint64_t x77 = (x75 + x73);
- { uint64_t x78 = (x77 >> 0x1a);
- { uint32_t x79 = ((uint32_t)x77 & 0x3ffffff);
- { uint64_t x80 = (x78 + x72);
- { uint64_t x81 = (x80 >> 0x19);
- { uint32_t x82 = ((uint32_t)x80 & 0x1ffffff);
- { uint64_t x83 = (x81 + x71);
- { uint64_t x84 = (x83 >> 0x1a);
- { uint32_t x85 = ((uint32_t)x83 & 0x3ffffff);
- { uint64_t x86 = (x84 + x70);
- { uint64_t x87 = (x86 >> 0x19);
- { uint32_t x88 = ((uint32_t)x86 & 0x1ffffff);
- { uint64_t x89 = (x87 + x69);
- { uint64_t x90 = (x89 >> 0x1a);
- { uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- { uint64_t x92 = (x90 + x68);
- { uint64_t x93 = (x92 >> 0x19);
- { uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- { uint64_t x95 = (x93 + x67);
- { uint64_t x96 = (x95 >> 0x1a);
- { uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- { uint64_t x98 = (x96 + x66);
- { uint64_t x99 = (x98 >> 0x19);
- { uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- { uint64_t x101 = (x99 + x65);
- { uint64_t x102 = (x101 >> 0x1a);
- { uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- { uint64_t x104 = (x102 + x64);
- { uint64_t x105 = (x104 >> 0x19);
- { uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- { uint64_t x107 = (x105 + x63);
- { uint64_t x108 = (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x108 + x62);
- { uint64_t x111 = (x110 >> 0x19);
- { uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- { uint64_t x113 = (x111 + x61);
- { uint64_t x114 = (x113 >> 0x1a);
- { uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- { uint64_t x116 = (x114 + x60);
- { uint64_t x117 = (x116 >> 0x19);
- { uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- { uint64_t x119 = (x76 + (0x1f * x117));
- { uint32_t x120 = (uint32_t) (x119 >> 0x1a);
- { uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- { uint32_t x122 = (x120 + x79);
- { uint32_t x123 = (x122 >> 0x1a);
- { uint32_t x124 = (x122 & 0x3ffffff);
- out[0] = x121;
- out[1] = x124;
- out[2] = (x123 + x82);
- out[3] = x85;
- out[4] = x88;
- out[5] = x91;
- out[6] = x94;
- out[7] = x97;
- out[8] = x100;
- out[9] = x103;
- out[10] = x106;
- out[11] = x109;
- out[12] = x112;
- out[13] = x115;
- out[14] = x118;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_15limbs/femul.v b/src/Specific/solinas32_2e383m31_15limbs/femul.v
deleted file mode 100644
index 25f9c73a1..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/femulDisplay.log b/src/Specific/solinas32_2e383m31_15limbs/femulDisplay.log
deleted file mode 100644
index 56f135621..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/femulDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((0x2 * ((uint64_t)x29 * x37)) + (((uint64_t)x31 * x35) + ((uint64_t)x30 * x33)))))))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((0x2 * ((uint64_t)x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + (0x1f * (0x2 * ((uint64_t)x30 * x58))));
- uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x1f * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
- uint64_t x63 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x27 * x33)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x29 * x58)) + (((uint64_t)x31 * x59) + (0x2 * ((uint64_t)x30 * x57))))));
- uint64_t x64 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((0x2 * ((uint64_t)x21 * x37)) + (((uint64_t)x23 * x35) + ((uint64_t)x25 * x33))))))))))) + (0x1f * (((uint64_t)x27 * x58) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((uint64_t)x30 * x55))))));
- uint64_t x65 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((uint64_t)x23 * x33)))))))))) + (0x1f * ((0x2 * ((uint64_t)x25 * x58)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + (0x2 * ((uint64_t)x30 * x53))))))));
- uint64_t x66 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + ((uint64_t)x21 * x33))))))))) + (0x1f * (((uint64_t)x23 * x58) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x30 * x51))))))));
- uint64_t x67 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((0x2 * ((uint64_t)x17 * x35)) + ((uint64_t)x19 * x33)))))))) + (0x1f * ((0x2 * ((uint64_t)x21 * x58)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + (0x2 * ((uint64_t)x30 * x49))))))))));
- uint64_t x68 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))))))) + (0x1f * (((uint64_t)x19 * x58) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((uint64_t)x30 * x47))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((0x2 * ((uint64_t)x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x58)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + (0x2 * ((uint64_t)x30 * x45))))))))))));
- uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x1f * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
- uint64_t x71 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x58)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- uint64_t x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) + (0x1f * (((uint64_t)x11 * x58) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x30 * x39))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x1f * ((0x2 * ((uint64_t)x9 * x58)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + (0x2 * ((uint64_t)x30 * x37))))))))))))))));
- ℤ x74 = (((uint64_t)x5 * x33) +ℤ (0x1f *ℤ ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- uint64_t x75 = (x74 >> 0x1a);
- uint32_t x76 = (x74 & 0x3ffffff);
- uint64_t x77 = (x75 + x73);
- uint64_t x78 = (x77 >> 0x1a);
- uint32_t x79 = ((uint32_t)x77 & 0x3ffffff);
- uint64_t x80 = (x78 + x72);
- uint64_t x81 = (x80 >> 0x19);
- uint32_t x82 = ((uint32_t)x80 & 0x1ffffff);
- uint64_t x83 = (x81 + x71);
- uint64_t x84 = (x83 >> 0x1a);
- uint32_t x85 = ((uint32_t)x83 & 0x3ffffff);
- uint64_t x86 = (x84 + x70);
- uint64_t x87 = (x86 >> 0x19);
- uint32_t x88 = ((uint32_t)x86 & 0x1ffffff);
- uint64_t x89 = (x87 + x69);
- uint64_t x90 = (x89 >> 0x1a);
- uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- uint64_t x92 = (x90 + x68);
- uint64_t x93 = (x92 >> 0x19);
- uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- uint64_t x95 = (x93 + x67);
- uint64_t x96 = (x95 >> 0x1a);
- uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- uint64_t x98 = (x96 + x66);
- uint64_t x99 = (x98 >> 0x19);
- uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- uint64_t x101 = (x99 + x65);
- uint64_t x102 = (x101 >> 0x1a);
- uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- uint64_t x104 = (x102 + x64);
- uint64_t x105 = (x104 >> 0x19);
- uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- uint64_t x107 = (x105 + x63);
- uint64_t x108 = (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x108 + x62);
- uint64_t x111 = (x110 >> 0x19);
- uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- uint64_t x113 = (x111 + x61);
- uint64_t x114 = (x113 >> 0x1a);
- uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- uint64_t x116 = (x114 + x60);
- uint64_t x117 = (x116 >> 0x19);
- uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- uint64_t x119 = (x76 + (0x1f * x117));
- uint32_t x120 = (uint32_t) (x119 >> 0x1a);
- uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- uint32_t x122 = (x120 + x79);
- uint32_t x123 = (x122 >> 0x1a);
- uint32_t x124 = (x122 & 0x3ffffff);
- return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, (x123 + x82), Return x124, Return x121))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e383m31_15limbs/femulDisplay.v b/src/Specific/solinas32_2e383m31_15limbs/femulDisplay.v
deleted file mode 100644
index 9d082c9cd..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fesquare.c b/src/Specific/solinas32_2e383m31_15limbs/fesquare.c
deleted file mode 100644
index 1ab005221..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesquare.c
+++ /dev/null
@@ -1,98 +0,0 @@
-static void fesquare(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (((uint64_t)x2 * x27) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x27 * x2)))))))))))))));
- { uint64_t x30 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * (0x2 * ((uint64_t)x27 * x27))));
- { uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
- { uint64_t x32 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x26 * x27)) + (((uint64_t)x28 * x28) + (0x2 * ((uint64_t)x27 * x26))))));
- { uint64_t x33 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1f * (((uint64_t)x24 * x27) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((uint64_t)x27 * x24))))));
- { uint64_t x34 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1f * ((0x2 * ((uint64_t)x22 * x27)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (0x2 * ((uint64_t)x27 * x22))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1f * (((uint64_t)x20 * x27) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x27 * x20))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1f * ((0x2 * ((uint64_t)x18 * x27)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + (0x2 * ((uint64_t)x27 * x18))))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * (((uint64_t)x16 * x27) + (((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)x27 * x16))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x27)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + (0x2 * ((uint64_t)x27 * x14))))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x27)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x27) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((uint64_t)x27 * x8))))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x27)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + (0x2 * ((uint64_t)x27 * x6))))))))))))))));
- { ℤ x43 = (((uint64_t)x2 * x2) +ℤ (0x1f *ℤ ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = (x43 & 0x3ffffff);
- { uint64_t x46 = (x44 + x42);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x41);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x40);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x39);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x38);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x37);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x36);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x35);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x34);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x33);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x32);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x31);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x30);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x29);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x45 + (0x1f * x86));
- { uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint32_t x91 = (x89 + x48);
- { uint32_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = (x91 & 0x3ffffff);
- out[0] = x90;
- out[1] = x93;
- out[2] = (x92 + x51);
- out[3] = x54;
- out[4] = x57;
- out[5] = x60;
- out[6] = x63;
- out[7] = x66;
- out[8] = x69;
- out[9] = x72;
- out[10] = x75;
- out[11] = x78;
- out[12] = x81;
- out[13] = x84;
- out[14] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fesquare.v b/src/Specific/solinas32_2e383m31_15limbs/fesquare.v
deleted file mode 100644
index abdfd0df3..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/fesquareDisplay.log b/src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.log
deleted file mode 100644
index de4ccee10..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x29 = (((uint64_t)x2 * x27) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x27 * x2)))))))))))))));
- uint64_t x30 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * (0x2 * ((uint64_t)x27 * x27))));
- uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
- uint64_t x32 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x26 * x27)) + (((uint64_t)x28 * x28) + (0x2 * ((uint64_t)x27 * x26))))));
- uint64_t x33 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1f * (((uint64_t)x24 * x27) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((uint64_t)x27 * x24))))));
- uint64_t x34 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1f * ((0x2 * ((uint64_t)x22 * x27)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (0x2 * ((uint64_t)x27 * x22))))))));
- uint64_t x35 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1f * (((uint64_t)x20 * x27) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x27 * x20))))))));
- uint64_t x36 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1f * ((0x2 * ((uint64_t)x18 * x27)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + (0x2 * ((uint64_t)x27 * x18))))))))));
- uint64_t x37 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * (((uint64_t)x16 * x27) + (((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)x27 * x16))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x27)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + (0x2 * ((uint64_t)x27 * x14))))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x27)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x27) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((uint64_t)x27 * x8))))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x27)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + (0x2 * ((uint64_t)x27 * x6))))))))))))))));
- ℤ x43 = (((uint64_t)x2 * x2) +ℤ (0x1f *ℤ ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = (x43 & 0x3ffffff);
- uint64_t x46 = (x44 + x42);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x41);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x40);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x39);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x38);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x37);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x36);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x35);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x34);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x33);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x32);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x31);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x30);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x29);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x45 + (0x1f * x86));
- uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint32_t x91 = (x89 + x48);
- uint32_t x92 = (x91 >> 0x1a);
- uint32_t x93 = (x91 & 0x3ffffff);
- return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, (x92 + x51), Return x93, Return x90))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.v b/src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.v
deleted file mode 100644
index 4a580497f..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fesub.c b/src/Specific/solinas32_2e383m31_15limbs/fesub.c
deleted file mode 100644
index 57ed399ad..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesub.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void fesub(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = ((0x7ffffc2 + x5) - x33);
- out[1] = ((0x7fffffe + x7) - x35);
- out[2] = ((0x3fffffe + x9) - x37);
- out[3] = ((0x7fffffe + x11) - x39);
- out[4] = ((0x3fffffe + x13) - x41);
- out[5] = ((0x7fffffe + x15) - x43);
- out[6] = ((0x3fffffe + x17) - x45);
- out[7] = ((0x7fffffe + x19) - x47);
- out[8] = ((0x3fffffe + x21) - x49);
- out[9] = ((0x7fffffe + x23) - x51);
- out[10] = ((0x3fffffe + x25) - x53);
- out[11] = ((0x7fffffe + x27) - x55);
- out[12] = ((0x3fffffe + x29) - x57);
- out[13] = ((0x7fffffe + x31) - x59);
- out[14] = ((0x3fffffe + x30) - x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fesub.v b/src/Specific/solinas32_2e383m31_15limbs/fesub.v
deleted file mode 100644
index f778f8049..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/fesubDisplay.log b/src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.log
deleted file mode 100644
index b23dd1323..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- (((0x3fffffe + x30) - x58), ((0x7fffffe + x31) - x59), ((0x3fffffe + x29) - x57), ((0x7fffffe + x27) - x55), ((0x3fffffe + x25) - x53), ((0x7fffffe + x23) - x51), ((0x3fffffe + x21) - x49), ((0x7fffffe + x19) - x47), ((0x3fffffe + x17) - x45), ((0x7fffffe + x15) - x43), ((0x3fffffe + x13) - x41), ((0x7fffffe + x11) - x39), ((0x3fffffe + x9) - x37), ((0x7fffffe + x7) - x35), ((0x7ffffc2 + x5) - x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.v b/src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.v
deleted file mode 100644
index ac84ec8a9..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e383m31_15limbs/freeze.c b/src/Specific/solinas32_2e383m31_15limbs/freeze.c
deleted file mode 100644
index fe340eaaa..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/freeze.c
+++ /dev/null
@@ -1,79 +0,0 @@
-static void freeze(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe1);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x3ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x3ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x3ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x1ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x3ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffffff);
- { uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- { uint32_t x75 = (x74 & 0x3ffffe1);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- { uint32_t x79 = (x74 & 0x3ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- { uint32_t x83 = (x74 & 0x1ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- { uint32_t x87 = (x74 & 0x3ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- { uint32_t x91 = (x74 & 0x1ffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- { uint32_t x95 = (x74 & 0x3ffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- { uint32_t x99 = (x74 & 0x1ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- { uint32_t x103 = (x74 & 0x3ffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- { uint32_t x107 = (x74 & 0x1ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- { uint32_t x111 = (x74 & 0x3ffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- { uint32_t x115 = (x74 & 0x1ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- { uint32_t x119 = (x74 & 0x3ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- { uint32_t x123 = (x74 & 0x1ffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- { uint32_t x127 = (x74 & 0x3ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- { uint32_t x131 = (x74 & 0x1ffffff);
- { uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- out[0] = x77;
- out[1] = x81;
- out[2] = x85;
- out[3] = x89;
- out[4] = x93;
- out[5] = x97;
- out[6] = x101;
- out[7] = x105;
- out[8] = x109;
- out[9] = x113;
- out[10] = x117;
- out[11] = x121;
- out[12] = x125;
- out[13] = x129;
- out[14] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_15limbs/freeze.v b/src/Specific/solinas32_2e383m31_15limbs/freeze.v
deleted file mode 100644
index 55ae6d1a3..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.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_2e383m31_15limbs/freezeDisplay.log b/src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.log
deleted file mode 100644
index 10314baa1..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe1);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x3ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x3ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x3ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x1ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x3ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffffff);
- uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- uint32_t x75 = (x74 & 0x3ffffe1);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = (x74 & 0x3ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = (x74 & 0x1ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = (x74 & 0x3ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = (x74 & 0x1ffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = (x74 & 0x3ffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = (x74 & 0x1ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = (x74 & 0x3ffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = (x74 & 0x1ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = (x74 & 0x3ffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = (x74 & 0x1ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = (x74 & 0x3ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = (x74 & 0x1ffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = (x74 & 0x3ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = (x74 & 0x1ffffff);
- uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.v b/src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.v
deleted file mode 100644
index bcf2235b8..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_15limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e383m31_15limbs/py_interpreter.sh b/src/Specific/solinas32_2e383m31_15limbs/py_interpreter.sh
deleted file mode 100755
index c83f152ae..000000000
--- a/src/Specific/solinas32_2e383m31_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 31' -Dmodulus_bytes='25 + 8/15' -Da24='121665'
diff --git a/src/Specific/solinas32_2e383m31_16limbs/CurveParameters.v b/src/Specific/solinas32_2e383m31_16limbs/CurveParameters.v
deleted file mode 100644
index 1a2049795..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 31
-Base: 23 + 15/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 23 + 15/16;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e383m31_16limbs/Synthesis.v b/src/Specific/solinas32_2e383m31_16limbs/Synthesis.v
deleted file mode 100644
index b298b5237..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/compiler.sh b/src/Specific/solinas32_2e383m31_16limbs/compiler.sh
deleted file mode 100755
index 7c9d92b10..000000000
--- a/src/Specific/solinas32_2e383m31_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas32_2e383m31_16limbs/compilerxx.sh b/src/Specific/solinas32_2e383m31_16limbs/compilerxx.sh
deleted file mode 100755
index d93b62587..000000000
--- a/src/Specific/solinas32_2e383m31_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,23}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas32_2e383m31_16limbs/feadd.c b/src/Specific/solinas32_2e383m31_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e383m31_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_2e383m31_16limbs/feadd.v b/src/Specific/solinas32_2e383m31_16limbs/feadd.v
deleted file mode 100644
index 63ff93288..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e383m31_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e383m31_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_2e383m31_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e383m31_16limbs/feaddDisplay.v
deleted file mode 100644
index 1243d945a..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e383m31_16limbs/fecarry.v b/src/Specific/solinas32_2e383m31_16limbs/fecarry.v
deleted file mode 100644
index af68e7751..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e383m31_16limbs/fecarryDisplay.v
deleted file mode 100644
index 6921a3f57..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e383m31_16limbs/femul.c b/src/Specific/solinas32_2e383m31_16limbs/femul.c
deleted file mode 100644
index 3839457fa..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)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 x65 = ((((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)x19 * x49) + (((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))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x32 * x62))));
- { uint64_t x66 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x1f * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x51) + (((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)x21 * x35))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- { uint64_t x72 = ((((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)))))))) + (0x1f * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- { uint64_t x73 = ((((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))))))) + (0x1f * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x1f * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x1f * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x1f * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- { uint64_t x79 = (((uint64_t)x5 * x35) + (0x1f * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x18);
- { uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x18);
- { uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x81 + (0x1f * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x18);
- { uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x18);
- { uint32_t x132 = (x130 & 0xffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_16limbs/femul.v b/src/Specific/solinas32_2e383m31_16limbs/femul.v
deleted file mode 100644
index 8a6db108d..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/femulDisplay.log b/src/Specific/solinas32_2e383m31_16limbs/femulDisplay.log
deleted file mode 100644
index dfca6c5ed..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x65 = ((((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)x19 * x49) + (((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))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x32 * x62))));
- uint64_t x66 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x1f * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- uint64_t x71 = ((((uint64_t)x5 * x51) + (((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)x21 * x35))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- uint64_t x72 = ((((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)))))))) + (0x1f * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- uint64_t x73 = ((((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))))))) + (0x1f * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x1f * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x1f * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x1f * ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- uint64_t x79 = (((uint64_t)x5 * x35) + (0x1f * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x18);
- uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x18);
- uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x81 + (0x1f * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x18);
- uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x18);
- uint32_t x132 = (x130 & 0xffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e383m31_16limbs/femulDisplay.v b/src/Specific/solinas32_2e383m31_16limbs/femulDisplay.v
deleted file mode 100644
index 3f0d52106..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e383m31_16limbs/fesquare.c b/src/Specific/solinas32_2e383m31_16limbs/fesquare.c
deleted file mode 100644
index dc88d3217..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)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 x32 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x29 * x29))));
- { uint64_t x33 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- { uint64_t x39 = ((((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)))))))) + (0x1f * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- { uint64_t x40 = ((((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))))))) + (0x1f * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- { uint64_t x46 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x18);
- { uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x48 + (0x1f * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x18);
- { uint32_t x99 = (x97 & 0xffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_16limbs/fesquare.v b/src/Specific/solinas32_2e383m31_16limbs/fesquare.v
deleted file mode 100644
index c4af9f66c..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.log
deleted file mode 100644
index 8fe77b9a4..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x32 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x29 * x29))));
- uint64_t x33 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- uint64_t x38 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- uint64_t x39 = ((((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)))))))) + (0x1f * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- uint64_t x40 = ((((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))))))) + (0x1f * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- uint64_t x46 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x18);
- uint32_t x48 = ((uint32_t)x46 & 0xffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x48 + (0x1f * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x18);
- uint32_t x99 = (x97 & 0xffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e383m31_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.v
deleted file mode 100644
index 3ba8cf9ee..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e383m31_16limbs/fesub.c b/src/Specific/solinas32_2e383m31_16limbs/fesub.c
deleted file mode 100644
index 39e6e058d..000000000
--- a/src/Specific/solinas32_2e383m31_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] = ((0x1ffffc2 + x5) - x35);
- out[1] = ((0x1fffffe + x7) - x37);
- out[2] = ((0x1fffffe + x9) - x39);
- out[3] = ((0x1fffffe + x11) - x41);
- out[4] = ((0x1fffffe + x13) - x43);
- out[5] = ((0x1fffffe + x15) - x45);
- out[6] = ((0x1fffffe + x17) - x47);
- out[7] = ((0x1fffffe + x19) - x49);
- out[8] = ((0x1fffffe + x21) - x51);
- out[9] = ((0x1fffffe + x23) - x53);
- out[10] = ((0x1fffffe + x25) - x55);
- out[11] = ((0x1fffffe + x27) - x57);
- out[12] = ((0x1fffffe + x29) - x59);
- out[13] = ((0x1fffffe + x31) - x61);
- out[14] = ((0x1fffffe + x33) - x63);
- out[15] = ((0xfffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m31_16limbs/fesub.v b/src/Specific/solinas32_2e383m31_16limbs/fesub.v
deleted file mode 100644
index d630c38f6..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e383m31_16limbs/fesubDisplay.log
deleted file mode 100644
index c69661de5..000000000
--- a/src/Specific/solinas32_2e383m31_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,
- (((0xfffffe + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0x1fffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0x1fffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0x1fffffe + x19) - x49), ((0x1fffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0x1fffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x1ffffc2 + 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_2e383m31_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e383m31_16limbs/fesubDisplay.v
deleted file mode 100644
index 660587f64..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e383m31_16limbs/freeze.c b/src/Specific/solinas32_2e383m31_16limbs/freeze.c
deleted file mode 100644
index ca1ac094c..000000000
--- a/src/Specific/solinas32_2e383m31_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe1);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0xffffe1);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e383m31_16limbs/freeze.v b/src/Specific/solinas32_2e383m31_16limbs/freeze.v
deleted file mode 100644
index c41154b55..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m31_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_2e383m31_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e383m31_16limbs/freezeDisplay.log
deleted file mode 100644
index ca55d2622..000000000
--- a/src/Specific/solinas32_2e383m31_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 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe1);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x7fffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0xffffe1);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0x7fffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (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_2e383m31_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e383m31_16limbs/freezeDisplay.v
deleted file mode 100644
index eb2882e6a..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m31_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e383m31_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e383m31_16limbs/py_interpreter.sh
deleted file mode 100755
index 9108d7675..000000000
--- a/src/Specific/solinas32_2e383m31_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 31' -Dmodulus_bytes='23 + 15/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e383m421_17limbs/CurveParameters.v b/src/Specific/solinas32_2e383m421_17limbs/CurveParameters.v
deleted file mode 100644
index ec80a720a..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 421
-Base: 22 + 9/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 22 + 9/17;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 421)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e383m421_17limbs/Synthesis.v b/src/Specific/solinas32_2e383m421_17limbs/Synthesis.v
deleted file mode 100644
index 9bcc52d9e..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/compiler.sh b/src/Specific/solinas32_2e383m421_17limbs/compiler.sh
deleted file mode 100755
index 23c973618..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas32_2e383m421_17limbs/compilerxx.sh b/src/Specific/solinas32_2e383m421_17limbs/compilerxx.sh
deleted file mode 100755
index b03226837..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas32_2e383m421_17limbs/feadd.c b/src/Specific/solinas32_2e383m421_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_17limbs/feadd.v b/src/Specific/solinas32_2e383m421_17limbs/feadd.v
deleted file mode 100644
index 0c5f3689e..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.v
deleted file mode 100644
index 514cc1aae..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fecarry.v b/src/Specific/solinas32_2e383m421_17limbs/fecarry.v
deleted file mode 100644
index 7530ea344..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e383m421_17limbs/fecarryDisplay.v
deleted file mode 100644
index d9fcc1fdd..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e383m421_17limbs/femul.c b/src/Specific/solinas32_2e383m421_17limbs/femul.c
deleted file mode 100644
index 842b06fac..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x1a5 * (0x2 * ((uint64_t)x34 * x66))));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x1a5 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- { uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x1a5 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((uint64_t)x25 * x37))))))))))) + (0x1a5 * (((uint64_t)x27 * x66) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((uint64_t)x34 * x59))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((uint64_t)x23 * x37)))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x25 * x66)) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + (0x2 * ((uint64_t)x34 * x57))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((uint64_t)x21 * x37))))))))) + (0x1a5 * (((uint64_t)x23 * x66) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + ((uint64_t)x34 * x55))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x21 * x66)) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + (0x2 * ((uint64_t)x34 * x53))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x1a5 * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x1a5 * ((0x2 * ((uint64_t)x17 * x66)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x1a5 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x1a5 * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x1a5 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x1a5 * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x1a5 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x17);
- { uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x16);
- { uint32_t x92 = ((uint32_t)x90 & 0x3fffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x17);
- { uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x16);
- { uint32_t x98 = ((uint32_t)x96 & 0x3fffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x17);
- { uint32_t x101 = ((uint32_t)x99 & 0x7fffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x16);
- { uint32_t x104 = ((uint32_t)x102 & 0x3fffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x17);
- { uint32_t x107 = ((uint32_t)x105 & 0x7fffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x16);
- { uint32_t x110 = ((uint32_t)x108 & 0x3fffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x17);
- { uint32_t x113 = ((uint32_t)x111 & 0x7fffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x16);
- { uint32_t x116 = ((uint32_t)x114 & 0x3fffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x17);
- { uint32_t x119 = ((uint32_t)x117 & 0x7fffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x16);
- { uint32_t x122 = ((uint32_t)x120 & 0x3fffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x17);
- { uint32_t x125 = ((uint32_t)x123 & 0x7fffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x16);
- { uint32_t x128 = ((uint32_t)x126 & 0x3fffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x17);
- { uint32_t x131 = ((uint32_t)x129 & 0x7fffff);
- { uint64_t x132 = (x130 + x68);
- { uint32_t x133 = (uint32_t) (x132 >> 0x16);
- { uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- { uint64_t x135 = (x86 + ((uint64_t)0x1a5 * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x17);
- { uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x17);
- { uint32_t x140 = (x138 & 0x7fffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_17limbs/femul.v b/src/Specific/solinas32_2e383m421_17limbs/femul.v
deleted file mode 100644
index 3cd04ebd8..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/femulDisplay.log b/src/Specific/solinas32_2e383m421_17limbs/femulDisplay.log
deleted file mode 100644
index 2939866b0..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x1a5 * (0x2 * ((uint64_t)x34 * x66))));
- uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x1a5 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x1a5 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((uint64_t)x25 * x37))))))))))) + (0x1a5 * (((uint64_t)x27 * x66) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((uint64_t)x34 * x59))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((uint64_t)x23 * x37)))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x25 * x66)) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + (0x2 * ((uint64_t)x34 * x57))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + (((uint64_t)x19 * x39) + ((uint64_t)x21 * x37))))))))) + (0x1a5 * (((uint64_t)x23 * x66) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + ((uint64_t)x34 * x55))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x21 * x66)) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + (0x2 * ((uint64_t)x34 * x53))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x1a5 * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x1a5 * ((0x2 * ((uint64_t)x17 * x66)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x1a5 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x1a5 * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x1a5 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x1a5 * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x1a5 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x17);
- uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x16);
- uint32_t x92 = ((uint32_t)x90 & 0x3fffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x17);
- uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x16);
- uint32_t x98 = ((uint32_t)x96 & 0x3fffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x17);
- uint32_t x101 = ((uint32_t)x99 & 0x7fffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x16);
- uint32_t x104 = ((uint32_t)x102 & 0x3fffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x17);
- uint32_t x107 = ((uint32_t)x105 & 0x7fffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x16);
- uint32_t x110 = ((uint32_t)x108 & 0x3fffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x17);
- uint32_t x113 = ((uint32_t)x111 & 0x7fffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x16);
- uint32_t x116 = ((uint32_t)x114 & 0x3fffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x17);
- uint32_t x119 = ((uint32_t)x117 & 0x7fffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x16);
- uint32_t x122 = ((uint32_t)x120 & 0x3fffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x17);
- uint32_t x125 = ((uint32_t)x123 & 0x7fffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x16);
- uint32_t x128 = ((uint32_t)x126 & 0x3fffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x17);
- uint32_t x131 = ((uint32_t)x129 & 0x7fffff);
- uint64_t x132 = (x130 + x68);
- uint32_t x133 = (uint32_t) (x132 >> 0x16);
- uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- uint64_t x135 = (x86 + ((uint64_t)0x1a5 * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x17);
- uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x17);
- uint32_t x140 = (x138 & 0x7fffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_17limbs/femulDisplay.v b/src/Specific/solinas32_2e383m421_17limbs/femulDisplay.v
deleted file mode 100644
index 120d2eb90..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fesquare.c b/src/Specific/solinas32_2e383m421_17limbs/fesquare.c
deleted file mode 100644
index 7ac3264ac..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1a5 * (0x2 * ((uint64_t)x31 * x31))));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x1a5 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1a5 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1a5 * (((uint64_t)x24 * x31) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((uint64_t)x31 * x24))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x22 * x31)) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + (0x2 * ((uint64_t)x31 * x22))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1a5 * (((uint64_t)x20 * x31) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x31 * x20))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x18 * x31)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (0x2 * ((uint64_t)x31 * x18))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1a5 * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1a5 * ((0x2 * ((uint64_t)x14 * x31)) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1a5 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1a5 * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1a5 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1a5 * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x16);
- { uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x16);
- { uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x17);
- { uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x16);
- { uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x16);
- { uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x16);
- { uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x33);
- { uint32_t x98 = (uint32_t) (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x51 + ((uint64_t)0x1a5 * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x17);
- { uint32_t x105 = (x103 & 0x7fffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fesquare.v b/src/Specific/solinas32_2e383m421_17limbs/fesquare.v
deleted file mode 100644
index fdbf9c93f..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.log
deleted file mode 100644
index 214531316..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1a5 * (0x2 * ((uint64_t)x31 * x31))));
- uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x1a5 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1a5 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1a5 * (((uint64_t)x24 * x31) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((uint64_t)x31 * x24))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x22 * x31)) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + (0x2 * ((uint64_t)x31 * x22))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1a5 * (((uint64_t)x20 * x31) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x31 * x20))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x18 * x31)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (0x2 * ((uint64_t)x31 * x18))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1a5 * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1a5 * ((0x2 * ((uint64_t)x14 * x31)) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1a5 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1a5 * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1a5 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1a5 * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x16);
- uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x16);
- uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x17);
- uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x16);
- uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x16);
- uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x16);
- uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x33);
- uint32_t x98 = (uint32_t) (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x51 + ((uint64_t)0x1a5 * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x17);
- uint32_t x105 = (x103 & 0x7fffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.v
deleted file mode 100644
index 49e1e6cee..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fesub.c b/src/Specific/solinas32_2e383m421_17limbs/fesub.c
deleted file mode 100644
index 24d30fe2b..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0xfffcb6 + x5) - x37);
- out[1] = ((0xfffffe + x7) - x39);
- out[2] = ((0x7ffffe + x9) - x41);
- out[3] = ((0xfffffe + x11) - x43);
- out[4] = ((0x7ffffe + x13) - x45);
- out[5] = ((0xfffffe + x15) - x47);
- out[6] = ((0x7ffffe + x17) - x49);
- out[7] = ((0xfffffe + x19) - x51);
- out[8] = ((0x7ffffe + x21) - x53);
- out[9] = ((0xfffffe + x23) - x55);
- out[10] = ((0x7ffffe + x25) - x57);
- out[11] = ((0xfffffe + x27) - x59);
- out[12] = ((0x7ffffe + x29) - x61);
- out[13] = ((0xfffffe + x31) - x63);
- out[14] = ((0x7ffffe + x33) - x65);
- out[15] = ((0xfffffe + x35) - x67);
- out[16] = ((0x7ffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fesub.v b/src/Specific/solinas32_2e383m421_17limbs/fesub.v
deleted file mode 100644
index c0fda0cb1..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.log
deleted file mode 100644
index ff346dae3..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x7ffffe + x34) - x66), ((0xfffffe + x35) - x67), ((0x7ffffe + x33) - x65), ((0xfffffe + x31) - x63), ((0x7ffffe + x29) - x61), ((0xfffffe + x27) - x59), ((0x7ffffe + x25) - x57), ((0xfffffe + x23) - x55), ((0x7ffffe + x21) - x53), ((0xfffffe + x19) - x51), ((0x7ffffe + x17) - x49), ((0xfffffe + x15) - x47), ((0x7ffffe + x13) - x45), ((0xfffffe + x11) - x43), ((0x7ffffe + x9) - x41), ((0xfffffe + x7) - x39), ((0xfffcb6 + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.v
deleted file mode 100644
index 6f34b3d00..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e383m421_17limbs/freeze.c b/src/Specific/solinas32_2e383m421_17limbs/freeze.c
deleted file mode 100644
index 144fb9181..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffe5b);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x3fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x7fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x3fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x7ffe5b);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0x7fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x3fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x7fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x3fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x7fffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x3fffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x7fffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x3fffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x7fffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x3fffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x7fffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x3fffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x7fffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x3fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0x7fffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x3fffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_17limbs/freeze.v b/src/Specific/solinas32_2e383m421_17limbs/freeze.v
deleted file mode 100644
index 07a8de009..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.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_2e383m421_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.log
deleted file mode 100644
index 34595a6f1..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffe5b);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x3fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x7fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x3fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x7ffe5b);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0x7fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x3fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x7fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x3fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x7fffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x3fffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x7fffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x3fffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x7fffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x3fffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x7fffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x3fffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x7fffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x3fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0x7fffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x3fffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.v
deleted file mode 100644
index 2cbce4a6c..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e383m421_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e383m421_17limbs/py_interpreter.sh
deleted file mode 100755
index 18e6c6dc4..000000000
--- a/src/Specific/solinas32_2e383m421_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 421' -Dmodulus_bytes='22 + 9/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e383m421_18limbs/CurveParameters.v b/src/Specific/solinas32_2e383m421_18limbs/CurveParameters.v
deleted file mode 100644
index 2a65aad5b..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 421
-Base: 21 + 5/18
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 21 + 5/18;
- bitwidth := 32;
- s := 2^383;
- c := [(1, 421)];
- carry_chains := Some [seq 0 (pred 18); [0; 1]]%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_2e383m421_18limbs/Synthesis.v b/src/Specific/solinas32_2e383m421_18limbs/Synthesis.v
deleted file mode 100644
index 5eb3ec3b1..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/compiler.sh b/src/Specific/solinas32_2e383m421_18limbs/compiler.sh
deleted file mode 100755
index 3d226e43b..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas32_2e383m421_18limbs/compilerxx.sh b/src/Specific/solinas32_2e383m421_18limbs/compilerxx.sh
deleted file mode 100755
index 8bb430ddb..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas32_2e383m421_18limbs/feadd.c b/src/Specific/solinas32_2e383m421_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_18limbs/feadd.v b/src/Specific/solinas32_2e383m421_18limbs/feadd.v
deleted file mode 100644
index 6a6b357dd..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.v
deleted file mode 100644
index dbd2b5dc6..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fecarry.v b/src/Specific/solinas32_2e383m421_18limbs/fecarry.v
deleted file mode 100644
index 4661800d1..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e383m421_18limbs/fecarryDisplay.v
deleted file mode 100644
index 50f2af366..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e383m421_18limbs/femul.c b/src/Specific/solinas32_2e383m421_18limbs/femul.c
deleted file mode 100644
index a53dd2381..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/femul.c
+++ /dev/null
@@ -1,134 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = (((uint64_t)x5 * x70) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((0x2 * ((uint64_t)x37 * x41)) + ((uint64_t)x36 * x39))))))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((0x2 * ((uint64_t)x35 * x41)) + ((uint64_t)x37 * x39))))))))))))))))) + (0x1a5 * ((uint64_t)x36 * x70)));
- { uint64_t x74 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + (((uint64_t)x33 * x41) + ((uint64_t)x35 * x39)))))))))))))))) + (0x1a5 * (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))));
- { uint64_t x75 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x33 * x39))))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x35 * x70)) + ((0x2 * ((uint64_t)x37 * x71)) + (0x2 * ((uint64_t)x36 * x69))))));
- { uint64_t x76 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((uint64_t)x31 * x39)))))))))))))) + (0x1a5 * (((uint64_t)x33 * x70) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + ((uint64_t)x36 * x67))))));
- { uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x1a5 * (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))));
- { uint64_t x78 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x27 * x39)))))))))))) + (0x1a5 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((uint64_t)x25 * x39))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x27 * x70)) + ((0x2 * ((uint64_t)x29 * x71)) + ((0x2 * ((uint64_t)x31 * x69)) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + ((0x2 * ((uint64_t)x37 * x63)) + (0x2 * ((uint64_t)x36 * x61))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x1a5 * (((uint64_t)x25 * x70) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + ((uint64_t)x36 * x59))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (0x1a5 * (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57)))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x21 * x70)) + ((0x2 * ((uint64_t)x23 * x71)) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((0x2 * ((uint64_t)x37 * x57)) + (0x2 * ((uint64_t)x36 * x55)))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x1a5 * (((uint64_t)x19 * x70) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((uint64_t)x36 * x53)))))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (0x1a5 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + ((0x2 * ((uint64_t)x21 * x69)) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x1a5 * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x1a5 * ((0x2 * ((uint64_t)x13 * x70)) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + (0x2 * ((uint64_t)x36 * x47)))))))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (0x1a5 * (((uint64_t)x11 * x70) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((uint64_t)x36 * x45)))))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x1a5 * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + ((0x2 * ((uint64_t)x13 * x69)) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- { uint64_t x89 = (((uint64_t)x5 * x39) + (0x1a5 * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- { uint64_t x90 = (x89 >> 0x16);
- { uint32_t x91 = ((uint32_t)x89 & 0x3fffff);
- { uint64_t x92 = (x90 + x88);
- { uint64_t x93 = (x92 >> 0x15);
- { uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- { uint64_t x95 = (x93 + x87);
- { uint64_t x96 = (x95 >> 0x15);
- { uint32_t x97 = ((uint32_t)x95 & 0x1fffff);
- { uint64_t x98 = (x96 + x86);
- { uint64_t x99 = (x98 >> 0x16);
- { uint32_t x100 = ((uint32_t)x98 & 0x3fffff);
- { uint64_t x101 = (x99 + x85);
- { uint64_t x102 = (x101 >> 0x15);
- { uint32_t x103 = ((uint32_t)x101 & 0x1fffff);
- { uint64_t x104 = (x102 + x84);
- { uint64_t x105 = (x104 >> 0x15);
- { uint32_t x106 = ((uint32_t)x104 & 0x1fffff);
- { uint64_t x107 = (x105 + x83);
- { uint64_t x108 = (x107 >> 0x15);
- { uint32_t x109 = ((uint32_t)x107 & 0x1fffff);
- { uint64_t x110 = (x108 + x82);
- { uint64_t x111 = (x110 >> 0x16);
- { uint32_t x112 = ((uint32_t)x110 & 0x3fffff);
- { uint64_t x113 = (x111 + x81);
- { uint64_t x114 = (x113 >> 0x15);
- { uint32_t x115 = ((uint32_t)x113 & 0x1fffff);
- { uint64_t x116 = (x114 + x80);
- { uint64_t x117 = (x116 >> 0x15);
- { uint32_t x118 = ((uint32_t)x116 & 0x1fffff);
- { uint64_t x119 = (x117 + x79);
- { uint64_t x120 = (x119 >> 0x16);
- { uint32_t x121 = ((uint32_t)x119 & 0x3fffff);
- { uint64_t x122 = (x120 + x78);
- { uint64_t x123 = (x122 >> 0x15);
- { uint32_t x124 = ((uint32_t)x122 & 0x1fffff);
- { uint64_t x125 = (x123 + x77);
- { uint64_t x126 = (x125 >> 0x15);
- { uint32_t x127 = ((uint32_t)x125 & 0x1fffff);
- { uint64_t x128 = (x126 + x76);
- { uint64_t x129 = (x128 >> 0x15);
- { uint32_t x130 = ((uint32_t)x128 & 0x1fffff);
- { uint64_t x131 = (x129 + x75);
- { uint64_t x132 = (x131 >> 0x16);
- { uint32_t x133 = ((uint32_t)x131 & 0x3fffff);
- { uint64_t x134 = (x132 + x74);
- { uint64_t x135 = (x134 >> 0x15);
- { uint32_t x136 = ((uint32_t)x134 & 0x1fffff);
- { uint64_t x137 = (x135 + x73);
- { uint64_t x138 = (x137 >> 0x15);
- { uint32_t x139 = ((uint32_t)x137 & 0x1fffff);
- { uint64_t x140 = (x138 + x72);
- { uint32_t x141 = (uint32_t) (x140 >> 0x15);
- { uint32_t x142 = ((uint32_t)x140 & 0x1fffff);
- { uint64_t x143 = (x91 + ((uint64_t)0x1a5 * x141));
- { uint32_t x144 = (uint32_t) (x143 >> 0x16);
- { uint32_t x145 = ((uint32_t)x143 & 0x3fffff);
- { uint32_t x146 = (x144 + x94);
- { uint32_t x147 = (x146 >> 0x15);
- { uint32_t x148 = (x146 & 0x1fffff);
- out[0] = x145;
- out[1] = x148;
- out[2] = (x147 + x97);
- out[3] = x100;
- out[4] = x103;
- out[5] = x106;
- out[6] = x109;
- out[7] = x112;
- out[8] = x115;
- out[9] = x118;
- out[10] = x121;
- out[11] = x124;
- out[12] = x127;
- out[13] = x130;
- out[14] = x133;
- out[15] = x136;
- out[16] = x139;
- out[17] = x142;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_18limbs/femul.v b/src/Specific/solinas32_2e383m421_18limbs/femul.v
deleted file mode 100644
index a94c96372..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/femulDisplay.log b/src/Specific/solinas32_2e383m421_18limbs/femulDisplay.log
deleted file mode 100644
index e34cb1c55..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = (((uint64_t)x5 * x70) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((0x2 * ((uint64_t)x37 * x41)) + ((uint64_t)x36 * x39))))))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((0x2 * ((uint64_t)x35 * x41)) + ((uint64_t)x37 * x39))))))))))))))))) + (0x1a5 * ((uint64_t)x36 * x70)));
- uint64_t x74 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + (((uint64_t)x33 * x41) + ((uint64_t)x35 * x39)))))))))))))))) + (0x1a5 * (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))));
- uint64_t x75 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x33 * x39))))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x35 * x70)) + ((0x2 * ((uint64_t)x37 * x71)) + (0x2 * ((uint64_t)x36 * x69))))));
- uint64_t x76 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((uint64_t)x31 * x39)))))))))))))) + (0x1a5 * (((uint64_t)x33 * x70) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + ((uint64_t)x36 * x67))))));
- uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x1a5 * (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))));
- uint64_t x78 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x27 * x39)))))))))))) + (0x1a5 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- uint64_t x79 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((uint64_t)x25 * x39))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x27 * x70)) + ((0x2 * ((uint64_t)x29 * x71)) + ((0x2 * ((uint64_t)x31 * x69)) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + ((0x2 * ((uint64_t)x37 * x63)) + (0x2 * ((uint64_t)x36 * x61))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x1a5 * (((uint64_t)x25 * x70) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + ((uint64_t)x36 * x59))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (0x1a5 * (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57)))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x21 * x70)) + ((0x2 * ((uint64_t)x23 * x71)) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((0x2 * ((uint64_t)x37 * x57)) + (0x2 * ((uint64_t)x36 * x55)))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x1a5 * (((uint64_t)x19 * x70) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((uint64_t)x36 * x53)))))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (0x1a5 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + ((0x2 * ((uint64_t)x21 * x69)) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x1a5 * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x1a5 * ((0x2 * ((uint64_t)x13 * x70)) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + (0x2 * ((uint64_t)x36 * x47)))))))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (0x1a5 * (((uint64_t)x11 * x70) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((uint64_t)x36 * x45)))))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x1a5 * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + ((0x2 * ((uint64_t)x13 * x69)) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- uint64_t x89 = (((uint64_t)x5 * x39) + (0x1a5 * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- uint64_t x90 = (x89 >> 0x16);
- uint32_t x91 = ((uint32_t)x89 & 0x3fffff);
- uint64_t x92 = (x90 + x88);
- uint64_t x93 = (x92 >> 0x15);
- uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- uint64_t x95 = (x93 + x87);
- uint64_t x96 = (x95 >> 0x15);
- uint32_t x97 = ((uint32_t)x95 & 0x1fffff);
- uint64_t x98 = (x96 + x86);
- uint64_t x99 = (x98 >> 0x16);
- uint32_t x100 = ((uint32_t)x98 & 0x3fffff);
- uint64_t x101 = (x99 + x85);
- uint64_t x102 = (x101 >> 0x15);
- uint32_t x103 = ((uint32_t)x101 & 0x1fffff);
- uint64_t x104 = (x102 + x84);
- uint64_t x105 = (x104 >> 0x15);
- uint32_t x106 = ((uint32_t)x104 & 0x1fffff);
- uint64_t x107 = (x105 + x83);
- uint64_t x108 = (x107 >> 0x15);
- uint32_t x109 = ((uint32_t)x107 & 0x1fffff);
- uint64_t x110 = (x108 + x82);
- uint64_t x111 = (x110 >> 0x16);
- uint32_t x112 = ((uint32_t)x110 & 0x3fffff);
- uint64_t x113 = (x111 + x81);
- uint64_t x114 = (x113 >> 0x15);
- uint32_t x115 = ((uint32_t)x113 & 0x1fffff);
- uint64_t x116 = (x114 + x80);
- uint64_t x117 = (x116 >> 0x15);
- uint32_t x118 = ((uint32_t)x116 & 0x1fffff);
- uint64_t x119 = (x117 + x79);
- uint64_t x120 = (x119 >> 0x16);
- uint32_t x121 = ((uint32_t)x119 & 0x3fffff);
- uint64_t x122 = (x120 + x78);
- uint64_t x123 = (x122 >> 0x15);
- uint32_t x124 = ((uint32_t)x122 & 0x1fffff);
- uint64_t x125 = (x123 + x77);
- uint64_t x126 = (x125 >> 0x15);
- uint32_t x127 = ((uint32_t)x125 & 0x1fffff);
- uint64_t x128 = (x126 + x76);
- uint64_t x129 = (x128 >> 0x15);
- uint32_t x130 = ((uint32_t)x128 & 0x1fffff);
- uint64_t x131 = (x129 + x75);
- uint64_t x132 = (x131 >> 0x16);
- uint32_t x133 = ((uint32_t)x131 & 0x3fffff);
- uint64_t x134 = (x132 + x74);
- uint64_t x135 = (x134 >> 0x15);
- uint32_t x136 = ((uint32_t)x134 & 0x1fffff);
- uint64_t x137 = (x135 + x73);
- uint64_t x138 = (x137 >> 0x15);
- uint32_t x139 = ((uint32_t)x137 & 0x1fffff);
- uint64_t x140 = (x138 + x72);
- uint32_t x141 = (uint32_t) (x140 >> 0x15);
- uint32_t x142 = ((uint32_t)x140 & 0x1fffff);
- uint64_t x143 = (x91 + ((uint64_t)0x1a5 * x141));
- uint32_t x144 = (uint32_t) (x143 >> 0x16);
- uint32_t x145 = ((uint32_t)x143 & 0x3fffff);
- uint32_t x146 = (x144 + x94);
- uint32_t x147 = (x146 >> 0x15);
- uint32_t x148 = (x146 & 0x1fffff);
- return (Return x142, Return x139, Return x136, Return x133, Return x130, Return x127, Return x124, Return x121, Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, (x147 + x97), Return x148, Return x145))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_18limbs/femulDisplay.v b/src/Specific/solinas32_2e383m421_18limbs/femulDisplay.v
deleted file mode 100644
index 9ffff6929..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fesquare.c b/src/Specific/solinas32_2e383m421_18limbs/fesquare.c
deleted file mode 100644
index faec5f26d..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesquare.c
+++ /dev/null
@@ -1,116 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)x2 * x33) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x33 * x2))))))))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1a5 * ((uint64_t)x33 * x33)));
- { uint64_t x37 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + ((0x2 * ((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) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1a5 * (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))));
- { uint64_t x38 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x32 * x33)) + ((0x2 * ((uint64_t)x34 * x34)) + (0x2 * ((uint64_t)x33 * x32))))));
- { uint64_t x39 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1a5 * (((uint64_t)x30 * x33) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((uint64_t)x33 * x30))))));
- { uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1a5 * (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))));
- { uint64_t x41 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1a5 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x24 * x33)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + (0x2 * ((uint64_t)x33 * x24))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1a5 * (((uint64_t)x22 * x33) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((uint64_t)x33 * x22))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1a5 * (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20)))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x18 * x33)) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + (0x2 * ((uint64_t)x33 * x18)))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1a5 * (((uint64_t)x16 * x33) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + ((uint64_t)x33 * x16)))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1a5 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + ((0x2 * ((uint64_t)x18 * x32)) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((0x2 * ((uint64_t)x32 * x18)) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1a5 * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1a5 * ((0x2 * ((uint64_t)x10 * x33)) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (0x2 * ((uint64_t)x33 * x10)))))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1a5 * (((uint64_t)x8 * x33) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + ((uint64_t)x33 * x8)))))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1a5 * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + ((0x2 * ((uint64_t)x10 * x32)) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((0x2 * ((uint64_t)x32 * x10)) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- { uint64_t x52 = (((uint64_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x53 + x51);
- { uint64_t x56 = (x55 >> 0x15);
- { uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- { uint64_t x58 = (x56 + x50);
- { uint64_t x59 = (x58 >> 0x15);
- { uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- { uint64_t x61 = (x59 + x49);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x48);
- { uint64_t x65 = (x64 >> 0x15);
- { uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- { uint64_t x67 = (x65 + x47);
- { uint64_t x68 = (x67 >> 0x15);
- { uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- { uint64_t x70 = (x68 + x46);
- { uint64_t x71 = (x70 >> 0x15);
- { uint32_t x72 = ((uint32_t)x70 & 0x1fffff);
- { uint64_t x73 = (x71 + x45);
- { uint64_t x74 = (x73 >> 0x16);
- { uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- { uint64_t x76 = (x74 + x44);
- { uint64_t x77 = (x76 >> 0x15);
- { uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- { uint64_t x79 = (x77 + x43);
- { uint64_t x80 = (x79 >> 0x15);
- { uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
- { uint64_t x82 = (x80 + x42);
- { uint64_t x83 = (x82 >> 0x16);
- { uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- { uint64_t x85 = (x83 + x41);
- { uint64_t x86 = (x85 >> 0x15);
- { uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- { uint64_t x88 = (x86 + x40);
- { uint64_t x89 = (x88 >> 0x15);
- { uint32_t x90 = ((uint32_t)x88 & 0x1fffff);
- { uint64_t x91 = (x89 + x39);
- { uint64_t x92 = (x91 >> 0x15);
- { uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- { uint64_t x94 = (x92 + x38);
- { uint64_t x95 = (x94 >> 0x16);
- { uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
- { uint64_t x97 = (x95 + x37);
- { uint64_t x98 = (x97 >> 0x15);
- { uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- { uint64_t x100 = (x98 + x36);
- { uint64_t x101 = (x100 >> 0x15);
- { uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- { uint64_t x103 = (x101 + x35);
- { uint32_t x104 = (uint32_t) (x103 >> 0x15);
- { uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- { uint64_t x106 = (x54 + ((uint64_t)0x1a5 * x104));
- { uint32_t x107 = (uint32_t) (x106 >> 0x16);
- { uint32_t x108 = ((uint32_t)x106 & 0x3fffff);
- { uint32_t x109 = (x107 + x57);
- { uint32_t x110 = (x109 >> 0x15);
- { uint32_t x111 = (x109 & 0x1fffff);
- out[0] = x108;
- out[1] = x111;
- out[2] = (x110 + x60);
- out[3] = x63;
- out[4] = x66;
- out[5] = x69;
- out[6] = x72;
- out[7] = x75;
- out[8] = x78;
- out[9] = x81;
- out[10] = x84;
- out[11] = x87;
- out[12] = x90;
- out[13] = x93;
- out[14] = x96;
- out[15] = x99;
- out[16] = x102;
- out[17] = x105;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fesquare.v b/src/Specific/solinas32_2e383m421_18limbs/fesquare.v
deleted file mode 100644
index 99303411b..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.log
deleted file mode 100644
index 613fa38f2..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)x2 * x33) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x33 * x2))))))))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1a5 * ((uint64_t)x33 * x33)));
- uint64_t x37 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + ((0x2 * ((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) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1a5 * (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))));
- uint64_t x38 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x32 * x33)) + ((0x2 * ((uint64_t)x34 * x34)) + (0x2 * ((uint64_t)x33 * x32))))));
- uint64_t x39 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1a5 * (((uint64_t)x30 * x33) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((uint64_t)x33 * x30))))));
- uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1a5 * (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))));
- uint64_t x41 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1a5 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- uint64_t x42 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1a5 * ((0x2 * ((uint64_t)x24 * x33)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + (0x2 * ((uint64_t)x33 * x24))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1a5 * (((uint64_t)x22 * x33) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((uint64_t)x33 * x22))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1a5 * (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20)))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1a5 * ((0x2 * ((uint64_t)x18 * x33)) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + (0x2 * ((uint64_t)x33 * x18)))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1a5 * (((uint64_t)x16 * x33) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + ((uint64_t)x33 * x16)))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1a5 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + ((0x2 * ((uint64_t)x18 * x32)) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((0x2 * ((uint64_t)x32 * x18)) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1a5 * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1a5 * ((0x2 * ((uint64_t)x10 * x33)) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (0x2 * ((uint64_t)x33 * x10)))))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1a5 * (((uint64_t)x8 * x33) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + ((uint64_t)x33 * x8)))))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1a5 * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + ((0x2 * ((uint64_t)x10 * x32)) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((0x2 * ((uint64_t)x32 * x10)) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- uint64_t x52 = (((uint64_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x53 + x51);
- uint64_t x56 = (x55 >> 0x15);
- uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- uint64_t x58 = (x56 + x50);
- uint64_t x59 = (x58 >> 0x15);
- uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- uint64_t x61 = (x59 + x49);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x48);
- uint64_t x65 = (x64 >> 0x15);
- uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- uint64_t x67 = (x65 + x47);
- uint64_t x68 = (x67 >> 0x15);
- uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- uint64_t x70 = (x68 + x46);
- uint64_t x71 = (x70 >> 0x15);
- uint32_t x72 = ((uint32_t)x70 & 0x1fffff);
- uint64_t x73 = (x71 + x45);
- uint64_t x74 = (x73 >> 0x16);
- uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- uint64_t x76 = (x74 + x44);
- uint64_t x77 = (x76 >> 0x15);
- uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- uint64_t x79 = (x77 + x43);
- uint64_t x80 = (x79 >> 0x15);
- uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
- uint64_t x82 = (x80 + x42);
- uint64_t x83 = (x82 >> 0x16);
- uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- uint64_t x85 = (x83 + x41);
- uint64_t x86 = (x85 >> 0x15);
- uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x15);
- uint32_t x90 = ((uint32_t)x88 & 0x1fffff);
- uint64_t x91 = (x89 + x39);
- uint64_t x92 = (x91 >> 0x15);
- uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- uint64_t x94 = (x92 + x38);
- uint64_t x95 = (x94 >> 0x16);
- uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
- uint64_t x97 = (x95 + x37);
- uint64_t x98 = (x97 >> 0x15);
- uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- uint64_t x100 = (x98 + x36);
- uint64_t x101 = (x100 >> 0x15);
- uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- uint64_t x103 = (x101 + x35);
- uint32_t x104 = (uint32_t) (x103 >> 0x15);
- uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- uint64_t x106 = (x54 + ((uint64_t)0x1a5 * x104));
- uint32_t x107 = (uint32_t) (x106 >> 0x16);
- uint32_t x108 = ((uint32_t)x106 & 0x3fffff);
- uint32_t x109 = (x107 + x57);
- uint32_t x110 = (x109 >> 0x15);
- uint32_t x111 = (x109 & 0x1fffff);
- return (Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, (x110 + x60), Return x111, Return x108))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.v
deleted file mode 100644
index a2b758752..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fesub.c b/src/Specific/solinas32_2e383m421_18limbs/fesub.c
deleted file mode 100644
index 211321bfe..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x7ffcb6 + x5) - x39);
- out[1] = ((0x3ffffe + x7) - x41);
- out[2] = ((0x3ffffe + x9) - x43);
- out[3] = ((0x7ffffe + x11) - x45);
- out[4] = ((0x3ffffe + x13) - x47);
- out[5] = ((0x3ffffe + x15) - x49);
- out[6] = ((0x3ffffe + x17) - x51);
- out[7] = ((0x7ffffe + x19) - x53);
- out[8] = ((0x3ffffe + x21) - x55);
- out[9] = ((0x3ffffe + x23) - x57);
- out[10] = ((0x7ffffe + x25) - x59);
- out[11] = ((0x3ffffe + x27) - x61);
- out[12] = ((0x3ffffe + x29) - x63);
- out[13] = ((0x3ffffe + x31) - x65);
- out[14] = ((0x7ffffe + x33) - x67);
- out[15] = ((0x3ffffe + x35) - x69);
- out[16] = ((0x3ffffe + x37) - x71);
- out[17] = ((0x3ffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fesub.v b/src/Specific/solinas32_2e383m421_18limbs/fesub.v
deleted file mode 100644
index f5253b09a..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.log
deleted file mode 100644
index a315c2c2a..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x3ffffe + x36) - x70), ((0x3ffffe + x37) - x71), ((0x3ffffe + x35) - x69), ((0x7ffffe + x33) - x67), ((0x3ffffe + x31) - x65), ((0x3ffffe + x29) - x63), ((0x3ffffe + x27) - x61), ((0x7ffffe + x25) - x59), ((0x3ffffe + x23) - x57), ((0x3ffffe + x21) - x55), ((0x7ffffe + x19) - x53), ((0x3ffffe + x17) - x51), ((0x3ffffe + x15) - x49), ((0x3ffffe + x13) - x47), ((0x7ffffe + x11) - x45), ((0x3ffffe + x9) - x43), ((0x3ffffe + x7) - x41), ((0x7ffcb6 + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.v
deleted file mode 100644
index 509fbacf7..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e383m421_18limbs/freeze.c b/src/Specific/solinas32_2e383m421_18limbs/freeze.c
deleted file mode 100644
index 967de9472..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffe5b);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x3fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x3fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x3fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x3fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1fffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1fffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x3ffe5b);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x1fffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x1fffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x3fffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x1fffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x1fffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x1fffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x3fffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x1fffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x1fffff);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x3fffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x1fffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x1fffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x1fffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x3fffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x1fffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x1fffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x1fffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e383m421_18limbs/freeze.v b/src/Specific/solinas32_2e383m421_18limbs/freeze.v
deleted file mode 100644
index 769684a2f..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.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_2e383m421_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.log
deleted file mode 100644
index 2a6e4c9ac..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffe5b);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x3fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x3fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x3fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x3fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1fffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1fffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x3ffe5b);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x1fffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x1fffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x3fffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x1fffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x1fffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x1fffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x3fffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x1fffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x1fffff);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x3fffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x1fffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x1fffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x1fffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x3fffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x1fffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x1fffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x1fffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.v
deleted file mode 100644
index 474501554..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e383m421_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e383m421_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e383m421_18limbs/py_interpreter.sh
deleted file mode 100755
index 52fd98954..000000000
--- a/src/Specific/solinas32_2e383m421_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 421' -Dmodulus_bytes='21 + 5/18' -Da24='121665'
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/CurveParameters.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/CurveParameters.v
deleted file mode 100644
index a5920a711..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 2^128 - 2^96 + 2^32 - 1
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 1); (2^32, -1); (2^96, 1); (2^128, 1)];
- carry_chains := Some [[5; 3; 0; 17]; [6; 4; 1; 0; 7; 5; 2; 8; 3; 9; 10; 11; 12; 13; 14; 15; 16; 17]; [6; 4; 1; 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_2e384m2e128m2e96p2e32m1_18limbs/Synthesis.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/Synthesis.v
deleted file mode 100644
index c5d401336..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/compiler.sh b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/compiler.sh
deleted file mode 100755
index 51a34fb80..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/compilerxx.sh b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/compilerxx.sh
deleted file mode 100755
index f93452a1f..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.c b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.v
deleted file mode 100644
index 211b35ec9..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.v
deleted file mode 100644
index e19b19bab..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarry.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarry.v
deleted file mode 100644
index 09daf0cb0..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarryDisplay.v
deleted file mode 100644
index 94b8c0e1a..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femul.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femul.v
deleted file mode 100644
index f4777f821..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/femulDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femulDisplay.v
deleted file mode 100644
index e52f4f588..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquare.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquare.v
deleted file mode 100644
index 9367c97ce..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquareDisplay.v
deleted file mode 100644
index bc686257a..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesub.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesub.v
deleted file mode 100644
index c2a25ec8c..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesubDisplay.v
deleted file mode 100644
index 0419894dc..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.c b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.c
deleted file mode 100644
index bb169a01d..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.c
+++ /dev/null
@@ -1,92 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- { uint32_t x39, ℤ x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) Syntax.TZ) (Return x37, Return x4, 0x3ff);
- { uint32_t x42, ℤ x43 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x40, Return x6, 0x0);
- { uint32_t x45, ℤ x46 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x43, Return x8, 0x0);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffc00);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x3ffffe);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x3fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x3fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1fffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1fffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x3fffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x3ff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, 0x0);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x45, 0x0);
- { uint32_t x104 = (x89 & 0x1ffc00);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x48, Return x104);
- { uint32_t x108 = (x89 & 0x1fffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x51, Return x108);
- { uint32_t x112 = (x89 & 0x3ffffe);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x54, Return x112);
- { uint32_t x116 = (x89 & 0x1fffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x57, Return x116);
- { uint32_t x120 = (x89 & 0x1fffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x60, Return x120);
- { uint32_t x124 = (x89 & 0x3fffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x63, Return x124);
- { uint32_t x128 = (x89 & 0x1fffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x66, Return x128);
- { uint32_t x132 = (x89 & 0x1fffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x69, Return x132);
- { uint32_t x136 = (x89 & 0x3fffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x72, Return x136);
- { uint32_t x140 = (x89 & 0x1fffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x75, Return x140);
- { uint32_t x144 = (x89 & 0x1fffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x78, Return x144);
- { uint32_t x148 = (x89 & 0x3fffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x81, Return x148);
- { uint32_t x152 = (x89 & 0x1fffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x84, Return x152);
- { uint32_t x156 = (x89 & 0x1fffff);
- { uint32_t x158, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x87, Return x156);
- out[0] = x92;
- out[1] = x96;
- out[2] = x99;
- out[3] = x102;
- out[4] = x106;
- out[5] = x110;
- out[6] = x114;
- out[7] = x118;
- out[8] = x122;
- out[9] = x126;
- out[10] = x130;
- out[11] = x134;
- out[12] = x138;
- out[13] = x142;
- out[14] = x146;
- out[15] = x150;
- out[16] = x154;
- out[17] = x158;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.v
deleted file mode 100644
index e6078afab..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.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_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.log
deleted file mode 100644
index 3850155ff..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,60 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
- uint32_t x39, ℤ x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) Syntax.TZ) (Return x37, Return x4, 0x3ff);
- uint32_t x42, ℤ x43 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x40, Return x6, 0x0);
- uint32_t x45, ℤ x46 = Op (Syntax.SubWithGetBorrow 22 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x43, Return x8, 0x0);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffc00);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x3ffffe);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x3fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x3fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1fffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1fffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x3fffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x3ff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, 0x0);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x45, 0x0);
- uint32_t x104 = (x89 & 0x1ffc00);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x48, Return x104);
- uint32_t x108 = (x89 & 0x1fffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x51, Return x108);
- uint32_t x112 = (x89 & 0x3ffffe);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x54, Return x112);
- uint32_t x116 = (x89 & 0x1fffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x57, Return x116);
- uint32_t x120 = (x89 & 0x1fffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x60, Return x120);
- uint32_t x124 = (x89 & 0x3fffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x63, Return x124);
- uint32_t x128 = (x89 & 0x1fffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x66, Return x128);
- uint32_t x132 = (x89 & 0x1fffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x69, Return x132);
- uint32_t x136 = (x89 & 0x3fffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x72, Return x136);
- uint32_t x140 = (x89 & 0x1fffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x75, Return x140);
- uint32_t x144 = (x89 & 0x1fffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x78, Return x144);
- uint32_t x148 = (x89 & 0x3fffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x81, Return x148);
- uint32_t x152 = (x89 & 0x1fffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x84, Return x152);
- uint32_t x156 = (x89 & 0x1fffff);
- uint32_t x158, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x87, Return x156);
- (Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102, Return x99, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.v
deleted file mode 100644
index 77f7a5e4a..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/py_interpreter.sh
deleted file mode 100755
index 6b43ad63a..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 2**128 - 2**96 + 2**32 - 1' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/CurveParameters.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/CurveParameters.v
deleted file mode 100644
index a276b0327..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 2^128 - 2^96 + 2^32 - 1
-Base: 20 + 4/19
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 19%nat;
- base := 20 + 4/19;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 1); (2^32, -1); (2^96, 1); (2^128, 1)];
- carry_chains := Some [[5; 3; 0; 18]; [6; 4; 1; 0; 7; 5; 2; 8; 3; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18]; [6; 4; 1; 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_2e384m2e128m2e96p2e32m1_19limbs/Synthesis.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/Synthesis.v
deleted file mode 100644
index 363ee5d11..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/compiler.sh b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/compiler.sh
deleted file mode 100755
index c95e51fb0..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,21,20,20,20,20,21,20,20,20,20,21,20,20,20,20}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/compilerxx.sh b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/compilerxx.sh
deleted file mode 100755
index bbf9ee434..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,20,20,21,20,20,20,20,21,20,20,20,20,21,20,20,20,20}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.c b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.c
deleted file mode 100644
index 7432e2ef1..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void feadd(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = (x5 + x41);
- out[1] = (x7 + x43);
- out[2] = (x9 + x45);
- out[3] = (x11 + x47);
- out[4] = (x13 + x49);
- out[5] = (x15 + x51);
- out[6] = (x17 + x53);
- out[7] = (x19 + x55);
- out[8] = (x21 + x57);
- out[9] = (x23 + x59);
- out[10] = (x25 + x61);
- out[11] = (x27 + x63);
- out[12] = (x29 + x65);
- out[13] = (x31 + x67);
- out[14] = (x33 + x69);
- out[15] = (x35 + x71);
- out[16] = (x37 + x73);
- out[17] = (x39 + x75);
- out[18] = (x38 + x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.v
deleted file mode 100644
index 1236f2714..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.log b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.log
deleted file mode 100644
index 76a71b356..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- ((x38 + x74), (x39 + x75), (x37 + x73), (x35 + x71), (x33 + x69), (x31 + x67), (x29 + x65), (x27 + x63), (x25 + x61), (x23 + x59), (x21 + x57), (x19 + x55), (x17 + x53), (x15 + x51), (x13 + x49), (x11 + x47), (x9 + x45), (x7 + x43), (x5 + x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.v
deleted file mode 100644
index f67a02b84..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarry.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarry.v
deleted file mode 100644
index 5ff97eb38..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/fecarryDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarryDisplay.v
deleted file mode 100644
index aa9b736e1..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femul.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femul.v
deleted file mode 100644
index af62e15b1..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/femulDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femulDisplay.v
deleted file mode 100644
index 1341e8381..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquare.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquare.v
deleted file mode 100644
index 6c7ca80a1..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/fesquareDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquareDisplay.v
deleted file mode 100644
index be1c183ec..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesub.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesub.v
deleted file mode 100644
index b2ee140c6..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/fesubDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesubDisplay.v
deleted file mode 100644
index d67ae4880..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.c b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.c
deleted file mode 100644
index 18b0039e4..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.c
+++ /dev/null
@@ -1,97 +0,0 @@
-static void freeze(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff);
- { uint32_t x41, ℤ x42 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) Syntax.TZ) (Return x39, Return x4, 0x7ff);
- { uint32_t x44, ℤ x45 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x42, Return x6, 0x0);
- { uint32_t x47, ℤ x48 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x45, Return x8, 0x0);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x1f8000);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0xfffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0xfffbf);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0xfffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0xfffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x1fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0xfffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0xfffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0xfffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0xfffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x1fffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0xfffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0xfffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0xfffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0xfffff);
- { uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- { uint32_t x95 = (x94 & 0x1fffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- { uint32_t x99 = (x94 & 0x7ff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, 0x0);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x47, 0x0);
- { uint32_t x109 = (x94 & 0x1f8000);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x50, Return x109);
- { uint32_t x113 = (x94 & 0xfffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x53, Return x113);
- { uint32_t x117 = (x94 & 0xfffbf);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x56, Return x117);
- { uint32_t x121 = (x94 & 0xfffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x59, Return x121);
- { uint32_t x125 = (x94 & 0xfffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x62, Return x125);
- { uint32_t x129 = (x94 & 0x1fffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x65, Return x129);
- { uint32_t x133 = (x94 & 0xfffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x68, Return x133);
- { uint32_t x137 = (x94 & 0xfffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x71, Return x137);
- { uint32_t x141 = (x94 & 0xfffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x74, Return x141);
- { uint32_t x145 = (x94 & 0xfffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x77, Return x145);
- { uint32_t x149 = (x94 & 0x1fffff);
- { uint32_t x151, uint8_t x152 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x80, Return x149);
- { uint32_t x153 = (x94 & 0xfffff);
- { uint32_t x155, uint8_t x156 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x152, Return x83, Return x153);
- { uint32_t x157 = (x94 & 0xfffff);
- { uint32_t x159, uint8_t x160 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x156, Return x86, Return x157);
- { uint32_t x161 = (x94 & 0xfffff);
- { uint32_t x163, uint8_t x164 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x160, Return x89, Return x161);
- { uint32_t x165 = (x94 & 0xfffff);
- { uint32_t x167, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x164, Return x92, Return x165);
- out[0] = x97;
- out[1] = x101;
- out[2] = x104;
- out[3] = x107;
- out[4] = x111;
- out[5] = x115;
- out[6] = x119;
- out[7] = x123;
- out[8] = x127;
- out[9] = x131;
- out[10] = x135;
- out[11] = x139;
- out[12] = x143;
- out[13] = x147;
- out[14] = x151;
- out[15] = x155;
- out[16] = x159;
- out[17] = x163;
- out[18] = x167;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.v
deleted file mode 100644
index 70a8f4fcc..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.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_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.log b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.log
deleted file mode 100644
index b6f00e6ed..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.log
+++ /dev/null
@@ -1,63 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff);
- uint32_t x41, ℤ x42 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) Syntax.TZ) (Return x39, Return x4, 0x7ff);
- uint32_t x44, ℤ x45 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x42, Return x6, 0x0);
- uint32_t x47, ℤ x48 = Op (Syntax.SubWithGetBorrow 20 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) Syntax.TZ) (Return x45, Return x8, 0x0);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x1f8000);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0xfffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0xfffbf);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0xfffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0xfffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x1fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0xfffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0xfffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0xfffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0xfffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x1fffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0xfffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0xfffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0xfffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0xfffff);
- uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- uint32_t x95 = (x94 & 0x1fffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- uint32_t x99 = (x94 & 0x7ff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, 0x0);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x47, 0x0);
- uint32_t x109 = (x94 & 0x1f8000);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x50, Return x109);
- uint32_t x113 = (x94 & 0xfffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x53, Return x113);
- uint32_t x117 = (x94 & 0xfffbf);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x56, Return x117);
- uint32_t x121 = (x94 & 0xfffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x59, Return x121);
- uint32_t x125 = (x94 & 0xfffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x62, Return x125);
- uint32_t x129 = (x94 & 0x1fffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x65, Return x129);
- uint32_t x133 = (x94 & 0xfffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x68, Return x133);
- uint32_t x137 = (x94 & 0xfffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x71, Return x137);
- uint32_t x141 = (x94 & 0xfffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x74, Return x141);
- uint32_t x145 = (x94 & 0xfffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x77, Return x145);
- uint32_t x149 = (x94 & 0x1fffff);
- uint32_t x151, uint8_t x152 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x80, Return x149);
- uint32_t x153 = (x94 & 0xfffff);
- uint32_t x155, uint8_t x156 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x152, Return x83, Return x153);
- uint32_t x157 = (x94 & 0xfffff);
- uint32_t x159, uint8_t x160 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x156, Return x86, Return x157);
- uint32_t x161 = (x94 & 0xfffff);
- uint32_t x163, uint8_t x164 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x160, Return x89, Return x161);
- uint32_t x165 = (x94 & 0xfffff);
- uint32_t x167, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x164, Return x92, Return x165);
- (Return x167, Return x163, Return x159, Return x155, Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x104, Return x101, Return x97))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.v b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.v
deleted file mode 100644
index 31d59dc57..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_19limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/py_interpreter.sh b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/py_interpreter.sh
deleted file mode 100755
index e98eb1b23..000000000
--- a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1_19limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 2**128 - 2**96 + 2**32 - 1' -Dmodulus_bytes='20 + 4/19' -Da24='121665'
diff --git a/src/Specific/solinas32_2e384m317_17limbs/CurveParameters.v b/src/Specific/solinas32_2e384m317_17limbs/CurveParameters.v
deleted file mode 100644
index d5b3b57de..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 317
-Base: 22 + 10/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 22 + 10/17;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 317)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e384m317_17limbs/Synthesis.v b/src/Specific/solinas32_2e384m317_17limbs/Synthesis.v
deleted file mode 100644
index 0f9144ea3..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/compiler.sh b/src/Specific/solinas32_2e384m317_17limbs/compiler.sh
deleted file mode 100755
index eefe43eda..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22,23,23,22,23,22,23,22}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas32_2e384m317_17limbs/compilerxx.sh b/src/Specific/solinas32_2e384m317_17limbs/compilerxx.sh
deleted file mode 100755
index 2f8a378cb..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,23,22,23,22,23,23,22,23,22,23,23,22,23,22,23,22}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas32_2e384m317_17limbs/feadd.c b/src/Specific/solinas32_2e384m317_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_17limbs/feadd.v b/src/Specific/solinas32_2e384m317_17limbs/feadd.v
deleted file mode 100644
index 8cddc007c..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.v
deleted file mode 100644
index f43b5730a..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fecarry.v b/src/Specific/solinas32_2e384m317_17limbs/fecarry.v
deleted file mode 100644
index 494887008..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e384m317_17limbs/fecarryDisplay.v
deleted file mode 100644
index f51272464..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e384m317_17limbs/femul.c b/src/Specific/solinas32_2e384m317_17limbs/femul.c
deleted file mode 100644
index 456a5ced2..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x13d * (0x2 * ((uint64_t)x34 * x66))));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x13d * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- { uint64_t x72 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x13d * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x13d * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x13d * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x13d * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x13d * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x13d * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x13d * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x13d * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x13d * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x13d * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x13d * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x13d * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x13d * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x17);
- { uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x17);
- { uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x16);
- { uint32_t x92 = ((uint32_t)x90 & 0x3fffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x17);
- { uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x16);
- { uint32_t x98 = ((uint32_t)x96 & 0x3fffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x17);
- { uint32_t x101 = ((uint32_t)x99 & 0x7fffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x17);
- { uint32_t x104 = ((uint32_t)x102 & 0x7fffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x16);
- { uint32_t x107 = ((uint32_t)x105 & 0x3fffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x17);
- { uint32_t x110 = ((uint32_t)x108 & 0x7fffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x16);
- { uint32_t x113 = ((uint32_t)x111 & 0x3fffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x17);
- { uint32_t x116 = ((uint32_t)x114 & 0x7fffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x17);
- { uint32_t x119 = ((uint32_t)x117 & 0x7fffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x16);
- { uint32_t x122 = ((uint32_t)x120 & 0x3fffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x17);
- { uint32_t x125 = ((uint32_t)x123 & 0x7fffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x16);
- { uint32_t x128 = ((uint32_t)x126 & 0x3fffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x17);
- { uint32_t x131 = ((uint32_t)x129 & 0x7fffff);
- { uint64_t x132 = (x130 + x68);
- { uint32_t x133 = (uint32_t) (x132 >> 0x16);
- { uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- { uint64_t x135 = (x86 + ((uint64_t)0x13d * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x17);
- { uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x17);
- { uint32_t x140 = (x138 & 0x7fffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_17limbs/femul.v b/src/Specific/solinas32_2e384m317_17limbs/femul.v
deleted file mode 100644
index e1f06f67f..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/femulDisplay.log b/src/Specific/solinas32_2e384m317_17limbs/femulDisplay.log
deleted file mode 100644
index 3da863e0f..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x13d * (0x2 * ((uint64_t)x34 * x66))));
- uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x13d * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- uint64_t x72 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x13d * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x13d * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x13d * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x13d * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x13d * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x13d * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x13d * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x13d * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x13d * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x13d * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x13d * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x13d * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x13d * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x17);
- uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x17);
- uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x16);
- uint32_t x92 = ((uint32_t)x90 & 0x3fffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x17);
- uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x16);
- uint32_t x98 = ((uint32_t)x96 & 0x3fffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x17);
- uint32_t x101 = ((uint32_t)x99 & 0x7fffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x17);
- uint32_t x104 = ((uint32_t)x102 & 0x7fffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x16);
- uint32_t x107 = ((uint32_t)x105 & 0x3fffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x17);
- uint32_t x110 = ((uint32_t)x108 & 0x7fffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x16);
- uint32_t x113 = ((uint32_t)x111 & 0x3fffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x17);
- uint32_t x116 = ((uint32_t)x114 & 0x7fffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x17);
- uint32_t x119 = ((uint32_t)x117 & 0x7fffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x16);
- uint32_t x122 = ((uint32_t)x120 & 0x3fffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x17);
- uint32_t x125 = ((uint32_t)x123 & 0x7fffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x16);
- uint32_t x128 = ((uint32_t)x126 & 0x3fffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x17);
- uint32_t x131 = ((uint32_t)x129 & 0x7fffff);
- uint64_t x132 = (x130 + x68);
- uint32_t x133 = (uint32_t) (x132 >> 0x16);
- uint32_t x134 = ((uint32_t)x132 & 0x3fffff);
- uint64_t x135 = (x86 + ((uint64_t)0x13d * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x17);
- uint32_t x137 = ((uint32_t)x135 & 0x7fffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x17);
- uint32_t x140 = (x138 & 0x7fffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_17limbs/femulDisplay.v b/src/Specific/solinas32_2e384m317_17limbs/femulDisplay.v
deleted file mode 100644
index 4368cf1b0..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fesquare.c b/src/Specific/solinas32_2e384m317_17limbs/fesquare.c
deleted file mode 100644
index 0bf42c666..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x13d * (0x2 * ((uint64_t)x31 * x31))));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x13d * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x13d * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x13d * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13d * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13d * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13d * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- { uint64_t x42 = ((((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)))))))) + (0x13d * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13d * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13d * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13d * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13d * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13d * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13d * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x13d * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x17);
- { uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x17);
- { uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x16);
- { uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x17);
- { uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x17);
- { uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x16);
- { uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x16);
- { uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x33);
- { uint32_t x98 = (uint32_t) (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x51 + ((uint64_t)0x13d * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x17);
- { uint32_t x105 = (x103 & 0x7fffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fesquare.v b/src/Specific/solinas32_2e384m317_17limbs/fesquare.v
deleted file mode 100644
index a88f26416..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.log
deleted file mode 100644
index 79331e699..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x13d * (0x2 * ((uint64_t)x31 * x31))));
- uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x13d * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x13d * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x13d * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13d * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13d * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13d * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- uint64_t x42 = ((((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)))))))) + (0x13d * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x13d * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13d * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13d * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13d * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x13d * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13d * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x13d * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x17);
- uint32_t x51 = ((uint32_t)x49 & 0x7fffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x17);
- uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x16);
- uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x17);
- uint32_t x60 = ((uint32_t)x58 & 0x7fffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x17);
- uint32_t x66 = ((uint32_t)x64 & 0x7fffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x16);
- uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x16);
- uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x33);
- uint32_t x98 = (uint32_t) (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x51 + ((uint64_t)0x13d * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x17);
- uint32_t x105 = (x103 & 0x7fffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.v
deleted file mode 100644
index 476a93edd..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fesub.c b/src/Specific/solinas32_2e384m317_17limbs/fesub.c
deleted file mode 100644
index 4c4390597..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0xfffd86 + x5) - x37);
- out[1] = ((0xfffffe + x7) - x39);
- out[2] = ((0x7ffffe + x9) - x41);
- out[3] = ((0xfffffe + x11) - x43);
- out[4] = ((0x7ffffe + x13) - x45);
- out[5] = ((0xfffffe + x15) - x47);
- out[6] = ((0xfffffe + x17) - x49);
- out[7] = ((0x7ffffe + x19) - x51);
- out[8] = ((0xfffffe + x21) - x53);
- out[9] = ((0x7ffffe + x23) - x55);
- out[10] = ((0xfffffe + x25) - x57);
- out[11] = ((0xfffffe + x27) - x59);
- out[12] = ((0x7ffffe + x29) - x61);
- out[13] = ((0xfffffe + x31) - x63);
- out[14] = ((0x7ffffe + x33) - x65);
- out[15] = ((0xfffffe + x35) - x67);
- out[16] = ((0x7ffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fesub.v b/src/Specific/solinas32_2e384m317_17limbs/fesub.v
deleted file mode 100644
index 6edb5ebcb..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.log
deleted file mode 100644
index 978eda426..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x7ffffe + x34) - x66), ((0xfffffe + x35) - x67), ((0x7ffffe + x33) - x65), ((0xfffffe + x31) - x63), ((0x7ffffe + x29) - x61), ((0xfffffe + x27) - x59), ((0xfffffe + x25) - x57), ((0x7ffffe + x23) - x55), ((0xfffffe + x21) - x53), ((0x7ffffe + x19) - x51), ((0xfffffe + x17) - x49), ((0xfffffe + x15) - x47), ((0x7ffffe + x13) - x45), ((0xfffffe + x11) - x43), ((0x7ffffe + x9) - x41), ((0xfffffe + x7) - x39), ((0xfffd86 + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.v
deleted file mode 100644
index 0f0276213..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e384m317_17limbs/freeze.c b/src/Specific/solinas32_2e384m317_17limbs/freeze.c
deleted file mode 100644
index 5474ab624..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffec3);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7fffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x7fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x7ffec3);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0x7fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x3fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x7fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x3fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x7fffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x7fffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x3fffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x7fffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x3fffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x7fffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x7fffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x3fffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x7fffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x3fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0x7fffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x3fffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_17limbs/freeze.v b/src/Specific/solinas32_2e384m317_17limbs/freeze.v
deleted file mode 100644
index 787850fed..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.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_2e384m317_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.log
deleted file mode 100644
index acae41bef..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffec3);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7fffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x7fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3fffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x7ffec3);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0x7fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x3fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x7fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x3fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x7fffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x7fffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x3fffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x7fffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x3fffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x7fffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x7fffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x3fffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x7fffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x3fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0x7fffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x3fffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.v
deleted file mode 100644
index 051558a8a..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e384m317_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e384m317_17limbs/py_interpreter.sh
deleted file mode 100755
index 0a1cdc9b6..000000000
--- a/src/Specific/solinas32_2e384m317_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 317' -Dmodulus_bytes='22 + 10/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e384m317_18limbs/CurveParameters.v b/src/Specific/solinas32_2e384m317_18limbs/CurveParameters.v
deleted file mode 100644
index 303f38aa6..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 317
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^384;
- c := [(1, 317)];
- carry_chains := Some [seq 0 (pred 18); [0; 1]]%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_2e384m317_18limbs/Synthesis.v b/src/Specific/solinas32_2e384m317_18limbs/Synthesis.v
deleted file mode 100644
index 461597e9e..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/compiler.sh b/src/Specific/solinas32_2e384m317_18limbs/compiler.sh
deleted file mode 100755
index 432c5ab1a..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas32_2e384m317_18limbs/compilerxx.sh b/src/Specific/solinas32_2e384m317_18limbs/compilerxx.sh
deleted file mode 100755
index 99f30ba7b..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas32_2e384m317_18limbs/feadd.c b/src/Specific/solinas32_2e384m317_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_18limbs/feadd.v b/src/Specific/solinas32_2e384m317_18limbs/feadd.v
deleted file mode 100644
index 8fff05f5d..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.v
deleted file mode 100644
index 6131661cf..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fecarry.v b/src/Specific/solinas32_2e384m317_18limbs/fecarry.v
deleted file mode 100644
index a8f532342..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e384m317_18limbs/fecarryDisplay.v
deleted file mode 100644
index b9b75f953..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e384m317_18limbs/femul.c b/src/Specific/solinas32_2e384m317_18limbs/femul.c
deleted file mode 100644
index 29a29e7f6..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/femul.c
+++ /dev/null
@@ -1,134 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = (((uint64_t)x5 * x70) + ((0x2 * ((uint64_t)x7 * x71)) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + ((0x2 * ((uint64_t)x37 * x41)) + ((uint64_t)x36 * x39))))))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + (((uint64_t)x35 * x41) + ((uint64_t)x37 * x39))))))))))))))))) + (0x13d * ((uint64_t)x36 * x70)));
- { uint64_t x74 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((uint64_t)x35 * x39)))))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))));
- { uint64_t x75 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x33 * x39))))))))))))))) + (0x13d * (((uint64_t)x35 * x70) + ((0x2 * ((uint64_t)x37 * x71)) + ((uint64_t)x36 * x69)))));
- { uint64_t x76 = ((((uint64_t)x5 * x65) + (((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)))))))))))))) + (0x13d * (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))));
- { uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x27 * x39)))))))))))) + (0x13d * (((uint64_t)x29 * x70) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + ((0x2 * ((uint64_t)x37 * x65)) + ((uint64_t)x36 * x63))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x13d * (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x13d * ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))) + (0x13d * (((uint64_t)x23 * x70) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((0x2 * ((uint64_t)x37 * x59)) + ((uint64_t)x36 * x57)))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (0x13d * (((uint64_t)x21 * x70) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + ((uint64_t)x36 * x55))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x13d * ((0x2 * ((uint64_t)x19 * x70)) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((0x2 * ((uint64_t)x37 * x55)) + (0x2 * ((uint64_t)x36 * x53))))))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (0x13d * (((uint64_t)x17 * x70) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((0x2 * ((uint64_t)x37 * x53)) + ((uint64_t)x36 * x51))))))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x13d * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x13d * ((0x2 * ((uint64_t)x13 * x70)) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (0x2 * ((uint64_t)x36 * x47)))))))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (0x13d * (((uint64_t)x11 * x70) + ((0x2 * ((uint64_t)x13 * x71)) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + ((0x2 * ((uint64_t)x25 * x59)) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + ((0x2 * ((uint64_t)x31 * x53)) + (((uint64_t)x33 * x51) + (((uint64_t)x35 * x49) + ((0x2 * ((uint64_t)x37 * x47)) + ((uint64_t)x36 * x45)))))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x13d * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- { uint64_t x89 = (((uint64_t)x5 * x39) + (0x13d * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (((uint64_t)x35 * x45) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- { uint64_t x90 = (x89 >> 0x16);
- { uint32_t x91 = ((uint32_t)x89 & 0x3fffff);
- { uint64_t x92 = (x90 + x88);
- { uint64_t x93 = (x92 >> 0x15);
- { uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- { uint64_t x95 = (x93 + x87);
- { uint64_t x96 = (x95 >> 0x15);
- { uint32_t x97 = ((uint32_t)x95 & 0x1fffff);
- { uint64_t x98 = (x96 + x86);
- { uint64_t x99 = (x98 >> 0x16);
- { uint32_t x100 = ((uint32_t)x98 & 0x3fffff);
- { uint64_t x101 = (x99 + x85);
- { uint64_t x102 = (x101 >> 0x15);
- { uint32_t x103 = ((uint32_t)x101 & 0x1fffff);
- { uint64_t x104 = (x102 + x84);
- { uint64_t x105 = (x104 >> 0x15);
- { uint32_t x106 = ((uint32_t)x104 & 0x1fffff);
- { uint64_t x107 = (x105 + x83);
- { uint64_t x108 = (x107 >> 0x16);
- { uint32_t x109 = ((uint32_t)x107 & 0x3fffff);
- { uint64_t x110 = (x108 + x82);
- { uint64_t x111 = (x110 >> 0x15);
- { uint32_t x112 = ((uint32_t)x110 & 0x1fffff);
- { uint64_t x113 = (x111 + x81);
- { uint64_t x114 = (x113 >> 0x15);
- { uint32_t x115 = ((uint32_t)x113 & 0x1fffff);
- { uint64_t x116 = (x114 + x80);
- { uint64_t x117 = (x116 >> 0x16);
- { uint32_t x118 = ((uint32_t)x116 & 0x3fffff);
- { uint64_t x119 = (x117 + x79);
- { uint64_t x120 = (x119 >> 0x15);
- { uint32_t x121 = ((uint32_t)x119 & 0x1fffff);
- { uint64_t x122 = (x120 + x78);
- { uint64_t x123 = (x122 >> 0x15);
- { uint32_t x124 = ((uint32_t)x122 & 0x1fffff);
- { uint64_t x125 = (x123 + x77);
- { uint64_t x126 = (x125 >> 0x16);
- { uint32_t x127 = ((uint32_t)x125 & 0x3fffff);
- { uint64_t x128 = (x126 + x76);
- { uint64_t x129 = (x128 >> 0x15);
- { uint32_t x130 = ((uint32_t)x128 & 0x1fffff);
- { uint64_t x131 = (x129 + x75);
- { uint64_t x132 = (x131 >> 0x15);
- { uint32_t x133 = ((uint32_t)x131 & 0x1fffff);
- { uint64_t x134 = (x132 + x74);
- { uint64_t x135 = (x134 >> 0x16);
- { uint32_t x136 = ((uint32_t)x134 & 0x3fffff);
- { uint64_t x137 = (x135 + x73);
- { uint64_t x138 = (x137 >> 0x15);
- { uint32_t x139 = ((uint32_t)x137 & 0x1fffff);
- { uint64_t x140 = (x138 + x72);
- { uint32_t x141 = (uint32_t) (x140 >> 0x15);
- { uint32_t x142 = ((uint32_t)x140 & 0x1fffff);
- { uint64_t x143 = (x91 + ((uint64_t)0x13d * x141));
- { uint32_t x144 = (uint32_t) (x143 >> 0x16);
- { uint32_t x145 = ((uint32_t)x143 & 0x3fffff);
- { uint32_t x146 = (x144 + x94);
- { uint32_t x147 = (x146 >> 0x15);
- { uint32_t x148 = (x146 & 0x1fffff);
- out[0] = x145;
- out[1] = x148;
- out[2] = (x147 + x97);
- out[3] = x100;
- out[4] = x103;
- out[5] = x106;
- out[6] = x109;
- out[7] = x112;
- out[8] = x115;
- out[9] = x118;
- out[10] = x121;
- out[11] = x124;
- out[12] = x127;
- out[13] = x130;
- out[14] = x133;
- out[15] = x136;
- out[16] = x139;
- out[17] = x142;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_18limbs/femul.v b/src/Specific/solinas32_2e384m317_18limbs/femul.v
deleted file mode 100644
index 14ef03e4e..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/femulDisplay.log b/src/Specific/solinas32_2e384m317_18limbs/femulDisplay.log
deleted file mode 100644
index 9b4cb94ec..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = (((uint64_t)x5 * x70) + ((0x2 * ((uint64_t)x7 * x71)) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + ((0x2 * ((uint64_t)x37 * x41)) + ((uint64_t)x36 * x39))))))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + (((uint64_t)x35 * x41) + ((uint64_t)x37 * x39))))))))))))))))) + (0x13d * ((uint64_t)x36 * x70)));
- uint64_t x74 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((uint64_t)x35 * x39)))))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))));
- uint64_t x75 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x33 * x39))))))))))))))) + (0x13d * (((uint64_t)x35 * x70) + ((0x2 * ((uint64_t)x37 * x71)) + ((uint64_t)x36 * x69)))));
- uint64_t x76 = ((((uint64_t)x5 * x65) + (((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)))))))))))))) + (0x13d * (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))));
- uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))));
- uint64_t x78 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x27 * x39)))))))))))) + (0x13d * (((uint64_t)x29 * x70) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + ((0x2 * ((uint64_t)x37 * x65)) + ((uint64_t)x36 * x63))))))));
- uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x13d * (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))));
- uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x13d * ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))) + (0x13d * (((uint64_t)x23 * x70) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((0x2 * ((uint64_t)x37 * x59)) + ((uint64_t)x36 * x57)))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (0x13d * (((uint64_t)x21 * x70) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + ((uint64_t)x36 * x55))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x13d * ((0x2 * ((uint64_t)x19 * x70)) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((0x2 * ((uint64_t)x37 * x55)) + (0x2 * ((uint64_t)x36 * x53))))))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (0x13d * (((uint64_t)x17 * x70) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((0x2 * ((uint64_t)x37 * x53)) + ((uint64_t)x36 * x51))))))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x13d * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x13d * ((0x2 * ((uint64_t)x13 * x70)) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (0x2 * ((uint64_t)x36 * x47)))))))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (0x13d * (((uint64_t)x11 * x70) + ((0x2 * ((uint64_t)x13 * x71)) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + ((0x2 * ((uint64_t)x25 * x59)) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + ((0x2 * ((uint64_t)x31 * x53)) + (((uint64_t)x33 * x51) + (((uint64_t)x35 * x49) + ((0x2 * ((uint64_t)x37 * x47)) + ((uint64_t)x36 * x45)))))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x13d * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- uint64_t x89 = (((uint64_t)x5 * x39) + (0x13d * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (((uint64_t)x35 * x45) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- uint64_t x90 = (x89 >> 0x16);
- uint32_t x91 = ((uint32_t)x89 & 0x3fffff);
- uint64_t x92 = (x90 + x88);
- uint64_t x93 = (x92 >> 0x15);
- uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
- uint64_t x95 = (x93 + x87);
- uint64_t x96 = (x95 >> 0x15);
- uint32_t x97 = ((uint32_t)x95 & 0x1fffff);
- uint64_t x98 = (x96 + x86);
- uint64_t x99 = (x98 >> 0x16);
- uint32_t x100 = ((uint32_t)x98 & 0x3fffff);
- uint64_t x101 = (x99 + x85);
- uint64_t x102 = (x101 >> 0x15);
- uint32_t x103 = ((uint32_t)x101 & 0x1fffff);
- uint64_t x104 = (x102 + x84);
- uint64_t x105 = (x104 >> 0x15);
- uint32_t x106 = ((uint32_t)x104 & 0x1fffff);
- uint64_t x107 = (x105 + x83);
- uint64_t x108 = (x107 >> 0x16);
- uint32_t x109 = ((uint32_t)x107 & 0x3fffff);
- uint64_t x110 = (x108 + x82);
- uint64_t x111 = (x110 >> 0x15);
- uint32_t x112 = ((uint32_t)x110 & 0x1fffff);
- uint64_t x113 = (x111 + x81);
- uint64_t x114 = (x113 >> 0x15);
- uint32_t x115 = ((uint32_t)x113 & 0x1fffff);
- uint64_t x116 = (x114 + x80);
- uint64_t x117 = (x116 >> 0x16);
- uint32_t x118 = ((uint32_t)x116 & 0x3fffff);
- uint64_t x119 = (x117 + x79);
- uint64_t x120 = (x119 >> 0x15);
- uint32_t x121 = ((uint32_t)x119 & 0x1fffff);
- uint64_t x122 = (x120 + x78);
- uint64_t x123 = (x122 >> 0x15);
- uint32_t x124 = ((uint32_t)x122 & 0x1fffff);
- uint64_t x125 = (x123 + x77);
- uint64_t x126 = (x125 >> 0x16);
- uint32_t x127 = ((uint32_t)x125 & 0x3fffff);
- uint64_t x128 = (x126 + x76);
- uint64_t x129 = (x128 >> 0x15);
- uint32_t x130 = ((uint32_t)x128 & 0x1fffff);
- uint64_t x131 = (x129 + x75);
- uint64_t x132 = (x131 >> 0x15);
- uint32_t x133 = ((uint32_t)x131 & 0x1fffff);
- uint64_t x134 = (x132 + x74);
- uint64_t x135 = (x134 >> 0x16);
- uint32_t x136 = ((uint32_t)x134 & 0x3fffff);
- uint64_t x137 = (x135 + x73);
- uint64_t x138 = (x137 >> 0x15);
- uint32_t x139 = ((uint32_t)x137 & 0x1fffff);
- uint64_t x140 = (x138 + x72);
- uint32_t x141 = (uint32_t) (x140 >> 0x15);
- uint32_t x142 = ((uint32_t)x140 & 0x1fffff);
- uint64_t x143 = (x91 + ((uint64_t)0x13d * x141));
- uint32_t x144 = (uint32_t) (x143 >> 0x16);
- uint32_t x145 = ((uint32_t)x143 & 0x3fffff);
- uint32_t x146 = (x144 + x94);
- uint32_t x147 = (x146 >> 0x15);
- uint32_t x148 = (x146 & 0x1fffff);
- return (Return x142, Return x139, Return x136, Return x133, Return x130, Return x127, Return x124, Return x121, Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, (x147 + x97), Return x148, Return x145))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_18limbs/femulDisplay.v b/src/Specific/solinas32_2e384m317_18limbs/femulDisplay.v
deleted file mode 100644
index 5c15aea2a..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fesquare.c b/src/Specific/solinas32_2e384m317_18limbs/fesquare.c
deleted file mode 100644
index a8d0e1f7c..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesquare.c
+++ /dev/null
@@ -1,116 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)x2 * x33) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x33 * x2))))))))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x13d * ((uint64_t)x33 * x33)));
- { uint64_t x37 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))));
- { uint64_t x38 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x13d * (((uint64_t)x32 * x33) + ((0x2 * ((uint64_t)x34 * x34)) + ((uint64_t)x33 * x32)))));
- { uint64_t x39 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x13d * (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))));
- { uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x13d * (((uint64_t)x26 * x33) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + ((uint64_t)x33 * x26))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x13d * (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x13d * ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13d * (((uint64_t)x20 * x33) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + ((uint64_t)x33 * x20)))))))))));
- { uint64_t x45 = ((((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)))))))) + (0x13d * (((uint64_t)x18 * x33) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + ((uint64_t)x33 * x18))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13d * ((0x2 * ((uint64_t)x16 * x33)) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (0x2 * ((uint64_t)x33 * x16))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13d * (((uint64_t)x14 * x33) + ((0x2 * ((uint64_t)x16 * x34)) + (((uint64_t)x18 * x32) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + (((uint64_t)x32 * x18) + ((0x2 * ((uint64_t)x34 * x16)) + ((uint64_t)x33 * x14))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13d * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13d * ((0x2 * ((uint64_t)x10 * x33)) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (0x2 * ((uint64_t)x33 * x10)))))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13d * (((uint64_t)x8 * x33) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + ((uint64_t)x33 * x8)))))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13d * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- { uint64_t x52 = (((uint64_t)x2 * x2) + (0x13d * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- { uint64_t x53 = (x52 >> 0x16);
- { uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- { uint64_t x55 = (x53 + x51);
- { uint64_t x56 = (x55 >> 0x15);
- { uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- { uint64_t x58 = (x56 + x50);
- { uint64_t x59 = (x58 >> 0x15);
- { uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- { uint64_t x61 = (x59 + x49);
- { uint64_t x62 = (x61 >> 0x16);
- { uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- { uint64_t x64 = (x62 + x48);
- { uint64_t x65 = (x64 >> 0x15);
- { uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- { uint64_t x67 = (x65 + x47);
- { uint64_t x68 = (x67 >> 0x15);
- { uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- { uint64_t x70 = (x68 + x46);
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x45);
- { uint64_t x74 = (x73 >> 0x15);
- { uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- { uint64_t x76 = (x74 + x44);
- { uint64_t x77 = (x76 >> 0x15);
- { uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- { uint64_t x79 = (x77 + x43);
- { uint64_t x80 = (x79 >> 0x16);
- { uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- { uint64_t x82 = (x80 + x42);
- { uint64_t x83 = (x82 >> 0x15);
- { uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- { uint64_t x85 = (x83 + x41);
- { uint64_t x86 = (x85 >> 0x15);
- { uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- { uint64_t x88 = (x86 + x40);
- { uint64_t x89 = (x88 >> 0x16);
- { uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- { uint64_t x91 = (x89 + x39);
- { uint64_t x92 = (x91 >> 0x15);
- { uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- { uint64_t x94 = (x92 + x38);
- { uint64_t x95 = (x94 >> 0x15);
- { uint32_t x96 = ((uint32_t)x94 & 0x1fffff);
- { uint64_t x97 = (x95 + x37);
- { uint64_t x98 = (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x98 + x36);
- { uint64_t x101 = (x100 >> 0x15);
- { uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- { uint64_t x103 = (x101 + x35);
- { uint32_t x104 = (uint32_t) (x103 >> 0x15);
- { uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- { uint64_t x106 = (x54 + ((uint64_t)0x13d * x104));
- { uint32_t x107 = (uint32_t) (x106 >> 0x16);
- { uint32_t x108 = ((uint32_t)x106 & 0x3fffff);
- { uint32_t x109 = (x107 + x57);
- { uint32_t x110 = (x109 >> 0x15);
- { uint32_t x111 = (x109 & 0x1fffff);
- out[0] = x108;
- out[1] = x111;
- out[2] = (x110 + x60);
- out[3] = x63;
- out[4] = x66;
- out[5] = x69;
- out[6] = x72;
- out[7] = x75;
- out[8] = x78;
- out[9] = x81;
- out[10] = x84;
- out[11] = x87;
- out[12] = x90;
- out[13] = x93;
- out[14] = x96;
- out[15] = x99;
- out[16] = x102;
- out[17] = x105;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fesquare.v b/src/Specific/solinas32_2e384m317_18limbs/fesquare.v
deleted file mode 100644
index 9814b12a8..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.log
deleted file mode 100644
index f8fcd2854..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)x2 * x33) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x33 * x2))))))))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x13d * ((uint64_t)x33 * x33)));
- uint64_t x37 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))));
- uint64_t x38 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x13d * (((uint64_t)x32 * x33) + ((0x2 * ((uint64_t)x34 * x34)) + ((uint64_t)x33 * x32)))));
- uint64_t x39 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x13d * (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))));
- uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x13d * ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))));
- uint64_t x41 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x13d * (((uint64_t)x26 * x33) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + ((uint64_t)x33 * x26))))))));
- uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x13d * (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))));
- uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x13d * ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13d * (((uint64_t)x20 * x33) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + ((uint64_t)x33 * x20)))))))))));
- uint64_t x45 = ((((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)))))))) + (0x13d * (((uint64_t)x18 * x33) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + ((uint64_t)x33 * x18))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13d * ((0x2 * ((uint64_t)x16 * x33)) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (0x2 * ((uint64_t)x33 * x16))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x13d * (((uint64_t)x14 * x33) + ((0x2 * ((uint64_t)x16 * x34)) + (((uint64_t)x18 * x32) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + (((uint64_t)x32 * x18) + ((0x2 * ((uint64_t)x34 * x16)) + ((uint64_t)x33 * x14))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x13d * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13d * ((0x2 * ((uint64_t)x10 * x33)) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (0x2 * ((uint64_t)x33 * x10)))))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13d * (((uint64_t)x8 * x33) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + ((uint64_t)x33 * x8)))))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13d * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- uint64_t x52 = (((uint64_t)x2 * x2) + (0x13d * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- uint64_t x53 = (x52 >> 0x16);
- uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
- uint64_t x55 = (x53 + x51);
- uint64_t x56 = (x55 >> 0x15);
- uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
- uint64_t x58 = (x56 + x50);
- uint64_t x59 = (x58 >> 0x15);
- uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
- uint64_t x61 = (x59 + x49);
- uint64_t x62 = (x61 >> 0x16);
- uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
- uint64_t x64 = (x62 + x48);
- uint64_t x65 = (x64 >> 0x15);
- uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
- uint64_t x67 = (x65 + x47);
- uint64_t x68 = (x67 >> 0x15);
- uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
- uint64_t x70 = (x68 + x46);
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x45);
- uint64_t x74 = (x73 >> 0x15);
- uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- uint64_t x76 = (x74 + x44);
- uint64_t x77 = (x76 >> 0x15);
- uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- uint64_t x79 = (x77 + x43);
- uint64_t x80 = (x79 >> 0x16);
- uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- uint64_t x82 = (x80 + x42);
- uint64_t x83 = (x82 >> 0x15);
- uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- uint64_t x85 = (x83 + x41);
- uint64_t x86 = (x85 >> 0x15);
- uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x16);
- uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- uint64_t x91 = (x89 + x39);
- uint64_t x92 = (x91 >> 0x15);
- uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- uint64_t x94 = (x92 + x38);
- uint64_t x95 = (x94 >> 0x15);
- uint32_t x96 = ((uint32_t)x94 & 0x1fffff);
- uint64_t x97 = (x95 + x37);
- uint64_t x98 = (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x98 + x36);
- uint64_t x101 = (x100 >> 0x15);
- uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- uint64_t x103 = (x101 + x35);
- uint32_t x104 = (uint32_t) (x103 >> 0x15);
- uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- uint64_t x106 = (x54 + ((uint64_t)0x13d * x104));
- uint32_t x107 = (uint32_t) (x106 >> 0x16);
- uint32_t x108 = ((uint32_t)x106 & 0x3fffff);
- uint32_t x109 = (x107 + x57);
- uint32_t x110 = (x109 >> 0x15);
- uint32_t x111 = (x109 & 0x1fffff);
- return (Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, (x110 + x60), Return x111, Return x108))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.v
deleted file mode 100644
index d76011c32..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fesub.c b/src/Specific/solinas32_2e384m317_18limbs/fesub.c
deleted file mode 100644
index 5f8625d0f..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x7ffd86 + x5) - x39);
- out[1] = ((0x3ffffe + x7) - x41);
- out[2] = ((0x3ffffe + x9) - x43);
- out[3] = ((0x7ffffe + x11) - x45);
- out[4] = ((0x3ffffe + x13) - x47);
- out[5] = ((0x3ffffe + x15) - x49);
- out[6] = ((0x7ffffe + x17) - x51);
- out[7] = ((0x3ffffe + x19) - x53);
- out[8] = ((0x3ffffe + x21) - x55);
- out[9] = ((0x7ffffe + x23) - x57);
- out[10] = ((0x3ffffe + x25) - x59);
- out[11] = ((0x3ffffe + x27) - x61);
- out[12] = ((0x7ffffe + x29) - x63);
- out[13] = ((0x3ffffe + x31) - x65);
- out[14] = ((0x3ffffe + x33) - x67);
- out[15] = ((0x7ffffe + x35) - x69);
- out[16] = ((0x3ffffe + x37) - x71);
- out[17] = ((0x3ffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fesub.v b/src/Specific/solinas32_2e384m317_18limbs/fesub.v
deleted file mode 100644
index 9024db6c0..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.log
deleted file mode 100644
index 20cc9509d..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x3ffffe + x36) - x70), ((0x3ffffe + x37) - x71), ((0x7ffffe + x35) - x69), ((0x3ffffe + x33) - x67), ((0x3ffffe + x31) - x65), ((0x7ffffe + x29) - x63), ((0x3ffffe + x27) - x61), ((0x3ffffe + x25) - x59), ((0x7ffffe + x23) - x57), ((0x3ffffe + x21) - x55), ((0x3ffffe + x19) - x53), ((0x7ffffe + x17) - x51), ((0x3ffffe + x15) - x49), ((0x3ffffe + x13) - x47), ((0x7ffffe + x11) - x45), ((0x3ffffe + x9) - x43), ((0x3ffffe + x7) - x41), ((0x7ffd86 + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.v
deleted file mode 100644
index f59e6d63f..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e384m317_18limbs/freeze.c b/src/Specific/solinas32_2e384m317_18limbs/freeze.c
deleted file mode 100644
index 3f87099f2..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffec3);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x3fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x3fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x3fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x3fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1fffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1fffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x3ffec3);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x1fffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x1fffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x3fffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x1fffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x1fffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x3fffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x1fffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x1fffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x3fffff);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x1fffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x1fffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x3fffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x1fffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x1fffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x3fffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x1fffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x1fffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e384m317_18limbs/freeze.v b/src/Specific/solinas32_2e384m317_18limbs/freeze.v
deleted file mode 100644
index fb817c338..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.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_2e384m317_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.log
deleted file mode 100644
index c508179d4..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffec3);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x3fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x3fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x3fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x3fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1fffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1fffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x3ffec3);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x1fffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x1fffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x3fffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x1fffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x1fffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x3fffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x1fffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x1fffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x3fffff);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x1fffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x1fffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x3fffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x1fffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x1fffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x3fffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x1fffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x1fffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.v
deleted file mode 100644
index 2c3eb126a..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e384m317_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e384m317_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e384m317_18limbs/py_interpreter.sh
deleted file mode 100755
index c50750dcd..000000000
--- a/src/Specific/solinas32_2e384m317_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 317' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e389m21_15limbs/CurveParameters.v b/src/Specific/solinas32_2e389m21_15limbs/CurveParameters.v
deleted file mode 100644
index ab5287798..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^389 - 21
-Base: 25 + 14/15
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 15%nat;
- base := 25 + 14/15;
- bitwidth := 32;
- s := 2^389;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 15); [0; 1]]%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_2e389m21_15limbs/Synthesis.v b/src/Specific/solinas32_2e389m21_15limbs/Synthesis.v
deleted file mode 100644
index 8ebc8180e..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/compiler.sh b/src/Specific/solinas32_2e389m21_15limbs/compiler.sh
deleted file mode 100755
index 1dcfe8992..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas32_2e389m21_15limbs/compilerxx.sh b/src/Specific/solinas32_2e389m21_15limbs/compilerxx.sh
deleted file mode 100755
index e06568566..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='15' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas32_2e389m21_15limbs/feadd.c b/src/Specific/solinas32_2e389m21_15limbs/feadd.c
deleted file mode 100644
index 72a59425b..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/feadd.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void feadd(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = (x5 + x33);
- out[1] = (x7 + x35);
- out[2] = (x9 + x37);
- out[3] = (x11 + x39);
- out[4] = (x13 + x41);
- out[5] = (x15 + x43);
- out[6] = (x17 + x45);
- out[7] = (x19 + x47);
- out[8] = (x21 + x49);
- out[9] = (x23 + x51);
- out[10] = (x25 + x53);
- out[11] = (x27 + x55);
- out[12] = (x29 + x57);
- out[13] = (x31 + x59);
- out[14] = (x30 + x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_15limbs/feadd.v b/src/Specific/solinas32_2e389m21_15limbs/feadd.v
deleted file mode 100644
index fbb552375..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/feaddDisplay.log b/src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.log
deleted file mode 100644
index 08d611628..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- ((x30 + x58), (x31 + x59), (x29 + x57), (x27 + x55), (x25 + x53), (x23 + x51), (x21 + x49), (x19 + x47), (x17 + x45), (x15 + x43), (x13 + x41), (x11 + x39), (x9 + x37), (x7 + x35), (x5 + x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.v b/src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.v
deleted file mode 100644
index d2c2a9f69..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fecarry.v b/src/Specific/solinas32_2e389m21_15limbs/fecarry.v
deleted file mode 100644
index 23c6e2399..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/fecarryDisplay.v b/src/Specific/solinas32_2e389m21_15limbs/fecarryDisplay.v
deleted file mode 100644
index b52840365..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e389m21_15limbs/femul.c b/src/Specific/solinas32_2e389m21_15limbs/femul.c
deleted file mode 100644
index 07cfa8617..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/femul.c
+++ /dev/null
@@ -1,113 +0,0 @@
-static void femul(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- { uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((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)x30 * x33)))))))))))))));
- { uint64_t x61 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (((uint64_t)x29 * x35) + ((uint64_t)x31 * x33)))))))))))))) + (0x15 * (0x2 * ((uint64_t)x30 * x58))));
- { uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x58)) + (0x2 * ((uint64_t)x30 * x59)))));
- { uint64_t x63 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x27 * x33)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x29 * x58)) + ((0x2 * ((uint64_t)x31 * x59)) + (0x2 * ((uint64_t)x30 * x57))))));
- { uint64_t x64 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + (((uint64_t)x23 * x35) + ((uint64_t)x25 * x33))))))))))) + (0x15 * ((0x2 * ((uint64_t)x27 * x58)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + (0x2 * ((uint64_t)x30 * x55)))))));
- { uint64_t x65 = ((((uint64_t)x5 * x51) + (((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)x21 * x35) + ((uint64_t)x23 * x33)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x58)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (0x2 * ((uint64_t)x30 * x53))))))));
- { uint64_t x66 = ((((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 * x33))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x58)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + (0x2 * ((uint64_t)x30 * x51)))))))));
- { uint64_t x67 = ((((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)x19 * x33)))))))) + (0x15 * ((0x2 * ((uint64_t)x21 * x58)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + (0x2 * ((uint64_t)x30 * x49))))))))));
- { uint64_t x68 = ((((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)x17 * x33))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x58)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + (0x2 * ((uint64_t)x30 * x47)))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + ((uint64_t)x15 * x33)))))) + (0x15 * ((0x2 * ((uint64_t)x17 * x58)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (0x2 * ((uint64_t)x30 * x45))))))))))));
- { ℤ x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x15 * x58)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + (0x2 * ((uint64_t)x30 * x43)))))))))))));
- { ℤ x71 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((uint64_t)x11 * x33)))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x13 * x58)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- { ℤ x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x11 * x58)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + (0x2 * ((uint64_t)x30 * x39)))))))))))))));
- { ℤ x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x9 * x58)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + (0x2 * ((uint64_t)x30 * x37))))))))))))))));
- { ℤ x74 = (((uint64_t)x5 * x33) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- { uint64_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = (x74 & 0x3ffffff);
- { ℤ x77 = (x75 +ℤ x73);
- { uint64_t x78 = (x77 >> 0x1a);
- { uint32_t x79 = (x77 & 0x3ffffff);
- { ℤ x80 = (x78 +ℤ x72);
- { uint64_t x81 = (x80 >> 0x1a);
- { uint32_t x82 = (x80 & 0x3ffffff);
- { ℤ x83 = (x81 +ℤ x71);
- { uint64_t x84 = (x83 >> 0x1a);
- { uint32_t x85 = (x83 & 0x3ffffff);
- { ℤ x86 = (x84 +ℤ x70);
- { uint64_t x87 = (x86 >> 0x1a);
- { uint32_t x88 = (x86 & 0x3ffffff);
- { uint64_t x89 = (x87 + x69);
- { uint64_t x90 = (x89 >> 0x1a);
- { uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- { uint64_t x92 = (x90 + x68);
- { uint64_t x93 = (x92 >> 0x1a);
- { uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- { uint64_t x95 = (x93 + x67);
- { uint64_t x96 = (x95 >> 0x1a);
- { uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- { uint64_t x98 = (x96 + x66);
- { uint64_t x99 = (x98 >> 0x1a);
- { uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- { uint64_t x101 = (x99 + x65);
- { uint64_t x102 = (x101 >> 0x1a);
- { uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- { uint64_t x104 = (x102 + x64);
- { uint64_t x105 = (x104 >> 0x1a);
- { uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- { uint64_t x107 = (x105 + x63);
- { uint64_t x108 = (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x108 + x62);
- { uint64_t x111 = (x110 >> 0x1a);
- { uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- { uint64_t x113 = (x111 + x61);
- { uint64_t x114 = (x113 >> 0x1a);
- { uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- { uint64_t x116 = (x114 + x60);
- { uint64_t x117 = (x116 >> 0x19);
- { uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- { uint64_t x119 = (x76 + (0x15 * x117));
- { uint32_t x120 = (uint32_t) (x119 >> 0x1a);
- { uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- { uint32_t x122 = (x120 + x79);
- { uint32_t x123 = (x122 >> 0x1a);
- { uint32_t x124 = (x122 & 0x3ffffff);
- out[0] = x121;
- out[1] = x124;
- out[2] = (x123 + x82);
- out[3] = x85;
- out[4] = x88;
- out[5] = x91;
- out[6] = x94;
- out[7] = x97;
- out[8] = x100;
- out[9] = x103;
- out[10] = x106;
- out[11] = x109;
- out[12] = x112;
- out[13] = x115;
- out[14] = x118;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_15limbs/femul.v b/src/Specific/solinas32_2e389m21_15limbs/femul.v
deleted file mode 100644
index a8fc8ce8e..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/femulDisplay.log b/src/Specific/solinas32_2e389m21_15limbs/femulDisplay.log
deleted file mode 100644
index 091318fd0..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/femulDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((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)x30 * x33)))))))))))))));
- uint64_t x61 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (((uint64_t)x29 * x35) + ((uint64_t)x31 * x33)))))))))))))) + (0x15 * (0x2 * ((uint64_t)x30 * x58))));
- uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x58)) + (0x2 * ((uint64_t)x30 * x59)))));
- uint64_t x63 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x27 * x33)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x29 * x58)) + ((0x2 * ((uint64_t)x31 * x59)) + (0x2 * ((uint64_t)x30 * x57))))));
- uint64_t x64 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x21 * x37) + (((uint64_t)x23 * x35) + ((uint64_t)x25 * x33))))))))))) + (0x15 * ((0x2 * ((uint64_t)x27 * x58)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + (0x2 * ((uint64_t)x30 * x55)))))));
- uint64_t x65 = ((((uint64_t)x5 * x51) + (((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)x21 * x35) + ((uint64_t)x23 * x33)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x58)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (0x2 * ((uint64_t)x30 * x53))))))));
- uint64_t x66 = ((((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 * x33))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x58)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + (0x2 * ((uint64_t)x30 * x51)))))))));
- uint64_t x67 = ((((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)x19 * x33)))))))) + (0x15 * ((0x2 * ((uint64_t)x21 * x58)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + (0x2 * ((uint64_t)x30 * x49))))))))));
- uint64_t x68 = ((((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)x17 * x33))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x58)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + (0x2 * ((uint64_t)x30 * x47)))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + ((uint64_t)x15 * x33)))))) + (0x15 * ((0x2 * ((uint64_t)x17 * x58)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (0x2 * ((uint64_t)x30 * x45))))))))))));
- ℤ x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x15 * x58)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + (0x2 * ((uint64_t)x30 * x43)))))))))))));
- ℤ x71 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((uint64_t)x11 * x33)))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x13 * x58)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + (0x2 * ((uint64_t)x30 * x41))))))))))))));
- ℤ x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x11 * x58)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + (0x2 * ((uint64_t)x30 * x39)))))))))))))));
- ℤ x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x9 * x58)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + (0x2 * ((uint64_t)x30 * x37))))))))))))))));
- ℤ x74 = (((uint64_t)x5 * x33) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x7 * x58)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + (0x2 * ((uint64_t)x30 * x35)))))))))))))))));
- uint64_t x75 = (x74 >> 0x1a);
- uint32_t x76 = (x74 & 0x3ffffff);
- ℤ x77 = (x75 +ℤ x73);
- uint64_t x78 = (x77 >> 0x1a);
- uint32_t x79 = (x77 & 0x3ffffff);
- ℤ x80 = (x78 +ℤ x72);
- uint64_t x81 = (x80 >> 0x1a);
- uint32_t x82 = (x80 & 0x3ffffff);
- ℤ x83 = (x81 +ℤ x71);
- uint64_t x84 = (x83 >> 0x1a);
- uint32_t x85 = (x83 & 0x3ffffff);
- ℤ x86 = (x84 +ℤ x70);
- uint64_t x87 = (x86 >> 0x1a);
- uint32_t x88 = (x86 & 0x3ffffff);
- uint64_t x89 = (x87 + x69);
- uint64_t x90 = (x89 >> 0x1a);
- uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- uint64_t x92 = (x90 + x68);
- uint64_t x93 = (x92 >> 0x1a);
- uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- uint64_t x95 = (x93 + x67);
- uint64_t x96 = (x95 >> 0x1a);
- uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- uint64_t x98 = (x96 + x66);
- uint64_t x99 = (x98 >> 0x1a);
- uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- uint64_t x101 = (x99 + x65);
- uint64_t x102 = (x101 >> 0x1a);
- uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- uint64_t x104 = (x102 + x64);
- uint64_t x105 = (x104 >> 0x1a);
- uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- uint64_t x107 = (x105 + x63);
- uint64_t x108 = (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x108 + x62);
- uint64_t x111 = (x110 >> 0x1a);
- uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- uint64_t x113 = (x111 + x61);
- uint64_t x114 = (x113 >> 0x1a);
- uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- uint64_t x116 = (x114 + x60);
- uint64_t x117 = (x116 >> 0x19);
- uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- uint64_t x119 = (x76 + (0x15 * x117));
- uint32_t x120 = (uint32_t) (x119 >> 0x1a);
- uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- uint32_t x122 = (x120 + x79);
- uint32_t x123 = (x122 >> 0x1a);
- uint32_t x124 = (x122 & 0x3ffffff);
- return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, (x123 + x82), Return x124, Return x121))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e389m21_15limbs/femulDisplay.v b/src/Specific/solinas32_2e389m21_15limbs/femulDisplay.v
deleted file mode 100644
index f3cf57147..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fesquare.c b/src/Specific/solinas32_2e389m21_15limbs/fesquare.c
deleted file mode 100644
index 998045a28..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesquare.c
+++ /dev/null
@@ -1,98 +0,0 @@
-static void fesquare(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x29 = (((uint64_t)x2 * x27) + (((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)x16 * x16) + (((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)x27 * x2)))))))))))))));
- { uint64_t x30 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * (0x2 * ((uint64_t)x27 * x27))));
- { uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x27)) + (0x2 * ((uint64_t)x27 * x28)))));
- { uint64_t x32 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x26 * x27)) + ((0x2 * ((uint64_t)x28 * x28)) + (0x2 * ((uint64_t)x27 * x26))))));
- { uint64_t x33 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * ((0x2 * ((uint64_t)x24 * x27)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (0x2 * ((uint64_t)x27 * x24)))))));
- { uint64_t x34 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x27)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + (0x2 * ((uint64_t)x27 * x22))))))));
- { uint64_t x35 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x27)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + (0x2 * ((uint64_t)x27 * x20)))))))));
- { uint64_t x36 = ((((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)))))))) + (0x15 * ((0x2 * ((uint64_t)x18 * x27)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (0x2 * ((uint64_t)x27 * x18))))))))));
- { uint64_t x37 = ((((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))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x27)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (0x2 * ((uint64_t)x27 * x16)))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * ((0x2 * ((uint64_t)x14 * x27)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + (0x2 * ((uint64_t)x27 * x14))))))))))));
- { ℤ x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x12 * x27)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + (0x2 * ((uint64_t)x27 * x12)))))))))))));
- { ℤ x40 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x10 * x27)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- { ℤ x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x8 * x27)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + (0x2 * ((uint64_t)x27 * x8)))))))))))))));
- { ℤ x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x6 * x27)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + (0x2 * ((uint64_t)x27 * x6))))))))))))))));
- { ℤ x43 = (((uint64_t)x2 * x2) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- { uint64_t x44 = (x43 >> 0x1a);
- { uint32_t x45 = (x43 & 0x3ffffff);
- { ℤ x46 = (x44 +ℤ x42);
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = (x46 & 0x3ffffff);
- { ℤ x49 = (x47 +ℤ x41);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = (x49 & 0x3ffffff);
- { ℤ x52 = (x50 +ℤ x40);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = (x52 & 0x3ffffff);
- { ℤ x55 = (x53 +ℤ x39);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = (x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x38);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x37);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x36);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x35);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x34);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x33);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x32);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x31);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x30);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x29);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x45 + (0x15 * x86));
- { uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint32_t x91 = (x89 + x48);
- { uint32_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = (x91 & 0x3ffffff);
- out[0] = x90;
- out[1] = x93;
- out[2] = (x92 + x51);
- out[3] = x54;
- out[4] = x57;
- out[5] = x60;
- out[6] = x63;
- out[7] = x66;
- out[8] = x69;
- out[9] = x72;
- out[10] = x75;
- out[11] = x78;
- out[12] = x81;
- out[13] = x84;
- out[14] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fesquare.v b/src/Specific/solinas32_2e389m21_15limbs/fesquare.v
deleted file mode 100644
index 17afb4559..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/fesquareDisplay.log b/src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.log
deleted file mode 100644
index 1ea808365..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,72 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x29 = (((uint64_t)x2 * x27) + (((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)x16 * x16) + (((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)x27 * x2)))))))))))))));
- uint64_t x30 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * (0x2 * ((uint64_t)x27 * x27))));
- uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x27)) + (0x2 * ((uint64_t)x27 * x28)))));
- uint64_t x32 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x26 * x27)) + ((0x2 * ((uint64_t)x28 * x28)) + (0x2 * ((uint64_t)x27 * x26))))));
- uint64_t x33 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * ((0x2 * ((uint64_t)x24 * x27)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (0x2 * ((uint64_t)x27 * x24)))))));
- uint64_t x34 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x27)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + (0x2 * ((uint64_t)x27 * x22))))))));
- uint64_t x35 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x27)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + (0x2 * ((uint64_t)x27 * x20)))))))));
- uint64_t x36 = ((((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)))))))) + (0x15 * ((0x2 * ((uint64_t)x18 * x27)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (0x2 * ((uint64_t)x27 * x18))))))))));
- uint64_t x37 = ((((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))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x27)) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (0x2 * ((uint64_t)x27 * x16)))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * ((0x2 * ((uint64_t)x14 * x27)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + (0x2 * ((uint64_t)x27 * x14))))))))))));
- ℤ x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x12 * x27)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + (0x2 * ((uint64_t)x27 * x12)))))))))))));
- ℤ x40 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x10 * x27)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + (0x2 * ((uint64_t)x27 * x10))))))))))))));
- ℤ x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x8 * x27)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + (0x2 * ((uint64_t)x27 * x8)))))))))))))));
- ℤ x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x6 * x27)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + (0x2 * ((uint64_t)x27 * x6))))))))))))))));
- ℤ x43 = (((uint64_t)x2 * x2) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x4 * x27)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + (0x2 * ((uint64_t)x27 * x4)))))))))))))))));
- uint64_t x44 = (x43 >> 0x1a);
- uint32_t x45 = (x43 & 0x3ffffff);
- ℤ x46 = (x44 +ℤ x42);
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = (x46 & 0x3ffffff);
- ℤ x49 = (x47 +ℤ x41);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = (x49 & 0x3ffffff);
- ℤ x52 = (x50 +ℤ x40);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = (x52 & 0x3ffffff);
- ℤ x55 = (x53 +ℤ x39);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = (x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x38);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x37);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x36);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x35);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x34);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x33);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x32);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x31);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x30);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x29);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x45 + (0x15 * x86));
- uint32_t x89 = (uint32_t) (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint32_t x91 = (x89 + x48);
- uint32_t x92 = (x91 >> 0x1a);
- uint32_t x93 = (x91 & 0x3ffffff);
- return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, (x92 + x51), Return x93, Return x90))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.v b/src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.v
deleted file mode 100644
index d9823962d..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fesub.c b/src/Specific/solinas32_2e389m21_15limbs/fesub.c
deleted file mode 100644
index d6022b12b..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesub.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void fesub(uint32_t out[15], const uint32_t in1[15], const uint32_t in2[15]) {
- { const uint32_t x30 = 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 x58 = in2[14];
- { const uint32_t x59 = in2[13];
- { const uint32_t x57 = in2[12];
- { const uint32_t x55 = in2[11];
- { const uint32_t x53 = in2[10];
- { const uint32_t x51 = in2[9];
- { const uint32_t x49 = in2[8];
- { const uint32_t x47 = in2[7];
- { const uint32_t x45 = in2[6];
- { const uint32_t x43 = in2[5];
- { const uint32_t x41 = in2[4];
- { const uint32_t x39 = in2[3];
- { const uint32_t x37 = in2[2];
- { const uint32_t x35 = in2[1];
- { const uint32_t x33 = in2[0];
- out[0] = ((0x7ffffd6 + x5) - x33);
- out[1] = ((0x7fffffe + x7) - x35);
- out[2] = ((0x7fffffe + x9) - x37);
- out[3] = ((0x7fffffe + x11) - x39);
- out[4] = ((0x7fffffe + x13) - x41);
- out[5] = ((0x7fffffe + x15) - x43);
- out[6] = ((0x7fffffe + x17) - x45);
- out[7] = ((0x7fffffe + x19) - x47);
- out[8] = ((0x7fffffe + x21) - x49);
- out[9] = ((0x7fffffe + x23) - x51);
- out[10] = ((0x7fffffe + x25) - x53);
- out[11] = ((0x7fffffe + x27) - x55);
- out[12] = ((0x7fffffe + x29) - x57);
- out[13] = ((0x7fffffe + x31) - x59);
- out[14] = ((0x3fffffe + x30) - x58);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fesub.v b/src/Specific/solinas32_2e389m21_15limbs/fesub.v
deleted file mode 100644
index 4d7b312e6..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/fesubDisplay.log b/src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.log
deleted file mode 100644
index ba3642347..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- (((0x3fffffe + x30) - x58), ((0x7fffffe + x31) - x59), ((0x7fffffe + x29) - x57), ((0x7fffffe + x27) - x55), ((0x7fffffe + x25) - x53), ((0x7fffffe + x23) - x51), ((0x7fffffe + x21) - x49), ((0x7fffffe + x19) - x47), ((0x7fffffe + x17) - x45), ((0x7fffffe + x15) - x43), ((0x7fffffe + x13) - x41), ((0x7fffffe + x11) - x39), ((0x7fffffe + x9) - x37), ((0x7fffffe + x7) - x35), ((0x7ffffd6 + x5) - x33)))
-(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 → 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)
diff --git a/src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.v b/src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.v
deleted file mode 100644
index 9afa59740..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e389m21_15limbs/freeze.c b/src/Specific/solinas32_2e389m21_15limbs/freeze.c
deleted file mode 100644
index 45136bd66..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/freeze.c
+++ /dev/null
@@ -1,79 +0,0 @@
-static void freeze(uint32_t out[15], const uint32_t in1[15]) {
- { const uint32_t x27 = 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 x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffeb);
- { uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x3ffffff);
- { uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x3ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x3ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x3ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x3ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x3ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x3ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x3ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x3ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x3ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffffff);
- { uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- { uint32_t x75 = (x74 & 0x3ffffeb);
- { uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- { uint32_t x79 = (x74 & 0x3ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- { uint32_t x83 = (x74 & 0x3ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- { uint32_t x87 = (x74 & 0x3ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- { uint32_t x91 = (x74 & 0x3ffffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- { uint32_t x95 = (x74 & 0x3ffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- { uint32_t x99 = (x74 & 0x3ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- { uint32_t x103 = (x74 & 0x3ffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- { uint32_t x107 = (x74 & 0x3ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- { uint32_t x111 = (x74 & 0x3ffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- { uint32_t x115 = (x74 & 0x3ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- { uint32_t x119 = (x74 & 0x3ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- { uint32_t x123 = (x74 & 0x3ffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- { uint32_t x127 = (x74 & 0x3ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- { uint32_t x131 = (x74 & 0x1ffffff);
- { uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- out[0] = x77;
- out[1] = x81;
- out[2] = x85;
- out[3] = x89;
- out[4] = x93;
- out[5] = x97;
- out[6] = x101;
- out[7] = x105;
- out[8] = x109;
- out[9] = x113;
- out[10] = x117;
- out[11] = x121;
- out[12] = x125;
- out[13] = x129;
- out[14] = x133;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_15limbs/freeze.v b/src/Specific/solinas32_2e389m21_15limbs/freeze.v
deleted file mode 100644
index 6db9164a8..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.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_2e389m21_15limbs/freezeDisplay.log b/src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.log
deleted file mode 100644
index 9b71caa46..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.log
+++ /dev/null
@@ -1,53 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffeb);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x3ffffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x3ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x3ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x3ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x3ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x3ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x3ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x3ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x3ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x3ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffffff);
- uint32_t x74 = cmovznz32(x73, 0x0, 0xffffffff);
- uint32_t x75 = (x74 & 0x3ffffeb);
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = (x74 & 0x3ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = (x74 & 0x3ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = (x74 & 0x3ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = (x74 & 0x3ffffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = (x74 & 0x3ffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = (x74 & 0x3ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = (x74 & 0x3ffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = (x74 & 0x3ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = (x74 & 0x3ffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = (x74 & 0x3ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = (x74 & 0x3ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = (x74 & 0x3ffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = (x74 & 0x3ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = (x74 & 0x1ffffff);
- uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
-x
- : 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)
diff --git a/src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.v b/src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.v
deleted file mode 100644
index 3ffc3a5c5..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_15limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e389m21_15limbs/py_interpreter.sh b/src/Specific/solinas32_2e389m21_15limbs/py_interpreter.sh
deleted file mode 100755
index f85e35424..000000000
--- a/src/Specific/solinas32_2e389m21_15limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**389 - 21' -Dmodulus_bytes='25 + 14/15' -Da24='121665'
diff --git a/src/Specific/solinas32_2e389m21_16limbs/CurveParameters.v b/src/Specific/solinas32_2e389m21_16limbs/CurveParameters.v
deleted file mode 100644
index 9a5935518..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^389 - 21
-Base: 24 + 5/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 24 + 5/16;
- bitwidth := 32;
- s := 2^389;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e389m21_16limbs/Synthesis.v b/src/Specific/solinas32_2e389m21_16limbs/Synthesis.v
deleted file mode 100644
index 642342c2f..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/compiler.sh b/src/Specific/solinas32_2e389m21_16limbs/compiler.sh
deleted file mode 100755
index 47429856f..000000000
--- a/src/Specific/solinas32_2e389m21_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas32_2e389m21_16limbs/compilerxx.sh b/src/Specific/solinas32_2e389m21_16limbs/compilerxx.sh
deleted file mode 100755
index e9ebc9683..000000000
--- a/src/Specific/solinas32_2e389m21_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas32_2e389m21_16limbs/feadd.c b/src/Specific/solinas32_2e389m21_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e389m21_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_2e389m21_16limbs/feadd.v b/src/Specific/solinas32_2e389m21_16limbs/feadd.v
deleted file mode 100644
index a22e7abe1..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e389m21_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e389m21_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_2e389m21_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e389m21_16limbs/feaddDisplay.v
deleted file mode 100644
index bfe534c6b..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e389m21_16limbs/fecarry.v b/src/Specific/solinas32_2e389m21_16limbs/fecarry.v
deleted file mode 100644
index fdfc82d4b..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e389m21_16limbs/fecarryDisplay.v
deleted file mode 100644
index a390ce603..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e389m21_16limbs/femul.c b/src/Specific/solinas32_2e389m21_16limbs/femul.c
deleted file mode 100644
index 541d9b657..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)x5 * x62) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + (((uint64_t)x29 * x41) + ((0x2 * ((uint64_t)x31 * x39)) + ((0x2 * ((uint64_t)x33 * x37)) + ((uint64_t)x32 * x35))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((0x2 * ((uint64_t)x31 * x37)) + ((uint64_t)x33 * x35))))))))))))))) + (0x15 * ((uint64_t)x32 * x62)));
- { uint64_t x66 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x15 * (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + (((uint64_t)x23 * x41) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((uint64_t)x29 * x35))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x15 * (((uint64_t)x29 * x62) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((uint64_t)x32 * x59))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x15 * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x23 * x35)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x15 * (((uint64_t)x23 * x62) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((uint64_t)x32 * x53)))))))));
- { uint64_t x72 = ((((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)))))))) + (0x15 * (((uint64_t)x21 * x62) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((uint64_t)x32 * x51))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((uint64_t)x15 * x35)))))) + (0x15 * (((uint64_t)x17 * x62) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + ((uint64_t)x32 * x47))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x15 * (((uint64_t)x15 * x62) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((uint64_t)x32 * x45)))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((uint64_t)x11 * x35)))) + (0x15 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((uint64_t)x9 * x35))) + (0x15 * (((uint64_t)x11 * x62) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((uint64_t)x32 * x41)))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x15 * (((uint64_t)x9 * x62) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + (((uint64_t)x33 * x41) + ((uint64_t)x32 * x39))))))))))))))));
- { uint64_t x79 = (((uint64_t)x5 * x35) + (0x15 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x19);
- { uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x18);
- { uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x18);
- { uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- { uint64_t x127 = (x81 + (0x15 * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x19);
- { uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x18);
- { uint32_t x132 = (x130 & 0xffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_16limbs/femul.v b/src/Specific/solinas32_2e389m21_16limbs/femul.v
deleted file mode 100644
index 888ae7164..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/femulDisplay.log b/src/Specific/solinas32_2e389m21_16limbs/femulDisplay.log
deleted file mode 100644
index 23efc380a..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)x5 * x62) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + (((uint64_t)x29 * x41) + ((0x2 * ((uint64_t)x31 * x39)) + ((0x2 * ((uint64_t)x33 * x37)) + ((uint64_t)x32 * x35))))))))))))))));
- uint64_t x65 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((0x2 * ((uint64_t)x31 * x37)) + ((uint64_t)x33 * x35))))))))))))))) + (0x15 * ((uint64_t)x32 * x62)));
- uint64_t x66 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x15 * (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + (((uint64_t)x23 * x41) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((uint64_t)x29 * x35))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x15 * (((uint64_t)x29 * x62) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((uint64_t)x32 * x59))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x15 * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x23 * x35)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- uint64_t x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x15 * (((uint64_t)x23 * x62) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((uint64_t)x32 * x53)))))))));
- uint64_t x72 = ((((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)))))))) + (0x15 * (((uint64_t)x21 * x62) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((uint64_t)x32 * x51))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((uint64_t)x15 * x35)))))) + (0x15 * (((uint64_t)x17 * x62) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + ((uint64_t)x32 * x47))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x15 * (((uint64_t)x15 * x62) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((uint64_t)x32 * x45)))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((uint64_t)x11 * x35)))) + (0x15 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((uint64_t)x9 * x35))) + (0x15 * (((uint64_t)x11 * x62) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((uint64_t)x32 * x41)))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x15 * (((uint64_t)x9 * x62) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + (((uint64_t)x33 * x41) + ((uint64_t)x32 * x39))))))))))))))));
- uint64_t x79 = (((uint64_t)x5 * x35) + (0x15 * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x19);
- uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x18);
- uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x18);
- uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- uint64_t x127 = (x81 + (0x15 * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x19);
- uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x18);
- uint32_t x132 = (x130 & 0xffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e389m21_16limbs/femulDisplay.v b/src/Specific/solinas32_2e389m21_16limbs/femulDisplay.v
deleted file mode 100644
index d7cc968fc..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e389m21_16limbs/fesquare.c b/src/Specific/solinas32_2e389m21_16limbs/fesquare.c
deleted file mode 100644
index 430ed0b75..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * ((uint64_t)x29 * x29)));
- { uint64_t x33 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * (((uint64_t)x26 * x29) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((uint64_t)x29 * x26))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * (((uint64_t)x20 * x29) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((uint64_t)x29 * x20)))))))));
- { uint64_t x39 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x29) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + ((uint64_t)x29 * x14))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x15 * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x15 * (((uint64_t)x8 * x29) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((uint64_t)x29 * x8)))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x15 * (((uint64_t)x6 * x29) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((uint64_t)x29 * x6))))))))))))))));
- { uint64_t x46 = (((uint64_t)x2 * x2) + (0x15 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x19);
- { uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x48 + (0x15 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x18);
- { uint32_t x99 = (x97 & 0xffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_16limbs/fesquare.v b/src/Specific/solinas32_2e389m21_16limbs/fesquare.v
deleted file mode 100644
index 21d57b619..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.log
deleted file mode 100644
index 1e95b9d9b..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * ((uint64_t)x29 * x29)));
- uint64_t x33 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * (((uint64_t)x26 * x29) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((uint64_t)x29 * x26))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * (((uint64_t)x20 * x29) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((uint64_t)x29 * x20)))))))));
- uint64_t x39 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x29) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + ((uint64_t)x29 * x14))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x15 * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x15 * (((uint64_t)x8 * x29) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((uint64_t)x29 * x8)))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x15 * (((uint64_t)x6 * x29) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((uint64_t)x29 * x6))))))))))))))));
- uint64_t x46 = (((uint64_t)x2 * x2) + (0x15 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x19);
- uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x48 + (0x15 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x18);
- uint32_t x99 = (x97 & 0xffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e389m21_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.v
deleted file mode 100644
index 3c86ac785..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e389m21_16limbs/fesub.c b/src/Specific/solinas32_2e389m21_16limbs/fesub.c
deleted file mode 100644
index 31289b421..000000000
--- a/src/Specific/solinas32_2e389m21_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] = ((0x3ffffd6 + x5) - x35);
- out[1] = ((0x1fffffe + x7) - x37);
- out[2] = ((0x1fffffe + x9) - x39);
- out[3] = ((0x3fffffe + x11) - x41);
- out[4] = ((0x1fffffe + x13) - x43);
- out[5] = ((0x1fffffe + x15) - x45);
- out[6] = ((0x3fffffe + x17) - x47);
- out[7] = ((0x1fffffe + x19) - x49);
- out[8] = ((0x1fffffe + x21) - x51);
- out[9] = ((0x3fffffe + x23) - x53);
- out[10] = ((0x1fffffe + x25) - x55);
- out[11] = ((0x1fffffe + x27) - x57);
- out[12] = ((0x3fffffe + x29) - x59);
- out[13] = ((0x1fffffe + x31) - x61);
- out[14] = ((0x1fffffe + x33) - x63);
- out[15] = ((0x1fffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e389m21_16limbs/fesub.v b/src/Specific/solinas32_2e389m21_16limbs/fesub.v
deleted file mode 100644
index 774b8af84..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e389m21_16limbs/fesubDisplay.log
deleted file mode 100644
index 7ce38839e..000000000
--- a/src/Specific/solinas32_2e389m21_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,
- (((0x1fffffe + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0x3fffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0x3fffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0x1fffffe + x19) - x49), ((0x3fffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0x3fffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x3ffffd6 + 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_2e389m21_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e389m21_16limbs/fesubDisplay.v
deleted file mode 100644
index 01c887743..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e389m21_16limbs/freeze.c b/src/Specific/solinas32_2e389m21_16limbs/freeze.c
deleted file mode 100644
index 54164cff7..000000000
--- a/src/Specific/solinas32_2e389m21_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 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffeb);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x1ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x1ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0xffffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0x1ffffeb);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (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_2e389m21_16limbs/freeze.v b/src/Specific/solinas32_2e389m21_16limbs/freeze.v
deleted file mode 100644
index 1a52da835..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e389m21_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_2e389m21_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e389m21_16limbs/freezeDisplay.log
deleted file mode 100644
index eccd435b4..000000000
--- a/src/Specific/solinas32_2e389m21_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 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffeb);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x1ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x1ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0xffffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0x1ffffeb);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (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 & 0x1ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 25 (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 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (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 & 0xffffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (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_2e389m21_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e389m21_16limbs/freezeDisplay.v
deleted file mode 100644
index 2b74f3b84..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e389m21_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e389m21_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e389m21_16limbs/py_interpreter.sh
deleted file mode 100755
index 3f8d9d9d7..000000000
--- a/src/Specific/solinas32_2e389m21_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**389 - 21' -Dmodulus_bytes='24 + 5/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e401m31_16limbs/CurveParameters.v b/src/Specific/solinas32_2e401m31_16limbs/CurveParameters.v
deleted file mode 100644
index 9b085df66..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^401 - 31
-Base: 25 + 1/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 25 + 1/16;
- bitwidth := 32;
- s := 2^401;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e401m31_16limbs/Synthesis.v b/src/Specific/solinas32_2e401m31_16limbs/Synthesis.v
deleted file mode 100644
index 256652b10..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/compiler.sh b/src/Specific/solinas32_2e401m31_16limbs/compiler.sh
deleted file mode 100755
index 3672de690..000000000
--- a/src/Specific/solinas32_2e401m31_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas32_2e401m31_16limbs/compilerxx.sh b/src/Specific/solinas32_2e401m31_16limbs/compilerxx.sh
deleted file mode 100755
index 4c91e49c7..000000000
--- a/src/Specific/solinas32_2e401m31_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas32_2e401m31_16limbs/feadd.c b/src/Specific/solinas32_2e401m31_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e401m31_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_2e401m31_16limbs/feadd.v b/src/Specific/solinas32_2e401m31_16limbs/feadd.v
deleted file mode 100644
index 5e8c3253e..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e401m31_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e401m31_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_2e401m31_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e401m31_16limbs/feaddDisplay.v
deleted file mode 100644
index 85fdd4b5c..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e401m31_16limbs/fecarry.v b/src/Specific/solinas32_2e401m31_16limbs/fecarry.v
deleted file mode 100644
index c4c255ad1..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e401m31_16limbs/fecarryDisplay.v
deleted file mode 100644
index 3f2c37fe5..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e401m31_16limbs/femul.c b/src/Specific/solinas32_2e401m31_16limbs/femul.c
deleted file mode 100644
index 39cd5de4e..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)x5 * x62) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((0x2 * ((uint64_t)x33 * x37)) + ((uint64_t)x32 * x35))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + ((uint64_t)x33 * x35))))))))))))))) + (0x1f * ((uint64_t)x32 * x62)));
- { uint64_t x66 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((0x2 * ((uint64_t)x29 * x37)) + ((uint64_t)x31 * x35)))))))))))))) + (0x1f * (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((uint64_t)x29 * x35))))))))))))) + (0x1f * (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x1f * (((uint64_t)x29 * x62) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((uint64_t)x32 * x59))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x25 * x35))))))))))) + (0x1f * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x23 * x35)))))))))) + (0x1f * (((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 x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x1f * (((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)))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((uint64_t)x19 * x35)))))))) + (0x1f * (((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 x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x1f * (((uint64_t)x19 * x62) + (((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)x32 * x49)))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((uint64_t)x15 * x35)))))) + (0x1f * (((uint64_t)x17 * x62) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + ((uint64_t)x32 * x47))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((uint64_t)x13 * x35))))) + (0x1f * (((uint64_t)x15 * x62) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + ((uint64_t)x32 * x45)))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((uint64_t)x11 * x35)))) + (0x1f * (((uint64_t)x13 * x62) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x32 * x43))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((uint64_t)x9 * x35))) + (0x1f * (((uint64_t)x11 * x62) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x32 * x41)))))))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x1f * (((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)x21 * x53) + (((uint64_t)x23 * x51) + (((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 x79 = (((uint64_t)x5 * x35) + (0x1f * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x78);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x19);
- { uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x19);
- { uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x19);
- { uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x19);
- { uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- { uint64_t x127 = (x81 + (0x1f * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- { uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x19);
- { uint32_t x132 = (x130 & 0x1ffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_16limbs/femul.v b/src/Specific/solinas32_2e401m31_16limbs/femul.v
deleted file mode 100644
index e3834bc9b..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/femulDisplay.log b/src/Specific/solinas32_2e401m31_16limbs/femulDisplay.log
deleted file mode 100644
index 5d597ba6a..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)x5 * x62) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((0x2 * ((uint64_t)x33 * x37)) + ((uint64_t)x32 * x35))))))))))))))));
- uint64_t x65 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((0x2 * ((uint64_t)x31 * x37)) + ((uint64_t)x33 * x35))))))))))))))) + (0x1f * ((uint64_t)x32 * x62)));
- uint64_t x66 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((0x2 * ((uint64_t)x29 * x37)) + ((uint64_t)x31 * x35)))))))))))))) + (0x1f * (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((0x2 * ((uint64_t)x27 * x37)) + ((uint64_t)x29 * x35))))))))))))) + (0x1f * (((uint64_t)x31 * x62) + (((uint64_t)x33 * x63) + ((uint64_t)x32 * x61)))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x1f * (((uint64_t)x29 * x62) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((uint64_t)x32 * x59))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((0x2 * ((uint64_t)x23 * x37)) + ((uint64_t)x25 * x35))))))))))) + (0x1f * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((0x2 * ((uint64_t)x21 * x37)) + ((uint64_t)x23 * x35)))))))))) + (0x1f * (((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 x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x1f * (((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)))))))));
- uint64_t x72 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + ((uint64_t)x19 * x35)))))))) + (0x1f * (((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 x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x1f * (((uint64_t)x19 * x62) + (((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)x32 * x49)))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((0x2 * ((uint64_t)x13 * x37)) + ((uint64_t)x15 * x35)))))) + (0x1f * (((uint64_t)x17 * x62) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + ((uint64_t)x32 * x47))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + ((uint64_t)x13 * x35))))) + (0x1f * (((uint64_t)x15 * x62) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + ((uint64_t)x32 * x45)))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + ((uint64_t)x11 * x35)))) + (0x1f * (((uint64_t)x13 * x62) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x32 * x43))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((uint64_t)x9 * x35))) + (0x1f * (((uint64_t)x11 * x62) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x32 * x41)))))))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) + (0x1f * (((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)x21 * x53) + (((uint64_t)x23 * x51) + (((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 x79 = (((uint64_t)x5 * x35) + (0x1f * ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x78);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x19);
- uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x19);
- uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x19);
- uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x19);
- uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- uint64_t x127 = (x81 + (0x1f * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x19);
- uint32_t x132 = (x130 & 0x1ffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e401m31_16limbs/femulDisplay.v b/src/Specific/solinas32_2e401m31_16limbs/femulDisplay.v
deleted file mode 100644
index 40ea489b7..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e401m31_16limbs/fesquare.c b/src/Specific/solinas32_2e401m31_16limbs/fesquare.c
deleted file mode 100644
index 580bcf5f5..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
- { uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * ((uint64_t)x29 * x29)));
- { uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1f * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1f * (((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 x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1f * (((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)))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1f * (((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 x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1f * (((uint64_t)x16 * x29) + (((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)x29 * x16)))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x29) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((uint64_t)x29 * x8)))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * (((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)x18 * x20) + (((uint64_t)x20 * x18) + (((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 x46 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- { uint64_t x49 = (x47 + x45);
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x48 + (0x1f * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x19);
- { uint32_t x99 = (x97 & 0x1ffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_16limbs/fesquare.v b/src/Specific/solinas32_2e401m31_16limbs/fesquare.v
deleted file mode 100644
index d47984fe1..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.log
deleted file mode 100644
index c1666a6e1..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
- uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * ((uint64_t)x29 * x29)));
- uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1f * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1f * (((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 x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1f * (((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)))))))));
- uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1f * (((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 x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1f * (((uint64_t)x16 * x29) + (((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)x29 * x16)))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x29) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((uint64_t)x29 * x8)))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * (((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)x18 * x20) + (((uint64_t)x20 * x18) + (((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 x46 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
- uint64_t x49 = (x47 + x45);
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x48 + (0x1f * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x19);
- uint32_t x99 = (x97 & 0x1ffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e401m31_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.v
deleted file mode 100644
index f282b99f7..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e401m31_16limbs/fesub.c b/src/Specific/solinas32_2e401m31_16limbs/fesub.c
deleted file mode 100644
index f6e2353b7..000000000
--- a/src/Specific/solinas32_2e401m31_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] = ((0x7ffffc2 + x5) - x35);
- out[1] = ((0x3fffffe + x7) - x37);
- out[2] = ((0x3fffffe + x9) - x39);
- out[3] = ((0x3fffffe + x11) - x41);
- out[4] = ((0x3fffffe + x13) - x43);
- out[5] = ((0x3fffffe + x15) - x45);
- out[6] = ((0x3fffffe + x17) - x47);
- out[7] = ((0x3fffffe + x19) - x49);
- out[8] = ((0x3fffffe + x21) - x51);
- out[9] = ((0x3fffffe + x23) - x53);
- out[10] = ((0x3fffffe + x25) - x55);
- out[11] = ((0x3fffffe + x27) - x57);
- out[12] = ((0x3fffffe + x29) - x59);
- out[13] = ((0x3fffffe + x31) - x61);
- out[14] = ((0x3fffffe + x33) - x63);
- out[15] = ((0x3fffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_16limbs/fesub.v b/src/Specific/solinas32_2e401m31_16limbs/fesub.v
deleted file mode 100644
index 21465227f..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e401m31_16limbs/fesubDisplay.log
deleted file mode 100644
index 97718ab84..000000000
--- a/src/Specific/solinas32_2e401m31_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,
- (((0x3fffffe + x32) - x62), ((0x3fffffe + x33) - x63), ((0x3fffffe + x31) - x61), ((0x3fffffe + x29) - x59), ((0x3fffffe + x27) - x57), ((0x3fffffe + x25) - x55), ((0x3fffffe + x23) - x53), ((0x3fffffe + x21) - x51), ((0x3fffffe + x19) - x49), ((0x3fffffe + x17) - x47), ((0x3fffffe + x15) - x45), ((0x3fffffe + x13) - x43), ((0x3fffffe + x11) - x41), ((0x3fffffe + x9) - x39), ((0x3fffffe + x7) - x37), ((0x7ffffc2 + 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_2e401m31_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e401m31_16limbs/fesubDisplay.v
deleted file mode 100644
index fcc52c549..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e401m31_16limbs/freeze.c b/src/Specific/solinas32_2e401m31_16limbs/freeze.c
deleted file mode 100644
index afca43fcc..000000000
--- a/src/Specific/solinas32_2e401m31_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe1);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x1ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x1ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x1ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x1ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x1ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x1ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x1ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x1ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x1ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x1ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x1ffffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0x3ffffe1);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0x1ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (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_2e401m31_16limbs/freeze.v b/src/Specific/solinas32_2e401m31_16limbs/freeze.v
deleted file mode 100644
index fad369d14..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_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_2e401m31_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e401m31_16limbs/freezeDisplay.log
deleted file mode 100644
index a0de7633b..000000000
--- a/src/Specific/solinas32_2e401m31_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffe1);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x1ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x1ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x1ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x1ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x1ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x1ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x1ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x1ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x1ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x1ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x1ffffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0x3ffffe1);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0x1ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 25 (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 & 0x1ffffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (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_2e401m31_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e401m31_16limbs/freezeDisplay.v
deleted file mode 100644
index 61fd2172a..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e401m31_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e401m31_16limbs/py_interpreter.sh
deleted file mode 100755
index 6ca4da266..000000000
--- a/src/Specific/solinas32_2e401m31_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**401 - 31' -Dmodulus_bytes='25 + 1/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e401m31_17limbs/CurveParameters.v b/src/Specific/solinas32_2e401m31_17limbs/CurveParameters.v
deleted file mode 100644
index 665273bfa..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^401 - 31
-Base: 23 + 10/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 23 + 10/17;
- bitwidth := 32;
- s := 2^401;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e401m31_17limbs/Synthesis.v b/src/Specific/solinas32_2e401m31_17limbs/Synthesis.v
deleted file mode 100644
index 1b3eb7a0f..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/compiler.sh b/src/Specific/solinas32_2e401m31_17limbs/compiler.sh
deleted file mode 100755
index 4dc5105f8..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas32_2e401m31_17limbs/compilerxx.sh b/src/Specific/solinas32_2e401m31_17limbs/compilerxx.sh
deleted file mode 100755
index 2b91c1396..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas32_2e401m31_17limbs/feadd.c b/src/Specific/solinas32_2e401m31_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_17limbs/feadd.v b/src/Specific/solinas32_2e401m31_17limbs/feadd.v
deleted file mode 100644
index f66007d94..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.v
deleted file mode 100644
index 323eeb8ee..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fecarry.v b/src/Specific/solinas32_2e401m31_17limbs/fecarry.v
deleted file mode 100644
index f3fed3b4d..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e401m31_17limbs/fecarryDisplay.v
deleted file mode 100644
index 6e4974117..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e401m31_17limbs/femul.c b/src/Specific/solinas32_2e401m31_17limbs/femul.c
deleted file mode 100644
index b830cdbab..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x34 * x66))));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x1f * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- { uint64_t x72 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x1f * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x1f * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x1f * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x1f * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x1f * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x1f * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x1f * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x1f * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x18);
- { uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x17);
- { uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x18);
- { uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x17);
- { uint32_t x98 = ((uint32_t)x96 & 0x7fffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x18);
- { uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x17);
- { uint32_t x107 = ((uint32_t)x105 & 0x7fffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x17);
- { uint32_t x113 = ((uint32_t)x111 & 0x7fffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x18);
- { uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x18);
- { uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x17);
- { uint32_t x122 = ((uint32_t)x120 & 0x7fffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x18);
- { uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x17);
- { uint32_t x128 = ((uint32_t)x126 & 0x7fffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x18);
- { uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- { uint64_t x132 = (x130 + x68);
- { uint64_t x133 = (x132 >> 0x17);
- { uint32_t x134 = ((uint32_t)x132 & 0x7fffff);
- { uint64_t x135 = (x86 + (0x1f * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x18);
- { uint32_t x137 = ((uint32_t)x135 & 0xffffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x18);
- { uint32_t x140 = (x138 & 0xffffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_17limbs/femul.v b/src/Specific/solinas32_2e401m31_17limbs/femul.v
deleted file mode 100644
index 37c1bd731..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/femulDisplay.log b/src/Specific/solinas32_2e401m31_17limbs/femulDisplay.log
deleted file mode 100644
index 498ed8562..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x34 * x66))));
- uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x1f * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- uint64_t x72 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x1f * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x1f * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x1f * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x1f * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x1f * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x1f * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x1f * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x1f * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x18);
- uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x17);
- uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x18);
- uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x17);
- uint32_t x98 = ((uint32_t)x96 & 0x7fffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x18);
- uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x17);
- uint32_t x107 = ((uint32_t)x105 & 0x7fffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x17);
- uint32_t x113 = ((uint32_t)x111 & 0x7fffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x18);
- uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x18);
- uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x17);
- uint32_t x122 = ((uint32_t)x120 & 0x7fffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x18);
- uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x17);
- uint32_t x128 = ((uint32_t)x126 & 0x7fffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x18);
- uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- uint64_t x132 = (x130 + x68);
- uint64_t x133 = (x132 >> 0x17);
- uint32_t x134 = ((uint32_t)x132 & 0x7fffff);
- uint64_t x135 = (x86 + (0x1f * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x18);
- uint32_t x137 = ((uint32_t)x135 & 0xffffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x18);
- uint32_t x140 = (x138 & 0xffffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31_17limbs/femulDisplay.v b/src/Specific/solinas32_2e401m31_17limbs/femulDisplay.v
deleted file mode 100644
index 0c5e08bb2..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fesquare.c b/src/Specific/solinas32_2e401m31_17limbs/fesquare.c
deleted file mode 100644
index 598997beb..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x31 * x31))));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- { uint64_t x42 = ((((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)))))))) + (0x1f * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x18);
- { uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x17);
- { uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x17);
- { uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x17);
- { uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x17);
- { uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x33);
- { uint64_t x98 = (x97 >> 0x17);
- { uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- { uint64_t x100 = (x51 + (0x1f * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x18);
- { uint32_t x105 = (x103 & 0xffffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fesquare.v b/src/Specific/solinas32_2e401m31_17limbs/fesquare.v
deleted file mode 100644
index a8242f17a..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.log
deleted file mode 100644
index e6d2e372c..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x31 * x31))));
- uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- uint64_t x42 = ((((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)))))))) + (0x1f * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x18);
- uint32_t x51 = ((uint32_t)x49 & 0xffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x17);
- uint32_t x57 = ((uint32_t)x55 & 0x7fffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x17);
- uint32_t x63 = ((uint32_t)x61 & 0x7fffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x17);
- uint32_t x78 = ((uint32_t)x76 & 0x7fffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x17);
- uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x33);
- uint64_t x98 = (x97 >> 0x17);
- uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- uint64_t x100 = (x51 + (0x1f * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x18);
- uint32_t x105 = (x103 & 0xffffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.v
deleted file mode 100644
index f8865e160..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fesub.c b/src/Specific/solinas32_2e401m31_17limbs/fesub.c
deleted file mode 100644
index 4860a8735..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0x1ffffc2 + x5) - x37);
- out[1] = ((0x1fffffe + x7) - x39);
- out[2] = ((0xfffffe + x9) - x41);
- out[3] = ((0x1fffffe + x11) - x43);
- out[4] = ((0xfffffe + x13) - x45);
- out[5] = ((0x1fffffe + x15) - x47);
- out[6] = ((0x1fffffe + x17) - x49);
- out[7] = ((0xfffffe + x19) - x51);
- out[8] = ((0x1fffffe + x21) - x53);
- out[9] = ((0xfffffe + x23) - x55);
- out[10] = ((0x1fffffe + x25) - x57);
- out[11] = ((0x1fffffe + x27) - x59);
- out[12] = ((0xfffffe + x29) - x61);
- out[13] = ((0x1fffffe + x31) - x63);
- out[14] = ((0xfffffe + x33) - x65);
- out[15] = ((0x1fffffe + x35) - x67);
- out[16] = ((0xfffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fesub.v b/src/Specific/solinas32_2e401m31_17limbs/fesub.v
deleted file mode 100644
index a0e85743c..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.log
deleted file mode 100644
index 12835d864..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0xfffffe + x34) - x66), ((0x1fffffe + x35) - x67), ((0xfffffe + x33) - x65), ((0x1fffffe + x31) - x63), ((0xfffffe + x29) - x61), ((0x1fffffe + x27) - x59), ((0x1fffffe + x25) - x57), ((0xfffffe + x23) - x55), ((0x1fffffe + x21) - x53), ((0xfffffe + x19) - x51), ((0x1fffffe + x17) - x49), ((0x1fffffe + x15) - x47), ((0xfffffe + x13) - x45), ((0x1fffffe + x11) - x43), ((0xfffffe + x9) - x41), ((0x1fffffe + x7) - x39), ((0x1ffffc2 + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.v
deleted file mode 100644
index 9d82dbfbb..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e401m31_17limbs/freeze.c b/src/Specific/solinas32_2e401m31_17limbs/freeze.c
deleted file mode 100644
index 20404a23b..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe1);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0xffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x7fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x7fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x7fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x7fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x7fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x7fffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0xffffe1);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x7fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0xffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x7fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0xffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0xffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x7fffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0xffffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x7fffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0xffffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0xffffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x7fffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0xffffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x7fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0xffffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x7fffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e401m31_17limbs/freeze.v b/src/Specific/solinas32_2e401m31_17limbs/freeze.v
deleted file mode 100644
index 880adcfcc..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.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_2e401m31_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.log
deleted file mode 100644
index e8e584f85..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe1);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x7fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x7fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x7fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x7fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x7fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x7fffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0xffffe1);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x7fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0xffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x7fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0xffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0xffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x7fffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0xffffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x7fffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0xffffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0xffffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x7fffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0xffffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x7fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0xffffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x7fffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.v
deleted file mode 100644
index f7cd6df88..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e401m31_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e401m31_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e401m31_17limbs/py_interpreter.sh
deleted file mode 100755
index 5a4c650f2..000000000
--- a/src/Specific/solinas32_2e401m31_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**401 - 31' -Dmodulus_bytes='23 + 10/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e413m21_16limbs/CurveParameters.v b/src/Specific/solinas32_2e413m21_16limbs/CurveParameters.v
deleted file mode 100644
index e768051fd..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^413 - 21
-Base: 25 + 13/16
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 25 + 13/16;
- bitwidth := 32;
- s := 2^413;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e413m21_16limbs/Synthesis.v b/src/Specific/solinas32_2e413m21_16limbs/Synthesis.v
deleted file mode 100644
index 168ec3a3c..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/compiler.sh b/src/Specific/solinas32_2e413m21_16limbs/compiler.sh
deleted file mode 100755
index 9793f3d2a..000000000
--- a/src/Specific/solinas32_2e413m21_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,25,26,26,26,26,25,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas32_2e413m21_16limbs/compilerxx.sh b/src/Specific/solinas32_2e413m21_16limbs/compilerxx.sh
deleted file mode 100755
index a3435756b..000000000
--- a/src/Specific/solinas32_2e413m21_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,25,26,26,26,26,25,26,26,26,26,25}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas32_2e413m21_16limbs/feadd.c b/src/Specific/solinas32_2e413m21_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e413m21_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_2e413m21_16limbs/feadd.v b/src/Specific/solinas32_2e413m21_16limbs/feadd.v
deleted file mode 100644
index 9d4b6e686..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e413m21_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e413m21_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_2e413m21_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e413m21_16limbs/feaddDisplay.v
deleted file mode 100644
index b56dfe2dd..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e413m21_16limbs/fecarry.v b/src/Specific/solinas32_2e413m21_16limbs/fecarry.v
deleted file mode 100644
index c3c46fafb..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e413m21_16limbs/fecarryDisplay.v
deleted file mode 100644
index 38a4b76ee..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e413m21_16limbs/femul.c b/src/Specific/solinas32_2e413m21_16limbs/femul.c
deleted file mode 100644
index 9fddbd58d..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)x5 * x62) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + ((0x2 * ((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 x65 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + (((uint64_t)x31 * x37) + ((uint64_t)x33 * x35))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x32 * x62))));
- { uint64_t x66 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x15 * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x62)) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (0x2 * ((uint64_t)x32 * x55)))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((uint64_t)x21 * x35))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- { uint64_t x72 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + ((uint64_t)x19 * x35)))))))) + (0x15 * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x15 * (((uint64_t)x17 * x62) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + ((uint64_t)x32 * x47))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x15 * ((0x2 * ((uint64_t)x15 * x62)) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x15 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x15 * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- { ℤ x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- { ℤ x79 = (((uint64_t)x5 * x35) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = (x79 & 0x3ffffff);
- { ℤ x82 = (x80 +ℤ x78);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = (x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x1a);
- { uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x1a);
- { uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x1a);
- { uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x1a);
- { uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x1a);
- { uint32_t x123 = ((uint32_t)x121 & 0x3ffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x19);
- { uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- { uint64_t x127 = (x81 + (0x15 * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- { uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x1a);
- { uint32_t x132 = (x130 & 0x3ffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_16limbs/femul.v b/src/Specific/solinas32_2e413m21_16limbs/femul.v
deleted file mode 100644
index 4a9365973..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/femulDisplay.log b/src/Specific/solinas32_2e413m21_16limbs/femulDisplay.log
deleted file mode 100644
index 1e744ca34..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)x5 * x62) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + ((0x2 * ((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 x65 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + (((uint64_t)x31 * x37) + ((uint64_t)x33 * x35))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x32 * x62))));
- uint64_t x66 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x27 * x35)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x15 * (((uint64_t)x27 * x62) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x32 * x57)))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x62)) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (0x2 * ((uint64_t)x32 * x55)))))))));
- uint64_t x71 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + ((uint64_t)x21 * x35))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- uint64_t x72 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + (((uint64_t)x17 * x37) + ((uint64_t)x19 * x35)))))))) + (0x15 * ((0x2 * ((uint64_t)x21 * x62)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (0x2 * ((uint64_t)x32 * x51)))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((0x2 * ((uint64_t)x15 * x37)) + ((uint64_t)x17 * x35))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x62)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x15 * (((uint64_t)x17 * x62) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + ((uint64_t)x32 * x47))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x15 * ((0x2 * ((uint64_t)x15 * x62)) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x15 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x15 * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- ℤ x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- ℤ x79 = (((uint64_t)x5 * x35) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = (x79 & 0x3ffffff);
- ℤ x82 = (x80 +ℤ x78);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = (x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x1a);
- uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x1a);
- uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x1a);
- uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x1a);
- uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x1a);
- uint32_t x123 = ((uint32_t)x121 & 0x3ffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x19);
- uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- uint64_t x127 = (x81 + (0x15 * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x1a);
- uint32_t x132 = (x130 & 0x3ffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e413m21_16limbs/femulDisplay.v b/src/Specific/solinas32_2e413m21_16limbs/femulDisplay.v
deleted file mode 100644
index 5d983dca7..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e413m21_16limbs/fesquare.c b/src/Specific/solinas32_2e413m21_16limbs/fesquare.c
deleted file mode 100644
index 08b5c83ec..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)x2 * x29) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((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 x32 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x29 * x29))));
- { uint64_t x33 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x29)) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (0x2 * ((uint64_t)x29 * x22)))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x15 * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint64_t)x12 * x29)) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x15 * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- { ℤ x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- { ℤ x46 = (((uint64_t)x2 * x2) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = (x46 & 0x3ffffff);
- { ℤ x49 = (x47 +ℤ x45);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = (x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x48 + (0x15 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = (x97 & 0x3ffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_16limbs/fesquare.v b/src/Specific/solinas32_2e413m21_16limbs/fesquare.v
deleted file mode 100644
index 6fbf86ea0..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.log
deleted file mode 100644
index c0237da32..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)x2 * x29) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((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 x32 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x29 * x29))));
- uint64_t x33 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x29)) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (0x2 * ((uint64_t)x29 * x22)))))))));
- uint64_t x38 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- uint64_t x39 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x15 * ((0x2 * ((uint64_t)x18 * x29)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (0x2 * ((uint64_t)x29 * x18)))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x29)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint64_t)x12 * x29)) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x15 * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- ℤ x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- ℤ x46 = (((uint64_t)x2 * x2) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = (x46 & 0x3ffffff);
- ℤ x49 = (x47 +ℤ x45);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = (x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x48 + (0x15 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x1a);
- uint32_t x99 = (x97 & 0x3ffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e413m21_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.v
deleted file mode 100644
index cdea60354..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e413m21_16limbs/fesub.c b/src/Specific/solinas32_2e413m21_16limbs/fesub.c
deleted file mode 100644
index 521b0bd2d..000000000
--- a/src/Specific/solinas32_2e413m21_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] = ((0x7ffffd6 + x5) - x35);
- out[1] = ((0x7fffffe + x7) - x37);
- out[2] = ((0x7fffffe + x9) - x39);
- out[3] = ((0x7fffffe + x11) - x41);
- out[4] = ((0x7fffffe + x13) - x43);
- out[5] = ((0x3fffffe + x15) - x45);
- out[6] = ((0x7fffffe + x17) - x47);
- out[7] = ((0x7fffffe + x19) - x49);
- out[8] = ((0x7fffffe + x21) - x51);
- out[9] = ((0x7fffffe + x23) - x53);
- out[10] = ((0x3fffffe + x25) - x55);
- out[11] = ((0x7fffffe + x27) - x57);
- out[12] = ((0x7fffffe + x29) - x59);
- out[13] = ((0x7fffffe + x31) - x61);
- out[14] = ((0x7fffffe + x33) - x63);
- out[15] = ((0x3fffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_16limbs/fesub.v b/src/Specific/solinas32_2e413m21_16limbs/fesub.v
deleted file mode 100644
index f0eb80343..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e413m21_16limbs/fesubDisplay.log
deleted file mode 100644
index bfac52a38..000000000
--- a/src/Specific/solinas32_2e413m21_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,
- (((0x3fffffe + x32) - x62), ((0x7fffffe + x33) - x63), ((0x7fffffe + x31) - x61), ((0x7fffffe + x29) - x59), ((0x7fffffe + x27) - x57), ((0x3fffffe + x25) - x55), ((0x7fffffe + x23) - x53), ((0x7fffffe + x21) - x51), ((0x7fffffe + x19) - x49), ((0x7fffffe + x17) - x47), ((0x3fffffe + x15) - x45), ((0x7fffffe + x13) - x43), ((0x7fffffe + x11) - x41), ((0x7fffffe + x9) - x39), ((0x7fffffe + x7) - x37), ((0x7ffffd6 + 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_2e413m21_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e413m21_16limbs/fesubDisplay.v
deleted file mode 100644
index 3a42f9bb5..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e413m21_16limbs/freeze.c b/src/Specific/solinas32_2e413m21_16limbs/freeze.c
deleted file mode 100644
index 939da9121..000000000
--- a/src/Specific/solinas32_2e413m21_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffeb);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x3ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x1ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x3ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x3ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x3ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x1ffffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0x3ffffeb);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0x3ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (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 & 0x3ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (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 & 0x3ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (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_2e413m21_16limbs/freeze.v b/src/Specific/solinas32_2e413m21_16limbs/freeze.v
deleted file mode 100644
index 9f29c8580..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_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_2e413m21_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e413m21_16limbs/freezeDisplay.log
deleted file mode 100644
index e9c73f3aa..000000000
--- a/src/Specific/solinas32_2e413m21_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffeb);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x3ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x1ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x3ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x3ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x3ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x1ffffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0x3ffffeb);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0x3ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (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 & 0x3ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (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 & 0x3ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (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_2e413m21_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e413m21_16limbs/freezeDisplay.v
deleted file mode 100644
index 9c4e3c1aa..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e413m21_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e413m21_16limbs/py_interpreter.sh
deleted file mode 100755
index cf6970698..000000000
--- a/src/Specific/solinas32_2e413m21_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**413 - 21' -Dmodulus_bytes='25 + 13/16' -Da24='121665'
diff --git a/src/Specific/solinas32_2e413m21_17limbs/CurveParameters.v b/src/Specific/solinas32_2e413m21_17limbs/CurveParameters.v
deleted file mode 100644
index b8c9959e5..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^413 - 21
-Base: 24 + 5/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 24 + 5/17;
- bitwidth := 32;
- s := 2^413;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e413m21_17limbs/Synthesis.v b/src/Specific/solinas32_2e413m21_17limbs/Synthesis.v
deleted file mode 100644
index 6ff1d0a5a..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/compiler.sh b/src/Specific/solinas32_2e413m21_17limbs/compiler.sh
deleted file mode 100755
index 03f529b51..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas32_2e413m21_17limbs/compilerxx.sh b/src/Specific/solinas32_2e413m21_17limbs/compilerxx.sh
deleted file mode 100755
index abcfd70b8..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,24,25,24,24,25,24,24,24,25,24,24,25,24,24,24}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas32_2e413m21_17limbs/feadd.c b/src/Specific/solinas32_2e413m21_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_17limbs/feadd.v b/src/Specific/solinas32_2e413m21_17limbs/feadd.v
deleted file mode 100644
index d9e02d85f..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.v
deleted file mode 100644
index e5bce0617..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fecarry.v b/src/Specific/solinas32_2e413m21_17limbs/fecarry.v
deleted file mode 100644
index 2a75748a4..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e413m21_17limbs/fecarryDisplay.v
deleted file mode 100644
index 752005f0f..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e413m21_17limbs/femul.c b/src/Specific/solinas32_2e413m21_17limbs/femul.c
deleted file mode 100644
index 300e70212..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x15 * ((uint64_t)x34 * x66)));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((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))))))))))))))) + (0x15 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x66)) + ((0x2 * ((uint64_t)x35 * x67)) + (0x2 * ((uint64_t)x34 * x65))))));
- { uint64_t x72 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((0x2 * ((uint64_t)x27 * x39)) + ((uint64_t)x29 * x37))))))))))))) + (0x15 * (((uint64_t)x31 * x66) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x15 * (((uint64_t)x29 * x66) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((uint64_t)x34 * x61)))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x15 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((uint64_t)x23 * x37)))))))))) + (0x15 * (((uint64_t)x25 * x66) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x15 * (((uint64_t)x23 * x66) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((uint64_t)x34 * x55))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x15 * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((uint64_t)x17 * x37))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x66)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x15 * (((uint64_t)x17 * x66) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + ((uint64_t)x34 * x49)))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x15 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x15 * ((0x2 * ((uint64_t)x13 * x66)) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + ((0x2 * ((uint64_t)x35 * x47)) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x15 * (((uint64_t)x11 * x66) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x15 * (((uint64_t)x9 * x66) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + ((uint64_t)x34 * x41)))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x15 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x19);
- { uint32_t x86 = ((uint32_t)x84 & 0x1ffffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x18);
- { uint32_t x92 = ((uint32_t)x90 & 0xffffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x19);
- { uint32_t x95 = ((uint32_t)x93 & 0x1ffffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x18);
- { uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x18);
- { uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x19);
- { uint32_t x104 = ((uint32_t)x102 & 0x1ffffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x18);
- { uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x18);
- { uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x19);
- { uint32_t x116 = ((uint32_t)x114 & 0x1ffffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x18);
- { uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x18);
- { uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x19);
- { uint32_t x125 = ((uint32_t)x123 & 0x1ffffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x18);
- { uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x18);
- { uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- { uint64_t x132 = (x130 + x68);
- { uint64_t x133 = (x132 >> 0x18);
- { uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- { uint64_t x135 = (x86 + (0x15 * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x19);
- { uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x18);
- { uint32_t x140 = (x138 & 0xffffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_17limbs/femul.v b/src/Specific/solinas32_2e413m21_17limbs/femul.v
deleted file mode 100644
index 086f225b2..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/femulDisplay.log b/src/Specific/solinas32_2e413m21_17limbs/femulDisplay.log
deleted file mode 100644
index afa21f5b3..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x15 * ((uint64_t)x34 * x66)));
- uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((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))))))))))))))) + (0x15 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x66)) + ((0x2 * ((uint64_t)x35 * x67)) + (0x2 * ((uint64_t)x34 * x65))))));
- uint64_t x72 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((0x2 * ((uint64_t)x27 * x39)) + ((uint64_t)x29 * x37))))))))))))) + (0x15 * (((uint64_t)x31 * x66) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x15 * (((uint64_t)x29 * x66) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((uint64_t)x34 * x61)))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x15 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + ((0x2 * ((uint64_t)x21 * x39)) + ((uint64_t)x23 * x37)))))))))) + (0x15 * (((uint64_t)x25 * x66) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x15 * (((uint64_t)x23 * x66) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((uint64_t)x34 * x55))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x15 * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((uint64_t)x17 * x37))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x66)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x15 * (((uint64_t)x17 * x66) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + ((uint64_t)x34 * x49)))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x15 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x15 * ((0x2 * ((uint64_t)x13 * x66)) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + ((0x2 * ((uint64_t)x35 * x47)) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x15 * (((uint64_t)x11 * x66) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x15 * (((uint64_t)x9 * x66) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + ((uint64_t)x34 * x41)))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x15 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x19);
- uint32_t x86 = ((uint32_t)x84 & 0x1ffffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x18);
- uint32_t x92 = ((uint32_t)x90 & 0xffffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x19);
- uint32_t x95 = ((uint32_t)x93 & 0x1ffffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x18);
- uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x18);
- uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x19);
- uint32_t x104 = ((uint32_t)x102 & 0x1ffffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x18);
- uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x18);
- uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x19);
- uint32_t x116 = ((uint32_t)x114 & 0x1ffffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x18);
- uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x18);
- uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x19);
- uint32_t x125 = ((uint32_t)x123 & 0x1ffffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x18);
- uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x18);
- uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- uint64_t x132 = (x130 + x68);
- uint64_t x133 = (x132 >> 0x18);
- uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- uint64_t x135 = (x86 + (0x15 * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x19);
- uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x18);
- uint32_t x140 = (x138 & 0xffffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e413m21_17limbs/femulDisplay.v b/src/Specific/solinas32_2e413m21_17limbs/femulDisplay.v
deleted file mode 100644
index b0d357f3e..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fesquare.c b/src/Specific/solinas32_2e413m21_17limbs/fesquare.c
deleted file mode 100644
index 52d60a008..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x15 * ((uint64_t)x31 * x31)));
- { uint64_t x35 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x15 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x31)) + ((0x2 * ((uint64_t)x32 * x32)) + (0x2 * ((uint64_t)x31 * x30))))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * (((uint64_t)x28 * x31) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * (((uint64_t)x26 * x31) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + ((uint64_t)x31 * x26)))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x15 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x15 * (((uint64_t)x22 * x31) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * (((uint64_t)x20 * x31) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + ((uint64_t)x31 * x20))))))))));
- { uint64_t x42 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x31)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x31) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((uint64_t)x31 * x14)))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x15 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint64_t)x10 * x31)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x15 * (((uint64_t)x8 * x31) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x15 * (((uint64_t)x6 * x31) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((uint64_t)x31 * x6)))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x15 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x18);
- { uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x33);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x51 + (0x15 * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x18);
- { uint32_t x105 = (x103 & 0xffffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fesquare.v b/src/Specific/solinas32_2e413m21_17limbs/fesquare.v
deleted file mode 100644
index 70c272091..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.log
deleted file mode 100644
index 4c8f706fe..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x15 * ((uint64_t)x31 * x31)));
- uint64_t x35 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x15 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x31)) + ((0x2 * ((uint64_t)x32 * x32)) + (0x2 * ((uint64_t)x31 * x30))))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * (((uint64_t)x28 * x31) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * (((uint64_t)x26 * x31) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + ((uint64_t)x31 * x26)))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x15 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x15 * (((uint64_t)x22 * x31) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * (((uint64_t)x20 * x31) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + ((uint64_t)x31 * x20))))))))));
- uint64_t x42 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x31)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x31) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((uint64_t)x31 * x14)))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x15 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint64_t)x10 * x31)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x15 * (((uint64_t)x8 * x31) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x15 * (((uint64_t)x6 * x31) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((uint64_t)x31 * x6)))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x15 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x18);
- uint32_t x57 = ((uint32_t)x55 & 0xffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x33);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x51 + (0x15 * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x18);
- uint32_t x105 = (x103 & 0xffffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.v
deleted file mode 100644
index b84904b6d..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fesub.c b/src/Specific/solinas32_2e413m21_17limbs/fesub.c
deleted file mode 100644
index 96318485c..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0x3ffffd6 + x5) - x37);
- out[1] = ((0x1fffffe + x7) - x39);
- out[2] = ((0x1fffffe + x9) - x41);
- out[3] = ((0x3fffffe + x11) - x43);
- out[4] = ((0x1fffffe + x13) - x45);
- out[5] = ((0x1fffffe + x15) - x47);
- out[6] = ((0x3fffffe + x17) - x49);
- out[7] = ((0x1fffffe + x19) - x51);
- out[8] = ((0x1fffffe + x21) - x53);
- out[9] = ((0x1fffffe + x23) - x55);
- out[10] = ((0x3fffffe + x25) - x57);
- out[11] = ((0x1fffffe + x27) - x59);
- out[12] = ((0x1fffffe + x29) - x61);
- out[13] = ((0x3fffffe + x31) - x63);
- out[14] = ((0x1fffffe + x33) - x65);
- out[15] = ((0x1fffffe + x35) - x67);
- out[16] = ((0x1fffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fesub.v b/src/Specific/solinas32_2e413m21_17limbs/fesub.v
deleted file mode 100644
index ec1c54be4..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.log
deleted file mode 100644
index 930fe52b6..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x1fffffe + x34) - x66), ((0x1fffffe + x35) - x67), ((0x1fffffe + x33) - x65), ((0x3fffffe + x31) - x63), ((0x1fffffe + x29) - x61), ((0x1fffffe + x27) - x59), ((0x3fffffe + x25) - x57), ((0x1fffffe + x23) - x55), ((0x1fffffe + x21) - x53), ((0x1fffffe + x19) - x51), ((0x3fffffe + x17) - x49), ((0x1fffffe + x15) - x47), ((0x1fffffe + x13) - x45), ((0x3fffffe + x11) - x43), ((0x1fffffe + x9) - x41), ((0x1fffffe + x7) - x39), ((0x3ffffd6 + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.v
deleted file mode 100644
index ed7790db7..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e413m21_17limbs/freeze.c b/src/Specific/solinas32_2e413m21_17limbs/freeze.c
deleted file mode 100644
index 5458feafa..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffeb);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0xffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0xffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x1ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x1ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x1ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0xffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x1ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0xffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0xffffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x1ffffeb);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0xffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x1ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0xffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0xffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x1ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0xffffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0xffffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0xffffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x1ffffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0xffffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0xffffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x1ffffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0xffffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0xffffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0xffffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e413m21_17limbs/freeze.v b/src/Specific/solinas32_2e413m21_17limbs/freeze.v
deleted file mode 100644
index 70c66d9b5..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.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_2e413m21_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.log
deleted file mode 100644
index 0c486296d..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffeb);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x1ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x1ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x1ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0xffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x1ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0xffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0xffffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x1ffffeb);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0xffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x1ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0xffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0xffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x1ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0xffffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0xffffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0xffffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x1ffffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0xffffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0xffffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x1ffffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0xffffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0xffffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0xffffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.v
deleted file mode 100644
index 9b7983935..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e413m21_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e413m21_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e413m21_17limbs/py_interpreter.sh
deleted file mode 100755
index dc4eaca33..000000000
--- a/src/Specific/solinas32_2e413m21_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**413 - 21' -Dmodulus_bytes='24 + 5/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e414m17_16limbs/CurveParameters.v b/src/Specific/solinas32_2e414m17_16limbs/CurveParameters.v
deleted file mode 100644
index 1ae1463eb..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^414 - 17
-Base: 25.875
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 25 + 7/8;
- bitwidth := 32;
- s := 2^414;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 16); [0; 1]]%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_2e414m17_16limbs/Synthesis.v b/src/Specific/solinas32_2e414m17_16limbs/Synthesis.v
deleted file mode 100644
index 9dccb57c7..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/compiler.sh b/src/Specific/solinas32_2e414m17_16limbs/compiler.sh
deleted file mode 100755
index ff783eeb8..000000000
--- a/src/Specific/solinas32_2e414m17_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,25,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas32_2e414m17_16limbs/compilerxx.sh b/src/Specific/solinas32_2e414m17_16limbs/compilerxx.sh
deleted file mode 100755
index 9c718a116..000000000
--- a/src/Specific/solinas32_2e414m17_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,25,26,26,26,26,26,26,26,25}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas32_2e414m17_16limbs/feadd.c b/src/Specific/solinas32_2e414m17_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e414m17_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_2e414m17_16limbs/feadd.v b/src/Specific/solinas32_2e414m17_16limbs/feadd.v
deleted file mode 100644
index b28c0593a..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e414m17_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e414m17_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_2e414m17_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e414m17_16limbs/feaddDisplay.v
deleted file mode 100644
index 59424ced3..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e414m17_16limbs/fecarry.v b/src/Specific/solinas32_2e414m17_16limbs/fecarry.v
deleted file mode 100644
index d3937f8d7..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e414m17_16limbs/fecarryDisplay.v
deleted file mode 100644
index 410a8732b..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e414m17_16limbs/femul.c b/src/Specific/solinas32_2e414m17_16limbs/femul.c
deleted file mode 100644
index 4d31fcfa7..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/femul.c
+++ /dev/null
@@ -1,120 +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)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 x65 = ((((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) + ((0x2 * ((uint64_t)x19 * x49)) + (((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))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x32 * x62))));
- { uint64_t x66 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- { uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- { uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- { uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- { uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- { uint64_t x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- { uint64_t x72 = ((((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)))))))) + (0x11 * (((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 x73 = ((((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))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x62)) + (((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) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x11 * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- { ℤ x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- { ℤ x79 = (((uint64_t)x5 * x35) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = (x79 & 0x3ffffff);
- { ℤ x82 = (x80 +ℤ x78);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = (x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x77);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x76);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x75);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x74);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x73);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x72);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x71);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x104 + x70);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x69);
- { uint64_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- { uint64_t x112 = (x110 + x68);
- { uint64_t x113 = (x112 >> 0x1a);
- { uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- { uint64_t x115 = (x113 + x67);
- { uint64_t x116 = (x115 >> 0x1a);
- { uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- { uint64_t x118 = (x116 + x66);
- { uint64_t x119 = (x118 >> 0x1a);
- { uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- { uint64_t x121 = (x119 + x65);
- { uint64_t x122 = (x121 >> 0x1a);
- { uint32_t x123 = ((uint32_t)x121 & 0x3ffffff);
- { uint64_t x124 = (x122 + x64);
- { uint64_t x125 = (x124 >> 0x19);
- { uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- { uint64_t x127 = (x81 + (0x11 * x125));
- { uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- { uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- { uint32_t x130 = (x128 + x84);
- { uint32_t x131 = (x130 >> 0x1a);
- { uint32_t x132 = (x130 & 0x3ffffff);
- out[0] = x129;
- out[1] = x132;
- out[2] = (x131 + x87);
- out[3] = x90;
- out[4] = x93;
- out[5] = x96;
- out[6] = x99;
- out[7] = x102;
- out[8] = x105;
- out[9] = x108;
- out[10] = x111;
- out[11] = x114;
- out[12] = x117;
- out[13] = x120;
- out[14] = x123;
- out[15] = x126;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_16limbs/femul.v b/src/Specific/solinas32_2e414m17_16limbs/femul.v
deleted file mode 100644
index 23d88f754..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/femulDisplay.log b/src/Specific/solinas32_2e414m17_16limbs/femulDisplay.log
deleted file mode 100644
index a7447d8a1..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/femulDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x65 = ((((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) + ((0x2 * ((uint64_t)x19 * x49)) + (((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))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x32 * x62))));
- uint64_t x66 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x31 * x35)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x33 * x62)) + (0x2 * ((uint64_t)x32 * x63)))));
- uint64_t x67 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x29 * x35))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x62)) + ((0x2 * ((uint64_t)x33 * x63)) + (0x2 * ((uint64_t)x32 * x61))))));
- uint64_t x68 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x27 * x35)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x62)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + (0x2 * ((uint64_t)x32 * x59)))))));
- uint64_t x69 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((uint64_t)x25 * x35))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x62)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (0x2 * ((uint64_t)x32 * x57))))))));
- uint64_t x70 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + (((uint64_t)x21 * x37) + ((uint64_t)x23 * x35)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x62)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + (0x2 * ((uint64_t)x32 * x55)))))))));
- uint64_t x71 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + ((uint64_t)x21 * x35))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x62)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (0x2 * ((uint64_t)x32 * x53))))))))));
- uint64_t x72 = ((((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)))))))) + (0x11 * (((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 x73 = ((((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))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x62)) + (((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) + (0x2 * ((uint64_t)x32 * x49))))))))))));
- uint64_t x74 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + ((uint64_t)x15 * x35)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x62)) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (0x2 * ((uint64_t)x32 * x47)))))))))))));
- uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((uint64_t)x13 * x35))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x62)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (0x2 * ((uint64_t)x32 * x45))))))))))))));
- uint64_t x76 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + ((uint64_t)x11 * x35)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x62)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + (0x2 * ((uint64_t)x32 * x43)))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + ((uint64_t)x9 * x35))) + (0x11 * ((0x2 * ((uint64_t)x11 * x62)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + (0x2 * ((uint64_t)x32 * x41))))))))))))))));
- ℤ x78 = ((((uint64_t)x5 * x37) + ((uint64_t)x7 * x35)) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x9 * x62)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + (0x2 * ((uint64_t)x32 * x39)))))))))))))))));
- ℤ x79 = (((uint64_t)x5 * x35) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x7 * x62)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + (0x2 * ((uint64_t)x32 * x37))))))))))))))))));
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = (x79 & 0x3ffffff);
- ℤ x82 = (x80 +ℤ x78);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = (x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x77);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x76);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x75);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x74);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x73);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x72);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x71);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x70);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x69);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x110 + x68);
- uint64_t x113 = (x112 >> 0x1a);
- uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- uint64_t x115 = (x113 + x67);
- uint64_t x116 = (x115 >> 0x1a);
- uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- uint64_t x118 = (x116 + x66);
- uint64_t x119 = (x118 >> 0x1a);
- uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- uint64_t x121 = (x119 + x65);
- uint64_t x122 = (x121 >> 0x1a);
- uint32_t x123 = ((uint32_t)x121 & 0x3ffffff);
- uint64_t x124 = (x122 + x64);
- uint64_t x125 = (x124 >> 0x19);
- uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- uint64_t x127 = (x81 + (0x11 * x125));
- uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- uint32_t x130 = (x128 + x84);
- uint32_t x131 = (x130 >> 0x1a);
- uint32_t x132 = (x130 & 0x3ffffff);
- return (Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, (x131 + x87), Return x132, Return x129))
-(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_2e414m17_16limbs/femulDisplay.v b/src/Specific/solinas32_2e414m17_16limbs/femulDisplay.v
deleted file mode 100644
index 6e72de813..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e414m17_16limbs/fesquare.c b/src/Specific/solinas32_2e414m17_16limbs/fesquare.c
deleted file mode 100644
index 833a39627..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fesquare.c
+++ /dev/null
@@ -1,104 +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)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 x32 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x29 * x29))));
- { uint64_t x33 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- { uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- { uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- { uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- { uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- { uint64_t x39 = ((((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)))))))) + (0x11 * (((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 x40 = ((((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))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x29)) + (((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) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- { ℤ x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- { ℤ x46 = (((uint64_t)x2 * x2) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- { uint64_t x47 = (x46 >> 0x1a);
- { uint32_t x48 = (x46 & 0x3ffffff);
- { ℤ x49 = (x47 +ℤ x45);
- { uint64_t x50 = (x49 >> 0x1a);
- { uint32_t x51 = (x49 & 0x3ffffff);
- { uint64_t x52 = (x50 + x44);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x43);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x42);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x41);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x40);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x39);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x38);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x37);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x36);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x35);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x34);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x33);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x32);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x31);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x48 + (0x11 * x92));
- { uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint32_t x97 = (x95 + x51);
- { uint32_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = (x97 & 0x3ffffff);
- out[0] = x96;
- out[1] = x99;
- out[2] = (x98 + x54);
- out[3] = x57;
- out[4] = x60;
- out[5] = x63;
- out[6] = x66;
- out[7] = x69;
- out[8] = x72;
- out[9] = x75;
- out[10] = x78;
- out[11] = x81;
- out[12] = x84;
- out[13] = x87;
- out[14] = x90;
- out[15] = x93;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_16limbs/fesquare.v b/src/Specific/solinas32_2e414m17_16limbs/fesquare.v
deleted file mode 100644
index d71be5bc6..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.log
deleted file mode 100644
index 936df4db8..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,76 +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)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 x32 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x29 * x29))));
- uint64_t x33 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x30 * x29)) + (0x2 * ((uint64_t)x29 * x30)))));
- uint64_t x34 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x29)) + ((0x2 * ((uint64_t)x30 * x30)) + (0x2 * ((uint64_t)x29 * x28))))));
- uint64_t x35 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x29)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (0x2 * ((uint64_t)x29 * x26)))))));
- uint64_t x36 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x29)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + (0x2 * ((uint64_t)x29 * x24))))))));
- uint64_t x37 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x29)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (0x2 * ((uint64_t)x29 * x22)))))))));
- uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x29)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (0x2 * ((uint64_t)x29 * x20))))))))));
- uint64_t x39 = ((((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)))))))) + (0x11 * (((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 x40 = ((((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))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x29)) + (((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) + (0x2 * ((uint64_t)x29 * x16))))))))))));
- uint64_t x41 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x29)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (0x2 * ((uint64_t)x29 * x14)))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x29)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (0x2 * ((uint64_t)x29 * x12))))))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x29)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + (0x2 * ((uint64_t)x29 * x10)))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x29)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (0x2 * ((uint64_t)x29 * x8))))))))))))))));
- ℤ x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x6 * x29)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (0x2 * ((uint64_t)x29 * x6)))))))))))))))));
- ℤ x46 = (((uint64_t)x2 * x2) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
- uint64_t x47 = (x46 >> 0x1a);
- uint32_t x48 = (x46 & 0x3ffffff);
- ℤ x49 = (x47 +ℤ x45);
- uint64_t x50 = (x49 >> 0x1a);
- uint32_t x51 = (x49 & 0x3ffffff);
- uint64_t x52 = (x50 + x44);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x43);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x42);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x41);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x40);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x39);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x38);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x37);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x36);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x35);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x34);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x33);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x32);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x31);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x48 + (0x11 * x92));
- uint32_t x95 = (uint32_t) (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint32_t x97 = (x95 + x51);
- uint32_t x98 = (x97 >> 0x1a);
- uint32_t x99 = (x97 & 0x3ffffff);
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
-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_2e414m17_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.v
deleted file mode 100644
index ec0804ce8..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e414m17_16limbs/fesub.c b/src/Specific/solinas32_2e414m17_16limbs/fesub.c
deleted file mode 100644
index c9c886634..000000000
--- a/src/Specific/solinas32_2e414m17_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] = ((0x7ffffde + x5) - x35);
- out[1] = ((0x7fffffe + x7) - x37);
- out[2] = ((0x7fffffe + x9) - x39);
- out[3] = ((0x7fffffe + x11) - x41);
- out[4] = ((0x7fffffe + x13) - x43);
- out[5] = ((0x7fffffe + x15) - x45);
- out[6] = ((0x7fffffe + x17) - x47);
- out[7] = ((0x3fffffe + x19) - x49);
- out[8] = ((0x7fffffe + x21) - x51);
- out[9] = ((0x7fffffe + x23) - x53);
- out[10] = ((0x7fffffe + x25) - x55);
- out[11] = ((0x7fffffe + x27) - x57);
- out[12] = ((0x7fffffe + x29) - x59);
- out[13] = ((0x7fffffe + x31) - x61);
- out[14] = ((0x7fffffe + x33) - x63);
- out[15] = ((0x3fffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_16limbs/fesub.v b/src/Specific/solinas32_2e414m17_16limbs/fesub.v
deleted file mode 100644
index c27c1f348..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e414m17_16limbs/fesubDisplay.log
deleted file mode 100644
index f659e725a..000000000
--- a/src/Specific/solinas32_2e414m17_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,
- (((0x3fffffe + x32) - x62), ((0x7fffffe + x33) - x63), ((0x7fffffe + x31) - x61), ((0x7fffffe + x29) - x59), ((0x7fffffe + x27) - x57), ((0x7fffffe + x25) - x55), ((0x7fffffe + x23) - x53), ((0x7fffffe + x21) - x51), ((0x3fffffe + x19) - x49), ((0x7fffffe + x17) - x47), ((0x7fffffe + x15) - x45), ((0x7fffffe + x13) - x43), ((0x7fffffe + x11) - x41), ((0x7fffffe + x9) - x39), ((0x7fffffe + x7) - x37), ((0x7ffffde + 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_2e414m17_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e414m17_16limbs/fesubDisplay.v
deleted file mode 100644
index 01622c0ef..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e414m17_16limbs/freeze.c b/src/Specific/solinas32_2e414m17_16limbs/freeze.c
deleted file mode 100644
index 2a5789ed7..000000000
--- a/src/Specific/solinas32_2e414m17_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x3ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x1ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x3ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x3ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x3ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x3ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x1ffffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0x3ffffef);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0x3ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (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 & 0x3ffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (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_2e414m17_16limbs/freeze.v b/src/Specific/solinas32_2e414m17_16limbs/freeze.v
deleted file mode 100644
index d0dd4e716..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_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_2e414m17_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e414m17_16limbs/freezeDisplay.log
deleted file mode 100644
index 13f2855ea..000000000
--- a/src/Specific/solinas32_2e414m17_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x3ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x1ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x3ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x3ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x3ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x3ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x1ffffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0x3ffffef);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0x3ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (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 & 0x3ffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (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 & 0x1ffffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (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_2e414m17_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e414m17_16limbs/freezeDisplay.v
deleted file mode 100644
index 2b9332bdd..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e414m17_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e414m17_16limbs/py_interpreter.sh
deleted file mode 100755
index 8423a6195..000000000
--- a/src/Specific/solinas32_2e414m17_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**414 - 17' -Dmodulus_bytes='25.875' -Da24='121665'
diff --git a/src/Specific/solinas32_2e414m17_17limbs/CurveParameters.v b/src/Specific/solinas32_2e414m17_17limbs/CurveParameters.v
deleted file mode 100644
index 135f1e0a2..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^414 - 17
-Base: 24 + 6/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 24 + 6/17;
- bitwidth := 32;
- s := 2^414;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e414m17_17limbs/Synthesis.v b/src/Specific/solinas32_2e414m17_17limbs/Synthesis.v
deleted file mode 100644
index 3c70763d3..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/compiler.sh b/src/Specific/solinas32_2e414m17_17limbs/compiler.sh
deleted file mode 100755
index ea9fdef74..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,24,25,24,24,25,24,24,25,24,24}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas32_2e414m17_17limbs/compilerxx.sh b/src/Specific/solinas32_2e414m17_17limbs/compilerxx.sh
deleted file mode 100755
index e36a0b96b..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,24,25,24,24,25,24,24,25,24,24}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas32_2e414m17_17limbs/feadd.c b/src/Specific/solinas32_2e414m17_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_17limbs/feadd.v b/src/Specific/solinas32_2e414m17_17limbs/feadd.v
deleted file mode 100644
index 3a640e412..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.v
deleted file mode 100644
index 5f214b9a4..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fecarry.v b/src/Specific/solinas32_2e414m17_17limbs/fecarry.v
deleted file mode 100644
index 834ec1787..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e414m17_17limbs/fecarryDisplay.v
deleted file mode 100644
index 4550ac945..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e414m17_17limbs/femul.c b/src/Specific/solinas32_2e414m17_17limbs/femul.c
deleted file mode 100644
index f22f978ab..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + (((uint64_t)x33 * x41) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((0x2 * ((uint64_t)x29 * x43)) + (((uint64_t)x31 * x41) + (((uint64_t)x33 * x39) + ((uint64_t)x35 * x37)))))))))))))))) + (0x11 * ((uint64_t)x34 * x66)));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((uint64_t)x33 * x37))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x35 * x66)) + (0x2 * ((uint64_t)x34 * x67)))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x11 * (((uint64_t)x33 * x66) + ((0x2 * ((uint64_t)x35 * x67)) + ((uint64_t)x34 * x65)))));
- { uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x11 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x66)) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + (0x2 * ((uint64_t)x34 * x61))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x11 * (((uint64_t)x27 * x66) + ((0x2 * ((uint64_t)x29 * x67)) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + ((uint64_t)x34 * x59))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + ((0x2 * ((uint64_t)x17 * x43)) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x11 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x66)) + ((0x2 * ((uint64_t)x25 * x67)) + (((uint64_t)x27 * x65) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + (((uint64_t)x15 * x41) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0x11 * (((uint64_t)x21 * x66) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((0x2 * ((uint64_t)x11 * x43)) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x11 * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + ((0x2 * ((uint64_t)x11 * x39)) + ((uint64_t)x13 * x37))))) + (0x11 * (((uint64_t)x15 * x66) + ((0x2 * ((uint64_t)x17 * x67)) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + ((uint64_t)x11 * x37)))) + (0x11 * (((uint64_t)x13 * x66) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + ((uint64_t)x34 * x45)))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x11 * ((0x2 * ((uint64_t)x11 * x66)) + ((0x2 * ((uint64_t)x13 * x67)) + (((uint64_t)x15 * x65) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((0x2 * ((uint64_t)x35 * x45)) + (0x2 * ((uint64_t)x34 * x43)))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x11 * (((uint64_t)x9 * x66) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x34 * x41)))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x11 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x19);
- { uint32_t x86 = ((uint32_t)x84 & 0x1ffffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x19);
- { uint32_t x92 = ((uint32_t)x90 & 0x1ffffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x18);
- { uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x18);
- { uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x19);
- { uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x18);
- { uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x19);
- { uint32_t x110 = ((uint32_t)x108 & 0x1ffffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x18);
- { uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x18);
- { uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x19);
- { uint32_t x119 = ((uint32_t)x117 & 0x1ffffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x18);
- { uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x18);
- { uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x19);
- { uint32_t x128 = ((uint32_t)x126 & 0x1ffffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x18);
- { uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- { uint64_t x132 = (x130 + x68);
- { uint64_t x133 = (x132 >> 0x18);
- { uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- { uint64_t x135 = (x86 + (0x11 * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x19);
- { uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x18);
- { uint32_t x140 = (x138 & 0xffffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_17limbs/femul.v b/src/Specific/solinas32_2e414m17_17limbs/femul.v
deleted file mode 100644
index 105854031..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/femulDisplay.log b/src/Specific/solinas32_2e414m17_17limbs/femulDisplay.log
deleted file mode 100644
index 1ab1c3caf..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + (((uint64_t)x33 * x41) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((0x2 * ((uint64_t)x29 * x43)) + (((uint64_t)x31 * x41) + (((uint64_t)x33 * x39) + ((uint64_t)x35 * x37)))))))))))))))) + (0x11 * ((uint64_t)x34 * x66)));
- uint64_t x70 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((uint64_t)x33 * x37))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x35 * x66)) + (0x2 * ((uint64_t)x34 * x67)))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (((uint64_t)x27 * x41) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x11 * (((uint64_t)x33 * x66) + ((0x2 * ((uint64_t)x35 * x67)) + ((uint64_t)x34 * x65)))));
- uint64_t x72 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x11 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x66)) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + (0x2 * ((uint64_t)x34 * x61))))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x11 * (((uint64_t)x27 * x66) + ((0x2 * ((uint64_t)x29 * x67)) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + ((uint64_t)x34 * x59))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + ((0x2 * ((uint64_t)x17 * x43)) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x11 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x66)) + ((0x2 * ((uint64_t)x25 * x67)) + (((uint64_t)x27 * x65) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + (((uint64_t)x15 * x41) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0x11 * (((uint64_t)x21 * x66) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((0x2 * ((uint64_t)x11 * x43)) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x11 * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x41) + ((0x2 * ((uint64_t)x11 * x39)) + ((uint64_t)x13 * x37))))) + (0x11 * (((uint64_t)x15 * x66) + ((0x2 * ((uint64_t)x17 * x67)) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + ((uint64_t)x11 * x37)))) + (0x11 * (((uint64_t)x13 * x66) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + ((uint64_t)x34 * x45)))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x11 * ((0x2 * ((uint64_t)x11 * x66)) + ((0x2 * ((uint64_t)x13 * x67)) + (((uint64_t)x15 * x65) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((0x2 * ((uint64_t)x35 * x45)) + (0x2 * ((uint64_t)x34 * x43)))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x11 * (((uint64_t)x9 * x66) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x34 * x41)))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x11 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x19);
- uint32_t x86 = ((uint32_t)x84 & 0x1ffffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x19);
- uint32_t x92 = ((uint32_t)x90 & 0x1ffffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x18);
- uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x18);
- uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x19);
- uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x18);
- uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x19);
- uint32_t x110 = ((uint32_t)x108 & 0x1ffffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x18);
- uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x18);
- uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x19);
- uint32_t x119 = ((uint32_t)x117 & 0x1ffffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x18);
- uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x18);
- uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x19);
- uint32_t x128 = ((uint32_t)x126 & 0x1ffffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x18);
- uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- uint64_t x132 = (x130 + x68);
- uint64_t x133 = (x132 >> 0x18);
- uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- uint64_t x135 = (x86 + (0x11 * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x19);
- uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x18);
- uint32_t x140 = (x138 & 0xffffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e414m17_17limbs/femulDisplay.v b/src/Specific/solinas32_2e414m17_17limbs/femulDisplay.v
deleted file mode 100644
index 0cf74a2c2..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fesquare.c b/src/Specific/solinas32_2e414m17_17limbs/fesquare.c
deleted file mode 100644
index 2f910b321..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((uint64_t)x31 * x31)));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x32 * x31)) + (0x2 * ((uint64_t)x31 * x32)))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x31) + ((0x2 * ((uint64_t)x32 * x32)) + ((uint64_t)x31 * x30)))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x31)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + (0x2 * ((uint64_t)x31 * x26))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x31) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + ((uint64_t)x31 * x24))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x31)) + ((0x2 * ((uint64_t)x22 * x32)) + (((uint64_t)x24 * x30) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (((uint64_t)x30 * x24) + ((0x2 * ((uint64_t)x32 * x22)) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * (((uint64_t)x18 * x31) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x31) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x31) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((uint64_t)x31 * x10)))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x31)) + ((0x2 * ((uint64_t)x10 * x32)) + (((uint64_t)x12 * x30) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + (((uint64_t)x30 * x12) + ((0x2 * ((uint64_t)x32 * x10)) + (0x2 * ((uint64_t)x31 * x8)))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x31) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + ((uint64_t)x31 * x6)))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x19);
- { uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x18);
- { uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x33);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x51 + (0x11 * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x18);
- { uint32_t x105 = (x103 & 0xffffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fesquare.v b/src/Specific/solinas32_2e414m17_17limbs/fesquare.v
deleted file mode 100644
index 40d1e6dc5..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.log
deleted file mode 100644
index 6b40ab078..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((uint64_t)x31 * x31)));
- uint64_t x35 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x32 * x31)) + (0x2 * ((uint64_t)x31 * x32)))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x31) + ((0x2 * ((uint64_t)x32 * x32)) + ((uint64_t)x31 * x30)))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x31)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + (0x2 * ((uint64_t)x31 * x26))))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x31) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + ((uint64_t)x31 * x24))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x31)) + ((0x2 * ((uint64_t)x22 * x32)) + (((uint64_t)x24 * x30) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (((uint64_t)x30 * x24) + ((0x2 * ((uint64_t)x32 * x22)) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * (((uint64_t)x18 * x31) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x31) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x31) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((uint64_t)x31 * x10)))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x31)) + ((0x2 * ((uint64_t)x10 * x32)) + (((uint64_t)x12 * x30) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + (((uint64_t)x30 * x12) + ((0x2 * ((uint64_t)x32 * x10)) + (0x2 * ((uint64_t)x31 * x8)))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x31) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + ((uint64_t)x31 * x6)))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x19);
- uint32_t x51 = ((uint32_t)x49 & 0x1ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x18);
- uint32_t x54 = ((uint32_t)x52 & 0xffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x33);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x51 + (0x11 * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x18);
- uint32_t x105 = (x103 & 0xffffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.v
deleted file mode 100644
index a2d71011c..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fesub.c b/src/Specific/solinas32_2e414m17_17limbs/fesub.c
deleted file mode 100644
index c8bff2b31..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0x3ffffde + x5) - x37);
- out[1] = ((0x1fffffe + x7) - x39);
- out[2] = ((0x3fffffe + x9) - x41);
- out[3] = ((0x1fffffe + x11) - x43);
- out[4] = ((0x1fffffe + x13) - x45);
- out[5] = ((0x3fffffe + x15) - x47);
- out[6] = ((0x1fffffe + x17) - x49);
- out[7] = ((0x1fffffe + x19) - x51);
- out[8] = ((0x3fffffe + x21) - x53);
- out[9] = ((0x1fffffe + x23) - x55);
- out[10] = ((0x1fffffe + x25) - x57);
- out[11] = ((0x3fffffe + x27) - x59);
- out[12] = ((0x1fffffe + x29) - x61);
- out[13] = ((0x1fffffe + x31) - x63);
- out[14] = ((0x3fffffe + x33) - x65);
- out[15] = ((0x1fffffe + x35) - x67);
- out[16] = ((0x1fffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fesub.v b/src/Specific/solinas32_2e414m17_17limbs/fesub.v
deleted file mode 100644
index 1f0f4c11a..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.log
deleted file mode 100644
index e6d4c2e1d..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x1fffffe + x34) - x66), ((0x1fffffe + x35) - x67), ((0x3fffffe + x33) - x65), ((0x1fffffe + x31) - x63), ((0x1fffffe + x29) - x61), ((0x3fffffe + x27) - x59), ((0x1fffffe + x25) - x57), ((0x1fffffe + x23) - x55), ((0x3fffffe + x21) - x53), ((0x1fffffe + x19) - x51), ((0x1fffffe + x17) - x49), ((0x3fffffe + x15) - x47), ((0x1fffffe + x13) - x45), ((0x1fffffe + x11) - x43), ((0x3fffffe + x9) - x41), ((0x1fffffe + x7) - x39), ((0x3ffffde + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.v
deleted file mode 100644
index 3af9b9fee..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e414m17_17limbs/freeze.c b/src/Specific/solinas32_2e414m17_17limbs/freeze.c
deleted file mode 100644
index 53eddd6b0..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0xffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x1ffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x1ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x1ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x1ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0xffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x1ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0xffffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x1ffffef);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x1ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0xffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0xffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x1ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0xffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0xffffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x1ffffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0xffffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0xffffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x1ffffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0xffffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0xffffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x1ffffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0xffffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0xffffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e414m17_17limbs/freeze.v b/src/Specific/solinas32_2e414m17_17limbs/freeze.v
deleted file mode 100644
index 4a766276b..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.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_2e414m17_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.log
deleted file mode 100644
index a4c51d315..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x1ffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x1ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x1ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x1ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0xffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x1ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0xffffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x1ffffef);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x1ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0xffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0xffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x1ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0xffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0xffffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x1ffffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0xffffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0xffffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x1ffffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0xffffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0xffffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x1ffffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0xffffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0xffffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.v
deleted file mode 100644
index 5c730ff2b..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e414m17_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e414m17_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e414m17_17limbs/py_interpreter.sh
deleted file mode 100755
index 0e3673252..000000000
--- a/src/Specific/solinas32_2e414m17_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**414 - 17' -Dmodulus_bytes='24 + 6/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/CurveParameters.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/CurveParameters.v
deleted file mode 100644
index 327219e36..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^416 - 2^208 - 1
-Base: 26
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 16%nat;
- base := 26;
- bitwidth := 32;
- s := 2^416;
- c := [(1, 1); (2^208, 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_2e416m2e208m1_16limbs/Synthesis.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/Synthesis.v
deleted file mode 100644
index 37e913f3b..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/compiler.sh b/src/Specific/solinas32_2e416m2e208m1_16limbs/compiler.sh
deleted file mode 100755
index 3cd6c3c6e..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/compilerxx.sh b/src/Specific/solinas32_2e416m2e208m1_16limbs/compilerxx.sh
deleted file mode 100755
index 2e8a4ea53..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='16' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.c b/src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.c
deleted file mode 100644
index 18b150e21..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/feadd.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.v
deleted file mode 100644
index ed7c2b662..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/feaddDisplay.log b/src/Specific/solinas32_2e416m2e208m1_16limbs/feaddDisplay.log
deleted file mode 100644
index 130c31964..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/feaddDisplay.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/feaddDisplay.v
deleted file mode 100644
index 193688841..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_16limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/fecarry.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/fecarry.v
deleted file mode 100644
index 831f948fa..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/fecarryDisplay.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/fecarryDisplay.v
deleted file mode 100644
index bccae022d..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_16limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/femul.c b/src/Specific/solinas32_2e416m2e208m1_16limbs/femul.c
deleted file mode 100644
index 44254473b..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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 = ((((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 x70 = ((((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 x71 = ((((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 x72 = ((((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 x73 = ((((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 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));
- { uint64_t x79 = (((((uint64_t)x19 * x49) + ((uint64_t)x32 * x62)) + x72) + x64);
- { uint64_t x80 = ((((((uint64_t)x17 * x49) + ((uint64_t)x19 * x47)) + (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))) + x73) + x65);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t x93 = ((((uint64_t)x5 * x35) + ((uint64_t)x21 * x51)) + x70);
- { uint64_t x94 = (x86 >> 0x1a);
- { uint32_t x95 = ((uint32_t)x86 & 0x3ffffff);
- { uint64_t x96 = (x71 >> 0x1a);
- { uint32_t x97 = ((uint32_t)x71 & 0x3ffffff);
- { uint64_t x98 = ((0x4000000 * x96) + x97);
- { uint64_t x99 = (x98 >> 0x1a);
- { uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- { uint64_t x101 = ((x94 + x85) + x99);
- { uint64_t x102 = (x101 >> 0x1a);
- { uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- { uint64_t x104 = (x93 + x99);
- { uint64_t x105 = (x104 >> 0x1a);
- { uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- { uint64_t x107 = (x102 + x84);
- { uint64_t x108 = (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x105 + x92);
- { uint64_t x111 = (x110 >> 0x1a);
- { uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- { uint64_t x113 = (x108 + x83);
- { uint64_t x114 = (x113 >> 0x1a);
- { uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- { uint64_t x116 = (x111 + x91);
- { uint64_t x117 = (x116 >> 0x1a);
- { uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- { uint64_t x119 = (x114 + x82);
- { uint64_t x120 = (x119 >> 0x1a);
- { uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- { uint64_t x122 = (x117 + x90);
- { uint64_t x123 = (x122 >> 0x1a);
- { uint32_t x124 = ((uint32_t)x122 & 0x3ffffff);
- { uint64_t x125 = (x120 + x81);
- { uint64_t x126 = (x125 >> 0x1a);
- { uint32_t x127 = ((uint32_t)x125 & 0x3ffffff);
- { uint64_t x128 = (x123 + x89);
- { uint64_t x129 = (x128 >> 0x1a);
- { uint32_t x130 = ((uint32_t)x128 & 0x3ffffff);
- { uint64_t x131 = (x126 + x80);
- { uint64_t x132 = (x131 >> 0x1a);
- { uint32_t x133 = ((uint32_t)x131 & 0x3ffffff);
- { uint64_t x134 = (x129 + x88);
- { uint64_t x135 = (x134 >> 0x1a);
- { uint32_t x136 = ((uint32_t)x134 & 0x3ffffff);
- { uint64_t x137 = (x132 + x79);
- { uint64_t x138 = (x137 >> 0x1a);
- { uint32_t x139 = ((uint32_t)x137 & 0x3ffffff);
- { uint64_t x140 = (x135 + x87);
- { uint64_t x141 = (x140 >> 0x1a);
- { uint32_t x142 = ((uint32_t)x140 & 0x3ffffff);
- { uint64_t x143 = (x138 + x100);
- { uint32_t x144 = (uint32_t) (x143 >> 0x1a);
- { uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- { uint64_t x146 = (x141 + x95);
- { uint32_t x147 = (uint32_t) (x146 >> 0x1a);
- { uint32_t x148 = ((uint32_t)x146 & 0x3ffffff);
- { uint64_t x149 = (((uint64_t)0x4000000 * x144) + x145);
- { uint32_t x150 = (uint32_t) (x149 >> 0x1a);
- { uint32_t x151 = ((uint32_t)x149 & 0x3ffffff);
- { uint32_t x152 = ((x147 + x103) + x150);
- { uint32_t x153 = (x152 >> 0x1a);
- { uint32_t x154 = (x152 & 0x3ffffff);
- { uint32_t x155 = (x106 + x150);
- { uint32_t x156 = (x155 >> 0x1a);
- { uint32_t x157 = (x155 & 0x3ffffff);
- 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_2e416m2e208m1_16limbs/femul.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/femul.v
deleted file mode 100644
index bd37f6428..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/femulDisplay.log b/src/Specific/solinas32_2e416m2e208m1_16limbs/femulDisplay.log
deleted file mode 100644
index a1a68ec37..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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 = ((((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 x70 = ((((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 x71 = ((((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 x72 = ((((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 x73 = ((((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 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));
- uint64_t x79 = (((((uint64_t)x19 * x49) + ((uint64_t)x32 * x62)) + x72) + x64);
- uint64_t x80 = ((((((uint64_t)x17 * x49) + ((uint64_t)x19 * x47)) + (((uint64_t)x33 * x62) + ((uint64_t)x32 * x63))) + x73) + x65);
- uint64_t 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);
- uint64_t 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);
- uint64_t 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);
- uint64_t 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);
- uint64_t 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);
- uint64_t x93 = ((((uint64_t)x5 * x35) + ((uint64_t)x21 * x51)) + x70);
- uint64_t x94 = (x86 >> 0x1a);
- uint32_t x95 = ((uint32_t)x86 & 0x3ffffff);
- uint64_t x96 = (x71 >> 0x1a);
- uint32_t x97 = ((uint32_t)x71 & 0x3ffffff);
- uint64_t x98 = ((0x4000000 * x96) + x97);
- uint64_t x99 = (x98 >> 0x1a);
- uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- uint64_t x101 = ((x94 + x85) + x99);
- uint64_t x102 = (x101 >> 0x1a);
- uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- uint64_t x104 = (x93 + x99);
- uint64_t x105 = (x104 >> 0x1a);
- uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- uint64_t x107 = (x102 + x84);
- uint64_t x108 = (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x105 + x92);
- uint64_t x111 = (x110 >> 0x1a);
- uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- uint64_t x113 = (x108 + x83);
- uint64_t x114 = (x113 >> 0x1a);
- uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- uint64_t x116 = (x111 + x91);
- uint64_t x117 = (x116 >> 0x1a);
- uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- uint64_t x119 = (x114 + x82);
- uint64_t x120 = (x119 >> 0x1a);
- uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- uint64_t x122 = (x117 + x90);
- uint64_t x123 = (x122 >> 0x1a);
- uint32_t x124 = ((uint32_t)x122 & 0x3ffffff);
- uint64_t x125 = (x120 + x81);
- uint64_t x126 = (x125 >> 0x1a);
- uint32_t x127 = ((uint32_t)x125 & 0x3ffffff);
- uint64_t x128 = (x123 + x89);
- uint64_t x129 = (x128 >> 0x1a);
- uint32_t x130 = ((uint32_t)x128 & 0x3ffffff);
- uint64_t x131 = (x126 + x80);
- uint64_t x132 = (x131 >> 0x1a);
- uint32_t x133 = ((uint32_t)x131 & 0x3ffffff);
- uint64_t x134 = (x129 + x88);
- uint64_t x135 = (x134 >> 0x1a);
- uint32_t x136 = ((uint32_t)x134 & 0x3ffffff);
- uint64_t x137 = (x132 + x79);
- uint64_t x138 = (x137 >> 0x1a);
- uint32_t x139 = ((uint32_t)x137 & 0x3ffffff);
- uint64_t x140 = (x135 + x87);
- uint64_t x141 = (x140 >> 0x1a);
- uint32_t x142 = ((uint32_t)x140 & 0x3ffffff);
- uint64_t x143 = (x138 + x100);
- uint32_t x144 = (uint32_t) (x143 >> 0x1a);
- uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- uint64_t x146 = (x141 + x95);
- uint32_t x147 = (uint32_t) (x146 >> 0x1a);
- uint32_t x148 = ((uint32_t)x146 & 0x3ffffff);
- uint64_t x149 = (((uint64_t)0x4000000 * x144) + x145);
- uint32_t x150 = (uint32_t) (x149 >> 0x1a);
- uint32_t x151 = ((uint32_t)x149 & 0x3ffffff);
- uint32_t x152 = ((x147 + x103) + x150);
- uint32_t x153 = (x152 >> 0x1a);
- uint32_t x154 = (x152 & 0x3ffffff);
- uint32_t x155 = (x106 + x150);
- uint32_t x156 = (x155 >> 0x1a);
- uint32_t x157 = (x155 & 0x3ffffff);
- 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_2e416m2e208m1_16limbs/femulDisplay.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/femulDisplay.v
deleted file mode 100644
index 44f4c4240..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_16limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.c b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.c
deleted file mode 100644
index 6499f63f0..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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 = ((((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 x37 = ((((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 x38 = ((((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 x39 = ((((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 x40 = ((((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 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));
- { uint64_t x46 = (((((uint64_t)x16 * x16) + ((uint64_t)x29 * x29)) + x39) + x31);
- { uint64_t x47 = ((((((uint64_t)x14 * x16) + ((uint64_t)x16 * x14)) + (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))) + x40) + x32);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t 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);
- { uint64_t x60 = ((((uint64_t)x2 * x2) + ((uint64_t)x18 * x18)) + x37);
- { uint64_t x61 = (x53 >> 0x1a);
- { uint32_t x62 = ((uint32_t)x53 & 0x3ffffff);
- { uint64_t x63 = (x38 >> 0x1a);
- { uint32_t x64 = ((uint32_t)x38 & 0x3ffffff);
- { uint64_t x65 = ((0x4000000 * x63) + x64);
- { uint64_t x66 = (x65 >> 0x1a);
- { uint32_t x67 = ((uint32_t)x65 & 0x3ffffff);
- { uint64_t x68 = ((x61 + x52) + x66);
- { uint64_t x69 = (x68 >> 0x1a);
- { uint32_t x70 = ((uint32_t)x68 & 0x3ffffff);
- { uint64_t x71 = (x60 + x66);
- { uint64_t x72 = (x71 >> 0x1a);
- { uint32_t x73 = ((uint32_t)x71 & 0x3ffffff);
- { uint64_t x74 = (x69 + x51);
- { uint64_t x75 = (x74 >> 0x1a);
- { uint32_t x76 = ((uint32_t)x74 & 0x3ffffff);
- { uint64_t x77 = (x72 + x59);
- { uint64_t x78 = (x77 >> 0x1a);
- { uint32_t x79 = ((uint32_t)x77 & 0x3ffffff);
- { uint64_t x80 = (x75 + x50);
- { uint64_t x81 = (x80 >> 0x1a);
- { uint32_t x82 = ((uint32_t)x80 & 0x3ffffff);
- { uint64_t x83 = (x78 + x58);
- { uint64_t x84 = (x83 >> 0x1a);
- { uint32_t x85 = ((uint32_t)x83 & 0x3ffffff);
- { uint64_t x86 = (x81 + x49);
- { uint64_t x87 = (x86 >> 0x1a);
- { uint32_t x88 = ((uint32_t)x86 & 0x3ffffff);
- { uint64_t x89 = (x84 + x57);
- { uint64_t x90 = (x89 >> 0x1a);
- { uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- { uint64_t x92 = (x87 + x48);
- { uint64_t x93 = (x92 >> 0x1a);
- { uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- { uint64_t x95 = (x90 + x56);
- { uint64_t x96 = (x95 >> 0x1a);
- { uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- { uint64_t x98 = (x93 + x47);
- { uint64_t x99 = (x98 >> 0x1a);
- { uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- { uint64_t x101 = (x96 + x55);
- { uint64_t x102 = (x101 >> 0x1a);
- { uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- { uint64_t x104 = (x99 + x46);
- { uint64_t x105 = (x104 >> 0x1a);
- { uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- { uint64_t x107 = (x102 + x54);
- { uint64_t x108 = (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x105 + x67);
- { uint32_t x111 = (uint32_t) (x110 >> 0x1a);
- { uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- { uint64_t x113 = (x108 + x62);
- { uint32_t x114 = (uint32_t) (x113 >> 0x1a);
- { uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- { uint64_t x116 = (((uint64_t)0x4000000 * x111) + x112);
- { uint32_t x117 = (uint32_t) (x116 >> 0x1a);
- { uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- { uint32_t x119 = ((x114 + x70) + x117);
- { uint32_t x120 = (x119 >> 0x1a);
- { uint32_t x121 = (x119 & 0x3ffffff);
- { uint32_t x122 = (x73 + x117);
- { uint32_t x123 = (x122 >> 0x1a);
- { uint32_t x124 = (x122 & 0x3ffffff);
- 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_2e416m2e208m1_16limbs/fesquare.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.v
deleted file mode 100644
index 4eb80c753..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/fesquareDisplay.log b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquareDisplay.log
deleted file mode 100644
index 53d66e31c..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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 = ((((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 x37 = ((((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 x38 = ((((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 x39 = ((((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 x40 = ((((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 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));
- uint64_t x46 = (((((uint64_t)x16 * x16) + ((uint64_t)x29 * x29)) + x39) + x31);
- uint64_t x47 = ((((((uint64_t)x14 * x16) + ((uint64_t)x16 * x14)) + (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))) + x40) + x32);
- uint64_t 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);
- uint64_t 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);
- uint64_t 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);
- uint64_t 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);
- uint64_t 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);
- uint64_t x60 = ((((uint64_t)x2 * x2) + ((uint64_t)x18 * x18)) + x37);
- uint64_t x61 = (x53 >> 0x1a);
- uint32_t x62 = ((uint32_t)x53 & 0x3ffffff);
- uint64_t x63 = (x38 >> 0x1a);
- uint32_t x64 = ((uint32_t)x38 & 0x3ffffff);
- uint64_t x65 = ((0x4000000 * x63) + x64);
- uint64_t x66 = (x65 >> 0x1a);
- uint32_t x67 = ((uint32_t)x65 & 0x3ffffff);
- uint64_t x68 = ((x61 + x52) + x66);
- uint64_t x69 = (x68 >> 0x1a);
- uint32_t x70 = ((uint32_t)x68 & 0x3ffffff);
- uint64_t x71 = (x60 + x66);
- uint64_t x72 = (x71 >> 0x1a);
- uint32_t x73 = ((uint32_t)x71 & 0x3ffffff);
- uint64_t x74 = (x69 + x51);
- uint64_t x75 = (x74 >> 0x1a);
- uint32_t x76 = ((uint32_t)x74 & 0x3ffffff);
- uint64_t x77 = (x72 + x59);
- uint64_t x78 = (x77 >> 0x1a);
- uint32_t x79 = ((uint32_t)x77 & 0x3ffffff);
- uint64_t x80 = (x75 + x50);
- uint64_t x81 = (x80 >> 0x1a);
- uint32_t x82 = ((uint32_t)x80 & 0x3ffffff);
- uint64_t x83 = (x78 + x58);
- uint64_t x84 = (x83 >> 0x1a);
- uint32_t x85 = ((uint32_t)x83 & 0x3ffffff);
- uint64_t x86 = (x81 + x49);
- uint64_t x87 = (x86 >> 0x1a);
- uint32_t x88 = ((uint32_t)x86 & 0x3ffffff);
- uint64_t x89 = (x84 + x57);
- uint64_t x90 = (x89 >> 0x1a);
- uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- uint64_t x92 = (x87 + x48);
- uint64_t x93 = (x92 >> 0x1a);
- uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- uint64_t x95 = (x90 + x56);
- uint64_t x96 = (x95 >> 0x1a);
- uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- uint64_t x98 = (x93 + x47);
- uint64_t x99 = (x98 >> 0x1a);
- uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- uint64_t x101 = (x96 + x55);
- uint64_t x102 = (x101 >> 0x1a);
- uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- uint64_t x104 = (x99 + x46);
- uint64_t x105 = (x104 >> 0x1a);
- uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- uint64_t x107 = (x102 + x54);
- uint64_t x108 = (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x105 + x67);
- uint32_t x111 = (uint32_t) (x110 >> 0x1a);
- uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- uint64_t x113 = (x108 + x62);
- uint32_t x114 = (uint32_t) (x113 >> 0x1a);
- uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- uint64_t x116 = (((uint64_t)0x4000000 * x111) + x112);
- uint32_t x117 = (uint32_t) (x116 >> 0x1a);
- uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- uint32_t x119 = ((x114 + x70) + x117);
- uint32_t x120 = (x119 >> 0x1a);
- uint32_t x121 = (x119 & 0x3ffffff);
- uint32_t x122 = (x73 + x117);
- uint32_t x123 = (x122 >> 0x1a);
- uint32_t x124 = (x122 & 0x3ffffff);
- 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_2e416m2e208m1_16limbs/fesquareDisplay.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquareDisplay.v
deleted file mode 100644
index e9fa6f1ac..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_16limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.c b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.c
deleted file mode 100644
index 2dbde5ca0..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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] = ((0x7fffffe + x5) - x35);
- out[1] = ((0x7fffffe + x7) - x37);
- out[2] = ((0x7fffffe + x9) - x39);
- out[3] = ((0x7fffffe + x11) - x41);
- out[4] = ((0x7fffffe + x13) - x43);
- out[5] = ((0x7fffffe + x15) - x45);
- out[6] = ((0x7fffffe + x17) - x47);
- out[7] = ((0x7fffffe + x19) - x49);
- out[8] = ((0x7fffffc + x21) - x51);
- out[9] = ((0x7fffffe + x23) - x53);
- out[10] = ((0x7fffffe + x25) - x55);
- out[11] = ((0x7fffffe + x27) - x57);
- out[12] = ((0x7fffffe + x29) - x59);
- out[13] = ((0x7fffffe + x31) - x61);
- out[14] = ((0x7fffffe + x33) - x63);
- out[15] = ((0x7fffffe + x32) - x62);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.v
deleted file mode 100644
index c01cb30b1..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/fesubDisplay.log b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesubDisplay.log
deleted file mode 100644
index b2bdd0bf6..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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,
- (((0x7fffffe + x32) - x62), ((0x7fffffe + x33) - x63), ((0x7fffffe + x31) - x61), ((0x7fffffe + x29) - x59), ((0x7fffffe + x27) - x57), ((0x7fffffe + x25) - x55), ((0x7fffffe + x23) - x53), ((0x7fffffc + x21) - x51), ((0x7fffffe + x19) - x49), ((0x7fffffe + x17) - x47), ((0x7fffffe + x15) - x45), ((0x7fffffe + x13) - x43), ((0x7fffffe + x11) - x41), ((0x7fffffe + x9) - x39), ((0x7fffffe + x7) - x37), ((0x7fffffe + 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_2e416m2e208m1_16limbs/fesubDisplay.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/fesubDisplay.v
deleted file mode 100644
index 84a083043..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_16limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.c b/src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.c
deleted file mode 100644
index ae9d0fc2e..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffff);
- { uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x3ffffff);
- { uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x3ffffff);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x3ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x3fffffe);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x3ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x3ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x3ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x3ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x3ffffff);
- { uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- { uint32_t x80 = (x79 & 0x3ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- { uint32_t x84 = (x79 & 0x3ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3fffffe);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- { uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (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_2e416m2e208m1_16limbs/freeze.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.v
deleted file mode 100644
index f4833cbc6..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_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_2e416m2e208m1_16limbs/freezeDisplay.log b/src/Specific/solinas32_2e416m2e208m1_16limbs/freezeDisplay.log
deleted file mode 100644
index 22cb7e523..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_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 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0x3ffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0x3ffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0x3ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x3fffffe);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0x3ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0x3ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0x3ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0x3ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0x3ffffff);
- uint32_t x79 = cmovznz32(x78, 0x0, 0xffffffff);
- uint32_t x80 = (x79 & 0x3ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = (x79 & 0x3ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3fffffe);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (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 & 0x3ffffff);
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (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_2e416m2e208m1_16limbs/freezeDisplay.v b/src/Specific/solinas32_2e416m2e208m1_16limbs/freezeDisplay.v
deleted file mode 100644
index 1ead1cf9c..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_16limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e416m2e208m1_16limbs/py_interpreter.sh b/src/Specific/solinas32_2e416m2e208m1_16limbs/py_interpreter.sh
deleted file mode 100755
index b52e08b04..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_16limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**416 - 2**208 - 1' -Dmodulus_bytes='26' -Da24='121665'
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/CurveParameters.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/CurveParameters.v
deleted file mode 100644
index 5911aa834..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^416 - 2^208 - 1
-Base: 23 + 1/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 23 + 1/9;
- bitwidth := 32;
- s := 2^416;
- c := [(1, 1); (2^208, 1)];
- carry_chains := Some [[8; 17]; [9; 0; 10; 1; 11; 2; 12; 3; 13; 4; 14; 5; 15; 6; 16; 7; 17; 8]; [9; 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_2e416m2e208m1_18limbs/Synthesis.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/Synthesis.v
deleted file mode 100644
index 7e917b7c6..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/compiler.sh b/src/Specific/solinas32_2e416m2e208m1_18limbs/compiler.sh
deleted file mode 100755
index 405f92ef2..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,24,23,23,23,23,23,23,23,23}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/compilerxx.sh b/src/Specific/solinas32_2e416m2e208m1_18limbs/compilerxx.sh
deleted file mode 100755
index eb8d349d7..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/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,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,23,23,23,23,23,24,23,23,23,23,23,23,23,23}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.c b/src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.v
deleted file mode 100644
index e079c73d9..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.v
deleted file mode 100644
index 69af2d2bc..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fecarry.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/fecarry.v
deleted file mode 100644
index 9f2dc9c69..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/fecarryDisplay.v
deleted file mode 100644
index e453b5a0a..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/femul.c b/src/Specific/solinas32_2e416m2e208m1_18limbs/femul.c
deleted file mode 100644
index 93362e493..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/femul.c
+++ /dev/null
@@ -1,161 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = (((uint64_t)(x21 + x36) * (x55 + x70)) - ((uint64_t)x21 * x55));
- { uint64_t x73 = ((((uint64_t)(x19 + x37) * (x55 + x70)) + ((uint64_t)(x21 + x36) * (x53 + x71))) - (((uint64_t)x19 * x55) + ((uint64_t)x21 * x53)));
- { uint64_t x74 = ((((uint64_t)(x17 + x35) * (x55 + x70)) + (((uint64_t)(x19 + x37) * (x53 + x71)) + ((uint64_t)(x21 + x36) * (x51 + x69)))) - (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))));
- { uint64_t x75 = ((((uint64_t)(x15 + x33) * (x55 + x70)) + (((uint64_t)(x17 + x35) * (x53 + x71)) + (((uint64_t)(x19 + x37) * (x51 + x69)) + ((uint64_t)(x21 + x36) * (x49 + x67))))) - (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((uint64_t)x21 * x49)))));
- { uint64_t x76 = ((((uint64_t)(x13 + x31) * (x55 + x70)) + (((uint64_t)(x15 + x33) * (x53 + x71)) + (((uint64_t)(x17 + x35) * (x51 + x69)) + (((uint64_t)(x19 + x37) * (x49 + x67)) + ((uint64_t)(x21 + x36) * (x47 + x65)))))) - (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((uint64_t)x21 * x47))))));
- { uint64_t x77 = ((((uint64_t)(x11 + x29) * (x55 + x70)) + (((uint64_t)(x13 + x31) * (x53 + x71)) + (((uint64_t)(x15 + x33) * (x51 + x69)) + (((uint64_t)(x17 + x35) * (x49 + x67)) + (((uint64_t)(x19 + x37) * (x47 + x65)) + ((uint64_t)(x21 + x36) * (x45 + x63))))))) - (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))));
- { uint64_t x78 = ((((uint64_t)(x9 + x27) * (x55 + x70)) + (((uint64_t)(x11 + x29) * (x53 + x71)) + (((uint64_t)(x13 + x31) * (x51 + x69)) + (((uint64_t)(x15 + x33) * (x49 + x67)) + (((uint64_t)(x17 + x35) * (x47 + x65)) + (((uint64_t)(x19 + x37) * (x45 + x63)) + ((uint64_t)(x21 + x36) * (x43 + x61)))))))) - (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((uint64_t)x21 * x43))))))));
- { uint64_t x79 = (((0x2 * ((uint64_t)(x7 + x25) * (x55 + x70))) + ((0x2 * ((uint64_t)(x9 + x27) * (x53 + x71))) + ((0x2 * ((uint64_t)(x11 + x29) * (x51 + x69))) + ((0x2 * ((uint64_t)(x13 + x31) * (x49 + x67))) + ((0x2 * ((uint64_t)(x15 + x33) * (x47 + x65))) + ((0x2 * ((uint64_t)(x17 + x35) * (x45 + x63))) + ((0x2 * ((uint64_t)(x19 + x37) * (x43 + x61))) + (0x2 * ((uint64_t)(x21 + x36) * (x41 + x59)))))))))) - ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))));
- { uint64_t x80 = ((((uint64_t)(x5 + x23) * (x55 + x70)) + ((0x2 * ((uint64_t)(x7 + x25) * (x53 + x71))) + ((0x2 * ((uint64_t)(x9 + x27) * (x51 + x69))) + ((0x2 * ((uint64_t)(x11 + x29) * (x49 + x67))) + ((0x2 * ((uint64_t)(x13 + x31) * (x47 + x65))) + ((0x2 * ((uint64_t)(x15 + x33) * (x45 + x63))) + ((0x2 * ((uint64_t)(x17 + x35) * (x43 + x61))) + ((0x2 * ((uint64_t)(x19 + x37) * (x41 + x59))) + ((uint64_t)(x21 + x36) * (x39 + x57)))))))))) - (((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))));
- { uint64_t x81 = ((((uint64_t)(x5 + x23) * (x53 + x71)) + ((0x2 * ((uint64_t)(x7 + x25) * (x51 + x69))) + ((0x2 * ((uint64_t)(x9 + x27) * (x49 + x67))) + ((0x2 * ((uint64_t)(x11 + x29) * (x47 + x65))) + ((0x2 * ((uint64_t)(x13 + x31) * (x45 + x63))) + ((0x2 * ((uint64_t)(x15 + x33) * (x43 + x61))) + ((0x2 * ((uint64_t)(x17 + x35) * (x41 + x59))) + ((uint64_t)(x19 + x37) * (x39 + x57))))))))) - (((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))));
- { uint64_t x82 = ((((uint64_t)(x5 + x23) * (x51 + x69)) + ((0x2 * ((uint64_t)(x7 + x25) * (x49 + x67))) + ((0x2 * ((uint64_t)(x9 + x27) * (x47 + x65))) + ((0x2 * ((uint64_t)(x11 + x29) * (x45 + x63))) + ((0x2 * ((uint64_t)(x13 + x31) * (x43 + x61))) + ((0x2 * ((uint64_t)(x15 + x33) * (x41 + x59))) + ((uint64_t)(x17 + x35) * (x39 + x57)))))))) - (((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))));
- { uint64_t x83 = ((((uint64_t)(x5 + x23) * (x49 + x67)) + ((0x2 * ((uint64_t)(x7 + x25) * (x47 + x65))) + ((0x2 * ((uint64_t)(x9 + x27) * (x45 + x63))) + ((0x2 * ((uint64_t)(x11 + x29) * (x43 + x61))) + ((0x2 * ((uint64_t)(x13 + x31) * (x41 + x59))) + ((uint64_t)(x15 + x33) * (x39 + x57))))))) - (((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))));
- { uint64_t x84 = ((((uint64_t)(x5 + x23) * (x47 + x65)) + ((0x2 * ((uint64_t)(x7 + x25) * (x45 + x63))) + ((0x2 * ((uint64_t)(x9 + x27) * (x43 + x61))) + ((0x2 * ((uint64_t)(x11 + x29) * (x41 + x59))) + ((uint64_t)(x13 + x31) * (x39 + x57)))))) - (((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((uint64_t)x13 * x39))))));
- { uint64_t x85 = ((((uint64_t)(x5 + x23) * (x45 + x63)) + ((0x2 * ((uint64_t)(x7 + x25) * (x43 + x61))) + ((0x2 * ((uint64_t)(x9 + x27) * (x41 + x59))) + ((uint64_t)(x11 + x29) * (x39 + x57))))) - (((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))));
- { uint64_t x86 = ((((uint64_t)(x5 + x23) * (x43 + x61)) + ((0x2 * ((uint64_t)(x7 + x25) * (x41 + x59))) + ((uint64_t)(x9 + x27) * (x39 + x57)))) - (((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))));
- { uint64_t x87 = ((((uint64_t)(x5 + x23) * (x41 + x59)) + ((uint64_t)(x7 + x25) * (x39 + x57))) - (((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)));
- { uint64_t x88 = (((uint64_t)(x5 + x23) * (x39 + x57)) - ((uint64_t)x5 * x39));
- { uint64_t x89 = (((((uint64_t)x21 * x55) + ((uint64_t)x36 * x70)) + x81) + x72);
- { uint64_t x90 = ((((((uint64_t)x19 * x55) + ((uint64_t)x21 * x53)) + (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))) + x82) + x73);
- { uint64_t x91 = ((((((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))) + (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))) + x83) + x74);
- { uint64_t x92 = ((((((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((uint64_t)x21 * x49)))) + (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))) + x84) + x75);
- { uint64_t x93 = ((((((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((uint64_t)x21 * x47))))) + (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))) + x85) + x76);
- { uint64_t x94 = ((((((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))) + (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))) + x86) + x77);
- { uint64_t x95 = ((((((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((uint64_t)x21 * x43))))))) + (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))) + x87) + x78);
- { uint64_t x96 = (((((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))) + ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))) + x88) + x79);
- { uint64_t x97 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))) + (((uint64_t)x23 * x70) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((uint64_t)x36 * x57))))))))));
- { uint64_t x98 = (((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))) + (((uint64_t)x23 * x71) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((uint64_t)x37 * x57))))))))) + x72);
- { uint64_t x99 = (((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((uint64_t)x35 * x57)))))))) + x73);
- { uint64_t x100 = (((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((uint64_t)x33 * x57))))))) + x74);
- { uint64_t x101 = (((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((uint64_t)x13 * x39))))) + (((uint64_t)x23 * x65) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((uint64_t)x31 * x57)))))) + x75);
- { uint64_t x102 = (((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((uint64_t)x29 * x57))))) + x76);
- { uint64_t x103 = (((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (((uint64_t)x23 * x61) + ((0x2 * ((uint64_t)x25 * x59)) + ((uint64_t)x27 * x57)))) + x77);
- { uint64_t x104 = (((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (((uint64_t)x23 * x59) + ((uint64_t)x25 * x57))) + x78);
- { uint64_t x105 = ((((uint64_t)x5 * x39) + ((uint64_t)x23 * x57)) + x79);
- { uint32_t x106 = (uint32_t) (x97 >> 0x17);
- { uint32_t x107 = ((uint32_t)x97 & 0x7fffff);
- { uint64_t x108 = (x80 >> 0x17);
- { uint32_t x109 = ((uint32_t)x80 & 0x7fffff);
- { uint64_t x110 = ((0x800000 * x108) + x109);
- { uint64_t x111 = (x110 >> 0x17);
- { uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
- { uint64_t x113 = ((x106 + x96) + x111);
- { uint64_t x114 = (x113 >> 0x18);
- { uint32_t x115 = ((uint32_t)x113 & 0xffffff);
- { uint64_t x116 = (x105 + x111);
- { uint32_t x117 = (uint32_t) (x116 >> 0x18);
- { uint32_t x118 = ((uint32_t)x116 & 0xffffff);
- { uint64_t x119 = (x114 + x95);
- { uint64_t x120 = (x119 >> 0x17);
- { uint32_t x121 = ((uint32_t)x119 & 0x7fffff);
- { uint64_t x122 = (x117 + x104);
- { uint32_t x123 = (uint32_t) (x122 >> 0x17);
- { uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
- { uint64_t x125 = (x120 + x94);
- { uint64_t x126 = (x125 >> 0x17);
- { uint32_t x127 = ((uint32_t)x125 & 0x7fffff);
- { uint64_t x128 = (x123 + x103);
- { uint32_t x129 = (uint32_t) (x128 >> 0x17);
- { uint32_t x130 = ((uint32_t)x128 & 0x7fffff);
- { uint64_t x131 = (x126 + x93);
- { uint64_t x132 = (x131 >> 0x17);
- { uint32_t x133 = ((uint32_t)x131 & 0x7fffff);
- { uint64_t x134 = (x129 + x102);
- { uint32_t x135 = (uint32_t) (x134 >> 0x17);
- { uint32_t x136 = ((uint32_t)x134 & 0x7fffff);
- { uint64_t x137 = (x132 + x92);
- { uint64_t x138 = (x137 >> 0x17);
- { uint32_t x139 = ((uint32_t)x137 & 0x7fffff);
- { uint64_t x140 = (x135 + x101);
- { uint32_t x141 = (uint32_t) (x140 >> 0x17);
- { uint32_t x142 = ((uint32_t)x140 & 0x7fffff);
- { uint64_t x143 = (x138 + x91);
- { uint64_t x144 = (x143 >> 0x17);
- { uint32_t x145 = ((uint32_t)x143 & 0x7fffff);
- { uint64_t x146 = (x141 + x100);
- { uint32_t x147 = (uint32_t) (x146 >> 0x17);
- { uint32_t x148 = ((uint32_t)x146 & 0x7fffff);
- { uint64_t x149 = (x144 + x90);
- { uint64_t x150 = (x149 >> 0x17);
- { uint32_t x151 = ((uint32_t)x149 & 0x7fffff);
- { uint64_t x152 = (x147 + x99);
- { uint32_t x153 = (uint32_t) (x152 >> 0x17);
- { uint32_t x154 = ((uint32_t)x152 & 0x7fffff);
- { uint64_t x155 = (x150 + x89);
- { uint64_t x156 = (x155 >> 0x17);
- { uint32_t x157 = ((uint32_t)x155 & 0x7fffff);
- { uint64_t x158 = (x153 + x98);
- { uint32_t x159 = (uint32_t) (x158 >> 0x17);
- { uint32_t x160 = ((uint32_t)x158 & 0x7fffff);
- { uint64_t x161 = (x156 + x112);
- { uint32_t x162 = (uint32_t) (x161 >> 0x17);
- { uint32_t x163 = ((uint32_t)x161 & 0x7fffff);
- { uint32_t x164 = (x159 + x107);
- { uint32_t x165 = (x164 >> 0x17);
- { uint32_t x166 = (x164 & 0x7fffff);
- { uint64_t x167 = (((uint64_t)0x800000 * x162) + x163);
- { uint32_t x168 = (uint32_t) (x167 >> 0x17);
- { uint32_t x169 = ((uint32_t)x167 & 0x7fffff);
- { uint32_t x170 = ((x165 + x115) + x168);
- { uint32_t x171 = (x170 >> 0x18);
- { uint32_t x172 = (x170 & 0xffffff);
- { uint32_t x173 = (x118 + x168);
- { uint32_t x174 = (x173 >> 0x18);
- { uint32_t x175 = (x173 & 0xffffff);
- out[0] = x175;
- out[1] = (x174 + x124);
- out[2] = x130;
- out[3] = x136;
- out[4] = x142;
- out[5] = x148;
- out[6] = x154;
- out[7] = x160;
- out[8] = x166;
- out[9] = x172;
- out[10] = (x171 + x121);
- out[11] = x127;
- out[12] = x133;
- out[13] = x139;
- out[14] = x145;
- out[15] = x151;
- out[16] = x157;
- out[17] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/femul.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/femul.v
deleted file mode 100644
index 9045f1747..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/femulDisplay.log b/src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.log
deleted file mode 100644
index 809d34e5a..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = (((uint64_t)(x21 + x36) * (x55 + x70)) - ((uint64_t)x21 * x55));
- uint64_t x73 = ((((uint64_t)(x19 + x37) * (x55 + x70)) + ((uint64_t)(x21 + x36) * (x53 + x71))) - (((uint64_t)x19 * x55) + ((uint64_t)x21 * x53)));
- uint64_t x74 = ((((uint64_t)(x17 + x35) * (x55 + x70)) + (((uint64_t)(x19 + x37) * (x53 + x71)) + ((uint64_t)(x21 + x36) * (x51 + x69)))) - (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))));
- uint64_t x75 = ((((uint64_t)(x15 + x33) * (x55 + x70)) + (((uint64_t)(x17 + x35) * (x53 + x71)) + (((uint64_t)(x19 + x37) * (x51 + x69)) + ((uint64_t)(x21 + x36) * (x49 + x67))))) - (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((uint64_t)x21 * x49)))));
- uint64_t x76 = ((((uint64_t)(x13 + x31) * (x55 + x70)) + (((uint64_t)(x15 + x33) * (x53 + x71)) + (((uint64_t)(x17 + x35) * (x51 + x69)) + (((uint64_t)(x19 + x37) * (x49 + x67)) + ((uint64_t)(x21 + x36) * (x47 + x65)))))) - (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((uint64_t)x21 * x47))))));
- uint64_t x77 = ((((uint64_t)(x11 + x29) * (x55 + x70)) + (((uint64_t)(x13 + x31) * (x53 + x71)) + (((uint64_t)(x15 + x33) * (x51 + x69)) + (((uint64_t)(x17 + x35) * (x49 + x67)) + (((uint64_t)(x19 + x37) * (x47 + x65)) + ((uint64_t)(x21 + x36) * (x45 + x63))))))) - (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))));
- uint64_t x78 = ((((uint64_t)(x9 + x27) * (x55 + x70)) + (((uint64_t)(x11 + x29) * (x53 + x71)) + (((uint64_t)(x13 + x31) * (x51 + x69)) + (((uint64_t)(x15 + x33) * (x49 + x67)) + (((uint64_t)(x17 + x35) * (x47 + x65)) + (((uint64_t)(x19 + x37) * (x45 + x63)) + ((uint64_t)(x21 + x36) * (x43 + x61)))))))) - (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((uint64_t)x21 * x43))))))));
- uint64_t x79 = (((0x2 * ((uint64_t)(x7 + x25) * (x55 + x70))) + ((0x2 * ((uint64_t)(x9 + x27) * (x53 + x71))) + ((0x2 * ((uint64_t)(x11 + x29) * (x51 + x69))) + ((0x2 * ((uint64_t)(x13 + x31) * (x49 + x67))) + ((0x2 * ((uint64_t)(x15 + x33) * (x47 + x65))) + ((0x2 * ((uint64_t)(x17 + x35) * (x45 + x63))) + ((0x2 * ((uint64_t)(x19 + x37) * (x43 + x61))) + (0x2 * ((uint64_t)(x21 + x36) * (x41 + x59)))))))))) - ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))));
- uint64_t x80 = ((((uint64_t)(x5 + x23) * (x55 + x70)) + ((0x2 * ((uint64_t)(x7 + x25) * (x53 + x71))) + ((0x2 * ((uint64_t)(x9 + x27) * (x51 + x69))) + ((0x2 * ((uint64_t)(x11 + x29) * (x49 + x67))) + ((0x2 * ((uint64_t)(x13 + x31) * (x47 + x65))) + ((0x2 * ((uint64_t)(x15 + x33) * (x45 + x63))) + ((0x2 * ((uint64_t)(x17 + x35) * (x43 + x61))) + ((0x2 * ((uint64_t)(x19 + x37) * (x41 + x59))) + ((uint64_t)(x21 + x36) * (x39 + x57)))))))))) - (((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))));
- uint64_t x81 = ((((uint64_t)(x5 + x23) * (x53 + x71)) + ((0x2 * ((uint64_t)(x7 + x25) * (x51 + x69))) + ((0x2 * ((uint64_t)(x9 + x27) * (x49 + x67))) + ((0x2 * ((uint64_t)(x11 + x29) * (x47 + x65))) + ((0x2 * ((uint64_t)(x13 + x31) * (x45 + x63))) + ((0x2 * ((uint64_t)(x15 + x33) * (x43 + x61))) + ((0x2 * ((uint64_t)(x17 + x35) * (x41 + x59))) + ((uint64_t)(x19 + x37) * (x39 + x57))))))))) - (((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))));
- uint64_t x82 = ((((uint64_t)(x5 + x23) * (x51 + x69)) + ((0x2 * ((uint64_t)(x7 + x25) * (x49 + x67))) + ((0x2 * ((uint64_t)(x9 + x27) * (x47 + x65))) + ((0x2 * ((uint64_t)(x11 + x29) * (x45 + x63))) + ((0x2 * ((uint64_t)(x13 + x31) * (x43 + x61))) + ((0x2 * ((uint64_t)(x15 + x33) * (x41 + x59))) + ((uint64_t)(x17 + x35) * (x39 + x57)))))))) - (((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))));
- uint64_t x83 = ((((uint64_t)(x5 + x23) * (x49 + x67)) + ((0x2 * ((uint64_t)(x7 + x25) * (x47 + x65))) + ((0x2 * ((uint64_t)(x9 + x27) * (x45 + x63))) + ((0x2 * ((uint64_t)(x11 + x29) * (x43 + x61))) + ((0x2 * ((uint64_t)(x13 + x31) * (x41 + x59))) + ((uint64_t)(x15 + x33) * (x39 + x57))))))) - (((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))));
- uint64_t x84 = ((((uint64_t)(x5 + x23) * (x47 + x65)) + ((0x2 * ((uint64_t)(x7 + x25) * (x45 + x63))) + ((0x2 * ((uint64_t)(x9 + x27) * (x43 + x61))) + ((0x2 * ((uint64_t)(x11 + x29) * (x41 + x59))) + ((uint64_t)(x13 + x31) * (x39 + x57)))))) - (((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((uint64_t)x13 * x39))))));
- uint64_t x85 = ((((uint64_t)(x5 + x23) * (x45 + x63)) + ((0x2 * ((uint64_t)(x7 + x25) * (x43 + x61))) + ((0x2 * ((uint64_t)(x9 + x27) * (x41 + x59))) + ((uint64_t)(x11 + x29) * (x39 + x57))))) - (((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))));
- uint64_t x86 = ((((uint64_t)(x5 + x23) * (x43 + x61)) + ((0x2 * ((uint64_t)(x7 + x25) * (x41 + x59))) + ((uint64_t)(x9 + x27) * (x39 + x57)))) - (((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))));
- uint64_t x87 = ((((uint64_t)(x5 + x23) * (x41 + x59)) + ((uint64_t)(x7 + x25) * (x39 + x57))) - (((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)));
- uint64_t x88 = (((uint64_t)(x5 + x23) * (x39 + x57)) - ((uint64_t)x5 * x39));
- uint64_t x89 = (((((uint64_t)x21 * x55) + ((uint64_t)x36 * x70)) + x81) + x72);
- uint64_t x90 = ((((((uint64_t)x19 * x55) + ((uint64_t)x21 * x53)) + (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))) + x82) + x73);
- uint64_t x91 = ((((((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))) + (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))) + x83) + x74);
- uint64_t x92 = ((((((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((uint64_t)x21 * x49)))) + (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))) + x84) + x75);
- uint64_t x93 = ((((((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + ((uint64_t)x21 * x47))))) + (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))) + x85) + x76);
- uint64_t x94 = ((((((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))) + (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))) + x86) + x77);
- uint64_t x95 = ((((((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((uint64_t)x21 * x43))))))) + (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))) + x87) + x78);
- uint64_t x96 = (((((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))) + ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))) + x88) + x79);
- uint64_t x97 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))) + (((uint64_t)x23 * x70) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((uint64_t)x36 * x57))))))))));
- uint64_t x98 = (((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))) + (((uint64_t)x23 * x71) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((uint64_t)x37 * x57))))))))) + x72);
- uint64_t x99 = (((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((uint64_t)x35 * x57)))))))) + x73);
- uint64_t x100 = (((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((uint64_t)x33 * x57))))))) + x74);
- uint64_t x101 = (((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((uint64_t)x13 * x39))))) + (((uint64_t)x23 * x65) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((uint64_t)x31 * x57)))))) + x75);
- uint64_t x102 = (((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((uint64_t)x29 * x57))))) + x76);
- uint64_t x103 = (((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (((uint64_t)x23 * x61) + ((0x2 * ((uint64_t)x25 * x59)) + ((uint64_t)x27 * x57)))) + x77);
- uint64_t x104 = (((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (((uint64_t)x23 * x59) + ((uint64_t)x25 * x57))) + x78);
- uint64_t x105 = ((((uint64_t)x5 * x39) + ((uint64_t)x23 * x57)) + x79);
- uint32_t x106 = (uint32_t) (x97 >> 0x17);
- uint32_t x107 = ((uint32_t)x97 & 0x7fffff);
- uint64_t x108 = (x80 >> 0x17);
- uint32_t x109 = ((uint32_t)x80 & 0x7fffff);
- uint64_t x110 = ((0x800000 * x108) + x109);
- uint64_t x111 = (x110 >> 0x17);
- uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
- uint64_t x113 = ((x106 + x96) + x111);
- uint64_t x114 = (x113 >> 0x18);
- uint32_t x115 = ((uint32_t)x113 & 0xffffff);
- uint64_t x116 = (x105 + x111);
- uint32_t x117 = (uint32_t) (x116 >> 0x18);
- uint32_t x118 = ((uint32_t)x116 & 0xffffff);
- uint64_t x119 = (x114 + x95);
- uint64_t x120 = (x119 >> 0x17);
- uint32_t x121 = ((uint32_t)x119 & 0x7fffff);
- uint64_t x122 = (x117 + x104);
- uint32_t x123 = (uint32_t) (x122 >> 0x17);
- uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
- uint64_t x125 = (x120 + x94);
- uint64_t x126 = (x125 >> 0x17);
- uint32_t x127 = ((uint32_t)x125 & 0x7fffff);
- uint64_t x128 = (x123 + x103);
- uint32_t x129 = (uint32_t) (x128 >> 0x17);
- uint32_t x130 = ((uint32_t)x128 & 0x7fffff);
- uint64_t x131 = (x126 + x93);
- uint64_t x132 = (x131 >> 0x17);
- uint32_t x133 = ((uint32_t)x131 & 0x7fffff);
- uint64_t x134 = (x129 + x102);
- uint32_t x135 = (uint32_t) (x134 >> 0x17);
- uint32_t x136 = ((uint32_t)x134 & 0x7fffff);
- uint64_t x137 = (x132 + x92);
- uint64_t x138 = (x137 >> 0x17);
- uint32_t x139 = ((uint32_t)x137 & 0x7fffff);
- uint64_t x140 = (x135 + x101);
- uint32_t x141 = (uint32_t) (x140 >> 0x17);
- uint32_t x142 = ((uint32_t)x140 & 0x7fffff);
- uint64_t x143 = (x138 + x91);
- uint64_t x144 = (x143 >> 0x17);
- uint32_t x145 = ((uint32_t)x143 & 0x7fffff);
- uint64_t x146 = (x141 + x100);
- uint32_t x147 = (uint32_t) (x146 >> 0x17);
- uint32_t x148 = ((uint32_t)x146 & 0x7fffff);
- uint64_t x149 = (x144 + x90);
- uint64_t x150 = (x149 >> 0x17);
- uint32_t x151 = ((uint32_t)x149 & 0x7fffff);
- uint64_t x152 = (x147 + x99);
- uint32_t x153 = (uint32_t) (x152 >> 0x17);
- uint32_t x154 = ((uint32_t)x152 & 0x7fffff);
- uint64_t x155 = (x150 + x89);
- uint64_t x156 = (x155 >> 0x17);
- uint32_t x157 = ((uint32_t)x155 & 0x7fffff);
- uint64_t x158 = (x153 + x98);
- uint32_t x159 = (uint32_t) (x158 >> 0x17);
- uint32_t x160 = ((uint32_t)x158 & 0x7fffff);
- uint64_t x161 = (x156 + x112);
- uint32_t x162 = (uint32_t) (x161 >> 0x17);
- uint32_t x163 = ((uint32_t)x161 & 0x7fffff);
- uint32_t x164 = (x159 + x107);
- uint32_t x165 = (x164 >> 0x17);
- uint32_t x166 = (x164 & 0x7fffff);
- uint64_t x167 = (((uint64_t)0x800000 * x162) + x163);
- uint32_t x168 = (uint32_t) (x167 >> 0x17);
- uint32_t x169 = ((uint32_t)x167 & 0x7fffff);
- uint32_t x170 = ((x165 + x115) + x168);
- uint32_t x171 = (x170 >> 0x18);
- uint32_t x172 = (x170 & 0xffffff);
- uint32_t x173 = (x118 + x168);
- uint32_t x174 = (x173 >> 0x18);
- uint32_t x175 = (x173 & 0xffffff);
- return (Return x169, Return x157, Return x151, Return x145, Return x139, Return x133, Return x127, (x171 + x121), Return x172, Return x166, Return x160, Return x154, Return x148, Return x142, Return x136, Return x130, (x174 + x124), Return x175))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.v
deleted file mode 100644
index 22592cc31..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.c b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.c
deleted file mode 100644
index 75da6d8ab..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.c
+++ /dev/null
@@ -1,143 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)(x18 + x33) * (x18 + x33)) - ((uint64_t)x18 * x18));
- { uint64_t x36 = ((((uint64_t)(x16 + x34) * (x18 + x33)) + ((uint64_t)(x18 + x33) * (x16 + x34))) - (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)));
- { uint64_t x37 = ((((uint64_t)(x14 + x32) * (x18 + x33)) + (((uint64_t)(x16 + x34) * (x16 + x34)) + ((uint64_t)(x18 + x33) * (x14 + x32)))) - (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))));
- { uint64_t x38 = ((((uint64_t)(x12 + x30) * (x18 + x33)) + (((uint64_t)(x14 + x32) * (x16 + x34)) + (((uint64_t)(x16 + x34) * (x14 + x32)) + ((uint64_t)(x18 + x33) * (x12 + x30))))) - (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))));
- { uint64_t x39 = ((((uint64_t)(x10 + x28) * (x18 + x33)) + (((uint64_t)(x12 + x30) * (x16 + x34)) + (((uint64_t)(x14 + x32) * (x14 + x32)) + (((uint64_t)(x16 + x34) * (x12 + x30)) + ((uint64_t)(x18 + x33) * (x10 + x28)))))) - (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))));
- { uint64_t x40 = ((((uint64_t)(x8 + x26) * (x18 + x33)) + (((uint64_t)(x10 + x28) * (x16 + x34)) + (((uint64_t)(x12 + x30) * (x14 + x32)) + (((uint64_t)(x14 + x32) * (x12 + x30)) + (((uint64_t)(x16 + x34) * (x10 + x28)) + ((uint64_t)(x18 + x33) * (x8 + x26))))))) - (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))));
- { uint64_t x41 = ((((uint64_t)(x6 + x24) * (x18 + x33)) + (((uint64_t)(x8 + x26) * (x16 + x34)) + (((uint64_t)(x10 + x28) * (x14 + x32)) + (((uint64_t)(x12 + x30) * (x12 + x30)) + (((uint64_t)(x14 + x32) * (x10 + x28)) + (((uint64_t)(x16 + x34) * (x8 + x26)) + ((uint64_t)(x18 + x33) * (x6 + x24)))))))) - (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))));
- { uint64_t x42 = (((0x2 * ((uint64_t)(x4 + x22) * (x18 + x33))) + ((0x2 * ((uint64_t)(x6 + x24) * (x16 + x34))) + ((0x2 * ((uint64_t)(x8 + x26) * (x14 + x32))) + ((0x2 * ((uint64_t)(x10 + x28) * (x12 + x30))) + ((0x2 * ((uint64_t)(x12 + x30) * (x10 + x28))) + ((0x2 * ((uint64_t)(x14 + x32) * (x8 + x26))) + ((0x2 * ((uint64_t)(x16 + x34) * (x6 + x24))) + (0x2 * ((uint64_t)(x18 + x33) * (x4 + x22)))))))))) - ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))));
- { uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + ((0x2 * ((uint64_t)(x4 + x22) * (x16 + x34))) + ((0x2 * ((uint64_t)(x6 + x24) * (x14 + x32))) + ((0x2 * ((uint64_t)(x8 + x26) * (x12 + x30))) + ((0x2 * ((uint64_t)(x10 + x28) * (x10 + x28))) + ((0x2 * ((uint64_t)(x12 + x30) * (x8 + x26))) + ((0x2 * ((uint64_t)(x14 + x32) * (x6 + x24))) + ((0x2 * ((uint64_t)(x16 + x34) * (x4 + x22))) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))));
- { uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + ((0x2 * ((uint64_t)(x4 + x22) * (x14 + x32))) + ((0x2 * ((uint64_t)(x6 + x24) * (x12 + x30))) + ((0x2 * ((uint64_t)(x8 + x26) * (x10 + x28))) + ((0x2 * ((uint64_t)(x10 + x28) * (x8 + x26))) + ((0x2 * ((uint64_t)(x12 + x30) * (x6 + x24))) + ((0x2 * ((uint64_t)(x14 + x32) * (x4 + x22))) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))));
- { uint64_t x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + ((0x2 * ((uint64_t)(x4 + x22) * (x12 + x30))) + ((0x2 * ((uint64_t)(x6 + x24) * (x10 + x28))) + ((0x2 * ((uint64_t)(x8 + x26) * (x8 + x26))) + ((0x2 * ((uint64_t)(x10 + x28) * (x6 + x24))) + ((0x2 * ((uint64_t)(x12 + x30) * (x4 + x22))) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))));
- { uint64_t x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + ((0x2 * ((uint64_t)(x4 + x22) * (x10 + x28))) + ((0x2 * ((uint64_t)(x6 + x24) * (x8 + x26))) + ((0x2 * ((uint64_t)(x8 + x26) * (x6 + x24))) + ((0x2 * ((uint64_t)(x10 + x28) * (x4 + x22))) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))));
- { uint64_t x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + ((0x2 * ((uint64_t)(x4 + x22) * (x8 + x26))) + ((0x2 * ((uint64_t)(x6 + x24) * (x6 + x24))) + ((0x2 * ((uint64_t)(x8 + x26) * (x4 + x22))) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))));
- { uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + ((0x2 * ((uint64_t)(x4 + x22) * (x6 + x24))) + ((0x2 * ((uint64_t)(x6 + x24) * (x4 + x22))) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))));
- { uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + ((0x2 * ((uint64_t)(x4 + x22) * (x4 + x22))) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))));
- { uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- { uint64_t x52 = (((((uint64_t)x18 * x18) + ((uint64_t)x33 * x33)) + x44) + x35);
- { uint64_t x53 = ((((((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)) + (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))) + x45) + x36);
- { uint64_t x54 = ((((((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))) + (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))) + x46) + x37);
- { uint64_t x55 = ((((((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))) + (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))) + x47) + x38);
- { uint64_t x56 = ((((((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))) + (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))) + x48) + x39);
- { uint64_t x57 = ((((((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))) + (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))) + x49) + x40);
- { uint64_t x58 = ((((((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))) + (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))) + x50) + x41);
- { uint64_t x59 = (((((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))) + ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))) + x51) + x42);
- { uint64_t x60 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x20 * x33) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((uint64_t)x33 * x20))))))))));
- { uint64_t x61 = (((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((uint64_t)x34 * x20))))))))) + x35);
- { uint64_t x62 = (((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((uint64_t)x32 * x20)))))))) + x36);
- { uint64_t x63 = (((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((uint64_t)x30 * x20))))))) + x37);
- { uint64_t x64 = (((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((uint64_t)x28 * x20)))))) + x38);
- { uint64_t x65 = (((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((uint64_t)x26 * x20))))) + x39);
- { uint64_t x66 = (((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x24 * x20)))) + x40);
- { uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- { uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- { uint32_t x69 = (uint32_t) (x60 >> 0x17);
- { uint32_t x70 = ((uint32_t)x60 & 0x7fffff);
- { uint64_t x71 = (x43 >> 0x17);
- { uint32_t x72 = ((uint32_t)x43 & 0x7fffff);
- { uint64_t x73 = ((0x800000 * x71) + x72);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = ((x69 + x59) + x74);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x68 + x74);
- { uint32_t x80 = (uint32_t) (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x77 + x58);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x80 + x67);
- { uint32_t x86 = (uint32_t) (x85 >> 0x17);
- { uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- { uint64_t x88 = (x83 + x57);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x86 + x66);
- { uint32_t x92 = (uint32_t) (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x89 + x56);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x92 + x65);
- { uint32_t x98 = (uint32_t) (x97 >> 0x17);
- { uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- { uint64_t x100 = (x95 + x55);
- { uint64_t x101 = (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint64_t x103 = (x98 + x64);
- { uint32_t x104 = (uint32_t) (x103 >> 0x17);
- { uint32_t x105 = ((uint32_t)x103 & 0x7fffff);
- { uint64_t x106 = (x101 + x54);
- { uint64_t x107 = (x106 >> 0x17);
- { uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- { uint64_t x109 = (x104 + x63);
- { uint32_t x110 = (uint32_t) (x109 >> 0x17);
- { uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- { uint64_t x112 = (x107 + x53);
- { uint64_t x113 = (x112 >> 0x17);
- { uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- { uint64_t x115 = (x110 + x62);
- { uint32_t x116 = (uint32_t) (x115 >> 0x17);
- { uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- { uint64_t x118 = (x113 + x52);
- { uint64_t x119 = (x118 >> 0x17);
- { uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- { uint64_t x121 = (x116 + x61);
- { uint32_t x122 = (uint32_t) (x121 >> 0x17);
- { uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- { uint64_t x124 = (x119 + x75);
- { uint32_t x125 = (uint32_t) (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint32_t x127 = (x122 + x70);
- { uint32_t x128 = (x127 >> 0x17);
- { uint32_t x129 = (x127 & 0x7fffff);
- { uint64_t x130 = (((uint64_t)0x800000 * x125) + x126);
- { uint32_t x131 = (uint32_t) (x130 >> 0x17);
- { uint32_t x132 = ((uint32_t)x130 & 0x7fffff);
- { uint32_t x133 = ((x128 + x78) + x131);
- { uint32_t x134 = (x133 >> 0x18);
- { uint32_t x135 = (x133 & 0xffffff);
- { uint32_t x136 = (x81 + x131);
- { uint32_t x137 = (x136 >> 0x18);
- { uint32_t x138 = (x136 & 0xffffff);
- out[0] = x138;
- out[1] = (x137 + x87);
- out[2] = x93;
- out[3] = x99;
- out[4] = x105;
- out[5] = x111;
- out[6] = x117;
- out[7] = x123;
- out[8] = x129;
- out[9] = x135;
- out[10] = (x134 + x84);
- out[11] = x90;
- out[12] = x96;
- out[13] = x102;
- out[14] = x108;
- out[15] = x114;
- out[16] = x120;
- out[17] = x132;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.v
deleted file mode 100644
index d31b22958..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.log
deleted file mode 100644
index e61df95c2..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)(x18 + x33) * (x18 + x33)) - ((uint64_t)x18 * x18));
- uint64_t x36 = ((((uint64_t)(x16 + x34) * (x18 + x33)) + ((uint64_t)(x18 + x33) * (x16 + x34))) - (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)));
- uint64_t x37 = ((((uint64_t)(x14 + x32) * (x18 + x33)) + (((uint64_t)(x16 + x34) * (x16 + x34)) + ((uint64_t)(x18 + x33) * (x14 + x32)))) - (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))));
- uint64_t x38 = ((((uint64_t)(x12 + x30) * (x18 + x33)) + (((uint64_t)(x14 + x32) * (x16 + x34)) + (((uint64_t)(x16 + x34) * (x14 + x32)) + ((uint64_t)(x18 + x33) * (x12 + x30))))) - (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))));
- uint64_t x39 = ((((uint64_t)(x10 + x28) * (x18 + x33)) + (((uint64_t)(x12 + x30) * (x16 + x34)) + (((uint64_t)(x14 + x32) * (x14 + x32)) + (((uint64_t)(x16 + x34) * (x12 + x30)) + ((uint64_t)(x18 + x33) * (x10 + x28)))))) - (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))));
- uint64_t x40 = ((((uint64_t)(x8 + x26) * (x18 + x33)) + (((uint64_t)(x10 + x28) * (x16 + x34)) + (((uint64_t)(x12 + x30) * (x14 + x32)) + (((uint64_t)(x14 + x32) * (x12 + x30)) + (((uint64_t)(x16 + x34) * (x10 + x28)) + ((uint64_t)(x18 + x33) * (x8 + x26))))))) - (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))));
- uint64_t x41 = ((((uint64_t)(x6 + x24) * (x18 + x33)) + (((uint64_t)(x8 + x26) * (x16 + x34)) + (((uint64_t)(x10 + x28) * (x14 + x32)) + (((uint64_t)(x12 + x30) * (x12 + x30)) + (((uint64_t)(x14 + x32) * (x10 + x28)) + (((uint64_t)(x16 + x34) * (x8 + x26)) + ((uint64_t)(x18 + x33) * (x6 + x24)))))))) - (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))));
- uint64_t x42 = (((0x2 * ((uint64_t)(x4 + x22) * (x18 + x33))) + ((0x2 * ((uint64_t)(x6 + x24) * (x16 + x34))) + ((0x2 * ((uint64_t)(x8 + x26) * (x14 + x32))) + ((0x2 * ((uint64_t)(x10 + x28) * (x12 + x30))) + ((0x2 * ((uint64_t)(x12 + x30) * (x10 + x28))) + ((0x2 * ((uint64_t)(x14 + x32) * (x8 + x26))) + ((0x2 * ((uint64_t)(x16 + x34) * (x6 + x24))) + (0x2 * ((uint64_t)(x18 + x33) * (x4 + x22)))))))))) - ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))));
- uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + ((0x2 * ((uint64_t)(x4 + x22) * (x16 + x34))) + ((0x2 * ((uint64_t)(x6 + x24) * (x14 + x32))) + ((0x2 * ((uint64_t)(x8 + x26) * (x12 + x30))) + ((0x2 * ((uint64_t)(x10 + x28) * (x10 + x28))) + ((0x2 * ((uint64_t)(x12 + x30) * (x8 + x26))) + ((0x2 * ((uint64_t)(x14 + x32) * (x6 + x24))) + ((0x2 * ((uint64_t)(x16 + x34) * (x4 + x22))) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))));
- uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + ((0x2 * ((uint64_t)(x4 + x22) * (x14 + x32))) + ((0x2 * ((uint64_t)(x6 + x24) * (x12 + x30))) + ((0x2 * ((uint64_t)(x8 + x26) * (x10 + x28))) + ((0x2 * ((uint64_t)(x10 + x28) * (x8 + x26))) + ((0x2 * ((uint64_t)(x12 + x30) * (x6 + x24))) + ((0x2 * ((uint64_t)(x14 + x32) * (x4 + x22))) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))));
- uint64_t x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + ((0x2 * ((uint64_t)(x4 + x22) * (x12 + x30))) + ((0x2 * ((uint64_t)(x6 + x24) * (x10 + x28))) + ((0x2 * ((uint64_t)(x8 + x26) * (x8 + x26))) + ((0x2 * ((uint64_t)(x10 + x28) * (x6 + x24))) + ((0x2 * ((uint64_t)(x12 + x30) * (x4 + x22))) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))));
- uint64_t x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + ((0x2 * ((uint64_t)(x4 + x22) * (x10 + x28))) + ((0x2 * ((uint64_t)(x6 + x24) * (x8 + x26))) + ((0x2 * ((uint64_t)(x8 + x26) * (x6 + x24))) + ((0x2 * ((uint64_t)(x10 + x28) * (x4 + x22))) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))));
- uint64_t x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + ((0x2 * ((uint64_t)(x4 + x22) * (x8 + x26))) + ((0x2 * ((uint64_t)(x6 + x24) * (x6 + x24))) + ((0x2 * ((uint64_t)(x8 + x26) * (x4 + x22))) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))));
- uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + ((0x2 * ((uint64_t)(x4 + x22) * (x6 + x24))) + ((0x2 * ((uint64_t)(x6 + x24) * (x4 + x22))) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))));
- uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + ((0x2 * ((uint64_t)(x4 + x22) * (x4 + x22))) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))));
- uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- uint64_t x52 = (((((uint64_t)x18 * x18) + ((uint64_t)x33 * x33)) + x44) + x35);
- uint64_t x53 = ((((((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)) + (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))) + x45) + x36);
- uint64_t x54 = ((((((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))) + (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))) + x46) + x37);
- uint64_t x55 = ((((((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))) + (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))) + x47) + x38);
- uint64_t x56 = ((((((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))) + (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))) + x48) + x39);
- uint64_t x57 = ((((((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))) + (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))) + x49) + x40);
- uint64_t x58 = ((((((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))) + (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))) + x50) + x41);
- uint64_t x59 = (((((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))) + ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))) + x51) + x42);
- uint64_t x60 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x20 * x33) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((uint64_t)x33 * x20))))))))));
- uint64_t x61 = (((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((uint64_t)x34 * x20))))))))) + x35);
- uint64_t x62 = (((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((uint64_t)x32 * x20)))))))) + x36);
- uint64_t x63 = (((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((uint64_t)x30 * x20))))))) + x37);
- uint64_t x64 = (((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((uint64_t)x28 * x20)))))) + x38);
- uint64_t x65 = (((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((uint64_t)x26 * x20))))) + x39);
- uint64_t x66 = (((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x24 * x20)))) + x40);
- uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- uint32_t x69 = (uint32_t) (x60 >> 0x17);
- uint32_t x70 = ((uint32_t)x60 & 0x7fffff);
- uint64_t x71 = (x43 >> 0x17);
- uint32_t x72 = ((uint32_t)x43 & 0x7fffff);
- uint64_t x73 = ((0x800000 * x71) + x72);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = ((x69 + x59) + x74);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x68 + x74);
- uint32_t x80 = (uint32_t) (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x77 + x58);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x80 + x67);
- uint32_t x86 = (uint32_t) (x85 >> 0x17);
- uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- uint64_t x88 = (x83 + x57);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x86 + x66);
- uint32_t x92 = (uint32_t) (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x89 + x56);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x92 + x65);
- uint32_t x98 = (uint32_t) (x97 >> 0x17);
- uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- uint64_t x100 = (x95 + x55);
- uint64_t x101 = (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint64_t x103 = (x98 + x64);
- uint32_t x104 = (uint32_t) (x103 >> 0x17);
- uint32_t x105 = ((uint32_t)x103 & 0x7fffff);
- uint64_t x106 = (x101 + x54);
- uint64_t x107 = (x106 >> 0x17);
- uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- uint64_t x109 = (x104 + x63);
- uint32_t x110 = (uint32_t) (x109 >> 0x17);
- uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- uint64_t x112 = (x107 + x53);
- uint64_t x113 = (x112 >> 0x17);
- uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- uint64_t x115 = (x110 + x62);
- uint32_t x116 = (uint32_t) (x115 >> 0x17);
- uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- uint64_t x118 = (x113 + x52);
- uint64_t x119 = (x118 >> 0x17);
- uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- uint64_t x121 = (x116 + x61);
- uint32_t x122 = (uint32_t) (x121 >> 0x17);
- uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- uint64_t x124 = (x119 + x75);
- uint32_t x125 = (uint32_t) (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint32_t x127 = (x122 + x70);
- uint32_t x128 = (x127 >> 0x17);
- uint32_t x129 = (x127 & 0x7fffff);
- uint64_t x130 = (((uint64_t)0x800000 * x125) + x126);
- uint32_t x131 = (uint32_t) (x130 >> 0x17);
- uint32_t x132 = ((uint32_t)x130 & 0x7fffff);
- uint32_t x133 = ((x128 + x78) + x131);
- uint32_t x134 = (x133 >> 0x18);
- uint32_t x135 = (x133 & 0xffffff);
- uint32_t x136 = (x81 + x131);
- uint32_t x137 = (x136 >> 0x18);
- uint32_t x138 = (x136 & 0xffffff);
- return (Return x132, Return x120, Return x114, Return x108, Return x102, Return x96, Return x90, (x134 + x84), Return x135, Return x129, Return x123, Return x117, Return x111, Return x105, Return x99, Return x93, (x137 + x87), Return x138))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.v
deleted file mode 100644
index 203dbf2dd..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.c b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.c
deleted file mode 100644
index 032a19381..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x1fffffe + x5) - x39);
- out[1] = ((0xfffffe + x7) - x41);
- out[2] = ((0xfffffe + x9) - x43);
- out[3] = ((0xfffffe + x11) - x45);
- out[4] = ((0xfffffe + x13) - x47);
- out[5] = ((0xfffffe + x15) - x49);
- out[6] = ((0xfffffe + x17) - x51);
- out[7] = ((0xfffffe + x19) - x53);
- out[8] = ((0xfffffe + x21) - x55);
- out[9] = ((0x1fffffc + x23) - x57);
- out[10] = ((0xfffffe + x25) - x59);
- out[11] = ((0xfffffe + x27) - x61);
- out[12] = ((0xfffffe + x29) - x63);
- out[13] = ((0xfffffe + x31) - x65);
- out[14] = ((0xfffffe + x33) - x67);
- out[15] = ((0xfffffe + x35) - x69);
- out[16] = ((0xfffffe + x37) - x71);
- out[17] = ((0xfffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.v
deleted file mode 100644
index 6f92450f4..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.log
deleted file mode 100644
index 9374ad1ca..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0xfffffe + x36) - x70), ((0xfffffe + x37) - x71), ((0xfffffe + x35) - x69), ((0xfffffe + x33) - x67), ((0xfffffe + x31) - x65), ((0xfffffe + x29) - x63), ((0xfffffe + x27) - x61), ((0xfffffe + x25) - x59), ((0x1fffffc + x23) - x57), ((0xfffffe + x21) - x55), ((0xfffffe + x19) - x53), ((0xfffffe + x17) - x51), ((0xfffffe + x15) - x49), ((0xfffffe + x13) - x47), ((0xfffffe + x11) - x45), ((0xfffffe + x9) - x43), ((0xfffffe + x7) - x41), ((0x1fffffe + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.v
deleted file mode 100644
index c2f983d64..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.c b/src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.c
deleted file mode 100644
index 5d4796729..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x7fffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x7fffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x7fffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x7fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x7fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x7fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x7fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x7fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0xfffffe);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x7fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x7fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x7fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x7fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x7fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x7fffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x7fffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0xffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x7fffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x7fffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x7fffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x7fffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x7fffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x7fffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x7fffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x7fffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0xfffffe);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x7fffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x7fffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x7fffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x7fffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x7fffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x7fffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x7fffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x7fffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.v
deleted file mode 100644
index 8c05cb013..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.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_2e416m2e208m1_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.log
deleted file mode 100644
index 61cd9ffe5..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x7fffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x7fffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x7fffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x7fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x7fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x7fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x7fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x7fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0xfffffe);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x7fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x7fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x7fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x7fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x7fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x7fffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x7fffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0xffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x7fffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x7fffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x7fffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x7fffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x7fffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x7fffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x7fffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x7fffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0xfffffe);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x7fffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x7fffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x7fffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x7fffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x7fffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x7fffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x7fffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x7fffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.v
deleted file mode 100644
index d8ce5662a..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e416m2e208m1_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e416m2e208m1_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e416m2e208m1_18limbs/py_interpreter.sh
deleted file mode 100755
index 8cc606239..000000000
--- a/src/Specific/solinas32_2e416m2e208m1_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**416 - 2**208 - 1' -Dmodulus_bytes='23 + 1/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e444m17_17limbs/CurveParameters.v b/src/Specific/solinas32_2e444m17_17limbs/CurveParameters.v
deleted file mode 100644
index 31e1b2abd..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^444 - 17
-Base: 26 + 2/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 26 + 2/17;
- bitwidth := 32;
- s := 2^444;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e444m17_17limbs/Synthesis.v b/src/Specific/solinas32_2e444m17_17limbs/Synthesis.v
deleted file mode 100644
index 7503a7e9e..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/compiler.sh b/src/Specific/solinas32_2e444m17_17limbs/compiler.sh
deleted file mode 100755
index 528a7d6d3..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/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='{27,26,26,26,26,26,26,26,27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas32_2e444m17_17limbs/compilerxx.sh b/src/Specific/solinas32_2e444m17_17limbs/compilerxx.sh
deleted file mode 100755
index 40aeb5f25..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/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='{27,26,26,26,26,26,26,26,27,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas32_2e444m17_17limbs/feadd.c b/src/Specific/solinas32_2e444m17_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_17limbs/feadd.v b/src/Specific/solinas32_2e444m17_17limbs/feadd.v
deleted file mode 100644
index 197cb01d2..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.v
deleted file mode 100644
index 552ccb52d..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fecarry.v b/src/Specific/solinas32_2e444m17_17limbs/fecarry.v
deleted file mode 100644
index c8bc799c2..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e444m17_17limbs/fecarryDisplay.v
deleted file mode 100644
index e00209ac1..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e444m17_17limbs/femul.c b/src/Specific/solinas32_2e444m17_17limbs/femul.c
deleted file mode 100644
index 4bcb63bcb..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x11 * ((uint64_t)x34 * x66)));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((uint64_t)x33 * x37))))))))))))))) + (0x11 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x11 * (((uint64_t)x33 * x66) + (((uint64_t)x35 * x67) + ((uint64_t)x34 * x65)))));
- { uint64_t x72 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((uint64_t)x29 * x37))))))))))))) + (0x11 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0x11 * (((uint64_t)x29 * x66) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + ((uint64_t)x34 * x61)))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x11 * (((uint64_t)x27 * x66) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((uint64_t)x34 * x59))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x11 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x66)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0x11 * (((uint64_t)x21 * x66) + ((0x2 * ((uint64_t)x23 * x67)) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + ((0x2 * ((uint64_t)x35 * x55)) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((uint64_t)x17 * x37))))))) + (0x11 * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x11 * (((uint64_t)x17 * x66) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + (((uint64_t)x35 * x51) + ((uint64_t)x34 * x49)))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((uint64_t)x13 * x37))))) + (0x11 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x11 * (((uint64_t)x13 * x66) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + (((uint64_t)x35 * x47) + ((uint64_t)x34 * x45)))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x11 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x11 * (((uint64_t)x9 * x66) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + ((uint64_t)x34 * x41)))))))))))))))));
- { ℤ x84 = (((uint64_t)x5 * x37) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x1b);
- { uint32_t x86 = (x84 & 0x7ffffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x1a);
- { uint32_t x89 = ((uint32_t)x87 & 0x3ffffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x1a);
- { uint32_t x92 = ((uint32_t)x90 & 0x3ffffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x1a);
- { uint32_t x95 = ((uint32_t)x93 & 0x3ffffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x1a);
- { uint32_t x98 = ((uint32_t)x96 & 0x3ffffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x1a);
- { uint32_t x101 = ((uint32_t)x99 & 0x3ffffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x1a);
- { uint32_t x104 = ((uint32_t)x102 & 0x3ffffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x1a);
- { uint32_t x107 = ((uint32_t)x105 & 0x3ffffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x1b);
- { uint32_t x110 = ((uint32_t)x108 & 0x7ffffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x1a);
- { uint32_t x113 = ((uint32_t)x111 & 0x3ffffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x1a);
- { uint32_t x116 = ((uint32_t)x114 & 0x3ffffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x1a);
- { uint32_t x119 = ((uint32_t)x117 & 0x3ffffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x1a);
- { uint32_t x122 = ((uint32_t)x120 & 0x3ffffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x1a);
- { uint32_t x125 = ((uint32_t)x123 & 0x3ffffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x1a);
- { uint32_t x128 = ((uint32_t)x126 & 0x3ffffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x1a);
- { uint32_t x131 = ((uint32_t)x129 & 0x3ffffff);
- { uint64_t x132 = (x130 + x68);
- { uint64_t x133 = (x132 >> 0x1a);
- { uint32_t x134 = ((uint32_t)x132 & 0x3ffffff);
- { uint64_t x135 = (x86 + (0x11 * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x1b);
- { uint32_t x137 = ((uint32_t)x135 & 0x7ffffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x1a);
- { uint32_t x140 = (x138 & 0x3ffffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_17limbs/femul.v b/src/Specific/solinas32_2e444m17_17limbs/femul.v
deleted file mode 100644
index cdd2cd290..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/femulDisplay.log b/src/Specific/solinas32_2e444m17_17limbs/femulDisplay.log
deleted file mode 100644
index 130eb3313..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((0x2 * ((uint64_t)x35 * x39)) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x11 * ((uint64_t)x34 * x66)));
- uint64_t x70 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((0x2 * ((uint64_t)x31 * x39)) + ((uint64_t)x33 * x37))))))))))))))) + (0x11 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x11 * (((uint64_t)x33 * x66) + (((uint64_t)x35 * x67) + ((uint64_t)x34 * x65)))));
- uint64_t x72 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((0x2 * ((uint64_t)x27 * x39)) + ((uint64_t)x29 * x37))))))))))))) + (0x11 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + ((uint64_t)x27 * x37)))))))))))) + (0x11 * (((uint64_t)x29 * x66) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + ((uint64_t)x34 * x61)))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x11 * (((uint64_t)x27 * x66) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((uint64_t)x34 * x59))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x11 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x66)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((uint64_t)x19 * x37)))))))) + (0x11 * (((uint64_t)x21 * x66) + ((0x2 * ((uint64_t)x23 * x67)) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + ((0x2 * ((uint64_t)x35 * x55)) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((0x2 * ((uint64_t)x15 * x39)) + ((uint64_t)x17 * x37))))))) + (0x11 * (((uint64_t)x19 * x66) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + ((uint64_t)x34 * x51))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x11 * (((uint64_t)x17 * x66) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + (((uint64_t)x35 * x51) + ((uint64_t)x34 * x49)))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((0x2 * ((uint64_t)x11 * x39)) + ((uint64_t)x13 * x37))))) + (0x11 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x11 * (((uint64_t)x13 * x66) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + (((uint64_t)x35 * x47) + ((uint64_t)x34 * x45)))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((uint64_t)x9 * x37))) + (0x11 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x11 * (((uint64_t)x9 * x66) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + ((uint64_t)x34 * x41)))))))))))))))));
- ℤ x84 = (((uint64_t)x5 * x37) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x1b);
- uint32_t x86 = (x84 & 0x7ffffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x1a);
- uint32_t x89 = ((uint32_t)x87 & 0x3ffffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x1a);
- uint32_t x92 = ((uint32_t)x90 & 0x3ffffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x1a);
- uint32_t x95 = ((uint32_t)x93 & 0x3ffffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x1a);
- uint32_t x98 = ((uint32_t)x96 & 0x3ffffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x1a);
- uint32_t x101 = ((uint32_t)x99 & 0x3ffffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x1a);
- uint32_t x104 = ((uint32_t)x102 & 0x3ffffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x1a);
- uint32_t x107 = ((uint32_t)x105 & 0x3ffffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x1b);
- uint32_t x110 = ((uint32_t)x108 & 0x7ffffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x1a);
- uint32_t x113 = ((uint32_t)x111 & 0x3ffffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x1a);
- uint32_t x116 = ((uint32_t)x114 & 0x3ffffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x1a);
- uint32_t x119 = ((uint32_t)x117 & 0x3ffffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x1a);
- uint32_t x122 = ((uint32_t)x120 & 0x3ffffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x1a);
- uint32_t x125 = ((uint32_t)x123 & 0x3ffffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x1a);
- uint32_t x128 = ((uint32_t)x126 & 0x3ffffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x1a);
- uint32_t x131 = ((uint32_t)x129 & 0x3ffffff);
- uint64_t x132 = (x130 + x68);
- uint64_t x133 = (x132 >> 0x1a);
- uint32_t x134 = ((uint32_t)x132 & 0x3ffffff);
- uint64_t x135 = (x86 + (0x11 * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x1b);
- uint32_t x137 = ((uint32_t)x135 & 0x7ffffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x1a);
- uint32_t x140 = (x138 & 0x3ffffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_17limbs/femulDisplay.v b/src/Specific/solinas32_2e444m17_17limbs/femulDisplay.v
deleted file mode 100644
index 335e11d99..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fesquare.c b/src/Specific/solinas32_2e444m17_17limbs/fesquare.c
deleted file mode 100644
index 932f53329..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((uint64_t)x31 * x31)));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x31) + (((uint64_t)x32 * x32) + ((uint64_t)x31 * x30)))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x31) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + ((uint64_t)x31 * x26)))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x31) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((uint64_t)x31 * x24))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x31)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * (((uint64_t)x18 * x31) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x31) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + ((uint64_t)x31 * x14)))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x31) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((uint64_t)x31 * x10)))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x31) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + ((uint64_t)x31 * x6)))))))))))))))));
- { ℤ x49 = (((uint64_t)x2 * x2) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = (x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x1b);
- { uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x33);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x51 + (0x11 * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x1b);
- { uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = (x103 & 0x3ffffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fesquare.v b/src/Specific/solinas32_2e444m17_17limbs/fesquare.v
deleted file mode 100644
index 0e53eb8c0..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.log
deleted file mode 100644
index fc75b2e14..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((uint64_t)x31 * x31)));
- uint64_t x35 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x31) + (((uint64_t)x32 * x32) + ((uint64_t)x31 * x30)))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x31) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + ((uint64_t)x31 * x26)))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x31) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((uint64_t)x31 * x24))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x31)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * (((uint64_t)x18 * x31) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x31) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + ((uint64_t)x31 * x16))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x31) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + ((uint64_t)x31 * x14)))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x31) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((uint64_t)x31 * x10)))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x31) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + ((uint64_t)x31 * x6)))))))))))))))));
- ℤ x49 = (((uint64_t)x2 * x2) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = (x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x1b);
- uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x33);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x51 + (0x11 * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x1b);
- uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x1a);
- uint32_t x105 = (x103 & 0x3ffffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.v
deleted file mode 100644
index b4e84daa0..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fesub.c b/src/Specific/solinas32_2e444m17_17limbs/fesub.c
deleted file mode 100644
index fc24efe86..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0xfffffde + x5) - x37);
- out[1] = ((0x7fffffe + x7) - x39);
- out[2] = ((0x7fffffe + x9) - x41);
- out[3] = ((0x7fffffe + x11) - x43);
- out[4] = ((0x7fffffe + x13) - x45);
- out[5] = ((0x7fffffe + x15) - x47);
- out[6] = ((0x7fffffe + x17) - x49);
- out[7] = ((0x7fffffe + x19) - x51);
- out[8] = ((0xffffffe + x21) - x53);
- out[9] = ((0x7fffffe + x23) - x55);
- out[10] = ((0x7fffffe + x25) - x57);
- out[11] = ((0x7fffffe + x27) - x59);
- out[12] = ((0x7fffffe + x29) - x61);
- out[13] = ((0x7fffffe + x31) - x63);
- out[14] = ((0x7fffffe + x33) - x65);
- out[15] = ((0x7fffffe + x35) - x67);
- out[16] = ((0x7fffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fesub.v b/src/Specific/solinas32_2e444m17_17limbs/fesub.v
deleted file mode 100644
index 41a287ed8..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.log
deleted file mode 100644
index 1ccd52dd3..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x7fffffe + x34) - x66), ((0x7fffffe + x35) - x67), ((0x7fffffe + x33) - x65), ((0x7fffffe + x31) - x63), ((0x7fffffe + x29) - x61), ((0x7fffffe + x27) - x59), ((0x7fffffe + x25) - x57), ((0x7fffffe + x23) - x55), ((0xffffffe + x21) - x53), ((0x7fffffe + x19) - x51), ((0x7fffffe + x17) - x49), ((0x7fffffe + x15) - x47), ((0x7fffffe + x13) - x45), ((0x7fffffe + x11) - x43), ((0x7fffffe + x9) - x41), ((0x7fffffe + x7) - x39), ((0xfffffde + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.v
deleted file mode 100644
index 2e3af31f0..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e444m17_17limbs/freeze.c b/src/Specific/solinas32_2e444m17_17limbs/freeze.c
deleted file mode 100644
index cb0c59f8a..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffef);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x3ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3ffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x3ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x3ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x3ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x3ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x3ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x3ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x3ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3ffffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x7ffffef);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0x3ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x3ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x3ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x3ffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x3ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x3ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x3ffffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x7ffffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x3ffffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x3ffffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x3ffffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x3ffffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x3ffffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x3ffffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0x3ffffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x3ffffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_17limbs/freeze.v b/src/Specific/solinas32_2e444m17_17limbs/freeze.v
deleted file mode 100644
index 7e302cfff..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.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_2e444m17_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.log
deleted file mode 100644
index 522f24f2d..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffef);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x3ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3ffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x3ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x3ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x3ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x3ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x3ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x3ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x3ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3ffffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x7ffffef);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0x3ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x3ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x3ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x3ffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x3ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x3ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x3ffffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x7ffffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x3ffffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x3ffffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x3ffffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x3ffffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x3ffffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x3ffffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0x3ffffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x3ffffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.v
deleted file mode 100644
index e669b84cc..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e444m17_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e444m17_17limbs/py_interpreter.sh
deleted file mode 100755
index 746a5ef3f..000000000
--- a/src/Specific/solinas32_2e444m17_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**444 - 17' -Dmodulus_bytes='26 + 2/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e444m17_18limbs/CurveParameters.v b/src/Specific/solinas32_2e444m17_18limbs/CurveParameters.v
deleted file mode 100644
index 891ec9f37..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^444 - 17
-Base: 24 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 24 + 2/3;
- bitwidth := 32;
- s := 2^444;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 18); [0; 1]]%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_2e444m17_18limbs/Synthesis.v b/src/Specific/solinas32_2e444m17_18limbs/Synthesis.v
deleted file mode 100644
index 5254d531f..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/compiler.sh b/src/Specific/solinas32_2e444m17_18limbs/compiler.sh
deleted file mode 100755
index f67fd2d65..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/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='{25,25,24,25,25,24,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas32_2e444m17_18limbs/compilerxx.sh b/src/Specific/solinas32_2e444m17_18limbs/compilerxx.sh
deleted file mode 100755
index 2ac6f04cc..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/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='{25,25,24,25,25,24,25,25,24,25,25,24,25,25,24,25,25,24}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas32_2e444m17_18limbs/feadd.c b/src/Specific/solinas32_2e444m17_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_18limbs/feadd.v b/src/Specific/solinas32_2e444m17_18limbs/feadd.v
deleted file mode 100644
index dfe1ad6db..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.v
deleted file mode 100644
index aa1512a9f..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fecarry.v b/src/Specific/solinas32_2e444m17_18limbs/fecarry.v
deleted file mode 100644
index 3afa67257..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e444m17_18limbs/fecarryDisplay.v
deleted file mode 100644
index 5cf6d0f71..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e444m17_18limbs/femul.c b/src/Specific/solinas32_2e444m17_18limbs/femul.c
deleted file mode 100644
index f81b8f1fa..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/femul.c
+++ /dev/null
@@ -1,134 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = (((uint64_t)x5 * x70) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + (((uint64_t)x37 * x41) + ((uint64_t)x36 * x39))))))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + ((0x2 * ((uint64_t)x9 * x67)) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((0x2 * ((uint64_t)x33 * x43)) + (((uint64_t)x35 * x41) + ((uint64_t)x37 * x39))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x36 * x70))));
- { uint64_t x74 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((uint64_t)x35 * x39)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))));
- { uint64_t x75 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((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)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x33 * x39))))))))))))))) + (0x11 * (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))));
- { uint64_t x76 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((0x2 * ((uint64_t)x27 * x43)) + (((uint64_t)x29 * x41) + ((uint64_t)x31 * x39)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x33 * x70)) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (0x2 * ((uint64_t)x36 * x67)))))));
- { uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))));
- { uint64_t x78 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x27 * x39)))))))))))) + (0x11 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x70)) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (0x2 * ((uint64_t)x36 * x61))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (0x11 * (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57)))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x70)) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (0x2 * ((uint64_t)x36 * x55)))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x70)) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((0x2 * ((uint64_t)x37 * x55)) + (0x2 * ((uint64_t)x36 * x53))))))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((uint64_t)x15 * x39)))))) + (0x11 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x70)) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + (0x2 * ((uint64_t)x36 * x49))))))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x70)) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (0x2 * ((uint64_t)x36 * x47)))))))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (0x11 * (((uint64_t)x11 * x70) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + (((uint64_t)x37 * x47) + ((uint64_t)x36 * x45)))))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x11 * ((0x2 * ((uint64_t)x9 * x70)) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + (0x2 * ((uint64_t)x36 * x43)))))))))))))))))));
- { uint64_t x89 = (((uint64_t)x5 * x39) + (0x11 * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (((uint64_t)x35 * x45) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- { uint64_t x90 = (x89 >> 0x19);
- { uint32_t x91 = ((uint32_t)x89 & 0x1ffffff);
- { uint64_t x92 = (x90 + x88);
- { uint64_t x93 = (x92 >> 0x19);
- { uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- { uint64_t x95 = (x93 + x87);
- { uint64_t x96 = (x95 >> 0x18);
- { uint32_t x97 = ((uint32_t)x95 & 0xffffff);
- { uint64_t x98 = (x96 + x86);
- { uint64_t x99 = (x98 >> 0x19);
- { uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- { uint64_t x101 = (x99 + x85);
- { uint64_t x102 = (x101 >> 0x19);
- { uint32_t x103 = ((uint32_t)x101 & 0x1ffffff);
- { uint64_t x104 = (x102 + x84);
- { uint64_t x105 = (x104 >> 0x18);
- { uint32_t x106 = ((uint32_t)x104 & 0xffffff);
- { uint64_t x107 = (x105 + x83);
- { uint64_t x108 = (x107 >> 0x19);
- { uint32_t x109 = ((uint32_t)x107 & 0x1ffffff);
- { uint64_t x110 = (x108 + x82);
- { uint64_t x111 = (x110 >> 0x19);
- { uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- { uint64_t x113 = (x111 + x81);
- { uint64_t x114 = (x113 >> 0x18);
- { uint32_t x115 = ((uint32_t)x113 & 0xffffff);
- { uint64_t x116 = (x114 + x80);
- { uint64_t x117 = (x116 >> 0x19);
- { uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- { uint64_t x119 = (x117 + x79);
- { uint64_t x120 = (x119 >> 0x19);
- { uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- { uint64_t x122 = (x120 + x78);
- { uint64_t x123 = (x122 >> 0x18);
- { uint32_t x124 = ((uint32_t)x122 & 0xffffff);
- { uint64_t x125 = (x123 + x77);
- { uint64_t x126 = (x125 >> 0x19);
- { uint32_t x127 = ((uint32_t)x125 & 0x1ffffff);
- { uint64_t x128 = (x126 + x76);
- { uint64_t x129 = (x128 >> 0x19);
- { uint32_t x130 = ((uint32_t)x128 & 0x1ffffff);
- { uint64_t x131 = (x129 + x75);
- { uint64_t x132 = (x131 >> 0x18);
- { uint32_t x133 = ((uint32_t)x131 & 0xffffff);
- { uint64_t x134 = (x132 + x74);
- { uint64_t x135 = (x134 >> 0x19);
- { uint32_t x136 = ((uint32_t)x134 & 0x1ffffff);
- { uint64_t x137 = (x135 + x73);
- { uint64_t x138 = (x137 >> 0x19);
- { uint32_t x139 = ((uint32_t)x137 & 0x1ffffff);
- { uint64_t x140 = (x138 + x72);
- { uint64_t x141 = (x140 >> 0x18);
- { uint32_t x142 = ((uint32_t)x140 & 0xffffff);
- { uint64_t x143 = (x91 + (0x11 * x141));
- { uint32_t x144 = (uint32_t) (x143 >> 0x19);
- { uint32_t x145 = ((uint32_t)x143 & 0x1ffffff);
- { uint32_t x146 = (x144 + x94);
- { uint32_t x147 = (x146 >> 0x19);
- { uint32_t x148 = (x146 & 0x1ffffff);
- out[0] = x145;
- out[1] = x148;
- out[2] = (x147 + x97);
- out[3] = x100;
- out[4] = x103;
- out[5] = x106;
- out[6] = x109;
- out[7] = x112;
- out[8] = x115;
- out[9] = x118;
- out[10] = x121;
- out[11] = x124;
- out[12] = x127;
- out[13] = x130;
- out[14] = x133;
- out[15] = x136;
- out[16] = x139;
- out[17] = x142;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_18limbs/femul.v b/src/Specific/solinas32_2e444m17_18limbs/femul.v
deleted file mode 100644
index edc889e6f..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/femulDisplay.log b/src/Specific/solinas32_2e444m17_18limbs/femulDisplay.log
deleted file mode 100644
index 5f824df8c..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = (((uint64_t)x5 * x70) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + (((uint64_t)x37 * x41) + ((uint64_t)x36 * x39))))))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + ((0x2 * ((uint64_t)x9 * x67)) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((0x2 * ((uint64_t)x33 * x43)) + (((uint64_t)x35 * x41) + ((uint64_t)x37 * x39))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x36 * x70))));
- uint64_t x74 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((uint64_t)x35 * x39)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))));
- uint64_t x75 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((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)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x33 * x39))))))))))))))) + (0x11 * (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))));
- uint64_t x76 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((0x2 * ((uint64_t)x27 * x43)) + (((uint64_t)x29 * x41) + ((uint64_t)x31 * x39)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x33 * x70)) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (0x2 * ((uint64_t)x36 * x67)))))));
- uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))));
- uint64_t x78 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x27 * x39)))))))))))) + (0x11 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x70)) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (0x2 * ((uint64_t)x36 * x61))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (0x11 * (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57)))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x70)) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (0x2 * ((uint64_t)x36 * x55)))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x70)) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((0x2 * ((uint64_t)x37 * x55)) + (0x2 * ((uint64_t)x36 * x53))))))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((uint64_t)x15 * x39)))))) + (0x11 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x70)) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + (0x2 * ((uint64_t)x36 * x49))))))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x70)) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (0x2 * ((uint64_t)x36 * x47)))))))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (0x11 * (((uint64_t)x11 * x70) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + (((uint64_t)x37 * x47) + ((uint64_t)x36 * x45)))))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x11 * ((0x2 * ((uint64_t)x9 * x70)) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + (0x2 * ((uint64_t)x36 * x43)))))))))))))))))));
- uint64_t x89 = (((uint64_t)x5 * x39) + (0x11 * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + (((uint64_t)x35 * x45) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- uint64_t x90 = (x89 >> 0x19);
- uint32_t x91 = ((uint32_t)x89 & 0x1ffffff);
- uint64_t x92 = (x90 + x88);
- uint64_t x93 = (x92 >> 0x19);
- uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- uint64_t x95 = (x93 + x87);
- uint64_t x96 = (x95 >> 0x18);
- uint32_t x97 = ((uint32_t)x95 & 0xffffff);
- uint64_t x98 = (x96 + x86);
- uint64_t x99 = (x98 >> 0x19);
- uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- uint64_t x101 = (x99 + x85);
- uint64_t x102 = (x101 >> 0x19);
- uint32_t x103 = ((uint32_t)x101 & 0x1ffffff);
- uint64_t x104 = (x102 + x84);
- uint64_t x105 = (x104 >> 0x18);
- uint32_t x106 = ((uint32_t)x104 & 0xffffff);
- uint64_t x107 = (x105 + x83);
- uint64_t x108 = (x107 >> 0x19);
- uint32_t x109 = ((uint32_t)x107 & 0x1ffffff);
- uint64_t x110 = (x108 + x82);
- uint64_t x111 = (x110 >> 0x19);
- uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- uint64_t x113 = (x111 + x81);
- uint64_t x114 = (x113 >> 0x18);
- uint32_t x115 = ((uint32_t)x113 & 0xffffff);
- uint64_t x116 = (x114 + x80);
- uint64_t x117 = (x116 >> 0x19);
- uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- uint64_t x119 = (x117 + x79);
- uint64_t x120 = (x119 >> 0x19);
- uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- uint64_t x122 = (x120 + x78);
- uint64_t x123 = (x122 >> 0x18);
- uint32_t x124 = ((uint32_t)x122 & 0xffffff);
- uint64_t x125 = (x123 + x77);
- uint64_t x126 = (x125 >> 0x19);
- uint32_t x127 = ((uint32_t)x125 & 0x1ffffff);
- uint64_t x128 = (x126 + x76);
- uint64_t x129 = (x128 >> 0x19);
- uint32_t x130 = ((uint32_t)x128 & 0x1ffffff);
- uint64_t x131 = (x129 + x75);
- uint64_t x132 = (x131 >> 0x18);
- uint32_t x133 = ((uint32_t)x131 & 0xffffff);
- uint64_t x134 = (x132 + x74);
- uint64_t x135 = (x134 >> 0x19);
- uint32_t x136 = ((uint32_t)x134 & 0x1ffffff);
- uint64_t x137 = (x135 + x73);
- uint64_t x138 = (x137 >> 0x19);
- uint32_t x139 = ((uint32_t)x137 & 0x1ffffff);
- uint64_t x140 = (x138 + x72);
- uint64_t x141 = (x140 >> 0x18);
- uint32_t x142 = ((uint32_t)x140 & 0xffffff);
- uint64_t x143 = (x91 + (0x11 * x141));
- uint32_t x144 = (uint32_t) (x143 >> 0x19);
- uint32_t x145 = ((uint32_t)x143 & 0x1ffffff);
- uint32_t x146 = (x144 + x94);
- uint32_t x147 = (x146 >> 0x19);
- uint32_t x148 = (x146 & 0x1ffffff);
- return (Return x142, Return x139, Return x136, Return x133, Return x130, Return x127, Return x124, Return x121, Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, (x147 + x97), Return x148, Return x145))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_18limbs/femulDisplay.v b/src/Specific/solinas32_2e444m17_18limbs/femulDisplay.v
deleted file mode 100644
index 8fb3aca39..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fesquare.c b/src/Specific/solinas32_2e444m17_18limbs/fesquare.c
deleted file mode 100644
index ffe92011d..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesquare.c
+++ /dev/null
@@ -1,116 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)x2 * x33) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x33 * x2))))))))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x33 * x33))));
- { uint64_t x37 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))));
- { uint64_t x38 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x11 * (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))));
- { uint64_t x39 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x30 * x33)) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (0x2 * ((uint64_t)x33 * x30)))))));
- { uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x33)) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (0x2 * ((uint64_t)x33 * x24))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20)))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x33)) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (0x2 * ((uint64_t)x33 * x18)))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x33)) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (0x2 * ((uint64_t)x33 * x16))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x33)) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + (0x2 * ((uint64_t)x33 * x12))))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x33)) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (0x2 * ((uint64_t)x33 * x10)))))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x33) + (((uint64_t)x10 * x34) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + (((uint64_t)x34 * x10) + ((uint64_t)x33 * x8)))))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x33)) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (0x2 * ((uint64_t)x33 * x6)))))))))))))))))));
- { uint64_t x52 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- { uint64_t x53 = (x52 >> 0x19);
- { uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- { uint64_t x55 = (x53 + x51);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x50);
- { uint64_t x59 = (x58 >> 0x18);
- { uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- { uint64_t x61 = (x59 + x49);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x48);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x47);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x46);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x45);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x44);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x43);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x42);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x41);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x40);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x39);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x38);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x37);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x36);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x35);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x54 + (0x11 * x104));
- { uint32_t x107 = (uint32_t) (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint32_t x109 = (x107 + x57);
- { uint32_t x110 = (x109 >> 0x19);
- { uint32_t x111 = (x109 & 0x1ffffff);
- out[0] = x108;
- out[1] = x111;
- out[2] = (x110 + x60);
- out[3] = x63;
- out[4] = x66;
- out[5] = x69;
- out[6] = x72;
- out[7] = x75;
- out[8] = x78;
- out[9] = x81;
- out[10] = x84;
- out[11] = x87;
- out[12] = x90;
- out[13] = x93;
- out[14] = x96;
- out[15] = x99;
- out[16] = x102;
- out[17] = x105;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fesquare.v b/src/Specific/solinas32_2e444m17_18limbs/fesquare.v
deleted file mode 100644
index 309237607..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.log
deleted file mode 100644
index 68749c664..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)x2 * x33) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x33 * x2))))))))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x33 * x33))));
- uint64_t x37 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))));
- uint64_t x38 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x11 * (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))));
- uint64_t x39 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x30 * x33)) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (0x2 * ((uint64_t)x33 * x30)))))));
- uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))));
- uint64_t x41 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x33)) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (0x2 * ((uint64_t)x33 * x24))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20)))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x33)) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (0x2 * ((uint64_t)x33 * x18)))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x33)) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (0x2 * ((uint64_t)x33 * x16))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x33)) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + (0x2 * ((uint64_t)x33 * x12))))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x33)) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (0x2 * ((uint64_t)x33 * x10)))))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x33) + (((uint64_t)x10 * x34) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + (((uint64_t)x34 * x10) + ((uint64_t)x33 * x8)))))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x33)) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (0x2 * ((uint64_t)x33 * x6)))))))))))))))))));
- uint64_t x52 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- uint64_t x53 = (x52 >> 0x19);
- uint32_t x54 = ((uint32_t)x52 & 0x1ffffff);
- uint64_t x55 = (x53 + x51);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x50);
- uint64_t x59 = (x58 >> 0x18);
- uint32_t x60 = ((uint32_t)x58 & 0xffffff);
- uint64_t x61 = (x59 + x49);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x48);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x47);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x46);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x45);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x44);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x43);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x42);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x41);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x39);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x38);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x37);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x36);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x35);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x54 + (0x11 * x104));
- uint32_t x107 = (uint32_t) (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint32_t x109 = (x107 + x57);
- uint32_t x110 = (x109 >> 0x19);
- uint32_t x111 = (x109 & 0x1ffffff);
- return (Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, (x110 + x60), Return x111, Return x108))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.v
deleted file mode 100644
index e93272d16..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fesub.c b/src/Specific/solinas32_2e444m17_18limbs/fesub.c
deleted file mode 100644
index 3e3d1c7e0..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x3ffffde + x5) - x39);
- out[1] = ((0x3fffffe + x7) - x41);
- out[2] = ((0x1fffffe + x9) - x43);
- out[3] = ((0x3fffffe + x11) - x45);
- out[4] = ((0x3fffffe + x13) - x47);
- out[5] = ((0x1fffffe + x15) - x49);
- out[6] = ((0x3fffffe + x17) - x51);
- out[7] = ((0x3fffffe + x19) - x53);
- out[8] = ((0x1fffffe + x21) - x55);
- out[9] = ((0x3fffffe + x23) - x57);
- out[10] = ((0x3fffffe + x25) - x59);
- out[11] = ((0x1fffffe + x27) - x61);
- out[12] = ((0x3fffffe + x29) - x63);
- out[13] = ((0x3fffffe + x31) - x65);
- out[14] = ((0x1fffffe + x33) - x67);
- out[15] = ((0x3fffffe + x35) - x69);
- out[16] = ((0x3fffffe + x37) - x71);
- out[17] = ((0x1fffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fesub.v b/src/Specific/solinas32_2e444m17_18limbs/fesub.v
deleted file mode 100644
index d28f2dc25..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.log
deleted file mode 100644
index 5f9e0cc11..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x1fffffe + x36) - x70), ((0x3fffffe + x37) - x71), ((0x3fffffe + x35) - x69), ((0x1fffffe + x33) - x67), ((0x3fffffe + x31) - x65), ((0x3fffffe + x29) - x63), ((0x1fffffe + x27) - x61), ((0x3fffffe + x25) - x59), ((0x3fffffe + x23) - x57), ((0x1fffffe + x21) - x55), ((0x3fffffe + x19) - x53), ((0x3fffffe + x17) - x51), ((0x1fffffe + x15) - x49), ((0x3fffffe + x13) - x47), ((0x3fffffe + x11) - x45), ((0x1fffffe + x9) - x43), ((0x3fffffe + x7) - x41), ((0x3ffffde + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.v
deleted file mode 100644
index 2d14918e5..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e444m17_18limbs/freeze.c b/src/Specific/solinas32_2e444m17_18limbs/freeze.c
deleted file mode 100644
index 8d357ea1e..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0xffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0xffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0xffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0xffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0xffffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x1ffffef);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x1ffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0xffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x1ffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x1ffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0xffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x1ffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x1ffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0xffffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x1ffffff);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x1ffffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0xffffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x1ffffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x1ffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0xffffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x1ffffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x1ffffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0xffffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e444m17_18limbs/freeze.v b/src/Specific/solinas32_2e444m17_18limbs/freeze.v
deleted file mode 100644
index 540438b89..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.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_2e444m17_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.log
deleted file mode 100644
index ad10a3a46..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0xffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0xffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0xffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0xffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0xffffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x1ffffef);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x1ffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0xffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x1ffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x1ffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0xffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x1ffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x1ffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0xffffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x1ffffff);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x1ffffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0xffffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x1ffffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x1ffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0xffffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x1ffffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x1ffffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0xffffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.v
deleted file mode 100644
index 442619828..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e444m17_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e444m17_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e444m17_18limbs/py_interpreter.sh
deleted file mode 100755
index f215ec39d..000000000
--- a/src/Specific/solinas32_2e444m17_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**444 - 17' -Dmodulus_bytes='24 + 2/3' -Da24='121665'
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'
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/CurveParameters.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/CurveParameters.v
deleted file mode 100644
index 798ff2fd8..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/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: 24 + 8/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 24 + 8/9;
- bitwidth := 32;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := Some [[8; 17]; [9; 0; 10; 1; 11; 2; 12; 3; 13; 4; 14; 5; 15; 6; 16; 7; 17; 8]; [9; 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_18limbs/Synthesis.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/Synthesis.v
deleted file mode 100644
index 0776324e3..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/compiler.sh b/src/Specific/solinas32_2e448m2e224m1_18limbs/compiler.sh
deleted file mode 100755
index c3ae5eeb6..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/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='{25,25,25,25,25,25,25,25,24,25,25,25,25,25,25,25,25,24}' -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='18' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/compilerxx.sh b/src/Specific/solinas32_2e448m2e224m1_18limbs/compilerxx.sh
deleted file mode 100755
index 5f310ff99..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/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='{25,25,25,25,25,25,25,25,24,25,25,25,25,25,25,25,25,24}' -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='18' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.c b/src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.v
deleted file mode 100644
index e3a109779..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.v
deleted file mode 100644
index 5f0724be0..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fecarry.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/fecarry.v
deleted file mode 100644
index 803a64892..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/fecarryDisplay.v
deleted file mode 100644
index ebbd0fea4..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/femul.c b/src/Specific/solinas32_2e448m2e224m1_18limbs/femul.c
deleted file mode 100644
index 55cc0ed77..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/femul.c
+++ /dev/null
@@ -1,161 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = ((0x2 * ((uint64_t)(x21 + x36) * (x55 + x70))) - (0x2 * ((uint64_t)x21 * x55)));
- { uint64_t x73 = (((0x2 * ((uint64_t)(x19 + x37) * (x55 + x70))) + (0x2 * ((uint64_t)(x21 + x36) * (x53 + x71)))) - ((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))));
- { uint64_t x74 = (((0x2 * ((uint64_t)(x17 + x35) * (x55 + x70))) + ((0x2 * ((uint64_t)(x19 + x37) * (x53 + x71))) + (0x2 * ((uint64_t)(x21 + x36) * (x51 + x69))))) - ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (0x2 * ((uint64_t)x21 * x51)))));
- { uint64_t x75 = (((0x2 * ((uint64_t)(x15 + x33) * (x55 + x70))) + ((0x2 * ((uint64_t)(x17 + x35) * (x53 + x71))) + ((0x2 * ((uint64_t)(x19 + x37) * (x51 + x69))) + (0x2 * ((uint64_t)(x21 + x36) * (x49 + x67)))))) - ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + (0x2 * ((uint64_t)x21 * x49))))));
- { uint64_t x76 = (((0x2 * ((uint64_t)(x13 + x31) * (x55 + x70))) + ((0x2 * ((uint64_t)(x15 + x33) * (x53 + x71))) + ((0x2 * ((uint64_t)(x17 + x35) * (x51 + x69))) + ((0x2 * ((uint64_t)(x19 + x37) * (x49 + x67))) + (0x2 * ((uint64_t)(x21 + x36) * (x47 + x65))))))) - ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))));
- { uint64_t x77 = (((0x2 * ((uint64_t)(x11 + x29) * (x55 + x70))) + ((0x2 * ((uint64_t)(x13 + x31) * (x53 + x71))) + ((0x2 * ((uint64_t)(x15 + x33) * (x51 + x69))) + ((0x2 * ((uint64_t)(x17 + x35) * (x49 + x67))) + ((0x2 * ((uint64_t)(x19 + x37) * (x47 + x65))) + (0x2 * ((uint64_t)(x21 + x36) * (x45 + x63)))))))) - ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (0x2 * ((uint64_t)x21 * x45))))))));
- { uint64_t x78 = (((0x2 * ((uint64_t)(x9 + x27) * (x55 + x70))) + ((0x2 * ((uint64_t)(x11 + x29) * (x53 + x71))) + ((0x2 * ((uint64_t)(x13 + x31) * (x51 + x69))) + ((0x2 * ((uint64_t)(x15 + x33) * (x49 + x67))) + ((0x2 * ((uint64_t)(x17 + x35) * (x47 + x65))) + ((0x2 * ((uint64_t)(x19 + x37) * (x45 + x63))) + (0x2 * ((uint64_t)(x21 + x36) * (x43 + x61))))))))) - ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (0x2 * ((uint64_t)x21 * x43)))))))));
- { uint64_t x79 = (((0x2 * ((uint64_t)(x7 + x25) * (x55 + x70))) + ((0x2 * ((uint64_t)(x9 + x27) * (x53 + x71))) + ((0x2 * ((uint64_t)(x11 + x29) * (x51 + x69))) + ((0x2 * ((uint64_t)(x13 + x31) * (x49 + x67))) + ((0x2 * ((uint64_t)(x15 + x33) * (x47 + x65))) + ((0x2 * ((uint64_t)(x17 + x35) * (x45 + x63))) + ((0x2 * ((uint64_t)(x19 + x37) * (x43 + x61))) + (0x2 * ((uint64_t)(x21 + x36) * (x41 + x59)))))))))) - ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))));
- { uint64_t x80 = ((((uint64_t)(x5 + x23) * (x55 + x70)) + (((uint64_t)(x7 + x25) * (x53 + x71)) + (((uint64_t)(x9 + x27) * (x51 + x69)) + (((uint64_t)(x11 + x29) * (x49 + x67)) + (((uint64_t)(x13 + x31) * (x47 + x65)) + (((uint64_t)(x15 + x33) * (x45 + x63)) + (((uint64_t)(x17 + x35) * (x43 + x61)) + (((uint64_t)(x19 + x37) * (x41 + x59)) + ((uint64_t)(x21 + x36) * (x39 + x57)))))))))) - (((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))));
- { uint64_t x81 = ((((uint64_t)(x5 + x23) * (x53 + x71)) + (((uint64_t)(x7 + x25) * (x51 + x69)) + (((uint64_t)(x9 + x27) * (x49 + x67)) + (((uint64_t)(x11 + x29) * (x47 + x65)) + (((uint64_t)(x13 + x31) * (x45 + x63)) + (((uint64_t)(x15 + x33) * (x43 + x61)) + (((uint64_t)(x17 + x35) * (x41 + x59)) + ((uint64_t)(x19 + x37) * (x39 + x57))))))))) - (((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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 x82 = ((((uint64_t)(x5 + x23) * (x51 + x69)) + (((uint64_t)(x7 + x25) * (x49 + x67)) + (((uint64_t)(x9 + x27) * (x47 + x65)) + (((uint64_t)(x11 + x29) * (x45 + x63)) + (((uint64_t)(x13 + x31) * (x43 + x61)) + (((uint64_t)(x15 + x33) * (x41 + x59)) + ((uint64_t)(x17 + x35) * (x39 + x57)))))))) - (((uint64_t)x5 * x51) + (((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 x83 = ((((uint64_t)(x5 + x23) * (x49 + x67)) + (((uint64_t)(x7 + x25) * (x47 + x65)) + (((uint64_t)(x9 + x27) * (x45 + x63)) + (((uint64_t)(x11 + x29) * (x43 + x61)) + (((uint64_t)(x13 + x31) * (x41 + x59)) + ((uint64_t)(x15 + x33) * (x39 + x57))))))) - (((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 x84 = ((((uint64_t)(x5 + x23) * (x47 + x65)) + (((uint64_t)(x7 + x25) * (x45 + x63)) + (((uint64_t)(x9 + x27) * (x43 + x61)) + (((uint64_t)(x11 + x29) * (x41 + x59)) + ((uint64_t)(x13 + x31) * (x39 + x57)))))) - (((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))));
- { uint64_t x85 = ((((uint64_t)(x5 + x23) * (x45 + x63)) + (((uint64_t)(x7 + x25) * (x43 + x61)) + (((uint64_t)(x9 + x27) * (x41 + x59)) + ((uint64_t)(x11 + x29) * (x39 + x57))))) - (((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + ((uint64_t)x11 * x39)))));
- { uint64_t x86 = ((((uint64_t)(x5 + x23) * (x43 + x61)) + (((uint64_t)(x7 + x25) * (x41 + x59)) + ((uint64_t)(x9 + x27) * (x39 + x57)))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))));
- { uint64_t x87 = ((((uint64_t)(x5 + x23) * (x41 + x59)) + ((uint64_t)(x7 + x25) * (x39 + x57))) - (((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)));
- { uint64_t x88 = (((uint64_t)(x5 + x23) * (x39 + x57)) - ((uint64_t)x5 * x39));
- { uint64_t x89 = ((((0x2 * ((uint64_t)x21 * x55)) + (0x2 * ((uint64_t)x36 * x70))) + x81) + x72);
- { uint64_t x90 = (((((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))) + ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))) + x82) + x73);
- { uint64_t x91 = (((((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (0x2 * ((uint64_t)x21 * x51)))) + ((0x2 * ((uint64_t)x35 * x70)) + ((0x2 * ((uint64_t)x37 * x71)) + (0x2 * ((uint64_t)x36 * x69))))) + x83) + x74);
- { uint64_t x92 = (((((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + (0x2 * ((uint64_t)x21 * x49))))) + ((0x2 * ((uint64_t)x33 * x70)) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + (0x2 * ((uint64_t)x36 * x67)))))) + x84) + x75);
- { uint64_t x93 = (((((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))) + ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))) + x85) + x76);
- { uint64_t x94 = (((((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (0x2 * ((uint64_t)x21 * x45))))))) + ((0x2 * ((uint64_t)x29 * x70)) + ((0x2 * ((uint64_t)x31 * x71)) + ((0x2 * ((uint64_t)x33 * x69)) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + (0x2 * ((uint64_t)x36 * x63)))))))) + x86) + x77);
- { uint64_t x95 = (((((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (0x2 * ((uint64_t)x21 * x43)))))))) + ((0x2 * ((uint64_t)x27 * x70)) + ((0x2 * ((uint64_t)x29 * x71)) + ((0x2 * ((uint64_t)x31 * x69)) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + ((0x2 * ((uint64_t)x37 * x63)) + (0x2 * ((uint64_t)x36 * x61))))))))) + x87) + x78);
- { uint64_t x96 = (((((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))) + ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))) + x88) + x79);
- { uint64_t x97 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57))))))))));
- { uint64_t x98 = (((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((uint64_t)x37 * x57))))))))) + x72);
- { uint64_t x99 = (((((uint64_t)x5 * x51) + (((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)x23 * x69) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x35 * x57)))))))) + x73);
- { uint64_t x100 = (((((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)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((uint64_t)x33 * x57))))))) + x74);
- { uint64_t x101 = (((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + ((uint64_t)x31 * x57)))))) + x75);
- { uint64_t x102 = (((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + ((uint64_t)x11 * x39)))) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + (((uint64_t)x27 * x59) + ((uint64_t)x29 * x57))))) + x76);
- { uint64_t x103 = (((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + ((uint64_t)x27 * x57)))) + x77);
- { uint64_t x104 = (((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (((uint64_t)x23 * x59) + ((uint64_t)x25 * x57))) + x78);
- { uint64_t x105 = ((((uint64_t)x5 * x39) + ((uint64_t)x23 * x57)) + x79);
- { uint64_t x106 = (x97 >> 0x18);
- { uint32_t x107 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x108 = (x80 >> 0x18);
- { uint32_t x109 = ((uint32_t)x80 & 0xffffff);
- { uint64_t x110 = ((0x1000000 * x108) + x109);
- { uint64_t x111 = (x110 >> 0x18);
- { uint32_t x112 = ((uint32_t)x110 & 0xffffff);
- { uint64_t x113 = ((x106 + x96) + x111);
- { uint64_t x114 = (x113 >> 0x19);
- { uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- { uint64_t x116 = (x105 + x111);
- { uint64_t x117 = (x116 >> 0x19);
- { uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- { uint64_t x119 = (x114 + x95);
- { uint64_t x120 = (x119 >> 0x19);
- { uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- { uint64_t x122 = (x117 + x104);
- { uint64_t x123 = (x122 >> 0x19);
- { uint32_t x124 = ((uint32_t)x122 & 0x1ffffff);
- { uint64_t x125 = (x120 + x94);
- { uint64_t x126 = (x125 >> 0x19);
- { uint32_t x127 = ((uint32_t)x125 & 0x1ffffff);
- { uint64_t x128 = (x123 + x103);
- { uint64_t x129 = (x128 >> 0x19);
- { uint32_t x130 = ((uint32_t)x128 & 0x1ffffff);
- { uint64_t x131 = (x126 + x93);
- { uint64_t x132 = (x131 >> 0x19);
- { uint32_t x133 = ((uint32_t)x131 & 0x1ffffff);
- { uint64_t x134 = (x129 + x102);
- { uint64_t x135 = (x134 >> 0x19);
- { uint32_t x136 = ((uint32_t)x134 & 0x1ffffff);
- { uint64_t x137 = (x132 + x92);
- { uint64_t x138 = (x137 >> 0x19);
- { uint32_t x139 = ((uint32_t)x137 & 0x1ffffff);
- { uint64_t x140 = (x135 + x101);
- { uint64_t x141 = (x140 >> 0x19);
- { uint32_t x142 = ((uint32_t)x140 & 0x1ffffff);
- { uint64_t x143 = (x138 + x91);
- { uint64_t x144 = (x143 >> 0x19);
- { uint32_t x145 = ((uint32_t)x143 & 0x1ffffff);
- { uint64_t x146 = (x141 + x100);
- { uint64_t x147 = (x146 >> 0x19);
- { uint32_t x148 = ((uint32_t)x146 & 0x1ffffff);
- { uint64_t x149 = (x144 + x90);
- { uint64_t x150 = (x149 >> 0x19);
- { uint32_t x151 = ((uint32_t)x149 & 0x1ffffff);
- { uint64_t x152 = (x147 + x99);
- { uint64_t x153 = (x152 >> 0x19);
- { uint32_t x154 = ((uint32_t)x152 & 0x1ffffff);
- { uint64_t x155 = (x150 + x89);
- { uint64_t x156 = (x155 >> 0x19);
- { uint32_t x157 = ((uint32_t)x155 & 0x1ffffff);
- { uint64_t x158 = (x153 + x98);
- { uint64_t x159 = (x158 >> 0x19);
- { uint32_t x160 = ((uint32_t)x158 & 0x1ffffff);
- { uint64_t x161 = (x156 + x112);
- { uint32_t x162 = (uint32_t) (x161 >> 0x18);
- { uint32_t x163 = ((uint32_t)x161 & 0xffffff);
- { uint64_t x164 = (x159 + x107);
- { uint32_t x165 = (uint32_t) (x164 >> 0x18);
- { uint32_t x166 = ((uint32_t)x164 & 0xffffff);
- { uint64_t x167 = (((uint64_t)0x1000000 * x162) + x163);
- { uint32_t x168 = (uint32_t) (x167 >> 0x18);
- { uint32_t x169 = ((uint32_t)x167 & 0xffffff);
- { uint32_t x170 = ((x165 + x115) + x168);
- { uint32_t x171 = (x170 >> 0x19);
- { uint32_t x172 = (x170 & 0x1ffffff);
- { uint32_t x173 = (x118 + x168);
- { uint32_t x174 = (x173 >> 0x19);
- { uint32_t x175 = (x173 & 0x1ffffff);
- out[0] = x175;
- out[1] = (x174 + x124);
- out[2] = x130;
- out[3] = x136;
- out[4] = x142;
- out[5] = x148;
- out[6] = x154;
- out[7] = x160;
- out[8] = x166;
- out[9] = x172;
- out[10] = (x171 + x121);
- out[11] = x127;
- out[12] = x133;
- out[13] = x139;
- out[14] = x145;
- out[15] = x151;
- out[16] = x157;
- out[17] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/femul.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/femul.v
deleted file mode 100644
index defa12b92..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/femulDisplay.log b/src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.log
deleted file mode 100644
index 8b3222a55..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = ((0x2 * ((uint64_t)(x21 + x36) * (x55 + x70))) - (0x2 * ((uint64_t)x21 * x55)));
- uint64_t x73 = (((0x2 * ((uint64_t)(x19 + x37) * (x55 + x70))) + (0x2 * ((uint64_t)(x21 + x36) * (x53 + x71)))) - ((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))));
- uint64_t x74 = (((0x2 * ((uint64_t)(x17 + x35) * (x55 + x70))) + ((0x2 * ((uint64_t)(x19 + x37) * (x53 + x71))) + (0x2 * ((uint64_t)(x21 + x36) * (x51 + x69))))) - ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (0x2 * ((uint64_t)x21 * x51)))));
- uint64_t x75 = (((0x2 * ((uint64_t)(x15 + x33) * (x55 + x70))) + ((0x2 * ((uint64_t)(x17 + x35) * (x53 + x71))) + ((0x2 * ((uint64_t)(x19 + x37) * (x51 + x69))) + (0x2 * ((uint64_t)(x21 + x36) * (x49 + x67)))))) - ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + (0x2 * ((uint64_t)x21 * x49))))));
- uint64_t x76 = (((0x2 * ((uint64_t)(x13 + x31) * (x55 + x70))) + ((0x2 * ((uint64_t)(x15 + x33) * (x53 + x71))) + ((0x2 * ((uint64_t)(x17 + x35) * (x51 + x69))) + ((0x2 * ((uint64_t)(x19 + x37) * (x49 + x67))) + (0x2 * ((uint64_t)(x21 + x36) * (x47 + x65))))))) - ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))));
- uint64_t x77 = (((0x2 * ((uint64_t)(x11 + x29) * (x55 + x70))) + ((0x2 * ((uint64_t)(x13 + x31) * (x53 + x71))) + ((0x2 * ((uint64_t)(x15 + x33) * (x51 + x69))) + ((0x2 * ((uint64_t)(x17 + x35) * (x49 + x67))) + ((0x2 * ((uint64_t)(x19 + x37) * (x47 + x65))) + (0x2 * ((uint64_t)(x21 + x36) * (x45 + x63)))))))) - ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (0x2 * ((uint64_t)x21 * x45))))))));
- uint64_t x78 = (((0x2 * ((uint64_t)(x9 + x27) * (x55 + x70))) + ((0x2 * ((uint64_t)(x11 + x29) * (x53 + x71))) + ((0x2 * ((uint64_t)(x13 + x31) * (x51 + x69))) + ((0x2 * ((uint64_t)(x15 + x33) * (x49 + x67))) + ((0x2 * ((uint64_t)(x17 + x35) * (x47 + x65))) + ((0x2 * ((uint64_t)(x19 + x37) * (x45 + x63))) + (0x2 * ((uint64_t)(x21 + x36) * (x43 + x61))))))))) - ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (0x2 * ((uint64_t)x21 * x43)))))))));
- uint64_t x79 = (((0x2 * ((uint64_t)(x7 + x25) * (x55 + x70))) + ((0x2 * ((uint64_t)(x9 + x27) * (x53 + x71))) + ((0x2 * ((uint64_t)(x11 + x29) * (x51 + x69))) + ((0x2 * ((uint64_t)(x13 + x31) * (x49 + x67))) + ((0x2 * ((uint64_t)(x15 + x33) * (x47 + x65))) + ((0x2 * ((uint64_t)(x17 + x35) * (x45 + x63))) + ((0x2 * ((uint64_t)(x19 + x37) * (x43 + x61))) + (0x2 * ((uint64_t)(x21 + x36) * (x41 + x59)))))))))) - ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))));
- uint64_t x80 = ((((uint64_t)(x5 + x23) * (x55 + x70)) + (((uint64_t)(x7 + x25) * (x53 + x71)) + (((uint64_t)(x9 + x27) * (x51 + x69)) + (((uint64_t)(x11 + x29) * (x49 + x67)) + (((uint64_t)(x13 + x31) * (x47 + x65)) + (((uint64_t)(x15 + x33) * (x45 + x63)) + (((uint64_t)(x17 + x35) * (x43 + x61)) + (((uint64_t)(x19 + x37) * (x41 + x59)) + ((uint64_t)(x21 + x36) * (x39 + x57)))))))))) - (((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))));
- uint64_t x81 = ((((uint64_t)(x5 + x23) * (x53 + x71)) + (((uint64_t)(x7 + x25) * (x51 + x69)) + (((uint64_t)(x9 + x27) * (x49 + x67)) + (((uint64_t)(x11 + x29) * (x47 + x65)) + (((uint64_t)(x13 + x31) * (x45 + x63)) + (((uint64_t)(x15 + x33) * (x43 + x61)) + (((uint64_t)(x17 + x35) * (x41 + x59)) + ((uint64_t)(x19 + x37) * (x39 + x57))))))))) - (((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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 x82 = ((((uint64_t)(x5 + x23) * (x51 + x69)) + (((uint64_t)(x7 + x25) * (x49 + x67)) + (((uint64_t)(x9 + x27) * (x47 + x65)) + (((uint64_t)(x11 + x29) * (x45 + x63)) + (((uint64_t)(x13 + x31) * (x43 + x61)) + (((uint64_t)(x15 + x33) * (x41 + x59)) + ((uint64_t)(x17 + x35) * (x39 + x57)))))))) - (((uint64_t)x5 * x51) + (((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 x83 = ((((uint64_t)(x5 + x23) * (x49 + x67)) + (((uint64_t)(x7 + x25) * (x47 + x65)) + (((uint64_t)(x9 + x27) * (x45 + x63)) + (((uint64_t)(x11 + x29) * (x43 + x61)) + (((uint64_t)(x13 + x31) * (x41 + x59)) + ((uint64_t)(x15 + x33) * (x39 + x57))))))) - (((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 x84 = ((((uint64_t)(x5 + x23) * (x47 + x65)) + (((uint64_t)(x7 + x25) * (x45 + x63)) + (((uint64_t)(x9 + x27) * (x43 + x61)) + (((uint64_t)(x11 + x29) * (x41 + x59)) + ((uint64_t)(x13 + x31) * (x39 + x57)))))) - (((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))));
- uint64_t x85 = ((((uint64_t)(x5 + x23) * (x45 + x63)) + (((uint64_t)(x7 + x25) * (x43 + x61)) + (((uint64_t)(x9 + x27) * (x41 + x59)) + ((uint64_t)(x11 + x29) * (x39 + x57))))) - (((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + ((uint64_t)x11 * x39)))));
- uint64_t x86 = ((((uint64_t)(x5 + x23) * (x43 + x61)) + (((uint64_t)(x7 + x25) * (x41 + x59)) + ((uint64_t)(x9 + x27) * (x39 + x57)))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))));
- uint64_t x87 = ((((uint64_t)(x5 + x23) * (x41 + x59)) + ((uint64_t)(x7 + x25) * (x39 + x57))) - (((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)));
- uint64_t x88 = (((uint64_t)(x5 + x23) * (x39 + x57)) - ((uint64_t)x5 * x39));
- uint64_t x89 = ((((0x2 * ((uint64_t)x21 * x55)) + (0x2 * ((uint64_t)x36 * x70))) + x81) + x72);
- uint64_t x90 = (((((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))) + ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))) + x82) + x73);
- uint64_t x91 = (((((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (0x2 * ((uint64_t)x21 * x51)))) + ((0x2 * ((uint64_t)x35 * x70)) + ((0x2 * ((uint64_t)x37 * x71)) + (0x2 * ((uint64_t)x36 * x69))))) + x83) + x74);
- uint64_t x92 = (((((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + (0x2 * ((uint64_t)x21 * x49))))) + ((0x2 * ((uint64_t)x33 * x70)) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + (0x2 * ((uint64_t)x36 * x67)))))) + x84) + x75);
- uint64_t x93 = (((((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))) + ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))) + x85) + x76);
- uint64_t x94 = (((((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (0x2 * ((uint64_t)x21 * x45))))))) + ((0x2 * ((uint64_t)x29 * x70)) + ((0x2 * ((uint64_t)x31 * x71)) + ((0x2 * ((uint64_t)x33 * x69)) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + (0x2 * ((uint64_t)x36 * x63)))))))) + x86) + x77);
- uint64_t x95 = (((((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (0x2 * ((uint64_t)x21 * x43)))))))) + ((0x2 * ((uint64_t)x27 * x70)) + ((0x2 * ((uint64_t)x29 * x71)) + ((0x2 * ((uint64_t)x31 * x69)) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + ((0x2 * ((uint64_t)x37 * x63)) + (0x2 * ((uint64_t)x36 * x61))))))))) + x87) + x78);
- uint64_t x96 = (((((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))) + ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))) + x88) + x79);
- uint64_t x97 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57))))))))));
- uint64_t x98 = (((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((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)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((uint64_t)x37 * x57))))))))) + x72);
- uint64_t x99 = (((((uint64_t)x5 * x51) + (((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)x23 * x69) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((uint64_t)x35 * x57)))))))) + x73);
- uint64_t x100 = (((((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)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((uint64_t)x33 * x57))))))) + x74);
- uint64_t x101 = (((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + ((uint64_t)x31 * x57)))))) + x75);
- uint64_t x102 = (((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + ((uint64_t)x11 * x39)))) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + (((uint64_t)x27 * x59) + ((uint64_t)x29 * x57))))) + x76);
- uint64_t x103 = (((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + ((uint64_t)x27 * x57)))) + x77);
- uint64_t x104 = (((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (((uint64_t)x23 * x59) + ((uint64_t)x25 * x57))) + x78);
- uint64_t x105 = ((((uint64_t)x5 * x39) + ((uint64_t)x23 * x57)) + x79);
- uint64_t x106 = (x97 >> 0x18);
- uint32_t x107 = ((uint32_t)x97 & 0xffffff);
- uint64_t x108 = (x80 >> 0x18);
- uint32_t x109 = ((uint32_t)x80 & 0xffffff);
- uint64_t x110 = ((0x1000000 * x108) + x109);
- uint64_t x111 = (x110 >> 0x18);
- uint32_t x112 = ((uint32_t)x110 & 0xffffff);
- uint64_t x113 = ((x106 + x96) + x111);
- uint64_t x114 = (x113 >> 0x19);
- uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- uint64_t x116 = (x105 + x111);
- uint64_t x117 = (x116 >> 0x19);
- uint32_t x118 = ((uint32_t)x116 & 0x1ffffff);
- uint64_t x119 = (x114 + x95);
- uint64_t x120 = (x119 >> 0x19);
- uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- uint64_t x122 = (x117 + x104);
- uint64_t x123 = (x122 >> 0x19);
- uint32_t x124 = ((uint32_t)x122 & 0x1ffffff);
- uint64_t x125 = (x120 + x94);
- uint64_t x126 = (x125 >> 0x19);
- uint32_t x127 = ((uint32_t)x125 & 0x1ffffff);
- uint64_t x128 = (x123 + x103);
- uint64_t x129 = (x128 >> 0x19);
- uint32_t x130 = ((uint32_t)x128 & 0x1ffffff);
- uint64_t x131 = (x126 + x93);
- uint64_t x132 = (x131 >> 0x19);
- uint32_t x133 = ((uint32_t)x131 & 0x1ffffff);
- uint64_t x134 = (x129 + x102);
- uint64_t x135 = (x134 >> 0x19);
- uint32_t x136 = ((uint32_t)x134 & 0x1ffffff);
- uint64_t x137 = (x132 + x92);
- uint64_t x138 = (x137 >> 0x19);
- uint32_t x139 = ((uint32_t)x137 & 0x1ffffff);
- uint64_t x140 = (x135 + x101);
- uint64_t x141 = (x140 >> 0x19);
- uint32_t x142 = ((uint32_t)x140 & 0x1ffffff);
- uint64_t x143 = (x138 + x91);
- uint64_t x144 = (x143 >> 0x19);
- uint32_t x145 = ((uint32_t)x143 & 0x1ffffff);
- uint64_t x146 = (x141 + x100);
- uint64_t x147 = (x146 >> 0x19);
- uint32_t x148 = ((uint32_t)x146 & 0x1ffffff);
- uint64_t x149 = (x144 + x90);
- uint64_t x150 = (x149 >> 0x19);
- uint32_t x151 = ((uint32_t)x149 & 0x1ffffff);
- uint64_t x152 = (x147 + x99);
- uint64_t x153 = (x152 >> 0x19);
- uint32_t x154 = ((uint32_t)x152 & 0x1ffffff);
- uint64_t x155 = (x150 + x89);
- uint64_t x156 = (x155 >> 0x19);
- uint32_t x157 = ((uint32_t)x155 & 0x1ffffff);
- uint64_t x158 = (x153 + x98);
- uint64_t x159 = (x158 >> 0x19);
- uint32_t x160 = ((uint32_t)x158 & 0x1ffffff);
- uint64_t x161 = (x156 + x112);
- uint32_t x162 = (uint32_t) (x161 >> 0x18);
- uint32_t x163 = ((uint32_t)x161 & 0xffffff);
- uint64_t x164 = (x159 + x107);
- uint32_t x165 = (uint32_t) (x164 >> 0x18);
- uint32_t x166 = ((uint32_t)x164 & 0xffffff);
- uint64_t x167 = (((uint64_t)0x1000000 * x162) + x163);
- uint32_t x168 = (uint32_t) (x167 >> 0x18);
- uint32_t x169 = ((uint32_t)x167 & 0xffffff);
- uint32_t x170 = ((x165 + x115) + x168);
- uint32_t x171 = (x170 >> 0x19);
- uint32_t x172 = (x170 & 0x1ffffff);
- uint32_t x173 = (x118 + x168);
- uint32_t x174 = (x173 >> 0x19);
- uint32_t x175 = (x173 & 0x1ffffff);
- return (Return x169, Return x157, Return x151, Return x145, Return x139, Return x133, Return x127, (x171 + x121), Return x172, Return x166, Return x160, Return x154, Return x148, Return x142, Return x136, Return x130, (x174 + x124), Return x175))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.v
deleted file mode 100644
index 59835a631..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.c b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.c
deleted file mode 100644
index a507015b9..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.c
+++ /dev/null
@@ -1,143 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = ((0x2 * ((uint64_t)(x18 + x33) * (x18 + x33))) - (0x2 * ((uint64_t)x18 * x18)));
- { uint64_t x36 = (((0x2 * ((uint64_t)(x16 + x34) * (x18 + x33))) + (0x2 * ((uint64_t)(x18 + x33) * (x16 + x34)))) - ((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))));
- { uint64_t x37 = (((0x2 * ((uint64_t)(x14 + x32) * (x18 + x33))) + ((0x2 * ((uint64_t)(x16 + x34) * (x16 + x34))) + (0x2 * ((uint64_t)(x18 + x33) * (x14 + x32))))) - ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x18 * x14)))));
- { uint64_t x38 = (((0x2 * ((uint64_t)(x12 + x30) * (x18 + x33))) + ((0x2 * ((uint64_t)(x14 + x32) * (x16 + x34))) + ((0x2 * ((uint64_t)(x16 + x34) * (x14 + x32))) + (0x2 * ((uint64_t)(x18 + x33) * (x12 + x30)))))) - ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x18 * x12))))));
- { uint64_t x39 = (((0x2 * ((uint64_t)(x10 + x28) * (x18 + x33))) + ((0x2 * ((uint64_t)(x12 + x30) * (x16 + x34))) + ((0x2 * ((uint64_t)(x14 + x32) * (x14 + x32))) + ((0x2 * ((uint64_t)(x16 + x34) * (x12 + x30))) + (0x2 * ((uint64_t)(x18 + x33) * (x10 + x28))))))) - ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))));
- { uint64_t x40 = (((0x2 * ((uint64_t)(x8 + x26) * (x18 + x33))) + ((0x2 * ((uint64_t)(x10 + x28) * (x16 + x34))) + ((0x2 * ((uint64_t)(x12 + x30) * (x14 + x32))) + ((0x2 * ((uint64_t)(x14 + x32) * (x12 + x30))) + ((0x2 * ((uint64_t)(x16 + x34) * (x10 + x28))) + (0x2 * ((uint64_t)(x18 + x33) * (x8 + x26)))))))) - ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x18 * x8))))))));
- { uint64_t x41 = (((0x2 * ((uint64_t)(x6 + x24) * (x18 + x33))) + ((0x2 * ((uint64_t)(x8 + x26) * (x16 + x34))) + ((0x2 * ((uint64_t)(x10 + x28) * (x14 + x32))) + ((0x2 * ((uint64_t)(x12 + x30) * (x12 + x30))) + ((0x2 * ((uint64_t)(x14 + x32) * (x10 + x28))) + ((0x2 * ((uint64_t)(x16 + x34) * (x8 + x26))) + (0x2 * ((uint64_t)(x18 + x33) * (x6 + x24))))))))) - ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x18 * x6)))))))));
- { uint64_t x42 = (((0x2 * ((uint64_t)(x4 + x22) * (x18 + x33))) + ((0x2 * ((uint64_t)(x6 + x24) * (x16 + x34))) + ((0x2 * ((uint64_t)(x8 + x26) * (x14 + x32))) + ((0x2 * ((uint64_t)(x10 + x28) * (x12 + x30))) + ((0x2 * ((uint64_t)(x12 + x30) * (x10 + x28))) + ((0x2 * ((uint64_t)(x14 + x32) * (x8 + x26))) + ((0x2 * ((uint64_t)(x16 + x34) * (x6 + x24))) + (0x2 * ((uint64_t)(x18 + x33) * (x4 + x22)))))))))) - ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))));
- { uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + (((uint64_t)(x4 + x22) * (x16 + x34)) + (((uint64_t)(x6 + x24) * (x14 + x32)) + (((uint64_t)(x8 + x26) * (x12 + x30)) + (((uint64_t)(x10 + x28) * (x10 + x28)) + (((uint64_t)(x12 + x30) * (x8 + x26)) + (((uint64_t)(x14 + x32) * (x6 + x24)) + (((uint64_t)(x16 + x34) * (x4 + x22)) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- { uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + (((uint64_t)(x4 + x22) * (x14 + x32)) + (((uint64_t)(x6 + x24) * (x12 + x30)) + (((uint64_t)(x8 + x26) * (x10 + x28)) + (((uint64_t)(x10 + x28) * (x8 + x26)) + (((uint64_t)(x12 + x30) * (x6 + x24)) + (((uint64_t)(x14 + x32) * (x4 + x22)) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((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 x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + (((uint64_t)(x4 + x22) * (x12 + x30)) + (((uint64_t)(x6 + x24) * (x10 + x28)) + (((uint64_t)(x8 + x26) * (x8 + x26)) + (((uint64_t)(x10 + x28) * (x6 + x24)) + (((uint64_t)(x12 + x30) * (x4 + x22)) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((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 x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + (((uint64_t)(x4 + x22) * (x10 + x28)) + (((uint64_t)(x6 + x24) * (x8 + x26)) + (((uint64_t)(x8 + x26) * (x6 + x24)) + (((uint64_t)(x10 + x28) * (x4 + x22)) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((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 x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + (((uint64_t)(x4 + x22) * (x8 + x26)) + (((uint64_t)(x6 + x24) * (x6 + x24)) + (((uint64_t)(x8 + x26) * (x4 + x22)) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + (((uint64_t)(x4 + x22) * (x6 + x24)) + (((uint64_t)(x6 + x24) * (x4 + x22)) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + (((uint64_t)(x4 + x22) * (x4 + x22)) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- { uint64_t x52 = ((((0x2 * ((uint64_t)x18 * x18)) + (0x2 * ((uint64_t)x33 * x33))) + x44) + x35);
- { uint64_t x53 = (((((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))) + ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))) + x45) + x36);
- { uint64_t x54 = (((((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x18 * x14)))) + ((0x2 * ((uint64_t)x32 * x33)) + ((0x2 * ((uint64_t)x34 * x34)) + (0x2 * ((uint64_t)x33 * x32))))) + x46) + x37);
- { uint64_t x55 = (((((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x18 * x12))))) + ((0x2 * ((uint64_t)x30 * x33)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + (0x2 * ((uint64_t)x33 * x30)))))) + x47) + x38);
- { uint64_t x56 = (((((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))) + ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))) + x48) + x39);
- { uint64_t x57 = (((((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x18 * x8))))))) + ((0x2 * ((uint64_t)x26 * x33)) + ((0x2 * ((uint64_t)x28 * x34)) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + ((0x2 * ((uint64_t)x34 * x28)) + (0x2 * ((uint64_t)x33 * x26)))))))) + x49) + x40);
- { uint64_t x58 = (((((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x18 * x6)))))))) + ((0x2 * ((uint64_t)x24 * x33)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + ((0x2 * ((uint64_t)x30 * x30)) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + (0x2 * ((uint64_t)x33 * x24))))))))) + x50) + x41);
- { uint64_t x59 = (((((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))) + ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))) + x51) + x42);
- { uint64_t x60 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20))))))))));
- { uint64_t x61 = (((((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)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x34 * x20))))))))) + x35);
- { uint64_t x62 = (((((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)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x32 * x20)))))))) + x36);
- { uint64_t x63 = (((((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)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x30 * x20))))))) + x37);
- { uint64_t x64 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x28 * x20)))))) + x38);
- { uint64_t x65 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x26 * x20))))) + x39);
- { uint64_t x66 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + ((uint64_t)x24 * x20)))) + x40);
- { uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- { uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- { uint64_t x69 = (x60 >> 0x18);
- { uint32_t x70 = ((uint32_t)x60 & 0xffffff);
- { uint64_t x71 = (x43 >> 0x18);
- { uint32_t x72 = ((uint32_t)x43 & 0xffffff);
- { uint64_t x73 = ((0x1000000 * x71) + x72);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = ((x69 + x59) + x74);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x68 + x74);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x77 + x58);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x80 + x67);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x83 + x57);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x86 + x66);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x89 + x56);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x92 + x65);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x95 + x55);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x98 + x64);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x101 + x54);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x104 + x63);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x107 + x53);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x110 + x62);
- { uint64_t x116 = (x115 >> 0x19);
- { uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- { uint64_t x118 = (x113 + x52);
- { uint64_t x119 = (x118 >> 0x19);
- { uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- { uint64_t x121 = (x116 + x61);
- { uint64_t x122 = (x121 >> 0x19);
- { uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- { uint64_t x124 = (x119 + x75);
- { uint32_t x125 = (uint32_t) (x124 >> 0x18);
- { uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- { uint64_t x127 = (x122 + x70);
- { uint32_t x128 = (uint32_t) (x127 >> 0x18);
- { uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- { uint64_t x130 = (((uint64_t)0x1000000 * x125) + x126);
- { uint32_t x131 = (uint32_t) (x130 >> 0x18);
- { uint32_t x132 = ((uint32_t)x130 & 0xffffff);
- { uint32_t x133 = ((x128 + x78) + x131);
- { uint32_t x134 = (x133 >> 0x19);
- { uint32_t x135 = (x133 & 0x1ffffff);
- { uint32_t x136 = (x81 + x131);
- { uint32_t x137 = (x136 >> 0x19);
- { uint32_t x138 = (x136 & 0x1ffffff);
- out[0] = x138;
- out[1] = (x137 + x87);
- out[2] = x93;
- out[3] = x99;
- out[4] = x105;
- out[5] = x111;
- out[6] = x117;
- out[7] = x123;
- out[8] = x129;
- out[9] = x135;
- out[10] = (x134 + x84);
- out[11] = x90;
- out[12] = x96;
- out[13] = x102;
- out[14] = x108;
- out[15] = x114;
- out[16] = x120;
- out[17] = x132;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.v
deleted file mode 100644
index 70d782290..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.log
deleted file mode 100644
index 68cd50b7f..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = ((0x2 * ((uint64_t)(x18 + x33) * (x18 + x33))) - (0x2 * ((uint64_t)x18 * x18)));
- uint64_t x36 = (((0x2 * ((uint64_t)(x16 + x34) * (x18 + x33))) + (0x2 * ((uint64_t)(x18 + x33) * (x16 + x34)))) - ((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))));
- uint64_t x37 = (((0x2 * ((uint64_t)(x14 + x32) * (x18 + x33))) + ((0x2 * ((uint64_t)(x16 + x34) * (x16 + x34))) + (0x2 * ((uint64_t)(x18 + x33) * (x14 + x32))))) - ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x18 * x14)))));
- uint64_t x38 = (((0x2 * ((uint64_t)(x12 + x30) * (x18 + x33))) + ((0x2 * ((uint64_t)(x14 + x32) * (x16 + x34))) + ((0x2 * ((uint64_t)(x16 + x34) * (x14 + x32))) + (0x2 * ((uint64_t)(x18 + x33) * (x12 + x30)))))) - ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x18 * x12))))));
- uint64_t x39 = (((0x2 * ((uint64_t)(x10 + x28) * (x18 + x33))) + ((0x2 * ((uint64_t)(x12 + x30) * (x16 + x34))) + ((0x2 * ((uint64_t)(x14 + x32) * (x14 + x32))) + ((0x2 * ((uint64_t)(x16 + x34) * (x12 + x30))) + (0x2 * ((uint64_t)(x18 + x33) * (x10 + x28))))))) - ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))));
- uint64_t x40 = (((0x2 * ((uint64_t)(x8 + x26) * (x18 + x33))) + ((0x2 * ((uint64_t)(x10 + x28) * (x16 + x34))) + ((0x2 * ((uint64_t)(x12 + x30) * (x14 + x32))) + ((0x2 * ((uint64_t)(x14 + x32) * (x12 + x30))) + ((0x2 * ((uint64_t)(x16 + x34) * (x10 + x28))) + (0x2 * ((uint64_t)(x18 + x33) * (x8 + x26)))))))) - ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x18 * x8))))))));
- uint64_t x41 = (((0x2 * ((uint64_t)(x6 + x24) * (x18 + x33))) + ((0x2 * ((uint64_t)(x8 + x26) * (x16 + x34))) + ((0x2 * ((uint64_t)(x10 + x28) * (x14 + x32))) + ((0x2 * ((uint64_t)(x12 + x30) * (x12 + x30))) + ((0x2 * ((uint64_t)(x14 + x32) * (x10 + x28))) + ((0x2 * ((uint64_t)(x16 + x34) * (x8 + x26))) + (0x2 * ((uint64_t)(x18 + x33) * (x6 + x24))))))))) - ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x18 * x6)))))))));
- uint64_t x42 = (((0x2 * ((uint64_t)(x4 + x22) * (x18 + x33))) + ((0x2 * ((uint64_t)(x6 + x24) * (x16 + x34))) + ((0x2 * ((uint64_t)(x8 + x26) * (x14 + x32))) + ((0x2 * ((uint64_t)(x10 + x28) * (x12 + x30))) + ((0x2 * ((uint64_t)(x12 + x30) * (x10 + x28))) + ((0x2 * ((uint64_t)(x14 + x32) * (x8 + x26))) + ((0x2 * ((uint64_t)(x16 + x34) * (x6 + x24))) + (0x2 * ((uint64_t)(x18 + x33) * (x4 + x22)))))))))) - ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))));
- uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + (((uint64_t)(x4 + x22) * (x16 + x34)) + (((uint64_t)(x6 + x24) * (x14 + x32)) + (((uint64_t)(x8 + x26) * (x12 + x30)) + (((uint64_t)(x10 + x28) * (x10 + x28)) + (((uint64_t)(x12 + x30) * (x8 + x26)) + (((uint64_t)(x14 + x32) * (x6 + x24)) + (((uint64_t)(x16 + x34) * (x4 + x22)) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + (((uint64_t)(x4 + x22) * (x14 + x32)) + (((uint64_t)(x6 + x24) * (x12 + x30)) + (((uint64_t)(x8 + x26) * (x10 + x28)) + (((uint64_t)(x10 + x28) * (x8 + x26)) + (((uint64_t)(x12 + x30) * (x6 + x24)) + (((uint64_t)(x14 + x32) * (x4 + x22)) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((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 x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + (((uint64_t)(x4 + x22) * (x12 + x30)) + (((uint64_t)(x6 + x24) * (x10 + x28)) + (((uint64_t)(x8 + x26) * (x8 + x26)) + (((uint64_t)(x10 + x28) * (x6 + x24)) + (((uint64_t)(x12 + x30) * (x4 + x22)) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((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 x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + (((uint64_t)(x4 + x22) * (x10 + x28)) + (((uint64_t)(x6 + x24) * (x8 + x26)) + (((uint64_t)(x8 + x26) * (x6 + x24)) + (((uint64_t)(x10 + x28) * (x4 + x22)) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((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 x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + (((uint64_t)(x4 + x22) * (x8 + x26)) + (((uint64_t)(x6 + x24) * (x6 + x24)) + (((uint64_t)(x8 + x26) * (x4 + x22)) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + (((uint64_t)(x4 + x22) * (x6 + x24)) + (((uint64_t)(x6 + x24) * (x4 + x22)) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + (((uint64_t)(x4 + x22) * (x4 + x22)) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- uint64_t x52 = ((((0x2 * ((uint64_t)x18 * x18)) + (0x2 * ((uint64_t)x33 * x33))) + x44) + x35);
- uint64_t x53 = (((((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))) + ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))) + x45) + x36);
- uint64_t x54 = (((((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + (0x2 * ((uint64_t)x18 * x14)))) + ((0x2 * ((uint64_t)x32 * x33)) + ((0x2 * ((uint64_t)x34 * x34)) + (0x2 * ((uint64_t)x33 * x32))))) + x46) + x37);
- uint64_t x55 = (((((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (0x2 * ((uint64_t)x18 * x12))))) + ((0x2 * ((uint64_t)x30 * x33)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + (0x2 * ((uint64_t)x33 * x30)))))) + x47) + x38);
- uint64_t x56 = (((((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))) + ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))) + x48) + x39);
- uint64_t x57 = (((((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + (0x2 * ((uint64_t)x18 * x8))))))) + ((0x2 * ((uint64_t)x26 * x33)) + ((0x2 * ((uint64_t)x28 * x34)) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + ((0x2 * ((uint64_t)x34 * x28)) + (0x2 * ((uint64_t)x33 * x26)))))))) + x49) + x40);
- uint64_t x58 = (((((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + (0x2 * ((uint64_t)x18 * x6)))))))) + ((0x2 * ((uint64_t)x24 * x33)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + ((0x2 * ((uint64_t)x30 * x30)) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + (0x2 * ((uint64_t)x33 * x24))))))))) + x50) + x41);
- uint64_t x59 = (((((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))) + ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))) + x51) + x42);
- uint64_t x60 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20))))))))));
- uint64_t x61 = (((((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)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x34 * x20))))))))) + x35);
- uint64_t x62 = (((((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)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x32 * x20)))))))) + x36);
- uint64_t x63 = (((((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)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x30 * x20))))))) + x37);
- uint64_t x64 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x28 * x20)))))) + x38);
- uint64_t x65 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x26 * x20))))) + x39);
- uint64_t x66 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + ((uint64_t)x24 * x20)))) + x40);
- uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- uint64_t x69 = (x60 >> 0x18);
- uint32_t x70 = ((uint32_t)x60 & 0xffffff);
- uint64_t x71 = (x43 >> 0x18);
- uint32_t x72 = ((uint32_t)x43 & 0xffffff);
- uint64_t x73 = ((0x1000000 * x71) + x72);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = ((x69 + x59) + x74);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x68 + x74);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x77 + x58);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x80 + x67);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x83 + x57);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x86 + x66);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x89 + x56);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x92 + x65);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x95 + x55);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x98 + x64);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x101 + x54);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x104 + x63);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x107 + x53);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x110 + x62);
- uint64_t x116 = (x115 >> 0x19);
- uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- uint64_t x118 = (x113 + x52);
- uint64_t x119 = (x118 >> 0x19);
- uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- uint64_t x121 = (x116 + x61);
- uint64_t x122 = (x121 >> 0x19);
- uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- uint64_t x124 = (x119 + x75);
- uint32_t x125 = (uint32_t) (x124 >> 0x18);
- uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- uint64_t x127 = (x122 + x70);
- uint32_t x128 = (uint32_t) (x127 >> 0x18);
- uint32_t x129 = ((uint32_t)x127 & 0xffffff);
- uint64_t x130 = (((uint64_t)0x1000000 * x125) + x126);
- uint32_t x131 = (uint32_t) (x130 >> 0x18);
- uint32_t x132 = ((uint32_t)x130 & 0xffffff);
- uint32_t x133 = ((x128 + x78) + x131);
- uint32_t x134 = (x133 >> 0x19);
- uint32_t x135 = (x133 & 0x1ffffff);
- uint32_t x136 = (x81 + x131);
- uint32_t x137 = (x136 >> 0x19);
- uint32_t x138 = (x136 & 0x1ffffff);
- return (Return x132, Return x120, Return x114, Return x108, Return x102, Return x96, Return x90, (x134 + x84), Return x135, Return x129, Return x123, Return x117, Return x111, Return x105, Return x99, Return x93, (x137 + x87), Return x138))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.v
deleted file mode 100644
index 4ad694326..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.c b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.c
deleted file mode 100644
index 5991a474f..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x3fffffe + x5) - x39);
- out[1] = ((0x3fffffe + x7) - x41);
- out[2] = ((0x3fffffe + x9) - x43);
- out[3] = ((0x3fffffe + x11) - x45);
- out[4] = ((0x3fffffe + x13) - x47);
- out[5] = ((0x3fffffe + x15) - x49);
- out[6] = ((0x3fffffe + x17) - x51);
- out[7] = ((0x3fffffe + x19) - x53);
- out[8] = ((0x1fffffe + x21) - x55);
- out[9] = ((0x3fffffc + x23) - x57);
- out[10] = ((0x3fffffe + x25) - x59);
- out[11] = ((0x3fffffe + x27) - x61);
- out[12] = ((0x3fffffe + x29) - x63);
- out[13] = ((0x3fffffe + x31) - x65);
- out[14] = ((0x3fffffe + x33) - x67);
- out[15] = ((0x3fffffe + x35) - x69);
- out[16] = ((0x3fffffe + x37) - x71);
- out[17] = ((0x1fffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.v
deleted file mode 100644
index a1b14d9e8..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.log
deleted file mode 100644
index 70588da86..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x1fffffe + x36) - x70), ((0x3fffffe + x37) - x71), ((0x3fffffe + x35) - x69), ((0x3fffffe + x33) - x67), ((0x3fffffe + x31) - x65), ((0x3fffffe + x29) - x63), ((0x3fffffe + x27) - x61), ((0x3fffffe + x25) - x59), ((0x3fffffc + x23) - x57), ((0x1fffffe + x21) - x55), ((0x3fffffe + x19) - x53), ((0x3fffffe + x17) - x51), ((0x3fffffe + x15) - x49), ((0x3fffffe + x13) - x47), ((0x3fffffe + x11) - x45), ((0x3fffffe + x9) - x43), ((0x3fffffe + x7) - x41), ((0x3fffffe + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.v
deleted file mode 100644
index fba73a28c..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.c b/src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.c
deleted file mode 100644
index dc8637431..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0xffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1fffffe);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0xffffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x1ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x1ffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x1ffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x1ffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x1ffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x1ffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x1ffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x1ffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0xffffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x1fffffe);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x1ffffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x1ffffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x1ffffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x1ffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x1ffffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x1ffffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x1ffffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0xffffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.v
deleted file mode 100644
index c170a826b..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.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_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.log
deleted file mode 100644
index a917fb35d..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0xffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1fffffe);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0xffffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x1ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x1ffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x1ffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x1ffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x1ffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x1ffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x1ffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x1ffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0xffffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x1fffffe);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x1ffffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x1ffffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x1ffffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x1ffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x1ffffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x1ffffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x1ffffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0xffffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.v
deleted file mode 100644
index 9744bc807..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e448m2e224m1_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e448m2e224m1_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e448m2e224m1_18limbs/py_interpreter.sh
deleted file mode 100755
index e8f045ff8..000000000
--- a/src/Specific/solinas32_2e448m2e224m1_18limbs/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='24 + 8/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/CurveParameters.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/CurveParameters.v
deleted file mode 100644
index 56065b02c..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^450 - 2^225 - 1
-Base: 25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 25;
- bitwidth := 32;
- s := 2^450;
- c := [(1, 1); (2^225, 1)];
- carry_chains := Some [[8; 17]; [9; 0; 10; 1; 11; 2; 12; 3; 13; 4; 14; 5; 15; 6; 16; 7; 17; 8]; [9; 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_2e450m2e225m1_18limbs/Synthesis.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/Synthesis.v
deleted file mode 100644
index ef78c8682..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/compiler.sh b/src/Specific/solinas32_2e450m2e225m1_18limbs/compiler.sh
deleted file mode 100755
index 27d32e95d..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/compilerxx.sh b/src/Specific/solinas32_2e450m2e225m1_18limbs/compilerxx.sh
deleted file mode 100755
index c4c58505e..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.c b/src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.v
deleted file mode 100644
index 85331b83b..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.v
deleted file mode 100644
index cb9e4b1f7..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fecarry.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/fecarry.v
deleted file mode 100644
index 945f55f8e..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/fecarryDisplay.v
deleted file mode 100644
index 194579436..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/femul.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/femul.v
deleted file mode 100644
index 6dbfa959b..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/femulDisplay.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/femulDisplay.v
deleted file mode 100644
index afd61db70..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.c b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.c
deleted file mode 100644
index edc67b41d..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.c
+++ /dev/null
@@ -1,143 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)(x18 + x33) * (x18 + x33)) - ((uint64_t)x18 * x18));
- { uint64_t x36 = ((((uint64_t)(x16 + x34) * (x18 + x33)) + ((uint64_t)(x18 + x33) * (x16 + x34))) - (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)));
- { uint64_t x37 = ((((uint64_t)(x14 + x32) * (x18 + x33)) + (((uint64_t)(x16 + x34) * (x16 + x34)) + ((uint64_t)(x18 + x33) * (x14 + x32)))) - (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))));
- { uint64_t x38 = ((((uint64_t)(x12 + x30) * (x18 + x33)) + (((uint64_t)(x14 + x32) * (x16 + x34)) + (((uint64_t)(x16 + x34) * (x14 + x32)) + ((uint64_t)(x18 + x33) * (x12 + x30))))) - (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))));
- { uint64_t x39 = ((((uint64_t)(x10 + x28) * (x18 + x33)) + (((uint64_t)(x12 + x30) * (x16 + x34)) + (((uint64_t)(x14 + x32) * (x14 + x32)) + (((uint64_t)(x16 + x34) * (x12 + x30)) + ((uint64_t)(x18 + x33) * (x10 + x28)))))) - (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))));
- { uint64_t x40 = ((((uint64_t)(x8 + x26) * (x18 + x33)) + (((uint64_t)(x10 + x28) * (x16 + x34)) + (((uint64_t)(x12 + x30) * (x14 + x32)) + (((uint64_t)(x14 + x32) * (x12 + x30)) + (((uint64_t)(x16 + x34) * (x10 + x28)) + ((uint64_t)(x18 + x33) * (x8 + x26))))))) - (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))));
- { uint64_t x41 = ((((uint64_t)(x6 + x24) * (x18 + x33)) + (((uint64_t)(x8 + x26) * (x16 + x34)) + (((uint64_t)(x10 + x28) * (x14 + x32)) + (((uint64_t)(x12 + x30) * (x12 + x30)) + (((uint64_t)(x14 + x32) * (x10 + x28)) + (((uint64_t)(x16 + x34) * (x8 + x26)) + ((uint64_t)(x18 + x33) * (x6 + x24)))))))) - (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))));
- { uint64_t x42 = ((((uint64_t)(x4 + x22) * (x18 + x33)) + (((uint64_t)(x6 + x24) * (x16 + x34)) + (((uint64_t)(x8 + x26) * (x14 + x32)) + (((uint64_t)(x10 + x28) * (x12 + x30)) + (((uint64_t)(x12 + x30) * (x10 + x28)) + (((uint64_t)(x14 + x32) * (x8 + x26)) + (((uint64_t)(x16 + x34) * (x6 + x24)) + ((uint64_t)(x18 + x33) * (x4 + x22))))))))) - (((uint64_t)x4 * x18) + (((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)x18 * x4)))))))));
- { uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + (((uint64_t)(x4 + x22) * (x16 + x34)) + (((uint64_t)(x6 + x24) * (x14 + x32)) + (((uint64_t)(x8 + x26) * (x12 + x30)) + (((uint64_t)(x10 + x28) * (x10 + x28)) + (((uint64_t)(x12 + x30) * (x8 + x26)) + (((uint64_t)(x14 + x32) * (x6 + x24)) + (((uint64_t)(x16 + x34) * (x4 + x22)) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- { uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + (((uint64_t)(x4 + x22) * (x14 + x32)) + (((uint64_t)(x6 + x24) * (x12 + x30)) + (((uint64_t)(x8 + x26) * (x10 + x28)) + (((uint64_t)(x10 + x28) * (x8 + x26)) + (((uint64_t)(x12 + x30) * (x6 + x24)) + (((uint64_t)(x14 + x32) * (x4 + x22)) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((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 x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + (((uint64_t)(x4 + x22) * (x12 + x30)) + (((uint64_t)(x6 + x24) * (x10 + x28)) + (((uint64_t)(x8 + x26) * (x8 + x26)) + (((uint64_t)(x10 + x28) * (x6 + x24)) + (((uint64_t)(x12 + x30) * (x4 + x22)) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((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 x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + (((uint64_t)(x4 + x22) * (x10 + x28)) + (((uint64_t)(x6 + x24) * (x8 + x26)) + (((uint64_t)(x8 + x26) * (x6 + x24)) + (((uint64_t)(x10 + x28) * (x4 + x22)) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((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 x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + (((uint64_t)(x4 + x22) * (x8 + x26)) + (((uint64_t)(x6 + x24) * (x6 + x24)) + (((uint64_t)(x8 + x26) * (x4 + x22)) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + (((uint64_t)(x4 + x22) * (x6 + x24)) + (((uint64_t)(x6 + x24) * (x4 + x22)) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + (((uint64_t)(x4 + x22) * (x4 + x22)) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- { uint64_t x52 = (((((uint64_t)x18 * x18) + ((uint64_t)x33 * x33)) + x44) + x35);
- { uint64_t x53 = ((((((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)) + (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))) + x45) + x36);
- { uint64_t x54 = ((((((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))) + (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))) + x46) + x37);
- { uint64_t x55 = ((((((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))) + (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))) + x47) + x38);
- { uint64_t x56 = ((((((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))) + (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))) + x48) + x39);
- { uint64_t x57 = ((((((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))) + (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))) + x49) + x40);
- { uint64_t x58 = ((((((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))) + (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))) + x50) + x41);
- { uint64_t x59 = ((((((uint64_t)x4 * x18) + (((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)x18 * x4)))))))) + (((uint64_t)x22 * x33) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + ((uint64_t)x33 * x22))))))))) + x51) + x42);
- { uint64_t x60 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20))))))))));
- { uint64_t x61 = (((((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)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x34 * x20))))))))) + x35);
- { uint64_t x62 = (((((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)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x32 * x20)))))))) + x36);
- { uint64_t x63 = (((((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)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x30 * x20))))))) + x37);
- { uint64_t x64 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x28 * x20)))))) + x38);
- { uint64_t x65 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x26 * x20))))) + x39);
- { uint64_t x66 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + ((uint64_t)x24 * x20)))) + x40);
- { uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- { uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- { uint64_t x69 = (x60 >> 0x19);
- { uint32_t x70 = ((uint32_t)x60 & 0x1ffffff);
- { uint64_t x71 = (x43 >> 0x19);
- { uint32_t x72 = ((uint32_t)x43 & 0x1ffffff);
- { uint64_t x73 = ((0x2000000 * x71) + x72);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = ((x69 + x59) + x74);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x68 + x74);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x77 + x58);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x80 + x67);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x83 + x57);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x86 + x66);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x89 + x56);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x92 + x65);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x95 + x55);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x98 + x64);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x101 + x54);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x104 + x63);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x107 + x53);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x110 + x62);
- { uint64_t x116 = (x115 >> 0x19);
- { uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- { uint64_t x118 = (x113 + x52);
- { uint64_t x119 = (x118 >> 0x19);
- { uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- { uint64_t x121 = (x116 + x61);
- { uint64_t x122 = (x121 >> 0x19);
- { uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- { uint64_t x124 = (x119 + x75);
- { uint32_t x125 = (uint32_t) (x124 >> 0x19);
- { uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- { uint64_t x127 = (x122 + x70);
- { uint32_t x128 = (uint32_t) (x127 >> 0x19);
- { uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- { uint64_t x130 = (((uint64_t)0x2000000 * x125) + x126);
- { uint32_t x131 = (uint32_t) (x130 >> 0x19);
- { uint32_t x132 = ((uint32_t)x130 & 0x1ffffff);
- { uint32_t x133 = ((x128 + x78) + x131);
- { uint32_t x134 = (x133 >> 0x19);
- { uint32_t x135 = (x133 & 0x1ffffff);
- { uint32_t x136 = (x81 + x131);
- { uint32_t x137 = (x136 >> 0x19);
- { uint32_t x138 = (x136 & 0x1ffffff);
- out[0] = x138;
- out[1] = (x137 + x87);
- out[2] = x93;
- out[3] = x99;
- out[4] = x105;
- out[5] = x111;
- out[6] = x117;
- out[7] = x123;
- out[8] = x129;
- out[9] = x135;
- out[10] = (x134 + x84);
- out[11] = x90;
- out[12] = x96;
- out[13] = x102;
- out[14] = x108;
- out[15] = x114;
- out[16] = x120;
- out[17] = x132;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.v
deleted file mode 100644
index 131550cf2..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.log
deleted file mode 100644
index 2b4cfc1ed..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)(x18 + x33) * (x18 + x33)) - ((uint64_t)x18 * x18));
- uint64_t x36 = ((((uint64_t)(x16 + x34) * (x18 + x33)) + ((uint64_t)(x18 + x33) * (x16 + x34))) - (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)));
- uint64_t x37 = ((((uint64_t)(x14 + x32) * (x18 + x33)) + (((uint64_t)(x16 + x34) * (x16 + x34)) + ((uint64_t)(x18 + x33) * (x14 + x32)))) - (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))));
- uint64_t x38 = ((((uint64_t)(x12 + x30) * (x18 + x33)) + (((uint64_t)(x14 + x32) * (x16 + x34)) + (((uint64_t)(x16 + x34) * (x14 + x32)) + ((uint64_t)(x18 + x33) * (x12 + x30))))) - (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))));
- uint64_t x39 = ((((uint64_t)(x10 + x28) * (x18 + x33)) + (((uint64_t)(x12 + x30) * (x16 + x34)) + (((uint64_t)(x14 + x32) * (x14 + x32)) + (((uint64_t)(x16 + x34) * (x12 + x30)) + ((uint64_t)(x18 + x33) * (x10 + x28)))))) - (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))));
- uint64_t x40 = ((((uint64_t)(x8 + x26) * (x18 + x33)) + (((uint64_t)(x10 + x28) * (x16 + x34)) + (((uint64_t)(x12 + x30) * (x14 + x32)) + (((uint64_t)(x14 + x32) * (x12 + x30)) + (((uint64_t)(x16 + x34) * (x10 + x28)) + ((uint64_t)(x18 + x33) * (x8 + x26))))))) - (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))));
- uint64_t x41 = ((((uint64_t)(x6 + x24) * (x18 + x33)) + (((uint64_t)(x8 + x26) * (x16 + x34)) + (((uint64_t)(x10 + x28) * (x14 + x32)) + (((uint64_t)(x12 + x30) * (x12 + x30)) + (((uint64_t)(x14 + x32) * (x10 + x28)) + (((uint64_t)(x16 + x34) * (x8 + x26)) + ((uint64_t)(x18 + x33) * (x6 + x24)))))))) - (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))));
- uint64_t x42 = ((((uint64_t)(x4 + x22) * (x18 + x33)) + (((uint64_t)(x6 + x24) * (x16 + x34)) + (((uint64_t)(x8 + x26) * (x14 + x32)) + (((uint64_t)(x10 + x28) * (x12 + x30)) + (((uint64_t)(x12 + x30) * (x10 + x28)) + (((uint64_t)(x14 + x32) * (x8 + x26)) + (((uint64_t)(x16 + x34) * (x6 + x24)) + ((uint64_t)(x18 + x33) * (x4 + x22))))))))) - (((uint64_t)x4 * x18) + (((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)x18 * x4)))))))));
- uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + (((uint64_t)(x4 + x22) * (x16 + x34)) + (((uint64_t)(x6 + x24) * (x14 + x32)) + (((uint64_t)(x8 + x26) * (x12 + x30)) + (((uint64_t)(x10 + x28) * (x10 + x28)) + (((uint64_t)(x12 + x30) * (x8 + x26)) + (((uint64_t)(x14 + x32) * (x6 + x24)) + (((uint64_t)(x16 + x34) * (x4 + x22)) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + (((uint64_t)(x4 + x22) * (x14 + x32)) + (((uint64_t)(x6 + x24) * (x12 + x30)) + (((uint64_t)(x8 + x26) * (x10 + x28)) + (((uint64_t)(x10 + x28) * (x8 + x26)) + (((uint64_t)(x12 + x30) * (x6 + x24)) + (((uint64_t)(x14 + x32) * (x4 + x22)) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((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 x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + (((uint64_t)(x4 + x22) * (x12 + x30)) + (((uint64_t)(x6 + x24) * (x10 + x28)) + (((uint64_t)(x8 + x26) * (x8 + x26)) + (((uint64_t)(x10 + x28) * (x6 + x24)) + (((uint64_t)(x12 + x30) * (x4 + x22)) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((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 x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + (((uint64_t)(x4 + x22) * (x10 + x28)) + (((uint64_t)(x6 + x24) * (x8 + x26)) + (((uint64_t)(x8 + x26) * (x6 + x24)) + (((uint64_t)(x10 + x28) * (x4 + x22)) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((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 x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + (((uint64_t)(x4 + x22) * (x8 + x26)) + (((uint64_t)(x6 + x24) * (x6 + x24)) + (((uint64_t)(x8 + x26) * (x4 + x22)) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + (((uint64_t)(x4 + x22) * (x6 + x24)) + (((uint64_t)(x6 + x24) * (x4 + x22)) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + (((uint64_t)(x4 + x22) * (x4 + x22)) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- uint64_t x52 = (((((uint64_t)x18 * x18) + ((uint64_t)x33 * x33)) + x44) + x35);
- uint64_t x53 = ((((((uint64_t)x16 * x18) + ((uint64_t)x18 * x16)) + (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))) + x45) + x36);
- uint64_t x54 = ((((((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))) + (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))) + x46) + x37);
- uint64_t x55 = ((((((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((uint64_t)x18 * x12)))) + (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))) + x47) + x38);
- uint64_t x56 = ((((((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + ((uint64_t)x18 * x10))))) + (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))) + x48) + x39);
- uint64_t x57 = ((((((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))) + (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))) + x49) + x40);
- uint64_t x58 = ((((((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((uint64_t)x18 * x6))))))) + (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))) + x50) + x41);
- uint64_t x59 = ((((((uint64_t)x4 * x18) + (((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)x18 * x4)))))))) + (((uint64_t)x22 * x33) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + ((uint64_t)x33 * x22))))))))) + x51) + x42);
- uint64_t x60 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20))))))))));
- uint64_t x61 = (((((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)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((uint64_t)x34 * x20))))))))) + x35);
- uint64_t x62 = (((((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)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x32 * x20)))))))) + x36);
- uint64_t x63 = (((((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)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x30 * x20))))))) + x37);
- uint64_t x64 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x28 * x20)))))) + x38);
- uint64_t x65 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x26 * x20))))) + x39);
- uint64_t x66 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + ((uint64_t)x24 * x20)))) + x40);
- uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- uint64_t x69 = (x60 >> 0x19);
- uint32_t x70 = ((uint32_t)x60 & 0x1ffffff);
- uint64_t x71 = (x43 >> 0x19);
- uint32_t x72 = ((uint32_t)x43 & 0x1ffffff);
- uint64_t x73 = ((0x2000000 * x71) + x72);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = ((x69 + x59) + x74);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x68 + x74);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x77 + x58);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x80 + x67);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x83 + x57);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x86 + x66);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x89 + x56);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x92 + x65);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x95 + x55);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x98 + x64);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x101 + x54);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x104 + x63);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x107 + x53);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x110 + x62);
- uint64_t x116 = (x115 >> 0x19);
- uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- uint64_t x118 = (x113 + x52);
- uint64_t x119 = (x118 >> 0x19);
- uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- uint64_t x121 = (x116 + x61);
- uint64_t x122 = (x121 >> 0x19);
- uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- uint64_t x124 = (x119 + x75);
- uint32_t x125 = (uint32_t) (x124 >> 0x19);
- uint32_t x126 = ((uint32_t)x124 & 0x1ffffff);
- uint64_t x127 = (x122 + x70);
- uint32_t x128 = (uint32_t) (x127 >> 0x19);
- uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- uint64_t x130 = (((uint64_t)0x2000000 * x125) + x126);
- uint32_t x131 = (uint32_t) (x130 >> 0x19);
- uint32_t x132 = ((uint32_t)x130 & 0x1ffffff);
- uint32_t x133 = ((x128 + x78) + x131);
- uint32_t x134 = (x133 >> 0x19);
- uint32_t x135 = (x133 & 0x1ffffff);
- uint32_t x136 = (x81 + x131);
- uint32_t x137 = (x136 >> 0x19);
- uint32_t x138 = (x136 & 0x1ffffff);
- return (Return x132, Return x120, Return x114, Return x108, Return x102, Return x96, Return x90, (x134 + x84), Return x135, Return x129, Return x123, Return x117, Return x111, Return x105, Return x99, Return x93, (x137 + x87), Return x138))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.v
deleted file mode 100644
index b96996a46..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.c b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.c
deleted file mode 100644
index 286014641..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x3fffffe + x5) - x39);
- out[1] = ((0x3fffffe + x7) - x41);
- out[2] = ((0x3fffffe + x9) - x43);
- out[3] = ((0x3fffffe + x11) - x45);
- out[4] = ((0x3fffffe + x13) - x47);
- out[5] = ((0x3fffffe + x15) - x49);
- out[6] = ((0x3fffffe + x17) - x51);
- out[7] = ((0x3fffffe + x19) - x53);
- out[8] = ((0x3fffffe + x21) - x55);
- out[9] = ((0x3fffffc + x23) - x57);
- out[10] = ((0x3fffffe + x25) - x59);
- out[11] = ((0x3fffffe + x27) - x61);
- out[12] = ((0x3fffffe + x29) - x63);
- out[13] = ((0x3fffffe + x31) - x65);
- out[14] = ((0x3fffffe + x33) - x67);
- out[15] = ((0x3fffffe + x35) - x69);
- out[16] = ((0x3fffffe + x37) - x71);
- out[17] = ((0x3fffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.v
deleted file mode 100644
index 185414f1f..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.log
deleted file mode 100644
index 888ae180b..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x3fffffe + x36) - x70), ((0x3fffffe + x37) - x71), ((0x3fffffe + x35) - x69), ((0x3fffffe + x33) - x67), ((0x3fffffe + x31) - x65), ((0x3fffffe + x29) - x63), ((0x3fffffe + x27) - x61), ((0x3fffffe + x25) - x59), ((0x3fffffc + x23) - x57), ((0x3fffffe + x21) - x55), ((0x3fffffe + x19) - x53), ((0x3fffffe + x17) - x51), ((0x3fffffe + x15) - x49), ((0x3fffffe + x13) - x47), ((0x3fffffe + x11) - x45), ((0x3fffffe + x9) - x43), ((0x3fffffe + x7) - x41), ((0x3fffffe + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.v
deleted file mode 100644
index 4c87b9c94..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.c b/src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.c
deleted file mode 100644
index a13a54c3d..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1fffffe);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1ffffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x1ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x1ffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x1ffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x1ffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x1ffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x1ffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x1ffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x1ffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x1ffffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x1fffffe);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x1ffffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x1ffffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x1ffffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x1ffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x1ffffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x1ffffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x1ffffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x1ffffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.v
deleted file mode 100644
index cb8efbb4b..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.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_2e450m2e225m1_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.log
deleted file mode 100644
index 405267392..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x1fffffe);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1ffffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x1ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x1ffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x1ffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x1ffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x1ffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x1ffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x1ffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x1ffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x1ffffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x1fffffe);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x1ffffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x1ffffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x1ffffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x1ffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x1ffffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x1ffffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x1ffffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x1ffffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.v
deleted file mode 100644
index 02926153c..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e450m2e225m1_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e450m2e225m1_18limbs/py_interpreter.sh
deleted file mode 100755
index a8276b1a3..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**450 - 2**225 - 1' -Dmodulus_bytes='25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/CurveParameters.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/CurveParameters.v
deleted file mode 100644
index 5dd10bdcd..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^450 - 2^225 - 1
-Base: 22.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 20%nat;
- base := 22 + 1/2;
- bitwidth := 32;
- s := 2^450;
- c := [(1, 1); (2^225, 1)];
- carry_chains := Some [[9; 19]; [10; 0; 11; 1; 12; 2; 13; 3; 14; 4; 15; 5; 16; 6; 17; 7; 18; 8; 19; 9]; [10; 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_2e450m2e225m1_20limbs/Synthesis.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/Synthesis.v
deleted file mode 100644
index e8edfe4fc..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/compiler.sh b/src/Specific/solinas32_2e450m2e225m1_20limbs/compiler.sh
deleted file mode 100755
index 80c5ba0d3..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/compilerxx.sh b/src/Specific/solinas32_2e450m2e225m1_20limbs/compilerxx.sh
deleted file mode 100755
index 4bc3cb828..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.c b/src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.c
deleted file mode 100644
index 28ee6f665..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void feadd(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = (x5 + x43);
- out[1] = (x7 + x45);
- out[2] = (x9 + x47);
- out[3] = (x11 + x49);
- out[4] = (x13 + x51);
- out[5] = (x15 + x53);
- out[6] = (x17 + x55);
- out[7] = (x19 + x57);
- out[8] = (x21 + x59);
- out[9] = (x23 + x61);
- out[10] = (x25 + x63);
- out[11] = (x27 + x65);
- out[12] = (x29 + x67);
- out[13] = (x31 + x69);
- out[14] = (x33 + x71);
- out[15] = (x35 + x73);
- out[16] = (x37 + x75);
- out[17] = (x39 + x77);
- out[18] = (x41 + x79);
- out[19] = (x40 + x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.v
deleted file mode 100644
index 2a542e1d8..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/feaddDisplay.log b/src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.log
deleted file mode 100644
index eebe17777..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- ((x40 + x78), (x41 + x79), (x39 + x77), (x37 + x75), (x35 + x73), (x33 + x71), (x31 + x69), (x29 + x67), (x27 + x65), (x25 + x63), (x23 + x61), (x21 + x59), (x19 + x57), (x17 + x55), (x15 + x53), (x13 + x51), (x11 + x49), (x9 + x47), (x7 + x45), (x5 + x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.v
deleted file mode 100644
index df7f7b477..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/fecarry.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/fecarry.v
deleted file mode 100644
index 4c8cbb643..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/fecarryDisplay.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/fecarryDisplay.v
deleted file mode 100644
index 644346518..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/femul.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/femul.v
deleted file mode 100644
index 6b09c1bc8..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/femulDisplay.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/femulDisplay.v
deleted file mode 100644
index 5cb523d55..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesquare.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/fesquare.v
deleted file mode 100644
index 30e0062a1..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/fesquareDisplay.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/fesquareDisplay.v
deleted file mode 100644
index 505034b8d..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.c b/src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.c
deleted file mode 100644
index ed639ad94..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fesub(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = ((0xfffffe + x5) - x43);
- out[1] = ((0x7ffffe + x7) - x45);
- out[2] = ((0xfffffe + x9) - x47);
- out[3] = ((0x7ffffe + x11) - x49);
- out[4] = ((0xfffffe + x13) - x51);
- out[5] = ((0x7ffffe + x15) - x53);
- out[6] = ((0xfffffe + x17) - x55);
- out[7] = ((0x7ffffe + x19) - x57);
- out[8] = ((0xfffffe + x21) - x59);
- out[9] = ((0x7ffffe + x23) - x61);
- out[10] = ((0xfffffc + x25) - x63);
- out[11] = ((0x7ffffe + x27) - x65);
- out[12] = ((0xfffffe + x29) - x67);
- out[13] = ((0x7ffffe + x31) - x69);
- out[14] = ((0xfffffe + x33) - x71);
- out[15] = ((0x7ffffe + x35) - x73);
- out[16] = ((0xfffffe + x37) - x75);
- out[17] = ((0x7ffffe + x39) - x77);
- out[18] = ((0xfffffe + x41) - x79);
- out[19] = ((0x7ffffe + x40) - x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.v
deleted file mode 100644
index be6f22593..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/fesubDisplay.log b/src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.log
deleted file mode 100644
index 84a9874f5..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- (((0x7ffffe + x40) - x78), ((0xfffffe + x41) - x79), ((0x7ffffe + x39) - x77), ((0xfffffe + x37) - x75), ((0x7ffffe + x35) - x73), ((0xfffffe + x33) - x71), ((0x7ffffe + x31) - x69), ((0xfffffe + x29) - x67), ((0x7ffffe + x27) - x65), ((0xfffffc + x25) - x63), ((0x7ffffe + x23) - x61), ((0xfffffe + x21) - x59), ((0x7ffffe + x19) - x57), ((0xfffffe + x17) - x55), ((0x7ffffe + x15) - x53), ((0xfffffe + x13) - x51), ((0x7ffffe + x11) - x49), ((0xfffffe + x9) - x47), ((0x7ffffe + x7) - x45), ((0xfffffe + x5) - x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.v
deleted file mode 100644
index cb404e986..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.c b/src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.c
deleted file mode 100644
index 20510dff8..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void freeze(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0x3fffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x7fffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0x3fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x7fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x7fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0x3fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x7ffffe);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0x3fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x7fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x3fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0x7fffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x3fffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0x7fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x3fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0x7fffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0x3fffff);
- { uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- { uint32_t x100 = (x99 & 0x7fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- { uint32_t x104 = (x99 & 0x3fffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- { uint32_t x108 = (x99 & 0x7fffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- { uint32_t x112 = (x99 & 0x3fffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- { uint32_t x116 = (x99 & 0x7fffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- { uint32_t x120 = (x99 & 0x3fffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- { uint32_t x124 = (x99 & 0x7fffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- { uint32_t x128 = (x99 & 0x3fffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- { uint32_t x132 = (x99 & 0x7fffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- { uint32_t x136 = (x99 & 0x3fffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- { uint32_t x140 = (x99 & 0x7ffffe);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- { uint32_t x144 = (x99 & 0x3fffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- { uint32_t x148 = (x99 & 0x7fffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- { uint32_t x152 = (x99 & 0x3fffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- { uint32_t x156 = (x99 & 0x7fffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- { uint32_t x160 = (x99 & 0x3fffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- { uint32_t x164 = (x99 & 0x7fffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- { uint32_t x168 = (x99 & 0x3fffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- { uint32_t x172 = (x99 & 0x7fffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- { uint32_t x176 = (x99 & 0x3fffff);
- { uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- out[0] = x102;
- out[1] = x106;
- out[2] = x110;
- out[3] = x114;
- out[4] = x118;
- out[5] = x122;
- out[6] = x126;
- out[7] = x130;
- out[8] = x134;
- out[9] = x138;
- out[10] = x142;
- out[11] = x146;
- out[12] = x150;
- out[13] = x154;
- out[14] = x158;
- out[15] = x162;
- out[16] = x166;
- out[17] = x170;
- out[18] = x174;
- out[19] = x178;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.v
deleted file mode 100644
index 38d438a36..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.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_2e450m2e225m1_20limbs/freezeDisplay.log b/src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.log
deleted file mode 100644
index f02273677..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0x3fffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x7fffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0x3fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x7fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x7fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0x3fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x7ffffe);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0x3fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x7fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x3fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0x7fffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x3fffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0x7fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x3fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0x7fffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0x3fffff);
- uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- uint32_t x100 = (x99 & 0x7fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- uint32_t x104 = (x99 & 0x3fffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- uint32_t x108 = (x99 & 0x7fffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- uint32_t x112 = (x99 & 0x3fffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- uint32_t x116 = (x99 & 0x7fffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- uint32_t x120 = (x99 & 0x3fffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- uint32_t x124 = (x99 & 0x7fffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- uint32_t x128 = (x99 & 0x3fffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- uint32_t x132 = (x99 & 0x7fffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- uint32_t x136 = (x99 & 0x3fffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- uint32_t x140 = (x99 & 0x7ffffe);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- uint32_t x144 = (x99 & 0x3fffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- uint32_t x148 = (x99 & 0x7fffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- uint32_t x152 = (x99 & 0x3fffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- uint32_t x156 = (x99 & 0x7fffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- uint32_t x160 = (x99 & 0x3fffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- uint32_t x164 = (x99 & 0x7fffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- uint32_t x168 = (x99 & 0x3fffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- uint32_t x172 = (x99 & 0x7fffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- uint32_t x176 = (x99 & 0x3fffff);
- uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- (Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.v b/src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.v
deleted file mode 100644
index eb0eb0cdd..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e450m2e225m1_20limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e450m2e225m1_20limbs/py_interpreter.sh b/src/Specific/solinas32_2e450m2e225m1_20limbs/py_interpreter.sh
deleted file mode 100755
index 7d162026d..000000000
--- a/src/Specific/solinas32_2e450m2e225m1_20limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**450 - 2**225 - 1' -Dmodulus_bytes='22.5' -Da24='121665'
diff --git a/src/Specific/solinas32_2e452m3_17limbs/CurveParameters.v b/src/Specific/solinas32_2e452m3_17limbs/CurveParameters.v
deleted file mode 100644
index 6eaf1ff77..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^452 - 3
-Base: 26 + 10/17
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 17%nat;
- base := 26 + 10/17;
- bitwidth := 32;
- s := 2^452;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 17); [0; 1]]%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_2e452m3_17limbs/Synthesis.v b/src/Specific/solinas32_2e452m3_17limbs/Synthesis.v
deleted file mode 100644
index cf5d313db..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/compiler.sh b/src/Specific/solinas32_2e452m3_17limbs/compiler.sh
deleted file mode 100755
index 9f25e992a..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26,27,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas32_2e452m3_17limbs/compilerxx.sh b/src/Specific/solinas32_2e452m3_17limbs/compilerxx.sh
deleted file mode 100755
index 2965d120b..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,26,27,27,26,27,26,27,27,26,27,26,27,26}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='17' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas32_2e452m3_17limbs/feadd.c b/src/Specific/solinas32_2e452m3_17limbs/feadd.c
deleted file mode 100644
index 30eb11eae..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/feadd.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void feadd(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = (x5 + x37);
- out[1] = (x7 + x39);
- out[2] = (x9 + x41);
- out[3] = (x11 + x43);
- out[4] = (x13 + x45);
- out[5] = (x15 + x47);
- out[6] = (x17 + x49);
- out[7] = (x19 + x51);
- out[8] = (x21 + x53);
- out[9] = (x23 + x55);
- out[10] = (x25 + x57);
- out[11] = (x27 + x59);
- out[12] = (x29 + x61);
- out[13] = (x31 + x63);
- out[14] = (x33 + x65);
- out[15] = (x35 + x67);
- out[16] = (x34 + x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_17limbs/feadd.v b/src/Specific/solinas32_2e452m3_17limbs/feadd.v
deleted file mode 100644
index d4d54bafd..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/feaddDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.log
deleted file mode 100644
index 7324e0941..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- ((x34 + x66), (x35 + x67), (x33 + x65), (x31 + x63), (x29 + x61), (x27 + x59), (x25 + x57), (x23 + x55), (x21 + x53), (x19 + x51), (x17 + x49), (x15 + x47), (x13 + x45), (x11 + x43), (x9 + x41), (x7 + x39), (x5 + x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.v b/src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.v
deleted file mode 100644
index ae868d519..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fecarry.v b/src/Specific/solinas32_2e452m3_17limbs/fecarry.v
deleted file mode 100644
index 6fb898881..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/fecarryDisplay.v b/src/Specific/solinas32_2e452m3_17limbs/fecarryDisplay.v
deleted file mode 100644
index 90b107705..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e452m3_17limbs/femul.c b/src/Specific/solinas32_2e452m3_17limbs/femul.c
deleted file mode 100644
index a50528090..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/femul.c
+++ /dev/null
@@ -1,127 +0,0 @@
-static void femul(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- { uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x34 * x66))));
- { uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x3 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- { uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- { uint64_t x72 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x3 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- { uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- { uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x3 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- { uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x3 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- { uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x3 * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x3 * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- { uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x3 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x3 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x3 * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- { uint64_t x84 = (((uint64_t)x5 * x37) + (0x3 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- { uint64_t x85 = (x84 >> 0x1b);
- { uint32_t x86 = ((uint32_t)x84 & 0x7ffffff);
- { uint64_t x87 = (x85 + x83);
- { uint64_t x88 = (x87 >> 0x1b);
- { uint32_t x89 = ((uint32_t)x87 & 0x7ffffff);
- { uint64_t x90 = (x88 + x82);
- { uint64_t x91 = (x90 >> 0x1a);
- { uint32_t x92 = ((uint32_t)x90 & 0x3ffffff);
- { uint64_t x93 = (x91 + x81);
- { uint64_t x94 = (x93 >> 0x1b);
- { uint32_t x95 = ((uint32_t)x93 & 0x7ffffff);
- { uint64_t x96 = (x94 + x80);
- { uint64_t x97 = (x96 >> 0x1a);
- { uint32_t x98 = ((uint32_t)x96 & 0x3ffffff);
- { uint64_t x99 = (x97 + x79);
- { uint64_t x100 = (x99 >> 0x1b);
- { uint32_t x101 = ((uint32_t)x99 & 0x7ffffff);
- { uint64_t x102 = (x100 + x78);
- { uint64_t x103 = (x102 >> 0x1b);
- { uint32_t x104 = ((uint32_t)x102 & 0x7ffffff);
- { uint64_t x105 = (x103 + x77);
- { uint64_t x106 = (x105 >> 0x1a);
- { uint32_t x107 = ((uint32_t)x105 & 0x3ffffff);
- { uint64_t x108 = (x106 + x76);
- { uint64_t x109 = (x108 >> 0x1b);
- { uint32_t x110 = ((uint32_t)x108 & 0x7ffffff);
- { uint64_t x111 = (x109 + x75);
- { uint64_t x112 = (x111 >> 0x1a);
- { uint32_t x113 = ((uint32_t)x111 & 0x3ffffff);
- { uint64_t x114 = (x112 + x74);
- { uint64_t x115 = (x114 >> 0x1b);
- { uint32_t x116 = ((uint32_t)x114 & 0x7ffffff);
- { uint64_t x117 = (x115 + x73);
- { uint64_t x118 = (x117 >> 0x1b);
- { uint32_t x119 = ((uint32_t)x117 & 0x7ffffff);
- { uint64_t x120 = (x118 + x72);
- { uint64_t x121 = (x120 >> 0x1a);
- { uint32_t x122 = ((uint32_t)x120 & 0x3ffffff);
- { uint64_t x123 = (x121 + x71);
- { uint64_t x124 = (x123 >> 0x1b);
- { uint32_t x125 = ((uint32_t)x123 & 0x7ffffff);
- { uint64_t x126 = (x124 + x70);
- { uint64_t x127 = (x126 >> 0x1a);
- { uint32_t x128 = ((uint32_t)x126 & 0x3ffffff);
- { uint64_t x129 = (x127 + x69);
- { uint64_t x130 = (x129 >> 0x1b);
- { uint32_t x131 = ((uint32_t)x129 & 0x7ffffff);
- { uint64_t x132 = (x130 + x68);
- { uint64_t x133 = (x132 >> 0x1a);
- { uint32_t x134 = ((uint32_t)x132 & 0x3ffffff);
- { uint64_t x135 = (x86 + (0x3 * x133));
- { uint32_t x136 = (uint32_t) (x135 >> 0x1b);
- { uint32_t x137 = ((uint32_t)x135 & 0x7ffffff);
- { uint32_t x138 = (x136 + x89);
- { uint32_t x139 = (x138 >> 0x1b);
- { uint32_t x140 = (x138 & 0x7ffffff);
- out[0] = x137;
- out[1] = x140;
- out[2] = (x139 + x92);
- out[3] = x95;
- out[4] = x98;
- out[5] = x101;
- out[6] = x104;
- out[7] = x107;
- out[8] = x110;
- out[9] = x113;
- out[10] = x116;
- out[11] = x119;
- out[12] = x122;
- out[13] = x125;
- out[14] = x128;
- out[15] = x131;
- out[16] = x134;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_17limbs/femul.v b/src/Specific/solinas32_2e452m3_17limbs/femul.v
deleted file mode 100644
index 7ac7c21f1..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/femulDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log
deleted file mode 100644
index 1209c60de..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- uint64_t x68 = (((uint64_t)x5 * x66) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((0x2 * ((uint64_t)x33 * x41)) + (((uint64_t)x35 * x39) + ((uint64_t)x34 * x37)))))))))))))))));
- uint64_t x69 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((0x2 * ((uint64_t)x33 * x39)) + ((uint64_t)x35 * x37)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x34 * x66))));
- uint64_t x70 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((0x2 * ((uint64_t)x29 * x41)) + (((uint64_t)x31 * x39) + ((uint64_t)x33 * x37))))))))))))))) + (0x3 * (((uint64_t)x35 * x66) + ((uint64_t)x34 * x67))));
- uint64_t x71 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((0x2 * ((uint64_t)x27 * x41)) + ((0x2 * ((uint64_t)x29 * x39)) + ((uint64_t)x31 * x37)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x33 * x66)) + (((uint64_t)x35 * x67) + (0x2 * ((uint64_t)x34 * x65))))));
- uint64_t x72 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x29 * x37))))))))))))) + (0x3 * (((uint64_t)x31 * x66) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((uint64_t)x34 * x63))))));
- uint64_t x73 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x27 * x37)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x29 * x66)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (0x2 * ((uint64_t)x34 * x61))))))));
- uint64_t x74 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((0x2 * ((uint64_t)x23 * x39)) + ((uint64_t)x25 * x37))))))))))) + (0x3 * ((0x2 * ((uint64_t)x27 * x66)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (0x2 * ((uint64_t)x34 * x59)))))))));
- uint64_t x75 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + ((uint64_t)x23 * x37)))))))))) + (0x3 * (((uint64_t)x25 * x66) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x34 * x57)))))))));
- uint64_t x76 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + (((uint64_t)x15 * x43) + ((0x2 * ((uint64_t)x17 * x41)) + ((0x2 * ((uint64_t)x19 * x39)) + ((uint64_t)x21 * x37))))))))) + (0x3 * ((0x2 * ((uint64_t)x23 * x66)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (0x2 * ((uint64_t)x34 * x55)))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x51) + (((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)))))))) + (0x3 * (((uint64_t)x21 * x66) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((uint64_t)x34 * x53)))))))))));
- uint64_t x78 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x66)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + (0x2 * ((uint64_t)x34 * x51)))))))))))));
- uint64_t x79 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((0x2 * ((uint64_t)x13 * x39)) + ((uint64_t)x15 * x37)))))) + (0x3 * ((0x2 * ((uint64_t)x17 * x66)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (0x2 * ((uint64_t)x34 * x49))))))))))))));
- uint64_t x80 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((uint64_t)x13 * x37))))) + (0x3 * (((uint64_t)x15 * x66) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + ((0x2 * ((uint64_t)x29 * x55)) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + (((uint64_t)x35 * x49) + ((uint64_t)x34 * x47))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((uint64_t)x11 * x37)))) + (0x3 * ((0x2 * ((uint64_t)x13 * x66)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + (0x2 * ((uint64_t)x34 * x45))))))))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + ((uint64_t)x9 * x37))) + (0x3 * (((uint64_t)x11 * x66) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x34 * x43))))))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x39) + ((uint64_t)x7 * x37)) + (0x3 * ((0x2 * ((uint64_t)x9 * x66)) + (((uint64_t)x11 * x67) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + (((uint64_t)x35 * x43) + (0x2 * ((uint64_t)x34 * x41))))))))))))))))));
- uint64_t x84 = (((uint64_t)x5 * x37) + (0x3 * ((0x2 * ((uint64_t)x7 * x66)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + (0x2 * ((uint64_t)x34 * x39)))))))))))))))))));
- uint64_t x85 = (x84 >> 0x1b);
- uint32_t x86 = ((uint32_t)x84 & 0x7ffffff);
- uint64_t x87 = (x85 + x83);
- uint64_t x88 = (x87 >> 0x1b);
- uint32_t x89 = ((uint32_t)x87 & 0x7ffffff);
- uint64_t x90 = (x88 + x82);
- uint64_t x91 = (x90 >> 0x1a);
- uint32_t x92 = ((uint32_t)x90 & 0x3ffffff);
- uint64_t x93 = (x91 + x81);
- uint64_t x94 = (x93 >> 0x1b);
- uint32_t x95 = ((uint32_t)x93 & 0x7ffffff);
- uint64_t x96 = (x94 + x80);
- uint64_t x97 = (x96 >> 0x1a);
- uint32_t x98 = ((uint32_t)x96 & 0x3ffffff);
- uint64_t x99 = (x97 + x79);
- uint64_t x100 = (x99 >> 0x1b);
- uint32_t x101 = ((uint32_t)x99 & 0x7ffffff);
- uint64_t x102 = (x100 + x78);
- uint64_t x103 = (x102 >> 0x1b);
- uint32_t x104 = ((uint32_t)x102 & 0x7ffffff);
- uint64_t x105 = (x103 + x77);
- uint64_t x106 = (x105 >> 0x1a);
- uint32_t x107 = ((uint32_t)x105 & 0x3ffffff);
- uint64_t x108 = (x106 + x76);
- uint64_t x109 = (x108 >> 0x1b);
- uint32_t x110 = ((uint32_t)x108 & 0x7ffffff);
- uint64_t x111 = (x109 + x75);
- uint64_t x112 = (x111 >> 0x1a);
- uint32_t x113 = ((uint32_t)x111 & 0x3ffffff);
- uint64_t x114 = (x112 + x74);
- uint64_t x115 = (x114 >> 0x1b);
- uint32_t x116 = ((uint32_t)x114 & 0x7ffffff);
- uint64_t x117 = (x115 + x73);
- uint64_t x118 = (x117 >> 0x1b);
- uint32_t x119 = ((uint32_t)x117 & 0x7ffffff);
- uint64_t x120 = (x118 + x72);
- uint64_t x121 = (x120 >> 0x1a);
- uint32_t x122 = ((uint32_t)x120 & 0x3ffffff);
- uint64_t x123 = (x121 + x71);
- uint64_t x124 = (x123 >> 0x1b);
- uint32_t x125 = ((uint32_t)x123 & 0x7ffffff);
- uint64_t x126 = (x124 + x70);
- uint64_t x127 = (x126 >> 0x1a);
- uint32_t x128 = ((uint32_t)x126 & 0x3ffffff);
- uint64_t x129 = (x127 + x69);
- uint64_t x130 = (x129 >> 0x1b);
- uint32_t x131 = ((uint32_t)x129 & 0x7ffffff);
- uint64_t x132 = (x130 + x68);
- uint64_t x133 = (x132 >> 0x1a);
- uint32_t x134 = ((uint32_t)x132 & 0x3ffffff);
- uint64_t x135 = (x86 + (0x3 * x133));
- uint32_t x136 = (uint32_t) (x135 >> 0x1b);
- uint32_t x137 = ((uint32_t)x135 & 0x7ffffff);
- uint32_t x138 = (x136 + x89);
- uint32_t x139 = (x138 >> 0x1b);
- uint32_t x140 = (x138 & 0x7ffffff);
- return (Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, (x139 + x92), Return x140, Return x137))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.v b/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.v
deleted file mode 100644
index 97f913395..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesquare.c b/src/Specific/solinas32_2e452m3_17limbs/fesquare.c
deleted file mode 100644
index f37b13343..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesquare.c
+++ /dev/null
@@ -1,110 +0,0 @@
-static void fesquare(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- { uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x31 * x31))));
- { uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x3 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- { uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- { uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- { uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- { uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- { uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- { uint64_t x42 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- { uint64_t x49 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- { uint64_t x50 = (x49 >> 0x1b);
- { uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- { uint64_t x52 = (x50 + x48);
- { uint64_t x53 = (x52 >> 0x1b);
- { uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- { uint64_t x55 = (x53 + x47);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x46);
- { uint64_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint64_t x61 = (x59 + x45);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x44);
- { uint64_t x65 = (x64 >> 0x1b);
- { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- { uint64_t x67 = (x65 + x43);
- { uint64_t x68 = (x67 >> 0x1b);
- { uint32_t x69 = ((uint32_t)x67 & 0x7ffffff);
- { uint64_t x70 = (x68 + x42);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x41);
- { uint64_t x74 = (x73 >> 0x1b);
- { uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x39);
- { uint64_t x80 = (x79 >> 0x1b);
- { uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- { uint64_t x82 = (x80 + x38);
- { uint64_t x83 = (x82 >> 0x1b);
- { uint32_t x84 = ((uint32_t)x82 & 0x7ffffff);
- { uint64_t x85 = (x83 + x37);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x36);
- { uint64_t x89 = (x88 >> 0x1b);
- { uint32_t x90 = ((uint32_t)x88 & 0x7ffffff);
- { uint64_t x91 = (x89 + x35);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x34);
- { uint64_t x95 = (x94 >> 0x1b);
- { uint32_t x96 = ((uint32_t)x94 & 0x7ffffff);
- { uint64_t x97 = (x95 + x33);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x51 + (0x3 * x98));
- { uint32_t x101 = (uint32_t) (x100 >> 0x1b);
- { uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- { uint32_t x103 = (x101 + x54);
- { uint32_t x104 = (x103 >> 0x1b);
- { uint32_t x105 = (x103 & 0x7ffffff);
- out[0] = x102;
- out[1] = x105;
- out[2] = (x104 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- out[10] = x81;
- out[11] = x84;
- out[12] = x87;
- out[13] = x90;
- out[14] = x93;
- out[15] = x96;
- out[16] = x99;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesquare.v b/src/Specific/solinas32_2e452m3_17limbs/fesquare.v
deleted file mode 100644
index af0b30e3a..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/fesquareDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log
deleted file mode 100644
index f71baf7a9..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x33 = (((uint64_t)x2 * x31) + (((uint64_t)x4 * x32) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + (((uint64_t)x32 * x4) + ((uint64_t)x31 * x2)))))))))))))))));
- uint64_t x34 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x3 * (0x2 * ((uint64_t)x31 * x31))));
- uint64_t x35 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x3 * (((uint64_t)x32 * x31) + ((uint64_t)x31 * x32))));
- uint64_t x36 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x3 * ((0x2 * ((uint64_t)x30 * x31)) + (((uint64_t)x32 * x32) + (0x2 * ((uint64_t)x31 * x30))))));
- uint64_t x37 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * (((uint64_t)x28 * x31) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((uint64_t)x31 * x28))))));
- uint64_t x38 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * ((0x2 * ((uint64_t)x26 * x31)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (0x2 * ((uint64_t)x31 * x26))))))));
- uint64_t x39 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((0x2 * ((uint64_t)x24 * x31)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + (0x2 * ((uint64_t)x31 * x24)))))))));
- uint64_t x40 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x31) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((uint64_t)x31 * x22)))))))));
- uint64_t x41 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((0x2 * ((uint64_t)x20 * x31)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (0x2 * ((uint64_t)x31 * x20)))))))))));
- uint64_t x42 = ((((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)))))))) + (0x3 * (((uint64_t)x18 * x31) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((uint64_t)x31 * x18)))))))))));
- uint64_t x43 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x31)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (0x2 * ((uint64_t)x31 * x16)))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * ((0x2 * ((uint64_t)x14 * x31)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (0x2 * ((uint64_t)x31 * x14))))))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x31) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((uint64_t)x31 * x12))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint64_t)x10 * x31)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + (0x2 * ((uint64_t)x31 * x10))))))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x31) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((uint64_t)x31 * x8))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((0x2 * ((uint64_t)x6 * x31)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (0x2 * ((uint64_t)x31 * x6))))))))))))))))));
- uint64_t x49 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x31)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (0x2 * ((uint64_t)x31 * x4)))))))))))))))))));
- uint64_t x50 = (x49 >> 0x1b);
- uint32_t x51 = ((uint32_t)x49 & 0x7ffffff);
- uint64_t x52 = (x50 + x48);
- uint64_t x53 = (x52 >> 0x1b);
- uint32_t x54 = ((uint32_t)x52 & 0x7ffffff);
- uint64_t x55 = (x53 + x47);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x46);
- uint64_t x59 = (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint64_t x61 = (x59 + x45);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x44);
- uint64_t x65 = (x64 >> 0x1b);
- uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- uint64_t x67 = (x65 + x43);
- uint64_t x68 = (x67 >> 0x1b);
- uint32_t x69 = ((uint32_t)x67 & 0x7ffffff);
- uint64_t x70 = (x68 + x42);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x41);
- uint64_t x74 = (x73 >> 0x1b);
- uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x39);
- uint64_t x80 = (x79 >> 0x1b);
- uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- uint64_t x82 = (x80 + x38);
- uint64_t x83 = (x82 >> 0x1b);
- uint32_t x84 = ((uint32_t)x82 & 0x7ffffff);
- uint64_t x85 = (x83 + x37);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x36);
- uint64_t x89 = (x88 >> 0x1b);
- uint32_t x90 = ((uint32_t)x88 & 0x7ffffff);
- uint64_t x91 = (x89 + x35);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x34);
- uint64_t x95 = (x94 >> 0x1b);
- uint32_t x96 = ((uint32_t)x94 & 0x7ffffff);
- uint64_t x97 = (x95 + x33);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x51 + (0x3 * x98));
- uint32_t x101 = (uint32_t) (x100 >> 0x1b);
- uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- uint32_t x103 = (x101 + x54);
- uint32_t x104 = (x103 >> 0x1b);
- uint32_t x105 = (x103 & 0x7ffffff);
- return (Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x104 + x57), Return x105, Return x102))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.v b/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.v
deleted file mode 100644
index eb6913539..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesub.c b/src/Specific/solinas32_2e452m3_17limbs/fesub.c
deleted file mode 100644
index 792826292..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesub.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void fesub(uint32_t out[17], const uint32_t in1[17], const uint32_t in2[17]) {
- { const uint32_t x34 = in1[16];
- { const uint32_t x35 = 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 x66 = in2[16];
- { const uint32_t x67 = in2[15];
- { const uint32_t x65 = in2[14];
- { const uint32_t x63 = in2[13];
- { const uint32_t x61 = in2[12];
- { const uint32_t x59 = in2[11];
- { const uint32_t x57 = in2[10];
- { const uint32_t x55 = in2[9];
- { const uint32_t x53 = in2[8];
- { const uint32_t x51 = in2[7];
- { const uint32_t x49 = in2[6];
- { const uint32_t x47 = in2[5];
- { const uint32_t x45 = in2[4];
- { const uint32_t x43 = in2[3];
- { const uint32_t x41 = in2[2];
- { const uint32_t x39 = in2[1];
- { const uint32_t x37 = in2[0];
- out[0] = ((0xffffffa + x5) - x37);
- out[1] = ((0xffffffe + x7) - x39);
- out[2] = ((0x7fffffe + x9) - x41);
- out[3] = ((0xffffffe + x11) - x43);
- out[4] = ((0x7fffffe + x13) - x45);
- out[5] = ((0xffffffe + x15) - x47);
- out[6] = ((0xffffffe + x17) - x49);
- out[7] = ((0x7fffffe + x19) - x51);
- out[8] = ((0xffffffe + x21) - x53);
- out[9] = ((0x7fffffe + x23) - x55);
- out[10] = ((0xffffffe + x25) - x57);
- out[11] = ((0xffffffe + x27) - x59);
- out[12] = ((0x7fffffe + x29) - x61);
- out[13] = ((0xffffffe + x31) - x63);
- out[14] = ((0x7fffffe + x33) - x65);
- out[15] = ((0xffffffe + x35) - x67);
- out[16] = ((0x7fffffe + x34) - x66);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesub.v b/src/Specific/solinas32_2e452m3_17limbs/fesub.v
deleted file mode 100644
index 2a27b3c6a..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/fesubDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.log
deleted file mode 100644
index c717e8328..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/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 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x34, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x66, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37))%core,
- (((0x7fffffe + x34) - x66), ((0xffffffe + x35) - x67), ((0x7fffffe + x33) - x65), ((0xffffffe + x31) - x63), ((0x7fffffe + x29) - x61), ((0xffffffe + x27) - x59), ((0xffffffe + x25) - x57), ((0x7fffffe + x23) - x55), ((0xffffffe + x21) - x53), ((0x7fffffe + x19) - x51), ((0xffffffe + x17) - x49), ((0xffffffe + x15) - x47), ((0x7fffffe + x13) - x45), ((0xffffffe + x11) - x43), ((0x7fffffe + x9) - x41), ((0xffffffe + x7) - x39), ((0xffffffa + x5) - x37)))
-(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 * 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.v b/src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.v
deleted file mode 100644
index b2eddd8ed..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e452m3_17limbs/freeze.c b/src/Specific/solinas32_2e452m3_17limbs/freeze.c
deleted file mode 100644
index 3bca81046..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/freeze.c
+++ /dev/null
@@ -1,89 +0,0 @@
-static void freeze(uint32_t out[17], const uint32_t in1[17]) {
- { const uint32_t x31 = in1[16];
- { const uint32_t x32 = 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 x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffd);
- { uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7ffffff);
- { uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3ffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x7ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x7ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3ffffff);
- { uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- { uint32_t x85 = (x84 & 0x7fffffd);
- { uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- { uint32_t x89 = (x84 & 0x7ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- { uint32_t x93 = (x84 & 0x3ffffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- { uint32_t x97 = (x84 & 0x7ffffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- { uint32_t x101 = (x84 & 0x3ffffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- { uint32_t x105 = (x84 & 0x7ffffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- { uint32_t x109 = (x84 & 0x7ffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- { uint32_t x113 = (x84 & 0x3ffffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- { uint32_t x117 = (x84 & 0x7ffffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- { uint32_t x121 = (x84 & 0x3ffffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- { uint32_t x125 = (x84 & 0x7ffffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- { uint32_t x129 = (x84 & 0x7ffffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- { uint32_t x133 = (x84 & 0x3ffffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- { uint32_t x137 = (x84 & 0x7ffffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- { uint32_t x141 = (x84 & 0x3ffffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- { uint32_t x145 = (x84 & 0x7ffffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- { uint32_t x149 = (x84 & 0x3ffffff);
- { uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- out[0] = x87;
- out[1] = x91;
- out[2] = x95;
- out[3] = x99;
- out[4] = x103;
- out[5] = x107;
- out[6] = x111;
- out[7] = x115;
- out[8] = x119;
- out[9] = x123;
- out[10] = x127;
- out[11] = x131;
- out[12] = x135;
- out[13] = x139;
- out[14] = x143;
- out[15] = x147;
- out[16] = x151;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_17limbs/freeze.v b/src/Specific/solinas32_2e452m3_17limbs/freeze.v
deleted file mode 100644
index bdee0d052..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.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_2e452m3_17limbs/freezeDisplay.log b/src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.log
deleted file mode 100644
index 50cf2b436..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.log
+++ /dev/null
@@ -1,59 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x31, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffd);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x4, 0x7ffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x6, 0x3ffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x8, 0x7ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x10, 0x3ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x12, 0x7ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x14, 0x7ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x16, 0x3ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x18, 0x7ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x20, 0x3ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x22, 0x7ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x24, 0x7ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x26, 0x3ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x28, 0x7ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x30, 0x3ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x32, 0x7ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x31, 0x3ffffff);
- uint32_t x84 = cmovznz32(x83, 0x0, 0xffffffff);
- uint32_t x85 = (x84 & 0x7fffffd);
- uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x34, Return x85);
- uint32_t x89 = (x84 & 0x7ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x37, Return x89);
- uint32_t x93 = (x84 & 0x3ffffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x40, Return x93);
- uint32_t x97 = (x84 & 0x7ffffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x43, Return x97);
- uint32_t x101 = (x84 & 0x3ffffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x46, Return x101);
- uint32_t x105 = (x84 & 0x7ffffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x49, Return x105);
- uint32_t x109 = (x84 & 0x7ffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x52, Return x109);
- uint32_t x113 = (x84 & 0x3ffffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x55, Return x113);
- uint32_t x117 = (x84 & 0x7ffffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x58, Return x117);
- uint32_t x121 = (x84 & 0x3ffffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x61, Return x121);
- uint32_t x125 = (x84 & 0x7ffffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x64, Return x125);
- uint32_t x129 = (x84 & 0x7ffffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x67, Return x129);
- uint32_t x133 = (x84 & 0x3ffffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x70, Return x133);
- uint32_t x137 = (x84 & 0x7ffffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x73, Return x137);
- uint32_t x141 = (x84 & 0x3ffffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x76, Return x141);
- uint32_t x145 = (x84 & 0x7ffffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x79, Return x145);
- uint32_t x149 = (x84 & 0x3ffffff);
- uint32_t x151, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x82, Return x149);
- (Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87))
-x
- : 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 * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.v b/src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.v
deleted file mode 100644
index af4d75679..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_17limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e452m3_17limbs/py_interpreter.sh b/src/Specific/solinas32_2e452m3_17limbs/py_interpreter.sh
deleted file mode 100755
index 825fa927d..000000000
--- a/src/Specific/solinas32_2e452m3_17limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**452 - 3' -Dmodulus_bytes='26 + 10/17' -Da24='121665'
diff --git a/src/Specific/solinas32_2e452m3_18limbs/CurveParameters.v b/src/Specific/solinas32_2e452m3_18limbs/CurveParameters.v
deleted file mode 100644
index e248a0012..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^452 - 3
-Base: 25 + 1/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 25 + 1/9;
- bitwidth := 32;
- s := 2^452;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 18); [0; 1]]%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_2e452m3_18limbs/Synthesis.v b/src/Specific/solinas32_2e452m3_18limbs/Synthesis.v
deleted file mode 100644
index 51a907b62..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/compiler.sh b/src/Specific/solinas32_2e452m3_18limbs/compiler.sh
deleted file mode 100755
index 2a59ac6f9..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas32_2e452m3_18limbs/compilerxx.sh b/src/Specific/solinas32_2e452m3_18limbs/compilerxx.sh
deleted file mode 100755
index 231bd9295..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/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,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,25,25,25,25,25,25,25,25,26,25,25,25,25,25,25,25,25}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas32_2e452m3_18limbs/feadd.c b/src/Specific/solinas32_2e452m3_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_18limbs/feadd.v b/src/Specific/solinas32_2e452m3_18limbs/feadd.v
deleted file mode 100644
index 77d48dc2f..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.v
deleted file mode 100644
index 95ca34983..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fecarry.v b/src/Specific/solinas32_2e452m3_18limbs/fecarry.v
deleted file mode 100644
index f0bb3ee72..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e452m3_18limbs/fecarryDisplay.v
deleted file mode 100644
index ba96535ad..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e452m3_18limbs/femul.c b/src/Specific/solinas32_2e452m3_18limbs/femul.c
deleted file mode 100644
index dc6233236..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/femul.c
+++ /dev/null
@@ -1,134 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = (((uint64_t)x5 * x70) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((0x2 * ((uint64_t)x35 * x43)) + ((0x2 * ((uint64_t)x37 * x41)) + ((uint64_t)x36 * x39))))))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + ((uint64_t)x37 * x39))))))))))))))))) + (0x3 * ((uint64_t)x36 * x70)));
- { uint64_t x74 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((uint64_t)x35 * x39)))))))))))))))) + (0x3 * (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))));
- { uint64_t x75 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x33 * x39))))))))))))))) + (0x3 * (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))));
- { uint64_t x76 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((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) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((uint64_t)x31 * x39)))))))))))))) + (0x3 * (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))));
- { uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x3 * (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))));
- { uint64_t x78 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x27 * x39)))))))))))) + (0x3 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x3 * (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x3 * ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))) + (0x3 * (((uint64_t)x23 * x70) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((uint64_t)x36 * x57)))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))) + (0x3 * (((uint64_t)x21 * x70) + (((uint64_t)x23 * x71) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + (((uint64_t)x37 * x57) + ((uint64_t)x36 * x55))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x3 * (((uint64_t)x19 * x70) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (((uint64_t)x37 * x55) + ((uint64_t)x36 * x53)))))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (0x3 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((uint64_t)x13 * x39))))) + (0x3 * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x3 * (((uint64_t)x13 * x70) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + (((uint64_t)x35 * x51) + (((uint64_t)x37 * x49) + ((uint64_t)x36 * x47))))))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (0x3 * (((uint64_t)x11 * x70) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + ((0x2 * ((uint64_t)x25 * x59)) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + (((uint64_t)x35 * x49) + (((uint64_t)x37 * x47) + ((uint64_t)x36 * x45)))))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x3 * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- { uint64_t x89 = (((uint64_t)x5 * x39) + (0x3 * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- { uint64_t x90 = (x89 >> 0x1a);
- { uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- { uint64_t x92 = (x90 + x88);
- { uint64_t x93 = (x92 >> 0x19);
- { uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- { uint64_t x95 = (x93 + x87);
- { uint64_t x96 = (x95 >> 0x19);
- { uint32_t x97 = ((uint32_t)x95 & 0x1ffffff);
- { uint64_t x98 = (x96 + x86);
- { uint64_t x99 = (x98 >> 0x19);
- { uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- { uint64_t x101 = (x99 + x85);
- { uint64_t x102 = (x101 >> 0x19);
- { uint32_t x103 = ((uint32_t)x101 & 0x1ffffff);
- { uint64_t x104 = (x102 + x84);
- { uint64_t x105 = (x104 >> 0x19);
- { uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- { uint64_t x107 = (x105 + x83);
- { uint64_t x108 = (x107 >> 0x19);
- { uint32_t x109 = ((uint32_t)x107 & 0x1ffffff);
- { uint64_t x110 = (x108 + x82);
- { uint64_t x111 = (x110 >> 0x19);
- { uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- { uint64_t x113 = (x111 + x81);
- { uint64_t x114 = (x113 >> 0x19);
- { uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- { uint64_t x116 = (x114 + x80);
- { uint64_t x117 = (x116 >> 0x1a);
- { uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- { uint64_t x119 = (x117 + x79);
- { uint64_t x120 = (x119 >> 0x19);
- { uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- { uint64_t x122 = (x120 + x78);
- { uint64_t x123 = (x122 >> 0x19);
- { uint32_t x124 = ((uint32_t)x122 & 0x1ffffff);
- { uint64_t x125 = (x123 + x77);
- { uint64_t x126 = (x125 >> 0x19);
- { uint32_t x127 = ((uint32_t)x125 & 0x1ffffff);
- { uint64_t x128 = (x126 + x76);
- { uint64_t x129 = (x128 >> 0x19);
- { uint32_t x130 = ((uint32_t)x128 & 0x1ffffff);
- { uint64_t x131 = (x129 + x75);
- { uint64_t x132 = (x131 >> 0x19);
- { uint32_t x133 = ((uint32_t)x131 & 0x1ffffff);
- { uint64_t x134 = (x132 + x74);
- { uint64_t x135 = (x134 >> 0x19);
- { uint32_t x136 = ((uint32_t)x134 & 0x1ffffff);
- { uint64_t x137 = (x135 + x73);
- { uint64_t x138 = (x137 >> 0x19);
- { uint32_t x139 = ((uint32_t)x137 & 0x1ffffff);
- { uint64_t x140 = (x138 + x72);
- { uint64_t x141 = (x140 >> 0x19);
- { uint32_t x142 = ((uint32_t)x140 & 0x1ffffff);
- { uint64_t x143 = (x91 + (0x3 * x141));
- { uint32_t x144 = (uint32_t) (x143 >> 0x1a);
- { uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- { uint32_t x146 = (x144 + x94);
- { uint32_t x147 = (x146 >> 0x19);
- { uint32_t x148 = (x146 & 0x1ffffff);
- out[0] = x145;
- out[1] = x148;
- out[2] = (x147 + x97);
- out[3] = x100;
- out[4] = x103;
- out[5] = x106;
- out[6] = x109;
- out[7] = x112;
- out[8] = x115;
- out[9] = x118;
- out[10] = x121;
- out[11] = x124;
- out[12] = x127;
- out[13] = x130;
- out[14] = x133;
- out[15] = x136;
- out[16] = x139;
- out[17] = x142;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_18limbs/femul.v b/src/Specific/solinas32_2e452m3_18limbs/femul.v
deleted file mode 100644
index b7701fd22..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/femulDisplay.log b/src/Specific/solinas32_2e452m3_18limbs/femulDisplay.log
deleted file mode 100644
index 2ce27ff76..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = (((uint64_t)x5 * x70) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((0x2 * ((uint64_t)x35 * x43)) + ((0x2 * ((uint64_t)x37 * x41)) + ((uint64_t)x36 * x39))))))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((0x2 * ((uint64_t)x33 * x43)) + ((0x2 * ((uint64_t)x35 * x41)) + ((uint64_t)x37 * x39))))))))))))))))) + (0x3 * ((uint64_t)x36 * x70)));
- uint64_t x74 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((0x2 * ((uint64_t)x33 * x41)) + ((uint64_t)x35 * x39)))))))))))))))) + (0x3 * (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))));
- uint64_t x75 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((0x2 * ((uint64_t)x31 * x41)) + ((uint64_t)x33 * x39))))))))))))))) + (0x3 * (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))));
- uint64_t x76 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((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) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((0x2 * ((uint64_t)x29 * x41)) + ((uint64_t)x31 * x39)))))))))))))) + (0x3 * (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))));
- uint64_t x77 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + (((uint64_t)x11 * x57) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((0x2 * ((uint64_t)x27 * x41)) + ((uint64_t)x29 * x39))))))))))))) + (0x3 * (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))));
- uint64_t x78 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x27 * x39)))))))))))) + (0x3 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x3 * (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))));
- uint64_t x80 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + ((uint64_t)x23 * x39)))))))))) + (0x3 * ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((0x2 * ((uint64_t)x19 * x41)) + ((uint64_t)x21 * x39))))))))) + (0x3 * (((uint64_t)x23 * x70) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((uint64_t)x36 * x57)))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((0x2 * ((uint64_t)x17 * x41)) + ((uint64_t)x19 * x39)))))))) + (0x3 * (((uint64_t)x21 * x70) + (((uint64_t)x23 * x71) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + (((uint64_t)x37 * x57) + ((uint64_t)x36 * x55))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (0x3 * (((uint64_t)x19 * x70) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + (((uint64_t)x37 * x55) + ((uint64_t)x36 * x53)))))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + ((uint64_t)x15 * x39)))))) + (0x3 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + ((uint64_t)x13 * x39))))) + (0x3 * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (0x3 * (((uint64_t)x13 * x70) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + (((uint64_t)x35 * x51) + (((uint64_t)x37 * x49) + ((uint64_t)x36 * x47))))))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((uint64_t)x9 * x39))) + (0x3 * (((uint64_t)x11 * x70) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + ((0x2 * ((uint64_t)x25 * x59)) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + (((uint64_t)x35 * x49) + (((uint64_t)x37 * x47) + ((uint64_t)x36 * x45)))))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x3 * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- uint64_t x89 = (((uint64_t)x5 * x39) + (0x3 * ((0x2 * ((uint64_t)x7 * x70)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((0x2 * ((uint64_t)x37 * x43)) + (0x2 * ((uint64_t)x36 * x41))))))))))))))))))));
- uint64_t x90 = (x89 >> 0x1a);
- uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- uint64_t x92 = (x90 + x88);
- uint64_t x93 = (x92 >> 0x19);
- uint32_t x94 = ((uint32_t)x92 & 0x1ffffff);
- uint64_t x95 = (x93 + x87);
- uint64_t x96 = (x95 >> 0x19);
- uint32_t x97 = ((uint32_t)x95 & 0x1ffffff);
- uint64_t x98 = (x96 + x86);
- uint64_t x99 = (x98 >> 0x19);
- uint32_t x100 = ((uint32_t)x98 & 0x1ffffff);
- uint64_t x101 = (x99 + x85);
- uint64_t x102 = (x101 >> 0x19);
- uint32_t x103 = ((uint32_t)x101 & 0x1ffffff);
- uint64_t x104 = (x102 + x84);
- uint64_t x105 = (x104 >> 0x19);
- uint32_t x106 = ((uint32_t)x104 & 0x1ffffff);
- uint64_t x107 = (x105 + x83);
- uint64_t x108 = (x107 >> 0x19);
- uint32_t x109 = ((uint32_t)x107 & 0x1ffffff);
- uint64_t x110 = (x108 + x82);
- uint64_t x111 = (x110 >> 0x19);
- uint32_t x112 = ((uint32_t)x110 & 0x1ffffff);
- uint64_t x113 = (x111 + x81);
- uint64_t x114 = (x113 >> 0x19);
- uint32_t x115 = ((uint32_t)x113 & 0x1ffffff);
- uint64_t x116 = (x114 + x80);
- uint64_t x117 = (x116 >> 0x1a);
- uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- uint64_t x119 = (x117 + x79);
- uint64_t x120 = (x119 >> 0x19);
- uint32_t x121 = ((uint32_t)x119 & 0x1ffffff);
- uint64_t x122 = (x120 + x78);
- uint64_t x123 = (x122 >> 0x19);
- uint32_t x124 = ((uint32_t)x122 & 0x1ffffff);
- uint64_t x125 = (x123 + x77);
- uint64_t x126 = (x125 >> 0x19);
- uint32_t x127 = ((uint32_t)x125 & 0x1ffffff);
- uint64_t x128 = (x126 + x76);
- uint64_t x129 = (x128 >> 0x19);
- uint32_t x130 = ((uint32_t)x128 & 0x1ffffff);
- uint64_t x131 = (x129 + x75);
- uint64_t x132 = (x131 >> 0x19);
- uint32_t x133 = ((uint32_t)x131 & 0x1ffffff);
- uint64_t x134 = (x132 + x74);
- uint64_t x135 = (x134 >> 0x19);
- uint32_t x136 = ((uint32_t)x134 & 0x1ffffff);
- uint64_t x137 = (x135 + x73);
- uint64_t x138 = (x137 >> 0x19);
- uint32_t x139 = ((uint32_t)x137 & 0x1ffffff);
- uint64_t x140 = (x138 + x72);
- uint64_t x141 = (x140 >> 0x19);
- uint32_t x142 = ((uint32_t)x140 & 0x1ffffff);
- uint64_t x143 = (x91 + (0x3 * x141));
- uint32_t x144 = (uint32_t) (x143 >> 0x1a);
- uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- uint32_t x146 = (x144 + x94);
- uint32_t x147 = (x146 >> 0x19);
- uint32_t x148 = (x146 & 0x1ffffff);
- return (Return x142, Return x139, Return x136, Return x133, Return x130, Return x127, Return x124, Return x121, Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, (x147 + x97), Return x148, Return x145))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_18limbs/femulDisplay.v b/src/Specific/solinas32_2e452m3_18limbs/femulDisplay.v
deleted file mode 100644
index cc70d0e55..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fesquare.c b/src/Specific/solinas32_2e452m3_18limbs/fesquare.c
deleted file mode 100644
index 125526889..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesquare.c
+++ /dev/null
@@ -1,116 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)x2 * x33) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x33 * x2))))))))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x3 * ((uint64_t)x33 * x33)));
- { uint64_t x37 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x3 * (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))));
- { uint64_t x38 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x3 * (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))));
- { uint64_t x39 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x3 * (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))));
- { uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))));
- { uint64_t x41 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x3 * ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x33) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((uint64_t)x33 * x20)))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * (((uint64_t)x18 * x33) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + ((uint64_t)x33 * x18))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * (((uint64_t)x16 * x33) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + ((uint64_t)x33 * x16)))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + (((uint64_t)x32 * x18) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x33) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + ((uint64_t)x33 * x10))))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x33) + (((uint64_t)x10 * x34) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + (((uint64_t)x34 * x10) + ((uint64_t)x33 * x8)))))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- { uint64_t x52 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x51);
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x50);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x49);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x48);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x47);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x46);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x45);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x44);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x43);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x42);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x41);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x86 + x40);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x39);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x38);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x37);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x36);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x35);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x54 + (0x3 * x104));
- { uint32_t x107 = (uint32_t) (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint32_t x109 = (x107 + x57);
- { uint32_t x110 = (x109 >> 0x19);
- { uint32_t x111 = (x109 & 0x1ffffff);
- out[0] = x108;
- out[1] = x111;
- out[2] = (x110 + x60);
- out[3] = x63;
- out[4] = x66;
- out[5] = x69;
- out[6] = x72;
- out[7] = x75;
- out[8] = x78;
- out[9] = x81;
- out[10] = x84;
- out[11] = x87;
- out[12] = x90;
- out[13] = x93;
- out[14] = x96;
- out[15] = x99;
- out[16] = x102;
- out[17] = x105;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fesquare.v b/src/Specific/solinas32_2e452m3_18limbs/fesquare.v
deleted file mode 100644
index 1dfe73146..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.log
deleted file mode 100644
index 6ad6d3306..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)x2 * x33) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x33 * x2))))))))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x3 * ((uint64_t)x33 * x33)));
- uint64_t x37 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x3 * (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))));
- uint64_t x38 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x3 * (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))));
- uint64_t x39 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x3 * (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))));
- uint64_t x40 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))));
- uint64_t x41 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))));
- uint64_t x43 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x3 * ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x33) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((uint64_t)x33 * x20)))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * (((uint64_t)x18 * x33) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + ((uint64_t)x33 * x18))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * (((uint64_t)x16 * x33) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + ((uint64_t)x33 * x16)))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + (((uint64_t)x32 * x18) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x33) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + ((uint64_t)x33 * x10))))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x33) + (((uint64_t)x10 * x34) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + (((uint64_t)x34 * x10) + ((uint64_t)x33 * x8)))))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- uint64_t x52 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x33)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + (0x2 * ((uint64_t)x33 * x4))))))))))))))))))));
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x51);
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x50);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x49);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x48);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x47);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x46);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x45);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x44);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x43);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x42);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x41);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x39);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x38);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x37);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x36);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x35);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x54 + (0x3 * x104));
- uint32_t x107 = (uint32_t) (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint32_t x109 = (x107 + x57);
- uint32_t x110 = (x109 >> 0x19);
- uint32_t x111 = (x109 & 0x1ffffff);
- return (Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, (x110 + x60), Return x111, Return x108))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.v
deleted file mode 100644
index 9aa3446d9..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fesub.c b/src/Specific/solinas32_2e452m3_18limbs/fesub.c
deleted file mode 100644
index 7dedf43e8..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x7fffffa + x5) - x39);
- out[1] = ((0x3fffffe + x7) - x41);
- out[2] = ((0x3fffffe + x9) - x43);
- out[3] = ((0x3fffffe + x11) - x45);
- out[4] = ((0x3fffffe + x13) - x47);
- out[5] = ((0x3fffffe + x15) - x49);
- out[6] = ((0x3fffffe + x17) - x51);
- out[7] = ((0x3fffffe + x19) - x53);
- out[8] = ((0x3fffffe + x21) - x55);
- out[9] = ((0x7fffffe + x23) - x57);
- out[10] = ((0x3fffffe + x25) - x59);
- out[11] = ((0x3fffffe + x27) - x61);
- out[12] = ((0x3fffffe + x29) - x63);
- out[13] = ((0x3fffffe + x31) - x65);
- out[14] = ((0x3fffffe + x33) - x67);
- out[15] = ((0x3fffffe + x35) - x69);
- out[16] = ((0x3fffffe + x37) - x71);
- out[17] = ((0x3fffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fesub.v b/src/Specific/solinas32_2e452m3_18limbs/fesub.v
deleted file mode 100644
index 9fdafe308..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.log
deleted file mode 100644
index 76c1e1b54..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x3fffffe + x36) - x70), ((0x3fffffe + x37) - x71), ((0x3fffffe + x35) - x69), ((0x3fffffe + x33) - x67), ((0x3fffffe + x31) - x65), ((0x3fffffe + x29) - x63), ((0x3fffffe + x27) - x61), ((0x3fffffe + x25) - x59), ((0x7fffffe + x23) - x57), ((0x3fffffe + x21) - x55), ((0x3fffffe + x19) - x53), ((0x3fffffe + x17) - x51), ((0x3fffffe + x15) - x49), ((0x3fffffe + x13) - x47), ((0x3fffffe + x11) - x45), ((0x3fffffe + x9) - x43), ((0x3fffffe + x7) - x41), ((0x7fffffa + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.v
deleted file mode 100644
index 8e0ad01be..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e452m3_18limbs/freeze.c b/src/Specific/solinas32_2e452m3_18limbs/freeze.c
deleted file mode 100644
index faa9bb885..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffd);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1ffffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x3fffffd);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x1ffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x1ffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x1ffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x1ffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x1ffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x1ffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x1ffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x1ffffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x3ffffff);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x1ffffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x1ffffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x1ffffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x1ffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x1ffffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x1ffffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x1ffffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x1ffffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e452m3_18limbs/freeze.v b/src/Specific/solinas32_2e452m3_18limbs/freeze.v
deleted file mode 100644
index 8f336447c..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.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_2e452m3_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.log
deleted file mode 100644
index 90a47f95d..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffd);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x1ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x1ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x1ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x1ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x1ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x1ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x1ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x1ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x1ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x1ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x1ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x1ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x1ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x1ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x1ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x1ffffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x3fffffd);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x1ffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x1ffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x1ffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x1ffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x1ffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x1ffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x1ffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x1ffffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x3ffffff);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x1ffffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x1ffffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x1ffffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x1ffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x1ffffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x1ffffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x1ffffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x1ffffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.v
deleted file mode 100644
index 17672d058..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e452m3_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e452m3_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e452m3_18limbs/py_interpreter.sh
deleted file mode 100755
index c7fc345f1..000000000
--- a/src/Specific/solinas32_2e452m3_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**452 - 3' -Dmodulus_bytes='25 + 1/9' -Da24='121665'
diff --git a/src/Specific/solinas32_2e468m17_18limbs/CurveParameters.v b/src/Specific/solinas32_2e468m17_18limbs/CurveParameters.v
deleted file mode 100644
index 4bb88d487..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^468 - 17
-Base: 26
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 26;
- bitwidth := 32;
- s := 2^468;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 18); [0; 1]]%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_2e468m17_18limbs/Synthesis.v b/src/Specific/solinas32_2e468m17_18limbs/Synthesis.v
deleted file mode 100644
index dd8d91be6..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/compiler.sh b/src/Specific/solinas32_2e468m17_18limbs/compiler.sh
deleted file mode 100755
index 3f682c904..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas32_2e468m17_18limbs/compilerxx.sh b/src/Specific/solinas32_2e468m17_18limbs/compilerxx.sh
deleted file mode 100755
index 167d8f771..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas32_2e468m17_18limbs/feadd.c b/src/Specific/solinas32_2e468m17_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_18limbs/feadd.v b/src/Specific/solinas32_2e468m17_18limbs/feadd.v
deleted file mode 100644
index ce7b5938c..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.v
deleted file mode 100644
index 6f9ab0650..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fecarry.v b/src/Specific/solinas32_2e468m17_18limbs/fecarry.v
deleted file mode 100644
index dbe7288da..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e468m17_18limbs/fecarryDisplay.v
deleted file mode 100644
index e162f4bbc..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e468m17_18limbs/femul.c b/src/Specific/solinas32_2e468m17_18limbs/femul.c
deleted file mode 100644
index fb91e4e45..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/femul.c
+++ /dev/null
@@ -1,134 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = (((uint64_t)x5 * x70) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + (((uint64_t)x37 * x41) + ((uint64_t)x36 * x39))))))))))))))))));
- { uint64_t x73 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + (((uint64_t)x35 * x41) + ((uint64_t)x37 * x39))))))))))))))))) + (0x11 * ((uint64_t)x36 * x70)));
- { uint64_t x74 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + (((uint64_t)x33 * x41) + ((uint64_t)x35 * x39)))))))))))))))) + (0x11 * (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))));
- { uint64_t x75 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((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)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x33 * x39))))))))))))))) + (0x11 * (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))));
- { uint64_t x76 = ((((uint64_t)x5 * x65) + (((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)))))))))))))) + (0x11 * (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))));
- { uint64_t x77 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + ((uint64_t)x29 * x39))))))))))))) + (0x11 * (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))));
- { uint64_t x78 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x27 * x39)))))))))))) + (0x11 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- { uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x11 * (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))));
- { uint64_t x80 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((uint64_t)x23 * x39)))))))))) + (0x11 * (((uint64_t)x25 * x70) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + (((uint64_t)x37 * x61) + ((uint64_t)x36 * x59))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (0x11 * (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57)))))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (0x11 * (((uint64_t)x21 * x70) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + ((uint64_t)x36 * x55))))))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))))))) + (0x11 * (((uint64_t)x19 * x70) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + (((uint64_t)x37 * x55) + ((uint64_t)x36 * x53)))))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((uint64_t)x15 * x39)))))) + (0x11 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x11 * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + ((uint64_t)x11 * x39)))) + (0x11 * (((uint64_t)x13 * x70) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + (((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)x35 * x51) + (((uint64_t)x37 * x49) + ((uint64_t)x36 * x47))))))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (0x11 * (((uint64_t)x11 * x70) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + (((uint64_t)x37 * x47) + ((uint64_t)x36 * x45)))))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x11 * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- { uint64_t x89 = (((uint64_t)x5 * x39) + (0x11 * (((uint64_t)x7 * x70) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + (((uint64_t)x37 * x43) + ((uint64_t)x36 * x41)))))))))))))))))));
- { uint64_t x90 = (x89 >> 0x1a);
- { uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- { uint64_t x92 = (x90 + x88);
- { uint64_t x93 = (x92 >> 0x1a);
- { uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- { uint64_t x95 = (x93 + x87);
- { uint64_t x96 = (x95 >> 0x1a);
- { uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- { uint64_t x98 = (x96 + x86);
- { uint64_t x99 = (x98 >> 0x1a);
- { uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- { uint64_t x101 = (x99 + x85);
- { uint64_t x102 = (x101 >> 0x1a);
- { uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- { uint64_t x104 = (x102 + x84);
- { uint64_t x105 = (x104 >> 0x1a);
- { uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- { uint64_t x107 = (x105 + x83);
- { uint64_t x108 = (x107 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- { uint64_t x110 = (x108 + x82);
- { uint64_t x111 = (x110 >> 0x1a);
- { uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- { uint64_t x113 = (x111 + x81);
- { uint64_t x114 = (x113 >> 0x1a);
- { uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- { uint64_t x116 = (x114 + x80);
- { uint64_t x117 = (x116 >> 0x1a);
- { uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- { uint64_t x119 = (x117 + x79);
- { uint64_t x120 = (x119 >> 0x1a);
- { uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- { uint64_t x122 = (x120 + x78);
- { uint64_t x123 = (x122 >> 0x1a);
- { uint32_t x124 = ((uint32_t)x122 & 0x3ffffff);
- { uint64_t x125 = (x123 + x77);
- { uint64_t x126 = (x125 >> 0x1a);
- { uint32_t x127 = ((uint32_t)x125 & 0x3ffffff);
- { uint64_t x128 = (x126 + x76);
- { uint64_t x129 = (x128 >> 0x1a);
- { uint32_t x130 = ((uint32_t)x128 & 0x3ffffff);
- { uint64_t x131 = (x129 + x75);
- { uint64_t x132 = (x131 >> 0x1a);
- { uint32_t x133 = ((uint32_t)x131 & 0x3ffffff);
- { uint64_t x134 = (x132 + x74);
- { uint64_t x135 = (x134 >> 0x1a);
- { uint32_t x136 = ((uint32_t)x134 & 0x3ffffff);
- { uint64_t x137 = (x135 + x73);
- { uint64_t x138 = (x137 >> 0x1a);
- { uint32_t x139 = ((uint32_t)x137 & 0x3ffffff);
- { uint64_t x140 = (x138 + x72);
- { uint64_t x141 = (x140 >> 0x1a);
- { uint32_t x142 = ((uint32_t)x140 & 0x3ffffff);
- { uint64_t x143 = (x91 + (0x11 * x141));
- { uint32_t x144 = (uint32_t) (x143 >> 0x1a);
- { uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- { uint32_t x146 = (x144 + x94);
- { uint32_t x147 = (x146 >> 0x1a);
- { uint32_t x148 = (x146 & 0x3ffffff);
- out[0] = x145;
- out[1] = x148;
- out[2] = (x147 + x97);
- out[3] = x100;
- out[4] = x103;
- out[5] = x106;
- out[6] = x109;
- out[7] = x112;
- out[8] = x115;
- out[9] = x118;
- out[10] = x121;
- out[11] = x124;
- out[12] = x127;
- out[13] = x130;
- out[14] = x133;
- out[15] = x136;
- out[16] = x139;
- out[17] = x142;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_18limbs/femul.v b/src/Specific/solinas32_2e468m17_18limbs/femul.v
deleted file mode 100644
index c8bb742ce..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/femulDisplay.log b/src/Specific/solinas32_2e468m17_18limbs/femulDisplay.log
deleted file mode 100644
index 4785b2fac..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = (((uint64_t)x5 * x70) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + (((uint64_t)x37 * x41) + ((uint64_t)x36 * x39))))))))))))))))));
- uint64_t x73 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + (((uint64_t)x35 * x41) + ((uint64_t)x37 * x39))))))))))))))))) + (0x11 * ((uint64_t)x36 * x70)));
- uint64_t x74 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + (((uint64_t)x33 * x41) + ((uint64_t)x35 * x39)))))))))))))))) + (0x11 * (((uint64_t)x37 * x70) + ((uint64_t)x36 * x71))));
- uint64_t x75 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((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)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x33 * x39))))))))))))))) + (0x11 * (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))));
- uint64_t x76 = ((((uint64_t)x5 * x65) + (((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)))))))))))))) + (0x11 * (((uint64_t)x33 * x70) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + ((uint64_t)x36 * x67))))));
- uint64_t x77 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + ((uint64_t)x29 * x39))))))))))))) + (0x11 * (((uint64_t)x31 * x70) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((uint64_t)x36 * x65)))))));
- uint64_t x78 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x27 * x39)))))))))))) + (0x11 * (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))));
- uint64_t x79 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + ((uint64_t)x25 * x39))))))))))) + (0x11 * (((uint64_t)x27 * x70) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + ((uint64_t)x36 * x61)))))))));
- uint64_t x80 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((uint64_t)x23 * x39)))))))))) + (0x11 * (((uint64_t)x25 * x70) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + (((uint64_t)x37 * x61) + ((uint64_t)x36 * x59))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (0x11 * (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57)))))))))));
- uint64_t x82 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (0x11 * (((uint64_t)x21 * x70) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + ((uint64_t)x36 * x55))))))))))));
- uint64_t x83 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))))))) + (0x11 * (((uint64_t)x19 * x70) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + (((uint64_t)x37 * x55) + ((uint64_t)x36 * x53)))))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((uint64_t)x15 * x39)))))) + (0x11 * (((uint64_t)x17 * x70) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((uint64_t)x36 * x51))))))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (0x11 * (((uint64_t)x15 * x70) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + ((uint64_t)x36 * x49)))))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + ((uint64_t)x11 * x39)))) + (0x11 * (((uint64_t)x13 * x70) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + (((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)x35 * x51) + (((uint64_t)x37 * x49) + ((uint64_t)x36 * x47))))))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (0x11 * (((uint64_t)x11 * x70) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + (((uint64_t)x37 * x47) + ((uint64_t)x36 * x45)))))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (0x11 * (((uint64_t)x9 * x70) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + (((uint64_t)x37 * x45) + ((uint64_t)x36 * x43))))))))))))))))));
- uint64_t x89 = (((uint64_t)x5 * x39) + (0x11 * (((uint64_t)x7 * x70) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + (((uint64_t)x37 * x43) + ((uint64_t)x36 * x41)))))))))))))))))));
- uint64_t x90 = (x89 >> 0x1a);
- uint32_t x91 = ((uint32_t)x89 & 0x3ffffff);
- uint64_t x92 = (x90 + x88);
- uint64_t x93 = (x92 >> 0x1a);
- uint32_t x94 = ((uint32_t)x92 & 0x3ffffff);
- uint64_t x95 = (x93 + x87);
- uint64_t x96 = (x95 >> 0x1a);
- uint32_t x97 = ((uint32_t)x95 & 0x3ffffff);
- uint64_t x98 = (x96 + x86);
- uint64_t x99 = (x98 >> 0x1a);
- uint32_t x100 = ((uint32_t)x98 & 0x3ffffff);
- uint64_t x101 = (x99 + x85);
- uint64_t x102 = (x101 >> 0x1a);
- uint32_t x103 = ((uint32_t)x101 & 0x3ffffff);
- uint64_t x104 = (x102 + x84);
- uint64_t x105 = (x104 >> 0x1a);
- uint32_t x106 = ((uint32_t)x104 & 0x3ffffff);
- uint64_t x107 = (x105 + x83);
- uint64_t x108 = (x107 >> 0x1a);
- uint32_t x109 = ((uint32_t)x107 & 0x3ffffff);
- uint64_t x110 = (x108 + x82);
- uint64_t x111 = (x110 >> 0x1a);
- uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- uint64_t x113 = (x111 + x81);
- uint64_t x114 = (x113 >> 0x1a);
- uint32_t x115 = ((uint32_t)x113 & 0x3ffffff);
- uint64_t x116 = (x114 + x80);
- uint64_t x117 = (x116 >> 0x1a);
- uint32_t x118 = ((uint32_t)x116 & 0x3ffffff);
- uint64_t x119 = (x117 + x79);
- uint64_t x120 = (x119 >> 0x1a);
- uint32_t x121 = ((uint32_t)x119 & 0x3ffffff);
- uint64_t x122 = (x120 + x78);
- uint64_t x123 = (x122 >> 0x1a);
- uint32_t x124 = ((uint32_t)x122 & 0x3ffffff);
- uint64_t x125 = (x123 + x77);
- uint64_t x126 = (x125 >> 0x1a);
- uint32_t x127 = ((uint32_t)x125 & 0x3ffffff);
- uint64_t x128 = (x126 + x76);
- uint64_t x129 = (x128 >> 0x1a);
- uint32_t x130 = ((uint32_t)x128 & 0x3ffffff);
- uint64_t x131 = (x129 + x75);
- uint64_t x132 = (x131 >> 0x1a);
- uint32_t x133 = ((uint32_t)x131 & 0x3ffffff);
- uint64_t x134 = (x132 + x74);
- uint64_t x135 = (x134 >> 0x1a);
- uint32_t x136 = ((uint32_t)x134 & 0x3ffffff);
- uint64_t x137 = (x135 + x73);
- uint64_t x138 = (x137 >> 0x1a);
- uint32_t x139 = ((uint32_t)x137 & 0x3ffffff);
- uint64_t x140 = (x138 + x72);
- uint64_t x141 = (x140 >> 0x1a);
- uint32_t x142 = ((uint32_t)x140 & 0x3ffffff);
- uint64_t x143 = (x91 + (0x11 * x141));
- uint32_t x144 = (uint32_t) (x143 >> 0x1a);
- uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- uint32_t x146 = (x144 + x94);
- uint32_t x147 = (x146 >> 0x1a);
- uint32_t x148 = (x146 & 0x3ffffff);
- return (Return x142, Return x139, Return x136, Return x133, Return x130, Return x127, Return x124, Return x121, Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, (x147 + x97), Return x148, Return x145))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_18limbs/femulDisplay.v b/src/Specific/solinas32_2e468m17_18limbs/femulDisplay.v
deleted file mode 100644
index 4c0445b7c..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fesquare.c b/src/Specific/solinas32_2e468m17_18limbs/fesquare.c
deleted file mode 100644
index d7eb27dd4..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesquare.c
+++ /dev/null
@@ -1,116 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = (((uint64_t)x2 * x33) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x33 * x2))))))))))))))))));
- { uint64_t x36 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * ((uint64_t)x33 * x33)));
- { uint64_t x37 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x11 * (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))));
- { uint64_t x38 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x11 * (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))));
- { uint64_t x39 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))));
- { uint64_t x40 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))));
- { uint64_t x41 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x33) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + ((uint64_t)x33 * x22))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20)))))))))));
- { uint64_t x45 = ((((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)))))))) + (0x11 * (((uint64_t)x18 * x33) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + ((uint64_t)x33 * x18))))))))))));
- { uint64_t x46 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x33) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + ((uint64_t)x33 * x16)))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x33) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + ((uint64_t)x33 * x10))))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x33) + (((uint64_t)x10 * x34) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + (((uint64_t)x34 * x10) + ((uint64_t)x33 * x8)))))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- { uint64_t x52 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x33) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + ((uint64_t)x33 * x4)))))))))))))))))));
- { uint64_t x53 = (x52 >> 0x1a);
- { uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x51);
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x50);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x49);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x48);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x47);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x46);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x45);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x44);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x43);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x42);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x41);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x40);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x39);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x38);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x37);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x36);
- { uint64_t x101 = (x100 >> 0x1a);
- { uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- { uint64_t x103 = (x101 + x35);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x54 + (0x11 * x104));
- { uint32_t x107 = (uint32_t) (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint32_t x109 = (x107 + x57);
- { uint32_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = (x109 & 0x3ffffff);
- out[0] = x108;
- out[1] = x111;
- out[2] = (x110 + x60);
- out[3] = x63;
- out[4] = x66;
- out[5] = x69;
- out[6] = x72;
- out[7] = x75;
- out[8] = x78;
- out[9] = x81;
- out[10] = x84;
- out[11] = x87;
- out[12] = x90;
- out[13] = x93;
- out[14] = x96;
- out[15] = x99;
- out[16] = x102;
- out[17] = x105;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fesquare.v b/src/Specific/solinas32_2e468m17_18limbs/fesquare.v
deleted file mode 100644
index fc78927b1..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.log
deleted file mode 100644
index ce059ed76..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,84 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = (((uint64_t)x2 * x33) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x33 * x2))))))))))))))))));
- uint64_t x36 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * ((uint64_t)x33 * x33)));
- uint64_t x37 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x11 * (((uint64_t)x34 * x33) + ((uint64_t)x33 * x34))));
- uint64_t x38 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x11 * (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))));
- uint64_t x39 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x33) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + ((uint64_t)x33 * x30))))));
- uint64_t x40 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x33) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + ((uint64_t)x33 * x28)))))));
- uint64_t x41 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))));
- uint64_t x42 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x33) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + ((uint64_t)x33 * x24)))))))));
- uint64_t x43 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x33) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + ((uint64_t)x33 * x22))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20)))))))))));
- uint64_t x45 = ((((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)))))))) + (0x11 * (((uint64_t)x18 * x33) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + ((uint64_t)x33 * x18))))))))))));
- uint64_t x46 = ((((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))))))) + (0x11 * (((uint64_t)x16 * x33) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + ((uint64_t)x33 * x16)))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x33) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + ((uint64_t)x33 * x14))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x33) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + ((uint64_t)x33 * x12)))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x33) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + ((uint64_t)x33 * x10))))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x33) + (((uint64_t)x10 * x34) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + (((uint64_t)x34 * x10) + ((uint64_t)x33 * x8)))))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x33) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + ((uint64_t)x33 * x6))))))))))))))))));
- uint64_t x52 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x33) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + ((uint64_t)x33 * x4)))))))))))))))))));
- uint64_t x53 = (x52 >> 0x1a);
- uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x51);
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x50);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x49);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x48);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x47);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x46);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x45);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x44);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x43);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x42);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x41);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x40);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x39);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x38);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x37);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x36);
- uint64_t x101 = (x100 >> 0x1a);
- uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- uint64_t x103 = (x101 + x35);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x54 + (0x11 * x104));
- uint32_t x107 = (uint32_t) (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint32_t x109 = (x107 + x57);
- uint32_t x110 = (x109 >> 0x1a);
- uint32_t x111 = (x109 & 0x3ffffff);
- return (Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, (x110 + x60), Return x111, Return x108))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.v
deleted file mode 100644
index 16d02e529..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fesub.c b/src/Specific/solinas32_2e468m17_18limbs/fesub.c
deleted file mode 100644
index 033df9f0f..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0x7ffffde + x5) - x39);
- out[1] = ((0x7fffffe + x7) - x41);
- out[2] = ((0x7fffffe + x9) - x43);
- out[3] = ((0x7fffffe + x11) - x45);
- out[4] = ((0x7fffffe + x13) - x47);
- out[5] = ((0x7fffffe + x15) - x49);
- out[6] = ((0x7fffffe + x17) - x51);
- out[7] = ((0x7fffffe + x19) - x53);
- out[8] = ((0x7fffffe + x21) - x55);
- out[9] = ((0x7fffffe + x23) - x57);
- out[10] = ((0x7fffffe + x25) - x59);
- out[11] = ((0x7fffffe + x27) - x61);
- out[12] = ((0x7fffffe + x29) - x63);
- out[13] = ((0x7fffffe + x31) - x65);
- out[14] = ((0x7fffffe + x33) - x67);
- out[15] = ((0x7fffffe + x35) - x69);
- out[16] = ((0x7fffffe + x37) - x71);
- out[17] = ((0x7fffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fesub.v b/src/Specific/solinas32_2e468m17_18limbs/fesub.v
deleted file mode 100644
index 96acd5162..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.log
deleted file mode 100644
index 0224e108e..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x7fffffe + x36) - x70), ((0x7fffffe + x37) - x71), ((0x7fffffe + x35) - x69), ((0x7fffffe + x33) - x67), ((0x7fffffe + x31) - x65), ((0x7fffffe + x29) - x63), ((0x7fffffe + x27) - x61), ((0x7fffffe + x25) - x59), ((0x7fffffe + x23) - x57), ((0x7fffffe + x21) - x55), ((0x7fffffe + x19) - x53), ((0x7fffffe + x17) - x51), ((0x7fffffe + x15) - x49), ((0x7fffffe + x13) - x47), ((0x7fffffe + x11) - x45), ((0x7fffffe + x9) - x43), ((0x7fffffe + x7) - x41), ((0x7ffffde + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.v
deleted file mode 100644
index d7987792e..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e468m17_18limbs/freeze.c b/src/Specific/solinas32_2e468m17_18limbs/freeze.c
deleted file mode 100644
index 625fba05e..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x3ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x3ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x3ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x3ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x3ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x3ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x3ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x3ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3ffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x3ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x3ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x3ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x3ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x3ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x3ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x3ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x3ffffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x3ffffef);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x3ffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x3ffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x3ffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x3ffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x3ffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x3ffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x3ffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x3ffffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x3ffffff);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x3ffffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x3ffffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x3ffffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x3ffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x3ffffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x3ffffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x3ffffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x3ffffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_18limbs/freeze.v b/src/Specific/solinas32_2e468m17_18limbs/freeze.v
deleted file mode 100644
index 3778b7a9c..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.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_2e468m17_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.log
deleted file mode 100644
index b2480f2df..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x3ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x3ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x3ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x3ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x3ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x3ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x3ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x3ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x3ffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x3ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x3ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x3ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x3ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x3ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x3ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x3ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x3ffffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x3ffffef);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x3ffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x3ffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x3ffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x3ffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x3ffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x3ffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x3ffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x3ffffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x3ffffff);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x3ffffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x3ffffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x3ffffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x3ffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x3ffffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x3ffffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x3ffffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x3ffffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.v
deleted file mode 100644
index 3a39951e9..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e468m17_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e468m17_18limbs/py_interpreter.sh
deleted file mode 100755
index f551f9bed..000000000
--- a/src/Specific/solinas32_2e468m17_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**468 - 17' -Dmodulus_bytes='26' -Da24='121665'
diff --git a/src/Specific/solinas32_2e468m17_19limbs/CurveParameters.v b/src/Specific/solinas32_2e468m17_19limbs/CurveParameters.v
deleted file mode 100644
index e45e0b6a8..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^468 - 17
-Base: 24 + 12/19
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 19%nat;
- base := 24 + 12/19;
- bitwidth := 32;
- s := 2^468;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 19); [0; 1]]%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_2e468m17_19limbs/Synthesis.v b/src/Specific/solinas32_2e468m17_19limbs/Synthesis.v
deleted file mode 100644
index ad55dee34..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/compiler.sh b/src/Specific/solinas32_2e468m17_19limbs/compiler.sh
deleted file mode 100755
index 81f276f93..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,25,24,25,25,24,25,24,25,25,24,25,25,24,25,24}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas32_2e468m17_19limbs/compilerxx.sh b/src/Specific/solinas32_2e468m17_19limbs/compilerxx.sh
deleted file mode 100755
index 15bad2349..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,24,25,25,24,25,25,24,25,24,25,25,24,25,25,24,25,24}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas32_2e468m17_19limbs/feadd.c b/src/Specific/solinas32_2e468m17_19limbs/feadd.c
deleted file mode 100644
index 7432e2ef1..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/feadd.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void feadd(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = (x5 + x41);
- out[1] = (x7 + x43);
- out[2] = (x9 + x45);
- out[3] = (x11 + x47);
- out[4] = (x13 + x49);
- out[5] = (x15 + x51);
- out[6] = (x17 + x53);
- out[7] = (x19 + x55);
- out[8] = (x21 + x57);
- out[9] = (x23 + x59);
- out[10] = (x25 + x61);
- out[11] = (x27 + x63);
- out[12] = (x29 + x65);
- out[13] = (x31 + x67);
- out[14] = (x33 + x69);
- out[15] = (x35 + x71);
- out[16] = (x37 + x73);
- out[17] = (x39 + x75);
- out[18] = (x38 + x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_19limbs/feadd.v b/src/Specific/solinas32_2e468m17_19limbs/feadd.v
deleted file mode 100644
index a27c79f2a..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/feaddDisplay.log b/src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.log
deleted file mode 100644
index 76a71b356..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- ((x38 + x74), (x39 + x75), (x37 + x73), (x35 + x71), (x33 + x69), (x31 + x67), (x29 + x65), (x27 + x63), (x25 + x61), (x23 + x59), (x21 + x57), (x19 + x55), (x17 + x53), (x15 + x51), (x13 + x49), (x11 + x47), (x9 + x45), (x7 + x43), (x5 + x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.v b/src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.v
deleted file mode 100644
index f7d6bbc6d..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fecarry.v b/src/Specific/solinas32_2e468m17_19limbs/fecarry.v
deleted file mode 100644
index c7b28119b..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/fecarryDisplay.v b/src/Specific/solinas32_2e468m17_19limbs/fecarryDisplay.v
deleted file mode 100644
index aa7decfaa..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e468m17_19limbs/femul.c b/src/Specific/solinas32_2e468m17_19limbs/femul.c
deleted file mode 100644
index 91ddcff49..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/femul.c
+++ /dev/null
@@ -1,141 +0,0 @@
-static void femul(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- { uint64_t x76 = (((uint64_t)x5 * x74) + (((uint64_t)x7 * x75) + ((0x2 * ((uint64_t)x9 * x73)) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + (((uint64_t)x33 * x49) + (((uint64_t)x35 * x47) + ((0x2 * ((uint64_t)x37 * x45)) + (((uint64_t)x39 * x43) + ((uint64_t)x38 * x41)))))))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x75) + ((0x2 * ((uint64_t)x7 * x73)) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((0x2 * ((uint64_t)x35 * x45)) + ((0x2 * ((uint64_t)x37 * x43)) + ((uint64_t)x39 * x41)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x38 * x74))));
- { uint64_t x78 = ((((uint64_t)x5 * x73) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + ((uint64_t)x37 * x41))))))))))))))))) + (0x11 * (((uint64_t)x39 * x74) + ((uint64_t)x38 * x75))));
- { uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + ((0x2 * ((uint64_t)x9 * x67)) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x37 * x74)) + (((uint64_t)x39 * x75) + (0x2 * ((uint64_t)x38 * x73))))));
- { uint64_t x80 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((uint64_t)x33 * x41))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x35 * x74)) + ((0x2 * ((uint64_t)x37 * x75)) + ((0x2 * ((uint64_t)x39 * x73)) + (0x2 * ((uint64_t)x38 * x71)))))));
- { uint64_t x81 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x31 * x41)))))))))))))) + (0x11 * (((uint64_t)x33 * x74) + (((uint64_t)x35 * x75) + ((0x2 * ((uint64_t)x37 * x73)) + (((uint64_t)x39 * x71) + ((uint64_t)x38 * x69)))))));
- { uint64_t x82 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((uint64_t)x29 * x41))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x74)) + (((uint64_t)x33 * x75) + ((0x2 * ((uint64_t)x35 * x73)) + ((0x2 * ((uint64_t)x37 * x71)) + (((uint64_t)x39 * x69) + (0x2 * ((uint64_t)x38 * x67)))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((uint64_t)x27 * x41)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x74)) + ((0x2 * ((uint64_t)x31 * x75)) + ((0x2 * ((uint64_t)x33 * x73)) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + ((0x2 * ((uint64_t)x39 * x67)) + (0x2 * ((uint64_t)x38 * x65))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((uint64_t)x25 * x41))))))))))) + (0x11 * (((uint64_t)x27 * x74) + (((uint64_t)x29 * x75) + ((0x2 * ((uint64_t)x31 * x73)) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (((uint64_t)x39 * x65) + ((uint64_t)x38 * x63))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((uint64_t)x23 * x41)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x74)) + (((uint64_t)x27 * x75) + ((0x2 * ((uint64_t)x29 * x73)) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + (((uint64_t)x39 * x63) + (0x2 * ((uint64_t)x38 * x61))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((uint64_t)x21 * x41))))))))) + (0x11 * (((uint64_t)x23 * x74) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + ((uint64_t)x38 * x59))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x74)) + (((uint64_t)x23 * x75) + ((0x2 * ((uint64_t)x25 * x73)) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (((uint64_t)x39 * x59) + (0x2 * ((uint64_t)x38 * x57))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((uint64_t)x17 * x41))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x74)) + ((0x2 * ((uint64_t)x21 * x75)) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((0x2 * ((uint64_t)x39 * x57)) + (0x2 * ((uint64_t)x38 * x55)))))))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (0x11 * (((uint64_t)x17 * x74) + (((uint64_t)x19 * x75) + ((0x2 * ((uint64_t)x21 * x73)) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((uint64_t)x38 * x53)))))))))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((uint64_t)x13 * x41))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x74)) + (((uint64_t)x17 * x75) + ((0x2 * ((uint64_t)x19 * x73)) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + (((uint64_t)x39 * x53) + (0x2 * ((uint64_t)x38 * x51)))))))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((uint64_t)x11 * x41)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x74)) + ((0x2 * ((uint64_t)x15 * x75)) + ((0x2 * ((uint64_t)x17 * x73)) + ((0x2 * ((uint64_t)x19 * x71)) + ((0x2 * ((uint64_t)x21 * x69)) + ((0x2 * ((uint64_t)x23 * x67)) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + ((0x2 * ((uint64_t)x35 * x55)) + ((0x2 * ((uint64_t)x37 * x53)) + ((0x2 * ((uint64_t)x39 * x51)) + (0x2 * ((uint64_t)x38 * x49))))))))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((uint64_t)x9 * x41))) + (0x11 * (((uint64_t)x11 * x74) + (((uint64_t)x13 * x75) + ((0x2 * ((uint64_t)x15 * x73)) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((0x2 * ((uint64_t)x37 * x51)) + (((uint64_t)x39 * x49) + ((uint64_t)x38 * x47))))))))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) + (0x11 * ((0x2 * ((uint64_t)x9 * x74)) + (((uint64_t)x11 * x75) + ((0x2 * ((uint64_t)x13 * x73)) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + (0x2 * ((uint64_t)x38 * x45))))))))))))))))))));
- { uint64_t x94 = (((uint64_t)x5 * x41) + (0x11 * ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43)))))))))))))))))))));
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x93);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x92);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x91);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x104 + x90);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x107 + x89);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x88);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x113 + x87);
- { uint64_t x116 = (x115 >> 0x19);
- { uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- { uint64_t x118 = (x116 + x86);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x85);
- { uint64_t x122 = (x121 >> 0x19);
- { uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- { uint64_t x124 = (x122 + x84);
- { uint64_t x125 = (x124 >> 0x18);
- { uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- { uint64_t x127 = (x125 + x83);
- { uint64_t x128 = (x127 >> 0x19);
- { uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- { uint64_t x130 = (x128 + x82);
- { uint64_t x131 = (x130 >> 0x19);
- { uint32_t x132 = ((uint32_t)x130 & 0x1ffffff);
- { uint64_t x133 = (x131 + x81);
- { uint64_t x134 = (x133 >> 0x18);
- { uint32_t x135 = ((uint32_t)x133 & 0xffffff);
- { uint64_t x136 = (x134 + x80);
- { uint64_t x137 = (x136 >> 0x19);
- { uint32_t x138 = ((uint32_t)x136 & 0x1ffffff);
- { uint64_t x139 = (x137 + x79);
- { uint64_t x140 = (x139 >> 0x19);
- { uint32_t x141 = ((uint32_t)x139 & 0x1ffffff);
- { uint64_t x142 = (x140 + x78);
- { uint64_t x143 = (x142 >> 0x18);
- { uint32_t x144 = ((uint32_t)x142 & 0xffffff);
- { uint64_t x145 = (x143 + x77);
- { uint64_t x146 = (x145 >> 0x19);
- { uint32_t x147 = ((uint32_t)x145 & 0x1ffffff);
- { uint64_t x148 = (x146 + x76);
- { uint64_t x149 = (x148 >> 0x18);
- { uint32_t x150 = ((uint32_t)x148 & 0xffffff);
- { uint64_t x151 = (x96 + (0x11 * x149));
- { uint32_t x152 = (uint32_t) (x151 >> 0x19);
- { uint32_t x153 = ((uint32_t)x151 & 0x1ffffff);
- { uint32_t x154 = (x152 + x99);
- { uint32_t x155 = (x154 >> 0x19);
- { uint32_t x156 = (x154 & 0x1ffffff);
- out[0] = x153;
- out[1] = x156;
- out[2] = (x155 + x102);
- out[3] = x105;
- out[4] = x108;
- out[5] = x111;
- out[6] = x114;
- out[7] = x117;
- out[8] = x120;
- out[9] = x123;
- out[10] = x126;
- out[11] = x129;
- out[12] = x132;
- out[13] = x135;
- out[14] = x138;
- out[15] = x141;
- out[16] = x144;
- out[17] = x147;
- out[18] = x150;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_19limbs/femul.v b/src/Specific/solinas32_2e468m17_19limbs/femul.v
deleted file mode 100644
index 9f6fa710e..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/femulDisplay.log b/src/Specific/solinas32_2e468m17_19limbs/femulDisplay.log
deleted file mode 100644
index 83dc83bae..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/femulDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- uint64_t x76 = (((uint64_t)x5 * x74) + (((uint64_t)x7 * x75) + ((0x2 * ((uint64_t)x9 * x73)) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + (((uint64_t)x33 * x49) + (((uint64_t)x35 * x47) + ((0x2 * ((uint64_t)x37 * x45)) + (((uint64_t)x39 * x43) + ((uint64_t)x38 * x41)))))))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x75) + ((0x2 * ((uint64_t)x7 * x73)) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((0x2 * ((uint64_t)x35 * x45)) + ((0x2 * ((uint64_t)x37 * x43)) + ((uint64_t)x39 * x41)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x38 * x74))));
- uint64_t x78 = ((((uint64_t)x5 * x73) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + (((uint64_t)x35 * x43) + ((uint64_t)x37 * x41))))))))))))))))) + (0x11 * (((uint64_t)x39 * x74) + ((uint64_t)x38 * x75))));
- uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + ((0x2 * ((uint64_t)x9 * x67)) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x37 * x74)) + (((uint64_t)x39 * x75) + (0x2 * ((uint64_t)x38 * x73))))));
- uint64_t x80 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((uint64_t)x33 * x41))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x35 * x74)) + ((0x2 * ((uint64_t)x37 * x75)) + ((0x2 * ((uint64_t)x39 * x73)) + (0x2 * ((uint64_t)x38 * x71)))))));
- uint64_t x81 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x31 * x41)))))))))))))) + (0x11 * (((uint64_t)x33 * x74) + (((uint64_t)x35 * x75) + ((0x2 * ((uint64_t)x37 * x73)) + (((uint64_t)x39 * x71) + ((uint64_t)x38 * x69)))))));
- uint64_t x82 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + ((0x2 * ((uint64_t)x25 * x45)) + (((uint64_t)x27 * x43) + ((uint64_t)x29 * x41))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x74)) + (((uint64_t)x33 * x75) + ((0x2 * ((uint64_t)x35 * x73)) + ((0x2 * ((uint64_t)x37 * x71)) + (((uint64_t)x39 * x69) + (0x2 * ((uint64_t)x38 * x67)))))))));
- uint64_t x83 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + ((uint64_t)x27 * x41)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x74)) + ((0x2 * ((uint64_t)x31 * x75)) + ((0x2 * ((uint64_t)x33 * x73)) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + ((0x2 * ((uint64_t)x39 * x67)) + (0x2 * ((uint64_t)x38 * x65))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + (((uint64_t)x23 * x43) + ((uint64_t)x25 * x41))))))))))) + (0x11 * (((uint64_t)x27 * x74) + (((uint64_t)x29 * x75) + ((0x2 * ((uint64_t)x31 * x73)) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (((uint64_t)x39 * x65) + ((uint64_t)x38 * x63))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((uint64_t)x23 * x41)))))))))) + (0x11 * ((0x2 * ((uint64_t)x25 * x74)) + (((uint64_t)x27 * x75) + ((0x2 * ((uint64_t)x29 * x73)) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + (((uint64_t)x39 * x63) + (0x2 * ((uint64_t)x38 * x61))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((uint64_t)x21 * x41))))))))) + (0x11 * (((uint64_t)x23 * x74) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + ((uint64_t)x38 * x59))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((0x2 * ((uint64_t)x9 * x51)) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x74)) + (((uint64_t)x23 * x75) + ((0x2 * ((uint64_t)x25 * x73)) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (((uint64_t)x39 * x59) + (0x2 * ((uint64_t)x38 * x57))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((0x2 * ((uint64_t)x13 * x45)) + ((0x2 * ((uint64_t)x15 * x43)) + ((uint64_t)x17 * x41))))))) + (0x11 * ((0x2 * ((uint64_t)x19 * x74)) + ((0x2 * ((uint64_t)x21 * x75)) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((0x2 * ((uint64_t)x39 * x57)) + (0x2 * ((uint64_t)x38 * x55)))))))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (0x11 * (((uint64_t)x17 * x74) + (((uint64_t)x19 * x75) + ((0x2 * ((uint64_t)x21 * x73)) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((uint64_t)x38 * x53)))))))))))))));
- uint64_t x90 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + ((uint64_t)x13 * x41))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x74)) + (((uint64_t)x17 * x75) + ((0x2 * ((uint64_t)x19 * x73)) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + (((uint64_t)x39 * x53) + (0x2 * ((uint64_t)x38 * x51)))))))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((uint64_t)x11 * x41)))) + (0x11 * ((0x2 * ((uint64_t)x13 * x74)) + ((0x2 * ((uint64_t)x15 * x75)) + ((0x2 * ((uint64_t)x17 * x73)) + ((0x2 * ((uint64_t)x19 * x71)) + ((0x2 * ((uint64_t)x21 * x69)) + ((0x2 * ((uint64_t)x23 * x67)) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + ((0x2 * ((uint64_t)x31 * x59)) + ((0x2 * ((uint64_t)x33 * x57)) + ((0x2 * ((uint64_t)x35 * x55)) + ((0x2 * ((uint64_t)x37 * x53)) + ((0x2 * ((uint64_t)x39 * x51)) + (0x2 * ((uint64_t)x38 * x49))))))))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((uint64_t)x9 * x41))) + (0x11 * (((uint64_t)x11 * x74) + (((uint64_t)x13 * x75) + ((0x2 * ((uint64_t)x15 * x73)) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + ((0x2 * ((uint64_t)x37 * x51)) + (((uint64_t)x39 * x49) + ((uint64_t)x38 * x47))))))))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) + (0x11 * ((0x2 * ((uint64_t)x9 * x74)) + (((uint64_t)x11 * x75) + ((0x2 * ((uint64_t)x13 * x73)) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + (0x2 * ((uint64_t)x38 * x45))))))))))))))))))));
- uint64_t x94 = (((uint64_t)x5 * x41) + (0x11 * ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43)))))))))))))))))))));
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x93);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x92);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x91);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x104 + x90);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x89);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x88);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x113 + x87);
- uint64_t x116 = (x115 >> 0x19);
- uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- uint64_t x118 = (x116 + x86);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x85);
- uint64_t x122 = (x121 >> 0x19);
- uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- uint64_t x124 = (x122 + x84);
- uint64_t x125 = (x124 >> 0x18);
- uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- uint64_t x127 = (x125 + x83);
- uint64_t x128 = (x127 >> 0x19);
- uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- uint64_t x130 = (x128 + x82);
- uint64_t x131 = (x130 >> 0x19);
- uint32_t x132 = ((uint32_t)x130 & 0x1ffffff);
- uint64_t x133 = (x131 + x81);
- uint64_t x134 = (x133 >> 0x18);
- uint32_t x135 = ((uint32_t)x133 & 0xffffff);
- uint64_t x136 = (x134 + x80);
- uint64_t x137 = (x136 >> 0x19);
- uint32_t x138 = ((uint32_t)x136 & 0x1ffffff);
- uint64_t x139 = (x137 + x79);
- uint64_t x140 = (x139 >> 0x19);
- uint32_t x141 = ((uint32_t)x139 & 0x1ffffff);
- uint64_t x142 = (x140 + x78);
- uint64_t x143 = (x142 >> 0x18);
- uint32_t x144 = ((uint32_t)x142 & 0xffffff);
- uint64_t x145 = (x143 + x77);
- uint64_t x146 = (x145 >> 0x19);
- uint32_t x147 = ((uint32_t)x145 & 0x1ffffff);
- uint64_t x148 = (x146 + x76);
- uint64_t x149 = (x148 >> 0x18);
- uint32_t x150 = ((uint32_t)x148 & 0xffffff);
- uint64_t x151 = (x96 + (0x11 * x149));
- uint32_t x152 = (uint32_t) (x151 >> 0x19);
- uint32_t x153 = ((uint32_t)x151 & 0x1ffffff);
- uint32_t x154 = (x152 + x99);
- uint32_t x155 = (x154 >> 0x19);
- uint32_t x156 = (x154 & 0x1ffffff);
- return (Return x150, Return x147, Return x144, Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, (x155 + x102), Return x156, Return x153))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_19limbs/femulDisplay.v b/src/Specific/solinas32_2e468m17_19limbs/femulDisplay.v
deleted file mode 100644
index 7ad7c42be..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fesquare.c b/src/Specific/solinas32_2e468m17_19limbs/fesquare.c
deleted file mode 100644
index 89a40e6c8..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesquare.c
+++ /dev/null
@@ -1,122 +0,0 @@
-static void fesquare(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x37 = (((uint64_t)x2 * x35) + (((uint64_t)x4 * x36) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (((uint64_t)x36 * x4) + ((uint64_t)x35 * x2)))))))))))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x35 * x35))));
- { uint64_t x39 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * (((uint64_t)x36 * x35) + ((uint64_t)x35 * x36))));
- { uint64_t x40 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x34 * x35)) + (((uint64_t)x36 * x36) + (0x2 * ((uint64_t)x35 * x34))))));
- { uint64_t x41 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x32 * x35)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + (0x2 * ((uint64_t)x35 * x32)))))));
- { uint64_t x42 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x35) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + ((uint64_t)x35 * x30)))))));
- { uint64_t x43 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x35)) + (((uint64_t)x30 * x36) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + (((uint64_t)x36 * x30) + (0x2 * ((uint64_t)x35 * x28)))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x35)) + ((0x2 * ((uint64_t)x28 * x36)) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + ((0x2 * ((uint64_t)x36 * x28)) + (0x2 * ((uint64_t)x35 * x26))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x35) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + ((uint64_t)x35 * x24))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x35)) + (((uint64_t)x24 * x36) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + (((uint64_t)x36 * x24) + (0x2 * ((uint64_t)x35 * x22))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x35) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + ((uint64_t)x35 * x20))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x35)) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (0x2 * ((uint64_t)x35 * x18))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x35)) + ((0x2 * ((uint64_t)x18 * x36)) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + (((uint64_t)x24 * x30) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (((uint64_t)x30 * x24) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + ((0x2 * ((uint64_t)x36 * x18)) + (0x2 * ((uint64_t)x35 * x16)))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x35) + (((uint64_t)x16 * x36) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (((uint64_t)x36 * x16) + ((uint64_t)x35 * x14)))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x35)) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + (0x2 * ((uint64_t)x35 * x12)))))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x35)) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + (0x2 * ((uint64_t)x35 * x10))))))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x35) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + ((uint64_t)x35 * x8))))))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x35)) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + (0x2 * ((uint64_t)x35 * x6))))))))))))))))))));
- { uint64_t x55 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4)))))))))))))))))))));
- { uint64_t x56 = (x55 >> 0x19);
- { uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- { uint64_t x58 = (x56 + x54);
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x53);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x52);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x51);
- { uint64_t x68 = (x67 >> 0x19);
- { uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- { uint64_t x70 = (x68 + x50);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x49);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x48);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x47);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x46);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x45);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x44);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x43);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x42);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x41);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x40);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x39);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x38);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x107 + x37);
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x57 + (0x11 * x110));
- { uint32_t x113 = (uint32_t) (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint32_t x115 = (x113 + x60);
- { uint32_t x116 = (x115 >> 0x19);
- { uint32_t x117 = (x115 & 0x1ffffff);
- out[0] = x114;
- out[1] = x117;
- out[2] = (x116 + x63);
- out[3] = x66;
- out[4] = x69;
- out[5] = x72;
- out[6] = x75;
- out[7] = x78;
- out[8] = x81;
- out[9] = x84;
- out[10] = x87;
- out[11] = x90;
- out[12] = x93;
- out[13] = x96;
- out[14] = x99;
- out[15] = x102;
- out[16] = x105;
- out[17] = x108;
- out[18] = x111;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fesquare.v b/src/Specific/solinas32_2e468m17_19limbs/fesquare.v
deleted file mode 100644
index ec9f2c37e..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/fesquareDisplay.log b/src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.log
deleted file mode 100644
index 110f01e41..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x37 = (((uint64_t)x2 * x35) + (((uint64_t)x4 * x36) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (((uint64_t)x36 * x4) + ((uint64_t)x35 * x2)))))))))))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x35 * x35))));
- uint64_t x39 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * (((uint64_t)x36 * x35) + ((uint64_t)x35 * x36))));
- uint64_t x40 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x34 * x35)) + (((uint64_t)x36 * x36) + (0x2 * ((uint64_t)x35 * x34))))));
- uint64_t x41 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x32 * x35)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + (0x2 * ((uint64_t)x35 * x32)))))));
- uint64_t x42 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x35) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + ((uint64_t)x35 * x30)))))));
- uint64_t x43 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x35)) + (((uint64_t)x30 * x36) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + (((uint64_t)x36 * x30) + (0x2 * ((uint64_t)x35 * x28)))))))));
- uint64_t x44 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x35)) + ((0x2 * ((uint64_t)x28 * x36)) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + ((0x2 * ((uint64_t)x36 * x28)) + (0x2 * ((uint64_t)x35 * x26))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x35) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + ((uint64_t)x35 * x24))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x11 * ((0x2 * ((uint64_t)x22 * x35)) + (((uint64_t)x24 * x36) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + (((uint64_t)x36 * x24) + (0x2 * ((uint64_t)x35 * x22))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x35) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + ((uint64_t)x35 * x20))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x35)) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (0x2 * ((uint64_t)x35 * x18))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint64_t)x16 * x35)) + ((0x2 * ((uint64_t)x18 * x36)) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + (((uint64_t)x24 * x30) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (((uint64_t)x30 * x24) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + ((0x2 * ((uint64_t)x36 * x18)) + (0x2 * ((uint64_t)x35 * x16)))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x35) + (((uint64_t)x16 * x36) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (((uint64_t)x36 * x16) + ((uint64_t)x35 * x14)))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x35)) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + (0x2 * ((uint64_t)x35 * x12)))))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint64_t)x10 * x35)) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + (0x2 * ((uint64_t)x35 * x10))))))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x35) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + ((uint64_t)x35 * x8))))))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x35)) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + (0x2 * ((uint64_t)x35 * x6))))))))))))))))))));
- uint64_t x55 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4)))))))))))))))))))));
- uint64_t x56 = (x55 >> 0x19);
- uint32_t x57 = ((uint32_t)x55 & 0x1ffffff);
- uint64_t x58 = (x56 + x54);
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x53);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x52);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x51);
- uint64_t x68 = (x67 >> 0x19);
- uint32_t x69 = ((uint32_t)x67 & 0x1ffffff);
- uint64_t x70 = (x68 + x50);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x49);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x48);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x47);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x46);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x45);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x44);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x43);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x42);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x41);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x40);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x39);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x38);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x37);
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x57 + (0x11 * x110));
- uint32_t x113 = (uint32_t) (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint32_t x115 = (x113 + x60);
- uint32_t x116 = (x115 >> 0x19);
- uint32_t x117 = (x115 & 0x1ffffff);
- return (Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, (x116 + x63), Return x117, Return x114))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.v b/src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.v
deleted file mode 100644
index 13aa93c57..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fesub.c b/src/Specific/solinas32_2e468m17_19limbs/fesub.c
deleted file mode 100644
index 716f62fd9..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesub.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void fesub(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = ((0x3ffffde + x5) - x41);
- out[1] = ((0x3fffffe + x7) - x43);
- out[2] = ((0x1fffffe + x9) - x45);
- out[3] = ((0x3fffffe + x11) - x47);
- out[4] = ((0x3fffffe + x13) - x49);
- out[5] = ((0x1fffffe + x15) - x51);
- out[6] = ((0x3fffffe + x17) - x53);
- out[7] = ((0x3fffffe + x19) - x55);
- out[8] = ((0x1fffffe + x21) - x57);
- out[9] = ((0x3fffffe + x23) - x59);
- out[10] = ((0x1fffffe + x25) - x61);
- out[11] = ((0x3fffffe + x27) - x63);
- out[12] = ((0x3fffffe + x29) - x65);
- out[13] = ((0x1fffffe + x31) - x67);
- out[14] = ((0x3fffffe + x33) - x69);
- out[15] = ((0x3fffffe + x35) - x71);
- out[16] = ((0x1fffffe + x37) - x73);
- out[17] = ((0x3fffffe + x39) - x75);
- out[18] = ((0x1fffffe + x38) - x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fesub.v b/src/Specific/solinas32_2e468m17_19limbs/fesub.v
deleted file mode 100644
index 3a515d44c..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/fesubDisplay.log b/src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.log
deleted file mode 100644
index 24e35ba8f..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- (((0x1fffffe + x38) - x74), ((0x3fffffe + x39) - x75), ((0x1fffffe + x37) - x73), ((0x3fffffe + x35) - x71), ((0x3fffffe + x33) - x69), ((0x1fffffe + x31) - x67), ((0x3fffffe + x29) - x65), ((0x3fffffe + x27) - x63), ((0x1fffffe + x25) - x61), ((0x3fffffe + x23) - x59), ((0x1fffffe + x21) - x57), ((0x3fffffe + x19) - x55), ((0x3fffffe + x17) - x53), ((0x1fffffe + x15) - x51), ((0x3fffffe + x13) - x49), ((0x3fffffe + x11) - x47), ((0x1fffffe + x9) - x45), ((0x3fffffe + x7) - x43), ((0x3ffffde + x5) - x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.v b/src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.v
deleted file mode 100644
index ca0803865..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e468m17_19limbs/freeze.c b/src/Specific/solinas32_2e468m17_19limbs/freeze.c
deleted file mode 100644
index 3a728a145..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/freeze.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void freeze(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x1ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x6, 0xffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x1ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0xffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0x1ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0xffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x1ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0x1ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x1ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0xffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x1ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x1ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0xffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x1ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0xffffff);
- { uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- { uint32_t x95 = (x94 & 0x1ffffef);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- { uint32_t x99 = (x94 & 0x1ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- { uint32_t x103 = (x94 & 0xffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- { uint32_t x107 = (x94 & 0x1ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- { uint32_t x111 = (x94 & 0x1ffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- { uint32_t x115 = (x94 & 0xffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- { uint32_t x119 = (x94 & 0x1ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- { uint32_t x123 = (x94 & 0x1ffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- { uint32_t x127 = (x94 & 0xffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- { uint32_t x131 = (x94 & 0x1ffffff);
- { uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- { uint32_t x135 = (x94 & 0xffffff);
- { uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- { uint32_t x139 = (x94 & 0x1ffffff);
- { uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- { uint32_t x143 = (x94 & 0x1ffffff);
- { uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- { uint32_t x147 = (x94 & 0xffffff);
- { uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- { uint32_t x151 = (x94 & 0x1ffffff);
- { uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- { uint32_t x155 = (x94 & 0x1ffffff);
- { uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- { uint32_t x159 = (x94 & 0xffffff);
- { uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- { uint32_t x163 = (x94 & 0x1ffffff);
- { uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- { uint32_t x167 = (x94 & 0xffffff);
- { uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- out[0] = x97;
- out[1] = x101;
- out[2] = x105;
- out[3] = x109;
- out[4] = x113;
- out[5] = x117;
- out[6] = x121;
- out[7] = x125;
- out[8] = x129;
- out[9] = x133;
- out[10] = x137;
- out[11] = x141;
- out[12] = x145;
- out[13] = x149;
- out[14] = x153;
- out[15] = x157;
- out[16] = x161;
- out[17] = x165;
- out[18] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e468m17_19limbs/freeze.v b/src/Specific/solinas32_2e468m17_19limbs/freeze.v
deleted file mode 100644
index fb4f849ed..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.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_2e468m17_19limbs/freezeDisplay.log b/src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.log
deleted file mode 100644
index a5f3c7bba..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.log
+++ /dev/null
@@ -1,65 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x1ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x6, 0xffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x1ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0xffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0x1ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0xffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x1ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0x1ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x1ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0xffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x1ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x1ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0xffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x1ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0xffffff);
- uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- uint32_t x95 = (x94 & 0x1ffffef);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- uint32_t x99 = (x94 & 0x1ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- uint32_t x103 = (x94 & 0xffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- uint32_t x107 = (x94 & 0x1ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- uint32_t x111 = (x94 & 0x1ffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- uint32_t x115 = (x94 & 0xffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- uint32_t x119 = (x94 & 0x1ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- uint32_t x123 = (x94 & 0x1ffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- uint32_t x127 = (x94 & 0xffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- uint32_t x131 = (x94 & 0x1ffffff);
- uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- uint32_t x135 = (x94 & 0xffffff);
- uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- uint32_t x139 = (x94 & 0x1ffffff);
- uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- uint32_t x143 = (x94 & 0x1ffffff);
- uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- uint32_t x147 = (x94 & 0xffffff);
- uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- uint32_t x151 = (x94 & 0x1ffffff);
- uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- uint32_t x155 = (x94 & 0x1ffffff);
- uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- uint32_t x159 = (x94 & 0xffffff);
- uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- uint32_t x163 = (x94 & 0x1ffffff);
- uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- uint32_t x167 = (x94 & 0xffffff);
- uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- (Return x169, Return x165, Return x161, Return x157, Return x153, Return x149, Return x145, Return x141, Return x137, Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.v b/src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.v
deleted file mode 100644
index 887dc0d20..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e468m17_19limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e468m17_19limbs/py_interpreter.sh b/src/Specific/solinas32_2e468m17_19limbs/py_interpreter.sh
deleted file mode 100755
index 40894c774..000000000
--- a/src/Specific/solinas32_2e468m17_19limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**468 - 17' -Dmodulus_bytes='24 + 12/19' -Da24='121665'
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/CurveParameters.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/CurveParameters.v
deleted file mode 100644
index a3c18bc6a..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^480 - 2^240 - 1
-Base: 26 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 18%nat;
- base := 26 + 2/3;
- bitwidth := 32;
- s := 2^480;
- c := [(1, 1); (2^240, 1)];
- carry_chains := Some [[8; 17]; [9; 0; 10; 1; 11; 2; 12; 3; 13; 4; 14; 5; 15; 6; 16; 7; 17; 8]; [9; 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_2e480m2e240m1_18limbs/Synthesis.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/Synthesis.v
deleted file mode 100644
index 34431311e..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/compiler.sh b/src/Specific/solinas32_2e480m2e240m1_18limbs/compiler.sh
deleted file mode 100755
index 8c5cdb550..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,27,26,27,27,26,27,27,26,27,27,26}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/compilerxx.sh b/src/Specific/solinas32_2e480m2e240m1_18limbs/compilerxx.sh
deleted file mode 100755
index 09009b252..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,27,26,27,27,26,27,27,26,27,27,26,27,27,26,27,27,26}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='18' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.c b/src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.c
deleted file mode 100644
index 7b8380410..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void feadd(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = (x5 + x39);
- out[1] = (x7 + x41);
- out[2] = (x9 + x43);
- out[3] = (x11 + x45);
- out[4] = (x13 + x47);
- out[5] = (x15 + x49);
- out[6] = (x17 + x51);
- out[7] = (x19 + x53);
- out[8] = (x21 + x55);
- out[9] = (x23 + x57);
- out[10] = (x25 + x59);
- out[11] = (x27 + x61);
- out[12] = (x29 + x63);
- out[13] = (x31 + x65);
- out[14] = (x33 + x67);
- out[15] = (x35 + x69);
- out[16] = (x37 + x71);
- out[17] = (x36 + x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.v
deleted file mode 100644
index c6104511c..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/feaddDisplay.log b/src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.log
deleted file mode 100644
index 5e9c243f4..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- ((x36 + x70), (x37 + x71), (x35 + x69), (x33 + x67), (x31 + x65), (x29 + x63), (x27 + x61), (x25 + x59), (x23 + x57), (x21 + x55), (x19 + x53), (x17 + x51), (x15 + x49), (x13 + x47), (x11 + x45), (x9 + x43), (x7 + x41), (x5 + x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.v
deleted file mode 100644
index 5be19f5a9..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fecarry.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/fecarry.v
deleted file mode 100644
index 4a9c8b9c5..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/fecarryDisplay.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/fecarryDisplay.v
deleted file mode 100644
index 0a7e80af2..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/femul.c b/src/Specific/solinas32_2e480m2e240m1_18limbs/femul.c
deleted file mode 100644
index 9ac9e2e54..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/femul.c
+++ /dev/null
@@ -1,161 +0,0 @@
-static void femul(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- { uint64_t x72 = ((0x2 * ((uint64_t)(x21 + x36) * (x55 + x70))) - (0x2 * ((uint64_t)x21 * x55)));
- { uint64_t x73 = (((0x2 * ((uint64_t)(x19 + x37) * (x55 + x70))) + (0x2 * ((uint64_t)(x21 + x36) * (x53 + x71)))) - ((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))));
- { uint64_t x74 = ((((uint64_t)(x17 + x35) * (x55 + x70)) + (((uint64_t)(x19 + x37) * (x53 + x71)) + ((uint64_t)(x21 + x36) * (x51 + x69)))) - (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))));
- { uint64_t x75 = (((0x2 * ((uint64_t)(x15 + x33) * (x55 + x70))) + (((uint64_t)(x17 + x35) * (x53 + x71)) + (((uint64_t)(x19 + x37) * (x51 + x69)) + (0x2 * ((uint64_t)(x21 + x36) * (x49 + x67)))))) - ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (0x2 * ((uint64_t)x21 * x49))))));
- { uint64_t x76 = (((0x2 * ((uint64_t)(x13 + x31) * (x55 + x70))) + ((0x2 * ((uint64_t)(x15 + x33) * (x53 + x71))) + (((uint64_t)(x17 + x35) * (x51 + x69)) + ((0x2 * ((uint64_t)(x19 + x37) * (x49 + x67))) + (0x2 * ((uint64_t)(x21 + x36) * (x47 + x65))))))) - ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))));
- { uint64_t x77 = ((((uint64_t)(x11 + x29) * (x55 + x70)) + (((uint64_t)(x13 + x31) * (x53 + x71)) + (((uint64_t)(x15 + x33) * (x51 + x69)) + (((uint64_t)(x17 + x35) * (x49 + x67)) + (((uint64_t)(x19 + x37) * (x47 + x65)) + ((uint64_t)(x21 + x36) * (x45 + x63))))))) - (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))));
- { uint64_t x78 = (((0x2 * ((uint64_t)(x9 + x27) * (x55 + x70))) + (((uint64_t)(x11 + x29) * (x53 + x71)) + (((uint64_t)(x13 + x31) * (x51 + x69)) + ((0x2 * ((uint64_t)(x15 + x33) * (x49 + x67))) + (((uint64_t)(x17 + x35) * (x47 + x65)) + (((uint64_t)(x19 + x37) * (x45 + x63)) + (0x2 * ((uint64_t)(x21 + x36) * (x43 + x61))))))))) - ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (0x2 * ((uint64_t)x21 * x43)))))))));
- { uint64_t x79 = (((0x2 * ((uint64_t)(x7 + x25) * (x55 + x70))) + ((0x2 * ((uint64_t)(x9 + x27) * (x53 + x71))) + (((uint64_t)(x11 + x29) * (x51 + x69)) + ((0x2 * ((uint64_t)(x13 + x31) * (x49 + x67))) + ((0x2 * ((uint64_t)(x15 + x33) * (x47 + x65))) + (((uint64_t)(x17 + x35) * (x45 + x63)) + ((0x2 * ((uint64_t)(x19 + x37) * (x43 + x61))) + (0x2 * ((uint64_t)(x21 + x36) * (x41 + x59)))))))))) - ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))));
- { uint64_t x80 = ((((uint64_t)(x5 + x23) * (x55 + x70)) + (((uint64_t)(x7 + x25) * (x53 + x71)) + (((uint64_t)(x9 + x27) * (x51 + x69)) + (((uint64_t)(x11 + x29) * (x49 + x67)) + (((uint64_t)(x13 + x31) * (x47 + x65)) + (((uint64_t)(x15 + x33) * (x45 + x63)) + (((uint64_t)(x17 + x35) * (x43 + x61)) + (((uint64_t)(x19 + x37) * (x41 + x59)) + ((uint64_t)(x21 + x36) * (x39 + x57)))))))))) - (((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))));
- { uint64_t x81 = ((((uint64_t)(x5 + x23) * (x53 + x71)) + (((uint64_t)(x7 + x25) * (x51 + x69)) + ((0x2 * ((uint64_t)(x9 + x27) * (x49 + x67))) + (((uint64_t)(x11 + x29) * (x47 + x65)) + (((uint64_t)(x13 + x31) * (x45 + x63)) + ((0x2 * ((uint64_t)(x15 + x33) * (x43 + x61))) + (((uint64_t)(x17 + x35) * (x41 + x59)) + ((uint64_t)(x19 + x37) * (x39 + x57))))))))) - (((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))));
- { uint64_t x82 = ((((uint64_t)(x5 + x23) * (x51 + x69)) + ((0x2 * ((uint64_t)(x7 + x25) * (x49 + x67))) + ((0x2 * ((uint64_t)(x9 + x27) * (x47 + x65))) + (((uint64_t)(x11 + x29) * (x45 + x63)) + ((0x2 * ((uint64_t)(x13 + x31) * (x43 + x61))) + ((0x2 * ((uint64_t)(x15 + x33) * (x41 + x59))) + ((uint64_t)(x17 + x35) * (x39 + x57)))))))) - (((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))));
- { uint64_t x83 = ((((uint64_t)(x5 + x23) * (x49 + x67)) + (((uint64_t)(x7 + x25) * (x47 + x65)) + (((uint64_t)(x9 + x27) * (x45 + x63)) + (((uint64_t)(x11 + x29) * (x43 + x61)) + (((uint64_t)(x13 + x31) * (x41 + x59)) + ((uint64_t)(x15 + x33) * (x39 + x57))))))) - (((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 x84 = ((((uint64_t)(x5 + x23) * (x47 + x65)) + (((uint64_t)(x7 + x25) * (x45 + x63)) + ((0x2 * ((uint64_t)(x9 + x27) * (x43 + x61))) + (((uint64_t)(x11 + x29) * (x41 + x59)) + ((uint64_t)(x13 + x31) * (x39 + x57)))))) - (((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))));
- { uint64_t x85 = ((((uint64_t)(x5 + x23) * (x45 + x63)) + ((0x2 * ((uint64_t)(x7 + x25) * (x43 + x61))) + ((0x2 * ((uint64_t)(x9 + x27) * (x41 + x59))) + ((uint64_t)(x11 + x29) * (x39 + x57))))) - (((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))));
- { uint64_t x86 = ((((uint64_t)(x5 + x23) * (x43 + x61)) + (((uint64_t)(x7 + x25) * (x41 + x59)) + ((uint64_t)(x9 + x27) * (x39 + x57)))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))));
- { uint64_t x87 = ((((uint64_t)(x5 + x23) * (x41 + x59)) + ((uint64_t)(x7 + x25) * (x39 + x57))) - (((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)));
- { uint64_t x88 = (((uint64_t)(x5 + x23) * (x39 + x57)) - ((uint64_t)x5 * x39));
- { uint64_t x89 = ((((0x2 * ((uint64_t)x21 * x55)) + (0x2 * ((uint64_t)x36 * x70))) + x81) + x72);
- { uint64_t x90 = (((((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))) + ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))) + x82) + x73);
- { uint64_t x91 = ((((((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))) + (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))) + x83) + x74);
- { uint64_t x92 = (((((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (0x2 * ((uint64_t)x21 * x49))))) + ((0x2 * ((uint64_t)x33 * x70)) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (0x2 * ((uint64_t)x36 * x67)))))) + x84) + x75);
- { uint64_t x93 = (((((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))) + ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))) + x85) + x76);
- { uint64_t x94 = ((((((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))) + (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))) + x86) + x77);
- { uint64_t x95 = (((((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (0x2 * ((uint64_t)x21 * x43)))))))) + ((0x2 * ((uint64_t)x27 * x70)) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (0x2 * ((uint64_t)x36 * x61))))))))) + x87) + x78);
- { uint64_t x96 = (((((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))) + ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))) + x88) + x79);
- { uint64_t x97 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57))))))))));
- { uint64_t x98 = (((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x37 * x57))))))))) + x72);
- { uint64_t x99 = (((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((uint64_t)x35 * x57)))))))) + x73);
- { uint64_t x100 = (((((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)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((uint64_t)x33 * x57))))))) + x74);
- { uint64_t x101 = (((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((uint64_t)x31 * x57)))))) + x75);
- { uint64_t x102 = (((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((uint64_t)x29 * x57))))) + x76);
- { uint64_t x103 = (((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + ((uint64_t)x27 * x57)))) + x77);
- { uint64_t x104 = (((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (((uint64_t)x23 * x59) + ((uint64_t)x25 * x57))) + x78);
- { uint64_t x105 = ((((uint64_t)x5 * x39) + ((uint64_t)x23 * x57)) + x79);
- { uint64_t x106 = (x97 >> 0x1a);
- { uint32_t x107 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x108 = (x80 >> 0x1a);
- { uint32_t x109 = ((uint32_t)x80 & 0x3ffffff);
- { uint64_t x110 = ((0x4000000 * x108) + x109);
- { uint64_t x111 = (x110 >> 0x1a);
- { uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- { uint64_t x113 = ((x106 + x96) + x111);
- { uint64_t x114 = (x113 >> 0x1b);
- { uint32_t x115 = ((uint32_t)x113 & 0x7ffffff);
- { uint64_t x116 = (x105 + x111);
- { uint64_t x117 = (x116 >> 0x1b);
- { uint32_t x118 = ((uint32_t)x116 & 0x7ffffff);
- { uint64_t x119 = (x114 + x95);
- { uint64_t x120 = (x119 >> 0x1b);
- { uint32_t x121 = ((uint32_t)x119 & 0x7ffffff);
- { uint64_t x122 = (x117 + x104);
- { uint64_t x123 = (x122 >> 0x1b);
- { uint32_t x124 = ((uint32_t)x122 & 0x7ffffff);
- { uint64_t x125 = (x120 + x94);
- { uint64_t x126 = (x125 >> 0x1a);
- { uint32_t x127 = ((uint32_t)x125 & 0x3ffffff);
- { uint64_t x128 = (x123 + x103);
- { uint64_t x129 = (x128 >> 0x1a);
- { uint32_t x130 = ((uint32_t)x128 & 0x3ffffff);
- { uint64_t x131 = (x126 + x93);
- { uint64_t x132 = (x131 >> 0x1b);
- { uint32_t x133 = ((uint32_t)x131 & 0x7ffffff);
- { uint64_t x134 = (x129 + x102);
- { uint64_t x135 = (x134 >> 0x1b);
- { uint32_t x136 = ((uint32_t)x134 & 0x7ffffff);
- { uint64_t x137 = (x132 + x92);
- { uint64_t x138 = (x137 >> 0x1b);
- { uint32_t x139 = ((uint32_t)x137 & 0x7ffffff);
- { uint64_t x140 = (x135 + x101);
- { uint64_t x141 = (x140 >> 0x1b);
- { uint32_t x142 = ((uint32_t)x140 & 0x7ffffff);
- { uint64_t x143 = (x138 + x91);
- { uint64_t x144 = (x143 >> 0x1a);
- { uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- { uint64_t x146 = (x141 + x100);
- { uint64_t x147 = (x146 >> 0x1a);
- { uint32_t x148 = ((uint32_t)x146 & 0x3ffffff);
- { uint64_t x149 = (x144 + x90);
- { uint64_t x150 = (x149 >> 0x1b);
- { uint32_t x151 = ((uint32_t)x149 & 0x7ffffff);
- { uint64_t x152 = (x147 + x99);
- { uint64_t x153 = (x152 >> 0x1b);
- { uint32_t x154 = ((uint32_t)x152 & 0x7ffffff);
- { uint64_t x155 = (x150 + x89);
- { uint64_t x156 = (x155 >> 0x1b);
- { uint32_t x157 = ((uint32_t)x155 & 0x7ffffff);
- { uint64_t x158 = (x153 + x98);
- { uint64_t x159 = (x158 >> 0x1b);
- { uint32_t x160 = ((uint32_t)x158 & 0x7ffffff);
- { uint64_t x161 = (x156 + x112);
- { uint32_t x162 = (uint32_t) (x161 >> 0x1a);
- { uint32_t x163 = ((uint32_t)x161 & 0x3ffffff);
- { uint64_t x164 = (x159 + x107);
- { uint32_t x165 = (uint32_t) (x164 >> 0x1a);
- { uint32_t x166 = ((uint32_t)x164 & 0x3ffffff);
- { uint64_t x167 = (((uint64_t)0x4000000 * x162) + x163);
- { uint32_t x168 = (uint32_t) (x167 >> 0x1a);
- { uint32_t x169 = ((uint32_t)x167 & 0x3ffffff);
- { uint32_t x170 = ((x165 + x115) + x168);
- { uint32_t x171 = (x170 >> 0x1b);
- { uint32_t x172 = (x170 & 0x7ffffff);
- { uint32_t x173 = (x118 + x168);
- { uint32_t x174 = (x173 >> 0x1b);
- { uint32_t x175 = (x173 & 0x7ffffff);
- out[0] = x175;
- out[1] = (x174 + x124);
- out[2] = x130;
- out[3] = x136;
- out[4] = x142;
- out[5] = x148;
- out[6] = x154;
- out[7] = x160;
- out[8] = x166;
- out[9] = x172;
- out[10] = (x171 + x121);
- out[11] = x127;
- out[12] = x133;
- out[13] = x139;
- out[14] = x145;
- out[15] = x151;
- out[16] = x157;
- out[17] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/femul.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/femul.v
deleted file mode 100644
index cf5f738e4..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/femulDisplay.log b/src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.log
deleted file mode 100644
index eeb06a53a..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- uint64_t x72 = ((0x2 * ((uint64_t)(x21 + x36) * (x55 + x70))) - (0x2 * ((uint64_t)x21 * x55)));
- uint64_t x73 = (((0x2 * ((uint64_t)(x19 + x37) * (x55 + x70))) + (0x2 * ((uint64_t)(x21 + x36) * (x53 + x71)))) - ((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))));
- uint64_t x74 = ((((uint64_t)(x17 + x35) * (x55 + x70)) + (((uint64_t)(x19 + x37) * (x53 + x71)) + ((uint64_t)(x21 + x36) * (x51 + x69)))) - (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))));
- uint64_t x75 = (((0x2 * ((uint64_t)(x15 + x33) * (x55 + x70))) + (((uint64_t)(x17 + x35) * (x53 + x71)) + (((uint64_t)(x19 + x37) * (x51 + x69)) + (0x2 * ((uint64_t)(x21 + x36) * (x49 + x67)))))) - ((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (0x2 * ((uint64_t)x21 * x49))))));
- uint64_t x76 = (((0x2 * ((uint64_t)(x13 + x31) * (x55 + x70))) + ((0x2 * ((uint64_t)(x15 + x33) * (x53 + x71))) + (((uint64_t)(x17 + x35) * (x51 + x69)) + ((0x2 * ((uint64_t)(x19 + x37) * (x49 + x67))) + (0x2 * ((uint64_t)(x21 + x36) * (x47 + x65))))))) - ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))));
- uint64_t x77 = ((((uint64_t)(x11 + x29) * (x55 + x70)) + (((uint64_t)(x13 + x31) * (x53 + x71)) + (((uint64_t)(x15 + x33) * (x51 + x69)) + (((uint64_t)(x17 + x35) * (x49 + x67)) + (((uint64_t)(x19 + x37) * (x47 + x65)) + ((uint64_t)(x21 + x36) * (x45 + x63))))))) - (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))));
- uint64_t x78 = (((0x2 * ((uint64_t)(x9 + x27) * (x55 + x70))) + (((uint64_t)(x11 + x29) * (x53 + x71)) + (((uint64_t)(x13 + x31) * (x51 + x69)) + ((0x2 * ((uint64_t)(x15 + x33) * (x49 + x67))) + (((uint64_t)(x17 + x35) * (x47 + x65)) + (((uint64_t)(x19 + x37) * (x45 + x63)) + (0x2 * ((uint64_t)(x21 + x36) * (x43 + x61))))))))) - ((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (0x2 * ((uint64_t)x21 * x43)))))))));
- uint64_t x79 = (((0x2 * ((uint64_t)(x7 + x25) * (x55 + x70))) + ((0x2 * ((uint64_t)(x9 + x27) * (x53 + x71))) + (((uint64_t)(x11 + x29) * (x51 + x69)) + ((0x2 * ((uint64_t)(x13 + x31) * (x49 + x67))) + ((0x2 * ((uint64_t)(x15 + x33) * (x47 + x65))) + (((uint64_t)(x17 + x35) * (x45 + x63)) + ((0x2 * ((uint64_t)(x19 + x37) * (x43 + x61))) + (0x2 * ((uint64_t)(x21 + x36) * (x41 + x59)))))))))) - ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))));
- uint64_t x80 = ((((uint64_t)(x5 + x23) * (x55 + x70)) + (((uint64_t)(x7 + x25) * (x53 + x71)) + (((uint64_t)(x9 + x27) * (x51 + x69)) + (((uint64_t)(x11 + x29) * (x49 + x67)) + (((uint64_t)(x13 + x31) * (x47 + x65)) + (((uint64_t)(x15 + x33) * (x45 + x63)) + (((uint64_t)(x17 + x35) * (x43 + x61)) + (((uint64_t)(x19 + x37) * (x41 + x59)) + ((uint64_t)(x21 + x36) * (x39 + x57)))))))))) - (((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))));
- uint64_t x81 = ((((uint64_t)(x5 + x23) * (x53 + x71)) + (((uint64_t)(x7 + x25) * (x51 + x69)) + ((0x2 * ((uint64_t)(x9 + x27) * (x49 + x67))) + (((uint64_t)(x11 + x29) * (x47 + x65)) + (((uint64_t)(x13 + x31) * (x45 + x63)) + ((0x2 * ((uint64_t)(x15 + x33) * (x43 + x61))) + (((uint64_t)(x17 + x35) * (x41 + x59)) + ((uint64_t)(x19 + x37) * (x39 + x57))))))))) - (((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))));
- uint64_t x82 = ((((uint64_t)(x5 + x23) * (x51 + x69)) + ((0x2 * ((uint64_t)(x7 + x25) * (x49 + x67))) + ((0x2 * ((uint64_t)(x9 + x27) * (x47 + x65))) + (((uint64_t)(x11 + x29) * (x45 + x63)) + ((0x2 * ((uint64_t)(x13 + x31) * (x43 + x61))) + ((0x2 * ((uint64_t)(x15 + x33) * (x41 + x59))) + ((uint64_t)(x17 + x35) * (x39 + x57)))))))) - (((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))));
- uint64_t x83 = ((((uint64_t)(x5 + x23) * (x49 + x67)) + (((uint64_t)(x7 + x25) * (x47 + x65)) + (((uint64_t)(x9 + x27) * (x45 + x63)) + (((uint64_t)(x11 + x29) * (x43 + x61)) + (((uint64_t)(x13 + x31) * (x41 + x59)) + ((uint64_t)(x15 + x33) * (x39 + x57))))))) - (((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 x84 = ((((uint64_t)(x5 + x23) * (x47 + x65)) + (((uint64_t)(x7 + x25) * (x45 + x63)) + ((0x2 * ((uint64_t)(x9 + x27) * (x43 + x61))) + (((uint64_t)(x11 + x29) * (x41 + x59)) + ((uint64_t)(x13 + x31) * (x39 + x57)))))) - (((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))));
- uint64_t x85 = ((((uint64_t)(x5 + x23) * (x45 + x63)) + ((0x2 * ((uint64_t)(x7 + x25) * (x43 + x61))) + ((0x2 * ((uint64_t)(x9 + x27) * (x41 + x59))) + ((uint64_t)(x11 + x29) * (x39 + x57))))) - (((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))));
- uint64_t x86 = ((((uint64_t)(x5 + x23) * (x43 + x61)) + (((uint64_t)(x7 + x25) * (x41 + x59)) + ((uint64_t)(x9 + x27) * (x39 + x57)))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))));
- uint64_t x87 = ((((uint64_t)(x5 + x23) * (x41 + x59)) + ((uint64_t)(x7 + x25) * (x39 + x57))) - (((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)));
- uint64_t x88 = (((uint64_t)(x5 + x23) * (x39 + x57)) - ((uint64_t)x5 * x39));
- uint64_t x89 = ((((0x2 * ((uint64_t)x21 * x55)) + (0x2 * ((uint64_t)x36 * x70))) + x81) + x72);
- uint64_t x90 = (((((0x2 * ((uint64_t)x19 * x55)) + (0x2 * ((uint64_t)x21 * x53))) + ((0x2 * ((uint64_t)x37 * x70)) + (0x2 * ((uint64_t)x36 * x71)))) + x82) + x73);
- uint64_t x91 = ((((((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((uint64_t)x21 * x51))) + (((uint64_t)x35 * x70) + (((uint64_t)x37 * x71) + ((uint64_t)x36 * x69)))) + x83) + x74);
- uint64_t x92 = (((((0x2 * ((uint64_t)x15 * x55)) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (0x2 * ((uint64_t)x21 * x49))))) + ((0x2 * ((uint64_t)x33 * x70)) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (0x2 * ((uint64_t)x36 * x67)))))) + x84) + x75);
- uint64_t x93 = (((((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (0x2 * ((uint64_t)x21 * x47)))))) + ((0x2 * ((uint64_t)x31 * x70)) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (0x2 * ((uint64_t)x36 * x65))))))) + x85) + x76);
- uint64_t x94 = ((((((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45)))))) + (((uint64_t)x29 * x70) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + ((uint64_t)x36 * x63))))))) + x86) + x77);
- uint64_t x95 = (((((0x2 * ((uint64_t)x9 * x55)) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (0x2 * ((uint64_t)x21 * x43)))))))) + ((0x2 * ((uint64_t)x27 * x70)) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (0x2 * ((uint64_t)x36 * x61))))))))) + x87) + x78);
- uint64_t x96 = (((((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + (0x2 * ((uint64_t)x21 * x41))))))))) + ((0x2 * ((uint64_t)x25 * x70)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (0x2 * ((uint64_t)x36 * x59)))))))))) + x88) + x79);
- uint64_t x97 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + ((uint64_t)x21 * x39))))))))) + (((uint64_t)x23 * x70) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + ((uint64_t)x36 * x57))))))))));
- uint64_t x98 = (((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + (((uint64_t)x17 * x41) + ((uint64_t)x19 * x39)))))))) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((uint64_t)x37 * x57))))))))) + x72);
- uint64_t x99 = (((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + ((uint64_t)x17 * x39))))))) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((uint64_t)x35 * x57)))))))) + x73);
- uint64_t x100 = (((((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)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((uint64_t)x33 * x57))))))) + x74);
- uint64_t x101 = (((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((0x2 * ((uint64_t)x9 * x43)) + (((uint64_t)x11 * x41) + ((uint64_t)x13 * x39))))) + (((uint64_t)x23 * x65) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((uint64_t)x31 * x57)))))) + x75);
- uint64_t x102 = (((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + ((uint64_t)x11 * x39)))) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((uint64_t)x29 * x57))))) + x76);
- uint64_t x103 = (((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + ((uint64_t)x9 * x39))) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + ((uint64_t)x27 * x57)))) + x77);
- uint64_t x104 = (((((uint64_t)x5 * x41) + ((uint64_t)x7 * x39)) + (((uint64_t)x23 * x59) + ((uint64_t)x25 * x57))) + x78);
- uint64_t x105 = ((((uint64_t)x5 * x39) + ((uint64_t)x23 * x57)) + x79);
- uint64_t x106 = (x97 >> 0x1a);
- uint32_t x107 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x108 = (x80 >> 0x1a);
- uint32_t x109 = ((uint32_t)x80 & 0x3ffffff);
- uint64_t x110 = ((0x4000000 * x108) + x109);
- uint64_t x111 = (x110 >> 0x1a);
- uint32_t x112 = ((uint32_t)x110 & 0x3ffffff);
- uint64_t x113 = ((x106 + x96) + x111);
- uint64_t x114 = (x113 >> 0x1b);
- uint32_t x115 = ((uint32_t)x113 & 0x7ffffff);
- uint64_t x116 = (x105 + x111);
- uint64_t x117 = (x116 >> 0x1b);
- uint32_t x118 = ((uint32_t)x116 & 0x7ffffff);
- uint64_t x119 = (x114 + x95);
- uint64_t x120 = (x119 >> 0x1b);
- uint32_t x121 = ((uint32_t)x119 & 0x7ffffff);
- uint64_t x122 = (x117 + x104);
- uint64_t x123 = (x122 >> 0x1b);
- uint32_t x124 = ((uint32_t)x122 & 0x7ffffff);
- uint64_t x125 = (x120 + x94);
- uint64_t x126 = (x125 >> 0x1a);
- uint32_t x127 = ((uint32_t)x125 & 0x3ffffff);
- uint64_t x128 = (x123 + x103);
- uint64_t x129 = (x128 >> 0x1a);
- uint32_t x130 = ((uint32_t)x128 & 0x3ffffff);
- uint64_t x131 = (x126 + x93);
- uint64_t x132 = (x131 >> 0x1b);
- uint32_t x133 = ((uint32_t)x131 & 0x7ffffff);
- uint64_t x134 = (x129 + x102);
- uint64_t x135 = (x134 >> 0x1b);
- uint32_t x136 = ((uint32_t)x134 & 0x7ffffff);
- uint64_t x137 = (x132 + x92);
- uint64_t x138 = (x137 >> 0x1b);
- uint32_t x139 = ((uint32_t)x137 & 0x7ffffff);
- uint64_t x140 = (x135 + x101);
- uint64_t x141 = (x140 >> 0x1b);
- uint32_t x142 = ((uint32_t)x140 & 0x7ffffff);
- uint64_t x143 = (x138 + x91);
- uint64_t x144 = (x143 >> 0x1a);
- uint32_t x145 = ((uint32_t)x143 & 0x3ffffff);
- uint64_t x146 = (x141 + x100);
- uint64_t x147 = (x146 >> 0x1a);
- uint32_t x148 = ((uint32_t)x146 & 0x3ffffff);
- uint64_t x149 = (x144 + x90);
- uint64_t x150 = (x149 >> 0x1b);
- uint32_t x151 = ((uint32_t)x149 & 0x7ffffff);
- uint64_t x152 = (x147 + x99);
- uint64_t x153 = (x152 >> 0x1b);
- uint32_t x154 = ((uint32_t)x152 & 0x7ffffff);
- uint64_t x155 = (x150 + x89);
- uint64_t x156 = (x155 >> 0x1b);
- uint32_t x157 = ((uint32_t)x155 & 0x7ffffff);
- uint64_t x158 = (x153 + x98);
- uint64_t x159 = (x158 >> 0x1b);
- uint32_t x160 = ((uint32_t)x158 & 0x7ffffff);
- uint64_t x161 = (x156 + x112);
- uint32_t x162 = (uint32_t) (x161 >> 0x1a);
- uint32_t x163 = ((uint32_t)x161 & 0x3ffffff);
- uint64_t x164 = (x159 + x107);
- uint32_t x165 = (uint32_t) (x164 >> 0x1a);
- uint32_t x166 = ((uint32_t)x164 & 0x3ffffff);
- uint64_t x167 = (((uint64_t)0x4000000 * x162) + x163);
- uint32_t x168 = (uint32_t) (x167 >> 0x1a);
- uint32_t x169 = ((uint32_t)x167 & 0x3ffffff);
- uint32_t x170 = ((x165 + x115) + x168);
- uint32_t x171 = (x170 >> 0x1b);
- uint32_t x172 = (x170 & 0x7ffffff);
- uint32_t x173 = (x118 + x168);
- uint32_t x174 = (x173 >> 0x1b);
- uint32_t x175 = (x173 & 0x7ffffff);
- return (Return x169, Return x157, Return x151, Return x145, Return x139, Return x133, Return x127, (x171 + x121), Return x172, Return x166, Return x160, Return x154, Return x148, Return x142, Return x136, Return x130, (x174 + x124), Return x175))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.v
deleted file mode 100644
index 1123aa1c8..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.c b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.c
deleted file mode 100644
index 30feb9ffd..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.c
+++ /dev/null
@@ -1,143 +0,0 @@
-static void fesquare(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x35 = ((0x2 * ((uint64_t)(x18 + x33) * (x18 + x33))) - (0x2 * ((uint64_t)x18 * x18)));
- { uint64_t x36 = (((0x2 * ((uint64_t)(x16 + x34) * (x18 + x33))) + (0x2 * ((uint64_t)(x18 + x33) * (x16 + x34)))) - ((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))));
- { uint64_t x37 = ((((uint64_t)(x14 + x32) * (x18 + x33)) + (((uint64_t)(x16 + x34) * (x16 + x34)) + ((uint64_t)(x18 + x33) * (x14 + x32)))) - (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))));
- { uint64_t x38 = (((0x2 * ((uint64_t)(x12 + x30) * (x18 + x33))) + (((uint64_t)(x14 + x32) * (x16 + x34)) + (((uint64_t)(x16 + x34) * (x14 + x32)) + (0x2 * ((uint64_t)(x18 + x33) * (x12 + x30)))))) - ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x18 * x12))))));
- { uint64_t x39 = (((0x2 * ((uint64_t)(x10 + x28) * (x18 + x33))) + ((0x2 * ((uint64_t)(x12 + x30) * (x16 + x34))) + (((uint64_t)(x14 + x32) * (x14 + x32)) + ((0x2 * ((uint64_t)(x16 + x34) * (x12 + x30))) + (0x2 * ((uint64_t)(x18 + x33) * (x10 + x28))))))) - ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))));
- { uint64_t x40 = ((((uint64_t)(x8 + x26) * (x18 + x33)) + (((uint64_t)(x10 + x28) * (x16 + x34)) + (((uint64_t)(x12 + x30) * (x14 + x32)) + (((uint64_t)(x14 + x32) * (x12 + x30)) + (((uint64_t)(x16 + x34) * (x10 + x28)) + ((uint64_t)(x18 + x33) * (x8 + x26))))))) - (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))));
- { uint64_t x41 = (((0x2 * ((uint64_t)(x6 + x24) * (x18 + x33))) + (((uint64_t)(x8 + x26) * (x16 + x34)) + (((uint64_t)(x10 + x28) * (x14 + x32)) + ((0x2 * ((uint64_t)(x12 + x30) * (x12 + x30))) + (((uint64_t)(x14 + x32) * (x10 + x28)) + (((uint64_t)(x16 + x34) * (x8 + x26)) + (0x2 * ((uint64_t)(x18 + x33) * (x6 + x24))))))))) - ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x18 * x6)))))))));
- { uint64_t x42 = (((0x2 * ((uint64_t)(x4 + x22) * (x18 + x33))) + ((0x2 * ((uint64_t)(x6 + x24) * (x16 + x34))) + (((uint64_t)(x8 + x26) * (x14 + x32)) + ((0x2 * ((uint64_t)(x10 + x28) * (x12 + x30))) + ((0x2 * ((uint64_t)(x12 + x30) * (x10 + x28))) + (((uint64_t)(x14 + x32) * (x8 + x26)) + ((0x2 * ((uint64_t)(x16 + x34) * (x6 + x24))) + (0x2 * ((uint64_t)(x18 + x33) * (x4 + x22)))))))))) - ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))));
- { uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + (((uint64_t)(x4 + x22) * (x16 + x34)) + (((uint64_t)(x6 + x24) * (x14 + x32)) + (((uint64_t)(x8 + x26) * (x12 + x30)) + (((uint64_t)(x10 + x28) * (x10 + x28)) + (((uint64_t)(x12 + x30) * (x8 + x26)) + (((uint64_t)(x14 + x32) * (x6 + x24)) + (((uint64_t)(x16 + x34) * (x4 + x22)) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- { uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + (((uint64_t)(x4 + x22) * (x14 + x32)) + ((0x2 * ((uint64_t)(x6 + x24) * (x12 + x30))) + (((uint64_t)(x8 + x26) * (x10 + x28)) + (((uint64_t)(x10 + x28) * (x8 + x26)) + ((0x2 * ((uint64_t)(x12 + x30) * (x6 + x24))) + (((uint64_t)(x14 + x32) * (x4 + x22)) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))));
- { uint64_t x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + ((0x2 * ((uint64_t)(x4 + x22) * (x12 + x30))) + ((0x2 * ((uint64_t)(x6 + x24) * (x10 + x28))) + (((uint64_t)(x8 + x26) * (x8 + x26)) + ((0x2 * ((uint64_t)(x10 + x28) * (x6 + x24))) + ((0x2 * ((uint64_t)(x12 + x30) * (x4 + x22))) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))));
- { uint64_t x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + (((uint64_t)(x4 + x22) * (x10 + x28)) + (((uint64_t)(x6 + x24) * (x8 + x26)) + (((uint64_t)(x8 + x26) * (x6 + x24)) + (((uint64_t)(x10 + x28) * (x4 + x22)) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((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 x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + (((uint64_t)(x4 + x22) * (x8 + x26)) + ((0x2 * ((uint64_t)(x6 + x24) * (x6 + x24))) + (((uint64_t)(x8 + x26) * (x4 + x22)) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + ((0x2 * ((uint64_t)(x4 + x22) * (x6 + x24))) + ((0x2 * ((uint64_t)(x6 + x24) * (x4 + x22))) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))));
- { uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + (((uint64_t)(x4 + x22) * (x4 + x22)) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- { uint64_t x52 = ((((0x2 * ((uint64_t)x18 * x18)) + (0x2 * ((uint64_t)x33 * x33))) + x44) + x35);
- { uint64_t x53 = (((((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))) + ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))) + x45) + x36);
- { uint64_t x54 = ((((((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))) + (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))) + x46) + x37);
- { uint64_t x55 = (((((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x18 * x12))))) + ((0x2 * ((uint64_t)x30 * x33)) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (0x2 * ((uint64_t)x33 * x30)))))) + x47) + x38);
- { uint64_t x56 = (((((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))) + ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))) + x48) + x39);
- { uint64_t x57 = ((((((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))) + (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))) + x49) + x40);
- { uint64_t x58 = (((((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x18 * x6)))))))) + ((0x2 * ((uint64_t)x24 * x33)) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (0x2 * ((uint64_t)x33 * x24))))))))) + x50) + x41);
- { uint64_t x59 = (((((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))) + ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))) + x51) + x42);
- { uint64_t x60 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20))))))))));
- { uint64_t x61 = (((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + ((uint64_t)x34 * x20))))))))) + x35);
- { uint64_t x62 = (((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((uint64_t)x32 * x20)))))))) + x36);
- { uint64_t x63 = (((((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)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x30 * x20))))))) + x37);
- { uint64_t x64 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((uint64_t)x28 * x20)))))) + x38);
- { uint64_t x65 = (((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((uint64_t)x26 * x20))))) + x39);
- { uint64_t x66 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + ((uint64_t)x24 * x20)))) + x40);
- { uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- { uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- { uint64_t x69 = (x60 >> 0x1a);
- { uint32_t x70 = ((uint32_t)x60 & 0x3ffffff);
- { uint64_t x71 = (x43 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x43 & 0x3ffffff);
- { uint64_t x73 = ((0x4000000 * x71) + x72);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = ((x69 + x59) + x74);
- { uint64_t x77 = (x76 >> 0x1b);
- { uint32_t x78 = ((uint32_t)x76 & 0x7ffffff);
- { uint64_t x79 = (x68 + x74);
- { uint64_t x80 = (x79 >> 0x1b);
- { uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- { uint64_t x82 = (x77 + x58);
- { uint64_t x83 = (x82 >> 0x1b);
- { uint32_t x84 = ((uint32_t)x82 & 0x7ffffff);
- { uint64_t x85 = (x80 + x67);
- { uint64_t x86 = (x85 >> 0x1b);
- { uint32_t x87 = ((uint32_t)x85 & 0x7ffffff);
- { uint64_t x88 = (x83 + x57);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x86 + x66);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x89 + x56);
- { uint64_t x95 = (x94 >> 0x1b);
- { uint32_t x96 = ((uint32_t)x94 & 0x7ffffff);
- { uint64_t x97 = (x92 + x65);
- { uint64_t x98 = (x97 >> 0x1b);
- { uint32_t x99 = ((uint32_t)x97 & 0x7ffffff);
- { uint64_t x100 = (x95 + x55);
- { uint64_t x101 = (x100 >> 0x1b);
- { uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- { uint64_t x103 = (x98 + x64);
- { uint64_t x104 = (x103 >> 0x1b);
- { uint32_t x105 = ((uint32_t)x103 & 0x7ffffff);
- { uint64_t x106 = (x101 + x54);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x104 + x63);
- { uint64_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- { uint64_t x112 = (x107 + x53);
- { uint64_t x113 = (x112 >> 0x1b);
- { uint32_t x114 = ((uint32_t)x112 & 0x7ffffff);
- { uint64_t x115 = (x110 + x62);
- { uint64_t x116 = (x115 >> 0x1b);
- { uint32_t x117 = ((uint32_t)x115 & 0x7ffffff);
- { uint64_t x118 = (x113 + x52);
- { uint64_t x119 = (x118 >> 0x1b);
- { uint32_t x120 = ((uint32_t)x118 & 0x7ffffff);
- { uint64_t x121 = (x116 + x61);
- { uint64_t x122 = (x121 >> 0x1b);
- { uint32_t x123 = ((uint32_t)x121 & 0x7ffffff);
- { uint64_t x124 = (x119 + x75);
- { uint32_t x125 = (uint32_t) (x124 >> 0x1a);
- { uint32_t x126 = ((uint32_t)x124 & 0x3ffffff);
- { uint64_t x127 = (x122 + x70);
- { uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- { uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- { uint64_t x130 = (((uint64_t)0x4000000 * x125) + x126);
- { uint32_t x131 = (uint32_t) (x130 >> 0x1a);
- { uint32_t x132 = ((uint32_t)x130 & 0x3ffffff);
- { uint32_t x133 = ((x128 + x78) + x131);
- { uint32_t x134 = (x133 >> 0x1b);
- { uint32_t x135 = (x133 & 0x7ffffff);
- { uint32_t x136 = (x81 + x131);
- { uint32_t x137 = (x136 >> 0x1b);
- { uint32_t x138 = (x136 & 0x7ffffff);
- out[0] = x138;
- out[1] = (x137 + x87);
- out[2] = x93;
- out[3] = x99;
- out[4] = x105;
- out[5] = x111;
- out[6] = x117;
- out[7] = x123;
- out[8] = x129;
- out[9] = x135;
- out[10] = (x134 + x84);
- out[11] = x90;
- out[12] = x96;
- out[13] = x102;
- out[14] = x108;
- out[15] = x114;
- out[16] = x120;
- out[17] = x132;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.v
deleted file mode 100644
index 3391371cd..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/fesquareDisplay.log b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.log
deleted file mode 100644
index 13f6edcfc..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,111 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x35 = ((0x2 * ((uint64_t)(x18 + x33) * (x18 + x33))) - (0x2 * ((uint64_t)x18 * x18)));
- uint64_t x36 = (((0x2 * ((uint64_t)(x16 + x34) * (x18 + x33))) + (0x2 * ((uint64_t)(x18 + x33) * (x16 + x34)))) - ((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))));
- uint64_t x37 = ((((uint64_t)(x14 + x32) * (x18 + x33)) + (((uint64_t)(x16 + x34) * (x16 + x34)) + ((uint64_t)(x18 + x33) * (x14 + x32)))) - (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))));
- uint64_t x38 = (((0x2 * ((uint64_t)(x12 + x30) * (x18 + x33))) + (((uint64_t)(x14 + x32) * (x16 + x34)) + (((uint64_t)(x16 + x34) * (x14 + x32)) + (0x2 * ((uint64_t)(x18 + x33) * (x12 + x30)))))) - ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x18 * x12))))));
- uint64_t x39 = (((0x2 * ((uint64_t)(x10 + x28) * (x18 + x33))) + ((0x2 * ((uint64_t)(x12 + x30) * (x16 + x34))) + (((uint64_t)(x14 + x32) * (x14 + x32)) + ((0x2 * ((uint64_t)(x16 + x34) * (x12 + x30))) + (0x2 * ((uint64_t)(x18 + x33) * (x10 + x28))))))) - ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))));
- uint64_t x40 = ((((uint64_t)(x8 + x26) * (x18 + x33)) + (((uint64_t)(x10 + x28) * (x16 + x34)) + (((uint64_t)(x12 + x30) * (x14 + x32)) + (((uint64_t)(x14 + x32) * (x12 + x30)) + (((uint64_t)(x16 + x34) * (x10 + x28)) + ((uint64_t)(x18 + x33) * (x8 + x26))))))) - (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))));
- uint64_t x41 = (((0x2 * ((uint64_t)(x6 + x24) * (x18 + x33))) + (((uint64_t)(x8 + x26) * (x16 + x34)) + (((uint64_t)(x10 + x28) * (x14 + x32)) + ((0x2 * ((uint64_t)(x12 + x30) * (x12 + x30))) + (((uint64_t)(x14 + x32) * (x10 + x28)) + (((uint64_t)(x16 + x34) * (x8 + x26)) + (0x2 * ((uint64_t)(x18 + x33) * (x6 + x24))))))))) - ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x18 * x6)))))))));
- uint64_t x42 = (((0x2 * ((uint64_t)(x4 + x22) * (x18 + x33))) + ((0x2 * ((uint64_t)(x6 + x24) * (x16 + x34))) + (((uint64_t)(x8 + x26) * (x14 + x32)) + ((0x2 * ((uint64_t)(x10 + x28) * (x12 + x30))) + ((0x2 * ((uint64_t)(x12 + x30) * (x10 + x28))) + (((uint64_t)(x14 + x32) * (x8 + x26)) + ((0x2 * ((uint64_t)(x16 + x34) * (x6 + x24))) + (0x2 * ((uint64_t)(x18 + x33) * (x4 + x22)))))))))) - ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))));
- uint64_t x43 = ((((uint64_t)(x2 + x20) * (x18 + x33)) + (((uint64_t)(x4 + x22) * (x16 + x34)) + (((uint64_t)(x6 + x24) * (x14 + x32)) + (((uint64_t)(x8 + x26) * (x12 + x30)) + (((uint64_t)(x10 + x28) * (x10 + x28)) + (((uint64_t)(x12 + x30) * (x8 + x26)) + (((uint64_t)(x14 + x32) * (x6 + x24)) + (((uint64_t)(x16 + x34) * (x4 + x22)) + ((uint64_t)(x18 + x33) * (x2 + x20)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- uint64_t x44 = ((((uint64_t)(x2 + x20) * (x16 + x34)) + (((uint64_t)(x4 + x22) * (x14 + x32)) + ((0x2 * ((uint64_t)(x6 + x24) * (x12 + x30))) + (((uint64_t)(x8 + x26) * (x10 + x28)) + (((uint64_t)(x10 + x28) * (x8 + x26)) + ((0x2 * ((uint64_t)(x12 + x30) * (x6 + x24))) + (((uint64_t)(x14 + x32) * (x4 + x22)) + ((uint64_t)(x16 + x34) * (x2 + x20))))))))) - (((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))));
- uint64_t x45 = ((((uint64_t)(x2 + x20) * (x14 + x32)) + ((0x2 * ((uint64_t)(x4 + x22) * (x12 + x30))) + ((0x2 * ((uint64_t)(x6 + x24) * (x10 + x28))) + (((uint64_t)(x8 + x26) * (x8 + x26)) + ((0x2 * ((uint64_t)(x10 + x28) * (x6 + x24))) + ((0x2 * ((uint64_t)(x12 + x30) * (x4 + x22))) + ((uint64_t)(x14 + x32) * (x2 + x20)))))))) - (((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))));
- uint64_t x46 = ((((uint64_t)(x2 + x20) * (x12 + x30)) + (((uint64_t)(x4 + x22) * (x10 + x28)) + (((uint64_t)(x6 + x24) * (x8 + x26)) + (((uint64_t)(x8 + x26) * (x6 + x24)) + (((uint64_t)(x10 + x28) * (x4 + x22)) + ((uint64_t)(x12 + x30) * (x2 + x20))))))) - (((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 x47 = ((((uint64_t)(x2 + x20) * (x10 + x28)) + (((uint64_t)(x4 + x22) * (x8 + x26)) + ((0x2 * ((uint64_t)(x6 + x24) * (x6 + x24))) + (((uint64_t)(x8 + x26) * (x4 + x22)) + ((uint64_t)(x10 + x28) * (x2 + x20)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x48 = ((((uint64_t)(x2 + x20) * (x8 + x26)) + ((0x2 * ((uint64_t)(x4 + x22) * (x6 + x24))) + ((0x2 * ((uint64_t)(x6 + x24) * (x4 + x22))) + ((uint64_t)(x8 + x26) * (x2 + x20))))) - (((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))));
- uint64_t x49 = ((((uint64_t)(x2 + x20) * (x6 + x24)) + (((uint64_t)(x4 + x22) * (x4 + x22)) + ((uint64_t)(x6 + x24) * (x2 + x20)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x50 = ((((uint64_t)(x2 + x20) * (x4 + x22)) + ((uint64_t)(x4 + x22) * (x2 + x20))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x51 = (((uint64_t)(x2 + x20) * (x2 + x20)) - ((uint64_t)x2 * x2));
- uint64_t x52 = ((((0x2 * ((uint64_t)x18 * x18)) + (0x2 * ((uint64_t)x33 * x33))) + x44) + x35);
- uint64_t x53 = (((((0x2 * ((uint64_t)x16 * x18)) + (0x2 * ((uint64_t)x18 * x16))) + ((0x2 * ((uint64_t)x34 * x33)) + (0x2 * ((uint64_t)x33 * x34)))) + x45) + x36);
- uint64_t x54 = ((((((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + ((uint64_t)x18 * x14))) + (((uint64_t)x32 * x33) + (((uint64_t)x34 * x34) + ((uint64_t)x33 * x32)))) + x46) + x37);
- uint64_t x55 = (((((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (0x2 * ((uint64_t)x18 * x12))))) + ((0x2 * ((uint64_t)x30 * x33)) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (0x2 * ((uint64_t)x33 * x30)))))) + x47) + x38);
- uint64_t x56 = (((((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (0x2 * ((uint64_t)x18 * x10)))))) + ((0x2 * ((uint64_t)x28 * x33)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (0x2 * ((uint64_t)x33 * x28))))))) + x48) + x39);
- uint64_t x57 = ((((((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((uint64_t)x18 * x8)))))) + (((uint64_t)x26 * x33) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((uint64_t)x33 * x26))))))) + x49) + x40);
- uint64_t x58 = (((((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (0x2 * ((uint64_t)x18 * x6)))))))) + ((0x2 * ((uint64_t)x24 * x33)) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (0x2 * ((uint64_t)x33 * x24))))))))) + x50) + x41);
- uint64_t x59 = (((((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + (0x2 * ((uint64_t)x18 * x4))))))))) + ((0x2 * ((uint64_t)x22 * x33)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (0x2 * ((uint64_t)x33 * x22)))))))))) + x51) + x42);
- uint64_t x60 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x20 * x33) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + ((uint64_t)x33 * x20))))))))));
- uint64_t x61 = (((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + ((uint64_t)x34 * x20))))))))) + x35);
- uint64_t x62 = (((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((uint64_t)x32 * x20)))))))) + x36);
- uint64_t x63 = (((((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)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x30 * x20))))))) + x37);
- uint64_t x64 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((uint64_t)x28 * x20)))))) + x38);
- uint64_t x65 = (((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((uint64_t)x26 * x20))))) + x39);
- uint64_t x66 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + ((uint64_t)x24 * x20)))) + x40);
- uint64_t x67 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x20 * x22) + ((uint64_t)x22 * x20))) + x41);
- uint64_t x68 = ((((uint64_t)x2 * x2) + ((uint64_t)x20 * x20)) + x42);
- uint64_t x69 = (x60 >> 0x1a);
- uint32_t x70 = ((uint32_t)x60 & 0x3ffffff);
- uint64_t x71 = (x43 >> 0x1a);
- uint32_t x72 = ((uint32_t)x43 & 0x3ffffff);
- uint64_t x73 = ((0x4000000 * x71) + x72);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = ((x69 + x59) + x74);
- uint64_t x77 = (x76 >> 0x1b);
- uint32_t x78 = ((uint32_t)x76 & 0x7ffffff);
- uint64_t x79 = (x68 + x74);
- uint64_t x80 = (x79 >> 0x1b);
- uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- uint64_t x82 = (x77 + x58);
- uint64_t x83 = (x82 >> 0x1b);
- uint32_t x84 = ((uint32_t)x82 & 0x7ffffff);
- uint64_t x85 = (x80 + x67);
- uint64_t x86 = (x85 >> 0x1b);
- uint32_t x87 = ((uint32_t)x85 & 0x7ffffff);
- uint64_t x88 = (x83 + x57);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x86 + x66);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x89 + x56);
- uint64_t x95 = (x94 >> 0x1b);
- uint32_t x96 = ((uint32_t)x94 & 0x7ffffff);
- uint64_t x97 = (x92 + x65);
- uint64_t x98 = (x97 >> 0x1b);
- uint32_t x99 = ((uint32_t)x97 & 0x7ffffff);
- uint64_t x100 = (x95 + x55);
- uint64_t x101 = (x100 >> 0x1b);
- uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- uint64_t x103 = (x98 + x64);
- uint64_t x104 = (x103 >> 0x1b);
- uint32_t x105 = ((uint32_t)x103 & 0x7ffffff);
- uint64_t x106 = (x101 + x54);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x104 + x63);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x107 + x53);
- uint64_t x113 = (x112 >> 0x1b);
- uint32_t x114 = ((uint32_t)x112 & 0x7ffffff);
- uint64_t x115 = (x110 + x62);
- uint64_t x116 = (x115 >> 0x1b);
- uint32_t x117 = ((uint32_t)x115 & 0x7ffffff);
- uint64_t x118 = (x113 + x52);
- uint64_t x119 = (x118 >> 0x1b);
- uint32_t x120 = ((uint32_t)x118 & 0x7ffffff);
- uint64_t x121 = (x116 + x61);
- uint64_t x122 = (x121 >> 0x1b);
- uint32_t x123 = ((uint32_t)x121 & 0x7ffffff);
- uint64_t x124 = (x119 + x75);
- uint32_t x125 = (uint32_t) (x124 >> 0x1a);
- uint32_t x126 = ((uint32_t)x124 & 0x3ffffff);
- uint64_t x127 = (x122 + x70);
- uint32_t x128 = (uint32_t) (x127 >> 0x1a);
- uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- uint64_t x130 = (((uint64_t)0x4000000 * x125) + x126);
- uint32_t x131 = (uint32_t) (x130 >> 0x1a);
- uint32_t x132 = ((uint32_t)x130 & 0x3ffffff);
- uint32_t x133 = ((x128 + x78) + x131);
- uint32_t x134 = (x133 >> 0x1b);
- uint32_t x135 = (x133 & 0x7ffffff);
- uint32_t x136 = (x81 + x131);
- uint32_t x137 = (x136 >> 0x1b);
- uint32_t x138 = (x136 & 0x7ffffff);
- return (Return x132, Return x120, Return x114, Return x108, Return x102, Return x96, Return x90, (x134 + x84), Return x135, Return x129, Return x123, Return x117, Return x111, Return x105, Return x99, Return x93, (x137 + x87), Return x138))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.v
deleted file mode 100644
index 0ae9c2e4d..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.c b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.c
deleted file mode 100644
index 034ac8f56..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void fesub(uint32_t out[18], const uint32_t in1[18], const uint32_t in2[18]) {
- { const uint32_t x36 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x70 = in2[17];
- { const uint32_t x71 = in2[16];
- { const uint32_t x69 = in2[15];
- { const uint32_t x67 = in2[14];
- { const uint32_t x65 = in2[13];
- { const uint32_t x63 = in2[12];
- { const uint32_t x61 = in2[11];
- { const uint32_t x59 = in2[10];
- { const uint32_t x57 = in2[9];
- { const uint32_t x55 = in2[8];
- { const uint32_t x53 = in2[7];
- { const uint32_t x51 = in2[6];
- { const uint32_t x49 = in2[5];
- { const uint32_t x47 = in2[4];
- { const uint32_t x45 = in2[3];
- { const uint32_t x43 = in2[2];
- { const uint32_t x41 = in2[1];
- { const uint32_t x39 = in2[0];
- out[0] = ((0xffffffe + x5) - x39);
- out[1] = ((0xffffffe + x7) - x41);
- out[2] = ((0x7fffffe + x9) - x43);
- out[3] = ((0xffffffe + x11) - x45);
- out[4] = ((0xffffffe + x13) - x47);
- out[5] = ((0x7fffffe + x15) - x49);
- out[6] = ((0xffffffe + x17) - x51);
- out[7] = ((0xffffffe + x19) - x53);
- out[8] = ((0x7fffffe + x21) - x55);
- out[9] = ((0xffffffc + x23) - x57);
- out[10] = ((0xffffffe + x25) - x59);
- out[11] = ((0x7fffffe + x27) - x61);
- out[12] = ((0xffffffe + x29) - x63);
- out[13] = ((0xffffffe + x31) - x65);
- out[14] = ((0x7fffffe + x33) - x67);
- out[15] = ((0xffffffe + x35) - x69);
- out[16] = ((0xffffffe + x37) - x71);
- out[17] = ((0x7fffffe + x36) - x70);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.v
deleted file mode 100644
index 80cf7cd2e..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/fesubDisplay.log b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.log
deleted file mode 100644
index ab9498c56..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/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 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x36, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x70, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39))%core,
- (((0x7fffffe + x36) - x70), ((0xffffffe + x37) - x71), ((0xffffffe + x35) - x69), ((0x7fffffe + x33) - x67), ((0xffffffe + x31) - x65), ((0xffffffe + x29) - x63), ((0x7fffffe + x27) - x61), ((0xffffffe + x25) - x59), ((0xffffffc + x23) - x57), ((0x7fffffe + x21) - x55), ((0xffffffe + x19) - x53), ((0xffffffe + x17) - x51), ((0x7fffffe + x15) - x49), ((0xffffffe + x13) - x47), ((0xffffffe + x11) - x45), ((0x7fffffe + x9) - x43), ((0xffffffe + x7) - x41), ((0xffffffe + x5) - x39)))
-(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 * 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.v
deleted file mode 100644
index c289d8d63..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.c b/src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.c
deleted file mode 100644
index 893a6ba35..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.c
+++ /dev/null
@@ -1,94 +0,0 @@
-static void freeze(uint32_t out[18], const uint32_t in1[18]) {
- { const uint32_t x33 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- { uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x7ffffff);
- { uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x3ffffff);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x7ffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x7ffffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x3ffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x7ffffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x7ffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x3ffffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x7fffffe);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x7ffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x3ffffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x7ffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x7ffffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x3ffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x7ffffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x7ffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x3ffffff);
- { uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- { uint32_t x90 = (x89 & 0x7ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- { uint32_t x94 = (x89 & 0x7ffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- { uint32_t x98 = (x89 & 0x3ffffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- { uint32_t x102 = (x89 & 0x7ffffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- { uint32_t x106 = (x89 & 0x7ffffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- { uint32_t x110 = (x89 & 0x3ffffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- { uint32_t x114 = (x89 & 0x7ffffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- { uint32_t x118 = (x89 & 0x7ffffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- { uint32_t x122 = (x89 & 0x3ffffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- { uint32_t x126 = (x89 & 0x7fffffe);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- { uint32_t x130 = (x89 & 0x7ffffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- { uint32_t x134 = (x89 & 0x3ffffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- { uint32_t x138 = (x89 & 0x7ffffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- { uint32_t x142 = (x89 & 0x7ffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- { uint32_t x146 = (x89 & 0x3ffffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- { uint32_t x150 = (x89 & 0x7ffffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- { uint32_t x154 = (x89 & 0x7ffffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- { uint32_t x158 = (x89 & 0x3ffffff);
- { uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- out[0] = x92;
- out[1] = x96;
- out[2] = x100;
- out[3] = x104;
- out[4] = x108;
- out[5] = x112;
- out[6] = x116;
- out[7] = x120;
- out[8] = x124;
- out[9] = x128;
- out[10] = x132;
- out[11] = x136;
- out[12] = x140;
- out[13] = x144;
- out[14] = x148;
- out[15] = x152;
- out[16] = x156;
- out[17] = x160;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.v
deleted file mode 100644
index a9aa0bf7f..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.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_2e480m2e240m1_18limbs/freezeDisplay.log b/src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.log
deleted file mode 100644
index 75988f109..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.log
+++ /dev/null
@@ -1,62 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x33, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x4, 0x7ffffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x6, 0x3ffffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x8, 0x7ffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x10, 0x7ffffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x12, 0x3ffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x14, 0x7ffffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x16, 0x7ffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x18, 0x3ffffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x20, 0x7fffffe);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x22, 0x7ffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x24, 0x3ffffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x26, 0x7ffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x28, 0x7ffffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x30, 0x3ffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x32, 0x7ffffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x34, 0x7ffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x33, 0x3ffffff);
- uint32_t x89 = cmovznz32(x88, 0x0, 0xffffffff);
- uint32_t x90 = (x89 & 0x7ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x36, Return x90);
- uint32_t x94 = (x89 & 0x7ffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x39, Return x94);
- uint32_t x98 = (x89 & 0x3ffffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x42, Return x98);
- uint32_t x102 = (x89 & 0x7ffffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x45, Return x102);
- uint32_t x106 = (x89 & 0x7ffffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x48, Return x106);
- uint32_t x110 = (x89 & 0x3ffffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x51, Return x110);
- uint32_t x114 = (x89 & 0x7ffffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x54, Return x114);
- uint32_t x118 = (x89 & 0x7ffffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x57, Return x118);
- uint32_t x122 = (x89 & 0x3ffffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x60, Return x122);
- uint32_t x126 = (x89 & 0x7fffffe);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x63, Return x126);
- uint32_t x130 = (x89 & 0x7ffffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x66, Return x130);
- uint32_t x134 = (x89 & 0x3ffffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x69, Return x134);
- uint32_t x138 = (x89 & 0x7ffffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x72, Return x138);
- uint32_t x142 = (x89 & 0x7ffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x75, Return x142);
- uint32_t x146 = (x89 & 0x3ffffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x78, Return x146);
- uint32_t x150 = (x89 & 0x7ffffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x81, Return x150);
- uint32_t x154 = (x89 & 0x7ffffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x84, Return x154);
- uint32_t x158 = (x89 & 0x3ffffff);
- uint32_t x160, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x87, Return x158);
- (Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92))
-x
- : 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 * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.v b/src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.v
deleted file mode 100644
index 6541480e4..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_18limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e480m2e240m1_18limbs/py_interpreter.sh b/src/Specific/solinas32_2e480m2e240m1_18limbs/py_interpreter.sh
deleted file mode 100755
index b421c17d5..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_18limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**480 - 2**240 - 1' -Dmodulus_bytes='26 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/CurveParameters.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/CurveParameters.v
deleted file mode 100644
index 1dce74bff..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^480 - 2^240 - 1
-Base: 24
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 20%nat;
- base := 24;
- bitwidth := 32;
- s := 2^480;
- c := [(1, 1); (2^240, 1)];
- carry_chains := Some [[9; 19]; [10; 0; 11; 1; 12; 2; 13; 3; 14; 4; 15; 5; 16; 6; 17; 7; 18; 8; 19; 9]; [10; 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_2e480m2e240m1_20limbs/Synthesis.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/Synthesis.v
deleted file mode 100644
index c50903bf2..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/compiler.sh b/src/Specific/solinas32_2e480m2e240m1_20limbs/compiler.sh
deleted file mode 100755
index 25813e401..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/compilerxx.sh b/src/Specific/solinas32_2e480m2e240m1_20limbs/compilerxx.sh
deleted file mode 100755
index 3ca1549fb..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.c b/src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.c
deleted file mode 100644
index 28ee6f665..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void feadd(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = (x5 + x43);
- out[1] = (x7 + x45);
- out[2] = (x9 + x47);
- out[3] = (x11 + x49);
- out[4] = (x13 + x51);
- out[5] = (x15 + x53);
- out[6] = (x17 + x55);
- out[7] = (x19 + x57);
- out[8] = (x21 + x59);
- out[9] = (x23 + x61);
- out[10] = (x25 + x63);
- out[11] = (x27 + x65);
- out[12] = (x29 + x67);
- out[13] = (x31 + x69);
- out[14] = (x33 + x71);
- out[15] = (x35 + x73);
- out[16] = (x37 + x75);
- out[17] = (x39 + x77);
- out[18] = (x41 + x79);
- out[19] = (x40 + x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.v
deleted file mode 100644
index 018912fdb..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/feaddDisplay.log b/src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.log
deleted file mode 100644
index eebe17777..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- ((x40 + x78), (x41 + x79), (x39 + x77), (x37 + x75), (x35 + x73), (x33 + x71), (x31 + x69), (x29 + x67), (x27 + x65), (x25 + x63), (x23 + x61), (x21 + x59), (x19 + x57), (x17 + x55), (x15 + x53), (x13 + x51), (x11 + x49), (x9 + x47), (x7 + x45), (x5 + x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.v
deleted file mode 100644
index 36c44209c..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fecarry.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/fecarry.v
deleted file mode 100644
index 5a98bc2ae..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/fecarryDisplay.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/fecarryDisplay.v
deleted file mode 100644
index de52f61f9..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/femul.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/femul.v
deleted file mode 100644
index 00636b95a..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/femulDisplay.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/femulDisplay.v
deleted file mode 100644
index 73745e82a..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.c b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.c
deleted file mode 100644
index 599462a50..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.c
+++ /dev/null
@@ -1,157 +0,0 @@
-static void fesquare(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x39 = (((uint64_t)(x20 + x37) * (x20 + x37)) - ((uint64_t)x20 * x20));
- { uint64_t x40 = ((((uint64_t)(x18 + x38) * (x20 + x37)) + ((uint64_t)(x20 + x37) * (x18 + x38))) - (((uint64_t)x18 * x20) + ((uint64_t)x20 * x18)));
- { uint64_t x41 = ((((uint64_t)(x16 + x36) * (x20 + x37)) + (((uint64_t)(x18 + x38) * (x18 + x38)) + ((uint64_t)(x20 + x37) * (x16 + x36)))) - (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16))));
- { uint64_t x42 = ((((uint64_t)(x14 + x34) * (x20 + x37)) + (((uint64_t)(x16 + x36) * (x18 + x38)) + (((uint64_t)(x18 + x38) * (x16 + x36)) + ((uint64_t)(x20 + x37) * (x14 + x34))))) - (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x20 * x14)))));
- { uint64_t x43 = ((((uint64_t)(x12 + x32) * (x20 + x37)) + (((uint64_t)(x14 + x34) * (x18 + x38)) + (((uint64_t)(x16 + x36) * (x16 + x36)) + (((uint64_t)(x18 + x38) * (x14 + x34)) + ((uint64_t)(x20 + x37) * (x12 + x32)))))) - (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x20 * x12))))));
- { uint64_t x44 = ((((uint64_t)(x10 + x30) * (x20 + x37)) + (((uint64_t)(x12 + x32) * (x18 + x38)) + (((uint64_t)(x14 + x34) * (x16 + x36)) + (((uint64_t)(x16 + x36) * (x14 + x34)) + (((uint64_t)(x18 + x38) * (x12 + x32)) + ((uint64_t)(x20 + x37) * (x10 + x30))))))) - (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x20 * x10)))))));
- { uint64_t x45 = ((((uint64_t)(x8 + x28) * (x20 + x37)) + (((uint64_t)(x10 + x30) * (x18 + x38)) + (((uint64_t)(x12 + x32) * (x16 + x36)) + (((uint64_t)(x14 + x34) * (x14 + x34)) + (((uint64_t)(x16 + x36) * (x12 + x32)) + (((uint64_t)(x18 + x38) * (x10 + x30)) + ((uint64_t)(x20 + x37) * (x8 + x28)))))))) - (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x20 * x8))))))));
- { uint64_t x46 = ((((uint64_t)(x6 + x26) * (x20 + x37)) + (((uint64_t)(x8 + x28) * (x18 + x38)) + (((uint64_t)(x10 + x30) * (x16 + x36)) + (((uint64_t)(x12 + x32) * (x14 + x34)) + (((uint64_t)(x14 + x34) * (x12 + x32)) + (((uint64_t)(x16 + x36) * (x10 + x30)) + (((uint64_t)(x18 + x38) * (x8 + x28)) + ((uint64_t)(x20 + x37) * (x6 + x26))))))))) - (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x20 * x6)))))))));
- { uint64_t x47 = ((((uint64_t)(x4 + x24) * (x20 + x37)) + (((uint64_t)(x6 + x26) * (x18 + x38)) + (((uint64_t)(x8 + x28) * (x16 + x36)) + (((uint64_t)(x10 + x30) * (x14 + x34)) + (((uint64_t)(x12 + x32) * (x12 + x32)) + (((uint64_t)(x14 + x34) * (x10 + x30)) + (((uint64_t)(x16 + x36) * (x8 + x28)) + (((uint64_t)(x18 + x38) * (x6 + x26)) + ((uint64_t)(x20 + x37) * (x4 + x24)))))))))) - (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((uint64_t)x20 * x4))))))))));
- { uint64_t x48 = ((((uint64_t)(x2 + x22) * (x20 + x37)) + (((uint64_t)(x4 + x24) * (x18 + x38)) + (((uint64_t)(x6 + x26) * (x16 + x36)) + (((uint64_t)(x8 + x28) * (x14 + x34)) + (((uint64_t)(x10 + x30) * (x12 + x32)) + (((uint64_t)(x12 + x32) * (x10 + x30)) + (((uint64_t)(x14 + x34) * (x8 + x28)) + (((uint64_t)(x16 + x36) * (x6 + x26)) + (((uint64_t)(x18 + x38) * (x4 + x24)) + ((uint64_t)(x20 + x37) * (x2 + x22))))))))))) - (((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))));
- { uint64_t x49 = ((((uint64_t)(x2 + x22) * (x18 + x38)) + (((uint64_t)(x4 + x24) * (x16 + x36)) + (((uint64_t)(x6 + x26) * (x14 + x34)) + (((uint64_t)(x8 + x28) * (x12 + x32)) + (((uint64_t)(x10 + x30) * (x10 + x30)) + (((uint64_t)(x12 + x32) * (x8 + x28)) + (((uint64_t)(x14 + x34) * (x6 + x26)) + (((uint64_t)(x16 + x36) * (x4 + x24)) + ((uint64_t)(x18 + x38) * (x2 + x22)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- { uint64_t x50 = ((((uint64_t)(x2 + x22) * (x16 + x36)) + (((uint64_t)(x4 + x24) * (x14 + x34)) + (((uint64_t)(x6 + x26) * (x12 + x32)) + (((uint64_t)(x8 + x28) * (x10 + x30)) + (((uint64_t)(x10 + x30) * (x8 + x28)) + (((uint64_t)(x12 + x32) * (x6 + x26)) + (((uint64_t)(x14 + x34) * (x4 + x24)) + ((uint64_t)(x16 + x36) * (x2 + x22))))))))) - (((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 x51 = ((((uint64_t)(x2 + x22) * (x14 + x34)) + (((uint64_t)(x4 + x24) * (x12 + x32)) + (((uint64_t)(x6 + x26) * (x10 + x30)) + (((uint64_t)(x8 + x28) * (x8 + x28)) + (((uint64_t)(x10 + x30) * (x6 + x26)) + (((uint64_t)(x12 + x32) * (x4 + x24)) + ((uint64_t)(x14 + x34) * (x2 + x22)))))))) - (((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 x52 = ((((uint64_t)(x2 + x22) * (x12 + x32)) + (((uint64_t)(x4 + x24) * (x10 + x30)) + (((uint64_t)(x6 + x26) * (x8 + x28)) + (((uint64_t)(x8 + x28) * (x6 + x26)) + (((uint64_t)(x10 + x30) * (x4 + x24)) + ((uint64_t)(x12 + x32) * (x2 + x22))))))) - (((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 x53 = ((((uint64_t)(x2 + x22) * (x10 + x30)) + (((uint64_t)(x4 + x24) * (x8 + x28)) + (((uint64_t)(x6 + x26) * (x6 + x26)) + (((uint64_t)(x8 + x28) * (x4 + x24)) + ((uint64_t)(x10 + x30) * (x2 + x22)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- { uint64_t x54 = ((((uint64_t)(x2 + x22) * (x8 + x28)) + (((uint64_t)(x4 + x24) * (x6 + x26)) + (((uint64_t)(x6 + x26) * (x4 + x24)) + ((uint64_t)(x8 + x28) * (x2 + x22))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- { uint64_t x55 = ((((uint64_t)(x2 + x22) * (x6 + x26)) + (((uint64_t)(x4 + x24) * (x4 + x24)) + ((uint64_t)(x6 + x26) * (x2 + x22)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- { uint64_t x56 = ((((uint64_t)(x2 + x22) * (x4 + x24)) + ((uint64_t)(x4 + x24) * (x2 + x22))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- { uint64_t x57 = (((uint64_t)(x2 + x22) * (x2 + x22)) - ((uint64_t)x2 * x2));
- { uint64_t x58 = (((((uint64_t)x20 * x20) + ((uint64_t)x37 * x37)) + x49) + x39);
- { uint64_t x59 = ((((((uint64_t)x18 * x20) + ((uint64_t)x20 * x18)) + (((uint64_t)x38 * x37) + ((uint64_t)x37 * x38))) + x50) + x40);
- { uint64_t x60 = ((((((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16))) + (((uint64_t)x36 * x37) + (((uint64_t)x38 * x38) + ((uint64_t)x37 * x36)))) + x51) + x41);
- { uint64_t x61 = ((((((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x20 * x14)))) + (((uint64_t)x34 * x37) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((uint64_t)x37 * x34))))) + x52) + x42);
- { uint64_t x62 = ((((((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x20 * x12))))) + (((uint64_t)x32 * x37) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((uint64_t)x37 * x32)))))) + x53) + x43);
- { uint64_t x63 = ((((((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x20 * x10)))))) + (((uint64_t)x30 * x37) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((uint64_t)x37 * x30))))))) + x54) + x44);
- { uint64_t x64 = ((((((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x20 * x8))))))) + (((uint64_t)x28 * x37) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + ((uint64_t)x37 * x28)))))))) + x55) + x45);
- { uint64_t x65 = ((((((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x20 * x6)))))))) + (((uint64_t)x26 * x37) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + ((uint64_t)x37 * x26))))))))) + x56) + x46);
- { uint64_t x66 = ((((((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((uint64_t)x20 * x4))))))))) + (((uint64_t)x24 * x37) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((uint64_t)x37 * x24)))))))))) + x57) + x47);
- { uint64_t x67 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (((uint64_t)x22 * x37) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((uint64_t)x37 * x22)))))))))));
- { uint64_t x68 = (((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + ((uint64_t)x38 * x22)))))))))) + x39);
- { uint64_t x69 = (((((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)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + ((uint64_t)x36 * x22))))))))) + x40);
- { uint64_t x70 = (((((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)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((uint64_t)x34 * x22)))))))) + x41);
- { uint64_t x71 = (((((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)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x32 * x22))))))) + x42);
- { uint64_t x72 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((uint64_t)x30 * x22)))))) + x43);
- { uint64_t x73 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x28 * x22))))) + x44);
- { uint64_t x74 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + ((uint64_t)x26 * x22)))) + x45);
- { uint64_t x75 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x22 * x24) + ((uint64_t)x24 * x22))) + x46);
- { uint64_t x76 = ((((uint64_t)x2 * x2) + ((uint64_t)x22 * x22)) + x47);
- { uint32_t x77 = (uint32_t) (x67 >> 0x18);
- { uint32_t x78 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x79 = (x48 >> 0x18);
- { uint32_t x80 = ((uint32_t)x48 & 0xffffff);
- { uint64_t x81 = ((0x1000000 * x79) + x80);
- { uint64_t x82 = (x81 >> 0x18);
- { uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- { uint64_t x84 = ((x77 + x66) + x82);
- { uint64_t x85 = (x84 >> 0x18);
- { uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- { uint64_t x87 = (x76 + x82);
- { uint64_t x88 = (x87 >> 0x18);
- { uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- { uint64_t x90 = (x85 + x65);
- { uint64_t x91 = (x90 >> 0x18);
- { uint32_t x92 = ((uint32_t)x90 & 0xffffff);
- { uint64_t x93 = (x88 + x75);
- { uint64_t x94 = (x93 >> 0x18);
- { uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- { uint64_t x96 = (x91 + x64);
- { uint64_t x97 = (x96 >> 0x18);
- { uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- { uint64_t x99 = (x94 + x74);
- { uint64_t x100 = (x99 >> 0x18);
- { uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- { uint64_t x102 = (x97 + x63);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x100 + x73);
- { uint64_t x106 = (x105 >> 0x18);
- { uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- { uint64_t x108 = (x103 + x62);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x106 + x72);
- { uint64_t x112 = (x111 >> 0x18);
- { uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- { uint64_t x114 = (x109 + x61);
- { uint64_t x115 = (x114 >> 0x18);
- { uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- { uint64_t x117 = (x112 + x71);
- { uint64_t x118 = (x117 >> 0x18);
- { uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- { uint64_t x120 = (x115 + x60);
- { uint64_t x121 = (x120 >> 0x18);
- { uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- { uint64_t x123 = (x118 + x70);
- { uint64_t x124 = (x123 >> 0x18);
- { uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- { uint64_t x126 = (x121 + x59);
- { uint64_t x127 = (x126 >> 0x18);
- { uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- { uint64_t x129 = (x124 + x69);
- { uint32_t x130 = (uint32_t) (x129 >> 0x18);
- { uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- { uint64_t x132 = (x127 + x58);
- { uint64_t x133 = (x132 >> 0x18);
- { uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- { uint64_t x135 = (x130 + x68);
- { uint32_t x136 = (uint32_t) (x135 >> 0x18);
- { uint32_t x137 = ((uint32_t)x135 & 0xffffff);
- { uint64_t x138 = (x133 + x83);
- { uint32_t x139 = (uint32_t) (x138 >> 0x18);
- { uint32_t x140 = ((uint32_t)x138 & 0xffffff);
- { uint32_t x141 = (x136 + x78);
- { uint32_t x142 = (x141 >> 0x18);
- { uint32_t x143 = (x141 & 0xffffff);
- { uint64_t x144 = (((uint64_t)0x1000000 * x139) + x140);
- { uint32_t x145 = (uint32_t) (x144 >> 0x18);
- { uint32_t x146 = ((uint32_t)x144 & 0xffffff);
- { uint32_t x147 = ((x142 + x86) + x145);
- { uint32_t x148 = (x147 >> 0x18);
- { uint32_t x149 = (x147 & 0xffffff);
- { uint32_t x150 = (x89 + x145);
- { uint32_t x151 = (x150 >> 0x18);
- { uint32_t x152 = (x150 & 0xffffff);
- out[0] = x152;
- out[1] = (x151 + x95);
- out[2] = x101;
- out[3] = x107;
- out[4] = x113;
- out[5] = x119;
- out[6] = x125;
- out[7] = x131;
- out[8] = x137;
- out[9] = x143;
- out[10] = x149;
- out[11] = (x148 + x92);
- out[12] = x98;
- out[13] = x104;
- out[14] = x110;
- out[15] = x116;
- out[16] = x122;
- out[17] = x128;
- out[18] = x134;
- out[19] = x146;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.v
deleted file mode 100644
index e2a24f49b..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/fesquareDisplay.log b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.log
deleted file mode 100644
index 76084d1c1..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,121 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x39 = (((uint64_t)(x20 + x37) * (x20 + x37)) - ((uint64_t)x20 * x20));
- uint64_t x40 = ((((uint64_t)(x18 + x38) * (x20 + x37)) + ((uint64_t)(x20 + x37) * (x18 + x38))) - (((uint64_t)x18 * x20) + ((uint64_t)x20 * x18)));
- uint64_t x41 = ((((uint64_t)(x16 + x36) * (x20 + x37)) + (((uint64_t)(x18 + x38) * (x18 + x38)) + ((uint64_t)(x20 + x37) * (x16 + x36)))) - (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16))));
- uint64_t x42 = ((((uint64_t)(x14 + x34) * (x20 + x37)) + (((uint64_t)(x16 + x36) * (x18 + x38)) + (((uint64_t)(x18 + x38) * (x16 + x36)) + ((uint64_t)(x20 + x37) * (x14 + x34))))) - (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x20 * x14)))));
- uint64_t x43 = ((((uint64_t)(x12 + x32) * (x20 + x37)) + (((uint64_t)(x14 + x34) * (x18 + x38)) + (((uint64_t)(x16 + x36) * (x16 + x36)) + (((uint64_t)(x18 + x38) * (x14 + x34)) + ((uint64_t)(x20 + x37) * (x12 + x32)))))) - (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x20 * x12))))));
- uint64_t x44 = ((((uint64_t)(x10 + x30) * (x20 + x37)) + (((uint64_t)(x12 + x32) * (x18 + x38)) + (((uint64_t)(x14 + x34) * (x16 + x36)) + (((uint64_t)(x16 + x36) * (x14 + x34)) + (((uint64_t)(x18 + x38) * (x12 + x32)) + ((uint64_t)(x20 + x37) * (x10 + x30))))))) - (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x20 * x10)))))));
- uint64_t x45 = ((((uint64_t)(x8 + x28) * (x20 + x37)) + (((uint64_t)(x10 + x30) * (x18 + x38)) + (((uint64_t)(x12 + x32) * (x16 + x36)) + (((uint64_t)(x14 + x34) * (x14 + x34)) + (((uint64_t)(x16 + x36) * (x12 + x32)) + (((uint64_t)(x18 + x38) * (x10 + x30)) + ((uint64_t)(x20 + x37) * (x8 + x28)))))))) - (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x20 * x8))))))));
- uint64_t x46 = ((((uint64_t)(x6 + x26) * (x20 + x37)) + (((uint64_t)(x8 + x28) * (x18 + x38)) + (((uint64_t)(x10 + x30) * (x16 + x36)) + (((uint64_t)(x12 + x32) * (x14 + x34)) + (((uint64_t)(x14 + x34) * (x12 + x32)) + (((uint64_t)(x16 + x36) * (x10 + x30)) + (((uint64_t)(x18 + x38) * (x8 + x28)) + ((uint64_t)(x20 + x37) * (x6 + x26))))))))) - (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x20 * x6)))))))));
- uint64_t x47 = ((((uint64_t)(x4 + x24) * (x20 + x37)) + (((uint64_t)(x6 + x26) * (x18 + x38)) + (((uint64_t)(x8 + x28) * (x16 + x36)) + (((uint64_t)(x10 + x30) * (x14 + x34)) + (((uint64_t)(x12 + x32) * (x12 + x32)) + (((uint64_t)(x14 + x34) * (x10 + x30)) + (((uint64_t)(x16 + x36) * (x8 + x28)) + (((uint64_t)(x18 + x38) * (x6 + x26)) + ((uint64_t)(x20 + x37) * (x4 + x24)))))))))) - (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((uint64_t)x20 * x4))))))))));
- uint64_t x48 = ((((uint64_t)(x2 + x22) * (x20 + x37)) + (((uint64_t)(x4 + x24) * (x18 + x38)) + (((uint64_t)(x6 + x26) * (x16 + x36)) + (((uint64_t)(x8 + x28) * (x14 + x34)) + (((uint64_t)(x10 + x30) * (x12 + x32)) + (((uint64_t)(x12 + x32) * (x10 + x30)) + (((uint64_t)(x14 + x34) * (x8 + x28)) + (((uint64_t)(x16 + x36) * (x6 + x26)) + (((uint64_t)(x18 + x38) * (x4 + x24)) + ((uint64_t)(x20 + x37) * (x2 + x22))))))))))) - (((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))));
- uint64_t x49 = ((((uint64_t)(x2 + x22) * (x18 + x38)) + (((uint64_t)(x4 + x24) * (x16 + x36)) + (((uint64_t)(x6 + x26) * (x14 + x34)) + (((uint64_t)(x8 + x28) * (x12 + x32)) + (((uint64_t)(x10 + x30) * (x10 + x30)) + (((uint64_t)(x12 + x32) * (x8 + x28)) + (((uint64_t)(x14 + x34) * (x6 + x26)) + (((uint64_t)(x16 + x36) * (x4 + x24)) + ((uint64_t)(x18 + x38) * (x2 + x22)))))))))) - (((uint64_t)x2 * x18) + (((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)x18 * x2))))))))));
- uint64_t x50 = ((((uint64_t)(x2 + x22) * (x16 + x36)) + (((uint64_t)(x4 + x24) * (x14 + x34)) + (((uint64_t)(x6 + x26) * (x12 + x32)) + (((uint64_t)(x8 + x28) * (x10 + x30)) + (((uint64_t)(x10 + x30) * (x8 + x28)) + (((uint64_t)(x12 + x32) * (x6 + x26)) + (((uint64_t)(x14 + x34) * (x4 + x24)) + ((uint64_t)(x16 + x36) * (x2 + x22))))))))) - (((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 x51 = ((((uint64_t)(x2 + x22) * (x14 + x34)) + (((uint64_t)(x4 + x24) * (x12 + x32)) + (((uint64_t)(x6 + x26) * (x10 + x30)) + (((uint64_t)(x8 + x28) * (x8 + x28)) + (((uint64_t)(x10 + x30) * (x6 + x26)) + (((uint64_t)(x12 + x32) * (x4 + x24)) + ((uint64_t)(x14 + x34) * (x2 + x22)))))))) - (((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 x52 = ((((uint64_t)(x2 + x22) * (x12 + x32)) + (((uint64_t)(x4 + x24) * (x10 + x30)) + (((uint64_t)(x6 + x26) * (x8 + x28)) + (((uint64_t)(x8 + x28) * (x6 + x26)) + (((uint64_t)(x10 + x30) * (x4 + x24)) + ((uint64_t)(x12 + x32) * (x2 + x22))))))) - (((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 x53 = ((((uint64_t)(x2 + x22) * (x10 + x30)) + (((uint64_t)(x4 + x24) * (x8 + x28)) + (((uint64_t)(x6 + x26) * (x6 + x26)) + (((uint64_t)(x8 + x28) * (x4 + x24)) + ((uint64_t)(x10 + x30) * (x2 + x22)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
- uint64_t x54 = ((((uint64_t)(x2 + x22) * (x8 + x28)) + (((uint64_t)(x4 + x24) * (x6 + x26)) + (((uint64_t)(x6 + x26) * (x4 + x24)) + ((uint64_t)(x8 + x28) * (x2 + x22))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
- uint64_t x55 = ((((uint64_t)(x2 + x22) * (x6 + x26)) + (((uint64_t)(x4 + x24) * (x4 + x24)) + ((uint64_t)(x6 + x26) * (x2 + x22)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
- uint64_t x56 = ((((uint64_t)(x2 + x22) * (x4 + x24)) + ((uint64_t)(x4 + x24) * (x2 + x22))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
- uint64_t x57 = (((uint64_t)(x2 + x22) * (x2 + x22)) - ((uint64_t)x2 * x2));
- uint64_t x58 = (((((uint64_t)x20 * x20) + ((uint64_t)x37 * x37)) + x49) + x39);
- uint64_t x59 = ((((((uint64_t)x18 * x20) + ((uint64_t)x20 * x18)) + (((uint64_t)x38 * x37) + ((uint64_t)x37 * x38))) + x50) + x40);
- uint64_t x60 = ((((((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16))) + (((uint64_t)x36 * x37) + (((uint64_t)x38 * x38) + ((uint64_t)x37 * x36)))) + x51) + x41);
- uint64_t x61 = ((((((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((uint64_t)x20 * x14)))) + (((uint64_t)x34 * x37) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((uint64_t)x37 * x34))))) + x52) + x42);
- uint64_t x62 = ((((((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((uint64_t)x20 * x12))))) + (((uint64_t)x32 * x37) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((uint64_t)x37 * x32)))))) + x53) + x43);
- uint64_t x63 = ((((((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((uint64_t)x20 * x10)))))) + (((uint64_t)x30 * x37) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((uint64_t)x37 * x30))))))) + x54) + x44);
- uint64_t x64 = ((((((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((uint64_t)x20 * x8))))))) + (((uint64_t)x28 * x37) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + ((uint64_t)x37 * x28)))))))) + x55) + x45);
- uint64_t x65 = ((((((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((uint64_t)x20 * x6)))))))) + (((uint64_t)x26 * x37) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + ((uint64_t)x37 * x26))))))))) + x56) + x46);
- uint64_t x66 = ((((((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((uint64_t)x20 * x4))))))))) + (((uint64_t)x24 * x37) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((uint64_t)x37 * x24)))))))))) + x57) + x47);
- uint64_t x67 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (((uint64_t)x22 * x37) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((uint64_t)x37 * x22)))))))))));
- uint64_t x68 = (((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + ((uint64_t)x38 * x22)))))))))) + x39);
- uint64_t x69 = (((((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)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + ((uint64_t)x36 * x22))))))))) + x40);
- uint64_t x70 = (((((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)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((uint64_t)x34 * x22)))))))) + x41);
- uint64_t x71 = (((((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)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x32 * x22))))))) + x42);
- uint64_t x72 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((uint64_t)x30 * x22)))))) + x43);
- uint64_t x73 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x28 * x22))))) + x44);
- uint64_t x74 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + ((uint64_t)x26 * x22)))) + x45);
- uint64_t x75 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x22 * x24) + ((uint64_t)x24 * x22))) + x46);
- uint64_t x76 = ((((uint64_t)x2 * x2) + ((uint64_t)x22 * x22)) + x47);
- uint32_t x77 = (uint32_t) (x67 >> 0x18);
- uint32_t x78 = ((uint32_t)x67 & 0xffffff);
- uint64_t x79 = (x48 >> 0x18);
- uint32_t x80 = ((uint32_t)x48 & 0xffffff);
- uint64_t x81 = ((0x1000000 * x79) + x80);
- uint64_t x82 = (x81 >> 0x18);
- uint32_t x83 = ((uint32_t)x81 & 0xffffff);
- uint64_t x84 = ((x77 + x66) + x82);
- uint64_t x85 = (x84 >> 0x18);
- uint32_t x86 = ((uint32_t)x84 & 0xffffff);
- uint64_t x87 = (x76 + x82);
- uint64_t x88 = (x87 >> 0x18);
- uint32_t x89 = ((uint32_t)x87 & 0xffffff);
- uint64_t x90 = (x85 + x65);
- uint64_t x91 = (x90 >> 0x18);
- uint32_t x92 = ((uint32_t)x90 & 0xffffff);
- uint64_t x93 = (x88 + x75);
- uint64_t x94 = (x93 >> 0x18);
- uint32_t x95 = ((uint32_t)x93 & 0xffffff);
- uint64_t x96 = (x91 + x64);
- uint64_t x97 = (x96 >> 0x18);
- uint32_t x98 = ((uint32_t)x96 & 0xffffff);
- uint64_t x99 = (x94 + x74);
- uint64_t x100 = (x99 >> 0x18);
- uint32_t x101 = ((uint32_t)x99 & 0xffffff);
- uint64_t x102 = (x97 + x63);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x100 + x73);
- uint64_t x106 = (x105 >> 0x18);
- uint32_t x107 = ((uint32_t)x105 & 0xffffff);
- uint64_t x108 = (x103 + x62);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x106 + x72);
- uint64_t x112 = (x111 >> 0x18);
- uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- uint64_t x114 = (x109 + x61);
- uint64_t x115 = (x114 >> 0x18);
- uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- uint64_t x117 = (x112 + x71);
- uint64_t x118 = (x117 >> 0x18);
- uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- uint64_t x120 = (x115 + x60);
- uint64_t x121 = (x120 >> 0x18);
- uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- uint64_t x123 = (x118 + x70);
- uint64_t x124 = (x123 >> 0x18);
- uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- uint64_t x126 = (x121 + x59);
- uint64_t x127 = (x126 >> 0x18);
- uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- uint64_t x129 = (x124 + x69);
- uint32_t x130 = (uint32_t) (x129 >> 0x18);
- uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- uint64_t x132 = (x127 + x58);
- uint64_t x133 = (x132 >> 0x18);
- uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- uint64_t x135 = (x130 + x68);
- uint32_t x136 = (uint32_t) (x135 >> 0x18);
- uint32_t x137 = ((uint32_t)x135 & 0xffffff);
- uint64_t x138 = (x133 + x83);
- uint32_t x139 = (uint32_t) (x138 >> 0x18);
- uint32_t x140 = ((uint32_t)x138 & 0xffffff);
- uint32_t x141 = (x136 + x78);
- uint32_t x142 = (x141 >> 0x18);
- uint32_t x143 = (x141 & 0xffffff);
- uint64_t x144 = (((uint64_t)0x1000000 * x139) + x140);
- uint32_t x145 = (uint32_t) (x144 >> 0x18);
- uint32_t x146 = ((uint32_t)x144 & 0xffffff);
- uint32_t x147 = ((x142 + x86) + x145);
- uint32_t x148 = (x147 >> 0x18);
- uint32_t x149 = (x147 & 0xffffff);
- uint32_t x150 = (x89 + x145);
- uint32_t x151 = (x150 >> 0x18);
- uint32_t x152 = (x150 & 0xffffff);
- return (Return x146, Return x134, Return x128, Return x122, Return x116, Return x110, Return x104, Return x98, (x148 + x92), Return x149, Return x143, Return x137, Return x131, Return x125, Return x119, Return x113, Return x107, Return x101, (x151 + x95), Return x152))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.v
deleted file mode 100644
index c3e9a0f5f..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.c b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.c
deleted file mode 100644
index ec2beda21..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fesub(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = ((0x1fffffe + x5) - x43);
- out[1] = ((0x1fffffe + x7) - x45);
- out[2] = ((0x1fffffe + x9) - x47);
- out[3] = ((0x1fffffe + x11) - x49);
- out[4] = ((0x1fffffe + x13) - x51);
- out[5] = ((0x1fffffe + x15) - x53);
- out[6] = ((0x1fffffe + x17) - x55);
- out[7] = ((0x1fffffe + x19) - x57);
- out[8] = ((0x1fffffe + x21) - x59);
- out[9] = ((0x1fffffe + x23) - x61);
- out[10] = ((0x1fffffc + x25) - x63);
- out[11] = ((0x1fffffe + x27) - x65);
- out[12] = ((0x1fffffe + x29) - x67);
- out[13] = ((0x1fffffe + x31) - x69);
- out[14] = ((0x1fffffe + x33) - x71);
- out[15] = ((0x1fffffe + x35) - x73);
- out[16] = ((0x1fffffe + x37) - x75);
- out[17] = ((0x1fffffe + x39) - x77);
- out[18] = ((0x1fffffe + x41) - x79);
- out[19] = ((0x1fffffe + x40) - x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.v
deleted file mode 100644
index 3f0ddf055..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/fesubDisplay.log b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.log
deleted file mode 100644
index 761d9228e..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- (((0x1fffffe + x40) - x78), ((0x1fffffe + x41) - x79), ((0x1fffffe + x39) - x77), ((0x1fffffe + x37) - x75), ((0x1fffffe + x35) - x73), ((0x1fffffe + x33) - x71), ((0x1fffffe + x31) - x69), ((0x1fffffe + x29) - x67), ((0x1fffffe + x27) - x65), ((0x1fffffc + x25) - x63), ((0x1fffffe + x23) - x61), ((0x1fffffe + x21) - x59), ((0x1fffffe + x19) - x57), ((0x1fffffe + x17) - x55), ((0x1fffffe + x15) - x53), ((0x1fffffe + x13) - x51), ((0x1fffffe + x11) - x49), ((0x1fffffe + x9) - x47), ((0x1fffffe + x7) - x45), ((0x1fffffe + x5) - x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.v
deleted file mode 100644
index bf9822a3e..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.c b/src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.c
deleted file mode 100644
index 319462208..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void freeze(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0xffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0xfffffe);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0xffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0xffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0xffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0xffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0xffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- { uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- { uint32_t x100 = (x99 & 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- { uint32_t x104 = (x99 & 0xffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- { uint32_t x108 = (x99 & 0xffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- { uint32_t x112 = (x99 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- { uint32_t x116 = (x99 & 0xffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- { uint32_t x120 = (x99 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- { uint32_t x124 = (x99 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- { uint32_t x128 = (x99 & 0xffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- { uint32_t x132 = (x99 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- { uint32_t x136 = (x99 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- { uint32_t x140 = (x99 & 0xfffffe);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- { uint32_t x144 = (x99 & 0xffffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- { uint32_t x148 = (x99 & 0xffffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- { uint32_t x152 = (x99 & 0xffffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- { uint32_t x156 = (x99 & 0xffffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- { uint32_t x160 = (x99 & 0xffffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- { uint32_t x164 = (x99 & 0xffffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- { uint32_t x168 = (x99 & 0xffffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- { uint32_t x172 = (x99 & 0xffffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- { uint32_t x176 = (x99 & 0xffffff);
- { uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- out[0] = x102;
- out[1] = x106;
- out[2] = x110;
- out[3] = x114;
- out[4] = x118;
- out[5] = x122;
- out[6] = x126;
- out[7] = x130;
- out[8] = x134;
- out[9] = x138;
- out[10] = x142;
- out[11] = x146;
- out[12] = x150;
- out[13] = x154;
- out[14] = x158;
- out[15] = x162;
- out[16] = x166;
- out[17] = x170;
- out[18] = x174;
- out[19] = x178;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.v
deleted file mode 100644
index ed1f7c8bc..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.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_2e480m2e240m1_20limbs/freezeDisplay.log b/src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.log
deleted file mode 100644
index c85195aff..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0xfffffe);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0xffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0xffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0xffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0xffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0xffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- uint32_t x100 = (x99 & 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- uint32_t x104 = (x99 & 0xffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- uint32_t x108 = (x99 & 0xffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- uint32_t x112 = (x99 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- uint32_t x116 = (x99 & 0xffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- uint32_t x120 = (x99 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- uint32_t x124 = (x99 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- uint32_t x128 = (x99 & 0xffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- uint32_t x132 = (x99 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- uint32_t x136 = (x99 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- uint32_t x140 = (x99 & 0xfffffe);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- uint32_t x144 = (x99 & 0xffffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- uint32_t x148 = (x99 & 0xffffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- uint32_t x152 = (x99 & 0xffffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- uint32_t x156 = (x99 & 0xffffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- uint32_t x160 = (x99 & 0xffffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- uint32_t x164 = (x99 & 0xffffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- uint32_t x168 = (x99 & 0xffffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- uint32_t x172 = (x99 & 0xffffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- uint32_t x176 = (x99 & 0xffffff);
- uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- (Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.v b/src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.v
deleted file mode 100644
index ce84e57bb..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e480m2e240m1_20limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e480m2e240m1_20limbs/py_interpreter.sh b/src/Specific/solinas32_2e480m2e240m1_20limbs/py_interpreter.sh
deleted file mode 100755
index cbc626bfb..000000000
--- a/src/Specific/solinas32_2e480m2e240m1_20limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**480 - 2**240 - 1' -Dmodulus_bytes='24' -Da24='121665'
diff --git a/src/Specific/solinas32_2e488m17_19limbs/CurveParameters.v b/src/Specific/solinas32_2e488m17_19limbs/CurveParameters.v
deleted file mode 100644
index b1014a16f..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^488 - 17
-Base: 25 + 13/19
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 19%nat;
- base := 25 + 13/19;
- bitwidth := 32;
- s := 2^488;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 19); [0; 1]]%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_2e488m17_19limbs/Synthesis.v b/src/Specific/solinas32_2e488m17_19limbs/Synthesis.v
deleted file mode 100644
index 844e66895..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/compiler.sh b/src/Specific/solinas32_2e488m17_19limbs/compiler.sh
deleted file mode 100755
index f0b50f5fa..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas32_2e488m17_19limbs/compilerxx.sh b/src/Specific/solinas32_2e488m17_19limbs/compilerxx.sh
deleted file mode 100755
index a39402773..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25,26,26,25}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas32_2e488m17_19limbs/feadd.c b/src/Specific/solinas32_2e488m17_19limbs/feadd.c
deleted file mode 100644
index 7432e2ef1..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/feadd.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void feadd(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = (x5 + x41);
- out[1] = (x7 + x43);
- out[2] = (x9 + x45);
- out[3] = (x11 + x47);
- out[4] = (x13 + x49);
- out[5] = (x15 + x51);
- out[6] = (x17 + x53);
- out[7] = (x19 + x55);
- out[8] = (x21 + x57);
- out[9] = (x23 + x59);
- out[10] = (x25 + x61);
- out[11] = (x27 + x63);
- out[12] = (x29 + x65);
- out[13] = (x31 + x67);
- out[14] = (x33 + x69);
- out[15] = (x35 + x71);
- out[16] = (x37 + x73);
- out[17] = (x39 + x75);
- out[18] = (x38 + x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_19limbs/feadd.v b/src/Specific/solinas32_2e488m17_19limbs/feadd.v
deleted file mode 100644
index 90623b7af..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/feaddDisplay.log b/src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.log
deleted file mode 100644
index 76a71b356..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- ((x38 + x74), (x39 + x75), (x37 + x73), (x35 + x71), (x33 + x69), (x31 + x67), (x29 + x65), (x27 + x63), (x25 + x61), (x23 + x59), (x21 + x57), (x19 + x55), (x17 + x53), (x15 + x51), (x13 + x49), (x11 + x47), (x9 + x45), (x7 + x43), (x5 + x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.v b/src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.v
deleted file mode 100644
index 34b7f80be..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fecarry.v b/src/Specific/solinas32_2e488m17_19limbs/fecarry.v
deleted file mode 100644
index 3ce307517..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/fecarryDisplay.v b/src/Specific/solinas32_2e488m17_19limbs/fecarryDisplay.v
deleted file mode 100644
index 3755732b9..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e488m17_19limbs/femul.c b/src/Specific/solinas32_2e488m17_19limbs/femul.c
deleted file mode 100644
index da892cbce..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/femul.c
+++ /dev/null
@@ -1,141 +0,0 @@
-static void femul(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- { uint64_t x76 = (((uint64_t)x5 * x74) + (((uint64_t)x7 * x75) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + (((uint64_t)x39 * x43) + ((uint64_t)x38 * x41)))))))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + (((uint64_t)x19 * x61) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + (((uint64_t)x37 * x43) + ((uint64_t)x39 * x41)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x38 * x74))));
- { uint64_t x78 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x37 * x41))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x39 * x74)) + (0x2 * ((uint64_t)x38 * x75)))));
- { uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (0x11 * (((uint64_t)x37 * x74) + (((uint64_t)x39 * x75) + ((uint64_t)x38 * x73)))));
- { uint64_t x80 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((uint64_t)x33 * x41))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x35 * x74)) + (((uint64_t)x37 * x75) + (((uint64_t)x39 * x73) + (0x2 * ((uint64_t)x38 * x71)))))));
- { uint64_t x81 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((uint64_t)x31 * x41)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x33 * x74)) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + ((0x2 * ((uint64_t)x39 * x71)) + (0x2 * ((uint64_t)x38 * x69))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x29 * x41))))))))))))) + (0x11 * (((uint64_t)x31 * x74) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + ((uint64_t)x38 * x67))))))));
- { uint64_t x83 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x27 * x41)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x74)) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + (0x2 * ((uint64_t)x38 * x65))))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((uint64_t)x25 * x41))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x74)) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + ((0x2 * ((uint64_t)x39 * x65)) + (0x2 * ((uint64_t)x38 * x63)))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((uint64_t)x23 * x41)))))))))) + (0x11 * (((uint64_t)x25 * x74) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + ((uint64_t)x38 * x61)))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((uint64_t)x21 * x41))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x74)) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + ((0x2 * ((uint64_t)x29 * x71)) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + (0x2 * ((uint64_t)x38 * x59)))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((uint64_t)x19 * x41)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x74)) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + (((uint64_t)x37 * x61) + ((0x2 * ((uint64_t)x39 * x59)) + (0x2 * ((uint64_t)x38 * x57))))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41))))))) + (0x11 * (((uint64_t)x19 * x74) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + ((uint64_t)x38 * x55))))))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x74)) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((0x2 * ((uint64_t)x35 * x59)) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (0x2 * ((uint64_t)x38 * x53))))))))))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((uint64_t)x13 * x41))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x74)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + ((0x2 * ((uint64_t)x39 * x53)) + (0x2 * ((uint64_t)x38 * x51)))))))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((uint64_t)x11 * x41)))) + (0x11 * (((uint64_t)x13 * x74) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((uint64_t)x38 * x49)))))))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((uint64_t)x9 * x41))) + (0x11 * ((0x2 * ((uint64_t)x11 * x74)) + (((uint64_t)x13 * x75) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + ((0x2 * ((uint64_t)x35 * x53)) + (((uint64_t)x37 * x51) + (((uint64_t)x39 * x49) + (0x2 * ((uint64_t)x38 * x47)))))))))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) + (0x11 * ((0x2 * ((uint64_t)x9 * x74)) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (((uint64_t)x37 * x49) + ((0x2 * ((uint64_t)x39 * x47)) + (0x2 * ((uint64_t)x38 * x45))))))))))))))))))));
- { ℤ x94 = (((uint64_t)x5 * x41) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43)))))))))))))))))))));
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = (x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x93);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x92);
- { uint64_t x101 = (x100 >> 0x1a);
- { uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- { uint64_t x103 = (x101 + x91);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x104 + x90);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x89);
- { uint64_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- { uint64_t x112 = (x110 + x88);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x113 + x87);
- { uint64_t x116 = (x115 >> 0x1a);
- { uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- { uint64_t x118 = (x116 + x86);
- { uint64_t x119 = (x118 >> 0x1a);
- { uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- { uint64_t x121 = (x119 + x85);
- { uint64_t x122 = (x121 >> 0x19);
- { uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- { uint64_t x124 = (x122 + x84);
- { uint64_t x125 = (x124 >> 0x1a);
- { uint32_t x126 = ((uint32_t)x124 & 0x3ffffff);
- { uint64_t x127 = (x125 + x83);
- { uint64_t x128 = (x127 >> 0x1a);
- { uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- { uint64_t x130 = (x128 + x82);
- { uint64_t x131 = (x130 >> 0x19);
- { uint32_t x132 = ((uint32_t)x130 & 0x1ffffff);
- { uint64_t x133 = (x131 + x81);
- { uint64_t x134 = (x133 >> 0x1a);
- { uint32_t x135 = ((uint32_t)x133 & 0x3ffffff);
- { uint64_t x136 = (x134 + x80);
- { uint64_t x137 = (x136 >> 0x1a);
- { uint32_t x138 = ((uint32_t)x136 & 0x3ffffff);
- { uint64_t x139 = (x137 + x79);
- { uint64_t x140 = (x139 >> 0x19);
- { uint32_t x141 = ((uint32_t)x139 & 0x1ffffff);
- { uint64_t x142 = (x140 + x78);
- { uint64_t x143 = (x142 >> 0x1a);
- { uint32_t x144 = ((uint32_t)x142 & 0x3ffffff);
- { uint64_t x145 = (x143 + x77);
- { uint64_t x146 = (x145 >> 0x1a);
- { uint32_t x147 = ((uint32_t)x145 & 0x3ffffff);
- { uint64_t x148 = (x146 + x76);
- { uint64_t x149 = (x148 >> 0x19);
- { uint32_t x150 = ((uint32_t)x148 & 0x1ffffff);
- { uint64_t x151 = (x96 + (0x11 * x149));
- { uint32_t x152 = (uint32_t) (x151 >> 0x1a);
- { uint32_t x153 = ((uint32_t)x151 & 0x3ffffff);
- { uint32_t x154 = (x152 + x99);
- { uint32_t x155 = (x154 >> 0x1a);
- { uint32_t x156 = (x154 & 0x3ffffff);
- out[0] = x153;
- out[1] = x156;
- out[2] = (x155 + x102);
- out[3] = x105;
- out[4] = x108;
- out[5] = x111;
- out[6] = x114;
- out[7] = x117;
- out[8] = x120;
- out[9] = x123;
- out[10] = x126;
- out[11] = x129;
- out[12] = x132;
- out[13] = x135;
- out[14] = x138;
- out[15] = x141;
- out[16] = x144;
- out[17] = x147;
- out[18] = x150;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_19limbs/femul.v b/src/Specific/solinas32_2e488m17_19limbs/femul.v
deleted file mode 100644
index 1ac7ce256..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/femulDisplay.log b/src/Specific/solinas32_2e488m17_19limbs/femulDisplay.log
deleted file mode 100644
index 0caf0f422..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/femulDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- uint64_t x76 = (((uint64_t)x5 * x74) + (((uint64_t)x7 * x75) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + (((uint64_t)x39 * x43) + ((uint64_t)x38 * x41)))))))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + (((uint64_t)x19 * x61) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + (((uint64_t)x37 * x43) + ((uint64_t)x39 * x41)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x38 * x74))));
- uint64_t x78 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x37 * x41))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x39 * x74)) + (0x2 * ((uint64_t)x38 * x75)))));
- uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (0x11 * (((uint64_t)x37 * x74) + (((uint64_t)x39 * x75) + ((uint64_t)x38 * x73)))));
- uint64_t x80 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + (((uint64_t)x31 * x43) + ((uint64_t)x33 * x41))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x35 * x74)) + (((uint64_t)x37 * x75) + (((uint64_t)x39 * x73) + (0x2 * ((uint64_t)x38 * x71)))))));
- uint64_t x81 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((0x2 * ((uint64_t)x29 * x43)) + ((uint64_t)x31 * x41)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x33 * x74)) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + ((0x2 * ((uint64_t)x39 * x71)) + (0x2 * ((uint64_t)x38 * x69))))))));
- uint64_t x82 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x29 * x41))))))))))))) + (0x11 * (((uint64_t)x31 * x74) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + ((uint64_t)x38 * x67))))))));
- uint64_t x83 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x27 * x41)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x29 * x74)) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + (0x2 * ((uint64_t)x38 * x65))))))))));
- uint64_t x84 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((uint64_t)x25 * x41))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x74)) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + ((0x2 * ((uint64_t)x39 * x65)) + (0x2 * ((uint64_t)x38 * x63)))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + ((uint64_t)x23 * x41)))))))))) + (0x11 * (((uint64_t)x25 * x74) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + ((uint64_t)x38 * x61)))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + ((uint64_t)x21 * x41))))))))) + (0x11 * ((0x2 * ((uint64_t)x23 * x74)) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + ((0x2 * ((uint64_t)x29 * x71)) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + (0x2 * ((uint64_t)x38 * x59)))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((uint64_t)x19 * x41)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x74)) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + (((uint64_t)x37 * x61) + ((0x2 * ((uint64_t)x39 * x59)) + (0x2 * ((uint64_t)x38 * x57))))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41))))))) + (0x11 * (((uint64_t)x19 * x74) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + ((uint64_t)x38 * x55))))))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x74)) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + ((0x2 * ((uint64_t)x35 * x59)) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (0x2 * ((uint64_t)x38 * x53))))))))))))))));
- uint64_t x90 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((uint64_t)x13 * x41))))) + (0x11 * ((0x2 * ((uint64_t)x15 * x74)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + ((0x2 * ((uint64_t)x39 * x53)) + (0x2 * ((uint64_t)x38 * x51)))))))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((uint64_t)x11 * x41)))) + (0x11 * (((uint64_t)x13 * x74) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((uint64_t)x38 * x49)))))))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((uint64_t)x9 * x41))) + (0x11 * ((0x2 * ((uint64_t)x11 * x74)) + (((uint64_t)x13 * x75) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + ((0x2 * ((uint64_t)x29 * x59)) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + ((0x2 * ((uint64_t)x35 * x53)) + (((uint64_t)x37 * x51) + (((uint64_t)x39 * x49) + (0x2 * ((uint64_t)x38 * x47)))))))))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) + (0x11 * ((0x2 * ((uint64_t)x9 * x74)) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (((uint64_t)x37 * x49) + ((0x2 * ((uint64_t)x39 * x47)) + (0x2 * ((uint64_t)x38 * x45))))))))))))))))))));
- ℤ x94 = (((uint64_t)x5 * x41) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43)))))))))))))))))))));
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = (x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x93);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x92);
- uint64_t x101 = (x100 >> 0x1a);
- uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- uint64_t x103 = (x101 + x91);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x104 + x90);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x89);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x110 + x88);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x113 + x87);
- uint64_t x116 = (x115 >> 0x1a);
- uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- uint64_t x118 = (x116 + x86);
- uint64_t x119 = (x118 >> 0x1a);
- uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- uint64_t x121 = (x119 + x85);
- uint64_t x122 = (x121 >> 0x19);
- uint32_t x123 = ((uint32_t)x121 & 0x1ffffff);
- uint64_t x124 = (x122 + x84);
- uint64_t x125 = (x124 >> 0x1a);
- uint32_t x126 = ((uint32_t)x124 & 0x3ffffff);
- uint64_t x127 = (x125 + x83);
- uint64_t x128 = (x127 >> 0x1a);
- uint32_t x129 = ((uint32_t)x127 & 0x3ffffff);
- uint64_t x130 = (x128 + x82);
- uint64_t x131 = (x130 >> 0x19);
- uint32_t x132 = ((uint32_t)x130 & 0x1ffffff);
- uint64_t x133 = (x131 + x81);
- uint64_t x134 = (x133 >> 0x1a);
- uint32_t x135 = ((uint32_t)x133 & 0x3ffffff);
- uint64_t x136 = (x134 + x80);
- uint64_t x137 = (x136 >> 0x1a);
- uint32_t x138 = ((uint32_t)x136 & 0x3ffffff);
- uint64_t x139 = (x137 + x79);
- uint64_t x140 = (x139 >> 0x19);
- uint32_t x141 = ((uint32_t)x139 & 0x1ffffff);
- uint64_t x142 = (x140 + x78);
- uint64_t x143 = (x142 >> 0x1a);
- uint32_t x144 = ((uint32_t)x142 & 0x3ffffff);
- uint64_t x145 = (x143 + x77);
- uint64_t x146 = (x145 >> 0x1a);
- uint32_t x147 = ((uint32_t)x145 & 0x3ffffff);
- uint64_t x148 = (x146 + x76);
- uint64_t x149 = (x148 >> 0x19);
- uint32_t x150 = ((uint32_t)x148 & 0x1ffffff);
- uint64_t x151 = (x96 + (0x11 * x149));
- uint32_t x152 = (uint32_t) (x151 >> 0x1a);
- uint32_t x153 = ((uint32_t)x151 & 0x3ffffff);
- uint32_t x154 = (x152 + x99);
- uint32_t x155 = (x154 >> 0x1a);
- uint32_t x156 = (x154 & 0x3ffffff);
- return (Return x150, Return x147, Return x144, Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, (x155 + x102), Return x156, Return x153))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_19limbs/femulDisplay.v b/src/Specific/solinas32_2e488m17_19limbs/femulDisplay.v
deleted file mode 100644
index fa87269b0..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fesquare.c b/src/Specific/solinas32_2e488m17_19limbs/fesquare.c
deleted file mode 100644
index 2b25c02e8..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesquare.c
+++ /dev/null
@@ -1,122 +0,0 @@
-static void fesquare(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x37 = (((uint64_t)x2 * x35) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x35 * x2)))))))))))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x35 * x35))));
- { uint64_t x39 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x36 * x35)) + (0x2 * ((uint64_t)x35 * x36)))));
- { uint64_t x40 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * (((uint64_t)x34 * x35) + (((uint64_t)x36 * x36) + ((uint64_t)x35 * x34)))));
- { uint64_t x41 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x32 * x35)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (0x2 * ((uint64_t)x35 * x32)))))));
- { uint64_t x42 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x30 * x35)) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + (0x2 * ((uint64_t)x35 * x30))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x35) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + ((uint64_t)x35 * x28))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x35)) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (0x2 * ((uint64_t)x35 * x26))))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x35)) + ((0x2 * ((uint64_t)x26 * x36)) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + ((0x2 * ((uint64_t)x36 * x26)) + (0x2 * ((uint64_t)x35 * x24)))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x35) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + ((uint64_t)x35 * x22)))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x35)) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + (0x2 * ((uint64_t)x35 * x20)))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x35)) + ((0x2 * ((uint64_t)x20 * x36)) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + ((0x2 * ((uint64_t)x36 * x20)) + (0x2 * ((uint64_t)x35 * x18))))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x35) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + ((uint64_t)x35 * x16))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x35)) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (0x2 * ((uint64_t)x35 * x14))))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x35)) + ((0x2 * ((uint64_t)x14 * x36)) + (((uint64_t)x16 * x34) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + (((uint64_t)x34 * x16) + ((0x2 * ((uint64_t)x36 * x14)) + (0x2 * ((uint64_t)x35 * x12)))))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x35) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + ((uint64_t)x35 * x10)))))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x35)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (0x2 * ((uint64_t)x35 * x8)))))))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x35)) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + (0x2 * ((uint64_t)x35 * x6))))))))))))))))))));
- { ℤ x55 = (((uint64_t)x2 * x2) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4)))))))))))))))))))));
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = (x55 & 0x3ffffff);
- { uint64_t x58 = (x56 + x54);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x53);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x52);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x51);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x50);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x49);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x48);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x47);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x46);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x45);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x44);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x43);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x42);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x41);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x40);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x39);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x104 + x38);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x37);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x57 + (0x11 * x110));
- { uint32_t x113 = (uint32_t) (x112 >> 0x1a);
- { uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- { uint32_t x115 = (x113 + x60);
- { uint32_t x116 = (x115 >> 0x1a);
- { uint32_t x117 = (x115 & 0x3ffffff);
- out[0] = x114;
- out[1] = x117;
- out[2] = (x116 + x63);
- out[3] = x66;
- out[4] = x69;
- out[5] = x72;
- out[6] = x75;
- out[7] = x78;
- out[8] = x81;
- out[9] = x84;
- out[10] = x87;
- out[11] = x90;
- out[12] = x93;
- out[13] = x96;
- out[14] = x99;
- out[15] = x102;
- out[16] = x105;
- out[17] = x108;
- out[18] = x111;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fesquare.v b/src/Specific/solinas32_2e488m17_19limbs/fesquare.v
deleted file mode 100644
index b516c0d66..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/fesquareDisplay.log b/src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.log
deleted file mode 100644
index 4c31d51f8..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x37 = (((uint64_t)x2 * x35) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x35 * x2)))))))))))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x11 * (0x2 * ((uint64_t)x35 * x35))));
- uint64_t x39 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x36 * x35)) + (0x2 * ((uint64_t)x35 * x36)))));
- uint64_t x40 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * (((uint64_t)x34 * x35) + (((uint64_t)x36 * x36) + ((uint64_t)x35 * x34)))));
- uint64_t x41 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x32 * x35)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (0x2 * ((uint64_t)x35 * x32)))))));
- uint64_t x42 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x30 * x35)) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + (0x2 * ((uint64_t)x35 * x30))))))));
- uint64_t x43 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * (((uint64_t)x28 * x35) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + ((uint64_t)x35 * x28))))))));
- uint64_t x44 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * ((0x2 * ((uint64_t)x26 * x35)) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (0x2 * ((uint64_t)x35 * x26))))))))));
- uint64_t x45 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x35)) + ((0x2 * ((uint64_t)x26 * x36)) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + ((0x2 * ((uint64_t)x36 * x26)) + (0x2 * ((uint64_t)x35 * x24)))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x35) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + ((uint64_t)x35 * x22)))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x11 * ((0x2 * ((uint64_t)x20 * x35)) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + (0x2 * ((uint64_t)x35 * x20)))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x35)) + ((0x2 * ((uint64_t)x20 * x36)) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + ((0x2 * ((uint64_t)x36 * x20)) + (0x2 * ((uint64_t)x35 * x18))))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x35) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + ((uint64_t)x35 * x16))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x35)) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (0x2 * ((uint64_t)x35 * x14))))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint64_t)x12 * x35)) + ((0x2 * ((uint64_t)x14 * x36)) + (((uint64_t)x16 * x34) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + (((uint64_t)x34 * x16) + ((0x2 * ((uint64_t)x36 * x14)) + (0x2 * ((uint64_t)x35 * x12)))))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x35) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + ((uint64_t)x35 * x10)))))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x35)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (0x2 * ((uint64_t)x35 * x8)))))))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * ((0x2 * ((uint64_t)x6 * x35)) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + (0x2 * ((uint64_t)x35 * x6))))))))))))))))))));
- ℤ x55 = (((uint64_t)x2 * x2) +ℤ (0x11 *ℤ ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4)))))))))))))))))))));
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = (x55 & 0x3ffffff);
- uint64_t x58 = (x56 + x54);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x53);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x52);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x51);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x50);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x49);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x48);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x47);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x46);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x45);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x44);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x43);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x42);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x41);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x40);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x39);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x38);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x37);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x57 + (0x11 * x110));
- uint32_t x113 = (uint32_t) (x112 >> 0x1a);
- uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- uint32_t x115 = (x113 + x60);
- uint32_t x116 = (x115 >> 0x1a);
- uint32_t x117 = (x115 & 0x3ffffff);
- return (Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, (x116 + x63), Return x117, Return x114))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.v b/src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.v
deleted file mode 100644
index 2e8db5ad9..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fesub.c b/src/Specific/solinas32_2e488m17_19limbs/fesub.c
deleted file mode 100644
index 844b8947a..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesub.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void fesub(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = ((0x7ffffde + x5) - x41);
- out[1] = ((0x7fffffe + x7) - x43);
- out[2] = ((0x7fffffe + x9) - x45);
- out[3] = ((0x3fffffe + x11) - x47);
- out[4] = ((0x7fffffe + x13) - x49);
- out[5] = ((0x7fffffe + x15) - x51);
- out[6] = ((0x3fffffe + x17) - x53);
- out[7] = ((0x7fffffe + x19) - x55);
- out[8] = ((0x7fffffe + x21) - x57);
- out[9] = ((0x3fffffe + x23) - x59);
- out[10] = ((0x7fffffe + x25) - x61);
- out[11] = ((0x7fffffe + x27) - x63);
- out[12] = ((0x3fffffe + x29) - x65);
- out[13] = ((0x7fffffe + x31) - x67);
- out[14] = ((0x7fffffe + x33) - x69);
- out[15] = ((0x3fffffe + x35) - x71);
- out[16] = ((0x7fffffe + x37) - x73);
- out[17] = ((0x7fffffe + x39) - x75);
- out[18] = ((0x3fffffe + x38) - x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fesub.v b/src/Specific/solinas32_2e488m17_19limbs/fesub.v
deleted file mode 100644
index 88eabf376..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/fesubDisplay.log b/src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.log
deleted file mode 100644
index 7e8da590d..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- (((0x3fffffe + x38) - x74), ((0x7fffffe + x39) - x75), ((0x7fffffe + x37) - x73), ((0x3fffffe + x35) - x71), ((0x7fffffe + x33) - x69), ((0x7fffffe + x31) - x67), ((0x3fffffe + x29) - x65), ((0x7fffffe + x27) - x63), ((0x7fffffe + x25) - x61), ((0x3fffffe + x23) - x59), ((0x7fffffe + x21) - x57), ((0x7fffffe + x19) - x55), ((0x3fffffe + x17) - x53), ((0x7fffffe + x15) - x51), ((0x7fffffe + x13) - x49), ((0x3fffffe + x11) - x47), ((0x7fffffe + x9) - x45), ((0x7fffffe + x7) - x43), ((0x7ffffde + x5) - x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.v b/src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.v
deleted file mode 100644
index 9b498cf2f..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e488m17_19limbs/freeze.c b/src/Specific/solinas32_2e488m17_19limbs/freeze.c
deleted file mode 100644
index 4aa6c61f8..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/freeze.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void freeze(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x6, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x1ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0x3ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0x3ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x1ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0x3ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x1ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0x3ffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x3ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x1ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0x3ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x3ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0x1ffffff);
- { uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- { uint32_t x95 = (x94 & 0x3ffffef);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- { uint32_t x99 = (x94 & 0x3ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- { uint32_t x103 = (x94 & 0x3ffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- { uint32_t x107 = (x94 & 0x1ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- { uint32_t x111 = (x94 & 0x3ffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- { uint32_t x115 = (x94 & 0x3ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- { uint32_t x119 = (x94 & 0x1ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- { uint32_t x123 = (x94 & 0x3ffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- { uint32_t x127 = (x94 & 0x3ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- { uint32_t x131 = (x94 & 0x1ffffff);
- { uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- { uint32_t x135 = (x94 & 0x3ffffff);
- { uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- { uint32_t x139 = (x94 & 0x3ffffff);
- { uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- { uint32_t x143 = (x94 & 0x1ffffff);
- { uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- { uint32_t x147 = (x94 & 0x3ffffff);
- { uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- { uint32_t x151 = (x94 & 0x3ffffff);
- { uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- { uint32_t x155 = (x94 & 0x1ffffff);
- { uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- { uint32_t x159 = (x94 & 0x3ffffff);
- { uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- { uint32_t x163 = (x94 & 0x3ffffff);
- { uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- { uint32_t x167 = (x94 & 0x1ffffff);
- { uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- out[0] = x97;
- out[1] = x101;
- out[2] = x105;
- out[3] = x109;
- out[4] = x113;
- out[5] = x117;
- out[6] = x121;
- out[7] = x125;
- out[8] = x129;
- out[9] = x133;
- out[10] = x137;
- out[11] = x141;
- out[12] = x145;
- out[13] = x149;
- out[14] = x153;
- out[15] = x157;
- out[16] = x161;
- out[17] = x165;
- out[18] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_19limbs/freeze.v b/src/Specific/solinas32_2e488m17_19limbs/freeze.v
deleted file mode 100644
index d40fd750c..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.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_2e488m17_19limbs/freezeDisplay.log b/src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.log
deleted file mode 100644
index 68a85d9df..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.log
+++ /dev/null
@@ -1,65 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffef);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x6, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x1ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0x3ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0x3ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x1ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0x3ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x1ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0x3ffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x3ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x1ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0x3ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x3ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0x1ffffff);
- uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- uint32_t x95 = (x94 & 0x3ffffef);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- uint32_t x99 = (x94 & 0x3ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- uint32_t x103 = (x94 & 0x3ffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- uint32_t x107 = (x94 & 0x1ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- uint32_t x111 = (x94 & 0x3ffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- uint32_t x115 = (x94 & 0x3ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- uint32_t x119 = (x94 & 0x1ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- uint32_t x123 = (x94 & 0x3ffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- uint32_t x127 = (x94 & 0x3ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- uint32_t x131 = (x94 & 0x1ffffff);
- uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- uint32_t x135 = (x94 & 0x3ffffff);
- uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- uint32_t x139 = (x94 & 0x3ffffff);
- uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- uint32_t x143 = (x94 & 0x1ffffff);
- uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- uint32_t x147 = (x94 & 0x3ffffff);
- uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- uint32_t x151 = (x94 & 0x3ffffff);
- uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- uint32_t x155 = (x94 & 0x1ffffff);
- uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- uint32_t x159 = (x94 & 0x3ffffff);
- uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- uint32_t x163 = (x94 & 0x3ffffff);
- uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- uint32_t x167 = (x94 & 0x1ffffff);
- uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- (Return x169, Return x165, Return x161, Return x157, Return x153, Return x149, Return x145, Return x141, Return x137, Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.v b/src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.v
deleted file mode 100644
index dd05b88ea..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_19limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e488m17_19limbs/py_interpreter.sh b/src/Specific/solinas32_2e488m17_19limbs/py_interpreter.sh
deleted file mode 100755
index 67515d991..000000000
--- a/src/Specific/solinas32_2e488m17_19limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**488 - 17' -Dmodulus_bytes='25 + 13/19' -Da24='121665'
diff --git a/src/Specific/solinas32_2e488m17_20limbs/CurveParameters.v b/src/Specific/solinas32_2e488m17_20limbs/CurveParameters.v
deleted file mode 100644
index 0c38c15e7..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^488 - 17
-Base: 24.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 20%nat;
- base := 24 + 2/5;
- bitwidth := 32;
- s := 2^488;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 20); [0; 1]]%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_2e488m17_20limbs/Synthesis.v b/src/Specific/solinas32_2e488m17_20limbs/Synthesis.v
deleted file mode 100644
index 421236ed7..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/compiler.sh b/src/Specific/solinas32_2e488m17_20limbs/compiler.sh
deleted file mode 100755
index 0eb68276d..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,25,24,24,25,24,25,24,24,25,24,25,24,24}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas32_2e488m17_20limbs/compilerxx.sh b/src/Specific/solinas32_2e488m17_20limbs/compilerxx.sh
deleted file mode 100755
index 865354889..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,24,25,24,25,24,24,25,24,25,24,24,25,24,25,24,24}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas32_2e488m17_20limbs/feadd.c b/src/Specific/solinas32_2e488m17_20limbs/feadd.c
deleted file mode 100644
index 28ee6f665..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/feadd.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void feadd(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = (x5 + x43);
- out[1] = (x7 + x45);
- out[2] = (x9 + x47);
- out[3] = (x11 + x49);
- out[4] = (x13 + x51);
- out[5] = (x15 + x53);
- out[6] = (x17 + x55);
- out[7] = (x19 + x57);
- out[8] = (x21 + x59);
- out[9] = (x23 + x61);
- out[10] = (x25 + x63);
- out[11] = (x27 + x65);
- out[12] = (x29 + x67);
- out[13] = (x31 + x69);
- out[14] = (x33 + x71);
- out[15] = (x35 + x73);
- out[16] = (x37 + x75);
- out[17] = (x39 + x77);
- out[18] = (x41 + x79);
- out[19] = (x40 + x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_20limbs/feadd.v b/src/Specific/solinas32_2e488m17_20limbs/feadd.v
deleted file mode 100644
index 905cc672b..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/feaddDisplay.log b/src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.log
deleted file mode 100644
index eebe17777..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- ((x40 + x78), (x41 + x79), (x39 + x77), (x37 + x75), (x35 + x73), (x33 + x71), (x31 + x69), (x29 + x67), (x27 + x65), (x25 + x63), (x23 + x61), (x21 + x59), (x19 + x57), (x17 + x55), (x15 + x53), (x13 + x51), (x11 + x49), (x9 + x47), (x7 + x45), (x5 + x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.v b/src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.v
deleted file mode 100644
index dd1a3c726..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fecarry.v b/src/Specific/solinas32_2e488m17_20limbs/fecarry.v
deleted file mode 100644
index 939eff20d..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/fecarryDisplay.v b/src/Specific/solinas32_2e488m17_20limbs/fecarryDisplay.v
deleted file mode 100644
index f07d3fde7..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e488m17_20limbs/femul.c b/src/Specific/solinas32_2e488m17_20limbs/femul.c
deleted file mode 100644
index c1a465e6e..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/femul.c
+++ /dev/null
@@ -1,148 +0,0 @@
-static void femul(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- { uint64_t x80 = (((uint64_t)x5 * x78) + ((0x2 * ((uint64_t)x7 * x79)) + (((uint64_t)x9 * x77) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + (((uint64_t)x15 * x71) + ((0x2 * ((uint64_t)x17 * x69)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + ((0x2 * ((uint64_t)x41 * x45)) + ((uint64_t)x40 * x43))))))))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x79) + (((uint64_t)x7 * x77) + (((uint64_t)x9 * x75) + (((uint64_t)x11 * x73) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + (((uint64_t)x37 * x47) + (((uint64_t)x39 * x45) + ((uint64_t)x41 * x43))))))))))))))))))) + (0x11 * ((uint64_t)x40 * x78)));
- { uint64_t x82 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + ((0x2 * ((uint64_t)x13 * x69)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + ((0x2 * ((uint64_t)x37 * x45)) + ((uint64_t)x39 * x43)))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x41 * x78)) + (0x2 * ((uint64_t)x40 * x79)))));
- { uint64_t x83 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x37 * x43))))))))))))))))) + (0x11 * (((uint64_t)x39 * x78) + ((0x2 * ((uint64_t)x41 * x79)) + ((uint64_t)x40 * x77)))));
- { uint64_t x84 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((uint64_t)x35 * x43)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x37 * x78)) + ((0x2 * ((uint64_t)x39 * x79)) + ((0x2 * ((uint64_t)x41 * x77)) + (0x2 * ((uint64_t)x40 * x75)))))));
- { uint64_t x85 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + ((uint64_t)x33 * x43))))))))))))))) + (0x11 * (((uint64_t)x35 * x78) + ((0x2 * ((uint64_t)x37 * x79)) + (((uint64_t)x39 * x77) + ((0x2 * ((uint64_t)x41 * x75)) + ((uint64_t)x40 * x73)))))));
- { uint64_t x86 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((uint64_t)x31 * x43)))))))))))))) + (0x11 * (((uint64_t)x33 * x78) + (((uint64_t)x35 * x79) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + ((uint64_t)x40 * x71))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((uint64_t)x29 * x43))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x78)) + ((0x2 * ((uint64_t)x33 * x79)) + (((uint64_t)x35 * x77) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + (0x2 * ((uint64_t)x40 * x69))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x27 * x43)))))))))))) + (0x11 * (((uint64_t)x29 * x78) + ((0x2 * ((uint64_t)x31 * x79)) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + ((0x2 * ((uint64_t)x41 * x69)) + ((uint64_t)x40 * x67))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((uint64_t)x25 * x43))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x78)) + ((0x2 * ((uint64_t)x29 * x79)) + ((0x2 * ((uint64_t)x31 * x77)) + ((0x2 * ((uint64_t)x33 * x75)) + (((uint64_t)x35 * x73) + ((0x2 * ((uint64_t)x37 * x71)) + ((0x2 * ((uint64_t)x39 * x69)) + ((0x2 * ((uint64_t)x41 * x67)) + (0x2 * ((uint64_t)x40 * x65))))))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + ((uint64_t)x23 * x43)))))))))) + (0x11 * (((uint64_t)x25 * x78) + ((0x2 * ((uint64_t)x27 * x79)) + (((uint64_t)x29 * x77) + ((0x2 * ((uint64_t)x31 * x75)) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + ((0x2 * ((uint64_t)x37 * x69)) + (((uint64_t)x39 * x67) + ((0x2 * ((uint64_t)x41 * x65)) + ((uint64_t)x40 * x63))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((uint64_t)x21 * x43))))))))) + (0x11 * (((uint64_t)x23 * x78) + (((uint64_t)x25 * x79) + (((uint64_t)x27 * x77) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + (((uint64_t)x39 * x65) + (((uint64_t)x41 * x63) + ((uint64_t)x40 * x61)))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((uint64_t)x19 * x43)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x78)) + ((0x2 * ((uint64_t)x23 * x79)) + (((uint64_t)x25 * x77) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + ((0x2 * ((uint64_t)x31 * x71)) + ((0x2 * ((uint64_t)x33 * x69)) + (((uint64_t)x35 * x67) + ((0x2 * ((uint64_t)x37 * x65)) + (((uint64_t)x39 * x63) + ((0x2 * ((uint64_t)x41 * x61)) + (0x2 * ((uint64_t)x40 * x59)))))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + ((uint64_t)x17 * x43))))))) + (0x11 * (((uint64_t)x19 * x78) + ((0x2 * ((uint64_t)x21 * x79)) + (((uint64_t)x23 * x77) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + ((0x2 * ((uint64_t)x31 * x69)) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + ((0x2 * ((uint64_t)x41 * x59)) + ((uint64_t)x40 * x57)))))))))))))));
- { uint64_t x94 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((uint64_t)x15 * x43)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x78)) + ((0x2 * ((uint64_t)x19 * x79)) + ((0x2 * ((uint64_t)x21 * x77)) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + ((0x2 * ((uint64_t)x39 * x59)) + ((0x2 * ((uint64_t)x41 * x57)) + (0x2 * ((uint64_t)x40 * x55)))))))))))))))));
- { uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (0x11 * (((uint64_t)x15 * x78) + ((0x2 * ((uint64_t)x17 * x79)) + (((uint64_t)x19 * x77) + ((0x2 * ((uint64_t)x21 * x75)) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((0x2 * ((uint64_t)x37 * x59)) + (((uint64_t)x39 * x57) + ((0x2 * ((uint64_t)x41 * x55)) + ((uint64_t)x40 * x53)))))))))))))))));
- { uint64_t x96 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((uint64_t)x11 * x43)))) + (0x11 * (((uint64_t)x13 * x78) + (((uint64_t)x15 * x79) + (((uint64_t)x17 * x77) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (((uint64_t)x41 * x53) + ((uint64_t)x40 * x51))))))))))))))))));
- { uint64_t x97 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((uint64_t)x9 * x43))) + (0x11 * ((0x2 * ((uint64_t)x11 * x78)) + ((0x2 * ((uint64_t)x13 * x79)) + (((uint64_t)x15 * x77) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((0x2 * ((uint64_t)x37 * x55)) + (((uint64_t)x39 * x53) + ((0x2 * ((uint64_t)x41 * x51)) + (0x2 * ((uint64_t)x40 * x49))))))))))))))))))));
- { uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (0x11 * (((uint64_t)x9 * x78) + ((0x2 * ((uint64_t)x11 * x79)) + (((uint64_t)x13 * x77) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + ((0x2 * ((uint64_t)x21 * x69)) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + ((uint64_t)x40 * x47))))))))))))))))))));
- { uint64_t x99 = (((uint64_t)x5 * x43) + (0x11 * ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45))))))))))))))))))))));
- { uint64_t x100 = (x99 >> 0x19);
- { uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- { uint64_t x102 = (x100 + x98);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x103 + x97);
- { uint64_t x106 = (x105 >> 0x19);
- { uint32_t x107 = ((uint32_t)x105 & 0x1ffffff);
- { uint64_t x108 = (x106 + x96);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x109 + x95);
- { uint64_t x112 = (x111 >> 0x18);
- { uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- { uint64_t x114 = (x112 + x94);
- { uint64_t x115 = (x114 >> 0x19);
- { uint32_t x116 = ((uint32_t)x114 & 0x1ffffff);
- { uint64_t x117 = (x115 + x93);
- { uint64_t x118 = (x117 >> 0x18);
- { uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- { uint64_t x120 = (x118 + x92);
- { uint64_t x121 = (x120 >> 0x19);
- { uint32_t x122 = ((uint32_t)x120 & 0x1ffffff);
- { uint64_t x123 = (x121 + x91);
- { uint64_t x124 = (x123 >> 0x18);
- { uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- { uint64_t x126 = (x124 + x90);
- { uint64_t x127 = (x126 >> 0x18);
- { uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- { uint64_t x129 = (x127 + x89);
- { uint64_t x130 = (x129 >> 0x19);
- { uint32_t x131 = ((uint32_t)x129 & 0x1ffffff);
- { uint64_t x132 = (x130 + x88);
- { uint64_t x133 = (x132 >> 0x18);
- { uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- { uint64_t x135 = (x133 + x87);
- { uint64_t x136 = (x135 >> 0x19);
- { uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- { uint64_t x138 = (x136 + x86);
- { uint64_t x139 = (x138 >> 0x18);
- { uint32_t x140 = ((uint32_t)x138 & 0xffffff);
- { uint64_t x141 = (x139 + x85);
- { uint64_t x142 = (x141 >> 0x18);
- { uint32_t x143 = ((uint32_t)x141 & 0xffffff);
- { uint64_t x144 = (x142 + x84);
- { uint64_t x145 = (x144 >> 0x19);
- { uint32_t x146 = ((uint32_t)x144 & 0x1ffffff);
- { uint64_t x147 = (x145 + x83);
- { uint64_t x148 = (x147 >> 0x18);
- { uint32_t x149 = ((uint32_t)x147 & 0xffffff);
- { uint64_t x150 = (x148 + x82);
- { uint64_t x151 = (x150 >> 0x19);
- { uint32_t x152 = ((uint32_t)x150 & 0x1ffffff);
- { uint64_t x153 = (x151 + x81);
- { uint64_t x154 = (x153 >> 0x18);
- { uint32_t x155 = ((uint32_t)x153 & 0xffffff);
- { uint64_t x156 = (x154 + x80);
- { uint64_t x157 = (x156 >> 0x18);
- { uint32_t x158 = ((uint32_t)x156 & 0xffffff);
- { uint64_t x159 = (x101 + (0x11 * x157));
- { uint32_t x160 = (uint32_t) (x159 >> 0x19);
- { uint32_t x161 = ((uint32_t)x159 & 0x1ffffff);
- { uint32_t x162 = (x160 + x104);
- { uint32_t x163 = (x162 >> 0x18);
- { uint32_t x164 = (x162 & 0xffffff);
- out[0] = x161;
- out[1] = x164;
- out[2] = (x163 + x107);
- out[3] = x110;
- out[4] = x113;
- out[5] = x116;
- out[6] = x119;
- out[7] = x122;
- out[8] = x125;
- out[9] = x128;
- out[10] = x131;
- out[11] = x134;
- out[12] = x137;
- out[13] = x140;
- out[14] = x143;
- out[15] = x146;
- out[16] = x149;
- out[17] = x152;
- out[18] = x155;
- out[19] = x158;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_20limbs/femul.v b/src/Specific/solinas32_2e488m17_20limbs/femul.v
deleted file mode 100644
index 76d8f1315..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/femulDisplay.log b/src/Specific/solinas32_2e488m17_20limbs/femulDisplay.log
deleted file mode 100644
index 0df76c657..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/femulDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- uint64_t x80 = (((uint64_t)x5 * x78) + ((0x2 * ((uint64_t)x7 * x79)) + (((uint64_t)x9 * x77) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + (((uint64_t)x15 * x71) + ((0x2 * ((uint64_t)x17 * x69)) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + (((uint64_t)x25 * x61) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + (((uint64_t)x33 * x53) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + ((0x2 * ((uint64_t)x41 * x45)) + ((uint64_t)x40 * x43))))))))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x79) + (((uint64_t)x7 * x77) + (((uint64_t)x9 * x75) + (((uint64_t)x11 * x73) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((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)x35 * x49) + (((uint64_t)x37 * x47) + (((uint64_t)x39 * x45) + ((uint64_t)x41 * x43))))))))))))))))))) + (0x11 * ((uint64_t)x40 * x78)));
- uint64_t x82 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + ((0x2 * ((uint64_t)x13 * x69)) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + ((0x2 * ((uint64_t)x37 * x45)) + ((uint64_t)x39 * x43)))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x41 * x78)) + (0x2 * ((uint64_t)x40 * x79)))));
- uint64_t x83 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + ((0x2 * ((uint64_t)x21 * x59)) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x37 * x43))))))))))))))))) + (0x11 * (((uint64_t)x39 * x78) + ((0x2 * ((uint64_t)x41 * x79)) + ((uint64_t)x40 * x77)))));
- uint64_t x84 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + (((uint64_t)x15 * x63) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + (((uint64_t)x25 * x53) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((uint64_t)x35 * x43)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x37 * x78)) + ((0x2 * ((uint64_t)x39 * x79)) + ((0x2 * ((uint64_t)x41 * x77)) + (0x2 * ((uint64_t)x40 * x75)))))));
- uint64_t x85 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + ((0x2 * ((uint64_t)x17 * x59)) + (((uint64_t)x19 * x57) + ((0x2 * ((uint64_t)x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + ((0x2 * ((uint64_t)x31 * x45)) + ((uint64_t)x33 * x43))))))))))))))) + (0x11 * (((uint64_t)x35 * x78) + ((0x2 * ((uint64_t)x37 * x79)) + (((uint64_t)x39 * x77) + ((0x2 * ((uint64_t)x41 * x75)) + ((uint64_t)x40 * x73)))))));
- uint64_t x86 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((uint64_t)x31 * x43)))))))))))))) + (0x11 * (((uint64_t)x33 * x78) + (((uint64_t)x35 * x79) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + ((uint64_t)x40 * x71))))))));
- uint64_t x87 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((0x2 * ((uint64_t)x27 * x45)) + ((uint64_t)x29 * x43))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x31 * x78)) + ((0x2 * ((uint64_t)x33 * x79)) + (((uint64_t)x35 * x77) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + (0x2 * ((uint64_t)x40 * x69))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x65) + (((uint64_t)x7 * x63) + (((uint64_t)x9 * x61) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x27 * x43)))))))))))) + (0x11 * (((uint64_t)x29 * x78) + ((0x2 * ((uint64_t)x31 * x79)) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + ((0x2 * ((uint64_t)x41 * x69)) + ((uint64_t)x40 * x67))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + (((uint64_t)x15 * x53) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((uint64_t)x25 * x43))))))))))) + (0x11 * ((0x2 * ((uint64_t)x27 * x78)) + ((0x2 * ((uint64_t)x29 * x79)) + ((0x2 * ((uint64_t)x31 * x77)) + ((0x2 * ((uint64_t)x33 * x75)) + (((uint64_t)x35 * x73) + ((0x2 * ((uint64_t)x37 * x71)) + ((0x2 * ((uint64_t)x39 * x69)) + ((0x2 * ((uint64_t)x41 * x67)) + (0x2 * ((uint64_t)x40 * x65))))))))))));
- uint64_t x90 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((0x2 * ((uint64_t)x21 * x45)) + ((uint64_t)x23 * x43)))))))))) + (0x11 * (((uint64_t)x25 * x78) + ((0x2 * ((uint64_t)x27 * x79)) + (((uint64_t)x29 * x77) + ((0x2 * ((uint64_t)x31 * x75)) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + ((0x2 * ((uint64_t)x37 * x69)) + (((uint64_t)x39 * x67) + ((0x2 * ((uint64_t)x41 * x65)) + ((uint64_t)x40 * x63))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + ((uint64_t)x21 * x43))))))))) + (0x11 * (((uint64_t)x23 * x78) + (((uint64_t)x25 * x79) + (((uint64_t)x27 * x77) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + (((uint64_t)x39 * x65) + (((uint64_t)x41 * x63) + ((uint64_t)x40 * x61)))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((0x2 * ((uint64_t)x17 * x45)) + ((uint64_t)x19 * x43)))))))) + (0x11 * ((0x2 * ((uint64_t)x21 * x78)) + ((0x2 * ((uint64_t)x23 * x79)) + (((uint64_t)x25 * x77) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + ((0x2 * ((uint64_t)x31 * x71)) + ((0x2 * ((uint64_t)x33 * x69)) + (((uint64_t)x35 * x67) + ((0x2 * ((uint64_t)x37 * x65)) + (((uint64_t)x39 * x63) + ((0x2 * ((uint64_t)x41 * x61)) + (0x2 * ((uint64_t)x40 * x59)))))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + ((uint64_t)x17 * x43))))))) + (0x11 * (((uint64_t)x19 * x78) + ((0x2 * ((uint64_t)x21 * x79)) + (((uint64_t)x23 * x77) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + ((0x2 * ((uint64_t)x31 * x69)) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + ((0x2 * ((uint64_t)x41 * x59)) + ((uint64_t)x40 * x57)))))))))))))));
- uint64_t x94 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((uint64_t)x15 * x43)))))) + (0x11 * ((0x2 * ((uint64_t)x17 * x78)) + ((0x2 * ((uint64_t)x19 * x79)) + ((0x2 * ((uint64_t)x21 * x77)) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + ((0x2 * ((uint64_t)x39 * x59)) + ((0x2 * ((uint64_t)x41 * x57)) + (0x2 * ((uint64_t)x40 * x55)))))))))))))))));
- uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (0x11 * (((uint64_t)x15 * x78) + ((0x2 * ((uint64_t)x17 * x79)) + (((uint64_t)x19 * x77) + ((0x2 * ((uint64_t)x21 * x75)) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + ((0x2 * ((uint64_t)x37 * x59)) + (((uint64_t)x39 * x57) + ((0x2 * ((uint64_t)x41 * x55)) + ((uint64_t)x40 * x53)))))))))))))))));
- uint64_t x96 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((uint64_t)x11 * x43)))) + (0x11 * (((uint64_t)x13 * x78) + (((uint64_t)x15 * x79) + (((uint64_t)x17 * x77) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (((uint64_t)x41 * x53) + ((uint64_t)x40 * x51))))))))))))))))));
- uint64_t x97 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((uint64_t)x9 * x43))) + (0x11 * ((0x2 * ((uint64_t)x11 * x78)) + ((0x2 * ((uint64_t)x13 * x79)) + (((uint64_t)x15 * x77) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + (((uint64_t)x35 * x57) + ((0x2 * ((uint64_t)x37 * x55)) + (((uint64_t)x39 * x53) + ((0x2 * ((uint64_t)x41 * x51)) + (0x2 * ((uint64_t)x40 * x49))))))))))))))))))));
- uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (0x11 * (((uint64_t)x9 * x78) + ((0x2 * ((uint64_t)x11 * x79)) + (((uint64_t)x13 * x77) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + ((0x2 * ((uint64_t)x21 * x69)) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + ((0x2 * ((uint64_t)x31 * x59)) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + ((uint64_t)x40 * x47))))))))))))))))))));
- uint64_t x99 = (((uint64_t)x5 * x43) + (0x11 * ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + (((uint64_t)x35 * x53) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45))))))))))))))))))))));
- uint64_t x100 = (x99 >> 0x19);
- uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- uint64_t x102 = (x100 + x98);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x103 + x97);
- uint64_t x106 = (x105 >> 0x19);
- uint32_t x107 = ((uint32_t)x105 & 0x1ffffff);
- uint64_t x108 = (x106 + x96);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x109 + x95);
- uint64_t x112 = (x111 >> 0x18);
- uint32_t x113 = ((uint32_t)x111 & 0xffffff);
- uint64_t x114 = (x112 + x94);
- uint64_t x115 = (x114 >> 0x19);
- uint32_t x116 = ((uint32_t)x114 & 0x1ffffff);
- uint64_t x117 = (x115 + x93);
- uint64_t x118 = (x117 >> 0x18);
- uint32_t x119 = ((uint32_t)x117 & 0xffffff);
- uint64_t x120 = (x118 + x92);
- uint64_t x121 = (x120 >> 0x19);
- uint32_t x122 = ((uint32_t)x120 & 0x1ffffff);
- uint64_t x123 = (x121 + x91);
- uint64_t x124 = (x123 >> 0x18);
- uint32_t x125 = ((uint32_t)x123 & 0xffffff);
- uint64_t x126 = (x124 + x90);
- uint64_t x127 = (x126 >> 0x18);
- uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- uint64_t x129 = (x127 + x89);
- uint64_t x130 = (x129 >> 0x19);
- uint32_t x131 = ((uint32_t)x129 & 0x1ffffff);
- uint64_t x132 = (x130 + x88);
- uint64_t x133 = (x132 >> 0x18);
- uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- uint64_t x135 = (x133 + x87);
- uint64_t x136 = (x135 >> 0x19);
- uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- uint64_t x138 = (x136 + x86);
- uint64_t x139 = (x138 >> 0x18);
- uint32_t x140 = ((uint32_t)x138 & 0xffffff);
- uint64_t x141 = (x139 + x85);
- uint64_t x142 = (x141 >> 0x18);
- uint32_t x143 = ((uint32_t)x141 & 0xffffff);
- uint64_t x144 = (x142 + x84);
- uint64_t x145 = (x144 >> 0x19);
- uint32_t x146 = ((uint32_t)x144 & 0x1ffffff);
- uint64_t x147 = (x145 + x83);
- uint64_t x148 = (x147 >> 0x18);
- uint32_t x149 = ((uint32_t)x147 & 0xffffff);
- uint64_t x150 = (x148 + x82);
- uint64_t x151 = (x150 >> 0x19);
- uint32_t x152 = ((uint32_t)x150 & 0x1ffffff);
- uint64_t x153 = (x151 + x81);
- uint64_t x154 = (x153 >> 0x18);
- uint32_t x155 = ((uint32_t)x153 & 0xffffff);
- uint64_t x156 = (x154 + x80);
- uint64_t x157 = (x156 >> 0x18);
- uint32_t x158 = ((uint32_t)x156 & 0xffffff);
- uint64_t x159 = (x101 + (0x11 * x157));
- uint32_t x160 = (uint32_t) (x159 >> 0x19);
- uint32_t x161 = ((uint32_t)x159 & 0x1ffffff);
- uint32_t x162 = (x160 + x104);
- uint32_t x163 = (x162 >> 0x18);
- uint32_t x164 = (x162 & 0xffffff);
- return (Return x158, Return x155, Return x152, Return x149, Return x146, Return x143, Return x140, Return x137, Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, (x163 + x107), Return x164, Return x161))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_20limbs/femulDisplay.v b/src/Specific/solinas32_2e488m17_20limbs/femulDisplay.v
deleted file mode 100644
index f3e20757d..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fesquare.c b/src/Specific/solinas32_2e488m17_20limbs/fesquare.c
deleted file mode 100644
index 43f70cce0..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesquare.c
+++ /dev/null
@@ -1,128 +0,0 @@
-static void fesquare(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x39 = (((uint64_t)x2 * x37) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + ((0x2 * ((uint64_t)x8 * x34)) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + ((0x2 * ((uint64_t)x14 * x28)) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + ((0x2 * ((uint64_t)x28 * x14)) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((0x2 * ((uint64_t)x34 * x8)) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x37 * x2))))))))))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x11 * ((uint64_t)x37 * x37)));
- { uint64_t x41 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x38 * x37)) + (0x2 * ((uint64_t)x37 * x38)))));
- { uint64_t x42 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + (((uint64_t)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * (((uint64_t)x36 * x37) + ((0x2 * ((uint64_t)x38 * x38)) + ((uint64_t)x37 * x36)))));
- { uint64_t x43 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x34 * x37)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + (0x2 * ((uint64_t)x37 * x34)))))));
- { uint64_t x44 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * (((uint64_t)x32 * x37) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((uint64_t)x37 * x32)))))));
- { uint64_t x45 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x37) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((uint64_t)x37 * x30))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x37)) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + (0x2 * ((uint64_t)x37 * x28))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x37) + ((0x2 * ((uint64_t)x28 * x38)) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + ((0x2 * ((uint64_t)x38 * x28)) + ((uint64_t)x37 * x26))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x37)) + ((0x2 * ((uint64_t)x26 * x38)) + ((0x2 * ((uint64_t)x28 * x36)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + ((0x2 * ((uint64_t)x36 * x28)) + ((0x2 * ((uint64_t)x38 * x26)) + (0x2 * ((uint64_t)x37 * x24))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x37) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + ((uint64_t)x37 * x22))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x37) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + ((uint64_t)x37 * x20)))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x37)) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + (0x2 * ((uint64_t)x37 * x18)))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x37) + ((0x2 * ((uint64_t)x18 * x38)) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + ((0x2 * ((uint64_t)x38 * x18)) + ((uint64_t)x37 * x16)))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x37)) + ((0x2 * ((uint64_t)x16 * x38)) + ((0x2 * ((uint64_t)x18 * x36)) + ((0x2 * ((uint64_t)x20 * x34)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + ((0x2 * ((uint64_t)x34 * x20)) + ((0x2 * ((uint64_t)x36 * x18)) + ((0x2 * ((uint64_t)x38 * x16)) + (0x2 * ((uint64_t)x37 * x14)))))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x37) + ((0x2 * ((uint64_t)x14 * x38)) + (((uint64_t)x16 * x36) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (((uint64_t)x36 * x16) + ((0x2 * ((uint64_t)x38 * x14)) + ((uint64_t)x37 * x12)))))))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x37) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((uint64_t)x37 * x10))))))))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x37)) + ((0x2 * ((uint64_t)x10 * x38)) + (((uint64_t)x12 * x36) + ((0x2 * ((uint64_t)x14 * x34)) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + ((0x2 * ((uint64_t)x34 * x14)) + (((uint64_t)x36 * x12) + ((0x2 * ((uint64_t)x38 * x10)) + (0x2 * ((uint64_t)x37 * x8))))))))))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x37) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + ((uint64_t)x37 * x6))))))))))))))))))));
- { uint64_t x58 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4))))))))))))))))))))));
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x57);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x56);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x55);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x54);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x53);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x52);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x51);
- { uint64_t x80 = (x79 >> 0x19);
- { uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- { uint64_t x82 = (x80 + x50);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x49);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x48);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x47);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x46);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x45);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x98 + x44);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x43);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x104 + x42);
- { uint64_t x107 = (x106 >> 0x18);
- { uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- { uint64_t x109 = (x107 + x41);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x110 + x40);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x39);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x60 + (0x11 * x116));
- { uint32_t x119 = (uint32_t) (x118 >> 0x19);
- { uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- { uint32_t x121 = (x119 + x63);
- { uint32_t x122 = (x121 >> 0x18);
- { uint32_t x123 = (x121 & 0xffffff);
- out[0] = x120;
- out[1] = x123;
- out[2] = (x122 + x66);
- out[3] = x69;
- out[4] = x72;
- out[5] = x75;
- out[6] = x78;
- out[7] = x81;
- out[8] = x84;
- out[9] = x87;
- out[10] = x90;
- out[11] = x93;
- out[12] = x96;
- out[13] = x99;
- out[14] = x102;
- out[15] = x105;
- out[16] = x108;
- out[17] = x111;
- out[18] = x114;
- out[19] = x117;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fesquare.v b/src/Specific/solinas32_2e488m17_20limbs/fesquare.v
deleted file mode 100644
index 007079fa6..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/fesquareDisplay.log b/src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.log
deleted file mode 100644
index aca498357..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x39 = (((uint64_t)x2 * x37) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + ((0x2 * ((uint64_t)x8 * x34)) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + ((0x2 * ((uint64_t)x14 * x28)) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + ((0x2 * ((uint64_t)x28 * x14)) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + ((0x2 * ((uint64_t)x34 * x8)) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x37 * x2))))))))))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x11 * ((uint64_t)x37 * x37)));
- uint64_t x41 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x38 * x37)) + (0x2 * ((uint64_t)x37 * x38)))));
- uint64_t x42 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + (((uint64_t)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x11 * (((uint64_t)x36 * x37) + ((0x2 * ((uint64_t)x38 * x38)) + ((uint64_t)x37 * x36)))));
- uint64_t x43 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x34 * x37)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + (0x2 * ((uint64_t)x37 * x34)))))));
- uint64_t x44 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x11 * (((uint64_t)x32 * x37) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((uint64_t)x37 * x32)))))));
- uint64_t x45 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x11 * (((uint64_t)x30 * x37) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((uint64_t)x37 * x30))))))));
- uint64_t x46 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((0x2 * ((uint64_t)x28 * x37)) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + (0x2 * ((uint64_t)x37 * x28))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x37) + ((0x2 * ((uint64_t)x28 * x38)) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + ((0x2 * ((uint64_t)x38 * x28)) + ((uint64_t)x37 * x26))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x11 * ((0x2 * ((uint64_t)x24 * x37)) + ((0x2 * ((uint64_t)x26 * x38)) + ((0x2 * ((uint64_t)x28 * x36)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + ((0x2 * ((uint64_t)x36 * x28)) + ((0x2 * ((uint64_t)x38 * x26)) + (0x2 * ((uint64_t)x37 * x24))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x37) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + ((uint64_t)x37 * x22))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x18) + (((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)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x37) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + ((uint64_t)x37 * x20)))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + (((uint64_t)x6 * x12) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + (((uint64_t)x12 * x6) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint64_t)x18 * x37)) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + (0x2 * ((uint64_t)x37 * x18)))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x37) + ((0x2 * ((uint64_t)x18 * x38)) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + ((0x2 * ((uint64_t)x38 * x18)) + ((uint64_t)x37 * x16)))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint64_t)x14 * x37)) + ((0x2 * ((uint64_t)x16 * x38)) + ((0x2 * ((uint64_t)x18 * x36)) + ((0x2 * ((uint64_t)x20 * x34)) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + ((0x2 * ((uint64_t)x34 * x20)) + ((0x2 * ((uint64_t)x36 * x18)) + ((0x2 * ((uint64_t)x38 * x16)) + (0x2 * ((uint64_t)x37 * x14)))))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x37) + ((0x2 * ((uint64_t)x14 * x38)) + (((uint64_t)x16 * x36) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + (((uint64_t)x36 * x16) + ((0x2 * ((uint64_t)x38 * x14)) + ((uint64_t)x37 * x12)))))))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x37) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((uint64_t)x37 * x10))))))))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x11 * ((0x2 * ((uint64_t)x8 * x37)) + ((0x2 * ((uint64_t)x10 * x38)) + (((uint64_t)x12 * x36) + ((0x2 * ((uint64_t)x14 * x34)) + (((uint64_t)x16 * x32) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + (((uint64_t)x32 * x16) + ((0x2 * ((uint64_t)x34 * x14)) + (((uint64_t)x36 * x12) + ((0x2 * ((uint64_t)x38 * x10)) + (0x2 * ((uint64_t)x37 * x8))))))))))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x37) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + ((uint64_t)x37 * x6))))))))))))))))))));
- uint64_t x58 = (((uint64_t)x2 * x2) + (0x11 * ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4))))))))))))))))))))));
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x57);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x56);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x55);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x54);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x53);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x52);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x51);
- uint64_t x80 = (x79 >> 0x19);
- uint32_t x81 = ((uint32_t)x79 & 0x1ffffff);
- uint64_t x82 = (x80 + x50);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x49);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x48);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x47);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x46);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x45);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x98 + x44);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x43);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x104 + x42);
- uint64_t x107 = (x106 >> 0x18);
- uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- uint64_t x109 = (x107 + x41);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x110 + x40);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x39);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x60 + (0x11 * x116));
- uint32_t x119 = (uint32_t) (x118 >> 0x19);
- uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- uint32_t x121 = (x119 + x63);
- uint32_t x122 = (x121 >> 0x18);
- uint32_t x123 = (x121 & 0xffffff);
- return (Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, (x122 + x66), Return x123, Return x120))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.v b/src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.v
deleted file mode 100644
index ce7e965aa..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fesub.c b/src/Specific/solinas32_2e488m17_20limbs/fesub.c
deleted file mode 100644
index 206417acd..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesub.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fesub(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = ((0x3ffffde + x5) - x43);
- out[1] = ((0x1fffffe + x7) - x45);
- out[2] = ((0x3fffffe + x9) - x47);
- out[3] = ((0x1fffffe + x11) - x49);
- out[4] = ((0x1fffffe + x13) - x51);
- out[5] = ((0x3fffffe + x15) - x53);
- out[6] = ((0x1fffffe + x17) - x55);
- out[7] = ((0x3fffffe + x19) - x57);
- out[8] = ((0x1fffffe + x21) - x59);
- out[9] = ((0x1fffffe + x23) - x61);
- out[10] = ((0x3fffffe + x25) - x63);
- out[11] = ((0x1fffffe + x27) - x65);
- out[12] = ((0x3fffffe + x29) - x67);
- out[13] = ((0x1fffffe + x31) - x69);
- out[14] = ((0x1fffffe + x33) - x71);
- out[15] = ((0x3fffffe + x35) - x73);
- out[16] = ((0x1fffffe + x37) - x75);
- out[17] = ((0x3fffffe + x39) - x77);
- out[18] = ((0x1fffffe + x41) - x79);
- out[19] = ((0x1fffffe + x40) - x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fesub.v b/src/Specific/solinas32_2e488m17_20limbs/fesub.v
deleted file mode 100644
index 662033c26..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/fesubDisplay.log b/src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.log
deleted file mode 100644
index 452ba7d53..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- (((0x1fffffe + x40) - x78), ((0x1fffffe + x41) - x79), ((0x3fffffe + x39) - x77), ((0x1fffffe + x37) - x75), ((0x3fffffe + x35) - x73), ((0x1fffffe + x33) - x71), ((0x1fffffe + x31) - x69), ((0x3fffffe + x29) - x67), ((0x1fffffe + x27) - x65), ((0x3fffffe + x25) - x63), ((0x1fffffe + x23) - x61), ((0x1fffffe + x21) - x59), ((0x3fffffe + x19) - x57), ((0x1fffffe + x17) - x55), ((0x3fffffe + x15) - x53), ((0x1fffffe + x13) - x51), ((0x1fffffe + x11) - x49), ((0x3fffffe + x9) - x47), ((0x1fffffe + x7) - x45), ((0x3ffffde + x5) - x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.v b/src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.v
deleted file mode 100644
index 877b9efde..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e488m17_20limbs/freeze.c b/src/Specific/solinas32_2e488m17_20limbs/freeze.c
deleted file mode 100644
index 79ed98278..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/freeze.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void freeze(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x1ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0xffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x1ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0xffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0x1ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0xffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x1ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x1ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0xffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0xffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x1ffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x1ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0xffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- { uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- { uint32_t x100 = (x99 & 0x1ffffef);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- { uint32_t x104 = (x99 & 0xffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- { uint32_t x108 = (x99 & 0x1ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- { uint32_t x112 = (x99 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- { uint32_t x116 = (x99 & 0xffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- { uint32_t x120 = (x99 & 0x1ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- { uint32_t x124 = (x99 & 0xffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- { uint32_t x128 = (x99 & 0x1ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- { uint32_t x132 = (x99 & 0xffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- { uint32_t x136 = (x99 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- { uint32_t x140 = (x99 & 0x1ffffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- { uint32_t x144 = (x99 & 0xffffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- { uint32_t x148 = (x99 & 0x1ffffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- { uint32_t x152 = (x99 & 0xffffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- { uint32_t x156 = (x99 & 0xffffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- { uint32_t x160 = (x99 & 0x1ffffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- { uint32_t x164 = (x99 & 0xffffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- { uint32_t x168 = (x99 & 0x1ffffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- { uint32_t x172 = (x99 & 0xffffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- { uint32_t x176 = (x99 & 0xffffff);
- { uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- out[0] = x102;
- out[1] = x106;
- out[2] = x110;
- out[3] = x114;
- out[4] = x118;
- out[5] = x122;
- out[6] = x126;
- out[7] = x130;
- out[8] = x134;
- out[9] = x138;
- out[10] = x142;
- out[11] = x146;
- out[12] = x150;
- out[13] = x154;
- out[14] = x158;
- out[15] = x162;
- out[16] = x166;
- out[17] = x170;
- out[18] = x174;
- out[19] = x178;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e488m17_20limbs/freeze.v b/src/Specific/solinas32_2e488m17_20limbs/freeze.v
deleted file mode 100644
index 36268957e..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.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_2e488m17_20limbs/freezeDisplay.log b/src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.log
deleted file mode 100644
index 908e52cea..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffef);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x1ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x1ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0x1ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x1ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x1ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0xffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0xffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x1ffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x1ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0xffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- uint32_t x100 = (x99 & 0x1ffffef);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- uint32_t x104 = (x99 & 0xffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- uint32_t x108 = (x99 & 0x1ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- uint32_t x112 = (x99 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- uint32_t x116 = (x99 & 0xffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- uint32_t x120 = (x99 & 0x1ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- uint32_t x124 = (x99 & 0xffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- uint32_t x128 = (x99 & 0x1ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- uint32_t x132 = (x99 & 0xffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- uint32_t x136 = (x99 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- uint32_t x140 = (x99 & 0x1ffffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- uint32_t x144 = (x99 & 0xffffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- uint32_t x148 = (x99 & 0x1ffffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- uint32_t x152 = (x99 & 0xffffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- uint32_t x156 = (x99 & 0xffffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- uint32_t x160 = (x99 & 0x1ffffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- uint32_t x164 = (x99 & 0xffffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- uint32_t x168 = (x99 & 0x1ffffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- uint32_t x172 = (x99 & 0xffffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- uint32_t x176 = (x99 & 0xffffff);
- uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- (Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.v b/src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.v
deleted file mode 100644
index 36b01db19..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e488m17_20limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e488m17_20limbs/py_interpreter.sh b/src/Specific/solinas32_2e488m17_20limbs/py_interpreter.sh
deleted file mode 100755
index 906be2e3d..000000000
--- a/src/Specific/solinas32_2e488m17_20limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**488 - 17' -Dmodulus_bytes='24.4' -Da24='121665'
diff --git a/src/Specific/solinas32_2e489m21_19limbs/CurveParameters.v b/src/Specific/solinas32_2e489m21_19limbs/CurveParameters.v
deleted file mode 100644
index 55c7fba35..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^489 - 21
-Base: 25 + 14/19
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 19%nat;
- base := 25 + 14/19;
- bitwidth := 32;
- s := 2^489;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 19); [0; 1]]%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_2e489m21_19limbs/Synthesis.v b/src/Specific/solinas32_2e489m21_19limbs/Synthesis.v
deleted file mode 100644
index f5eb0a99e..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/compiler.sh b/src/Specific/solinas32_2e489m21_19limbs/compiler.sh
deleted file mode 100755
index e0bed9018..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25,26,26,26,25,26,26,26,25,26,26,25}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas32_2e489m21_19limbs/compilerxx.sh b/src/Specific/solinas32_2e489m21_19limbs/compilerxx.sh
deleted file mode 100755
index 4f6f47511..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{26,26,26,25,26,26,26,25,26,26,26,25,26,26,26,25,26,26,25}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas32_2e489m21_19limbs/feadd.c b/src/Specific/solinas32_2e489m21_19limbs/feadd.c
deleted file mode 100644
index 7432e2ef1..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/feadd.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void feadd(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = (x5 + x41);
- out[1] = (x7 + x43);
- out[2] = (x9 + x45);
- out[3] = (x11 + x47);
- out[4] = (x13 + x49);
- out[5] = (x15 + x51);
- out[6] = (x17 + x53);
- out[7] = (x19 + x55);
- out[8] = (x21 + x57);
- out[9] = (x23 + x59);
- out[10] = (x25 + x61);
- out[11] = (x27 + x63);
- out[12] = (x29 + x65);
- out[13] = (x31 + x67);
- out[14] = (x33 + x69);
- out[15] = (x35 + x71);
- out[16] = (x37 + x73);
- out[17] = (x39 + x75);
- out[18] = (x38 + x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_19limbs/feadd.v b/src/Specific/solinas32_2e489m21_19limbs/feadd.v
deleted file mode 100644
index 7e346bcdb..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/feaddDisplay.log b/src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.log
deleted file mode 100644
index 76a71b356..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- ((x38 + x74), (x39 + x75), (x37 + x73), (x35 + x71), (x33 + x69), (x31 + x67), (x29 + x65), (x27 + x63), (x25 + x61), (x23 + x59), (x21 + x57), (x19 + x55), (x17 + x53), (x15 + x51), (x13 + x49), (x11 + x47), (x9 + x45), (x7 + x43), (x5 + x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.v b/src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.v
deleted file mode 100644
index 78dee1f40..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fecarry.v b/src/Specific/solinas32_2e489m21_19limbs/fecarry.v
deleted file mode 100644
index f149823df..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/fecarryDisplay.v b/src/Specific/solinas32_2e489m21_19limbs/fecarryDisplay.v
deleted file mode 100644
index e3d238077..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e489m21_19limbs/femul.c b/src/Specific/solinas32_2e489m21_19limbs/femul.c
deleted file mode 100644
index cd4bd09ed..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/femul.c
+++ /dev/null
@@ -1,141 +0,0 @@
-static void femul(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- { uint64_t x76 = (((uint64_t)x5 * x74) + (((uint64_t)x7 * x75) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + (((uint64_t)x39 * x43) + ((uint64_t)x38 * x41)))))))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + (((uint64_t)x37 * x43) + ((uint64_t)x39 * x41)))))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x38 * x74))));
- { uint64_t x78 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + (((uint64_t)x29 * x49) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x37 * x41))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x39 * x74)) + (0x2 * ((uint64_t)x38 * x75)))));
- { uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (0x15 * (((uint64_t)x37 * x74) + (((uint64_t)x39 * x75) + ((uint64_t)x38 * x73)))));
- { uint64_t x80 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + ((uint64_t)x33 * x41))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x35 * x74)) + (((uint64_t)x37 * x75) + (((uint64_t)x39 * x73) + (0x2 * ((uint64_t)x38 * x71)))))));
- { uint64_t x81 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + (((uint64_t)x29 * x43) + ((uint64_t)x31 * x41)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x74)) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + ((0x2 * ((uint64_t)x39 * x71)) + (0x2 * ((uint64_t)x38 * x69))))))));
- { uint64_t x82 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((uint64_t)x29 * x41))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x74)) + ((0x2 * ((uint64_t)x33 * x75)) + ((0x2 * ((uint64_t)x35 * x73)) + ((0x2 * ((uint64_t)x37 * x71)) + ((0x2 * ((uint64_t)x39 * x69)) + (0x2 * ((uint64_t)x38 * x67)))))))));
- { uint64_t x83 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((uint64_t)x27 * x41)))))))))))) + (0x15 * (((uint64_t)x29 * x74) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + ((uint64_t)x38 * x65)))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((uint64_t)x25 * x41))))))))))) + (0x15 * ((0x2 * ((uint64_t)x27 * x74)) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + (((uint64_t)x39 * x65) + (0x2 * ((uint64_t)x38 * x63)))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((uint64_t)x23 * x41)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x74)) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + ((0x2 * ((uint64_t)x31 * x71)) + ((0x2 * ((uint64_t)x33 * x69)) + ((0x2 * ((uint64_t)x35 * x67)) + (((uint64_t)x37 * x65) + ((0x2 * ((uint64_t)x39 * x63)) + (0x2 * ((uint64_t)x38 * x61))))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((uint64_t)x21 * x41))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x74)) + ((0x2 * ((uint64_t)x25 * x75)) + ((0x2 * ((uint64_t)x27 * x73)) + ((0x2 * ((uint64_t)x29 * x71)) + ((0x2 * ((uint64_t)x31 * x69)) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + ((0x2 * ((uint64_t)x37 * x63)) + ((0x2 * ((uint64_t)x39 * x61)) + (0x2 * ((uint64_t)x38 * x59)))))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41)))))))) + (0x15 * (((uint64_t)x21 * x74) + (((uint64_t)x23 * x75) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + ((uint64_t)x38 * x57)))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x74)) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + (0x2 * ((uint64_t)x38 * x55)))))))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (0x15 * ((0x2 * ((uint64_t)x17 * x74)) + ((0x2 * ((uint64_t)x19 * x75)) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + (((uint64_t)x37 * x57) + ((0x2 * ((uint64_t)x39 * x55)) + (0x2 * ((uint64_t)x38 * x53))))))))))))))));
- { ℤ x90 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((uint64_t)x13 * x41))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x15 * x74)) + ((0x2 * ((uint64_t)x17 * x75)) + ((0x2 * ((uint64_t)x19 * x73)) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((0x2 * ((uint64_t)x39 * x53)) + (0x2 * ((uint64_t)x38 * x51)))))))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((uint64_t)x11 * x41)))) + (0x15 * (((uint64_t)x13 * x74) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((uint64_t)x38 * x49)))))))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((uint64_t)x9 * x41))) + (0x15 * ((0x2 * ((uint64_t)x11 * x74)) + (((uint64_t)x13 * x75) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (((uint64_t)x37 * x51) + (((uint64_t)x39 * x49) + (0x2 * ((uint64_t)x38 * x47)))))))))))))))))));
- { ℤ x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x9 * x74)) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (((uint64_t)x37 * x49) + ((0x2 * ((uint64_t)x39 * x47)) + (0x2 * ((uint64_t)x38 * x45))))))))))))))))))));
- { ℤ x94 = (((uint64_t)x5 * x41) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43)))))))))))))))))))));
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = (x94 & 0x3ffffff);
- { ℤ x97 = (x95 +ℤ x93);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = (x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x92);
- { uint64_t x101 = (x100 >> 0x1a);
- { uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- { uint64_t x103 = (x101 + x91);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { ℤ x106 = (x104 +ℤ x90);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = (x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x89);
- { uint64_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- { uint64_t x112 = (x110 + x88);
- { uint64_t x113 = (x112 >> 0x1a);
- { uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- { uint64_t x115 = (x113 + x87);
- { uint64_t x116 = (x115 >> 0x19);
- { uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- { uint64_t x118 = (x116 + x86);
- { uint64_t x119 = (x118 >> 0x1a);
- { uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- { uint64_t x121 = (x119 + x85);
- { uint64_t x122 = (x121 >> 0x1a);
- { uint32_t x123 = ((uint32_t)x121 & 0x3ffffff);
- { uint64_t x124 = (x122 + x84);
- { uint64_t x125 = (x124 >> 0x1a);
- { uint32_t x126 = ((uint32_t)x124 & 0x3ffffff);
- { uint64_t x127 = (x125 + x83);
- { uint64_t x128 = (x127 >> 0x19);
- { uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- { uint64_t x130 = (x128 + x82);
- { uint64_t x131 = (x130 >> 0x1a);
- { uint32_t x132 = ((uint32_t)x130 & 0x3ffffff);
- { uint64_t x133 = (x131 + x81);
- { uint64_t x134 = (x133 >> 0x1a);
- { uint32_t x135 = ((uint32_t)x133 & 0x3ffffff);
- { uint64_t x136 = (x134 + x80);
- { uint64_t x137 = (x136 >> 0x1a);
- { uint32_t x138 = ((uint32_t)x136 & 0x3ffffff);
- { uint64_t x139 = (x137 + x79);
- { uint64_t x140 = (x139 >> 0x19);
- { uint32_t x141 = ((uint32_t)x139 & 0x1ffffff);
- { uint64_t x142 = (x140 + x78);
- { uint64_t x143 = (x142 >> 0x1a);
- { uint32_t x144 = ((uint32_t)x142 & 0x3ffffff);
- { uint64_t x145 = (x143 + x77);
- { uint64_t x146 = (x145 >> 0x1a);
- { uint32_t x147 = ((uint32_t)x145 & 0x3ffffff);
- { uint64_t x148 = (x146 + x76);
- { uint64_t x149 = (x148 >> 0x19);
- { uint32_t x150 = ((uint32_t)x148 & 0x1ffffff);
- { uint64_t x151 = (x96 + (0x15 * x149));
- { uint32_t x152 = (uint32_t) (x151 >> 0x1a);
- { uint32_t x153 = ((uint32_t)x151 & 0x3ffffff);
- { uint32_t x154 = (x152 + x99);
- { uint32_t x155 = (x154 >> 0x1a);
- { uint32_t x156 = (x154 & 0x3ffffff);
- out[0] = x153;
- out[1] = x156;
- out[2] = (x155 + x102);
- out[3] = x105;
- out[4] = x108;
- out[5] = x111;
- out[6] = x114;
- out[7] = x117;
- out[8] = x120;
- out[9] = x123;
- out[10] = x126;
- out[11] = x129;
- out[12] = x132;
- out[13] = x135;
- out[14] = x138;
- out[15] = x141;
- out[16] = x144;
- out[17] = x147;
- out[18] = x150;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_19limbs/femul.v b/src/Specific/solinas32_2e489m21_19limbs/femul.v
deleted file mode 100644
index 9d6bc5e17..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/femulDisplay.log b/src/Specific/solinas32_2e489m21_19limbs/femulDisplay.log
deleted file mode 100644
index f3059424a..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/femulDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- uint64_t x76 = (((uint64_t)x5 * x74) + (((uint64_t)x7 * x75) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + (((uint64_t)x39 * x43) + ((uint64_t)x38 * x41)))))))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + (((uint64_t)x37 * x43) + ((uint64_t)x39 * x41)))))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x38 * x74))));
- uint64_t x78 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + (((uint64_t)x21 * x57) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + (((uint64_t)x29 * x49) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x37 * x41))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x39 * x74)) + (0x2 * ((uint64_t)x38 * x75)))));
- uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (0x15 * (((uint64_t)x37 * x74) + (((uint64_t)x39 * x75) + ((uint64_t)x38 * x73)))));
- uint64_t x80 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + ((uint64_t)x33 * x41))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x35 * x74)) + (((uint64_t)x37 * x75) + (((uint64_t)x39 * x73) + (0x2 * ((uint64_t)x38 * x71)))))));
- uint64_t x81 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + (((uint64_t)x29 * x43) + ((uint64_t)x31 * x41)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x74)) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + ((0x2 * ((uint64_t)x39 * x71)) + (0x2 * ((uint64_t)x38 * x69))))))));
- uint64_t x82 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + (((uint64_t)x13 * x57) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + (((uint64_t)x21 * x49) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((0x2 * ((uint64_t)x27 * x43)) + ((uint64_t)x29 * x41))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x31 * x74)) + ((0x2 * ((uint64_t)x33 * x75)) + ((0x2 * ((uint64_t)x35 * x73)) + ((0x2 * ((uint64_t)x37 * x71)) + ((0x2 * ((uint64_t)x39 * x69)) + (0x2 * ((uint64_t)x38 * x67)))))))));
- uint64_t x83 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((uint64_t)x27 * x41)))))))))))) + (0x15 * (((uint64_t)x29 * x74) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + ((uint64_t)x38 * x65)))))))));
- uint64_t x84 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((uint64_t)x25 * x41))))))))))) + (0x15 * ((0x2 * ((uint64_t)x27 * x74)) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + (((uint64_t)x39 * x65) + (0x2 * ((uint64_t)x38 * x63)))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((uint64_t)x23 * x41)))))))))) + (0x15 * ((0x2 * ((uint64_t)x25 * x74)) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + ((0x2 * ((uint64_t)x31 * x71)) + ((0x2 * ((uint64_t)x33 * x69)) + ((0x2 * ((uint64_t)x35 * x67)) + (((uint64_t)x37 * x65) + ((0x2 * ((uint64_t)x39 * x63)) + (0x2 * ((uint64_t)x38 * x61))))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((0x2 * ((uint64_t)x19 * x43)) + ((uint64_t)x21 * x41))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x74)) + ((0x2 * ((uint64_t)x25 * x75)) + ((0x2 * ((uint64_t)x27 * x73)) + ((0x2 * ((uint64_t)x29 * x71)) + ((0x2 * ((uint64_t)x31 * x69)) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + ((0x2 * ((uint64_t)x37 * x63)) + ((0x2 * ((uint64_t)x39 * x61)) + (0x2 * ((uint64_t)x38 * x59)))))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((uint64_t)x19 * x41)))))))) + (0x15 * (((uint64_t)x21 * x74) + (((uint64_t)x23 * x75) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + ((uint64_t)x38 * x57)))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x74)) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + (0x2 * ((uint64_t)x38 * x55)))))))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (0x15 * ((0x2 * ((uint64_t)x17 * x74)) + ((0x2 * ((uint64_t)x19 * x75)) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + ((0x2 * ((uint64_t)x31 * x63)) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + (((uint64_t)x37 * x57) + ((0x2 * ((uint64_t)x39 * x55)) + (0x2 * ((uint64_t)x38 * x53))))))))))))))));
- ℤ x90 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((uint64_t)x13 * x41))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x15 * x74)) + ((0x2 * ((uint64_t)x17 * x75)) + ((0x2 * ((uint64_t)x19 * x73)) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((0x2 * ((uint64_t)x39 * x53)) + (0x2 * ((uint64_t)x38 * x51)))))))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((uint64_t)x11 * x41)))) + (0x15 * (((uint64_t)x13 * x74) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + ((0x2 * ((uint64_t)x35 * x55)) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((uint64_t)x38 * x49)))))))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((uint64_t)x9 * x41))) + (0x15 * ((0x2 * ((uint64_t)x11 * x74)) + (((uint64_t)x13 * x75) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + (((uint64_t)x21 * x67) + (((uint64_t)x23 * x65) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (((uint64_t)x37 * x51) + (((uint64_t)x39 * x49) + (0x2 * ((uint64_t)x38 * x47)))))))))))))))))));
- ℤ x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x9 * x74)) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + (((uint64_t)x29 * x57) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + (((uint64_t)x37 * x49) + ((0x2 * ((uint64_t)x39 * x47)) + (0x2 * ((uint64_t)x38 * x45))))))))))))))))))));
- ℤ x94 = (((uint64_t)x5 * x41) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43)))))))))))))))))))));
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = (x94 & 0x3ffffff);
- ℤ x97 = (x95 +ℤ x93);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = (x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x92);
- uint64_t x101 = (x100 >> 0x1a);
- uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- uint64_t x103 = (x101 + x91);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- ℤ x106 = (x104 +ℤ x90);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = (x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x89);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x110 + x88);
- uint64_t x113 = (x112 >> 0x1a);
- uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- uint64_t x115 = (x113 + x87);
- uint64_t x116 = (x115 >> 0x19);
- uint32_t x117 = ((uint32_t)x115 & 0x1ffffff);
- uint64_t x118 = (x116 + x86);
- uint64_t x119 = (x118 >> 0x1a);
- uint32_t x120 = ((uint32_t)x118 & 0x3ffffff);
- uint64_t x121 = (x119 + x85);
- uint64_t x122 = (x121 >> 0x1a);
- uint32_t x123 = ((uint32_t)x121 & 0x3ffffff);
- uint64_t x124 = (x122 + x84);
- uint64_t x125 = (x124 >> 0x1a);
- uint32_t x126 = ((uint32_t)x124 & 0x3ffffff);
- uint64_t x127 = (x125 + x83);
- uint64_t x128 = (x127 >> 0x19);
- uint32_t x129 = ((uint32_t)x127 & 0x1ffffff);
- uint64_t x130 = (x128 + x82);
- uint64_t x131 = (x130 >> 0x1a);
- uint32_t x132 = ((uint32_t)x130 & 0x3ffffff);
- uint64_t x133 = (x131 + x81);
- uint64_t x134 = (x133 >> 0x1a);
- uint32_t x135 = ((uint32_t)x133 & 0x3ffffff);
- uint64_t x136 = (x134 + x80);
- uint64_t x137 = (x136 >> 0x1a);
- uint32_t x138 = ((uint32_t)x136 & 0x3ffffff);
- uint64_t x139 = (x137 + x79);
- uint64_t x140 = (x139 >> 0x19);
- uint32_t x141 = ((uint32_t)x139 & 0x1ffffff);
- uint64_t x142 = (x140 + x78);
- uint64_t x143 = (x142 >> 0x1a);
- uint32_t x144 = ((uint32_t)x142 & 0x3ffffff);
- uint64_t x145 = (x143 + x77);
- uint64_t x146 = (x145 >> 0x1a);
- uint32_t x147 = ((uint32_t)x145 & 0x3ffffff);
- uint64_t x148 = (x146 + x76);
- uint64_t x149 = (x148 >> 0x19);
- uint32_t x150 = ((uint32_t)x148 & 0x1ffffff);
- uint64_t x151 = (x96 + (0x15 * x149));
- uint32_t x152 = (uint32_t) (x151 >> 0x1a);
- uint32_t x153 = ((uint32_t)x151 & 0x3ffffff);
- uint32_t x154 = (x152 + x99);
- uint32_t x155 = (x154 >> 0x1a);
- uint32_t x156 = (x154 & 0x3ffffff);
- return (Return x150, Return x147, Return x144, Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, (x155 + x102), Return x156, Return x153))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_19limbs/femulDisplay.v b/src/Specific/solinas32_2e489m21_19limbs/femulDisplay.v
deleted file mode 100644
index 0195adea7..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fesquare.c b/src/Specific/solinas32_2e489m21_19limbs/fesquare.c
deleted file mode 100644
index ac43e2200..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesquare.c
+++ /dev/null
@@ -1,122 +0,0 @@
-static void fesquare(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x37 = (((uint64_t)x2 * x35) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x35 * x2)))))))))))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x35 * x35))));
- { uint64_t x39 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x36 * x35)) + (0x2 * ((uint64_t)x35 * x36)))));
- { uint64_t x40 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x15 * (((uint64_t)x34 * x35) + (((uint64_t)x36 * x36) + ((uint64_t)x35 * x34)))));
- { uint64_t x41 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x32 * x35)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (0x2 * ((uint64_t)x35 * x32)))))));
- { uint64_t x42 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x35)) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + (0x2 * ((uint64_t)x35 * x30))))))));
- { uint64_t x43 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x35)) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + (0x2 * ((uint64_t)x35 * x28)))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * (((uint64_t)x26 * x35) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + ((uint64_t)x35 * x26)))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * ((0x2 * ((uint64_t)x24 * x35)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (0x2 * ((uint64_t)x35 * x24)))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x35)) + ((0x2 * ((uint64_t)x24 * x36)) + (((uint64_t)x26 * x34) + ((0x2 * ((uint64_t)x28 * x32)) + ((0x2 * ((uint64_t)x30 * x30)) + ((0x2 * ((uint64_t)x32 * x28)) + (((uint64_t)x34 * x26) + ((0x2 * ((uint64_t)x36 * x24)) + (0x2 * ((uint64_t)x35 * x22))))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x35)) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (0x2 * ((uint64_t)x35 * x20)))))))))))));
- { uint64_t x48 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x35) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + ((uint64_t)x35 * x18)))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x35)) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (0x2 * ((uint64_t)x35 * x16)))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * ((0x2 * ((uint64_t)x14 * x35)) + ((0x2 * ((uint64_t)x16 * x36)) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + ((0x2 * ((uint64_t)x36 * x16)) + (0x2 * ((uint64_t)x35 * x14))))))))))))))));
- { ℤ x51 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x12 * x35)) + ((0x2 * ((uint64_t)x14 * x36)) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + ((0x2 * ((uint64_t)x36 * x14)) + (0x2 * ((uint64_t)x35 * x12)))))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x15 * (((uint64_t)x10 * x35) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + ((uint64_t)x35 * x10)))))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x15 * ((0x2 * ((uint64_t)x8 * x35)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (0x2 * ((uint64_t)x35 * x8)))))))))))))))))));
- { ℤ x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x6 * x35)) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + (0x2 * ((uint64_t)x35 * x6))))))))))))))))))));
- { ℤ x55 = (((uint64_t)x2 * x2) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4)))))))))))))))))))));
- { uint64_t x56 = (x55 >> 0x1a);
- { uint32_t x57 = (x55 & 0x3ffffff);
- { ℤ x58 = (x56 +ℤ x54);
- { uint64_t x59 = (x58 >> 0x1a);
- { uint32_t x60 = (x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x53);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x52);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { ℤ x67 = (x65 +ℤ x51);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = (x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x50);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x49);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x48);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x47);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x46);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x45);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x44);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x43);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x42);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x41);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x40);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x39);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x104 + x38);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x37);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x57 + (0x15 * x110));
- { uint32_t x113 = (uint32_t) (x112 >> 0x1a);
- { uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- { uint32_t x115 = (x113 + x60);
- { uint32_t x116 = (x115 >> 0x1a);
- { uint32_t x117 = (x115 & 0x3ffffff);
- out[0] = x114;
- out[1] = x117;
- out[2] = (x116 + x63);
- out[3] = x66;
- out[4] = x69;
- out[5] = x72;
- out[6] = x75;
- out[7] = x78;
- out[8] = x81;
- out[9] = x84;
- out[10] = x87;
- out[11] = x90;
- out[12] = x93;
- out[13] = x96;
- out[14] = x99;
- out[15] = x102;
- out[16] = x105;
- out[17] = x108;
- out[18] = x111;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fesquare.v b/src/Specific/solinas32_2e489m21_19limbs/fesquare.v
deleted file mode 100644
index 0ae018993..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/fesquareDisplay.log b/src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.log
deleted file mode 100644
index d04850be0..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x37 = (((uint64_t)x2 * x35) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x35 * x2)))))))))))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x15 * (0x2 * ((uint64_t)x35 * x35))));
- uint64_t x39 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x36 * x35)) + (0x2 * ((uint64_t)x35 * x36)))));
- uint64_t x40 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x15 * (((uint64_t)x34 * x35) + (((uint64_t)x36 * x36) + ((uint64_t)x35 * x34)))));
- uint64_t x41 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x32 * x35)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (0x2 * ((uint64_t)x35 * x32)))))));
- uint64_t x42 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x35)) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + (0x2 * ((uint64_t)x35 * x30))))))));
- uint64_t x43 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x28 * x35)) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + (0x2 * ((uint64_t)x35 * x28)))))))));
- uint64_t x44 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * (((uint64_t)x26 * x35) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + ((uint64_t)x35 * x26)))))))));
- uint64_t x45 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x15 * ((0x2 * ((uint64_t)x24 * x35)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (0x2 * ((uint64_t)x35 * x24)))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * ((0x2 * ((uint64_t)x22 * x35)) + ((0x2 * ((uint64_t)x24 * x36)) + (((uint64_t)x26 * x34) + ((0x2 * ((uint64_t)x28 * x32)) + ((0x2 * ((uint64_t)x30 * x30)) + ((0x2 * ((uint64_t)x32 * x28)) + (((uint64_t)x34 * x26) + ((0x2 * ((uint64_t)x36 * x24)) + (0x2 * ((uint64_t)x35 * x22))))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x35)) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (0x2 * ((uint64_t)x35 * x20)))))))))))));
- uint64_t x48 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x35) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + ((uint64_t)x35 * x18)))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x35)) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (0x2 * ((uint64_t)x35 * x16)))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * ((0x2 * ((uint64_t)x14 * x35)) + ((0x2 * ((uint64_t)x16 * x36)) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + ((0x2 * ((uint64_t)x36 * x16)) + (0x2 * ((uint64_t)x35 * x14))))))))))))))));
- ℤ x51 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x12 * x35)) + ((0x2 * ((uint64_t)x14 * x36)) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + ((0x2 * ((uint64_t)x36 * x14)) + (0x2 * ((uint64_t)x35 * x12)))))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x15 * (((uint64_t)x10 * x35) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + ((uint64_t)x35 * x10)))))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x15 * ((0x2 * ((uint64_t)x8 * x35)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (0x2 * ((uint64_t)x35 * x8)))))))))))))))))));
- ℤ x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x6 * x35)) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + (0x2 * ((uint64_t)x35 * x6))))))))))))))))))));
- ℤ x55 = (((uint64_t)x2 * x2) +ℤ (0x15 *ℤ ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4)))))))))))))))))))));
- uint64_t x56 = (x55 >> 0x1a);
- uint32_t x57 = (x55 & 0x3ffffff);
- ℤ x58 = (x56 +ℤ x54);
- uint64_t x59 = (x58 >> 0x1a);
- uint32_t x60 = (x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x53);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x52);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- ℤ x67 = (x65 +ℤ x51);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = (x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x50);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x49);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x48);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x47);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x46);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x45);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x44);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x43);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x42);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x41);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x40);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x39);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x38);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x37);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x57 + (0x15 * x110));
- uint32_t x113 = (uint32_t) (x112 >> 0x1a);
- uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- uint32_t x115 = (x113 + x60);
- uint32_t x116 = (x115 >> 0x1a);
- uint32_t x117 = (x115 & 0x3ffffff);
- return (Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, (x116 + x63), Return x117, Return x114))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.v b/src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.v
deleted file mode 100644
index 469ff012f..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fesub.c b/src/Specific/solinas32_2e489m21_19limbs/fesub.c
deleted file mode 100644
index c03afdc41..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesub.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void fesub(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = ((0x7ffffd6 + x5) - x41);
- out[1] = ((0x7fffffe + x7) - x43);
- out[2] = ((0x7fffffe + x9) - x45);
- out[3] = ((0x3fffffe + x11) - x47);
- out[4] = ((0x7fffffe + x13) - x49);
- out[5] = ((0x7fffffe + x15) - x51);
- out[6] = ((0x7fffffe + x17) - x53);
- out[7] = ((0x3fffffe + x19) - x55);
- out[8] = ((0x7fffffe + x21) - x57);
- out[9] = ((0x7fffffe + x23) - x59);
- out[10] = ((0x7fffffe + x25) - x61);
- out[11] = ((0x3fffffe + x27) - x63);
- out[12] = ((0x7fffffe + x29) - x65);
- out[13] = ((0x7fffffe + x31) - x67);
- out[14] = ((0x7fffffe + x33) - x69);
- out[15] = ((0x3fffffe + x35) - x71);
- out[16] = ((0x7fffffe + x37) - x73);
- out[17] = ((0x7fffffe + x39) - x75);
- out[18] = ((0x3fffffe + x38) - x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fesub.v b/src/Specific/solinas32_2e489m21_19limbs/fesub.v
deleted file mode 100644
index e2bbea9b0..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/fesubDisplay.log b/src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.log
deleted file mode 100644
index a75514f62..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- (((0x3fffffe + x38) - x74), ((0x7fffffe + x39) - x75), ((0x7fffffe + x37) - x73), ((0x3fffffe + x35) - x71), ((0x7fffffe + x33) - x69), ((0x7fffffe + x31) - x67), ((0x7fffffe + x29) - x65), ((0x3fffffe + x27) - x63), ((0x7fffffe + x25) - x61), ((0x7fffffe + x23) - x59), ((0x7fffffe + x21) - x57), ((0x3fffffe + x19) - x55), ((0x7fffffe + x17) - x53), ((0x7fffffe + x15) - x51), ((0x7fffffe + x13) - x49), ((0x3fffffe + x11) - x47), ((0x7fffffe + x9) - x45), ((0x7fffffe + x7) - x43), ((0x7ffffd6 + x5) - x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.v b/src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.v
deleted file mode 100644
index dd3bd6b9a..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e489m21_19limbs/freeze.c b/src/Specific/solinas32_2e489m21_19limbs/freeze.c
deleted file mode 100644
index ef122f7d9..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/freeze.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void freeze(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffeb);
- { uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x3ffffff);
- { uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x6, 0x3ffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x1ffffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x3ffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0x3ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x3ffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0x1ffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0x3ffffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x3ffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0x3ffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0x1ffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x3ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0x3ffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x3ffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x1ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0x3ffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x3ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0x1ffffff);
- { uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- { uint32_t x95 = (x94 & 0x3ffffeb);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- { uint32_t x99 = (x94 & 0x3ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- { uint32_t x103 = (x94 & 0x3ffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- { uint32_t x107 = (x94 & 0x1ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- { uint32_t x111 = (x94 & 0x3ffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- { uint32_t x115 = (x94 & 0x3ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- { uint32_t x119 = (x94 & 0x3ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- { uint32_t x123 = (x94 & 0x1ffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- { uint32_t x127 = (x94 & 0x3ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- { uint32_t x131 = (x94 & 0x3ffffff);
- { uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- { uint32_t x135 = (x94 & 0x3ffffff);
- { uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- { uint32_t x139 = (x94 & 0x1ffffff);
- { uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- { uint32_t x143 = (x94 & 0x3ffffff);
- { uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- { uint32_t x147 = (x94 & 0x3ffffff);
- { uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- { uint32_t x151 = (x94 & 0x3ffffff);
- { uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- { uint32_t x155 = (x94 & 0x1ffffff);
- { uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- { uint32_t x159 = (x94 & 0x3ffffff);
- { uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- { uint32_t x163 = (x94 & 0x3ffffff);
- { uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- { uint32_t x167 = (x94 & 0x1ffffff);
- { uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- out[0] = x97;
- out[1] = x101;
- out[2] = x105;
- out[3] = x109;
- out[4] = x113;
- out[5] = x117;
- out[6] = x121;
- out[7] = x125;
- out[8] = x129;
- out[9] = x133;
- out[10] = x137;
- out[11] = x141;
- out[12] = x145;
- out[13] = x149;
- out[14] = x153;
- out[15] = x157;
- out[16] = x161;
- out[17] = x165;
- out[18] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_19limbs/freeze.v b/src/Specific/solinas32_2e489m21_19limbs/freeze.v
deleted file mode 100644
index a875989ac..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.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_2e489m21_19limbs/freezeDisplay.log b/src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.log
deleted file mode 100644
index d2a4e4ae9..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.log
+++ /dev/null
@@ -1,65 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffeb);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x3ffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x6, 0x3ffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x1ffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x10, 0x3ffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0x3ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x3ffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x16, 0x1ffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0x3ffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x20, 0x3ffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0x3ffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x24, 0x1ffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x3ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0x3ffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0x3ffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x1ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0x3ffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x3ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0x1ffffff);
- uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- uint32_t x95 = (x94 & 0x3ffffeb);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- uint32_t x99 = (x94 & 0x3ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- uint32_t x103 = (x94 & 0x3ffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- uint32_t x107 = (x94 & 0x1ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- uint32_t x111 = (x94 & 0x3ffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- uint32_t x115 = (x94 & 0x3ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- uint32_t x119 = (x94 & 0x3ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- uint32_t x123 = (x94 & 0x1ffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- uint32_t x127 = (x94 & 0x3ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- uint32_t x131 = (x94 & 0x3ffffff);
- uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- uint32_t x135 = (x94 & 0x3ffffff);
- uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- uint32_t x139 = (x94 & 0x1ffffff);
- uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- uint32_t x143 = (x94 & 0x3ffffff);
- uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- uint32_t x147 = (x94 & 0x3ffffff);
- uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- uint32_t x151 = (x94 & 0x3ffffff);
- uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- uint32_t x155 = (x94 & 0x1ffffff);
- uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- uint32_t x159 = (x94 & 0x3ffffff);
- uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- uint32_t x163 = (x94 & 0x3ffffff);
- uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- uint32_t x167 = (x94 & 0x1ffffff);
- uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- (Return x169, Return x165, Return x161, Return x157, Return x153, Return x149, Return x145, Return x141, Return x137, Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.v b/src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.v
deleted file mode 100644
index 75662dc3d..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_19limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e489m21_19limbs/py_interpreter.sh b/src/Specific/solinas32_2e489m21_19limbs/py_interpreter.sh
deleted file mode 100755
index 559437c50..000000000
--- a/src/Specific/solinas32_2e489m21_19limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**489 - 21' -Dmodulus_bytes='25 + 14/19' -Da24='121665'
diff --git a/src/Specific/solinas32_2e489m21_20limbs/CurveParameters.v b/src/Specific/solinas32_2e489m21_20limbs/CurveParameters.v
deleted file mode 100644
index da6de2217..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^489 - 21
-Base: 24 + 9/20
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 20%nat;
- base := 24 + 9/20;
- bitwidth := 32;
- s := 2^489;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 20); [0; 1]]%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_2e489m21_20limbs/Synthesis.v b/src/Specific/solinas32_2e489m21_20limbs/Synthesis.v
deleted file mode 100644
index 61f5940d3..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/compiler.sh b/src/Specific/solinas32_2e489m21_20limbs/compiler.sh
deleted file mode 100755
index 72f65f1a2..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24,25,24,24,25,24,25,24,25,24,25,24,24}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas32_2e489m21_20limbs/compilerxx.sh b/src/Specific/solinas32_2e489m21_20limbs/compilerxx.sh
deleted file mode 100755
index 0a1081805..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,24,25,24,25,24,25,24,25,24,24,25,24,25,24,25,24,25,24,24}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas32_2e489m21_20limbs/feadd.c b/src/Specific/solinas32_2e489m21_20limbs/feadd.c
deleted file mode 100644
index 28ee6f665..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/feadd.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void feadd(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = (x5 + x43);
- out[1] = (x7 + x45);
- out[2] = (x9 + x47);
- out[3] = (x11 + x49);
- out[4] = (x13 + x51);
- out[5] = (x15 + x53);
- out[6] = (x17 + x55);
- out[7] = (x19 + x57);
- out[8] = (x21 + x59);
- out[9] = (x23 + x61);
- out[10] = (x25 + x63);
- out[11] = (x27 + x65);
- out[12] = (x29 + x67);
- out[13] = (x31 + x69);
- out[14] = (x33 + x71);
- out[15] = (x35 + x73);
- out[16] = (x37 + x75);
- out[17] = (x39 + x77);
- out[18] = (x41 + x79);
- out[19] = (x40 + x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_20limbs/feadd.v b/src/Specific/solinas32_2e489m21_20limbs/feadd.v
deleted file mode 100644
index 47765b62b..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/feaddDisplay.log b/src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.log
deleted file mode 100644
index eebe17777..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- ((x40 + x78), (x41 + x79), (x39 + x77), (x37 + x75), (x35 + x73), (x33 + x71), (x31 + x69), (x29 + x67), (x27 + x65), (x25 + x63), (x23 + x61), (x21 + x59), (x19 + x57), (x17 + x55), (x15 + x53), (x13 + x51), (x11 + x49), (x9 + x47), (x7 + x45), (x5 + x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.v b/src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.v
deleted file mode 100644
index 04d64b1ce..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fecarry.v b/src/Specific/solinas32_2e489m21_20limbs/fecarry.v
deleted file mode 100644
index 7915ab566..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/fecarryDisplay.v b/src/Specific/solinas32_2e489m21_20limbs/fecarryDisplay.v
deleted file mode 100644
index 2a4482fde..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e489m21_20limbs/femul.c b/src/Specific/solinas32_2e489m21_20limbs/femul.c
deleted file mode 100644
index 5bd479fb9..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/femul.c
+++ /dev/null
@@ -1,148 +0,0 @@
-static void femul(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- { uint64_t x80 = (((uint64_t)x5 * x78) + ((0x2 * ((uint64_t)x7 * x79)) + (((uint64_t)x9 * x77) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + ((0x2 * ((uint64_t)x41 * x45)) + ((uint64_t)x40 * x43))))))))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x79) + (((uint64_t)x7 * x77) + (((uint64_t)x9 * x75) + (((uint64_t)x11 * x73) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + ((0x2 * ((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)x35 * x49) + (((uint64_t)x37 * x47) + (((uint64_t)x39 * x45) + ((uint64_t)x41 * x43))))))))))))))))))) + (0x15 * ((uint64_t)x40 * x78)));
- { uint64_t x82 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + ((0x2 * ((uint64_t)x37 * x45)) + ((uint64_t)x39 * x43)))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x41 * x78)) + (0x2 * ((uint64_t)x40 * x79)))));
- { uint64_t x83 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x37 * x43))))))))))))))))) + (0x15 * (((uint64_t)x39 * x78) + ((0x2 * ((uint64_t)x41 * x79)) + ((uint64_t)x40 * x77)))));
- { uint64_t x84 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + (((uint64_t)x9 * x69) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + ((uint64_t)x35 * x43)))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x37 * x78)) + ((0x2 * ((uint64_t)x39 * x79)) + ((0x2 * ((uint64_t)x41 * x77)) + (0x2 * ((uint64_t)x40 * x75)))))));
- { uint64_t x85 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x33 * x43))))))))))))))) + (0x15 * (((uint64_t)x35 * x78) + ((0x2 * ((uint64_t)x37 * x79)) + (((uint64_t)x39 * x77) + ((0x2 * ((uint64_t)x41 * x75)) + ((uint64_t)x40 * x73)))))));
- { uint64_t x86 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((uint64_t)x31 * x43)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x78)) + ((0x2 * ((uint64_t)x35 * x79)) + ((0x2 * ((uint64_t)x37 * x77)) + ((0x2 * ((uint64_t)x39 * x75)) + ((0x2 * ((uint64_t)x41 * x73)) + (0x2 * ((uint64_t)x40 * x71)))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x29 * x43))))))))))))) + (0x15 * (((uint64_t)x31 * x78) + ((0x2 * ((uint64_t)x33 * x79)) + (((uint64_t)x35 * x77) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + ((uint64_t)x40 * x69)))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x27 * x43)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x29 * x78)) + ((0x2 * ((uint64_t)x31 * x79)) + ((0x2 * ((uint64_t)x33 * x77)) + ((0x2 * ((uint64_t)x35 * x75)) + ((0x2 * ((uint64_t)x37 * x73)) + ((0x2 * ((uint64_t)x39 * x71)) + ((0x2 * ((uint64_t)x41 * x69)) + (0x2 * ((uint64_t)x40 * x67)))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((uint64_t)x25 * x43))))))))))) + (0x15 * (((uint64_t)x27 * x78) + ((0x2 * ((uint64_t)x29 * x79)) + (((uint64_t)x31 * x77) + ((0x2 * ((uint64_t)x33 * x75)) + (((uint64_t)x35 * x73) + ((0x2 * ((uint64_t)x37 * x71)) + (((uint64_t)x39 * x69) + ((0x2 * ((uint64_t)x41 * x67)) + ((uint64_t)x40 * x65)))))))))));
- { uint64_t x90 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + ((uint64_t)x23 * x43)))))))))) + (0x15 * (((uint64_t)x25 * x78) + (((uint64_t)x27 * x79) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + (((uint64_t)x41 * x65) + ((uint64_t)x40 * x63))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((uint64_t)x21 * x43))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x78)) + ((0x2 * ((uint64_t)x25 * x79)) + (((uint64_t)x27 * x77) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (((uint64_t)x39 * x65) + ((0x2 * ((uint64_t)x41 * x63)) + (0x2 * ((uint64_t)x40 * x61))))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))))))) + (0x15 * (((uint64_t)x21 * x78) + ((0x2 * ((uint64_t)x23 * x79)) + (((uint64_t)x25 * x77) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + ((0x2 * ((uint64_t)x41 * x61)) + ((uint64_t)x40 * x59))))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + ((uint64_t)x17 * x43))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x78)) + ((0x2 * ((uint64_t)x21 * x79)) + ((0x2 * ((uint64_t)x23 * x77)) + ((0x2 * ((uint64_t)x25 * x75)) + (((uint64_t)x27 * x73) + ((0x2 * ((uint64_t)x29 * x71)) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + (((uint64_t)x35 * x65) + ((0x2 * ((uint64_t)x37 * x63)) + ((0x2 * ((uint64_t)x39 * x61)) + ((0x2 * ((uint64_t)x41 * x59)) + (0x2 * ((uint64_t)x40 * x57))))))))))))))));
- { uint64_t x94 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((uint64_t)x15 * x43)))))) + (0x15 * (((uint64_t)x17 * x78) + ((0x2 * ((uint64_t)x19 * x79)) + (((uint64_t)x21 * x77) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + ((uint64_t)x40 * x55))))))))))))))));
- { uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (0x15 * ((0x2 * ((uint64_t)x15 * x78)) + ((0x2 * ((uint64_t)x17 * x79)) + ((0x2 * ((uint64_t)x19 * x77)) + ((0x2 * ((uint64_t)x21 * x75)) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + ((0x2 * ((uint64_t)x29 * x67)) + (((uint64_t)x31 * x65) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((0x2 * ((uint64_t)x39 * x57)) + ((0x2 * ((uint64_t)x41 * x55)) + (0x2 * ((uint64_t)x40 * x53))))))))))))))))));
- { uint64_t x96 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((uint64_t)x11 * x43)))) + (0x15 * (((uint64_t)x13 * x78) + ((0x2 * ((uint64_t)x15 * x79)) + (((uint64_t)x17 * x77) + ((0x2 * ((uint64_t)x19 * x75)) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((0x2 * ((uint64_t)x41 * x53)) + ((uint64_t)x40 * x51))))))))))))))))));
- { uint64_t x97 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((uint64_t)x9 * x43))) + (0x15 * ((0x2 * ((uint64_t)x11 * x78)) + ((0x2 * ((uint64_t)x13 * x79)) + ((0x2 * ((uint64_t)x15 * x77)) + ((0x2 * ((uint64_t)x17 * x75)) + ((0x2 * ((uint64_t)x19 * x73)) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + (((uint64_t)x27 * x65) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((0x2 * ((uint64_t)x39 * x53)) + ((0x2 * ((uint64_t)x41 * x51)) + (0x2 * ((uint64_t)x40 * x49))))))))))))))))))));
- { uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (0x15 * (((uint64_t)x9 * x78) + ((0x2 * ((uint64_t)x11 * x79)) + (((uint64_t)x13 * x77) + ((0x2 * ((uint64_t)x15 * x75)) + (((uint64_t)x17 * x73) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + ((0x2 * ((uint64_t)x37 * x53)) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + ((uint64_t)x40 * x47))))))))))))))))))));
- { uint64_t x99 = (((uint64_t)x5 * x43) + (0x15 * ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45))))))))))))))))))))));
- { uint64_t x100 = (x99 >> 0x19);
- { uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- { uint64_t x102 = (x100 + x98);
- { uint64_t x103 = (x102 >> 0x18);
- { uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- { uint64_t x105 = (x103 + x97);
- { uint64_t x106 = (x105 >> 0x19);
- { uint32_t x107 = ((uint32_t)x105 & 0x1ffffff);
- { uint64_t x108 = (x106 + x96);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x109 + x95);
- { uint64_t x112 = (x111 >> 0x19);
- { uint32_t x113 = ((uint32_t)x111 & 0x1ffffff);
- { uint64_t x114 = (x112 + x94);
- { uint64_t x115 = (x114 >> 0x18);
- { uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- { uint64_t x117 = (x115 + x93);
- { uint64_t x118 = (x117 >> 0x19);
- { uint32_t x119 = ((uint32_t)x117 & 0x1ffffff);
- { uint64_t x120 = (x118 + x92);
- { uint64_t x121 = (x120 >> 0x18);
- { uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- { uint64_t x123 = (x121 + x91);
- { uint64_t x124 = (x123 >> 0x19);
- { uint32_t x125 = ((uint32_t)x123 & 0x1ffffff);
- { uint64_t x126 = (x124 + x90);
- { uint64_t x127 = (x126 >> 0x18);
- { uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- { uint64_t x129 = (x127 + x89);
- { uint64_t x130 = (x129 >> 0x18);
- { uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- { uint64_t x132 = (x130 + x88);
- { uint64_t x133 = (x132 >> 0x19);
- { uint32_t x134 = ((uint32_t)x132 & 0x1ffffff);
- { uint64_t x135 = (x133 + x87);
- { uint64_t x136 = (x135 >> 0x18);
- { uint32_t x137 = ((uint32_t)x135 & 0xffffff);
- { uint64_t x138 = (x136 + x86);
- { uint64_t x139 = (x138 >> 0x19);
- { uint32_t x140 = ((uint32_t)x138 & 0x1ffffff);
- { uint64_t x141 = (x139 + x85);
- { uint64_t x142 = (x141 >> 0x18);
- { uint32_t x143 = ((uint32_t)x141 & 0xffffff);
- { uint64_t x144 = (x142 + x84);
- { uint64_t x145 = (x144 >> 0x19);
- { uint32_t x146 = ((uint32_t)x144 & 0x1ffffff);
- { uint64_t x147 = (x145 + x83);
- { uint64_t x148 = (x147 >> 0x18);
- { uint32_t x149 = ((uint32_t)x147 & 0xffffff);
- { uint64_t x150 = (x148 + x82);
- { uint64_t x151 = (x150 >> 0x19);
- { uint32_t x152 = ((uint32_t)x150 & 0x1ffffff);
- { uint64_t x153 = (x151 + x81);
- { uint64_t x154 = (x153 >> 0x18);
- { uint32_t x155 = ((uint32_t)x153 & 0xffffff);
- { uint64_t x156 = (x154 + x80);
- { uint64_t x157 = (x156 >> 0x18);
- { uint32_t x158 = ((uint32_t)x156 & 0xffffff);
- { uint64_t x159 = (x101 + (0x15 * x157));
- { uint32_t x160 = (uint32_t) (x159 >> 0x19);
- { uint32_t x161 = ((uint32_t)x159 & 0x1ffffff);
- { uint32_t x162 = (x160 + x104);
- { uint32_t x163 = (x162 >> 0x18);
- { uint32_t x164 = (x162 & 0xffffff);
- out[0] = x161;
- out[1] = x164;
- out[2] = (x163 + x107);
- out[3] = x110;
- out[4] = x113;
- out[5] = x116;
- out[6] = x119;
- out[7] = x122;
- out[8] = x125;
- out[9] = x128;
- out[10] = x131;
- out[11] = x134;
- out[12] = x137;
- out[13] = x140;
- out[14] = x143;
- out[15] = x146;
- out[16] = x149;
- out[17] = x152;
- out[18] = x155;
- out[19] = x158;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_20limbs/femul.v b/src/Specific/solinas32_2e489m21_20limbs/femul.v
deleted file mode 100644
index 58bbbb570..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/femulDisplay.log b/src/Specific/solinas32_2e489m21_20limbs/femulDisplay.log
deleted file mode 100644
index 9612d08d1..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/femulDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- uint64_t x80 = (((uint64_t)x5 * x78) + ((0x2 * ((uint64_t)x7 * x79)) + (((uint64_t)x9 * x77) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + ((0x2 * ((uint64_t)x19 * x67)) + (((uint64_t)x21 * x65) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + (((uint64_t)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + ((0x2 * ((uint64_t)x41 * x45)) + ((uint64_t)x40 * x43))))))))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x79) + (((uint64_t)x7 * x77) + (((uint64_t)x9 * x75) + (((uint64_t)x11 * x73) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + (((uint64_t)x19 * x65) + (((uint64_t)x21 * x63) + ((0x2 * ((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)x35 * x49) + (((uint64_t)x37 * x47) + (((uint64_t)x39 * x45) + ((uint64_t)x41 * x43))))))))))))))))))) + (0x15 * ((uint64_t)x40 * x78)));
- uint64_t x82 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + (((uint64_t)x17 * x65) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + (((uint64_t)x35 * x47) + ((0x2 * ((uint64_t)x37 * x45)) + ((uint64_t)x39 * x43)))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x41 * x78)) + (0x2 * ((uint64_t)x40 * x79)))));
- uint64_t x83 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + (((uint64_t)x15 * x65) + (((uint64_t)x17 * x63) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + ((uint64_t)x37 * x43))))))))))))))))) + (0x15 * (((uint64_t)x39 * x78) + ((0x2 * ((uint64_t)x41 * x79)) + ((uint64_t)x40 * x77)))));
- uint64_t x84 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + (((uint64_t)x9 * x69) + ((0x2 * ((uint64_t)x11 * x67)) + (((uint64_t)x13 * x65) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + (((uint64_t)x27 * x51) + ((0x2 * ((uint64_t)x29 * x49)) + (((uint64_t)x31 * x47) + ((0x2 * ((uint64_t)x33 * x45)) + ((uint64_t)x35 * x43)))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x37 * x78)) + ((0x2 * ((uint64_t)x39 * x79)) + ((0x2 * ((uint64_t)x41 * x77)) + (0x2 * ((uint64_t)x40 * x75)))))));
- uint64_t x85 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + (((uint64_t)x11 * x65) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x33 * x43))))))))))))))) + (0x15 * (((uint64_t)x35 * x78) + ((0x2 * ((uint64_t)x37 * x79)) + (((uint64_t)x39 * x77) + ((0x2 * ((uint64_t)x41 * x75)) + ((uint64_t)x40 * x73)))))));
- uint64_t x86 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + (((uint64_t)x9 * x65) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + (((uint64_t)x27 * x47) + ((0x2 * ((uint64_t)x29 * x45)) + ((uint64_t)x31 * x43)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x33 * x78)) + ((0x2 * ((uint64_t)x35 * x79)) + ((0x2 * ((uint64_t)x37 * x77)) + ((0x2 * ((uint64_t)x39 * x75)) + ((0x2 * ((uint64_t)x41 * x73)) + (0x2 * ((uint64_t)x40 * x71)))))))));
- uint64_t x87 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x29 * x43))))))))))))) + (0x15 * (((uint64_t)x31 * x78) + ((0x2 * ((uint64_t)x33 * x79)) + (((uint64_t)x35 * x77) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + ((uint64_t)x40 * x69)))))))));
- uint64_t x88 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x27 * x43)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x29 * x78)) + ((0x2 * ((uint64_t)x31 * x79)) + ((0x2 * ((uint64_t)x33 * x77)) + ((0x2 * ((uint64_t)x35 * x75)) + ((0x2 * ((uint64_t)x37 * x73)) + ((0x2 * ((uint64_t)x39 * x71)) + ((0x2 * ((uint64_t)x41 * x69)) + (0x2 * ((uint64_t)x40 * x67)))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + ((uint64_t)x25 * x43))))))))))) + (0x15 * (((uint64_t)x27 * x78) + ((0x2 * ((uint64_t)x29 * x79)) + (((uint64_t)x31 * x77) + ((0x2 * ((uint64_t)x33 * x75)) + (((uint64_t)x35 * x73) + ((0x2 * ((uint64_t)x37 * x71)) + (((uint64_t)x39 * x69) + ((0x2 * ((uint64_t)x41 * x67)) + ((uint64_t)x40 * x65)))))))))));
- uint64_t x90 = ((((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)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + ((uint64_t)x23 * x43)))))))))) + (0x15 * (((uint64_t)x25 * x78) + (((uint64_t)x27 * x79) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + (((uint64_t)x41 * x65) + ((uint64_t)x40 * x63))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((uint64_t)x21 * x43))))))))) + (0x15 * ((0x2 * ((uint64_t)x23 * x78)) + ((0x2 * ((uint64_t)x25 * x79)) + (((uint64_t)x27 * x77) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (((uint64_t)x39 * x65) + ((0x2 * ((uint64_t)x41 * x63)) + (0x2 * ((uint64_t)x40 * x61))))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))))))) + (0x15 * (((uint64_t)x21 * x78) + ((0x2 * ((uint64_t)x23 * x79)) + (((uint64_t)x25 * x77) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + ((0x2 * ((uint64_t)x41 * x61)) + ((uint64_t)x40 * x59))))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + ((uint64_t)x17 * x43))))))) + (0x15 * ((0x2 * ((uint64_t)x19 * x78)) + ((0x2 * ((uint64_t)x21 * x79)) + ((0x2 * ((uint64_t)x23 * x77)) + ((0x2 * ((uint64_t)x25 * x75)) + (((uint64_t)x27 * x73) + ((0x2 * ((uint64_t)x29 * x71)) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + (((uint64_t)x35 * x65) + ((0x2 * ((uint64_t)x37 * x63)) + ((0x2 * ((uint64_t)x39 * x61)) + ((0x2 * ((uint64_t)x41 * x59)) + (0x2 * ((uint64_t)x40 * x57))))))))))))))));
- uint64_t x94 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + ((uint64_t)x15 * x43)))))) + (0x15 * (((uint64_t)x17 * x78) + ((0x2 * ((uint64_t)x19 * x79)) + (((uint64_t)x21 * x77) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + ((0x2 * ((uint64_t)x37 * x61)) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + ((uint64_t)x40 * x55))))))))))))))));
- uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + (((uint64_t)x9 * x47) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (0x15 * ((0x2 * ((uint64_t)x15 * x78)) + ((0x2 * ((uint64_t)x17 * x79)) + ((0x2 * ((uint64_t)x19 * x77)) + ((0x2 * ((uint64_t)x21 * x75)) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + ((0x2 * ((uint64_t)x29 * x67)) + (((uint64_t)x31 * x65) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((0x2 * ((uint64_t)x39 * x57)) + ((0x2 * ((uint64_t)x41 * x55)) + (0x2 * ((uint64_t)x40 * x53))))))))))))))))));
- uint64_t x96 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((uint64_t)x11 * x43)))) + (0x15 * (((uint64_t)x13 * x78) + ((0x2 * ((uint64_t)x15 * x79)) + (((uint64_t)x17 * x77) + ((0x2 * ((uint64_t)x19 * x75)) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + (((uint64_t)x35 * x59) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((0x2 * ((uint64_t)x41 * x53)) + ((uint64_t)x40 * x51))))))))))))))))));
- uint64_t x97 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((uint64_t)x9 * x43))) + (0x15 * ((0x2 * ((uint64_t)x11 * x78)) + ((0x2 * ((uint64_t)x13 * x79)) + ((0x2 * ((uint64_t)x15 * x77)) + ((0x2 * ((uint64_t)x17 * x75)) + ((0x2 * ((uint64_t)x19 * x73)) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + (((uint64_t)x27 * x65) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((0x2 * ((uint64_t)x39 * x53)) + ((0x2 * ((uint64_t)x41 * x51)) + (0x2 * ((uint64_t)x40 * x49))))))))))))))))))));
- uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (0x15 * (((uint64_t)x9 * x78) + ((0x2 * ((uint64_t)x11 * x79)) + (((uint64_t)x13 * x77) + ((0x2 * ((uint64_t)x15 * x75)) + (((uint64_t)x17 * x73) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + ((0x2 * ((uint64_t)x37 * x53)) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + ((uint64_t)x40 * x47))))))))))))))))))));
- uint64_t x99 = (((uint64_t)x5 * x43) + (0x15 * ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45))))))))))))))))))))));
- uint64_t x100 = (x99 >> 0x19);
- uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- uint64_t x102 = (x100 + x98);
- uint64_t x103 = (x102 >> 0x18);
- uint32_t x104 = ((uint32_t)x102 & 0xffffff);
- uint64_t x105 = (x103 + x97);
- uint64_t x106 = (x105 >> 0x19);
- uint32_t x107 = ((uint32_t)x105 & 0x1ffffff);
- uint64_t x108 = (x106 + x96);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x109 + x95);
- uint64_t x112 = (x111 >> 0x19);
- uint32_t x113 = ((uint32_t)x111 & 0x1ffffff);
- uint64_t x114 = (x112 + x94);
- uint64_t x115 = (x114 >> 0x18);
- uint32_t x116 = ((uint32_t)x114 & 0xffffff);
- uint64_t x117 = (x115 + x93);
- uint64_t x118 = (x117 >> 0x19);
- uint32_t x119 = ((uint32_t)x117 & 0x1ffffff);
- uint64_t x120 = (x118 + x92);
- uint64_t x121 = (x120 >> 0x18);
- uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- uint64_t x123 = (x121 + x91);
- uint64_t x124 = (x123 >> 0x19);
- uint32_t x125 = ((uint32_t)x123 & 0x1ffffff);
- uint64_t x126 = (x124 + x90);
- uint64_t x127 = (x126 >> 0x18);
- uint32_t x128 = ((uint32_t)x126 & 0xffffff);
- uint64_t x129 = (x127 + x89);
- uint64_t x130 = (x129 >> 0x18);
- uint32_t x131 = ((uint32_t)x129 & 0xffffff);
- uint64_t x132 = (x130 + x88);
- uint64_t x133 = (x132 >> 0x19);
- uint32_t x134 = ((uint32_t)x132 & 0x1ffffff);
- uint64_t x135 = (x133 + x87);
- uint64_t x136 = (x135 >> 0x18);
- uint32_t x137 = ((uint32_t)x135 & 0xffffff);
- uint64_t x138 = (x136 + x86);
- uint64_t x139 = (x138 >> 0x19);
- uint32_t x140 = ((uint32_t)x138 & 0x1ffffff);
- uint64_t x141 = (x139 + x85);
- uint64_t x142 = (x141 >> 0x18);
- uint32_t x143 = ((uint32_t)x141 & 0xffffff);
- uint64_t x144 = (x142 + x84);
- uint64_t x145 = (x144 >> 0x19);
- uint32_t x146 = ((uint32_t)x144 & 0x1ffffff);
- uint64_t x147 = (x145 + x83);
- uint64_t x148 = (x147 >> 0x18);
- uint32_t x149 = ((uint32_t)x147 & 0xffffff);
- uint64_t x150 = (x148 + x82);
- uint64_t x151 = (x150 >> 0x19);
- uint32_t x152 = ((uint32_t)x150 & 0x1ffffff);
- uint64_t x153 = (x151 + x81);
- uint64_t x154 = (x153 >> 0x18);
- uint32_t x155 = ((uint32_t)x153 & 0xffffff);
- uint64_t x156 = (x154 + x80);
- uint64_t x157 = (x156 >> 0x18);
- uint32_t x158 = ((uint32_t)x156 & 0xffffff);
- uint64_t x159 = (x101 + (0x15 * x157));
- uint32_t x160 = (uint32_t) (x159 >> 0x19);
- uint32_t x161 = ((uint32_t)x159 & 0x1ffffff);
- uint32_t x162 = (x160 + x104);
- uint32_t x163 = (x162 >> 0x18);
- uint32_t x164 = (x162 & 0xffffff);
- return (Return x158, Return x155, Return x152, Return x149, Return x146, Return x143, Return x140, Return x137, Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, (x163 + x107), Return x164, Return x161))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_20limbs/femulDisplay.v b/src/Specific/solinas32_2e489m21_20limbs/femulDisplay.v
deleted file mode 100644
index 7795ee25b..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fesquare.c b/src/Specific/solinas32_2e489m21_20limbs/fesquare.c
deleted file mode 100644
index 0d9ba98b1..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesquare.c
+++ /dev/null
@@ -1,128 +0,0 @@
-static void fesquare(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x39 = (((uint64_t)x2 * x37) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + ((0x2 * ((uint64_t)x8 * x34)) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + ((0x2 * ((uint64_t)x34 * x8)) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x37 * x2))))))))))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x15 * ((uint64_t)x37 * x37)));
- { uint64_t x41 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x38 * x37)) + (0x2 * ((uint64_t)x37 * x38)))));
- { uint64_t x42 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x15 * (((uint64_t)x36 * x37) + ((0x2 * ((uint64_t)x38 * x38)) + ((uint64_t)x37 * x36)))));
- { uint64_t x43 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x34 * x37)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + (0x2 * ((uint64_t)x37 * x34)))))));
- { uint64_t x44 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * (((uint64_t)x32 * x37) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((uint64_t)x37 * x32)))))));
- { uint64_t x45 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x37)) + ((0x2 * ((uint64_t)x32 * x38)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + ((0x2 * ((uint64_t)x38 * x32)) + (0x2 * ((uint64_t)x37 * x30)))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * (((uint64_t)x28 * x37) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + ((uint64_t)x37 * x28)))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x26 * x37)) + ((0x2 * ((uint64_t)x28 * x38)) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + ((0x2 * ((uint64_t)x38 * x28)) + (0x2 * ((uint64_t)x37 * x26)))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x15 * (((uint64_t)x24 * x37) + ((0x2 * ((uint64_t)x26 * x38)) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + ((0x2 * ((uint64_t)x38 * x26)) + ((uint64_t)x37 * x24)))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * (((uint64_t)x22 * x37) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((uint64_t)x37 * x22))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x37)) + ((0x2 * ((uint64_t)x22 * x38)) + (((uint64_t)x24 * x36) + ((0x2 * ((uint64_t)x26 * x34)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + ((0x2 * ((uint64_t)x34 * x26)) + (((uint64_t)x36 * x24) + ((0x2 * ((uint64_t)x38 * x22)) + (0x2 * ((uint64_t)x37 * x20))))))))))))));
- { uint64_t x51 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x37) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + ((uint64_t)x37 * x18))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x37)) + ((0x2 * ((uint64_t)x18 * x38)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + ((0x2 * ((uint64_t)x38 * x18)) + (0x2 * ((uint64_t)x37 * x16))))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x37) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + ((0x2 * ((uint64_t)x20 * x34)) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((0x2 * ((uint64_t)x34 * x20)) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + ((uint64_t)x37 * x14))))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint64_t)x12 * x37)) + ((0x2 * ((uint64_t)x14 * x38)) + ((0x2 * ((uint64_t)x16 * x36)) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + ((0x2 * ((uint64_t)x36 * x16)) + ((0x2 * ((uint64_t)x38 * x14)) + (0x2 * ((uint64_t)x37 * x12))))))))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x15 * (((uint64_t)x10 * x37) + ((0x2 * ((uint64_t)x12 * x38)) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + ((0x2 * ((uint64_t)x38 * x12)) + ((uint64_t)x37 * x10))))))))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x15 * ((0x2 * ((uint64_t)x8 * x37)) + ((0x2 * ((uint64_t)x10 * x38)) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + ((0x2 * ((uint64_t)x38 * x10)) + (0x2 * ((uint64_t)x37 * x8))))))))))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x15 * (((uint64_t)x6 * x37) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + ((uint64_t)x37 * x6))))))))))))))))))));
- { uint64_t x58 = (((uint64_t)x2 * x2) + (0x15 * ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4))))))))))))))))))))));
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x57);
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x56);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x55);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x54);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x53);
- { uint64_t x74 = (x73 >> 0x18);
- { uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- { uint64_t x76 = (x74 + x52);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x51);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x50);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x49);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x48);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x47);
- { uint64_t x92 = (x91 >> 0x19);
- { uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- { uint64_t x94 = (x92 + x46);
- { uint64_t x95 = (x94 >> 0x18);
- { uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- { uint64_t x97 = (x95 + x45);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x44);
- { uint64_t x101 = (x100 >> 0x18);
- { uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- { uint64_t x103 = (x101 + x43);
- { uint64_t x104 = (x103 >> 0x19);
- { uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- { uint64_t x106 = (x104 + x42);
- { uint64_t x107 = (x106 >> 0x18);
- { uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- { uint64_t x109 = (x107 + x41);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x110 + x40);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x39);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x60 + (0x15 * x116));
- { uint32_t x119 = (uint32_t) (x118 >> 0x19);
- { uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- { uint32_t x121 = (x119 + x63);
- { uint32_t x122 = (x121 >> 0x18);
- { uint32_t x123 = (x121 & 0xffffff);
- out[0] = x120;
- out[1] = x123;
- out[2] = (x122 + x66);
- out[3] = x69;
- out[4] = x72;
- out[5] = x75;
- out[6] = x78;
- out[7] = x81;
- out[8] = x84;
- out[9] = x87;
- out[10] = x90;
- out[11] = x93;
- out[12] = x96;
- out[13] = x99;
- out[14] = x102;
- out[15] = x105;
- out[16] = x108;
- out[17] = x111;
- out[18] = x114;
- out[19] = x117;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fesquare.v b/src/Specific/solinas32_2e489m21_20limbs/fesquare.v
deleted file mode 100644
index c4809a321..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/fesquareDisplay.log b/src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.log
deleted file mode 100644
index fc27a3cd0..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x39 = (((uint64_t)x2 * x37) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + ((0x2 * ((uint64_t)x8 * x34)) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + ((0x2 * ((uint64_t)x34 * x8)) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x37 * x2))))))))))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x15 * ((uint64_t)x37 * x37)));
- uint64_t x41 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x38 * x37)) + (0x2 * ((uint64_t)x37 * x38)))));
- uint64_t x42 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((uint64_t)x6 * x30) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x15 * (((uint64_t)x36 * x37) + ((0x2 * ((uint64_t)x38 * x38)) + ((uint64_t)x37 * x36)))));
- uint64_t x43 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x34 * x37)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + (0x2 * ((uint64_t)x37 * x34)))))));
- uint64_t x44 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x15 * (((uint64_t)x32 * x37) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((uint64_t)x37 * x32)))))));
- uint64_t x45 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x15 * ((0x2 * ((uint64_t)x30 * x37)) + ((0x2 * ((uint64_t)x32 * x38)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + ((0x2 * ((uint64_t)x38 * x32)) + (0x2 * ((uint64_t)x37 * x30)))))))));
- uint64_t x46 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x15 * (((uint64_t)x28 * x37) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + ((uint64_t)x37 * x28)))))))));
- uint64_t x47 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x15 * ((0x2 * ((uint64_t)x26 * x37)) + ((0x2 * ((uint64_t)x28 * x38)) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + ((0x2 * ((uint64_t)x38 * x28)) + (0x2 * ((uint64_t)x37 * x26)))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x15 * (((uint64_t)x24 * x37) + ((0x2 * ((uint64_t)x26 * x38)) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + ((0x2 * ((uint64_t)x38 * x26)) + ((uint64_t)x37 * x24)))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x15 * (((uint64_t)x22 * x37) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((uint64_t)x37 * x22))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x15 * ((0x2 * ((uint64_t)x20 * x37)) + ((0x2 * ((uint64_t)x22 * x38)) + (((uint64_t)x24 * x36) + ((0x2 * ((uint64_t)x26 * x34)) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + ((0x2 * ((uint64_t)x34 * x26)) + (((uint64_t)x36 * x24) + ((0x2 * ((uint64_t)x38 * x22)) + (0x2 * ((uint64_t)x37 * x20))))))))))))));
- uint64_t x51 = ((((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)))))))) + (0x15 * (((uint64_t)x18 * x37) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + ((uint64_t)x37 * x18))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint64_t)x16 * x37)) + ((0x2 * ((uint64_t)x18 * x38)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + ((0x2 * ((uint64_t)x38 * x18)) + (0x2 * ((uint64_t)x37 * x16))))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x15 * (((uint64_t)x14 * x37) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + ((0x2 * ((uint64_t)x20 * x34)) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((0x2 * ((uint64_t)x34 * x20)) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + ((uint64_t)x37 * x14))))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint64_t)x12 * x37)) + ((0x2 * ((uint64_t)x14 * x38)) + ((0x2 * ((uint64_t)x16 * x36)) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + ((0x2 * ((uint64_t)x36 * x16)) + ((0x2 * ((uint64_t)x38 * x14)) + (0x2 * ((uint64_t)x37 * x12))))))))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x15 * (((uint64_t)x10 * x37) + ((0x2 * ((uint64_t)x12 * x38)) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + ((0x2 * ((uint64_t)x38 * x12)) + ((uint64_t)x37 * x10))))))))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x15 * ((0x2 * ((uint64_t)x8 * x37)) + ((0x2 * ((uint64_t)x10 * x38)) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + ((0x2 * ((uint64_t)x38 * x10)) + (0x2 * ((uint64_t)x37 * x8))))))))))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x15 * (((uint64_t)x6 * x37) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + ((uint64_t)x37 * x6))))))))))))))))))));
- uint64_t x58 = (((uint64_t)x2 * x2) + (0x15 * ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4))))))))))))))))))))));
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x57);
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x56);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x55);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x54);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x53);
- uint64_t x74 = (x73 >> 0x18);
- uint32_t x75 = ((uint32_t)x73 & 0xffffff);
- uint64_t x76 = (x74 + x52);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x51);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x50);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x49);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x48);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x47);
- uint64_t x92 = (x91 >> 0x19);
- uint32_t x93 = ((uint32_t)x91 & 0x1ffffff);
- uint64_t x94 = (x92 + x46);
- uint64_t x95 = (x94 >> 0x18);
- uint32_t x96 = ((uint32_t)x94 & 0xffffff);
- uint64_t x97 = (x95 + x45);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x44);
- uint64_t x101 = (x100 >> 0x18);
- uint32_t x102 = ((uint32_t)x100 & 0xffffff);
- uint64_t x103 = (x101 + x43);
- uint64_t x104 = (x103 >> 0x19);
- uint32_t x105 = ((uint32_t)x103 & 0x1ffffff);
- uint64_t x106 = (x104 + x42);
- uint64_t x107 = (x106 >> 0x18);
- uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- uint64_t x109 = (x107 + x41);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x110 + x40);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x39);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x60 + (0x15 * x116));
- uint32_t x119 = (uint32_t) (x118 >> 0x19);
- uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- uint32_t x121 = (x119 + x63);
- uint32_t x122 = (x121 >> 0x18);
- uint32_t x123 = (x121 & 0xffffff);
- return (Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, (x122 + x66), Return x123, Return x120))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.v b/src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.v
deleted file mode 100644
index 76ec1f57f..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fesub.c b/src/Specific/solinas32_2e489m21_20limbs/fesub.c
deleted file mode 100644
index fa8347798..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesub.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fesub(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = ((0x3ffffd6 + x5) - x43);
- out[1] = ((0x1fffffe + x7) - x45);
- out[2] = ((0x3fffffe + x9) - x47);
- out[3] = ((0x1fffffe + x11) - x49);
- out[4] = ((0x3fffffe + x13) - x51);
- out[5] = ((0x1fffffe + x15) - x53);
- out[6] = ((0x3fffffe + x17) - x55);
- out[7] = ((0x1fffffe + x19) - x57);
- out[8] = ((0x3fffffe + x21) - x59);
- out[9] = ((0x1fffffe + x23) - x61);
- out[10] = ((0x1fffffe + x25) - x63);
- out[11] = ((0x3fffffe + x27) - x65);
- out[12] = ((0x1fffffe + x29) - x67);
- out[13] = ((0x3fffffe + x31) - x69);
- out[14] = ((0x1fffffe + x33) - x71);
- out[15] = ((0x3fffffe + x35) - x73);
- out[16] = ((0x1fffffe + x37) - x75);
- out[17] = ((0x3fffffe + x39) - x77);
- out[18] = ((0x1fffffe + x41) - x79);
- out[19] = ((0x1fffffe + x40) - x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fesub.v b/src/Specific/solinas32_2e489m21_20limbs/fesub.v
deleted file mode 100644
index 18a68ac6d..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/fesubDisplay.log b/src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.log
deleted file mode 100644
index 4e4869762..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- (((0x1fffffe + x40) - x78), ((0x1fffffe + x41) - x79), ((0x3fffffe + x39) - x77), ((0x1fffffe + x37) - x75), ((0x3fffffe + x35) - x73), ((0x1fffffe + x33) - x71), ((0x3fffffe + x31) - x69), ((0x1fffffe + x29) - x67), ((0x3fffffe + x27) - x65), ((0x1fffffe + x25) - x63), ((0x1fffffe + x23) - x61), ((0x3fffffe + x21) - x59), ((0x1fffffe + x19) - x57), ((0x3fffffe + x17) - x55), ((0x1fffffe + x15) - x53), ((0x3fffffe + x13) - x51), ((0x1fffffe + x11) - x49), ((0x3fffffe + x9) - x47), ((0x1fffffe + x7) - x45), ((0x3ffffd6 + x5) - x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.v b/src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.v
deleted file mode 100644
index 5ab8157d9..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e489m21_20limbs/freeze.c b/src/Specific/solinas32_2e489m21_20limbs/freeze.c
deleted file mode 100644
index 74090ad04..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/freeze.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void freeze(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffeb);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0xffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x1ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x1ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0xffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x1ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x1ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0xffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0xffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0x1ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0xffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x1ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0xffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x1ffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0xffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x1ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0xffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- { uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- { uint32_t x100 = (x99 & 0x1ffffeb);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- { uint32_t x104 = (x99 & 0xffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- { uint32_t x108 = (x99 & 0x1ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- { uint32_t x112 = (x99 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- { uint32_t x116 = (x99 & 0x1ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- { uint32_t x120 = (x99 & 0xffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- { uint32_t x124 = (x99 & 0x1ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- { uint32_t x128 = (x99 & 0xffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- { uint32_t x132 = (x99 & 0x1ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- { uint32_t x136 = (x99 & 0xffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- { uint32_t x140 = (x99 & 0xffffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- { uint32_t x144 = (x99 & 0x1ffffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- { uint32_t x148 = (x99 & 0xffffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- { uint32_t x152 = (x99 & 0x1ffffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- { uint32_t x156 = (x99 & 0xffffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- { uint32_t x160 = (x99 & 0x1ffffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- { uint32_t x164 = (x99 & 0xffffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- { uint32_t x168 = (x99 & 0x1ffffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- { uint32_t x172 = (x99 & 0xffffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- { uint32_t x176 = (x99 & 0xffffff);
- { uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- out[0] = x102;
- out[1] = x106;
- out[2] = x110;
- out[3] = x114;
- out[4] = x118;
- out[5] = x122;
- out[6] = x126;
- out[7] = x130;
- out[8] = x134;
- out[9] = x138;
- out[10] = x142;
- out[11] = x146;
- out[12] = x150;
- out[13] = x154;
- out[14] = x158;
- out[15] = x162;
- out[16] = x166;
- out[17] = x170;
- out[18] = x174;
- out[19] = x178;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e489m21_20limbs/freeze.v b/src/Specific/solinas32_2e489m21_20limbs/freeze.v
deleted file mode 100644
index 7c038c01a..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.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_2e489m21_20limbs/freezeDisplay.log b/src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.log
deleted file mode 100644
index c3e45107d..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffeb);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x1ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x1ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x1ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x1ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0xffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0xffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0x1ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0xffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x1ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0xffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x1ffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0xffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x1ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0xffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- uint32_t x100 = (x99 & 0x1ffffeb);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- uint32_t x104 = (x99 & 0xffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- uint32_t x108 = (x99 & 0x1ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- uint32_t x112 = (x99 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- uint32_t x116 = (x99 & 0x1ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- uint32_t x120 = (x99 & 0xffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- uint32_t x124 = (x99 & 0x1ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- uint32_t x128 = (x99 & 0xffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- uint32_t x132 = (x99 & 0x1ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- uint32_t x136 = (x99 & 0xffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- uint32_t x140 = (x99 & 0xffffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- uint32_t x144 = (x99 & 0x1ffffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- uint32_t x148 = (x99 & 0xffffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- uint32_t x152 = (x99 & 0x1ffffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- uint32_t x156 = (x99 & 0xffffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- uint32_t x160 = (x99 & 0x1ffffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- uint32_t x164 = (x99 & 0xffffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- uint32_t x168 = (x99 & 0x1ffffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- uint32_t x172 = (x99 & 0xffffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- uint32_t x176 = (x99 & 0xffffff);
- uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- (Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.v b/src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.v
deleted file mode 100644
index 99a9d6ce2..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e489m21_20limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e489m21_20limbs/py_interpreter.sh b/src/Specific/solinas32_2e489m21_20limbs/py_interpreter.sh
deleted file mode 100755
index 0d19b63ff..000000000
--- a/src/Specific/solinas32_2e489m21_20limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**489 - 21' -Dmodulus_bytes='24 + 9/20' -Da24='121665'
diff --git a/src/Specific/solinas32_2e495m31_20limbs/CurveParameters.v b/src/Specific/solinas32_2e495m31_20limbs/CurveParameters.v
deleted file mode 100644
index 4e2d82a90..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^495 - 31
-Base: 24.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 20%nat;
- base := 24 + 3/4;
- bitwidth := 32;
- s := 2^495;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 20); [0; 1]]%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_2e495m31_20limbs/Synthesis.v b/src/Specific/solinas32_2e495m31_20limbs/Synthesis.v
deleted file mode 100644
index 8ae6b2161..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/compiler.sh b/src/Specific/solinas32_2e495m31_20limbs/compiler.sh
deleted file mode 100755
index 05abc8c8f..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas32_2e495m31_20limbs/compilerxx.sh b/src/Specific/solinas32_2e495m31_20limbs/compilerxx.sh
deleted file mode 100755
index daab39791..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24,25,25,25,24}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas32_2e495m31_20limbs/feadd.c b/src/Specific/solinas32_2e495m31_20limbs/feadd.c
deleted file mode 100644
index 28ee6f665..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/feadd.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void feadd(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = (x5 + x43);
- out[1] = (x7 + x45);
- out[2] = (x9 + x47);
- out[3] = (x11 + x49);
- out[4] = (x13 + x51);
- out[5] = (x15 + x53);
- out[6] = (x17 + x55);
- out[7] = (x19 + x57);
- out[8] = (x21 + x59);
- out[9] = (x23 + x61);
- out[10] = (x25 + x63);
- out[11] = (x27 + x65);
- out[12] = (x29 + x67);
- out[13] = (x31 + x69);
- out[14] = (x33 + x71);
- out[15] = (x35 + x73);
- out[16] = (x37 + x75);
- out[17] = (x39 + x77);
- out[18] = (x41 + x79);
- out[19] = (x40 + x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_20limbs/feadd.v b/src/Specific/solinas32_2e495m31_20limbs/feadd.v
deleted file mode 100644
index 801a6dae0..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/feaddDisplay.log b/src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.log
deleted file mode 100644
index eebe17777..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- ((x40 + x78), (x41 + x79), (x39 + x77), (x37 + x75), (x35 + x73), (x33 + x71), (x31 + x69), (x29 + x67), (x27 + x65), (x25 + x63), (x23 + x61), (x21 + x59), (x19 + x57), (x17 + x55), (x15 + x53), (x13 + x51), (x11 + x49), (x9 + x47), (x7 + x45), (x5 + x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.v b/src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.v
deleted file mode 100644
index 608b1fdd0..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fecarry.v b/src/Specific/solinas32_2e495m31_20limbs/fecarry.v
deleted file mode 100644
index 6855cba8c..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/fecarryDisplay.v b/src/Specific/solinas32_2e495m31_20limbs/fecarryDisplay.v
deleted file mode 100644
index 0de3faef2..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e495m31_20limbs/femul.c b/src/Specific/solinas32_2e495m31_20limbs/femul.c
deleted file mode 100644
index 7818797cb..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/femul.c
+++ /dev/null
@@ -1,148 +0,0 @@
-static void femul(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- { uint64_t x80 = (((uint64_t)x5 * x78) + (((uint64_t)x7 * x79) + (((uint64_t)x9 * x77) + (((uint64_t)x11 * x75) + (((uint64_t)x13 * x73) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + (((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)x35 * x51) + (((uint64_t)x37 * x49) + (((uint64_t)x39 * x47) + (((uint64_t)x41 * x45) + ((uint64_t)x40 * x43))))))))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x79) + (((uint64_t)x7 * x77) + (((uint64_t)x9 * x75) + ((0x2 * ((uint64_t)x11 * x73)) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + (((uint64_t)x37 * x47) + (((uint64_t)x39 * x45) + ((uint64_t)x41 * x43))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x40 * x78))));
- { uint64_t x82 = ((((uint64_t)x5 * x77) + (((uint64_t)x7 * x75) + ((0x2 * ((uint64_t)x9 * x73)) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + ((uint64_t)x39 * x43)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x41 * x78)) + (0x2 * ((uint64_t)x40 * x79)))));
- { uint64_t x83 = ((((uint64_t)x5 * x75) + ((0x2 * ((uint64_t)x7 * x73)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((uint64_t)x37 * x43))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x39 * x78)) + ((0x2 * ((uint64_t)x41 * x79)) + (0x2 * ((uint64_t)x40 * x77))))));
- { uint64_t x84 = ((((uint64_t)x5 * x73) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x35 * x43)))))))))))))))) + (0x1f * (((uint64_t)x37 * x78) + (((uint64_t)x39 * x79) + (((uint64_t)x41 * x77) + ((uint64_t)x40 * x75))))));
- { uint64_t x85 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x33 * x43))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x35 * x78)) + (((uint64_t)x37 * x79) + (((uint64_t)x39 * x77) + (((uint64_t)x41 * x75) + (0x2 * ((uint64_t)x40 * x73))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((uint64_t)x31 * x43)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x33 * x78)) + ((0x2 * ((uint64_t)x35 * x79)) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + ((0x2 * ((uint64_t)x41 * x73)) + (0x2 * ((uint64_t)x40 * x71)))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((uint64_t)x29 * x43))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x31 * x78)) + ((0x2 * ((uint64_t)x33 * x79)) + ((0x2 * ((uint64_t)x35 * x77)) + (((uint64_t)x37 * x75) + ((0x2 * ((uint64_t)x39 * x73)) + ((0x2 * ((uint64_t)x41 * x71)) + (0x2 * ((uint64_t)x40 * x69))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x65) + (((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)))))))))))) + (0x1f * (((uint64_t)x29 * x78) + (((uint64_t)x31 * x79) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + (((uint64_t)x41 * x69) + ((uint64_t)x40 * x67))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((uint64_t)x25 * x43))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x78)) + (((uint64_t)x29 * x79) + (((uint64_t)x31 * x77) + (((uint64_t)x33 * x75) + ((0x2 * ((uint64_t)x35 * x73)) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + (((uint64_t)x41 * x67) + (0x2 * ((uint64_t)x40 * x65))))))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + ((uint64_t)x23 * x43)))))))))) + (0x1f * ((0x2 * ((uint64_t)x25 * x78)) + ((0x2 * ((uint64_t)x27 * x79)) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + ((0x2 * ((uint64_t)x33 * x73)) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + ((0x2 * ((uint64_t)x41 * x65)) + (0x2 * ((uint64_t)x40 * x63)))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((uint64_t)x21 * x43))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x78)) + ((0x2 * ((uint64_t)x25 * x79)) + ((0x2 * ((uint64_t)x27 * x77)) + (((uint64_t)x29 * x75) + ((0x2 * ((uint64_t)x31 * x73)) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + ((0x2 * ((uint64_t)x39 * x65)) + ((0x2 * ((uint64_t)x41 * x63)) + (0x2 * ((uint64_t)x40 * x61))))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))))))) + (0x1f * (((uint64_t)x21 * x78) + (((uint64_t)x23 * x79) + (((uint64_t)x25 * x77) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + (((uint64_t)x41 * x61) + ((uint64_t)x40 * x59))))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + ((uint64_t)x17 * x43))))))) + (0x1f * ((0x2 * ((uint64_t)x19 * x78)) + (((uint64_t)x21 * x79) + (((uint64_t)x23 * x77) + (((uint64_t)x25 * x75) + ((0x2 * ((uint64_t)x27 * x73)) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + (((uint64_t)x41 * x59) + (0x2 * ((uint64_t)x40 * x57))))))))))))))));
- { uint64_t x94 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + ((uint64_t)x15 * x43)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x78)) + ((0x2 * ((uint64_t)x19 * x79)) + (((uint64_t)x21 * x77) + (((uint64_t)x23 * x75) + ((0x2 * ((uint64_t)x25 * x73)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + (0x2 * ((uint64_t)x40 * x55)))))))))))))))));
- { uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (0x1f * ((0x2 * ((uint64_t)x15 * x78)) + ((0x2 * ((uint64_t)x17 * x79)) + ((0x2 * ((uint64_t)x19 * x77)) + (((uint64_t)x21 * x75) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + ((0x2 * ((uint64_t)x39 * x57)) + ((0x2 * ((uint64_t)x41 * x55)) + (0x2 * ((uint64_t)x40 * x53))))))))))))))))));
- { uint64_t x96 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((uint64_t)x11 * x43)))) + (0x1f * (((uint64_t)x13 * x78) + (((uint64_t)x15 * x79) + (((uint64_t)x17 * x77) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (((uint64_t)x41 * x53) + ((uint64_t)x40 * x51))))))))))))))))));
- { uint64_t x97 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((uint64_t)x9 * x43))) + (0x1f * ((0x2 * ((uint64_t)x11 * x78)) + (((uint64_t)x13 * x79) + (((uint64_t)x15 * x77) + (((uint64_t)x17 * x75) + ((0x2 * ((uint64_t)x19 * x73)) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + (((uint64_t)x39 * x53) + (((uint64_t)x41 * x51) + (0x2 * ((uint64_t)x40 * x49))))))))))))))))))));
- { uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (0x1f * ((0x2 * ((uint64_t)x9 * x78)) + ((0x2 * ((uint64_t)x11 * x79)) + (((uint64_t)x13 * x77) + (((uint64_t)x15 * x75) + ((0x2 * ((uint64_t)x17 * x73)) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + ((0x2 * ((uint64_t)x35 * x55)) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + (0x2 * ((uint64_t)x40 * x47)))))))))))))))))))));
- { uint64_t x99 = (((uint64_t)x5 * x43) + (0x1f * ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + (((uint64_t)x13 * x75) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (((uint64_t)x37 * x51) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45))))))))))))))))))))));
- { uint64_t x100 = (x99 >> 0x19);
- { uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- { uint64_t x102 = (x100 + x98);
- { uint64_t x103 = (x102 >> 0x19);
- { uint32_t x104 = ((uint32_t)x102 & 0x1ffffff);
- { uint64_t x105 = (x103 + x97);
- { uint64_t x106 = (x105 >> 0x19);
- { uint32_t x107 = ((uint32_t)x105 & 0x1ffffff);
- { uint64_t x108 = (x106 + x96);
- { uint64_t x109 = (x108 >> 0x18);
- { uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- { uint64_t x111 = (x109 + x95);
- { uint64_t x112 = (x111 >> 0x19);
- { uint32_t x113 = ((uint32_t)x111 & 0x1ffffff);
- { uint64_t x114 = (x112 + x94);
- { uint64_t x115 = (x114 >> 0x19);
- { uint32_t x116 = ((uint32_t)x114 & 0x1ffffff);
- { uint64_t x117 = (x115 + x93);
- { uint64_t x118 = (x117 >> 0x19);
- { uint32_t x119 = ((uint32_t)x117 & 0x1ffffff);
- { uint64_t x120 = (x118 + x92);
- { uint64_t x121 = (x120 >> 0x18);
- { uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- { uint64_t x123 = (x121 + x91);
- { uint64_t x124 = (x123 >> 0x19);
- { uint32_t x125 = ((uint32_t)x123 & 0x1ffffff);
- { uint64_t x126 = (x124 + x90);
- { uint64_t x127 = (x126 >> 0x19);
- { uint32_t x128 = ((uint32_t)x126 & 0x1ffffff);
- { uint64_t x129 = (x127 + x89);
- { uint64_t x130 = (x129 >> 0x19);
- { uint32_t x131 = ((uint32_t)x129 & 0x1ffffff);
- { uint64_t x132 = (x130 + x88);
- { uint64_t x133 = (x132 >> 0x18);
- { uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- { uint64_t x135 = (x133 + x87);
- { uint64_t x136 = (x135 >> 0x19);
- { uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- { uint64_t x138 = (x136 + x86);
- { uint64_t x139 = (x138 >> 0x19);
- { uint32_t x140 = ((uint32_t)x138 & 0x1ffffff);
- { uint64_t x141 = (x139 + x85);
- { uint64_t x142 = (x141 >> 0x19);
- { uint32_t x143 = ((uint32_t)x141 & 0x1ffffff);
- { uint64_t x144 = (x142 + x84);
- { uint64_t x145 = (x144 >> 0x18);
- { uint32_t x146 = ((uint32_t)x144 & 0xffffff);
- { uint64_t x147 = (x145 + x83);
- { uint64_t x148 = (x147 >> 0x19);
- { uint32_t x149 = ((uint32_t)x147 & 0x1ffffff);
- { uint64_t x150 = (x148 + x82);
- { uint64_t x151 = (x150 >> 0x19);
- { uint32_t x152 = ((uint32_t)x150 & 0x1ffffff);
- { uint64_t x153 = (x151 + x81);
- { uint64_t x154 = (x153 >> 0x19);
- { uint32_t x155 = ((uint32_t)x153 & 0x1ffffff);
- { uint64_t x156 = (x154 + x80);
- { uint64_t x157 = (x156 >> 0x18);
- { uint32_t x158 = ((uint32_t)x156 & 0xffffff);
- { uint64_t x159 = (x101 + (0x1f * x157));
- { uint32_t x160 = (uint32_t) (x159 >> 0x19);
- { uint32_t x161 = ((uint32_t)x159 & 0x1ffffff);
- { uint32_t x162 = (x160 + x104);
- { uint32_t x163 = (x162 >> 0x19);
- { uint32_t x164 = (x162 & 0x1ffffff);
- out[0] = x161;
- out[1] = x164;
- out[2] = (x163 + x107);
- out[3] = x110;
- out[4] = x113;
- out[5] = x116;
- out[6] = x119;
- out[7] = x122;
- out[8] = x125;
- out[9] = x128;
- out[10] = x131;
- out[11] = x134;
- out[12] = x137;
- out[13] = x140;
- out[14] = x143;
- out[15] = x146;
- out[16] = x149;
- out[17] = x152;
- out[18] = x155;
- out[19] = x158;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_20limbs/femul.v b/src/Specific/solinas32_2e495m31_20limbs/femul.v
deleted file mode 100644
index 7ea6d31ef..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/femulDisplay.log b/src/Specific/solinas32_2e495m31_20limbs/femulDisplay.log
deleted file mode 100644
index 08b1f4dc7..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/femulDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- uint64_t x80 = (((uint64_t)x5 * x78) + (((uint64_t)x7 * x79) + (((uint64_t)x9 * x77) + (((uint64_t)x11 * x75) + (((uint64_t)x13 * x73) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + (((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)x35 * x51) + (((uint64_t)x37 * x49) + (((uint64_t)x39 * x47) + (((uint64_t)x41 * x45) + ((uint64_t)x40 * x43))))))))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x79) + (((uint64_t)x7 * x77) + (((uint64_t)x9 * x75) + ((0x2 * ((uint64_t)x11 * x73)) + (((uint64_t)x13 * x71) + (((uint64_t)x15 * x69) + (((uint64_t)x17 * x67) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + (((uint64_t)x23 * x61) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + (((uint64_t)x37 * x47) + (((uint64_t)x39 * x45) + ((uint64_t)x41 * x43))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x40 * x78))));
- uint64_t x82 = ((((uint64_t)x5 * x77) + (((uint64_t)x7 * x75) + ((0x2 * ((uint64_t)x9 * x73)) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + (((uint64_t)x21 * x61) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + ((uint64_t)x39 * x43)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x41 * x78)) + (0x2 * ((uint64_t)x40 * x79)))));
- uint64_t x83 = ((((uint64_t)x5 * x75) + ((0x2 * ((uint64_t)x7 * x73)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((uint64_t)x37 * x43))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x39 * x78)) + ((0x2 * ((uint64_t)x41 * x79)) + (0x2 * ((uint64_t)x40 * x77))))));
- uint64_t x84 = ((((uint64_t)x5 * x73) + (((uint64_t)x7 * x71) + (((uint64_t)x9 * x69) + (((uint64_t)x11 * x67) + (((uint64_t)x13 * x65) + (((uint64_t)x15 * x63) + (((uint64_t)x17 * x61) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + (((uint64_t)x33 * x45) + ((uint64_t)x35 * x43)))))))))))))))) + (0x1f * (((uint64_t)x37 * x78) + (((uint64_t)x39 * x79) + (((uint64_t)x41 * x77) + ((uint64_t)x40 * x75))))));
- uint64_t x85 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x33 * x43))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x35 * x78)) + (((uint64_t)x37 * x79) + (((uint64_t)x39 * x77) + (((uint64_t)x41 * x75) + (0x2 * ((uint64_t)x40 * x73))))))));
- uint64_t x86 = ((((uint64_t)x5 * x69) + (((uint64_t)x7 * x67) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + (((uint64_t)x13 * x61) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + (((uint64_t)x29 * x45) + ((uint64_t)x31 * x43)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x33 * x78)) + ((0x2 * ((uint64_t)x35 * x79)) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + ((0x2 * ((uint64_t)x41 * x73)) + (0x2 * ((uint64_t)x40 * x71)))))))));
- uint64_t x87 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((uint64_t)x29 * x43))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x31 * x78)) + ((0x2 * ((uint64_t)x33 * x79)) + ((0x2 * ((uint64_t)x35 * x77)) + (((uint64_t)x37 * x75) + ((0x2 * ((uint64_t)x39 * x73)) + ((0x2 * ((uint64_t)x41 * x71)) + (0x2 * ((uint64_t)x40 * x69))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x65) + (((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)))))))))))) + (0x1f * (((uint64_t)x29 * x78) + (((uint64_t)x31 * x79) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + (((uint64_t)x41 * x69) + ((uint64_t)x40 * x67))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x63) + (((uint64_t)x7 * x61) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + ((0x2 * ((uint64_t)x19 * x49)) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + ((uint64_t)x25 * x43))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x78)) + (((uint64_t)x29 * x79) + (((uint64_t)x31 * x77) + (((uint64_t)x33 * x75) + ((0x2 * ((uint64_t)x35 * x73)) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + (((uint64_t)x41 * x67) + (0x2 * ((uint64_t)x40 * x65))))))))))));
- uint64_t x90 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + ((uint64_t)x23 * x43)))))))))) + (0x1f * ((0x2 * ((uint64_t)x25 * x78)) + ((0x2 * ((uint64_t)x27 * x79)) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + ((0x2 * ((uint64_t)x33 * x73)) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + ((0x2 * ((uint64_t)x41 * x65)) + (0x2 * ((uint64_t)x40 * x63)))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((uint64_t)x21 * x43))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x78)) + ((0x2 * ((uint64_t)x25 * x79)) + ((0x2 * ((uint64_t)x27 * x77)) + (((uint64_t)x29 * x75) + ((0x2 * ((uint64_t)x31 * x73)) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + (((uint64_t)x37 * x67) + ((0x2 * ((uint64_t)x39 * x65)) + ((0x2 * ((uint64_t)x41 * x63)) + (0x2 * ((uint64_t)x40 * x61))))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((uint64_t)x19 * x43)))))))) + (0x1f * (((uint64_t)x21 * x78) + (((uint64_t)x23 * x79) + (((uint64_t)x25 * x77) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + (((uint64_t)x41 * x61) + ((uint64_t)x40 * x59))))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + ((0x2 * ((uint64_t)x11 * x49)) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + ((uint64_t)x17 * x43))))))) + (0x1f * ((0x2 * ((uint64_t)x19 * x78)) + (((uint64_t)x21 * x79) + (((uint64_t)x23 * x77) + (((uint64_t)x25 * x75) + ((0x2 * ((uint64_t)x27 * x73)) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + (((uint64_t)x41 * x59) + (0x2 * ((uint64_t)x40 * x57))))))))))))))));
- uint64_t x94 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + ((uint64_t)x15 * x43)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x78)) + ((0x2 * ((uint64_t)x19 * x79)) + (((uint64_t)x21 * x77) + (((uint64_t)x23 * x75) + ((0x2 * ((uint64_t)x25 * x73)) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + (0x2 * ((uint64_t)x40 * x55)))))))))))))))));
- uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (0x1f * ((0x2 * ((uint64_t)x15 * x78)) + ((0x2 * ((uint64_t)x17 * x79)) + ((0x2 * ((uint64_t)x19 * x77)) + (((uint64_t)x21 * x75) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + (((uint64_t)x29 * x67) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + ((0x2 * ((uint64_t)x39 * x57)) + ((0x2 * ((uint64_t)x41 * x55)) + (0x2 * ((uint64_t)x40 * x53))))))))))))))))));
- uint64_t x96 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + ((uint64_t)x11 * x43)))) + (0x1f * (((uint64_t)x13 * x78) + (((uint64_t)x15 * x79) + (((uint64_t)x17 * x77) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (((uint64_t)x41 * x53) + ((uint64_t)x40 * x51))))))))))))))))));
- uint64_t x97 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + ((uint64_t)x9 * x43))) + (0x1f * ((0x2 * ((uint64_t)x11 * x78)) + (((uint64_t)x13 * x79) + (((uint64_t)x15 * x77) + (((uint64_t)x17 * x75) + ((0x2 * ((uint64_t)x19 * x73)) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + (((uint64_t)x25 * x67) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + (((uint64_t)x39 * x53) + (((uint64_t)x41 * x51) + (0x2 * ((uint64_t)x40 * x49))))))))))))))))))));
- uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (0x1f * ((0x2 * ((uint64_t)x9 * x78)) + ((0x2 * ((uint64_t)x11 * x79)) + (((uint64_t)x13 * x77) + (((uint64_t)x15 * x75) + ((0x2 * ((uint64_t)x17 * x73)) + ((0x2 * ((uint64_t)x19 * x71)) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + ((0x2 * ((uint64_t)x35 * x55)) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + (0x2 * ((uint64_t)x40 * x47)))))))))))))))))))));
- uint64_t x99 = (((uint64_t)x5 * x43) + (0x1f * ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + (((uint64_t)x13 * x75) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + (((uint64_t)x37 * x51) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45))))))))))))))))))))));
- uint64_t x100 = (x99 >> 0x19);
- uint32_t x101 = ((uint32_t)x99 & 0x1ffffff);
- uint64_t x102 = (x100 + x98);
- uint64_t x103 = (x102 >> 0x19);
- uint32_t x104 = ((uint32_t)x102 & 0x1ffffff);
- uint64_t x105 = (x103 + x97);
- uint64_t x106 = (x105 >> 0x19);
- uint32_t x107 = ((uint32_t)x105 & 0x1ffffff);
- uint64_t x108 = (x106 + x96);
- uint64_t x109 = (x108 >> 0x18);
- uint32_t x110 = ((uint32_t)x108 & 0xffffff);
- uint64_t x111 = (x109 + x95);
- uint64_t x112 = (x111 >> 0x19);
- uint32_t x113 = ((uint32_t)x111 & 0x1ffffff);
- uint64_t x114 = (x112 + x94);
- uint64_t x115 = (x114 >> 0x19);
- uint32_t x116 = ((uint32_t)x114 & 0x1ffffff);
- uint64_t x117 = (x115 + x93);
- uint64_t x118 = (x117 >> 0x19);
- uint32_t x119 = ((uint32_t)x117 & 0x1ffffff);
- uint64_t x120 = (x118 + x92);
- uint64_t x121 = (x120 >> 0x18);
- uint32_t x122 = ((uint32_t)x120 & 0xffffff);
- uint64_t x123 = (x121 + x91);
- uint64_t x124 = (x123 >> 0x19);
- uint32_t x125 = ((uint32_t)x123 & 0x1ffffff);
- uint64_t x126 = (x124 + x90);
- uint64_t x127 = (x126 >> 0x19);
- uint32_t x128 = ((uint32_t)x126 & 0x1ffffff);
- uint64_t x129 = (x127 + x89);
- uint64_t x130 = (x129 >> 0x19);
- uint32_t x131 = ((uint32_t)x129 & 0x1ffffff);
- uint64_t x132 = (x130 + x88);
- uint64_t x133 = (x132 >> 0x18);
- uint32_t x134 = ((uint32_t)x132 & 0xffffff);
- uint64_t x135 = (x133 + x87);
- uint64_t x136 = (x135 >> 0x19);
- uint32_t x137 = ((uint32_t)x135 & 0x1ffffff);
- uint64_t x138 = (x136 + x86);
- uint64_t x139 = (x138 >> 0x19);
- uint32_t x140 = ((uint32_t)x138 & 0x1ffffff);
- uint64_t x141 = (x139 + x85);
- uint64_t x142 = (x141 >> 0x19);
- uint32_t x143 = ((uint32_t)x141 & 0x1ffffff);
- uint64_t x144 = (x142 + x84);
- uint64_t x145 = (x144 >> 0x18);
- uint32_t x146 = ((uint32_t)x144 & 0xffffff);
- uint64_t x147 = (x145 + x83);
- uint64_t x148 = (x147 >> 0x19);
- uint32_t x149 = ((uint32_t)x147 & 0x1ffffff);
- uint64_t x150 = (x148 + x82);
- uint64_t x151 = (x150 >> 0x19);
- uint32_t x152 = ((uint32_t)x150 & 0x1ffffff);
- uint64_t x153 = (x151 + x81);
- uint64_t x154 = (x153 >> 0x19);
- uint32_t x155 = ((uint32_t)x153 & 0x1ffffff);
- uint64_t x156 = (x154 + x80);
- uint64_t x157 = (x156 >> 0x18);
- uint32_t x158 = ((uint32_t)x156 & 0xffffff);
- uint64_t x159 = (x101 + (0x1f * x157));
- uint32_t x160 = (uint32_t) (x159 >> 0x19);
- uint32_t x161 = ((uint32_t)x159 & 0x1ffffff);
- uint32_t x162 = (x160 + x104);
- uint32_t x163 = (x162 >> 0x19);
- uint32_t x164 = (x162 & 0x1ffffff);
- return (Return x158, Return x155, Return x152, Return x149, Return x146, Return x143, Return x140, Return x137, Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, (x163 + x107), Return x164, Return x161))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_20limbs/femulDisplay.v b/src/Specific/solinas32_2e495m31_20limbs/femulDisplay.v
deleted file mode 100644
index 426f08911..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fesquare.c b/src/Specific/solinas32_2e495m31_20limbs/fesquare.c
deleted file mode 100644
index 225ff913b..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesquare.c
+++ /dev/null
@@ -1,128 +0,0 @@
-static void fesquare(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x39 = (((uint64_t)x2 * x37) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x37 * x2))))))))))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x37 * x37))));
- { uint64_t x41 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x38 * x37)) + (0x2 * ((uint64_t)x37 * x38)))));
- { uint64_t x42 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x36 * x37)) + ((0x2 * ((uint64_t)x38 * x38)) + (0x2 * ((uint64_t)x37 * x36))))));
- { uint64_t x43 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x1f * (((uint64_t)x34 * x37) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((uint64_t)x37 * x34))))));
- { uint64_t x44 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x32 * x37)) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + (0x2 * ((uint64_t)x37 * x32))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x30 * x37)) + ((0x2 * ((uint64_t)x32 * x38)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + ((0x2 * ((uint64_t)x38 * x32)) + (0x2 * ((uint64_t)x37 * x30)))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x28 * x37)) + ((0x2 * ((uint64_t)x30 * x38)) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + ((0x2 * ((uint64_t)x38 * x30)) + (0x2 * ((uint64_t)x37 * x28))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * (((uint64_t)x26 * x37) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + ((uint64_t)x37 * x26))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x37)) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + (0x2 * ((uint64_t)x37 * x24))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * ((0x2 * ((uint64_t)x22 * x37)) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + (0x2 * ((uint64_t)x37 * x22)))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x37)) + ((0x2 * ((uint64_t)x22 * x38)) + ((0x2 * ((uint64_t)x24 * x36)) + (((uint64_t)x26 * x34) + ((0x2 * ((uint64_t)x28 * x32)) + ((0x2 * ((uint64_t)x30 * x30)) + ((0x2 * ((uint64_t)x32 * x28)) + (((uint64_t)x34 * x26) + ((0x2 * ((uint64_t)x36 * x24)) + ((0x2 * ((uint64_t)x38 * x22)) + (0x2 * ((uint64_t)x37 * x20))))))))))))));
- { uint64_t x51 = ((((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)))))))) + (0x1f * (((uint64_t)x18 * x37) + (((uint64_t)x20 * x38) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + (((uint64_t)x38 * x20) + ((uint64_t)x37 * x18))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * ((0x2 * ((uint64_t)x16 * x37)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + (0x2 * ((uint64_t)x37 * x16))))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x37)) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + (0x2 * ((uint64_t)x37 * x14)))))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint64_t)x12 * x37)) + ((0x2 * ((uint64_t)x14 * x38)) + ((0x2 * ((uint64_t)x16 * x36)) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + ((0x2 * ((uint64_t)x36 * x16)) + ((0x2 * ((uint64_t)x38 * x14)) + (0x2 * ((uint64_t)x37 * x12))))))))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1f * (((uint64_t)x10 * x37) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((uint64_t)x37 * x10))))))))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * ((0x2 * ((uint64_t)x8 * x37)) + (((uint64_t)x10 * x38) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + (((uint64_t)x38 * x10) + (0x2 * ((uint64_t)x37 * x8))))))))))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x37)) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + (0x2 * ((uint64_t)x37 * x6)))))))))))))))))))));
- { uint64_t x58 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4))))))))))))))))))))));
- { uint64_t x59 = (x58 >> 0x19);
- { uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- { uint64_t x61 = (x59 + x57);
- { uint64_t x62 = (x61 >> 0x19);
- { uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- { uint64_t x64 = (x62 + x56);
- { uint64_t x65 = (x64 >> 0x19);
- { uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- { uint64_t x67 = (x65 + x55);
- { uint64_t x68 = (x67 >> 0x18);
- { uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- { uint64_t x70 = (x68 + x54);
- { uint64_t x71 = (x70 >> 0x19);
- { uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- { uint64_t x73 = (x71 + x53);
- { uint64_t x74 = (x73 >> 0x19);
- { uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- { uint64_t x76 = (x74 + x52);
- { uint64_t x77 = (x76 >> 0x19);
- { uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- { uint64_t x79 = (x77 + x51);
- { uint64_t x80 = (x79 >> 0x18);
- { uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- { uint64_t x82 = (x80 + x50);
- { uint64_t x83 = (x82 >> 0x19);
- { uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- { uint64_t x85 = (x83 + x49);
- { uint64_t x86 = (x85 >> 0x19);
- { uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- { uint64_t x88 = (x86 + x48);
- { uint64_t x89 = (x88 >> 0x19);
- { uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- { uint64_t x91 = (x89 + x47);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x46);
- { uint64_t x95 = (x94 >> 0x19);
- { uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- { uint64_t x97 = (x95 + x45);
- { uint64_t x98 = (x97 >> 0x19);
- { uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- { uint64_t x100 = (x98 + x44);
- { uint64_t x101 = (x100 >> 0x19);
- { uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- { uint64_t x103 = (x101 + x43);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x42);
- { uint64_t x107 = (x106 >> 0x19);
- { uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- { uint64_t x109 = (x107 + x41);
- { uint64_t x110 = (x109 >> 0x19);
- { uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- { uint64_t x112 = (x110 + x40);
- { uint64_t x113 = (x112 >> 0x19);
- { uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- { uint64_t x115 = (x113 + x39);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x60 + (0x1f * x116));
- { uint32_t x119 = (uint32_t) (x118 >> 0x19);
- { uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- { uint32_t x121 = (x119 + x63);
- { uint32_t x122 = (x121 >> 0x19);
- { uint32_t x123 = (x121 & 0x1ffffff);
- out[0] = x120;
- out[1] = x123;
- out[2] = (x122 + x66);
- out[3] = x69;
- out[4] = x72;
- out[5] = x75;
- out[6] = x78;
- out[7] = x81;
- out[8] = x84;
- out[9] = x87;
- out[10] = x90;
- out[11] = x93;
- out[12] = x96;
- out[13] = x99;
- out[14] = x102;
- out[15] = x105;
- out[16] = x108;
- out[17] = x111;
- out[18] = x114;
- out[19] = x117;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fesquare.v b/src/Specific/solinas32_2e495m31_20limbs/fesquare.v
deleted file mode 100644
index e2500d864..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/fesquareDisplay.log b/src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.log
deleted file mode 100644
index 613dfc798..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x39 = (((uint64_t)x2 * x37) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x37 * x2))))))))))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x37 * x37))));
- uint64_t x41 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x38 * x37)) + (0x2 * ((uint64_t)x37 * x38)))));
- uint64_t x42 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x36 * x37)) + ((0x2 * ((uint64_t)x38 * x38)) + (0x2 * ((uint64_t)x37 * x36))))));
- uint64_t x43 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x1f * (((uint64_t)x34 * x37) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((uint64_t)x37 * x34))))));
- uint64_t x44 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x32 * x37)) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + (0x2 * ((uint64_t)x37 * x32))))))));
- uint64_t x45 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x30 * x37)) + ((0x2 * ((uint64_t)x32 * x38)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + ((0x2 * ((uint64_t)x38 * x32)) + (0x2 * ((uint64_t)x37 * x30)))))))));
- uint64_t x46 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x28 * x37)) + ((0x2 * ((uint64_t)x30 * x38)) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + ((0x2 * ((uint64_t)x38 * x30)) + (0x2 * ((uint64_t)x37 * x28))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * (((uint64_t)x26 * x37) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + ((uint64_t)x37 * x26))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x37)) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + (0x2 * ((uint64_t)x37 * x24))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * ((0x2 * ((uint64_t)x22 * x37)) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + (0x2 * ((uint64_t)x37 * x22)))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x37)) + ((0x2 * ((uint64_t)x22 * x38)) + ((0x2 * ((uint64_t)x24 * x36)) + (((uint64_t)x26 * x34) + ((0x2 * ((uint64_t)x28 * x32)) + ((0x2 * ((uint64_t)x30 * x30)) + ((0x2 * ((uint64_t)x32 * x28)) + (((uint64_t)x34 * x26) + ((0x2 * ((uint64_t)x36 * x24)) + ((0x2 * ((uint64_t)x38 * x22)) + (0x2 * ((uint64_t)x37 * x20))))))))))))));
- uint64_t x51 = ((((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)))))))) + (0x1f * (((uint64_t)x18 * x37) + (((uint64_t)x20 * x38) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + (((uint64_t)x38 * x20) + ((uint64_t)x37 * x18))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * ((0x2 * ((uint64_t)x16 * x37)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + (0x2 * ((uint64_t)x37 * x16))))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x37)) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + (0x2 * ((uint64_t)x37 * x14)))))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint64_t)x12 * x37)) + ((0x2 * ((uint64_t)x14 * x38)) + ((0x2 * ((uint64_t)x16 * x36)) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + ((0x2 * ((uint64_t)x36 * x16)) + ((0x2 * ((uint64_t)x38 * x14)) + (0x2 * ((uint64_t)x37 * x12))))))))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x1f * (((uint64_t)x10 * x37) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((uint64_t)x37 * x10))))))))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * ((0x2 * ((uint64_t)x8 * x37)) + (((uint64_t)x10 * x38) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + (((uint64_t)x38 * x10) + (0x2 * ((uint64_t)x37 * x8))))))))))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x37)) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + (0x2 * ((uint64_t)x37 * x6)))))))))))))))))))));
- uint64_t x58 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4))))))))))))))))))))));
- uint64_t x59 = (x58 >> 0x19);
- uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
- uint64_t x61 = (x59 + x57);
- uint64_t x62 = (x61 >> 0x19);
- uint32_t x63 = ((uint32_t)x61 & 0x1ffffff);
- uint64_t x64 = (x62 + x56);
- uint64_t x65 = (x64 >> 0x19);
- uint32_t x66 = ((uint32_t)x64 & 0x1ffffff);
- uint64_t x67 = (x65 + x55);
- uint64_t x68 = (x67 >> 0x18);
- uint32_t x69 = ((uint32_t)x67 & 0xffffff);
- uint64_t x70 = (x68 + x54);
- uint64_t x71 = (x70 >> 0x19);
- uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
- uint64_t x73 = (x71 + x53);
- uint64_t x74 = (x73 >> 0x19);
- uint32_t x75 = ((uint32_t)x73 & 0x1ffffff);
- uint64_t x76 = (x74 + x52);
- uint64_t x77 = (x76 >> 0x19);
- uint32_t x78 = ((uint32_t)x76 & 0x1ffffff);
- uint64_t x79 = (x77 + x51);
- uint64_t x80 = (x79 >> 0x18);
- uint32_t x81 = ((uint32_t)x79 & 0xffffff);
- uint64_t x82 = (x80 + x50);
- uint64_t x83 = (x82 >> 0x19);
- uint32_t x84 = ((uint32_t)x82 & 0x1ffffff);
- uint64_t x85 = (x83 + x49);
- uint64_t x86 = (x85 >> 0x19);
- uint32_t x87 = ((uint32_t)x85 & 0x1ffffff);
- uint64_t x88 = (x86 + x48);
- uint64_t x89 = (x88 >> 0x19);
- uint32_t x90 = ((uint32_t)x88 & 0x1ffffff);
- uint64_t x91 = (x89 + x47);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x46);
- uint64_t x95 = (x94 >> 0x19);
- uint32_t x96 = ((uint32_t)x94 & 0x1ffffff);
- uint64_t x97 = (x95 + x45);
- uint64_t x98 = (x97 >> 0x19);
- uint32_t x99 = ((uint32_t)x97 & 0x1ffffff);
- uint64_t x100 = (x98 + x44);
- uint64_t x101 = (x100 >> 0x19);
- uint32_t x102 = ((uint32_t)x100 & 0x1ffffff);
- uint64_t x103 = (x101 + x43);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x42);
- uint64_t x107 = (x106 >> 0x19);
- uint32_t x108 = ((uint32_t)x106 & 0x1ffffff);
- uint64_t x109 = (x107 + x41);
- uint64_t x110 = (x109 >> 0x19);
- uint32_t x111 = ((uint32_t)x109 & 0x1ffffff);
- uint64_t x112 = (x110 + x40);
- uint64_t x113 = (x112 >> 0x19);
- uint32_t x114 = ((uint32_t)x112 & 0x1ffffff);
- uint64_t x115 = (x113 + x39);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x60 + (0x1f * x116));
- uint32_t x119 = (uint32_t) (x118 >> 0x19);
- uint32_t x120 = ((uint32_t)x118 & 0x1ffffff);
- uint32_t x121 = (x119 + x63);
- uint32_t x122 = (x121 >> 0x19);
- uint32_t x123 = (x121 & 0x1ffffff);
- return (Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, (x122 + x66), Return x123, Return x120))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.v b/src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.v
deleted file mode 100644
index dc4656fc2..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fesub.c b/src/Specific/solinas32_2e495m31_20limbs/fesub.c
deleted file mode 100644
index f6af61356..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesub.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fesub(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = ((0x3ffffc2 + x5) - x43);
- out[1] = ((0x3fffffe + x7) - x45);
- out[2] = ((0x3fffffe + x9) - x47);
- out[3] = ((0x1fffffe + x11) - x49);
- out[4] = ((0x3fffffe + x13) - x51);
- out[5] = ((0x3fffffe + x15) - x53);
- out[6] = ((0x3fffffe + x17) - x55);
- out[7] = ((0x1fffffe + x19) - x57);
- out[8] = ((0x3fffffe + x21) - x59);
- out[9] = ((0x3fffffe + x23) - x61);
- out[10] = ((0x3fffffe + x25) - x63);
- out[11] = ((0x1fffffe + x27) - x65);
- out[12] = ((0x3fffffe + x29) - x67);
- out[13] = ((0x3fffffe + x31) - x69);
- out[14] = ((0x3fffffe + x33) - x71);
- out[15] = ((0x1fffffe + x35) - x73);
- out[16] = ((0x3fffffe + x37) - x75);
- out[17] = ((0x3fffffe + x39) - x77);
- out[18] = ((0x3fffffe + x41) - x79);
- out[19] = ((0x1fffffe + x40) - x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fesub.v b/src/Specific/solinas32_2e495m31_20limbs/fesub.v
deleted file mode 100644
index ff352a2f1..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/fesubDisplay.log b/src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.log
deleted file mode 100644
index e42ae510a..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- (((0x1fffffe + x40) - x78), ((0x3fffffe + x41) - x79), ((0x3fffffe + x39) - x77), ((0x3fffffe + x37) - x75), ((0x1fffffe + x35) - x73), ((0x3fffffe + x33) - x71), ((0x3fffffe + x31) - x69), ((0x3fffffe + x29) - x67), ((0x1fffffe + x27) - x65), ((0x3fffffe + x25) - x63), ((0x3fffffe + x23) - x61), ((0x3fffffe + x21) - x59), ((0x1fffffe + x19) - x57), ((0x3fffffe + x17) - x55), ((0x3fffffe + x15) - x53), ((0x3fffffe + x13) - x51), ((0x1fffffe + x11) - x49), ((0x3fffffe + x9) - x47), ((0x3fffffe + x7) - x45), ((0x3ffffc2 + x5) - x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.v b/src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.v
deleted file mode 100644
index 565c8bad7..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e495m31_20limbs/freeze.c b/src/Specific/solinas32_2e495m31_20limbs/freeze.c
deleted file mode 100644
index 3e5fd626b..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/freeze.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void freeze(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffe1);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0x1ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x1ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x1ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x1ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x1ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0xffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x1ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0x1ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x1ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0xffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x1ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x1ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0x1ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0xffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0x1ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x1ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0x1ffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- { uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- { uint32_t x100 = (x99 & 0x1ffffe1);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- { uint32_t x104 = (x99 & 0x1ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- { uint32_t x108 = (x99 & 0x1ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- { uint32_t x112 = (x99 & 0xffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- { uint32_t x116 = (x99 & 0x1ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- { uint32_t x120 = (x99 & 0x1ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- { uint32_t x124 = (x99 & 0x1ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- { uint32_t x128 = (x99 & 0xffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- { uint32_t x132 = (x99 & 0x1ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- { uint32_t x136 = (x99 & 0x1ffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- { uint32_t x140 = (x99 & 0x1ffffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- { uint32_t x144 = (x99 & 0xffffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- { uint32_t x148 = (x99 & 0x1ffffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- { uint32_t x152 = (x99 & 0x1ffffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- { uint32_t x156 = (x99 & 0x1ffffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- { uint32_t x160 = (x99 & 0xffffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- { uint32_t x164 = (x99 & 0x1ffffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- { uint32_t x168 = (x99 & 0x1ffffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- { uint32_t x172 = (x99 & 0x1ffffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- { uint32_t x176 = (x99 & 0xffffff);
- { uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- out[0] = x102;
- out[1] = x106;
- out[2] = x110;
- out[3] = x114;
- out[4] = x118;
- out[5] = x122;
- out[6] = x126;
- out[7] = x130;
- out[8] = x134;
- out[9] = x138;
- out[10] = x142;
- out[11] = x146;
- out[12] = x150;
- out[13] = x154;
- out[14] = x158;
- out[15] = x162;
- out[16] = x166;
- out[17] = x170;
- out[18] = x174;
- out[19] = x178;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_20limbs/freeze.v b/src/Specific/solinas32_2e495m31_20limbs/freeze.v
deleted file mode 100644
index d51880edf..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.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_2e495m31_20limbs/freezeDisplay.log b/src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.log
deleted file mode 100644
index 1da1ddb85..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffe1);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0x1ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x1ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x1ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x1ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x1ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x1ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0x1ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x1ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0xffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x1ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x1ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0x1ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0xffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0x1ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x1ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0x1ffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0xffffff);
- uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- uint32_t x100 = (x99 & 0x1ffffe1);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- uint32_t x104 = (x99 & 0x1ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- uint32_t x108 = (x99 & 0x1ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- uint32_t x112 = (x99 & 0xffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- uint32_t x116 = (x99 & 0x1ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- uint32_t x120 = (x99 & 0x1ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- uint32_t x124 = (x99 & 0x1ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- uint32_t x128 = (x99 & 0xffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- uint32_t x132 = (x99 & 0x1ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- uint32_t x136 = (x99 & 0x1ffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- uint32_t x140 = (x99 & 0x1ffffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- uint32_t x144 = (x99 & 0xffffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- uint32_t x148 = (x99 & 0x1ffffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- uint32_t x152 = (x99 & 0x1ffffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- uint32_t x156 = (x99 & 0x1ffffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- uint32_t x160 = (x99 & 0xffffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- uint32_t x164 = (x99 & 0x1ffffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- uint32_t x168 = (x99 & 0x1ffffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- uint32_t x172 = (x99 & 0x1ffffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- uint32_t x176 = (x99 & 0xffffff);
- uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- (Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.v b/src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.v
deleted file mode 100644
index 278c54d82..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_20limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e495m31_20limbs/py_interpreter.sh b/src/Specific/solinas32_2e495m31_20limbs/py_interpreter.sh
deleted file mode 100755
index 60e78069b..000000000
--- a/src/Specific/solinas32_2e495m31_20limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**495 - 31' -Dmodulus_bytes='24.75' -Da24='121665'
diff --git a/src/Specific/solinas32_2e495m31_21limbs/CurveParameters.v b/src/Specific/solinas32_2e495m31_21limbs/CurveParameters.v
deleted file mode 100644
index 17fe6c0b8..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^495 - 31
-Base: 23 + 4/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 21%nat;
- base := 23 + 4/7;
- bitwidth := 32;
- s := 2^495;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 21); [0; 1]]%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_2e495m31_21limbs/Synthesis.v b/src/Specific/solinas32_2e495m31_21limbs/Synthesis.v
deleted file mode 100644
index b55dd1d70..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/compiler.sh b/src/Specific/solinas32_2e495m31_21limbs/compiler.sh
deleted file mode 100755
index e4766e188..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,24,23,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='21' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas32_2e495m31_21limbs/compilerxx.sh b/src/Specific/solinas32_2e495m31_21limbs/compilerxx.sh
deleted file mode 100755
index 4795b9c51..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,24,23,24,23,24,23,24,24,23,24,23,24,23,24,24,23,24,23,24,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='21' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas32_2e495m31_21limbs/feadd.c b/src/Specific/solinas32_2e495m31_21limbs/feadd.c
deleted file mode 100644
index b5452623f..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/feadd.c
+++ /dev/null
@@ -1,66 +0,0 @@
-static void feadd(uint32_t out[21], const uint32_t in1[21], const uint32_t in2[21]) {
- { const uint32_t x42 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x82 = in2[20];
- { const uint32_t x83 = in2[19];
- { const uint32_t x81 = in2[18];
- { const uint32_t x79 = in2[17];
- { const uint32_t x77 = in2[16];
- { const uint32_t x75 = in2[15];
- { const uint32_t x73 = in2[14];
- { const uint32_t x71 = in2[13];
- { const uint32_t x69 = in2[12];
- { const uint32_t x67 = in2[11];
- { const uint32_t x65 = in2[10];
- { const uint32_t x63 = in2[9];
- { const uint32_t x61 = in2[8];
- { const uint32_t x59 = in2[7];
- { const uint32_t x57 = in2[6];
- { const uint32_t x55 = in2[5];
- { const uint32_t x53 = in2[4];
- { const uint32_t x51 = in2[3];
- { const uint32_t x49 = in2[2];
- { const uint32_t x47 = in2[1];
- { const uint32_t x45 = in2[0];
- out[0] = (x5 + x45);
- out[1] = (x7 + x47);
- out[2] = (x9 + x49);
- out[3] = (x11 + x51);
- out[4] = (x13 + x53);
- out[5] = (x15 + x55);
- out[6] = (x17 + x57);
- out[7] = (x19 + x59);
- out[8] = (x21 + x61);
- out[9] = (x23 + x63);
- out[10] = (x25 + x65);
- out[11] = (x27 + x67);
- out[12] = (x29 + x69);
- out[13] = (x31 + x71);
- out[14] = (x33 + x73);
- out[15] = (x35 + x75);
- out[16] = (x37 + x77);
- out[17] = (x39 + x79);
- out[18] = (x41 + x81);
- out[19] = (x43 + x83);
- out[20] = (x42 + x82);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_21limbs/feadd.v b/src/Specific/solinas32_2e495m31_21limbs/feadd.v
deleted file mode 100644
index 3e0caf08c..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/feaddDisplay.log b/src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.log
deleted file mode 100644
index 0841fa889..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/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 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x82, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45))%core,
- ((x42 + x82), (x43 + x83), (x41 + x81), (x39 + x79), (x37 + x77), (x35 + x75), (x33 + x73), (x31 + x71), (x29 + x69), (x27 + x67), (x25 + x65), (x23 + x63), (x21 + x61), (x19 + x59), (x17 + x57), (x15 + x55), (x13 + x53), (x11 + x51), (x9 + x49), (x7 + x47), (x5 + x45)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.v b/src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.v
deleted file mode 100644
index a0c1fb07a..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fecarry.v b/src/Specific/solinas32_2e495m31_21limbs/fecarry.v
deleted file mode 100644
index 385f6e6b5..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/fecarryDisplay.v b/src/Specific/solinas32_2e495m31_21limbs/fecarryDisplay.v
deleted file mode 100644
index 12e006627..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e495m31_21limbs/femul.c b/src/Specific/solinas32_2e495m31_21limbs/femul.c
deleted file mode 100644
index 6485af339..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/femul.c
+++ /dev/null
@@ -1,155 +0,0 @@
-static void femul(uint32_t out[21], const uint32_t in1[21], const uint32_t in2[21]) {
- { const uint32_t x42 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x82 = in2[20];
- { const uint32_t x83 = in2[19];
- { const uint32_t x81 = in2[18];
- { const uint32_t x79 = in2[17];
- { const uint32_t x77 = in2[16];
- { const uint32_t x75 = in2[15];
- { const uint32_t x73 = in2[14];
- { const uint32_t x71 = in2[13];
- { const uint32_t x69 = in2[12];
- { const uint32_t x67 = in2[11];
- { const uint32_t x65 = in2[10];
- { const uint32_t x63 = in2[9];
- { const uint32_t x61 = in2[8];
- { const uint32_t x59 = in2[7];
- { const uint32_t x57 = in2[6];
- { const uint32_t x55 = in2[5];
- { const uint32_t x53 = in2[4];
- { const uint32_t x51 = in2[3];
- { const uint32_t x49 = in2[2];
- { const uint32_t x47 = in2[1];
- { const uint32_t x45 = in2[0];
- { uint64_t x84 = (((uint64_t)x5 * x82) + (((uint64_t)x7 * x83) + ((0x2 * ((uint64_t)x9 * x81)) + (((uint64_t)x11 * x79) + ((0x2 * ((uint64_t)x13 * x77)) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((0x2 * ((uint64_t)x37 * x53)) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + (((uint64_t)x43 * x47) + ((uint64_t)x42 * x45)))))))))))))))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x83) + ((0x2 * ((uint64_t)x7 * x81)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + (((uint64_t)x33 * x55) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + ((uint64_t)x43 * x45)))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x42 * x82))));
- { uint64_t x86 = ((((uint64_t)x5 * x81) + (((uint64_t)x7 * x79) + ((0x2 * ((uint64_t)x9 * x77)) + (((uint64_t)x11 * x75) + (((uint64_t)x13 * x73) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + ((0x2 * ((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)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + ((uint64_t)x41 * x45))))))))))))))))))) + (0x1f * (((uint64_t)x43 * x82) + ((uint64_t)x42 * x83))));
- { uint64_t x87 = ((((uint64_t)x5 * x79) + ((0x2 * ((uint64_t)x7 * x77)) + ((0x2 * ((uint64_t)x9 * x75)) + (((uint64_t)x11 * x73) + ((0x2 * ((uint64_t)x13 * x71)) + (((uint64_t)x15 * x69) + ((0x2 * ((uint64_t)x17 * x67)) + (((uint64_t)x19 * x65) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + (((uint64_t)x29 * x55) + ((0x2 * ((uint64_t)x31 * x53)) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((uint64_t)x39 * x45)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x41 * x82)) + (((uint64_t)x43 * x83) + (0x2 * ((uint64_t)x42 * x81))))));
- { uint64_t x88 = ((((uint64_t)x5 * x77) + (((uint64_t)x7 * x75) + (((uint64_t)x9 * x73) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + ((uint64_t)x37 * x45))))))))))))))))) + (0x1f * (((uint64_t)x39 * x82) + (((uint64_t)x41 * x83) + (((uint64_t)x43 * x81) + ((uint64_t)x42 * x79))))));
- { uint64_t x89 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + (((uint64_t)x15 * x65) + ((0x2 * ((uint64_t)x17 * x63)) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((uint64_t)x35 * x45)))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x37 * x82)) + (((uint64_t)x39 * x83) + ((0x2 * ((uint64_t)x41 * x81)) + (((uint64_t)x43 * x79) + (0x2 * ((uint64_t)x42 * x77))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((uint64_t)x33 * x45))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x35 * x82)) + ((0x2 * ((uint64_t)x37 * x83)) + ((0x2 * ((uint64_t)x39 * x81)) + ((0x2 * ((uint64_t)x41 * x79)) + ((0x2 * ((uint64_t)x43 * x77)) + (0x2 * ((uint64_t)x42 * x75)))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + ((0x2 * ((uint64_t)x9 * x67)) + (((uint64_t)x11 * x65) + ((0x2 * ((uint64_t)x13 * x63)) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + ((uint64_t)x31 * x45)))))))))))))) + (0x1f * (((uint64_t)x33 * x82) + (((uint64_t)x35 * x83) + ((0x2 * ((uint64_t)x37 * x81)) + (((uint64_t)x39 * x79) + ((0x2 * ((uint64_t)x41 * x77)) + (((uint64_t)x43 * x75) + ((uint64_t)x42 * x73)))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((uint64_t)x29 * x45))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x31 * x82)) + (((uint64_t)x33 * x83) + ((0x2 * ((uint64_t)x35 * x81)) + ((0x2 * ((uint64_t)x37 * x79)) + ((0x2 * ((uint64_t)x39 * x77)) + ((0x2 * ((uint64_t)x41 * x75)) + (((uint64_t)x43 * x73) + (0x2 * ((uint64_t)x42 * x71)))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + ((0x2 * ((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)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((uint64_t)x27 * x45)))))))))))) + (0x1f * (((uint64_t)x29 * x82) + (((uint64_t)x31 * x83) + (((uint64_t)x33 * x81) + (((uint64_t)x35 * x79) + ((0x2 * ((uint64_t)x37 * x77)) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + (((uint64_t)x43 * x71) + ((uint64_t)x42 * x69)))))))))));
- { uint64_t x94 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((uint64_t)x25 * x45))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x82)) + (((uint64_t)x29 * x83) + ((0x2 * ((uint64_t)x31 * x81)) + (((uint64_t)x33 * x79) + ((0x2 * ((uint64_t)x35 * x77)) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + (((uint64_t)x43 * x69) + (0x2 * ((uint64_t)x42 * x67)))))))))))));
- { uint64_t x95 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + ((uint64_t)x23 * x45)))))))))) + (0x1f * (((uint64_t)x25 * x82) + (((uint64_t)x27 * x83) + (((uint64_t)x29 * x81) + (((uint64_t)x31 * x79) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + (((uint64_t)x41 * x69) + (((uint64_t)x43 * x67) + ((uint64_t)x42 * x65)))))))))))));
- { uint64_t x96 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x82)) + (((uint64_t)x25 * x83) + ((0x2 * ((uint64_t)x27 * x81)) + (((uint64_t)x29 * x79) + ((0x2 * ((uint64_t)x31 * x77)) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + ((0x2 * ((uint64_t)x37 * x71)) + (((uint64_t)x39 * x69) + ((0x2 * ((uint64_t)x41 * x67)) + (((uint64_t)x43 * x65) + (0x2 * ((uint64_t)x42 * x63)))))))))))))));
- { uint64_t x97 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((uint64_t)x19 * x45)))))))) + (0x1f * ((0x2 * ((uint64_t)x21 * x82)) + ((0x2 * ((uint64_t)x23 * x83)) + ((0x2 * ((uint64_t)x25 * x81)) + ((0x2 * ((uint64_t)x27 * x79)) + ((0x2 * ((uint64_t)x29 * x77)) + ((0x2 * ((uint64_t)x31 * x75)) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + ((0x2 * ((uint64_t)x39 * x67)) + ((0x2 * ((uint64_t)x41 * x65)) + ((0x2 * ((uint64_t)x43 * x63)) + (0x2 * ((uint64_t)x42 * x61))))))))))))))));
- { uint64_t x98 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((uint64_t)x17 * x45))))))) + (0x1f * (((uint64_t)x19 * x82) + (((uint64_t)x21 * x83) + ((0x2 * ((uint64_t)x23 * x81)) + (((uint64_t)x25 * x79) + ((0x2 * ((uint64_t)x27 * x77)) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (((uint64_t)x39 * x65) + ((0x2 * ((uint64_t)x41 * x63)) + (((uint64_t)x43 * x61) + ((uint64_t)x42 * x59))))))))))))))));
- { uint64_t x99 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((uint64_t)x15 * x45)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x82)) + (((uint64_t)x19 * x83) + ((0x2 * ((uint64_t)x21 * x81)) + ((0x2 * ((uint64_t)x23 * x79)) + ((0x2 * ((uint64_t)x25 * x77)) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + ((0x2 * ((uint64_t)x39 * x63)) + ((0x2 * ((uint64_t)x41 * x61)) + (((uint64_t)x43 * x59) + (0x2 * ((uint64_t)x42 * x57))))))))))))))))));
- { uint64_t x100 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((uint64_t)x13 * x45))))) + (0x1f * (((uint64_t)x15 * x82) + (((uint64_t)x17 * x83) + (((uint64_t)x19 * x81) + (((uint64_t)x21 * x79) + ((0x2 * ((uint64_t)x23 * x77)) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((0x2 * ((uint64_t)x37 * x63)) + (((uint64_t)x39 * x61) + (((uint64_t)x41 * x59) + (((uint64_t)x43 * x57) + ((uint64_t)x42 * x55))))))))))))))))));
- { uint64_t x101 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((uint64_t)x11 * x45)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x82)) + (((uint64_t)x15 * x83) + ((0x2 * ((uint64_t)x17 * x81)) + (((uint64_t)x19 * x79) + ((0x2 * ((uint64_t)x21 * x77)) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + (((uint64_t)x43 * x55) + (0x2 * ((uint64_t)x42 * x53))))))))))))))))))));
- { uint64_t x102 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((uint64_t)x9 * x45))) + (0x1f * (((uint64_t)x11 * x82) + (((uint64_t)x13 * x83) + (((uint64_t)x15 * x81) + (((uint64_t)x17 * x79) + (((uint64_t)x19 * x77) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + (((uint64_t)x41 * x55) + (((uint64_t)x43 * x53) + ((uint64_t)x42 * x51))))))))))))))))))));
- { uint64_t x103 = ((((uint64_t)x5 * x47) + ((uint64_t)x7 * x45)) + (0x1f * ((0x2 * ((uint64_t)x9 * x82)) + (((uint64_t)x11 * x83) + ((0x2 * ((uint64_t)x13 * x81)) + (((uint64_t)x15 * x79) + ((0x2 * ((uint64_t)x17 * x77)) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + (((uint64_t)x25 * x69) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + ((0x2 * ((uint64_t)x31 * x63)) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((0x2 * ((uint64_t)x41 * x53)) + (((uint64_t)x43 * x51) + (0x2 * ((uint64_t)x42 * x49))))))))))))))))))))));
- { uint64_t x104 = (((uint64_t)x5 * x45) + (0x1f * ((0x2 * ((uint64_t)x7 * x82)) + ((0x2 * ((uint64_t)x9 * x83)) + ((0x2 * ((uint64_t)x11 * x81)) + ((0x2 * ((uint64_t)x13 * x79)) + ((0x2 * ((uint64_t)x15 * x77)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((0x2 * ((uint64_t)x39 * x53)) + ((0x2 * ((uint64_t)x41 * x51)) + ((0x2 * ((uint64_t)x43 * x49)) + (0x2 * ((uint64_t)x42 * x47)))))))))))))))))))))));
- { uint64_t x105 = (x104 >> 0x18);
- { uint32_t x106 = ((uint32_t)x104 & 0xffffff);
- { uint64_t x107 = (x105 + x103);
- { uint64_t x108 = (x107 >> 0x18);
- { uint32_t x109 = ((uint32_t)x107 & 0xffffff);
- { uint64_t x110 = (x108 + x102);
- { uint64_t x111 = (x110 >> 0x17);
- { uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
- { uint64_t x113 = (x111 + x101);
- { uint64_t x114 = (x113 >> 0x18);
- { uint32_t x115 = ((uint32_t)x113 & 0xffffff);
- { uint64_t x116 = (x114 + x100);
- { uint64_t x117 = (x116 >> 0x17);
- { uint32_t x118 = ((uint32_t)x116 & 0x7fffff);
- { uint64_t x119 = (x117 + x99);
- { uint64_t x120 = (x119 >> 0x18);
- { uint32_t x121 = ((uint32_t)x119 & 0xffffff);
- { uint64_t x122 = (x120 + x98);
- { uint64_t x123 = (x122 >> 0x17);
- { uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
- { uint64_t x125 = (x123 + x97);
- { uint64_t x126 = (x125 >> 0x18);
- { uint32_t x127 = ((uint32_t)x125 & 0xffffff);
- { uint64_t x128 = (x126 + x96);
- { uint64_t x129 = (x128 >> 0x18);
- { uint32_t x130 = ((uint32_t)x128 & 0xffffff);
- { uint64_t x131 = (x129 + x95);
- { uint64_t x132 = (x131 >> 0x17);
- { uint32_t x133 = ((uint32_t)x131 & 0x7fffff);
- { uint64_t x134 = (x132 + x94);
- { uint64_t x135 = (x134 >> 0x18);
- { uint32_t x136 = ((uint32_t)x134 & 0xffffff);
- { uint64_t x137 = (x135 + x93);
- { uint64_t x138 = (x137 >> 0x17);
- { uint32_t x139 = ((uint32_t)x137 & 0x7fffff);
- { uint64_t x140 = (x138 + x92);
- { uint64_t x141 = (x140 >> 0x18);
- { uint32_t x142 = ((uint32_t)x140 & 0xffffff);
- { uint64_t x143 = (x141 + x91);
- { uint64_t x144 = (x143 >> 0x17);
- { uint32_t x145 = ((uint32_t)x143 & 0x7fffff);
- { uint64_t x146 = (x144 + x90);
- { uint64_t x147 = (x146 >> 0x18);
- { uint32_t x148 = ((uint32_t)x146 & 0xffffff);
- { uint64_t x149 = (x147 + x89);
- { uint64_t x150 = (x149 >> 0x18);
- { uint32_t x151 = ((uint32_t)x149 & 0xffffff);
- { uint64_t x152 = (x150 + x88);
- { uint64_t x153 = (x152 >> 0x17);
- { uint32_t x154 = ((uint32_t)x152 & 0x7fffff);
- { uint64_t x155 = (x153 + x87);
- { uint64_t x156 = (x155 >> 0x18);
- { uint32_t x157 = ((uint32_t)x155 & 0xffffff);
- { uint64_t x158 = (x156 + x86);
- { uint64_t x159 = (x158 >> 0x17);
- { uint32_t x160 = ((uint32_t)x158 & 0x7fffff);
- { uint64_t x161 = (x159 + x85);
- { uint64_t x162 = (x161 >> 0x18);
- { uint32_t x163 = ((uint32_t)x161 & 0xffffff);
- { uint64_t x164 = (x162 + x84);
- { uint64_t x165 = (x164 >> 0x17);
- { uint32_t x166 = ((uint32_t)x164 & 0x7fffff);
- { uint64_t x167 = (x106 + (0x1f * x165));
- { uint32_t x168 = (uint32_t) (x167 >> 0x18);
- { uint32_t x169 = ((uint32_t)x167 & 0xffffff);
- { uint32_t x170 = (x168 + x109);
- { uint32_t x171 = (x170 >> 0x18);
- { uint32_t x172 = (x170 & 0xffffff);
- out[0] = x169;
- out[1] = x172;
- out[2] = (x171 + x112);
- out[3] = x115;
- out[4] = x118;
- out[5] = x121;
- out[6] = x124;
- out[7] = x127;
- out[8] = x130;
- out[9] = x133;
- out[10] = x136;
- out[11] = x139;
- out[12] = x142;
- out[13] = x145;
- out[14] = x148;
- out[15] = x151;
- out[16] = x154;
- out[17] = x157;
- out[18] = x160;
- out[19] = x163;
- out[20] = x166;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_21limbs/femul.v b/src/Specific/solinas32_2e495m31_21limbs/femul.v
deleted file mode 100644
index 860886430..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/femulDisplay.log b/src/Specific/solinas32_2e495m31_21limbs/femulDisplay.log
deleted file mode 100644
index a22086fd9..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/femulDisplay.log
+++ /dev/null
@@ -1,96 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x82, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45))%core,
- uint64_t x84 = (((uint64_t)x5 * x82) + (((uint64_t)x7 * x83) + ((0x2 * ((uint64_t)x9 * x81)) + (((uint64_t)x11 * x79) + ((0x2 * ((uint64_t)x13 * x77)) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + ((0x2 * ((uint64_t)x23 * x67)) + (((uint64_t)x25 * x65) + ((0x2 * ((uint64_t)x27 * x63)) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + ((0x2 * ((uint64_t)x37 * x53)) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + (((uint64_t)x43 * x47) + ((uint64_t)x42 * x45)))))))))))))))))))));
- uint64_t x85 = ((((uint64_t)x5 * x83) + ((0x2 * ((uint64_t)x7 * x81)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + (((uint64_t)x15 * x73) + ((0x2 * ((uint64_t)x17 * x71)) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + (((uint64_t)x29 * x59) + ((0x2 * ((uint64_t)x31 * x57)) + (((uint64_t)x33 * x55) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + ((uint64_t)x43 * x45)))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x42 * x82))));
- uint64_t x86 = ((((uint64_t)x5 * x81) + (((uint64_t)x7 * x79) + ((0x2 * ((uint64_t)x9 * x77)) + (((uint64_t)x11 * x75) + (((uint64_t)x13 * x73) + (((uint64_t)x15 * x71) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + (((uint64_t)x21 * x65) + ((0x2 * ((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)x35 * x51) + ((0x2 * ((uint64_t)x37 * x49)) + (((uint64_t)x39 * x47) + ((uint64_t)x41 * x45))))))))))))))))))) + (0x1f * (((uint64_t)x43 * x82) + ((uint64_t)x42 * x83))));
- uint64_t x87 = ((((uint64_t)x5 * x79) + ((0x2 * ((uint64_t)x7 * x77)) + ((0x2 * ((uint64_t)x9 * x75)) + (((uint64_t)x11 * x73) + ((0x2 * ((uint64_t)x13 * x71)) + (((uint64_t)x15 * x69) + ((0x2 * ((uint64_t)x17 * x67)) + (((uint64_t)x19 * x65) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + (((uint64_t)x25 * x59) + ((0x2 * ((uint64_t)x27 * x57)) + (((uint64_t)x29 * x55) + ((0x2 * ((uint64_t)x31 * x53)) + (((uint64_t)x33 * x51) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((uint64_t)x39 * x45)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x41 * x82)) + (((uint64_t)x43 * x83) + (0x2 * ((uint64_t)x42 * x81))))));
- uint64_t x88 = ((((uint64_t)x5 * x77) + (((uint64_t)x7 * x75) + (((uint64_t)x9 * x73) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + (((uint64_t)x15 * x67) + (((uint64_t)x17 * x65) + (((uint64_t)x19 * x63) + (((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)x33 * x49) + (((uint64_t)x35 * x47) + ((uint64_t)x37 * x45))))))))))))))))) + (0x1f * (((uint64_t)x39 * x82) + (((uint64_t)x41 * x83) + (((uint64_t)x43 * x81) + ((uint64_t)x42 * x79))))));
- uint64_t x89 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + ((0x2 * ((uint64_t)x9 * x71)) + (((uint64_t)x11 * x69) + ((0x2 * ((uint64_t)x13 * x67)) + (((uint64_t)x15 * x65) + ((0x2 * ((uint64_t)x17 * x63)) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + ((0x2 * ((uint64_t)x27 * x53)) + (((uint64_t)x29 * x51) + ((0x2 * ((uint64_t)x31 * x49)) + (((uint64_t)x33 * x47) + ((uint64_t)x35 * x45)))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x37 * x82)) + (((uint64_t)x39 * x83) + ((0x2 * ((uint64_t)x41 * x81)) + (((uint64_t)x43 * x79) + (0x2 * ((uint64_t)x42 * x77))))))));
- uint64_t x90 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((uint64_t)x33 * x45))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x35 * x82)) + ((0x2 * ((uint64_t)x37 * x83)) + ((0x2 * ((uint64_t)x39 * x81)) + ((0x2 * ((uint64_t)x41 * x79)) + ((0x2 * ((uint64_t)x43 * x77)) + (0x2 * ((uint64_t)x42 * x75)))))))));
- uint64_t x91 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + ((0x2 * ((uint64_t)x9 * x67)) + (((uint64_t)x11 * x65) + ((0x2 * ((uint64_t)x13 * x63)) + (((uint64_t)x15 * x61) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + (((uint64_t)x25 * x51) + ((0x2 * ((uint64_t)x27 * x49)) + (((uint64_t)x29 * x47) + ((uint64_t)x31 * x45)))))))))))))) + (0x1f * (((uint64_t)x33 * x82) + (((uint64_t)x35 * x83) + ((0x2 * ((uint64_t)x37 * x81)) + (((uint64_t)x39 * x79) + ((0x2 * ((uint64_t)x41 * x77)) + (((uint64_t)x43 * x75) + ((uint64_t)x42 * x73)))))))));
- uint64_t x92 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + (((uint64_t)x15 * x59) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((uint64_t)x29 * x45))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x31 * x82)) + (((uint64_t)x33 * x83) + ((0x2 * ((uint64_t)x35 * x81)) + ((0x2 * ((uint64_t)x37 * x79)) + ((0x2 * ((uint64_t)x39 * x77)) + ((0x2 * ((uint64_t)x41 * x75)) + (((uint64_t)x43 * x73) + (0x2 * ((uint64_t)x42 * x71)))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x67) + (((uint64_t)x7 * x65) + ((0x2 * ((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)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + (((uint64_t)x25 * x47) + ((uint64_t)x27 * x45)))))))))))) + (0x1f * (((uint64_t)x29 * x82) + (((uint64_t)x31 * x83) + (((uint64_t)x33 * x81) + (((uint64_t)x35 * x79) + ((0x2 * ((uint64_t)x37 * x77)) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + (((uint64_t)x43 * x71) + ((uint64_t)x42 * x69)))))))))));
- uint64_t x94 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + (((uint64_t)x11 * x59) + ((0x2 * ((uint64_t)x13 * x57)) + (((uint64_t)x15 * x55) + ((0x2 * ((uint64_t)x17 * x53)) + (((uint64_t)x19 * x51) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((uint64_t)x25 * x45))))))))))) + (0x1f * ((0x2 * ((uint64_t)x27 * x82)) + (((uint64_t)x29 * x83) + ((0x2 * ((uint64_t)x31 * x81)) + (((uint64_t)x33 * x79) + ((0x2 * ((uint64_t)x35 * x77)) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + (((uint64_t)x43 * x69) + (0x2 * ((uint64_t)x42 * x67)))))))))))));
- uint64_t x95 = ((((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)x19 * x49) + (((uint64_t)x21 * x47) + ((uint64_t)x23 * x45)))))))))) + (0x1f * (((uint64_t)x25 * x82) + (((uint64_t)x27 * x83) + (((uint64_t)x29 * x81) + (((uint64_t)x31 * x79) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + (((uint64_t)x41 * x69) + (((uint64_t)x43 * x67) + ((uint64_t)x42 * x65)))))))))))));
- uint64_t x96 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + ((0x2 * ((uint64_t)x13 * x53)) + (((uint64_t)x15 * x51) + ((0x2 * ((uint64_t)x17 * x49)) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45))))))))) + (0x1f * ((0x2 * ((uint64_t)x23 * x82)) + (((uint64_t)x25 * x83) + ((0x2 * ((uint64_t)x27 * x81)) + (((uint64_t)x29 * x79) + ((0x2 * ((uint64_t)x31 * x77)) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + ((0x2 * ((uint64_t)x37 * x71)) + (((uint64_t)x39 * x69) + ((0x2 * ((uint64_t)x41 * x67)) + (((uint64_t)x43 * x65) + (0x2 * ((uint64_t)x42 * x63)))))))))))))));
- uint64_t x97 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((uint64_t)x19 * x45)))))))) + (0x1f * ((0x2 * ((uint64_t)x21 * x82)) + ((0x2 * ((uint64_t)x23 * x83)) + ((0x2 * ((uint64_t)x25 * x81)) + ((0x2 * ((uint64_t)x27 * x79)) + ((0x2 * ((uint64_t)x29 * x77)) + ((0x2 * ((uint64_t)x31 * x75)) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + ((0x2 * ((uint64_t)x37 * x69)) + ((0x2 * ((uint64_t)x39 * x67)) + ((0x2 * ((uint64_t)x41 * x65)) + ((0x2 * ((uint64_t)x43 * x63)) + (0x2 * ((uint64_t)x42 * x61))))))))))))))));
- uint64_t x98 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + ((0x2 * ((uint64_t)x9 * x53)) + (((uint64_t)x11 * x51) + ((0x2 * ((uint64_t)x13 * x49)) + (((uint64_t)x15 * x47) + ((uint64_t)x17 * x45))))))) + (0x1f * (((uint64_t)x19 * x82) + (((uint64_t)x21 * x83) + ((0x2 * ((uint64_t)x23 * x81)) + (((uint64_t)x25 * x79) + ((0x2 * ((uint64_t)x27 * x77)) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + ((0x2 * ((uint64_t)x37 * x67)) + (((uint64_t)x39 * x65) + ((0x2 * ((uint64_t)x41 * x63)) + (((uint64_t)x43 * x61) + ((uint64_t)x42 * x59))))))))))))))));
- uint64_t x99 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((uint64_t)x15 * x45)))))) + (0x1f * ((0x2 * ((uint64_t)x17 * x82)) + (((uint64_t)x19 * x83) + ((0x2 * ((uint64_t)x21 * x81)) + ((0x2 * ((uint64_t)x23 * x79)) + ((0x2 * ((uint64_t)x25 * x77)) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + ((0x2 * ((uint64_t)x39 * x63)) + ((0x2 * ((uint64_t)x41 * x61)) + (((uint64_t)x43 * x59) + (0x2 * ((uint64_t)x42 * x57))))))))))))))))));
- uint64_t x100 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + ((0x2 * ((uint64_t)x9 * x49)) + (((uint64_t)x11 * x47) + ((uint64_t)x13 * x45))))) + (0x1f * (((uint64_t)x15 * x82) + (((uint64_t)x17 * x83) + (((uint64_t)x19 * x81) + (((uint64_t)x21 * x79) + ((0x2 * ((uint64_t)x23 * x77)) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + ((0x2 * ((uint64_t)x37 * x63)) + (((uint64_t)x39 * x61) + (((uint64_t)x41 * x59) + (((uint64_t)x43 * x57) + ((uint64_t)x42 * x55))))))))))))))))));
- uint64_t x101 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((uint64_t)x11 * x45)))) + (0x1f * ((0x2 * ((uint64_t)x13 * x82)) + (((uint64_t)x15 * x83) + ((0x2 * ((uint64_t)x17 * x81)) + (((uint64_t)x19 * x79) + ((0x2 * ((uint64_t)x21 * x77)) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + ((0x2 * ((uint64_t)x27 * x71)) + (((uint64_t)x29 * x69) + ((0x2 * ((uint64_t)x31 * x67)) + (((uint64_t)x33 * x65) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + (((uint64_t)x43 * x55) + (0x2 * ((uint64_t)x42 * x53))))))))))))))))))));
- uint64_t x102 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + ((uint64_t)x9 * x45))) + (0x1f * (((uint64_t)x11 * x82) + (((uint64_t)x13 * x83) + (((uint64_t)x15 * x81) + (((uint64_t)x17 * x79) + (((uint64_t)x19 * x77) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + (((uint64_t)x41 * x55) + (((uint64_t)x43 * x53) + ((uint64_t)x42 * x51))))))))))))))))))));
- uint64_t x103 = ((((uint64_t)x5 * x47) + ((uint64_t)x7 * x45)) + (0x1f * ((0x2 * ((uint64_t)x9 * x82)) + (((uint64_t)x11 * x83) + ((0x2 * ((uint64_t)x13 * x81)) + (((uint64_t)x15 * x79) + ((0x2 * ((uint64_t)x17 * x77)) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + (((uint64_t)x25 * x69) + ((0x2 * ((uint64_t)x27 * x67)) + (((uint64_t)x29 * x65) + ((0x2 * ((uint64_t)x31 * x63)) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((0x2 * ((uint64_t)x41 * x53)) + (((uint64_t)x43 * x51) + (0x2 * ((uint64_t)x42 * x49))))))))))))))))))))));
- uint64_t x104 = (((uint64_t)x5 * x45) + (0x1f * ((0x2 * ((uint64_t)x7 * x82)) + ((0x2 * ((uint64_t)x9 * x83)) + ((0x2 * ((uint64_t)x11 * x81)) + ((0x2 * ((uint64_t)x13 * x79)) + ((0x2 * ((uint64_t)x15 * x77)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + ((0x2 * ((uint64_t)x37 * x55)) + ((0x2 * ((uint64_t)x39 * x53)) + ((0x2 * ((uint64_t)x41 * x51)) + ((0x2 * ((uint64_t)x43 * x49)) + (0x2 * ((uint64_t)x42 * x47)))))))))))))))))))))));
- uint64_t x105 = (x104 >> 0x18);
- uint32_t x106 = ((uint32_t)x104 & 0xffffff);
- uint64_t x107 = (x105 + x103);
- uint64_t x108 = (x107 >> 0x18);
- uint32_t x109 = ((uint32_t)x107 & 0xffffff);
- uint64_t x110 = (x108 + x102);
- uint64_t x111 = (x110 >> 0x17);
- uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
- uint64_t x113 = (x111 + x101);
- uint64_t x114 = (x113 >> 0x18);
- uint32_t x115 = ((uint32_t)x113 & 0xffffff);
- uint64_t x116 = (x114 + x100);
- uint64_t x117 = (x116 >> 0x17);
- uint32_t x118 = ((uint32_t)x116 & 0x7fffff);
- uint64_t x119 = (x117 + x99);
- uint64_t x120 = (x119 >> 0x18);
- uint32_t x121 = ((uint32_t)x119 & 0xffffff);
- uint64_t x122 = (x120 + x98);
- uint64_t x123 = (x122 >> 0x17);
- uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
- uint64_t x125 = (x123 + x97);
- uint64_t x126 = (x125 >> 0x18);
- uint32_t x127 = ((uint32_t)x125 & 0xffffff);
- uint64_t x128 = (x126 + x96);
- uint64_t x129 = (x128 >> 0x18);
- uint32_t x130 = ((uint32_t)x128 & 0xffffff);
- uint64_t x131 = (x129 + x95);
- uint64_t x132 = (x131 >> 0x17);
- uint32_t x133 = ((uint32_t)x131 & 0x7fffff);
- uint64_t x134 = (x132 + x94);
- uint64_t x135 = (x134 >> 0x18);
- uint32_t x136 = ((uint32_t)x134 & 0xffffff);
- uint64_t x137 = (x135 + x93);
- uint64_t x138 = (x137 >> 0x17);
- uint32_t x139 = ((uint32_t)x137 & 0x7fffff);
- uint64_t x140 = (x138 + x92);
- uint64_t x141 = (x140 >> 0x18);
- uint32_t x142 = ((uint32_t)x140 & 0xffffff);
- uint64_t x143 = (x141 + x91);
- uint64_t x144 = (x143 >> 0x17);
- uint32_t x145 = ((uint32_t)x143 & 0x7fffff);
- uint64_t x146 = (x144 + x90);
- uint64_t x147 = (x146 >> 0x18);
- uint32_t x148 = ((uint32_t)x146 & 0xffffff);
- uint64_t x149 = (x147 + x89);
- uint64_t x150 = (x149 >> 0x18);
- uint32_t x151 = ((uint32_t)x149 & 0xffffff);
- uint64_t x152 = (x150 + x88);
- uint64_t x153 = (x152 >> 0x17);
- uint32_t x154 = ((uint32_t)x152 & 0x7fffff);
- uint64_t x155 = (x153 + x87);
- uint64_t x156 = (x155 >> 0x18);
- uint32_t x157 = ((uint32_t)x155 & 0xffffff);
- uint64_t x158 = (x156 + x86);
- uint64_t x159 = (x158 >> 0x17);
- uint32_t x160 = ((uint32_t)x158 & 0x7fffff);
- uint64_t x161 = (x159 + x85);
- uint64_t x162 = (x161 >> 0x18);
- uint32_t x163 = ((uint32_t)x161 & 0xffffff);
- uint64_t x164 = (x162 + x84);
- uint64_t x165 = (x164 >> 0x17);
- uint32_t x166 = ((uint32_t)x164 & 0x7fffff);
- uint64_t x167 = (x106 + (0x1f * x165));
- uint32_t x168 = (uint32_t) (x167 >> 0x18);
- uint32_t x169 = ((uint32_t)x167 & 0xffffff);
- uint32_t x170 = (x168 + x109);
- uint32_t x171 = (x170 >> 0x18);
- uint32_t x172 = (x170 & 0xffffff);
- return (Return x166, Return x163, Return x160, Return x157, Return x154, Return x151, Return x148, Return x145, Return x142, Return x139, Return x136, Return x133, Return x130, Return x127, Return x124, Return x121, Return x118, Return x115, (x171 + x112), Return x172, Return x169))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_21limbs/femulDisplay.v b/src/Specific/solinas32_2e495m31_21limbs/femulDisplay.v
deleted file mode 100644
index f7109ada5..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fesquare.c b/src/Specific/solinas32_2e495m31_21limbs/fesquare.c
deleted file mode 100644
index b15f980e6..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesquare.c
+++ /dev/null
@@ -1,134 +0,0 @@
-static void fesquare(uint32_t out[21], const uint32_t in1[21]) {
- { const uint32_t x39 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x41 = (((uint64_t)x2 * x39) + (((uint64_t)x4 * x40) + ((0x2 * ((uint64_t)x6 * x38)) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + ((0x2 * ((uint64_t)x38 * x6)) + (((uint64_t)x40 * x4) + ((uint64_t)x39 * x2)))))))))))))))))))));
- { uint64_t x42 = ((((uint64_t)x2 * x40) + ((0x2 * ((uint64_t)x4 * x38)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + (((uint64_t)x12 * x30) + ((0x2 * ((uint64_t)x14 * x28)) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + ((0x2 * ((uint64_t)x28 * x14)) + (((uint64_t)x30 * x12) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x39 * x39))));
- { uint64_t x43 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1f * (((uint64_t)x40 * x39) + ((uint64_t)x39 * x40))));
- { uint64_t x44 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x38 * x39)) + (((uint64_t)x40 * x40) + (0x2 * ((uint64_t)x39 * x38))))));
- { uint64_t x45 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1f * (((uint64_t)x36 * x39) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + ((uint64_t)x39 * x36))))));
- { uint64_t x46 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x34 * x39)) + (((uint64_t)x36 * x40) + ((0x2 * ((uint64_t)x38 * x38)) + (((uint64_t)x40 * x36) + (0x2 * ((uint64_t)x39 * x34))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x32 * x39)) + ((0x2 * ((uint64_t)x34 * x40)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + ((0x2 * ((uint64_t)x40 * x34)) + (0x2 * ((uint64_t)x39 * x32)))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * (((uint64_t)x30 * x39) + (((uint64_t)x32 * x40) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + (((uint64_t)x40 * x32) + ((uint64_t)x39 * x30)))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x28 * x39)) + (((uint64_t)x30 * x40) + ((0x2 * ((uint64_t)x32 * x38)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + ((0x2 * ((uint64_t)x38 * x32)) + (((uint64_t)x40 * x30) + (0x2 * ((uint64_t)x39 * x28)))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * (((uint64_t)x26 * x39) + (((uint64_t)x28 * x40) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + (((uint64_t)x40 * x28) + ((uint64_t)x39 * x26)))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x39)) + (((uint64_t)x26 * x40) + ((0x2 * ((uint64_t)x28 * x38)) + (((uint64_t)x30 * x36) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + (((uint64_t)x36 * x30) + ((0x2 * ((uint64_t)x38 * x28)) + (((uint64_t)x40 * x26) + (0x2 * ((uint64_t)x39 * x24)))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * (((uint64_t)x22 * x39) + (((uint64_t)x24 * x40) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + (((uint64_t)x40 * x24) + ((uint64_t)x39 * x22)))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x39)) + (((uint64_t)x22 * x40) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + (((uint64_t)x40 * x22) + (0x2 * ((uint64_t)x39 * x20)))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1f * ((0x2 * ((uint64_t)x18 * x39)) + ((0x2 * ((uint64_t)x20 * x40)) + ((0x2 * ((uint64_t)x22 * x38)) + ((0x2 * ((uint64_t)x24 * x36)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + ((0x2 * ((uint64_t)x36 * x24)) + ((0x2 * ((uint64_t)x38 * x22)) + ((0x2 * ((uint64_t)x40 * x20)) + (0x2 * ((uint64_t)x39 * x18))))))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * (((uint64_t)x16 * x39) + (((uint64_t)x18 * x40) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + (((uint64_t)x40 * x18) + ((uint64_t)x39 * x16))))))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x39)) + (((uint64_t)x16 * x40) + ((0x2 * ((uint64_t)x18 * x38)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + ((0x2 * ((uint64_t)x38 * x18)) + (((uint64_t)x40 * x16) + (0x2 * ((uint64_t)x39 * x14))))))))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x39) + (((uint64_t)x14 * x40) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + ((0x2 * ((uint64_t)x20 * x34)) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((0x2 * ((uint64_t)x34 * x20)) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + (((uint64_t)x40 * x14) + ((uint64_t)x39 * x12))))))))))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x39)) + (((uint64_t)x12 * x40) + ((0x2 * ((uint64_t)x14 * x38)) + (((uint64_t)x16 * x36) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + (((uint64_t)x36 * x16) + ((0x2 * ((uint64_t)x38 * x14)) + (((uint64_t)x40 * x12) + (0x2 * ((uint64_t)x39 * x10))))))))))))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x39) + (((uint64_t)x10 * x40) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + (((uint64_t)x40 * x10) + ((uint64_t)x39 * x8))))))))))))))))))));
- { uint64_t x60 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x39)) + (((uint64_t)x8 * x40) + ((0x2 * ((uint64_t)x10 * x38)) + (((uint64_t)x12 * x36) + ((0x2 * ((uint64_t)x14 * x34)) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + ((0x2 * ((uint64_t)x34 * x14)) + (((uint64_t)x36 * x12) + ((0x2 * ((uint64_t)x38 * x10)) + (((uint64_t)x40 * x8) + (0x2 * ((uint64_t)x39 * x6))))))))))))))))))))));
- { uint64_t x61 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x39)) + ((0x2 * ((uint64_t)x6 * x40)) + ((0x2 * ((uint64_t)x8 * x38)) + ((0x2 * ((uint64_t)x10 * x36)) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + ((0x2 * ((uint64_t)x36 * x10)) + ((0x2 * ((uint64_t)x38 * x8)) + ((0x2 * ((uint64_t)x40 * x6)) + (0x2 * ((uint64_t)x39 * x4)))))))))))))))))))))));
- { uint64_t x62 = (x61 >> 0x18);
- { uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- { uint64_t x64 = (x62 + x60);
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x59);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x58);
- { uint64_t x71 = (x70 >> 0x18);
- { uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- { uint64_t x73 = (x71 + x57);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x56);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x55);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x18);
- { uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- { uint64_t x85 = (x83 + x53);
- { uint64_t x86 = (x85 >> 0x18);
- { uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- { uint64_t x88 = (x86 + x52);
- { uint64_t x89 = (x88 >> 0x17);
- { uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- { uint64_t x91 = (x89 + x51);
- { uint64_t x92 = (x91 >> 0x18);
- { uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- { uint64_t x94 = (x92 + x50);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x49);
- { uint64_t x98 = (x97 >> 0x18);
- { uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- { uint64_t x100 = (x98 + x48);
- { uint64_t x101 = (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint64_t x103 = (x101 + x47);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x46);
- { uint64_t x107 = (x106 >> 0x18);
- { uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- { uint64_t x109 = (x107 + x45);
- { uint64_t x110 = (x109 >> 0x17);
- { uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- { uint64_t x112 = (x110 + x44);
- { uint64_t x113 = (x112 >> 0x18);
- { uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- { uint64_t x115 = (x113 + x43);
- { uint64_t x116 = (x115 >> 0x17);
- { uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- { uint64_t x118 = (x116 + x42);
- { uint64_t x119 = (x118 >> 0x18);
- { uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- { uint64_t x121 = (x119 + x41);
- { uint64_t x122 = (x121 >> 0x17);
- { uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- { uint64_t x124 = (x63 + (0x1f * x122));
- { uint32_t x125 = (uint32_t) (x124 >> 0x18);
- { uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- { uint32_t x127 = (x125 + x66);
- { uint32_t x128 = (x127 >> 0x18);
- { uint32_t x129 = (x127 & 0xffffff);
- out[0] = x126;
- out[1] = x129;
- out[2] = (x128 + x69);
- out[3] = x72;
- out[4] = x75;
- out[5] = x78;
- out[6] = x81;
- out[7] = x84;
- out[8] = x87;
- out[9] = x90;
- out[10] = x93;
- out[11] = x96;
- out[12] = x99;
- out[13] = x102;
- out[14] = x105;
- out[15] = x108;
- out[16] = x111;
- out[17] = x114;
- out[18] = x117;
- out[19] = x120;
- out[20] = x123;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fesquare.v b/src/Specific/solinas32_2e495m31_21limbs/fesquare.v
deleted file mode 100644
index 794bfcee7..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/fesquareDisplay.log b/src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.log
deleted file mode 100644
index 525cbd6c3..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,96 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x39, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x41 = (((uint64_t)x2 * x39) + (((uint64_t)x4 * x40) + ((0x2 * ((uint64_t)x6 * x38)) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + ((0x2 * ((uint64_t)x38 * x6)) + (((uint64_t)x40 * x4) + ((uint64_t)x39 * x2)))))))))))))))))))));
- uint64_t x42 = ((((uint64_t)x2 * x40) + ((0x2 * ((uint64_t)x4 * x38)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + (((uint64_t)x12 * x30) + ((0x2 * ((uint64_t)x14 * x28)) + (((uint64_t)x16 * x26) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + (((uint64_t)x26 * x16) + ((0x2 * ((uint64_t)x28 * x14)) + (((uint64_t)x30 * x12) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x1f * (0x2 * ((uint64_t)x39 * x39))));
- uint64_t x43 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1f * (((uint64_t)x40 * x39) + ((uint64_t)x39 * x40))));
- uint64_t x44 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + ((0x2 * ((uint64_t)x14 * x24)) + (((uint64_t)x16 * x22) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + (((uint64_t)x22 * x16) + ((0x2 * ((uint64_t)x24 * x14)) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x38 * x39)) + (((uint64_t)x40 * x40) + (0x2 * ((uint64_t)x39 * x38))))));
- uint64_t x45 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1f * (((uint64_t)x36 * x39) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + ((uint64_t)x39 * x36))))));
- uint64_t x46 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x34 * x39)) + (((uint64_t)x36 * x40) + ((0x2 * ((uint64_t)x38 * x38)) + (((uint64_t)x40 * x36) + (0x2 * ((uint64_t)x39 * x34))))))));
- uint64_t x47 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x32 * x39)) + ((0x2 * ((uint64_t)x34 * x40)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + ((0x2 * ((uint64_t)x40 * x34)) + (0x2 * ((uint64_t)x39 * x32)))))))));
- uint64_t x48 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x1f * (((uint64_t)x30 * x39) + (((uint64_t)x32 * x40) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + (((uint64_t)x40 * x32) + ((uint64_t)x39 * x30)))))))));
- uint64_t x49 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + (((uint64_t)x12 * x16) + ((0x2 * ((uint64_t)x14 * x14)) + (((uint64_t)x16 * x12) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1f * ((0x2 * ((uint64_t)x28 * x39)) + (((uint64_t)x30 * x40) + ((0x2 * ((uint64_t)x32 * x38)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + ((0x2 * ((uint64_t)x38 * x32)) + (((uint64_t)x40 * x30) + (0x2 * ((uint64_t)x39 * x28)))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1f * (((uint64_t)x26 * x39) + (((uint64_t)x28 * x40) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + (((uint64_t)x40 * x28) + ((uint64_t)x39 * x26)))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + (((uint64_t)x8 * x16) + ((0x2 * ((uint64_t)x10 * x14)) + (((uint64_t)x12 * x12) + ((0x2 * ((uint64_t)x14 * x10)) + (((uint64_t)x16 * x8) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1f * ((0x2 * ((uint64_t)x24 * x39)) + (((uint64_t)x26 * x40) + ((0x2 * ((uint64_t)x28 * x38)) + (((uint64_t)x30 * x36) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + (((uint64_t)x36 * x30) + ((0x2 * ((uint64_t)x38 * x28)) + (((uint64_t)x40 * x26) + (0x2 * ((uint64_t)x39 * x24)))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x1f * (((uint64_t)x22 * x39) + (((uint64_t)x24 * x40) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + (((uint64_t)x40 * x24) + ((uint64_t)x39 * x22)))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + ((0x2 * ((uint64_t)x6 * x14)) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + ((0x2 * ((uint64_t)x14 * x6)) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x1f * ((0x2 * ((uint64_t)x20 * x39)) + (((uint64_t)x22 * x40) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + (((uint64_t)x40 * x22) + (0x2 * ((uint64_t)x39 * x20)))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1f * ((0x2 * ((uint64_t)x18 * x39)) + ((0x2 * ((uint64_t)x20 * x40)) + ((0x2 * ((uint64_t)x22 * x38)) + ((0x2 * ((uint64_t)x24 * x36)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + ((0x2 * ((uint64_t)x36 * x24)) + ((0x2 * ((uint64_t)x38 * x22)) + ((0x2 * ((uint64_t)x40 * x20)) + (0x2 * ((uint64_t)x39 * x18))))))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x1f * (((uint64_t)x16 * x39) + (((uint64_t)x18 * x40) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + (((uint64_t)x40 * x18) + ((uint64_t)x39 * x16))))))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint64_t)x14 * x39)) + (((uint64_t)x16 * x40) + ((0x2 * ((uint64_t)x18 * x38)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + ((0x2 * ((uint64_t)x38 * x18)) + (((uint64_t)x40 * x16) + (0x2 * ((uint64_t)x39 * x14))))))))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + ((0x2 * ((uint64_t)x6 * x6)) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1f * (((uint64_t)x12 * x39) + (((uint64_t)x14 * x40) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + ((0x2 * ((uint64_t)x20 * x34)) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + ((0x2 * ((uint64_t)x34 * x20)) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + (((uint64_t)x40 * x14) + ((uint64_t)x39 * x12))))))))))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint64_t)x10 * x39)) + (((uint64_t)x12 * x40) + ((0x2 * ((uint64_t)x14 * x38)) + (((uint64_t)x16 * x36) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + (((uint64_t)x36 * x16) + ((0x2 * ((uint64_t)x38 * x14)) + (((uint64_t)x40 * x12) + (0x2 * ((uint64_t)x39 * x10))))))))))))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x1f * (((uint64_t)x8 * x39) + (((uint64_t)x10 * x40) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + (((uint64_t)x40 * x10) + ((uint64_t)x39 * x8))))))))))))))))))));
- uint64_t x60 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1f * ((0x2 * ((uint64_t)x6 * x39)) + (((uint64_t)x8 * x40) + ((0x2 * ((uint64_t)x10 * x38)) + (((uint64_t)x12 * x36) + ((0x2 * ((uint64_t)x14 * x34)) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + ((0x2 * ((uint64_t)x34 * x14)) + (((uint64_t)x36 * x12) + ((0x2 * ((uint64_t)x38 * x10)) + (((uint64_t)x40 * x8) + (0x2 * ((uint64_t)x39 * x6))))))))))))))))))))));
- uint64_t x61 = (((uint64_t)x2 * x2) + (0x1f * ((0x2 * ((uint64_t)x4 * x39)) + ((0x2 * ((uint64_t)x6 * x40)) + ((0x2 * ((uint64_t)x8 * x38)) + ((0x2 * ((uint64_t)x10 * x36)) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + ((0x2 * ((uint64_t)x36 * x10)) + ((0x2 * ((uint64_t)x38 * x8)) + ((0x2 * ((uint64_t)x40 * x6)) + (0x2 * ((uint64_t)x39 * x4)))))))))))))))))))))));
- uint64_t x62 = (x61 >> 0x18);
- uint32_t x63 = ((uint32_t)x61 & 0xffffff);
- uint64_t x64 = (x62 + x60);
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x59);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x58);
- uint64_t x71 = (x70 >> 0x18);
- uint32_t x72 = ((uint32_t)x70 & 0xffffff);
- uint64_t x73 = (x71 + x57);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x56);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x55);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x18);
- uint32_t x84 = ((uint32_t)x82 & 0xffffff);
- uint64_t x85 = (x83 + x53);
- uint64_t x86 = (x85 >> 0x18);
- uint32_t x87 = ((uint32_t)x85 & 0xffffff);
- uint64_t x88 = (x86 + x52);
- uint64_t x89 = (x88 >> 0x17);
- uint32_t x90 = ((uint32_t)x88 & 0x7fffff);
- uint64_t x91 = (x89 + x51);
- uint64_t x92 = (x91 >> 0x18);
- uint32_t x93 = ((uint32_t)x91 & 0xffffff);
- uint64_t x94 = (x92 + x50);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x49);
- uint64_t x98 = (x97 >> 0x18);
- uint32_t x99 = ((uint32_t)x97 & 0xffffff);
- uint64_t x100 = (x98 + x48);
- uint64_t x101 = (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint64_t x103 = (x101 + x47);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x46);
- uint64_t x107 = (x106 >> 0x18);
- uint32_t x108 = ((uint32_t)x106 & 0xffffff);
- uint64_t x109 = (x107 + x45);
- uint64_t x110 = (x109 >> 0x17);
- uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- uint64_t x112 = (x110 + x44);
- uint64_t x113 = (x112 >> 0x18);
- uint32_t x114 = ((uint32_t)x112 & 0xffffff);
- uint64_t x115 = (x113 + x43);
- uint64_t x116 = (x115 >> 0x17);
- uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- uint64_t x118 = (x116 + x42);
- uint64_t x119 = (x118 >> 0x18);
- uint32_t x120 = ((uint32_t)x118 & 0xffffff);
- uint64_t x121 = (x119 + x41);
- uint64_t x122 = (x121 >> 0x17);
- uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- uint64_t x124 = (x63 + (0x1f * x122));
- uint32_t x125 = (uint32_t) (x124 >> 0x18);
- uint32_t x126 = ((uint32_t)x124 & 0xffffff);
- uint32_t x127 = (x125 + x66);
- uint32_t x128 = (x127 >> 0x18);
- uint32_t x129 = (x127 & 0xffffff);
- return (Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, (x128 + x69), Return x129, Return x126))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.v b/src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.v
deleted file mode 100644
index d0144a732..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fesub.c b/src/Specific/solinas32_2e495m31_21limbs/fesub.c
deleted file mode 100644
index 7ef27ae2c..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesub.c
+++ /dev/null
@@ -1,66 +0,0 @@
-static void fesub(uint32_t out[21], const uint32_t in1[21], const uint32_t in2[21]) {
- { const uint32_t x42 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x82 = in2[20];
- { const uint32_t x83 = in2[19];
- { const uint32_t x81 = in2[18];
- { const uint32_t x79 = in2[17];
- { const uint32_t x77 = in2[16];
- { const uint32_t x75 = in2[15];
- { const uint32_t x73 = in2[14];
- { const uint32_t x71 = in2[13];
- { const uint32_t x69 = in2[12];
- { const uint32_t x67 = in2[11];
- { const uint32_t x65 = in2[10];
- { const uint32_t x63 = in2[9];
- { const uint32_t x61 = in2[8];
- { const uint32_t x59 = in2[7];
- { const uint32_t x57 = in2[6];
- { const uint32_t x55 = in2[5];
- { const uint32_t x53 = in2[4];
- { const uint32_t x51 = in2[3];
- { const uint32_t x49 = in2[2];
- { const uint32_t x47 = in2[1];
- { const uint32_t x45 = in2[0];
- out[0] = ((0x1ffffc2 + x5) - x45);
- out[1] = ((0x1fffffe + x7) - x47);
- out[2] = ((0xfffffe + x9) - x49);
- out[3] = ((0x1fffffe + x11) - x51);
- out[4] = ((0xfffffe + x13) - x53);
- out[5] = ((0x1fffffe + x15) - x55);
- out[6] = ((0xfffffe + x17) - x57);
- out[7] = ((0x1fffffe + x19) - x59);
- out[8] = ((0x1fffffe + x21) - x61);
- out[9] = ((0xfffffe + x23) - x63);
- out[10] = ((0x1fffffe + x25) - x65);
- out[11] = ((0xfffffe + x27) - x67);
- out[12] = ((0x1fffffe + x29) - x69);
- out[13] = ((0xfffffe + x31) - x71);
- out[14] = ((0x1fffffe + x33) - x73);
- out[15] = ((0x1fffffe + x35) - x75);
- out[16] = ((0xfffffe + x37) - x77);
- out[17] = ((0x1fffffe + x39) - x79);
- out[18] = ((0xfffffe + x41) - x81);
- out[19] = ((0x1fffffe + x43) - x83);
- out[20] = ((0xfffffe + x42) - x82);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fesub.v b/src/Specific/solinas32_2e495m31_21limbs/fesub.v
deleted file mode 100644
index 48a3002cb..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/fesubDisplay.log b/src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.log
deleted file mode 100644
index 7ec697dfc..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/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 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x82, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45))%core,
- (((0xfffffe + x42) - x82), ((0x1fffffe + x43) - x83), ((0xfffffe + x41) - x81), ((0x1fffffe + x39) - x79), ((0xfffffe + x37) - x77), ((0x1fffffe + x35) - x75), ((0x1fffffe + x33) - x73), ((0xfffffe + x31) - x71), ((0x1fffffe + x29) - x69), ((0xfffffe + x27) - x67), ((0x1fffffe + x25) - x65), ((0xfffffe + x23) - x63), ((0x1fffffe + x21) - x61), ((0x1fffffe + x19) - x59), ((0xfffffe + x17) - x57), ((0x1fffffe + x15) - x55), ((0xfffffe + x13) - x53), ((0x1fffffe + x11) - x51), ((0xfffffe + x9) - x49), ((0x1fffffe + x7) - x47), ((0x1ffffc2 + x5) - x45)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.v b/src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.v
deleted file mode 100644
index c834d28da..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e495m31_21limbs/freeze.c b/src/Specific/solinas32_2e495m31_21limbs/freeze.c
deleted file mode 100644
index 7ec13fe90..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/freeze.c
+++ /dev/null
@@ -1,109 +0,0 @@
-static void freeze(uint32_t out[21], const uint32_t in1[21]) {
- { const uint32_t x39 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe1);
- { uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x4, 0xffffff);
- { uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x6, 0x7fffff);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x8, 0xffffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x10, 0x7fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x12, 0xffffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x14, 0x7fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x16, 0xffffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x18, 0xffffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x20, 0x7fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x22, 0xffffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x24, 0x7fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x26, 0xffffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x28, 0x7fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x30, 0xffffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x32, 0xffffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x34, 0x7fffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x36, 0xffffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x38, 0x7fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x40, 0xffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x39, 0x7fffff);
- { uint32_t x104 = cmovznz32(x103, 0x0, 0xffffffff);
- { uint32_t x105 = (x104 & 0xffffe1);
- { uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x42, Return x105);
- { uint32_t x109 = (x104 & 0xffffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x45, Return x109);
- { uint32_t x113 = (x104 & 0x7fffff);
- { uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x48, Return x113);
- { uint32_t x117 = (x104 & 0xffffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x51, Return x117);
- { uint32_t x121 = (x104 & 0x7fffff);
- { uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x54, Return x121);
- { uint32_t x125 = (x104 & 0xffffff);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x57, Return x125);
- { uint32_t x129 = (x104 & 0x7fffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x60, Return x129);
- { uint32_t x133 = (x104 & 0xffffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x63, Return x133);
- { uint32_t x137 = (x104 & 0xffffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x66, Return x137);
- { uint32_t x141 = (x104 & 0x7fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x69, Return x141);
- { uint32_t x145 = (x104 & 0xffffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x72, Return x145);
- { uint32_t x149 = (x104 & 0x7fffff);
- { uint32_t x151, uint8_t x152 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x75, Return x149);
- { uint32_t x153 = (x104 & 0xffffff);
- { uint32_t x155, uint8_t x156 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x152, Return x78, Return x153);
- { uint32_t x157 = (x104 & 0x7fffff);
- { uint32_t x159, uint8_t x160 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x156, Return x81, Return x157);
- { uint32_t x161 = (x104 & 0xffffff);
- { uint32_t x163, uint8_t x164 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x160, Return x84, Return x161);
- { uint32_t x165 = (x104 & 0xffffff);
- { uint32_t x167, uint8_t x168 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x164, Return x87, Return x165);
- { uint32_t x169 = (x104 & 0x7fffff);
- { uint32_t x171, uint8_t x172 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x168, Return x90, Return x169);
- { uint32_t x173 = (x104 & 0xffffff);
- { uint32_t x175, uint8_t x176 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x172, Return x93, Return x173);
- { uint32_t x177 = (x104 & 0x7fffff);
- { uint32_t x179, uint8_t x180 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x176, Return x96, Return x177);
- { uint32_t x181 = (x104 & 0xffffff);
- { uint32_t x183, uint8_t x184 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x180, Return x99, Return x181);
- { uint32_t x185 = (x104 & 0x7fffff);
- { uint32_t x187, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x184, Return x102, Return x185);
- out[0] = x107;
- out[1] = x111;
- out[2] = x115;
- out[3] = x119;
- out[4] = x123;
- out[5] = x127;
- out[6] = x131;
- out[7] = x135;
- out[8] = x139;
- out[9] = x143;
- out[10] = x147;
- out[11] = x151;
- out[12] = x155;
- out[13] = x159;
- out[14] = x163;
- out[15] = x167;
- out[16] = x171;
- out[17] = x175;
- out[18] = x179;
- out[19] = x183;
- out[20] = x187;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e495m31_21limbs/freeze.v b/src/Specific/solinas32_2e495m31_21limbs/freeze.v
deleted file mode 100644
index c18a9461e..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.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_2e495m31_21limbs/freezeDisplay.log b/src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.log
deleted file mode 100644
index 0317a3298..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x39, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffffe1);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x4, 0xffffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x6, 0x7fffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x8, 0xffffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x10, 0x7fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x12, 0xffffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x14, 0x7fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x16, 0xffffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x18, 0xffffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x20, 0x7fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x22, 0xffffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x24, 0x7fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x26, 0xffffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x28, 0x7fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x30, 0xffffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x32, 0xffffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x34, 0x7fffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x36, 0xffffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x38, 0x7fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x40, 0xffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x39, 0x7fffff);
- uint32_t x104 = cmovznz32(x103, 0x0, 0xffffffff);
- uint32_t x105 = (x104 & 0xffffe1);
- uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x42, Return x105);
- uint32_t x109 = (x104 & 0xffffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x45, Return x109);
- uint32_t x113 = (x104 & 0x7fffff);
- uint32_t x115, uint8_t x116 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x48, Return x113);
- uint32_t x117 = (x104 & 0xffffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x116, Return x51, Return x117);
- uint32_t x121 = (x104 & 0x7fffff);
- uint32_t x123, uint8_t x124 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x54, Return x121);
- uint32_t x125 = (x104 & 0xffffff);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x124, Return x57, Return x125);
- uint32_t x129 = (x104 & 0x7fffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x60, Return x129);
- uint32_t x133 = (x104 & 0xffffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x63, Return x133);
- uint32_t x137 = (x104 & 0xffffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x66, Return x137);
- uint32_t x141 = (x104 & 0x7fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x69, Return x141);
- uint32_t x145 = (x104 & 0xffffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x72, Return x145);
- uint32_t x149 = (x104 & 0x7fffff);
- uint32_t x151, uint8_t x152 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x75, Return x149);
- uint32_t x153 = (x104 & 0xffffff);
- uint32_t x155, uint8_t x156 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x152, Return x78, Return x153);
- uint32_t x157 = (x104 & 0x7fffff);
- uint32_t x159, uint8_t x160 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x156, Return x81, Return x157);
- uint32_t x161 = (x104 & 0xffffff);
- uint32_t x163, uint8_t x164 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x160, Return x84, Return x161);
- uint32_t x165 = (x104 & 0xffffff);
- uint32_t x167, uint8_t x168 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x164, Return x87, Return x165);
- uint32_t x169 = (x104 & 0x7fffff);
- uint32_t x171, uint8_t x172 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x168, Return x90, Return x169);
- uint32_t x173 = (x104 & 0xffffff);
- uint32_t x175, uint8_t x176 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x172, Return x93, Return x173);
- uint32_t x177 = (x104 & 0x7fffff);
- uint32_t x179, uint8_t x180 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x176, Return x96, Return x177);
- uint32_t x181 = (x104 & 0xffffff);
- uint32_t x183, uint8_t x184 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x180, Return x99, Return x181);
- uint32_t x185 = (x104 & 0x7fffff);
- uint32_t x187, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x184, Return x102, Return x185);
- (Return x187, Return x183, Return x179, Return x175, Return x171, Return x167, Return x163, Return x159, Return x155, Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127, Return x123, Return x119, Return x115, Return x111, Return x107))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.v b/src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.v
deleted file mode 100644
index ddf9c252c..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e495m31_21limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e495m31_21limbs/py_interpreter.sh b/src/Specific/solinas32_2e495m31_21limbs/py_interpreter.sh
deleted file mode 100755
index b789f7fe4..000000000
--- a/src/Specific/solinas32_2e495m31_21limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**495 - 31' -Dmodulus_bytes='23 + 4/7' -Da24='121665'
diff --git a/src/Specific/solinas32_2e511m187_22limbs/CurveParameters.v b/src/Specific/solinas32_2e511m187_22limbs/CurveParameters.v
deleted file mode 100644
index 911ade92b..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 187
-Base: 23 + 5/22
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 22%nat;
- base := 23 + 5/22;
- bitwidth := 32;
- s := 2^511;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 22); [0; 1]]%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_2e511m187_22limbs/Synthesis.v b/src/Specific/solinas32_2e511m187_22limbs/Synthesis.v
deleted file mode 100644
index ad22063c2..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/compiler.sh b/src/Specific/solinas32_2e511m187_22limbs/compiler.sh
deleted file mode 100755
index 365f3d8dc..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,24,23,23,23,24,23,23,23,23,24,23,23,23,24,23,23,23,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='22' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas32_2e511m187_22limbs/compilerxx.sh b/src/Specific/solinas32_2e511m187_22limbs/compilerxx.sh
deleted file mode 100755
index d2803f273..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{24,23,23,23,24,23,23,23,24,23,23,23,23,24,23,23,23,24,23,23,23,23}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='22' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas32_2e511m187_22limbs/feadd.c b/src/Specific/solinas32_2e511m187_22limbs/feadd.c
deleted file mode 100644
index 3d8fcaced..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/feadd.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void feadd(uint32_t out[22], const uint32_t in1[22], const uint32_t in2[22]) {
- { const uint32_t x44 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x86 = in2[21];
- { const uint32_t x87 = in2[20];
- { const uint32_t x85 = in2[19];
- { const uint32_t x83 = in2[18];
- { const uint32_t x81 = in2[17];
- { const uint32_t x79 = in2[16];
- { const uint32_t x77 = in2[15];
- { const uint32_t x75 = in2[14];
- { const uint32_t x73 = in2[13];
- { const uint32_t x71 = in2[12];
- { const uint32_t x69 = in2[11];
- { const uint32_t x67 = in2[10];
- { const uint32_t x65 = in2[9];
- { const uint32_t x63 = in2[8];
- { const uint32_t x61 = in2[7];
- { const uint32_t x59 = in2[6];
- { const uint32_t x57 = in2[5];
- { const uint32_t x55 = in2[4];
- { const uint32_t x53 = in2[3];
- { const uint32_t x51 = in2[2];
- { const uint32_t x49 = in2[1];
- { const uint32_t x47 = in2[0];
- out[0] = (x5 + x47);
- out[1] = (x7 + x49);
- out[2] = (x9 + x51);
- out[3] = (x11 + x53);
- out[4] = (x13 + x55);
- out[5] = (x15 + x57);
- out[6] = (x17 + x59);
- out[7] = (x19 + x61);
- out[8] = (x21 + x63);
- out[9] = (x23 + x65);
- out[10] = (x25 + x67);
- out[11] = (x27 + x69);
- out[12] = (x29 + x71);
- out[13] = (x31 + x73);
- out[14] = (x33 + x75);
- out[15] = (x35 + x77);
- out[16] = (x37 + x79);
- out[17] = (x39 + x81);
- out[18] = (x41 + x83);
- out[19] = (x43 + x85);
- out[20] = (x45 + x87);
- out[21] = (x44 + x86);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_22limbs/feadd.v b/src/Specific/solinas32_2e511m187_22limbs/feadd.v
deleted file mode 100644
index 25cd4e3aa..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/feaddDisplay.log b/src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.log
deleted file mode 100644
index 721ed2e79..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/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 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x44, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x86, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47))%core,
- ((x44 + x86), (x45 + x87), (x43 + x85), (x41 + x83), (x39 + x81), (x37 + x79), (x35 + x77), (x33 + x75), (x31 + x73), (x29 + x71), (x27 + x69), (x25 + x67), (x23 + x65), (x21 + x63), (x19 + x61), (x17 + x59), (x15 + x57), (x13 + x55), (x11 + x53), (x9 + x51), (x7 + x49), (x5 + x47)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.v b/src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.v
deleted file mode 100644
index b2fb0847d..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fecarry.v b/src/Specific/solinas32_2e511m187_22limbs/fecarry.v
deleted file mode 100644
index 967870050..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/fecarryDisplay.v b/src/Specific/solinas32_2e511m187_22limbs/fecarryDisplay.v
deleted file mode 100644
index 97e42ad48..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e511m187_22limbs/femul.c b/src/Specific/solinas32_2e511m187_22limbs/femul.c
deleted file mode 100644
index ea126d46e..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/femul.c
+++ /dev/null
@@ -1,162 +0,0 @@
-static void femul(uint32_t out[22], const uint32_t in1[22], const uint32_t in2[22]) {
- { const uint32_t x44 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x86 = in2[21];
- { const uint32_t x87 = in2[20];
- { const uint32_t x85 = in2[19];
- { const uint32_t x83 = in2[18];
- { const uint32_t x81 = in2[17];
- { const uint32_t x79 = in2[16];
- { const uint32_t x77 = in2[15];
- { const uint32_t x75 = in2[14];
- { const uint32_t x73 = in2[13];
- { const uint32_t x71 = in2[12];
- { const uint32_t x69 = in2[11];
- { const uint32_t x67 = in2[10];
- { const uint32_t x65 = in2[9];
- { const uint32_t x63 = in2[8];
- { const uint32_t x61 = in2[7];
- { const uint32_t x59 = in2[6];
- { const uint32_t x57 = in2[5];
- { const uint32_t x55 = in2[4];
- { const uint32_t x53 = in2[3];
- { const uint32_t x51 = in2[2];
- { const uint32_t x49 = in2[1];
- { const uint32_t x47 = in2[0];
- { uint64_t x88 = (((uint64_t)x5 * x86) + ((0x2 * ((uint64_t)x7 * x87)) + ((0x2 * ((uint64_t)x9 * x85)) + ((0x2 * ((uint64_t)x11 * x83)) + (((uint64_t)x13 * x81) + ((0x2 * ((uint64_t)x15 * x79)) + ((0x2 * ((uint64_t)x17 * x77)) + ((0x2 * ((uint64_t)x19 * x75)) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((0x2 * ((uint64_t)x41 * x53)) + ((0x2 * ((uint64_t)x43 * x51)) + ((0x2 * ((uint64_t)x45 * x49)) + ((uint64_t)x44 * x47))))))))))))))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x87) + ((0x2 * ((uint64_t)x7 * x85)) + ((0x2 * ((uint64_t)x9 * x83)) + (((uint64_t)x11 * x81) + (((uint64_t)x13 * x79) + ((0x2 * ((uint64_t)x15 * x77)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + (((uint64_t)x21 * x71) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + (((uint64_t)x39 * x53) + ((0x2 * ((uint64_t)x41 * x51)) + ((0x2 * ((uint64_t)x43 * x49)) + ((uint64_t)x45 * x47))))))))))))))))))))) + (0xbb * ((uint64_t)x44 * x86)));
- { uint64_t x90 = ((((uint64_t)x5 * x85) + ((0x2 * ((uint64_t)x7 * x83)) + (((uint64_t)x9 * x81) + (((uint64_t)x11 * x79) + (((uint64_t)x13 * x77) + ((0x2 * ((uint64_t)x15 * x75)) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + ((0x2 * ((uint64_t)x23 * x67)) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + ((uint64_t)x43 * x47)))))))))))))))))))) + (0xbb * (((uint64_t)x45 * x86) + ((uint64_t)x44 * x87))));
- { uint64_t x91 = ((((uint64_t)x5 * x83) + (((uint64_t)x7 * x81) + (((uint64_t)x9 * x79) + (((uint64_t)x11 * x77) + (((uint64_t)x13 * x75) + (((uint64_t)x15 * x73) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + (((uint64_t)x39 * x49) + ((uint64_t)x41 * x47))))))))))))))))))) + (0xbb * (((uint64_t)x43 * x86) + (((uint64_t)x45 * x87) + ((uint64_t)x44 * x85)))));
- { uint64_t x92 = ((((uint64_t)x5 * x81) + ((0x2 * ((uint64_t)x7 * x79)) + ((0x2 * ((uint64_t)x9 * x77)) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + ((uint64_t)x39 * x47)))))))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x41 * x86)) + ((0x2 * ((uint64_t)x43 * x87)) + ((0x2 * ((uint64_t)x45 * x85)) + (0x2 * ((uint64_t)x44 * x83)))))));
- { uint64_t x93 = ((((uint64_t)x5 * x79) + ((0x2 * ((uint64_t)x7 * x77)) + ((0x2 * ((uint64_t)x9 * x75)) + (((uint64_t)x11 * x73) + (((uint64_t)x13 * x71) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((uint64_t)x37 * x47))))))))))))))))) + (0xbb * (((uint64_t)x39 * x86) + ((0x2 * ((uint64_t)x41 * x87)) + ((0x2 * ((uint64_t)x43 * x85)) + ((0x2 * ((uint64_t)x45 * x83)) + ((uint64_t)x44 * x81)))))));
- { uint64_t x94 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + ((uint64_t)x35 * x47)))))))))))))))) + (0xbb * (((uint64_t)x37 * x86) + (((uint64_t)x39 * x87) + ((0x2 * ((uint64_t)x41 * x85)) + ((0x2 * ((uint64_t)x43 * x83)) + (((uint64_t)x45 * x81) + ((uint64_t)x44 * x79))))))));
- { uint64_t x95 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((uint64_t)x33 * x47))))))))))))))) + (0xbb * (((uint64_t)x35 * x86) + (((uint64_t)x37 * x87) + (((uint64_t)x39 * x85) + ((0x2 * ((uint64_t)x41 * x83)) + (((uint64_t)x43 * x81) + (((uint64_t)x45 * x79) + ((uint64_t)x44 * x77)))))))));
- { uint64_t x96 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((uint64_t)x31 * x47)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x33 * x86)) + ((0x2 * ((uint64_t)x35 * x87)) + ((0x2 * ((uint64_t)x37 * x85)) + ((0x2 * ((uint64_t)x39 * x83)) + ((0x2 * ((uint64_t)x41 * x81)) + ((0x2 * ((uint64_t)x43 * x79)) + ((0x2 * ((uint64_t)x45 * x77)) + (0x2 * ((uint64_t)x44 * x75)))))))))));
- { uint64_t x97 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((uint64_t)x29 * x47))))))))))))) + (0xbb * (((uint64_t)x31 * x86) + ((0x2 * ((uint64_t)x33 * x87)) + ((0x2 * ((uint64_t)x35 * x85)) + ((0x2 * ((uint64_t)x37 * x83)) + (((uint64_t)x39 * x81) + ((0x2 * ((uint64_t)x41 * x79)) + ((0x2 * ((uint64_t)x43 * x77)) + ((0x2 * ((uint64_t)x45 * x75)) + ((uint64_t)x44 * x73)))))))))));
- { uint64_t x98 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((uint64_t)x27 * x47)))))))))))) + (0xbb * (((uint64_t)x29 * x86) + (((uint64_t)x31 * x87) + ((0x2 * ((uint64_t)x33 * x85)) + ((0x2 * ((uint64_t)x35 * x83)) + (((uint64_t)x37 * x81) + (((uint64_t)x39 * x79) + ((0x2 * ((uint64_t)x41 * x77)) + ((0x2 * ((uint64_t)x43 * x75)) + (((uint64_t)x45 * x73) + ((uint64_t)x44 * x71))))))))))));
- { uint64_t x99 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((uint64_t)x25 * x47))))))))))) + (0xbb * (((uint64_t)x27 * x86) + (((uint64_t)x29 * x87) + (((uint64_t)x31 * x85) + ((0x2 * ((uint64_t)x33 * x83)) + (((uint64_t)x35 * x81) + (((uint64_t)x37 * x79) + (((uint64_t)x39 * x77) + ((0x2 * ((uint64_t)x41 * x75)) + (((uint64_t)x43 * x73) + (((uint64_t)x45 * x71) + ((uint64_t)x44 * x69)))))))))))));
- { uint64_t x100 = ((((uint64_t)x5 * x65) + (((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)))))))))) + (0xbb * (((uint64_t)x25 * x86) + (((uint64_t)x27 * x87) + (((uint64_t)x29 * x85) + (((uint64_t)x31 * x83) + (((uint64_t)x33 * x81) + (((uint64_t)x35 * x79) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + (((uint64_t)x43 * x71) + (((uint64_t)x45 * x69) + ((uint64_t)x44 * x67))))))))))))));
- { uint64_t x101 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((uint64_t)x21 * x47))))))))) + (0xbb * ((0x2 * ((uint64_t)x23 * x86)) + ((0x2 * ((uint64_t)x25 * x87)) + ((0x2 * ((uint64_t)x27 * x85)) + ((0x2 * ((uint64_t)x29 * x83)) + (((uint64_t)x31 * x81) + ((0x2 * ((uint64_t)x33 * x79)) + ((0x2 * ((uint64_t)x35 * x77)) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + ((0x2 * ((uint64_t)x43 * x69)) + ((0x2 * ((uint64_t)x45 * x67)) + (0x2 * ((uint64_t)x44 * x65))))))))))))))));
- { uint64_t x102 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((uint64_t)x19 * x47)))))))) + (0xbb * (((uint64_t)x21 * x86) + ((0x2 * ((uint64_t)x23 * x87)) + ((0x2 * ((uint64_t)x25 * x85)) + ((0x2 * ((uint64_t)x27 * x83)) + (((uint64_t)x29 * x81) + (((uint64_t)x31 * x79) + ((0x2 * ((uint64_t)x33 * x77)) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + ((0x2 * ((uint64_t)x41 * x69)) + ((0x2 * ((uint64_t)x43 * x67)) + ((0x2 * ((uint64_t)x45 * x65)) + ((uint64_t)x44 * x63))))))))))))))));
- { uint64_t x103 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((uint64_t)x17 * x47))))))) + (0xbb * (((uint64_t)x19 * x86) + (((uint64_t)x21 * x87) + ((0x2 * ((uint64_t)x23 * x85)) + ((0x2 * ((uint64_t)x25 * x83)) + (((uint64_t)x27 * x81) + (((uint64_t)x29 * x79) + (((uint64_t)x31 * x77) + ((0x2 * ((uint64_t)x33 * x75)) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + ((0x2 * ((uint64_t)x41 * x67)) + ((0x2 * ((uint64_t)x43 * x65)) + (((uint64_t)x45 * x63) + ((uint64_t)x44 * x61)))))))))))))))));
- { uint64_t x104 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + ((uint64_t)x15 * x47)))))) + (0xbb * (((uint64_t)x17 * x86) + (((uint64_t)x19 * x87) + (((uint64_t)x21 * x85) + ((0x2 * ((uint64_t)x23 * x83)) + (((uint64_t)x25 * x81) + (((uint64_t)x27 * x79) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + ((0x2 * ((uint64_t)x41 * x65)) + (((uint64_t)x43 * x63) + (((uint64_t)x45 * x61) + ((uint64_t)x44 * x59))))))))))))))))));
- { uint64_t x105 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((uint64_t)x13 * x47))))) + (0xbb * ((0x2 * ((uint64_t)x15 * x86)) + ((0x2 * ((uint64_t)x17 * x87)) + ((0x2 * ((uint64_t)x19 * x85)) + ((0x2 * ((uint64_t)x21 * x83)) + ((0x2 * ((uint64_t)x23 * x81)) + ((0x2 * ((uint64_t)x25 * x79)) + ((0x2 * ((uint64_t)x27 * x77)) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + ((0x2 * ((uint64_t)x37 * x67)) + ((0x2 * ((uint64_t)x39 * x65)) + ((0x2 * ((uint64_t)x41 * x63)) + ((0x2 * ((uint64_t)x43 * x61)) + ((0x2 * ((uint64_t)x45 * x59)) + (0x2 * ((uint64_t)x44 * x57))))))))))))))))))));
- { uint64_t x106 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((uint64_t)x11 * x47)))) + (0xbb * (((uint64_t)x13 * x86) + ((0x2 * ((uint64_t)x15 * x87)) + ((0x2 * ((uint64_t)x17 * x85)) + ((0x2 * ((uint64_t)x19 * x83)) + (((uint64_t)x21 * x81) + ((0x2 * ((uint64_t)x23 * x79)) + ((0x2 * ((uint64_t)x25 * x77)) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + ((0x2 * ((uint64_t)x33 * x69)) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + (((uint64_t)x39 * x63) + ((0x2 * ((uint64_t)x41 * x61)) + ((0x2 * ((uint64_t)x43 * x59)) + ((0x2 * ((uint64_t)x45 * x57)) + ((uint64_t)x44 * x55))))))))))))))))))));
- { uint64_t x107 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((uint64_t)x9 * x47))) + (0xbb * (((uint64_t)x11 * x86) + (((uint64_t)x13 * x87) + ((0x2 * ((uint64_t)x15 * x85)) + ((0x2 * ((uint64_t)x17 * x83)) + (((uint64_t)x19 * x81) + (((uint64_t)x21 * x79) + ((0x2 * ((uint64_t)x23 * x77)) + ((0x2 * ((uint64_t)x25 * x75)) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + ((0x2 * ((uint64_t)x41 * x59)) + ((0x2 * ((uint64_t)x43 * x57)) + (((uint64_t)x45 * x55) + ((uint64_t)x44 * x53)))))))))))))))))))));
- { uint64_t x108 = ((((uint64_t)x5 * x49) + ((uint64_t)x7 * x47)) + (0xbb * (((uint64_t)x9 * x86) + (((uint64_t)x11 * x87) + (((uint64_t)x13 * x85) + ((0x2 * ((uint64_t)x15 * x83)) + (((uint64_t)x17 * x81) + (((uint64_t)x19 * x79) + (((uint64_t)x21 * x77) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + (((uint64_t)x43 * x55) + (((uint64_t)x45 * x53) + ((uint64_t)x44 * x51))))))))))))))))))))));
- { uint64_t x109 = (((uint64_t)x5 * x47) + (0xbb * ((0x2 * ((uint64_t)x7 * x86)) + ((0x2 * ((uint64_t)x9 * x87)) + ((0x2 * ((uint64_t)x11 * x85)) + ((0x2 * ((uint64_t)x13 * x83)) + ((0x2 * ((uint64_t)x15 * x81)) + ((0x2 * ((uint64_t)x17 * x79)) + ((0x2 * ((uint64_t)x19 * x77)) + ((0x2 * ((uint64_t)x21 * x75)) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((0x2 * ((uint64_t)x39 * x57)) + ((0x2 * ((uint64_t)x41 * x55)) + ((0x2 * ((uint64_t)x43 * x53)) + ((0x2 * ((uint64_t)x45 * x51)) + (0x2 * ((uint64_t)x44 * x49))))))))))))))))))))))));
- { uint64_t x110 = (x109 >> 0x18);
- { uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- { uint64_t x112 = (x110 + x108);
- { uint64_t x113 = (x112 >> 0x17);
- { uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- { uint64_t x115 = (x113 + x107);
- { uint64_t x116 = (x115 >> 0x17);
- { uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- { uint64_t x118 = (x116 + x106);
- { uint64_t x119 = (x118 >> 0x17);
- { uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- { uint64_t x121 = (x119 + x105);
- { uint64_t x122 = (x121 >> 0x18);
- { uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- { uint64_t x124 = (x122 + x104);
- { uint64_t x125 = (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x125 + x103);
- { uint64_t x128 = (x127 >> 0x17);
- { uint32_t x129 = ((uint32_t)x127 & 0x7fffff);
- { uint64_t x130 = (x128 + x102);
- { uint64_t x131 = (x130 >> 0x17);
- { uint32_t x132 = ((uint32_t)x130 & 0x7fffff);
- { uint64_t x133 = (x131 + x101);
- { uint64_t x134 = (x133 >> 0x18);
- { uint32_t x135 = ((uint32_t)x133 & 0xffffff);
- { uint64_t x136 = (x134 + x100);
- { uint64_t x137 = (x136 >> 0x17);
- { uint32_t x138 = ((uint32_t)x136 & 0x7fffff);
- { uint64_t x139 = (x137 + x99);
- { uint64_t x140 = (x139 >> 0x17);
- { uint32_t x141 = ((uint32_t)x139 & 0x7fffff);
- { uint64_t x142 = (x140 + x98);
- { uint64_t x143 = (x142 >> 0x17);
- { uint32_t x144 = ((uint32_t)x142 & 0x7fffff);
- { uint64_t x145 = (x143 + x97);
- { uint64_t x146 = (x145 >> 0x17);
- { uint32_t x147 = ((uint32_t)x145 & 0x7fffff);
- { uint64_t x148 = (x146 + x96);
- { uint64_t x149 = (x148 >> 0x18);
- { uint32_t x150 = ((uint32_t)x148 & 0xffffff);
- { uint64_t x151 = (x149 + x95);
- { uint64_t x152 = (x151 >> 0x17);
- { uint32_t x153 = ((uint32_t)x151 & 0x7fffff);
- { uint64_t x154 = (x152 + x94);
- { uint64_t x155 = (x154 >> 0x17);
- { uint32_t x156 = ((uint32_t)x154 & 0x7fffff);
- { uint64_t x157 = (x155 + x93);
- { uint64_t x158 = (x157 >> 0x17);
- { uint32_t x159 = ((uint32_t)x157 & 0x7fffff);
- { uint64_t x160 = (x158 + x92);
- { uint64_t x161 = (x160 >> 0x18);
- { uint32_t x162 = ((uint32_t)x160 & 0xffffff);
- { uint64_t x163 = (x161 + x91);
- { uint64_t x164 = (x163 >> 0x17);
- { uint32_t x165 = ((uint32_t)x163 & 0x7fffff);
- { uint64_t x166 = (x164 + x90);
- { uint64_t x167 = (x166 >> 0x17);
- { uint32_t x168 = ((uint32_t)x166 & 0x7fffff);
- { uint64_t x169 = (x167 + x89);
- { uint64_t x170 = (x169 >> 0x17);
- { uint32_t x171 = ((uint32_t)x169 & 0x7fffff);
- { uint64_t x172 = (x170 + x88);
- { uint64_t x173 = (x172 >> 0x17);
- { uint32_t x174 = ((uint32_t)x172 & 0x7fffff);
- { uint64_t x175 = (x111 + (0xbb * x173));
- { uint32_t x176 = (uint32_t) (x175 >> 0x18);
- { uint32_t x177 = ((uint32_t)x175 & 0xffffff);
- { uint32_t x178 = (x176 + x114);
- { uint32_t x179 = (x178 >> 0x17);
- { uint32_t x180 = (x178 & 0x7fffff);
- out[0] = x177;
- out[1] = x180;
- out[2] = (x179 + x117);
- out[3] = x120;
- out[4] = x123;
- out[5] = x126;
- out[6] = x129;
- out[7] = x132;
- out[8] = x135;
- out[9] = x138;
- out[10] = x141;
- out[11] = x144;
- out[12] = x147;
- out[13] = x150;
- out[14] = x153;
- out[15] = x156;
- out[16] = x159;
- out[17] = x162;
- out[18] = x165;
- out[19] = x168;
- out[20] = x171;
- out[21] = x174;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_22limbs/femul.v b/src/Specific/solinas32_2e511m187_22limbs/femul.v
deleted file mode 100644
index 1201c85ba..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/femulDisplay.log b/src/Specific/solinas32_2e511m187_22limbs/femulDisplay.log
deleted file mode 100644
index ae153fcc0..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/femulDisplay.log
+++ /dev/null
@@ -1,100 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x44, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x86, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47))%core,
- uint64_t x88 = (((uint64_t)x5 * x86) + ((0x2 * ((uint64_t)x7 * x87)) + ((0x2 * ((uint64_t)x9 * x85)) + ((0x2 * ((uint64_t)x11 * x83)) + (((uint64_t)x13 * x81) + ((0x2 * ((uint64_t)x15 * x79)) + ((0x2 * ((uint64_t)x17 * x77)) + ((0x2 * ((uint64_t)x19 * x75)) + (((uint64_t)x21 * x73) + ((0x2 * ((uint64_t)x23 * x71)) + ((0x2 * ((uint64_t)x25 * x69)) + ((0x2 * ((uint64_t)x27 * x67)) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + ((0x2 * ((uint64_t)x33 * x61)) + ((0x2 * ((uint64_t)x35 * x59)) + ((0x2 * ((uint64_t)x37 * x57)) + (((uint64_t)x39 * x55) + ((0x2 * ((uint64_t)x41 * x53)) + ((0x2 * ((uint64_t)x43 * x51)) + ((0x2 * ((uint64_t)x45 * x49)) + ((uint64_t)x44 * x47))))))))))))))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x87) + ((0x2 * ((uint64_t)x7 * x85)) + ((0x2 * ((uint64_t)x9 * x83)) + (((uint64_t)x11 * x81) + (((uint64_t)x13 * x79) + ((0x2 * ((uint64_t)x15 * x77)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + (((uint64_t)x21 * x71) + ((0x2 * ((uint64_t)x23 * x69)) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + ((0x2 * ((uint64_t)x33 * x59)) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + (((uint64_t)x39 * x53) + ((0x2 * ((uint64_t)x41 * x51)) + ((0x2 * ((uint64_t)x43 * x49)) + ((uint64_t)x45 * x47))))))))))))))))))))) + (0xbb * ((uint64_t)x44 * x86)));
- uint64_t x90 = ((((uint64_t)x5 * x85) + ((0x2 * ((uint64_t)x7 * x83)) + (((uint64_t)x9 * x81) + (((uint64_t)x11 * x79) + (((uint64_t)x13 * x77) + ((0x2 * ((uint64_t)x15 * x75)) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + ((0x2 * ((uint64_t)x23 * x67)) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + ((0x2 * ((uint64_t)x33 * x57)) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + ((0x2 * ((uint64_t)x41 * x49)) + ((uint64_t)x43 * x47)))))))))))))))))))) + (0xbb * (((uint64_t)x45 * x86) + ((uint64_t)x44 * x87))));
- uint64_t x91 = ((((uint64_t)x5 * x83) + (((uint64_t)x7 * x81) + (((uint64_t)x9 * x79) + (((uint64_t)x11 * x77) + (((uint64_t)x13 * x75) + (((uint64_t)x15 * x73) + (((uint64_t)x17 * x71) + (((uint64_t)x19 * x69) + (((uint64_t)x21 * x67) + ((0x2 * ((uint64_t)x23 * x65)) + (((uint64_t)x25 * x63) + (((uint64_t)x27 * x61) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + (((uint64_t)x33 * x55) + (((uint64_t)x35 * x53) + (((uint64_t)x37 * x51) + (((uint64_t)x39 * x49) + ((uint64_t)x41 * x47))))))))))))))))))) + (0xbb * (((uint64_t)x43 * x86) + (((uint64_t)x45 * x87) + ((uint64_t)x44 * x85)))));
- uint64_t x92 = ((((uint64_t)x5 * x81) + ((0x2 * ((uint64_t)x7 * x79)) + ((0x2 * ((uint64_t)x9 * x77)) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + ((uint64_t)x39 * x47)))))))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x41 * x86)) + ((0x2 * ((uint64_t)x43 * x87)) + ((0x2 * ((uint64_t)x45 * x85)) + (0x2 * ((uint64_t)x44 * x83)))))));
- uint64_t x93 = ((((uint64_t)x5 * x79) + ((0x2 * ((uint64_t)x7 * x77)) + ((0x2 * ((uint64_t)x9 * x75)) + (((uint64_t)x11 * x73) + (((uint64_t)x13 * x71) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + (((uint64_t)x21 * x63) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((uint64_t)x37 * x47))))))))))))))))) + (0xbb * (((uint64_t)x39 * x86) + ((0x2 * ((uint64_t)x41 * x87)) + ((0x2 * ((uint64_t)x43 * x85)) + ((0x2 * ((uint64_t)x45 * x83)) + ((uint64_t)x44 * x81)))))));
- uint64_t x94 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + (((uint64_t)x11 * x71) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + (((uint64_t)x21 * x61) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((0x2 * ((uint64_t)x33 * x49)) + ((uint64_t)x35 * x47)))))))))))))))) + (0xbb * (((uint64_t)x37 * x86) + (((uint64_t)x39 * x87) + ((0x2 * ((uint64_t)x41 * x85)) + ((0x2 * ((uint64_t)x43 * x83)) + (((uint64_t)x45 * x81) + ((uint64_t)x44 * x79))))))));
- uint64_t x95 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + ((0x2 * ((uint64_t)x23 * x57)) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((uint64_t)x33 * x47))))))))))))))) + (0xbb * (((uint64_t)x35 * x86) + (((uint64_t)x37 * x87) + (((uint64_t)x39 * x85) + ((0x2 * ((uint64_t)x41 * x83)) + (((uint64_t)x43 * x81) + (((uint64_t)x45 * x79) + ((uint64_t)x44 * x77)))))))));
- uint64_t x96 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((uint64_t)x31 * x47)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x33 * x86)) + ((0x2 * ((uint64_t)x35 * x87)) + ((0x2 * ((uint64_t)x37 * x85)) + ((0x2 * ((uint64_t)x39 * x83)) + ((0x2 * ((uint64_t)x41 * x81)) + ((0x2 * ((uint64_t)x43 * x79)) + ((0x2 * ((uint64_t)x45 * x77)) + (0x2 * ((uint64_t)x44 * x75)))))))))));
- uint64_t x97 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + (((uint64_t)x21 * x55) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((uint64_t)x29 * x47))))))))))))) + (0xbb * (((uint64_t)x31 * x86) + ((0x2 * ((uint64_t)x33 * x87)) + ((0x2 * ((uint64_t)x35 * x85)) + ((0x2 * ((uint64_t)x37 * x83)) + (((uint64_t)x39 * x81) + ((0x2 * ((uint64_t)x41 * x79)) + ((0x2 * ((uint64_t)x43 * x77)) + ((0x2 * ((uint64_t)x45 * x75)) + ((uint64_t)x44 * x73)))))))))));
- uint64_t x98 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + (((uint64_t)x11 * x63) + (((uint64_t)x13 * x61) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((uint64_t)x27 * x47)))))))))))) + (0xbb * (((uint64_t)x29 * x86) + (((uint64_t)x31 * x87) + ((0x2 * ((uint64_t)x33 * x85)) + ((0x2 * ((uint64_t)x35 * x83)) + (((uint64_t)x37 * x81) + (((uint64_t)x39 * x79) + ((0x2 * ((uint64_t)x41 * x77)) + ((0x2 * ((uint64_t)x43 * x75)) + (((uint64_t)x45 * x73) + ((uint64_t)x44 * x71))))))))))));
- uint64_t x99 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + (((uint64_t)x11 * x61) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + ((0x2 * ((uint64_t)x23 * x49)) + ((uint64_t)x25 * x47))))))))))) + (0xbb * (((uint64_t)x27 * x86) + (((uint64_t)x29 * x87) + (((uint64_t)x31 * x85) + ((0x2 * ((uint64_t)x33 * x83)) + (((uint64_t)x35 * x81) + (((uint64_t)x37 * x79) + (((uint64_t)x39 * x77) + ((0x2 * ((uint64_t)x41 * x75)) + (((uint64_t)x43 * x73) + (((uint64_t)x45 * x71) + ((uint64_t)x44 * x69)))))))))))));
- uint64_t x100 = ((((uint64_t)x5 * x65) + (((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)))))))))) + (0xbb * (((uint64_t)x25 * x86) + (((uint64_t)x27 * x87) + (((uint64_t)x29 * x85) + (((uint64_t)x31 * x83) + (((uint64_t)x33 * x81) + (((uint64_t)x35 * x79) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + (((uint64_t)x43 * x71) + (((uint64_t)x45 * x69) + ((uint64_t)x44 * x67))))))))))))));
- uint64_t x101 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((uint64_t)x21 * x47))))))))) + (0xbb * ((0x2 * ((uint64_t)x23 * x86)) + ((0x2 * ((uint64_t)x25 * x87)) + ((0x2 * ((uint64_t)x27 * x85)) + ((0x2 * ((uint64_t)x29 * x83)) + (((uint64_t)x31 * x81) + ((0x2 * ((uint64_t)x33 * x79)) + ((0x2 * ((uint64_t)x35 * x77)) + ((0x2 * ((uint64_t)x37 * x75)) + (((uint64_t)x39 * x73) + ((0x2 * ((uint64_t)x41 * x71)) + ((0x2 * ((uint64_t)x43 * x69)) + ((0x2 * ((uint64_t)x45 * x67)) + (0x2 * ((uint64_t)x44 * x65))))))))))))))));
- uint64_t x102 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((uint64_t)x19 * x47)))))))) + (0xbb * (((uint64_t)x21 * x86) + ((0x2 * ((uint64_t)x23 * x87)) + ((0x2 * ((uint64_t)x25 * x85)) + ((0x2 * ((uint64_t)x27 * x83)) + (((uint64_t)x29 * x81) + (((uint64_t)x31 * x79) + ((0x2 * ((uint64_t)x33 * x77)) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + ((0x2 * ((uint64_t)x41 * x69)) + ((0x2 * ((uint64_t)x43 * x67)) + ((0x2 * ((uint64_t)x45 * x65)) + ((uint64_t)x44 * x63))))))))))))))));
- uint64_t x103 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + ((0x2 * ((uint64_t)x15 * x49)) + ((uint64_t)x17 * x47))))))) + (0xbb * (((uint64_t)x19 * x86) + (((uint64_t)x21 * x87) + ((0x2 * ((uint64_t)x23 * x85)) + ((0x2 * ((uint64_t)x25 * x83)) + (((uint64_t)x27 * x81) + (((uint64_t)x29 * x79) + (((uint64_t)x31 * x77) + ((0x2 * ((uint64_t)x33 * x75)) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + ((0x2 * ((uint64_t)x41 * x67)) + ((0x2 * ((uint64_t)x43 * x65)) + (((uint64_t)x45 * x63) + ((uint64_t)x44 * x61)))))))))))))))));
- uint64_t x104 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + ((uint64_t)x15 * x47)))))) + (0xbb * (((uint64_t)x17 * x86) + (((uint64_t)x19 * x87) + (((uint64_t)x21 * x85) + ((0x2 * ((uint64_t)x23 * x83)) + (((uint64_t)x25 * x81) + (((uint64_t)x27 * x79) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + ((0x2 * ((uint64_t)x41 * x65)) + (((uint64_t)x43 * x63) + (((uint64_t)x45 * x61) + ((uint64_t)x44 * x59))))))))))))))))));
- uint64_t x105 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((uint64_t)x13 * x47))))) + (0xbb * ((0x2 * ((uint64_t)x15 * x86)) + ((0x2 * ((uint64_t)x17 * x87)) + ((0x2 * ((uint64_t)x19 * x85)) + ((0x2 * ((uint64_t)x21 * x83)) + ((0x2 * ((uint64_t)x23 * x81)) + ((0x2 * ((uint64_t)x25 * x79)) + ((0x2 * ((uint64_t)x27 * x77)) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + ((0x2 * ((uint64_t)x33 * x71)) + ((0x2 * ((uint64_t)x35 * x69)) + ((0x2 * ((uint64_t)x37 * x67)) + ((0x2 * ((uint64_t)x39 * x65)) + ((0x2 * ((uint64_t)x41 * x63)) + ((0x2 * ((uint64_t)x43 * x61)) + ((0x2 * ((uint64_t)x45 * x59)) + (0x2 * ((uint64_t)x44 * x57))))))))))))))))))));
- uint64_t x106 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((uint64_t)x11 * x47)))) + (0xbb * (((uint64_t)x13 * x86) + ((0x2 * ((uint64_t)x15 * x87)) + ((0x2 * ((uint64_t)x17 * x85)) + ((0x2 * ((uint64_t)x19 * x83)) + (((uint64_t)x21 * x81) + ((0x2 * ((uint64_t)x23 * x79)) + ((0x2 * ((uint64_t)x25 * x77)) + ((0x2 * ((uint64_t)x27 * x75)) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + ((0x2 * ((uint64_t)x33 * x69)) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + (((uint64_t)x39 * x63) + ((0x2 * ((uint64_t)x41 * x61)) + ((0x2 * ((uint64_t)x43 * x59)) + ((0x2 * ((uint64_t)x45 * x57)) + ((uint64_t)x44 * x55))))))))))))))))))));
- uint64_t x107 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((uint64_t)x9 * x47))) + (0xbb * (((uint64_t)x11 * x86) + (((uint64_t)x13 * x87) + ((0x2 * ((uint64_t)x15 * x85)) + ((0x2 * ((uint64_t)x17 * x83)) + (((uint64_t)x19 * x81) + (((uint64_t)x21 * x79) + ((0x2 * ((uint64_t)x23 * x77)) + ((0x2 * ((uint64_t)x25 * x75)) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + ((0x2 * ((uint64_t)x33 * x67)) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + ((0x2 * ((uint64_t)x41 * x59)) + ((0x2 * ((uint64_t)x43 * x57)) + (((uint64_t)x45 * x55) + ((uint64_t)x44 * x53)))))))))))))))))))));
- uint64_t x108 = ((((uint64_t)x5 * x49) + ((uint64_t)x7 * x47)) + (0xbb * (((uint64_t)x9 * x86) + (((uint64_t)x11 * x87) + (((uint64_t)x13 * x85) + ((0x2 * ((uint64_t)x15 * x83)) + (((uint64_t)x17 * x81) + (((uint64_t)x19 * x79) + (((uint64_t)x21 * x77) + ((0x2 * ((uint64_t)x23 * x75)) + (((uint64_t)x25 * x73) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + ((0x2 * ((uint64_t)x33 * x65)) + (((uint64_t)x35 * x63) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + ((0x2 * ((uint64_t)x41 * x57)) + (((uint64_t)x43 * x55) + (((uint64_t)x45 * x53) + ((uint64_t)x44 * x51))))))))))))))))))))));
- uint64_t x109 = (((uint64_t)x5 * x47) + (0xbb * ((0x2 * ((uint64_t)x7 * x86)) + ((0x2 * ((uint64_t)x9 * x87)) + ((0x2 * ((uint64_t)x11 * x85)) + ((0x2 * ((uint64_t)x13 * x83)) + ((0x2 * ((uint64_t)x15 * x81)) + ((0x2 * ((uint64_t)x17 * x79)) + ((0x2 * ((uint64_t)x19 * x77)) + ((0x2 * ((uint64_t)x21 * x75)) + ((0x2 * ((uint64_t)x23 * x73)) + ((0x2 * ((uint64_t)x25 * x71)) + ((0x2 * ((uint64_t)x27 * x69)) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + ((0x2 * ((uint64_t)x33 * x63)) + ((0x2 * ((uint64_t)x35 * x61)) + ((0x2 * ((uint64_t)x37 * x59)) + ((0x2 * ((uint64_t)x39 * x57)) + ((0x2 * ((uint64_t)x41 * x55)) + ((0x2 * ((uint64_t)x43 * x53)) + ((0x2 * ((uint64_t)x45 * x51)) + (0x2 * ((uint64_t)x44 * x49))))))))))))))))))))))));
- uint64_t x110 = (x109 >> 0x18);
- uint32_t x111 = ((uint32_t)x109 & 0xffffff);
- uint64_t x112 = (x110 + x108);
- uint64_t x113 = (x112 >> 0x17);
- uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- uint64_t x115 = (x113 + x107);
- uint64_t x116 = (x115 >> 0x17);
- uint32_t x117 = ((uint32_t)x115 & 0x7fffff);
- uint64_t x118 = (x116 + x106);
- uint64_t x119 = (x118 >> 0x17);
- uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- uint64_t x121 = (x119 + x105);
- uint64_t x122 = (x121 >> 0x18);
- uint32_t x123 = ((uint32_t)x121 & 0xffffff);
- uint64_t x124 = (x122 + x104);
- uint64_t x125 = (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x125 + x103);
- uint64_t x128 = (x127 >> 0x17);
- uint32_t x129 = ((uint32_t)x127 & 0x7fffff);
- uint64_t x130 = (x128 + x102);
- uint64_t x131 = (x130 >> 0x17);
- uint32_t x132 = ((uint32_t)x130 & 0x7fffff);
- uint64_t x133 = (x131 + x101);
- uint64_t x134 = (x133 >> 0x18);
- uint32_t x135 = ((uint32_t)x133 & 0xffffff);
- uint64_t x136 = (x134 + x100);
- uint64_t x137 = (x136 >> 0x17);
- uint32_t x138 = ((uint32_t)x136 & 0x7fffff);
- uint64_t x139 = (x137 + x99);
- uint64_t x140 = (x139 >> 0x17);
- uint32_t x141 = ((uint32_t)x139 & 0x7fffff);
- uint64_t x142 = (x140 + x98);
- uint64_t x143 = (x142 >> 0x17);
- uint32_t x144 = ((uint32_t)x142 & 0x7fffff);
- uint64_t x145 = (x143 + x97);
- uint64_t x146 = (x145 >> 0x17);
- uint32_t x147 = ((uint32_t)x145 & 0x7fffff);
- uint64_t x148 = (x146 + x96);
- uint64_t x149 = (x148 >> 0x18);
- uint32_t x150 = ((uint32_t)x148 & 0xffffff);
- uint64_t x151 = (x149 + x95);
- uint64_t x152 = (x151 >> 0x17);
- uint32_t x153 = ((uint32_t)x151 & 0x7fffff);
- uint64_t x154 = (x152 + x94);
- uint64_t x155 = (x154 >> 0x17);
- uint32_t x156 = ((uint32_t)x154 & 0x7fffff);
- uint64_t x157 = (x155 + x93);
- uint64_t x158 = (x157 >> 0x17);
- uint32_t x159 = ((uint32_t)x157 & 0x7fffff);
- uint64_t x160 = (x158 + x92);
- uint64_t x161 = (x160 >> 0x18);
- uint32_t x162 = ((uint32_t)x160 & 0xffffff);
- uint64_t x163 = (x161 + x91);
- uint64_t x164 = (x163 >> 0x17);
- uint32_t x165 = ((uint32_t)x163 & 0x7fffff);
- uint64_t x166 = (x164 + x90);
- uint64_t x167 = (x166 >> 0x17);
- uint32_t x168 = ((uint32_t)x166 & 0x7fffff);
- uint64_t x169 = (x167 + x89);
- uint64_t x170 = (x169 >> 0x17);
- uint32_t x171 = ((uint32_t)x169 & 0x7fffff);
- uint64_t x172 = (x170 + x88);
- uint64_t x173 = (x172 >> 0x17);
- uint32_t x174 = ((uint32_t)x172 & 0x7fffff);
- uint64_t x175 = (x111 + (0xbb * x173));
- uint32_t x176 = (uint32_t) (x175 >> 0x18);
- uint32_t x177 = ((uint32_t)x175 & 0xffffff);
- uint32_t x178 = (x176 + x114);
- uint32_t x179 = (x178 >> 0x17);
- uint32_t x180 = (x178 & 0x7fffff);
- return (Return x174, Return x171, Return x168, Return x165, Return x162, Return x159, Return x156, Return x153, Return x150, Return x147, Return x144, Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, (x179 + x117), Return x180, Return x177))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_22limbs/femulDisplay.v b/src/Specific/solinas32_2e511m187_22limbs/femulDisplay.v
deleted file mode 100644
index 7b0822995..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fesquare.c b/src/Specific/solinas32_2e511m187_22limbs/fesquare.c
deleted file mode 100644
index c2be3c759..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesquare.c
+++ /dev/null
@@ -1,140 +0,0 @@
-static void fesquare(uint32_t out[22], const uint32_t in1[22]) {
- { const uint32_t x41 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x43 = (((uint64_t)x2 * x41) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x41 * x2))))))))))))))))))))));
- { uint64_t x44 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + ((0x2 * ((uint64_t)x6 * x38)) + (((uint64_t)x8 * x36) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + (((uint64_t)x36 * x8) + ((0x2 * ((uint64_t)x38 * x6)) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0xbb * ((uint64_t)x41 * x41)));
- { uint64_t x45 = ((((uint64_t)x2 * x40) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0xbb * (((uint64_t)x42 * x41) + ((uint64_t)x41 * x42))));
- { uint64_t x46 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0xbb * (((uint64_t)x40 * x41) + (((uint64_t)x42 * x42) + ((uint64_t)x41 * x40)))));
- { uint64_t x47 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x38 * x41)) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (0x2 * ((uint64_t)x41 * x38)))))));
- { uint64_t x48 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0xbb * (((uint64_t)x36 * x41) + ((0x2 * ((uint64_t)x38 * x42)) + ((0x2 * ((uint64_t)x40 * x40)) + ((0x2 * ((uint64_t)x42 * x38)) + ((uint64_t)x41 * x36)))))));
- { uint64_t x49 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0xbb * (((uint64_t)x34 * x41) + (((uint64_t)x36 * x42) + ((0x2 * ((uint64_t)x38 * x40)) + ((0x2 * ((uint64_t)x40 * x38)) + (((uint64_t)x42 * x36) + ((uint64_t)x41 * x34))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0xbb * (((uint64_t)x32 * x41) + (((uint64_t)x34 * x42) + (((uint64_t)x36 * x40) + ((0x2 * ((uint64_t)x38 * x38)) + (((uint64_t)x40 * x36) + (((uint64_t)x42 * x34) + ((uint64_t)x41 * x32)))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x41)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + (0x2 * ((uint64_t)x41 * x30)))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * (((uint64_t)x28 * x41) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + ((uint64_t)x41 * x28)))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * (((uint64_t)x26 * x41) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + ((0x2 * ((uint64_t)x32 * x38)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + ((0x2 * ((uint64_t)x38 * x32)) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + ((uint64_t)x41 * x26))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0xbb * (((uint64_t)x24 * x41) + (((uint64_t)x26 * x42) + (((uint64_t)x28 * x40) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + (((uint64_t)x40 * x28) + (((uint64_t)x42 * x26) + ((uint64_t)x41 * x24)))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xbb * (((uint64_t)x22 * x41) + (((uint64_t)x24 * x42) + (((uint64_t)x26 * x40) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + (((uint64_t)x40 * x26) + (((uint64_t)x42 * x24) + ((uint64_t)x41 * x22))))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbb * ((0x2 * ((uint64_t)x20 * x41)) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + ((0x2 * ((uint64_t)x26 * x38)) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + ((0x2 * ((uint64_t)x38 * x26)) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (0x2 * ((uint64_t)x41 * x20))))))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbb * (((uint64_t)x18 * x41) + ((0x2 * ((uint64_t)x20 * x42)) + ((0x2 * ((uint64_t)x22 * x40)) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + ((0x2 * ((uint64_t)x40 * x22)) + ((0x2 * ((uint64_t)x42 * x20)) + ((uint64_t)x41 * x18))))))))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbb * (((uint64_t)x16 * x41) + (((uint64_t)x18 * x42) + ((0x2 * ((uint64_t)x20 * x40)) + ((0x2 * ((uint64_t)x22 * x38)) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + ((0x2 * ((uint64_t)x38 * x22)) + ((0x2 * ((uint64_t)x40 * x20)) + (((uint64_t)x42 * x18) + ((uint64_t)x41 * x16)))))))))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xbb * (((uint64_t)x14 * x41) + (((uint64_t)x16 * x42) + (((uint64_t)x18 * x40) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + (((uint64_t)x40 * x18) + (((uint64_t)x42 * x16) + ((uint64_t)x41 * x14))))))))))))))))));
- { uint64_t x60 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint64_t)x12 * x41)) + ((0x2 * ((uint64_t)x14 * x42)) + ((0x2 * ((uint64_t)x16 * x40)) + ((0x2 * ((uint64_t)x18 * x38)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + ((0x2 * ((uint64_t)x38 * x18)) + ((0x2 * ((uint64_t)x40 * x16)) + ((0x2 * ((uint64_t)x42 * x14)) + (0x2 * ((uint64_t)x41 * x12))))))))))))))))))));
- { uint64_t x61 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbb * (((uint64_t)x10 * x41) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + ((uint64_t)x41 * x10))))))))))))))))))));
- { uint64_t x62 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbb * (((uint64_t)x8 * x41) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + ((0x2 * ((uint64_t)x14 * x38)) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + ((0x2 * ((uint64_t)x38 * x14)) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + ((uint64_t)x41 * x8)))))))))))))))))))));
- { uint64_t x63 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * (((uint64_t)x6 * x41) + (((uint64_t)x8 * x42) + (((uint64_t)x10 * x40) + ((0x2 * ((uint64_t)x12 * x38)) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + ((0x2 * ((uint64_t)x38 * x12)) + (((uint64_t)x40 * x10) + (((uint64_t)x42 * x8) + ((uint64_t)x41 * x6))))))))))))))))))))));
- { uint64_t x64 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x41)) + ((0x2 * ((uint64_t)x6 * x42)) + ((0x2 * ((uint64_t)x8 * x40)) + ((0x2 * ((uint64_t)x10 * x38)) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + ((0x2 * ((uint64_t)x38 * x10)) + ((0x2 * ((uint64_t)x40 * x8)) + ((0x2 * ((uint64_t)x42 * x6)) + (0x2 * ((uint64_t)x41 * x4))))))))))))))))))))))));
- { uint64_t x65 = (x64 >> 0x18);
- { uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- { uint64_t x67 = (x65 + x63);
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x62);
- { uint64_t x71 = (x70 >> 0x17);
- { uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- { uint64_t x73 = (x71 + x61);
- { uint64_t x74 = (x73 >> 0x17);
- { uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- { uint64_t x76 = (x74 + x60);
- { uint64_t x77 = (x76 >> 0x18);
- { uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- { uint64_t x79 = (x77 + x59);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x58);
- { uint64_t x83 = (x82 >> 0x17);
- { uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- { uint64_t x85 = (x83 + x57);
- { uint64_t x86 = (x85 >> 0x17);
- { uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- { uint64_t x88 = (x86 + x56);
- { uint64_t x89 = (x88 >> 0x18);
- { uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- { uint64_t x91 = (x89 + x55);
- { uint64_t x92 = (x91 >> 0x17);
- { uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- { uint64_t x94 = (x92 + x54);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x53);
- { uint64_t x98 = (x97 >> 0x17);
- { uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- { uint64_t x100 = (x98 + x52);
- { uint64_t x101 = (x100 >> 0x17);
- { uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- { uint64_t x103 = (x101 + x51);
- { uint64_t x104 = (x103 >> 0x18);
- { uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- { uint64_t x106 = (x104 + x50);
- { uint64_t x107 = (x106 >> 0x17);
- { uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- { uint64_t x109 = (x107 + x49);
- { uint64_t x110 = (x109 >> 0x17);
- { uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- { uint64_t x112 = (x110 + x48);
- { uint64_t x113 = (x112 >> 0x17);
- { uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- { uint64_t x115 = (x113 + x47);
- { uint64_t x116 = (x115 >> 0x18);
- { uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- { uint64_t x118 = (x116 + x46);
- { uint64_t x119 = (x118 >> 0x17);
- { uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- { uint64_t x121 = (x119 + x45);
- { uint64_t x122 = (x121 >> 0x17);
- { uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- { uint64_t x124 = (x122 + x44);
- { uint64_t x125 = (x124 >> 0x17);
- { uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- { uint64_t x127 = (x125 + x43);
- { uint64_t x128 = (x127 >> 0x17);
- { uint32_t x129 = ((uint32_t)x127 & 0x7fffff);
- { uint64_t x130 = (x66 + (0xbb * x128));
- { uint32_t x131 = (uint32_t) (x130 >> 0x18);
- { uint32_t x132 = ((uint32_t)x130 & 0xffffff);
- { uint32_t x133 = (x131 + x69);
- { uint32_t x134 = (x133 >> 0x17);
- { uint32_t x135 = (x133 & 0x7fffff);
- out[0] = x132;
- out[1] = x135;
- out[2] = (x134 + x72);
- out[3] = x75;
- out[4] = x78;
- out[5] = x81;
- out[6] = x84;
- out[7] = x87;
- out[8] = x90;
- out[9] = x93;
- out[10] = x96;
- out[11] = x99;
- out[12] = x102;
- out[13] = x105;
- out[14] = x108;
- out[15] = x111;
- out[16] = x114;
- out[17] = x117;
- out[18] = x120;
- out[19] = x123;
- out[20] = x126;
- out[21] = x129;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fesquare.v b/src/Specific/solinas32_2e511m187_22limbs/fesquare.v
deleted file mode 100644
index 9aecd2cbb..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/fesquareDisplay.log b/src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.log
deleted file mode 100644
index 6317d70a1..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,100 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x41, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x43 = (((uint64_t)x2 * x41) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + ((0x2 * ((uint64_t)x8 * x38)) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + ((0x2 * ((uint64_t)x38 * x8)) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x41 * x2))))))))))))))))))))));
- uint64_t x44 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + ((0x2 * ((uint64_t)x6 * x38)) + (((uint64_t)x8 * x36) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + (((uint64_t)x36 * x8) + ((0x2 * ((uint64_t)x38 * x6)) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0xbb * ((uint64_t)x41 * x41)));
- uint64_t x45 = ((((uint64_t)x2 * x40) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0xbb * (((uint64_t)x42 * x41) + ((uint64_t)x41 * x42))));
- uint64_t x46 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0xbb * (((uint64_t)x40 * x41) + (((uint64_t)x42 * x42) + ((uint64_t)x41 * x40)))));
- uint64_t x47 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x38 * x41)) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (0x2 * ((uint64_t)x41 * x38)))))));
- uint64_t x48 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0xbb * (((uint64_t)x36 * x41) + ((0x2 * ((uint64_t)x38 * x42)) + ((0x2 * ((uint64_t)x40 * x40)) + ((0x2 * ((uint64_t)x42 * x38)) + ((uint64_t)x41 * x36)))))));
- uint64_t x49 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0xbb * (((uint64_t)x34 * x41) + (((uint64_t)x36 * x42) + ((0x2 * ((uint64_t)x38 * x40)) + ((0x2 * ((uint64_t)x40 * x38)) + (((uint64_t)x42 * x36) + ((uint64_t)x41 * x34))))))));
- uint64_t x50 = ((((uint64_t)x2 * x30) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x30 * x2))))))))))))))) + (0xbb * (((uint64_t)x32 * x41) + (((uint64_t)x34 * x42) + (((uint64_t)x36 * x40) + ((0x2 * ((uint64_t)x38 * x38)) + (((uint64_t)x40 * x36) + (((uint64_t)x42 * x34) + ((uint64_t)x41 * x32)))))))));
- uint64_t x51 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x41)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + (0x2 * ((uint64_t)x41 * x30)))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * (((uint64_t)x28 * x41) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + ((uint64_t)x41 * x28)))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * (((uint64_t)x26 * x41) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + ((0x2 * ((uint64_t)x32 * x38)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + ((0x2 * ((uint64_t)x38 * x32)) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + ((uint64_t)x41 * x26))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0xbb * (((uint64_t)x24 * x41) + (((uint64_t)x26 * x42) + (((uint64_t)x28 * x40) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + (((uint64_t)x40 * x28) + (((uint64_t)x42 * x26) + ((uint64_t)x41 * x24)))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xbb * (((uint64_t)x22 * x41) + (((uint64_t)x24 * x42) + (((uint64_t)x26 * x40) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + (((uint64_t)x40 * x26) + (((uint64_t)x42 * x24) + ((uint64_t)x41 * x22))))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbb * ((0x2 * ((uint64_t)x20 * x41)) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + ((0x2 * ((uint64_t)x26 * x38)) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + ((0x2 * ((uint64_t)x38 * x26)) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (0x2 * ((uint64_t)x41 * x20))))))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbb * (((uint64_t)x18 * x41) + ((0x2 * ((uint64_t)x20 * x42)) + ((0x2 * ((uint64_t)x22 * x40)) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + ((0x2 * ((uint64_t)x40 * x22)) + ((0x2 * ((uint64_t)x42 * x20)) + ((uint64_t)x41 * x18))))))))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbb * (((uint64_t)x16 * x41) + (((uint64_t)x18 * x42) + ((0x2 * ((uint64_t)x20 * x40)) + ((0x2 * ((uint64_t)x22 * x38)) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + ((0x2 * ((uint64_t)x38 * x22)) + ((0x2 * ((uint64_t)x40 * x20)) + (((uint64_t)x42 * x18) + ((uint64_t)x41 * x16)))))))))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xbb * (((uint64_t)x14 * x41) + (((uint64_t)x16 * x42) + (((uint64_t)x18 * x40) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + (((uint64_t)x40 * x18) + (((uint64_t)x42 * x16) + ((uint64_t)x41 * x14))))))))))))))))));
- uint64_t x60 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint64_t)x12 * x41)) + ((0x2 * ((uint64_t)x14 * x42)) + ((0x2 * ((uint64_t)x16 * x40)) + ((0x2 * ((uint64_t)x18 * x38)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + ((0x2 * ((uint64_t)x38 * x18)) + ((0x2 * ((uint64_t)x40 * x16)) + ((0x2 * ((uint64_t)x42 * x14)) + (0x2 * ((uint64_t)x41 * x12))))))))))))))))))));
- uint64_t x61 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbb * (((uint64_t)x10 * x41) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + ((uint64_t)x41 * x10))))))))))))))))))));
- uint64_t x62 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbb * (((uint64_t)x8 * x41) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + ((0x2 * ((uint64_t)x14 * x38)) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + ((0x2 * ((uint64_t)x38 * x14)) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + ((uint64_t)x41 * x8)))))))))))))))))))));
- uint64_t x63 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * (((uint64_t)x6 * x41) + (((uint64_t)x8 * x42) + (((uint64_t)x10 * x40) + ((0x2 * ((uint64_t)x12 * x38)) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + (((uint64_t)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + ((0x2 * ((uint64_t)x38 * x12)) + (((uint64_t)x40 * x10) + (((uint64_t)x42 * x8) + ((uint64_t)x41 * x6))))))))))))))))))))));
- uint64_t x64 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x41)) + ((0x2 * ((uint64_t)x6 * x42)) + ((0x2 * ((uint64_t)x8 * x40)) + ((0x2 * ((uint64_t)x10 * x38)) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + ((0x2 * ((uint64_t)x20 * x28)) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + ((0x2 * ((uint64_t)x28 * x20)) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + ((0x2 * ((uint64_t)x38 * x10)) + ((0x2 * ((uint64_t)x40 * x8)) + ((0x2 * ((uint64_t)x42 * x6)) + (0x2 * ((uint64_t)x41 * x4))))))))))))))))))))))));
- uint64_t x65 = (x64 >> 0x18);
- uint32_t x66 = ((uint32_t)x64 & 0xffffff);
- uint64_t x67 = (x65 + x63);
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x62);
- uint64_t x71 = (x70 >> 0x17);
- uint32_t x72 = ((uint32_t)x70 & 0x7fffff);
- uint64_t x73 = (x71 + x61);
- uint64_t x74 = (x73 >> 0x17);
- uint32_t x75 = ((uint32_t)x73 & 0x7fffff);
- uint64_t x76 = (x74 + x60);
- uint64_t x77 = (x76 >> 0x18);
- uint32_t x78 = ((uint32_t)x76 & 0xffffff);
- uint64_t x79 = (x77 + x59);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x58);
- uint64_t x83 = (x82 >> 0x17);
- uint32_t x84 = ((uint32_t)x82 & 0x7fffff);
- uint64_t x85 = (x83 + x57);
- uint64_t x86 = (x85 >> 0x17);
- uint32_t x87 = ((uint32_t)x85 & 0x7fffff);
- uint64_t x88 = (x86 + x56);
- uint64_t x89 = (x88 >> 0x18);
- uint32_t x90 = ((uint32_t)x88 & 0xffffff);
- uint64_t x91 = (x89 + x55);
- uint64_t x92 = (x91 >> 0x17);
- uint32_t x93 = ((uint32_t)x91 & 0x7fffff);
- uint64_t x94 = (x92 + x54);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x53);
- uint64_t x98 = (x97 >> 0x17);
- uint32_t x99 = ((uint32_t)x97 & 0x7fffff);
- uint64_t x100 = (x98 + x52);
- uint64_t x101 = (x100 >> 0x17);
- uint32_t x102 = ((uint32_t)x100 & 0x7fffff);
- uint64_t x103 = (x101 + x51);
- uint64_t x104 = (x103 >> 0x18);
- uint32_t x105 = ((uint32_t)x103 & 0xffffff);
- uint64_t x106 = (x104 + x50);
- uint64_t x107 = (x106 >> 0x17);
- uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- uint64_t x109 = (x107 + x49);
- uint64_t x110 = (x109 >> 0x17);
- uint32_t x111 = ((uint32_t)x109 & 0x7fffff);
- uint64_t x112 = (x110 + x48);
- uint64_t x113 = (x112 >> 0x17);
- uint32_t x114 = ((uint32_t)x112 & 0x7fffff);
- uint64_t x115 = (x113 + x47);
- uint64_t x116 = (x115 >> 0x18);
- uint32_t x117 = ((uint32_t)x115 & 0xffffff);
- uint64_t x118 = (x116 + x46);
- uint64_t x119 = (x118 >> 0x17);
- uint32_t x120 = ((uint32_t)x118 & 0x7fffff);
- uint64_t x121 = (x119 + x45);
- uint64_t x122 = (x121 >> 0x17);
- uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- uint64_t x124 = (x122 + x44);
- uint64_t x125 = (x124 >> 0x17);
- uint32_t x126 = ((uint32_t)x124 & 0x7fffff);
- uint64_t x127 = (x125 + x43);
- uint64_t x128 = (x127 >> 0x17);
- uint32_t x129 = ((uint32_t)x127 & 0x7fffff);
- uint64_t x130 = (x66 + (0xbb * x128));
- uint32_t x131 = (uint32_t) (x130 >> 0x18);
- uint32_t x132 = ((uint32_t)x130 & 0xffffff);
- uint32_t x133 = (x131 + x69);
- uint32_t x134 = (x133 >> 0x17);
- uint32_t x135 = (x133 & 0x7fffff);
- return (Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x134 + x72), Return x135, Return x132))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.v b/src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.v
deleted file mode 100644
index e7fbb69c5..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fesub.c b/src/Specific/solinas32_2e511m187_22limbs/fesub.c
deleted file mode 100644
index 205cbc01b..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesub.c
+++ /dev/null
@@ -1,69 +0,0 @@
-static void fesub(uint32_t out[22], const uint32_t in1[22], const uint32_t in2[22]) {
- { const uint32_t x44 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x86 = in2[21];
- { const uint32_t x87 = in2[20];
- { const uint32_t x85 = in2[19];
- { const uint32_t x83 = in2[18];
- { const uint32_t x81 = in2[17];
- { const uint32_t x79 = in2[16];
- { const uint32_t x77 = in2[15];
- { const uint32_t x75 = in2[14];
- { const uint32_t x73 = in2[13];
- { const uint32_t x71 = in2[12];
- { const uint32_t x69 = in2[11];
- { const uint32_t x67 = in2[10];
- { const uint32_t x65 = in2[9];
- { const uint32_t x63 = in2[8];
- { const uint32_t x61 = in2[7];
- { const uint32_t x59 = in2[6];
- { const uint32_t x57 = in2[5];
- { const uint32_t x55 = in2[4];
- { const uint32_t x53 = in2[3];
- { const uint32_t x51 = in2[2];
- { const uint32_t x49 = in2[1];
- { const uint32_t x47 = in2[0];
- out[0] = ((0x1fffe8a + x5) - x47);
- out[1] = ((0xfffffe + x7) - x49);
- out[2] = ((0xfffffe + x9) - x51);
- out[3] = ((0xfffffe + x11) - x53);
- out[4] = ((0x1fffffe + x13) - x55);
- out[5] = ((0xfffffe + x15) - x57);
- out[6] = ((0xfffffe + x17) - x59);
- out[7] = ((0xfffffe + x19) - x61);
- out[8] = ((0x1fffffe + x21) - x63);
- out[9] = ((0xfffffe + x23) - x65);
- out[10] = ((0xfffffe + x25) - x67);
- out[11] = ((0xfffffe + x27) - x69);
- out[12] = ((0xfffffe + x29) - x71);
- out[13] = ((0x1fffffe + x31) - x73);
- out[14] = ((0xfffffe + x33) - x75);
- out[15] = ((0xfffffe + x35) - x77);
- out[16] = ((0xfffffe + x37) - x79);
- out[17] = ((0x1fffffe + x39) - x81);
- out[18] = ((0xfffffe + x41) - x83);
- out[19] = ((0xfffffe + x43) - x85);
- out[20] = ((0xfffffe + x45) - x87);
- out[21] = ((0xfffffe + x44) - x86);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fesub.v b/src/Specific/solinas32_2e511m187_22limbs/fesub.v
deleted file mode 100644
index a2594d765..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/fesubDisplay.log b/src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.log
deleted file mode 100644
index 054f49d3d..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/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 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x44, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x86, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47))%core,
- (((0xfffffe + x44) - x86), ((0xfffffe + x45) - x87), ((0xfffffe + x43) - x85), ((0xfffffe + x41) - x83), ((0x1fffffe + x39) - x81), ((0xfffffe + x37) - x79), ((0xfffffe + x35) - x77), ((0xfffffe + x33) - x75), ((0x1fffffe + x31) - x73), ((0xfffffe + x29) - x71), ((0xfffffe + x27) - x69), ((0xfffffe + x25) - x67), ((0xfffffe + x23) - x65), ((0x1fffffe + x21) - x63), ((0xfffffe + x19) - x61), ((0xfffffe + x17) - x59), ((0xfffffe + x15) - x57), ((0x1fffffe + x13) - x55), ((0xfffffe + x11) - x53), ((0xfffffe + x9) - x51), ((0xfffffe + x7) - x49), ((0x1fffe8a + x5) - x47)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.v b/src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.v
deleted file mode 100644
index 6b4a495c7..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e511m187_22limbs/freeze.c b/src/Specific/solinas32_2e511m187_22limbs/freeze.c
deleted file mode 100644
index a256a11e3..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/freeze.c
+++ /dev/null
@@ -1,114 +0,0 @@
-static void freeze(uint32_t out[22], const uint32_t in1[22]) {
- { const uint32_t x41 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff45);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x4, 0x7fffff);
- { uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x6, 0x7fffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x8, 0x7fffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x10, 0xffffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x12, 0x7fffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x14, 0x7fffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x16, 0x7fffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x18, 0xffffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x20, 0x7fffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x22, 0x7fffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x24, 0x7fffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x26, 0x7fffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x28, 0xffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x30, 0x7fffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x32, 0x7fffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x34, 0x7fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x36, 0xffffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x38, 0x7fffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x40, 0x7fffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x42, 0x7fffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x41, 0x7fffff);
- { uint32_t x109 = cmovznz32(x108, 0x0, 0xffffffff);
- { uint32_t x110 = (x109 & 0xffff45);
- { uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x44, Return x110);
- { uint32_t x114 = (x109 & 0x7fffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x47, Return x114);
- { uint32_t x118 = (x109 & 0x7fffff);
- { uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x50, Return x118);
- { uint32_t x122 = (x109 & 0x7fffff);
- { uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x53, Return x122);
- { uint32_t x126 = (x109 & 0xffffff);
- { uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x56, Return x126);
- { uint32_t x130 = (x109 & 0x7fffff);
- { uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x59, Return x130);
- { uint32_t x134 = (x109 & 0x7fffff);
- { uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x62, Return x134);
- { uint32_t x138 = (x109 & 0x7fffff);
- { uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x65, Return x138);
- { uint32_t x142 = (x109 & 0xffffff);
- { uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x68, Return x142);
- { uint32_t x146 = (x109 & 0x7fffff);
- { uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x71, Return x146);
- { uint32_t x150 = (x109 & 0x7fffff);
- { uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x74, Return x150);
- { uint32_t x154 = (x109 & 0x7fffff);
- { uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x77, Return x154);
- { uint32_t x158 = (x109 & 0x7fffff);
- { uint32_t x160, uint8_t x161 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x80, Return x158);
- { uint32_t x162 = (x109 & 0xffffff);
- { uint32_t x164, uint8_t x165 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x161, Return x83, Return x162);
- { uint32_t x166 = (x109 & 0x7fffff);
- { uint32_t x168, uint8_t x169 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x165, Return x86, Return x166);
- { uint32_t x170 = (x109 & 0x7fffff);
- { uint32_t x172, uint8_t x173 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x169, Return x89, Return x170);
- { uint32_t x174 = (x109 & 0x7fffff);
- { uint32_t x176, uint8_t x177 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x173, Return x92, Return x174);
- { uint32_t x178 = (x109 & 0xffffff);
- { uint32_t x180, uint8_t x181 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x177, Return x95, Return x178);
- { uint32_t x182 = (x109 & 0x7fffff);
- { uint32_t x184, uint8_t x185 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x181, Return x98, Return x182);
- { uint32_t x186 = (x109 & 0x7fffff);
- { uint32_t x188, uint8_t x189 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x185, Return x101, Return x186);
- { uint32_t x190 = (x109 & 0x7fffff);
- { uint32_t x192, uint8_t x193 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x189, Return x104, Return x190);
- { uint32_t x194 = (x109 & 0x7fffff);
- { uint32_t x196, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x193, Return x107, Return x194);
- out[0] = x112;
- out[1] = x116;
- out[2] = x120;
- out[3] = x124;
- out[4] = x128;
- out[5] = x132;
- out[6] = x136;
- out[7] = x140;
- out[8] = x144;
- out[9] = x148;
- out[10] = x152;
- out[11] = x156;
- out[12] = x160;
- out[13] = x164;
- out[14] = x168;
- out[15] = x172;
- out[16] = x176;
- out[17] = x180;
- out[18] = x184;
- out[19] = x188;
- out[20] = x192;
- out[21] = x196;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_22limbs/freeze.v b/src/Specific/solinas32_2e511m187_22limbs/freeze.v
deleted file mode 100644
index 8f7e348b3..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.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_2e511m187_22limbs/freezeDisplay.log b/src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.log
deleted file mode 100644
index c068076ae..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.log
+++ /dev/null
@@ -1,74 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x41, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xffff45);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x4, 0x7fffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x6, 0x7fffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x8, 0x7fffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x10, 0xffffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x12, 0x7fffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x14, 0x7fffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x16, 0x7fffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x18, 0xffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x20, 0x7fffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x22, 0x7fffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x24, 0x7fffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x26, 0x7fffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x28, 0xffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x30, 0x7fffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x32, 0x7fffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x34, 0x7fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x36, 0xffffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x38, 0x7fffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x40, 0x7fffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x42, 0x7fffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x41, 0x7fffff);
- uint32_t x109 = cmovznz32(x108, 0x0, 0xffffffff);
- uint32_t x110 = (x109 & 0xffff45);
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x44, Return x110);
- uint32_t x114 = (x109 & 0x7fffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x47, Return x114);
- uint32_t x118 = (x109 & 0x7fffff);
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x50, Return x118);
- uint32_t x122 = (x109 & 0x7fffff);
- uint32_t x124, uint8_t x125 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x53, Return x122);
- uint32_t x126 = (x109 & 0xffffff);
- uint32_t x128, uint8_t x129 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x125, Return x56, Return x126);
- uint32_t x130 = (x109 & 0x7fffff);
- uint32_t x132, uint8_t x133 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x129, Return x59, Return x130);
- uint32_t x134 = (x109 & 0x7fffff);
- uint32_t x136, uint8_t x137 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x133, Return x62, Return x134);
- uint32_t x138 = (x109 & 0x7fffff);
- uint32_t x140, uint8_t x141 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x137, Return x65, Return x138);
- uint32_t x142 = (x109 & 0xffffff);
- uint32_t x144, uint8_t x145 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x141, Return x68, Return x142);
- uint32_t x146 = (x109 & 0x7fffff);
- uint32_t x148, uint8_t x149 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x145, Return x71, Return x146);
- uint32_t x150 = (x109 & 0x7fffff);
- uint32_t x152, uint8_t x153 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x149, Return x74, Return x150);
- uint32_t x154 = (x109 & 0x7fffff);
- uint32_t x156, uint8_t x157 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x153, Return x77, Return x154);
- uint32_t x158 = (x109 & 0x7fffff);
- uint32_t x160, uint8_t x161 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x157, Return x80, Return x158);
- uint32_t x162 = (x109 & 0xffffff);
- uint32_t x164, uint8_t x165 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x161, Return x83, Return x162);
- uint32_t x166 = (x109 & 0x7fffff);
- uint32_t x168, uint8_t x169 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x165, Return x86, Return x166);
- uint32_t x170 = (x109 & 0x7fffff);
- uint32_t x172, uint8_t x173 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x169, Return x89, Return x170);
- uint32_t x174 = (x109 & 0x7fffff);
- uint32_t x176, uint8_t x177 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x173, Return x92, Return x174);
- uint32_t x178 = (x109 & 0xffffff);
- uint32_t x180, uint8_t x181 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x177, Return x95, Return x178);
- uint32_t x182 = (x109 & 0x7fffff);
- uint32_t x184, uint8_t x185 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x181, Return x98, Return x182);
- uint32_t x186 = (x109 & 0x7fffff);
- uint32_t x188, uint8_t x189 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x185, Return x101, Return x186);
- uint32_t x190 = (x109 & 0x7fffff);
- uint32_t x192, uint8_t x193 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x189, Return x104, Return x190);
- uint32_t x194 = (x109 & 0x7fffff);
- uint32_t x196, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x193, Return x107, Return x194);
- (Return x196, Return x192, Return x188, Return x184, Return x180, Return x176, Return x172, Return x168, Return x164, Return x160, Return x156, Return x152, Return x148, Return x144, Return x140, Return x136, Return x132, Return x128, Return x124, Return x120, Return x116, Return x112))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.v b/src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.v
deleted file mode 100644
index 7b629f620..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_22limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e511m187_22limbs/py_interpreter.sh b/src/Specific/solinas32_2e511m187_22limbs/py_interpreter.sh
deleted file mode 100755
index 6424acd21..000000000
--- a/src/Specific/solinas32_2e511m187_22limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 187' -Dmodulus_bytes='23 + 5/22' -Da24='121665'
diff --git a/src/Specific/solinas32_2e511m187_23limbs/CurveParameters.v b/src/Specific/solinas32_2e511m187_23limbs/CurveParameters.v
deleted file mode 100644
index bae6e9ac3..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 187
-Base: 22 + 5/23
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 23%nat;
- base := 22 + 5/23;
- bitwidth := 32;
- s := 2^511;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 23); [0; 1]]%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_2e511m187_23limbs/Synthesis.v b/src/Specific/solinas32_2e511m187_23limbs/Synthesis.v
deleted file mode 100644
index 019dd5088..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/compiler.sh b/src/Specific/solinas32_2e511m187_23limbs/compiler.sh
deleted file mode 100755
index a43a174f6..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas32_2e511m187_23limbs/compilerxx.sh b/src/Specific/solinas32_2e511m187_23limbs/compilerxx.sh
deleted file mode 100755
index 529512588..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas32_2e511m187_23limbs/feadd.c b/src/Specific/solinas32_2e511m187_23limbs/feadd.c
deleted file mode 100644
index 3ec1f7bb3..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/feadd.c
+++ /dev/null
@@ -1,72 +0,0 @@
-static void feadd(uint32_t out[23], const uint32_t in1[23], const uint32_t in2[23]) {
- { const uint32_t x46 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x90 = in2[22];
- { const uint32_t x91 = in2[21];
- { const uint32_t x89 = in2[20];
- { const uint32_t x87 = in2[19];
- { const uint32_t x85 = in2[18];
- { const uint32_t x83 = in2[17];
- { const uint32_t x81 = in2[16];
- { const uint32_t x79 = in2[15];
- { const uint32_t x77 = in2[14];
- { const uint32_t x75 = in2[13];
- { const uint32_t x73 = in2[12];
- { const uint32_t x71 = in2[11];
- { const uint32_t x69 = in2[10];
- { const uint32_t x67 = in2[9];
- { const uint32_t x65 = in2[8];
- { const uint32_t x63 = in2[7];
- { const uint32_t x61 = in2[6];
- { const uint32_t x59 = in2[5];
- { const uint32_t x57 = in2[4];
- { const uint32_t x55 = in2[3];
- { const uint32_t x53 = in2[2];
- { const uint32_t x51 = in2[1];
- { const uint32_t x49 = in2[0];
- out[0] = (x5 + x49);
- out[1] = (x7 + x51);
- out[2] = (x9 + x53);
- out[3] = (x11 + x55);
- out[4] = (x13 + x57);
- out[5] = (x15 + x59);
- out[6] = (x17 + x61);
- out[7] = (x19 + x63);
- out[8] = (x21 + x65);
- out[9] = (x23 + x67);
- out[10] = (x25 + x69);
- out[11] = (x27 + x71);
- out[12] = (x29 + x73);
- out[13] = (x31 + x75);
- out[14] = (x33 + x77);
- out[15] = (x35 + x79);
- out[16] = (x37 + x81);
- out[17] = (x39 + x83);
- out[18] = (x41 + x85);
- out[19] = (x43 + x87);
- out[20] = (x45 + x89);
- out[21] = (x47 + x91);
- out[22] = (x46 + x90);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_23limbs/feadd.v b/src/Specific/solinas32_2e511m187_23limbs/feadd.v
deleted file mode 100644
index abcde5034..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/feaddDisplay.log b/src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.log
deleted file mode 100644
index c6d6c303e..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x90, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49))%core,
- ((x46 + x90), (x47 + x91), (x45 + x89), (x43 + x87), (x41 + x85), (x39 + x83), (x37 + x81), (x35 + x79), (x33 + x77), (x31 + x75), (x29 + x73), (x27 + x71), (x25 + x69), (x23 + x67), (x21 + x65), (x19 + x63), (x17 + x61), (x15 + x59), (x13 + x57), (x11 + x55), (x9 + x53), (x7 + x51), (x5 + x49)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.v b/src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.v
deleted file mode 100644
index 785bd0373..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fecarry.v b/src/Specific/solinas32_2e511m187_23limbs/fecarry.v
deleted file mode 100644
index 62783b27c..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/fecarryDisplay.v b/src/Specific/solinas32_2e511m187_23limbs/fecarryDisplay.v
deleted file mode 100644
index 85de84826..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e511m187_23limbs/femul.v b/src/Specific/solinas32_2e511m187_23limbs/femul.v
deleted file mode 100644
index 7ab057ece..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/femulDisplay.v b/src/Specific/solinas32_2e511m187_23limbs/femulDisplay.v
deleted file mode 100644
index 48b2db1cb..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fesquare.c b/src/Specific/solinas32_2e511m187_23limbs/fesquare.c
deleted file mode 100644
index 0b95fde93..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesquare.c
+++ /dev/null
@@ -1,146 +0,0 @@
-static void fesquare(uint32_t out[23], const uint32_t in1[23]) {
- { const uint32_t x43 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x45 = (((uint64_t)x2 * x43) + ((0x2 * ((uint64_t)x4 * x44)) + ((0x2 * ((uint64_t)x6 * x42)) + ((0x2 * ((uint64_t)x8 * x40)) + (((uint64_t)x10 * x38) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + (((uint64_t)x38 * x10) + ((0x2 * ((uint64_t)x40 * x8)) + ((0x2 * ((uint64_t)x42 * x6)) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x43 * x2)))))))))))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x44) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0xbb * ((uint64_t)x43 * x43)));
- { uint64_t x47 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + (((uint64_t)x8 * x36) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + (((uint64_t)x36 * x8) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0xbb * (((uint64_t)x44 * x43) + ((uint64_t)x43 * x44))));
- { uint64_t x48 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0xbb * (((uint64_t)x42 * x43) + (((uint64_t)x44 * x44) + ((uint64_t)x43 * x42)))));
- { uint64_t x49 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x40 * x43)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + (0x2 * ((uint64_t)x43 * x40)))))));
- { uint64_t x50 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0xbb * (((uint64_t)x38 * x43) + ((0x2 * ((uint64_t)x40 * x44)) + ((0x2 * ((uint64_t)x42 * x42)) + ((0x2 * ((uint64_t)x44 * x40)) + ((uint64_t)x43 * x38)))))));
- { uint64_t x51 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0xbb * (((uint64_t)x36 * x43) + (((uint64_t)x38 * x44) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (((uint64_t)x44 * x38) + ((uint64_t)x43 * x36))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0xbb * (((uint64_t)x34 * x43) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + ((uint64_t)x43 * x34)))))))));
- { uint64_t x53 = ((((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)x16 * x16) + (((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))))))))))))))) + (0xbb * (((uint64_t)x32 * x43) + (((uint64_t)x34 * x44) + (((uint64_t)x36 * x42) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + (((uint64_t)x42 * x36) + (((uint64_t)x44 * x34) + ((uint64_t)x43 * x32))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x43)) + ((0x2 * ((uint64_t)x32 * x44)) + ((0x2 * ((uint64_t)x34 * x42)) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + ((0x2 * ((uint64_t)x42 * x34)) + ((0x2 * ((uint64_t)x44 * x32)) + (0x2 * ((uint64_t)x43 * x30))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * (((uint64_t)x28 * x43) + ((0x2 * ((uint64_t)x30 * x44)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + ((0x2 * ((uint64_t)x44 * x30)) + ((uint64_t)x43 * x28))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * (((uint64_t)x26 * x43) + (((uint64_t)x28 * x44) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + (((uint64_t)x44 * x28) + ((uint64_t)x43 * x26)))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbb * (((uint64_t)x24 * x43) + (((uint64_t)x26 * x44) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + (((uint64_t)x44 * x26) + ((uint64_t)x43 * x24))))))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbb * ((0x2 * ((uint64_t)x22 * x43)) + ((0x2 * ((uint64_t)x24 * x44)) + ((0x2 * ((uint64_t)x26 * x42)) + ((0x2 * ((uint64_t)x28 * x40)) + ((0x2 * ((uint64_t)x30 * x38)) + ((0x2 * ((uint64_t)x32 * x36)) + ((0x2 * ((uint64_t)x34 * x34)) + ((0x2 * ((uint64_t)x36 * x32)) + ((0x2 * ((uint64_t)x38 * x30)) + ((0x2 * ((uint64_t)x40 * x28)) + ((0x2 * ((uint64_t)x42 * x26)) + ((0x2 * ((uint64_t)x44 * x24)) + (0x2 * ((uint64_t)x43 * x22))))))))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbb * (((uint64_t)x20 * x43) + ((0x2 * ((uint64_t)x22 * x44)) + ((0x2 * ((uint64_t)x24 * x42)) + ((0x2 * ((uint64_t)x26 * x40)) + (((uint64_t)x28 * x38) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + (((uint64_t)x38 * x28) + ((0x2 * ((uint64_t)x40 * x26)) + ((0x2 * ((uint64_t)x42 * x24)) + ((0x2 * ((uint64_t)x44 * x22)) + ((uint64_t)x43 * x20))))))))))))))));
- { uint64_t x60 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbb * (((uint64_t)x18 * x43) + (((uint64_t)x20 * x44) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (((uint64_t)x44 * x20) + ((uint64_t)x43 * x18)))))))))))))))));
- { uint64_t x61 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbb * (((uint64_t)x16 * x43) + (((uint64_t)x18 * x44) + (((uint64_t)x20 * x42) + ((0x2 * ((uint64_t)x22 * x40)) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((0x2 * ((uint64_t)x40 * x22)) + (((uint64_t)x42 * x20) + (((uint64_t)x44 * x18) + ((uint64_t)x43 * x16))))))))))))))))));
- { uint64_t x62 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xbb * (((uint64_t)x14 * x43) + (((uint64_t)x16 * x44) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + (((uint64_t)x44 * x16) + ((uint64_t)x43 * x14)))))))))))))))))));
- { uint64_t x63 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint64_t)x12 * x43)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + (((uint64_t)x20 * x38) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (((uint64_t)x38 * x20) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + (0x2 * ((uint64_t)x43 * x12)))))))))))))))))))));
- { uint64_t x64 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbb * (((uint64_t)x10 * x43) + ((0x2 * ((uint64_t)x12 * x44)) + ((0x2 * ((uint64_t)x14 * x42)) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + ((0x2 * ((uint64_t)x42 * x14)) + ((0x2 * ((uint64_t)x44 * x12)) + ((uint64_t)x43 * x10)))))))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbb * (((uint64_t)x8 * x43) + (((uint64_t)x10 * x44) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + (((uint64_t)x44 * x10) + ((uint64_t)x43 * x8))))))))))))))))))))));
- { uint64_t x66 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * (((uint64_t)x6 * x43) + (((uint64_t)x8 * x44) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + (((uint64_t)x44 * x8) + ((uint64_t)x43 * x6)))))))))))))))))))))));
- { uint64_t x67 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x43)) + ((0x2 * ((uint64_t)x6 * x44)) + ((0x2 * ((uint64_t)x8 * x42)) + ((0x2 * ((uint64_t)x10 * x40)) + ((0x2 * ((uint64_t)x12 * x38)) + ((0x2 * ((uint64_t)x14 * x36)) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + ((0x2 * ((uint64_t)x36 * x14)) + ((0x2 * ((uint64_t)x38 * x12)) + ((0x2 * ((uint64_t)x40 * x10)) + ((0x2 * ((uint64_t)x42 * x8)) + ((0x2 * ((uint64_t)x44 * x6)) + (0x2 * ((uint64_t)x43 * x4)))))))))))))))))))))))));
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x66);
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x65);
- { uint64_t x74 = (x73 >> 0x16);
- { uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- { uint64_t x76 = (x74 + x64);
- { uint64_t x77 = (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x77 + x63);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x62);
- { uint64_t x83 = (x82 >> 0x16);
- { uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- { uint64_t x85 = (x83 + x61);
- { uint64_t x86 = (x85 >> 0x16);
- { uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- { uint64_t x88 = (x86 + x60);
- { uint64_t x89 = (x88 >> 0x16);
- { uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- { uint64_t x91 = (x89 + x59);
- { uint64_t x92 = (x91 >> 0x16);
- { uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- { uint64_t x94 = (x92 + x58);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x57);
- { uint64_t x98 = (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x98 + x56);
- { uint64_t x101 = (x100 >> 0x16);
- { uint32_t x102 = ((uint32_t)x100 & 0x3fffff);
- { uint64_t x103 = (x101 + x55);
- { uint64_t x104 = (x103 >> 0x16);
- { uint32_t x105 = ((uint32_t)x103 & 0x3fffff);
- { uint64_t x106 = (x104 + x54);
- { uint64_t x107 = (x106 >> 0x17);
- { uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- { uint64_t x109 = (x107 + x53);
- { uint64_t x110 = (x109 >> 0x16);
- { uint32_t x111 = ((uint32_t)x109 & 0x3fffff);
- { uint64_t x112 = (x110 + x52);
- { uint64_t x113 = (x112 >> 0x16);
- { uint32_t x114 = ((uint32_t)x112 & 0x3fffff);
- { uint64_t x115 = (x113 + x51);
- { uint64_t x116 = (x115 >> 0x16);
- { uint32_t x117 = ((uint32_t)x115 & 0x3fffff);
- { uint64_t x118 = (x116 + x50);
- { uint64_t x119 = (x118 >> 0x16);
- { uint32_t x120 = ((uint32_t)x118 & 0x3fffff);
- { uint64_t x121 = (x119 + x49);
- { uint64_t x122 = (x121 >> 0x17);
- { uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- { uint64_t x124 = (x122 + x48);
- { uint64_t x125 = (x124 >> 0x16);
- { uint32_t x126 = ((uint32_t)x124 & 0x3fffff);
- { uint64_t x127 = (x125 + x47);
- { uint64_t x128 = (x127 >> 0x16);
- { uint32_t x129 = ((uint32_t)x127 & 0x3fffff);
- { uint64_t x130 = (x128 + x46);
- { uint64_t x131 = (x130 >> 0x16);
- { uint32_t x132 = ((uint32_t)x130 & 0x3fffff);
- { uint64_t x133 = (x131 + x45);
- { uint32_t x134 = (uint32_t) (x133 >> 0x16);
- { uint32_t x135 = ((uint32_t)x133 & 0x3fffff);
- { uint64_t x136 = (x69 + ((uint64_t)0xbb * x134));
- { uint32_t x137 = (uint32_t) (x136 >> 0x17);
- { uint32_t x138 = ((uint32_t)x136 & 0x7fffff);
- { uint32_t x139 = (x137 + x72);
- { uint32_t x140 = (x139 >> 0x16);
- { uint32_t x141 = (x139 & 0x3fffff);
- out[0] = x138;
- out[1] = x141;
- out[2] = (x140 + x75);
- out[3] = x78;
- out[4] = x81;
- out[5] = x84;
- out[6] = x87;
- out[7] = x90;
- out[8] = x93;
- out[9] = x96;
- out[10] = x99;
- out[11] = x102;
- out[12] = x105;
- out[13] = x108;
- out[14] = x111;
- out[15] = x114;
- out[16] = x117;
- out[17] = x120;
- out[18] = x123;
- out[19] = x126;
- out[20] = x129;
- out[21] = x132;
- out[22] = x135;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fesquare.v b/src/Specific/solinas32_2e511m187_23limbs/fesquare.v
deleted file mode 100644
index d60704062..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/fesquareDisplay.log b/src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.log
deleted file mode 100644
index d44893b5f..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,104 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x43, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x45 = (((uint64_t)x2 * x43) + ((0x2 * ((uint64_t)x4 * x44)) + ((0x2 * ((uint64_t)x6 * x42)) + ((0x2 * ((uint64_t)x8 * x40)) + (((uint64_t)x10 * x38) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + (((uint64_t)x38 * x10) + ((0x2 * ((uint64_t)x40 * x8)) + ((0x2 * ((uint64_t)x42 * x6)) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x43 * x2)))))))))))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x44) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0xbb * ((uint64_t)x43 * x43)));
- uint64_t x47 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + (((uint64_t)x8 * x36) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + (((uint64_t)x36 * x8) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0xbb * (((uint64_t)x44 * x43) + ((uint64_t)x43 * x44))));
- uint64_t x48 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0xbb * (((uint64_t)x42 * x43) + (((uint64_t)x44 * x44) + ((uint64_t)x43 * x42)))));
- uint64_t x49 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x40 * x43)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + (0x2 * ((uint64_t)x43 * x40)))))));
- uint64_t x50 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0xbb * (((uint64_t)x38 * x43) + ((0x2 * ((uint64_t)x40 * x44)) + ((0x2 * ((uint64_t)x42 * x42)) + ((0x2 * ((uint64_t)x44 * x40)) + ((uint64_t)x43 * x38)))))));
- uint64_t x51 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0xbb * (((uint64_t)x36 * x43) + (((uint64_t)x38 * x44) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (((uint64_t)x44 * x38) + ((uint64_t)x43 * x36))))))));
- uint64_t x52 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0xbb * (((uint64_t)x34 * x43) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + ((uint64_t)x43 * x34)))))))));
- uint64_t x53 = ((((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)x16 * x16) + (((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))))))))))))))) + (0xbb * (((uint64_t)x32 * x43) + (((uint64_t)x34 * x44) + (((uint64_t)x36 * x42) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + (((uint64_t)x42 * x36) + (((uint64_t)x44 * x34) + ((uint64_t)x43 * x32))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0xbb * ((0x2 * ((uint64_t)x30 * x43)) + ((0x2 * ((uint64_t)x32 * x44)) + ((0x2 * ((uint64_t)x34 * x42)) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + ((0x2 * ((uint64_t)x42 * x34)) + ((0x2 * ((uint64_t)x44 * x32)) + (0x2 * ((uint64_t)x43 * x30))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0xbb * (((uint64_t)x28 * x43) + ((0x2 * ((uint64_t)x30 * x44)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + ((0x2 * ((uint64_t)x44 * x30)) + ((uint64_t)x43 * x28))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0xbb * (((uint64_t)x26 * x43) + (((uint64_t)x28 * x44) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + (((uint64_t)x44 * x28) + ((uint64_t)x43 * x26)))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbb * (((uint64_t)x24 * x43) + (((uint64_t)x26 * x44) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + (((uint64_t)x44 * x26) + ((uint64_t)x43 * x24))))))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbb * ((0x2 * ((uint64_t)x22 * x43)) + ((0x2 * ((uint64_t)x24 * x44)) + ((0x2 * ((uint64_t)x26 * x42)) + ((0x2 * ((uint64_t)x28 * x40)) + ((0x2 * ((uint64_t)x30 * x38)) + ((0x2 * ((uint64_t)x32 * x36)) + ((0x2 * ((uint64_t)x34 * x34)) + ((0x2 * ((uint64_t)x36 * x32)) + ((0x2 * ((uint64_t)x38 * x30)) + ((0x2 * ((uint64_t)x40 * x28)) + ((0x2 * ((uint64_t)x42 * x26)) + ((0x2 * ((uint64_t)x44 * x24)) + (0x2 * ((uint64_t)x43 * x22))))))))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbb * (((uint64_t)x20 * x43) + ((0x2 * ((uint64_t)x22 * x44)) + ((0x2 * ((uint64_t)x24 * x42)) + ((0x2 * ((uint64_t)x26 * x40)) + (((uint64_t)x28 * x38) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + (((uint64_t)x38 * x28) + ((0x2 * ((uint64_t)x40 * x26)) + ((0x2 * ((uint64_t)x42 * x24)) + ((0x2 * ((uint64_t)x44 * x22)) + ((uint64_t)x43 * x20))))))))))))))));
- uint64_t x60 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0xbb * (((uint64_t)x18 * x43) + (((uint64_t)x20 * x44) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (((uint64_t)x44 * x20) + ((uint64_t)x43 * x18)))))))))))))))));
- uint64_t x61 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbb * (((uint64_t)x16 * x43) + (((uint64_t)x18 * x44) + (((uint64_t)x20 * x42) + ((0x2 * ((uint64_t)x22 * x40)) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((0x2 * ((uint64_t)x40 * x22)) + (((uint64_t)x42 * x20) + (((uint64_t)x44 * x18) + ((uint64_t)x43 * x16))))))))))))))))));
- uint64_t x62 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xbb * (((uint64_t)x14 * x43) + (((uint64_t)x16 * x44) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + (((uint64_t)x44 * x16) + ((uint64_t)x43 * x14)))))))))))))))))));
- uint64_t x63 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint64_t)x12 * x43)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + (((uint64_t)x20 * x38) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (((uint64_t)x38 * x20) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + (0x2 * ((uint64_t)x43 * x12)))))))))))))))))))));
- uint64_t x64 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbb * (((uint64_t)x10 * x43) + ((0x2 * ((uint64_t)x12 * x44)) + ((0x2 * ((uint64_t)x14 * x42)) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + ((0x2 * ((uint64_t)x42 * x14)) + ((0x2 * ((uint64_t)x44 * x12)) + ((uint64_t)x43 * x10)))))))))))))))))))));
- uint64_t x65 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbb * (((uint64_t)x8 * x43) + (((uint64_t)x10 * x44) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + (((uint64_t)x44 * x10) + ((uint64_t)x43 * x8))))))))))))))))))))));
- uint64_t x66 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbb * (((uint64_t)x6 * x43) + (((uint64_t)x8 * x44) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + (((uint64_t)x44 * x8) + ((uint64_t)x43 * x6)))))))))))))))))))))));
- uint64_t x67 = (((uint64_t)x2 * x2) + (0xbb * ((0x2 * ((uint64_t)x4 * x43)) + ((0x2 * ((uint64_t)x6 * x44)) + ((0x2 * ((uint64_t)x8 * x42)) + ((0x2 * ((uint64_t)x10 * x40)) + ((0x2 * ((uint64_t)x12 * x38)) + ((0x2 * ((uint64_t)x14 * x36)) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + ((0x2 * ((uint64_t)x36 * x14)) + ((0x2 * ((uint64_t)x38 * x12)) + ((0x2 * ((uint64_t)x40 * x10)) + ((0x2 * ((uint64_t)x42 * x8)) + ((0x2 * ((uint64_t)x44 * x6)) + (0x2 * ((uint64_t)x43 * x4)))))))))))))))))))))))));
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x66);
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x65);
- uint64_t x74 = (x73 >> 0x16);
- uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- uint64_t x76 = (x74 + x64);
- uint64_t x77 = (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x77 + x63);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x62);
- uint64_t x83 = (x82 >> 0x16);
- uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- uint64_t x85 = (x83 + x61);
- uint64_t x86 = (x85 >> 0x16);
- uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- uint64_t x88 = (x86 + x60);
- uint64_t x89 = (x88 >> 0x16);
- uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- uint64_t x91 = (x89 + x59);
- uint64_t x92 = (x91 >> 0x16);
- uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- uint64_t x94 = (x92 + x58);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x57);
- uint64_t x98 = (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x98 + x56);
- uint64_t x101 = (x100 >> 0x16);
- uint32_t x102 = ((uint32_t)x100 & 0x3fffff);
- uint64_t x103 = (x101 + x55);
- uint64_t x104 = (x103 >> 0x16);
- uint32_t x105 = ((uint32_t)x103 & 0x3fffff);
- uint64_t x106 = (x104 + x54);
- uint64_t x107 = (x106 >> 0x17);
- uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- uint64_t x109 = (x107 + x53);
- uint64_t x110 = (x109 >> 0x16);
- uint32_t x111 = ((uint32_t)x109 & 0x3fffff);
- uint64_t x112 = (x110 + x52);
- uint64_t x113 = (x112 >> 0x16);
- uint32_t x114 = ((uint32_t)x112 & 0x3fffff);
- uint64_t x115 = (x113 + x51);
- uint64_t x116 = (x115 >> 0x16);
- uint32_t x117 = ((uint32_t)x115 & 0x3fffff);
- uint64_t x118 = (x116 + x50);
- uint64_t x119 = (x118 >> 0x16);
- uint32_t x120 = ((uint32_t)x118 & 0x3fffff);
- uint64_t x121 = (x119 + x49);
- uint64_t x122 = (x121 >> 0x17);
- uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- uint64_t x124 = (x122 + x48);
- uint64_t x125 = (x124 >> 0x16);
- uint32_t x126 = ((uint32_t)x124 & 0x3fffff);
- uint64_t x127 = (x125 + x47);
- uint64_t x128 = (x127 >> 0x16);
- uint32_t x129 = ((uint32_t)x127 & 0x3fffff);
- uint64_t x130 = (x128 + x46);
- uint64_t x131 = (x130 >> 0x16);
- uint32_t x132 = ((uint32_t)x130 & 0x3fffff);
- uint64_t x133 = (x131 + x45);
- uint32_t x134 = (uint32_t) (x133 >> 0x16);
- uint32_t x135 = ((uint32_t)x133 & 0x3fffff);
- uint64_t x136 = (x69 + ((uint64_t)0xbb * x134));
- uint32_t x137 = (uint32_t) (x136 >> 0x17);
- uint32_t x138 = ((uint32_t)x136 & 0x7fffff);
- uint32_t x139 = (x137 + x72);
- uint32_t x140 = (x139 >> 0x16);
- uint32_t x141 = (x139 & 0x3fffff);
- return (Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, (x140 + x75), Return x141, Return x138))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.v b/src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.v
deleted file mode 100644
index e85e7f0fd..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fesub.c b/src/Specific/solinas32_2e511m187_23limbs/fesub.c
deleted file mode 100644
index e4020c8b9..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesub.c
+++ /dev/null
@@ -1,72 +0,0 @@
-static void fesub(uint32_t out[23], const uint32_t in1[23], const uint32_t in2[23]) {
- { const uint32_t x46 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x90 = in2[22];
- { const uint32_t x91 = in2[21];
- { const uint32_t x89 = in2[20];
- { const uint32_t x87 = in2[19];
- { const uint32_t x85 = in2[18];
- { const uint32_t x83 = in2[17];
- { const uint32_t x81 = in2[16];
- { const uint32_t x79 = in2[15];
- { const uint32_t x77 = in2[14];
- { const uint32_t x75 = in2[13];
- { const uint32_t x73 = in2[12];
- { const uint32_t x71 = in2[11];
- { const uint32_t x69 = in2[10];
- { const uint32_t x67 = in2[9];
- { const uint32_t x65 = in2[8];
- { const uint32_t x63 = in2[7];
- { const uint32_t x61 = in2[6];
- { const uint32_t x59 = in2[5];
- { const uint32_t x57 = in2[4];
- { const uint32_t x55 = in2[3];
- { const uint32_t x53 = in2[2];
- { const uint32_t x51 = in2[1];
- { const uint32_t x49 = in2[0];
- out[0] = ((0xfffe8a + x5) - x49);
- out[1] = ((0x7ffffe + x7) - x51);
- out[2] = ((0x7ffffe + x9) - x53);
- out[3] = ((0x7ffffe + x11) - x55);
- out[4] = ((0xfffffe + x13) - x57);
- out[5] = ((0x7ffffe + x15) - x59);
- out[6] = ((0x7ffffe + x17) - x61);
- out[7] = ((0x7ffffe + x19) - x63);
- out[8] = ((0x7ffffe + x21) - x65);
- out[9] = ((0xfffffe + x23) - x67);
- out[10] = ((0x7ffffe + x25) - x69);
- out[11] = ((0x7ffffe + x27) - x71);
- out[12] = ((0x7ffffe + x29) - x73);
- out[13] = ((0xfffffe + x31) - x75);
- out[14] = ((0x7ffffe + x33) - x77);
- out[15] = ((0x7ffffe + x35) - x79);
- out[16] = ((0x7ffffe + x37) - x81);
- out[17] = ((0x7ffffe + x39) - x83);
- out[18] = ((0xfffffe + x41) - x85);
- out[19] = ((0x7ffffe + x43) - x87);
- out[20] = ((0x7ffffe + x45) - x89);
- out[21] = ((0x7ffffe + x47) - x91);
- out[22] = ((0x7ffffe + x46) - x90);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fesub.v b/src/Specific/solinas32_2e511m187_23limbs/fesub.v
deleted file mode 100644
index b8d52e6e9..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/fesubDisplay.log b/src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.log
deleted file mode 100644
index a777c844f..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x90, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49))%core,
- (((0x7ffffe + x46) - x90), ((0x7ffffe + x47) - x91), ((0x7ffffe + x45) - x89), ((0x7ffffe + x43) - x87), ((0xfffffe + x41) - x85), ((0x7ffffe + x39) - x83), ((0x7ffffe + x37) - x81), ((0x7ffffe + x35) - x79), ((0x7ffffe + x33) - x77), ((0xfffffe + x31) - x75), ((0x7ffffe + x29) - x73), ((0x7ffffe + x27) - x71), ((0x7ffffe + x25) - x69), ((0xfffffe + x23) - x67), ((0x7ffffe + x21) - x65), ((0x7ffffe + x19) - x63), ((0x7ffffe + x17) - x61), ((0x7ffffe + x15) - x59), ((0xfffffe + x13) - x57), ((0x7ffffe + x11) - x55), ((0x7ffffe + x9) - x53), ((0x7ffffe + x7) - x51), ((0xfffe8a + x5) - x49)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.v b/src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.v
deleted file mode 100644
index 466b081ab..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e511m187_23limbs/freeze.c b/src/Specific/solinas32_2e511m187_23limbs/freeze.c
deleted file mode 100644
index 60e669a9c..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/freeze.c
+++ /dev/null
@@ -1,119 +0,0 @@
-static void freeze(uint32_t out[23], const uint32_t in1[23]) {
- { const uint32_t x43 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff45);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x4, 0x3fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x6, 0x3fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x8, 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x10, 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x12, 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x14, 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x16, 0x3fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x18, 0x3fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x20, 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x22, 0x3fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x24, 0x3fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x26, 0x3fffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x28, 0x7fffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x30, 0x3fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x32, 0x3fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x34, 0x3fffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x36, 0x3fffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x38, 0x7fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x40, 0x3fffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x42, 0x3fffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x44, 0x3fffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x43, 0x3fffff);
- { uint32_t x114 = cmovznz32(x113, 0x0, 0xffffffff);
- { uint32_t x115 = (x114 & 0x7fff45);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x46, Return x115);
- { uint32_t x119 = (x114 & 0x3fffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x49, Return x119);
- { uint32_t x123 = (x114 & 0x3fffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x52, Return x123);
- { uint32_t x127 = (x114 & 0x3fffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x55, Return x127);
- { uint32_t x131 = (x114 & 0x7fffff);
- { uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x58, Return x131);
- { uint32_t x135 = (x114 & 0x3fffff);
- { uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x61, Return x135);
- { uint32_t x139 = (x114 & 0x3fffff);
- { uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x64, Return x139);
- { uint32_t x143 = (x114 & 0x3fffff);
- { uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x67, Return x143);
- { uint32_t x147 = (x114 & 0x3fffff);
- { uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x70, Return x147);
- { uint32_t x151 = (x114 & 0x7fffff);
- { uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x73, Return x151);
- { uint32_t x155 = (x114 & 0x3fffff);
- { uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x76, Return x155);
- { uint32_t x159 = (x114 & 0x3fffff);
- { uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x79, Return x159);
- { uint32_t x163 = (x114 & 0x3fffff);
- { uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x82, Return x163);
- { uint32_t x167 = (x114 & 0x7fffff);
- { uint32_t x169, uint8_t x170 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x85, Return x167);
- { uint32_t x171 = (x114 & 0x3fffff);
- { uint32_t x173, uint8_t x174 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x170, Return x88, Return x171);
- { uint32_t x175 = (x114 & 0x3fffff);
- { uint32_t x177, uint8_t x178 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x174, Return x91, Return x175);
- { uint32_t x179 = (x114 & 0x3fffff);
- { uint32_t x181, uint8_t x182 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x178, Return x94, Return x179);
- { uint32_t x183 = (x114 & 0x3fffff);
- { uint32_t x185, uint8_t x186 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x182, Return x97, Return x183);
- { uint32_t x187 = (x114 & 0x7fffff);
- { uint32_t x189, uint8_t x190 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x186, Return x100, Return x187);
- { uint32_t x191 = (x114 & 0x3fffff);
- { uint32_t x193, uint8_t x194 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x190, Return x103, Return x191);
- { uint32_t x195 = (x114 & 0x3fffff);
- { uint32_t x197, uint8_t x198 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x194, Return x106, Return x195);
- { uint32_t x199 = (x114 & 0x3fffff);
- { uint32_t x201, uint8_t x202 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x198, Return x109, Return x199);
- { uint32_t x203 = (x114 & 0x3fffff);
- { uint32_t x205, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x202, Return x112, Return x203);
- out[0] = x117;
- out[1] = x121;
- out[2] = x125;
- out[3] = x129;
- out[4] = x133;
- out[5] = x137;
- out[6] = x141;
- out[7] = x145;
- out[8] = x149;
- out[9] = x153;
- out[10] = x157;
- out[11] = x161;
- out[12] = x165;
- out[13] = x169;
- out[14] = x173;
- out[15] = x177;
- out[16] = x181;
- out[17] = x185;
- out[18] = x189;
- out[19] = x193;
- out[20] = x197;
- out[21] = x201;
- out[22] = x205;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m187_23limbs/freeze.v b/src/Specific/solinas32_2e511m187_23limbs/freeze.v
deleted file mode 100644
index ac9bcfe5c..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.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_2e511m187_23limbs/freezeDisplay.log b/src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.log
deleted file mode 100644
index a442982ff..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.log
+++ /dev/null
@@ -1,77 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x43, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7fff45);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x4, 0x3fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x6, 0x3fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x8, 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x10, 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x12, 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x14, 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x16, 0x3fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x18, 0x3fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x20, 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x22, 0x3fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x24, 0x3fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x26, 0x3fffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x28, 0x7fffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x30, 0x3fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x32, 0x3fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x34, 0x3fffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x36, 0x3fffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x38, 0x7fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x40, 0x3fffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x42, 0x3fffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x44, 0x3fffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x43, 0x3fffff);
- uint32_t x114 = cmovznz32(x113, 0x0, 0xffffffff);
- uint32_t x115 = (x114 & 0x7fff45);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x46, Return x115);
- uint32_t x119 = (x114 & 0x3fffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x49, Return x119);
- uint32_t x123 = (x114 & 0x3fffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x52, Return x123);
- uint32_t x127 = (x114 & 0x3fffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x55, Return x127);
- uint32_t x131 = (x114 & 0x7fffff);
- uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x58, Return x131);
- uint32_t x135 = (x114 & 0x3fffff);
- uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x61, Return x135);
- uint32_t x139 = (x114 & 0x3fffff);
- uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x64, Return x139);
- uint32_t x143 = (x114 & 0x3fffff);
- uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x67, Return x143);
- uint32_t x147 = (x114 & 0x3fffff);
- uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x70, Return x147);
- uint32_t x151 = (x114 & 0x7fffff);
- uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x73, Return x151);
- uint32_t x155 = (x114 & 0x3fffff);
- uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x76, Return x155);
- uint32_t x159 = (x114 & 0x3fffff);
- uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x79, Return x159);
- uint32_t x163 = (x114 & 0x3fffff);
- uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x82, Return x163);
- uint32_t x167 = (x114 & 0x7fffff);
- uint32_t x169, uint8_t x170 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x85, Return x167);
- uint32_t x171 = (x114 & 0x3fffff);
- uint32_t x173, uint8_t x174 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x170, Return x88, Return x171);
- uint32_t x175 = (x114 & 0x3fffff);
- uint32_t x177, uint8_t x178 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x174, Return x91, Return x175);
- uint32_t x179 = (x114 & 0x3fffff);
- uint32_t x181, uint8_t x182 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x178, Return x94, Return x179);
- uint32_t x183 = (x114 & 0x3fffff);
- uint32_t x185, uint8_t x186 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x182, Return x97, Return x183);
- uint32_t x187 = (x114 & 0x7fffff);
- uint32_t x189, uint8_t x190 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x186, Return x100, Return x187);
- uint32_t x191 = (x114 & 0x3fffff);
- uint32_t x193, uint8_t x194 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x190, Return x103, Return x191);
- uint32_t x195 = (x114 & 0x3fffff);
- uint32_t x197, uint8_t x198 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x194, Return x106, Return x195);
- uint32_t x199 = (x114 & 0x3fffff);
- uint32_t x201, uint8_t x202 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x198, Return x109, Return x199);
- uint32_t x203 = (x114 & 0x3fffff);
- uint32_t x205, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x202, Return x112, Return x203);
- (Return x205, Return x201, Return x197, Return x193, Return x189, Return x185, Return x181, Return x177, Return x173, Return x169, Return x165, Return x161, Return x157, Return x153, Return x149, Return x145, Return x141, Return x137, Return x133, Return x129, Return x125, Return x121, Return x117))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.v b/src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.v
deleted file mode 100644
index 19b4b09e9..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m187_23limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e511m187_23limbs/py_interpreter.sh b/src/Specific/solinas32_2e511m187_23limbs/py_interpreter.sh
deleted file mode 100755
index a1d2975d2..000000000
--- a/src/Specific/solinas32_2e511m187_23limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 187' -Dmodulus_bytes='22 + 5/23' -Da24='121665'
diff --git a/src/Specific/solinas32_2e511m481_23limbs/CurveParameters.v b/src/Specific/solinas32_2e511m481_23limbs/CurveParameters.v
deleted file mode 100644
index 2279e611b..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 481
-Base: 22 + 5/23
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 23%nat;
- base := 22 + 5/23;
- bitwidth := 32;
- s := 2^511;
- c := [(1, 481)];
- carry_chains := Some [seq 0 (pred 23); [0; 1]]%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_2e511m481_23limbs/Synthesis.v b/src/Specific/solinas32_2e511m481_23limbs/Synthesis.v
deleted file mode 100644
index efe1e8bce..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/compiler.sh b/src/Specific/solinas32_2e511m481_23limbs/compiler.sh
deleted file mode 100755
index 08174fe51..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas32_2e511m481_23limbs/compilerxx.sh b/src/Specific/solinas32_2e511m481_23limbs/compilerxx.sh
deleted file mode 100755
index 23719ca9e..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{23,22,22,22,23,22,22,22,22,23,22,22,22,23,22,22,22,22,23,22,22,22,22}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='23' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas32_2e511m481_23limbs/feadd.c b/src/Specific/solinas32_2e511m481_23limbs/feadd.c
deleted file mode 100644
index 3ec1f7bb3..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/feadd.c
+++ /dev/null
@@ -1,72 +0,0 @@
-static void feadd(uint32_t out[23], const uint32_t in1[23], const uint32_t in2[23]) {
- { const uint32_t x46 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x90 = in2[22];
- { const uint32_t x91 = in2[21];
- { const uint32_t x89 = in2[20];
- { const uint32_t x87 = in2[19];
- { const uint32_t x85 = in2[18];
- { const uint32_t x83 = in2[17];
- { const uint32_t x81 = in2[16];
- { const uint32_t x79 = in2[15];
- { const uint32_t x77 = in2[14];
- { const uint32_t x75 = in2[13];
- { const uint32_t x73 = in2[12];
- { const uint32_t x71 = in2[11];
- { const uint32_t x69 = in2[10];
- { const uint32_t x67 = in2[9];
- { const uint32_t x65 = in2[8];
- { const uint32_t x63 = in2[7];
- { const uint32_t x61 = in2[6];
- { const uint32_t x59 = in2[5];
- { const uint32_t x57 = in2[4];
- { const uint32_t x55 = in2[3];
- { const uint32_t x53 = in2[2];
- { const uint32_t x51 = in2[1];
- { const uint32_t x49 = in2[0];
- out[0] = (x5 + x49);
- out[1] = (x7 + x51);
- out[2] = (x9 + x53);
- out[3] = (x11 + x55);
- out[4] = (x13 + x57);
- out[5] = (x15 + x59);
- out[6] = (x17 + x61);
- out[7] = (x19 + x63);
- out[8] = (x21 + x65);
- out[9] = (x23 + x67);
- out[10] = (x25 + x69);
- out[11] = (x27 + x71);
- out[12] = (x29 + x73);
- out[13] = (x31 + x75);
- out[14] = (x33 + x77);
- out[15] = (x35 + x79);
- out[16] = (x37 + x81);
- out[17] = (x39 + x83);
- out[18] = (x41 + x85);
- out[19] = (x43 + x87);
- out[20] = (x45 + x89);
- out[21] = (x47 + x91);
- out[22] = (x46 + x90);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_23limbs/feadd.v b/src/Specific/solinas32_2e511m481_23limbs/feadd.v
deleted file mode 100644
index b09d5b4fe..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/feaddDisplay.log b/src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.log
deleted file mode 100644
index c6d6c303e..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x90, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49))%core,
- ((x46 + x90), (x47 + x91), (x45 + x89), (x43 + x87), (x41 + x85), (x39 + x83), (x37 + x81), (x35 + x79), (x33 + x77), (x31 + x75), (x29 + x73), (x27 + x71), (x25 + x69), (x23 + x67), (x21 + x65), (x19 + x63), (x17 + x61), (x15 + x59), (x13 + x57), (x11 + x55), (x9 + x53), (x7 + x51), (x5 + x49)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.v b/src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.v
deleted file mode 100644
index 035721b49..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fecarry.v b/src/Specific/solinas32_2e511m481_23limbs/fecarry.v
deleted file mode 100644
index fe3e5f896..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/fecarryDisplay.v b/src/Specific/solinas32_2e511m481_23limbs/fecarryDisplay.v
deleted file mode 100644
index a94c9ce15..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e511m481_23limbs/femul.v b/src/Specific/solinas32_2e511m481_23limbs/femul.v
deleted file mode 100644
index 4d9d6762a..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/femulDisplay.v b/src/Specific/solinas32_2e511m481_23limbs/femulDisplay.v
deleted file mode 100644
index b64e2f0ac..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fesquare.c b/src/Specific/solinas32_2e511m481_23limbs/fesquare.c
deleted file mode 100644
index 932e04c59..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesquare.c
+++ /dev/null
@@ -1,146 +0,0 @@
-static void fesquare(uint32_t out[23], const uint32_t in1[23]) {
- { const uint32_t x43 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x45 = (((uint64_t)x2 * x43) + ((0x2 * ((uint64_t)x4 * x44)) + ((0x2 * ((uint64_t)x6 * x42)) + ((0x2 * ((uint64_t)x8 * x40)) + (((uint64_t)x10 * x38) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + (((uint64_t)x38 * x10) + ((0x2 * ((uint64_t)x40 * x8)) + ((0x2 * ((uint64_t)x42 * x6)) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x43 * x2)))))))))))))))))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x44) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x1e1 * ((uint64_t)x43 * x43)));
- { uint64_t x47 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + (((uint64_t)x8 * x36) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + (((uint64_t)x36 * x8) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x1e1 * (((uint64_t)x44 * x43) + ((uint64_t)x43 * x44))));
- { uint64_t x48 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x1e1 * (((uint64_t)x42 * x43) + (((uint64_t)x44 * x44) + ((uint64_t)x43 * x42)))));
- { uint64_t x49 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x40 * x43)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + (0x2 * ((uint64_t)x43 * x40)))))));
- { uint64_t x50 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1e1 * (((uint64_t)x38 * x43) + ((0x2 * ((uint64_t)x40 * x44)) + ((0x2 * ((uint64_t)x42 * x42)) + ((0x2 * ((uint64_t)x44 * x40)) + ((uint64_t)x43 * x38)))))));
- { uint64_t x51 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1e1 * (((uint64_t)x36 * x43) + (((uint64_t)x38 * x44) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (((uint64_t)x44 * x38) + ((uint64_t)x43 * x36))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1e1 * (((uint64_t)x34 * x43) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + ((uint64_t)x43 * x34)))))))));
- { uint64_t x53 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x1e1 * (((uint64_t)x32 * x43) + (((uint64_t)x34 * x44) + (((uint64_t)x36 * x42) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + (((uint64_t)x42 * x36) + (((uint64_t)x44 * x34) + ((uint64_t)x43 * x32))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x30 * x43)) + ((0x2 * ((uint64_t)x32 * x44)) + ((0x2 * ((uint64_t)x34 * x42)) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + ((0x2 * ((uint64_t)x42 * x34)) + ((0x2 * ((uint64_t)x44 * x32)) + (0x2 * ((uint64_t)x43 * x30))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1e1 * (((uint64_t)x28 * x43) + ((0x2 * ((uint64_t)x30 * x44)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + ((0x2 * ((uint64_t)x44 * x30)) + ((uint64_t)x43 * x28))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1e1 * (((uint64_t)x26 * x43) + (((uint64_t)x28 * x44) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + (((uint64_t)x44 * x28) + ((uint64_t)x43 * x26)))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1e1 * (((uint64_t)x24 * x43) + (((uint64_t)x26 * x44) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + (((uint64_t)x44 * x26) + ((uint64_t)x43 * x24))))))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x22 * x43)) + ((0x2 * ((uint64_t)x24 * x44)) + ((0x2 * ((uint64_t)x26 * x42)) + ((0x2 * ((uint64_t)x28 * x40)) + ((0x2 * ((uint64_t)x30 * x38)) + ((0x2 * ((uint64_t)x32 * x36)) + ((0x2 * ((uint64_t)x34 * x34)) + ((0x2 * ((uint64_t)x36 * x32)) + ((0x2 * ((uint64_t)x38 * x30)) + ((0x2 * ((uint64_t)x40 * x28)) + ((0x2 * ((uint64_t)x42 * x26)) + ((0x2 * ((uint64_t)x44 * x24)) + (0x2 * ((uint64_t)x43 * x22))))))))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1e1 * (((uint64_t)x20 * x43) + ((0x2 * ((uint64_t)x22 * x44)) + ((0x2 * ((uint64_t)x24 * x42)) + ((0x2 * ((uint64_t)x26 * x40)) + (((uint64_t)x28 * x38) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + (((uint64_t)x38 * x28) + ((0x2 * ((uint64_t)x40 * x26)) + ((0x2 * ((uint64_t)x42 * x24)) + ((0x2 * ((uint64_t)x44 * x22)) + ((uint64_t)x43 * x20))))))))))))))));
- { uint64_t x60 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1e1 * (((uint64_t)x18 * x43) + (((uint64_t)x20 * x44) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (((uint64_t)x44 * x20) + ((uint64_t)x43 * x18)))))))))))))))));
- { uint64_t x61 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1e1 * (((uint64_t)x16 * x43) + (((uint64_t)x18 * x44) + (((uint64_t)x20 * x42) + ((0x2 * ((uint64_t)x22 * x40)) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((0x2 * ((uint64_t)x40 * x22)) + (((uint64_t)x42 * x20) + (((uint64_t)x44 * x18) + ((uint64_t)x43 * x16))))))))))))))))));
- { uint64_t x62 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1e1 * (((uint64_t)x14 * x43) + (((uint64_t)x16 * x44) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + (((uint64_t)x44 * x16) + ((uint64_t)x43 * x14)))))))))))))))))));
- { uint64_t x63 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1e1 * ((0x2 * ((uint64_t)x12 * x43)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + (((uint64_t)x20 * x38) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (((uint64_t)x38 * x20) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + (0x2 * ((uint64_t)x43 * x12)))))))))))))))))))));
- { uint64_t x64 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1e1 * (((uint64_t)x10 * x43) + ((0x2 * ((uint64_t)x12 * x44)) + ((0x2 * ((uint64_t)x14 * x42)) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + ((0x2 * ((uint64_t)x42 * x14)) + ((0x2 * ((uint64_t)x44 * x12)) + ((uint64_t)x43 * x10)))))))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1e1 * (((uint64_t)x8 * x43) + (((uint64_t)x10 * x44) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + (((uint64_t)x44 * x10) + ((uint64_t)x43 * x8))))))))))))))))))))));
- { uint64_t x66 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1e1 * (((uint64_t)x6 * x43) + (((uint64_t)x8 * x44) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + (((uint64_t)x44 * x8) + ((uint64_t)x43 * x6)))))))))))))))))))))));
- { uint64_t x67 = (((uint64_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint64_t)x4 * x43)) + ((0x2 * ((uint64_t)x6 * x44)) + ((0x2 * ((uint64_t)x8 * x42)) + ((0x2 * ((uint64_t)x10 * x40)) + ((0x2 * ((uint64_t)x12 * x38)) + ((0x2 * ((uint64_t)x14 * x36)) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + ((0x2 * ((uint64_t)x36 * x14)) + ((0x2 * ((uint64_t)x38 * x12)) + ((0x2 * ((uint64_t)x40 * x10)) + ((0x2 * ((uint64_t)x42 * x8)) + ((0x2 * ((uint64_t)x44 * x6)) + (0x2 * ((uint64_t)x43 * x4)))))))))))))))))))))))));
- { uint64_t x68 = (x67 >> 0x17);
- { uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- { uint64_t x70 = (x68 + x66);
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x65);
- { uint64_t x74 = (x73 >> 0x16);
- { uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- { uint64_t x76 = (x74 + x64);
- { uint64_t x77 = (x76 >> 0x16);
- { uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- { uint64_t x79 = (x77 + x63);
- { uint64_t x80 = (x79 >> 0x17);
- { uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- { uint64_t x82 = (x80 + x62);
- { uint64_t x83 = (x82 >> 0x16);
- { uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- { uint64_t x85 = (x83 + x61);
- { uint64_t x86 = (x85 >> 0x16);
- { uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- { uint64_t x88 = (x86 + x60);
- { uint64_t x89 = (x88 >> 0x16);
- { uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- { uint64_t x91 = (x89 + x59);
- { uint64_t x92 = (x91 >> 0x16);
- { uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- { uint64_t x94 = (x92 + x58);
- { uint64_t x95 = (x94 >> 0x17);
- { uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- { uint64_t x97 = (x95 + x57);
- { uint64_t x98 = (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x98 + x56);
- { uint64_t x101 = (x100 >> 0x16);
- { uint32_t x102 = ((uint32_t)x100 & 0x3fffff);
- { uint64_t x103 = (x101 + x55);
- { uint64_t x104 = (x103 >> 0x16);
- { uint32_t x105 = ((uint32_t)x103 & 0x3fffff);
- { uint64_t x106 = (x104 + x54);
- { uint64_t x107 = (x106 >> 0x17);
- { uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- { uint64_t x109 = (x107 + x53);
- { uint64_t x110 = (x109 >> 0x16);
- { uint32_t x111 = ((uint32_t)x109 & 0x3fffff);
- { uint64_t x112 = (x110 + x52);
- { uint64_t x113 = (x112 >> 0x16);
- { uint32_t x114 = ((uint32_t)x112 & 0x3fffff);
- { uint64_t x115 = (x113 + x51);
- { uint64_t x116 = (x115 >> 0x16);
- { uint32_t x117 = ((uint32_t)x115 & 0x3fffff);
- { uint64_t x118 = (x116 + x50);
- { uint64_t x119 = (x118 >> 0x16);
- { uint32_t x120 = ((uint32_t)x118 & 0x3fffff);
- { uint64_t x121 = (x119 + x49);
- { uint64_t x122 = (x121 >> 0x17);
- { uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- { uint64_t x124 = (x122 + x48);
- { uint64_t x125 = (x124 >> 0x16);
- { uint32_t x126 = ((uint32_t)x124 & 0x3fffff);
- { uint64_t x127 = (x125 + x47);
- { uint64_t x128 = (x127 >> 0x16);
- { uint32_t x129 = ((uint32_t)x127 & 0x3fffff);
- { uint64_t x130 = (x128 + x46);
- { uint64_t x131 = (x130 >> 0x16);
- { uint32_t x132 = ((uint32_t)x130 & 0x3fffff);
- { uint64_t x133 = (x131 + x45);
- { uint32_t x134 = (uint32_t) (x133 >> 0x16);
- { uint32_t x135 = ((uint32_t)x133 & 0x3fffff);
- { uint64_t x136 = (x69 + ((uint64_t)0x1e1 * x134));
- { uint32_t x137 = (uint32_t) (x136 >> 0x17);
- { uint32_t x138 = ((uint32_t)x136 & 0x7fffff);
- { uint32_t x139 = (x137 + x72);
- { uint32_t x140 = (x139 >> 0x16);
- { uint32_t x141 = (x139 & 0x3fffff);
- out[0] = x138;
- out[1] = x141;
- out[2] = (x140 + x75);
- out[3] = x78;
- out[4] = x81;
- out[5] = x84;
- out[6] = x87;
- out[7] = x90;
- out[8] = x93;
- out[9] = x96;
- out[10] = x99;
- out[11] = x102;
- out[12] = x105;
- out[13] = x108;
- out[14] = x111;
- out[15] = x114;
- out[16] = x117;
- out[17] = x120;
- out[18] = x123;
- out[19] = x126;
- out[20] = x129;
- out[21] = x132;
- out[22] = x135;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fesquare.v b/src/Specific/solinas32_2e511m481_23limbs/fesquare.v
deleted file mode 100644
index 453b4bac6..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/fesquareDisplay.log b/src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.log
deleted file mode 100644
index 8e9a96339..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,104 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x43, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x45 = (((uint64_t)x2 * x43) + ((0x2 * ((uint64_t)x4 * x44)) + ((0x2 * ((uint64_t)x6 * x42)) + ((0x2 * ((uint64_t)x8 * x40)) + (((uint64_t)x10 * x38) + ((0x2 * ((uint64_t)x12 * x36)) + ((0x2 * ((uint64_t)x14 * x34)) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + ((0x2 * ((uint64_t)x24 * x24)) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + ((0x2 * ((uint64_t)x34 * x14)) + ((0x2 * ((uint64_t)x36 * x12)) + (((uint64_t)x38 * x10) + ((0x2 * ((uint64_t)x40 * x8)) + ((0x2 * ((uint64_t)x42 * x6)) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x43 * x2)))))))))))))))))))))));
- uint64_t x46 = ((((uint64_t)x2 * x44) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x1e1 * ((uint64_t)x43 * x43)));
- uint64_t x47 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + (((uint64_t)x8 * x36) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + (((uint64_t)x36 * x8) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x1e1 * (((uint64_t)x44 * x43) + ((uint64_t)x43 * x44))));
- uint64_t x48 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x1e1 * (((uint64_t)x42 * x43) + (((uint64_t)x44 * x44) + ((uint64_t)x43 * x42)))));
- uint64_t x49 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x40 * x43)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + (0x2 * ((uint64_t)x43 * x40)))))));
- uint64_t x50 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1e1 * (((uint64_t)x38 * x43) + ((0x2 * ((uint64_t)x40 * x44)) + ((0x2 * ((uint64_t)x42 * x42)) + ((0x2 * ((uint64_t)x44 * x40)) + ((uint64_t)x43 * x38)))))));
- uint64_t x51 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1e1 * (((uint64_t)x36 * x43) + (((uint64_t)x38 * x44) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (((uint64_t)x44 * x38) + ((uint64_t)x43 * x36))))))));
- uint64_t x52 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1e1 * (((uint64_t)x34 * x43) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + ((uint64_t)x43 * x34)))))))));
- uint64_t x53 = ((((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)x16 * x16) + (((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))))))))))))))) + (0x1e1 * (((uint64_t)x32 * x43) + (((uint64_t)x34 * x44) + (((uint64_t)x36 * x42) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + (((uint64_t)x42 * x36) + (((uint64_t)x44 * x34) + ((uint64_t)x43 * x32))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x30 * x43)) + ((0x2 * ((uint64_t)x32 * x44)) + ((0x2 * ((uint64_t)x34 * x42)) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + ((0x2 * ((uint64_t)x42 * x34)) + ((0x2 * ((uint64_t)x44 * x32)) + (0x2 * ((uint64_t)x43 * x30))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1e1 * (((uint64_t)x28 * x43) + ((0x2 * ((uint64_t)x30 * x44)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + ((0x2 * ((uint64_t)x44 * x30)) + ((uint64_t)x43 * x28))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x1e1 * (((uint64_t)x26 * x43) + (((uint64_t)x28 * x44) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + (((uint64_t)x44 * x28) + ((uint64_t)x43 * x26)))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x1e1 * (((uint64_t)x24 * x43) + (((uint64_t)x26 * x44) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + (((uint64_t)x44 * x26) + ((uint64_t)x43 * x24))))))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x22 * x43)) + ((0x2 * ((uint64_t)x24 * x44)) + ((0x2 * ((uint64_t)x26 * x42)) + ((0x2 * ((uint64_t)x28 * x40)) + ((0x2 * ((uint64_t)x30 * x38)) + ((0x2 * ((uint64_t)x32 * x36)) + ((0x2 * ((uint64_t)x34 * x34)) + ((0x2 * ((uint64_t)x36 * x32)) + ((0x2 * ((uint64_t)x38 * x30)) + ((0x2 * ((uint64_t)x40 * x28)) + ((0x2 * ((uint64_t)x42 * x26)) + ((0x2 * ((uint64_t)x44 * x24)) + (0x2 * ((uint64_t)x43 * x22))))))))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1e1 * (((uint64_t)x20 * x43) + ((0x2 * ((uint64_t)x22 * x44)) + ((0x2 * ((uint64_t)x24 * x42)) + ((0x2 * ((uint64_t)x26 * x40)) + (((uint64_t)x28 * x38) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + (((uint64_t)x38 * x28) + ((0x2 * ((uint64_t)x40 * x26)) + ((0x2 * ((uint64_t)x42 * x24)) + ((0x2 * ((uint64_t)x44 * x22)) + ((uint64_t)x43 * x20))))))))))))))));
- uint64_t x60 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x1e1 * (((uint64_t)x18 * x43) + (((uint64_t)x20 * x44) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (((uint64_t)x44 * x20) + ((uint64_t)x43 * x18)))))))))))))))));
- uint64_t x61 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1e1 * (((uint64_t)x16 * x43) + (((uint64_t)x18 * x44) + (((uint64_t)x20 * x42) + ((0x2 * ((uint64_t)x22 * x40)) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((0x2 * ((uint64_t)x40 * x22)) + (((uint64_t)x42 * x20) + (((uint64_t)x44 * x18) + ((uint64_t)x43 * x16))))))))))))))))));
- uint64_t x62 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x1e1 * (((uint64_t)x14 * x43) + (((uint64_t)x16 * x44) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + (((uint64_t)x44 * x16) + ((uint64_t)x43 * x14)))))))))))))))))));
- uint64_t x63 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x1e1 * ((0x2 * ((uint64_t)x12 * x43)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + (((uint64_t)x20 * x38) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (((uint64_t)x38 * x20) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + (0x2 * ((uint64_t)x43 * x12)))))))))))))))))))));
- uint64_t x64 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1e1 * (((uint64_t)x10 * x43) + ((0x2 * ((uint64_t)x12 * x44)) + ((0x2 * ((uint64_t)x14 * x42)) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + ((0x2 * ((uint64_t)x42 * x14)) + ((0x2 * ((uint64_t)x44 * x12)) + ((uint64_t)x43 * x10)))))))))))))))))))));
- uint64_t x65 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1e1 * (((uint64_t)x8 * x43) + (((uint64_t)x10 * x44) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + (((uint64_t)x44 * x10) + ((uint64_t)x43 * x8))))))))))))))))))))));
- uint64_t x66 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1e1 * (((uint64_t)x6 * x43) + (((uint64_t)x8 * x44) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + (((uint64_t)x44 * x8) + ((uint64_t)x43 * x6)))))))))))))))))))))));
- uint64_t x67 = (((uint64_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint64_t)x4 * x43)) + ((0x2 * ((uint64_t)x6 * x44)) + ((0x2 * ((uint64_t)x8 * x42)) + ((0x2 * ((uint64_t)x10 * x40)) + ((0x2 * ((uint64_t)x12 * x38)) + ((0x2 * ((uint64_t)x14 * x36)) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + ((0x2 * ((uint64_t)x36 * x14)) + ((0x2 * ((uint64_t)x38 * x12)) + ((0x2 * ((uint64_t)x40 * x10)) + ((0x2 * ((uint64_t)x42 * x8)) + ((0x2 * ((uint64_t)x44 * x6)) + (0x2 * ((uint64_t)x43 * x4)))))))))))))))))))))))));
- uint64_t x68 = (x67 >> 0x17);
- uint32_t x69 = ((uint32_t)x67 & 0x7fffff);
- uint64_t x70 = (x68 + x66);
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x65);
- uint64_t x74 = (x73 >> 0x16);
- uint32_t x75 = ((uint32_t)x73 & 0x3fffff);
- uint64_t x76 = (x74 + x64);
- uint64_t x77 = (x76 >> 0x16);
- uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
- uint64_t x79 = (x77 + x63);
- uint64_t x80 = (x79 >> 0x17);
- uint32_t x81 = ((uint32_t)x79 & 0x7fffff);
- uint64_t x82 = (x80 + x62);
- uint64_t x83 = (x82 >> 0x16);
- uint32_t x84 = ((uint32_t)x82 & 0x3fffff);
- uint64_t x85 = (x83 + x61);
- uint64_t x86 = (x85 >> 0x16);
- uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
- uint64_t x88 = (x86 + x60);
- uint64_t x89 = (x88 >> 0x16);
- uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- uint64_t x91 = (x89 + x59);
- uint64_t x92 = (x91 >> 0x16);
- uint32_t x93 = ((uint32_t)x91 & 0x3fffff);
- uint64_t x94 = (x92 + x58);
- uint64_t x95 = (x94 >> 0x17);
- uint32_t x96 = ((uint32_t)x94 & 0x7fffff);
- uint64_t x97 = (x95 + x57);
- uint64_t x98 = (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x98 + x56);
- uint64_t x101 = (x100 >> 0x16);
- uint32_t x102 = ((uint32_t)x100 & 0x3fffff);
- uint64_t x103 = (x101 + x55);
- uint64_t x104 = (x103 >> 0x16);
- uint32_t x105 = ((uint32_t)x103 & 0x3fffff);
- uint64_t x106 = (x104 + x54);
- uint64_t x107 = (x106 >> 0x17);
- uint32_t x108 = ((uint32_t)x106 & 0x7fffff);
- uint64_t x109 = (x107 + x53);
- uint64_t x110 = (x109 >> 0x16);
- uint32_t x111 = ((uint32_t)x109 & 0x3fffff);
- uint64_t x112 = (x110 + x52);
- uint64_t x113 = (x112 >> 0x16);
- uint32_t x114 = ((uint32_t)x112 & 0x3fffff);
- uint64_t x115 = (x113 + x51);
- uint64_t x116 = (x115 >> 0x16);
- uint32_t x117 = ((uint32_t)x115 & 0x3fffff);
- uint64_t x118 = (x116 + x50);
- uint64_t x119 = (x118 >> 0x16);
- uint32_t x120 = ((uint32_t)x118 & 0x3fffff);
- uint64_t x121 = (x119 + x49);
- uint64_t x122 = (x121 >> 0x17);
- uint32_t x123 = ((uint32_t)x121 & 0x7fffff);
- uint64_t x124 = (x122 + x48);
- uint64_t x125 = (x124 >> 0x16);
- uint32_t x126 = ((uint32_t)x124 & 0x3fffff);
- uint64_t x127 = (x125 + x47);
- uint64_t x128 = (x127 >> 0x16);
- uint32_t x129 = ((uint32_t)x127 & 0x3fffff);
- uint64_t x130 = (x128 + x46);
- uint64_t x131 = (x130 >> 0x16);
- uint32_t x132 = ((uint32_t)x130 & 0x3fffff);
- uint64_t x133 = (x131 + x45);
- uint32_t x134 = (uint32_t) (x133 >> 0x16);
- uint32_t x135 = ((uint32_t)x133 & 0x3fffff);
- uint64_t x136 = (x69 + ((uint64_t)0x1e1 * x134));
- uint32_t x137 = (uint32_t) (x136 >> 0x17);
- uint32_t x138 = ((uint32_t)x136 & 0x7fffff);
- uint32_t x139 = (x137 + x72);
- uint32_t x140 = (x139 >> 0x16);
- uint32_t x141 = (x139 & 0x3fffff);
- return (Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, (x140 + x75), Return x141, Return x138))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.v b/src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.v
deleted file mode 100644
index 36824d5af..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fesub.c b/src/Specific/solinas32_2e511m481_23limbs/fesub.c
deleted file mode 100644
index e770c9238..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesub.c
+++ /dev/null
@@ -1,72 +0,0 @@
-static void fesub(uint32_t out[23], const uint32_t in1[23], const uint32_t in2[23]) {
- { const uint32_t x46 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x90 = in2[22];
- { const uint32_t x91 = in2[21];
- { const uint32_t x89 = in2[20];
- { const uint32_t x87 = in2[19];
- { const uint32_t x85 = in2[18];
- { const uint32_t x83 = in2[17];
- { const uint32_t x81 = in2[16];
- { const uint32_t x79 = in2[15];
- { const uint32_t x77 = in2[14];
- { const uint32_t x75 = in2[13];
- { const uint32_t x73 = in2[12];
- { const uint32_t x71 = in2[11];
- { const uint32_t x69 = in2[10];
- { const uint32_t x67 = in2[9];
- { const uint32_t x65 = in2[8];
- { const uint32_t x63 = in2[7];
- { const uint32_t x61 = in2[6];
- { const uint32_t x59 = in2[5];
- { const uint32_t x57 = in2[4];
- { const uint32_t x55 = in2[3];
- { const uint32_t x53 = in2[2];
- { const uint32_t x51 = in2[1];
- { const uint32_t x49 = in2[0];
- out[0] = ((0xfffc3e + x5) - x49);
- out[1] = ((0x7ffffe + x7) - x51);
- out[2] = ((0x7ffffe + x9) - x53);
- out[3] = ((0x7ffffe + x11) - x55);
- out[4] = ((0xfffffe + x13) - x57);
- out[5] = ((0x7ffffe + x15) - x59);
- out[6] = ((0x7ffffe + x17) - x61);
- out[7] = ((0x7ffffe + x19) - x63);
- out[8] = ((0x7ffffe + x21) - x65);
- out[9] = ((0xfffffe + x23) - x67);
- out[10] = ((0x7ffffe + x25) - x69);
- out[11] = ((0x7ffffe + x27) - x71);
- out[12] = ((0x7ffffe + x29) - x73);
- out[13] = ((0xfffffe + x31) - x75);
- out[14] = ((0x7ffffe + x33) - x77);
- out[15] = ((0x7ffffe + x35) - x79);
- out[16] = ((0x7ffffe + x37) - x81);
- out[17] = ((0x7ffffe + x39) - x83);
- out[18] = ((0xfffffe + x41) - x85);
- out[19] = ((0x7ffffe + x43) - x87);
- out[20] = ((0x7ffffe + x45) - x89);
- out[21] = ((0x7ffffe + x47) - x91);
- out[22] = ((0x7ffffe + x46) - x90);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fesub.v b/src/Specific/solinas32_2e511m481_23limbs/fesub.v
deleted file mode 100644
index d168af4b3..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/fesubDisplay.log b/src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.log
deleted file mode 100644
index e8081c601..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x90, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49))%core,
- (((0x7ffffe + x46) - x90), ((0x7ffffe + x47) - x91), ((0x7ffffe + x45) - x89), ((0x7ffffe + x43) - x87), ((0xfffffe + x41) - x85), ((0x7ffffe + x39) - x83), ((0x7ffffe + x37) - x81), ((0x7ffffe + x35) - x79), ((0x7ffffe + x33) - x77), ((0xfffffe + x31) - x75), ((0x7ffffe + x29) - x73), ((0x7ffffe + x27) - x71), ((0x7ffffe + x25) - x69), ((0xfffffe + x23) - x67), ((0x7ffffe + x21) - x65), ((0x7ffffe + x19) - x63), ((0x7ffffe + x17) - x61), ((0x7ffffe + x15) - x59), ((0xfffffe + x13) - x57), ((0x7ffffe + x11) - x55), ((0x7ffffe + x9) - x53), ((0x7ffffe + x7) - x51), ((0xfffc3e + x5) - x49)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.v b/src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.v
deleted file mode 100644
index f1c244b04..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e511m481_23limbs/freeze.c b/src/Specific/solinas32_2e511m481_23limbs/freeze.c
deleted file mode 100644
index bc421e9e4..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/freeze.c
+++ /dev/null
@@ -1,119 +0,0 @@
-static void freeze(uint32_t out[23], const uint32_t in1[23]) {
- { const uint32_t x43 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffe1f);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x4, 0x3fffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x6, 0x3fffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x8, 0x3fffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x10, 0x7fffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x12, 0x3fffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x14, 0x3fffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x16, 0x3fffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x18, 0x3fffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x20, 0x7fffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x22, 0x3fffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x24, 0x3fffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x26, 0x3fffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x28, 0x7fffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x30, 0x3fffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x32, 0x3fffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x34, 0x3fffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x36, 0x3fffff);
- { uint32_t x100, uint8_t x101 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x38, 0x7fffff);
- { uint32_t x103, uint8_t x104 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x40, 0x3fffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x42, 0x3fffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x44, 0x3fffff);
- { uint32_t x112, uint8_t x113 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x43, 0x3fffff);
- { uint32_t x114 = cmovznz32(x113, 0x0, 0xffffffff);
- { uint32_t x115 = (x114 & 0x7ffe1f);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x46, Return x115);
- { uint32_t x119 = (x114 & 0x3fffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x49, Return x119);
- { uint32_t x123 = (x114 & 0x3fffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x52, Return x123);
- { uint32_t x127 = (x114 & 0x3fffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x55, Return x127);
- { uint32_t x131 = (x114 & 0x7fffff);
- { uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x58, Return x131);
- { uint32_t x135 = (x114 & 0x3fffff);
- { uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x61, Return x135);
- { uint32_t x139 = (x114 & 0x3fffff);
- { uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x64, Return x139);
- { uint32_t x143 = (x114 & 0x3fffff);
- { uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x67, Return x143);
- { uint32_t x147 = (x114 & 0x3fffff);
- { uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x70, Return x147);
- { uint32_t x151 = (x114 & 0x7fffff);
- { uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x73, Return x151);
- { uint32_t x155 = (x114 & 0x3fffff);
- { uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x76, Return x155);
- { uint32_t x159 = (x114 & 0x3fffff);
- { uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x79, Return x159);
- { uint32_t x163 = (x114 & 0x3fffff);
- { uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x82, Return x163);
- { uint32_t x167 = (x114 & 0x7fffff);
- { uint32_t x169, uint8_t x170 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x85, Return x167);
- { uint32_t x171 = (x114 & 0x3fffff);
- { uint32_t x173, uint8_t x174 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x170, Return x88, Return x171);
- { uint32_t x175 = (x114 & 0x3fffff);
- { uint32_t x177, uint8_t x178 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x174, Return x91, Return x175);
- { uint32_t x179 = (x114 & 0x3fffff);
- { uint32_t x181, uint8_t x182 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x178, Return x94, Return x179);
- { uint32_t x183 = (x114 & 0x3fffff);
- { uint32_t x185, uint8_t x186 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x182, Return x97, Return x183);
- { uint32_t x187 = (x114 & 0x7fffff);
- { uint32_t x189, uint8_t x190 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x186, Return x100, Return x187);
- { uint32_t x191 = (x114 & 0x3fffff);
- { uint32_t x193, uint8_t x194 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x190, Return x103, Return x191);
- { uint32_t x195 = (x114 & 0x3fffff);
- { uint32_t x197, uint8_t x198 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x194, Return x106, Return x195);
- { uint32_t x199 = (x114 & 0x3fffff);
- { uint32_t x201, uint8_t x202 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x198, Return x109, Return x199);
- { uint32_t x203 = (x114 & 0x3fffff);
- { uint32_t x205, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x202, Return x112, Return x203);
- out[0] = x117;
- out[1] = x121;
- out[2] = x125;
- out[3] = x129;
- out[4] = x133;
- out[5] = x137;
- out[6] = x141;
- out[7] = x145;
- out[8] = x149;
- out[9] = x153;
- out[10] = x157;
- out[11] = x161;
- out[12] = x165;
- out[13] = x169;
- out[14] = x173;
- out[15] = x177;
- out[16] = x181;
- out[17] = x185;
- out[18] = x189;
- out[19] = x193;
- out[20] = x197;
- out[21] = x201;
- out[22] = x205;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_23limbs/freeze.v b/src/Specific/solinas32_2e511m481_23limbs/freeze.v
deleted file mode 100644
index 006b005d8..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.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_2e511m481_23limbs/freezeDisplay.log b/src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.log
deleted file mode 100644
index de1f9e30a..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.log
+++ /dev/null
@@ -1,77 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x43, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffe1f);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x4, 0x3fffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x6, 0x3fffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x8, 0x3fffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x10, 0x7fffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x12, 0x3fffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x14, 0x3fffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x16, 0x3fffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x18, 0x3fffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x20, 0x7fffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x22, 0x3fffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x24, 0x3fffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x26, 0x3fffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x28, 0x7fffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x30, 0x3fffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x32, 0x3fffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x34, 0x3fffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x36, 0x3fffff);
- uint32_t x100, uint8_t x101 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x38, 0x7fffff);
- uint32_t x103, uint8_t x104 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x40, 0x3fffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x42, 0x3fffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x44, 0x3fffff);
- uint32_t x112, uint8_t x113 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x43, 0x3fffff);
- uint32_t x114 = cmovznz32(x113, 0x0, 0xffffffff);
- uint32_t x115 = (x114 & 0x7ffe1f);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x46, Return x115);
- uint32_t x119 = (x114 & 0x3fffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x49, Return x119);
- uint32_t x123 = (x114 & 0x3fffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x52, Return x123);
- uint32_t x127 = (x114 & 0x3fffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x55, Return x127);
- uint32_t x131 = (x114 & 0x7fffff);
- uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x58, Return x131);
- uint32_t x135 = (x114 & 0x3fffff);
- uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x61, Return x135);
- uint32_t x139 = (x114 & 0x3fffff);
- uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x64, Return x139);
- uint32_t x143 = (x114 & 0x3fffff);
- uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x67, Return x143);
- uint32_t x147 = (x114 & 0x3fffff);
- uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x70, Return x147);
- uint32_t x151 = (x114 & 0x7fffff);
- uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x73, Return x151);
- uint32_t x155 = (x114 & 0x3fffff);
- uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x76, Return x155);
- uint32_t x159 = (x114 & 0x3fffff);
- uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x79, Return x159);
- uint32_t x163 = (x114 & 0x3fffff);
- uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x82, Return x163);
- uint32_t x167 = (x114 & 0x7fffff);
- uint32_t x169, uint8_t x170 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x85, Return x167);
- uint32_t x171 = (x114 & 0x3fffff);
- uint32_t x173, uint8_t x174 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x170, Return x88, Return x171);
- uint32_t x175 = (x114 & 0x3fffff);
- uint32_t x177, uint8_t x178 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x174, Return x91, Return x175);
- uint32_t x179 = (x114 & 0x3fffff);
- uint32_t x181, uint8_t x182 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x178, Return x94, Return x179);
- uint32_t x183 = (x114 & 0x3fffff);
- uint32_t x185, uint8_t x186 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x182, Return x97, Return x183);
- uint32_t x187 = (x114 & 0x7fffff);
- uint32_t x189, uint8_t x190 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x186, Return x100, Return x187);
- uint32_t x191 = (x114 & 0x3fffff);
- uint32_t x193, uint8_t x194 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x190, Return x103, Return x191);
- uint32_t x195 = (x114 & 0x3fffff);
- uint32_t x197, uint8_t x198 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x194, Return x106, Return x195);
- uint32_t x199 = (x114 & 0x3fffff);
- uint32_t x201, uint8_t x202 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x198, Return x109, Return x199);
- uint32_t x203 = (x114 & 0x3fffff);
- uint32_t x205, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x202, Return x112, Return x203);
- (Return x205, Return x201, Return x197, Return x193, Return x189, Return x185, Return x181, Return x177, Return x173, Return x169, Return x165, Return x161, Return x157, Return x153, Return x149, Return x145, Return x141, Return x137, Return x133, Return x129, Return x125, Return x121, Return x117))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.v b/src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.v
deleted file mode 100644
index 92188dcbe..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_23limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e511m481_23limbs/py_interpreter.sh b/src/Specific/solinas32_2e511m481_23limbs/py_interpreter.sh
deleted file mode 100755
index f56ac3492..000000000
--- a/src/Specific/solinas32_2e511m481_23limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 481' -Dmodulus_bytes='22 + 5/23' -Da24='121665'
diff --git a/src/Specific/solinas32_2e511m481_24limbs/CurveParameters.v b/src/Specific/solinas32_2e511m481_24limbs/CurveParameters.v
deleted file mode 100644
index a30f9f608..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 481
-Base: 21 + 7/24
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 24%nat;
- base := 21 + 7/24;
- bitwidth := 32;
- s := 2^511;
- c := [(1, 481)];
- carry_chains := Some [seq 0 (pred 24); [0; 1]]%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_2e511m481_24limbs/Synthesis.v b/src/Specific/solinas32_2e511m481_24limbs/Synthesis.v
deleted file mode 100644
index 4063d289d..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/compiler.sh b/src/Specific/solinas32_2e511m481_24limbs/compiler.sh
deleted file mode 100755
index eddeea46c..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas32_2e511m481_24limbs/compilerxx.sh b/src/Specific/solinas32_2e511m481_24limbs/compilerxx.sh
deleted file mode 100755
index 640ee4d34..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21,22,21,21,22,21,21,21}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas32_2e511m481_24limbs/feadd.c b/src/Specific/solinas32_2e511m481_24limbs/feadd.c
deleted file mode 100644
index 115132981..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/feadd.c
+++ /dev/null
@@ -1,75 +0,0 @@
-static void feadd(uint32_t out[24], const uint32_t in1[24], const uint32_t in2[24]) {
- { const uint32_t x48 = in1[23];
- { const uint32_t x49 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x94 = in2[23];
- { const uint32_t x95 = in2[22];
- { const uint32_t x93 = in2[21];
- { const uint32_t x91 = in2[20];
- { const uint32_t x89 = in2[19];
- { const uint32_t x87 = in2[18];
- { const uint32_t x85 = in2[17];
- { const uint32_t x83 = in2[16];
- { const uint32_t x81 = in2[15];
- { const uint32_t x79 = in2[14];
- { const uint32_t x77 = in2[13];
- { const uint32_t x75 = in2[12];
- { const uint32_t x73 = in2[11];
- { const uint32_t x71 = in2[10];
- { const uint32_t x69 = in2[9];
- { const uint32_t x67 = in2[8];
- { const uint32_t x65 = in2[7];
- { const uint32_t x63 = in2[6];
- { const uint32_t x61 = in2[5];
- { const uint32_t x59 = in2[4];
- { const uint32_t x57 = in2[3];
- { const uint32_t x55 = in2[2];
- { const uint32_t x53 = in2[1];
- { const uint32_t x51 = in2[0];
- out[0] = (x5 + x51);
- out[1] = (x7 + x53);
- out[2] = (x9 + x55);
- out[3] = (x11 + x57);
- out[4] = (x13 + x59);
- out[5] = (x15 + x61);
- out[6] = (x17 + x63);
- out[7] = (x19 + x65);
- out[8] = (x21 + x67);
- out[9] = (x23 + x69);
- out[10] = (x25 + x71);
- out[11] = (x27 + x73);
- out[12] = (x29 + x75);
- out[13] = (x31 + x77);
- out[14] = (x33 + x79);
- out[15] = (x35 + x81);
- out[16] = (x37 + x83);
- out[17] = (x39 + x85);
- out[18] = (x41 + x87);
- out[19] = (x43 + x89);
- out[20] = (x45 + x91);
- out[21] = (x47 + x93);
- out[22] = (x49 + x95);
- out[23] = (x48 + x94);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_24limbs/feadd.v b/src/Specific/solinas32_2e511m481_24limbs/feadd.v
deleted file mode 100644
index d67400ba4..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/feaddDisplay.log b/src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.log
deleted file mode 100644
index 8ec776f44..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x48, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x94, x95, x93, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51))%core,
- ((x48 + x94), (x49 + x95), (x47 + x93), (x45 + x91), (x43 + x89), (x41 + x87), (x39 + x85), (x37 + x83), (x35 + x81), (x33 + x79), (x31 + x77), (x29 + x75), (x27 + x73), (x25 + x71), (x23 + x69), (x21 + x67), (x19 + x65), (x17 + x63), (x15 + x61), (x13 + x59), (x11 + x57), (x9 + x55), (x7 + x53), (x5 + x51)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.v b/src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.v
deleted file mode 100644
index 0f9d72b8b..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fecarry.v b/src/Specific/solinas32_2e511m481_24limbs/fecarry.v
deleted file mode 100644
index d821afa63..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/fecarryDisplay.v b/src/Specific/solinas32_2e511m481_24limbs/fecarryDisplay.v
deleted file mode 100644
index a18722af9..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e511m481_24limbs/femul.v b/src/Specific/solinas32_2e511m481_24limbs/femul.v
deleted file mode 100644
index 6eb722bd3..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/femulDisplay.v b/src/Specific/solinas32_2e511m481_24limbs/femulDisplay.v
deleted file mode 100644
index 04377712c..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fesquare.c b/src/Specific/solinas32_2e511m481_24limbs/fesquare.c
deleted file mode 100644
index 0b7f1cb44..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesquare.c
+++ /dev/null
@@ -1,152 +0,0 @@
-static void fesquare(uint32_t out[24], const uint32_t in1[24]) {
- { const uint32_t x45 = in1[23];
- { const uint32_t x46 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x47 = (((uint64_t)x2 * x45) + ((0x2 * ((uint64_t)x4 * x46)) + ((0x2 * ((uint64_t)x6 * x44)) + (((uint64_t)x8 * x42) + ((0x2 * ((uint64_t)x10 * x40)) + ((0x2 * ((uint64_t)x12 * x38)) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + ((0x2 * ((uint64_t)x38 * x12)) + ((0x2 * ((uint64_t)x40 * x10)) + (((uint64_t)x42 * x8) + ((0x2 * ((uint64_t)x44 * x6)) + ((0x2 * ((uint64_t)x46 * x4)) + ((uint64_t)x45 * x2))))))))))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x46) + ((0x2 * ((uint64_t)x4 * x44)) + (((uint64_t)x6 * x42) + (((uint64_t)x8 * x40) + ((0x2 * ((uint64_t)x10 * x38)) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + ((0x2 * ((uint64_t)x38 * x10)) + (((uint64_t)x40 * x8) + (((uint64_t)x42 * x6) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x46 * x2))))))))))))))))))))))) + (0x1e1 * ((uint64_t)x45 * x45)));
- { uint64_t x49 = ((((uint64_t)x2 * x44) + (((uint64_t)x4 * x42) + (((uint64_t)x6 * x40) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + (((uint64_t)x40 * x6) + (((uint64_t)x42 * x4) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x1e1 * (((uint64_t)x46 * x45) + ((uint64_t)x45 * x46))));
- { uint64_t x50 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + ((0x2 * ((uint64_t)x6 * x38)) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + ((0x2 * ((uint64_t)x38 * x6)) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x44 * x45)) + ((0x2 * ((uint64_t)x46 * x46)) + (0x2 * ((uint64_t)x45 * x44))))));
- { uint64_t x51 = ((((uint64_t)x2 * x40) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x1e1 * (((uint64_t)x42 * x45) + ((0x2 * ((uint64_t)x44 * x46)) + ((0x2 * ((uint64_t)x46 * x44)) + ((uint64_t)x45 * x42))))));
- { uint64_t x52 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1e1 * (((uint64_t)x40 * x45) + (((uint64_t)x42 * x46) + ((0x2 * ((uint64_t)x44 * x44)) + (((uint64_t)x46 * x42) + ((uint64_t)x45 * x40)))))));
- { uint64_t x53 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x38 * x45)) + ((0x2 * ((uint64_t)x40 * x46)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + ((0x2 * ((uint64_t)x46 * x40)) + (0x2 * ((uint64_t)x45 * x38)))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1e1 * (((uint64_t)x36 * x45) + ((0x2 * ((uint64_t)x38 * x46)) + ((0x2 * ((uint64_t)x40 * x44)) + (((uint64_t)x42 * x42) + ((0x2 * ((uint64_t)x44 * x40)) + ((0x2 * ((uint64_t)x46 * x38)) + ((uint64_t)x45 * x36)))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1e1 * (((uint64_t)x34 * x45) + (((uint64_t)x36 * x46) + ((0x2 * ((uint64_t)x38 * x44)) + (((uint64_t)x40 * x42) + (((uint64_t)x42 * x40) + ((0x2 * ((uint64_t)x44 * x38)) + (((uint64_t)x46 * x36) + ((uint64_t)x45 * x34))))))))));
- { uint64_t x56 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x1e1 * (((uint64_t)x32 * x45) + (((uint64_t)x34 * x46) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + (((uint64_t)x40 * x40) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + (((uint64_t)x46 * x34) + ((uint64_t)x45 * x32)))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x30 * x45)) + ((0x2 * ((uint64_t)x32 * x46)) + ((0x2 * ((uint64_t)x34 * x44)) + (((uint64_t)x36 * x42) + ((0x2 * ((uint64_t)x38 * x40)) + ((0x2 * ((uint64_t)x40 * x38)) + (((uint64_t)x42 * x36) + ((0x2 * ((uint64_t)x44 * x34)) + ((0x2 * ((uint64_t)x46 * x32)) + (0x2 * ((uint64_t)x45 * x30)))))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1e1 * (((uint64_t)x28 * x45) + ((0x2 * ((uint64_t)x30 * x46)) + ((0x2 * ((uint64_t)x32 * x44)) + (((uint64_t)x34 * x42) + (((uint64_t)x36 * x40) + ((0x2 * ((uint64_t)x38 * x38)) + (((uint64_t)x40 * x36) + (((uint64_t)x42 * x34) + ((0x2 * ((uint64_t)x44 * x32)) + ((0x2 * ((uint64_t)x46 * x30)) + ((uint64_t)x45 * x28)))))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1e1 * (((uint64_t)x26 * x45) + (((uint64_t)x28 * x46) + ((0x2 * ((uint64_t)x30 * x44)) + (((uint64_t)x32 * x42) + (((uint64_t)x34 * x40) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + (((uint64_t)x40 * x34) + (((uint64_t)x42 * x32) + ((0x2 * ((uint64_t)x44 * x30)) + (((uint64_t)x46 * x28) + ((uint64_t)x45 * x26))))))))))))));
- { uint64_t x60 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x24 * x45)) + ((0x2 * ((uint64_t)x26 * x46)) + ((0x2 * ((uint64_t)x28 * x44)) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + ((0x2 * ((uint64_t)x44 * x28)) + ((0x2 * ((uint64_t)x46 * x26)) + (0x2 * ((uint64_t)x45 * x24))))))))))))))));
- { uint64_t x61 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1e1 * (((uint64_t)x22 * x45) + ((0x2 * ((uint64_t)x24 * x46)) + ((0x2 * ((uint64_t)x26 * x44)) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + ((0x2 * ((uint64_t)x32 * x38)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + ((0x2 * ((uint64_t)x38 * x32)) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + ((0x2 * ((uint64_t)x44 * x26)) + ((0x2 * ((uint64_t)x46 * x24)) + ((uint64_t)x45 * x22))))))))))))))));
- { uint64_t x62 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1e1 * (((uint64_t)x20 * x45) + (((uint64_t)x22 * x46) + ((0x2 * ((uint64_t)x24 * x44)) + (((uint64_t)x26 * x42) + (((uint64_t)x28 * x40) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + (((uint64_t)x40 * x28) + (((uint64_t)x42 * x26) + ((0x2 * ((uint64_t)x44 * x24)) + (((uint64_t)x46 * x22) + ((uint64_t)x45 * x20)))))))))))))))));
- { uint64_t x63 = ((((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)))))))) + (0x1e1 * (((uint64_t)x18 * x45) + (((uint64_t)x20 * x46) + (((uint64_t)x22 * x44) + (((uint64_t)x24 * x42) + (((uint64_t)x26 * x40) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + (((uint64_t)x40 * x26) + (((uint64_t)x42 * x24) + (((uint64_t)x44 * x22) + (((uint64_t)x46 * x20) + ((uint64_t)x45 * x18))))))))))))))))));
- { uint64_t x64 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1e1 * ((0x2 * ((uint64_t)x16 * x45)) + ((0x2 * ((uint64_t)x18 * x46)) + ((0x2 * ((uint64_t)x20 * x44)) + (((uint64_t)x22 * x42) + ((0x2 * ((uint64_t)x24 * x40)) + ((0x2 * ((uint64_t)x26 * x38)) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + ((0x2 * ((uint64_t)x38 * x26)) + ((0x2 * ((uint64_t)x40 * x24)) + (((uint64_t)x42 * x22) + ((0x2 * ((uint64_t)x44 * x20)) + ((0x2 * ((uint64_t)x46 * x18)) + (0x2 * ((uint64_t)x45 * x16))))))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1e1 * (((uint64_t)x14 * x45) + ((0x2 * ((uint64_t)x16 * x46)) + ((0x2 * ((uint64_t)x18 * x44)) + (((uint64_t)x20 * x42) + (((uint64_t)x22 * x40) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + (((uint64_t)x40 * x22) + (((uint64_t)x42 * x20) + ((0x2 * ((uint64_t)x44 * x18)) + ((0x2 * ((uint64_t)x46 * x16)) + ((uint64_t)x45 * x14))))))))))))))))))));
- { uint64_t x66 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1e1 * (((uint64_t)x12 * x45) + (((uint64_t)x14 * x46) + ((0x2 * ((uint64_t)x16 * x44)) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + ((0x2 * ((uint64_t)x44 * x16)) + (((uint64_t)x46 * x14) + ((uint64_t)x45 * x12)))))))))))))))))))));
- { uint64_t x67 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1e1 * ((0x2 * ((uint64_t)x10 * x45)) + ((0x2 * ((uint64_t)x12 * x46)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + ((0x2 * ((uint64_t)x46 * x12)) + (0x2 * ((uint64_t)x45 * x10)))))))))))))))))))))));
- { uint64_t x68 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1e1 * (((uint64_t)x8 * x45) + ((0x2 * ((uint64_t)x10 * x46)) + ((0x2 * ((uint64_t)x12 * x44)) + (((uint64_t)x14 * x42) + ((0x2 * ((uint64_t)x16 * x40)) + ((0x2 * ((uint64_t)x18 * x38)) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + ((0x2 * ((uint64_t)x38 * x18)) + ((0x2 * ((uint64_t)x40 * x16)) + (((uint64_t)x42 * x14) + ((0x2 * ((uint64_t)x44 * x12)) + ((0x2 * ((uint64_t)x46 * x10)) + ((uint64_t)x45 * x8)))))))))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1e1 * (((uint64_t)x6 * x45) + (((uint64_t)x8 * x46) + ((0x2 * ((uint64_t)x10 * x44)) + (((uint64_t)x12 * x42) + (((uint64_t)x14 * x40) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + (((uint64_t)x40 * x14) + (((uint64_t)x42 * x12) + ((0x2 * ((uint64_t)x44 * x10)) + (((uint64_t)x46 * x8) + ((uint64_t)x45 * x6))))))))))))))))))))))));
- { uint64_t x70 = (((uint64_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint64_t)x4 * x45)) + ((0x2 * ((uint64_t)x6 * x46)) + ((0x2 * ((uint64_t)x8 * x44)) + ((0x2 * ((uint64_t)x10 * x42)) + ((0x2 * ((uint64_t)x12 * x40)) + ((0x2 * ((uint64_t)x14 * x38)) + ((0x2 * ((uint64_t)x16 * x36)) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + ((0x2 * ((uint64_t)x36 * x16)) + ((0x2 * ((uint64_t)x38 * x14)) + ((0x2 * ((uint64_t)x40 * x12)) + ((0x2 * ((uint64_t)x42 * x10)) + ((0x2 * ((uint64_t)x44 * x8)) + ((0x2 * ((uint64_t)x46 * x6)) + (0x2 * ((uint64_t)x45 * x4))))))))))))))))))))))))));
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x69);
- { uint64_t x74 = (x73 >> 0x15);
- { uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- { uint64_t x76 = (x74 + x68);
- { uint64_t x77 = (x76 >> 0x15);
- { uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- { uint64_t x79 = (x77 + x67);
- { uint64_t x80 = (x79 >> 0x16);
- { uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- { uint64_t x82 = (x80 + x66);
- { uint64_t x83 = (x82 >> 0x15);
- { uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- { uint64_t x85 = (x83 + x65);
- { uint64_t x86 = (x85 >> 0x15);
- { uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- { uint64_t x88 = (x86 + x64);
- { uint64_t x89 = (x88 >> 0x16);
- { uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- { uint64_t x91 = (x89 + x63);
- { uint64_t x92 = (x91 >> 0x15);
- { uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- { uint64_t x94 = (x92 + x62);
- { uint64_t x95 = (x94 >> 0x15);
- { uint32_t x96 = ((uint32_t)x94 & 0x1fffff);
- { uint64_t x97 = (x95 + x61);
- { uint64_t x98 = (x97 >> 0x15);
- { uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- { uint64_t x100 = (x98 + x60);
- { uint64_t x101 = (x100 >> 0x16);
- { uint32_t x102 = ((uint32_t)x100 & 0x3fffff);
- { uint64_t x103 = (x101 + x59);
- { uint64_t x104 = (x103 >> 0x15);
- { uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- { uint64_t x106 = (x104 + x58);
- { uint64_t x107 = (x106 >> 0x15);
- { uint32_t x108 = ((uint32_t)x106 & 0x1fffff);
- { uint64_t x109 = (x107 + x57);
- { uint64_t x110 = (x109 >> 0x16);
- { uint32_t x111 = ((uint32_t)x109 & 0x3fffff);
- { uint64_t x112 = (x110 + x56);
- { uint64_t x113 = (x112 >> 0x15);
- { uint32_t x114 = ((uint32_t)x112 & 0x1fffff);
- { uint64_t x115 = (x113 + x55);
- { uint64_t x116 = (x115 >> 0x15);
- { uint32_t x117 = ((uint32_t)x115 & 0x1fffff);
- { uint64_t x118 = (x116 + x54);
- { uint64_t x119 = (x118 >> 0x15);
- { uint32_t x120 = ((uint32_t)x118 & 0x1fffff);
- { uint64_t x121 = (x119 + x53);
- { uint64_t x122 = (x121 >> 0x16);
- { uint32_t x123 = ((uint32_t)x121 & 0x3fffff);
- { uint64_t x124 = (x122 + x52);
- { uint64_t x125 = (x124 >> 0x15);
- { uint32_t x126 = ((uint32_t)x124 & 0x1fffff);
- { uint64_t x127 = (x125 + x51);
- { uint64_t x128 = (x127 >> 0x15);
- { uint32_t x129 = ((uint32_t)x127 & 0x1fffff);
- { uint64_t x130 = (x128 + x50);
- { uint64_t x131 = (x130 >> 0x16);
- { uint32_t x132 = ((uint32_t)x130 & 0x3fffff);
- { uint64_t x133 = (x131 + x49);
- { uint64_t x134 = (x133 >> 0x15);
- { uint32_t x135 = ((uint32_t)x133 & 0x1fffff);
- { uint64_t x136 = (x134 + x48);
- { uint64_t x137 = (x136 >> 0x15);
- { uint32_t x138 = ((uint32_t)x136 & 0x1fffff);
- { uint64_t x139 = (x137 + x47);
- { uint32_t x140 = (uint32_t) (x139 >> 0x15);
- { uint32_t x141 = ((uint32_t)x139 & 0x1fffff);
- { uint64_t x142 = (x72 + ((uint64_t)0x1e1 * x140));
- { uint32_t x143 = (uint32_t) (x142 >> 0x16);
- { uint32_t x144 = ((uint32_t)x142 & 0x3fffff);
- { uint32_t x145 = (x143 + x75);
- { uint32_t x146 = (x145 >> 0x15);
- { uint32_t x147 = (x145 & 0x1fffff);
- out[0] = x144;
- out[1] = x147;
- out[2] = (x146 + x78);
- out[3] = x81;
- out[4] = x84;
- out[5] = x87;
- out[6] = x90;
- out[7] = x93;
- out[8] = x96;
- out[9] = x99;
- out[10] = x102;
- out[11] = x105;
- out[12] = x108;
- out[13] = x111;
- out[14] = x114;
- out[15] = x117;
- out[16] = x120;
- out[17] = x123;
- out[18] = x126;
- out[19] = x129;
- out[20] = x132;
- out[21] = x135;
- out[22] = x138;
- out[23] = x141;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fesquare.v b/src/Specific/solinas32_2e511m481_24limbs/fesquare.v
deleted file mode 100644
index 3bbcd6344..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/fesquareDisplay.log b/src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.log
deleted file mode 100644
index ce2cb65f7..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,108 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x45, x46, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x47 = (((uint64_t)x2 * x45) + ((0x2 * ((uint64_t)x4 * x46)) + ((0x2 * ((uint64_t)x6 * x44)) + (((uint64_t)x8 * x42) + ((0x2 * ((uint64_t)x10 * x40)) + ((0x2 * ((uint64_t)x12 * x38)) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + ((0x2 * ((uint64_t)x18 * x32)) + ((0x2 * ((uint64_t)x20 * x30)) + (((uint64_t)x22 * x28) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + (((uint64_t)x28 * x22) + ((0x2 * ((uint64_t)x30 * x20)) + ((0x2 * ((uint64_t)x32 * x18)) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + ((0x2 * ((uint64_t)x38 * x12)) + ((0x2 * ((uint64_t)x40 * x10)) + (((uint64_t)x42 * x8) + ((0x2 * ((uint64_t)x44 * x6)) + ((0x2 * ((uint64_t)x46 * x4)) + ((uint64_t)x45 * x2))))))))))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x46) + ((0x2 * ((uint64_t)x4 * x44)) + (((uint64_t)x6 * x42) + (((uint64_t)x8 * x40) + ((0x2 * ((uint64_t)x10 * x38)) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + ((0x2 * ((uint64_t)x18 * x30)) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((0x2 * ((uint64_t)x30 * x18)) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + ((0x2 * ((uint64_t)x38 * x10)) + (((uint64_t)x40 * x8) + (((uint64_t)x42 * x6) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x46 * x2))))))))))))))))))))))) + (0x1e1 * ((uint64_t)x45 * x45)));
- uint64_t x49 = ((((uint64_t)x2 * x44) + (((uint64_t)x4 * x42) + (((uint64_t)x6 * x40) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + (((uint64_t)x40 * x6) + (((uint64_t)x42 * x4) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x1e1 * (((uint64_t)x46 * x45) + ((uint64_t)x45 * x46))));
- uint64_t x50 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + ((0x2 * ((uint64_t)x6 * x38)) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + ((0x2 * ((uint64_t)x38 * x6)) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x44 * x45)) + ((0x2 * ((uint64_t)x46 * x46)) + (0x2 * ((uint64_t)x45 * x44))))));
- uint64_t x51 = ((((uint64_t)x2 * x40) + ((0x2 * ((uint64_t)x4 * x38)) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + (((uint64_t)x14 * x28) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + (((uint64_t)x28 * x14) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x1e1 * (((uint64_t)x42 * x45) + ((0x2 * ((uint64_t)x44 * x46)) + ((0x2 * ((uint64_t)x46 * x44)) + ((uint64_t)x45 * x42))))));
- uint64_t x52 = ((((uint64_t)x2 * x38) + (((uint64_t)x4 * x36) + (((uint64_t)x6 * x34) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + (((uint64_t)x34 * x6) + (((uint64_t)x36 * x4) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x1e1 * (((uint64_t)x40 * x45) + (((uint64_t)x42 * x46) + ((0x2 * ((uint64_t)x44 * x44)) + (((uint64_t)x46 * x42) + ((uint64_t)x45 * x40)))))));
- uint64_t x53 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x38 * x45)) + ((0x2 * ((uint64_t)x40 * x46)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + ((0x2 * ((uint64_t)x46 * x40)) + (0x2 * ((uint64_t)x45 * x38)))))))));
- uint64_t x54 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + (((uint64_t)x8 * x28) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + (((uint64_t)x28 * x8) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x1e1 * (((uint64_t)x36 * x45) + ((0x2 * ((uint64_t)x38 * x46)) + ((0x2 * ((uint64_t)x40 * x44)) + (((uint64_t)x42 * x42) + ((0x2 * ((uint64_t)x44 * x40)) + ((0x2 * ((uint64_t)x46 * x38)) + ((uint64_t)x45 * x36)))))))));
- uint64_t x55 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x1e1 * (((uint64_t)x34 * x45) + (((uint64_t)x36 * x46) + ((0x2 * ((uint64_t)x38 * x44)) + (((uint64_t)x40 * x42) + (((uint64_t)x42 * x40) + ((0x2 * ((uint64_t)x44 * x38)) + (((uint64_t)x46 * x36) + ((uint64_t)x45 * x34))))))))));
- uint64_t x56 = ((((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) + ((0x2 * ((uint64_t)x16 * x16)) + (((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))))))))))))))) + (0x1e1 * (((uint64_t)x32 * x45) + (((uint64_t)x34 * x46) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + (((uint64_t)x40 * x40) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + (((uint64_t)x46 * x34) + ((uint64_t)x45 * x32)))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + (((uint64_t)x8 * x22) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + (((uint64_t)x22 * x8) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x30 * x45)) + ((0x2 * ((uint64_t)x32 * x46)) + ((0x2 * ((uint64_t)x34 * x44)) + (((uint64_t)x36 * x42) + ((0x2 * ((uint64_t)x38 * x40)) + ((0x2 * ((uint64_t)x40 * x38)) + (((uint64_t)x42 * x36) + ((0x2 * ((uint64_t)x44 * x34)) + ((0x2 * ((uint64_t)x46 * x32)) + (0x2 * ((uint64_t)x45 * x30)))))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x1e1 * (((uint64_t)x28 * x45) + ((0x2 * ((uint64_t)x30 * x46)) + ((0x2 * ((uint64_t)x32 * x44)) + (((uint64_t)x34 * x42) + (((uint64_t)x36 * x40) + ((0x2 * ((uint64_t)x38 * x38)) + (((uint64_t)x40 * x36) + (((uint64_t)x42 * x34) + ((0x2 * ((uint64_t)x44 * x32)) + ((0x2 * ((uint64_t)x46 * x30)) + ((uint64_t)x45 * x28)))))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x1e1 * (((uint64_t)x26 * x45) + (((uint64_t)x28 * x46) + ((0x2 * ((uint64_t)x30 * x44)) + (((uint64_t)x32 * x42) + (((uint64_t)x34 * x40) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + (((uint64_t)x40 * x34) + (((uint64_t)x42 * x32) + ((0x2 * ((uint64_t)x44 * x30)) + (((uint64_t)x46 * x28) + ((uint64_t)x45 * x26))))))))))))));
- uint64_t x60 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x1e1 * ((0x2 * ((uint64_t)x24 * x45)) + ((0x2 * ((uint64_t)x26 * x46)) + ((0x2 * ((uint64_t)x28 * x44)) + ((0x2 * ((uint64_t)x30 * x42)) + ((0x2 * ((uint64_t)x32 * x40)) + ((0x2 * ((uint64_t)x34 * x38)) + (((uint64_t)x36 * x36) + ((0x2 * ((uint64_t)x38 * x34)) + ((0x2 * ((uint64_t)x40 * x32)) + ((0x2 * ((uint64_t)x42 * x30)) + ((0x2 * ((uint64_t)x44 * x28)) + ((0x2 * ((uint64_t)x46 * x26)) + (0x2 * ((uint64_t)x45 * x24))))))))))))))));
- uint64_t x61 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x1e1 * (((uint64_t)x22 * x45) + ((0x2 * ((uint64_t)x24 * x46)) + ((0x2 * ((uint64_t)x26 * x44)) + (((uint64_t)x28 * x42) + ((0x2 * ((uint64_t)x30 * x40)) + ((0x2 * ((uint64_t)x32 * x38)) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + ((0x2 * ((uint64_t)x38 * x32)) + ((0x2 * ((uint64_t)x40 * x30)) + (((uint64_t)x42 * x28) + ((0x2 * ((uint64_t)x44 * x26)) + ((0x2 * ((uint64_t)x46 * x24)) + ((uint64_t)x45 * x22))))))))))))))));
- uint64_t x62 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x1e1 * (((uint64_t)x20 * x45) + (((uint64_t)x22 * x46) + ((0x2 * ((uint64_t)x24 * x44)) + (((uint64_t)x26 * x42) + (((uint64_t)x28 * x40) + ((0x2 * ((uint64_t)x30 * x38)) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + ((0x2 * ((uint64_t)x38 * x30)) + (((uint64_t)x40 * x28) + (((uint64_t)x42 * x26) + ((0x2 * ((uint64_t)x44 * x24)) + (((uint64_t)x46 * x22) + ((uint64_t)x45 * x20)))))))))))))))));
- uint64_t x63 = ((((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)))))))) + (0x1e1 * (((uint64_t)x18 * x45) + (((uint64_t)x20 * x46) + (((uint64_t)x22 * x44) + (((uint64_t)x24 * x42) + (((uint64_t)x26 * x40) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + (((uint64_t)x40 * x26) + (((uint64_t)x42 * x24) + (((uint64_t)x44 * x22) + (((uint64_t)x46 * x20) + ((uint64_t)x45 * x18))))))))))))))))));
- uint64_t x64 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x1e1 * ((0x2 * ((uint64_t)x16 * x45)) + ((0x2 * ((uint64_t)x18 * x46)) + ((0x2 * ((uint64_t)x20 * x44)) + (((uint64_t)x22 * x42) + ((0x2 * ((uint64_t)x24 * x40)) + ((0x2 * ((uint64_t)x26 * x38)) + (((uint64_t)x28 * x36) + ((0x2 * ((uint64_t)x30 * x34)) + ((0x2 * ((uint64_t)x32 * x32)) + ((0x2 * ((uint64_t)x34 * x30)) + (((uint64_t)x36 * x28) + ((0x2 * ((uint64_t)x38 * x26)) + ((0x2 * ((uint64_t)x40 * x24)) + (((uint64_t)x42 * x22) + ((0x2 * ((uint64_t)x44 * x20)) + ((0x2 * ((uint64_t)x46 * x18)) + (0x2 * ((uint64_t)x45 * x16))))))))))))))))))));
- uint64_t x65 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x1e1 * (((uint64_t)x14 * x45) + ((0x2 * ((uint64_t)x16 * x46)) + ((0x2 * ((uint64_t)x18 * x44)) + (((uint64_t)x20 * x42) + (((uint64_t)x22 * x40) + ((0x2 * ((uint64_t)x24 * x38)) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + ((0x2 * ((uint64_t)x38 * x24)) + (((uint64_t)x40 * x22) + (((uint64_t)x42 * x20) + ((0x2 * ((uint64_t)x44 * x18)) + ((0x2 * ((uint64_t)x46 * x16)) + ((uint64_t)x45 * x14))))))))))))))))))));
- uint64_t x66 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x1e1 * (((uint64_t)x12 * x45) + (((uint64_t)x14 * x46) + ((0x2 * ((uint64_t)x16 * x44)) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + ((0x2 * ((uint64_t)x30 * x30)) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + ((0x2 * ((uint64_t)x44 * x16)) + (((uint64_t)x46 * x14) + ((uint64_t)x45 * x12)))))))))))))))))))));
- uint64_t x67 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x1e1 * ((0x2 * ((uint64_t)x10 * x45)) + ((0x2 * ((uint64_t)x12 * x46)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + ((0x2 * ((uint64_t)x20 * x38)) + (((uint64_t)x22 * x36) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + (((uint64_t)x36 * x22) + ((0x2 * ((uint64_t)x38 * x20)) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + ((0x2 * ((uint64_t)x46 * x12)) + (0x2 * ((uint64_t)x45 * x10)))))))))))))))))))))));
- uint64_t x68 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x1e1 * (((uint64_t)x8 * x45) + ((0x2 * ((uint64_t)x10 * x46)) + ((0x2 * ((uint64_t)x12 * x44)) + (((uint64_t)x14 * x42) + ((0x2 * ((uint64_t)x16 * x40)) + ((0x2 * ((uint64_t)x18 * x38)) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + (((uint64_t)x28 * x28) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + ((0x2 * ((uint64_t)x38 * x18)) + ((0x2 * ((uint64_t)x40 * x16)) + (((uint64_t)x42 * x14) + ((0x2 * ((uint64_t)x44 * x12)) + ((0x2 * ((uint64_t)x46 * x10)) + ((uint64_t)x45 * x8)))))))))))))))))))))));
- uint64_t x69 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x1e1 * (((uint64_t)x6 * x45) + (((uint64_t)x8 * x46) + ((0x2 * ((uint64_t)x10 * x44)) + (((uint64_t)x12 * x42) + (((uint64_t)x14 * x40) + ((0x2 * ((uint64_t)x16 * x38)) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + ((0x2 * ((uint64_t)x24 * x30)) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((0x2 * ((uint64_t)x30 * x24)) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + ((0x2 * ((uint64_t)x38 * x16)) + (((uint64_t)x40 * x14) + (((uint64_t)x42 * x12) + ((0x2 * ((uint64_t)x44 * x10)) + (((uint64_t)x46 * x8) + ((uint64_t)x45 * x6))))))))))))))))))))))));
- uint64_t x70 = (((uint64_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint64_t)x4 * x45)) + ((0x2 * ((uint64_t)x6 * x46)) + ((0x2 * ((uint64_t)x8 * x44)) + ((0x2 * ((uint64_t)x10 * x42)) + ((0x2 * ((uint64_t)x12 * x40)) + ((0x2 * ((uint64_t)x14 * x38)) + ((0x2 * ((uint64_t)x16 * x36)) + ((0x2 * ((uint64_t)x18 * x34)) + ((0x2 * ((uint64_t)x20 * x32)) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + ((0x2 * ((uint64_t)x26 * x26)) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + ((0x2 * ((uint64_t)x32 * x20)) + ((0x2 * ((uint64_t)x34 * x18)) + ((0x2 * ((uint64_t)x36 * x16)) + ((0x2 * ((uint64_t)x38 * x14)) + ((0x2 * ((uint64_t)x40 * x12)) + ((0x2 * ((uint64_t)x42 * x10)) + ((0x2 * ((uint64_t)x44 * x8)) + ((0x2 * ((uint64_t)x46 * x6)) + (0x2 * ((uint64_t)x45 * x4))))))))))))))))))))))))));
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x69);
- uint64_t x74 = (x73 >> 0x15);
- uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- uint64_t x76 = (x74 + x68);
- uint64_t x77 = (x76 >> 0x15);
- uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- uint64_t x79 = (x77 + x67);
- uint64_t x80 = (x79 >> 0x16);
- uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- uint64_t x82 = (x80 + x66);
- uint64_t x83 = (x82 >> 0x15);
- uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- uint64_t x85 = (x83 + x65);
- uint64_t x86 = (x85 >> 0x15);
- uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- uint64_t x88 = (x86 + x64);
- uint64_t x89 = (x88 >> 0x16);
- uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- uint64_t x91 = (x89 + x63);
- uint64_t x92 = (x91 >> 0x15);
- uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- uint64_t x94 = (x92 + x62);
- uint64_t x95 = (x94 >> 0x15);
- uint32_t x96 = ((uint32_t)x94 & 0x1fffff);
- uint64_t x97 = (x95 + x61);
- uint64_t x98 = (x97 >> 0x15);
- uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- uint64_t x100 = (x98 + x60);
- uint64_t x101 = (x100 >> 0x16);
- uint32_t x102 = ((uint32_t)x100 & 0x3fffff);
- uint64_t x103 = (x101 + x59);
- uint64_t x104 = (x103 >> 0x15);
- uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- uint64_t x106 = (x104 + x58);
- uint64_t x107 = (x106 >> 0x15);
- uint32_t x108 = ((uint32_t)x106 & 0x1fffff);
- uint64_t x109 = (x107 + x57);
- uint64_t x110 = (x109 >> 0x16);
- uint32_t x111 = ((uint32_t)x109 & 0x3fffff);
- uint64_t x112 = (x110 + x56);
- uint64_t x113 = (x112 >> 0x15);
- uint32_t x114 = ((uint32_t)x112 & 0x1fffff);
- uint64_t x115 = (x113 + x55);
- uint64_t x116 = (x115 >> 0x15);
- uint32_t x117 = ((uint32_t)x115 & 0x1fffff);
- uint64_t x118 = (x116 + x54);
- uint64_t x119 = (x118 >> 0x15);
- uint32_t x120 = ((uint32_t)x118 & 0x1fffff);
- uint64_t x121 = (x119 + x53);
- uint64_t x122 = (x121 >> 0x16);
- uint32_t x123 = ((uint32_t)x121 & 0x3fffff);
- uint64_t x124 = (x122 + x52);
- uint64_t x125 = (x124 >> 0x15);
- uint32_t x126 = ((uint32_t)x124 & 0x1fffff);
- uint64_t x127 = (x125 + x51);
- uint64_t x128 = (x127 >> 0x15);
- uint32_t x129 = ((uint32_t)x127 & 0x1fffff);
- uint64_t x130 = (x128 + x50);
- uint64_t x131 = (x130 >> 0x16);
- uint32_t x132 = ((uint32_t)x130 & 0x3fffff);
- uint64_t x133 = (x131 + x49);
- uint64_t x134 = (x133 >> 0x15);
- uint32_t x135 = ((uint32_t)x133 & 0x1fffff);
- uint64_t x136 = (x134 + x48);
- uint64_t x137 = (x136 >> 0x15);
- uint32_t x138 = ((uint32_t)x136 & 0x1fffff);
- uint64_t x139 = (x137 + x47);
- uint32_t x140 = (uint32_t) (x139 >> 0x15);
- uint32_t x141 = ((uint32_t)x139 & 0x1fffff);
- uint64_t x142 = (x72 + ((uint64_t)0x1e1 * x140));
- uint32_t x143 = (uint32_t) (x142 >> 0x16);
- uint32_t x144 = ((uint32_t)x142 & 0x3fffff);
- uint32_t x145 = (x143 + x75);
- uint32_t x146 = (x145 >> 0x15);
- uint32_t x147 = (x145 & 0x1fffff);
- return (Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, (x146 + x78), Return x147, Return x144))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.v b/src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.v
deleted file mode 100644
index 89388dd05..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fesub.c b/src/Specific/solinas32_2e511m481_24limbs/fesub.c
deleted file mode 100644
index 54a98b98f..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesub.c
+++ /dev/null
@@ -1,75 +0,0 @@
-static void fesub(uint32_t out[24], const uint32_t in1[24], const uint32_t in2[24]) {
- { const uint32_t x48 = in1[23];
- { const uint32_t x49 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x94 = in2[23];
- { const uint32_t x95 = in2[22];
- { const uint32_t x93 = in2[21];
- { const uint32_t x91 = in2[20];
- { const uint32_t x89 = in2[19];
- { const uint32_t x87 = in2[18];
- { const uint32_t x85 = in2[17];
- { const uint32_t x83 = in2[16];
- { const uint32_t x81 = in2[15];
- { const uint32_t x79 = in2[14];
- { const uint32_t x77 = in2[13];
- { const uint32_t x75 = in2[12];
- { const uint32_t x73 = in2[11];
- { const uint32_t x71 = in2[10];
- { const uint32_t x69 = in2[9];
- { const uint32_t x67 = in2[8];
- { const uint32_t x65 = in2[7];
- { const uint32_t x63 = in2[6];
- { const uint32_t x61 = in2[5];
- { const uint32_t x59 = in2[4];
- { const uint32_t x57 = in2[3];
- { const uint32_t x55 = in2[2];
- { const uint32_t x53 = in2[1];
- { const uint32_t x51 = in2[0];
- out[0] = ((0x7ffc3e + x5) - x51);
- out[1] = ((0x3ffffe + x7) - x53);
- out[2] = ((0x3ffffe + x9) - x55);
- out[3] = ((0x7ffffe + x11) - x57);
- out[4] = ((0x3ffffe + x13) - x59);
- out[5] = ((0x3ffffe + x15) - x61);
- out[6] = ((0x7ffffe + x17) - x63);
- out[7] = ((0x3ffffe + x19) - x65);
- out[8] = ((0x3ffffe + x21) - x67);
- out[9] = ((0x3ffffe + x23) - x69);
- out[10] = ((0x7ffffe + x25) - x71);
- out[11] = ((0x3ffffe + x27) - x73);
- out[12] = ((0x3ffffe + x29) - x75);
- out[13] = ((0x7ffffe + x31) - x77);
- out[14] = ((0x3ffffe + x33) - x79);
- out[15] = ((0x3ffffe + x35) - x81);
- out[16] = ((0x3ffffe + x37) - x83);
- out[17] = ((0x7ffffe + x39) - x85);
- out[18] = ((0x3ffffe + x41) - x87);
- out[19] = ((0x3ffffe + x43) - x89);
- out[20] = ((0x7ffffe + x45) - x91);
- out[21] = ((0x3ffffe + x47) - x93);
- out[22] = ((0x3ffffe + x49) - x95);
- out[23] = ((0x3ffffe + x48) - x94);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fesub.v b/src/Specific/solinas32_2e511m481_24limbs/fesub.v
deleted file mode 100644
index 07625eb6b..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/fesubDisplay.log b/src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.log
deleted file mode 100644
index 4128195bf..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x48, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x94, x95, x93, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51))%core,
- (((0x3ffffe + x48) - x94), ((0x3ffffe + x49) - x95), ((0x3ffffe + x47) - x93), ((0x7ffffe + x45) - x91), ((0x3ffffe + x43) - x89), ((0x3ffffe + x41) - x87), ((0x7ffffe + x39) - x85), ((0x3ffffe + x37) - x83), ((0x3ffffe + x35) - x81), ((0x3ffffe + x33) - x79), ((0x7ffffe + x31) - x77), ((0x3ffffe + x29) - x75), ((0x3ffffe + x27) - x73), ((0x7ffffe + x25) - x71), ((0x3ffffe + x23) - x69), ((0x3ffffe + x21) - x67), ((0x3ffffe + x19) - x65), ((0x7ffffe + x17) - x63), ((0x3ffffe + x15) - x61), ((0x3ffffe + x13) - x59), ((0x7ffffe + x11) - x57), ((0x3ffffe + x9) - x55), ((0x3ffffe + x7) - x53), ((0x7ffc3e + x5) - x51)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.v b/src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.v
deleted file mode 100644
index 605ff19b6..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e511m481_24limbs/freeze.c b/src/Specific/solinas32_2e511m481_24limbs/freeze.c
deleted file mode 100644
index e21f4ddee..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/freeze.c
+++ /dev/null
@@ -1,124 +0,0 @@
-static void freeze(uint32_t out[24], const uint32_t in1[24]) {
- { const uint32_t x45 = in1[23];
- { const uint32_t x46 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffe1f);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x4, 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x6, 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x8, 0x3fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x10, 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x12, 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x14, 0x3fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x16, 0x1fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x18, 0x1fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x20, 0x1fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x22, 0x3fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x24, 0x1fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x26, 0x1fffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x28, 0x3fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x30, 0x1fffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x32, 0x1fffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x34, 0x1fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x36, 0x3fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x38, 0x1fffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x40, 0x1fffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x42, 0x3fffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x44, 0x1fffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x46, 0x1fffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x45, 0x1fffff);
- { uint32_t x119 = cmovznz32(x118, 0x0, 0xffffffff);
- { uint32_t x120 = (x119 & 0x3ffe1f);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x48, Return x120);
- { uint32_t x124 = (x119 & 0x1fffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x51, Return x124);
- { uint32_t x128 = (x119 & 0x1fffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x54, Return x128);
- { uint32_t x132 = (x119 & 0x3fffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x57, Return x132);
- { uint32_t x136 = (x119 & 0x1fffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x60, Return x136);
- { uint32_t x140 = (x119 & 0x1fffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x63, Return x140);
- { uint32_t x144 = (x119 & 0x3fffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x66, Return x144);
- { uint32_t x148 = (x119 & 0x1fffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x69, Return x148);
- { uint32_t x152 = (x119 & 0x1fffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x72, Return x152);
- { uint32_t x156 = (x119 & 0x1fffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x75, Return x156);
- { uint32_t x160 = (x119 & 0x3fffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x78, Return x160);
- { uint32_t x164 = (x119 & 0x1fffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x81, Return x164);
- { uint32_t x168 = (x119 & 0x1fffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x84, Return x168);
- { uint32_t x172 = (x119 & 0x3fffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x87, Return x172);
- { uint32_t x176 = (x119 & 0x1fffff);
- { uint32_t x178, uint8_t x179 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x90, Return x176);
- { uint32_t x180 = (x119 & 0x1fffff);
- { uint32_t x182, uint8_t x183 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x179, Return x93, Return x180);
- { uint32_t x184 = (x119 & 0x1fffff);
- { uint32_t x186, uint8_t x187 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x183, Return x96, Return x184);
- { uint32_t x188 = (x119 & 0x3fffff);
- { uint32_t x190, uint8_t x191 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x187, Return x99, Return x188);
- { uint32_t x192 = (x119 & 0x1fffff);
- { uint32_t x194, uint8_t x195 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x191, Return x102, Return x192);
- { uint32_t x196 = (x119 & 0x1fffff);
- { uint32_t x198, uint8_t x199 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x195, Return x105, Return x196);
- { uint32_t x200 = (x119 & 0x3fffff);
- { uint32_t x202, uint8_t x203 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x199, Return x108, Return x200);
- { uint32_t x204 = (x119 & 0x1fffff);
- { uint32_t x206, uint8_t x207 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x203, Return x111, Return x204);
- { uint32_t x208 = (x119 & 0x1fffff);
- { uint32_t x210, uint8_t x211 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x207, Return x114, Return x208);
- { uint32_t x212 = (x119 & 0x1fffff);
- { uint32_t x214, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x211, Return x117, Return x212);
- out[0] = x122;
- out[1] = x126;
- out[2] = x130;
- out[3] = x134;
- out[4] = x138;
- out[5] = x142;
- out[6] = x146;
- out[7] = x150;
- out[8] = x154;
- out[9] = x158;
- out[10] = x162;
- out[11] = x166;
- out[12] = x170;
- out[13] = x174;
- out[14] = x178;
- out[15] = x182;
- out[16] = x186;
- out[17] = x190;
- out[18] = x194;
- out[19] = x198;
- out[20] = x202;
- out[21] = x206;
- out[22] = x210;
- out[23] = x214;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e511m481_24limbs/freeze.v b/src/Specific/solinas32_2e511m481_24limbs/freeze.v
deleted file mode 100644
index 72dc11d57..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.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_2e511m481_24limbs/freezeDisplay.log b/src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.log
deleted file mode 100644
index 2aced0ce3..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x45, x46, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffe1f);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x4, 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x6, 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x8, 0x3fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x10, 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x12, 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x14, 0x3fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x16, 0x1fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x18, 0x1fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x20, 0x1fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x22, 0x3fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x24, 0x1fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x26, 0x1fffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x28, 0x3fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x30, 0x1fffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x32, 0x1fffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x34, 0x1fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x36, 0x3fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x38, 0x1fffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x40, 0x1fffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x42, 0x3fffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x44, 0x1fffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x46, 0x1fffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x45, 0x1fffff);
- uint32_t x119 = cmovznz32(x118, 0x0, 0xffffffff);
- uint32_t x120 = (x119 & 0x3ffe1f);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x48, Return x120);
- uint32_t x124 = (x119 & 0x1fffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x51, Return x124);
- uint32_t x128 = (x119 & 0x1fffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x54, Return x128);
- uint32_t x132 = (x119 & 0x3fffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x57, Return x132);
- uint32_t x136 = (x119 & 0x1fffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x60, Return x136);
- uint32_t x140 = (x119 & 0x1fffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x63, Return x140);
- uint32_t x144 = (x119 & 0x3fffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x66, Return x144);
- uint32_t x148 = (x119 & 0x1fffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x69, Return x148);
- uint32_t x152 = (x119 & 0x1fffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x72, Return x152);
- uint32_t x156 = (x119 & 0x1fffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x75, Return x156);
- uint32_t x160 = (x119 & 0x3fffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x78, Return x160);
- uint32_t x164 = (x119 & 0x1fffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x81, Return x164);
- uint32_t x168 = (x119 & 0x1fffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x84, Return x168);
- uint32_t x172 = (x119 & 0x3fffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x87, Return x172);
- uint32_t x176 = (x119 & 0x1fffff);
- uint32_t x178, uint8_t x179 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x90, Return x176);
- uint32_t x180 = (x119 & 0x1fffff);
- uint32_t x182, uint8_t x183 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x179, Return x93, Return x180);
- uint32_t x184 = (x119 & 0x1fffff);
- uint32_t x186, uint8_t x187 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x183, Return x96, Return x184);
- uint32_t x188 = (x119 & 0x3fffff);
- uint32_t x190, uint8_t x191 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x187, Return x99, Return x188);
- uint32_t x192 = (x119 & 0x1fffff);
- uint32_t x194, uint8_t x195 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x191, Return x102, Return x192);
- uint32_t x196 = (x119 & 0x1fffff);
- uint32_t x198, uint8_t x199 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x195, Return x105, Return x196);
- uint32_t x200 = (x119 & 0x3fffff);
- uint32_t x202, uint8_t x203 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x199, Return x108, Return x200);
- uint32_t x204 = (x119 & 0x1fffff);
- uint32_t x206, uint8_t x207 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x203, Return x111, Return x204);
- uint32_t x208 = (x119 & 0x1fffff);
- uint32_t x210, uint8_t x211 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x207, Return x114, Return x208);
- uint32_t x212 = (x119 & 0x1fffff);
- uint32_t x214, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x211, Return x117, Return x212);
- (Return x214, Return x210, Return x206, Return x202, Return x198, Return x194, Return x190, Return x186, Return x182, Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.v b/src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.v
deleted file mode 100644
index ca9e9bbec..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e511m481_24limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e511m481_24limbs/py_interpreter.sh b/src/Specific/solinas32_2e511m481_24limbs/py_interpreter.sh
deleted file mode 100755
index 82064f834..000000000
--- a/src/Specific/solinas32_2e511m481_24limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 481' -Dmodulus_bytes='21 + 7/24' -Da24='121665'
diff --git a/src/Specific/solinas32_2e512m569_24limbs/CurveParameters.v b/src/Specific/solinas32_2e512m569_24limbs/CurveParameters.v
deleted file mode 100644
index e97a2dd47..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 569
-Base: 21 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 24%nat;
- base := 21 + 1/3;
- bitwidth := 32;
- s := 2^512;
- c := [(1, 569)];
- carry_chains := Some [seq 0 (pred 24); [0; 1]]%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_2e512m569_24limbs/Synthesis.v b/src/Specific/solinas32_2e512m569_24limbs/Synthesis.v
deleted file mode 100644
index 03a60089a..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/compiler.sh b/src/Specific/solinas32_2e512m569_24limbs/compiler.sh
deleted file mode 100755
index 81e5704b4..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas32_2e512m569_24limbs/compilerxx.sh b/src/Specific/solinas32_2e512m569_24limbs/compilerxx.sh
deleted file mode 100755
index b63afa92c..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='24' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas32_2e512m569_24limbs/feadd.c b/src/Specific/solinas32_2e512m569_24limbs/feadd.c
deleted file mode 100644
index 115132981..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/feadd.c
+++ /dev/null
@@ -1,75 +0,0 @@
-static void feadd(uint32_t out[24], const uint32_t in1[24], const uint32_t in2[24]) {
- { const uint32_t x48 = in1[23];
- { const uint32_t x49 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x94 = in2[23];
- { const uint32_t x95 = in2[22];
- { const uint32_t x93 = in2[21];
- { const uint32_t x91 = in2[20];
- { const uint32_t x89 = in2[19];
- { const uint32_t x87 = in2[18];
- { const uint32_t x85 = in2[17];
- { const uint32_t x83 = in2[16];
- { const uint32_t x81 = in2[15];
- { const uint32_t x79 = in2[14];
- { const uint32_t x77 = in2[13];
- { const uint32_t x75 = in2[12];
- { const uint32_t x73 = in2[11];
- { const uint32_t x71 = in2[10];
- { const uint32_t x69 = in2[9];
- { const uint32_t x67 = in2[8];
- { const uint32_t x65 = in2[7];
- { const uint32_t x63 = in2[6];
- { const uint32_t x61 = in2[5];
- { const uint32_t x59 = in2[4];
- { const uint32_t x57 = in2[3];
- { const uint32_t x55 = in2[2];
- { const uint32_t x53 = in2[1];
- { const uint32_t x51 = in2[0];
- out[0] = (x5 + x51);
- out[1] = (x7 + x53);
- out[2] = (x9 + x55);
- out[3] = (x11 + x57);
- out[4] = (x13 + x59);
- out[5] = (x15 + x61);
- out[6] = (x17 + x63);
- out[7] = (x19 + x65);
- out[8] = (x21 + x67);
- out[9] = (x23 + x69);
- out[10] = (x25 + x71);
- out[11] = (x27 + x73);
- out[12] = (x29 + x75);
- out[13] = (x31 + x77);
- out[14] = (x33 + x79);
- out[15] = (x35 + x81);
- out[16] = (x37 + x83);
- out[17] = (x39 + x85);
- out[18] = (x41 + x87);
- out[19] = (x43 + x89);
- out[20] = (x45 + x91);
- out[21] = (x47 + x93);
- out[22] = (x49 + x95);
- out[23] = (x48 + x94);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_24limbs/feadd.v b/src/Specific/solinas32_2e512m569_24limbs/feadd.v
deleted file mode 100644
index 8cf349ebb..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/feaddDisplay.log b/src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.log
deleted file mode 100644
index 8ec776f44..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x48, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x94, x95, x93, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51))%core,
- ((x48 + x94), (x49 + x95), (x47 + x93), (x45 + x91), (x43 + x89), (x41 + x87), (x39 + x85), (x37 + x83), (x35 + x81), (x33 + x79), (x31 + x77), (x29 + x75), (x27 + x73), (x25 + x71), (x23 + x69), (x21 + x67), (x19 + x65), (x17 + x63), (x15 + x61), (x13 + x59), (x11 + x57), (x9 + x55), (x7 + x53), (x5 + x51)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.v b/src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.v
deleted file mode 100644
index 96a51c522..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fecarry.v b/src/Specific/solinas32_2e512m569_24limbs/fecarry.v
deleted file mode 100644
index 26a6aed19..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/fecarryDisplay.v b/src/Specific/solinas32_2e512m569_24limbs/fecarryDisplay.v
deleted file mode 100644
index a5f0b9244..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e512m569_24limbs/femul.v b/src/Specific/solinas32_2e512m569_24limbs/femul.v
deleted file mode 100644
index f4cb7be21..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/femulDisplay.v b/src/Specific/solinas32_2e512m569_24limbs/femulDisplay.v
deleted file mode 100644
index 36849c5d1..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fesquare.c b/src/Specific/solinas32_2e512m569_24limbs/fesquare.c
deleted file mode 100644
index e1d0ea01d..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesquare.c
+++ /dev/null
@@ -1,152 +0,0 @@
-static void fesquare(uint32_t out[24], const uint32_t in1[24]) {
- { const uint32_t x45 = in1[23];
- { const uint32_t x46 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x47 = (((uint64_t)x2 * x45) + ((0x2 * ((uint64_t)x4 * x46)) + (((uint64_t)x6 * x44) + (((uint64_t)x8 * x42) + ((0x2 * ((uint64_t)x10 * x40)) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + (((uint64_t)x18 * x32) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + (((uint64_t)x32 * x18) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((0x2 * ((uint64_t)x40 * x10)) + (((uint64_t)x42 * x8) + (((uint64_t)x44 * x6) + ((0x2 * ((uint64_t)x46 * x4)) + ((uint64_t)x45 * x2))))))))))))))))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x46) + (((uint64_t)x4 * x44) + (((uint64_t)x6 * x42) + (((uint64_t)x8 * x40) + (((uint64_t)x10 * x38) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + (((uint64_t)x38 * x10) + (((uint64_t)x40 * x8) + (((uint64_t)x42 * x6) + (((uint64_t)x44 * x4) + ((uint64_t)x46 * x2))))))))))))))))))))))) + (0x239 * ((uint64_t)x45 * x45)));
- { uint64_t x49 = ((((uint64_t)x2 * x44) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + (((uint64_t)x8 * x38) + ((0x2 * ((uint64_t)x10 * x36)) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + ((0x2 * ((uint64_t)x36 * x10)) + (((uint64_t)x38 * x8) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x46 * x45)) + (0x2 * ((uint64_t)x45 * x46)))));
- { uint64_t x50 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x239 * (((uint64_t)x44 * x45) + ((0x2 * ((uint64_t)x46 * x46)) + ((uint64_t)x45 * x44)))));
- { uint64_t x51 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x239 * (((uint64_t)x42 * x45) + (((uint64_t)x44 * x46) + (((uint64_t)x46 * x44) + ((uint64_t)x45 * x42))))));
- { uint64_t x52 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x40 * x45)) + ((0x2 * ((uint64_t)x42 * x46)) + (((uint64_t)x44 * x44) + ((0x2 * ((uint64_t)x46 * x42)) + (0x2 * ((uint64_t)x45 * x40))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x239 * (((uint64_t)x38 * x45) + ((0x2 * ((uint64_t)x40 * x46)) + (((uint64_t)x42 * x44) + (((uint64_t)x44 * x42) + ((0x2 * ((uint64_t)x46 * x40)) + ((uint64_t)x45 * x38))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x239 * (((uint64_t)x36 * x45) + (((uint64_t)x38 * x46) + (((uint64_t)x40 * x44) + (((uint64_t)x42 * x42) + (((uint64_t)x44 * x40) + (((uint64_t)x46 * x38) + ((uint64_t)x45 * x36)))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x34 * x45)) + ((0x2 * ((uint64_t)x36 * x46)) + (((uint64_t)x38 * x44) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (((uint64_t)x44 * x38) + ((0x2 * ((uint64_t)x46 * x36)) + (0x2 * ((uint64_t)x45 * x34)))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x239 * (((uint64_t)x32 * x45) + ((0x2 * ((uint64_t)x34 * x46)) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + ((0x2 * ((uint64_t)x46 * x34)) + ((uint64_t)x45 * x32)))))))))));
- { uint64_t x57 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x239 * (((uint64_t)x30 * x45) + (((uint64_t)x32 * x46) + (((uint64_t)x34 * x44) + (((uint64_t)x36 * x42) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + (((uint64_t)x42 * x36) + (((uint64_t)x44 * x34) + (((uint64_t)x46 * x32) + ((uint64_t)x45 * x30))))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x28 * x45)) + ((0x2 * ((uint64_t)x30 * x46)) + (((uint64_t)x32 * x44) + ((0x2 * ((uint64_t)x34 * x42)) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + ((0x2 * ((uint64_t)x42 * x34)) + (((uint64_t)x44 * x32) + ((0x2 * ((uint64_t)x46 * x30)) + (0x2 * ((uint64_t)x45 * x28))))))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x239 * (((uint64_t)x26 * x45) + ((0x2 * ((uint64_t)x28 * x46)) + (((uint64_t)x30 * x44) + (((uint64_t)x32 * x42) + ((0x2 * ((uint64_t)x34 * x40)) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((0x2 * ((uint64_t)x40 * x34)) + (((uint64_t)x42 * x32) + (((uint64_t)x44 * x30) + ((0x2 * ((uint64_t)x46 * x28)) + ((uint64_t)x45 * x26))))))))))))));
- { uint64_t x60 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x239 * (((uint64_t)x24 * x45) + (((uint64_t)x26 * x46) + (((uint64_t)x28 * x44) + (((uint64_t)x30 * x42) + (((uint64_t)x32 * x40) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + (((uint64_t)x40 * x32) + (((uint64_t)x42 * x30) + (((uint64_t)x44 * x28) + (((uint64_t)x46 * x26) + ((uint64_t)x45 * x24)))))))))))))));
- { uint64_t x61 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x239 * ((0x2 * ((uint64_t)x22 * x45)) + ((0x2 * ((uint64_t)x24 * x46)) + (((uint64_t)x26 * x44) + ((0x2 * ((uint64_t)x28 * x42)) + ((0x2 * ((uint64_t)x30 * x40)) + (((uint64_t)x32 * x38) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + (((uint64_t)x38 * x32) + ((0x2 * ((uint64_t)x40 * x30)) + ((0x2 * ((uint64_t)x42 * x28)) + (((uint64_t)x44 * x26) + ((0x2 * ((uint64_t)x46 * x24)) + (0x2 * ((uint64_t)x45 * x22)))))))))))))))));
- { uint64_t x62 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x239 * (((uint64_t)x20 * x45) + ((0x2 * ((uint64_t)x22 * x46)) + (((uint64_t)x24 * x44) + (((uint64_t)x26 * x42) + ((0x2 * ((uint64_t)x28 * x40)) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + ((0x2 * ((uint64_t)x40 * x28)) + (((uint64_t)x42 * x26) + (((uint64_t)x44 * x24) + ((0x2 * ((uint64_t)x46 * x22)) + ((uint64_t)x45 * x20)))))))))))))))));
- { uint64_t x63 = ((((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)))))))) + (0x239 * (((uint64_t)x18 * x45) + (((uint64_t)x20 * x46) + (((uint64_t)x22 * x44) + (((uint64_t)x24 * x42) + (((uint64_t)x26 * x40) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + (((uint64_t)x40 * x26) + (((uint64_t)x42 * x24) + (((uint64_t)x44 * x22) + (((uint64_t)x46 * x20) + ((uint64_t)x45 * x18))))))))))))))))));
- { uint64_t x64 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x239 * ((0x2 * ((uint64_t)x16 * x45)) + ((0x2 * ((uint64_t)x18 * x46)) + (((uint64_t)x20 * x44) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + ((0x2 * ((uint64_t)x28 * x36)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + ((0x2 * ((uint64_t)x36 * x28)) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (((uint64_t)x44 * x20) + ((0x2 * ((uint64_t)x46 * x18)) + (0x2 * ((uint64_t)x45 * x16))))))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x239 * (((uint64_t)x14 * x45) + ((0x2 * ((uint64_t)x16 * x46)) + (((uint64_t)x18 * x44) + (((uint64_t)x20 * x42) + ((0x2 * ((uint64_t)x22 * x40)) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((0x2 * ((uint64_t)x40 * x22)) + (((uint64_t)x42 * x20) + (((uint64_t)x44 * x18) + ((0x2 * ((uint64_t)x46 * x16)) + ((uint64_t)x45 * x14))))))))))))))))))));
- { uint64_t x66 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x239 * (((uint64_t)x12 * x45) + (((uint64_t)x14 * x46) + (((uint64_t)x16 * x44) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + (((uint64_t)x44 * x16) + (((uint64_t)x46 * x14) + ((uint64_t)x45 * x12)))))))))))))))))))));
- { uint64_t x67 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x239 * ((0x2 * ((uint64_t)x10 * x45)) + ((0x2 * ((uint64_t)x12 * x46)) + (((uint64_t)x14 * x44) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + (((uint64_t)x20 * x38) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (((uint64_t)x38 * x20) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + (((uint64_t)x44 * x14) + ((0x2 * ((uint64_t)x46 * x12)) + (0x2 * ((uint64_t)x45 * x10)))))))))))))))))))))));
- { uint64_t x68 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x239 * (((uint64_t)x8 * x45) + ((0x2 * ((uint64_t)x10 * x46)) + (((uint64_t)x12 * x44) + (((uint64_t)x14 * x42) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + (((uint64_t)x42 * x14) + (((uint64_t)x44 * x12) + ((0x2 * ((uint64_t)x46 * x10)) + ((uint64_t)x45 * x8)))))))))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x239 * (((uint64_t)x6 * x45) + (((uint64_t)x8 * x46) + (((uint64_t)x10 * x44) + (((uint64_t)x12 * x42) + (((uint64_t)x14 * x40) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + (((uint64_t)x40 * x14) + (((uint64_t)x42 * x12) + (((uint64_t)x44 * x10) + (((uint64_t)x46 * x8) + ((uint64_t)x45 * x6))))))))))))))))))))))));
- { uint64_t x70 = (((uint64_t)x2 * x2) + (0x239 * ((0x2 * ((uint64_t)x4 * x45)) + ((0x2 * ((uint64_t)x6 * x46)) + (((uint64_t)x8 * x44) + ((0x2 * ((uint64_t)x10 * x42)) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + ((0x2 * ((uint64_t)x16 * x36)) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + ((0x2 * ((uint64_t)x36 * x16)) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + ((0x2 * ((uint64_t)x42 * x10)) + (((uint64_t)x44 * x8) + ((0x2 * ((uint64_t)x46 * x6)) + (0x2 * ((uint64_t)x45 * x4))))))))))))))))))))))))));
- { uint64_t x71 = (x70 >> 0x16);
- { uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- { uint64_t x73 = (x71 + x69);
- { uint64_t x74 = (x73 >> 0x15);
- { uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- { uint64_t x76 = (x74 + x68);
- { uint64_t x77 = (x76 >> 0x15);
- { uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- { uint64_t x79 = (x77 + x67);
- { uint64_t x80 = (x79 >> 0x16);
- { uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- { uint64_t x82 = (x80 + x66);
- { uint64_t x83 = (x82 >> 0x15);
- { uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- { uint64_t x85 = (x83 + x65);
- { uint64_t x86 = (x85 >> 0x15);
- { uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- { uint64_t x88 = (x86 + x64);
- { uint64_t x89 = (x88 >> 0x16);
- { uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- { uint64_t x91 = (x89 + x63);
- { uint64_t x92 = (x91 >> 0x15);
- { uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- { uint64_t x94 = (x92 + x62);
- { uint64_t x95 = (x94 >> 0x15);
- { uint32_t x96 = ((uint32_t)x94 & 0x1fffff);
- { uint64_t x97 = (x95 + x61);
- { uint64_t x98 = (x97 >> 0x16);
- { uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- { uint64_t x100 = (x98 + x60);
- { uint64_t x101 = (x100 >> 0x15);
- { uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- { uint64_t x103 = (x101 + x59);
- { uint64_t x104 = (x103 >> 0x15);
- { uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- { uint64_t x106 = (x104 + x58);
- { uint64_t x107 = (x106 >> 0x16);
- { uint32_t x108 = ((uint32_t)x106 & 0x3fffff);
- { uint64_t x109 = (x107 + x57);
- { uint64_t x110 = (x109 >> 0x15);
- { uint32_t x111 = ((uint32_t)x109 & 0x1fffff);
- { uint64_t x112 = (x110 + x56);
- { uint64_t x113 = (x112 >> 0x15);
- { uint32_t x114 = ((uint32_t)x112 & 0x1fffff);
- { uint64_t x115 = (x113 + x55);
- { uint64_t x116 = (x115 >> 0x16);
- { uint32_t x117 = ((uint32_t)x115 & 0x3fffff);
- { uint64_t x118 = (x116 + x54);
- { uint64_t x119 = (x118 >> 0x15);
- { uint32_t x120 = ((uint32_t)x118 & 0x1fffff);
- { uint64_t x121 = (x119 + x53);
- { uint64_t x122 = (x121 >> 0x15);
- { uint32_t x123 = ((uint32_t)x121 & 0x1fffff);
- { uint64_t x124 = (x122 + x52);
- { uint64_t x125 = (x124 >> 0x16);
- { uint32_t x126 = ((uint32_t)x124 & 0x3fffff);
- { uint64_t x127 = (x125 + x51);
- { uint64_t x128 = (x127 >> 0x15);
- { uint32_t x129 = ((uint32_t)x127 & 0x1fffff);
- { uint64_t x130 = (x128 + x50);
- { uint64_t x131 = (x130 >> 0x15);
- { uint32_t x132 = ((uint32_t)x130 & 0x1fffff);
- { uint64_t x133 = (x131 + x49);
- { uint64_t x134 = (x133 >> 0x16);
- { uint32_t x135 = ((uint32_t)x133 & 0x3fffff);
- { uint64_t x136 = (x134 + x48);
- { uint64_t x137 = (x136 >> 0x15);
- { uint32_t x138 = ((uint32_t)x136 & 0x1fffff);
- { uint64_t x139 = (x137 + x47);
- { uint32_t x140 = (uint32_t) (x139 >> 0x15);
- { uint32_t x141 = ((uint32_t)x139 & 0x1fffff);
- { uint64_t x142 = (x72 + ((uint64_t)0x239 * x140));
- { uint32_t x143 = (uint32_t) (x142 >> 0x16);
- { uint32_t x144 = ((uint32_t)x142 & 0x3fffff);
- { uint32_t x145 = (x143 + x75);
- { uint32_t x146 = (x145 >> 0x15);
- { uint32_t x147 = (x145 & 0x1fffff);
- out[0] = x144;
- out[1] = x147;
- out[2] = (x146 + x78);
- out[3] = x81;
- out[4] = x84;
- out[5] = x87;
- out[6] = x90;
- out[7] = x93;
- out[8] = x96;
- out[9] = x99;
- out[10] = x102;
- out[11] = x105;
- out[12] = x108;
- out[13] = x111;
- out[14] = x114;
- out[15] = x117;
- out[16] = x120;
- out[17] = x123;
- out[18] = x126;
- out[19] = x129;
- out[20] = x132;
- out[21] = x135;
- out[22] = x138;
- out[23] = x141;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fesquare.v b/src/Specific/solinas32_2e512m569_24limbs/fesquare.v
deleted file mode 100644
index 39f6a4725..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/fesquareDisplay.log b/src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.log
deleted file mode 100644
index a942ed88f..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,108 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x45, x46, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x47 = (((uint64_t)x2 * x45) + ((0x2 * ((uint64_t)x4 * x46)) + (((uint64_t)x6 * x44) + (((uint64_t)x8 * x42) + ((0x2 * ((uint64_t)x10 * x40)) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + ((0x2 * ((uint64_t)x16 * x34)) + (((uint64_t)x18 * x32) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + (((uint64_t)x32 * x18) + ((0x2 * ((uint64_t)x34 * x16)) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((0x2 * ((uint64_t)x40 * x10)) + (((uint64_t)x42 * x8) + (((uint64_t)x44 * x6) + ((0x2 * ((uint64_t)x46 * x4)) + ((uint64_t)x45 * x2))))))))))))))))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x46) + (((uint64_t)x4 * x44) + (((uint64_t)x6 * x42) + (((uint64_t)x8 * x40) + (((uint64_t)x10 * x38) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + (((uint64_t)x38 * x10) + (((uint64_t)x40 * x8) + (((uint64_t)x42 * x6) + (((uint64_t)x44 * x4) + ((uint64_t)x46 * x2))))))))))))))))))))))) + (0x239 * ((uint64_t)x45 * x45)));
- uint64_t x49 = ((((uint64_t)x2 * x44) + ((0x2 * ((uint64_t)x4 * x42)) + ((0x2 * ((uint64_t)x6 * x40)) + (((uint64_t)x8 * x38) + ((0x2 * ((uint64_t)x10 * x36)) + ((0x2 * ((uint64_t)x12 * x34)) + (((uint64_t)x14 * x32) + ((0x2 * ((uint64_t)x16 * x30)) + ((0x2 * ((uint64_t)x18 * x28)) + (((uint64_t)x20 * x26) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + (((uint64_t)x26 * x20) + ((0x2 * ((uint64_t)x28 * x18)) + ((0x2 * ((uint64_t)x30 * x16)) + (((uint64_t)x32 * x14) + ((0x2 * ((uint64_t)x34 * x12)) + ((0x2 * ((uint64_t)x36 * x10)) + (((uint64_t)x38 * x8) + ((0x2 * ((uint64_t)x40 * x6)) + ((0x2 * ((uint64_t)x42 * x4)) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x46 * x45)) + (0x2 * ((uint64_t)x45 * x46)))));
- uint64_t x50 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + (((uint64_t)x8 * x36) + ((0x2 * ((uint64_t)x10 * x34)) + (((uint64_t)x12 * x32) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + (((uint64_t)x32 * x12) + ((0x2 * ((uint64_t)x34 * x10)) + (((uint64_t)x36 * x8) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x239 * (((uint64_t)x44 * x45) + ((0x2 * ((uint64_t)x46 * x46)) + ((uint64_t)x45 * x44)))));
- uint64_t x51 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x239 * (((uint64_t)x42 * x45) + (((uint64_t)x44 * x46) + (((uint64_t)x46 * x44) + ((uint64_t)x45 * x42))))));
- uint64_t x52 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + (((uint64_t)x8 * x32) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + (((uint64_t)x32 * x8) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x40 * x45)) + ((0x2 * ((uint64_t)x42 * x46)) + (((uint64_t)x44 * x44) + ((0x2 * ((uint64_t)x46 * x42)) + (0x2 * ((uint64_t)x45 * x40))))))));
- uint64_t x53 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + ((0x2 * ((uint64_t)x10 * x28)) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((0x2 * ((uint64_t)x28 * x10)) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x239 * (((uint64_t)x38 * x45) + ((0x2 * ((uint64_t)x40 * x46)) + (((uint64_t)x42 * x44) + (((uint64_t)x44 * x42) + ((0x2 * ((uint64_t)x46 * x40)) + ((uint64_t)x45 * x38))))))));
- uint64_t x54 = ((((uint64_t)x2 * x34) + (((uint64_t)x4 * x32) + (((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)x18 * x18) + (((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)x32 * x4) + ((uint64_t)x34 * x2))))))))))))))))) + (0x239 * (((uint64_t)x36 * x45) + (((uint64_t)x38 * x46) + (((uint64_t)x40 * x44) + (((uint64_t)x42 * x42) + (((uint64_t)x44 * x40) + (((uint64_t)x46 * x38) + ((uint64_t)x45 * x36)))))))));
- uint64_t x55 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + (((uint64_t)x8 * x26) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + (((uint64_t)x26 * x8) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x34 * x45)) + ((0x2 * ((uint64_t)x36 * x46)) + (((uint64_t)x38 * x44) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + (((uint64_t)x44 * x38) + ((0x2 * ((uint64_t)x46 * x36)) + (0x2 * ((uint64_t)x45 * x34)))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x239 * (((uint64_t)x32 * x45) + ((0x2 * ((uint64_t)x34 * x46)) + (((uint64_t)x36 * x44) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + (((uint64_t)x44 * x36) + ((0x2 * ((uint64_t)x46 * x34)) + ((uint64_t)x45 * x32)))))))))));
- uint64_t x57 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x239 * (((uint64_t)x30 * x45) + (((uint64_t)x32 * x46) + (((uint64_t)x34 * x44) + (((uint64_t)x36 * x42) + (((uint64_t)x38 * x40) + (((uint64_t)x40 * x38) + (((uint64_t)x42 * x36) + (((uint64_t)x44 * x34) + (((uint64_t)x46 * x32) + ((uint64_t)x45 * x30))))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x28 * x45)) + ((0x2 * ((uint64_t)x30 * x46)) + (((uint64_t)x32 * x44) + ((0x2 * ((uint64_t)x34 * x42)) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + ((0x2 * ((uint64_t)x42 * x34)) + (((uint64_t)x44 * x32) + ((0x2 * ((uint64_t)x46 * x30)) + (0x2 * ((uint64_t)x45 * x28))))))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x239 * (((uint64_t)x26 * x45) + ((0x2 * ((uint64_t)x28 * x46)) + (((uint64_t)x30 * x44) + (((uint64_t)x32 * x42) + ((0x2 * ((uint64_t)x34 * x40)) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((0x2 * ((uint64_t)x40 * x34)) + (((uint64_t)x42 * x32) + (((uint64_t)x44 * x30) + ((0x2 * ((uint64_t)x46 * x28)) + ((uint64_t)x45 * x26))))))))))))));
- uint64_t x60 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x239 * (((uint64_t)x24 * x45) + (((uint64_t)x26 * x46) + (((uint64_t)x28 * x44) + (((uint64_t)x30 * x42) + (((uint64_t)x32 * x40) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + (((uint64_t)x40 * x32) + (((uint64_t)x42 * x30) + (((uint64_t)x44 * x28) + (((uint64_t)x46 * x26) + ((uint64_t)x45 * x24)))))))))))))));
- uint64_t x61 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x239 * ((0x2 * ((uint64_t)x22 * x45)) + ((0x2 * ((uint64_t)x24 * x46)) + (((uint64_t)x26 * x44) + ((0x2 * ((uint64_t)x28 * x42)) + ((0x2 * ((uint64_t)x30 * x40)) + (((uint64_t)x32 * x38) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + (((uint64_t)x38 * x32) + ((0x2 * ((uint64_t)x40 * x30)) + ((0x2 * ((uint64_t)x42 * x28)) + (((uint64_t)x44 * x26) + ((0x2 * ((uint64_t)x46 * x24)) + (0x2 * ((uint64_t)x45 * x22)))))))))))))))));
- uint64_t x62 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x239 * (((uint64_t)x20 * x45) + ((0x2 * ((uint64_t)x22 * x46)) + (((uint64_t)x24 * x44) + (((uint64_t)x26 * x42) + ((0x2 * ((uint64_t)x28 * x40)) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + ((0x2 * ((uint64_t)x34 * x34)) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + ((0x2 * ((uint64_t)x40 * x28)) + (((uint64_t)x42 * x26) + (((uint64_t)x44 * x24) + ((0x2 * ((uint64_t)x46 * x22)) + ((uint64_t)x45 * x20)))))))))))))))));
- uint64_t x63 = ((((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)))))))) + (0x239 * (((uint64_t)x18 * x45) + (((uint64_t)x20 * x46) + (((uint64_t)x22 * x44) + (((uint64_t)x24 * x42) + (((uint64_t)x26 * x40) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + (((uint64_t)x40 * x26) + (((uint64_t)x42 * x24) + (((uint64_t)x44 * x22) + (((uint64_t)x46 * x20) + ((uint64_t)x45 * x18))))))))))))))))));
- uint64_t x64 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x239 * ((0x2 * ((uint64_t)x16 * x45)) + ((0x2 * ((uint64_t)x18 * x46)) + (((uint64_t)x20 * x44) + ((0x2 * ((uint64_t)x22 * x42)) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + ((0x2 * ((uint64_t)x28 * x36)) + ((0x2 * ((uint64_t)x30 * x34)) + (((uint64_t)x32 * x32) + ((0x2 * ((uint64_t)x34 * x30)) + ((0x2 * ((uint64_t)x36 * x28)) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + ((0x2 * ((uint64_t)x42 * x22)) + (((uint64_t)x44 * x20) + ((0x2 * ((uint64_t)x46 * x18)) + (0x2 * ((uint64_t)x45 * x16))))))))))))))))))));
- uint64_t x65 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x239 * (((uint64_t)x14 * x45) + ((0x2 * ((uint64_t)x16 * x46)) + (((uint64_t)x18 * x44) + (((uint64_t)x20 * x42) + ((0x2 * ((uint64_t)x22 * x40)) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + ((0x2 * ((uint64_t)x28 * x34)) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + ((0x2 * ((uint64_t)x34 * x28)) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((0x2 * ((uint64_t)x40 * x22)) + (((uint64_t)x42 * x20) + (((uint64_t)x44 * x18) + ((0x2 * ((uint64_t)x46 * x16)) + ((uint64_t)x45 * x14))))))))))))))))))));
- uint64_t x66 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x239 * (((uint64_t)x12 * x45) + (((uint64_t)x14 * x46) + (((uint64_t)x16 * x44) + (((uint64_t)x18 * x42) + (((uint64_t)x20 * x40) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + (((uint64_t)x40 * x20) + (((uint64_t)x42 * x18) + (((uint64_t)x44 * x16) + (((uint64_t)x46 * x14) + ((uint64_t)x45 * x12)))))))))))))))))))));
- uint64_t x67 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x239 * ((0x2 * ((uint64_t)x10 * x45)) + ((0x2 * ((uint64_t)x12 * x46)) + (((uint64_t)x14 * x44) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + (((uint64_t)x20 * x38) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + (((uint64_t)x26 * x32) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + (((uint64_t)x32 * x26) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + (((uint64_t)x38 * x20) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + (((uint64_t)x44 * x14) + ((0x2 * ((uint64_t)x46 * x12)) + (0x2 * ((uint64_t)x45 * x10)))))))))))))))))))))));
- uint64_t x68 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x239 * (((uint64_t)x8 * x45) + ((0x2 * ((uint64_t)x10 * x46)) + (((uint64_t)x12 * x44) + (((uint64_t)x14 * x42) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + ((0x2 * ((uint64_t)x22 * x34)) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + ((0x2 * ((uint64_t)x34 * x22)) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + (((uint64_t)x42 * x14) + (((uint64_t)x44 * x12) + ((0x2 * ((uint64_t)x46 * x10)) + ((uint64_t)x45 * x8)))))))))))))))))))))));
- uint64_t x69 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x239 * (((uint64_t)x6 * x45) + (((uint64_t)x8 * x46) + (((uint64_t)x10 * x44) + (((uint64_t)x12 * x42) + (((uint64_t)x14 * x40) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + (((uint64_t)x40 * x14) + (((uint64_t)x42 * x12) + (((uint64_t)x44 * x10) + (((uint64_t)x46 * x8) + ((uint64_t)x45 * x6))))))))))))))))))))))));
- uint64_t x70 = (((uint64_t)x2 * x2) + (0x239 * ((0x2 * ((uint64_t)x4 * x45)) + ((0x2 * ((uint64_t)x6 * x46)) + (((uint64_t)x8 * x44) + ((0x2 * ((uint64_t)x10 * x42)) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + ((0x2 * ((uint64_t)x16 * x36)) + ((0x2 * ((uint64_t)x18 * x34)) + (((uint64_t)x20 * x32) + ((0x2 * ((uint64_t)x22 * x30)) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + ((0x2 * ((uint64_t)x30 * x22)) + (((uint64_t)x32 * x20) + ((0x2 * ((uint64_t)x34 * x18)) + ((0x2 * ((uint64_t)x36 * x16)) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + ((0x2 * ((uint64_t)x42 * x10)) + (((uint64_t)x44 * x8) + ((0x2 * ((uint64_t)x46 * x6)) + (0x2 * ((uint64_t)x45 * x4))))))))))))))))))))))))));
- uint64_t x71 = (x70 >> 0x16);
- uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
- uint64_t x73 = (x71 + x69);
- uint64_t x74 = (x73 >> 0x15);
- uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- uint64_t x76 = (x74 + x68);
- uint64_t x77 = (x76 >> 0x15);
- uint32_t x78 = ((uint32_t)x76 & 0x1fffff);
- uint64_t x79 = (x77 + x67);
- uint64_t x80 = (x79 >> 0x16);
- uint32_t x81 = ((uint32_t)x79 & 0x3fffff);
- uint64_t x82 = (x80 + x66);
- uint64_t x83 = (x82 >> 0x15);
- uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
- uint64_t x85 = (x83 + x65);
- uint64_t x86 = (x85 >> 0x15);
- uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- uint64_t x88 = (x86 + x64);
- uint64_t x89 = (x88 >> 0x16);
- uint32_t x90 = ((uint32_t)x88 & 0x3fffff);
- uint64_t x91 = (x89 + x63);
- uint64_t x92 = (x91 >> 0x15);
- uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- uint64_t x94 = (x92 + x62);
- uint64_t x95 = (x94 >> 0x15);
- uint32_t x96 = ((uint32_t)x94 & 0x1fffff);
- uint64_t x97 = (x95 + x61);
- uint64_t x98 = (x97 >> 0x16);
- uint32_t x99 = ((uint32_t)x97 & 0x3fffff);
- uint64_t x100 = (x98 + x60);
- uint64_t x101 = (x100 >> 0x15);
- uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
- uint64_t x103 = (x101 + x59);
- uint64_t x104 = (x103 >> 0x15);
- uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- uint64_t x106 = (x104 + x58);
- uint64_t x107 = (x106 >> 0x16);
- uint32_t x108 = ((uint32_t)x106 & 0x3fffff);
- uint64_t x109 = (x107 + x57);
- uint64_t x110 = (x109 >> 0x15);
- uint32_t x111 = ((uint32_t)x109 & 0x1fffff);
- uint64_t x112 = (x110 + x56);
- uint64_t x113 = (x112 >> 0x15);
- uint32_t x114 = ((uint32_t)x112 & 0x1fffff);
- uint64_t x115 = (x113 + x55);
- uint64_t x116 = (x115 >> 0x16);
- uint32_t x117 = ((uint32_t)x115 & 0x3fffff);
- uint64_t x118 = (x116 + x54);
- uint64_t x119 = (x118 >> 0x15);
- uint32_t x120 = ((uint32_t)x118 & 0x1fffff);
- uint64_t x121 = (x119 + x53);
- uint64_t x122 = (x121 >> 0x15);
- uint32_t x123 = ((uint32_t)x121 & 0x1fffff);
- uint64_t x124 = (x122 + x52);
- uint64_t x125 = (x124 >> 0x16);
- uint32_t x126 = ((uint32_t)x124 & 0x3fffff);
- uint64_t x127 = (x125 + x51);
- uint64_t x128 = (x127 >> 0x15);
- uint32_t x129 = ((uint32_t)x127 & 0x1fffff);
- uint64_t x130 = (x128 + x50);
- uint64_t x131 = (x130 >> 0x15);
- uint32_t x132 = ((uint32_t)x130 & 0x1fffff);
- uint64_t x133 = (x131 + x49);
- uint64_t x134 = (x133 >> 0x16);
- uint32_t x135 = ((uint32_t)x133 & 0x3fffff);
- uint64_t x136 = (x134 + x48);
- uint64_t x137 = (x136 >> 0x15);
- uint32_t x138 = ((uint32_t)x136 & 0x1fffff);
- uint64_t x139 = (x137 + x47);
- uint32_t x140 = (uint32_t) (x139 >> 0x15);
- uint32_t x141 = ((uint32_t)x139 & 0x1fffff);
- uint64_t x142 = (x72 + ((uint64_t)0x239 * x140));
- uint32_t x143 = (uint32_t) (x142 >> 0x16);
- uint32_t x144 = ((uint32_t)x142 & 0x3fffff);
- uint32_t x145 = (x143 + x75);
- uint32_t x146 = (x145 >> 0x15);
- uint32_t x147 = (x145 & 0x1fffff);
- return (Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, (x146 + x78), Return x147, Return x144))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.v b/src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.v
deleted file mode 100644
index 953b95d45..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fesub.c b/src/Specific/solinas32_2e512m569_24limbs/fesub.c
deleted file mode 100644
index 3acb523c0..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesub.c
+++ /dev/null
@@ -1,75 +0,0 @@
-static void fesub(uint32_t out[24], const uint32_t in1[24], const uint32_t in2[24]) {
- { const uint32_t x48 = in1[23];
- { const uint32_t x49 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x94 = in2[23];
- { const uint32_t x95 = in2[22];
- { const uint32_t x93 = in2[21];
- { const uint32_t x91 = in2[20];
- { const uint32_t x89 = in2[19];
- { const uint32_t x87 = in2[18];
- { const uint32_t x85 = in2[17];
- { const uint32_t x83 = in2[16];
- { const uint32_t x81 = in2[15];
- { const uint32_t x79 = in2[14];
- { const uint32_t x77 = in2[13];
- { const uint32_t x75 = in2[12];
- { const uint32_t x73 = in2[11];
- { const uint32_t x71 = in2[10];
- { const uint32_t x69 = in2[9];
- { const uint32_t x67 = in2[8];
- { const uint32_t x65 = in2[7];
- { const uint32_t x63 = in2[6];
- { const uint32_t x61 = in2[5];
- { const uint32_t x59 = in2[4];
- { const uint32_t x57 = in2[3];
- { const uint32_t x55 = in2[2];
- { const uint32_t x53 = in2[1];
- { const uint32_t x51 = in2[0];
- out[0] = ((0x7ffb8e + x5) - x51);
- out[1] = ((0x3ffffe + x7) - x53);
- out[2] = ((0x3ffffe + x9) - x55);
- out[3] = ((0x7ffffe + x11) - x57);
- out[4] = ((0x3ffffe + x13) - x59);
- out[5] = ((0x3ffffe + x15) - x61);
- out[6] = ((0x7ffffe + x17) - x63);
- out[7] = ((0x3ffffe + x19) - x65);
- out[8] = ((0x3ffffe + x21) - x67);
- out[9] = ((0x7ffffe + x23) - x69);
- out[10] = ((0x3ffffe + x25) - x71);
- out[11] = ((0x3ffffe + x27) - x73);
- out[12] = ((0x7ffffe + x29) - x75);
- out[13] = ((0x3ffffe + x31) - x77);
- out[14] = ((0x3ffffe + x33) - x79);
- out[15] = ((0x7ffffe + x35) - x81);
- out[16] = ((0x3ffffe + x37) - x83);
- out[17] = ((0x3ffffe + x39) - x85);
- out[18] = ((0x7ffffe + x41) - x87);
- out[19] = ((0x3ffffe + x43) - x89);
- out[20] = ((0x3ffffe + x45) - x91);
- out[21] = ((0x7ffffe + x47) - x93);
- out[22] = ((0x3ffffe + x49) - x95);
- out[23] = ((0x3ffffe + x48) - x94);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fesub.v b/src/Specific/solinas32_2e512m569_24limbs/fesub.v
deleted file mode 100644
index 88f45d410..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/fesubDisplay.log b/src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.log
deleted file mode 100644
index a92e47200..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x48, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x94, x95, x93, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51))%core,
- (((0x3ffffe + x48) - x94), ((0x3ffffe + x49) - x95), ((0x7ffffe + x47) - x93), ((0x3ffffe + x45) - x91), ((0x3ffffe + x43) - x89), ((0x7ffffe + x41) - x87), ((0x3ffffe + x39) - x85), ((0x3ffffe + x37) - x83), ((0x7ffffe + x35) - x81), ((0x3ffffe + x33) - x79), ((0x3ffffe + x31) - x77), ((0x7ffffe + x29) - x75), ((0x3ffffe + x27) - x73), ((0x3ffffe + x25) - x71), ((0x7ffffe + x23) - x69), ((0x3ffffe + x21) - x67), ((0x3ffffe + x19) - x65), ((0x7ffffe + x17) - x63), ((0x3ffffe + x15) - x61), ((0x3ffffe + x13) - x59), ((0x7ffffe + x11) - x57), ((0x3ffffe + x9) - x55), ((0x3ffffe + x7) - x53), ((0x7ffb8e + x5) - x51)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.v b/src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.v
deleted file mode 100644
index ee1d6df8b..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e512m569_24limbs/freeze.c b/src/Specific/solinas32_2e512m569_24limbs/freeze.c
deleted file mode 100644
index a06bca255..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/freeze.c
+++ /dev/null
@@ -1,124 +0,0 @@
-static void freeze(uint32_t out[24], const uint32_t in1[24]) {
- { const uint32_t x45 = in1[23];
- { const uint32_t x46 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffdc7);
- { uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x4, 0x1fffff);
- { uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x6, 0x1fffff);
- { uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x8, 0x3fffff);
- { uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x10, 0x1fffff);
- { uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x12, 0x1fffff);
- { uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x14, 0x3fffff);
- { uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x16, 0x1fffff);
- { uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x18, 0x1fffff);
- { uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x20, 0x3fffff);
- { uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x22, 0x1fffff);
- { uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x24, 0x1fffff);
- { uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x26, 0x3fffff);
- { uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x28, 0x1fffff);
- { uint32_t x90, uint8_t x91 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x30, 0x1fffff);
- { uint32_t x93, uint8_t x94 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x32, 0x3fffff);
- { uint32_t x96, uint8_t x97 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x34, 0x1fffff);
- { uint32_t x99, uint8_t x100 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x36, 0x1fffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x38, 0x3fffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x40, 0x1fffff);
- { uint32_t x108, uint8_t x109 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x42, 0x1fffff);
- { uint32_t x111, uint8_t x112 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x44, 0x3fffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x46, 0x1fffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x45, 0x1fffff);
- { uint32_t x119 = cmovznz32(x118, 0x0, 0xffffffff);
- { uint32_t x120 = (x119 & 0x3ffdc7);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x48, Return x120);
- { uint32_t x124 = (x119 & 0x1fffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x51, Return x124);
- { uint32_t x128 = (x119 & 0x1fffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x54, Return x128);
- { uint32_t x132 = (x119 & 0x3fffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x57, Return x132);
- { uint32_t x136 = (x119 & 0x1fffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x60, Return x136);
- { uint32_t x140 = (x119 & 0x1fffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x63, Return x140);
- { uint32_t x144 = (x119 & 0x3fffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x66, Return x144);
- { uint32_t x148 = (x119 & 0x1fffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x69, Return x148);
- { uint32_t x152 = (x119 & 0x1fffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x72, Return x152);
- { uint32_t x156 = (x119 & 0x3fffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x75, Return x156);
- { uint32_t x160 = (x119 & 0x1fffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x78, Return x160);
- { uint32_t x164 = (x119 & 0x1fffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x81, Return x164);
- { uint32_t x168 = (x119 & 0x3fffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x84, Return x168);
- { uint32_t x172 = (x119 & 0x1fffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x87, Return x172);
- { uint32_t x176 = (x119 & 0x1fffff);
- { uint32_t x178, uint8_t x179 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x90, Return x176);
- { uint32_t x180 = (x119 & 0x3fffff);
- { uint32_t x182, uint8_t x183 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x179, Return x93, Return x180);
- { uint32_t x184 = (x119 & 0x1fffff);
- { uint32_t x186, uint8_t x187 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x183, Return x96, Return x184);
- { uint32_t x188 = (x119 & 0x1fffff);
- { uint32_t x190, uint8_t x191 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x187, Return x99, Return x188);
- { uint32_t x192 = (x119 & 0x3fffff);
- { uint32_t x194, uint8_t x195 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x191, Return x102, Return x192);
- { uint32_t x196 = (x119 & 0x1fffff);
- { uint32_t x198, uint8_t x199 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x195, Return x105, Return x196);
- { uint32_t x200 = (x119 & 0x1fffff);
- { uint32_t x202, uint8_t x203 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x199, Return x108, Return x200);
- { uint32_t x204 = (x119 & 0x3fffff);
- { uint32_t x206, uint8_t x207 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x203, Return x111, Return x204);
- { uint32_t x208 = (x119 & 0x1fffff);
- { uint32_t x210, uint8_t x211 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x207, Return x114, Return x208);
- { uint32_t x212 = (x119 & 0x1fffff);
- { uint32_t x214, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x211, Return x117, Return x212);
- out[0] = x122;
- out[1] = x126;
- out[2] = x130;
- out[3] = x134;
- out[4] = x138;
- out[5] = x142;
- out[6] = x146;
- out[7] = x150;
- out[8] = x154;
- out[9] = x158;
- out[10] = x162;
- out[11] = x166;
- out[12] = x170;
- out[13] = x174;
- out[14] = x178;
- out[15] = x182;
- out[16] = x186;
- out[17] = x190;
- out[18] = x194;
- out[19] = x198;
- out[20] = x202;
- out[21] = x206;
- out[22] = x210;
- out[23] = x214;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_24limbs/freeze.v b/src/Specific/solinas32_2e512m569_24limbs/freeze.v
deleted file mode 100644
index c717f8691..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.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_2e512m569_24limbs/freezeDisplay.log b/src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.log
deleted file mode 100644
index d3f60da16..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.log
+++ /dev/null
@@ -1,80 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x45, x46, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffdc7);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x4, 0x1fffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x6, 0x1fffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x8, 0x3fffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x10, 0x1fffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x12, 0x1fffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x14, 0x3fffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x16, 0x1fffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x18, 0x1fffff);
- uint32_t x75, uint8_t x76 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x20, 0x3fffff);
- uint32_t x78, uint8_t x79 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x22, 0x1fffff);
- uint32_t x81, uint8_t x82 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x24, 0x1fffff);
- uint32_t x84, uint8_t x85 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x26, 0x3fffff);
- uint32_t x87, uint8_t x88 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x28, 0x1fffff);
- uint32_t x90, uint8_t x91 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x30, 0x1fffff);
- uint32_t x93, uint8_t x94 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x32, 0x3fffff);
- uint32_t x96, uint8_t x97 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x34, 0x1fffff);
- uint32_t x99, uint8_t x100 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x36, 0x1fffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x38, 0x3fffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x40, 0x1fffff);
- uint32_t x108, uint8_t x109 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x42, 0x1fffff);
- uint32_t x111, uint8_t x112 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x44, 0x3fffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x46, 0x1fffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x45, 0x1fffff);
- uint32_t x119 = cmovznz32(x118, 0x0, 0xffffffff);
- uint32_t x120 = (x119 & 0x3ffdc7);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x48, Return x120);
- uint32_t x124 = (x119 & 0x1fffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x51, Return x124);
- uint32_t x128 = (x119 & 0x1fffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x54, Return x128);
- uint32_t x132 = (x119 & 0x3fffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x57, Return x132);
- uint32_t x136 = (x119 & 0x1fffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x60, Return x136);
- uint32_t x140 = (x119 & 0x1fffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x63, Return x140);
- uint32_t x144 = (x119 & 0x3fffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x66, Return x144);
- uint32_t x148 = (x119 & 0x1fffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x69, Return x148);
- uint32_t x152 = (x119 & 0x1fffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x72, Return x152);
- uint32_t x156 = (x119 & 0x3fffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x75, Return x156);
- uint32_t x160 = (x119 & 0x1fffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x78, Return x160);
- uint32_t x164 = (x119 & 0x1fffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x81, Return x164);
- uint32_t x168 = (x119 & 0x3fffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x84, Return x168);
- uint32_t x172 = (x119 & 0x1fffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x87, Return x172);
- uint32_t x176 = (x119 & 0x1fffff);
- uint32_t x178, uint8_t x179 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x90, Return x176);
- uint32_t x180 = (x119 & 0x3fffff);
- uint32_t x182, uint8_t x183 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x179, Return x93, Return x180);
- uint32_t x184 = (x119 & 0x1fffff);
- uint32_t x186, uint8_t x187 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x183, Return x96, Return x184);
- uint32_t x188 = (x119 & 0x1fffff);
- uint32_t x190, uint8_t x191 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x187, Return x99, Return x188);
- uint32_t x192 = (x119 & 0x3fffff);
- uint32_t x194, uint8_t x195 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x191, Return x102, Return x192);
- uint32_t x196 = (x119 & 0x1fffff);
- uint32_t x198, uint8_t x199 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x195, Return x105, Return x196);
- uint32_t x200 = (x119 & 0x1fffff);
- uint32_t x202, uint8_t x203 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x199, Return x108, Return x200);
- uint32_t x204 = (x119 & 0x3fffff);
- uint32_t x206, uint8_t x207 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x203, Return x111, Return x204);
- uint32_t x208 = (x119 & 0x1fffff);
- uint32_t x210, uint8_t x211 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x207, Return x114, Return x208);
- uint32_t x212 = (x119 & 0x1fffff);
- uint32_t x214, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x211, Return x117, Return x212);
- (Return x214, Return x210, Return x206, Return x202, Return x198, Return x194, Return x190, Return x186, Return x182, Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.v b/src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.v
deleted file mode 100644
index 6708f2099..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_24limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e512m569_24limbs/py_interpreter.sh b/src/Specific/solinas32_2e512m569_24limbs/py_interpreter.sh
deleted file mode 100755
index b9714844c..000000000
--- a/src/Specific/solinas32_2e512m569_24limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 569' -Dmodulus_bytes='21 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas32_2e512m569_25limbs/CurveParameters.v b/src/Specific/solinas32_2e512m569_25limbs/CurveParameters.v
deleted file mode 100644
index d3f7a5042..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 569
-Base: 20 + 12/25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 25%nat;
- base := 20 + 12/25;
- bitwidth := 32;
- s := 2^512;
- c := [(1, 569)];
- carry_chains := Some [seq 0 (pred 25); [0; 1]]%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_2e512m569_25limbs/Synthesis.v b/src/Specific/solinas32_2e512m569_25limbs/Synthesis.v
deleted file mode 100644
index 00691ffb7..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/compiler.sh b/src/Specific/solinas32_2e512m569_25limbs/compiler.sh
deleted file mode 100755
index 4094fb440..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,20}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='25' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas32_2e512m569_25limbs/compilerxx.sh b/src/Specific/solinas32_2e512m569_25limbs/compilerxx.sh
deleted file mode 100755
index f8a05fc6b..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,21,20,20}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='25' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas32_2e512m569_25limbs/feadd.c b/src/Specific/solinas32_2e512m569_25limbs/feadd.c
deleted file mode 100644
index f297d1eee..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/feadd.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void feadd(uint32_t out[25], const uint32_t in1[25], const uint32_t in2[25]) {
- { const uint32_t x50 = in1[24];
- { const uint32_t x51 = in1[23];
- { const uint32_t x49 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x98 = in2[24];
- { const uint32_t x99 = in2[23];
- { const uint32_t x97 = in2[22];
- { const uint32_t x95 = in2[21];
- { const uint32_t x93 = in2[20];
- { const uint32_t x91 = in2[19];
- { const uint32_t x89 = in2[18];
- { const uint32_t x87 = in2[17];
- { const uint32_t x85 = in2[16];
- { const uint32_t x83 = in2[15];
- { const uint32_t x81 = in2[14];
- { const uint32_t x79 = in2[13];
- { const uint32_t x77 = in2[12];
- { const uint32_t x75 = in2[11];
- { const uint32_t x73 = in2[10];
- { const uint32_t x71 = in2[9];
- { const uint32_t x69 = in2[8];
- { const uint32_t x67 = in2[7];
- { const uint32_t x65 = in2[6];
- { const uint32_t x63 = in2[5];
- { const uint32_t x61 = in2[4];
- { const uint32_t x59 = in2[3];
- { const uint32_t x57 = in2[2];
- { const uint32_t x55 = in2[1];
- { const uint32_t x53 = in2[0];
- out[0] = (x5 + x53);
- out[1] = (x7 + x55);
- out[2] = (x9 + x57);
- out[3] = (x11 + x59);
- out[4] = (x13 + x61);
- out[5] = (x15 + x63);
- out[6] = (x17 + x65);
- out[7] = (x19 + x67);
- out[8] = (x21 + x69);
- out[9] = (x23 + x71);
- out[10] = (x25 + x73);
- out[11] = (x27 + x75);
- out[12] = (x29 + x77);
- out[13] = (x31 + x79);
- out[14] = (x33 + x81);
- out[15] = (x35 + x83);
- out[16] = (x37 + x85);
- out[17] = (x39 + x87);
- out[18] = (x41 + x89);
- out[19] = (x43 + x91);
- out[20] = (x45 + x93);
- out[21] = (x47 + x95);
- out[22] = (x49 + x97);
- out[23] = (x51 + x99);
- out[24] = (x50 + x98);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_25limbs/feadd.v b/src/Specific/solinas32_2e512m569_25limbs/feadd.v
deleted file mode 100644
index 888acda1e..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/feaddDisplay.log b/src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.log
deleted file mode 100644
index a5f61c9b9..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x98, x99, x97, x95, x93, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53))%core,
- ((x50 + x98), (x51 + x99), (x49 + x97), (x47 + x95), (x45 + x93), (x43 + x91), (x41 + x89), (x39 + x87), (x37 + x85), (x35 + x83), (x33 + x81), (x31 + x79), (x29 + x77), (x27 + x75), (x25 + x73), (x23 + x71), (x21 + x69), (x19 + x67), (x17 + x65), (x15 + x63), (x13 + x61), (x11 + x59), (x9 + x57), (x7 + x55), (x5 + x53)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.v b/src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.v
deleted file mode 100644
index a0377aadf..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fecarry.v b/src/Specific/solinas32_2e512m569_25limbs/fecarry.v
deleted file mode 100644
index c7635653c..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/fecarryDisplay.v b/src/Specific/solinas32_2e512m569_25limbs/fecarryDisplay.v
deleted file mode 100644
index 73792e5c2..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e512m569_25limbs/femul.v b/src/Specific/solinas32_2e512m569_25limbs/femul.v
deleted file mode 100644
index 54090d4de..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/femulDisplay.v b/src/Specific/solinas32_2e512m569_25limbs/femulDisplay.v
deleted file mode 100644
index 1f2a84bc8..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fesquare.c b/src/Specific/solinas32_2e512m569_25limbs/fesquare.c
deleted file mode 100644
index 7ec3e8d64..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesquare.c
+++ /dev/null
@@ -1,158 +0,0 @@
-static void fesquare(uint32_t out[25], const uint32_t in1[25]) {
- { const uint32_t x47 = in1[24];
- { const uint32_t x48 = in1[23];
- { const uint32_t x46 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x49 = (((uint64_t)x2 * x47) + ((0x2 * ((uint64_t)x4 * x48)) + (((uint64_t)x6 * x46) + ((0x2 * ((uint64_t)x8 * x44)) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + ((0x2 * ((uint64_t)x16 * x36)) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + ((0x2 * ((uint64_t)x36 * x16)) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + ((0x2 * ((uint64_t)x44 * x8)) + (((uint64_t)x46 * x6) + ((0x2 * ((uint64_t)x48 * x4)) + ((uint64_t)x47 * x2)))))))))))))))))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x48) + (((uint64_t)x4 * x46) + (((uint64_t)x6 * x44) + (((uint64_t)x8 * x42) + (((uint64_t)x10 * x40) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + (((uint64_t)x40 * x10) + (((uint64_t)x42 * x8) + (((uint64_t)x44 * x6) + (((uint64_t)x46 * x4) + ((uint64_t)x48 * x2)))))))))))))))))))))))) + (0x239 * ((uint64_t)x47 * x47)));
- { uint64_t x51 = ((((uint64_t)x2 * x46) + ((0x2 * ((uint64_t)x4 * x44)) + (((uint64_t)x6 * x42) + ((0x2 * ((uint64_t)x8 * x40)) + (((uint64_t)x10 * x38) + ((0x2 * ((uint64_t)x12 * x36)) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + ((0x2 * ((uint64_t)x36 * x12)) + (((uint64_t)x38 * x10) + ((0x2 * ((uint64_t)x40 * x8)) + (((uint64_t)x42 * x6) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x46 * x2))))))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x48 * x47)) + (0x2 * ((uint64_t)x47 * x48)))));
- { uint64_t x52 = ((((uint64_t)x2 * x44) + (((uint64_t)x4 * x42) + (((uint64_t)x6 * x40) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + (((uint64_t)x40 * x6) + (((uint64_t)x42 * x4) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x239 * (((uint64_t)x46 * x47) + ((0x2 * ((uint64_t)x48 * x48)) + ((uint64_t)x47 * x46)))));
- { uint64_t x53 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x44 * x47)) + ((0x2 * ((uint64_t)x46 * x48)) + ((0x2 * ((uint64_t)x48 * x46)) + (0x2 * ((uint64_t)x47 * x44)))))));
- { uint64_t x54 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x239 * (((uint64_t)x42 * x47) + ((0x2 * ((uint64_t)x44 * x48)) + (((uint64_t)x46 * x46) + ((0x2 * ((uint64_t)x48 * x44)) + ((uint64_t)x47 * x42)))))));
- { uint64_t x55 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x40 * x47)) + ((0x2 * ((uint64_t)x42 * x48)) + ((0x2 * ((uint64_t)x44 * x46)) + ((0x2 * ((uint64_t)x46 * x44)) + ((0x2 * ((uint64_t)x48 * x42)) + (0x2 * ((uint64_t)x47 * x40)))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x239 * (((uint64_t)x38 * x47) + ((0x2 * ((uint64_t)x40 * x48)) + (((uint64_t)x42 * x46) + ((0x2 * ((uint64_t)x44 * x44)) + (((uint64_t)x46 * x42) + ((0x2 * ((uint64_t)x48 * x40)) + ((uint64_t)x47 * x38)))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x36 * x47)) + ((0x2 * ((uint64_t)x38 * x48)) + ((0x2 * ((uint64_t)x40 * x46)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + ((0x2 * ((uint64_t)x46 * x40)) + ((0x2 * ((uint64_t)x48 * x38)) + (0x2 * ((uint64_t)x47 * x36)))))))))));
- { uint64_t x58 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x239 * (((uint64_t)x34 * x47) + ((0x2 * ((uint64_t)x36 * x48)) + (((uint64_t)x38 * x46) + ((0x2 * ((uint64_t)x40 * x44)) + (((uint64_t)x42 * x42) + ((0x2 * ((uint64_t)x44 * x40)) + (((uint64_t)x46 * x38) + ((0x2 * ((uint64_t)x48 * x36)) + ((uint64_t)x47 * x34)))))))))));
- { uint64_t x59 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x32 * x47)) + ((0x2 * ((uint64_t)x34 * x48)) + ((0x2 * ((uint64_t)x36 * x46)) + ((0x2 * ((uint64_t)x38 * x44)) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + ((0x2 * ((uint64_t)x44 * x38)) + ((0x2 * ((uint64_t)x46 * x36)) + ((0x2 * ((uint64_t)x48 * x34)) + (0x2 * ((uint64_t)x47 * x32)))))))))))));
- { uint64_t x60 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x239 * (((uint64_t)x30 * x47) + ((0x2 * ((uint64_t)x32 * x48)) + (((uint64_t)x34 * x46) + ((0x2 * ((uint64_t)x36 * x44)) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + ((0x2 * ((uint64_t)x44 * x36)) + (((uint64_t)x46 * x34) + ((0x2 * ((uint64_t)x48 * x32)) + ((uint64_t)x47 * x30)))))))))))));
- { uint64_t x61 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x28 * x47)) + ((0x2 * ((uint64_t)x30 * x48)) + ((0x2 * ((uint64_t)x32 * x46)) + ((0x2 * ((uint64_t)x34 * x44)) + ((0x2 * ((uint64_t)x36 * x42)) + ((0x2 * ((uint64_t)x38 * x40)) + ((0x2 * ((uint64_t)x40 * x38)) + ((0x2 * ((uint64_t)x42 * x36)) + ((0x2 * ((uint64_t)x44 * x34)) + ((0x2 * ((uint64_t)x46 * x32)) + ((0x2 * ((uint64_t)x48 * x30)) + (0x2 * ((uint64_t)x47 * x28)))))))))))))));
- { uint64_t x62 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x239 * (((uint64_t)x26 * x47) + ((0x2 * ((uint64_t)x28 * x48)) + (((uint64_t)x30 * x46) + ((0x2 * ((uint64_t)x32 * x44)) + (((uint64_t)x34 * x42) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + (((uint64_t)x42 * x34) + ((0x2 * ((uint64_t)x44 * x32)) + (((uint64_t)x46 * x30) + ((0x2 * ((uint64_t)x48 * x28)) + ((uint64_t)x47 * x26)))))))))))))));
- { uint64_t x63 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x239 * ((0x2 * ((uint64_t)x24 * x47)) + ((0x2 * ((uint64_t)x26 * x48)) + ((0x2 * ((uint64_t)x28 * x46)) + ((0x2 * ((uint64_t)x30 * x44)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + ((0x2 * ((uint64_t)x44 * x30)) + ((0x2 * ((uint64_t)x46 * x28)) + ((0x2 * ((uint64_t)x48 * x26)) + (0x2 * ((uint64_t)x47 * x24)))))))))))))))));
- { uint64_t x64 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x239 * (((uint64_t)x22 * x47) + ((0x2 * ((uint64_t)x24 * x48)) + (((uint64_t)x26 * x46) + ((0x2 * ((uint64_t)x28 * x44)) + (((uint64_t)x30 * x42) + ((0x2 * ((uint64_t)x32 * x40)) + (((uint64_t)x34 * x38) + ((0x2 * ((uint64_t)x36 * x36)) + (((uint64_t)x38 * x34) + ((0x2 * ((uint64_t)x40 * x32)) + (((uint64_t)x42 * x30) + ((0x2 * ((uint64_t)x44 * x28)) + (((uint64_t)x46 * x26) + ((0x2 * ((uint64_t)x48 * x24)) + ((uint64_t)x47 * x22)))))))))))))))));
- { uint64_t x65 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x239 * ((0x2 * ((uint64_t)x20 * x47)) + ((0x2 * ((uint64_t)x22 * x48)) + ((0x2 * ((uint64_t)x24 * x46)) + ((0x2 * ((uint64_t)x26 * x44)) + ((0x2 * ((uint64_t)x28 * x42)) + ((0x2 * ((uint64_t)x30 * x40)) + ((0x2 * ((uint64_t)x32 * x38)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + ((0x2 * ((uint64_t)x38 * x32)) + ((0x2 * ((uint64_t)x40 * x30)) + ((0x2 * ((uint64_t)x42 * x28)) + ((0x2 * ((uint64_t)x44 * x26)) + ((0x2 * ((uint64_t)x46 * x24)) + ((0x2 * ((uint64_t)x48 * x22)) + (0x2 * ((uint64_t)x47 * x20)))))))))))))))))));
- { uint64_t x66 = ((((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)))))))) + (0x239 * (((uint64_t)x18 * x47) + ((0x2 * ((uint64_t)x20 * x48)) + (((uint64_t)x22 * x46) + ((0x2 * ((uint64_t)x24 * x44)) + (((uint64_t)x26 * x42) + ((0x2 * ((uint64_t)x28 * x40)) + (((uint64_t)x30 * x38) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + (((uint64_t)x38 * x30) + ((0x2 * ((uint64_t)x40 * x28)) + (((uint64_t)x42 * x26) + ((0x2 * ((uint64_t)x44 * x24)) + (((uint64_t)x46 * x22) + ((0x2 * ((uint64_t)x48 * x20)) + ((uint64_t)x47 * x18)))))))))))))))))));
- { uint64_t x67 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x239 * ((0x2 * ((uint64_t)x16 * x47)) + ((0x2 * ((uint64_t)x18 * x48)) + ((0x2 * ((uint64_t)x20 * x46)) + ((0x2 * ((uint64_t)x22 * x44)) + ((0x2 * ((uint64_t)x24 * x42)) + ((0x2 * ((uint64_t)x26 * x40)) + ((0x2 * ((uint64_t)x28 * x38)) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + ((0x2 * ((uint64_t)x38 * x28)) + ((0x2 * ((uint64_t)x40 * x26)) + ((0x2 * ((uint64_t)x42 * x24)) + ((0x2 * ((uint64_t)x44 * x22)) + ((0x2 * ((uint64_t)x46 * x20)) + ((0x2 * ((uint64_t)x48 * x18)) + (0x2 * ((uint64_t)x47 * x16)))))))))))))))))))));
- { uint64_t x68 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x239 * (((uint64_t)x14 * x47) + ((0x2 * ((uint64_t)x16 * x48)) + (((uint64_t)x18 * x46) + ((0x2 * ((uint64_t)x20 * x44)) + (((uint64_t)x22 * x42) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + ((0x2 * ((uint64_t)x28 * x36)) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + ((0x2 * ((uint64_t)x36 * x28)) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + (((uint64_t)x42 * x22) + ((0x2 * ((uint64_t)x44 * x20)) + (((uint64_t)x46 * x18) + ((0x2 * ((uint64_t)x48 * x16)) + ((uint64_t)x47 * x14)))))))))))))))))))));
- { uint64_t x69 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x239 * ((0x2 * ((uint64_t)x12 * x47)) + ((0x2 * ((uint64_t)x14 * x48)) + ((0x2 * ((uint64_t)x16 * x46)) + ((0x2 * ((uint64_t)x18 * x44)) + ((0x2 * ((uint64_t)x20 * x42)) + ((0x2 * ((uint64_t)x22 * x40)) + ((0x2 * ((uint64_t)x24 * x38)) + ((0x2 * ((uint64_t)x26 * x36)) + ((0x2 * ((uint64_t)x28 * x34)) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + ((0x2 * ((uint64_t)x34 * x28)) + ((0x2 * ((uint64_t)x36 * x26)) + ((0x2 * ((uint64_t)x38 * x24)) + ((0x2 * ((uint64_t)x40 * x22)) + ((0x2 * ((uint64_t)x42 * x20)) + ((0x2 * ((uint64_t)x44 * x18)) + ((0x2 * ((uint64_t)x46 * x16)) + ((0x2 * ((uint64_t)x48 * x14)) + (0x2 * ((uint64_t)x47 * x12)))))))))))))))))))))));
- { uint64_t x70 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x239 * (((uint64_t)x10 * x47) + ((0x2 * ((uint64_t)x12 * x48)) + (((uint64_t)x14 * x46) + ((0x2 * ((uint64_t)x16 * x44)) + (((uint64_t)x18 * x42) + ((0x2 * ((uint64_t)x20 * x40)) + (((uint64_t)x22 * x38) + ((0x2 * ((uint64_t)x24 * x36)) + (((uint64_t)x26 * x34) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + (((uint64_t)x34 * x26) + ((0x2 * ((uint64_t)x36 * x24)) + (((uint64_t)x38 * x22) + ((0x2 * ((uint64_t)x40 * x20)) + (((uint64_t)x42 * x18) + ((0x2 * ((uint64_t)x44 * x16)) + (((uint64_t)x46 * x14) + ((0x2 * ((uint64_t)x48 * x12)) + ((uint64_t)x47 * x10)))))))))))))))))))))));
- { uint64_t x71 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x239 * ((0x2 * ((uint64_t)x8 * x47)) + ((0x2 * ((uint64_t)x10 * x48)) + ((0x2 * ((uint64_t)x12 * x46)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + ((0x2 * ((uint64_t)x20 * x38)) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + ((0x2 * ((uint64_t)x38 * x20)) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + ((0x2 * ((uint64_t)x46 * x12)) + ((0x2 * ((uint64_t)x48 * x10)) + (0x2 * ((uint64_t)x47 * x8)))))))))))))))))))))))));
- { uint64_t x72 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x239 * (((uint64_t)x6 * x47) + ((0x2 * ((uint64_t)x8 * x48)) + (((uint64_t)x10 * x46) + ((0x2 * ((uint64_t)x12 * x44)) + (((uint64_t)x14 * x42) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + ((0x2 * ((uint64_t)x20 * x36)) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + ((0x2 * ((uint64_t)x36 * x20)) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + (((uint64_t)x42 * x14) + ((0x2 * ((uint64_t)x44 * x12)) + (((uint64_t)x46 * x10) + ((0x2 * ((uint64_t)x48 * x8)) + ((uint64_t)x47 * x6)))))))))))))))))))))))));
- { uint64_t x73 = (((uint64_t)x2 * x2) + (0x239 * ((0x2 * ((uint64_t)x4 * x47)) + ((0x2 * ((uint64_t)x6 * x48)) + ((0x2 * ((uint64_t)x8 * x46)) + ((0x2 * ((uint64_t)x10 * x44)) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + ((0x2 * ((uint64_t)x16 * x38)) + ((0x2 * ((uint64_t)x18 * x36)) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + ((0x2 * ((uint64_t)x36 * x18)) + ((0x2 * ((uint64_t)x38 * x16)) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + ((0x2 * ((uint64_t)x44 * x10)) + ((0x2 * ((uint64_t)x46 * x8)) + ((0x2 * ((uint64_t)x48 * x6)) + (0x2 * ((uint64_t)x47 * x4)))))))))))))))))))))))))));
- { uint64_t x74 = (x73 >> 0x15);
- { uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- { uint64_t x76 = (x74 + x72);
- { uint64_t x77 = (x76 >> 0x14);
- { uint32_t x78 = ((uint32_t)x76 & 0xfffff);
- { uint64_t x79 = (x77 + x71);
- { uint64_t x80 = (x79 >> 0x15);
- { uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
- { uint64_t x82 = (x80 + x70);
- { uint64_t x83 = (x82 >> 0x14);
- { uint32_t x84 = ((uint32_t)x82 & 0xfffff);
- { uint64_t x85 = (x83 + x69);
- { uint64_t x86 = (x85 >> 0x15);
- { uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- { uint64_t x88 = (x86 + x68);
- { uint64_t x89 = (x88 >> 0x14);
- { uint32_t x90 = ((uint32_t)x88 & 0xfffff);
- { uint64_t x91 = (x89 + x67);
- { uint64_t x92 = (x91 >> 0x15);
- { uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- { uint64_t x94 = (x92 + x66);
- { uint64_t x95 = (x94 >> 0x14);
- { uint32_t x96 = ((uint32_t)x94 & 0xfffff);
- { uint64_t x97 = (x95 + x65);
- { uint64_t x98 = (x97 >> 0x15);
- { uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- { uint64_t x100 = (x98 + x64);
- { uint64_t x101 = (x100 >> 0x14);
- { uint32_t x102 = ((uint32_t)x100 & 0xfffff);
- { uint64_t x103 = (x101 + x63);
- { uint64_t x104 = (x103 >> 0x15);
- { uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- { uint64_t x106 = (x104 + x62);
- { uint64_t x107 = (x106 >> 0x14);
- { uint32_t x108 = ((uint32_t)x106 & 0xfffff);
- { uint64_t x109 = (x107 + x61);
- { uint64_t x110 = (x109 >> 0x15);
- { uint32_t x111 = ((uint32_t)x109 & 0x1fffff);
- { uint64_t x112 = (x110 + x60);
- { uint64_t x113 = (x112 >> 0x14);
- { uint32_t x114 = ((uint32_t)x112 & 0xfffff);
- { uint64_t x115 = (x113 + x59);
- { uint64_t x116 = (x115 >> 0x15);
- { uint32_t x117 = ((uint32_t)x115 & 0x1fffff);
- { uint64_t x118 = (x116 + x58);
- { uint64_t x119 = (x118 >> 0x14);
- { uint32_t x120 = ((uint32_t)x118 & 0xfffff);
- { uint64_t x121 = (x119 + x57);
- { uint64_t x122 = (x121 >> 0x15);
- { uint32_t x123 = ((uint32_t)x121 & 0x1fffff);
- { uint64_t x124 = (x122 + x56);
- { uint64_t x125 = (x124 >> 0x14);
- { uint32_t x126 = ((uint32_t)x124 & 0xfffff);
- { uint64_t x127 = (x125 + x55);
- { uint64_t x128 = (x127 >> 0x15);
- { uint32_t x129 = ((uint32_t)x127 & 0x1fffff);
- { uint64_t x130 = (x128 + x54);
- { uint64_t x131 = (x130 >> 0x14);
- { uint32_t x132 = ((uint32_t)x130 & 0xfffff);
- { uint64_t x133 = (x131 + x53);
- { uint64_t x134 = (x133 >> 0x15);
- { uint32_t x135 = ((uint32_t)x133 & 0x1fffff);
- { uint64_t x136 = (x134 + x52);
- { uint64_t x137 = (x136 >> 0x14);
- { uint32_t x138 = ((uint32_t)x136 & 0xfffff);
- { uint64_t x139 = (x137 + x51);
- { uint64_t x140 = (x139 >> 0x15);
- { uint32_t x141 = ((uint32_t)x139 & 0x1fffff);
- { uint64_t x142 = (x140 + x50);
- { uint64_t x143 = (x142 >> 0x14);
- { uint32_t x144 = ((uint32_t)x142 & 0xfffff);
- { uint64_t x145 = (x143 + x49);
- { uint32_t x146 = (uint32_t) (x145 >> 0x14);
- { uint32_t x147 = ((uint32_t)x145 & 0xfffff);
- { uint64_t x148 = (x75 + ((uint64_t)0x239 * x146));
- { uint32_t x149 = (uint32_t) (x148 >> 0x15);
- { uint32_t x150 = ((uint32_t)x148 & 0x1fffff);
- { uint32_t x151 = (x149 + x78);
- { uint32_t x152 = (x151 >> 0x14);
- { uint32_t x153 = (x151 & 0xfffff);
- out[0] = x150;
- out[1] = x153;
- out[2] = (x152 + x81);
- out[3] = x84;
- out[4] = x87;
- out[5] = x90;
- out[6] = x93;
- out[7] = x96;
- out[8] = x99;
- out[9] = x102;
- out[10] = x105;
- out[11] = x108;
- out[12] = x111;
- out[13] = x114;
- out[14] = x117;
- out[15] = x120;
- out[16] = x123;
- out[17] = x126;
- out[18] = x129;
- out[19] = x132;
- out[20] = x135;
- out[21] = x138;
- out[22] = x141;
- out[23] = x144;
- out[24] = x147;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fesquare.v b/src/Specific/solinas32_2e512m569_25limbs/fesquare.v
deleted file mode 100644
index 1bd784456..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/fesquareDisplay.log b/src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.log
deleted file mode 100644
index 656e9ee16..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,112 +0,0 @@
-λ x : 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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x47, x48, x46, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x49 = (((uint64_t)x2 * x47) + ((0x2 * ((uint64_t)x4 * x48)) + (((uint64_t)x6 * x46) + ((0x2 * ((uint64_t)x8 * x44)) + (((uint64_t)x10 * x42) + ((0x2 * ((uint64_t)x12 * x40)) + (((uint64_t)x14 * x38) + ((0x2 * ((uint64_t)x16 * x36)) + (((uint64_t)x18 * x34) + ((0x2 * ((uint64_t)x20 * x32)) + (((uint64_t)x22 * x30) + ((0x2 * ((uint64_t)x24 * x28)) + (((uint64_t)x26 * x26) + ((0x2 * ((uint64_t)x28 * x24)) + (((uint64_t)x30 * x22) + ((0x2 * ((uint64_t)x32 * x20)) + (((uint64_t)x34 * x18) + ((0x2 * ((uint64_t)x36 * x16)) + (((uint64_t)x38 * x14) + ((0x2 * ((uint64_t)x40 * x12)) + (((uint64_t)x42 * x10) + ((0x2 * ((uint64_t)x44 * x8)) + (((uint64_t)x46 * x6) + ((0x2 * ((uint64_t)x48 * x4)) + ((uint64_t)x47 * x2)))))))))))))))))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x48) + (((uint64_t)x4 * x46) + (((uint64_t)x6 * x44) + (((uint64_t)x8 * x42) + (((uint64_t)x10 * x40) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + (((uint64_t)x40 * x10) + (((uint64_t)x42 * x8) + (((uint64_t)x44 * x6) + (((uint64_t)x46 * x4) + ((uint64_t)x48 * x2)))))))))))))))))))))))) + (0x239 * ((uint64_t)x47 * x47)));
- uint64_t x51 = ((((uint64_t)x2 * x46) + ((0x2 * ((uint64_t)x4 * x44)) + (((uint64_t)x6 * x42) + ((0x2 * ((uint64_t)x8 * x40)) + (((uint64_t)x10 * x38) + ((0x2 * ((uint64_t)x12 * x36)) + (((uint64_t)x14 * x34) + ((0x2 * ((uint64_t)x16 * x32)) + (((uint64_t)x18 * x30) + ((0x2 * ((uint64_t)x20 * x28)) + (((uint64_t)x22 * x26) + ((0x2 * ((uint64_t)x24 * x24)) + (((uint64_t)x26 * x22) + ((0x2 * ((uint64_t)x28 * x20)) + (((uint64_t)x30 * x18) + ((0x2 * ((uint64_t)x32 * x16)) + (((uint64_t)x34 * x14) + ((0x2 * ((uint64_t)x36 * x12)) + (((uint64_t)x38 * x10) + ((0x2 * ((uint64_t)x40 * x8)) + (((uint64_t)x42 * x6) + ((0x2 * ((uint64_t)x44 * x4)) + ((uint64_t)x46 * x2))))))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x48 * x47)) + (0x2 * ((uint64_t)x47 * x48)))));
- uint64_t x52 = ((((uint64_t)x2 * x44) + (((uint64_t)x4 * x42) + (((uint64_t)x6 * x40) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + (((uint64_t)x40 * x6) + (((uint64_t)x42 * x4) + ((uint64_t)x44 * x2)))))))))))))))))))))) + (0x239 * (((uint64_t)x46 * x47) + ((0x2 * ((uint64_t)x48 * x48)) + ((uint64_t)x47 * x46)))));
- uint64_t x53 = ((((uint64_t)x2 * x42) + ((0x2 * ((uint64_t)x4 * x40)) + (((uint64_t)x6 * x38) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + ((0x2 * ((uint64_t)x16 * x28)) + (((uint64_t)x18 * x26) + ((0x2 * ((uint64_t)x20 * x24)) + (((uint64_t)x22 * x22) + ((0x2 * ((uint64_t)x24 * x20)) + (((uint64_t)x26 * x18) + ((0x2 * ((uint64_t)x28 * x16)) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + (((uint64_t)x38 * x6) + ((0x2 * ((uint64_t)x40 * x4)) + ((uint64_t)x42 * x2))))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x44 * x47)) + ((0x2 * ((uint64_t)x46 * x48)) + ((0x2 * ((uint64_t)x48 * x46)) + (0x2 * ((uint64_t)x47 * x44)))))));
- uint64_t x54 = ((((uint64_t)x2 * x40) + (((uint64_t)x4 * x38) + (((uint64_t)x6 * x36) + (((uint64_t)x8 * x34) + (((uint64_t)x10 * x32) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + (((uint64_t)x32 * x10) + (((uint64_t)x34 * x8) + (((uint64_t)x36 * x6) + (((uint64_t)x38 * x4) + ((uint64_t)x40 * x2)))))))))))))))))))) + (0x239 * (((uint64_t)x42 * x47) + ((0x2 * ((uint64_t)x44 * x48)) + (((uint64_t)x46 * x46) + ((0x2 * ((uint64_t)x48 * x44)) + ((uint64_t)x47 * x42)))))));
- uint64_t x55 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + (((uint64_t)x14 * x26) + ((0x2 * ((uint64_t)x16 * x24)) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((0x2 * ((uint64_t)x24 * x16)) + (((uint64_t)x26 * x14) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x40 * x47)) + ((0x2 * ((uint64_t)x42 * x48)) + ((0x2 * ((uint64_t)x44 * x46)) + ((0x2 * ((uint64_t)x46 * x44)) + ((0x2 * ((uint64_t)x48 * x42)) + (0x2 * ((uint64_t)x47 * x40)))))))));
- uint64_t x56 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + (0x239 * (((uint64_t)x38 * x47) + ((0x2 * ((uint64_t)x40 * x48)) + (((uint64_t)x42 * x46) + ((0x2 * ((uint64_t)x44 * x44)) + (((uint64_t)x46 * x42) + ((0x2 * ((uint64_t)x48 * x40)) + ((uint64_t)x47 * x38)))))))));
- uint64_t x57 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + (((uint64_t)x10 * x26) + ((0x2 * ((uint64_t)x12 * x24)) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((0x2 * ((uint64_t)x24 * x12)) + (((uint64_t)x26 * x10) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x36 * x47)) + ((0x2 * ((uint64_t)x38 * x48)) + ((0x2 * ((uint64_t)x40 * x46)) + ((0x2 * ((uint64_t)x42 * x44)) + ((0x2 * ((uint64_t)x44 * x42)) + ((0x2 * ((uint64_t)x46 * x40)) + ((0x2 * ((uint64_t)x48 * x38)) + (0x2 * ((uint64_t)x47 * x36)))))))))));
- uint64_t x58 = ((((uint64_t)x2 * x32) + (((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)x32 * x2)))))))))))))))) + (0x239 * (((uint64_t)x34 * x47) + ((0x2 * ((uint64_t)x36 * x48)) + (((uint64_t)x38 * x46) + ((0x2 * ((uint64_t)x40 * x44)) + (((uint64_t)x42 * x42) + ((0x2 * ((uint64_t)x44 * x40)) + (((uint64_t)x46 * x38) + ((0x2 * ((uint64_t)x48 * x36)) + ((uint64_t)x47 * x34)))))))))));
- uint64_t x59 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + (((uint64_t)x6 * x26) + ((0x2 * ((uint64_t)x8 * x24)) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((0x2 * ((uint64_t)x24 * x8)) + (((uint64_t)x26 * x6) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x32 * x47)) + ((0x2 * ((uint64_t)x34 * x48)) + ((0x2 * ((uint64_t)x36 * x46)) + ((0x2 * ((uint64_t)x38 * x44)) + ((0x2 * ((uint64_t)x40 * x42)) + ((0x2 * ((uint64_t)x42 * x40)) + ((0x2 * ((uint64_t)x44 * x38)) + ((0x2 * ((uint64_t)x46 * x36)) + ((0x2 * ((uint64_t)x48 * x34)) + (0x2 * ((uint64_t)x47 * x32)))))))))))));
- uint64_t x60 = ((((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)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x239 * (((uint64_t)x30 * x47) + ((0x2 * ((uint64_t)x32 * x48)) + (((uint64_t)x34 * x46) + ((0x2 * ((uint64_t)x36 * x44)) + (((uint64_t)x38 * x42) + ((0x2 * ((uint64_t)x40 * x40)) + (((uint64_t)x42 * x38) + ((0x2 * ((uint64_t)x44 * x36)) + (((uint64_t)x46 * x34) + ((0x2 * ((uint64_t)x48 * x32)) + ((uint64_t)x47 * x30)))))))))))));
- uint64_t x61 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + (((uint64_t)x6 * x22) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + (((uint64_t)x22 * x6) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x239 * ((0x2 * ((uint64_t)x28 * x47)) + ((0x2 * ((uint64_t)x30 * x48)) + ((0x2 * ((uint64_t)x32 * x46)) + ((0x2 * ((uint64_t)x34 * x44)) + ((0x2 * ((uint64_t)x36 * x42)) + ((0x2 * ((uint64_t)x38 * x40)) + ((0x2 * ((uint64_t)x40 * x38)) + ((0x2 * ((uint64_t)x42 * x36)) + ((0x2 * ((uint64_t)x44 * x34)) + ((0x2 * ((uint64_t)x46 * x32)) + ((0x2 * ((uint64_t)x48 * x30)) + (0x2 * ((uint64_t)x47 * x28)))))))))))))));
- uint64_t x62 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x239 * (((uint64_t)x26 * x47) + ((0x2 * ((uint64_t)x28 * x48)) + (((uint64_t)x30 * x46) + ((0x2 * ((uint64_t)x32 * x44)) + (((uint64_t)x34 * x42) + ((0x2 * ((uint64_t)x36 * x40)) + (((uint64_t)x38 * x38) + ((0x2 * ((uint64_t)x40 * x36)) + (((uint64_t)x42 * x34) + ((0x2 * ((uint64_t)x44 * x32)) + (((uint64_t)x46 * x30) + ((0x2 * ((uint64_t)x48 * x28)) + ((uint64_t)x47 * x26)))))))))))))));
- uint64_t x63 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x239 * ((0x2 * ((uint64_t)x24 * x47)) + ((0x2 * ((uint64_t)x26 * x48)) + ((0x2 * ((uint64_t)x28 * x46)) + ((0x2 * ((uint64_t)x30 * x44)) + ((0x2 * ((uint64_t)x32 * x42)) + ((0x2 * ((uint64_t)x34 * x40)) + ((0x2 * ((uint64_t)x36 * x38)) + ((0x2 * ((uint64_t)x38 * x36)) + ((0x2 * ((uint64_t)x40 * x34)) + ((0x2 * ((uint64_t)x42 * x32)) + ((0x2 * ((uint64_t)x44 * x30)) + ((0x2 * ((uint64_t)x46 * x28)) + ((0x2 * ((uint64_t)x48 * x26)) + (0x2 * ((uint64_t)x47 * x24)))))))))))))))));
- uint64_t x64 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((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)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x239 * (((uint64_t)x22 * x47) + ((0x2 * ((uint64_t)x24 * x48)) + (((uint64_t)x26 * x46) + ((0x2 * ((uint64_t)x28 * x44)) + (((uint64_t)x30 * x42) + ((0x2 * ((uint64_t)x32 * x40)) + (((uint64_t)x34 * x38) + ((0x2 * ((uint64_t)x36 * x36)) + (((uint64_t)x38 * x34) + ((0x2 * ((uint64_t)x40 * x32)) + (((uint64_t)x42 * x30) + ((0x2 * ((uint64_t)x44 * x28)) + (((uint64_t)x46 * x26) + ((0x2 * ((uint64_t)x48 * x24)) + ((uint64_t)x47 * x22)))))))))))))))));
- uint64_t x65 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x239 * ((0x2 * ((uint64_t)x20 * x47)) + ((0x2 * ((uint64_t)x22 * x48)) + ((0x2 * ((uint64_t)x24 * x46)) + ((0x2 * ((uint64_t)x26 * x44)) + ((0x2 * ((uint64_t)x28 * x42)) + ((0x2 * ((uint64_t)x30 * x40)) + ((0x2 * ((uint64_t)x32 * x38)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + ((0x2 * ((uint64_t)x38 * x32)) + ((0x2 * ((uint64_t)x40 * x30)) + ((0x2 * ((uint64_t)x42 * x28)) + ((0x2 * ((uint64_t)x44 * x26)) + ((0x2 * ((uint64_t)x46 * x24)) + ((0x2 * ((uint64_t)x48 * x22)) + (0x2 * ((uint64_t)x47 * x20)))))))))))))))))));
- uint64_t x66 = ((((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)))))))) + (0x239 * (((uint64_t)x18 * x47) + ((0x2 * ((uint64_t)x20 * x48)) + (((uint64_t)x22 * x46) + ((0x2 * ((uint64_t)x24 * x44)) + (((uint64_t)x26 * x42) + ((0x2 * ((uint64_t)x28 * x40)) + (((uint64_t)x30 * x38) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + (((uint64_t)x38 * x30) + ((0x2 * ((uint64_t)x40 * x28)) + (((uint64_t)x42 * x26) + ((0x2 * ((uint64_t)x44 * x24)) + (((uint64_t)x46 * x22) + ((0x2 * ((uint64_t)x48 * x20)) + ((uint64_t)x47 * x18)))))))))))))))))));
- uint64_t x67 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x239 * ((0x2 * ((uint64_t)x16 * x47)) + ((0x2 * ((uint64_t)x18 * x48)) + ((0x2 * ((uint64_t)x20 * x46)) + ((0x2 * ((uint64_t)x22 * x44)) + ((0x2 * ((uint64_t)x24 * x42)) + ((0x2 * ((uint64_t)x26 * x40)) + ((0x2 * ((uint64_t)x28 * x38)) + ((0x2 * ((uint64_t)x30 * x36)) + ((0x2 * ((uint64_t)x32 * x34)) + ((0x2 * ((uint64_t)x34 * x32)) + ((0x2 * ((uint64_t)x36 * x30)) + ((0x2 * ((uint64_t)x38 * x28)) + ((0x2 * ((uint64_t)x40 * x26)) + ((0x2 * ((uint64_t)x42 * x24)) + ((0x2 * ((uint64_t)x44 * x22)) + ((0x2 * ((uint64_t)x46 * x20)) + ((0x2 * ((uint64_t)x48 * x18)) + (0x2 * ((uint64_t)x47 * x16)))))))))))))))))))));
- uint64_t x68 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x239 * (((uint64_t)x14 * x47) + ((0x2 * ((uint64_t)x16 * x48)) + (((uint64_t)x18 * x46) + ((0x2 * ((uint64_t)x20 * x44)) + (((uint64_t)x22 * x42) + ((0x2 * ((uint64_t)x24 * x40)) + (((uint64_t)x26 * x38) + ((0x2 * ((uint64_t)x28 * x36)) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + ((0x2 * ((uint64_t)x36 * x28)) + (((uint64_t)x38 * x26) + ((0x2 * ((uint64_t)x40 * x24)) + (((uint64_t)x42 * x22) + ((0x2 * ((uint64_t)x44 * x20)) + (((uint64_t)x46 * x18) + ((0x2 * ((uint64_t)x48 * x16)) + ((uint64_t)x47 * x14)))))))))))))))))))));
- uint64_t x69 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x239 * ((0x2 * ((uint64_t)x12 * x47)) + ((0x2 * ((uint64_t)x14 * x48)) + ((0x2 * ((uint64_t)x16 * x46)) + ((0x2 * ((uint64_t)x18 * x44)) + ((0x2 * ((uint64_t)x20 * x42)) + ((0x2 * ((uint64_t)x22 * x40)) + ((0x2 * ((uint64_t)x24 * x38)) + ((0x2 * ((uint64_t)x26 * x36)) + ((0x2 * ((uint64_t)x28 * x34)) + ((0x2 * ((uint64_t)x30 * x32)) + ((0x2 * ((uint64_t)x32 * x30)) + ((0x2 * ((uint64_t)x34 * x28)) + ((0x2 * ((uint64_t)x36 * x26)) + ((0x2 * ((uint64_t)x38 * x24)) + ((0x2 * ((uint64_t)x40 * x22)) + ((0x2 * ((uint64_t)x42 * x20)) + ((0x2 * ((uint64_t)x44 * x18)) + ((0x2 * ((uint64_t)x46 * x16)) + ((0x2 * ((uint64_t)x48 * x14)) + (0x2 * ((uint64_t)x47 * x12)))))))))))))))))))))));
- uint64_t x70 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x239 * (((uint64_t)x10 * x47) + ((0x2 * ((uint64_t)x12 * x48)) + (((uint64_t)x14 * x46) + ((0x2 * ((uint64_t)x16 * x44)) + (((uint64_t)x18 * x42) + ((0x2 * ((uint64_t)x20 * x40)) + (((uint64_t)x22 * x38) + ((0x2 * ((uint64_t)x24 * x36)) + (((uint64_t)x26 * x34) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + (((uint64_t)x34 * x26) + ((0x2 * ((uint64_t)x36 * x24)) + (((uint64_t)x38 * x22) + ((0x2 * ((uint64_t)x40 * x20)) + (((uint64_t)x42 * x18) + ((0x2 * ((uint64_t)x44 * x16)) + (((uint64_t)x46 * x14) + ((0x2 * ((uint64_t)x48 * x12)) + ((uint64_t)x47 * x10)))))))))))))))))))))));
- uint64_t x71 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x239 * ((0x2 * ((uint64_t)x8 * x47)) + ((0x2 * ((uint64_t)x10 * x48)) + ((0x2 * ((uint64_t)x12 * x46)) + ((0x2 * ((uint64_t)x14 * x44)) + ((0x2 * ((uint64_t)x16 * x42)) + ((0x2 * ((uint64_t)x18 * x40)) + ((0x2 * ((uint64_t)x20 * x38)) + ((0x2 * ((uint64_t)x22 * x36)) + ((0x2 * ((uint64_t)x24 * x34)) + ((0x2 * ((uint64_t)x26 * x32)) + ((0x2 * ((uint64_t)x28 * x30)) + ((0x2 * ((uint64_t)x30 * x28)) + ((0x2 * ((uint64_t)x32 * x26)) + ((0x2 * ((uint64_t)x34 * x24)) + ((0x2 * ((uint64_t)x36 * x22)) + ((0x2 * ((uint64_t)x38 * x20)) + ((0x2 * ((uint64_t)x40 * x18)) + ((0x2 * ((uint64_t)x42 * x16)) + ((0x2 * ((uint64_t)x44 * x14)) + ((0x2 * ((uint64_t)x46 * x12)) + ((0x2 * ((uint64_t)x48 * x10)) + (0x2 * ((uint64_t)x47 * x8)))))))))))))))))))))))));
- uint64_t x72 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x239 * (((uint64_t)x6 * x47) + ((0x2 * ((uint64_t)x8 * x48)) + (((uint64_t)x10 * x46) + ((0x2 * ((uint64_t)x12 * x44)) + (((uint64_t)x14 * x42) + ((0x2 * ((uint64_t)x16 * x40)) + (((uint64_t)x18 * x38) + ((0x2 * ((uint64_t)x20 * x36)) + (((uint64_t)x22 * x34) + ((0x2 * ((uint64_t)x24 * x32)) + (((uint64_t)x26 * x30) + ((0x2 * ((uint64_t)x28 * x28)) + (((uint64_t)x30 * x26) + ((0x2 * ((uint64_t)x32 * x24)) + (((uint64_t)x34 * x22) + ((0x2 * ((uint64_t)x36 * x20)) + (((uint64_t)x38 * x18) + ((0x2 * ((uint64_t)x40 * x16)) + (((uint64_t)x42 * x14) + ((0x2 * ((uint64_t)x44 * x12)) + (((uint64_t)x46 * x10) + ((0x2 * ((uint64_t)x48 * x8)) + ((uint64_t)x47 * x6)))))))))))))))))))))))));
- uint64_t x73 = (((uint64_t)x2 * x2) + (0x239 * ((0x2 * ((uint64_t)x4 * x47)) + ((0x2 * ((uint64_t)x6 * x48)) + ((0x2 * ((uint64_t)x8 * x46)) + ((0x2 * ((uint64_t)x10 * x44)) + ((0x2 * ((uint64_t)x12 * x42)) + ((0x2 * ((uint64_t)x14 * x40)) + ((0x2 * ((uint64_t)x16 * x38)) + ((0x2 * ((uint64_t)x18 * x36)) + ((0x2 * ((uint64_t)x20 * x34)) + ((0x2 * ((uint64_t)x22 * x32)) + ((0x2 * ((uint64_t)x24 * x30)) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + ((0x2 * ((uint64_t)x30 * x24)) + ((0x2 * ((uint64_t)x32 * x22)) + ((0x2 * ((uint64_t)x34 * x20)) + ((0x2 * ((uint64_t)x36 * x18)) + ((0x2 * ((uint64_t)x38 * x16)) + ((0x2 * ((uint64_t)x40 * x14)) + ((0x2 * ((uint64_t)x42 * x12)) + ((0x2 * ((uint64_t)x44 * x10)) + ((0x2 * ((uint64_t)x46 * x8)) + ((0x2 * ((uint64_t)x48 * x6)) + (0x2 * ((uint64_t)x47 * x4)))))))))))))))))))))))))));
- uint64_t x74 = (x73 >> 0x15);
- uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
- uint64_t x76 = (x74 + x72);
- uint64_t x77 = (x76 >> 0x14);
- uint32_t x78 = ((uint32_t)x76 & 0xfffff);
- uint64_t x79 = (x77 + x71);
- uint64_t x80 = (x79 >> 0x15);
- uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
- uint64_t x82 = (x80 + x70);
- uint64_t x83 = (x82 >> 0x14);
- uint32_t x84 = ((uint32_t)x82 & 0xfffff);
- uint64_t x85 = (x83 + x69);
- uint64_t x86 = (x85 >> 0x15);
- uint32_t x87 = ((uint32_t)x85 & 0x1fffff);
- uint64_t x88 = (x86 + x68);
- uint64_t x89 = (x88 >> 0x14);
- uint32_t x90 = ((uint32_t)x88 & 0xfffff);
- uint64_t x91 = (x89 + x67);
- uint64_t x92 = (x91 >> 0x15);
- uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
- uint64_t x94 = (x92 + x66);
- uint64_t x95 = (x94 >> 0x14);
- uint32_t x96 = ((uint32_t)x94 & 0xfffff);
- uint64_t x97 = (x95 + x65);
- uint64_t x98 = (x97 >> 0x15);
- uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
- uint64_t x100 = (x98 + x64);
- uint64_t x101 = (x100 >> 0x14);
- uint32_t x102 = ((uint32_t)x100 & 0xfffff);
- uint64_t x103 = (x101 + x63);
- uint64_t x104 = (x103 >> 0x15);
- uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
- uint64_t x106 = (x104 + x62);
- uint64_t x107 = (x106 >> 0x14);
- uint32_t x108 = ((uint32_t)x106 & 0xfffff);
- uint64_t x109 = (x107 + x61);
- uint64_t x110 = (x109 >> 0x15);
- uint32_t x111 = ((uint32_t)x109 & 0x1fffff);
- uint64_t x112 = (x110 + x60);
- uint64_t x113 = (x112 >> 0x14);
- uint32_t x114 = ((uint32_t)x112 & 0xfffff);
- uint64_t x115 = (x113 + x59);
- uint64_t x116 = (x115 >> 0x15);
- uint32_t x117 = ((uint32_t)x115 & 0x1fffff);
- uint64_t x118 = (x116 + x58);
- uint64_t x119 = (x118 >> 0x14);
- uint32_t x120 = ((uint32_t)x118 & 0xfffff);
- uint64_t x121 = (x119 + x57);
- uint64_t x122 = (x121 >> 0x15);
- uint32_t x123 = ((uint32_t)x121 & 0x1fffff);
- uint64_t x124 = (x122 + x56);
- uint64_t x125 = (x124 >> 0x14);
- uint32_t x126 = ((uint32_t)x124 & 0xfffff);
- uint64_t x127 = (x125 + x55);
- uint64_t x128 = (x127 >> 0x15);
- uint32_t x129 = ((uint32_t)x127 & 0x1fffff);
- uint64_t x130 = (x128 + x54);
- uint64_t x131 = (x130 >> 0x14);
- uint32_t x132 = ((uint32_t)x130 & 0xfffff);
- uint64_t x133 = (x131 + x53);
- uint64_t x134 = (x133 >> 0x15);
- uint32_t x135 = ((uint32_t)x133 & 0x1fffff);
- uint64_t x136 = (x134 + x52);
- uint64_t x137 = (x136 >> 0x14);
- uint32_t x138 = ((uint32_t)x136 & 0xfffff);
- uint64_t x139 = (x137 + x51);
- uint64_t x140 = (x139 >> 0x15);
- uint32_t x141 = ((uint32_t)x139 & 0x1fffff);
- uint64_t x142 = (x140 + x50);
- uint64_t x143 = (x142 >> 0x14);
- uint32_t x144 = ((uint32_t)x142 & 0xfffff);
- uint64_t x145 = (x143 + x49);
- uint32_t x146 = (uint32_t) (x145 >> 0x14);
- uint32_t x147 = ((uint32_t)x145 & 0xfffff);
- uint64_t x148 = (x75 + ((uint64_t)0x239 * x146));
- uint32_t x149 = (uint32_t) (x148 >> 0x15);
- uint32_t x150 = ((uint32_t)x148 & 0x1fffff);
- uint32_t x151 = (x149 + x78);
- uint32_t x152 = (x151 >> 0x14);
- uint32_t x153 = (x151 & 0xfffff);
- return (Return x147, Return x144, Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, (x152 + x81), Return x153, Return x150))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.v b/src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.v
deleted file mode 100644
index 603896064..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fesub.c b/src/Specific/solinas32_2e512m569_25limbs/fesub.c
deleted file mode 100644
index fb6b779e3..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesub.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void fesub(uint32_t out[25], const uint32_t in1[25], const uint32_t in2[25]) {
- { const uint32_t x50 = in1[24];
- { const uint32_t x51 = in1[23];
- { const uint32_t x49 = in1[22];
- { const uint32_t x47 = in1[21];
- { const uint32_t x45 = in1[20];
- { const uint32_t x43 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x98 = in2[24];
- { const uint32_t x99 = in2[23];
- { const uint32_t x97 = in2[22];
- { const uint32_t x95 = in2[21];
- { const uint32_t x93 = in2[20];
- { const uint32_t x91 = in2[19];
- { const uint32_t x89 = in2[18];
- { const uint32_t x87 = in2[17];
- { const uint32_t x85 = in2[16];
- { const uint32_t x83 = in2[15];
- { const uint32_t x81 = in2[14];
- { const uint32_t x79 = in2[13];
- { const uint32_t x77 = in2[12];
- { const uint32_t x75 = in2[11];
- { const uint32_t x73 = in2[10];
- { const uint32_t x71 = in2[9];
- { const uint32_t x69 = in2[8];
- { const uint32_t x67 = in2[7];
- { const uint32_t x65 = in2[6];
- { const uint32_t x63 = in2[5];
- { const uint32_t x61 = in2[4];
- { const uint32_t x59 = in2[3];
- { const uint32_t x57 = in2[2];
- { const uint32_t x55 = in2[1];
- { const uint32_t x53 = in2[0];
- out[0] = ((0x3ffb8e + x5) - x53);
- out[1] = ((0x1ffffe + x7) - x55);
- out[2] = ((0x3ffffe + x9) - x57);
- out[3] = ((0x1ffffe + x11) - x59);
- out[4] = ((0x3ffffe + x13) - x61);
- out[5] = ((0x1ffffe + x15) - x63);
- out[6] = ((0x3ffffe + x17) - x65);
- out[7] = ((0x1ffffe + x19) - x67);
- out[8] = ((0x3ffffe + x21) - x69);
- out[9] = ((0x1ffffe + x23) - x71);
- out[10] = ((0x3ffffe + x25) - x73);
- out[11] = ((0x1ffffe + x27) - x75);
- out[12] = ((0x3ffffe + x29) - x77);
- out[13] = ((0x1ffffe + x31) - x79);
- out[14] = ((0x3ffffe + x33) - x81);
- out[15] = ((0x1ffffe + x35) - x83);
- out[16] = ((0x3ffffe + x37) - x85);
- out[17] = ((0x1ffffe + x39) - x87);
- out[18] = ((0x3ffffe + x41) - x89);
- out[19] = ((0x1ffffe + x43) - x91);
- out[20] = ((0x3ffffe + x45) - x93);
- out[21] = ((0x1ffffe + x47) - x95);
- out[22] = ((0x3ffffe + x49) - x97);
- out[23] = ((0x1ffffe + x51) - x99);
- out[24] = ((0x1ffffe + x50) - x98);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fesub.v b/src/Specific/solinas32_2e512m569_25limbs/fesub.v
deleted file mode 100644
index 4b1c1bc8d..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/fesubDisplay.log b/src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.log
deleted file mode 100644
index bb633ea33..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/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 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x98, x99, x97, x95, x93, x91, x89, x87, x85, x83, x81, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53))%core,
- (((0x1ffffe + x50) - x98), ((0x1ffffe + x51) - x99), ((0x3ffffe + x49) - x97), ((0x1ffffe + x47) - x95), ((0x3ffffe + x45) - x93), ((0x1ffffe + x43) - x91), ((0x3ffffe + x41) - x89), ((0x1ffffe + x39) - x87), ((0x3ffffe + x37) - x85), ((0x1ffffe + x35) - x83), ((0x3ffffe + x33) - x81), ((0x1ffffe + x31) - x79), ((0x3ffffe + x29) - x77), ((0x1ffffe + x27) - x75), ((0x3ffffe + x25) - x73), ((0x1ffffe + x23) - x71), ((0x3ffffe + x21) - x69), ((0x1ffffe + x19) - x67), ((0x3ffffe + x17) - x65), ((0x1ffffe + x15) - x63), ((0x3ffffe + x13) - x61), ((0x1ffffe + x11) - x59), ((0x3ffffe + x9) - x57), ((0x1ffffe + x7) - x55), ((0x3ffb8e + x5) - x53)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.v b/src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.v
deleted file mode 100644
index 310043be0..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e512m569_25limbs/freeze.c b/src/Specific/solinas32_2e512m569_25limbs/freeze.c
deleted file mode 100644
index dc8d24656..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/freeze.c
+++ /dev/null
@@ -1,129 +0,0 @@
-static void freeze(uint32_t out[25], const uint32_t in1[25]) {
- { const uint32_t x47 = in1[24];
- { const uint32_t x48 = in1[23];
- { const uint32_t x46 = in1[22];
- { const uint32_t x44 = in1[21];
- { const uint32_t x42 = in1[20];
- { const uint32_t x40 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffdc7);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x4, 0xfffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x6, 0x1fffff);
- { uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x8, 0xfffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x10, 0x1fffff);
- { uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x12, 0xfffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x14, 0x1fffff);
- { uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x16, 0xfffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x18, 0x1fffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x20, 0xfffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x22, 0x1fffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x24, 0xfffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x26, 0x1fffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x28, 0xfffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x30, 0x1fffff);
- { uint32_t x95, uint8_t x96 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x32, 0xfffff);
- { uint32_t x98, uint8_t x99 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x34, 0x1fffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x36, 0xfffff);
- { uint32_t x104, uint8_t x105 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x38, 0x1fffff);
- { uint32_t x107, uint8_t x108 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x40, 0xfffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x42, 0x1fffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x44, 0xfffff);
- { uint32_t x116, uint8_t x117 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x46, 0x1fffff);
- { uint32_t x119, uint8_t x120 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x48, 0xfffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x47, 0xfffff);
- { uint32_t x124 = cmovznz32(x123, 0x0, 0xffffffff);
- { uint32_t x125 = (x124 & 0x1ffdc7);
- { uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x50, Return x125);
- { uint32_t x129 = (x124 & 0xfffff);
- { uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x53, Return x129);
- { uint32_t x133 = (x124 & 0x1fffff);
- { uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x56, Return x133);
- { uint32_t x137 = (x124 & 0xfffff);
- { uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x59, Return x137);
- { uint32_t x141 = (x124 & 0x1fffff);
- { uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x62, Return x141);
- { uint32_t x145 = (x124 & 0xfffff);
- { uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x65, Return x145);
- { uint32_t x149 = (x124 & 0x1fffff);
- { uint32_t x151, uint8_t x152 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x68, Return x149);
- { uint32_t x153 = (x124 & 0xfffff);
- { uint32_t x155, uint8_t x156 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x152, Return x71, Return x153);
- { uint32_t x157 = (x124 & 0x1fffff);
- { uint32_t x159, uint8_t x160 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x156, Return x74, Return x157);
- { uint32_t x161 = (x124 & 0xfffff);
- { uint32_t x163, uint8_t x164 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x160, Return x77, Return x161);
- { uint32_t x165 = (x124 & 0x1fffff);
- { uint32_t x167, uint8_t x168 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x164, Return x80, Return x165);
- { uint32_t x169 = (x124 & 0xfffff);
- { uint32_t x171, uint8_t x172 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x168, Return x83, Return x169);
- { uint32_t x173 = (x124 & 0x1fffff);
- { uint32_t x175, uint8_t x176 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x172, Return x86, Return x173);
- { uint32_t x177 = (x124 & 0xfffff);
- { uint32_t x179, uint8_t x180 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x176, Return x89, Return x177);
- { uint32_t x181 = (x124 & 0x1fffff);
- { uint32_t x183, uint8_t x184 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x180, Return x92, Return x181);
- { uint32_t x185 = (x124 & 0xfffff);
- { uint32_t x187, uint8_t x188 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x184, Return x95, Return x185);
- { uint32_t x189 = (x124 & 0x1fffff);
- { uint32_t x191, uint8_t x192 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x188, Return x98, Return x189);
- { uint32_t x193 = (x124 & 0xfffff);
- { uint32_t x195, uint8_t x196 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x192, Return x101, Return x193);
- { uint32_t x197 = (x124 & 0x1fffff);
- { uint32_t x199, uint8_t x200 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x196, Return x104, Return x197);
- { uint32_t x201 = (x124 & 0xfffff);
- { uint32_t x203, uint8_t x204 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x200, Return x107, Return x201);
- { uint32_t x205 = (x124 & 0x1fffff);
- { uint32_t x207, uint8_t x208 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x204, Return x110, Return x205);
- { uint32_t x209 = (x124 & 0xfffff);
- { uint32_t x211, uint8_t x212 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x208, Return x113, Return x209);
- { uint32_t x213 = (x124 & 0x1fffff);
- { uint32_t x215, uint8_t x216 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x212, Return x116, Return x213);
- { uint32_t x217 = (x124 & 0xfffff);
- { uint32_t x219, uint8_t x220 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x216, Return x119, Return x217);
- { uint32_t x221 = (x124 & 0xfffff);
- { uint32_t x223, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x220, Return x122, Return x221);
- out[0] = x127;
- out[1] = x131;
- out[2] = x135;
- out[3] = x139;
- out[4] = x143;
- out[5] = x147;
- out[6] = x151;
- out[7] = x155;
- out[8] = x159;
- out[9] = x163;
- out[10] = x167;
- out[11] = x171;
- out[12] = x175;
- out[13] = x179;
- out[14] = x183;
- out[15] = x187;
- out[16] = x191;
- out[17] = x195;
- out[18] = x199;
- out[19] = x203;
- out[20] = x207;
- out[21] = x211;
- out[22] = x215;
- out[23] = x219;
- out[24] = x223;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e512m569_25limbs/freeze.v b/src/Specific/solinas32_2e512m569_25limbs/freeze.v
deleted file mode 100644
index 6e0180849..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.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_2e512m569_25limbs/freezeDisplay.log b/src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.log
deleted file mode 100644
index 0e95dcf8e..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.log
+++ /dev/null
@@ -1,83 +0,0 @@
-λ x : 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,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x47, x48, x46, x44, x42, x40, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffdc7);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x4, 0xfffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x6, 0x1fffff);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x8, 0xfffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x10, 0x1fffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x12, 0xfffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x14, 0x1fffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x16, 0xfffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x18, 0x1fffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x20, 0xfffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x22, 0x1fffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x24, 0xfffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x26, 0x1fffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x28, 0xfffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x30, 0x1fffff);
- uint32_t x95, uint8_t x96 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x32, 0xfffff);
- uint32_t x98, uint8_t x99 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x34, 0x1fffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x36, 0xfffff);
- uint32_t x104, uint8_t x105 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x38, 0x1fffff);
- uint32_t x107, uint8_t x108 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x40, 0xfffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x42, 0x1fffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x44, 0xfffff);
- uint32_t x116, uint8_t x117 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x46, 0x1fffff);
- uint32_t x119, uint8_t x120 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x48, 0xfffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x120, Return x47, 0xfffff);
- uint32_t x124 = cmovznz32(x123, 0x0, 0xffffffff);
- uint32_t x125 = (x124 & 0x1ffdc7);
- uint32_t x127, uint8_t x128 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x50, Return x125);
- uint32_t x129 = (x124 & 0xfffff);
- uint32_t x131, uint8_t x132 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x128, Return x53, Return x129);
- uint32_t x133 = (x124 & 0x1fffff);
- uint32_t x135, uint8_t x136 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x132, Return x56, Return x133);
- uint32_t x137 = (x124 & 0xfffff);
- uint32_t x139, uint8_t x140 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x136, Return x59, Return x137);
- uint32_t x141 = (x124 & 0x1fffff);
- uint32_t x143, uint8_t x144 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x140, Return x62, Return x141);
- uint32_t x145 = (x124 & 0xfffff);
- uint32_t x147, uint8_t x148 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x144, Return x65, Return x145);
- uint32_t x149 = (x124 & 0x1fffff);
- uint32_t x151, uint8_t x152 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x148, Return x68, Return x149);
- uint32_t x153 = (x124 & 0xfffff);
- uint32_t x155, uint8_t x156 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x152, Return x71, Return x153);
- uint32_t x157 = (x124 & 0x1fffff);
- uint32_t x159, uint8_t x160 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x156, Return x74, Return x157);
- uint32_t x161 = (x124 & 0xfffff);
- uint32_t x163, uint8_t x164 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x160, Return x77, Return x161);
- uint32_t x165 = (x124 & 0x1fffff);
- uint32_t x167, uint8_t x168 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x164, Return x80, Return x165);
- uint32_t x169 = (x124 & 0xfffff);
- uint32_t x171, uint8_t x172 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x168, Return x83, Return x169);
- uint32_t x173 = (x124 & 0x1fffff);
- uint32_t x175, uint8_t x176 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x172, Return x86, Return x173);
- uint32_t x177 = (x124 & 0xfffff);
- uint32_t x179, uint8_t x180 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x176, Return x89, Return x177);
- uint32_t x181 = (x124 & 0x1fffff);
- uint32_t x183, uint8_t x184 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x180, Return x92, Return x181);
- uint32_t x185 = (x124 & 0xfffff);
- uint32_t x187, uint8_t x188 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x184, Return x95, Return x185);
- uint32_t x189 = (x124 & 0x1fffff);
- uint32_t x191, uint8_t x192 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x188, Return x98, Return x189);
- uint32_t x193 = (x124 & 0xfffff);
- uint32_t x195, uint8_t x196 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x192, Return x101, Return x193);
- uint32_t x197 = (x124 & 0x1fffff);
- uint32_t x199, uint8_t x200 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x196, Return x104, Return x197);
- uint32_t x201 = (x124 & 0xfffff);
- uint32_t x203, uint8_t x204 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x200, Return x107, Return x201);
- uint32_t x205 = (x124 & 0x1fffff);
- uint32_t x207, uint8_t x208 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x204, Return x110, Return x205);
- uint32_t x209 = (x124 & 0xfffff);
- uint32_t x211, uint8_t x212 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x208, Return x113, Return x209);
- uint32_t x213 = (x124 & 0x1fffff);
- uint32_t x215, uint8_t x216 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x212, Return x116, Return x213);
- uint32_t x217 = (x124 & 0xfffff);
- uint32_t x219, uint8_t x220 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x216, Return x119, Return x217);
- uint32_t x221 = (x124 & 0xfffff);
- uint32_t x223, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x220, Return x122, Return x221);
- (Return x223, Return x219, Return x215, Return x211, Return x207, Return x203, Return x199, Return x195, Return x191, Return x187, Return x183, Return x179, Return x175, Return x171, Return x167, Return x163, Return x159, Return x155, Return x151, Return x147, Return x143, Return x139, Return x135, Return x131, Return x127))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.v b/src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.v
deleted file mode 100644
index 38122eaa7..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e512m569_25limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e512m569_25limbs/py_interpreter.sh b/src/Specific/solinas32_2e512m569_25limbs/py_interpreter.sh
deleted file mode 100755
index 9ad22d5c1..000000000
--- a/src/Specific/solinas32_2e512m569_25limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 569' -Dmodulus_bytes='20 + 12/25' -Da24='121665'
diff --git a/src/Specific/solinas32_2e521m1_19limbs/CurveParameters.v b/src/Specific/solinas32_2e521m1_19limbs/CurveParameters.v
deleted file mode 100644
index cd138bbe2..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^521 - 1
-Base: 27 + 8/19
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 19%nat;
- base := 27 + 8/19;
- bitwidth := 32;
- s := 2^521;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 19); [0; 1]]%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_2e521m1_19limbs/Synthesis.v b/src/Specific/solinas32_2e521m1_19limbs/Synthesis.v
deleted file mode 100644
index a1acc3dcb..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/compiler.sh b/src/Specific/solinas32_2e521m1_19limbs/compiler.sh
deleted file mode 100755
index 6892e38e0..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,28,27,27,28,27,28,27,28,27,27,28,27,28,27,27}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas32_2e521m1_19limbs/compilerxx.sh b/src/Specific/solinas32_2e521m1_19limbs/compilerxx.sh
deleted file mode 100755
index 72a7814d5..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{28,27,28,27,28,27,27,28,27,28,27,28,27,27,28,27,28,27,27}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='19' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas32_2e521m1_19limbs/feadd.c b/src/Specific/solinas32_2e521m1_19limbs/feadd.c
deleted file mode 100644
index 7432e2ef1..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/feadd.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void feadd(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = (x5 + x41);
- out[1] = (x7 + x43);
- out[2] = (x9 + x45);
- out[3] = (x11 + x47);
- out[4] = (x13 + x49);
- out[5] = (x15 + x51);
- out[6] = (x17 + x53);
- out[7] = (x19 + x55);
- out[8] = (x21 + x57);
- out[9] = (x23 + x59);
- out[10] = (x25 + x61);
- out[11] = (x27 + x63);
- out[12] = (x29 + x65);
- out[13] = (x31 + x67);
- out[14] = (x33 + x69);
- out[15] = (x35 + x71);
- out[16] = (x37 + x73);
- out[17] = (x39 + x75);
- out[18] = (x38 + x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_19limbs/feadd.v b/src/Specific/solinas32_2e521m1_19limbs/feadd.v
deleted file mode 100644
index b563d4375..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/feaddDisplay.log b/src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.log
deleted file mode 100644
index 76a71b356..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- ((x38 + x74), (x39 + x75), (x37 + x73), (x35 + x71), (x33 + x69), (x31 + x67), (x29 + x65), (x27 + x63), (x25 + x61), (x23 + x59), (x21 + x57), (x19 + x55), (x17 + x53), (x15 + x51), (x13 + x49), (x11 + x47), (x9 + x45), (x7 + x43), (x5 + x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.v b/src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.v
deleted file mode 100644
index e39988842..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fecarry.v b/src/Specific/solinas32_2e521m1_19limbs/fecarry.v
deleted file mode 100644
index abf846fad..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/fecarryDisplay.v b/src/Specific/solinas32_2e521m1_19limbs/fecarryDisplay.v
deleted file mode 100644
index de3f5b380..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e521m1_19limbs/femul.c b/src/Specific/solinas32_2e521m1_19limbs/femul.c
deleted file mode 100644
index f59f48180..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/femul.c
+++ /dev/null
@@ -1,141 +0,0 @@
-static void femul(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- { uint64_t x76 = (((uint64_t)x5 * x74) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + ((0x2 * ((uint64_t)x39 * x43)) + ((uint64_t)x38 * x41)))))))))))))))))));
- { uint64_t x77 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + (((uint64_t)x37 * x43) + ((uint64_t)x39 * x41)))))))))))))))))) + ((uint64_t)x38 * x74));
- { uint64_t x78 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + (((uint64_t)x9 * x69) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x37 * x41))))))))))))))))) + ((0x2 * ((uint64_t)x39 * x74)) + (0x2 * ((uint64_t)x38 * x75))));
- { uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (((uint64_t)x37 * x74) + ((0x2 * ((uint64_t)x39 * x75)) + ((uint64_t)x38 * x73))));
- { uint64_t x80 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((uint64_t)x33 * x41))))))))))))))) + ((0x2 * ((uint64_t)x35 * x74)) + ((0x2 * ((uint64_t)x37 * x75)) + ((0x2 * ((uint64_t)x39 * x73)) + (0x2 * ((uint64_t)x38 * x71))))));
- { uint64_t x81 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + ((0x2 * ((uint64_t)x29 * x43)) + ((uint64_t)x31 * x41)))))))))))))) + (((uint64_t)x33 * x74) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + ((0x2 * ((uint64_t)x39 * x71)) + ((uint64_t)x38 * x69))))));
- { uint64_t x82 = ((((uint64_t)x5 * x65) + (((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 * x74) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + ((uint64_t)x38 * x67)))))));
- { uint64_t x83 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((uint64_t)x27 * x41)))))))))))) + ((0x2 * ((uint64_t)x29 * x74)) + ((0x2 * ((uint64_t)x31 * x75)) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + ((0x2 * ((uint64_t)x39 * x67)) + (0x2 * ((uint64_t)x38 * x65)))))))));
- { uint64_t x84 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((uint64_t)x25 * x41))))))))))) + (((uint64_t)x27 * x74) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((0x2 * ((uint64_t)x39 * x65)) + ((uint64_t)x38 * x63)))))))));
- { uint64_t x85 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((uint64_t)x23 * x41)))))))))) + ((0x2 * ((uint64_t)x25 * x74)) + ((0x2 * ((uint64_t)x27 * x75)) + ((0x2 * ((uint64_t)x29 * x73)) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + ((0x2 * ((uint64_t)x39 * x63)) + (0x2 * ((uint64_t)x38 * x61)))))))))));
- { uint64_t x86 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((uint64_t)x21 * x41))))))))) + (((uint64_t)x23 * x74) + ((0x2 * ((uint64_t)x25 * x75)) + (((uint64_t)x27 * x73) + ((0x2 * ((uint64_t)x29 * x71)) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + ((0x2 * ((uint64_t)x39 * x61)) + ((uint64_t)x38 * x59)))))))))));
- { uint64_t x87 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((uint64_t)x19 * x41)))))))) + ((0x2 * ((uint64_t)x21 * x74)) + ((0x2 * ((uint64_t)x23 * x75)) + ((0x2 * ((uint64_t)x25 * x73)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + ((0x2 * ((uint64_t)x39 * x59)) + (0x2 * ((uint64_t)x38 * x57)))))))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + ((uint64_t)x17 * x41))))))) + (((uint64_t)x19 * x74) + ((0x2 * ((uint64_t)x21 * x75)) + (((uint64_t)x23 * x73) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + ((0x2 * ((uint64_t)x39 * x57)) + ((uint64_t)x38 * x55)))))))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (((uint64_t)x17 * x74) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + ((uint64_t)x38 * x53))))))))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + ((0x2 * ((uint64_t)x11 * x43)) + ((uint64_t)x13 * x41))))) + ((0x2 * ((uint64_t)x15 * x74)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + ((0x2 * ((uint64_t)x39 * x53)) + (0x2 * ((uint64_t)x38 * x51))))))))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((uint64_t)x11 * x41)))) + (((uint64_t)x13 * x74) + ((0x2 * ((uint64_t)x15 * x75)) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((0x2 * ((uint64_t)x39 * x51)) + ((uint64_t)x38 * x49))))))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((uint64_t)x9 * x41))) + ((0x2 * ((uint64_t)x11 * x74)) + ((0x2 * ((uint64_t)x13 * x75)) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + (((uint64_t)x33 * x55) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + (0x2 * ((uint64_t)x38 * x47))))))))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x74) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + (((uint64_t)x37 * x49) + ((0x2 * ((uint64_t)x39 * x47)) + ((uint64_t)x38 * x45))))))))))))))))));
- { uint64_t x94 = (((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43))))))))))))))))))));
- { uint64_t x95 = (x94 >> 0x1c);
- { uint32_t x96 = ((uint32_t)x94 & 0xfffffff);
- { uint64_t x97 = (x95 + x93);
- { uint64_t x98 = (x97 >> 0x1b);
- { uint32_t x99 = ((uint32_t)x97 & 0x7ffffff);
- { uint64_t x100 = (x98 + x92);
- { uint64_t x101 = (x100 >> 0x1c);
- { uint32_t x102 = ((uint32_t)x100 & 0xfffffff);
- { uint64_t x103 = (x101 + x91);
- { uint64_t x104 = (x103 >> 0x1b);
- { uint32_t x105 = ((uint32_t)x103 & 0x7ffffff);
- { uint64_t x106 = (x104 + x90);
- { uint64_t x107 = (x106 >> 0x1c);
- { uint32_t x108 = ((uint32_t)x106 & 0xfffffff);
- { uint64_t x109 = (x107 + x89);
- { uint64_t x110 = (x109 >> 0x1b);
- { uint32_t x111 = ((uint32_t)x109 & 0x7ffffff);
- { uint64_t x112 = (x110 + x88);
- { uint64_t x113 = (x112 >> 0x1b);
- { uint32_t x114 = ((uint32_t)x112 & 0x7ffffff);
- { uint64_t x115 = (x113 + x87);
- { uint64_t x116 = (x115 >> 0x1c);
- { uint32_t x117 = ((uint32_t)x115 & 0xfffffff);
- { uint64_t x118 = (x116 + x86);
- { uint64_t x119 = (x118 >> 0x1b);
- { uint32_t x120 = ((uint32_t)x118 & 0x7ffffff);
- { uint64_t x121 = (x119 + x85);
- { uint64_t x122 = (x121 >> 0x1c);
- { uint32_t x123 = ((uint32_t)x121 & 0xfffffff);
- { uint64_t x124 = (x122 + x84);
- { uint64_t x125 = (x124 >> 0x1b);
- { uint32_t x126 = ((uint32_t)x124 & 0x7ffffff);
- { uint64_t x127 = (x125 + x83);
- { uint64_t x128 = (x127 >> 0x1c);
- { uint32_t x129 = ((uint32_t)x127 & 0xfffffff);
- { uint64_t x130 = (x128 + x82);
- { uint64_t x131 = (x130 >> 0x1b);
- { uint32_t x132 = ((uint32_t)x130 & 0x7ffffff);
- { uint64_t x133 = (x131 + x81);
- { uint64_t x134 = (x133 >> 0x1b);
- { uint32_t x135 = ((uint32_t)x133 & 0x7ffffff);
- { uint64_t x136 = (x134 + x80);
- { uint64_t x137 = (x136 >> 0x1c);
- { uint32_t x138 = ((uint32_t)x136 & 0xfffffff);
- { uint64_t x139 = (x137 + x79);
- { uint64_t x140 = (x139 >> 0x1b);
- { uint32_t x141 = ((uint32_t)x139 & 0x7ffffff);
- { uint64_t x142 = (x140 + x78);
- { uint64_t x143 = (x142 >> 0x1c);
- { uint32_t x144 = ((uint32_t)x142 & 0xfffffff);
- { uint64_t x145 = (x143 + x77);
- { uint64_t x146 = (x145 >> 0x1b);
- { uint32_t x147 = ((uint32_t)x145 & 0x7ffffff);
- { uint64_t x148 = (x146 + x76);
- { uint64_t x149 = (x148 >> 0x1b);
- { uint32_t x150 = ((uint32_t)x148 & 0x7ffffff);
- { uint64_t x151 = (x96 + x149);
- { uint32_t x152 = (uint32_t) (x151 >> 0x1c);
- { uint32_t x153 = ((uint32_t)x151 & 0xfffffff);
- { uint32_t x154 = (x152 + x99);
- { uint32_t x155 = (x154 >> 0x1b);
- { uint32_t x156 = (x154 & 0x7ffffff);
- out[0] = x153;
- out[1] = x156;
- out[2] = (x155 + x102);
- out[3] = x105;
- out[4] = x108;
- out[5] = x111;
- out[6] = x114;
- out[7] = x117;
- out[8] = x120;
- out[9] = x123;
- out[10] = x126;
- out[11] = x129;
- out[12] = x132;
- out[13] = x135;
- out[14] = x138;
- out[15] = x141;
- out[16] = x144;
- out[17] = x147;
- out[18] = x150;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_19limbs/femul.v b/src/Specific/solinas32_2e521m1_19limbs/femul.v
deleted file mode 100644
index 031588cb6..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/femulDisplay.log b/src/Specific/solinas32_2e521m1_19limbs/femulDisplay.log
deleted file mode 100644
index af9c19e0e..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/femulDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- uint64_t x76 = (((uint64_t)x5 * x74) + ((0x2 * ((uint64_t)x7 * x75)) + (((uint64_t)x9 * x73) + ((0x2 * ((uint64_t)x11 * x71)) + (((uint64_t)x13 * x69) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + (((uint64_t)x19 * x63) + ((0x2 * ((uint64_t)x21 * x61)) + (((uint64_t)x23 * x59) + ((0x2 * ((uint64_t)x25 * x57)) + (((uint64_t)x27 * x55) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + (((uint64_t)x33 * x49) + ((0x2 * ((uint64_t)x35 * x47)) + (((uint64_t)x37 * x45) + ((0x2 * ((uint64_t)x39 * x43)) + ((uint64_t)x38 * x41)))))))))))))))))));
- uint64_t x77 = ((((uint64_t)x5 * x75) + (((uint64_t)x7 * x73) + (((uint64_t)x9 * x71) + (((uint64_t)x11 * x69) + (((uint64_t)x13 * x67) + ((0x2 * ((uint64_t)x15 * x65)) + (((uint64_t)x17 * x63) + (((uint64_t)x19 * x61) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((0x2 * ((uint64_t)x29 * x51)) + (((uint64_t)x31 * x49) + (((uint64_t)x33 * x47) + (((uint64_t)x35 * x45) + (((uint64_t)x37 * x43) + ((uint64_t)x39 * x41)))))))))))))))))) + ((uint64_t)x38 * x74));
- uint64_t x78 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + (((uint64_t)x9 * x69) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + (((uint64_t)x19 * x59) + ((0x2 * ((uint64_t)x21 * x57)) + (((uint64_t)x23 * x55) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + (((uint64_t)x33 * x45) + ((0x2 * ((uint64_t)x35 * x43)) + ((uint64_t)x37 * x41))))))))))))))))) + ((0x2 * ((uint64_t)x39 * x74)) + (0x2 * ((uint64_t)x38 * x75))));
- uint64_t x79 = ((((uint64_t)x5 * x71) + (((uint64_t)x7 * x69) + (((uint64_t)x9 * x67) + ((0x2 * ((uint64_t)x11 * x65)) + (((uint64_t)x13 * x63) + ((0x2 * ((uint64_t)x15 * x61)) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + ((0x2 * ((uint64_t)x25 * x51)) + (((uint64_t)x27 * x49) + ((0x2 * ((uint64_t)x29 * x47)) + (((uint64_t)x31 * x45) + (((uint64_t)x33 * x43) + ((uint64_t)x35 * x41)))))))))))))))) + (((uint64_t)x37 * x74) + ((0x2 * ((uint64_t)x39 * x75)) + ((uint64_t)x38 * x73))));
- uint64_t x80 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + (((uint64_t)x19 * x55) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((0x2 * ((uint64_t)x31 * x43)) + ((uint64_t)x33 * x41))))))))))))))) + ((0x2 * ((uint64_t)x35 * x74)) + ((0x2 * ((uint64_t)x37 * x75)) + ((0x2 * ((uint64_t)x39 * x73)) + (0x2 * ((uint64_t)x38 * x71))))));
- uint64_t x81 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + (((uint64_t)x9 * x63) + ((0x2 * ((uint64_t)x11 * x61)) + (((uint64_t)x13 * x59) + ((0x2 * ((uint64_t)x15 * x57)) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + ((0x2 * ((uint64_t)x21 * x51)) + (((uint64_t)x23 * x49) + ((0x2 * ((uint64_t)x25 * x47)) + (((uint64_t)x27 * x45) + ((0x2 * ((uint64_t)x29 * x43)) + ((uint64_t)x31 * x41)))))))))))))) + (((uint64_t)x33 * x74) + ((0x2 * ((uint64_t)x35 * x75)) + (((uint64_t)x37 * x73) + ((0x2 * ((uint64_t)x39 * x71)) + ((uint64_t)x38 * x69))))));
- uint64_t x82 = ((((uint64_t)x5 * x65) + (((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 * x74) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + ((uint64_t)x38 * x67)))))));
- uint64_t x83 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + (((uint64_t)x9 * x59) + ((0x2 * ((uint64_t)x11 * x57)) + (((uint64_t)x13 * x55) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + (((uint64_t)x19 * x49) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + ((uint64_t)x27 * x41)))))))))))) + ((0x2 * ((uint64_t)x29 * x74)) + ((0x2 * ((uint64_t)x31 * x75)) + (((uint64_t)x33 * x73) + ((0x2 * ((uint64_t)x35 * x71)) + (((uint64_t)x37 * x69) + ((0x2 * ((uint64_t)x39 * x67)) + (0x2 * ((uint64_t)x38 * x65)))))))));
- uint64_t x84 = ((((uint64_t)x5 * x61) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + ((0x2 * ((uint64_t)x15 * x51)) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((uint64_t)x25 * x41))))))))))) + (((uint64_t)x27 * x74) + ((0x2 * ((uint64_t)x29 * x75)) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + ((0x2 * ((uint64_t)x39 * x65)) + ((uint64_t)x38 * x63)))))))));
- uint64_t x85 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + (((uint64_t)x9 * x55) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + (((uint64_t)x19 * x45) + ((0x2 * ((uint64_t)x21 * x43)) + ((uint64_t)x23 * x41)))))))))) + ((0x2 * ((uint64_t)x25 * x74)) + ((0x2 * ((uint64_t)x27 * x75)) + ((0x2 * ((uint64_t)x29 * x73)) + ((0x2 * ((uint64_t)x31 * x71)) + (((uint64_t)x33 * x69) + ((0x2 * ((uint64_t)x35 * x67)) + ((0x2 * ((uint64_t)x37 * x65)) + ((0x2 * ((uint64_t)x39 * x63)) + (0x2 * ((uint64_t)x38 * x61)))))))))));
- uint64_t x86 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + ((0x2 * ((uint64_t)x11 * x51)) + (((uint64_t)x13 * x49) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + ((uint64_t)x21 * x41))))))))) + (((uint64_t)x23 * x74) + ((0x2 * ((uint64_t)x25 * x75)) + (((uint64_t)x27 * x73) + ((0x2 * ((uint64_t)x29 * x71)) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + ((0x2 * ((uint64_t)x35 * x65)) + (((uint64_t)x37 * x63) + ((0x2 * ((uint64_t)x39 * x61)) + ((uint64_t)x38 * x59)))))))))));
- uint64_t x87 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((0x2 * ((uint64_t)x17 * x43)) + ((uint64_t)x19 * x41)))))))) + ((0x2 * ((uint64_t)x21 * x74)) + ((0x2 * ((uint64_t)x23 * x75)) + ((0x2 * ((uint64_t)x25 * x73)) + ((0x2 * ((uint64_t)x27 * x71)) + ((0x2 * ((uint64_t)x29 * x69)) + ((0x2 * ((uint64_t)x31 * x67)) + ((0x2 * ((uint64_t)x33 * x65)) + ((0x2 * ((uint64_t)x35 * x63)) + ((0x2 * ((uint64_t)x37 * x61)) + ((0x2 * ((uint64_t)x39 * x59)) + (0x2 * ((uint64_t)x38 * x57)))))))))))));
- uint64_t x88 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + (((uint64_t)x9 * x49) + ((0x2 * ((uint64_t)x11 * x47)) + (((uint64_t)x13 * x45) + ((0x2 * ((uint64_t)x15 * x43)) + ((uint64_t)x17 * x41))))))) + (((uint64_t)x19 * x74) + ((0x2 * ((uint64_t)x21 * x75)) + (((uint64_t)x23 * x73) + ((0x2 * ((uint64_t)x25 * x71)) + (((uint64_t)x27 * x69) + ((0x2 * ((uint64_t)x29 * x67)) + ((0x2 * ((uint64_t)x31 * x65)) + (((uint64_t)x33 * x63) + ((0x2 * ((uint64_t)x35 * x61)) + (((uint64_t)x37 * x59) + ((0x2 * ((uint64_t)x39 * x57)) + ((uint64_t)x38 * x55)))))))))))));
- uint64_t x89 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + ((uint64_t)x15 * x41)))))) + (((uint64_t)x17 * x74) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + ((0x2 * ((uint64_t)x29 * x65)) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + ((uint64_t)x38 * x53))))))))))))));
- uint64_t x90 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + ((0x2 * ((uint64_t)x11 * x43)) + ((uint64_t)x13 * x41))))) + ((0x2 * ((uint64_t)x15 * x74)) + ((0x2 * ((uint64_t)x17 * x75)) + (((uint64_t)x19 * x73) + ((0x2 * ((uint64_t)x21 * x71)) + (((uint64_t)x23 * x69) + ((0x2 * ((uint64_t)x25 * x67)) + ((0x2 * ((uint64_t)x27 * x65)) + ((0x2 * ((uint64_t)x29 * x63)) + ((0x2 * ((uint64_t)x31 * x61)) + (((uint64_t)x33 * x59) + ((0x2 * ((uint64_t)x35 * x57)) + (((uint64_t)x37 * x55) + ((0x2 * ((uint64_t)x39 * x53)) + (0x2 * ((uint64_t)x38 * x51))))))))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + ((uint64_t)x11 * x41)))) + (((uint64_t)x13 * x74) + ((0x2 * ((uint64_t)x15 * x75)) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + ((0x2 * ((uint64_t)x25 * x65)) + (((uint64_t)x27 * x63) + ((0x2 * ((uint64_t)x29 * x61)) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + ((0x2 * ((uint64_t)x39 * x51)) + ((uint64_t)x38 * x49))))))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((uint64_t)x9 * x41))) + ((0x2 * ((uint64_t)x11 * x74)) + ((0x2 * ((uint64_t)x13 * x75)) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + (((uint64_t)x19 * x69) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + (((uint64_t)x33 * x55) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + (0x2 * ((uint64_t)x38 * x47))))))))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x43) + ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x74) + ((0x2 * ((uint64_t)x11 * x75)) + (((uint64_t)x13 * x73) + ((0x2 * ((uint64_t)x15 * x71)) + (((uint64_t)x17 * x69) + (((uint64_t)x19 * x67) + ((0x2 * ((uint64_t)x21 * x65)) + (((uint64_t)x23 * x63) + ((0x2 * ((uint64_t)x25 * x61)) + (((uint64_t)x27 * x59) + ((0x2 * ((uint64_t)x29 * x57)) + (((uint64_t)x31 * x55) + (((uint64_t)x33 * x53) + ((0x2 * ((uint64_t)x35 * x51)) + (((uint64_t)x37 * x49) + ((0x2 * ((uint64_t)x39 * x47)) + ((uint64_t)x38 * x45))))))))))))))))));
- uint64_t x94 = (((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x74)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + (0x2 * ((uint64_t)x38 * x43))))))))))))))))))));
- uint64_t x95 = (x94 >> 0x1c);
- uint32_t x96 = ((uint32_t)x94 & 0xfffffff);
- uint64_t x97 = (x95 + x93);
- uint64_t x98 = (x97 >> 0x1b);
- uint32_t x99 = ((uint32_t)x97 & 0x7ffffff);
- uint64_t x100 = (x98 + x92);
- uint64_t x101 = (x100 >> 0x1c);
- uint32_t x102 = ((uint32_t)x100 & 0xfffffff);
- uint64_t x103 = (x101 + x91);
- uint64_t x104 = (x103 >> 0x1b);
- uint32_t x105 = ((uint32_t)x103 & 0x7ffffff);
- uint64_t x106 = (x104 + x90);
- uint64_t x107 = (x106 >> 0x1c);
- uint32_t x108 = ((uint32_t)x106 & 0xfffffff);
- uint64_t x109 = (x107 + x89);
- uint64_t x110 = (x109 >> 0x1b);
- uint32_t x111 = ((uint32_t)x109 & 0x7ffffff);
- uint64_t x112 = (x110 + x88);
- uint64_t x113 = (x112 >> 0x1b);
- uint32_t x114 = ((uint32_t)x112 & 0x7ffffff);
- uint64_t x115 = (x113 + x87);
- uint64_t x116 = (x115 >> 0x1c);
- uint32_t x117 = ((uint32_t)x115 & 0xfffffff);
- uint64_t x118 = (x116 + x86);
- uint64_t x119 = (x118 >> 0x1b);
- uint32_t x120 = ((uint32_t)x118 & 0x7ffffff);
- uint64_t x121 = (x119 + x85);
- uint64_t x122 = (x121 >> 0x1c);
- uint32_t x123 = ((uint32_t)x121 & 0xfffffff);
- uint64_t x124 = (x122 + x84);
- uint64_t x125 = (x124 >> 0x1b);
- uint32_t x126 = ((uint32_t)x124 & 0x7ffffff);
- uint64_t x127 = (x125 + x83);
- uint64_t x128 = (x127 >> 0x1c);
- uint32_t x129 = ((uint32_t)x127 & 0xfffffff);
- uint64_t x130 = (x128 + x82);
- uint64_t x131 = (x130 >> 0x1b);
- uint32_t x132 = ((uint32_t)x130 & 0x7ffffff);
- uint64_t x133 = (x131 + x81);
- uint64_t x134 = (x133 >> 0x1b);
- uint32_t x135 = ((uint32_t)x133 & 0x7ffffff);
- uint64_t x136 = (x134 + x80);
- uint64_t x137 = (x136 >> 0x1c);
- uint32_t x138 = ((uint32_t)x136 & 0xfffffff);
- uint64_t x139 = (x137 + x79);
- uint64_t x140 = (x139 >> 0x1b);
- uint32_t x141 = ((uint32_t)x139 & 0x7ffffff);
- uint64_t x142 = (x140 + x78);
- uint64_t x143 = (x142 >> 0x1c);
- uint32_t x144 = ((uint32_t)x142 & 0xfffffff);
- uint64_t x145 = (x143 + x77);
- uint64_t x146 = (x145 >> 0x1b);
- uint32_t x147 = ((uint32_t)x145 & 0x7ffffff);
- uint64_t x148 = (x146 + x76);
- uint64_t x149 = (x148 >> 0x1b);
- uint32_t x150 = ((uint32_t)x148 & 0x7ffffff);
- uint64_t x151 = (x96 + x149);
- uint32_t x152 = (uint32_t) (x151 >> 0x1c);
- uint32_t x153 = ((uint32_t)x151 & 0xfffffff);
- uint32_t x154 = (x152 + x99);
- uint32_t x155 = (x154 >> 0x1b);
- uint32_t x156 = (x154 & 0x7ffffff);
- return (Return x150, Return x147, Return x144, Return x141, Return x138, Return x135, Return x132, Return x129, Return x126, Return x123, Return x120, Return x117, Return x114, Return x111, Return x108, Return x105, (x155 + x102), Return x156, Return x153))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_19limbs/femulDisplay.v b/src/Specific/solinas32_2e521m1_19limbs/femulDisplay.v
deleted file mode 100644
index 766d89955..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fesquare.c b/src/Specific/solinas32_2e521m1_19limbs/fesquare.c
deleted file mode 100644
index abc81f325..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesquare.c
+++ /dev/null
@@ -1,122 +0,0 @@
-static void fesquare(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x37 = (((uint64_t)x2 * x35) + ((0x2 * ((uint64_t)x4 * x36)) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x35 * x2)))))))))))))))))));
- { uint64_t x38 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + ((uint64_t)x35 * x35));
- { uint64_t x39 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + ((0x2 * ((uint64_t)x36 * x35)) + (0x2 * ((uint64_t)x35 * x36))));
- { uint64_t x40 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (((uint64_t)x34 * x35) + ((0x2 * ((uint64_t)x36 * x36)) + ((uint64_t)x35 * x34))));
- { uint64_t x41 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + ((0x2 * ((uint64_t)x32 * x35)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + (0x2 * ((uint64_t)x35 * x32))))));
- { uint64_t x42 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (((uint64_t)x30 * x35) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + ((uint64_t)x35 * x30))))));
- { uint64_t x43 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (((uint64_t)x28 * x35) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + ((uint64_t)x35 * x28)))))));
- { uint64_t x44 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + ((0x2 * ((uint64_t)x26 * x35)) + ((0x2 * ((uint64_t)x28 * x36)) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + ((0x2 * ((uint64_t)x36 * x28)) + (0x2 * ((uint64_t)x35 * x26)))))))));
- { uint64_t x45 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (((uint64_t)x24 * x35) + ((0x2 * ((uint64_t)x26 * x36)) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((0x2 * ((uint64_t)x36 * x26)) + ((uint64_t)x35 * x24)))))))));
- { uint64_t x46 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + ((0x2 * ((uint64_t)x22 * x35)) + ((0x2 * ((uint64_t)x24 * x36)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + ((0x2 * ((uint64_t)x36 * x24)) + (0x2 * ((uint64_t)x35 * x22)))))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x20 * x35) + ((0x2 * ((uint64_t)x22 * x36)) + (((uint64_t)x24 * x34) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + (((uint64_t)x34 * x24) + ((0x2 * ((uint64_t)x36 * x22)) + ((uint64_t)x35 * x20)))))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + ((0x2 * ((uint64_t)x18 * x35)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + (0x2 * ((uint64_t)x35 * x18)))))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x16 * x35) + ((0x2 * ((uint64_t)x18 * x36)) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + (((uint64_t)x24 * x30) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (((uint64_t)x30 * x24) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + ((0x2 * ((uint64_t)x36 * x18)) + ((uint64_t)x35 * x16)))))))))))));
- { uint64_t x50 = ((((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)x14 * x35) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + ((uint64_t)x35 * x14))))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((0x2 * ((uint64_t)x12 * x35)) + ((0x2 * ((uint64_t)x14 * x36)) + (((uint64_t)x16 * x34) + ((0x2 * ((uint64_t)x18 * x32)) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + ((0x2 * ((uint64_t)x32 * x18)) + (((uint64_t)x34 * x16) + ((0x2 * ((uint64_t)x36 * x14)) + (0x2 * ((uint64_t)x35 * x12))))))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x35) + ((0x2 * ((uint64_t)x12 * x36)) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + ((0x2 * ((uint64_t)x36 * x12)) + ((uint64_t)x35 * x10))))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x2 * ((uint64_t)x8 * x35)) + ((0x2 * ((uint64_t)x10 * x36)) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + ((0x2 * ((uint64_t)x36 * x10)) + (0x2 * ((uint64_t)x35 * x8))))))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x35) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + ((uint64_t)x35 * x6))))))))))))))))));
- { uint64_t x55 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4))))))))))))))))))));
- { uint64_t x56 = (x55 >> 0x1c);
- { uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
- { uint64_t x58 = (x56 + x54);
- { uint64_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint64_t x61 = (x59 + x53);
- { uint64_t x62 = (x61 >> 0x1c);
- { uint32_t x63 = ((uint32_t)x61 & 0xfffffff);
- { uint64_t x64 = (x62 + x52);
- { uint64_t x65 = (x64 >> 0x1b);
- { uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- { uint64_t x67 = (x65 + x51);
- { uint64_t x68 = (x67 >> 0x1c);
- { uint32_t x69 = ((uint32_t)x67 & 0xfffffff);
- { uint64_t x70 = (x68 + x50);
- { uint64_t x71 = (x70 >> 0x1b);
- { uint32_t x72 = ((uint32_t)x70 & 0x7ffffff);
- { uint64_t x73 = (x71 + x49);
- { uint64_t x74 = (x73 >> 0x1b);
- { uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- { uint64_t x76 = (x74 + x48);
- { uint64_t x77 = (x76 >> 0x1c);
- { uint32_t x78 = ((uint32_t)x76 & 0xfffffff);
- { uint64_t x79 = (x77 + x47);
- { uint64_t x80 = (x79 >> 0x1b);
- { uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- { uint64_t x82 = (x80 + x46);
- { uint64_t x83 = (x82 >> 0x1c);
- { uint32_t x84 = ((uint32_t)x82 & 0xfffffff);
- { uint64_t x85 = (x83 + x45);
- { uint64_t x86 = (x85 >> 0x1b);
- { uint32_t x87 = ((uint32_t)x85 & 0x7ffffff);
- { uint64_t x88 = (x86 + x44);
- { uint64_t x89 = (x88 >> 0x1c);
- { uint32_t x90 = ((uint32_t)x88 & 0xfffffff);
- { uint64_t x91 = (x89 + x43);
- { uint64_t x92 = (x91 >> 0x1b);
- { uint32_t x93 = ((uint32_t)x91 & 0x7ffffff);
- { uint64_t x94 = (x92 + x42);
- { uint64_t x95 = (x94 >> 0x1b);
- { uint32_t x96 = ((uint32_t)x94 & 0x7ffffff);
- { uint64_t x97 = (x95 + x41);
- { uint64_t x98 = (x97 >> 0x1c);
- { uint32_t x99 = ((uint32_t)x97 & 0xfffffff);
- { uint64_t x100 = (x98 + x40);
- { uint64_t x101 = (x100 >> 0x1b);
- { uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- { uint64_t x103 = (x101 + x39);
- { uint64_t x104 = (x103 >> 0x1c);
- { uint32_t x105 = ((uint32_t)x103 & 0xfffffff);
- { uint64_t x106 = (x104 + x38);
- { uint64_t x107 = (x106 >> 0x1b);
- { uint32_t x108 = ((uint32_t)x106 & 0x7ffffff);
- { uint64_t x109 = (x107 + x37);
- { uint64_t x110 = (x109 >> 0x1b);
- { uint32_t x111 = ((uint32_t)x109 & 0x7ffffff);
- { uint64_t x112 = (x57 + x110);
- { uint32_t x113 = (uint32_t) (x112 >> 0x1c);
- { uint32_t x114 = ((uint32_t)x112 & 0xfffffff);
- { uint32_t x115 = (x113 + x60);
- { uint32_t x116 = (x115 >> 0x1b);
- { uint32_t x117 = (x115 & 0x7ffffff);
- out[0] = x114;
- out[1] = x117;
- out[2] = (x116 + x63);
- out[3] = x66;
- out[4] = x69;
- out[5] = x72;
- out[6] = x75;
- out[7] = x78;
- out[8] = x81;
- out[9] = x84;
- out[10] = x87;
- out[11] = x90;
- out[12] = x93;
- out[13] = x96;
- out[14] = x99;
- out[15] = x102;
- out[16] = x105;
- out[17] = x108;
- out[18] = x111;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fesquare.v b/src/Specific/solinas32_2e521m1_19limbs/fesquare.v
deleted file mode 100644
index 7720acd6b..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/fesquareDisplay.log b/src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.log
deleted file mode 100644
index 25f8760f4..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,88 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x37 = (((uint64_t)x2 * x35) + ((0x2 * ((uint64_t)x4 * x36)) + (((uint64_t)x6 * x34) + ((0x2 * ((uint64_t)x8 * x32)) + (((uint64_t)x10 * x30) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + (((uint64_t)x16 * x24) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (((uint64_t)x24 * x16) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + (((uint64_t)x30 * x10) + ((0x2 * ((uint64_t)x32 * x8)) + (((uint64_t)x34 * x6) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x35 * x2)))))))))))))))))));
- uint64_t x38 = ((((uint64_t)x2 * x36) + (((uint64_t)x4 * x34) + (((uint64_t)x6 * x32) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + ((0x2 * ((uint64_t)x12 * x26)) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((0x2 * ((uint64_t)x26 * x12)) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + (((uint64_t)x32 * x6) + (((uint64_t)x34 * x4) + ((uint64_t)x36 * x2)))))))))))))))))) + ((uint64_t)x35 * x35));
- uint64_t x39 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + (((uint64_t)x6 * x30) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + (((uint64_t)x16 * x20) + ((0x2 * ((uint64_t)x18 * x18)) + (((uint64_t)x20 * x16) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + (((uint64_t)x30 * x6) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + ((0x2 * ((uint64_t)x36 * x35)) + (0x2 * ((uint64_t)x35 * x36))));
- uint64_t x40 = ((((uint64_t)x2 * x32) + (((uint64_t)x4 * x30) + (((uint64_t)x6 * x28) + ((0x2 * ((uint64_t)x8 * x26)) + (((uint64_t)x10 * x24) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (((uint64_t)x24 * x10) + ((0x2 * ((uint64_t)x26 * x8)) + (((uint64_t)x28 * x6) + (((uint64_t)x30 * x4) + ((uint64_t)x32 * x2)))))))))))))))) + (((uint64_t)x34 * x35) + ((0x2 * ((uint64_t)x36 * x36)) + ((uint64_t)x35 * x34))));
- uint64_t x41 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + (((uint64_t)x16 * x16) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + ((0x2 * ((uint64_t)x32 * x35)) + ((0x2 * ((uint64_t)x34 * x36)) + ((0x2 * ((uint64_t)x36 * x34)) + (0x2 * ((uint64_t)x35 * x32))))));
- uint64_t x42 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + (((uint64_t)x6 * x24) + ((0x2 * ((uint64_t)x8 * x22)) + (((uint64_t)x10 * x20) + ((0x2 * ((uint64_t)x12 * x18)) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + ((0x2 * ((uint64_t)x18 * x12)) + (((uint64_t)x20 * x10) + ((0x2 * ((uint64_t)x22 * x8)) + (((uint64_t)x24 * x6) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (((uint64_t)x30 * x35) + ((0x2 * ((uint64_t)x32 * x36)) + (((uint64_t)x34 * x34) + ((0x2 * ((uint64_t)x36 * x32)) + ((uint64_t)x35 * x30))))));
- uint64_t x43 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (((uint64_t)x28 * x35) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + ((uint64_t)x35 * x28)))))));
- uint64_t x44 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + ((0x2 * ((uint64_t)x8 * x18)) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + ((0x2 * ((uint64_t)x18 * x8)) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + ((0x2 * ((uint64_t)x26 * x35)) + ((0x2 * ((uint64_t)x28 * x36)) + (((uint64_t)x30 * x34) + ((0x2 * ((uint64_t)x32 * x32)) + (((uint64_t)x34 * x30) + ((0x2 * ((uint64_t)x36 * x28)) + (0x2 * ((uint64_t)x35 * x26)))))))));
- uint64_t x45 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (((uint64_t)x24 * x35) + ((0x2 * ((uint64_t)x26 * x36)) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + ((0x2 * ((uint64_t)x36 * x26)) + ((uint64_t)x35 * x24)))))))));
- uint64_t x46 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + (((uint64_t)x6 * x16) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + (((uint64_t)x16 * x6) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + ((0x2 * ((uint64_t)x22 * x35)) + ((0x2 * ((uint64_t)x24 * x36)) + ((0x2 * ((uint64_t)x26 * x34)) + ((0x2 * ((uint64_t)x28 * x32)) + (((uint64_t)x30 * x30) + ((0x2 * ((uint64_t)x32 * x28)) + ((0x2 * ((uint64_t)x34 * x26)) + ((0x2 * ((uint64_t)x36 * x24)) + (0x2 * ((uint64_t)x35 * x22)))))))))));
- uint64_t x47 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x20 * x35) + ((0x2 * ((uint64_t)x22 * x36)) + (((uint64_t)x24 * x34) + ((0x2 * ((uint64_t)x26 * x32)) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((0x2 * ((uint64_t)x32 * x26)) + (((uint64_t)x34 * x24) + ((0x2 * ((uint64_t)x36 * x22)) + ((uint64_t)x35 * x20)))))))))));
- uint64_t x48 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + ((0x2 * ((uint64_t)x18 * x35)) + ((0x2 * ((uint64_t)x20 * x36)) + ((0x2 * ((uint64_t)x22 * x34)) + ((0x2 * ((uint64_t)x24 * x32)) + ((0x2 * ((uint64_t)x26 * x30)) + ((0x2 * ((uint64_t)x28 * x28)) + ((0x2 * ((uint64_t)x30 * x26)) + ((0x2 * ((uint64_t)x32 * x24)) + ((0x2 * ((uint64_t)x34 * x22)) + ((0x2 * ((uint64_t)x36 * x20)) + (0x2 * ((uint64_t)x35 * x18)))))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + ((0x2 * ((uint64_t)x8 * x8)) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x16 * x35) + ((0x2 * ((uint64_t)x18 * x36)) + (((uint64_t)x20 * x34) + ((0x2 * ((uint64_t)x22 * x32)) + (((uint64_t)x24 * x30) + ((0x2 * ((uint64_t)x26 * x28)) + ((0x2 * ((uint64_t)x28 * x26)) + (((uint64_t)x30 * x24) + ((0x2 * ((uint64_t)x32 * x22)) + (((uint64_t)x34 * x20) + ((0x2 * ((uint64_t)x36 * x18)) + ((uint64_t)x35 * x16)))))))))))));
- uint64_t x50 = ((((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)x14 * x35) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + ((0x2 * ((uint64_t)x26 * x26)) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + ((uint64_t)x35 * x14))))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + (((uint64_t)x6 * x6) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + ((0x2 * ((uint64_t)x12 * x35)) + ((0x2 * ((uint64_t)x14 * x36)) + (((uint64_t)x16 * x34) + ((0x2 * ((uint64_t)x18 * x32)) + (((uint64_t)x20 * x30) + ((0x2 * ((uint64_t)x22 * x28)) + ((0x2 * ((uint64_t)x24 * x26)) + ((0x2 * ((uint64_t)x26 * x24)) + ((0x2 * ((uint64_t)x28 * x22)) + (((uint64_t)x30 * x20) + ((0x2 * ((uint64_t)x32 * x18)) + (((uint64_t)x34 * x16) + ((0x2 * ((uint64_t)x36 * x14)) + (0x2 * ((uint64_t)x35 * x12))))))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x35) + ((0x2 * ((uint64_t)x12 * x36)) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + ((0x2 * ((uint64_t)x22 * x26)) + (((uint64_t)x24 * x24) + ((0x2 * ((uint64_t)x26 * x22)) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + (((uint64_t)x32 * x16) + (((uint64_t)x34 * x14) + ((0x2 * ((uint64_t)x36 * x12)) + ((uint64_t)x35 * x10))))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x2 * ((uint64_t)x8 * x35)) + ((0x2 * ((uint64_t)x10 * x36)) + ((0x2 * ((uint64_t)x12 * x34)) + ((0x2 * ((uint64_t)x14 * x32)) + (((uint64_t)x16 * x30) + ((0x2 * ((uint64_t)x18 * x28)) + ((0x2 * ((uint64_t)x20 * x26)) + ((0x2 * ((uint64_t)x22 * x24)) + ((0x2 * ((uint64_t)x24 * x22)) + ((0x2 * ((uint64_t)x26 * x20)) + ((0x2 * ((uint64_t)x28 * x18)) + (((uint64_t)x30 * x16) + ((0x2 * ((uint64_t)x32 * x14)) + ((0x2 * ((uint64_t)x34 * x12)) + ((0x2 * ((uint64_t)x36 * x10)) + (0x2 * ((uint64_t)x35 * x8))))))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x35) + ((0x2 * ((uint64_t)x8 * x36)) + (((uint64_t)x10 * x34) + ((0x2 * ((uint64_t)x12 * x32)) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + ((0x2 * ((uint64_t)x18 * x26)) + (((uint64_t)x20 * x24) + ((0x2 * ((uint64_t)x22 * x22)) + (((uint64_t)x24 * x20) + ((0x2 * ((uint64_t)x26 * x18)) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((0x2 * ((uint64_t)x32 * x12)) + (((uint64_t)x34 * x10) + ((0x2 * ((uint64_t)x36 * x8)) + ((uint64_t)x35 * x6))))))))))))))))));
- uint64_t x55 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x35)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + (0x2 * ((uint64_t)x35 * x4))))))))))))))))))));
- uint64_t x56 = (x55 >> 0x1c);
- uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
- uint64_t x58 = (x56 + x54);
- uint64_t x59 = (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint64_t x61 = (x59 + x53);
- uint64_t x62 = (x61 >> 0x1c);
- uint32_t x63 = ((uint32_t)x61 & 0xfffffff);
- uint64_t x64 = (x62 + x52);
- uint64_t x65 = (x64 >> 0x1b);
- uint32_t x66 = ((uint32_t)x64 & 0x7ffffff);
- uint64_t x67 = (x65 + x51);
- uint64_t x68 = (x67 >> 0x1c);
- uint32_t x69 = ((uint32_t)x67 & 0xfffffff);
- uint64_t x70 = (x68 + x50);
- uint64_t x71 = (x70 >> 0x1b);
- uint32_t x72 = ((uint32_t)x70 & 0x7ffffff);
- uint64_t x73 = (x71 + x49);
- uint64_t x74 = (x73 >> 0x1b);
- uint32_t x75 = ((uint32_t)x73 & 0x7ffffff);
- uint64_t x76 = (x74 + x48);
- uint64_t x77 = (x76 >> 0x1c);
- uint32_t x78 = ((uint32_t)x76 & 0xfffffff);
- uint64_t x79 = (x77 + x47);
- uint64_t x80 = (x79 >> 0x1b);
- uint32_t x81 = ((uint32_t)x79 & 0x7ffffff);
- uint64_t x82 = (x80 + x46);
- uint64_t x83 = (x82 >> 0x1c);
- uint32_t x84 = ((uint32_t)x82 & 0xfffffff);
- uint64_t x85 = (x83 + x45);
- uint64_t x86 = (x85 >> 0x1b);
- uint32_t x87 = ((uint32_t)x85 & 0x7ffffff);
- uint64_t x88 = (x86 + x44);
- uint64_t x89 = (x88 >> 0x1c);
- uint32_t x90 = ((uint32_t)x88 & 0xfffffff);
- uint64_t x91 = (x89 + x43);
- uint64_t x92 = (x91 >> 0x1b);
- uint32_t x93 = ((uint32_t)x91 & 0x7ffffff);
- uint64_t x94 = (x92 + x42);
- uint64_t x95 = (x94 >> 0x1b);
- uint32_t x96 = ((uint32_t)x94 & 0x7ffffff);
- uint64_t x97 = (x95 + x41);
- uint64_t x98 = (x97 >> 0x1c);
- uint32_t x99 = ((uint32_t)x97 & 0xfffffff);
- uint64_t x100 = (x98 + x40);
- uint64_t x101 = (x100 >> 0x1b);
- uint32_t x102 = ((uint32_t)x100 & 0x7ffffff);
- uint64_t x103 = (x101 + x39);
- uint64_t x104 = (x103 >> 0x1c);
- uint32_t x105 = ((uint32_t)x103 & 0xfffffff);
- uint64_t x106 = (x104 + x38);
- uint64_t x107 = (x106 >> 0x1b);
- uint32_t x108 = ((uint32_t)x106 & 0x7ffffff);
- uint64_t x109 = (x107 + x37);
- uint64_t x110 = (x109 >> 0x1b);
- uint32_t x111 = ((uint32_t)x109 & 0x7ffffff);
- uint64_t x112 = (x57 + x110);
- uint32_t x113 = (uint32_t) (x112 >> 0x1c);
- uint32_t x114 = ((uint32_t)x112 & 0xfffffff);
- uint32_t x115 = (x113 + x60);
- uint32_t x116 = (x115 >> 0x1b);
- uint32_t x117 = (x115 & 0x7ffffff);
- return (Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, (x116 + x63), Return x117, Return x114))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.v b/src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.v
deleted file mode 100644
index c674f75ac..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fesub.c b/src/Specific/solinas32_2e521m1_19limbs/fesub.c
deleted file mode 100644
index 038fe49c1..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesub.c
+++ /dev/null
@@ -1,60 +0,0 @@
-static void fesub(uint32_t out[19], const uint32_t in1[19], const uint32_t in2[19]) {
- { const uint32_t x38 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x74 = in2[18];
- { const uint32_t x75 = in2[17];
- { const uint32_t x73 = in2[16];
- { const uint32_t x71 = in2[15];
- { const uint32_t x69 = in2[14];
- { const uint32_t x67 = in2[13];
- { const uint32_t x65 = in2[12];
- { const uint32_t x63 = in2[11];
- { const uint32_t x61 = in2[10];
- { const uint32_t x59 = in2[9];
- { const uint32_t x57 = in2[8];
- { const uint32_t x55 = in2[7];
- { const uint32_t x53 = in2[6];
- { const uint32_t x51 = in2[5];
- { const uint32_t x49 = in2[4];
- { const uint32_t x47 = in2[3];
- { const uint32_t x45 = in2[2];
- { const uint32_t x43 = in2[1];
- { const uint32_t x41 = in2[0];
- out[0] = ((0x1ffffffe + x5) - x41);
- out[1] = ((0xffffffe + x7) - x43);
- out[2] = ((0x1ffffffe + x9) - x45);
- out[3] = ((0xffffffe + x11) - x47);
- out[4] = ((0x1ffffffe + x13) - x49);
- out[5] = ((0xffffffe + x15) - x51);
- out[6] = ((0xffffffe + x17) - x53);
- out[7] = ((0x1ffffffe + x19) - x55);
- out[8] = ((0xffffffe + x21) - x57);
- out[9] = ((0x1ffffffe + x23) - x59);
- out[10] = ((0xffffffe + x25) - x61);
- out[11] = ((0x1ffffffe + x27) - x63);
- out[12] = ((0xffffffe + x29) - x65);
- out[13] = ((0xffffffe + x31) - x67);
- out[14] = ((0x1ffffffe + x33) - x69);
- out[15] = ((0xffffffe + x35) - x71);
- out[16] = ((0x1ffffffe + x37) - x73);
- out[17] = ((0xffffffe + x39) - x75);
- out[18] = ((0xffffffe + x38) - x74);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fesub.v b/src/Specific/solinas32_2e521m1_19limbs/fesub.v
deleted file mode 100644
index eeb077b7e..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/fesubDisplay.log b/src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.log
deleted file mode 100644
index d3d4cf2c2..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/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 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x38, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x74, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41))%core,
- (((0xffffffe + x38) - x74), ((0xffffffe + x39) - x75), ((0x1ffffffe + x37) - x73), ((0xffffffe + x35) - x71), ((0x1ffffffe + x33) - x69), ((0xffffffe + x31) - x67), ((0xffffffe + x29) - x65), ((0x1ffffffe + x27) - x63), ((0xffffffe + x25) - x61), ((0x1ffffffe + x23) - x59), ((0xffffffe + x21) - x57), ((0x1ffffffe + x19) - x55), ((0xffffffe + x17) - x53), ((0xffffffe + x15) - x51), ((0x1ffffffe + x13) - x49), ((0xffffffe + x11) - x47), ((0x1ffffffe + x9) - x45), ((0xffffffe + x7) - x43), ((0x1ffffffe + x5) - x41)))
-(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 * 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.v b/src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.v
deleted file mode 100644
index 9b523f348..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e521m1_19limbs/freeze.c b/src/Specific/solinas32_2e521m1_19limbs/freeze.c
deleted file mode 100644
index 126184b96..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/freeze.c
+++ /dev/null
@@ -1,99 +0,0 @@
-static void freeze(uint32_t out[19], const uint32_t in1[19]) {
- { const uint32_t x35 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x38, uint8_t x39 = 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 x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x7ffffff);
- { 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 x6, 0xfffffff);
- { uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x7ffffff);
- { 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 x10, 0xfffffff);
- { uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0x7ffffff);
- { uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x7ffffff);
- { 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 x16, 0xfffffff);
- { uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0x7ffffff);
- { 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 x20, 0xfffffff);
- { uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0x7ffffff);
- { 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 x24, 0xfffffff);
- { uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x7ffffff);
- { uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0x7ffffff);
- { uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0xfffffff);
- { uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x7ffffff);
- { uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0xfffffff);
- { uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x7ffffff);
- { uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0x7ffffff);
- { uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- { uint32_t x95 = (x94 & 0xfffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- { uint32_t x99 = (x94 & 0x7ffffff);
- { uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- { uint32_t x103 = (x94 & 0xfffffff);
- { uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- { uint32_t x107 = (x94 & 0x7ffffff);
- { uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- { uint32_t x111 = (x94 & 0xfffffff);
- { uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- { uint32_t x115 = (x94 & 0x7ffffff);
- { uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- { uint32_t x119 = (x94 & 0x7ffffff);
- { uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- { uint32_t x123 = (x94 & 0xfffffff);
- { uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- { uint32_t x127 = (x94 & 0x7ffffff);
- { uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- { uint32_t x131 = (x94 & 0xfffffff);
- { uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- { uint32_t x135 = (x94 & 0x7ffffff);
- { uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- { uint32_t x139 = (x94 & 0xfffffff);
- { uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- { uint32_t x143 = (x94 & 0x7ffffff);
- { uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- { uint32_t x147 = (x94 & 0x7ffffff);
- { uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- { uint32_t x151 = (x94 & 0xfffffff);
- { uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- { uint32_t x155 = (x94 & 0x7ffffff);
- { uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- { uint32_t x159 = (x94 & 0xfffffff);
- { uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- { uint32_t x163 = (x94 & 0x7ffffff);
- { uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- { uint32_t x167 = (x94 & 0x7ffffff);
- { uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- out[0] = x97;
- out[1] = x101;
- out[2] = x105;
- out[3] = x109;
- out[4] = x113;
- out[5] = x117;
- out[6] = x121;
- out[7] = x125;
- out[8] = x129;
- out[9] = x133;
- out[10] = x137;
- out[11] = x141;
- out[12] = x145;
- out[13] = x149;
- out[14] = x153;
- out[15] = x157;
- out[16] = x161;
- out[17] = x165;
- out[18] = x169;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_19limbs/freeze.v b/src/Specific/solinas32_2e521m1_19limbs/freeze.v
deleted file mode 100644
index b052a4885..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.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_2e521m1_19limbs/freezeDisplay.log b/src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.log
deleted file mode 100644
index 6a6ce93bd..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.log
+++ /dev/null
@@ -1,65 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x35, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- 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)) (0x0, Return x2, 0xfffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x4, 0x7ffffff);
- 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 x6, 0xfffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x8, 0x7ffffff);
- 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 x10, 0xfffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x12, 0x7ffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x14, 0x7ffffff);
- 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 x16, 0xfffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x18, 0x7ffffff);
- 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 x20, 0xfffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x22, 0x7ffffff);
- 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 x24, 0xfffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x26, 0x7ffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x28, 0x7ffffff);
- uint32_t x80, uint8_t x81 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x30, 0xfffffff);
- uint32_t x83, uint8_t x84 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x32, 0x7ffffff);
- uint32_t x86, uint8_t x87 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x34, 0xfffffff);
- uint32_t x89, uint8_t x90 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x36, 0x7ffffff);
- uint32_t x92, uint8_t x93 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x35, 0x7ffffff);
- uint32_t x94 = cmovznz32(x93, 0x0, 0xffffffff);
- uint32_t x95 = (x94 & 0xfffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x38, Return x95);
- uint32_t x99 = (x94 & 0x7ffffff);
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x41, Return x99);
- uint32_t x103 = (x94 & 0xfffffff);
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x44, Return x103);
- uint32_t x107 = (x94 & 0x7ffffff);
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x47, Return x107);
- uint32_t x111 = (x94 & 0xfffffff);
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x50, Return x111);
- uint32_t x115 = (x94 & 0x7ffffff);
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x53, Return x115);
- uint32_t x119 = (x94 & 0x7ffffff);
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x56, Return x119);
- uint32_t x123 = (x94 & 0xfffffff);
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x59, Return x123);
- uint32_t x127 = (x94 & 0x7ffffff);
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x62, Return x127);
- uint32_t x131 = (x94 & 0xfffffff);
- uint32_t x133, uint8_t x134 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x65, Return x131);
- uint32_t x135 = (x94 & 0x7ffffff);
- uint32_t x137, uint8_t x138 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x134, Return x68, Return x135);
- uint32_t x139 = (x94 & 0xfffffff);
- uint32_t x141, uint8_t x142 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x138, Return x71, Return x139);
- uint32_t x143 = (x94 & 0x7ffffff);
- uint32_t x145, uint8_t x146 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x142, Return x74, Return x143);
- uint32_t x147 = (x94 & 0x7ffffff);
- uint32_t x149, uint8_t x150 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x146, Return x77, Return x147);
- uint32_t x151 = (x94 & 0xfffffff);
- uint32_t x153, uint8_t x154 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x150, Return x80, Return x151);
- uint32_t x155 = (x94 & 0x7ffffff);
- uint32_t x157, uint8_t x158 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x154, Return x83, Return x155);
- uint32_t x159 = (x94 & 0xfffffff);
- uint32_t x161, uint8_t x162 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x158, Return x86, Return x159);
- uint32_t x163 = (x94 & 0x7ffffff);
- uint32_t x165, uint8_t x166 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x162, Return x89, Return x163);
- uint32_t x167 = (x94 & 0x7ffffff);
- uint32_t x169, uint8_t _ = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x166, Return x92, Return x167);
- (Return x169, Return x165, Return x161, Return x157, Return x153, Return x149, Return x145, Return x141, Return x137, Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97))
-x
- : 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 * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.v b/src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.v
deleted file mode 100644
index b6580d7f9..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_19limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e521m1_19limbs/py_interpreter.sh b/src/Specific/solinas32_2e521m1_19limbs/py_interpreter.sh
deleted file mode 100755
index a8cdd7045..000000000
--- a/src/Specific/solinas32_2e521m1_19limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**521 - 1' -Dmodulus_bytes='27 + 8/19' -Da24='121665'
diff --git a/src/Specific/solinas32_2e521m1_20limbs/CurveParameters.v b/src/Specific/solinas32_2e521m1_20limbs/CurveParameters.v
deleted file mode 100644
index 14fb480f7..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^521 - 1
-Base: 26 + 1/20
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 20%nat;
- base := 26 + 1/20;
- bitwidth := 32;
- s := 2^521;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 20); [0; 1]]%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_2e521m1_20limbs/Synthesis.v b/src/Specific/solinas32_2e521m1_20limbs/Synthesis.v
deleted file mode 100644
index e9da27249..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/compiler.sh b/src/Specific/solinas32_2e521m1_20limbs/compiler.sh
deleted file mode 100755
index bf159bf76..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas32_2e521m1_20limbs/compilerxx.sh b/src/Specific/solinas32_2e521m1_20limbs/compilerxx.sh
deleted file mode 100755
index a1dc19c79..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='32' -Dlimb_weight_gaps_array='{27,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='20' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas32_2e521m1_20limbs/feadd.c b/src/Specific/solinas32_2e521m1_20limbs/feadd.c
deleted file mode 100644
index 28ee6f665..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/feadd.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void feadd(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = (x5 + x43);
- out[1] = (x7 + x45);
- out[2] = (x9 + x47);
- out[3] = (x11 + x49);
- out[4] = (x13 + x51);
- out[5] = (x15 + x53);
- out[6] = (x17 + x55);
- out[7] = (x19 + x57);
- out[8] = (x21 + x59);
- out[9] = (x23 + x61);
- out[10] = (x25 + x63);
- out[11] = (x27 + x65);
- out[12] = (x29 + x67);
- out[13] = (x31 + x69);
- out[14] = (x33 + x71);
- out[15] = (x35 + x73);
- out[16] = (x37 + x75);
- out[17] = (x39 + x77);
- out[18] = (x41 + x79);
- out[19] = (x40 + x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_20limbs/feadd.v b/src/Specific/solinas32_2e521m1_20limbs/feadd.v
deleted file mode 100644
index 4eefbedde..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/feaddDisplay.log b/src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.log
deleted file mode 100644
index eebe17777..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- ((x40 + x78), (x41 + x79), (x39 + x77), (x37 + x75), (x35 + x73), (x33 + x71), (x31 + x69), (x29 + x67), (x27 + x65), (x25 + x63), (x23 + x61), (x21 + x59), (x19 + x57), (x17 + x55), (x15 + x53), (x13 + x51), (x11 + x49), (x9 + x47), (x7 + x45), (x5 + x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.v b/src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.v
deleted file mode 100644
index 2e30dba4e..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fecarry.v b/src/Specific/solinas32_2e521m1_20limbs/fecarry.v
deleted file mode 100644
index 8614a4d41..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/fecarryDisplay.v b/src/Specific/solinas32_2e521m1_20limbs/fecarryDisplay.v
deleted file mode 100644
index 795e35bc9..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas32_2e521m1_20limbs/femul.c b/src/Specific/solinas32_2e521m1_20limbs/femul.c
deleted file mode 100644
index 5d3dd9fd8..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/femul.c
+++ /dev/null
@@ -1,148 +0,0 @@
-static void femul(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- { uint64_t x80 = (((uint64_t)x5 * x78) + ((0x2 * ((uint64_t)x7 * x79)) + ((0x2 * ((uint64_t)x9 * x77)) + ((0x2 * ((uint64_t)x11 * x75)) + ((0x2 * ((uint64_t)x13 * x73)) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + ((0x2 * ((uint64_t)x39 * x47)) + ((0x2 * ((uint64_t)x41 * x45)) + ((uint64_t)x40 * x43))))))))))))))))))));
- { uint64_t x81 = ((((uint64_t)x5 * x79) + ((0x2 * ((uint64_t)x7 * x77)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + ((uint64_t)x41 * x43))))))))))))))))))) + ((uint64_t)x40 * x78));
- { uint64_t x82 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + ((0x2 * ((uint64_t)x9 * x73)) + ((0x2 * ((uint64_t)x11 * x71)) + ((0x2 * ((uint64_t)x13 * x69)) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + ((0x2 * ((uint64_t)x35 * x47)) + ((0x2 * ((uint64_t)x37 * x45)) + ((uint64_t)x39 * x43)))))))))))))))))) + (((uint64_t)x41 * x78) + ((uint64_t)x40 * x79)));
- { uint64_t x83 = ((((uint64_t)x5 * x75) + ((0x2 * ((uint64_t)x7 * x73)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((uint64_t)x37 * x43))))))))))))))))) + (((uint64_t)x39 * x78) + (((uint64_t)x41 * x79) + ((uint64_t)x40 * x77))));
- { uint64_t x84 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((uint64_t)x35 * x43)))))))))))))))) + (((uint64_t)x37 * x78) + (((uint64_t)x39 * x79) + (((uint64_t)x41 * x77) + ((uint64_t)x40 * x75)))));
- { uint64_t x85 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((uint64_t)x33 * x43))))))))))))))) + (((uint64_t)x35 * x78) + (((uint64_t)x37 * x79) + (((uint64_t)x39 * x77) + (((uint64_t)x41 * x75) + ((uint64_t)x40 * x73))))));
- { uint64_t x86 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((uint64_t)x31 * x43)))))))))))))) + (((uint64_t)x33 * x78) + (((uint64_t)x35 * x79) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + ((uint64_t)x40 * x71)))))));
- { uint64_t x87 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((uint64_t)x29 * x43))))))))))))) + (((uint64_t)x31 * x78) + (((uint64_t)x33 * x79) + (((uint64_t)x35 * x77) + (((uint64_t)x37 * x75) + (((uint64_t)x39 * x73) + (((uint64_t)x41 * x71) + ((uint64_t)x40 * x69))))))));
- { uint64_t x88 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x27 * x43)))))))))))) + (((uint64_t)x29 * x78) + (((uint64_t)x31 * x79) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + (((uint64_t)x41 * x69) + ((uint64_t)x40 * x67)))))))));
- { uint64_t x89 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((uint64_t)x25 * x43))))))))))) + (((uint64_t)x27 * x78) + (((uint64_t)x29 * x79) + (((uint64_t)x31 * x77) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + (((uint64_t)x41 * x67) + ((uint64_t)x40 * x65))))))))));
- { uint64_t x90 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((uint64_t)x23 * x43)))))))))) + (((uint64_t)x25 * x78) + (((uint64_t)x27 * x79) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + (((uint64_t)x41 * x65) + ((uint64_t)x40 * x63)))))))))));
- { uint64_t x91 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((uint64_t)x21 * x43))))))))) + (((uint64_t)x23 * x78) + (((uint64_t)x25 * x79) + (((uint64_t)x27 * x77) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + (((uint64_t)x39 * x65) + (((uint64_t)x41 * x63) + ((uint64_t)x40 * x61))))))))))));
- { uint64_t x92 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((uint64_t)x19 * x43)))))))) + (((uint64_t)x21 * x78) + (((uint64_t)x23 * x79) + (((uint64_t)x25 * x77) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + (((uint64_t)x41 * x61) + ((uint64_t)x40 * x59)))))))))))));
- { uint64_t x93 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((uint64_t)x17 * x43))))))) + (((uint64_t)x19 * x78) + (((uint64_t)x21 * x79) + (((uint64_t)x23 * x77) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + (((uint64_t)x41 * x59) + ((uint64_t)x40 * x57))))))))))))));
- { uint64_t x94 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((uint64_t)x15 * x43)))))) + (((uint64_t)x17 * x78) + (((uint64_t)x19 * x79) + (((uint64_t)x21 * x77) + (((uint64_t)x23 * x75) + (((uint64_t)x25 * x73) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + (((uint64_t)x41 * x57) + ((uint64_t)x40 * x55)))))))))))))));
- { uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (((uint64_t)x15 * x78) + (((uint64_t)x17 * x79) + (((uint64_t)x19 * x77) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + (((uint64_t)x41 * x55) + ((uint64_t)x40 * x53))))))))))))))));
- { uint64_t x96 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((uint64_t)x11 * x43)))) + (((uint64_t)x13 * x78) + (((uint64_t)x15 * x79) + (((uint64_t)x17 * x77) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (((uint64_t)x41 * x53) + ((uint64_t)x40 * x51)))))))))))))))));
- { uint64_t x97 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((uint64_t)x9 * x43))) + (((uint64_t)x11 * x78) + (((uint64_t)x13 * x79) + (((uint64_t)x15 * x77) + (((uint64_t)x17 * x75) + (((uint64_t)x19 * x73) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + (((uint64_t)x37 * x55) + (((uint64_t)x39 * x53) + (((uint64_t)x41 * x51) + ((uint64_t)x40 * x49))))))))))))))))));
- { uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x78) + (((uint64_t)x11 * x79) + (((uint64_t)x13 * x77) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + (((uint64_t)x41 * x49) + ((uint64_t)x40 * x47)))))))))))))))))));
- { uint64_t x99 = (((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45)))))))))))))))))))));
- { uint64_t x100 = (x99 >> 0x1b);
- { uint32_t x101 = ((uint32_t)x99 & 0x7ffffff);
- { uint64_t x102 = (x100 + x98);
- { uint64_t x103 = (x102 >> 0x1a);
- { uint32_t x104 = ((uint32_t)x102 & 0x3ffffff);
- { uint64_t x105 = (x103 + x97);
- { uint64_t x106 = (x105 >> 0x1a);
- { uint32_t x107 = ((uint32_t)x105 & 0x3ffffff);
- { uint64_t x108 = (x106 + x96);
- { uint64_t x109 = (x108 >> 0x1a);
- { uint32_t x110 = ((uint32_t)x108 & 0x3ffffff);
- { uint64_t x111 = (x109 + x95);
- { uint64_t x112 = (x111 >> 0x1a);
- { uint32_t x113 = ((uint32_t)x111 & 0x3ffffff);
- { uint64_t x114 = (x112 + x94);
- { uint64_t x115 = (x114 >> 0x1a);
- { uint32_t x116 = ((uint32_t)x114 & 0x3ffffff);
- { uint64_t x117 = (x115 + x93);
- { uint64_t x118 = (x117 >> 0x1a);
- { uint32_t x119 = ((uint32_t)x117 & 0x3ffffff);
- { uint64_t x120 = (x118 + x92);
- { uint64_t x121 = (x120 >> 0x1a);
- { uint32_t x122 = ((uint32_t)x120 & 0x3ffffff);
- { uint64_t x123 = (x121 + x91);
- { uint64_t x124 = (x123 >> 0x1a);
- { uint32_t x125 = ((uint32_t)x123 & 0x3ffffff);
- { uint64_t x126 = (x124 + x90);
- { uint64_t x127 = (x126 >> 0x1a);
- { uint32_t x128 = ((uint32_t)x126 & 0x3ffffff);
- { uint64_t x129 = (x127 + x89);
- { uint64_t x130 = (x129 >> 0x1a);
- { uint32_t x131 = ((uint32_t)x129 & 0x3ffffff);
- { uint64_t x132 = (x130 + x88);
- { uint64_t x133 = (x132 >> 0x1a);
- { uint32_t x134 = ((uint32_t)x132 & 0x3ffffff);
- { uint64_t x135 = (x133 + x87);
- { uint64_t x136 = (x135 >> 0x1a);
- { uint32_t x137 = ((uint32_t)x135 & 0x3ffffff);
- { uint64_t x138 = (x136 + x86);
- { uint64_t x139 = (x138 >> 0x1a);
- { uint32_t x140 = ((uint32_t)x138 & 0x3ffffff);
- { uint64_t x141 = (x139 + x85);
- { uint64_t x142 = (x141 >> 0x1a);
- { uint32_t x143 = ((uint32_t)x141 & 0x3ffffff);
- { uint64_t x144 = (x142 + x84);
- { uint64_t x145 = (x144 >> 0x1a);
- { uint32_t x146 = ((uint32_t)x144 & 0x3ffffff);
- { uint64_t x147 = (x145 + x83);
- { uint64_t x148 = (x147 >> 0x1a);
- { uint32_t x149 = ((uint32_t)x147 & 0x3ffffff);
- { uint64_t x150 = (x148 + x82);
- { uint64_t x151 = (x150 >> 0x1a);
- { uint32_t x152 = ((uint32_t)x150 & 0x3ffffff);
- { uint64_t x153 = (x151 + x81);
- { uint64_t x154 = (x153 >> 0x1a);
- { uint32_t x155 = ((uint32_t)x153 & 0x3ffffff);
- { uint64_t x156 = (x154 + x80);
- { uint64_t x157 = (x156 >> 0x1a);
- { uint32_t x158 = ((uint32_t)x156 & 0x3ffffff);
- { uint64_t x159 = (x101 + x157);
- { uint32_t x160 = (uint32_t) (x159 >> 0x1b);
- { uint32_t x161 = ((uint32_t)x159 & 0x7ffffff);
- { uint32_t x162 = (x160 + x104);
- { uint32_t x163 = (x162 >> 0x1a);
- { uint32_t x164 = (x162 & 0x3ffffff);
- out[0] = x161;
- out[1] = x164;
- out[2] = (x163 + x107);
- out[3] = x110;
- out[4] = x113;
- out[5] = x116;
- out[6] = x119;
- out[7] = x122;
- out[8] = x125;
- out[9] = x128;
- out[10] = x131;
- out[11] = x134;
- out[12] = x137;
- out[13] = x140;
- out[14] = x143;
- out[15] = x146;
- out[16] = x149;
- out[17] = x152;
- out[18] = x155;
- out[19] = x158;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_20limbs/femul.v b/src/Specific/solinas32_2e521m1_20limbs/femul.v
deleted file mode 100644
index e900766cd..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/femulDisplay.log b/src/Specific/solinas32_2e521m1_20limbs/femulDisplay.log
deleted file mode 100644
index ef4833993..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/femulDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- uint64_t x80 = (((uint64_t)x5 * x78) + ((0x2 * ((uint64_t)x7 * x79)) + ((0x2 * ((uint64_t)x9 * x77)) + ((0x2 * ((uint64_t)x11 * x75)) + ((0x2 * ((uint64_t)x13 * x73)) + ((0x2 * ((uint64_t)x15 * x71)) + ((0x2 * ((uint64_t)x17 * x69)) + ((0x2 * ((uint64_t)x19 * x67)) + ((0x2 * ((uint64_t)x21 * x65)) + ((0x2 * ((uint64_t)x23 * x63)) + ((0x2 * ((uint64_t)x25 * x61)) + ((0x2 * ((uint64_t)x27 * x59)) + ((0x2 * ((uint64_t)x29 * x57)) + ((0x2 * ((uint64_t)x31 * x55)) + ((0x2 * ((uint64_t)x33 * x53)) + ((0x2 * ((uint64_t)x35 * x51)) + ((0x2 * ((uint64_t)x37 * x49)) + ((0x2 * ((uint64_t)x39 * x47)) + ((0x2 * ((uint64_t)x41 * x45)) + ((uint64_t)x40 * x43))))))))))))))))))));
- uint64_t x81 = ((((uint64_t)x5 * x79) + ((0x2 * ((uint64_t)x7 * x77)) + ((0x2 * ((uint64_t)x9 * x75)) + ((0x2 * ((uint64_t)x11 * x73)) + ((0x2 * ((uint64_t)x13 * x71)) + ((0x2 * ((uint64_t)x15 * x69)) + ((0x2 * ((uint64_t)x17 * x67)) + ((0x2 * ((uint64_t)x19 * x65)) + ((0x2 * ((uint64_t)x21 * x63)) + ((0x2 * ((uint64_t)x23 * x61)) + ((0x2 * ((uint64_t)x25 * x59)) + ((0x2 * ((uint64_t)x27 * x57)) + ((0x2 * ((uint64_t)x29 * x55)) + ((0x2 * ((uint64_t)x31 * x53)) + ((0x2 * ((uint64_t)x33 * x51)) + ((0x2 * ((uint64_t)x35 * x49)) + ((0x2 * ((uint64_t)x37 * x47)) + ((0x2 * ((uint64_t)x39 * x45)) + ((uint64_t)x41 * x43))))))))))))))))))) + ((uint64_t)x40 * x78));
- uint64_t x82 = ((((uint64_t)x5 * x77) + ((0x2 * ((uint64_t)x7 * x75)) + ((0x2 * ((uint64_t)x9 * x73)) + ((0x2 * ((uint64_t)x11 * x71)) + ((0x2 * ((uint64_t)x13 * x69)) + ((0x2 * ((uint64_t)x15 * x67)) + ((0x2 * ((uint64_t)x17 * x65)) + ((0x2 * ((uint64_t)x19 * x63)) + ((0x2 * ((uint64_t)x21 * x61)) + ((0x2 * ((uint64_t)x23 * x59)) + ((0x2 * ((uint64_t)x25 * x57)) + ((0x2 * ((uint64_t)x27 * x55)) + ((0x2 * ((uint64_t)x29 * x53)) + ((0x2 * ((uint64_t)x31 * x51)) + ((0x2 * ((uint64_t)x33 * x49)) + ((0x2 * ((uint64_t)x35 * x47)) + ((0x2 * ((uint64_t)x37 * x45)) + ((uint64_t)x39 * x43)))))))))))))))))) + (((uint64_t)x41 * x78) + ((uint64_t)x40 * x79)));
- uint64_t x83 = ((((uint64_t)x5 * x75) + ((0x2 * ((uint64_t)x7 * x73)) + ((0x2 * ((uint64_t)x9 * x71)) + ((0x2 * ((uint64_t)x11 * x69)) + ((0x2 * ((uint64_t)x13 * x67)) + ((0x2 * ((uint64_t)x15 * x65)) + ((0x2 * ((uint64_t)x17 * x63)) + ((0x2 * ((uint64_t)x19 * x61)) + ((0x2 * ((uint64_t)x21 * x59)) + ((0x2 * ((uint64_t)x23 * x57)) + ((0x2 * ((uint64_t)x25 * x55)) + ((0x2 * ((uint64_t)x27 * x53)) + ((0x2 * ((uint64_t)x29 * x51)) + ((0x2 * ((uint64_t)x31 * x49)) + ((0x2 * ((uint64_t)x33 * x47)) + ((0x2 * ((uint64_t)x35 * x45)) + ((uint64_t)x37 * x43))))))))))))))))) + (((uint64_t)x39 * x78) + (((uint64_t)x41 * x79) + ((uint64_t)x40 * x77))));
- uint64_t x84 = ((((uint64_t)x5 * x73) + ((0x2 * ((uint64_t)x7 * x71)) + ((0x2 * ((uint64_t)x9 * x69)) + ((0x2 * ((uint64_t)x11 * x67)) + ((0x2 * ((uint64_t)x13 * x65)) + ((0x2 * ((uint64_t)x15 * x63)) + ((0x2 * ((uint64_t)x17 * x61)) + ((0x2 * ((uint64_t)x19 * x59)) + ((0x2 * ((uint64_t)x21 * x57)) + ((0x2 * ((uint64_t)x23 * x55)) + ((0x2 * ((uint64_t)x25 * x53)) + ((0x2 * ((uint64_t)x27 * x51)) + ((0x2 * ((uint64_t)x29 * x49)) + ((0x2 * ((uint64_t)x31 * x47)) + ((0x2 * ((uint64_t)x33 * x45)) + ((uint64_t)x35 * x43)))))))))))))))) + (((uint64_t)x37 * x78) + (((uint64_t)x39 * x79) + (((uint64_t)x41 * x77) + ((uint64_t)x40 * x75)))));
- uint64_t x85 = ((((uint64_t)x5 * x71) + ((0x2 * ((uint64_t)x7 * x69)) + ((0x2 * ((uint64_t)x9 * x67)) + ((0x2 * ((uint64_t)x11 * x65)) + ((0x2 * ((uint64_t)x13 * x63)) + ((0x2 * ((uint64_t)x15 * x61)) + ((0x2 * ((uint64_t)x17 * x59)) + ((0x2 * ((uint64_t)x19 * x57)) + ((0x2 * ((uint64_t)x21 * x55)) + ((0x2 * ((uint64_t)x23 * x53)) + ((0x2 * ((uint64_t)x25 * x51)) + ((0x2 * ((uint64_t)x27 * x49)) + ((0x2 * ((uint64_t)x29 * x47)) + ((0x2 * ((uint64_t)x31 * x45)) + ((uint64_t)x33 * x43))))))))))))))) + (((uint64_t)x35 * x78) + (((uint64_t)x37 * x79) + (((uint64_t)x39 * x77) + (((uint64_t)x41 * x75) + ((uint64_t)x40 * x73))))));
- uint64_t x86 = ((((uint64_t)x5 * x69) + ((0x2 * ((uint64_t)x7 * x67)) + ((0x2 * ((uint64_t)x9 * x65)) + ((0x2 * ((uint64_t)x11 * x63)) + ((0x2 * ((uint64_t)x13 * x61)) + ((0x2 * ((uint64_t)x15 * x59)) + ((0x2 * ((uint64_t)x17 * x57)) + ((0x2 * ((uint64_t)x19 * x55)) + ((0x2 * ((uint64_t)x21 * x53)) + ((0x2 * ((uint64_t)x23 * x51)) + ((0x2 * ((uint64_t)x25 * x49)) + ((0x2 * ((uint64_t)x27 * x47)) + ((0x2 * ((uint64_t)x29 * x45)) + ((uint64_t)x31 * x43)))))))))))))) + (((uint64_t)x33 * x78) + (((uint64_t)x35 * x79) + (((uint64_t)x37 * x77) + (((uint64_t)x39 * x75) + (((uint64_t)x41 * x73) + ((uint64_t)x40 * x71)))))));
- uint64_t x87 = ((((uint64_t)x5 * x67) + ((0x2 * ((uint64_t)x7 * x65)) + ((0x2 * ((uint64_t)x9 * x63)) + ((0x2 * ((uint64_t)x11 * x61)) + ((0x2 * ((uint64_t)x13 * x59)) + ((0x2 * ((uint64_t)x15 * x57)) + ((0x2 * ((uint64_t)x17 * x55)) + ((0x2 * ((uint64_t)x19 * x53)) + ((0x2 * ((uint64_t)x21 * x51)) + ((0x2 * ((uint64_t)x23 * x49)) + ((0x2 * ((uint64_t)x25 * x47)) + ((0x2 * ((uint64_t)x27 * x45)) + ((uint64_t)x29 * x43))))))))))))) + (((uint64_t)x31 * x78) + (((uint64_t)x33 * x79) + (((uint64_t)x35 * x77) + (((uint64_t)x37 * x75) + (((uint64_t)x39 * x73) + (((uint64_t)x41 * x71) + ((uint64_t)x40 * x69))))))));
- uint64_t x88 = ((((uint64_t)x5 * x65) + ((0x2 * ((uint64_t)x7 * x63)) + ((0x2 * ((uint64_t)x9 * x61)) + ((0x2 * ((uint64_t)x11 * x59)) + ((0x2 * ((uint64_t)x13 * x57)) + ((0x2 * ((uint64_t)x15 * x55)) + ((0x2 * ((uint64_t)x17 * x53)) + ((0x2 * ((uint64_t)x19 * x51)) + ((0x2 * ((uint64_t)x21 * x49)) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x27 * x43)))))))))))) + (((uint64_t)x29 * x78) + (((uint64_t)x31 * x79) + (((uint64_t)x33 * x77) + (((uint64_t)x35 * x75) + (((uint64_t)x37 * x73) + (((uint64_t)x39 * x71) + (((uint64_t)x41 * x69) + ((uint64_t)x40 * x67)))))))));
- uint64_t x89 = ((((uint64_t)x5 * x63) + ((0x2 * ((uint64_t)x7 * x61)) + ((0x2 * ((uint64_t)x9 * x59)) + ((0x2 * ((uint64_t)x11 * x57)) + ((0x2 * ((uint64_t)x13 * x55)) + ((0x2 * ((uint64_t)x15 * x53)) + ((0x2 * ((uint64_t)x17 * x51)) + ((0x2 * ((uint64_t)x19 * x49)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((uint64_t)x25 * x43))))))))))) + (((uint64_t)x27 * x78) + (((uint64_t)x29 * x79) + (((uint64_t)x31 * x77) + (((uint64_t)x33 * x75) + (((uint64_t)x35 * x73) + (((uint64_t)x37 * x71) + (((uint64_t)x39 * x69) + (((uint64_t)x41 * x67) + ((uint64_t)x40 * x65))))))))));
- uint64_t x90 = ((((uint64_t)x5 * x61) + ((0x2 * ((uint64_t)x7 * x59)) + ((0x2 * ((uint64_t)x9 * x57)) + ((0x2 * ((uint64_t)x11 * x55)) + ((0x2 * ((uint64_t)x13 * x53)) + ((0x2 * ((uint64_t)x15 * x51)) + ((0x2 * ((uint64_t)x17 * x49)) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((uint64_t)x23 * x43)))))))))) + (((uint64_t)x25 * x78) + (((uint64_t)x27 * x79) + (((uint64_t)x29 * x77) + (((uint64_t)x31 * x75) + (((uint64_t)x33 * x73) + (((uint64_t)x35 * x71) + (((uint64_t)x37 * x69) + (((uint64_t)x39 * x67) + (((uint64_t)x41 * x65) + ((uint64_t)x40 * x63)))))))))));
- uint64_t x91 = ((((uint64_t)x5 * x59) + ((0x2 * ((uint64_t)x7 * x57)) + ((0x2 * ((uint64_t)x9 * x55)) + ((0x2 * ((uint64_t)x11 * x53)) + ((0x2 * ((uint64_t)x13 * x51)) + ((0x2 * ((uint64_t)x15 * x49)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + ((uint64_t)x21 * x43))))))))) + (((uint64_t)x23 * x78) + (((uint64_t)x25 * x79) + (((uint64_t)x27 * x77) + (((uint64_t)x29 * x75) + (((uint64_t)x31 * x73) + (((uint64_t)x33 * x71) + (((uint64_t)x35 * x69) + (((uint64_t)x37 * x67) + (((uint64_t)x39 * x65) + (((uint64_t)x41 * x63) + ((uint64_t)x40 * x61))))))))))));
- uint64_t x92 = ((((uint64_t)x5 * x57) + ((0x2 * ((uint64_t)x7 * x55)) + ((0x2 * ((uint64_t)x9 * x53)) + ((0x2 * ((uint64_t)x11 * x51)) + ((0x2 * ((uint64_t)x13 * x49)) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + ((uint64_t)x19 * x43)))))))) + (((uint64_t)x21 * x78) + (((uint64_t)x23 * x79) + (((uint64_t)x25 * x77) + (((uint64_t)x27 * x75) + (((uint64_t)x29 * x73) + (((uint64_t)x31 * x71) + (((uint64_t)x33 * x69) + (((uint64_t)x35 * x67) + (((uint64_t)x37 * x65) + (((uint64_t)x39 * x63) + (((uint64_t)x41 * x61) + ((uint64_t)x40 * x59)))))))))))));
- uint64_t x93 = ((((uint64_t)x5 * x55) + ((0x2 * ((uint64_t)x7 * x53)) + ((0x2 * ((uint64_t)x9 * x51)) + ((0x2 * ((uint64_t)x11 * x49)) + ((0x2 * ((uint64_t)x13 * x47)) + ((0x2 * ((uint64_t)x15 * x45)) + ((uint64_t)x17 * x43))))))) + (((uint64_t)x19 * x78) + (((uint64_t)x21 * x79) + (((uint64_t)x23 * x77) + (((uint64_t)x25 * x75) + (((uint64_t)x27 * x73) + (((uint64_t)x29 * x71) + (((uint64_t)x31 * x69) + (((uint64_t)x33 * x67) + (((uint64_t)x35 * x65) + (((uint64_t)x37 * x63) + (((uint64_t)x39 * x61) + (((uint64_t)x41 * x59) + ((uint64_t)x40 * x57))))))))))))));
- uint64_t x94 = ((((uint64_t)x5 * x53) + ((0x2 * ((uint64_t)x7 * x51)) + ((0x2 * ((uint64_t)x9 * x49)) + ((0x2 * ((uint64_t)x11 * x47)) + ((0x2 * ((uint64_t)x13 * x45)) + ((uint64_t)x15 * x43)))))) + (((uint64_t)x17 * x78) + (((uint64_t)x19 * x79) + (((uint64_t)x21 * x77) + (((uint64_t)x23 * x75) + (((uint64_t)x25 * x73) + (((uint64_t)x27 * x71) + (((uint64_t)x29 * x69) + (((uint64_t)x31 * x67) + (((uint64_t)x33 * x65) + (((uint64_t)x35 * x63) + (((uint64_t)x37 * x61) + (((uint64_t)x39 * x59) + (((uint64_t)x41 * x57) + ((uint64_t)x40 * x55)))))))))))))));
- uint64_t x95 = ((((uint64_t)x5 * x51) + ((0x2 * ((uint64_t)x7 * x49)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((uint64_t)x13 * x43))))) + (((uint64_t)x15 * x78) + (((uint64_t)x17 * x79) + (((uint64_t)x19 * x77) + (((uint64_t)x21 * x75) + (((uint64_t)x23 * x73) + (((uint64_t)x25 * x71) + (((uint64_t)x27 * x69) + (((uint64_t)x29 * x67) + (((uint64_t)x31 * x65) + (((uint64_t)x33 * x63) + (((uint64_t)x35 * x61) + (((uint64_t)x37 * x59) + (((uint64_t)x39 * x57) + (((uint64_t)x41 * x55) + ((uint64_t)x40 * x53))))))))))))))));
- uint64_t x96 = ((((uint64_t)x5 * x49) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((uint64_t)x11 * x43)))) + (((uint64_t)x13 * x78) + (((uint64_t)x15 * x79) + (((uint64_t)x17 * x77) + (((uint64_t)x19 * x75) + (((uint64_t)x21 * x73) + (((uint64_t)x23 * x71) + (((uint64_t)x25 * x69) + (((uint64_t)x27 * x67) + (((uint64_t)x29 * x65) + (((uint64_t)x31 * x63) + (((uint64_t)x33 * x61) + (((uint64_t)x35 * x59) + (((uint64_t)x37 * x57) + (((uint64_t)x39 * x55) + (((uint64_t)x41 * x53) + ((uint64_t)x40 * x51)))))))))))))))));
- uint64_t x97 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((uint64_t)x9 * x43))) + (((uint64_t)x11 * x78) + (((uint64_t)x13 * x79) + (((uint64_t)x15 * x77) + (((uint64_t)x17 * x75) + (((uint64_t)x19 * x73) + (((uint64_t)x21 * x71) + (((uint64_t)x23 * x69) + (((uint64_t)x25 * x67) + (((uint64_t)x27 * x65) + (((uint64_t)x29 * x63) + (((uint64_t)x31 * x61) + (((uint64_t)x33 * x59) + (((uint64_t)x35 * x57) + (((uint64_t)x37 * x55) + (((uint64_t)x39 * x53) + (((uint64_t)x41 * x51) + ((uint64_t)x40 * x49))))))))))))))))));
- uint64_t x98 = ((((uint64_t)x5 * x45) + ((uint64_t)x7 * x43)) + (((uint64_t)x9 * x78) + (((uint64_t)x11 * x79) + (((uint64_t)x13 * x77) + (((uint64_t)x15 * x75) + (((uint64_t)x17 * x73) + (((uint64_t)x19 * x71) + (((uint64_t)x21 * x69) + (((uint64_t)x23 * x67) + (((uint64_t)x25 * x65) + (((uint64_t)x27 * x63) + (((uint64_t)x29 * x61) + (((uint64_t)x31 * x59) + (((uint64_t)x33 * x57) + (((uint64_t)x35 * x55) + (((uint64_t)x37 * x53) + (((uint64_t)x39 * x51) + (((uint64_t)x41 * x49) + ((uint64_t)x40 * x47)))))))))))))))))));
- uint64_t x99 = (((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x78)) + ((0x2 * ((uint64_t)x9 * x79)) + ((0x2 * ((uint64_t)x11 * x77)) + ((0x2 * ((uint64_t)x13 * x75)) + ((0x2 * ((uint64_t)x15 * x73)) + ((0x2 * ((uint64_t)x17 * x71)) + ((0x2 * ((uint64_t)x19 * x69)) + ((0x2 * ((uint64_t)x21 * x67)) + ((0x2 * ((uint64_t)x23 * x65)) + ((0x2 * ((uint64_t)x25 * x63)) + ((0x2 * ((uint64_t)x27 * x61)) + ((0x2 * ((uint64_t)x29 * x59)) + ((0x2 * ((uint64_t)x31 * x57)) + ((0x2 * ((uint64_t)x33 * x55)) + ((0x2 * ((uint64_t)x35 * x53)) + ((0x2 * ((uint64_t)x37 * x51)) + ((0x2 * ((uint64_t)x39 * x49)) + ((0x2 * ((uint64_t)x41 * x47)) + (0x2 * ((uint64_t)x40 * x45)))))))))))))))))))));
- uint64_t x100 = (x99 >> 0x1b);
- uint32_t x101 = ((uint32_t)x99 & 0x7ffffff);
- uint64_t x102 = (x100 + x98);
- uint64_t x103 = (x102 >> 0x1a);
- uint32_t x104 = ((uint32_t)x102 & 0x3ffffff);
- uint64_t x105 = (x103 + x97);
- uint64_t x106 = (x105 >> 0x1a);
- uint32_t x107 = ((uint32_t)x105 & 0x3ffffff);
- uint64_t x108 = (x106 + x96);
- uint64_t x109 = (x108 >> 0x1a);
- uint32_t x110 = ((uint32_t)x108 & 0x3ffffff);
- uint64_t x111 = (x109 + x95);
- uint64_t x112 = (x111 >> 0x1a);
- uint32_t x113 = ((uint32_t)x111 & 0x3ffffff);
- uint64_t x114 = (x112 + x94);
- uint64_t x115 = (x114 >> 0x1a);
- uint32_t x116 = ((uint32_t)x114 & 0x3ffffff);
- uint64_t x117 = (x115 + x93);
- uint64_t x118 = (x117 >> 0x1a);
- uint32_t x119 = ((uint32_t)x117 & 0x3ffffff);
- uint64_t x120 = (x118 + x92);
- uint64_t x121 = (x120 >> 0x1a);
- uint32_t x122 = ((uint32_t)x120 & 0x3ffffff);
- uint64_t x123 = (x121 + x91);
- uint64_t x124 = (x123 >> 0x1a);
- uint32_t x125 = ((uint32_t)x123 & 0x3ffffff);
- uint64_t x126 = (x124 + x90);
- uint64_t x127 = (x126 >> 0x1a);
- uint32_t x128 = ((uint32_t)x126 & 0x3ffffff);
- uint64_t x129 = (x127 + x89);
- uint64_t x130 = (x129 >> 0x1a);
- uint32_t x131 = ((uint32_t)x129 & 0x3ffffff);
- uint64_t x132 = (x130 + x88);
- uint64_t x133 = (x132 >> 0x1a);
- uint32_t x134 = ((uint32_t)x132 & 0x3ffffff);
- uint64_t x135 = (x133 + x87);
- uint64_t x136 = (x135 >> 0x1a);
- uint32_t x137 = ((uint32_t)x135 & 0x3ffffff);
- uint64_t x138 = (x136 + x86);
- uint64_t x139 = (x138 >> 0x1a);
- uint32_t x140 = ((uint32_t)x138 & 0x3ffffff);
- uint64_t x141 = (x139 + x85);
- uint64_t x142 = (x141 >> 0x1a);
- uint32_t x143 = ((uint32_t)x141 & 0x3ffffff);
- uint64_t x144 = (x142 + x84);
- uint64_t x145 = (x144 >> 0x1a);
- uint32_t x146 = ((uint32_t)x144 & 0x3ffffff);
- uint64_t x147 = (x145 + x83);
- uint64_t x148 = (x147 >> 0x1a);
- uint32_t x149 = ((uint32_t)x147 & 0x3ffffff);
- uint64_t x150 = (x148 + x82);
- uint64_t x151 = (x150 >> 0x1a);
- uint32_t x152 = ((uint32_t)x150 & 0x3ffffff);
- uint64_t x153 = (x151 + x81);
- uint64_t x154 = (x153 >> 0x1a);
- uint32_t x155 = ((uint32_t)x153 & 0x3ffffff);
- uint64_t x156 = (x154 + x80);
- uint64_t x157 = (x156 >> 0x1a);
- uint32_t x158 = ((uint32_t)x156 & 0x3ffffff);
- uint64_t x159 = (x101 + x157);
- uint32_t x160 = (uint32_t) (x159 >> 0x1b);
- uint32_t x161 = ((uint32_t)x159 & 0x7ffffff);
- uint32_t x162 = (x160 + x104);
- uint32_t x163 = (x162 >> 0x1a);
- uint32_t x164 = (x162 & 0x3ffffff);
- return (Return x158, Return x155, Return x152, Return x149, Return x146, Return x143, Return x140, Return x137, Return x134, Return x131, Return x128, Return x125, Return x122, Return x119, Return x116, Return x113, Return x110, (x163 + x107), Return x164, Return x161))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_20limbs/femulDisplay.v b/src/Specific/solinas32_2e521m1_20limbs/femulDisplay.v
deleted file mode 100644
index be8d9b30e..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fesquare.c b/src/Specific/solinas32_2e521m1_20limbs/fesquare.c
deleted file mode 100644
index fc2e62bc4..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesquare.c
+++ /dev/null
@@ -1,128 +0,0 @@
-static void fesquare(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x39 = (((uint64_t)x2 * x37) + ((0x2 * ((uint64_t)x4 * x38)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x37 * x2))))))))))))))))))));
- { uint64_t x40 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + ((uint64_t)x37 * x37));
- { uint64_t x41 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (((uint64_t)x38 * x37) + ((uint64_t)x37 * x38)));
- { uint64_t x42 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (((uint64_t)x36 * x37) + (((uint64_t)x38 * x38) + ((uint64_t)x37 * x36))));
- { uint64_t x43 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (((uint64_t)x34 * x37) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((uint64_t)x37 * x34)))));
- { uint64_t x44 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (((uint64_t)x32 * x37) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((uint64_t)x37 * x32))))));
- { uint64_t x45 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (((uint64_t)x30 * x37) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((uint64_t)x37 * x30)))))));
- { uint64_t x46 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (((uint64_t)x28 * x37) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + ((uint64_t)x37 * x28))))))));
- { uint64_t x47 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (((uint64_t)x26 * x37) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + ((uint64_t)x37 * x26)))))))));
- { uint64_t x48 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (((uint64_t)x24 * x37) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((uint64_t)x37 * x24))))))))));
- { uint64_t x49 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (((uint64_t)x22 * x37) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((uint64_t)x37 * x22)))))))))));
- { uint64_t x50 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x20 * x37) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + ((uint64_t)x37 * x20))))))))))));
- { uint64_t x51 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x18 * x37) + (((uint64_t)x20 * x38) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + (((uint64_t)x38 * x20) + ((uint64_t)x37 * x18)))))))))))));
- { uint64_t x52 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x16 * x37) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((uint64_t)x37 * x16))))))))))))));
- { uint64_t x53 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x14 * x37) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + ((uint64_t)x37 * x14)))))))))))))));
- { uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (((uint64_t)x12 * x37) + (((uint64_t)x14 * x38) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (((uint64_t)x38 * x14) + ((uint64_t)x37 * x12))))))))))))))));
- { uint64_t x55 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x37) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((uint64_t)x37 * x10)))))))))))))))));
- { uint64_t x56 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x37) + (((uint64_t)x10 * x38) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + (((uint64_t)x38 * x10) + ((uint64_t)x37 * x8))))))))))))))))));
- { uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x37) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + ((uint64_t)x37 * x6)))))))))))))))))));
- { uint64_t x58 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4)))))))))))))))))))));
- { uint64_t x59 = (x58 >> 0x1b);
- { uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- { uint64_t x61 = (x59 + x57);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- { uint64_t x64 = (x62 + x56);
- { uint64_t x65 = (x64 >> 0x1a);
- { uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- { uint64_t x67 = (x65 + x55);
- { uint64_t x68 = (x67 >> 0x1a);
- { uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- { uint64_t x70 = (x68 + x54);
- { uint64_t x71 = (x70 >> 0x1a);
- { uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- { uint64_t x73 = (x71 + x53);
- { uint64_t x74 = (x73 >> 0x1a);
- { uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x52);
- { uint64_t x77 = (x76 >> 0x1a);
- { uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- { uint64_t x79 = (x77 + x51);
- { uint64_t x80 = (x79 >> 0x1a);
- { uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x50);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- { uint64_t x85 = (x83 + x49);
- { uint64_t x86 = (x85 >> 0x1a);
- { uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- { uint64_t x88 = (x86 + x48);
- { uint64_t x89 = (x88 >> 0x1a);
- { uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- { uint64_t x91 = (x89 + x47);
- { uint64_t x92 = (x91 >> 0x1a);
- { uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- { uint64_t x94 = (x92 + x46);
- { uint64_t x95 = (x94 >> 0x1a);
- { uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- { uint64_t x97 = (x95 + x45);
- { uint64_t x98 = (x97 >> 0x1a);
- { uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- { uint64_t x100 = (x98 + x44);
- { uint64_t x101 = (x100 >> 0x1a);
- { uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- { uint64_t x103 = (x101 + x43);
- { uint64_t x104 = (x103 >> 0x1a);
- { uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- { uint64_t x106 = (x104 + x42);
- { uint64_t x107 = (x106 >> 0x1a);
- { uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- { uint64_t x109 = (x107 + x41);
- { uint64_t x110 = (x109 >> 0x1a);
- { uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- { uint64_t x112 = (x110 + x40);
- { uint64_t x113 = (x112 >> 0x1a);
- { uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- { uint64_t x115 = (x113 + x39);
- { uint64_t x116 = (x115 >> 0x1a);
- { uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- { uint64_t x118 = (x60 + x116);
- { uint32_t x119 = (uint32_t) (x118 >> 0x1b);
- { uint32_t x120 = ((uint32_t)x118 & 0x7ffffff);
- { uint32_t x121 = (x119 + x63);
- { uint32_t x122 = (x121 >> 0x1a);
- { uint32_t x123 = (x121 & 0x3ffffff);
- out[0] = x120;
- out[1] = x123;
- out[2] = (x122 + x66);
- out[3] = x69;
- out[4] = x72;
- out[5] = x75;
- out[6] = x78;
- out[7] = x81;
- out[8] = x84;
- out[9] = x87;
- out[10] = x90;
- out[11] = x93;
- out[12] = x96;
- out[13] = x99;
- out[14] = x102;
- out[15] = x105;
- out[16] = x108;
- out[17] = x111;
- out[18] = x114;
- out[19] = x117;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fesquare.v b/src/Specific/solinas32_2e521m1_20limbs/fesquare.v
deleted file mode 100644
index 39838ab15..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/fesquareDisplay.log b/src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.log
deleted file mode 100644
index eeef1dab4..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,92 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x39 = (((uint64_t)x2 * x37) + ((0x2 * ((uint64_t)x4 * x38)) + ((0x2 * ((uint64_t)x6 * x36)) + ((0x2 * ((uint64_t)x8 * x34)) + ((0x2 * ((uint64_t)x10 * x32)) + ((0x2 * ((uint64_t)x12 * x30)) + ((0x2 * ((uint64_t)x14 * x28)) + ((0x2 * ((uint64_t)x16 * x26)) + ((0x2 * ((uint64_t)x18 * x24)) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((0x2 * ((uint64_t)x24 * x18)) + ((0x2 * ((uint64_t)x26 * x16)) + ((0x2 * ((uint64_t)x28 * x14)) + ((0x2 * ((uint64_t)x30 * x12)) + ((0x2 * ((uint64_t)x32 * x10)) + ((0x2 * ((uint64_t)x34 * x8)) + ((0x2 * ((uint64_t)x36 * x6)) + ((0x2 * ((uint64_t)x38 * x4)) + ((uint64_t)x37 * x2))))))))))))))))))));
- uint64_t x40 = ((((uint64_t)x2 * x38) + ((0x2 * ((uint64_t)x4 * x36)) + ((0x2 * ((uint64_t)x6 * x34)) + ((0x2 * ((uint64_t)x8 * x32)) + ((0x2 * ((uint64_t)x10 * x30)) + ((0x2 * ((uint64_t)x12 * x28)) + ((0x2 * ((uint64_t)x14 * x26)) + ((0x2 * ((uint64_t)x16 * x24)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + ((0x2 * ((uint64_t)x24 * x16)) + ((0x2 * ((uint64_t)x26 * x14)) + ((0x2 * ((uint64_t)x28 * x12)) + ((0x2 * ((uint64_t)x30 * x10)) + ((0x2 * ((uint64_t)x32 * x8)) + ((0x2 * ((uint64_t)x34 * x6)) + ((0x2 * ((uint64_t)x36 * x4)) + ((uint64_t)x38 * x2))))))))))))))))))) + ((uint64_t)x37 * x37));
- uint64_t x41 = ((((uint64_t)x2 * x36) + ((0x2 * ((uint64_t)x4 * x34)) + ((0x2 * ((uint64_t)x6 * x32)) + ((0x2 * ((uint64_t)x8 * x30)) + ((0x2 * ((uint64_t)x10 * x28)) + ((0x2 * ((uint64_t)x12 * x26)) + ((0x2 * ((uint64_t)x14 * x24)) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((0x2 * ((uint64_t)x24 * x14)) + ((0x2 * ((uint64_t)x26 * x12)) + ((0x2 * ((uint64_t)x28 * x10)) + ((0x2 * ((uint64_t)x30 * x8)) + ((0x2 * ((uint64_t)x32 * x6)) + ((0x2 * ((uint64_t)x34 * x4)) + ((uint64_t)x36 * x2)))))))))))))))))) + (((uint64_t)x38 * x37) + ((uint64_t)x37 * x38)));
- uint64_t x42 = ((((uint64_t)x2 * x34) + ((0x2 * ((uint64_t)x4 * x32)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + ((0x2 * ((uint64_t)x32 * x4)) + ((uint64_t)x34 * x2))))))))))))))))) + (((uint64_t)x36 * x37) + (((uint64_t)x38 * x38) + ((uint64_t)x37 * x36))));
- uint64_t x43 = ((((uint64_t)x2 * x32) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x32 * x2)))))))))))))))) + (((uint64_t)x34 * x37) + (((uint64_t)x36 * x38) + (((uint64_t)x38 * x36) + ((uint64_t)x37 * x34)))));
- uint64_t x44 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (((uint64_t)x32 * x37) + (((uint64_t)x34 * x38) + (((uint64_t)x36 * x36) + (((uint64_t)x38 * x34) + ((uint64_t)x37 * x32))))));
- uint64_t x45 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (((uint64_t)x30 * x37) + (((uint64_t)x32 * x38) + (((uint64_t)x34 * x36) + (((uint64_t)x36 * x34) + (((uint64_t)x38 * x32) + ((uint64_t)x37 * x30)))))));
- uint64_t x46 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (((uint64_t)x28 * x37) + (((uint64_t)x30 * x38) + (((uint64_t)x32 * x36) + (((uint64_t)x34 * x34) + (((uint64_t)x36 * x32) + (((uint64_t)x38 * x30) + ((uint64_t)x37 * x28))))))));
- uint64_t x47 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (((uint64_t)x26 * x37) + (((uint64_t)x28 * x38) + (((uint64_t)x30 * x36) + (((uint64_t)x32 * x34) + (((uint64_t)x34 * x32) + (((uint64_t)x36 * x30) + (((uint64_t)x38 * x28) + ((uint64_t)x37 * x26)))))))));
- uint64_t x48 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (((uint64_t)x24 * x37) + (((uint64_t)x26 * x38) + (((uint64_t)x28 * x36) + (((uint64_t)x30 * x34) + (((uint64_t)x32 * x32) + (((uint64_t)x34 * x30) + (((uint64_t)x36 * x28) + (((uint64_t)x38 * x26) + ((uint64_t)x37 * x24))))))))));
- uint64_t x49 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (((uint64_t)x22 * x37) + (((uint64_t)x24 * x38) + (((uint64_t)x26 * x36) + (((uint64_t)x28 * x34) + (((uint64_t)x30 * x32) + (((uint64_t)x32 * x30) + (((uint64_t)x34 * x28) + (((uint64_t)x36 * x26) + (((uint64_t)x38 * x24) + ((uint64_t)x37 * x22)))))))))));
- uint64_t x50 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (((uint64_t)x20 * x37) + (((uint64_t)x22 * x38) + (((uint64_t)x24 * x36) + (((uint64_t)x26 * x34) + (((uint64_t)x28 * x32) + (((uint64_t)x30 * x30) + (((uint64_t)x32 * x28) + (((uint64_t)x34 * x26) + (((uint64_t)x36 * x24) + (((uint64_t)x38 * x22) + ((uint64_t)x37 * x20))))))))))));
- uint64_t x51 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (((uint64_t)x18 * x37) + (((uint64_t)x20 * x38) + (((uint64_t)x22 * x36) + (((uint64_t)x24 * x34) + (((uint64_t)x26 * x32) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + (((uint64_t)x32 * x26) + (((uint64_t)x34 * x24) + (((uint64_t)x36 * x22) + (((uint64_t)x38 * x20) + ((uint64_t)x37 * x18)))))))))))));
- uint64_t x52 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x16 * x37) + (((uint64_t)x18 * x38) + (((uint64_t)x20 * x36) + (((uint64_t)x22 * x34) + (((uint64_t)x24 * x32) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + (((uint64_t)x32 * x24) + (((uint64_t)x34 * x22) + (((uint64_t)x36 * x20) + (((uint64_t)x38 * x18) + ((uint64_t)x37 * x16))))))))))))));
- uint64_t x53 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x14 * x37) + (((uint64_t)x16 * x38) + (((uint64_t)x18 * x36) + (((uint64_t)x20 * x34) + (((uint64_t)x22 * x32) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + (((uint64_t)x32 * x22) + (((uint64_t)x34 * x20) + (((uint64_t)x36 * x18) + (((uint64_t)x38 * x16) + ((uint64_t)x37 * x14)))))))))))))));
- uint64_t x54 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (((uint64_t)x12 * x37) + (((uint64_t)x14 * x38) + (((uint64_t)x16 * x36) + (((uint64_t)x18 * x34) + (((uint64_t)x20 * x32) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + (((uint64_t)x32 * x20) + (((uint64_t)x34 * x18) + (((uint64_t)x36 * x16) + (((uint64_t)x38 * x14) + ((uint64_t)x37 * x12))))))))))))))));
- uint64_t x55 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (((uint64_t)x10 * x37) + (((uint64_t)x12 * x38) + (((uint64_t)x14 * x36) + (((uint64_t)x16 * x34) + (((uint64_t)x18 * x32) + (((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)x32 * x18) + (((uint64_t)x34 * x16) + (((uint64_t)x36 * x14) + (((uint64_t)x38 * x12) + ((uint64_t)x37 * x10)))))))))))))))));
- uint64_t x56 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (((uint64_t)x8 * x37) + (((uint64_t)x10 * x38) + (((uint64_t)x12 * x36) + (((uint64_t)x14 * x34) + (((uint64_t)x16 * x32) + (((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)x32 * x16) + (((uint64_t)x34 * x14) + (((uint64_t)x36 * x12) + (((uint64_t)x38 * x10) + ((uint64_t)x37 * x8))))))))))))))))));
- uint64_t x57 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x6 * x37) + (((uint64_t)x8 * x38) + (((uint64_t)x10 * x36) + (((uint64_t)x12 * x34) + (((uint64_t)x14 * x32) + (((uint64_t)x16 * x30) + (((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)x30 * x16) + (((uint64_t)x32 * x14) + (((uint64_t)x34 * x12) + (((uint64_t)x36 * x10) + (((uint64_t)x38 * x8) + ((uint64_t)x37 * x6)))))))))))))))))));
- uint64_t x58 = (((uint64_t)x2 * x2) + ((0x2 * ((uint64_t)x4 * x37)) + ((0x2 * ((uint64_t)x6 * x38)) + ((0x2 * ((uint64_t)x8 * x36)) + ((0x2 * ((uint64_t)x10 * x34)) + ((0x2 * ((uint64_t)x12 * x32)) + ((0x2 * ((uint64_t)x14 * x30)) + ((0x2 * ((uint64_t)x16 * x28)) + ((0x2 * ((uint64_t)x18 * x26)) + ((0x2 * ((uint64_t)x20 * x24)) + ((0x2 * ((uint64_t)x22 * x22)) + ((0x2 * ((uint64_t)x24 * x20)) + ((0x2 * ((uint64_t)x26 * x18)) + ((0x2 * ((uint64_t)x28 * x16)) + ((0x2 * ((uint64_t)x30 * x14)) + ((0x2 * ((uint64_t)x32 * x12)) + ((0x2 * ((uint64_t)x34 * x10)) + ((0x2 * ((uint64_t)x36 * x8)) + ((0x2 * ((uint64_t)x38 * x6)) + (0x2 * ((uint64_t)x37 * x4)))))))))))))))))))));
- uint64_t x59 = (x58 >> 0x1b);
- uint32_t x60 = ((uint32_t)x58 & 0x7ffffff);
- uint64_t x61 = (x59 + x57);
- uint64_t x62 = (x61 >> 0x1a);
- uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
- uint64_t x64 = (x62 + x56);
- uint64_t x65 = (x64 >> 0x1a);
- uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
- uint64_t x67 = (x65 + x55);
- uint64_t x68 = (x67 >> 0x1a);
- uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
- uint64_t x70 = (x68 + x54);
- uint64_t x71 = (x70 >> 0x1a);
- uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
- uint64_t x73 = (x71 + x53);
- uint64_t x74 = (x73 >> 0x1a);
- uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x52);
- uint64_t x77 = (x76 >> 0x1a);
- uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
- uint64_t x79 = (x77 + x51);
- uint64_t x80 = (x79 >> 0x1a);
- uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x50);
- uint64_t x83 = (x82 >> 0x1a);
- uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
- uint64_t x85 = (x83 + x49);
- uint64_t x86 = (x85 >> 0x1a);
- uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
- uint64_t x88 = (x86 + x48);
- uint64_t x89 = (x88 >> 0x1a);
- uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
- uint64_t x91 = (x89 + x47);
- uint64_t x92 = (x91 >> 0x1a);
- uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
- uint64_t x94 = (x92 + x46);
- uint64_t x95 = (x94 >> 0x1a);
- uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
- uint64_t x97 = (x95 + x45);
- uint64_t x98 = (x97 >> 0x1a);
- uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
- uint64_t x100 = (x98 + x44);
- uint64_t x101 = (x100 >> 0x1a);
- uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
- uint64_t x103 = (x101 + x43);
- uint64_t x104 = (x103 >> 0x1a);
- uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
- uint64_t x106 = (x104 + x42);
- uint64_t x107 = (x106 >> 0x1a);
- uint32_t x108 = ((uint32_t)x106 & 0x3ffffff);
- uint64_t x109 = (x107 + x41);
- uint64_t x110 = (x109 >> 0x1a);
- uint32_t x111 = ((uint32_t)x109 & 0x3ffffff);
- uint64_t x112 = (x110 + x40);
- uint64_t x113 = (x112 >> 0x1a);
- uint32_t x114 = ((uint32_t)x112 & 0x3ffffff);
- uint64_t x115 = (x113 + x39);
- uint64_t x116 = (x115 >> 0x1a);
- uint32_t x117 = ((uint32_t)x115 & 0x3ffffff);
- uint64_t x118 = (x60 + x116);
- uint32_t x119 = (uint32_t) (x118 >> 0x1b);
- uint32_t x120 = ((uint32_t)x118 & 0x7ffffff);
- uint32_t x121 = (x119 + x63);
- uint32_t x122 = (x121 >> 0x1a);
- uint32_t x123 = (x121 & 0x3ffffff);
- return (Return x117, Return x114, Return x111, Return x108, Return x105, Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, (x122 + x66), Return x123, Return x120))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.v b/src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.v
deleted file mode 100644
index e28c6343c..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fesub.c b/src/Specific/solinas32_2e521m1_20limbs/fesub.c
deleted file mode 100644
index 5fa57aceb..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesub.c
+++ /dev/null
@@ -1,63 +0,0 @@
-static void fesub(uint32_t out[20], const uint32_t in1[20], const uint32_t in2[20]) {
- { const uint32_t x40 = in1[19];
- { const uint32_t x41 = in1[18];
- { const uint32_t x39 = in1[17];
- { const uint32_t x37 = in1[16];
- { const uint32_t x35 = 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 x78 = in2[19];
- { const uint32_t x79 = in2[18];
- { const uint32_t x77 = in2[17];
- { const uint32_t x75 = in2[16];
- { const uint32_t x73 = in2[15];
- { const uint32_t x71 = in2[14];
- { const uint32_t x69 = in2[13];
- { const uint32_t x67 = in2[12];
- { const uint32_t x65 = in2[11];
- { const uint32_t x63 = in2[10];
- { const uint32_t x61 = in2[9];
- { const uint32_t x59 = in2[8];
- { const uint32_t x57 = in2[7];
- { const uint32_t x55 = in2[6];
- { const uint32_t x53 = in2[5];
- { const uint32_t x51 = in2[4];
- { const uint32_t x49 = in2[3];
- { const uint32_t x47 = in2[2];
- { const uint32_t x45 = in2[1];
- { const uint32_t x43 = in2[0];
- out[0] = ((0xffffffe + x5) - x43);
- out[1] = ((0x7fffffe + x7) - x45);
- out[2] = ((0x7fffffe + x9) - x47);
- out[3] = ((0x7fffffe + x11) - x49);
- out[4] = ((0x7fffffe + x13) - x51);
- out[5] = ((0x7fffffe + x15) - x53);
- out[6] = ((0x7fffffe + x17) - x55);
- out[7] = ((0x7fffffe + x19) - x57);
- out[8] = ((0x7fffffe + x21) - x59);
- out[9] = ((0x7fffffe + x23) - x61);
- out[10] = ((0x7fffffe + x25) - x63);
- out[11] = ((0x7fffffe + x27) - x65);
- out[12] = ((0x7fffffe + x29) - x67);
- out[13] = ((0x7fffffe + x31) - x69);
- out[14] = ((0x7fffffe + x33) - x71);
- out[15] = ((0x7fffffe + x35) - x73);
- out[16] = ((0x7fffffe + x37) - x75);
- out[17] = ((0x7fffffe + x39) - x77);
- out[18] = ((0x7fffffe + x41) - x79);
- out[19] = ((0x7fffffe + x40) - x78);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fesub.v b/src/Specific/solinas32_2e521m1_20limbs/fesub.v
deleted file mode 100644
index ee4c31d1c..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/fesubDisplay.log b/src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.log
deleted file mode 100644
index 4baaf158b..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/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 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x40, x41, x39, x37, x35, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x78, x79, x77, x75, x73, x71, x69, x67, x65, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43))%core,
- (((0x7fffffe + x40) - x78), ((0x7fffffe + x41) - x79), ((0x7fffffe + x39) - x77), ((0x7fffffe + x37) - x75), ((0x7fffffe + x35) - x73), ((0x7fffffe + x33) - x71), ((0x7fffffe + x31) - x69), ((0x7fffffe + x29) - x67), ((0x7fffffe + x27) - x65), ((0x7fffffe + x25) - x63), ((0x7fffffe + x23) - x61), ((0x7fffffe + x21) - x59), ((0x7fffffe + x19) - x57), ((0x7fffffe + x17) - x55), ((0x7fffffe + x15) - x53), ((0x7fffffe + x13) - x51), ((0x7fffffe + x11) - x49), ((0x7fffffe + x9) - x47), ((0x7fffffe + x7) - x45), ((0xffffffe + x5) - x43)))
-(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 * 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.v b/src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.v
deleted file mode 100644
index be9fa4936..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas32_2e521m1_20limbs/freeze.c b/src/Specific/solinas32_2e521m1_20limbs/freeze.c
deleted file mode 100644
index aa2e4e36c..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/freeze.c
+++ /dev/null
@@ -1,104 +0,0 @@
-static void freeze(uint32_t out[20], const uint32_t in1[20]) {
- { const uint32_t x37 = in1[19];
- { const uint32_t x38 = in1[18];
- { const uint32_t x36 = in1[17];
- { const uint32_t x34 = in1[16];
- { const uint32_t x32 = 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 x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- { uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0x3ffffff);
- { uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x3ffffff);
- { uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0x3ffffff);
- { uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x3ffffff);
- { uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x3ffffff);
- { uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x3ffffff);
- { uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0x3ffffff);
- { uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x3ffffff);
- { uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0x3ffffff);
- { uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x3ffffff);
- { uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0x3ffffff);
- { uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x3ffffff);
- { uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x3ffffff);
- { uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0x3ffffff);
- { uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x3ffffff);
- { uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0x3ffffff);
- { uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x3ffffff);
- { uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0x3ffffff);
- { uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0x3ffffff);
- { uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- { uint32_t x100 = (x99 & 0x7ffffff);
- { uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- { uint32_t x104 = (x99 & 0x3ffffff);
- { uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- { uint32_t x108 = (x99 & 0x3ffffff);
- { uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- { uint32_t x112 = (x99 & 0x3ffffff);
- { uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- { uint32_t x116 = (x99 & 0x3ffffff);
- { uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- { uint32_t x120 = (x99 & 0x3ffffff);
- { uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- { uint32_t x124 = (x99 & 0x3ffffff);
- { uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- { uint32_t x128 = (x99 & 0x3ffffff);
- { uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- { uint32_t x132 = (x99 & 0x3ffffff);
- { uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- { uint32_t x136 = (x99 & 0x3ffffff);
- { uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- { uint32_t x140 = (x99 & 0x3ffffff);
- { uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- { uint32_t x144 = (x99 & 0x3ffffff);
- { uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- { uint32_t x148 = (x99 & 0x3ffffff);
- { uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- { uint32_t x152 = (x99 & 0x3ffffff);
- { uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- { uint32_t x156 = (x99 & 0x3ffffff);
- { uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- { uint32_t x160 = (x99 & 0x3ffffff);
- { uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- { uint32_t x164 = (x99 & 0x3ffffff);
- { uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- { uint32_t x168 = (x99 & 0x3ffffff);
- { uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- { uint32_t x172 = (x99 & 0x3ffffff);
- { uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- { uint32_t x176 = (x99 & 0x3ffffff);
- { uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- out[0] = x102;
- out[1] = x106;
- out[2] = x110;
- out[3] = x114;
- out[4] = x118;
- out[5] = x122;
- out[6] = x126;
- out[7] = x130;
- out[8] = x134;
- out[9] = x138;
- out[10] = x142;
- out[11] = x146;
- out[12] = x150;
- out[13] = x154;
- out[14] = x158;
- out[15] = x162;
- out[16] = x166;
- out[17] = x170;
- out[18] = x174;
- out[19] = x178;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas32_2e521m1_20limbs/freeze.v b/src/Specific/solinas32_2e521m1_20limbs/freeze.v
deleted file mode 100644
index 575c7c0ed..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.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_2e521m1_20limbs/freezeDisplay.log b/src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.log
deleted file mode 100644
index 6abf83604..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.log
+++ /dev/null
@@ -1,68 +0,0 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x37, x38, x36, x34, x32, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x4, 0x3ffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x6, 0x3ffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x8, 0x3ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x10, 0x3ffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x12, 0x3ffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x14, 0x3ffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x16, 0x3ffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x18, 0x3ffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x20, 0x3ffffff);
- uint32_t x70, uint8_t x71 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x22, 0x3ffffff);
- uint32_t x73, uint8_t x74 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x24, 0x3ffffff);
- uint32_t x76, uint8_t x77 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x74, Return x26, 0x3ffffff);
- uint32_t x79, uint8_t x80 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x28, 0x3ffffff);
- uint32_t x82, uint8_t x83 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x30, 0x3ffffff);
- uint32_t x85, uint8_t x86 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x32, 0x3ffffff);
- uint32_t x88, uint8_t x89 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x34, 0x3ffffff);
- uint32_t x91, uint8_t x92 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x36, 0x3ffffff);
- uint32_t x94, uint8_t x95 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x38, 0x3ffffff);
- uint32_t x97, uint8_t x98 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x37, 0x3ffffff);
- uint32_t x99 = cmovznz32(x98, 0x0, 0xffffffff);
- uint32_t x100 = (x99 & 0x7ffffff);
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 27 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x40, Return x100);
- uint32_t x104 = (x99 & 0x3ffffff);
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x43, Return x104);
- uint32_t x108 = (x99 & 0x3ffffff);
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x46, Return x108);
- uint32_t x112 = (x99 & 0x3ffffff);
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x49, Return x112);
- uint32_t x116 = (x99 & 0x3ffffff);
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x52, Return x116);
- uint32_t x120 = (x99 & 0x3ffffff);
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x55, Return x120);
- uint32_t x124 = (x99 & 0x3ffffff);
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x58, Return x124);
- uint32_t x128 = (x99 & 0x3ffffff);
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x61, Return x128);
- uint32_t x132 = (x99 & 0x3ffffff);
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x64, Return x132);
- uint32_t x136 = (x99 & 0x3ffffff);
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x67, Return x136);
- uint32_t x140 = (x99 & 0x3ffffff);
- uint32_t x142, uint8_t x143 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x70, Return x140);
- uint32_t x144 = (x99 & 0x3ffffff);
- uint32_t x146, uint8_t x147 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x143, Return x73, Return x144);
- uint32_t x148 = (x99 & 0x3ffffff);
- uint32_t x150, uint8_t x151 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x147, Return x76, Return x148);
- uint32_t x152 = (x99 & 0x3ffffff);
- uint32_t x154, uint8_t x155 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x151, Return x79, Return x152);
- uint32_t x156 = (x99 & 0x3ffffff);
- uint32_t x158, uint8_t x159 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x155, Return x82, Return x156);
- uint32_t x160 = (x99 & 0x3ffffff);
- uint32_t x162, uint8_t x163 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x159, Return x85, Return x160);
- uint32_t x164 = (x99 & 0x3ffffff);
- uint32_t x166, uint8_t x167 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x163, Return x88, Return x164);
- uint32_t x168 = (x99 & 0x3ffffff);
- uint32_t x170, uint8_t x171 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x167, Return x91, Return x168);
- uint32_t x172 = (x99 & 0x3ffffff);
- uint32_t x174, uint8_t x175 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x171, Return x94, Return x172);
- uint32_t x176 = (x99 & 0x3ffffff);
- uint32_t x178, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x175, Return x97, Return x176);
- (Return x178, Return x174, Return x170, Return x166, Return x162, Return x158, Return x154, Return x150, Return x146, Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102))
-x
- : 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 * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.v b/src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.v
deleted file mode 100644
index bf02767b0..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas32_2e521m1_20limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas32_2e521m1_20limbs/py_interpreter.sh b/src/Specific/solinas32_2e521m1_20limbs/py_interpreter.sh
deleted file mode 100755
index 597b2ad8f..000000000
--- a/src/Specific/solinas32_2e521m1_20limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**521 - 1' -Dmodulus_bytes='26 + 1/20' -Da24='121665'
diff --git a/src/Specific/solinas64_2e127m1_3limbs/CurveParameters.v b/src/Specific/solinas64_2e127m1_3limbs/CurveParameters.v
deleted file mode 100644
index 3cbb46ff2..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^127 - 1
-Base: 42 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 42 + 1/3;
- bitwidth := 64;
- s := 2^127;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e127m1_3limbs/Synthesis.v b/src/Specific/solinas64_2e127m1_3limbs/Synthesis.v
deleted file mode 100644
index c4147a476..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/compiler.sh b/src/Specific/solinas64_2e127m1_3limbs/compiler.sh
deleted file mode 100755
index bbd278188..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/solinas64_2e127m1_3limbs/compilerxx.sh b/src/Specific/solinas64_2e127m1_3limbs/compilerxx.sh
deleted file mode 100755
index 48bd45746..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,42}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='16' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<127) - 1' "$@"
diff --git a/src/Specific/solinas64_2e127m1_3limbs/feadd.c b/src/Specific/solinas64_2e127m1_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e127m1_3limbs/feadd.v b/src/Specific/solinas64_2e127m1_3limbs/feadd.v
deleted file mode 100644
index 667129b7c..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.v
deleted file mode 100644
index a761ac93d..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fecarry.v b/src/Specific/solinas64_2e127m1_3limbs/fecarry.v
deleted file mode 100644
index dc085ed77..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e127m1_3limbs/fecarryDisplay.v
deleted file mode 100644
index 4208a6e57..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e127m1_3limbs/femul.c b/src/Specific/solinas64_2e127m1_3limbs/femul.c
deleted file mode 100644
index 4d53c606f..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + ((0x2 * ((uint128_t)x7 * x11)) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + ((uint128_t)x6 * x10));
- { uint128_t x14 = (((uint128_t)x5 * x9) + ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x2b);
- { uint64_t x16 = ((uint64_t)x14 & 0x7ffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x2a);
- { uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x2a);
- { uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffff);
- { uint64_t x23 = (x16 + x21);
- { uint64_t x24 = (x23 >> 0x2b);
- { uint64_t x25 = (x23 & 0x7ffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x2a);
- { uint64_t x28 = (x26 & 0x3ffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e127m1_3limbs/femul.v b/src/Specific/solinas64_2e127m1_3limbs/femul.v
deleted file mode 100644
index 8f0417dfd..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/femulDisplay.log b/src/Specific/solinas64_2e127m1_3limbs/femulDisplay.log
deleted file mode 100644
index c36e46960..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + ((0x2 * ((uint128_t)x7 * x11)) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + ((uint128_t)x6 * x10));
- uint128_t x14 = (((uint128_t)x5 * x9) + ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11))));
- uint64_t x15 = (uint64_t) (x14 >> 0x2b);
- uint64_t x16 = ((uint64_t)x14 & 0x7ffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x2a);
- uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x2a);
- uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffff);
- uint64_t x23 = (x16 + x21);
- uint64_t x24 = (x23 >> 0x2b);
- uint64_t x25 = (x23 & 0x7ffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x2a);
- uint64_t x28 = (x26 & 0x3ffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e127m1_3limbs/femulDisplay.v b/src/Specific/solinas64_2e127m1_3limbs/femulDisplay.v
deleted file mode 100644
index 59b7ec763..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fesquare.c b/src/Specific/solinas64_2e127m1_3limbs/fesquare.c
deleted file mode 100644
index 3c6dcc648..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((uint128_t)x3 * x3));
- { uint128_t x7 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x2b);
- { uint64_t x9 = ((uint64_t)x7 & 0x7ffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x2a);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2a);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffff);
- { uint64_t x16 = (x9 + x14);
- { uint64_t x17 = (x16 >> 0x2b);
- { uint64_t x18 = (x16 & 0x7ffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x2a);
- { uint64_t x21 = (x19 & 0x3ffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fesquare.v b/src/Specific/solinas64_2e127m1_3limbs/fesquare.v
deleted file mode 100644
index 0ddf612d3..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.log
deleted file mode 100644
index 8fb8df2f4..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((uint128_t)x3 * x3));
- uint128_t x7 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4))));
- uint64_t x8 = (uint64_t) (x7 >> 0x2b);
- uint64_t x9 = ((uint64_t)x7 & 0x7ffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x2a);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x2a);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffff);
- uint64_t x16 = (x9 + x14);
- uint64_t x17 = (x16 >> 0x2b);
- uint64_t x18 = (x16 & 0x7ffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x2a);
- uint64_t x21 = (x19 & 0x3ffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.v
deleted file mode 100644
index 9d8a97bc6..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fesub.c b/src/Specific/solinas64_2e127m1_3limbs/fesub.c
deleted file mode 100644
index c2fd208d1..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0xffffffffffe + x5) - x9);
- out[1] = ((0x7fffffffffe + x7) - x11);
- out[2] = ((0x7fffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fesub.v b/src/Specific/solinas64_2e127m1_3limbs/fesub.v
deleted file mode 100644
index bdf39d9e7..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.log
deleted file mode 100644
index f9746a1ad..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7fffffffffe + x6) - x10), ((0x7fffffffffe + x7) - x11), ((0xffffffffffe + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.v
deleted file mode 100644
index 5ca534c97..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e127m1_3limbs/freeze.c b/src/Specific/solinas64_2e127m1_3limbs/freeze.c
deleted file mode 100644
index c032d35b1..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x7ffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x3ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x3ffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e127m1_3limbs/freeze.v b/src/Specific/solinas64_2e127m1_3limbs/freeze.v
deleted file mode 100644
index 18bdc86b6..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.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/solinas64_2e127m1_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.log
deleted file mode 100644
index 48a026179..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x7ffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x3ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x3ffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.v
deleted file mode 100644
index 43bf47cf3..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e127m1_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e127m1_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e127m1_3limbs/py_interpreter.sh
deleted file mode 100755
index 80126e541..000000000
--- a/src/Specific/solinas64_2e127m1_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**127 - 1' -Dmodulus_bytes='42 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e129m25_3limbs/CurveParameters.v b/src/Specific/solinas64_2e129m25_3limbs/CurveParameters.v
deleted file mode 100644
index df897a547..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^129 - 25
-Base: 43
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 43;
- bitwidth := 64;
- s := 2^129;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e129m25_3limbs/Synthesis.v b/src/Specific/solinas64_2e129m25_3limbs/Synthesis.v
deleted file mode 100644
index 1abfe164d..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/compiler.sh b/src/Specific/solinas64_2e129m25_3limbs/compiler.sh
deleted file mode 100755
index 54abdf10b..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas64_2e129m25_3limbs/compilerxx.sh b/src/Specific/solinas64_2e129m25_3limbs/compilerxx.sh
deleted file mode 100755
index 3b4837af3..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas64_2e129m25_3limbs/feadd.c b/src/Specific/solinas64_2e129m25_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_3limbs/feadd.v b/src/Specific/solinas64_2e129m25_3limbs/feadd.v
deleted file mode 100644
index b94a5449f..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.v
deleted file mode 100644
index 42cf38995..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fecarry.v b/src/Specific/solinas64_2e129m25_3limbs/fecarry.v
deleted file mode 100644
index 41aed88dd..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e129m25_3limbs/fecarryDisplay.v
deleted file mode 100644
index beae0bc90..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e129m25_3limbs/femul.c b/src/Specific/solinas64_2e129m25_3limbs/femul.c
deleted file mode 100644
index f4d7f2f96..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x19 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x19 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x2b);
- { uint64_t x16 = ((uint64_t)x14 & 0x7ffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x2b);
- { uint64_t x19 = ((uint64_t)x17 & 0x7ffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x2b);
- { uint64_t x22 = ((uint64_t)x20 & 0x7ffffffffff);
- { uint64_t x23 = (x16 + (0x19 * x21));
- { uint64_t x24 = (x23 >> 0x2b);
- { uint64_t x25 = (x23 & 0x7ffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x2b);
- { uint64_t x28 = (x26 & 0x7ffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_3limbs/femul.v b/src/Specific/solinas64_2e129m25_3limbs/femul.v
deleted file mode 100644
index 9056599d4..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/femulDisplay.log b/src/Specific/solinas64_2e129m25_3limbs/femulDisplay.log
deleted file mode 100644
index 4e21c36ee..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x19 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x19 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint64_t x15 = (uint64_t) (x14 >> 0x2b);
- uint64_t x16 = ((uint64_t)x14 & 0x7ffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x2b);
- uint64_t x19 = ((uint64_t)x17 & 0x7ffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x2b);
- uint64_t x22 = ((uint64_t)x20 & 0x7ffffffffff);
- uint64_t x23 = (x16 + (0x19 * x21));
- uint64_t x24 = (x23 >> 0x2b);
- uint64_t x25 = (x23 & 0x7ffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x2b);
- uint64_t x28 = (x26 & 0x7ffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_3limbs/femulDisplay.v b/src/Specific/solinas64_2e129m25_3limbs/femulDisplay.v
deleted file mode 100644
index 9465514bf..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fesquare.c b/src/Specific/solinas64_2e129m25_3limbs/fesquare.c
deleted file mode 100644
index e46051319..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x19 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x2b);
- { uint64_t x9 = ((uint64_t)x7 & 0x7ffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x2b);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint64_t x16 = (x9 + (0x19 * x14));
- { uint64_t x17 = (x16 >> 0x2b);
- { uint64_t x18 = (x16 & 0x7ffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x2b);
- { uint64_t x21 = (x19 & 0x7ffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fesquare.v b/src/Specific/solinas64_2e129m25_3limbs/fesquare.v
deleted file mode 100644
index a0ec619fe..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.log
deleted file mode 100644
index 9aec8330b..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x19 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint64_t x8 = (uint64_t) (x7 >> 0x2b);
- uint64_t x9 = ((uint64_t)x7 & 0x7ffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x2b);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint64_t x16 = (x9 + (0x19 * x14));
- uint64_t x17 = (x16 >> 0x2b);
- uint64_t x18 = (x16 & 0x7ffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x2b);
- uint64_t x21 = (x19 & 0x7ffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.v
deleted file mode 100644
index d67c7d693..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fesub.c b/src/Specific/solinas64_2e129m25_3limbs/fesub.c
deleted file mode 100644
index 3b568ec45..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0xfffffffffce + x5) - x9);
- out[1] = ((0xffffffffffe + x7) - x11);
- out[2] = ((0xffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fesub.v b/src/Specific/solinas64_2e129m25_3limbs/fesub.v
deleted file mode 100644
index 38dc55a8a..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.log
deleted file mode 100644
index d5762eae8..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0xffffffffffe + x6) - x10), ((0xffffffffffe + x7) - x11), ((0xfffffffffce + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.v
deleted file mode 100644
index ce7a4fa8e..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e129m25_3limbs/freeze.c b/src/Specific/solinas64_2e129m25_3limbs/freeze.c
deleted file mode 100644
index a0c83f37d..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffe7);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7ffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7ffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x7ffffffffe7);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x7ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x7ffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_3limbs/freeze.v b/src/Specific/solinas64_2e129m25_3limbs/freeze.v
deleted file mode 100644
index fdbf2d759..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.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/solinas64_2e129m25_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.log
deleted file mode 100644
index d45479954..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffe7);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7ffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7ffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x7ffffffffe7);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x7ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x7ffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.v
deleted file mode 100644
index b76491141..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e129m25_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e129m25_3limbs/py_interpreter.sh
deleted file mode 100755
index 9b3975489..000000000
--- a/src/Specific/solinas64_2e129m25_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**129 - 25' -Dmodulus_bytes='43' -Da24='121665'
diff --git a/src/Specific/solinas64_2e129m25_4limbs/CurveParameters.v b/src/Specific/solinas64_2e129m25_4limbs/CurveParameters.v
deleted file mode 100644
index bc07cd21a..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^129 - 25
-Base: 32.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 32 + 1/4;
- bitwidth := 64;
- s := 2^129;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e129m25_4limbs/Synthesis.v b/src/Specific/solinas64_2e129m25_4limbs/Synthesis.v
deleted file mode 100644
index 5b2cf6def..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/compiler.sh b/src/Specific/solinas64_2e129m25_4limbs/compiler.sh
deleted file mode 100755
index ba6da4b8b..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas64_2e129m25_4limbs/compilerxx.sh b/src/Specific/solinas64_2e129m25_4limbs/compilerxx.sh
deleted file mode 100755
index f015adb3e..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,32,32}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<129) - 25' "$@"
diff --git a/src/Specific/solinas64_2e129m25_4limbs/feadd.c b/src/Specific/solinas64_2e129m25_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_4limbs/feadd.v b/src/Specific/solinas64_2e129m25_4limbs/feadd.v
deleted file mode 100644
index b041a05ce..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.v
deleted file mode 100644
index 68a5422a6..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fecarry.v b/src/Specific/solinas64_2e129m25_4limbs/fecarry.v
deleted file mode 100644
index 006e4cc37..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e129m25_4limbs/fecarryDisplay.v
deleted file mode 100644
index bbfd2ca8f..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e129m25_4limbs/femul.c b/src/Specific/solinas64_2e129m25_4limbs/femul.c
deleted file mode 100644
index f07be3d04..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x19 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x19 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x19 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x21);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x20);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x20);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x20);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffff);
- { uint64_t x31 = (x21 + (0x19 * x29));
- { uint64_t x32 = (x31 >> 0x21);
- { uint64_t x33 = (x31 & 0x1ffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x20);
- { uint64_t x36 = (x34 & 0xffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_4limbs/femul.v b/src/Specific/solinas64_2e129m25_4limbs/femul.v
deleted file mode 100644
index 07526d7b5..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/femulDisplay.log b/src/Specific/solinas64_2e129m25_4limbs/femulDisplay.log
deleted file mode 100644
index dd96f12b3..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x19 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x19 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x19 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x21);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x20);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x20);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x20);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffff);
- uint64_t x31 = (x21 + (0x19 * x29));
- uint64_t x32 = (x31 >> 0x21);
- uint64_t x33 = (x31 & 0x1ffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x20);
- uint64_t x36 = (x34 & 0xffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_4limbs/femulDisplay.v b/src/Specific/solinas64_2e129m25_4limbs/femulDisplay.v
deleted file mode 100644
index 9857bba98..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fesquare.c b/src/Specific/solinas64_2e129m25_4limbs/fesquare.c
deleted file mode 100644
index 72f509c26..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x21);
- { uint64_t x12 = ((uint64_t)x10 & 0x1ffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x20);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x20);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x20);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffff);
- { uint64_t x22 = (x12 + (0x19 * x20));
- { uint64_t x23 = (x22 >> 0x21);
- { uint64_t x24 = (x22 & 0x1ffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x20);
- { uint64_t x27 = (x25 & 0xffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fesquare.v b/src/Specific/solinas64_2e129m25_4limbs/fesquare.v
deleted file mode 100644
index 98a477edf..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.log
deleted file mode 100644
index 346dc8933..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x21);
- uint64_t x12 = ((uint64_t)x10 & 0x1ffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x20);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x20);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x20);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffff);
- uint64_t x22 = (x12 + (0x19 * x20));
- uint64_t x23 = (x22 >> 0x21);
- uint64_t x24 = (x22 & 0x1ffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x20);
- uint64_t x27 = (x25 & 0xffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.v
deleted file mode 100644
index 07e1f6079..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fesub.c b/src/Specific/solinas64_2e129m25_4limbs/fesub.c
deleted file mode 100644
index ce33d3af7..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x3ffffffce + x5) - x11);
- out[1] = ((0x1fffffffe + x7) - x13);
- out[2] = ((0x1fffffffe + x9) - x15);
- out[3] = ((0x1fffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fesub.v b/src/Specific/solinas64_2e129m25_4limbs/fesub.v
deleted file mode 100644
index 95c81205b..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.log
deleted file mode 100644
index 9a0916e14..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x1fffffffe + x8) - x14), ((0x1fffffffe + x9) - x15), ((0x1fffffffe + x7) - x13), ((0x3ffffffce + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.v
deleted file mode 100644
index 68a01010a..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e129m25_4limbs/freeze.c b/src/Specific/solinas64_2e129m25_4limbs/freeze.c
deleted file mode 100644
index 832c90f84..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffe7);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x1ffffffe7);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0xffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0xffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e129m25_4limbs/freeze.v b/src/Specific/solinas64_2e129m25_4limbs/freeze.v
deleted file mode 100644
index 61a0a105b..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.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/solinas64_2e129m25_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.log
deleted file mode 100644
index 5232e193d..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffe7);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x1ffffffe7);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0xffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0xffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.v
deleted file mode 100644
index cd66ba01e..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e129m25_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e129m25_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e129m25_4limbs/py_interpreter.sh
deleted file mode 100755
index d89efd522..000000000
--- a/src/Specific/solinas64_2e129m25_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**129 - 25' -Dmodulus_bytes='32.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e130m5_3limbs/CurveParameters.v b/src/Specific/solinas64_2e130m5_3limbs/CurveParameters.v
deleted file mode 100644
index 16175f52a..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^130 - 5
-Base: 43 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 43 + 1/3;
- bitwidth := 64;
- s := 2^130;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e130m5_3limbs/Synthesis.v b/src/Specific/solinas64_2e130m5_3limbs/Synthesis.v
deleted file mode 100644
index 63d8e67c5..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/compiler.sh b/src/Specific/solinas64_2e130m5_3limbs/compiler.sh
deleted file mode 100755
index 72a4f1e05..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas64_2e130m5_3limbs/compilerxx.sh b/src/Specific/solinas64_2e130m5_3limbs/compilerxx.sh
deleted file mode 100755
index b9220e65c..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas64_2e130m5_3limbs/feadd.c b/src/Specific/solinas64_2e130m5_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_3limbs/feadd.v b/src/Specific/solinas64_2e130m5_3limbs/feadd.v
deleted file mode 100644
index ba2a6b3dd..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.v
deleted file mode 100644
index 8efafb0f8..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fecarry.v b/src/Specific/solinas64_2e130m5_3limbs/fecarry.v
deleted file mode 100644
index 5433d3752..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e130m5_3limbs/fecarryDisplay.v
deleted file mode 100644
index 3d62fe845..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e130m5_3limbs/femul.c b/src/Specific/solinas64_2e130m5_3limbs/femul.c
deleted file mode 100644
index a14294d6d..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + ((0x2 * ((uint128_t)x7 * x11)) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x5 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x5 * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x2c);
- { uint64_t x16 = ((uint64_t)x14 & 0xfffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x2b);
- { uint64_t x19 = ((uint64_t)x17 & 0x7ffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x2b);
- { uint64_t x22 = ((uint64_t)x20 & 0x7ffffffffff);
- { uint64_t x23 = (x16 + (0x5 * x21));
- { uint64_t x24 = (x23 >> 0x2c);
- { uint64_t x25 = (x23 & 0xfffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x2b);
- { uint64_t x28 = (x26 & 0x7ffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_3limbs/femul.v b/src/Specific/solinas64_2e130m5_3limbs/femul.v
deleted file mode 100644
index 40dc803fe..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/femulDisplay.log b/src/Specific/solinas64_2e130m5_3limbs/femulDisplay.log
deleted file mode 100644
index c514c0886..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + ((0x2 * ((uint128_t)x7 * x11)) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x5 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x5 * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- uint64_t x15 = (uint64_t) (x14 >> 0x2c);
- uint64_t x16 = ((uint64_t)x14 & 0xfffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x2b);
- uint64_t x19 = ((uint64_t)x17 & 0x7ffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x2b);
- uint64_t x22 = ((uint64_t)x20 & 0x7ffffffffff);
- uint64_t x23 = (x16 + (0x5 * x21));
- uint64_t x24 = (x23 >> 0x2c);
- uint64_t x25 = (x23 & 0xfffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x2b);
- uint64_t x28 = (x26 & 0x7ffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_3limbs/femulDisplay.v b/src/Specific/solinas64_2e130m5_3limbs/femulDisplay.v
deleted file mode 100644
index 1f2969c32..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fesquare.c b/src/Specific/solinas64_2e130m5_3limbs/fesquare.c
deleted file mode 100644
index 499c28d6d..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x2c);
- { uint64_t x9 = ((uint64_t)x7 & 0xfffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x2b);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint64_t x16 = (x9 + (0x5 * x14));
- { uint64_t x17 = (x16 >> 0x2c);
- { uint64_t x18 = (x16 & 0xfffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x2b);
- { uint64_t x21 = (x19 & 0x7ffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fesquare.v b/src/Specific/solinas64_2e130m5_3limbs/fesquare.v
deleted file mode 100644
index a770401a9..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.log
deleted file mode 100644
index f60cdd005..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- uint64_t x8 = (uint64_t) (x7 >> 0x2c);
- uint64_t x9 = ((uint64_t)x7 & 0xfffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x2b);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint64_t x16 = (x9 + (0x5 * x14));
- uint64_t x17 = (x16 >> 0x2c);
- uint64_t x18 = (x16 & 0xfffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x2b);
- uint64_t x21 = (x19 & 0x7ffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.v
deleted file mode 100644
index 57c4b5070..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fesub.c b/src/Specific/solinas64_2e130m5_3limbs/fesub.c
deleted file mode 100644
index cde6ead7d..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x1ffffffffff6 + x5) - x9);
- out[1] = ((0xffffffffffe + x7) - x11);
- out[2] = ((0xffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fesub.v b/src/Specific/solinas64_2e130m5_3limbs/fesub.v
deleted file mode 100644
index 2cb067582..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.log
deleted file mode 100644
index 3496fca22..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0xffffffffffe + x6) - x10), ((0xffffffffffe + x7) - x11), ((0x1ffffffffff6 + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.v
deleted file mode 100644
index b3f3560a5..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e130m5_3limbs/freeze.c b/src/Specific/solinas64_2e130m5_3limbs/freeze.c
deleted file mode 100644
index 442eefaf1..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffb);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7ffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7ffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xffffffffffb);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x7ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x7ffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_3limbs/freeze.v b/src/Specific/solinas64_2e130m5_3limbs/freeze.v
deleted file mode 100644
index e30f6825e..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.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/solinas64_2e130m5_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.log
deleted file mode 100644
index ef7c05558..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffb);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7ffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7ffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xffffffffffb);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x7ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x7ffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.v
deleted file mode 100644
index 1d001d822..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e130m5_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e130m5_3limbs/py_interpreter.sh
deleted file mode 100755
index 258d27d68..000000000
--- a/src/Specific/solinas64_2e130m5_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**130 - 5' -Dmodulus_bytes='43 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e130m5_4limbs/CurveParameters.v b/src/Specific/solinas64_2e130m5_4limbs/CurveParameters.v
deleted file mode 100644
index adaffc7a8..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^130 - 5
-Base: 32.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 32 + 1/2;
- bitwidth := 64;
- s := 2^130;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e130m5_4limbs/Synthesis.v b/src/Specific/solinas64_2e130m5_4limbs/Synthesis.v
deleted file mode 100644
index 717392fbf..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/compiler.sh b/src/Specific/solinas64_2e130m5_4limbs/compiler.sh
deleted file mode 100755
index 7477e09a0..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,33,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas64_2e130m5_4limbs/compilerxx.sh b/src/Specific/solinas64_2e130m5_4limbs/compilerxx.sh
deleted file mode 100755
index c5a4b9424..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{33,32,33,32}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='17' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<130) - 5' "$@"
diff --git a/src/Specific/solinas64_2e130m5_4limbs/feadd.c b/src/Specific/solinas64_2e130m5_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_4limbs/feadd.v b/src/Specific/solinas64_2e130m5_4limbs/feadd.v
deleted file mode 100644
index a9a0bacc2..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.v
deleted file mode 100644
index f0a528c8e..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fecarry.v b/src/Specific/solinas64_2e130m5_4limbs/fecarry.v
deleted file mode 100644
index 32a1e9117..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e130m5_4limbs/fecarryDisplay.v
deleted file mode 100644
index f96429efd..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e130m5_4limbs/femul.c b/src/Specific/solinas64_2e130m5_4limbs/femul.c
deleted file mode 100644
index 0180fbf40..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x21);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x20);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x21);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x20);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffff);
- { uint64_t x31 = (x21 + (0x5 * x29));
- { uint64_t x32 = (x31 >> 0x21);
- { uint64_t x33 = (x31 & 0x1ffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x20);
- { uint64_t x36 = (x34 & 0xffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_4limbs/femul.v b/src/Specific/solinas64_2e130m5_4limbs/femul.v
deleted file mode 100644
index 4fc8faddf..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/femulDisplay.log b/src/Specific/solinas64_2e130m5_4limbs/femulDisplay.log
deleted file mode 100644
index 3f5eab4de..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x21);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x20);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x21);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x20);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffff);
- uint64_t x31 = (x21 + (0x5 * x29));
- uint64_t x32 = (x31 >> 0x21);
- uint64_t x33 = (x31 & 0x1ffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x20);
- uint64_t x36 = (x34 & 0xffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_4limbs/femulDisplay.v b/src/Specific/solinas64_2e130m5_4limbs/femulDisplay.v
deleted file mode 100644
index 2495d29b5..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fesquare.c b/src/Specific/solinas64_2e130m5_4limbs/fesquare.c
deleted file mode 100644
index bed6a5a41..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x21);
- { uint64_t x12 = ((uint64_t)x10 & 0x1ffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x20);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x21);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x20);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffff);
- { uint64_t x22 = (x12 + (0x5 * x20));
- { uint64_t x23 = (x22 >> 0x21);
- { uint64_t x24 = (x22 & 0x1ffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x20);
- { uint64_t x27 = (x25 & 0xffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fesquare.v b/src/Specific/solinas64_2e130m5_4limbs/fesquare.v
deleted file mode 100644
index 6c3254087..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.log
deleted file mode 100644
index a7a33524a..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x21);
- uint64_t x12 = ((uint64_t)x10 & 0x1ffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x20);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x21);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x20);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffff);
- uint64_t x22 = (x12 + (0x5 * x20));
- uint64_t x23 = (x22 >> 0x21);
- uint64_t x24 = (x22 & 0x1ffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x20);
- uint64_t x27 = (x25 & 0xffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.v
deleted file mode 100644
index 3a5d9f650..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fesub.c b/src/Specific/solinas64_2e130m5_4limbs/fesub.c
deleted file mode 100644
index 776a276d7..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x3fffffff6 + x5) - x11);
- out[1] = ((0x1fffffffe + x7) - x13);
- out[2] = ((0x3fffffffe + x9) - x15);
- out[3] = ((0x1fffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fesub.v b/src/Specific/solinas64_2e130m5_4limbs/fesub.v
deleted file mode 100644
index 7527a86f8..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.log
deleted file mode 100644
index dec95f014..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x1fffffffe + x8) - x14), ((0x3fffffffe + x9) - x15), ((0x1fffffffe + x7) - x13), ((0x3fffffff6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.v
deleted file mode 100644
index ba6988d5d..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e130m5_4limbs/freeze.c b/src/Specific/solinas64_2e130m5_4limbs/freeze.c
deleted file mode 100644
index 091688155..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffb);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x1fffffffb);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0xffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1ffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0xffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e130m5_4limbs/freeze.v b/src/Specific/solinas64_2e130m5_4limbs/freeze.v
deleted file mode 100644
index 73bb65405..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.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/solinas64_2e130m5_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.log
deleted file mode 100644
index b242fa6fa..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffb);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x1fffffffb);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0xffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1ffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 33 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0xffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 32 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.v
deleted file mode 100644
index ef8912fdf..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e130m5_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e130m5_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e130m5_4limbs/py_interpreter.sh
deleted file mode 100755
index 26a1c3f1a..000000000
--- a/src/Specific/solinas64_2e130m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**130 - 5' -Dmodulus_bytes='32.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e137m13_3limbs/CurveParameters.v b/src/Specific/solinas64_2e137m13_3limbs/CurveParameters.v
deleted file mode 100644
index 833f29658..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^137 - 13
-Base: 45 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 45 + 2/3;
- bitwidth := 64;
- s := 2^137;
- c := [(1, 13)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e137m13_3limbs/Synthesis.v b/src/Specific/solinas64_2e137m13_3limbs/Synthesis.v
deleted file mode 100644
index ccc38845d..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/compiler.sh b/src/Specific/solinas64_2e137m13_3limbs/compiler.sh
deleted file mode 100755
index b81be6eda..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,45}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas64_2e137m13_3limbs/compilerxx.sh b/src/Specific/solinas64_2e137m13_3limbs/compilerxx.sh
deleted file mode 100755
index b23fb0422..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,45}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas64_2e137m13_3limbs/feadd.c b/src/Specific/solinas64_2e137m13_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_3limbs/feadd.v b/src/Specific/solinas64_2e137m13_3limbs/feadd.v
deleted file mode 100644
index d9edce574..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.v
deleted file mode 100644
index adfa01f08..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fecarry.v b/src/Specific/solinas64_2e137m13_3limbs/fecarry.v
deleted file mode 100644
index bba33b23a..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e137m13_3limbs/fecarryDisplay.v
deleted file mode 100644
index 5942fc150..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e137m13_3limbs/femul.c b/src/Specific/solinas64_2e137m13_3limbs/femul.c
deleted file mode 100644
index e3a2963cc..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0xd * (0x2 * ((uint128_t)x6 * x10))));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0xd * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x2e);
- { uint64_t x16 = ((uint64_t)x14 & 0x3fffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x2e);
- { uint64_t x19 = ((uint64_t)x17 & 0x3fffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x2d);
- { uint64_t x22 = ((uint64_t)x20 & 0x1fffffffffff);
- { uint64_t x23 = (x16 + (0xd * x21));
- { uint64_t x24 = (x23 >> 0x2e);
- { uint64_t x25 = (x23 & 0x3fffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x2e);
- { uint64_t x28 = (x26 & 0x3fffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_3limbs/femul.v b/src/Specific/solinas64_2e137m13_3limbs/femul.v
deleted file mode 100644
index 23ba24967..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/femulDisplay.log b/src/Specific/solinas64_2e137m13_3limbs/femulDisplay.log
deleted file mode 100644
index bd7d6387b..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0xd * (0x2 * ((uint128_t)x6 * x10))));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0xd * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- uint64_t x15 = (uint64_t) (x14 >> 0x2e);
- uint64_t x16 = ((uint64_t)x14 & 0x3fffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x2e);
- uint64_t x19 = ((uint64_t)x17 & 0x3fffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x2d);
- uint64_t x22 = ((uint64_t)x20 & 0x1fffffffffff);
- uint64_t x23 = (x16 + (0xd * x21));
- uint64_t x24 = (x23 >> 0x2e);
- uint64_t x25 = (x23 & 0x3fffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x2e);
- uint64_t x28 = (x26 & 0x3fffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_3limbs/femulDisplay.v b/src/Specific/solinas64_2e137m13_3limbs/femulDisplay.v
deleted file mode 100644
index 8d98c1340..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fesquare.c b/src/Specific/solinas64_2e137m13_3limbs/fesquare.c
deleted file mode 100644
index 0f3716434..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xd * (0x2 * ((uint128_t)x3 * x3))));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0xd * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x2e);
- { uint64_t x9 = ((uint64_t)x7 & 0x3fffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x2e);
- { uint64_t x12 = ((uint64_t)x10 & 0x3fffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2d);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffff);
- { uint64_t x16 = (x9 + (0xd * x14));
- { uint64_t x17 = (x16 >> 0x2e);
- { uint64_t x18 = (x16 & 0x3fffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x2e);
- { uint64_t x21 = (x19 & 0x3fffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fesquare.v b/src/Specific/solinas64_2e137m13_3limbs/fesquare.v
deleted file mode 100644
index 0646821cc..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.log
deleted file mode 100644
index be6402492..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xd * (0x2 * ((uint128_t)x3 * x3))));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0xd * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- uint64_t x8 = (uint64_t) (x7 >> 0x2e);
- uint64_t x9 = ((uint64_t)x7 & 0x3fffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x2e);
- uint64_t x12 = ((uint64_t)x10 & 0x3fffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x2d);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffff);
- uint64_t x16 = (x9 + (0xd * x14));
- uint64_t x17 = (x16 >> 0x2e);
- uint64_t x18 = (x16 & 0x3fffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x2e);
- uint64_t x21 = (x19 & 0x3fffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.v
deleted file mode 100644
index 9bda8f18c..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fesub.c b/src/Specific/solinas64_2e137m13_3limbs/fesub.c
deleted file mode 100644
index 43c7089ba..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x7fffffffffe6 + x5) - x9);
- out[1] = ((0x7ffffffffffe + x7) - x11);
- out[2] = ((0x3ffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fesub.v b/src/Specific/solinas64_2e137m13_3limbs/fesub.v
deleted file mode 100644
index 72eddbe0a..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.log
deleted file mode 100644
index d9a19e025..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x3ffffffffffe + x6) - x10), ((0x7ffffffffffe + x7) - x11), ((0x7fffffffffe6 + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.v
deleted file mode 100644
index 327e3bff9..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e137m13_3limbs/freeze.c b/src/Specific/solinas64_2e137m13_3limbs/freeze.c
deleted file mode 100644
index ca0572fce..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffff3);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3fffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x1fffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x3ffffffffff3);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x3fffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x1fffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_3limbs/freeze.v b/src/Specific/solinas64_2e137m13_3limbs/freeze.v
deleted file mode 100644
index c8293ae87..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.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/solinas64_2e137m13_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.log
deleted file mode 100644
index b748f9e0f..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffff3);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3fffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x1fffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x3ffffffffff3);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x3fffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x1fffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.v
deleted file mode 100644
index 55810457e..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e137m13_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e137m13_3limbs/py_interpreter.sh
deleted file mode 100755
index e4f2ab231..000000000
--- a/src/Specific/solinas64_2e137m13_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**137 - 13' -Dmodulus_bytes='45 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e137m13_4limbs/CurveParameters.v b/src/Specific/solinas64_2e137m13_4limbs/CurveParameters.v
deleted file mode 100644
index e8e42dabb..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^137 - 13
-Base: 34.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 34 + 1/4;
- bitwidth := 64;
- s := 2^137;
- c := [(1, 13)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e137m13_4limbs/Synthesis.v b/src/Specific/solinas64_2e137m13_4limbs/Synthesis.v
deleted file mode 100644
index 96bd75af8..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/compiler.sh b/src/Specific/solinas64_2e137m13_4limbs/compiler.sh
deleted file mode 100755
index e5043aa9b..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas64_2e137m13_4limbs/compilerxx.sh b/src/Specific/solinas64_2e137m13_4limbs/compilerxx.sh
deleted file mode 100755
index b5ebd65ac..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,34,34,34}' -Dmodulus_array='{0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<137) - 13' "$@"
diff --git a/src/Specific/solinas64_2e137m13_4limbs/feadd.c b/src/Specific/solinas64_2e137m13_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_4limbs/feadd.v b/src/Specific/solinas64_2e137m13_4limbs/feadd.v
deleted file mode 100644
index 017b0023d..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.v
deleted file mode 100644
index 7ebd7b26c..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fecarry.v b/src/Specific/solinas64_2e137m13_4limbs/fecarry.v
deleted file mode 100644
index b26d7217c..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e137m13_4limbs/fecarryDisplay.v
deleted file mode 100644
index 4815eeda4..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e137m13_4limbs/femul.c b/src/Specific/solinas64_2e137m13_4limbs/femul.c
deleted file mode 100644
index d68990736..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0xd * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xd * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0xd * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x23);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x22);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x22);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x22);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffff);
- { uint64_t x31 = (x21 + (0xd * x29));
- { uint64_t x32 = (x31 >> 0x23);
- { uint64_t x33 = (x31 & 0x7ffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x22);
- { uint64_t x36 = (x34 & 0x3ffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_4limbs/femul.v b/src/Specific/solinas64_2e137m13_4limbs/femul.v
deleted file mode 100644
index 850b68176..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/femulDisplay.log b/src/Specific/solinas64_2e137m13_4limbs/femulDisplay.log
deleted file mode 100644
index 403577545..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0xd * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xd * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0xd * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x23);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x22);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x22);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x22);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffff);
- uint64_t x31 = (x21 + (0xd * x29));
- uint64_t x32 = (x31 >> 0x23);
- uint64_t x33 = (x31 & 0x7ffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x22);
- uint64_t x36 = (x34 & 0x3ffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_4limbs/femulDisplay.v b/src/Specific/solinas64_2e137m13_4limbs/femulDisplay.v
deleted file mode 100644
index 5406d3dfe..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fesquare.c b/src/Specific/solinas64_2e137m13_4limbs/fesquare.c
deleted file mode 100644
index ea414891a..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xd * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xd * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0xd * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x23);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x22);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x22);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x22);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffff);
- { uint64_t x22 = (x12 + (0xd * x20));
- { uint64_t x23 = (x22 >> 0x23);
- { uint64_t x24 = (x22 & 0x7ffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x22);
- { uint64_t x27 = (x25 & 0x3ffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fesquare.v b/src/Specific/solinas64_2e137m13_4limbs/fesquare.v
deleted file mode 100644
index 5fc502cad..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.log
deleted file mode 100644
index dce7d48c9..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xd * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xd * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0xd * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x23);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x22);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x22);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x22);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffff);
- uint64_t x22 = (x12 + (0xd * x20));
- uint64_t x23 = (x22 >> 0x23);
- uint64_t x24 = (x22 & 0x7ffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x22);
- uint64_t x27 = (x25 & 0x3ffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.v
deleted file mode 100644
index 108f197bd..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fesub.c b/src/Specific/solinas64_2e137m13_4limbs/fesub.c
deleted file mode 100644
index a4ecc2809..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0xfffffffe6 + x5) - x11);
- out[1] = ((0x7fffffffe + x7) - x13);
- out[2] = ((0x7fffffffe + x9) - x15);
- out[3] = ((0x7fffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fesub.v b/src/Specific/solinas64_2e137m13_4limbs/fesub.v
deleted file mode 100644
index 5a5687f1a..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.log
deleted file mode 100644
index c007b2271..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x7fffffffe + x8) - x14), ((0x7fffffffe + x9) - x15), ((0x7fffffffe + x7) - x13), ((0xfffffffe6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.v
deleted file mode 100644
index a456e44f2..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e137m13_4limbs/freeze.c b/src/Specific/solinas64_2e137m13_4limbs/freeze.c
deleted file mode 100644
index 0ff635111..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffff3);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x3ffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3ffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x7fffffff3);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x3ffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3ffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x3ffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e137m13_4limbs/freeze.v b/src/Specific/solinas64_2e137m13_4limbs/freeze.v
deleted file mode 100644
index 6f26d425f..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.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/solinas64_2e137m13_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.log
deleted file mode 100644
index ca2db3c69..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffff3);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x3ffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3ffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x7fffffff3);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x3ffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3ffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x3ffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 34 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.v
deleted file mode 100644
index c46bc4b12..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e137m13_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e137m13_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e137m13_4limbs/py_interpreter.sh
deleted file mode 100755
index 40f7c141c..000000000
--- a/src/Specific/solinas64_2e137m13_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**137 - 13' -Dmodulus_bytes='34.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e140m27_3limbs/CurveParameters.v b/src/Specific/solinas64_2e140m27_3limbs/CurveParameters.v
deleted file mode 100644
index 9b148920f..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^140 - 27
-Base: 46 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 46 + 2/3;
- bitwidth := 64;
- s := 2^140;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e140m27_3limbs/Synthesis.v b/src/Specific/solinas64_2e140m27_3limbs/Synthesis.v
deleted file mode 100644
index 3b4b7d404..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/compiler.sh b/src/Specific/solinas64_2e140m27_3limbs/compiler.sh
deleted file mode 100755
index 1b12adff0..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,46}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas64_2e140m27_3limbs/compilerxx.sh b/src/Specific/solinas64_2e140m27_3limbs/compilerxx.sh
deleted file mode 100755
index 8e8e157a7..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,46}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas64_2e140m27_3limbs/feadd.c b/src/Specific/solinas64_2e140m27_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_3limbs/feadd.v b/src/Specific/solinas64_2e140m27_3limbs/feadd.v
deleted file mode 100644
index 621ba1fed..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.v
deleted file mode 100644
index 3b012f996..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fecarry.v b/src/Specific/solinas64_2e140m27_3limbs/fecarry.v
deleted file mode 100644
index 4d384093b..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e140m27_3limbs/fecarryDisplay.v
deleted file mode 100644
index d1a5a5937..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e140m27_3limbs/femul.c b/src/Specific/solinas64_2e140m27_3limbs/femul.c
deleted file mode 100644
index 9c6cf807d..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x1b * (0x2 * ((uint128_t)x6 * x10))));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x1b * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x2f);
- { uint64_t x16 = ((uint64_t)x14 & 0x7fffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x2f);
- { uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x2e);
- { uint64_t x22 = ((uint64_t)x20 & 0x3fffffffffff);
- { uint64_t x23 = (x16 + (0x1b * x21));
- { uint64_t x24 = (x23 >> 0x2f);
- { uint64_t x25 = (x23 & 0x7fffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x2f);
- { uint64_t x28 = (x26 & 0x7fffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_3limbs/femul.v b/src/Specific/solinas64_2e140m27_3limbs/femul.v
deleted file mode 100644
index 17887e83e..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/femulDisplay.log b/src/Specific/solinas64_2e140m27_3limbs/femulDisplay.log
deleted file mode 100644
index 652b97b3c..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x1b * (0x2 * ((uint128_t)x6 * x10))));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x1b * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- uint64_t x15 = (uint64_t) (x14 >> 0x2f);
- uint64_t x16 = ((uint64_t)x14 & 0x7fffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x2f);
- uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x2e);
- uint64_t x22 = ((uint64_t)x20 & 0x3fffffffffff);
- uint64_t x23 = (x16 + (0x1b * x21));
- uint64_t x24 = (x23 >> 0x2f);
- uint64_t x25 = (x23 & 0x7fffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x2f);
- uint64_t x28 = (x26 & 0x7fffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_3limbs/femulDisplay.v b/src/Specific/solinas64_2e140m27_3limbs/femulDisplay.v
deleted file mode 100644
index 4a2b03d05..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fesquare.c b/src/Specific/solinas64_2e140m27_3limbs/fesquare.c
deleted file mode 100644
index aa8167fb3..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (0x2 * ((uint128_t)x3 * x3))));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x1b * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x2f);
- { uint64_t x9 = ((uint64_t)x7 & 0x7fffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x2f);
- { uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2e);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffff);
- { uint64_t x16 = (x9 + (0x1b * x14));
- { uint64_t x17 = (x16 >> 0x2f);
- { uint64_t x18 = (x16 & 0x7fffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x2f);
- { uint64_t x21 = (x19 & 0x7fffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fesquare.v b/src/Specific/solinas64_2e140m27_3limbs/fesquare.v
deleted file mode 100644
index 7420c1c30..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.log
deleted file mode 100644
index 4b83253a8..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (0x2 * ((uint128_t)x3 * x3))));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x1b * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- uint64_t x8 = (uint64_t) (x7 >> 0x2f);
- uint64_t x9 = ((uint64_t)x7 & 0x7fffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x2f);
- uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x2e);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffff);
- uint64_t x16 = (x9 + (0x1b * x14));
- uint64_t x17 = (x16 >> 0x2f);
- uint64_t x18 = (x16 & 0x7fffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x2f);
- uint64_t x21 = (x19 & 0x7fffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.v
deleted file mode 100644
index 07e281cda..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fesub.c b/src/Specific/solinas64_2e140m27_3limbs/fesub.c
deleted file mode 100644
index da837b1c9..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0xffffffffffca + x5) - x9);
- out[1] = ((0xfffffffffffe + x7) - x11);
- out[2] = ((0x7ffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fesub.v b/src/Specific/solinas64_2e140m27_3limbs/fesub.v
deleted file mode 100644
index 43bad3c04..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.log
deleted file mode 100644
index 12210376d..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7ffffffffffe + x6) - x10), ((0xfffffffffffe + x7) - x11), ((0xffffffffffca + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.v
deleted file mode 100644
index 541d1c9c9..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e140m27_3limbs/freeze.c b/src/Specific/solinas64_2e140m27_3limbs/freeze.c
deleted file mode 100644
index 0e10c06cc..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffe5);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3fffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x7fffffffffe5);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x7fffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x3fffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_3limbs/freeze.v b/src/Specific/solinas64_2e140m27_3limbs/freeze.v
deleted file mode 100644
index 555bbf38a..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.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/solinas64_2e140m27_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.log
deleted file mode 100644
index 15ce8018a..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffe5);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3fffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x7fffffffffe5);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x7fffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x3fffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.v
deleted file mode 100644
index fbf49ef23..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e140m27_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e140m27_3limbs/py_interpreter.sh
deleted file mode 100755
index 8a60a873c..000000000
--- a/src/Specific/solinas64_2e140m27_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**140 - 27' -Dmodulus_bytes='46 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e140m27_4limbs/CurveParameters.v b/src/Specific/solinas64_2e140m27_4limbs/CurveParameters.v
deleted file mode 100644
index 8b2d58b07..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^140 - 27
-Base: 35
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 35;
- bitwidth := 64;
- s := 2^140;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e140m27_4limbs/Synthesis.v b/src/Specific/solinas64_2e140m27_4limbs/Synthesis.v
deleted file mode 100644
index 9c03e6275..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/compiler.sh b/src/Specific/solinas64_2e140m27_4limbs/compiler.sh
deleted file mode 100755
index 0c0988a77..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas64_2e140m27_4limbs/compilerxx.sh b/src/Specific/solinas64_2e140m27_4limbs/compilerxx.sh
deleted file mode 100755
index 4d1ab59df..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{35,35,35,35}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe5}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<140) - 27' "$@"
diff --git a/src/Specific/solinas64_2e140m27_4limbs/feadd.c b/src/Specific/solinas64_2e140m27_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_4limbs/feadd.v b/src/Specific/solinas64_2e140m27_4limbs/feadd.v
deleted file mode 100644
index bf89a167e..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.v
deleted file mode 100644
index 964cc1072..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fecarry.v b/src/Specific/solinas64_2e140m27_4limbs/fecarry.v
deleted file mode 100644
index 0ce8eacd8..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e140m27_4limbs/fecarryDisplay.v
deleted file mode 100644
index 045490d4f..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e140m27_4limbs/femul.c b/src/Specific/solinas64_2e140m27_4limbs/femul.c
deleted file mode 100644
index 60bd565a7..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x1b * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x1b * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x1b * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x23);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x23);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x23);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x23);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffff);
- { uint64_t x31 = (x21 + (0x1b * x29));
- { uint64_t x32 = (x31 >> 0x23);
- { uint64_t x33 = (x31 & 0x7ffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x23);
- { uint64_t x36 = (x34 & 0x7ffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_4limbs/femul.v b/src/Specific/solinas64_2e140m27_4limbs/femul.v
deleted file mode 100644
index 15105fced..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/femulDisplay.log b/src/Specific/solinas64_2e140m27_4limbs/femulDisplay.log
deleted file mode 100644
index 1d8b8a24b..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x1b * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x1b * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x1b * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- uint64_t x20 = (uint64_t) (x19 >> 0x23);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x23);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x23);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x23);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffff);
- uint64_t x31 = (x21 + (0x1b * x29));
- uint64_t x32 = (x31 >> 0x23);
- uint64_t x33 = (x31 & 0x7ffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x23);
- uint64_t x36 = (x34 & 0x7ffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_4limbs/femulDisplay.v b/src/Specific/solinas64_2e140m27_4limbs/femulDisplay.v
deleted file mode 100644
index 92dc15b2e..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fesquare.c b/src/Specific/solinas64_2e140m27_4limbs/fesquare.c
deleted file mode 100644
index d99bc0584..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1b * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x1b * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x23);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x23);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x23);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x23);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- { uint64_t x22 = (x12 + (0x1b * x20));
- { uint64_t x23 = (x22 >> 0x23);
- { uint64_t x24 = (x22 & 0x7ffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x23);
- { uint64_t x27 = (x25 & 0x7ffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fesquare.v b/src/Specific/solinas64_2e140m27_4limbs/fesquare.v
deleted file mode 100644
index 5ecb99f83..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.log
deleted file mode 100644
index 102460441..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1b * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x1b * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- uint64_t x11 = (uint64_t) (x10 >> 0x23);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x23);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x23);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x23);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- uint64_t x22 = (x12 + (0x1b * x20));
- uint64_t x23 = (x22 >> 0x23);
- uint64_t x24 = (x22 & 0x7ffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x23);
- uint64_t x27 = (x25 & 0x7ffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.v
deleted file mode 100644
index c2077c945..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fesub.c b/src/Specific/solinas64_2e140m27_4limbs/fesub.c
deleted file mode 100644
index b8cc9ed0d..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0xfffffffca + x5) - x11);
- out[1] = ((0xffffffffe + x7) - x13);
- out[2] = ((0xffffffffe + x9) - x15);
- out[3] = ((0xffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fesub.v b/src/Specific/solinas64_2e140m27_4limbs/fesub.v
deleted file mode 100644
index e783015db..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.log
deleted file mode 100644
index a4d489ec2..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xffffffffe + x8) - x14), ((0xffffffffe + x9) - x15), ((0xffffffffe + x7) - x13), ((0xfffffffca + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.v
deleted file mode 100644
index 303d1708d..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e140m27_4limbs/freeze.c b/src/Specific/solinas64_2e140m27_4limbs/freeze.c
deleted file mode 100644
index 2d8379135..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffe5);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x7ffffffe5);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x7ffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7ffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e140m27_4limbs/freeze.v b/src/Specific/solinas64_2e140m27_4limbs/freeze.v
deleted file mode 100644
index c09ee7705..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.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/solinas64_2e140m27_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.log
deleted file mode 100644
index d3fcf0a5d..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffe5);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x7ffffffe5);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x7ffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7ffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.v
deleted file mode 100644
index fbf1f5332..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e140m27_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e140m27_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e140m27_4limbs/py_interpreter.sh
deleted file mode 100755
index 70367901d..000000000
--- a/src/Specific/solinas64_2e140m27_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**140 - 27' -Dmodulus_bytes='35' -Da24='121665'
diff --git a/src/Specific/solinas64_2e141m9_3limbs/CurveParameters.v b/src/Specific/solinas64_2e141m9_3limbs/CurveParameters.v
deleted file mode 100644
index 0ad50a39e..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^141 - 9
-Base: 47
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 47;
- bitwidth := 64;
- s := 2^141;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e141m9_3limbs/Synthesis.v b/src/Specific/solinas64_2e141m9_3limbs/Synthesis.v
deleted file mode 100644
index 30a2c556b..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/compiler.sh b/src/Specific/solinas64_2e141m9_3limbs/compiler.sh
deleted file mode 100755
index eb91a928d..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas64_2e141m9_3limbs/compilerxx.sh b/src/Specific/solinas64_2e141m9_3limbs/compilerxx.sh
deleted file mode 100755
index 0065a32f1..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas64_2e141m9_3limbs/feadd.c b/src/Specific/solinas64_2e141m9_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_3limbs/feadd.v b/src/Specific/solinas64_2e141m9_3limbs/feadd.v
deleted file mode 100644
index c4d0e53e2..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.v
deleted file mode 100644
index e7cd8054f..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fecarry.v b/src/Specific/solinas64_2e141m9_3limbs/fecarry.v
deleted file mode 100644
index 93a7370f8..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e141m9_3limbs/fecarryDisplay.v
deleted file mode 100644
index a86ad3397..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e141m9_3limbs/femul.c b/src/Specific/solinas64_2e141m9_3limbs/femul.c
deleted file mode 100644
index adfd592ca..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x9 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x9 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x2f);
- { uint64_t x16 = ((uint64_t)x14 & 0x7fffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x2f);
- { uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x2f);
- { uint64_t x22 = ((uint64_t)x20 & 0x7fffffffffff);
- { uint64_t x23 = (x16 + (0x9 * x21));
- { uint64_t x24 = (x23 >> 0x2f);
- { uint64_t x25 = (x23 & 0x7fffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x2f);
- { uint64_t x28 = (x26 & 0x7fffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_3limbs/femul.v b/src/Specific/solinas64_2e141m9_3limbs/femul.v
deleted file mode 100644
index b931028c5..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/femulDisplay.log b/src/Specific/solinas64_2e141m9_3limbs/femulDisplay.log
deleted file mode 100644
index 178fcdec6..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x9 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x9 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint64_t x15 = (uint64_t) (x14 >> 0x2f);
- uint64_t x16 = ((uint64_t)x14 & 0x7fffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x2f);
- uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x2f);
- uint64_t x22 = ((uint64_t)x20 & 0x7fffffffffff);
- uint64_t x23 = (x16 + (0x9 * x21));
- uint64_t x24 = (x23 >> 0x2f);
- uint64_t x25 = (x23 & 0x7fffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x2f);
- uint64_t x28 = (x26 & 0x7fffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_3limbs/femulDisplay.v b/src/Specific/solinas64_2e141m9_3limbs/femulDisplay.v
deleted file mode 100644
index 4d5caf488..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fesquare.c b/src/Specific/solinas64_2e141m9_3limbs/fesquare.c
deleted file mode 100644
index ddcbf6334..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x9 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x2f);
- { uint64_t x9 = ((uint64_t)x7 & 0x7fffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x2f);
- { uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- { uint64_t x16 = (x9 + (0x9 * x14));
- { uint64_t x17 = (x16 >> 0x2f);
- { uint64_t x18 = (x16 & 0x7fffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x2f);
- { uint64_t x21 = (x19 & 0x7fffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fesquare.v b/src/Specific/solinas64_2e141m9_3limbs/fesquare.v
deleted file mode 100644
index cec7c148b..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.log
deleted file mode 100644
index 33bde0fba..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x9 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint64_t x8 = (uint64_t) (x7 >> 0x2f);
- uint64_t x9 = ((uint64_t)x7 & 0x7fffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x2f);
- uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- uint64_t x16 = (x9 + (0x9 * x14));
- uint64_t x17 = (x16 >> 0x2f);
- uint64_t x18 = (x16 & 0x7fffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x2f);
- uint64_t x21 = (x19 & 0x7fffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.v
deleted file mode 100644
index 34f7212e1..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fesub.c b/src/Specific/solinas64_2e141m9_3limbs/fesub.c
deleted file mode 100644
index 318c34358..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0xffffffffffee + x5) - x9);
- out[1] = ((0xfffffffffffe + x7) - x11);
- out[2] = ((0xfffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fesub.v b/src/Specific/solinas64_2e141m9_3limbs/fesub.v
deleted file mode 100644
index a33b42b6c..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.log
deleted file mode 100644
index 18bf8250e..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0xfffffffffffe + x6) - x10), ((0xfffffffffffe + x7) - x11), ((0xffffffffffee + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.v
deleted file mode 100644
index 57a6ea133..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e141m9_3limbs/freeze.c b/src/Specific/solinas64_2e141m9_3limbs/freeze.c
deleted file mode 100644
index d1a0d57f5..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff7);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7fffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x7ffffffffff7);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x7fffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x7fffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_3limbs/freeze.v b/src/Specific/solinas64_2e141m9_3limbs/freeze.v
deleted file mode 100644
index deee7372b..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.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/solinas64_2e141m9_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.log
deleted file mode 100644
index 6bcb50b66..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff7);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7fffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x7ffffffffff7);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x7fffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x7fffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.v
deleted file mode 100644
index 769986182..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e141m9_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e141m9_3limbs/py_interpreter.sh
deleted file mode 100755
index 4aea01032..000000000
--- a/src/Specific/solinas64_2e141m9_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**141 - 9' -Dmodulus_bytes='47' -Da24='121665'
diff --git a/src/Specific/solinas64_2e141m9_4limbs/CurveParameters.v b/src/Specific/solinas64_2e141m9_4limbs/CurveParameters.v
deleted file mode 100644
index ad669482f..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^141 - 9
-Base: 35.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 35 + 1/4;
- bitwidth := 64;
- s := 2^141;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e141m9_4limbs/Synthesis.v b/src/Specific/solinas64_2e141m9_4limbs/Synthesis.v
deleted file mode 100644
index 53642d651..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/compiler.sh b/src/Specific/solinas64_2e141m9_4limbs/compiler.sh
deleted file mode 100755
index a12c31d7e..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{36,35,35,35}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas64_2e141m9_4limbs/compilerxx.sh b/src/Specific/solinas64_2e141m9_4limbs/compilerxx.sh
deleted file mode 100755
index 70694e5c7..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{36,35,35,35}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='18' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<141) - 9' "$@"
diff --git a/src/Specific/solinas64_2e141m9_4limbs/feadd.c b/src/Specific/solinas64_2e141m9_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_4limbs/feadd.v b/src/Specific/solinas64_2e141m9_4limbs/feadd.v
deleted file mode 100644
index 19966419e..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.v
deleted file mode 100644
index 5c1b90dcd..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fecarry.v b/src/Specific/solinas64_2e141m9_4limbs/fecarry.v
deleted file mode 100644
index d2a91611e..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e141m9_4limbs/fecarryDisplay.v
deleted file mode 100644
index e7b4b5d8a..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e141m9_4limbs/femul.c b/src/Specific/solinas64_2e141m9_4limbs/femul.c
deleted file mode 100644
index 4e087cc58..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x9 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x9 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x9 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x24);
- { uint64_t x21 = ((uint64_t)x19 & 0xfffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x23);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x23);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x23);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffff);
- { uint64_t x31 = (x21 + (0x9 * x29));
- { uint64_t x32 = (x31 >> 0x24);
- { uint64_t x33 = (x31 & 0xfffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x23);
- { uint64_t x36 = (x34 & 0x7ffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_4limbs/femul.v b/src/Specific/solinas64_2e141m9_4limbs/femul.v
deleted file mode 100644
index dfc443ba1..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/femulDisplay.log b/src/Specific/solinas64_2e141m9_4limbs/femulDisplay.log
deleted file mode 100644
index 90dcba9e4..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x9 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x9 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x9 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x24);
- uint64_t x21 = ((uint64_t)x19 & 0xfffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x23);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x23);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x23);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffff);
- uint64_t x31 = (x21 + (0x9 * x29));
- uint64_t x32 = (x31 >> 0x24);
- uint64_t x33 = (x31 & 0xfffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x23);
- uint64_t x36 = (x34 & 0x7ffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_4limbs/femulDisplay.v b/src/Specific/solinas64_2e141m9_4limbs/femulDisplay.v
deleted file mode 100644
index 52980dfa2..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fesquare.c b/src/Specific/solinas64_2e141m9_4limbs/fesquare.c
deleted file mode 100644
index 59eeeb375..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x24);
- { uint64_t x12 = ((uint64_t)x10 & 0xfffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x23);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x23);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x23);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- { uint64_t x22 = (x12 + (0x9 * x20));
- { uint64_t x23 = (x22 >> 0x24);
- { uint64_t x24 = (x22 & 0xfffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x23);
- { uint64_t x27 = (x25 & 0x7ffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fesquare.v b/src/Specific/solinas64_2e141m9_4limbs/fesquare.v
deleted file mode 100644
index 2d570b68c..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.log
deleted file mode 100644
index 0dce2db7c..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x24);
- uint64_t x12 = ((uint64_t)x10 & 0xfffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x23);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x23);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x23);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffff);
- uint64_t x22 = (x12 + (0x9 * x20));
- uint64_t x23 = (x22 >> 0x24);
- uint64_t x24 = (x22 & 0xfffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x23);
- uint64_t x27 = (x25 & 0x7ffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.v
deleted file mode 100644
index 24ce02322..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fesub.c b/src/Specific/solinas64_2e141m9_4limbs/fesub.c
deleted file mode 100644
index 1cd5e39b5..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1fffffffee + x5) - x11);
- out[1] = ((0xffffffffe + x7) - x13);
- out[2] = ((0xffffffffe + x9) - x15);
- out[3] = ((0xffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fesub.v b/src/Specific/solinas64_2e141m9_4limbs/fesub.v
deleted file mode 100644
index aff4b4221..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.log
deleted file mode 100644
index aaaa3a8f3..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xffffffffe + x8) - x14), ((0xffffffffe + x9) - x15), ((0xffffffffe + x7) - x13), ((0x1fffffffee + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.v
deleted file mode 100644
index a9c2e1546..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e141m9_4limbs/freeze.c b/src/Specific/solinas64_2e141m9_4limbs/freeze.c
deleted file mode 100644
index 8e9d2c0d6..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffff7);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffff7);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x7ffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7ffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e141m9_4limbs/freeze.v b/src/Specific/solinas64_2e141m9_4limbs/freeze.v
deleted file mode 100644
index cc0b9f05f..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.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/solinas64_2e141m9_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.log
deleted file mode 100644
index dc3230c7e..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffff7);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffff7);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x7ffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7ffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 35 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.v
deleted file mode 100644
index 57f52ed46..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e141m9_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e141m9_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e141m9_4limbs/py_interpreter.sh
deleted file mode 100755
index f38e696b6..000000000
--- a/src/Specific/solinas64_2e141m9_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**141 - 9' -Dmodulus_bytes='35.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e150m3_3limbs/CurveParameters.v b/src/Specific/solinas64_2e150m3_3limbs/CurveParameters.v
deleted file mode 100644
index e451620f4..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 3
-Base: 50
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 50;
- bitwidth := 64;
- s := 2^150;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e150m3_3limbs/Synthesis.v b/src/Specific/solinas64_2e150m3_3limbs/Synthesis.v
deleted file mode 100644
index e0fe202d1..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/compiler.sh b/src/Specific/solinas64_2e150m3_3limbs/compiler.sh
deleted file mode 100755
index f4447111d..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas64_2e150m3_3limbs/compilerxx.sh b/src/Specific/solinas64_2e150m3_3limbs/compilerxx.sh
deleted file mode 100755
index d00290374..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas64_2e150m3_3limbs/feadd.c b/src/Specific/solinas64_2e150m3_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_3limbs/feadd.v b/src/Specific/solinas64_2e150m3_3limbs/feadd.v
deleted file mode 100644
index f12c2649a..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.v
deleted file mode 100644
index dd040ab81..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fecarry.v b/src/Specific/solinas64_2e150m3_3limbs/fecarry.v
deleted file mode 100644
index 4fe5d4908..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e150m3_3limbs/fecarryDisplay.v
deleted file mode 100644
index fc5f6c980..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e150m3_3limbs/femul.c b/src/Specific/solinas64_2e150m3_3limbs/femul.c
deleted file mode 100644
index 667c4cdea..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x3 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x3 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x32);
- { uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x32);
- { uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x32);
- { uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffff);
- { uint64_t x23 = (x16 + (0x3 * x21));
- { uint64_t x24 = (x23 >> 0x32);
- { uint64_t x25 = (x23 & 0x3ffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x32);
- { uint64_t x28 = (x26 & 0x3ffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_3limbs/femul.v b/src/Specific/solinas64_2e150m3_3limbs/femul.v
deleted file mode 100644
index cfb393148..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/femulDisplay.log b/src/Specific/solinas64_2e150m3_3limbs/femulDisplay.log
deleted file mode 100644
index 3940c0dd0..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x3 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x3 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint64_t x15 = (uint64_t) (x14 >> 0x32);
- uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x32);
- uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x32);
- uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffff);
- uint64_t x23 = (x16 + (0x3 * x21));
- uint64_t x24 = (x23 >> 0x32);
- uint64_t x25 = (x23 & 0x3ffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x32);
- uint64_t x28 = (x26 & 0x3ffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_3limbs/femulDisplay.v b/src/Specific/solinas64_2e150m3_3limbs/femulDisplay.v
deleted file mode 100644
index b59bd80c3..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fesquare.c b/src/Specific/solinas64_2e150m3_3limbs/fesquare.c
deleted file mode 100644
index 1124db94f..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x32);
- { uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x32);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x32);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffff);
- { uint64_t x16 = (x9 + (0x3 * x14));
- { uint64_t x17 = (x16 >> 0x32);
- { uint64_t x18 = (x16 & 0x3ffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x32);
- { uint64_t x21 = (x19 & 0x3ffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fesquare.v b/src/Specific/solinas64_2e150m3_3limbs/fesquare.v
deleted file mode 100644
index c2698290f..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.log
deleted file mode 100644
index 67dcd761e..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint64_t x8 = (uint64_t) (x7 >> 0x32);
- uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x32);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x32);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffff);
- uint64_t x16 = (x9 + (0x3 * x14));
- uint64_t x17 = (x16 >> 0x32);
- uint64_t x18 = (x16 & 0x3ffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x32);
- uint64_t x21 = (x19 & 0x3ffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.v
deleted file mode 100644
index 2bdeb83c6..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fesub.c b/src/Specific/solinas64_2e150m3_3limbs/fesub.c
deleted file mode 100644
index ed1081ab3..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x7fffffffffffa + x5) - x9);
- out[1] = ((0x7fffffffffffe + x7) - x11);
- out[2] = ((0x7fffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fesub.v b/src/Specific/solinas64_2e150m3_3limbs/fesub.v
deleted file mode 100644
index 4cbda3916..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.log
deleted file mode 100644
index 5506e17af..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7fffffffffffe + x6) - x10), ((0x7fffffffffffe + x7) - x11), ((0x7fffffffffffa + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.v
deleted file mode 100644
index 4df625baa..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e150m3_3limbs/freeze.c b/src/Specific/solinas64_2e150m3_3limbs/freeze.c
deleted file mode 100644
index e69cfbeeb..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffd);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x3fffffffffffd);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x3ffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x3ffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_3limbs/freeze.v b/src/Specific/solinas64_2e150m3_3limbs/freeze.v
deleted file mode 100644
index ac2133824..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.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/solinas64_2e150m3_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.log
deleted file mode 100644
index 3a7a67072..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffd);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x3fffffffffffd);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x3ffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x3ffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.v
deleted file mode 100644
index 3e444992e..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e150m3_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e150m3_3limbs/py_interpreter.sh
deleted file mode 100755
index 21d6ae317..000000000
--- a/src/Specific/solinas64_2e150m3_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 3' -Dmodulus_bytes='50' -Da24='121665'
diff --git a/src/Specific/solinas64_2e150m3_4limbs/CurveParameters.v b/src/Specific/solinas64_2e150m3_4limbs/CurveParameters.v
deleted file mode 100644
index b83f82d65..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 3
-Base: 37.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 37 + 1/2;
- bitwidth := 64;
- s := 2^150;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e150m3_4limbs/Synthesis.v b/src/Specific/solinas64_2e150m3_4limbs/Synthesis.v
deleted file mode 100644
index 946e6194f..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/compiler.sh b/src/Specific/solinas64_2e150m3_4limbs/compiler.sh
deleted file mode 100755
index 9d2e06908..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas64_2e150m3_4limbs/compilerxx.sh b/src/Specific/solinas64_2e150m3_4limbs/compilerxx.sh
deleted file mode 100755
index 3845390d9..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 3' "$@"
diff --git a/src/Specific/solinas64_2e150m3_4limbs/feadd.c b/src/Specific/solinas64_2e150m3_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_4limbs/feadd.v b/src/Specific/solinas64_2e150m3_4limbs/feadd.v
deleted file mode 100644
index 1aba48cd4..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.v
deleted file mode 100644
index 1735f4734..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fecarry.v b/src/Specific/solinas64_2e150m3_4limbs/fecarry.v
deleted file mode 100644
index 692fa56e0..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e150m3_4limbs/fecarryDisplay.v
deleted file mode 100644
index bcd59cae6..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e150m3_4limbs/femul.c b/src/Specific/solinas64_2e150m3_4limbs/femul.c
deleted file mode 100644
index 9bde2da19..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x25);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x26);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x25);
- { uint64_t x30 = ((uint64_t)x28 & 0x1fffffffff);
- { uint64_t x31 = (x21 + (0x3 * x29));
- { uint64_t x32 = (x31 >> 0x26);
- { uint64_t x33 = (x31 & 0x3fffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x25);
- { uint64_t x36 = (x34 & 0x1fffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_4limbs/femul.v b/src/Specific/solinas64_2e150m3_4limbs/femul.v
deleted file mode 100644
index 1ea902244..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/femulDisplay.log b/src/Specific/solinas64_2e150m3_4limbs/femulDisplay.log
deleted file mode 100644
index e57673ce5..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x25);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x26);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x25);
- uint64_t x30 = ((uint64_t)x28 & 0x1fffffffff);
- uint64_t x31 = (x21 + (0x3 * x29));
- uint64_t x32 = (x31 >> 0x26);
- uint64_t x33 = (x31 & 0x3fffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x25);
- uint64_t x36 = (x34 & 0x1fffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_4limbs/femulDisplay.v b/src/Specific/solinas64_2e150m3_4limbs/femulDisplay.v
deleted file mode 100644
index ca87c66ee..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fesquare.c b/src/Specific/solinas64_2e150m3_4limbs/fesquare.c
deleted file mode 100644
index a90a11932..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x26);
- { uint64_t x12 = ((uint64_t)x10 & 0x3fffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x25);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x26);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x25);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffff);
- { uint64_t x22 = (x12 + (0x3 * x20));
- { uint64_t x23 = (x22 >> 0x26);
- { uint64_t x24 = (x22 & 0x3fffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x25);
- { uint64_t x27 = (x25 & 0x1fffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fesquare.v b/src/Specific/solinas64_2e150m3_4limbs/fesquare.v
deleted file mode 100644
index 06a7805fb..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.log
deleted file mode 100644
index eee121078..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x26);
- uint64_t x12 = ((uint64_t)x10 & 0x3fffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x25);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x26);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x25);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffff);
- uint64_t x22 = (x12 + (0x3 * x20));
- uint64_t x23 = (x22 >> 0x26);
- uint64_t x24 = (x22 & 0x3fffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x25);
- uint64_t x27 = (x25 & 0x1fffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.v
deleted file mode 100644
index cd84770c9..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fesub.c b/src/Specific/solinas64_2e150m3_4limbs/fesub.c
deleted file mode 100644
index 5a767e64f..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffffa + x5) - x11);
- out[1] = ((0x3ffffffffe + x7) - x13);
- out[2] = ((0x7ffffffffe + x9) - x15);
- out[3] = ((0x3ffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fesub.v b/src/Specific/solinas64_2e150m3_4limbs/fesub.v
deleted file mode 100644
index 3a962cf36..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.log
deleted file mode 100644
index 798f08921..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3ffffffffe + x8) - x14), ((0x7ffffffffe + x9) - x15), ((0x3ffffffffe + x7) - x13), ((0x7ffffffffa + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.v
deleted file mode 100644
index 268189b79..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e150m3_4limbs/freeze.c b/src/Specific/solinas64_2e150m3_4limbs/freeze.c
deleted file mode 100644
index 4b2f75318..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffd);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3fffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3ffffffffd);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1fffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3fffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1fffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m3_4limbs/freeze.v b/src/Specific/solinas64_2e150m3_4limbs/freeze.v
deleted file mode 100644
index e7f941f9d..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.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/solinas64_2e150m3_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.log
deleted file mode 100644
index 060813ab5..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffd);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3fffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3ffffffffd);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1fffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3fffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1fffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.v
deleted file mode 100644
index d97f5060b..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m3_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e150m3_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e150m3_4limbs/py_interpreter.sh
deleted file mode 100755
index a5b81aa61..000000000
--- a/src/Specific/solinas64_2e150m3_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 3' -Dmodulus_bytes='37.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e150m5_3limbs/CurveParameters.v b/src/Specific/solinas64_2e150m5_3limbs/CurveParameters.v
deleted file mode 100644
index 598e97b48..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 5
-Base: 50
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 50;
- bitwidth := 64;
- s := 2^150;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e150m5_3limbs/Synthesis.v b/src/Specific/solinas64_2e150m5_3limbs/Synthesis.v
deleted file mode 100644
index fbaaf99af..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/compiler.sh b/src/Specific/solinas64_2e150m5_3limbs/compiler.sh
deleted file mode 100755
index cbc196a86..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas64_2e150m5_3limbs/compilerxx.sh b/src/Specific/solinas64_2e150m5_3limbs/compilerxx.sh
deleted file mode 100755
index 00c38cbd9..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,50,50}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas64_2e150m5_3limbs/feadd.c b/src/Specific/solinas64_2e150m5_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_3limbs/feadd.v b/src/Specific/solinas64_2e150m5_3limbs/feadd.v
deleted file mode 100644
index 76a0ffe45..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.v
deleted file mode 100644
index bab86dd3c..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fecarry.v b/src/Specific/solinas64_2e150m5_3limbs/fecarry.v
deleted file mode 100644
index 6791c06d6..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e150m5_3limbs/fecarryDisplay.v
deleted file mode 100644
index 157d35567..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e150m5_3limbs/femul.c b/src/Specific/solinas64_2e150m5_3limbs/femul.c
deleted file mode 100644
index d79487ffe..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x5 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x5 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x32);
- { uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x32);
- { uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x32);
- { uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffff);
- { uint64_t x23 = (x16 + (0x5 * x21));
- { uint64_t x24 = (x23 >> 0x32);
- { uint64_t x25 = (x23 & 0x3ffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x32);
- { uint64_t x28 = (x26 & 0x3ffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_3limbs/femul.v b/src/Specific/solinas64_2e150m5_3limbs/femul.v
deleted file mode 100644
index c2e6a2133..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/femulDisplay.log b/src/Specific/solinas64_2e150m5_3limbs/femulDisplay.log
deleted file mode 100644
index 8596878ef..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x5 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x5 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint64_t x15 = (uint64_t) (x14 >> 0x32);
- uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x32);
- uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x32);
- uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffff);
- uint64_t x23 = (x16 + (0x5 * x21));
- uint64_t x24 = (x23 >> 0x32);
- uint64_t x25 = (x23 & 0x3ffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x32);
- uint64_t x28 = (x26 & 0x3ffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_3limbs/femulDisplay.v b/src/Specific/solinas64_2e150m5_3limbs/femulDisplay.v
deleted file mode 100644
index 59119c0a9..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fesquare.c b/src/Specific/solinas64_2e150m5_3limbs/fesquare.c
deleted file mode 100644
index f3c699e60..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x5 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x32);
- { uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x32);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x32);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffff);
- { uint64_t x16 = (x9 + (0x5 * x14));
- { uint64_t x17 = (x16 >> 0x32);
- { uint64_t x18 = (x16 & 0x3ffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x32);
- { uint64_t x21 = (x19 & 0x3ffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fesquare.v b/src/Specific/solinas64_2e150m5_3limbs/fesquare.v
deleted file mode 100644
index 81223a6de..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.log
deleted file mode 100644
index 6d4126245..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x5 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint64_t x8 = (uint64_t) (x7 >> 0x32);
- uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x32);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x32);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffff);
- uint64_t x16 = (x9 + (0x5 * x14));
- uint64_t x17 = (x16 >> 0x32);
- uint64_t x18 = (x16 & 0x3ffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x32);
- uint64_t x21 = (x19 & 0x3ffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.v
deleted file mode 100644
index 69dd74684..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fesub.c b/src/Specific/solinas64_2e150m5_3limbs/fesub.c
deleted file mode 100644
index a50cce660..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x7fffffffffff6 + x5) - x9);
- out[1] = ((0x7fffffffffffe + x7) - x11);
- out[2] = ((0x7fffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fesub.v b/src/Specific/solinas64_2e150m5_3limbs/fesub.v
deleted file mode 100644
index d03e1eaa0..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.log
deleted file mode 100644
index d4a7f1c68..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7fffffffffffe + x6) - x10), ((0x7fffffffffffe + x7) - x11), ((0x7fffffffffff6 + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.v
deleted file mode 100644
index 88bbcd9be..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e150m5_3limbs/freeze.c b/src/Specific/solinas64_2e150m5_3limbs/freeze.c
deleted file mode 100644
index 0283f7ae1..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffb);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x3fffffffffffb);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x3ffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x3ffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_3limbs/freeze.v b/src/Specific/solinas64_2e150m5_3limbs/freeze.v
deleted file mode 100644
index 47825531c..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.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/solinas64_2e150m5_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.log
deleted file mode 100644
index 90dc24017..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffb);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x3fffffffffffb);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x3ffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x3ffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.v
deleted file mode 100644
index fa08bd8aa..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e150m5_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e150m5_3limbs/py_interpreter.sh
deleted file mode 100755
index a840c463b..000000000
--- a/src/Specific/solinas64_2e150m5_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 5' -Dmodulus_bytes='50' -Da24='121665'
diff --git a/src/Specific/solinas64_2e150m5_4limbs/CurveParameters.v b/src/Specific/solinas64_2e150m5_4limbs/CurveParameters.v
deleted file mode 100644
index 390416b47..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^150 - 5
-Base: 37.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 37 + 1/2;
- bitwidth := 64;
- s := 2^150;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e150m5_4limbs/Synthesis.v b/src/Specific/solinas64_2e150m5_4limbs/Synthesis.v
deleted file mode 100644
index c236d0737..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/compiler.sh b/src/Specific/solinas64_2e150m5_4limbs/compiler.sh
deleted file mode 100755
index dd8685578..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas64_2e150m5_4limbs/compilerxx.sh b/src/Specific/solinas64_2e150m5_4limbs/compilerxx.sh
deleted file mode 100755
index 4816fc63d..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,37,38,37}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<150) - 5' "$@"
diff --git a/src/Specific/solinas64_2e150m5_4limbs/feadd.c b/src/Specific/solinas64_2e150m5_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_4limbs/feadd.v b/src/Specific/solinas64_2e150m5_4limbs/feadd.v
deleted file mode 100644
index 18aa60924..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.v
deleted file mode 100644
index c7fb09285..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fecarry.v b/src/Specific/solinas64_2e150m5_4limbs/fecarry.v
deleted file mode 100644
index ef905e4f8..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e150m5_4limbs/fecarryDisplay.v
deleted file mode 100644
index f1a226c72..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e150m5_4limbs/femul.c b/src/Specific/solinas64_2e150m5_4limbs/femul.c
deleted file mode 100644
index de83c79a0..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x25);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x26);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x25);
- { uint64_t x30 = ((uint64_t)x28 & 0x1fffffffff);
- { uint64_t x31 = (x21 + (0x5 * x29));
- { uint64_t x32 = (x31 >> 0x26);
- { uint64_t x33 = (x31 & 0x3fffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x25);
- { uint64_t x36 = (x34 & 0x1fffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_4limbs/femul.v b/src/Specific/solinas64_2e150m5_4limbs/femul.v
deleted file mode 100644
index 5ad0838be..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/femulDisplay.log b/src/Specific/solinas64_2e150m5_4limbs/femulDisplay.log
deleted file mode 100644
index 8ca7957d9..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x25);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x26);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x25);
- uint64_t x30 = ((uint64_t)x28 & 0x1fffffffff);
- uint64_t x31 = (x21 + (0x5 * x29));
- uint64_t x32 = (x31 >> 0x26);
- uint64_t x33 = (x31 & 0x3fffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x25);
- uint64_t x36 = (x34 & 0x1fffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_4limbs/femulDisplay.v b/src/Specific/solinas64_2e150m5_4limbs/femulDisplay.v
deleted file mode 100644
index b62f96d9e..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fesquare.c b/src/Specific/solinas64_2e150m5_4limbs/fesquare.c
deleted file mode 100644
index 52b67dcbf..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x26);
- { uint64_t x12 = ((uint64_t)x10 & 0x3fffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x25);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x26);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x25);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffff);
- { uint64_t x22 = (x12 + (0x5 * x20));
- { uint64_t x23 = (x22 >> 0x26);
- { uint64_t x24 = (x22 & 0x3fffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x25);
- { uint64_t x27 = (x25 & 0x1fffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fesquare.v b/src/Specific/solinas64_2e150m5_4limbs/fesquare.v
deleted file mode 100644
index 2c05d1039..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.log
deleted file mode 100644
index 60f9916e3..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x26);
- uint64_t x12 = ((uint64_t)x10 & 0x3fffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x25);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x26);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x25);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffff);
- uint64_t x22 = (x12 + (0x5 * x20));
- uint64_t x23 = (x22 >> 0x26);
- uint64_t x24 = (x22 & 0x3fffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x25);
- uint64_t x27 = (x25 & 0x1fffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.v
deleted file mode 100644
index 73d16719c..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fesub.c b/src/Specific/solinas64_2e150m5_4limbs/fesub.c
deleted file mode 100644
index 6417ee1c0..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffff6 + x5) - x11);
- out[1] = ((0x3ffffffffe + x7) - x13);
- out[2] = ((0x7ffffffffe + x9) - x15);
- out[3] = ((0x3ffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fesub.v b/src/Specific/solinas64_2e150m5_4limbs/fesub.v
deleted file mode 100644
index e000c781b..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.log
deleted file mode 100644
index f2e7599a7..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3ffffffffe + x8) - x14), ((0x7ffffffffe + x9) - x15), ((0x3ffffffffe + x7) - x13), ((0x7ffffffff6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.v
deleted file mode 100644
index 4e223971d..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e150m5_4limbs/freeze.c b/src/Specific/solinas64_2e150m5_4limbs/freeze.c
deleted file mode 100644
index 780c727c8..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffb);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3fffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3ffffffffb);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1fffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3fffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1fffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e150m5_4limbs/freeze.v b/src/Specific/solinas64_2e150m5_4limbs/freeze.v
deleted file mode 100644
index 303c16604..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.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/solinas64_2e150m5_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.log
deleted file mode 100644
index b08075751..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffb);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3fffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3ffffffffb);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1fffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3fffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1fffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.v
deleted file mode 100644
index 6b2a38219..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e150m5_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e150m5_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e150m5_4limbs/py_interpreter.sh
deleted file mode 100755
index 6d97e1865..000000000
--- a/src/Specific/solinas64_2e150m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**150 - 5' -Dmodulus_bytes='37.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e152m17_3limbs/CurveParameters.v b/src/Specific/solinas64_2e152m17_3limbs/CurveParameters.v
deleted file mode 100644
index a8578fe7d..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^152 - 17
-Base: 50 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 50 + 2/3;
- bitwidth := 64;
- s := 2^152;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e152m17_3limbs/Synthesis.v b/src/Specific/solinas64_2e152m17_3limbs/Synthesis.v
deleted file mode 100644
index 124631633..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/compiler.sh b/src/Specific/solinas64_2e152m17_3limbs/compiler.sh
deleted file mode 100755
index 16ddf057a..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,50}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas64_2e152m17_3limbs/compilerxx.sh b/src/Specific/solinas64_2e152m17_3limbs/compilerxx.sh
deleted file mode 100755
index ab47ca1f7..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,50}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas64_2e152m17_3limbs/feadd.c b/src/Specific/solinas64_2e152m17_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_3limbs/feadd.v b/src/Specific/solinas64_2e152m17_3limbs/feadd.v
deleted file mode 100644
index d184cf738..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.v
deleted file mode 100644
index f4b95a3f2..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fecarry.v b/src/Specific/solinas64_2e152m17_3limbs/fecarry.v
deleted file mode 100644
index 419b7026a..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e152m17_3limbs/fecarryDisplay.v
deleted file mode 100644
index ca44b7749..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e152m17_3limbs/femul.c b/src/Specific/solinas64_2e152m17_3limbs/femul.c
deleted file mode 100644
index 75bd91db1..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x11 * (0x2 * ((uint128_t)x6 * x10))));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x11 * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x33);
- { uint64_t x16 = ((uint64_t)x14 & 0x7ffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x33);
- { uint64_t x19 = ((uint64_t)x17 & 0x7ffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x32);
- { uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffff);
- { uint64_t x23 = (x16 + (0x11 * x21));
- { uint64_t x24 = (x23 >> 0x33);
- { uint64_t x25 = (x23 & 0x7ffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x33);
- { uint64_t x28 = (x26 & 0x7ffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_3limbs/femul.v b/src/Specific/solinas64_2e152m17_3limbs/femul.v
deleted file mode 100644
index 578a69cef..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/femulDisplay.log b/src/Specific/solinas64_2e152m17_3limbs/femulDisplay.log
deleted file mode 100644
index 452b3bdef..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x11 * (0x2 * ((uint128_t)x6 * x10))));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x11 * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- uint64_t x15 = (uint64_t) (x14 >> 0x33);
- uint64_t x16 = ((uint64_t)x14 & 0x7ffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x33);
- uint64_t x19 = ((uint64_t)x17 & 0x7ffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x32);
- uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffff);
- uint64_t x23 = (x16 + (0x11 * x21));
- uint64_t x24 = (x23 >> 0x33);
- uint64_t x25 = (x23 & 0x7ffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x33);
- uint64_t x28 = (x26 & 0x7ffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_3limbs/femulDisplay.v b/src/Specific/solinas64_2e152m17_3limbs/femulDisplay.v
deleted file mode 100644
index e1b6854a5..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fesquare.c b/src/Specific/solinas64_2e152m17_3limbs/fesquare.c
deleted file mode 100644
index fbca9bc7e..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (0x2 * ((uint128_t)x3 * x3))));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x33);
- { uint64_t x9 = ((uint64_t)x7 & 0x7ffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x33);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x32);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffff);
- { uint64_t x16 = (x9 + (0x11 * x14));
- { uint64_t x17 = (x16 >> 0x33);
- { uint64_t x18 = (x16 & 0x7ffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x33);
- { uint64_t x21 = (x19 & 0x7ffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fesquare.v b/src/Specific/solinas64_2e152m17_3limbs/fesquare.v
deleted file mode 100644
index 0e47f659e..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.log
deleted file mode 100644
index fc6452c98..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (0x2 * ((uint128_t)x3 * x3))));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- uint64_t x8 = (uint64_t) (x7 >> 0x33);
- uint64_t x9 = ((uint64_t)x7 & 0x7ffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x33);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x32);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffff);
- uint64_t x16 = (x9 + (0x11 * x14));
- uint64_t x17 = (x16 >> 0x33);
- uint64_t x18 = (x16 & 0x7ffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x33);
- uint64_t x21 = (x19 & 0x7ffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.v
deleted file mode 100644
index 9698b3e75..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fesub.c b/src/Specific/solinas64_2e152m17_3limbs/fesub.c
deleted file mode 100644
index 72692ad0b..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0xfffffffffffde + x5) - x9);
- out[1] = ((0xffffffffffffe + x7) - x11);
- out[2] = ((0x7fffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fesub.v b/src/Specific/solinas64_2e152m17_3limbs/fesub.v
deleted file mode 100644
index fc0a228bb..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.log
deleted file mode 100644
index 36d87ccd5..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7fffffffffffe + x6) - x10), ((0xffffffffffffe + x7) - x11), ((0xfffffffffffde + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.v
deleted file mode 100644
index 519258dda..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e152m17_3limbs/freeze.c b/src/Specific/solinas64_2e152m17_3limbs/freeze.c
deleted file mode 100644
index 10a1650e5..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6; uint8_t x7 = _subborrow_u51(0x0, x2, 0x7ffffffffffef, &x6);
- { uint64_t x9; uint8_t x10 = _subborrow_u51(x7, x4, 0x7ffffffffffff, &x9);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x7ffffffffffef);
- { uint64_t x17; uint8_t x18 = _addcarryx_u51(0x0, x6, x15, &x17);
- { uint64_t x19 = (x14 & 0x7ffffffffffff);
- { uint64_t x21; uint8_t x22 = _addcarryx_u51(x18, x9, x19, &x21);
- { uint64_t x23 = (x14 & 0x3ffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_3limbs/freeze.v b/src/Specific/solinas64_2e152m17_3limbs/freeze.v
deleted file mode 100644
index f3204e8a5..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.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/solinas64_2e152m17_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.log
deleted file mode 100644
index ddd32769a..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = subborrow_u51(0x0, x2, 0x7ffffffffffef);
- uint64_t x9, uint8_t x10 = subborrow_u51(x7, x4, 0x7ffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x7ffffffffffef);
- uint64_t x17, uint8_t x18 = addcarryx_u51(0x0, x6, x15);
- uint64_t x19 = (x14 & 0x7ffffffffffff);
- uint64_t x21, uint8_t x22 = addcarryx_u51(x18, x9, x19);
- uint64_t x23 = (x14 & 0x3ffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.v
deleted file mode 100644
index 3dd2bb416..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e152m17_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e152m17_3limbs/py_interpreter.sh
deleted file mode 100755
index 043bdf87f..000000000
--- a/src/Specific/solinas64_2e152m17_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**152 - 17' -Dmodulus_bytes='50 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e152m17_4limbs/CurveParameters.v b/src/Specific/solinas64_2e152m17_4limbs/CurveParameters.v
deleted file mode 100644
index e17acd9de..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^152 - 17
-Base: 38
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 38;
- bitwidth := 64;
- s := 2^152;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e152m17_4limbs/Synthesis.v b/src/Specific/solinas64_2e152m17_4limbs/Synthesis.v
deleted file mode 100644
index f9678decc..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/compiler.sh b/src/Specific/solinas64_2e152m17_4limbs/compiler.sh
deleted file mode 100755
index eb3c348ea..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas64_2e152m17_4limbs/compilerxx.sh b/src/Specific/solinas64_2e152m17_4limbs/compilerxx.sh
deleted file mode 100755
index 6a783b1bf..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='19' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<152) - 17' "$@"
diff --git a/src/Specific/solinas64_2e152m17_4limbs/feadd.c b/src/Specific/solinas64_2e152m17_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_4limbs/feadd.v b/src/Specific/solinas64_2e152m17_4limbs/feadd.v
deleted file mode 100644
index c5a96a493..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.v
deleted file mode 100644
index f8d5ea1e3..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fecarry.v b/src/Specific/solinas64_2e152m17_4limbs/fecarry.v
deleted file mode 100644
index e379b1e2a..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e152m17_4limbs/fecarryDisplay.v
deleted file mode 100644
index df7d6fdec..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e152m17_4limbs/femul.c b/src/Specific/solinas64_2e152m17_4limbs/femul.c
deleted file mode 100644
index c351efd1e..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x11 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x11 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x11 * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x26);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x26);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x26);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffff);
- { uint64_t x31 = (x21 + (0x11 * x29));
- { uint64_t x32 = (x31 >> 0x26);
- { uint64_t x33 = (x31 & 0x3fffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x26);
- { uint64_t x36 = (x34 & 0x3fffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_4limbs/femul.v b/src/Specific/solinas64_2e152m17_4limbs/femul.v
deleted file mode 100644
index 32cfb40b1..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/femulDisplay.log b/src/Specific/solinas64_2e152m17_4limbs/femulDisplay.log
deleted file mode 100644
index 10abf603b..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x11 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x11 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x11 * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x26);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x26);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x26);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffff);
- uint64_t x31 = (x21 + (0x11 * x29));
- uint64_t x32 = (x31 >> 0x26);
- uint64_t x33 = (x31 & 0x3fffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x26);
- uint64_t x36 = (x34 & 0x3fffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_4limbs/femulDisplay.v b/src/Specific/solinas64_2e152m17_4limbs/femulDisplay.v
deleted file mode 100644
index 5ff8ce46b..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fesquare.c b/src/Specific/solinas64_2e152m17_4limbs/fesquare.c
deleted file mode 100644
index d8cf4dafa..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x26);
- { uint64_t x12 = ((uint64_t)x10 & 0x3fffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x26);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x26);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint64_t x22 = (x12 + (0x11 * x20));
- { uint64_t x23 = (x22 >> 0x26);
- { uint64_t x24 = (x22 & 0x3fffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x26);
- { uint64_t x27 = (x25 & 0x3fffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fesquare.v b/src/Specific/solinas64_2e152m17_4limbs/fesquare.v
deleted file mode 100644
index 120f3e72f..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.log
deleted file mode 100644
index c0a02bdce..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- uint64_t x11 = (uint64_t) (x10 >> 0x26);
- uint64_t x12 = ((uint64_t)x10 & 0x3fffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x26);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x26);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint64_t x22 = (x12 + (0x11 * x20));
- uint64_t x23 = (x22 >> 0x26);
- uint64_t x24 = (x22 & 0x3fffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x26);
- uint64_t x27 = (x25 & 0x3fffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.v
deleted file mode 100644
index 7ccb3c574..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fesub.c b/src/Specific/solinas64_2e152m17_4limbs/fesub.c
deleted file mode 100644
index 1ceabd249..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7fffffffde + x5) - x11);
- out[1] = ((0x7ffffffffe + x7) - x13);
- out[2] = ((0x7ffffffffe + x9) - x15);
- out[3] = ((0x7ffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fesub.v b/src/Specific/solinas64_2e152m17_4limbs/fesub.v
deleted file mode 100644
index 0b2bdf52a..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.log
deleted file mode 100644
index 7ab073e38..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x7ffffffffe + x8) - x14), ((0x7ffffffffe + x9) - x15), ((0x7ffffffffe + x7) - x13), ((0x7fffffffde + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.v
deleted file mode 100644
index 47d448ca9..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e152m17_4limbs/freeze.c b/src/Specific/solinas64_2e152m17_4limbs/freeze.c
deleted file mode 100644
index 39ce4203c..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffef);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x3fffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3fffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3fffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3fffffffef);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x3fffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3fffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x3fffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e152m17_4limbs/freeze.v b/src/Specific/solinas64_2e152m17_4limbs/freeze.v
deleted file mode 100644
index 7dc01409e..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.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/solinas64_2e152m17_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.log
deleted file mode 100644
index 9c337e131..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffef);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x3fffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3fffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3fffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3fffffffef);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x3fffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3fffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x3fffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.v
deleted file mode 100644
index 31fdf5579..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e152m17_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e152m17_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e152m17_4limbs/py_interpreter.sh
deleted file mode 100755
index a898be393..000000000
--- a/src/Specific/solinas64_2e152m17_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**152 - 17' -Dmodulus_bytes='38' -Da24='121665'
diff --git a/src/Specific/solinas64_2e158m15_3limbs/CurveParameters.v b/src/Specific/solinas64_2e158m15_3limbs/CurveParameters.v
deleted file mode 100644
index 6c2984501..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^158 - 15
-Base: 52 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 52 + 2/3;
- bitwidth := 64;
- s := 2^158;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e158m15_3limbs/Synthesis.v b/src/Specific/solinas64_2e158m15_3limbs/Synthesis.v
deleted file mode 100644
index f5a132fe0..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/compiler.sh b/src/Specific/solinas64_2e158m15_3limbs/compiler.sh
deleted file mode 100755
index 1137388ac..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,52}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas64_2e158m15_3limbs/compilerxx.sh b/src/Specific/solinas64_2e158m15_3limbs/compilerxx.sh
deleted file mode 100755
index 7ffd36d7f..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,52}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas64_2e158m15_3limbs/feadd.c b/src/Specific/solinas64_2e158m15_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_3limbs/feadd.v b/src/Specific/solinas64_2e158m15_3limbs/feadd.v
deleted file mode 100644
index ff07bbc36..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.v
deleted file mode 100644
index ff85c5dd9..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fecarry.v b/src/Specific/solinas64_2e158m15_3limbs/fecarry.v
deleted file mode 100644
index 55205b9e4..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e158m15_3limbs/fecarryDisplay.v
deleted file mode 100644
index c5267b88c..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e158m15_3limbs/femul.c b/src/Specific/solinas64_2e158m15_3limbs/femul.c
deleted file mode 100644
index f45007cd1..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0xf * (0x2 * ((uint128_t)x6 * x10))));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0xf * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x35);
- { uint64_t x16 = ((uint64_t)x14 & 0x1fffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x35);
- { uint64_t x19 = ((uint64_t)x17 & 0x1fffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x34);
- { uint64_t x22 = ((uint64_t)x20 & 0xfffffffffffff);
- { uint64_t x23 = (x16 + (0xf * x21));
- { uint64_t x24 = (x23 >> 0x35);
- { uint64_t x25 = (x23 & 0x1fffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x35);
- { uint64_t x28 = (x26 & 0x1fffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_3limbs/femul.v b/src/Specific/solinas64_2e158m15_3limbs/femul.v
deleted file mode 100644
index 7f070ee75..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/femulDisplay.log b/src/Specific/solinas64_2e158m15_3limbs/femulDisplay.log
deleted file mode 100644
index f6e415238..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0xf * (0x2 * ((uint128_t)x6 * x10))));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0xf * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- uint64_t x15 = (uint64_t) (x14 >> 0x35);
- uint64_t x16 = ((uint64_t)x14 & 0x1fffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x35);
- uint64_t x19 = ((uint64_t)x17 & 0x1fffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x34);
- uint64_t x22 = ((uint64_t)x20 & 0xfffffffffffff);
- uint64_t x23 = (x16 + (0xf * x21));
- uint64_t x24 = (x23 >> 0x35);
- uint64_t x25 = (x23 & 0x1fffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x35);
- uint64_t x28 = (x26 & 0x1fffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_3limbs/femulDisplay.v b/src/Specific/solinas64_2e158m15_3limbs/femulDisplay.v
deleted file mode 100644
index b6c590207..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fesquare.c b/src/Specific/solinas64_2e158m15_3limbs/fesquare.c
deleted file mode 100644
index 96cd9d1bc..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (0x2 * ((uint128_t)x3 * x3))));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x35);
- { uint64_t x9 = ((uint64_t)x7 & 0x1fffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x35);
- { uint64_t x12 = ((uint64_t)x10 & 0x1fffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x34);
- { uint64_t x15 = ((uint64_t)x13 & 0xfffffffffffff);
- { uint64_t x16 = (x9 + (0xf * x14));
- { uint64_t x17 = (x16 >> 0x35);
- { uint64_t x18 = (x16 & 0x1fffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x35);
- { uint64_t x21 = (x19 & 0x1fffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fesquare.v b/src/Specific/solinas64_2e158m15_3limbs/fesquare.v
deleted file mode 100644
index 776e4ba4c..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.log
deleted file mode 100644
index 003397707..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (0x2 * ((uint128_t)x3 * x3))));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- uint64_t x8 = (uint64_t) (x7 >> 0x35);
- uint64_t x9 = ((uint64_t)x7 & 0x1fffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x35);
- uint64_t x12 = ((uint64_t)x10 & 0x1fffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x34);
- uint64_t x15 = ((uint64_t)x13 & 0xfffffffffffff);
- uint64_t x16 = (x9 + (0xf * x14));
- uint64_t x17 = (x16 >> 0x35);
- uint64_t x18 = (x16 & 0x1fffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x35);
- uint64_t x21 = (x19 & 0x1fffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.v
deleted file mode 100644
index 7e2b0aeed..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fesub.c b/src/Specific/solinas64_2e158m15_3limbs/fesub.c
deleted file mode 100644
index 54d3f502f..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x3fffffffffffe2 + x5) - x9);
- out[1] = ((0x3ffffffffffffe + x7) - x11);
- out[2] = ((0x1ffffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fesub.v b/src/Specific/solinas64_2e158m15_3limbs/fesub.v
deleted file mode 100644
index 6df1c169a..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.log
deleted file mode 100644
index 05695579b..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x1ffffffffffffe + x6) - x10), ((0x3ffffffffffffe + x7) - x11), ((0x3fffffffffffe2 + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.v
deleted file mode 100644
index 81f92d6a8..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e158m15_3limbs/freeze.c b/src/Specific/solinas64_2e158m15_3limbs/freeze.c
deleted file mode 100644
index d6722b135..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffff1);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x1fffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0xfffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x1ffffffffffff1);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x1fffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0xfffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_3limbs/freeze.v b/src/Specific/solinas64_2e158m15_3limbs/freeze.v
deleted file mode 100644
index 33ba9bb68..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.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/solinas64_2e158m15_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.log
deleted file mode 100644
index 4345bf25c..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffff1);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x1fffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0xfffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x1ffffffffffff1);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x1fffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0xfffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.v
deleted file mode 100644
index c5ffd962d..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e158m15_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e158m15_3limbs/py_interpreter.sh
deleted file mode 100755
index 9ff818a21..000000000
--- a/src/Specific/solinas64_2e158m15_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**158 - 15' -Dmodulus_bytes='52 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e158m15_4limbs/CurveParameters.v b/src/Specific/solinas64_2e158m15_4limbs/CurveParameters.v
deleted file mode 100644
index 87d0e02c0..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^158 - 15
-Base: 39.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 39 + 1/2;
- bitwidth := 64;
- s := 2^158;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e158m15_4limbs/Synthesis.v b/src/Specific/solinas64_2e158m15_4limbs/Synthesis.v
deleted file mode 100644
index 8035cc65d..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/compiler.sh b/src/Specific/solinas64_2e158m15_4limbs/compiler.sh
deleted file mode 100755
index 1ca4ef4c3..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas64_2e158m15_4limbs/compilerxx.sh b/src/Specific/solinas64_2e158m15_4limbs/compilerxx.sh
deleted file mode 100755
index 6278f76f6..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='20' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<158) - 15' "$@"
diff --git a/src/Specific/solinas64_2e158m15_4limbs/feadd.c b/src/Specific/solinas64_2e158m15_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_4limbs/feadd.v b/src/Specific/solinas64_2e158m15_4limbs/feadd.v
deleted file mode 100644
index e4b02d87d..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.v
deleted file mode 100644
index c79a985de..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fecarry.v b/src/Specific/solinas64_2e158m15_4limbs/fecarry.v
deleted file mode 100644
index 6926e84a3..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e158m15_4limbs/fecarryDisplay.v
deleted file mode 100644
index 477408839..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e158m15_4limbs/femul.c b/src/Specific/solinas64_2e158m15_4limbs/femul.c
deleted file mode 100644
index 6511a391c..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0xf * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xf * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0xf * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x28);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x27);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x28);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x27);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffff);
- { uint64_t x31 = (x21 + (0xf * x29));
- { uint64_t x32 = (x31 >> 0x28);
- { uint64_t x33 = (x31 & 0xffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x27);
- { uint64_t x36 = (x34 & 0x7fffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_4limbs/femul.v b/src/Specific/solinas64_2e158m15_4limbs/femul.v
deleted file mode 100644
index 20ecef8b5..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/femulDisplay.log b/src/Specific/solinas64_2e158m15_4limbs/femulDisplay.log
deleted file mode 100644
index 2f2b6fd68..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0xf * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xf * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0xf * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x28);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x27);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x28);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x27);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffff);
- uint64_t x31 = (x21 + (0xf * x29));
- uint64_t x32 = (x31 >> 0x28);
- uint64_t x33 = (x31 & 0xffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x27);
- uint64_t x36 = (x34 & 0x7fffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_4limbs/femulDisplay.v b/src/Specific/solinas64_2e158m15_4limbs/femulDisplay.v
deleted file mode 100644
index 38ed58985..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fesquare.c b/src/Specific/solinas64_2e158m15_4limbs/fesquare.c
deleted file mode 100644
index 7cce9e8d1..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x28);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x27);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x28);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x27);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- { uint64_t x22 = (x12 + (0xf * x20));
- { uint64_t x23 = (x22 >> 0x28);
- { uint64_t x24 = (x22 & 0xffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x27);
- { uint64_t x27 = (x25 & 0x7fffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fesquare.v b/src/Specific/solinas64_2e158m15_4limbs/fesquare.v
deleted file mode 100644
index b1647f64f..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.log
deleted file mode 100644
index feb176a80..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x28);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x27);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x28);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x27);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- uint64_t x22 = (x12 + (0xf * x20));
- uint64_t x23 = (x22 >> 0x28);
- uint64_t x24 = (x22 & 0xffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x27);
- uint64_t x27 = (x25 & 0x7fffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.v
deleted file mode 100644
index 18c1fa9b5..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fesub.c b/src/Specific/solinas64_2e158m15_4limbs/fesub.c
deleted file mode 100644
index e1a505bac..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffe2 + x5) - x11);
- out[1] = ((0xfffffffffe + x7) - x13);
- out[2] = ((0x1fffffffffe + x9) - x15);
- out[3] = ((0xfffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fesub.v b/src/Specific/solinas64_2e158m15_4limbs/fesub.v
deleted file mode 100644
index c50d336b1..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.log
deleted file mode 100644
index 3c4c7efb2..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xfffffffffe + x8) - x14), ((0x1fffffffffe + x9) - x15), ((0xfffffffffe + x7) - x13), ((0x1ffffffffe2 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.v
deleted file mode 100644
index 0a5ab6cb3..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e158m15_4limbs/freeze.c b/src/Specific/solinas64_2e158m15_4limbs/freeze.c
deleted file mode 100644
index b93e29773..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffff1);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffff1);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7fffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7fffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e158m15_4limbs/freeze.v b/src/Specific/solinas64_2e158m15_4limbs/freeze.v
deleted file mode 100644
index 6488850b8..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.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/solinas64_2e158m15_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.log
deleted file mode 100644
index 2c532f3eb..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffff1);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffff1);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7fffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7fffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.v
deleted file mode 100644
index 85e1e3fdf..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e158m15_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e158m15_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e158m15_4limbs/py_interpreter.sh
deleted file mode 100755
index 62d315db0..000000000
--- a/src/Specific/solinas64_2e158m15_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**158 - 15' -Dmodulus_bytes='39.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e165m25_3limbs/CurveParameters.v b/src/Specific/solinas64_2e165m25_3limbs/CurveParameters.v
deleted file mode 100644
index bbdb16a2c..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^165 - 25
-Base: 55
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 55;
- bitwidth := 64;
- s := 2^165;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e165m25_3limbs/Synthesis.v b/src/Specific/solinas64_2e165m25_3limbs/Synthesis.v
deleted file mode 100644
index e079796f2..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/compiler.sh b/src/Specific/solinas64_2e165m25_3limbs/compiler.sh
deleted file mode 100755
index 465a255fe..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas64_2e165m25_3limbs/compilerxx.sh b/src/Specific/solinas64_2e165m25_3limbs/compilerxx.sh
deleted file mode 100755
index c39d65161..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas64_2e165m25_3limbs/feadd.c b/src/Specific/solinas64_2e165m25_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_3limbs/feadd.v b/src/Specific/solinas64_2e165m25_3limbs/feadd.v
deleted file mode 100644
index d5ef4cfca..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.v
deleted file mode 100644
index ffe7f597e..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fecarry.v b/src/Specific/solinas64_2e165m25_3limbs/fecarry.v
deleted file mode 100644
index 460a93c33..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e165m25_3limbs/fecarryDisplay.v
deleted file mode 100644
index 556a3d4f5..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e165m25_3limbs/femul.c b/src/Specific/solinas64_2e165m25_3limbs/femul.c
deleted file mode 100644
index 79b5c48a0..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x19 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x19 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint128_t x15 = (x14 >> 0x37);
- { uint64_t x16 = ((uint64_t)x14 & 0x7fffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x37);
- { uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x37);
- { uint64_t x22 = ((uint64_t)x20 & 0x7fffffffffffff);
- { uint128_t x23 = (x16 + ((uint128_t)0x19 * x21));
- { uint64_t x24 = (uint64_t) (x23 >> 0x37);
- { uint64_t x25 = ((uint64_t)x23 & 0x7fffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x37);
- { uint64_t x28 = (x26 & 0x7fffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_3limbs/femul.v b/src/Specific/solinas64_2e165m25_3limbs/femul.v
deleted file mode 100644
index dfd305ef6..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/femulDisplay.log b/src/Specific/solinas64_2e165m25_3limbs/femulDisplay.log
deleted file mode 100644
index f31c56e57..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x19 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x19 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint128_t x15 = (x14 >> 0x37);
- uint64_t x16 = ((uint64_t)x14 & 0x7fffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x37);
- uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x37);
- uint64_t x22 = ((uint64_t)x20 & 0x7fffffffffffff);
- uint128_t x23 = (x16 + ((uint128_t)0x19 * x21));
- uint64_t x24 = (uint64_t) (x23 >> 0x37);
- uint64_t x25 = ((uint64_t)x23 & 0x7fffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x37);
- uint64_t x28 = (x26 & 0x7fffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_3limbs/femulDisplay.v b/src/Specific/solinas64_2e165m25_3limbs/femulDisplay.v
deleted file mode 100644
index 1df6d0e7d..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fesquare.c b/src/Specific/solinas64_2e165m25_3limbs/fesquare.c
deleted file mode 100644
index 4920e64b1..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x19 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint128_t x8 = (x7 >> 0x37);
- { uint64_t x9 = ((uint64_t)x7 & 0x7fffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x37);
- { uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x37);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- { uint128_t x16 = (x9 + ((uint128_t)0x19 * x14));
- { uint64_t x17 = (uint64_t) (x16 >> 0x37);
- { uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x37);
- { uint64_t x21 = (x19 & 0x7fffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fesquare.v b/src/Specific/solinas64_2e165m25_3limbs/fesquare.v
deleted file mode 100644
index d3ad7698a..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.log
deleted file mode 100644
index 665752d95..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x19 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint128_t x8 = (x7 >> 0x37);
- uint64_t x9 = ((uint64_t)x7 & 0x7fffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x37);
- uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x37);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- uint128_t x16 = (x9 + ((uint128_t)0x19 * x14));
- uint64_t x17 = (uint64_t) (x16 >> 0x37);
- uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x37);
- uint64_t x21 = (x19 & 0x7fffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.v
deleted file mode 100644
index 3a6d84e39..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fesub.c b/src/Specific/solinas64_2e165m25_3limbs/fesub.c
deleted file mode 100644
index dda19b667..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0xffffffffffffce + x5) - x9);
- out[1] = ((0xfffffffffffffe + x7) - x11);
- out[2] = ((0xfffffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fesub.v b/src/Specific/solinas64_2e165m25_3limbs/fesub.v
deleted file mode 100644
index e6697de6c..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.log
deleted file mode 100644
index 8e2ee812b..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0xfffffffffffffe + x6) - x10), ((0xfffffffffffffe + x7) - x11), ((0xffffffffffffce + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.v
deleted file mode 100644
index a21b3b919..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e165m25_3limbs/freeze.c b/src/Specific/solinas64_2e165m25_3limbs/freeze.c
deleted file mode 100644
index 6cdc223df..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe7);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7fffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x7fffffffffffe7);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x7fffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x7fffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_3limbs/freeze.v b/src/Specific/solinas64_2e165m25_3limbs/freeze.v
deleted file mode 100644
index abea32921..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.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/solinas64_2e165m25_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.log
deleted file mode 100644
index f056ae1bd..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe7);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7fffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x7fffffffffffe7);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x7fffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x7fffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.v
deleted file mode 100644
index 5b31a0184..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e165m25_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e165m25_3limbs/py_interpreter.sh
deleted file mode 100755
index 49af9f37e..000000000
--- a/src/Specific/solinas64_2e165m25_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**165 - 25' -Dmodulus_bytes='55' -Da24='121665'
diff --git a/src/Specific/solinas64_2e165m25_4limbs/CurveParameters.v b/src/Specific/solinas64_2e165m25_4limbs/CurveParameters.v
deleted file mode 100644
index a512437c1..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^165 - 25
-Base: 41.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 41 + 1/4;
- bitwidth := 64;
- s := 2^165;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e165m25_4limbs/Synthesis.v b/src/Specific/solinas64_2e165m25_4limbs/Synthesis.v
deleted file mode 100644
index 1b9b73f6b..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/compiler.sh b/src/Specific/solinas64_2e165m25_4limbs/compiler.sh
deleted file mode 100755
index 7ee7be922..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas64_2e165m25_4limbs/compilerxx.sh b/src/Specific/solinas64_2e165m25_4limbs/compilerxx.sh
deleted file mode 100755
index 4425d45ac..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<165) - 25' "$@"
diff --git a/src/Specific/solinas64_2e165m25_4limbs/feadd.c b/src/Specific/solinas64_2e165m25_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_4limbs/feadd.v b/src/Specific/solinas64_2e165m25_4limbs/feadd.v
deleted file mode 100644
index 7f8a1e110..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.v
deleted file mode 100644
index f16e5b646..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fecarry.v b/src/Specific/solinas64_2e165m25_4limbs/fecarry.v
deleted file mode 100644
index c1570c937..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e165m25_4limbs/fecarryDisplay.v
deleted file mode 100644
index 856cfce33..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e165m25_4limbs/femul.c b/src/Specific/solinas64_2e165m25_4limbs/femul.c
deleted file mode 100644
index eb46e62e4..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x19 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x19 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x19 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x29);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x29);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x29);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffff);
- { uint64_t x31 = (x21 + (0x19 * x29));
- { uint64_t x32 = (x31 >> 0x2a);
- { uint64_t x33 = (x31 & 0x3ffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x29);
- { uint64_t x36 = (x34 & 0x1ffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_4limbs/femul.v b/src/Specific/solinas64_2e165m25_4limbs/femul.v
deleted file mode 100644
index 9f468f53c..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/femulDisplay.log b/src/Specific/solinas64_2e165m25_4limbs/femulDisplay.log
deleted file mode 100644
index e650d5665..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x19 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x19 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x19 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x29);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x29);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x29);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffff);
- uint64_t x31 = (x21 + (0x19 * x29));
- uint64_t x32 = (x31 >> 0x2a);
- uint64_t x33 = (x31 & 0x3ffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x29);
- uint64_t x36 = (x34 & 0x1ffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_4limbs/femulDisplay.v b/src/Specific/solinas64_2e165m25_4limbs/femulDisplay.v
deleted file mode 100644
index 8628f24bd..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fesquare.c b/src/Specific/solinas64_2e165m25_4limbs/fesquare.c
deleted file mode 100644
index 3dedc6a45..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x2a);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x29);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x29);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x29);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffff);
- { uint64_t x22 = (x12 + (0x19 * x20));
- { uint64_t x23 = (x22 >> 0x2a);
- { uint64_t x24 = (x22 & 0x3ffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x29);
- { uint64_t x27 = (x25 & 0x1ffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fesquare.v b/src/Specific/solinas64_2e165m25_4limbs/fesquare.v
deleted file mode 100644
index 0311bb93a..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.log
deleted file mode 100644
index e7b39f416..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x2a);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x29);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x29);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x29);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffff);
- uint64_t x22 = (x12 + (0x19 * x20));
- uint64_t x23 = (x22 >> 0x2a);
- uint64_t x24 = (x22 & 0x3ffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x29);
- uint64_t x27 = (x25 & 0x1ffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.v
deleted file mode 100644
index 190f67f03..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fesub.c b/src/Specific/solinas64_2e165m25_4limbs/fesub.c
deleted file mode 100644
index 5f0e809c0..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffffce + x5) - x11);
- out[1] = ((0x3fffffffffe + x7) - x13);
- out[2] = ((0x3fffffffffe + x9) - x15);
- out[3] = ((0x3fffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fesub.v b/src/Specific/solinas64_2e165m25_4limbs/fesub.v
deleted file mode 100644
index f61b0b2ee..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.log
deleted file mode 100644
index e29d33fc2..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3fffffffffe + x8) - x14), ((0x3fffffffffe + x9) - x15), ((0x3fffffffffe + x7) - x13), ((0x7ffffffffce + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.v
deleted file mode 100644
index 8363410c9..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e165m25_4limbs/freeze.c b/src/Specific/solinas64_2e165m25_4limbs/freeze.c
deleted file mode 100644
index 62d62321c..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffe7);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3ffffffffe7);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1ffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1ffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1ffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e165m25_4limbs/freeze.v b/src/Specific/solinas64_2e165m25_4limbs/freeze.v
deleted file mode 100644
index 0442a65f9..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.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/solinas64_2e165m25_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.log
deleted file mode 100644
index f8d33f9a0..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffe7);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3ffffffffe7);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1ffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1ffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1ffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.v
deleted file mode 100644
index be3a2ef3d..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e165m25_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e165m25_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e165m25_4limbs/py_interpreter.sh
deleted file mode 100755
index c87dc1fb1..000000000
--- a/src/Specific/solinas64_2e165m25_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**165 - 25' -Dmodulus_bytes='41.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e166m5_3limbs/CurveParameters.v b/src/Specific/solinas64_2e166m5_3limbs/CurveParameters.v
deleted file mode 100644
index ef48bf342..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^166 - 5
-Base: 55 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 55 + 1/3;
- bitwidth := 64;
- s := 2^166;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e166m5_3limbs/Synthesis.v b/src/Specific/solinas64_2e166m5_3limbs/Synthesis.v
deleted file mode 100644
index d968fb316..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/compiler.sh b/src/Specific/solinas64_2e166m5_3limbs/compiler.sh
deleted file mode 100755
index 75423dd75..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas64_2e166m5_3limbs/compilerxx.sh b/src/Specific/solinas64_2e166m5_3limbs/compilerxx.sh
deleted file mode 100755
index 52f7d2605..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,55,55}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas64_2e166m5_3limbs/feadd.c b/src/Specific/solinas64_2e166m5_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_3limbs/feadd.v b/src/Specific/solinas64_2e166m5_3limbs/feadd.v
deleted file mode 100644
index b10115342..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.v
deleted file mode 100644
index 49248c3c5..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fecarry.v b/src/Specific/solinas64_2e166m5_3limbs/fecarry.v
deleted file mode 100644
index dac3235f9..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e166m5_3limbs/fecarryDisplay.v
deleted file mode 100644
index 90f605e68..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e166m5_3limbs/femul.c b/src/Specific/solinas64_2e166m5_3limbs/femul.c
deleted file mode 100644
index dc6d5fea4..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + ((0x2 * ((uint128_t)x7 * x11)) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x5 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x5 * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- { uint64_t x15 = (uint64_t) (x14 >> 0x38);
- { uint64_t x16 = ((uint64_t)x14 & 0xffffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x37);
- { uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x37);
- { uint64_t x22 = ((uint64_t)x20 & 0x7fffffffffffff);
- { uint64_t x23 = (x16 + (0x5 * x21));
- { uint64_t x24 = (x23 >> 0x38);
- { uint64_t x25 = (x23 & 0xffffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x37);
- { uint64_t x28 = (x26 & 0x7fffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_3limbs/femul.v b/src/Specific/solinas64_2e166m5_3limbs/femul.v
deleted file mode 100644
index a8a4bb6b7..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/femulDisplay.log b/src/Specific/solinas64_2e166m5_3limbs/femulDisplay.log
deleted file mode 100644
index 9c9995571..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + ((0x2 * ((uint128_t)x7 * x11)) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x5 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x5 * ((0x2 * ((uint128_t)x7 * x10)) + (0x2 * ((uint128_t)x6 * x11)))));
- uint64_t x15 = (uint64_t) (x14 >> 0x38);
- uint64_t x16 = ((uint64_t)x14 & 0xffffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x37);
- uint64_t x19 = ((uint64_t)x17 & 0x7fffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x37);
- uint64_t x22 = ((uint64_t)x20 & 0x7fffffffffffff);
- uint64_t x23 = (x16 + (0x5 * x21));
- uint64_t x24 = (x23 >> 0x38);
- uint64_t x25 = (x23 & 0xffffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x37);
- uint64_t x28 = (x26 & 0x7fffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_3limbs/femulDisplay.v b/src/Specific/solinas64_2e166m5_3limbs/femulDisplay.v
deleted file mode 100644
index b61272cfc..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fesquare.c b/src/Specific/solinas64_2e166m5_3limbs/fesquare.c
deleted file mode 100644
index ba2f12c7e..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- { uint64_t x8 = (uint64_t) (x7 >> 0x38);
- { uint64_t x9 = ((uint64_t)x7 & 0xffffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x37);
- { uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x37);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- { uint64_t x16 = (x9 + (0x5 * x14));
- { uint64_t x17 = (x16 >> 0x38);
- { uint64_t x18 = (x16 & 0xffffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x37);
- { uint64_t x21 = (x19 & 0x7fffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fesquare.v b/src/Specific/solinas64_2e166m5_3limbs/fesquare.v
deleted file mode 100644
index 7fad865e2..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.log
deleted file mode 100644
index 6166583b5..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x3)) + (0x2 * ((uint128_t)x3 * x4)))));
- uint64_t x8 = (uint64_t) (x7 >> 0x38);
- uint64_t x9 = ((uint64_t)x7 & 0xffffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x37);
- uint64_t x12 = ((uint64_t)x10 & 0x7fffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x37);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- uint64_t x16 = (x9 + (0x5 * x14));
- uint64_t x17 = (x16 >> 0x38);
- uint64_t x18 = (x16 & 0xffffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x37);
- uint64_t x21 = (x19 & 0x7fffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.v
deleted file mode 100644
index 3d6f4b272..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fesub.c b/src/Specific/solinas64_2e166m5_3limbs/fesub.c
deleted file mode 100644
index f915e3d1a..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x1fffffffffffff6 + x5) - x9);
- out[1] = ((0xfffffffffffffe + x7) - x11);
- out[2] = ((0xfffffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fesub.v b/src/Specific/solinas64_2e166m5_3limbs/fesub.v
deleted file mode 100644
index 9cd6f4045..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.log
deleted file mode 100644
index 3b42dfd84..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0xfffffffffffffe + x6) - x10), ((0xfffffffffffffe + x7) - x11), ((0x1fffffffffffff6 + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.v
deleted file mode 100644
index a6548ff36..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e166m5_3limbs/freeze.c b/src/Specific/solinas64_2e166m5_3limbs/freeze.c
deleted file mode 100644
index 039a7e77a..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffb);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7fffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0xfffffffffffffb);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x7fffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x7fffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_3limbs/freeze.v b/src/Specific/solinas64_2e166m5_3limbs/freeze.v
deleted file mode 100644
index 9c1ded2d4..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.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/solinas64_2e166m5_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.log
deleted file mode 100644
index 49424f528..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffb);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x7fffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x7fffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0xfffffffffffffb);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x7fffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x7fffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.v
deleted file mode 100644
index bfa6ca732..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e166m5_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e166m5_3limbs/py_interpreter.sh
deleted file mode 100755
index 67e44b9bc..000000000
--- a/src/Specific/solinas64_2e166m5_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**166 - 5' -Dmodulus_bytes='55 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e166m5_4limbs/CurveParameters.v b/src/Specific/solinas64_2e166m5_4limbs/CurveParameters.v
deleted file mode 100644
index b2b8749d7..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^166 - 5
-Base: 41.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 41 + 1/2;
- bitwidth := 64;
- s := 2^166;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e166m5_4limbs/Synthesis.v b/src/Specific/solinas64_2e166m5_4limbs/Synthesis.v
deleted file mode 100644
index c20690c14..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/compiler.sh b/src/Specific/solinas64_2e166m5_4limbs/compiler.sh
deleted file mode 100755
index db2410645..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,42,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas64_2e166m5_4limbs/compilerxx.sh b/src/Specific/solinas64_2e166m5_4limbs/compilerxx.sh
deleted file mode 100755
index 9b2e66138..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,42,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='21' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<166) - 5' "$@"
diff --git a/src/Specific/solinas64_2e166m5_4limbs/feadd.c b/src/Specific/solinas64_2e166m5_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_4limbs/feadd.v b/src/Specific/solinas64_2e166m5_4limbs/feadd.v
deleted file mode 100644
index 4ee96ba1c..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.v
deleted file mode 100644
index 4b1e53dea..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fecarry.v b/src/Specific/solinas64_2e166m5_4limbs/fecarry.v
deleted file mode 100644
index 0d1436e82..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e166m5_4limbs/fecarryDisplay.v
deleted file mode 100644
index 4586eab8b..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e166m5_4limbs/femul.c b/src/Specific/solinas64_2e166m5_4limbs/femul.c
deleted file mode 100644
index e67a4208e..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x29);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x29);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffff);
- { uint64_t x31 = (x21 + (0x5 * x29));
- { uint64_t x32 = (x31 >> 0x2a);
- { uint64_t x33 = (x31 & 0x3ffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x29);
- { uint64_t x36 = (x34 & 0x1ffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_4limbs/femul.v b/src/Specific/solinas64_2e166m5_4limbs/femul.v
deleted file mode 100644
index 3c08c48a4..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/femulDisplay.log b/src/Specific/solinas64_2e166m5_4limbs/femulDisplay.log
deleted file mode 100644
index 72130bf4c..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x29);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x29);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffff);
- uint64_t x31 = (x21 + (0x5 * x29));
- uint64_t x32 = (x31 >> 0x2a);
- uint64_t x33 = (x31 & 0x3ffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x29);
- uint64_t x36 = (x34 & 0x1ffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_4limbs/femulDisplay.v b/src/Specific/solinas64_2e166m5_4limbs/femulDisplay.v
deleted file mode 100644
index 1a3ff99d8..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fesquare.c b/src/Specific/solinas64_2e166m5_4limbs/fesquare.c
deleted file mode 100644
index b122963ff..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x2a);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x29);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x29);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffff);
- { uint64_t x22 = (x12 + (0x5 * x20));
- { uint64_t x23 = (x22 >> 0x2a);
- { uint64_t x24 = (x22 & 0x3ffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x29);
- { uint64_t x27 = (x25 & 0x1ffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fesquare.v b/src/Specific/solinas64_2e166m5_4limbs/fesquare.v
deleted file mode 100644
index a321b15f3..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.log
deleted file mode 100644
index 812ab2270..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x2a);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x29);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x2a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x29);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffff);
- uint64_t x22 = (x12 + (0x5 * x20));
- uint64_t x23 = (x22 >> 0x2a);
- uint64_t x24 = (x22 & 0x3ffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x29);
- uint64_t x27 = (x25 & 0x1ffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.v
deleted file mode 100644
index c24c2da9e..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fesub.c b/src/Specific/solinas64_2e166m5_4limbs/fesub.c
deleted file mode 100644
index 8031982a5..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7fffffffff6 + x5) - x11);
- out[1] = ((0x3fffffffffe + x7) - x13);
- out[2] = ((0x7fffffffffe + x9) - x15);
- out[3] = ((0x3fffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fesub.v b/src/Specific/solinas64_2e166m5_4limbs/fesub.v
deleted file mode 100644
index 428c2c77c..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.log
deleted file mode 100644
index 81b67f3d0..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3fffffffffe + x8) - x14), ((0x7fffffffffe + x9) - x15), ((0x3fffffffffe + x7) - x13), ((0x7fffffffff6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.v
deleted file mode 100644
index c07a76bd9..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e166m5_4limbs/freeze.c b/src/Specific/solinas64_2e166m5_4limbs/freeze.c
deleted file mode 100644
index d977b09c8..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffb);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3fffffffffb);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1ffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3ffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1ffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e166m5_4limbs/freeze.v b/src/Specific/solinas64_2e166m5_4limbs/freeze.v
deleted file mode 100644
index bc5a899a8..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.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/solinas64_2e166m5_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.log
deleted file mode 100644
index 4bd7ef98e..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffb);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3fffffffffb);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1ffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3ffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1ffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.v
deleted file mode 100644
index 902335747..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e166m5_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e166m5_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e166m5_4limbs/py_interpreter.sh
deleted file mode 100755
index b58c5d35e..000000000
--- a/src/Specific/solinas64_2e166m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**166 - 5' -Dmodulus_bytes='41.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e171m19_3limbs/CurveParameters.v b/src/Specific/solinas64_2e171m19_3limbs/CurveParameters.v
deleted file mode 100644
index ff1df7e1c..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^171 - 19
-Base: 57
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 57;
- bitwidth := 64;
- s := 2^171;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e171m19_3limbs/Synthesis.v b/src/Specific/solinas64_2e171m19_3limbs/Synthesis.v
deleted file mode 100644
index b2174da68..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/compiler.sh b/src/Specific/solinas64_2e171m19_3limbs/compiler.sh
deleted file mode 100755
index 4c44739d8..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas64_2e171m19_3limbs/compilerxx.sh b/src/Specific/solinas64_2e171m19_3limbs/compilerxx.sh
deleted file mode 100755
index 8588dfba0..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas64_2e171m19_3limbs/feadd.c b/src/Specific/solinas64_2e171m19_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_3limbs/feadd.v b/src/Specific/solinas64_2e171m19_3limbs/feadd.v
deleted file mode 100644
index 797dcf901..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.v
deleted file mode 100644
index d330cdae5..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fecarry.v b/src/Specific/solinas64_2e171m19_3limbs/fecarry.v
deleted file mode 100644
index 84c21ab90..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e171m19_3limbs/fecarryDisplay.v
deleted file mode 100644
index 0844615a0..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e171m19_3limbs/femul.c b/src/Specific/solinas64_2e171m19_3limbs/femul.c
deleted file mode 100644
index fef824bff..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x13 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x13 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint128_t x15 = (x14 >> 0x39);
- { uint64_t x16 = ((uint64_t)x14 & 0x1ffffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint128_t x18 = (x17 >> 0x39);
- { uint64_t x19 = ((uint64_t)x17 & 0x1ffffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x39);
- { uint64_t x22 = ((uint64_t)x20 & 0x1ffffffffffffff);
- { uint128_t x23 = (x16 + ((uint128_t)0x13 * x21));
- { uint64_t x24 = (uint64_t) (x23 >> 0x39);
- { uint64_t x25 = ((uint64_t)x23 & 0x1ffffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x39);
- { uint64_t x28 = (x26 & 0x1ffffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_3limbs/femul.v b/src/Specific/solinas64_2e171m19_3limbs/femul.v
deleted file mode 100644
index 35b7a0bf5..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/femulDisplay.log b/src/Specific/solinas64_2e171m19_3limbs/femulDisplay.log
deleted file mode 100644
index 277ffffec..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x13 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x13 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint128_t x15 = (x14 >> 0x39);
- uint64_t x16 = ((uint64_t)x14 & 0x1ffffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint128_t x18 = (x17 >> 0x39);
- uint64_t x19 = ((uint64_t)x17 & 0x1ffffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x39);
- uint64_t x22 = ((uint64_t)x20 & 0x1ffffffffffffff);
- uint128_t x23 = (x16 + ((uint128_t)0x13 * x21));
- uint64_t x24 = (uint64_t) (x23 >> 0x39);
- uint64_t x25 = ((uint64_t)x23 & 0x1ffffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x39);
- uint64_t x28 = (x26 & 0x1ffffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_3limbs/femulDisplay.v b/src/Specific/solinas64_2e171m19_3limbs/femulDisplay.v
deleted file mode 100644
index dca1b1d75..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fesquare.c b/src/Specific/solinas64_2e171m19_3limbs/fesquare.c
deleted file mode 100644
index baf29c300..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x13 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint128_t x8 = (x7 >> 0x39);
- { uint64_t x9 = ((uint64_t)x7 & 0x1ffffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint128_t x11 = (x10 >> 0x39);
- { uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x39);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffffff);
- { uint128_t x16 = (x9 + ((uint128_t)0x13 * x14));
- { uint64_t x17 = (uint64_t) (x16 >> 0x39);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x39);
- { uint64_t x21 = (x19 & 0x1ffffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fesquare.v b/src/Specific/solinas64_2e171m19_3limbs/fesquare.v
deleted file mode 100644
index e461316ab..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.log
deleted file mode 100644
index ed72eaa4d..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x13 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint128_t x8 = (x7 >> 0x39);
- uint64_t x9 = ((uint64_t)x7 & 0x1ffffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint128_t x11 = (x10 >> 0x39);
- uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x39);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffffff);
- uint128_t x16 = (x9 + ((uint128_t)0x13 * x14));
- uint64_t x17 = (uint64_t) (x16 >> 0x39);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x39);
- uint64_t x21 = (x19 & 0x1ffffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.v
deleted file mode 100644
index 99f957f1b..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fesub.c b/src/Specific/solinas64_2e171m19_3limbs/fesub.c
deleted file mode 100644
index 060449697..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x3ffffffffffffda + x5) - x9);
- out[1] = ((0x3fffffffffffffe + x7) - x11);
- out[2] = ((0x3fffffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fesub.v b/src/Specific/solinas64_2e171m19_3limbs/fesub.v
deleted file mode 100644
index 4738ba6ec..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.log
deleted file mode 100644
index c6120f7d9..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x3fffffffffffffe + x6) - x10), ((0x3fffffffffffffe + x7) - x11), ((0x3ffffffffffffda + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.v
deleted file mode 100644
index bcbb177f7..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e171m19_3limbs/freeze.c b/src/Specific/solinas64_2e171m19_3limbs/freeze.c
deleted file mode 100644
index 4dfecb1df..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffffed);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x1ffffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x1ffffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x1ffffffffffffed);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x1ffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x1ffffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_3limbs/freeze.v b/src/Specific/solinas64_2e171m19_3limbs/freeze.v
deleted file mode 100644
index a13f33f6d..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.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/solinas64_2e171m19_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.log
deleted file mode 100644
index 95f2aa18b..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffffed);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x1ffffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x1ffffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x1ffffffffffffed);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x1ffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x1ffffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.v
deleted file mode 100644
index aef384b19..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e171m19_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e171m19_3limbs/py_interpreter.sh
deleted file mode 100755
index a58798c98..000000000
--- a/src/Specific/solinas64_2e171m19_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**171 - 19' -Dmodulus_bytes='57' -Da24='121665'
diff --git a/src/Specific/solinas64_2e171m19_4limbs/CurveParameters.v b/src/Specific/solinas64_2e171m19_4limbs/CurveParameters.v
deleted file mode 100644
index 25031ab9f..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^171 - 19
-Base: 42.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 42 + 3/4;
- bitwidth := 64;
- s := 2^171;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e171m19_4limbs/Synthesis.v b/src/Specific/solinas64_2e171m19_4limbs/Synthesis.v
deleted file mode 100644
index 67e5c1c42..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/compiler.sh b/src/Specific/solinas64_2e171m19_4limbs/compiler.sh
deleted file mode 100755
index 653ecde0a..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43,42}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas64_2e171m19_4limbs/compilerxx.sh b/src/Specific/solinas64_2e171m19_4limbs/compilerxx.sh
deleted file mode 100755
index 937f08fad..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,43,42}' -Dmodulus_array='{0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<171) - 19' "$@"
diff --git a/src/Specific/solinas64_2e171m19_4limbs/feadd.c b/src/Specific/solinas64_2e171m19_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_4limbs/feadd.v b/src/Specific/solinas64_2e171m19_4limbs/feadd.v
deleted file mode 100644
index 701e17c08..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.v
deleted file mode 100644
index 84df6a941..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fecarry.v b/src/Specific/solinas64_2e171m19_4limbs/fecarry.v
deleted file mode 100644
index dfcf04818..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e171m19_4limbs/fecarryDisplay.v
deleted file mode 100644
index dc2c11091..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e171m19_4limbs/femul.c b/src/Specific/solinas64_2e171m19_4limbs/femul.c
deleted file mode 100644
index 56d5a495d..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x13 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x13 * ((0x2 * ((uint128_t)x9 * x14)) + (0x2 * ((uint128_t)x8 * x15)))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x13 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2b);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2a);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffff);
- { uint64_t x31 = (x21 + (0x13 * x29));
- { uint64_t x32 = (x31 >> 0x2b);
- { uint64_t x33 = (x31 & 0x7ffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = (x34 & 0x7ffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_4limbs/femul.v b/src/Specific/solinas64_2e171m19_4limbs/femul.v
deleted file mode 100644
index 95a5df804..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/femulDisplay.log b/src/Specific/solinas64_2e171m19_4limbs/femulDisplay.log
deleted file mode 100644
index 2798a271d..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x13 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x13 * ((0x2 * ((uint128_t)x9 * x14)) + (0x2 * ((uint128_t)x8 * x15)))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x13 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x2b);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2a);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffff);
- uint64_t x31 = (x21 + (0x13 * x29));
- uint64_t x32 = (x31 >> 0x2b);
- uint64_t x33 = (x31 & 0x7ffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x2b);
- uint64_t x36 = (x34 & 0x7ffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_4limbs/femulDisplay.v b/src/Specific/solinas64_2e171m19_4limbs/femulDisplay.v
deleted file mode 100644
index 63f162f55..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fesquare.c b/src/Specific/solinas64_2e171m19_4limbs/fesquare.c
deleted file mode 100644
index b93249592..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * ((0x2 * ((uint128_t)x6 * x5)) + (0x2 * ((uint128_t)x5 * x6)))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x2b);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint64_t x22 = (x12 + (0x13 * x20));
- { uint64_t x23 = (x22 >> 0x2b);
- { uint64_t x24 = (x22 & 0x7ffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x2b);
- { uint64_t x27 = (x25 & 0x7ffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fesquare.v b/src/Specific/solinas64_2e171m19_4limbs/fesquare.v
deleted file mode 100644
index d3261edc8..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.log
deleted file mode 100644
index 91febdd0a..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * ((0x2 * ((uint128_t)x6 * x5)) + (0x2 * ((uint128_t)x5 * x6)))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x2b);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint64_t x22 = (x12 + (0x13 * x20));
- uint64_t x23 = (x22 >> 0x2b);
- uint64_t x24 = (x22 & 0x7ffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x2b);
- uint64_t x27 = (x25 & 0x7ffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.v
deleted file mode 100644
index 5baa5d838..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fesub.c b/src/Specific/solinas64_2e171m19_4limbs/fesub.c
deleted file mode 100644
index 729b06baf..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0xfffffffffda + x5) - x11);
- out[1] = ((0xffffffffffe + x7) - x13);
- out[2] = ((0xffffffffffe + x9) - x15);
- out[3] = ((0x7fffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fesub.v b/src/Specific/solinas64_2e171m19_4limbs/fesub.v
deleted file mode 100644
index ae520f818..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.log
deleted file mode 100644
index 1773b3869..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x7fffffffffe + x8) - x14), ((0xffffffffffe + x9) - x15), ((0xffffffffffe + x7) - x13), ((0xfffffffffda + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.v
deleted file mode 100644
index f5c4ab22b..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e171m19_4limbs/freeze.c b/src/Specific/solinas64_2e171m19_4limbs/freeze.c
deleted file mode 100644
index 6a49a132b..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffed);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3ffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x7ffffffffed);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x7ffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x3ffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e171m19_4limbs/freeze.v b/src/Specific/solinas64_2e171m19_4limbs/freeze.v
deleted file mode 100644
index 9127c6b6c..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.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/solinas64_2e171m19_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.log
deleted file mode 100644
index 2ae6f68e0..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffed);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3ffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x7ffffffffed);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x7ffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x3ffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.v
deleted file mode 100644
index 790050238..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e171m19_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e171m19_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e171m19_4limbs/py_interpreter.sh
deleted file mode 100755
index 77459642b..000000000
--- a/src/Specific/solinas64_2e171m19_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**171 - 19' -Dmodulus_bytes='42.75' -Da24='121665'
diff --git a/src/Specific/solinas64_2e174m17_3limbs/CurveParameters.v b/src/Specific/solinas64_2e174m17_3limbs/CurveParameters.v
deleted file mode 100644
index 69603408a..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 17
-Base: 58
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 58;
- bitwidth := 64;
- s := 2^174;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e174m17_3limbs/Synthesis.v b/src/Specific/solinas64_2e174m17_3limbs/Synthesis.v
deleted file mode 100644
index 1a3d31b10..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/compiler.sh b/src/Specific/solinas64_2e174m17_3limbs/compiler.sh
deleted file mode 100755
index a78520075..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas64_2e174m17_3limbs/compilerxx.sh b/src/Specific/solinas64_2e174m17_3limbs/compilerxx.sh
deleted file mode 100755
index 252ea6518..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas64_2e174m17_3limbs/feadd.c b/src/Specific/solinas64_2e174m17_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_3limbs/feadd.v b/src/Specific/solinas64_2e174m17_3limbs/feadd.v
deleted file mode 100644
index 78d5104ed..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.v
deleted file mode 100644
index a5a897422..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fecarry.v b/src/Specific/solinas64_2e174m17_3limbs/fecarry.v
deleted file mode 100644
index 12c0d6fc9..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e174m17_3limbs/fecarryDisplay.v
deleted file mode 100644
index ccb00a1ee..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e174m17_3limbs/femul.c b/src/Specific/solinas64_2e174m17_3limbs/femul.c
deleted file mode 100644
index fdf07cf4c..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x11 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x11 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint128_t x15 = (x14 >> 0x3a);
- { uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint128_t x18 = (x17 >> 0x3a);
- { uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x3a);
- { uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffffff);
- { uint128_t x23 = (x16 + ((uint128_t)0x11 * x21));
- { uint64_t x24 = (uint64_t) (x23 >> 0x3a);
- { uint64_t x25 = ((uint64_t)x23 & 0x3ffffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x3a);
- { uint64_t x28 = (x26 & 0x3ffffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_3limbs/femul.v b/src/Specific/solinas64_2e174m17_3limbs/femul.v
deleted file mode 100644
index 9ba7fa4d0..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/femulDisplay.log b/src/Specific/solinas64_2e174m17_3limbs/femulDisplay.log
deleted file mode 100644
index c05cad5fe..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x11 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x11 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint128_t x15 = (x14 >> 0x3a);
- uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint128_t x18 = (x17 >> 0x3a);
- uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x3a);
- uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffffff);
- uint128_t x23 = (x16 + ((uint128_t)0x11 * x21));
- uint64_t x24 = (uint64_t) (x23 >> 0x3a);
- uint64_t x25 = ((uint64_t)x23 & 0x3ffffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x3a);
- uint64_t x28 = (x26 & 0x3ffffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_3limbs/femulDisplay.v b/src/Specific/solinas64_2e174m17_3limbs/femulDisplay.v
deleted file mode 100644
index 0c6b4ad87..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fesquare.c b/src/Specific/solinas64_2e174m17_3limbs/fesquare.c
deleted file mode 100644
index 1364215bc..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint128_t x8 = (x7 >> 0x3a);
- { uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint128_t x11 = (x10 >> 0x3a);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x3a);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffffff);
- { uint128_t x16 = (x9 + ((uint128_t)0x11 * x14));
- { uint64_t x17 = (uint64_t) (x16 >> 0x3a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x3a);
- { uint64_t x21 = (x19 & 0x3ffffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fesquare.v b/src/Specific/solinas64_2e174m17_3limbs/fesquare.v
deleted file mode 100644
index bb2e94dde..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.log
deleted file mode 100644
index 65a36812e..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint128_t x8 = (x7 >> 0x3a);
- uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint128_t x11 = (x10 >> 0x3a);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x3a);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffffff);
- uint128_t x16 = (x9 + ((uint128_t)0x11 * x14));
- uint64_t x17 = (uint64_t) (x16 >> 0x3a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x3a);
- uint64_t x21 = (x19 & 0x3ffffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.v
deleted file mode 100644
index f442e2061..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fesub.c b/src/Specific/solinas64_2e174m17_3limbs/fesub.c
deleted file mode 100644
index f81d19b57..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x7ffffffffffffde + x5) - x9);
- out[1] = ((0x7fffffffffffffe + x7) - x11);
- out[2] = ((0x7fffffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fesub.v b/src/Specific/solinas64_2e174m17_3limbs/fesub.v
deleted file mode 100644
index d18e5f8a8..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.log
deleted file mode 100644
index 747607a6c..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7fffffffffffffe + x6) - x10), ((0x7fffffffffffffe + x7) - x11), ((0x7ffffffffffffde + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.v
deleted file mode 100644
index 09d21f78c..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e174m17_3limbs/freeze.c b/src/Specific/solinas64_2e174m17_3limbs/freeze.c
deleted file mode 100644
index 7593d076d..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffef);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x3ffffffffffffef);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x3ffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x3ffffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_3limbs/freeze.v b/src/Specific/solinas64_2e174m17_3limbs/freeze.v
deleted file mode 100644
index 3f90ced5b..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.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/solinas64_2e174m17_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.log
deleted file mode 100644
index 2ae343b92..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffef);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x3ffffffffffffef);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x3ffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x3ffffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.v
deleted file mode 100644
index 1b16cfdc7..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e174m17_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e174m17_3limbs/py_interpreter.sh
deleted file mode 100755
index d584e2052..000000000
--- a/src/Specific/solinas64_2e174m17_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 17' -Dmodulus_bytes='58' -Da24='121665'
diff --git a/src/Specific/solinas64_2e174m17_4limbs/CurveParameters.v b/src/Specific/solinas64_2e174m17_4limbs/CurveParameters.v
deleted file mode 100644
index 0829abac5..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 17
-Base: 43.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 43 + 1/2;
- bitwidth := 64;
- s := 2^174;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e174m17_4limbs/Synthesis.v b/src/Specific/solinas64_2e174m17_4limbs/Synthesis.v
deleted file mode 100644
index a105384ed..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/compiler.sh b/src/Specific/solinas64_2e174m17_4limbs/compiler.sh
deleted file mode 100755
index 707829069..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas64_2e174m17_4limbs/compilerxx.sh b/src/Specific/solinas64_2e174m17_4limbs/compilerxx.sh
deleted file mode 100755
index b87a48e2f..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 17' "$@"
diff --git a/src/Specific/solinas64_2e174m17_4limbs/feadd.c b/src/Specific/solinas64_2e174m17_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_4limbs/feadd.v b/src/Specific/solinas64_2e174m17_4limbs/feadd.v
deleted file mode 100644
index 1a315edee..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.v
deleted file mode 100644
index b5a432e4e..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fecarry.v b/src/Specific/solinas64_2e174m17_4limbs/fecarry.v
deleted file mode 100644
index 4d7a92072..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e174m17_4limbs/fecarryDisplay.v
deleted file mode 100644
index 23debd19f..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e174m17_4limbs/femul.c b/src/Specific/solinas64_2e174m17_4limbs/femul.c
deleted file mode 100644
index 3e846a1be..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x11 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x11 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x11 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- { uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- { uint64_t x31 = (x21 + (0x11 * x29));
- { uint64_t x32 = (x31 >> 0x2c);
- { uint64_t x33 = (x31 & 0xfffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = (x34 & 0x7ffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_4limbs/femul.v b/src/Specific/solinas64_2e174m17_4limbs/femul.v
deleted file mode 100644
index 0d885943c..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/femulDisplay.log b/src/Specific/solinas64_2e174m17_4limbs/femulDisplay.log
deleted file mode 100644
index 3013e6022..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x11 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x11 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x11 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- uint64_t x31 = (x21 + (0x11 * x29));
- uint64_t x32 = (x31 >> 0x2c);
- uint64_t x33 = (x31 & 0xfffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x2b);
- uint64_t x36 = (x34 & 0x7ffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_4limbs/femulDisplay.v b/src/Specific/solinas64_2e174m17_4limbs/femulDisplay.v
deleted file mode 100644
index 932ac7706..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fesquare.c b/src/Specific/solinas64_2e174m17_4limbs/fesquare.c
deleted file mode 100644
index e79b617d2..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x2c);
- { uint64_t x12 = ((uint64_t)x10 & 0xfffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- { uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- { uint64_t x22 = (x12 + (0x11 * x20));
- { uint64_t x23 = (x22 >> 0x2c);
- { uint64_t x24 = (x22 & 0xfffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x2b);
- { uint64_t x27 = (x25 & 0x7ffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fesquare.v b/src/Specific/solinas64_2e174m17_4limbs/fesquare.v
deleted file mode 100644
index a6b90fe99..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.log
deleted file mode 100644
index 5dd92cd26..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x2c);
- uint64_t x12 = ((uint64_t)x10 & 0xfffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- uint64_t x22 = (x12 + (0x11 * x20));
- uint64_t x23 = (x22 >> 0x2c);
- uint64_t x24 = (x22 & 0xfffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x2b);
- uint64_t x27 = (x25 & 0x7ffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.v
deleted file mode 100644
index 6413a686a..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fesub.c b/src/Specific/solinas64_2e174m17_4limbs/fesub.c
deleted file mode 100644
index 901f8fd88..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1fffffffffde + x5) - x11);
- out[1] = ((0xffffffffffe + x7) - x13);
- out[2] = ((0x1ffffffffffe + x9) - x15);
- out[3] = ((0xffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fesub.v b/src/Specific/solinas64_2e174m17_4limbs/fesub.v
deleted file mode 100644
index 176b5aa43..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.log
deleted file mode 100644
index e0d979a9d..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xffffffffffe + x8) - x14), ((0x1ffffffffffe + x9) - x15), ((0xffffffffffe + x7) - x13), ((0x1fffffffffde + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.v
deleted file mode 100644
index 4a527c765..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e174m17_4limbs/freeze.c b/src/Specific/solinas64_2e174m17_4limbs/freeze.c
deleted file mode 100644
index b9d47ad8e..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffef);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xfffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffef);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xfffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7ffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m17_4limbs/freeze.v b/src/Specific/solinas64_2e174m17_4limbs/freeze.v
deleted file mode 100644
index 76e5695c7..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.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/solinas64_2e174m17_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.log
deleted file mode 100644
index 2630147bc..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffef);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xfffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffef);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xfffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7ffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.v
deleted file mode 100644
index a428ea102..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m17_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e174m17_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e174m17_4limbs/py_interpreter.sh
deleted file mode 100755
index cca2d6af9..000000000
--- a/src/Specific/solinas64_2e174m17_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 17' -Dmodulus_bytes='43.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e174m3_3limbs/CurveParameters.v b/src/Specific/solinas64_2e174m3_3limbs/CurveParameters.v
deleted file mode 100644
index f09389f59..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 3
-Base: 58
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 3%nat;
- base := 58;
- bitwidth := 64;
- s := 2^174;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 3); [0; 1]]%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/solinas64_2e174m3_3limbs/Synthesis.v b/src/Specific/solinas64_2e174m3_3limbs/Synthesis.v
deleted file mode 100644
index 161e673ad..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/compiler.sh b/src/Specific/solinas64_2e174m3_3limbs/compiler.sh
deleted file mode 100755
index 08194492c..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas64_2e174m3_3limbs/compilerxx.sh b/src/Specific/solinas64_2e174m3_3limbs/compilerxx.sh
deleted file mode 100755
index e02145d6b..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='3' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas64_2e174m3_3limbs/feadd.c b/src/Specific/solinas64_2e174m3_3limbs/feadd.c
deleted file mode 100644
index 725c1f205..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/feadd.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void feadd(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = (x5 + x9);
- out[1] = (x7 + x11);
- out[2] = (x6 + x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_3limbs/feadd.v b/src/Specific/solinas64_2e174m3_3limbs/feadd.v
deleted file mode 100644
index 3840c1fbc..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/feaddDisplay.log b/src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.log
deleted file mode 100644
index 64fb467ef..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- ((x6 + x10), (x7 + x11), (x5 + x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.v b/src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.v
deleted file mode 100644
index 0aac6429f..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fecarry.v b/src/Specific/solinas64_2e174m3_3limbs/fecarry.v
deleted file mode 100644
index 1fb630aa1..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/fecarryDisplay.v b/src/Specific/solinas64_2e174m3_3limbs/fecarryDisplay.v
deleted file mode 100644
index b5756c591..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e174m3_3limbs/femul.c b/src/Specific/solinas64_2e174m3_3limbs/femul.c
deleted file mode 100644
index 25915ef8a..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/femul.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void femul(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- { uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- { uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x3 * ((uint128_t)x6 * x10)));
- { uint128_t x14 = (((uint128_t)x5 * x9) + (0x3 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- { uint128_t x15 = (x14 >> 0x3a);
- { uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffffff);
- { uint128_t x17 = (x15 + x13);
- { uint64_t x18 = (uint64_t) (x17 >> 0x3a);
- { uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffffff);
- { uint128_t x20 = (x18 + x12);
- { uint64_t x21 = (uint64_t) (x20 >> 0x3a);
- { uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffffff);
- { uint128_t x23 = (x16 + ((uint128_t)0x3 * x21));
- { uint64_t x24 = (uint64_t) (x23 >> 0x3a);
- { uint64_t x25 = ((uint64_t)x23 & 0x3ffffffffffffff);
- { uint64_t x26 = (x24 + x19);
- { uint64_t x27 = (x26 >> 0x3a);
- { uint64_t x28 = (x26 & 0x3ffffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x22);
- }}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_3limbs/femul.v b/src/Specific/solinas64_2e174m3_3limbs/femul.v
deleted file mode 100644
index f1b8df350..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/femulDisplay.log b/src/Specific/solinas64_2e174m3_3limbs/femulDisplay.log
deleted file mode 100644
index 0de3c7427..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/femulDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- uint128_t x12 = (((uint128_t)x5 * x10) + (((uint128_t)x7 * x11) + ((uint128_t)x6 * x9)));
- uint128_t x13 = ((((uint128_t)x5 * x11) + ((uint128_t)x7 * x9)) + (0x3 * ((uint128_t)x6 * x10)));
- uint128_t x14 = (((uint128_t)x5 * x9) + (0x3 * (((uint128_t)x7 * x10) + ((uint128_t)x6 * x11))));
- uint128_t x15 = (x14 >> 0x3a);
- uint64_t x16 = ((uint64_t)x14 & 0x3ffffffffffffff);
- uint128_t x17 = (x15 + x13);
- uint64_t x18 = (uint64_t) (x17 >> 0x3a);
- uint64_t x19 = ((uint64_t)x17 & 0x3ffffffffffffff);
- uint128_t x20 = (x18 + x12);
- uint64_t x21 = (uint64_t) (x20 >> 0x3a);
- uint64_t x22 = ((uint64_t)x20 & 0x3ffffffffffffff);
- uint128_t x23 = (x16 + ((uint128_t)0x3 * x21));
- uint64_t x24 = (uint64_t) (x23 >> 0x3a);
- uint64_t x25 = ((uint64_t)x23 & 0x3ffffffffffffff);
- uint64_t x26 = (x24 + x19);
- uint64_t x27 = (x26 >> 0x3a);
- uint64_t x28 = (x26 & 0x3ffffffffffffff);
- return ((x27 + x22), Return x28, Return x25))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_3limbs/femulDisplay.v b/src/Specific/solinas64_2e174m3_3limbs/femulDisplay.v
deleted file mode 100644
index 316646987..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fesquare.c b/src/Specific/solinas64_2e174m3_3limbs/fesquare.c
deleted file mode 100644
index e4d94711a..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesquare.c
+++ /dev/null
@@ -1,26 +0,0 @@
-static void fesquare(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- { uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * ((uint128_t)x3 * x3)));
- { uint128_t x7 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- { uint128_t x8 = (x7 >> 0x3a);
- { uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffffff);
- { uint128_t x10 = (x8 + x6);
- { uint64_t x11 = (uint64_t) (x10 >> 0x3a);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffffff);
- { uint128_t x13 = (x11 + x5);
- { uint64_t x14 = (uint64_t) (x13 >> 0x3a);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffffff);
- { uint128_t x16 = (x9 + ((uint128_t)0x3 * x14));
- { uint64_t x17 = (uint64_t) (x16 >> 0x3a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- { uint64_t x19 = (x17 + x12);
- { uint64_t x20 = (x19 >> 0x3a);
- { uint64_t x21 = (x19 & 0x3ffffffffffffff);
- out[0] = x18;
- out[1] = x21;
- out[2] = (x20 + x15);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fesquare.v b/src/Specific/solinas64_2e174m3_3limbs/fesquare.v
deleted file mode 100644
index 826bc0bc4..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/fesquareDisplay.log b/src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.log
deleted file mode 100644
index 5ae5fb222..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,24 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint128_t x5 = (((uint128_t)x2 * x3) + (((uint128_t)x4 * x4) + ((uint128_t)x3 * x2)));
- uint128_t x6 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * ((uint128_t)x3 * x3)));
- uint128_t x7 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x3) + ((uint128_t)x3 * x4))));
- uint128_t x8 = (x7 >> 0x3a);
- uint64_t x9 = ((uint64_t)x7 & 0x3ffffffffffffff);
- uint128_t x10 = (x8 + x6);
- uint64_t x11 = (uint64_t) (x10 >> 0x3a);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffffff);
- uint128_t x13 = (x11 + x5);
- uint64_t x14 = (uint64_t) (x13 >> 0x3a);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffffffff);
- uint128_t x16 = (x9 + ((uint128_t)0x3 * x14));
- uint64_t x17 = (uint64_t) (x16 >> 0x3a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- uint64_t x19 = (x17 + x12);
- uint64_t x20 = (x19 >> 0x3a);
- uint64_t x21 = (x19 & 0x3ffffffffffffff);
- return ((x20 + x15), Return x21, Return x18))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.v b/src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.v
deleted file mode 100644
index 75d04ef84..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fesub.c b/src/Specific/solinas64_2e174m3_3limbs/fesub.c
deleted file mode 100644
index 33fdd392d..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesub.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void fesub(uint64_t out[3], const uint64_t in1[3], const uint64_t in2[3]) {
- { const uint64_t x6 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x10 = in2[2];
- { const uint64_t x11 = in2[1];
- { const uint64_t x9 = in2[0];
- out[0] = ((0x7fffffffffffffa + x5) - x9);
- out[1] = ((0x7fffffffffffffe + x7) - x11);
- out[2] = ((0x7fffffffffffffe + x6) - x10);
- }}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fesub.v b/src/Specific/solinas64_2e174m3_3limbs/fesub.v
deleted file mode 100644
index 3557584c3..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/fesubDisplay.log b/src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.log
deleted file mode 100644
index 6fbc51ba6..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x6, x7, x5, (x10, x11, x9))%core,
- (((0x7fffffffffffffe + x6) - x10), ((0x7fffffffffffffe + x7) - x11), ((0x7fffffffffffffa + x5) - x9)))
-(x, x0)%core
- : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.v b/src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.v
deleted file mode 100644
index 08c3e780c..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e174m3_3limbs/freeze.c b/src/Specific/solinas64_2e174m3_3limbs/freeze.c
deleted file mode 100644
index 42e104e38..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/freeze.c
+++ /dev/null
@@ -1,19 +0,0 @@
-static void freeze(uint64_t out[3], const uint64_t in1[3]) {
- { const uint64_t x3 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffffd);
- { uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffffff);
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffffff);
- { uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- { uint64_t x15 = (x14 & 0x3fffffffffffffd);
- { uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- { uint64_t x19 = (x14 & 0x3ffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- { uint64_t x23 = (x14 & 0x3ffffffffffffff);
- { uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- out[0] = x17;
- out[1] = x21;
- out[2] = x25;
- }}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_3limbs/freeze.v b/src/Specific/solinas64_2e174m3_3limbs/freeze.v
deleted file mode 100644
index 27c36123e..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.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/solinas64_2e174m3_3limbs/freezeDisplay.log b/src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.log
deleted file mode 100644
index 3a8210248..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.log
+++ /dev/null
@@ -1,17 +0,0 @@
-λ x : word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x3, x4, x2)%core,
- uint64_t x6, uint8_t x7 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffffd);
- uint64_t x9, uint8_t x10 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x7, Return x4, 0x3ffffffffffffff);
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x10, Return x3, 0x3ffffffffffffff);
- uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL);
- uint64_t x15 = (x14 & 0x3fffffffffffffd);
- uint64_t x17, uint8_t x18 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x6, Return x15);
- uint64_t x19 = (x14 & 0x3ffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x9, Return x19);
- uint64_t x23 = (x14 & 0x3ffffffffffffff);
- uint64_t x25, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x12, Return x23);
- (Return x25, Return x21, Return x17))
-x
- : word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.v b/src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.v
deleted file mode 100644
index e8617e777..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_3limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e174m3_3limbs/py_interpreter.sh b/src/Specific/solinas64_2e174m3_3limbs/py_interpreter.sh
deleted file mode 100755
index 14104f66b..000000000
--- a/src/Specific/solinas64_2e174m3_3limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 3' -Dmodulus_bytes='58' -Da24='121665'
diff --git a/src/Specific/solinas64_2e174m3_4limbs/CurveParameters.v b/src/Specific/solinas64_2e174m3_4limbs/CurveParameters.v
deleted file mode 100644
index b35461a1c..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^174 - 3
-Base: 43.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 43 + 1/2;
- bitwidth := 64;
- s := 2^174;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e174m3_4limbs/Synthesis.v b/src/Specific/solinas64_2e174m3_4limbs/Synthesis.v
deleted file mode 100644
index 0c110733d..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/compiler.sh b/src/Specific/solinas64_2e174m3_4limbs/compiler.sh
deleted file mode 100755
index bccb7be1d..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas64_2e174m3_4limbs/compilerxx.sh b/src/Specific/solinas64_2e174m3_4limbs/compilerxx.sh
deleted file mode 100755
index b86239356..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,44,43}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='22' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<174) - 3' "$@"
diff --git a/src/Specific/solinas64_2e174m3_4limbs/feadd.c b/src/Specific/solinas64_2e174m3_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_4limbs/feadd.v b/src/Specific/solinas64_2e174m3_4limbs/feadd.v
deleted file mode 100644
index a33ac868d..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.v
deleted file mode 100644
index 7380232a0..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fecarry.v b/src/Specific/solinas64_2e174m3_4limbs/fecarry.v
deleted file mode 100644
index af70e7789..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e174m3_4limbs/fecarryDisplay.v
deleted file mode 100644
index 768ef3ebc..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e174m3_4limbs/femul.c b/src/Specific/solinas64_2e174m3_4limbs/femul.c
deleted file mode 100644
index 52e1edeef..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- { uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- { uint64_t x31 = (x21 + (0x3 * x29));
- { uint64_t x32 = (x31 >> 0x2c);
- { uint64_t x33 = (x31 & 0xfffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = (x34 & 0x7ffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_4limbs/femul.v b/src/Specific/solinas64_2e174m3_4limbs/femul.v
deleted file mode 100644
index 3d12ef4fb..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/femulDisplay.log b/src/Specific/solinas64_2e174m3_4limbs/femulDisplay.log
deleted file mode 100644
index 76fa08474..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- uint64_t x31 = (x21 + (0x3 * x29));
- uint64_t x32 = (x31 >> 0x2c);
- uint64_t x33 = (x31 & 0xfffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x2b);
- uint64_t x36 = (x34 & 0x7ffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_4limbs/femulDisplay.v b/src/Specific/solinas64_2e174m3_4limbs/femulDisplay.v
deleted file mode 100644
index 463cdd1e5..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fesquare.c b/src/Specific/solinas64_2e174m3_4limbs/fesquare.c
deleted file mode 100644
index 1e3cd6301..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x2c);
- { uint64_t x12 = ((uint64_t)x10 & 0xfffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- { uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- { uint64_t x22 = (x12 + (0x3 * x20));
- { uint64_t x23 = (x22 >> 0x2c);
- { uint64_t x24 = (x22 & 0xfffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x2b);
- { uint64_t x27 = (x25 & 0x7ffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fesquare.v b/src/Specific/solinas64_2e174m3_4limbs/fesquare.v
deleted file mode 100644
index 499882fc2..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.log
deleted file mode 100644
index 15d7bc9e3..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x2c);
- uint64_t x12 = ((uint64_t)x10 & 0xfffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- uint64_t x22 = (x12 + (0x3 * x20));
- uint64_t x23 = (x22 >> 0x2c);
- uint64_t x24 = (x22 & 0xfffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x2b);
- uint64_t x27 = (x25 & 0x7ffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.v
deleted file mode 100644
index aa2711cdd..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fesub.c b/src/Specific/solinas64_2e174m3_4limbs/fesub.c
deleted file mode 100644
index 6f793d1b7..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffffa + x5) - x11);
- out[1] = ((0xffffffffffe + x7) - x13);
- out[2] = ((0x1ffffffffffe + x9) - x15);
- out[3] = ((0xffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fesub.v b/src/Specific/solinas64_2e174m3_4limbs/fesub.v
deleted file mode 100644
index 50612bee4..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.log
deleted file mode 100644
index 3ff577966..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xffffffffffe + x8) - x14), ((0x1ffffffffffe + x9) - x15), ((0xffffffffffe + x7) - x13), ((0x1ffffffffffa + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.v
deleted file mode 100644
index 7147b5f1d..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e174m3_4limbs/freeze.c b/src/Specific/solinas64_2e174m3_4limbs/freeze.c
deleted file mode 100644
index 7290bdde4..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffd);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xfffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffd);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xfffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7ffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e174m3_4limbs/freeze.v b/src/Specific/solinas64_2e174m3_4limbs/freeze.v
deleted file mode 100644
index 12487c4cd..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.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/solinas64_2e174m3_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.log
deleted file mode 100644
index 2069a4d3f..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffd);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xfffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7ffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffd);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xfffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7ffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.v
deleted file mode 100644
index eef266536..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e174m3_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e174m3_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e174m3_4limbs/py_interpreter.sh
deleted file mode 100755
index bb6ea8adb..000000000
--- a/src/Specific/solinas64_2e174m3_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**174 - 3' -Dmodulus_bytes='43.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e189m25_4limbs/CurveParameters.v b/src/Specific/solinas64_2e189m25_4limbs/CurveParameters.v
deleted file mode 100644
index a009d1f50..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^189 - 25
-Base: 47.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 47 + 1/4;
- bitwidth := 64;
- s := 2^189;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e189m25_4limbs/Synthesis.v b/src/Specific/solinas64_2e189m25_4limbs/Synthesis.v
deleted file mode 100644
index 27d696903..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/compiler.sh b/src/Specific/solinas64_2e189m25_4limbs/compiler.sh
deleted file mode 100755
index 22b633572..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas64_2e189m25_4limbs/compilerxx.sh b/src/Specific/solinas64_2e189m25_4limbs/compilerxx.sh
deleted file mode 100755
index daef72dd6..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,47,47}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas64_2e189m25_4limbs/feadd.c b/src/Specific/solinas64_2e189m25_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_4limbs/feadd.v b/src/Specific/solinas64_2e189m25_4limbs/feadd.v
deleted file mode 100644
index 71d5d7027..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.v
deleted file mode 100644
index 61214ce4e..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fecarry.v b/src/Specific/solinas64_2e189m25_4limbs/fecarry.v
deleted file mode 100644
index 680df4a57..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e189m25_4limbs/fecarryDisplay.v
deleted file mode 100644
index 15d71ff68..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e189m25_4limbs/femul.c b/src/Specific/solinas64_2e189m25_4limbs/femul.c
deleted file mode 100644
index a7e14d4be..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x19 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x19 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x19 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2f);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffff);
- { uint64_t x31 = (x21 + (0x19 * x29));
- { uint64_t x32 = (x31 >> 0x30);
- { uint64_t x33 = (x31 & 0xffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x2f);
- { uint64_t x36 = (x34 & 0x7fffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_4limbs/femul.v b/src/Specific/solinas64_2e189m25_4limbs/femul.v
deleted file mode 100644
index 680520e3b..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/femulDisplay.log b/src/Specific/solinas64_2e189m25_4limbs/femulDisplay.log
deleted file mode 100644
index 34b69f899..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x19 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x19 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x19 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2f);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffff);
- uint64_t x31 = (x21 + (0x19 * x29));
- uint64_t x32 = (x31 >> 0x30);
- uint64_t x33 = (x31 & 0xffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x2f);
- uint64_t x36 = (x34 & 0x7fffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_4limbs/femulDisplay.v b/src/Specific/solinas64_2e189m25_4limbs/femulDisplay.v
deleted file mode 100644
index 54d7d9a16..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fesquare.c b/src/Specific/solinas64_2e189m25_4limbs/fesquare.c
deleted file mode 100644
index 15fd75f8c..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x30);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2f);
- { uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- { uint64_t x22 = (x12 + (0x19 * x20));
- { uint64_t x23 = (x22 >> 0x30);
- { uint64_t x24 = (x22 & 0xffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x2f);
- { uint64_t x27 = (x25 & 0x7fffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fesquare.v b/src/Specific/solinas64_2e189m25_4limbs/fesquare.v
deleted file mode 100644
index 3f9c93227..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.log
deleted file mode 100644
index bda32cda6..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x30);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x2f);
- uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- uint64_t x22 = (x12 + (0x19 * x20));
- uint64_t x23 = (x22 >> 0x30);
- uint64_t x24 = (x22 & 0xffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x2f);
- uint64_t x27 = (x25 & 0x7fffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.v
deleted file mode 100644
index 754a017fb..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fesub.c b/src/Specific/solinas64_2e189m25_4limbs/fesub.c
deleted file mode 100644
index 3e5bf08f3..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffffce + x5) - x11);
- out[1] = ((0xfffffffffffe + x7) - x13);
- out[2] = ((0xfffffffffffe + x9) - x15);
- out[3] = ((0xfffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fesub.v b/src/Specific/solinas64_2e189m25_4limbs/fesub.v
deleted file mode 100644
index e896ae756..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.log
deleted file mode 100644
index f67ee56fe..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xfffffffffffe + x8) - x14), ((0xfffffffffffe + x9) - x15), ((0xfffffffffffe + x7) - x13), ((0x1ffffffffffce + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.v
deleted file mode 100644
index 1f898dd03..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e189m25_4limbs/freeze.c b/src/Specific/solinas64_2e189m25_4limbs/freeze.c
deleted file mode 100644
index 45ab54c8d..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffe7);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7fffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffe7);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7fffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x7fffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7fffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_4limbs/freeze.v b/src/Specific/solinas64_2e189m25_4limbs/freeze.v
deleted file mode 100644
index 3de96986a..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.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/solinas64_2e189m25_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.log
deleted file mode 100644
index 459e8b8d2..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffe7);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7fffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffe7);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7fffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x7fffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7fffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.v
deleted file mode 100644
index 3f3dcb217..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e189m25_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e189m25_4limbs/py_interpreter.sh
deleted file mode 100755
index 77b176a54..000000000
--- a/src/Specific/solinas64_2e189m25_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**189 - 25' -Dmodulus_bytes='47.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e189m25_5limbs/CurveParameters.v b/src/Specific/solinas64_2e189m25_5limbs/CurveParameters.v
deleted file mode 100644
index e15ca8a6a..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^189 - 25
-Base: 37.8
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 37 + 4/5;
- bitwidth := 64;
- s := 2^189;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e189m25_5limbs/Synthesis.v b/src/Specific/solinas64_2e189m25_5limbs/Synthesis.v
deleted file mode 100644
index ff3bd638f..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/compiler.sh b/src/Specific/solinas64_2e189m25_5limbs/compiler.sh
deleted file mode 100755
index c171ed386..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,37}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas64_2e189m25_5limbs/compilerxx.sh b/src/Specific/solinas64_2e189m25_5limbs/compilerxx.sh
deleted file mode 100755
index 493674662..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,37}' -Dmodulus_array='{0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<189) - 25' "$@"
diff --git a/src/Specific/solinas64_2e189m25_5limbs/feadd.c b/src/Specific/solinas64_2e189m25_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_5limbs/feadd.v b/src/Specific/solinas64_2e189m25_5limbs/feadd.v
deleted file mode 100644
index 52c643e32..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.v
deleted file mode 100644
index e70553b7d..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fecarry.v b/src/Specific/solinas64_2e189m25_5limbs/fecarry.v
deleted file mode 100644
index 959513ffa..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e189m25_5limbs/fecarryDisplay.v
deleted file mode 100644
index 0e7857d63..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e189m25_5limbs/femul.c b/src/Specific/solinas64_2e189m25_5limbs/femul.c
deleted file mode 100644
index bc2964482..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x19 * (0x2 * ((uint128_t)x10 * x18))));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x19 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x19 * ((0x2 * ((uint128_t)x9 * x18)) + ((0x2 * ((uint128_t)x11 * x19)) + (0x2 * ((uint128_t)x10 * x17))))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x19 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x26);
- { uint64_t x26 = ((uint64_t)x24 & 0x3fffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x26);
- { uint64_t x29 = ((uint64_t)x27 & 0x3fffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x26);
- { uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x26);
- { uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x25);
- { uint64_t x38 = ((uint64_t)x36 & 0x1fffffffff);
- { uint64_t x39 = (x26 + (0x19 * x37));
- { uint64_t x40 = (x39 >> 0x26);
- { uint64_t x41 = (x39 & 0x3fffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x26);
- { uint64_t x44 = (x42 & 0x3fffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_5limbs/femul.v b/src/Specific/solinas64_2e189m25_5limbs/femul.v
deleted file mode 100644
index a7e6792b0..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/femulDisplay.log b/src/Specific/solinas64_2e189m25_5limbs/femulDisplay.log
deleted file mode 100644
index 4678a91f4..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x19 * (0x2 * ((uint128_t)x10 * x18))));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x19 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x19 * ((0x2 * ((uint128_t)x9 * x18)) + ((0x2 * ((uint128_t)x11 * x19)) + (0x2 * ((uint128_t)x10 * x17))))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x19 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x26);
- uint64_t x26 = ((uint64_t)x24 & 0x3fffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x26);
- uint64_t x29 = ((uint64_t)x27 & 0x3fffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x26);
- uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x26);
- uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x25);
- uint64_t x38 = ((uint64_t)x36 & 0x1fffffffff);
- uint64_t x39 = (x26 + (0x19 * x37));
- uint64_t x40 = (x39 >> 0x26);
- uint64_t x41 = (x39 & 0x3fffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x26);
- uint64_t x44 = (x42 & 0x3fffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_5limbs/femulDisplay.v b/src/Specific/solinas64_2e189m25_5limbs/femulDisplay.v
deleted file mode 100644
index 2f61965d4..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fesquare.c b/src/Specific/solinas64_2e189m25_5limbs/fesquare.c
deleted file mode 100644
index 950f813f1..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x19 * (0x2 * ((uint128_t)x7 * x7))));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x19 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((0x2 * ((uint128_t)x6 * x7)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x7 * x6))))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x26);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x26);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x26);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x25);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffff);
- { uint64_t x28 = (x15 + (0x19 * x26));
- { uint64_t x29 = (x28 >> 0x26);
- { uint64_t x30 = (x28 & 0x3fffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x26);
- { uint64_t x33 = (x31 & 0x3fffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fesquare.v b/src/Specific/solinas64_2e189m25_5limbs/fesquare.v
deleted file mode 100644
index 36b916d1d..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.log
deleted file mode 100644
index 5721be1a5..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x19 * (0x2 * ((uint128_t)x7 * x7))));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x19 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((0x2 * ((uint128_t)x6 * x7)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x7 * x6))))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x26);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x26);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x26);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x25);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffff);
- uint64_t x28 = (x15 + (0x19 * x26));
- uint64_t x29 = (x28 >> 0x26);
- uint64_t x30 = (x28 & 0x3fffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x26);
- uint64_t x33 = (x31 & 0x3fffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.v
deleted file mode 100644
index d9773598d..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fesub.c b/src/Specific/solinas64_2e189m25_5limbs/fesub.c
deleted file mode 100644
index ce859c6d9..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x7fffffffce + x5) - x13);
- out[1] = ((0x7ffffffffe + x7) - x15);
- out[2] = ((0x7ffffffffe + x9) - x17);
- out[3] = ((0x7ffffffffe + x11) - x19);
- out[4] = ((0x3ffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fesub.v b/src/Specific/solinas64_2e189m25_5limbs/fesub.v
deleted file mode 100644
index c03264279..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.log
deleted file mode 100644
index a2562fa02..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3ffffffffe + x10) - x18), ((0x7ffffffffe + x11) - x19), ((0x7ffffffffe + x9) - x17), ((0x7ffffffffe + x7) - x15), ((0x7fffffffce + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.v
deleted file mode 100644
index 76beb23ce..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e189m25_5limbs/freeze.c b/src/Specific/solinas64_2e189m25_5limbs/freeze.c
deleted file mode 100644
index 9fefdac0a..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffe7);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x3fffffffe7);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3fffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3fffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x1fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e189m25_5limbs/freeze.v b/src/Specific/solinas64_2e189m25_5limbs/freeze.v
deleted file mode 100644
index 1e374eacb..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.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/solinas64_2e189m25_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.log
deleted file mode 100644
index 4e94d533c..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffe7);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x3fffffffe7);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3fffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3fffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x1fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.v
deleted file mode 100644
index a3d885bbc..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e189m25_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e189m25_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e189m25_5limbs/py_interpreter.sh
deleted file mode 100755
index 6e1df8f40..000000000
--- a/src/Specific/solinas64_2e189m25_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**189 - 25' -Dmodulus_bytes='37.8' -Da24='121665'
diff --git a/src/Specific/solinas64_2e190m11_4limbs/CurveParameters.v b/src/Specific/solinas64_2e190m11_4limbs/CurveParameters.v
deleted file mode 100644
index 75a2918dd..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^190 - 11
-Base: 47.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 47 + 1/2;
- bitwidth := 64;
- s := 2^190;
- c := [(1, 11)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e190m11_4limbs/Synthesis.v b/src/Specific/solinas64_2e190m11_4limbs/Synthesis.v
deleted file mode 100644
index a81beda45..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/compiler.sh b/src/Specific/solinas64_2e190m11_4limbs/compiler.sh
deleted file mode 100755
index 85daa6611..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas64_2e190m11_4limbs/compilerxx.sh b/src/Specific/solinas64_2e190m11_4limbs/compilerxx.sh
deleted file mode 100755
index 0c00281e0..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas64_2e190m11_4limbs/feadd.c b/src/Specific/solinas64_2e190m11_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_4limbs/feadd.v b/src/Specific/solinas64_2e190m11_4limbs/feadd.v
deleted file mode 100644
index 8442d7063..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.v
deleted file mode 100644
index 6bd7b21c1..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fecarry.v b/src/Specific/solinas64_2e190m11_4limbs/fecarry.v
deleted file mode 100644
index e0f7f06de..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e190m11_4limbs/fecarryDisplay.v
deleted file mode 100644
index 0081fdfed..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e190m11_4limbs/femul.c b/src/Specific/solinas64_2e190m11_4limbs/femul.c
deleted file mode 100644
index 280a7eb48..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0xb * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xb * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0xb * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2f);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffff);
- { uint64_t x31 = (x21 + (0xb * x29));
- { uint64_t x32 = (x31 >> 0x30);
- { uint64_t x33 = (x31 & 0xffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x2f);
- { uint64_t x36 = (x34 & 0x7fffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_4limbs/femul.v b/src/Specific/solinas64_2e190m11_4limbs/femul.v
deleted file mode 100644
index 008cab5bc..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/femulDisplay.log b/src/Specific/solinas64_2e190m11_4limbs/femulDisplay.log
deleted file mode 100644
index 3ed92c4a1..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0xb * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xb * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0xb * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2f);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffff);
- uint64_t x31 = (x21 + (0xb * x29));
- uint64_t x32 = (x31 >> 0x30);
- uint64_t x33 = (x31 & 0xffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x2f);
- uint64_t x36 = (x34 & 0x7fffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_4limbs/femulDisplay.v b/src/Specific/solinas64_2e190m11_4limbs/femulDisplay.v
deleted file mode 100644
index 1c2e767b5..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fesquare.c b/src/Specific/solinas64_2e190m11_4limbs/fesquare.c
deleted file mode 100644
index b06d07e9d..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xb * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xb * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0xb * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x30);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x30);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- { uint64_t x22 = (x12 + (0xb * x20));
- { uint64_t x23 = (x22 >> 0x30);
- { uint64_t x24 = (x22 & 0xffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x2f);
- { uint64_t x27 = (x25 & 0x7fffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fesquare.v b/src/Specific/solinas64_2e190m11_4limbs/fesquare.v
deleted file mode 100644
index a00ea4dc4..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.log
deleted file mode 100644
index b30c6e136..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xb * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xb * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0xb * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x30);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x30);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- uint64_t x22 = (x12 + (0xb * x20));
- uint64_t x23 = (x22 >> 0x30);
- uint64_t x24 = (x22 & 0xffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x2f);
- uint64_t x27 = (x25 & 0x7fffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.v
deleted file mode 100644
index 5d9637336..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fesub.c b/src/Specific/solinas64_2e190m11_4limbs/fesub.c
deleted file mode 100644
index e75f3c5d7..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffffea + x5) - x11);
- out[1] = ((0xfffffffffffe + x7) - x13);
- out[2] = ((0x1fffffffffffe + x9) - x15);
- out[3] = ((0xfffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fesub.v b/src/Specific/solinas64_2e190m11_4limbs/fesub.v
deleted file mode 100644
index 585f9a57e..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.log
deleted file mode 100644
index 05c4a769d..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xfffffffffffe + x8) - x14), ((0x1fffffffffffe + x9) - x15), ((0xfffffffffffe + x7) - x13), ((0x1ffffffffffea + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.v
deleted file mode 100644
index 53c22f723..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e190m11_4limbs/freeze.c b/src/Specific/solinas64_2e190m11_4limbs/freeze.c
deleted file mode 100644
index 7a7c45793..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff5);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffff5);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7fffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7fffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_4limbs/freeze.v b/src/Specific/solinas64_2e190m11_4limbs/freeze.v
deleted file mode 100644
index 2e9c6aea8..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.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/solinas64_2e190m11_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.log
deleted file mode 100644
index d0480da0c..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff5);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffff5);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7fffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7fffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.v
deleted file mode 100644
index 0c92458c4..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e190m11_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e190m11_4limbs/py_interpreter.sh
deleted file mode 100755
index 7d9af983a..000000000
--- a/src/Specific/solinas64_2e190m11_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**190 - 11' -Dmodulus_bytes='47.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e190m11_5limbs/CurveParameters.v b/src/Specific/solinas64_2e190m11_5limbs/CurveParameters.v
deleted file mode 100644
index baf8c752f..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^190 - 11
-Base: 38
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 38;
- bitwidth := 64;
- s := 2^190;
- c := [(1, 11)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e190m11_5limbs/Synthesis.v b/src/Specific/solinas64_2e190m11_5limbs/Synthesis.v
deleted file mode 100644
index 3628c5a58..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/compiler.sh b/src/Specific/solinas64_2e190m11_5limbs/compiler.sh
deleted file mode 100755
index f8a6549a7..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas64_2e190m11_5limbs/compilerxx.sh b/src/Specific/solinas64_2e190m11_5limbs/compilerxx.sh
deleted file mode 100755
index d85f5e87d..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{38,38,38,38,38}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf5}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<190) - 11' "$@"
diff --git a/src/Specific/solinas64_2e190m11_5limbs/feadd.c b/src/Specific/solinas64_2e190m11_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_5limbs/feadd.v b/src/Specific/solinas64_2e190m11_5limbs/feadd.v
deleted file mode 100644
index 3e63275b3..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.v
deleted file mode 100644
index aad337e14..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fecarry.v b/src/Specific/solinas64_2e190m11_5limbs/fecarry.v
deleted file mode 100644
index ffe519931..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e190m11_5limbs/fecarryDisplay.v
deleted file mode 100644
index 6dc1cde6f..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e190m11_5limbs/femul.c b/src/Specific/solinas64_2e190m11_5limbs/femul.c
deleted file mode 100644
index 8053edd64..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0xb * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0xb * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xb * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0xb * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x26);
- { uint64_t x26 = ((uint64_t)x24 & 0x3fffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x26);
- { uint64_t x29 = ((uint64_t)x27 & 0x3fffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x26);
- { uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x26);
- { uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x26);
- { uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- { uint64_t x39 = (x26 + (0xb * x37));
- { uint64_t x40 = (x39 >> 0x26);
- { uint64_t x41 = (x39 & 0x3fffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x26);
- { uint64_t x44 = (x42 & 0x3fffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_5limbs/femul.v b/src/Specific/solinas64_2e190m11_5limbs/femul.v
deleted file mode 100644
index f2d57058e..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/femulDisplay.log b/src/Specific/solinas64_2e190m11_5limbs/femulDisplay.log
deleted file mode 100644
index eb18d10be..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0xb * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0xb * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xb * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0xb * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x26);
- uint64_t x26 = ((uint64_t)x24 & 0x3fffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x26);
- uint64_t x29 = ((uint64_t)x27 & 0x3fffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x26);
- uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x26);
- uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x26);
- uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- uint64_t x39 = (x26 + (0xb * x37));
- uint64_t x40 = (x39 >> 0x26);
- uint64_t x41 = (x39 & 0x3fffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x26);
- uint64_t x44 = (x42 & 0x3fffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_5limbs/femulDisplay.v b/src/Specific/solinas64_2e190m11_5limbs/femulDisplay.v
deleted file mode 100644
index 9ca742bef..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fesquare.c b/src/Specific/solinas64_2e190m11_5limbs/fesquare.c
deleted file mode 100644
index 208640ea7..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xb * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xb * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xb * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0xb * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x26);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x26);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x26);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x26);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- { uint64_t x28 = (x15 + (0xb * x26));
- { uint64_t x29 = (x28 >> 0x26);
- { uint64_t x30 = (x28 & 0x3fffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x26);
- { uint64_t x33 = (x31 & 0x3fffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fesquare.v b/src/Specific/solinas64_2e190m11_5limbs/fesquare.v
deleted file mode 100644
index 7f38953ea..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.log
deleted file mode 100644
index 7bad0bed4..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xb * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xb * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xb * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0xb * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x26);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x26);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x26);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x26);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- uint64_t x28 = (x15 + (0xb * x26));
- uint64_t x29 = (x28 >> 0x26);
- uint64_t x30 = (x28 & 0x3fffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x26);
- uint64_t x33 = (x31 & 0x3fffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.v
deleted file mode 100644
index ec927fdd6..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fesub.c b/src/Specific/solinas64_2e190m11_5limbs/fesub.c
deleted file mode 100644
index 57eba50a6..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x7fffffffea + x5) - x13);
- out[1] = ((0x7ffffffffe + x7) - x15);
- out[2] = ((0x7ffffffffe + x9) - x17);
- out[3] = ((0x7ffffffffe + x11) - x19);
- out[4] = ((0x7ffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fesub.v b/src/Specific/solinas64_2e190m11_5limbs/fesub.v
deleted file mode 100644
index d857970bb..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.log
deleted file mode 100644
index bdf3bab02..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7ffffffffe + x10) - x18), ((0x7ffffffffe + x11) - x19), ((0x7ffffffffe + x9) - x17), ((0x7ffffffffe + x7) - x15), ((0x7fffffffea + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.v
deleted file mode 100644
index bbdb0821b..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e190m11_5limbs/freeze.c b/src/Specific/solinas64_2e190m11_5limbs/freeze.c
deleted file mode 100644
index 54cdd16c8..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffff5);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x3ffffffff5);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3fffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3fffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e190m11_5limbs/freeze.v b/src/Specific/solinas64_2e190m11_5limbs/freeze.v
deleted file mode 100644
index 5e8682472..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.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/solinas64_2e190m11_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.log
deleted file mode 100644
index 268a00cfd..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffff5);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x3ffffffff5);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3fffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3fffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.v
deleted file mode 100644
index 4b9876f5d..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e190m11_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e190m11_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e190m11_5limbs/py_interpreter.sh
deleted file mode 100755
index ce71dfc0a..000000000
--- a/src/Specific/solinas64_2e190m11_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**190 - 11' -Dmodulus_bytes='38' -Da24='121665'
diff --git a/src/Specific/solinas64_2e191m19_4limbs/CurveParameters.v b/src/Specific/solinas64_2e191m19_4limbs/CurveParameters.v
deleted file mode 100644
index 05a177025..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^191 - 19
-Base: 47.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 47 + 3/4;
- bitwidth := 64;
- s := 2^191;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e191m19_4limbs/Synthesis.v b/src/Specific/solinas64_2e191m19_4limbs/Synthesis.v
deleted file mode 100644
index c80d695c6..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/compiler.sh b/src/Specific/solinas64_2e191m19_4limbs/compiler.sh
deleted file mode 100755
index c4288f133..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas64_2e191m19_4limbs/compilerxx.sh b/src/Specific/solinas64_2e191m19_4limbs/compilerxx.sh
deleted file mode 100755
index 5f8a131ce..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas64_2e191m19_4limbs/feadd.c b/src/Specific/solinas64_2e191m19_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_4limbs/feadd.v b/src/Specific/solinas64_2e191m19_4limbs/feadd.v
deleted file mode 100644
index a2815d005..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.v
deleted file mode 100644
index 55241a049..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fecarry.v b/src/Specific/solinas64_2e191m19_4limbs/fecarry.v
deleted file mode 100644
index 100702fee..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e191m19_4limbs/fecarryDisplay.v
deleted file mode 100644
index 6541308ca..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e191m19_4limbs/femul.c b/src/Specific/solinas64_2e191m19_4limbs/femul.c
deleted file mode 100644
index bd566ae76..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x13 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x13 * ((0x2 * ((uint128_t)x9 * x14)) + (0x2 * ((uint128_t)x8 * x15)))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x13 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2f);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffff);
- { uint64_t x31 = (x21 + (0x13 * x29));
- { uint64_t x32 = (x31 >> 0x30);
- { uint64_t x33 = (x31 & 0xffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x30);
- { uint64_t x36 = (x34 & 0xffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_4limbs/femul.v b/src/Specific/solinas64_2e191m19_4limbs/femul.v
deleted file mode 100644
index 50deba856..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/femulDisplay.log b/src/Specific/solinas64_2e191m19_4limbs/femulDisplay.log
deleted file mode 100644
index 799d6c247..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x13 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x13 * ((0x2 * ((uint128_t)x9 * x14)) + (0x2 * ((uint128_t)x8 * x15)))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x13 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2f);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffff);
- uint64_t x31 = (x21 + (0x13 * x29));
- uint64_t x32 = (x31 >> 0x30);
- uint64_t x33 = (x31 & 0xffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x30);
- uint64_t x36 = (x34 & 0xffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_4limbs/femulDisplay.v b/src/Specific/solinas64_2e191m19_4limbs/femulDisplay.v
deleted file mode 100644
index 2fd4a46eb..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fesquare.c b/src/Specific/solinas64_2e191m19_4limbs/fesquare.c
deleted file mode 100644
index 670f4cf3c..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * ((0x2 * ((uint128_t)x6 * x5)) + (0x2 * ((uint128_t)x5 * x6)))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x30);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x30);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x30);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- { uint64_t x22 = (x12 + (0x13 * x20));
- { uint64_t x23 = (x22 >> 0x30);
- { uint64_t x24 = (x22 & 0xffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x30);
- { uint64_t x27 = (x25 & 0xffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fesquare.v b/src/Specific/solinas64_2e191m19_4limbs/fesquare.v
deleted file mode 100644
index 780a90b52..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.log
deleted file mode 100644
index 9bd240cf1..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * ((0x2 * ((uint128_t)x6 * x5)) + (0x2 * ((uint128_t)x5 * x6)))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x30);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x30);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x30);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- uint64_t x22 = (x12 + (0x13 * x20));
- uint64_t x23 = (x22 >> 0x30);
- uint64_t x24 = (x22 & 0xffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x30);
- uint64_t x27 = (x25 & 0xffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.v
deleted file mode 100644
index 7deac0be8..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fesub.c b/src/Specific/solinas64_2e191m19_4limbs/fesub.c
deleted file mode 100644
index b7adcc113..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffffda + x5) - x11);
- out[1] = ((0x1fffffffffffe + x7) - x13);
- out[2] = ((0x1fffffffffffe + x9) - x15);
- out[3] = ((0xfffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fesub.v b/src/Specific/solinas64_2e191m19_4limbs/fesub.v
deleted file mode 100644
index 9ec9cab47..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.log
deleted file mode 100644
index 7d3dd7878..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xfffffffffffe + x8) - x14), ((0x1fffffffffffe + x9) - x15), ((0x1fffffffffffe + x7) - x13), ((0x1ffffffffffda + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.v
deleted file mode 100644
index f67604a94..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e191m19_4limbs/freeze.c b/src/Specific/solinas64_2e191m19_4limbs/freeze.c
deleted file mode 100644
index f9254f645..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffed);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffed);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0xffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7fffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_4limbs/freeze.v b/src/Specific/solinas64_2e191m19_4limbs/freeze.v
deleted file mode 100644
index 638c0d9ce..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.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/solinas64_2e191m19_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.log
deleted file mode 100644
index 33e548f8a..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffed);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffed);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0xffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7fffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.v
deleted file mode 100644
index 942e64115..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e191m19_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e191m19_4limbs/py_interpreter.sh
deleted file mode 100755
index 6a82e8c86..000000000
--- a/src/Specific/solinas64_2e191m19_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**191 - 19' -Dmodulus_bytes='47.75' -Da24='121665'
diff --git a/src/Specific/solinas64_2e191m19_5limbs/CurveParameters.v b/src/Specific/solinas64_2e191m19_5limbs/CurveParameters.v
deleted file mode 100644
index 514a5a09c..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^191 - 19
-Base: 38.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 38 + 1/5;
- bitwidth := 64;
- s := 2^191;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e191m19_5limbs/Synthesis.v b/src/Specific/solinas64_2e191m19_5limbs/Synthesis.v
deleted file mode 100644
index 2bdf8d80a..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/compiler.sh b/src/Specific/solinas64_2e191m19_5limbs/compiler.sh
deleted file mode 100755
index 7650c0ed5..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas64_2e191m19_5limbs/compilerxx.sh b/src/Specific/solinas64_2e191m19_5limbs/compilerxx.sh
deleted file mode 100755
index 10b3d85c6..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,38,38,38}' -Dmodulus_array='{0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<191) - 19' "$@"
diff --git a/src/Specific/solinas64_2e191m19_5limbs/feadd.c b/src/Specific/solinas64_2e191m19_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_5limbs/feadd.v b/src/Specific/solinas64_2e191m19_5limbs/feadd.v
deleted file mode 100644
index e69e2682e..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.v
deleted file mode 100644
index c0f27f2bb..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fecarry.v b/src/Specific/solinas64_2e191m19_5limbs/fecarry.v
deleted file mode 100644
index cba18498a..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e191m19_5limbs/fecarryDisplay.v
deleted file mode 100644
index bb6c6e96a..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e191m19_5limbs/femul.c b/src/Specific/solinas64_2e191m19_5limbs/femul.c
deleted file mode 100644
index ef49510ba..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x13 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x13 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x13 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x13 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x27);
- { uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x26);
- { uint64_t x29 = ((uint64_t)x27 & 0x3fffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x26);
- { uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x26);
- { uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x26);
- { uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- { uint64_t x39 = (x26 + (0x13 * x37));
- { uint64_t x40 = (x39 >> 0x27);
- { uint64_t x41 = (x39 & 0x7fffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x26);
- { uint64_t x44 = (x42 & 0x3fffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_5limbs/femul.v b/src/Specific/solinas64_2e191m19_5limbs/femul.v
deleted file mode 100644
index 0b790ac9d..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/femulDisplay.log b/src/Specific/solinas64_2e191m19_5limbs/femulDisplay.log
deleted file mode 100644
index 6d8240546..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x13 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x13 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x13 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x13 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x27);
- uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x26);
- uint64_t x29 = ((uint64_t)x27 & 0x3fffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x26);
- uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x26);
- uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x26);
- uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- uint64_t x39 = (x26 + (0x13 * x37));
- uint64_t x40 = (x39 >> 0x27);
- uint64_t x41 = (x39 & 0x7fffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x26);
- uint64_t x44 = (x42 & 0x3fffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_5limbs/femulDisplay.v b/src/Specific/solinas64_2e191m19_5limbs/femulDisplay.v
deleted file mode 100644
index 4bf06bac2..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fesquare.c b/src/Specific/solinas64_2e191m19_5limbs/fesquare.c
deleted file mode 100644
index 2f53470de..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x13 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x27);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x26);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x26);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x26);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x26);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- { uint64_t x28 = (x15 + (0x13 * x26));
- { uint64_t x29 = (x28 >> 0x27);
- { uint64_t x30 = (x28 & 0x7fffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x26);
- { uint64_t x33 = (x31 & 0x3fffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fesquare.v b/src/Specific/solinas64_2e191m19_5limbs/fesquare.v
deleted file mode 100644
index 0d7f4820c..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.log
deleted file mode 100644
index e1ed33530..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x13 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x27);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x26);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x26);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x26);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x26);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- uint64_t x28 = (x15 + (0x13 * x26));
- uint64_t x29 = (x28 >> 0x27);
- uint64_t x30 = (x28 & 0x7fffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x26);
- uint64_t x33 = (x31 & 0x3fffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.v
deleted file mode 100644
index ed02b462e..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fesub.c b/src/Specific/solinas64_2e191m19_5limbs/fesub.c
deleted file mode 100644
index 87b0206aa..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xffffffffda + x5) - x13);
- out[1] = ((0x7ffffffffe + x7) - x15);
- out[2] = ((0x7ffffffffe + x9) - x17);
- out[3] = ((0x7ffffffffe + x11) - x19);
- out[4] = ((0x7ffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fesub.v b/src/Specific/solinas64_2e191m19_5limbs/fesub.v
deleted file mode 100644
index 4d368b0c9..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.log
deleted file mode 100644
index 5aac62de5..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7ffffffffe + x10) - x18), ((0x7ffffffffe + x11) - x19), ((0x7ffffffffe + x9) - x17), ((0x7ffffffffe + x7) - x15), ((0xffffffffda + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.v
deleted file mode 100644
index e40373430..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e191m19_5limbs/freeze.c b/src/Specific/solinas64_2e191m19_5limbs/freeze.c
deleted file mode 100644
index ab0600622..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffed);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7fffffffed);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3fffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3fffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e191m19_5limbs/freeze.v b/src/Specific/solinas64_2e191m19_5limbs/freeze.v
deleted file mode 100644
index 0547a282c..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.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/solinas64_2e191m19_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.log
deleted file mode 100644
index 1a2e9f3b1..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffed);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7fffffffed);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3fffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3fffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.v
deleted file mode 100644
index b4141d699..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e191m19_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e191m19_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e191m19_5limbs/py_interpreter.sh
deleted file mode 100755
index db0354298..000000000
--- a/src/Specific/solinas64_2e191m19_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**191 - 19' -Dmodulus_bytes='38.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/CurveParameters.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/CurveParameters.v
deleted file mode 100644
index f44b5be97..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^192 - 2^64 - 1
-Base: 48
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 48;
- bitwidth := 64;
- s := 2^192;
- c := [(1, 1); (2^64, 1)];
- carry_chains := Some [[0; 3]; [1; 0; 2; 3]; [1; 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/solinas64_2e192m2e64m1_4limbs/Synthesis.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/Synthesis.v
deleted file mode 100644
index 80961b02b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/compiler.sh b/src/Specific/solinas64_2e192m2e64m1_4limbs/compiler.sh
deleted file mode 100755
index 8b2373d4d..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/compilerxx.sh b/src/Specific/solinas64_2e192m2e64m1_4limbs/compilerxx.sh
deleted file mode 100755
index 4bdd16505..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.c b/src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.v
deleted file mode 100644
index a4d413ac4..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.v
deleted file mode 100644
index 35a2a0343..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fecarry.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/fecarry.v
deleted file mode 100644
index f0d27c363..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/fecarryDisplay.v
deleted file mode 100644
index 04a5883f0..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/femul.c b/src/Specific/solinas64_2e192m2e64m1_4limbs/femul.c
deleted file mode 100644
index cb6363ab6..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/femul.c
+++ /dev/null
@@ -1,47 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = ((((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11)))) + (0x10000 * ((uint128_t)x8 * x14)));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (((uint128_t)x8 * x14) + (0x10000 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15)))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + ((((uint128_t)x9 * x14) + ((uint128_t)x8 * x15)) + (0x10000 * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13))))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x16 >> 0x30);
- { uint64_t x23 = ((uint64_t)x16 & 0xffffffffffff);
- { uint128_t x24 = ((0x1000000000000 * x22) + x23);
- { uint128_t x25 = (x24 >> 0x30);
- { uint64_t x26 = ((uint64_t)x24 & 0xffffffffffff);
- { uint128_t x27 = ((x20 + x18) + (0x10000 * x25));
- { uint128_t x28 = (x27 >> 0x30);
- { uint64_t x29 = ((uint64_t)x27 & 0xffffffffffff);
- { uint128_t x30 = (x21 + x25);
- { uint64_t x31 = (uint64_t) (x30 >> 0x30);
- { uint64_t x32 = ((uint64_t)x30 & 0xffffffffffff);
- { uint128_t x33 = (x28 + x17);
- { uint128_t x34 = (x33 >> 0x30);
- { uint64_t x35 = ((uint64_t)x33 & 0xffffffffffff);
- { uint128_t x36 = (x34 + x26);
- { uint64_t x37 = (uint64_t) (x36 >> 0x30);
- { uint64_t x38 = ((uint64_t)x36 & 0xffffffffffff);
- { uint128_t x39 = (((uint128_t)0x1000000000000 * x37) + x38);
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint64_t x42 = ((x31 + x29) + (0x10000 * x40));
- { uint64_t x43 = (x42 >> 0x30);
- { uint64_t x44 = (x42 & 0xffffffffffff);
- { uint64_t x45 = (x32 + x40);
- { uint64_t x46 = (x45 >> 0x30);
- { uint64_t x47 = (x45 & 0xffffffffffff);
- out[0] = x47;
- out[1] = (x46 + x44);
- out[2] = (x43 + x35);
- out[3] = x41;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/femul.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/femul.v
deleted file mode 100644
index 3582e660b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/femulDisplay.log b/src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.log
deleted file mode 100644
index 009614164..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,39 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = ((((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11)))) + (0x10000 * ((uint128_t)x8 * x14)));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (((uint128_t)x8 * x14) + (0x10000 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15)))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + ((((uint128_t)x9 * x14) + ((uint128_t)x8 * x15)) + (0x10000 * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13))))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13))));
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x16 >> 0x30);
- uint64_t x23 = ((uint64_t)x16 & 0xffffffffffff);
- uint128_t x24 = ((0x1000000000000 * x22) + x23);
- uint128_t x25 = (x24 >> 0x30);
- uint64_t x26 = ((uint64_t)x24 & 0xffffffffffff);
- uint128_t x27 = ((x20 + x18) + (0x10000 * x25));
- uint128_t x28 = (x27 >> 0x30);
- uint64_t x29 = ((uint64_t)x27 & 0xffffffffffff);
- uint128_t x30 = (x21 + x25);
- uint64_t x31 = (uint64_t) (x30 >> 0x30);
- uint64_t x32 = ((uint64_t)x30 & 0xffffffffffff);
- uint128_t x33 = (x28 + x17);
- uint128_t x34 = (x33 >> 0x30);
- uint64_t x35 = ((uint64_t)x33 & 0xffffffffffff);
- uint128_t x36 = (x34 + x26);
- uint64_t x37 = (uint64_t) (x36 >> 0x30);
- uint64_t x38 = ((uint64_t)x36 & 0xffffffffffff);
- uint128_t x39 = (((uint128_t)0x1000000000000 * x37) + x38);
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint64_t x42 = ((x31 + x29) + (0x10000 * x40));
- uint64_t x43 = (x42 >> 0x30);
- uint64_t x44 = (x42 & 0xffffffffffff);
- uint64_t x45 = (x32 + x40);
- uint64_t x46 = (x45 >> 0x30);
- uint64_t x47 = (x45 & 0xffffffffffff);
- return (Return x41, (x43 + x35), (x46 + x44), Return x47))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.v
deleted file mode 100644
index fd291717e..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.c b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.c
deleted file mode 100644
index 5988be53a..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = ((((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2)))) + (0x10000 * ((uint128_t)x5 * x5)));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x5 * x5) + (0x10000 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6)))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((((uint128_t)x6 * x5) + ((uint128_t)x5 * x6)) + (0x10000 * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4))))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x30);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- { uint128_t x13 = (x7 >> 0x30);
- { uint64_t x14 = ((uint64_t)x7 & 0xffffffffffff);
- { uint128_t x15 = ((0x1000000000000 * x13) + x14);
- { uint128_t x16 = (x15 >> 0x30);
- { uint64_t x17 = ((uint64_t)x15 & 0xffffffffffff);
- { uint128_t x18 = ((x11 + x9) + (0x10000 * x16));
- { uint128_t x19 = (x18 >> 0x30);
- { uint64_t x20 = ((uint64_t)x18 & 0xffffffffffff);
- { uint128_t x21 = (x12 + x16);
- { uint64_t x22 = (uint64_t) (x21 >> 0x30);
- { uint64_t x23 = ((uint64_t)x21 & 0xffffffffffff);
- { uint128_t x24 = (x19 + x8);
- { uint128_t x25 = (x24 >> 0x30);
- { uint64_t x26 = ((uint64_t)x24 & 0xffffffffffff);
- { uint128_t x27 = (x25 + x17);
- { uint64_t x28 = (uint64_t) (x27 >> 0x30);
- { uint64_t x29 = ((uint64_t)x27 & 0xffffffffffff);
- { uint128_t x30 = (((uint128_t)0x1000000000000 * x28) + x29);
- { uint64_t x31 = (uint64_t) (x30 >> 0x30);
- { uint64_t x32 = ((uint64_t)x30 & 0xffffffffffff);
- { uint64_t x33 = ((x22 + x20) + (0x10000 * x31));
- { uint64_t x34 = (x33 >> 0x30);
- { uint64_t x35 = (x33 & 0xffffffffffff);
- { uint64_t x36 = (x23 + x31);
- { uint64_t x37 = (x36 >> 0x30);
- { uint64_t x38 = (x36 & 0xffffffffffff);
- out[0] = x38;
- out[1] = (x37 + x35);
- out[2] = (x34 + x26);
- out[3] = x32;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.v
deleted file mode 100644
index 854710e4b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.log
deleted file mode 100644
index 3878dd9df..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,39 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = ((((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2)))) + (0x10000 * ((uint128_t)x5 * x5)));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x5 * x5) + (0x10000 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6)))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((((uint128_t)x6 * x5) + ((uint128_t)x5 * x6)) + (0x10000 * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4))))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4))));
- uint64_t x11 = (uint64_t) (x10 >> 0x30);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffffff);
- uint128_t x13 = (x7 >> 0x30);
- uint64_t x14 = ((uint64_t)x7 & 0xffffffffffff);
- uint128_t x15 = ((0x1000000000000 * x13) + x14);
- uint128_t x16 = (x15 >> 0x30);
- uint64_t x17 = ((uint64_t)x15 & 0xffffffffffff);
- uint128_t x18 = ((x11 + x9) + (0x10000 * x16));
- uint128_t x19 = (x18 >> 0x30);
- uint64_t x20 = ((uint64_t)x18 & 0xffffffffffff);
- uint128_t x21 = (x12 + x16);
- uint64_t x22 = (uint64_t) (x21 >> 0x30);
- uint64_t x23 = ((uint64_t)x21 & 0xffffffffffff);
- uint128_t x24 = (x19 + x8);
- uint128_t x25 = (x24 >> 0x30);
- uint64_t x26 = ((uint64_t)x24 & 0xffffffffffff);
- uint128_t x27 = (x25 + x17);
- uint64_t x28 = (uint64_t) (x27 >> 0x30);
- uint64_t x29 = ((uint64_t)x27 & 0xffffffffffff);
- uint128_t x30 = (((uint128_t)0x1000000000000 * x28) + x29);
- uint64_t x31 = (uint64_t) (x30 >> 0x30);
- uint64_t x32 = ((uint64_t)x30 & 0xffffffffffff);
- uint64_t x33 = ((x22 + x20) + (0x10000 * x31));
- uint64_t x34 = (x33 >> 0x30);
- uint64_t x35 = (x33 & 0xffffffffffff);
- uint64_t x36 = (x23 + x31);
- uint64_t x37 = (x36 >> 0x30);
- uint64_t x38 = (x36 & 0xffffffffffff);
- return (Return x32, (x34 + x26), (x37 + x35), Return x38))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.v
deleted file mode 100644
index caea20f08..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.c b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.c
deleted file mode 100644
index 1a50d25e3..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1fffffffffffe + x5) - x11);
- out[1] = ((0x1fffffffdfffe + x7) - x13);
- out[2] = ((0x1fffffffffffe + x9) - x15);
- out[3] = ((0x1fffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.v
deleted file mode 100644
index 6d7c11a0c..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.log
deleted file mode 100644
index 2a60218c6..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x1fffffffffffe + x8) - x14), ((0x1fffffffffffe + x9) - x15), ((0x1fffffffdfffe + x7) - x13), ((0x1fffffffffffe + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.v
deleted file mode 100644
index 7445b6976..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.c b/src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.c
deleted file mode 100644
index c1e4735bd..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xfffffffeffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0xfffffffeffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0xffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.v
deleted file mode 100644
index 409c072da..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.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/solinas64_2e192m2e64m1_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.log
deleted file mode 100644
index ea4bfd068..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xfffffffeffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0xfffffffeffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0xffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.v
deleted file mode 100644
index 0d738c828..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e192m2e64m1_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e192m2e64m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 3607c7e1e..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**192 - 2**64 - 1' -Dmodulus_bytes='48' -Da24='121665'
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/CurveParameters.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/CurveParameters.v
deleted file mode 100644
index 8cc8f324b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^192 - 2^64 - 1
-Base: 38.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 38 + 2/5;
- bitwidth := 64;
- s := 2^192;
- c := [(1, 1); (2^64, 1)];
- carry_chains := Some [[0; 4]; [1; 0; 2; 3; 4]; [1; 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/solinas64_2e192m2e64m1_5limbs/Synthesis.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/Synthesis.v
deleted file mode 100644
index f68fdf799..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/compiler.sh b/src/Specific/solinas64_2e192m2e64m1_5limbs/compiler.sh
deleted file mode 100755
index a19b09665..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/compilerxx.sh b/src/Specific/solinas64_2e192m2e64m1_5limbs/compilerxx.sh
deleted file mode 100755
index 301adb661..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='24' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<192) - (1_mpz<<64) - 1' "$@"
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.c b/src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.v
deleted file mode 100644
index 4fd392746..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.v
deleted file mode 100644
index 2d52065b7..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fecarry.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/fecarry.v
deleted file mode 100644
index 17b0bec6b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/fecarryDisplay.v
deleted file mode 100644
index 657567ca8..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/femul.c b/src/Specific/solinas64_2e192m2e64m1_5limbs/femul.c
deleted file mode 100644
index f1bb383b9..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/femul.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = ((((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + (((uint128_t)x9 * x17) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13))))) + (0x4000000 * ((uint128_t)x10 * x18)));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (((uint128_t)x10 * x18) + (0x2000000 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19))))));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19))) + (0x4000000 * (((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17))))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + ((((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17))) + (0x2000000 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15))))))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x27);
- { uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- { uint128_t x27 = (x20 >> 0x26);
- { uint64_t x28 = ((uint64_t)x20 & 0x3fffffffff);
- { uint128_t x29 = ((0x4000000000 * x27) + x28);
- { uint128_t x30 = (x29 >> 0x26);
- { uint64_t x31 = ((uint64_t)x29 & 0x3fffffffff);
- { uint128_t x32 = ((x25 + x23) + (0x2000000 * x30));
- { uint128_t x33 = (x32 >> 0x26);
- { uint64_t x34 = ((uint64_t)x32 & 0x3fffffffff);
- { uint128_t x35 = (x26 + x30);
- { uint64_t x36 = (uint64_t) (x35 >> 0x27);
- { uint64_t x37 = ((uint64_t)x35 & 0x7fffffffff);
- { uint128_t x38 = (x33 + x22);
- { uint128_t x39 = (x38 >> 0x27);
- { uint64_t x40 = ((uint64_t)x38 & 0x7fffffffff);
- { uint128_t x41 = (x39 + x21);
- { uint128_t x42 = (x41 >> 0x26);
- { uint64_t x43 = ((uint64_t)x41 & 0x3fffffffff);
- { uint128_t x44 = (x42 + x31);
- { uint64_t x45 = (uint64_t) (x44 >> 0x26);
- { uint64_t x46 = ((uint64_t)x44 & 0x3fffffffff);
- { uint128_t x47 = (((uint128_t)0x4000000000 * x45) + x46);
- { uint64_t x48 = (uint64_t) (x47 >> 0x26);
- { uint64_t x49 = ((uint64_t)x47 & 0x3fffffffff);
- { uint64_t x50 = ((x36 + x34) + (0x2000000 * x48));
- { uint64_t x51 = (x50 >> 0x26);
- { uint64_t x52 = (x50 & 0x3fffffffff);
- { uint64_t x53 = (x37 + x48);
- { uint64_t x54 = (x53 >> 0x27);
- { uint64_t x55 = (x53 & 0x7fffffffff);
- out[0] = x55;
- out[1] = (x54 + x52);
- out[2] = (x51 + x40);
- out[3] = x43;
- out[4] = x49;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/femul.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/femul.v
deleted file mode 100644
index 49b7a08c5..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/femulDisplay.log b/src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.log
deleted file mode 100644
index 84359a3b0..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,43 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = ((((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + (((uint128_t)x9 * x17) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13))))) + (0x4000000 * ((uint128_t)x10 * x18)));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (((uint128_t)x10 * x18) + (0x2000000 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19))))));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19))) + (0x4000000 * (((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17))))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + ((((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17))) + (0x2000000 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15))))))));
- uint128_t x24 = (((uint128_t)x5 * x13) + ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x27);
- uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- uint128_t x27 = (x20 >> 0x26);
- uint64_t x28 = ((uint64_t)x20 & 0x3fffffffff);
- uint128_t x29 = ((0x4000000000 * x27) + x28);
- uint128_t x30 = (x29 >> 0x26);
- uint64_t x31 = ((uint64_t)x29 & 0x3fffffffff);
- uint128_t x32 = ((x25 + x23) + (0x2000000 * x30));
- uint128_t x33 = (x32 >> 0x26);
- uint64_t x34 = ((uint64_t)x32 & 0x3fffffffff);
- uint128_t x35 = (x26 + x30);
- uint64_t x36 = (uint64_t) (x35 >> 0x27);
- uint64_t x37 = ((uint64_t)x35 & 0x7fffffffff);
- uint128_t x38 = (x33 + x22);
- uint128_t x39 = (x38 >> 0x27);
- uint64_t x40 = ((uint64_t)x38 & 0x7fffffffff);
- uint128_t x41 = (x39 + x21);
- uint128_t x42 = (x41 >> 0x26);
- uint64_t x43 = ((uint64_t)x41 & 0x3fffffffff);
- uint128_t x44 = (x42 + x31);
- uint64_t x45 = (uint64_t) (x44 >> 0x26);
- uint64_t x46 = ((uint64_t)x44 & 0x3fffffffff);
- uint128_t x47 = (((uint128_t)0x4000000000 * x45) + x46);
- uint64_t x48 = (uint64_t) (x47 >> 0x26);
- uint64_t x49 = ((uint64_t)x47 & 0x3fffffffff);
- uint64_t x50 = ((x36 + x34) + (0x2000000 * x48));
- uint64_t x51 = (x50 >> 0x26);
- uint64_t x52 = (x50 & 0x3fffffffff);
- uint64_t x53 = (x37 + x48);
- uint64_t x54 = (x53 >> 0x27);
- uint64_t x55 = (x53 & 0x7fffffffff);
- return (Return x49, Return x43, (x51 + x40), (x54 + x52), Return x55))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.v
deleted file mode 100644
index a9ac50598..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.c b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.c
deleted file mode 100644
index 232b4b694..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = ((((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2))))) + (0x4000000 * ((uint128_t)x7 * x7)));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x7 * x7) + (0x2000000 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8))))));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8))) + (0x4000000 * (((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6))))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6))) + (0x2000000 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4))))))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x27);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- { uint128_t x16 = (x9 >> 0x26);
- { uint64_t x17 = ((uint64_t)x9 & 0x3fffffffff);
- { uint128_t x18 = ((0x4000000000 * x16) + x17);
- { uint128_t x19 = (x18 >> 0x26);
- { uint64_t x20 = ((uint64_t)x18 & 0x3fffffffff);
- { uint128_t x21 = ((x14 + x12) + (0x2000000 * x19));
- { uint128_t x22 = (x21 >> 0x26);
- { uint64_t x23 = ((uint64_t)x21 & 0x3fffffffff);
- { uint128_t x24 = (x15 + x19);
- { uint64_t x25 = (uint64_t) (x24 >> 0x27);
- { uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- { uint128_t x27 = (x22 + x11);
- { uint128_t x28 = (x27 >> 0x27);
- { uint64_t x29 = ((uint64_t)x27 & 0x7fffffffff);
- { uint128_t x30 = (x28 + x10);
- { uint128_t x31 = (x30 >> 0x26);
- { uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- { uint128_t x33 = (x31 + x20);
- { uint64_t x34 = (uint64_t) (x33 >> 0x26);
- { uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- { uint128_t x36 = (((uint128_t)0x4000000000 * x34) + x35);
- { uint64_t x37 = (uint64_t) (x36 >> 0x26);
- { uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- { uint64_t x39 = ((x25 + x23) + (0x2000000 * x37));
- { uint64_t x40 = (x39 >> 0x26);
- { uint64_t x41 = (x39 & 0x3fffffffff);
- { uint64_t x42 = (x26 + x37);
- { uint64_t x43 = (x42 >> 0x27);
- { uint64_t x44 = (x42 & 0x7fffffffff);
- out[0] = x44;
- out[1] = (x43 + x41);
- out[2] = (x40 + x29);
- out[3] = x32;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.v
deleted file mode 100644
index a4bcef1b2..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.log
deleted file mode 100644
index 49b683b56..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,43 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = ((((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2))))) + (0x4000000 * ((uint128_t)x7 * x7)));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x7 * x7) + (0x2000000 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8))))));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8))) + (0x4000000 * (((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6))))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6))) + (0x2000000 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4))))))));
- uint128_t x13 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x27);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- uint128_t x16 = (x9 >> 0x26);
- uint64_t x17 = ((uint64_t)x9 & 0x3fffffffff);
- uint128_t x18 = ((0x4000000000 * x16) + x17);
- uint128_t x19 = (x18 >> 0x26);
- uint64_t x20 = ((uint64_t)x18 & 0x3fffffffff);
- uint128_t x21 = ((x14 + x12) + (0x2000000 * x19));
- uint128_t x22 = (x21 >> 0x26);
- uint64_t x23 = ((uint64_t)x21 & 0x3fffffffff);
- uint128_t x24 = (x15 + x19);
- uint64_t x25 = (uint64_t) (x24 >> 0x27);
- uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- uint128_t x27 = (x22 + x11);
- uint128_t x28 = (x27 >> 0x27);
- uint64_t x29 = ((uint64_t)x27 & 0x7fffffffff);
- uint128_t x30 = (x28 + x10);
- uint128_t x31 = (x30 >> 0x26);
- uint64_t x32 = ((uint64_t)x30 & 0x3fffffffff);
- uint128_t x33 = (x31 + x20);
- uint64_t x34 = (uint64_t) (x33 >> 0x26);
- uint64_t x35 = ((uint64_t)x33 & 0x3fffffffff);
- uint128_t x36 = (((uint128_t)0x4000000000 * x34) + x35);
- uint64_t x37 = (uint64_t) (x36 >> 0x26);
- uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- uint64_t x39 = ((x25 + x23) + (0x2000000 * x37));
- uint64_t x40 = (x39 >> 0x26);
- uint64_t x41 = (x39 & 0x3fffffffff);
- uint64_t x42 = (x26 + x37);
- uint64_t x43 = (x42 >> 0x27);
- uint64_t x44 = (x42 & 0x7fffffffff);
- return (Return x38, Return x32, (x40 + x29), (x43 + x41), Return x44))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.v
deleted file mode 100644
index 73ae9819b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.c b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.c
deleted file mode 100644
index 3cd07ae40..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xfffffffffe + x5) - x13);
- out[1] = ((0x7ffbfffffe + x7) - x15);
- out[2] = ((0xfffffffffe + x9) - x17);
- out[3] = ((0x7ffffffffe + x11) - x19);
- out[4] = ((0x7ffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.v
deleted file mode 100644
index 8919ae69b..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.log
deleted file mode 100644
index 7372f4ab9..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7ffffffffe + x10) - x18), ((0x7ffffffffe + x11) - x19), ((0xfffffffffe + x9) - x17), ((0x7ffbfffffe + x7) - x15), ((0xfffffffffe + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.v
deleted file mode 100644
index 1a1f6a75e..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.c b/src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.c
deleted file mode 100644
index 4d7951d82..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffff);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffdffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7fffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3ffdffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3fffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.v
deleted file mode 100644
index b8a89f7df..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.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/solinas64_2e192m2e64m1_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.log
deleted file mode 100644
index 03365946d..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffff);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffdffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7fffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3ffdffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3fffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.v
deleted file mode 100644
index 15ed758e1..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e192m2e64m1_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e192m2e64m1_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e192m2e64m1_5limbs/py_interpreter.sh
deleted file mode 100755
index 247cfa03f..000000000
--- a/src/Specific/solinas64_2e192m2e64m1_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**192 - 2**64 - 1' -Dmodulus_bytes='38.4' -Da24='121665'
diff --git a/src/Specific/solinas64_2e194m33_4limbs/CurveParameters.v b/src/Specific/solinas64_2e194m33_4limbs/CurveParameters.v
deleted file mode 100644
index 905a67b54..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^194 - 33
-Base: 48.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 48 + 1/2;
- bitwidth := 64;
- s := 2^194;
- c := [(1, 33)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e194m33_4limbs/Synthesis.v b/src/Specific/solinas64_2e194m33_4limbs/Synthesis.v
deleted file mode 100644
index 8db27b622..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/compiler.sh b/src/Specific/solinas64_2e194m33_4limbs/compiler.sh
deleted file mode 100755
index a90927d53..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas64_2e194m33_4limbs/compilerxx.sh b/src/Specific/solinas64_2e194m33_4limbs/compilerxx.sh
deleted file mode 100755
index 2dee2d8cd..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas64_2e194m33_4limbs/feadd.c b/src/Specific/solinas64_2e194m33_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_4limbs/feadd.v b/src/Specific/solinas64_2e194m33_4limbs/feadd.v
deleted file mode 100644
index be8e2fbc4..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.v
deleted file mode 100644
index 8d90e1469..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fecarry.v b/src/Specific/solinas64_2e194m33_4limbs/fecarry.v
deleted file mode 100644
index a8763f9b0..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e194m33_4limbs/fecarryDisplay.v
deleted file mode 100644
index 58583e035..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e194m33_4limbs/femul.c b/src/Specific/solinas64_2e194m33_4limbs/femul.c
deleted file mode 100644
index c9dfe04d0..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x21 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x21 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x21 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x31);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x31);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint64_t x31 = (x21 + (0x21 * x29));
- { uint64_t x32 = (x31 >> 0x31);
- { uint64_t x33 = (x31 & 0x1ffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x30);
- { uint64_t x36 = (x34 & 0xffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_4limbs/femul.v b/src/Specific/solinas64_2e194m33_4limbs/femul.v
deleted file mode 100644
index b506a9a45..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/femulDisplay.log b/src/Specific/solinas64_2e194m33_4limbs/femulDisplay.log
deleted file mode 100644
index c3b8e1fbe..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x21 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x21 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x21 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x31);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x31);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint64_t x31 = (x21 + (0x21 * x29));
- uint64_t x32 = (x31 >> 0x31);
- uint64_t x33 = (x31 & 0x1ffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x30);
- uint64_t x36 = (x34 & 0xffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_4limbs/femulDisplay.v b/src/Specific/solinas64_2e194m33_4limbs/femulDisplay.v
deleted file mode 100644
index 3666d841c..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fesquare.c b/src/Specific/solinas64_2e194m33_4limbs/fesquare.c
deleted file mode 100644
index 877c757a4..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x21 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x21 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x21 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x31);
- { uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x30);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x31);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint64_t x22 = (x12 + (0x21 * x20));
- { uint64_t x23 = (x22 >> 0x31);
- { uint64_t x24 = (x22 & 0x1ffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x30);
- { uint64_t x27 = (x25 & 0xffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fesquare.v b/src/Specific/solinas64_2e194m33_4limbs/fesquare.v
deleted file mode 100644
index 65a47c86d..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.log
deleted file mode 100644
index 9fa536104..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x21 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x21 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x21 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x31);
- uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x30);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x31);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint64_t x22 = (x12 + (0x21 * x20));
- uint64_t x23 = (x22 >> 0x31);
- uint64_t x24 = (x22 & 0x1ffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x30);
- uint64_t x27 = (x25 & 0xffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.v
deleted file mode 100644
index 5e2de3fe0..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fesub.c b/src/Specific/solinas64_2e194m33_4limbs/fesub.c
deleted file mode 100644
index 9d40814f9..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x3ffffffffffbe + x5) - x11);
- out[1] = ((0x1fffffffffffe + x7) - x13);
- out[2] = ((0x3fffffffffffe + x9) - x15);
- out[3] = ((0x1fffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fesub.v b/src/Specific/solinas64_2e194m33_4limbs/fesub.v
deleted file mode 100644
index 5d9af03e4..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.log
deleted file mode 100644
index 7240009c0..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x1fffffffffffe + x8) - x14), ((0x3fffffffffffe + x9) - x15), ((0x1fffffffffffe + x7) - x13), ((0x3ffffffffffbe + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.v
deleted file mode 100644
index c84996f85..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e194m33_4limbs/freeze.c b/src/Specific/solinas64_2e194m33_4limbs/freeze.c
deleted file mode 100644
index 92cbe9964..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffdf);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x1ffffffffffdf);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0xffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1ffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0xffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_4limbs/freeze.v b/src/Specific/solinas64_2e194m33_4limbs/freeze.v
deleted file mode 100644
index f388b4023..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.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/solinas64_2e194m33_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.log
deleted file mode 100644
index 38df2685d..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffdf);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x1ffffffffffdf);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0xffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1ffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0xffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.v
deleted file mode 100644
index 7f20a669f..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e194m33_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e194m33_4limbs/py_interpreter.sh
deleted file mode 100755
index fb89b1eeb..000000000
--- a/src/Specific/solinas64_2e194m33_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**194 - 33' -Dmodulus_bytes='48.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e194m33_5limbs/CurveParameters.v b/src/Specific/solinas64_2e194m33_5limbs/CurveParameters.v
deleted file mode 100644
index b568340d9..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^194 - 33
-Base: 38.8
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 38 + 4/5;
- bitwidth := 64;
- s := 2^194;
- c := [(1, 33)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e194m33_5limbs/Synthesis.v b/src/Specific/solinas64_2e194m33_5limbs/Synthesis.v
deleted file mode 100644
index f3959f7a4..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/compiler.sh b/src/Specific/solinas64_2e194m33_5limbs/compiler.sh
deleted file mode 100755
index 6f2720dbd..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,39,39,39,38}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas64_2e194m33_5limbs/compilerxx.sh b/src/Specific/solinas64_2e194m33_5limbs/compilerxx.sh
deleted file mode 100755
index 076040da1..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,39,39,39,38}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xdf}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<194) - 33' "$@"
diff --git a/src/Specific/solinas64_2e194m33_5limbs/feadd.c b/src/Specific/solinas64_2e194m33_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_5limbs/feadd.v b/src/Specific/solinas64_2e194m33_5limbs/feadd.v
deleted file mode 100644
index 57417ca0f..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.v
deleted file mode 100644
index 57fabbda1..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fecarry.v b/src/Specific/solinas64_2e194m33_5limbs/fecarry.v
deleted file mode 100644
index 0850ae245..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e194m33_5limbs/fecarryDisplay.v
deleted file mode 100644
index ca29636ee..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e194m33_5limbs/femul.c b/src/Specific/solinas64_2e194m33_5limbs/femul.c
deleted file mode 100644
index 3da03686d..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x21 * (0x2 * ((uint128_t)x10 * x18))));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x21 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x21 * ((0x2 * ((uint128_t)x9 * x18)) + ((0x2 * ((uint128_t)x11 * x19)) + (0x2 * ((uint128_t)x10 * x17))))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x21 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x27);
- { uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x27);
- { uint64_t x29 = ((uint64_t)x27 & 0x7fffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x27);
- { uint64_t x32 = ((uint64_t)x30 & 0x7fffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x27);
- { uint64_t x35 = ((uint64_t)x33 & 0x7fffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x26);
- { uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- { uint64_t x39 = (x26 + (0x21 * x37));
- { uint64_t x40 = (x39 >> 0x27);
- { uint64_t x41 = (x39 & 0x7fffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x27);
- { uint64_t x44 = (x42 & 0x7fffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_5limbs/femul.v b/src/Specific/solinas64_2e194m33_5limbs/femul.v
deleted file mode 100644
index 76f2b6bc1..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/femulDisplay.log b/src/Specific/solinas64_2e194m33_5limbs/femulDisplay.log
deleted file mode 100644
index 6c52f4df3..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x21 * (0x2 * ((uint128_t)x10 * x18))));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x21 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x21 * ((0x2 * ((uint128_t)x9 * x18)) + ((0x2 * ((uint128_t)x11 * x19)) + (0x2 * ((uint128_t)x10 * x17))))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x21 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x27);
- uint64_t x26 = ((uint64_t)x24 & 0x7fffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x27);
- uint64_t x29 = ((uint64_t)x27 & 0x7fffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x27);
- uint64_t x32 = ((uint64_t)x30 & 0x7fffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x27);
- uint64_t x35 = ((uint64_t)x33 & 0x7fffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x26);
- uint64_t x38 = ((uint64_t)x36 & 0x3fffffffff);
- uint64_t x39 = (x26 + (0x21 * x37));
- uint64_t x40 = (x39 >> 0x27);
- uint64_t x41 = (x39 & 0x7fffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x27);
- uint64_t x44 = (x42 & 0x7fffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_5limbs/femulDisplay.v b/src/Specific/solinas64_2e194m33_5limbs/femulDisplay.v
deleted file mode 100644
index 4ce5075c0..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fesquare.c b/src/Specific/solinas64_2e194m33_5limbs/fesquare.c
deleted file mode 100644
index cedb2373d..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x21 * (0x2 * ((uint128_t)x7 * x7))));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x21 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x21 * ((0x2 * ((uint128_t)x6 * x7)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x7 * x6))))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x21 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x27);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x27);
- { uint64_t x18 = ((uint64_t)x16 & 0x7fffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x27);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x27);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x26);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- { uint64_t x28 = (x15 + (0x21 * x26));
- { uint64_t x29 = (x28 >> 0x27);
- { uint64_t x30 = (x28 & 0x7fffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x27);
- { uint64_t x33 = (x31 & 0x7fffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fesquare.v b/src/Specific/solinas64_2e194m33_5limbs/fesquare.v
deleted file mode 100644
index cb82af6e8..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.log
deleted file mode 100644
index 9dcb17a91..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x21 * (0x2 * ((uint128_t)x7 * x7))));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x21 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x21 * ((0x2 * ((uint128_t)x6 * x7)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x7 * x6))))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x21 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x27);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x27);
- uint64_t x18 = ((uint64_t)x16 & 0x7fffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x27);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x27);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x26);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffff);
- uint64_t x28 = (x15 + (0x21 * x26));
- uint64_t x29 = (x28 >> 0x27);
- uint64_t x30 = (x28 & 0x7fffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x27);
- uint64_t x33 = (x31 & 0x7fffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.v
deleted file mode 100644
index c09e15f0d..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fesub.c b/src/Specific/solinas64_2e194m33_5limbs/fesub.c
deleted file mode 100644
index af5e3276a..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xffffffffbe + x5) - x13);
- out[1] = ((0xfffffffffe + x7) - x15);
- out[2] = ((0xfffffffffe + x9) - x17);
- out[3] = ((0xfffffffffe + x11) - x19);
- out[4] = ((0x7ffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fesub.v b/src/Specific/solinas64_2e194m33_5limbs/fesub.v
deleted file mode 100644
index d59d0efe7..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.log
deleted file mode 100644
index 77468d508..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7ffffffffe + x10) - x18), ((0xfffffffffe + x11) - x19), ((0xfffffffffe + x9) - x17), ((0xfffffffffe + x7) - x15), ((0xffffffffbe + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.v
deleted file mode 100644
index 573400d24..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e194m33_5limbs/freeze.c b/src/Specific/solinas64_2e194m33_5limbs/freeze.c
deleted file mode 100644
index 78d62c5d8..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffdf);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7fffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7fffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7fffffffdf);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x7fffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x7fffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e194m33_5limbs/freeze.v b/src/Specific/solinas64_2e194m33_5limbs/freeze.v
deleted file mode 100644
index 7ba78f355..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.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/solinas64_2e194m33_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.log
deleted file mode 100644
index f2db1e405..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffdf);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7fffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7fffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7fffffffdf);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x7fffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x7fffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.v
deleted file mode 100644
index a0649c851..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e194m33_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e194m33_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e194m33_5limbs/py_interpreter.sh
deleted file mode 100755
index 08d10f16a..000000000
--- a/src/Specific/solinas64_2e194m33_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**194 - 33' -Dmodulus_bytes='38.8' -Da24='121665'
diff --git a/src/Specific/solinas64_2e196m15_4limbs/CurveParameters.v b/src/Specific/solinas64_2e196m15_4limbs/CurveParameters.v
deleted file mode 100644
index ebcf4a84e..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^196 - 15
-Base: 49
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 49;
- bitwidth := 64;
- s := 2^196;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e196m15_4limbs/Synthesis.v b/src/Specific/solinas64_2e196m15_4limbs/Synthesis.v
deleted file mode 100644
index 849e430bc..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/compiler.sh b/src/Specific/solinas64_2e196m15_4limbs/compiler.sh
deleted file mode 100755
index fbd5fd120..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas64_2e196m15_4limbs/compilerxx.sh b/src/Specific/solinas64_2e196m15_4limbs/compilerxx.sh
deleted file mode 100755
index 703451633..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas64_2e196m15_4limbs/feadd.c b/src/Specific/solinas64_2e196m15_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_4limbs/feadd.v b/src/Specific/solinas64_2e196m15_4limbs/feadd.v
deleted file mode 100644
index 9bdfe8184..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.v
deleted file mode 100644
index 3164edc5f..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fecarry.v b/src/Specific/solinas64_2e196m15_4limbs/fecarry.v
deleted file mode 100644
index cb349160c..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e196m15_4limbs/fecarryDisplay.v
deleted file mode 100644
index 787ac6f23..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e196m15_4limbs/femul.c b/src/Specific/solinas64_2e196m15_4limbs/femul.c
deleted file mode 100644
index 3f661dd84..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0xf * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xf * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0xf * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x31);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x31);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x31);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint64_t x31 = (x21 + (0xf * x29));
- { uint64_t x32 = (x31 >> 0x31);
- { uint64_t x33 = (x31 & 0x1ffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x31);
- { uint64_t x36 = (x34 & 0x1ffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_4limbs/femul.v b/src/Specific/solinas64_2e196m15_4limbs/femul.v
deleted file mode 100644
index eeb44c34c..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/femulDisplay.log b/src/Specific/solinas64_2e196m15_4limbs/femulDisplay.log
deleted file mode 100644
index 72ad53d0e..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0xf * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xf * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0xf * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- uint64_t x20 = (uint64_t) (x19 >> 0x31);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x31);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x31);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint64_t x31 = (x21 + (0xf * x29));
- uint64_t x32 = (x31 >> 0x31);
- uint64_t x33 = (x31 & 0x1ffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x31);
- uint64_t x36 = (x34 & 0x1ffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_4limbs/femulDisplay.v b/src/Specific/solinas64_2e196m15_4limbs/femulDisplay.v
deleted file mode 100644
index 5c38c4e72..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fesquare.c b/src/Specific/solinas64_2e196m15_4limbs/fesquare.c
deleted file mode 100644
index 2679040a4..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xf * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0xf * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x31);
- { uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x31);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x31);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x31);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- { uint64_t x22 = (x12 + (0xf * x20));
- { uint64_t x23 = (x22 >> 0x31);
- { uint64_t x24 = (x22 & 0x1ffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x31);
- { uint64_t x27 = (x25 & 0x1ffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fesquare.v b/src/Specific/solinas64_2e196m15_4limbs/fesquare.v
deleted file mode 100644
index 72e20f524..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.log
deleted file mode 100644
index 764324a53..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xf * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0xf * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- uint64_t x11 = (uint64_t) (x10 >> 0x31);
- uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x31);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x31);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x31);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- uint64_t x22 = (x12 + (0xf * x20));
- uint64_t x23 = (x22 >> 0x31);
- uint64_t x24 = (x22 & 0x1ffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x31);
- uint64_t x27 = (x25 & 0x1ffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.v
deleted file mode 100644
index 49eba404f..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fesub.c b/src/Specific/solinas64_2e196m15_4limbs/fesub.c
deleted file mode 100644
index 7ffc0db76..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x3ffffffffffe2 + x5) - x11);
- out[1] = ((0x3fffffffffffe + x7) - x13);
- out[2] = ((0x3fffffffffffe + x9) - x15);
- out[3] = ((0x3fffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fesub.v b/src/Specific/solinas64_2e196m15_4limbs/fesub.v
deleted file mode 100644
index c40e7f413..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.log
deleted file mode 100644
index 146b4988d..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3fffffffffffe + x8) - x14), ((0x3fffffffffffe + x9) - x15), ((0x3fffffffffffe + x7) - x13), ((0x3ffffffffffe2 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.v
deleted file mode 100644
index cf2380328..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e196m15_4limbs/freeze.c b/src/Specific/solinas64_2e196m15_4limbs/freeze.c
deleted file mode 100644
index bdc2f7c30..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff1);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x1fffffffffff1);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1ffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1ffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1ffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_4limbs/freeze.v b/src/Specific/solinas64_2e196m15_4limbs/freeze.v
deleted file mode 100644
index 183f294ca..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.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/solinas64_2e196m15_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.log
deleted file mode 100644
index 372b48361..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff1);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x1fffffffffff1);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1ffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1ffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1ffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.v
deleted file mode 100644
index 1aa8f8bd0..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e196m15_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e196m15_4limbs/py_interpreter.sh
deleted file mode 100755
index f55283233..000000000
--- a/src/Specific/solinas64_2e196m15_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**196 - 15' -Dmodulus_bytes='49' -Da24='121665'
diff --git a/src/Specific/solinas64_2e196m15_5limbs/CurveParameters.v b/src/Specific/solinas64_2e196m15_5limbs/CurveParameters.v
deleted file mode 100644
index e8d14cbf0..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^196 - 15
-Base: 39.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 39 + 1/5;
- bitwidth := 64;
- s := 2^196;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e196m15_5limbs/Synthesis.v b/src/Specific/solinas64_2e196m15_5limbs/Synthesis.v
deleted file mode 100644
index e5a7f27d5..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/compiler.sh b/src/Specific/solinas64_2e196m15_5limbs/compiler.sh
deleted file mode 100755
index 66b199880..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,39,39,39}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas64_2e196m15_5limbs/compilerxx.sh b/src/Specific/solinas64_2e196m15_5limbs/compilerxx.sh
deleted file mode 100755
index 30d9bff45..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,39,39,39,39}' -Dmodulus_array='{0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<196) - 15' "$@"
diff --git a/src/Specific/solinas64_2e196m15_5limbs/feadd.c b/src/Specific/solinas64_2e196m15_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_5limbs/feadd.v b/src/Specific/solinas64_2e196m15_5limbs/feadd.v
deleted file mode 100644
index c04e0681d..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.v
deleted file mode 100644
index e55ab2033..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fecarry.v b/src/Specific/solinas64_2e196m15_5limbs/fecarry.v
deleted file mode 100644
index 4290ccee8..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e196m15_5limbs/fecarryDisplay.v
deleted file mode 100644
index fdd2d5979..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e196m15_5limbs/femul.c b/src/Specific/solinas64_2e196m15_5limbs/femul.c
deleted file mode 100644
index 53b5c5be0..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0xf * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0xf * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xf * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0xf * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x28);
- { uint64_t x26 = ((uint64_t)x24 & 0xffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x27);
- { uint64_t x29 = ((uint64_t)x27 & 0x7fffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x27);
- { uint64_t x32 = ((uint64_t)x30 & 0x7fffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x27);
- { uint64_t x35 = ((uint64_t)x33 & 0x7fffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x27);
- { uint64_t x38 = ((uint64_t)x36 & 0x7fffffffff);
- { uint64_t x39 = (x26 + (0xf * x37));
- { uint64_t x40 = (x39 >> 0x28);
- { uint64_t x41 = (x39 & 0xffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x27);
- { uint64_t x44 = (x42 & 0x7fffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_5limbs/femul.v b/src/Specific/solinas64_2e196m15_5limbs/femul.v
deleted file mode 100644
index db4acb081..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/femulDisplay.log b/src/Specific/solinas64_2e196m15_5limbs/femulDisplay.log
deleted file mode 100644
index 4b2da44d9..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0xf * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0xf * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xf * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0xf * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x28);
- uint64_t x26 = ((uint64_t)x24 & 0xffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x27);
- uint64_t x29 = ((uint64_t)x27 & 0x7fffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x27);
- uint64_t x32 = ((uint64_t)x30 & 0x7fffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x27);
- uint64_t x35 = ((uint64_t)x33 & 0x7fffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x27);
- uint64_t x38 = ((uint64_t)x36 & 0x7fffffffff);
- uint64_t x39 = (x26 + (0xf * x37));
- uint64_t x40 = (x39 >> 0x28);
- uint64_t x41 = (x39 & 0xffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x27);
- uint64_t x44 = (x42 & 0x7fffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_5limbs/femulDisplay.v b/src/Specific/solinas64_2e196m15_5limbs/femulDisplay.v
deleted file mode 100644
index 1f295f2d4..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fesquare.c b/src/Specific/solinas64_2e196m15_5limbs/fesquare.c
deleted file mode 100644
index 8d86aaca7..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xf * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x28);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x27);
- { uint64_t x18 = ((uint64_t)x16 & 0x7fffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x27);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x27);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x27);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffff);
- { uint64_t x28 = (x15 + (0xf * x26));
- { uint64_t x29 = (x28 >> 0x28);
- { uint64_t x30 = (x28 & 0xffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x27);
- { uint64_t x33 = (x31 & 0x7fffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fesquare.v b/src/Specific/solinas64_2e196m15_5limbs/fesquare.v
deleted file mode 100644
index db45c1615..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.log
deleted file mode 100644
index 91d4183db..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xf * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x28);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x27);
- uint64_t x18 = ((uint64_t)x16 & 0x7fffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x27);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x27);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x27);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffff);
- uint64_t x28 = (x15 + (0xf * x26));
- uint64_t x29 = (x28 >> 0x28);
- uint64_t x30 = (x28 & 0xffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x27);
- uint64_t x33 = (x31 & 0x7fffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.v
deleted file mode 100644
index c7c20f567..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fesub.c b/src/Specific/solinas64_2e196m15_5limbs/fesub.c
deleted file mode 100644
index c0b8ef744..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x1ffffffffe2 + x5) - x13);
- out[1] = ((0xfffffffffe + x7) - x15);
- out[2] = ((0xfffffffffe + x9) - x17);
- out[3] = ((0xfffffffffe + x11) - x19);
- out[4] = ((0xfffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fesub.v b/src/Specific/solinas64_2e196m15_5limbs/fesub.v
deleted file mode 100644
index 109e48a66..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.log
deleted file mode 100644
index f07c84954..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xfffffffffe + x10) - x18), ((0xfffffffffe + x11) - x19), ((0xfffffffffe + x9) - x17), ((0xfffffffffe + x7) - x15), ((0x1ffffffffe2 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.v
deleted file mode 100644
index 756e89d91..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e196m15_5limbs/freeze.c b/src/Specific/solinas64_2e196m15_5limbs/freeze.c
deleted file mode 100644
index 2d29b2c29..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffff1);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7fffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7fffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xfffffffff1);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x7fffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x7fffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x7fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e196m15_5limbs/freeze.v b/src/Specific/solinas64_2e196m15_5limbs/freeze.v
deleted file mode 100644
index 8b38a6b79..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.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/solinas64_2e196m15_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.log
deleted file mode 100644
index 68f94d6f5..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffff1);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7fffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7fffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xfffffffff1);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x7fffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x7fffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x7fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.v
deleted file mode 100644
index c4e15707f..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e196m15_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e196m15_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e196m15_5limbs/py_interpreter.sh
deleted file mode 100755
index 05a13ecb2..000000000
--- a/src/Specific/solinas64_2e196m15_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**196 - 15' -Dmodulus_bytes='39.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e198m17_4limbs/CurveParameters.v b/src/Specific/solinas64_2e198m17_4limbs/CurveParameters.v
deleted file mode 100644
index cb3a65318..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^198 - 17
-Base: 49.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 49 + 1/2;
- bitwidth := 64;
- s := 2^198;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e198m17_4limbs/Synthesis.v b/src/Specific/solinas64_2e198m17_4limbs/Synthesis.v
deleted file mode 100644
index e267ca95f..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/compiler.sh b/src/Specific/solinas64_2e198m17_4limbs/compiler.sh
deleted file mode 100755
index 71fad0336..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas64_2e198m17_4limbs/compilerxx.sh b/src/Specific/solinas64_2e198m17_4limbs/compilerxx.sh
deleted file mode 100755
index 8ac470860..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas64_2e198m17_4limbs/feadd.c b/src/Specific/solinas64_2e198m17_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_4limbs/feadd.v b/src/Specific/solinas64_2e198m17_4limbs/feadd.v
deleted file mode 100644
index c5df077fa..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.v
deleted file mode 100644
index b9259315e..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fecarry.v b/src/Specific/solinas64_2e198m17_4limbs/fecarry.v
deleted file mode 100644
index 5fa91c030..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e198m17_4limbs/fecarryDisplay.v
deleted file mode 100644
index 05be2fdf5..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e198m17_4limbs/femul.c b/src/Specific/solinas64_2e198m17_4limbs/femul.c
deleted file mode 100644
index 6fc4add36..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x11 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x11 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x11 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x32);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x31);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x32);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint64_t x31 = (x21 + (0x11 * x29));
- { uint64_t x32 = (x31 >> 0x32);
- { uint64_t x33 = (x31 & 0x3ffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x31);
- { uint64_t x36 = (x34 & 0x1ffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_4limbs/femul.v b/src/Specific/solinas64_2e198m17_4limbs/femul.v
deleted file mode 100644
index c8ebb794c..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/femulDisplay.log b/src/Specific/solinas64_2e198m17_4limbs/femulDisplay.log
deleted file mode 100644
index ad84fbfa8..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x11 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x11 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x11 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x32);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x31);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x32);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint64_t x31 = (x21 + (0x11 * x29));
- uint64_t x32 = (x31 >> 0x32);
- uint64_t x33 = (x31 & 0x3ffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x31);
- uint64_t x36 = (x34 & 0x1ffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_4limbs/femulDisplay.v b/src/Specific/solinas64_2e198m17_4limbs/femulDisplay.v
deleted file mode 100644
index 9a70f558c..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fesquare.c b/src/Specific/solinas64_2e198m17_4limbs/fesquare.c
deleted file mode 100644
index c2571c13f..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x32);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x31);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x32);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x31);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- { uint64_t x22 = (x12 + (0x11 * x20));
- { uint64_t x23 = (x22 >> 0x32);
- { uint64_t x24 = (x22 & 0x3ffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x31);
- { uint64_t x27 = (x25 & 0x1ffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fesquare.v b/src/Specific/solinas64_2e198m17_4limbs/fesquare.v
deleted file mode 100644
index 65b542280..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.log
deleted file mode 100644
index 7a55b9efd..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x32);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x31);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x32);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x31);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- uint64_t x22 = (x12 + (0x11 * x20));
- uint64_t x23 = (x22 >> 0x32);
- uint64_t x24 = (x22 & 0x3ffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x31);
- uint64_t x27 = (x25 & 0x1ffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.v
deleted file mode 100644
index 3e116ecf6..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fesub.c b/src/Specific/solinas64_2e198m17_4limbs/fesub.c
deleted file mode 100644
index 17a37ea15..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffffffde + x5) - x11);
- out[1] = ((0x3fffffffffffe + x7) - x13);
- out[2] = ((0x7fffffffffffe + x9) - x15);
- out[3] = ((0x3fffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fesub.v b/src/Specific/solinas64_2e198m17_4limbs/fesub.v
deleted file mode 100644
index d0a14ca2a..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.log
deleted file mode 100644
index 0454cd477..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3fffffffffffe + x8) - x14), ((0x7fffffffffffe + x9) - x15), ((0x3fffffffffffe + x7) - x13), ((0x7ffffffffffde + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.v
deleted file mode 100644
index c2ceb3ad2..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e198m17_4limbs/freeze.c b/src/Specific/solinas64_2e198m17_4limbs/freeze.c
deleted file mode 100644
index 0c7b96d4a..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffef);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3ffffffffffef);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1ffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3ffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1ffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_4limbs/freeze.v b/src/Specific/solinas64_2e198m17_4limbs/freeze.v
deleted file mode 100644
index 3df20ee5b..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.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/solinas64_2e198m17_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.log
deleted file mode 100644
index 5ff2bff86..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffef);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3ffffffffffef);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1ffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3ffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1ffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.v
deleted file mode 100644
index 20e19e6f4..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e198m17_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e198m17_4limbs/py_interpreter.sh
deleted file mode 100755
index 964700a43..000000000
--- a/src/Specific/solinas64_2e198m17_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**198 - 17' -Dmodulus_bytes='49.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e198m17_5limbs/CurveParameters.v b/src/Specific/solinas64_2e198m17_5limbs/CurveParameters.v
deleted file mode 100644
index 28e736777..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^198 - 17
-Base: 39.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 39 + 3/5;
- bitwidth := 64;
- s := 2^198;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e198m17_5limbs/Synthesis.v b/src/Specific/solinas64_2e198m17_5limbs/Synthesis.v
deleted file mode 100644
index 18d68a41b..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/compiler.sh b/src/Specific/solinas64_2e198m17_5limbs/compiler.sh
deleted file mode 100755
index 33684e979..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas64_2e198m17_5limbs/compilerxx.sh b/src/Specific/solinas64_2e198m17_5limbs/compilerxx.sh
deleted file mode 100755
index da068ff2a..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{40,40,39,40,39}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='25' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<198) - 17' "$@"
diff --git a/src/Specific/solinas64_2e198m17_5limbs/feadd.c b/src/Specific/solinas64_2e198m17_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_5limbs/feadd.v b/src/Specific/solinas64_2e198m17_5limbs/feadd.v
deleted file mode 100644
index 3b246f446..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.v
deleted file mode 100644
index 27b34a8d0..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fecarry.v b/src/Specific/solinas64_2e198m17_5limbs/fecarry.v
deleted file mode 100644
index 058f3fa80..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e198m17_5limbs/fecarryDisplay.v
deleted file mode 100644
index 8e3c5267e..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e198m17_5limbs/femul.c b/src/Specific/solinas64_2e198m17_5limbs/femul.c
deleted file mode 100644
index 65af7e2d5..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + ((0x2 * ((uint128_t)x9 * x17)) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x11 * (0x2 * ((uint128_t)x10 * x18))));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x11 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x11 * ((0x2 * ((uint128_t)x9 * x18)) + (((uint128_t)x11 * x19) + (0x2 * ((uint128_t)x10 * x17))))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x11 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x28);
- { uint64_t x26 = ((uint64_t)x24 & 0xffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x28);
- { uint64_t x29 = ((uint64_t)x27 & 0xffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x27);
- { uint64_t x32 = ((uint64_t)x30 & 0x7fffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x28);
- { uint64_t x35 = ((uint64_t)x33 & 0xffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x27);
- { uint64_t x38 = ((uint64_t)x36 & 0x7fffffffff);
- { uint64_t x39 = (x26 + (0x11 * x37));
- { uint64_t x40 = (x39 >> 0x28);
- { uint64_t x41 = (x39 & 0xffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x28);
- { uint64_t x44 = (x42 & 0xffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_5limbs/femul.v b/src/Specific/solinas64_2e198m17_5limbs/femul.v
deleted file mode 100644
index 87a8c2a8c..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/femulDisplay.log b/src/Specific/solinas64_2e198m17_5limbs/femulDisplay.log
deleted file mode 100644
index 640feef0c..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + ((0x2 * ((uint128_t)x9 * x17)) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x11 * (0x2 * ((uint128_t)x10 * x18))));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x11 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x11 * ((0x2 * ((uint128_t)x9 * x18)) + (((uint128_t)x11 * x19) + (0x2 * ((uint128_t)x10 * x17))))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x11 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x28);
- uint64_t x26 = ((uint64_t)x24 & 0xffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x28);
- uint64_t x29 = ((uint64_t)x27 & 0xffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x27);
- uint64_t x32 = ((uint64_t)x30 & 0x7fffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x28);
- uint64_t x35 = ((uint64_t)x33 & 0xffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x27);
- uint64_t x38 = ((uint64_t)x36 & 0x7fffffffff);
- uint64_t x39 = (x26 + (0x11 * x37));
- uint64_t x40 = (x39 >> 0x28);
- uint64_t x41 = (x39 & 0xffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x28);
- uint64_t x44 = (x42 & 0xffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_5limbs/femulDisplay.v b/src/Specific/solinas64_2e198m17_5limbs/femulDisplay.v
deleted file mode 100644
index 105e2df9c..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fesquare.c b/src/Specific/solinas64_2e198m17_5limbs/fesquare.c
deleted file mode 100644
index 0251e6d37..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x11 * (0x2 * ((uint128_t)x7 * x7))));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((0x2 * ((uint128_t)x6 * x7)) + (((uint128_t)x8 * x8) + (0x2 * ((uint128_t)x7 * x6))))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x28);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x28);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x27);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x28);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x27);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffff);
- { uint64_t x28 = (x15 + (0x11 * x26));
- { uint64_t x29 = (x28 >> 0x28);
- { uint64_t x30 = (x28 & 0xffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x28);
- { uint64_t x33 = (x31 & 0xffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fesquare.v b/src/Specific/solinas64_2e198m17_5limbs/fesquare.v
deleted file mode 100644
index 597cd5c9e..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.log
deleted file mode 100644
index efb8ddcb2..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x11 * (0x2 * ((uint128_t)x7 * x7))));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((0x2 * ((uint128_t)x6 * x7)) + (((uint128_t)x8 * x8) + (0x2 * ((uint128_t)x7 * x6))))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x28);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x28);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x27);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x28);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x27);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffff);
- uint64_t x28 = (x15 + (0x11 * x26));
- uint64_t x29 = (x28 >> 0x28);
- uint64_t x30 = (x28 & 0xffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x28);
- uint64_t x33 = (x31 & 0xffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.v
deleted file mode 100644
index 0d11faa95..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fesub.c b/src/Specific/solinas64_2e198m17_5limbs/fesub.c
deleted file mode 100644
index b921e2e67..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x1ffffffffde + x5) - x13);
- out[1] = ((0x1fffffffffe + x7) - x15);
- out[2] = ((0xfffffffffe + x9) - x17);
- out[3] = ((0x1fffffffffe + x11) - x19);
- out[4] = ((0xfffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fesub.v b/src/Specific/solinas64_2e198m17_5limbs/fesub.v
deleted file mode 100644
index 078ae314b..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.log
deleted file mode 100644
index a9271c01c..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xfffffffffe + x10) - x18), ((0x1fffffffffe + x11) - x19), ((0xfffffffffe + x9) - x17), ((0x1fffffffffe + x7) - x15), ((0x1ffffffffde + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.v
deleted file mode 100644
index f7a04f13b..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e198m17_5limbs/freeze.c b/src/Specific/solinas64_2e198m17_5limbs/freeze.c
deleted file mode 100644
index 91d69ba0a..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffef);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0xffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0xffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xffffffffef);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0xffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0xffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x7fffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e198m17_5limbs/freeze.v b/src/Specific/solinas64_2e198m17_5limbs/freeze.v
deleted file mode 100644
index 9b9597e5b..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.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/solinas64_2e198m17_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.log
deleted file mode 100644
index 8cc8ad621..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffef);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0xffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0xffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xffffffffef);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0xffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0xffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x7fffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.v
deleted file mode 100644
index e851a1a99..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e198m17_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e198m17_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e198m17_5limbs/py_interpreter.sh
deleted file mode 100755
index 5ff50a3bd..000000000
--- a/src/Specific/solinas64_2e198m17_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**198 - 17' -Dmodulus_bytes='39.6' -Da24='121665'
diff --git a/src/Specific/solinas64_2e206m5_4limbs/CurveParameters.v b/src/Specific/solinas64_2e206m5_4limbs/CurveParameters.v
deleted file mode 100644
index 185e3afb6..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^206 - 5
-Base: 51.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 51 + 1/2;
- bitwidth := 64;
- s := 2^206;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e206m5_4limbs/Synthesis.v b/src/Specific/solinas64_2e206m5_4limbs/Synthesis.v
deleted file mode 100644
index bb96b4b4e..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/compiler.sh b/src/Specific/solinas64_2e206m5_4limbs/compiler.sh
deleted file mode 100755
index 5240bc066..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas64_2e206m5_4limbs/compilerxx.sh b/src/Specific/solinas64_2e206m5_4limbs/compilerxx.sh
deleted file mode 100755
index c719d7aca..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,52,51}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas64_2e206m5_4limbs/feadd.c b/src/Specific/solinas64_2e206m5_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_4limbs/feadd.v b/src/Specific/solinas64_2e206m5_4limbs/feadd.v
deleted file mode 100644
index b51bf68d6..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.v
deleted file mode 100644
index 1916ee620..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fecarry.v b/src/Specific/solinas64_2e206m5_4limbs/fecarry.v
deleted file mode 100644
index 7feb1631c..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e206m5_4limbs/fecarryDisplay.v
deleted file mode 100644
index 5a2b60bba..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e206m5_4limbs/femul.c b/src/Specific/solinas64_2e206m5_4limbs/femul.c
deleted file mode 100644
index cc09e2ec7..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x34);
- { uint64_t x21 = ((uint64_t)x19 & 0xfffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x33);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x34);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x33);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffff);
- { uint64_t x31 = (x21 + (0x5 * x29));
- { uint64_t x32 = (x31 >> 0x34);
- { uint64_t x33 = (x31 & 0xfffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x33);
- { uint64_t x36 = (x34 & 0x7ffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_4limbs/femul.v b/src/Specific/solinas64_2e206m5_4limbs/femul.v
deleted file mode 100644
index 45b49f59a..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/femulDisplay.log b/src/Specific/solinas64_2e206m5_4limbs/femulDisplay.log
deleted file mode 100644
index a9fdbd04e..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x34);
- uint64_t x21 = ((uint64_t)x19 & 0xfffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x33);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x34);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x33);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffff);
- uint64_t x31 = (x21 + (0x5 * x29));
- uint64_t x32 = (x31 >> 0x34);
- uint64_t x33 = (x31 & 0xfffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x33);
- uint64_t x36 = (x34 & 0x7ffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_4limbs/femulDisplay.v b/src/Specific/solinas64_2e206m5_4limbs/femulDisplay.v
deleted file mode 100644
index c5311bbad..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fesquare.c b/src/Specific/solinas64_2e206m5_4limbs/fesquare.c
deleted file mode 100644
index df4b48fcf..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x34);
- { uint64_t x12 = ((uint64_t)x10 & 0xfffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x33);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x34);
- { uint64_t x18 = ((uint64_t)x16 & 0xfffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x33);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- { uint64_t x22 = (x12 + (0x5 * x20));
- { uint64_t x23 = (x22 >> 0x34);
- { uint64_t x24 = (x22 & 0xfffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x33);
- { uint64_t x27 = (x25 & 0x7ffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fesquare.v b/src/Specific/solinas64_2e206m5_4limbs/fesquare.v
deleted file mode 100644
index 81b271e6f..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.log
deleted file mode 100644
index 7aa87c67f..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x34);
- uint64_t x12 = ((uint64_t)x10 & 0xfffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x33);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x34);
- uint64_t x18 = ((uint64_t)x16 & 0xfffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x33);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- uint64_t x22 = (x12 + (0x5 * x20));
- uint64_t x23 = (x22 >> 0x34);
- uint64_t x24 = (x22 & 0xfffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x33);
- uint64_t x27 = (x25 & 0x7ffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.v
deleted file mode 100644
index 496e469a3..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fesub.c b/src/Specific/solinas64_2e206m5_4limbs/fesub.c
deleted file mode 100644
index 605f4b203..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffffff6 + x5) - x11);
- out[1] = ((0xffffffffffffe + x7) - x13);
- out[2] = ((0x1ffffffffffffe + x9) - x15);
- out[3] = ((0xffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fesub.v b/src/Specific/solinas64_2e206m5_4limbs/fesub.v
deleted file mode 100644
index 61fae988a..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.log
deleted file mode 100644
index 81bcc88f2..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xffffffffffffe + x8) - x14), ((0x1ffffffffffffe + x9) - x15), ((0xffffffffffffe + x7) - x13), ((0x1ffffffffffff6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.v
deleted file mode 100644
index b077772b2..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e206m5_4limbs/freeze.c b/src/Specific/solinas64_2e206m5_4limbs/freeze.c
deleted file mode 100644
index a6dea8ec3..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffb);
- { uint64_t x11; uint8_t x12 = _subborrow_u51(x9, x4, 0x7ffffffffffff, &x11);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xfffffffffffff);
- { uint64_t x17; uint8_t x18 = _subborrow_u51(x15, x5, 0x7ffffffffffff, &x17);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffffb);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffffffff);
- { uint64_t x26; uint8_t x27 = _addcarryx_u51(x23, x11, x24, &x26);
- { uint64_t x28 = (x19 & 0xfffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7ffffffffffff);
- { uint64_t x34; uint8_t _ = _addcarryx_u51(x31, x17, x32, &x34);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_4limbs/freeze.v b/src/Specific/solinas64_2e206m5_4limbs/freeze.v
deleted file mode 100644
index 96a4fffb8..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.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/solinas64_2e206m5_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.log
deleted file mode 100644
index 79dd921e8..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffb);
- uint64_t x11, uint8_t x12 = subborrow_u51(x9, x4, 0x7ffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xfffffffffffff);
- uint64_t x17, uint8_t x18 = subborrow_u51(x15, x5, 0x7ffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffffb);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffffffff);
- uint64_t x26, uint8_t x27 = addcarryx_u51(x23, x11, x24);
- uint64_t x28 = (x19 & 0xfffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7ffffffffffff);
- uint64_t x34, uint8_t _ = addcarryx_u51(x31, x17, x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.v
deleted file mode 100644
index 15db657e3..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e206m5_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e206m5_4limbs/py_interpreter.sh
deleted file mode 100755
index 7d204f731..000000000
--- a/src/Specific/solinas64_2e206m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**206 - 5' -Dmodulus_bytes='51.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e206m5_5limbs/CurveParameters.v b/src/Specific/solinas64_2e206m5_5limbs/CurveParameters.v
deleted file mode 100644
index 532996953..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^206 - 5
-Base: 41.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 41 + 1/5;
- bitwidth := 64;
- s := 2^206;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e206m5_5limbs/Synthesis.v b/src/Specific/solinas64_2e206m5_5limbs/Synthesis.v
deleted file mode 100644
index 5c7306c7f..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/compiler.sh b/src/Specific/solinas64_2e206m5_5limbs/compiler.sh
deleted file mode 100755
index facfb0245..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas64_2e206m5_5limbs/compilerxx.sh b/src/Specific/solinas64_2e206m5_5limbs/compilerxx.sh
deleted file mode 100755
index fe6b07fd4..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,41,41,41,41}' -Dmodulus_array='{0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb}' -Dmodulus_bytes_val='26' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<206) - 5' "$@"
diff --git a/src/Specific/solinas64_2e206m5_5limbs/feadd.c b/src/Specific/solinas64_2e206m5_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_5limbs/feadd.v b/src/Specific/solinas64_2e206m5_5limbs/feadd.v
deleted file mode 100644
index 125a7fee0..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.v
deleted file mode 100644
index 5285b6908..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fecarry.v b/src/Specific/solinas64_2e206m5_5limbs/fecarry.v
deleted file mode 100644
index 283f2e40f..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e206m5_5limbs/fecarryDisplay.v
deleted file mode 100644
index cd3d99a05..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e206m5_5limbs/femul.c b/src/Specific/solinas64_2e206m5_5limbs/femul.c
deleted file mode 100644
index 1347c1d7a..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x5 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x5 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x5 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x5 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2a);
- { uint64_t x26 = ((uint64_t)x24 & 0x3ffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x29);
- { uint64_t x29 = ((uint64_t)x27 & 0x1ffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x29);
- { uint64_t x32 = ((uint64_t)x30 & 0x1ffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x29);
- { uint64_t x35 = ((uint64_t)x33 & 0x1ffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x29);
- { uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffff);
- { uint64_t x39 = (x26 + (0x5 * x37));
- { uint64_t x40 = (x39 >> 0x2a);
- { uint64_t x41 = (x39 & 0x3ffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x29);
- { uint64_t x44 = (x42 & 0x1ffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_5limbs/femul.v b/src/Specific/solinas64_2e206m5_5limbs/femul.v
deleted file mode 100644
index d5adb6949..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/femulDisplay.log b/src/Specific/solinas64_2e206m5_5limbs/femulDisplay.log
deleted file mode 100644
index 04875356c..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x5 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x5 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x5 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x5 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2a);
- uint64_t x26 = ((uint64_t)x24 & 0x3ffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x29);
- uint64_t x29 = ((uint64_t)x27 & 0x1ffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x29);
- uint64_t x32 = ((uint64_t)x30 & 0x1ffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x29);
- uint64_t x35 = ((uint64_t)x33 & 0x1ffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x29);
- uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffff);
- uint64_t x39 = (x26 + (0x5 * x37));
- uint64_t x40 = (x39 >> 0x2a);
- uint64_t x41 = (x39 & 0x3ffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x29);
- uint64_t x44 = (x42 & 0x1ffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_5limbs/femulDisplay.v b/src/Specific/solinas64_2e206m5_5limbs/femulDisplay.v
deleted file mode 100644
index 62f6a2bd1..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fesquare.c b/src/Specific/solinas64_2e206m5_5limbs/fesquare.c
deleted file mode 100644
index 29f717f77..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x5 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2a);
- { uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x29);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x29);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x29);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x29);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffff);
- { uint64_t x28 = (x15 + (0x5 * x26));
- { uint64_t x29 = (x28 >> 0x2a);
- { uint64_t x30 = (x28 & 0x3ffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x29);
- { uint64_t x33 = (x31 & 0x1ffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fesquare.v b/src/Specific/solinas64_2e206m5_5limbs/fesquare.v
deleted file mode 100644
index f9c47d5c7..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.log
deleted file mode 100644
index 5fad31fb4..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x5 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2a);
- uint64_t x15 = ((uint64_t)x13 & 0x3ffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x29);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x29);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x29);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x29);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffff);
- uint64_t x28 = (x15 + (0x5 * x26));
- uint64_t x29 = (x28 >> 0x2a);
- uint64_t x30 = (x28 & 0x3ffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x29);
- uint64_t x33 = (x31 & 0x1ffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.v
deleted file mode 100644
index bc84b2911..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fesub.c b/src/Specific/solinas64_2e206m5_5limbs/fesub.c
deleted file mode 100644
index a55886274..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x7fffffffff6 + x5) - x13);
- out[1] = ((0x3fffffffffe + x7) - x15);
- out[2] = ((0x3fffffffffe + x9) - x17);
- out[3] = ((0x3fffffffffe + x11) - x19);
- out[4] = ((0x3fffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fesub.v b/src/Specific/solinas64_2e206m5_5limbs/fesub.v
deleted file mode 100644
index 7e2ce1cf5..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.log
deleted file mode 100644
index 784e4571c..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3fffffffffe + x10) - x18), ((0x3fffffffffe + x11) - x19), ((0x3fffffffffe + x9) - x17), ((0x3fffffffffe + x7) - x15), ((0x7fffffffff6 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.v
deleted file mode 100644
index 44f95ad1a..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e206m5_5limbs/freeze.c b/src/Specific/solinas64_2e206m5_5limbs/freeze.c
deleted file mode 100644
index aa8cd08e2..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffb);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1ffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x3fffffffffb);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x1ffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x1ffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x1ffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x1ffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e206m5_5limbs/freeze.v b/src/Specific/solinas64_2e206m5_5limbs/freeze.v
deleted file mode 100644
index 2d4fd0f7b..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.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/solinas64_2e206m5_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.log
deleted file mode 100644
index 1542f14cc..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffb);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1ffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x3fffffffffb);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x1ffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x1ffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x1ffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x1ffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.v
deleted file mode 100644
index 9b63767cc..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e206m5_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e206m5_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e206m5_5limbs/py_interpreter.sh
deleted file mode 100755
index 737a4de50..000000000
--- a/src/Specific/solinas64_2e206m5_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**206 - 5' -Dmodulus_bytes='41.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e212m29_4limbs/CurveParameters.v b/src/Specific/solinas64_2e212m29_4limbs/CurveParameters.v
deleted file mode 100644
index 26435ae90..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^212 - 29
-Base: 53
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 53;
- bitwidth := 64;
- s := 2^212;
- c := [(1, 29)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e212m29_4limbs/Synthesis.v b/src/Specific/solinas64_2e212m29_4limbs/Synthesis.v
deleted file mode 100644
index 146ca21cf..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/compiler.sh b/src/Specific/solinas64_2e212m29_4limbs/compiler.sh
deleted file mode 100755
index b5a3ee212..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas64_2e212m29_4limbs/compilerxx.sh b/src/Specific/solinas64_2e212m29_4limbs/compilerxx.sh
deleted file mode 100755
index 83fccf806..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,53}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas64_2e212m29_4limbs/feadd.c b/src/Specific/solinas64_2e212m29_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_4limbs/feadd.v b/src/Specific/solinas64_2e212m29_4limbs/feadd.v
deleted file mode 100644
index 4491f1008..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.v
deleted file mode 100644
index fbc9245a1..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fecarry.v b/src/Specific/solinas64_2e212m29_4limbs/fecarry.v
deleted file mode 100644
index 4d07d3a91..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e212m29_4limbs/fecarryDisplay.v
deleted file mode 100644
index 3afe6702f..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e212m29_4limbs/femul.c b/src/Specific/solinas64_2e212m29_4limbs/femul.c
deleted file mode 100644
index edd1e152c..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x1d * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x1d * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x1d * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x35);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x35);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x35);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x35);
- { uint64_t x30 = ((uint64_t)x28 & 0x1fffffffffffff);
- { uint64_t x31 = (x21 + (0x1d * x29));
- { uint64_t x32 = (x31 >> 0x35);
- { uint64_t x33 = (x31 & 0x1fffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x35);
- { uint64_t x36 = (x34 & 0x1fffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_4limbs/femul.v b/src/Specific/solinas64_2e212m29_4limbs/femul.v
deleted file mode 100644
index 8ffe04377..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/femulDisplay.log b/src/Specific/solinas64_2e212m29_4limbs/femulDisplay.log
deleted file mode 100644
index f16224016..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0x1d * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x1d * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x1d * (((uint128_t)x7 * x14) + (((uint128_t)x9 * x15) + ((uint128_t)x8 * x13)))));
- uint64_t x20 = (uint64_t) (x19 >> 0x35);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x35);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x35);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x35);
- uint64_t x30 = ((uint64_t)x28 & 0x1fffffffffffff);
- uint64_t x31 = (x21 + (0x1d * x29));
- uint64_t x32 = (x31 >> 0x35);
- uint64_t x33 = (x31 & 0x1fffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x35);
- uint64_t x36 = (x34 & 0x1fffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_4limbs/femulDisplay.v b/src/Specific/solinas64_2e212m29_4limbs/femulDisplay.v
deleted file mode 100644
index e0e57decc..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fesquare.c b/src/Specific/solinas64_2e212m29_4limbs/fesquare.c
deleted file mode 100644
index faa9c384f..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1d * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1d * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x1d * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x35);
- { uint64_t x12 = ((uint64_t)x10 & 0x1fffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x35);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x35);
- { uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x35);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- { uint64_t x22 = (x12 + (0x1d * x20));
- { uint64_t x23 = (x22 >> 0x35);
- { uint64_t x24 = (x22 & 0x1fffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x35);
- { uint64_t x27 = (x25 & 0x1fffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fesquare.v b/src/Specific/solinas64_2e212m29_4limbs/fesquare.v
deleted file mode 100644
index 7b30c26d7..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.log
deleted file mode 100644
index 134cadfa2..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1d * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1d * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x1d * (((uint128_t)x4 * x5) + (((uint128_t)x6 * x6) + ((uint128_t)x5 * x4)))));
- uint64_t x11 = (uint64_t) (x10 >> 0x35);
- uint64_t x12 = ((uint64_t)x10 & 0x1fffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x35);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x35);
- uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x35);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- uint64_t x22 = (x12 + (0x1d * x20));
- uint64_t x23 = (x22 >> 0x35);
- uint64_t x24 = (x22 & 0x1fffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x35);
- uint64_t x27 = (x25 & 0x1fffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.v
deleted file mode 100644
index 4aa52c8cc..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fesub.c b/src/Specific/solinas64_2e212m29_4limbs/fesub.c
deleted file mode 100644
index 8ea0c01ca..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x3fffffffffffc6 + x5) - x11);
- out[1] = ((0x3ffffffffffffe + x7) - x13);
- out[2] = ((0x3ffffffffffffe + x9) - x15);
- out[3] = ((0x3ffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fesub.v b/src/Specific/solinas64_2e212m29_4limbs/fesub.v
deleted file mode 100644
index 014a1aad5..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.log
deleted file mode 100644
index d08123189..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3ffffffffffffe + x8) - x14), ((0x3ffffffffffffe + x9) - x15), ((0x3ffffffffffffe + x7) - x13), ((0x3fffffffffffc6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.v
deleted file mode 100644
index 3056928e8..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e212m29_4limbs/freeze.c b/src/Specific/solinas64_2e212m29_4limbs/freeze.c
deleted file mode 100644
index ba2a57d23..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffe3);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1fffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x1fffffffffffe3);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1fffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1fffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_4limbs/freeze.v b/src/Specific/solinas64_2e212m29_4limbs/freeze.v
deleted file mode 100644
index cb865f9ff..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.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/solinas64_2e212m29_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.log
deleted file mode 100644
index 83cbb1bec..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffe3);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1fffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x1fffffffffffe3);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1fffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1fffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.v
deleted file mode 100644
index 6c3bd46aa..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e212m29_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e212m29_4limbs/py_interpreter.sh
deleted file mode 100755
index b1c168f4d..000000000
--- a/src/Specific/solinas64_2e212m29_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**212 - 29' -Dmodulus_bytes='53' -Da24='121665'
diff --git a/src/Specific/solinas64_2e212m29_5limbs/CurveParameters.v b/src/Specific/solinas64_2e212m29_5limbs/CurveParameters.v
deleted file mode 100644
index d44bbd23f..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^212 - 29
-Base: 42.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 42 + 2/5;
- bitwidth := 64;
- s := 2^212;
- c := [(1, 29)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e212m29_5limbs/Synthesis.v b/src/Specific/solinas64_2e212m29_5limbs/Synthesis.v
deleted file mode 100644
index 77a74b883..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/compiler.sh b/src/Specific/solinas64_2e212m29_5limbs/compiler.sh
deleted file mode 100755
index 389f02f7f..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,42}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas64_2e212m29_5limbs/compilerxx.sh b/src/Specific/solinas64_2e212m29_5limbs/compilerxx.sh
deleted file mode 100755
index 66e412105..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,42}' -Dmodulus_array='{0x0f,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,0xe3}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<212) - 29' "$@"
diff --git a/src/Specific/solinas64_2e212m29_5limbs/feadd.c b/src/Specific/solinas64_2e212m29_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_5limbs/feadd.v b/src/Specific/solinas64_2e212m29_5limbs/feadd.v
deleted file mode 100644
index 6a160096f..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.v
deleted file mode 100644
index 7d2c530a2..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fecarry.v b/src/Specific/solinas64_2e212m29_5limbs/fecarry.v
deleted file mode 100644
index 95370e1fc..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e212m29_5limbs/fecarryDisplay.v
deleted file mode 100644
index ca63a8bcc..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e212m29_5limbs/femul.c b/src/Specific/solinas64_2e212m29_5limbs/femul.c
deleted file mode 100644
index 11997e93d..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + (((uint128_t)x9 * x17) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x1d * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x1d * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x1d * (((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x1d * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2b);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2a);
- { uint64_t x29 = ((uint64_t)x27 & 0x3ffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2b);
- { uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2a);
- { uint64_t x35 = ((uint64_t)x33 & 0x3ffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2a);
- { uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffff);
- { uint64_t x39 = (x26 + (0x1d * x37));
- { uint64_t x40 = (x39 >> 0x2b);
- { uint64_t x41 = (x39 & 0x7ffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2a);
- { uint64_t x44 = (x42 & 0x3ffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_5limbs/femul.v b/src/Specific/solinas64_2e212m29_5limbs/femul.v
deleted file mode 100644
index bbc5f1945..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/femulDisplay.log b/src/Specific/solinas64_2e212m29_5limbs/femulDisplay.log
deleted file mode 100644
index e1327f691..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + (((uint128_t)x9 * x17) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x1d * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x1d * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x1d * (((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x1d * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2b);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2a);
- uint64_t x29 = ((uint64_t)x27 & 0x3ffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2b);
- uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2a);
- uint64_t x35 = ((uint64_t)x33 & 0x3ffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2a);
- uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffff);
- uint64_t x39 = (x26 + (0x1d * x37));
- uint64_t x40 = (x39 >> 0x2b);
- uint64_t x41 = (x39 & 0x7ffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2a);
- uint64_t x44 = (x42 & 0x3ffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_5limbs/femulDisplay.v b/src/Specific/solinas64_2e212m29_5limbs/femulDisplay.v
deleted file mode 100644
index 55950ee98..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fesquare.c b/src/Specific/solinas64_2e212m29_5limbs/fesquare.c
deleted file mode 100644
index a79718c33..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1d * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1d * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1d * (((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x1d * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- { uint64_t x28 = (x15 + (0x1d * x26));
- { uint64_t x29 = (x28 >> 0x2b);
- { uint64_t x30 = (x28 & 0x7ffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2a);
- { uint64_t x33 = (x31 & 0x3ffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fesquare.v b/src/Specific/solinas64_2e212m29_5limbs/fesquare.v
deleted file mode 100644
index d0d9a6895..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.log
deleted file mode 100644
index 31e7b178a..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1d * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1d * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1d * (((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x1d * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- uint64_t x28 = (x15 + (0x1d * x26));
- uint64_t x29 = (x28 >> 0x2b);
- uint64_t x30 = (x28 & 0x7ffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2a);
- uint64_t x33 = (x31 & 0x3ffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.v
deleted file mode 100644
index 6d03215f8..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fesub.c b/src/Specific/solinas64_2e212m29_5limbs/fesub.c
deleted file mode 100644
index 45d29efd6..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xfffffffffc6 + x5) - x13);
- out[1] = ((0x7fffffffffe + x7) - x15);
- out[2] = ((0xffffffffffe + x9) - x17);
- out[3] = ((0x7fffffffffe + x11) - x19);
- out[4] = ((0x7fffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fesub.v b/src/Specific/solinas64_2e212m29_5limbs/fesub.v
deleted file mode 100644
index ac05b02cf..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.log
deleted file mode 100644
index 40ae8723a..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7fffffffffe + x10) - x18), ((0x7fffffffffe + x11) - x19), ((0xffffffffffe + x9) - x17), ((0x7fffffffffe + x7) - x15), ((0xfffffffffc6 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.v
deleted file mode 100644
index b4609f2ce..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e212m29_5limbs/freeze.c b/src/Specific/solinas64_2e212m29_5limbs/freeze.c
deleted file mode 100644
index 63bd21e1c..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffe3);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7ffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7ffffffffe3);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3ffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7ffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3ffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3ffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e212m29_5limbs/freeze.v b/src/Specific/solinas64_2e212m29_5limbs/freeze.v
deleted file mode 100644
index 33bd2ee31..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.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/solinas64_2e212m29_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.log
deleted file mode 100644
index d300528f6..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffe3);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7ffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7ffffffffe3);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3ffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7ffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3ffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3ffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.v
deleted file mode 100644
index dad89f1e3..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e212m29_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e212m29_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e212m29_5limbs/py_interpreter.sh
deleted file mode 100755
index a6f184c98..000000000
--- a/src/Specific/solinas64_2e212m29_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**212 - 29' -Dmodulus_bytes='42.4' -Da24='121665'
diff --git a/src/Specific/solinas64_2e213m3_4limbs/CurveParameters.v b/src/Specific/solinas64_2e213m3_4limbs/CurveParameters.v
deleted file mode 100644
index 7b8111f00..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^213 - 3
-Base: 53.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 53 + 1/4;
- bitwidth := 64;
- s := 2^213;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e213m3_4limbs/Synthesis.v b/src/Specific/solinas64_2e213m3_4limbs/Synthesis.v
deleted file mode 100644
index de828a7d0..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/compiler.sh b/src/Specific/solinas64_2e213m3_4limbs/compiler.sh
deleted file mode 100755
index c88f6d0f0..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas64_2e213m3_4limbs/compilerxx.sh b/src/Specific/solinas64_2e213m3_4limbs/compilerxx.sh
deleted file mode 100755
index 4b82c88d5..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas64_2e213m3_4limbs/feadd.c b/src/Specific/solinas64_2e213m3_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_4limbs/feadd.v b/src/Specific/solinas64_2e213m3_4limbs/feadd.v
deleted file mode 100644
index 101012963..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.v
deleted file mode 100644
index e38902c92..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fecarry.v b/src/Specific/solinas64_2e213m3_4limbs/fecarry.v
deleted file mode 100644
index 607098bbc..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e213m3_4limbs/fecarryDisplay.v
deleted file mode 100644
index 3fcad9331..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e213m3_4limbs/femul.c b/src/Specific/solinas64_2e213m3_4limbs/femul.c
deleted file mode 100644
index 9b8555ac6..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x36);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x35);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x35);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x35);
- { uint64_t x30 = ((uint64_t)x28 & 0x1fffffffffffff);
- { uint64_t x31 = (x21 + (0x3 * x29));
- { uint64_t x32 = (x31 >> 0x36);
- { uint64_t x33 = (x31 & 0x3fffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x35);
- { uint64_t x36 = (x34 & 0x1fffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_4limbs/femul.v b/src/Specific/solinas64_2e213m3_4limbs/femul.v
deleted file mode 100644
index d284a273e..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/femulDisplay.log b/src/Specific/solinas64_2e213m3_4limbs/femulDisplay.log
deleted file mode 100644
index 49daa0df9..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x36);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x35);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x35);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x35);
- uint64_t x30 = ((uint64_t)x28 & 0x1fffffffffffff);
- uint64_t x31 = (x21 + (0x3 * x29));
- uint64_t x32 = (x31 >> 0x36);
- uint64_t x33 = (x31 & 0x3fffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x35);
- uint64_t x36 = (x34 & 0x1fffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_4limbs/femulDisplay.v b/src/Specific/solinas64_2e213m3_4limbs/femulDisplay.v
deleted file mode 100644
index 1a937c23d..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fesquare.c b/src/Specific/solinas64_2e213m3_4limbs/fesquare.c
deleted file mode 100644
index f7dd12ecc..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x36);
- { uint64_t x12 = ((uint64_t)x10 & 0x3fffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x35);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x35);
- { uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x35);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- { uint64_t x22 = (x12 + (0x3 * x20));
- { uint64_t x23 = (x22 >> 0x36);
- { uint64_t x24 = (x22 & 0x3fffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x35);
- { uint64_t x27 = (x25 & 0x1fffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fesquare.v b/src/Specific/solinas64_2e213m3_4limbs/fesquare.v
deleted file mode 100644
index de6e4f403..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.log
deleted file mode 100644
index 290179681..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x36);
- uint64_t x12 = ((uint64_t)x10 & 0x3fffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x35);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x35);
- uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x35);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- uint64_t x22 = (x12 + (0x3 * x20));
- uint64_t x23 = (x22 >> 0x36);
- uint64_t x24 = (x22 & 0x3fffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x35);
- uint64_t x27 = (x25 & 0x1fffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.v
deleted file mode 100644
index 2d4d3241d..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fesub.c b/src/Specific/solinas64_2e213m3_4limbs/fesub.c
deleted file mode 100644
index e9653060b..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffffffffa + x5) - x11);
- out[1] = ((0x3ffffffffffffe + x7) - x13);
- out[2] = ((0x3ffffffffffffe + x9) - x15);
- out[3] = ((0x3ffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fesub.v b/src/Specific/solinas64_2e213m3_4limbs/fesub.v
deleted file mode 100644
index 3a1543e98..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.log
deleted file mode 100644
index 82e0dfabe..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3ffffffffffffe + x8) - x14), ((0x3ffffffffffffe + x9) - x15), ((0x3ffffffffffffe + x7) - x13), ((0x7ffffffffffffa + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.v
deleted file mode 100644
index 1a554ee3e..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e213m3_4limbs/freeze.c b/src/Specific/solinas64_2e213m3_4limbs/freeze.c
deleted file mode 100644
index b27bdee4d..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffd);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1fffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3ffffffffffffd);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1fffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1fffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_4limbs/freeze.v b/src/Specific/solinas64_2e213m3_4limbs/freeze.v
deleted file mode 100644
index f53907624..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.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/solinas64_2e213m3_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.log
deleted file mode 100644
index 34d7db38c..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffd);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1fffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1fffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1fffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3ffffffffffffd);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1fffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1fffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.v
deleted file mode 100644
index 5c3614d2d..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e213m3_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e213m3_4limbs/py_interpreter.sh
deleted file mode 100755
index b5cfeaa3c..000000000
--- a/src/Specific/solinas64_2e213m3_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**213 - 3' -Dmodulus_bytes='53.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e213m3_5limbs/CurveParameters.v b/src/Specific/solinas64_2e213m3_5limbs/CurveParameters.v
deleted file mode 100644
index f242d4915..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^213 - 3
-Base: 42.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 42 + 3/5;
- bitwidth := 64;
- s := 2^213;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e213m3_5limbs/Synthesis.v b/src/Specific/solinas64_2e213m3_5limbs/Synthesis.v
deleted file mode 100644
index 44bd89be0..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/compiler.sh b/src/Specific/solinas64_2e213m3_5limbs/compiler.sh
deleted file mode 100755
index 0d5edab49..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,42}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas64_2e213m3_5limbs/compilerxx.sh b/src/Specific/solinas64_2e213m3_5limbs/compilerxx.sh
deleted file mode 100755
index fcde00b4b..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,42}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<213) - 3' "$@"
diff --git a/src/Specific/solinas64_2e213m3_5limbs/feadd.c b/src/Specific/solinas64_2e213m3_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_5limbs/feadd.v b/src/Specific/solinas64_2e213m3_5limbs/feadd.v
deleted file mode 100644
index 4b64bd65f..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.v
deleted file mode 100644
index 494f2bee7..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fecarry.v b/src/Specific/solinas64_2e213m3_5limbs/fecarry.v
deleted file mode 100644
index abb136064..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e213m3_5limbs/fecarryDisplay.v
deleted file mode 100644
index df48b7756..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e213m3_5limbs/femul.c b/src/Specific/solinas64_2e213m3_5limbs/femul.c
deleted file mode 100644
index ce0a4337a..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + ((0x2 * ((uint128_t)x9 * x17)) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x3 * (0x2 * ((uint128_t)x10 * x18))));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x3 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x3 * ((0x2 * ((uint128_t)x9 * x18)) + (((uint128_t)x11 * x19) + (0x2 * ((uint128_t)x10 * x17))))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x3 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2b);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2b);
- { uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2a);
- { uint64_t x32 = ((uint64_t)x30 & 0x3ffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2b);
- { uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2a);
- { uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffff);
- { uint64_t x39 = (x26 + (0x3 * x37));
- { uint64_t x40 = (x39 >> 0x2b);
- { uint64_t x41 = (x39 & 0x7ffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2b);
- { uint64_t x44 = (x42 & 0x7ffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_5limbs/femul.v b/src/Specific/solinas64_2e213m3_5limbs/femul.v
deleted file mode 100644
index 472836cf1..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/femulDisplay.log b/src/Specific/solinas64_2e213m3_5limbs/femulDisplay.log
deleted file mode 100644
index 116171f04..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + ((0x2 * ((uint128_t)x9 * x17)) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x3 * (0x2 * ((uint128_t)x10 * x18))));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x3 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x3 * ((0x2 * ((uint128_t)x9 * x18)) + (((uint128_t)x11 * x19) + (0x2 * ((uint128_t)x10 * x17))))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x3 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2b);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2b);
- uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2a);
- uint64_t x32 = ((uint64_t)x30 & 0x3ffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2b);
- uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2a);
- uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffff);
- uint64_t x39 = (x26 + (0x3 * x37));
- uint64_t x40 = (x39 >> 0x2b);
- uint64_t x41 = (x39 & 0x7ffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2b);
- uint64_t x44 = (x42 & 0x7ffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_5limbs/femulDisplay.v b/src/Specific/solinas64_2e213m3_5limbs/femulDisplay.v
deleted file mode 100644
index 3edcf015d..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fesquare.c b/src/Specific/solinas64_2e213m3_5limbs/fesquare.c
deleted file mode 100644
index e5d5b8dbf..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * (0x2 * ((uint128_t)x7 * x7))));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * ((0x2 * ((uint128_t)x6 * x7)) + (((uint128_t)x8 * x8) + (0x2 * ((uint128_t)x7 * x6))))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- { uint64_t x28 = (x15 + (0x3 * x26));
- { uint64_t x29 = (x28 >> 0x2b);
- { uint64_t x30 = (x28 & 0x7ffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2b);
- { uint64_t x33 = (x31 & 0x7ffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fesquare.v b/src/Specific/solinas64_2e213m3_5limbs/fesquare.v
deleted file mode 100644
index c10c49b5a..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.log
deleted file mode 100644
index 0f0f50583..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * (0x2 * ((uint128_t)x7 * x7))));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * ((0x2 * ((uint128_t)x6 * x7)) + (((uint128_t)x8 * x8) + (0x2 * ((uint128_t)x7 * x6))))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- uint64_t x28 = (x15 + (0x3 * x26));
- uint64_t x29 = (x28 >> 0x2b);
- uint64_t x30 = (x28 & 0x7ffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2b);
- uint64_t x33 = (x31 & 0x7ffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.v
deleted file mode 100644
index 40625ee3b..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fesub.c b/src/Specific/solinas64_2e213m3_5limbs/fesub.c
deleted file mode 100644
index 60ab8a21f..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xffffffffffa + x5) - x13);
- out[1] = ((0xffffffffffe + x7) - x15);
- out[2] = ((0x7fffffffffe + x9) - x17);
- out[3] = ((0xffffffffffe + x11) - x19);
- out[4] = ((0x7fffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fesub.v b/src/Specific/solinas64_2e213m3_5limbs/fesub.v
deleted file mode 100644
index e6ce10c3d..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.log
deleted file mode 100644
index 88bb8871c..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7fffffffffe + x10) - x18), ((0xffffffffffe + x11) - x19), ((0x7fffffffffe + x9) - x17), ((0xffffffffffe + x7) - x15), ((0xffffffffffa + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.v
deleted file mode 100644
index 5e732a736..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e213m3_5limbs/freeze.c b/src/Specific/solinas64_2e213m3_5limbs/freeze.c
deleted file mode 100644
index 172111a41..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffd);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7ffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7ffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7fffffffffd);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x7ffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3ffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x7ffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3ffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e213m3_5limbs/freeze.v b/src/Specific/solinas64_2e213m3_5limbs/freeze.v
deleted file mode 100644
index e889a6c81..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.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/solinas64_2e213m3_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.log
deleted file mode 100644
index 582a7d192..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffd);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7ffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7ffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7fffffffffd);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x7ffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3ffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x7ffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3ffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.v
deleted file mode 100644
index 4e2f03c45..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e213m3_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e213m3_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e213m3_5limbs/py_interpreter.sh
deleted file mode 100755
index 773ba89a7..000000000
--- a/src/Specific/solinas64_2e213m3_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**213 - 3' -Dmodulus_bytes='42.6' -Da24='121665'
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/CurveParameters.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/CurveParameters.v
deleted file mode 100644
index e60d40411..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^216 - 2^108 - 1
-Base: 54
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 54;
- bitwidth := 64;
- s := 2^216;
- c := [(1, 1); (2^108, 1)];
- carry_chains := Some [[1; 3]; [2; 0; 3; 1]; [2; 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/solinas64_2e216m2e108m1_4limbs/Synthesis.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/Synthesis.v
deleted file mode 100644
index 06ebf3623..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/compiler.sh b/src/Specific/solinas64_2e216m2e108m1_4limbs/compiler.sh
deleted file mode 100755
index 4988882d2..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/compilerxx.sh b/src/Specific/solinas64_2e216m2e108m1_4limbs/compilerxx.sh
deleted file mode 100755
index 0da57b961..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,54,54}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.c b/src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.v
deleted file mode 100644
index 12a8f3766..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.v
deleted file mode 100644
index ffdf79e7f..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fecarry.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/fecarry.v
deleted file mode 100644
index cc4bd4fe8..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/fecarryDisplay.v
deleted file mode 100644
index df0d91ed6..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/femul.c b/src/Specific/solinas64_2e216m2e108m1_4limbs/femul.c
deleted file mode 100644
index 94f4a962f..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/femul.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)(x7 + x8) * (x13 + x14)) - ((uint128_t)x7 * x13));
- { uint128_t x17 = ((((uint128_t)(x5 + x9) * (x13 + x14)) + ((uint128_t)(x7 + x8) * (x11 + x15))) - (((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)));
- { uint128_t x18 = (((uint128_t)(x5 + x9) * (x11 + x15)) - ((uint128_t)x5 * x11));
- { uint128_t x19 = (((((uint128_t)x7 * x13) + ((uint128_t)x8 * x14)) + x18) + x16);
- { uint128_t x20 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15)));
- { uint128_t x21 = ((((uint128_t)x5 * x11) + ((uint128_t)x9 * x15)) + x16);
- { uint64_t x22 = (uint64_t) (x20 >> 0x36);
- { uint64_t x23 = ((uint64_t)x20 & 0x3fffffffffffff);
- { uint64_t x24 = (uint64_t) (x17 >> 0x36);
- { uint64_t x25 = ((uint64_t)x17 & 0x3fffffffffffff);
- { uint128_t x26 = (((uint128_t)0x40000000000000 * x24) + x25);
- { uint64_t x27 = (uint64_t) (x26 >> 0x36);
- { uint64_t x28 = ((uint64_t)x26 & 0x3fffffffffffff);
- { uint128_t x29 = ((x22 + x19) + x27);
- { uint64_t x30 = (uint64_t) (x29 >> 0x36);
- { uint64_t x31 = ((uint64_t)x29 & 0x3fffffffffffff);
- { uint128_t x32 = (x21 + x27);
- { uint64_t x33 = (uint64_t) (x32 >> 0x36);
- { uint64_t x34 = ((uint64_t)x32 & 0x3fffffffffffff);
- { uint64_t x35 = (x30 + x28);
- { uint64_t x36 = (x35 >> 0x36);
- { uint64_t x37 = (x35 & 0x3fffffffffffff);
- { uint64_t x38 = (x33 + x23);
- { uint64_t x39 = (x38 >> 0x36);
- { uint64_t x40 = (x38 & 0x3fffffffffffff);
- { uint64_t x41 = ((0x40000000000000 * x36) + x37);
- { uint64_t x42 = (x41 >> 0x36);
- { uint64_t x43 = (x41 & 0x3fffffffffffff);
- { uint64_t x44 = ((x39 + x31) + x42);
- { uint64_t x45 = (x44 >> 0x36);
- { uint64_t x46 = (x44 & 0x3fffffffffffff);
- { uint64_t x47 = (x34 + x42);
- { uint64_t x48 = (x47 >> 0x36);
- { uint64_t x49 = (x47 & 0x3fffffffffffff);
- out[0] = x49;
- out[1] = (x48 + x40);
- out[2] = x46;
- out[3] = (x45 + x43);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/femul.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/femul.v
deleted file mode 100644
index 3cbdb557d..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/femulDisplay.log b/src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.log
deleted file mode 100644
index 8c6d5ef99..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,41 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)(x7 + x8) * (x13 + x14)) - ((uint128_t)x7 * x13));
- uint128_t x17 = ((((uint128_t)(x5 + x9) * (x13 + x14)) + ((uint128_t)(x7 + x8) * (x11 + x15))) - (((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)));
- uint128_t x18 = (((uint128_t)(x5 + x9) * (x11 + x15)) - ((uint128_t)x5 * x11));
- uint128_t x19 = (((((uint128_t)x7 * x13) + ((uint128_t)x8 * x14)) + x18) + x16);
- uint128_t x20 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15)));
- uint128_t x21 = ((((uint128_t)x5 * x11) + ((uint128_t)x9 * x15)) + x16);
- uint64_t x22 = (uint64_t) (x20 >> 0x36);
- uint64_t x23 = ((uint64_t)x20 & 0x3fffffffffffff);
- uint64_t x24 = (uint64_t) (x17 >> 0x36);
- uint64_t x25 = ((uint64_t)x17 & 0x3fffffffffffff);
- uint128_t x26 = (((uint128_t)0x40000000000000 * x24) + x25);
- uint64_t x27 = (uint64_t) (x26 >> 0x36);
- uint64_t x28 = ((uint64_t)x26 & 0x3fffffffffffff);
- uint128_t x29 = ((x22 + x19) + x27);
- uint64_t x30 = (uint64_t) (x29 >> 0x36);
- uint64_t x31 = ((uint64_t)x29 & 0x3fffffffffffff);
- uint128_t x32 = (x21 + x27);
- uint64_t x33 = (uint64_t) (x32 >> 0x36);
- uint64_t x34 = ((uint64_t)x32 & 0x3fffffffffffff);
- uint64_t x35 = (x30 + x28);
- uint64_t x36 = (x35 >> 0x36);
- uint64_t x37 = (x35 & 0x3fffffffffffff);
- uint64_t x38 = (x33 + x23);
- uint64_t x39 = (x38 >> 0x36);
- uint64_t x40 = (x38 & 0x3fffffffffffff);
- uint64_t x41 = ((0x40000000000000 * x36) + x37);
- uint64_t x42 = (x41 >> 0x36);
- uint64_t x43 = (x41 & 0x3fffffffffffff);
- uint64_t x44 = ((x39 + x31) + x42);
- uint64_t x45 = (x44 >> 0x36);
- uint64_t x46 = (x44 & 0x3fffffffffffff);
- uint64_t x47 = (x34 + x42);
- uint64_t x48 = (x47 >> 0x36);
- uint64_t x49 = (x47 & 0x3fffffffffffff);
- return ((x45 + x43), Return x46, (x48 + x40), Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.v
deleted file mode 100644
index de3b30844..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.c b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.c
deleted file mode 100644
index de35400a3..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.c
+++ /dev/null
@@ -1,45 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)(x4 + x5) * (x4 + x5)) - ((uint128_t)x4 * x4));
- { uint128_t x8 = ((((uint128_t)(x2 + x6) * (x4 + x5)) + ((uint128_t)(x4 + x5) * (x2 + x6))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x9 = (((uint128_t)(x2 + x6) * (x2 + x6)) - ((uint128_t)x2 * x2));
- { uint128_t x10 = (((((uint128_t)x4 * x4) + ((uint128_t)x5 * x5)) + x9) + x7);
- { uint128_t x11 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6)));
- { uint128_t x12 = ((((uint128_t)x2 * x2) + ((uint128_t)x6 * x6)) + x7);
- { uint64_t x13 = (uint64_t) (x11 >> 0x36);
- { uint64_t x14 = ((uint64_t)x11 & 0x3fffffffffffff);
- { uint64_t x15 = (uint64_t) (x8 >> 0x36);
- { uint64_t x16 = ((uint64_t)x8 & 0x3fffffffffffff);
- { uint128_t x17 = (((uint128_t)0x40000000000000 * x15) + x16);
- { uint64_t x18 = (uint64_t) (x17 >> 0x36);
- { uint64_t x19 = ((uint64_t)x17 & 0x3fffffffffffff);
- { uint128_t x20 = ((x13 + x10) + x18);
- { uint64_t x21 = (uint64_t) (x20 >> 0x36);
- { uint64_t x22 = ((uint64_t)x20 & 0x3fffffffffffff);
- { uint128_t x23 = (x12 + x18);
- { uint64_t x24 = (uint64_t) (x23 >> 0x36);
- { uint64_t x25 = ((uint64_t)x23 & 0x3fffffffffffff);
- { uint64_t x26 = (x21 + x19);
- { uint64_t x27 = (x26 >> 0x36);
- { uint64_t x28 = (x26 & 0x3fffffffffffff);
- { uint64_t x29 = (x24 + x14);
- { uint64_t x30 = (x29 >> 0x36);
- { uint64_t x31 = (x29 & 0x3fffffffffffff);
- { uint64_t x32 = ((0x40000000000000 * x27) + x28);
- { uint64_t x33 = (x32 >> 0x36);
- { uint64_t x34 = (x32 & 0x3fffffffffffff);
- { uint64_t x35 = ((x30 + x22) + x33);
- { uint64_t x36 = (x35 >> 0x36);
- { uint64_t x37 = (x35 & 0x3fffffffffffff);
- { uint64_t x38 = (x25 + x33);
- { uint64_t x39 = (x38 >> 0x36);
- { uint64_t x40 = (x38 & 0x3fffffffffffff);
- out[0] = x40;
- out[1] = (x39 + x31);
- out[2] = x37;
- out[3] = (x36 + x34);
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.v
deleted file mode 100644
index 3f5a7c006..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.log
deleted file mode 100644
index 37171ab4c..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,41 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)(x4 + x5) * (x4 + x5)) - ((uint128_t)x4 * x4));
- uint128_t x8 = ((((uint128_t)(x2 + x6) * (x4 + x5)) + ((uint128_t)(x4 + x5) * (x2 + x6))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x9 = (((uint128_t)(x2 + x6) * (x2 + x6)) - ((uint128_t)x2 * x2));
- uint128_t x10 = (((((uint128_t)x4 * x4) + ((uint128_t)x5 * x5)) + x9) + x7);
- uint128_t x11 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6)));
- uint128_t x12 = ((((uint128_t)x2 * x2) + ((uint128_t)x6 * x6)) + x7);
- uint64_t x13 = (uint64_t) (x11 >> 0x36);
- uint64_t x14 = ((uint64_t)x11 & 0x3fffffffffffff);
- uint64_t x15 = (uint64_t) (x8 >> 0x36);
- uint64_t x16 = ((uint64_t)x8 & 0x3fffffffffffff);
- uint128_t x17 = (((uint128_t)0x40000000000000 * x15) + x16);
- uint64_t x18 = (uint64_t) (x17 >> 0x36);
- uint64_t x19 = ((uint64_t)x17 & 0x3fffffffffffff);
- uint128_t x20 = ((x13 + x10) + x18);
- uint64_t x21 = (uint64_t) (x20 >> 0x36);
- uint64_t x22 = ((uint64_t)x20 & 0x3fffffffffffff);
- uint128_t x23 = (x12 + x18);
- uint64_t x24 = (uint64_t) (x23 >> 0x36);
- uint64_t x25 = ((uint64_t)x23 & 0x3fffffffffffff);
- uint64_t x26 = (x21 + x19);
- uint64_t x27 = (x26 >> 0x36);
- uint64_t x28 = (x26 & 0x3fffffffffffff);
- uint64_t x29 = (x24 + x14);
- uint64_t x30 = (x29 >> 0x36);
- uint64_t x31 = (x29 & 0x3fffffffffffff);
- uint64_t x32 = ((0x40000000000000 * x27) + x28);
- uint64_t x33 = (x32 >> 0x36);
- uint64_t x34 = (x32 & 0x3fffffffffffff);
- uint64_t x35 = ((x30 + x22) + x33);
- uint64_t x36 = (x35 >> 0x36);
- uint64_t x37 = (x35 & 0x3fffffffffffff);
- uint64_t x38 = (x25 + x33);
- uint64_t x39 = (x38 >> 0x36);
- uint64_t x40 = (x38 & 0x3fffffffffffff);
- return ((x36 + x34), Return x37, (x39 + x31), Return x40))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.v
deleted file mode 100644
index f44d45ec6..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.c b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.c
deleted file mode 100644
index c532fb2a6..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffffffffe + x5) - x11);
- out[1] = ((0x7ffffffffffffe + x7) - x13);
- out[2] = ((0x7ffffffffffffc + x9) - x15);
- out[3] = ((0x7ffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.v
deleted file mode 100644
index 8a6b726a6..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.log
deleted file mode 100644
index 00f2ffde6..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x7ffffffffffffe + x8) - x14), ((0x7ffffffffffffc + x9) - x15), ((0x7ffffffffffffe + x7) - x13), ((0x7ffffffffffffe + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.v
deleted file mode 100644
index 75181739a..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.c b/src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.c
deleted file mode 100644
index e653cc54b..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffff);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x3fffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffffffe);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3fffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3fffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x3fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3ffffffffffffe);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x3fffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.v
deleted file mode 100644
index 6fc0d5ac4..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.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/solinas64_2e216m2e108m1_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.log
deleted file mode 100644
index 380efd4d5..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffff);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x3fffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffffffe);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3fffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3fffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x3fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3ffffffffffffe);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x3fffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.v
deleted file mode 100644
index ea483b3ca..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e216m2e108m1_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e216m2e108m1_4limbs/py_interpreter.sh
deleted file mode 100755
index 9af1051cf..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**216 - 2**108 - 1' -Dmodulus_bytes='54' -Da24='121665'
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/CurveParameters.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/CurveParameters.v
deleted file mode 100644
index d919654e6..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^216 - 2^108 - 1
-Base: 43.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 43 + 1/5;
- bitwidth := 64;
- s := 2^216;
- c := [(1, 1); (2^108, 1)];
- carry_chains := Some [[1; 4]; [2; 0; 3; 1; 4]; [2; 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/solinas64_2e216m2e108m1_5limbs/Synthesis.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/Synthesis.v
deleted file mode 100644
index bb8d9c981..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/compiler.sh b/src/Specific/solinas64_2e216m2e108m1_5limbs/compiler.sh
deleted file mode 100755
index 7455a435d..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43,43,43}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/compilerxx.sh b/src/Specific/solinas64_2e216m2e108m1_5limbs/compilerxx.sh
deleted file mode 100755
index 1a6a1b5a0..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{44,43,43,43,43}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='27' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<216) - (1_mpz<<108) - 1' "$@"
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.c b/src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.v
deleted file mode 100644
index f804f3d60..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.v
deleted file mode 100644
index 5696240d1..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/fecarry.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/fecarry.v
deleted file mode 100644
index 2405077a2..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/fecarryDisplay.v
deleted file mode 100644
index b678bdfed..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/femul.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/femul.v
deleted file mode 100644
index da89f5741..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/femulDisplay.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/femulDisplay.v
deleted file mode 100644
index 15e90d107..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesquare.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/fesquare.v
deleted file mode 100644
index 836409b94..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/fesquareDisplay.v
deleted file mode 100644
index 18e2a55e7..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.c b/src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.c
deleted file mode 100644
index 92276f1f9..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x1ffffffffffe + x5) - x13);
- out[1] = ((0xffffffffffe + x7) - x15);
- out[2] = ((0xfffffbffffe + x9) - x17);
- out[3] = ((0xffffffffffe + x11) - x19);
- out[4] = ((0xffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.v
deleted file mode 100644
index 8cb2bccbe..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.log
deleted file mode 100644
index 354b61ffe..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffffffe + x10) - x18), ((0xffffffffffe + x11) - x19), ((0xfffffbffffe + x9) - x17), ((0xffffffffffe + x7) - x15), ((0x1ffffffffffe + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.v
deleted file mode 100644
index 1256cc6e0..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.c b/src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.c
deleted file mode 100644
index 70287fb27..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7ffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7ffffdfffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7ffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7ffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xfffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x7ffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7ffffdfffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x7ffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x7ffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.v
deleted file mode 100644
index 388ad737f..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.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/solinas64_2e216m2e108m1_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.log
deleted file mode 100644
index 3335ea9ef..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7ffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7ffffdfffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7ffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7ffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xfffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x7ffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7ffffdfffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x7ffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x7ffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.v
deleted file mode 100644
index 0a76fa837..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e216m2e108m1_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e216m2e108m1_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e216m2e108m1_5limbs/py_interpreter.sh
deleted file mode 100755
index 7acbf815b..000000000
--- a/src/Specific/solinas64_2e216m2e108m1_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**216 - 2**108 - 1' -Dmodulus_bytes='43.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e221m3_4limbs/CurveParameters.v b/src/Specific/solinas64_2e221m3_4limbs/CurveParameters.v
deleted file mode 100644
index b6c3b8c1a..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^221 - 3
-Base: 55.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 55 + 1/4;
- bitwidth := 64;
- s := 2^221;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e221m3_4limbs/Synthesis.v b/src/Specific/solinas64_2e221m3_4limbs/Synthesis.v
deleted file mode 100644
index 6fe2d9a16..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/compiler.sh b/src/Specific/solinas64_2e221m3_4limbs/compiler.sh
deleted file mode 100755
index 4af6d4e27..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/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='64' -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas64_2e221m3_4limbs/compilerxx.sh b/src/Specific/solinas64_2e221m3_4limbs/compilerxx.sh
deleted file mode 100755
index ff9f67b70..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/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='64' -Dlimb_weight_gaps_array='{56,55,55,55}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas64_2e221m3_4limbs/feadd.c b/src/Specific/solinas64_2e221m3_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_4limbs/feadd.v b/src/Specific/solinas64_2e221m3_4limbs/feadd.v
deleted file mode 100644
index f371d325e..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.v
deleted file mode 100644
index 651da7ed5..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fecarry.v b/src/Specific/solinas64_2e221m3_4limbs/fecarry.v
deleted file mode 100644
index 3bb9b27bf..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e221m3_4limbs/fecarryDisplay.v
deleted file mode 100644
index 9897b951f..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e221m3_4limbs/femul.c b/src/Specific/solinas64_2e221m3_4limbs/femul.c
deleted file mode 100644
index 57b54ec37..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * ((uint128_t)x8 * x14)));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x37);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- { uint64_t x31 = (x21 + (0x3 * x29));
- { uint64_t x32 = (x31 >> 0x38);
- { uint64_t x33 = (x31 & 0xffffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x37);
- { uint64_t x36 = (x34 & 0x7fffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_4limbs/femul.v b/src/Specific/solinas64_2e221m3_4limbs/femul.v
deleted file mode 100644
index 4916f12c9..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/femulDisplay.log b/src/Specific/solinas64_2e221m3_4limbs/femulDisplay.log
deleted file mode 100644
index 4644f56a2..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + ((0x2 * ((uint128_t)x7 * x15)) + ((0x2 * ((uint128_t)x9 * x13)) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x3 * ((uint128_t)x8 * x14)));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x3 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x3 * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x37);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- uint64_t x31 = (x21 + (0x3 * x29));
- uint64_t x32 = (x31 >> 0x38);
- uint64_t x33 = (x31 & 0xffffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x37);
- uint64_t x36 = (x34 & 0x7fffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_4limbs/femulDisplay.v b/src/Specific/solinas64_2e221m3_4limbs/femulDisplay.v
deleted file mode 100644
index f849417ce..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fesquare.c b/src/Specific/solinas64_2e221m3_4limbs/fesquare.c
deleted file mode 100644
index 5ea9ea22a..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((uint128_t)x5 * x5)));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x38);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint64_t x14 = (uint64_t) (x13 >> 0x37);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x37);
- { uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint64_t x22 = (x12 + (0x3 * x20));
- { uint64_t x23 = (x22 >> 0x38);
- { uint64_t x24 = (x22 & 0xffffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x37);
- { uint64_t x27 = (x25 & 0x7fffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fesquare.v b/src/Specific/solinas64_2e221m3_4limbs/fesquare.v
deleted file mode 100644
index 5391862a8..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.log
deleted file mode 100644
index 36ad83440..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((uint128_t)x5 * x5)));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x38);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint64_t x14 = (uint64_t) (x13 >> 0x37);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x37);
- uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint64_t x22 = (x12 + (0x3 * x20));
- uint64_t x23 = (x22 >> 0x38);
- uint64_t x24 = (x22 & 0xffffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x37);
- uint64_t x27 = (x25 & 0x7fffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.v
deleted file mode 100644
index 6263517d9..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fesub.c b/src/Specific/solinas64_2e221m3_4limbs/fesub.c
deleted file mode 100644
index 3f3468539..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1fffffffffffffa + x5) - x11);
- out[1] = ((0xfffffffffffffe + x7) - x13);
- out[2] = ((0xfffffffffffffe + x9) - x15);
- out[3] = ((0xfffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fesub.v b/src/Specific/solinas64_2e221m3_4limbs/fesub.v
deleted file mode 100644
index 2c9d34d5c..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.log
deleted file mode 100644
index f1c4eacf9..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xfffffffffffffe + x8) - x14), ((0xfffffffffffffe + x9) - x15), ((0xfffffffffffffe + x7) - x13), ((0x1fffffffffffffa + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.v
deleted file mode 100644
index 7ec4ac5ec..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e221m3_4limbs/freeze.c b/src/Specific/solinas64_2e221m3_4limbs/freeze.c
deleted file mode 100644
index b05893fd6..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffd);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7fffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xfffffffffffffd);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x7fffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7fffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_4limbs/freeze.v b/src/Specific/solinas64_2e221m3_4limbs/freeze.v
deleted file mode 100644
index bc739d8c0..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.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/solinas64_2e221m3_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.log
deleted file mode 100644
index 6c22bf989..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffd);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7fffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xfffffffffffffd);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x7fffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7fffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.v
deleted file mode 100644
index 6a10d5939..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e221m3_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e221m3_4limbs/py_interpreter.sh
deleted file mode 100755
index 6bb3515d4..000000000
--- a/src/Specific/solinas64_2e221m3_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**221 - 3' -Dmodulus_bytes='55.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e221m3_5limbs/CurveParameters.v b/src/Specific/solinas64_2e221m3_5limbs/CurveParameters.v
deleted file mode 100644
index 4805f424e..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^221 - 3
-Base: 44.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 44 + 1/5;
- bitwidth := 64;
- s := 2^221;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e221m3_5limbs/Synthesis.v b/src/Specific/solinas64_2e221m3_5limbs/Synthesis.v
deleted file mode 100644
index 94c74b883..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/compiler.sh b/src/Specific/solinas64_2e221m3_5limbs/compiler.sh
deleted file mode 100755
index cfddadd1b..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/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='64' -Dlimb_weight_gaps_array='{45,44,44,44,44}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas64_2e221m3_5limbs/compilerxx.sh b/src/Specific/solinas64_2e221m3_5limbs/compilerxx.sh
deleted file mode 100755
index ea04e0e89..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/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='64' -Dlimb_weight_gaps_array='{45,44,44,44,44}' -Dmodulus_array='{0x1f,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,0xfd}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<221) - 3' "$@"
diff --git a/src/Specific/solinas64_2e221m3_5limbs/feadd.c b/src/Specific/solinas64_2e221m3_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_5limbs/feadd.v b/src/Specific/solinas64_2e221m3_5limbs/feadd.v
deleted file mode 100644
index 4788cddb6..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.v
deleted file mode 100644
index dfa55f49c..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fecarry.v b/src/Specific/solinas64_2e221m3_5limbs/fecarry.v
deleted file mode 100644
index 277efba66..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e221m3_5limbs/fecarryDisplay.v
deleted file mode 100644
index 1f07d5044..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e221m3_5limbs/femul.c b/src/Specific/solinas64_2e221m3_5limbs/femul.c
deleted file mode 100644
index edc85a864..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x3 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x3 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x3 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x3 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2d);
- { uint64_t x26 = ((uint64_t)x24 & 0x1fffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2c);
- { uint64_t x29 = ((uint64_t)x27 & 0xfffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2c);
- { uint64_t x32 = ((uint64_t)x30 & 0xfffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2c);
- { uint64_t x35 = ((uint64_t)x33 & 0xfffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2c);
- { uint64_t x38 = ((uint64_t)x36 & 0xfffffffffff);
- { uint64_t x39 = (x26 + (0x3 * x37));
- { uint64_t x40 = (x39 >> 0x2d);
- { uint64_t x41 = (x39 & 0x1fffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2c);
- { uint64_t x44 = (x42 & 0xfffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_5limbs/femul.v b/src/Specific/solinas64_2e221m3_5limbs/femul.v
deleted file mode 100644
index 90a798c09..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/femulDisplay.log b/src/Specific/solinas64_2e221m3_5limbs/femulDisplay.log
deleted file mode 100644
index bc8d896fc..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x3 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x3 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x3 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x3 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2d);
- uint64_t x26 = ((uint64_t)x24 & 0x1fffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2c);
- uint64_t x29 = ((uint64_t)x27 & 0xfffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2c);
- uint64_t x32 = ((uint64_t)x30 & 0xfffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2c);
- uint64_t x35 = ((uint64_t)x33 & 0xfffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2c);
- uint64_t x38 = ((uint64_t)x36 & 0xfffffffffff);
- uint64_t x39 = (x26 + (0x3 * x37));
- uint64_t x40 = (x39 >> 0x2d);
- uint64_t x41 = (x39 & 0x1fffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2c);
- uint64_t x44 = (x42 & 0xfffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_5limbs/femulDisplay.v b/src/Specific/solinas64_2e221m3_5limbs/femulDisplay.v
deleted file mode 100644
index 923bbb6e0..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fesquare.c b/src/Specific/solinas64_2e221m3_5limbs/fesquare.c
deleted file mode 100644
index 84cdb293c..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2d);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- { uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- { uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2c);
- { uint64_t x24 = ((uint64_t)x22 & 0xfffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- { uint64_t x28 = (x15 + (0x3 * x26));
- { uint64_t x29 = (x28 >> 0x2d);
- { uint64_t x30 = (x28 & 0x1fffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2c);
- { uint64_t x33 = (x31 & 0xfffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fesquare.v b/src/Specific/solinas64_2e221m3_5limbs/fesquare.v
deleted file mode 100644
index 81ad58367..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.log
deleted file mode 100644
index 175352a37..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2d);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2c);
- uint64_t x24 = ((uint64_t)x22 & 0xfffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- uint64_t x28 = (x15 + (0x3 * x26));
- uint64_t x29 = (x28 >> 0x2d);
- uint64_t x30 = (x28 & 0x1fffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2c);
- uint64_t x33 = (x31 & 0xfffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.v
deleted file mode 100644
index a688f7145..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fesub.c b/src/Specific/solinas64_2e221m3_5limbs/fesub.c
deleted file mode 100644
index 555e77138..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x3ffffffffffa + x5) - x13);
- out[1] = ((0x1ffffffffffe + x7) - x15);
- out[2] = ((0x1ffffffffffe + x9) - x17);
- out[3] = ((0x1ffffffffffe + x11) - x19);
- out[4] = ((0x1ffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fesub.v b/src/Specific/solinas64_2e221m3_5limbs/fesub.v
deleted file mode 100644
index c8552014d..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.log
deleted file mode 100644
index ff9597411..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x1ffffffffffe + x10) - x18), ((0x1ffffffffffe + x11) - x19), ((0x1ffffffffffe + x9) - x17), ((0x1ffffffffffe + x7) - x15), ((0x3ffffffffffa + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.v
deleted file mode 100644
index 2c0b73408..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e221m3_5limbs/freeze.c b/src/Specific/solinas64_2e221m3_5limbs/freeze.c
deleted file mode 100644
index efe1655c0..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffd);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0xfffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0xfffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0xfffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xfffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x1ffffffffffd);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0xfffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0xfffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0xfffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0xfffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e221m3_5limbs/freeze.v b/src/Specific/solinas64_2e221m3_5limbs/freeze.v
deleted file mode 100644
index 8d2e05c56..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.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/solinas64_2e221m3_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.log
deleted file mode 100644
index 0d868936d..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffd);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0xfffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0xfffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0xfffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xfffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x1ffffffffffd);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0xfffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0xfffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0xfffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0xfffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.v
deleted file mode 100644
index d3b8588c1..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e221m3_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e221m3_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e221m3_5limbs/py_interpreter.sh
deleted file mode 100755
index e60a140c6..000000000
--- a/src/Specific/solinas64_2e221m3_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**221 - 3' -Dmodulus_bytes='44.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e222m117_4limbs/CurveParameters.v b/src/Specific/solinas64_2e222m117_4limbs/CurveParameters.v
deleted file mode 100644
index 2781a543c..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^222 - 117
-Base: 55.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 55 + 1/2;
- bitwidth := 64;
- s := 2^222;
- c := [(1, 117)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e222m117_4limbs/Synthesis.v b/src/Specific/solinas64_2e222m117_4limbs/Synthesis.v
deleted file mode 100644
index 858e11fe8..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/compiler.sh b/src/Specific/solinas64_2e222m117_4limbs/compiler.sh
deleted file mode 100755
index 9a5d4ad29..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/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='64' -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas64_2e222m117_4limbs/compilerxx.sh b/src/Specific/solinas64_2e222m117_4limbs/compilerxx.sh
deleted file mode 100755
index 69e75c9a7..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/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='64' -Dlimb_weight_gaps_array='{56,55,56,55}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas64_2e222m117_4limbs/feadd.c b/src/Specific/solinas64_2e222m117_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_4limbs/feadd.v b/src/Specific/solinas64_2e222m117_4limbs/feadd.v
deleted file mode 100644
index 591c1e8b0..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.v
deleted file mode 100644
index 6ea369e68..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fecarry.v b/src/Specific/solinas64_2e222m117_4limbs/fecarry.v
deleted file mode 100644
index ea682ab6f..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e222m117_4limbs/fecarryDisplay.v
deleted file mode 100644
index c34b3e111..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e222m117_4limbs/femul.c b/src/Specific/solinas64_2e222m117_4limbs/femul.c
deleted file mode 100644
index db1b7c285..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x75 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x75 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x75 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint128_t x20 = (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x38);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x37);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- { uint128_t x31 = (x21 + ((uint128_t)0x75 * x29));
- { uint64_t x32 = (uint64_t) (x31 >> 0x38);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x37);
- { uint64_t x36 = (x34 & 0x7fffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_4limbs/femul.v b/src/Specific/solinas64_2e222m117_4limbs/femul.v
deleted file mode 100644
index 5adb3153c..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/femulDisplay.log b/src/Specific/solinas64_2e222m117_4limbs/femulDisplay.log
deleted file mode 100644
index 5f2033ad6..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x75 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x75 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x75 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint128_t x20 = (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x38);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x37);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- uint128_t x31 = (x21 + ((uint128_t)0x75 * x29));
- uint64_t x32 = (uint64_t) (x31 >> 0x38);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x37);
- uint64_t x36 = (x34 & 0x7fffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_4limbs/femulDisplay.v b/src/Specific/solinas64_2e222m117_4limbs/femulDisplay.v
deleted file mode 100644
index 2e9d8ca5e..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fesquare.c b/src/Specific/solinas64_2e222m117_4limbs/fesquare.c
deleted file mode 100644
index ffaeac9af..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x75 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x75 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x75 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint128_t x11 = (x10 >> 0x38);
- { uint64_t x12 = ((uint64_t)x10 & 0xffffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint128_t x14 = (x13 >> 0x37);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint128_t x17 = (x16 >> 0x38);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x12 + ((uint128_t)0x75 * x20));
- { uint64_t x23 = (uint64_t) (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x37);
- { uint64_t x27 = (x25 & 0x7fffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fesquare.v b/src/Specific/solinas64_2e222m117_4limbs/fesquare.v
deleted file mode 100644
index fb6ae4d14..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.log
deleted file mode 100644
index 276d1a4b2..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x75 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x75 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x75 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint128_t x11 = (x10 >> 0x38);
- uint64_t x12 = ((uint64_t)x10 & 0xffffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint128_t x14 = (x13 >> 0x37);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint128_t x17 = (x16 >> 0x38);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x12 + ((uint128_t)0x75 * x20));
- uint64_t x23 = (uint64_t) (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x37);
- uint64_t x27 = (x25 & 0x7fffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.v
deleted file mode 100644
index 57d13e180..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fesub.c b/src/Specific/solinas64_2e222m117_4limbs/fesub.c
deleted file mode 100644
index 9e774a1b1..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x1ffffffffffff16 + x5) - x11);
- out[1] = ((0xfffffffffffffe + x7) - x13);
- out[2] = ((0x1fffffffffffffe + x9) - x15);
- out[3] = ((0xfffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fesub.v b/src/Specific/solinas64_2e222m117_4limbs/fesub.v
deleted file mode 100644
index b9d357374..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.log
deleted file mode 100644
index eb74f7a0d..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0xfffffffffffffe + x8) - x14), ((0x1fffffffffffffe + x9) - x15), ((0xfffffffffffffe + x7) - x13), ((0x1ffffffffffff16 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.v
deleted file mode 100644
index 2b65ecf7e..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e222m117_4limbs/freeze.c b/src/Specific/solinas64_2e222m117_4limbs/freeze.c
deleted file mode 100644
index 9c4d35595..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff8b);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0xffffffffffff8b);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0xffffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x7fffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_4limbs/freeze.v b/src/Specific/solinas64_2e222m117_4limbs/freeze.v
deleted file mode 100644
index 42c4bc89f..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.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/solinas64_2e222m117_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.log
deleted file mode 100644
index 2fd34e0f6..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff8b);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7fffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0xffffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x7fffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0xffffffffffff8b);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0xffffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x7fffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.v
deleted file mode 100644
index 29a613685..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e222m117_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e222m117_4limbs/py_interpreter.sh
deleted file mode 100755
index 8bcc9d070..000000000
--- a/src/Specific/solinas64_2e222m117_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='55.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e222m117_5limbs/CurveParameters.v b/src/Specific/solinas64_2e222m117_5limbs/CurveParameters.v
deleted file mode 100644
index f51465876..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^222 - 117
-Base: 44.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 44 + 2/5;
- bitwidth := 64;
- s := 2^222;
- c := [(1, 117)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e222m117_5limbs/Synthesis.v b/src/Specific/solinas64_2e222m117_5limbs/Synthesis.v
deleted file mode 100644
index 06a73b2c8..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/compiler.sh b/src/Specific/solinas64_2e222m117_5limbs/compiler.sh
deleted file mode 100755
index 3d5283f2e..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/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='64' -Dlimb_weight_gaps_array='{45,44,45,44,44}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas64_2e222m117_5limbs/compilerxx.sh b/src/Specific/solinas64_2e222m117_5limbs/compilerxx.sh
deleted file mode 100755
index e260a626f..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/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='64' -Dlimb_weight_gaps_array='{45,44,45,44,44}' -Dmodulus_array='{0x3f,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,0x8b}' -Dmodulus_bytes_val='28' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<222) - 117' "$@"
diff --git a/src/Specific/solinas64_2e222m117_5limbs/feadd.c b/src/Specific/solinas64_2e222m117_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_5limbs/feadd.v b/src/Specific/solinas64_2e222m117_5limbs/feadd.v
deleted file mode 100644
index b56700f2a..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.v
deleted file mode 100644
index 651bca903..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fecarry.v b/src/Specific/solinas64_2e222m117_5limbs/fecarry.v
deleted file mode 100644
index d89422c70..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e222m117_5limbs/fecarryDisplay.v
deleted file mode 100644
index a31bc958b..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e222m117_5limbs/femul.c b/src/Specific/solinas64_2e222m117_5limbs/femul.c
deleted file mode 100644
index e02cd4cec..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + (((uint128_t)x9 * x17) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x75 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x75 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x75 * (((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x75 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2d);
- { uint64_t x26 = ((uint64_t)x24 & 0x1fffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2c);
- { uint64_t x29 = ((uint64_t)x27 & 0xfffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2d);
- { uint64_t x32 = ((uint64_t)x30 & 0x1fffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2c);
- { uint64_t x35 = ((uint64_t)x33 & 0xfffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2c);
- { uint64_t x38 = ((uint64_t)x36 & 0xfffffffffff);
- { uint64_t x39 = (x26 + (0x75 * x37));
- { uint64_t x40 = (x39 >> 0x2d);
- { uint64_t x41 = (x39 & 0x1fffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2c);
- { uint64_t x44 = (x42 & 0xfffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_5limbs/femul.v b/src/Specific/solinas64_2e222m117_5limbs/femul.v
deleted file mode 100644
index 67007320c..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/femulDisplay.log b/src/Specific/solinas64_2e222m117_5limbs/femulDisplay.log
deleted file mode 100644
index b5ad2c1d4..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + (((uint128_t)x9 * x17) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x75 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x75 * ((0x2 * ((uint128_t)x11 * x18)) + (0x2 * ((uint128_t)x10 * x19)))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x75 * (((uint128_t)x9 * x18) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x75 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2d);
- uint64_t x26 = ((uint64_t)x24 & 0x1fffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2c);
- uint64_t x29 = ((uint64_t)x27 & 0xfffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2d);
- uint64_t x32 = ((uint64_t)x30 & 0x1fffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2c);
- uint64_t x35 = ((uint64_t)x33 & 0xfffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2c);
- uint64_t x38 = ((uint64_t)x36 & 0xfffffffffff);
- uint64_t x39 = (x26 + (0x75 * x37));
- uint64_t x40 = (x39 >> 0x2d);
- uint64_t x41 = (x39 & 0x1fffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2c);
- uint64_t x44 = (x42 & 0xfffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_5limbs/femulDisplay.v b/src/Specific/solinas64_2e222m117_5limbs/femulDisplay.v
deleted file mode 100644
index 166c0675e..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fesquare.c b/src/Specific/solinas64_2e222m117_5limbs/fesquare.c
deleted file mode 100644
index 22a72706e..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x75 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x75 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x75 * (((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x75 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2d);
- { uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- { uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2d);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2c);
- { uint64_t x24 = ((uint64_t)x22 & 0xfffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- { uint64_t x28 = (x15 + (0x75 * x26));
- { uint64_t x29 = (x28 >> 0x2d);
- { uint64_t x30 = (x28 & 0x1fffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2c);
- { uint64_t x33 = (x31 & 0xfffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fesquare.v b/src/Specific/solinas64_2e222m117_5limbs/fesquare.v
deleted file mode 100644
index 6fe159e83..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.log
deleted file mode 100644
index 824b3186c..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x75 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x75 * ((0x2 * ((uint128_t)x8 * x7)) + (0x2 * ((uint128_t)x7 * x8)))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x75 * (((uint128_t)x6 * x7) + ((0x2 * ((uint128_t)x8 * x8)) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x75 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2d);
- uint64_t x15 = ((uint64_t)x13 & 0x1fffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2c);
- uint64_t x18 = ((uint64_t)x16 & 0xfffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2d);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2c);
- uint64_t x24 = ((uint64_t)x22 & 0xfffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2c);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffff);
- uint64_t x28 = (x15 + (0x75 * x26));
- uint64_t x29 = (x28 >> 0x2d);
- uint64_t x30 = (x28 & 0x1fffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2c);
- uint64_t x33 = (x31 & 0xfffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.v
deleted file mode 100644
index f9664de27..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fesub.c b/src/Specific/solinas64_2e222m117_5limbs/fesub.c
deleted file mode 100644
index c2a38ad49..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x3fffffffff16 + x5) - x13);
- out[1] = ((0x1ffffffffffe + x7) - x15);
- out[2] = ((0x3ffffffffffe + x9) - x17);
- out[3] = ((0x1ffffffffffe + x11) - x19);
- out[4] = ((0x1ffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fesub.v b/src/Specific/solinas64_2e222m117_5limbs/fesub.v
deleted file mode 100644
index 21836cd68..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.log
deleted file mode 100644
index ccfc6bccd..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x1ffffffffffe + x10) - x18), ((0x1ffffffffffe + x11) - x19), ((0x3ffffffffffe + x9) - x17), ((0x1ffffffffffe + x7) - x15), ((0x3fffffffff16 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.v
deleted file mode 100644
index b494e5408..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e222m117_5limbs/freeze.c b/src/Specific/solinas64_2e222m117_5limbs/freeze.c
deleted file mode 100644
index 7905a55d4..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffff8b);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0xfffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0xfffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xfffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x1fffffffff8b);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0xfffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x1fffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0xfffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0xfffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e222m117_5limbs/freeze.v b/src/Specific/solinas64_2e222m117_5limbs/freeze.v
deleted file mode 100644
index 872ea0ce2..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.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/solinas64_2e222m117_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.log
deleted file mode 100644
index ee234450a..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffff8b);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0xfffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0xfffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xfffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x1fffffffff8b);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0xfffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x1fffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0xfffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0xfffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.v
deleted file mode 100644
index 24555eb19..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e222m117_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e222m117_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e222m117_5limbs/py_interpreter.sh
deleted file mode 100755
index fa530a078..000000000
--- a/src/Specific/solinas64_2e222m117_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**222 - 117' -Dmodulus_bytes='44.4' -Da24='121665'
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/CurveParameters.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/CurveParameters.v
deleted file mode 100644
index 77da23e52..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/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: 44.8
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 44 + 4/5;
- bitwidth := 64;
- s := 2^224;
- c := [(1, -1); (2^96, 1)];
- carry_chains := Some [[1; 4]; [2; 0; 3; 1; 4]; [2; 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/solinas64_2e224m2e96p1_5limbs/Synthesis.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/Synthesis.v
deleted file mode 100644
index 898a8f2bb..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/compiler.sh b/src/Specific/solinas64_2e224m2e96p1_5limbs/compiler.sh
deleted file mode 100755
index a7e6c65ee..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44}' -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='5' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/compilerxx.sh b/src/Specific/solinas64_2e224m2e96p1_5limbs/compilerxx.sh
deleted file mode 100755
index 38dc9c684..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44}' -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='5' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.c b/src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.v
deleted file mode 100644
index 79416d067..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.v
deleted file mode 100644
index 9b9de6003..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/fecarry.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/fecarry.v
deleted file mode 100644
index 054e09872..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/fecarryDisplay.v
deleted file mode 100644
index 103629cd3..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/femul.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/femul.v
deleted file mode 100644
index 24c302bc2..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/femulDisplay.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/femulDisplay.v
deleted file mode 100644
index 4ad58b459..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/fesquare.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/fesquare.v
deleted file mode 100644
index fd71658c3..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/fesquareDisplay.v
deleted file mode 100644
index abbb96fd1..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/fesub.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/fesub.v
deleted file mode 100644
index c20396fbc..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/fesubDisplay.v
deleted file mode 100644
index 0e61ade87..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.c b/src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.c
deleted file mode 100644
index 9bd4af647..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, ℤ x11 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0x1);
- { uint64_t x13, ℤ x14 = Op (Syntax.SubWithGetBorrow 45 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x11, Return x4, 0x0);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 45 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffc0);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1fffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xfffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint8_t x25 = ((uint8_t)x24 & 0x1);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, 0x0);
- { uint64_t x32 = (x24 & 0x1fffffffffc0);
- { uint64_t x34, uint8_t x35 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x16, Return x32);
- { uint64_t x36 = (x24 & 0x1fffffffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x19, Return x36);
- { uint64_t x40 = (x24 & 0xfffffffffff);
- { uint64_t x42, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x22, Return x40);
- out[0] = x27;
- out[1] = x30;
- out[2] = x34;
- out[3] = x38;
- out[4] = x42;
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.v
deleted file mode 100644
index b43ca8351..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.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/solinas64_2e224m2e96p1_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.log
deleted file mode 100644
index 86c5ce8e8..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,22 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, ℤ x11 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0x1);
- uint64_t x13, ℤ x14 = Op (Syntax.SubWithGetBorrow 45 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x11, Return x4, 0x0);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 45 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffc0);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1fffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xfffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint8_t x25 = ((uint8_t)x24 & 0x1);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, 0x0);
- uint64_t x32 = (x24 & 0x1fffffffffc0);
- uint64_t x34, uint8_t x35 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x16, Return x32);
- uint64_t x36 = (x24 & 0x1fffffffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x19, Return x36);
- uint64_t x40 = (x24 & 0xfffffffffff);
- uint64_t x42, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x22, Return x40);
- (Return x42, Return x38, Return x34, Return x30, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.v
deleted file mode 100644
index 46dc82d84..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e224m2e96p1_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e224m2e96p1_5limbs/py_interpreter.sh
deleted file mode 100755
index 81d1e73f5..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_5limbs/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='44.8' -Da24='121665'
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/CurveParameters.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/CurveParameters.v
deleted file mode 100644
index 1173c567f..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/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: 37 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 37 + 1/3;
- bitwidth := 64;
- s := 2^224;
- c := [(1, -1); (2^96, 1)];
- carry_chains := Some [[1; 5]; [2; 0; 3; 1; 4; 5]; [2; 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/solinas64_2e224m2e96p1_6limbs/Synthesis.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/Synthesis.v
deleted file mode 100644
index 1cbaa38bf..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/compiler.sh b/src/Specific/solinas64_2e224m2e96p1_6limbs/compiler.sh
deleted file mode 100755
index 987b803a0..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/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='64' -Dlimb_weight_gaps_array='{38,37,37,38,37,37}' -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='6' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/compilerxx.sh b/src/Specific/solinas64_2e224m2e96p1_6limbs/compilerxx.sh
deleted file mode 100755
index a9e262ae8..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/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='64' -Dlimb_weight_gaps_array='{38,37,37,38,37,37}' -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='6' -Dq_mpz='(1_mpz<<224) - (1_mpz<<96) + 1' "$@"
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.c b/src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.v
deleted file mode 100644
index 9731c6546..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.v
deleted file mode 100644
index dc1802e2a..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/fecarry.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/fecarry.v
deleted file mode 100644
index 7353cbf05..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/fecarryDisplay.v
deleted file mode 100644
index 2b18d815d..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/femul.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/femul.v
deleted file mode 100644
index 916268c4e..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/femulDisplay.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/femulDisplay.v
deleted file mode 100644
index bb61705a5..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/fesquare.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/fesquare.v
deleted file mode 100644
index 9416702f7..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/fesquareDisplay.v
deleted file mode 100644
index fc094c0ac..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/fesub.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/fesub.v
deleted file mode 100644
index 39813f86b..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/fesubDisplay.v
deleted file mode 100644
index 8ad7a7ba9..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.c b/src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.c
deleted file mode 100644
index ceb4a7f2a..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, ℤ x13 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0x1);
- { uint64_t x15, ℤ x16 = Op (Syntax.SubWithGetBorrow 37 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x13, Return x4, 0x0);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 37 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffe00000);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3fffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x1fffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint8_t x30 = ((uint8_t)x29 & 0x1);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, 0x0);
- { uint64_t x37 = (x29 & 0x1fffe00000);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x18, Return x37);
- { uint64_t x41 = (x29 & 0x3fffffffff);
- { uint64_t x43, uint8_t x44 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x21, Return x41);
- { uint64_t x45 = (x29 & 0x1fffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x24, Return x45);
- { uint64_t x49 = (x29 & 0x1fffffffff);
- { uint64_t x51, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x27, Return x49);
- out[0] = x32;
- out[1] = x35;
- out[2] = x39;
- out[3] = x43;
- out[4] = x47;
- out[5] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.v
deleted file mode 100644
index 079e96214..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.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/solinas64_2e224m2e96p1_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.log
deleted file mode 100644
index b64dbd5e4..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,25 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, ℤ x13 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0x1);
- uint64_t x15, ℤ x16 = Op (Syntax.SubWithGetBorrow 37 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x13, Return x4, 0x0);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 37 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffe00000);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3fffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x1fffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint8_t x30 = ((uint8_t)x29 & 0x1);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, 0x0);
- uint64_t x37 = (x29 & 0x1fffe00000);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x18, Return x37);
- uint64_t x41 = (x29 & 0x3fffffffff);
- uint64_t x43, uint8_t x44 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x21, Return x41);
- uint64_t x45 = (x29 & 0x1fffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x24, Return x45);
- uint64_t x49 = (x29 & 0x1fffffffff);
- uint64_t x51, uint8_t _ = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x27, Return x49);
- (Return x51, Return x47, Return x43, Return x39, Return x35, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.v
deleted file mode 100644
index 077ca7c14..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e224m2e96p1_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e224m2e96p1_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e224m2e96p1_6limbs/py_interpreter.sh
deleted file mode 100755
index 53405d403..000000000
--- a/src/Specific/solinas64_2e224m2e96p1_6limbs/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='37 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e226m5_4limbs/CurveParameters.v b/src/Specific/solinas64_2e226m5_4limbs/CurveParameters.v
deleted file mode 100644
index b7d00c001..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^226 - 5
-Base: 56.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 56 + 1/2;
- bitwidth := 64;
- s := 2^226;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e226m5_4limbs/Synthesis.v b/src/Specific/solinas64_2e226m5_4limbs/Synthesis.v
deleted file mode 100644
index 1c073bc77..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/compiler.sh b/src/Specific/solinas64_2e226m5_4limbs/compiler.sh
deleted file mode 100755
index d7057de2d..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas64_2e226m5_4limbs/compilerxx.sh b/src/Specific/solinas64_2e226m5_4limbs/compilerxx.sh
deleted file mode 100755
index ae57f8cc9..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas64_2e226m5_4limbs/feadd.c b/src/Specific/solinas64_2e226m5_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_4limbs/feadd.v b/src/Specific/solinas64_2e226m5_4limbs/feadd.v
deleted file mode 100644
index 02e5c9b9a..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.v
deleted file mode 100644
index 02b24d5ae..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fecarry.v b/src/Specific/solinas64_2e226m5_4limbs/fecarry.v
deleted file mode 100644
index c01232aeb..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e226m5_4limbs/fecarryDisplay.v
deleted file mode 100644
index cd6bdfe16..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e226m5_4limbs/femul.c b/src/Specific/solinas64_2e226m5_4limbs/femul.c
deleted file mode 100644
index d92664251..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x39);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x39);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x38);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- { uint128_t x31 = (x21 + ((uint128_t)0x5 * x29));
- { uint64_t x32 = (uint64_t) (x31 >> 0x39);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x38);
- { uint64_t x36 = (x34 & 0xffffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_4limbs/femul.v b/src/Specific/solinas64_2e226m5_4limbs/femul.v
deleted file mode 100644
index 1a0e0416c..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/femulDisplay.log b/src/Specific/solinas64_2e226m5_4limbs/femulDisplay.log
deleted file mode 100644
index bdc377b7d..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x5 * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x5 * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x5 * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x39);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x39);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x38);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- uint128_t x31 = (x21 + ((uint128_t)0x5 * x29));
- uint64_t x32 = (uint64_t) (x31 >> 0x39);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x38);
- uint64_t x36 = (x34 & 0xffffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_4limbs/femulDisplay.v b/src/Specific/solinas64_2e226m5_4limbs/femulDisplay.v
deleted file mode 100644
index 2b1882c85..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fesquare.c b/src/Specific/solinas64_2e226m5_4limbs/fesquare.c
deleted file mode 100644
index bb9017957..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint64_t x11 = (uint64_t) (x10 >> 0x39);
- { uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint128_t x14 = (x13 >> 0x38);
- { uint64_t x15 = ((uint64_t)x13 & 0xffffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint64_t x17 = (uint64_t) (x16 >> 0x39);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x12 + ((uint128_t)0x5 * x20));
- { uint64_t x23 = (uint64_t) (x22 >> 0x39);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x38);
- { uint64_t x27 = (x25 & 0xffffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fesquare.v b/src/Specific/solinas64_2e226m5_4limbs/fesquare.v
deleted file mode 100644
index 325d4ebaf..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.log
deleted file mode 100644
index 45a28e10e..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint64_t x11 = (uint64_t) (x10 >> 0x39);
- uint64_t x12 = ((uint64_t)x10 & 0x1ffffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint128_t x14 = (x13 >> 0x38);
- uint64_t x15 = ((uint64_t)x13 & 0xffffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint64_t x17 = (uint64_t) (x16 >> 0x39);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x12 + ((uint128_t)0x5 * x20));
- uint64_t x23 = (uint64_t) (x22 >> 0x39);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x38);
- uint64_t x27 = (x25 & 0xffffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.v
deleted file mode 100644
index e3fb5cc33..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fesub.c b/src/Specific/solinas64_2e226m5_4limbs/fesub.c
deleted file mode 100644
index b31e552cc..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x3fffffffffffff6 + x5) - x11);
- out[1] = ((0x1fffffffffffffe + x7) - x13);
- out[2] = ((0x3fffffffffffffe + x9) - x15);
- out[3] = ((0x1fffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fesub.v b/src/Specific/solinas64_2e226m5_4limbs/fesub.v
deleted file mode 100644
index ebf5dbebe..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.log
deleted file mode 100644
index f0f83e6da..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x1fffffffffffffe + x8) - x14), ((0x3fffffffffffffe + x9) - x15), ((0x1fffffffffffffe + x7) - x13), ((0x3fffffffffffff6 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.v
deleted file mode 100644
index d825ffe2c..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e226m5_4limbs/freeze.c b/src/Specific/solinas64_2e226m5_4limbs/freeze.c
deleted file mode 100644
index 27a027c47..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffffb);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x1fffffffffffffb);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0xffffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x1ffffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0xffffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_4limbs/freeze.v b/src/Specific/solinas64_2e226m5_4limbs/freeze.v
deleted file mode 100644
index 14991bc7e..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.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/solinas64_2e226m5_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.log
deleted file mode 100644
index 89622811c..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffffb);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0xffffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x1ffffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0xffffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x1fffffffffffffb);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0xffffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x1ffffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0xffffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.v
deleted file mode 100644
index 0aa83c6b2..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e226m5_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e226m5_4limbs/py_interpreter.sh
deleted file mode 100755
index e7fa43f5a..000000000
--- a/src/Specific/solinas64_2e226m5_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**226 - 5' -Dmodulus_bytes='56.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e226m5_5limbs/CurveParameters.v b/src/Specific/solinas64_2e226m5_5limbs/CurveParameters.v
deleted file mode 100644
index 2c8e16ee6..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^226 - 5
-Base: 45.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 45 + 1/5;
- bitwidth := 64;
- s := 2^226;
- c := [(1, 5)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e226m5_5limbs/Synthesis.v b/src/Specific/solinas64_2e226m5_5limbs/Synthesis.v
deleted file mode 100644
index c81851016..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/compiler.sh b/src/Specific/solinas64_2e226m5_5limbs/compiler.sh
deleted file mode 100755
index f0d29537a..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas64_2e226m5_5limbs/compilerxx.sh b/src/Specific/solinas64_2e226m5_5limbs/compilerxx.sh
deleted file mode 100755
index 0865f80e4..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfb}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<226) - 5' "$@"
diff --git a/src/Specific/solinas64_2e226m5_5limbs/feadd.c b/src/Specific/solinas64_2e226m5_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_5limbs/feadd.v b/src/Specific/solinas64_2e226m5_5limbs/feadd.v
deleted file mode 100644
index 3028493f3..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.v
deleted file mode 100644
index 2ed3a861b..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fecarry.v b/src/Specific/solinas64_2e226m5_5limbs/fecarry.v
deleted file mode 100644
index c165af39d..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e226m5_5limbs/fecarryDisplay.v
deleted file mode 100644
index 6130b48da..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e226m5_5limbs/femul.c b/src/Specific/solinas64_2e226m5_5limbs/femul.c
deleted file mode 100644
index c5f483f20..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x5 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x5 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x5 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x5 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2e);
- { uint64_t x26 = ((uint64_t)x24 & 0x3fffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2d);
- { uint64_t x29 = ((uint64_t)x27 & 0x1fffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2d);
- { uint64_t x32 = ((uint64_t)x30 & 0x1fffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2d);
- { uint64_t x35 = ((uint64_t)x33 & 0x1fffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2d);
- { uint64_t x38 = ((uint64_t)x36 & 0x1fffffffffff);
- { uint64_t x39 = (x26 + (0x5 * x37));
- { uint64_t x40 = (x39 >> 0x2e);
- { uint64_t x41 = (x39 & 0x3fffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2d);
- { uint64_t x44 = (x42 & 0x1fffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_5limbs/femul.v b/src/Specific/solinas64_2e226m5_5limbs/femul.v
deleted file mode 100644
index f97c5918b..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/femulDisplay.log b/src/Specific/solinas64_2e226m5_5limbs/femulDisplay.log
deleted file mode 100644
index 3edc5f339..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x5 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x5 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x5 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x5 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2e);
- uint64_t x26 = ((uint64_t)x24 & 0x3fffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2d);
- uint64_t x29 = ((uint64_t)x27 & 0x1fffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2d);
- uint64_t x32 = ((uint64_t)x30 & 0x1fffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2d);
- uint64_t x35 = ((uint64_t)x33 & 0x1fffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2d);
- uint64_t x38 = ((uint64_t)x36 & 0x1fffffffffff);
- uint64_t x39 = (x26 + (0x5 * x37));
- uint64_t x40 = (x39 >> 0x2e);
- uint64_t x41 = (x39 & 0x3fffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2d);
- uint64_t x44 = (x42 & 0x1fffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_5limbs/femulDisplay.v b/src/Specific/solinas64_2e226m5_5limbs/femulDisplay.v
deleted file mode 100644
index 15c9b8390..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fesquare.c b/src/Specific/solinas64_2e226m5_5limbs/fesquare.c
deleted file mode 100644
index dcfb284de..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x5 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2e);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2d);
- { uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2d);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2d);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2d);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffff);
- { uint64_t x28 = (x15 + (0x5 * x26));
- { uint64_t x29 = (x28 >> 0x2e);
- { uint64_t x30 = (x28 & 0x3fffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2d);
- { uint64_t x33 = (x31 & 0x1fffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fesquare.v b/src/Specific/solinas64_2e226m5_5limbs/fesquare.v
deleted file mode 100644
index 016bc7eb8..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.log
deleted file mode 100644
index 124e3cac9..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x5 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x5 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x5 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x5 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2e);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2d);
- uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2d);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2d);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2d);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffff);
- uint64_t x28 = (x15 + (0x5 * x26));
- uint64_t x29 = (x28 >> 0x2e);
- uint64_t x30 = (x28 & 0x3fffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2d);
- uint64_t x33 = (x31 & 0x1fffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.v
deleted file mode 100644
index 860eb8319..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fesub.c b/src/Specific/solinas64_2e226m5_5limbs/fesub.c
deleted file mode 100644
index 3abd171ea..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x7ffffffffff6 + x5) - x13);
- out[1] = ((0x3ffffffffffe + x7) - x15);
- out[2] = ((0x3ffffffffffe + x9) - x17);
- out[3] = ((0x3ffffffffffe + x11) - x19);
- out[4] = ((0x3ffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fesub.v b/src/Specific/solinas64_2e226m5_5limbs/fesub.v
deleted file mode 100644
index 2960f5e31..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.log
deleted file mode 100644
index c91c66cd3..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3ffffffffffe + x10) - x18), ((0x3ffffffffffe + x11) - x19), ((0x3ffffffffffe + x9) - x17), ((0x3ffffffffffe + x7) - x15), ((0x7ffffffffff6 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.v
deleted file mode 100644
index 45abe182a..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e226m5_5limbs/freeze.c b/src/Specific/solinas64_2e226m5_5limbs/freeze.c
deleted file mode 100644
index fd05a7d55..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffb);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1fffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1fffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1fffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x3ffffffffffb);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x1fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x1fffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x1fffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x1fffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e226m5_5limbs/freeze.v b/src/Specific/solinas64_2e226m5_5limbs/freeze.v
deleted file mode 100644
index 9ba5785dc..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.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/solinas64_2e226m5_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.log
deleted file mode 100644
index bb7715cbc..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffb);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1fffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1fffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1fffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x3ffffffffffb);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x1fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x1fffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x1fffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x1fffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.v
deleted file mode 100644
index ae67c5eba..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e226m5_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e226m5_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e226m5_5limbs/py_interpreter.sh
deleted file mode 100755
index 87080e619..000000000
--- a/src/Specific/solinas64_2e226m5_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**226 - 5' -Dmodulus_bytes='45.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e230m27_4limbs/CurveParameters.v b/src/Specific/solinas64_2e230m27_4limbs/CurveParameters.v
deleted file mode 100644
index c6ea3202b..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^230 - 27
-Base: 57.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 57 + 1/2;
- bitwidth := 64;
- s := 2^230;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e230m27_4limbs/Synthesis.v b/src/Specific/solinas64_2e230m27_4limbs/Synthesis.v
deleted file mode 100644
index f0a7c8050..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/compiler.sh b/src/Specific/solinas64_2e230m27_4limbs/compiler.sh
deleted file mode 100755
index fc1cb69cd..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas64_2e230m27_4limbs/compilerxx.sh b/src/Specific/solinas64_2e230m27_4limbs/compilerxx.sh
deleted file mode 100755
index 3aa34c029..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,58,57}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas64_2e230m27_4limbs/feadd.c b/src/Specific/solinas64_2e230m27_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_4limbs/feadd.v b/src/Specific/solinas64_2e230m27_4limbs/feadd.v
deleted file mode 100644
index 61975391f..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.v
deleted file mode 100644
index b927d4e1a..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fecarry.v b/src/Specific/solinas64_2e230m27_4limbs/fecarry.v
deleted file mode 100644
index 28f2ed91a..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e230m27_4limbs/fecarryDisplay.v
deleted file mode 100644
index 823e87cf3..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e230m27_4limbs/femul.c b/src/Specific/solinas64_2e230m27_4limbs/femul.c
deleted file mode 100644
index ffb6b77cd..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x1b * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x1b * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0x1b * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint128_t x20 = (x19 >> 0x3a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x39);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x3a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x39);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff);
- { uint128_t x31 = (x21 + ((uint128_t)0x1b * x29));
- { uint64_t x32 = (uint64_t) (x31 >> 0x3a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x39);
- { uint64_t x36 = (x34 & 0x1ffffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_4limbs/femul.v b/src/Specific/solinas64_2e230m27_4limbs/femul.v
deleted file mode 100644
index be6fe19f7..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/femulDisplay.log b/src/Specific/solinas64_2e230m27_4limbs/femulDisplay.log
deleted file mode 100644
index c3853896e..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + ((0x2 * ((uint128_t)x7 * x13)) + ((uint128_t)x9 * x11))) + (0x1b * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0x1b * (((uint128_t)x9 * x14) + ((uint128_t)x8 * x15))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0x1b * ((0x2 * ((uint128_t)x7 * x14)) + (((uint128_t)x9 * x15) + (0x2 * ((uint128_t)x8 * x13))))));
- uint128_t x20 = (x19 >> 0x3a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x39);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x3a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x39);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff);
- uint128_t x31 = (x21 + ((uint128_t)0x1b * x29));
- uint64_t x32 = (uint64_t) (x31 >> 0x3a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x39);
- uint64_t x36 = (x34 & 0x1ffffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_4limbs/femulDisplay.v b/src/Specific/solinas64_2e230m27_4limbs/femulDisplay.v
deleted file mode 100644
index 5325cbe45..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fesquare.c b/src/Specific/solinas64_2e230m27_4limbs/fesquare.c
deleted file mode 100644
index daf47328b..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1b * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0x1b * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint128_t x11 = (x10 >> 0x3a);
- { uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint128_t x14 = (x13 >> 0x39);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint128_t x17 = (x16 >> 0x3a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint64_t x20 = (uint64_t) (x19 >> 0x39);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffffff);
- { uint128_t x22 = (x12 + ((uint128_t)0x1b * x20));
- { uint64_t x23 = (uint64_t) (x22 >> 0x3a);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x39);
- { uint64_t x27 = (x25 & 0x1ffffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fesquare.v b/src/Specific/solinas64_2e230m27_4limbs/fesquare.v
deleted file mode 100644
index 7fde088c1..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.log
deleted file mode 100644
index 936d27885..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1b * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (((uint128_t)x6 * x5) + ((uint128_t)x5 * x6))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0x1b * ((0x2 * ((uint128_t)x4 * x5)) + (((uint128_t)x6 * x6) + (0x2 * ((uint128_t)x5 * x4))))));
- uint128_t x11 = (x10 >> 0x3a);
- uint64_t x12 = ((uint64_t)x10 & 0x3ffffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint128_t x14 = (x13 >> 0x39);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint128_t x17 = (x16 >> 0x3a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint64_t x20 = (uint64_t) (x19 >> 0x39);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffffff);
- uint128_t x22 = (x12 + ((uint128_t)0x1b * x20));
- uint64_t x23 = (uint64_t) (x22 >> 0x3a);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x39);
- uint64_t x27 = (x25 & 0x1ffffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.v
deleted file mode 100644
index 79abb33d5..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fesub.c b/src/Specific/solinas64_2e230m27_4limbs/fesub.c
deleted file mode 100644
index babe8ab41..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0x7ffffffffffffca + x5) - x11);
- out[1] = ((0x3fffffffffffffe + x7) - x13);
- out[2] = ((0x7fffffffffffffe + x9) - x15);
- out[3] = ((0x3fffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fesub.v b/src/Specific/solinas64_2e230m27_4limbs/fesub.v
deleted file mode 100644
index 6d078a910..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.log
deleted file mode 100644
index db7ef6c5d..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x3fffffffffffffe + x8) - x14), ((0x7fffffffffffffe + x9) - x15), ((0x3fffffffffffffe + x7) - x13), ((0x7ffffffffffffca + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.v
deleted file mode 100644
index e1cc9a650..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e230m27_4limbs/freeze.c b/src/Specific/solinas64_2e230m27_4limbs/freeze.c
deleted file mode 100644
index 038500201..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffe5);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x3ffffffffffffe5);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x1ffffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x3ffffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x1ffffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_4limbs/freeze.v b/src/Specific/solinas64_2e230m27_4limbs/freeze.v
deleted file mode 100644
index e2779468e..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.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/solinas64_2e230m27_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.log
deleted file mode 100644
index 11aac547b..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffe5);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x1ffffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x3ffffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x1ffffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x3ffffffffffffe5);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x1ffffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x3ffffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x1ffffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.v
deleted file mode 100644
index e39e3fb1a..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e230m27_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e230m27_4limbs/py_interpreter.sh
deleted file mode 100755
index 37bed5d95..000000000
--- a/src/Specific/solinas64_2e230m27_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**230 - 27' -Dmodulus_bytes='57.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e230m27_5limbs/CurveParameters.v b/src/Specific/solinas64_2e230m27_5limbs/CurveParameters.v
deleted file mode 100644
index 2be1cd7c9..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^230 - 27
-Base: 46
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 46;
- bitwidth := 64;
- s := 2^230;
- c := [(1, 27)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e230m27_5limbs/Synthesis.v b/src/Specific/solinas64_2e230m27_5limbs/Synthesis.v
deleted file mode 100644
index d235b9afc..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/compiler.sh b/src/Specific/solinas64_2e230m27_5limbs/compiler.sh
deleted file mode 100755
index f733efd5f..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas64_2e230m27_5limbs/compilerxx.sh b/src/Specific/solinas64_2e230m27_5limbs/compilerxx.sh
deleted file mode 100755
index 84556e411..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xe5}' -Dmodulus_bytes_val='29' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<230) - 27' "$@"
diff --git a/src/Specific/solinas64_2e230m27_5limbs/feadd.c b/src/Specific/solinas64_2e230m27_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_5limbs/feadd.v b/src/Specific/solinas64_2e230m27_5limbs/feadd.v
deleted file mode 100644
index 90d13beaa..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.v
deleted file mode 100644
index d822a94c5..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fecarry.v b/src/Specific/solinas64_2e230m27_5limbs/fecarry.v
deleted file mode 100644
index 1b2c98119..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e230m27_5limbs/fecarryDisplay.v
deleted file mode 100644
index f2bcb4ade..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e230m27_5limbs/femul.c b/src/Specific/solinas64_2e230m27_5limbs/femul.c
deleted file mode 100644
index 83cccf394..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x1b * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x1b * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x1b * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x1b * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2e);
- { uint64_t x26 = ((uint64_t)x24 & 0x3fffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2e);
- { uint64_t x29 = ((uint64_t)x27 & 0x3fffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2e);
- { uint64_t x32 = ((uint64_t)x30 & 0x3fffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2e);
- { uint64_t x35 = ((uint64_t)x33 & 0x3fffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2e);
- { uint64_t x38 = ((uint64_t)x36 & 0x3fffffffffff);
- { uint64_t x39 = (x26 + (0x1b * x37));
- { uint64_t x40 = (x39 >> 0x2e);
- { uint64_t x41 = (x39 & 0x3fffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2e);
- { uint64_t x44 = (x42 & 0x3fffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_5limbs/femul.v b/src/Specific/solinas64_2e230m27_5limbs/femul.v
deleted file mode 100644
index c62e464f5..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/femulDisplay.log b/src/Specific/solinas64_2e230m27_5limbs/femulDisplay.log
deleted file mode 100644
index 562ee6720..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x1b * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x1b * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x1b * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x1b * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2e);
- uint64_t x26 = ((uint64_t)x24 & 0x3fffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2e);
- uint64_t x29 = ((uint64_t)x27 & 0x3fffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2e);
- uint64_t x32 = ((uint64_t)x30 & 0x3fffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2e);
- uint64_t x35 = ((uint64_t)x33 & 0x3fffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2e);
- uint64_t x38 = ((uint64_t)x36 & 0x3fffffffffff);
- uint64_t x39 = (x26 + (0x1b * x37));
- uint64_t x40 = (x39 >> 0x2e);
- uint64_t x41 = (x39 & 0x3fffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2e);
- uint64_t x44 = (x42 & 0x3fffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_5limbs/femulDisplay.v b/src/Specific/solinas64_2e230m27_5limbs/femulDisplay.v
deleted file mode 100644
index 8ac906749..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fesquare.c b/src/Specific/solinas64_2e230m27_5limbs/fesquare.c
deleted file mode 100644
index d790c6c5a..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1b * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1b * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x1b * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2e);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2e);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2e);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2e);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- { uint64_t x28 = (x15 + (0x1b * x26));
- { uint64_t x29 = (x28 >> 0x2e);
- { uint64_t x30 = (x28 & 0x3fffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2e);
- { uint64_t x33 = (x31 & 0x3fffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fesquare.v b/src/Specific/solinas64_2e230m27_5limbs/fesquare.v
deleted file mode 100644
index 95b53fd0e..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.log
deleted file mode 100644
index 68a37579d..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1b * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1b * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1b * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x1b * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2e);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2e);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2e);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2e);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- uint64_t x28 = (x15 + (0x1b * x26));
- uint64_t x29 = (x28 >> 0x2e);
- uint64_t x30 = (x28 & 0x3fffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2e);
- uint64_t x33 = (x31 & 0x3fffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.v
deleted file mode 100644
index 7bae43e03..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fesub.c b/src/Specific/solinas64_2e230m27_5limbs/fesub.c
deleted file mode 100644
index 134570c81..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x7fffffffffca + x5) - x13);
- out[1] = ((0x7ffffffffffe + x7) - x15);
- out[2] = ((0x7ffffffffffe + x9) - x17);
- out[3] = ((0x7ffffffffffe + x11) - x19);
- out[4] = ((0x7ffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fesub.v b/src/Specific/solinas64_2e230m27_5limbs/fesub.v
deleted file mode 100644
index 14ac75d88..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.log
deleted file mode 100644
index 9a32db234..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7ffffffffffe + x10) - x18), ((0x7ffffffffffe + x11) - x19), ((0x7ffffffffffe + x9) - x17), ((0x7ffffffffffe + x7) - x15), ((0x7fffffffffca + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.v
deleted file mode 100644
index 56830cecb..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e230m27_5limbs/freeze.c b/src/Specific/solinas64_2e230m27_5limbs/freeze.c
deleted file mode 100644
index 9196af403..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffe5);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x3fffffffffe5);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3fffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3fffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3fffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e230m27_5limbs/freeze.v b/src/Specific/solinas64_2e230m27_5limbs/freeze.v
deleted file mode 100644
index 1a90105f5..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.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/solinas64_2e230m27_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.log
deleted file mode 100644
index ccfd7f7d9..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffe5);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3fffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3fffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3fffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3fffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x3fffffffffe5);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3fffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3fffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3fffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.v
deleted file mode 100644
index 25a7e0dbe..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e230m27_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e230m27_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e230m27_5limbs/py_interpreter.sh
deleted file mode 100755
index e48729398..000000000
--- a/src/Specific/solinas64_2e230m27_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**230 - 27' -Dmodulus_bytes='46' -Da24='121665'
diff --git a/src/Specific/solinas64_2e235m15_4limbs/CurveParameters.v b/src/Specific/solinas64_2e235m15_4limbs/CurveParameters.v
deleted file mode 100644
index 49818038a..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^235 - 15
-Base: 58.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 4%nat;
- base := 58 + 3/4;
- bitwidth := 64;
- s := 2^235;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 4); [0; 1]]%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/solinas64_2e235m15_4limbs/Synthesis.v b/src/Specific/solinas64_2e235m15_4limbs/Synthesis.v
deleted file mode 100644
index f7aace8e6..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/compiler.sh b/src/Specific/solinas64_2e235m15_4limbs/compiler.sh
deleted file mode 100755
index 325ef80b8..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,58}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas64_2e235m15_4limbs/compilerxx.sh b/src/Specific/solinas64_2e235m15_4limbs/compilerxx.sh
deleted file mode 100755
index 14f0c3eeb..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,58}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='4' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas64_2e235m15_4limbs/feadd.c b/src/Specific/solinas64_2e235m15_4limbs/feadd.c
deleted file mode 100644
index d304c298a..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/feadd.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void feadd(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = (x5 + x11);
- out[1] = (x7 + x13);
- out[2] = (x9 + x15);
- out[3] = (x8 + x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_4limbs/feadd.v b/src/Specific/solinas64_2e235m15_4limbs/feadd.v
deleted file mode 100644
index 6cbc1f411..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/feaddDisplay.log b/src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.log
deleted file mode 100644
index d42ef91c3..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- ((x8 + x14), (x9 + x15), (x7 + x13), (x5 + x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.v b/src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.v
deleted file mode 100644
index c5e46e55b..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fecarry.v b/src/Specific/solinas64_2e235m15_4limbs/fecarry.v
deleted file mode 100644
index 10c54cde1..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/fecarryDisplay.v b/src/Specific/solinas64_2e235m15_4limbs/fecarryDisplay.v
deleted file mode 100644
index e3dff27bf..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e235m15_4limbs/femul.c b/src/Specific/solinas64_2e235m15_4limbs/femul.c
deleted file mode 100644
index db014b1de..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/femul.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void femul(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- { uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- { uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0xf * (0x2 * ((uint128_t)x8 * x14))));
- { uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xf * ((0x2 * ((uint128_t)x9 * x14)) + (0x2 * ((uint128_t)x8 * x15)))));
- { uint128_t x19 = (((uint128_t)x5 * x11) + (0xf * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- { uint128_t x20 = (x19 >> 0x3b);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x3b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x3b);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x3a);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffffff);
- { uint128_t x31 = (x21 + (0xf * x29));
- { uint64_t x32 = (uint64_t) (x31 >> 0x3b);
- { uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffffff);
- { uint64_t x34 = (x32 + x24);
- { uint64_t x35 = (x34 >> 0x3b);
- { uint64_t x36 = (x34 & 0x7ffffffffffffff);
- out[0] = x33;
- out[1] = x36;
- out[2] = (x35 + x27);
- out[3] = x30;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_4limbs/femul.v b/src/Specific/solinas64_2e235m15_4limbs/femul.v
deleted file mode 100644
index f17f8cd98..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/femulDisplay.log b/src/Specific/solinas64_2e235m15_4limbs/femulDisplay.log
deleted file mode 100644
index 1a008e475..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/femulDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- uint128_t x16 = (((uint128_t)x5 * x14) + (((uint128_t)x7 * x15) + (((uint128_t)x9 * x13) + ((uint128_t)x8 * x11))));
- uint128_t x17 = ((((uint128_t)x5 * x15) + (((uint128_t)x7 * x13) + ((uint128_t)x9 * x11))) + (0xf * (0x2 * ((uint128_t)x8 * x14))));
- uint128_t x18 = ((((uint128_t)x5 * x13) + ((uint128_t)x7 * x11)) + (0xf * ((0x2 * ((uint128_t)x9 * x14)) + (0x2 * ((uint128_t)x8 * x15)))));
- uint128_t x19 = (((uint128_t)x5 * x11) + (0xf * ((0x2 * ((uint128_t)x7 * x14)) + ((0x2 * ((uint128_t)x9 * x15)) + (0x2 * ((uint128_t)x8 * x13))))));
- uint128_t x20 = (x19 >> 0x3b);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x3b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x3b);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x3a);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffffff);
- uint128_t x31 = (x21 + (0xf * x29));
- uint64_t x32 = (uint64_t) (x31 >> 0x3b);
- uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffffff);
- uint64_t x34 = (x32 + x24);
- uint64_t x35 = (x34 >> 0x3b);
- uint64_t x36 = (x34 & 0x7ffffffffffffff);
- return (Return x30, (x35 + x27), Return x36, Return x33))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_4limbs/femulDisplay.v b/src/Specific/solinas64_2e235m15_4limbs/femulDisplay.v
deleted file mode 100644
index bae6d7461..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fesquare.c b/src/Specific/solinas64_2e235m15_4limbs/fesquare.c
deleted file mode 100644
index 678e02526..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesquare.c
+++ /dev/null
@@ -1,32 +0,0 @@
-static void fesquare(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- { uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xf * (0x2 * ((uint128_t)x5 * x5))));
- { uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * ((0x2 * ((uint128_t)x6 * x5)) + (0x2 * ((uint128_t)x5 * x6)))));
- { uint128_t x10 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- { uint128_t x11 = (x10 >> 0x3b);
- { uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffffffff);
- { uint128_t x13 = (x11 + x9);
- { uint128_t x14 = (x13 >> 0x3b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffffff);
- { uint128_t x16 = (x14 + x8);
- { uint128_t x17 = (x16 >> 0x3b);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffffff);
- { uint128_t x19 = (x17 + x7);
- { uint128_t x20 = (x19 >> 0x3a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- { uint128_t x22 = (x12 + (0xf * x20));
- { uint64_t x23 = (uint64_t) (x22 >> 0x3b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff);
- { uint64_t x25 = (x23 + x15);
- { uint64_t x26 = (x25 >> 0x3b);
- { uint64_t x27 = (x25 & 0x7ffffffffffffff);
- out[0] = x24;
- out[1] = x27;
- out[2] = (x26 + x18);
- out[3] = x21;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fesquare.v b/src/Specific/solinas64_2e235m15_4limbs/fesquare.v
deleted file mode 100644
index a41176179..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/fesquareDisplay.log b/src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.log
deleted file mode 100644
index 53b007d1b..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,28 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint128_t x7 = (((uint128_t)x2 * x5) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x5 * x2))));
- uint128_t x8 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xf * (0x2 * ((uint128_t)x5 * x5))));
- uint128_t x9 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * ((0x2 * ((uint128_t)x6 * x5)) + (0x2 * ((uint128_t)x5 * x6)))));
- uint128_t x10 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x5)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x5 * x4))))));
- uint128_t x11 = (x10 >> 0x3b);
- uint64_t x12 = ((uint64_t)x10 & 0x7ffffffffffffff);
- uint128_t x13 = (x11 + x9);
- uint128_t x14 = (x13 >> 0x3b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffffff);
- uint128_t x16 = (x14 + x8);
- uint128_t x17 = (x16 >> 0x3b);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffffff);
- uint128_t x19 = (x17 + x7);
- uint128_t x20 = (x19 >> 0x3a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- uint128_t x22 = (x12 + (0xf * x20));
- uint64_t x23 = (uint64_t) (x22 >> 0x3b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff);
- uint64_t x25 = (x23 + x15);
- uint64_t x26 = (x25 >> 0x3b);
- uint64_t x27 = (x25 & 0x7ffffffffffffff);
- return (Return x21, (x26 + x18), Return x27, Return x24))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.v b/src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.v
deleted file mode 100644
index cb744ae1e..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fesub.c b/src/Specific/solinas64_2e235m15_4limbs/fesub.c
deleted file mode 100644
index 6a22e87ef..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesub.c
+++ /dev/null
@@ -1,15 +0,0 @@
-static void fesub(uint64_t out[4], const uint64_t in1[4], const uint64_t in2[4]) {
- { const uint64_t x8 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x14 = in2[3];
- { const uint64_t x15 = in2[2];
- { const uint64_t x13 = in2[1];
- { const uint64_t x11 = in2[0];
- out[0] = ((0xfffffffffffffe2 + x5) - x11);
- out[1] = ((0xffffffffffffffe + x7) - x13);
- out[2] = ((0xffffffffffffffe + x9) - x15);
- out[3] = ((0x7fffffffffffffe + x8) - x14);
- }}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fesub.v b/src/Specific/solinas64_2e235m15_4limbs/fesub.v
deleted file mode 100644
index 7e5f331f6..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/fesubDisplay.log b/src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.log
deleted file mode 100644
index 46f99dab1..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
- (((0x7fffffffffffffe + x8) - x14), ((0xffffffffffffffe + x9) - x15), ((0xffffffffffffffe + x7) - x13), ((0xfffffffffffffe2 + x5) - x11)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.v b/src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.v
deleted file mode 100644
index 5327423f0..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e235m15_4limbs/freeze.c b/src/Specific/solinas64_2e235m15_4limbs/freeze.c
deleted file mode 100644
index 9d95407c0..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/freeze.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void freeze(uint64_t out[4], const uint64_t in1[4]) {
- { const uint64_t x5 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffff1);
- { uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffffffff);
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3ffffffffffffff);
- { uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- { uint64_t x20 = (x19 & 0x7fffffffffffff1);
- { uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- { uint64_t x24 = (x19 & 0x7ffffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- { uint64_t x28 = (x19 & 0x7ffffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- { uint64_t x32 = (x19 & 0x3ffffffffffffff);
- { uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- out[0] = x22;
- out[1] = x26;
- out[2] = x30;
- out[3] = x34;
- }}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_4limbs/freeze.v b/src/Specific/solinas64_2e235m15_4limbs/freeze.v
deleted file mode 100644
index f9228b6e7..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.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/solinas64_2e235m15_4limbs/freezeDisplay.log b/src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.log
deleted file mode 100644
index b26bb700c..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.log
+++ /dev/null
@@ -1,20 +0,0 @@
-λ x : word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x5, x6, x4, x2)%core,
- uint64_t x8, uint8_t x9 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffff1);
- uint64_t x11, uint8_t x12 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x9, Return x4, 0x7ffffffffffffff);
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x12, Return x6, 0x7ffffffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x5, 0x3ffffffffffffff);
- uint64_t x19 = cmovznz64(x18, 0x0, 0xffffffffffffffffL);
- uint64_t x20 = (x19 & 0x7fffffffffffff1);
- uint64_t x22, uint8_t x23 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x8, Return x20);
- uint64_t x24 = (x19 & 0x7ffffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x11, Return x24);
- uint64_t x28 = (x19 & 0x7ffffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x14, Return x28);
- uint64_t x32 = (x19 & 0x3ffffffffffffff);
- uint64_t x34, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x17, Return x32);
- (Return x34, Return x30, Return x26, Return x22))
-x
- : word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.v b/src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.v
deleted file mode 100644
index 852b3470a..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_4limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e235m15_4limbs/py_interpreter.sh b/src/Specific/solinas64_2e235m15_4limbs/py_interpreter.sh
deleted file mode 100755
index c2a317d76..000000000
--- a/src/Specific/solinas64_2e235m15_4limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**235 - 15' -Dmodulus_bytes='58.75' -Da24='121665'
diff --git a/src/Specific/solinas64_2e235m15_5limbs/CurveParameters.v b/src/Specific/solinas64_2e235m15_5limbs/CurveParameters.v
deleted file mode 100644
index 80a94df58..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^235 - 15
-Base: 47
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 47;
- bitwidth := 64;
- s := 2^235;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e235m15_5limbs/Synthesis.v b/src/Specific/solinas64_2e235m15_5limbs/Synthesis.v
deleted file mode 100644
index 9f5f53f5a..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/compiler.sh b/src/Specific/solinas64_2e235m15_5limbs/compiler.sh
deleted file mode 100755
index ac5aab558..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas64_2e235m15_5limbs/compilerxx.sh b/src/Specific/solinas64_2e235m15_5limbs/compilerxx.sh
deleted file mode 100755
index ccfa778e7..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,47,47,47,47}' -Dmodulus_array='{0x07,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,0xf1}' -Dmodulus_bytes_val='30' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<235) - 15' "$@"
diff --git a/src/Specific/solinas64_2e235m15_5limbs/feadd.c b/src/Specific/solinas64_2e235m15_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_5limbs/feadd.v b/src/Specific/solinas64_2e235m15_5limbs/feadd.v
deleted file mode 100644
index fcc1f2e19..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.v
deleted file mode 100644
index 915c837e1..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fecarry.v b/src/Specific/solinas64_2e235m15_5limbs/fecarry.v
deleted file mode 100644
index 9141898c7..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e235m15_5limbs/fecarryDisplay.v
deleted file mode 100644
index 60778982c..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e235m15_5limbs/femul.c b/src/Specific/solinas64_2e235m15_5limbs/femul.c
deleted file mode 100644
index 0dcf869f7..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0xf * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0xf * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xf * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0xf * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x2f);
- { uint64_t x26 = ((uint64_t)x24 & 0x7fffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x2f);
- { uint64_t x29 = ((uint64_t)x27 & 0x7fffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x2f);
- { uint64_t x32 = ((uint64_t)x30 & 0x7fffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x2f);
- { uint64_t x35 = ((uint64_t)x33 & 0x7fffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x2f);
- { uint64_t x38 = ((uint64_t)x36 & 0x7fffffffffff);
- { uint64_t x39 = (x26 + (0xf * x37));
- { uint64_t x40 = (x39 >> 0x2f);
- { uint64_t x41 = (x39 & 0x7fffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x2f);
- { uint64_t x44 = (x42 & 0x7fffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_5limbs/femul.v b/src/Specific/solinas64_2e235m15_5limbs/femul.v
deleted file mode 100644
index 9383802c7..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/femulDisplay.log b/src/Specific/solinas64_2e235m15_5limbs/femulDisplay.log
deleted file mode 100644
index 0565fc7d6..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0xf * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0xf * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xf * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0xf * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x2f);
- uint64_t x26 = ((uint64_t)x24 & 0x7fffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x2f);
- uint64_t x29 = ((uint64_t)x27 & 0x7fffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x2f);
- uint64_t x32 = ((uint64_t)x30 & 0x7fffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x2f);
- uint64_t x35 = ((uint64_t)x33 & 0x7fffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x2f);
- uint64_t x38 = ((uint64_t)x36 & 0x7fffffffffff);
- uint64_t x39 = (x26 + (0xf * x37));
- uint64_t x40 = (x39 >> 0x2f);
- uint64_t x41 = (x39 & 0x7fffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x2f);
- uint64_t x44 = (x42 & 0x7fffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_5limbs/femulDisplay.v b/src/Specific/solinas64_2e235m15_5limbs/femulDisplay.v
deleted file mode 100644
index bd5e72d25..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fesquare.c b/src/Specific/solinas64_2e235m15_5limbs/fesquare.c
deleted file mode 100644
index 20e3056c3..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xf * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0xf * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- { uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x2f);
- { uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- { uint64_t x28 = (x15 + (0xf * x26));
- { uint64_t x29 = (x28 >> 0x2f);
- { uint64_t x30 = (x28 & 0x7fffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x2f);
- { uint64_t x33 = (x31 & 0x7fffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fesquare.v b/src/Specific/solinas64_2e235m15_5limbs/fesquare.v
deleted file mode 100644
index ce1e6e269..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.log
deleted file mode 100644
index f5c16047d..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xf * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0xf * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x2f);
- uint64_t x15 = ((uint64_t)x13 & 0x7fffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x2f);
- uint64_t x18 = ((uint64_t)x16 & 0x7fffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- uint64_t x28 = (x15 + (0xf * x26));
- uint64_t x29 = (x28 >> 0x2f);
- uint64_t x30 = (x28 & 0x7fffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x2f);
- uint64_t x33 = (x31 & 0x7fffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.v
deleted file mode 100644
index 3e5ddb6c1..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fesub.c b/src/Specific/solinas64_2e235m15_5limbs/fesub.c
deleted file mode 100644
index e33d58fa4..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xffffffffffe2 + x5) - x13);
- out[1] = ((0xfffffffffffe + x7) - x15);
- out[2] = ((0xfffffffffffe + x9) - x17);
- out[3] = ((0xfffffffffffe + x11) - x19);
- out[4] = ((0xfffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fesub.v b/src/Specific/solinas64_2e235m15_5limbs/fesub.v
deleted file mode 100644
index fe871091e..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.log
deleted file mode 100644
index 9d33fa7c5..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xfffffffffffe + x10) - x18), ((0xfffffffffffe + x11) - x19), ((0xfffffffffffe + x9) - x17), ((0xfffffffffffe + x7) - x15), ((0xffffffffffe2 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.v
deleted file mode 100644
index 30513c216..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e235m15_5limbs/freeze.c b/src/Specific/solinas64_2e235m15_5limbs/freeze.c
deleted file mode 100644
index db8f71551..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff1);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7fffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7fffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7ffffffffff1);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x7fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x7fffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x7fffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x7fffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e235m15_5limbs/freeze.v b/src/Specific/solinas64_2e235m15_5limbs/freeze.v
deleted file mode 100644
index 2cc999015..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.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/solinas64_2e235m15_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.log
deleted file mode 100644
index da977944b..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff1);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x7fffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x7fffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x7fffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7ffffffffff1);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x7fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x7fffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x7fffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x7fffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.v
deleted file mode 100644
index 8609ad428..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e235m15_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e235m15_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e235m15_5limbs/py_interpreter.sh
deleted file mode 100755
index 5298833d2..000000000
--- a/src/Specific/solinas64_2e235m15_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**235 - 15' -Dmodulus_bytes='47' -Da24='121665'
diff --git a/src/Specific/solinas64_2e243m9_5limbs/CurveParameters.v b/src/Specific/solinas64_2e243m9_5limbs/CurveParameters.v
deleted file mode 100644
index 209fda3d3..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^243 - 9
-Base: 48.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 48 + 3/5;
- bitwidth := 64;
- s := 2^243;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e243m9_5limbs/Synthesis.v b/src/Specific/solinas64_2e243m9_5limbs/Synthesis.v
deleted file mode 100644
index ae0d9f919..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/compiler.sh b/src/Specific/solinas64_2e243m9_5limbs/compiler.sh
deleted file mode 100755
index 33eb69149..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas64_2e243m9_5limbs/compilerxx.sh b/src/Specific/solinas64_2e243m9_5limbs/compilerxx.sh
deleted file mode 100755
index 2228f5418..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas64_2e243m9_5limbs/feadd.c b/src/Specific/solinas64_2e243m9_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_5limbs/feadd.v b/src/Specific/solinas64_2e243m9_5limbs/feadd.v
deleted file mode 100644
index 9d71c030d..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.v
deleted file mode 100644
index be243bb83..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fecarry.v b/src/Specific/solinas64_2e243m9_5limbs/fecarry.v
deleted file mode 100644
index f6b117c11..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e243m9_5limbs/fecarryDisplay.v
deleted file mode 100644
index 4086f5d8a..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e243m9_5limbs/femul.c b/src/Specific/solinas64_2e243m9_5limbs/femul.c
deleted file mode 100644
index 3f5319439..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + ((0x2 * ((uint128_t)x9 * x17)) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x9 * (0x2 * ((uint128_t)x10 * x18))));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x9 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x9 * ((0x2 * ((uint128_t)x9 * x18)) + (((uint128_t)x11 * x19) + (0x2 * ((uint128_t)x10 * x17))))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x9 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x31);
- { uint64_t x26 = ((uint64_t)x24 & 0x1ffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x31);
- { uint64_t x29 = ((uint64_t)x27 & 0x1ffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x30);
- { uint64_t x32 = ((uint64_t)x30 & 0xffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x31);
- { uint64_t x35 = ((uint64_t)x33 & 0x1ffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x30);
- { uint64_t x38 = ((uint64_t)x36 & 0xffffffffffff);
- { uint64_t x39 = (x26 + (0x9 * x37));
- { uint64_t x40 = (x39 >> 0x31);
- { uint64_t x41 = (x39 & 0x1ffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x31);
- { uint64_t x44 = (x42 & 0x1ffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_5limbs/femul.v b/src/Specific/solinas64_2e243m9_5limbs/femul.v
deleted file mode 100644
index 4229561b8..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/femulDisplay.log b/src/Specific/solinas64_2e243m9_5limbs/femulDisplay.log
deleted file mode 100644
index 447b07213..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + ((0x2 * ((uint128_t)x9 * x17)) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x9 * (0x2 * ((uint128_t)x10 * x18))));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x9 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x9 * ((0x2 * ((uint128_t)x9 * x18)) + (((uint128_t)x11 * x19) + (0x2 * ((uint128_t)x10 * x17))))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x9 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x31);
- uint64_t x26 = ((uint64_t)x24 & 0x1ffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x31);
- uint64_t x29 = ((uint64_t)x27 & 0x1ffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x30);
- uint64_t x32 = ((uint64_t)x30 & 0xffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x31);
- uint64_t x35 = ((uint64_t)x33 & 0x1ffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x30);
- uint64_t x38 = ((uint64_t)x36 & 0xffffffffffff);
- uint64_t x39 = (x26 + (0x9 * x37));
- uint64_t x40 = (x39 >> 0x31);
- uint64_t x41 = (x39 & 0x1ffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x31);
- uint64_t x44 = (x42 & 0x1ffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_5limbs/femulDisplay.v b/src/Specific/solinas64_2e243m9_5limbs/femulDisplay.v
deleted file mode 100644
index fc80ba9dd..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fesquare.c b/src/Specific/solinas64_2e243m9_5limbs/fesquare.c
deleted file mode 100644
index b753e4295..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x9 * (0x2 * ((uint128_t)x7 * x7))));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((0x2 * ((uint128_t)x6 * x7)) + (((uint128_t)x8 * x8) + (0x2 * ((uint128_t)x7 * x6))))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x31);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x31);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x31);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint64_t x28 = (x15 + (0x9 * x26));
- { uint64_t x29 = (x28 >> 0x31);
- { uint64_t x30 = (x28 & 0x1ffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x31);
- { uint64_t x33 = (x31 & 0x1ffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fesquare.v b/src/Specific/solinas64_2e243m9_5limbs/fesquare.v
deleted file mode 100644
index 27cfed6b6..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.log
deleted file mode 100644
index 9c16fb928..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x9 * (0x2 * ((uint128_t)x7 * x7))));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((0x2 * ((uint128_t)x6 * x7)) + (((uint128_t)x8 * x8) + (0x2 * ((uint128_t)x7 * x6))))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x31);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x31);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x31);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint64_t x28 = (x15 + (0x9 * x26));
- uint64_t x29 = (x28 >> 0x31);
- uint64_t x30 = (x28 & 0x1ffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x31);
- uint64_t x33 = (x31 & 0x1ffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.v
deleted file mode 100644
index c3a019bf5..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fesub.c b/src/Specific/solinas64_2e243m9_5limbs/fesub.c
deleted file mode 100644
index 0c1ddafdb..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x3ffffffffffee + x5) - x13);
- out[1] = ((0x3fffffffffffe + x7) - x15);
- out[2] = ((0x1fffffffffffe + x9) - x17);
- out[3] = ((0x3fffffffffffe + x11) - x19);
- out[4] = ((0x1fffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fesub.v b/src/Specific/solinas64_2e243m9_5limbs/fesub.v
deleted file mode 100644
index 06d90c007..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.log
deleted file mode 100644
index 1a4484124..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x1fffffffffffe + x10) - x18), ((0x3fffffffffffe + x11) - x19), ((0x1fffffffffffe + x9) - x17), ((0x3fffffffffffe + x7) - x15), ((0x3ffffffffffee + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.v
deleted file mode 100644
index f180d8185..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e243m9_5limbs/freeze.c b/src/Specific/solinas64_2e243m9_5limbs/freeze.c
deleted file mode 100644
index 2f3cac0e8..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff7);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0xffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xffffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x1fffffffffff7);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x1ffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0xffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x1ffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0xffffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_5limbs/freeze.v b/src/Specific/solinas64_2e243m9_5limbs/freeze.v
deleted file mode 100644
index d1ab0b9c6..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.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/solinas64_2e243m9_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.log
deleted file mode 100644
index adf7a911b..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff7);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0xffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0xffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x1fffffffffff7);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x1ffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0xffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x1ffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0xffffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.v
deleted file mode 100644
index 6caad5436..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e243m9_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e243m9_5limbs/py_interpreter.sh
deleted file mode 100755
index fb575c490..000000000
--- a/src/Specific/solinas64_2e243m9_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**243 - 9' -Dmodulus_bytes='48.6' -Da24='121665'
diff --git a/src/Specific/solinas64_2e243m9_6limbs/CurveParameters.v b/src/Specific/solinas64_2e243m9_6limbs/CurveParameters.v
deleted file mode 100644
index 60427d462..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^243 - 9
-Base: 40.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 40 + 1/2;
- bitwidth := 64;
- s := 2^243;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e243m9_6limbs/Synthesis.v b/src/Specific/solinas64_2e243m9_6limbs/Synthesis.v
deleted file mode 100644
index 07fd26c97..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/compiler.sh b/src/Specific/solinas64_2e243m9_6limbs/compiler.sh
deleted file mode 100755
index 0791ed971..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas64_2e243m9_6limbs/compilerxx.sh b/src/Specific/solinas64_2e243m9_6limbs/compilerxx.sh
deleted file mode 100755
index 8bcf69417..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{41,40,41,40,41,40}' -Dmodulus_array='{0x07,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,0xff,0xf7}' -Dmodulus_bytes_val='31' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<243) - 9' "$@"
diff --git a/src/Specific/solinas64_2e243m9_6limbs/feadd.c b/src/Specific/solinas64_2e243m9_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_6limbs/feadd.v b/src/Specific/solinas64_2e243m9_6limbs/feadd.v
deleted file mode 100644
index 95f06fad0..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.v
deleted file mode 100644
index a63e71554..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fecarry.v b/src/Specific/solinas64_2e243m9_6limbs/fecarry.v
deleted file mode 100644
index 832dcd6b3..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e243m9_6limbs/fecarryDisplay.v
deleted file mode 100644
index 5d470ddea..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e243m9_6limbs/femul.c b/src/Specific/solinas64_2e243m9_6limbs/femul.c
deleted file mode 100644
index 1f3dd625a..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x29);
- { uint64_t x31 = ((uint64_t)x29 & 0x1ffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x28);
- { uint64_t x34 = ((uint64_t)x32 & 0xffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x29);
- { uint64_t x37 = ((uint64_t)x35 & 0x1ffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x28);
- { uint64_t x40 = ((uint64_t)x38 & 0xffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x29);
- { uint64_t x43 = ((uint64_t)x41 & 0x1ffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x28);
- { uint64_t x46 = ((uint64_t)x44 & 0xffffffffff);
- { uint64_t x47 = (x31 + (0x9 * x45));
- { uint64_t x48 = (x47 >> 0x29);
- { uint64_t x49 = (x47 & 0x1ffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x28);
- { uint64_t x52 = (x50 & 0xffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_6limbs/femul.v b/src/Specific/solinas64_2e243m9_6limbs/femul.v
deleted file mode 100644
index 28872402d..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/femulDisplay.log b/src/Specific/solinas64_2e243m9_6limbs/femulDisplay.log
deleted file mode 100644
index 6b6b1ee55..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x29);
- uint64_t x31 = ((uint64_t)x29 & 0x1ffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x28);
- uint64_t x34 = ((uint64_t)x32 & 0xffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x29);
- uint64_t x37 = ((uint64_t)x35 & 0x1ffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x28);
- uint64_t x40 = ((uint64_t)x38 & 0xffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x29);
- uint64_t x43 = ((uint64_t)x41 & 0x1ffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x28);
- uint64_t x46 = ((uint64_t)x44 & 0xffffffffff);
- uint64_t x47 = (x31 + (0x9 * x45));
- uint64_t x48 = (x47 >> 0x29);
- uint64_t x49 = (x47 & 0x1ffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x28);
- uint64_t x52 = (x50 & 0xffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_6limbs/femulDisplay.v b/src/Specific/solinas64_2e243m9_6limbs/femulDisplay.v
deleted file mode 100644
index 7431207de..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fesquare.c b/src/Specific/solinas64_2e243m9_6limbs/fesquare.c
deleted file mode 100644
index c1d0d52c6..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x29);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x28);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x29);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x28);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x29);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x28);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffff);
- { uint64_t x34 = (x18 + (0x9 * x32));
- { uint64_t x35 = (x34 >> 0x29);
- { uint64_t x36 = (x34 & 0x1ffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x28);
- { uint64_t x39 = (x37 & 0xffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fesquare.v b/src/Specific/solinas64_2e243m9_6limbs/fesquare.v
deleted file mode 100644
index e5a459bfa..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.log
deleted file mode 100644
index 5b9f6a27c..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x29);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x28);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x29);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x28);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x29);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x28);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffff);
- uint64_t x34 = (x18 + (0x9 * x32));
- uint64_t x35 = (x34 >> 0x29);
- uint64_t x36 = (x34 & 0x1ffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x28);
- uint64_t x39 = (x37 & 0xffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.v
deleted file mode 100644
index 097098540..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fesub.c b/src/Specific/solinas64_2e243m9_6limbs/fesub.c
deleted file mode 100644
index 50c317b29..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x3ffffffffee + x5) - x15);
- out[1] = ((0x1fffffffffe + x7) - x17);
- out[2] = ((0x3fffffffffe + x9) - x19);
- out[3] = ((0x1fffffffffe + x11) - x21);
- out[4] = ((0x3fffffffffe + x13) - x23);
- out[5] = ((0x1fffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fesub.v b/src/Specific/solinas64_2e243m9_6limbs/fesub.v
deleted file mode 100644
index 9745e8c81..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.log
deleted file mode 100644
index 22e0778d0..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x1fffffffffe + x12) - x22), ((0x3fffffffffe + x13) - x23), ((0x1fffffffffe + x11) - x21), ((0x3fffffffffe + x9) - x19), ((0x1fffffffffe + x7) - x17), ((0x3ffffffffee + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.v
deleted file mode 100644
index c91eee1fa..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e243m9_6limbs/freeze.c b/src/Specific/solinas64_2e243m9_6limbs/freeze.c
deleted file mode 100644
index 56fe99d55..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffff7);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x1fffffffff7);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0xffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x1ffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0xffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x1ffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0xffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e243m9_6limbs/freeze.v b/src/Specific/solinas64_2e243m9_6limbs/freeze.v
deleted file mode 100644
index 69c91e045..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.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/solinas64_2e243m9_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.log
deleted file mode 100644
index 2240ec6b1..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffff7);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x1fffffffff7);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0xffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x1ffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0xffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x1ffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0xffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 40 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.v
deleted file mode 100644
index d935e124e..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e243m9_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e243m9_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e243m9_6limbs/py_interpreter.sh
deleted file mode 100755
index 73df75d70..000000000
--- a/src/Specific/solinas64_2e243m9_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**243 - 9' -Dmodulus_bytes='40.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e251m9_5limbs/CurveParameters.v b/src/Specific/solinas64_2e251m9_5limbs/CurveParameters.v
deleted file mode 100644
index 5a6c7841a..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^251 - 9
-Base: 50.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 50 + 1/5;
- bitwidth := 64;
- s := 2^251;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e251m9_5limbs/Synthesis.v b/src/Specific/solinas64_2e251m9_5limbs/Synthesis.v
deleted file mode 100644
index 72def8938..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/compiler.sh b/src/Specific/solinas64_2e251m9_5limbs/compiler.sh
deleted file mode 100755
index b58a0e0d6..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas64_2e251m9_5limbs/compilerxx.sh b/src/Specific/solinas64_2e251m9_5limbs/compilerxx.sh
deleted file mode 100755
index d776c4b3d..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas64_2e251m9_5limbs/feadd.c b/src/Specific/solinas64_2e251m9_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_5limbs/feadd.v b/src/Specific/solinas64_2e251m9_5limbs/feadd.v
deleted file mode 100644
index 69da71c2a..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.v
deleted file mode 100644
index e306c7204..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fecarry.v b/src/Specific/solinas64_2e251m9_5limbs/fecarry.v
deleted file mode 100644
index 938da4368..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e251m9_5limbs/fecarryDisplay.v
deleted file mode 100644
index cf9216dfb..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e251m9_5limbs/femul.c b/src/Specific/solinas64_2e251m9_5limbs/femul.c
deleted file mode 100644
index cced9ce9f..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x9 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x9 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x9 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x9 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x33);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x32);
- { uint64_t x29 = ((uint64_t)x27 & 0x3ffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x32);
- { uint64_t x32 = ((uint64_t)x30 & 0x3ffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x32);
- { uint64_t x35 = ((uint64_t)x33 & 0x3ffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x32);
- { uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffffff);
- { uint64_t x39 = (x26 + (0x9 * x37));
- { uint64_t x40 = (x39 >> 0x33);
- { uint64_t x41 = (x39 & 0x7ffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x32);
- { uint64_t x44 = (x42 & 0x3ffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_5limbs/femul.v b/src/Specific/solinas64_2e251m9_5limbs/femul.v
deleted file mode 100644
index a86646f47..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/femulDisplay.log b/src/Specific/solinas64_2e251m9_5limbs/femulDisplay.log
deleted file mode 100644
index fbb8498ab..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x9 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x9 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x9 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x9 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x33);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x32);
- uint64_t x29 = ((uint64_t)x27 & 0x3ffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x32);
- uint64_t x32 = ((uint64_t)x30 & 0x3ffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x32);
- uint64_t x35 = ((uint64_t)x33 & 0x3ffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x32);
- uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffffff);
- uint64_t x39 = (x26 + (0x9 * x37));
- uint64_t x40 = (x39 >> 0x33);
- uint64_t x41 = (x39 & 0x7ffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x32);
- uint64_t x44 = (x42 & 0x3ffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_5limbs/femulDisplay.v b/src/Specific/solinas64_2e251m9_5limbs/femulDisplay.v
deleted file mode 100644
index c90b6e6b8..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fesquare.c b/src/Specific/solinas64_2e251m9_5limbs/fesquare.c
deleted file mode 100644
index 77726bb6a..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x9 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x33);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x32);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x32);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x32);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x32);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- { uint64_t x28 = (x15 + (0x9 * x26));
- { uint64_t x29 = (x28 >> 0x33);
- { uint64_t x30 = (x28 & 0x7ffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x32);
- { uint64_t x33 = (x31 & 0x3ffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fesquare.v b/src/Specific/solinas64_2e251m9_5limbs/fesquare.v
deleted file mode 100644
index e2532082e..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.log
deleted file mode 100644
index 7a89b038e..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x9 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x33);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x32);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x32);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x32);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x32);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- uint64_t x28 = (x15 + (0x9 * x26));
- uint64_t x29 = (x28 >> 0x33);
- uint64_t x30 = (x28 & 0x7ffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x32);
- uint64_t x33 = (x31 & 0x3ffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.v
deleted file mode 100644
index 5314bcfce..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fesub.c b/src/Specific/solinas64_2e251m9_5limbs/fesub.c
deleted file mode 100644
index e7563ceae..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xfffffffffffee + x5) - x13);
- out[1] = ((0x7fffffffffffe + x7) - x15);
- out[2] = ((0x7fffffffffffe + x9) - x17);
- out[3] = ((0x7fffffffffffe + x11) - x19);
- out[4] = ((0x7fffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fesub.v b/src/Specific/solinas64_2e251m9_5limbs/fesub.v
deleted file mode 100644
index 67d16a7d3..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.log
deleted file mode 100644
index 4c7bb5bfc..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7fffffffffffe + x10) - x18), ((0x7fffffffffffe + x11) - x19), ((0x7fffffffffffe + x9) - x17), ((0x7fffffffffffe + x7) - x15), ((0xfffffffffffee + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.v
deleted file mode 100644
index f1a417731..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e251m9_5limbs/freeze.c b/src/Specific/solinas64_2e251m9_5limbs/freeze.c
deleted file mode 100644
index f21798fc1..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t x11 = _subborrow_u51(0x0, x2, 0x7fffffffffff7, &x10);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7fffffffffff7);
- { uint64_t x27; uint8_t x28 = _addcarryx_u51(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0x3ffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3ffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3ffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3ffffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_5limbs/freeze.v b/src/Specific/solinas64_2e251m9_5limbs/freeze.v
deleted file mode 100644
index 23581d25d..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.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/solinas64_2e251m9_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.log
deleted file mode 100644
index ea1f68ec7..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = subborrow_u51(0x0, x2, 0x7fffffffffff7);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7fffffffffff7);
- uint64_t x27, uint8_t x28 = addcarryx_u51(0x0, x10, x25);
- uint64_t x29 = (x24 & 0x3ffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3ffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3ffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3ffffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.v
deleted file mode 100644
index 03986d5a3..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e251m9_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e251m9_5limbs/py_interpreter.sh
deleted file mode 100755
index e87e88f23..000000000
--- a/src/Specific/solinas64_2e251m9_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**251 - 9' -Dmodulus_bytes='50.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e251m9_6limbs/CurveParameters.v b/src/Specific/solinas64_2e251m9_6limbs/CurveParameters.v
deleted file mode 100644
index 523e887e3..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^251 - 9
-Base: 41 + 5/6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 41 + 5/6;
- bitwidth := 64;
- s := 2^251;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e251m9_6limbs/Synthesis.v b/src/Specific/solinas64_2e251m9_6limbs/Synthesis.v
deleted file mode 100644
index f225dd47c..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/compiler.sh b/src/Specific/solinas64_2e251m9_6limbs/compiler.sh
deleted file mode 100755
index 31f94ff14..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,42,42,42,42,41}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas64_2e251m9_6limbs/compilerxx.sh b/src/Specific/solinas64_2e251m9_6limbs/compilerxx.sh
deleted file mode 100755
index 292552346..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{42,42,42,42,42,41}' -Dmodulus_array='{0x07,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,0xff,0xff,0xf7}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<251) - 9' "$@"
diff --git a/src/Specific/solinas64_2e251m9_6limbs/feadd.c b/src/Specific/solinas64_2e251m9_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_6limbs/feadd.v b/src/Specific/solinas64_2e251m9_6limbs/feadd.v
deleted file mode 100644
index ef50c8036..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.v
deleted file mode 100644
index a500a6b7b..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fecarry.v b/src/Specific/solinas64_2e251m9_6limbs/fecarry.v
deleted file mode 100644
index 291884fe7..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e251m9_6limbs/fecarryDisplay.v
deleted file mode 100644
index d038fec55..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e251m9_6limbs/femul.c b/src/Specific/solinas64_2e251m9_6limbs/femul.c
deleted file mode 100644
index 3bc17a4ad..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + ((0x2 * ((uint128_t)x13 * x23)) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * ((0x2 * ((uint128_t)x9 * x22)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + (0x2 * ((uint128_t)x12 * x19)))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x2a);
- { uint64_t x31 = ((uint64_t)x29 & 0x3ffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- { uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x2a);
- { uint64_t x37 = ((uint64_t)x35 & 0x3ffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x2a);
- { uint64_t x40 = ((uint64_t)x38 & 0x3ffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2a);
- { uint64_t x43 = ((uint64_t)x41 & 0x3ffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x29);
- { uint64_t x46 = ((uint64_t)x44 & 0x1ffffffffff);
- { uint64_t x47 = (x31 + (0x9 * x45));
- { uint64_t x48 = (x47 >> 0x2a);
- { uint64_t x49 = (x47 & 0x3ffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x2a);
- { uint64_t x52 = (x50 & 0x3ffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_6limbs/femul.v b/src/Specific/solinas64_2e251m9_6limbs/femul.v
deleted file mode 100644
index a4a411459..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/femulDisplay.log b/src/Specific/solinas64_2e251m9_6limbs/femulDisplay.log
deleted file mode 100644
index 439f15a88..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + ((0x2 * ((uint128_t)x13 * x23)) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * ((0x2 * ((uint128_t)x9 * x22)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + (0x2 * ((uint128_t)x12 * x19)))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x2a);
- uint64_t x31 = ((uint64_t)x29 & 0x3ffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x2a);
- uint64_t x37 = ((uint64_t)x35 & 0x3ffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x2a);
- uint64_t x40 = ((uint64_t)x38 & 0x3ffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x2a);
- uint64_t x43 = ((uint64_t)x41 & 0x3ffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x29);
- uint64_t x46 = ((uint64_t)x44 & 0x1ffffffffff);
- uint64_t x47 = (x31 + (0x9 * x45));
- uint64_t x48 = (x47 >> 0x2a);
- uint64_t x49 = (x47 & 0x3ffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x2a);
- uint64_t x52 = (x50 & 0x3ffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_6limbs/femulDisplay.v b/src/Specific/solinas64_2e251m9_6limbs/femulDisplay.v
deleted file mode 100644
index ef9e72aa5..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fesquare.c b/src/Specific/solinas64_2e251m9_6limbs/fesquare.c
deleted file mode 100644
index d638fab8c..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + ((0x2 * ((uint128_t)x10 * x10)) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((0x2 * ((uint128_t)x6 * x9)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + (0x2 * ((uint128_t)x9 * x6)))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x2a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2a);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x29);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffff);
- { uint64_t x34 = (x18 + (0x9 * x32));
- { uint64_t x35 = (x34 >> 0x2a);
- { uint64_t x36 = (x34 & 0x3ffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x2a);
- { uint64_t x39 = (x37 & 0x3ffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fesquare.v b/src/Specific/solinas64_2e251m9_6limbs/fesquare.v
deleted file mode 100644
index 0875affc5..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.log
deleted file mode 100644
index a59d1e7f0..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + ((0x2 * ((uint128_t)x10 * x10)) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((0x2 * ((uint128_t)x6 * x9)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + (0x2 * ((uint128_t)x9 * x6)))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x2a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x2a);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x29);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffff);
- uint64_t x34 = (x18 + (0x9 * x32));
- uint64_t x35 = (x34 >> 0x2a);
- uint64_t x36 = (x34 & 0x3ffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x2a);
- uint64_t x39 = (x37 & 0x3ffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.v
deleted file mode 100644
index 47da873c9..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fesub.c b/src/Specific/solinas64_2e251m9_6limbs/fesub.c
deleted file mode 100644
index 9d2eb1e15..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x7ffffffffee + x5) - x15);
- out[1] = ((0x7fffffffffe + x7) - x17);
- out[2] = ((0x7fffffffffe + x9) - x19);
- out[3] = ((0x7fffffffffe + x11) - x21);
- out[4] = ((0x7fffffffffe + x13) - x23);
- out[5] = ((0x3fffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fesub.v b/src/Specific/solinas64_2e251m9_6limbs/fesub.v
deleted file mode 100644
index e9104a79a..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.log
deleted file mode 100644
index a26e3d339..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3fffffffffe + x12) - x22), ((0x7fffffffffe + x13) - x23), ((0x7fffffffffe + x11) - x21), ((0x7fffffffffe + x9) - x19), ((0x7fffffffffe + x7) - x17), ((0x7ffffffffee + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.v
deleted file mode 100644
index 0a354a981..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e251m9_6limbs/freeze.c b/src/Specific/solinas64_2e251m9_6limbs/freeze.c
deleted file mode 100644
index fe46a1ce4..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffff7);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x3ffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x3ffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x3fffffffff7);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x3ffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x3ffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x3ffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x3ffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x1ffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e251m9_6limbs/freeze.v b/src/Specific/solinas64_2e251m9_6limbs/freeze.v
deleted file mode 100644
index 4467c14ca..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.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/solinas64_2e251m9_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.log
deleted file mode 100644
index 7bead6d62..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffff7);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x3ffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x3ffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1ffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x3fffffffff7);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x3ffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x3ffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x3ffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x3ffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x1ffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 41 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.v
deleted file mode 100644
index f8f8577f8..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e251m9_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e251m9_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e251m9_6limbs/py_interpreter.sh
deleted file mode 100755
index 5b22eb504..000000000
--- a/src/Specific/solinas64_2e251m9_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**251 - 9' -Dmodulus_bytes='41 + 5/6' -Da24='121665'
diff --git a/src/Specific/solinas64_2e255m19_5limbs/CurveParameters.v b/src/Specific/solinas64_2e255m19_5limbs/CurveParameters.v
deleted file mode 100644
index 652d9dce7..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 51
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 51;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e255m19_5limbs/Synthesis.v b/src/Specific/solinas64_2e255m19_5limbs/Synthesis.v
deleted file mode 100644
index 25b0e46c2..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/compiler.sh b/src/Specific/solinas64_2e255m19_5limbs/compiler.sh
deleted file mode 100755
index f41d62ddd..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas64_2e255m19_5limbs/compilerxx.sh b/src/Specific/solinas64_2e255m19_5limbs/compilerxx.sh
deleted file mode 100755
index 2d913f55d..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas64_2e255m19_5limbs/feadd.c b/src/Specific/solinas64_2e255m19_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/feadd.v b/src/Specific/solinas64_2e255m19_5limbs/feadd.v
deleted file mode 100644
index 83aef70cb..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.v
deleted file mode 100644
index 606b2a97b..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fecarry.c b/src/Specific/solinas64_2e255m19_5limbs/fecarry.c
deleted file mode 100644
index 1fe627be4..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fecarry.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fecarry(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x9 = (x2 >> 0x33);
- { uint64_t x10 = (x2 & 0x7ffffffffffff);
- { uint64_t x11 = (x9 + x4);
- { uint64_t x12 = (x11 >> 0x33);
- { uint64_t x13 = (x11 & 0x7ffffffffffff);
- { uint64_t x14 = (x12 + x6);
- { uint64_t x15 = (x14 >> 0x33);
- { uint64_t x16 = (x14 & 0x7ffffffffffff);
- { uint64_t x17 = (x15 + x8);
- { uint64_t x18 = (x17 >> 0x33);
- { uint64_t x19 = (x17 & 0x7ffffffffffff);
- { uint64_t x20 = (x18 + x7);
- { uint64_t x21 = (x20 >> 0x33);
- { uint64_t x22 = (x20 & 0x7ffffffffffff);
- { uint64_t x23 = (x10 + (0x13 * x21));
- { uint64_t x24 = (x23 >> 0x33);
- { uint64_t x25 = (x23 & 0x7ffffffffffff);
- { uint64_t x26 = (x24 + x13);
- { uint64_t x27 = (x26 >> 0x33);
- { uint64_t x28 = (x26 & 0x7ffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x16);
- out[3] = x19;
- out[4] = x22;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fecarry.v b/src/Specific/solinas64_2e255m19_5limbs/fecarry.v
deleted file mode 100644
index 697eabb95..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/fecarryDisplay.log b/src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.log
deleted file mode 100644
index 648dc77cf..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.log
+++ /dev/null
@@ -1,27 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x2 >> 0x33);
- uint64_t x10 = (x2 & 0x7ffffffffffff);
- uint64_t x11 = (x9 + x4);
- uint64_t x12 = (x11 >> 0x33);
- uint64_t x13 = (x11 & 0x7ffffffffffff);
- uint64_t x14 = (x12 + x6);
- uint64_t x15 = (x14 >> 0x33);
- uint64_t x16 = (x14 & 0x7ffffffffffff);
- uint64_t x17 = (x15 + x8);
- uint64_t x18 = (x17 >> 0x33);
- uint64_t x19 = (x17 & 0x7ffffffffffff);
- uint64_t x20 = (x18 + x7);
- uint64_t x21 = (x20 >> 0x33);
- uint64_t x22 = (x20 & 0x7ffffffffffff);
- uint64_t x23 = (x10 + (0x13 * x21));
- uint64_t x24 = (x23 >> 0x33);
- uint64_t x25 = (x23 & 0x7ffffffffffff);
- uint64_t x26 = (x24 + x13);
- uint64_t x27 = (x26 >> 0x33);
- uint64_t x28 = (x26 & 0x7ffffffffffff);
- return (Return x22, Return x19, (x27 + x16), Return x28, Return x25))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.v
deleted file mode 100644
index 04b5f1a86..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e255m19_5limbs/femul.c b/src/Specific/solinas64_2e255m19_5limbs/femul.c
deleted file mode 100644
index 8094da7fc..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x13 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x13 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x13 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x13 * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x33);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x33);
- { uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x33);
- { uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x33);
- { uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x33);
- { uint64_t x38 = ((uint64_t)x36 & 0x7ffffffffffff);
- { uint64_t x39 = (x26 + (0x13 * x37));
- { uint64_t x40 = (x39 >> 0x33);
- { uint64_t x41 = (x39 & 0x7ffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x33);
- { uint64_t x44 = (x42 & 0x7ffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/femul.v b/src/Specific/solinas64_2e255m19_5limbs/femul.v
deleted file mode 100644
index 4372e68e9..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/femulDisplay.log b/src/Specific/solinas64_2e255m19_5limbs/femulDisplay.log
deleted file mode 100644
index 7a2eeb7b0..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x13 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x13 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x13 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x13 * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x33);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x33);
- uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x33);
- uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x33);
- uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x33);
- uint64_t x38 = ((uint64_t)x36 & 0x7ffffffffffff);
- uint64_t x39 = (x26 + (0x13 * x37));
- uint64_t x40 = (x39 >> 0x33);
- uint64_t x41 = (x39 & 0x7ffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x33);
- uint64_t x44 = (x42 & 0x7ffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs/femulDisplay.v b/src/Specific/solinas64_2e255m19_5limbs/femulDisplay.v
deleted file mode 100644
index b8435a18d..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fesquare.c b/src/Specific/solinas64_2e255m19_5limbs/fesquare.c
deleted file mode 100644
index 909c3289c..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x13 * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x33);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x33);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x33);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x33);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x33);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- { uint64_t x28 = (x15 + (0x13 * x26));
- { uint64_t x29 = (x28 >> 0x33);
- { uint64_t x30 = (x28 & 0x7ffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x33);
- { uint64_t x33 = (x31 & 0x7ffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fesquare.v b/src/Specific/solinas64_2e255m19_5limbs/fesquare.v
deleted file mode 100644
index 2b22d03ae..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.log
deleted file mode 100644
index d25c6c497..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x13 * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x33);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x33);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x33);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x33);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x33);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- uint64_t x28 = (x15 + (0x13 * x26));
- uint64_t x29 = (x28 >> 0x33);
- uint64_t x30 = (x28 & 0x7ffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x33);
- uint64_t x33 = (x31 & 0x7ffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.v
deleted file mode 100644
index e3f0ace5e..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fesub.c b/src/Specific/solinas64_2e255m19_5limbs/fesub.c
deleted file mode 100644
index c2a419fee..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xfffffffffffda + x5) - x13);
- out[1] = ((0xffffffffffffe + x7) - x15);
- out[2] = ((0xffffffffffffe + x9) - x17);
- out[3] = ((0xffffffffffffe + x11) - x19);
- out[4] = ((0xffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fesub.v b/src/Specific/solinas64_2e255m19_5limbs/fesub.v
deleted file mode 100644
index be55bfbd5..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.log
deleted file mode 100644
index e85a042f8..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffffffffe + x10) - x18), ((0xffffffffffffe + x11) - x19), ((0xffffffffffffe + x9) - x17), ((0xffffffffffffe + x7) - x15), ((0xfffffffffffda + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.v
deleted file mode 100644
index 91fb4d15f..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e255m19_5limbs/freeze.c b/src/Specific/solinas64_2e255m19_5limbs/freeze.c
deleted file mode 100644
index 877c579e9..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t/*bool*/ x11 = _subborrow_u51(0x0, x2, 0x7ffffffffffed, &x10);
- { uint64_t x13; uint8_t/*bool*/ x14 = _subborrow_u51(x11, x4, 0x7ffffffffffff, &x13);
- { uint64_t x16; uint8_t/*bool*/ x17 = _subborrow_u51(x14, x6, 0x7ffffffffffff, &x16);
- { uint64_t x19; uint8_t/*bool*/ x20 = _subborrow_u51(x17, x8, 0x7ffffffffffff, &x19);
- { uint64_t x22; uint8_t/*bool*/ x23 = _subborrow_u51(x20, x7, 0x7ffffffffffff, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7ffffffffffed);
- { uint64_t x27; uint8_t/*bool*/ x28 = _addcarryx_u51(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0x7ffffffffffff);
- { uint64_t x31; uint8_t/*bool*/ x32 = _addcarryx_u51(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0x7ffffffffffff);
- { uint64_t x35; uint8_t/*bool*/ x36 = _addcarryx_u51(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0x7ffffffffffff);
- { uint64_t x39; uint8_t/*bool*/ x40 = _addcarryx_u51(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x7ffffffffffff);
- { uint64_t x43; uint8_t/*bool*/ _ = _addcarryx_u51(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs/freeze.v b/src/Specific/solinas64_2e255m19_5limbs/freeze.v
deleted file mode 100644
index 4de21db14..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.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/solinas64_2e255m19_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.log
deleted file mode 100644
index 7277e4adb..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t/*bool*/ x11 = subborrow_u51(0x0, x2, 0x7ffffffffffed);
- uint64_t x13, uint8_t/*bool*/ x14 = subborrow_u51(x11, x4, 0x7ffffffffffff);
- uint64_t x16, uint8_t/*bool*/ x17 = subborrow_u51(x14, x6, 0x7ffffffffffff);
- uint64_t x19, uint8_t/*bool*/ x20 = subborrow_u51(x17, x8, 0x7ffffffffffff);
- uint64_t x22, uint8_t/*bool*/ x23 = subborrow_u51(x20, x7, 0x7ffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7ffffffffffed);
- uint64_t x27, uint8_t/*bool*/ x28 = addcarryx_u51(0x0, x10, x25);
- uint64_t x29 = (x24 & 0x7ffffffffffff);
- uint64_t x31, uint8_t/*bool*/ x32 = addcarryx_u51(x28, x13, x29);
- uint64_t x33 = (x24 & 0x7ffffffffffff);
- uint64_t x35, uint8_t/*bool*/ x36 = addcarryx_u51(x32, x16, x33);
- uint64_t x37 = (x24 & 0x7ffffffffffff);
- uint64_t x39, uint8_t/*bool*/ x40 = addcarryx_u51(x36, x19, x37);
- uint64_t x41 = (x24 & 0x7ffffffffffff);
- uint64_t x43, uint8_t/*bool*/ _ = addcarryx_u51(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.v
deleted file mode 100644
index 83fe6eec4..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e255m19_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e255m19_5limbs/py_interpreter.sh
deleted file mode 100755
index b561a9733..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='51' -Da24='121665'
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/CurveParameters.v b/src/Specific/solinas64_2e255m19_5limbs_donna/CurveParameters.v
deleted file mode 100644
index e128a8a09..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/CurveParameters.v
+++ /dev/null
@@ -1,74 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 51
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 51;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%nat;
-
- a24 := None;
- coef_div_modulus := Some 2%nat;
-
- goldilocks := None;
- karatsuba := None;
- montgomery := false;
- freeze := Some true;
- ladderstep := false;
-
- mul_code := Some (fun a b =>
- (* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(r4, r3, r2, r1, r0) := a in
- let '(s4, s3, s2, s1, s0) := b in
- dlet t0 := r0 * s0 in
- dlet t1 := r0 * s1 + r1 * s0 in
- dlet t2 := r0 * s2 + r2 * s0 + r1 * s1 in
- dlet t3 := r0 * s3 + r3 * s0 + r1 * s2 + r2 * s1 in
- dlet t4 := r0 * s4 + r4 * s0 + r3 * s1 + r1 * s3 + r2 * s2 in
-
- dlet r4 := r4 * 19 in
- dlet r1 := r1 * 19 in
- dlet r2 := r2 * 19 in
- dlet r3 := r3 * 19 in
-
- dlet t0 := t0 + r4 * s1 + r1 * s4 + r2 * s3 + r3 * s2 in
- dlet t1 := t1 + r4 * s2 + r2 * s4 + r3 * s3 in
- dlet t2 := t2 + r4 * s3 + r3 * s4 in
- dlet t3 := t3 + r4 * s4 in
- (t4, t3, t2, t1, t0)
- );
-
- square_code := Some (fun a =>
- (* Micro-optimized form from curve25519-donna-c64 by Adam Langley (Google) and Daniel Bernstein. See <https://github.com/agl/curve25519-donna/blob/master/LICENSE.md>. *)
- let '(r4, r3, r2, r1, r0) := a in
- dlet d0 := r0 * 2 in
- dlet d1 := r1 * 2 in
- dlet d2 := r2 * 2 * 19 in
- dlet d419 := r4 * 19 in
- dlet d4 := d419 * 2 in
-
- dlet t0 := r0 * r0 + d4 * r1 + (d2 * (r3 )) in
- dlet t1 := d0 * r1 + d4 * r2 + (r3 * (r3 * 19)) in
- dlet t2 := d0 * r2 + r1 * r1 + (d4 * (r3 )) in
- dlet t3 := d0 * r3 + d1 * r2 + (r4 * (d419 )) in
- dlet t4 := d0 * r4 + d1 * r3 + (r2 * (r2 )) in
- (t4, t3, t2, t1, t0)
- );
-
- 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/solinas64_2e255m19_5limbs_donna/Synthesis.v b/src/Specific/solinas64_2e255m19_5limbs_donna/Synthesis.v
deleted file mode 100644
index 51b1a64a7..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/compiler.sh b/src/Specific/solinas64_2e255m19_5limbs_donna/compiler.sh
deleted file mode 100755
index f41d62ddd..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/compilerxx.sh b/src/Specific/solinas64_2e255m19_5limbs_donna/compilerxx.sh
deleted file mode 100755
index 2d913f55d..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/feadd.c b/src/Specific/solinas64_2e255m19_5limbs_donna/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/feadd.v b/src/Specific/solinas64_2e255m19_5limbs_donna/feadd.v
deleted file mode 100644
index 98e5735f3..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/feaddDisplay.log b/src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.v b/src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.v
deleted file mode 100644
index 059ef987e..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.c b/src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.c
deleted file mode 100644
index 1fe627be4..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fecarry(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x9 = (x2 >> 0x33);
- { uint64_t x10 = (x2 & 0x7ffffffffffff);
- { uint64_t x11 = (x9 + x4);
- { uint64_t x12 = (x11 >> 0x33);
- { uint64_t x13 = (x11 & 0x7ffffffffffff);
- { uint64_t x14 = (x12 + x6);
- { uint64_t x15 = (x14 >> 0x33);
- { uint64_t x16 = (x14 & 0x7ffffffffffff);
- { uint64_t x17 = (x15 + x8);
- { uint64_t x18 = (x17 >> 0x33);
- { uint64_t x19 = (x17 & 0x7ffffffffffff);
- { uint64_t x20 = (x18 + x7);
- { uint64_t x21 = (x20 >> 0x33);
- { uint64_t x22 = (x20 & 0x7ffffffffffff);
- { uint64_t x23 = (x10 + (0x13 * x21));
- { uint64_t x24 = (x23 >> 0x33);
- { uint64_t x25 = (x23 & 0x7ffffffffffff);
- { uint64_t x26 = (x24 + x13);
- { uint64_t x27 = (x26 >> 0x33);
- { uint64_t x28 = (x26 & 0x7ffffffffffff);
- out[0] = x25;
- out[1] = x28;
- out[2] = (x27 + x16);
- out[3] = x19;
- out[4] = x22;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.v b/src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.v
deleted file mode 100644
index 4b58a2ab5..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/fecarryDisplay.log b/src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.log
deleted file mode 100644
index 648dc77cf..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.log
+++ /dev/null
@@ -1,27 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x2 >> 0x33);
- uint64_t x10 = (x2 & 0x7ffffffffffff);
- uint64_t x11 = (x9 + x4);
- uint64_t x12 = (x11 >> 0x33);
- uint64_t x13 = (x11 & 0x7ffffffffffff);
- uint64_t x14 = (x12 + x6);
- uint64_t x15 = (x14 >> 0x33);
- uint64_t x16 = (x14 & 0x7ffffffffffff);
- uint64_t x17 = (x15 + x8);
- uint64_t x18 = (x17 >> 0x33);
- uint64_t x19 = (x17 & 0x7ffffffffffff);
- uint64_t x20 = (x18 + x7);
- uint64_t x21 = (x20 >> 0x33);
- uint64_t x22 = (x20 & 0x7ffffffffffff);
- uint64_t x23 = (x10 + (0x13 * x21));
- uint64_t x24 = (x23 >> 0x33);
- uint64_t x25 = (x23 & 0x7ffffffffffff);
- uint64_t x26 = (x24 + x13);
- uint64_t x27 = (x26 >> 0x33);
- uint64_t x28 = (x26 & 0x7ffffffffffff);
- return (Return x22, Return x19, (x27 + x16), Return x28, Return x25))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.v b/src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.v
deleted file mode 100644
index 18687ce79..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/femul.c b/src/Specific/solinas64_2e255m19_5limbs_donna/femul.c
deleted file mode 100644
index bfb4c2043..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/femul.c
+++ /dev/null
@@ -1,51 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = ((uint128_t)x5 * x13);
- { uint128_t x21 = (((uint128_t)x5 * x15) + ((uint128_t)x7 * x13));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((uint128_t)x9 * x13)) + ((uint128_t)x7 * x15));
- { uint128_t x23 = (((((uint128_t)x5 * x19) + ((uint128_t)x11 * x13)) + ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15));
- { uint128_t x24 = ((((((uint128_t)x5 * x18) + ((uint128_t)x10 * x13)) + ((uint128_t)x11 * x15)) + ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17));
- { uint64_t x25 = (x10 * 0x13);
- { uint64_t x26 = (x7 * 0x13);
- { uint64_t x27 = (x9 * 0x13);
- { uint64_t x28 = (x11 * 0x13);
- { uint128_t x29 = ((((x20 + ((uint128_t)x25 * x15)) + ((uint128_t)x26 * x18)) + ((uint128_t)x27 * x19)) + ((uint128_t)x28 * x17));
- { uint128_t x30 = (((x21 + ((uint128_t)x25 * x17)) + ((uint128_t)x27 * x18)) + ((uint128_t)x28 * x19));
- { uint128_t x31 = ((x22 + ((uint128_t)x25 * x19)) + ((uint128_t)x28 * x18));
- { uint128_t x32 = (x23 + ((uint128_t)x25 * x18));
- { uint64_t x33 = (uint64_t) (x29 >> 0x33);
- { uint64_t x34 = ((uint64_t)x29 & 0x7ffffffffffff);
- { uint128_t x35 = (x33 + x30);
- { uint64_t x36 = (uint64_t) (x35 >> 0x33);
- { uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffffff);
- { uint128_t x38 = (x36 + x31);
- { uint64_t x39 = (uint64_t) (x38 >> 0x33);
- { uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffffff);
- { uint128_t x41 = (x39 + x32);
- { uint64_t x42 = (uint64_t) (x41 >> 0x33);
- { uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x33);
- { uint64_t x46 = ((uint64_t)x44 & 0x7ffffffffffff);
- { uint64_t x47 = (x34 + (0x13 * x45));
- { uint64_t x48 = (x47 >> 0x33);
- { uint64_t x49 = (x47 & 0x7ffffffffffff);
- { uint64_t x50 = (x48 + x37);
- { uint64_t x51 = (x50 >> 0x33);
- { uint64_t x52 = (x50 & 0x7ffffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x40);
- out[3] = x43;
- out[4] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/femul.v b/src/Specific/solinas64_2e255m19_5limbs_donna/femul.v
deleted file mode 100644
index 279480168..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/femulDisplay.log b/src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.log
deleted file mode 100644
index 6ecb01e51..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = ((uint128_t)x5 * x13);
- uint128_t x21 = (((uint128_t)x5 * x15) + ((uint128_t)x7 * x13));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((uint128_t)x9 * x13)) + ((uint128_t)x7 * x15));
- uint128_t x23 = (((((uint128_t)x5 * x19) + ((uint128_t)x11 * x13)) + ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15));
- uint128_t x24 = ((((((uint128_t)x5 * x18) + ((uint128_t)x10 * x13)) + ((uint128_t)x11 * x15)) + ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17));
- uint64_t x25 = (x10 * 0x13);
- uint64_t x26 = (x7 * 0x13);
- uint64_t x27 = (x9 * 0x13);
- uint64_t x28 = (x11 * 0x13);
- uint128_t x29 = ((((x20 + ((uint128_t)x25 * x15)) + ((uint128_t)x26 * x18)) + ((uint128_t)x27 * x19)) + ((uint128_t)x28 * x17));
- uint128_t x30 = (((x21 + ((uint128_t)x25 * x17)) + ((uint128_t)x27 * x18)) + ((uint128_t)x28 * x19));
- uint128_t x31 = ((x22 + ((uint128_t)x25 * x19)) + ((uint128_t)x28 * x18));
- uint128_t x32 = (x23 + ((uint128_t)x25 * x18));
- uint64_t x33 = (uint64_t) (x29 >> 0x33);
- uint64_t x34 = ((uint64_t)x29 & 0x7ffffffffffff);
- uint128_t x35 = (x33 + x30);
- uint64_t x36 = (uint64_t) (x35 >> 0x33);
- uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffffff);
- uint128_t x38 = (x36 + x31);
- uint64_t x39 = (uint64_t) (x38 >> 0x33);
- uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffffff);
- uint128_t x41 = (x39 + x32);
- uint64_t x42 = (uint64_t) (x41 >> 0x33);
- uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x33);
- uint64_t x46 = ((uint64_t)x44 & 0x7ffffffffffff);
- uint64_t x47 = (x34 + (0x13 * x45));
- uint64_t x48 = (x47 >> 0x33);
- uint64_t x49 = (x47 & 0x7ffffffffffff);
- uint64_t x50 = (x48 + x37);
- uint64_t x51 = (x50 >> 0x33);
- uint64_t x52 = (x50 & 0x7ffffffffffff);
- return (Return x46, Return x43, (x51 + x40), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.v b/src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.v
deleted file mode 100644
index 6e350b13c..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.c b/src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.c
deleted file mode 100644
index 9764432b1..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x9 = (x2 * 0x2);
- { uint64_t x10 = (x4 * 0x2);
- { uint64_t x11 = ((x6 * 0x2) * 0x13);
- { uint64_t x12 = (x7 * 0x13);
- { uint64_t x13 = (x12 * 0x2);
- { uint128_t x14 = ((((uint128_t)x2 * x2) + ((uint128_t)x13 * x4)) + ((uint128_t)x11 * x8));
- { uint128_t x15 = ((((uint128_t)x9 * x4) + ((uint128_t)x13 * x6)) + ((uint128_t)x8 * (x8 * 0x13)));
- { uint128_t x16 = ((((uint128_t)x9 * x6) + ((uint128_t)x4 * x4)) + ((uint128_t)x13 * x8));
- { uint128_t x17 = ((((uint128_t)x9 * x8) + ((uint128_t)x10 * x6)) + ((uint128_t)x7 * x12));
- { uint128_t x18 = ((((uint128_t)x9 * x7) + ((uint128_t)x10 * x8)) + ((uint128_t)x6 * x6));
- { uint64_t x19 = (uint64_t) (x14 >> 0x33);
- { uint64_t x20 = ((uint64_t)x14 & 0x7ffffffffffff);
- { uint128_t x21 = (x19 + x15);
- { uint64_t x22 = (uint64_t) (x21 >> 0x33);
- { uint64_t x23 = ((uint64_t)x21 & 0x7ffffffffffff);
- { uint128_t x24 = (x22 + x16);
- { uint64_t x25 = (uint64_t) (x24 >> 0x33);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- { uint128_t x27 = (x25 + x17);
- { uint64_t x28 = (uint64_t) (x27 >> 0x33);
- { uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- { uint128_t x30 = (x28 + x18);
- { uint64_t x31 = (uint64_t) (x30 >> 0x33);
- { uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- { uint64_t x33 = (x20 + (0x13 * x31));
- { uint64_t x34 = (x33 >> 0x33);
- { uint64_t x35 = (x33 & 0x7ffffffffffff);
- { uint64_t x36 = (x34 + x23);
- { uint64_t x37 = (x36 >> 0x33);
- { uint64_t x38 = (x36 & 0x7ffffffffffff);
- out[0] = x35;
- out[1] = x38;
- out[2] = (x37 + x26);
- out[3] = x29;
- out[4] = x32;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.v b/src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.v
deleted file mode 100644
index d6f25e43a..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/fesquareDisplay.log b/src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.log
deleted file mode 100644
index 8eb7c9e67..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.log
+++ /dev/null
@@ -1,37 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x9 = (x2 * 0x2);
- uint64_t x10 = (x4 * 0x2);
- uint64_t x11 = ((x6 * 0x2) * 0x13);
- uint64_t x12 = (x7 * 0x13);
- uint64_t x13 = (x12 * 0x2);
- uint128_t x14 = ((((uint128_t)x2 * x2) + ((uint128_t)x13 * x4)) + ((uint128_t)x11 * x8));
- uint128_t x15 = ((((uint128_t)x9 * x4) + ((uint128_t)x13 * x6)) + ((uint128_t)x8 * (x8 * 0x13)));
- uint128_t x16 = ((((uint128_t)x9 * x6) + ((uint128_t)x4 * x4)) + ((uint128_t)x13 * x8));
- uint128_t x17 = ((((uint128_t)x9 * x8) + ((uint128_t)x10 * x6)) + ((uint128_t)x7 * x12));
- uint128_t x18 = ((((uint128_t)x9 * x7) + ((uint128_t)x10 * x8)) + ((uint128_t)x6 * x6));
- uint64_t x19 = (uint64_t) (x14 >> 0x33);
- uint64_t x20 = ((uint64_t)x14 & 0x7ffffffffffff);
- uint128_t x21 = (x19 + x15);
- uint64_t x22 = (uint64_t) (x21 >> 0x33);
- uint64_t x23 = ((uint64_t)x21 & 0x7ffffffffffff);
- uint128_t x24 = (x22 + x16);
- uint64_t x25 = (uint64_t) (x24 >> 0x33);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- uint128_t x27 = (x25 + x17);
- uint64_t x28 = (uint64_t) (x27 >> 0x33);
- uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- uint128_t x30 = (x28 + x18);
- uint64_t x31 = (uint64_t) (x30 >> 0x33);
- uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- uint64_t x33 = (x20 + (0x13 * x31));
- uint64_t x34 = (x33 >> 0x33);
- uint64_t x35 = (x33 & 0x7ffffffffffff);
- uint64_t x36 = (x34 + x23);
- uint64_t x37 = (x36 >> 0x33);
- uint64_t x38 = (x36 & 0x7ffffffffffff);
- return (Return x32, Return x29, (x37 + x26), Return x38, Return x35))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.v b/src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.v
deleted file mode 100644
index 9cb7597d9..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fesub.c b/src/Specific/solinas64_2e255m19_5limbs_donna/fesub.c
deleted file mode 100644
index c2a419fee..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xfffffffffffda + x5) - x13);
- out[1] = ((0xffffffffffffe + x7) - x15);
- out[2] = ((0xffffffffffffe + x9) - x17);
- out[3] = ((0xffffffffffffe + x11) - x19);
- out[4] = ((0xffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fesub.v b/src/Specific/solinas64_2e255m19_5limbs_donna/fesub.v
deleted file mode 100644
index ba562d051..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/fesubDisplay.log b/src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.log
deleted file mode 100644
index e85a042f8..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffffffffe + x10) - x18), ((0xffffffffffffe + x11) - x19), ((0xffffffffffffe + x9) - x17), ((0xffffffffffffe + x7) - x15), ((0xfffffffffffda + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.v b/src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.v
deleted file mode 100644
index caeb9f1ff..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/freeze.c b/src/Specific/solinas64_2e255m19_5limbs_donna/freeze.c
deleted file mode 100644
index 877c579e9..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t/*bool*/ x11 = _subborrow_u51(0x0, x2, 0x7ffffffffffed, &x10);
- { uint64_t x13; uint8_t/*bool*/ x14 = _subborrow_u51(x11, x4, 0x7ffffffffffff, &x13);
- { uint64_t x16; uint8_t/*bool*/ x17 = _subborrow_u51(x14, x6, 0x7ffffffffffff, &x16);
- { uint64_t x19; uint8_t/*bool*/ x20 = _subborrow_u51(x17, x8, 0x7ffffffffffff, &x19);
- { uint64_t x22; uint8_t/*bool*/ x23 = _subborrow_u51(x20, x7, 0x7ffffffffffff, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7ffffffffffed);
- { uint64_t x27; uint8_t/*bool*/ x28 = _addcarryx_u51(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0x7ffffffffffff);
- { uint64_t x31; uint8_t/*bool*/ x32 = _addcarryx_u51(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0x7ffffffffffff);
- { uint64_t x35; uint8_t/*bool*/ x36 = _addcarryx_u51(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0x7ffffffffffff);
- { uint64_t x39; uint8_t/*bool*/ x40 = _addcarryx_u51(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x7ffffffffffff);
- { uint64_t x43; uint8_t/*bool*/ _ = _addcarryx_u51(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/freeze.v b/src/Specific/solinas64_2e255m19_5limbs_donna/freeze.v
deleted file mode 100644
index f479b3551..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.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/solinas64_2e255m19_5limbs_donna/freezeDisplay.log b/src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.log
deleted file mode 100644
index 7277e4adb..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t/*bool*/ x11 = subborrow_u51(0x0, x2, 0x7ffffffffffed);
- uint64_t x13, uint8_t/*bool*/ x14 = subborrow_u51(x11, x4, 0x7ffffffffffff);
- uint64_t x16, uint8_t/*bool*/ x17 = subborrow_u51(x14, x6, 0x7ffffffffffff);
- uint64_t x19, uint8_t/*bool*/ x20 = subborrow_u51(x17, x8, 0x7ffffffffffff);
- uint64_t x22, uint8_t/*bool*/ x23 = subborrow_u51(x20, x7, 0x7ffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7ffffffffffed);
- uint64_t x27, uint8_t/*bool*/ x28 = addcarryx_u51(0x0, x10, x25);
- uint64_t x29 = (x24 & 0x7ffffffffffff);
- uint64_t x31, uint8_t/*bool*/ x32 = addcarryx_u51(x28, x13, x29);
- uint64_t x33 = (x24 & 0x7ffffffffffff);
- uint64_t x35, uint8_t/*bool*/ x36 = addcarryx_u51(x32, x16, x33);
- uint64_t x37 = (x24 & 0x7ffffffffffff);
- uint64_t x39, uint8_t/*bool*/ x40 = addcarryx_u51(x36, x19, x37);
- uint64_t x41 = (x24 & 0x7ffffffffffff);
- uint64_t x43, uint8_t/*bool*/ _ = addcarryx_u51(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.v b/src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.v
deleted file mode 100644
index 386ccca71..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_5limbs_donna.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e255m19_5limbs_donna/py_interpreter.sh b/src/Specific/solinas64_2e255m19_5limbs_donna/py_interpreter.sh
deleted file mode 100755
index b561a9733..000000000
--- a/src/Specific/solinas64_2e255m19_5limbs_donna/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='51' -Da24='121665'
diff --git a/src/Specific/solinas64_2e255m19_6limbs/CurveParameters.v b/src/Specific/solinas64_2e255m19_6limbs/CurveParameters.v
deleted file mode 100644
index f4dca346a..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 19
-Base: 42.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 42 + 1/2;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e255m19_6limbs/Synthesis.v b/src/Specific/solinas64_2e255m19_6limbs/Synthesis.v
deleted file mode 100644
index af27f590a..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/compiler.sh b/src/Specific/solinas64_2e255m19_6limbs/compiler.sh
deleted file mode 100755
index e1a9ebc3a..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas64_2e255m19_6limbs/compilerxx.sh b/src/Specific/solinas64_2e255m19_6limbs/compilerxx.sh
deleted file mode 100755
index a786496dd..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xed}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 19' "$@"
diff --git a/src/Specific/solinas64_2e255m19_6limbs/feadd.c b/src/Specific/solinas64_2e255m19_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/feadd.v b/src/Specific/solinas64_2e255m19_6limbs/feadd.v
deleted file mode 100644
index 2a76baf20..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.v
deleted file mode 100644
index c0d31eb15..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fecarry.c b/src/Specific/solinas64_2e255m19_6limbs/fecarry.c
deleted file mode 100644
index 203bac29b..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fecarry.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fecarry(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x11 = (x2 >> 0x2b);
- { uint64_t x12 = (x2 & 0x7ffffffffff);
- { uint64_t x13 = (x11 + x4);
- { uint64_t x14 = (x13 >> 0x2a);
- { uint64_t x15 = (x13 & 0x3ffffffffff);
- { uint64_t x16 = (x14 + x6);
- { uint64_t x17 = (x16 >> 0x2b);
- { uint64_t x18 = (x16 & 0x7ffffffffff);
- { uint64_t x19 = (x17 + x8);
- { uint64_t x20 = (x19 >> 0x2a);
- { uint64_t x21 = (x19 & 0x3ffffffffff);
- { uint64_t x22 = (x20 + x10);
- { uint64_t x23 = (x22 >> 0x2b);
- { uint64_t x24 = (x22 & 0x7ffffffffff);
- { uint64_t x25 = (x23 + x9);
- { uint64_t x26 = (x25 >> 0x2a);
- { uint64_t x27 = (x25 & 0x3ffffffffff);
- { uint64_t x28 = (x12 + (0x13 * x26));
- { uint64_t x29 = (x28 >> 0x2b);
- { uint64_t x30 = (x28 & 0x7ffffffffff);
- { uint64_t x31 = (x29 + x15);
- { uint64_t x32 = (x31 >> 0x2a);
- { uint64_t x33 = (x31 & 0x3ffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x18);
- out[3] = x21;
- out[4] = x24;
- out[5] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fecarry.v b/src/Specific/solinas64_2e255m19_6limbs/fecarry.v
deleted file mode 100644
index f5ee6f120..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/fecarryDisplay.log b/src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.log
deleted file mode 100644
index 2bfda9253..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.log
+++ /dev/null
@@ -1,30 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x11 = (x2 >> 0x2b);
- uint64_t x12 = (x2 & 0x7ffffffffff);
- uint64_t x13 = (x11 + x4);
- uint64_t x14 = (x13 >> 0x2a);
- uint64_t x15 = (x13 & 0x3ffffffffff);
- uint64_t x16 = (x14 + x6);
- uint64_t x17 = (x16 >> 0x2b);
- uint64_t x18 = (x16 & 0x7ffffffffff);
- uint64_t x19 = (x17 + x8);
- uint64_t x20 = (x19 >> 0x2a);
- uint64_t x21 = (x19 & 0x3ffffffffff);
- uint64_t x22 = (x20 + x10);
- uint64_t x23 = (x22 >> 0x2b);
- uint64_t x24 = (x22 & 0x7ffffffffff);
- uint64_t x25 = (x23 + x9);
- uint64_t x26 = (x25 >> 0x2a);
- uint64_t x27 = (x25 & 0x3ffffffffff);
- uint64_t x28 = (x12 + (0x13 * x26));
- uint64_t x29 = (x28 >> 0x2b);
- uint64_t x30 = (x28 & 0x7ffffffffff);
- uint64_t x31 = (x29 + x15);
- uint64_t x32 = (x31 >> 0x2a);
- uint64_t x33 = (x31 & 0x3ffffffffff);
- return (Return x27, Return x24, Return x21, (x32 + x18), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.v
deleted file mode 100644
index e7a400506..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e255m19_6limbs/femul.c b/src/Specific/solinas64_2e255m19_6limbs/femul.c
deleted file mode 100644
index c99e800f9..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x13 * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x13 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x13 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x13 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x13 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x2b);
- { uint64_t x31 = ((uint64_t)x29 & 0x7ffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- { uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x2b);
- { uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x2a);
- { uint64_t x40 = ((uint64_t)x38 & 0x3ffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2b);
- { uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2a);
- { uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- { uint64_t x47 = (x31 + (0x13 * x45));
- { uint64_t x48 = (x47 >> 0x2b);
- { uint64_t x49 = (x47 & 0x7ffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x2a);
- { uint64_t x52 = (x50 & 0x3ffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/femul.v b/src/Specific/solinas64_2e255m19_6limbs/femul.v
deleted file mode 100644
index e9133b85d..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/femulDisplay.log b/src/Specific/solinas64_2e255m19_6limbs/femulDisplay.log
deleted file mode 100644
index b29b13537..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x13 * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x13 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x13 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x13 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x13 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x2b);
- uint64_t x31 = ((uint64_t)x29 & 0x7ffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x2b);
- uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x2a);
- uint64_t x40 = ((uint64_t)x38 & 0x3ffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x2b);
- uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x2a);
- uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- uint64_t x47 = (x31 + (0x13 * x45));
- uint64_t x48 = (x47 >> 0x2b);
- uint64_t x49 = (x47 & 0x7ffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x2a);
- uint64_t x52 = (x50 & 0x3ffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_6limbs/femulDisplay.v b/src/Specific/solinas64_2e255m19_6limbs/femulDisplay.v
deleted file mode 100644
index 16567514f..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fesquare.c b/src/Specific/solinas64_2e255m19_6limbs/fesquare.c
deleted file mode 100644
index 58321a3b8..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- { uint64_t x34 = (x18 + (0x13 * x32));
- { uint64_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = (x34 & 0x7ffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x2a);
- { uint64_t x39 = (x37 & 0x3ffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fesquare.v b/src/Specific/solinas64_2e255m19_6limbs/fesquare.v
deleted file mode 100644
index 9356df50f..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.log
deleted file mode 100644
index bd69925ce..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x2a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- uint64_t x34 = (x18 + (0x13 * x32));
- uint64_t x35 = (x34 >> 0x2b);
- uint64_t x36 = (x34 & 0x7ffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x2a);
- uint64_t x39 = (x37 & 0x3ffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.v
deleted file mode 100644
index 1666bb1db..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fesub.c b/src/Specific/solinas64_2e255m19_6limbs/fesub.c
deleted file mode 100644
index 54f3005a3..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0xfffffffffda + x5) - x15);
- out[1] = ((0x7fffffffffe + x7) - x17);
- out[2] = ((0xffffffffffe + x9) - x19);
- out[3] = ((0x7fffffffffe + x11) - x21);
- out[4] = ((0xffffffffffe + x13) - x23);
- out[5] = ((0x7fffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fesub.v b/src/Specific/solinas64_2e255m19_6limbs/fesub.v
deleted file mode 100644
index eb4c67b19..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.log
deleted file mode 100644
index 486c4c548..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x7fffffffffe + x12) - x22), ((0xffffffffffe + x13) - x23), ((0x7fffffffffe + x11) - x21), ((0xffffffffffe + x9) - x19), ((0x7fffffffffe + x7) - x17), ((0xfffffffffda + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.v
deleted file mode 100644
index e9c09ecff..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e255m19_6limbs/freeze.c b/src/Specific/solinas64_2e255m19_6limbs/freeze.c
deleted file mode 100644
index 3e940b7b5..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t/*bool*/ x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x2, 0x7ffffffffed);
- { uint64_t x15, uint8_t/*bool*/ x16 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x13, Return x4, 0x3ffffffffff);
- { uint64_t x18, uint8_t/*bool*/ x19 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x16, Return x6, 0x7ffffffffff);
- { uint64_t x21, uint8_t/*bool*/ x22 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x19, Return x8, 0x3ffffffffff);
- { uint64_t x24, uint8_t/*bool*/ x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x22, Return x10, 0x7ffffffffff);
- { uint64_t x27, uint8_t/*bool*/ x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x25, Return x9, 0x3ffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x7ffffffffed);
- { uint64_t x32, uint8_t/*bool*/ x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x3ffffffffff);
- { uint64_t x36, uint8_t/*bool*/ x37 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x7ffffffffff);
- { uint64_t x40, uint8_t/*bool*/ x41 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x3ffffffffff);
- { uint64_t x44, uint8_t/*bool*/ x45 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x7ffffffffff);
- { uint64_t x48, uint8_t/*bool*/ x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x3ffffffffff);
- { uint64_t x52, uint8_t/*bool*/ _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m19_6limbs/freeze.v b/src/Specific/solinas64_2e255m19_6limbs/freeze.v
deleted file mode 100644
index 532e0ce8d..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.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/solinas64_2e255m19_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.log
deleted file mode 100644
index 0d8c4cd4e..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t/*bool*/ x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x2, 0x7ffffffffed);
- uint64_t x15, uint8_t/*bool*/ x16 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x13, Return x4, 0x3ffffffffff);
- uint64_t x18, uint8_t/*bool*/ x19 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x16, Return x6, 0x7ffffffffff);
- uint64_t x21, uint8_t/*bool*/ x22 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x19, Return x8, 0x3ffffffffff);
- uint64_t x24, uint8_t/*bool*/ x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x22, Return x10, 0x7ffffffffff);
- uint64_t x27, uint8_t/*bool*/ x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x25, Return x9, 0x3ffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x7ffffffffed);
- uint64_t x32, uint8_t/*bool*/ x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x3ffffffffff);
- uint64_t x36, uint8_t/*bool*/ x37 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x7ffffffffff);
- uint64_t x40, uint8_t/*bool*/ x41 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x3ffffffffff);
- uint64_t x44, uint8_t/*bool*/ x45 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x7ffffffffff);
- uint64_t x48, uint8_t/*bool*/ x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x3ffffffffff);
- uint64_t x52, uint8_t/*bool*/ _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 0) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 0)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.v
deleted file mode 100644
index 48ccf41f8..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m19_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e255m19_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e255m19_6limbs/py_interpreter.sh
deleted file mode 100755
index 1c9dca679..000000000
--- a/src/Specific/solinas64_2e255m19_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 19' -Dmodulus_bytes='42.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e255m765_5limbs/CurveParameters.v b/src/Specific/solinas64_2e255m765_5limbs/CurveParameters.v
deleted file mode 100644
index 39be5d174..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 765
-Base: 51
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 51;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 765)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e255m765_5limbs/Synthesis.v b/src/Specific/solinas64_2e255m765_5limbs/Synthesis.v
deleted file mode 100644
index e64adcaf7..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/compiler.sh b/src/Specific/solinas64_2e255m765_5limbs/compiler.sh
deleted file mode 100755
index 1d922df56..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas64_2e255m765_5limbs/compilerxx.sh b/src/Specific/solinas64_2e255m765_5limbs/compilerxx.sh
deleted file mode 100755
index 2a06db3ec..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,51,51,51,51}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas64_2e255m765_5limbs/feadd.c b/src/Specific/solinas64_2e255m765_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_5limbs/feadd.v b/src/Specific/solinas64_2e255m765_5limbs/feadd.v
deleted file mode 100644
index 1c917ad02..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.v
deleted file mode 100644
index e9c79ca44..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fecarry.v b/src/Specific/solinas64_2e255m765_5limbs/fecarry.v
deleted file mode 100644
index 5f5a74ca4..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e255m765_5limbs/fecarryDisplay.v
deleted file mode 100644
index 3ab5f27c4..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e255m765_5limbs/femul.c b/src/Specific/solinas64_2e255m765_5limbs/femul.c
deleted file mode 100644
index 57eb9764f..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x2fd * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x2fd * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x2fd * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x2fd * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- { uint128_t x25 = (x24 >> 0x33);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint128_t x28 = (x27 >> 0x33);
- { uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint128_t x31 = (x30 >> 0x33);
- { uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint128_t x34 = (x33 >> 0x33);
- { uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x33);
- { uint64_t x38 = ((uint64_t)x36 & 0x7ffffffffffff);
- { uint128_t x39 = (x26 + ((uint128_t)0x2fd * x37));
- { uint64_t x40 = (uint64_t) (x39 >> 0x33);
- { uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x33);
- { uint64_t x44 = (x42 & 0x7ffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_5limbs/femul.v b/src/Specific/solinas64_2e255m765_5limbs/femul.v
deleted file mode 100644
index ad14826e5..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/femulDisplay.log b/src/Specific/solinas64_2e255m765_5limbs/femulDisplay.log
deleted file mode 100644
index 67e30d2d3..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x2fd * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x2fd * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x2fd * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x2fd * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- uint128_t x25 = (x24 >> 0x33);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint128_t x28 = (x27 >> 0x33);
- uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint128_t x31 = (x30 >> 0x33);
- uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint128_t x34 = (x33 >> 0x33);
- uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x33);
- uint64_t x38 = ((uint64_t)x36 & 0x7ffffffffffff);
- uint128_t x39 = (x26 + ((uint128_t)0x2fd * x37));
- uint64_t x40 = (uint64_t) (x39 >> 0x33);
- uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x33);
- uint64_t x44 = (x42 & 0x7ffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_5limbs/femulDisplay.v b/src/Specific/solinas64_2e255m765_5limbs/femulDisplay.v
deleted file mode 100644
index 8c2639511..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fesquare.c b/src/Specific/solinas64_2e255m765_5limbs/fesquare.c
deleted file mode 100644
index 31d7686aa..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x2fd * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x2fd * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x2fd * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x2fd * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- { uint128_t x14 = (x13 >> 0x33);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint128_t x17 = (x16 >> 0x33);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint128_t x20 = (x19 >> 0x33);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint128_t x23 = (x22 >> 0x33);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x33);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- { uint128_t x28 = (x15 + ((uint128_t)0x2fd * x26));
- { uint64_t x29 = (uint64_t) (x28 >> 0x33);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x33);
- { uint64_t x33 = (x31 & 0x7ffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fesquare.v b/src/Specific/solinas64_2e255m765_5limbs/fesquare.v
deleted file mode 100644
index 72bda5c31..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.log
deleted file mode 100644
index 6c1f6e7f7..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x2fd * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x2fd * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x2fd * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x2fd * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- uint128_t x14 = (x13 >> 0x33);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint128_t x17 = (x16 >> 0x33);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint128_t x20 = (x19 >> 0x33);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint128_t x23 = (x22 >> 0x33);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x33);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- uint128_t x28 = (x15 + ((uint128_t)0x2fd * x26));
- uint64_t x29 = (uint64_t) (x28 >> 0x33);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x33);
- uint64_t x33 = (x31 & 0x7ffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.v
deleted file mode 100644
index 1b5085bf0..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fesub.c b/src/Specific/solinas64_2e255m765_5limbs/fesub.c
deleted file mode 100644
index ecafe2bad..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xffffffffffa06 + x5) - x13);
- out[1] = ((0xffffffffffffe + x7) - x15);
- out[2] = ((0xffffffffffffe + x9) - x17);
- out[3] = ((0xffffffffffffe + x11) - x19);
- out[4] = ((0xffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fesub.v b/src/Specific/solinas64_2e255m765_5limbs/fesub.v
deleted file mode 100644
index 1fd30c7d7..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.log
deleted file mode 100644
index 9de59caff..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffffffffe + x10) - x18), ((0xffffffffffffe + x11) - x19), ((0xffffffffffffe + x9) - x17), ((0xffffffffffffe + x7) - x15), ((0xffffffffffa06 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.v
deleted file mode 100644
index 82a69ff6e..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e255m765_5limbs/freeze.c b/src/Specific/solinas64_2e255m765_5limbs/freeze.c
deleted file mode 100644
index e594e5530..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10; uint8_t x11 = _subborrow_u51(0x0, x2, 0x7fffffffffd03, &x10);
- { uint64_t x13; uint8_t x14 = _subborrow_u51(x11, x4, 0x7ffffffffffff, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u51(x14, x6, 0x7ffffffffffff, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u51(x17, x8, 0x7ffffffffffff, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u51(x20, x7, 0x7ffffffffffff, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7fffffffffd03);
- { uint64_t x27; uint8_t x28 = _addcarryx_u51(0x0, x10, x25, &x27);
- { uint64_t x29 = (x24 & 0x7ffffffffffff);
- { uint64_t x31; uint8_t x32 = _addcarryx_u51(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0x7ffffffffffff);
- { uint64_t x35; uint8_t x36 = _addcarryx_u51(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0x7ffffffffffff);
- { uint64_t x39; uint8_t x40 = _addcarryx_u51(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x7ffffffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u51(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_5limbs/freeze.v b/src/Specific/solinas64_2e255m765_5limbs/freeze.v
deleted file mode 100644
index d9b1233b7..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.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/solinas64_2e255m765_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.log
deleted file mode 100644
index 32acd112d..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = subborrow_u51(0x0, x2, 0x7fffffffffd03);
- uint64_t x13, uint8_t x14 = subborrow_u51(x11, x4, 0x7ffffffffffff);
- uint64_t x16, uint8_t x17 = subborrow_u51(x14, x6, 0x7ffffffffffff);
- uint64_t x19, uint8_t x20 = subborrow_u51(x17, x8, 0x7ffffffffffff);
- uint64_t x22, uint8_t x23 = subborrow_u51(x20, x7, 0x7ffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7fffffffffd03);
- uint64_t x27, uint8_t x28 = addcarryx_u51(0x0, x10, x25);
- uint64_t x29 = (x24 & 0x7ffffffffffff);
- uint64_t x31, uint8_t x32 = addcarryx_u51(x28, x13, x29);
- uint64_t x33 = (x24 & 0x7ffffffffffff);
- uint64_t x35, uint8_t x36 = addcarryx_u51(x32, x16, x33);
- uint64_t x37 = (x24 & 0x7ffffffffffff);
- uint64_t x39, uint8_t x40 = addcarryx_u51(x36, x19, x37);
- uint64_t x41 = (x24 & 0x7ffffffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u51(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.v
deleted file mode 100644
index 491dc13db..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e255m765_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e255m765_5limbs/py_interpreter.sh
deleted file mode 100755
index 2d13f3145..000000000
--- a/src/Specific/solinas64_2e255m765_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 765' -Dmodulus_bytes='51' -Da24='121665'
diff --git a/src/Specific/solinas64_2e255m765_6limbs/CurveParameters.v b/src/Specific/solinas64_2e255m765_6limbs/CurveParameters.v
deleted file mode 100644
index a1a80e509..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^255 - 765
-Base: 42.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 42 + 1/2;
- bitwidth := 64;
- s := 2^255;
- c := [(1, 765)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e255m765_6limbs/Synthesis.v b/src/Specific/solinas64_2e255m765_6limbs/Synthesis.v
deleted file mode 100644
index 774e42cd2..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/compiler.sh b/src/Specific/solinas64_2e255m765_6limbs/compiler.sh
deleted file mode 100755
index a9c3baa23..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas64_2e255m765_6limbs/compilerxx.sh b/src/Specific/solinas64_2e255m765_6limbs/compilerxx.sh
deleted file mode 100755
index bdb0e116c..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,42,43,42,43,42}' -Dmodulus_array='{0x7f,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,0xff,0xfd,0x03}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<255) - 765' "$@"
diff --git a/src/Specific/solinas64_2e255m765_6limbs/feadd.c b/src/Specific/solinas64_2e255m765_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_6limbs/feadd.v b/src/Specific/solinas64_2e255m765_6limbs/feadd.v
deleted file mode 100644
index d6d48bc8f..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.v
deleted file mode 100644
index 9cf9aed97..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fecarry.v b/src/Specific/solinas64_2e255m765_6limbs/fecarry.v
deleted file mode 100644
index acb4e8eca..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e255m765_6limbs/fecarryDisplay.v
deleted file mode 100644
index 1d5190c75..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e255m765_6limbs/femul.c b/src/Specific/solinas64_2e255m765_6limbs/femul.c
deleted file mode 100644
index 0e0cb8e27..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x2fd * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x2fd * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x2fd * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x2fd * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x2fd * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x2b);
- { uint64_t x31 = ((uint64_t)x29 & 0x7ffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- { uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x2b);
- { uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x2a);
- { uint64_t x40 = ((uint64_t)x38 & 0x3ffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2b);
- { uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2a);
- { uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- { uint64_t x47 = (x31 + (0x2fd * x45));
- { uint64_t x48 = (x47 >> 0x2b);
- { uint64_t x49 = (x47 & 0x7ffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x2a);
- { uint64_t x52 = (x50 & 0x3ffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_6limbs/femul.v b/src/Specific/solinas64_2e255m765_6limbs/femul.v
deleted file mode 100644
index 37b9e8413..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/femulDisplay.log b/src/Specific/solinas64_2e255m765_6limbs/femulDisplay.log
deleted file mode 100644
index 1adaefd95..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x2fd * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x2fd * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x2fd * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x2fd * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x2fd * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x2b);
- uint64_t x31 = ((uint64_t)x29 & 0x7ffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x2b);
- uint64_t x37 = ((uint64_t)x35 & 0x7ffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x2a);
- uint64_t x40 = ((uint64_t)x38 & 0x3ffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x2b);
- uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x2a);
- uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- uint64_t x47 = (x31 + (0x2fd * x45));
- uint64_t x48 = (x47 >> 0x2b);
- uint64_t x49 = (x47 & 0x7ffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x2a);
- uint64_t x52 = (x50 & 0x3ffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_6limbs/femulDisplay.v b/src/Specific/solinas64_2e255m765_6limbs/femulDisplay.v
deleted file mode 100644
index b8e51db3f..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fesquare.c b/src/Specific/solinas64_2e255m765_6limbs/fesquare.c
deleted file mode 100644
index 063e8a157..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x2fd * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x2fd * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x2fd * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x2fd * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x2fd * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- { uint64_t x34 = (x18 + (0x2fd * x32));
- { uint64_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = (x34 & 0x7ffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x2a);
- { uint64_t x39 = (x37 & 0x3ffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fesquare.v b/src/Specific/solinas64_2e255m765_6limbs/fesquare.v
deleted file mode 100644
index 88bdba72f..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.log
deleted file mode 100644
index 0b5898c36..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x2fd * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x2fd * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x2fd * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x2fd * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x2fd * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x2b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x2a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x2a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- uint64_t x34 = (x18 + (0x2fd * x32));
- uint64_t x35 = (x34 >> 0x2b);
- uint64_t x36 = (x34 & 0x7ffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x2a);
- uint64_t x39 = (x37 & 0x3ffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.v
deleted file mode 100644
index b1808fff1..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fesub.c b/src/Specific/solinas64_2e255m765_6limbs/fesub.c
deleted file mode 100644
index 644fc4bfc..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0xffffffffa06 + x5) - x15);
- out[1] = ((0x7fffffffffe + x7) - x17);
- out[2] = ((0xffffffffffe + x9) - x19);
- out[3] = ((0x7fffffffffe + x11) - x21);
- out[4] = ((0xffffffffffe + x13) - x23);
- out[5] = ((0x7fffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fesub.v b/src/Specific/solinas64_2e255m765_6limbs/fesub.v
deleted file mode 100644
index bcbde607f..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.log
deleted file mode 100644
index 1b0b185f9..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x7fffffffffe + x12) - x22), ((0xffffffffffe + x13) - x23), ((0x7fffffffffe + x11) - x21), ((0xffffffffffe + x9) - x19), ((0x7fffffffffe + x7) - x17), ((0xffffffffa06 + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.v
deleted file mode 100644
index b4508830e..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e255m765_6limbs/freeze.c b/src/Specific/solinas64_2e255m765_6limbs/freeze.c
deleted file mode 100644
index 853fcdf56..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffd03);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x3ffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x7ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x7ffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x7fffffffd03);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x3ffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x7ffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x3ffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x7ffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x3ffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e255m765_6limbs/freeze.v b/src/Specific/solinas64_2e255m765_6limbs/freeze.v
deleted file mode 100644
index 83c10eeb3..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.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/solinas64_2e255m765_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.log
deleted file mode 100644
index 1e37295db..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffd03);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x3ffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x7ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x7ffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x7fffffffd03);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x3ffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x7ffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x3ffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x7ffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x3ffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.v
deleted file mode 100644
index c23f85313..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e255m765_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e255m765_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e255m765_6limbs/py_interpreter.sh
deleted file mode 100755
index 344f8e65d..000000000
--- a/src/Specific/solinas64_2e255m765_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**255 - 765' -Dmodulus_bytes='42.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m189_5limbs/CurveParameters.v b/src/Specific/solinas64_2e256m189_5limbs/CurveParameters.v
deleted file mode 100644
index 86d4cd268..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 189
-Base: 51.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 51 + 1/5;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 189)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e256m189_5limbs/Synthesis.v b/src/Specific/solinas64_2e256m189_5limbs/Synthesis.v
deleted file mode 100644
index e45a232ee..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/compiler.sh b/src/Specific/solinas64_2e256m189_5limbs/compiler.sh
deleted file mode 100755
index 7591255c7..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas64_2e256m189_5limbs/compilerxx.sh b/src/Specific/solinas64_2e256m189_5limbs/compilerxx.sh
deleted file mode 100755
index 5aaed2fc5..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas64_2e256m189_5limbs/feadd.c b/src/Specific/solinas64_2e256m189_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_5limbs/feadd.v b/src/Specific/solinas64_2e256m189_5limbs/feadd.v
deleted file mode 100644
index a03165e12..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.v
deleted file mode 100644
index eed304b2b..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fecarry.v b/src/Specific/solinas64_2e256m189_5limbs/fecarry.v
deleted file mode 100644
index bcb5eb22f..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m189_5limbs/fecarryDisplay.v
deleted file mode 100644
index 5caf6861d..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m189_5limbs/femul.c b/src/Specific/solinas64_2e256m189_5limbs/femul.c
deleted file mode 100644
index aa2dbbea0..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0xbd * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0xbd * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xbd * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0xbd * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint128_t x25 = (x24 >> 0x34);
- { uint64_t x26 = ((uint64_t)x24 & 0xfffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x33);
- { uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x33);
- { uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x33);
- { uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x33);
- { uint64_t x38 = ((uint64_t)x36 & 0x7ffffffffffff);
- { uint128_t x39 = (x26 + ((uint128_t)0xbd * x37));
- { uint64_t x40 = (uint64_t) (x39 >> 0x34);
- { uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x33);
- { uint64_t x44 = (x42 & 0x7ffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_5limbs/femul.v b/src/Specific/solinas64_2e256m189_5limbs/femul.v
deleted file mode 100644
index bfffffa3c..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/femulDisplay.log b/src/Specific/solinas64_2e256m189_5limbs/femulDisplay.log
deleted file mode 100644
index 613afda6e..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0xbd * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0xbd * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0xbd * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0xbd * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint128_t x25 = (x24 >> 0x34);
- uint64_t x26 = ((uint64_t)x24 & 0xfffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x33);
- uint64_t x29 = ((uint64_t)x27 & 0x7ffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x33);
- uint64_t x32 = ((uint64_t)x30 & 0x7ffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x33);
- uint64_t x35 = ((uint64_t)x33 & 0x7ffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x33);
- uint64_t x38 = ((uint64_t)x36 & 0x7ffffffffffff);
- uint128_t x39 = (x26 + ((uint128_t)0xbd * x37));
- uint64_t x40 = (uint64_t) (x39 >> 0x34);
- uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x33);
- uint64_t x44 = (x42 & 0x7ffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_5limbs/femulDisplay.v b/src/Specific/solinas64_2e256m189_5limbs/femulDisplay.v
deleted file mode 100644
index 84b21303c..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fesquare.c b/src/Specific/solinas64_2e256m189_5limbs/fesquare.c
deleted file mode 100644
index 7eaafeefe..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xbd * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xbd * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbd * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0xbd * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint128_t x14 = (x13 >> 0x34);
- { uint64_t x15 = ((uint64_t)x13 & 0xfffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x33);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x33);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x33);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x33);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- { uint128_t x28 = (x15 + ((uint128_t)0xbd * x26));
- { uint64_t x29 = (uint64_t) (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x33);
- { uint64_t x33 = (x31 & 0x7ffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fesquare.v b/src/Specific/solinas64_2e256m189_5limbs/fesquare.v
deleted file mode 100644
index 2a46f87c2..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.log
deleted file mode 100644
index 6084f98e3..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xbd * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xbd * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbd * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0xbd * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint128_t x14 = (x13 >> 0x34);
- uint64_t x15 = ((uint64_t)x13 & 0xfffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x33);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x33);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x33);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x33);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- uint128_t x28 = (x15 + ((uint128_t)0xbd * x26));
- uint64_t x29 = (uint64_t) (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x33);
- uint64_t x33 = (x31 & 0x7ffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.v
deleted file mode 100644
index d46eac60b..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fesub.c b/src/Specific/solinas64_2e256m189_5limbs/fesub.c
deleted file mode 100644
index 9498fba5a..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x1ffffffffffe86 + x5) - x13);
- out[1] = ((0xffffffffffffe + x7) - x15);
- out[2] = ((0xffffffffffffe + x9) - x17);
- out[3] = ((0xffffffffffffe + x11) - x19);
- out[4] = ((0xffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fesub.v b/src/Specific/solinas64_2e256m189_5limbs/fesub.v
deleted file mode 100644
index 3c31f9c41..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.log
deleted file mode 100644
index 7089f9abe..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0xffffffffffffe + x10) - x18), ((0xffffffffffffe + x11) - x19), ((0xffffffffffffe + x9) - x17), ((0xffffffffffffe + x7) - x15), ((0x1ffffffffffe86 + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.v
deleted file mode 100644
index 5602d0baa..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m189_5limbs/freeze.c b/src/Specific/solinas64_2e256m189_5limbs/freeze.c
deleted file mode 100644
index 3bf5b68f3..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff43);
- { uint64_t x13; uint8_t x14 = _subborrow_u51(x11, x4, 0x7ffffffffffff, &x13);
- { uint64_t x16; uint8_t x17 = _subborrow_u51(x14, x6, 0x7ffffffffffff, &x16);
- { uint64_t x19; uint8_t x20 = _subborrow_u51(x17, x8, 0x7ffffffffffff, &x19);
- { uint64_t x22; uint8_t x23 = _subborrow_u51(x20, x7, 0x7ffffffffffff, &x22);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xfffffffffff43);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x7ffffffffffff);
- { uint64_t x31; uint8_t x32 = _addcarryx_u51(x28, x13, x29, &x31);
- { uint64_t x33 = (x24 & 0x7ffffffffffff);
- { uint64_t x35; uint8_t x36 = _addcarryx_u51(x32, x16, x33, &x35);
- { uint64_t x37 = (x24 & 0x7ffffffffffff);
- { uint64_t x39; uint8_t x40 = _addcarryx_u51(x36, x19, x37, &x39);
- { uint64_t x41 = (x24 & 0x7ffffffffffff);
- { uint64_t x43; uint8_t _ = _addcarryx_u51(x40, x22, x41, &x43);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_5limbs/freeze.v b/src/Specific/solinas64_2e256m189_5limbs/freeze.v
deleted file mode 100644
index b2c5f0adc..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.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/solinas64_2e256m189_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.log
deleted file mode 100644
index 601faa4c7..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff43);
- uint64_t x13, uint8_t x14 = subborrow_u51(x11, x4, 0x7ffffffffffff);
- uint64_t x16, uint8_t x17 = subborrow_u51(x14, x6, 0x7ffffffffffff);
- uint64_t x19, uint8_t x20 = subborrow_u51(x17, x8, 0x7ffffffffffff);
- uint64_t x22, uint8_t x23 = subborrow_u51(x20, x7, 0x7ffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xfffffffffff43);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x7ffffffffffff);
- uint64_t x31, uint8_t x32 = addcarryx_u51(x28, x13, x29);
- uint64_t x33 = (x24 & 0x7ffffffffffff);
- uint64_t x35, uint8_t x36 = addcarryx_u51(x32, x16, x33);
- uint64_t x37 = (x24 & 0x7ffffffffffff);
- uint64_t x39, uint8_t x40 = addcarryx_u51(x36, x19, x37);
- uint64_t x41 = (x24 & 0x7ffffffffffff);
- uint64_t x43, uint8_t _ = addcarryx_u51(x40, x22, x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.v
deleted file mode 100644
index f0cc739b2..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m189_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m189_5limbs/py_interpreter.sh
deleted file mode 100755
index 6da421d25..000000000
--- a/src/Specific/solinas64_2e256m189_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 189' -Dmodulus_bytes='51.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m189_6limbs/CurveParameters.v b/src/Specific/solinas64_2e256m189_6limbs/CurveParameters.v
deleted file mode 100644
index 5474b61d9..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 189
-Base: 42 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 42 + 2/3;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 189)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e256m189_6limbs/Synthesis.v b/src/Specific/solinas64_2e256m189_6limbs/Synthesis.v
deleted file mode 100644
index c2218076b..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/compiler.sh b/src/Specific/solinas64_2e256m189_6limbs/compiler.sh
deleted file mode 100755
index 865c43846..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas64_2e256m189_6limbs/compilerxx.sh b/src/Specific/solinas64_2e256m189_6limbs/compilerxx.sh
deleted file mode 100755
index 50b1a73df..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0x43}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - 189' "$@"
diff --git a/src/Specific/solinas64_2e256m189_6limbs/feadd.c b/src/Specific/solinas64_2e256m189_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_6limbs/feadd.v b/src/Specific/solinas64_2e256m189_6limbs/feadd.v
deleted file mode 100644
index 41fe92cc7..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.v
deleted file mode 100644
index 2d7a86a2f..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fecarry.v b/src/Specific/solinas64_2e256m189_6limbs/fecarry.v
deleted file mode 100644
index 5b9c602cf..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m189_6limbs/fecarryDisplay.v
deleted file mode 100644
index 3e71f6e64..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m189_6limbs/femul.c b/src/Specific/solinas64_2e256m189_6limbs/femul.c
deleted file mode 100644
index eeb119f7d..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((0x2 * ((uint128_t)x9 * x19)) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0xbd * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + (0xbd * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0xbd * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0xbd * ((0x2 * ((uint128_t)x9 * x22)) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (0x2 * ((uint128_t)x12 * x19)))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0xbd * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x2b);
- { uint64_t x31 = ((uint64_t)x29 & 0x7ffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2b);
- { uint64_t x34 = ((uint64_t)x32 & 0x7ffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x2a);
- { uint64_t x37 = ((uint64_t)x35 & 0x3ffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x2b);
- { uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2b);
- { uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2a);
- { uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- { uint64_t x47 = (x31 + (0xbd * x45));
- { uint64_t x48 = (x47 >> 0x2b);
- { uint64_t x49 = (x47 & 0x7ffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x2b);
- { uint64_t x52 = (x50 & 0x7ffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_6limbs/femul.v b/src/Specific/solinas64_2e256m189_6limbs/femul.v
deleted file mode 100644
index 7dfc68975..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/femulDisplay.log b/src/Specific/solinas64_2e256m189_6limbs/femulDisplay.log
deleted file mode 100644
index 5147bd4a8..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((0x2 * ((uint128_t)x9 * x19)) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0xbd * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + (0xbd * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0xbd * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0xbd * ((0x2 * ((uint128_t)x9 * x22)) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (0x2 * ((uint128_t)x12 * x19)))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0xbd * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x2b);
- uint64_t x31 = ((uint64_t)x29 & 0x7ffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x2b);
- uint64_t x34 = ((uint64_t)x32 & 0x7ffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x2a);
- uint64_t x37 = ((uint64_t)x35 & 0x3ffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x2b);
- uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x2b);
- uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x2a);
- uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- uint64_t x47 = (x31 + (0xbd * x45));
- uint64_t x48 = (x47 >> 0x2b);
- uint64_t x49 = (x47 & 0x7ffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x2b);
- uint64_t x52 = (x50 & 0x7ffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_6limbs/femulDisplay.v b/src/Specific/solinas64_2e256m189_6limbs/femulDisplay.v
deleted file mode 100644
index 208441658..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fesquare.c b/src/Specific/solinas64_2e256m189_6limbs/fesquare.c
deleted file mode 100644
index b5f9dabbf..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xbd * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xbd * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbd * ((0x2 * ((uint128_t)x6 * x9)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (0x2 * ((uint128_t)x9 * x6)))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0xbd * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- { uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- { uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2b);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- { uint64_t x34 = (x18 + (0xbd * x32));
- { uint64_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = (x34 & 0x7ffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x2b);
- { uint64_t x39 = (x37 & 0x7ffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fesquare.v b/src/Specific/solinas64_2e256m189_6limbs/fesquare.v
deleted file mode 100644
index 47b683f1c..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.log
deleted file mode 100644
index c679ff673..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xbd * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xbd * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbd * ((0x2 * ((uint128_t)x6 * x9)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (0x2 * ((uint128_t)x9 * x6)))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0xbd * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x2b);
- uint64_t x18 = ((uint64_t)x16 & 0x7ffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x2b);
- uint64_t x21 = ((uint64_t)x19 & 0x7ffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x2b);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x2b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x2a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- uint64_t x34 = (x18 + (0xbd * x32));
- uint64_t x35 = (x34 >> 0x2b);
- uint64_t x36 = (x34 & 0x7ffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x2b);
- uint64_t x39 = (x37 & 0x7ffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.v
deleted file mode 100644
index 4f13c5218..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fesub.c b/src/Specific/solinas64_2e256m189_6limbs/fesub.c
deleted file mode 100644
index eac8fdfb0..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0xffffffffe86 + x5) - x15);
- out[1] = ((0xffffffffffe + x7) - x17);
- out[2] = ((0x7fffffffffe + x9) - x19);
- out[3] = ((0xffffffffffe + x11) - x21);
- out[4] = ((0xffffffffffe + x13) - x23);
- out[5] = ((0x7fffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fesub.v b/src/Specific/solinas64_2e256m189_6limbs/fesub.v
deleted file mode 100644
index 09924afa2..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.log
deleted file mode 100644
index 9c0e49430..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x7fffffffffe + x12) - x22), ((0xffffffffffe + x13) - x23), ((0xffffffffffe + x11) - x21), ((0x7fffffffffe + x9) - x19), ((0xffffffffffe + x7) - x17), ((0xffffffffe86 + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.v
deleted file mode 100644
index 7c9fdabe9..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m189_6limbs/freeze.c b/src/Specific/solinas64_2e256m189_6limbs/freeze.c
deleted file mode 100644
index 94087a5a2..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffff43);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7ffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x7ffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x7ffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x7ffffffff43);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x7ffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x3ffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x7ffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x7ffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x3ffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m189_6limbs/freeze.v b/src/Specific/solinas64_2e256m189_6limbs/freeze.v
deleted file mode 100644
index bf9c17f73..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.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/solinas64_2e256m189_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.log
deleted file mode 100644
index 82b48d52a..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffff43);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7ffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x7ffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x7ffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x7ffffffff43);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x7ffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x3ffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x7ffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x7ffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x3ffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.v
deleted file mode 100644
index 0ba10ba65..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m189_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m189_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m189_6limbs/py_interpreter.sh
deleted file mode 100755
index 942f8d764..000000000
--- a/src/Specific/solinas64_2e256m189_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 189' -Dmodulus_bytes='42 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/CurveParameters.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/CurveParameters.v
deleted file mode 100644
index 36bcac59d..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^224 + 2^192 + 2^96 - 1
-Base: 51.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 51 + 1/5;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := Some [[3; 2; 0; 4]; [4; 3; 1; 0; 2]; [4; 3; 1; 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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/Synthesis.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/Synthesis.v
deleted file mode 100644
index deb5c225d..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/compiler.sh b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/compiler.sh
deleted file mode 100755
index bba022f1e..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/compilerxx.sh b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/compilerxx.sh
deleted file mode 100755
index 25318ed30..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.c b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.v
deleted file mode 100644
index 4e0dbfc51..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.v
deleted file mode 100644
index c16c930d6..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarry.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarry.v
deleted file mode 100644
index 6af9c210b..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarryDisplay.v
deleted file mode 100644
index 69390f956..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femul.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femul.v
deleted file mode 100644
index 65a39b396..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femulDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femulDisplay.v
deleted file mode 100644
index bd3aad397..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquare.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquare.v
deleted file mode 100644
index 48887f8fd..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquareDisplay.v
deleted file mode 100644
index 9e68ebde4..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesub.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesub.v
deleted file mode 100644
index db1988e53..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesubDisplay.v
deleted file mode 100644
index 571983faa..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.c b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.c
deleted file mode 100644
index b5d95bd90..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.c
+++ /dev/null
@@ -1,28 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffff);
- { uint64_t x13; ℤ x14 = _subborrow_u51ℤ(x11, x4, 0xfffffffffff, &x13);
- { uint64_t x16; ℤ x17 = _subborrow_u51ℤ(x14, x6, 0x0, &x16);
- { uint64_t x19; ℤ x20 = _subborrow_u51ℤ(x17, x8, 0x4000000000, &x19);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 51 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffff80000);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0xfffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0xfffffffffff);
- { uint64_t x31; uint8_t x32 = _addcarryx_u51(x28, x13, x29, &x31);
- { uint64_t x34; uint8_t x35 = _addcarryx_u51(x32, x16, 0x0, &x34);
- { uint64_t x36 = (x24 & 0x4000000000);
- { uint64_t x38; uint8_t x39 = _addcarryx_u51(x35, x19, x36, &x38);
- { uint64_t x40 = (x24 & 0x7fffffff80000);
- { uint64_t x42; uint8_t _ = _addcarryx_u51(x39, x22, x40, &x42);
- out[0] = x27;
- out[1] = x31;
- out[2] = x34;
- out[3] = x38;
- out[4] = x42;
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.v
deleted file mode 100644
index e6fadc212..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.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/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.log
deleted file mode 100644
index f5f1f30bc..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,22 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffff);
- uint64_t x13, ℤ x14 = subborrow_u51ℤ(x11, x4, 0xfffffffffff);
- uint64_t x16, ℤ x17 = subborrow_u51ℤ(x14, x6, 0x0);
- uint64_t x19, ℤ x20 = subborrow_u51ℤ(x17, x8, 0x4000000000);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 51 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x7fffffff80000);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0xfffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0xfffffffffff);
- uint64_t x31, uint8_t x32 = addcarryx_u51(x28, x13, x29);
- uint64_t x34, uint8_t x35 = addcarryx_u51(x32, x16, 0x0);
- uint64_t x36 = (x24 & 0x4000000000);
- uint64_t x38, uint8_t x39 = addcarryx_u51(x35, x19, x36);
- uint64_t x40 = (x24 & 0x7fffffff80000);
- uint64_t x42, uint8_t _ = addcarryx_u51(x39, x22, x40);
- (Return x42, Return x38, Return x34, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.v
deleted file mode 100644
index 316129c19..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/py_interpreter.sh
deleted file mode 100755
index 4d329b161..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**224 + 2**192 + 2**96 - 1' -Dmodulus_bytes='51.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/CurveParameters.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/CurveParameters.v
deleted file mode 100644
index 9b731d455..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^224 + 2^192 + 2^96 - 1
-Base: 42 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 42 + 2/3;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 1); (2^96, -1); (2^192, -1); (2^224, 1)];
- carry_chains := Some [[4; 3; 1; 5]; [5; 4; 2; 0; 3; 1]; [5; 4; 2; 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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/Synthesis.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/Synthesis.v
deleted file mode 100644
index f0a76995c..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/compiler.sh b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/compiler.sh
deleted file mode 100755
index add375394..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/compilerxx.sh b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/compilerxx.sh
deleted file mode 100755
index a0bc52e0a..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -Dmodulus_array='{0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<224) + (1_mpz<<192) + (1_mpz<<96) - 1' "$@"
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.c b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.v
deleted file mode 100644
index dad111164..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.v
deleted file mode 100644
index 509c73771..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarry.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarry.v
deleted file mode 100644
index 34d2dbb1b..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarryDisplay.v
deleted file mode 100644
index 1446189e7..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femul.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femul.v
deleted file mode 100644
index 067ce9974..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femulDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femulDisplay.v
deleted file mode 100644
index 1caf1d4d5..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquare.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquare.v
deleted file mode 100644
index b28e33170..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquareDisplay.v
deleted file mode 100644
index 2a23d1549..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesub.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesub.v
deleted file mode 100644
index fa91688ee..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesubDisplay.v
deleted file mode 100644
index a44dab14e..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.c b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.c
deleted file mode 100644
index 0ef08aaf2..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7ffffffffff);
- { uint64_t x18, ℤ x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (Return x16, Return x6, 0x3ff);
- { uint64_t x21, ℤ x22 = Op (Syntax.SubWithGetBorrow 43 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x19, Return x8, 0x0);
- { uint64_t x24, ℤ x25 = Op (Syntax.SubWithGetBorrow 43 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (Return x22, Return x10, 0x200000);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3fffffffc00);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x7ffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x7ffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x3ff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x43, uint8_t x44 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, 0x0);
- { uint64_t x45 = (x29 & 0x200000);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x24, Return x45);
- { uint64_t x49 = (x29 & 0x3fffffffc00);
- { uint64_t x51, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x27, Return x49);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x43;
- out[4] = x47;
- out[5] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.v
deleted file mode 100644
index e83e02d57..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.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/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.log
deleted file mode 100644
index a5b7e39c8..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,25 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffff);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7ffffffffff);
- uint64_t x18, ℤ x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (Return x16, Return x6, 0x3ff);
- uint64_t x21, ℤ x22 = Op (Syntax.SubWithGetBorrow 43 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x19, Return x8, 0x0);
- uint64_t x24, ℤ x25 = Op (Syntax.SubWithGetBorrow 43 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (Return x22, Return x10, 0x200000);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3fffffffc00);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x7ffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x7ffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x3ff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x43, uint8_t x44 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, 0x0);
- uint64_t x45 = (x29 & 0x200000);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x24, Return x45);
- uint64_t x49 = (x29 & 0x3fffffffc00);
- uint64_t x51, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x27, Return x49);
- (Return x51, Return x47, Return x43, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.v
deleted file mode 100644
index e9dafcd16..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e224p2e192p2e96m1_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/py_interpreter.sh
deleted file mode 100755
index e08cc3e90..000000000
--- a/src/Specific/solinas64_2e256m2e224p2e192p2e96m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**224 + 2**192 + 2**96 - 1' -Dmodulus_bytes='42 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/CurveParameters.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/CurveParameters.v
deleted file mode 100644
index a3bdfe9e6..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^32 - 977
-Base: 42 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 42 + 2/3;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 977); (2^32, 1)];
- carry_chains := Some [[5; 5]; [0; 1; 2; 3; 4]; [0; 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/solinas64_2e256m2e32m977_6limbs/Synthesis.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/Synthesis.v
deleted file mode 100644
index c54003e51..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/compiler.sh b/src/Specific/solinas64_2e256m2e32m977_6limbs/compiler.sh
deleted file mode 100755
index 70fb79d12..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/compilerxx.sh b/src/Specific/solinas64_2e256m2e32m977_6limbs/compilerxx.sh
deleted file mode 100755
index c536a69bc..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.c b/src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.v
deleted file mode 100644
index d8032dd5b..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.v
deleted file mode 100644
index 24b4c5165..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fecarry.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/fecarry.v
deleted file mode 100644
index 812a72ee0..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/fecarryDisplay.v
deleted file mode 100644
index 6d9338205..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/femul.c b/src/Specific/solinas64_2e256m2e32m977_6limbs/femul.c
deleted file mode 100644
index cd2d8e297..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/femul.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((0x2 * ((uint128_t)x9 * x19)) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + ((0x3d1 * (0x2 * ((uint128_t)x12 * x22))) + (0x100000000 * (0x2 * ((uint128_t)x12 * x22)))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + ((0x3d1 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))) + (0x100000000 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23))))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + ((0x3d1 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))) + (0x100000000 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + ((0x3d1 * ((0x2 * ((uint128_t)x9 * x22)) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (0x2 * ((uint128_t)x12 * x19)))))) + (0x100000000 * ((0x2 * ((uint128_t)x9 * x22)) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (0x2 * ((uint128_t)x12 * x19))))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + ((0x3d1 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))) + (0x100000000 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17)))))))));
- { uint64_t x30 = (uint64_t) (x24 >> 0x2a);
- { uint64_t x31 = ((uint64_t)x24 & 0x3ffffffffff);
- { uint128_t x32 = (((uint128_t)0x40000000000 * x30) + x31);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- { uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- { uint128_t x35 = (((uint128_t)0x40000000000 * x33) + x34);
- { uint64_t x36 = (uint64_t) (x35 >> 0x2a);
- { uint64_t x37 = ((uint64_t)x35 & 0x3ffffffffff);
- { uint128_t x38 = (x29 + ((0x3d1 * x36) + ((uint128_t)0x100000000 * x36)));
- { uint128_t x39 = (x38 >> 0x2b);
- { uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffff);
- { uint128_t x41 = (x39 + x28);
- { uint128_t x42 = (x41 >> 0x2b);
- { uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- { uint128_t x44 = (x42 + x27);
- { uint128_t x45 = (x44 >> 0x2a);
- { uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- { uint128_t x47 = (x45 + x26);
- { uint128_t x48 = (x47 >> 0x2b);
- { uint64_t x49 = ((uint64_t)x47 & 0x7ffffffffff);
- { uint128_t x50 = (x48 + x25);
- { uint128_t x51 = (x50 >> 0x2b);
- { uint64_t x52 = ((uint64_t)x50 & 0x7ffffffffff);
- { uint128_t x53 = (x51 + x37);
- { uint64_t x54 = (uint64_t) (x53 >> 0x2a);
- { uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffff);
- { uint128_t x56 = (x40 + ((0x3d1 * x54) + ((uint128_t)0x100000000 * x54)));
- { uint64_t x57 = (uint64_t) (x56 >> 0x2b);
- { uint64_t x58 = ((uint64_t)x56 & 0x7ffffffffff);
- { uint64_t x59 = (x58 >> 0x2b);
- { uint64_t x60 = (x58 & 0x7ffffffffff);
- out[0] = x60;
- out[1] = (x59 + (x57 + x43));
- out[2] = x46;
- out[3] = x49;
- out[4] = x52;
- out[5] = x55;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/femul.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/femul.v
deleted file mode 100644
index 3c1b140bf..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/femulDisplay.log b/src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.log
deleted file mode 100644
index acddfec0b..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((0x2 * ((uint128_t)x9 * x19)) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + ((0x3d1 * (0x2 * ((uint128_t)x12 * x22))) + (0x100000000 * (0x2 * ((uint128_t)x12 * x22)))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + ((0x3d1 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))) + (0x100000000 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23))))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + ((0x3d1 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))) + (0x100000000 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + ((0x3d1 * ((0x2 * ((uint128_t)x9 * x22)) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (0x2 * ((uint128_t)x12 * x19)))))) + (0x100000000 * ((0x2 * ((uint128_t)x9 * x22)) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (0x2 * ((uint128_t)x12 * x19))))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + ((0x3d1 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))) + (0x100000000 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17)))))))));
- uint64_t x30 = (uint64_t) (x24 >> 0x2a);
- uint64_t x31 = ((uint64_t)x24 & 0x3ffffffffff);
- uint128_t x32 = (((uint128_t)0x40000000000 * x30) + x31);
- uint64_t x33 = (uint64_t) (x32 >> 0x2a);
- uint64_t x34 = ((uint64_t)x32 & 0x3ffffffffff);
- uint128_t x35 = (((uint128_t)0x40000000000 * x33) + x34);
- uint64_t x36 = (uint64_t) (x35 >> 0x2a);
- uint64_t x37 = ((uint64_t)x35 & 0x3ffffffffff);
- uint128_t x38 = (x29 + ((0x3d1 * x36) + ((uint128_t)0x100000000 * x36)));
- uint128_t x39 = (x38 >> 0x2b);
- uint64_t x40 = ((uint64_t)x38 & 0x7ffffffffff);
- uint128_t x41 = (x39 + x28);
- uint128_t x42 = (x41 >> 0x2b);
- uint64_t x43 = ((uint64_t)x41 & 0x7ffffffffff);
- uint128_t x44 = (x42 + x27);
- uint128_t x45 = (x44 >> 0x2a);
- uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffff);
- uint128_t x47 = (x45 + x26);
- uint128_t x48 = (x47 >> 0x2b);
- uint64_t x49 = ((uint64_t)x47 & 0x7ffffffffff);
- uint128_t x50 = (x48 + x25);
- uint128_t x51 = (x50 >> 0x2b);
- uint64_t x52 = ((uint64_t)x50 & 0x7ffffffffff);
- uint128_t x53 = (x51 + x37);
- uint64_t x54 = (uint64_t) (x53 >> 0x2a);
- uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffff);
- uint128_t x56 = (x40 + ((0x3d1 * x54) + ((uint128_t)0x100000000 * x54)));
- uint64_t x57 = (uint64_t) (x56 >> 0x2b);
- uint64_t x58 = ((uint64_t)x56 & 0x7ffffffffff);
- uint64_t x59 = (x58 >> 0x2b);
- uint64_t x60 = (x58 & 0x7ffffffffff);
- return (Return x55, Return x52, Return x49, Return x46, (x59 + (x57 + x43)), Return x60))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.v
deleted file mode 100644
index 00ebfd5e2..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.c b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.c
deleted file mode 100644
index e4d24df18..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.c
+++ /dev/null
@@ -1,52 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + ((0x3d1 * (0x2 * ((uint128_t)x9 * x9))) + (0x100000000 * (0x2 * ((uint128_t)x9 * x9)))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))) + (0x100000000 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10))))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + ((0x3d1 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))) + (0x100000000 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((0x3d1 * ((0x2 * ((uint128_t)x6 * x9)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (0x2 * ((uint128_t)x9 * x6)))))) + (0x100000000 * ((0x2 * ((uint128_t)x6 * x9)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (0x2 * ((uint128_t)x9 * x6))))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + ((0x3d1 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))) + (0x100000000 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4)))))))));
- { uint64_t x17 = (uint64_t) (x11 >> 0x2a);
- { uint64_t x18 = ((uint64_t)x11 & 0x3ffffffffff);
- { uint128_t x19 = (((uint128_t)0x40000000000 * x17) + x18);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- { uint128_t x22 = (((uint128_t)0x40000000000 * x20) + x21);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- { uint128_t x25 = (x16 + ((0x3d1 * x23) + ((uint128_t)0x100000000 * x23)));
- { uint128_t x26 = (x25 >> 0x2b);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffff);
- { uint128_t x28 = (x26 + x15);
- { uint128_t x29 = (x28 >> 0x2b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- { uint128_t x31 = (x29 + x14);
- { uint128_t x32 = (x31 >> 0x2a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- { uint128_t x34 = (x32 + x13);
- { uint128_t x35 = (x34 >> 0x2b);
- { uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffff);
- { uint128_t x37 = (x35 + x12);
- { uint128_t x38 = (x37 >> 0x2b);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2a);
- { uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffff);
- { uint128_t x43 = (x27 + ((0x3d1 * x41) + ((uint128_t)0x100000000 * x41)));
- { uint64_t x44 = (uint64_t) (x43 >> 0x2b);
- { uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffff);
- { uint64_t x46 = (x45 >> 0x2b);
- { uint64_t x47 = (x45 & 0x7ffffffffff);
- out[0] = x47;
- out[1] = (x46 + (x44 + x30));
- out[2] = x33;
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.v
deleted file mode 100644
index 5a76a5ea1..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.log
deleted file mode 100644
index f9b2d40b2..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + ((0x3d1 * (0x2 * ((uint128_t)x9 * x9))) + (0x100000000 * (0x2 * ((uint128_t)x9 * x9)))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))) + (0x100000000 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10))))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + ((0x3d1 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))) + (0x100000000 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((0x3d1 * ((0x2 * ((uint128_t)x6 * x9)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (0x2 * ((uint128_t)x9 * x6)))))) + (0x100000000 * ((0x2 * ((uint128_t)x6 * x9)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (0x2 * ((uint128_t)x9 * x6))))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + ((0x3d1 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))) + (0x100000000 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4)))))))));
- uint64_t x17 = (uint64_t) (x11 >> 0x2a);
- uint64_t x18 = ((uint64_t)x11 & 0x3ffffffffff);
- uint128_t x19 = (((uint128_t)0x40000000000 * x17) + x18);
- uint64_t x20 = (uint64_t) (x19 >> 0x2a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffff);
- uint128_t x22 = (((uint128_t)0x40000000000 * x20) + x21);
- uint64_t x23 = (uint64_t) (x22 >> 0x2a);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffff);
- uint128_t x25 = (x16 + ((0x3d1 * x23) + ((uint128_t)0x100000000 * x23)));
- uint128_t x26 = (x25 >> 0x2b);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffff);
- uint128_t x28 = (x26 + x15);
- uint128_t x29 = (x28 >> 0x2b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffff);
- uint128_t x31 = (x29 + x14);
- uint128_t x32 = (x31 >> 0x2a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffff);
- uint128_t x34 = (x32 + x13);
- uint128_t x35 = (x34 >> 0x2b);
- uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffff);
- uint128_t x37 = (x35 + x12);
- uint128_t x38 = (x37 >> 0x2b);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffff);
- uint128_t x40 = (x38 + x24);
- uint64_t x41 = (uint64_t) (x40 >> 0x2a);
- uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffff);
- uint128_t x43 = (x27 + ((0x3d1 * x41) + ((uint128_t)0x100000000 * x41)));
- uint64_t x44 = (uint64_t) (x43 >> 0x2b);
- uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffff);
- uint64_t x46 = (x45 >> 0x2b);
- uint64_t x47 = (x45 & 0x7ffffffffff);
- return (Return x42, Return x39, Return x36, Return x33, (x46 + (x44 + x30)), Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.v
deleted file mode 100644
index 18a0a8018..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.c b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.c
deleted file mode 100644
index 28c2d87f6..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0xffdfffff85e + x5) - x15);
- out[1] = ((0xffffffffffe + x7) - x17);
- out[2] = ((0x7fffffffffe + x9) - x19);
- out[3] = ((0xffffffffffe + x11) - x21);
- out[4] = ((0xffffffffffe + x13) - x23);
- out[5] = ((0x7fffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.v
deleted file mode 100644
index 9e5cd0b10..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.log
deleted file mode 100644
index 28c8be4d1..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x7fffffffffe + x12) - x22), ((0xffffffffffe + x13) - x23), ((0xffffffffffe + x11) - x21), ((0x7fffffffffe + x9) - x19), ((0xffffffffffe + x7) - x17), ((0xffdfffff85e + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.v
deleted file mode 100644
index b754c9885..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.c b/src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.c
deleted file mode 100644
index e6291c3cb..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fefffffc2f);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7ffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x7ffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x7ffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x7fefffffc2f);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x7ffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x3ffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x7ffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x7ffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x3ffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.v
deleted file mode 100644
index e01bbad98..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.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/solinas64_2e256m2e32m977_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.log
deleted file mode 100644
index af6256cda..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fefffffc2f);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7ffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3ffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x7ffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x7ffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x3ffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x7fefffffc2f);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x7ffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x3ffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x7ffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x7ffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x3ffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.v
deleted file mode 100644
index 1d42d86bf..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m2e32m977_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m2e32m977_6limbs/py_interpreter.sh
deleted file mode 100755
index 67b8b2a0d..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**32 - 977' -Dmodulus_bytes='42 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/CurveParameters.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/CurveParameters.v
deleted file mode 100644
index c788af8e6..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 2^32 - 977
-Base: 36 + 4/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 36 + 4/7;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 977); (2^32, 1)];
- carry_chains := Some [[6; 6]; [0; 1; 2; 3; 4; 5]; [0; 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/solinas64_2e256m2e32m977_7limbs/Synthesis.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/Synthesis.v
deleted file mode 100644
index 343dbfc90..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/compiler.sh b/src/Specific/solinas64_2e256m2e32m977_7limbs/compiler.sh
deleted file mode 100755
index 2d4964b8a..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{37,37,36,37,36,37,36}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/compilerxx.sh b/src/Specific/solinas64_2e256m2e32m977_7limbs/compilerxx.sh
deleted file mode 100755
index 9940ba5a8..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{37,37,36,37,36,37,36}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<256) - (1_mpz<<32) - 977' "$@"
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.c b/src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.v
deleted file mode 100644
index 0efc53ecd..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.v
deleted file mode 100644
index 72735b6b3..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fecarry.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/fecarry.v
deleted file mode 100644
index a2d3f7e50..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/fecarryDisplay.v
deleted file mode 100644
index 2a0eb3b18..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/femul.c b/src/Specific/solinas64_2e256m2e32m977_7limbs/femul.c
deleted file mode 100644
index 9944c28fa..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/femul.c
+++ /dev/null
@@ -1,65 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + ((0x3d1 * (0x2 * ((uint128_t)x14 * x26))) + (0x100000000 * (0x2 * ((uint128_t)x14 * x26)))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((0x2 * ((uint128_t)x9 * x21)) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + ((0x3d1 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))) + (0x100000000 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + ((0x3d1 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25))))) + (0x100000000 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25)))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + ((0x3d1 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))) + (0x100000000 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + ((0x3d1 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21))))))) + (0x100000000 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21)))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + ((0x3d1 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))) + (0x100000000 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19))))))))));
- { uint64_t x35 = (uint64_t) (x28 >> 0x24);
- { uint64_t x36 = ((uint64_t)x28 & 0xfffffffff);
- { uint128_t x37 = (((uint128_t)0x1000000000 * x35) + x36);
- { uint64_t x38 = (uint64_t) (x37 >> 0x24);
- { uint64_t x39 = ((uint64_t)x37 & 0xfffffffff);
- { uint128_t x40 = (((uint128_t)0x1000000000 * x38) + x39);
- { uint64_t x41 = (uint64_t) (x40 >> 0x24);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffffff);
- { uint128_t x43 = (x34 + ((0x3d1 * x41) + ((uint128_t)0x100000000 * x41)));
- { uint128_t x44 = (x43 >> 0x25);
- { uint64_t x45 = ((uint64_t)x43 & 0x1fffffffff);
- { uint128_t x46 = (x44 + x33);
- { uint128_t x47 = (x46 >> 0x25);
- { uint64_t x48 = ((uint64_t)x46 & 0x1fffffffff);
- { uint128_t x49 = (x47 + x32);
- { uint128_t x50 = (x49 >> 0x24);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffffff);
- { uint128_t x52 = (x50 + x31);
- { uint128_t x53 = (x52 >> 0x25);
- { uint64_t x54 = ((uint64_t)x52 & 0x1fffffffff);
- { uint128_t x55 = (x53 + x30);
- { uint128_t x56 = (x55 >> 0x24);
- { uint64_t x57 = ((uint64_t)x55 & 0xfffffffff);
- { uint128_t x58 = (x56 + x29);
- { uint128_t x59 = (x58 >> 0x25);
- { uint64_t x60 = ((uint64_t)x58 & 0x1fffffffff);
- { uint128_t x61 = (x59 + x42);
- { uint64_t x62 = (uint64_t) (x61 >> 0x24);
- { uint64_t x63 = ((uint64_t)x61 & 0xfffffffff);
- { uint128_t x64 = (x45 + ((0x3d1 * x62) + ((uint128_t)0x100000000 * x62)));
- { uint64_t x65 = (uint64_t) (x64 >> 0x25);
- { uint64_t x66 = ((uint64_t)x64 & 0x1fffffffff);
- { uint64_t x67 = (x66 >> 0x25);
- { uint64_t x68 = (x66 & 0x1fffffffff);
- out[0] = x68;
- out[1] = (x67 + (x65 + x48));
- out[2] = x51;
- out[3] = x54;
- out[4] = x57;
- out[5] = x60;
- out[6] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/femul.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/femul.v
deleted file mode 100644
index 7abe8275e..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/femulDisplay.log b/src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.log
deleted file mode 100644
index f6c19c1ac..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + ((0x3d1 * (0x2 * ((uint128_t)x14 * x26))) + (0x100000000 * (0x2 * ((uint128_t)x14 * x26)))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((0x2 * ((uint128_t)x9 * x21)) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + ((0x3d1 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))) + (0x100000000 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + ((0x3d1 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25))))) + (0x100000000 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25)))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + ((0x3d1 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))) + (0x100000000 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + ((0x3d1 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21))))))) + (0x100000000 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21)))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + ((0x3d1 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))) + (0x100000000 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19))))))))));
- uint64_t x35 = (uint64_t) (x28 >> 0x24);
- uint64_t x36 = ((uint64_t)x28 & 0xfffffffff);
- uint128_t x37 = (((uint128_t)0x1000000000 * x35) + x36);
- uint64_t x38 = (uint64_t) (x37 >> 0x24);
- uint64_t x39 = ((uint64_t)x37 & 0xfffffffff);
- uint128_t x40 = (((uint128_t)0x1000000000 * x38) + x39);
- uint64_t x41 = (uint64_t) (x40 >> 0x24);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffffff);
- uint128_t x43 = (x34 + ((0x3d1 * x41) + ((uint128_t)0x100000000 * x41)));
- uint128_t x44 = (x43 >> 0x25);
- uint64_t x45 = ((uint64_t)x43 & 0x1fffffffff);
- uint128_t x46 = (x44 + x33);
- uint128_t x47 = (x46 >> 0x25);
- uint64_t x48 = ((uint64_t)x46 & 0x1fffffffff);
- uint128_t x49 = (x47 + x32);
- uint128_t x50 = (x49 >> 0x24);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffffff);
- uint128_t x52 = (x50 + x31);
- uint128_t x53 = (x52 >> 0x25);
- uint64_t x54 = ((uint64_t)x52 & 0x1fffffffff);
- uint128_t x55 = (x53 + x30);
- uint128_t x56 = (x55 >> 0x24);
- uint64_t x57 = ((uint64_t)x55 & 0xfffffffff);
- uint128_t x58 = (x56 + x29);
- uint128_t x59 = (x58 >> 0x25);
- uint64_t x60 = ((uint64_t)x58 & 0x1fffffffff);
- uint128_t x61 = (x59 + x42);
- uint64_t x62 = (uint64_t) (x61 >> 0x24);
- uint64_t x63 = ((uint64_t)x61 & 0xfffffffff);
- uint128_t x64 = (x45 + ((0x3d1 * x62) + ((uint128_t)0x100000000 * x62)));
- uint64_t x65 = (uint64_t) (x64 >> 0x25);
- uint64_t x66 = ((uint64_t)x64 & 0x1fffffffff);
- uint64_t x67 = (x66 >> 0x25);
- uint64_t x68 = (x66 & 0x1fffffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, (x67 + (x65 + x48)), Return x68))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.v
deleted file mode 100644
index 6a99ddf06..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.c b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.c
deleted file mode 100644
index 933c13201..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.c
+++ /dev/null
@@ -1,58 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + ((0x3d1 * (0x2 * ((uint128_t)x11 * x11))) + (0x100000000 * (0x2 * ((uint128_t)x11 * x11)))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + ((0x3d1 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))) + (0x100000000 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10))))) + (0x100000000 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10)))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + ((0x3d1 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))) + (0x100000000 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((0x3d1 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6))))))) + (0x100000000 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6)))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + ((0x3d1 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))) + (0x100000000 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4))))))))));
- { uint64_t x20 = (uint64_t) (x13 >> 0x24);
- { uint64_t x21 = ((uint64_t)x13 & 0xfffffffff);
- { uint128_t x22 = (((uint128_t)0x1000000000 * x20) + x21);
- { uint64_t x23 = (uint64_t) (x22 >> 0x24);
- { uint64_t x24 = ((uint64_t)x22 & 0xfffffffff);
- { uint128_t x25 = (((uint128_t)0x1000000000 * x23) + x24);
- { uint64_t x26 = (uint64_t) (x25 >> 0x24);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffff);
- { uint128_t x28 = (x19 + ((0x3d1 * x26) + ((uint128_t)0x100000000 * x26)));
- { uint128_t x29 = (x28 >> 0x25);
- { uint64_t x30 = ((uint64_t)x28 & 0x1fffffffff);
- { uint128_t x31 = (x29 + x18);
- { uint128_t x32 = (x31 >> 0x25);
- { uint64_t x33 = ((uint64_t)x31 & 0x1fffffffff);
- { uint128_t x34 = (x32 + x17);
- { uint128_t x35 = (x34 >> 0x24);
- { uint64_t x36 = ((uint64_t)x34 & 0xfffffffff);
- { uint128_t x37 = (x35 + x16);
- { uint128_t x38 = (x37 >> 0x25);
- { uint64_t x39 = ((uint64_t)x37 & 0x1fffffffff);
- { uint128_t x40 = (x38 + x15);
- { uint128_t x41 = (x40 >> 0x24);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffffff);
- { uint128_t x43 = (x41 + x14);
- { uint128_t x44 = (x43 >> 0x25);
- { uint64_t x45 = ((uint64_t)x43 & 0x1fffffffff);
- { uint128_t x46 = (x44 + x27);
- { uint64_t x47 = (uint64_t) (x46 >> 0x24);
- { uint64_t x48 = ((uint64_t)x46 & 0xfffffffff);
- { uint128_t x49 = (x30 + ((0x3d1 * x47) + ((uint128_t)0x100000000 * x47)));
- { uint64_t x50 = (uint64_t) (x49 >> 0x25);
- { uint64_t x51 = ((uint64_t)x49 & 0x1fffffffff);
- { uint64_t x52 = (x51 >> 0x25);
- { uint64_t x53 = (x51 & 0x1fffffffff);
- out[0] = x53;
- out[1] = (x52 + (x50 + x33));
- out[2] = x36;
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.v
deleted file mode 100644
index fbb472214..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.log
deleted file mode 100644
index b2b03e238..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + ((0x3d1 * (0x2 * ((uint128_t)x11 * x11))) + (0x100000000 * (0x2 * ((uint128_t)x11 * x11)))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + ((0x3d1 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))) + (0x100000000 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10))))) + (0x100000000 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10)))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + ((0x3d1 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))) + (0x100000000 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((0x3d1 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6))))))) + (0x100000000 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6)))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + ((0x3d1 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))) + (0x100000000 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4))))))))));
- uint64_t x20 = (uint64_t) (x13 >> 0x24);
- uint64_t x21 = ((uint64_t)x13 & 0xfffffffff);
- uint128_t x22 = (((uint128_t)0x1000000000 * x20) + x21);
- uint64_t x23 = (uint64_t) (x22 >> 0x24);
- uint64_t x24 = ((uint64_t)x22 & 0xfffffffff);
- uint128_t x25 = (((uint128_t)0x1000000000 * x23) + x24);
- uint64_t x26 = (uint64_t) (x25 >> 0x24);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffff);
- uint128_t x28 = (x19 + ((0x3d1 * x26) + ((uint128_t)0x100000000 * x26)));
- uint128_t x29 = (x28 >> 0x25);
- uint64_t x30 = ((uint64_t)x28 & 0x1fffffffff);
- uint128_t x31 = (x29 + x18);
- uint128_t x32 = (x31 >> 0x25);
- uint64_t x33 = ((uint64_t)x31 & 0x1fffffffff);
- uint128_t x34 = (x32 + x17);
- uint128_t x35 = (x34 >> 0x24);
- uint64_t x36 = ((uint64_t)x34 & 0xfffffffff);
- uint128_t x37 = (x35 + x16);
- uint128_t x38 = (x37 >> 0x25);
- uint64_t x39 = ((uint64_t)x37 & 0x1fffffffff);
- uint128_t x40 = (x38 + x15);
- uint128_t x41 = (x40 >> 0x24);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffffff);
- uint128_t x43 = (x41 + x14);
- uint128_t x44 = (x43 >> 0x25);
- uint64_t x45 = ((uint64_t)x43 & 0x1fffffffff);
- uint128_t x46 = (x44 + x27);
- uint64_t x47 = (uint64_t) (x46 >> 0x24);
- uint64_t x48 = ((uint64_t)x46 & 0xfffffffff);
- uint128_t x49 = (x30 + ((0x3d1 * x47) + ((uint128_t)0x100000000 * x47)));
- uint64_t x50 = (uint64_t) (x49 >> 0x25);
- uint64_t x51 = ((uint64_t)x49 & 0x1fffffffff);
- uint64_t x52 = (x51 >> 0x25);
- uint64_t x53 = (x51 & 0x1fffffffff);
- return (Return x48, Return x45, Return x42, Return x39, Return x36, (x52 + (x50 + x33)), Return x53))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.v
deleted file mode 100644
index a1a62022a..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.c b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.c
deleted file mode 100644
index 3515b57c9..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x3dfffff85e + x5) - x17);
- out[1] = ((0x3ffffffffe + x7) - x19);
- out[2] = ((0x1ffffffffe + x9) - x21);
- out[3] = ((0x3ffffffffe + x11) - x23);
- out[4] = ((0x1ffffffffe + x13) - x25);
- out[5] = ((0x3ffffffffe + x15) - x27);
- out[6] = ((0x1ffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.v
deleted file mode 100644
index 709fda544..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.log
deleted file mode 100644
index 183ce17aa..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1ffffffffe + x14) - x26), ((0x3ffffffffe + x15) - x27), ((0x1ffffffffe + x13) - x25), ((0x3ffffffffe + x11) - x23), ((0x1ffffffffe + x9) - x21), ((0x3ffffffffe + x7) - x19), ((0x3dfffff85e + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.v
deleted file mode 100644
index 5ffec431d..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.c b/src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.c
deleted file mode 100644
index af254b0b7..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1efffffc2f);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xfffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xfffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x1efffffc2f);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x1fffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0xfffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x1fffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0xfffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x1fffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0xfffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.v
deleted file mode 100644
index b03ef68ca..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.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/solinas64_2e256m2e32m977_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.log
deleted file mode 100644
index 2491fbf74..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1efffffc2f);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xfffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x1fffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xfffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x1efffffc2f);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x1fffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0xfffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x1fffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0xfffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x1fffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 37 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0xfffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 36 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.v
deleted file mode 100644
index 6ce8a77b3..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m2e32m977_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m2e32m977_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m2e32m977_7limbs/py_interpreter.sh
deleted file mode 100755
index 94fddd182..000000000
--- a/src/Specific/solinas64_2e256m2e32m977_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 2**32 - 977' -Dmodulus_bytes='36 + 4/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/CurveParameters.v b/src/Specific/solinas64_2e256m4294968273_10limbs/CurveParameters.v
deleted file mode 100644
index 2f05d6aad..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 4294968273
-Base: 25.6
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 25 + 3/5;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 4294968273)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e256m4294968273_10limbs/Synthesis.v b/src/Specific/solinas64_2e256m4294968273_10limbs/Synthesis.v
deleted file mode 100644
index 1c83b553d..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/compiler.sh b/src/Specific/solinas64_2e256m4294968273_10limbs/compiler.sh
deleted file mode 100755
index b6a8ea76b..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,26,25,26,25}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/compilerxx.sh b/src/Specific/solinas64_2e256m4294968273_10limbs/compilerxx.sh
deleted file mode 100755
index a2909df87..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{26,26,25,26,25,26,26,25,26,25}' -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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/feadd.c b/src/Specific/solinas64_2e256m4294968273_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/feadd.v b/src/Specific/solinas64_2e256m4294968273_10limbs/feadd.v
deleted file mode 100644
index 1ad6b0e95..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.v
deleted file mode 100644
index fea9689cc..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fecarry.v b/src/Specific/solinas64_2e256m4294968273_10limbs/fecarry.v
deleted file mode 100644
index b3de1c92f..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m4294968273_10limbs/fecarryDisplay.v
deleted file mode 100644
index 447c2df32..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/femul.c b/src/Specific/solinas64_2e256m4294968273_10limbs/femul.c
deleted file mode 100644
index 2ec0954ba..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint64_t x40 = ((x5 * x38) + ((x7 * x39) + ((0x2 * (x9 * x37)) + ((x11 * x35) + ((x13 * x33) + ((x15 * x31) + ((x17 * x29) + ((0x2 * (x19 * x27)) + ((x21 * x25) + (x20 * x23))))))))));
- { uint128_t x41 = (((x5 * x39) + ((0x2 * (x7 * x37)) + ((0x2 * (x9 * x35)) + ((x11 * x33) + ((0x2 * (x13 * x31)) + ((x15 * x29) + ((0x2 * (x17 * x27)) + ((0x2 * (x19 * x25)) + (x21 * x23))))))))) + ((uint128_t)0x1000003d1 * (0x2 * (x20 * x38))));
- { uint128_t x42 = (((x5 * x37) + ((x7 * x35) + ((x9 * x33) + ((x11 * x31) + ((x13 * x29) + ((x15 * x27) + ((x17 * x25) + (x19 * x23)))))))) + ((uint128_t)0x1000003d1 * ((x21 * x38) + (x20 * x39))));
- { uint128_t x43 = (((x5 * x35) + ((x7 * x33) + ((0x2 * (x9 * x31)) + ((x11 * x29) + ((0x2 * (x13 * x27)) + ((x15 * x25) + (x17 * x23))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x19 * x38)) + ((x21 * x39) + (0x2 * (x20 * x37))))));
- { uint128_t x44 = (((x5 * x33) + ((0x2 * (x7 * x31)) + ((0x2 * (x9 * x29)) + ((0x2 * (x11 * x27)) + ((0x2 * (x13 * x25)) + (x15 * x23)))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x17 * x38)) + ((0x2 * (x19 * x39)) + ((0x2 * (x21 * x37)) + (0x2 * (x20 * x35)))))));
- { uint128_t x45 = (((x5 * x31) + ((x7 * x29) + ((0x2 * (x9 * x27)) + ((x11 * x25) + (x13 * x23))))) + ((uint128_t)0x1000003d1 * ((x15 * x38) + ((x17 * x39) + ((0x2 * (x19 * x37)) + ((x21 * x35) + (x20 * x33)))))));
- { uint128_t x46 = (((x5 * x29) + ((0x2 * (x7 * x27)) + ((0x2 * (x9 * x25)) + (x11 * x23)))) + ((uint128_t)0x1000003d1 * ((0x2 * (x13 * x38)) + ((x15 * x39) + ((0x2 * (x17 * x37)) + ((0x2 * (x19 * x35)) + ((x21 * x33) + (0x2 * (x20 * x31)))))))));
- { uint128_t x47 = (((x5 * x27) + ((x7 * x25) + (x9 * x23))) + ((uint128_t)0x1000003d1 * ((x11 * x38) + ((x13 * x39) + ((x15 * x37) + ((x17 * x35) + ((x19 * x33) + ((x21 * x31) + (x20 * x29)))))))));
- { uint128_t x48 = (((x5 * x25) + (x7 * x23)) + ((uint128_t)0x1000003d1 * ((0x2 * (x9 * x38)) + ((x11 * x39) + ((0x2 * (x13 * x37)) + ((x15 * x35) + ((x17 * x33) + ((0x2 * (x19 * x31)) + ((x21 * x29) + (0x2 * (x20 * x27)))))))))));
- { uint128_t x49 = ((x5 * x23) + ((uint128_t)0x1000003d1 * ((0x2 * (x7 * x38)) + ((0x2 * (x9 * x39)) + ((0x2 * (x11 * x37)) + ((0x2 * (x13 * x35)) + ((x15 * x33) + ((0x2 * (x17 * x31)) + ((0x2 * (x19 * x29)) + ((0x2 * (x21 * x27)) + (0x2 * (x20 * x25))))))))))));
- { uint128_t x50 = (x49 >> 0x1a);
- { uint64_t x51 = ((uint64_t)x49 & 0x3ffffff);
- { uint128_t x52 = (x50 + x48);
- { uint128_t x53 = (x52 >> 0x1a);
- { uint64_t x54 = ((uint64_t)x52 & 0x3ffffff);
- { uint128_t x55 = (x53 + x47);
- { uint128_t x56 = (x55 >> 0x19);
- { uint64_t x57 = ((uint64_t)x55 & 0x1ffffff);
- { uint128_t x58 = (x56 + x46);
- { uint64_t x59 = (uint64_t) (x58 >> 0x1a);
- { uint64_t x60 = ((uint64_t)x58 & 0x3ffffff);
- { uint128_t x61 = (x59 + x45);
- { uint128_t x62 = (x61 >> 0x19);
- { uint64_t x63 = ((uint64_t)x61 & 0x1ffffff);
- { uint128_t x64 = (x62 + x44);
- { uint64_t x65 = (uint64_t) (x64 >> 0x1a);
- { uint64_t x66 = ((uint64_t)x64 & 0x3ffffff);
- { uint128_t x67 = (x65 + x43);
- { uint64_t x68 = (uint64_t) (x67 >> 0x1a);
- { uint64_t x69 = ((uint64_t)x67 & 0x3ffffff);
- { uint128_t x70 = (x68 + x42);
- { uint64_t x71 = (uint64_t) (x70 >> 0x19);
- { uint64_t x72 = ((uint64_t)x70 & 0x1ffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x1a);
- { uint64_t x75 = ((uint64_t)x73 & 0x3ffffff);
- { uint64_t x76 = (x74 + x40);
- { uint64_t x77 = (x76 >> 0x19);
- { uint64_t x78 = (x76 & 0x1ffffff);
- { uint128_t x79 = (x51 + ((uint128_t)0x1000003d1 * x77));
- { uint64_t x80 = (uint64_t) (x79 >> 0x1a);
- { uint64_t x81 = ((uint64_t)x79 & 0x3ffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x1a);
- { uint64_t x84 = (x82 & 0x3ffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/femul.v b/src/Specific/solinas64_2e256m4294968273_10limbs/femul.v
deleted file mode 100644
index 673b1fd3e..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/femulDisplay.log b/src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.log
deleted file mode 100644
index ced98fd6d..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint64_t x40 = ((x5 * x38) + ((x7 * x39) + ((0x2 * (x9 * x37)) + ((x11 * x35) + ((x13 * x33) + ((x15 * x31) + ((x17 * x29) + ((0x2 * (x19 * x27)) + ((x21 * x25) + (x20 * x23))))))))));
- uint128_t x41 = (((x5 * x39) + ((0x2 * (x7 * x37)) + ((0x2 * (x9 * x35)) + ((x11 * x33) + ((0x2 * (x13 * x31)) + ((x15 * x29) + ((0x2 * (x17 * x27)) + ((0x2 * (x19 * x25)) + (x21 * x23))))))))) + ((uint128_t)0x1000003d1 * (0x2 * (x20 * x38))));
- uint128_t x42 = (((x5 * x37) + ((x7 * x35) + ((x9 * x33) + ((x11 * x31) + ((x13 * x29) + ((x15 * x27) + ((x17 * x25) + (x19 * x23)))))))) + ((uint128_t)0x1000003d1 * ((x21 * x38) + (x20 * x39))));
- uint128_t x43 = (((x5 * x35) + ((x7 * x33) + ((0x2 * (x9 * x31)) + ((x11 * x29) + ((0x2 * (x13 * x27)) + ((x15 * x25) + (x17 * x23))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x19 * x38)) + ((x21 * x39) + (0x2 * (x20 * x37))))));
- uint128_t x44 = (((x5 * x33) + ((0x2 * (x7 * x31)) + ((0x2 * (x9 * x29)) + ((0x2 * (x11 * x27)) + ((0x2 * (x13 * x25)) + (x15 * x23)))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x17 * x38)) + ((0x2 * (x19 * x39)) + ((0x2 * (x21 * x37)) + (0x2 * (x20 * x35)))))));
- uint128_t x45 = (((x5 * x31) + ((x7 * x29) + ((0x2 * (x9 * x27)) + ((x11 * x25) + (x13 * x23))))) + ((uint128_t)0x1000003d1 * ((x15 * x38) + ((x17 * x39) + ((0x2 * (x19 * x37)) + ((x21 * x35) + (x20 * x33)))))));
- uint128_t x46 = (((x5 * x29) + ((0x2 * (x7 * x27)) + ((0x2 * (x9 * x25)) + (x11 * x23)))) + ((uint128_t)0x1000003d1 * ((0x2 * (x13 * x38)) + ((x15 * x39) + ((0x2 * (x17 * x37)) + ((0x2 * (x19 * x35)) + ((x21 * x33) + (0x2 * (x20 * x31)))))))));
- uint128_t x47 = (((x5 * x27) + ((x7 * x25) + (x9 * x23))) + ((uint128_t)0x1000003d1 * ((x11 * x38) + ((x13 * x39) + ((x15 * x37) + ((x17 * x35) + ((x19 * x33) + ((x21 * x31) + (x20 * x29)))))))));
- uint128_t x48 = (((x5 * x25) + (x7 * x23)) + ((uint128_t)0x1000003d1 * ((0x2 * (x9 * x38)) + ((x11 * x39) + ((0x2 * (x13 * x37)) + ((x15 * x35) + ((x17 * x33) + ((0x2 * (x19 * x31)) + ((x21 * x29) + (0x2 * (x20 * x27)))))))))));
- uint128_t x49 = ((x5 * x23) + ((uint128_t)0x1000003d1 * ((0x2 * (x7 * x38)) + ((0x2 * (x9 * x39)) + ((0x2 * (x11 * x37)) + ((0x2 * (x13 * x35)) + ((x15 * x33) + ((0x2 * (x17 * x31)) + ((0x2 * (x19 * x29)) + ((0x2 * (x21 * x27)) + (0x2 * (x20 * x25))))))))))));
- uint128_t x50 = (x49 >> 0x1a);
- uint64_t x51 = ((uint64_t)x49 & 0x3ffffff);
- uint128_t x52 = (x50 + x48);
- uint128_t x53 = (x52 >> 0x1a);
- uint64_t x54 = ((uint64_t)x52 & 0x3ffffff);
- uint128_t x55 = (x53 + x47);
- uint128_t x56 = (x55 >> 0x19);
- uint64_t x57 = ((uint64_t)x55 & 0x1ffffff);
- uint128_t x58 = (x56 + x46);
- uint64_t x59 = (uint64_t) (x58 >> 0x1a);
- uint64_t x60 = ((uint64_t)x58 & 0x3ffffff);
- uint128_t x61 = (x59 + x45);
- uint128_t x62 = (x61 >> 0x19);
- uint64_t x63 = ((uint64_t)x61 & 0x1ffffff);
- uint128_t x64 = (x62 + x44);
- uint64_t x65 = (uint64_t) (x64 >> 0x1a);
- uint64_t x66 = ((uint64_t)x64 & 0x3ffffff);
- uint128_t x67 = (x65 + x43);
- uint64_t x68 = (uint64_t) (x67 >> 0x1a);
- uint64_t x69 = ((uint64_t)x67 & 0x3ffffff);
- uint128_t x70 = (x68 + x42);
- uint64_t x71 = (uint64_t) (x70 >> 0x19);
- uint64_t x72 = ((uint64_t)x70 & 0x1ffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x1a);
- uint64_t x75 = ((uint64_t)x73 & 0x3ffffff);
- uint64_t x76 = (x74 + x40);
- uint64_t x77 = (x76 >> 0x19);
- uint64_t x78 = (x76 & 0x1ffffff);
- uint128_t x79 = (x51 + ((uint128_t)0x1000003d1 * x77));
- uint64_t x80 = (uint64_t) (x79 >> 0x1a);
- uint64_t x81 = ((uint64_t)x79 & 0x3ffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x1a);
- uint64_t x84 = (x82 & 0x3ffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.v b/src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.v
deleted file mode 100644
index cbfdf260e..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.c b/src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.c
deleted file mode 100644
index 52a26a638..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x19 = ((x2 * x17) + ((x4 * x18) + ((0x2 * (x6 * x16)) + ((x8 * x14) + ((x10 * x12) + ((x12 * x10) + ((x14 * x8) + ((0x2 * (x16 * x6)) + ((x18 * x4) + (x17 * x2))))))))));
- { uint128_t x20 = (((x2 * x18) + ((0x2 * (x4 * x16)) + ((0x2 * (x6 * x14)) + ((x8 * x12) + ((0x2 * (x10 * x10)) + ((x12 * x8) + ((0x2 * (x14 * x6)) + ((0x2 * (x16 * x4)) + (x18 * x2))))))))) + ((uint128_t)0x1000003d1 * (0x2 * (x17 * x17))));
- { uint128_t x21 = (((x2 * x16) + ((x4 * x14) + ((x6 * x12) + ((x8 * x10) + ((x10 * x8) + ((x12 * x6) + ((x14 * x4) + (x16 * x2)))))))) + ((uint128_t)0x1000003d1 * ((x18 * x17) + (x17 * x18))));
- { uint128_t x22 = (((x2 * x14) + ((x4 * x12) + ((0x2 * (x6 * x10)) + ((x8 * x8) + ((0x2 * (x10 * x6)) + ((x12 * x4) + (x14 * x2))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x16 * x17)) + ((x18 * x18) + (0x2 * (x17 * x16))))));
- { uint128_t x23 = (((x2 * x12) + ((0x2 * (x4 * x10)) + ((0x2 * (x6 * x8)) + ((0x2 * (x8 * x6)) + ((0x2 * (x10 * x4)) + (x12 * x2)))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x14 * x17)) + ((0x2 * (x16 * x18)) + ((0x2 * (x18 * x16)) + (0x2 * (x17 * x14)))))));
- { uint128_t x24 = (((x2 * x10) + ((x4 * x8) + ((0x2 * (x6 * x6)) + ((x8 * x4) + (x10 * x2))))) + ((uint128_t)0x1000003d1 * ((x12 * x17) + ((x14 * x18) + ((0x2 * (x16 * x16)) + ((x18 * x14) + (x17 * x12)))))));
- { uint128_t x25 = (((x2 * x8) + ((0x2 * (x4 * x6)) + ((0x2 * (x6 * x4)) + (x8 * x2)))) + ((uint128_t)0x1000003d1 * ((0x2 * (x10 * x17)) + ((x12 * x18) + ((0x2 * (x14 * x16)) + ((0x2 * (x16 * x14)) + ((x18 * x12) + (0x2 * (x17 * x10)))))))));
- { uint128_t x26 = (((x2 * x6) + ((x4 * x4) + (x6 * x2))) + ((uint128_t)0x1000003d1 * ((x8 * x17) + ((x10 * x18) + ((x12 * x16) + ((x14 * x14) + ((x16 * x12) + ((x18 * x10) + (x17 * x8)))))))));
- { uint128_t x27 = (((x2 * x4) + (x4 * x2)) + ((uint128_t)0x1000003d1 * ((0x2 * (x6 * x17)) + ((x8 * x18) + ((0x2 * (x10 * x16)) + ((x12 * x14) + ((x14 * x12) + ((0x2 * (x16 * x10)) + ((x18 * x8) + (0x2 * (x17 * x6)))))))))));
- { uint128_t x28 = ((x2 * x2) + ((uint128_t)0x1000003d1 * ((0x2 * (x4 * x17)) + ((0x2 * (x6 * x18)) + ((0x2 * (x8 * x16)) + ((0x2 * (x10 * x14)) + ((x12 * x12) + ((0x2 * (x14 * x10)) + ((0x2 * (x16 * x8)) + ((0x2 * (x18 * x6)) + (0x2 * (x17 * x4))))))))))));
- { uint128_t x29 = (x28 >> 0x1a);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffff);
- { uint128_t x31 = (x29 + x27);
- { uint128_t x32 = (x31 >> 0x1a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffff);
- { uint128_t x34 = (x32 + x26);
- { uint128_t x35 = (x34 >> 0x19);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffff);
- { uint128_t x37 = (x35 + x25);
- { uint64_t x38 = (uint64_t) (x37 >> 0x1a);
- { uint64_t x39 = ((uint64_t)x37 & 0x3ffffff);
- { uint128_t x40 = (x38 + x24);
- { uint128_t x41 = (x40 >> 0x19);
- { uint64_t x42 = ((uint64_t)x40 & 0x1ffffff);
- { uint128_t x43 = (x41 + x23);
- { uint64_t x44 = (uint64_t) (x43 >> 0x1a);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffff);
- { uint128_t x46 = (x44 + x22);
- { uint64_t x47 = (uint64_t) (x46 >> 0x1a);
- { uint64_t x48 = ((uint64_t)x46 & 0x3ffffff);
- { uint128_t x49 = (x47 + x21);
- { uint64_t x50 = (uint64_t) (x49 >> 0x19);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x1a);
- { uint64_t x54 = ((uint64_t)x52 & 0x3ffffff);
- { uint64_t x55 = (x53 + x19);
- { uint64_t x56 = (x55 >> 0x19);
- { uint64_t x57 = (x55 & 0x1ffffff);
- { uint128_t x58 = (x30 + ((uint128_t)0x1000003d1 * x56));
- { uint64_t x59 = (uint64_t) (x58 >> 0x1a);
- { uint64_t x60 = ((uint64_t)x58 & 0x3ffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x1a);
- { uint64_t x63 = (x61 & 0x3ffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.v b/src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.v
deleted file mode 100644
index 4d82e008a..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.log
deleted file mode 100644
index 048495fe4..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x19 = ((x2 * x17) + ((x4 * x18) + ((0x2 * (x6 * x16)) + ((x8 * x14) + ((x10 * x12) + ((x12 * x10) + ((x14 * x8) + ((0x2 * (x16 * x6)) + ((x18 * x4) + (x17 * x2))))))))));
- uint128_t x20 = (((x2 * x18) + ((0x2 * (x4 * x16)) + ((0x2 * (x6 * x14)) + ((x8 * x12) + ((0x2 * (x10 * x10)) + ((x12 * x8) + ((0x2 * (x14 * x6)) + ((0x2 * (x16 * x4)) + (x18 * x2))))))))) + ((uint128_t)0x1000003d1 * (0x2 * (x17 * x17))));
- uint128_t x21 = (((x2 * x16) + ((x4 * x14) + ((x6 * x12) + ((x8 * x10) + ((x10 * x8) + ((x12 * x6) + ((x14 * x4) + (x16 * x2)))))))) + ((uint128_t)0x1000003d1 * ((x18 * x17) + (x17 * x18))));
- uint128_t x22 = (((x2 * x14) + ((x4 * x12) + ((0x2 * (x6 * x10)) + ((x8 * x8) + ((0x2 * (x10 * x6)) + ((x12 * x4) + (x14 * x2))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x16 * x17)) + ((x18 * x18) + (0x2 * (x17 * x16))))));
- uint128_t x23 = (((x2 * x12) + ((0x2 * (x4 * x10)) + ((0x2 * (x6 * x8)) + ((0x2 * (x8 * x6)) + ((0x2 * (x10 * x4)) + (x12 * x2)))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x14 * x17)) + ((0x2 * (x16 * x18)) + ((0x2 * (x18 * x16)) + (0x2 * (x17 * x14)))))));
- uint128_t x24 = (((x2 * x10) + ((x4 * x8) + ((0x2 * (x6 * x6)) + ((x8 * x4) + (x10 * x2))))) + ((uint128_t)0x1000003d1 * ((x12 * x17) + ((x14 * x18) + ((0x2 * (x16 * x16)) + ((x18 * x14) + (x17 * x12)))))));
- uint128_t x25 = (((x2 * x8) + ((0x2 * (x4 * x6)) + ((0x2 * (x6 * x4)) + (x8 * x2)))) + ((uint128_t)0x1000003d1 * ((0x2 * (x10 * x17)) + ((x12 * x18) + ((0x2 * (x14 * x16)) + ((0x2 * (x16 * x14)) + ((x18 * x12) + (0x2 * (x17 * x10)))))))));
- uint128_t x26 = (((x2 * x6) + ((x4 * x4) + (x6 * x2))) + ((uint128_t)0x1000003d1 * ((x8 * x17) + ((x10 * x18) + ((x12 * x16) + ((x14 * x14) + ((x16 * x12) + ((x18 * x10) + (x17 * x8)))))))));
- uint128_t x27 = (((x2 * x4) + (x4 * x2)) + ((uint128_t)0x1000003d1 * ((0x2 * (x6 * x17)) + ((x8 * x18) + ((0x2 * (x10 * x16)) + ((x12 * x14) + ((x14 * x12) + ((0x2 * (x16 * x10)) + ((x18 * x8) + (0x2 * (x17 * x6)))))))))));
- uint128_t x28 = ((x2 * x2) + ((uint128_t)0x1000003d1 * ((0x2 * (x4 * x17)) + ((0x2 * (x6 * x18)) + ((0x2 * (x8 * x16)) + ((0x2 * (x10 * x14)) + ((x12 * x12) + ((0x2 * (x14 * x10)) + ((0x2 * (x16 * x8)) + ((0x2 * (x18 * x6)) + (0x2 * (x17 * x4))))))))))));
- uint128_t x29 = (x28 >> 0x1a);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffff);
- uint128_t x31 = (x29 + x27);
- uint128_t x32 = (x31 >> 0x1a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffff);
- uint128_t x34 = (x32 + x26);
- uint128_t x35 = (x34 >> 0x19);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffff);
- uint128_t x37 = (x35 + x25);
- uint64_t x38 = (uint64_t) (x37 >> 0x1a);
- uint64_t x39 = ((uint64_t)x37 & 0x3ffffff);
- uint128_t x40 = (x38 + x24);
- uint128_t x41 = (x40 >> 0x19);
- uint64_t x42 = ((uint64_t)x40 & 0x1ffffff);
- uint128_t x43 = (x41 + x23);
- uint64_t x44 = (uint64_t) (x43 >> 0x1a);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffff);
- uint128_t x46 = (x44 + x22);
- uint64_t x47 = (uint64_t) (x46 >> 0x1a);
- uint64_t x48 = ((uint64_t)x46 & 0x3ffffff);
- uint128_t x49 = (x47 + x21);
- uint64_t x50 = (uint64_t) (x49 >> 0x19);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x1a);
- uint64_t x54 = ((uint64_t)x52 & 0x3ffffff);
- uint64_t x55 = (x53 + x19);
- uint64_t x56 = (x55 >> 0x19);
- uint64_t x57 = (x55 & 0x1ffffff);
- uint128_t x58 = (x30 + ((uint128_t)0x1000003d1 * x56));
- uint64_t x59 = (uint64_t) (x58 >> 0x1a);
- uint64_t x60 = ((uint64_t)x58 & 0x3ffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x1a);
- uint64_t x63 = (x61 & 0x3ffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.v
deleted file mode 100644
index a5d45f524..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fesub.c b/src/Specific/solinas64_2e256m4294968273_10limbs/fesub.c
deleted file mode 100644
index 47fd8e81c..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x7fff85e + x5) - x23);
- out[1] = ((0x7ffff7e + x7) - x25);
- out[2] = ((0x3fffffe + x9) - x27);
- out[3] = ((0x7fffffe + x11) - x29);
- out[4] = ((0x3fffffe + x13) - x31);
- out[5] = ((0x7fffffe + x15) - x33);
- out[6] = ((0x7fffffe + x17) - x35);
- out[7] = ((0x3fffffe + x19) - x37);
- out[8] = ((0x7fffffe + x21) - x39);
- out[9] = ((0x3fffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fesub.v b/src/Specific/solinas64_2e256m4294968273_10limbs/fesub.v
deleted file mode 100644
index f34b20edf..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.log
deleted file mode 100644
index e3b338c3c..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3fffffe + x20) - x38), ((0x7fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x7fffffe + x17) - x35), ((0x7fffffe + x15) - x33), ((0x3fffffe + x13) - x31), ((0x7fffffe + x11) - x29), ((0x3fffffe + x9) - x27), ((0x7ffff7e + x7) - x25), ((0x7fff85e + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.v
deleted file mode 100644
index 98c44dc0e..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/freeze.c b/src/Specific/solinas64_2e256m4294968273_10limbs/freeze.c
deleted file mode 100644
index d5234c2a8..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffc2f);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x3ffffbf);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x3ffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1ffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x3ffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x3fffc2f);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x3ffffbf);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0x1ffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0x3ffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0x1ffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0x3ffffff);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x3ffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0x1ffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0x3ffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0x1ffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/freeze.v b/src/Specific/solinas64_2e256m4294968273_10limbs/freeze.v
deleted file mode 100644
index 4e929b8c3..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.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/solinas64_2e256m4294968273_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.log
deleted file mode 100644
index db98ea96f..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffc2f);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x3ffffbf);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x3ffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1ffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x3ffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x3fffc2f);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x3ffffbf);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0x1ffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0x3ffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0x1ffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0x3ffffff);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x3ffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0x1ffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0x3ffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0x1ffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.v
deleted file mode 100644
index 3cf0e4776..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m4294968273_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m4294968273_10limbs/py_interpreter.sh
deleted file mode 100755
index a6f37492e..000000000
--- a/src/Specific/solinas64_2e256m4294968273_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 4294968273' -Dmodulus_bytes='25.6' -Da24='121665'
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/CurveParameters.v b/src/Specific/solinas64_2e256m4294968273_9limbs/CurveParameters.v
deleted file mode 100644
index c376d9abe..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^256 - 4294968273
-Base: 28 + 4/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 28 + 4/9;
- bitwidth := 64;
- s := 2^256;
- c := [(1, 4294968273)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e256m4294968273_9limbs/Synthesis.v b/src/Specific/solinas64_2e256m4294968273_9limbs/Synthesis.v
deleted file mode 100644
index 4e31ed300..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/compiler.sh b/src/Specific/solinas64_2e256m4294968273_9limbs/compiler.sh
deleted file mode 100755
index eecd10d98..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{29,28,29,28,29,28,29,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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/compilerxx.sh b/src/Specific/solinas64_2e256m4294968273_9limbs/compilerxx.sh
deleted file mode 100755
index 8ab256dd3..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{29,28,29,28,29,28,29,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,0xfc,0x2f}' -Dmodulus_bytes_val='32' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<256) - 4294968273' "$@"
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/feadd.c b/src/Specific/solinas64_2e256m4294968273_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/feadd.v b/src/Specific/solinas64_2e256m4294968273_9limbs/feadd.v
deleted file mode 100644
index eb7d2a9bd..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.v
deleted file mode 100644
index 4b2e0f27a..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fecarry.v b/src/Specific/solinas64_2e256m4294968273_9limbs/fecarry.v
deleted file mode 100644
index bebdf6c28..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e256m4294968273_9limbs/fecarryDisplay.v
deleted file mode 100644
index 8524f1819..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/femul.c b/src/Specific/solinas64_2e256m4294968273_9limbs/femul.c
deleted file mode 100644
index 8ce77a639..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = ((uint128_t)(x5 * x34) + ((0x2 * (x7 * x35)) + ((x9 * x33) + ((0x2 * (x11 * x31)) + ((x13 * x29) + ((0x2 * (x15 * x27)) + ((x17 * x25) + ((0x2 * (x19 * x23)) + (x18 * x21)))))))));
- { uint128_t x37 = (((x5 * x35) + ((x7 * x33) + ((x9 * x31) + ((x11 * x29) + ((x13 * x27) + ((x15 * x25) + ((x17 * x23) + (x19 * x21)))))))) + ((uint128_t)0x1000003d1 * (x18 * x34)));
- { uint128_t x38 = (((x5 * x33) + ((0x2 * (x7 * x31)) + ((x9 * x29) + ((0x2 * (x11 * x27)) + ((x13 * x25) + ((0x2 * (x15 * x23)) + (x17 * x21))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x19 * x34)) + (0x2 * (x18 * x35)))));
- { uint128_t x39 = (((x5 * x31) + ((x7 * x29) + ((x9 * x27) + ((x11 * x25) + ((x13 * x23) + (x15 * x21)))))) + ((uint128_t)0x1000003d1 * ((x17 * x34) + ((0x2 * (x19 * x35)) + (x18 * x33)))));
- { uint128_t x40 = (((x5 * x29) + ((0x2 * (x7 * x27)) + ((x9 * x25) + ((0x2 * (x11 * x23)) + (x13 * x21))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x15 * x34)) + ((0x2 * (x17 * x35)) + ((0x2 * (x19 * x33)) + (0x2 * (x18 * x31)))))));
- { uint128_t x41 = (((x5 * x27) + ((x7 * x25) + ((x9 * x23) + (x11 * x21)))) + ((uint128_t)0x1000003d1 * ((x13 * x34) + ((0x2 * (x15 * x35)) + ((x17 * x33) + ((0x2 * (x19 * x31)) + (x18 * x29)))))));
- { uint128_t x42 = (((x5 * x25) + ((0x2 * (x7 * x23)) + (x9 * x21))) + ((uint128_t)0x1000003d1 * ((0x2 * (x11 * x34)) + ((0x2 * (x13 * x35)) + ((0x2 * (x15 * x33)) + ((0x2 * (x17 * x31)) + ((0x2 * (x19 * x29)) + (0x2 * (x18 * x27)))))))));
- { uint128_t x43 = (((x5 * x23) + (x7 * x21)) + ((uint128_t)0x1000003d1 * ((x9 * x34) + ((0x2 * (x11 * x35)) + ((x13 * x33) + ((0x2 * (x15 * x31)) + ((x17 * x29) + ((0x2 * (x19 * x27)) + (x18 * x25)))))))));
- { uint128_t x44 = ((x5 * x21) + (0x1000003d1 * ((0x2 * (x7 * x34)) + ((uint128_t)(0x2 * (x9 * x35)) + ((0x2 * (x11 * x33)) + ((0x2 * (x13 * x31)) + ((0x2 * (x15 * x29)) + ((0x2 * (x17 * x27)) + ((0x2 * (x19 * x25)) + (0x2 * (x18 * x23)))))))))));
- { uint128_t x45 = (x44 >> 0x1d);
- { uint64_t x46 = ((uint64_t)x44 & 0x1fffffff);
- { uint128_t x47 = (x45 + x43);
- { uint128_t x48 = (x47 >> 0x1c);
- { uint64_t x49 = ((uint64_t)x47 & 0xfffffff);
- { uint128_t x50 = (x48 + x42);
- { uint128_t x51 = (x50 >> 0x1d);
- { uint64_t x52 = ((uint64_t)x50 & 0x1fffffff);
- { uint128_t x53 = (x51 + x41);
- { uint128_t x54 = (x53 >> 0x1c);
- { uint64_t x55 = ((uint64_t)x53 & 0xfffffff);
- { uint128_t x56 = (x54 + x40);
- { uint128_t x57 = (x56 >> 0x1d);
- { uint64_t x58 = ((uint64_t)x56 & 0x1fffffff);
- { uint128_t x59 = (x57 + x39);
- { uint128_t x60 = (x59 >> 0x1c);
- { uint64_t x61 = ((uint64_t)x59 & 0xfffffff);
- { uint128_t x62 = (x60 + x38);
- { uint128_t x63 = (x62 >> 0x1d);
- { uint64_t x64 = ((uint64_t)x62 & 0x1fffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x1c);
- { uint64_t x67 = ((uint64_t)x65 & 0xfffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x1c);
- { uint64_t x70 = ((uint64_t)x68 & 0xfffffff);
- { uint128_t x71 = (x46 + ((uint128_t)0x1000003d1 * x69));
- { uint64_t x72 = (uint64_t) (x71 >> 0x1d);
- { uint64_t x73 = ((uint64_t)x71 & 0x1fffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x1c);
- { uint64_t x76 = (x74 & 0xfffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/femul.v b/src/Specific/solinas64_2e256m4294968273_9limbs/femul.v
deleted file mode 100644
index b3612e349..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/femulDisplay.log b/src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.log
deleted file mode 100644
index f02f770e8..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = ((uint128_t)(x5 * x34) + ((0x2 * (x7 * x35)) + ((x9 * x33) + ((0x2 * (x11 * x31)) + ((x13 * x29) + ((0x2 * (x15 * x27)) + ((x17 * x25) + ((0x2 * (x19 * x23)) + (x18 * x21)))))))));
- uint128_t x37 = (((x5 * x35) + ((x7 * x33) + ((x9 * x31) + ((x11 * x29) + ((x13 * x27) + ((x15 * x25) + ((x17 * x23) + (x19 * x21)))))))) + ((uint128_t)0x1000003d1 * (x18 * x34)));
- uint128_t x38 = (((x5 * x33) + ((0x2 * (x7 * x31)) + ((x9 * x29) + ((0x2 * (x11 * x27)) + ((x13 * x25) + ((0x2 * (x15 * x23)) + (x17 * x21))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x19 * x34)) + (0x2 * (x18 * x35)))));
- uint128_t x39 = (((x5 * x31) + ((x7 * x29) + ((x9 * x27) + ((x11 * x25) + ((x13 * x23) + (x15 * x21)))))) + ((uint128_t)0x1000003d1 * ((x17 * x34) + ((0x2 * (x19 * x35)) + (x18 * x33)))));
- uint128_t x40 = (((x5 * x29) + ((0x2 * (x7 * x27)) + ((x9 * x25) + ((0x2 * (x11 * x23)) + (x13 * x21))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x15 * x34)) + ((0x2 * (x17 * x35)) + ((0x2 * (x19 * x33)) + (0x2 * (x18 * x31)))))));
- uint128_t x41 = (((x5 * x27) + ((x7 * x25) + ((x9 * x23) + (x11 * x21)))) + ((uint128_t)0x1000003d1 * ((x13 * x34) + ((0x2 * (x15 * x35)) + ((x17 * x33) + ((0x2 * (x19 * x31)) + (x18 * x29)))))));
- uint128_t x42 = (((x5 * x25) + ((0x2 * (x7 * x23)) + (x9 * x21))) + ((uint128_t)0x1000003d1 * ((0x2 * (x11 * x34)) + ((0x2 * (x13 * x35)) + ((0x2 * (x15 * x33)) + ((0x2 * (x17 * x31)) + ((0x2 * (x19 * x29)) + (0x2 * (x18 * x27)))))))));
- uint128_t x43 = (((x5 * x23) + (x7 * x21)) + ((uint128_t)0x1000003d1 * ((x9 * x34) + ((0x2 * (x11 * x35)) + ((x13 * x33) + ((0x2 * (x15 * x31)) + ((x17 * x29) + ((0x2 * (x19 * x27)) + (x18 * x25)))))))));
- uint128_t x44 = ((x5 * x21) + (0x1000003d1 * ((0x2 * (x7 * x34)) + ((uint128_t)(0x2 * (x9 * x35)) + ((0x2 * (x11 * x33)) + ((0x2 * (x13 * x31)) + ((0x2 * (x15 * x29)) + ((0x2 * (x17 * x27)) + ((0x2 * (x19 * x25)) + (0x2 * (x18 * x23)))))))))));
- uint128_t x45 = (x44 >> 0x1d);
- uint64_t x46 = ((uint64_t)x44 & 0x1fffffff);
- uint128_t x47 = (x45 + x43);
- uint128_t x48 = (x47 >> 0x1c);
- uint64_t x49 = ((uint64_t)x47 & 0xfffffff);
- uint128_t x50 = (x48 + x42);
- uint128_t x51 = (x50 >> 0x1d);
- uint64_t x52 = ((uint64_t)x50 & 0x1fffffff);
- uint128_t x53 = (x51 + x41);
- uint128_t x54 = (x53 >> 0x1c);
- uint64_t x55 = ((uint64_t)x53 & 0xfffffff);
- uint128_t x56 = (x54 + x40);
- uint128_t x57 = (x56 >> 0x1d);
- uint64_t x58 = ((uint64_t)x56 & 0x1fffffff);
- uint128_t x59 = (x57 + x39);
- uint128_t x60 = (x59 >> 0x1c);
- uint64_t x61 = ((uint64_t)x59 & 0xfffffff);
- uint128_t x62 = (x60 + x38);
- uint128_t x63 = (x62 >> 0x1d);
- uint64_t x64 = ((uint64_t)x62 & 0x1fffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x1c);
- uint64_t x67 = ((uint64_t)x65 & 0xfffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x1c);
- uint64_t x70 = ((uint64_t)x68 & 0xfffffff);
- uint128_t x71 = (x46 + ((uint128_t)0x1000003d1 * x69));
- uint64_t x72 = (uint64_t) (x71 >> 0x1d);
- uint64_t x73 = ((uint64_t)x71 & 0x1fffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x1c);
- uint64_t x76 = (x74 & 0xfffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.v b/src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.v
deleted file mode 100644
index 256e3d01e..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.c b/src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.c
deleted file mode 100644
index 4c2d3917c..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = ((uint128_t)(x2 * x15) + ((0x2 * (x4 * x16)) + ((x6 * x14) + ((0x2 * (x8 * x12)) + ((x10 * x10) + ((0x2 * (x12 * x8)) + ((x14 * x6) + ((0x2 * (x16 * x4)) + (x15 * x2)))))))));
- { uint128_t x18 = (((x2 * x16) + ((x4 * x14) + ((x6 * x12) + ((x8 * x10) + ((x10 * x8) + ((x12 * x6) + ((x14 * x4) + (x16 * x2)))))))) + ((uint128_t)0x1000003d1 * (x15 * x15)));
- { uint128_t x19 = (((x2 * x14) + ((0x2 * (x4 * x12)) + ((x6 * x10) + ((0x2 * (x8 * x8)) + ((x10 * x6) + ((0x2 * (x12 * x4)) + (x14 * x2))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x16 * x15)) + (0x2 * (x15 * x16)))));
- { uint128_t x20 = (((x2 * x12) + ((x4 * x10) + ((x6 * x8) + ((x8 * x6) + ((x10 * x4) + (x12 * x2)))))) + ((uint128_t)0x1000003d1 * ((x14 * x15) + ((0x2 * (x16 * x16)) + (x15 * x14)))));
- { uint128_t x21 = (((x2 * x10) + ((0x2 * (x4 * x8)) + ((x6 * x6) + ((0x2 * (x8 * x4)) + (x10 * x2))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x12 * x15)) + ((0x2 * (x14 * x16)) + ((0x2 * (x16 * x14)) + (0x2 * (x15 * x12)))))));
- { uint128_t x22 = (((x2 * x8) + ((x4 * x6) + ((x6 * x4) + (x8 * x2)))) + ((uint128_t)0x1000003d1 * ((x10 * x15) + ((0x2 * (x12 * x16)) + ((x14 * x14) + ((0x2 * (x16 * x12)) + (x15 * x10)))))));
- { uint128_t x23 = (((x2 * x6) + ((0x2 * (x4 * x4)) + (x6 * x2))) + ((uint128_t)0x1000003d1 * ((0x2 * (x8 * x15)) + ((0x2 * (x10 * x16)) + ((0x2 * (x12 * x14)) + ((0x2 * (x14 * x12)) + ((0x2 * (x16 * x10)) + (0x2 * (x15 * x8)))))))));
- { uint128_t x24 = (((x2 * x4) + (x4 * x2)) + ((uint128_t)0x1000003d1 * ((x6 * x15) + ((0x2 * (x8 * x16)) + ((x10 * x14) + ((0x2 * (x12 * x12)) + ((x14 * x10) + ((0x2 * (x16 * x8)) + (x15 * x6)))))))));
- { uint128_t x25 = ((x2 * x2) + (0x1000003d1 * ((0x2 * (x4 * x15)) + ((uint128_t)(0x2 * (x6 * x16)) + ((0x2 * (x8 * x14)) + ((0x2 * (x10 * x12)) + ((0x2 * (x12 * x10)) + ((0x2 * (x14 * x8)) + ((0x2 * (x16 * x6)) + (0x2 * (x15 * x4)))))))))));
- { uint128_t x26 = (x25 >> 0x1d);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffff);
- { uint128_t x28 = (x26 + x24);
- { uint128_t x29 = (x28 >> 0x1c);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffff);
- { uint128_t x31 = (x29 + x23);
- { uint128_t x32 = (x31 >> 0x1d);
- { uint64_t x33 = ((uint64_t)x31 & 0x1fffffff);
- { uint128_t x34 = (x32 + x22);
- { uint128_t x35 = (x34 >> 0x1c);
- { uint64_t x36 = ((uint64_t)x34 & 0xfffffff);
- { uint128_t x37 = (x35 + x21);
- { uint128_t x38 = (x37 >> 0x1d);
- { uint64_t x39 = ((uint64_t)x37 & 0x1fffffff);
- { uint128_t x40 = (x38 + x20);
- { uint128_t x41 = (x40 >> 0x1c);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffff);
- { uint128_t x43 = (x41 + x19);
- { uint128_t x44 = (x43 >> 0x1d);
- { uint64_t x45 = ((uint64_t)x43 & 0x1fffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x1c);
- { uint64_t x48 = ((uint64_t)x46 & 0xfffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x1c);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffff);
- { uint128_t x52 = (x27 + ((uint128_t)0x1000003d1 * x50));
- { uint64_t x53 = (uint64_t) (x52 >> 0x1d);
- { uint64_t x54 = ((uint64_t)x52 & 0x1fffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x1c);
- { uint64_t x57 = (x55 & 0xfffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.v b/src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.v
deleted file mode 100644
index a63d8fbb7..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.log
deleted file mode 100644
index cbf6a50da..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = ((uint128_t)(x2 * x15) + ((0x2 * (x4 * x16)) + ((x6 * x14) + ((0x2 * (x8 * x12)) + ((x10 * x10) + ((0x2 * (x12 * x8)) + ((x14 * x6) + ((0x2 * (x16 * x4)) + (x15 * x2)))))))));
- uint128_t x18 = (((x2 * x16) + ((x4 * x14) + ((x6 * x12) + ((x8 * x10) + ((x10 * x8) + ((x12 * x6) + ((x14 * x4) + (x16 * x2)))))))) + ((uint128_t)0x1000003d1 * (x15 * x15)));
- uint128_t x19 = (((x2 * x14) + ((0x2 * (x4 * x12)) + ((x6 * x10) + ((0x2 * (x8 * x8)) + ((x10 * x6) + ((0x2 * (x12 * x4)) + (x14 * x2))))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x16 * x15)) + (0x2 * (x15 * x16)))));
- uint128_t x20 = (((x2 * x12) + ((x4 * x10) + ((x6 * x8) + ((x8 * x6) + ((x10 * x4) + (x12 * x2)))))) + ((uint128_t)0x1000003d1 * ((x14 * x15) + ((0x2 * (x16 * x16)) + (x15 * x14)))));
- uint128_t x21 = (((x2 * x10) + ((0x2 * (x4 * x8)) + ((x6 * x6) + ((0x2 * (x8 * x4)) + (x10 * x2))))) + ((uint128_t)0x1000003d1 * ((0x2 * (x12 * x15)) + ((0x2 * (x14 * x16)) + ((0x2 * (x16 * x14)) + (0x2 * (x15 * x12)))))));
- uint128_t x22 = (((x2 * x8) + ((x4 * x6) + ((x6 * x4) + (x8 * x2)))) + ((uint128_t)0x1000003d1 * ((x10 * x15) + ((0x2 * (x12 * x16)) + ((x14 * x14) + ((0x2 * (x16 * x12)) + (x15 * x10)))))));
- uint128_t x23 = (((x2 * x6) + ((0x2 * (x4 * x4)) + (x6 * x2))) + ((uint128_t)0x1000003d1 * ((0x2 * (x8 * x15)) + ((0x2 * (x10 * x16)) + ((0x2 * (x12 * x14)) + ((0x2 * (x14 * x12)) + ((0x2 * (x16 * x10)) + (0x2 * (x15 * x8)))))))));
- uint128_t x24 = (((x2 * x4) + (x4 * x2)) + ((uint128_t)0x1000003d1 * ((x6 * x15) + ((0x2 * (x8 * x16)) + ((x10 * x14) + ((0x2 * (x12 * x12)) + ((x14 * x10) + ((0x2 * (x16 * x8)) + (x15 * x6)))))))));
- uint128_t x25 = ((x2 * x2) + (0x1000003d1 * ((0x2 * (x4 * x15)) + ((uint128_t)(0x2 * (x6 * x16)) + ((0x2 * (x8 * x14)) + ((0x2 * (x10 * x12)) + ((0x2 * (x12 * x10)) + ((0x2 * (x14 * x8)) + ((0x2 * (x16 * x6)) + (0x2 * (x15 * x4)))))))))));
- uint128_t x26 = (x25 >> 0x1d);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffff);
- uint128_t x28 = (x26 + x24);
- uint128_t x29 = (x28 >> 0x1c);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffff);
- uint128_t x31 = (x29 + x23);
- uint128_t x32 = (x31 >> 0x1d);
- uint64_t x33 = ((uint64_t)x31 & 0x1fffffff);
- uint128_t x34 = (x32 + x22);
- uint128_t x35 = (x34 >> 0x1c);
- uint64_t x36 = ((uint64_t)x34 & 0xfffffff);
- uint128_t x37 = (x35 + x21);
- uint128_t x38 = (x37 >> 0x1d);
- uint64_t x39 = ((uint64_t)x37 & 0x1fffffff);
- uint128_t x40 = (x38 + x20);
- uint128_t x41 = (x40 >> 0x1c);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffff);
- uint128_t x43 = (x41 + x19);
- uint128_t x44 = (x43 >> 0x1d);
- uint64_t x45 = ((uint64_t)x43 & 0x1fffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x1c);
- uint64_t x48 = ((uint64_t)x46 & 0xfffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x1c);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffff);
- uint128_t x52 = (x27 + ((uint128_t)0x1000003d1 * x50));
- uint64_t x53 = (uint64_t) (x52 >> 0x1d);
- uint64_t x54 = ((uint64_t)x52 & 0x1fffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x1c);
- uint64_t x57 = (x55 & 0xfffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.v
deleted file mode 100644
index 8c1ed02d9..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fesub.c b/src/Specific/solinas64_2e256m4294968273_9limbs/fesub.c
deleted file mode 100644
index eb56d8eea..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0x3ffff85e + x5) - x21);
- out[1] = ((0x1fffffee + x7) - x23);
- out[2] = ((0x3ffffffe + x9) - x25);
- out[3] = ((0x1ffffffe + x11) - x27);
- out[4] = ((0x3ffffffe + x13) - x29);
- out[5] = ((0x1ffffffe + x15) - x31);
- out[6] = ((0x3ffffffe + x17) - x33);
- out[7] = ((0x1ffffffe + x19) - x35);
- out[8] = ((0x1ffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fesub.v b/src/Specific/solinas64_2e256m4294968273_9limbs/fesub.v
deleted file mode 100644
index 641f927a6..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.log
deleted file mode 100644
index ce9b26884..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x1ffffffe + x18) - x34), ((0x1ffffffe + x19) - x35), ((0x3ffffffe + x17) - x33), ((0x1ffffffe + x15) - x31), ((0x3ffffffe + x13) - x29), ((0x1ffffffe + x11) - x27), ((0x3ffffffe + x9) - x25), ((0x1fffffee + x7) - x23), ((0x3ffff85e + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.v
deleted file mode 100644
index 2ea866ba0..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/freeze.c b/src/Specific/solinas64_2e256m4294968273_9limbs/freeze.c
deleted file mode 100644
index e04be709f..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffc2f);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0xffffff7);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0xfffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0xfffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x1fffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0xfffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0xfffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x1ffffc2f);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0xffffff7);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x1fffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0xfffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x1fffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0xfffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x1fffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0xfffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0xfffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/freeze.v b/src/Specific/solinas64_2e256m4294968273_9limbs/freeze.v
deleted file mode 100644
index 81af86c86..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.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/solinas64_2e256m4294968273_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.log
deleted file mode 100644
index 268475a35..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffc2f);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0xffffff7);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x1fffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0xfffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x1fffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0xfffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x1fffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0xfffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0xfffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x1ffffc2f);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0xffffff7);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x1fffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0xfffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x1fffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0xfffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x1fffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0xfffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0xfffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.v
deleted file mode 100644
index c8452a039..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e256m4294968273_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e256m4294968273_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e256m4294968273_9limbs/py_interpreter.sh
deleted file mode 100755
index 68cc29d7c..000000000
--- a/src/Specific/solinas64_2e256m4294968273_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**256 - 4294968273' -Dmodulus_bytes='28 + 4/9' -Da24='121665'
diff --git a/src/Specific/solinas64_2e266m3_5limbs/CurveParameters.v b/src/Specific/solinas64_2e266m3_5limbs/CurveParameters.v
deleted file mode 100644
index 1aa25a425..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^266 - 3
-Base: 53.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 53 + 1/5;
- bitwidth := 64;
- s := 2^266;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e266m3_5limbs/Synthesis.v b/src/Specific/solinas64_2e266m3_5limbs/Synthesis.v
deleted file mode 100644
index a3fb9e197..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/compiler.sh b/src/Specific/solinas64_2e266m3_5limbs/compiler.sh
deleted file mode 100755
index 51bcb4b41..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas64_2e266m3_5limbs/compilerxx.sh b/src/Specific/solinas64_2e266m3_5limbs/compilerxx.sh
deleted file mode 100755
index ce71bbbe9..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,53,53,53}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas64_2e266m3_5limbs/feadd.c b/src/Specific/solinas64_2e266m3_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_5limbs/feadd.v b/src/Specific/solinas64_2e266m3_5limbs/feadd.v
deleted file mode 100644
index 46af43726..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.v
deleted file mode 100644
index 4d41a5012..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fecarry.v b/src/Specific/solinas64_2e266m3_5limbs/fecarry.v
deleted file mode 100644
index 3f4ca5956..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e266m3_5limbs/fecarryDisplay.v
deleted file mode 100644
index a4a15d4f6..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e266m3_5limbs/femul.c b/src/Specific/solinas64_2e266m3_5limbs/femul.c
deleted file mode 100644
index fbc515dcc..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x3 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x3 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x3 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x3 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint64_t x25 = (uint64_t) (x24 >> 0x36);
- { uint64_t x26 = ((uint64_t)x24 & 0x3fffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint64_t x28 = (uint64_t) (x27 >> 0x35);
- { uint64_t x29 = ((uint64_t)x27 & 0x1fffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint64_t x31 = (uint64_t) (x30 >> 0x35);
- { uint64_t x32 = ((uint64_t)x30 & 0x1fffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint64_t x34 = (uint64_t) (x33 >> 0x35);
- { uint64_t x35 = ((uint64_t)x33 & 0x1fffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x35);
- { uint64_t x38 = ((uint64_t)x36 & 0x1fffffffffffff);
- { uint64_t x39 = (x26 + (0x3 * x37));
- { uint64_t x40 = (x39 >> 0x36);
- { uint64_t x41 = (x39 & 0x3fffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x35);
- { uint64_t x44 = (x42 & 0x1fffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_5limbs/femul.v b/src/Specific/solinas64_2e266m3_5limbs/femul.v
deleted file mode 100644
index 9742bb2ad..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/femulDisplay.log b/src/Specific/solinas64_2e266m3_5limbs/femulDisplay.log
deleted file mode 100644
index 1afee3fde..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x3 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x3 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x3 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x3 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint64_t x25 = (uint64_t) (x24 >> 0x36);
- uint64_t x26 = ((uint64_t)x24 & 0x3fffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint64_t x28 = (uint64_t) (x27 >> 0x35);
- uint64_t x29 = ((uint64_t)x27 & 0x1fffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint64_t x31 = (uint64_t) (x30 >> 0x35);
- uint64_t x32 = ((uint64_t)x30 & 0x1fffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint64_t x34 = (uint64_t) (x33 >> 0x35);
- uint64_t x35 = ((uint64_t)x33 & 0x1fffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x35);
- uint64_t x38 = ((uint64_t)x36 & 0x1fffffffffffff);
- uint64_t x39 = (x26 + (0x3 * x37));
- uint64_t x40 = (x39 >> 0x36);
- uint64_t x41 = (x39 & 0x3fffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x35);
- uint64_t x44 = (x42 & 0x1fffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_5limbs/femulDisplay.v b/src/Specific/solinas64_2e266m3_5limbs/femulDisplay.v
deleted file mode 100644
index 043936c3f..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fesquare.c b/src/Specific/solinas64_2e266m3_5limbs/fesquare.c
deleted file mode 100644
index 56f5fdb77..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint64_t x14 = (uint64_t) (x13 >> 0x36);
- { uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint64_t x17 = (uint64_t) (x16 >> 0x35);
- { uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint64_t x20 = (uint64_t) (x19 >> 0x35);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint64_t x23 = (uint64_t) (x22 >> 0x35);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x35);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- { uint64_t x28 = (x15 + (0x3 * x26));
- { uint64_t x29 = (x28 >> 0x36);
- { uint64_t x30 = (x28 & 0x3fffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x35);
- { uint64_t x33 = (x31 & 0x1fffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fesquare.v b/src/Specific/solinas64_2e266m3_5limbs/fesquare.v
deleted file mode 100644
index 52f6443d9..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.log
deleted file mode 100644
index 6b6852a74..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint64_t x14 = (uint64_t) (x13 >> 0x36);
- uint64_t x15 = ((uint64_t)x13 & 0x3fffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint64_t x17 = (uint64_t) (x16 >> 0x35);
- uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint64_t x20 = (uint64_t) (x19 >> 0x35);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint64_t x23 = (uint64_t) (x22 >> 0x35);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x35);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- uint64_t x28 = (x15 + (0x3 * x26));
- uint64_t x29 = (x28 >> 0x36);
- uint64_t x30 = (x28 & 0x3fffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x35);
- uint64_t x33 = (x31 & 0x1fffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.v
deleted file mode 100644
index 02c9ea7ec..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fesub.c b/src/Specific/solinas64_2e266m3_5limbs/fesub.c
deleted file mode 100644
index 3807f5376..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x7ffffffffffffa + x5) - x13);
- out[1] = ((0x3ffffffffffffe + x7) - x15);
- out[2] = ((0x3ffffffffffffe + x9) - x17);
- out[3] = ((0x3ffffffffffffe + x11) - x19);
- out[4] = ((0x3ffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fesub.v b/src/Specific/solinas64_2e266m3_5limbs/fesub.v
deleted file mode 100644
index 5fc288dfd..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.log
deleted file mode 100644
index 87750632d..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3ffffffffffffe + x10) - x18), ((0x3ffffffffffffe + x11) - x19), ((0x3ffffffffffffe + x9) - x17), ((0x3ffffffffffffe + x7) - x15), ((0x7ffffffffffffa + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.v
deleted file mode 100644
index 62b279ab2..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e266m3_5limbs/freeze.c b/src/Specific/solinas64_2e266m3_5limbs/freeze.c
deleted file mode 100644
index 36e1f6380..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffd);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1fffffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1fffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1fffffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x3ffffffffffffd);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x1fffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x1fffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x1fffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x1fffffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_5limbs/freeze.v b/src/Specific/solinas64_2e266m3_5limbs/freeze.v
deleted file mode 100644
index 02eabe730..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.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/solinas64_2e266m3_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.log
deleted file mode 100644
index add8edb9e..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffd);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1fffffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1fffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1fffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1fffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x3ffffffffffffd);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x1fffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x1fffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x1fffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x1fffffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.v
deleted file mode 100644
index f1dfee7dc..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e266m3_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e266m3_5limbs/py_interpreter.sh
deleted file mode 100755
index e1705c801..000000000
--- a/src/Specific/solinas64_2e266m3_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**266 - 3' -Dmodulus_bytes='53.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e266m3_6limbs/CurveParameters.v b/src/Specific/solinas64_2e266m3_6limbs/CurveParameters.v
deleted file mode 100644
index 872cb57b9..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^266 - 3
-Base: 44 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 44 + 1/3;
- bitwidth := 64;
- s := 2^266;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e266m3_6limbs/Synthesis.v b/src/Specific/solinas64_2e266m3_6limbs/Synthesis.v
deleted file mode 100644
index e130ce29f..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/compiler.sh b/src/Specific/solinas64_2e266m3_6limbs/compiler.sh
deleted file mode 100755
index 49dce2d9b..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,44,44,45,44,44}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas64_2e266m3_6limbs/compilerxx.sh b/src/Specific/solinas64_2e266m3_6limbs/compilerxx.sh
deleted file mode 100755
index d78e6a5cc..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,44,44,45,44,44}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='34' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<266) - 3' "$@"
diff --git a/src/Specific/solinas64_2e266m3_6limbs/feadd.c b/src/Specific/solinas64_2e266m3_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_6limbs/feadd.v b/src/Specific/solinas64_2e266m3_6limbs/feadd.v
deleted file mode 100644
index e676d0ffc..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.v
deleted file mode 100644
index 3f3b9a4b9..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fecarry.v b/src/Specific/solinas64_2e266m3_6limbs/fecarry.v
deleted file mode 100644
index a40421925..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e266m3_6limbs/fecarryDisplay.v
deleted file mode 100644
index f1b232e87..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e266m3_6limbs/femul.c b/src/Specific/solinas64_2e266m3_6limbs/femul.c
deleted file mode 100644
index a42a8f09e..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + ((0x2 * ((uint128_t)x7 * x23)) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((0x2 * ((uint128_t)x13 * x17)) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x3 * ((uint128_t)x12 * x22)));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + (0x3 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x3 * (((uint128_t)x11 * x22) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x12 * x21)))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x3 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x3 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x2d);
- { uint64_t x31 = ((uint64_t)x29 & 0x1fffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2c);
- { uint64_t x34 = ((uint64_t)x32 & 0xfffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x2c);
- { uint64_t x37 = ((uint64_t)x35 & 0xfffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x2d);
- { uint64_t x40 = ((uint64_t)x38 & 0x1fffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2c);
- { uint64_t x43 = ((uint64_t)x41 & 0xfffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2c);
- { uint64_t x46 = ((uint64_t)x44 & 0xfffffffffff);
- { uint64_t x47 = (x31 + (0x3 * x45));
- { uint64_t x48 = (x47 >> 0x2d);
- { uint64_t x49 = (x47 & 0x1fffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x2c);
- { uint64_t x52 = (x50 & 0xfffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_6limbs/femul.v b/src/Specific/solinas64_2e266m3_6limbs/femul.v
deleted file mode 100644
index 633ebc4ea..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/femulDisplay.log b/src/Specific/solinas64_2e266m3_6limbs/femulDisplay.log
deleted file mode 100644
index 8e3d2938d..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + ((0x2 * ((uint128_t)x7 * x23)) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((0x2 * ((uint128_t)x13 * x17)) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x3 * ((uint128_t)x12 * x22)));
- uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + (0x3 * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x3 * (((uint128_t)x11 * x22) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x12 * x21)))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x3 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x3 * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x2d);
- uint64_t x31 = ((uint64_t)x29 & 0x1fffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x2c);
- uint64_t x34 = ((uint64_t)x32 & 0xfffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x2c);
- uint64_t x37 = ((uint64_t)x35 & 0xfffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x2d);
- uint64_t x40 = ((uint64_t)x38 & 0x1fffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x2c);
- uint64_t x43 = ((uint64_t)x41 & 0xfffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x2c);
- uint64_t x46 = ((uint64_t)x44 & 0xfffffffffff);
- uint64_t x47 = (x31 + (0x3 * x45));
- uint64_t x48 = (x47 >> 0x2d);
- uint64_t x49 = (x47 & 0x1fffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x2c);
- uint64_t x52 = (x50 & 0xfffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_6limbs/femulDisplay.v b/src/Specific/solinas64_2e266m3_6limbs/femulDisplay.v
deleted file mode 100644
index c4e8f8559..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fesquare.c b/src/Specific/solinas64_2e266m3_6limbs/fesquare.c
deleted file mode 100644
index 175fd89fc..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x3 * ((uint128_t)x9 * x9)));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x9) + ((0x2 * ((uint128_t)x10 * x10)) + ((uint128_t)x9 * x8)))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x2d);
- { uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- { uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2c);
- { uint64_t x24 = ((uint64_t)x22 & 0xfffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2d);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2c);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2c);
- { uint64_t x33 = ((uint64_t)x31 & 0xfffffffffff);
- { uint64_t x34 = (x18 + (0x3 * x32));
- { uint64_t x35 = (x34 >> 0x2d);
- { uint64_t x36 = (x34 & 0x1fffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x2c);
- { uint64_t x39 = (x37 & 0xfffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fesquare.v b/src/Specific/solinas64_2e266m3_6limbs/fesquare.v
deleted file mode 100644
index fae558724..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.log
deleted file mode 100644
index 390b09a98..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x3 * ((uint128_t)x9 * x9)));
- uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x9) + ((0x2 * ((uint128_t)x10 * x10)) + ((uint128_t)x9 * x8)))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x2d);
- uint64_t x18 = ((uint64_t)x16 & 0x1fffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x2c);
- uint64_t x21 = ((uint64_t)x19 & 0xfffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x2c);
- uint64_t x24 = ((uint64_t)x22 & 0xfffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x2d);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x2c);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x2c);
- uint64_t x33 = ((uint64_t)x31 & 0xfffffffffff);
- uint64_t x34 = (x18 + (0x3 * x32));
- uint64_t x35 = (x34 >> 0x2d);
- uint64_t x36 = (x34 & 0x1fffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x2c);
- uint64_t x39 = (x37 & 0xfffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.v
deleted file mode 100644
index 02a7eabee..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fesub.c b/src/Specific/solinas64_2e266m3_6limbs/fesub.c
deleted file mode 100644
index fe58e8d37..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x3ffffffffffa + x5) - x15);
- out[1] = ((0x1ffffffffffe + x7) - x17);
- out[2] = ((0x1ffffffffffe + x9) - x19);
- out[3] = ((0x3ffffffffffe + x11) - x21);
- out[4] = ((0x1ffffffffffe + x13) - x23);
- out[5] = ((0x1ffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fesub.v b/src/Specific/solinas64_2e266m3_6limbs/fesub.v
deleted file mode 100644
index 56ba2b495..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.log
deleted file mode 100644
index b7fb76359..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x1ffffffffffe + x12) - x22), ((0x1ffffffffffe + x13) - x23), ((0x3ffffffffffe + x11) - x21), ((0x1ffffffffffe + x9) - x19), ((0x1ffffffffffe + x7) - x17), ((0x3ffffffffffa + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.v
deleted file mode 100644
index 11dd08a48..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e266m3_6limbs/freeze.c b/src/Specific/solinas64_2e266m3_6limbs/freeze.c
deleted file mode 100644
index bc7c0b19b..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffd);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xfffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xfffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xfffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xfffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x1ffffffffffd);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0xfffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0xfffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x1fffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0xfffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0xfffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e266m3_6limbs/freeze.v b/src/Specific/solinas64_2e266m3_6limbs/freeze.v
deleted file mode 100644
index 1d9c2d451..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.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/solinas64_2e266m3_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.log
deleted file mode 100644
index 9f74404db..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffd);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xfffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xfffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xfffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xfffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x1ffffffffffd);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0xfffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0xfffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x1fffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0xfffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0xfffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.v
deleted file mode 100644
index 06076579c..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e266m3_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e266m3_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e266m3_6limbs/py_interpreter.sh
deleted file mode 100755
index 9fcb44040..000000000
--- a/src/Specific/solinas64_2e266m3_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**266 - 3' -Dmodulus_bytes='44 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e285m9_5limbs/CurveParameters.v b/src/Specific/solinas64_2e285m9_5limbs/CurveParameters.v
deleted file mode 100644
index 938d4c035..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^285 - 9
-Base: 57
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 57;
- bitwidth := 64;
- s := 2^285;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e285m9_5limbs/Synthesis.v b/src/Specific/solinas64_2e285m9_5limbs/Synthesis.v
deleted file mode 100644
index de54ea6e8..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/compiler.sh b/src/Specific/solinas64_2e285m9_5limbs/compiler.sh
deleted file mode 100755
index 2f90ee1f5..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas64_2e285m9_5limbs/compilerxx.sh b/src/Specific/solinas64_2e285m9_5limbs/compilerxx.sh
deleted file mode 100755
index 4df26a283..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,57,57,57,57}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas64_2e285m9_5limbs/feadd.c b/src/Specific/solinas64_2e285m9_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_5limbs/feadd.v b/src/Specific/solinas64_2e285m9_5limbs/feadd.v
deleted file mode 100644
index 2473da8d6..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.v
deleted file mode 100644
index 2cf6486aa..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fecarry.v b/src/Specific/solinas64_2e285m9_5limbs/fecarry.v
deleted file mode 100644
index ccfd6996e..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e285m9_5limbs/fecarryDisplay.v
deleted file mode 100644
index 253733586..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e285m9_5limbs/femul.c b/src/Specific/solinas64_2e285m9_5limbs/femul.c
deleted file mode 100644
index 932ed20b5..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x9 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x9 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x9 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x9 * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- { uint128_t x25 = (x24 >> 0x39);
- { uint64_t x26 = ((uint64_t)x24 & 0x1ffffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint128_t x28 = (x27 >> 0x39);
- { uint64_t x29 = ((uint64_t)x27 & 0x1ffffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint128_t x31 = (x30 >> 0x39);
- { uint64_t x32 = ((uint64_t)x30 & 0x1ffffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint128_t x34 = (x33 >> 0x39);
- { uint64_t x35 = ((uint64_t)x33 & 0x1ffffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint64_t x37 = (uint64_t) (x36 >> 0x39);
- { uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffffffff);
- { uint128_t x39 = (x26 + ((uint128_t)0x9 * x37));
- { uint64_t x40 = (uint64_t) (x39 >> 0x39);
- { uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x39);
- { uint64_t x44 = (x42 & 0x1ffffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_5limbs/femul.v b/src/Specific/solinas64_2e285m9_5limbs/femul.v
deleted file mode 100644
index fe0a48a25..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/femulDisplay.log b/src/Specific/solinas64_2e285m9_5limbs/femulDisplay.log
deleted file mode 100644
index dfa089f06..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + (((uint128_t)x11 * x15) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + (((uint128_t)x9 * x15) + ((uint128_t)x11 * x13)))) + (0x9 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + (((uint128_t)x7 * x15) + ((uint128_t)x9 * x13))) + (0x9 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x9 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x9 * (((uint128_t)x7 * x18) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x10 * x15))))));
- uint128_t x25 = (x24 >> 0x39);
- uint64_t x26 = ((uint64_t)x24 & 0x1ffffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint128_t x28 = (x27 >> 0x39);
- uint64_t x29 = ((uint64_t)x27 & 0x1ffffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint128_t x31 = (x30 >> 0x39);
- uint64_t x32 = ((uint64_t)x30 & 0x1ffffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint128_t x34 = (x33 >> 0x39);
- uint64_t x35 = ((uint64_t)x33 & 0x1ffffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint64_t x37 = (uint64_t) (x36 >> 0x39);
- uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffffffff);
- uint128_t x39 = (x26 + ((uint128_t)0x9 * x37));
- uint64_t x40 = (uint64_t) (x39 >> 0x39);
- uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x39);
- uint64_t x44 = (x42 & 0x1ffffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_5limbs/femulDisplay.v b/src/Specific/solinas64_2e285m9_5limbs/femulDisplay.v
deleted file mode 100644
index acd91ee38..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fesquare.c b/src/Specific/solinas64_2e285m9_5limbs/fesquare.c
deleted file mode 100644
index 2d267f366..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x9 * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- { uint128_t x14 = (x13 >> 0x39);
- { uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint128_t x17 = (x16 >> 0x39);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint128_t x20 = (x19 >> 0x39);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint128_t x23 = (x22 >> 0x39);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint64_t x26 = (uint64_t) (x25 >> 0x39);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- { uint128_t x28 = (x15 + ((uint128_t)0x9 * x26));
- { uint64_t x29 = (uint64_t) (x28 >> 0x39);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x39);
- { uint64_t x33 = (x31 & 0x1ffffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fesquare.v b/src/Specific/solinas64_2e285m9_5limbs/fesquare.v
deleted file mode 100644
index e461ab98a..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.log
deleted file mode 100644
index ab7e499f7..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x9 * (((uint128_t)x4 * x7) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x7 * x4))))));
- uint128_t x14 = (x13 >> 0x39);
- uint64_t x15 = ((uint64_t)x13 & 0x1ffffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint128_t x17 = (x16 >> 0x39);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint128_t x20 = (x19 >> 0x39);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint128_t x23 = (x22 >> 0x39);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint64_t x26 = (uint64_t) (x25 >> 0x39);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- uint128_t x28 = (x15 + ((uint128_t)0x9 * x26));
- uint64_t x29 = (uint64_t) (x28 >> 0x39);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x39);
- uint64_t x33 = (x31 & 0x1ffffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.v
deleted file mode 100644
index 6d5f64e0c..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fesub.c b/src/Specific/solinas64_2e285m9_5limbs/fesub.c
deleted file mode 100644
index 5432636e7..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0x3ffffffffffffee + x5) - x13);
- out[1] = ((0x3fffffffffffffe + x7) - x15);
- out[2] = ((0x3fffffffffffffe + x9) - x17);
- out[3] = ((0x3fffffffffffffe + x11) - x19);
- out[4] = ((0x3fffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fesub.v b/src/Specific/solinas64_2e285m9_5limbs/fesub.v
deleted file mode 100644
index f3afe1bc0..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.log
deleted file mode 100644
index 4afd8dcc0..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x3fffffffffffffe + x10) - x18), ((0x3fffffffffffffe + x11) - x19), ((0x3fffffffffffffe + x9) - x17), ((0x3fffffffffffffe + x7) - x15), ((0x3ffffffffffffee + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.v
deleted file mode 100644
index 4e8bade3c..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e285m9_5limbs/freeze.c b/src/Specific/solinas64_2e285m9_5limbs/freeze.c
deleted file mode 100644
index a41633544..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffff7);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1ffffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x1fffffffffffff7);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x1ffffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x1ffffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x1ffffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x1ffffffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_5limbs/freeze.v b/src/Specific/solinas64_2e285m9_5limbs/freeze.v
deleted file mode 100644
index 631049a95..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.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/solinas64_2e285m9_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.log
deleted file mode 100644
index 9f8619d80..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffff7);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x1ffffffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x1ffffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x1ffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x1ffffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x1fffffffffffff7);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x1ffffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x1ffffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x1ffffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x1ffffffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.v
deleted file mode 100644
index e6028d1b9..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e285m9_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e285m9_5limbs/py_interpreter.sh
deleted file mode 100755
index 263e483da..000000000
--- a/src/Specific/solinas64_2e285m9_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='57' -Da24='121665'
diff --git a/src/Specific/solinas64_2e285m9_6limbs/CurveParameters.v b/src/Specific/solinas64_2e285m9_6limbs/CurveParameters.v
deleted file mode 100644
index 4f7bf76f6..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^285 - 9
-Base: 47.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 47 + 1/2;
- bitwidth := 64;
- s := 2^285;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e285m9_6limbs/Synthesis.v b/src/Specific/solinas64_2e285m9_6limbs/Synthesis.v
deleted file mode 100644
index 5d41216fa..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/compiler.sh b/src/Specific/solinas64_2e285m9_6limbs/compiler.sh
deleted file mode 100755
index bae3bc8d7..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,48,47}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas64_2e285m9_6limbs/compilerxx.sh b/src/Specific/solinas64_2e285m9_6limbs/compilerxx.sh
deleted file mode 100755
index f1c4e3828..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,48,47}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='36' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<285) - 9' "$@"
diff --git a/src/Specific/solinas64_2e285m9_6limbs/feadd.c b/src/Specific/solinas64_2e285m9_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_6limbs/feadd.v b/src/Specific/solinas64_2e285m9_6limbs/feadd.v
deleted file mode 100644
index 9b85b752a..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.v
deleted file mode 100644
index 1a8fb7606..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fecarry.v b/src/Specific/solinas64_2e285m9_6limbs/fecarry.v
deleted file mode 100644
index f0fa849a4..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e285m9_6limbs/fecarryDisplay.v
deleted file mode 100644
index 397ef457c..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e285m9_6limbs/femul.c b/src/Specific/solinas64_2e285m9_6limbs/femul.c
deleted file mode 100644
index 389d4a67f..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x30);
- { uint64_t x31 = ((uint64_t)x29 & 0xffffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x2f);
- { uint64_t x34 = ((uint64_t)x32 & 0x7fffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x30);
- { uint64_t x37 = ((uint64_t)x35 & 0xffffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x2f);
- { uint64_t x40 = ((uint64_t)x38 & 0x7fffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x30);
- { uint64_t x43 = ((uint64_t)x41 & 0xffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2f);
- { uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffff);
- { uint64_t x47 = (x31 + (0x9 * x45));
- { uint64_t x48 = (x47 >> 0x30);
- { uint64_t x49 = (x47 & 0xffffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x2f);
- { uint64_t x52 = (x50 & 0x7fffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_6limbs/femul.v b/src/Specific/solinas64_2e285m9_6limbs/femul.v
deleted file mode 100644
index ab0521acf..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/femulDisplay.log b/src/Specific/solinas64_2e285m9_6limbs/femulDisplay.log
deleted file mode 100644
index 2c96480f4..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x30);
- uint64_t x31 = ((uint64_t)x29 & 0xffffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x2f);
- uint64_t x34 = ((uint64_t)x32 & 0x7fffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x30);
- uint64_t x37 = ((uint64_t)x35 & 0xffffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x2f);
- uint64_t x40 = ((uint64_t)x38 & 0x7fffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x30);
- uint64_t x43 = ((uint64_t)x41 & 0xffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x2f);
- uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffff);
- uint64_t x47 = (x31 + (0x9 * x45));
- uint64_t x48 = (x47 >> 0x30);
- uint64_t x49 = (x47 & 0xffffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x2f);
- uint64_t x52 = (x50 & 0x7fffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_6limbs/femulDisplay.v b/src/Specific/solinas64_2e285m9_6limbs/femulDisplay.v
deleted file mode 100644
index 8276b5424..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fesquare.c b/src/Specific/solinas64_2e285m9_6limbs/fesquare.c
deleted file mode 100644
index 0d70776b1..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x30);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- { uint64_t x34 = (x18 + (0x9 * x32));
- { uint64_t x35 = (x34 >> 0x30);
- { uint64_t x36 = (x34 & 0xffffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x2f);
- { uint64_t x39 = (x37 & 0x7fffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fesquare.v b/src/Specific/solinas64_2e285m9_6limbs/fesquare.v
deleted file mode 100644
index 84b7cc03c..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.log
deleted file mode 100644
index fc3ae692b..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x30);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x2f);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- uint64_t x34 = (x18 + (0x9 * x32));
- uint64_t x35 = (x34 >> 0x30);
- uint64_t x36 = (x34 & 0xffffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x2f);
- uint64_t x39 = (x37 & 0x7fffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.v
deleted file mode 100644
index c53820c7d..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fesub.c b/src/Specific/solinas64_2e285m9_6limbs/fesub.c
deleted file mode 100644
index f93c66a21..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x1ffffffffffee + x5) - x15);
- out[1] = ((0xfffffffffffe + x7) - x17);
- out[2] = ((0x1fffffffffffe + x9) - x19);
- out[3] = ((0xfffffffffffe + x11) - x21);
- out[4] = ((0x1fffffffffffe + x13) - x23);
- out[5] = ((0xfffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fesub.v b/src/Specific/solinas64_2e285m9_6limbs/fesub.v
deleted file mode 100644
index 95cf0d7ee..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.log
deleted file mode 100644
index 0b3db993c..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0xfffffffffffe + x12) - x22), ((0x1fffffffffffe + x13) - x23), ((0xfffffffffffe + x11) - x21), ((0x1fffffffffffe + x9) - x19), ((0xfffffffffffe + x7) - x17), ((0x1ffffffffffee + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.v
deleted file mode 100644
index 814b73a3c..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e285m9_6limbs/freeze.c b/src/Specific/solinas64_2e285m9_6limbs/freeze.c
deleted file mode 100644
index de5684ced..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff7);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x7fffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x7fffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffff7);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x7fffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0xffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x7fffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0xffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x7fffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e285m9_6limbs/freeze.v b/src/Specific/solinas64_2e285m9_6limbs/freeze.v
deleted file mode 100644
index ef9c47074..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.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/solinas64_2e285m9_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.log
deleted file mode 100644
index ef01503b3..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff7);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x7fffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x7fffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x7fffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffff7);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x7fffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0xffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x7fffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0xffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x7fffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.v
deleted file mode 100644
index 4ebcd03b7..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e285m9_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e285m9_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e285m9_6limbs/py_interpreter.sh
deleted file mode 100755
index 92f4e432f..000000000
--- a/src/Specific/solinas64_2e285m9_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**285 - 9' -Dmodulus_bytes='47.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e291m19_5limbs/CurveParameters.v b/src/Specific/solinas64_2e291m19_5limbs/CurveParameters.v
deleted file mode 100644
index 3f580fdc6..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^291 - 19
-Base: 58.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 5%nat;
- base := 58 + 1/5;
- bitwidth := 64;
- s := 2^291;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 5); [0; 1]]%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/solinas64_2e291m19_5limbs/Synthesis.v b/src/Specific/solinas64_2e291m19_5limbs/Synthesis.v
deleted file mode 100644
index f7495a7dd..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/compiler.sh b/src/Specific/solinas64_2e291m19_5limbs/compiler.sh
deleted file mode 100755
index 7df374135..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas64_2e291m19_5limbs/compilerxx.sh b/src/Specific/solinas64_2e291m19_5limbs/compilerxx.sh
deleted file mode 100755
index 59e85af40..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,58,58,58}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='5' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas64_2e291m19_5limbs/feadd.c b/src/Specific/solinas64_2e291m19_5limbs/feadd.c
deleted file mode 100644
index a05766e0b..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/feadd.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void feadd(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = (x5 + x13);
- out[1] = (x7 + x15);
- out[2] = (x9 + x17);
- out[3] = (x11 + x19);
- out[4] = (x10 + x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_5limbs/feadd.v b/src/Specific/solinas64_2e291m19_5limbs/feadd.v
deleted file mode 100644
index a73b2a5f9..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/feaddDisplay.log b/src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.log
deleted file mode 100644
index bce3421b2..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- ((x10 + x18), (x11 + x19), (x9 + x17), (x7 + x15), (x5 + x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.v b/src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.v
deleted file mode 100644
index b301619a1..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fecarry.v b/src/Specific/solinas64_2e291m19_5limbs/fecarry.v
deleted file mode 100644
index 02b67cb45..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/fecarryDisplay.v b/src/Specific/solinas64_2e291m19_5limbs/fecarryDisplay.v
deleted file mode 100644
index 73486c25a..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e291m19_5limbs/femul.c b/src/Specific/solinas64_2e291m19_5limbs/femul.c
deleted file mode 100644
index aadbb7dc2..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/femul.c
+++ /dev/null
@@ -1,43 +0,0 @@
-static void femul(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- { uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- { uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x13 * ((uint128_t)x10 * x18)));
- { uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x13 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- { uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x13 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- { uint128_t x24 = (((uint128_t)x5 * x13) + (0x13 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- { uint128_t x25 = (x24 >> 0x3b);
- { uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffffff);
- { uint128_t x27 = (x25 + x23);
- { uint128_t x28 = (x27 >> 0x3a);
- { uint64_t x29 = ((uint64_t)x27 & 0x3ffffffffffffff);
- { uint128_t x30 = (x28 + x22);
- { uint128_t x31 = (x30 >> 0x3a);
- { uint64_t x32 = ((uint64_t)x30 & 0x3ffffffffffffff);
- { uint128_t x33 = (x31 + x21);
- { uint128_t x34 = (x33 >> 0x3a);
- { uint64_t x35 = ((uint64_t)x33 & 0x3ffffffffffffff);
- { uint128_t x36 = (x34 + x20);
- { uint128_t x37 = (x36 >> 0x3a);
- { uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffffffff);
- { uint128_t x39 = (x26 + (0x13 * x37));
- { uint64_t x40 = (uint64_t) (x39 >> 0x3b);
- { uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffffff);
- { uint64_t x42 = (x40 + x29);
- { uint64_t x43 = (x42 >> 0x3a);
- { uint64_t x44 = (x42 & 0x3ffffffffffffff);
- out[0] = x41;
- out[1] = x44;
- out[2] = (x43 + x32);
- out[3] = x35;
- out[4] = x38;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_5limbs/femul.v b/src/Specific/solinas64_2e291m19_5limbs/femul.v
deleted file mode 100644
index f93af2383..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/femulDisplay.log b/src/Specific/solinas64_2e291m19_5limbs/femulDisplay.log
deleted file mode 100644
index 5ea4cd5a6..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/femulDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- uint128_t x20 = (((uint128_t)x5 * x18) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((0x2 * ((uint128_t)x11 * x15)) + ((uint128_t)x10 * x13)))));
- uint128_t x21 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((0x2 * ((uint128_t)x9 * x15)) + ((uint128_t)x11 * x13)))) + (0x13 * ((uint128_t)x10 * x18)));
- uint128_t x22 = ((((uint128_t)x5 * x17) + ((0x2 * ((uint128_t)x7 * x15)) + ((uint128_t)x9 * x13))) + (0x13 * (((uint128_t)x11 * x18) + ((uint128_t)x10 * x19))));
- uint128_t x23 = ((((uint128_t)x5 * x15) + ((uint128_t)x7 * x13)) + (0x13 * (((uint128_t)x9 * x18) + (((uint128_t)x11 * x19) + ((uint128_t)x10 * x17)))));
- uint128_t x24 = (((uint128_t)x5 * x13) + (0x13 * ((0x2 * ((uint128_t)x7 * x18)) + ((0x2 * ((uint128_t)x9 * x19)) + ((0x2 * ((uint128_t)x11 * x17)) + (0x2 * ((uint128_t)x10 * x15)))))));
- uint128_t x25 = (x24 >> 0x3b);
- uint64_t x26 = ((uint64_t)x24 & 0x7ffffffffffffff);
- uint128_t x27 = (x25 + x23);
- uint128_t x28 = (x27 >> 0x3a);
- uint64_t x29 = ((uint64_t)x27 & 0x3ffffffffffffff);
- uint128_t x30 = (x28 + x22);
- uint128_t x31 = (x30 >> 0x3a);
- uint64_t x32 = ((uint64_t)x30 & 0x3ffffffffffffff);
- uint128_t x33 = (x31 + x21);
- uint128_t x34 = (x33 >> 0x3a);
- uint64_t x35 = ((uint64_t)x33 & 0x3ffffffffffffff);
- uint128_t x36 = (x34 + x20);
- uint128_t x37 = (x36 >> 0x3a);
- uint64_t x38 = ((uint64_t)x36 & 0x3ffffffffffffff);
- uint128_t x39 = (x26 + (0x13 * x37));
- uint64_t x40 = (uint64_t) (x39 >> 0x3b);
- uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffffff);
- uint64_t x42 = (x40 + x29);
- uint64_t x43 = (x42 >> 0x3a);
- uint64_t x44 = (x42 & 0x3ffffffffffffff);
- return (Return x38, Return x35, (x43 + x32), Return x44, Return x41))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_5limbs/femulDisplay.v b/src/Specific/solinas64_2e291m19_5limbs/femulDisplay.v
deleted file mode 100644
index 07b3ae327..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fesquare.c b/src/Specific/solinas64_2e291m19_5limbs/fesquare.c
deleted file mode 100644
index 781a6ed09..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesquare.c
+++ /dev/null
@@ -1,38 +0,0 @@
-static void fesquare(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- { uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x13 * ((uint128_t)x7 * x7)));
- { uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- { uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- { uint128_t x13 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- { uint128_t x14 = (x13 >> 0x3b);
- { uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffffff);
- { uint128_t x16 = (x14 + x12);
- { uint128_t x17 = (x16 >> 0x3a);
- { uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- { uint128_t x19 = (x17 + x11);
- { uint128_t x20 = (x19 >> 0x3a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- { uint128_t x22 = (x20 + x10);
- { uint128_t x23 = (x22 >> 0x3a);
- { uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffffffff);
- { uint128_t x25 = (x23 + x9);
- { uint128_t x26 = (x25 >> 0x3a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- { uint128_t x28 = (x15 + (0x13 * x26));
- { uint64_t x29 = (uint64_t) (x28 >> 0x3b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff);
- { uint64_t x31 = (x29 + x18);
- { uint64_t x32 = (x31 >> 0x3a);
- { uint64_t x33 = (x31 & 0x3ffffffffffffff);
- out[0] = x30;
- out[1] = x33;
- out[2] = (x32 + x21);
- out[3] = x24;
- out[4] = x27;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fesquare.v b/src/Specific/solinas64_2e291m19_5limbs/fesquare.v
deleted file mode 100644
index 1454a7c70..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/fesquareDisplay.log b/src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.log
deleted file mode 100644
index c6a1136c5..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint128_t x9 = (((uint128_t)x2 * x7) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x7 * x2)))));
- uint128_t x10 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x13 * ((uint128_t)x7 * x7)));
- uint128_t x11 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x7) + ((uint128_t)x7 * x8))));
- uint128_t x12 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x7) + (((uint128_t)x8 * x8) + ((uint128_t)x7 * x6)))));
- uint128_t x13 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x7)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x7 * x4)))))));
- uint128_t x14 = (x13 >> 0x3b);
- uint64_t x15 = ((uint64_t)x13 & 0x7ffffffffffffff);
- uint128_t x16 = (x14 + x12);
- uint128_t x17 = (x16 >> 0x3a);
- uint64_t x18 = ((uint64_t)x16 & 0x3ffffffffffffff);
- uint128_t x19 = (x17 + x11);
- uint128_t x20 = (x19 >> 0x3a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- uint128_t x22 = (x20 + x10);
- uint128_t x23 = (x22 >> 0x3a);
- uint64_t x24 = ((uint64_t)x22 & 0x3ffffffffffffff);
- uint128_t x25 = (x23 + x9);
- uint128_t x26 = (x25 >> 0x3a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- uint128_t x28 = (x15 + (0x13 * x26));
- uint64_t x29 = (uint64_t) (x28 >> 0x3b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff);
- uint64_t x31 = (x29 + x18);
- uint64_t x32 = (x31 >> 0x3a);
- uint64_t x33 = (x31 & 0x3ffffffffffffff);
- return (Return x27, Return x24, (x32 + x21), Return x33, Return x30))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.v b/src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.v
deleted file mode 100644
index da3c01e0b..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fesub.c b/src/Specific/solinas64_2e291m19_5limbs/fesub.c
deleted file mode 100644
index a853aec00..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesub.c
+++ /dev/null
@@ -1,18 +0,0 @@
-static void fesub(uint64_t out[5], const uint64_t in1[5], const uint64_t in2[5]) {
- { const uint64_t x10 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x18 = in2[4];
- { const uint64_t x19 = in2[3];
- { const uint64_t x17 = in2[2];
- { const uint64_t x15 = in2[1];
- { const uint64_t x13 = in2[0];
- out[0] = ((0xfffffffffffffda + x5) - x13);
- out[1] = ((0x7fffffffffffffe + x7) - x15);
- out[2] = ((0x7fffffffffffffe + x9) - x17);
- out[3] = ((0x7fffffffffffffe + x11) - x19);
- out[4] = ((0x7fffffffffffffe + x10) - x18);
- }}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fesub.v b/src/Specific/solinas64_2e291m19_5limbs/fesub.v
deleted file mode 100644
index eaaa0ec3c..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/fesubDisplay.log b/src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.log
deleted file mode 100644
index a5ea892fa..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x10, x11, x9, x7, x5, (x18, x19, x17, x15, x13))%core,
- (((0x7fffffffffffffe + x10) - x18), ((0x7fffffffffffffe + x11) - x19), ((0x7fffffffffffffe + x9) - x17), ((0x7fffffffffffffe + x7) - x15), ((0xfffffffffffffda + x5) - x13)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.v b/src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.v
deleted file mode 100644
index 58456a3c0..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e291m19_5limbs/freeze.c b/src/Specific/solinas64_2e291m19_5limbs/freeze.c
deleted file mode 100644
index 3e256f312..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/freeze.c
+++ /dev/null
@@ -1,29 +0,0 @@
-static void freeze(uint64_t out[5], const uint64_t in1[5]) {
- { const uint64_t x7 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffed);
- { uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffffffffffff);
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffffffff);
- { uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- { uint64_t x25 = (x24 & 0x7ffffffffffffed);
- { uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- { uint64_t x29 = (x24 & 0x3ffffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- { uint64_t x33 = (x24 & 0x3ffffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- { uint64_t x37 = (x24 & 0x3ffffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- { uint64_t x41 = (x24 & 0x3ffffffffffffff);
- { uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- out[0] = x27;
- out[1] = x31;
- out[2] = x35;
- out[3] = x39;
- out[4] = x43;
- }}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_5limbs/freeze.v b/src/Specific/solinas64_2e291m19_5limbs/freeze.v
deleted file mode 100644
index 1104352fa..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.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/solinas64_2e291m19_5limbs/freezeDisplay.log b/src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.log
deleted file mode 100644
index 63fcc15c2..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.log
+++ /dev/null
@@ -1,23 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x7, x8, x6, x4, x2)%core,
- uint64_t x10, uint8_t x11 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffed);
- uint64_t x13, uint8_t x14 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x11, Return x4, 0x3ffffffffffffff);
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x14, Return x6, 0x3ffffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x8, 0x3ffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x7, 0x3ffffffffffffff);
- uint64_t x24 = cmovznz64(x23, 0x0, 0xffffffffffffffffL);
- uint64_t x25 = (x24 & 0x7ffffffffffffed);
- uint64_t x27, uint8_t x28 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x10, Return x25);
- uint64_t x29 = (x24 & 0x3ffffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x13, Return x29);
- uint64_t x33 = (x24 & 0x3ffffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x16, Return x33);
- uint64_t x37 = (x24 & 0x3ffffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x19, Return x37);
- uint64_t x41 = (x24 & 0x3ffffffffffffff);
- uint64_t x43, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x22, Return x41);
- (Return x43, Return x39, Return x35, Return x31, Return x27))
-x
- : word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.v b/src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.v
deleted file mode 100644
index 257182f93..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_5limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e291m19_5limbs/py_interpreter.sh b/src/Specific/solinas64_2e291m19_5limbs/py_interpreter.sh
deleted file mode 100755
index 0180bd322..000000000
--- a/src/Specific/solinas64_2e291m19_5limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**291 - 19' -Dmodulus_bytes='58.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e291m19_6limbs/CurveParameters.v b/src/Specific/solinas64_2e291m19_6limbs/CurveParameters.v
deleted file mode 100644
index 09d464ee7..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^291 - 19
-Base: 48.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 48 + 1/2;
- bitwidth := 64;
- s := 2^291;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e291m19_6limbs/Synthesis.v b/src/Specific/solinas64_2e291m19_6limbs/Synthesis.v
deleted file mode 100644
index f870e415c..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/compiler.sh b/src/Specific/solinas64_2e291m19_6limbs/compiler.sh
deleted file mode 100755
index d41d8b572..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas64_2e291m19_6limbs/compilerxx.sh b/src/Specific/solinas64_2e291m19_6limbs/compilerxx.sh
deleted file mode 100755
index a8e216477..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,49,48,49,48}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='37' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<291) - 19' "$@"
diff --git a/src/Specific/solinas64_2e291m19_6limbs/feadd.c b/src/Specific/solinas64_2e291m19_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_6limbs/feadd.v b/src/Specific/solinas64_2e291m19_6limbs/feadd.v
deleted file mode 100644
index 8945a8a51..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.v
deleted file mode 100644
index aea185c68..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fecarry.v b/src/Specific/solinas64_2e291m19_6limbs/fecarry.v
deleted file mode 100644
index 1e683f0fa..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e291m19_6limbs/fecarryDisplay.v
deleted file mode 100644
index 435e723b0..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e291m19_6limbs/femul.c b/src/Specific/solinas64_2e291m19_6limbs/femul.c
deleted file mode 100644
index f4d373414..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x13 * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x13 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x13 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x13 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x13 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x31);
- { uint64_t x31 = ((uint64_t)x29 & 0x1ffffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x30);
- { uint64_t x34 = ((uint64_t)x32 & 0xffffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x31);
- { uint64_t x37 = ((uint64_t)x35 & 0x1ffffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x30);
- { uint64_t x40 = ((uint64_t)x38 & 0xffffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x31);
- { uint64_t x43 = ((uint64_t)x41 & 0x1ffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x30);
- { uint64_t x46 = ((uint64_t)x44 & 0xffffffffffff);
- { uint64_t x47 = (x31 + (0x13 * x45));
- { uint64_t x48 = (x47 >> 0x31);
- { uint64_t x49 = (x47 & 0x1ffffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x30);
- { uint64_t x52 = (x50 & 0xffffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_6limbs/femul.v b/src/Specific/solinas64_2e291m19_6limbs/femul.v
deleted file mode 100644
index a3a8b77bc..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/femulDisplay.log b/src/Specific/solinas64_2e291m19_6limbs/femulDisplay.log
deleted file mode 100644
index 94c4c74e7..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x13 * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x13 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x13 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x13 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x13 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x31);
- uint64_t x31 = ((uint64_t)x29 & 0x1ffffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x30);
- uint64_t x34 = ((uint64_t)x32 & 0xffffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x31);
- uint64_t x37 = ((uint64_t)x35 & 0x1ffffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x30);
- uint64_t x40 = ((uint64_t)x38 & 0xffffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x31);
- uint64_t x43 = ((uint64_t)x41 & 0x1ffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x30);
- uint64_t x46 = ((uint64_t)x44 & 0xffffffffffff);
- uint64_t x47 = (x31 + (0x13 * x45));
- uint64_t x48 = (x47 >> 0x31);
- uint64_t x49 = (x47 & 0x1ffffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x30);
- uint64_t x52 = (x50 & 0xffffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_6limbs/femulDisplay.v b/src/Specific/solinas64_2e291m19_6limbs/femulDisplay.v
deleted file mode 100644
index 88f018fc9..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fesquare.c b/src/Specific/solinas64_2e291m19_6limbs/fesquare.c
deleted file mode 100644
index 755f6f939..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x31);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x31);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint64_t x34 = (x18 + (0x13 * x32));
- { uint64_t x35 = (x34 >> 0x31);
- { uint64_t x36 = (x34 & 0x1ffffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x30);
- { uint64_t x39 = (x37 & 0xffffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fesquare.v b/src/Specific/solinas64_2e291m19_6limbs/fesquare.v
deleted file mode 100644
index b3e55b4fa..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.log
deleted file mode 100644
index 7226ad189..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x31);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x31);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint64_t x34 = (x18 + (0x13 * x32));
- uint64_t x35 = (x34 >> 0x31);
- uint64_t x36 = (x34 & 0x1ffffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x30);
- uint64_t x39 = (x37 & 0xffffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.v
deleted file mode 100644
index ee23d8947..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fesub.c b/src/Specific/solinas64_2e291m19_6limbs/fesub.c
deleted file mode 100644
index 2d5a7a35d..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x3ffffffffffda + x5) - x15);
- out[1] = ((0x1fffffffffffe + x7) - x17);
- out[2] = ((0x3fffffffffffe + x9) - x19);
- out[3] = ((0x1fffffffffffe + x11) - x21);
- out[4] = ((0x3fffffffffffe + x13) - x23);
- out[5] = ((0x1fffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fesub.v b/src/Specific/solinas64_2e291m19_6limbs/fesub.v
deleted file mode 100644
index b9cc8e814..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.log
deleted file mode 100644
index 44c5ff62b..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x1fffffffffffe + x12) - x22), ((0x3fffffffffffe + x13) - x23), ((0x1fffffffffffe + x11) - x21), ((0x3fffffffffffe + x9) - x19), ((0x1fffffffffffe + x7) - x17), ((0x3ffffffffffda + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.v
deleted file mode 100644
index a19f9552b..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e291m19_6limbs/freeze.c b/src/Specific/solinas64_2e291m19_6limbs/freeze.c
deleted file mode 100644
index 7abb503f8..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffed);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x1ffffffffffed);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0xffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x1ffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0xffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x1ffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0xffffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e291m19_6limbs/freeze.v b/src/Specific/solinas64_2e291m19_6limbs/freeze.v
deleted file mode 100644
index 1ba486be3..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.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/solinas64_2e291m19_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.log
deleted file mode 100644
index e4eb25461..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffed);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1ffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x1ffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x1ffffffffffed);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0xffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x1ffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0xffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x1ffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0xffffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.v
deleted file mode 100644
index e318fb35e..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e291m19_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e291m19_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e291m19_6limbs/py_interpreter.sh
deleted file mode 100755
index 3ac4804d5..000000000
--- a/src/Specific/solinas64_2e291m19_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**291 - 19' -Dmodulus_bytes='48.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e321m9_6limbs/CurveParameters.v b/src/Specific/solinas64_2e321m9_6limbs/CurveParameters.v
deleted file mode 100644
index 4b7c0edf8..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^321 - 9
-Base: 53.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 53 + 1/2;
- bitwidth := 64;
- s := 2^321;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e321m9_6limbs/Synthesis.v b/src/Specific/solinas64_2e321m9_6limbs/Synthesis.v
deleted file mode 100644
index 79251d829..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/compiler.sh b/src/Specific/solinas64_2e321m9_6limbs/compiler.sh
deleted file mode 100755
index 4d774aba1..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas64_2e321m9_6limbs/compilerxx.sh b/src/Specific/solinas64_2e321m9_6limbs/compilerxx.sh
deleted file mode 100755
index df5e6b926..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,53,54,53,54,53}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas64_2e321m9_6limbs/feadd.c b/src/Specific/solinas64_2e321m9_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_6limbs/feadd.v b/src/Specific/solinas64_2e321m9_6limbs/feadd.v
deleted file mode 100644
index 54473dd0e..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.v
deleted file mode 100644
index dff1b68d7..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fecarry.v b/src/Specific/solinas64_2e321m9_6limbs/fecarry.v
deleted file mode 100644
index 3bf2cbca1..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e321m9_6limbs/fecarryDisplay.v
deleted file mode 100644
index 170226bac..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e321m9_6limbs/femul.c b/src/Specific/solinas64_2e321m9_6limbs/femul.c
deleted file mode 100644
index 688d2ca13..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x36);
- { uint64_t x31 = ((uint64_t)x29 & 0x3fffffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x35);
- { uint64_t x34 = ((uint64_t)x32 & 0x1fffffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x36);
- { uint64_t x37 = ((uint64_t)x35 & 0x3fffffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x35);
- { uint64_t x40 = ((uint64_t)x38 & 0x1fffffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x36);
- { uint64_t x43 = ((uint64_t)x41 & 0x3fffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x35);
- { uint64_t x46 = ((uint64_t)x44 & 0x1fffffffffffff);
- { uint64_t x47 = (x31 + (0x9 * x45));
- { uint64_t x48 = (x47 >> 0x36);
- { uint64_t x49 = (x47 & 0x3fffffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x35);
- { uint64_t x52 = (x50 & 0x1fffffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_6limbs/femul.v b/src/Specific/solinas64_2e321m9_6limbs/femul.v
deleted file mode 100644
index 76ffb701a..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/femulDisplay.log b/src/Specific/solinas64_2e321m9_6limbs/femulDisplay.log
deleted file mode 100644
index a5811c0f9..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + (((uint128_t)x9 * x19) + ((0x2 * ((uint128_t)x11 * x17)) + ((uint128_t)x13 * x15))))) + (0x9 * (0x2 * ((uint128_t)x12 * x22))));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x9 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0x9 * ((0x2 * ((uint128_t)x11 * x22)) + (((uint128_t)x13 * x23) + (0x2 * ((uint128_t)x12 * x21))))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x9 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x9 * ((0x2 * ((uint128_t)x7 * x22)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x36);
- uint64_t x31 = ((uint64_t)x29 & 0x3fffffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x35);
- uint64_t x34 = ((uint64_t)x32 & 0x1fffffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x36);
- uint64_t x37 = ((uint64_t)x35 & 0x3fffffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x35);
- uint64_t x40 = ((uint64_t)x38 & 0x1fffffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x36);
- uint64_t x43 = ((uint64_t)x41 & 0x3fffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x35);
- uint64_t x46 = ((uint64_t)x44 & 0x1fffffffffffff);
- uint64_t x47 = (x31 + (0x9 * x45));
- uint64_t x48 = (x47 >> 0x36);
- uint64_t x49 = (x47 & 0x3fffffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x35);
- uint64_t x52 = (x50 & 0x1fffffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_6limbs/femulDisplay.v b/src/Specific/solinas64_2e321m9_6limbs/femulDisplay.v
deleted file mode 100644
index f1a4a1b94..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fesquare.c b/src/Specific/solinas64_2e321m9_6limbs/fesquare.c
deleted file mode 100644
index b2b14b5c2..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x36);
- { uint64_t x18 = ((uint64_t)x16 & 0x3fffffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x35);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x36);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x35);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x35);
- { uint64_t x33 = ((uint64_t)x31 & 0x1fffffffffffff);
- { uint64_t x34 = (x18 + (0x9 * x32));
- { uint64_t x35 = (x34 >> 0x36);
- { uint64_t x36 = (x34 & 0x3fffffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x35);
- { uint64_t x39 = (x37 & 0x1fffffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fesquare.v b/src/Specific/solinas64_2e321m9_6limbs/fesquare.v
deleted file mode 100644
index 48fcc7846..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.log
deleted file mode 100644
index d28671d0a..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x9 * (0x2 * ((uint128_t)x9 * x9))));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x9)) + (((uint128_t)x10 * x10) + (0x2 * ((uint128_t)x9 * x8))))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x9)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x36);
- uint64_t x18 = ((uint64_t)x16 & 0x3fffffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x35);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x36);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x35);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x35);
- uint64_t x33 = ((uint64_t)x31 & 0x1fffffffffffff);
- uint64_t x34 = (x18 + (0x9 * x32));
- uint64_t x35 = (x34 >> 0x36);
- uint64_t x36 = (x34 & 0x3fffffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x35);
- uint64_t x39 = (x37 & 0x1fffffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.v
deleted file mode 100644
index fe859daf6..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fesub.c b/src/Specific/solinas64_2e321m9_6limbs/fesub.c
deleted file mode 100644
index 8e1ad691e..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x7fffffffffffee + x5) - x15);
- out[1] = ((0x3ffffffffffffe + x7) - x17);
- out[2] = ((0x7ffffffffffffe + x9) - x19);
- out[3] = ((0x3ffffffffffffe + x11) - x21);
- out[4] = ((0x7ffffffffffffe + x13) - x23);
- out[5] = ((0x3ffffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fesub.v b/src/Specific/solinas64_2e321m9_6limbs/fesub.v
deleted file mode 100644
index 4bfda800f..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.log
deleted file mode 100644
index 4d9559435..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3ffffffffffffe + x12) - x22), ((0x7ffffffffffffe + x13) - x23), ((0x3ffffffffffffe + x11) - x21), ((0x7ffffffffffffe + x9) - x19), ((0x3ffffffffffffe + x7) - x17), ((0x7fffffffffffee + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.v
deleted file mode 100644
index fe7e1f4b6..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e321m9_6limbs/freeze.c b/src/Specific/solinas64_2e321m9_6limbs/freeze.c
deleted file mode 100644
index 73c7dc587..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffff7);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x1fffffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3fffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x3ffffffffffff7);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x1fffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x3fffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x1fffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x3fffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x1fffffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_6limbs/freeze.v b/src/Specific/solinas64_2e321m9_6limbs/freeze.v
deleted file mode 100644
index 1231207a8..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.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/solinas64_2e321m9_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.log
deleted file mode 100644
index a296ea7ed..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffff7);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x1fffffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x3fffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x1fffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x3ffffffffffff7);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x1fffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x3fffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x1fffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x3fffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x1fffffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.v
deleted file mode 100644
index 38c1b0b85..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e321m9_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e321m9_6limbs/py_interpreter.sh
deleted file mode 100755
index 5fcc08b1a..000000000
--- a/src/Specific/solinas64_2e321m9_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**321 - 9' -Dmodulus_bytes='53.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e321m9_7limbs/CurveParameters.v b/src/Specific/solinas64_2e321m9_7limbs/CurveParameters.v
deleted file mode 100644
index 4be0baccc..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^321 - 9
-Base: 45 + 6/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 45 + 6/7;
- bitwidth := 64;
- s := 2^321;
- c := [(1, 9)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e321m9_7limbs/Synthesis.v b/src/Specific/solinas64_2e321m9_7limbs/Synthesis.v
deleted file mode 100644
index 5ccd10ee8..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/compiler.sh b/src/Specific/solinas64_2e321m9_7limbs/compiler.sh
deleted file mode 100755
index 855a13001..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,45}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas64_2e321m9_7limbs/compilerxx.sh b/src/Specific/solinas64_2e321m9_7limbs/compilerxx.sh
deleted file mode 100755
index 1827e2c49..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,45}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf7}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<321) - 9' "$@"
diff --git a/src/Specific/solinas64_2e321m9_7limbs/feadd.c b/src/Specific/solinas64_2e321m9_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_7limbs/feadd.v b/src/Specific/solinas64_2e321m9_7limbs/feadd.v
deleted file mode 100644
index a84ecadaf..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.v
deleted file mode 100644
index 477f920ee..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fecarry.v b/src/Specific/solinas64_2e321m9_7limbs/fecarry.v
deleted file mode 100644
index 1f5be6444..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e321m9_7limbs/fecarryDisplay.v
deleted file mode 100644
index 1f559c1ad..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e321m9_7limbs/femul.c b/src/Specific/solinas64_2e321m9_7limbs/femul.c
deleted file mode 100644
index 5ef028255..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x9 * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x9 * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x9 * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x9 * ((0x2 * ((uint128_t)x11 * x26)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + (0x2 * ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x9 * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x9 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x2e);
- { uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x2d);
- { uint64_t x54 = ((uint64_t)x52 & 0x1fffffffffff);
- { uint64_t x55 = (x36 + (0x9 * x53));
- { uint64_t x56 = (x55 >> 0x2e);
- { uint64_t x57 = (x55 & 0x3fffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x2e);
- { uint64_t x60 = (x58 & 0x3fffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_7limbs/femul.v b/src/Specific/solinas64_2e321m9_7limbs/femul.v
deleted file mode 100644
index 1096e19ce..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/femulDisplay.log b/src/Specific/solinas64_2e321m9_7limbs/femulDisplay.log
deleted file mode 100644
index 6098bf622..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x9 * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x9 * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x9 * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x9 * ((0x2 * ((uint128_t)x11 * x26)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + (0x2 * ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x9 * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x9 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- uint128_t x37 = (x35 + x33);
- uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- uint128_t x40 = (x38 + x32);
- uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- uint128_t x43 = (x41 + x31);
- uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- uint128_t x46 = (x44 + x30);
- uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x2e);
- uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x2d);
- uint64_t x54 = ((uint64_t)x52 & 0x1fffffffffff);
- uint64_t x55 = (x36 + (0x9 * x53));
- uint64_t x56 = (x55 >> 0x2e);
- uint64_t x57 = (x55 & 0x3fffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x2e);
- uint64_t x60 = (x58 & 0x3fffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_7limbs/femulDisplay.v b/src/Specific/solinas64_2e321m9_7limbs/femulDisplay.v
deleted file mode 100644
index 67c3386bf..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fesquare.c b/src/Specific/solinas64_2e321m9_7limbs/fesquare.c
deleted file mode 100644
index e4401d17d..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x9 * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x11)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (0x2 * ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x2e);
- { uint64_t x21 = ((uint64_t)x19 & 0x3fffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x2e);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2e);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2e);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2d);
- { uint64_t x39 = ((uint64_t)x37 & 0x1fffffffffff);
- { uint64_t x40 = (x21 + (0x9 * x38));
- { uint64_t x41 = (x40 >> 0x2e);
- { uint64_t x42 = (x40 & 0x3fffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x2e);
- { uint64_t x45 = (x43 & 0x3fffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fesquare.v b/src/Specific/solinas64_2e321m9_7limbs/fesquare.v
deleted file mode 100644
index aa89779e2..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.log
deleted file mode 100644
index b658c4ecb..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x9 * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x9 * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x9 * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x9 * ((0x2 * ((uint128_t)x8 * x11)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (0x2 * ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x9 * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x9 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x2e);
- uint64_t x21 = ((uint64_t)x19 & 0x3fffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x2e);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x2e);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff);
- uint128_t x31 = (x29 + x15);
- uint64_t x32 = (uint64_t) (x31 >> 0x2e);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x2d);
- uint64_t x39 = ((uint64_t)x37 & 0x1fffffffffff);
- uint64_t x40 = (x21 + (0x9 * x38));
- uint64_t x41 = (x40 >> 0x2e);
- uint64_t x42 = (x40 & 0x3fffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x2e);
- uint64_t x45 = (x43 & 0x3fffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.v
deleted file mode 100644
index 9eceb7850..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fesub.c b/src/Specific/solinas64_2e321m9_7limbs/fesub.c
deleted file mode 100644
index 8e5f3926e..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x7fffffffffee + x5) - x17);
- out[1] = ((0x7ffffffffffe + x7) - x19);
- out[2] = ((0x7ffffffffffe + x9) - x21);
- out[3] = ((0x7ffffffffffe + x11) - x23);
- out[4] = ((0x7ffffffffffe + x13) - x25);
- out[5] = ((0x7ffffffffffe + x15) - x27);
- out[6] = ((0x3ffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fesub.v b/src/Specific/solinas64_2e321m9_7limbs/fesub.v
deleted file mode 100644
index 55eb399e7..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.log
deleted file mode 100644
index 7be8b0496..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x3ffffffffffe + x14) - x26), ((0x7ffffffffffe + x15) - x27), ((0x7ffffffffffe + x13) - x25), ((0x7ffffffffffe + x11) - x23), ((0x7ffffffffffe + x9) - x21), ((0x7ffffffffffe + x7) - x19), ((0x7fffffffffee + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.v
deleted file mode 100644
index e0588703d..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e321m9_7limbs/freeze.c b/src/Specific/solinas64_2e321m9_7limbs/freeze.c
deleted file mode 100644
index d2d0770d1..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffff7);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x3ffffffffff7);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x3fffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x3fffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3fffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x3fffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x3fffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x1fffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e321m9_7limbs/freeze.v b/src/Specific/solinas64_2e321m9_7limbs/freeze.v
deleted file mode 100644
index e4b9426f0..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.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/solinas64_2e321m9_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.log
deleted file mode 100644
index a164d1c4d..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffff7);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x1fffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x3ffffffffff7);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x3fffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x3fffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3fffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x3fffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x3fffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x1fffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.v
deleted file mode 100644
index ad02b0983..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e321m9_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e321m9_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e321m9_7limbs/py_interpreter.sh
deleted file mode 100755
index 4c2c5df50..000000000
--- a/src/Specific/solinas64_2e321m9_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**321 - 9' -Dmodulus_bytes='45 + 6/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/CurveParameters.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/CurveParameters.v
deleted file mode 100644
index db46572db..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^322 - 2^161 - 1
-Base: 53 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 53 + 2/3;
- bitwidth := 64;
- s := 2^322;
- c := [(1, 1); (2^161, 1)];
- carry_chains := Some [[2; 5]; [3; 0; 4; 1; 5; 2]; [3; 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/solinas64_2e322m2e161m1_6limbs/Synthesis.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/Synthesis.v
deleted file mode 100644
index e7b428df6..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/compiler.sh b/src/Specific/solinas64_2e322m2e161m1_6limbs/compiler.sh
deleted file mode 100755
index 7a964077d..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,53,54,54,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/compilerxx.sh b/src/Specific/solinas64_2e322m2e161m1_6limbs/compilerxx.sh
deleted file mode 100755
index b531f5da3..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{54,54,53,54,54,53}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.c b/src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.v
deleted file mode 100644
index 13b1fd9ae..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.v
deleted file mode 100644
index a177173d1..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fecarry.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/fecarry.v
deleted file mode 100644
index 68c0a0265..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/fecarryDisplay.v
deleted file mode 100644
index d80aa3b00..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/femul.c b/src/Specific/solinas64_2e322m2e161m1_6limbs/femul.c
deleted file mode 100644
index a43f6ae3f..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/femul.c
+++ /dev/null
@@ -1,65 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = ((0x2 * ((uint128_t)(x9 + x12) * (x19 + x22))) - (0x2 * ((uint128_t)x9 * x19)));
- { uint128_t x25 = (((0x2 * ((uint128_t)(x7 + x13) * (x19 + x22))) + (0x2 * ((uint128_t)(x9 + x12) * (x17 + x23)))) - ((0x2 * ((uint128_t)x7 * x19)) + (0x2 * ((uint128_t)x9 * x17))));
- { uint128_t x26 = ((((uint128_t)(x5 + x11) * (x19 + x22)) + (((uint128_t)(x7 + x13) * (x17 + x23)) + ((uint128_t)(x9 + x12) * (x15 + x21)))) - (((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))));
- { uint128_t x27 = ((((uint128_t)(x5 + x11) * (x17 + x23)) + ((uint128_t)(x7 + x13) * (x15 + x21))) - (((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)));
- { uint128_t x28 = (((uint128_t)(x5 + x11) * (x15 + x21)) - ((uint128_t)x5 * x15));
- { uint128_t x29 = ((((0x2 * ((uint128_t)x9 * x19)) + (0x2 * ((uint128_t)x12 * x22))) + x27) + x24);
- { uint128_t x30 = (((((0x2 * ((uint128_t)x7 * x19)) + (0x2 * ((uint128_t)x9 * x17))) + ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))) + x28) + x25);
- { uint128_t x31 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21))));
- { uint128_t x32 = (((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))) + x24);
- { uint128_t x33 = ((((uint128_t)x5 * x15) + ((uint128_t)x11 * x21)) + x25);
- { uint64_t x34 = (uint64_t) (x31 >> 0x35);
- { uint64_t x35 = ((uint64_t)x31 & 0x1fffffffffffff);
- { uint64_t x36 = (uint64_t) (x26 >> 0x35);
- { uint64_t x37 = ((uint64_t)x26 & 0x1fffffffffffff);
- { uint128_t x38 = (((uint128_t)0x20000000000000 * x36) + x37);
- { uint64_t x39 = (uint64_t) (x38 >> 0x35);
- { uint64_t x40 = ((uint64_t)x38 & 0x1fffffffffffff);
- { uint128_t x41 = ((x34 + x30) + x39);
- { uint64_t x42 = (uint64_t) (x41 >> 0x36);
- { uint64_t x43 = ((uint64_t)x41 & 0x3fffffffffffff);
- { uint128_t x44 = (x33 + x39);
- { uint64_t x45 = (uint64_t) (x44 >> 0x36);
- { uint64_t x46 = ((uint64_t)x44 & 0x3fffffffffffff);
- { uint128_t x47 = (x42 + x29);
- { uint64_t x48 = (uint64_t) (x47 >> 0x36);
- { uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff);
- { uint128_t x50 = (x45 + x32);
- { uint64_t x51 = (uint64_t) (x50 >> 0x36);
- { uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff);
- { uint64_t x53 = (x48 + x40);
- { uint64_t x54 = (x53 >> 0x35);
- { uint64_t x55 = (x53 & 0x1fffffffffffff);
- { uint64_t x56 = (x51 + x35);
- { uint64_t x57 = (x56 >> 0x35);
- { uint64_t x58 = (x56 & 0x1fffffffffffff);
- { uint64_t x59 = ((0x20000000000000 * x54) + x55);
- { uint64_t x60 = (x59 >> 0x35);
- { uint64_t x61 = (x59 & 0x1fffffffffffff);
- { uint64_t x62 = ((x57 + x43) + x60);
- { uint64_t x63 = (x62 >> 0x36);
- { uint64_t x64 = (x62 & 0x3fffffffffffff);
- { uint64_t x65 = (x46 + x60);
- { uint64_t x66 = (x65 >> 0x36);
- { uint64_t x67 = (x65 & 0x3fffffffffffff);
- out[0] = x67;
- out[1] = (x66 + x52);
- out[2] = x58;
- out[3] = x64;
- out[4] = (x63 + x49);
- out[5] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/femul.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/femul.v
deleted file mode 100644
index e8cc40b2c..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/femulDisplay.log b/src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.log
deleted file mode 100644
index 70b6e2902..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,51 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = ((0x2 * ((uint128_t)(x9 + x12) * (x19 + x22))) - (0x2 * ((uint128_t)x9 * x19)));
- uint128_t x25 = (((0x2 * ((uint128_t)(x7 + x13) * (x19 + x22))) + (0x2 * ((uint128_t)(x9 + x12) * (x17 + x23)))) - ((0x2 * ((uint128_t)x7 * x19)) + (0x2 * ((uint128_t)x9 * x17))));
- uint128_t x26 = ((((uint128_t)(x5 + x11) * (x19 + x22)) + (((uint128_t)(x7 + x13) * (x17 + x23)) + ((uint128_t)(x9 + x12) * (x15 + x21)))) - (((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))));
- uint128_t x27 = ((((uint128_t)(x5 + x11) * (x17 + x23)) + ((uint128_t)(x7 + x13) * (x15 + x21))) - (((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)));
- uint128_t x28 = (((uint128_t)(x5 + x11) * (x15 + x21)) - ((uint128_t)x5 * x15));
- uint128_t x29 = ((((0x2 * ((uint128_t)x9 * x19)) + (0x2 * ((uint128_t)x12 * x22))) + x27) + x24);
- uint128_t x30 = (((((0x2 * ((uint128_t)x7 * x19)) + (0x2 * ((uint128_t)x9 * x17))) + ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))) + x28) + x25);
- uint128_t x31 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21))));
- uint128_t x32 = (((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))) + x24);
- uint128_t x33 = ((((uint128_t)x5 * x15) + ((uint128_t)x11 * x21)) + x25);
- uint64_t x34 = (uint64_t) (x31 >> 0x35);
- uint64_t x35 = ((uint64_t)x31 & 0x1fffffffffffff);
- uint64_t x36 = (uint64_t) (x26 >> 0x35);
- uint64_t x37 = ((uint64_t)x26 & 0x1fffffffffffff);
- uint128_t x38 = (((uint128_t)0x20000000000000 * x36) + x37);
- uint64_t x39 = (uint64_t) (x38 >> 0x35);
- uint64_t x40 = ((uint64_t)x38 & 0x1fffffffffffff);
- uint128_t x41 = ((x34 + x30) + x39);
- uint64_t x42 = (uint64_t) (x41 >> 0x36);
- uint64_t x43 = ((uint64_t)x41 & 0x3fffffffffffff);
- uint128_t x44 = (x33 + x39);
- uint64_t x45 = (uint64_t) (x44 >> 0x36);
- uint64_t x46 = ((uint64_t)x44 & 0x3fffffffffffff);
- uint128_t x47 = (x42 + x29);
- uint64_t x48 = (uint64_t) (x47 >> 0x36);
- uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff);
- uint128_t x50 = (x45 + x32);
- uint64_t x51 = (uint64_t) (x50 >> 0x36);
- uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff);
- uint64_t x53 = (x48 + x40);
- uint64_t x54 = (x53 >> 0x35);
- uint64_t x55 = (x53 & 0x1fffffffffffff);
- uint64_t x56 = (x51 + x35);
- uint64_t x57 = (x56 >> 0x35);
- uint64_t x58 = (x56 & 0x1fffffffffffff);
- uint64_t x59 = ((0x20000000000000 * x54) + x55);
- uint64_t x60 = (x59 >> 0x35);
- uint64_t x61 = (x59 & 0x1fffffffffffff);
- uint64_t x62 = ((x57 + x43) + x60);
- uint64_t x63 = (x62 >> 0x36);
- uint64_t x64 = (x62 & 0x3fffffffffffff);
- uint64_t x65 = (x46 + x60);
- uint64_t x66 = (x65 >> 0x36);
- uint64_t x67 = (x65 & 0x3fffffffffffff);
- return (Return x61, (x63 + x49), Return x64, Return x58, (x66 + x52), Return x67))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.v
deleted file mode 100644
index 91300a96d..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.c b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.c
deleted file mode 100644
index 282118f83..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.c
+++ /dev/null
@@ -1,59 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = ((0x2 * ((uint128_t)(x6 + x9) * (x6 + x9))) - (0x2 * ((uint128_t)x6 * x6)));
- { uint128_t x12 = (((0x2 * ((uint128_t)(x4 + x10) * (x6 + x9))) + (0x2 * ((uint128_t)(x6 + x9) * (x4 + x10)))) - ((0x2 * ((uint128_t)x4 * x6)) + (0x2 * ((uint128_t)x6 * x4))));
- { uint128_t x13 = ((((uint128_t)(x2 + x8) * (x6 + x9)) + (((uint128_t)(x4 + x10) * (x4 + x10)) + ((uint128_t)(x6 + x9) * (x2 + x8)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x14 = ((((uint128_t)(x2 + x8) * (x4 + x10)) + ((uint128_t)(x4 + x10) * (x2 + x8))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x15 = (((uint128_t)(x2 + x8) * (x2 + x8)) - ((uint128_t)x2 * x2));
- { uint128_t x16 = ((((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x9 * x9))) + x14) + x11);
- { uint128_t x17 = (((((0x2 * ((uint128_t)x4 * x6)) + (0x2 * ((uint128_t)x6 * x4))) + ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))) + x15) + x12);
- { uint128_t x18 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8))));
- { uint128_t x19 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x8 * x10) + ((uint128_t)x10 * x8))) + x11);
- { uint128_t x20 = ((((uint128_t)x2 * x2) + ((uint128_t)x8 * x8)) + x12);
- { uint64_t x21 = (uint64_t) (x18 >> 0x35);
- { uint64_t x22 = ((uint64_t)x18 & 0x1fffffffffffff);
- { uint64_t x23 = (uint64_t) (x13 >> 0x35);
- { uint64_t x24 = ((uint64_t)x13 & 0x1fffffffffffff);
- { uint128_t x25 = (((uint128_t)0x20000000000000 * x23) + x24);
- { uint64_t x26 = (uint64_t) (x25 >> 0x35);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- { uint128_t x28 = ((x21 + x17) + x26);
- { uint64_t x29 = (uint64_t) (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x20 + x26);
- { uint64_t x32 = (uint64_t) (x31 >> 0x36);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- { uint128_t x34 = (x29 + x16);
- { uint64_t x35 = (uint64_t) (x34 >> 0x36);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffffff);
- { uint128_t x37 = (x32 + x19);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint64_t x40 = (x35 + x27);
- { uint64_t x41 = (x40 >> 0x35);
- { uint64_t x42 = (x40 & 0x1fffffffffffff);
- { uint64_t x43 = (x38 + x22);
- { uint64_t x44 = (x43 >> 0x35);
- { uint64_t x45 = (x43 & 0x1fffffffffffff);
- { uint64_t x46 = ((0x20000000000000 * x41) + x42);
- { uint64_t x47 = (x46 >> 0x35);
- { uint64_t x48 = (x46 & 0x1fffffffffffff);
- { uint64_t x49 = ((x44 + x30) + x47);
- { uint64_t x50 = (x49 >> 0x36);
- { uint64_t x51 = (x49 & 0x3fffffffffffff);
- { uint64_t x52 = (x33 + x47);
- { uint64_t x53 = (x52 >> 0x36);
- { uint64_t x54 = (x52 & 0x3fffffffffffff);
- out[0] = x54;
- out[1] = (x53 + x39);
- out[2] = x45;
- out[3] = x51;
- out[4] = (x50 + x36);
- out[5] = x48;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.v
deleted file mode 100644
index 9fcfb3e40..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.log
deleted file mode 100644
index f6f72ce2b..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,51 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = ((0x2 * ((uint128_t)(x6 + x9) * (x6 + x9))) - (0x2 * ((uint128_t)x6 * x6)));
- uint128_t x12 = (((0x2 * ((uint128_t)(x4 + x10) * (x6 + x9))) + (0x2 * ((uint128_t)(x6 + x9) * (x4 + x10)))) - ((0x2 * ((uint128_t)x4 * x6)) + (0x2 * ((uint128_t)x6 * x4))));
- uint128_t x13 = ((((uint128_t)(x2 + x8) * (x6 + x9)) + (((uint128_t)(x4 + x10) * (x4 + x10)) + ((uint128_t)(x6 + x9) * (x2 + x8)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x14 = ((((uint128_t)(x2 + x8) * (x4 + x10)) + ((uint128_t)(x4 + x10) * (x2 + x8))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x15 = (((uint128_t)(x2 + x8) * (x2 + x8)) - ((uint128_t)x2 * x2));
- uint128_t x16 = ((((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x9 * x9))) + x14) + x11);
- uint128_t x17 = (((((0x2 * ((uint128_t)x4 * x6)) + (0x2 * ((uint128_t)x6 * x4))) + ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))) + x15) + x12);
- uint128_t x18 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8))));
- uint128_t x19 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x8 * x10) + ((uint128_t)x10 * x8))) + x11);
- uint128_t x20 = ((((uint128_t)x2 * x2) + ((uint128_t)x8 * x8)) + x12);
- uint64_t x21 = (uint64_t) (x18 >> 0x35);
- uint64_t x22 = ((uint64_t)x18 & 0x1fffffffffffff);
- uint64_t x23 = (uint64_t) (x13 >> 0x35);
- uint64_t x24 = ((uint64_t)x13 & 0x1fffffffffffff);
- uint128_t x25 = (((uint128_t)0x20000000000000 * x23) + x24);
- uint64_t x26 = (uint64_t) (x25 >> 0x35);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- uint128_t x28 = ((x21 + x17) + x26);
- uint64_t x29 = (uint64_t) (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x20 + x26);
- uint64_t x32 = (uint64_t) (x31 >> 0x36);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- uint128_t x34 = (x29 + x16);
- uint64_t x35 = (uint64_t) (x34 >> 0x36);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffffff);
- uint128_t x37 = (x32 + x19);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint64_t x40 = (x35 + x27);
- uint64_t x41 = (x40 >> 0x35);
- uint64_t x42 = (x40 & 0x1fffffffffffff);
- uint64_t x43 = (x38 + x22);
- uint64_t x44 = (x43 >> 0x35);
- uint64_t x45 = (x43 & 0x1fffffffffffff);
- uint64_t x46 = ((0x20000000000000 * x41) + x42);
- uint64_t x47 = (x46 >> 0x35);
- uint64_t x48 = (x46 & 0x1fffffffffffff);
- uint64_t x49 = ((x44 + x30) + x47);
- uint64_t x50 = (x49 >> 0x36);
- uint64_t x51 = (x49 & 0x3fffffffffffff);
- uint64_t x52 = (x33 + x47);
- uint64_t x53 = (x52 >> 0x36);
- uint64_t x54 = (x52 & 0x3fffffffffffff);
- return (Return x48, (x50 + x36), Return x51, Return x45, (x53 + x39), Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.v
deleted file mode 100644
index 4921b3211..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.c b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.c
deleted file mode 100644
index 891564394..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x7ffffffffffffe + x5) - x15);
- out[1] = ((0x7ffffffffffffe + x7) - x17);
- out[2] = ((0x3ffffffffffffe + x9) - x19);
- out[3] = ((0x7ffffffffffffc + x11) - x21);
- out[4] = ((0x7ffffffffffffe + x13) - x23);
- out[5] = ((0x3ffffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.v
deleted file mode 100644
index 28520cbbb..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.log
deleted file mode 100644
index 515b3aa45..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x3ffffffffffffe + x12) - x22), ((0x7ffffffffffffe + x13) - x23), ((0x7ffffffffffffc + x11) - x21), ((0x3ffffffffffffe + x9) - x19), ((0x7ffffffffffffe + x7) - x17), ((0x7ffffffffffffe + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.v
deleted file mode 100644
index 7e2ad4d95..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.c b/src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.c
deleted file mode 100644
index 56fd8aa6a..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffff);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x3fffffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffffffffffe);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x3fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0x3fffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0x1fffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x3ffffffffffffe);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0x3fffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0x1fffffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.v
deleted file mode 100644
index 5c952a31b..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.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/solinas64_2e322m2e161m1_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.log
deleted file mode 100644
index 430abdfab..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffffff);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0x3fffffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0x1fffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x3ffffffffffffe);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0x3fffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0x1fffffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x3fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0x3fffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0x1fffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x3ffffffffffffe);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0x3fffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0x1fffffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.v
deleted file mode 100644
index dacc1df51..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e322m2e161m1_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e322m2e161m1_6limbs/py_interpreter.sh
deleted file mode 100755
index c501d9d77..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**322 - 2**161 - 1' -Dmodulus_bytes='53 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/CurveParameters.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/CurveParameters.v
deleted file mode 100644
index 3df995a12..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^322 - 2^161 - 1
-Base: 46
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 46;
- bitwidth := 64;
- s := 2^322;
- c := [(1, 1); (2^161, 1)];
- carry_chains := Some [[2; 6]; [3; 0; 4; 1; 5; 2; 6]; [3; 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/solinas64_2e322m2e161m1_7limbs/Synthesis.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/Synthesis.v
deleted file mode 100644
index 30b374432..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/compiler.sh b/src/Specific/solinas64_2e322m2e161m1_7limbs/compiler.sh
deleted file mode 100755
index f17cd5a72..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/compilerxx.sh b/src/Specific/solinas64_2e322m2e161m1_7limbs/compilerxx.sh
deleted file mode 100755
index 473a20aa7..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46}' -Dmodulus_array='{0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='41' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<322) - (1_mpz<<161) - 1' "$@"
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.c b/src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.v
deleted file mode 100644
index a41609206..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.v
deleted file mode 100644
index 058197870..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/fecarry.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/fecarry.v
deleted file mode 100644
index 27615143b..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/fecarryDisplay.v
deleted file mode 100644
index 6d0ff20b4..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/femul.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/femul.v
deleted file mode 100644
index 6c8ed0c52..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/femulDisplay.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/femulDisplay.v
deleted file mode 100644
index 8b2c7cb51..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesquare.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/fesquare.v
deleted file mode 100644
index f65fc27da..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/fesquareDisplay.v
deleted file mode 100644
index ff82a49dd..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.c b/src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.c
deleted file mode 100644
index 2c7591fdf..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x7ffffffffffe + x5) - x17);
- out[1] = ((0x7ffffffffffe + x7) - x19);
- out[2] = ((0x7ffffffffffe + x9) - x21);
- out[3] = ((0x7ffffefffffe + x11) - x23);
- out[4] = ((0x7ffffffffffe + x13) - x25);
- out[5] = ((0x7ffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.v
deleted file mode 100644
index e349cadf3..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.log
deleted file mode 100644
index 9d6ff5060..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffe + x14) - x26), ((0x7ffffffffffe + x15) - x27), ((0x7ffffffffffe + x13) - x25), ((0x7ffffefffffe + x11) - x23), ((0x7ffffffffffe + x9) - x21), ((0x7ffffffffffe + x7) - x19), ((0x7ffffffffffe + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.v
deleted file mode 100644
index 439c9712a..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.c b/src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.c
deleted file mode 100644
index f9314590d..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffff);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffff7fffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x3fffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x3fffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x3fffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3fffff7fffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x3fffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x3fffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.v
deleted file mode 100644
index df7fc36c3..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.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/solinas64_2e322m2e161m1_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.log
deleted file mode 100644
index 08f806634..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffff);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffff7fffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x3fffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x3fffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x3fffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3fffff7fffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x3fffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x3fffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.v
deleted file mode 100644
index 8b4b85795..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e322m2e161m1_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e322m2e161m1_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e322m2e161m1_7limbs/py_interpreter.sh
deleted file mode 100755
index 557670f4c..000000000
--- a/src/Specific/solinas64_2e322m2e161m1_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**322 - 2**161 - 1' -Dmodulus_bytes='46' -Da24='121665'
diff --git a/src/Specific/solinas64_2e336m17_6limbs/CurveParameters.v b/src/Specific/solinas64_2e336m17_6limbs/CurveParameters.v
deleted file mode 100644
index 24cdbb10b..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 17
-Base: 56
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 56;
- bitwidth := 64;
- s := 2^336;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e336m17_6limbs/Synthesis.v b/src/Specific/solinas64_2e336m17_6limbs/Synthesis.v
deleted file mode 100644
index d22706404..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/compiler.sh b/src/Specific/solinas64_2e336m17_6limbs/compiler.sh
deleted file mode 100755
index f4c21a29d..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas64_2e336m17_6limbs/compilerxx.sh b/src/Specific/solinas64_2e336m17_6limbs/compilerxx.sh
deleted file mode 100755
index 9f714ffa0..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas64_2e336m17_6limbs/feadd.c b/src/Specific/solinas64_2e336m17_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_6limbs/feadd.v b/src/Specific/solinas64_2e336m17_6limbs/feadd.v
deleted file mode 100644
index 4af6dc2fd..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.v
deleted file mode 100644
index e46534032..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fecarry.v b/src/Specific/solinas64_2e336m17_6limbs/fecarry.v
deleted file mode 100644
index 680a32149..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e336m17_6limbs/fecarryDisplay.v
deleted file mode 100644
index dde727efb..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e336m17_6limbs/femul.c b/src/Specific/solinas64_2e336m17_6limbs/femul.c
deleted file mode 100644
index 9e663e79f..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x11 * ((uint128_t)x12 * x22)));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x11 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0x11 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x11 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x11 * (((uint128_t)x7 * x22) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x12 * x17)))))));
- { uint128_t x30 = (x29 >> 0x38);
- { uint64_t x31 = ((uint64_t)x29 & 0xffffffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint128_t x33 = (x32 >> 0x38);
- { uint64_t x34 = ((uint64_t)x32 & 0xffffffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint128_t x36 = (x35 >> 0x38);
- { uint64_t x37 = ((uint64_t)x35 & 0xffffffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint128_t x39 = (x38 >> 0x38);
- { uint64_t x40 = ((uint64_t)x38 & 0xffffffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x38);
- { uint64_t x43 = ((uint64_t)x41 & 0xffffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x38);
- { uint64_t x46 = ((uint64_t)x44 & 0xffffffffffffff);
- { uint128_t x47 = (x31 + ((uint128_t)0x11 * x45));
- { uint64_t x48 = (uint64_t) (x47 >> 0x38);
- { uint64_t x49 = ((uint64_t)x47 & 0xffffffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x38);
- { uint64_t x52 = (x50 & 0xffffffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_6limbs/femul.v b/src/Specific/solinas64_2e336m17_6limbs/femul.v
deleted file mode 100644
index aa29e44ee..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/femulDisplay.log b/src/Specific/solinas64_2e336m17_6limbs/femulDisplay.log
deleted file mode 100644
index dba3aac29..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x11 * ((uint128_t)x12 * x22)));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x11 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0x11 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x11 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x11 * (((uint128_t)x7 * x22) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x12 * x17)))))));
- uint128_t x30 = (x29 >> 0x38);
- uint64_t x31 = ((uint64_t)x29 & 0xffffffffffffff);
- uint128_t x32 = (x30 + x28);
- uint128_t x33 = (x32 >> 0x38);
- uint64_t x34 = ((uint64_t)x32 & 0xffffffffffffff);
- uint128_t x35 = (x33 + x27);
- uint128_t x36 = (x35 >> 0x38);
- uint64_t x37 = ((uint64_t)x35 & 0xffffffffffffff);
- uint128_t x38 = (x36 + x26);
- uint128_t x39 = (x38 >> 0x38);
- uint64_t x40 = ((uint64_t)x38 & 0xffffffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x38);
- uint64_t x43 = ((uint64_t)x41 & 0xffffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x38);
- uint64_t x46 = ((uint64_t)x44 & 0xffffffffffffff);
- uint128_t x47 = (x31 + ((uint128_t)0x11 * x45));
- uint64_t x48 = (uint64_t) (x47 >> 0x38);
- uint64_t x49 = ((uint64_t)x47 & 0xffffffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x38);
- uint64_t x52 = (x50 & 0xffffffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_6limbs/femulDisplay.v b/src/Specific/solinas64_2e336m17_6limbs/femulDisplay.v
deleted file mode 100644
index 1853a8914..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fesquare.c b/src/Specific/solinas64_2e336m17_6limbs/fesquare.c
deleted file mode 100644
index 86e650785..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * ((uint128_t)x9 * x9)));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x9) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((uint128_t)x9 * x4)))))));
- { uint128_t x17 = (x16 >> 0x38);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint128_t x20 = (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint128_t x23 = (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint128_t x26 = (x25 >> 0x38);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x38);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x38);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- { uint128_t x34 = (x18 + ((uint128_t)0x11 * x32));
- { uint64_t x35 = (uint64_t) (x34 >> 0x38);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x38);
- { uint64_t x39 = (x37 & 0xffffffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fesquare.v b/src/Specific/solinas64_2e336m17_6limbs/fesquare.v
deleted file mode 100644
index 7192a8767..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.log
deleted file mode 100644
index 582686440..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * ((uint128_t)x9 * x9)));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x9) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((uint128_t)x9 * x4)))))));
- uint128_t x17 = (x16 >> 0x38);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffffffff);
- uint128_t x19 = (x17 + x15);
- uint128_t x20 = (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x20 + x14);
- uint128_t x23 = (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint128_t x25 = (x23 + x13);
- uint128_t x26 = (x25 >> 0x38);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x38);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x38);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- uint128_t x34 = (x18 + ((uint128_t)0x11 * x32));
- uint64_t x35 = (uint64_t) (x34 >> 0x38);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x38);
- uint64_t x39 = (x37 & 0xffffffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.v
deleted file mode 100644
index 70f4ed9c5..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fesub.c b/src/Specific/solinas64_2e336m17_6limbs/fesub.c
deleted file mode 100644
index 3728606e2..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x1ffffffffffffde + x5) - x15);
- out[1] = ((0x1fffffffffffffe + x7) - x17);
- out[2] = ((0x1fffffffffffffe + x9) - x19);
- out[3] = ((0x1fffffffffffffe + x11) - x21);
- out[4] = ((0x1fffffffffffffe + x13) - x23);
- out[5] = ((0x1fffffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fesub.v b/src/Specific/solinas64_2e336m17_6limbs/fesub.v
deleted file mode 100644
index 2523b526e..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.log
deleted file mode 100644
index 6df841701..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x1fffffffffffffe + x12) - x22), ((0x1fffffffffffffe + x13) - x23), ((0x1fffffffffffffe + x11) - x21), ((0x1fffffffffffffe + x9) - x19), ((0x1fffffffffffffe + x7) - x17), ((0x1ffffffffffffde + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.v
deleted file mode 100644
index a35bca8d9..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e336m17_6limbs/freeze.c b/src/Specific/solinas64_2e336m17_6limbs/freeze.c
deleted file mode 100644
index ff74991e3..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffef);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xffffffffffffef);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0xffffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0xffffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0xffffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0xffffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0xffffffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_6limbs/freeze.v b/src/Specific/solinas64_2e336m17_6limbs/freeze.v
deleted file mode 100644
index 0e60c3a70..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.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/solinas64_2e336m17_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.log
deleted file mode 100644
index d1153b6c6..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffef);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xffffffffffffef);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0xffffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0xffffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0xffffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0xffffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0xffffffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.v
deleted file mode 100644
index 7a250dfa1..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e336m17_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e336m17_6limbs/py_interpreter.sh
deleted file mode 100755
index df56247e2..000000000
--- a/src/Specific/solinas64_2e336m17_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 17' -Dmodulus_bytes='56' -Da24='121665'
diff --git a/src/Specific/solinas64_2e336m17_7limbs/CurveParameters.v b/src/Specific/solinas64_2e336m17_7limbs/CurveParameters.v
deleted file mode 100644
index 1100ca515..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 17
-Base: 48
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 48;
- bitwidth := 64;
- s := 2^336;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e336m17_7limbs/Synthesis.v b/src/Specific/solinas64_2e336m17_7limbs/Synthesis.v
deleted file mode 100644
index d1cc24048..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/compiler.sh b/src/Specific/solinas64_2e336m17_7limbs/compiler.sh
deleted file mode 100755
index 770244722..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas64_2e336m17_7limbs/compilerxx.sh b/src/Specific/solinas64_2e336m17_7limbs/compilerxx.sh
deleted file mode 100755
index db1f6c104..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 17' "$@"
diff --git a/src/Specific/solinas64_2e336m17_7limbs/feadd.c b/src/Specific/solinas64_2e336m17_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_7limbs/feadd.v b/src/Specific/solinas64_2e336m17_7limbs/feadd.v
deleted file mode 100644
index 1a801bcdb..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.v
deleted file mode 100644
index de1377cd8..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fecarry.v b/src/Specific/solinas64_2e336m17_7limbs/fecarry.v
deleted file mode 100644
index db0cc36e4..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e336m17_7limbs/fecarryDisplay.v
deleted file mode 100644
index 2f7ff2f92..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e336m17_7limbs/femul.c b/src/Specific/solinas64_2e336m17_7limbs/femul.c
deleted file mode 100644
index 31ed31741..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x11 * ((uint128_t)x14 * x26)));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x11 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x11 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x11 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x11 * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x11 * (((uint128_t)x7 * x26) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x14 * x19))))))));
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint64_t x44 = (uint64_t) (x43 >> 0x30);
- { uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint64_t x47 = (uint64_t) (x46 >> 0x30);
- { uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x30);
- { uint64_t x51 = ((uint64_t)x49 & 0xffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x30);
- { uint64_t x54 = ((uint64_t)x52 & 0xffffffffffff);
- { uint64_t x55 = (x36 + (0x11 * x53));
- { uint64_t x56 = (x55 >> 0x30);
- { uint64_t x57 = (x55 & 0xffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x30);
- { uint64_t x60 = (x58 & 0xffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_7limbs/femul.v b/src/Specific/solinas64_2e336m17_7limbs/femul.v
deleted file mode 100644
index 11c10b414..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/femulDisplay.log b/src/Specific/solinas64_2e336m17_7limbs/femulDisplay.log
deleted file mode 100644
index ddd3490c9..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x11 * ((uint128_t)x14 * x26)));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x11 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x11 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x11 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x11 * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x11 * (((uint128_t)x7 * x26) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x14 * x19))))))));
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint64_t x44 = (uint64_t) (x43 >> 0x30);
- uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint64_t x47 = (uint64_t) (x46 >> 0x30);
- uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x30);
- uint64_t x51 = ((uint64_t)x49 & 0xffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x30);
- uint64_t x54 = ((uint64_t)x52 & 0xffffffffffff);
- uint64_t x55 = (x36 + (0x11 * x53));
- uint64_t x56 = (x55 >> 0x30);
- uint64_t x57 = (x55 & 0xffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x30);
- uint64_t x60 = (x58 & 0xffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_7limbs/femulDisplay.v b/src/Specific/solinas64_2e336m17_7limbs/femulDisplay.v
deleted file mode 100644
index fc9dafc96..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fesquare.c b/src/Specific/solinas64_2e336m17_7limbs/fesquare.c
deleted file mode 100644
index 48dc2e1cb..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * ((uint128_t)x11 * x11)));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x11) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((uint128_t)x11 * x4))))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint64_t x40 = (x21 + (0x11 * x38));
- { uint64_t x41 = (x40 >> 0x30);
- { uint64_t x42 = (x40 & 0xffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x30);
- { uint64_t x45 = (x43 & 0xffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fesquare.v b/src/Specific/solinas64_2e336m17_7limbs/fesquare.v
deleted file mode 100644
index ea5e8947c..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.log
deleted file mode 100644
index b7e577298..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * ((uint128_t)x11 * x11)));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x11) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((uint128_t)x11 * x4))))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint64_t x40 = (x21 + (0x11 * x38));
- uint64_t x41 = (x40 >> 0x30);
- uint64_t x42 = (x40 & 0xffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x30);
- uint64_t x45 = (x43 & 0xffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.v
deleted file mode 100644
index 7e1ba6a4e..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fesub.c b/src/Specific/solinas64_2e336m17_7limbs/fesub.c
deleted file mode 100644
index 7fbb64b69..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x1ffffffffffde + x5) - x17);
- out[1] = ((0x1fffffffffffe + x7) - x19);
- out[2] = ((0x1fffffffffffe + x9) - x21);
- out[3] = ((0x1fffffffffffe + x11) - x23);
- out[4] = ((0x1fffffffffffe + x13) - x25);
- out[5] = ((0x1fffffffffffe + x15) - x27);
- out[6] = ((0x1fffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fesub.v b/src/Specific/solinas64_2e336m17_7limbs/fesub.v
deleted file mode 100644
index ed7423714..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.log
deleted file mode 100644
index f09d1ef69..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1fffffffffffe + x14) - x26), ((0x1fffffffffffe + x15) - x27), ((0x1fffffffffffe + x13) - x25), ((0x1fffffffffffe + x11) - x23), ((0x1fffffffffffe + x9) - x21), ((0x1fffffffffffe + x7) - x19), ((0x1ffffffffffde + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.v
deleted file mode 100644
index f9633e193..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e336m17_7limbs/freeze.c b/src/Specific/solinas64_2e336m17_7limbs/freeze.c
deleted file mode 100644
index db1f6d48a..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffef);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0xffffffffffef);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0xffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0xffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0xffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0xffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0xffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0xffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m17_7limbs/freeze.v b/src/Specific/solinas64_2e336m17_7limbs/freeze.v
deleted file mode 100644
index fd0be48da..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.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/solinas64_2e336m17_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.log
deleted file mode 100644
index dacda3208..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffef);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0xffffffffffef);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0xffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0xffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0xffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0xffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0xffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0xffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.v
deleted file mode 100644
index 1eca0ec3c..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m17_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e336m17_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e336m17_7limbs/py_interpreter.sh
deleted file mode 100755
index 1f3c13db5..000000000
--- a/src/Specific/solinas64_2e336m17_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 17' -Dmodulus_bytes='48' -Da24='121665'
diff --git a/src/Specific/solinas64_2e336m3_6limbs/CurveParameters.v b/src/Specific/solinas64_2e336m3_6limbs/CurveParameters.v
deleted file mode 100644
index a0361f045..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 3
-Base: 56
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 56;
- bitwidth := 64;
- s := 2^336;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e336m3_6limbs/Synthesis.v b/src/Specific/solinas64_2e336m3_6limbs/Synthesis.v
deleted file mode 100644
index 1fdf7ea30..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/compiler.sh b/src/Specific/solinas64_2e336m3_6limbs/compiler.sh
deleted file mode 100755
index 0d5df5a05..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas64_2e336m3_6limbs/compilerxx.sh b/src/Specific/solinas64_2e336m3_6limbs/compilerxx.sh
deleted file mode 100755
index 170232709..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas64_2e336m3_6limbs/feadd.c b/src/Specific/solinas64_2e336m3_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_6limbs/feadd.v b/src/Specific/solinas64_2e336m3_6limbs/feadd.v
deleted file mode 100644
index 5dd1b610e..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.v
deleted file mode 100644
index 63beefc54..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fecarry.v b/src/Specific/solinas64_2e336m3_6limbs/fecarry.v
deleted file mode 100644
index ef72c0bca..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e336m3_6limbs/fecarryDisplay.v
deleted file mode 100644
index d2c7c4570..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e336m3_6limbs/femul.c b/src/Specific/solinas64_2e336m3_6limbs/femul.c
deleted file mode 100644
index 879ec974c..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x3 * ((uint128_t)x12 * x22)));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x3 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0x3 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x3 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0x3 * (((uint128_t)x7 * x22) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x12 * x17)))))));
- { uint64_t x30 = (uint64_t) (x29 >> 0x38);
- { uint64_t x31 = ((uint64_t)x29 & 0xffffffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint64_t x33 = (uint64_t) (x32 >> 0x38);
- { uint64_t x34 = ((uint64_t)x32 & 0xffffffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint64_t x36 = (uint64_t) (x35 >> 0x38);
- { uint64_t x37 = ((uint64_t)x35 & 0xffffffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint64_t x39 = (uint64_t) (x38 >> 0x38);
- { uint64_t x40 = ((uint64_t)x38 & 0xffffffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint64_t x42 = (uint64_t) (x41 >> 0x38);
- { uint64_t x43 = ((uint64_t)x41 & 0xffffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x38);
- { uint64_t x46 = ((uint64_t)x44 & 0xffffffffffffff);
- { uint64_t x47 = (x31 + (0x3 * x45));
- { uint64_t x48 = (x47 >> 0x38);
- { uint64_t x49 = (x47 & 0xffffffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x38);
- { uint64_t x52 = (x50 & 0xffffffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_6limbs/femul.v b/src/Specific/solinas64_2e336m3_6limbs/femul.v
deleted file mode 100644
index a89708e6c..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/femulDisplay.log b/src/Specific/solinas64_2e336m3_6limbs/femulDisplay.log
deleted file mode 100644
index 9540c82ee..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + (((uint128_t)x13 * x17) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0x3 * ((uint128_t)x12 * x22)));
- uint128_t x26 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + (((uint128_t)x9 * x17) + ((uint128_t)x11 * x15)))) + (0x3 * (((uint128_t)x13 * x22) + ((uint128_t)x12 * x23))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + (((uint128_t)x7 * x17) + ((uint128_t)x9 * x15))) + (0x3 * (((uint128_t)x11 * x22) + (((uint128_t)x13 * x23) + ((uint128_t)x12 * x21)))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0x3 * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0x3 * (((uint128_t)x7 * x22) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x12 * x17)))))));
- uint64_t x30 = (uint64_t) (x29 >> 0x38);
- uint64_t x31 = ((uint64_t)x29 & 0xffffffffffffff);
- uint128_t x32 = (x30 + x28);
- uint64_t x33 = (uint64_t) (x32 >> 0x38);
- uint64_t x34 = ((uint64_t)x32 & 0xffffffffffffff);
- uint128_t x35 = (x33 + x27);
- uint64_t x36 = (uint64_t) (x35 >> 0x38);
- uint64_t x37 = ((uint64_t)x35 & 0xffffffffffffff);
- uint128_t x38 = (x36 + x26);
- uint64_t x39 = (uint64_t) (x38 >> 0x38);
- uint64_t x40 = ((uint64_t)x38 & 0xffffffffffffff);
- uint128_t x41 = (x39 + x25);
- uint64_t x42 = (uint64_t) (x41 >> 0x38);
- uint64_t x43 = ((uint64_t)x41 & 0xffffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x38);
- uint64_t x46 = ((uint64_t)x44 & 0xffffffffffffff);
- uint64_t x47 = (x31 + (0x3 * x45));
- uint64_t x48 = (x47 >> 0x38);
- uint64_t x49 = (x47 & 0xffffffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x38);
- uint64_t x52 = (x50 & 0xffffffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_6limbs/femulDisplay.v b/src/Specific/solinas64_2e336m3_6limbs/femulDisplay.v
deleted file mode 100644
index 30b52d933..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fesquare.c b/src/Specific/solinas64_2e336m3_6limbs/fesquare.c
deleted file mode 100644
index 5ccf65c0c..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x3 * ((uint128_t)x9 * x9)));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x9) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((uint128_t)x9 * x4)))))));
- { uint64_t x17 = (uint64_t) (x16 >> 0x38);
- { uint64_t x18 = ((uint64_t)x16 & 0xffffffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint64_t x20 = (uint64_t) (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint64_t x23 = (uint64_t) (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint64_t x26 = (uint64_t) (x25 >> 0x38);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint64_t x29 = (uint64_t) (x28 >> 0x38);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x38);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- { uint64_t x34 = (x18 + (0x3 * x32));
- { uint64_t x35 = (x34 >> 0x38);
- { uint64_t x36 = (x34 & 0xffffffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x38);
- { uint64_t x39 = (x37 & 0xffffffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fesquare.v b/src/Specific/solinas64_2e336m3_6limbs/fesquare.v
deleted file mode 100644
index df83cde0a..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.log
deleted file mode 100644
index 1a676031c..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x3 * ((uint128_t)x9 * x9)));
- uint128_t x13 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x9) + ((uint128_t)x9 * x10))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x9) + (((uint128_t)x10 * x10) + ((uint128_t)x9 * x8)))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x9) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((uint128_t)x9 * x4)))))));
- uint64_t x17 = (uint64_t) (x16 >> 0x38);
- uint64_t x18 = ((uint64_t)x16 & 0xffffffffffffff);
- uint128_t x19 = (x17 + x15);
- uint64_t x20 = (uint64_t) (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x20 + x14);
- uint64_t x23 = (uint64_t) (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint128_t x25 = (x23 + x13);
- uint64_t x26 = (uint64_t) (x25 >> 0x38);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- uint128_t x28 = (x26 + x12);
- uint64_t x29 = (uint64_t) (x28 >> 0x38);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x38);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- uint64_t x34 = (x18 + (0x3 * x32));
- uint64_t x35 = (x34 >> 0x38);
- uint64_t x36 = (x34 & 0xffffffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x38);
- uint64_t x39 = (x37 & 0xffffffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.v
deleted file mode 100644
index 88c2e9862..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fesub.c b/src/Specific/solinas64_2e336m3_6limbs/fesub.c
deleted file mode 100644
index f680cabb5..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x1fffffffffffffa + x5) - x15);
- out[1] = ((0x1fffffffffffffe + x7) - x17);
- out[2] = ((0x1fffffffffffffe + x9) - x19);
- out[3] = ((0x1fffffffffffffe + x11) - x21);
- out[4] = ((0x1fffffffffffffe + x13) - x23);
- out[5] = ((0x1fffffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fesub.v b/src/Specific/solinas64_2e336m3_6limbs/fesub.v
deleted file mode 100644
index f1413c607..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.log
deleted file mode 100644
index f11308491..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x1fffffffffffffe + x12) - x22), ((0x1fffffffffffffe + x13) - x23), ((0x1fffffffffffffe + x11) - x21), ((0x1fffffffffffffe + x9) - x19), ((0x1fffffffffffffe + x7) - x17), ((0x1fffffffffffffa + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.v
deleted file mode 100644
index 91c533166..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e336m3_6limbs/freeze.c b/src/Specific/solinas64_2e336m3_6limbs/freeze.c
deleted file mode 100644
index 41a597f18..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffd);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0xfffffffffffffd);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0xffffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0xffffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0xffffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0xffffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0xffffffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_6limbs/freeze.v b/src/Specific/solinas64_2e336m3_6limbs/freeze.v
deleted file mode 100644
index 615e49668..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.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/solinas64_2e336m3_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.log
deleted file mode 100644
index 64e67c28c..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffd);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0xffffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0xfffffffffffffd);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0xffffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0xffffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0xffffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0xffffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0xffffffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.v
deleted file mode 100644
index 215ceb2ee..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e336m3_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e336m3_6limbs/py_interpreter.sh
deleted file mode 100755
index 304fd2c81..000000000
--- a/src/Specific/solinas64_2e336m3_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 3' -Dmodulus_bytes='56' -Da24='121665'
diff --git a/src/Specific/solinas64_2e336m3_7limbs/CurveParameters.v b/src/Specific/solinas64_2e336m3_7limbs/CurveParameters.v
deleted file mode 100644
index bcb93cf36..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^336 - 3
-Base: 48
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 48;
- bitwidth := 64;
- s := 2^336;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e336m3_7limbs/Synthesis.v b/src/Specific/solinas64_2e336m3_7limbs/Synthesis.v
deleted file mode 100644
index d13379c8b..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/compiler.sh b/src/Specific/solinas64_2e336m3_7limbs/compiler.sh
deleted file mode 100755
index 317c71b00..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas64_2e336m3_7limbs/compilerxx.sh b/src/Specific/solinas64_2e336m3_7limbs/compilerxx.sh
deleted file mode 100755
index fc1ad60d2..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd}' -Dmodulus_bytes_val='42' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<336) - 3' "$@"
diff --git a/src/Specific/solinas64_2e336m3_7limbs/feadd.c b/src/Specific/solinas64_2e336m3_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_7limbs/feadd.v b/src/Specific/solinas64_2e336m3_7limbs/feadd.v
deleted file mode 100644
index 5a9c7b0d0..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.v
deleted file mode 100644
index d4966aad9..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fecarry.v b/src/Specific/solinas64_2e336m3_7limbs/fecarry.v
deleted file mode 100644
index 3ea3de7ee..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e336m3_7limbs/fecarryDisplay.v
deleted file mode 100644
index 095963c2a..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e336m3_7limbs/femul.c b/src/Specific/solinas64_2e336m3_7limbs/femul.c
deleted file mode 100644
index 2ef1b6467..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x3 * ((uint128_t)x14 * x26)));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x3 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x3 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x3 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x3 * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x3 * (((uint128_t)x7 * x26) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x14 * x19))))))));
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint64_t x44 = (uint64_t) (x43 >> 0x30);
- { uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint64_t x47 = (uint64_t) (x46 >> 0x30);
- { uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x30);
- { uint64_t x51 = ((uint64_t)x49 & 0xffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x30);
- { uint64_t x54 = ((uint64_t)x52 & 0xffffffffffff);
- { uint64_t x55 = (x36 + (0x3 * x53));
- { uint64_t x56 = (x55 >> 0x30);
- { uint64_t x57 = (x55 & 0xffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x30);
- { uint64_t x60 = (x58 & 0xffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_7limbs/femul.v b/src/Specific/solinas64_2e336m3_7limbs/femul.v
deleted file mode 100644
index 38009144d..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/femulDisplay.log b/src/Specific/solinas64_2e336m3_7limbs/femulDisplay.log
deleted file mode 100644
index 242085772..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x3 * ((uint128_t)x14 * x26)));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x3 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x3 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x3 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x3 * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x3 * (((uint128_t)x7 * x26) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x14 * x19))))))));
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint64_t x44 = (uint64_t) (x43 >> 0x30);
- uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint64_t x47 = (uint64_t) (x46 >> 0x30);
- uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x30);
- uint64_t x51 = ((uint64_t)x49 & 0xffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x30);
- uint64_t x54 = ((uint64_t)x52 & 0xffffffffffff);
- uint64_t x55 = (x36 + (0x3 * x53));
- uint64_t x56 = (x55 >> 0x30);
- uint64_t x57 = (x55 & 0xffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x30);
- uint64_t x60 = (x58 & 0xffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_7limbs/femulDisplay.v b/src/Specific/solinas64_2e336m3_7limbs/femulDisplay.v
deleted file mode 100644
index 030a02ebe..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fesquare.c b/src/Specific/solinas64_2e336m3_7limbs/fesquare.c
deleted file mode 100644
index 99dafb456..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * ((uint128_t)x11 * x11)));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x3 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x11) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((uint128_t)x11 * x4))))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x30);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint64_t x40 = (x21 + (0x3 * x38));
- { uint64_t x41 = (x40 >> 0x30);
- { uint64_t x42 = (x40 & 0xffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x30);
- { uint64_t x45 = (x43 & 0xffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fesquare.v b/src/Specific/solinas64_2e336m3_7limbs/fesquare.v
deleted file mode 100644
index 5e71c3544..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.log
deleted file mode 100644
index 497ebea39..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * ((uint128_t)x11 * x11)));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x3 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x3 * (((uint128_t)x4 * x11) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((uint128_t)x11 * x4))))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x30);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint64_t x40 = (x21 + (0x3 * x38));
- uint64_t x41 = (x40 >> 0x30);
- uint64_t x42 = (x40 & 0xffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x30);
- uint64_t x45 = (x43 & 0xffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.v
deleted file mode 100644
index 1579e7ada..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fesub.c b/src/Specific/solinas64_2e336m3_7limbs/fesub.c
deleted file mode 100644
index 7b5c9072a..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x1fffffffffffa + x5) - x17);
- out[1] = ((0x1fffffffffffe + x7) - x19);
- out[2] = ((0x1fffffffffffe + x9) - x21);
- out[3] = ((0x1fffffffffffe + x11) - x23);
- out[4] = ((0x1fffffffffffe + x13) - x25);
- out[5] = ((0x1fffffffffffe + x15) - x27);
- out[6] = ((0x1fffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fesub.v b/src/Specific/solinas64_2e336m3_7limbs/fesub.v
deleted file mode 100644
index 4e9af0bb0..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.log
deleted file mode 100644
index bece3bd08..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1fffffffffffe + x14) - x26), ((0x1fffffffffffe + x15) - x27), ((0x1fffffffffffe + x13) - x25), ((0x1fffffffffffe + x11) - x23), ((0x1fffffffffffe + x9) - x21), ((0x1fffffffffffe + x7) - x19), ((0x1fffffffffffa + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.v
deleted file mode 100644
index 11496c3dc..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e336m3_7limbs/freeze.c b/src/Specific/solinas64_2e336m3_7limbs/freeze.c
deleted file mode 100644
index af6b22834..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffd);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0xfffffffffffd);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0xffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0xffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0xffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0xffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0xffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0xffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e336m3_7limbs/freeze.v b/src/Specific/solinas64_2e336m3_7limbs/freeze.v
deleted file mode 100644
index d97fc573e..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.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/solinas64_2e336m3_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.log
deleted file mode 100644
index 190e3b915..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffd);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0xfffffffffffd);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0xffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0xffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0xffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0xffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0xffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0xffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.v
deleted file mode 100644
index 1269f6672..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e336m3_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e336m3_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e336m3_7limbs/py_interpreter.sh
deleted file mode 100755
index 464e7587b..000000000
--- a/src/Specific/solinas64_2e336m3_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**336 - 3' -Dmodulus_bytes='48' -Da24='121665'
diff --git a/src/Specific/solinas64_2e338m15_6limbs/CurveParameters.v b/src/Specific/solinas64_2e338m15_6limbs/CurveParameters.v
deleted file mode 100644
index ddc66d0bc..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^338 - 15
-Base: 56 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 6%nat;
- base := 56 + 1/3;
- bitwidth := 64;
- s := 2^338;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 6); [0; 1]]%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/solinas64_2e338m15_6limbs/Synthesis.v b/src/Specific/solinas64_2e338m15_6limbs/Synthesis.v
deleted file mode 100644
index 0c3dd4429..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/compiler.sh b/src/Specific/solinas64_2e338m15_6limbs/compiler.sh
deleted file mode 100755
index 2ec05c1e8..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas64_2e338m15_6limbs/compilerxx.sh b/src/Specific/solinas64_2e338m15_6limbs/compilerxx.sh
deleted file mode 100755
index d63cda0f4..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,57,56,56}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='6' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas64_2e338m15_6limbs/feadd.c b/src/Specific/solinas64_2e338m15_6limbs/feadd.c
deleted file mode 100644
index 4a6bfb999..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/feadd.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void feadd(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = (x5 + x15);
- out[1] = (x7 + x17);
- out[2] = (x9 + x19);
- out[3] = (x11 + x21);
- out[4] = (x13 + x23);
- out[5] = (x12 + x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_6limbs/feadd.v b/src/Specific/solinas64_2e338m15_6limbs/feadd.v
deleted file mode 100644
index d59140283..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/feaddDisplay.log b/src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.log
deleted file mode 100644
index e32995a81..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- ((x12 + x22), (x13 + x23), (x11 + x21), (x9 + x19), (x7 + x17), (x5 + x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.v b/src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.v
deleted file mode 100644
index ddefbccf3..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fecarry.v b/src/Specific/solinas64_2e338m15_6limbs/fecarry.v
deleted file mode 100644
index 9aeec54c1..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/fecarryDisplay.v b/src/Specific/solinas64_2e338m15_6limbs/fecarryDisplay.v
deleted file mode 100644
index ab7c63fc1..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e338m15_6limbs/femul.c b/src/Specific/solinas64_2e338m15_6limbs/femul.c
deleted file mode 100644
index b1b0c9dbc..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/femul.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void femul(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- { uint128_t x24 = (((uint128_t)x5 * x22) + ((0x2 * ((uint128_t)x7 * x23)) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((0x2 * ((uint128_t)x13 * x17)) + ((uint128_t)x12 * x15))))));
- { uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0xf * ((uint128_t)x12 * x22)));
- { uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + (0xf * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- { uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0xf * (((uint128_t)x11 * x22) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x12 * x21)))));
- { uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0xf * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- { uint128_t x29 = (((uint128_t)x5 * x15) + (0xf * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- { uint128_t x30 = (x29 >> 0x39);
- { uint64_t x31 = ((uint64_t)x29 & 0x1ffffffffffffff);
- { uint128_t x32 = (x30 + x28);
- { uint128_t x33 = (x32 >> 0x38);
- { uint64_t x34 = ((uint64_t)x32 & 0xffffffffffffff);
- { uint128_t x35 = (x33 + x27);
- { uint128_t x36 = (x35 >> 0x38);
- { uint64_t x37 = ((uint64_t)x35 & 0xffffffffffffff);
- { uint128_t x38 = (x36 + x26);
- { uint128_t x39 = (x38 >> 0x39);
- { uint64_t x40 = ((uint64_t)x38 & 0x1ffffffffffffff);
- { uint128_t x41 = (x39 + x25);
- { uint128_t x42 = (x41 >> 0x38);
- { uint64_t x43 = ((uint64_t)x41 & 0xffffffffffffff);
- { uint128_t x44 = (x42 + x24);
- { uint64_t x45 = (uint64_t) (x44 >> 0x38);
- { uint64_t x46 = ((uint64_t)x44 & 0xffffffffffffff);
- { uint128_t x47 = (x31 + ((uint128_t)0xf * x45));
- { uint64_t x48 = (uint64_t) (x47 >> 0x39);
- { uint64_t x49 = ((uint64_t)x47 & 0x1ffffffffffffff);
- { uint64_t x50 = (x48 + x34);
- { uint64_t x51 = (x50 >> 0x38);
- { uint64_t x52 = (x50 & 0xffffffffffffff);
- out[0] = x49;
- out[1] = x52;
- out[2] = (x51 + x37);
- out[3] = x40;
- out[4] = x43;
- out[5] = x46;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_6limbs/femul.v b/src/Specific/solinas64_2e338m15_6limbs/femul.v
deleted file mode 100644
index 32eef2b3e..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/femulDisplay.log b/src/Specific/solinas64_2e338m15_6limbs/femulDisplay.log
deleted file mode 100644
index c00b329ae..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/femulDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- uint128_t x24 = (((uint128_t)x5 * x22) + ((0x2 * ((uint128_t)x7 * x23)) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((0x2 * ((uint128_t)x13 * x17)) + ((uint128_t)x12 * x15))))));
- uint128_t x25 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + (((uint128_t)x11 * x17) + ((uint128_t)x13 * x15))))) + (0xf * ((uint128_t)x12 * x22)));
- uint128_t x26 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((0x2 * ((uint128_t)x9 * x17)) + ((uint128_t)x11 * x15)))) + (0xf * ((0x2 * ((uint128_t)x13 * x22)) + (0x2 * ((uint128_t)x12 * x23)))));
- uint128_t x27 = ((((uint128_t)x5 * x19) + ((0x2 * ((uint128_t)x7 * x17)) + ((uint128_t)x9 * x15))) + (0xf * (((uint128_t)x11 * x22) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x12 * x21)))));
- uint128_t x28 = ((((uint128_t)x5 * x17) + ((uint128_t)x7 * x15)) + (0xf * (((uint128_t)x9 * x22) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x12 * x19))))));
- uint128_t x29 = (((uint128_t)x5 * x15) + (0xf * ((0x2 * ((uint128_t)x7 * x22)) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + (0x2 * ((uint128_t)x12 * x17))))))));
- uint128_t x30 = (x29 >> 0x39);
- uint64_t x31 = ((uint64_t)x29 & 0x1ffffffffffffff);
- uint128_t x32 = (x30 + x28);
- uint128_t x33 = (x32 >> 0x38);
- uint64_t x34 = ((uint64_t)x32 & 0xffffffffffffff);
- uint128_t x35 = (x33 + x27);
- uint128_t x36 = (x35 >> 0x38);
- uint64_t x37 = ((uint64_t)x35 & 0xffffffffffffff);
- uint128_t x38 = (x36 + x26);
- uint128_t x39 = (x38 >> 0x39);
- uint64_t x40 = ((uint64_t)x38 & 0x1ffffffffffffff);
- uint128_t x41 = (x39 + x25);
- uint128_t x42 = (x41 >> 0x38);
- uint64_t x43 = ((uint64_t)x41 & 0xffffffffffffff);
- uint128_t x44 = (x42 + x24);
- uint64_t x45 = (uint64_t) (x44 >> 0x38);
- uint64_t x46 = ((uint64_t)x44 & 0xffffffffffffff);
- uint128_t x47 = (x31 + ((uint128_t)0xf * x45));
- uint64_t x48 = (uint64_t) (x47 >> 0x39);
- uint64_t x49 = ((uint64_t)x47 & 0x1ffffffffffffff);
- uint64_t x50 = (x48 + x34);
- uint64_t x51 = (x50 >> 0x38);
- uint64_t x52 = (x50 & 0xffffffffffffff);
- return (Return x46, Return x43, Return x40, (x51 + x37), Return x52, Return x49))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_6limbs/femulDisplay.v b/src/Specific/solinas64_2e338m15_6limbs/femulDisplay.v
deleted file mode 100644
index cc67b16bf..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fesquare.c b/src/Specific/solinas64_2e338m15_6limbs/fesquare.c
deleted file mode 100644
index 0c19e81c2..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesquare.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void fesquare(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x11 = (((uint128_t)x2 * x9) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x9 * x2))))));
- { uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xf * ((uint128_t)x9 * x9)));
- { uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xf * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- { uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x9) + ((0x2 * ((uint128_t)x10 * x10)) + ((uint128_t)x9 * x8)))));
- { uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- { uint128_t x16 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- { uint128_t x17 = (x16 >> 0x39);
- { uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- { uint128_t x19 = (x17 + x15);
- { uint128_t x20 = (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x20 + x14);
- { uint128_t x23 = (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint128_t x25 = (x23 + x13);
- { uint128_t x26 = (x25 >> 0x39);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- { uint128_t x28 = (x26 + x12);
- { uint128_t x29 = (x28 >> 0x38);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- { uint128_t x31 = (x29 + x11);
- { uint64_t x32 = (uint64_t) (x31 >> 0x38);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- { uint128_t x34 = (x18 + ((uint128_t)0xf * x32));
- { uint64_t x35 = (uint64_t) (x34 >> 0x39);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff);
- { uint64_t x37 = (x35 + x21);
- { uint64_t x38 = (x37 >> 0x38);
- { uint64_t x39 = (x37 & 0xffffffffffffff);
- out[0] = x36;
- out[1] = x39;
- out[2] = (x38 + x24);
- out[3] = x27;
- out[4] = x30;
- out[5] = x33;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fesquare.v b/src/Specific/solinas64_2e338m15_6limbs/fesquare.v
deleted file mode 100644
index b3377a30f..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/fesquareDisplay.log b/src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.log
deleted file mode 100644
index 20434092e..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,36 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint128_t x11 = (((uint128_t)x2 * x9) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x9 * x2))))));
- uint128_t x12 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xf * ((uint128_t)x9 * x9)));
- uint128_t x13 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xf * ((0x2 * ((uint128_t)x10 * x9)) + (0x2 * ((uint128_t)x9 * x10)))));
- uint128_t x14 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x9) + ((0x2 * ((uint128_t)x10 * x10)) + ((uint128_t)x9 * x8)))));
- uint128_t x15 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x9) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((uint128_t)x9 * x6))))));
- uint128_t x16 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x9)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (0x2 * ((uint128_t)x9 * x4))))))));
- uint128_t x17 = (x16 >> 0x39);
- uint64_t x18 = ((uint64_t)x16 & 0x1ffffffffffffff);
- uint128_t x19 = (x17 + x15);
- uint128_t x20 = (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x20 + x14);
- uint128_t x23 = (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint128_t x25 = (x23 + x13);
- uint128_t x26 = (x25 >> 0x39);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- uint128_t x28 = (x26 + x12);
- uint128_t x29 = (x28 >> 0x38);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- uint128_t x31 = (x29 + x11);
- uint64_t x32 = (uint64_t) (x31 >> 0x38);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- uint128_t x34 = (x18 + ((uint128_t)0xf * x32));
- uint64_t x35 = (uint64_t) (x34 >> 0x39);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff);
- uint64_t x37 = (x35 + x21);
- uint64_t x38 = (x37 >> 0x38);
- uint64_t x39 = (x37 & 0xffffffffffffff);
- return (Return x33, Return x30, Return x27, (x38 + x24), Return x39, Return x36))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.v b/src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.v
deleted file mode 100644
index 3037f5e34..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fesub.c b/src/Specific/solinas64_2e338m15_6limbs/fesub.c
deleted file mode 100644
index 58f3e1e4b..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesub.c
+++ /dev/null
@@ -1,21 +0,0 @@
-static void fesub(uint64_t out[6], const uint64_t in1[6], const uint64_t in2[6]) {
- { const uint64_t x12 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x22 = in2[5];
- { const uint64_t x23 = in2[4];
- { const uint64_t x21 = in2[3];
- { const uint64_t x19 = in2[2];
- { const uint64_t x17 = in2[1];
- { const uint64_t x15 = in2[0];
- out[0] = ((0x3ffffffffffffe2 + x5) - x15);
- out[1] = ((0x1fffffffffffffe + x7) - x17);
- out[2] = ((0x1fffffffffffffe + x9) - x19);
- out[3] = ((0x3fffffffffffffe + x11) - x21);
- out[4] = ((0x1fffffffffffffe + x13) - x23);
- out[5] = ((0x1fffffffffffffe + x12) - x22);
- }}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fesub.v b/src/Specific/solinas64_2e338m15_6limbs/fesub.v
deleted file mode 100644
index 5d17019a9..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/fesubDisplay.log b/src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.log
deleted file mode 100644
index 9eb96c91d..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x12, x13, x11, x9, x7, x5, (x22, x23, x21, x19, x17, x15))%core,
- (((0x1fffffffffffffe + x12) - x22), ((0x1fffffffffffffe + x13) - x23), ((0x3fffffffffffffe + x11) - x21), ((0x1fffffffffffffe + x9) - x19), ((0x1fffffffffffffe + x7) - x17), ((0x3ffffffffffffe2 + x5) - x15)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.v b/src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.v
deleted file mode 100644
index f800aa62e..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e338m15_6limbs/freeze.c b/src/Specific/solinas64_2e338m15_6limbs/freeze.c
deleted file mode 100644
index 9163faff6..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/freeze.c
+++ /dev/null
@@ -1,34 +0,0 @@
-static void freeze(uint64_t out[6], const uint64_t in1[6]) {
- { const uint64_t x9 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffff1);
- { uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffffff);
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x1ffffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffffff);
- { uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- { uint64_t x30 = (x29 & 0x1fffffffffffff1);
- { uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- { uint64_t x34 = (x29 & 0xffffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- { uint64_t x38 = (x29 & 0xffffffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- { uint64_t x42 = (x29 & 0x1ffffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- { uint64_t x46 = (x29 & 0xffffffffffffff);
- { uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- { uint64_t x50 = (x29 & 0xffffffffffffff);
- { uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- out[0] = x32;
- out[1] = x36;
- out[2] = x40;
- out[3] = x44;
- out[4] = x48;
- out[5] = x52;
- }}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_6limbs/freeze.v b/src/Specific/solinas64_2e338m15_6limbs/freeze.v
deleted file mode 100644
index cc5ae945a..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.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/solinas64_2e338m15_6limbs/freezeDisplay.log b/src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.log
deleted file mode 100644
index d2d9556a4..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.log
+++ /dev/null
@@ -1,26 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x9, x10, x8, x6, x4, x2)%core,
- uint64_t x12, uint8_t x13 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffff1);
- uint64_t x15, uint8_t x16 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x13, Return x4, 0xffffffffffffff);
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x16, Return x6, 0xffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x8, 0x1ffffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x10, 0xffffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x9, 0xffffffffffffff);
- uint64_t x29 = cmovznz64(x28, 0x0, 0xffffffffffffffffL);
- uint64_t x30 = (x29 & 0x1fffffffffffff1);
- uint64_t x32, uint8_t x33 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x12, Return x30);
- uint64_t x34 = (x29 & 0xffffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x15, Return x34);
- uint64_t x38 = (x29 & 0xffffffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x18, Return x38);
- uint64_t x42 = (x29 & 0x1ffffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x21, Return x42);
- uint64_t x46 = (x29 & 0xffffffffffffff);
- uint64_t x48, uint8_t x49 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x24, Return x46);
- uint64_t x50 = (x29 & 0xffffffffffffff);
- uint64_t x52, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x49, Return x27, Return x50);
- (Return x52, Return x48, Return x44, Return x40, Return x36, Return x32))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.v b/src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.v
deleted file mode 100644
index 81089266c..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_6limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e338m15_6limbs/py_interpreter.sh b/src/Specific/solinas64_2e338m15_6limbs/py_interpreter.sh
deleted file mode 100755
index efa76fbaf..000000000
--- a/src/Specific/solinas64_2e338m15_6limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**338 - 15' -Dmodulus_bytes='56 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e338m15_7limbs/CurveParameters.v b/src/Specific/solinas64_2e338m15_7limbs/CurveParameters.v
deleted file mode 100644
index fa7bf6731..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^338 - 15
-Base: 48 + 2/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 48 + 2/7;
- bitwidth := 64;
- s := 2^338;
- c := [(1, 15)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e338m15_7limbs/Synthesis.v b/src/Specific/solinas64_2e338m15_7limbs/Synthesis.v
deleted file mode 100644
index f0b0c827c..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/compiler.sh b/src/Specific/solinas64_2e338m15_7limbs/compiler.sh
deleted file mode 100755
index 1558919f0..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,48,49,48,48,48}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas64_2e338m15_7limbs/compilerxx.sh b/src/Specific/solinas64_2e338m15_7limbs/compilerxx.sh
deleted file mode 100755
index b88239761..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,48,48,49,48,48,48}' -Dmodulus_array='{0x03,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1}' -Dmodulus_bytes_val='43' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<338) - 15' "$@"
diff --git a/src/Specific/solinas64_2e338m15_7limbs/feadd.c b/src/Specific/solinas64_2e338m15_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_7limbs/feadd.v b/src/Specific/solinas64_2e338m15_7limbs/feadd.v
deleted file mode 100644
index c912f6719..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.v
deleted file mode 100644
index bfc6fa63d..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fecarry.v b/src/Specific/solinas64_2e338m15_7limbs/fecarry.v
deleted file mode 100644
index fd050b207..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e338m15_7limbs/fecarryDisplay.v
deleted file mode 100644
index a4a157914..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e338m15_7limbs/femul.c b/src/Specific/solinas64_2e338m15_7limbs/femul.c
deleted file mode 100644
index b4c762480..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + ((0x2 * ((uint128_t)x15 * x19)) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0xf * ((uint128_t)x14 * x26)));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0xf * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0xf * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17))) + (0xf * (((uint128_t)x11 * x26) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0xf * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0xf * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint64_t x35 = (uint64_t) (x34 >> 0x31);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint64_t x44 = (uint64_t) (x43 >> 0x31);
- { uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint64_t x47 = (uint64_t) (x46 >> 0x30);
- { uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x30);
- { uint64_t x51 = ((uint64_t)x49 & 0xffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x30);
- { uint64_t x54 = ((uint64_t)x52 & 0xffffffffffff);
- { uint64_t x55 = (x36 + (0xf * x53));
- { uint64_t x56 = (x55 >> 0x31);
- { uint64_t x57 = (x55 & 0x1ffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x30);
- { uint64_t x60 = (x58 & 0xffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_7limbs/femul.v b/src/Specific/solinas64_2e338m15_7limbs/femul.v
deleted file mode 100644
index be543787f..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/femulDisplay.log b/src/Specific/solinas64_2e338m15_7limbs/femulDisplay.log
deleted file mode 100644
index 765233950..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + ((0x2 * ((uint128_t)x15 * x19)) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0xf * ((uint128_t)x14 * x26)));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0xf * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0xf * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17))) + (0xf * (((uint128_t)x11 * x26) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0xf * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0xf * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint64_t x35 = (uint64_t) (x34 >> 0x31);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint64_t x44 = (uint64_t) (x43 >> 0x31);
- uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint64_t x47 = (uint64_t) (x46 >> 0x30);
- uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x30);
- uint64_t x51 = ((uint64_t)x49 & 0xffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x30);
- uint64_t x54 = ((uint64_t)x52 & 0xffffffffffff);
- uint64_t x55 = (x36 + (0xf * x53));
- uint64_t x56 = (x55 >> 0x31);
- uint64_t x57 = (x55 & 0x1ffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x30);
- uint64_t x60 = (x58 & 0xffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_7limbs/femulDisplay.v b/src/Specific/solinas64_2e338m15_7limbs/femulDisplay.v
deleted file mode 100644
index 927e8e13a..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fesquare.c b/src/Specific/solinas64_2e338m15_7limbs/fesquare.c
deleted file mode 100644
index ff6694feb..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0xf * ((uint128_t)x11 * x11)));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xf * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xf * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x11) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint64_t x20 = (uint64_t) (x19 >> 0x31);
- { uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint64_t x40 = (x21 + (0xf * x38));
- { uint64_t x41 = (x40 >> 0x31);
- { uint64_t x42 = (x40 & 0x1ffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x30);
- { uint64_t x45 = (x43 & 0xffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fesquare.v b/src/Specific/solinas64_2e338m15_7limbs/fesquare.v
deleted file mode 100644
index e0e6a10e2..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.log
deleted file mode 100644
index 7e8e9cffc..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0xf * ((uint128_t)x11 * x11)));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xf * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xf * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xf * (((uint128_t)x8 * x11) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xf * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0xf * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint64_t x20 = (uint64_t) (x19 >> 0x31);
- uint64_t x21 = ((uint64_t)x19 & 0x1ffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint64_t x40 = (x21 + (0xf * x38));
- uint64_t x41 = (x40 >> 0x31);
- uint64_t x42 = (x40 & 0x1ffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x30);
- uint64_t x45 = (x43 & 0xffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.v
deleted file mode 100644
index 7db43afd1..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fesub.c b/src/Specific/solinas64_2e338m15_7limbs/fesub.c
deleted file mode 100644
index 4e34c3172..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x3ffffffffffe2 + x5) - x17);
- out[1] = ((0x1fffffffffffe + x7) - x19);
- out[2] = ((0x1fffffffffffe + x9) - x21);
- out[3] = ((0x3fffffffffffe + x11) - x23);
- out[4] = ((0x1fffffffffffe + x13) - x25);
- out[5] = ((0x1fffffffffffe + x15) - x27);
- out[6] = ((0x1fffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fesub.v b/src/Specific/solinas64_2e338m15_7limbs/fesub.v
deleted file mode 100644
index a07a1fd17..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.log
deleted file mode 100644
index 468249658..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1fffffffffffe + x14) - x26), ((0x1fffffffffffe + x15) - x27), ((0x1fffffffffffe + x13) - x25), ((0x3fffffffffffe + x11) - x23), ((0x1fffffffffffe + x9) - x21), ((0x1fffffffffffe + x7) - x19), ((0x3ffffffffffe2 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.v
deleted file mode 100644
index 7ec292da7..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e338m15_7limbs/freeze.c b/src/Specific/solinas64_2e338m15_7limbs/freeze.c
deleted file mode 100644
index 65430dbaa..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff1);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x1ffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x1fffffffffff1);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0xffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0xffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x1ffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0xffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0xffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0xffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e338m15_7limbs/freeze.v b/src/Specific/solinas64_2e338m15_7limbs/freeze.v
deleted file mode 100644
index aa86a2590..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.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/solinas64_2e338m15_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.log
deleted file mode 100644
index 23160c784..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff1);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0xffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x1ffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0xffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x1fffffffffff1);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0xffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0xffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x1ffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0xffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0xffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0xffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.v
deleted file mode 100644
index ad1e392b0..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e338m15_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e338m15_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e338m15_7limbs/py_interpreter.sh
deleted file mode 100755
index 98a4275d3..000000000
--- a/src/Specific/solinas64_2e338m15_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**338 - 15' -Dmodulus_bytes='48 + 2/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e369m25_7limbs/CurveParameters.v b/src/Specific/solinas64_2e369m25_7limbs/CurveParameters.v
deleted file mode 100644
index 6a782a1a4..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^369 - 25
-Base: 52 + 5/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 52 + 5/7;
- bitwidth := 64;
- s := 2^369;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e369m25_7limbs/Synthesis.v b/src/Specific/solinas64_2e369m25_7limbs/Synthesis.v
deleted file mode 100644
index 6866bed39..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/compiler.sh b/src/Specific/solinas64_2e369m25_7limbs/compiler.sh
deleted file mode 100755
index 23350a8f6..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,52,53,53,52}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas64_2e369m25_7limbs/compilerxx.sh b/src/Specific/solinas64_2e369m25_7limbs/compilerxx.sh
deleted file mode 100755
index cdb2b81fb..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,53,53,52,53,53,52}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas64_2e369m25_7limbs/feadd.c b/src/Specific/solinas64_2e369m25_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_7limbs/feadd.v b/src/Specific/solinas64_2e369m25_7limbs/feadd.v
deleted file mode 100644
index c850e8993..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.v
deleted file mode 100644
index a7499777f..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fecarry.v b/src/Specific/solinas64_2e369m25_7limbs/fecarry.v
deleted file mode 100644
index 8fa216f8f..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e369m25_7limbs/fecarryDisplay.v
deleted file mode 100644
index ac665fd69..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e369m25_7limbs/femul.c b/src/Specific/solinas64_2e369m25_7limbs/femul.c
deleted file mode 100644
index 6f1bfef49..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x19 * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x19 * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x19 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x19 * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x19 * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x19 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x35);
- { uint64_t x36 = ((uint64_t)x34 & 0x1fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint64_t x38 = (uint64_t) (x37 >> 0x35);
- { uint64_t x39 = ((uint64_t)x37 & 0x1fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint64_t x41 = (uint64_t) (x40 >> 0x35);
- { uint64_t x42 = ((uint64_t)x40 & 0x1fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint64_t x44 = (uint64_t) (x43 >> 0x34);
- { uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint64_t x47 = (uint64_t) (x46 >> 0x35);
- { uint64_t x48 = ((uint64_t)x46 & 0x1fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x35);
- { uint64_t x51 = ((uint64_t)x49 & 0x1fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x34);
- { uint64_t x54 = ((uint64_t)x52 & 0xfffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x19 * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x35);
- { uint64_t x57 = ((uint64_t)x55 & 0x1fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x35);
- { uint64_t x60 = (x58 & 0x1fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_7limbs/femul.v b/src/Specific/solinas64_2e369m25_7limbs/femul.v
deleted file mode 100644
index ad364cacd..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/femulDisplay.log b/src/Specific/solinas64_2e369m25_7limbs/femulDisplay.log
deleted file mode 100644
index 03c2ecc92..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x19 * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x19 * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x19 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x19 * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x19 * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x19 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x35);
- uint64_t x36 = ((uint64_t)x34 & 0x1fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint64_t x38 = (uint64_t) (x37 >> 0x35);
- uint64_t x39 = ((uint64_t)x37 & 0x1fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint64_t x41 = (uint64_t) (x40 >> 0x35);
- uint64_t x42 = ((uint64_t)x40 & 0x1fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint64_t x44 = (uint64_t) (x43 >> 0x34);
- uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint64_t x47 = (uint64_t) (x46 >> 0x35);
- uint64_t x48 = ((uint64_t)x46 & 0x1fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x35);
- uint64_t x51 = ((uint64_t)x49 & 0x1fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x34);
- uint64_t x54 = ((uint64_t)x52 & 0xfffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x19 * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x35);
- uint64_t x57 = ((uint64_t)x55 & 0x1fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x35);
- uint64_t x60 = (x58 & 0x1fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_7limbs/femulDisplay.v b/src/Specific/solinas64_2e369m25_7limbs/femulDisplay.v
deleted file mode 100644
index e1a6bbd51..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fesquare.c b/src/Specific/solinas64_2e369m25_7limbs/fesquare.c
deleted file mode 100644
index 6f7161ef7..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x19 * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x19 * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x19 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x19 * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x35);
- { uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint64_t x23 = (uint64_t) (x22 >> 0x35);
- { uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x35);
- { uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint64_t x32 = (uint64_t) (x31 >> 0x35);
- { uint64_t x33 = ((uint64_t)x31 & 0x1fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x35);
- { uint64_t x36 = ((uint64_t)x34 & 0x1fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x34);
- { uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x19 * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x35);
- { uint64_t x42 = ((uint64_t)x40 & 0x1fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x35);
- { uint64_t x45 = (x43 & 0x1fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fesquare.v b/src/Specific/solinas64_2e369m25_7limbs/fesquare.v
deleted file mode 100644
index d0533cb57..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.log
deleted file mode 100644
index 546e61a09..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x19 * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x19 * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x19 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x19 * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x35);
- uint64_t x21 = ((uint64_t)x19 & 0x1fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint64_t x23 = (uint64_t) (x22 >> 0x35);
- uint64_t x24 = ((uint64_t)x22 & 0x1fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x35);
- uint64_t x27 = ((uint64_t)x25 & 0x1fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint64_t x32 = (uint64_t) (x31 >> 0x35);
- uint64_t x33 = ((uint64_t)x31 & 0x1fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x35);
- uint64_t x36 = ((uint64_t)x34 & 0x1fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x34);
- uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x19 * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x35);
- uint64_t x42 = ((uint64_t)x40 & 0x1fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x35);
- uint64_t x45 = (x43 & 0x1fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.v
deleted file mode 100644
index f7d5daeb2..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fesub.c b/src/Specific/solinas64_2e369m25_7limbs/fesub.c
deleted file mode 100644
index 10ce97879..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x3fffffffffffce + x5) - x17);
- out[1] = ((0x3ffffffffffffe + x7) - x19);
- out[2] = ((0x3ffffffffffffe + x9) - x21);
- out[3] = ((0x1ffffffffffffe + x11) - x23);
- out[4] = ((0x3ffffffffffffe + x13) - x25);
- out[5] = ((0x3ffffffffffffe + x15) - x27);
- out[6] = ((0x1ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fesub.v b/src/Specific/solinas64_2e369m25_7limbs/fesub.v
deleted file mode 100644
index 6c50a52e7..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.log
deleted file mode 100644
index b92f40f86..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x1ffffffffffffe + x14) - x26), ((0x3ffffffffffffe + x15) - x27), ((0x3ffffffffffffe + x13) - x25), ((0x1ffffffffffffe + x11) - x23), ((0x3ffffffffffffe + x9) - x21), ((0x3ffffffffffffe + x7) - x19), ((0x3fffffffffffce + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.v
deleted file mode 100644
index c0b36068e..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e369m25_7limbs/freeze.c b/src/Specific/solinas64_2e369m25_7limbs/freeze.c
deleted file mode 100644
index d023e0492..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffe7);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x1fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xfffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x1fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x1fffffffffffe7);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x1fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x1fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0xfffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x1fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x1fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0xfffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_7limbs/freeze.v b/src/Specific/solinas64_2e369m25_7limbs/freeze.v
deleted file mode 100644
index 5433019dc..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.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/solinas64_2e369m25_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.log
deleted file mode 100644
index 42550a18b..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffe7);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x1fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x1fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xfffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x1fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x1fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0xfffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x1fffffffffffe7);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x1fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x1fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0xfffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x1fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x1fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0xfffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.v
deleted file mode 100644
index b1b3ccfb4..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e369m25_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e369m25_7limbs/py_interpreter.sh
deleted file mode 100755
index 96bb01399..000000000
--- a/src/Specific/solinas64_2e369m25_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**369 - 25' -Dmodulus_bytes='52 + 5/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e369m25_8limbs/CurveParameters.v b/src/Specific/solinas64_2e369m25_8limbs/CurveParameters.v
deleted file mode 100644
index f44d54162..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^369 - 25
-Base: 46.125
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 46 + 1/8;
- bitwidth := 64;
- s := 2^369;
- c := [(1, 25)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e369m25_8limbs/Synthesis.v b/src/Specific/solinas64_2e369m25_8limbs/Synthesis.v
deleted file mode 100644
index ad0218535..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/compiler.sh b/src/Specific/solinas64_2e369m25_8limbs/compiler.sh
deleted file mode 100755
index e9cd5313f..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas64_2e369m25_8limbs/compilerxx.sh b/src/Specific/solinas64_2e369m25_8limbs/compilerxx.sh
deleted file mode 100755
index 8456e5246..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,46,46,46,46}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7}' -Dmodulus_bytes_val='47' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<369) - 25' "$@"
diff --git a/src/Specific/solinas64_2e369m25_8limbs/feadd.c b/src/Specific/solinas64_2e369m25_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_8limbs/feadd.v b/src/Specific/solinas64_2e369m25_8limbs/feadd.v
deleted file mode 100644
index c1892f146..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.v
deleted file mode 100644
index d926617fc..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fecarry.v b/src/Specific/solinas64_2e369m25_8limbs/fecarry.v
deleted file mode 100644
index 79291cd0d..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e369m25_8limbs/fecarryDisplay.v
deleted file mode 100644
index 9e877eddb..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e369m25_8limbs/femul.c b/src/Specific/solinas64_2e369m25_8limbs/femul.c
deleted file mode 100644
index 5c6fbded1..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x19 * ((uint128_t)x16 * x30)));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x19 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x19 * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x19 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x19 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x19 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x19 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x2f);
- { uint64_t x41 = ((uint64_t)x39 & 0x7fffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x2e);
- { uint64_t x44 = ((uint64_t)x42 & 0x3fffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x2e);
- { uint64_t x47 = ((uint64_t)x45 & 0x3fffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x2e);
- { uint64_t x50 = ((uint64_t)x48 & 0x3fffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x2e);
- { uint64_t x53 = ((uint64_t)x51 & 0x3fffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x2e);
- { uint64_t x56 = ((uint64_t)x54 & 0x3fffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x2e);
- { uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2e);
- { uint64_t x62 = ((uint64_t)x60 & 0x3fffffffffff);
- { uint64_t x63 = (x41 + (0x19 * x61));
- { uint64_t x64 = (x63 >> 0x2f);
- { uint64_t x65 = (x63 & 0x7fffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x2e);
- { uint64_t x68 = (x66 & 0x3fffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_8limbs/femul.v b/src/Specific/solinas64_2e369m25_8limbs/femul.v
deleted file mode 100644
index e0482f432..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/femulDisplay.log b/src/Specific/solinas64_2e369m25_8limbs/femulDisplay.log
deleted file mode 100644
index 7914bb499..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x19 * ((uint128_t)x16 * x30)));
- uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x19 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x19 * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x19 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x19 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x19 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x19 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x2f);
- uint64_t x41 = ((uint64_t)x39 & 0x7fffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x2e);
- uint64_t x44 = ((uint64_t)x42 & 0x3fffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x2e);
- uint64_t x47 = ((uint64_t)x45 & 0x3fffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x2e);
- uint64_t x50 = ((uint64_t)x48 & 0x3fffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x2e);
- uint64_t x53 = ((uint64_t)x51 & 0x3fffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x2e);
- uint64_t x56 = ((uint64_t)x54 & 0x3fffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x2e);
- uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x2e);
- uint64_t x62 = ((uint64_t)x60 & 0x3fffffffffff);
- uint64_t x63 = (x41 + (0x19 * x61));
- uint64_t x64 = (x63 >> 0x2f);
- uint64_t x65 = (x63 & 0x7fffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x2e);
- uint64_t x68 = (x66 & 0x3fffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_8limbs/femulDisplay.v b/src/Specific/solinas64_2e369m25_8limbs/femulDisplay.v
deleted file mode 100644
index 66d409d42..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fesquare.c b/src/Specific/solinas64_2e369m25_8limbs/fesquare.c
deleted file mode 100644
index af582164e..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x19 * ((uint128_t)x13 * x13)));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x19 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x19 * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x19 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2e);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2e);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- { uint64_t x46 = (x24 + (0x19 * x44));
- { uint64_t x47 = (x46 >> 0x2f);
- { uint64_t x48 = (x46 & 0x7fffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x2e);
- { uint64_t x51 = (x49 & 0x3fffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fesquare.v b/src/Specific/solinas64_2e369m25_8limbs/fesquare.v
deleted file mode 100644
index 7c6b393ea..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.log
deleted file mode 100644
index c27dfaf7f..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x19 * ((uint128_t)x13 * x13)));
- uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x19 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x19 * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x19 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x19 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x19 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x19 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x2f);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x2e);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x2e);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- uint64_t x46 = (x24 + (0x19 * x44));
- uint64_t x47 = (x46 >> 0x2f);
- uint64_t x48 = (x46 & 0x7fffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x2e);
- uint64_t x51 = (x49 & 0x3fffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.v
deleted file mode 100644
index 3fc296ae4..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fesub.c b/src/Specific/solinas64_2e369m25_8limbs/fesub.c
deleted file mode 100644
index b5ebd49a4..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0xffffffffffce + x5) - x19);
- out[1] = ((0x7ffffffffffe + x7) - x21);
- out[2] = ((0x7ffffffffffe + x9) - x23);
- out[3] = ((0x7ffffffffffe + x11) - x25);
- out[4] = ((0x7ffffffffffe + x13) - x27);
- out[5] = ((0x7ffffffffffe + x15) - x29);
- out[6] = ((0x7ffffffffffe + x17) - x31);
- out[7] = ((0x7ffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fesub.v b/src/Specific/solinas64_2e369m25_8limbs/fesub.v
deleted file mode 100644
index a11d8ce05..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.log
deleted file mode 100644
index 4001ced5a..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x7ffffffffffe + x16) - x30), ((0x7ffffffffffe + x17) - x31), ((0x7ffffffffffe + x15) - x29), ((0x7ffffffffffe + x13) - x27), ((0x7ffffffffffe + x11) - x25), ((0x7ffffffffffe + x9) - x23), ((0x7ffffffffffe + x7) - x21), ((0xffffffffffce + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.v
deleted file mode 100644
index 0fbf5f29c..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e369m25_8limbs/freeze.c b/src/Specific/solinas64_2e369m25_8limbs/freeze.c
deleted file mode 100644
index 975828002..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffe7);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3fffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3fffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x3fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3fffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0x7fffffffffe7);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0x3fffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0x3fffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x3fffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x3fffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0x3fffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0x3fffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x3fffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e369m25_8limbs/freeze.v b/src/Specific/solinas64_2e369m25_8limbs/freeze.v
deleted file mode 100644
index bdb85ed3f..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.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/solinas64_2e369m25_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.log
deleted file mode 100644
index 576115614..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffe7);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3fffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x3fffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3fffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x3fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3fffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x3fffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3fffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0x7fffffffffe7);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0x3fffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0x3fffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x3fffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x3fffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0x3fffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0x3fffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x3fffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.v
deleted file mode 100644
index c792e1d68..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e369m25_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e369m25_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e369m25_8limbs/py_interpreter.sh
deleted file mode 100755
index e58511182..000000000
--- a/src/Specific/solinas64_2e369m25_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**369 - 25' -Dmodulus_bytes='46.125' -Da24='121665'
diff --git a/src/Specific/solinas64_2e379m19_7limbs/CurveParameters.v b/src/Specific/solinas64_2e379m19_7limbs/CurveParameters.v
deleted file mode 100644
index b7b223fa9..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^379 - 19
-Base: 54 + 1/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 54 + 1/7;
- bitwidth := 64;
- s := 2^379;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e379m19_7limbs/Synthesis.v b/src/Specific/solinas64_2e379m19_7limbs/Synthesis.v
deleted file mode 100644
index ebefcf71e..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/compiler.sh b/src/Specific/solinas64_2e379m19_7limbs/compiler.sh
deleted file mode 100755
index 93a23eae4..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas64_2e379m19_7limbs/compilerxx.sh b/src/Specific/solinas64_2e379m19_7limbs/compilerxx.sh
deleted file mode 100755
index 4421aa733..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,54,54,54}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas64_2e379m19_7limbs/feadd.c b/src/Specific/solinas64_2e379m19_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_7limbs/feadd.v b/src/Specific/solinas64_2e379m19_7limbs/feadd.v
deleted file mode 100644
index c69094f7d..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.v
deleted file mode 100644
index 55239d2cb..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fecarry.v b/src/Specific/solinas64_2e379m19_7limbs/fecarry.v
deleted file mode 100644
index 70a4efe5e..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e379m19_7limbs/fecarryDisplay.v
deleted file mode 100644
index daf5c6bd9..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e379m19_7limbs/femul.c b/src/Specific/solinas64_2e379m19_7limbs/femul.c
deleted file mode 100644
index 13915c820..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((0x2 * ((uint128_t)x15 * x19)) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x13 * ((uint128_t)x14 * x26)));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x13 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x13 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17))) + (0x13 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x13 * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x13 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint64_t x41 = (uint64_t) (x40 >> 0x36);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint64_t x44 = (uint64_t) (x43 >> 0x36);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint64_t x47 = (uint64_t) (x46 >> 0x36);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x36);
- { uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x36);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x13 * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x37);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x36);
- { uint64_t x60 = (x58 & 0x3fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_7limbs/femul.v b/src/Specific/solinas64_2e379m19_7limbs/femul.v
deleted file mode 100644
index b528319c3..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/femulDisplay.log b/src/Specific/solinas64_2e379m19_7limbs/femulDisplay.log
deleted file mode 100644
index dabe48b5c..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((0x2 * ((uint128_t)x15 * x19)) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x13 * ((uint128_t)x14 * x26)));
- uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x13 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x13 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17))) + (0x13 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x13 * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x13 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint64_t x41 = (uint64_t) (x40 >> 0x36);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint64_t x44 = (uint64_t) (x43 >> 0x36);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint64_t x47 = (uint64_t) (x46 >> 0x36);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x36);
- uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x36);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x13 * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x37);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x36);
- uint64_t x60 = (x58 & 0x3fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_7limbs/femulDisplay.v b/src/Specific/solinas64_2e379m19_7limbs/femulDisplay.v
deleted file mode 100644
index 767090b57..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fesquare.c b/src/Specific/solinas64_2e379m19_7limbs/fesquare.c
deleted file mode 100644
index e2ddf49ac..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x13 * ((uint128_t)x11 * x11)));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x36);
- { uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint64_t x26 = (uint64_t) (x25 >> 0x36);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint64_t x29 = (uint64_t) (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint64_t x32 = (uint64_t) (x31 >> 0x36);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x36);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x13 * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x36);
- { uint64_t x45 = (x43 & 0x3fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fesquare.v b/src/Specific/solinas64_2e379m19_7limbs/fesquare.v
deleted file mode 100644
index e5a68b2e8..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.log
deleted file mode 100644
index 90ba6043f..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x13 * ((uint128_t)x11 * x11)));
- uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x36);
- uint64_t x24 = ((uint64_t)x22 & 0x3fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint64_t x26 = (uint64_t) (x25 >> 0x36);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint64_t x29 = (uint64_t) (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint64_t x32 = (uint64_t) (x31 >> 0x36);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x36);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x13 * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x36);
- uint64_t x45 = (x43 & 0x3fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.v
deleted file mode 100644
index 5d0faf2e1..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fesub.c b/src/Specific/solinas64_2e379m19_7limbs/fesub.c
deleted file mode 100644
index e888ad3f0..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xffffffffffffda + x5) - x17);
- out[1] = ((0x7ffffffffffffe + x7) - x19);
- out[2] = ((0x7ffffffffffffe + x9) - x21);
- out[3] = ((0x7ffffffffffffe + x11) - x23);
- out[4] = ((0x7ffffffffffffe + x13) - x25);
- out[5] = ((0x7ffffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fesub.v b/src/Specific/solinas64_2e379m19_7limbs/fesub.v
deleted file mode 100644
index c6a487129..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.log
deleted file mode 100644
index 30992c3d8..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffffe + x14) - x26), ((0x7ffffffffffffe + x15) - x27), ((0x7ffffffffffffe + x13) - x25), ((0x7ffffffffffffe + x11) - x23), ((0x7ffffffffffffe + x9) - x21), ((0x7ffffffffffffe + x7) - x19), ((0xffffffffffffda + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.v
deleted file mode 100644
index 6acfaf740..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e379m19_7limbs/freeze.c b/src/Specific/solinas64_2e379m19_7limbs/freeze.c
deleted file mode 100644
index f1a2abbfb..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffed);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7fffffffffffed);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x3fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x3fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3fffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x3fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x3fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_7limbs/freeze.v b/src/Specific/solinas64_2e379m19_7limbs/freeze.v
deleted file mode 100644
index 32fd6de2b..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.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/solinas64_2e379m19_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.log
deleted file mode 100644
index bd8d59c3b..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffed);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x3fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x3fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7fffffffffffed);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x3fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x3fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3fffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x3fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x3fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.v
deleted file mode 100644
index 9ab093afc..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e379m19_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e379m19_7limbs/py_interpreter.sh
deleted file mode 100755
index 36bc36aaa..000000000
--- a/src/Specific/solinas64_2e379m19_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**379 - 19' -Dmodulus_bytes='54 + 1/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e379m19_8limbs/CurveParameters.v b/src/Specific/solinas64_2e379m19_8limbs/CurveParameters.v
deleted file mode 100644
index 4e0f43636..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^379 - 19
-Base: 47.375
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 47 + 3/8;
- bitwidth := 64;
- s := 2^379;
- c := [(1, 19)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e379m19_8limbs/Synthesis.v b/src/Specific/solinas64_2e379m19_8limbs/Synthesis.v
deleted file mode 100644
index 36b68dc57..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/compiler.sh b/src/Specific/solinas64_2e379m19_8limbs/compiler.sh
deleted file mode 100755
index e14fb7b72..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,47,48,47,47}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas64_2e379m19_8limbs/compilerxx.sh b/src/Specific/solinas64_2e379m19_8limbs/compilerxx.sh
deleted file mode 100755
index 04af3d947..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,47,48,47,47,48,47,47}' -Dmodulus_array='{0x07,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<379) - 19' "$@"
diff --git a/src/Specific/solinas64_2e379m19_8limbs/feadd.c b/src/Specific/solinas64_2e379m19_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_8limbs/feadd.v b/src/Specific/solinas64_2e379m19_8limbs/feadd.v
deleted file mode 100644
index a2e5a5093..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.v
deleted file mode 100644
index 20961224c..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fecarry.v b/src/Specific/solinas64_2e379m19_8limbs/fecarry.v
deleted file mode 100644
index 266685f6f..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e379m19_8limbs/fecarryDisplay.v
deleted file mode 100644
index f763edb44..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e379m19_8limbs/femul.c b/src/Specific/solinas64_2e379m19_8limbs/femul.c
deleted file mode 100644
index f79b222d2..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x13 * ((uint128_t)x16 * x30)));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x13 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x13 * (((uint128_t)x15 * x30) + ((0x2 * ((uint128_t)x17 * x31)) + ((uint128_t)x16 * x29)))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x13 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x13 * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + (((uint128_t)x15 * x29) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x13 * (((uint128_t)x9 * x30) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x13 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x2f);
- { uint64_t x44 = ((uint64_t)x42 & 0x7fffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x2f);
- { uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x2f);
- { uint64_t x53 = ((uint64_t)x51 & 0x7fffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x2f);
- { uint64_t x59 = ((uint64_t)x57 & 0x7fffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint64_t x63 = (x41 + (0x13 * x61));
- { uint64_t x64 = (x63 >> 0x30);
- { uint64_t x65 = (x63 & 0xffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x2f);
- { uint64_t x68 = (x66 & 0x7fffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_8limbs/femul.v b/src/Specific/solinas64_2e379m19_8limbs/femul.v
deleted file mode 100644
index b54cab6ec..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/femulDisplay.log b/src/Specific/solinas64_2e379m19_8limbs/femulDisplay.log
deleted file mode 100644
index 464386c79..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x13 * ((uint128_t)x16 * x30)));
- uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x13 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x13 * (((uint128_t)x15 * x30) + ((0x2 * ((uint128_t)x17 * x31)) + ((uint128_t)x16 * x29)))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x13 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x13 * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + (((uint128_t)x15 * x29) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x13 * (((uint128_t)x9 * x30) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x13 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x2f);
- uint64_t x44 = ((uint64_t)x42 & 0x7fffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x2f);
- uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x2f);
- uint64_t x53 = ((uint64_t)x51 & 0x7fffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x2f);
- uint64_t x59 = ((uint64_t)x57 & 0x7fffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint64_t x63 = (x41 + (0x13 * x61));
- uint64_t x64 = (x63 >> 0x30);
- uint64_t x65 = (x63 & 0xffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x2f);
- uint64_t x68 = (x66 & 0x7fffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_8limbs/femulDisplay.v b/src/Specific/solinas64_2e379m19_8limbs/femulDisplay.v
deleted file mode 100644
index d9ceb9662..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fesquare.c b/src/Specific/solinas64_2e379m19_8limbs/fesquare.c
deleted file mode 100644
index 8fee9eae5..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + (((uint128_t)x6 * x12) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + (((uint128_t)x12 * x6) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x13 * ((uint128_t)x13 * x13)));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (((uint128_t)x12 * x13) + ((0x2 * ((uint128_t)x14 * x14)) + ((uint128_t)x13 * x12)))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x13) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2f);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2f);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint64_t x46 = (x24 + (0x13 * x44));
- { uint64_t x47 = (x46 >> 0x30);
- { uint64_t x48 = (x46 & 0xffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x2f);
- { uint64_t x51 = (x49 & 0x7fffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fesquare.v b/src/Specific/solinas64_2e379m19_8limbs/fesquare.v
deleted file mode 100644
index 1933cbfe3..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.log
deleted file mode 100644
index e1f01d47c..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + (((uint128_t)x6 * x12) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + (((uint128_t)x12 * x6) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x13 * ((uint128_t)x13 * x13)));
- uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x13 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x13 * (((uint128_t)x12 * x13) + ((0x2 * ((uint128_t)x14 * x14)) + ((uint128_t)x13 * x12)))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x13 * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13 * (((uint128_t)x6 * x13) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x13 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x2f);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x2f);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x2f);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint64_t x46 = (x24 + (0x13 * x44));
- uint64_t x47 = (x46 >> 0x30);
- uint64_t x48 = (x46 & 0xffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x2f);
- uint64_t x51 = (x49 & 0x7fffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.v
deleted file mode 100644
index 855f1fa4f..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fesub.c b/src/Specific/solinas64_2e379m19_8limbs/fesub.c
deleted file mode 100644
index 4e3fd31a9..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1ffffffffffda + x5) - x19);
- out[1] = ((0xfffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0xfffffffffffe + x11) - x25);
- out[4] = ((0xfffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0xfffffffffffe + x17) - x31);
- out[7] = ((0xfffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fesub.v b/src/Specific/solinas64_2e379m19_8limbs/fesub.v
deleted file mode 100644
index e0f6e3c7b..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.log
deleted file mode 100644
index a3df6bbfa..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffffffffe + x16) - x30), ((0xfffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0xfffffffffffe + x13) - x27), ((0xfffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0xfffffffffffe + x7) - x21), ((0x1ffffffffffda + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.v
deleted file mode 100644
index 244f4e94d..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e379m19_8limbs/freeze.c b/src/Specific/solinas64_2e379m19_8limbs/freeze.c
deleted file mode 100644
index 1e23ff8b2..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffed);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x7fffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x7fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x7fffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xffffffffffed);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0x7fffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x7fffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x7fffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0x7fffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7fffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e379m19_8limbs/freeze.v b/src/Specific/solinas64_2e379m19_8limbs/freeze.v
deleted file mode 100644
index eb58d51a9..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.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/solinas64_2e379m19_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.log
deleted file mode 100644
index 8c335c715..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffed);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x7fffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x7fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x7fffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xffffffffffed);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0x7fffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x7fffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x7fffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0x7fffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7fffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.v
deleted file mode 100644
index a4179d4c4..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e379m19_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e379m19_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e379m19_8limbs/py_interpreter.sh
deleted file mode 100755
index 279252eba..000000000
--- a/src/Specific/solinas64_2e379m19_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**379 - 19' -Dmodulus_bytes='47.375' -Da24='121665'
diff --git a/src/Specific/solinas64_2e382m105_7limbs/CurveParameters.v b/src/Specific/solinas64_2e382m105_7limbs/CurveParameters.v
deleted file mode 100644
index 3950c97b9..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^382 - 105
-Base: 54 + 4/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 54 + 4/7;
- bitwidth := 64;
- s := 2^382;
- c := [(1, 105)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e382m105_7limbs/Synthesis.v b/src/Specific/solinas64_2e382m105_7limbs/Synthesis.v
deleted file mode 100644
index da24a3a1c..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/compiler.sh b/src/Specific/solinas64_2e382m105_7limbs/compiler.sh
deleted file mode 100755
index 0b1917414..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,54,55,54,55,54}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas64_2e382m105_7limbs/compilerxx.sh b/src/Specific/solinas64_2e382m105_7limbs/compilerxx.sh
deleted file mode 100755
index e40a65448..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,54,55,54,55,54}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas64_2e382m105_7limbs/feadd.c b/src/Specific/solinas64_2e382m105_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_7limbs/feadd.v b/src/Specific/solinas64_2e382m105_7limbs/feadd.v
deleted file mode 100644
index 6eaa6a8df..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.v
deleted file mode 100644
index b27bd7055..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fecarry.v b/src/Specific/solinas64_2e382m105_7limbs/fecarry.v
deleted file mode 100644
index 5876e2997..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e382m105_7limbs/fecarryDisplay.v
deleted file mode 100644
index 8dc5fd973..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e382m105_7limbs/femul.c b/src/Specific/solinas64_2e382m105_7limbs/femul.c
deleted file mode 100644
index e1136da2c..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x69 * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((0x2 * ((uint128_t)x9 * x21)) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x69 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x69 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x69 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x69 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x69 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x36);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x37);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x36);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint128_t x50 = (x49 >> 0x37);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x36);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x69 * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x37);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x37);
- { uint64_t x60 = (x58 & 0x7fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_7limbs/femul.v b/src/Specific/solinas64_2e382m105_7limbs/femul.v
deleted file mode 100644
index 0242cb12b..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/femulDisplay.log b/src/Specific/solinas64_2e382m105_7limbs/femulDisplay.log
deleted file mode 100644
index c565e4248..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x69 * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((0x2 * ((uint128_t)x9 * x21)) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x69 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x69 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x69 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x69 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x69 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x36);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x37);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x36);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint128_t x50 = (x49 >> 0x37);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x36);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x69 * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x37);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x37);
- uint64_t x60 = (x58 & 0x7fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_7limbs/femulDisplay.v b/src/Specific/solinas64_2e382m105_7limbs/femulDisplay.v
deleted file mode 100644
index 418306f4c..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fesquare.c b/src/Specific/solinas64_2e382m105_7limbs/fesquare.c
deleted file mode 100644
index 8cf74164e..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x69 * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x69 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x69 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x69 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x69 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x69 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x36);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x37);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x36);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x69 * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x37);
- { uint64_t x45 = (x43 & 0x7fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fesquare.v b/src/Specific/solinas64_2e382m105_7limbs/fesquare.v
deleted file mode 100644
index 5634dae7c..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.log
deleted file mode 100644
index e559346f0..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x69 * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x69 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x69 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x69 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x69 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x69 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x36);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x37);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x36);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x69 * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x37);
- uint64_t x45 = (x43 & 0x7fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.v
deleted file mode 100644
index bb48e85bd..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fesub.c b/src/Specific/solinas64_2e382m105_7limbs/fesub.c
deleted file mode 100644
index 9bd0ffa45..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xffffffffffff2e + x5) - x17);
- out[1] = ((0xfffffffffffffe + x7) - x19);
- out[2] = ((0x7ffffffffffffe + x9) - x21);
- out[3] = ((0xfffffffffffffe + x11) - x23);
- out[4] = ((0x7ffffffffffffe + x13) - x25);
- out[5] = ((0xfffffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fesub.v b/src/Specific/solinas64_2e382m105_7limbs/fesub.v
deleted file mode 100644
index 1290cc03d..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.log
deleted file mode 100644
index 12f5f41b9..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffffe + x14) - x26), ((0xfffffffffffffe + x15) - x27), ((0x7ffffffffffffe + x13) - x25), ((0xfffffffffffffe + x11) - x23), ((0x7ffffffffffffe + x9) - x21), ((0xfffffffffffffe + x7) - x19), ((0xffffffffffff2e + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.v
deleted file mode 100644
index 2b04dc7aa..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e382m105_7limbs/freeze.c b/src/Specific/solinas64_2e382m105_7limbs/freeze.c
deleted file mode 100644
index 2c6a7a34f..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffff97);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7fffffffffff97);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x7fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x3fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x7fffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x3fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x7fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_7limbs/freeze.v b/src/Specific/solinas64_2e382m105_7limbs/freeze.v
deleted file mode 100644
index da10aea0d..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.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/solinas64_2e382m105_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.log
deleted file mode 100644
index a49a4dd93..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffff97);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x3fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x3fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7fffffffffff97);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x7fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x3fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x7fffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x3fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x7fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.v
deleted file mode 100644
index d11092580..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e382m105_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e382m105_7limbs/py_interpreter.sh
deleted file mode 100755
index 5ffe26225..000000000
--- a/src/Specific/solinas64_2e382m105_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**382 - 105' -Dmodulus_bytes='54 + 4/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e382m105_8limbs/CurveParameters.v b/src/Specific/solinas64_2e382m105_8limbs/CurveParameters.v
deleted file mode 100644
index 4064c34f0..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^382 - 105
-Base: 47.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 47 + 3/4;
- bitwidth := 64;
- s := 2^382;
- c := [(1, 105)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e382m105_8limbs/Synthesis.v b/src/Specific/solinas64_2e382m105_8limbs/Synthesis.v
deleted file mode 100644
index 79ea7b524..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/compiler.sh b/src/Specific/solinas64_2e382m105_8limbs/compiler.sh
deleted file mode 100755
index 77298cc8a..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47,48,48,48,47}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas64_2e382m105_8limbs/compilerxx.sh b/src/Specific/solinas64_2e382m105_8limbs/compilerxx.sh
deleted file mode 100755
index 4d9d5f39f..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,47,48,48,48,47}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x97}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<382) - 105' "$@"
diff --git a/src/Specific/solinas64_2e382m105_8limbs/feadd.c b/src/Specific/solinas64_2e382m105_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_8limbs/feadd.v b/src/Specific/solinas64_2e382m105_8limbs/feadd.v
deleted file mode 100644
index 5d53d93ae..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.v
deleted file mode 100644
index eda67cc68..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fecarry.v b/src/Specific/solinas64_2e382m105_8limbs/fecarry.v
deleted file mode 100644
index 7efe2123c..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e382m105_8limbs/fecarryDisplay.v
deleted file mode 100644
index 541420e58..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e382m105_8limbs/femul.c b/src/Specific/solinas64_2e382m105_8limbs/femul.c
deleted file mode 100644
index 33b7dc516..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x69 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x69 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x69 * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x69 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x69 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x69 * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x69 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x30);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x2f);
- { uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x30);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x30);
- { uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint64_t x63 = (x41 + (0x69 * x61));
- { uint64_t x64 = (x63 >> 0x30);
- { uint64_t x65 = (x63 & 0xffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x30);
- { uint64_t x68 = (x66 & 0xffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_8limbs/femul.v b/src/Specific/solinas64_2e382m105_8limbs/femul.v
deleted file mode 100644
index 3fb97b283..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/femulDisplay.log b/src/Specific/solinas64_2e382m105_8limbs/femulDisplay.log
deleted file mode 100644
index bc845a48f..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x69 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x69 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x69 * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x69 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x69 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x69 * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x69 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x30);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x2f);
- uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x30);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x30);
- uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint64_t x63 = (x41 + (0x69 * x61));
- uint64_t x64 = (x63 >> 0x30);
- uint64_t x65 = (x63 & 0xffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x30);
- uint64_t x68 = (x66 & 0xffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_8limbs/femulDisplay.v b/src/Specific/solinas64_2e382m105_8limbs/femulDisplay.v
deleted file mode 100644
index d0f93d830..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fesquare.c b/src/Specific/solinas64_2e382m105_8limbs/fesquare.c
deleted file mode 100644
index 90e12b5c7..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x69 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x69 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x69 * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x69 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x69 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x69 * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x69 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint64_t x46 = (x24 + (0x69 * x44));
- { uint64_t x47 = (x46 >> 0x30);
- { uint64_t x48 = (x46 & 0xffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x30);
- { uint64_t x51 = (x49 & 0xffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fesquare.v b/src/Specific/solinas64_2e382m105_8limbs/fesquare.v
deleted file mode 100644
index 34c319658..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.log
deleted file mode 100644
index 41c5cdef5..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x69 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x69 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x69 * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x69 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x69 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x69 * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x69 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint64_t x46 = (x24 + (0x69 * x44));
- uint64_t x47 = (x46 >> 0x30);
- uint64_t x48 = (x46 & 0xffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x30);
- uint64_t x51 = (x49 & 0xffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.v
deleted file mode 100644
index f2ee41da1..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fesub.c b/src/Specific/solinas64_2e382m105_8limbs/fesub.c
deleted file mode 100644
index c0d786c3b..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1ffffffffff2e + x5) - x19);
- out[1] = ((0x1fffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0xfffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffe + x17) - x31);
- out[7] = ((0xfffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fesub.v b/src/Specific/solinas64_2e382m105_8limbs/fesub.v
deleted file mode 100644
index a10d39c14..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.log
deleted file mode 100644
index fc6c55eb5..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffffffffe + x16) - x30), ((0x1fffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0x1fffffffffffe + x13) - x27), ((0xfffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0x1fffffffffffe + x7) - x21), ((0x1ffffffffff2e + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.v
deleted file mode 100644
index cb54fb183..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e382m105_8limbs/freeze.c b/src/Specific/solinas64_2e382m105_8limbs/freeze.c
deleted file mode 100644
index 809e3aab4..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffff97);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xffffffffff97);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x7fffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7fffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e382m105_8limbs/freeze.v b/src/Specific/solinas64_2e382m105_8limbs/freeze.v
deleted file mode 100644
index d3ee99e38..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.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/solinas64_2e382m105_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.log
deleted file mode 100644
index 085593b7b..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffff97);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xffffffffff97);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x7fffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7fffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.v
deleted file mode 100644
index d6126d342..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e382m105_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e382m105_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e382m105_8limbs/py_interpreter.sh
deleted file mode 100755
index d7996d642..000000000
--- a/src/Specific/solinas64_2e382m105_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**382 - 105' -Dmodulus_bytes='47.75' -Da24='121665'
diff --git a/src/Specific/solinas64_2e383m187_7limbs/CurveParameters.v b/src/Specific/solinas64_2e383m187_7limbs/CurveParameters.v
deleted file mode 100644
index ed10bccfc..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 187
-Base: 54 + 5/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 54 + 5/7;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e383m187_7limbs/Synthesis.v b/src/Specific/solinas64_2e383m187_7limbs/Synthesis.v
deleted file mode 100644
index 9bfb8bf7f..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/compiler.sh b/src/Specific/solinas64_2e383m187_7limbs/compiler.sh
deleted file mode 100755
index 0a43d493c..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas64_2e383m187_7limbs/compilerxx.sh b/src/Specific/solinas64_2e383m187_7limbs/compilerxx.sh
deleted file mode 100755
index cee3392f9..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas64_2e383m187_7limbs/feadd.c b/src/Specific/solinas64_2e383m187_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_7limbs/feadd.v b/src/Specific/solinas64_2e383m187_7limbs/feadd.v
deleted file mode 100644
index 9126c3f76..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.v
deleted file mode 100644
index 33a1eee95..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fecarry.v b/src/Specific/solinas64_2e383m187_7limbs/fecarry.v
deleted file mode 100644
index 146f28d88..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e383m187_7limbs/fecarryDisplay.v
deleted file mode 100644
index fd93f53c4..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e383m187_7limbs/femul.c b/src/Specific/solinas64_2e383m187_7limbs/femul.c
deleted file mode 100644
index 916e25d3e..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0xbb * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0xbb * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0xbb * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0xbb * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0xbb * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0xbb * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x36);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x37);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint128_t x50 = (x49 >> 0x37);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x36);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0xbb * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x37);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x37);
- { uint64_t x60 = (x58 & 0x7fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_7limbs/femul.v b/src/Specific/solinas64_2e383m187_7limbs/femul.v
deleted file mode 100644
index b3f09b3d2..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/femulDisplay.log b/src/Specific/solinas64_2e383m187_7limbs/femulDisplay.log
deleted file mode 100644
index 66ace5a71..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0xbb * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0xbb * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0xbb * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0xbb * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0xbb * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0xbb * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x36);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x37);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint128_t x50 = (x49 >> 0x37);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x36);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0xbb * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x37);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x37);
- uint64_t x60 = (x58 & 0x7fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_7limbs/femulDisplay.v b/src/Specific/solinas64_2e383m187_7limbs/femulDisplay.v
deleted file mode 100644
index 9526ffb86..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fesquare.c b/src/Specific/solinas64_2e383m187_7limbs/fesquare.c
deleted file mode 100644
index fba1591a1..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0xbb * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xbb * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xbb * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0xbb * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x37);
- { uint64_t x45 = (x43 & 0x7fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fesquare.v b/src/Specific/solinas64_2e383m187_7limbs/fesquare.v
deleted file mode 100644
index f93cdfc8f..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.log
deleted file mode 100644
index ae40334a8..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0xbb * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xbb * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xbb * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0xbb * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x37);
- uint64_t x45 = (x43 & 0x7fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.v
deleted file mode 100644
index 6af4ae910..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fesub.c b/src/Specific/solinas64_2e383m187_7limbs/fesub.c
deleted file mode 100644
index dba8f8e30..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xfffffffffffe8a + x5) - x17);
- out[1] = ((0xfffffffffffffe + x7) - x19);
- out[2] = ((0xfffffffffffffe + x9) - x21);
- out[3] = ((0x7ffffffffffffe + x11) - x23);
- out[4] = ((0xfffffffffffffe + x13) - x25);
- out[5] = ((0xfffffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fesub.v b/src/Specific/solinas64_2e383m187_7limbs/fesub.v
deleted file mode 100644
index aece35a2a..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.log
deleted file mode 100644
index 125ffca25..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffffe + x14) - x26), ((0xfffffffffffffe + x15) - x27), ((0xfffffffffffffe + x13) - x25), ((0x7ffffffffffffe + x11) - x23), ((0xfffffffffffffe + x9) - x21), ((0xfffffffffffffe + x7) - x19), ((0xfffffffffffe8a + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.v
deleted file mode 100644
index e0a75b471..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e383m187_7limbs/freeze.c b/src/Specific/solinas64_2e383m187_7limbs/freeze.c
deleted file mode 100644
index fb94b90f7..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffff45);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7fffffffffff45);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x7fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x7fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3fffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x7fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x7fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_7limbs/freeze.v b/src/Specific/solinas64_2e383m187_7limbs/freeze.v
deleted file mode 100644
index be7977ef4..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.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/solinas64_2e383m187_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.log
deleted file mode 100644
index 70ee7008d..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffff45);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7fffffffffff45);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x7fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x7fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3fffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x7fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x7fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.v
deleted file mode 100644
index 9a8ce3901..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e383m187_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e383m187_7limbs/py_interpreter.sh
deleted file mode 100755
index 49c917f75..000000000
--- a/src/Specific/solinas64_2e383m187_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 187' -Dmodulus_bytes='54 + 5/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e383m187_8limbs/CurveParameters.v b/src/Specific/solinas64_2e383m187_8limbs/CurveParameters.v
deleted file mode 100644
index 4da41aae4..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 187
-Base: 47.875
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 47 + 7/8;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e383m187_8limbs/Synthesis.v b/src/Specific/solinas64_2e383m187_8limbs/Synthesis.v
deleted file mode 100644
index 0388bc28d..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/compiler.sh b/src/Specific/solinas64_2e383m187_8limbs/compiler.sh
deleted file mode 100755
index 9c268b63e..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas64_2e383m187_8limbs/compilerxx.sh b/src/Specific/solinas64_2e383m187_8limbs/compilerxx.sh
deleted file mode 100755
index 536618c33..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 187' "$@"
diff --git a/src/Specific/solinas64_2e383m187_8limbs/feadd.c b/src/Specific/solinas64_2e383m187_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_8limbs/feadd.v b/src/Specific/solinas64_2e383m187_8limbs/feadd.v
deleted file mode 100644
index 40b19f0a0..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.v
deleted file mode 100644
index 1363a2e32..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fecarry.v b/src/Specific/solinas64_2e383m187_8limbs/fecarry.v
deleted file mode 100644
index 7972775fb..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e383m187_8limbs/fecarryDisplay.v
deleted file mode 100644
index a9cd41ef9..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e383m187_8limbs/femul.c b/src/Specific/solinas64_2e383m187_8limbs/femul.c
deleted file mode 100644
index 7151d4917..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0xbb * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0xbb * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0xbb * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0xbb * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0xbb * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0xbb * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0xbb * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x30);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x30);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x30);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x30);
- { uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint64_t x63 = (x41 + (0xbb * x61));
- { uint64_t x64 = (x63 >> 0x30);
- { uint64_t x65 = (x63 & 0xffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x30);
- { uint64_t x68 = (x66 & 0xffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_8limbs/femul.v b/src/Specific/solinas64_2e383m187_8limbs/femul.v
deleted file mode 100644
index 606d9b137..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/femulDisplay.log b/src/Specific/solinas64_2e383m187_8limbs/femulDisplay.log
deleted file mode 100644
index b9158687d..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0xbb * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0xbb * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0xbb * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0xbb * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0xbb * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0xbb * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0xbb * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x30);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x30);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x30);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x30);
- uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint64_t x63 = (x41 + (0xbb * x61));
- uint64_t x64 = (x63 >> 0x30);
- uint64_t x65 = (x63 & 0xffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x30);
- uint64_t x68 = (x66 & 0xffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_8limbs/femulDisplay.v b/src/Specific/solinas64_2e383m187_8limbs/femulDisplay.v
deleted file mode 100644
index 26cbc0d14..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fesquare.c b/src/Specific/solinas64_2e383m187_8limbs/fesquare.c
deleted file mode 100644
index 99b6a2cca..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0xbb * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0xbb * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xbb * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xbb * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint64_t x46 = (x24 + (0xbb * x44));
- { uint64_t x47 = (x46 >> 0x30);
- { uint64_t x48 = (x46 & 0xffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x30);
- { uint64_t x51 = (x49 & 0xffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fesquare.v b/src/Specific/solinas64_2e383m187_8limbs/fesquare.v
deleted file mode 100644
index 745a8a49d..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.log
deleted file mode 100644
index 23354c500..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0xbb * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0xbb * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xbb * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0xbb * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint64_t x46 = (x24 + (0xbb * x44));
- uint64_t x47 = (x46 >> 0x30);
- uint64_t x48 = (x46 & 0xffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x30);
- uint64_t x51 = (x49 & 0xffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.v
deleted file mode 100644
index 3753eadf4..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fesub.c b/src/Specific/solinas64_2e383m187_8limbs/fesub.c
deleted file mode 100644
index 0c04e9313..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1fffffffffe8a + x5) - x19);
- out[1] = ((0x1fffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffe + x17) - x31);
- out[7] = ((0xfffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fesub.v b/src/Specific/solinas64_2e383m187_8limbs/fesub.v
deleted file mode 100644
index cb5edd9de..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.log
deleted file mode 100644
index ee17738c6..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffffffffe + x16) - x30), ((0x1fffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0x1fffffffffffe + x13) - x27), ((0x1fffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0x1fffffffffffe + x7) - x21), ((0x1fffffffffe8a + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.v
deleted file mode 100644
index a68c5f2a0..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e383m187_8limbs/freeze.c b/src/Specific/solinas64_2e383m187_8limbs/freeze.c
deleted file mode 100644
index 4118fe35f..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffff45);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xffffffffff45);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7fffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m187_8limbs/freeze.v b/src/Specific/solinas64_2e383m187_8limbs/freeze.v
deleted file mode 100644
index c821e0af9..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.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/solinas64_2e383m187_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.log
deleted file mode 100644
index b309a3ac4..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffff45);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xffffffffff45);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7fffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.v
deleted file mode 100644
index 8a7f722eb..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m187_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e383m187_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e383m187_8limbs/py_interpreter.sh
deleted file mode 100755
index 1de42f7c0..000000000
--- a/src/Specific/solinas64_2e383m187_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 187' -Dmodulus_bytes='47.875' -Da24='121665'
diff --git a/src/Specific/solinas64_2e383m31_7limbs/CurveParameters.v b/src/Specific/solinas64_2e383m31_7limbs/CurveParameters.v
deleted file mode 100644
index 13e2d3521..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 31
-Base: 54 + 5/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 54 + 5/7;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e383m31_7limbs/Synthesis.v b/src/Specific/solinas64_2e383m31_7limbs/Synthesis.v
deleted file mode 100644
index 0a677b269..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/compiler.sh b/src/Specific/solinas64_2e383m31_7limbs/compiler.sh
deleted file mode 100755
index 0d3ea4b6b..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas64_2e383m31_7limbs/compilerxx.sh b/src/Specific/solinas64_2e383m31_7limbs/compilerxx.sh
deleted file mode 100755
index 1707258f5..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas64_2e383m31_7limbs/feadd.c b/src/Specific/solinas64_2e383m31_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_7limbs/feadd.v b/src/Specific/solinas64_2e383m31_7limbs/feadd.v
deleted file mode 100644
index 71c17a987..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.v
deleted file mode 100644
index 811360d90..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fecarry.v b/src/Specific/solinas64_2e383m31_7limbs/fecarry.v
deleted file mode 100644
index a0793aae2..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e383m31_7limbs/fecarryDisplay.v
deleted file mode 100644
index 2925b3c36..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e383m31_7limbs/femul.c b/src/Specific/solinas64_2e383m31_7limbs/femul.c
deleted file mode 100644
index 7e794347b..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x1f * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x1f * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x1f * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x1f * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x1f * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x1f * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x36);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x37);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x37);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x36);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x1f * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x37);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x37);
- { uint64_t x60 = (x58 & 0x7fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_7limbs/femul.v b/src/Specific/solinas64_2e383m31_7limbs/femul.v
deleted file mode 100644
index 1263eccbf..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/femulDisplay.log b/src/Specific/solinas64_2e383m31_7limbs/femulDisplay.log
deleted file mode 100644
index 156895784..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x1f * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x1f * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x1f * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x1f * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x1f * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x1f * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x36);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x37);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x37);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x36);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x1f * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x37);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x37);
- uint64_t x60 = (x58 & 0x7fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_7limbs/femulDisplay.v b/src/Specific/solinas64_2e383m31_7limbs/femulDisplay.v
deleted file mode 100644
index 448f19ae0..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fesquare.c b/src/Specific/solinas64_2e383m31_7limbs/fesquare.c
deleted file mode 100644
index 3b3f63a69..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x1f * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x37);
- { uint64_t x45 = (x43 & 0x7fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fesquare.v b/src/Specific/solinas64_2e383m31_7limbs/fesquare.v
deleted file mode 100644
index 9c368dcf3..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.log
deleted file mode 100644
index 373be871e..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x1f * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x37);
- uint64_t x45 = (x43 & 0x7fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.v
deleted file mode 100644
index af63f8a8c..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fesub.c b/src/Specific/solinas64_2e383m31_7limbs/fesub.c
deleted file mode 100644
index 61697e052..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xffffffffffffc2 + x5) - x17);
- out[1] = ((0xfffffffffffffe + x7) - x19);
- out[2] = ((0xfffffffffffffe + x9) - x21);
- out[3] = ((0x7ffffffffffffe + x11) - x23);
- out[4] = ((0xfffffffffffffe + x13) - x25);
- out[5] = ((0xfffffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fesub.v b/src/Specific/solinas64_2e383m31_7limbs/fesub.v
deleted file mode 100644
index d9052eea3..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.log
deleted file mode 100644
index 81c7d2cea..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffffe + x14) - x26), ((0xfffffffffffffe + x15) - x27), ((0xfffffffffffffe + x13) - x25), ((0x7ffffffffffffe + x11) - x23), ((0xfffffffffffffe + x9) - x21), ((0xfffffffffffffe + x7) - x19), ((0xffffffffffffc2 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.v
deleted file mode 100644
index 20646ab70..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e383m31_7limbs/freeze.c b/src/Specific/solinas64_2e383m31_7limbs/freeze.c
deleted file mode 100644
index 8038fbfcf..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe1);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7fffffffffffe1);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x7fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x7fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3fffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x7fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x7fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_7limbs/freeze.v b/src/Specific/solinas64_2e383m31_7limbs/freeze.v
deleted file mode 100644
index cdb82b5f3..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.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/solinas64_2e383m31_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.log
deleted file mode 100644
index aa36ec1f0..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe1);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7fffffffffffe1);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x7fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x7fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3fffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x7fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x7fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.v
deleted file mode 100644
index ebafce527..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e383m31_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e383m31_7limbs/py_interpreter.sh
deleted file mode 100755
index 70d2eeadd..000000000
--- a/src/Specific/solinas64_2e383m31_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 31' -Dmodulus_bytes='54 + 5/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e383m31_8limbs/CurveParameters.v b/src/Specific/solinas64_2e383m31_8limbs/CurveParameters.v
deleted file mode 100644
index f60ab95d7..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 31
-Base: 47.875
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 47 + 7/8;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e383m31_8limbs/Synthesis.v b/src/Specific/solinas64_2e383m31_8limbs/Synthesis.v
deleted file mode 100644
index c9d873339..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/compiler.sh b/src/Specific/solinas64_2e383m31_8limbs/compiler.sh
deleted file mode 100755
index e54f91f2d..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas64_2e383m31_8limbs/compilerxx.sh b/src/Specific/solinas64_2e383m31_8limbs/compilerxx.sh
deleted file mode 100755
index 6f85748cf..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 31' "$@"
diff --git a/src/Specific/solinas64_2e383m31_8limbs/feadd.c b/src/Specific/solinas64_2e383m31_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_8limbs/feadd.v b/src/Specific/solinas64_2e383m31_8limbs/feadd.v
deleted file mode 100644
index ef4498016..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.v
deleted file mode 100644
index ebe068960..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fecarry.v b/src/Specific/solinas64_2e383m31_8limbs/fecarry.v
deleted file mode 100644
index 08e6d7081..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e383m31_8limbs/fecarryDisplay.v
deleted file mode 100644
index 8f4c2e215..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e383m31_8limbs/femul.c b/src/Specific/solinas64_2e383m31_8limbs/femul.c
deleted file mode 100644
index 656ff1e58..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x1f * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x1f * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x1f * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x1f * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x1f * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1f * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x1f * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x30);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x30);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x30);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x30);
- { uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint64_t x63 = (x41 + (0x1f * x61));
- { uint64_t x64 = (x63 >> 0x30);
- { uint64_t x65 = (x63 & 0xffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x30);
- { uint64_t x68 = (x66 & 0xffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_8limbs/femul.v b/src/Specific/solinas64_2e383m31_8limbs/femul.v
deleted file mode 100644
index 08556a8ab..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/femulDisplay.log b/src/Specific/solinas64_2e383m31_8limbs/femulDisplay.log
deleted file mode 100644
index 0abc454be..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x1f * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x1f * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x1f * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x1f * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x1f * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1f * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x1f * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x30);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x30);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x30);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x30);
- uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint64_t x63 = (x41 + (0x1f * x61));
- uint64_t x64 = (x63 >> 0x30);
- uint64_t x65 = (x63 & 0xffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x30);
- uint64_t x68 = (x66 & 0xffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_8limbs/femulDisplay.v b/src/Specific/solinas64_2e383m31_8limbs/femulDisplay.v
deleted file mode 100644
index 8dc03935b..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fesquare.c b/src/Specific/solinas64_2e383m31_8limbs/fesquare.c
deleted file mode 100644
index 0114d4673..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1f * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint64_t x46 = (x24 + (0x1f * x44));
- { uint64_t x47 = (x46 >> 0x30);
- { uint64_t x48 = (x46 & 0xffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x30);
- { uint64_t x51 = (x49 & 0xffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fesquare.v b/src/Specific/solinas64_2e383m31_8limbs/fesquare.v
deleted file mode 100644
index 85b2fa0f2..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.log
deleted file mode 100644
index 74338d971..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1f * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint64_t x46 = (x24 + (0x1f * x44));
- uint64_t x47 = (x46 >> 0x30);
- uint64_t x48 = (x46 & 0xffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x30);
- uint64_t x51 = (x49 & 0xffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.v
deleted file mode 100644
index 4c435d694..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fesub.c b/src/Specific/solinas64_2e383m31_8limbs/fesub.c
deleted file mode 100644
index 2c0f3a6eb..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1ffffffffffc2 + x5) - x19);
- out[1] = ((0x1fffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffe + x17) - x31);
- out[7] = ((0xfffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fesub.v b/src/Specific/solinas64_2e383m31_8limbs/fesub.v
deleted file mode 100644
index 7c560bef9..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.log
deleted file mode 100644
index 0ef12f4cd..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffffffffe + x16) - x30), ((0x1fffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0x1fffffffffffe + x13) - x27), ((0x1fffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0x1fffffffffffe + x7) - x21), ((0x1ffffffffffc2 + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.v
deleted file mode 100644
index acab0f004..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e383m31_8limbs/freeze.c b/src/Specific/solinas64_2e383m31_8limbs/freeze.c
deleted file mode 100644
index 0737617ce..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffe1);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xffffffffffe1);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7fffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m31_8limbs/freeze.v b/src/Specific/solinas64_2e383m31_8limbs/freeze.v
deleted file mode 100644
index db8f97b6c..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.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/solinas64_2e383m31_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.log
deleted file mode 100644
index aafdff64b..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffe1);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xffffffffffe1);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7fffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.v
deleted file mode 100644
index 441f208fa..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m31_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e383m31_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e383m31_8limbs/py_interpreter.sh
deleted file mode 100755
index 184caee1d..000000000
--- a/src/Specific/solinas64_2e383m31_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 31' -Dmodulus_bytes='47.875' -Da24='121665'
diff --git a/src/Specific/solinas64_2e383m421_7limbs/CurveParameters.v b/src/Specific/solinas64_2e383m421_7limbs/CurveParameters.v
deleted file mode 100644
index 5698b6f1b..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 421
-Base: 54 + 5/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 54 + 5/7;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 421)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e383m421_7limbs/Synthesis.v b/src/Specific/solinas64_2e383m421_7limbs/Synthesis.v
deleted file mode 100644
index 788b2784a..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/compiler.sh b/src/Specific/solinas64_2e383m421_7limbs/compiler.sh
deleted file mode 100755
index 44477fd78..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas64_2e383m421_7limbs/compilerxx.sh b/src/Specific/solinas64_2e383m421_7limbs/compilerxx.sh
deleted file mode 100755
index c540a0473..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,54,55,55,54}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas64_2e383m421_7limbs/feadd.c b/src/Specific/solinas64_2e383m421_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_7limbs/feadd.v b/src/Specific/solinas64_2e383m421_7limbs/feadd.v
deleted file mode 100644
index 2414a06f4..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.v
deleted file mode 100644
index e260162af..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fecarry.v b/src/Specific/solinas64_2e383m421_7limbs/fecarry.v
deleted file mode 100644
index ec8d915e5..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e383m421_7limbs/fecarryDisplay.v
deleted file mode 100644
index 387a99086..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e383m421_7limbs/femul.c b/src/Specific/solinas64_2e383m421_7limbs/femul.c
deleted file mode 100644
index bb277b002..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x1a5 * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x1a5 * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x1a5 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x1a5 * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x1a5 * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x1a5 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x36);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x37);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint128_t x50 = (x49 >> 0x37);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x36);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x1a5 * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x37);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x37);
- { uint64_t x60 = (x58 & 0x7fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_7limbs/femul.v b/src/Specific/solinas64_2e383m421_7limbs/femul.v
deleted file mode 100644
index c87e6a216..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/femulDisplay.log b/src/Specific/solinas64_2e383m421_7limbs/femulDisplay.log
deleted file mode 100644
index b23253f01..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x1a5 * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((0x2 * ((uint128_t)x11 * x19)) + ((uint128_t)x13 * x17))))) + (0x1a5 * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x1a5 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x1a5 * ((0x2 * ((uint128_t)x11 * x26)) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (0x2 * ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x1a5 * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x1a5 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x36);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x37);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint128_t x50 = (x49 >> 0x37);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x36);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x1a5 * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x37);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x37);
- uint64_t x60 = (x58 & 0x7fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_7limbs/femulDisplay.v b/src/Specific/solinas64_2e383m421_7limbs/femulDisplay.v
deleted file mode 100644
index 32b4678fa..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fesquare.c b/src/Specific/solinas64_2e383m421_7limbs/fesquare.c
deleted file mode 100644
index dbb3b915e..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1a5 * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1a5 * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1a5 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1a5 * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1a5 * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x1a5 * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x37);
- { uint64_t x45 = (x43 & 0x7fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fesquare.v b/src/Specific/solinas64_2e383m421_7limbs/fesquare.v
deleted file mode 100644
index 26be7d209..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.log
deleted file mode 100644
index 8145d112e..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1a5 * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1a5 * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1a5 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1a5 * ((0x2 * ((uint128_t)x8 * x11)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (0x2 * ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1a5 * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x1a5 * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x37);
- uint64_t x45 = (x43 & 0x7fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.v
deleted file mode 100644
index 11f071682..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fesub.c b/src/Specific/solinas64_2e383m421_7limbs/fesub.c
deleted file mode 100644
index aa444f92b..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xfffffffffffcb6 + x5) - x17);
- out[1] = ((0xfffffffffffffe + x7) - x19);
- out[2] = ((0xfffffffffffffe + x9) - x21);
- out[3] = ((0x7ffffffffffffe + x11) - x23);
- out[4] = ((0xfffffffffffffe + x13) - x25);
- out[5] = ((0xfffffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fesub.v b/src/Specific/solinas64_2e383m421_7limbs/fesub.v
deleted file mode 100644
index f0a652f4e..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.log
deleted file mode 100644
index fff9cdcf5..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffffe + x14) - x26), ((0xfffffffffffffe + x15) - x27), ((0xfffffffffffffe + x13) - x25), ((0x7ffffffffffffe + x11) - x23), ((0xfffffffffffffe + x9) - x21), ((0xfffffffffffffe + x7) - x19), ((0xfffffffffffcb6 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.v
deleted file mode 100644
index ebbf7d69d..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e383m421_7limbs/freeze.c b/src/Specific/solinas64_2e383m421_7limbs/freeze.c
deleted file mode 100644
index ffc4e0361..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffe5b);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7ffffffffffe5b);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x7fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x7fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3fffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x7fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x7fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_7limbs/freeze.v b/src/Specific/solinas64_2e383m421_7limbs/freeze.v
deleted file mode 100644
index da69a6c67..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.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/solinas64_2e383m421_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.log
deleted file mode 100644
index 1b81b5d31..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffe5b);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7ffffffffffe5b);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x7fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x7fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3fffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x7fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x7fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.v
deleted file mode 100644
index 93c8f12a5..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e383m421_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e383m421_7limbs/py_interpreter.sh
deleted file mode 100755
index ad63014d1..000000000
--- a/src/Specific/solinas64_2e383m421_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 421' -Dmodulus_bytes='54 + 5/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e383m421_8limbs/CurveParameters.v b/src/Specific/solinas64_2e383m421_8limbs/CurveParameters.v
deleted file mode 100644
index 741a93431..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^383 - 421
-Base: 47.875
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 47 + 7/8;
- bitwidth := 64;
- s := 2^383;
- c := [(1, 421)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e383m421_8limbs/Synthesis.v b/src/Specific/solinas64_2e383m421_8limbs/Synthesis.v
deleted file mode 100644
index 7f6603bad..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/compiler.sh b/src/Specific/solinas64_2e383m421_8limbs/compiler.sh
deleted file mode 100755
index c1f1b8e40..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas64_2e383m421_8limbs/compilerxx.sh b/src/Specific/solinas64_2e383m421_8limbs/compilerxx.sh
deleted file mode 100755
index a22ba5dc8..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,47}' -Dmodulus_array='{0x7f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x5b}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<383) - 421' "$@"
diff --git a/src/Specific/solinas64_2e383m421_8limbs/feadd.c b/src/Specific/solinas64_2e383m421_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_8limbs/feadd.v b/src/Specific/solinas64_2e383m421_8limbs/feadd.v
deleted file mode 100644
index 09fc93d80..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.v
deleted file mode 100644
index e1c1bcb24..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fecarry.v b/src/Specific/solinas64_2e383m421_8limbs/fecarry.v
deleted file mode 100644
index eef265729..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e383m421_8limbs/fecarryDisplay.v
deleted file mode 100644
index 7ef474147..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e383m421_8limbs/femul.c b/src/Specific/solinas64_2e383m421_8limbs/femul.c
deleted file mode 100644
index 09581a285..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x1a5 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x1a5 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x1a5 * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x1a5 * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x1a5 * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1a5 * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x1a5 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x30);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x30);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x30);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x30);
- { uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint128_t x63 = (x41 + ((uint128_t)0x1a5 * x61));
- { uint64_t x64 = (uint64_t) (x63 >> 0x30);
- { uint64_t x65 = ((uint64_t)x63 & 0xffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x30);
- { uint64_t x68 = (x66 & 0xffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_8limbs/femul.v b/src/Specific/solinas64_2e383m421_8limbs/femul.v
deleted file mode 100644
index a7931cd90..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/femulDisplay.log b/src/Specific/solinas64_2e383m421_8limbs/femulDisplay.log
deleted file mode 100644
index 15505fb1c..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x1a5 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x1a5 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x1a5 * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x1a5 * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x1a5 * ((0x2 * ((uint128_t)x11 * x30)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1a5 * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x1a5 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x30);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x30);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x30);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x30);
- uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint128_t x63 = (x41 + ((uint128_t)0x1a5 * x61));
- uint64_t x64 = (uint64_t) (x63 >> 0x30);
- uint64_t x65 = ((uint64_t)x63 & 0xffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x30);
- uint64_t x68 = (x66 & 0xffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_8limbs/femulDisplay.v b/src/Specific/solinas64_2e383m421_8limbs/femulDisplay.v
deleted file mode 100644
index 8dfa66a40..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fesquare.c b/src/Specific/solinas64_2e383m421_8limbs/fesquare.c
deleted file mode 100644
index 8741f3d62..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1a5 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1a5 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1a5 * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1a5 * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1a5 * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1a5 * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint128_t x46 = (x24 + ((uint128_t)0x1a5 * x44));
- { uint64_t x47 = (uint64_t) (x46 >> 0x30);
- { uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x30);
- { uint64_t x51 = (x49 & 0xffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fesquare.v b/src/Specific/solinas64_2e383m421_8limbs/fesquare.v
deleted file mode 100644
index 0d0ab2797..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.log
deleted file mode 100644
index 5fdf43f35..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1a5 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1a5 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1a5 * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1a5 * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1a5 * ((0x2 * ((uint128_t)x8 * x13)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1a5 * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x1a5 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint128_t x46 = (x24 + ((uint128_t)0x1a5 * x44));
- uint64_t x47 = (uint64_t) (x46 >> 0x30);
- uint64_t x48 = ((uint64_t)x46 & 0xffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x30);
- uint64_t x51 = (x49 & 0xffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.v
deleted file mode 100644
index 86b0c77e9..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fesub.c b/src/Specific/solinas64_2e383m421_8limbs/fesub.c
deleted file mode 100644
index 2a0c0ae91..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1fffffffffcb6 + x5) - x19);
- out[1] = ((0x1fffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffe + x17) - x31);
- out[7] = ((0xfffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fesub.v b/src/Specific/solinas64_2e383m421_8limbs/fesub.v
deleted file mode 100644
index 4150c2898..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.log
deleted file mode 100644
index 29e67e931..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffffffffe + x16) - x30), ((0x1fffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0x1fffffffffffe + x13) - x27), ((0x1fffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0x1fffffffffffe + x7) - x21), ((0x1fffffffffcb6 + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.v
deleted file mode 100644
index e88f24693..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e383m421_8limbs/freeze.c b/src/Specific/solinas64_2e383m421_8limbs/freeze.c
deleted file mode 100644
index bed0e78df..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffe5b);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xfffffffffe5b);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7fffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e383m421_8limbs/freeze.v b/src/Specific/solinas64_2e383m421_8limbs/freeze.v
deleted file mode 100644
index 0d47e43f3..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.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/solinas64_2e383m421_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.log
deleted file mode 100644
index ced99cc44..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffe5b);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xfffffffffe5b);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7fffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.v
deleted file mode 100644
index 80b076dc3..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e383m421_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e383m421_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e383m421_8limbs/py_interpreter.sh
deleted file mode 100755
index c511faa73..000000000
--- a/src/Specific/solinas64_2e383m421_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**383 - 421' -Dmodulus_bytes='47.875' -Da24='121665'
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/CurveParameters.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/CurveParameters.v
deleted file mode 100644
index 26e99e21e..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 2^128 - 2^96 + 2^32 - 1
-Base: 38.4
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 38 + 2/5;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 1); (2^32, -1); (2^96, 1); (2^128, 1)];
- carry_chains := Some [[2; 1; 9; 9]; [3; 2; 0; 4; 1; 5; 6; 7; 8; 9]; [3; 2; 0; 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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/Synthesis.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/Synthesis.v
deleted file mode 100644
index ec5a624b5..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/compiler.sh b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/compiler.sh
deleted file mode 100755
index 684728821..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38,39,38,39,38,38}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/compilerxx.sh b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/compilerxx.sh
deleted file mode 100755
index 3b3175dbf..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{39,38,39,38,38,39,38,39,38,38}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.c b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.v
deleted file mode 100644
index 0f756700d..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.v
deleted file mode 100644
index 62054f4dd..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarry.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarry.v
deleted file mode 100644
index 2e5b127fc..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index 99ced9e6c..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femul.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femul.v
deleted file mode 100644
index d4e32c795..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femulDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femulDisplay.v
deleted file mode 100644
index 720bf4d90..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquare.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquare.v
deleted file mode 100644
index a6d4de3c4..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index f5553f5ba..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesub.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesub.v
deleted file mode 100644
index 0c12ddf2b..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesubDisplay.v
deleted file mode 100644
index f0e1a7c6e..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.c b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.c
deleted file mode 100644
index 59871c5ef..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.c
+++ /dev/null
@@ -1,53 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, ℤ x21 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0xffffffff);
- { uint64_t x23, ℤ x24 = Op (Syntax.SubWithGetBorrow 38 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x21, Return x4, 0x0);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 39 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x7ffff80000);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x3fffffefff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0xffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, 0x0);
- { uint64_t x57 = (x49 & 0x7ffff80000);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x26, Return x57);
- { uint64_t x61 = (x49 & 0x3fffffefff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x29, Return x61);
- { uint64_t x65 = (x49 & 0x3fffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x32, Return x65);
- { uint64_t x69 = (x49 & 0x7fffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x35, Return x69);
- { uint64_t x73 = (x49 & 0x3fffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x38, Return x73);
- { uint64_t x77 = (x49 & 0x7fffffffff);
- { uint64_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x41, Return x77);
- { uint64_t x81 = (x49 & 0x3fffffffff);
- { uint64_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x80, Return x44, Return x81);
- { uint64_t x85 = (x49 & 0x3fffffffff);
- { uint64_t x87, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x84, Return x47, Return x85);
- out[0] = x52;
- out[1] = x55;
- out[2] = x59;
- out[3] = x63;
- out[4] = x67;
- out[5] = x71;
- out[6] = x75;
- out[7] = x79;
- out[8] = x83;
- out[9] = x87;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.v
deleted file mode 100644
index 6f7aaccfa..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.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/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.log
deleted file mode 100644
index 581a5304a..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,37 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, ℤ x21 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0xffffffff);
- uint64_t x23, ℤ x24 = Op (Syntax.SubWithGetBorrow 38 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x21, Return x4, 0x0);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 39 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x7ffff80000);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x3fffffefff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x3fffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x7fffffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3fffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x7fffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3fffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x3fffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0xffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, 0x0);
- uint64_t x57 = (x49 & 0x7ffff80000);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x26, Return x57);
- uint64_t x61 = (x49 & 0x3fffffefff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x29, Return x61);
- uint64_t x65 = (x49 & 0x3fffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x32, Return x65);
- uint64_t x69 = (x49 & 0x7fffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x35, Return x69);
- uint64_t x73 = (x49 & 0x3fffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x38, Return x73);
- uint64_t x77 = (x49 & 0x7fffffffff);
- uint64_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 39 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x41, Return x77);
- uint64_t x81 = (x49 & 0x3fffffffff);
- uint64_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x80, Return x44, Return x81);
- uint64_t x85 = (x49 & 0x3fffffffff);
- uint64_t x87, uint8_t _ = Op (Syntax.AddWithGetCarry 38 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x84, Return x47, Return x85);
- (Return x87, Return x83, Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.v
deleted file mode 100644
index d91d85aac..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/py_interpreter.sh
deleted file mode 100755
index c454b518c..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 2**128 - 2**96 + 2**32 - 1' -Dmodulus_bytes='38.4' -Da24='121665'
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/CurveParameters.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/CurveParameters.v
deleted file mode 100644
index 9e20d5e3d..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 2^128 - 2^96 + 2^32 - 1
-Base: 42 + 2/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 42 + 2/3;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 1); (2^32, -1); (2^96, 1); (2^128, 1)];
- carry_chains := Some [[2; 1; 8; 8]; [3; 2; 0; 4; 1; 5; 6; 7; 8]; [3; 2; 0; 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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/Synthesis.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/Synthesis.v
deleted file mode 100644
index f9f63c9d2..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/compiler.sh b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/compiler.sh
deleted file mode 100755
index 5dd02babe..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/compilerxx.sh b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/compilerxx.sh
deleted file mode 100755
index cb0e9ebfd..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{43,43,42,43,43,42,43,43,42}' -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,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<384) - (1_mpz<<128) - (1_mpz<<96) + (1_mpz<<32) - 1' "$@"
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.c b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.v
deleted file mode 100644
index 0668550fa..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.v
deleted file mode 100644
index 560180261..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarry.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarry.v
deleted file mode 100644
index fe538d5c6..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarryDisplay.v
deleted file mode 100644
index e1396586f..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femul.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femul.v
deleted file mode 100644
index a6332407f..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femulDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femulDisplay.v
deleted file mode 100644
index ea88f51b7..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquare.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquare.v
deleted file mode 100644
index a2bef86b9..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquareDisplay.v
deleted file mode 100644
index 8044d295d..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesub.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesub.v
deleted file mode 100644
index c20247e45..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesubDisplay.v
deleted file mode 100644
index 5d367897f..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.c b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.c
deleted file mode 100644
index 6d2f3856d..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.c
+++ /dev/null
@@ -1,48 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, ℤ x19 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0xffffffff);
- { uint64_t x21, ℤ x22 = Op (Syntax.SubWithGetBorrow 43 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x19, Return x4, 0x0);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 42 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffc00);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffe);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7ffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7ffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0xffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, 0x0);
- { uint64_t x52 = (x44 & 0x3fffffffc00);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x24, Return x52);
- { uint64_t x56 = (x44 & 0x7fffffffffe);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x27, Return x56);
- { uint64_t x60 = (x44 & 0x7ffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x30, Return x60);
- { uint64_t x64 = (x44 & 0x3ffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x33, Return x64);
- { uint64_t x68 = (x44 & 0x7ffffffffff);
- { uint64_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x36, Return x68);
- { uint64_t x72 = (x44 & 0x7ffffffffff);
- { uint64_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x71, Return x39, Return x72);
- { uint64_t x76 = (x44 & 0x3ffffffffff);
- { uint64_t x78, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x75, Return x42, Return x76);
- out[0] = x47;
- out[1] = x50;
- out[2] = x54;
- out[3] = x58;
- out[4] = x62;
- out[5] = x66;
- out[6] = x70;
- out[7] = x74;
- out[8] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.v
deleted file mode 100644
index fc919578f..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.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/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.log
deleted file mode 100644
index 8330c090c..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,34 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, ℤ x19 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) Syntax.TZ) (0x0, Return x2, 0xffffffff);
- uint64_t x21, ℤ x22 = Op (Syntax.SubWithGetBorrow 43 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) Syntax.TZ) (Return x19, Return x4, 0x0);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 42 Syntax.TZ (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffc00);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffe);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7ffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7ffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x7ffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0xffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, 0x0);
- uint64_t x52 = (x44 & 0x3fffffffc00);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x24, Return x52);
- uint64_t x56 = (x44 & 0x7fffffffffe);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x27, Return x56);
- uint64_t x60 = (x44 & 0x7ffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x30, Return x60);
- uint64_t x64 = (x44 & 0x3ffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x33, Return x64);
- uint64_t x68 = (x44 & 0x7ffffffffff);
- uint64_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x36, Return x68);
- uint64_t x72 = (x44 & 0x7ffffffffff);
- uint64_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 43 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x71, Return x39, Return x72);
- uint64_t x76 = (x44 & 0x3ffffffffff);
- uint64_t x78, uint8_t _ = Op (Syntax.AddWithGetCarry 42 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x75, Return x42, Return x76);
- (Return x78, Return x74, Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.v
deleted file mode 100644
index cc2807a51..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m2e128m2e96p2e32m1_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/py_interpreter.sh
deleted file mode 100755
index 2ce0c8e92..000000000
--- a/src/Specific/solinas64_2e384m2e128m2e96p2e32m1_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 2**128 - 2**96 + 2**32 - 1' -Dmodulus_bytes='42 + 2/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e384m317_7limbs/CurveParameters.v b/src/Specific/solinas64_2e384m317_7limbs/CurveParameters.v
deleted file mode 100644
index 776d2fb21..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 317
-Base: 54 + 6/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 54 + 6/7;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 317)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e384m317_7limbs/Synthesis.v b/src/Specific/solinas64_2e384m317_7limbs/Synthesis.v
deleted file mode 100644
index b6a636db5..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/compiler.sh b/src/Specific/solinas64_2e384m317_7limbs/compiler.sh
deleted file mode 100755
index 4567d5d6a..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,54}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas64_2e384m317_7limbs/compilerxx.sh b/src/Specific/solinas64_2e384m317_7limbs/compilerxx.sh
deleted file mode 100755
index e5f309f78..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,54}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas64_2e384m317_7limbs/feadd.c b/src/Specific/solinas64_2e384m317_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_7limbs/feadd.v b/src/Specific/solinas64_2e384m317_7limbs/feadd.v
deleted file mode 100644
index d958799ff..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.v
deleted file mode 100644
index 7facdb37e..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fecarry.v b/src/Specific/solinas64_2e384m317_7limbs/fecarry.v
deleted file mode 100644
index 3e0d6e675..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e384m317_7limbs/fecarryDisplay.v
deleted file mode 100644
index 63da4f8a9..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e384m317_7limbs/femul.c b/src/Specific/solinas64_2e384m317_7limbs/femul.c
deleted file mode 100644
index cd02fc991..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x13d * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x13d * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x13d * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x13d * ((0x2 * ((uint128_t)x11 * x26)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + (0x2 * ((uint128_t)x14 * x23)))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x13d * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x13d * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x37);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x37);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint128_t x50 = (x49 >> 0x37);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x36);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x13d * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x37);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x37);
- { uint64_t x60 = (x58 & 0x7fffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_7limbs/femul.v b/src/Specific/solinas64_2e384m317_7limbs/femul.v
deleted file mode 100644
index 8228d1769..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/femulDisplay.log b/src/Specific/solinas64_2e384m317_7limbs/femulDisplay.log
deleted file mode 100644
index 1c7c605af..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x13d * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x13d * ((0x2 * ((uint128_t)x15 * x26)) + (0x2 * ((uint128_t)x14 * x27)))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x13d * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x13d * ((0x2 * ((uint128_t)x11 * x26)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + (0x2 * ((uint128_t)x14 * x23)))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x13d * ((0x2 * ((uint128_t)x9 * x26)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x13d * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x37);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x37);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint128_t x50 = (x49 >> 0x37);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x36);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x13d * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x37);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x37);
- uint64_t x60 = (x58 & 0x7fffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_7limbs/femulDisplay.v b/src/Specific/solinas64_2e384m317_7limbs/femulDisplay.v
deleted file mode 100644
index 997397bbf..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fesquare.c b/src/Specific/solinas64_2e384m317_7limbs/fesquare.c
deleted file mode 100644
index 018525099..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x13d * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x13d * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13d * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13d * ((0x2 * ((uint128_t)x8 * x11)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (0x2 * ((uint128_t)x11 * x8)))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13d * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x13d * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x37);
- { uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x37);
- { uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x37);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x13d * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x37);
- { uint64_t x45 = (x43 & 0x7fffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fesquare.v b/src/Specific/solinas64_2e384m317_7limbs/fesquare.v
deleted file mode 100644
index 86c95af67..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.log
deleted file mode 100644
index 4c60013e8..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x13d * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x13d * ((0x2 * ((uint128_t)x12 * x11)) + (0x2 * ((uint128_t)x11 * x12)))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13d * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13d * ((0x2 * ((uint128_t)x8 * x11)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (0x2 * ((uint128_t)x11 * x8)))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13d * ((0x2 * ((uint128_t)x6 * x11)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x13d * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x37);
- uint64_t x21 = ((uint64_t)x19 & 0x7fffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x37);
- uint64_t x24 = ((uint64_t)x22 & 0x7fffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x37);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x13d * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x37);
- uint64_t x45 = (x43 & 0x7fffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.v
deleted file mode 100644
index 9801aa4c8..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fesub.c b/src/Specific/solinas64_2e384m317_7limbs/fesub.c
deleted file mode 100644
index 6cdb3bf66..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xfffffffffffd86 + x5) - x17);
- out[1] = ((0xfffffffffffffe + x7) - x19);
- out[2] = ((0xfffffffffffffe + x9) - x21);
- out[3] = ((0xfffffffffffffe + x11) - x23);
- out[4] = ((0xfffffffffffffe + x13) - x25);
- out[5] = ((0xfffffffffffffe + x15) - x27);
- out[6] = ((0x7ffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fesub.v b/src/Specific/solinas64_2e384m317_7limbs/fesub.v
deleted file mode 100644
index f3b7cab3e..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.log
deleted file mode 100644
index 3f9fe41d4..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x7ffffffffffffe + x14) - x26), ((0xfffffffffffffe + x15) - x27), ((0xfffffffffffffe + x13) - x25), ((0xfffffffffffffe + x11) - x23), ((0xfffffffffffffe + x9) - x21), ((0xfffffffffffffe + x7) - x19), ((0xfffffffffffd86 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.v
deleted file mode 100644
index 3a6062eb6..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e384m317_7limbs/freeze.c b/src/Specific/solinas64_2e384m317_7limbs/freeze.c
deleted file mode 100644
index 1f14c5109..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffec3);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7ffffffffffec3);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x7fffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x7fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x7fffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x7fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x7fffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x3fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_7limbs/freeze.v b/src/Specific/solinas64_2e384m317_7limbs/freeze.v
deleted file mode 100644
index 7fec27e3d..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.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/solinas64_2e384m317_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.log
deleted file mode 100644
index 3b068fdfb..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffec3);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7fffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x7fffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7fffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x3fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7ffffffffffec3);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x7fffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x7fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x7fffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x7fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x7fffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x3fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.v
deleted file mode 100644
index b8ee9d708..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e384m317_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e384m317_7limbs/py_interpreter.sh
deleted file mode 100755
index 2ed7ddec3..000000000
--- a/src/Specific/solinas64_2e384m317_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 317' -Dmodulus_bytes='54 + 6/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e384m317_8limbs/CurveParameters.v b/src/Specific/solinas64_2e384m317_8limbs/CurveParameters.v
deleted file mode 100644
index 5378ea206..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^384 - 317
-Base: 48
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 48;
- bitwidth := 64;
- s := 2^384;
- c := [(1, 317)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e384m317_8limbs/Synthesis.v b/src/Specific/solinas64_2e384m317_8limbs/Synthesis.v
deleted file mode 100644
index 3ae52d4b9..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/compiler.sh b/src/Specific/solinas64_2e384m317_8limbs/compiler.sh
deleted file mode 100755
index 2284a67c3..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas64_2e384m317_8limbs/compilerxx.sh b/src/Specific/solinas64_2e384m317_8limbs/compilerxx.sh
deleted file mode 100755
index 5312bc71b..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48}' -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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xc3}' -Dmodulus_bytes_val='48' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<384) - 317' "$@"
diff --git a/src/Specific/solinas64_2e384m317_8limbs/feadd.c b/src/Specific/solinas64_2e384m317_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_8limbs/feadd.v b/src/Specific/solinas64_2e384m317_8limbs/feadd.v
deleted file mode 100644
index 4753f72be..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.v
deleted file mode 100644
index 5f2ad44a7..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fecarry.v b/src/Specific/solinas64_2e384m317_8limbs/fecarry.v
deleted file mode 100644
index 0caafdf90..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e384m317_8limbs/fecarryDisplay.v
deleted file mode 100644
index 970ddbbdd..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e384m317_8limbs/femul.c b/src/Specific/solinas64_2e384m317_8limbs/femul.c
deleted file mode 100644
index a28b9a126..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x13d * ((uint128_t)x16 * x30)));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x13d * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x13d * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x13d * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x13d * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x13d * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x13d * (((uint128_t)x7 * x30) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x16 * x21)))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x30);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x30);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x30);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x30);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x30);
- { uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x30);
- { uint64_t x62 = ((uint64_t)x60 & 0xffffffffffff);
- { uint64_t x63 = (x41 + (0x13d * x61));
- { uint64_t x64 = (x63 >> 0x30);
- { uint64_t x65 = (x63 & 0xffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x30);
- { uint64_t x68 = (x66 & 0xffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_8limbs/femul.v b/src/Specific/solinas64_2e384m317_8limbs/femul.v
deleted file mode 100644
index 4fb26d110..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/femulDisplay.log b/src/Specific/solinas64_2e384m317_8limbs/femulDisplay.log
deleted file mode 100644
index a9357bb1e..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x13d * ((uint128_t)x16 * x30)));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x13d * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x13d * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x13d * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x13d * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x13d * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x13d * (((uint128_t)x7 * x30) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x16 * x21)))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x30);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x30);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x30);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x30);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x30);
- uint64_t x59 = ((uint64_t)x57 & 0xffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x30);
- uint64_t x62 = ((uint64_t)x60 & 0xffffffffffff);
- uint64_t x63 = (x41 + (0x13d * x61));
- uint64_t x64 = (x63 >> 0x30);
- uint64_t x65 = (x63 & 0xffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x30);
- uint64_t x68 = (x66 & 0xffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_8limbs/femulDisplay.v b/src/Specific/solinas64_2e384m317_8limbs/femulDisplay.v
deleted file mode 100644
index 3deec2a74..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fesquare.c b/src/Specific/solinas64_2e384m317_8limbs/fesquare.c
deleted file mode 100644
index 87644b008..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x13d * ((uint128_t)x13 * x13)));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x13d * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x13d * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13d * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13d * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13d * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x13d * (((uint128_t)x4 * x13) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((uint128_t)x13 * x4)))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x30);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x30);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x30);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x30);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x30);
- { uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- { uint64_t x46 = (x24 + (0x13d * x44));
- { uint64_t x47 = (x46 >> 0x30);
- { uint64_t x48 = (x46 & 0xffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x30);
- { uint64_t x51 = (x49 & 0xffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fesquare.v b/src/Specific/solinas64_2e384m317_8limbs/fesquare.v
deleted file mode 100644
index a7ae338e1..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.log
deleted file mode 100644
index 25c7fd4d2..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x13d * ((uint128_t)x13 * x13)));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x13d * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x13d * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x13d * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x13d * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x13d * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x13d * (((uint128_t)x4 * x13) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((uint128_t)x13 * x4)))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x30);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x30);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x30);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x30);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x30);
- uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- uint64_t x46 = (x24 + (0x13d * x44));
- uint64_t x47 = (x46 >> 0x30);
- uint64_t x48 = (x46 & 0xffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x30);
- uint64_t x51 = (x49 & 0xffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.v
deleted file mode 100644
index 47d366cee..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fesub.c b/src/Specific/solinas64_2e384m317_8limbs/fesub.c
deleted file mode 100644
index f924ee599..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1fffffffffd86 + x5) - x19);
- out[1] = ((0x1fffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffe + x17) - x31);
- out[7] = ((0x1fffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fesub.v b/src/Specific/solinas64_2e384m317_8limbs/fesub.v
deleted file mode 100644
index 007378c14..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.log
deleted file mode 100644
index 61c5edf9e..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffffffffe + x16) - x30), ((0x1fffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0x1fffffffffffe + x13) - x27), ((0x1fffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0x1fffffffffffe + x7) - x21), ((0x1fffffffffd86 + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.v
deleted file mode 100644
index eb4a29fbd..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e384m317_8limbs/freeze.c b/src/Specific/solinas64_2e384m317_8limbs/freeze.c
deleted file mode 100644
index c037a517a..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffec3);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xfffffffffec3);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e384m317_8limbs/freeze.v b/src/Specific/solinas64_2e384m317_8limbs/freeze.v
deleted file mode 100644
index e8fa01fc3..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.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/solinas64_2e384m317_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.log
deleted file mode 100644
index c7cb86cad..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffec3);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xfffffffffec3);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.v
deleted file mode 100644
index 7928f01d5..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e384m317_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e384m317_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e384m317_8limbs/py_interpreter.sh
deleted file mode 100755
index cd282638b..000000000
--- a/src/Specific/solinas64_2e384m317_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**384 - 317' -Dmodulus_bytes='48' -Da24='121665'
diff --git a/src/Specific/solinas64_2e389m21_7limbs/CurveParameters.v b/src/Specific/solinas64_2e389m21_7limbs/CurveParameters.v
deleted file mode 100644
index 7e6d0c5ab..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^389 - 21
-Base: 55 + 4/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 55 + 4/7;
- bitwidth := 64;
- s := 2^389;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e389m21_7limbs/Synthesis.v b/src/Specific/solinas64_2e389m21_7limbs/Synthesis.v
deleted file mode 100644
index d9704633d..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/compiler.sh b/src/Specific/solinas64_2e389m21_7limbs/compiler.sh
deleted file mode 100755
index f82f200cc..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,55,56,55,56,55}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas64_2e389m21_7limbs/compilerxx.sh b/src/Specific/solinas64_2e389m21_7limbs/compilerxx.sh
deleted file mode 100755
index c3fb6fd95..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{56,56,55,56,55,56,55}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas64_2e389m21_7limbs/feadd.c b/src/Specific/solinas64_2e389m21_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_7limbs/feadd.v b/src/Specific/solinas64_2e389m21_7limbs/feadd.v
deleted file mode 100644
index 881bf7a1a..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.v
deleted file mode 100644
index e01e03180..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fecarry.v b/src/Specific/solinas64_2e389m21_7limbs/fecarry.v
deleted file mode 100644
index 6ddc4c583..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e389m21_7limbs/fecarryDisplay.v
deleted file mode 100644
index c0f182f19..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e389m21_7limbs/femul.c b/src/Specific/solinas64_2e389m21_7limbs/femul.c
deleted file mode 100644
index 69ddcd17f..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x15 * (0x2 * ((uint128_t)x14 * x26))));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((0x2 * ((uint128_t)x9 * x21)) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x15 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x15 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x15 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21))))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x15 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x38);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x38);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x38);
- { uint64_t x45 = ((uint64_t)x43 & 0xffffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x37);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint64_t x50 = (uint64_t) (x49 >> 0x38);
- { uint64_t x51 = ((uint64_t)x49 & 0xffffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint64_t x53 = (uint64_t) (x52 >> 0x37);
- { uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- { uint128_t x55 = (x36 + ((uint128_t)0x15 * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x38);
- { uint64_t x57 = ((uint64_t)x55 & 0xffffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x38);
- { uint64_t x60 = (x58 & 0xffffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_7limbs/femul.v b/src/Specific/solinas64_2e389m21_7limbs/femul.v
deleted file mode 100644
index c2580322a..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/femulDisplay.log b/src/Specific/solinas64_2e389m21_7limbs/femulDisplay.log
deleted file mode 100644
index 6fdaf80ae..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x15 * (0x2 * ((uint128_t)x14 * x26))));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((0x2 * ((uint128_t)x9 * x21)) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x15 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x26)) + (((uint128_t)x15 * x27) + (0x2 * ((uint128_t)x14 * x25))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x15 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x15 * ((0x2 * ((uint128_t)x9 * x26)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + (0x2 * ((uint128_t)x14 * x21))))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x15 * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x38);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x38);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x38);
- uint64_t x45 = ((uint64_t)x43 & 0xffffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x37);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint64_t x50 = (uint64_t) (x49 >> 0x38);
- uint64_t x51 = ((uint64_t)x49 & 0xffffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint64_t x53 = (uint64_t) (x52 >> 0x37);
- uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- uint128_t x55 = (x36 + ((uint128_t)0x15 * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x38);
- uint64_t x57 = ((uint64_t)x55 & 0xffffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x38);
- uint64_t x60 = (x58 & 0xffffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_7limbs/femulDisplay.v b/src/Specific/solinas64_2e389m21_7limbs/femulDisplay.v
deleted file mode 100644
index 42c74f7e1..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fesquare.c b/src/Specific/solinas64_2e389m21_7limbs/fesquare.c
deleted file mode 100644
index 50420c577..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x15 * (0x2 * ((uint128_t)x11 * x11))));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6))))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x38);
- { uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x38);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint64_t x35 = (uint64_t) (x34 >> 0x38);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint64_t x38 = (uint64_t) (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x21 + ((uint128_t)0x15 * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x38);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x38);
- { uint64_t x45 = (x43 & 0xffffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fesquare.v b/src/Specific/solinas64_2e389m21_7limbs/fesquare.v
deleted file mode 100644
index 7b85781fe..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.log
deleted file mode 100644
index ffb9060aa..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x15 * (0x2 * ((uint128_t)x11 * x11))));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x11)) + (((uint128_t)x12 * x12) + (0x2 * ((uint128_t)x11 * x10))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x11)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (0x2 * ((uint128_t)x11 * x6))))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x38);
- uint64_t x21 = ((uint64_t)x19 & 0xffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x38);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint64_t x35 = (uint64_t) (x34 >> 0x38);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint64_t x38 = (uint64_t) (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x21 + ((uint128_t)0x15 * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x38);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x38);
- uint64_t x45 = (x43 & 0xffffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.v
deleted file mode 100644
index 2eb0c5273..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fesub.c b/src/Specific/solinas64_2e389m21_7limbs/fesub.c
deleted file mode 100644
index 0e6db466c..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x1ffffffffffffd6 + x5) - x17);
- out[1] = ((0x1fffffffffffffe + x7) - x19);
- out[2] = ((0xfffffffffffffe + x9) - x21);
- out[3] = ((0x1fffffffffffffe + x11) - x23);
- out[4] = ((0xfffffffffffffe + x13) - x25);
- out[5] = ((0x1fffffffffffffe + x15) - x27);
- out[6] = ((0xfffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fesub.v b/src/Specific/solinas64_2e389m21_7limbs/fesub.v
deleted file mode 100644
index e5fa69dfe..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.log
deleted file mode 100644
index 86ea125bb..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0xfffffffffffffe + x14) - x26), ((0x1fffffffffffffe + x15) - x27), ((0xfffffffffffffe + x13) - x25), ((0x1fffffffffffffe + x11) - x23), ((0xfffffffffffffe + x9) - x21), ((0x1fffffffffffffe + x7) - x19), ((0x1ffffffffffffd6 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.v
deleted file mode 100644
index 21d7e4d84..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e389m21_7limbs/freeze.c b/src/Specific/solinas64_2e389m21_7limbs/freeze.c
deleted file mode 100644
index 6e965f1f2..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffeb);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x7fffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0xffffffffffffeb);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0xffffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x7fffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0xffffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x7fffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0xffffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x7fffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_7limbs/freeze.v b/src/Specific/solinas64_2e389m21_7limbs/freeze.v
deleted file mode 100644
index b426214a1..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.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/solinas64_2e389m21_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.log
deleted file mode 100644
index de72e2155..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffeb);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0xffffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0xffffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7fffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0xffffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x7fffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0xffffffffffffeb);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0xffffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x7fffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0xffffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x7fffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0xffffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x7fffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.v
deleted file mode 100644
index 9c6ca3a22..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e389m21_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e389m21_7limbs/py_interpreter.sh
deleted file mode 100755
index c01b25cf2..000000000
--- a/src/Specific/solinas64_2e389m21_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**389 - 21' -Dmodulus_bytes='55 + 4/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e389m21_8limbs/CurveParameters.v b/src/Specific/solinas64_2e389m21_8limbs/CurveParameters.v
deleted file mode 100644
index fb8574e2f..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^389 - 21
-Base: 48.625
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 48 + 5/8;
- bitwidth := 64;
- s := 2^389;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e389m21_8limbs/Synthesis.v b/src/Specific/solinas64_2e389m21_8limbs/Synthesis.v
deleted file mode 100644
index fac478a05..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/compiler.sh b/src/Specific/solinas64_2e389m21_8limbs/compiler.sh
deleted file mode 100755
index 85ff98b60..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,49,48,49,48}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas64_2e389m21_8limbs/compilerxx.sh b/src/Specific/solinas64_2e389m21_8limbs/compilerxx.sh
deleted file mode 100755
index 3699d8183..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,48,49,49,48,49,48}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='49' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<389) - 21' "$@"
diff --git a/src/Specific/solinas64_2e389m21_8limbs/feadd.c b/src/Specific/solinas64_2e389m21_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_8limbs/feadd.v b/src/Specific/solinas64_2e389m21_8limbs/feadd.v
deleted file mode 100644
index 5d5e98058..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.v
deleted file mode 100644
index 50f87c189..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fecarry.v b/src/Specific/solinas64_2e389m21_8limbs/fecarry.v
deleted file mode 100644
index 101a83e17..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e389m21_8limbs/fecarryDisplay.v
deleted file mode 100644
index 346aac5a5..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e389m21_8limbs/femul.c b/src/Specific/solinas64_2e389m21_8limbs/femul.c
deleted file mode 100644
index 2a1b4bbb6..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x15 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x15 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x15 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x15 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x15 * ((0x2 * ((uint128_t)x9 * x30)) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + (((uint128_t)x17 * x25) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x15 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x31);
- { uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x31);
- { uint64_t x44 = ((uint64_t)x42 & 0x1ffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x30);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x31);
- { uint64_t x50 = ((uint64_t)x48 & 0x1ffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x31);
- { uint64_t x53 = ((uint64_t)x51 & 0x1ffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x30);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x31);
- { uint64_t x59 = ((uint64_t)x57 & 0x1ffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x30);
- { uint64_t x62 = ((uint64_t)x60 & 0xffffffffffff);
- { uint64_t x63 = (x41 + (0x15 * x61));
- { uint64_t x64 = (x63 >> 0x31);
- { uint64_t x65 = (x63 & 0x1ffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x31);
- { uint64_t x68 = (x66 & 0x1ffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_8limbs/femul.v b/src/Specific/solinas64_2e389m21_8limbs/femul.v
deleted file mode 100644
index 3ebb51385..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/femulDisplay.log b/src/Specific/solinas64_2e389m21_8limbs/femulDisplay.log
deleted file mode 100644
index db63264d6..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x15 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x15 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x15 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x15 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x15 * ((0x2 * ((uint128_t)x9 * x30)) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + (((uint128_t)x17 * x25) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x15 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x31);
- uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x31);
- uint64_t x44 = ((uint64_t)x42 & 0x1ffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x30);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x31);
- uint64_t x50 = ((uint64_t)x48 & 0x1ffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x31);
- uint64_t x53 = ((uint64_t)x51 & 0x1ffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x30);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x31);
- uint64_t x59 = ((uint64_t)x57 & 0x1ffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x30);
- uint64_t x62 = ((uint64_t)x60 & 0xffffffffffff);
- uint64_t x63 = (x41 + (0x15 * x61));
- uint64_t x64 = (x63 >> 0x31);
- uint64_t x65 = (x63 & 0x1ffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x31);
- uint64_t x68 = (x66 & 0x1ffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_8limbs/femulDisplay.v b/src/Specific/solinas64_2e389m21_8limbs/femulDisplay.v
deleted file mode 100644
index a954c1f9f..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fesquare.c b/src/Specific/solinas64_2e389m21_8limbs/fesquare.c
deleted file mode 100644
index 7db866964..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x13)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x31);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x31);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x30);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x31);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x31);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x30);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x31);
- { uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x30);
- { uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- { uint64_t x46 = (x24 + (0x15 * x44));
- { uint64_t x47 = (x46 >> 0x31);
- { uint64_t x48 = (x46 & 0x1ffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x31);
- { uint64_t x51 = (x49 & 0x1ffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fesquare.v b/src/Specific/solinas64_2e389m21_8limbs/fesquare.v
deleted file mode 100644
index 578b525f0..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.log
deleted file mode 100644
index 2741077b1..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x13)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x31);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x31);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x30);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x31);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x31);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x30);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x31);
- uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x30);
- uint64_t x45 = ((uint64_t)x43 & 0xffffffffffff);
- uint64_t x46 = (x24 + (0x15 * x44));
- uint64_t x47 = (x46 >> 0x31);
- uint64_t x48 = (x46 & 0x1ffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x31);
- uint64_t x51 = (x49 & 0x1ffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.v
deleted file mode 100644
index 384447ca3..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fesub.c b/src/Specific/solinas64_2e389m21_8limbs/fesub.c
deleted file mode 100644
index 1416209a0..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x3ffffffffffd6 + x5) - x19);
- out[1] = ((0x3fffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffe + x9) - x23);
- out[3] = ((0x3fffffffffffe + x11) - x25);
- out[4] = ((0x3fffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffe + x15) - x29);
- out[6] = ((0x3fffffffffffe + x17) - x31);
- out[7] = ((0x1fffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fesub.v b/src/Specific/solinas64_2e389m21_8limbs/fesub.v
deleted file mode 100644
index 39552b91f..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.log
deleted file mode 100644
index 45b76924f..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffffffffe + x16) - x30), ((0x3fffffffffffe + x17) - x31), ((0x1fffffffffffe + x15) - x29), ((0x3fffffffffffe + x13) - x27), ((0x3fffffffffffe + x11) - x25), ((0x1fffffffffffe + x9) - x23), ((0x3fffffffffffe + x7) - x21), ((0x3ffffffffffd6 + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.v
deleted file mode 100644
index 83097447f..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e389m21_8limbs/freeze.c b/src/Specific/solinas64_2e389m21_8limbs/freeze.c
deleted file mode 100644
index 7d15ea9ba..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffeb);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x1ffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x1ffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0x1ffffffffffeb);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0x1ffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x1ffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x1ffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0x1ffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e389m21_8limbs/freeze.v b/src/Specific/solinas64_2e389m21_8limbs/freeze.v
deleted file mode 100644
index 33e6fb425..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.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/solinas64_2e389m21_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.log
deleted file mode 100644
index b55b684fa..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffeb);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x1ffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x1ffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0x1ffffffffffeb);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0x1ffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x1ffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x1ffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0x1ffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.v
deleted file mode 100644
index 9b138d13f..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e389m21_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e389m21_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e389m21_8limbs/py_interpreter.sh
deleted file mode 100755
index e371f7aba..000000000
--- a/src/Specific/solinas64_2e389m21_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**389 - 21' -Dmodulus_bytes='48.625' -Da24='121665'
diff --git a/src/Specific/solinas64_2e401m31_7limbs/CurveParameters.v b/src/Specific/solinas64_2e401m31_7limbs/CurveParameters.v
deleted file mode 100644
index 149e49d4b..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^401 - 31
-Base: 57 + 2/7
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 57 + 2/7;
- bitwidth := 64;
- s := 2^401;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e401m31_7limbs/Synthesis.v b/src/Specific/solinas64_2e401m31_7limbs/Synthesis.v
deleted file mode 100644
index c09e91014..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/compiler.sh b/src/Specific/solinas64_2e401m31_7limbs/compiler.sh
deleted file mode 100755
index 3046be41d..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,57,58,57,57,57}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas64_2e401m31_7limbs/compilerxx.sh b/src/Specific/solinas64_2e401m31_7limbs/compilerxx.sh
deleted file mode 100755
index cffc8ad90..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,57,57,58,57,57,57}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas64_2e401m31_7limbs/feadd.c b/src/Specific/solinas64_2e401m31_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_7limbs/feadd.v b/src/Specific/solinas64_2e401m31_7limbs/feadd.v
deleted file mode 100644
index 5bcf6e157..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.v
deleted file mode 100644
index 2af4fb540..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fecarry.v b/src/Specific/solinas64_2e401m31_7limbs/fecarry.v
deleted file mode 100644
index 0321c5cfe..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e401m31_7limbs/fecarryDisplay.v
deleted file mode 100644
index 5ff498733..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e401m31_7limbs/femul.c b/src/Specific/solinas64_2e401m31_7limbs/femul.c
deleted file mode 100644
index 6ac79f099..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + ((0x2 * ((uint128_t)x15 * x19)) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x1f * ((uint128_t)x14 * x26)));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x1f * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x1f * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17))) + (0x1f * (((uint128_t)x11 * x26) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x14 * x23))))));
- { uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x1f * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- { uint128_t x34 = (((uint128_t)x5 * x17) + (0x1f * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- { uint128_t x35 = (x34 >> 0x3a);
- { uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffffff);
- { uint128_t x37 = (x35 + x33);
- { uint128_t x38 = (x37 >> 0x39);
- { uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x39);
- { uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x3a);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x39);
- { uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint128_t x50 = (x49 >> 0x39);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint128_t x53 = (x52 >> 0x39);
- { uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffffff);
- { uint128_t x55 = (x36 + (0x1f * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x3a);
- { uint64_t x57 = ((uint64_t)x55 & 0x3ffffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x39);
- { uint64_t x60 = (x58 & 0x1ffffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_7limbs/femul.v b/src/Specific/solinas64_2e401m31_7limbs/femul.v
deleted file mode 100644
index 22b329808..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/femulDisplay.log b/src/Specific/solinas64_2e401m31_7limbs/femulDisplay.log
deleted file mode 100644
index cfe716aa4..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + (((uint128_t)x11 * x23) + ((0x2 * ((uint128_t)x13 * x21)) + ((0x2 * ((uint128_t)x15 * x19)) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + ((0x2 * ((uint128_t)x13 * x19)) + ((uint128_t)x15 * x17)))))) + (0x1f * ((uint128_t)x14 * x26)));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x1f * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x19)) + ((uint128_t)x11 * x17)))) + (0x1f * ((0x2 * ((uint128_t)x13 * x26)) + ((0x2 * ((uint128_t)x15 * x27)) + (0x2 * ((uint128_t)x14 * x25))))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x19)) + ((uint128_t)x9 * x17))) + (0x1f * (((uint128_t)x11 * x26) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x14 * x23))))));
- uint128_t x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) + (0x1f * (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- uint128_t x34 = (((uint128_t)x5 * x17) + (0x1f * ((0x2 * ((uint128_t)x7 * x26)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + (0x2 * ((uint128_t)x14 * x19)))))))));
- uint128_t x35 = (x34 >> 0x3a);
- uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffffff);
- uint128_t x37 = (x35 + x33);
- uint128_t x38 = (x37 >> 0x39);
- uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x39);
- uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x3a);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x39);
- uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint128_t x50 = (x49 >> 0x39);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint128_t x53 = (x52 >> 0x39);
- uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffffff);
- uint128_t x55 = (x36 + (0x1f * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x3a);
- uint64_t x57 = ((uint64_t)x55 & 0x3ffffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x39);
- uint64_t x60 = (x58 & 0x1ffffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_7limbs/femulDisplay.v b/src/Specific/solinas64_2e401m31_7limbs/femulDisplay.v
deleted file mode 100644
index bc7dfb5f8..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fesquare.c b/src/Specific/solinas64_2e401m31_7limbs/fesquare.c
deleted file mode 100644
index e8d935dec..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1f * ((uint128_t)x11 * x11)));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x11) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((uint128_t)x11 * x8))))));
- { uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- { uint128_t x19 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- { uint128_t x20 = (x19 >> 0x3a);
- { uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- { uint128_t x22 = (x20 + x18);
- { uint128_t x23 = (x22 >> 0x39);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x39);
- { uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x3a);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x39);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint128_t x35 = (x34 >> 0x39);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint128_t x38 = (x37 >> 0x39);
- { uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffffff);
- { uint128_t x40 = (x21 + (0x1f * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x3a);
- { uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x39);
- { uint64_t x45 = (x43 & 0x1ffffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fesquare.v b/src/Specific/solinas64_2e401m31_7limbs/fesquare.v
deleted file mode 100644
index 4a1687d32..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.log
deleted file mode 100644
index 6646fe954..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1f * ((uint128_t)x11 * x11)));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1f * ((0x2 * ((uint128_t)x10 * x11)) + ((0x2 * ((uint128_t)x12 * x12)) + (0x2 * ((uint128_t)x11 * x10))))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x11) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((uint128_t)x11 * x8))))));
- uint128_t x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- uint128_t x19 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x11)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + (0x2 * ((uint128_t)x11 * x4)))))))));
- uint128_t x20 = (x19 >> 0x3a);
- uint64_t x21 = ((uint64_t)x19 & 0x3ffffffffffffff);
- uint128_t x22 = (x20 + x18);
- uint128_t x23 = (x22 >> 0x39);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x39);
- uint64_t x27 = ((uint64_t)x25 & 0x1ffffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x3a);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x39);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint128_t x35 = (x34 >> 0x39);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint128_t x38 = (x37 >> 0x39);
- uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffffff);
- uint128_t x40 = (x21 + (0x1f * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x3a);
- uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x39);
- uint64_t x45 = (x43 & 0x1ffffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.v
deleted file mode 100644
index 7e0ce4d0b..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fesub.c b/src/Specific/solinas64_2e401m31_7limbs/fesub.c
deleted file mode 100644
index 9d535d7fd..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0x7ffffffffffffc2 + x5) - x17);
- out[1] = ((0x3fffffffffffffe + x7) - x19);
- out[2] = ((0x3fffffffffffffe + x9) - x21);
- out[3] = ((0x7fffffffffffffe + x11) - x23);
- out[4] = ((0x3fffffffffffffe + x13) - x25);
- out[5] = ((0x3fffffffffffffe + x15) - x27);
- out[6] = ((0x3fffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fesub.v b/src/Specific/solinas64_2e401m31_7limbs/fesub.v
deleted file mode 100644
index 47bac02b7..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.log
deleted file mode 100644
index 8b63ba844..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0x3fffffffffffffe + x14) - x26), ((0x3fffffffffffffe + x15) - x27), ((0x3fffffffffffffe + x13) - x25), ((0x7fffffffffffffe + x11) - x23), ((0x3fffffffffffffe + x9) - x21), ((0x3fffffffffffffe + x7) - x19), ((0x7ffffffffffffc2 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.v
deleted file mode 100644
index 56bb75537..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e401m31_7limbs/freeze.c b/src/Specific/solinas64_2e401m31_7limbs/freeze.c
deleted file mode 100644
index 29a93a41a..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffe1);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x1ffffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3ffffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x1ffffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x1ffffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x3ffffffffffffe1);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x1ffffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x1ffffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x3ffffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x1ffffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x1ffffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x1ffffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_7limbs/freeze.v b/src/Specific/solinas64_2e401m31_7limbs/freeze.v
deleted file mode 100644
index 579d50c72..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.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/solinas64_2e401m31_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.log
deleted file mode 100644
index 793a37ad2..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffe1);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x1ffffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x1ffffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x3ffffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x1ffffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x1ffffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x1ffffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x3ffffffffffffe1);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x1ffffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x1ffffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x3ffffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x1ffffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x1ffffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x1ffffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.v
deleted file mode 100644
index a1135ded2..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e401m31_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e401m31_7limbs/py_interpreter.sh
deleted file mode 100755
index c7b8cb3cc..000000000
--- a/src/Specific/solinas64_2e401m31_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**401 - 31' -Dmodulus_bytes='57 + 2/7' -Da24='121665'
diff --git a/src/Specific/solinas64_2e401m31_8limbs/CurveParameters.v b/src/Specific/solinas64_2e401m31_8limbs/CurveParameters.v
deleted file mode 100644
index 0d6d08d4c..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^401 - 31
-Base: 50.125
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 50 + 1/8;
- bitwidth := 64;
- s := 2^401;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e401m31_8limbs/Synthesis.v b/src/Specific/solinas64_2e401m31_8limbs/Synthesis.v
deleted file mode 100644
index 6ee943ecc..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/compiler.sh b/src/Specific/solinas64_2e401m31_8limbs/compiler.sh
deleted file mode 100755
index 7cb05aa0a..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas64_2e401m31_8limbs/compilerxx.sh b/src/Specific/solinas64_2e401m31_8limbs/compilerxx.sh
deleted file mode 100755
index 79a57d0ae..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,50,50,50,50}' -Dmodulus_array='{0x01,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='51' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<401) - 31' "$@"
diff --git a/src/Specific/solinas64_2e401m31_8limbs/feadd.c b/src/Specific/solinas64_2e401m31_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_8limbs/feadd.v b/src/Specific/solinas64_2e401m31_8limbs/feadd.v
deleted file mode 100644
index 8e86f3f21..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.v
deleted file mode 100644
index 77e27e5b3..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fecarry.v b/src/Specific/solinas64_2e401m31_8limbs/fecarry.v
deleted file mode 100644
index 0615ff113..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e401m31_8limbs/fecarryDisplay.v
deleted file mode 100644
index 3dab708a8..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e401m31_8limbs/femul.c b/src/Specific/solinas64_2e401m31_8limbs/femul.c
deleted file mode 100644
index e9f8d6aef..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x1f * ((uint128_t)x16 * x30)));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x1f * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x1f * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x1f * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x1f * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1f * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x1f * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x33);
- { uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x32);
- { uint64_t x44 = ((uint64_t)x42 & 0x3ffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x32);
- { uint64_t x47 = ((uint64_t)x45 & 0x3ffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x32);
- { uint64_t x50 = ((uint64_t)x48 & 0x3ffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x32);
- { uint64_t x53 = ((uint64_t)x51 & 0x3ffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x32);
- { uint64_t x56 = ((uint64_t)x54 & 0x3ffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x32);
- { uint64_t x59 = ((uint64_t)x57 & 0x3ffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x32);
- { uint64_t x62 = ((uint64_t)x60 & 0x3ffffffffffff);
- { uint64_t x63 = (x41 + (0x1f * x61));
- { uint64_t x64 = (x63 >> 0x33);
- { uint64_t x65 = (x63 & 0x7ffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x32);
- { uint64_t x68 = (x66 & 0x3ffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_8limbs/femul.v b/src/Specific/solinas64_2e401m31_8limbs/femul.v
deleted file mode 100644
index 7ff6e5890..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/femulDisplay.log b/src/Specific/solinas64_2e401m31_8limbs/femulDisplay.log
deleted file mode 100644
index f2fe04251..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((0x2 * ((uint128_t)x17 * x21)) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x1f * ((uint128_t)x16 * x30)));
- uint128_t x34 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((0x2 * ((uint128_t)x13 * x21)) + ((uint128_t)x15 * x19)))))) + (0x1f * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x1f * (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x1f * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x1f * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x1f * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x1f * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x33);
- uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x32);
- uint64_t x44 = ((uint64_t)x42 & 0x3ffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x32);
- uint64_t x47 = ((uint64_t)x45 & 0x3ffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x32);
- uint64_t x50 = ((uint64_t)x48 & 0x3ffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x32);
- uint64_t x53 = ((uint64_t)x51 & 0x3ffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x32);
- uint64_t x56 = ((uint64_t)x54 & 0x3ffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x32);
- uint64_t x59 = ((uint64_t)x57 & 0x3ffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x32);
- uint64_t x62 = ((uint64_t)x60 & 0x3ffffffffffff);
- uint64_t x63 = (x41 + (0x1f * x61));
- uint64_t x64 = (x63 >> 0x33);
- uint64_t x65 = (x63 & 0x7ffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x32);
- uint64_t x68 = (x66 & 0x3ffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_8limbs/femulDisplay.v b/src/Specific/solinas64_2e401m31_8limbs/femulDisplay.v
deleted file mode 100644
index 2e466c6b2..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fesquare.c b/src/Specific/solinas64_2e401m31_8limbs/fesquare.c
deleted file mode 100644
index b36782beb..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1f * ((uint128_t)x13 * x13)));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x33);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x32);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x32);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x32);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x32);
- { uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x32);
- { uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x32);
- { uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x32);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff);
- { uint64_t x46 = (x24 + (0x1f * x44));
- { uint64_t x47 = (x46 >> 0x33);
- { uint64_t x48 = (x46 & 0x7ffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x32);
- { uint64_t x51 = (x49 & 0x3ffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fesquare.v b/src/Specific/solinas64_2e401m31_8limbs/fesquare.v
deleted file mode 100644
index aaee20b69..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.log
deleted file mode 100644
index 60c16004d..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1f * ((uint128_t)x13 * x13)));
- uint128_t x17 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x33);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x32);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x32);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x32);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x32);
- uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x32);
- uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x32);
- uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x32);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff);
- uint64_t x46 = (x24 + (0x1f * x44));
- uint64_t x47 = (x46 >> 0x33);
- uint64_t x48 = (x46 & 0x7ffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x32);
- uint64_t x51 = (x49 & 0x3ffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.v
deleted file mode 100644
index e7decd022..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fesub.c b/src/Specific/solinas64_2e401m31_8limbs/fesub.c
deleted file mode 100644
index fa2135cce..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0xfffffffffffc2 + x5) - x19);
- out[1] = ((0x7fffffffffffe + x7) - x21);
- out[2] = ((0x7fffffffffffe + x9) - x23);
- out[3] = ((0x7fffffffffffe + x11) - x25);
- out[4] = ((0x7fffffffffffe + x13) - x27);
- out[5] = ((0x7fffffffffffe + x15) - x29);
- out[6] = ((0x7fffffffffffe + x17) - x31);
- out[7] = ((0x7fffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fesub.v b/src/Specific/solinas64_2e401m31_8limbs/fesub.v
deleted file mode 100644
index 5b2b9a83e..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.log
deleted file mode 100644
index 1130a3297..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x7fffffffffffe + x16) - x30), ((0x7fffffffffffe + x17) - x31), ((0x7fffffffffffe + x15) - x29), ((0x7fffffffffffe + x13) - x27), ((0x7fffffffffffe + x11) - x25), ((0x7fffffffffffe + x9) - x23), ((0x7fffffffffffe + x7) - x21), ((0xfffffffffffc2 + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.v
deleted file mode 100644
index 9977fd4d6..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e401m31_8limbs/freeze.c b/src/Specific/solinas64_2e401m31_8limbs/freeze.c
deleted file mode 100644
index 2bc280725..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16; uint8_t x17 = _subborrow_u51(0x0, x2, 0x7ffffffffffe1, &x16);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x3ffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x3ffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x3ffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0x7ffffffffffe1);
- { uint64_t x42; uint8_t x43 = _addcarryx_u51(0x0, x16, x40, &x42);
- { uint64_t x44 = (x39 & 0x3ffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0x3ffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x3ffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x3ffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0x3ffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0x3ffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x3ffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e401m31_8limbs/freeze.v b/src/Specific/solinas64_2e401m31_8limbs/freeze.v
deleted file mode 100644
index ac47dade4..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.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/solinas64_2e401m31_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.log
deleted file mode 100644
index b4ce1612e..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = subborrow_u51(0x0, x2, 0x7ffffffffffe1);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x3ffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x3ffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x3ffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0x7ffffffffffe1);
- uint64_t x42, uint8_t x43 = addcarryx_u51(0x0, x16, x40);
- uint64_t x44 = (x39 & 0x3ffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0x3ffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x3ffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x3ffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0x3ffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0x3ffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x3ffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.v
deleted file mode 100644
index 7e747fc10..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e401m31_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e401m31_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e401m31_8limbs/py_interpreter.sh
deleted file mode 100755
index 9b040565a..000000000
--- a/src/Specific/solinas64_2e401m31_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**401 - 31' -Dmodulus_bytes='50.125' -Da24='121665'
diff --git a/src/Specific/solinas64_2e413m21_7limbs/CurveParameters.v b/src/Specific/solinas64_2e413m21_7limbs/CurveParameters.v
deleted file mode 100644
index a438267f2..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^413 - 21
-Base: 59
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 7%nat;
- base := 59;
- bitwidth := 64;
- s := 2^413;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 7); [0; 1]]%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/solinas64_2e413m21_7limbs/Synthesis.v b/src/Specific/solinas64_2e413m21_7limbs/Synthesis.v
deleted file mode 100644
index 1ba1141ee..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/compiler.sh b/src/Specific/solinas64_2e413m21_7limbs/compiler.sh
deleted file mode 100755
index 2bb78eeb9..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas64_2e413m21_7limbs/compilerxx.sh b/src/Specific/solinas64_2e413m21_7limbs/compilerxx.sh
deleted file mode 100755
index 103187922..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,59,59,59,59,59,59}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='7' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas64_2e413m21_7limbs/feadd.c b/src/Specific/solinas64_2e413m21_7limbs/feadd.c
deleted file mode 100644
index 9acf97578..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/feadd.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void feadd(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = (x5 + x17);
- out[1] = (x7 + x19);
- out[2] = (x9 + x21);
- out[3] = (x11 + x23);
- out[4] = (x13 + x25);
- out[5] = (x15 + x27);
- out[6] = (x14 + x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_7limbs/feadd.v b/src/Specific/solinas64_2e413m21_7limbs/feadd.v
deleted file mode 100644
index 4f084ebc8..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/feaddDisplay.log b/src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.log
deleted file mode 100644
index 6320440fc..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- ((x14 + x26), (x15 + x27), (x13 + x25), (x11 + x23), (x9 + x21), (x7 + x19), (x5 + x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.v b/src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.v
deleted file mode 100644
index 732dda844..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fecarry.v b/src/Specific/solinas64_2e413m21_7limbs/fecarry.v
deleted file mode 100644
index 39cd53bea..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/fecarryDisplay.v b/src/Specific/solinas64_2e413m21_7limbs/fecarryDisplay.v
deleted file mode 100644
index 2acc22765..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e413m21_7limbs/femul.c b/src/Specific/solinas64_2e413m21_7limbs/femul.c
deleted file mode 100644
index 6fbb37ad9..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/femul.c
+++ /dev/null
@@ -1,57 +0,0 @@
-static void femul(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- { uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- { uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x15 * ((uint128_t)x14 * x26)));
- { uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x15 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- { uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x15 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- { uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x15 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- { ℤ x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) +ℤ (0x15 *ℤ (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- { ℤ x34 = (((uint128_t)x5 * x17) +ℤ (0x15 *ℤ (((uint128_t)x7 * x26) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x14 * x19))))))));
- { uint128_t x35 = (x34 >> 0x3b);
- { uint64_t x36 = (x34 & 0x7ffffffffffffff);
- { ℤ x37 = (x35 +ℤ x33);
- { uint128_t x38 = (x37 >> 0x3b);
- { uint64_t x39 = (x37 & 0x7ffffffffffffff);
- { uint128_t x40 = (x38 + x32);
- { uint128_t x41 = (x40 >> 0x3b);
- { uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff);
- { uint128_t x43 = (x41 + x31);
- { uint128_t x44 = (x43 >> 0x3b);
- { uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffffff);
- { uint128_t x46 = (x44 + x30);
- { uint128_t x47 = (x46 >> 0x3b);
- { uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffffff);
- { uint128_t x49 = (x47 + x29);
- { uint128_t x50 = (x49 >> 0x3b);
- { uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffffff);
- { uint128_t x52 = (x50 + x28);
- { uint128_t x53 = (x52 >> 0x3b);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffffff);
- { uint128_t x55 = (x36 + (0x15 * x53));
- { uint64_t x56 = (uint64_t) (x55 >> 0x3b);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffffff);
- { uint64_t x58 = (x56 + x39);
- { uint64_t x59 = (x58 >> 0x3b);
- { uint64_t x60 = (x58 & 0x7ffffffffffffff);
- out[0] = x57;
- out[1] = x60;
- out[2] = (x59 + x42);
- out[3] = x45;
- out[4] = x48;
- out[5] = x51;
- out[6] = x54;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_7limbs/femul.v b/src/Specific/solinas64_2e413m21_7limbs/femul.v
deleted file mode 100644
index f66ab43a7..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/femulDisplay.log b/src/Specific/solinas64_2e413m21_7limbs/femulDisplay.log
deleted file mode 100644
index 79be934ac..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/femulDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- uint128_t x28 = (((uint128_t)x5 * x26) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + (((uint128_t)x15 * x19) + ((uint128_t)x14 * x17)))))));
- uint128_t x29 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + (((uint128_t)x11 * x21) + (((uint128_t)x13 * x19) + ((uint128_t)x15 * x17)))))) + (0x15 * ((uint128_t)x14 * x26)));
- uint128_t x30 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + (((uint128_t)x11 * x19) + ((uint128_t)x13 * x17))))) + (0x15 * (((uint128_t)x15 * x26) + ((uint128_t)x14 * x27))));
- uint128_t x31 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + (((uint128_t)x9 * x19) + ((uint128_t)x11 * x17)))) + (0x15 * (((uint128_t)x13 * x26) + (((uint128_t)x15 * x27) + ((uint128_t)x14 * x25)))));
- uint128_t x32 = ((((uint128_t)x5 * x21) + (((uint128_t)x7 * x19) + ((uint128_t)x9 * x17))) + (0x15 * (((uint128_t)x11 * x26) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x14 * x23))))));
- ℤ x33 = ((((uint128_t)x5 * x19) + ((uint128_t)x7 * x17)) +ℤ (0x15 *ℤ (((uint128_t)x9 * x26) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x14 * x21)))))));
- ℤ x34 = (((uint128_t)x5 * x17) +ℤ (0x15 *ℤ (((uint128_t)x7 * x26) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x14 * x19))))))));
- uint128_t x35 = (x34 >> 0x3b);
- uint64_t x36 = (x34 & 0x7ffffffffffffff);
- ℤ x37 = (x35 +ℤ x33);
- uint128_t x38 = (x37 >> 0x3b);
- uint64_t x39 = (x37 & 0x7ffffffffffffff);
- uint128_t x40 = (x38 + x32);
- uint128_t x41 = (x40 >> 0x3b);
- uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff);
- uint128_t x43 = (x41 + x31);
- uint128_t x44 = (x43 >> 0x3b);
- uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffffff);
- uint128_t x46 = (x44 + x30);
- uint128_t x47 = (x46 >> 0x3b);
- uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffffff);
- uint128_t x49 = (x47 + x29);
- uint128_t x50 = (x49 >> 0x3b);
- uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffffff);
- uint128_t x52 = (x50 + x28);
- uint128_t x53 = (x52 >> 0x3b);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffffff);
- uint128_t x55 = (x36 + (0x15 * x53));
- uint64_t x56 = (uint64_t) (x55 >> 0x3b);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffffff);
- uint64_t x58 = (x56 + x39);
- uint64_t x59 = (x58 >> 0x3b);
- uint64_t x60 = (x58 & 0x7ffffffffffffff);
- return (Return x54, Return x51, Return x48, Return x45, (x59 + x42), Return x60, Return x57))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_7limbs/femulDisplay.v b/src/Specific/solinas64_2e413m21_7limbs/femulDisplay.v
deleted file mode 100644
index 4a2ca9f64..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fesquare.c b/src/Specific/solinas64_2e413m21_7limbs/fesquare.c
deleted file mode 100644
index c3e0d7d32..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesquare.c
+++ /dev/null
@@ -1,50 +0,0 @@
-static void fesquare(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- { uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * ((uint128_t)x11 * x11)));
- { uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- { uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x15 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- { uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- { ℤ x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) +ℤ (0x15 *ℤ (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- { ℤ x19 = (((uint128_t)x2 * x2) +ℤ (0x15 *ℤ (((uint128_t)x4 * x11) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((uint128_t)x11 * x4))))))));
- { uint128_t x20 = (x19 >> 0x3b);
- { uint64_t x21 = (x19 & 0x7ffffffffffffff);
- { ℤ x22 = (x20 +ℤ x18);
- { uint128_t x23 = (x22 >> 0x3b);
- { uint64_t x24 = (x22 & 0x7ffffffffffffff);
- { uint128_t x25 = (x23 + x17);
- { uint128_t x26 = (x25 >> 0x3b);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffffff);
- { uint128_t x28 = (x26 + x16);
- { uint128_t x29 = (x28 >> 0x3b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff);
- { uint128_t x31 = (x29 + x15);
- { uint128_t x32 = (x31 >> 0x3b);
- { uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffffff);
- { uint128_t x34 = (x32 + x14);
- { uint128_t x35 = (x34 >> 0x3b);
- { uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffffff);
- { uint128_t x37 = (x35 + x13);
- { uint128_t x38 = (x37 >> 0x3b);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffffff);
- { uint128_t x40 = (x21 + (0x15 * x38));
- { uint64_t x41 = (uint64_t) (x40 >> 0x3b);
- { uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff);
- { uint64_t x43 = (x41 + x24);
- { uint64_t x44 = (x43 >> 0x3b);
- { uint64_t x45 = (x43 & 0x7ffffffffffffff);
- out[0] = x42;
- out[1] = x45;
- out[2] = (x44 + x27);
- out[3] = x30;
- out[4] = x33;
- out[5] = x36;
- out[6] = x39;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fesquare.v b/src/Specific/solinas64_2e413m21_7limbs/fesquare.v
deleted file mode 100644
index 2fc57c04a..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/fesquareDisplay.log b/src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.log
deleted file mode 100644
index a76b27178..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,40 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x13 = (((uint128_t)x2 * x11) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x11 * x2)))))));
- uint128_t x14 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * ((uint128_t)x11 * x11)));
- uint128_t x15 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x11) + ((uint128_t)x11 * x12))));
- uint128_t x16 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x15 * (((uint128_t)x10 * x11) + (((uint128_t)x12 * x12) + ((uint128_t)x11 * x10)))));
- uint128_t x17 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x11) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((uint128_t)x11 * x8))))));
- ℤ x18 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) +ℤ (0x15 *ℤ (((uint128_t)x6 * x11) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((uint128_t)x11 * x6)))))));
- ℤ x19 = (((uint128_t)x2 * x2) +ℤ (0x15 *ℤ (((uint128_t)x4 * x11) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((uint128_t)x11 * x4))))))));
- uint128_t x20 = (x19 >> 0x3b);
- uint64_t x21 = (x19 & 0x7ffffffffffffff);
- ℤ x22 = (x20 +ℤ x18);
- uint128_t x23 = (x22 >> 0x3b);
- uint64_t x24 = (x22 & 0x7ffffffffffffff);
- uint128_t x25 = (x23 + x17);
- uint128_t x26 = (x25 >> 0x3b);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffffff);
- uint128_t x28 = (x26 + x16);
- uint128_t x29 = (x28 >> 0x3b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff);
- uint128_t x31 = (x29 + x15);
- uint128_t x32 = (x31 >> 0x3b);
- uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffffff);
- uint128_t x34 = (x32 + x14);
- uint128_t x35 = (x34 >> 0x3b);
- uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffffff);
- uint128_t x37 = (x35 + x13);
- uint128_t x38 = (x37 >> 0x3b);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffffff);
- uint128_t x40 = (x21 + (0x15 * x38));
- uint64_t x41 = (uint64_t) (x40 >> 0x3b);
- uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff);
- uint64_t x43 = (x41 + x24);
- uint64_t x44 = (x43 >> 0x3b);
- uint64_t x45 = (x43 & 0x7ffffffffffffff);
- return (Return x39, Return x36, Return x33, Return x30, (x44 + x27), Return x45, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.v b/src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.v
deleted file mode 100644
index 1aa4a7219..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fesub.c b/src/Specific/solinas64_2e413m21_7limbs/fesub.c
deleted file mode 100644
index b548e713b..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesub.c
+++ /dev/null
@@ -1,24 +0,0 @@
-static void fesub(uint64_t out[7], const uint64_t in1[7], const uint64_t in2[7]) {
- { const uint64_t x14 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x26 = in2[6];
- { const uint64_t x27 = in2[5];
- { const uint64_t x25 = in2[4];
- { const uint64_t x23 = in2[3];
- { const uint64_t x21 = in2[2];
- { const uint64_t x19 = in2[1];
- { const uint64_t x17 = in2[0];
- out[0] = ((0xfffffffffffffd6 + x5) - x17);
- out[1] = ((0xffffffffffffffe + x7) - x19);
- out[2] = ((0xffffffffffffffe + x9) - x21);
- out[3] = ((0xffffffffffffffe + x11) - x23);
- out[4] = ((0xffffffffffffffe + x13) - x25);
- out[5] = ((0xffffffffffffffe + x15) - x27);
- out[6] = ((0xffffffffffffffe + x14) - x26);
- }}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fesub.v b/src/Specific/solinas64_2e413m21_7limbs/fesub.v
deleted file mode 100644
index a7555e264..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/fesubDisplay.log b/src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.log
deleted file mode 100644
index ebf049655..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x14, x15, x13, x11, x9, x7, x5, (x26, x27, x25, x23, x21, x19, x17))%core,
- (((0xffffffffffffffe + x14) - x26), ((0xffffffffffffffe + x15) - x27), ((0xffffffffffffffe + x13) - x25), ((0xffffffffffffffe + x11) - x23), ((0xffffffffffffffe + x9) - x21), ((0xffffffffffffffe + x7) - x19), ((0xfffffffffffffd6 + x5) - x17)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.v b/src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.v
deleted file mode 100644
index 7806b4d66..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e413m21_7limbs/freeze.c b/src/Specific/solinas64_2e413m21_7limbs/freeze.c
deleted file mode 100644
index 8d63463bc..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/freeze.c
+++ /dev/null
@@ -1,39 +0,0 @@
-static void freeze(uint64_t out[7], const uint64_t in1[7]) {
- { const uint64_t x11 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffeb);
- { uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7ffffffffffffff);
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7ffffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x7ffffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7ffffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7ffffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x7ffffffffffffff);
- { uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- { uint64_t x35 = (x34 & 0x7ffffffffffffeb);
- { uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- { uint64_t x39 = (x34 & 0x7ffffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- { uint64_t x43 = (x34 & 0x7ffffffffffffff);
- { uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- { uint64_t x47 = (x34 & 0x7ffffffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- { uint64_t x51 = (x34 & 0x7ffffffffffffff);
- { uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- { uint64_t x55 = (x34 & 0x7ffffffffffffff);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- { uint64_t x59 = (x34 & 0x7ffffffffffffff);
- { uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- out[0] = x37;
- out[1] = x41;
- out[2] = x45;
- out[3] = x49;
- out[4] = x53;
- out[5] = x57;
- out[6] = x61;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_7limbs/freeze.v b/src/Specific/solinas64_2e413m21_7limbs/freeze.v
deleted file mode 100644
index 0720ad367..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.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/solinas64_2e413m21_7limbs/freezeDisplay.log b/src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.log
deleted file mode 100644
index e69dc348c..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.log
+++ /dev/null
@@ -1,29 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x11, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x14, uint8_t x15 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffeb);
- uint64_t x17, uint8_t x18 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x15, Return x4, 0x7ffffffffffffff);
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x18, Return x6, 0x7ffffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x8, 0x7ffffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x10, 0x7ffffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x12, 0x7ffffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x11, 0x7ffffffffffffff);
- uint64_t x34 = cmovznz64(x33, 0x0, 0xffffffffffffffffL);
- uint64_t x35 = (x34 & 0x7ffffffffffffeb);
- uint64_t x37, uint8_t x38 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x14, Return x35);
- uint64_t x39 = (x34 & 0x7ffffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x17, Return x39);
- uint64_t x43 = (x34 & 0x7ffffffffffffff);
- uint64_t x45, uint8_t x46 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x20, Return x43);
- uint64_t x47 = (x34 & 0x7ffffffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x46, Return x23, Return x47);
- uint64_t x51 = (x34 & 0x7ffffffffffffff);
- uint64_t x53, uint8_t x54 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x26, Return x51);
- uint64_t x55 = (x34 & 0x7ffffffffffffff);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x54, Return x29, Return x55);
- uint64_t x59 = (x34 & 0x7ffffffffffffff);
- uint64_t x61, uint8_t _ = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x32, Return x59);
- (Return x61, Return x57, Return x53, Return x49, Return x45, Return x41, Return x37))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.v b/src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.v
deleted file mode 100644
index 7d37a865e..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_7limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e413m21_7limbs/py_interpreter.sh b/src/Specific/solinas64_2e413m21_7limbs/py_interpreter.sh
deleted file mode 100755
index 01e4933a1..000000000
--- a/src/Specific/solinas64_2e413m21_7limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**413 - 21' -Dmodulus_bytes='59' -Da24='121665'
diff --git a/src/Specific/solinas64_2e413m21_8limbs/CurveParameters.v b/src/Specific/solinas64_2e413m21_8limbs/CurveParameters.v
deleted file mode 100644
index ecbfee66f..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^413 - 21
-Base: 51.625
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 51 + 5/8;
- bitwidth := 64;
- s := 2^413;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e413m21_8limbs/Synthesis.v b/src/Specific/solinas64_2e413m21_8limbs/Synthesis.v
deleted file mode 100644
index 313c87563..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/compiler.sh b/src/Specific/solinas64_2e413m21_8limbs/compiler.sh
deleted file mode 100755
index 79153f07e..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,51,52,52,51,52,51}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas64_2e413m21_8limbs/compilerxx.sh b/src/Specific/solinas64_2e413m21_8limbs/compilerxx.sh
deleted file mode 100755
index 75368da5c..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,51,52,52,51,52,51}' -Dmodulus_array='{0x1f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<413) - 21' "$@"
diff --git a/src/Specific/solinas64_2e413m21_8limbs/feadd.c b/src/Specific/solinas64_2e413m21_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_8limbs/feadd.v b/src/Specific/solinas64_2e413m21_8limbs/feadd.v
deleted file mode 100644
index dc239411e..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.v
deleted file mode 100644
index 96294562a..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fecarry.v b/src/Specific/solinas64_2e413m21_8limbs/fecarry.v
deleted file mode 100644
index 5e653ad8d..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e413m21_8limbs/fecarryDisplay.v
deleted file mode 100644
index 228abdeea..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e413m21_8limbs/femul.c b/src/Specific/solinas64_2e413m21_8limbs/femul.c
deleted file mode 100644
index 92f7544c8..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x15 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x15 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x15 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x15 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x15 * ((0x2 * ((uint128_t)x9 * x30)) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + (((uint128_t)x17 * x25) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x15 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x34);
- { uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x34);
- { uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x33);
- { uint64_t x47 = ((uint64_t)x45 & 0x7ffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x34);
- { uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x34);
- { uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x33);
- { uint64_t x56 = ((uint64_t)x54 & 0x7ffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x34);
- { uint64_t x59 = ((uint64_t)x57 & 0xfffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x33);
- { uint64_t x62 = ((uint64_t)x60 & 0x7ffffffffffff);
- { uint64_t x63 = (x41 + (0x15 * x61));
- { uint64_t x64 = (x63 >> 0x34);
- { uint64_t x65 = (x63 & 0xfffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x34);
- { uint64_t x68 = (x66 & 0xfffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_8limbs/femul.v b/src/Specific/solinas64_2e413m21_8limbs/femul.v
deleted file mode 100644
index 3aae424d9..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/femulDisplay.log b/src/Specific/solinas64_2e413m21_8limbs/femulDisplay.log
deleted file mode 100644
index 532df92b0..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x15 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x15 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((0x2 * ((uint128_t)x9 * x23)) + (((uint128_t)x11 * x21) + ((uint128_t)x13 * x19))))) + (0x15 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x30)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + (0x2 * ((uint128_t)x16 * x27)))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x15 * (((uint128_t)x11 * x30) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((uint128_t)x16 * x25)))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x15 * ((0x2 * ((uint128_t)x9 * x30)) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + (((uint128_t)x17 * x25) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x15 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x34);
- uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x34);
- uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x33);
- uint64_t x47 = ((uint64_t)x45 & 0x7ffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x34);
- uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x34);
- uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x33);
- uint64_t x56 = ((uint64_t)x54 & 0x7ffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x34);
- uint64_t x59 = ((uint64_t)x57 & 0xfffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x33);
- uint64_t x62 = ((uint64_t)x60 & 0x7ffffffffffff);
- uint64_t x63 = (x41 + (0x15 * x61));
- uint64_t x64 = (x63 >> 0x34);
- uint64_t x65 = (x63 & 0xfffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x34);
- uint64_t x68 = (x66 & 0xfffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_8limbs/femulDisplay.v b/src/Specific/solinas64_2e413m21_8limbs/femulDisplay.v
deleted file mode 100644
index 973f2c3a1..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fesquare.c b/src/Specific/solinas64_2e413m21_8limbs/fesquare.c
deleted file mode 100644
index 9a5d422de..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x13)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x34);
- { uint64_t x24 = ((uint64_t)x22 & 0xfffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x34);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x33);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x34);
- { uint64_t x33 = ((uint64_t)x31 & 0xfffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x34);
- { uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x33);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x34);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x33);
- { uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- { uint64_t x46 = (x24 + (0x15 * x44));
- { uint64_t x47 = (x46 >> 0x34);
- { uint64_t x48 = (x46 & 0xfffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x34);
- { uint64_t x51 = (x49 & 0xfffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fesquare.v b/src/Specific/solinas64_2e413m21_8limbs/fesquare.v
deleted file mode 100644
index 0522eb251..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.log
deleted file mode 100644
index e4769201f..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x13)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (0x2 * ((uint128_t)x13 * x10)))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x13) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((uint128_t)x13 * x8)))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x13)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x34);
- uint64_t x24 = ((uint64_t)x22 & 0xfffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x34);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x33);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x34);
- uint64_t x33 = ((uint64_t)x31 & 0xfffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x34);
- uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x33);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x34);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x33);
- uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- uint64_t x46 = (x24 + (0x15 * x44));
- uint64_t x47 = (x46 >> 0x34);
- uint64_t x48 = (x46 & 0xfffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x34);
- uint64_t x51 = (x49 & 0xfffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.v
deleted file mode 100644
index f47630fa4..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fesub.c b/src/Specific/solinas64_2e413m21_8limbs/fesub.c
deleted file mode 100644
index f535095a3..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1fffffffffffd6 + x5) - x19);
- out[1] = ((0x1ffffffffffffe + x7) - x21);
- out[2] = ((0xffffffffffffe + x9) - x23);
- out[3] = ((0x1ffffffffffffe + x11) - x25);
- out[4] = ((0x1ffffffffffffe + x13) - x27);
- out[5] = ((0xffffffffffffe + x15) - x29);
- out[6] = ((0x1ffffffffffffe + x17) - x31);
- out[7] = ((0xffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fesub.v b/src/Specific/solinas64_2e413m21_8limbs/fesub.v
deleted file mode 100644
index a29aa29d4..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.log
deleted file mode 100644
index cbc94a4e5..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xffffffffffffe + x16) - x30), ((0x1ffffffffffffe + x17) - x31), ((0xffffffffffffe + x15) - x29), ((0x1ffffffffffffe + x13) - x27), ((0x1ffffffffffffe + x11) - x25), ((0xffffffffffffe + x9) - x23), ((0x1ffffffffffffe + x7) - x21), ((0x1fffffffffffd6 + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.v
deleted file mode 100644
index 26993d578..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e413m21_8limbs/freeze.c b/src/Specific/solinas64_2e413m21_8limbs/freeze.c
deleted file mode 100644
index 7095734ee..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffeb);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffff);
- { uint64_t x22; uint8_t x23 = _subborrow_u51(x20, x6, 0x7ffffffffffff, &x22);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffffffffff);
- { uint64_t x31; uint8_t x32 = _subborrow_u51(x29, x12, 0x7ffffffffffff, &x31);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff);
- { uint64_t x37; uint8_t x38 = _subborrow_u51(x35, x13, 0x7ffffffffffff, &x37);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xfffffffffffeb);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xfffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0x7ffffffffffff);
- { uint64_t x50; uint8_t x51 = _addcarryx_u51(x47, x22, x48, &x50);
- { uint64_t x52 = (x39 & 0xfffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xfffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0x7ffffffffffff);
- { uint64_t x62; uint8_t x63 = _addcarryx_u51(x59, x31, x60, &x62);
- { uint64_t x64 = (x39 & 0xfffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7ffffffffffff);
- { uint64_t x70; uint8_t _ = _addcarryx_u51(x67, x37, x68, &x70);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e413m21_8limbs/freeze.v b/src/Specific/solinas64_2e413m21_8limbs/freeze.v
deleted file mode 100644
index 286bd65cd..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.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/solinas64_2e413m21_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.log
deleted file mode 100644
index 0eebf2f14..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffeb);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffff);
- uint64_t x22, uint8_t x23 = subborrow_u51(x20, x6, 0x7ffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffffffffff);
- uint64_t x31, uint8_t x32 = subborrow_u51(x29, x12, 0x7ffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff);
- uint64_t x37, uint8_t x38 = subborrow_u51(x35, x13, 0x7ffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xfffffffffffeb);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xfffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0x7ffffffffffff);
- uint64_t x50, uint8_t x51 = addcarryx_u51(x47, x22, x48);
- uint64_t x52 = (x39 & 0xfffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xfffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0x7ffffffffffff);
- uint64_t x62, uint8_t x63 = addcarryx_u51(x59, x31, x60);
- uint64_t x64 = (x39 & 0xfffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7ffffffffffff);
- uint64_t x70, uint8_t _ = addcarryx_u51(x67, x37, x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.v
deleted file mode 100644
index 31da58108..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e413m21_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e413m21_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e413m21_8limbs/py_interpreter.sh
deleted file mode 100755
index 7208e6f21..000000000
--- a/src/Specific/solinas64_2e413m21_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**413 - 21' -Dmodulus_bytes='51.625' -Da24='121665'
diff --git a/src/Specific/solinas64_2e414m17_8limbs/CurveParameters.v b/src/Specific/solinas64_2e414m17_8limbs/CurveParameters.v
deleted file mode 100644
index 079887992..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^414 - 17
-Base: 51.75
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 51 + 3/4;
- bitwidth := 64;
- s := 2^414;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e414m17_8limbs/Synthesis.v b/src/Specific/solinas64_2e414m17_8limbs/Synthesis.v
deleted file mode 100644
index 269b06586..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/compiler.sh b/src/Specific/solinas64_2e414m17_8limbs/compiler.sh
deleted file mode 100755
index e74e12a87..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,51,52,52,52,51}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas64_2e414m17_8limbs/compilerxx.sh b/src/Specific/solinas64_2e414m17_8limbs/compilerxx.sh
deleted file mode 100755
index f5f0c2acc..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,51,52,52,52,51}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas64_2e414m17_8limbs/feadd.c b/src/Specific/solinas64_2e414m17_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_8limbs/feadd.v b/src/Specific/solinas64_2e414m17_8limbs/feadd.v
deleted file mode 100644
index e97057889..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.v
deleted file mode 100644
index 414bcde1c..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fecarry.v b/src/Specific/solinas64_2e414m17_8limbs/fecarry.v
deleted file mode 100644
index e25e569fc..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e414m17_8limbs/fecarryDisplay.v
deleted file mode 100644
index 44c2cc919..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e414m17_8limbs/femul.c b/src/Specific/solinas64_2e414m17_8limbs/femul.c
deleted file mode 100644
index c3b71ed6f..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint64_t x40 = (uint64_t) (x39 >> 0x34);
- { uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint64_t x43 = (uint64_t) (x42 >> 0x34);
- { uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint64_t x46 = (uint64_t) (x45 >> 0x34);
- { uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint64_t x49 = (uint64_t) (x48 >> 0x33);
- { uint64_t x50 = ((uint64_t)x48 & 0x7ffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x34);
- { uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint64_t x55 = (uint64_t) (x54 >> 0x34);
- { uint64_t x56 = ((uint64_t)x54 & 0xfffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x34);
- { uint64_t x59 = ((uint64_t)x57 & 0xfffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x33);
- { uint64_t x62 = ((uint64_t)x60 & 0x7ffffffffffff);
- { uint64_t x63 = (x41 + (0x11 * x61));
- { uint64_t x64 = (x63 >> 0x34);
- { uint64_t x65 = (x63 & 0xfffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x34);
- { uint64_t x68 = (x66 & 0xfffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_8limbs/femul.v b/src/Specific/solinas64_2e414m17_8limbs/femul.v
deleted file mode 100644
index f89c1d239..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/femulDisplay.log b/src/Specific/solinas64_2e414m17_8limbs/femulDisplay.log
deleted file mode 100644
index ad5406d65..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + (((uint128_t)x15 * x21) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * ((0x2 * ((uint128_t)x17 * x30)) + (0x2 * ((uint128_t)x16 * x31)))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * ((0x2 * ((uint128_t)x9 * x30)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + (0x2 * ((uint128_t)x16 * x23)))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint64_t x40 = (uint64_t) (x39 >> 0x34);
- uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint64_t x43 = (uint64_t) (x42 >> 0x34);
- uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint64_t x46 = (uint64_t) (x45 >> 0x34);
- uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint64_t x49 = (uint64_t) (x48 >> 0x33);
- uint64_t x50 = ((uint64_t)x48 & 0x7ffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x34);
- uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint64_t x55 = (uint64_t) (x54 >> 0x34);
- uint64_t x56 = ((uint64_t)x54 & 0xfffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x34);
- uint64_t x59 = ((uint64_t)x57 & 0xfffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x33);
- uint64_t x62 = ((uint64_t)x60 & 0x7ffffffffffff);
- uint64_t x63 = (x41 + (0x11 * x61));
- uint64_t x64 = (x63 >> 0x34);
- uint64_t x65 = (x63 & 0xfffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x34);
- uint64_t x68 = (x66 & 0xfffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_8limbs/femulDisplay.v b/src/Specific/solinas64_2e414m17_8limbs/femulDisplay.v
deleted file mode 100644
index 82d267026..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fesquare.c b/src/Specific/solinas64_2e414m17_8limbs/fesquare.c
deleted file mode 100644
index 245837f25..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint64_t x23 = (uint64_t) (x22 >> 0x34);
- { uint64_t x24 = ((uint64_t)x22 & 0xfffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint64_t x26 = (uint64_t) (x25 >> 0x34);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint64_t x29 = (uint64_t) (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint64_t x32 = (uint64_t) (x31 >> 0x33);
- { uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x34);
- { uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint64_t x38 = (uint64_t) (x37 >> 0x34);
- { uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x34);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x33);
- { uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- { uint64_t x46 = (x24 + (0x11 * x44));
- { uint64_t x47 = (x46 >> 0x34);
- { uint64_t x48 = (x46 & 0xfffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x34);
- { uint64_t x51 = (x49 & 0xfffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fesquare.v b/src/Specific/solinas64_2e414m17_8limbs/fesquare.v
deleted file mode 100644
index d014136de..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.log
deleted file mode 100644
index 73fa110b7..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint128_t)x14 * x13)) + (0x2 * ((uint128_t)x13 * x14)))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((0x2 * ((uint128_t)x6 * x13)) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + (0x2 * ((uint128_t)x13 * x6)))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint64_t x23 = (uint64_t) (x22 >> 0x34);
- uint64_t x24 = ((uint64_t)x22 & 0xfffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint64_t x26 = (uint64_t) (x25 >> 0x34);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint64_t x29 = (uint64_t) (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint64_t x32 = (uint64_t) (x31 >> 0x33);
- uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x34);
- uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint64_t x38 = (uint64_t) (x37 >> 0x34);
- uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x34);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x33);
- uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- uint64_t x46 = (x24 + (0x11 * x44));
- uint64_t x47 = (x46 >> 0x34);
- uint64_t x48 = (x46 & 0xfffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x34);
- uint64_t x51 = (x49 & 0xfffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.v
deleted file mode 100644
index f671b0ac2..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fesub.c b/src/Specific/solinas64_2e414m17_8limbs/fesub.c
deleted file mode 100644
index df95f0373..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1fffffffffffde + x5) - x19);
- out[1] = ((0x1ffffffffffffe + x7) - x21);
- out[2] = ((0x1ffffffffffffe + x9) - x23);
- out[3] = ((0xffffffffffffe + x11) - x25);
- out[4] = ((0x1ffffffffffffe + x13) - x27);
- out[5] = ((0x1ffffffffffffe + x15) - x29);
- out[6] = ((0x1ffffffffffffe + x17) - x31);
- out[7] = ((0xffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fesub.v b/src/Specific/solinas64_2e414m17_8limbs/fesub.v
deleted file mode 100644
index 584e148bf..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.log
deleted file mode 100644
index 3dc4cf59d..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xffffffffffffe + x16) - x30), ((0x1ffffffffffffe + x17) - x31), ((0x1ffffffffffffe + x15) - x29), ((0x1ffffffffffffe + x13) - x27), ((0xffffffffffffe + x11) - x25), ((0x1ffffffffffffe + x9) - x23), ((0x1ffffffffffffe + x7) - x21), ((0x1fffffffffffde + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.v
deleted file mode 100644
index 975673e68..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e414m17_8limbs/freeze.c b/src/Specific/solinas64_2e414m17_8limbs/freeze.c
deleted file mode 100644
index addec9f33..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffef);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffff);
- { uint64_t x25; uint8_t x26 = _subborrow_u51(x23, x8, 0x7ffffffffffff, &x25);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff);
- { uint64_t x37; uint8_t x38 = _subborrow_u51(x35, x13, 0x7ffffffffffff, &x37);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xfffffffffffef);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xfffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xfffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x7ffffffffffff);
- { uint64_t x54; uint8_t x55 = _addcarryx_u51(x51, x25, x52, &x54);
- { uint64_t x56 = (x39 & 0xfffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xfffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xfffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7ffffffffffff);
- { uint64_t x70; uint8_t _ = _addcarryx_u51(x67, x37, x68, &x70);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_8limbs/freeze.v b/src/Specific/solinas64_2e414m17_8limbs/freeze.v
deleted file mode 100644
index c8429350e..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.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/solinas64_2e414m17_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.log
deleted file mode 100644
index 4f54f5473..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffef);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffff);
- uint64_t x25, uint8_t x26 = subborrow_u51(x23, x8, 0x7ffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff);
- uint64_t x37, uint8_t x38 = subborrow_u51(x35, x13, 0x7ffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xfffffffffffef);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xfffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xfffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x7ffffffffffff);
- uint64_t x54, uint8_t x55 = addcarryx_u51(x51, x25, x52);
- uint64_t x56 = (x39 & 0xfffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xfffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xfffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7ffffffffffff);
- uint64_t x70, uint8_t _ = addcarryx_u51(x67, x37, x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.v
deleted file mode 100644
index 55b0dd379..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e414m17_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e414m17_8limbs/py_interpreter.sh
deleted file mode 100755
index 8533481fd..000000000
--- a/src/Specific/solinas64_2e414m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**414 - 17' -Dmodulus_bytes='51.75' -Da24='121665'
diff --git a/src/Specific/solinas64_2e414m17_9limbs/CurveParameters.v b/src/Specific/solinas64_2e414m17_9limbs/CurveParameters.v
deleted file mode 100644
index 0567d0263..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^414 - 17
-Base: 46
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 46;
- bitwidth := 64;
- s := 2^414;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e414m17_9limbs/Synthesis.v b/src/Specific/solinas64_2e414m17_9limbs/Synthesis.v
deleted file mode 100644
index 6c1790a28..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/compiler.sh b/src/Specific/solinas64_2e414m17_9limbs/compiler.sh
deleted file mode 100755
index 0dbbbcb2d..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas64_2e414m17_9limbs/compilerxx.sh b/src/Specific/solinas64_2e414m17_9limbs/compilerxx.sh
deleted file mode 100755
index 77ca2664c..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{46,46,46,46,46,46,46,46,46}' -Dmodulus_array='{0x3f,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<414) - 17' "$@"
diff --git a/src/Specific/solinas64_2e414m17_9limbs/feadd.c b/src/Specific/solinas64_2e414m17_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_9limbs/feadd.v b/src/Specific/solinas64_2e414m17_9limbs/feadd.v
deleted file mode 100644
index 7b234fbe0..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.v
deleted file mode 100644
index d70976340..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fecarry.v b/src/Specific/solinas64_2e414m17_9limbs/fecarry.v
deleted file mode 100644
index bfb1d2b04..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e414m17_9limbs/fecarryDisplay.v
deleted file mode 100644
index aa7405539..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e414m17_9limbs/femul.c b/src/Specific/solinas64_2e414m17_9limbs/femul.c
deleted file mode 100644
index 1a394a727..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29)))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23))))))))));
- { uint64_t x45 = (uint64_t) (x44 >> 0x2e);
- { uint64_t x46 = ((uint64_t)x44 & 0x3fffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint64_t x48 = (uint64_t) (x47 >> 0x2e);
- { uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint64_t x51 = (uint64_t) (x50 >> 0x2e);
- { uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint64_t x54 = (uint64_t) (x53 >> 0x2e);
- { uint64_t x55 = ((uint64_t)x53 & 0x3fffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint64_t x57 = (uint64_t) (x56 >> 0x2e);
- { uint64_t x58 = ((uint64_t)x56 & 0x3fffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint64_t x60 = (uint64_t) (x59 >> 0x2e);
- { uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint64_t x63 = (uint64_t) (x62 >> 0x2e);
- { uint64_t x64 = ((uint64_t)x62 & 0x3fffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x2e);
- { uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x2e);
- { uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffff);
- { uint64_t x71 = (x46 + (0x11 * x69));
- { uint64_t x72 = (x71 >> 0x2e);
- { uint64_t x73 = (x71 & 0x3fffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x2e);
- { uint64_t x76 = (x74 & 0x3fffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_9limbs/femul.v b/src/Specific/solinas64_2e414m17_9limbs/femul.v
deleted file mode 100644
index 93bd82561..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/femulDisplay.log b/src/Specific/solinas64_2e414m17_9limbs/femulDisplay.log
deleted file mode 100644
index 0a1c91fcd..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29)))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23))))))))));
- uint64_t x45 = (uint64_t) (x44 >> 0x2e);
- uint64_t x46 = ((uint64_t)x44 & 0x3fffffffffff);
- uint128_t x47 = (x45 + x43);
- uint64_t x48 = (uint64_t) (x47 >> 0x2e);
- uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffff);
- uint128_t x50 = (x48 + x42);
- uint64_t x51 = (uint64_t) (x50 >> 0x2e);
- uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffff);
- uint128_t x53 = (x51 + x41);
- uint64_t x54 = (uint64_t) (x53 >> 0x2e);
- uint64_t x55 = ((uint64_t)x53 & 0x3fffffffffff);
- uint128_t x56 = (x54 + x40);
- uint64_t x57 = (uint64_t) (x56 >> 0x2e);
- uint64_t x58 = ((uint64_t)x56 & 0x3fffffffffff);
- uint128_t x59 = (x57 + x39);
- uint64_t x60 = (uint64_t) (x59 >> 0x2e);
- uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffff);
- uint128_t x62 = (x60 + x38);
- uint64_t x63 = (uint64_t) (x62 >> 0x2e);
- uint64_t x64 = ((uint64_t)x62 & 0x3fffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x2e);
- uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x2e);
- uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffff);
- uint64_t x71 = (x46 + (0x11 * x69));
- uint64_t x72 = (x71 >> 0x2e);
- uint64_t x73 = (x71 & 0x3fffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x2e);
- uint64_t x76 = (x74 & 0x3fffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_9limbs/femulDisplay.v b/src/Specific/solinas64_2e414m17_9limbs/femulDisplay.v
deleted file mode 100644
index 2b62b2c03..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fesquare.c b/src/Specific/solinas64_2e414m17_9limbs/fesquare.c
deleted file mode 100644
index 596e43cf7..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10)))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4))))))))));
- { uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- { uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint64_t x29 = (uint64_t) (x28 >> 0x2e);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint64_t x32 = (uint64_t) (x31 >> 0x2e);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x2e);
- { uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff);
- { uint64_t x52 = (x27 + (0x11 * x50));
- { uint64_t x53 = (x52 >> 0x2e);
- { uint64_t x54 = (x52 & 0x3fffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x2e);
- { uint64_t x57 = (x55 & 0x3fffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fesquare.v b/src/Specific/solinas64_2e414m17_9limbs/fesquare.v
deleted file mode 100644
index c94ae6843..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.log
deleted file mode 100644
index add6dcff0..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10)))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4))))))))));
- uint64_t x26 = (uint64_t) (x25 >> 0x2e);
- uint64_t x27 = ((uint64_t)x25 & 0x3fffffffffff);
- uint128_t x28 = (x26 + x24);
- uint64_t x29 = (uint64_t) (x28 >> 0x2e);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffff);
- uint128_t x31 = (x29 + x23);
- uint64_t x32 = (uint64_t) (x31 >> 0x2e);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffff);
- uint128_t x34 = (x32 + x22);
- uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- uint128_t x37 = (x35 + x21);
- uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- uint128_t x40 = (x38 + x20);
- uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- uint128_t x43 = (x41 + x19);
- uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x2e);
- uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff);
- uint64_t x52 = (x27 + (0x11 * x50));
- uint64_t x53 = (x52 >> 0x2e);
- uint64_t x54 = (x52 & 0x3fffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x2e);
- uint64_t x57 = (x55 & 0x3fffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.v
deleted file mode 100644
index 26c16f457..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fesub.c b/src/Specific/solinas64_2e414m17_9limbs/fesub.c
deleted file mode 100644
index a655dc081..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0x7fffffffffde + x5) - x21);
- out[1] = ((0x7ffffffffffe + x7) - x23);
- out[2] = ((0x7ffffffffffe + x9) - x25);
- out[3] = ((0x7ffffffffffe + x11) - x27);
- out[4] = ((0x7ffffffffffe + x13) - x29);
- out[5] = ((0x7ffffffffffe + x15) - x31);
- out[6] = ((0x7ffffffffffe + x17) - x33);
- out[7] = ((0x7ffffffffffe + x19) - x35);
- out[8] = ((0x7ffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fesub.v b/src/Specific/solinas64_2e414m17_9limbs/fesub.v
deleted file mode 100644
index 9911a5d7c..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.log
deleted file mode 100644
index b87ea5ac5..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7ffffffffffe + x18) - x34), ((0x7ffffffffffe + x19) - x35), ((0x7ffffffffffe + x17) - x33), ((0x7ffffffffffe + x15) - x31), ((0x7ffffffffffe + x13) - x29), ((0x7ffffffffffe + x11) - x27), ((0x7ffffffffffe + x9) - x25), ((0x7ffffffffffe + x7) - x23), ((0x7fffffffffde + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.v
deleted file mode 100644
index c36c7dd31..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e414m17_9limbs/freeze.c b/src/Specific/solinas64_2e414m17_9limbs/freeze.c
deleted file mode 100644
index 28c8008cd..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffef);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x3fffffffffef);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x3fffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x3fffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x3fffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x3fffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x3fffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x3fffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x3fffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x3fffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e414m17_9limbs/freeze.v b/src/Specific/solinas64_2e414m17_9limbs/freeze.v
deleted file mode 100644
index 10de9168f..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.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/solinas64_2e414m17_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.log
deleted file mode 100644
index bb142d9dd..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffffffef);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x3fffffffffef);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x3fffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x3fffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x3fffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x3fffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x3fffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x3fffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x3fffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x3fffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.v
deleted file mode 100644
index 85fa4f71d..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e414m17_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e414m17_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e414m17_9limbs/py_interpreter.sh
deleted file mode 100755
index c4fc58e3c..000000000
--- a/src/Specific/solinas64_2e414m17_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**414 - 17' -Dmodulus_bytes='46' -Da24='121665'
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/CurveParameters.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/CurveParameters.v
deleted file mode 100644
index d8528c1df..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^416 - 2^208 - 1
-Base: 52
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 52;
- bitwidth := 64;
- s := 2^416;
- c := [(1, 1); (2^208, 1)];
- carry_chains := Some [[3; 7]; [4; 0; 5; 1; 6; 2; 7; 3]; [4; 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/solinas64_2e416m2e208m1_8limbs/Synthesis.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/Synthesis.v
deleted file mode 100644
index 787f818c6..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/compiler.sh b/src/Specific/solinas64_2e416m2e208m1_8limbs/compiler.sh
deleted file mode 100755
index 220bba607..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/compilerxx.sh b/src/Specific/solinas64_2e416m2e208m1_8limbs/compilerxx.sh
deleted file mode 100755
index 6362e1d20..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.c b/src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.v
deleted file mode 100644
index 142556819..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.v
deleted file mode 100644
index e7175914c..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fecarry.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/fecarry.v
deleted file mode 100644
index d3fab4c41..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/fecarryDisplay.v
deleted file mode 100644
index 5ad56c921..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/femul.c b/src/Specific/solinas64_2e416m2e208m1_8limbs/femul.c
deleted file mode 100644
index f86ca1d3f..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/femul.c
+++ /dev/null
@@ -1,81 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- { uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- { uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- { uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- { uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- { uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- { uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- { uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- { uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- { uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- { uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- { uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- { uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- { uint64_t x46 = (uint64_t) (x42 >> 0x34);
- { uint64_t x47 = ((uint64_t)x42 & 0xfffffffffffff);
- { uint64_t x48 = (uint64_t) (x35 >> 0x34);
- { uint64_t x49 = ((uint64_t)x35 & 0xfffffffffffff);
- { uint128_t x50 = (((uint128_t)0x10000000000000 * x48) + x49);
- { uint64_t x51 = (uint64_t) (x50 >> 0x34);
- { uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffff);
- { uint128_t x53 = ((x46 + x41) + x51);
- { uint64_t x54 = (uint64_t) (x53 >> 0x34);
- { uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffff);
- { uint128_t x56 = (x45 + x51);
- { uint64_t x57 = (uint64_t) (x56 >> 0x34);
- { uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffff);
- { uint128_t x59 = (x54 + x40);
- { uint64_t x60 = (uint64_t) (x59 >> 0x34);
- { uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffff);
- { uint128_t x62 = (x57 + x44);
- { uint64_t x63 = (uint64_t) (x62 >> 0x34);
- { uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffff);
- { uint128_t x65 = (x60 + x39);
- { uint64_t x66 = (uint64_t) (x65 >> 0x34);
- { uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffff);
- { uint128_t x68 = (x63 + x43);
- { uint64_t x69 = (uint64_t) (x68 >> 0x34);
- { uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffff);
- { uint64_t x71 = (x66 + x52);
- { uint64_t x72 = (x71 >> 0x34);
- { uint64_t x73 = (x71 & 0xfffffffffffff);
- { uint64_t x74 = (x69 + x47);
- { uint64_t x75 = (x74 >> 0x34);
- { uint64_t x76 = (x74 & 0xfffffffffffff);
- { uint64_t x77 = ((0x10000000000000 * x72) + x73);
- { uint64_t x78 = (x77 >> 0x34);
- { uint64_t x79 = (x77 & 0xfffffffffffff);
- { uint64_t x80 = ((x75 + x55) + x78);
- { uint64_t x81 = (x80 >> 0x34);
- { uint64_t x82 = (x80 & 0xfffffffffffff);
- { uint64_t x83 = (x58 + x78);
- { uint64_t x84 = (x83 >> 0x34);
- { uint64_t x85 = (x83 & 0xfffffffffffff);
- out[0] = x85;
- out[1] = (x84 + x64);
- out[2] = x70;
- out[3] = x76;
- out[4] = x82;
- out[5] = (x81 + x61);
- out[6] = x67;
- out[7] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/femul.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/femul.v
deleted file mode 100644
index d7d8bde2b..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/femulDisplay.log b/src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.log
deleted file mode 100644
index b80ae858e..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- uint64_t x46 = (uint64_t) (x42 >> 0x34);
- uint64_t x47 = ((uint64_t)x42 & 0xfffffffffffff);
- uint64_t x48 = (uint64_t) (x35 >> 0x34);
- uint64_t x49 = ((uint64_t)x35 & 0xfffffffffffff);
- uint128_t x50 = (((uint128_t)0x10000000000000 * x48) + x49);
- uint64_t x51 = (uint64_t) (x50 >> 0x34);
- uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffff);
- uint128_t x53 = ((x46 + x41) + x51);
- uint64_t x54 = (uint64_t) (x53 >> 0x34);
- uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffff);
- uint128_t x56 = (x45 + x51);
- uint64_t x57 = (uint64_t) (x56 >> 0x34);
- uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffff);
- uint128_t x59 = (x54 + x40);
- uint64_t x60 = (uint64_t) (x59 >> 0x34);
- uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffff);
- uint128_t x62 = (x57 + x44);
- uint64_t x63 = (uint64_t) (x62 >> 0x34);
- uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffff);
- uint128_t x65 = (x60 + x39);
- uint64_t x66 = (uint64_t) (x65 >> 0x34);
- uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffff);
- uint128_t x68 = (x63 + x43);
- uint64_t x69 = (uint64_t) (x68 >> 0x34);
- uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffff);
- uint64_t x71 = (x66 + x52);
- uint64_t x72 = (x71 >> 0x34);
- uint64_t x73 = (x71 & 0xfffffffffffff);
- uint64_t x74 = (x69 + x47);
- uint64_t x75 = (x74 >> 0x34);
- uint64_t x76 = (x74 & 0xfffffffffffff);
- uint64_t x77 = ((0x10000000000000 * x72) + x73);
- uint64_t x78 = (x77 >> 0x34);
- uint64_t x79 = (x77 & 0xfffffffffffff);
- uint64_t x80 = ((x75 + x55) + x78);
- uint64_t x81 = (x80 >> 0x34);
- uint64_t x82 = (x80 & 0xfffffffffffff);
- uint64_t x83 = (x58 + x78);
- uint64_t x84 = (x83 >> 0x34);
- uint64_t x85 = (x83 & 0xfffffffffffff);
- return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.v
deleted file mode 100644
index b4bcf0ae7..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.c b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.c
deleted file mode 100644
index 16272c033..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,73 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- { uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- { uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))));
- { uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- { uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- { uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- { uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- { uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17);
- { uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))));
- { uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15);
- { uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- { uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- { uint64_t x29 = (uint64_t) (x25 >> 0x34);
- { uint64_t x30 = ((uint64_t)x25 & 0xfffffffffffff);
- { uint64_t x31 = (uint64_t) (x18 >> 0x34);
- { uint64_t x32 = ((uint64_t)x18 & 0xfffffffffffff);
- { uint128_t x33 = (((uint128_t)0x10000000000000 * x31) + x32);
- { uint64_t x34 = (uint64_t) (x33 >> 0x34);
- { uint64_t x35 = ((uint64_t)x33 & 0xfffffffffffff);
- { uint128_t x36 = ((x29 + x24) + x34);
- { uint64_t x37 = (uint64_t) (x36 >> 0x34);
- { uint64_t x38 = ((uint64_t)x36 & 0xfffffffffffff);
- { uint128_t x39 = (x28 + x34);
- { uint64_t x40 = (uint64_t) (x39 >> 0x34);
- { uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- { uint128_t x42 = (x37 + x23);
- { uint64_t x43 = (uint64_t) (x42 >> 0x34);
- { uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff);
- { uint128_t x45 = (x40 + x27);
- { uint64_t x46 = (uint64_t) (x45 >> 0x34);
- { uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffff);
- { uint128_t x48 = (x43 + x22);
- { uint64_t x49 = (uint64_t) (x48 >> 0x34);
- { uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffff);
- { uint128_t x51 = (x46 + x26);
- { uint64_t x52 = (uint64_t) (x51 >> 0x34);
- { uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff);
- { uint64_t x54 = (x49 + x35);
- { uint64_t x55 = (x54 >> 0x34);
- { uint64_t x56 = (x54 & 0xfffffffffffff);
- { uint64_t x57 = (x52 + x30);
- { uint64_t x58 = (x57 >> 0x34);
- { uint64_t x59 = (x57 & 0xfffffffffffff);
- { uint64_t x60 = ((0x10000000000000 * x55) + x56);
- { uint64_t x61 = (x60 >> 0x34);
- { uint64_t x62 = (x60 & 0xfffffffffffff);
- { uint64_t x63 = ((x58 + x38) + x61);
- { uint64_t x64 = (x63 >> 0x34);
- { uint64_t x65 = (x63 & 0xfffffffffffff);
- { uint64_t x66 = (x41 + x61);
- { uint64_t x67 = (x66 >> 0x34);
- { uint64_t x68 = (x66 & 0xfffffffffffff);
- out[0] = x68;
- out[1] = (x67 + x47);
- out[2] = x53;
- out[3] = x59;
- out[4] = x65;
- out[5] = (x64 + x44);
- out[6] = x50;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.v
deleted file mode 100644
index b999a7185..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.log
deleted file mode 100644
index 104992b7a..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))));
- uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17);
- uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))));
- uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15);
- uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- uint64_t x29 = (uint64_t) (x25 >> 0x34);
- uint64_t x30 = ((uint64_t)x25 & 0xfffffffffffff);
- uint64_t x31 = (uint64_t) (x18 >> 0x34);
- uint64_t x32 = ((uint64_t)x18 & 0xfffffffffffff);
- uint128_t x33 = (((uint128_t)0x10000000000000 * x31) + x32);
- uint64_t x34 = (uint64_t) (x33 >> 0x34);
- uint64_t x35 = ((uint64_t)x33 & 0xfffffffffffff);
- uint128_t x36 = ((x29 + x24) + x34);
- uint64_t x37 = (uint64_t) (x36 >> 0x34);
- uint64_t x38 = ((uint64_t)x36 & 0xfffffffffffff);
- uint128_t x39 = (x28 + x34);
- uint64_t x40 = (uint64_t) (x39 >> 0x34);
- uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffff);
- uint128_t x42 = (x37 + x23);
- uint64_t x43 = (uint64_t) (x42 >> 0x34);
- uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffff);
- uint128_t x45 = (x40 + x27);
- uint64_t x46 = (uint64_t) (x45 >> 0x34);
- uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffff);
- uint128_t x48 = (x43 + x22);
- uint64_t x49 = (uint64_t) (x48 >> 0x34);
- uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffff);
- uint128_t x51 = (x46 + x26);
- uint64_t x52 = (uint64_t) (x51 >> 0x34);
- uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffff);
- uint64_t x54 = (x49 + x35);
- uint64_t x55 = (x54 >> 0x34);
- uint64_t x56 = (x54 & 0xfffffffffffff);
- uint64_t x57 = (x52 + x30);
- uint64_t x58 = (x57 >> 0x34);
- uint64_t x59 = (x57 & 0xfffffffffffff);
- uint64_t x60 = ((0x10000000000000 * x55) + x56);
- uint64_t x61 = (x60 >> 0x34);
- uint64_t x62 = (x60 & 0xfffffffffffff);
- uint64_t x63 = ((x58 + x38) + x61);
- uint64_t x64 = (x63 >> 0x34);
- uint64_t x65 = (x63 & 0xfffffffffffff);
- uint64_t x66 = (x41 + x61);
- uint64_t x67 = (x66 >> 0x34);
- uint64_t x68 = (x66 & 0xfffffffffffff);
- return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.v
deleted file mode 100644
index 69b43c499..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.c b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.c
deleted file mode 100644
index 062dbfba7..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1ffffffffffffe + x5) - x19);
- out[1] = ((0x1ffffffffffffe + x7) - x21);
- out[2] = ((0x1ffffffffffffe + x9) - x23);
- out[3] = ((0x1ffffffffffffe + x11) - x25);
- out[4] = ((0x1ffffffffffffc + x13) - x27);
- out[5] = ((0x1ffffffffffffe + x15) - x29);
- out[6] = ((0x1ffffffffffffe + x17) - x31);
- out[7] = ((0x1ffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.v
deleted file mode 100644
index 6beeb6097..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.log
deleted file mode 100644
index d2e418157..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1ffffffffffffe + x16) - x30), ((0x1ffffffffffffe + x17) - x31), ((0x1ffffffffffffe + x15) - x29), ((0x1ffffffffffffc + x13) - x27), ((0x1ffffffffffffe + x11) - x25), ((0x1ffffffffffffe + x9) - x23), ((0x1ffffffffffffe + x7) - x21), ((0x1ffffffffffffe + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.v
deleted file mode 100644
index 2b528a81e..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.c b/src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.c
deleted file mode 100644
index 9c2472af2..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffe);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xfffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xfffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xfffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xfffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffffe);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xfffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xfffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xfffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.v
deleted file mode 100644
index 8a138284c..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.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/solinas64_2e416m2e208m1_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.log
deleted file mode 100644
index 69c2c9bb3..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffe);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xfffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xfffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xfffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xfffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffffe);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xfffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xfffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xfffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.v
deleted file mode 100644
index 63753e120..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e416m2e208m1_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e416m2e208m1_8limbs/py_interpreter.sh
deleted file mode 100755
index 6071e4353..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**416 - 2**208 - 1' -Dmodulus_bytes='52' -Da24='121665'
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/CurveParameters.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/CurveParameters.v
deleted file mode 100644
index cedac9027..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^416 - 2^208 - 1
-Base: 46 + 2/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 46 + 2/9;
- bitwidth := 64;
- s := 2^416;
- c := [(1, 1); (2^208, 1)];
- carry_chains := Some [[3; 8]; [4; 0; 5; 1; 6; 2; 7; 3; 8]; [4; 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/solinas64_2e416m2e208m1_9limbs/Synthesis.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/Synthesis.v
deleted file mode 100644
index 756a7b9a7..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/compiler.sh b/src/Specific/solinas64_2e416m2e208m1_9limbs/compiler.sh
deleted file mode 100755
index f2da83ba2..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,47,46,46,46,46}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/compilerxx.sh b/src/Specific/solinas64_2e416m2e208m1_9limbs/compilerxx.sh
deleted file mode 100755
index bff5cdbb7..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/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,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{47,46,46,46,47,46,46,46,46}' -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,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}' -Dmodulus_bytes_val='52' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<416) - (1_mpz<<208) - 1' "$@"
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.c b/src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.v
deleted file mode 100644
index 4ffeda906..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.v
deleted file mode 100644
index da893766e..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/fecarry.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/fecarry.v
deleted file mode 100644
index b3bdf913c..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/fecarryDisplay.v
deleted file mode 100644
index 198474fff..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/femul.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/femul.v
deleted file mode 100644
index cf8274d11..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/femulDisplay.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/femulDisplay.v
deleted file mode 100644
index 1e28b3376..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesquare.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/fesquare.v
deleted file mode 100644
index 9a2b32d83..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/fesquareDisplay.v
deleted file mode 100644
index e2035e25b..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.c b/src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.c
deleted file mode 100644
index 684af71ed..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0xfffffffffffe + x5) - x21);
- out[1] = ((0x7ffffffffffe + x7) - x23);
- out[2] = ((0x7ffffffffffe + x9) - x25);
- out[3] = ((0x7ffffffffffe + x11) - x27);
- out[4] = ((0xfffffefffffe + x13) - x29);
- out[5] = ((0x7ffffffffffe + x15) - x31);
- out[6] = ((0x7ffffffffffe + x17) - x33);
- out[7] = ((0x7ffffffffffe + x19) - x35);
- out[8] = ((0x7ffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.v
deleted file mode 100644
index bd0cb2eef..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.log
deleted file mode 100644
index b445fd13f..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7ffffffffffe + x18) - x34), ((0x7ffffffffffe + x19) - x35), ((0x7ffffffffffe + x17) - x33), ((0x7ffffffffffe + x15) - x31), ((0xfffffefffffe + x13) - x29), ((0x7ffffffffffe + x11) - x27), ((0x7ffffffffffe + x9) - x25), ((0x7ffffffffffe + x7) - x23), ((0xfffffffffffe + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.v
deleted file mode 100644
index e665443fe..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.c b/src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.c
deleted file mode 100644
index cd35a2c42..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffff7fffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x7fffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x3fffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x3fffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x3fffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x7fffff7fffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x3fffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x3fffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x3fffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x3fffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.v
deleted file mode 100644
index a0c5a8941..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.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/solinas64_2e416m2e208m1_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.log
deleted file mode 100644
index afe8bd111..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffff7fffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x7fffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x3fffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x3fffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x3fffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x7fffff7fffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x3fffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x3fffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x3fffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x3fffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.v
deleted file mode 100644
index 91f8418bb..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e416m2e208m1_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e416m2e208m1_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e416m2e208m1_9limbs/py_interpreter.sh
deleted file mode 100755
index 268bc14e4..000000000
--- a/src/Specific/solinas64_2e416m2e208m1_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**416 - 2**208 - 1' -Dmodulus_bytes='46 + 2/9' -Da24='121665'
diff --git a/src/Specific/solinas64_2e444m17_8limbs/CurveParameters.v b/src/Specific/solinas64_2e444m17_8limbs/CurveParameters.v
deleted file mode 100644
index 3b463bfb8..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^444 - 17
-Base: 55.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 55 + 1/2;
- bitwidth := 64;
- s := 2^444;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e444m17_8limbs/Synthesis.v b/src/Specific/solinas64_2e444m17_8limbs/Synthesis.v
deleted file mode 100644
index 5aa11ee85..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/compiler.sh b/src/Specific/solinas64_2e444m17_8limbs/compiler.sh
deleted file mode 100755
index be50ba7e7..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/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='64' -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas64_2e444m17_8limbs/compilerxx.sh b/src/Specific/solinas64_2e444m17_8limbs/compilerxx.sh
deleted file mode 100755
index 11925515c..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/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='64' -Dlimb_weight_gaps_array='{56,55,56,55,56,55,56,55}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas64_2e444m17_8limbs/feadd.c b/src/Specific/solinas64_2e444m17_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_8limbs/feadd.v b/src/Specific/solinas64_2e444m17_8limbs/feadd.v
deleted file mode 100644
index 66b44fc16..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.v
deleted file mode 100644
index e3b05033b..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fecarry.v b/src/Specific/solinas64_2e444m17_8limbs/fecarry.v
deleted file mode 100644
index 15b28dd81..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e444m17_8limbs/fecarryDisplay.v
deleted file mode 100644
index 5d2384d17..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e444m17_8limbs/femul.c b/src/Specific/solinas64_2e444m17_8limbs/femul.c
deleted file mode 100644
index 5c0dca159..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint128_t x40 = (x39 >> 0x38);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint128_t x43 = (x42 >> 0x37);
- { uint64_t x44 = ((uint64_t)x42 & 0x7fffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint128_t x46 = (x45 >> 0x38);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint128_t x49 = (x48 >> 0x37);
- { uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint128_t x52 = (x51 >> 0x38);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint128_t x55 = (x54 >> 0x37);
- { uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x38);
- { uint64_t x59 = ((uint64_t)x57 & 0xffffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x37);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffffff);
- { uint128_t x63 = (x41 + ((uint128_t)0x11 * x61));
- { uint64_t x64 = (uint64_t) (x63 >> 0x38);
- { uint64_t x65 = ((uint64_t)x63 & 0xffffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x37);
- { uint64_t x68 = (x66 & 0x7fffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_8limbs/femul.v b/src/Specific/solinas64_2e444m17_8limbs/femul.v
deleted file mode 100644
index e34252016..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/femulDisplay.log b/src/Specific/solinas64_2e444m17_8limbs/femulDisplay.log
deleted file mode 100644
index 09148bf5d..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint128_t x40 = (x39 >> 0x38);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint128_t x43 = (x42 >> 0x37);
- uint64_t x44 = ((uint64_t)x42 & 0x7fffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint128_t x46 = (x45 >> 0x38);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint128_t x49 = (x48 >> 0x37);
- uint64_t x50 = ((uint64_t)x48 & 0x7fffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint128_t x52 = (x51 >> 0x38);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint128_t x55 = (x54 >> 0x37);
- uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x38);
- uint64_t x59 = ((uint64_t)x57 & 0xffffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x37);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffffff);
- uint128_t x63 = (x41 + ((uint128_t)0x11 * x61));
- uint64_t x64 = (uint64_t) (x63 >> 0x38);
- uint64_t x65 = ((uint64_t)x63 & 0xffffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x37);
- uint64_t x68 = (x66 & 0x7fffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_8limbs/femulDisplay.v b/src/Specific/solinas64_2e444m17_8limbs/femulDisplay.v
deleted file mode 100644
index bf6d16f07..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fesquare.c b/src/Specific/solinas64_2e444m17_8limbs/fesquare.c
deleted file mode 100644
index a07f1f07a..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint128_t x23 = (x22 >> 0x38);
- { uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint128_t x29 = (x28 >> 0x38);
- { uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint128_t x35 = (x34 >> 0x38);
- { uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x38);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x37);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- { uint128_t x46 = (x24 + ((uint128_t)0x11 * x44));
- { uint64_t x47 = (uint64_t) (x46 >> 0x38);
- { uint64_t x48 = ((uint64_t)x46 & 0xffffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x37);
- { uint64_t x51 = (x49 & 0x7fffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fesquare.v b/src/Specific/solinas64_2e444m17_8limbs/fesquare.v
deleted file mode 100644
index 89ed54d86..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.log
deleted file mode 100644
index 0dedb616c..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint128_t x23 = (x22 >> 0x38);
- uint64_t x24 = ((uint64_t)x22 & 0xffffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint128_t x29 = (x28 >> 0x38);
- uint64_t x30 = ((uint64_t)x28 & 0xffffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint128_t x35 = (x34 >> 0x38);
- uint64_t x36 = ((uint64_t)x34 & 0xffffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x38);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x37);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- uint128_t x46 = (x24 + ((uint128_t)0x11 * x44));
- uint64_t x47 = (uint64_t) (x46 >> 0x38);
- uint64_t x48 = ((uint64_t)x46 & 0xffffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x37);
- uint64_t x51 = (x49 & 0x7fffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.v
deleted file mode 100644
index 6f4b45f5d..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fesub.c b/src/Specific/solinas64_2e444m17_8limbs/fesub.c
deleted file mode 100644
index 2fdfd6d8c..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1ffffffffffffde + x5) - x19);
- out[1] = ((0xfffffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffffe + x9) - x23);
- out[3] = ((0xfffffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffffe + x13) - x27);
- out[5] = ((0xfffffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffffe + x17) - x31);
- out[7] = ((0xfffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fesub.v b/src/Specific/solinas64_2e444m17_8limbs/fesub.v
deleted file mode 100644
index 34e7e62a2..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.log
deleted file mode 100644
index 5278335c6..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0xfffffffffffffe + x16) - x30), ((0x1fffffffffffffe + x17) - x31), ((0xfffffffffffffe + x15) - x29), ((0x1fffffffffffffe + x13) - x27), ((0xfffffffffffffe + x11) - x25), ((0x1fffffffffffffe + x9) - x23), ((0xfffffffffffffe + x7) - x21), ((0x1ffffffffffffde + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.v
deleted file mode 100644
index a9f05892a..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e444m17_8limbs/freeze.c b/src/Specific/solinas64_2e444m17_8limbs/freeze.c
deleted file mode 100644
index 0d9ba24b8..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffef);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x7fffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x7fffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xffffffffffffef);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0x7fffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x7fffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0x7fffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x7fffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_8limbs/freeze.v b/src/Specific/solinas64_2e444m17_8limbs/freeze.v
deleted file mode 100644
index c9d6d1d8f..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.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/solinas64_2e444m17_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.log
deleted file mode 100644
index dc8ee9522..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffef);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x7fffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x7fffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x7fffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x7fffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xffffffffffffef);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0x7fffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x7fffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0x7fffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x7fffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.v
deleted file mode 100644
index 13b76cdc3..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e444m17_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e444m17_8limbs/py_interpreter.sh
deleted file mode 100755
index 2e96732a6..000000000
--- a/src/Specific/solinas64_2e444m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**444 - 17' -Dmodulus_bytes='55.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e444m17_9limbs/CurveParameters.v b/src/Specific/solinas64_2e444m17_9limbs/CurveParameters.v
deleted file mode 100644
index 651fbaaa3..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^444 - 17
-Base: 49 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 49 + 1/3;
- bitwidth := 64;
- s := 2^444;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e444m17_9limbs/Synthesis.v b/src/Specific/solinas64_2e444m17_9limbs/Synthesis.v
deleted file mode 100644
index 25a98b518..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/compiler.sh b/src/Specific/solinas64_2e444m17_9limbs/compiler.sh
deleted file mode 100755
index fe889396e..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/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='64' -Dlimb_weight_gaps_array='{50,49,49,50,49,49,50,49,49}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas64_2e444m17_9limbs/compilerxx.sh b/src/Specific/solinas64_2e444m17_9limbs/compilerxx.sh
deleted file mode 100755
index 24c95fdfd..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/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='64' -Dlimb_weight_gaps_array='{50,49,49,50,49,49,50,49,49}' -Dmodulus_array='{0x0f,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,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,0xef}' -Dmodulus_bytes_val='56' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<444) - 17' "$@"
diff --git a/src/Specific/solinas64_2e444m17_9limbs/feadd.c b/src/Specific/solinas64_2e444m17_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_9limbs/feadd.v b/src/Specific/solinas64_2e444m17_9limbs/feadd.v
deleted file mode 100644
index 4d3c5ccc3..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.v
deleted file mode 100644
index 9e602ade3..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fecarry.v b/src/Specific/solinas64_2e444m17_9limbs/fecarry.v
deleted file mode 100644
index 6291da841..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e444m17_9limbs/fecarryDisplay.v
deleted file mode 100644
index b164c8f3d..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e444m17_9limbs/femul.c b/src/Specific/solinas64_2e444m17_9limbs/femul.c
deleted file mode 100644
index be4f0fd3f..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x11 * ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35)))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + ((0x2 * ((uint128_t)x19 * x35)) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x11 * ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29))))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- { uint64_t x45 = (uint64_t) (x44 >> 0x32);
- { uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint64_t x48 = (uint64_t) (x47 >> 0x31);
- { uint64_t x49 = ((uint64_t)x47 & 0x1ffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint64_t x51 = (uint64_t) (x50 >> 0x31);
- { uint64_t x52 = ((uint64_t)x50 & 0x1ffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint64_t x54 = (uint64_t) (x53 >> 0x32);
- { uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint64_t x57 = (uint64_t) (x56 >> 0x31);
- { uint64_t x58 = ((uint64_t)x56 & 0x1ffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint64_t x60 = (uint64_t) (x59 >> 0x31);
- { uint64_t x61 = ((uint64_t)x59 & 0x1ffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint64_t x63 = (uint64_t) (x62 >> 0x32);
- { uint64_t x64 = ((uint64_t)x62 & 0x3ffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x31);
- { uint64_t x67 = ((uint64_t)x65 & 0x1ffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x31);
- { uint64_t x70 = ((uint64_t)x68 & 0x1ffffffffffff);
- { uint64_t x71 = (x46 + (0x11 * x69));
- { uint64_t x72 = (x71 >> 0x32);
- { uint64_t x73 = (x71 & 0x3ffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x31);
- { uint64_t x76 = (x74 & 0x1ffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_9limbs/femul.v b/src/Specific/solinas64_2e444m17_9limbs/femul.v
deleted file mode 100644
index 3ce978a7e..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/femulDisplay.log b/src/Specific/solinas64_2e444m17_9limbs/femulDisplay.log
deleted file mode 100644
index eceab8516..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x11 * ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35)))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + ((0x2 * ((uint128_t)x19 * x35)) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x11 * ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29))))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- uint64_t x45 = (uint64_t) (x44 >> 0x32);
- uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint64_t x48 = (uint64_t) (x47 >> 0x31);
- uint64_t x49 = ((uint64_t)x47 & 0x1ffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint64_t x51 = (uint64_t) (x50 >> 0x31);
- uint64_t x52 = ((uint64_t)x50 & 0x1ffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint64_t x54 = (uint64_t) (x53 >> 0x32);
- uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint64_t x57 = (uint64_t) (x56 >> 0x31);
- uint64_t x58 = ((uint64_t)x56 & 0x1ffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint64_t x60 = (uint64_t) (x59 >> 0x31);
- uint64_t x61 = ((uint64_t)x59 & 0x1ffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint64_t x63 = (uint64_t) (x62 >> 0x32);
- uint64_t x64 = ((uint64_t)x62 & 0x3ffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x31);
- uint64_t x67 = ((uint64_t)x65 & 0x1ffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x31);
- uint64_t x70 = ((uint64_t)x68 & 0x1ffffffffffff);
- uint64_t x71 = (x46 + (0x11 * x69));
- uint64_t x72 = (x71 >> 0x32);
- uint64_t x73 = (x71 & 0x3ffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x31);
- uint64_t x76 = (x74 & 0x1ffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_9limbs/femulDisplay.v b/src/Specific/solinas64_2e444m17_9limbs/femulDisplay.v
deleted file mode 100644
index 1c5db36dc..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fesquare.c b/src/Specific/solinas64_2e444m17_9limbs/fesquare.c
deleted file mode 100644
index d95ba3585..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16)))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + ((0x2 * ((uint128_t)x16 * x16)) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10))))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- { uint64_t x26 = (uint64_t) (x25 >> 0x32);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint64_t x32 = (uint64_t) (x31 >> 0x31);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint64_t x35 = (uint64_t) (x34 >> 0x32);
- { uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint64_t x38 = (uint64_t) (x37 >> 0x31);
- { uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint64_t x41 = (uint64_t) (x40 >> 0x31);
- { uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint64_t x44 = (uint64_t) (x43 >> 0x32);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x31);
- { uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x31);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- { uint64_t x52 = (x27 + (0x11 * x50));
- { uint64_t x53 = (x52 >> 0x32);
- { uint64_t x54 = (x52 & 0x3ffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x31);
- { uint64_t x57 = (x55 & 0x1ffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fesquare.v b/src/Specific/solinas64_2e444m17_9limbs/fesquare.v
deleted file mode 100644
index 0ce1f5222..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.log
deleted file mode 100644
index 3b35d498a..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16)))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + ((0x2 * ((uint128_t)x16 * x16)) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10))))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- uint64_t x26 = (uint64_t) (x25 >> 0x32);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint64_t x32 = (uint64_t) (x31 >> 0x31);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint64_t x35 = (uint64_t) (x34 >> 0x32);
- uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint64_t x38 = (uint64_t) (x37 >> 0x31);
- uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint64_t x41 = (uint64_t) (x40 >> 0x31);
- uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint64_t x44 = (uint64_t) (x43 >> 0x32);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x31);
- uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x31);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- uint64_t x52 = (x27 + (0x11 * x50));
- uint64_t x53 = (x52 >> 0x32);
- uint64_t x54 = (x52 & 0x3ffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x31);
- uint64_t x57 = (x55 & 0x1ffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.v
deleted file mode 100644
index ddfd2934c..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fesub.c b/src/Specific/solinas64_2e444m17_9limbs/fesub.c
deleted file mode 100644
index 0dadcf875..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0x7ffffffffffde + x5) - x21);
- out[1] = ((0x3fffffffffffe + x7) - x23);
- out[2] = ((0x3fffffffffffe + x9) - x25);
- out[3] = ((0x7fffffffffffe + x11) - x27);
- out[4] = ((0x3fffffffffffe + x13) - x29);
- out[5] = ((0x3fffffffffffe + x15) - x31);
- out[6] = ((0x7fffffffffffe + x17) - x33);
- out[7] = ((0x3fffffffffffe + x19) - x35);
- out[8] = ((0x3fffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fesub.v b/src/Specific/solinas64_2e444m17_9limbs/fesub.v
deleted file mode 100644
index 6ca41a278..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.log
deleted file mode 100644
index 869ed0113..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3fffffffffffe + x18) - x34), ((0x3fffffffffffe + x19) - x35), ((0x7fffffffffffe + x17) - x33), ((0x3fffffffffffe + x15) - x31), ((0x3fffffffffffe + x13) - x29), ((0x7fffffffffffe + x11) - x27), ((0x3fffffffffffe + x9) - x25), ((0x3fffffffffffe + x7) - x23), ((0x7ffffffffffde + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.v
deleted file mode 100644
index 2c17bd558..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e444m17_9limbs/freeze.c b/src/Specific/solinas64_2e444m17_9limbs/freeze.c
deleted file mode 100644
index f4885292d..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffef);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x3ffffffffffef);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x1ffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x1ffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x3ffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x1ffffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x1ffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x3ffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x1ffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x1ffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e444m17_9limbs/freeze.v b/src/Specific/solinas64_2e444m17_9limbs/freeze.v
deleted file mode 100644
index b1fcd1329..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.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/solinas64_2e444m17_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.log
deleted file mode 100644
index c59478f3f..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffef);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x1ffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x1ffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x1ffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x1ffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x1ffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x3ffffffffffef);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x1ffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x1ffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x3ffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x1ffffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x1ffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x3ffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x1ffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x1ffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.v
deleted file mode 100644
index 970ab79ea..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e444m17_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e444m17_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e444m17_9limbs/py_interpreter.sh
deleted file mode 100755
index f79978a5c..000000000
--- a/src/Specific/solinas64_2e444m17_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**444 - 17' -Dmodulus_bytes='49 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/CurveParameters.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/CurveParameters.v
deleted file mode 100644
index aeafa11e0..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/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: 44.8
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 44 + 4/5;
- bitwidth := 64;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := Some [[4; 9]; [5; 0; 6; 1; 7; 2; 8; 3; 9; 4]; [5; 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/solinas64_2e448m2e224m1_10limbs/Synthesis.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/Synthesis.v
deleted file mode 100644
index 5ac37f3ce..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/compiler.sh b/src/Specific/solinas64_2e448m2e224m1_10limbs/compiler.sh
deleted file mode 100755
index bd5762789..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44,45,45,45,45,44}' -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='10' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/compilerxx.sh b/src/Specific/solinas64_2e448m2e224m1_10limbs/compilerxx.sh
deleted file mode 100755
index 3ff4525a1..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/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='64' -Dlimb_weight_gaps_array='{45,45,45,45,44,45,45,45,45,44}' -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='10' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.c b/src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.v
deleted file mode 100644
index f779333c5..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.v
deleted file mode 100644
index 0076cc218..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fecarry.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/fecarry.v
deleted file mode 100644
index d11c6e74a..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index 9a34acdb7..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/femul.c b/src/Specific/solinas64_2e448m2e224m1_10limbs/femul.c
deleted file mode 100644
index 912adeb1c..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/femul.c
+++ /dev/null
@@ -1,97 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = ((0x2 * ((uint128_t)(x13 + x20) * (x31 + x38))) - (0x2 * ((uint128_t)x13 * x31)));
- { uint128_t x41 = (((0x2 * ((uint128_t)(x11 + x21) * (x31 + x38))) + (0x2 * ((uint128_t)(x13 + x20) * (x29 + x39)))) - ((0x2 * ((uint128_t)x11 * x31)) + (0x2 * ((uint128_t)x13 * x29))));
- { uint128_t x42 = (((0x2 * ((uint128_t)(x9 + x19) * (x31 + x38))) + ((0x2 * ((uint128_t)(x11 + x21) * (x29 + x39))) + (0x2 * ((uint128_t)(x13 + x20) * (x27 + x37))))) - ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (0x2 * ((uint128_t)x13 * x27)))));
- { uint128_t x43 = (((0x2 * ((uint128_t)(x7 + x17) * (x31 + x38))) + ((0x2 * ((uint128_t)(x9 + x19) * (x29 + x39))) + ((0x2 * ((uint128_t)(x11 + x21) * (x27 + x37))) + (0x2 * ((uint128_t)(x13 + x20) * (x25 + x35)))))) - ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + (0x2 * ((uint128_t)x13 * x25))))));
- { uint128_t x44 = ((((uint128_t)(x5 + x15) * (x31 + x38)) + (((uint128_t)(x7 + x17) * (x29 + x39)) + (((uint128_t)(x9 + x19) * (x27 + x37)) + (((uint128_t)(x11 + x21) * (x25 + x35)) + ((uint128_t)(x13 + x20) * (x23 + x33)))))) - (((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))));
- { uint128_t x45 = ((((uint128_t)(x5 + x15) * (x29 + x39)) + (((uint128_t)(x7 + x17) * (x27 + x37)) + (((uint128_t)(x9 + x19) * (x25 + x35)) + ((uint128_t)(x11 + x21) * (x23 + x33))))) - (((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))));
- { uint128_t x46 = ((((uint128_t)(x5 + x15) * (x27 + x37)) + (((uint128_t)(x7 + x17) * (x25 + x35)) + ((uint128_t)(x9 + x19) * (x23 + x33)))) - (((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))));
- { uint128_t x47 = ((((uint128_t)(x5 + x15) * (x25 + x35)) + ((uint128_t)(x7 + x17) * (x23 + x33))) - (((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)));
- { uint128_t x48 = (((uint128_t)(x5 + x15) * (x23 + x33)) - ((uint128_t)x5 * x23));
- { uint128_t x49 = ((((0x2 * ((uint128_t)x13 * x31)) + (0x2 * ((uint128_t)x20 * x38))) + x45) + x40);
- { uint128_t x50 = (((((0x2 * ((uint128_t)x11 * x31)) + (0x2 * ((uint128_t)x13 * x29))) + ((0x2 * ((uint128_t)x21 * x38)) + (0x2 * ((uint128_t)x20 * x39)))) + x46) + x41);
- { uint128_t x51 = (((((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (0x2 * ((uint128_t)x13 * x27)))) + ((0x2 * ((uint128_t)x19 * x38)) + ((0x2 * ((uint128_t)x21 * x39)) + (0x2 * ((uint128_t)x20 * x37))))) + x47) + x42);
- { uint128_t x52 = (((((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + (0x2 * ((uint128_t)x13 * x25))))) + ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))) + x48) + x43);
- { uint128_t x53 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- { uint128_t x54 = (((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + ((uint128_t)x21 * x33))))) + x40);
- { uint128_t x55 = (((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + ((uint128_t)x19 * x33)))) + x41);
- { uint128_t x56 = (((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x15 * x35) + ((uint128_t)x17 * x33))) + x42);
- { uint128_t x57 = ((((uint128_t)x5 * x23) + ((uint128_t)x15 * x33)) + x43);
- { uint64_t x58 = (uint64_t) (x53 >> 0x2c);
- { uint64_t x59 = ((uint64_t)x53 & 0xfffffffffff);
- { uint64_t x60 = (uint64_t) (x44 >> 0x2c);
- { uint64_t x61 = ((uint64_t)x44 & 0xfffffffffff);
- { uint128_t x62 = (((uint128_t)0x100000000000 * x60) + x61);
- { uint64_t x63 = (uint64_t) (x62 >> 0x2c);
- { uint64_t x64 = ((uint64_t)x62 & 0xfffffffffff);
- { uint128_t x65 = ((x58 + x52) + x63);
- { uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- { uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- { uint128_t x68 = (x57 + x63);
- { uint64_t x69 = (uint64_t) (x68 >> 0x2d);
- { uint64_t x70 = ((uint64_t)x68 & 0x1fffffffffff);
- { uint128_t x71 = (x66 + x51);
- { uint64_t x72 = (uint64_t) (x71 >> 0x2d);
- { uint64_t x73 = ((uint64_t)x71 & 0x1fffffffffff);
- { uint128_t x74 = (x69 + x56);
- { uint64_t x75 = (uint64_t) (x74 >> 0x2d);
- { uint64_t x76 = ((uint64_t)x74 & 0x1fffffffffff);
- { uint128_t x77 = (x72 + x50);
- { uint64_t x78 = (uint64_t) (x77 >> 0x2d);
- { uint64_t x79 = ((uint64_t)x77 & 0x1fffffffffff);
- { uint128_t x80 = (x75 + x55);
- { uint64_t x81 = (uint64_t) (x80 >> 0x2d);
- { uint64_t x82 = ((uint64_t)x80 & 0x1fffffffffff);
- { uint128_t x83 = (x78 + x49);
- { uint64_t x84 = (uint64_t) (x83 >> 0x2d);
- { uint64_t x85 = ((uint64_t)x83 & 0x1fffffffffff);
- { uint128_t x86 = (x81 + x54);
- { uint64_t x87 = (uint64_t) (x86 >> 0x2d);
- { uint64_t x88 = ((uint64_t)x86 & 0x1fffffffffff);
- { uint64_t x89 = (x84 + x64);
- { uint64_t x90 = (x89 >> 0x2c);
- { uint64_t x91 = (x89 & 0xfffffffffff);
- { uint64_t x92 = (x87 + x59);
- { uint64_t x93 = (x92 >> 0x2c);
- { uint64_t x94 = (x92 & 0xfffffffffff);
- { uint64_t x95 = ((0x100000000000 * x90) + x91);
- { uint64_t x96 = (x95 >> 0x2c);
- { uint64_t x97 = (x95 & 0xfffffffffff);
- { uint64_t x98 = ((x93 + x67) + x96);
- { uint64_t x99 = (x98 >> 0x2d);
- { uint64_t x100 = (x98 & 0x1fffffffffff);
- { uint64_t x101 = (x70 + x96);
- { uint64_t x102 = (x101 >> 0x2d);
- { uint64_t x103 = (x101 & 0x1fffffffffff);
- out[0] = x103;
- out[1] = (x102 + x76);
- out[2] = x82;
- out[3] = x88;
- out[4] = x94;
- out[5] = x100;
- out[6] = (x99 + x73);
- out[7] = x79;
- out[8] = x85;
- out[9] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/femul.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/femul.v
deleted file mode 100644
index fee16d9fe..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/femulDisplay.log b/src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.log
deleted file mode 100644
index 2f9adfad4..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = ((0x2 * ((uint128_t)(x13 + x20) * (x31 + x38))) - (0x2 * ((uint128_t)x13 * x31)));
- uint128_t x41 = (((0x2 * ((uint128_t)(x11 + x21) * (x31 + x38))) + (0x2 * ((uint128_t)(x13 + x20) * (x29 + x39)))) - ((0x2 * ((uint128_t)x11 * x31)) + (0x2 * ((uint128_t)x13 * x29))));
- uint128_t x42 = (((0x2 * ((uint128_t)(x9 + x19) * (x31 + x38))) + ((0x2 * ((uint128_t)(x11 + x21) * (x29 + x39))) + (0x2 * ((uint128_t)(x13 + x20) * (x27 + x37))))) - ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (0x2 * ((uint128_t)x13 * x27)))));
- uint128_t x43 = (((0x2 * ((uint128_t)(x7 + x17) * (x31 + x38))) + ((0x2 * ((uint128_t)(x9 + x19) * (x29 + x39))) + ((0x2 * ((uint128_t)(x11 + x21) * (x27 + x37))) + (0x2 * ((uint128_t)(x13 + x20) * (x25 + x35)))))) - ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + (0x2 * ((uint128_t)x13 * x25))))));
- uint128_t x44 = ((((uint128_t)(x5 + x15) * (x31 + x38)) + (((uint128_t)(x7 + x17) * (x29 + x39)) + (((uint128_t)(x9 + x19) * (x27 + x37)) + (((uint128_t)(x11 + x21) * (x25 + x35)) + ((uint128_t)(x13 + x20) * (x23 + x33)))))) - (((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))));
- uint128_t x45 = ((((uint128_t)(x5 + x15) * (x29 + x39)) + (((uint128_t)(x7 + x17) * (x27 + x37)) + (((uint128_t)(x9 + x19) * (x25 + x35)) + ((uint128_t)(x11 + x21) * (x23 + x33))))) - (((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))));
- uint128_t x46 = ((((uint128_t)(x5 + x15) * (x27 + x37)) + (((uint128_t)(x7 + x17) * (x25 + x35)) + ((uint128_t)(x9 + x19) * (x23 + x33)))) - (((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))));
- uint128_t x47 = ((((uint128_t)(x5 + x15) * (x25 + x35)) + ((uint128_t)(x7 + x17) * (x23 + x33))) - (((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)));
- uint128_t x48 = (((uint128_t)(x5 + x15) * (x23 + x33)) - ((uint128_t)x5 * x23));
- uint128_t x49 = ((((0x2 * ((uint128_t)x13 * x31)) + (0x2 * ((uint128_t)x20 * x38))) + x45) + x40);
- uint128_t x50 = (((((0x2 * ((uint128_t)x11 * x31)) + (0x2 * ((uint128_t)x13 * x29))) + ((0x2 * ((uint128_t)x21 * x38)) + (0x2 * ((uint128_t)x20 * x39)))) + x46) + x41);
- uint128_t x51 = (((((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + (0x2 * ((uint128_t)x13 * x27)))) + ((0x2 * ((uint128_t)x19 * x38)) + ((0x2 * ((uint128_t)x21 * x39)) + (0x2 * ((uint128_t)x20 * x37))))) + x47) + x42);
- uint128_t x52 = (((((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + (0x2 * ((uint128_t)x13 * x25))))) + ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))) + x48) + x43);
- uint128_t x53 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- uint128_t x54 = (((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + ((uint128_t)x21 * x33))))) + x40);
- uint128_t x55 = (((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + ((uint128_t)x19 * x33)))) + x41);
- uint128_t x56 = (((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x15 * x35) + ((uint128_t)x17 * x33))) + x42);
- uint128_t x57 = ((((uint128_t)x5 * x23) + ((uint128_t)x15 * x33)) + x43);
- uint64_t x58 = (uint64_t) (x53 >> 0x2c);
- uint64_t x59 = ((uint64_t)x53 & 0xfffffffffff);
- uint64_t x60 = (uint64_t) (x44 >> 0x2c);
- uint64_t x61 = ((uint64_t)x44 & 0xfffffffffff);
- uint128_t x62 = (((uint128_t)0x100000000000 * x60) + x61);
- uint64_t x63 = (uint64_t) (x62 >> 0x2c);
- uint64_t x64 = ((uint64_t)x62 & 0xfffffffffff);
- uint128_t x65 = ((x58 + x52) + x63);
- uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- uint128_t x68 = (x57 + x63);
- uint64_t x69 = (uint64_t) (x68 >> 0x2d);
- uint64_t x70 = ((uint64_t)x68 & 0x1fffffffffff);
- uint128_t x71 = (x66 + x51);
- uint64_t x72 = (uint64_t) (x71 >> 0x2d);
- uint64_t x73 = ((uint64_t)x71 & 0x1fffffffffff);
- uint128_t x74 = (x69 + x56);
- uint64_t x75 = (uint64_t) (x74 >> 0x2d);
- uint64_t x76 = ((uint64_t)x74 & 0x1fffffffffff);
- uint128_t x77 = (x72 + x50);
- uint64_t x78 = (uint64_t) (x77 >> 0x2d);
- uint64_t x79 = ((uint64_t)x77 & 0x1fffffffffff);
- uint128_t x80 = (x75 + x55);
- uint64_t x81 = (uint64_t) (x80 >> 0x2d);
- uint64_t x82 = ((uint64_t)x80 & 0x1fffffffffff);
- uint128_t x83 = (x78 + x49);
- uint64_t x84 = (uint64_t) (x83 >> 0x2d);
- uint64_t x85 = ((uint64_t)x83 & 0x1fffffffffff);
- uint128_t x86 = (x81 + x54);
- uint64_t x87 = (uint64_t) (x86 >> 0x2d);
- uint64_t x88 = ((uint64_t)x86 & 0x1fffffffffff);
- uint64_t x89 = (x84 + x64);
- uint64_t x90 = (x89 >> 0x2c);
- uint64_t x91 = (x89 & 0xfffffffffff);
- uint64_t x92 = (x87 + x59);
- uint64_t x93 = (x92 >> 0x2c);
- uint64_t x94 = (x92 & 0xfffffffffff);
- uint64_t x95 = ((0x100000000000 * x90) + x91);
- uint64_t x96 = (x95 >> 0x2c);
- uint64_t x97 = (x95 & 0xfffffffffff);
- uint64_t x98 = ((x93 + x67) + x96);
- uint64_t x99 = (x98 >> 0x2d);
- uint64_t x100 = (x98 & 0x1fffffffffff);
- uint64_t x101 = (x70 + x96);
- uint64_t x102 = (x101 >> 0x2d);
- uint64_t x103 = (x101 & 0x1fffffffffff);
- return (Return x97, Return x85, Return x79, (x99 + x73), Return x100, Return x94, Return x88, Return x82, (x102 + x76), Return x103))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.v
deleted file mode 100644
index c02273c99..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.c b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.c
deleted file mode 100644
index 0e4eb6a26..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.c
+++ /dev/null
@@ -1,87 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = ((0x2 * ((uint128_t)(x10 + x17) * (x10 + x17))) - (0x2 * ((uint128_t)x10 * x10)));
- { uint128_t x20 = (((0x2 * ((uint128_t)(x8 + x18) * (x10 + x17))) + (0x2 * ((uint128_t)(x10 + x17) * (x8 + x18)))) - ((0x2 * ((uint128_t)x8 * x10)) + (0x2 * ((uint128_t)x10 * x8))));
- { uint128_t x21 = (((0x2 * ((uint128_t)(x6 + x16) * (x10 + x17))) + ((0x2 * ((uint128_t)(x8 + x18) * (x8 + x18))) + (0x2 * ((uint128_t)(x10 + x17) * (x6 + x16))))) - ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x10 * x6)))));
- { uint128_t x22 = (((0x2 * ((uint128_t)(x4 + x14) * (x10 + x17))) + ((0x2 * ((uint128_t)(x6 + x16) * (x8 + x18))) + ((0x2 * ((uint128_t)(x8 + x18) * (x6 + x16))) + (0x2 * ((uint128_t)(x10 + x17) * (x4 + x14)))))) - ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x10 * x4))))));
- { uint128_t x23 = ((((uint128_t)(x2 + x12) * (x10 + x17)) + (((uint128_t)(x4 + x14) * (x8 + x18)) + (((uint128_t)(x6 + x16) * (x6 + x16)) + (((uint128_t)(x8 + x18) * (x4 + x14)) + ((uint128_t)(x10 + x17) * (x2 + x12)))))) - (((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))));
- { uint128_t x24 = ((((uint128_t)(x2 + x12) * (x8 + x18)) + (((uint128_t)(x4 + x14) * (x6 + x16)) + (((uint128_t)(x6 + x16) * (x4 + x14)) + ((uint128_t)(x8 + x18) * (x2 + x12))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- { uint128_t x25 = ((((uint128_t)(x2 + x12) * (x6 + x16)) + (((uint128_t)(x4 + x14) * (x4 + x14)) + ((uint128_t)(x6 + x16) * (x2 + x12)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x26 = ((((uint128_t)(x2 + x12) * (x4 + x14)) + ((uint128_t)(x4 + x14) * (x2 + x12))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x27 = (((uint128_t)(x2 + x12) * (x2 + x12)) - ((uint128_t)x2 * x2));
- { uint128_t x28 = ((((0x2 * ((uint128_t)x10 * x10)) + (0x2 * ((uint128_t)x17 * x17))) + x24) + x19);
- { uint128_t x29 = (((((0x2 * ((uint128_t)x8 * x10)) + (0x2 * ((uint128_t)x10 * x8))) + ((0x2 * ((uint128_t)x18 * x17)) + (0x2 * ((uint128_t)x17 * x18)))) + x25) + x20);
- { uint128_t x30 = (((((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x10 * x6)))) + ((0x2 * ((uint128_t)x16 * x17)) + ((0x2 * ((uint128_t)x18 * x18)) + (0x2 * ((uint128_t)x17 * x16))))) + x26) + x21);
- { uint128_t x31 = (((((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x10 * x4))))) + ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))) + x27) + x22);
- { uint128_t x32 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- { uint128_t x33 = (((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x18 * x12))))) + x19);
- { uint128_t x34 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + ((uint128_t)x16 * x12)))) + x20);
- { uint128_t x35 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x12 * x14) + ((uint128_t)x14 * x12))) + x21);
- { uint128_t x36 = ((((uint128_t)x2 * x2) + ((uint128_t)x12 * x12)) + x22);
- { uint64_t x37 = (uint64_t) (x32 >> 0x2c);
- { uint64_t x38 = ((uint64_t)x32 & 0xfffffffffff);
- { uint64_t x39 = (uint64_t) (x23 >> 0x2c);
- { uint64_t x40 = ((uint64_t)x23 & 0xfffffffffff);
- { uint128_t x41 = (((uint128_t)0x100000000000 * x39) + x40);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2c);
- { uint64_t x43 = ((uint64_t)x41 & 0xfffffffffff);
- { uint128_t x44 = ((x37 + x31) + x42);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2d);
- { uint64_t x46 = ((uint64_t)x44 & 0x1fffffffffff);
- { uint128_t x47 = (x36 + x42);
- { uint64_t x48 = (uint64_t) (x47 >> 0x2d);
- { uint64_t x49 = ((uint64_t)x47 & 0x1fffffffffff);
- { uint128_t x50 = (x45 + x30);
- { uint64_t x51 = (uint64_t) (x50 >> 0x2d);
- { uint64_t x52 = ((uint64_t)x50 & 0x1fffffffffff);
- { uint128_t x53 = (x48 + x35);
- { uint64_t x54 = (uint64_t) (x53 >> 0x2d);
- { uint64_t x55 = ((uint64_t)x53 & 0x1fffffffffff);
- { uint128_t x56 = (x51 + x29);
- { uint64_t x57 = (uint64_t) (x56 >> 0x2d);
- { uint64_t x58 = ((uint64_t)x56 & 0x1fffffffffff);
- { uint128_t x59 = (x54 + x34);
- { uint64_t x60 = (uint64_t) (x59 >> 0x2d);
- { uint64_t x61 = ((uint64_t)x59 & 0x1fffffffffff);
- { uint128_t x62 = (x57 + x28);
- { uint64_t x63 = (uint64_t) (x62 >> 0x2d);
- { uint64_t x64 = ((uint64_t)x62 & 0x1fffffffffff);
- { uint128_t x65 = (x60 + x33);
- { uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- { uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- { uint64_t x68 = (x63 + x43);
- { uint64_t x69 = (x68 >> 0x2c);
- { uint64_t x70 = (x68 & 0xfffffffffff);
- { uint64_t x71 = (x66 + x38);
- { uint64_t x72 = (x71 >> 0x2c);
- { uint64_t x73 = (x71 & 0xfffffffffff);
- { uint64_t x74 = ((0x100000000000 * x69) + x70);
- { uint64_t x75 = (x74 >> 0x2c);
- { uint64_t x76 = (x74 & 0xfffffffffff);
- { uint64_t x77 = ((x72 + x46) + x75);
- { uint64_t x78 = (x77 >> 0x2d);
- { uint64_t x79 = (x77 & 0x1fffffffffff);
- { uint64_t x80 = (x49 + x75);
- { uint64_t x81 = (x80 >> 0x2d);
- { uint64_t x82 = (x80 & 0x1fffffffffff);
- out[0] = x82;
- out[1] = (x81 + x55);
- out[2] = x61;
- out[3] = x67;
- out[4] = x73;
- out[5] = x79;
- out[6] = (x78 + x52);
- out[7] = x58;
- out[8] = x64;
- out[9] = x76;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.v
deleted file mode 100644
index 30028e25a..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.log
deleted file mode 100644
index acb7ee4ed..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = ((0x2 * ((uint128_t)(x10 + x17) * (x10 + x17))) - (0x2 * ((uint128_t)x10 * x10)));
- uint128_t x20 = (((0x2 * ((uint128_t)(x8 + x18) * (x10 + x17))) + (0x2 * ((uint128_t)(x10 + x17) * (x8 + x18)))) - ((0x2 * ((uint128_t)x8 * x10)) + (0x2 * ((uint128_t)x10 * x8))));
- uint128_t x21 = (((0x2 * ((uint128_t)(x6 + x16) * (x10 + x17))) + ((0x2 * ((uint128_t)(x8 + x18) * (x8 + x18))) + (0x2 * ((uint128_t)(x10 + x17) * (x6 + x16))))) - ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x10 * x6)))));
- uint128_t x22 = (((0x2 * ((uint128_t)(x4 + x14) * (x10 + x17))) + ((0x2 * ((uint128_t)(x6 + x16) * (x8 + x18))) + ((0x2 * ((uint128_t)(x8 + x18) * (x6 + x16))) + (0x2 * ((uint128_t)(x10 + x17) * (x4 + x14)))))) - ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x10 * x4))))));
- uint128_t x23 = ((((uint128_t)(x2 + x12) * (x10 + x17)) + (((uint128_t)(x4 + x14) * (x8 + x18)) + (((uint128_t)(x6 + x16) * (x6 + x16)) + (((uint128_t)(x8 + x18) * (x4 + x14)) + ((uint128_t)(x10 + x17) * (x2 + x12)))))) - (((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))));
- uint128_t x24 = ((((uint128_t)(x2 + x12) * (x8 + x18)) + (((uint128_t)(x4 + x14) * (x6 + x16)) + (((uint128_t)(x6 + x16) * (x4 + x14)) + ((uint128_t)(x8 + x18) * (x2 + x12))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- uint128_t x25 = ((((uint128_t)(x2 + x12) * (x6 + x16)) + (((uint128_t)(x4 + x14) * (x4 + x14)) + ((uint128_t)(x6 + x16) * (x2 + x12)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x26 = ((((uint128_t)(x2 + x12) * (x4 + x14)) + ((uint128_t)(x4 + x14) * (x2 + x12))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x27 = (((uint128_t)(x2 + x12) * (x2 + x12)) - ((uint128_t)x2 * x2));
- uint128_t x28 = ((((0x2 * ((uint128_t)x10 * x10)) + (0x2 * ((uint128_t)x17 * x17))) + x24) + x19);
- uint128_t x29 = (((((0x2 * ((uint128_t)x8 * x10)) + (0x2 * ((uint128_t)x10 * x8))) + ((0x2 * ((uint128_t)x18 * x17)) + (0x2 * ((uint128_t)x17 * x18)))) + x25) + x20);
- uint128_t x30 = (((((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + (0x2 * ((uint128_t)x10 * x6)))) + ((0x2 * ((uint128_t)x16 * x17)) + ((0x2 * ((uint128_t)x18 * x18)) + (0x2 * ((uint128_t)x17 * x16))))) + x26) + x21);
- uint128_t x31 = (((((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + (0x2 * ((uint128_t)x10 * x4))))) + ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))) + x27) + x22);
- uint128_t x32 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- uint128_t x33 = (((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x18 * x12))))) + x19);
- uint128_t x34 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + ((uint128_t)x16 * x12)))) + x20);
- uint128_t x35 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x12 * x14) + ((uint128_t)x14 * x12))) + x21);
- uint128_t x36 = ((((uint128_t)x2 * x2) + ((uint128_t)x12 * x12)) + x22);
- uint64_t x37 = (uint64_t) (x32 >> 0x2c);
- uint64_t x38 = ((uint64_t)x32 & 0xfffffffffff);
- uint64_t x39 = (uint64_t) (x23 >> 0x2c);
- uint64_t x40 = ((uint64_t)x23 & 0xfffffffffff);
- uint128_t x41 = (((uint128_t)0x100000000000 * x39) + x40);
- uint64_t x42 = (uint64_t) (x41 >> 0x2c);
- uint64_t x43 = ((uint64_t)x41 & 0xfffffffffff);
- uint128_t x44 = ((x37 + x31) + x42);
- uint64_t x45 = (uint64_t) (x44 >> 0x2d);
- uint64_t x46 = ((uint64_t)x44 & 0x1fffffffffff);
- uint128_t x47 = (x36 + x42);
- uint64_t x48 = (uint64_t) (x47 >> 0x2d);
- uint64_t x49 = ((uint64_t)x47 & 0x1fffffffffff);
- uint128_t x50 = (x45 + x30);
- uint64_t x51 = (uint64_t) (x50 >> 0x2d);
- uint64_t x52 = ((uint64_t)x50 & 0x1fffffffffff);
- uint128_t x53 = (x48 + x35);
- uint64_t x54 = (uint64_t) (x53 >> 0x2d);
- uint64_t x55 = ((uint64_t)x53 & 0x1fffffffffff);
- uint128_t x56 = (x51 + x29);
- uint64_t x57 = (uint64_t) (x56 >> 0x2d);
- uint64_t x58 = ((uint64_t)x56 & 0x1fffffffffff);
- uint128_t x59 = (x54 + x34);
- uint64_t x60 = (uint64_t) (x59 >> 0x2d);
- uint64_t x61 = ((uint64_t)x59 & 0x1fffffffffff);
- uint128_t x62 = (x57 + x28);
- uint64_t x63 = (uint64_t) (x62 >> 0x2d);
- uint64_t x64 = ((uint64_t)x62 & 0x1fffffffffff);
- uint128_t x65 = (x60 + x33);
- uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- uint64_t x68 = (x63 + x43);
- uint64_t x69 = (x68 >> 0x2c);
- uint64_t x70 = (x68 & 0xfffffffffff);
- uint64_t x71 = (x66 + x38);
- uint64_t x72 = (x71 >> 0x2c);
- uint64_t x73 = (x71 & 0xfffffffffff);
- uint64_t x74 = ((0x100000000000 * x69) + x70);
- uint64_t x75 = (x74 >> 0x2c);
- uint64_t x76 = (x74 & 0xfffffffffff);
- uint64_t x77 = ((x72 + x46) + x75);
- uint64_t x78 = (x77 >> 0x2d);
- uint64_t x79 = (x77 & 0x1fffffffffff);
- uint64_t x80 = (x49 + x75);
- uint64_t x81 = (x80 >> 0x2d);
- uint64_t x82 = (x80 & 0x1fffffffffff);
- return (Return x76, Return x64, Return x58, (x78 + x52), Return x79, Return x73, Return x67, Return x61, (x81 + x55), Return x82))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index 8a5163cb5..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.c b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.c
deleted file mode 100644
index ebbdb28d8..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x3ffffffffffe + x5) - x23);
- out[1] = ((0x3ffffffffffe + x7) - x25);
- out[2] = ((0x3ffffffffffe + x9) - x27);
- out[3] = ((0x3ffffffffffe + x11) - x29);
- out[4] = ((0x1ffffffffffe + x13) - x31);
- out[5] = ((0x3ffffffffffc + x15) - x33);
- out[6] = ((0x3ffffffffffe + x17) - x35);
- out[7] = ((0x3ffffffffffe + x19) - x37);
- out[8] = ((0x3ffffffffffe + x21) - x39);
- out[9] = ((0x1ffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.v
deleted file mode 100644
index c9380077b..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.log
deleted file mode 100644
index 65de26904..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x1ffffffffffe + x20) - x38), ((0x3ffffffffffe + x21) - x39), ((0x3ffffffffffe + x19) - x37), ((0x3ffffffffffe + x17) - x35), ((0x3ffffffffffc + x15) - x33), ((0x1ffffffffffe + x13) - x31), ((0x3ffffffffffe + x11) - x29), ((0x3ffffffffffe + x9) - x27), ((0x3ffffffffffe + x7) - x25), ((0x3ffffffffffe + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.v
deleted file mode 100644
index 3555ad2f7..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.c b/src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.c
deleted file mode 100644
index 1316bd720..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1fffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1fffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xfffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffe);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1fffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1fffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xfffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x1fffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x1fffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0x1fffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0x1fffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0xfffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0x1ffffffffffe);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x1fffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0x1fffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0x1fffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0xfffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.v
deleted file mode 100644
index 5585530a5..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.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/solinas64_2e448m2e224m1_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.log
deleted file mode 100644
index c5a23997a..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1fffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1fffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xfffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffe);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1fffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1fffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xfffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x1fffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x1fffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0x1fffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0x1fffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0xfffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0x1ffffffffffe);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x1fffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0x1fffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0x1fffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0xfffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 44 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.v
deleted file mode 100644
index 88df95057..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e448m2e224m1_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e448m2e224m1_10limbs/py_interpreter.sh
deleted file mode 100755
index 2b218dea9..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_10limbs/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='44.8' -Da24='121665'
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/CurveParameters.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/CurveParameters.v
deleted file mode 100644
index 4c48e54cc..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/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: 56
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 56;
- bitwidth := 64;
- s := 2^448;
- c := [(1, 1); (2^224, 1)];
- carry_chains := Some [[3; 7]; [4; 0; 5; 1; 6; 2; 7; 3]; [4; 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/solinas64_2e448m2e224m1_8limbs/Synthesis.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/Synthesis.v
deleted file mode 100644
index 36861b97b..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/compiler.sh b/src/Specific/solinas64_2e448m2e224m1_8limbs/compiler.sh
deleted file mode 100755
index 8eb54735e..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/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='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -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='8' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/compilerxx.sh b/src/Specific/solinas64_2e448m2e224m1_8limbs/compilerxx.sh
deleted file mode 100755
index e5924001d..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/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='64' -Dlimb_weight_gaps_array='{56,56,56,56,56,56,56,56}' -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='8' -Dq_mpz='(1_mpz<<448) - (1_mpz<<224) - 1' "$@"
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.c b/src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.v
deleted file mode 100644
index 1f9e8f276..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.v
deleted file mode 100644
index b1f971338..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fecarry.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/fecarry.v
deleted file mode 100644
index c9e425adc..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/fecarryDisplay.v
deleted file mode 100644
index 5097e0eed..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/femul.c b/src/Specific/solinas64_2e448m2e224m1_8limbs/femul.c
deleted file mode 100644
index 9dc18d44a..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/femul.c
+++ /dev/null
@@ -1,81 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- { uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- { uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- { uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- { uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- { uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- { uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- { uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- { uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- { uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- { uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- { uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- { uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- { uint64_t x46 = (uint64_t) (x42 >> 0x38);
- { uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff);
- { uint64_t x48 = (uint64_t) (x35 >> 0x38);
- { uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff);
- { uint128_t x50 = (((uint128_t)0x100000000000000 * x48) + x49);
- { uint64_t x51 = (uint64_t) (x50 >> 0x38);
- { uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff);
- { uint128_t x53 = ((x46 + x41) + x51);
- { uint64_t x54 = (uint64_t) (x53 >> 0x38);
- { uint64_t x55 = ((uint64_t)x53 & 0xffffffffffffff);
- { uint128_t x56 = (x45 + x51);
- { uint64_t x57 = (uint64_t) (x56 >> 0x38);
- { uint64_t x58 = ((uint64_t)x56 & 0xffffffffffffff);
- { uint128_t x59 = (x54 + x40);
- { uint64_t x60 = (uint64_t) (x59 >> 0x38);
- { uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff);
- { uint128_t x62 = (x57 + x44);
- { uint64_t x63 = (uint64_t) (x62 >> 0x38);
- { uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff);
- { uint128_t x65 = (x60 + x39);
- { uint64_t x66 = (uint64_t) (x65 >> 0x38);
- { uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff);
- { uint128_t x68 = (x63 + x43);
- { uint64_t x69 = (uint64_t) (x68 >> 0x38);
- { uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff);
- { uint64_t x71 = (x66 + x52);
- { uint64_t x72 = (x71 >> 0x38);
- { uint64_t x73 = (x71 & 0xffffffffffffff);
- { uint64_t x74 = (x69 + x47);
- { uint64_t x75 = (x74 >> 0x38);
- { uint64_t x76 = (x74 & 0xffffffffffffff);
- { uint64_t x77 = ((0x100000000000000 * x72) + x73);
- { uint64_t x78 = (x77 >> 0x38);
- { uint64_t x79 = (x77 & 0xffffffffffffff);
- { uint64_t x80 = ((x75 + x55) + x78);
- { uint64_t x81 = (x80 >> 0x38);
- { uint64_t x82 = (x80 & 0xffffffffffffff);
- { uint64_t x83 = (x58 + x78);
- { uint64_t x84 = (x83 >> 0x38);
- { uint64_t x85 = (x83 & 0xffffffffffffff);
- out[0] = x85;
- out[1] = (x84 + x64);
- out[2] = x70;
- out[3] = x76;
- out[4] = x82;
- out[5] = (x81 + x61);
- out[6] = x67;
- out[7] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/femul.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/femul.v
deleted file mode 100644
index 592ff9742..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/femulDisplay.log b/src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.log
deleted file mode 100644
index f2d1600ca..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- uint64_t x46 = (uint64_t) (x42 >> 0x38);
- uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff);
- uint64_t x48 = (uint64_t) (x35 >> 0x38);
- uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff);
- uint128_t x50 = (((uint128_t)0x100000000000000 * x48) + x49);
- uint64_t x51 = (uint64_t) (x50 >> 0x38);
- uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff);
- uint128_t x53 = ((x46 + x41) + x51);
- uint64_t x54 = (uint64_t) (x53 >> 0x38);
- uint64_t x55 = ((uint64_t)x53 & 0xffffffffffffff);
- uint128_t x56 = (x45 + x51);
- uint64_t x57 = (uint64_t) (x56 >> 0x38);
- uint64_t x58 = ((uint64_t)x56 & 0xffffffffffffff);
- uint128_t x59 = (x54 + x40);
- uint64_t x60 = (uint64_t) (x59 >> 0x38);
- uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff);
- uint128_t x62 = (x57 + x44);
- uint64_t x63 = (uint64_t) (x62 >> 0x38);
- uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff);
- uint128_t x65 = (x60 + x39);
- uint64_t x66 = (uint64_t) (x65 >> 0x38);
- uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff);
- uint128_t x68 = (x63 + x43);
- uint64_t x69 = (uint64_t) (x68 >> 0x38);
- uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff);
- uint64_t x71 = (x66 + x52);
- uint64_t x72 = (x71 >> 0x38);
- uint64_t x73 = (x71 & 0xffffffffffffff);
- uint64_t x74 = (x69 + x47);
- uint64_t x75 = (x74 >> 0x38);
- uint64_t x76 = (x74 & 0xffffffffffffff);
- uint64_t x77 = ((0x100000000000000 * x72) + x73);
- uint64_t x78 = (x77 >> 0x38);
- uint64_t x79 = (x77 & 0xffffffffffffff);
- uint64_t x80 = ((x75 + x55) + x78);
- uint64_t x81 = (x80 >> 0x38);
- uint64_t x82 = (x80 & 0xffffffffffffff);
- uint64_t x83 = (x58 + x78);
- uint64_t x84 = (x83 >> 0x38);
- uint64_t x85 = (x83 & 0xffffffffffffff);
- return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.v
deleted file mode 100644
index 00e215c0a..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.c b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.c
deleted file mode 100644
index cfb66f0aa..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,73 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- { uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- { uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))));
- { uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- { uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- { uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- { uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- { uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17);
- { uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))));
- { uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15);
- { uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- { uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- { uint64_t x29 = (uint64_t) (x25 >> 0x38);
- { uint64_t x30 = ((uint64_t)x25 & 0xffffffffffffff);
- { uint64_t x31 = (uint64_t) (x18 >> 0x38);
- { uint64_t x32 = ((uint64_t)x18 & 0xffffffffffffff);
- { uint128_t x33 = (((uint128_t)0x100000000000000 * x31) + x32);
- { uint64_t x34 = (uint64_t) (x33 >> 0x38);
- { uint64_t x35 = ((uint64_t)x33 & 0xffffffffffffff);
- { uint128_t x36 = ((x29 + x24) + x34);
- { uint64_t x37 = (uint64_t) (x36 >> 0x38);
- { uint64_t x38 = ((uint64_t)x36 & 0xffffffffffffff);
- { uint128_t x39 = (x28 + x34);
- { uint64_t x40 = (uint64_t) (x39 >> 0x38);
- { uint64_t x41 = ((uint64_t)x39 & 0xffffffffffffff);
- { uint128_t x42 = (x37 + x23);
- { uint64_t x43 = (uint64_t) (x42 >> 0x38);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff);
- { uint128_t x45 = (x40 + x27);
- { uint64_t x46 = (uint64_t) (x45 >> 0x38);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff);
- { uint128_t x48 = (x43 + x22);
- { uint64_t x49 = (uint64_t) (x48 >> 0x38);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff);
- { uint128_t x51 = (x46 + x26);
- { uint64_t x52 = (uint64_t) (x51 >> 0x38);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff);
- { uint64_t x54 = (x49 + x35);
- { uint64_t x55 = (x54 >> 0x38);
- { uint64_t x56 = (x54 & 0xffffffffffffff);
- { uint64_t x57 = (x52 + x30);
- { uint64_t x58 = (x57 >> 0x38);
- { uint64_t x59 = (x57 & 0xffffffffffffff);
- { uint64_t x60 = ((0x100000000000000 * x55) + x56);
- { uint64_t x61 = (x60 >> 0x38);
- { uint64_t x62 = (x60 & 0xffffffffffffff);
- { uint64_t x63 = ((x58 + x38) + x61);
- { uint64_t x64 = (x63 >> 0x38);
- { uint64_t x65 = (x63 & 0xffffffffffffff);
- { uint64_t x66 = (x41 + x61);
- { uint64_t x67 = (x66 >> 0x38);
- { uint64_t x68 = (x66 & 0xffffffffffffff);
- out[0] = x68;
- out[1] = (x67 + x47);
- out[2] = x53;
- out[3] = x59;
- out[4] = x65;
- out[5] = (x64 + x44);
- out[6] = x50;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.v
deleted file mode 100644
index c2686f12d..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.log
deleted file mode 100644
index 786925670..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))));
- uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17);
- uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))));
- uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15);
- uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- uint64_t x29 = (uint64_t) (x25 >> 0x38);
- uint64_t x30 = ((uint64_t)x25 & 0xffffffffffffff);
- uint64_t x31 = (uint64_t) (x18 >> 0x38);
- uint64_t x32 = ((uint64_t)x18 & 0xffffffffffffff);
- uint128_t x33 = (((uint128_t)0x100000000000000 * x31) + x32);
- uint64_t x34 = (uint64_t) (x33 >> 0x38);
- uint64_t x35 = ((uint64_t)x33 & 0xffffffffffffff);
- uint128_t x36 = ((x29 + x24) + x34);
- uint64_t x37 = (uint64_t) (x36 >> 0x38);
- uint64_t x38 = ((uint64_t)x36 & 0xffffffffffffff);
- uint128_t x39 = (x28 + x34);
- uint64_t x40 = (uint64_t) (x39 >> 0x38);
- uint64_t x41 = ((uint64_t)x39 & 0xffffffffffffff);
- uint128_t x42 = (x37 + x23);
- uint64_t x43 = (uint64_t) (x42 >> 0x38);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff);
- uint128_t x45 = (x40 + x27);
- uint64_t x46 = (uint64_t) (x45 >> 0x38);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff);
- uint128_t x48 = (x43 + x22);
- uint64_t x49 = (uint64_t) (x48 >> 0x38);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff);
- uint128_t x51 = (x46 + x26);
- uint64_t x52 = (uint64_t) (x51 >> 0x38);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff);
- uint64_t x54 = (x49 + x35);
- uint64_t x55 = (x54 >> 0x38);
- uint64_t x56 = (x54 & 0xffffffffffffff);
- uint64_t x57 = (x52 + x30);
- uint64_t x58 = (x57 >> 0x38);
- uint64_t x59 = (x57 & 0xffffffffffffff);
- uint64_t x60 = ((0x100000000000000 * x55) + x56);
- uint64_t x61 = (x60 >> 0x38);
- uint64_t x62 = (x60 & 0xffffffffffffff);
- uint64_t x63 = ((x58 + x38) + x61);
- uint64_t x64 = (x63 >> 0x38);
- uint64_t x65 = (x63 & 0xffffffffffffff);
- uint64_t x66 = (x41 + x61);
- uint64_t x67 = (x66 >> 0x38);
- uint64_t x68 = (x66 & 0xffffffffffffff);
- return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.v
deleted file mode 100644
index 33de1471b..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.c b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.c
deleted file mode 100644
index d42ae623f..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1fffffffffffffe + x5) - x19);
- out[1] = ((0x1fffffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffffe + x11) - x25);
- out[4] = ((0x1fffffffffffffc + x13) - x27);
- out[5] = ((0x1fffffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffffe + x17) - x31);
- out[7] = ((0x1fffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.v
deleted file mode 100644
index b71d56ca2..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.log
deleted file mode 100644
index 35a6385e4..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffffffffffe + x16) - x30), ((0x1fffffffffffffe + x17) - x31), ((0x1fffffffffffffe + x15) - x29), ((0x1fffffffffffffc + x13) - x27), ((0x1fffffffffffffe + x11) - x25), ((0x1fffffffffffffe + x9) - x23), ((0x1fffffffffffffe + x7) - x21), ((0x1fffffffffffffe + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.v
deleted file mode 100644
index eb1301c72..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.c b/src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.c
deleted file mode 100644
index e59953182..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffffffffffe);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xffffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xfffffffffffffe);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xffffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.v
deleted file mode 100644
index 36590c4fa..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.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/solinas64_2e448m2e224m1_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.log
deleted file mode 100644
index 1dfd2b0cb..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xfffffffffffffe);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xffffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xfffffffffffffe);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xffffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.v
deleted file mode 100644
index 78dfadc9f..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e448m2e224m1_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e448m2e224m1_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e448m2e224m1_8limbs/py_interpreter.sh
deleted file mode 100755
index afd8e8956..000000000
--- a/src/Specific/solinas64_2e448m2e224m1_8limbs/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='56' -Da24='121665'
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/CurveParameters.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/CurveParameters.v
deleted file mode 100644
index 497a47cc6..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^450 - 2^225 - 1
-Base: 45
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 45;
- bitwidth := 64;
- s := 2^450;
- c := [(1, 1); (2^225, 1)];
- carry_chains := Some [[4; 9]; [5; 0; 6; 1; 7; 2; 8; 3; 9; 4]; [5; 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/solinas64_2e450m2e225m1_10limbs/Synthesis.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/Synthesis.v
deleted file mode 100644
index 595a7df5c..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/compiler.sh b/src/Specific/solinas64_2e450m2e225m1_10limbs/compiler.sh
deleted file mode 100755
index ce44e3051..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,45,45,45,45,45,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/compilerxx.sh b/src/Specific/solinas64_2e450m2e225m1_10limbs/compilerxx.sh
deleted file mode 100755
index 07c3ee06c..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{45,45,45,45,45,45,45,45,45,45}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.c b/src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.v
deleted file mode 100644
index cf575fc02..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.v
deleted file mode 100644
index 2ca3de98d..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fecarry.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/fecarry.v
deleted file mode 100644
index 071da9240..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index 7a1514b26..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/femul.c b/src/Specific/solinas64_2e450m2e225m1_10limbs/femul.c
deleted file mode 100644
index bab1f14b7..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/femul.c
+++ /dev/null
@@ -1,97 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)(x13 + x20) * (x31 + x38)) - ((uint128_t)x13 * x31));
- { uint128_t x41 = ((((uint128_t)(x11 + x21) * (x31 + x38)) + ((uint128_t)(x13 + x20) * (x29 + x39))) - (((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)));
- { uint128_t x42 = ((((uint128_t)(x9 + x19) * (x31 + x38)) + (((uint128_t)(x11 + x21) * (x29 + x39)) + ((uint128_t)(x13 + x20) * (x27 + x37)))) - (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))));
- { uint128_t x43 = ((((uint128_t)(x7 + x17) * (x31 + x38)) + (((uint128_t)(x9 + x19) * (x29 + x39)) + (((uint128_t)(x11 + x21) * (x27 + x37)) + ((uint128_t)(x13 + x20) * (x25 + x35))))) - (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))));
- { uint128_t x44 = ((((uint128_t)(x5 + x15) * (x31 + x38)) + (((uint128_t)(x7 + x17) * (x29 + x39)) + (((uint128_t)(x9 + x19) * (x27 + x37)) + (((uint128_t)(x11 + x21) * (x25 + x35)) + ((uint128_t)(x13 + x20) * (x23 + x33)))))) - (((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))));
- { uint128_t x45 = ((((uint128_t)(x5 + x15) * (x29 + x39)) + (((uint128_t)(x7 + x17) * (x27 + x37)) + (((uint128_t)(x9 + x19) * (x25 + x35)) + ((uint128_t)(x11 + x21) * (x23 + x33))))) - (((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))));
- { uint128_t x46 = ((((uint128_t)(x5 + x15) * (x27 + x37)) + (((uint128_t)(x7 + x17) * (x25 + x35)) + ((uint128_t)(x9 + x19) * (x23 + x33)))) - (((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))));
- { uint128_t x47 = ((((uint128_t)(x5 + x15) * (x25 + x35)) + ((uint128_t)(x7 + x17) * (x23 + x33))) - (((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)));
- { uint128_t x48 = (((uint128_t)(x5 + x15) * (x23 + x33)) - ((uint128_t)x5 * x23));
- { uint128_t x49 = (((((uint128_t)x13 * x31) + ((uint128_t)x20 * x38)) + x45) + x40);
- { uint128_t x50 = ((((((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)) + (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))) + x46) + x41);
- { uint128_t x51 = ((((((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))) + (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))) + x47) + x42);
- { uint128_t x52 = ((((((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))) + (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))) + x48) + x43);
- { uint128_t x53 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- { uint128_t x54 = (((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + ((uint128_t)x21 * x33))))) + x40);
- { uint128_t x55 = (((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + ((uint128_t)x19 * x33)))) + x41);
- { uint128_t x56 = (((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x15 * x35) + ((uint128_t)x17 * x33))) + x42);
- { uint128_t x57 = ((((uint128_t)x5 * x23) + ((uint128_t)x15 * x33)) + x43);
- { uint64_t x58 = (uint64_t) (x53 >> 0x2d);
- { uint64_t x59 = ((uint64_t)x53 & 0x1fffffffffff);
- { uint64_t x60 = (uint64_t) (x44 >> 0x2d);
- { uint64_t x61 = ((uint64_t)x44 & 0x1fffffffffff);
- { uint128_t x62 = (((uint128_t)0x200000000000 * x60) + x61);
- { uint64_t x63 = (uint64_t) (x62 >> 0x2d);
- { uint64_t x64 = ((uint64_t)x62 & 0x1fffffffffff);
- { uint128_t x65 = ((x58 + x52) + x63);
- { uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- { uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- { uint128_t x68 = (x57 + x63);
- { uint64_t x69 = (uint64_t) (x68 >> 0x2d);
- { uint64_t x70 = ((uint64_t)x68 & 0x1fffffffffff);
- { uint128_t x71 = (x66 + x51);
- { uint64_t x72 = (uint64_t) (x71 >> 0x2d);
- { uint64_t x73 = ((uint64_t)x71 & 0x1fffffffffff);
- { uint128_t x74 = (x69 + x56);
- { uint64_t x75 = (uint64_t) (x74 >> 0x2d);
- { uint64_t x76 = ((uint64_t)x74 & 0x1fffffffffff);
- { uint128_t x77 = (x72 + x50);
- { uint64_t x78 = (uint64_t) (x77 >> 0x2d);
- { uint64_t x79 = ((uint64_t)x77 & 0x1fffffffffff);
- { uint128_t x80 = (x75 + x55);
- { uint64_t x81 = (uint64_t) (x80 >> 0x2d);
- { uint64_t x82 = ((uint64_t)x80 & 0x1fffffffffff);
- { uint128_t x83 = (x78 + x49);
- { uint64_t x84 = (uint64_t) (x83 >> 0x2d);
- { uint64_t x85 = ((uint64_t)x83 & 0x1fffffffffff);
- { uint128_t x86 = (x81 + x54);
- { uint64_t x87 = (uint64_t) (x86 >> 0x2d);
- { uint64_t x88 = ((uint64_t)x86 & 0x1fffffffffff);
- { uint64_t x89 = (x84 + x64);
- { uint64_t x90 = (x89 >> 0x2d);
- { uint64_t x91 = (x89 & 0x1fffffffffff);
- { uint64_t x92 = (x87 + x59);
- { uint64_t x93 = (x92 >> 0x2d);
- { uint64_t x94 = (x92 & 0x1fffffffffff);
- { uint64_t x95 = ((0x200000000000 * x90) + x91);
- { uint64_t x96 = (x95 >> 0x2d);
- { uint64_t x97 = (x95 & 0x1fffffffffff);
- { uint64_t x98 = ((x93 + x67) + x96);
- { uint64_t x99 = (x98 >> 0x2d);
- { uint64_t x100 = (x98 & 0x1fffffffffff);
- { uint64_t x101 = (x70 + x96);
- { uint64_t x102 = (x101 >> 0x2d);
- { uint64_t x103 = (x101 & 0x1fffffffffff);
- out[0] = x103;
- out[1] = (x102 + x76);
- out[2] = x82;
- out[3] = x88;
- out[4] = x94;
- out[5] = x100;
- out[6] = (x99 + x73);
- out[7] = x79;
- out[8] = x85;
- out[9] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/femul.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/femul.v
deleted file mode 100644
index da8ebd697..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/femulDisplay.log b/src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.log
deleted file mode 100644
index 08f7d86c7..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)(x13 + x20) * (x31 + x38)) - ((uint128_t)x13 * x31));
- uint128_t x41 = ((((uint128_t)(x11 + x21) * (x31 + x38)) + ((uint128_t)(x13 + x20) * (x29 + x39))) - (((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)));
- uint128_t x42 = ((((uint128_t)(x9 + x19) * (x31 + x38)) + (((uint128_t)(x11 + x21) * (x29 + x39)) + ((uint128_t)(x13 + x20) * (x27 + x37)))) - (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))));
- uint128_t x43 = ((((uint128_t)(x7 + x17) * (x31 + x38)) + (((uint128_t)(x9 + x19) * (x29 + x39)) + (((uint128_t)(x11 + x21) * (x27 + x37)) + ((uint128_t)(x13 + x20) * (x25 + x35))))) - (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))));
- uint128_t x44 = ((((uint128_t)(x5 + x15) * (x31 + x38)) + (((uint128_t)(x7 + x17) * (x29 + x39)) + (((uint128_t)(x9 + x19) * (x27 + x37)) + (((uint128_t)(x11 + x21) * (x25 + x35)) + ((uint128_t)(x13 + x20) * (x23 + x33)))))) - (((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))));
- uint128_t x45 = ((((uint128_t)(x5 + x15) * (x29 + x39)) + (((uint128_t)(x7 + x17) * (x27 + x37)) + (((uint128_t)(x9 + x19) * (x25 + x35)) + ((uint128_t)(x11 + x21) * (x23 + x33))))) - (((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))));
- uint128_t x46 = ((((uint128_t)(x5 + x15) * (x27 + x37)) + (((uint128_t)(x7 + x17) * (x25 + x35)) + ((uint128_t)(x9 + x19) * (x23 + x33)))) - (((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))));
- uint128_t x47 = ((((uint128_t)(x5 + x15) * (x25 + x35)) + ((uint128_t)(x7 + x17) * (x23 + x33))) - (((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)));
- uint128_t x48 = (((uint128_t)(x5 + x15) * (x23 + x33)) - ((uint128_t)x5 * x23));
- uint128_t x49 = (((((uint128_t)x13 * x31) + ((uint128_t)x20 * x38)) + x45) + x40);
- uint128_t x50 = ((((((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)) + (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))) + x46) + x41);
- uint128_t x51 = ((((((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))) + (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))) + x47) + x42);
- uint128_t x52 = ((((((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))) + (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))) + x48) + x43);
- uint128_t x53 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- uint128_t x54 = (((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + ((uint128_t)x21 * x33))))) + x40);
- uint128_t x55 = (((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + ((uint128_t)x19 * x33)))) + x41);
- uint128_t x56 = (((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x15 * x35) + ((uint128_t)x17 * x33))) + x42);
- uint128_t x57 = ((((uint128_t)x5 * x23) + ((uint128_t)x15 * x33)) + x43);
- uint64_t x58 = (uint64_t) (x53 >> 0x2d);
- uint64_t x59 = ((uint64_t)x53 & 0x1fffffffffff);
- uint64_t x60 = (uint64_t) (x44 >> 0x2d);
- uint64_t x61 = ((uint64_t)x44 & 0x1fffffffffff);
- uint128_t x62 = (((uint128_t)0x200000000000 * x60) + x61);
- uint64_t x63 = (uint64_t) (x62 >> 0x2d);
- uint64_t x64 = ((uint64_t)x62 & 0x1fffffffffff);
- uint128_t x65 = ((x58 + x52) + x63);
- uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- uint128_t x68 = (x57 + x63);
- uint64_t x69 = (uint64_t) (x68 >> 0x2d);
- uint64_t x70 = ((uint64_t)x68 & 0x1fffffffffff);
- uint128_t x71 = (x66 + x51);
- uint64_t x72 = (uint64_t) (x71 >> 0x2d);
- uint64_t x73 = ((uint64_t)x71 & 0x1fffffffffff);
- uint128_t x74 = (x69 + x56);
- uint64_t x75 = (uint64_t) (x74 >> 0x2d);
- uint64_t x76 = ((uint64_t)x74 & 0x1fffffffffff);
- uint128_t x77 = (x72 + x50);
- uint64_t x78 = (uint64_t) (x77 >> 0x2d);
- uint64_t x79 = ((uint64_t)x77 & 0x1fffffffffff);
- uint128_t x80 = (x75 + x55);
- uint64_t x81 = (uint64_t) (x80 >> 0x2d);
- uint64_t x82 = ((uint64_t)x80 & 0x1fffffffffff);
- uint128_t x83 = (x78 + x49);
- uint64_t x84 = (uint64_t) (x83 >> 0x2d);
- uint64_t x85 = ((uint64_t)x83 & 0x1fffffffffff);
- uint128_t x86 = (x81 + x54);
- uint64_t x87 = (uint64_t) (x86 >> 0x2d);
- uint64_t x88 = ((uint64_t)x86 & 0x1fffffffffff);
- uint64_t x89 = (x84 + x64);
- uint64_t x90 = (x89 >> 0x2d);
- uint64_t x91 = (x89 & 0x1fffffffffff);
- uint64_t x92 = (x87 + x59);
- uint64_t x93 = (x92 >> 0x2d);
- uint64_t x94 = (x92 & 0x1fffffffffff);
- uint64_t x95 = ((0x200000000000 * x90) + x91);
- uint64_t x96 = (x95 >> 0x2d);
- uint64_t x97 = (x95 & 0x1fffffffffff);
- uint64_t x98 = ((x93 + x67) + x96);
- uint64_t x99 = (x98 >> 0x2d);
- uint64_t x100 = (x98 & 0x1fffffffffff);
- uint64_t x101 = (x70 + x96);
- uint64_t x102 = (x101 >> 0x2d);
- uint64_t x103 = (x101 & 0x1fffffffffff);
- return (Return x97, Return x85, Return x79, (x99 + x73), Return x100, Return x94, Return x88, Return x82, (x102 + x76), Return x103))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.v
deleted file mode 100644
index ed34604e7..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.c b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.c
deleted file mode 100644
index 17fc629df..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.c
+++ /dev/null
@@ -1,87 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)(x10 + x17) * (x10 + x17)) - ((uint128_t)x10 * x10));
- { uint128_t x20 = ((((uint128_t)(x8 + x18) * (x10 + x17)) + ((uint128_t)(x10 + x17) * (x8 + x18))) - (((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)));
- { uint128_t x21 = ((((uint128_t)(x6 + x16) * (x10 + x17)) + (((uint128_t)(x8 + x18) * (x8 + x18)) + ((uint128_t)(x10 + x17) * (x6 + x16)))) - (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))));
- { uint128_t x22 = ((((uint128_t)(x4 + x14) * (x10 + x17)) + (((uint128_t)(x6 + x16) * (x8 + x18)) + (((uint128_t)(x8 + x18) * (x6 + x16)) + ((uint128_t)(x10 + x17) * (x4 + x14))))) - (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))));
- { uint128_t x23 = ((((uint128_t)(x2 + x12) * (x10 + x17)) + (((uint128_t)(x4 + x14) * (x8 + x18)) + (((uint128_t)(x6 + x16) * (x6 + x16)) + (((uint128_t)(x8 + x18) * (x4 + x14)) + ((uint128_t)(x10 + x17) * (x2 + x12)))))) - (((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))));
- { uint128_t x24 = ((((uint128_t)(x2 + x12) * (x8 + x18)) + (((uint128_t)(x4 + x14) * (x6 + x16)) + (((uint128_t)(x6 + x16) * (x4 + x14)) + ((uint128_t)(x8 + x18) * (x2 + x12))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- { uint128_t x25 = ((((uint128_t)(x2 + x12) * (x6 + x16)) + (((uint128_t)(x4 + x14) * (x4 + x14)) + ((uint128_t)(x6 + x16) * (x2 + x12)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x26 = ((((uint128_t)(x2 + x12) * (x4 + x14)) + ((uint128_t)(x4 + x14) * (x2 + x12))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x27 = (((uint128_t)(x2 + x12) * (x2 + x12)) - ((uint128_t)x2 * x2));
- { uint128_t x28 = (((((uint128_t)x10 * x10) + ((uint128_t)x17 * x17)) + x24) + x19);
- { uint128_t x29 = ((((((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)) + (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))) + x25) + x20);
- { uint128_t x30 = ((((((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))) + (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))) + x26) + x21);
- { uint128_t x31 = ((((((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))) + (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))) + x27) + x22);
- { uint128_t x32 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- { uint128_t x33 = (((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x18 * x12))))) + x19);
- { uint128_t x34 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + ((uint128_t)x16 * x12)))) + x20);
- { uint128_t x35 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x12 * x14) + ((uint128_t)x14 * x12))) + x21);
- { uint128_t x36 = ((((uint128_t)x2 * x2) + ((uint128_t)x12 * x12)) + x22);
- { uint64_t x37 = (uint64_t) (x32 >> 0x2d);
- { uint64_t x38 = ((uint64_t)x32 & 0x1fffffffffff);
- { uint64_t x39 = (uint64_t) (x23 >> 0x2d);
- { uint64_t x40 = ((uint64_t)x23 & 0x1fffffffffff);
- { uint128_t x41 = (((uint128_t)0x200000000000 * x39) + x40);
- { uint64_t x42 = (uint64_t) (x41 >> 0x2d);
- { uint64_t x43 = ((uint64_t)x41 & 0x1fffffffffff);
- { uint128_t x44 = ((x37 + x31) + x42);
- { uint64_t x45 = (uint64_t) (x44 >> 0x2d);
- { uint64_t x46 = ((uint64_t)x44 & 0x1fffffffffff);
- { uint128_t x47 = (x36 + x42);
- { uint64_t x48 = (uint64_t) (x47 >> 0x2d);
- { uint64_t x49 = ((uint64_t)x47 & 0x1fffffffffff);
- { uint128_t x50 = (x45 + x30);
- { uint64_t x51 = (uint64_t) (x50 >> 0x2d);
- { uint64_t x52 = ((uint64_t)x50 & 0x1fffffffffff);
- { uint128_t x53 = (x48 + x35);
- { uint64_t x54 = (uint64_t) (x53 >> 0x2d);
- { uint64_t x55 = ((uint64_t)x53 & 0x1fffffffffff);
- { uint128_t x56 = (x51 + x29);
- { uint64_t x57 = (uint64_t) (x56 >> 0x2d);
- { uint64_t x58 = ((uint64_t)x56 & 0x1fffffffffff);
- { uint128_t x59 = (x54 + x34);
- { uint64_t x60 = (uint64_t) (x59 >> 0x2d);
- { uint64_t x61 = ((uint64_t)x59 & 0x1fffffffffff);
- { uint128_t x62 = (x57 + x28);
- { uint64_t x63 = (uint64_t) (x62 >> 0x2d);
- { uint64_t x64 = ((uint64_t)x62 & 0x1fffffffffff);
- { uint128_t x65 = (x60 + x33);
- { uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- { uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- { uint64_t x68 = (x63 + x43);
- { uint64_t x69 = (x68 >> 0x2d);
- { uint64_t x70 = (x68 & 0x1fffffffffff);
- { uint64_t x71 = (x66 + x38);
- { uint64_t x72 = (x71 >> 0x2d);
- { uint64_t x73 = (x71 & 0x1fffffffffff);
- { uint64_t x74 = ((0x200000000000 * x69) + x70);
- { uint64_t x75 = (x74 >> 0x2d);
- { uint64_t x76 = (x74 & 0x1fffffffffff);
- { uint64_t x77 = ((x72 + x46) + x75);
- { uint64_t x78 = (x77 >> 0x2d);
- { uint64_t x79 = (x77 & 0x1fffffffffff);
- { uint64_t x80 = (x49 + x75);
- { uint64_t x81 = (x80 >> 0x2d);
- { uint64_t x82 = (x80 & 0x1fffffffffff);
- out[0] = x82;
- out[1] = (x81 + x55);
- out[2] = x61;
- out[3] = x67;
- out[4] = x73;
- out[5] = x79;
- out[6] = (x78 + x52);
- out[7] = x58;
- out[8] = x64;
- out[9] = x76;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.v
deleted file mode 100644
index 0a110440b..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.log
deleted file mode 100644
index 93687271b..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)(x10 + x17) * (x10 + x17)) - ((uint128_t)x10 * x10));
- uint128_t x20 = ((((uint128_t)(x8 + x18) * (x10 + x17)) + ((uint128_t)(x10 + x17) * (x8 + x18))) - (((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)));
- uint128_t x21 = ((((uint128_t)(x6 + x16) * (x10 + x17)) + (((uint128_t)(x8 + x18) * (x8 + x18)) + ((uint128_t)(x10 + x17) * (x6 + x16)))) - (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))));
- uint128_t x22 = ((((uint128_t)(x4 + x14) * (x10 + x17)) + (((uint128_t)(x6 + x16) * (x8 + x18)) + (((uint128_t)(x8 + x18) * (x6 + x16)) + ((uint128_t)(x10 + x17) * (x4 + x14))))) - (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))));
- uint128_t x23 = ((((uint128_t)(x2 + x12) * (x10 + x17)) + (((uint128_t)(x4 + x14) * (x8 + x18)) + (((uint128_t)(x6 + x16) * (x6 + x16)) + (((uint128_t)(x8 + x18) * (x4 + x14)) + ((uint128_t)(x10 + x17) * (x2 + x12)))))) - (((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))));
- uint128_t x24 = ((((uint128_t)(x2 + x12) * (x8 + x18)) + (((uint128_t)(x4 + x14) * (x6 + x16)) + (((uint128_t)(x6 + x16) * (x4 + x14)) + ((uint128_t)(x8 + x18) * (x2 + x12))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- uint128_t x25 = ((((uint128_t)(x2 + x12) * (x6 + x16)) + (((uint128_t)(x4 + x14) * (x4 + x14)) + ((uint128_t)(x6 + x16) * (x2 + x12)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x26 = ((((uint128_t)(x2 + x12) * (x4 + x14)) + ((uint128_t)(x4 + x14) * (x2 + x12))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x27 = (((uint128_t)(x2 + x12) * (x2 + x12)) - ((uint128_t)x2 * x2));
- uint128_t x28 = (((((uint128_t)x10 * x10) + ((uint128_t)x17 * x17)) + x24) + x19);
- uint128_t x29 = ((((((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)) + (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))) + x25) + x20);
- uint128_t x30 = ((((((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))) + (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))) + x26) + x21);
- uint128_t x31 = ((((((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))) + (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))) + x27) + x22);
- uint128_t x32 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- uint128_t x33 = (((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x18 * x12))))) + x19);
- uint128_t x34 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + ((uint128_t)x16 * x12)))) + x20);
- uint128_t x35 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x12 * x14) + ((uint128_t)x14 * x12))) + x21);
- uint128_t x36 = ((((uint128_t)x2 * x2) + ((uint128_t)x12 * x12)) + x22);
- uint64_t x37 = (uint64_t) (x32 >> 0x2d);
- uint64_t x38 = ((uint64_t)x32 & 0x1fffffffffff);
- uint64_t x39 = (uint64_t) (x23 >> 0x2d);
- uint64_t x40 = ((uint64_t)x23 & 0x1fffffffffff);
- uint128_t x41 = (((uint128_t)0x200000000000 * x39) + x40);
- uint64_t x42 = (uint64_t) (x41 >> 0x2d);
- uint64_t x43 = ((uint64_t)x41 & 0x1fffffffffff);
- uint128_t x44 = ((x37 + x31) + x42);
- uint64_t x45 = (uint64_t) (x44 >> 0x2d);
- uint64_t x46 = ((uint64_t)x44 & 0x1fffffffffff);
- uint128_t x47 = (x36 + x42);
- uint64_t x48 = (uint64_t) (x47 >> 0x2d);
- uint64_t x49 = ((uint64_t)x47 & 0x1fffffffffff);
- uint128_t x50 = (x45 + x30);
- uint64_t x51 = (uint64_t) (x50 >> 0x2d);
- uint64_t x52 = ((uint64_t)x50 & 0x1fffffffffff);
- uint128_t x53 = (x48 + x35);
- uint64_t x54 = (uint64_t) (x53 >> 0x2d);
- uint64_t x55 = ((uint64_t)x53 & 0x1fffffffffff);
- uint128_t x56 = (x51 + x29);
- uint64_t x57 = (uint64_t) (x56 >> 0x2d);
- uint64_t x58 = ((uint64_t)x56 & 0x1fffffffffff);
- uint128_t x59 = (x54 + x34);
- uint64_t x60 = (uint64_t) (x59 >> 0x2d);
- uint64_t x61 = ((uint64_t)x59 & 0x1fffffffffff);
- uint128_t x62 = (x57 + x28);
- uint64_t x63 = (uint64_t) (x62 >> 0x2d);
- uint64_t x64 = ((uint64_t)x62 & 0x1fffffffffff);
- uint128_t x65 = (x60 + x33);
- uint64_t x66 = (uint64_t) (x65 >> 0x2d);
- uint64_t x67 = ((uint64_t)x65 & 0x1fffffffffff);
- uint64_t x68 = (x63 + x43);
- uint64_t x69 = (x68 >> 0x2d);
- uint64_t x70 = (x68 & 0x1fffffffffff);
- uint64_t x71 = (x66 + x38);
- uint64_t x72 = (x71 >> 0x2d);
- uint64_t x73 = (x71 & 0x1fffffffffff);
- uint64_t x74 = ((0x200000000000 * x69) + x70);
- uint64_t x75 = (x74 >> 0x2d);
- uint64_t x76 = (x74 & 0x1fffffffffff);
- uint64_t x77 = ((x72 + x46) + x75);
- uint64_t x78 = (x77 >> 0x2d);
- uint64_t x79 = (x77 & 0x1fffffffffff);
- uint64_t x80 = (x49 + x75);
- uint64_t x81 = (x80 >> 0x2d);
- uint64_t x82 = (x80 & 0x1fffffffffff);
- return (Return x76, Return x64, Return x58, (x78 + x52), Return x79, Return x73, Return x67, Return x61, (x81 + x55), Return x82))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index ba613bf22..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.c b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.c
deleted file mode 100644
index 3293fc641..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x3ffffffffffe + x5) - x23);
- out[1] = ((0x3ffffffffffe + x7) - x25);
- out[2] = ((0x3ffffffffffe + x9) - x27);
- out[3] = ((0x3ffffffffffe + x11) - x29);
- out[4] = ((0x3ffffffffffe + x13) - x31);
- out[5] = ((0x3ffffffffffc + x15) - x33);
- out[6] = ((0x3ffffffffffe + x17) - x35);
- out[7] = ((0x3ffffffffffe + x19) - x37);
- out[8] = ((0x3ffffffffffe + x21) - x39);
- out[9] = ((0x3ffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.v
deleted file mode 100644
index 93b8e4d84..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.log
deleted file mode 100644
index cf1401ce1..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3ffffffffffe + x20) - x38), ((0x3ffffffffffe + x21) - x39), ((0x3ffffffffffe + x19) - x37), ((0x3ffffffffffe + x17) - x35), ((0x3ffffffffffc + x15) - x33), ((0x3ffffffffffe + x13) - x31), ((0x3ffffffffffe + x11) - x29), ((0x3ffffffffffe + x9) - x27), ((0x3ffffffffffe + x7) - x25), ((0x3ffffffffffe + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.v
deleted file mode 100644
index 2001d4bd5..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.c b/src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.c
deleted file mode 100644
index 7bdbd96ad..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1fffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1fffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1fffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffe);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1fffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1fffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1fffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x1fffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x1fffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0x1fffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0x1fffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0x1fffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0x1ffffffffffe);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x1fffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0x1fffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0x1fffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0x1fffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.v
deleted file mode 100644
index e4f9f4ea0..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.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/solinas64_2e450m2e225m1_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.log
deleted file mode 100644
index 85ed0735d..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1fffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1fffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1fffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1fffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffe);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1fffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1fffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1fffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1fffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x1fffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x1fffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0x1fffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0x1fffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0x1fffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0x1ffffffffffe);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x1fffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0x1fffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0x1fffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0x1fffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 45 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.v
deleted file mode 100644
index e6d44a427..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e450m2e225m1_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e450m2e225m1_10limbs/py_interpreter.sh
deleted file mode 100755
index d4019d0b3..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**450 - 2**225 - 1' -Dmodulus_bytes='45' -Da24='121665'
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/CurveParameters.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/CurveParameters.v
deleted file mode 100644
index e251b6d9f..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^450 - 2^225 - 1
-Base: 56.25
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 56 + 1/4;
- bitwidth := 64;
- s := 2^450;
- c := [(1, 1); (2^225, 1)];
- carry_chains := Some [[3; 7]; [4; 0; 5; 1; 6; 2; 7; 3]; [4; 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/solinas64_2e450m2e225m1_8limbs/Synthesis.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/Synthesis.v
deleted file mode 100644
index 38aee7fc9..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/compiler.sh b/src/Specific/solinas64_2e450m2e225m1_8limbs/compiler.sh
deleted file mode 100755
index 43fbf5932..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/compilerxx.sh b/src/Specific/solinas64_2e450m2e225m1_8limbs/compilerxx.sh
deleted file mode 100755
index cee2cab4f..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,56,56,57,56,56,56}' -Dmodulus_array='{0x03,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,0xfd,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='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<450) - (1_mpz<<225) - 1' "$@"
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.c b/src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.v
deleted file mode 100644
index de44ead98..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.v
deleted file mode 100644
index 36c462be8..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fecarry.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/fecarry.v
deleted file mode 100644
index 73e29020c..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/fecarryDisplay.v
deleted file mode 100644
index 9a936f090..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/femul.c b/src/Specific/solinas64_2e450m2e225m1_8limbs/femul.c
deleted file mode 100644
index 5412ab232..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/femul.c
+++ /dev/null
@@ -1,81 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- { uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- { uint128_t x34 = (((0x2 * ((uint128_t)(x7 + x15) * (x25 + x30))) + ((0x2 * ((uint128_t)(x9 + x17) * (x23 + x31))) + (0x2 * ((uint128_t)(x11 + x16) * (x21 + x29))))) - ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + (0x2 * ((uint128_t)x11 * x21)))));
- { uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + ((0x2 * ((uint128_t)(x7 + x15) * (x23 + x31))) + ((0x2 * ((uint128_t)(x9 + x17) * (x21 + x29))) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))));
- { uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + ((0x2 * ((uint128_t)(x7 + x15) * (x21 + x29))) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))));
- { uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- { uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- { uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- { uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- { uint128_t x41 = (((((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + (0x2 * ((uint128_t)x11 * x21)))) + ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))) + x38) + x34);
- { uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((uint128_t)x16 * x27)))));
- { uint128_t x43 = (((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + ((uint128_t)x17 * x27)))) + x32);
- { uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- { uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- { uint64_t x46 = (uint64_t) (x42 >> 0x38);
- { uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff);
- { uint128_t x48 = (x35 >> 0x38);
- { uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff);
- { uint128_t x50 = ((0x100000000000000 * x48) + x49);
- { uint128_t x51 = (x50 >> 0x38);
- { uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff);
- { uint128_t x53 = ((x46 + x41) + x51);
- { uint64_t x54 = (uint64_t) (x53 >> 0x39);
- { uint64_t x55 = ((uint64_t)x53 & 0x1ffffffffffffff);
- { uint128_t x56 = (x45 + x51);
- { uint64_t x57 = (uint64_t) (x56 >> 0x39);
- { uint64_t x58 = ((uint64_t)x56 & 0x1ffffffffffffff);
- { uint128_t x59 = (x54 + x40);
- { uint64_t x60 = (uint64_t) (x59 >> 0x38);
- { uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff);
- { uint128_t x62 = (x57 + x44);
- { uint64_t x63 = (uint64_t) (x62 >> 0x38);
- { uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff);
- { uint128_t x65 = (x60 + x39);
- { uint128_t x66 = (x65 >> 0x38);
- { uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff);
- { uint128_t x68 = (x63 + x43);
- { uint64_t x69 = (uint64_t) (x68 >> 0x38);
- { uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff);
- { uint128_t x71 = (x66 + x52);
- { uint64_t x72 = (uint64_t) (x71 >> 0x38);
- { uint64_t x73 = ((uint64_t)x71 & 0xffffffffffffff);
- { uint64_t x74 = (x69 + x47);
- { uint64_t x75 = (x74 >> 0x38);
- { uint64_t x76 = (x74 & 0xffffffffffffff);
- { uint128_t x77 = (((uint128_t)0x100000000000000 * x72) + x73);
- { uint64_t x78 = (uint64_t) (x77 >> 0x38);
- { uint64_t x79 = ((uint64_t)x77 & 0xffffffffffffff);
- { uint64_t x80 = ((x75 + x55) + x78);
- { uint64_t x81 = (x80 >> 0x39);
- { uint64_t x82 = (x80 & 0x1ffffffffffffff);
- { uint64_t x83 = (x58 + x78);
- { uint64_t x84 = (x83 >> 0x39);
- { uint64_t x85 = (x83 & 0x1ffffffffffffff);
- out[0] = x85;
- out[1] = (x84 + x64);
- out[2] = x70;
- out[3] = x76;
- out[4] = x82;
- out[5] = (x81 + x61);
- out[6] = x67;
- out[7] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/femul.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/femul.v
deleted file mode 100644
index 86204141d..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/femulDisplay.log b/src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.log
deleted file mode 100644
index 6b97da104..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- uint128_t x34 = (((0x2 * ((uint128_t)(x7 + x15) * (x25 + x30))) + ((0x2 * ((uint128_t)(x9 + x17) * (x23 + x31))) + (0x2 * ((uint128_t)(x11 + x16) * (x21 + x29))))) - ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + (0x2 * ((uint128_t)x11 * x21)))));
- uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + ((0x2 * ((uint128_t)(x7 + x15) * (x23 + x31))) + ((0x2 * ((uint128_t)(x9 + x17) * (x21 + x29))) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))));
- uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + ((0x2 * ((uint128_t)(x7 + x15) * (x21 + x29))) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))));
- uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- uint128_t x41 = (((((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + (0x2 * ((uint128_t)x11 * x21)))) + ((0x2 * ((uint128_t)x15 * x30)) + ((0x2 * ((uint128_t)x17 * x31)) + (0x2 * ((uint128_t)x16 * x29))))) + x38) + x34);
- uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((0x2 * ((uint128_t)x9 * x21)) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((uint128_t)x16 * x27)))));
- uint128_t x43 = (((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + ((uint128_t)x17 * x27)))) + x32);
- uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- uint64_t x46 = (uint64_t) (x42 >> 0x38);
- uint64_t x47 = ((uint64_t)x42 & 0xffffffffffffff);
- uint128_t x48 = (x35 >> 0x38);
- uint64_t x49 = ((uint64_t)x35 & 0xffffffffffffff);
- uint128_t x50 = ((0x100000000000000 * x48) + x49);
- uint128_t x51 = (x50 >> 0x38);
- uint64_t x52 = ((uint64_t)x50 & 0xffffffffffffff);
- uint128_t x53 = ((x46 + x41) + x51);
- uint64_t x54 = (uint64_t) (x53 >> 0x39);
- uint64_t x55 = ((uint64_t)x53 & 0x1ffffffffffffff);
- uint128_t x56 = (x45 + x51);
- uint64_t x57 = (uint64_t) (x56 >> 0x39);
- uint64_t x58 = ((uint64_t)x56 & 0x1ffffffffffffff);
- uint128_t x59 = (x54 + x40);
- uint64_t x60 = (uint64_t) (x59 >> 0x38);
- uint64_t x61 = ((uint64_t)x59 & 0xffffffffffffff);
- uint128_t x62 = (x57 + x44);
- uint64_t x63 = (uint64_t) (x62 >> 0x38);
- uint64_t x64 = ((uint64_t)x62 & 0xffffffffffffff);
- uint128_t x65 = (x60 + x39);
- uint128_t x66 = (x65 >> 0x38);
- uint64_t x67 = ((uint64_t)x65 & 0xffffffffffffff);
- uint128_t x68 = (x63 + x43);
- uint64_t x69 = (uint64_t) (x68 >> 0x38);
- uint64_t x70 = ((uint64_t)x68 & 0xffffffffffffff);
- uint128_t x71 = (x66 + x52);
- uint64_t x72 = (uint64_t) (x71 >> 0x38);
- uint64_t x73 = ((uint64_t)x71 & 0xffffffffffffff);
- uint64_t x74 = (x69 + x47);
- uint64_t x75 = (x74 >> 0x38);
- uint64_t x76 = (x74 & 0xffffffffffffff);
- uint128_t x77 = (((uint128_t)0x100000000000000 * x72) + x73);
- uint64_t x78 = (uint64_t) (x77 >> 0x38);
- uint64_t x79 = ((uint64_t)x77 & 0xffffffffffffff);
- uint64_t x80 = ((x75 + x55) + x78);
- uint64_t x81 = (x80 >> 0x39);
- uint64_t x82 = (x80 & 0x1ffffffffffffff);
- uint64_t x83 = (x58 + x78);
- uint64_t x84 = (x83 >> 0x39);
- uint64_t x85 = (x83 & 0x1ffffffffffffff);
- return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.v
deleted file mode 100644
index 2e6524dae..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.c b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.c
deleted file mode 100644
index 4b85e2ea5..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,73 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- { uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- { uint128_t x17 = (((0x2 * ((uint128_t)(x4 + x12) * (x8 + x13))) + ((0x2 * ((uint128_t)(x6 + x14) * (x6 + x14))) + (0x2 * ((uint128_t)(x8 + x13) * (x4 + x12))))) - ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x8 * x4)))));
- { uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + ((0x2 * ((uint128_t)(x4 + x12) * (x6 + x14))) + ((0x2 * ((uint128_t)(x6 + x14) * (x4 + x12))) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))));
- { uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + ((0x2 * ((uint128_t)(x4 + x12) * (x4 + x12))) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))));
- { uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- { uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- { uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- { uint128_t x24 = (((((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x8 * x4)))) + ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))) + x21) + x17);
- { uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((uint128_t)x13 * x10)))));
- { uint128_t x26 = (((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + ((uint128_t)x14 * x10)))) + x15);
- { uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- { uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- { uint64_t x29 = (uint64_t) (x25 >> 0x38);
- { uint64_t x30 = ((uint64_t)x25 & 0xffffffffffffff);
- { uint128_t x31 = (x18 >> 0x38);
- { uint64_t x32 = ((uint64_t)x18 & 0xffffffffffffff);
- { uint128_t x33 = ((0x100000000000000 * x31) + x32);
- { uint128_t x34 = (x33 >> 0x38);
- { uint64_t x35 = ((uint64_t)x33 & 0xffffffffffffff);
- { uint128_t x36 = ((x29 + x24) + x34);
- { uint64_t x37 = (uint64_t) (x36 >> 0x39);
- { uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffffffff);
- { uint128_t x39 = (x28 + x34);
- { uint64_t x40 = (uint64_t) (x39 >> 0x39);
- { uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff);
- { uint128_t x42 = (x37 + x23);
- { uint64_t x43 = (uint64_t) (x42 >> 0x38);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff);
- { uint128_t x45 = (x40 + x27);
- { uint64_t x46 = (uint64_t) (x45 >> 0x38);
- { uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff);
- { uint128_t x48 = (x43 + x22);
- { uint128_t x49 = (x48 >> 0x38);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff);
- { uint128_t x51 = (x46 + x26);
- { uint64_t x52 = (uint64_t) (x51 >> 0x38);
- { uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff);
- { uint128_t x54 = (x49 + x35);
- { uint64_t x55 = (uint64_t) (x54 >> 0x38);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffffff);
- { uint64_t x57 = (x52 + x30);
- { uint64_t x58 = (x57 >> 0x38);
- { uint64_t x59 = (x57 & 0xffffffffffffff);
- { uint128_t x60 = (((uint128_t)0x100000000000000 * x55) + x56);
- { uint64_t x61 = (uint64_t) (x60 >> 0x38);
- { uint64_t x62 = ((uint64_t)x60 & 0xffffffffffffff);
- { uint64_t x63 = ((x58 + x38) + x61);
- { uint64_t x64 = (x63 >> 0x39);
- { uint64_t x65 = (x63 & 0x1ffffffffffffff);
- { uint64_t x66 = (x41 + x61);
- { uint64_t x67 = (x66 >> 0x39);
- { uint64_t x68 = (x66 & 0x1ffffffffffffff);
- out[0] = x68;
- out[1] = (x67 + x47);
- out[2] = x53;
- out[3] = x59;
- out[4] = x65;
- out[5] = (x64 + x44);
- out[6] = x50;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.v
deleted file mode 100644
index f7a938a98..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.log
deleted file mode 100644
index cbb6438b3..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- uint128_t x17 = (((0x2 * ((uint128_t)(x4 + x12) * (x8 + x13))) + ((0x2 * ((uint128_t)(x6 + x14) * (x6 + x14))) + (0x2 * ((uint128_t)(x8 + x13) * (x4 + x12))))) - ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x8 * x4)))));
- uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + ((0x2 * ((uint128_t)(x4 + x12) * (x6 + x14))) + ((0x2 * ((uint128_t)(x6 + x14) * (x4 + x12))) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))));
- uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + ((0x2 * ((uint128_t)(x4 + x12) * (x4 + x12))) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))));
- uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- uint128_t x24 = (((((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + (0x2 * ((uint128_t)x8 * x4)))) + ((0x2 * ((uint128_t)x12 * x13)) + ((0x2 * ((uint128_t)x14 * x14)) + (0x2 * ((uint128_t)x13 * x12))))) + x21) + x17);
- uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((uint128_t)x13 * x10)))));
- uint128_t x26 = (((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + ((uint128_t)x14 * x10)))) + x15);
- uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- uint64_t x29 = (uint64_t) (x25 >> 0x38);
- uint64_t x30 = ((uint64_t)x25 & 0xffffffffffffff);
- uint128_t x31 = (x18 >> 0x38);
- uint64_t x32 = ((uint64_t)x18 & 0xffffffffffffff);
- uint128_t x33 = ((0x100000000000000 * x31) + x32);
- uint128_t x34 = (x33 >> 0x38);
- uint64_t x35 = ((uint64_t)x33 & 0xffffffffffffff);
- uint128_t x36 = ((x29 + x24) + x34);
- uint64_t x37 = (uint64_t) (x36 >> 0x39);
- uint64_t x38 = ((uint64_t)x36 & 0x1ffffffffffffff);
- uint128_t x39 = (x28 + x34);
- uint64_t x40 = (uint64_t) (x39 >> 0x39);
- uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff);
- uint128_t x42 = (x37 + x23);
- uint64_t x43 = (uint64_t) (x42 >> 0x38);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff);
- uint128_t x45 = (x40 + x27);
- uint64_t x46 = (uint64_t) (x45 >> 0x38);
- uint64_t x47 = ((uint64_t)x45 & 0xffffffffffffff);
- uint128_t x48 = (x43 + x22);
- uint128_t x49 = (x48 >> 0x38);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff);
- uint128_t x51 = (x46 + x26);
- uint64_t x52 = (uint64_t) (x51 >> 0x38);
- uint64_t x53 = ((uint64_t)x51 & 0xffffffffffffff);
- uint128_t x54 = (x49 + x35);
- uint64_t x55 = (uint64_t) (x54 >> 0x38);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffffff);
- uint64_t x57 = (x52 + x30);
- uint64_t x58 = (x57 >> 0x38);
- uint64_t x59 = (x57 & 0xffffffffffffff);
- uint128_t x60 = (((uint128_t)0x100000000000000 * x55) + x56);
- uint64_t x61 = (uint64_t) (x60 >> 0x38);
- uint64_t x62 = ((uint64_t)x60 & 0xffffffffffffff);
- uint64_t x63 = ((x58 + x38) + x61);
- uint64_t x64 = (x63 >> 0x39);
- uint64_t x65 = (x63 & 0x1ffffffffffffff);
- uint64_t x66 = (x41 + x61);
- uint64_t x67 = (x66 >> 0x39);
- uint64_t x68 = (x66 & 0x1ffffffffffffff);
- return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.v
deleted file mode 100644
index a066dae8e..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.c b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.c
deleted file mode 100644
index 0032ef5bc..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x3fffffffffffffe + x5) - x19);
- out[1] = ((0x1fffffffffffffe + x7) - x21);
- out[2] = ((0x1fffffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffffe + x11) - x25);
- out[4] = ((0x3fffffffffffffc + x13) - x27);
- out[5] = ((0x1fffffffffffffe + x15) - x29);
- out[6] = ((0x1fffffffffffffe + x17) - x31);
- out[7] = ((0x1fffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.v
deleted file mode 100644
index c6b306b85..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.log
deleted file mode 100644
index 948e27940..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffffffffffe + x16) - x30), ((0x1fffffffffffffe + x17) - x31), ((0x1fffffffffffffe + x15) - x29), ((0x3fffffffffffffc + x13) - x27), ((0x1fffffffffffffe + x11) - x25), ((0x1fffffffffffffe + x9) - x23), ((0x1fffffffffffffe + x7) - x21), ((0x3fffffffffffffe + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.v
deleted file mode 100644
index 0fcfd6fc8..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.c b/src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.c
deleted file mode 100644
index 064b11eba..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffffffffffffe);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0x1ffffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xffffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x1fffffffffffffe);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xffffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xffffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.v
deleted file mode 100644
index 2081eb536..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.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/solinas64_2e450m2e225m1_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.log
deleted file mode 100644
index 50e964eeb..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xffffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1fffffffffffffe);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xffffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0x1ffffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xffffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x1fffffffffffffe);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xffffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xffffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.v
deleted file mode 100644
index 5235b60da..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e450m2e225m1_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e450m2e225m1_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e450m2e225m1_8limbs/py_interpreter.sh
deleted file mode 100755
index 3c28d032a..000000000
--- a/src/Specific/solinas64_2e450m2e225m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**450 - 2**225 - 1' -Dmodulus_bytes='56.25' -Da24='121665'
diff --git a/src/Specific/solinas64_2e452m3_8limbs/CurveParameters.v b/src/Specific/solinas64_2e452m3_8limbs/CurveParameters.v
deleted file mode 100644
index e51728504..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^452 - 3
-Base: 56.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 56 + 1/2;
- bitwidth := 64;
- s := 2^452;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e452m3_8limbs/Synthesis.v b/src/Specific/solinas64_2e452m3_8limbs/Synthesis.v
deleted file mode 100644
index 8aac00fe1..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/compiler.sh b/src/Specific/solinas64_2e452m3_8limbs/compiler.sh
deleted file mode 100755
index 5e3b5cee7..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas64_2e452m3_8limbs/compilerxx.sh b/src/Specific/solinas64_2e452m3_8limbs/compilerxx.sh
deleted file mode 100755
index a79011c20..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{57,56,57,56,57,56,57,56}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas64_2e452m3_8limbs/feadd.c b/src/Specific/solinas64_2e452m3_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_8limbs/feadd.v b/src/Specific/solinas64_2e452m3_8limbs/feadd.v
deleted file mode 100644
index 5e46a48da..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.v
deleted file mode 100644
index 41f006cf6..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fecarry.v b/src/Specific/solinas64_2e452m3_8limbs/fecarry.v
deleted file mode 100644
index 57f688bb8..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e452m3_8limbs/fecarryDisplay.v
deleted file mode 100644
index a9cbc2391..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e452m3_8limbs/femul.c b/src/Specific/solinas64_2e452m3_8limbs/femul.c
deleted file mode 100644
index f36a466ea..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x3 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x3 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x3 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x3 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x3 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint128_t x40 = (x39 >> 0x39);
- { uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint128_t x43 = (x42 >> 0x38);
- { uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint128_t x46 = (x45 >> 0x39);
- { uint64_t x47 = ((uint64_t)x45 & 0x1ffffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint128_t x49 = (x48 >> 0x38);
- { uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint64_t x52 = (uint64_t) (x51 >> 0x39);
- { uint64_t x53 = ((uint64_t)x51 & 0x1ffffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint128_t x55 = (x54 >> 0x38);
- { uint64_t x56 = ((uint64_t)x54 & 0xffffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint64_t x58 = (uint64_t) (x57 >> 0x39);
- { uint64_t x59 = ((uint64_t)x57 & 0x1ffffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint64_t x61 = (uint64_t) (x60 >> 0x38);
- { uint64_t x62 = ((uint64_t)x60 & 0xffffffffffffff);
- { uint128_t x63 = (x41 + ((uint128_t)0x3 * x61));
- { uint64_t x64 = (uint64_t) (x63 >> 0x39);
- { uint64_t x65 = ((uint64_t)x63 & 0x1ffffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x38);
- { uint64_t x68 = (x66 & 0xffffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_8limbs/femul.v b/src/Specific/solinas64_2e452m3_8limbs/femul.v
deleted file mode 100644
index 07d2f96d9..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/femulDisplay.log b/src/Specific/solinas64_2e452m3_8limbs/femulDisplay.log
deleted file mode 100644
index 633c8f963..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x3 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x3 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x3 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x3 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x3 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x3 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x3 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint128_t x40 = (x39 >> 0x39);
- uint64_t x41 = ((uint64_t)x39 & 0x1ffffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint128_t x43 = (x42 >> 0x38);
- uint64_t x44 = ((uint64_t)x42 & 0xffffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint128_t x46 = (x45 >> 0x39);
- uint64_t x47 = ((uint64_t)x45 & 0x1ffffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint128_t x49 = (x48 >> 0x38);
- uint64_t x50 = ((uint64_t)x48 & 0xffffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint64_t x52 = (uint64_t) (x51 >> 0x39);
- uint64_t x53 = ((uint64_t)x51 & 0x1ffffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint128_t x55 = (x54 >> 0x38);
- uint64_t x56 = ((uint64_t)x54 & 0xffffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint64_t x58 = (uint64_t) (x57 >> 0x39);
- uint64_t x59 = ((uint64_t)x57 & 0x1ffffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint64_t x61 = (uint64_t) (x60 >> 0x38);
- uint64_t x62 = ((uint64_t)x60 & 0xffffffffffffff);
- uint128_t x63 = (x41 + ((uint128_t)0x3 * x61));
- uint64_t x64 = (uint64_t) (x63 >> 0x39);
- uint64_t x65 = ((uint64_t)x63 & 0x1ffffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x38);
- uint64_t x68 = (x66 & 0xffffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_8limbs/femulDisplay.v b/src/Specific/solinas64_2e452m3_8limbs/femulDisplay.v
deleted file mode 100644
index a96492a18..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fesquare.c b/src/Specific/solinas64_2e452m3_8limbs/fesquare.c
deleted file mode 100644
index 18c217c71..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint128_t x23 = (x22 >> 0x39);
- { uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint128_t x26 = (x25 >> 0x38);
- { uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint128_t x29 = (x28 >> 0x39);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint128_t x32 = (x31 >> 0x38);
- { uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint64_t x35 = (uint64_t) (x34 >> 0x39);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint128_t x38 = (x37 >> 0x38);
- { uint64_t x39 = ((uint64_t)x37 & 0xffffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint64_t x41 = (uint64_t) (x40 >> 0x39);
- { uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint64_t x44 = (uint64_t) (x43 >> 0x38);
- { uint64_t x45 = ((uint64_t)x43 & 0xffffffffffffff);
- { uint128_t x46 = (x24 + ((uint128_t)0x3 * x44));
- { uint64_t x47 = (uint64_t) (x46 >> 0x39);
- { uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x38);
- { uint64_t x51 = (x49 & 0xffffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fesquare.v b/src/Specific/solinas64_2e452m3_8limbs/fesquare.v
deleted file mode 100644
index 16f066555..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.log
deleted file mode 100644
index 50d394689..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x3 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint128_t x23 = (x22 >> 0x39);
- uint64_t x24 = ((uint64_t)x22 & 0x1ffffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint128_t x26 = (x25 >> 0x38);
- uint64_t x27 = ((uint64_t)x25 & 0xffffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint128_t x29 = (x28 >> 0x39);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint128_t x32 = (x31 >> 0x38);
- uint64_t x33 = ((uint64_t)x31 & 0xffffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint64_t x35 = (uint64_t) (x34 >> 0x39);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint128_t x38 = (x37 >> 0x38);
- uint64_t x39 = ((uint64_t)x37 & 0xffffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint64_t x41 = (uint64_t) (x40 >> 0x39);
- uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint64_t x44 = (uint64_t) (x43 >> 0x38);
- uint64_t x45 = ((uint64_t)x43 & 0xffffffffffffff);
- uint128_t x46 = (x24 + ((uint128_t)0x3 * x44));
- uint64_t x47 = (uint64_t) (x46 >> 0x39);
- uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x38);
- uint64_t x51 = (x49 & 0xffffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.v
deleted file mode 100644
index ccc525256..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fesub.c b/src/Specific/solinas64_2e452m3_8limbs/fesub.c
deleted file mode 100644
index 93d63ff22..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x3fffffffffffffa + x5) - x19);
- out[1] = ((0x1fffffffffffffe + x7) - x21);
- out[2] = ((0x3fffffffffffffe + x9) - x23);
- out[3] = ((0x1fffffffffffffe + x11) - x25);
- out[4] = ((0x3fffffffffffffe + x13) - x27);
- out[5] = ((0x1fffffffffffffe + x15) - x29);
- out[6] = ((0x3fffffffffffffe + x17) - x31);
- out[7] = ((0x1fffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fesub.v b/src/Specific/solinas64_2e452m3_8limbs/fesub.v
deleted file mode 100644
index 304c71edc..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.log
deleted file mode 100644
index 540d6117a..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1fffffffffffffe + x16) - x30), ((0x3fffffffffffffe + x17) - x31), ((0x1fffffffffffffe + x15) - x29), ((0x3fffffffffffffe + x13) - x27), ((0x1fffffffffffffe + x11) - x25), ((0x3fffffffffffffe + x9) - x23), ((0x1fffffffffffffe + x7) - x21), ((0x3fffffffffffffa + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.v
deleted file mode 100644
index 6cad6bb6c..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e452m3_8limbs/freeze.c b/src/Specific/solinas64_2e452m3_8limbs/freeze.c
deleted file mode 100644
index 6af79c058..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffffd);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0x1fffffffffffffd);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xffffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0x1ffffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xffffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x1ffffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xffffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0x1ffffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xffffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_8limbs/freeze.v b/src/Specific/solinas64_2e452m3_8limbs/freeze.v
deleted file mode 100644
index 6606b5a04..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.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/solinas64_2e452m3_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.log
deleted file mode 100644
index b2eeefa09..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffffd);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x1ffffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xffffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x1ffffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xffffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x1ffffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xffffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0x1fffffffffffffd);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xffffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0x1ffffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xffffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x1ffffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xffffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0x1ffffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xffffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 56 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.v
deleted file mode 100644
index 2d2971dfa..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e452m3_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e452m3_8limbs/py_interpreter.sh
deleted file mode 100755
index 33994d0a9..000000000
--- a/src/Specific/solinas64_2e452m3_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**452 - 3' -Dmodulus_bytes='56.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e452m3_9limbs/CurveParameters.v b/src/Specific/solinas64_2e452m3_9limbs/CurveParameters.v
deleted file mode 100644
index 320a9d2ec..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^452 - 3
-Base: 50 + 2/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 50 + 2/9;
- bitwidth := 64;
- s := 2^452;
- c := [(1, 3)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e452m3_9limbs/Synthesis.v b/src/Specific/solinas64_2e452m3_9limbs/Synthesis.v
deleted file mode 100644
index e25716f90..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/compiler.sh b/src/Specific/solinas64_2e452m3_9limbs/compiler.sh
deleted file mode 100755
index 41db14516..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,51,50,50,50,50}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas64_2e452m3_9limbs/compilerxx.sh b/src/Specific/solinas64_2e452m3_9limbs/compilerxx.sh
deleted file mode 100755
index 1fd589344..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/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,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{51,50,50,50,51,50,50,50,50}' -Dmodulus_array='{0x0f,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,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,0xfd}' -Dmodulus_bytes_val='57' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<452) - 3' "$@"
diff --git a/src/Specific/solinas64_2e452m3_9limbs/feadd.c b/src/Specific/solinas64_2e452m3_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_9limbs/feadd.v b/src/Specific/solinas64_2e452m3_9limbs/feadd.v
deleted file mode 100644
index 03444dcf3..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.v
deleted file mode 100644
index f2e5ccd2e..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fecarry.v b/src/Specific/solinas64_2e452m3_9limbs/fecarry.v
deleted file mode 100644
index dd77e53f5..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e452m3_9limbs/fecarryDisplay.v
deleted file mode 100644
index 3e6395440..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e452m3_9limbs/femul.c b/src/Specific/solinas64_2e452m3_9limbs/femul.c
deleted file mode 100644
index 68437ced9..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + ((uint128_t)x19 * x21)))))))) + (0x3 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x3 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x3 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((uint128_t)x13 * x21))))) + (0x3 * ((0x2 * ((uint128_t)x15 * x34)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + (0x2 * ((uint128_t)x18 * x31)))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x3 * (((uint128_t)x13 * x34) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + ((uint128_t)x18 * x29)))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x3 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x3 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x3 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- { uint64_t x45 = (uint64_t) (x44 >> 0x33);
- { uint64_t x46 = ((uint64_t)x44 & 0x7ffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint64_t x48 = (uint64_t) (x47 >> 0x32);
- { uint64_t x49 = ((uint64_t)x47 & 0x3ffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint64_t x51 = (uint64_t) (x50 >> 0x32);
- { uint64_t x52 = ((uint64_t)x50 & 0x3ffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint64_t x54 = (uint64_t) (x53 >> 0x32);
- { uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint64_t x57 = (uint64_t) (x56 >> 0x33);
- { uint64_t x58 = ((uint64_t)x56 & 0x7ffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint64_t x60 = (uint64_t) (x59 >> 0x32);
- { uint64_t x61 = ((uint64_t)x59 & 0x3ffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint64_t x63 = (uint64_t) (x62 >> 0x32);
- { uint64_t x64 = ((uint64_t)x62 & 0x3ffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x32);
- { uint64_t x67 = ((uint64_t)x65 & 0x3ffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x32);
- { uint64_t x70 = ((uint64_t)x68 & 0x3ffffffffffff);
- { uint64_t x71 = (x46 + (0x3 * x69));
- { uint64_t x72 = (x71 >> 0x33);
- { uint64_t x73 = (x71 & 0x7ffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x32);
- { uint64_t x76 = (x74 & 0x3ffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_9limbs/femul.v b/src/Specific/solinas64_2e452m3_9limbs/femul.v
deleted file mode 100644
index 50c3d4262..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/femulDisplay.log b/src/Specific/solinas64_2e452m3_9limbs/femulDisplay.log
deleted file mode 100644
index ef2572bf1..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + ((uint128_t)x19 * x21)))))))) + (0x3 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x3 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x3 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((uint128_t)x13 * x21))))) + (0x3 * ((0x2 * ((uint128_t)x15 * x34)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + (0x2 * ((uint128_t)x18 * x31)))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x3 * (((uint128_t)x13 * x34) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + ((uint128_t)x18 * x29)))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x3 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x3 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x3 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- uint64_t x45 = (uint64_t) (x44 >> 0x33);
- uint64_t x46 = ((uint64_t)x44 & 0x7ffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint64_t x48 = (uint64_t) (x47 >> 0x32);
- uint64_t x49 = ((uint64_t)x47 & 0x3ffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint64_t x51 = (uint64_t) (x50 >> 0x32);
- uint64_t x52 = ((uint64_t)x50 & 0x3ffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint64_t x54 = (uint64_t) (x53 >> 0x32);
- uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint64_t x57 = (uint64_t) (x56 >> 0x33);
- uint64_t x58 = ((uint64_t)x56 & 0x7ffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint64_t x60 = (uint64_t) (x59 >> 0x32);
- uint64_t x61 = ((uint64_t)x59 & 0x3ffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint64_t x63 = (uint64_t) (x62 >> 0x32);
- uint64_t x64 = ((uint64_t)x62 & 0x3ffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x32);
- uint64_t x67 = ((uint64_t)x65 & 0x3ffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x32);
- uint64_t x70 = ((uint64_t)x68 & 0x3ffffffffffff);
- uint64_t x71 = (x46 + (0x3 * x69));
- uint64_t x72 = (x71 >> 0x33);
- uint64_t x73 = (x71 & 0x7ffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x32);
- uint64_t x76 = (x74 & 0x3ffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_9limbs/femulDisplay.v b/src/Specific/solinas64_2e452m3_9limbs/femulDisplay.v
deleted file mode 100644
index 0cf015121..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fesquare.c b/src/Specific/solinas64_2e452m3_9limbs/fesquare.c
deleted file mode 100644
index 2f7dfd90c..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x3 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x3 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint128_t)x12 * x15)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (0x2 * ((uint128_t)x15 * x12)))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x15) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + ((uint128_t)x15 * x10)))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- { uint64_t x26 = (uint64_t) (x25 >> 0x33);
- { uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint64_t x29 = (uint64_t) (x28 >> 0x32);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint64_t x32 = (uint64_t) (x31 >> 0x32);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint64_t x35 = (uint64_t) (x34 >> 0x32);
- { uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint64_t x38 = (uint64_t) (x37 >> 0x33);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint64_t x41 = (uint64_t) (x40 >> 0x32);
- { uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint64_t x44 = (uint64_t) (x43 >> 0x32);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x32);
- { uint64_t x48 = ((uint64_t)x46 & 0x3ffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x32);
- { uint64_t x51 = ((uint64_t)x49 & 0x3ffffffffffff);
- { uint64_t x52 = (x27 + (0x3 * x50));
- { uint64_t x53 = (x52 >> 0x33);
- { uint64_t x54 = (x52 & 0x7ffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x32);
- { uint64_t x57 = (x55 & 0x3ffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fesquare.v b/src/Specific/solinas64_2e452m3_9limbs/fesquare.v
deleted file mode 100644
index 6bef74b62..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.log
deleted file mode 100644
index 2a1cfa3ba..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x3 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x3 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x3 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x3 * ((0x2 * ((uint128_t)x12 * x15)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (0x2 * ((uint128_t)x15 * x12)))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x3 * (((uint128_t)x10 * x15) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + ((uint128_t)x15 * x10)))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x3 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x3 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x3 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- uint64_t x26 = (uint64_t) (x25 >> 0x33);
- uint64_t x27 = ((uint64_t)x25 & 0x7ffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint64_t x29 = (uint64_t) (x28 >> 0x32);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint64_t x32 = (uint64_t) (x31 >> 0x32);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint64_t x35 = (uint64_t) (x34 >> 0x32);
- uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint64_t x38 = (uint64_t) (x37 >> 0x33);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint64_t x41 = (uint64_t) (x40 >> 0x32);
- uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint64_t x44 = (uint64_t) (x43 >> 0x32);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x32);
- uint64_t x48 = ((uint64_t)x46 & 0x3ffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x32);
- uint64_t x51 = ((uint64_t)x49 & 0x3ffffffffffff);
- uint64_t x52 = (x27 + (0x3 * x50));
- uint64_t x53 = (x52 >> 0x33);
- uint64_t x54 = (x52 & 0x7ffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x32);
- uint64_t x57 = (x55 & 0x3ffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.v
deleted file mode 100644
index 98c66c5f9..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fesub.c b/src/Specific/solinas64_2e452m3_9limbs/fesub.c
deleted file mode 100644
index c0c234ca7..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0xffffffffffffa + x5) - x21);
- out[1] = ((0x7fffffffffffe + x7) - x23);
- out[2] = ((0x7fffffffffffe + x9) - x25);
- out[3] = ((0x7fffffffffffe + x11) - x27);
- out[4] = ((0xffffffffffffe + x13) - x29);
- out[5] = ((0x7fffffffffffe + x15) - x31);
- out[6] = ((0x7fffffffffffe + x17) - x33);
- out[7] = ((0x7fffffffffffe + x19) - x35);
- out[8] = ((0x7fffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fesub.v b/src/Specific/solinas64_2e452m3_9limbs/fesub.v
deleted file mode 100644
index 068e9ec16..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.log
deleted file mode 100644
index a139ce8c9..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7fffffffffffe + x18) - x34), ((0x7fffffffffffe + x19) - x35), ((0x7fffffffffffe + x17) - x33), ((0x7fffffffffffe + x15) - x31), ((0xffffffffffffe + x13) - x29), ((0x7fffffffffffe + x11) - x27), ((0x7fffffffffffe + x9) - x25), ((0x7fffffffffffe + x7) - x23), ((0xffffffffffffa + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.v
deleted file mode 100644
index 841090f1f..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e452m3_9limbs/freeze.c b/src/Specific/solinas64_2e452m3_9limbs/freeze.c
deleted file mode 100644
index cb7438647..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18; uint8_t x19 = _subborrow_u51(0x0, x2, 0x7fffffffffffd, &x18);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffff);
- { uint64_t x30; uint8_t x31 = _subborrow_u51(x28, x10, 0x7ffffffffffff, &x30);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x7fffffffffffd);
- { uint64_t x47; uint8_t x48 = _addcarryx_u51(0x0, x18, x45, &x47);
- { uint64_t x49 = (x44 & 0x3ffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x3ffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x3ffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x7ffffffffffff);
- { uint64_t x63; uint8_t x64 = _addcarryx_u51(x60, x30, x61, &x63);
- { uint64_t x65 = (x44 & 0x3ffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x3ffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x3ffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x3ffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e452m3_9limbs/freeze.v b/src/Specific/solinas64_2e452m3_9limbs/freeze.v
deleted file mode 100644
index 14713b91d..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.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/solinas64_2e452m3_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.log
deleted file mode 100644
index 223f72dd4..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = subborrow_u51(0x0, x2, 0x7fffffffffffd);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffff);
- uint64_t x30, uint8_t x31 = subborrow_u51(x28, x10, 0x7ffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3ffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x7fffffffffffd);
- uint64_t x47, uint8_t x48 = addcarryx_u51(0x0, x18, x45);
- uint64_t x49 = (x44 & 0x3ffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x3ffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x3ffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x7ffffffffffff);
- uint64_t x63, uint8_t x64 = addcarryx_u51(x60, x30, x61);
- uint64_t x65 = (x44 & 0x3ffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x3ffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x3ffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x3ffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.v
deleted file mode 100644
index 6c23a6bba..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e452m3_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e452m3_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e452m3_9limbs/py_interpreter.sh
deleted file mode 100755
index b293203e6..000000000
--- a/src/Specific/solinas64_2e452m3_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**452 - 3' -Dmodulus_bytes='50 + 2/9' -Da24='121665'
diff --git a/src/Specific/solinas64_2e468m17_8limbs/CurveParameters.v b/src/Specific/solinas64_2e468m17_8limbs/CurveParameters.v
deleted file mode 100644
index 0ed707400..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^468 - 17
-Base: 58.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 58 + 1/2;
- bitwidth := 64;
- s := 2^468;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 8); [0; 1]]%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/solinas64_2e468m17_8limbs/Synthesis.v b/src/Specific/solinas64_2e468m17_8limbs/Synthesis.v
deleted file mode 100644
index c5b46a658..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/compiler.sh b/src/Specific/solinas64_2e468m17_8limbs/compiler.sh
deleted file mode 100755
index 17b7ccff7..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas64_2e468m17_8limbs/compilerxx.sh b/src/Specific/solinas64_2e468m17_8limbs/compilerxx.sh
deleted file mode 100755
index 6427000c5..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{59,58,59,58,59,58,59,58}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas64_2e468m17_8limbs/feadd.c b/src/Specific/solinas64_2e468m17_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_8limbs/feadd.v b/src/Specific/solinas64_2e468m17_8limbs/feadd.v
deleted file mode 100644
index efa83eeb5..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.v
deleted file mode 100644
index 0007d0b4b..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fecarry.v b/src/Specific/solinas64_2e468m17_8limbs/fecarry.v
deleted file mode 100644
index c0501fde9..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e468m17_8limbs/fecarryDisplay.v
deleted file mode 100644
index 0ac00bfa3..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e468m17_8limbs/femul.c b/src/Specific/solinas64_2e468m17_8limbs/femul.c
deleted file mode 100644
index 577cfa76f..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/femul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- { uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30))));
- { uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- { uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- { uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- { uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- { uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- { uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21))))))))));
- { uint128_t x40 = (x39 >> 0x3b);
- { uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffffff);
- { uint128_t x42 = (x40 + x38);
- { uint128_t x43 = (x42 >> 0x3a);
- { uint64_t x44 = ((uint64_t)x42 & 0x3ffffffffffffff);
- { uint128_t x45 = (x43 + x37);
- { uint128_t x46 = (x45 >> 0x3b);
- { uint64_t x47 = ((uint64_t)x45 & 0x7ffffffffffffff);
- { uint128_t x48 = (x46 + x36);
- { uint128_t x49 = (x48 >> 0x3a);
- { uint64_t x50 = ((uint64_t)x48 & 0x3ffffffffffffff);
- { uint128_t x51 = (x49 + x35);
- { uint128_t x52 = (x51 >> 0x3b);
- { uint64_t x53 = ((uint64_t)x51 & 0x7ffffffffffffff);
- { uint128_t x54 = (x52 + x34);
- { uint128_t x55 = (x54 >> 0x3a);
- { uint64_t x56 = ((uint64_t)x54 & 0x3ffffffffffffff);
- { uint128_t x57 = (x55 + x33);
- { uint128_t x58 = (x57 >> 0x3b);
- { uint64_t x59 = ((uint64_t)x57 & 0x7ffffffffffffff);
- { uint128_t x60 = (x58 + x32);
- { uint128_t x61 = (x60 >> 0x3a);
- { uint64_t x62 = ((uint64_t)x60 & 0x3ffffffffffffff);
- { uint128_t x63 = (x41 + (0x11 * x61));
- { uint64_t x64 = (uint64_t) (x63 >> 0x3b);
- { uint64_t x65 = ((uint64_t)x63 & 0x7ffffffffffffff);
- { uint64_t x66 = (x64 + x44);
- { uint64_t x67 = (x66 >> 0x3a);
- { uint64_t x68 = (x66 & 0x3ffffffffffffff);
- out[0] = x65;
- out[1] = x68;
- out[2] = (x67 + x47);
- out[3] = x50;
- out[4] = x53;
- out[5] = x56;
- out[6] = x59;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_8limbs/femul.v b/src/Specific/solinas64_2e468m17_8limbs/femul.v
deleted file mode 100644
index 13af29679..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/femulDisplay.log b/src/Specific/solinas64_2e468m17_8limbs/femulDisplay.log
deleted file mode 100644
index 0b24105fb..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)x5 * x30) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + (((uint128_t)x17 * x21) + ((uint128_t)x16 * x19))))))));
- uint128_t x33 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + (((uint128_t)x13 * x23) + ((0x2 * ((uint128_t)x15 * x21)) + ((uint128_t)x17 * x19))))))) + (0x11 * (0x2 * ((uint128_t)x16 * x30))));
- uint128_t x34 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + (((uint128_t)x13 * x21) + ((uint128_t)x15 * x19)))))) + (0x11 * (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))));
- uint128_t x35 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + (((uint128_t)x9 * x23) + ((0x2 * ((uint128_t)x11 * x21)) + ((uint128_t)x13 * x19))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x30)) + (((uint128_t)x17 * x31) + (0x2 * ((uint128_t)x16 * x29))))));
- uint128_t x36 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (0x11 * (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27))))));
- uint128_t x37 = ((((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x21)) + ((uint128_t)x9 * x19))) + (0x11 * ((0x2 * ((uint128_t)x11 * x30)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + (0x2 * ((uint128_t)x16 * x25))))))));
- uint128_t x38 = ((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (0x11 * (((uint128_t)x9 * x30) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x16 * x23))))))));
- uint128_t x39 = (((uint128_t)x5 * x19) + (0x11 * ((0x2 * ((uint128_t)x7 * x30)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + (((uint128_t)x17 * x23) + (0x2 * ((uint128_t)x16 * x21))))))))));
- uint128_t x40 = (x39 >> 0x3b);
- uint64_t x41 = ((uint64_t)x39 & 0x7ffffffffffffff);
- uint128_t x42 = (x40 + x38);
- uint128_t x43 = (x42 >> 0x3a);
- uint64_t x44 = ((uint64_t)x42 & 0x3ffffffffffffff);
- uint128_t x45 = (x43 + x37);
- uint128_t x46 = (x45 >> 0x3b);
- uint64_t x47 = ((uint64_t)x45 & 0x7ffffffffffffff);
- uint128_t x48 = (x46 + x36);
- uint128_t x49 = (x48 >> 0x3a);
- uint64_t x50 = ((uint64_t)x48 & 0x3ffffffffffffff);
- uint128_t x51 = (x49 + x35);
- uint128_t x52 = (x51 >> 0x3b);
- uint64_t x53 = ((uint64_t)x51 & 0x7ffffffffffffff);
- uint128_t x54 = (x52 + x34);
- uint128_t x55 = (x54 >> 0x3a);
- uint64_t x56 = ((uint64_t)x54 & 0x3ffffffffffffff);
- uint128_t x57 = (x55 + x33);
- uint128_t x58 = (x57 >> 0x3b);
- uint64_t x59 = ((uint64_t)x57 & 0x7ffffffffffffff);
- uint128_t x60 = (x58 + x32);
- uint128_t x61 = (x60 >> 0x3a);
- uint64_t x62 = ((uint64_t)x60 & 0x3ffffffffffffff);
- uint128_t x63 = (x41 + (0x11 * x61));
- uint64_t x64 = (uint64_t) (x63 >> 0x3b);
- uint64_t x65 = ((uint64_t)x63 & 0x7ffffffffffffff);
- uint64_t x66 = (x64 + x44);
- uint64_t x67 = (x66 >> 0x3a);
- uint64_t x68 = (x66 & 0x3ffffffffffffff);
- return (Return x62, Return x59, Return x56, Return x53, Return x50, (x67 + x47), Return x68, Return x65))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_8limbs/femulDisplay.v b/src/Specific/solinas64_2e468m17_8limbs/femulDisplay.v
deleted file mode 100644
index 26268ffe9..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fesquare.c b/src/Specific/solinas64_2e468m17_8limbs/fesquare.c
deleted file mode 100644
index edce105d8..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesquare.c
+++ /dev/null
@@ -1,56 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- { uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13))));
- { uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- { uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- { uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- { uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- { uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- { uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4))))))))));
- { uint128_t x23 = (x22 >> 0x3b);
- { uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff);
- { uint128_t x25 = (x23 + x21);
- { uint128_t x26 = (x25 >> 0x3a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- { uint128_t x28 = (x26 + x20);
- { uint128_t x29 = (x28 >> 0x3b);
- { uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff);
- { uint128_t x31 = (x29 + x19);
- { uint128_t x32 = (x31 >> 0x3a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff);
- { uint128_t x34 = (x32 + x18);
- { uint128_t x35 = (x34 >> 0x3b);
- { uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffffff);
- { uint128_t x37 = (x35 + x17);
- { uint128_t x38 = (x37 >> 0x3a);
- { uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffffff);
- { uint128_t x40 = (x38 + x16);
- { uint128_t x41 = (x40 >> 0x3b);
- { uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff);
- { uint128_t x43 = (x41 + x15);
- { uint128_t x44 = (x43 >> 0x3a);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff);
- { uint128_t x46 = (x24 + (0x11 * x44));
- { uint64_t x47 = (uint64_t) (x46 >> 0x3b);
- { uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffffff);
- { uint64_t x49 = (x47 + x27);
- { uint64_t x50 = (x49 >> 0x3a);
- { uint64_t x51 = (x49 & 0x3ffffffffffffff);
- out[0] = x48;
- out[1] = x51;
- out[2] = (x50 + x30);
- out[3] = x33;
- out[4] = x36;
- out[5] = x39;
- out[6] = x42;
- out[7] = x45;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fesquare.v b/src/Specific/solinas64_2e468m17_8limbs/fesquare.v
deleted file mode 100644
index 91f199d83..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.log
deleted file mode 100644
index 1bdd98b58..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,44 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)x2 * x13) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x13 * x2))))))));
- uint128_t x16 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (0x2 * ((uint128_t)x13 * x13))));
- uint128_t x17 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))));
- uint128_t x18 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x13)) + (((uint128_t)x14 * x14) + (0x2 * ((uint128_t)x13 * x12))))));
- uint128_t x19 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10))))));
- uint128_t x20 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x13)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (0x2 * ((uint128_t)x13 * x8))))))));
- uint128_t x21 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x13) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + ((uint128_t)x13 * x6))))))));
- uint128_t x22 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x13)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + (0x2 * ((uint128_t)x13 * x4))))))))));
- uint128_t x23 = (x22 >> 0x3b);
- uint64_t x24 = ((uint64_t)x22 & 0x7ffffffffffffff);
- uint128_t x25 = (x23 + x21);
- uint128_t x26 = (x25 >> 0x3a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- uint128_t x28 = (x26 + x20);
- uint128_t x29 = (x28 >> 0x3b);
- uint64_t x30 = ((uint64_t)x28 & 0x7ffffffffffffff);
- uint128_t x31 = (x29 + x19);
- uint128_t x32 = (x31 >> 0x3a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff);
- uint128_t x34 = (x32 + x18);
- uint128_t x35 = (x34 >> 0x3b);
- uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffffff);
- uint128_t x37 = (x35 + x17);
- uint128_t x38 = (x37 >> 0x3a);
- uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffffff);
- uint128_t x40 = (x38 + x16);
- uint128_t x41 = (x40 >> 0x3b);
- uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffffff);
- uint128_t x43 = (x41 + x15);
- uint128_t x44 = (x43 >> 0x3a);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff);
- uint128_t x46 = (x24 + (0x11 * x44));
- uint64_t x47 = (uint64_t) (x46 >> 0x3b);
- uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffffff);
- uint64_t x49 = (x47 + x27);
- uint64_t x50 = (x49 >> 0x3a);
- uint64_t x51 = (x49 & 0x3ffffffffffffff);
- return (Return x45, Return x42, Return x39, Return x36, Return x33, (x50 + x30), Return x51, Return x48))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.v
deleted file mode 100644
index 0aafaa527..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fesub.c b/src/Specific/solinas64_2e468m17_8limbs/fesub.c
deleted file mode 100644
index 8e9e5a81d..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0xfffffffffffffde + x5) - x19);
- out[1] = ((0x7fffffffffffffe + x7) - x21);
- out[2] = ((0xffffffffffffffe + x9) - x23);
- out[3] = ((0x7fffffffffffffe + x11) - x25);
- out[4] = ((0xffffffffffffffe + x13) - x27);
- out[5] = ((0x7fffffffffffffe + x15) - x29);
- out[6] = ((0xffffffffffffffe + x17) - x31);
- out[7] = ((0x7fffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fesub.v b/src/Specific/solinas64_2e468m17_8limbs/fesub.v
deleted file mode 100644
index 7321060b2..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.log
deleted file mode 100644
index 4164d6bf6..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x7fffffffffffffe + x16) - x30), ((0xffffffffffffffe + x17) - x31), ((0x7fffffffffffffe + x15) - x29), ((0xffffffffffffffe + x13) - x27), ((0x7fffffffffffffe + x11) - x25), ((0xffffffffffffffe + x9) - x23), ((0x7fffffffffffffe + x7) - x21), ((0xfffffffffffffde + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.v
deleted file mode 100644
index 585800f40..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e468m17_8limbs/freeze.c b/src/Specific/solinas64_2e468m17_8limbs/freeze.c
deleted file mode 100644
index a623a2a1e..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffef);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0x7ffffffffffffef);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0x3ffffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0x7ffffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0x3ffffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0x7ffffffffffffff);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0x3ffffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0x7ffffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0x3ffffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_8limbs/freeze.v b/src/Specific/solinas64_2e468m17_8limbs/freeze.v
deleted file mode 100644
index 33f6f5cc1..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.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/solinas64_2e468m17_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.log
deleted file mode 100644
index f54fa802d..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffffffef);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0x3ffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0x7ffffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0x3ffffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0x7ffffffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0x3ffffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0x7ffffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0x3ffffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0x7ffffffffffffef);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0x3ffffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0x7ffffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0x3ffffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0x7ffffffffffffff);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0x3ffffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0x7ffffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 59 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0x3ffffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.v
deleted file mode 100644
index 179f8ec3b..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e468m17_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e468m17_8limbs/py_interpreter.sh
deleted file mode 100755
index 699e598f0..000000000
--- a/src/Specific/solinas64_2e468m17_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**468 - 17' -Dmodulus_bytes='58.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e468m17_9limbs/CurveParameters.v b/src/Specific/solinas64_2e468m17_9limbs/CurveParameters.v
deleted file mode 100644
index 29223e90e..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^468 - 17
-Base: 52
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 52;
- bitwidth := 64;
- s := 2^468;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e468m17_9limbs/Synthesis.v b/src/Specific/solinas64_2e468m17_9limbs/Synthesis.v
deleted file mode 100644
index 3dd36977a..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/compiler.sh b/src/Specific/solinas64_2e468m17_9limbs/compiler.sh
deleted file mode 100755
index 973f9f644..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas64_2e468m17_9limbs/compilerxx.sh b/src/Specific/solinas64_2e468m17_9limbs/compilerxx.sh
deleted file mode 100755
index f10dad6ae..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/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,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x0f,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,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,0xff,0xef}' -Dmodulus_bytes_val='59' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<468) - 17' "$@"
diff --git a/src/Specific/solinas64_2e468m17_9limbs/feadd.c b/src/Specific/solinas64_2e468m17_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_9limbs/feadd.v b/src/Specific/solinas64_2e468m17_9limbs/feadd.v
deleted file mode 100644
index e453dfb66..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.v
deleted file mode 100644
index 57fb231ad..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fecarry.v b/src/Specific/solinas64_2e468m17_9limbs/fecarry.v
deleted file mode 100644
index 30eae0e68..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e468m17_9limbs/fecarryDisplay.v
deleted file mode 100644
index e85f4d25b..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e468m17_9limbs/femul.c b/src/Specific/solinas64_2e468m17_9limbs/femul.c
deleted file mode 100644
index f7bb09511..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29)))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23))))))))));
- { uint64_t x45 = (uint64_t) (x44 >> 0x34);
- { uint64_t x46 = ((uint64_t)x44 & 0xfffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint64_t x48 = (uint64_t) (x47 >> 0x34);
- { uint64_t x49 = ((uint64_t)x47 & 0xfffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint64_t x51 = (uint64_t) (x50 >> 0x34);
- { uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint64_t x54 = (uint64_t) (x53 >> 0x34);
- { uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint64_t x57 = (uint64_t) (x56 >> 0x34);
- { uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint64_t x60 = (uint64_t) (x59 >> 0x34);
- { uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint64_t x63 = (uint64_t) (x62 >> 0x34);
- { uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x34);
- { uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x34);
- { uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffff);
- { uint64_t x71 = (x46 + (0x11 * x69));
- { uint64_t x72 = (x71 >> 0x34);
- { uint64_t x73 = (x71 & 0xfffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x34);
- { uint64_t x76 = (x74 & 0xfffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_9limbs/femul.v b/src/Specific/solinas64_2e468m17_9limbs/femul.v
deleted file mode 100644
index 6244783f1..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/femulDisplay.log b/src/Specific/solinas64_2e468m17_9limbs/femulDisplay.log
deleted file mode 100644
index 9fd28fcea..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x11 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29)))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23))))))))));
- uint64_t x45 = (uint64_t) (x44 >> 0x34);
- uint64_t x46 = ((uint64_t)x44 & 0xfffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint64_t x48 = (uint64_t) (x47 >> 0x34);
- uint64_t x49 = ((uint64_t)x47 & 0xfffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint64_t x51 = (uint64_t) (x50 >> 0x34);
- uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint64_t x54 = (uint64_t) (x53 >> 0x34);
- uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint64_t x57 = (uint64_t) (x56 >> 0x34);
- uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint64_t x60 = (uint64_t) (x59 >> 0x34);
- uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint64_t x63 = (uint64_t) (x62 >> 0x34);
- uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x34);
- uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x34);
- uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffff);
- uint64_t x71 = (x46 + (0x11 * x69));
- uint64_t x72 = (x71 >> 0x34);
- uint64_t x73 = (x71 & 0xfffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x34);
- uint64_t x76 = (x74 & 0xfffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_9limbs/femulDisplay.v b/src/Specific/solinas64_2e468m17_9limbs/femulDisplay.v
deleted file mode 100644
index 981abf301..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fesquare.c b/src/Specific/solinas64_2e468m17_9limbs/fesquare.c
deleted file mode 100644
index bcfb518a4..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10)))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4))))))))));
- { uint64_t x26 = (uint64_t) (x25 >> 0x34);
- { uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint64_t x29 = (uint64_t) (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint64_t x32 = (uint64_t) (x31 >> 0x34);
- { uint64_t x33 = ((uint64_t)x31 & 0xfffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint64_t x35 = (uint64_t) (x34 >> 0x34);
- { uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint64_t x38 = (uint64_t) (x37 >> 0x34);
- { uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint64_t x41 = (uint64_t) (x40 >> 0x34);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint64_t x44 = (uint64_t) (x43 >> 0x34);
- { uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x34);
- { uint64_t x48 = ((uint64_t)x46 & 0xfffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x34);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- { uint64_t x52 = (x27 + (0x11 * x50));
- { uint64_t x53 = (x52 >> 0x34);
- { uint64_t x54 = (x52 & 0xfffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x34);
- { uint64_t x57 = (x55 & 0xfffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fesquare.v b/src/Specific/solinas64_2e468m17_9limbs/fesquare.v
deleted file mode 100644
index f4d98b87a..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.log
deleted file mode 100644
index 104cc8b1c..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10)))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4))))))))));
- uint64_t x26 = (uint64_t) (x25 >> 0x34);
- uint64_t x27 = ((uint64_t)x25 & 0xfffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint64_t x29 = (uint64_t) (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint64_t x32 = (uint64_t) (x31 >> 0x34);
- uint64_t x33 = ((uint64_t)x31 & 0xfffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint64_t x35 = (uint64_t) (x34 >> 0x34);
- uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint64_t x38 = (uint64_t) (x37 >> 0x34);
- uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint64_t x41 = (uint64_t) (x40 >> 0x34);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint64_t x44 = (uint64_t) (x43 >> 0x34);
- uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x34);
- uint64_t x48 = ((uint64_t)x46 & 0xfffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x34);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- uint64_t x52 = (x27 + (0x11 * x50));
- uint64_t x53 = (x52 >> 0x34);
- uint64_t x54 = (x52 & 0xfffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x34);
- uint64_t x57 = (x55 & 0xfffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.v
deleted file mode 100644
index 01f04d759..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fesub.c b/src/Specific/solinas64_2e468m17_9limbs/fesub.c
deleted file mode 100644
index c2dfee6a0..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0x1fffffffffffde + x5) - x21);
- out[1] = ((0x1ffffffffffffe + x7) - x23);
- out[2] = ((0x1ffffffffffffe + x9) - x25);
- out[3] = ((0x1ffffffffffffe + x11) - x27);
- out[4] = ((0x1ffffffffffffe + x13) - x29);
- out[5] = ((0x1ffffffffffffe + x15) - x31);
- out[6] = ((0x1ffffffffffffe + x17) - x33);
- out[7] = ((0x1ffffffffffffe + x19) - x35);
- out[8] = ((0x1ffffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fesub.v b/src/Specific/solinas64_2e468m17_9limbs/fesub.v
deleted file mode 100644
index 4023e3f2b..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.log
deleted file mode 100644
index 6a646cb64..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x1ffffffffffffe + x18) - x34), ((0x1ffffffffffffe + x19) - x35), ((0x1ffffffffffffe + x17) - x33), ((0x1ffffffffffffe + x15) - x31), ((0x1ffffffffffffe + x13) - x29), ((0x1ffffffffffffe + x11) - x27), ((0x1ffffffffffffe + x9) - x25), ((0x1ffffffffffffe + x7) - x23), ((0x1fffffffffffde + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.v
deleted file mode 100644
index 8eed31191..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e468m17_9limbs/freeze.c b/src/Specific/solinas64_2e468m17_9limbs/freeze.c
deleted file mode 100644
index 5e46faf8c..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffef);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0xfffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0xfffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0xfffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0xfffffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0xfffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0xfffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0xfffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0xfffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0xfffffffffffef);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0xfffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0xfffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0xfffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0xfffffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0xfffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0xfffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0xfffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0xfffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e468m17_9limbs/freeze.v b/src/Specific/solinas64_2e468m17_9limbs/freeze.v
deleted file mode 100644
index c98268b78..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.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/solinas64_2e468m17_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.log
deleted file mode 100644
index a1b1d7d00..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffef);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0xfffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0xfffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0xfffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0xfffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0xfffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0xfffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0xfffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0xfffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0xfffffffffffef);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0xfffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0xfffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0xfffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0xfffffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0xfffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0xfffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0xfffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0xfffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.v
deleted file mode 100644
index 362e38e38..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e468m17_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e468m17_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e468m17_9limbs/py_interpreter.sh
deleted file mode 100755
index 9a8a23861..000000000
--- a/src/Specific/solinas64_2e468m17_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**468 - 17' -Dmodulus_bytes='52' -Da24='121665'
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/CurveParameters.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/CurveParameters.v
deleted file mode 100644
index c56f45689..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^480 - 2^240 - 1
-Base: 48
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 48;
- bitwidth := 64;
- s := 2^480;
- c := [(1, 1); (2^240, 1)];
- carry_chains := Some [[4; 9]; [5; 0; 6; 1; 7; 2; 8; 3; 9; 4]; [5; 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/solinas64_2e480m2e240m1_10limbs/Synthesis.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/Synthesis.v
deleted file mode 100644
index 27de625e7..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/compiler.sh b/src/Specific/solinas64_2e480m2e240m1_10limbs/compiler.sh
deleted file mode 100755
index d7a0d314a..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48,48,48}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/compilerxx.sh b/src/Specific/solinas64_2e480m2e240m1_10limbs/compilerxx.sh
deleted file mode 100755
index 1e6f03786..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{48,48,48,48,48,48,48,48,48,48}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.c b/src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.v
deleted file mode 100644
index 77ed601b9..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.v
deleted file mode 100644
index f7de22d7d..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fecarry.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/fecarry.v
deleted file mode 100644
index 3be273f50..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index b5bb95703..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/femul.c b/src/Specific/solinas64_2e480m2e240m1_10limbs/femul.c
deleted file mode 100644
index 6ff5fd47c..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/femul.c
+++ /dev/null
@@ -1,97 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)(x13 + x20) * (x31 + x38)) - ((uint128_t)x13 * x31));
- { uint128_t x41 = ((((uint128_t)(x11 + x21) * (x31 + x38)) + ((uint128_t)(x13 + x20) * (x29 + x39))) - (((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)));
- { uint128_t x42 = ((((uint128_t)(x9 + x19) * (x31 + x38)) + (((uint128_t)(x11 + x21) * (x29 + x39)) + ((uint128_t)(x13 + x20) * (x27 + x37)))) - (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))));
- { uint128_t x43 = ((((uint128_t)(x7 + x17) * (x31 + x38)) + (((uint128_t)(x9 + x19) * (x29 + x39)) + (((uint128_t)(x11 + x21) * (x27 + x37)) + ((uint128_t)(x13 + x20) * (x25 + x35))))) - (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))));
- { uint128_t x44 = ((((uint128_t)(x5 + x15) * (x31 + x38)) + (((uint128_t)(x7 + x17) * (x29 + x39)) + (((uint128_t)(x9 + x19) * (x27 + x37)) + (((uint128_t)(x11 + x21) * (x25 + x35)) + ((uint128_t)(x13 + x20) * (x23 + x33)))))) - (((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))));
- { uint128_t x45 = ((((uint128_t)(x5 + x15) * (x29 + x39)) + (((uint128_t)(x7 + x17) * (x27 + x37)) + (((uint128_t)(x9 + x19) * (x25 + x35)) + ((uint128_t)(x11 + x21) * (x23 + x33))))) - (((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))));
- { uint128_t x46 = ((((uint128_t)(x5 + x15) * (x27 + x37)) + (((uint128_t)(x7 + x17) * (x25 + x35)) + ((uint128_t)(x9 + x19) * (x23 + x33)))) - (((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))));
- { uint128_t x47 = ((((uint128_t)(x5 + x15) * (x25 + x35)) + ((uint128_t)(x7 + x17) * (x23 + x33))) - (((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)));
- { uint128_t x48 = (((uint128_t)(x5 + x15) * (x23 + x33)) - ((uint128_t)x5 * x23));
- { uint128_t x49 = (((((uint128_t)x13 * x31) + ((uint128_t)x20 * x38)) + x45) + x40);
- { uint128_t x50 = ((((((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)) + (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))) + x46) + x41);
- { uint128_t x51 = ((((((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))) + (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))) + x47) + x42);
- { uint128_t x52 = ((((((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))) + (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))) + x48) + x43);
- { uint128_t x53 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- { uint128_t x54 = (((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + ((uint128_t)x21 * x33))))) + x40);
- { uint128_t x55 = (((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + ((uint128_t)x19 * x33)))) + x41);
- { uint128_t x56 = (((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x15 * x35) + ((uint128_t)x17 * x33))) + x42);
- { uint128_t x57 = ((((uint128_t)x5 * x23) + ((uint128_t)x15 * x33)) + x43);
- { uint64_t x58 = (uint64_t) (x53 >> 0x30);
- { uint64_t x59 = ((uint64_t)x53 & 0xffffffffffff);
- { uint64_t x60 = (uint64_t) (x44 >> 0x30);
- { uint64_t x61 = ((uint64_t)x44 & 0xffffffffffff);
- { uint128_t x62 = (((uint128_t)0x1000000000000 * x60) + x61);
- { uint64_t x63 = (uint64_t) (x62 >> 0x30);
- { uint64_t x64 = ((uint64_t)x62 & 0xffffffffffff);
- { uint128_t x65 = ((x58 + x52) + x63);
- { uint64_t x66 = (uint64_t) (x65 >> 0x30);
- { uint64_t x67 = ((uint64_t)x65 & 0xffffffffffff);
- { uint128_t x68 = (x57 + x63);
- { uint64_t x69 = (uint64_t) (x68 >> 0x30);
- { uint64_t x70 = ((uint64_t)x68 & 0xffffffffffff);
- { uint128_t x71 = (x66 + x51);
- { uint64_t x72 = (uint64_t) (x71 >> 0x30);
- { uint64_t x73 = ((uint64_t)x71 & 0xffffffffffff);
- { uint128_t x74 = (x69 + x56);
- { uint64_t x75 = (uint64_t) (x74 >> 0x30);
- { uint64_t x76 = ((uint64_t)x74 & 0xffffffffffff);
- { uint128_t x77 = (x72 + x50);
- { uint64_t x78 = (uint64_t) (x77 >> 0x30);
- { uint64_t x79 = ((uint64_t)x77 & 0xffffffffffff);
- { uint128_t x80 = (x75 + x55);
- { uint64_t x81 = (uint64_t) (x80 >> 0x30);
- { uint64_t x82 = ((uint64_t)x80 & 0xffffffffffff);
- { uint128_t x83 = (x78 + x49);
- { uint64_t x84 = (uint64_t) (x83 >> 0x30);
- { uint64_t x85 = ((uint64_t)x83 & 0xffffffffffff);
- { uint128_t x86 = (x81 + x54);
- { uint64_t x87 = (uint64_t) (x86 >> 0x30);
- { uint64_t x88 = ((uint64_t)x86 & 0xffffffffffff);
- { uint64_t x89 = (x84 + x64);
- { uint64_t x90 = (x89 >> 0x30);
- { uint64_t x91 = (x89 & 0xffffffffffff);
- { uint64_t x92 = (x87 + x59);
- { uint64_t x93 = (x92 >> 0x30);
- { uint64_t x94 = (x92 & 0xffffffffffff);
- { uint64_t x95 = ((0x1000000000000 * x90) + x91);
- { uint64_t x96 = (x95 >> 0x30);
- { uint64_t x97 = (x95 & 0xffffffffffff);
- { uint64_t x98 = ((x93 + x67) + x96);
- { uint64_t x99 = (x98 >> 0x30);
- { uint64_t x100 = (x98 & 0xffffffffffff);
- { uint64_t x101 = (x70 + x96);
- { uint64_t x102 = (x101 >> 0x30);
- { uint64_t x103 = (x101 & 0xffffffffffff);
- out[0] = x103;
- out[1] = (x102 + x76);
- out[2] = x82;
- out[3] = x88;
- out[4] = x94;
- out[5] = x100;
- out[6] = (x99 + x73);
- out[7] = x79;
- out[8] = x85;
- out[9] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/femul.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/femul.v
deleted file mode 100644
index e5dc6f56c..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/femulDisplay.log b/src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.log
deleted file mode 100644
index 8f3c49a57..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)(x13 + x20) * (x31 + x38)) - ((uint128_t)x13 * x31));
- uint128_t x41 = ((((uint128_t)(x11 + x21) * (x31 + x38)) + ((uint128_t)(x13 + x20) * (x29 + x39))) - (((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)));
- uint128_t x42 = ((((uint128_t)(x9 + x19) * (x31 + x38)) + (((uint128_t)(x11 + x21) * (x29 + x39)) + ((uint128_t)(x13 + x20) * (x27 + x37)))) - (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))));
- uint128_t x43 = ((((uint128_t)(x7 + x17) * (x31 + x38)) + (((uint128_t)(x9 + x19) * (x29 + x39)) + (((uint128_t)(x11 + x21) * (x27 + x37)) + ((uint128_t)(x13 + x20) * (x25 + x35))))) - (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))));
- uint128_t x44 = ((((uint128_t)(x5 + x15) * (x31 + x38)) + (((uint128_t)(x7 + x17) * (x29 + x39)) + (((uint128_t)(x9 + x19) * (x27 + x37)) + (((uint128_t)(x11 + x21) * (x25 + x35)) + ((uint128_t)(x13 + x20) * (x23 + x33)))))) - (((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))));
- uint128_t x45 = ((((uint128_t)(x5 + x15) * (x29 + x39)) + (((uint128_t)(x7 + x17) * (x27 + x37)) + (((uint128_t)(x9 + x19) * (x25 + x35)) + ((uint128_t)(x11 + x21) * (x23 + x33))))) - (((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))));
- uint128_t x46 = ((((uint128_t)(x5 + x15) * (x27 + x37)) + (((uint128_t)(x7 + x17) * (x25 + x35)) + ((uint128_t)(x9 + x19) * (x23 + x33)))) - (((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))));
- uint128_t x47 = ((((uint128_t)(x5 + x15) * (x25 + x35)) + ((uint128_t)(x7 + x17) * (x23 + x33))) - (((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)));
- uint128_t x48 = (((uint128_t)(x5 + x15) * (x23 + x33)) - ((uint128_t)x5 * x23));
- uint128_t x49 = (((((uint128_t)x13 * x31) + ((uint128_t)x20 * x38)) + x45) + x40);
- uint128_t x50 = ((((((uint128_t)x11 * x31) + ((uint128_t)x13 * x29)) + (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))) + x46) + x41);
- uint128_t x51 = ((((((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + ((uint128_t)x13 * x27))) + (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))) + x47) + x42);
- uint128_t x52 = ((((((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25)))) + (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))) + x48) + x43);
- uint128_t x53 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- uint128_t x54 = (((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + ((uint128_t)x21 * x33))))) + x40);
- uint128_t x55 = (((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + ((uint128_t)x19 * x33)))) + x41);
- uint128_t x56 = (((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x15 * x35) + ((uint128_t)x17 * x33))) + x42);
- uint128_t x57 = ((((uint128_t)x5 * x23) + ((uint128_t)x15 * x33)) + x43);
- uint64_t x58 = (uint64_t) (x53 >> 0x30);
- uint64_t x59 = ((uint64_t)x53 & 0xffffffffffff);
- uint64_t x60 = (uint64_t) (x44 >> 0x30);
- uint64_t x61 = ((uint64_t)x44 & 0xffffffffffff);
- uint128_t x62 = (((uint128_t)0x1000000000000 * x60) + x61);
- uint64_t x63 = (uint64_t) (x62 >> 0x30);
- uint64_t x64 = ((uint64_t)x62 & 0xffffffffffff);
- uint128_t x65 = ((x58 + x52) + x63);
- uint64_t x66 = (uint64_t) (x65 >> 0x30);
- uint64_t x67 = ((uint64_t)x65 & 0xffffffffffff);
- uint128_t x68 = (x57 + x63);
- uint64_t x69 = (uint64_t) (x68 >> 0x30);
- uint64_t x70 = ((uint64_t)x68 & 0xffffffffffff);
- uint128_t x71 = (x66 + x51);
- uint64_t x72 = (uint64_t) (x71 >> 0x30);
- uint64_t x73 = ((uint64_t)x71 & 0xffffffffffff);
- uint128_t x74 = (x69 + x56);
- uint64_t x75 = (uint64_t) (x74 >> 0x30);
- uint64_t x76 = ((uint64_t)x74 & 0xffffffffffff);
- uint128_t x77 = (x72 + x50);
- uint64_t x78 = (uint64_t) (x77 >> 0x30);
- uint64_t x79 = ((uint64_t)x77 & 0xffffffffffff);
- uint128_t x80 = (x75 + x55);
- uint64_t x81 = (uint64_t) (x80 >> 0x30);
- uint64_t x82 = ((uint64_t)x80 & 0xffffffffffff);
- uint128_t x83 = (x78 + x49);
- uint64_t x84 = (uint64_t) (x83 >> 0x30);
- uint64_t x85 = ((uint64_t)x83 & 0xffffffffffff);
- uint128_t x86 = (x81 + x54);
- uint64_t x87 = (uint64_t) (x86 >> 0x30);
- uint64_t x88 = ((uint64_t)x86 & 0xffffffffffff);
- uint64_t x89 = (x84 + x64);
- uint64_t x90 = (x89 >> 0x30);
- uint64_t x91 = (x89 & 0xffffffffffff);
- uint64_t x92 = (x87 + x59);
- uint64_t x93 = (x92 >> 0x30);
- uint64_t x94 = (x92 & 0xffffffffffff);
- uint64_t x95 = ((0x1000000000000 * x90) + x91);
- uint64_t x96 = (x95 >> 0x30);
- uint64_t x97 = (x95 & 0xffffffffffff);
- uint64_t x98 = ((x93 + x67) + x96);
- uint64_t x99 = (x98 >> 0x30);
- uint64_t x100 = (x98 & 0xffffffffffff);
- uint64_t x101 = (x70 + x96);
- uint64_t x102 = (x101 >> 0x30);
- uint64_t x103 = (x101 & 0xffffffffffff);
- return (Return x97, Return x85, Return x79, (x99 + x73), Return x100, Return x94, Return x88, Return x82, (x102 + x76), Return x103))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.v
deleted file mode 100644
index db2a0b007..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.c b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.c
deleted file mode 100644
index 339a85a97..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.c
+++ /dev/null
@@ -1,87 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)(x10 + x17) * (x10 + x17)) - ((uint128_t)x10 * x10));
- { uint128_t x20 = ((((uint128_t)(x8 + x18) * (x10 + x17)) + ((uint128_t)(x10 + x17) * (x8 + x18))) - (((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)));
- { uint128_t x21 = ((((uint128_t)(x6 + x16) * (x10 + x17)) + (((uint128_t)(x8 + x18) * (x8 + x18)) + ((uint128_t)(x10 + x17) * (x6 + x16)))) - (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))));
- { uint128_t x22 = ((((uint128_t)(x4 + x14) * (x10 + x17)) + (((uint128_t)(x6 + x16) * (x8 + x18)) + (((uint128_t)(x8 + x18) * (x6 + x16)) + ((uint128_t)(x10 + x17) * (x4 + x14))))) - (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))));
- { uint128_t x23 = ((((uint128_t)(x2 + x12) * (x10 + x17)) + (((uint128_t)(x4 + x14) * (x8 + x18)) + (((uint128_t)(x6 + x16) * (x6 + x16)) + (((uint128_t)(x8 + x18) * (x4 + x14)) + ((uint128_t)(x10 + x17) * (x2 + x12)))))) - (((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))));
- { uint128_t x24 = ((((uint128_t)(x2 + x12) * (x8 + x18)) + (((uint128_t)(x4 + x14) * (x6 + x16)) + (((uint128_t)(x6 + x16) * (x4 + x14)) + ((uint128_t)(x8 + x18) * (x2 + x12))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- { uint128_t x25 = ((((uint128_t)(x2 + x12) * (x6 + x16)) + (((uint128_t)(x4 + x14) * (x4 + x14)) + ((uint128_t)(x6 + x16) * (x2 + x12)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x26 = ((((uint128_t)(x2 + x12) * (x4 + x14)) + ((uint128_t)(x4 + x14) * (x2 + x12))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x27 = (((uint128_t)(x2 + x12) * (x2 + x12)) - ((uint128_t)x2 * x2));
- { uint128_t x28 = (((((uint128_t)x10 * x10) + ((uint128_t)x17 * x17)) + x24) + x19);
- { uint128_t x29 = ((((((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)) + (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))) + x25) + x20);
- { uint128_t x30 = ((((((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))) + (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))) + x26) + x21);
- { uint128_t x31 = ((((((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))) + (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))) + x27) + x22);
- { uint128_t x32 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- { uint128_t x33 = (((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x18 * x12))))) + x19);
- { uint128_t x34 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + ((uint128_t)x16 * x12)))) + x20);
- { uint128_t x35 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x12 * x14) + ((uint128_t)x14 * x12))) + x21);
- { uint128_t x36 = ((((uint128_t)x2 * x2) + ((uint128_t)x12 * x12)) + x22);
- { uint64_t x37 = (uint64_t) (x32 >> 0x30);
- { uint64_t x38 = ((uint64_t)x32 & 0xffffffffffff);
- { uint64_t x39 = (uint64_t) (x23 >> 0x30);
- { uint64_t x40 = ((uint64_t)x23 & 0xffffffffffff);
- { uint128_t x41 = (((uint128_t)0x1000000000000 * x39) + x40);
- { uint64_t x42 = (uint64_t) (x41 >> 0x30);
- { uint64_t x43 = ((uint64_t)x41 & 0xffffffffffff);
- { uint128_t x44 = ((x37 + x31) + x42);
- { uint64_t x45 = (uint64_t) (x44 >> 0x30);
- { uint64_t x46 = ((uint64_t)x44 & 0xffffffffffff);
- { uint128_t x47 = (x36 + x42);
- { uint64_t x48 = (uint64_t) (x47 >> 0x30);
- { uint64_t x49 = ((uint64_t)x47 & 0xffffffffffff);
- { uint128_t x50 = (x45 + x30);
- { uint64_t x51 = (uint64_t) (x50 >> 0x30);
- { uint64_t x52 = ((uint64_t)x50 & 0xffffffffffff);
- { uint128_t x53 = (x48 + x35);
- { uint64_t x54 = (uint64_t) (x53 >> 0x30);
- { uint64_t x55 = ((uint64_t)x53 & 0xffffffffffff);
- { uint128_t x56 = (x51 + x29);
- { uint64_t x57 = (uint64_t) (x56 >> 0x30);
- { uint64_t x58 = ((uint64_t)x56 & 0xffffffffffff);
- { uint128_t x59 = (x54 + x34);
- { uint64_t x60 = (uint64_t) (x59 >> 0x30);
- { uint64_t x61 = ((uint64_t)x59 & 0xffffffffffff);
- { uint128_t x62 = (x57 + x28);
- { uint64_t x63 = (uint64_t) (x62 >> 0x30);
- { uint64_t x64 = ((uint64_t)x62 & 0xffffffffffff);
- { uint128_t x65 = (x60 + x33);
- { uint64_t x66 = (uint64_t) (x65 >> 0x30);
- { uint64_t x67 = ((uint64_t)x65 & 0xffffffffffff);
- { uint64_t x68 = (x63 + x43);
- { uint64_t x69 = (x68 >> 0x30);
- { uint64_t x70 = (x68 & 0xffffffffffff);
- { uint64_t x71 = (x66 + x38);
- { uint64_t x72 = (x71 >> 0x30);
- { uint64_t x73 = (x71 & 0xffffffffffff);
- { uint64_t x74 = ((0x1000000000000 * x69) + x70);
- { uint64_t x75 = (x74 >> 0x30);
- { uint64_t x76 = (x74 & 0xffffffffffff);
- { uint64_t x77 = ((x72 + x46) + x75);
- { uint64_t x78 = (x77 >> 0x30);
- { uint64_t x79 = (x77 & 0xffffffffffff);
- { uint64_t x80 = (x49 + x75);
- { uint64_t x81 = (x80 >> 0x30);
- { uint64_t x82 = (x80 & 0xffffffffffff);
- out[0] = x82;
- out[1] = (x81 + x55);
- out[2] = x61;
- out[3] = x67;
- out[4] = x73;
- out[5] = x79;
- out[6] = (x78 + x52);
- out[7] = x58;
- out[8] = x64;
- out[9] = x76;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.v
deleted file mode 100644
index f2c985618..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.log
deleted file mode 100644
index 28aa3ebcf..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,71 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)(x10 + x17) * (x10 + x17)) - ((uint128_t)x10 * x10));
- uint128_t x20 = ((((uint128_t)(x8 + x18) * (x10 + x17)) + ((uint128_t)(x10 + x17) * (x8 + x18))) - (((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)));
- uint128_t x21 = ((((uint128_t)(x6 + x16) * (x10 + x17)) + (((uint128_t)(x8 + x18) * (x8 + x18)) + ((uint128_t)(x10 + x17) * (x6 + x16)))) - (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))));
- uint128_t x22 = ((((uint128_t)(x4 + x14) * (x10 + x17)) + (((uint128_t)(x6 + x16) * (x8 + x18)) + (((uint128_t)(x8 + x18) * (x6 + x16)) + ((uint128_t)(x10 + x17) * (x4 + x14))))) - (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))));
- uint128_t x23 = ((((uint128_t)(x2 + x12) * (x10 + x17)) + (((uint128_t)(x4 + x14) * (x8 + x18)) + (((uint128_t)(x6 + x16) * (x6 + x16)) + (((uint128_t)(x8 + x18) * (x4 + x14)) + ((uint128_t)(x10 + x17) * (x2 + x12)))))) - (((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))));
- uint128_t x24 = ((((uint128_t)(x2 + x12) * (x8 + x18)) + (((uint128_t)(x4 + x14) * (x6 + x16)) + (((uint128_t)(x6 + x16) * (x4 + x14)) + ((uint128_t)(x8 + x18) * (x2 + x12))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- uint128_t x25 = ((((uint128_t)(x2 + x12) * (x6 + x16)) + (((uint128_t)(x4 + x14) * (x4 + x14)) + ((uint128_t)(x6 + x16) * (x2 + x12)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x26 = ((((uint128_t)(x2 + x12) * (x4 + x14)) + ((uint128_t)(x4 + x14) * (x2 + x12))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x27 = (((uint128_t)(x2 + x12) * (x2 + x12)) - ((uint128_t)x2 * x2));
- uint128_t x28 = (((((uint128_t)x10 * x10) + ((uint128_t)x17 * x17)) + x24) + x19);
- uint128_t x29 = ((((((uint128_t)x8 * x10) + ((uint128_t)x10 * x8)) + (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))) + x25) + x20);
- uint128_t x30 = ((((((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + ((uint128_t)x10 * x6))) + (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))) + x26) + x21);
- uint128_t x31 = ((((((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((uint128_t)x10 * x4)))) + (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))) + x27) + x22);
- uint128_t x32 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- uint128_t x33 = (((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x18 * x12))))) + x19);
- uint128_t x34 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + ((uint128_t)x16 * x12)))) + x20);
- uint128_t x35 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x12 * x14) + ((uint128_t)x14 * x12))) + x21);
- uint128_t x36 = ((((uint128_t)x2 * x2) + ((uint128_t)x12 * x12)) + x22);
- uint64_t x37 = (uint64_t) (x32 >> 0x30);
- uint64_t x38 = ((uint64_t)x32 & 0xffffffffffff);
- uint64_t x39 = (uint64_t) (x23 >> 0x30);
- uint64_t x40 = ((uint64_t)x23 & 0xffffffffffff);
- uint128_t x41 = (((uint128_t)0x1000000000000 * x39) + x40);
- uint64_t x42 = (uint64_t) (x41 >> 0x30);
- uint64_t x43 = ((uint64_t)x41 & 0xffffffffffff);
- uint128_t x44 = ((x37 + x31) + x42);
- uint64_t x45 = (uint64_t) (x44 >> 0x30);
- uint64_t x46 = ((uint64_t)x44 & 0xffffffffffff);
- uint128_t x47 = (x36 + x42);
- uint64_t x48 = (uint64_t) (x47 >> 0x30);
- uint64_t x49 = ((uint64_t)x47 & 0xffffffffffff);
- uint128_t x50 = (x45 + x30);
- uint64_t x51 = (uint64_t) (x50 >> 0x30);
- uint64_t x52 = ((uint64_t)x50 & 0xffffffffffff);
- uint128_t x53 = (x48 + x35);
- uint64_t x54 = (uint64_t) (x53 >> 0x30);
- uint64_t x55 = ((uint64_t)x53 & 0xffffffffffff);
- uint128_t x56 = (x51 + x29);
- uint64_t x57 = (uint64_t) (x56 >> 0x30);
- uint64_t x58 = ((uint64_t)x56 & 0xffffffffffff);
- uint128_t x59 = (x54 + x34);
- uint64_t x60 = (uint64_t) (x59 >> 0x30);
- uint64_t x61 = ((uint64_t)x59 & 0xffffffffffff);
- uint128_t x62 = (x57 + x28);
- uint64_t x63 = (uint64_t) (x62 >> 0x30);
- uint64_t x64 = ((uint64_t)x62 & 0xffffffffffff);
- uint128_t x65 = (x60 + x33);
- uint64_t x66 = (uint64_t) (x65 >> 0x30);
- uint64_t x67 = ((uint64_t)x65 & 0xffffffffffff);
- uint64_t x68 = (x63 + x43);
- uint64_t x69 = (x68 >> 0x30);
- uint64_t x70 = (x68 & 0xffffffffffff);
- uint64_t x71 = (x66 + x38);
- uint64_t x72 = (x71 >> 0x30);
- uint64_t x73 = (x71 & 0xffffffffffff);
- uint64_t x74 = ((0x1000000000000 * x69) + x70);
- uint64_t x75 = (x74 >> 0x30);
- uint64_t x76 = (x74 & 0xffffffffffff);
- uint64_t x77 = ((x72 + x46) + x75);
- uint64_t x78 = (x77 >> 0x30);
- uint64_t x79 = (x77 & 0xffffffffffff);
- uint64_t x80 = (x49 + x75);
- uint64_t x81 = (x80 >> 0x30);
- uint64_t x82 = (x80 & 0xffffffffffff);
- return (Return x76, Return x64, Return x58, (x78 + x52), Return x79, Return x73, Return x67, Return x61, (x81 + x55), Return x82))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index f6de5ed9e..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.c b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.c
deleted file mode 100644
index 806ea3ced..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x1fffffffffffe + x5) - x23);
- out[1] = ((0x1fffffffffffe + x7) - x25);
- out[2] = ((0x1fffffffffffe + x9) - x27);
- out[3] = ((0x1fffffffffffe + x11) - x29);
- out[4] = ((0x1fffffffffffe + x13) - x31);
- out[5] = ((0x1fffffffffffc + x15) - x33);
- out[6] = ((0x1fffffffffffe + x17) - x35);
- out[7] = ((0x1fffffffffffe + x19) - x37);
- out[8] = ((0x1fffffffffffe + x21) - x39);
- out[9] = ((0x1fffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.v
deleted file mode 100644
index b3279e26a..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.log
deleted file mode 100644
index e5177ed02..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x1fffffffffffe + x20) - x38), ((0x1fffffffffffe + x21) - x39), ((0x1fffffffffffe + x19) - x37), ((0x1fffffffffffe + x17) - x35), ((0x1fffffffffffc + x15) - x33), ((0x1fffffffffffe + x13) - x31), ((0x1fffffffffffe + x11) - x29), ((0x1fffffffffffe + x9) - x27), ((0x1fffffffffffe + x7) - x25), ((0x1fffffffffffe + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.v
deleted file mode 100644
index 9eae98e08..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.c b/src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.c
deleted file mode 100644
index 60d878f34..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0xffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0xffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffffffffffe);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0xffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0xffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0xffffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0xffffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0xffffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0xffffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0xffffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0xfffffffffffe);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0xffffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0xffffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0xffffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0xffffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.v
deleted file mode 100644
index 83959734d..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.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/solinas64_2e480m2e240m1_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.log
deleted file mode 100644
index f5e8e5871..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0xffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0xffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0xffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffffffffffe);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0xffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0xffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0xffffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0xffffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0xffffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0xffffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0xffffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0xffffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0xfffffffffffe);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0xffffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0xffffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0xffffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0xffffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.v
deleted file mode 100644
index 94b76ba47..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e480m2e240m1_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e480m2e240m1_10limbs/py_interpreter.sh
deleted file mode 100755
index 86e137507..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**480 - 2**240 - 1' -Dmodulus_bytes='48' -Da24='121665'
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/CurveParameters.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/CurveParameters.v
deleted file mode 100644
index e4fd7f1e8..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^480 - 2^240 - 1
-Base: 60
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 8%nat;
- base := 60;
- bitwidth := 64;
- s := 2^480;
- c := [(1, 1); (2^240, 1)];
- carry_chains := Some [[3; 7]; [4; 0; 5; 1; 6; 2; 7; 3]; [4; 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/solinas64_2e480m2e240m1_8limbs/Synthesis.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/Synthesis.v
deleted file mode 100644
index 9bf5c1a05..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/compiler.sh b/src/Specific/solinas64_2e480m2e240m1_8limbs/compiler.sh
deleted file mode 100755
index 83ba0f2fc..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/compilerxx.sh b/src/Specific/solinas64_2e480m2e240m1_8limbs/compilerxx.sh
deleted file mode 100755
index 696babcf8..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/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,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{60,60,60,60,60,60,60,60}' -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,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,0xff,0xff}' -Dmodulus_bytes_val='60' -Dmodulus_limbs='8' -Dq_mpz='(1_mpz<<480) - (1_mpz<<240) - 1' "$@"
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.c b/src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.c
deleted file mode 100644
index 4def6ee9c..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = (x5 + x19);
- out[1] = (x7 + x21);
- out[2] = (x9 + x23);
- out[3] = (x11 + x25);
- out[4] = (x13 + x27);
- out[5] = (x15 + x29);
- out[6] = (x17 + x31);
- out[7] = (x16 + x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.v
deleted file mode 100644
index 1f856b831..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/feaddDisplay.log b/src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.log
deleted file mode 100644
index 023fc8a31..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.v
deleted file mode 100644
index cb3330c27..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fecarry.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/fecarry.v
deleted file mode 100644
index bb7ab4010..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/fecarryDisplay.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/fecarryDisplay.v
deleted file mode 100644
index 1c73cdcb6..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/femul.c b/src/Specific/solinas64_2e480m2e240m1_8limbs/femul.c
deleted file mode 100644
index f76985cfd..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/femul.c
+++ /dev/null
@@ -1,81 +0,0 @@
-static void femul(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- { uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- { uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- { uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- { uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- { uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- { uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- { uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- { uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- { uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- { uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- { uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- { uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- { uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- { uint128_t x46 = (x42 >> 0x3c);
- { uint64_t x47 = ((uint64_t)x42 & 0xfffffffffffffff);
- { uint128_t x48 = (x35 >> 0x3c);
- { uint64_t x49 = ((uint64_t)x35 & 0xfffffffffffffff);
- { uint128_t x50 = ((0x1000000000000000 * x48) + x49);
- { uint128_t x51 = (x50 >> 0x3c);
- { uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffffff);
- { uint128_t x53 = ((x46 + x41) + x51);
- { uint128_t x54 = (x53 >> 0x3c);
- { uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffffff);
- { uint128_t x56 = (x45 + x51);
- { uint128_t x57 = (x56 >> 0x3c);
- { uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffffff);
- { uint128_t x59 = (x54 + x40);
- { uint128_t x60 = (x59 >> 0x3c);
- { uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffffff);
- { uint128_t x62 = (x57 + x44);
- { uint128_t x63 = (x62 >> 0x3c);
- { uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffffff);
- { uint128_t x65 = (x60 + x39);
- { uint128_t x66 = (x65 >> 0x3c);
- { uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffffff);
- { uint128_t x68 = (x63 + x43);
- { uint128_t x69 = (x68 >> 0x3c);
- { uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffffff);
- { uint128_t x71 = (x66 + x52);
- { uint64_t x72 = (uint64_t) (x71 >> 0x3c);
- { uint64_t x73 = ((uint64_t)x71 & 0xfffffffffffffff);
- { uint128_t x74 = (x69 + x47);
- { uint64_t x75 = (uint64_t) (x74 >> 0x3c);
- { uint64_t x76 = ((uint64_t)x74 & 0xfffffffffffffff);
- { uint128_t x77 = (((uint128_t)0x1000000000000000 * x72) + x73);
- { uint64_t x78 = (uint64_t) (x77 >> 0x3c);
- { uint64_t x79 = ((uint64_t)x77 & 0xfffffffffffffff);
- { uint64_t x80 = ((x75 + x55) + x78);
- { uint64_t x81 = (x80 >> 0x3c);
- { uint64_t x82 = (x80 & 0xfffffffffffffff);
- { uint64_t x83 = (x58 + x78);
- { uint64_t x84 = (x83 >> 0x3c);
- { uint64_t x85 = (x83 & 0xfffffffffffffff);
- out[0] = x85;
- out[1] = (x84 + x64);
- out[2] = x70;
- out[3] = x76;
- out[4] = x82;
- out[5] = (x81 + x61);
- out[6] = x67;
- out[7] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/femul.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/femul.v
deleted file mode 100644
index bf8d33d2d..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/femulDisplay.log b/src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.log
deleted file mode 100644
index 3b4d06e2c..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- uint128_t x32 = (((uint128_t)(x11 + x16) * (x25 + x30)) - ((uint128_t)x11 * x25));
- uint128_t x33 = ((((uint128_t)(x9 + x17) * (x25 + x30)) + ((uint128_t)(x11 + x16) * (x23 + x31))) - (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)));
- uint128_t x34 = ((((uint128_t)(x7 + x15) * (x25 + x30)) + (((uint128_t)(x9 + x17) * (x23 + x31)) + ((uint128_t)(x11 + x16) * (x21 + x29)))) - (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))));
- uint128_t x35 = ((((uint128_t)(x5 + x13) * (x25 + x30)) + (((uint128_t)(x7 + x15) * (x23 + x31)) + (((uint128_t)(x9 + x17) * (x21 + x29)) + ((uint128_t)(x11 + x16) * (x19 + x27))))) - (((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))));
- uint128_t x36 = ((((uint128_t)(x5 + x13) * (x23 + x31)) + (((uint128_t)(x7 + x15) * (x21 + x29)) + ((uint128_t)(x9 + x17) * (x19 + x27)))) - (((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))));
- uint128_t x37 = ((((uint128_t)(x5 + x13) * (x21 + x29)) + ((uint128_t)(x7 + x15) * (x19 + x27))) - (((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)));
- uint128_t x38 = (((uint128_t)(x5 + x13) * (x19 + x27)) - ((uint128_t)x5 * x19));
- uint128_t x39 = (((((uint128_t)x11 * x25) + ((uint128_t)x16 * x30)) + x36) + x32);
- uint128_t x40 = ((((((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)) + (((uint128_t)x17 * x30) + ((uint128_t)x16 * x31))) + x37) + x33);
- uint128_t x41 = ((((((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21))) + (((uint128_t)x15 * x30) + (((uint128_t)x17 * x31) + ((uint128_t)x16 * x29)))) + x38) + x34);
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + (((uint128_t)x9 * x21) + ((uint128_t)x11 * x19)))) + (((uint128_t)x13 * x30) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + ((uint128_t)x16 * x27)))));
- uint128_t x43 = (((((uint128_t)x5 * x23) + (((uint128_t)x7 * x21) + ((uint128_t)x9 * x19))) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((uint128_t)x17 * x27)))) + x32);
- uint128_t x44 = (((((uint128_t)x5 * x21) + ((uint128_t)x7 * x19)) + (((uint128_t)x13 * x29) + ((uint128_t)x15 * x27))) + x33);
- uint128_t x45 = ((((uint128_t)x5 * x19) + ((uint128_t)x13 * x27)) + x34);
- uint128_t x46 = (x42 >> 0x3c);
- uint64_t x47 = ((uint64_t)x42 & 0xfffffffffffffff);
- uint128_t x48 = (x35 >> 0x3c);
- uint64_t x49 = ((uint64_t)x35 & 0xfffffffffffffff);
- uint128_t x50 = ((0x1000000000000000 * x48) + x49);
- uint128_t x51 = (x50 >> 0x3c);
- uint64_t x52 = ((uint64_t)x50 & 0xfffffffffffffff);
- uint128_t x53 = ((x46 + x41) + x51);
- uint128_t x54 = (x53 >> 0x3c);
- uint64_t x55 = ((uint64_t)x53 & 0xfffffffffffffff);
- uint128_t x56 = (x45 + x51);
- uint128_t x57 = (x56 >> 0x3c);
- uint64_t x58 = ((uint64_t)x56 & 0xfffffffffffffff);
- uint128_t x59 = (x54 + x40);
- uint128_t x60 = (x59 >> 0x3c);
- uint64_t x61 = ((uint64_t)x59 & 0xfffffffffffffff);
- uint128_t x62 = (x57 + x44);
- uint128_t x63 = (x62 >> 0x3c);
- uint64_t x64 = ((uint64_t)x62 & 0xfffffffffffffff);
- uint128_t x65 = (x60 + x39);
- uint128_t x66 = (x65 >> 0x3c);
- uint64_t x67 = ((uint64_t)x65 & 0xfffffffffffffff);
- uint128_t x68 = (x63 + x43);
- uint128_t x69 = (x68 >> 0x3c);
- uint64_t x70 = ((uint64_t)x68 & 0xfffffffffffffff);
- uint128_t x71 = (x66 + x52);
- uint64_t x72 = (uint64_t) (x71 >> 0x3c);
- uint64_t x73 = ((uint64_t)x71 & 0xfffffffffffffff);
- uint128_t x74 = (x69 + x47);
- uint64_t x75 = (uint64_t) (x74 >> 0x3c);
- uint64_t x76 = ((uint64_t)x74 & 0xfffffffffffffff);
- uint128_t x77 = (((uint128_t)0x1000000000000000 * x72) + x73);
- uint64_t x78 = (uint64_t) (x77 >> 0x3c);
- uint64_t x79 = ((uint64_t)x77 & 0xfffffffffffffff);
- uint64_t x80 = ((x75 + x55) + x78);
- uint64_t x81 = (x80 >> 0x3c);
- uint64_t x82 = (x80 & 0xfffffffffffffff);
- uint64_t x83 = (x58 + x78);
- uint64_t x84 = (x83 >> 0x3c);
- uint64_t x85 = (x83 & 0xfffffffffffffff);
- return (Return x79, Return x67, (x81 + x61), Return x82, Return x76, Return x70, (x84 + x64), Return x85))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.v
deleted file mode 100644
index 12bd10d1d..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.c b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.c
deleted file mode 100644
index 83913c4a7..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.c
+++ /dev/null
@@ -1,73 +0,0 @@
-static void fesquare(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- { uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- { uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))));
- { uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- { uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- { uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- { uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- { uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- { uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- { uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17);
- { uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))));
- { uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15);
- { uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- { uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- { uint128_t x29 = (x25 >> 0x3c);
- { uint64_t x30 = ((uint64_t)x25 & 0xfffffffffffffff);
- { uint128_t x31 = (x18 >> 0x3c);
- { uint64_t x32 = ((uint64_t)x18 & 0xfffffffffffffff);
- { uint128_t x33 = ((0x1000000000000000 * x31) + x32);
- { uint128_t x34 = (x33 >> 0x3c);
- { uint64_t x35 = ((uint64_t)x33 & 0xfffffffffffffff);
- { uint128_t x36 = ((x29 + x24) + x34);
- { uint128_t x37 = (x36 >> 0x3c);
- { uint64_t x38 = ((uint64_t)x36 & 0xfffffffffffffff);
- { uint128_t x39 = (x28 + x34);
- { uint128_t x40 = (x39 >> 0x3c);
- { uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffffff);
- { uint128_t x42 = (x37 + x23);
- { uint128_t x43 = (x42 >> 0x3c);
- { uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffffff);
- { uint128_t x45 = (x40 + x27);
- { uint128_t x46 = (x45 >> 0x3c);
- { uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffffff);
- { uint128_t x48 = (x43 + x22);
- { uint128_t x49 = (x48 >> 0x3c);
- { uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffffff);
- { uint128_t x51 = (x46 + x26);
- { uint128_t x52 = (x51 >> 0x3c);
- { uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffffff);
- { uint128_t x54 = (x49 + x35);
- { uint64_t x55 = (uint64_t) (x54 >> 0x3c);
- { uint64_t x56 = ((uint64_t)x54 & 0xfffffffffffffff);
- { uint128_t x57 = (x52 + x30);
- { uint64_t x58 = (uint64_t) (x57 >> 0x3c);
- { uint64_t x59 = ((uint64_t)x57 & 0xfffffffffffffff);
- { uint128_t x60 = (((uint128_t)0x1000000000000000 * x55) + x56);
- { uint64_t x61 = (uint64_t) (x60 >> 0x3c);
- { uint64_t x62 = ((uint64_t)x60 & 0xfffffffffffffff);
- { uint64_t x63 = ((x58 + x38) + x61);
- { uint64_t x64 = (x63 >> 0x3c);
- { uint64_t x65 = (x63 & 0xfffffffffffffff);
- { uint64_t x66 = (x41 + x61);
- { uint64_t x67 = (x66 >> 0x3c);
- { uint64_t x68 = (x66 & 0xfffffffffffffff);
- out[0] = x68;
- out[1] = (x67 + x47);
- out[2] = x53;
- out[3] = x59;
- out[4] = x65;
- out[5] = (x64 + x44);
- out[6] = x50;
- out[7] = x62;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.v
deleted file mode 100644
index 3737337b8..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.log b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.log
deleted file mode 100644
index f383847c9..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,61 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x15 = (((uint128_t)(x8 + x13) * (x8 + x13)) - ((uint128_t)x8 * x8));
- uint128_t x16 = ((((uint128_t)(x6 + x14) * (x8 + x13)) + ((uint128_t)(x8 + x13) * (x6 + x14))) - (((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)));
- uint128_t x17 = ((((uint128_t)(x4 + x12) * (x8 + x13)) + (((uint128_t)(x6 + x14) * (x6 + x14)) + ((uint128_t)(x8 + x13) * (x4 + x12)))) - (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))));
- uint128_t x18 = ((((uint128_t)(x2 + x10) * (x8 + x13)) + (((uint128_t)(x4 + x12) * (x6 + x14)) + (((uint128_t)(x6 + x14) * (x4 + x12)) + ((uint128_t)(x8 + x13) * (x2 + x10))))) - (((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))));
- uint128_t x19 = ((((uint128_t)(x2 + x10) * (x6 + x14)) + (((uint128_t)(x4 + x12) * (x4 + x12)) + ((uint128_t)(x6 + x14) * (x2 + x10)))) - (((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))));
- uint128_t x20 = ((((uint128_t)(x2 + x10) * (x4 + x12)) + ((uint128_t)(x4 + x12) * (x2 + x10))) - (((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)));
- uint128_t x21 = (((uint128_t)(x2 + x10) * (x2 + x10)) - ((uint128_t)x2 * x2));
- uint128_t x22 = (((((uint128_t)x8 * x8) + ((uint128_t)x13 * x13)) + x19) + x15);
- uint128_t x23 = ((((((uint128_t)x6 * x8) + ((uint128_t)x8 * x6)) + (((uint128_t)x14 * x13) + ((uint128_t)x13 * x14))) + x20) + x16);
- uint128_t x24 = ((((((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + ((uint128_t)x8 * x4))) + (((uint128_t)x12 * x13) + (((uint128_t)x14 * x14) + ((uint128_t)x13 * x12)))) + x21) + x17);
- uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x13) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((uint128_t)x13 * x10)))));
- uint128_t x26 = (((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + ((uint128_t)x14 * x10)))) + x15);
- uint128_t x27 = (((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x10 * x12) + ((uint128_t)x12 * x10))) + x16);
- uint128_t x28 = ((((uint128_t)x2 * x2) + ((uint128_t)x10 * x10)) + x17);
- uint128_t x29 = (x25 >> 0x3c);
- uint64_t x30 = ((uint64_t)x25 & 0xfffffffffffffff);
- uint128_t x31 = (x18 >> 0x3c);
- uint64_t x32 = ((uint64_t)x18 & 0xfffffffffffffff);
- uint128_t x33 = ((0x1000000000000000 * x31) + x32);
- uint128_t x34 = (x33 >> 0x3c);
- uint64_t x35 = ((uint64_t)x33 & 0xfffffffffffffff);
- uint128_t x36 = ((x29 + x24) + x34);
- uint128_t x37 = (x36 >> 0x3c);
- uint64_t x38 = ((uint64_t)x36 & 0xfffffffffffffff);
- uint128_t x39 = (x28 + x34);
- uint128_t x40 = (x39 >> 0x3c);
- uint64_t x41 = ((uint64_t)x39 & 0xfffffffffffffff);
- uint128_t x42 = (x37 + x23);
- uint128_t x43 = (x42 >> 0x3c);
- uint64_t x44 = ((uint64_t)x42 & 0xfffffffffffffff);
- uint128_t x45 = (x40 + x27);
- uint128_t x46 = (x45 >> 0x3c);
- uint64_t x47 = ((uint64_t)x45 & 0xfffffffffffffff);
- uint128_t x48 = (x43 + x22);
- uint128_t x49 = (x48 >> 0x3c);
- uint64_t x50 = ((uint64_t)x48 & 0xfffffffffffffff);
- uint128_t x51 = (x46 + x26);
- uint128_t x52 = (x51 >> 0x3c);
- uint64_t x53 = ((uint64_t)x51 & 0xfffffffffffffff);
- uint128_t x54 = (x49 + x35);
- uint64_t x55 = (uint64_t) (x54 >> 0x3c);
- uint64_t x56 = ((uint64_t)x54 & 0xfffffffffffffff);
- uint128_t x57 = (x52 + x30);
- uint64_t x58 = (uint64_t) (x57 >> 0x3c);
- uint64_t x59 = ((uint64_t)x57 & 0xfffffffffffffff);
- uint128_t x60 = (((uint128_t)0x1000000000000000 * x55) + x56);
- uint64_t x61 = (uint64_t) (x60 >> 0x3c);
- uint64_t x62 = ((uint64_t)x60 & 0xfffffffffffffff);
- uint64_t x63 = ((x58 + x38) + x61);
- uint64_t x64 = (x63 >> 0x3c);
- uint64_t x65 = (x63 & 0xfffffffffffffff);
- uint64_t x66 = (x41 + x61);
- uint64_t x67 = (x66 >> 0x3c);
- uint64_t x68 = (x66 & 0xfffffffffffffff);
- return (Return x62, Return x50, (x64 + x44), Return x65, Return x59, Return x53, (x67 + x47), Return x68))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.v
deleted file mode 100644
index c854ed773..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.c b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.c
deleted file mode 100644
index cc9d13c37..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.c
+++ /dev/null
@@ -1,27 +0,0 @@
-static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
- { const uint64_t x16 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x30 = in2[7];
- { const uint64_t x31 = in2[6];
- { const uint64_t x29 = in2[5];
- { const uint64_t x27 = in2[4];
- { const uint64_t x25 = in2[3];
- { const uint64_t x23 = in2[2];
- { const uint64_t x21 = in2[1];
- { const uint64_t x19 = in2[0];
- out[0] = ((0x1ffffffffffffffe + x5) - x19);
- out[1] = ((0x1ffffffffffffffe + x7) - x21);
- out[2] = ((0x1ffffffffffffffe + x9) - x23);
- out[3] = ((0x1ffffffffffffffe + x11) - x25);
- out[4] = ((0x1ffffffffffffffc + x13) - x27);
- out[5] = ((0x1ffffffffffffffe + x15) - x29);
- out[6] = ((0x1ffffffffffffffe + x17) - x31);
- out[7] = ((0x1ffffffffffffffe + x16) - x30);
- }}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.v
deleted file mode 100644
index fa5b4cff5..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/fesubDisplay.log b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.log
deleted file mode 100644
index de0b3ae96..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
- (((0x1ffffffffffffffe + x16) - x30), ((0x1ffffffffffffffe + x17) - x31), ((0x1ffffffffffffffe + x15) - x29), ((0x1ffffffffffffffc + x13) - x27), ((0x1ffffffffffffffe + x11) - x25), ((0x1ffffffffffffffe + x9) - x23), ((0x1ffffffffffffffe + x7) - x21), ((0x1ffffffffffffffe + x5) - x19)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.v
deleted file mode 100644
index eff1ca171..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.c b/src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.c
deleted file mode 100644
index 3173ddc8a..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.c
+++ /dev/null
@@ -1,44 +0,0 @@
-static void freeze(uint64_t out[8], const uint64_t in1[8]) {
- { const uint64_t x13 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffff);
- { uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffffff);
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffffff);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffffe);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffffffffffff);
- { uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- { uint64_t x40 = (x39 & 0xfffffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- { uint64_t x44 = (x39 & 0xfffffffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- { uint64_t x48 = (x39 & 0xfffffffffffffff);
- { uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- { uint64_t x52 = (x39 & 0xfffffffffffffff);
- { uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- { uint64_t x56 = (x39 & 0xffffffffffffffe);
- { uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- { uint64_t x60 = (x39 & 0xfffffffffffffff);
- { uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- { uint64_t x64 = (x39 & 0xfffffffffffffff);
- { uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- { uint64_t x68 = (x39 & 0xfffffffffffffff);
- { uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- out[0] = x42;
- out[1] = x46;
- out[2] = x50;
- out[3] = x54;
- out[4] = x58;
- out[5] = x62;
- out[6] = x66;
- out[7] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.v
deleted file mode 100644
index 3ebae16cb..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.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/solinas64_2e480m2e240m1_8limbs/freezeDisplay.log b/src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.log
deleted file mode 100644
index 44be6a8b2..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.log
+++ /dev/null
@@ -1,32 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x13, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x16, uint8_t x17 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffffffff);
- uint64_t x19, uint8_t x20 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x17, Return x4, 0xfffffffffffffff);
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x20, Return x6, 0xfffffffffffffff);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x8, 0xfffffffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x10, 0xffffffffffffffe);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x12, 0xfffffffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x14, 0xfffffffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x13, 0xfffffffffffffff);
- uint64_t x39 = cmovznz64(x38, 0x0, 0xffffffffffffffffL);
- uint64_t x40 = (x39 & 0xfffffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x16, Return x40);
- uint64_t x44 = (x39 & 0xfffffffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x43, Return x19, Return x44);
- uint64_t x48 = (x39 & 0xfffffffffffffff);
- uint64_t x50, uint8_t x51 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x22, Return x48);
- uint64_t x52 = (x39 & 0xfffffffffffffff);
- uint64_t x54, uint8_t x55 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x51, Return x25, Return x52);
- uint64_t x56 = (x39 & 0xffffffffffffffe);
- uint64_t x58, uint8_t x59 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x55, Return x28, Return x56);
- uint64_t x60 = (x39 & 0xfffffffffffffff);
- uint64_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x59, Return x31, Return x60);
- uint64_t x64 = (x39 & 0xfffffffffffffff);
- uint64_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x63, Return x34, Return x64);
- uint64_t x68 = (x39 & 0xfffffffffffffff);
- uint64_t x70, uint8_t _ = Op (Syntax.AddWithGetCarry 60 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x67, Return x37, Return x68);
- (Return x70, Return x66, Return x62, Return x58, Return x54, Return x50, Return x46, Return x42))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.v b/src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.v
deleted file mode 100644
index d69999f59..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e480m2e240m1_8limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e480m2e240m1_8limbs/py_interpreter.sh b/src/Specific/solinas64_2e480m2e240m1_8limbs/py_interpreter.sh
deleted file mode 100755
index acdafd45b..000000000
--- a/src/Specific/solinas64_2e480m2e240m1_8limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**480 - 2**240 - 1' -Dmodulus_bytes='60' -Da24='121665'
diff --git a/src/Specific/solinas64_2e488m17_10limbs/CurveParameters.v b/src/Specific/solinas64_2e488m17_10limbs/CurveParameters.v
deleted file mode 100644
index b3dc3e0e7..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^488 - 17
-Base: 48.8
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 48 + 4/5;
- bitwidth := 64;
- s := 2^488;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e488m17_10limbs/Synthesis.v b/src/Specific/solinas64_2e488m17_10limbs/Synthesis.v
deleted file mode 100644
index 874347625..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/compiler.sh b/src/Specific/solinas64_2e488m17_10limbs/compiler.sh
deleted file mode 100755
index c7e6b6793..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,48,49,49,49,49,48}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas64_2e488m17_10limbs/compilerxx.sh b/src/Specific/solinas64_2e488m17_10limbs/compilerxx.sh
deleted file mode 100755
index 4502905b8..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,48,49,49,49,49,48}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas64_2e488m17_10limbs/feadd.c b/src/Specific/solinas64_2e488m17_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_10limbs/feadd.v b/src/Specific/solinas64_2e488m17_10limbs/feadd.v
deleted file mode 100644
index 72a4083b6..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.v
deleted file mode 100644
index 4758027fd..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fecarry.v b/src/Specific/solinas64_2e488m17_10limbs/fecarry.v
deleted file mode 100644
index 2cc88c863..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e488m17_10limbs/fecarryDisplay.v
deleted file mode 100644
index 313431f0f..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e488m17_10limbs/femul.c b/src/Specific/solinas64_2e488m17_10limbs/femul.c
deleted file mode 100644
index a8cb6e436..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + (((uint128_t)x7 * x39) + (((uint128_t)x9 * x37) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + (((uint128_t)x21 * x25) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x21 * x23))))))))) + (0x11 * (0x2 * ((uint128_t)x20 * x38))));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x19 * x23)))))))) + (0x11 * ((0x2 * ((uint128_t)x21 * x38)) + (0x2 * ((uint128_t)x20 * x39)))));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + (((uint128_t)x15 * x25) + ((uint128_t)x17 * x23))))))) + (0x11 * ((0x2 * ((uint128_t)x19 * x38)) + ((0x2 * ((uint128_t)x21 * x39)) + (0x2 * ((uint128_t)x20 * x37))))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0x11 * ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (0x11 * (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33)))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (0x11 * ((0x2 * ((uint128_t)x13 * x38)) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + (0x2 * ((uint128_t)x20 * x31)))))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (0x11 * ((0x2 * ((uint128_t)x11 * x38)) + ((0x2 * ((uint128_t)x13 * x39)) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((0x2 * ((uint128_t)x21 * x31)) + (0x2 * ((uint128_t)x20 * x29))))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x11 * ((0x2 * ((uint128_t)x9 * x38)) + ((0x2 * ((uint128_t)x11 * x39)) + ((0x2 * ((uint128_t)x13 * x37)) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + ((0x2 * ((uint128_t)x21 * x29)) + (0x2 * ((uint128_t)x20 * x27)))))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + (0x11 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- { uint64_t x50 = (uint64_t) (x49 >> 0x31);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint64_t x53 = (uint64_t) (x52 >> 0x31);
- { uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint64_t x56 = (uint64_t) (x55 >> 0x31);
- { uint64_t x57 = ((uint64_t)x55 & 0x1ffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint64_t x59 = (uint64_t) (x58 >> 0x31);
- { uint64_t x60 = ((uint64_t)x58 & 0x1ffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint64_t x62 = (uint64_t) (x61 >> 0x30);
- { uint64_t x63 = ((uint64_t)x61 & 0xffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint64_t x65 = (uint64_t) (x64 >> 0x31);
- { uint64_t x66 = ((uint64_t)x64 & 0x1ffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint64_t x68 = (uint64_t) (x67 >> 0x31);
- { uint64_t x69 = ((uint64_t)x67 & 0x1ffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint64_t x71 = (uint64_t) (x70 >> 0x31);
- { uint64_t x72 = ((uint64_t)x70 & 0x1ffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x31);
- { uint64_t x75 = ((uint64_t)x73 & 0x1ffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x30);
- { uint64_t x78 = ((uint64_t)x76 & 0xffffffffffff);
- { uint64_t x79 = (x51 + (0x11 * x77));
- { uint64_t x80 = (x79 >> 0x31);
- { uint64_t x81 = (x79 & 0x1ffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x31);
- { uint64_t x84 = (x82 & 0x1ffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_10limbs/femul.v b/src/Specific/solinas64_2e488m17_10limbs/femul.v
deleted file mode 100644
index a4530a5c7..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/femulDisplay.log b/src/Specific/solinas64_2e488m17_10limbs/femulDisplay.log
deleted file mode 100644
index a718e8564..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + (((uint128_t)x7 * x39) + (((uint128_t)x9 * x37) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + (((uint128_t)x21 * x25) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x21 * x23))))))))) + (0x11 * (0x2 * ((uint128_t)x20 * x38))));
- uint128_t x42 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x19 * x23)))))))) + (0x11 * ((0x2 * ((uint128_t)x21 * x38)) + (0x2 * ((uint128_t)x20 * x39)))));
- uint128_t x43 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + (((uint128_t)x15 * x25) + ((uint128_t)x17 * x23))))))) + (0x11 * ((0x2 * ((uint128_t)x19 * x38)) + ((0x2 * ((uint128_t)x21 * x39)) + (0x2 * ((uint128_t)x20 * x37))))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0x11 * ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (0x11 * (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33)))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (0x11 * ((0x2 * ((uint128_t)x13 * x38)) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + (0x2 * ((uint128_t)x20 * x31)))))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (0x11 * ((0x2 * ((uint128_t)x11 * x38)) + ((0x2 * ((uint128_t)x13 * x39)) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((0x2 * ((uint128_t)x21 * x31)) + (0x2 * ((uint128_t)x20 * x29))))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x11 * ((0x2 * ((uint128_t)x9 * x38)) + ((0x2 * ((uint128_t)x11 * x39)) + ((0x2 * ((uint128_t)x13 * x37)) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + ((0x2 * ((uint128_t)x21 * x29)) + (0x2 * ((uint128_t)x20 * x27)))))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + (0x11 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- uint64_t x50 = (uint64_t) (x49 >> 0x31);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint64_t x53 = (uint64_t) (x52 >> 0x31);
- uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint64_t x56 = (uint64_t) (x55 >> 0x31);
- uint64_t x57 = ((uint64_t)x55 & 0x1ffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint64_t x59 = (uint64_t) (x58 >> 0x31);
- uint64_t x60 = ((uint64_t)x58 & 0x1ffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint64_t x62 = (uint64_t) (x61 >> 0x30);
- uint64_t x63 = ((uint64_t)x61 & 0xffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint64_t x65 = (uint64_t) (x64 >> 0x31);
- uint64_t x66 = ((uint64_t)x64 & 0x1ffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint64_t x68 = (uint64_t) (x67 >> 0x31);
- uint64_t x69 = ((uint64_t)x67 & 0x1ffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint64_t x71 = (uint64_t) (x70 >> 0x31);
- uint64_t x72 = ((uint64_t)x70 & 0x1ffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x31);
- uint64_t x75 = ((uint64_t)x73 & 0x1ffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x30);
- uint64_t x78 = ((uint64_t)x76 & 0xffffffffffff);
- uint64_t x79 = (x51 + (0x11 * x77));
- uint64_t x80 = (x79 >> 0x31);
- uint64_t x81 = (x79 & 0x1ffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x31);
- uint64_t x84 = (x82 & 0x1ffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_10limbs/femulDisplay.v b/src/Specific/solinas64_2e488m17_10limbs/femulDisplay.v
deleted file mode 100644
index 375ecac7a..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fesquare.c b/src/Specific/solinas64_2e488m17_10limbs/fesquare.c
deleted file mode 100644
index d418023e1..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x18 * x2))))))))) + (0x11 * (0x2 * ((uint128_t)x17 * x17))));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint128_t)x18 * x17)) + (0x2 * ((uint128_t)x17 * x18)))));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint128_t)x16 * x17)) + ((0x2 * ((uint128_t)x18 * x18)) + (0x2 * ((uint128_t)x17 * x16))))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12)))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint128_t)x10 * x17)) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + (0x2 * ((uint128_t)x17 * x10)))))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x17)) + ((0x2 * ((uint128_t)x10 * x18)) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((0x2 * ((uint128_t)x18 * x10)) + (0x2 * ((uint128_t)x17 * x8))))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((0x2 * ((uint128_t)x6 * x17)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + (0x2 * ((uint128_t)x17 * x6)))))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint64_t x32 = (uint64_t) (x31 >> 0x31);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint64_t x35 = (uint64_t) (x34 >> 0x31);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint64_t x38 = (uint64_t) (x37 >> 0x31);
- { uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint64_t x41 = (uint64_t) (x40 >> 0x30);
- { uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint64_t x44 = (uint64_t) (x43 >> 0x31);
- { uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint64_t x47 = (uint64_t) (x46 >> 0x31);
- { uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint64_t x50 = (uint64_t) (x49 >> 0x31);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x31);
- { uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x30);
- { uint64_t x57 = ((uint64_t)x55 & 0xffffffffffff);
- { uint64_t x58 = (x30 + (0x11 * x56));
- { uint64_t x59 = (x58 >> 0x31);
- { uint64_t x60 = (x58 & 0x1ffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x31);
- { uint64_t x63 = (x61 & 0x1ffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fesquare.v b/src/Specific/solinas64_2e488m17_10limbs/fesquare.v
deleted file mode 100644
index a97a5297e..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.log
deleted file mode 100644
index b0792c625..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x18 * x2))))))))) + (0x11 * (0x2 * ((uint128_t)x17 * x17))));
- uint128_t x21 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((0x2 * ((uint128_t)x18 * x17)) + (0x2 * ((uint128_t)x17 * x18)))));
- uint128_t x22 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x11 * ((0x2 * ((uint128_t)x16 * x17)) + ((0x2 * ((uint128_t)x18 * x18)) + (0x2 * ((uint128_t)x17 * x16))))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x11 * ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x11 * (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12)))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x11 * ((0x2 * ((uint128_t)x10 * x17)) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + (0x2 * ((uint128_t)x17 * x10)))))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x11 * ((0x2 * ((uint128_t)x8 * x17)) + ((0x2 * ((uint128_t)x10 * x18)) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((0x2 * ((uint128_t)x18 * x10)) + (0x2 * ((uint128_t)x17 * x8))))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * ((0x2 * ((uint128_t)x6 * x17)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + (0x2 * ((uint128_t)x17 * x6)))))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint64_t x32 = (uint64_t) (x31 >> 0x31);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint64_t x35 = (uint64_t) (x34 >> 0x31);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint64_t x38 = (uint64_t) (x37 >> 0x31);
- uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint64_t x41 = (uint64_t) (x40 >> 0x30);
- uint64_t x42 = ((uint64_t)x40 & 0xffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint64_t x44 = (uint64_t) (x43 >> 0x31);
- uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint64_t x47 = (uint64_t) (x46 >> 0x31);
- uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint64_t x50 = (uint64_t) (x49 >> 0x31);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x31);
- uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x30);
- uint64_t x57 = ((uint64_t)x55 & 0xffffffffffff);
- uint64_t x58 = (x30 + (0x11 * x56));
- uint64_t x59 = (x58 >> 0x31);
- uint64_t x60 = (x58 & 0x1ffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x31);
- uint64_t x63 = (x61 & 0x1ffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.v
deleted file mode 100644
index 8885f560f..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fesub.c b/src/Specific/solinas64_2e488m17_10limbs/fesub.c
deleted file mode 100644
index fcafc6174..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x3ffffffffffde + x5) - x23);
- out[1] = ((0x3fffffffffffe + x7) - x25);
- out[2] = ((0x3fffffffffffe + x9) - x27);
- out[3] = ((0x3fffffffffffe + x11) - x29);
- out[4] = ((0x1fffffffffffe + x13) - x31);
- out[5] = ((0x3fffffffffffe + x15) - x33);
- out[6] = ((0x3fffffffffffe + x17) - x35);
- out[7] = ((0x3fffffffffffe + x19) - x37);
- out[8] = ((0x3fffffffffffe + x21) - x39);
- out[9] = ((0x1fffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fesub.v b/src/Specific/solinas64_2e488m17_10limbs/fesub.v
deleted file mode 100644
index 64897bdca..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.log
deleted file mode 100644
index 92661c2b8..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x1fffffffffffe + x20) - x38), ((0x3fffffffffffe + x21) - x39), ((0x3fffffffffffe + x19) - x37), ((0x3fffffffffffe + x17) - x35), ((0x3fffffffffffe + x15) - x33), ((0x1fffffffffffe + x13) - x31), ((0x3fffffffffffe + x11) - x29), ((0x3fffffffffffe + x9) - x27), ((0x3fffffffffffe + x7) - x25), ((0x3ffffffffffde + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.v
deleted file mode 100644
index 0b18f09d7..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e488m17_10limbs/freeze.c b/src/Specific/solinas64_2e488m17_10limbs/freeze.c
deleted file mode 100644
index 5275ade43..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffef);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1ffffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x1ffffffffffef);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x1ffffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0x1ffffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0x1ffffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0xffffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0x1ffffffffffff);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x1ffffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0x1ffffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0x1ffffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0xffffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_10limbs/freeze.v b/src/Specific/solinas64_2e488m17_10limbs/freeze.v
deleted file mode 100644
index 3e6461b13..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.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/solinas64_2e488m17_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.log
deleted file mode 100644
index ca54e2872..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffef);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1ffffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x1ffffffffffef);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x1ffffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0x1ffffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0x1ffffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0xffffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0x1ffffffffffff);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x1ffffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0x1ffffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0x1ffffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0xffffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.v
deleted file mode 100644
index c1720c03d..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e488m17_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e488m17_10limbs/py_interpreter.sh
deleted file mode 100755
index f67417acc..000000000
--- a/src/Specific/solinas64_2e488m17_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**488 - 17' -Dmodulus_bytes='48.8' -Da24='121665'
diff --git a/src/Specific/solinas64_2e488m17_9limbs/CurveParameters.v b/src/Specific/solinas64_2e488m17_9limbs/CurveParameters.v
deleted file mode 100644
index 7665cf108..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^488 - 17
-Base: 54 + 2/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 54 + 2/9;
- bitwidth := 64;
- s := 2^488;
- c := [(1, 17)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e488m17_9limbs/Synthesis.v b/src/Specific/solinas64_2e488m17_9limbs/Synthesis.v
deleted file mode 100644
index bba61c818..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/compiler.sh b/src/Specific/solinas64_2e488m17_9limbs/compiler.sh
deleted file mode 100755
index 4a5c5de3e..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,55,54,54,54,54}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas64_2e488m17_9limbs/compilerxx.sh b/src/Specific/solinas64_2e488m17_9limbs/compilerxx.sh
deleted file mode 100755
index e19e92226..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,54,55,54,54,54,54}' -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,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,0xff,0xff,0xff,0xff,0xff,0xef}' -Dmodulus_bytes_val='61' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<488) - 17' "$@"
diff --git a/src/Specific/solinas64_2e488m17_9limbs/feadd.c b/src/Specific/solinas64_2e488m17_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_9limbs/feadd.v b/src/Specific/solinas64_2e488m17_9limbs/feadd.v
deleted file mode 100644
index 0a39f6533..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.v
deleted file mode 100644
index e41e3c8df..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fecarry.v b/src/Specific/solinas64_2e488m17_9limbs/fecarry.v
deleted file mode 100644
index f5c4011c4..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e488m17_9limbs/fecarryDisplay.v
deleted file mode 100644
index 77fb3a8ea..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e488m17_9limbs/femul.c b/src/Specific/solinas64_2e488m17_9limbs/femul.c
deleted file mode 100644
index 9fd33ac80..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((uint128_t)x13 * x21))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x34)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + (0x2 * ((uint128_t)x18 * x31)))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + ((uint128_t)x18 * x29)))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- { uint128_t x45 = (x44 >> 0x37);
- { uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint128_t x48 = (x47 >> 0x36);
- { uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint128_t x51 = (x50 >> 0x36);
- { uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint128_t x54 = (x53 >> 0x36);
- { uint64_t x55 = ((uint64_t)x53 & 0x3fffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint64_t x57 = (uint64_t) (x56 >> 0x37);
- { uint64_t x58 = ((uint64_t)x56 & 0x7fffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint64_t x60 = (uint64_t) (x59 >> 0x36);
- { uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint64_t x63 = (uint64_t) (x62 >> 0x36);
- { uint64_t x64 = ((uint64_t)x62 & 0x3fffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x36);
- { uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x36);
- { uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffffff);
- { uint128_t x71 = (x46 + ((uint128_t)0x11 * x69));
- { uint64_t x72 = (uint64_t) (x71 >> 0x37);
- { uint64_t x73 = ((uint64_t)x71 & 0x7fffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x36);
- { uint64_t x76 = (x74 & 0x3fffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_9limbs/femul.v b/src/Specific/solinas64_2e488m17_9limbs/femul.v
deleted file mode 100644
index 3e237d577..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/femulDisplay.log b/src/Specific/solinas64_2e488m17_9limbs/femulDisplay.log
deleted file mode 100644
index 3cd026aa2..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((0x2 * ((uint128_t)x17 * x23)) + ((uint128_t)x19 * x21)))))))) + (0x11 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x11 * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x11 * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((0x2 * ((uint128_t)x11 * x23)) + ((uint128_t)x13 * x21))))) + (0x11 * ((0x2 * ((uint128_t)x15 * x34)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + (0x2 * ((uint128_t)x18 * x31)))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x11 * (((uint128_t)x13 * x34) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + ((uint128_t)x18 * x29)))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x11 * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x11 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x11 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- uint128_t x45 = (x44 >> 0x37);
- uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint128_t x48 = (x47 >> 0x36);
- uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint128_t x51 = (x50 >> 0x36);
- uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint128_t x54 = (x53 >> 0x36);
- uint64_t x55 = ((uint64_t)x53 & 0x3fffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint64_t x57 = (uint64_t) (x56 >> 0x37);
- uint64_t x58 = ((uint64_t)x56 & 0x7fffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint64_t x60 = (uint64_t) (x59 >> 0x36);
- uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint64_t x63 = (uint64_t) (x62 >> 0x36);
- uint64_t x64 = ((uint64_t)x62 & 0x3fffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x36);
- uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x36);
- uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffffff);
- uint128_t x71 = (x46 + ((uint128_t)0x11 * x69));
- uint64_t x72 = (uint64_t) (x71 >> 0x37);
- uint64_t x73 = ((uint64_t)x71 & 0x7fffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x36);
- uint64_t x76 = (x74 & 0x3fffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_9limbs/femulDisplay.v b/src/Specific/solinas64_2e488m17_9limbs/femulDisplay.v
deleted file mode 100644
index 5eb2faf87..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fesquare.c b/src/Specific/solinas64_2e488m17_9limbs/fesquare.c
deleted file mode 100644
index 9d730953e..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x15)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (0x2 * ((uint128_t)x15 * x12)))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + ((uint128_t)x15 * x10)))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint128_t x29 = (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint128_t x32 = (x31 >> 0x36);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint128_t x35 = (x34 >> 0x36);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint64_t x38 = (uint64_t) (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint64_t x41 = (uint64_t) (x40 >> 0x36);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint64_t x44 = (uint64_t) (x43 >> 0x36);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x36);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x36);
- { uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff);
- { uint128_t x52 = (x27 + ((uint128_t)0x11 * x50));
- { uint64_t x53 = (uint64_t) (x52 >> 0x37);
- { uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x36);
- { uint64_t x57 = (x55 & 0x3fffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fesquare.v b/src/Specific/solinas64_2e488m17_9limbs/fesquare.v
deleted file mode 100644
index d0eaf0261..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.log
deleted file mode 100644
index 7698803a0..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x11 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x11 * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x11 * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x11 * ((0x2 * ((uint128_t)x12 * x15)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (0x2 * ((uint128_t)x15 * x12)))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x11 * (((uint128_t)x10 * x15) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + ((uint128_t)x15 * x10)))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x11 * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x11 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x11 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint128_t x29 = (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint128_t x32 = (x31 >> 0x36);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint128_t x35 = (x34 >> 0x36);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint64_t x38 = (uint64_t) (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint64_t x41 = (uint64_t) (x40 >> 0x36);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint64_t x44 = (uint64_t) (x43 >> 0x36);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x36);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x36);
- uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff);
- uint128_t x52 = (x27 + ((uint128_t)0x11 * x50));
- uint64_t x53 = (uint64_t) (x52 >> 0x37);
- uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x36);
- uint64_t x57 = (x55 & 0x3fffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.v
deleted file mode 100644
index a56748dde..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fesub.c b/src/Specific/solinas64_2e488m17_9limbs/fesub.c
deleted file mode 100644
index 559c36198..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0xffffffffffffde + x5) - x21);
- out[1] = ((0x7ffffffffffffe + x7) - x23);
- out[2] = ((0x7ffffffffffffe + x9) - x25);
- out[3] = ((0x7ffffffffffffe + x11) - x27);
- out[4] = ((0xfffffffffffffe + x13) - x29);
- out[5] = ((0x7ffffffffffffe + x15) - x31);
- out[6] = ((0x7ffffffffffffe + x17) - x33);
- out[7] = ((0x7ffffffffffffe + x19) - x35);
- out[8] = ((0x7ffffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fesub.v b/src/Specific/solinas64_2e488m17_9limbs/fesub.v
deleted file mode 100644
index b039a7e1b..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.log
deleted file mode 100644
index a4458e0ce..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7ffffffffffffe + x18) - x34), ((0x7ffffffffffffe + x19) - x35), ((0x7ffffffffffffe + x17) - x33), ((0x7ffffffffffffe + x15) - x31), ((0xfffffffffffffe + x13) - x29), ((0x7ffffffffffffe + x11) - x27), ((0x7ffffffffffffe + x9) - x25), ((0x7ffffffffffffe + x7) - x23), ((0xffffffffffffde + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.v
deleted file mode 100644
index 3c996fb2d..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e488m17_9limbs/freeze.c b/src/Specific/solinas64_2e488m17_9limbs/freeze.c
deleted file mode 100644
index 7336ac812..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffef);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x7fffffffffffef);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x3fffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x3fffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x3fffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x7fffffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x3fffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x3fffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x3fffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x3fffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e488m17_9limbs/freeze.v b/src/Specific/solinas64_2e488m17_9limbs/freeze.v
deleted file mode 100644
index 6fd450315..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.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/solinas64_2e488m17_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.log
deleted file mode 100644
index 63a5c9a3c..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffef);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3fffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3fffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x7fffffffffffef);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x3fffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x3fffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x3fffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x7fffffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x3fffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x3fffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x3fffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x3fffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.v
deleted file mode 100644
index 1840aa1ee..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e488m17_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e488m17_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e488m17_9limbs/py_interpreter.sh
deleted file mode 100755
index c942d34f9..000000000
--- a/src/Specific/solinas64_2e488m17_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**488 - 17' -Dmodulus_bytes='54 + 2/9' -Da24='121665'
diff --git a/src/Specific/solinas64_2e489m21_10limbs/CurveParameters.v b/src/Specific/solinas64_2e489m21_10limbs/CurveParameters.v
deleted file mode 100644
index 3f284f94f..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^489 - 21
-Base: 48.9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 48 + 9/10;
- bitwidth := 64;
- s := 2^489;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e489m21_10limbs/Synthesis.v b/src/Specific/solinas64_2e489m21_10limbs/Synthesis.v
deleted file mode 100644
index 93737e25e..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/compiler.sh b/src/Specific/solinas64_2e489m21_10limbs/compiler.sh
deleted file mode 100755
index c171f56af..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,49,49,49,49,49,48}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas64_2e489m21_10limbs/compilerxx.sh b/src/Specific/solinas64_2e489m21_10limbs/compilerxx.sh
deleted file mode 100755
index abb47f1f2..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{49,49,49,49,49,49,49,49,49,48}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas64_2e489m21_10limbs/feadd.c b/src/Specific/solinas64_2e489m21_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_10limbs/feadd.v b/src/Specific/solinas64_2e489m21_10limbs/feadd.v
deleted file mode 100644
index a7eb2ad22..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.v
deleted file mode 100644
index 347c7cb1e..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fecarry.v b/src/Specific/solinas64_2e489m21_10limbs/fecarry.v
deleted file mode 100644
index e3ae5b31d..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e489m21_10limbs/fecarryDisplay.v
deleted file mode 100644
index e6ae4adc5..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e489m21_10limbs/femul.c b/src/Specific/solinas64_2e489m21_10limbs/femul.c
deleted file mode 100644
index 2b1081e60..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + (((uint128_t)x7 * x39) + (((uint128_t)x9 * x37) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + (((uint128_t)x21 * x25) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x21 * x23))))))))) + (0x15 * (0x2 * ((uint128_t)x20 * x38))));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x19 * x23)))))))) + (0x15 * ((0x2 * ((uint128_t)x21 * x38)) + (0x2 * ((uint128_t)x20 * x39)))));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x17 * x23))))))) + (0x15 * ((0x2 * ((uint128_t)x19 * x38)) + ((0x2 * ((uint128_t)x21 * x39)) + (0x2 * ((uint128_t)x20 * x37))))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((uint128_t)x15 * x23)))))) + (0x15 * ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (0x15 * ((0x2 * ((uint128_t)x15 * x38)) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + (0x2 * ((uint128_t)x20 * x33))))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x38)) + ((0x2 * ((uint128_t)x15 * x39)) + ((0x2 * ((uint128_t)x17 * x37)) + ((0x2 * ((uint128_t)x19 * x35)) + ((0x2 * ((uint128_t)x21 * x33)) + (0x2 * ((uint128_t)x20 * x31)))))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (0x15 * ((0x2 * ((uint128_t)x11 * x38)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + (0x2 * ((uint128_t)x20 * x29))))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x15 * ((0x2 * ((uint128_t)x9 * x38)) + ((0x2 * ((uint128_t)x11 * x39)) + ((0x2 * ((uint128_t)x13 * x37)) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + ((0x2 * ((uint128_t)x21 * x29)) + (0x2 * ((uint128_t)x20 * x27)))))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + (0x15 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- { uint64_t x50 = (uint64_t) (x49 >> 0x31);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint64_t x53 = (uint64_t) (x52 >> 0x31);
- { uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint64_t x56 = (uint64_t) (x55 >> 0x31);
- { uint64_t x57 = ((uint64_t)x55 & 0x1ffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint64_t x59 = (uint64_t) (x58 >> 0x31);
- { uint64_t x60 = ((uint64_t)x58 & 0x1ffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint64_t x62 = (uint64_t) (x61 >> 0x31);
- { uint64_t x63 = ((uint64_t)x61 & 0x1ffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint64_t x65 = (uint64_t) (x64 >> 0x31);
- { uint64_t x66 = ((uint64_t)x64 & 0x1ffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint64_t x68 = (uint64_t) (x67 >> 0x31);
- { uint64_t x69 = ((uint64_t)x67 & 0x1ffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint64_t x71 = (uint64_t) (x70 >> 0x31);
- { uint64_t x72 = ((uint64_t)x70 & 0x1ffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x31);
- { uint64_t x75 = ((uint64_t)x73 & 0x1ffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x30);
- { uint64_t x78 = ((uint64_t)x76 & 0xffffffffffff);
- { uint64_t x79 = (x51 + (0x15 * x77));
- { uint64_t x80 = (x79 >> 0x31);
- { uint64_t x81 = (x79 & 0x1ffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x31);
- { uint64_t x84 = (x82 & 0x1ffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_10limbs/femul.v b/src/Specific/solinas64_2e489m21_10limbs/femul.v
deleted file mode 100644
index 5e8d4dd75..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/femulDisplay.log b/src/Specific/solinas64_2e489m21_10limbs/femulDisplay.log
deleted file mode 100644
index cbbdf9d02..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + (((uint128_t)x7 * x39) + (((uint128_t)x9 * x37) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + (((uint128_t)x21 * x25) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x21 * x23))))))))) + (0x15 * (0x2 * ((uint128_t)x20 * x38))));
- uint128_t x42 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x19 * x23)))))))) + (0x15 * ((0x2 * ((uint128_t)x21 * x38)) + (0x2 * ((uint128_t)x20 * x39)))));
- uint128_t x43 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x17 * x23))))))) + (0x15 * ((0x2 * ((uint128_t)x19 * x38)) + ((0x2 * ((uint128_t)x21 * x39)) + (0x2 * ((uint128_t)x20 * x37))))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((uint128_t)x15 * x23)))))) + (0x15 * ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((uint128_t)x13 * x23))))) + (0x15 * ((0x2 * ((uint128_t)x15 * x38)) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + (0x2 * ((uint128_t)x20 * x33))))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x38)) + ((0x2 * ((uint128_t)x15 * x39)) + ((0x2 * ((uint128_t)x17 * x37)) + ((0x2 * ((uint128_t)x19 * x35)) + ((0x2 * ((uint128_t)x21 * x33)) + (0x2 * ((uint128_t)x20 * x31)))))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + ((uint128_t)x9 * x23))) + (0x15 * ((0x2 * ((uint128_t)x11 * x38)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + (0x2 * ((uint128_t)x20 * x29))))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x15 * ((0x2 * ((uint128_t)x9 * x38)) + ((0x2 * ((uint128_t)x11 * x39)) + ((0x2 * ((uint128_t)x13 * x37)) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + ((0x2 * ((uint128_t)x21 * x29)) + (0x2 * ((uint128_t)x20 * x27)))))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + (0x15 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- uint64_t x50 = (uint64_t) (x49 >> 0x31);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint64_t x53 = (uint64_t) (x52 >> 0x31);
- uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint64_t x56 = (uint64_t) (x55 >> 0x31);
- uint64_t x57 = ((uint64_t)x55 & 0x1ffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint64_t x59 = (uint64_t) (x58 >> 0x31);
- uint64_t x60 = ((uint64_t)x58 & 0x1ffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint64_t x62 = (uint64_t) (x61 >> 0x31);
- uint64_t x63 = ((uint64_t)x61 & 0x1ffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint64_t x65 = (uint64_t) (x64 >> 0x31);
- uint64_t x66 = ((uint64_t)x64 & 0x1ffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint64_t x68 = (uint64_t) (x67 >> 0x31);
- uint64_t x69 = ((uint64_t)x67 & 0x1ffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint64_t x71 = (uint64_t) (x70 >> 0x31);
- uint64_t x72 = ((uint64_t)x70 & 0x1ffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x31);
- uint64_t x75 = ((uint64_t)x73 & 0x1ffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x30);
- uint64_t x78 = ((uint64_t)x76 & 0xffffffffffff);
- uint64_t x79 = (x51 + (0x15 * x77));
- uint64_t x80 = (x79 >> 0x31);
- uint64_t x81 = (x79 & 0x1ffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x31);
- uint64_t x84 = (x82 & 0x1ffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_10limbs/femulDisplay.v b/src/Specific/solinas64_2e489m21_10limbs/femulDisplay.v
deleted file mode 100644
index 3b0b47d0f..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fesquare.c b/src/Specific/solinas64_2e489m21_10limbs/fesquare.c
deleted file mode 100644
index 5b01941f1..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x18 * x2))))))))) + (0x15 * (0x2 * ((uint128_t)x17 * x17))));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x15 * ((0x2 * ((uint128_t)x18 * x17)) + (0x2 * ((uint128_t)x17 * x18)))));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint128_t)x16 * x17)) + ((0x2 * ((uint128_t)x18 * x18)) + (0x2 * ((uint128_t)x17 * x16))))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint128_t)x12 * x17)) + ((0x2 * ((uint128_t)x14 * x18)) + ((0x2 * ((uint128_t)x16 * x16)) + ((0x2 * ((uint128_t)x18 * x14)) + (0x2 * ((uint128_t)x17 * x12))))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x17)) + ((0x2 * ((uint128_t)x12 * x18)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + ((0x2 * ((uint128_t)x18 * x12)) + (0x2 * ((uint128_t)x17 * x10)))))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * ((0x2 * ((uint128_t)x8 * x17)) + ((0x2 * ((uint128_t)x10 * x18)) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + ((0x2 * ((uint128_t)x18 * x10)) + (0x2 * ((uint128_t)x17 * x8))))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x17)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + (0x2 * ((uint128_t)x17 * x6)))))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- { uint64_t x29 = (uint64_t) (x28 >> 0x31);
- { uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint64_t x32 = (uint64_t) (x31 >> 0x31);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint64_t x35 = (uint64_t) (x34 >> 0x31);
- { uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint64_t x38 = (uint64_t) (x37 >> 0x31);
- { uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint64_t x41 = (uint64_t) (x40 >> 0x31);
- { uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint64_t x44 = (uint64_t) (x43 >> 0x31);
- { uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint64_t x47 = (uint64_t) (x46 >> 0x31);
- { uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint64_t x50 = (uint64_t) (x49 >> 0x31);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x31);
- { uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x30);
- { uint64_t x57 = ((uint64_t)x55 & 0xffffffffffff);
- { uint64_t x58 = (x30 + (0x15 * x56));
- { uint64_t x59 = (x58 >> 0x31);
- { uint64_t x60 = (x58 & 0x1ffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x31);
- { uint64_t x63 = (x61 & 0x1ffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fesquare.v b/src/Specific/solinas64_2e489m21_10limbs/fesquare.v
deleted file mode 100644
index fa462774f..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.log
deleted file mode 100644
index b6a6990b4..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x18 * x2))))))))) + (0x15 * (0x2 * ((uint128_t)x17 * x17))));
- uint128_t x21 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x15 * ((0x2 * ((uint128_t)x18 * x17)) + (0x2 * ((uint128_t)x17 * x18)))));
- uint128_t x22 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint128_t)x16 * x17)) + ((0x2 * ((uint128_t)x18 * x18)) + (0x2 * ((uint128_t)x17 * x16))))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x15 * ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * ((0x2 * ((uint128_t)x12 * x17)) + ((0x2 * ((uint128_t)x14 * x18)) + ((0x2 * ((uint128_t)x16 * x16)) + ((0x2 * ((uint128_t)x18 * x14)) + (0x2 * ((uint128_t)x17 * x12))))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x17)) + ((0x2 * ((uint128_t)x12 * x18)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + ((0x2 * ((uint128_t)x18 * x12)) + (0x2 * ((uint128_t)x17 * x10)))))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x15 * ((0x2 * ((uint128_t)x8 * x17)) + ((0x2 * ((uint128_t)x10 * x18)) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + ((0x2 * ((uint128_t)x18 * x10)) + (0x2 * ((uint128_t)x17 * x8))))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * ((0x2 * ((uint128_t)x6 * x17)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + (0x2 * ((uint128_t)x17 * x6)))))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- uint64_t x29 = (uint64_t) (x28 >> 0x31);
- uint64_t x30 = ((uint64_t)x28 & 0x1ffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint64_t x32 = (uint64_t) (x31 >> 0x31);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint64_t x35 = (uint64_t) (x34 >> 0x31);
- uint64_t x36 = ((uint64_t)x34 & 0x1ffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint64_t x38 = (uint64_t) (x37 >> 0x31);
- uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint64_t x41 = (uint64_t) (x40 >> 0x31);
- uint64_t x42 = ((uint64_t)x40 & 0x1ffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint64_t x44 = (uint64_t) (x43 >> 0x31);
- uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint64_t x47 = (uint64_t) (x46 >> 0x31);
- uint64_t x48 = ((uint64_t)x46 & 0x1ffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint64_t x50 = (uint64_t) (x49 >> 0x31);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x31);
- uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x30);
- uint64_t x57 = ((uint64_t)x55 & 0xffffffffffff);
- uint64_t x58 = (x30 + (0x15 * x56));
- uint64_t x59 = (x58 >> 0x31);
- uint64_t x60 = (x58 & 0x1ffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x31);
- uint64_t x63 = (x61 & 0x1ffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.v
deleted file mode 100644
index b09751ac1..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fesub.c b/src/Specific/solinas64_2e489m21_10limbs/fesub.c
deleted file mode 100644
index f1b598466..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x3ffffffffffd6 + x5) - x23);
- out[1] = ((0x3fffffffffffe + x7) - x25);
- out[2] = ((0x3fffffffffffe + x9) - x27);
- out[3] = ((0x3fffffffffffe + x11) - x29);
- out[4] = ((0x3fffffffffffe + x13) - x31);
- out[5] = ((0x3fffffffffffe + x15) - x33);
- out[6] = ((0x3fffffffffffe + x17) - x35);
- out[7] = ((0x3fffffffffffe + x19) - x37);
- out[8] = ((0x3fffffffffffe + x21) - x39);
- out[9] = ((0x1fffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fesub.v b/src/Specific/solinas64_2e489m21_10limbs/fesub.v
deleted file mode 100644
index b6548ad02..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.log
deleted file mode 100644
index b53bb1270..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x1fffffffffffe + x20) - x38), ((0x3fffffffffffe + x21) - x39), ((0x3fffffffffffe + x19) - x37), ((0x3fffffffffffe + x17) - x35), ((0x3fffffffffffe + x15) - x33), ((0x3fffffffffffe + x13) - x31), ((0x3fffffffffffe + x11) - x29), ((0x3fffffffffffe + x9) - x27), ((0x3fffffffffffe + x7) - x25), ((0x3ffffffffffd6 + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.v
deleted file mode 100644
index 00d6ed812..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e489m21_10limbs/freeze.c b/src/Specific/solinas64_2e489m21_10limbs/freeze.c
deleted file mode 100644
index d3cc1357e..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffeb);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1ffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1ffffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x1ffffffffffeb);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x1ffffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0x1ffffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0x1ffffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0x1ffffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0x1ffffffffffff);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x1ffffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0x1ffffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0x1ffffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0xffffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_10limbs/freeze.v b/src/Specific/solinas64_2e489m21_10limbs/freeze.v
deleted file mode 100644
index 354821b2f..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.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/solinas64_2e489m21_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.log
deleted file mode 100644
index 75d1da1b6..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1ffffffffffeb);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x1ffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x1ffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x1ffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x1ffffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x1ffffffffffeb);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x1ffffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0x1ffffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0x1ffffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0x1ffffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0x1ffffffffffff);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x1ffffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0x1ffffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0x1ffffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0xffffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 48 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.v
deleted file mode 100644
index 165748f9c..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e489m21_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e489m21_10limbs/py_interpreter.sh
deleted file mode 100755
index 729cdb4f4..000000000
--- a/src/Specific/solinas64_2e489m21_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**489 - 21' -Dmodulus_bytes='48.9' -Da24='121665'
diff --git a/src/Specific/solinas64_2e489m21_9limbs/CurveParameters.v b/src/Specific/solinas64_2e489m21_9limbs/CurveParameters.v
deleted file mode 100644
index 31010d631..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^489 - 21
-Base: 54 + 1/3
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 54 + 1/3;
- bitwidth := 64;
- s := 2^489;
- c := [(1, 21)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e489m21_9limbs/Synthesis.v b/src/Specific/solinas64_2e489m21_9limbs/Synthesis.v
deleted file mode 100644
index 838d1d94d..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/compiler.sh b/src/Specific/solinas64_2e489m21_9limbs/compiler.sh
deleted file mode 100755
index d5d3b4546..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas64_2e489m21_9limbs/compilerxx.sh b/src/Specific/solinas64_2e489m21_9limbs/compilerxx.sh
deleted file mode 100755
index 16145fc9e..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,54,54,55,54,54,55,54,54}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xeb}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<489) - 21' "$@"
diff --git a/src/Specific/solinas64_2e489m21_9limbs/feadd.c b/src/Specific/solinas64_2e489m21_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_9limbs/feadd.v b/src/Specific/solinas64_2e489m21_9limbs/feadd.v
deleted file mode 100644
index 411f1e409..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.v
deleted file mode 100644
index 771181029..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fecarry.v b/src/Specific/solinas64_2e489m21_9limbs/fecarry.v
deleted file mode 100644
index cd36f29d9..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e489m21_9limbs/fecarryDisplay.v
deleted file mode 100644
index d999a7da1..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e489m21_9limbs/femul.c b/src/Specific/solinas64_2e489m21_9limbs/femul.c
deleted file mode 100644
index 28f7e7869..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x15 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x15 * ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35)))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x15 * x21)))))) + (0x15 * (((uint128_t)x17 * x34) + ((0x2 * ((uint128_t)x19 * x35)) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x15 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29))))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x15 * (((uint128_t)x11 * x34) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x15 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x15 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- { uint128_t x45 = (x44 >> 0x37);
- { uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint128_t x48 = (x47 >> 0x36);
- { uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint128_t x51 = (x50 >> 0x36);
- { uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint128_t x54 = (x53 >> 0x37);
- { uint64_t x55 = ((uint64_t)x53 & 0x7fffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint128_t x57 = (x56 >> 0x36);
- { uint64_t x58 = ((uint64_t)x56 & 0x3fffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint128_t x60 = (x59 >> 0x36);
- { uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint64_t x63 = (uint64_t) (x62 >> 0x37);
- { uint64_t x64 = ((uint64_t)x62 & 0x7fffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x36);
- { uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x36);
- { uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffffff);
- { uint128_t x71 = (x46 + ((uint128_t)0x15 * x69));
- { uint64_t x72 = (uint64_t) (x71 >> 0x37);
- { uint64_t x73 = ((uint64_t)x71 & 0x7fffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x36);
- { uint64_t x76 = (x74 & 0x3fffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_9limbs/femul.v b/src/Specific/solinas64_2e489m21_9limbs/femul.v
deleted file mode 100644
index c070aa446..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/femulDisplay.log b/src/Specific/solinas64_2e489m21_9limbs/femulDisplay.log
deleted file mode 100644
index c78befef7..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((0x2 * ((uint128_t)x19 * x23)) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x15 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((0x2 * ((uint128_t)x13 * x25)) + ((0x2 * ((uint128_t)x15 * x23)) + ((uint128_t)x17 * x21))))))) + (0x15 * ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35)))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + ((0x2 * ((uint128_t)x13 * x23)) + ((uint128_t)x15 * x21)))))) + (0x15 * (((uint128_t)x17 * x34) + ((0x2 * ((uint128_t)x19 * x35)) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x15 * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((0x2 * ((uint128_t)x9 * x23)) + ((uint128_t)x11 * x21)))) + (0x15 * ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29))))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + ((0x2 * ((uint128_t)x7 * x23)) + ((uint128_t)x9 * x21))) + (0x15 * (((uint128_t)x11 * x34) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x15 * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x15 * ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23)))))))))));
- uint128_t x45 = (x44 >> 0x37);
- uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint128_t x48 = (x47 >> 0x36);
- uint64_t x49 = ((uint64_t)x47 & 0x3fffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint128_t x51 = (x50 >> 0x36);
- uint64_t x52 = ((uint64_t)x50 & 0x3fffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint128_t x54 = (x53 >> 0x37);
- uint64_t x55 = ((uint64_t)x53 & 0x7fffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint128_t x57 = (x56 >> 0x36);
- uint64_t x58 = ((uint64_t)x56 & 0x3fffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint128_t x60 = (x59 >> 0x36);
- uint64_t x61 = ((uint64_t)x59 & 0x3fffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint64_t x63 = (uint64_t) (x62 >> 0x37);
- uint64_t x64 = ((uint64_t)x62 & 0x7fffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x36);
- uint64_t x67 = ((uint64_t)x65 & 0x3fffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x36);
- uint64_t x70 = ((uint64_t)x68 & 0x3fffffffffffff);
- uint128_t x71 = (x46 + ((uint128_t)0x15 * x69));
- uint64_t x72 = (uint64_t) (x71 >> 0x37);
- uint64_t x73 = ((uint64_t)x71 & 0x7fffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x36);
- uint64_t x76 = (x74 & 0x3fffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_9limbs/femulDisplay.v b/src/Specific/solinas64_2e489m21_9limbs/femulDisplay.v
deleted file mode 100644
index 6e56e5b30..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fesquare.c b/src/Specific/solinas64_2e489m21_9limbs/fesquare.c
deleted file mode 100644
index 2da18a58f..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x15 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16)))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x15) + ((0x2 * ((uint128_t)x16 * x16)) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10))))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x15) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint128_t x29 = (x28 >> 0x36);
- { uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint128_t x32 = (x31 >> 0x36);
- { uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint128_t x38 = (x37 >> 0x36);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint128_t x41 = (x40 >> 0x36);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint64_t x44 = (uint64_t) (x43 >> 0x37);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x36);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x36);
- { uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff);
- { uint128_t x52 = (x27 + ((uint128_t)0x15 * x50));
- { uint64_t x53 = (uint64_t) (x52 >> 0x37);
- { uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x36);
- { uint64_t x57 = (x55 & 0x3fffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fesquare.v b/src/Specific/solinas64_2e489m21_9limbs/fesquare.v
deleted file mode 100644
index 92ecffb91..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.log
deleted file mode 100644
index 3893a91f4..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x15 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x15 * ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16)))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x15 * (((uint128_t)x14 * x15) + ((0x2 * ((uint128_t)x16 * x16)) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x15 * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x15 * ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10))))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x15 * (((uint128_t)x8 * x15) + ((0x2 * ((uint128_t)x10 * x16)) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + ((0x2 * ((uint128_t)x16 * x10)) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x15 * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x15 * ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + (((uint128_t)x8 * x14) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + (((uint128_t)x14 * x8) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4)))))))))));
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint128_t x29 = (x28 >> 0x36);
- uint64_t x30 = ((uint64_t)x28 & 0x3fffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint128_t x32 = (x31 >> 0x36);
- uint64_t x33 = ((uint64_t)x31 & 0x3fffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint128_t x38 = (x37 >> 0x36);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint128_t x41 = (x40 >> 0x36);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint64_t x44 = (uint64_t) (x43 >> 0x37);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x36);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x36);
- uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffffff);
- uint128_t x52 = (x27 + ((uint128_t)0x15 * x50));
- uint64_t x53 = (uint64_t) (x52 >> 0x37);
- uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x36);
- uint64_t x57 = (x55 & 0x3fffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.v
deleted file mode 100644
index 1d3c9ab37..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fesub.c b/src/Specific/solinas64_2e489m21_9limbs/fesub.c
deleted file mode 100644
index 63e733cb7..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0xffffffffffffd6 + x5) - x21);
- out[1] = ((0x7ffffffffffffe + x7) - x23);
- out[2] = ((0x7ffffffffffffe + x9) - x25);
- out[3] = ((0xfffffffffffffe + x11) - x27);
- out[4] = ((0x7ffffffffffffe + x13) - x29);
- out[5] = ((0x7ffffffffffffe + x15) - x31);
- out[6] = ((0xfffffffffffffe + x17) - x33);
- out[7] = ((0x7ffffffffffffe + x19) - x35);
- out[8] = ((0x7ffffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fesub.v b/src/Specific/solinas64_2e489m21_9limbs/fesub.v
deleted file mode 100644
index 4e507a115..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.log
deleted file mode 100644
index c0892d044..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x7ffffffffffffe + x18) - x34), ((0x7ffffffffffffe + x19) - x35), ((0xfffffffffffffe + x17) - x33), ((0x7ffffffffffffe + x15) - x31), ((0x7ffffffffffffe + x13) - x29), ((0xfffffffffffffe + x11) - x27), ((0x7ffffffffffffe + x9) - x25), ((0x7ffffffffffffe + x7) - x23), ((0xffffffffffffd6 + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.v
deleted file mode 100644
index 00391ff1f..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e489m21_9limbs/freeze.c b/src/Specific/solinas64_2e489m21_9limbs/freeze.c
deleted file mode 100644
index 2c2696083..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffeb);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x7fffffffffffeb);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x3fffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x3fffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x7fffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x3fffffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x3fffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x7fffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x3fffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x3fffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e489m21_9limbs/freeze.v b/src/Specific/solinas64_2e489m21_9limbs/freeze.v
deleted file mode 100644
index ac44fe439..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.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/solinas64_2e489m21_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.log
deleted file mode 100644
index 890bbfd27..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffeb);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3fffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3fffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3fffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3fffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3fffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x3fffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x7fffffffffffeb);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x3fffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x3fffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x7fffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x3fffffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x3fffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x7fffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x3fffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x3fffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 54 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.v
deleted file mode 100644
index bb84b26a5..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e489m21_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e489m21_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e489m21_9limbs/py_interpreter.sh
deleted file mode 100755
index 0ea85171b..000000000
--- a/src/Specific/solinas64_2e489m21_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**489 - 21' -Dmodulus_bytes='54 + 1/3' -Da24='121665'
diff --git a/src/Specific/solinas64_2e495m31_10limbs/CurveParameters.v b/src/Specific/solinas64_2e495m31_10limbs/CurveParameters.v
deleted file mode 100644
index 0d55126a6..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^495 - 31
-Base: 49.5
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 49 + 1/2;
- bitwidth := 64;
- s := 2^495;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e495m31_10limbs/Synthesis.v b/src/Specific/solinas64_2e495m31_10limbs/Synthesis.v
deleted file mode 100644
index 76cae2c84..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/compiler.sh b/src/Specific/solinas64_2e495m31_10limbs/compiler.sh
deleted file mode 100755
index 7769a6e80..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49,50,49,50,49,50,49}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas64_2e495m31_10limbs/compilerxx.sh b/src/Specific/solinas64_2e495m31_10limbs/compilerxx.sh
deleted file mode 100755
index 5bd42a7e6..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{50,49,50,49,50,49,50,49,50,49}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas64_2e495m31_10limbs/feadd.c b/src/Specific/solinas64_2e495m31_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_10limbs/feadd.v b/src/Specific/solinas64_2e495m31_10limbs/feadd.v
deleted file mode 100644
index d82fed090..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.v
deleted file mode 100644
index 6240ab7e7..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fecarry.v b/src/Specific/solinas64_2e495m31_10limbs/fecarry.v
deleted file mode 100644
index 791db6905..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e495m31_10limbs/fecarryDisplay.v
deleted file mode 100644
index 3a5232def..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e495m31_10limbs/femul.c b/src/Specific/solinas64_2e495m31_10limbs/femul.c
deleted file mode 100644
index 938158658..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + (((uint128_t)x7 * x39) + (((uint128_t)x9 * x37) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + (((uint128_t)x21 * x25) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + (((uint128_t)x9 * x35) + ((0x2 * ((uint128_t)x11 * x33)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0x1f * (0x2 * ((uint128_t)x20 * x38))));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x19 * x23)))))))) + (0x1f * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (0x1f * ((0x2 * ((uint128_t)x19 * x38)) + (((uint128_t)x21 * x39) + (0x2 * ((uint128_t)x20 * x37))))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((uint128_t)x15 * x23)))))) + (0x1f * (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0x1f * ((0x2 * ((uint128_t)x15 * x38)) + (((uint128_t)x17 * x39) + ((0x2 * ((uint128_t)x19 * x37)) + (((uint128_t)x21 * x35) + (0x2 * ((uint128_t)x20 * x33))))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (0x1f * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0x1f * ((0x2 * ((uint128_t)x11 * x38)) + (((uint128_t)x13 * x39) + ((0x2 * ((uint128_t)x15 * x37)) + (((uint128_t)x17 * x35) + ((0x2 * ((uint128_t)x19 * x33)) + (((uint128_t)x21 * x31) + (0x2 * ((uint128_t)x20 * x29))))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x1f * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + (0x1f * ((0x2 * ((uint128_t)x7 * x38)) + (((uint128_t)x9 * x39) + ((0x2 * ((uint128_t)x11 * x37)) + (((uint128_t)x13 * x35) + ((0x2 * ((uint128_t)x15 * x33)) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + (((uint128_t)x21 * x27) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- { uint64_t x50 = (uint64_t) (x49 >> 0x32);
- { uint64_t x51 = ((uint64_t)x49 & 0x3ffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint64_t x53 = (uint64_t) (x52 >> 0x31);
- { uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint64_t x56 = (uint64_t) (x55 >> 0x32);
- { uint64_t x57 = ((uint64_t)x55 & 0x3ffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint64_t x59 = (uint64_t) (x58 >> 0x31);
- { uint64_t x60 = ((uint64_t)x58 & 0x1ffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint64_t x62 = (uint64_t) (x61 >> 0x32);
- { uint64_t x63 = ((uint64_t)x61 & 0x3ffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint64_t x65 = (uint64_t) (x64 >> 0x31);
- { uint64_t x66 = ((uint64_t)x64 & 0x1ffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint64_t x68 = (uint64_t) (x67 >> 0x32);
- { uint64_t x69 = ((uint64_t)x67 & 0x3ffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint64_t x71 = (uint64_t) (x70 >> 0x31);
- { uint64_t x72 = ((uint64_t)x70 & 0x1ffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x32);
- { uint64_t x75 = ((uint64_t)x73 & 0x3ffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x31);
- { uint64_t x78 = ((uint64_t)x76 & 0x1ffffffffffff);
- { uint64_t x79 = (x51 + (0x1f * x77));
- { uint64_t x80 = (x79 >> 0x32);
- { uint64_t x81 = (x79 & 0x3ffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x31);
- { uint64_t x84 = (x82 & 0x1ffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_10limbs/femul.v b/src/Specific/solinas64_2e495m31_10limbs/femul.v
deleted file mode 100644
index a4b1e4fd6..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/femulDisplay.log b/src/Specific/solinas64_2e495m31_10limbs/femulDisplay.log
deleted file mode 100644
index c5ae08a38..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + (((uint128_t)x7 * x39) + (((uint128_t)x9 * x37) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + (((uint128_t)x21 * x25) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + (((uint128_t)x9 * x35) + ((0x2 * ((uint128_t)x11 * x33)) + (((uint128_t)x13 * x31) + ((0x2 * ((uint128_t)x15 * x29)) + (((uint128_t)x17 * x27) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0x1f * (0x2 * ((uint128_t)x20 * x38))));
- uint128_t x42 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + ((uint128_t)x19 * x23)))))))) + (0x1f * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + (((uint128_t)x9 * x31) + ((0x2 * ((uint128_t)x11 * x29)) + (((uint128_t)x13 * x27) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (0x1f * ((0x2 * ((uint128_t)x19 * x38)) + (((uint128_t)x21 * x39) + (0x2 * ((uint128_t)x20 * x37))))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + ((uint128_t)x15 * x23)))))) + (0x1f * (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + (((uint128_t)x9 * x27) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0x1f * ((0x2 * ((uint128_t)x15 * x38)) + (((uint128_t)x17 * x39) + ((0x2 * ((uint128_t)x19 * x37)) + (((uint128_t)x21 * x35) + (0x2 * ((uint128_t)x20 * x33))))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + ((uint128_t)x11 * x23)))) + (0x1f * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0x1f * ((0x2 * ((uint128_t)x11 * x38)) + (((uint128_t)x13 * x39) + ((0x2 * ((uint128_t)x15 * x37)) + (((uint128_t)x17 * x35) + ((0x2 * ((uint128_t)x19 * x33)) + (((uint128_t)x21 * x31) + (0x2 * ((uint128_t)x20 * x29))))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x1f * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + (0x1f * ((0x2 * ((uint128_t)x7 * x38)) + (((uint128_t)x9 * x39) + ((0x2 * ((uint128_t)x11 * x37)) + (((uint128_t)x13 * x35) + ((0x2 * ((uint128_t)x15 * x33)) + (((uint128_t)x17 * x31) + ((0x2 * ((uint128_t)x19 * x29)) + (((uint128_t)x21 * x27) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- uint64_t x50 = (uint64_t) (x49 >> 0x32);
- uint64_t x51 = ((uint64_t)x49 & 0x3ffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint64_t x53 = (uint64_t) (x52 >> 0x31);
- uint64_t x54 = ((uint64_t)x52 & 0x1ffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint64_t x56 = (uint64_t) (x55 >> 0x32);
- uint64_t x57 = ((uint64_t)x55 & 0x3ffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint64_t x59 = (uint64_t) (x58 >> 0x31);
- uint64_t x60 = ((uint64_t)x58 & 0x1ffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint64_t x62 = (uint64_t) (x61 >> 0x32);
- uint64_t x63 = ((uint64_t)x61 & 0x3ffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint64_t x65 = (uint64_t) (x64 >> 0x31);
- uint64_t x66 = ((uint64_t)x64 & 0x1ffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint64_t x68 = (uint64_t) (x67 >> 0x32);
- uint64_t x69 = ((uint64_t)x67 & 0x3ffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint64_t x71 = (uint64_t) (x70 >> 0x31);
- uint64_t x72 = ((uint64_t)x70 & 0x1ffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x32);
- uint64_t x75 = ((uint64_t)x73 & 0x3ffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x31);
- uint64_t x78 = ((uint64_t)x76 & 0x1ffffffffffff);
- uint64_t x79 = (x51 + (0x1f * x77));
- uint64_t x80 = (x79 >> 0x32);
- uint64_t x81 = (x79 & 0x3ffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x31);
- uint64_t x84 = (x82 & 0x1ffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_10limbs/femulDisplay.v b/src/Specific/solinas64_2e495m31_10limbs/femulDisplay.v
deleted file mode 100644
index 6644101bd..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fesquare.c b/src/Specific/solinas64_2e495m31_10limbs/fesquare.c
deleted file mode 100644
index 935bcc011..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x1f * (0x2 * ((uint128_t)x17 * x17))));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1f * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1f * ((0x2 * ((uint128_t)x16 * x17)) + (((uint128_t)x18 * x18) + (0x2 * ((uint128_t)x17 * x16))))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint128_t)x12 * x17)) + (((uint128_t)x14 * x18) + ((0x2 * ((uint128_t)x16 * x16)) + (((uint128_t)x18 * x14) + (0x2 * ((uint128_t)x17 * x12))))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * ((0x2 * ((uint128_t)x8 * x17)) + (((uint128_t)x10 * x18) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (((uint128_t)x18 * x10) + (0x2 * ((uint128_t)x17 * x8))))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x17)) + (((uint128_t)x6 * x18) + ((0x2 * ((uint128_t)x8 * x16)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((0x2 * ((uint128_t)x16 * x8)) + (((uint128_t)x18 * x6) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- { uint64_t x29 = (uint64_t) (x28 >> 0x32);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint64_t x32 = (uint64_t) (x31 >> 0x31);
- { uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint64_t x35 = (uint64_t) (x34 >> 0x32);
- { uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint64_t x38 = (uint64_t) (x37 >> 0x31);
- { uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint64_t x41 = (uint64_t) (x40 >> 0x32);
- { uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint64_t x44 = (uint64_t) (x43 >> 0x31);
- { uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint64_t x47 = (uint64_t) (x46 >> 0x32);
- { uint64_t x48 = ((uint64_t)x46 & 0x3ffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint64_t x50 = (uint64_t) (x49 >> 0x31);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x32);
- { uint64_t x54 = ((uint64_t)x52 & 0x3ffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x31);
- { uint64_t x57 = ((uint64_t)x55 & 0x1ffffffffffff);
- { uint64_t x58 = (x30 + (0x1f * x56));
- { uint64_t x59 = (x58 >> 0x32);
- { uint64_t x60 = (x58 & 0x3ffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x31);
- { uint64_t x63 = (x61 & 0x1ffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fesquare.v b/src/Specific/solinas64_2e495m31_10limbs/fesquare.v
deleted file mode 100644
index 4f882314c..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.log
deleted file mode 100644
index 43305fd0f..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x1f * (0x2 * ((uint128_t)x17 * x17))));
- uint128_t x21 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1f * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1f * ((0x2 * ((uint128_t)x16 * x17)) + (((uint128_t)x18 * x18) + (0x2 * ((uint128_t)x17 * x16))))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1f * ((0x2 * ((uint128_t)x12 * x17)) + (((uint128_t)x14 * x18) + ((0x2 * ((uint128_t)x16 * x16)) + (((uint128_t)x18 * x14) + (0x2 * ((uint128_t)x17 * x12))))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1f * ((0x2 * ((uint128_t)x8 * x17)) + (((uint128_t)x10 * x18) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (((uint128_t)x18 * x10) + (0x2 * ((uint128_t)x17 * x8))))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + (0x1f * ((0x2 * ((uint128_t)x4 * x17)) + (((uint128_t)x6 * x18) + ((0x2 * ((uint128_t)x8 * x16)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((0x2 * ((uint128_t)x16 * x8)) + (((uint128_t)x18 * x6) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- uint64_t x29 = (uint64_t) (x28 >> 0x32);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint64_t x32 = (uint64_t) (x31 >> 0x31);
- uint64_t x33 = ((uint64_t)x31 & 0x1ffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint64_t x35 = (uint64_t) (x34 >> 0x32);
- uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint64_t x38 = (uint64_t) (x37 >> 0x31);
- uint64_t x39 = ((uint64_t)x37 & 0x1ffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint64_t x41 = (uint64_t) (x40 >> 0x32);
- uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint64_t x44 = (uint64_t) (x43 >> 0x31);
- uint64_t x45 = ((uint64_t)x43 & 0x1ffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint64_t x47 = (uint64_t) (x46 >> 0x32);
- uint64_t x48 = ((uint64_t)x46 & 0x3ffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint64_t x50 = (uint64_t) (x49 >> 0x31);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x32);
- uint64_t x54 = ((uint64_t)x52 & 0x3ffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x31);
- uint64_t x57 = ((uint64_t)x55 & 0x1ffffffffffff);
- uint64_t x58 = (x30 + (0x1f * x56));
- uint64_t x59 = (x58 >> 0x32);
- uint64_t x60 = (x58 & 0x3ffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x31);
- uint64_t x63 = (x61 & 0x1ffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.v
deleted file mode 100644
index 595ad2434..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fesub.c b/src/Specific/solinas64_2e495m31_10limbs/fesub.c
deleted file mode 100644
index 6b93355d4..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x7ffffffffffc2 + x5) - x23);
- out[1] = ((0x3fffffffffffe + x7) - x25);
- out[2] = ((0x7fffffffffffe + x9) - x27);
- out[3] = ((0x3fffffffffffe + x11) - x29);
- out[4] = ((0x7fffffffffffe + x13) - x31);
- out[5] = ((0x3fffffffffffe + x15) - x33);
- out[6] = ((0x7fffffffffffe + x17) - x35);
- out[7] = ((0x3fffffffffffe + x19) - x37);
- out[8] = ((0x7fffffffffffe + x21) - x39);
- out[9] = ((0x3fffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fesub.v b/src/Specific/solinas64_2e495m31_10limbs/fesub.v
deleted file mode 100644
index 198ad7aa3..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.log
deleted file mode 100644
index ef48426de..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x3fffffffffffe + x20) - x38), ((0x7fffffffffffe + x21) - x39), ((0x3fffffffffffe + x19) - x37), ((0x7fffffffffffe + x17) - x35), ((0x3fffffffffffe + x15) - x33), ((0x7fffffffffffe + x13) - x31), ((0x3fffffffffffe + x11) - x29), ((0x7fffffffffffe + x9) - x27), ((0x3fffffffffffe + x7) - x25), ((0x7ffffffffffc2 + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.v
deleted file mode 100644
index c08f8a7bd..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e495m31_10limbs/freeze.c b/src/Specific/solinas64_2e495m31_10limbs/freeze.c
deleted file mode 100644
index d1b038036..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffe1);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x3ffffffffffe1);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x1ffffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0x3ffffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0x1ffffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0x3ffffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0x1ffffffffffff);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x3ffffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0x1ffffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0x3ffffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0x1ffffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_10limbs/freeze.v b/src/Specific/solinas64_2e495m31_10limbs/freeze.v
deleted file mode 100644
index 2a437366e..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.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/solinas64_2e495m31_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.log
deleted file mode 100644
index b877676f3..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffe1);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0x1ffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0x3ffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0x1ffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0x3ffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0x1ffffffffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0x3ffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0x1ffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0x3ffffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0x1ffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x3ffffffffffe1);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x1ffffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0x3ffffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0x1ffffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0x3ffffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0x1ffffffffffff);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x3ffffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0x1ffffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0x3ffffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 50 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0x1ffffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 49 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.v
deleted file mode 100644
index ae9058b0a..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e495m31_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e495m31_10limbs/py_interpreter.sh
deleted file mode 100755
index a4635fe15..000000000
--- a/src/Specific/solinas64_2e495m31_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**495 - 31' -Dmodulus_bytes='49.5' -Da24='121665'
diff --git a/src/Specific/solinas64_2e495m31_9limbs/CurveParameters.v b/src/Specific/solinas64_2e495m31_9limbs/CurveParameters.v
deleted file mode 100644
index 57b353b9f..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^495 - 31
-Base: 55
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 55;
- bitwidth := 64;
- s := 2^495;
- c := [(1, 31)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e495m31_9limbs/Synthesis.v b/src/Specific/solinas64_2e495m31_9limbs/Synthesis.v
deleted file mode 100644
index 2cb638122..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/compiler.sh b/src/Specific/solinas64_2e495m31_9limbs/compiler.sh
deleted file mode 100755
index 1b1a2ee82..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas64_2e495m31_9limbs/compilerxx.sh b/src/Specific/solinas64_2e495m31_9limbs/compilerxx.sh
deleted file mode 100755
index f557597f7..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{55,55,55,55,55,55,55,55,55}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xe1}' -Dmodulus_bytes_val='62' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<495) - 31' "$@"
diff --git a/src/Specific/solinas64_2e495m31_9limbs/feadd.c b/src/Specific/solinas64_2e495m31_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_9limbs/feadd.v b/src/Specific/solinas64_2e495m31_9limbs/feadd.v
deleted file mode 100644
index 19455b564..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.v
deleted file mode 100644
index 054307e1b..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fecarry.v b/src/Specific/solinas64_2e495m31_9limbs/fecarry.v
deleted file mode 100644
index a19bd3081..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e495m31_9limbs/fecarryDisplay.v
deleted file mode 100644
index 2b724714e..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e495m31_9limbs/femul.c b/src/Specific/solinas64_2e495m31_9limbs/femul.c
deleted file mode 100644
index 2f2ec67e9..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x1f * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x1f * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x1f * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x1f * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x1f * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29)))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x1f * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x1f * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + (0x1f * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23))))))))));
- { uint128_t x45 = (x44 >> 0x37);
- { uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint128_t x48 = (x47 >> 0x37);
- { uint64_t x49 = ((uint64_t)x47 & 0x7fffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint128_t x51 = (x50 >> 0x37);
- { uint64_t x52 = ((uint64_t)x50 & 0x7fffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint128_t x54 = (x53 >> 0x37);
- { uint64_t x55 = ((uint64_t)x53 & 0x7fffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint128_t x57 = (x56 >> 0x37);
- { uint64_t x58 = ((uint64_t)x56 & 0x7fffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint128_t x60 = (x59 >> 0x37);
- { uint64_t x61 = ((uint64_t)x59 & 0x7fffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint128_t x63 = (x62 >> 0x37);
- { uint64_t x64 = ((uint64_t)x62 & 0x7fffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint64_t x66 = (uint64_t) (x65 >> 0x37);
- { uint64_t x67 = ((uint64_t)x65 & 0x7fffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint64_t x69 = (uint64_t) (x68 >> 0x37);
- { uint64_t x70 = ((uint64_t)x68 & 0x7fffffffffffff);
- { uint128_t x71 = (x46 + ((uint128_t)0x1f * x69));
- { uint64_t x72 = (uint64_t) (x71 >> 0x37);
- { uint64_t x73 = ((uint64_t)x71 & 0x7fffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x37);
- { uint64_t x76 = (x74 & 0x7fffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_9limbs/femul.v b/src/Specific/solinas64_2e495m31_9limbs/femul.v
deleted file mode 100644
index 5e1e6299c..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/femulDisplay.log b/src/Specific/solinas64_2e495m31_9limbs/femulDisplay.log
deleted file mode 100644
index 305eada5e..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x1f * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + (0x1f * (((uint128_t)x19 * x34) + ((uint128_t)x18 * x35))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + (0x1f * (((uint128_t)x17 * x34) + (((uint128_t)x19 * x35) + ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + (0x1f * (((uint128_t)x15 * x34) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + ((uint128_t)x18 * x31))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + (0x1f * (((uint128_t)x13 * x34) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + ((uint128_t)x18 * x29)))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + (0x1f * (((uint128_t)x11 * x34) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + (0x1f * (((uint128_t)x9 * x34) + (((uint128_t)x11 * x35) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + (((uint128_t)x17 * x29) + (((uint128_t)x19 * x27) + ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + (0x1f * (((uint128_t)x7 * x34) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + (((uint128_t)x19 * x25) + ((uint128_t)x18 * x23))))))))));
- uint128_t x45 = (x44 >> 0x37);
- uint64_t x46 = ((uint64_t)x44 & 0x7fffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint128_t x48 = (x47 >> 0x37);
- uint64_t x49 = ((uint64_t)x47 & 0x7fffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint128_t x51 = (x50 >> 0x37);
- uint64_t x52 = ((uint64_t)x50 & 0x7fffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint128_t x54 = (x53 >> 0x37);
- uint64_t x55 = ((uint64_t)x53 & 0x7fffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint128_t x57 = (x56 >> 0x37);
- uint64_t x58 = ((uint64_t)x56 & 0x7fffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint128_t x60 = (x59 >> 0x37);
- uint64_t x61 = ((uint64_t)x59 & 0x7fffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint128_t x63 = (x62 >> 0x37);
- uint64_t x64 = ((uint64_t)x62 & 0x7fffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint64_t x66 = (uint64_t) (x65 >> 0x37);
- uint64_t x67 = ((uint64_t)x65 & 0x7fffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint64_t x69 = (uint64_t) (x68 >> 0x37);
- uint64_t x70 = ((uint64_t)x68 & 0x7fffffffffffff);
- uint128_t x71 = (x46 + ((uint128_t)0x1f * x69));
- uint64_t x72 = (uint64_t) (x71 >> 0x37);
- uint64_t x73 = ((uint64_t)x71 & 0x7fffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x37);
- uint64_t x76 = (x74 & 0x7fffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_9limbs/femulDisplay.v b/src/Specific/solinas64_2e495m31_9limbs/femulDisplay.v
deleted file mode 100644
index ff93dc7a8..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fesquare.c b/src/Specific/solinas64_2e495m31_9limbs/fesquare.c
deleted file mode 100644
index 3fec90126..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1f * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1f * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10)))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + (0x1f * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4))))))))));
- { uint128_t x26 = (x25 >> 0x37);
- { uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint128_t x29 = (x28 >> 0x37);
- { uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint128_t x32 = (x31 >> 0x37);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint128_t x35 = (x34 >> 0x37);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint128_t x38 = (x37 >> 0x37);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint128_t x41 = (x40 >> 0x37);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint128_t x44 = (x43 >> 0x37);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint64_t x47 = (uint64_t) (x46 >> 0x37);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint64_t x50 = (uint64_t) (x49 >> 0x37);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- { uint128_t x52 = (x27 + ((uint128_t)0x1f * x50));
- { uint64_t x53 = (uint64_t) (x52 >> 0x37);
- { uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x37);
- { uint64_t x57 = (x55 & 0x7fffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fesquare.v b/src/Specific/solinas64_2e495m31_9limbs/fesquare.v
deleted file mode 100644
index aecb1f248..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.log
deleted file mode 100644
index c73337d0d..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1f * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x1f * (((uint128_t)x16 * x15) + ((uint128_t)x15 * x16))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1f * (((uint128_t)x14 * x15) + (((uint128_t)x16 * x16) + ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x1f * (((uint128_t)x12 * x15) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + ((uint128_t)x15 * x12))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1f * (((uint128_t)x10 * x15) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + ((uint128_t)x15 * x10)))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x1f * (((uint128_t)x8 * x15) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1f * (((uint128_t)x6 * x15) + (((uint128_t)x8 * x16) + (((uint128_t)x10 * x14) + (((uint128_t)x12 * x12) + (((uint128_t)x14 * x10) + (((uint128_t)x16 * x8) + ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + (0x1f * (((uint128_t)x4 * x15) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + ((uint128_t)x15 * x4))))))))));
- uint128_t x26 = (x25 >> 0x37);
- uint64_t x27 = ((uint64_t)x25 & 0x7fffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint128_t x29 = (x28 >> 0x37);
- uint64_t x30 = ((uint64_t)x28 & 0x7fffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint128_t x32 = (x31 >> 0x37);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint128_t x35 = (x34 >> 0x37);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint128_t x38 = (x37 >> 0x37);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint128_t x41 = (x40 >> 0x37);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint128_t x44 = (x43 >> 0x37);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint64_t x47 = (uint64_t) (x46 >> 0x37);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint64_t x50 = (uint64_t) (x49 >> 0x37);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffffff);
- uint128_t x52 = (x27 + ((uint128_t)0x1f * x50));
- uint64_t x53 = (uint64_t) (x52 >> 0x37);
- uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x37);
- uint64_t x57 = (x55 & 0x7fffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.v
deleted file mode 100644
index 8bc28642a..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fesub.c b/src/Specific/solinas64_2e495m31_9limbs/fesub.c
deleted file mode 100644
index dbdb67e21..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0xffffffffffffc2 + x5) - x21);
- out[1] = ((0xfffffffffffffe + x7) - x23);
- out[2] = ((0xfffffffffffffe + x9) - x25);
- out[3] = ((0xfffffffffffffe + x11) - x27);
- out[4] = ((0xfffffffffffffe + x13) - x29);
- out[5] = ((0xfffffffffffffe + x15) - x31);
- out[6] = ((0xfffffffffffffe + x17) - x33);
- out[7] = ((0xfffffffffffffe + x19) - x35);
- out[8] = ((0xfffffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fesub.v b/src/Specific/solinas64_2e495m31_9limbs/fesub.v
deleted file mode 100644
index 7e75278e0..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.log
deleted file mode 100644
index c24c0f28a..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0xfffffffffffffe + x18) - x34), ((0xfffffffffffffe + x19) - x35), ((0xfffffffffffffe + x17) - x33), ((0xfffffffffffffe + x15) - x31), ((0xfffffffffffffe + x13) - x29), ((0xfffffffffffffe + x11) - x27), ((0xfffffffffffffe + x9) - x25), ((0xfffffffffffffe + x7) - x23), ((0xffffffffffffc2 + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.v
deleted file mode 100644
index 6b9c912c2..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e495m31_9limbs/freeze.c b/src/Specific/solinas64_2e495m31_9limbs/freeze.c
deleted file mode 100644
index c373d5d40..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe1);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x7fffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x7fffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x7fffffffffffe1);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x7fffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x7fffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x7fffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x7fffffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x7fffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x7fffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x7fffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x7fffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e495m31_9limbs/freeze.v b/src/Specific/solinas64_2e495m31_9limbs/freeze.v
deleted file mode 100644
index 5391a4527..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.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/solinas64_2e495m31_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.log
deleted file mode 100644
index a60ee6bdd..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffffffe1);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x7fffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x7fffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x7fffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x7fffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x7fffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x7fffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x7fffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x7fffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x7fffffffffffe1);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x7fffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x7fffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x7fffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x7fffffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x7fffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x7fffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x7fffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x7fffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 55 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.v
deleted file mode 100644
index d21b19b41..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e495m31_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e495m31_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e495m31_9limbs/py_interpreter.sh
deleted file mode 100755
index 8e36f62b3..000000000
--- a/src/Specific/solinas64_2e495m31_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**495 - 31' -Dmodulus_bytes='55' -Da24='121665'
diff --git a/src/Specific/solinas64_2e511m187_10limbs/CurveParameters.v b/src/Specific/solinas64_2e511m187_10limbs/CurveParameters.v
deleted file mode 100644
index edae92ba4..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 187
-Base: 51.1
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 51 + 1/10;
- bitwidth := 64;
- s := 2^511;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e511m187_10limbs/Synthesis.v b/src/Specific/solinas64_2e511m187_10limbs/Synthesis.v
deleted file mode 100644
index b83885160..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/compiler.sh b/src/Specific/solinas64_2e511m187_10limbs/compiler.sh
deleted file mode 100755
index 05ec39547..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas64_2e511m187_10limbs/compilerxx.sh b/src/Specific/solinas64_2e511m187_10limbs/compilerxx.sh
deleted file mode 100755
index 32cb992c3..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas64_2e511m187_10limbs/feadd.c b/src/Specific/solinas64_2e511m187_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_10limbs/feadd.v b/src/Specific/solinas64_2e511m187_10limbs/feadd.v
deleted file mode 100644
index 98f693777..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.v
deleted file mode 100644
index 280b2f178..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fecarry.v b/src/Specific/solinas64_2e511m187_10limbs/fecarry.v
deleted file mode 100644
index b92653489..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e511m187_10limbs/fecarryDisplay.v
deleted file mode 100644
index 728accb70..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e511m187_10limbs/femul.c b/src/Specific/solinas64_2e511m187_10limbs/femul.c
deleted file mode 100644
index 73bb21edb..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0xbb * ((uint128_t)x20 * x38)));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (0xbb * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (0xbb * (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0xbb * (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0xbb * (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33)))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (0xbb * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0xbb * (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29)))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0xbb * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + (0xbb * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- { uint128_t x50 = (x49 >> 0x34);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint128_t x53 = (x52 >> 0x33);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint128_t x56 = (x55 >> 0x33);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint128_t x59 = (x58 >> 0x33);
- { uint64_t x60 = ((uint64_t)x58 & 0x7ffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint128_t x62 = (x61 >> 0x33);
- { uint64_t x63 = ((uint64_t)x61 & 0x7ffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint128_t x65 = (x64 >> 0x33);
- { uint64_t x66 = ((uint64_t)x64 & 0x7ffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint64_t x68 = (uint64_t) (x67 >> 0x33);
- { uint64_t x69 = ((uint64_t)x67 & 0x7ffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint64_t x71 = (uint64_t) (x70 >> 0x33);
- { uint64_t x72 = ((uint64_t)x70 & 0x7ffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x33);
- { uint64_t x75 = ((uint64_t)x73 & 0x7ffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x33);
- { uint64_t x78 = ((uint64_t)x76 & 0x7ffffffffffff);
- { uint128_t x79 = (x51 + ((uint128_t)0xbb * x77));
- { uint64_t x80 = (uint64_t) (x79 >> 0x34);
- { uint64_t x81 = ((uint64_t)x79 & 0xfffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x33);
- { uint64_t x84 = (x82 & 0x7ffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_10limbs/femul.v b/src/Specific/solinas64_2e511m187_10limbs/femul.v
deleted file mode 100644
index d197a30c3..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/femulDisplay.log b/src/Specific/solinas64_2e511m187_10limbs/femulDisplay.log
deleted file mode 100644
index 4b8437e91..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0xbb * ((uint128_t)x20 * x38)));
- uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (0xbb * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (0xbb * (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0xbb * (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0xbb * (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33)))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (0xbb * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0xbb * (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29)))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0xbb * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + (0xbb * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- uint128_t x50 = (x49 >> 0x34);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint128_t x53 = (x52 >> 0x33);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint128_t x56 = (x55 >> 0x33);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint128_t x59 = (x58 >> 0x33);
- uint64_t x60 = ((uint64_t)x58 & 0x7ffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint128_t x62 = (x61 >> 0x33);
- uint64_t x63 = ((uint64_t)x61 & 0x7ffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint128_t x65 = (x64 >> 0x33);
- uint64_t x66 = ((uint64_t)x64 & 0x7ffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint64_t x68 = (uint64_t) (x67 >> 0x33);
- uint64_t x69 = ((uint64_t)x67 & 0x7ffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint64_t x71 = (uint64_t) (x70 >> 0x33);
- uint64_t x72 = ((uint64_t)x70 & 0x7ffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x33);
- uint64_t x75 = ((uint64_t)x73 & 0x7ffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x33);
- uint64_t x78 = ((uint64_t)x76 & 0x7ffffffffffff);
- uint128_t x79 = (x51 + ((uint128_t)0xbb * x77));
- uint64_t x80 = (uint64_t) (x79 >> 0x34);
- uint64_t x81 = ((uint64_t)x79 & 0xfffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x33);
- uint64_t x84 = (x82 & 0x7ffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_10limbs/femulDisplay.v b/src/Specific/solinas64_2e511m187_10limbs/femulDisplay.v
deleted file mode 100644
index 5b5127c3b..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fesquare.c b/src/Specific/solinas64_2e511m187_10limbs/fesquare.c
deleted file mode 100644
index 03d4677cd..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0xbb * ((uint128_t)x17 * x17)));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0xbb * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0xbb * (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0xbb * (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0xbb * (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12)))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xbb * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xbb * (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8)))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- { uint128_t x29 = (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint128_t x32 = (x31 >> 0x33);
- { uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint128_t x35 = (x34 >> 0x33);
- { uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint128_t x38 = (x37 >> 0x33);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint128_t x41 = (x40 >> 0x33);
- { uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint128_t x44 = (x43 >> 0x33);
- { uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint64_t x47 = (uint64_t) (x46 >> 0x33);
- { uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint64_t x50 = (uint64_t) (x49 >> 0x33);
- { uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x33);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x33);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- { uint128_t x58 = (x30 + ((uint128_t)0xbb * x56));
- { uint64_t x59 = (uint64_t) (x58 >> 0x34);
- { uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x33);
- { uint64_t x63 = (x61 & 0x7ffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fesquare.v b/src/Specific/solinas64_2e511m187_10limbs/fesquare.v
deleted file mode 100644
index 01e1b7b8e..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.log
deleted file mode 100644
index 2abb714d0..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0xbb * ((uint128_t)x17 * x17)));
- uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0xbb * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0xbb * (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0xbb * (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0xbb * (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12)))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0xbb * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xbb * (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8)))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- uint128_t x29 = (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint128_t x32 = (x31 >> 0x33);
- uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint128_t x35 = (x34 >> 0x33);
- uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint128_t x38 = (x37 >> 0x33);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint128_t x41 = (x40 >> 0x33);
- uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint128_t x44 = (x43 >> 0x33);
- uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint64_t x47 = (uint64_t) (x46 >> 0x33);
- uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint64_t x50 = (uint64_t) (x49 >> 0x33);
- uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x33);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x33);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- uint128_t x58 = (x30 + ((uint128_t)0xbb * x56));
- uint64_t x59 = (uint64_t) (x58 >> 0x34);
- uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x33);
- uint64_t x63 = (x61 & 0x7ffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.v
deleted file mode 100644
index 82505c6f9..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fesub.c b/src/Specific/solinas64_2e511m187_10limbs/fesub.c
deleted file mode 100644
index f348c1776..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x1ffffffffffe8a + x5) - x23);
- out[1] = ((0xffffffffffffe + x7) - x25);
- out[2] = ((0xffffffffffffe + x9) - x27);
- out[3] = ((0xffffffffffffe + x11) - x29);
- out[4] = ((0xffffffffffffe + x13) - x31);
- out[5] = ((0xffffffffffffe + x15) - x33);
- out[6] = ((0xffffffffffffe + x17) - x35);
- out[7] = ((0xffffffffffffe + x19) - x37);
- out[8] = ((0xffffffffffffe + x21) - x39);
- out[9] = ((0xffffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fesub.v b/src/Specific/solinas64_2e511m187_10limbs/fesub.v
deleted file mode 100644
index ef4cf346a..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.log
deleted file mode 100644
index db1dc87a3..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0xffffffffffffe + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0xffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((0x1ffffffffffe8a + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.v
deleted file mode 100644
index d6a081ac2..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e511m187_10limbs/freeze.c b/src/Specific/solinas64_2e511m187_10limbs/freeze.c
deleted file mode 100644
index 05758b2b3..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff45);
- { uint64_t x23; uint8_t x24 = _subborrow_u51(x21, x4, 0x7ffffffffffff, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u51(x24, x6, 0x7ffffffffffff, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u51(x27, x8, 0x7ffffffffffff, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u51(x30, x10, 0x7ffffffffffff, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u51(x33, x12, 0x7ffffffffffff, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u51(x36, x14, 0x7ffffffffffff, &x38);
- { uint64_t x41; uint8_t x42 = _subborrow_u51(x39, x16, 0x7ffffffffffff, &x41);
- { uint64_t x44; uint8_t x45 = _subborrow_u51(x42, x18, 0x7ffffffffffff, &x44);
- { uint64_t x47; uint8_t x48 = _subborrow_u51(x45, x17, 0x7ffffffffffff, &x47);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0xfffffffffff45);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x7ffffffffffff);
- { uint64_t x56; uint8_t x57 = _addcarryx_u51(x53, x23, x54, &x56);
- { uint64_t x58 = (x49 & 0x7ffffffffffff);
- { uint64_t x60; uint8_t x61 = _addcarryx_u51(x57, x26, x58, &x60);
- { uint64_t x62 = (x49 & 0x7ffffffffffff);
- { uint64_t x64; uint8_t x65 = _addcarryx_u51(x61, x29, x62, &x64);
- { uint64_t x66 = (x49 & 0x7ffffffffffff);
- { uint64_t x68; uint8_t x69 = _addcarryx_u51(x65, x32, x66, &x68);
- { uint64_t x70 = (x49 & 0x7ffffffffffff);
- { uint64_t x72; uint8_t x73 = _addcarryx_u51(x69, x35, x70, &x72);
- { uint64_t x74 = (x49 & 0x7ffffffffffff);
- { uint64_t x76; uint8_t x77 = _addcarryx_u51(x73, x38, x74, &x76);
- { uint64_t x78 = (x49 & 0x7ffffffffffff);
- { uint64_t x80; uint8_t x81 = _addcarryx_u51(x77, x41, x78, &x80);
- { uint64_t x82 = (x49 & 0x7ffffffffffff);
- { uint64_t x84; uint8_t x85 = _addcarryx_u51(x81, x44, x82, &x84);
- { uint64_t x86 = (x49 & 0x7ffffffffffff);
- { uint64_t x88; uint8_t _ = _addcarryx_u51(x85, x47, x86, &x88);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_10limbs/freeze.v b/src/Specific/solinas64_2e511m187_10limbs/freeze.v
deleted file mode 100644
index 40d6a09e6..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.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/solinas64_2e511m187_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.log
deleted file mode 100644
index 1dd7de935..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffffffff45);
- uint64_t x23, uint8_t x24 = subborrow_u51(x21, x4, 0x7ffffffffffff);
- uint64_t x26, uint8_t x27 = subborrow_u51(x24, x6, 0x7ffffffffffff);
- uint64_t x29, uint8_t x30 = subborrow_u51(x27, x8, 0x7ffffffffffff);
- uint64_t x32, uint8_t x33 = subborrow_u51(x30, x10, 0x7ffffffffffff);
- uint64_t x35, uint8_t x36 = subborrow_u51(x33, x12, 0x7ffffffffffff);
- uint64_t x38, uint8_t x39 = subborrow_u51(x36, x14, 0x7ffffffffffff);
- uint64_t x41, uint8_t x42 = subborrow_u51(x39, x16, 0x7ffffffffffff);
- uint64_t x44, uint8_t x45 = subborrow_u51(x42, x18, 0x7ffffffffffff);
- uint64_t x47, uint8_t x48 = subborrow_u51(x45, x17, 0x7ffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0xfffffffffff45);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x7ffffffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u51(x53, x23, x54);
- uint64_t x58 = (x49 & 0x7ffffffffffff);
- uint64_t x60, uint8_t x61 = addcarryx_u51(x57, x26, x58);
- uint64_t x62 = (x49 & 0x7ffffffffffff);
- uint64_t x64, uint8_t x65 = addcarryx_u51(x61, x29, x62);
- uint64_t x66 = (x49 & 0x7ffffffffffff);
- uint64_t x68, uint8_t x69 = addcarryx_u51(x65, x32, x66);
- uint64_t x70 = (x49 & 0x7ffffffffffff);
- uint64_t x72, uint8_t x73 = addcarryx_u51(x69, x35, x70);
- uint64_t x74 = (x49 & 0x7ffffffffffff);
- uint64_t x76, uint8_t x77 = addcarryx_u51(x73, x38, x74);
- uint64_t x78 = (x49 & 0x7ffffffffffff);
- uint64_t x80, uint8_t x81 = addcarryx_u51(x77, x41, x78);
- uint64_t x82 = (x49 & 0x7ffffffffffff);
- uint64_t x84, uint8_t x85 = addcarryx_u51(x81, x44, x82);
- uint64_t x86 = (x49 & 0x7ffffffffffff);
- uint64_t x88, uint8_t _ = addcarryx_u51(x85, x47, x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.v
deleted file mode 100644
index 02df3b1c5..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e511m187_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e511m187_10limbs/py_interpreter.sh
deleted file mode 100755
index 92089121f..000000000
--- a/src/Specific/solinas64_2e511m187_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 187' -Dmodulus_bytes='51.1' -Da24='121665'
diff --git a/src/Specific/solinas64_2e511m187_11limbs/CurveParameters.v b/src/Specific/solinas64_2e511m187_11limbs/CurveParameters.v
deleted file mode 100644
index 6dc55a188..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 187
-Base: 46 + 5/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 46 + 5/11;
- bitwidth := 64;
- s := 2^511;
- c := [(1, 187)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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/solinas64_2e511m187_11limbs/Synthesis.v b/src/Specific/solinas64_2e511m187_11limbs/Synthesis.v
deleted file mode 100644
index 9d7c498c0..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/compiler.sh b/src/Specific/solinas64_2e511m187_11limbs/compiler.sh
deleted file mode 100755
index 50249c6cd..000000000
--- a/src/Specific/solinas64_2e511m187_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,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='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas64_2e511m187_11limbs/compilerxx.sh b/src/Specific/solinas64_2e511m187_11limbs/compilerxx.sh
deleted file mode 100755
index 68668da4f..000000000
--- a/src/Specific/solinas64_2e511m187_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,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='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0x45}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 187' "$@"
diff --git a/src/Specific/solinas64_2e511m187_11limbs/feadd.c b/src/Specific/solinas64_2e511m187_11limbs/feadd.c
deleted file mode 100644
index f810d17db..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/feadd.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void feadd(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_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/solinas64_2e511m187_11limbs/feadd.v b/src/Specific/solinas64_2e511m187_11limbs/feadd.v
deleted file mode 100644
index b3589c830..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/feaddDisplay.log b/src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.log
deleted file mode 100644
index 83efadb9e..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.v b/src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.v
deleted file mode 100644
index 19f591de4..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fecarry.v b/src/Specific/solinas64_2e511m187_11limbs/fecarry.v
deleted file mode 100644
index d149f3525..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/fecarryDisplay.v b/src/Specific/solinas64_2e511m187_11limbs/fecarryDisplay.v
deleted file mode 100644
index bfbbf5fc3..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e511m187_11limbs/femul.c b/src/Specific/solinas64_2e511m187_11limbs/femul.c
deleted file mode 100644
index 302f33513..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_t x25 = in2[0];
- { uint128_t x44 = (((uint128_t)x5 * x42) + ((0x2 * ((uint128_t)x7 * x43)) + (((uint128_t)x9 * x41) + ((0x2 * ((uint128_t)x11 * x39)) + (((uint128_t)x13 * x37) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (((uint128_t)x21 * x29) + ((0x2 * ((uint128_t)x23 * x27)) + ((uint128_t)x22 * x25)))))))))));
- { uint128_t x45 = ((((uint128_t)x5 * x43) + (((uint128_t)x7 * x41) + (((uint128_t)x9 * x39) + (((uint128_t)x11 * x37) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + (((uint128_t)x21 * x27) + ((uint128_t)x23 * x25)))))))))) + (0xbb * ((uint128_t)x22 * x42)));
- { uint128_t x46 = ((((uint128_t)x5 * x41) + ((0x2 * ((uint128_t)x7 * x39)) + (((uint128_t)x9 * x37) + ((0x2 * ((uint128_t)x11 * x35)) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + ((0x2 * ((uint128_t)x19 * x27)) + ((uint128_t)x21 * x25))))))))) + (0xbb * ((0x2 * ((uint128_t)x23 * x42)) + (0x2 * ((uint128_t)x22 * x43)))));
- { uint128_t x47 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x19 * x25)))))))) + (0xbb * (((uint128_t)x21 * x42) + ((0x2 * ((uint128_t)x23 * x43)) + ((uint128_t)x22 * x41)))));
- { uint128_t x48 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((uint128_t)x17 * x25))))))) + (0xbb * ((0x2 * ((uint128_t)x19 * x42)) + ((0x2 * ((uint128_t)x21 * x43)) + ((0x2 * ((uint128_t)x23 * x41)) + (0x2 * ((uint128_t)x22 * x39)))))));
- { uint128_t x49 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((uint128_t)x15 * x25)))))) + (0xbb * (((uint128_t)x17 * x42) + ((0x2 * ((uint128_t)x19 * x43)) + (((uint128_t)x21 * x41) + ((0x2 * ((uint128_t)x23 * x39)) + ((uint128_t)x22 * x37)))))));
- { uint128_t x50 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + ((0x2 * ((uint128_t)x11 * x27)) + ((uint128_t)x13 * x25))))) + (0xbb * ((0x2 * ((uint128_t)x15 * x42)) + ((0x2 * ((uint128_t)x17 * x43)) + ((0x2 * ((uint128_t)x19 * x41)) + ((0x2 * ((uint128_t)x21 * x39)) + ((0x2 * ((uint128_t)x23 * x37)) + (0x2 * ((uint128_t)x22 * x35)))))))));
- { uint128_t x51 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((uint128_t)x11 * x25)))) + (0xbb * (((uint128_t)x13 * x42) + ((0x2 * ((uint128_t)x15 * x43)) + (((uint128_t)x17 * x41) + ((0x2 * ((uint128_t)x19 * x39)) + (((uint128_t)x21 * x37) + ((0x2 * ((uint128_t)x23 * x35)) + ((uint128_t)x22 * x33)))))))));
- { uint128_t x52 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((uint128_t)x9 * x25))) + (0xbb * ((0x2 * ((uint128_t)x11 * x42)) + ((0x2 * ((uint128_t)x13 * x43)) + ((0x2 * ((uint128_t)x15 * x41)) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + ((0x2 * ((uint128_t)x23 * x33)) + (0x2 * ((uint128_t)x22 * x31)))))))))));
- { uint128_t x53 = ((((uint128_t)x5 * x27) + ((uint128_t)x7 * x25)) + (0xbb * (((uint128_t)x9 * x42) + ((0x2 * ((uint128_t)x11 * x43)) + (((uint128_t)x13 * x41) + ((0x2 * ((uint128_t)x15 * x39)) + (((uint128_t)x17 * x37) + ((0x2 * ((uint128_t)x19 * x35)) + (((uint128_t)x21 * x33) + ((0x2 * ((uint128_t)x23 * x31)) + ((uint128_t)x22 * x29)))))))))));
- { uint128_t x54 = (((uint128_t)x5 * x25) + (0xbb * ((0x2 * ((uint128_t)x7 * x42)) + ((0x2 * ((uint128_t)x9 * x43)) + ((0x2 * ((uint128_t)x11 * x41)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + ((0x2 * ((uint128_t)x23 * x29)) + (0x2 * ((uint128_t)x22 * x27)))))))))))));
- { uint64_t x55 = (uint64_t) (x54 >> 0x2f);
- { uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffff);
- { uint128_t x57 = (x55 + x53);
- { uint64_t x58 = (uint64_t) (x57 >> 0x2e);
- { uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff);
- { uint128_t x60 = (x58 + x52);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint128_t x63 = (x61 + x51);
- { uint64_t x64 = (uint64_t) (x63 >> 0x2e);
- { uint64_t x65 = ((uint64_t)x63 & 0x3fffffffffff);
- { uint128_t x66 = (x64 + x50);
- { uint64_t x67 = (uint64_t) (x66 >> 0x2f);
- { uint64_t x68 = ((uint64_t)x66 & 0x7fffffffffff);
- { uint128_t x69 = (x67 + x49);
- { uint64_t x70 = (uint64_t) (x69 >> 0x2e);
- { uint64_t x71 = ((uint64_t)x69 & 0x3fffffffffff);
- { uint128_t x72 = (x70 + x48);
- { uint64_t x73 = (uint64_t) (x72 >> 0x2f);
- { uint64_t x74 = ((uint64_t)x72 & 0x7fffffffffff);
- { uint128_t x75 = (x73 + x47);
- { uint64_t x76 = (uint64_t) (x75 >> 0x2e);
- { uint64_t x77 = ((uint64_t)x75 & 0x3fffffffffff);
- { uint128_t x78 = (x76 + x46);
- { uint64_t x79 = (uint64_t) (x78 >> 0x2f);
- { uint64_t x80 = ((uint64_t)x78 & 0x7fffffffffff);
- { uint128_t x81 = (x79 + x45);
- { uint64_t x82 = (uint64_t) (x81 >> 0x2e);
- { uint64_t x83 = ((uint64_t)x81 & 0x3fffffffffff);
- { uint128_t x84 = (x82 + x44);
- { uint64_t x85 = (uint64_t) (x84 >> 0x2e);
- { uint64_t x86 = ((uint64_t)x84 & 0x3fffffffffff);
- { uint64_t x87 = (x56 + (0xbb * x85));
- { uint64_t x88 = (x87 >> 0x2f);
- { uint64_t x89 = (x87 & 0x7fffffffffff);
- { uint64_t x90 = (x88 + x59);
- { uint64_t x91 = (x90 >> 0x2e);
- { uint64_t x92 = (x90 & 0x3fffffffffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_11limbs/femul.v b/src/Specific/solinas64_2e511m187_11limbs/femul.v
deleted file mode 100644
index 4cf49002c..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/femulDisplay.log b/src/Specific/solinas64_2e511m187_11limbs/femulDisplay.log
deleted file mode 100644
index 6f8370c5e..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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,
- uint128_t x44 = (((uint128_t)x5 * x42) + ((0x2 * ((uint128_t)x7 * x43)) + (((uint128_t)x9 * x41) + ((0x2 * ((uint128_t)x11 * x39)) + (((uint128_t)x13 * x37) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (((uint128_t)x21 * x29) + ((0x2 * ((uint128_t)x23 * x27)) + ((uint128_t)x22 * x25)))))))))));
- uint128_t x45 = ((((uint128_t)x5 * x43) + (((uint128_t)x7 * x41) + (((uint128_t)x9 * x39) + (((uint128_t)x11 * x37) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + (((uint128_t)x21 * x27) + ((uint128_t)x23 * x25)))))))))) + (0xbb * ((uint128_t)x22 * x42)));
- uint128_t x46 = ((((uint128_t)x5 * x41) + ((0x2 * ((uint128_t)x7 * x39)) + (((uint128_t)x9 * x37) + ((0x2 * ((uint128_t)x11 * x35)) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + ((0x2 * ((uint128_t)x19 * x27)) + ((uint128_t)x21 * x25))))))))) + (0xbb * ((0x2 * ((uint128_t)x23 * x42)) + (0x2 * ((uint128_t)x22 * x43)))));
- uint128_t x47 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x19 * x25)))))))) + (0xbb * (((uint128_t)x21 * x42) + ((0x2 * ((uint128_t)x23 * x43)) + ((uint128_t)x22 * x41)))));
- uint128_t x48 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((uint128_t)x17 * x25))))))) + (0xbb * ((0x2 * ((uint128_t)x19 * x42)) + ((0x2 * ((uint128_t)x21 * x43)) + ((0x2 * ((uint128_t)x23 * x41)) + (0x2 * ((uint128_t)x22 * x39)))))));
- uint128_t x49 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((uint128_t)x15 * x25)))))) + (0xbb * (((uint128_t)x17 * x42) + ((0x2 * ((uint128_t)x19 * x43)) + (((uint128_t)x21 * x41) + ((0x2 * ((uint128_t)x23 * x39)) + ((uint128_t)x22 * x37)))))));
- uint128_t x50 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + ((0x2 * ((uint128_t)x11 * x27)) + ((uint128_t)x13 * x25))))) + (0xbb * ((0x2 * ((uint128_t)x15 * x42)) + ((0x2 * ((uint128_t)x17 * x43)) + ((0x2 * ((uint128_t)x19 * x41)) + ((0x2 * ((uint128_t)x21 * x39)) + ((0x2 * ((uint128_t)x23 * x37)) + (0x2 * ((uint128_t)x22 * x35)))))))));
- uint128_t x51 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((uint128_t)x11 * x25)))) + (0xbb * (((uint128_t)x13 * x42) + ((0x2 * ((uint128_t)x15 * x43)) + (((uint128_t)x17 * x41) + ((0x2 * ((uint128_t)x19 * x39)) + (((uint128_t)x21 * x37) + ((0x2 * ((uint128_t)x23 * x35)) + ((uint128_t)x22 * x33)))))))));
- uint128_t x52 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((uint128_t)x9 * x25))) + (0xbb * ((0x2 * ((uint128_t)x11 * x42)) + ((0x2 * ((uint128_t)x13 * x43)) + ((0x2 * ((uint128_t)x15 * x41)) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + ((0x2 * ((uint128_t)x23 * x33)) + (0x2 * ((uint128_t)x22 * x31)))))))))));
- uint128_t x53 = ((((uint128_t)x5 * x27) + ((uint128_t)x7 * x25)) + (0xbb * (((uint128_t)x9 * x42) + ((0x2 * ((uint128_t)x11 * x43)) + (((uint128_t)x13 * x41) + ((0x2 * ((uint128_t)x15 * x39)) + (((uint128_t)x17 * x37) + ((0x2 * ((uint128_t)x19 * x35)) + (((uint128_t)x21 * x33) + ((0x2 * ((uint128_t)x23 * x31)) + ((uint128_t)x22 * x29)))))))))));
- uint128_t x54 = (((uint128_t)x5 * x25) + (0xbb * ((0x2 * ((uint128_t)x7 * x42)) + ((0x2 * ((uint128_t)x9 * x43)) + ((0x2 * ((uint128_t)x11 * x41)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + ((0x2 * ((uint128_t)x23 * x29)) + (0x2 * ((uint128_t)x22 * x27)))))))))))));
- uint64_t x55 = (uint64_t) (x54 >> 0x2f);
- uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffff);
- uint128_t x57 = (x55 + x53);
- uint64_t x58 = (uint64_t) (x57 >> 0x2e);
- uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff);
- uint128_t x60 = (x58 + x52);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint128_t x63 = (x61 + x51);
- uint64_t x64 = (uint64_t) (x63 >> 0x2e);
- uint64_t x65 = ((uint64_t)x63 & 0x3fffffffffff);
- uint128_t x66 = (x64 + x50);
- uint64_t x67 = (uint64_t) (x66 >> 0x2f);
- uint64_t x68 = ((uint64_t)x66 & 0x7fffffffffff);
- uint128_t x69 = (x67 + x49);
- uint64_t x70 = (uint64_t) (x69 >> 0x2e);
- uint64_t x71 = ((uint64_t)x69 & 0x3fffffffffff);
- uint128_t x72 = (x70 + x48);
- uint64_t x73 = (uint64_t) (x72 >> 0x2f);
- uint64_t x74 = ((uint64_t)x72 & 0x7fffffffffff);
- uint128_t x75 = (x73 + x47);
- uint64_t x76 = (uint64_t) (x75 >> 0x2e);
- uint64_t x77 = ((uint64_t)x75 & 0x3fffffffffff);
- uint128_t x78 = (x76 + x46);
- uint64_t x79 = (uint64_t) (x78 >> 0x2f);
- uint64_t x80 = ((uint64_t)x78 & 0x7fffffffffff);
- uint128_t x81 = (x79 + x45);
- uint64_t x82 = (uint64_t) (x81 >> 0x2e);
- uint64_t x83 = ((uint64_t)x81 & 0x3fffffffffff);
- uint128_t x84 = (x82 + x44);
- uint64_t x85 = (uint64_t) (x84 >> 0x2e);
- uint64_t x86 = ((uint64_t)x84 & 0x3fffffffffff);
- uint64_t x87 = (x56 + (0xbb * x85));
- uint64_t x88 = (x87 >> 0x2f);
- uint64_t x89 = (x87 & 0x7fffffffffff);
- uint64_t x90 = (x88 + x59);
- uint64_t x91 = (x90 >> 0x2e);
- uint64_t x92 = (x90 & 0x3fffffffffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_11limbs/femulDisplay.v b/src/Specific/solinas64_2e511m187_11limbs/femulDisplay.v
deleted file mode 100644
index 08e880925..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fesquare.c b/src/Specific/solinas64_2e511m187_11limbs/fesquare.c
deleted file mode 100644
index c60544c56..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(uint64_t out[11], const uint64_t in1[11]) {
- { const uint64_t x19 = in1[10];
- { const uint64_t x20 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x21 = (((uint128_t)x2 * x19) + ((0x2 * ((uint128_t)x4 * x20)) + (((uint128_t)x6 * x18) + ((0x2 * ((uint128_t)x8 * x16)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((0x2 * ((uint128_t)x16 * x8)) + (((uint128_t)x18 * x6) + ((0x2 * ((uint128_t)x20 * x4)) + ((uint128_t)x19 * x2)))))))))));
- { uint128_t x22 = ((((uint128_t)x2 * x20) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x20 * x2)))))))))) + (0xbb * ((uint128_t)x19 * x19)));
- { uint128_t x23 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0xbb * ((0x2 * ((uint128_t)x20 * x19)) + (0x2 * ((uint128_t)x19 * x20)))));
- { uint128_t x24 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0xbb * (((uint128_t)x18 * x19) + ((0x2 * ((uint128_t)x20 * x20)) + ((uint128_t)x19 * x18)))));
- { uint128_t x25 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0xbb * ((0x2 * ((uint128_t)x16 * x19)) + ((0x2 * ((uint128_t)x18 * x20)) + ((0x2 * ((uint128_t)x20 * x18)) + (0x2 * ((uint128_t)x19 * x16)))))));
- { uint128_t x26 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0xbb * (((uint128_t)x14 * x19) + ((0x2 * ((uint128_t)x16 * x20)) + (((uint128_t)x18 * x18) + ((0x2 * ((uint128_t)x20 * x16)) + ((uint128_t)x19 * x14)))))));
- { uint128_t x27 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint128_t)x12 * x19)) + ((0x2 * ((uint128_t)x14 * x20)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + ((0x2 * ((uint128_t)x20 * x14)) + (0x2 * ((uint128_t)x19 * x12)))))))));
- { uint128_t x28 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xbb * (((uint128_t)x10 * x19) + ((0x2 * ((uint128_t)x12 * x20)) + (((uint128_t)x14 * x18) + ((0x2 * ((uint128_t)x16 * x16)) + (((uint128_t)x18 * x14) + ((0x2 * ((uint128_t)x20 * x12)) + ((uint128_t)x19 * x10)))))))));
- { uint128_t x29 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xbb * ((0x2 * ((uint128_t)x8 * x19)) + ((0x2 * ((uint128_t)x10 * x20)) + ((0x2 * ((uint128_t)x12 * x18)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + ((0x2 * ((uint128_t)x18 * x12)) + ((0x2 * ((uint128_t)x20 * x10)) + (0x2 * ((uint128_t)x19 * x8)))))))))));
- { uint128_t x30 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * (((uint128_t)x6 * x19) + ((0x2 * ((uint128_t)x8 * x20)) + (((uint128_t)x10 * x18) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (((uint128_t)x18 * x10) + ((0x2 * ((uint128_t)x20 * x8)) + ((uint128_t)x19 * x6)))))))))));
- { uint128_t x31 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x19)) + ((0x2 * ((uint128_t)x6 * x20)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + ((0x2 * ((uint128_t)x20 * x6)) + (0x2 * ((uint128_t)x19 * x4)))))))))))));
- { uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- { uint128_t x34 = (x32 + x30);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- { uint128_t x37 = (x35 + x29);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2f);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffff);
- { uint128_t x40 = (x38 + x28);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- { uint128_t x43 = (x41 + x27);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint128_t x46 = (x44 + x26);
- { uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- { uint128_t x49 = (x47 + x25);
- { uint64_t x50 = (uint64_t) (x49 >> 0x2f);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffff);
- { uint128_t x52 = (x50 + x24);
- { uint64_t x53 = (uint64_t) (x52 >> 0x2e);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffff);
- { uint128_t x55 = (x53 + x23);
- { uint64_t x56 = (uint64_t) (x55 >> 0x2f);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffff);
- { uint128_t x58 = (x56 + x22);
- { uint64_t x59 = (uint64_t) (x58 >> 0x2e);
- { uint64_t x60 = ((uint64_t)x58 & 0x3fffffffffff);
- { uint128_t x61 = (x59 + x21);
- { uint64_t x62 = (uint64_t) (x61 >> 0x2e);
- { uint64_t x63 = ((uint64_t)x61 & 0x3fffffffffff);
- { uint64_t x64 = (x33 + (0xbb * x62));
- { uint64_t x65 = (x64 >> 0x2f);
- { uint64_t x66 = (x64 & 0x7fffffffffff);
- { uint64_t x67 = (x65 + x36);
- { uint64_t x68 = (x67 >> 0x2e);
- { uint64_t x69 = (x67 & 0x3fffffffffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fesquare.v b/src/Specific/solinas64_2e511m187_11limbs/fesquare.v
deleted file mode 100644
index 10b86b68e..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/fesquareDisplay.log b/src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.log
deleted file mode 100644
index 53f47cf6b..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x21 = (((uint128_t)x2 * x19) + ((0x2 * ((uint128_t)x4 * x20)) + (((uint128_t)x6 * x18) + ((0x2 * ((uint128_t)x8 * x16)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((0x2 * ((uint128_t)x16 * x8)) + (((uint128_t)x18 * x6) + ((0x2 * ((uint128_t)x20 * x4)) + ((uint128_t)x19 * x2)))))))))));
- uint128_t x22 = ((((uint128_t)x2 * x20) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x20 * x2)))))))))) + (0xbb * ((uint128_t)x19 * x19)));
- uint128_t x23 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0xbb * ((0x2 * ((uint128_t)x20 * x19)) + (0x2 * ((uint128_t)x19 * x20)))));
- uint128_t x24 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0xbb * (((uint128_t)x18 * x19) + ((0x2 * ((uint128_t)x20 * x20)) + ((uint128_t)x19 * x18)))));
- uint128_t x25 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0xbb * ((0x2 * ((uint128_t)x16 * x19)) + ((0x2 * ((uint128_t)x18 * x20)) + ((0x2 * ((uint128_t)x20 * x18)) + (0x2 * ((uint128_t)x19 * x16)))))));
- uint128_t x26 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0xbb * (((uint128_t)x14 * x19) + ((0x2 * ((uint128_t)x16 * x20)) + (((uint128_t)x18 * x18) + ((0x2 * ((uint128_t)x20 * x16)) + ((uint128_t)x19 * x14)))))));
- uint128_t x27 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0xbb * ((0x2 * ((uint128_t)x12 * x19)) + ((0x2 * ((uint128_t)x14 * x20)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + ((0x2 * ((uint128_t)x20 * x14)) + (0x2 * ((uint128_t)x19 * x12)))))))));
- uint128_t x28 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0xbb * (((uint128_t)x10 * x19) + ((0x2 * ((uint128_t)x12 * x20)) + (((uint128_t)x14 * x18) + ((0x2 * ((uint128_t)x16 * x16)) + (((uint128_t)x18 * x14) + ((0x2 * ((uint128_t)x20 * x12)) + ((uint128_t)x19 * x10)))))))));
- uint128_t x29 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0xbb * ((0x2 * ((uint128_t)x8 * x19)) + ((0x2 * ((uint128_t)x10 * x20)) + ((0x2 * ((uint128_t)x12 * x18)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + ((0x2 * ((uint128_t)x18 * x12)) + ((0x2 * ((uint128_t)x20 * x10)) + (0x2 * ((uint128_t)x19 * x8)))))))))));
- uint128_t x30 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0xbb * (((uint128_t)x6 * x19) + ((0x2 * ((uint128_t)x8 * x20)) + (((uint128_t)x10 * x18) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (((uint128_t)x18 * x10) + ((0x2 * ((uint128_t)x20 * x8)) + ((uint128_t)x19 * x6)))))))))));
- uint128_t x31 = (((uint128_t)x2 * x2) + (0xbb * ((0x2 * ((uint128_t)x4 * x19)) + ((0x2 * ((uint128_t)x6 * x20)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + ((0x2 * ((uint128_t)x20 * x6)) + (0x2 * ((uint128_t)x19 * x4)))))))))))));
- uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- uint128_t x34 = (x32 + x30);
- uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- uint128_t x37 = (x35 + x29);
- uint64_t x38 = (uint64_t) (x37 >> 0x2f);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffff);
- uint128_t x40 = (x38 + x28);
- uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- uint128_t x43 = (x41 + x27);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint128_t x46 = (x44 + x26);
- uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- uint128_t x49 = (x47 + x25);
- uint64_t x50 = (uint64_t) (x49 >> 0x2f);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffff);
- uint128_t x52 = (x50 + x24);
- uint64_t x53 = (uint64_t) (x52 >> 0x2e);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffff);
- uint128_t x55 = (x53 + x23);
- uint64_t x56 = (uint64_t) (x55 >> 0x2f);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffff);
- uint128_t x58 = (x56 + x22);
- uint64_t x59 = (uint64_t) (x58 >> 0x2e);
- uint64_t x60 = ((uint64_t)x58 & 0x3fffffffffff);
- uint128_t x61 = (x59 + x21);
- uint64_t x62 = (uint64_t) (x61 >> 0x2e);
- uint64_t x63 = ((uint64_t)x61 & 0x3fffffffffff);
- uint64_t x64 = (x33 + (0xbb * x62));
- uint64_t x65 = (x64 >> 0x2f);
- uint64_t x66 = (x64 & 0x7fffffffffff);
- uint64_t x67 = (x65 + x36);
- uint64_t x68 = (x67 >> 0x2e);
- uint64_t x69 = (x67 & 0x3fffffffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.v b/src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.v
deleted file mode 100644
index b810b71c2..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fesub.c b/src/Specific/solinas64_2e511m187_11limbs/fesub.c
deleted file mode 100644
index 40fa69bfb..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_t x25 = in2[0];
- out[0] = ((0xfffffffffe8a + x5) - x25);
- out[1] = ((0x7ffffffffffe + x7) - x27);
- out[2] = ((0xfffffffffffe + x9) - x29);
- out[3] = ((0x7ffffffffffe + x11) - x31);
- out[4] = ((0xfffffffffffe + x13) - x33);
- out[5] = ((0x7ffffffffffe + x15) - x35);
- out[6] = ((0xfffffffffffe + x17) - x37);
- out[7] = ((0x7ffffffffffe + x19) - x39);
- out[8] = ((0xfffffffffffe + x21) - x41);
- out[9] = ((0x7ffffffffffe + x23) - x43);
- out[10] = ((0x7ffffffffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fesub.v b/src/Specific/solinas64_2e511m187_11limbs/fesub.v
deleted file mode 100644
index d87c26a5a..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/fesubDisplay.log b/src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.log
deleted file mode 100644
index 1834f9b1c..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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,
- (((0x7ffffffffffe + x22) - x42), ((0x7ffffffffffe + x23) - x43), ((0xfffffffffffe + x21) - x41), ((0x7ffffffffffe + x19) - x39), ((0xfffffffffffe + x17) - x37), ((0x7ffffffffffe + x15) - x35), ((0xfffffffffffe + x13) - x33), ((0x7ffffffffffe + x11) - x31), ((0xfffffffffffe + x9) - x29), ((0x7ffffffffffe + x7) - x27), ((0xfffffffffe8a + x5) - x25)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.v b/src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.v
deleted file mode 100644
index 871a713dc..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e511m187_11limbs/freeze.c b/src/Specific/solinas64_2e511m187_11limbs/freeze.c
deleted file mode 100644
index 87c71898e..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +0,0 @@
-static void freeze(uint64_t out[11], const uint64_t in1[11]) {
- { const uint64_t x19 = in1[10];
- { const uint64_t x20 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffff45);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x4, 0x3fffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x8, 0x3fffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffffffffff);
- { uint64_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x16, 0x3fffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x20, 0x3fffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffffffffff);
- { uint64_t x54 = cmovznz64(x53, 0x0, 0xffffffffffffffffL);
- { uint64_t x55 = (x54 & 0x7fffffffff45);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint64_t x59 = (x54 & 0x3fffffffffff);
- { uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint64_t x63 = (x54 & 0x7fffffffffff);
- { uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint64_t x67 = (x54 & 0x3fffffffffff);
- { uint64_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint64_t x71 = (x54 & 0x7fffffffffff);
- { uint64_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint64_t x75 = (x54 & 0x3fffffffffff);
- { uint64_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint64_t x79 = (x54 & 0x7fffffffffff);
- { uint64_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint64_t x83 = (x54 & 0x3fffffffffff);
- { uint64_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint64_t x87 = (x54 & 0x7fffffffffff);
- { uint64_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint64_t x91 = (x54 & 0x3fffffffffff);
- { uint64_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint64_t x95 = (x54 & 0x3fffffffffff);
- { uint64_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m187_11limbs/freeze.v b/src/Specific/solinas64_2e511m187_11limbs/freeze.v
deleted file mode 100644
index 63940d772..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m187_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/solinas64_2e511m187_11limbs/freezeDisplay.log b/src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.log
deleted file mode 100644
index 8241a59b0..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7fffffffff45);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x4, 0x3fffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x8, 0x3fffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffffffffff);
- uint64_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x16, 0x3fffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x20, 0x3fffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffffffffff);
- uint64_t x54 = cmovznz64(x53, 0x0, 0xffffffffffffffffL);
- uint64_t x55 = (x54 & 0x7fffffffff45);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint64_t x59 = (x54 & 0x3fffffffffff);
- uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint64_t x63 = (x54 & 0x7fffffffffff);
- uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint64_t x67 = (x54 & 0x3fffffffffff);
- uint64_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint64_t x71 = (x54 & 0x7fffffffffff);
- uint64_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint64_t x75 = (x54 & 0x3fffffffffff);
- uint64_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint64_t x79 = (x54 & 0x7fffffffffff);
- uint64_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint64_t x83 = (x54 & 0x3fffffffffff);
- uint64_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint64_t x87 = (x54 & 0x7fffffffffff);
- uint64_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint64_t x91 = (x54 & 0x3fffffffffff);
- uint64_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint64_t x95 = (x54 & 0x3fffffffffff);
- uint64_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, Return x57))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.v b/src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.v
deleted file mode 100644
index 0549dedc2..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m187_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e511m187_11limbs/py_interpreter.sh b/src/Specific/solinas64_2e511m187_11limbs/py_interpreter.sh
deleted file mode 100755
index 462321e0b..000000000
--- a/src/Specific/solinas64_2e511m187_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 187' -Dmodulus_bytes='46 + 5/11' -Da24='121665'
diff --git a/src/Specific/solinas64_2e511m481_10limbs/CurveParameters.v b/src/Specific/solinas64_2e511m481_10limbs/CurveParameters.v
deleted file mode 100644
index 5bdb984cf..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 481
-Base: 51.1
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 51 + 1/10;
- bitwidth := 64;
- s := 2^511;
- c := [(1, 481)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e511m481_10limbs/Synthesis.v b/src/Specific/solinas64_2e511m481_10limbs/Synthesis.v
deleted file mode 100644
index 79bf2f6e3..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/compiler.sh b/src/Specific/solinas64_2e511m481_10limbs/compiler.sh
deleted file mode 100755
index dcb7c4d16..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas64_2e511m481_10limbs/compilerxx.sh b/src/Specific/solinas64_2e511m481_10limbs/compilerxx.sh
deleted file mode 100755
index d3c8b1fba..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,51,51,51,51,51}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas64_2e511m481_10limbs/feadd.c b/src/Specific/solinas64_2e511m481_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_10limbs/feadd.v b/src/Specific/solinas64_2e511m481_10limbs/feadd.v
deleted file mode 100644
index 2fb2ef519..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.v
deleted file mode 100644
index 7bfebe52f..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fecarry.v b/src/Specific/solinas64_2e511m481_10limbs/fecarry.v
deleted file mode 100644
index 45a630d93..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e511m481_10limbs/fecarryDisplay.v
deleted file mode 100644
index fe901d811..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e511m481_10limbs/femul.c b/src/Specific/solinas64_2e511m481_10limbs/femul.c
deleted file mode 100644
index 2f40750f5..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0x1e1 * ((uint128_t)x20 * x38)));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (0x1e1 * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (0x1e1 * (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0x1e1 * (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0x1e1 * (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33)))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (0x1e1 * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0x1e1 * (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29)))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x1e1 * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + (0x1e1 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- { uint128_t x50 = (x49 >> 0x34);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint128_t x53 = (x52 >> 0x33);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint128_t x56 = (x55 >> 0x33);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint128_t x59 = (x58 >> 0x33);
- { uint64_t x60 = ((uint64_t)x58 & 0x7ffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint128_t x62 = (x61 >> 0x33);
- { uint64_t x63 = ((uint64_t)x61 & 0x7ffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint128_t x65 = (x64 >> 0x33);
- { uint64_t x66 = ((uint64_t)x64 & 0x7ffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint128_t x68 = (x67 >> 0x33);
- { uint64_t x69 = ((uint64_t)x67 & 0x7ffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint128_t x71 = (x70 >> 0x33);
- { uint64_t x72 = ((uint64_t)x70 & 0x7ffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x33);
- { uint64_t x75 = ((uint64_t)x73 & 0x7ffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x33);
- { uint64_t x78 = ((uint64_t)x76 & 0x7ffffffffffff);
- { uint128_t x79 = (x51 + ((uint128_t)0x1e1 * x77));
- { uint64_t x80 = (uint64_t) (x79 >> 0x34);
- { uint64_t x81 = ((uint64_t)x79 & 0xfffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x33);
- { uint64_t x84 = (x82 & 0x7ffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_10limbs/femul.v b/src/Specific/solinas64_2e511m481_10limbs/femul.v
deleted file mode 100644
index b41453b82..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/femulDisplay.log b/src/Specific/solinas64_2e511m481_10limbs/femulDisplay.log
deleted file mode 100644
index 26195004d..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0x1e1 * ((uint128_t)x20 * x38)));
- uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (0x1e1 * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (0x1e1 * (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0x1e1 * (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35))))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0x1e1 * (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33)))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (0x1e1 * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0x1e1 * (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29)))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x1e1 * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + (0x1e1 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- uint128_t x50 = (x49 >> 0x34);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint128_t x53 = (x52 >> 0x33);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint128_t x56 = (x55 >> 0x33);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint128_t x59 = (x58 >> 0x33);
- uint64_t x60 = ((uint64_t)x58 & 0x7ffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint128_t x62 = (x61 >> 0x33);
- uint64_t x63 = ((uint64_t)x61 & 0x7ffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint128_t x65 = (x64 >> 0x33);
- uint64_t x66 = ((uint64_t)x64 & 0x7ffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint128_t x68 = (x67 >> 0x33);
- uint64_t x69 = ((uint64_t)x67 & 0x7ffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint128_t x71 = (x70 >> 0x33);
- uint64_t x72 = ((uint64_t)x70 & 0x7ffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x33);
- uint64_t x75 = ((uint64_t)x73 & 0x7ffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x33);
- uint64_t x78 = ((uint64_t)x76 & 0x7ffffffffffff);
- uint128_t x79 = (x51 + ((uint128_t)0x1e1 * x77));
- uint64_t x80 = (uint64_t) (x79 >> 0x34);
- uint64_t x81 = ((uint64_t)x79 & 0xfffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x33);
- uint64_t x84 = (x82 & 0x7ffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_10limbs/femulDisplay.v b/src/Specific/solinas64_2e511m481_10limbs/femulDisplay.v
deleted file mode 100644
index d5f200be8..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fesquare.c b/src/Specific/solinas64_2e511m481_10limbs/fesquare.c
deleted file mode 100644
index 973d0ba84..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x1e1 * ((uint128_t)x17 * x17)));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x1e1 * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1e1 * (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1e1 * (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1e1 * (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12)))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1e1 * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1e1 * (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8)))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1e1 * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- { uint128_t x29 = (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint128_t x32 = (x31 >> 0x33);
- { uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint128_t x35 = (x34 >> 0x33);
- { uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint128_t x38 = (x37 >> 0x33);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint128_t x41 = (x40 >> 0x33);
- { uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint128_t x44 = (x43 >> 0x33);
- { uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint128_t x47 = (x46 >> 0x33);
- { uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint128_t x50 = (x49 >> 0x33);
- { uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x33);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x33);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- { uint128_t x58 = (x30 + ((uint128_t)0x1e1 * x56));
- { uint64_t x59 = (uint64_t) (x58 >> 0x34);
- { uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x33);
- { uint64_t x63 = (x61 & 0x7ffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fesquare.v b/src/Specific/solinas64_2e511m481_10limbs/fesquare.v
deleted file mode 100644
index 91a7fea1a..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.log
deleted file mode 100644
index 25e7c49fd..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x1e1 * ((uint128_t)x17 * x17)));
- uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x1e1 * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1e1 * (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x1e1 * (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14))))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1e1 * (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12)))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x1e1 * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1e1 * (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8)))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1e1 * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- uint128_t x29 = (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint128_t x32 = (x31 >> 0x33);
- uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint128_t x35 = (x34 >> 0x33);
- uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint128_t x38 = (x37 >> 0x33);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint128_t x41 = (x40 >> 0x33);
- uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint128_t x44 = (x43 >> 0x33);
- uint64_t x45 = ((uint64_t)x43 & 0x7ffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint128_t x47 = (x46 >> 0x33);
- uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint128_t x50 = (x49 >> 0x33);
- uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x33);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x33);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- uint128_t x58 = (x30 + ((uint128_t)0x1e1 * x56));
- uint64_t x59 = (uint64_t) (x58 >> 0x34);
- uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x33);
- uint64_t x63 = (x61 & 0x7ffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.v
deleted file mode 100644
index 9a1a8600e..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fesub.c b/src/Specific/solinas64_2e511m481_10limbs/fesub.c
deleted file mode 100644
index a7a7c08c9..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x1ffffffffffc3e + x5) - x23);
- out[1] = ((0xffffffffffffe + x7) - x25);
- out[2] = ((0xffffffffffffe + x9) - x27);
- out[3] = ((0xffffffffffffe + x11) - x29);
- out[4] = ((0xffffffffffffe + x13) - x31);
- out[5] = ((0xffffffffffffe + x15) - x33);
- out[6] = ((0xffffffffffffe + x17) - x35);
- out[7] = ((0xffffffffffffe + x19) - x37);
- out[8] = ((0xffffffffffffe + x21) - x39);
- out[9] = ((0xffffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fesub.v b/src/Specific/solinas64_2e511m481_10limbs/fesub.v
deleted file mode 100644
index 8fefa7a45..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.log
deleted file mode 100644
index 993230713..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0xffffffffffffe + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0xffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((0x1ffffffffffc3e + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.v
deleted file mode 100644
index 30da4214c..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e511m481_10limbs/freeze.c b/src/Specific/solinas64_2e511m481_10limbs/freeze.c
deleted file mode 100644
index 63f51d9d3..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffe1f);
- { uint64_t x23; uint8_t x24 = _subborrow_u51(x21, x4, 0x7ffffffffffff, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u51(x24, x6, 0x7ffffffffffff, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u51(x27, x8, 0x7ffffffffffff, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u51(x30, x10, 0x7ffffffffffff, &x32);
- { uint64_t x35; uint8_t x36 = _subborrow_u51(x33, x12, 0x7ffffffffffff, &x35);
- { uint64_t x38; uint8_t x39 = _subborrow_u51(x36, x14, 0x7ffffffffffff, &x38);
- { uint64_t x41; uint8_t x42 = _subborrow_u51(x39, x16, 0x7ffffffffffff, &x41);
- { uint64_t x44; uint8_t x45 = _subborrow_u51(x42, x18, 0x7ffffffffffff, &x44);
- { uint64_t x47; uint8_t x48 = _subborrow_u51(x45, x17, 0x7ffffffffffff, &x47);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0xffffffffffe1f);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x7ffffffffffff);
- { uint64_t x56; uint8_t x57 = _addcarryx_u51(x53, x23, x54, &x56);
- { uint64_t x58 = (x49 & 0x7ffffffffffff);
- { uint64_t x60; uint8_t x61 = _addcarryx_u51(x57, x26, x58, &x60);
- { uint64_t x62 = (x49 & 0x7ffffffffffff);
- { uint64_t x64; uint8_t x65 = _addcarryx_u51(x61, x29, x62, &x64);
- { uint64_t x66 = (x49 & 0x7ffffffffffff);
- { uint64_t x68; uint8_t x69 = _addcarryx_u51(x65, x32, x66, &x68);
- { uint64_t x70 = (x49 & 0x7ffffffffffff);
- { uint64_t x72; uint8_t x73 = _addcarryx_u51(x69, x35, x70, &x72);
- { uint64_t x74 = (x49 & 0x7ffffffffffff);
- { uint64_t x76; uint8_t x77 = _addcarryx_u51(x73, x38, x74, &x76);
- { uint64_t x78 = (x49 & 0x7ffffffffffff);
- { uint64_t x80; uint8_t x81 = _addcarryx_u51(x77, x41, x78, &x80);
- { uint64_t x82 = (x49 & 0x7ffffffffffff);
- { uint64_t x84; uint8_t x85 = _addcarryx_u51(x81, x44, x82, &x84);
- { uint64_t x86 = (x49 & 0x7ffffffffffff);
- { uint64_t x88; uint8_t _ = _addcarryx_u51(x85, x47, x86, &x88);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_10limbs/freeze.v b/src/Specific/solinas64_2e511m481_10limbs/freeze.v
deleted file mode 100644
index fcf5b8d1e..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.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/solinas64_2e511m481_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.log
deleted file mode 100644
index 07b785068..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffe1f);
- uint64_t x23, uint8_t x24 = subborrow_u51(x21, x4, 0x7ffffffffffff);
- uint64_t x26, uint8_t x27 = subborrow_u51(x24, x6, 0x7ffffffffffff);
- uint64_t x29, uint8_t x30 = subborrow_u51(x27, x8, 0x7ffffffffffff);
- uint64_t x32, uint8_t x33 = subborrow_u51(x30, x10, 0x7ffffffffffff);
- uint64_t x35, uint8_t x36 = subborrow_u51(x33, x12, 0x7ffffffffffff);
- uint64_t x38, uint8_t x39 = subborrow_u51(x36, x14, 0x7ffffffffffff);
- uint64_t x41, uint8_t x42 = subborrow_u51(x39, x16, 0x7ffffffffffff);
- uint64_t x44, uint8_t x45 = subborrow_u51(x42, x18, 0x7ffffffffffff);
- uint64_t x47, uint8_t x48 = subborrow_u51(x45, x17, 0x7ffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0xffffffffffe1f);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x7ffffffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u51(x53, x23, x54);
- uint64_t x58 = (x49 & 0x7ffffffffffff);
- uint64_t x60, uint8_t x61 = addcarryx_u51(x57, x26, x58);
- uint64_t x62 = (x49 & 0x7ffffffffffff);
- uint64_t x64, uint8_t x65 = addcarryx_u51(x61, x29, x62);
- uint64_t x66 = (x49 & 0x7ffffffffffff);
- uint64_t x68, uint8_t x69 = addcarryx_u51(x65, x32, x66);
- uint64_t x70 = (x49 & 0x7ffffffffffff);
- uint64_t x72, uint8_t x73 = addcarryx_u51(x69, x35, x70);
- uint64_t x74 = (x49 & 0x7ffffffffffff);
- uint64_t x76, uint8_t x77 = addcarryx_u51(x73, x38, x74);
- uint64_t x78 = (x49 & 0x7ffffffffffff);
- uint64_t x80, uint8_t x81 = addcarryx_u51(x77, x41, x78);
- uint64_t x82 = (x49 & 0x7ffffffffffff);
- uint64_t x84, uint8_t x85 = addcarryx_u51(x81, x44, x82);
- uint64_t x86 = (x49 & 0x7ffffffffffff);
- uint64_t x88, uint8_t _ = addcarryx_u51(x85, x47, x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.v
deleted file mode 100644
index 19230b1f4..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e511m481_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e511m481_10limbs/py_interpreter.sh
deleted file mode 100755
index 631695236..000000000
--- a/src/Specific/solinas64_2e511m481_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 481' -Dmodulus_bytes='51.1' -Da24='121665'
diff --git a/src/Specific/solinas64_2e511m481_11limbs/CurveParameters.v b/src/Specific/solinas64_2e511m481_11limbs/CurveParameters.v
deleted file mode 100644
index 66bd2ceff..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^511 - 481
-Base: 46 + 5/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 46 + 5/11;
- bitwidth := 64;
- s := 2^511;
- c := [(1, 481)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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/solinas64_2e511m481_11limbs/Synthesis.v b/src/Specific/solinas64_2e511m481_11limbs/Synthesis.v
deleted file mode 100644
index a069f2a40..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/compiler.sh b/src/Specific/solinas64_2e511m481_11limbs/compiler.sh
deleted file mode 100755
index 95e2547a8..000000000
--- a/src/Specific/solinas64_2e511m481_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,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='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas64_2e511m481_11limbs/compilerxx.sh b/src/Specific/solinas64_2e511m481_11limbs/compilerxx.sh
deleted file mode 100755
index a8cabec1f..000000000
--- a/src/Specific/solinas64_2e511m481_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,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='64' -Dlimb_weight_gaps_array='{47,46,47,46,47,46,47,46,47,46,46}' -Dmodulus_array='{0x7f,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,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,0xff,0xff,0xff,0xff,0xff,0xfe,0x1f}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<511) - 481' "$@"
diff --git a/src/Specific/solinas64_2e511m481_11limbs/feadd.c b/src/Specific/solinas64_2e511m481_11limbs/feadd.c
deleted file mode 100644
index f810d17db..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/feadd.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void feadd(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_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/solinas64_2e511m481_11limbs/feadd.v b/src/Specific/solinas64_2e511m481_11limbs/feadd.v
deleted file mode 100644
index 70ec18d9a..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/feaddDisplay.log b/src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.log
deleted file mode 100644
index 83efadb9e..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.v b/src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.v
deleted file mode 100644
index 573e034c1..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fecarry.v b/src/Specific/solinas64_2e511m481_11limbs/fecarry.v
deleted file mode 100644
index bbe31057b..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/fecarryDisplay.v b/src/Specific/solinas64_2e511m481_11limbs/fecarryDisplay.v
deleted file mode 100644
index d26e55d2d..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e511m481_11limbs/femul.c b/src/Specific/solinas64_2e511m481_11limbs/femul.c
deleted file mode 100644
index 0cfc49d83..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_t x25 = in2[0];
- { uint128_t x44 = (((uint128_t)x5 * x42) + ((0x2 * ((uint128_t)x7 * x43)) + (((uint128_t)x9 * x41) + ((0x2 * ((uint128_t)x11 * x39)) + (((uint128_t)x13 * x37) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (((uint128_t)x21 * x29) + ((0x2 * ((uint128_t)x23 * x27)) + ((uint128_t)x22 * x25)))))))))));
- { uint128_t x45 = ((((uint128_t)x5 * x43) + (((uint128_t)x7 * x41) + (((uint128_t)x9 * x39) + (((uint128_t)x11 * x37) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + (((uint128_t)x21 * x27) + ((uint128_t)x23 * x25)))))))))) + (0x1e1 * ((uint128_t)x22 * x42)));
- { uint128_t x46 = ((((uint128_t)x5 * x41) + ((0x2 * ((uint128_t)x7 * x39)) + (((uint128_t)x9 * x37) + ((0x2 * ((uint128_t)x11 * x35)) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + ((0x2 * ((uint128_t)x19 * x27)) + ((uint128_t)x21 * x25))))))))) + (0x1e1 * ((0x2 * ((uint128_t)x23 * x42)) + (0x2 * ((uint128_t)x22 * x43)))));
- { uint128_t x47 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x19 * x25)))))))) + (0x1e1 * (((uint128_t)x21 * x42) + ((0x2 * ((uint128_t)x23 * x43)) + ((uint128_t)x22 * x41)))));
- { uint128_t x48 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((uint128_t)x17 * x25))))))) + (0x1e1 * ((0x2 * ((uint128_t)x19 * x42)) + ((0x2 * ((uint128_t)x21 * x43)) + ((0x2 * ((uint128_t)x23 * x41)) + (0x2 * ((uint128_t)x22 * x39)))))));
- { uint128_t x49 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((uint128_t)x15 * x25)))))) + (0x1e1 * (((uint128_t)x17 * x42) + ((0x2 * ((uint128_t)x19 * x43)) + (((uint128_t)x21 * x41) + ((0x2 * ((uint128_t)x23 * x39)) + ((uint128_t)x22 * x37)))))));
- { uint128_t x50 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + ((0x2 * ((uint128_t)x11 * x27)) + ((uint128_t)x13 * x25))))) + (0x1e1 * ((0x2 * ((uint128_t)x15 * x42)) + ((0x2 * ((uint128_t)x17 * x43)) + ((0x2 * ((uint128_t)x19 * x41)) + ((0x2 * ((uint128_t)x21 * x39)) + ((0x2 * ((uint128_t)x23 * x37)) + (0x2 * ((uint128_t)x22 * x35)))))))));
- { uint128_t x51 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((uint128_t)x11 * x25)))) + (0x1e1 * (((uint128_t)x13 * x42) + ((0x2 * ((uint128_t)x15 * x43)) + (((uint128_t)x17 * x41) + ((0x2 * ((uint128_t)x19 * x39)) + (((uint128_t)x21 * x37) + ((0x2 * ((uint128_t)x23 * x35)) + ((uint128_t)x22 * x33)))))))));
- { uint128_t x52 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((uint128_t)x9 * x25))) + (0x1e1 * ((0x2 * ((uint128_t)x11 * x42)) + ((0x2 * ((uint128_t)x13 * x43)) + ((0x2 * ((uint128_t)x15 * x41)) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + ((0x2 * ((uint128_t)x23 * x33)) + (0x2 * ((uint128_t)x22 * x31)))))))))));
- { uint128_t x53 = ((((uint128_t)x5 * x27) + ((uint128_t)x7 * x25)) + (0x1e1 * (((uint128_t)x9 * x42) + ((0x2 * ((uint128_t)x11 * x43)) + (((uint128_t)x13 * x41) + ((0x2 * ((uint128_t)x15 * x39)) + (((uint128_t)x17 * x37) + ((0x2 * ((uint128_t)x19 * x35)) + (((uint128_t)x21 * x33) + ((0x2 * ((uint128_t)x23 * x31)) + ((uint128_t)x22 * x29)))))))))));
- { uint128_t x54 = (((uint128_t)x5 * x25) + (0x1e1 * ((0x2 * ((uint128_t)x7 * x42)) + ((0x2 * ((uint128_t)x9 * x43)) + ((0x2 * ((uint128_t)x11 * x41)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + ((0x2 * ((uint128_t)x23 * x29)) + (0x2 * ((uint128_t)x22 * x27)))))))))))));
- { uint64_t x55 = (uint64_t) (x54 >> 0x2f);
- { uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffff);
- { uint128_t x57 = (x55 + x53);
- { uint64_t x58 = (uint64_t) (x57 >> 0x2e);
- { uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff);
- { uint128_t x60 = (x58 + x52);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- { uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- { uint128_t x63 = (x61 + x51);
- { uint64_t x64 = (uint64_t) (x63 >> 0x2e);
- { uint64_t x65 = ((uint64_t)x63 & 0x3fffffffffff);
- { uint128_t x66 = (x64 + x50);
- { uint64_t x67 = (uint64_t) (x66 >> 0x2f);
- { uint64_t x68 = ((uint64_t)x66 & 0x7fffffffffff);
- { uint128_t x69 = (x67 + x49);
- { uint64_t x70 = (uint64_t) (x69 >> 0x2e);
- { uint64_t x71 = ((uint64_t)x69 & 0x3fffffffffff);
- { uint128_t x72 = (x70 + x48);
- { uint64_t x73 = (uint64_t) (x72 >> 0x2f);
- { uint64_t x74 = ((uint64_t)x72 & 0x7fffffffffff);
- { uint128_t x75 = (x73 + x47);
- { uint64_t x76 = (uint64_t) (x75 >> 0x2e);
- { uint64_t x77 = ((uint64_t)x75 & 0x3fffffffffff);
- { uint128_t x78 = (x76 + x46);
- { uint64_t x79 = (uint64_t) (x78 >> 0x2f);
- { uint64_t x80 = ((uint64_t)x78 & 0x7fffffffffff);
- { uint128_t x81 = (x79 + x45);
- { uint64_t x82 = (uint64_t) (x81 >> 0x2e);
- { uint64_t x83 = ((uint64_t)x81 & 0x3fffffffffff);
- { uint128_t x84 = (x82 + x44);
- { uint64_t x85 = (uint64_t) (x84 >> 0x2e);
- { uint64_t x86 = ((uint64_t)x84 & 0x3fffffffffff);
- { uint64_t x87 = (x56 + (0x1e1 * x85));
- { uint64_t x88 = (x87 >> 0x2f);
- { uint64_t x89 = (x87 & 0x7fffffffffff);
- { uint64_t x90 = (x88 + x59);
- { uint64_t x91 = (x90 >> 0x2e);
- { uint64_t x92 = (x90 & 0x3fffffffffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_11limbs/femul.v b/src/Specific/solinas64_2e511m481_11limbs/femul.v
deleted file mode 100644
index 02db2a2a9..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/femulDisplay.log b/src/Specific/solinas64_2e511m481_11limbs/femulDisplay.log
deleted file mode 100644
index 47fff87da..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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,
- uint128_t x44 = (((uint128_t)x5 * x42) + ((0x2 * ((uint128_t)x7 * x43)) + (((uint128_t)x9 * x41) + ((0x2 * ((uint128_t)x11 * x39)) + (((uint128_t)x13 * x37) + ((0x2 * ((uint128_t)x15 * x35)) + (((uint128_t)x17 * x33) + ((0x2 * ((uint128_t)x19 * x31)) + (((uint128_t)x21 * x29) + ((0x2 * ((uint128_t)x23 * x27)) + ((uint128_t)x22 * x25)))))))))));
- uint128_t x45 = ((((uint128_t)x5 * x43) + (((uint128_t)x7 * x41) + (((uint128_t)x9 * x39) + (((uint128_t)x11 * x37) + (((uint128_t)x13 * x35) + (((uint128_t)x15 * x33) + (((uint128_t)x17 * x31) + (((uint128_t)x19 * x29) + (((uint128_t)x21 * x27) + ((uint128_t)x23 * x25)))))))))) + (0x1e1 * ((uint128_t)x22 * x42)));
- uint128_t x46 = ((((uint128_t)x5 * x41) + ((0x2 * ((uint128_t)x7 * x39)) + (((uint128_t)x9 * x37) + ((0x2 * ((uint128_t)x11 * x35)) + (((uint128_t)x13 * x33) + ((0x2 * ((uint128_t)x15 * x31)) + (((uint128_t)x17 * x29) + ((0x2 * ((uint128_t)x19 * x27)) + ((uint128_t)x21 * x25))))))))) + (0x1e1 * ((0x2 * ((uint128_t)x23 * x42)) + (0x2 * ((uint128_t)x22 * x43)))));
- uint128_t x47 = ((((uint128_t)x5 * x39) + (((uint128_t)x7 * x37) + (((uint128_t)x9 * x35) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + (((uint128_t)x17 * x27) + ((uint128_t)x19 * x25)))))))) + (0x1e1 * (((uint128_t)x21 * x42) + ((0x2 * ((uint128_t)x23 * x43)) + ((uint128_t)x22 * x41)))));
- uint128_t x48 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + ((0x2 * ((uint128_t)x11 * x31)) + (((uint128_t)x13 * x29) + ((0x2 * ((uint128_t)x15 * x27)) + ((uint128_t)x17 * x25))))))) + (0x1e1 * ((0x2 * ((uint128_t)x19 * x42)) + ((0x2 * ((uint128_t)x21 * x43)) + ((0x2 * ((uint128_t)x23 * x41)) + (0x2 * ((uint128_t)x22 * x39)))))));
- uint128_t x49 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + ((uint128_t)x15 * x25)))))) + (0x1e1 * (((uint128_t)x17 * x42) + ((0x2 * ((uint128_t)x19 * x43)) + (((uint128_t)x21 * x41) + ((0x2 * ((uint128_t)x23 * x39)) + ((uint128_t)x22 * x37)))))));
- uint128_t x50 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + (((uint128_t)x9 * x29) + ((0x2 * ((uint128_t)x11 * x27)) + ((uint128_t)x13 * x25))))) + (0x1e1 * ((0x2 * ((uint128_t)x15 * x42)) + ((0x2 * ((uint128_t)x17 * x43)) + ((0x2 * ((uint128_t)x19 * x41)) + ((0x2 * ((uint128_t)x21 * x39)) + ((0x2 * ((uint128_t)x23 * x37)) + (0x2 * ((uint128_t)x22 * x35)))))))));
- uint128_t x51 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + ((uint128_t)x11 * x25)))) + (0x1e1 * (((uint128_t)x13 * x42) + ((0x2 * ((uint128_t)x15 * x43)) + (((uint128_t)x17 * x41) + ((0x2 * ((uint128_t)x19 * x39)) + (((uint128_t)x21 * x37) + ((0x2 * ((uint128_t)x23 * x35)) + ((uint128_t)x22 * x33)))))))));
- uint128_t x52 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((uint128_t)x9 * x25))) + (0x1e1 * ((0x2 * ((uint128_t)x11 * x42)) + ((0x2 * ((uint128_t)x13 * x43)) + ((0x2 * ((uint128_t)x15 * x41)) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + ((0x2 * ((uint128_t)x23 * x33)) + (0x2 * ((uint128_t)x22 * x31)))))))))));
- uint128_t x53 = ((((uint128_t)x5 * x27) + ((uint128_t)x7 * x25)) + (0x1e1 * (((uint128_t)x9 * x42) + ((0x2 * ((uint128_t)x11 * x43)) + (((uint128_t)x13 * x41) + ((0x2 * ((uint128_t)x15 * x39)) + (((uint128_t)x17 * x37) + ((0x2 * ((uint128_t)x19 * x35)) + (((uint128_t)x21 * x33) + ((0x2 * ((uint128_t)x23 * x31)) + ((uint128_t)x22 * x29)))))))))));
- uint128_t x54 = (((uint128_t)x5 * x25) + (0x1e1 * ((0x2 * ((uint128_t)x7 * x42)) + ((0x2 * ((uint128_t)x9 * x43)) + ((0x2 * ((uint128_t)x11 * x41)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + ((0x2 * ((uint128_t)x23 * x29)) + (0x2 * ((uint128_t)x22 * x27)))))))))))));
- uint64_t x55 = (uint64_t) (x54 >> 0x2f);
- uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffff);
- uint128_t x57 = (x55 + x53);
- uint64_t x58 = (uint64_t) (x57 >> 0x2e);
- uint64_t x59 = ((uint64_t)x57 & 0x3fffffffffff);
- uint128_t x60 = (x58 + x52);
- uint64_t x61 = (uint64_t) (x60 >> 0x2f);
- uint64_t x62 = ((uint64_t)x60 & 0x7fffffffffff);
- uint128_t x63 = (x61 + x51);
- uint64_t x64 = (uint64_t) (x63 >> 0x2e);
- uint64_t x65 = ((uint64_t)x63 & 0x3fffffffffff);
- uint128_t x66 = (x64 + x50);
- uint64_t x67 = (uint64_t) (x66 >> 0x2f);
- uint64_t x68 = ((uint64_t)x66 & 0x7fffffffffff);
- uint128_t x69 = (x67 + x49);
- uint64_t x70 = (uint64_t) (x69 >> 0x2e);
- uint64_t x71 = ((uint64_t)x69 & 0x3fffffffffff);
- uint128_t x72 = (x70 + x48);
- uint64_t x73 = (uint64_t) (x72 >> 0x2f);
- uint64_t x74 = ((uint64_t)x72 & 0x7fffffffffff);
- uint128_t x75 = (x73 + x47);
- uint64_t x76 = (uint64_t) (x75 >> 0x2e);
- uint64_t x77 = ((uint64_t)x75 & 0x3fffffffffff);
- uint128_t x78 = (x76 + x46);
- uint64_t x79 = (uint64_t) (x78 >> 0x2f);
- uint64_t x80 = ((uint64_t)x78 & 0x7fffffffffff);
- uint128_t x81 = (x79 + x45);
- uint64_t x82 = (uint64_t) (x81 >> 0x2e);
- uint64_t x83 = ((uint64_t)x81 & 0x3fffffffffff);
- uint128_t x84 = (x82 + x44);
- uint64_t x85 = (uint64_t) (x84 >> 0x2e);
- uint64_t x86 = ((uint64_t)x84 & 0x3fffffffffff);
- uint64_t x87 = (x56 + (0x1e1 * x85));
- uint64_t x88 = (x87 >> 0x2f);
- uint64_t x89 = (x87 & 0x7fffffffffff);
- uint64_t x90 = (x88 + x59);
- uint64_t x91 = (x90 >> 0x2e);
- uint64_t x92 = (x90 & 0x3fffffffffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_11limbs/femulDisplay.v b/src/Specific/solinas64_2e511m481_11limbs/femulDisplay.v
deleted file mode 100644
index 37cf3e308..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fesquare.c b/src/Specific/solinas64_2e511m481_11limbs/fesquare.c
deleted file mode 100644
index 07640ea1d..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(uint64_t out[11], const uint64_t in1[11]) {
- { const uint64_t x19 = in1[10];
- { const uint64_t x20 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x21 = (((uint128_t)x2 * x19) + ((0x2 * ((uint128_t)x4 * x20)) + (((uint128_t)x6 * x18) + ((0x2 * ((uint128_t)x8 * x16)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((0x2 * ((uint128_t)x16 * x8)) + (((uint128_t)x18 * x6) + ((0x2 * ((uint128_t)x20 * x4)) + ((uint128_t)x19 * x2)))))))))));
- { uint128_t x22 = ((((uint128_t)x2 * x20) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x20 * x2)))))))))) + (0x1e1 * ((uint128_t)x19 * x19)));
- { uint128_t x23 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x1e1 * ((0x2 * ((uint128_t)x20 * x19)) + (0x2 * ((uint128_t)x19 * x20)))));
- { uint128_t x24 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1e1 * (((uint128_t)x18 * x19) + ((0x2 * ((uint128_t)x20 * x20)) + ((uint128_t)x19 * x18)))));
- { uint128_t x25 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1e1 * ((0x2 * ((uint128_t)x16 * x19)) + ((0x2 * ((uint128_t)x18 * x20)) + ((0x2 * ((uint128_t)x20 * x18)) + (0x2 * ((uint128_t)x19 * x16)))))));
- { uint128_t x26 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1e1 * (((uint128_t)x14 * x19) + ((0x2 * ((uint128_t)x16 * x20)) + (((uint128_t)x18 * x18) + ((0x2 * ((uint128_t)x20 * x16)) + ((uint128_t)x19 * x14)))))));
- { uint128_t x27 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1e1 * ((0x2 * ((uint128_t)x12 * x19)) + ((0x2 * ((uint128_t)x14 * x20)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + ((0x2 * ((uint128_t)x20 * x14)) + (0x2 * ((uint128_t)x19 * x12)))))))));
- { uint128_t x28 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1e1 * (((uint128_t)x10 * x19) + ((0x2 * ((uint128_t)x12 * x20)) + (((uint128_t)x14 * x18) + ((0x2 * ((uint128_t)x16 * x16)) + (((uint128_t)x18 * x14) + ((0x2 * ((uint128_t)x20 * x12)) + ((uint128_t)x19 * x10)))))))));
- { uint128_t x29 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1e1 * ((0x2 * ((uint128_t)x8 * x19)) + ((0x2 * ((uint128_t)x10 * x20)) + ((0x2 * ((uint128_t)x12 * x18)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + ((0x2 * ((uint128_t)x18 * x12)) + ((0x2 * ((uint128_t)x20 * x10)) + (0x2 * ((uint128_t)x19 * x8)))))))))));
- { uint128_t x30 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1e1 * (((uint128_t)x6 * x19) + ((0x2 * ((uint128_t)x8 * x20)) + (((uint128_t)x10 * x18) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (((uint128_t)x18 * x10) + ((0x2 * ((uint128_t)x20 * x8)) + ((uint128_t)x19 * x6)))))))))));
- { uint128_t x31 = (((uint128_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint128_t)x4 * x19)) + ((0x2 * ((uint128_t)x6 * x20)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + ((0x2 * ((uint128_t)x20 * x6)) + (0x2 * ((uint128_t)x19 * x4)))))))))))));
- { uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- { uint128_t x34 = (x32 + x30);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- { uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- { uint128_t x37 = (x35 + x29);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2f);
- { uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffff);
- { uint128_t x40 = (x38 + x28);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- { uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- { uint128_t x43 = (x41 + x27);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- { uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- { uint128_t x46 = (x44 + x26);
- { uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- { uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- { uint128_t x49 = (x47 + x25);
- { uint64_t x50 = (uint64_t) (x49 >> 0x2f);
- { uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffff);
- { uint128_t x52 = (x50 + x24);
- { uint64_t x53 = (uint64_t) (x52 >> 0x2e);
- { uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffff);
- { uint128_t x55 = (x53 + x23);
- { uint64_t x56 = (uint64_t) (x55 >> 0x2f);
- { uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffff);
- { uint128_t x58 = (x56 + x22);
- { uint64_t x59 = (uint64_t) (x58 >> 0x2e);
- { uint64_t x60 = ((uint64_t)x58 & 0x3fffffffffff);
- { uint128_t x61 = (x59 + x21);
- { uint64_t x62 = (uint64_t) (x61 >> 0x2e);
- { uint64_t x63 = ((uint64_t)x61 & 0x3fffffffffff);
- { uint64_t x64 = (x33 + (0x1e1 * x62));
- { uint64_t x65 = (x64 >> 0x2f);
- { uint64_t x66 = (x64 & 0x7fffffffffff);
- { uint64_t x67 = (x65 + x36);
- { uint64_t x68 = (x67 >> 0x2e);
- { uint64_t x69 = (x67 & 0x3fffffffffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fesquare.v b/src/Specific/solinas64_2e511m481_11limbs/fesquare.v
deleted file mode 100644
index 878a6d3ef..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/fesquareDisplay.log b/src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.log
deleted file mode 100644
index d8d8138cd..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x21 = (((uint128_t)x2 * x19) + ((0x2 * ((uint128_t)x4 * x20)) + (((uint128_t)x6 * x18) + ((0x2 * ((uint128_t)x8 * x16)) + (((uint128_t)x10 * x14) + ((0x2 * ((uint128_t)x12 * x12)) + (((uint128_t)x14 * x10) + ((0x2 * ((uint128_t)x16 * x8)) + (((uint128_t)x18 * x6) + ((0x2 * ((uint128_t)x20 * x4)) + ((uint128_t)x19 * x2)))))))))));
- uint128_t x22 = ((((uint128_t)x2 * x20) + (((uint128_t)x4 * x18) + (((uint128_t)x6 * x16) + (((uint128_t)x8 * x14) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + (((uint128_t)x14 * x8) + (((uint128_t)x16 * x6) + (((uint128_t)x18 * x4) + ((uint128_t)x20 * x2)))))))))) + (0x1e1 * ((uint128_t)x19 * x19)));
- uint128_t x23 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + (((uint128_t)x6 * x14) + ((0x2 * ((uint128_t)x8 * x12)) + (((uint128_t)x10 * x10) + ((0x2 * ((uint128_t)x12 * x8)) + (((uint128_t)x14 * x6) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x1e1 * ((0x2 * ((uint128_t)x20 * x19)) + (0x2 * ((uint128_t)x19 * x20)))));
- uint128_t x24 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x1e1 * (((uint128_t)x18 * x19) + ((0x2 * ((uint128_t)x20 * x20)) + ((uint128_t)x19 * x18)))));
- uint128_t x25 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + (((uint128_t)x6 * x10) + ((0x2 * ((uint128_t)x8 * x8)) + (((uint128_t)x10 * x6) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (0x1e1 * ((0x2 * ((uint128_t)x16 * x19)) + ((0x2 * ((uint128_t)x18 * x20)) + ((0x2 * ((uint128_t)x20 * x18)) + (0x2 * ((uint128_t)x19 * x16)))))));
- uint128_t x26 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + (0x1e1 * (((uint128_t)x14 * x19) + ((0x2 * ((uint128_t)x16 * x20)) + (((uint128_t)x18 * x18) + ((0x2 * ((uint128_t)x20 * x16)) + ((uint128_t)x19 * x14)))))));
- uint128_t x27 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + (((uint128_t)x6 * x6) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x1e1 * ((0x2 * ((uint128_t)x12 * x19)) + ((0x2 * ((uint128_t)x14 * x20)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + ((0x2 * ((uint128_t)x20 * x14)) + (0x2 * ((uint128_t)x19 * x12)))))))));
- uint128_t x28 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + (0x1e1 * (((uint128_t)x10 * x19) + ((0x2 * ((uint128_t)x12 * x20)) + (((uint128_t)x14 * x18) + ((0x2 * ((uint128_t)x16 * x16)) + (((uint128_t)x18 * x14) + ((0x2 * ((uint128_t)x20 * x12)) + ((uint128_t)x19 * x10)))))))));
- uint128_t x29 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x1e1 * ((0x2 * ((uint128_t)x8 * x19)) + ((0x2 * ((uint128_t)x10 * x20)) + ((0x2 * ((uint128_t)x12 * x18)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + ((0x2 * ((uint128_t)x18 * x12)) + ((0x2 * ((uint128_t)x20 * x10)) + (0x2 * ((uint128_t)x19 * x8)))))))))));
- uint128_t x30 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x1e1 * (((uint128_t)x6 * x19) + ((0x2 * ((uint128_t)x8 * x20)) + (((uint128_t)x10 * x18) + ((0x2 * ((uint128_t)x12 * x16)) + (((uint128_t)x14 * x14) + ((0x2 * ((uint128_t)x16 * x12)) + (((uint128_t)x18 * x10) + ((0x2 * ((uint128_t)x20 * x8)) + ((uint128_t)x19 * x6)))))))))));
- uint128_t x31 = (((uint128_t)x2 * x2) + (0x1e1 * ((0x2 * ((uint128_t)x4 * x19)) + ((0x2 * ((uint128_t)x6 * x20)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + ((0x2 * ((uint128_t)x20 * x6)) + (0x2 * ((uint128_t)x19 * x4)))))))))))));
- uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- uint128_t x34 = (x32 + x30);
- uint64_t x35 = (uint64_t) (x34 >> 0x2e);
- uint64_t x36 = ((uint64_t)x34 & 0x3fffffffffff);
- uint128_t x37 = (x35 + x29);
- uint64_t x38 = (uint64_t) (x37 >> 0x2f);
- uint64_t x39 = ((uint64_t)x37 & 0x7fffffffffff);
- uint128_t x40 = (x38 + x28);
- uint64_t x41 = (uint64_t) (x40 >> 0x2e);
- uint64_t x42 = ((uint64_t)x40 & 0x3fffffffffff);
- uint128_t x43 = (x41 + x27);
- uint64_t x44 = (uint64_t) (x43 >> 0x2f);
- uint64_t x45 = ((uint64_t)x43 & 0x7fffffffffff);
- uint128_t x46 = (x44 + x26);
- uint64_t x47 = (uint64_t) (x46 >> 0x2e);
- uint64_t x48 = ((uint64_t)x46 & 0x3fffffffffff);
- uint128_t x49 = (x47 + x25);
- uint64_t x50 = (uint64_t) (x49 >> 0x2f);
- uint64_t x51 = ((uint64_t)x49 & 0x7fffffffffff);
- uint128_t x52 = (x50 + x24);
- uint64_t x53 = (uint64_t) (x52 >> 0x2e);
- uint64_t x54 = ((uint64_t)x52 & 0x3fffffffffff);
- uint128_t x55 = (x53 + x23);
- uint64_t x56 = (uint64_t) (x55 >> 0x2f);
- uint64_t x57 = ((uint64_t)x55 & 0x7fffffffffff);
- uint128_t x58 = (x56 + x22);
- uint64_t x59 = (uint64_t) (x58 >> 0x2e);
- uint64_t x60 = ((uint64_t)x58 & 0x3fffffffffff);
- uint128_t x61 = (x59 + x21);
- uint64_t x62 = (uint64_t) (x61 >> 0x2e);
- uint64_t x63 = ((uint64_t)x61 & 0x3fffffffffff);
- uint64_t x64 = (x33 + (0x1e1 * x62));
- uint64_t x65 = (x64 >> 0x2f);
- uint64_t x66 = (x64 & 0x7fffffffffff);
- uint64_t x67 = (x65 + x36);
- uint64_t x68 = (x67 >> 0x2e);
- uint64_t x69 = (x67 & 0x3fffffffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.v b/src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.v
deleted file mode 100644
index 824a8b50e..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fesub.c b/src/Specific/solinas64_2e511m481_11limbs/fesub.c
deleted file mode 100644
index 6201f12c8..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_t x25 = in2[0];
- out[0] = ((0xfffffffffc3e + x5) - x25);
- out[1] = ((0x7ffffffffffe + x7) - x27);
- out[2] = ((0xfffffffffffe + x9) - x29);
- out[3] = ((0x7ffffffffffe + x11) - x31);
- out[4] = ((0xfffffffffffe + x13) - x33);
- out[5] = ((0x7ffffffffffe + x15) - x35);
- out[6] = ((0xfffffffffffe + x17) - x37);
- out[7] = ((0x7ffffffffffe + x19) - x39);
- out[8] = ((0xfffffffffffe + x21) - x41);
- out[9] = ((0x7ffffffffffe + x23) - x43);
- out[10] = ((0x7ffffffffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fesub.v b/src/Specific/solinas64_2e511m481_11limbs/fesub.v
deleted file mode 100644
index 71a04b457..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/fesubDisplay.log b/src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.log
deleted file mode 100644
index 967880b02..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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,
- (((0x7ffffffffffe + x22) - x42), ((0x7ffffffffffe + x23) - x43), ((0xfffffffffffe + x21) - x41), ((0x7ffffffffffe + x19) - x39), ((0xfffffffffffe + x17) - x37), ((0x7ffffffffffe + x15) - x35), ((0xfffffffffffe + x13) - x33), ((0x7ffffffffffe + x11) - x31), ((0xfffffffffffe + x9) - x29), ((0x7ffffffffffe + x7) - x27), ((0xfffffffffc3e + x5) - x25)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.v b/src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.v
deleted file mode 100644
index f39afc31a..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e511m481_11limbs/freeze.c b/src/Specific/solinas64_2e511m481_11limbs/freeze.c
deleted file mode 100644
index 20697fab7..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +0,0 @@
-static void freeze(uint64_t out[11], const uint64_t in1[11]) {
- { const uint64_t x19 = in1[10];
- { const uint64_t x20 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffe1f);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x4, 0x3fffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x8, 0x3fffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffffffffff);
- { uint64_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x16, 0x3fffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x20, 0x3fffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffffffffff);
- { uint64_t x54 = cmovznz64(x53, 0x0, 0xffffffffffffffffL);
- { uint64_t x55 = (x54 & 0x7ffffffffe1f);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint64_t x59 = (x54 & 0x3fffffffffff);
- { uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint64_t x63 = (x54 & 0x7fffffffffff);
- { uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint64_t x67 = (x54 & 0x3fffffffffff);
- { uint64_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint64_t x71 = (x54 & 0x7fffffffffff);
- { uint64_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint64_t x75 = (x54 & 0x3fffffffffff);
- { uint64_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint64_t x79 = (x54 & 0x7fffffffffff);
- { uint64_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint64_t x83 = (x54 & 0x3fffffffffff);
- { uint64_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint64_t x87 = (x54 & 0x7fffffffffff);
- { uint64_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint64_t x91 = (x54 & 0x3fffffffffff);
- { uint64_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint64_t x95 = (x54 & 0x3fffffffffff);
- { uint64_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e511m481_11limbs/freeze.v b/src/Specific/solinas64_2e511m481_11limbs/freeze.v
deleted file mode 100644
index 7783c6b1d..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e511m481_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/solinas64_2e511m481_11limbs/freezeDisplay.log b/src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.log
deleted file mode 100644
index 1568647af..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffe1f);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x4, 0x3fffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x6, 0x7fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x8, 0x3fffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x10, 0x7fffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x12, 0x3fffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x14, 0x7fffffffffff);
- uint64_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x16, 0x3fffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x18, 0x7fffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x20, 0x3fffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffffffffff);
- uint64_t x54 = cmovznz64(x53, 0x0, 0xffffffffffffffffL);
- uint64_t x55 = (x54 & 0x7ffffffffe1f);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint64_t x59 = (x54 & 0x3fffffffffff);
- uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint64_t x63 = (x54 & 0x7fffffffffff);
- uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint64_t x67 = (x54 & 0x3fffffffffff);
- uint64_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint64_t x71 = (x54 & 0x7fffffffffff);
- uint64_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint64_t x75 = (x54 & 0x3fffffffffff);
- uint64_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint64_t x79 = (x54 & 0x7fffffffffff);
- uint64_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint64_t x83 = (x54 & 0x3fffffffffff);
- uint64_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint64_t x87 = (x54 & 0x7fffffffffff);
- uint64_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint64_t x91 = (x54 & 0x3fffffffffff);
- uint64_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint64_t x95 = (x54 & 0x3fffffffffff);
- uint64_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, Return x57))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.v b/src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.v
deleted file mode 100644
index 2f0d4f7ee..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e511m481_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e511m481_11limbs/py_interpreter.sh b/src/Specific/solinas64_2e511m481_11limbs/py_interpreter.sh
deleted file mode 100755
index 32b9e0fe4..000000000
--- a/src/Specific/solinas64_2e511m481_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**511 - 481' -Dmodulus_bytes='46 + 5/11' -Da24='121665'
diff --git a/src/Specific/solinas64_2e512m569_10limbs/CurveParameters.v b/src/Specific/solinas64_2e512m569_10limbs/CurveParameters.v
deleted file mode 100644
index 13d176bc4..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 569
-Base: 51.2
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 51 + 1/5;
- bitwidth := 64;
- s := 2^512;
- c := [(1, 569)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e512m569_10limbs/Synthesis.v b/src/Specific/solinas64_2e512m569_10limbs/Synthesis.v
deleted file mode 100644
index 414fbe02f..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/compiler.sh b/src/Specific/solinas64_2e512m569_10limbs/compiler.sh
deleted file mode 100755
index 139748419..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas64_2e512m569_10limbs/compilerxx.sh b/src/Specific/solinas64_2e512m569_10limbs/compilerxx.sh
deleted file mode 100755
index d335d47c8..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{52,51,51,51,51,52,51,51,51,51}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas64_2e512m569_10limbs/feadd.c b/src/Specific/solinas64_2e512m569_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_10limbs/feadd.v b/src/Specific/solinas64_2e512m569_10limbs/feadd.v
deleted file mode 100644
index b5772a500..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.v
deleted file mode 100644
index b80f582f0..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fecarry.v b/src/Specific/solinas64_2e512m569_10limbs/fecarry.v
deleted file mode 100644
index 8e7f05aba..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e512m569_10limbs/fecarryDisplay.v
deleted file mode 100644
index d6eafdcc8..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e512m569_10limbs/femul.c b/src/Specific/solinas64_2e512m569_10limbs/femul.c
deleted file mode 100644
index 46e0f261b..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0x239 * ((uint128_t)x20 * x38)));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (0x239 * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x17 * x23))))))) + (0x239 * (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0x239 * ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0x239 * (((uint128_t)x15 * x38) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + ((uint128_t)x20 * x33)))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (0x239 * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + ((0x2 * ((uint128_t)x17 * x37)) + ((0x2 * ((uint128_t)x19 * x35)) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0x239 * (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + ((0x2 * ((uint128_t)x17 * x35)) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29)))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x239 * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + (0x239 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- { uint128_t x50 = (x49 >> 0x34);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint128_t x53 = (x52 >> 0x33);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint128_t x56 = (x55 >> 0x33);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint128_t x59 = (x58 >> 0x33);
- { uint64_t x60 = ((uint64_t)x58 & 0x7ffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint128_t x62 = (x61 >> 0x33);
- { uint64_t x63 = ((uint64_t)x61 & 0x7ffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint128_t x65 = (x64 >> 0x34);
- { uint64_t x66 = ((uint64_t)x64 & 0xfffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint128_t x68 = (x67 >> 0x33);
- { uint64_t x69 = ((uint64_t)x67 & 0x7ffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint128_t x71 = (x70 >> 0x33);
- { uint64_t x72 = ((uint64_t)x70 & 0x7ffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x33);
- { uint64_t x75 = ((uint64_t)x73 & 0x7ffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x33);
- { uint64_t x78 = ((uint64_t)x76 & 0x7ffffffffffff);
- { uint128_t x79 = (x51 + ((uint128_t)0x239 * x77));
- { uint64_t x80 = (uint64_t) (x79 >> 0x34);
- { uint64_t x81 = ((uint64_t)x79 & 0xfffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x33);
- { uint64_t x84 = (x82 & 0x7ffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_10limbs/femul.v b/src/Specific/solinas64_2e512m569_10limbs/femul.v
deleted file mode 100644
index ac9f5ccfa..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/femulDisplay.log b/src/Specific/solinas64_2e512m569_10limbs/femulDisplay.log
deleted file mode 100644
index 0fdd49f6f..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + (((uint128_t)x13 * x33) + (((uint128_t)x15 * x31) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + (((uint128_t)x11 * x33) + (((uint128_t)x13 * x31) + (((uint128_t)x15 * x29) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + (0x239 * ((uint128_t)x20 * x38)));
- uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (0x239 * (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39))));
- uint128_t x43 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + ((uint128_t)x17 * x23))))))) + (0x239 * (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37)))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (0x239 * ((0x2 * ((uint128_t)x17 * x38)) + ((0x2 * ((uint128_t)x19 * x39)) + ((0x2 * ((uint128_t)x21 * x37)) + (0x2 * ((uint128_t)x20 * x35)))))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (0x239 * (((uint128_t)x15 * x38) + ((0x2 * ((uint128_t)x17 * x39)) + ((0x2 * ((uint128_t)x19 * x37)) + ((0x2 * ((uint128_t)x21 * x35)) + ((uint128_t)x20 * x33)))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (0x239 * (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + ((0x2 * ((uint128_t)x17 * x37)) + ((0x2 * ((uint128_t)x19 * x35)) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31))))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (0x239 * (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + ((0x2 * ((uint128_t)x17 * x35)) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29)))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (0x239 * (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27))))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + (0x239 * ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + (((uint128_t)x15 * x33) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25))))))))))));
- uint128_t x50 = (x49 >> 0x34);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint128_t x53 = (x52 >> 0x33);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint128_t x56 = (x55 >> 0x33);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint128_t x59 = (x58 >> 0x33);
- uint64_t x60 = ((uint64_t)x58 & 0x7ffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint128_t x62 = (x61 >> 0x33);
- uint64_t x63 = ((uint64_t)x61 & 0x7ffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint128_t x65 = (x64 >> 0x34);
- uint64_t x66 = ((uint64_t)x64 & 0xfffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint128_t x68 = (x67 >> 0x33);
- uint64_t x69 = ((uint64_t)x67 & 0x7ffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint128_t x71 = (x70 >> 0x33);
- uint64_t x72 = ((uint64_t)x70 & 0x7ffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x33);
- uint64_t x75 = ((uint64_t)x73 & 0x7ffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x33);
- uint64_t x78 = ((uint64_t)x76 & 0x7ffffffffffff);
- uint128_t x79 = (x51 + ((uint128_t)0x239 * x77));
- uint64_t x80 = (uint64_t) (x79 >> 0x34);
- uint64_t x81 = ((uint64_t)x79 & 0xfffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x33);
- uint64_t x84 = (x82 & 0x7ffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_10limbs/femulDisplay.v b/src/Specific/solinas64_2e512m569_10limbs/femulDisplay.v
deleted file mode 100644
index 7531c9c34..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fesquare.c b/src/Specific/solinas64_2e512m569_10limbs/fesquare.c
deleted file mode 100644
index c8ecbdfda..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x239 * ((uint128_t)x17 * x17)));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x239 * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x239 * (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x239 * ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x239 * (((uint128_t)x12 * x17) + ((0x2 * ((uint128_t)x14 * x18)) + ((0x2 * ((uint128_t)x16 * x16)) + ((0x2 * ((uint128_t)x18 * x14)) + ((uint128_t)x17 * x12)))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x239 * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x239 * (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + ((0x2 * ((uint128_t)x14 * x14)) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8)))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x239 * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + (0x239 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- { uint128_t x29 = (x28 >> 0x34);
- { uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint128_t x32 = (x31 >> 0x33);
- { uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint128_t x35 = (x34 >> 0x33);
- { uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint128_t x38 = (x37 >> 0x33);
- { uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint128_t x41 = (x40 >> 0x33);
- { uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint128_t x44 = (x43 >> 0x34);
- { uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint128_t x47 = (x46 >> 0x33);
- { uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint128_t x50 = (x49 >> 0x33);
- { uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x33);
- { uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x33);
- { uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- { uint128_t x58 = (x30 + ((uint128_t)0x239 * x56));
- { uint64_t x59 = (uint64_t) (x58 >> 0x34);
- { uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x33);
- { uint64_t x63 = (x61 & 0x7ffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fesquare.v b/src/Specific/solinas64_2e512m569_10limbs/fesquare.v
deleted file mode 100644
index d673db48d..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.log
deleted file mode 100644
index 09790b996..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + (((uint128_t)x10 * x12) + (((uint128_t)x12 * x10) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + (0x239 * ((uint128_t)x17 * x17)));
- uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x239 * (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18))));
- uint128_t x22 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x239 * (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16)))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x239 * ((0x2 * ((uint128_t)x14 * x17)) + ((0x2 * ((uint128_t)x16 * x18)) + ((0x2 * ((uint128_t)x18 * x16)) + (0x2 * ((uint128_t)x17 * x14)))))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (0x239 * (((uint128_t)x12 * x17) + ((0x2 * ((uint128_t)x14 * x18)) + ((0x2 * ((uint128_t)x16 * x16)) + ((0x2 * ((uint128_t)x18 * x14)) + ((uint128_t)x17 * x12)))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x239 * (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10))))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (0x239 * (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + ((0x2 * ((uint128_t)x14 * x14)) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8)))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x239 * (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6))))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + (0x239 * ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4))))))))))));
- uint128_t x29 = (x28 >> 0x34);
- uint64_t x30 = ((uint64_t)x28 & 0xfffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint128_t x32 = (x31 >> 0x33);
- uint64_t x33 = ((uint64_t)x31 & 0x7ffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint128_t x35 = (x34 >> 0x33);
- uint64_t x36 = ((uint64_t)x34 & 0x7ffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint128_t x38 = (x37 >> 0x33);
- uint64_t x39 = ((uint64_t)x37 & 0x7ffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint128_t x41 = (x40 >> 0x33);
- uint64_t x42 = ((uint64_t)x40 & 0x7ffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint128_t x44 = (x43 >> 0x34);
- uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint128_t x47 = (x46 >> 0x33);
- uint64_t x48 = ((uint64_t)x46 & 0x7ffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint128_t x50 = (x49 >> 0x33);
- uint64_t x51 = ((uint64_t)x49 & 0x7ffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x33);
- uint64_t x54 = ((uint64_t)x52 & 0x7ffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x33);
- uint64_t x57 = ((uint64_t)x55 & 0x7ffffffffffff);
- uint128_t x58 = (x30 + ((uint128_t)0x239 * x56));
- uint64_t x59 = (uint64_t) (x58 >> 0x34);
- uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x33);
- uint64_t x63 = (x61 & 0x7ffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.v
deleted file mode 100644
index 3629053ea..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fesub.c b/src/Specific/solinas64_2e512m569_10limbs/fesub.c
deleted file mode 100644
index b2dd293f5..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x1ffffffffffb8e + x5) - x23);
- out[1] = ((0xffffffffffffe + x7) - x25);
- out[2] = ((0xffffffffffffe + x9) - x27);
- out[3] = ((0xffffffffffffe + x11) - x29);
- out[4] = ((0xffffffffffffe + x13) - x31);
- out[5] = ((0x1ffffffffffffe + x15) - x33);
- out[6] = ((0xffffffffffffe + x17) - x35);
- out[7] = ((0xffffffffffffe + x19) - x37);
- out[8] = ((0xffffffffffffe + x21) - x39);
- out[9] = ((0xffffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fesub.v b/src/Specific/solinas64_2e512m569_10limbs/fesub.v
deleted file mode 100644
index 792210dc5..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.log
deleted file mode 100644
index 07b0161a8..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0xffffffffffffe + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0x1ffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((0x1ffffffffffb8e + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.v
deleted file mode 100644
index a977888de..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e512m569_10limbs/freeze.c b/src/Specific/solinas64_2e512m569_10limbs/freeze.c
deleted file mode 100644
index 6f4db7541..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffdc7);
- { uint64_t x23; uint8_t x24 = _subborrow_u51(x21, x4, 0x7ffffffffffff, &x23);
- { uint64_t x26; uint8_t x27 = _subborrow_u51(x24, x6, 0x7ffffffffffff, &x26);
- { uint64_t x29; uint8_t x30 = _subborrow_u51(x27, x8, 0x7ffffffffffff, &x29);
- { uint64_t x32; uint8_t x33 = _subborrow_u51(x30, x10, 0x7ffffffffffff, &x32);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffffffffffff);
- { uint64_t x38; uint8_t x39 = _subborrow_u51(x36, x14, 0x7ffffffffffff, &x38);
- { uint64_t x41; uint8_t x42 = _subborrow_u51(x39, x16, 0x7ffffffffffff, &x41);
- { uint64_t x44; uint8_t x45 = _subborrow_u51(x42, x18, 0x7ffffffffffff, &x44);
- { uint64_t x47; uint8_t x48 = _subborrow_u51(x45, x17, 0x7ffffffffffff, &x47);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0xffffffffffdc7);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0x7ffffffffffff);
- { uint64_t x56; uint8_t x57 = _addcarryx_u51(x53, x23, x54, &x56);
- { uint64_t x58 = (x49 & 0x7ffffffffffff);
- { uint64_t x60; uint8_t x61 = _addcarryx_u51(x57, x26, x58, &x60);
- { uint64_t x62 = (x49 & 0x7ffffffffffff);
- { uint64_t x64; uint8_t x65 = _addcarryx_u51(x61, x29, x62, &x64);
- { uint64_t x66 = (x49 & 0x7ffffffffffff);
- { uint64_t x68; uint8_t x69 = _addcarryx_u51(x65, x32, x66, &x68);
- { uint64_t x70 = (x49 & 0xfffffffffffff);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0x7ffffffffffff);
- { uint64_t x76; uint8_t x77 = _addcarryx_u51(x73, x38, x74, &x76);
- { uint64_t x78 = (x49 & 0x7ffffffffffff);
- { uint64_t x80; uint8_t x81 = _addcarryx_u51(x77, x41, x78, &x80);
- { uint64_t x82 = (x49 & 0x7ffffffffffff);
- { uint64_t x84; uint8_t x85 = _addcarryx_u51(x81, x44, x82, &x84);
- { uint64_t x86 = (x49 & 0x7ffffffffffff);
- { uint64_t x88; uint8_t _ = _addcarryx_u51(x85, x47, x86, &x88);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_10limbs/freeze.v b/src/Specific/solinas64_2e512m569_10limbs/freeze.v
deleted file mode 100644
index ef77d30c7..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.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/solinas64_2e512m569_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.log
deleted file mode 100644
index c78c962ee..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0xffffffffffdc7);
- uint64_t x23, uint8_t x24 = subborrow_u51(x21, x4, 0x7ffffffffffff);
- uint64_t x26, uint8_t x27 = subborrow_u51(x24, x6, 0x7ffffffffffff);
- uint64_t x29, uint8_t x30 = subborrow_u51(x27, x8, 0x7ffffffffffff);
- uint64_t x32, uint8_t x33 = subborrow_u51(x30, x10, 0x7ffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffffffffffff);
- uint64_t x38, uint8_t x39 = subborrow_u51(x36, x14, 0x7ffffffffffff);
- uint64_t x41, uint8_t x42 = subborrow_u51(x39, x16, 0x7ffffffffffff);
- uint64_t x44, uint8_t x45 = subborrow_u51(x42, x18, 0x7ffffffffffff);
- uint64_t x47, uint8_t x48 = subborrow_u51(x45, x17, 0x7ffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0xffffffffffdc7);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0x7ffffffffffff);
- uint64_t x56, uint8_t x57 = addcarryx_u51(x53, x23, x54);
- uint64_t x58 = (x49 & 0x7ffffffffffff);
- uint64_t x60, uint8_t x61 = addcarryx_u51(x57, x26, x58);
- uint64_t x62 = (x49 & 0x7ffffffffffff);
- uint64_t x64, uint8_t x65 = addcarryx_u51(x61, x29, x62);
- uint64_t x66 = (x49 & 0x7ffffffffffff);
- uint64_t x68, uint8_t x69 = addcarryx_u51(x65, x32, x66);
- uint64_t x70 = (x49 & 0xfffffffffffff);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0x7ffffffffffff);
- uint64_t x76, uint8_t x77 = addcarryx_u51(x73, x38, x74);
- uint64_t x78 = (x49 & 0x7ffffffffffff);
- uint64_t x80, uint8_t x81 = addcarryx_u51(x77, x41, x78);
- uint64_t x82 = (x49 & 0x7ffffffffffff);
- uint64_t x84, uint8_t x85 = addcarryx_u51(x81, x44, x82);
- uint64_t x86 = (x49 & 0x7ffffffffffff);
- uint64_t x88, uint8_t _ = addcarryx_u51(x85, x47, x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.v
deleted file mode 100644
index 3a4855ab8..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e512m569_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e512m569_10limbs/py_interpreter.sh
deleted file mode 100755
index 711a90d28..000000000
--- a/src/Specific/solinas64_2e512m569_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 569' -Dmodulus_bytes='51.2' -Da24='121665'
diff --git a/src/Specific/solinas64_2e512m569_11limbs/CurveParameters.v b/src/Specific/solinas64_2e512m569_11limbs/CurveParameters.v
deleted file mode 100644
index 1ba80fe1a..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^512 - 569
-Base: 46 + 6/11
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 11%nat;
- base := 46 + 6/11;
- bitwidth := 64;
- s := 2^512;
- c := [(1, 569)];
- carry_chains := Some [seq 0 (pred 11); [0; 1]]%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/solinas64_2e512m569_11limbs/Synthesis.v b/src/Specific/solinas64_2e512m569_11limbs/Synthesis.v
deleted file mode 100644
index 8133215c1..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/compiler.sh b/src/Specific/solinas64_2e512m569_11limbs/compiler.sh
deleted file mode 100755
index 78b155324..000000000
--- a/src/Specific/solinas64_2e512m569_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,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='64' -Dlimb_weight_gaps_array='{47,47,46,47,46,47,46,47,46,47,46}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas64_2e512m569_11limbs/compilerxx.sh b/src/Specific/solinas64_2e512m569_11limbs/compilerxx.sh
deleted file mode 100755
index 61c37a76f..000000000
--- a/src/Specific/solinas64_2e512m569_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,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='64' -Dlimb_weight_gaps_array='{47,47,46,47,46,47,46,47,46,47,46}' -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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xc7}' -Dmodulus_bytes_val='64' -Dmodulus_limbs='11' -Dq_mpz='(1_mpz<<512) - 569' "$@"
diff --git a/src/Specific/solinas64_2e512m569_11limbs/feadd.c b/src/Specific/solinas64_2e512m569_11limbs/feadd.c
deleted file mode 100644
index f810d17db..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/feadd.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void feadd(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_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/solinas64_2e512m569_11limbs/feadd.v b/src/Specific/solinas64_2e512m569_11limbs/feadd.v
deleted file mode 100644
index 12f013c35..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/feaddDisplay.log b/src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.log
deleted file mode 100644
index 83efadb9e..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.v b/src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.v
deleted file mode 100644
index ede1af81b..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_11limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fecarry.v b/src/Specific/solinas64_2e512m569_11limbs/fecarry.v
deleted file mode 100644
index fa45f4484..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/fecarryDisplay.v b/src/Specific/solinas64_2e512m569_11limbs/fecarryDisplay.v
deleted file mode 100644
index 4bc47813d..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_11limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e512m569_11limbs/femul.c b/src/Specific/solinas64_2e512m569_11limbs/femul.c
deleted file mode 100644
index 90798c593..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/femul.c
+++ /dev/null
@@ -1,85 +0,0 @@
-static void femul(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_t x25 = in2[0];
- { uint128_t x44 = (((uint128_t)x5 * x42) + (((uint128_t)x7 * x43) + ((0x2 * ((uint128_t)x9 * x41)) + (((uint128_t)x11 * x39) + ((0x2 * ((uint128_t)x13 * x37)) + (((uint128_t)x15 * x35) + ((0x2 * ((uint128_t)x17 * x33)) + (((uint128_t)x19 * x31) + ((0x2 * ((uint128_t)x21 * x29)) + (((uint128_t)x23 * x27) + ((uint128_t)x22 * x25)))))))))));
- { uint128_t x45 = ((((uint128_t)x5 * x43) + ((0x2 * ((uint128_t)x7 * x41)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + ((uint128_t)x23 * x25)))))))))) + (0x239 * (0x2 * ((uint128_t)x22 * x42))));
- { uint128_t x46 = ((((uint128_t)x5 * x41) + (((uint128_t)x7 * x39) + ((0x2 * ((uint128_t)x9 * x37)) + (((uint128_t)x11 * x35) + ((0x2 * ((uint128_t)x13 * x33)) + (((uint128_t)x15 * x31) + ((0x2 * ((uint128_t)x17 * x29)) + (((uint128_t)x19 * x27) + ((uint128_t)x21 * x25))))))))) + (0x239 * (((uint128_t)x23 * x42) + ((uint128_t)x22 * x43))));
- { uint128_t x47 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((uint128_t)x19 * x25)))))))) + (0x239 * ((0x2 * ((uint128_t)x21 * x42)) + (((uint128_t)x23 * x43) + (0x2 * ((uint128_t)x22 * x41))))));
- { uint128_t x48 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + ((0x2 * ((uint128_t)x9 * x33)) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + ((uint128_t)x17 * x25))))))) + (0x239 * (((uint128_t)x19 * x42) + (((uint128_t)x21 * x43) + (((uint128_t)x23 * x41) + ((uint128_t)x22 * x39))))));
- { uint128_t x49 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((uint128_t)x15 * x25)))))) + (0x239 * ((0x2 * ((uint128_t)x17 * x42)) + (((uint128_t)x19 * x43) + ((0x2 * ((uint128_t)x21 * x41)) + (((uint128_t)x23 * x39) + (0x2 * ((uint128_t)x22 * x37))))))));
- { uint128_t x50 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25))))) + (0x239 * (((uint128_t)x15 * x42) + (((uint128_t)x17 * x43) + (((uint128_t)x19 * x41) + (((uint128_t)x21 * x39) + (((uint128_t)x23 * x37) + ((uint128_t)x22 * x35))))))));
- { uint128_t x51 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((uint128_t)x11 * x25)))) + (0x239 * ((0x2 * ((uint128_t)x13 * x42)) + (((uint128_t)x15 * x43) + ((0x2 * ((uint128_t)x17 * x41)) + (((uint128_t)x19 * x39) + ((0x2 * ((uint128_t)x21 * x37)) + (((uint128_t)x23 * x35) + (0x2 * ((uint128_t)x22 * x33))))))))));
- { uint128_t x52 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + ((uint128_t)x9 * x25))) + (0x239 * (((uint128_t)x11 * x42) + (((uint128_t)x13 * x43) + (((uint128_t)x15 * x41) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + (((uint128_t)x23 * x33) + ((uint128_t)x22 * x31))))))))));
- { uint128_t x53 = ((((uint128_t)x5 * x27) + ((uint128_t)x7 * x25)) + (0x239 * ((0x2 * ((uint128_t)x9 * x42)) + (((uint128_t)x11 * x43) + ((0x2 * ((uint128_t)x13 * x41)) + (((uint128_t)x15 * x39) + ((0x2 * ((uint128_t)x17 * x37)) + (((uint128_t)x19 * x35) + ((0x2 * ((uint128_t)x21 * x33)) + (((uint128_t)x23 * x31) + (0x2 * ((uint128_t)x22 * x29))))))))))));
- { uint128_t x54 = (((uint128_t)x5 * x25) + (0x239 * ((0x2 * ((uint128_t)x7 * x42)) + ((0x2 * ((uint128_t)x9 * x43)) + ((0x2 * ((uint128_t)x11 * x41)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + ((0x2 * ((uint128_t)x23 * x29)) + (0x2 * ((uint128_t)x22 * x27)))))))))))));
- { uint64_t x55 = (uint64_t) (x54 >> 0x2f);
- { uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffff);
- { uint128_t x57 = (x55 + x53);
- { uint64_t x58 = (uint64_t) (x57 >> 0x2f);
- { uint64_t x59 = ((uint64_t)x57 & 0x7fffffffffff);
- { uint128_t x60 = (x58 + x52);
- { uint64_t x61 = (uint64_t) (x60 >> 0x2e);
- { uint64_t x62 = ((uint64_t)x60 & 0x3fffffffffff);
- { uint128_t x63 = (x61 + x51);
- { uint64_t x64 = (uint64_t) (x63 >> 0x2f);
- { uint64_t x65 = ((uint64_t)x63 & 0x7fffffffffff);
- { uint128_t x66 = (x64 + x50);
- { uint64_t x67 = (uint64_t) (x66 >> 0x2e);
- { uint64_t x68 = ((uint64_t)x66 & 0x3fffffffffff);
- { uint128_t x69 = (x67 + x49);
- { uint64_t x70 = (uint64_t) (x69 >> 0x2f);
- { uint64_t x71 = ((uint64_t)x69 & 0x7fffffffffff);
- { uint128_t x72 = (x70 + x48);
- { uint64_t x73 = (uint64_t) (x72 >> 0x2e);
- { uint64_t x74 = ((uint64_t)x72 & 0x3fffffffffff);
- { uint128_t x75 = (x73 + x47);
- { uint64_t x76 = (uint64_t) (x75 >> 0x2f);
- { uint64_t x77 = ((uint64_t)x75 & 0x7fffffffffff);
- { uint128_t x78 = (x76 + x46);
- { uint64_t x79 = (uint64_t) (x78 >> 0x2e);
- { uint64_t x80 = ((uint64_t)x78 & 0x3fffffffffff);
- { uint128_t x81 = (x79 + x45);
- { uint64_t x82 = (uint64_t) (x81 >> 0x2f);
- { uint64_t x83 = ((uint64_t)x81 & 0x7fffffffffff);
- { uint128_t x84 = (x82 + x44);
- { uint64_t x85 = (uint64_t) (x84 >> 0x2e);
- { uint64_t x86 = ((uint64_t)x84 & 0x3fffffffffff);
- { uint64_t x87 = (x56 + (0x239 * x85));
- { uint64_t x88 = (x87 >> 0x2f);
- { uint64_t x89 = (x87 & 0x7fffffffffff);
- { uint64_t x90 = (x88 + x59);
- { uint64_t x91 = (x90 >> 0x2f);
- { uint64_t x92 = (x90 & 0x7fffffffffff);
- out[0] = x89;
- out[1] = x92;
- out[2] = (x91 + x62);
- out[3] = x65;
- out[4] = x68;
- out[5] = x71;
- out[6] = x74;
- out[7] = x77;
- out[8] = x80;
- out[9] = x83;
- out[10] = x86;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_11limbs/femul.v b/src/Specific/solinas64_2e512m569_11limbs/femul.v
deleted file mode 100644
index 1d4a3ccd1..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/femulDisplay.log b/src/Specific/solinas64_2e512m569_11limbs/femulDisplay.log
deleted file mode 100644
index c242e9333..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/femulDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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,
- uint128_t x44 = (((uint128_t)x5 * x42) + (((uint128_t)x7 * x43) + ((0x2 * ((uint128_t)x9 * x41)) + (((uint128_t)x11 * x39) + ((0x2 * ((uint128_t)x13 * x37)) + (((uint128_t)x15 * x35) + ((0x2 * ((uint128_t)x17 * x33)) + (((uint128_t)x19 * x31) + ((0x2 * ((uint128_t)x21 * x29)) + (((uint128_t)x23 * x27) + ((uint128_t)x22 * x25)))))))))));
- uint128_t x45 = ((((uint128_t)x5 * x43) + ((0x2 * ((uint128_t)x7 * x41)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + ((uint128_t)x23 * x25)))))))))) + (0x239 * (0x2 * ((uint128_t)x22 * x42))));
- uint128_t x46 = ((((uint128_t)x5 * x41) + (((uint128_t)x7 * x39) + ((0x2 * ((uint128_t)x9 * x37)) + (((uint128_t)x11 * x35) + ((0x2 * ((uint128_t)x13 * x33)) + (((uint128_t)x15 * x31) + ((0x2 * ((uint128_t)x17 * x29)) + (((uint128_t)x19 * x27) + ((uint128_t)x21 * x25))))))))) + (0x239 * (((uint128_t)x23 * x42) + ((uint128_t)x22 * x43))));
- uint128_t x47 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((uint128_t)x19 * x25)))))))) + (0x239 * ((0x2 * ((uint128_t)x21 * x42)) + (((uint128_t)x23 * x43) + (0x2 * ((uint128_t)x22 * x41))))));
- uint128_t x48 = ((((uint128_t)x5 * x37) + (((uint128_t)x7 * x35) + ((0x2 * ((uint128_t)x9 * x33)) + (((uint128_t)x11 * x31) + ((0x2 * ((uint128_t)x13 * x29)) + (((uint128_t)x15 * x27) + ((uint128_t)x17 * x25))))))) + (0x239 * (((uint128_t)x19 * x42) + (((uint128_t)x21 * x43) + (((uint128_t)x23 * x41) + ((uint128_t)x22 * x39))))));
- uint128_t x49 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((uint128_t)x15 * x25)))))) + (0x239 * ((0x2 * ((uint128_t)x17 * x42)) + (((uint128_t)x19 * x43) + ((0x2 * ((uint128_t)x21 * x41)) + (((uint128_t)x23 * x39) + (0x2 * ((uint128_t)x22 * x37))))))));
- uint128_t x50 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + ((0x2 * ((uint128_t)x9 * x29)) + (((uint128_t)x11 * x27) + ((uint128_t)x13 * x25))))) + (0x239 * (((uint128_t)x15 * x42) + (((uint128_t)x17 * x43) + (((uint128_t)x19 * x41) + (((uint128_t)x21 * x39) + (((uint128_t)x23 * x37) + ((uint128_t)x22 * x35))))))));
- uint128_t x51 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((uint128_t)x11 * x25)))) + (0x239 * ((0x2 * ((uint128_t)x13 * x42)) + (((uint128_t)x15 * x43) + ((0x2 * ((uint128_t)x17 * x41)) + (((uint128_t)x19 * x39) + ((0x2 * ((uint128_t)x21 * x37)) + (((uint128_t)x23 * x35) + (0x2 * ((uint128_t)x22 * x33))))))))));
- uint128_t x52 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + ((uint128_t)x9 * x25))) + (0x239 * (((uint128_t)x11 * x42) + (((uint128_t)x13 * x43) + (((uint128_t)x15 * x41) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + (((uint128_t)x23 * x33) + ((uint128_t)x22 * x31))))))))));
- uint128_t x53 = ((((uint128_t)x5 * x27) + ((uint128_t)x7 * x25)) + (0x239 * ((0x2 * ((uint128_t)x9 * x42)) + (((uint128_t)x11 * x43) + ((0x2 * ((uint128_t)x13 * x41)) + (((uint128_t)x15 * x39) + ((0x2 * ((uint128_t)x17 * x37)) + (((uint128_t)x19 * x35) + ((0x2 * ((uint128_t)x21 * x33)) + (((uint128_t)x23 * x31) + (0x2 * ((uint128_t)x22 * x29))))))))))));
- uint128_t x54 = (((uint128_t)x5 * x25) + (0x239 * ((0x2 * ((uint128_t)x7 * x42)) + ((0x2 * ((uint128_t)x9 * x43)) + ((0x2 * ((uint128_t)x11 * x41)) + ((0x2 * ((uint128_t)x13 * x39)) + ((0x2 * ((uint128_t)x15 * x37)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + ((0x2 * ((uint128_t)x21 * x31)) + ((0x2 * ((uint128_t)x23 * x29)) + (0x2 * ((uint128_t)x22 * x27)))))))))))));
- uint64_t x55 = (uint64_t) (x54 >> 0x2f);
- uint64_t x56 = ((uint64_t)x54 & 0x7fffffffffff);
- uint128_t x57 = (x55 + x53);
- uint64_t x58 = (uint64_t) (x57 >> 0x2f);
- uint64_t x59 = ((uint64_t)x57 & 0x7fffffffffff);
- uint128_t x60 = (x58 + x52);
- uint64_t x61 = (uint64_t) (x60 >> 0x2e);
- uint64_t x62 = ((uint64_t)x60 & 0x3fffffffffff);
- uint128_t x63 = (x61 + x51);
- uint64_t x64 = (uint64_t) (x63 >> 0x2f);
- uint64_t x65 = ((uint64_t)x63 & 0x7fffffffffff);
- uint128_t x66 = (x64 + x50);
- uint64_t x67 = (uint64_t) (x66 >> 0x2e);
- uint64_t x68 = ((uint64_t)x66 & 0x3fffffffffff);
- uint128_t x69 = (x67 + x49);
- uint64_t x70 = (uint64_t) (x69 >> 0x2f);
- uint64_t x71 = ((uint64_t)x69 & 0x7fffffffffff);
- uint128_t x72 = (x70 + x48);
- uint64_t x73 = (uint64_t) (x72 >> 0x2e);
- uint64_t x74 = ((uint64_t)x72 & 0x3fffffffffff);
- uint128_t x75 = (x73 + x47);
- uint64_t x76 = (uint64_t) (x75 >> 0x2f);
- uint64_t x77 = ((uint64_t)x75 & 0x7fffffffffff);
- uint128_t x78 = (x76 + x46);
- uint64_t x79 = (uint64_t) (x78 >> 0x2e);
- uint64_t x80 = ((uint64_t)x78 & 0x3fffffffffff);
- uint128_t x81 = (x79 + x45);
- uint64_t x82 = (uint64_t) (x81 >> 0x2f);
- uint64_t x83 = ((uint64_t)x81 & 0x7fffffffffff);
- uint128_t x84 = (x82 + x44);
- uint64_t x85 = (uint64_t) (x84 >> 0x2e);
- uint64_t x86 = ((uint64_t)x84 & 0x3fffffffffff);
- uint64_t x87 = (x56 + (0x239 * x85));
- uint64_t x88 = (x87 >> 0x2f);
- uint64_t x89 = (x87 & 0x7fffffffffff);
- uint64_t x90 = (x88 + x59);
- uint64_t x91 = (x90 >> 0x2f);
- uint64_t x92 = (x90 & 0x7fffffffffff);
- return (Return x86, Return x83, Return x80, Return x77, Return x74, Return x71, Return x68, Return x65, (x91 + x62), Return x92, Return x89))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_11limbs/femulDisplay.v b/src/Specific/solinas64_2e512m569_11limbs/femulDisplay.v
deleted file mode 100644
index 4e2ae14a9..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_11limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fesquare.c b/src/Specific/solinas64_2e512m569_11limbs/fesquare.c
deleted file mode 100644
index ae80642eb..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesquare.c
+++ /dev/null
@@ -1,74 +0,0 @@
-static void fesquare(uint64_t out[11], const uint64_t in1[11]) {
- { const uint64_t x19 = in1[10];
- { const uint64_t x20 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x21 = (((uint128_t)x2 * x19) + (((uint128_t)x4 * x20) + ((0x2 * ((uint128_t)x6 * x18)) + (((uint128_t)x8 * x16) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + (((uint128_t)x16 * x8) + ((0x2 * ((uint128_t)x18 * x6)) + (((uint128_t)x20 * x4) + ((uint128_t)x19 * x2)))))))))));
- { uint128_t x22 = ((((uint128_t)x2 * x20) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x20 * x2)))))))))) + (0x239 * (0x2 * ((uint128_t)x19 * x19))));
- { uint128_t x23 = ((((uint128_t)x2 * x18) + (((uint128_t)x4 * x16) + ((0x2 * ((uint128_t)x6 * x14)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + ((0x2 * ((uint128_t)x14 * x6)) + (((uint128_t)x16 * x4) + ((uint128_t)x18 * x2))))))))) + (0x239 * (((uint128_t)x20 * x19) + ((uint128_t)x19 * x20))));
- { uint128_t x24 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x239 * ((0x2 * ((uint128_t)x18 * x19)) + (((uint128_t)x20 * x20) + (0x2 * ((uint128_t)x19 * x18))))));
- { uint128_t x25 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x239 * (((uint128_t)x16 * x19) + (((uint128_t)x18 * x20) + (((uint128_t)x20 * x18) + ((uint128_t)x19 * x16))))));
- { uint128_t x26 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x239 * ((0x2 * ((uint128_t)x14 * x19)) + (((uint128_t)x16 * x20) + ((0x2 * ((uint128_t)x18 * x18)) + (((uint128_t)x20 * x16) + (0x2 * ((uint128_t)x19 * x14))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x239 * (((uint128_t)x12 * x19) + (((uint128_t)x14 * x20) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + (((uint128_t)x20 * x14) + ((uint128_t)x19 * x12))))))));
- { uint128_t x28 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x239 * ((0x2 * ((uint128_t)x10 * x19)) + (((uint128_t)x12 * x20) + ((0x2 * ((uint128_t)x14 * x18)) + (((uint128_t)x16 * x16) + ((0x2 * ((uint128_t)x18 * x14)) + (((uint128_t)x20 * x12) + (0x2 * ((uint128_t)x19 * x10))))))))));
- { uint128_t x29 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x239 * (((uint128_t)x8 * x19) + (((uint128_t)x10 * x20) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + (((uint128_t)x20 * x10) + ((uint128_t)x19 * x8))))))))));
- { uint128_t x30 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x239 * ((0x2 * ((uint128_t)x6 * x19)) + (((uint128_t)x8 * x20) + ((0x2 * ((uint128_t)x10 * x18)) + (((uint128_t)x12 * x16) + ((0x2 * ((uint128_t)x14 * x14)) + (((uint128_t)x16 * x12) + ((0x2 * ((uint128_t)x18 * x10)) + (((uint128_t)x20 * x8) + (0x2 * ((uint128_t)x19 * x6))))))))))));
- { uint128_t x31 = (((uint128_t)x2 * x2) + (0x239 * ((0x2 * ((uint128_t)x4 * x19)) + ((0x2 * ((uint128_t)x6 * x20)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + ((0x2 * ((uint128_t)x20 * x6)) + (0x2 * ((uint128_t)x19 * x4)))))))))))));
- { uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- { uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- { uint128_t x34 = (x32 + x30);
- { uint64_t x35 = (uint64_t) (x34 >> 0x2f);
- { uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffff);
- { uint128_t x37 = (x35 + x29);
- { uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- { uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- { uint128_t x40 = (x38 + x28);
- { uint64_t x41 = (uint64_t) (x40 >> 0x2f);
- { uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffff);
- { uint128_t x43 = (x41 + x27);
- { uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- { uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- { uint128_t x46 = (x44 + x26);
- { uint64_t x47 = (uint64_t) (x46 >> 0x2f);
- { uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffff);
- { uint128_t x49 = (x47 + x25);
- { uint64_t x50 = (uint64_t) (x49 >> 0x2e);
- { uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff);
- { uint128_t x52 = (x50 + x24);
- { uint64_t x53 = (uint64_t) (x52 >> 0x2f);
- { uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffff);
- { uint128_t x55 = (x53 + x23);
- { uint64_t x56 = (uint64_t) (x55 >> 0x2e);
- { uint64_t x57 = ((uint64_t)x55 & 0x3fffffffffff);
- { uint128_t x58 = (x56 + x22);
- { uint64_t x59 = (uint64_t) (x58 >> 0x2f);
- { uint64_t x60 = ((uint64_t)x58 & 0x7fffffffffff);
- { uint128_t x61 = (x59 + x21);
- { uint64_t x62 = (uint64_t) (x61 >> 0x2e);
- { uint64_t x63 = ((uint64_t)x61 & 0x3fffffffffff);
- { uint64_t x64 = (x33 + (0x239 * x62));
- { uint64_t x65 = (x64 >> 0x2f);
- { uint64_t x66 = (x64 & 0x7fffffffffff);
- { uint64_t x67 = (x65 + x36);
- { uint64_t x68 = (x67 >> 0x2f);
- { uint64_t x69 = (x67 & 0x7fffffffffff);
- out[0] = x66;
- out[1] = x69;
- out[2] = (x68 + x39);
- out[3] = x42;
- out[4] = x45;
- out[5] = x48;
- out[6] = x51;
- out[7] = x54;
- out[8] = x57;
- out[9] = x60;
- out[10] = x63;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fesquare.v b/src/Specific/solinas64_2e512m569_11limbs/fesquare.v
deleted file mode 100644
index 61241fdbb..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/fesquareDisplay.log b/src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.log
deleted file mode 100644
index 9d40224db..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,56 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x21 = (((uint128_t)x2 * x19) + (((uint128_t)x4 * x20) + ((0x2 * ((uint128_t)x6 * x18)) + (((uint128_t)x8 * x16) + ((0x2 * ((uint128_t)x10 * x14)) + (((uint128_t)x12 * x12) + ((0x2 * ((uint128_t)x14 * x10)) + (((uint128_t)x16 * x8) + ((0x2 * ((uint128_t)x18 * x6)) + (((uint128_t)x20 * x4) + ((uint128_t)x19 * x2)))))))))));
- uint128_t x22 = ((((uint128_t)x2 * x20) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x20 * x2)))))))))) + (0x239 * (0x2 * ((uint128_t)x19 * x19))));
- uint128_t x23 = ((((uint128_t)x2 * x18) + (((uint128_t)x4 * x16) + ((0x2 * ((uint128_t)x6 * x14)) + (((uint128_t)x8 * x12) + ((0x2 * ((uint128_t)x10 * x10)) + (((uint128_t)x12 * x8) + ((0x2 * ((uint128_t)x14 * x6)) + (((uint128_t)x16 * x4) + ((uint128_t)x18 * x2))))))))) + (0x239 * (((uint128_t)x20 * x19) + ((uint128_t)x19 * x20))));
- uint128_t x24 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (0x239 * ((0x2 * ((uint128_t)x18 * x19)) + (((uint128_t)x20 * x20) + (0x2 * ((uint128_t)x19 * x18))))));
- uint128_t x25 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + ((0x2 * ((uint128_t)x6 * x10)) + (((uint128_t)x8 * x8) + ((0x2 * ((uint128_t)x10 * x6)) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + (0x239 * (((uint128_t)x16 * x19) + (((uint128_t)x18 * x20) + (((uint128_t)x20 * x18) + ((uint128_t)x19 * x16))))));
- uint128_t x26 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (0x239 * ((0x2 * ((uint128_t)x14 * x19)) + (((uint128_t)x16 * x20) + ((0x2 * ((uint128_t)x18 * x18)) + (((uint128_t)x20 * x16) + (0x2 * ((uint128_t)x19 * x14))))))));
- uint128_t x27 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + ((0x2 * ((uint128_t)x6 * x6)) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + (0x239 * (((uint128_t)x12 * x19) + (((uint128_t)x14 * x20) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + (((uint128_t)x20 * x14) + ((uint128_t)x19 * x12))))))));
- uint128_t x28 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (0x239 * ((0x2 * ((uint128_t)x10 * x19)) + (((uint128_t)x12 * x20) + ((0x2 * ((uint128_t)x14 * x18)) + (((uint128_t)x16 * x16) + ((0x2 * ((uint128_t)x18 * x14)) + (((uint128_t)x20 * x12) + (0x2 * ((uint128_t)x19 * x10))))))))));
- uint128_t x29 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + (0x239 * (((uint128_t)x8 * x19) + (((uint128_t)x10 * x20) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + (((uint128_t)x20 * x10) + ((uint128_t)x19 * x8))))))))));
- uint128_t x30 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (0x239 * ((0x2 * ((uint128_t)x6 * x19)) + (((uint128_t)x8 * x20) + ((0x2 * ((uint128_t)x10 * x18)) + (((uint128_t)x12 * x16) + ((0x2 * ((uint128_t)x14 * x14)) + (((uint128_t)x16 * x12) + ((0x2 * ((uint128_t)x18 * x10)) + (((uint128_t)x20 * x8) + (0x2 * ((uint128_t)x19 * x6))))))))))));
- uint128_t x31 = (((uint128_t)x2 * x2) + (0x239 * ((0x2 * ((uint128_t)x4 * x19)) + ((0x2 * ((uint128_t)x6 * x20)) + ((0x2 * ((uint128_t)x8 * x18)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + ((0x2 * ((uint128_t)x18 * x8)) + ((0x2 * ((uint128_t)x20 * x6)) + (0x2 * ((uint128_t)x19 * x4)))))))))))));
- uint64_t x32 = (uint64_t) (x31 >> 0x2f);
- uint64_t x33 = ((uint64_t)x31 & 0x7fffffffffff);
- uint128_t x34 = (x32 + x30);
- uint64_t x35 = (uint64_t) (x34 >> 0x2f);
- uint64_t x36 = ((uint64_t)x34 & 0x7fffffffffff);
- uint128_t x37 = (x35 + x29);
- uint64_t x38 = (uint64_t) (x37 >> 0x2e);
- uint64_t x39 = ((uint64_t)x37 & 0x3fffffffffff);
- uint128_t x40 = (x38 + x28);
- uint64_t x41 = (uint64_t) (x40 >> 0x2f);
- uint64_t x42 = ((uint64_t)x40 & 0x7fffffffffff);
- uint128_t x43 = (x41 + x27);
- uint64_t x44 = (uint64_t) (x43 >> 0x2e);
- uint64_t x45 = ((uint64_t)x43 & 0x3fffffffffff);
- uint128_t x46 = (x44 + x26);
- uint64_t x47 = (uint64_t) (x46 >> 0x2f);
- uint64_t x48 = ((uint64_t)x46 & 0x7fffffffffff);
- uint128_t x49 = (x47 + x25);
- uint64_t x50 = (uint64_t) (x49 >> 0x2e);
- uint64_t x51 = ((uint64_t)x49 & 0x3fffffffffff);
- uint128_t x52 = (x50 + x24);
- uint64_t x53 = (uint64_t) (x52 >> 0x2f);
- uint64_t x54 = ((uint64_t)x52 & 0x7fffffffffff);
- uint128_t x55 = (x53 + x23);
- uint64_t x56 = (uint64_t) (x55 >> 0x2e);
- uint64_t x57 = ((uint64_t)x55 & 0x3fffffffffff);
- uint128_t x58 = (x56 + x22);
- uint64_t x59 = (uint64_t) (x58 >> 0x2f);
- uint64_t x60 = ((uint64_t)x58 & 0x7fffffffffff);
- uint128_t x61 = (x59 + x21);
- uint64_t x62 = (uint64_t) (x61 >> 0x2e);
- uint64_t x63 = ((uint64_t)x61 & 0x3fffffffffff);
- uint64_t x64 = (x33 + (0x239 * x62));
- uint64_t x65 = (x64 >> 0x2f);
- uint64_t x66 = (x64 & 0x7fffffffffff);
- uint64_t x67 = (x65 + x36);
- uint64_t x68 = (x67 >> 0x2f);
- uint64_t x69 = (x67 & 0x7fffffffffff);
- return (Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, (x68 + x39), Return x69, Return x66))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.v b/src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.v
deleted file mode 100644
index 597b21fdb..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_11limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fesub.c b/src/Specific/solinas64_2e512m569_11limbs/fesub.c
deleted file mode 100644
index 3c79a27f2..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-static void fesub(uint64_t out[11], const uint64_t in1[11], const uint64_t in2[11]) {
- { const uint64_t x22 = in1[10];
- { const uint64_t x23 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x42 = in2[10];
- { const uint64_t x43 = in2[9];
- { const uint64_t x41 = in2[8];
- { const uint64_t x39 = in2[7];
- { const uint64_t x37 = in2[6];
- { const uint64_t x35 = in2[5];
- { const uint64_t x33 = in2[4];
- { const uint64_t x31 = in2[3];
- { const uint64_t x29 = in2[2];
- { const uint64_t x27 = in2[1];
- { const uint64_t x25 = in2[0];
- out[0] = ((0xfffffffffb8e + x5) - x25);
- out[1] = ((0xfffffffffffe + x7) - x27);
- out[2] = ((0x7ffffffffffe + x9) - x29);
- out[3] = ((0xfffffffffffe + x11) - x31);
- out[4] = ((0x7ffffffffffe + x13) - x33);
- out[5] = ((0xfffffffffffe + x15) - x35);
- out[6] = ((0x7ffffffffffe + x17) - x37);
- out[7] = ((0xfffffffffffe + x19) - x39);
- out[8] = ((0x7ffffffffffe + x21) - x41);
- out[9] = ((0xfffffffffffe + x23) - x43);
- out[10] = ((0x7ffffffffffe + x22) - x42);
- }}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fesub.v b/src/Specific/solinas64_2e512m569_11limbs/fesub.v
deleted file mode 100644
index 506c5238a..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/fesubDisplay.log b/src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.log
deleted file mode 100644
index f633a819e..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-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,
- (((0x7ffffffffffe + x22) - x42), ((0xfffffffffffe + x23) - x43), ((0x7ffffffffffe + x21) - x41), ((0xfffffffffffe + x19) - x39), ((0x7ffffffffffe + x17) - x37), ((0xfffffffffffe + x15) - x35), ((0x7ffffffffffe + x13) - x33), ((0xfffffffffffe + x11) - x31), ((0x7ffffffffffe + x9) - x29), ((0xfffffffffffe + x7) - x27), ((0xfffffffffb8e + x5) - x25)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.v b/src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.v
deleted file mode 100644
index cd0a42bc7..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_11limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e512m569_11limbs/freeze.c b/src/Specific/solinas64_2e512m569_11limbs/freeze.c
deleted file mode 100644
index 93398b96f..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/freeze.c
+++ /dev/null
@@ -1,59 +0,0 @@
-static void freeze(uint64_t out[11], const uint64_t in1[11]) {
- { const uint64_t x19 = in1[10];
- { const uint64_t x20 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffdc7);
- { uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffffffffff);
- { uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x6, 0x3fffffffffff);
- { uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x8, 0x7fffffffffff);
- { uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x10, 0x3fffffffffff);
- { uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x12, 0x7fffffffffff);
- { uint64_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x14, 0x3fffffffffff);
- { uint64_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x16, 0x7fffffffffff);
- { uint64_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x18, 0x3fffffffffff);
- { uint64_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffffffffff);
- { uint64_t x54 = cmovznz64(x53, 0x0, 0xffffffffffffffffL);
- { uint64_t x55 = (x54 & 0x7ffffffffdc7);
- { uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- { uint64_t x59 = (x54 & 0x7fffffffffff);
- { uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- { uint64_t x63 = (x54 & 0x3fffffffffff);
- { uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- { uint64_t x67 = (x54 & 0x7fffffffffff);
- { uint64_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- { uint64_t x71 = (x54 & 0x3fffffffffff);
- { uint64_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- { uint64_t x75 = (x54 & 0x7fffffffffff);
- { uint64_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- { uint64_t x79 = (x54 & 0x3fffffffffff);
- { uint64_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- { uint64_t x83 = (x54 & 0x7fffffffffff);
- { uint64_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- { uint64_t x87 = (x54 & 0x3fffffffffff);
- { uint64_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- { uint64_t x91 = (x54 & 0x7fffffffffff);
- { uint64_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- { uint64_t x95 = (x54 & 0x3fffffffffff);
- { uint64_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- out[0] = x57;
- out[1] = x61;
- out[2] = x65;
- out[3] = x69;
- out[4] = x73;
- out[5] = x77;
- out[6] = x81;
- out[7] = x85;
- out[8] = x89;
- out[9] = x93;
- out[10] = x97;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e512m569_11limbs/freeze.v b/src/Specific/solinas64_2e512m569_11limbs/freeze.v
deleted file mode 100644
index 6393c2bf0..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e512m569_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/solinas64_2e512m569_11limbs/freezeDisplay.log b/src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.log
deleted file mode 100644
index 17917382a..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.log
+++ /dev/null
@@ -1,41 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x19, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x22, uint8_t x23 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x7ffffffffdc7);
- uint64_t x25, uint8_t x26 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x23, Return x4, 0x7fffffffffff);
- uint64_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x26, Return x6, 0x3fffffffffff);
- uint64_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x29, Return x8, 0x7fffffffffff);
- uint64_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x32, Return x10, 0x3fffffffffff);
- uint64_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x35, Return x12, 0x7fffffffffff);
- uint64_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x38, Return x14, 0x3fffffffffff);
- uint64_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x41, Return x16, 0x7fffffffffff);
- uint64_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x44, Return x18, 0x3fffffffffff);
- uint64_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x47, Return x20, 0x7fffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x50, Return x19, 0x3fffffffffff);
- uint64_t x54 = cmovznz64(x53, 0x0, 0xffffffffffffffffL);
- uint64_t x55 = (x54 & 0x7ffffffffdc7);
- uint64_t x57, uint8_t x58 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x22, Return x55);
- uint64_t x59 = (x54 & 0x7fffffffffff);
- uint64_t x61, uint8_t x62 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x58, Return x25, Return x59);
- uint64_t x63 = (x54 & 0x3fffffffffff);
- uint64_t x65, uint8_t x66 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x62, Return x28, Return x63);
- uint64_t x67 = (x54 & 0x7fffffffffff);
- uint64_t x69, uint8_t x70 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x66, Return x31, Return x67);
- uint64_t x71 = (x54 & 0x3fffffffffff);
- uint64_t x73, uint8_t x74 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x70, Return x34, Return x71);
- uint64_t x75 = (x54 & 0x7fffffffffff);
- uint64_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x74, Return x37, Return x75);
- uint64_t x79 = (x54 & 0x3fffffffffff);
- uint64_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x78, Return x40, Return x79);
- uint64_t x83 = (x54 & 0x7fffffffffff);
- uint64_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x82, Return x43, Return x83);
- uint64_t x87 = (x54 & 0x3fffffffffff);
- uint64_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x86, Return x46, Return x87);
- uint64_t x91 = (x54 & 0x7fffffffffff);
- uint64_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 47 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x90, Return x49, Return x91);
- uint64_t x95 = (x54 & 0x3fffffffffff);
- uint64_t x97, uint8_t _ = Op (Syntax.AddWithGetCarry 46 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x94, Return x52, Return x95);
- (Return x97, Return x93, Return x89, Return x85, Return x81, Return x77, Return x73, Return x69, Return x65, Return x61, Return x57))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.v b/src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.v
deleted file mode 100644
index 084101039..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e512m569_11limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e512m569_11limbs/py_interpreter.sh b/src/Specific/solinas64_2e512m569_11limbs/py_interpreter.sh
deleted file mode 100755
index ecaa53bbb..000000000
--- a/src/Specific/solinas64_2e512m569_11limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**512 - 569' -Dmodulus_bytes='46 + 6/11' -Da24='121665'
diff --git a/src/Specific/solinas64_2e521m1_10limbs/CurveParameters.v b/src/Specific/solinas64_2e521m1_10limbs/CurveParameters.v
deleted file mode 100644
index 5d7dabf27..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^521 - 1
-Base: 52.1
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 10%nat;
- base := 52 + 1/10;
- bitwidth := 64;
- s := 2^521;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 10); [0; 1]]%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/solinas64_2e521m1_10limbs/Synthesis.v b/src/Specific/solinas64_2e521m1_10limbs/Synthesis.v
deleted file mode 100644
index 9f6638e53..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/compiler.sh b/src/Specific/solinas64_2e521m1_10limbs/compiler.sh
deleted file mode 100755
index b027e653f..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas64_2e521m1_10limbs/compilerxx.sh b/src/Specific/solinas64_2e521m1_10limbs/compilerxx.sh
deleted file mode 100755
index 42adf1d4a..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{53,52,52,52,52,52,52,52,52,52}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='10' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas64_2e521m1_10limbs/feadd.c b/src/Specific/solinas64_2e521m1_10limbs/feadd.c
deleted file mode 100644
index df991e375..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/feadd.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = (x5 + x23);
- out[1] = (x7 + x25);
- out[2] = (x9 + x27);
- out[3] = (x11 + x29);
- out[4] = (x13 + x31);
- out[5] = (x15 + x33);
- out[6] = (x17 + x35);
- out[7] = (x19 + x37);
- out[8] = (x21 + x39);
- out[9] = (x20 + x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_10limbs/feadd.v b/src/Specific/solinas64_2e521m1_10limbs/feadd.v
deleted file mode 100644
index 6466d2909..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/feaddDisplay.log b/src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.log
deleted file mode 100644
index 04176128e..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.v b/src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.v
deleted file mode 100644
index 8e191012b..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fecarry.v b/src/Specific/solinas64_2e521m1_10limbs/fecarry.v
deleted file mode 100644
index 36bf2265a..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/fecarryDisplay.v b/src/Specific/solinas64_2e521m1_10limbs/fecarryDisplay.v
deleted file mode 100644
index efa053de3..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e521m1_10limbs/femul.c b/src/Specific/solinas64_2e521m1_10limbs/femul.c
deleted file mode 100644
index 08cf14225..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/femul.c
+++ /dev/null
@@ -1,78 +0,0 @@
-static void femul(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- { uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- { uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + ((uint128_t)x20 * x38));
- { uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39)));
- { uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37))));
- { uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35)))));
- { uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- { uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31)))))));
- { uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29))))))));
- { uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27)))))))));
- { uint128_t x49 = (((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25)))))))))));
- { uint64_t x50 = (uint64_t) (x49 >> 0x35);
- { uint64_t x51 = ((uint64_t)x49 & 0x1fffffffffffff);
- { uint128_t x52 = (x50 + x48);
- { uint64_t x53 = (uint64_t) (x52 >> 0x34);
- { uint64_t x54 = ((uint64_t)x52 & 0xfffffffffffff);
- { uint128_t x55 = (x53 + x47);
- { uint64_t x56 = (uint64_t) (x55 >> 0x34);
- { uint64_t x57 = ((uint64_t)x55 & 0xfffffffffffff);
- { uint128_t x58 = (x56 + x46);
- { uint64_t x59 = (uint64_t) (x58 >> 0x34);
- { uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- { uint128_t x61 = (x59 + x45);
- { uint64_t x62 = (uint64_t) (x61 >> 0x34);
- { uint64_t x63 = ((uint64_t)x61 & 0xfffffffffffff);
- { uint128_t x64 = (x62 + x44);
- { uint64_t x65 = (uint64_t) (x64 >> 0x34);
- { uint64_t x66 = ((uint64_t)x64 & 0xfffffffffffff);
- { uint128_t x67 = (x65 + x43);
- { uint64_t x68 = (uint64_t) (x67 >> 0x34);
- { uint64_t x69 = ((uint64_t)x67 & 0xfffffffffffff);
- { uint128_t x70 = (x68 + x42);
- { uint64_t x71 = (uint64_t) (x70 >> 0x34);
- { uint64_t x72 = ((uint64_t)x70 & 0xfffffffffffff);
- { uint128_t x73 = (x71 + x41);
- { uint64_t x74 = (uint64_t) (x73 >> 0x34);
- { uint64_t x75 = ((uint64_t)x73 & 0xfffffffffffff);
- { uint128_t x76 = (x74 + x40);
- { uint64_t x77 = (uint64_t) (x76 >> 0x34);
- { uint64_t x78 = ((uint64_t)x76 & 0xfffffffffffff);
- { uint64_t x79 = (x51 + x77);
- { uint64_t x80 = (x79 >> 0x35);
- { uint64_t x81 = (x79 & 0x1fffffffffffff);
- { uint64_t x82 = (x80 + x54);
- { uint64_t x83 = (x82 >> 0x34);
- { uint64_t x84 = (x82 & 0xfffffffffffff);
- out[0] = x81;
- out[1] = x84;
- out[2] = (x83 + x57);
- out[3] = x60;
- out[4] = x63;
- out[5] = x66;
- out[6] = x69;
- out[7] = x72;
- out[8] = x75;
- out[9] = x78;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_10limbs/femul.v b/src/Specific/solinas64_2e521m1_10limbs/femul.v
deleted file mode 100644
index 520724b7f..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/femulDisplay.log b/src/Specific/solinas64_2e521m1_10limbs/femulDisplay.log
deleted file mode 100644
index bb5136485..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/femulDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- uint128_t x40 = (((uint128_t)x5 * x38) + ((0x2 * ((uint128_t)x7 * x39)) + ((0x2 * ((uint128_t)x9 * x37)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + ((0x2 * ((uint128_t)x21 * x25)) + ((uint128_t)x20 * x23))))))))));
- uint128_t x41 = ((((uint128_t)x5 * x39) + ((0x2 * ((uint128_t)x7 * x37)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + ((uint128_t)x21 * x23))))))))) + ((uint128_t)x20 * x38));
- uint128_t x42 = ((((uint128_t)x5 * x37) + ((0x2 * ((uint128_t)x7 * x35)) + ((0x2 * ((uint128_t)x9 * x33)) + ((0x2 * ((uint128_t)x11 * x31)) + ((0x2 * ((uint128_t)x13 * x29)) + ((0x2 * ((uint128_t)x15 * x27)) + ((0x2 * ((uint128_t)x17 * x25)) + ((uint128_t)x19 * x23)))))))) + (((uint128_t)x21 * x38) + ((uint128_t)x20 * x39)));
- uint128_t x43 = ((((uint128_t)x5 * x35) + ((0x2 * ((uint128_t)x7 * x33)) + ((0x2 * ((uint128_t)x9 * x31)) + ((0x2 * ((uint128_t)x11 * x29)) + ((0x2 * ((uint128_t)x13 * x27)) + ((0x2 * ((uint128_t)x15 * x25)) + ((uint128_t)x17 * x23))))))) + (((uint128_t)x19 * x38) + (((uint128_t)x21 * x39) + ((uint128_t)x20 * x37))));
- uint128_t x44 = ((((uint128_t)x5 * x33) + ((0x2 * ((uint128_t)x7 * x31)) + ((0x2 * ((uint128_t)x9 * x29)) + ((0x2 * ((uint128_t)x11 * x27)) + ((0x2 * ((uint128_t)x13 * x25)) + ((uint128_t)x15 * x23)))))) + (((uint128_t)x17 * x38) + (((uint128_t)x19 * x39) + (((uint128_t)x21 * x37) + ((uint128_t)x20 * x35)))));
- uint128_t x45 = ((((uint128_t)x5 * x31) + ((0x2 * ((uint128_t)x7 * x29)) + ((0x2 * ((uint128_t)x9 * x27)) + ((0x2 * ((uint128_t)x11 * x25)) + ((uint128_t)x13 * x23))))) + (((uint128_t)x15 * x38) + (((uint128_t)x17 * x39) + (((uint128_t)x19 * x37) + (((uint128_t)x21 * x35) + ((uint128_t)x20 * x33))))));
- uint128_t x46 = ((((uint128_t)x5 * x29) + ((0x2 * ((uint128_t)x7 * x27)) + ((0x2 * ((uint128_t)x9 * x25)) + ((uint128_t)x11 * x23)))) + (((uint128_t)x13 * x38) + (((uint128_t)x15 * x39) + (((uint128_t)x17 * x37) + (((uint128_t)x19 * x35) + (((uint128_t)x21 * x33) + ((uint128_t)x20 * x31)))))));
- uint128_t x47 = ((((uint128_t)x5 * x27) + ((0x2 * ((uint128_t)x7 * x25)) + ((uint128_t)x9 * x23))) + (((uint128_t)x11 * x38) + (((uint128_t)x13 * x39) + (((uint128_t)x15 * x37) + (((uint128_t)x17 * x35) + (((uint128_t)x19 * x33) + (((uint128_t)x21 * x31) + ((uint128_t)x20 * x29))))))));
- uint128_t x48 = ((((uint128_t)x5 * x25) + ((uint128_t)x7 * x23)) + (((uint128_t)x9 * x38) + (((uint128_t)x11 * x39) + (((uint128_t)x13 * x37) + (((uint128_t)x15 * x35) + (((uint128_t)x17 * x33) + (((uint128_t)x19 * x31) + (((uint128_t)x21 * x29) + ((uint128_t)x20 * x27)))))))));
- uint128_t x49 = (((uint128_t)x5 * x23) + ((0x2 * ((uint128_t)x7 * x38)) + ((0x2 * ((uint128_t)x9 * x39)) + ((0x2 * ((uint128_t)x11 * x37)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + ((0x2 * ((uint128_t)x21 * x27)) + (0x2 * ((uint128_t)x20 * x25)))))))))));
- uint64_t x50 = (uint64_t) (x49 >> 0x35);
- uint64_t x51 = ((uint64_t)x49 & 0x1fffffffffffff);
- uint128_t x52 = (x50 + x48);
- uint64_t x53 = (uint64_t) (x52 >> 0x34);
- uint64_t x54 = ((uint64_t)x52 & 0xfffffffffffff);
- uint128_t x55 = (x53 + x47);
- uint64_t x56 = (uint64_t) (x55 >> 0x34);
- uint64_t x57 = ((uint64_t)x55 & 0xfffffffffffff);
- uint128_t x58 = (x56 + x46);
- uint64_t x59 = (uint64_t) (x58 >> 0x34);
- uint64_t x60 = ((uint64_t)x58 & 0xfffffffffffff);
- uint128_t x61 = (x59 + x45);
- uint64_t x62 = (uint64_t) (x61 >> 0x34);
- uint64_t x63 = ((uint64_t)x61 & 0xfffffffffffff);
- uint128_t x64 = (x62 + x44);
- uint64_t x65 = (uint64_t) (x64 >> 0x34);
- uint64_t x66 = ((uint64_t)x64 & 0xfffffffffffff);
- uint128_t x67 = (x65 + x43);
- uint64_t x68 = (uint64_t) (x67 >> 0x34);
- uint64_t x69 = ((uint64_t)x67 & 0xfffffffffffff);
- uint128_t x70 = (x68 + x42);
- uint64_t x71 = (uint64_t) (x70 >> 0x34);
- uint64_t x72 = ((uint64_t)x70 & 0xfffffffffffff);
- uint128_t x73 = (x71 + x41);
- uint64_t x74 = (uint64_t) (x73 >> 0x34);
- uint64_t x75 = ((uint64_t)x73 & 0xfffffffffffff);
- uint128_t x76 = (x74 + x40);
- uint64_t x77 = (uint64_t) (x76 >> 0x34);
- uint64_t x78 = ((uint64_t)x76 & 0xfffffffffffff);
- uint64_t x79 = (x51 + x77);
- uint64_t x80 = (x79 >> 0x35);
- uint64_t x81 = (x79 & 0x1fffffffffffff);
- uint64_t x82 = (x80 + x54);
- uint64_t x83 = (x82 >> 0x34);
- uint64_t x84 = (x82 & 0xfffffffffffff);
- return (Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, (x83 + x57), Return x84, Return x81))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_10limbs/femulDisplay.v b/src/Specific/solinas64_2e521m1_10limbs/femulDisplay.v
deleted file mode 100644
index b04d9f1fb..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fesquare.c b/src/Specific/solinas64_2e521m1_10limbs/fesquare.c
deleted file mode 100644
index cb979cf16..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesquare.c
+++ /dev/null
@@ -1,68 +0,0 @@
-static void fesquare(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- { uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + ((uint128_t)x17 * x17));
- { uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18)));
- { uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16))));
- { uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14)))));
- { uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- { uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10)))))));
- { uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8))))))));
- { uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6)))))))));
- { uint128_t x28 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4)))))))))));
- { uint64_t x29 = (uint64_t) (x28 >> 0x35);
- { uint64_t x30 = ((uint64_t)x28 & 0x1fffffffffffff);
- { uint128_t x31 = (x29 + x27);
- { uint64_t x32 = (uint64_t) (x31 >> 0x34);
- { uint64_t x33 = ((uint64_t)x31 & 0xfffffffffffff);
- { uint128_t x34 = (x32 + x26);
- { uint64_t x35 = (uint64_t) (x34 >> 0x34);
- { uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- { uint128_t x37 = (x35 + x25);
- { uint64_t x38 = (uint64_t) (x37 >> 0x34);
- { uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- { uint128_t x40 = (x38 + x24);
- { uint64_t x41 = (uint64_t) (x40 >> 0x34);
- { uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- { uint128_t x43 = (x41 + x23);
- { uint64_t x44 = (uint64_t) (x43 >> 0x34);
- { uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- { uint128_t x46 = (x44 + x22);
- { uint64_t x47 = (uint64_t) (x46 >> 0x34);
- { uint64_t x48 = ((uint64_t)x46 & 0xfffffffffffff);
- { uint128_t x49 = (x47 + x21);
- { uint64_t x50 = (uint64_t) (x49 >> 0x34);
- { uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- { uint128_t x52 = (x50 + x20);
- { uint64_t x53 = (uint64_t) (x52 >> 0x34);
- { uint64_t x54 = ((uint64_t)x52 & 0xfffffffffffff);
- { uint128_t x55 = (x53 + x19);
- { uint64_t x56 = (uint64_t) (x55 >> 0x34);
- { uint64_t x57 = ((uint64_t)x55 & 0xfffffffffffff);
- { uint64_t x58 = (x30 + x56);
- { uint64_t x59 = (x58 >> 0x35);
- { uint64_t x60 = (x58 & 0x1fffffffffffff);
- { uint64_t x61 = (x59 + x33);
- { uint64_t x62 = (x61 >> 0x34);
- { uint64_t x63 = (x61 & 0xfffffffffffff);
- out[0] = x60;
- out[1] = x63;
- out[2] = (x62 + x36);
- out[3] = x39;
- out[4] = x42;
- out[5] = x45;
- out[6] = x48;
- out[7] = x51;
- out[8] = x54;
- out[9] = x57;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fesquare.v b/src/Specific/solinas64_2e521m1_10limbs/fesquare.v
deleted file mode 100644
index b83f83f22..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/fesquareDisplay.log b/src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.log
deleted file mode 100644
index 509d48f8b..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,52 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x19 = (((uint128_t)x2 * x17) + ((0x2 * ((uint128_t)x4 * x18)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + ((0x2 * ((uint128_t)x18 * x4)) + ((uint128_t)x17 * x2))))))))));
- uint128_t x20 = ((((uint128_t)x2 * x18) + ((0x2 * ((uint128_t)x4 * x16)) + ((0x2 * ((uint128_t)x6 * x14)) + ((0x2 * ((uint128_t)x8 * x12)) + ((0x2 * ((uint128_t)x10 * x10)) + ((0x2 * ((uint128_t)x12 * x8)) + ((0x2 * ((uint128_t)x14 * x6)) + ((0x2 * ((uint128_t)x16 * x4)) + ((uint128_t)x18 * x2))))))))) + ((uint128_t)x17 * x17));
- uint128_t x21 = ((((uint128_t)x2 * x16) + ((0x2 * ((uint128_t)x4 * x14)) + ((0x2 * ((uint128_t)x6 * x12)) + ((0x2 * ((uint128_t)x8 * x10)) + ((0x2 * ((uint128_t)x10 * x8)) + ((0x2 * ((uint128_t)x12 * x6)) + ((0x2 * ((uint128_t)x14 * x4)) + ((uint128_t)x16 * x2)))))))) + (((uint128_t)x18 * x17) + ((uint128_t)x17 * x18)));
- uint128_t x22 = ((((uint128_t)x2 * x14) + ((0x2 * ((uint128_t)x4 * x12)) + ((0x2 * ((uint128_t)x6 * x10)) + ((0x2 * ((uint128_t)x8 * x8)) + ((0x2 * ((uint128_t)x10 * x6)) + ((0x2 * ((uint128_t)x12 * x4)) + ((uint128_t)x14 * x2))))))) + (((uint128_t)x16 * x17) + (((uint128_t)x18 * x18) + ((uint128_t)x17 * x16))));
- uint128_t x23 = ((((uint128_t)x2 * x12) + ((0x2 * ((uint128_t)x4 * x10)) + ((0x2 * ((uint128_t)x6 * x8)) + ((0x2 * ((uint128_t)x8 * x6)) + ((0x2 * ((uint128_t)x10 * x4)) + ((uint128_t)x12 * x2)))))) + (((uint128_t)x14 * x17) + (((uint128_t)x16 * x18) + (((uint128_t)x18 * x16) + ((uint128_t)x17 * x14)))));
- uint128_t x24 = ((((uint128_t)x2 * x10) + ((0x2 * ((uint128_t)x4 * x8)) + ((0x2 * ((uint128_t)x6 * x6)) + ((0x2 * ((uint128_t)x8 * x4)) + ((uint128_t)x10 * x2))))) + (((uint128_t)x12 * x17) + (((uint128_t)x14 * x18) + (((uint128_t)x16 * x16) + (((uint128_t)x18 * x14) + ((uint128_t)x17 * x12))))));
- uint128_t x25 = ((((uint128_t)x2 * x8) + ((0x2 * ((uint128_t)x4 * x6)) + ((0x2 * ((uint128_t)x6 * x4)) + ((uint128_t)x8 * x2)))) + (((uint128_t)x10 * x17) + (((uint128_t)x12 * x18) + (((uint128_t)x14 * x16) + (((uint128_t)x16 * x14) + (((uint128_t)x18 * x12) + ((uint128_t)x17 * x10)))))));
- uint128_t x26 = ((((uint128_t)x2 * x6) + ((0x2 * ((uint128_t)x4 * x4)) + ((uint128_t)x6 * x2))) + (((uint128_t)x8 * x17) + (((uint128_t)x10 * x18) + (((uint128_t)x12 * x16) + (((uint128_t)x14 * x14) + (((uint128_t)x16 * x12) + (((uint128_t)x18 * x10) + ((uint128_t)x17 * x8))))))));
- uint128_t x27 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + (((uint128_t)x6 * x17) + (((uint128_t)x8 * x18) + (((uint128_t)x10 * x16) + (((uint128_t)x12 * x14) + (((uint128_t)x14 * x12) + (((uint128_t)x16 * x10) + (((uint128_t)x18 * x8) + ((uint128_t)x17 * x6)))))))));
- uint128_t x28 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x17)) + ((0x2 * ((uint128_t)x6 * x18)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + ((0x2 * ((uint128_t)x18 * x6)) + (0x2 * ((uint128_t)x17 * x4)))))))))));
- uint64_t x29 = (uint64_t) (x28 >> 0x35);
- uint64_t x30 = ((uint64_t)x28 & 0x1fffffffffffff);
- uint128_t x31 = (x29 + x27);
- uint64_t x32 = (uint64_t) (x31 >> 0x34);
- uint64_t x33 = ((uint64_t)x31 & 0xfffffffffffff);
- uint128_t x34 = (x32 + x26);
- uint64_t x35 = (uint64_t) (x34 >> 0x34);
- uint64_t x36 = ((uint64_t)x34 & 0xfffffffffffff);
- uint128_t x37 = (x35 + x25);
- uint64_t x38 = (uint64_t) (x37 >> 0x34);
- uint64_t x39 = ((uint64_t)x37 & 0xfffffffffffff);
- uint128_t x40 = (x38 + x24);
- uint64_t x41 = (uint64_t) (x40 >> 0x34);
- uint64_t x42 = ((uint64_t)x40 & 0xfffffffffffff);
- uint128_t x43 = (x41 + x23);
- uint64_t x44 = (uint64_t) (x43 >> 0x34);
- uint64_t x45 = ((uint64_t)x43 & 0xfffffffffffff);
- uint128_t x46 = (x44 + x22);
- uint64_t x47 = (uint64_t) (x46 >> 0x34);
- uint64_t x48 = ((uint64_t)x46 & 0xfffffffffffff);
- uint128_t x49 = (x47 + x21);
- uint64_t x50 = (uint64_t) (x49 >> 0x34);
- uint64_t x51 = ((uint64_t)x49 & 0xfffffffffffff);
- uint128_t x52 = (x50 + x20);
- uint64_t x53 = (uint64_t) (x52 >> 0x34);
- uint64_t x54 = ((uint64_t)x52 & 0xfffffffffffff);
- uint128_t x55 = (x53 + x19);
- uint64_t x56 = (uint64_t) (x55 >> 0x34);
- uint64_t x57 = ((uint64_t)x55 & 0xfffffffffffff);
- uint64_t x58 = (x30 + x56);
- uint64_t x59 = (x58 >> 0x35);
- uint64_t x60 = (x58 & 0x1fffffffffffff);
- uint64_t x61 = (x59 + x33);
- uint64_t x62 = (x61 >> 0x34);
- uint64_t x63 = (x61 & 0xfffffffffffff);
- return (Return x57, Return x54, Return x51, Return x48, Return x45, Return x42, Return x39, (x62 + x36), Return x63, Return x60))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.v b/src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.v
deleted file mode 100644
index 4d0135043..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fesub.c b/src/Specific/solinas64_2e521m1_10limbs/fesub.c
deleted file mode 100644
index 4557332c9..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesub.c
+++ /dev/null
@@ -1,33 +0,0 @@
-static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) {
- { const uint64_t x20 = in1[9];
- { const uint64_t x21 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x38 = in2[9];
- { const uint64_t x39 = in2[8];
- { const uint64_t x37 = in2[7];
- { const uint64_t x35 = in2[6];
- { const uint64_t x33 = in2[5];
- { const uint64_t x31 = in2[4];
- { const uint64_t x29 = in2[3];
- { const uint64_t x27 = in2[2];
- { const uint64_t x25 = in2[1];
- { const uint64_t x23 = in2[0];
- out[0] = ((0x3ffffffffffffe + x5) - x23);
- out[1] = ((0x1ffffffffffffe + x7) - x25);
- out[2] = ((0x1ffffffffffffe + x9) - x27);
- out[3] = ((0x1ffffffffffffe + x11) - x29);
- out[4] = ((0x1ffffffffffffe + x13) - x31);
- out[5] = ((0x1ffffffffffffe + x15) - x33);
- out[6] = ((0x1ffffffffffffe + x17) - x35);
- out[7] = ((0x1ffffffffffffe + x19) - x37);
- out[8] = ((0x1ffffffffffffe + x21) - x39);
- out[9] = ((0x1ffffffffffffe + x20) - x38);
- }}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fesub.v b/src/Specific/solinas64_2e521m1_10limbs/fesub.v
deleted file mode 100644
index 51d6406dd..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/fesubDisplay.log b/src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.log
deleted file mode 100644
index d3c4adbc3..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core,
- (((0x1ffffffffffffe + x20) - x38), ((0x1ffffffffffffe + x21) - x39), ((0x1ffffffffffffe + x19) - x37), ((0x1ffffffffffffe + x17) - x35), ((0x1ffffffffffffe + x15) - x33), ((0x1ffffffffffffe + x13) - x31), ((0x1ffffffffffffe + x11) - x29), ((0x1ffffffffffffe + x9) - x27), ((0x1ffffffffffffe + x7) - x25), ((0x3ffffffffffffe + x5) - x23)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.v b/src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.v
deleted file mode 100644
index 72db3f8c5..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e521m1_10limbs/freeze.c b/src/Specific/solinas64_2e521m1_10limbs/freeze.c
deleted file mode 100644
index da704fa48..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/freeze.c
+++ /dev/null
@@ -1,54 +0,0 @@
-static void freeze(uint64_t out[10], const uint64_t in1[10]) {
- { const uint64_t x17 = in1[9];
- { const uint64_t x18 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffff);
- { uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0xfffffffffffff);
- { uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0xfffffffffffff);
- { uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0xfffffffffffff);
- { uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xfffffffffffff);
- { uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffffffffffff);
- { uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0xfffffffffffff);
- { uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0xfffffffffffff);
- { uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0xfffffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xfffffffffffff);
- { uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- { uint64_t x50 = (x49 & 0x1fffffffffffff);
- { uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- { uint64_t x54 = (x49 & 0xfffffffffffff);
- { uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- { uint64_t x58 = (x49 & 0xfffffffffffff);
- { uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- { uint64_t x62 = (x49 & 0xfffffffffffff);
- { uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- { uint64_t x66 = (x49 & 0xfffffffffffff);
- { uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- { uint64_t x70 = (x49 & 0xfffffffffffff);
- { uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- { uint64_t x74 = (x49 & 0xfffffffffffff);
- { uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- { uint64_t x78 = (x49 & 0xfffffffffffff);
- { uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- { uint64_t x82 = (x49 & 0xfffffffffffff);
- { uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- { uint64_t x86 = (x49 & 0xfffffffffffff);
- { uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- out[0] = x52;
- out[1] = x56;
- out[2] = x60;
- out[3] = x64;
- out[4] = x68;
- out[5] = x72;
- out[6] = x76;
- out[7] = x80;
- out[8] = x84;
- out[9] = x88;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_10limbs/freeze.v b/src/Specific/solinas64_2e521m1_10limbs/freeze.v
deleted file mode 100644
index 8bca1d619..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.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/solinas64_2e521m1_10limbs/freezeDisplay.log b/src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.log
deleted file mode 100644
index f4b207247..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.log
+++ /dev/null
@@ -1,38 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x17, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x20, uint8_t x21 = Op (Syntax.SubWithGetBorrow 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffffffffff);
- uint64_t x23, uint8_t x24 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x21, Return x4, 0xfffffffffffff);
- uint64_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x24, Return x6, 0xfffffffffffff);
- uint64_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x27, Return x8, 0xfffffffffffff);
- uint64_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x30, Return x10, 0xfffffffffffff);
- uint64_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x33, Return x12, 0xfffffffffffff);
- uint64_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x36, Return x14, 0xfffffffffffff);
- uint64_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x39, Return x16, 0xfffffffffffff);
- uint64_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x42, Return x18, 0xfffffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x45, Return x17, 0xfffffffffffff);
- uint64_t x49 = cmovznz64(x48, 0x0, 0xffffffffffffffffL);
- uint64_t x50 = (x49 & 0x1fffffffffffff);
- uint64_t x52, uint8_t x53 = Op (Syntax.AddWithGetCarry 53 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x20, Return x50);
- uint64_t x54 = (x49 & 0xfffffffffffff);
- uint64_t x56, uint8_t x57 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x53, Return x23, Return x54);
- uint64_t x58 = (x49 & 0xfffffffffffff);
- uint64_t x60, uint8_t x61 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x57, Return x26, Return x58);
- uint64_t x62 = (x49 & 0xfffffffffffff);
- uint64_t x64, uint8_t x65 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x61, Return x29, Return x62);
- uint64_t x66 = (x49 & 0xfffffffffffff);
- uint64_t x68, uint8_t x69 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x65, Return x32, Return x66);
- uint64_t x70 = (x49 & 0xfffffffffffff);
- uint64_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x69, Return x35, Return x70);
- uint64_t x74 = (x49 & 0xfffffffffffff);
- uint64_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x73, Return x38, Return x74);
- uint64_t x78 = (x49 & 0xfffffffffffff);
- uint64_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x77, Return x41, Return x78);
- uint64_t x82 = (x49 & 0xfffffffffffff);
- uint64_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x81, Return x44, Return x82);
- uint64_t x86 = (x49 & 0xfffffffffffff);
- uint64_t x88, uint8_t _ = Op (Syntax.AddWithGetCarry 52 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x85, Return x47, Return x86);
- (Return x88, Return x84, Return x80, Return x76, Return x72, Return x68, Return x64, Return x60, Return x56, Return x52))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.v b/src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.v
deleted file mode 100644
index 0614d10e0..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_10limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e521m1_10limbs/py_interpreter.sh b/src/Specific/solinas64_2e521m1_10limbs/py_interpreter.sh
deleted file mode 100755
index 797531875..000000000
--- a/src/Specific/solinas64_2e521m1_10limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**521 - 1' -Dmodulus_bytes='52.1' -Da24='121665'
diff --git a/src/Specific/solinas64_2e521m1_9limbs/CurveParameters.v b/src/Specific/solinas64_2e521m1_9limbs/CurveParameters.v
deleted file mode 100644
index c13c77f18..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/CurveParameters.v
+++ /dev/null
@@ -1,39 +0,0 @@
-Require Import Crypto.Specific.Framework.RawCurveParameters.
-Require Import Crypto.Util.LetIn.
-
-(***
-Modulus : 2^521 - 1
-Base: 57 + 8/9
-***)
-
-Definition curve : CurveParameters :=
- {|
- sz := 9%nat;
- base := 57 + 8/9;
- bitwidth := 64;
- s := 2^521;
- c := [(1, 1)];
- carry_chains := Some [seq 0 (pred 9); [0; 1]]%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/solinas64_2e521m1_9limbs/Synthesis.v b/src/Specific/solinas64_2e521m1_9limbs/Synthesis.v
deleted file mode 100644
index eefb47c6e..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/Synthesis.v
+++ /dev/null
@@ -1,9 +0,0 @@
-Require Import Crypto.Specific.Framework.SynthesisFramework.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/compiler.sh b/src/Specific/solinas64_2e521m1_9limbs/compiler.sh
deleted file mode 100755
index 5b30c5e61..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58,58,58,58,58,58,57}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas64_2e521m1_9limbs/compilerxx.sh b/src/Specific/solinas64_2e521m1_9limbs/compilerxx.sh
deleted file mode 100755
index 221314988..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x39}' -Dbitwidth='64' -Dlimb_weight_gaps_array='{58,58,58,58,58,58,58,58,57}' -Dmodulus_array='{0x01,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,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,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}' -Dmodulus_bytes_val='66' -Dmodulus_limbs='9' -Dq_mpz='(1_mpz<<521) - 1' "$@"
diff --git a/src/Specific/solinas64_2e521m1_9limbs/feadd.c b/src/Specific/solinas64_2e521m1_9limbs/feadd.c
deleted file mode 100644
index 98ab4434c..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/feadd.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void feadd(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = (x5 + x21);
- out[1] = (x7 + x23);
- out[2] = (x9 + x25);
- out[3] = (x11 + x27);
- out[4] = (x13 + x29);
- out[5] = (x15 + x31);
- out[6] = (x17 + x33);
- out[7] = (x19 + x35);
- out[8] = (x18 + x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_9limbs/feadd.v b/src/Specific/solinas64_2e521m1_9limbs/feadd.v
deleted file mode 100644
index 01fbdd97f..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/feadd.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/feaddDisplay.log b/src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.log
deleted file mode 100644
index 3b92b1c5c..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- ((x18 + x34), (x19 + x35), (x17 + x33), (x15 + x31), (x13 + x29), (x11 + x27), (x9 + x25), (x7 + x23), (x5 + x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.v b/src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.v
deleted file mode 100644
index 61c8132de..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/feaddDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.feadd.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display add.
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fecarry.v b/src/Specific/solinas64_2e521m1_9limbs/fecarry.v
deleted file mode 100644
index caaf7863a..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fecarry.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/fecarryDisplay.v b/src/Specific/solinas64_2e521m1_9limbs/fecarryDisplay.v
deleted file mode 100644
index 872755421..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fecarryDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.fecarry.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display carry.
diff --git a/src/Specific/solinas64_2e521m1_9limbs/femul.c b/src/Specific/solinas64_2e521m1_9limbs/femul.c
deleted file mode 100644
index 1cc878a69..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/femul.c
+++ /dev/null
@@ -1,71 +0,0 @@
-static void femul(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- { uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- { uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x2 * ((uint128_t)x18 * x34)));
- { uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35))));
- { uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + ((0x2 * ((uint128_t)x17 * x34)) + ((0x2 * ((uint128_t)x19 * x35)) + (0x2 * ((uint128_t)x18 * x33)))));
- { uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + ((0x2 * ((uint128_t)x15 * x34)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + (0x2 * ((uint128_t)x18 * x31))))));
- { uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29)))))));
- { uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + ((0x2 * ((uint128_t)x11 * x34)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + (0x2 * ((uint128_t)x18 * x27))))))));
- { uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x34)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + (0x2 * ((uint128_t)x18 * x25)))))))));
- { uint128_t x44 = (((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23))))))))));
- { uint128_t x45 = (x44 >> 0x3a);
- { uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffffffff);
- { uint128_t x47 = (x45 + x43);
- { uint128_t x48 = (x47 >> 0x3a);
- { uint64_t x49 = ((uint64_t)x47 & 0x3ffffffffffffff);
- { uint128_t x50 = (x48 + x42);
- { uint128_t x51 = (x50 >> 0x3a);
- { uint64_t x52 = ((uint64_t)x50 & 0x3ffffffffffffff);
- { uint128_t x53 = (x51 + x41);
- { uint128_t x54 = (x53 >> 0x3a);
- { uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffffffff);
- { uint128_t x56 = (x54 + x40);
- { uint128_t x57 = (x56 >> 0x3a);
- { uint64_t x58 = ((uint64_t)x56 & 0x3ffffffffffffff);
- { uint128_t x59 = (x57 + x39);
- { uint128_t x60 = (x59 >> 0x3a);
- { uint64_t x61 = ((uint64_t)x59 & 0x3ffffffffffffff);
- { uint128_t x62 = (x60 + x38);
- { uint128_t x63 = (x62 >> 0x3a);
- { uint64_t x64 = ((uint64_t)x62 & 0x3ffffffffffffff);
- { uint128_t x65 = (x63 + x37);
- { uint128_t x66 = (x65 >> 0x3a);
- { uint64_t x67 = ((uint64_t)x65 & 0x3ffffffffffffff);
- { uint128_t x68 = (x66 + x36);
- { uint128_t x69 = (x68 >> 0x39);
- { uint64_t x70 = ((uint64_t)x68 & 0x1ffffffffffffff);
- { uint128_t x71 = (x46 + x69);
- { uint64_t x72 = (uint64_t) (x71 >> 0x3a);
- { uint64_t x73 = ((uint64_t)x71 & 0x3ffffffffffffff);
- { uint64_t x74 = (x72 + x49);
- { uint64_t x75 = (x74 >> 0x3a);
- { uint64_t x76 = (x74 & 0x3ffffffffffffff);
- out[0] = x73;
- out[1] = x76;
- out[2] = (x75 + x52);
- out[3] = x55;
- out[4] = x58;
- out[5] = x61;
- out[6] = x64;
- out[7] = x67;
- out[8] = x70;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_9limbs/femul.v b/src/Specific/solinas64_2e521m1_9limbs/femul.v
deleted file mode 100644
index fee786799..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/femul.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/femulDisplay.log b/src/Specific/solinas64_2e521m1_9limbs/femulDisplay.log
deleted file mode 100644
index 811a3bdb6..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/femulDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- uint128_t x36 = (((uint128_t)x5 * x34) + (((uint128_t)x7 * x35) + (((uint128_t)x9 * x33) + (((uint128_t)x11 * x31) + (((uint128_t)x13 * x29) + (((uint128_t)x15 * x27) + (((uint128_t)x17 * x25) + (((uint128_t)x19 * x23) + ((uint128_t)x18 * x21)))))))));
- uint128_t x37 = ((((uint128_t)x5 * x35) + (((uint128_t)x7 * x33) + (((uint128_t)x9 * x31) + (((uint128_t)x11 * x29) + (((uint128_t)x13 * x27) + (((uint128_t)x15 * x25) + (((uint128_t)x17 * x23) + ((uint128_t)x19 * x21)))))))) + (0x2 * ((uint128_t)x18 * x34)));
- uint128_t x38 = ((((uint128_t)x5 * x33) + (((uint128_t)x7 * x31) + (((uint128_t)x9 * x29) + (((uint128_t)x11 * x27) + (((uint128_t)x13 * x25) + (((uint128_t)x15 * x23) + ((uint128_t)x17 * x21))))))) + ((0x2 * ((uint128_t)x19 * x34)) + (0x2 * ((uint128_t)x18 * x35))));
- uint128_t x39 = ((((uint128_t)x5 * x31) + (((uint128_t)x7 * x29) + (((uint128_t)x9 * x27) + (((uint128_t)x11 * x25) + (((uint128_t)x13 * x23) + ((uint128_t)x15 * x21)))))) + ((0x2 * ((uint128_t)x17 * x34)) + ((0x2 * ((uint128_t)x19 * x35)) + (0x2 * ((uint128_t)x18 * x33)))));
- uint128_t x40 = ((((uint128_t)x5 * x29) + (((uint128_t)x7 * x27) + (((uint128_t)x9 * x25) + (((uint128_t)x11 * x23) + ((uint128_t)x13 * x21))))) + ((0x2 * ((uint128_t)x15 * x34)) + ((0x2 * ((uint128_t)x17 * x35)) + ((0x2 * ((uint128_t)x19 * x33)) + (0x2 * ((uint128_t)x18 * x31))))));
- uint128_t x41 = ((((uint128_t)x5 * x27) + (((uint128_t)x7 * x25) + (((uint128_t)x9 * x23) + ((uint128_t)x11 * x21)))) + ((0x2 * ((uint128_t)x13 * x34)) + ((0x2 * ((uint128_t)x15 * x35)) + ((0x2 * ((uint128_t)x17 * x33)) + ((0x2 * ((uint128_t)x19 * x31)) + (0x2 * ((uint128_t)x18 * x29)))))));
- uint128_t x42 = ((((uint128_t)x5 * x25) + (((uint128_t)x7 * x23) + ((uint128_t)x9 * x21))) + ((0x2 * ((uint128_t)x11 * x34)) + ((0x2 * ((uint128_t)x13 * x35)) + ((0x2 * ((uint128_t)x15 * x33)) + ((0x2 * ((uint128_t)x17 * x31)) + ((0x2 * ((uint128_t)x19 * x29)) + (0x2 * ((uint128_t)x18 * x27))))))));
- uint128_t x43 = ((((uint128_t)x5 * x23) + ((uint128_t)x7 * x21)) + ((0x2 * ((uint128_t)x9 * x34)) + ((0x2 * ((uint128_t)x11 * x35)) + ((0x2 * ((uint128_t)x13 * x33)) + ((0x2 * ((uint128_t)x15 * x31)) + ((0x2 * ((uint128_t)x17 * x29)) + ((0x2 * ((uint128_t)x19 * x27)) + (0x2 * ((uint128_t)x18 * x25)))))))));
- uint128_t x44 = (((uint128_t)x5 * x21) + ((0x2 * ((uint128_t)x7 * x34)) + ((0x2 * ((uint128_t)x9 * x35)) + ((0x2 * ((uint128_t)x11 * x33)) + ((0x2 * ((uint128_t)x13 * x31)) + ((0x2 * ((uint128_t)x15 * x29)) + ((0x2 * ((uint128_t)x17 * x27)) + ((0x2 * ((uint128_t)x19 * x25)) + (0x2 * ((uint128_t)x18 * x23))))))))));
- uint128_t x45 = (x44 >> 0x3a);
- uint64_t x46 = ((uint64_t)x44 & 0x3ffffffffffffff);
- uint128_t x47 = (x45 + x43);
- uint128_t x48 = (x47 >> 0x3a);
- uint64_t x49 = ((uint64_t)x47 & 0x3ffffffffffffff);
- uint128_t x50 = (x48 + x42);
- uint128_t x51 = (x50 >> 0x3a);
- uint64_t x52 = ((uint64_t)x50 & 0x3ffffffffffffff);
- uint128_t x53 = (x51 + x41);
- uint128_t x54 = (x53 >> 0x3a);
- uint64_t x55 = ((uint64_t)x53 & 0x3ffffffffffffff);
- uint128_t x56 = (x54 + x40);
- uint128_t x57 = (x56 >> 0x3a);
- uint64_t x58 = ((uint64_t)x56 & 0x3ffffffffffffff);
- uint128_t x59 = (x57 + x39);
- uint128_t x60 = (x59 >> 0x3a);
- uint64_t x61 = ((uint64_t)x59 & 0x3ffffffffffffff);
- uint128_t x62 = (x60 + x38);
- uint128_t x63 = (x62 >> 0x3a);
- uint64_t x64 = ((uint64_t)x62 & 0x3ffffffffffffff);
- uint128_t x65 = (x63 + x37);
- uint128_t x66 = (x65 >> 0x3a);
- uint64_t x67 = ((uint64_t)x65 & 0x3ffffffffffffff);
- uint128_t x68 = (x66 + x36);
- uint128_t x69 = (x68 >> 0x39);
- uint64_t x70 = ((uint64_t)x68 & 0x1ffffffffffffff);
- uint128_t x71 = (x46 + x69);
- uint64_t x72 = (uint64_t) (x71 >> 0x3a);
- uint64_t x73 = ((uint64_t)x71 & 0x3ffffffffffffff);
- uint64_t x74 = (x72 + x49);
- uint64_t x75 = (x74 >> 0x3a);
- uint64_t x76 = (x74 & 0x3ffffffffffffff);
- return (Return x70, Return x67, Return x64, Return x61, Return x58, Return x55, (x75 + x52), Return x76, Return x73))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_9limbs/femulDisplay.v b/src/Specific/solinas64_2e521m1_9limbs/femulDisplay.v
deleted file mode 100644
index 58d2ad4a3..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/femulDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.femul.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display mul.
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fesquare.c b/src/Specific/solinas64_2e521m1_9limbs/fesquare.c
deleted file mode 100644
index 2d3ee2421..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesquare.c
+++ /dev/null
@@ -1,62 +0,0 @@
-static void fesquare(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- { uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x2 * ((uint128_t)x15 * x15)));
- { uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16))));
- { uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + ((0x2 * ((uint128_t)x14 * x15)) + ((0x2 * ((uint128_t)x16 * x16)) + (0x2 * ((uint128_t)x15 * x14)))));
- { uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + ((0x2 * ((uint128_t)x12 * x15)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (0x2 * ((uint128_t)x15 * x12))))));
- { uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10)))))));
- { uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + ((0x2 * ((uint128_t)x8 * x15)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + (0x2 * ((uint128_t)x15 * x8))))))));
- { uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((0x2 * ((uint128_t)x6 * x15)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + (0x2 * ((uint128_t)x15 * x6)))))))));
- { uint128_t x25 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4))))))))));
- { uint128_t x26 = (x25 >> 0x3a);
- { uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- { uint128_t x28 = (x26 + x24);
- { uint128_t x29 = (x28 >> 0x3a);
- { uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffffff);
- { uint128_t x31 = (x29 + x23);
- { uint128_t x32 = (x31 >> 0x3a);
- { uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff);
- { uint128_t x34 = (x32 + x22);
- { uint128_t x35 = (x34 >> 0x3a);
- { uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffffff);
- { uint128_t x37 = (x35 + x21);
- { uint128_t x38 = (x37 >> 0x3a);
- { uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffffff);
- { uint128_t x40 = (x38 + x20);
- { uint128_t x41 = (x40 >> 0x3a);
- { uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffffff);
- { uint128_t x43 = (x41 + x19);
- { uint128_t x44 = (x43 >> 0x3a);
- { uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff);
- { uint128_t x46 = (x44 + x18);
- { uint128_t x47 = (x46 >> 0x3a);
- { uint64_t x48 = ((uint64_t)x46 & 0x3ffffffffffffff);
- { uint128_t x49 = (x47 + x17);
- { uint128_t x50 = (x49 >> 0x39);
- { uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffffff);
- { uint128_t x52 = (x27 + x50);
- { uint64_t x53 = (uint64_t) (x52 >> 0x3a);
- { uint64_t x54 = ((uint64_t)x52 & 0x3ffffffffffffff);
- { uint64_t x55 = (x53 + x30);
- { uint64_t x56 = (x55 >> 0x3a);
- { uint64_t x57 = (x55 & 0x3ffffffffffffff);
- out[0] = x54;
- out[1] = x57;
- out[2] = (x56 + x33);
- out[3] = x36;
- out[4] = x39;
- out[5] = x42;
- out[6] = x45;
- out[7] = x48;
- out[8] = x51;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fesquare.v b/src/Specific/solinas64_2e521m1_9limbs/fesquare.v
deleted file mode 100644
index 177792d13..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesquare.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/fesquareDisplay.log b/src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.log
deleted file mode 100644
index 95c38954d..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.log
+++ /dev/null
@@ -1,48 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint128_t x17 = (((uint128_t)x2 * x15) + (((uint128_t)x4 * x16) + (((uint128_t)x6 * x14) + (((uint128_t)x8 * x12) + (((uint128_t)x10 * x10) + (((uint128_t)x12 * x8) + (((uint128_t)x14 * x6) + (((uint128_t)x16 * x4) + ((uint128_t)x15 * x2)))))))));
- uint128_t x18 = ((((uint128_t)x2 * x16) + (((uint128_t)x4 * x14) + (((uint128_t)x6 * x12) + (((uint128_t)x8 * x10) + (((uint128_t)x10 * x8) + (((uint128_t)x12 * x6) + (((uint128_t)x14 * x4) + ((uint128_t)x16 * x2)))))))) + (0x2 * ((uint128_t)x15 * x15)));
- uint128_t x19 = ((((uint128_t)x2 * x14) + (((uint128_t)x4 * x12) + (((uint128_t)x6 * x10) + (((uint128_t)x8 * x8) + (((uint128_t)x10 * x6) + (((uint128_t)x12 * x4) + ((uint128_t)x14 * x2))))))) + ((0x2 * ((uint128_t)x16 * x15)) + (0x2 * ((uint128_t)x15 * x16))));
- uint128_t x20 = ((((uint128_t)x2 * x12) + (((uint128_t)x4 * x10) + (((uint128_t)x6 * x8) + (((uint128_t)x8 * x6) + (((uint128_t)x10 * x4) + ((uint128_t)x12 * x2)))))) + ((0x2 * ((uint128_t)x14 * x15)) + ((0x2 * ((uint128_t)x16 * x16)) + (0x2 * ((uint128_t)x15 * x14)))));
- uint128_t x21 = ((((uint128_t)x2 * x10) + (((uint128_t)x4 * x8) + (((uint128_t)x6 * x6) + (((uint128_t)x8 * x4) + ((uint128_t)x10 * x2))))) + ((0x2 * ((uint128_t)x12 * x15)) + ((0x2 * ((uint128_t)x14 * x16)) + ((0x2 * ((uint128_t)x16 * x14)) + (0x2 * ((uint128_t)x15 * x12))))));
- uint128_t x22 = ((((uint128_t)x2 * x8) + (((uint128_t)x4 * x6) + (((uint128_t)x6 * x4) + ((uint128_t)x8 * x2)))) + ((0x2 * ((uint128_t)x10 * x15)) + ((0x2 * ((uint128_t)x12 * x16)) + ((0x2 * ((uint128_t)x14 * x14)) + ((0x2 * ((uint128_t)x16 * x12)) + (0x2 * ((uint128_t)x15 * x10)))))));
- uint128_t x23 = ((((uint128_t)x2 * x6) + (((uint128_t)x4 * x4) + ((uint128_t)x6 * x2))) + ((0x2 * ((uint128_t)x8 * x15)) + ((0x2 * ((uint128_t)x10 * x16)) + ((0x2 * ((uint128_t)x12 * x14)) + ((0x2 * ((uint128_t)x14 * x12)) + ((0x2 * ((uint128_t)x16 * x10)) + (0x2 * ((uint128_t)x15 * x8))))))));
- uint128_t x24 = ((((uint128_t)x2 * x4) + ((uint128_t)x4 * x2)) + ((0x2 * ((uint128_t)x6 * x15)) + ((0x2 * ((uint128_t)x8 * x16)) + ((0x2 * ((uint128_t)x10 * x14)) + ((0x2 * ((uint128_t)x12 * x12)) + ((0x2 * ((uint128_t)x14 * x10)) + ((0x2 * ((uint128_t)x16 * x8)) + (0x2 * ((uint128_t)x15 * x6)))))))));
- uint128_t x25 = (((uint128_t)x2 * x2) + ((0x2 * ((uint128_t)x4 * x15)) + ((0x2 * ((uint128_t)x6 * x16)) + ((0x2 * ((uint128_t)x8 * x14)) + ((0x2 * ((uint128_t)x10 * x12)) + ((0x2 * ((uint128_t)x12 * x10)) + ((0x2 * ((uint128_t)x14 * x8)) + ((0x2 * ((uint128_t)x16 * x6)) + (0x2 * ((uint128_t)x15 * x4))))))))));
- uint128_t x26 = (x25 >> 0x3a);
- uint64_t x27 = ((uint64_t)x25 & 0x3ffffffffffffff);
- uint128_t x28 = (x26 + x24);
- uint128_t x29 = (x28 >> 0x3a);
- uint64_t x30 = ((uint64_t)x28 & 0x3ffffffffffffff);
- uint128_t x31 = (x29 + x23);
- uint128_t x32 = (x31 >> 0x3a);
- uint64_t x33 = ((uint64_t)x31 & 0x3ffffffffffffff);
- uint128_t x34 = (x32 + x22);
- uint128_t x35 = (x34 >> 0x3a);
- uint64_t x36 = ((uint64_t)x34 & 0x3ffffffffffffff);
- uint128_t x37 = (x35 + x21);
- uint128_t x38 = (x37 >> 0x3a);
- uint64_t x39 = ((uint64_t)x37 & 0x3ffffffffffffff);
- uint128_t x40 = (x38 + x20);
- uint128_t x41 = (x40 >> 0x3a);
- uint64_t x42 = ((uint64_t)x40 & 0x3ffffffffffffff);
- uint128_t x43 = (x41 + x19);
- uint128_t x44 = (x43 >> 0x3a);
- uint64_t x45 = ((uint64_t)x43 & 0x3ffffffffffffff);
- uint128_t x46 = (x44 + x18);
- uint128_t x47 = (x46 >> 0x3a);
- uint64_t x48 = ((uint64_t)x46 & 0x3ffffffffffffff);
- uint128_t x49 = (x47 + x17);
- uint128_t x50 = (x49 >> 0x39);
- uint64_t x51 = ((uint64_t)x49 & 0x1ffffffffffffff);
- uint128_t x52 = (x27 + x50);
- uint64_t x53 = (uint64_t) (x52 >> 0x3a);
- uint64_t x54 = ((uint64_t)x52 & 0x3ffffffffffffff);
- uint64_t x55 = (x53 + x30);
- uint64_t x56 = (x55 >> 0x3a);
- uint64_t x57 = (x55 & 0x3ffffffffffffff);
- return (Return x51, Return x48, Return x45, Return x42, Return x39, Return x36, (x56 + x33), Return x57, Return x54))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.v b/src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.v
deleted file mode 100644
index c169f93f1..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesquareDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.fesquare.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display square.
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fesub.c b/src/Specific/solinas64_2e521m1_9limbs/fesub.c
deleted file mode 100644
index 6e9f18b48..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesub.c
+++ /dev/null
@@ -1,30 +0,0 @@
-static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) {
- { const uint64_t x18 = in1[8];
- { const uint64_t x19 = in1[7];
- { const uint64_t x17 = in1[6];
- { const uint64_t x15 = in1[5];
- { const uint64_t x13 = in1[4];
- { const uint64_t x11 = in1[3];
- { const uint64_t x9 = in1[2];
- { const uint64_t x7 = in1[1];
- { const uint64_t x5 = in1[0];
- { const uint64_t x34 = in2[8];
- { const uint64_t x35 = in2[7];
- { const uint64_t x33 = in2[6];
- { const uint64_t x31 = in2[5];
- { const uint64_t x29 = in2[4];
- { const uint64_t x27 = in2[3];
- { const uint64_t x25 = in2[2];
- { const uint64_t x23 = in2[1];
- { const uint64_t x21 = in2[0];
- out[0] = ((0x7fffffffffffffe + x5) - x21);
- out[1] = ((0x7fffffffffffffe + x7) - x23);
- out[2] = ((0x7fffffffffffffe + x9) - x25);
- out[3] = ((0x7fffffffffffffe + x11) - x27);
- out[4] = ((0x7fffffffffffffe + x13) - x29);
- out[5] = ((0x7fffffffffffffe + x15) - x31);
- out[6] = ((0x7fffffffffffffe + x17) - x33);
- out[7] = ((0x7fffffffffffffe + x19) - x35);
- out[8] = ((0x3fffffffffffffe + x18) - x34);
- }}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fesub.v b/src/Specific/solinas64_2e521m1_9limbs/fesub.v
deleted file mode 100644
index ef92f7c79..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesub.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/fesubDisplay.log b/src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.log
deleted file mode 100644
index e68e71859..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.log
+++ /dev/null
@@ -1,7 +0,0 @@
-λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core,
- (((0x3fffffffffffffe + x18) - x34), ((0x7fffffffffffffe + x19) - x35), ((0x7fffffffffffffe + x17) - x33), ((0x7fffffffffffffe + x15) - x31), ((0x7fffffffffffffe + x13) - x29), ((0x7fffffffffffffe + x11) - x27), ((0x7fffffffffffffe + x9) - x25), ((0x7fffffffffffffe + x7) - x23), ((0x7fffffffffffffe + x5) - x21)))
-(x, x0)%core
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.v b/src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.v
deleted file mode 100644
index 787336e2c..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/fesubDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.fesub.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display sub.
diff --git a/src/Specific/solinas64_2e521m1_9limbs/freeze.c b/src/Specific/solinas64_2e521m1_9limbs/freeze.c
deleted file mode 100644
index c5a502498..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/freeze.c
+++ /dev/null
@@ -1,49 +0,0 @@
-static void freeze(uint64_t out[9], const uint64_t in1[9]) {
- { const uint64_t x15 = in1[8];
- { const uint64_t x16 = in1[7];
- { const uint64_t x14 = in1[6];
- { const uint64_t x12 = in1[5];
- { const uint64_t x10 = in1[4];
- { const uint64_t x8 = in1[3];
- { const uint64_t x6 = in1[2];
- { const uint64_t x4 = in1[1];
- { const uint64_t x2 = in1[0];
- { uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffff);
- { uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffffffffffff);
- { uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffffffffffff);
- { uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffffff);
- { uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3ffffffffffffff);
- { uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffffffff);
- { uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffffff);
- { uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffffffffffff);
- { uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffffffffffff);
- { uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- { uint64_t x45 = (x44 & 0x3ffffffffffffff);
- { uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- { uint64_t x49 = (x44 & 0x3ffffffffffffff);
- { uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- { uint64_t x53 = (x44 & 0x3ffffffffffffff);
- { uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- { uint64_t x57 = (x44 & 0x3ffffffffffffff);
- { uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- { uint64_t x61 = (x44 & 0x3ffffffffffffff);
- { uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- { uint64_t x65 = (x44 & 0x3ffffffffffffff);
- { uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- { uint64_t x69 = (x44 & 0x3ffffffffffffff);
- { uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- { uint64_t x73 = (x44 & 0x3ffffffffffffff);
- { uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- { uint64_t x77 = (x44 & 0x1ffffffffffffff);
- { uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- out[0] = x47;
- out[1] = x51;
- out[2] = x55;
- out[3] = x59;
- out[4] = x63;
- out[5] = x67;
- out[6] = x71;
- out[7] = x75;
- out[8] = x79;
- }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
-}
diff --git a/src/Specific/solinas64_2e521m1_9limbs/freeze.v b/src/Specific/solinas64_2e521m1_9limbs/freeze.v
deleted file mode 100644
index 4307e97bf..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/freeze.v
+++ /dev/null
@@ -1,14 +0,0 @@
-Require Import Crypto.Arithmetic.PrimeFieldTheorems.
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.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/solinas64_2e521m1_9limbs/freezeDisplay.log b/src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.log
deleted file mode 100644
index ae47404fe..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.log
+++ /dev/null
@@ -1,35 +0,0 @@
-λ x : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
-Interp-η
-(λ var : Syntax.base_type → Type,
- λ '(x15, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x18, uint8_t x19 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x2, 0x3ffffffffffffff);
- uint64_t x21, uint8_t x22 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x19, Return x4, 0x3ffffffffffffff);
- uint64_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x22, Return x6, 0x3ffffffffffffff);
- uint64_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x25, Return x8, 0x3ffffffffffffff);
- uint64_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x28, Return x10, 0x3ffffffffffffff);
- uint64_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x31, Return x12, 0x3ffffffffffffff);
- uint64_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x34, Return x14, 0x3ffffffffffffff);
- uint64_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x37, Return x16, 0x3ffffffffffffff);
- uint64_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x40, Return x15, 0x1ffffffffffffff);
- uint64_t x44 = cmovznz64(x43, 0x0, 0xffffffffffffffffL);
- uint64_t x45 = (x44 & 0x3ffffffffffffff);
- uint64_t x47, uint8_t x48 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (0x0, Return x18, Return x45);
- uint64_t x49 = (x44 & 0x3ffffffffffffff);
- uint64_t x51, uint8_t x52 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x48, Return x21, Return x49);
- uint64_t x53 = (x44 & 0x3ffffffffffffff);
- uint64_t x55, uint8_t x56 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x52, Return x24, Return x53);
- uint64_t x57 = (x44 & 0x3ffffffffffffff);
- uint64_t x59, uint8_t x60 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x56, Return x27, Return x57);
- uint64_t x61 = (x44 & 0x3ffffffffffffff);
- uint64_t x63, uint8_t x64 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x60, Return x30, Return x61);
- uint64_t x65 = (x44 & 0x3ffffffffffffff);
- uint64_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x64, Return x33, Return x65);
- uint64_t x69 = (x44 & 0x3ffffffffffffff);
- uint64_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x68, Return x36, Return x69);
- uint64_t x73 = (x44 & 0x3ffffffffffffff);
- uint64_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 58 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x72, Return x39, Return x73);
- uint64_t x77 = (x44 & 0x1ffffffffffffff);
- uint64_t x79, uint8_t _ = Op (Syntax.AddWithGetCarry 57 (Syntax.TWord 3) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 6) (Syntax.TWord 3)) (Return x76, Return x42, Return x77);
- (Return x79, Return x75, Return x71, Return x67, Return x63, Return x59, Return x55, Return x51, Return x47))
-x
- : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.v b/src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.v
deleted file mode 100644
index 5c39bfd19..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/freezeDisplay.v
+++ /dev/null
@@ -1,4 +0,0 @@
-Require Import Crypto.Specific.solinas64_2e521m1_9limbs.freeze.
-Require Import Crypto.Specific.Framework.IntegrationTestDisplayCommon.
-
-Check display freeze.
diff --git a/src/Specific/solinas64_2e521m1_9limbs/py_interpreter.sh b/src/Specific/solinas64_2e521m1_9limbs/py_interpreter.sh
deleted file mode 100755
index 77ddf59fc..000000000
--- a/src/Specific/solinas64_2e521m1_9limbs/py_interpreter.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-/usr/bin/env python3 "$@" -Dq='2**521 - 1' -Dmodulus_bytes='57 + 8/9' -Da24='121665'
diff --git a/src/Toplevel2.v b/src/Toplevel2.v
index 01381380a..592915a2b 100644
--- a/src/Toplevel2.v
+++ b/src/Toplevel2.v
@@ -25,7 +25,6 @@ Require Import Crypto.Util.Tuple.
Require Import Crypto.Util.ListUtil Coq.Lists.List.
Require Import Crypto.Util.Equality.
Require Import Crypto.Util.Tactics.GetGoal.
-Require Import Crypto.Arithmetic.BarrettReduction.Generalized.
Require Import Crypto.Util.Tactics.UniquePose.
Require Import Crypto.Util.ZUtil.Rshi.
Require Import Crypto.Util.Option.
@@ -40,8 +39,6 @@ Require Import Crypto.Util.ZUtil.Tactics.RewriteModSmall.
Require Import Crypto.Util.ZUtil.Definitions.
Require Import Crypto.Util.ZUtil.EquivModulo.
Require Import Crypto.Util.ZUtil.Tactics.SplitMinMax.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Definition.
-Require Import Crypto.Arithmetic.MontgomeryReduction.Proofs.
Require Import Crypto.Util.ErrorT.
Require Import Crypto.Util.Strings.Show.
Require Import Crypto.Util.ZRange.Operations.
diff --git a/synthesis-parameters.txt b/synthesis-parameters.txt
deleted file mode 100644
index 2140cebf0..000000000
--- a/synthesis-parameters.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-==> src/SpecificGen/2213_32.json <==
-{
- "k" : 221,
- "c" : 3,
- "n" : 8,
- "w" : 32,
- "ch" : "[0;1;2;3;4;5;6;7;0;1]"
-}
-
-==> src/SpecificGen/2519_32.json <==
-{
- "k" : 251,
- "c" : 9,
- "n" : 10,
- "w" : 32,
- "ch" : "[0;1;2;3;4;5;6;7;8;9;0;1]"
-}
-
-==> src/SpecificGen/25519_32.json <==
-{
- "k" : 255,
- "c" : 19,
- "n" : 10,
- "w" : 32,
- "ch" : "[0;1;2;3;4;5;6;7;8;9;0;1]"
-}
-
-==> src/SpecificGen/25519_64.json <==
-{
- "k" : 255,
- "c" : 19,
- "n" : 5,
- "w" : 64,
- "ch" : "[0;1;2;3;4;0;1]"
-}
-
-==> src/SpecificGen/41417_32.json <==
-{
- "k" : 414,
- "c" : 17,
- "n" : 18,
- "w" : 32,
- "ch" : "[0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;0;1]"
-}
-
-==> src/SpecificGen/5211_32.json <==
-{
- "k" : 521,
- "c" : 1,
- "n" : 20,
- "w" : 32,
- "ch" : "[0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;0;1]"
-}
diff --git a/third_party/curve25519-donna-c64/LICENSE.md b/third_party/curve25519-donna-c64/LICENSE.md
deleted file mode 100644
index 33a3240ae..000000000
--- a/third_party/curve25519-donna-c64/LICENSE.md
+++ /dev/null
@@ -1,46 +0,0 @@
-Copyright 2008, Google Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-* Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-curve25519-donna: Curve25519 elliptic curve, public key function
-
-http://code.google.com/p/curve25519-donna/
-
-Adam Langley <agl@imperialviolet.org>
-
-Derived from public domain C code by Daniel J. Bernstein <djb@cr.yp.to>
-
-More information about curve25519 can be found here
- http://cr.yp.to/ecdh.html
-
-djb's sample implementation of curve25519 is written in a special assembly
-language called qhasm and uses the floating point registers.
-
-This is, almost, a clean room reimplementation from the curve25519 paper. It
-uses many of the tricks described therein. Only the crecip function is taken
-from the sample implementation.
diff --git a/third_party/curve25519-donna-c64/compiler.sh b/third_party/curve25519-donna-c64/compiler.sh
deleted file mode 100755
index 241111aaf..000000000
--- a/third_party/curve25519-donna-c64/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -lcrypto $@
diff --git a/third_party/curve25519-donna-c64/crypto_scalarmult_bench.c b/third_party/curve25519-donna-c64/crypto_scalarmult_bench.c
deleted file mode 100644
index cf7f91ef2..000000000
--- a/third_party/curve25519-donna-c64/crypto_scalarmult_bench.c
+++ /dev/null
@@ -1,6 +0,0 @@
-extern void curve25519_donna(unsigned char *output, const unsigned char *a,
- const unsigned char *b);
-
-void crypto_scalarmult_bench(unsigned char* buf) {
- curve25519_donna(buf, buf+32, buf+64);
-}
diff --git a/third_party/curve25519-donna-c64/curve25519-donna-c64.c b/third_party/curve25519-donna-c64/curve25519-donna-c64.c
deleted file mode 100644
index 9ebd8a12d..000000000
--- a/third_party/curve25519-donna-c64/curve25519-donna-c64.c
+++ /dev/null
@@ -1,449 +0,0 @@
-/* Copyright 2008, Google Inc.
- * All rights reserved.
- *
- * Code released into the public domain.
- *
- * curve25519-donna: Curve25519 elliptic curve, public key function
- *
- * http://code.google.com/p/curve25519-donna/
- *
- * Adam Langley <agl@imperialviolet.org>
- *
- * Derived from public domain C code by Daniel J. Bernstein <djb@cr.yp.to>
- *
- * More information about curve25519 can be found here
- * http://cr.yp.to/ecdh.html
- *
- * djb's sample implementation of curve25519 is written in a special assembly
- * language called qhasm and uses the floating point registers.
- *
- * This is, almost, a clean room reimplementation from the curve25519 paper. It
- * uses many of the tricks described therein. Only the crecip function is taken
- * from the sample implementation.
- */
-
-#include <string.h>
-#include <stdint.h>
-
-typedef uint8_t u8;
-typedef uint64_t limb;
-typedef limb felem[5];
-// This is a special gcc mode for 128-bit integers. It's implemented on 64-bit
-// platforms only as far as I know.
-typedef unsigned uint128_t __attribute__((mode(TI)));
-
-#undef force_inline
-#define force_inline __attribute__((always_inline))
-
-/* Sum two numbers: output += in */
-static inline void force_inline
-fsum(limb *output, const limb *in) {
- output[0] += in[0];
- output[1] += in[1];
- output[2] += in[2];
- output[3] += in[3];
- output[4] += in[4];
-}
-
-/* Find the difference of two numbers: output = in - output
- * (note the order of the arguments!)
- *
- * Assumes that out[i] < 2**52
- * On return, out[i] < 2**55
- */
-static inline void force_inline
-fdifference_backwards(felem out, const felem in) {
- /* 152 is 19 << 3 */
- static const limb two54m152 = (((limb)1) << 54) - 152;
- static const limb two54m8 = (((limb)1) << 54) - 8;
-
- out[0] = in[0] + two54m152 - out[0];
- out[1] = in[1] + two54m8 - out[1];
- out[2] = in[2] + two54m8 - out[2];
- out[3] = in[3] + two54m8 - out[3];
- out[4] = in[4] + two54m8 - out[4];
-}
-
-/* Multiply a number by a scalar: output = in * scalar */
-static inline void force_inline
-fscalar_product(felem output, const felem in, const limb scalar) {
- uint128_t a;
-
- a = ((uint128_t) in[0]) * scalar;
- output[0] = ((limb)a) & 0x7ffffffffffff;
-
- a = ((uint128_t) in[1]) * scalar + ((limb) (a >> 51));
- output[1] = ((limb)a) & 0x7ffffffffffff;
-
- a = ((uint128_t) in[2]) * scalar + ((limb) (a >> 51));
- output[2] = ((limb)a) & 0x7ffffffffffff;
-
- a = ((uint128_t) in[3]) * scalar + ((limb) (a >> 51));
- output[3] = ((limb)a) & 0x7ffffffffffff;
-
- a = ((uint128_t) in[4]) * scalar + ((limb) (a >> 51));
- output[4] = ((limb)a) & 0x7ffffffffffff;
-
- output[0] += (a >> 51) * 19;
-}
-
-/* Multiply two numbers: output = in2 * in
- *
- * output must be distinct to both inputs. The inputs are reduced coefficient
- * form, the output is not.
- *
- * Assumes that in[i] < 2**55 and likewise for in2.
- * On return, output[i] < 2**52
- */
-static inline void force_inline
-fmul(felem output, const felem in2, const felem in) {
- uint128_t t[5];
- limb r0,r1,r2,r3,r4,s0,s1,s2,s3,s4,c;
-
- r0 = in[0];
- r1 = in[1];
- r2 = in[2];
- r3 = in[3];
- r4 = in[4];
-
- s0 = in2[0];
- s1 = in2[1];
- s2 = in2[2];
- s3 = in2[3];
- s4 = in2[4];
-
- t[0] = ((uint128_t) r0) * s0;
- t[1] = ((uint128_t) r0) * s1 + ((uint128_t) r1) * s0;
- t[2] = ((uint128_t) r0) * s2 + ((uint128_t) r2) * s0 + ((uint128_t) r1) * s1;
- t[3] = ((uint128_t) r0) * s3 + ((uint128_t) r3) * s0 + ((uint128_t) r1) * s2 + ((uint128_t) r2) * s1;
- t[4] = ((uint128_t) r0) * s4 + ((uint128_t) r4) * s0 + ((uint128_t) r3) * s1 + ((uint128_t) r1) * s3 + ((uint128_t) r2) * s2;
-
- r4 *= 19;
- r1 *= 19;
- r2 *= 19;
- r3 *= 19;
-
- t[0] += ((uint128_t) r4) * s1 + ((uint128_t) r1) * s4 + ((uint128_t) r2) * s3 + ((uint128_t) r3) * s2;
- t[1] += ((uint128_t) r4) * s2 + ((uint128_t) r2) * s4 + ((uint128_t) r3) * s3;
- t[2] += ((uint128_t) r4) * s3 + ((uint128_t) r3) * s4;
- t[3] += ((uint128_t) r4) * s4;
-
- r0 = (limb)t[0] & 0x7ffffffffffff; c = (limb)(t[0] >> 51);
- t[1] += c; r1 = (limb)t[1] & 0x7ffffffffffff; c = (limb)(t[1] >> 51);
- t[2] += c; r2 = (limb)t[2] & 0x7ffffffffffff; c = (limb)(t[2] >> 51);
- t[3] += c; r3 = (limb)t[3] & 0x7ffffffffffff; c = (limb)(t[3] >> 51);
- t[4] += c; r4 = (limb)t[4] & 0x7ffffffffffff; c = (limb)(t[4] >> 51);
- r0 += c * 19; c = r0 >> 51; r0 = r0 & 0x7ffffffffffff;
- r1 += c; c = r1 >> 51; r1 = r1 & 0x7ffffffffffff;
- r2 += c;
-
- output[0] = r0;
- output[1] = r1;
- output[2] = r2;
- output[3] = r3;
- output[4] = r4;
-}
-
-static inline void force_inline
-fsquare_times(felem output, const felem in, limb count) {
- uint128_t t[5];
- limb r0,r1,r2,r3,r4,c;
- limb d0,d1,d2,d4,d419;
-
- r0 = in[0];
- r1 = in[1];
- r2 = in[2];
- r3 = in[3];
- r4 = in[4];
-
- do {
- d0 = r0 * 2;
- d1 = r1 * 2;
- d2 = r2 * 2 * 19;
- d419 = r4 * 19;
- d4 = d419 * 2;
-
- t[0] = ((uint128_t) r0) * r0 + ((uint128_t) d4) * r1 + (((uint128_t) d2) * (r3 ));
- t[1] = ((uint128_t) d0) * r1 + ((uint128_t) d4) * r2 + (((uint128_t) r3) * (r3 * 19));
- t[2] = ((uint128_t) d0) * r2 + ((uint128_t) r1) * r1 + (((uint128_t) d4) * (r3 ));
- t[3] = ((uint128_t) d0) * r3 + ((uint128_t) d1) * r2 + (((uint128_t) r4) * (d419 ));
- t[4] = ((uint128_t) d0) * r4 + ((uint128_t) d1) * r3 + (((uint128_t) r2) * (r2 ));
-
- r0 = (limb)t[0] & 0x7ffffffffffff; c = (limb)(t[0] >> 51);
- t[1] += c; r1 = (limb)t[1] & 0x7ffffffffffff; c = (limb)(t[1] >> 51);
- t[2] += c; r2 = (limb)t[2] & 0x7ffffffffffff; c = (limb)(t[2] >> 51);
- t[3] += c; r3 = (limb)t[3] & 0x7ffffffffffff; c = (limb)(t[3] >> 51);
- t[4] += c; r4 = (limb)t[4] & 0x7ffffffffffff; c = (limb)(t[4] >> 51);
- r0 += c * 19; c = r0 >> 51; r0 = r0 & 0x7ffffffffffff;
- r1 += c; c = r1 >> 51; r1 = r1 & 0x7ffffffffffff;
- r2 += c;
- } while(--count);
-
- output[0] = r0;
- output[1] = r1;
- output[2] = r2;
- output[3] = r3;
- output[4] = r4;
-}
-
-/* Load a little-endian 64-bit number */
-static limb
-load_limb(const u8 *in) {
- return
- ((limb)in[0]) |
- (((limb)in[1]) << 8) |
- (((limb)in[2]) << 16) |
- (((limb)in[3]) << 24) |
- (((limb)in[4]) << 32) |
- (((limb)in[5]) << 40) |
- (((limb)in[6]) << 48) |
- (((limb)in[7]) << 56);
-}
-
-static void
-store_limb(u8 *out, limb in) {
- out[0] = in & 0xff;
- out[1] = (in >> 8) & 0xff;
- out[2] = (in >> 16) & 0xff;
- out[3] = (in >> 24) & 0xff;
- out[4] = (in >> 32) & 0xff;
- out[5] = (in >> 40) & 0xff;
- out[6] = (in >> 48) & 0xff;
- out[7] = (in >> 56) & 0xff;
-}
-
-/* Take a little-endian, 32-byte number and expand it into polynomial form */
-static void
-fexpand(limb *output, const u8 *in) {
- output[0] = load_limb(in) & 0x7ffffffffffff;
- output[1] = (load_limb(in+6) >> 3) & 0x7ffffffffffff;
- output[2] = (load_limb(in+12) >> 6) & 0x7ffffffffffff;
- output[3] = (load_limb(in+19) >> 1) & 0x7ffffffffffff;
- output[4] = (load_limb(in+24) >> 12) & 0x7ffffffffffff;
-}
-
-/* Take a fully reduced polynomial form number and contract it into a
- * little-endian, 32-byte array
- */
-static void
-fcontract(u8 *output, const felem input) {
- uint128_t t[5];
-
- t[0] = input[0];
- t[1] = input[1];
- t[2] = input[2];
- t[3] = input[3];
- t[4] = input[4];
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- /* now t is between 0 and 2^255-1, properly carried. */
- /* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */
-
- t[0] += 19;
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
-
- /* now between 19 and 2^255-1 in both cases, and offset by 19. */
-
- t[0] += 0x8000000000000 - 19;
- t[1] += 0x8000000000000 - 1;
- t[2] += 0x8000000000000 - 1;
- t[3] += 0x8000000000000 - 1;
- t[4] += 0x8000000000000 - 1;
-
- /* now between 2^255 and 2^256-20, and offset by 2^255. */
-
- t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
- t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
- t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
- t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
- t[4] &= 0x7ffffffffffff;
-
- store_limb(output, t[0] | (t[1] << 51));
- store_limb(output+8, (t[1] >> 13) | (t[2] << 38));
- store_limb(output+16, (t[2] >> 26) | (t[3] << 25));
- store_limb(output+24, (t[3] >> 39) | (t[4] << 12));
-}
-
-/* Input: Q, Q', Q-Q'
- * Output: 2Q, Q+Q'
- *
- * x2 z3: long form
- * x3 z3: long form
- * x z: short form, destroyed
- * xprime zprime: short form, destroyed
- * qmqp: short form, preserved
- */
-static void
-fmonty(limb *x2, limb *z2, /* output 2Q */
- limb *x3, limb *z3, /* output Q + Q' */
- limb *x, limb *z, /* input Q */
- limb *xprime, limb *zprime, /* input Q' */
- const limb *qmqp /* input Q - Q' */) {
- limb origx[5], origxprime[5], zzz[5], xx[5], zz[5], xxprime[5],
- zzprime[5], zzzprime[5];
-
- memcpy(origx, x, 5 * sizeof(limb));
- fsum(x, z);
- fdifference_backwards(z, origx); // does x - z
-
- memcpy(origxprime, xprime, sizeof(limb) * 5);
- fsum(xprime, zprime);
- fdifference_backwards(zprime, origxprime);
- fmul(xxprime, xprime, z);
- fmul(zzprime, x, zprime);
- memcpy(origxprime, xxprime, sizeof(limb) * 5);
- fsum(xxprime, zzprime);
- fdifference_backwards(zzprime, origxprime);
- fsquare_times(x3, xxprime, 1);
- fsquare_times(zzzprime, zzprime, 1);
- fmul(z3, zzzprime, qmqp);
-
- fsquare_times(xx, x, 1);
- fsquare_times(zz, z, 1);
- fmul(x2, xx, zz);
- fdifference_backwards(zz, xx); // does zz = xx - zz
- fscalar_product(zzz, zz, 121665);
- fsum(zzz, xx);
- fmul(z2, zz, zzz);
-}
-
-// -----------------------------------------------------------------------------
-// Maybe swap the contents of two limb arrays (@a and @b), each @len elements
-// long. Perform the swap iff @swap is non-zero.
-//
-// This function performs the swap without leaking any side-channel
-// information.
-// -----------------------------------------------------------------------------
-static void
-swap_conditional(limb a[5], limb b[5], limb iswap) {
- unsigned i;
- const limb swap = -iswap;
-
- for (i = 0; i < 5; ++i) {
- const limb x = swap & (a[i] ^ b[i]);
- a[i] ^= x;
- b[i] ^= x;
- }
-}
-
-/* Calculates nQ where Q is the x-coordinate of a point on the curve
- *
- * resultx/resultz: the x coordinate of the resulting curve point (short form)
- * n: a little endian, 32-byte number
- * q: a point of the curve (short form)
- */
-static void
-cmult(limb *resultx, limb *resultz, const u8 *n, const limb *q) {
- limb a[5] = {0}, b[5] = {1}, c[5] = {1}, d[5] = {0};
- limb *nqpqx = a, *nqpqz = b, *nqx = c, *nqz = d, *t;
- limb e[5] = {0}, f[5] = {1}, g[5] = {0}, h[5] = {1};
- limb *nqpqx2 = e, *nqpqz2 = f, *nqx2 = g, *nqz2 = h;
-
- unsigned i, j;
-
- memcpy(nqpqx, q, sizeof(limb) * 5);
-
- for (i = 0; i < 32; ++i) {
- u8 byte = n[31 - i];
- for (j = 0; j < 8; ++j) {
- const limb bit = byte >> 7;
-
- swap_conditional(nqx, nqpqx, bit);
- swap_conditional(nqz, nqpqz, bit);
- fmonty(nqx2, nqz2,
- nqpqx2, nqpqz2,
- nqx, nqz,
- nqpqx, nqpqz,
- q);
- swap_conditional(nqx2, nqpqx2, bit);
- swap_conditional(nqz2, nqpqz2, bit);
-
- t = nqx;
- nqx = nqx2;
- nqx2 = t;
- t = nqz;
- nqz = nqz2;
- nqz2 = t;
- t = nqpqx;
- nqpqx = nqpqx2;
- nqpqx2 = t;
- t = nqpqz;
- nqpqz = nqpqz2;
- nqpqz2 = t;
-
- byte <<= 1;
- }
- }
-
- memcpy(resultx, nqx, sizeof(limb) * 5);
- memcpy(resultz, nqz, sizeof(limb) * 5);
-}
-
-
-// -----------------------------------------------------------------------------
-// Shamelessly copied from djb's code, tightened a little
-// -----------------------------------------------------------------------------
-static void
-crecip(felem out, const felem z) {
- felem a,t0,b,c;
-
- /* 2 */ fsquare_times(a, z, 1); // a = 2
- /* 8 */ fsquare_times(t0, a, 2);
- /* 9 */ fmul(b, t0, z); // b = 9
- /* 11 */ fmul(a, b, a); // a = 11
- /* 22 */ fsquare_times(t0, a, 1);
- /* 2^5 - 2^0 = 31 */ fmul(b, t0, b);
- /* 2^10 - 2^5 */ fsquare_times(t0, b, 5);
- /* 2^10 - 2^0 */ fmul(b, t0, b);
- /* 2^20 - 2^10 */ fsquare_times(t0, b, 10);
- /* 2^20 - 2^0 */ fmul(c, t0, b);
- /* 2^40 - 2^20 */ fsquare_times(t0, c, 20);
- /* 2^40 - 2^0 */ fmul(t0, t0, c);
- /* 2^50 - 2^10 */ fsquare_times(t0, t0, 10);
- /* 2^50 - 2^0 */ fmul(b, t0, b);
- /* 2^100 - 2^50 */ fsquare_times(t0, b, 50);
- /* 2^100 - 2^0 */ fmul(c, t0, b);
- /* 2^200 - 2^100 */ fsquare_times(t0, c, 100);
- /* 2^200 - 2^0 */ fmul(t0, t0, c);
- /* 2^250 - 2^50 */ fsquare_times(t0, t0, 50);
- /* 2^250 - 2^0 */ fmul(t0, t0, b);
- /* 2^255 - 2^5 */ fsquare_times(t0, t0, 5);
- /* 2^255 - 21 */ fmul(out, t0, a);
-}
-
-int curve25519_donna(u8 *, const u8 *, const u8 *);
-
-int
-curve25519_donna(u8 *mypublic, const u8 *secret, const u8 *basepoint) {
- limb bp[5], x[5], z[5], zmone[5];
- uint8_t e[32];
- int i;
-
- for (i = 0;i < 32;++i) e[i] = secret[i];
- e[0] &= 248;
- e[31] &= 127;
- e[31] |= 64;
-
- fexpand(bp, basepoint);
- cmult(x, z, e, bp);
- crecip(zmone, z);
- fmul(z, x, zmone);
- fcontract(mypublic, z);
- return 0;
-}
diff --git a/third_party/curve25519-donna-c64/measurements.txt b/third_party/curve25519-donna-c64/measurements.txt
deleted file mode 100644
index 532cb42ad..000000000
--- a/third_party/curve25519-donna-c64/measurements.txt
+++ /dev/null
@@ -1 +0,0 @@
-361993 =363028*3.50/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 dcf7685+
diff --git a/third_party/openssl-curve25519/LICENSE b/third_party/openssl-curve25519/LICENSE
deleted file mode 100644
index 8fbabd8af..000000000
--- a/third_party/openssl-curve25519/LICENSE
+++ /dev/null
@@ -1,125 +0,0 @@
-
- LICENSE ISSUES
- ==============
-
- The OpenSSL toolkit stays under a double license, i.e. both the conditions of
- the OpenSSL License and the original SSLeay license apply to the toolkit.
- See below for the actual license texts.
-
- OpenSSL License
- ---------------
-
-/* ====================================================================
- * Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
- Original SSLeay License
- -----------------------
-
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
diff --git a/third_party/openssl-curve25519/compiler.sh b/third_party/openssl-curve25519/compiler.sh
deleted file mode 100755
index 241111aaf..000000000
--- a/third_party/openssl-curve25519/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes -lcrypto $@
diff --git a/third_party/openssl-curve25519/crypto_scalarmult_bench.c b/third_party/openssl-curve25519/crypto_scalarmult_bench.c
deleted file mode 100644
index b7d717158..000000000
--- a/third_party/openssl-curve25519/crypto_scalarmult_bench.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "ec_curve25519.h"
-
-void crypto_scalarmult_bench(unsigned char* buf) {
- x25519_scalar_mult(buf, buf+32, buf+64);
-}
diff --git a/third_party/openssl-curve25519/ec_curve25519.c b/third_party/openssl-curve25519/ec_curve25519.c
deleted file mode 100644
index 7d00cc53f..000000000
--- a/third_party/openssl-curve25519/ec_curve25519.c
+++ /dev/null
@@ -1,1126 +0,0 @@
-/*
- * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License"). You may not use
- * this file except in compliance with the License. You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-/* This code is mostly taken from the ref10 version of Ed25519 in SUPERCOP
- * 20141124 (http://bench.cr.yp.to/supercop.html).
- *
- * The field functions are shared by Ed25519 and X25519 where possible. */
-
-#include <stdint.h>
-#include <string.h>
-#include "ec_curve25519.h"
-
-
-/* fe means field element. Here the field is \Z/(2^255-19). An element t,
- * entries t[0]...t[9], represents the integer t[0]+2^26 t[1]+2^51 t[2]+2^77
- * t[3]+2^102 t[4]+...+2^230 t[9]. Bounds on each t[i] vary depending on
- * context. */
-typedef int32_t fe[10];
-
-static const int64_t kBottom25Bits = 0x1ffffffLL;
-static const int64_t kBottom26Bits = 0x3ffffffLL;
-static const int64_t kTop39Bits = 0xfffffffffe000000LL;
-static const int64_t kTop38Bits = 0xfffffffffc000000LL;
-
-static uint64_t load_3(const uint8_t *in) {
- uint64_t result;
- result = (uint64_t)in[0];
- result |= ((uint64_t)in[1]) << 8;
- result |= ((uint64_t)in[2]) << 16;
- return result;
-}
-
-static uint64_t load_4(const uint8_t *in) {
- uint64_t result;
- result = (uint64_t)in[0];
- result |= ((uint64_t)in[1]) << 8;
- result |= ((uint64_t)in[2]) << 16;
- result |= ((uint64_t)in[3]) << 24;
- return result;
-}
-
-static void fe_frombytes(fe h, const uint8_t *s) {
- /* Ignores top bit of h. */
- int64_t h0 = load_4(s);
- int64_t h1 = load_3(s + 4) << 6;
- int64_t h2 = load_3(s + 7) << 5;
- int64_t h3 = load_3(s + 10) << 3;
- int64_t h4 = load_3(s + 13) << 2;
- int64_t h5 = load_4(s + 16);
- int64_t h6 = load_3(s + 20) << 7;
- int64_t h7 = load_3(s + 23) << 5;
- int64_t h8 = load_3(s + 26) << 4;
- int64_t h9 = (load_3(s + 29) & 8388607) << 2;
- int64_t carry0;
- int64_t carry1;
- int64_t carry2;
- int64_t carry3;
- int64_t carry4;
- int64_t carry5;
- int64_t carry6;
- int64_t carry7;
- int64_t carry8;
- int64_t carry9;
-
- carry9 = h9 + (1 << 24); h0 += (carry9 >> 25) * 19; h9 -= carry9 & kTop39Bits;
- carry1 = h1 + (1 << 24); h2 += carry1 >> 25; h1 -= carry1 & kTop39Bits;
- carry3 = h3 + (1 << 24); h4 += carry3 >> 25; h3 -= carry3 & kTop39Bits;
- carry5 = h5 + (1 << 24); h6 += carry5 >> 25; h5 -= carry5 & kTop39Bits;
- carry7 = h7 + (1 << 24); h8 += carry7 >> 25; h7 -= carry7 & kTop39Bits;
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
- carry2 = h2 + (1 << 25); h3 += carry2 >> 26; h2 -= carry2 & kTop38Bits;
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
- carry6 = h6 + (1 << 25); h7 += carry6 >> 26; h6 -= carry6 & kTop38Bits;
- carry8 = h8 + (1 << 25); h9 += carry8 >> 26; h8 -= carry8 & kTop38Bits;
-
- h[0] = h0;
- h[1] = h1;
- h[2] = h2;
- h[3] = h3;
- h[4] = h4;
- h[5] = h5;
- h[6] = h6;
- h[7] = h7;
- h[8] = h8;
- h[9] = h9;
-}
-
-/* Preconditions:
- * |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
- *
- * Write p=2^255-19; q=floor(h/p).
- * Basic claim: q = floor(2^(-255)(h + 19 2^(-25)h9 + 2^(-1))).
- *
- * Proof:
- * Have |h|<=p so |q|<=1 so |19^2 2^(-255) q|<1/4.
- * Also have |h-2^230 h9|<2^231 so |19 2^(-255)(h-2^230 h9)|<1/4.
- *
- * Write y=2^(-1)-19^2 2^(-255)q-19 2^(-255)(h-2^230 h9).
- * Then 0<y<1.
- *
- * Write r=h-pq.
- * Have 0<=r<=p-1=2^255-20.
- * Thus 0<=r+19(2^-255)r<r+19(2^-255)2^255<=2^255-1.
- *
- * Write x=r+19(2^-255)r+y.
- * Then 0<x<2^255 so floor(2^(-255)x) = 0 so floor(q+2^(-255)x) = q.
- *
- * Have q+2^(-255)x = 2^(-255)(h + 19 2^(-25) h9 + 2^(-1))
- * so floor(2^(-255)(h + 19 2^(-25) h9 + 2^(-1))) = q. */
-static void fe_tobytes(uint8_t *s, const fe h) {
- int32_t h0 = h[0];
- int32_t h1 = h[1];
- int32_t h2 = h[2];
- int32_t h3 = h[3];
- int32_t h4 = h[4];
- int32_t h5 = h[5];
- int32_t h6 = h[6];
- int32_t h7 = h[7];
- int32_t h8 = h[8];
- int32_t h9 = h[9];
- int32_t q;
-
- q = (19 * h9 + (((int32_t) 1) << 24)) >> 25;
- q = (h0 + q) >> 26;
- q = (h1 + q) >> 25;
- q = (h2 + q) >> 26;
- q = (h3 + q) >> 25;
- q = (h4 + q) >> 26;
- q = (h5 + q) >> 25;
- q = (h6 + q) >> 26;
- q = (h7 + q) >> 25;
- q = (h8 + q) >> 26;
- q = (h9 + q) >> 25;
-
- /* Goal: Output h-(2^255-19)q, which is between 0 and 2^255-20. */
- h0 += 19 * q;
- /* Goal: Output h-2^255 q, which is between 0 and 2^255-20. */
-
- h1 += h0 >> 26; h0 &= kBottom26Bits;
- h2 += h1 >> 25; h1 &= kBottom25Bits;
- h3 += h2 >> 26; h2 &= kBottom26Bits;
- h4 += h3 >> 25; h3 &= kBottom25Bits;
- h5 += h4 >> 26; h4 &= kBottom26Bits;
- h6 += h5 >> 25; h5 &= kBottom25Bits;
- h7 += h6 >> 26; h6 &= kBottom26Bits;
- h8 += h7 >> 25; h7 &= kBottom25Bits;
- h9 += h8 >> 26; h8 &= kBottom26Bits;
- h9 &= kBottom25Bits;
- /* h10 = carry9 */
-
- /* Goal: Output h0+...+2^255 h10-2^255 q, which is between 0 and 2^255-20.
- * Have h0+...+2^230 h9 between 0 and 2^255-1;
- * evidently 2^255 h10-2^255 q = 0.
- * Goal: Output h0+...+2^230 h9. */
-
- s[0] = h0 >> 0;
- s[1] = h0 >> 8;
- s[2] = h0 >> 16;
- s[3] = (h0 >> 24) | ((uint32_t)(h1) << 2);
- s[4] = h1 >> 6;
- s[5] = h1 >> 14;
- s[6] = (h1 >> 22) | ((uint32_t)(h2) << 3);
- s[7] = h2 >> 5;
- s[8] = h2 >> 13;
- s[9] = (h2 >> 21) | ((uint32_t)(h3) << 5);
- s[10] = h3 >> 3;
- s[11] = h3 >> 11;
- s[12] = (h3 >> 19) | ((uint32_t)(h4) << 6);
- s[13] = h4 >> 2;
- s[14] = h4 >> 10;
- s[15] = h4 >> 18;
- s[16] = h5 >> 0;
- s[17] = h5 >> 8;
- s[18] = h5 >> 16;
- s[19] = (h5 >> 24) | ((uint32_t)(h6) << 1);
- s[20] = h6 >> 7;
- s[21] = h6 >> 15;
- s[22] = (h6 >> 23) | ((uint32_t)(h7) << 3);
- s[23] = h7 >> 5;
- s[24] = h7 >> 13;
- s[25] = (h7 >> 21) | ((uint32_t)(h8) << 4);
- s[26] = h8 >> 4;
- s[27] = h8 >> 12;
- s[28] = (h8 >> 20) | ((uint32_t)(h9) << 6);
- s[29] = h9 >> 2;
- s[30] = h9 >> 10;
- s[31] = h9 >> 18;
-}
-
-/* h = f */
-static void fe_copy(fe h, const fe f) {
- memmove(h, f, sizeof(int32_t) * 10);
-}
-
-/* h = 0 */
-static void fe_0(fe h) { memset(h, 0, sizeof(int32_t) * 10); }
-
-/* h = 1 */
-static void fe_1(fe h) {
- memset(h, 0, sizeof(int32_t) * 10);
- h[0] = 1;
-}
-
-/* h = f + g
- * Can overlap h with f or g.
- *
- * Preconditions:
- * |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
- * |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
- *
- * Postconditions:
- * |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. */
-static void fe_add(fe h, const fe f, const fe g) {
- unsigned i;
- for (i = 0; i < 10; i++) {
- h[i] = f[i] + g[i];
- }
-}
-
-/* h = f - g
- * Can overlap h with f or g.
- *
- * Preconditions:
- * |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
- * |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
- *
- * Postconditions:
- * |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. */
-static void fe_sub(fe h, const fe f, const fe g) {
- unsigned i;
- for (i = 0; i < 10; i++) {
- h[i] = f[i] - g[i];
- }
-}
-
-/* h = f * g
- * Can overlap h with f or g.
- *
- * Preconditions:
- * |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
- * |g| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
- *
- * Postconditions:
- * |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc.
- *
- * Notes on implementation strategy:
- *
- * Using schoolbook multiplication.
- * Karatsuba would save a little in some cost models.
- *
- * Most multiplications by 2 and 19 are 32-bit precomputations;
- * cheaper than 64-bit postcomputations.
- *
- * There is one remaining multiplication by 19 in the carry chain;
- * one *19 precomputation can be merged into this,
- * but the resulting data flow is considerably less clean.
- *
- * There are 12 carries below.
- * 10 of them are 2-way parallelizable and vectorizable.
- * Can get away with 11 carries, but then data flow is much deeper.
- *
- * With tighter constraints on inputs can squeeze carries into int32. */
-static void fe_mul(fe h, const fe f, const fe g) {
- int32_t f0 = f[0];
- int32_t f1 = f[1];
- int32_t f2 = f[2];
- int32_t f3 = f[3];
- int32_t f4 = f[4];
- int32_t f5 = f[5];
- int32_t f6 = f[6];
- int32_t f7 = f[7];
- int32_t f8 = f[8];
- int32_t f9 = f[9];
- int32_t g0 = g[0];
- int32_t g1 = g[1];
- int32_t g2 = g[2];
- int32_t g3 = g[3];
- int32_t g4 = g[4];
- int32_t g5 = g[5];
- int32_t g6 = g[6];
- int32_t g7 = g[7];
- int32_t g8 = g[8];
- int32_t g9 = g[9];
- int32_t g1_19 = 19 * g1; /* 1.959375*2^29 */
- int32_t g2_19 = 19 * g2; /* 1.959375*2^30; still ok */
- int32_t g3_19 = 19 * g3;
- int32_t g4_19 = 19 * g4;
- int32_t g5_19 = 19 * g5;
- int32_t g6_19 = 19 * g6;
- int32_t g7_19 = 19 * g7;
- int32_t g8_19 = 19 * g8;
- int32_t g9_19 = 19 * g9;
- int32_t f1_2 = 2 * f1;
- int32_t f3_2 = 2 * f3;
- int32_t f5_2 = 2 * f5;
- int32_t f7_2 = 2 * f7;
- int32_t f9_2 = 2 * f9;
- int64_t f0g0 = f0 * (int64_t) g0;
- int64_t f0g1 = f0 * (int64_t) g1;
- int64_t f0g2 = f0 * (int64_t) g2;
- int64_t f0g3 = f0 * (int64_t) g3;
- int64_t f0g4 = f0 * (int64_t) g4;
- int64_t f0g5 = f0 * (int64_t) g5;
- int64_t f0g6 = f0 * (int64_t) g6;
- int64_t f0g7 = f0 * (int64_t) g7;
- int64_t f0g8 = f0 * (int64_t) g8;
- int64_t f0g9 = f0 * (int64_t) g9;
- int64_t f1g0 = f1 * (int64_t) g0;
- int64_t f1g1_2 = f1_2 * (int64_t) g1;
- int64_t f1g2 = f1 * (int64_t) g2;
- int64_t f1g3_2 = f1_2 * (int64_t) g3;
- int64_t f1g4 = f1 * (int64_t) g4;
- int64_t f1g5_2 = f1_2 * (int64_t) g5;
- int64_t f1g6 = f1 * (int64_t) g6;
- int64_t f1g7_2 = f1_2 * (int64_t) g7;
- int64_t f1g8 = f1 * (int64_t) g8;
- int64_t f1g9_38 = f1_2 * (int64_t) g9_19;
- int64_t f2g0 = f2 * (int64_t) g0;
- int64_t f2g1 = f2 * (int64_t) g1;
- int64_t f2g2 = f2 * (int64_t) g2;
- int64_t f2g3 = f2 * (int64_t) g3;
- int64_t f2g4 = f2 * (int64_t) g4;
- int64_t f2g5 = f2 * (int64_t) g5;
- int64_t f2g6 = f2 * (int64_t) g6;
- int64_t f2g7 = f2 * (int64_t) g7;
- int64_t f2g8_19 = f2 * (int64_t) g8_19;
- int64_t f2g9_19 = f2 * (int64_t) g9_19;
- int64_t f3g0 = f3 * (int64_t) g0;
- int64_t f3g1_2 = f3_2 * (int64_t) g1;
- int64_t f3g2 = f3 * (int64_t) g2;
- int64_t f3g3_2 = f3_2 * (int64_t) g3;
- int64_t f3g4 = f3 * (int64_t) g4;
- int64_t f3g5_2 = f3_2 * (int64_t) g5;
- int64_t f3g6 = f3 * (int64_t) g6;
- int64_t f3g7_38 = f3_2 * (int64_t) g7_19;
- int64_t f3g8_19 = f3 * (int64_t) g8_19;
- int64_t f3g9_38 = f3_2 * (int64_t) g9_19;
- int64_t f4g0 = f4 * (int64_t) g0;
- int64_t f4g1 = f4 * (int64_t) g1;
- int64_t f4g2 = f4 * (int64_t) g2;
- int64_t f4g3 = f4 * (int64_t) g3;
- int64_t f4g4 = f4 * (int64_t) g4;
- int64_t f4g5 = f4 * (int64_t) g5;
- int64_t f4g6_19 = f4 * (int64_t) g6_19;
- int64_t f4g7_19 = f4 * (int64_t) g7_19;
- int64_t f4g8_19 = f4 * (int64_t) g8_19;
- int64_t f4g9_19 = f4 * (int64_t) g9_19;
- int64_t f5g0 = f5 * (int64_t) g0;
- int64_t f5g1_2 = f5_2 * (int64_t) g1;
- int64_t f5g2 = f5 * (int64_t) g2;
- int64_t f5g3_2 = f5_2 * (int64_t) g3;
- int64_t f5g4 = f5 * (int64_t) g4;
- int64_t f5g5_38 = f5_2 * (int64_t) g5_19;
- int64_t f5g6_19 = f5 * (int64_t) g6_19;
- int64_t f5g7_38 = f5_2 * (int64_t) g7_19;
- int64_t f5g8_19 = f5 * (int64_t) g8_19;
- int64_t f5g9_38 = f5_2 * (int64_t) g9_19;
- int64_t f6g0 = f6 * (int64_t) g0;
- int64_t f6g1 = f6 * (int64_t) g1;
- int64_t f6g2 = f6 * (int64_t) g2;
- int64_t f6g3 = f6 * (int64_t) g3;
- int64_t f6g4_19 = f6 * (int64_t) g4_19;
- int64_t f6g5_19 = f6 * (int64_t) g5_19;
- int64_t f6g6_19 = f6 * (int64_t) g6_19;
- int64_t f6g7_19 = f6 * (int64_t) g7_19;
- int64_t f6g8_19 = f6 * (int64_t) g8_19;
- int64_t f6g9_19 = f6 * (int64_t) g9_19;
- int64_t f7g0 = f7 * (int64_t) g0;
- int64_t f7g1_2 = f7_2 * (int64_t) g1;
- int64_t f7g2 = f7 * (int64_t) g2;
- int64_t f7g3_38 = f7_2 * (int64_t) g3_19;
- int64_t f7g4_19 = f7 * (int64_t) g4_19;
- int64_t f7g5_38 = f7_2 * (int64_t) g5_19;
- int64_t f7g6_19 = f7 * (int64_t) g6_19;
- int64_t f7g7_38 = f7_2 * (int64_t) g7_19;
- int64_t f7g8_19 = f7 * (int64_t) g8_19;
- int64_t f7g9_38 = f7_2 * (int64_t) g9_19;
- int64_t f8g0 = f8 * (int64_t) g0;
- int64_t f8g1 = f8 * (int64_t) g1;
- int64_t f8g2_19 = f8 * (int64_t) g2_19;
- int64_t f8g3_19 = f8 * (int64_t) g3_19;
- int64_t f8g4_19 = f8 * (int64_t) g4_19;
- int64_t f8g5_19 = f8 * (int64_t) g5_19;
- int64_t f8g6_19 = f8 * (int64_t) g6_19;
- int64_t f8g7_19 = f8 * (int64_t) g7_19;
- int64_t f8g8_19 = f8 * (int64_t) g8_19;
- int64_t f8g9_19 = f8 * (int64_t) g9_19;
- int64_t f9g0 = f9 * (int64_t) g0;
- int64_t f9g1_38 = f9_2 * (int64_t) g1_19;
- int64_t f9g2_19 = f9 * (int64_t) g2_19;
- int64_t f9g3_38 = f9_2 * (int64_t) g3_19;
- int64_t f9g4_19 = f9 * (int64_t) g4_19;
- int64_t f9g5_38 = f9_2 * (int64_t) g5_19;
- int64_t f9g6_19 = f9 * (int64_t) g6_19;
- int64_t f9g7_38 = f9_2 * (int64_t) g7_19;
- int64_t f9g8_19 = f9 * (int64_t) g8_19;
- int64_t f9g9_38 = f9_2 * (int64_t) g9_19;
- int64_t h0 = f0g0+f1g9_38+f2g8_19+f3g7_38+f4g6_19+f5g5_38+f6g4_19+f7g3_38+f8g2_19+f9g1_38;
- int64_t h1 = f0g1+f1g0 +f2g9_19+f3g8_19+f4g7_19+f5g6_19+f6g5_19+f7g4_19+f8g3_19+f9g2_19;
- int64_t h2 = f0g2+f1g1_2 +f2g0 +f3g9_38+f4g8_19+f5g7_38+f6g6_19+f7g5_38+f8g4_19+f9g3_38;
- int64_t h3 = f0g3+f1g2 +f2g1 +f3g0 +f4g9_19+f5g8_19+f6g7_19+f7g6_19+f8g5_19+f9g4_19;
- int64_t h4 = f0g4+f1g3_2 +f2g2 +f3g1_2 +f4g0 +f5g9_38+f6g8_19+f7g7_38+f8g6_19+f9g5_38;
- int64_t h5 = f0g5+f1g4 +f2g3 +f3g2 +f4g1 +f5g0 +f6g9_19+f7g8_19+f8g7_19+f9g6_19;
- int64_t h6 = f0g6+f1g5_2 +f2g4 +f3g3_2 +f4g2 +f5g1_2 +f6g0 +f7g9_38+f8g8_19+f9g7_38;
- int64_t h7 = f0g7+f1g6 +f2g5 +f3g4 +f4g3 +f5g2 +f6g1 +f7g0 +f8g9_19+f9g8_19;
- int64_t h8 = f0g8+f1g7_2 +f2g6 +f3g5_2 +f4g4 +f5g3_2 +f6g2 +f7g1_2 +f8g0 +f9g9_38;
- int64_t h9 = f0g9+f1g8 +f2g7 +f3g6 +f4g5 +f5g4 +f6g3 +f7g2 +f8g1 +f9g0 ;
- int64_t carry0;
- int64_t carry1;
- int64_t carry2;
- int64_t carry3;
- int64_t carry4;
- int64_t carry5;
- int64_t carry6;
- int64_t carry7;
- int64_t carry8;
- int64_t carry9;
-
- /* |h0| <= (1.65*1.65*2^52*(1+19+19+19+19)+1.65*1.65*2^50*(38+38+38+38+38))
- * i.e. |h0| <= 1.4*2^60; narrower ranges for h2, h4, h6, h8
- * |h1| <= (1.65*1.65*2^51*(1+1+19+19+19+19+19+19+19+19))
- * i.e. |h1| <= 1.7*2^59; narrower ranges for h3, h5, h7, h9 */
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
- /* |h0| <= 2^25 */
- /* |h4| <= 2^25 */
- /* |h1| <= 1.71*2^59 */
- /* |h5| <= 1.71*2^59 */
-
- carry1 = h1 + (1 << 24); h2 += carry1 >> 25; h1 -= carry1 & kTop39Bits;
- carry5 = h5 + (1 << 24); h6 += carry5 >> 25; h5 -= carry5 & kTop39Bits;
- /* |h1| <= 2^24; from now on fits into int32 */
- /* |h5| <= 2^24; from now on fits into int32 */
- /* |h2| <= 1.41*2^60 */
- /* |h6| <= 1.41*2^60 */
-
- carry2 = h2 + (1 << 25); h3 += carry2 >> 26; h2 -= carry2 & kTop38Bits;
- carry6 = h6 + (1 << 25); h7 += carry6 >> 26; h6 -= carry6 & kTop38Bits;
- /* |h2| <= 2^25; from now on fits into int32 unchanged */
- /* |h6| <= 2^25; from now on fits into int32 unchanged */
- /* |h3| <= 1.71*2^59 */
- /* |h7| <= 1.71*2^59 */
-
- carry3 = h3 + (1 << 24); h4 += carry3 >> 25; h3 -= carry3 & kTop39Bits;
- carry7 = h7 + (1 << 24); h8 += carry7 >> 25; h7 -= carry7 & kTop39Bits;
- /* |h3| <= 2^24; from now on fits into int32 unchanged */
- /* |h7| <= 2^24; from now on fits into int32 unchanged */
- /* |h4| <= 1.72*2^34 */
- /* |h8| <= 1.41*2^60 */
-
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
- carry8 = h8 + (1 << 25); h9 += carry8 >> 26; h8 -= carry8 & kTop38Bits;
- /* |h4| <= 2^25; from now on fits into int32 unchanged */
- /* |h8| <= 2^25; from now on fits into int32 unchanged */
- /* |h5| <= 1.01*2^24 */
- /* |h9| <= 1.71*2^59 */
-
- carry9 = h9 + (1 << 24); h0 += (carry9 >> 25) * 19; h9 -= carry9 & kTop39Bits;
- /* |h9| <= 2^24; from now on fits into int32 unchanged */
- /* |h0| <= 1.1*2^39 */
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
- /* |h0| <= 2^25; from now on fits into int32 unchanged */
- /* |h1| <= 1.01*2^24 */
-
- h[0] = h0;
- h[1] = h1;
- h[2] = h2;
- h[3] = h3;
- h[4] = h4;
- h[5] = h5;
- h[6] = h6;
- h[7] = h7;
- h[8] = h8;
- h[9] = h9;
-}
-
-/* h = f * f
- * Can overlap h with f.
- *
- * Preconditions:
- * |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
- *
- * Postconditions:
- * |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc.
- *
- * See fe_mul.c for discussion of implementation strategy. */
-static void fe_sq(fe h, const fe f) {
- int32_t f0 = f[0];
- int32_t f1 = f[1];
- int32_t f2 = f[2];
- int32_t f3 = f[3];
- int32_t f4 = f[4];
- int32_t f5 = f[5];
- int32_t f6 = f[6];
- int32_t f7 = f[7];
- int32_t f8 = f[8];
- int32_t f9 = f[9];
- int32_t f0_2 = 2 * f0;
- int32_t f1_2 = 2 * f1;
- int32_t f2_2 = 2 * f2;
- int32_t f3_2 = 2 * f3;
- int32_t f4_2 = 2 * f4;
- int32_t f5_2 = 2 * f5;
- int32_t f6_2 = 2 * f6;
- int32_t f7_2 = 2 * f7;
- int32_t f5_38 = 38 * f5; /* 1.959375*2^30 */
- int32_t f6_19 = 19 * f6; /* 1.959375*2^30 */
- int32_t f7_38 = 38 * f7; /* 1.959375*2^30 */
- int32_t f8_19 = 19 * f8; /* 1.959375*2^30 */
- int32_t f9_38 = 38 * f9; /* 1.959375*2^30 */
- int64_t f0f0 = f0 * (int64_t) f0;
- int64_t f0f1_2 = f0_2 * (int64_t) f1;
- int64_t f0f2_2 = f0_2 * (int64_t) f2;
- int64_t f0f3_2 = f0_2 * (int64_t) f3;
- int64_t f0f4_2 = f0_2 * (int64_t) f4;
- int64_t f0f5_2 = f0_2 * (int64_t) f5;
- int64_t f0f6_2 = f0_2 * (int64_t) f6;
- int64_t f0f7_2 = f0_2 * (int64_t) f7;
- int64_t f0f8_2 = f0_2 * (int64_t) f8;
- int64_t f0f9_2 = f0_2 * (int64_t) f9;
- int64_t f1f1_2 = f1_2 * (int64_t) f1;
- int64_t f1f2_2 = f1_2 * (int64_t) f2;
- int64_t f1f3_4 = f1_2 * (int64_t) f3_2;
- int64_t f1f4_2 = f1_2 * (int64_t) f4;
- int64_t f1f5_4 = f1_2 * (int64_t) f5_2;
- int64_t f1f6_2 = f1_2 * (int64_t) f6;
- int64_t f1f7_4 = f1_2 * (int64_t) f7_2;
- int64_t f1f8_2 = f1_2 * (int64_t) f8;
- int64_t f1f9_76 = f1_2 * (int64_t) f9_38;
- int64_t f2f2 = f2 * (int64_t) f2;
- int64_t f2f3_2 = f2_2 * (int64_t) f3;
- int64_t f2f4_2 = f2_2 * (int64_t) f4;
- int64_t f2f5_2 = f2_2 * (int64_t) f5;
- int64_t f2f6_2 = f2_2 * (int64_t) f6;
- int64_t f2f7_2 = f2_2 * (int64_t) f7;
- int64_t f2f8_38 = f2_2 * (int64_t) f8_19;
- int64_t f2f9_38 = f2 * (int64_t) f9_38;
- int64_t f3f3_2 = f3_2 * (int64_t) f3;
- int64_t f3f4_2 = f3_2 * (int64_t) f4;
- int64_t f3f5_4 = f3_2 * (int64_t) f5_2;
- int64_t f3f6_2 = f3_2 * (int64_t) f6;
- int64_t f3f7_76 = f3_2 * (int64_t) f7_38;
- int64_t f3f8_38 = f3_2 * (int64_t) f8_19;
- int64_t f3f9_76 = f3_2 * (int64_t) f9_38;
- int64_t f4f4 = f4 * (int64_t) f4;
- int64_t f4f5_2 = f4_2 * (int64_t) f5;
- int64_t f4f6_38 = f4_2 * (int64_t) f6_19;
- int64_t f4f7_38 = f4 * (int64_t) f7_38;
- int64_t f4f8_38 = f4_2 * (int64_t) f8_19;
- int64_t f4f9_38 = f4 * (int64_t) f9_38;
- int64_t f5f5_38 = f5 * (int64_t) f5_38;
- int64_t f5f6_38 = f5_2 * (int64_t) f6_19;
- int64_t f5f7_76 = f5_2 * (int64_t) f7_38;
- int64_t f5f8_38 = f5_2 * (int64_t) f8_19;
- int64_t f5f9_76 = f5_2 * (int64_t) f9_38;
- int64_t f6f6_19 = f6 * (int64_t) f6_19;
- int64_t f6f7_38 = f6 * (int64_t) f7_38;
- int64_t f6f8_38 = f6_2 * (int64_t) f8_19;
- int64_t f6f9_38 = f6 * (int64_t) f9_38;
- int64_t f7f7_38 = f7 * (int64_t) f7_38;
- int64_t f7f8_38 = f7_2 * (int64_t) f8_19;
- int64_t f7f9_76 = f7_2 * (int64_t) f9_38;
- int64_t f8f8_19 = f8 * (int64_t) f8_19;
- int64_t f8f9_38 = f8 * (int64_t) f9_38;
- int64_t f9f9_38 = f9 * (int64_t) f9_38;
- int64_t h0 = f0f0 +f1f9_76+f2f8_38+f3f7_76+f4f6_38+f5f5_38;
- int64_t h1 = f0f1_2+f2f9_38+f3f8_38+f4f7_38+f5f6_38;
- int64_t h2 = f0f2_2+f1f1_2 +f3f9_76+f4f8_38+f5f7_76+f6f6_19;
- int64_t h3 = f0f3_2+f1f2_2 +f4f9_38+f5f8_38+f6f7_38;
- int64_t h4 = f0f4_2+f1f3_4 +f2f2 +f5f9_76+f6f8_38+f7f7_38;
- int64_t h5 = f0f5_2+f1f4_2 +f2f3_2 +f6f9_38+f7f8_38;
- int64_t h6 = f0f6_2+f1f5_4 +f2f4_2 +f3f3_2 +f7f9_76+f8f8_19;
- int64_t h7 = f0f7_2+f1f6_2 +f2f5_2 +f3f4_2 +f8f9_38;
- int64_t h8 = f0f8_2+f1f7_4 +f2f6_2 +f3f5_4 +f4f4 +f9f9_38;
- int64_t h9 = f0f9_2+f1f8_2 +f2f7_2 +f3f6_2 +f4f5_2;
- int64_t carry0;
- int64_t carry1;
- int64_t carry2;
- int64_t carry3;
- int64_t carry4;
- int64_t carry5;
- int64_t carry6;
- int64_t carry7;
- int64_t carry8;
- int64_t carry9;
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
-
- carry1 = h1 + (1 << 24); h2 += carry1 >> 25; h1 -= carry1 & kTop39Bits;
- carry5 = h5 + (1 << 24); h6 += carry5 >> 25; h5 -= carry5 & kTop39Bits;
-
- carry2 = h2 + (1 << 25); h3 += carry2 >> 26; h2 -= carry2 & kTop38Bits;
- carry6 = h6 + (1 << 25); h7 += carry6 >> 26; h6 -= carry6 & kTop38Bits;
-
- carry3 = h3 + (1 << 24); h4 += carry3 >> 25; h3 -= carry3 & kTop39Bits;
- carry7 = h7 + (1 << 24); h8 += carry7 >> 25; h7 -= carry7 & kTop39Bits;
-
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
- carry8 = h8 + (1 << 25); h9 += carry8 >> 26; h8 -= carry8 & kTop38Bits;
-
- carry9 = h9 + (1 << 24); h0 += (carry9 >> 25) * 19; h9 -= carry9 & kTop39Bits;
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
-
- h[0] = h0;
- h[1] = h1;
- h[2] = h2;
- h[3] = h3;
- h[4] = h4;
- h[5] = h5;
- h[6] = h6;
- h[7] = h7;
- h[8] = h8;
- h[9] = h9;
-}
-
-static void fe_invert(fe out, const fe z) {
- fe t0;
- fe t1;
- fe t2;
- fe t3;
- int i;
-
- /*
- * Compute z ** -1 = z ** (2 ** 255 - 19 - 2) with the exponent as
- * 2 ** 255 - 21 = (2 ** 5) * (2 ** 250 - 1) + 11.
- */
-
- /* t0 = z ** 2 */
- fe_sq(t0, z);
-
- /* t1 = t0 ** (2 ** 2) = z ** 8 */
- fe_sq(t1, t0);
- fe_sq(t1, t1);
-
- /* t1 = z * t1 = z ** 9 */
- fe_mul(t1, z, t1);
- /* t0 = t0 * t1 = z ** 11 -- stash t0 away for the end. */
- fe_mul(t0, t0, t1);
-
- /* t2 = t0 ** 2 = z ** 22 */
- fe_sq(t2, t0);
-
- /* t1 = t1 * t2 = z ** (2 ** 5 - 1) */
- fe_mul(t1, t1, t2);
-
- /* t2 = t1 ** (2 ** 5) = z ** ((2 ** 5) * (2 ** 5 - 1)) */
- fe_sq(t2, t1);
- for (i = 1; i < 5; ++i) {
- fe_sq(t2, t2);
- }
-
- /* t1 = t1 * t2 = z ** ((2 ** 5 + 1) * (2 ** 5 - 1)) = z ** (2 ** 10 - 1) */
- fe_mul(t1, t2, t1);
-
- /* Continuing similarly... */
-
- /* t2 = z ** (2 ** 20 - 1) */
- fe_sq(t2, t1);
- for (i = 1; i < 10; ++i) {
- fe_sq(t2, t2);
- }
- fe_mul(t2, t2, t1);
-
- /* t2 = z ** (2 ** 40 - 1) */
- fe_sq(t3, t2);
- for (i = 1; i < 20; ++i) {
- fe_sq(t3, t3);
- }
- fe_mul(t2, t3, t2);
-
- /* t2 = z ** (2 ** 10) * (2 ** 40 - 1) */
- for (i = 0; i < 10; ++i) {
- fe_sq(t2, t2);
- }
- /* t1 = z ** (2 ** 50 - 1) */
- fe_mul(t1, t2, t1);
-
- /* t2 = z ** (2 ** 100 - 1) */
- fe_sq(t2, t1);
- for (i = 1; i < 50; ++i) {
- fe_sq(t2, t2);
- }
- fe_mul(t2, t2, t1);
-
- /* t2 = z ** (2 ** 200 - 1) */
- fe_sq(t3, t2);
- for (i = 1; i < 100; ++i) {
- fe_sq(t3, t3);
- }
- fe_mul(t2, t3, t2);
-
- /* t2 = z ** ((2 ** 50) * (2 ** 200 - 1) */
- fe_sq(t2, t2);
- for (i = 1; i < 50; ++i) {
- fe_sq(t2, t2);
- }
-
- /* t1 = z ** (2 ** 250 - 1) */
- fe_mul(t1, t2, t1);
-
- /* t1 = z ** ((2 ** 5) * (2 ** 250 - 1)) */
- fe_sq(t1, t1);
- for (i = 1; i < 5; ++i) {
- fe_sq(t1, t1);
- }
-
- /* Recall t0 = z ** 11; out = z ** (2 ** 255 - 21) */
- fe_mul(out, t1, t0);
-}
-
-/* h = -f
- *
- * Preconditions:
- * |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
- *
- * Postconditions:
- * |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. */
-static void fe_neg(fe h, const fe f) {
- unsigned i;
- for (i = 0; i < 10; i++) {
- h[i] = -f[i];
- }
-}
-
-/* Replace (f,g) with (g,g) if b == 1;
- * replace (f,g) with (f,g) if b == 0.
- *
- * Preconditions: b in {0,1}. */
-static void fe_cmov(fe f, const fe g, unsigned b) {
- size_t i;
- b = 0-b;
- for (i = 0; i < 10; i++) {
- int32_t x = f[i] ^ g[i];
- x &= b;
- f[i] ^= x;
- }
-}
-
-/* return 0 if f == 0
- * return 1 if f != 0
- *
- * Preconditions:
- * |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. */
-static int fe_isnonzero(const fe f) {
- uint8_t s[32];
- static const uint8_t zero[32] = {0};
- fe_tobytes(s, f);
-
- return CRYPTO_memcmp(s, zero, sizeof(zero)) != 0;
-}
-
-/* return 1 if f is in {1,3,5,...,q-2}
- * return 0 if f is in {0,2,4,...,q-1}
- *
- * Preconditions:
- * |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. */
-static int fe_isnegative(const fe f) {
- uint8_t s[32];
- fe_tobytes(s, f);
- return s[0] & 1;
-}
-
-/* h = 2 * f * f
- * Can overlap h with f.
- *
- * Preconditions:
- * |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
- *
- * Postconditions:
- * |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc.
- *
- * See fe_mul.c for discussion of implementation strategy. */
-static void fe_sq2(fe h, const fe f) {
- int32_t f0 = f[0];
- int32_t f1 = f[1];
- int32_t f2 = f[2];
- int32_t f3 = f[3];
- int32_t f4 = f[4];
- int32_t f5 = f[5];
- int32_t f6 = f[6];
- int32_t f7 = f[7];
- int32_t f8 = f[8];
- int32_t f9 = f[9];
- int32_t f0_2 = 2 * f0;
- int32_t f1_2 = 2 * f1;
- int32_t f2_2 = 2 * f2;
- int32_t f3_2 = 2 * f3;
- int32_t f4_2 = 2 * f4;
- int32_t f5_2 = 2 * f5;
- int32_t f6_2 = 2 * f6;
- int32_t f7_2 = 2 * f7;
- int32_t f5_38 = 38 * f5; /* 1.959375*2^30 */
- int32_t f6_19 = 19 * f6; /* 1.959375*2^30 */
- int32_t f7_38 = 38 * f7; /* 1.959375*2^30 */
- int32_t f8_19 = 19 * f8; /* 1.959375*2^30 */
- int32_t f9_38 = 38 * f9; /* 1.959375*2^30 */
- int64_t f0f0 = f0 * (int64_t) f0;
- int64_t f0f1_2 = f0_2 * (int64_t) f1;
- int64_t f0f2_2 = f0_2 * (int64_t) f2;
- int64_t f0f3_2 = f0_2 * (int64_t) f3;
- int64_t f0f4_2 = f0_2 * (int64_t) f4;
- int64_t f0f5_2 = f0_2 * (int64_t) f5;
- int64_t f0f6_2 = f0_2 * (int64_t) f6;
- int64_t f0f7_2 = f0_2 * (int64_t) f7;
- int64_t f0f8_2 = f0_2 * (int64_t) f8;
- int64_t f0f9_2 = f0_2 * (int64_t) f9;
- int64_t f1f1_2 = f1_2 * (int64_t) f1;
- int64_t f1f2_2 = f1_2 * (int64_t) f2;
- int64_t f1f3_4 = f1_2 * (int64_t) f3_2;
- int64_t f1f4_2 = f1_2 * (int64_t) f4;
- int64_t f1f5_4 = f1_2 * (int64_t) f5_2;
- int64_t f1f6_2 = f1_2 * (int64_t) f6;
- int64_t f1f7_4 = f1_2 * (int64_t) f7_2;
- int64_t f1f8_2 = f1_2 * (int64_t) f8;
- int64_t f1f9_76 = f1_2 * (int64_t) f9_38;
- int64_t f2f2 = f2 * (int64_t) f2;
- int64_t f2f3_2 = f2_2 * (int64_t) f3;
- int64_t f2f4_2 = f2_2 * (int64_t) f4;
- int64_t f2f5_2 = f2_2 * (int64_t) f5;
- int64_t f2f6_2 = f2_2 * (int64_t) f6;
- int64_t f2f7_2 = f2_2 * (int64_t) f7;
- int64_t f2f8_38 = f2_2 * (int64_t) f8_19;
- int64_t f2f9_38 = f2 * (int64_t) f9_38;
- int64_t f3f3_2 = f3_2 * (int64_t) f3;
- int64_t f3f4_2 = f3_2 * (int64_t) f4;
- int64_t f3f5_4 = f3_2 * (int64_t) f5_2;
- int64_t f3f6_2 = f3_2 * (int64_t) f6;
- int64_t f3f7_76 = f3_2 * (int64_t) f7_38;
- int64_t f3f8_38 = f3_2 * (int64_t) f8_19;
- int64_t f3f9_76 = f3_2 * (int64_t) f9_38;
- int64_t f4f4 = f4 * (int64_t) f4;
- int64_t f4f5_2 = f4_2 * (int64_t) f5;
- int64_t f4f6_38 = f4_2 * (int64_t) f6_19;
- int64_t f4f7_38 = f4 * (int64_t) f7_38;
- int64_t f4f8_38 = f4_2 * (int64_t) f8_19;
- int64_t f4f9_38 = f4 * (int64_t) f9_38;
- int64_t f5f5_38 = f5 * (int64_t) f5_38;
- int64_t f5f6_38 = f5_2 * (int64_t) f6_19;
- int64_t f5f7_76 = f5_2 * (int64_t) f7_38;
- int64_t f5f8_38 = f5_2 * (int64_t) f8_19;
- int64_t f5f9_76 = f5_2 * (int64_t) f9_38;
- int64_t f6f6_19 = f6 * (int64_t) f6_19;
- int64_t f6f7_38 = f6 * (int64_t) f7_38;
- int64_t f6f8_38 = f6_2 * (int64_t) f8_19;
- int64_t f6f9_38 = f6 * (int64_t) f9_38;
- int64_t f7f7_38 = f7 * (int64_t) f7_38;
- int64_t f7f8_38 = f7_2 * (int64_t) f8_19;
- int64_t f7f9_76 = f7_2 * (int64_t) f9_38;
- int64_t f8f8_19 = f8 * (int64_t) f8_19;
- int64_t f8f9_38 = f8 * (int64_t) f9_38;
- int64_t f9f9_38 = f9 * (int64_t) f9_38;
- int64_t h0 = f0f0 +f1f9_76+f2f8_38+f3f7_76+f4f6_38+f5f5_38;
- int64_t h1 = f0f1_2+f2f9_38+f3f8_38+f4f7_38+f5f6_38;
- int64_t h2 = f0f2_2+f1f1_2 +f3f9_76+f4f8_38+f5f7_76+f6f6_19;
- int64_t h3 = f0f3_2+f1f2_2 +f4f9_38+f5f8_38+f6f7_38;
- int64_t h4 = f0f4_2+f1f3_4 +f2f2 +f5f9_76+f6f8_38+f7f7_38;
- int64_t h5 = f0f5_2+f1f4_2 +f2f3_2 +f6f9_38+f7f8_38;
- int64_t h6 = f0f6_2+f1f5_4 +f2f4_2 +f3f3_2 +f7f9_76+f8f8_19;
- int64_t h7 = f0f7_2+f1f6_2 +f2f5_2 +f3f4_2 +f8f9_38;
- int64_t h8 = f0f8_2+f1f7_4 +f2f6_2 +f3f5_4 +f4f4 +f9f9_38;
- int64_t h9 = f0f9_2+f1f8_2 +f2f7_2 +f3f6_2 +f4f5_2;
- int64_t carry0;
- int64_t carry1;
- int64_t carry2;
- int64_t carry3;
- int64_t carry4;
- int64_t carry5;
- int64_t carry6;
- int64_t carry7;
- int64_t carry8;
- int64_t carry9;
-
- h0 += h0;
- h1 += h1;
- h2 += h2;
- h3 += h3;
- h4 += h4;
- h5 += h5;
- h6 += h6;
- h7 += h7;
- h8 += h8;
- h9 += h9;
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
-
- carry1 = h1 + (1 << 24); h2 += carry1 >> 25; h1 -= carry1 & kTop39Bits;
- carry5 = h5 + (1 << 24); h6 += carry5 >> 25; h5 -= carry5 & kTop39Bits;
-
- carry2 = h2 + (1 << 25); h3 += carry2 >> 26; h2 -= carry2 & kTop38Bits;
- carry6 = h6 + (1 << 25); h7 += carry6 >> 26; h6 -= carry6 & kTop38Bits;
-
- carry3 = h3 + (1 << 24); h4 += carry3 >> 25; h3 -= carry3 & kTop39Bits;
- carry7 = h7 + (1 << 24); h8 += carry7 >> 25; h7 -= carry7 & kTop39Bits;
-
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
- carry8 = h8 + (1 << 25); h9 += carry8 >> 26; h8 -= carry8 & kTop38Bits;
-
- carry9 = h9 + (1 << 24); h0 += (carry9 >> 25) * 19; h9 -= carry9 & kTop39Bits;
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
-
- h[0] = h0;
- h[1] = h1;
- h[2] = h2;
- h[3] = h3;
- h[4] = h4;
- h[5] = h5;
- h[6] = h6;
- h[7] = h7;
- h[8] = h8;
- h[9] = h9;
-}
-
-static void fe_pow22523(fe out, const fe z) {
- fe t0;
- fe t1;
- fe t2;
- int i;
-
- fe_sq(t0, z);
- fe_sq(t1, t0);
- for (i = 1; i < 2; ++i) {
- fe_sq(t1, t1);
- }
- fe_mul(t1, z, t1);
- fe_mul(t0, t0, t1);
- fe_sq(t0, t0);
- fe_mul(t0, t1, t0);
- fe_sq(t1, t0);
- for (i = 1; i < 5; ++i) {
- fe_sq(t1, t1);
- }
- fe_mul(t0, t1, t0);
- fe_sq(t1, t0);
- for (i = 1; i < 10; ++i) {
- fe_sq(t1, t1);
- }
- fe_mul(t1, t1, t0);
- fe_sq(t2, t1);
- for (i = 1; i < 20; ++i) {
- fe_sq(t2, t2);
- }
- fe_mul(t1, t2, t1);
- fe_sq(t1, t1);
- for (i = 1; i < 10; ++i) {
- fe_sq(t1, t1);
- }
- fe_mul(t0, t1, t0);
- fe_sq(t1, t0);
- for (i = 1; i < 50; ++i) {
- fe_sq(t1, t1);
- }
- fe_mul(t1, t1, t0);
- fe_sq(t2, t1);
- for (i = 1; i < 100; ++i) {
- fe_sq(t2, t2);
- }
- fe_mul(t1, t2, t1);
- fe_sq(t1, t1);
- for (i = 1; i < 50; ++i) {
- fe_sq(t1, t1);
- }
- fe_mul(t0, t1, t0);
- fe_sq(t0, t0);
- for (i = 1; i < 2; ++i) {
- fe_sq(t0, t0);
- }
- fe_mul(out, t0, z);
-}
-
-static uint8_t equal(signed char b, signed char c) {
- uint8_t ub = b;
- uint8_t uc = c;
- uint8_t x = ub ^ uc; /* 0: yes; 1..255: no */
- uint32_t y = x; /* 0: yes; 1..255: no */
- y -= 1; /* 4294967295: yes; 0..254: no */
- y >>= 31; /* 1: yes; 0: no */
- return y;
-}
-
-/* Replace (f,g) with (g,f) if b == 1;
- * replace (f,g) with (f,g) if b == 0.
- *
- * Preconditions: b in {0,1}. */
-static void fe_cswap(fe f, fe g, unsigned int b) {
- size_t i;
- b = 0-b;
- for (i = 0; i < 10; i++) {
- int32_t x = f[i] ^ g[i];
- x &= b;
- f[i] ^= x;
- g[i] ^= x;
- }
-}
-
-/* h = f * 121666
- * Can overlap h with f.
- *
- * Preconditions:
- * |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
- *
- * Postconditions:
- * |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. */
-static void fe_mul121666(fe h, fe f) {
- int32_t f0 = f[0];
- int32_t f1 = f[1];
- int32_t f2 = f[2];
- int32_t f3 = f[3];
- int32_t f4 = f[4];
- int32_t f5 = f[5];
- int32_t f6 = f[6];
- int32_t f7 = f[7];
- int32_t f8 = f[8];
- int32_t f9 = f[9];
- int64_t h0 = f0 * (int64_t) 121666;
- int64_t h1 = f1 * (int64_t) 121666;
- int64_t h2 = f2 * (int64_t) 121666;
- int64_t h3 = f3 * (int64_t) 121666;
- int64_t h4 = f4 * (int64_t) 121666;
- int64_t h5 = f5 * (int64_t) 121666;
- int64_t h6 = f6 * (int64_t) 121666;
- int64_t h7 = f7 * (int64_t) 121666;
- int64_t h8 = f8 * (int64_t) 121666;
- int64_t h9 = f9 * (int64_t) 121666;
- int64_t carry0;
- int64_t carry1;
- int64_t carry2;
- int64_t carry3;
- int64_t carry4;
- int64_t carry5;
- int64_t carry6;
- int64_t carry7;
- int64_t carry8;
- int64_t carry9;
-
- carry9 = h9 + (1 << 24); h0 += (carry9 >> 25) * 19; h9 -= carry9 & kTop39Bits;
- carry1 = h1 + (1 << 24); h2 += carry1 >> 25; h1 -= carry1 & kTop39Bits;
- carry3 = h3 + (1 << 24); h4 += carry3 >> 25; h3 -= carry3 & kTop39Bits;
- carry5 = h5 + (1 << 24); h6 += carry5 >> 25; h5 -= carry5 & kTop39Bits;
- carry7 = h7 + (1 << 24); h8 += carry7 >> 25; h7 -= carry7 & kTop39Bits;
-
- carry0 = h0 + (1 << 25); h1 += carry0 >> 26; h0 -= carry0 & kTop38Bits;
- carry2 = h2 + (1 << 25); h3 += carry2 >> 26; h2 -= carry2 & kTop38Bits;
- carry4 = h4 + (1 << 25); h5 += carry4 >> 26; h4 -= carry4 & kTop38Bits;
- carry6 = h6 + (1 << 25); h7 += carry6 >> 26; h6 -= carry6 & kTop38Bits;
- carry8 = h8 + (1 << 25); h9 += carry8 >> 26; h8 -= carry8 & kTop38Bits;
-
- h[0] = h0;
- h[1] = h1;
- h[2] = h2;
- h[3] = h3;
- h[4] = h4;
- h[5] = h5;
- h[6] = h6;
- h[7] = h7;
- h[8] = h8;
- h[9] = h9;
-}
-
-static void x25519_scalar_mult_generic(uint8_t out[32],
- const uint8_t scalar[32],
- const uint8_t point[32]) {
- fe x1, x2, z2, x3, z3, tmp0, tmp1;
- uint8_t e[32];
- unsigned swap = 0;
- int pos;
-
- memcpy(e, scalar, 32);
- e[0] &= 248;
- e[31] &= 127;
- e[31] |= 64;
- fe_frombytes(x1, point);
- fe_1(x2);
- fe_0(z2);
- fe_copy(x3, x1);
- fe_1(z3);
-
- for (pos = 254; pos >= 0; --pos) {
- unsigned b = 1 & (e[pos / 8] >> (pos & 7));
- swap ^= b;
- fe_cswap(x2, x3, swap);
- fe_cswap(z2, z3, swap);
- swap = b;
- fe_sub(tmp0, x3, z3);
- fe_sub(tmp1, x2, z2);
- fe_add(x2, x2, z2);
- fe_add(z2, x3, z3);
- fe_mul(z3, tmp0, x2);
- fe_mul(z2, z2, tmp1);
- fe_sq(tmp0, tmp1);
- fe_sq(tmp1, x2);
- fe_add(x3, z3, z2);
- fe_sub(z2, z3, z2);
- fe_mul(x2, tmp1, tmp0);
- fe_sub(tmp1, tmp1, tmp0);
- fe_sq(z2, z2);
- fe_mul121666(z3, tmp1);
- fe_sq(x3, x3);
- fe_add(tmp0, tmp0, z3);
- fe_mul(z3, x1, z2);
- fe_mul(z2, tmp1, tmp0);
- }
- fe_cswap(x2, x3, swap);
- fe_cswap(z2, z3, swap);
-
- fe_invert(z2, z2);
- fe_mul(x2, x2, z2);
- fe_tobytes(out, x2);
-}
-
-void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32],
- const uint8_t point[32]) {
- x25519_scalar_mult_generic(out, scalar, point);
-}
diff --git a/third_party/openssl-curve25519/ec_curve25519.h b/third_party/openssl-curve25519/ec_curve25519.h
deleted file mode 100644
index 60dc86e75..000000000
--- a/third_party/openssl-curve25519/ec_curve25519.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <stdint.h>
-void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32], const uint8_t point[32]);
diff --git a/third_party/openssl-curve25519/measurements.txt b/third_party/openssl-curve25519/measurements.txt
deleted file mode 100644
index 656d2618a..000000000
--- a/third_party/openssl-curve25519/measurements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-301119 =459535*2.30/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 6888031+
-334869 =280858*3.10/2.60 ashryn-ht-tb-ac-broadwell 7.1.1 a7ce099b+
-348072 =348072*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
-438818 =440072*3.50/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 6888031+
diff --git a/third_party/openssl-nistp256c64/LICENSE b/third_party/openssl-nistp256c64/LICENSE
deleted file mode 100644
index 8fbabd8af..000000000
--- a/third_party/openssl-nistp256c64/LICENSE
+++ /dev/null
@@ -1,125 +0,0 @@
-
- LICENSE ISSUES
- ==============
-
- The OpenSSL toolkit stays under a double license, i.e. both the conditions of
- the OpenSSL License and the original SSLeay license apply to the toolkit.
- See below for the actual license texts.
-
- OpenSSL License
- ---------------
-
-/* ====================================================================
- * Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
- Original SSLeay License
- -----------------------
-
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
diff --git a/third_party/openssl-nistp256c64/bench_madd.c b/third_party/openssl-nistp256c64/bench_madd.c
deleted file mode 100644
index e2dc8e880..000000000
--- a/third_party/openssl-nistp256c64/bench_madd.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdint.h>
-#include "ecp_nistp256.h"
-
-void bench_madd(unsigned char* buf) {
- uint128_t* x3 = (uint128_t*) buf;
- uint128_t* y3 = (uint128_t*) (buf + 1*sizeof(felem));
- uint128_t* z3 = (uint128_t*) (buf + 2*sizeof(felem));
- uint128_t* x1 = (uint128_t*) (buf + 3*sizeof(felem));
- uint128_t* y1 = (uint128_t*) (buf + 4*sizeof(felem));
- uint128_t* z1 = (uint128_t*) (buf + 5*sizeof(felem));
- int mixed = 1;
- uint64_t* x2 = (uint64_t*) (buf + 6*sizeof(felem));
- uint64_t* y2 = (uint64_t*) (buf + 6*sizeof(felem) + sizeof(smallfelem));
- smallfelem z2 = {1, 0, 0, 0};
- point_add(x3, y3, z3, x1, y1, z1, mixed, x2, y2, z2);
-}
diff --git a/third_party/openssl-nistp256c64/compiler.sh b/third_party/openssl-nistp256c64/compiler.sh
deleted file mode 100755
index e199b5100..000000000
--- a/third_party/openssl-nistp256c64/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes $@
diff --git a/third_party/openssl-nistp256c64/ecp_nistp256.c b/third_party/openssl-nistp256c64/ecp_nistp256.c
deleted file mode 100644
index 9d5f36905..000000000
--- a/third_party/openssl-nistp256c64/ecp_nistp256.c
+++ /dev/null
@@ -1,1314 +0,0 @@
-/*
- * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License"). You may not use
- * this file except in compliance with the License. You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-/* Copyright 2011 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- *
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * A 64-bit implementation of the NIST P-256 elliptic curve point multiplication
- *
- * OpenSSL integration was taken from Emilia Kasper's work in ecp_nistp224.c.
- * Otherwise based on Emilia's P224 work, which was inspired by my curve25519
- * work which got its smarts from Daniel J. Bernstein's work on the same.
- */
-
-# include <stdint.h>
-# include <string.h>
-# include <openssl/err.h>
-# include "ecp_nistp256.h"
-
-
-/*
- * These are the parameters of P256, taken from FIPS 186-3, page 86. These
- * values are big-endian.
- */
-static const felem_bytearray nistp256_curve_params[5] = {
- {0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, /* p */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- {0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, /* a = -3 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc}, /* b */
- {0x5a, 0xc6, 0x35, 0xd8, 0xaa, 0x3a, 0x93, 0xe7,
- 0xb3, 0xeb, 0xbd, 0x55, 0x76, 0x98, 0x86, 0xbc,
- 0x65, 0x1d, 0x06, 0xb0, 0xcc, 0x53, 0xb0, 0xf6,
- 0x3b, 0xce, 0x3c, 0x3e, 0x27, 0xd2, 0x60, 0x4b},
- {0x6b, 0x17, 0xd1, 0xf2, 0xe1, 0x2c, 0x42, 0x47, /* x */
- 0xf8, 0xbc, 0xe6, 0xe5, 0x63, 0xa4, 0x40, 0xf2,
- 0x77, 0x03, 0x7d, 0x81, 0x2d, 0xeb, 0x33, 0xa0,
- 0xf4, 0xa1, 0x39, 0x45, 0xd8, 0x98, 0xc2, 0x96},
- {0x4f, 0xe3, 0x42, 0xe2, 0xfe, 0x1a, 0x7f, 0x9b, /* y */
- 0x8e, 0xe7, 0xeb, 0x4a, 0x7c, 0x0f, 0x9e, 0x16,
- 0x2b, 0xce, 0x33, 0x57, 0x6b, 0x31, 0x5e, 0xce,
- 0xcb, 0xb6, 0x40, 0x68, 0x37, 0xbf, 0x51, 0xf5}
-};
-
-/*-
-
-/* This is the value of the prime as four 64-bit words, little-endian. */
-static const u64 kPrime[4] =
- { 0xfffffffffffffffful, 0xffffffff, 0, 0xffffffff00000001ul };
-static const u64 bottom63bits = 0x7ffffffffffffffful;
-
-/*
- * bin32_to_felem takes a little-endian byte array and converts it into felem
- * form. This assumes that the CPU is little-endian.
- */
-static void bin32_to_felem(felem out, const u8 in[32])
-{
- out[0] = *((u64 *)&in[0]);
- out[1] = *((u64 *)&in[8]);
- out[2] = *((u64 *)&in[16]);
- out[3] = *((u64 *)&in[24]);
-}
-
-/*
- * smallfelem_to_bin32 takes a smallfelem and serialises into a little
- * endian, 32 byte array. This assumes that the CPU is little-endian.
- */
-static void smallfelem_to_bin32(u8 out[32], const smallfelem in)
-{
- *((u64 *)&out[0]) = in[0];
- *((u64 *)&out[8]) = in[1];
- *((u64 *)&out[16]) = in[2];
- *((u64 *)&out[24]) = in[3];
-}
-
-/*-
- * Field operations
- * ----------------
- */
-
-static void smallfelem_one(smallfelem out)
-{
- out[0] = 1;
- out[1] = 0;
- out[2] = 0;
- out[3] = 0;
-}
-
-static void smallfelem_assign(smallfelem out, const smallfelem in)
-{
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = in[3];
-}
-
-static void felem_assign(felem out, const felem in)
-{
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = in[3];
-}
-
-/* felem_sum sets out = out + in. */
-static void felem_sum(felem out, const felem in)
-{
- out[0] += in[0];
- out[1] += in[1];
- out[2] += in[2];
- out[3] += in[3];
-}
-
-/* felem_small_sum sets out = out + in. */
-static void felem_small_sum(felem out, const smallfelem in)
-{
- out[0] += in[0];
- out[1] += in[1];
- out[2] += in[2];
- out[3] += in[3];
-}
-
-/* felem_scalar sets out = out * scalar */
-static void felem_scalar(felem out, const u64 scalar)
-{
- out[0] *= scalar;
- out[1] *= scalar;
- out[2] *= scalar;
- out[3] *= scalar;
-}
-
-/* longfelem_scalar sets out = out * scalar */
-static void longfelem_scalar(longfelem out, const u64 scalar)
-{
- out[0] *= scalar;
- out[1] *= scalar;
- out[2] *= scalar;
- out[3] *= scalar;
- out[4] *= scalar;
- out[5] *= scalar;
- out[6] *= scalar;
- out[7] *= scalar;
-}
-
-# define two105m41m9 (((limb)1) << 105) - (((limb)1) << 41) - (((limb)1) << 9)
-# define two105 (((limb)1) << 105)
-# define two105m41p9 (((limb)1) << 105) - (((limb)1) << 41) + (((limb)1) << 9)
-
-/* zero105 is 0 mod p */
-static const felem zero105 =
- { two105m41m9, two105, two105m41p9, two105m41p9 };
-
-/*-
- * smallfelem_neg sets |out| to |-small|
- * On exit:
- * out[i] < out[i] + 2^105
- */
-static void smallfelem_neg(felem out, const smallfelem small)
-{
- /* In order to prevent underflow, we subtract from 0 mod p. */
- out[0] = zero105[0] - small[0];
- out[1] = zero105[1] - small[1];
- out[2] = zero105[2] - small[2];
- out[3] = zero105[3] - small[3];
-}
-
-/*-
- * felem_diff subtracts |in| from |out|
- * On entry:
- * in[i] < 2^104
- * On exit:
- * out[i] < out[i] + 2^105
- */
-static void felem_diff(felem out, const felem in)
-{
- /*
- * In order to prevent underflow, we add 0 mod p before subtracting.
- */
- out[0] += zero105[0];
- out[1] += zero105[1];
- out[2] += zero105[2];
- out[3] += zero105[3];
-
- out[0] -= in[0];
- out[1] -= in[1];
- out[2] -= in[2];
- out[3] -= in[3];
-}
-
-# define two107m43m11 (((limb)1) << 107) - (((limb)1) << 43) - (((limb)1) << 11)
-# define two107 (((limb)1) << 107)
-# define two107m43p11 (((limb)1) << 107) - (((limb)1) << 43) + (((limb)1) << 11)
-
-/* zero107 is 0 mod p */
-static const felem zero107 =
- { two107m43m11, two107, two107m43p11, two107m43p11 };
-
-/*-
- * An alternative felem_diff for larger inputs |in|
- * felem_diff_zero107 subtracts |in| from |out|
- * On entry:
- * in[i] < 2^106
- * On exit:
- * out[i] < out[i] + 2^107
- */
-static void felem_diff_zero107(felem out, const felem in)
-{
- /*
- * In order to prevent underflow, we add 0 mod p before subtracting.
- */
- out[0] += zero107[0];
- out[1] += zero107[1];
- out[2] += zero107[2];
- out[3] += zero107[3];
-
- out[0] -= in[0];
- out[1] -= in[1];
- out[2] -= in[2];
- out[3] -= in[3];
-}
-
-/*-
- * longfelem_diff subtracts |in| from |out|
- * On entry:
- * in[i] < 7*2^67
- * On exit:
- * out[i] < out[i] + 2^70 + 2^40
- */
-static void longfelem_diff(longfelem out, const longfelem in)
-{
- static const limb two70m8p6 =
- (((limb) 1) << 70) - (((limb) 1) << 8) + (((limb) 1) << 6);
- static const limb two70p40 = (((limb) 1) << 70) + (((limb) 1) << 40);
- static const limb two70 = (((limb) 1) << 70);
- static const limb two70m40m38p6 =
- (((limb) 1) << 70) - (((limb) 1) << 40) - (((limb) 1) << 38) +
- (((limb) 1) << 6);
- static const limb two70m6 = (((limb) 1) << 70) - (((limb) 1) << 6);
-
- /* add 0 mod p to avoid underflow */
- out[0] += two70m8p6;
- out[1] += two70p40;
- out[2] += two70;
- out[3] += two70m40m38p6;
- out[4] += two70m6;
- out[5] += two70m6;
- out[6] += two70m6;
- out[7] += two70m6;
-
- /* in[i] < 7*2^67 < 2^70 - 2^40 - 2^38 + 2^6 */
- out[0] -= in[0];
- out[1] -= in[1];
- out[2] -= in[2];
- out[3] -= in[3];
- out[4] -= in[4];
- out[5] -= in[5];
- out[6] -= in[6];
- out[7] -= in[7];
-}
-
-# define two64m0 (((limb)1) << 64) - 1
-# define two110p32m0 (((limb)1) << 110) + (((limb)1) << 32) - 1
-# define two64m46 (((limb)1) << 64) - (((limb)1) << 46)
-# define two64m32 (((limb)1) << 64) - (((limb)1) << 32)
-
-/* zero110 is 0 mod p */
-static const felem zero110 = { two64m0, two110p32m0, two64m46, two64m32 };
-
-/*-
- * felem_shrink converts an felem into a smallfelem. The result isn't quite
- * minimal as the value may be greater than p.
- *
- * On entry:
- * in[i] < 2^109
- * On exit:
- * out[i] < 2^64
- */
-static void felem_shrink(smallfelem out, const felem in)
-{
- felem tmp;
- u64 a, b, mask;
- s64 high, low;
- static const u64 kPrime3Test = 0x7fffffff00000001ul; /* 2^63 - 2^32 + 1 */
-
- /* Carry 2->3 */
- tmp[3] = zero110[3] + in[3] + ((u64)(in[2] >> 64));
- /* tmp[3] < 2^110 */
-
- tmp[2] = zero110[2] + (u64)in[2];
- tmp[0] = zero110[0] + in[0];
- tmp[1] = zero110[1] + in[1];
- /* tmp[0] < 2**110, tmp[1] < 2^111, tmp[2] < 2**65 */
-
- /*
- * We perform two partial reductions where we eliminate the high-word of
- * tmp[3]. We don't update the other words till the end.
- */
- a = tmp[3] >> 64; /* a < 2^46 */
- tmp[3] = (u64)tmp[3];
- tmp[3] -= a;
- tmp[3] += ((limb) a) << 32;
- /* tmp[3] < 2^79 */
-
- b = a;
- a = tmp[3] >> 64; /* a < 2^15 */
- b += a; /* b < 2^46 + 2^15 < 2^47 */
- tmp[3] = (u64)tmp[3];
- tmp[3] -= a;
- tmp[3] += ((limb) a) << 32;
- /* tmp[3] < 2^64 + 2^47 */
-
- /*
- * This adjusts the other two words to complete the two partial
- * reductions.
- */
- tmp[0] += b;
- tmp[1] -= (((limb) b) << 32);
-
- /*
- * In order to make space in tmp[3] for the carry from 2 -> 3, we
- * conditionally subtract kPrime if tmp[3] is large enough.
- */
- high = tmp[3] >> 64;
- /* As tmp[3] < 2^65, high is either 1 or 0 */
- high <<= 63;
- high >>= 63;
- /*-
- * high is:
- * all ones if the high word of tmp[3] is 1
- * all zeros if the high word of tmp[3] if 0 */
- low = tmp[3];
- mask = low >> 63;
- /*-
- * mask is:
- * all ones if the MSB of low is 1
- * all zeros if the MSB of low if 0 */
- low &= bottom63bits;
- low -= kPrime3Test;
- /* if low was greater than kPrime3Test then the MSB is zero */
- low = ~low;
- low >>= 63;
- /*-
- * low is:
- * all ones if low was > kPrime3Test
- * all zeros if low was <= kPrime3Test */
- mask = (mask & low) | high;
- tmp[0] -= mask & kPrime[0];
- tmp[1] -= mask & kPrime[1];
- /* kPrime[2] is zero, so omitted */
- tmp[3] -= mask & kPrime[3];
- /* tmp[3] < 2**64 - 2**32 + 1 */
-
- tmp[1] += ((u64)(tmp[0] >> 64));
- tmp[0] = (u64)tmp[0];
- tmp[2] += ((u64)(tmp[1] >> 64));
- tmp[1] = (u64)tmp[1];
- tmp[3] += ((u64)(tmp[2] >> 64));
- tmp[2] = (u64)tmp[2];
- /* tmp[i] < 2^64 */
-
- out[0] = tmp[0];
- out[1] = tmp[1];
- out[2] = tmp[2];
- out[3] = tmp[3];
-}
-
-/* smallfelem_expand converts a smallfelem to an felem */
-static void smallfelem_expand(felem out, const smallfelem in)
-{
- out[0] = in[0];
- out[1] = in[1];
- out[2] = in[2];
- out[3] = in[3];
-}
-
-/*-
- * smallfelem_square sets |out| = |small|^2
- * On entry:
- * small[i] < 2^64
- * On exit:
- * out[i] < 7 * 2^64 < 2^67
- */
-static void smallfelem_square(longfelem out, const smallfelem small)
-{
- limb a;
- u64 high, low;
-
- a = ((uint128_t) small[0]) * small[0];
- low = a;
- high = a >> 64;
- out[0] = low;
- out[1] = high;
-
- a = ((uint128_t) small[0]) * small[1];
- low = a;
- high = a >> 64;
- out[1] += low;
- out[1] += low;
- out[2] = high;
-
- a = ((uint128_t) small[0]) * small[2];
- low = a;
- high = a >> 64;
- out[2] += low;
- out[2] *= 2;
- out[3] = high;
-
- a = ((uint128_t) small[0]) * small[3];
- low = a;
- high = a >> 64;
- out[3] += low;
- out[4] = high;
-
- a = ((uint128_t) small[1]) * small[2];
- low = a;
- high = a >> 64;
- out[3] += low;
- out[3] *= 2;
- out[4] += high;
-
- a = ((uint128_t) small[1]) * small[1];
- low = a;
- high = a >> 64;
- out[2] += low;
- out[3] += high;
-
- a = ((uint128_t) small[1]) * small[3];
- low = a;
- high = a >> 64;
- out[4] += low;
- out[4] *= 2;
- out[5] = high;
-
- a = ((uint128_t) small[2]) * small[3];
- low = a;
- high = a >> 64;
- out[5] += low;
- out[5] *= 2;
- out[6] = high;
- out[6] += high;
-
- a = ((uint128_t) small[2]) * small[2];
- low = a;
- high = a >> 64;
- out[4] += low;
- out[5] += high;
-
- a = ((uint128_t) small[3]) * small[3];
- low = a;
- high = a >> 64;
- out[6] += low;
- out[7] = high;
-}
-
-/*-
- * felem_square sets |out| = |in|^2
- * On entry:
- * in[i] < 2^109
- * On exit:
- * out[i] < 7 * 2^64 < 2^67
- */
-static void felem_square(longfelem out, const felem in)
-{
- u64 small[4];
- felem_shrink(small, in);
- smallfelem_square(out, small);
-}
-
-/*-
- * smallfelem_mul sets |out| = |small1| * |small2|
- * On entry:
- * small1[i] < 2^64
- * small2[i] < 2^64
- * On exit:
- * out[i] < 7 * 2^64 < 2^67
- */
-static void smallfelem_mul(longfelem out, const smallfelem small1,
- const smallfelem small2)
-{
- limb a;
- u64 high, low;
-
- a = ((uint128_t) small1[0]) * small2[0];
- low = a;
- high = a >> 64;
- out[0] = low;
- out[1] = high;
-
- a = ((uint128_t) small1[0]) * small2[1];
- low = a;
- high = a >> 64;
- out[1] += low;
- out[2] = high;
-
- a = ((uint128_t) small1[1]) * small2[0];
- low = a;
- high = a >> 64;
- out[1] += low;
- out[2] += high;
-
- a = ((uint128_t) small1[0]) * small2[2];
- low = a;
- high = a >> 64;
- out[2] += low;
- out[3] = high;
-
- a = ((uint128_t) small1[1]) * small2[1];
- low = a;
- high = a >> 64;
- out[2] += low;
- out[3] += high;
-
- a = ((uint128_t) small1[2]) * small2[0];
- low = a;
- high = a >> 64;
- out[2] += low;
- out[3] += high;
-
- a = ((uint128_t) small1[0]) * small2[3];
- low = a;
- high = a >> 64;
- out[3] += low;
- out[4] = high;
-
- a = ((uint128_t) small1[1]) * small2[2];
- low = a;
- high = a >> 64;
- out[3] += low;
- out[4] += high;
-
- a = ((uint128_t) small1[2]) * small2[1];
- low = a;
- high = a >> 64;
- out[3] += low;
- out[4] += high;
-
- a = ((uint128_t) small1[3]) * small2[0];
- low = a;
- high = a >> 64;
- out[3] += low;
- out[4] += high;
-
- a = ((uint128_t) small1[1]) * small2[3];
- low = a;
- high = a >> 64;
- out[4] += low;
- out[5] = high;
-
- a = ((uint128_t) small1[2]) * small2[2];
- low = a;
- high = a >> 64;
- out[4] += low;
- out[5] += high;
-
- a = ((uint128_t) small1[3]) * small2[1];
- low = a;
- high = a >> 64;
- out[4] += low;
- out[5] += high;
-
- a = ((uint128_t) small1[2]) * small2[3];
- low = a;
- high = a >> 64;
- out[5] += low;
- out[6] = high;
-
- a = ((uint128_t) small1[3]) * small2[2];
- low = a;
- high = a >> 64;
- out[5] += low;
- out[6] += high;
-
- a = ((uint128_t) small1[3]) * small2[3];
- low = a;
- high = a >> 64;
- out[6] += low;
- out[7] = high;
-}
-
-/*-
- * felem_mul sets |out| = |in1| * |in2|
- * On entry:
- * in1[i] < 2^109
- * in2[i] < 2^109
- * On exit:
- * out[i] < 7 * 2^64 < 2^67
- */
-static void felem_mul(longfelem out, const felem in1, const felem in2)
-{
- smallfelem small1, small2;
- felem_shrink(small1, in1);
- felem_shrink(small2, in2);
- smallfelem_mul(out, small1, small2);
-}
-
-/*-
- * felem_small_mul sets |out| = |small1| * |in2|
- * On entry:
- * small1[i] < 2^64
- * in2[i] < 2^109
- * On exit:
- * out[i] < 7 * 2^64 < 2^67
- */
-static void felem_small_mul(longfelem out, const smallfelem small1,
- const felem in2)
-{
- smallfelem small2;
- felem_shrink(small2, in2);
- smallfelem_mul(out, small1, small2);
-}
-
-# define two100m36m4 (((limb)1) << 100) - (((limb)1) << 36) - (((limb)1) << 4)
-# define two100 (((limb)1) << 100)
-# define two100m36p4 (((limb)1) << 100) - (((limb)1) << 36) + (((limb)1) << 4)
-/* zero100 is 0 mod p */
-static const felem zero100 =
- { two100m36m4, two100, two100m36p4, two100m36p4 };
-
-/*-
- * Internal function for the different flavours of felem_reduce.
- * felem_reduce_ reduces the higher coefficients in[4]-in[7].
- * On entry:
- * out[0] >= in[6] + 2^32*in[6] + in[7] + 2^32*in[7]
- * out[1] >= in[7] + 2^32*in[4]
- * out[2] >= in[5] + 2^32*in[5]
- * out[3] >= in[4] + 2^32*in[5] + 2^32*in[6]
- * On exit:
- * out[0] <= out[0] + in[4] + 2^32*in[5]
- * out[1] <= out[1] + in[5] + 2^33*in[6]
- * out[2] <= out[2] + in[7] + 2*in[6] + 2^33*in[7]
- * out[3] <= out[3] + 2^32*in[4] + 3*in[7]
- */
-static void felem_reduce_(felem out, const longfelem in)
-{
- int128_t c;
- /* combine common terms from below */
- c = in[4] + (in[5] << 32);
- out[0] += c;
- out[3] -= c;
-
- c = in[5] - in[7];
- out[1] += c;
- out[2] -= c;
-
- /* the remaining terms */
- /* 256: [(0,1),(96,-1),(192,-1),(224,1)] */
- out[1] -= (in[4] << 32);
- out[3] += (in[4] << 32);
-
- /* 320: [(32,1),(64,1),(128,-1),(160,-1),(224,-1)] */
- out[2] -= (in[5] << 32);
-
- /* 384: [(0,-1),(32,-1),(96,2),(128,2),(224,-1)] */
- out[0] -= in[6];
- out[0] -= (in[6] << 32);
- out[1] += (in[6] << 33);
- out[2] += (in[6] * 2);
- out[3] -= (in[6] << 32);
-
- /* 448: [(0,-1),(32,-1),(64,-1),(128,1),(160,2),(192,3)] */
- out[0] -= in[7];
- out[0] -= (in[7] << 32);
- out[2] += (in[7] << 33);
- out[3] += (in[7] * 3);
-}
-
-/*-
- * felem_reduce converts a longfelem into an felem.
- * To be called directly after felem_square or felem_mul.
- * On entry:
- * in[0] < 2^64, in[1] < 3*2^64, in[2] < 5*2^64, in[3] < 7*2^64
- * in[4] < 7*2^64, in[5] < 5*2^64, in[6] < 3*2^64, in[7] < 2*64
- * On exit:
- * out[i] < 2^101
- */
-static void felem_reduce(felem out, const longfelem in)
-{
- out[0] = zero100[0] + in[0];
- out[1] = zero100[1] + in[1];
- out[2] = zero100[2] + in[2];
- out[3] = zero100[3] + in[3];
-
- felem_reduce_(out, in);
-
- /*-
- * out[0] > 2^100 - 2^36 - 2^4 - 3*2^64 - 3*2^96 - 2^64 - 2^96 > 0
- * out[1] > 2^100 - 2^64 - 7*2^96 > 0
- * out[2] > 2^100 - 2^36 + 2^4 - 5*2^64 - 5*2^96 > 0
- * out[3] > 2^100 - 2^36 + 2^4 - 7*2^64 - 5*2^96 - 3*2^96 > 0
- *
- * out[0] < 2^100 + 2^64 + 7*2^64 + 5*2^96 < 2^101
- * out[1] < 2^100 + 3*2^64 + 5*2^64 + 3*2^97 < 2^101
- * out[2] < 2^100 + 5*2^64 + 2^64 + 3*2^65 + 2^97 < 2^101
- * out[3] < 2^100 + 7*2^64 + 7*2^96 + 3*2^64 < 2^101
- */
-}
-
-/*-
- * felem_reduce_zero105 converts a larger longfelem into an felem.
- * On entry:
- * in[0] < 2^71
- * On exit:
- * out[i] < 2^106
- */
-static void felem_reduce_zero105(felem out, const longfelem in)
-{
- out[0] = zero105[0] + in[0];
- out[1] = zero105[1] + in[1];
- out[2] = zero105[2] + in[2];
- out[3] = zero105[3] + in[3];
-
- felem_reduce_(out, in);
-
- /*-
- * out[0] > 2^105 - 2^41 - 2^9 - 2^71 - 2^103 - 2^71 - 2^103 > 0
- * out[1] > 2^105 - 2^71 - 2^103 > 0
- * out[2] > 2^105 - 2^41 + 2^9 - 2^71 - 2^103 > 0
- * out[3] > 2^105 - 2^41 + 2^9 - 2^71 - 2^103 - 2^103 > 0
- *
- * out[0] < 2^105 + 2^71 + 2^71 + 2^103 < 2^106
- * out[1] < 2^105 + 2^71 + 2^71 + 2^103 < 2^106
- * out[2] < 2^105 + 2^71 + 2^71 + 2^71 + 2^103 < 2^106
- * out[3] < 2^105 + 2^71 + 2^103 + 2^71 < 2^106
- */
-}
-
-/*
- * subtract_u64 sets *result = *result - v and *carry to one if the
- * subtraction underflowed.
- */
-static void subtract_u64(u64 *result, u64 *carry, u64 v)
-{
- uint128_t r = *result;
- r -= v;
- *carry = (r >> 64) & 1;
- *result = (u64)r;
-}
-
-/*
- * felem_contract converts |in| to its unique, minimal representation. On
- * entry: in[i] < 2^109
- */
-static void felem_contract(smallfelem out, const felem in)
-{
- unsigned i;
- u64 all_equal_so_far = 0, result = 0, carry;
-
- felem_shrink(out, in);
- /* small is minimal except that the value might be > p */
-
- all_equal_so_far--;
- /*
- * We are doing a constant time test if out >= kPrime. We need to compare
- * each u64, from most-significant to least significant. For each one, if
- * all words so far have been equal (m is all ones) then a non-equal
- * result is the answer. Otherwise we continue.
- */
- for (i = 3; i < 4; i--) {
- u64 equal;
- uint128_t a = ((uint128_t) kPrime[i]) - out[i];
- /*
- * if out[i] > kPrime[i] then a will underflow and the high 64-bits
- * will all be set.
- */
- result |= all_equal_so_far & ((u64)(a >> 64));
-
- /*
- * if kPrime[i] == out[i] then |equal| will be all zeros and the
- * decrement will make it all ones.
- */
- equal = kPrime[i] ^ out[i];
- equal--;
- equal &= equal << 32;
- equal &= equal << 16;
- equal &= equal << 8;
- equal &= equal << 4;
- equal &= equal << 2;
- equal &= equal << 1;
- equal = ((s64) equal) >> 63;
-
- all_equal_so_far &= equal;
- }
-
- /*
- * if all_equal_so_far is still all ones then the two values are equal
- * and so out >= kPrime is true.
- */
- result |= all_equal_so_far;
-
- /* if out >= kPrime then we subtract kPrime. */
- subtract_u64(&out[0], &carry, result & kPrime[0]);
- subtract_u64(&out[1], &carry, carry);
- subtract_u64(&out[2], &carry, carry);
- subtract_u64(&out[3], &carry, carry);
-
- subtract_u64(&out[1], &carry, result & kPrime[1]);
- subtract_u64(&out[2], &carry, carry);
- subtract_u64(&out[3], &carry, carry);
-
- subtract_u64(&out[2], &carry, result & kPrime[2]);
- subtract_u64(&out[3], &carry, carry);
-
- subtract_u64(&out[3], &carry, result & kPrime[3]);
-}
-
-static void smallfelem_square_contract(smallfelem out, const smallfelem in)
-{
- longfelem longtmp;
- felem tmp;
-
- smallfelem_square(longtmp, in);
- felem_reduce(tmp, longtmp);
- felem_contract(out, tmp);
-}
-
-static void smallfelem_mul_contract(smallfelem out, const smallfelem in1,
- const smallfelem in2)
-{
- longfelem longtmp;
- felem tmp;
-
- smallfelem_mul(longtmp, in1, in2);
- felem_reduce(tmp, longtmp);
- felem_contract(out, tmp);
-}
-
-/*-
- * felem_is_zero returns a limb with all bits set if |in| == 0 (mod p) and 0
- * otherwise.
- * On entry:
- * small[i] < 2^64
- */
-static limb smallfelem_is_zero(const smallfelem small)
-{
- limb result;
- u64 is_p;
-
- u64 is_zero = small[0] | small[1] | small[2] | small[3];
- is_zero--;
- is_zero &= is_zero << 32;
- is_zero &= is_zero << 16;
- is_zero &= is_zero << 8;
- is_zero &= is_zero << 4;
- is_zero &= is_zero << 2;
- is_zero &= is_zero << 1;
- is_zero = ((s64) is_zero) >> 63;
-
- is_p = (small[0] ^ kPrime[0]) |
- (small[1] ^ kPrime[1]) |
- (small[2] ^ kPrime[2]) | (small[3] ^ kPrime[3]);
- is_p--;
- is_p &= is_p << 32;
- is_p &= is_p << 16;
- is_p &= is_p << 8;
- is_p &= is_p << 4;
- is_p &= is_p << 2;
- is_p &= is_p << 1;
- is_p = ((s64) is_p) >> 63;
-
- is_zero |= is_p;
-
- result = is_zero;
- result |= ((limb) is_zero) << 64;
- return result;
-}
-
-static int smallfelem_is_zero_int(const smallfelem small)
-{
- return (int)(smallfelem_is_zero(small) & ((limb) 1));
-}
-
-/*-
- * felem_inv calculates |out| = |in|^{-1}
- *
- * Based on Fermat's Little Theorem:
- * a^p = a (mod p)
- * a^{p-1} = 1 (mod p)
- * a^{p-2} = a^{-1} (mod p)
- */
-static void felem_inv(felem out, const felem in)
-{
- felem ftmp, ftmp2;
- /* each e_I will hold |in|^{2^I - 1} */
- felem e2, e4, e8, e16, e32, e64;
- longfelem tmp;
- unsigned i;
-
- felem_square(tmp, in);
- felem_reduce(ftmp, tmp); /* 2^1 */
- felem_mul(tmp, in, ftmp);
- felem_reduce(ftmp, tmp); /* 2^2 - 2^0 */
- felem_assign(e2, ftmp);
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp); /* 2^3 - 2^1 */
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp); /* 2^4 - 2^2 */
- felem_mul(tmp, ftmp, e2);
- felem_reduce(ftmp, tmp); /* 2^4 - 2^0 */
- felem_assign(e4, ftmp);
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp); /* 2^5 - 2^1 */
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp); /* 2^6 - 2^2 */
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp); /* 2^7 - 2^3 */
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp); /* 2^8 - 2^4 */
- felem_mul(tmp, ftmp, e4);
- felem_reduce(ftmp, tmp); /* 2^8 - 2^0 */
- felem_assign(e8, ftmp);
- for (i = 0; i < 8; i++) {
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp);
- } /* 2^16 - 2^8 */
- felem_mul(tmp, ftmp, e8);
- felem_reduce(ftmp, tmp); /* 2^16 - 2^0 */
- felem_assign(e16, ftmp);
- for (i = 0; i < 16; i++) {
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp);
- } /* 2^32 - 2^16 */
- felem_mul(tmp, ftmp, e16);
- felem_reduce(ftmp, tmp); /* 2^32 - 2^0 */
- felem_assign(e32, ftmp);
- for (i = 0; i < 32; i++) {
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp);
- } /* 2^64 - 2^32 */
- felem_assign(e64, ftmp);
- felem_mul(tmp, ftmp, in);
- felem_reduce(ftmp, tmp); /* 2^64 - 2^32 + 2^0 */
- for (i = 0; i < 192; i++) {
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp);
- } /* 2^256 - 2^224 + 2^192 */
-
- felem_mul(tmp, e64, e32);
- felem_reduce(ftmp2, tmp); /* 2^64 - 2^0 */
- for (i = 0; i < 16; i++) {
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp);
- } /* 2^80 - 2^16 */
- felem_mul(tmp, ftmp2, e16);
- felem_reduce(ftmp2, tmp); /* 2^80 - 2^0 */
- for (i = 0; i < 8; i++) {
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp);
- } /* 2^88 - 2^8 */
- felem_mul(tmp, ftmp2, e8);
- felem_reduce(ftmp2, tmp); /* 2^88 - 2^0 */
- for (i = 0; i < 4; i++) {
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp);
- } /* 2^92 - 2^4 */
- felem_mul(tmp, ftmp2, e4);
- felem_reduce(ftmp2, tmp); /* 2^92 - 2^0 */
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp); /* 2^93 - 2^1 */
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp); /* 2^94 - 2^2 */
- felem_mul(tmp, ftmp2, e2);
- felem_reduce(ftmp2, tmp); /* 2^94 - 2^0 */
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp); /* 2^95 - 2^1 */
- felem_square(tmp, ftmp2);
- felem_reduce(ftmp2, tmp); /* 2^96 - 2^2 */
- felem_mul(tmp, ftmp2, in);
- felem_reduce(ftmp2, tmp); /* 2^96 - 3 */
-
- felem_mul(tmp, ftmp2, ftmp);
- felem_reduce(out, tmp); /* 2^256 - 2^224 + 2^192 + 2^96 - 3 */
-}
-
-static void smallfelem_inv_contract(smallfelem out, const smallfelem in)
-{
- felem tmp;
-
- smallfelem_expand(tmp, in);
- felem_inv(tmp, tmp);
- felem_contract(out, tmp);
-}
-
-/*-
- * Group operations
- * ----------------
- *
- * Building on top of the field operations we have the operations on the
- * elliptic curve group itself. Points on the curve are represented in Jacobian
- * coordinates
- */
-
-/*-
- * point_double calculates 2*(x_in, y_in, z_in)
- *
- * The method is taken from:
- * http://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b
- *
- * Outputs can equal corresponding inputs, i.e., x_out == x_in is allowed.
- * while x_out == y_in is not (maybe this works, but it's not tested).
- */
-static void
-point_double(felem x_out, felem y_out, felem z_out,
- const felem x_in, const felem y_in, const felem z_in)
-{
- longfelem tmp, tmp2;
- felem delta, gamma, beta, alpha, ftmp, ftmp2;
- smallfelem small1, small2;
-
- felem_assign(ftmp, x_in);
- /* ftmp[i] < 2^106 */
- felem_assign(ftmp2, x_in);
- /* ftmp2[i] < 2^106 */
-
- /* delta = z^2 */
- felem_square(tmp, z_in);
- felem_reduce(delta, tmp);
- /* delta[i] < 2^101 */
-
- /* gamma = y^2 */
- felem_square(tmp, y_in);
- felem_reduce(gamma, tmp);
- /* gamma[i] < 2^101 */
- felem_shrink(small1, gamma);
-
- /* beta = x*gamma */
- felem_small_mul(tmp, small1, x_in);
- felem_reduce(beta, tmp);
- /* beta[i] < 2^101 */
-
- /* alpha = 3*(x-delta)*(x+delta) */
- felem_diff(ftmp, delta);
- /* ftmp[i] < 2^105 + 2^106 < 2^107 */
- felem_sum(ftmp2, delta);
- /* ftmp2[i] < 2^105 + 2^106 < 2^107 */
- felem_scalar(ftmp2, 3);
- /* ftmp2[i] < 3 * 2^107 < 2^109 */
- felem_mul(tmp, ftmp, ftmp2);
- felem_reduce(alpha, tmp);
- /* alpha[i] < 2^101 */
- felem_shrink(small2, alpha);
-
- /* x' = alpha^2 - 8*beta */
- smallfelem_square(tmp, small2);
- felem_reduce(x_out, tmp);
- felem_assign(ftmp, beta);
- felem_scalar(ftmp, 8);
- /* ftmp[i] < 8 * 2^101 = 2^104 */
- felem_diff(x_out, ftmp);
- /* x_out[i] < 2^105 + 2^101 < 2^106 */
-
- /* z' = (y + z)^2 - gamma - delta */
- felem_sum(delta, gamma);
- /* delta[i] < 2^101 + 2^101 = 2^102 */
- felem_assign(ftmp, y_in);
- felem_sum(ftmp, z_in);
- /* ftmp[i] < 2^106 + 2^106 = 2^107 */
- felem_square(tmp, ftmp);
- felem_reduce(z_out, tmp);
- felem_diff(z_out, delta);
- /* z_out[i] < 2^105 + 2^101 < 2^106 */
-
- /* y' = alpha*(4*beta - x') - 8*gamma^2 */
- felem_scalar(beta, 4);
- /* beta[i] < 4 * 2^101 = 2^103 */
- felem_diff_zero107(beta, x_out);
- /* beta[i] < 2^107 + 2^103 < 2^108 */
- felem_small_mul(tmp, small2, beta);
- /* tmp[i] < 7 * 2^64 < 2^67 */
- smallfelem_square(tmp2, small1);
- /* tmp2[i] < 7 * 2^64 */
- longfelem_scalar(tmp2, 8);
- /* tmp2[i] < 8 * 7 * 2^64 = 7 * 2^67 */
- longfelem_diff(tmp, tmp2);
- /* tmp[i] < 2^67 + 2^70 + 2^40 < 2^71 */
- felem_reduce_zero105(y_out, tmp);
- /* y_out[i] < 2^106 */
-}
-
-/*
- * point_double_small is the same as point_double, except that it operates on
- * smallfelems
- */
-static void
-point_double_small(smallfelem x_out, smallfelem y_out, smallfelem z_out,
- const smallfelem x_in, const smallfelem y_in,
- const smallfelem z_in)
-{
- felem felem_x_out, felem_y_out, felem_z_out;
- felem felem_x_in, felem_y_in, felem_z_in;
-
- smallfelem_expand(felem_x_in, x_in);
- smallfelem_expand(felem_y_in, y_in);
- smallfelem_expand(felem_z_in, z_in);
- point_double(felem_x_out, felem_y_out, felem_z_out,
- felem_x_in, felem_y_in, felem_z_in);
- felem_shrink(x_out, felem_x_out);
- felem_shrink(y_out, felem_y_out);
- felem_shrink(z_out, felem_z_out);
-}
-
-/* copy_conditional copies in to out iff mask is all ones. */
-static void copy_conditional(felem out, const felem in, limb mask)
-{
- unsigned i;
- for (i = 0; i < NLIMBS; ++i) {
- const limb tmp = mask & (in[i] ^ out[i]);
- out[i] ^= tmp;
- }
-}
-
-/* copy_small_conditional copies in to out iff mask is all ones. */
-static void copy_small_conditional(felem out, const smallfelem in, limb mask)
-{
- unsigned i;
- const u64 mask64 = mask;
- for (i = 0; i < NLIMBS; ++i) {
- out[i] = ((limb) (in[i] & mask64)) | (out[i] & ~mask);
- }
-}
-
-/*-
- * point_add calculates (x1, y1, z1) + (x2, y2, z2)
- *
- * The method is taken from:
- * http://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#addition-add-2007-bl,
- * adapted for mixed addition (z2 = 1, or z2 = 0 for the point at infinity).
- *
- * This function includes a branch for checking whether the two input points
- * are equal, (while not equal to the point at infinity). This case never
- * happens during single point multiplication, so there is no timing leak for
- * ECDH or ECDSA signing.
- */
-void point_add(felem x3, felem y3, felem z3,
- const felem x1, const felem y1, const felem z1,
- const int mixed, const smallfelem x2,
- const smallfelem y2, const smallfelem z2)
-{
- felem ftmp, ftmp2, ftmp3, ftmp4, ftmp5, ftmp6, x_out, y_out, z_out;
- longfelem tmp, tmp2;
- smallfelem small1, small2, small3, small4, small5;
- limb x_equal, y_equal, z1_is_zero, z2_is_zero;
-
- felem_shrink(small3, z1);
-
- z1_is_zero = smallfelem_is_zero(small3);
- z2_is_zero = smallfelem_is_zero(z2);
-
- /* ftmp = z1z1 = z1**2 */
- smallfelem_square(tmp, small3);
- felem_reduce(ftmp, tmp);
- /* ftmp[i] < 2^101 */
- felem_shrink(small1, ftmp);
-
- if (!mixed) {
- /* ftmp2 = z2z2 = z2**2 */
- smallfelem_square(tmp, z2);
- felem_reduce(ftmp2, tmp);
- /* ftmp2[i] < 2^101 */
- felem_shrink(small2, ftmp2);
-
- felem_shrink(small5, x1);
-
- /* u1 = ftmp3 = x1*z2z2 */
- smallfelem_mul(tmp, small5, small2);
- felem_reduce(ftmp3, tmp);
- /* ftmp3[i] < 2^101 */
-
- /* ftmp5 = z1 + z2 */
- felem_assign(ftmp5, z1);
- felem_small_sum(ftmp5, z2);
- /* ftmp5[i] < 2^107 */
-
- /* ftmp5 = (z1 + z2)**2 - (z1z1 + z2z2) = 2z1z2 */
- felem_square(tmp, ftmp5);
- felem_reduce(ftmp5, tmp);
- /* ftmp2 = z2z2 + z1z1 */
- felem_sum(ftmp2, ftmp);
- /* ftmp2[i] < 2^101 + 2^101 = 2^102 */
- felem_diff(ftmp5, ftmp2);
- /* ftmp5[i] < 2^105 + 2^101 < 2^106 */
-
- /* ftmp2 = z2 * z2z2 */
- smallfelem_mul(tmp, small2, z2);
- felem_reduce(ftmp2, tmp);
-
- /* s1 = ftmp2 = y1 * z2**3 */
- felem_mul(tmp, y1, ftmp2);
- felem_reduce(ftmp6, tmp);
- /* ftmp6[i] < 2^101 */
- } else {
- /*
- * We'll assume z2 = 1 (special case z2 = 0 is handled later)
- */
-
- /* u1 = ftmp3 = x1*z2z2 */
- felem_assign(ftmp3, x1);
- /* ftmp3[i] < 2^106 */
-
- /* ftmp5 = 2z1z2 */
- felem_assign(ftmp5, z1);
- felem_scalar(ftmp5, 2);
- /* ftmp5[i] < 2*2^106 = 2^107 */
-
- /* s1 = ftmp2 = y1 * z2**3 */
- felem_assign(ftmp6, y1);
- /* ftmp6[i] < 2^106 */
- }
-
- /* u2 = x2*z1z1 */
- smallfelem_mul(tmp, x2, small1);
- felem_reduce(ftmp4, tmp);
-
- /* h = ftmp4 = u2 - u1 */
- felem_diff_zero107(ftmp4, ftmp3);
- /* ftmp4[i] < 2^107 + 2^101 < 2^108 */
- felem_shrink(small4, ftmp4);
-
- x_equal = smallfelem_is_zero(small4);
-
- /* z_out = ftmp5 * h */
- felem_small_mul(tmp, small4, ftmp5);
- felem_reduce(z_out, tmp);
- /* z_out[i] < 2^101 */
-
- /* ftmp = z1 * z1z1 */
- smallfelem_mul(tmp, small1, small3);
- felem_reduce(ftmp, tmp);
-
- /* s2 = tmp = y2 * z1**3 */
- felem_small_mul(tmp, y2, ftmp);
- felem_reduce(ftmp5, tmp);
-
- /* r = ftmp5 = (s2 - s1)*2 */
- felem_diff_zero107(ftmp5, ftmp6);
- /* ftmp5[i] < 2^107 + 2^107 = 2^108 */
- felem_scalar(ftmp5, 2);
- /* ftmp5[i] < 2^109 */
- felem_shrink(small1, ftmp5);
- y_equal = smallfelem_is_zero(small1);
-
- if (x_equal && y_equal && !z1_is_zero && !z2_is_zero) {
- point_double(x3, y3, z3, x1, y1, z1);
- return;
- }
-
- /* I = ftmp = (2h)**2 */
- felem_assign(ftmp, ftmp4);
- felem_scalar(ftmp, 2);
- /* ftmp[i] < 2*2^108 = 2^109 */
- felem_square(tmp, ftmp);
- felem_reduce(ftmp, tmp);
-
- /* J = ftmp2 = h * I */
- felem_mul(tmp, ftmp4, ftmp);
- felem_reduce(ftmp2, tmp);
-
- /* V = ftmp4 = U1 * I */
- felem_mul(tmp, ftmp3, ftmp);
- felem_reduce(ftmp4, tmp);
-
- /* x_out = r**2 - J - 2V */
- smallfelem_square(tmp, small1);
- felem_reduce(x_out, tmp);
- felem_assign(ftmp3, ftmp4);
- felem_scalar(ftmp4, 2);
- felem_sum(ftmp4, ftmp2);
- /* ftmp4[i] < 2*2^101 + 2^101 < 2^103 */
- felem_diff(x_out, ftmp4);
- /* x_out[i] < 2^105 + 2^101 */
-
- /* y_out = r(V-x_out) - 2 * s1 * J */
- felem_diff_zero107(ftmp3, x_out);
- /* ftmp3[i] < 2^107 + 2^101 < 2^108 */
- felem_small_mul(tmp, small1, ftmp3);
- felem_mul(tmp2, ftmp6, ftmp2);
- longfelem_scalar(tmp2, 2);
- /* tmp2[i] < 2*2^67 = 2^68 */
- longfelem_diff(tmp, tmp2);
- /* tmp[i] < 2^67 + 2^70 + 2^40 < 2^71 */
- felem_reduce_zero105(y_out, tmp);
- /* y_out[i] < 2^106 */
-
- copy_small_conditional(x_out, x2, z1_is_zero);
- copy_conditional(x_out, x1, z2_is_zero);
- copy_small_conditional(y_out, y2, z1_is_zero);
- copy_conditional(y_out, y1, z2_is_zero);
- copy_small_conditional(z_out, z2, z1_is_zero);
- copy_conditional(z_out, z1, z2_is_zero);
- felem_assign(x3, x_out);
- felem_assign(y3, y_out);
- felem_assign(z3, z_out);
-}
diff --git a/third_party/openssl-nistp256c64/ecp_nistp256.h b/third_party/openssl-nistp256c64/ecp_nistp256.h
deleted file mode 100644
index 190b81b61..000000000
--- a/third_party/openssl-nistp256c64/ecp_nistp256.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <stdint.h>
-
-# if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
- /* even with gcc, the typedef won't work for 32-bit platforms */
-typedef __uint128_t uint128_t; /* nonstandard; implemented by gcc on 64-bit
- * platforms */
-typedef __int128_t int128_t;
-# else
-# error "Need GCC 3.1 or later to define type uint128_t"
-# endif
-
-typedef uint8_t u8;
-typedef uint32_t u32;
-typedef uint64_t u64;
-typedef int64_t s64;
-
-/*
- * The representation of field elements.
- * ------------------------------------
- *
- * We represent field elements with either four 128-bit values, eight 128-bit
- * values, or four 64-bit values. The field element represented is:
- * v[0]*2^0 + v[1]*2^64 + v[2]*2^128 + v[3]*2^192 (mod p)
- * or:
- * v[0]*2^0 + v[1]*2^64 + v[2]*2^128 + ... + v[8]*2^512 (mod p)
- *
- * 128-bit values are called 'limbs'. Since the limbs are spaced only 64 bits
- * apart, but are 128-bits wide, the most significant bits of each limb overlap
- * with the least significant bits of the next.
- *
- * A field element with four limbs is an 'felem'. One with eight limbs is a
- * 'longfelem'
- *
- * A field element with four, 64-bit values is called a 'smallfelem'. Small
- * values are used as intermediate values before multiplication.
- */
-
-# define NLIMBS 4
-
-typedef uint128_t limb;
-typedef limb felem[NLIMBS];
-typedef limb longfelem[NLIMBS * 2];
-typedef u64 smallfelem[NLIMBS];
-
-/*
- * The underlying field. P256 operates over GF(2^256-2^224+2^192+2^96-1). We
- * can serialise an element of this field into 32 bytes. We call this an
- * felem_bytearray.
- */
-
-typedef u8 felem_bytearray[32];
-void point_add(felem x3, felem y3, felem z3,
- const felem x1, const felem y1, const felem z1,
- const int mixed, const smallfelem x2,
- const smallfelem y2, const smallfelem z2);
diff --git a/third_party/openssl-nistp256c64/measurements.txt b/third_party/openssl-nistp256c64/measurements.txt
deleted file mode 100644
index 668b1d3ac..000000000
--- a/third_party/openssl-nistp256c64/measurements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
- =*2.20/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 6888031+
- =*2.90/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 6888031+
-1900 =1594*3.10/2.60 ashryn-ht-tb-ac-broadwell 7.1.1 a7ce099b+
-1968 =1968*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
diff --git a/third_party/openssl-nistz256-adx/LICENSE b/third_party/openssl-nistz256-adx/LICENSE
deleted file mode 100644
index 8fbabd8af..000000000
--- a/third_party/openssl-nistz256-adx/LICENSE
+++ /dev/null
@@ -1,125 +0,0 @@
-
- LICENSE ISSUES
- ==============
-
- The OpenSSL toolkit stays under a double license, i.e. both the conditions of
- the OpenSSL License and the original SSLeay license apply to the toolkit.
- See below for the actual license texts.
-
- OpenSSL License
- ---------------
-
-/* ====================================================================
- * Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
- Original SSLeay License
- -----------------------
-
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
diff --git a/third_party/openssl-nistz256-adx/bench_madd.c b/third_party/openssl-nistz256-adx/bench_madd.c
deleted file mode 100644
index 364663d22..000000000
--- a/third_party/openssl-nistz256-adx/bench_madd.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdint.h>
-#include "nistz256.h"
-
-void bench_madd(unsigned char* buf) {
- P256_POINT* r = (P256_POINT*) buf;
- P256_POINT_AFFINE* b = (P256_POINT_AFFINE*) (buf + sizeof(P256_POINT));
- ecp_nistz256_point_add_affine(r, r, b);
-}
diff --git a/third_party/openssl-nistz256-adx/compiler.sh b/third_party/openssl-nistz256-adx/compiler.sh
deleted file mode 100755
index e199b5100..000000000
--- a/third_party/openssl-nistz256-adx/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes $@
diff --git a/third_party/openssl-nistz256-adx/cpu_intel.c b/third_party/openssl-nistz256-adx/cpu_intel.c
deleted file mode 100644
index 92cfcdd43..000000000
--- a/third_party/openssl-nistz256-adx/cpu_intel.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include<stdint.h>
-uint32_t OPENSSL_ia32cap_P[4] = {0,0,0x80100,0}; // have adx
diff --git a/third_party/openssl-nistz256-adx/ecp_nistz256-x86_64.s b/third_party/openssl-nistz256-adx/ecp_nistz256-x86_64.s
deleted file mode 100644
index adcf35249..000000000
--- a/third_party/openssl-nistz256-adx/ecp_nistz256-x86_64.s
+++ /dev/null
@@ -1,6226 +0,0 @@
-.text
-.globl ecp_nistz256_precomputed
-.type ecp_nistz256_precomputed,@object
-.align 4096
-ecp_nistz256_precomputed:
-.long 0x18a9143c,0x79e730d4,0x5fedb601,0x75ba95fc,0x77622510,0x79fb732b,0xa53755c6,0x18905f76,0xce95560a,0xddf25357,0xba19e45c,0x8b4ab8e4,0xdd21f325,0xd2e88688,0x25885d85,0x8571ff18
-.long 0x10ddd64d,0x850046d4,0xa433827d,0xaa6ae3c1,0x8d1490d9,0x73220503,0x3dcf3a3b,0xf6bb32e4,0x61bee1a5,0x2f3648d3,0xeb236ff8,0x152cd7cb,0x92042dbe,0x19a8fb0e,0x0a5b8a3b,0x78c57751
-.long 0x4eebc127,0xffac3f90,0x087d81fb,0xb027f84a,0x87cbbc98,0x66ad77dd,0xb6ff747e,0x26936a3f,0xc983a7eb,0xb04c5c1f,0x0861fe1a,0x583e47ad,0x1a2ee98e,0x78820831,0xe587cc07,0xd5f06a29
-.long 0x46918dcc,0x74b0b50d,0xc623c173,0x4650a6ed,0xe8100af2,0x0cdaacac,0x41b0176b,0x577362f5,0xe4cbaba6,0x2d96f24c,0xfad6f447,0x17628471,0xe5ddd22e,0x6b6c36de,0x4c5ab863,0x84b14c39
-.long 0xc45c61f5,0xbe1b8aae,0x94b9537d,0x90ec649a,0xd076c20c,0x941cb5aa,0x890523c8,0xc9079605,0xe7ba4f10,0xeb309b4a,0xe5eb882b,0x73c568ef,0x7e7a1f68,0x3540a987,0x2dd1e916,0x73a076bb
-.long 0x3e77664a,0x40394737,0x346cee3e,0x55ae744f,0x5b17a3ad,0xd50a961a,0x54213673,0x13074b59,0xd377e44b,0x93d36220,0xadff14b5,0x299c2b53,0xef639f11,0xf424d44c,0x4a07f75f,0xa4c9916d
-.long 0xa0173b4f,0x0746354e,0xd23c00f7,0x2bd20213,0x0c23bb08,0xf43eaab5,0xc3123e03,0x13ba5119,0x3f5b9d4d,0x2847d030,0x5da67bdd,0x6742f2f2,0x77c94195,0xef933bdc,0x6e240867,0xeaedd915
-.long 0x9499a78f,0x27f14cd1,0x6f9b3455,0x462ab5c5,0xf02cfc6b,0x8f90f02a,0xb265230d,0xb763891e,0x532d4977,0xf59da3a9,0xcf9eba15,0x21e3327d,0xbe60bbf0,0x123c7b84,0x7706df76,0x56ec12f2
-.long 0x264e20e8,0x75c96e8f,0x59a7a841,0xabe6bfed,0x44c8eb00,0x2cc09c04,0xf0c4e16b,0xe05b3080,0xa45f3314,0x1eb7777a,0xce5d45e3,0x56af7bed,0x88b12f1a,0x2b6e019a,0xfd835f9b,0x086659cd
-.long 0x9dc21ec8,0x2c18dbd1,0x0fcf8139,0x98f9868a,0x48250b49,0x737d2cd6,0x24b3428f,0xcc61c947,0x80dd9e76,0x0c2b4078,0x383fbe08,0xc43a8991,0x779be5d2,0x5f7d2d65,0xeb3b4ab5,0x78719a54
-.long 0x6245e404,0xea7d260a,0x6e7fdfe0,0x9de40795,0x8dac1ab5,0x1ff3a415,0x649c9073,0x3e7090f1,0x2b944e88,0x1a768561,0xe57f61c8,0x250f939e,0x1ead643d,0x0c0daa89,0xe125b88e,0x68930023
-.long 0xd2697768,0x04b71aa7,0xca345a33,0xabdedef5,0xee37385e,0x2409d29d,0xcb83e156,0x4ee1df77,0x1cbb5b43,0x0cac12d9,0xca895637,0x170ed2f6,0x8ade6d66,0x28228cfa,0x53238aca,0x7ff57c95
-.long 0x4b2ed709,0xccc42563,0x856fd30d,0x0e356769,0x559e9811,0xbcbcd43f,0x5395b759,0x738477ac,0xc00ee17f,0x35752b90,0x742ed2e3,0x68748390,0xbd1f5bc1,0x7cd06422,0xc9e7b797,0xfbc08769
-.long 0xb0cf664a,0xa242a35b,0x7f9707e3,0x126e48f7,0xc6832660,0x1717bf54,0xfd12c72e,0xfaae7332,0x995d586b,0x27b52db7,0x832237c2,0xbe29569e,0x2a65e7db,0xe8e4193e,0x2eaa1bbb,0x152706dc
-.long 0xbc60055b,0x72bcd8b7,0x56e27e4b,0x03cc23ee,0xe4819370,0xee337424,0x0ad3da09,0xe2aa0e43,0x6383c45d,0x40b8524f,0x42a41b25,0xd7663554,0x778a4797,0x64efa6de,0x7079adf4,0x2042170a
-.long 0x0bc6fb80,0x808b0b65,0x3ffe2e6b,0x5882e075,0x2c83f549,0xd5ef2f7c,0x9103b723,0x54d63c80,0x52a23f9b,0xf2f11bd6,0x4b0b6587,0x3670c319,0xb1580e9e,0x55c4623b,0x01efe220,0x64edf7b2
-.long 0xd53c5c9d,0x97091dcb,0xac0a177b,0xf17624b6,0x2cfe2dff,0xb0f13975,0x6c7a574e,0xc1a35c0a,0x93e79987,0x227d3146,0xe89cb80e,0x0575bf30,0x0d1883bb,0x2f4e247f,0x3274c3d0,0xebd51226
-.long 0x56ada97a,0x5f3e51c8,0x8f8b403e,0x4afc964d,0x412e2979,0xa6f247ab,0x6f80ebda,0x675abd1b,0x5e485a1d,0x66a2bd72,0x8f4f0b3c,0x4b2a5caf,0x1b847bba,0x2626927f,0x0502394d,0x6c6fc7d9
-.long 0xa5659ae8,0xfea912ba,0x25e1a16e,0x68363aba,0x752c41ac,0xb8842277,0x2897c3fc,0xfe545c28,0xdc4c696b,0x2d36e9e7,0xfba977c5,0x5806244a,0xe39508c1,0x85665e9b,0x6d12597b,0xf720ee25
-.long 0xd2337a31,0x8a979129,0x0f862bdc,0x5916868f,0x5dd283ba,0x048099d9,0xfe5bfb4e,0xe2d1eeb6,0x7884005d,0x82ef1c41,0xffffcbae,0xa2d4ec17,0x8aa95e66,0x9161c53f,0xc5fee0d0,0x5ee104e1
-.long 0xc135b208,0x562e4cec,0x4783f47d,0x74e1b265,0x5a3f3b30,0x6d2a506c,0xc16762fc,0xecead9f4,0xe286e5b9,0xf29dd4b2,0x83bb3c61,0x1b0fadc0,0x7fac29a4,0x7a75023e,0xc9477fa3,0xc086d5f1
-.long 0x2f6f3076,0x0fc61135,0xe3912a9a,0xc99ffa23,0xd2f8ba3d,0x6a0b0685,0xe93358a4,0xfdc777e8,0x35415f04,0x94a787bb,0x4d23fea4,0x640c2d6a,0x153a35b5,0x9de917da,0x5d5cd074,0x793e8d07
-.long 0x2de45068,0xf4f87653,0x9e2e1f6e,0x37c7a7e8,0xa3584069,0xd0825fa2,0x1727bf42,0xaf2cea7c,0x9e4785a9,0x0360a4fb,0x27299f4a,0xe5fda49c,0x71ac2f71,0x48068e13,0x9077666f,0x83d0687b
-.long 0x15d02819,0x6d3883b2,0x40dd9a35,0x6d0d7550,0x1d2b469f,0x61d7cbf9,0x2efc3115,0xf97b232f,0xb24bcbc7,0xa551d750,0x88a1e356,0x11ea4949,0x93cb7501,0x7669f031,0xca737b8a,0x595dc55e
-.long 0xd837879f,0xa4a319ac,0xed6b67b0,0x6fc1b49e,0x32f1f3af,0xe3959933,0x65432a2e,0x966742eb,0xb4966228,0x4b8dc9fe,0x43f43950,0x96cc6312,0xc9b731ee,0x12068859,0x56f79968,0x7b948dc3
-.long 0xed1f8008,0x61e4ad32,0xd8b17538,0xe6c9267a,0x857ff6fb,0x1ac7c5eb,0x55f2fb10,0x994baaa8,0x1d248018,0x84cf14e1,0x628ac508,0x5a39898b,0x5fa944f5,0x14fde97b,0xd12e5ac7,0xed178030
-.long 0x97e2feb4,0x042c2af4,0xaebf7313,0xd36a42d7,0x084ffdd7,0x49d2c9eb,0x2ef7c76a,0x9f8aa54b,0x09895e70,0x9200b7ba,0xddb7fb58,0x3bd0c66f,0x78eb4cbb,0x2d97d108,0xd84bde31,0x2d431068
-.long 0x172ccd1f,0x4b523eb7,0x30a6a892,0x7323cb28,0xcfe153eb,0x97082ec0,0xf2aadb97,0xe97f6b6a,0xd1a83da1,0x1d3d393e,0x804b2a68,0xa6a7f9c7,0x2d0cb71e,0x4a688b48,0x40585278,0xa9b4cc5f
-.long 0xcb66e132,0x5e5db46a,0x0d925880,0xf1be963a,0x0317b9e2,0x944a7027,0x48603d48,0xe266f959,0x5c208899,0x98db6673,0xa2fb18a3,0x90472447,0x777c619f,0x8a966939,0x2a3be21b,0x3798142a
-.long 0x3298b343,0xb4241cb1,0xb44f65a1,0xa3a14e49,0x3ac77acd,0xc5f4d6cd,0x52b6fc3c,0xd0288cb5,0x1c040abc,0xd5cc8c2f,0x06bf9b4a,0xb675511e,0x9b3aa441,0xd667da37,0x51601f72,0x460d45ce
-.long 0x6755ff89,0xe2f73c69,0x473017e6,0xdd3cf7e7,0x3cf7600d,0x8ef5689d,0xb1fc87b4,0x948dc4f8,0x4ea53299,0xd9e9fe81,0x98eb6028,0x2d921ca2,0x0c9803fc,0xfaecedfd,0x4d7b4745,0xf38ae891
-.long 0xc5e3a3d8,0xd8c5fccf,0x4079dfbf,0xbefd904c,0xfead0197,0xbc6d6a58,0x695532a4,0x39227077,0xdbef42f5,0x09e23e6d,0x480a9908,0x7e449b64,0xad9a2e40,0x7b969c1a,0x9591c2a4,0x6231d792
-.long 0x0f664534,0x87151456,0x4b68f103,0x85ceae7c,0x65578ab9,0xac09c4ae,0xf044b10c,0x33ec6868,0x3a8ec1f1,0x6ac4832b,0x5847d5ef,0x5509d128,0x763f1574,0xf909604f,0xc32f63c4,0xb16c4303
-.long 0x7ca23cd3,0xb6ab2014,0xa391849d,0xcaa7a5c6,0x75678d94,0x5b0673a3,0xdd303e64,0xc982ddd4,0x5db6f971,0xfd7b000b,0x6f876f92,0xbba2cb1f,0x3c569426,0xc77332a3,0x570d74f8,0xa159100c
-.long 0xdec67ef5,0xfd16847f,0x233e76b7,0x742ee464,0xefc2b4c8,0x0b8e4134,0x42a3e521,0xca640b86,0x8ceb6aa9,0x653a0190,0x547852d5,0x313c300c,0x6b237af7,0x24e4ab12,0x8bb47af8,0x2ba90162
-.long 0xa8219bb7,0x3d5e58d6,0x1b06c57f,0xc691d0bd,0xd257576e,0x0ae4cb10,0xd54a3dc3,0x3569656c,0x94cda03a,0xe5ebaebd,0x162bfe13,0x934e82d3,0xe251a0c6,0x450ac0ba,0xdd6da526,0x480b9e11
-.long 0x8cce08b5,0x00467bc5,0x7f178d55,0xb636458c,0xa677d806,0xc5748bae,0xdfa394eb,0x2763a387,0x7d3cebb6,0xa12b448a,0x6f20d850,0xe7adda3e,0x1558462c,0xf63ebce5,0x620088a8,0x58b36143
-.long 0x4d63c0ee,0x8a2cc3ca,0x0fe948ce,0x51233117,0x222ef33b,0x7463fd85,0x7c603d6c,0xadf0c7dc,0xfe7765e5,0x0ec32d3b,0xbf380409,0xccaab359,0x8e59319c,0xbdaa84d6,0x9c80c34d,0xd9a4c280
-.long 0xa059c142,0xa9d89488,0xff0b9346,0x6f5ae714,0x16fb3664,0x068f237d,0x363186ac,0x5853e4c4,0x63c52f98,0xe2d87d23,0x81828876,0x2ec4a766,0xe14e7b1c,0x47b864fa,0x69192408,0x0c0bc0e5
-.long 0xb82e9f3e,0xe4d7681d,0xdf25e13c,0x83200f0b,0x66f27280,0x8909984c,0x75f73227,0x462d7b00,0xf2651798,0xd90ba188,0x36ab1c34,0x74c6e18c,0x5ef54359,0xab256ea3,0xd1aa702f,0x03466612
-.long 0x2ed22e91,0x624d6049,0x6f072822,0x6fdfe0b5,0x39ce2271,0xeeca1115,0xdb01614f,0x98100a4f,0xa35c628f,0xb6b0daa2,0xc87e9a47,0xb6f94d2e,0x1d57d9ce,0xc6773259,0x03884a7b,0xf70bfeec
-.long 0xed2bad01,0x5fb35ccf,0x1da6a5c7,0xa155cbe3,0x30a92f8f,0xc2e2594c,0x5bfafe43,0x649c89ce,0xe9ff257a,0xd158667d,0xf32c50ae,0x9b359611,0x906014cf,0x4b00b20b,0x89bc7d3d,0xf3a8cfe3
-.long 0x248a7d06,0x4ff23ffd,0x878873fa,0x80c5bfb4,0x05745981,0xb7d9ad90,0x3db01994,0x179c85db,0x61a6966c,0xba41b062,0xeadce5a8,0x4d82d052,0xa5e6a318,0x9e91cd3b,0x95b2dda0,0x47795f4f
-.long 0xd55a897c,0xecfd7c1f,0xb29110fb,0x009194ab,0xe381d3b0,0x5f0e2046,0xa98dd291,0x5f3425f6,0x730d50da,0xbfa06687,0x4b083b7f,0x0423446c,0xd69d3417,0x397a247d,0x387ba42a,0xeb629f90
-.long 0xd5cd79bf,0x1ee426cc,0x946c6e18,0x0032940b,0x57477f58,0x1b1e8ae0,0x6d823278,0xe94f7d34,0x782ba21a,0xc747cb96,0xf72b33a5,0xc5254469,0xc7f80c81,0x772ef6de,0x2cd9e6b5,0xd73acbfe
-.long 0x49ee90d9,0x4075b5b1,0xa06e9eba,0x785c339a,0xabf825e0,0xa1030d5b,0xa42931dc,0xcec684c3,0xc1586e63,0x42ab62c9,0x5ab43f2b,0x45431d66,0x55f7835d,0x57c8b2c0,0xc1b7f865,0x033da338
-.long 0xcaa76097,0x283c7513,0x36c83906,0x0a624fa9,0x715af2c7,0x6b20afec,0xeba78bfd,0x4b969974,0xd921d60e,0x220755cc,0x7baeca13,0x9b944e10,0x5ded93d4,0x04819d51,0x6dddfd27,0x9bbff86e
-.long 0x77adc612,0x6b344130,0xbbd803a0,0xa7496529,0x6d8805bd,0x1a1baaa7,0x470343ad,0xc8403902,0x175adff1,0x39f59f66,0xb7d8c5b7,0x0b26d7fb,0x529d75e3,0xa875f5ce,0x41325cc2,0x85efc7e9
-.long 0x1ff6acd3,0x21950b42,0x53dc6909,0xffe70484,0x28766127,0xff4cd0b2,0x4fb7db2b,0xabdbe608,0x5e1109e8,0x837c9228,0xf4645b5a,0x26147d27,0xf7818ed8,0x4d78f592,0xf247fa36,0xd394077e
-.long 0x488c171a,0x0fb9c2d0,0x13685278,0xa78bfbaa,0xd5b1fa6a,0xedfbe268,0x2b7eaba7,0x0dceb8db,0x9ae2b710,0xbf9e8089,0xa4449c96,0xefde7ae6,0xcc143a46,0x43b7716b,0xc3628c13,0xd7d34194
-.long 0x3b3f64c9,0x508cec1c,0x1e5edf3f,0xe20bc0ba,0x2f4318d4,0xda1deb85,0x5c3fa443,0xd20ebe0d,0x73241ea3,0x370b4ea7,0x5e1a5f65,0x61f1511c,0x82681c62,0x99a5e23d,0xa2f54c2d,0xd731e383
-.long 0x83445904,0x2692f36e,0xaf45f9c0,0x2e0ec469,0xc67528b7,0x905a3201,0xd0e5e542,0x88f77f34,0x5864687c,0xf67a8d29,0x22df3562,0x23b92eae,0x9bbec39e,0x5c27014b,0x9c0f0f8d,0x7ef2f226
-.long 0x546c4d8d,0x97359638,0x92f24679,0x5f9c3fc4,0xa8c8acd9,0x912e8bed,0x306634b0,0xec3a318d,0xc31cb264,0x80167f41,0x522113f2,0x3db82f6f,0xdcafe197,0xb155bcd2,0x43465283,0xfba1da59
-.long 0xb212cf53,0xa0425b8e,0xf8557c5f,0x4f2e512e,0x25c4d56c,0xc1286ff9,0xee26c851,0xbb8a0fea,0xe7d6107e,0xc28f70d2,0xe76265aa,0x7ee0c444,0x1d1936b1,0x3df277a4,0xea9595eb,0x1a556e3f
-.long 0xe7305683,0x258bbbf9,0x07ef5be6,0x31eea5bf,0x46c814c1,0x0deb0e4a,0xa7b730dd,0x5cee8449,0xa0182bde,0xeab495c5,0x9e27a6b4,0xee759f87,0x80e518ca,0xc2cf6a68,0xf14cf3f4,0x25e8013f
-.long 0x7e8d7a14,0x8fc44140,0x9556f36a,0xbb1ff3ca,0x14600044,0x6a844385,0x7451ae63,0xba3f0c4a,0x1f9af32a,0xdfcac25b,0xb1f2214b,0x01e0db86,0xa4b596ac,0x4e9a5bc2,0x026c2c08,0x83927681
-.long 0x7acaca28,0x3ec832e7,0xc7385b29,0x1bfeea57,0xfd1eaf38,0x068212e3,0x6acf8ccc,0xc1329830,0x2aac9e59,0xb909f2db,0xb661782a,0x5748060d,0xc79b7a01,0xc5ab2632,0x00017626,0xda44c6c6
-.long 0xa7ea82f0,0xf26c00e8,0xe4299aaf,0x99cac80d,0x7ed78be1,0xd66fe3b6,0x648d02cd,0x305f725f,0x623fb21b,0x33ed1bc4,0x7a6319ad,0xfa70533e,0xbe5ffb3e,0x17ab562d,0x56674741,0x06374994
-.long 0x5c46aa8e,0x69d44ed6,0xa8d063d1,0x2100d5d3,0xa2d17c36,0xcb9727ea,0x8add53b7,0x4c2bab1b,0x15426704,0xa084e90c,0xa837ebea,0x778afcd3,0x7ce477f8,0x6651f701,0x46fb7a8b,0xa0624998
-.long 0xed8a6e19,0xdc1e6828,0x4189d9c7,0x33fc2336,0x671c39bc,0x026f8fe2,0xbc6f9915,0xd40c4ccd,0xf80e75ca,0xafa135bb,0x22adff2c,0x12c651a0,0x4f51ad96,0xc40a04bd,0xbbe4e832,0x04820109
-.long 0x7f4c04cc,0x3667eb1a,0xa9404f84,0x59556621,0x7eceb50a,0x71cdf653,0x9b8335fa,0x994a44a6,0xdbeb9b69,0xd7faf819,0xeed4350d,0x473c5680,0xda44bba2,0xb6658466,0x872bdbf3,0x0d1bc780
-.long 0xa1962f91,0xe535f175,0xed58f5a7,0x6ed7e061,0x2089a233,0x177aa4c0,0xe539b413,0x0dbcb03a,0xbb32e38e,0xe3dc424e,0x6806701e,0x6472e5ef,0x814be9ee,0xdd47ff98,0x35ace009,0x6b60cfff
-.long 0x9ff91fe5,0xb8d3d931,0xf0518eed,0x039c4800,0x9182cb26,0x95c37632,0x82fc568d,0x0763a434,0x383e76ba,0x707c04d5,0x824e8197,0xac98b930,0x91230de0,0x92bf7c8f,0x40959b70,0x90876a01
-.long 0x05968b80,0xdb6d96f3,0x089f73b9,0x380a0913,0xc2c61e01,0x7da70b83,0x569b38c7,0x95fb8394,0x80edfe2f,0x9a3c6512,0x8faeaf82,0x8f726bb9,0x78424bf8,0x8010a4a0,0x0e844970,0x29672044
-.long 0x7a2ad62a,0x63c5cb81,0xac62ff54,0x7ef2b6b9,0xb3ad9db5,0x3749bba4,0x46d5a617,0xad311f2c,0xc2ff3b6d,0xb77a8087,0x367834ff,0xb46feaf3,0x75d6b138,0xf8aa266d,0xec008188,0xfa38d320
-.long 0x696946fc,0x486d8ffa,0xb9cba56d,0x50fbc6d8,0x90f35a15,0x7e3d423e,0xc0dd962c,0x7c3da195,0x3cfd5d8b,0xe673fdb0,0x889dfca5,0x0704b7c2,0xf52305aa,0xf6ce581f,0x914d5e53,0x399d49eb
-.long 0x6ec293cd,0x380a496d,0x8e7051f5,0x733dbda7,0xb849140a,0x037e388d,0x5946dbf6,0xee4b32b0,0xcae368d1,0xb1c4fda9,0xfdb0b2f3,0x5001a7b0,0x2e3ac46e,0x6df59374,0x39b3e656,0x4af675f2
-.long 0x39949296,0x44e38110,0x361db1b5,0x5b63827b,0x206eaff5,0x3e5323ed,0xc21f4290,0x942370d2,0xe0d985a1,0xf2caaf2e,0x7239846d,0x192cc64b,0xae6312f8,0x7c0b8f47,0x96620108,0x7dc61f91
-.long 0xc2da7de9,0xb830fb5b,0x0ff8d3be,0xd0e643df,0x188a9641,0x31ee77ba,0xbcf6d502,0x4e8aa3aa,0x9a49110f,0xf9fb6532,0x2dd6b220,0xd18317f6,0x52c3ea5a,0x7e3ced41,0x7d579c4a,0x0d296a14
-.long 0xed4c3717,0x35d6a53e,0x3d0ed2a3,0x9f8240cf,0xe5543aa5,0x8c0d4d05,0xdd33b4b4,0x45d5bbfb,0x137fd28e,0xfa04cc73,0xc73b3ffd,0x862ac6ef,0x31f51ef2,0x403ff9f5,0xbc73f5a2,0x34d5e0fc
-.long 0x08913f4f,0xf2526820,0xeac93d95,0xea20ed61,0x6ca6b26c,0x51ed38b4,0xea4327b0,0x8662dcbc,0x725d2aaa,0x6daf295c,0x8e52dcda,0xbad2752f,0x0b17dacc,0x2210e721,0xd51e8232,0xa37f7912
-.long 0x44cc3add,0x4f7081e1,0x87be82cf,0xd5ffa1d6,0x0edd6472,0x89890b6c,0x3ed17863,0xada26e1a,0x63483caa,0x276f2715,0x2f6077fd,0xe6924cd9,0x0a466e3c,0x05a7fe98,0xb1902d1f,0xf1c794b0
-.long 0x82a8042c,0xe5213688,0xcd278298,0xd931cfaf,0xf597a740,0x069a0ae0,0xeb59107c,0x0adbb3f3,0x5eaa8eb8,0x983e951e,0x11b48e78,0xe663a8b5,0x8a03f2c5,0x1631cc0d,0x11e271e2,0x7577c11e
-.long 0x08369a90,0x33b2385c,0x190eb4f8,0x2990c59b,0xc68eac80,0x819a6145,0x2ec4a014,0x7a786d62,0x20ac3a8d,0x33faadbe,0x5aba2d30,0x31a21781,0xdba4f565,0x209d2742,0x55aa0fbb,0xdb2ce9e3
-.long 0x168984df,0x8cef334b,0x33879638,0xe81dce17,0x263720f0,0xf6e6949c,0xf593cbec,0x5c56feaf,0xfde58c84,0x8bff5601,0x2eccb314,0x74e24117,0x4c9a8a78,0xbcf01b61,0x544c9868,0xa233e35e
-.long 0x8bd7aff1,0xb3156bf3,0x1d81b146,0x1b5ee4cb,0xd628a915,0x7ba1ac41,0xfd89699e,0x8f3a8f9c,0xa0748be7,0x7329b9c9,0xa92e621f,0x1d391c95,0x4d10a837,0xe51e6b21,0x4947b435,0xd255f53a
-.long 0xf1788ee3,0x07669e04,0xa86938a2,0xc14f27af,0xe93a01c0,0x8b47a334,0xd9366808,0xff627438,0xca2a5965,0x7a0985d8,0xd6e9b9b3,0x3d9a5542,0x4cf972e8,0xc23eb80b,0x4fdf72fd,0x5c1c33bb
-.long 0x74a86108,0x0c4a58d4,0xee4c5d90,0xf8048a8f,0xe86d4c80,0xe3c7c924,0x056a1e60,0x28c889de,0xb214a040,0x57e2662e,0x37e10347,0xe8c48e98,0x80ac748a,0x87742862,0x186b06f2,0xf1c24022
-.long 0x5f74040a,0xac2dd4c3,0xfceac957,0x409aeb71,0x55c4ec23,0x4fbad782,0x8a7b76ec,0xb359ed61,0xed6f4a60,0x12744926,0x4b912de3,0xe21e8d7f,0xfc705a59,0xe2575a59,0xed2dbc0e,0x72f1d4de
-.long 0xeb7926b8,0x3d2b24b9,0xcdbe5509,0xbff88cb3,0xe4dd640b,0xd0f399af,0x2f76ed45,0x3c5fe130,0x3764fb3d,0x6f3562f4,0x3151b62d,0x7b5af318,0xd79ce5f3,0xd5bd0bc7,0xec66890f,0xfdaf6b20
-.long 0x6063540c,0x735c67ec,0xe5f9cb8f,0x50b259c2,0x3f99c6ab,0xb8734f9a,0xa3a7bc85,0xf8cc13d5,0xc5217659,0x80c1b305,0x4ec12a54,0xfe5364d4,0x681345fe,0xbd87045e,0x582f897f,0x7f8efeb1
-.long 0xd5923359,0xe8cbf1e5,0x539b9fb0,0xdb0cea9d,0x49859b98,0x0c5b34cf,0xa4403cc6,0x5e583c56,0xd48185b7,0x11fc1a2d,0x6e521787,0xc93fbc7e,0x05105b8b,0x47e7a058,0xdb8260c8,0x7b4d4d58
-.long 0x46eb842a,0xe33930b0,0x7bdae56d,0x8e844a9a,0x13f7fdfc,0x34ef3a9e,0x636ca176,0xb3768f82,0x4e09e61c,0x2821f4e0,0xa0c7cddc,0x414dc3a1,0x54945fcd,0xd5379437,0xb3555ff1,0x151b6eef
-.long 0x6339c083,0xb31bd613,0xdfb64701,0x39ff8155,0xe29604ab,0x7c3388d2,0xa6b10442,0x1e19084b,0xeccd47ef,0x17cf54c0,0x4a5dfb30,0x89693385,0x47daf9f6,0x69d023fb,0x7d91d959,0x9222840b
-.long 0x803bac62,0x439108f5,0x379bd45f,0x0b7dd91d,0xca63c581,0xd651e827,0x509c104f,0x5c5d75f6,0x1f2dc308,0x7d5fc738,0xd98454be,0x20faa7bf,0xa517b031,0x95374bee,0x642692ac,0xf036b9b1
-.long 0x39842194,0xc5106109,0x49d05295,0xb7e2353e,0xefb42ee0,0xfc8c1d5c,0x08ce811c,0xe04884eb,0x7419f40e,0xf1f75d81,0xa995c241,0x5b0ac162,0xc4c55646,0x120921bb,0x8d33cf97,0x713520c2
-.long 0xe98c5100,0xb4a65a5c,0x2ddd0f5a,0x6cec871d,0x9ba2e78b,0x251f0b7f,0xce3a2a5f,0x224a8434,0x25f5c46f,0x26827f61,0x48545ec0,0x6a22bedc,0xb1bb5cdc,0x25ae5fa0,0xfcb9b98f,0xd693682f
-.long 0x91e5d7d3,0x32027fe8,0x73a07678,0xf14b7d17,0xc0dfdd61,0xf88497b3,0x2a8c4f48,0xf7c2eec0,0x3756e621,0xaa5573f4,0x1825b948,0xc013a240,0x63878572,0x1c03b345,0x653a4184,0xa0472bea
-.long 0x0ac69a80,0xf4222e27,0xf51e54f6,0x34096d25,0x8fffa591,0x00a648cb,0x69b6527f,0x4e87acdc,0xe285ccb4,0x0575e037,0x50ddcf52,0x188089e4,0x870ff719,0xaa96c9a8,0x1fc7e369,0x74a56cd8
-.long 0x1726931a,0x41d04ee2,0x3660ecfd,0x0bbbb2c8,0x24818e18,0xa6ef6de5,0xe7d57887,0xe421cc51,0xbea87be6,0xf127d208,0xb1cdd682,0x16a475d3,0x439b63f7,0x9db1b684,0xf0f113b6,0x5359b3db
-.long 0x8bf06e31,0xdfccf1de,0xdd383901,0x1fdf8f44,0x5017e7d2,0x10775cad,0x58d11eef,0xdfc3a597,0xb1ecff10,0x6ec9c8a0,0x28400549,0xee6ed6cc,0x1b4f8d73,0xb5ad7bae,0xe00aaab9,0x61b4f11d
-.long 0xd4eff2d7,0x7b32d69b,0x4288b60f,0x88ae6771,0x37a1e723,0x159461b4,0x570aae8c,0x1f3d4789,0x7f9871da,0x869118c0,0xf635e278,0x35fbda78,0xe1541dac,0x738f3641,0xc0dae45f,0x6794b13a
-.long 0x09cc0917,0x065064ac,0xc68540fd,0x27c53729,0xef227671,0x0d2d4c8e,0xa1785a04,0xd23a9f80,0x52650359,0x98c59528,0x74a1acad,0xfa09ad01,0x0b55bf5c,0x082d5a29,0x419b8084,0xa40f1c67
-.long 0xdcc18770,0x3a5c752e,0x8825c3a5,0x4baf1f2f,0x21b153ed,0xebd63f74,0xb2f64723,0xa2383e47,0x2646d19a,0xe7bf620a,0x03c83ffd,0x56cb44ec,0x4f6be9f1,0xaf7267c9,0xc06bb5e9,0x8b2dfd7b
-.long 0xa672c5c7,0xb87072f2,0x0d53c5e2,0xeacb11c8,0xff435932,0x22dac29d,0x4408693c,0x37bdb99d,0x2899c20f,0xf6e62fb6,0x447ece24,0x3535d512,0xff577ce3,0xfbdc6b88,0x190575f2,0x726693bd
-.long 0xab4b35a2,0x6772b0e5,0xf5eeaacf,0x1d8b6001,0x795b9580,0x728f7ce4,0x41fb81da,0x4a20ed2a,0x4fec01e6,0x9f685cd4,0xa7ff50ad,0x3ed7ddcc,0x0c2d97fd,0x460fd264,0xeb82f4f9,0x3a241426
-.long 0x6a8ea820,0x17d1df2c,0xf22cc254,0xb2b50d3b,0xb7291426,0x03856cba,0x04f5ee39,0x87fd26ae,0x02bee4ba,0x9cb696cc,0x06820fd6,0x53121804,0x0212e985,0xa5dfc269,0x160f9a09,0x666f7ffa
-.long 0xbccd9617,0xc503cd33,0xba7730a3,0x365dede4,0x5ddb0786,0x798c6355,0xfc9cd3bc,0xa6c3200e,0xe5e35efd,0x060ffb2c,0x5555a1c1,0x99a4e25b,0xf70b3751,0x11d95375,0x160e1bf6,0x0a57354a
-.long 0xf8e4b065,0xecb3ae4b,0x2e53022b,0x07a834c4,0x8692ed96,0x1cd300b3,0x61ee14ec,0x16a6f792,0x6a8649ed,0x8f1063c6,0x869f3e14,0xfbcdfcfe,0x00a7b3ec,0x2cfb97c1,0x7130c2f1,0xcea49b3c
-.long 0xe9d96488,0x462d044f,0x8182a0c1,0x4b53d52e,0x0391e9e9,0x84b6ddd3,0xb1741a09,0x80ab7b48,0x27d3317f,0xec0e15d4,0x1a64671e,0x8dfc1ddb,0xd49c5b92,0x93cc5d5f,0x3674a331,0xc995d53d
-.long 0x090090ae,0x302e41ec,0xedb06830,0x2278a0cc,0xfbc99690,0x1d025932,0xb80d68da,0x0c32fbd2,0xf341a6c1,0xd79146da,0x1bef68a0,0xae0ba139,0x8d774b3a,0xc6b8a563,0x880ba4d7,0x1cf307bd
-.long 0x19803511,0xc033bdc7,0x8888c3be,0xa9f97b3b,0x85c6d05e,0x3d68aebc,0x193919eb,0xc3b88a9d,0xc48b0ee3,0x2d300748,0x07a746c1,0x7506bc7c,0x6e6d57f3,0xfc48437c,0xcfeaa91a,0x5bd71587
-.long 0xc1bc5225,0xa4ed0408,0x2719226d,0xd0b946db,0x758d2d43,0x109ecd62,0x2751759b,0x75c8485a,0x9ce4177a,0xb0b75f49,0x79c10c3d,0x4fa61a1e,0xa167fcd7,0xc062d300,0x750f0fa8,0x4df3874c
-.long 0x83dfedc9,0x29ae2cf9,0x8d87631a,0xf8437134,0x7429c8d2,0xaf571711,0x146d9272,0x18d15867,0x69769bb7,0x83053ecf,0xc479ab82,0xc55eb856,0x21b0f4b2,0x5ef7791c,0x3d491525,0xaa5956ba
-.long 0x9fe20eba,0x407a96c2,0xe52a5ad3,0xf27168bb,0xbf1d9d89,0x43b60ab3,0x710e727a,0xe45c51ef,0x099b4221,0xdfca5276,0x2557a159,0x8dc6407c,0x91035895,0x0ead8335,0x9c55dc32,0x0a9db957
-.long 0xdf61bc76,0xe40736d3,0x3f778cdb,0x13a619c0,0xc56ea28f,0x6dd921a4,0x2fa647b4,0x76a52433,0xac5bdc5d,0x23591891,0xbac7dc01,0xff4a1a72,0x62df8453,0x9905e261,0xe63b265f,0x3ac045df
-.long 0xad53dba7,0x8a3f341b,0x837b625a,0x8ec269cc,0x3ae31189,0xd71a2782,0x55e96120,0x8fb4f9a3,0xff9875cf,0x804af823,0x5d442a9b,0x23224f57,0xecc62679,0x1c4d3b9e,0xa0e7ddb1,0x91da22fb
-.long 0x6c04a661,0xa370324d,0x5e376d17,0x9710d3b6,0x3044e357,0xed8c98f0,0x6422701c,0xc364ebbe,0x7733d61c,0x347f5d51,0xcea826c3,0xd55644b9,0x55a25548,0x80c6e0ad,0x844220a7,0x0aa7641d
-.long 0x31810660,0x1438ec81,0xde4b4043,0x9dfa6507,0xcc3e0273,0x10b515d8,0x28d8cfb2,0x1b6066dd,0x9c9efebd,0xd3b04591,0xa21c1ff4,0x425d4bdf,0xd57607d3,0x5fe5af19,0x54481084,0xbbf773f7
-.long 0x94b03ed1,0x8435bd69,0x634cc546,0xd9ad1de3,0x00e420ca,0x2cf423fc,0xa03096dd,0xeed26d80,0xa4db09d2,0xd7f60be7,0x960622f7,0xf47f569d,0x7296c729,0xe5925fd7,0x26ca2715,0xeff2db26
-.long 0xb913e759,0xa6fcd014,0x8ff4de93,0x53da4786,0xc32068e1,0x14616d79,0xccdf352e,0xb187d664,0x1dc90b59,0xf7afb650,0x7daa1b26,0x8170e943,0x700c0a84,0xc8e3bdd8,0x6482bdfa,0x6e8d345f
-.long 0xc5c5ea50,0x84cfbfa1,0x67960681,0xd3baf14c,0x0dd50942,0x26398403,0x4716a663,0xe4b7839c,0xe7de6dc0,0xd5f1f794,0x622aa7ce,0x5cd0f4d4,0x59acfeec,0x5295f3f1,0x953e0607,0x8d933552
-.long 0x776c5722,0xc7db8ec5,0x2b5f290c,0xdc467e62,0x4ff425a9,0xd4297e70,0x0cf7bb72,0x4be924c1,0xa1892131,0x0d5dc5ae,0xa705c992,0x8bf8a8e3,0x7a305ac5,0x73a0b064,0x9a8c77a8,0x00c9ca4e
-.long 0x83774bdd,0x5dfee80f,0x85734485,0x63131602,0x914a69a9,0xa1b524ae,0xd4e300d7,0xebc2ffaf,0x7cfa46a5,0x52c93db7,0x21653b50,0x71e6161f,0xa4bc580a,0x3574fc57,0xe1bc1253,0xc09015dd
-.long 0xd174d7aa,0x4b7b47b2,0xf3a15d04,0x4072d8e8,0xd6fa07ed,0xeeb7d47f,0xedbdafb1,0x6f2b9ff9,0x3760fe8a,0x18c51615,0xf06c6c13,0x7a96e6bf,0x0ea2d071,0x4d7a0410,0x0be2a5ce,0xa1914e9b
-.long 0xd8a3c5cf,0x5726e357,0x2abb2b13,0x1197ecc3,0x31ae88dd,0x6c0d7f7f,0xfdbb3efe,0x15b20d1a,0x70584039,0xcd06aa26,0xa7dc9747,0x2277c969,0x7855d815,0xbca69587,0x5188b32a,0x899ea238
-.long 0x760c1c9d,0x37d9228b,0x9b5c18da,0xc7efbb11,0x19f6dbc5,0x7f0d1bc8,0x07e6905b,0x4875384b,0x3ba8cd86,0xc7c50baa,0xc2905de0,0xb0ce40fb,0x7a231952,0x70840673,0xcf43de26,0xa912a262
-.long 0xeb5b76c1,0x9c38ddcc,0x26fc0ab4,0x746f5285,0xd62c269f,0x52a63a50,0x99458621,0x60049c55,0x3c2f7c9e,0xe7f48f82,0x917d5cf3,0x6bd99043,0x8701f469,0xeb1317a8,0x9a449fe0,0xbd3fe2ed
-.long 0x12ef3d36,0x421e79ca,0x3e7ea5de,0x9ee3c36c,0xcdff36f7,0xe48198b5,0xc6b82228,0xaff4f967,0xc47adb7e,0x15e19dd0,0x032e7dfa,0x45699b23,0x1fae026a,0x40680c8b,0x550dbf4d,0x5a347a48
-.long 0x3cef0d7d,0xe652533b,0x2bbb4381,0xd94f7b18,0x0e80f500,0x838752be,0x9e9c9bfb,0x8e6e2488,0x16caca6a,0xc9751697,0x38531ad9,0x866c49d8,0x7151ade1,0xc917e239,0x6037c407,0x2d016ec1
-.long 0x00eac3f9,0xa407ccc9,0xe2ed4748,0x835f6280,0x1cc98e0d,0xcc54c347,0xdcb572eb,0x0e969937,0x8f30c9cb,0x1b16c8e8,0x373c4661,0xa606ae75,0x35502cab,0x47aa689b,0x4d9bb64f,0xf89014ae
-.long 0x31c71f7b,0x202f6a9c,0x296ffe5c,0x01f95aa3,0x53cec3a3,0x5fc06014,0x5f498a45,0xeb991237,0x5d91ba87,0xae9a935e,0x0b564a19,0xc6ac6281,0x3bd44e69,0x8a8fe81c,0x9dd11d45,0x7c8b467f
-.long 0xea5b8e69,0xf772251f,0xc5b75fbc,0xaeecb3bd,0x887ff0e5,0x1aca3331,0x19f0a131,0xbe5d49ff,0xe5c8646f,0x582c13aa,0x20e19980,0xdbaa12e8,0xf7abbd94,0x8f40f31a,0x1dfc7663,0x1f13f5a8
-.long 0xaceb4fc0,0x5d81f1ee,0x5e6f0f42,0x36256002,0x751370c8,0x4b67d6d7,0x03e80589,0x2608b698,0x05268301,0xcfc0d2fc,0x40309212,0xa6943d39,0x1fd0e1c2,0x192a90c2,0x37f1dc76,0xb209f113
-.long 0x97bf1298,0xefcc5e06,0x219d639e,0xcbdb6730,0xb81e8c6f,0xd009c116,0x1a7ce2e5,0xa3ffdde3,0xa914d3ba,0xc53fbaaa,0x88df85ee,0x836d500f,0x66ee0751,0xd98dc71b,0x714516fd,0x5a3d7005
-.long 0x39eedbba,0x21d3634d,0x0455a46d,0x35cd2e68,0xf9d7eb0c,0xc8cafe65,0x00cefb3e,0xbda3ce9e,0x2c9cf7a4,0xddc17a60,0x7bcb8773,0x01572ee4,0x8c7548df,0xa92b2b01,0xa84600e3,0x732fd309
-.long 0x16543a40,0xe22109c7,0xfede3c6c,0x9acafd36,0x6824e614,0xfb206852,0xda25dca0,0x2a4544a9,0x91d60b06,0x25985262,0x28753545,0x281b7be9,0x90f13b27,0xec667b1a,0x940e2eb4,0x33a83aff
-.long 0xd5d721d5,0x80009862,0x5bd3a182,0x0c3357a3,0x7aa2cda4,0x27f3a83b,0xf6f83085,0xb58ae74e,0x2e6dad6b,0x2a911a81,0xf43d6c5b,0xde286051,0xf996c4d8,0x4bdccc41,0x0ae1e24e,0xe7312ec0
-.long 0x6e6485b3,0xf8d112e7,0x771c52f8,0x4d3e24db,0x684a2f6d,0x48e3ee41,0x21d95551,0x7161957d,0xcdb12a6c,0x19631283,0x2e50e164,0xbf3fa882,0x3166cc73,0xf6254b63,0xaee8cc38,0x3aefa7ae
-.long 0x3b36f9fd,0x79b0fe62,0xfde19fc0,0x26543b23,0x958482ef,0x136e64a0,0x9b095825,0x23f63771,0xb6a1142e,0x14cfd596,0x335aac0b,0x5ea6aac6,0xf3081dd5,0x86a0e8bd,0x003dc12a,0x5fb89d79
-.long 0xf72e34d4,0xf615c33a,0x110eec35,0x0bd9ea40,0xc1dea34e,0x1c12bc5b,0x49ae4699,0x686584c9,0x8c97b942,0x13ad95d3,0x4e5c7562,0x4609561a,0xf2737f89,0x9e94a4ae,0x371c78b6,0xf57594c6
-.long 0xe3779ee3,0x0f0165fc,0xbd495d9e,0xe00e7f9d,0x20284e7a,0x1fa4efa2,0x47ac6219,0x4564bade,0xc4708e8e,0x90e6312a,0xa71e9adf,0x4f5725fb,0x3d684b9f,0xe95f55ae,0x1e94b415,0x47f7ccb1
-.long 0x8d946581,0x7322851b,0xbdf4a012,0xf0d13133,0x6584dae0,0xa3510f69,0x3c9f6c6d,0x03a7c171,0xe475381a,0x5be97f38,0x85823334,0xca1ba422,0x0be17dda,0xf83cc5c7,0x0b918c0f,0x158b1494
-.long 0x522e6b69,0xda3a77e5,0xbbcd6c18,0x69c908c3,0xd924fd56,0x1f1b9e48,0xaa4bb3f7,0x37c64e36,0xee478d7d,0x5a4fdbdf,0x0193f7a0,0xba75c8bc,0x56cd16df,0x84bc1e84,0x46fad151,0x1fb08f08
-.long 0x842e9f30,0x8a7cabf9,0x5eab83af,0xa331d4bf,0x017f2a6a,0xd272cfba,0x83aba0e3,0x27560abc,0x0e3a6b75,0x94b83387,0x6b9f50f5,0x25c6aea2,0xb5fdf6d0,0x803d691d,0xe6333514,0x03b77509
-.long 0x61a341c1,0x36178903,0x0cfd6142,0x3604dc60,0x8533316c,0x022295eb,0x44af2922,0x3dbde4ac,0x1c7eef69,0x898afc5d,0xd14f4fa1,0x58896805,0x203c21ca,0x05002160,0x40ef730b,0x6f0d1f30
-.long 0x196224f8,0x8e8c44d4,0x374d079d,0x75a4ab95,0x7d48f123,0x79085ecc,0x1bf65ad8,0x56f04d31,0xbda602b2,0xe220bf1c,0xf9612c69,0x73ee1742,0x084fd06b,0x76008fc8,0xf11380d1,0x4000ef9f
-.long 0x12cfe297,0x48201b4b,0x292f74e5,0x3eee129c,0xc9e874e8,0xe1fe114e,0x92c5fc41,0x899b055c,0x3a39c8cf,0x4e477a64,0x78963cc9,0x82f09efe,0xd333f863,0x6fd3fd8f,0xdc949c63,0x85132b2a
-.long 0x516eb17b,0x7e06a3ab,0xd2c7372b,0x73bec06f,0xba896da6,0xe4f74f55,0x8e9eb40f,0xbb4afef8,0xe61d66b0,0x2d75bec8,0xef29300b,0x02bda4b4,0x026baa5a,0x8bbaa8de,0xa07f4440,0xff54befd
-.long 0xbe7a2af3,0xbd9b8b1d,0x4fb74a72,0xec51caa9,0x63879697,0xb9937a4b,0xec2687d5,0x7c9a9d20,0x6ef5f014,0x1773e44f,0xe90c6900,0x8abcf412,0x8142161e,0x387bd022,0xfcb6ff2a,0x50393755
-.long 0xed6def63,0x9813fd56,0x7d53106c,0x53cf6482,0x431f7ac1,0x991a35bd,0x63e65faf,0xf1e274dd,0x44cc7880,0xf63ffa3c,0x7c256981,0x411a426b,0x93a420e0,0xb698b9fd,0xae53f8fe,0x89fdddc0
-.long 0x32398baa,0x766e0722,0x5cfca031,0x205fee42,0x7a029cf2,0xa49f5341,0x4023890d,0xa88c68b8,0x7337aaa8,0xbc275041,0x0eb384f4,0x9ed364ad,0x29aba92f,0xe0816f85,0x04e38a88,0x2e9e1941
-.long 0x3dafd2d5,0x57eef44a,0x97ed98d8,0x35d1fae5,0x2307f9b1,0x50628c09,0xd6cba5c6,0x09d84aae,0x88aaa691,0x67071bc7,0xafe6cb03,0x2dea57a9,0x3d78ac01,0xdfe11bb4,0x7fd7aa51,0x7286418c
-.long 0x77f7195a,0xfabf7709,0xadeb838f,0x8ec86167,0xbb4f012d,0xea1285a8,0x9a3eab3f,0xd6883503,0x309004c2,0xee5d24f8,0x13ffe95e,0xa96e4b76,0xbd223ea4,0x0cdffe12,0xb6739a53,0x8f5c2ee5
-.long 0xdd968198,0x5cb4aaa5,0x72413a6c,0xfa131c52,0x9536d903,0x53d46a90,0x48606d8e,0xb270f0d3,0xa053a3bc,0x518c7564,0x1a86caef,0x088254b7,0x0ab5efd0,0xb3ba8cb4,0x4605945d,0x5c59900e
-.long 0xa1887395,0xecace1dd,0x932a65de,0x40960f36,0x3aa95529,0x9611ff5c,0x7c1e5a36,0xc58215b0,0xf0e1a524,0xd48c9b58,0xf590dfb8,0xb406856b,0x9cd95662,0xc7605e04,0xa33ecf82,0x0dd036ee
-.long 0xc33156b3,0xa50171ac,0x4a80172e,0xf09d24ea,0x76dc8eef,0x4e1f72c6,0x5e3d44ee,0xe60caadc,0x979b1d8f,0x006ef8a6,0x97788d26,0x60908a1c,0x266feec0,0x6e08f95b,0x22e8c94e,0x618427c2
-.long 0x59145a65,0x3d613339,0xfa406337,0xcd9bc368,0x2d8a52a0,0x82d11be3,0x97a1c590,0xf6877b27,0xf5cbdb25,0x837a819b,0xde090249,0x2a4fd1d8,0x74990e5f,0x622a7de7,0x7945511b,0x840fa5a0
-.long 0x6558842d,0x30b974be,0x17f3d0a6,0x70df8c64,0x7542e46d,0x7c803520,0xe4ecc823,0x7251fe7f,0x5e9aac9a,0xe59134cb,0xf0045d71,0x11bb0934,0xdbcb1d4e,0x53e5d9b5,0x92defc91,0x8d97a905
-.long 0x7946d3f9,0xfe289327,0x07472273,0xe132bd24,0x1eb6ae86,0xeeeb510c,0xf0595067,0x777708c5,0x1297029e,0x18e2c8cd,0xbbf9305e,0x2c61095c,0x6b85d6d9,0xe466c258,0xda1ea530,0x8ac06c36
-.long 0xa1304668,0xa365dc39,0x07f89606,0xe4a9c885,0xacc7228d,0x65a4898f,0x84ca8303,0x3e2347ff,0xea7d23a3,0xa5f6fb77,0x672a71cd,0x2fac257d,0x7e6a44d3,0x6908bef8,0x891d3d7a,0x8ff87566
-.long 0x6b0cf82e,0xe58e90b3,0x2615b5e7,0x6438d246,0x669c145a,0x07b1f8fc,0x36f1e1cb,0xb0d8b2da,0xd9184c4d,0x54d5dadb,0xf93d9976,0x3dbb18d5,0xd1147d47,0x0a3e0f56,0xa0a48609,0x2afa8c8d
-.long 0xbc36742c,0x275353e8,0xeea0ed90,0x898f427e,0x3e477b00,0x26f4947e,0x308741e3,0x8ad8848a,0xd74a2a46,0x6c703c38,0x9ba17ba2,0x5e3e05a9,0x4ab9a9e4,0xc1fa6f66,0x3841d6ec,0x474a2d9a
-.long 0x653ae326,0x871239ad,0xa74cbb43,0x14bcf72a,0x20d4c083,0x8737650e,0x110ed4af,0x3df86536,0xb53ca555,0xd2d86fe7,0xabd5d538,0x688cb00d,0x1ad38468,0xcf81bda3,0xf01167b6,0x7ccfe3cc
-.long 0x6c4c1fe6,0xcf4f47e0,0x298bbb79,0x557e1f1a,0x30d45a14,0xf93b974f,0x0baf97c4,0x174a1d2d,0xc51fbf53,0x7a003b30,0xee68b225,0xd8940991,0x1c0f4173,0x5b0aa7b7,0xa20a7153,0x975797c9
-.long 0xe3533d77,0x26e08c07,0x2e341c99,0xd7222e6a,0x8d2dc4ed,0x9d60ec3d,0x7c476cf8,0xbdfe0d8f,0x1d056605,0x1fe59ab6,0x86a8551f,0xa9ea9df6,0x47fb8d8c,0x8489941e,0x4a7f1b10,0xfeb874eb
-.long 0x7ee0d98f,0xfe5fea86,0xdbf61864,0x201ad34b,0x37c031d4,0x45d8fe47,0x795f0822,0xd5f49fae,0xc7f4a40c,0xdb0fb291,0x730ddd92,0x2e69d9c1,0x49d76987,0x754e1054,0x7662db87,0x8a24911d
-.long 0x60a71676,0x61fc1810,0xf66a8ad1,0xe852d1a8,0x6417231e,0x172bbd65,0x3babb11f,0x0d6de7bd,0xc8e347f8,0x6fde6f88,0x9bd99cc3,0x1c587547,0x34076950,0x78e54ed0,0x796e83ba,0x97f0f334
-.long 0x4924867a,0xe4dbe1ce,0x60b84917,0xbd5f51b0,0x3cb09a79,0x37530040,0xff1743d8,0xdb3fe0f8,0x556fa9db,0xed7894d8,0x23412fbf,0xfa262169,0xba7b9291,0x563be0db,0x0c9fb234,0x6ca8b8c0
-.long 0xbd763802,0xed406aa9,0x65303da1,0xc21486a0,0xc7e62ec4,0x61ae291e,0xdf99333e,0x622a0492,0xbb7a8ee0,0x7fd80c9d,0x6c01aedb,0xdc2ed3bc,0x08be74ec,0x35c35a12,0x469f671f,0xd540cb1a
-.long 0xcf84f6c7,0xd16ced4e,0x2d090f43,0x8561fb9c,0x6f239db4,0x7e693d79,0x77bd0d94,0xa736f928,0x2c1950ee,0x07b4d929,0x56dc11b3,0xda177543,0x7a6a878e,0xa5dfbbaa,0x4decb08a,0x1c70cb29
-.long 0x6f0f7c50,0xfba28c8b,0x854dcc6d,0xa8eba2b8,0x36b78642,0x5ff8e89a,0xf6873adf,0x070c1c8e,0x6484d2e4,0xbbd3c371,0x0d414129,0xfb78318f,0x6ad93b0b,0x2621a39c,0xa9e917f7,0x979d74c2
-.long 0x61fb0428,0xfc195647,0xbee624d4,0x4d78954a,0xb8ae86fd,0xb94896e0,0xc91c8b13,0x6667ac0c,0x43bcf832,0x9f180512,0xa0010137,0xfbadf8b7,0xb3ba8aa7,0xc69b4089,0xe687ce85,0xfac4bacd
-.long 0x977eab40,0x9164088d,0x2760b390,0x51f4c5b6,0x340dd553,0xd238238f,0xdb1d31c9,0x358566c3,0x5068f5ff,0x3a5ad69e,0xdaff6b06,0xf31435fc,0xd6debff0,0xae549a5b,0x75e01331,0x59e5f0b7
-.long 0x98559acf,0x5d492fb8,0x4db79b50,0x96018c2e,0x609f66aa,0x55f4a48f,0x4900a14f,0x1943b3af,0x15a40d39,0xc22496df,0x4c20f7c5,0xb2a44684,0x3b98404c,0x76a35afa,0xff5d1b77,0xbec75725
-.long 0xbea06444,0xb67aa163,0xf724b6f2,0x27e95bb2,0xd238c8ab,0x3c20e3e9,0xddd6ae17,0x1213754e,0x716e0f74,0x8c431020,0xffc095c2,0x6679c82e,0xd0ac2932,0x2eb3adf4,0x01bb7a76,0x2cc970d3
-.long 0x740f0e66,0x70c71f2f,0x2b6b23cc,0x545c616b,0xb40a8bd7,0x4528cfcb,0x2ab27722,0xff839633,0x025ac99a,0x049127d9,0x2b63e33b,0xd314d4a0,0x28d84519,0xc8c310e7,0xb3bc84ba,0x0fcb8983
-.long 0x38634818,0x2cc52261,0xb44c2e0b,0x501814f4,0x54dfdba3,0xf7e181aa,0xe759718c,0xcfd58ff0,0xd3b507a8,0xf90cdb14,0xc50bdad8,0x57bd478e,0x50e5f9aa,0x29c197e2,0xe40bc855,0x4db6eef8
-.long 0xd1fc0654,0x2cc8f21a,0x81269d73,0xc71cc963,0x077f49f9,0xecfbb204,0xca56b793,0xdde92571,0xf97ad8f7,0x9abed6a3,0x924de3bd,0xe6c19d3f,0xa140a800,0x8dce92f4,0x1337af07,0x85f44d1e
-.long 0x09d64c52,0x5953c08b,0xf5df9749,0xa1b5e49f,0x52735f7d,0x336a8fb8,0x9add676b,0xb332b6db,0xb4511aa4,0x558b88a0,0xdbd5cc55,0x09788752,0xd8cd52bd,0x16b43b9c,0xc2a2696b,0x7f0bc5a0
-.long 0xc11f61ef,0x146e12d4,0x3a83e79e,0x9ce10754,0x6cbfca15,0x08ec73d9,0x5b49653f,0x09ff29ad,0xe7da946e,0xe31b72bd,0xee80a4f2,0xebf9eb3b,0x17598ce4,0xd1aabd08,0x53f37e80,0x18b5fef4
-.long 0x5958cd79,0xd5d5cdd3,0x1d373114,0x3580a1b5,0xfa935726,0xa36e4c91,0xef20d760,0xa38c534d,0x2ff5845b,0x7088e40a,0xbd78177f,0xe5bb40bd,0x857f9920,0x4f06a7a8,0xe968f05d,0xe3cc3e50
-.long 0xe5682d26,0x1d68b7fe,0xaec7f87c,0x5206f76f,0x041951ab,0x41110530,0xd4b5a71a,0x58ec52c1,0x0f75cf9a,0xf3488f99,0xba82d0d5,0xf411951f,0x618895ab,0x27ee75be,0x6d8aab14,0xeae060d4
-.long 0x7fb54dc2,0x9ae1df73,0x25963649,0x1f3e391b,0xfe055081,0x242ec32a,0x8491c9bd,0x5bd450ef,0x981eb389,0x367efc67,0x3a0550d5,0xed7e1928,0xab3ce75c,0x362e776b,0x1f24c523,0xe890e308
-.long 0xfeccef76,0xb961b682,0x8bba6d92,0x8b8e11f5,0x2b2375c4,0x8f2ccc4c,0xe2f86cfa,0x0d7f7a52,0x9efe5633,0xfd94d30a,0x5451f934,0x2d8d246b,0x244e6a00,0x2234c6e3,0xddec8c50,0xde2b5b0d
-.long 0xbf776f5b,0x2ce53c5a,0x60357b05,0x6f724071,0x71bf3f7a,0xb2593717,0x440c4a9f,0x87d2501c,0x87b05340,0x440552e1,0x21624c32,0xb7bf7cc8,0x22facddb,0x4155a6ce,0x889837ef,0x5a4228cb
-.long 0xfd4fd671,0xef87d6d6,0xc2daa10e,0xa233687e,0x03c0eb96,0x75622244,0x8bf19be6,0x7632d184,0x40735ff4,0x05d0f8e9,0xc00931f1,0x3a3e6e13,0xdafe3f18,0x31ccde6a,0xcfe51207,0xf381366a
-.long 0x60167d92,0x24c222a9,0x7529f18c,0x62f9d6f8,0x0353b114,0x412397c0,0xef808043,0x334d89dc,0x2a4383ce,0xd9ec63ba,0x5cf92ba0,0xcec8e937,0xc8be74c0,0xfb8b4288,0x105d4391,0x67d6912f
-.long 0x1b913149,0x7b996c46,0x3a4e02da,0x36aae2ef,0x972de594,0xb68aa003,0x4ec6d545,0x284ec70d,0x61391d54,0xf3d2b2d0,0xfe114e92,0x69c5d5d6,0xb4482dff,0xbe0f00b5,0xf5bf33c5,0xe1596fa5
-.long 0x96a71cba,0x10595b56,0xfdcadeb7,0x944938b2,0xfccd8471,0xa282da4c,0x0d37bfe1,0x98ec05f3,0x0698304a,0xe171ce1b,0x21bdf79b,0x2d691444,0x1b21dec1,0xd0cd3b74,0x16a15f71,0x712ecd8b
-.long 0x00fd56e1,0x8d4c00a7,0xf9527c18,0x02ec9692,0x4a3e42e1,0x21c44937,0x1392ae0a,0x9176fbab,0x44b7b618,0x8726f1ba,0xf1de491c,0xb4d7aae9,0x07b582c0,0xf91df7b9,0xef60aa3a,0x7e116c30
-.long 0x466265d7,0x99270f81,0x4df7adf0,0xb15b6fe2,0xf9738f7f,0xfe33b2d3,0xd6d70f95,0x48553ab9,0xc21e94db,0x2cc72ac8,0xbdc0bbee,0x795ac38d,0x2e40478f,0x0a1be449,0x052bde55,0x81bd3394
-.long 0x56b3c4f2,0x63c8dbe9,0x904177cc,0x017a99cf,0x4d010fc1,0x947bbddb,0xbb2c9b21,0xacf9b00b,0x47173611,0x2970bc8d,0xac7d756f,0x1a4cbe08,0x67d541a2,0x06d9f4aa,0x59c2cf44,0xa3e8b689
-.long 0x4d88f1dd,0xaad066da,0x7ad35dea,0xc604f165,0x4478ca67,0x7edc0720,0xba02ce06,0xa10dfae0,0xaf36f4e4,0xeceb1c76,0xaf3f8f48,0x994b2292,0x77c8a68c,0xbf9ed77b,0x51744c9d,0x74f544ea
-.long 0x8113a757,0x82d05bb9,0x8a9885e4,0x4ef2d2b4,0x1aa7865f,0x1e332be5,0x290d1a52,0x22b76b18,0x44351683,0x308a2310,0xa3f22840,0x9d861896,0x841ed947,0x5959ddcd,0x154b73bf,0x0def0c94
-.long 0x4c7c15e0,0xf0105417,0x3a277c32,0x539bfb02,0xf9dccf5f,0xe699268e,0x0247a3bd,0x9f5796a5,0x4f157269,0x8b839de8,0x7a30196b,0xc825c1e5,0xdc8a5a91,0x6ef0aabc,0x498b7fe6,0xf4a8ce6c
-.long 0x70cbac78,0x1cce35a7,0xf6b23958,0x83488e9b,0xd76cb011,0x0341a070,0xae1b2658,0xda6c9d06,0xdd648c52,0xb701fb30,0x52fb9fd1,0x994ca02c,0x6f563086,0x06933117,0x17856bab,0x3d2b8100
-.long 0x5963a46e,0xe89f48c8,0xa99e61c7,0x658ab875,0x4b8517b4,0x6e296f87,0xfc1bc656,0x36c4fcdc,0xa3906def,0xde5227a1,0x62418945,0x9fe95f57,0xfdd96cde,0x20c91e81,0xda4480de,0x5adbe47e
-.long 0x396de2b6,0xa009370f,0xf0ecc7bd,0x98583d4b,0xe51d0672,0xf44f6b57,0x556b1984,0x03d6b078,0xb0b64912,0x27dbdd93,0x15687b09,0x9b3a3434,0x51ec20a9,0x0dba6461,0xff28187c,0xec93db7f
-.long 0x66e48bdd,0x00ff8c24,0x11ccd78e,0x2514f2f9,0xe1250603,0xeba11f4f,0x243fa156,0x8a22cd41,0xb283e4c6,0xa4e58df4,0x8b39783f,0x78c29859,0xa5259809,0x5235aee2,0x0e0227dd,0xc16284b5
-.long 0x1338830d,0xa5f57916,0xd2123fca,0x6d4b8a6b,0xf9c546f8,0x236ea68a,0xfa608d36,0xc1d36873,0x8d436d13,0xcd76e495,0x8fb080af,0xd4d9c221,0xe8ad3fb5,0x665c1728,0xb3d572e0,0xcf1ebe4d
-.long 0x584c5e20,0xa7a8746a,0xb9dc7035,0x267e4ea1,0xb9548c9b,0x593a15cf,0x4bd012f3,0x5e6e2135,0x8c8f936e,0xdf31cc6a,0xb5c241dc,0x8af84d04,0x345efb86,0x63990a6f,0xb9b962cb,0x6fef4e61
-.long 0x25722608,0xf6368f09,0x131cf5c6,0x131260db,0xfab4f7ac,0x40eb353b,0x37eee829,0x85c78880,0xc3bdf24e,0x4c1581ff,0xf5c3c5a8,0x5bff75cb,0xa14e6f40,0x35e8c83f,0x0295e0ca,0xb81d1c0f
-.long 0xf43a730f,0xfcde7cc8,0x33ab590e,0xe89b6f3c,0xad03240b,0xc823f529,0x98bea5db,0x82b79afe,0x962fe5de,0x568f2856,0x60c591f3,0x0c590adb,0x4a28a858,0x1fc74a14,0xb3203f4c,0x3b662498
-.long 0x6c39765a,0x91e3cf0d,0xac3cca0b,0xa2db3acd,0xcb953b50,0x288f2f08,0xcf43cf1a,0x2414582c,0x60eee9a8,0x8dec8bbc,0x729aa042,0x54c79f02,0x6532f5d5,0xd81cd5ec,0xcf82e15f,0xa672303a
-.long 0x719c0563,0x376aafa8,0xbc5fc79f,0xcd8ad2dc,0xcb750cd3,0x303fdb9f,0x4418b08e,0x14ff052f,0x3e2d6520,0xf75084cf,0x144ed509,0x7ebdf0f8,0xd3f25b98,0xf43bf0f2,0xa354d837,0x86ad71cf
-.long 0x26f43572,0xb827fe92,0x5d824758,0xdfd3ab5b,0x539094c1,0x315dd23a,0x66623d68,0x85c0e37a,0x7be19ae0,0x575c7972,0xdf0d36b5,0x616a3396,0x26b1ff7e,0xa1ebb3c8,0x140ad453,0x635b9485
-.long 0xda430c0b,0x92bf3cda,0x3a96dac6,0x4702850e,0x15ac326a,0xc91cf0a5,0xab8c25e4,0x95de4f49,0xe265c17c,0xb01bad09,0x087b3881,0x24e45464,0xe1fac5ca,0xd43e583c,0x6ead97a6,0xe17cb318
-.long 0x74dcec46,0x6cc39243,0x54c2b73f,0x33cfc02d,0xf26cd99c,0x82917844,0xd1773f89,0x8819dd95,0x0871f427,0x09572aa6,0xf6f01c34,0x8e0cf365,0xbff1f5af,0x7fa52988,0xe75e8e50,0x4eb357ea
-.long 0x868af75d,0xd9d0c8c4,0x45c8c7ea,0xd7325cff,0xcc81ecb0,0xab471996,0x611824ed,0xff5d55f3,0x1977a0ee,0xbe314541,0x722038c6,0x5085c4c5,0xf94bb495,0x2d5335bf,0xc8e2a082,0x894ad8a6
-.long 0xada35438,0x5c3e2341,0x049b8c4e,0xf4a9fc89,0x9f17cf34,0xbeeb355a,0x6c91fe10,0x3f311e0e,0x92ab9891,0xc2d20038,0x3e8ce9a9,0x257bdcc1,0x88c53bee,0x1b2d9789,0xcdba143a,0x927ce89a
-.long 0x523db280,0xb0a32cca,0x50d43783,0x5c889f8a,0x4897d16f,0x503e04b3,0x08f5f2e8,0x8cdb6e78,0x179c8e74,0x6ab91cf0,0x48211d60,0xd8874e52,0xea851200,0xf948d4d5,0xe6f9840a,0x4076d41e
-.long 0x47b517ea,0xc20e263c,0x30685e5e,0x79a448fd,0xf90631a0,0xe55f6f78,0xa79e6346,0x88a790b1,0x80969fe8,0x62160c7d,0x41491bb9,0x54f92fd4,0x5c957526,0xa6645c23,0xbea3ce7b,0xf44cc5ae
-.long 0x8b1e68b7,0xf7628327,0x303f29d3,0xc731ad7a,0x57d03ecb,0xfe5a9ca9,0x41bc97a7,0x96c0d50c,0x9b4f7f24,0xc4669fe7,0x3d9967ef,0xfdd781d8,0x5d2c208d,0x7892c7c3,0xae545cb3,0x8bf64f7c
-.long 0x467be912,0xc01f862c,0xc73d30cc,0xf4c85ee9,0x6ab83ec7,0x1fa6f4be,0x4e3e3cf9,0xa07a3c1c,0x0c00beb3,0x87f8ef45,0x000d4c3e,0x30e2c2b3,0xfe08bf5b,0x1aa00b94,0x9224ef52,0x32c133aa
-.long 0x32e5685d,0x38df16bb,0x58e6f544,0x68a9e069,0xcdc5ebc6,0x495aaff7,0x378b135f,0xf894a645,0x09e27ecf,0xf316350a,0x58f7179d,0xeced201e,0xe97861ba,0x2eec273c,0xd693be2e,0x47ec2cae
-.long 0xf68367ce,0xfa4c97c4,0xbe5a5755,0xe4f47d0b,0xb298a979,0x17de815d,0xc177dc7d,0xd7eca659,0x49ded0a3,0x20fdbb71,0xfb34d3c5,0x4cb2aad4,0x60858a33,0x2cf31d28,0xa24aa40f,0x3b6873ef
-.long 0x2c11bb37,0x540234b2,0xed4c74a3,0x2d0366dd,0xeec5f25d,0xf9a968da,0x67b63142,0x36601068,0x68d7b6d4,0x07cd6d2c,0x0c842942,0xa8f74f09,0x7768b1ee,0xe2751404,0xfe62aee4,0x4b5f7e89
-.long 0x89070d26,0xc6a77177,0xdd1c8bc7,0xa1f28e4e,0x469e1f17,0xea5f4f06,0xfbdb78e0,0x78fc242a,0x8b0588f1,0xc9c7c592,0x1535921e,0xb6b7a0fd,0xbde5ae35,0xcc5bdb91,0x12ff1864,0xb42c485e
-.long 0xdbab98aa,0xa1113e13,0xa17b1024,0xde9d469b,0xc0462d3a,0x23f48b37,0x7c5c078d,0x3752e537,0x15544eb9,0xe3a86add,0x80fba279,0xf013aea7,0xf22001b5,0x8b5bb76c,0xf02891ab,0xe617ba14
-.long 0x936219d3,0xd39182a6,0xae51cb19,0x5ce1f194,0xbf07a74c,0xc78f8598,0x22cbf1bc,0x6d7158f2,0xe300ce18,0x3b846b21,0x2d11275d,0x35fba630,0xa0239b9b,0x5fe25c36,0xdf05d940,0xd8beb35d
-.long 0x1f7e320d,0x4db02bb0,0x6da320ea,0x0641c364,0x821389a3,0x6d95fa5d,0x8fcd8e3d,0x92699748,0xceb6c143,0x316fef17,0xd933762b,0x67fcb841,0x118b17f8,0xbb837e35,0x9fd24821,0x4b92552f
-.long 0x46aca793,0xae6bc70e,0xe579311b,0x1cf0b0e4,0x5802f716,0x8dc631be,0xbddbee4d,0x099bdc6f,0x0caf8b05,0xcc352bb2,0x72d63df2,0xf74d505a,0x91c4f408,0xb9876d4b,0x9e229b2d,0x1ce18473
-.long 0x83abdb4a,0x49507597,0xdee84b18,0x850fbcb6,0x609e67dc,0x6325236e,0x9336c6d8,0x04d831d9,0xfa12d45d,0x8deaae3b,0x4746e246,0xe425f8ce,0x24f5f31e,0x8004c175,0xad62c3b7,0xaca16d8f
-.long 0x9152f934,0x0dc15a6a,0xed0e12c1,0xf1235e5d,0xda477dac,0xc33c06ec,0xb2ea0006,0x76be8732,0x0c0cd313,0xcf3f7831,0xa614260d,0x3c524553,0xcab22d15,0x31a756f8,0x77827a20,0x03ee10d1
-.long 0x1994ef20,0xd1e059b2,0x638ae318,0x2a653b69,0x2f699010,0x70d5eb58,0x09f5f84a,0x279739f7,0x8b799336,0x5da4663c,0x203c37eb,0xfdfdf14d,0xa1dbfb2d,0x32d8a9dc,0x77d48f9b,0xab40cff0
-.long 0xd20b42d5,0xc018b383,0x9f78845f,0xf9a810ef,0xbdba9df0,0x40af3753,0x131dfdf9,0xb90bdcfc,0xf01ab782,0x18720591,0x6af12a88,0xc823f211,0x0dc14401,0xa51b80f3,0xfb2dfbe3,0xde248f77
-.long 0x0cafe751,0xef5a44e5,0xd4dcd221,0x73997c9c,0xde854024,0x32fd86d1,0xa09b84bb,0xd5b53adc,0xdcedd8d1,0x008d7a11,0x74b32c84,0x406bd1c8,0x05dde8b1,0x5d4472ff,0xfce2b32f,0x2e25f2cd
-.long 0x29dfc254,0xbec0dd5e,0x2b98b267,0x4455fcf6,0xc72df2ad,0x0b4d43a5,0x48a75397,0xea70e6be,0x5820f3bf,0x2aad6169,0x9e37f68f,0xf410d2dd,0x7be5ac83,0x70fb7dba,0x36ec3eec,0x636bb645
-.long 0x9754e21c,0x27104ea3,0x8d63c373,0xbc87a3e6,0x4109db9a,0x483351d7,0x60134da7,0x0fa724e3,0xb0720b16,0x9ff44c29,0x06aceead,0x2dd0cf13,0xe26929a6,0x5942758c,0xb766a92b,0x96c5db92
-.long 0x5f18395e,0xcec7d4c0,0x1f80d032,0xd3f22744,0xcb86075b,0x7a68b37a,0xafef92db,0x074764dd,0x7bc7f389,0xded1e950,0xb9756460,0xc580c850,0x7da48157,0xaeeec2a4,0x82c587b3,0x3f0b4e7f
-.long 0xa9f19c53,0x231c6de8,0x6974e34e,0x5717bd73,0xf1508fa9,0xd9e1d216,0xdadaa124,0x9f112361,0x823b7348,0x80145e31,0xac634069,0x4dd8f0d5,0x2297c258,0xe3d82fc7,0x9cee7431,0x276fcfee
-.long 0x2bc0aea9,0x8eb61b5e,0xde329431,0x4f668fd5,0x38e4b87e,0x03a32ab1,0x73d0ef0b,0xe1374517,0x853ac983,0x1a46f7e6,0x68e78a57,0xc3bdf42e,0x2ea96dd1,0xacf20785,0xf1638460,0xa10649b9
-.long 0x879fbbed,0xf2369f0b,0xda9d1869,0x0ff0ae86,0x56766f45,0x5251d759,0x2be8d0fc,0x4984d8c0,0xd21008f0,0x7ecc95a6,0x3a1a1c49,0x29bd54a0,0xd26c50f3,0xab9828c5,0x51d0d251,0x32c0087c
-.long 0x0c1cdb26,0x9bac3ce6,0x557ca205,0xcd94d947,0x9db1fdcd,0x1b1bd598,0xa3d8b149,0x0eda0108,0x56152fcc,0x95066610,0xe7192b33,0xc2f037e6,0xc92e05a4,0xdeffb41a,0xc2f6c62e,0x1105f6c2
-.long 0x8733913c,0x68e73500,0x3f3adc40,0xcce86163,0x38a278e9,0xf407a942,0x2ab21292,0xd13c1b9d,0x1c74cf5c,0x93ed7ec7,0xf1a4c1b4,0x8887dc48,0x4b3a11f1,0x3830ff30,0x58937cb6,0x358c5a3c
-.long 0x89022829,0x027dc404,0x3b798f79,0x40e93977,0x38be6ead,0x90ad3337,0xf34c0a5d,0x9c23f6bc,0xfbffd8bb,0xd1711a35,0x1949d3dd,0x60fcfb49,0x7825d93a,0x09c8ef4b,0xa0a8c968,0x24233cff
-.long 0xe6d982af,0x67ade46c,0xe7544d7c,0xebb6bf3e,0x3d8bd087,0xd6b9ba76,0x4dc61280,0x46fe382d,0xb5bdbd75,0xbd39a7e8,0xb8f228fe,0xab381331,0xce1c4300,0x0709a77c,0xf337ceac,0x6a247e56
-.long 0x636288be,0x8f34f21b,0xc8a7c305,0x9dfdca74,0xea919e04,0x6decfd1b,0x8e1991f8,0xcdf2688d,0xd0f8a67e,0xe607df44,0x0b58d010,0xd985df4b,0x0c24f8f4,0x57f834c5,0xa0bf01ae,0xe976ef56
-.long 0xa1c32373,0x536395ac,0x734c0a13,0x351027aa,0x5e6bd5bc,0xd2f1b5d6,0x223debed,0x2b539e24,0x0eaa1d71,0xd4994cec,0x661dcf65,0x2a83381d,0x7b54c740,0x5f1aed2f,0xd6dda5ee,0x0bea3fa5
-.long 0x36cc6134,0x9d4fb684,0xc0a443dd,0x8eb9bbf3,0x383b7d2a,0xfc500e2e,0x5b775257,0x7aad621c,0x0a8f7cc0,0x69284d74,0x07562d65,0xe820c2ce,0x499758ee,0xbf9531b9,0x6ee0cc2d,0x73e95ca5
-.long 0xfbaf50a5,0xf61790ab,0x684e0750,0xdf55e76b,0xf176b005,0xec516da7,0x7a2dddc7,0x575553bb,0x553afa73,0x37c87ca3,0x4d55c251,0x315f3ffc,0xaf3e5d35,0xe846442a,0x6495ff28,0x61b91149
-.long 0xfa326dc3,0x23cc95d3,0x18fc2cea,0x1df4da1f,0xd0a37d59,0x24bf9adc,0x320d6e1e,0xb6710053,0x618344d1,0x96f9667e,0xa06445af,0xcc7ce042,0xd68dbc3a,0xa02d8514,0x280b5a5b,0x4ea109e4
-.long 0xb40961bf,0x5741a7ac,0x6aa56bfa,0x4ada5937,0x02b765d1,0x7feb9145,0xe6ad1582,0x561e97be,0xda3982f5,0xbbc4a5b6,0xb546f468,0x0c2659ed,0x59612d20,0xb8e7e6aa,0xac19e8e0,0xd83dfe20
-.long 0xb835398c,0x8530c45f,0xb38a41c2,0x6106a8bf,0x35f5dcdb,0x21e8f9a6,0xcae498ed,0x39707137,0xd8249f00,0x70c23834,0xab2537a0,0x9f14b58f,0x5f61c0c2,0xd043c365,0x09a194a7,0xdc5926d6
-.long 0x8e77738a,0xddec0339,0xfba46426,0xd07a63ef,0xee7f6e86,0x2e58e79c,0xff32d241,0xe59b0459,0x20fa0338,0xc5ec84e5,0xeaff5ace,0x97939ac8,0xb4a38313,0x0310a4e3,0x8f9d9885,0x9115fba2
-.long 0x5fadf8c3,0x8dd710c2,0xce19c0e2,0x66be38a2,0x4cfe5022,0xd42a279c,0x0e24e1b8,0x597bb530,0xc153ca7f,0x3cde86b7,0x707d63bd,0xa8d30fb3,0xbd60d21e,0xac905f92,0x7b9a54ab,0x98e7ffb6
-.long 0xe9726a30,0xd7147df8,0xafce3533,0xb5e216ff,0x2ff1ec40,0xb550b799,0xa1e953fd,0x6b613b87,0x792d5610,0x87b88dba,0xa190fbe1,0x2ee1270a,0x2ef581da,0x02f4e2dc,0xeff82a95,0x016530e4
-.long 0x8fd6ee89,0xcbb93dfd,0x46848fff,0x16d3d986,0x1da47adf,0x600eff24,0x0ad47a71,0x1b9754a0,0x70c33b98,0x8f9266df,0xdf34186e,0xaadc87ae,0x4ad24132,0x0d2ce8e1,0x19946eba,0x8a47cbfc
-.long 0x62b5f3af,0x47feeb66,0x0abb3734,0xcefab561,0x19f35cb1,0x449de60e,0x157f0eb9,0x39f8db14,0x3c61bfd6,0xffaecc5b,0x41216703,0xa5a4d41d,0x224e1cc2,0x7f8fabed,0x871ad953,0x0d5a8186
-.long 0xd22da9a9,0xf10774f7,0xcc8a9b0d,0x45b8a678,0xbdc32cff,0xd9c2e722,0x337202a5,0xbf71b5f5,0x69fc4db9,0x95c57f2f,0x765d01e1,0xb6dad34c,0xcb904635,0x7e0bd13f,0x763a588c,0x61751253
-.long 0x81af2c2d,0xd85c2997,0x81b9d7da,0xc0f7d9c4,0x08533e8d,0x838a34ae,0x311d8311,0x15c4cb08,0x8e121e14,0x97f83285,0x85000a5f,0xeea7dc1e,0x5d256274,0x0c6059b6,0xb95075c0,0xec9beace
-.long 0x1df97828,0x173daad7,0xa8937877,0xbf851cb5,0x01646f3c,0xb083c594,0x50c6d352,0x3bad30cf,0x496bbcea,0xfeb2b202,0x18a1e8ba,0x3cf9fd4f,0x1c066029,0xd26de7ff,0x4e9ed4f8,0x39c81e9e
-.long 0x7b390d35,0xd8be0cb9,0x964aab27,0x01df2bbd,0xc3ef64f8,0x3e8c1a65,0x716ed1dd,0x567291d1,0x5f5406d3,0x95499c6c,0x5ba8e23f,0x71fdda39,0xd5096ece,0xcfeb320e,0xca66dd16,0xbe7ba92b
-.long 0xc6fb5a7d,0x4608d36b,0x6d2dd0e0,0xe3eea15a,0x8f97a36a,0x75b0a3eb,0x1c83de1e,0xf59814cc,0x1c33c23f,0x56c9c5b0,0x6faa4136,0xa96c1da4,0xde316551,0x46bf2074,0x1f756c8f,0x3b866e7b
-.long 0x1495ed6b,0x727727d8,0xb682dce7,0xb2394243,0x758610f3,0x8ab8454e,0x857d72a4,0xc243ce84,0xdbbf370f,0x7b320d71,0x78e0f7ca,0xff9afa37,0xea7b523f,0x0119d1e0,0x058c7d42,0xb997f8cb
-.long 0x37bbb184,0x285bcd2a,0xa45d1fa6,0x51dcec49,0xe29634cb,0x6ade3b64,0x26b86ef1,0x080c94a7,0x2283fbe3,0xba583db1,0x5a9315ed,0x902bddc8,0x86964bec,0x07c1ccb3,0xb6258301,0x78f4eacf
-.long 0x56f90823,0x4bdf3a49,0x741d777b,0xba0f5080,0xf38bf760,0x091d71c3,0x9b625b02,0x9633d50f,0xb8c9de61,0x03ecb743,0x5de74720,0xb4751254,0x74ce1cb2,0x9f9defc9,0x00bd32ef,0x774a4f6a
-.long 0x73848f22,0xaca385f7,0xf3f8558e,0x53dad716,0x93c471f9,0xab7b34b0,0x19644bc7,0xf530e069,0xdd59d31a,0x3d9fb1ff,0x08daa795,0x4382e0df,0xd5cc88d7,0x165c6f4b,0x4a18c900,0xeaa392d5
-.long 0x648024ee,0x94203c67,0x8c2fabcd,0x188763f2,0xbbaec835,0xa80f87ac,0xf29d8d54,0x632c96e0,0x4c00a95e,0x29b0a60e,0xe011e9fa,0x2ef17f40,0x15b77223,0xf6c0e1d1,0x14b04e32,0xaaec2c62
-.long 0x3d84e58c,0xd35688d8,0x958571db,0x2af5094c,0x760682a6,0x4fff7e19,0xe39a407c,0x4cb27077,0x4ff0e321,0x0f59c547,0x1b34c8ff,0x169f34a6,0x52bc1ba7,0x2bff1096,0x83583544,0xa25423b7
-.long 0x0ac8b782,0x5d55d5d5,0x2db3c892,0xff6622ec,0x6b8bb642,0x48fce741,0x69d7e3dc,0x31d6998c,0xcadcaed0,0xdbaf8004,0xd81d053c,0x801b0142,0x59630ec6,0x94b189fc,0xaf762c8e,0x120e9934
-.long 0xfdc6a404,0x53a29aa4,0xa1909948,0x19d8e01e,0xd7e89681,0x3cfcabf1,0x4e132d37,0x3321a50d,0xe9a86111,0xd0496863,0x06a3bc65,0x8c0cde61,0xfc9f8eef,0xaf866c49,0xff7f5141,0x2066350e
-.long 0xe56ddfbd,0x4f8a4689,0xfe32983a,0xea1b0c07,0x873cb8cb,0x2b317462,0x2d93229f,0x658deddc,0x0f64ef58,0x65efaf4d,0x730cc7a8,0xfe43287d,0x3d047d70,0xaebc0c72,0xd92d26c9,0x92efa539
-.long 0x94b56526,0x06e78457,0x0961002d,0x415cb80f,0x76dcb10f,0x89e5c565,0xff9259fe,0x8bbb6982,0x9abc2668,0x4fe8795b,0x1e678fb1,0xb5d4f534,0x7b7da2b9,0x6601f3be,0xa13d6805,0x98da59e2
-.long 0x01799a52,0x190d8ea6,0xb86d2952,0xa20cec41,0x7fff2a7c,0x3062ffb2,0x79f19d37,0x741b32e5,0x4eb57d47,0xf80d8181,0x16aef06b,0x7a2d0ed4,0x1cecb588,0x09735fb0,0xc6061f5b,0x1641caaa
-.long 0x20151427,0x7f99824f,0x92430206,0x206828b6,0xe1112357,0xaa9097d7,0x09e414ec,0xacf9a2f2,0x27915356,0xdbdac9da,0x001efee3,0x7e0734b7,0xd2b288e2,0x54fab5bb,0xf62dd09c,0x4c630fc4
-.long 0x1ac2703b,0x8537107a,0x6bc857b5,0xb49258d8,0xbcdaccd1,0x57df14de,0xc4ae8529,0x24ab68d7,0x734e59d0,0x7ed8b5d4,0xc495cc80,0x5f8740c8,0x291db9b3,0x84aedd5a,0x4fb995be,0x80b360f8
-.long 0x5fa067d1,0xae915f5d,0x9668960c,0x4134b57f,0xa48edaac,0xbd3656d6,0xfc1d7436,0xdac1e3e4,0xd81fbb26,0x674ff869,0xb26c33d4,0x449ed3ec,0xd94203e8,0x85138705,0xbeeb6f4a,0xccde538b
-.long 0xa61a76fa,0x55d5c68d,0xca1554dc,0x598b441d,0x773b279c,0xd39923b9,0x36bf9efc,0x33331d3c,0x298de399,0x2d4c848e,0xa1a27f56,0xcfdb8e77,0x57b8ab70,0x94c855ea,0x6f7879ba,0xdcdb9dae
-.long 0x019f2a59,0x7bdff8c2,0xcb4fbc74,0xb3ce5bb3,0x8a9173dd,0xea907f68,0x95a75439,0x6cd3d0d3,0xefed021c,0x92ecc4d6,0x6a77339a,0x09a9f9b0,0x7188c64a,0x87ca6b15,0x44899158,0x10c29968
-.long 0xed6e82ef,0x5859a229,0x65ebaf4e,0x16f338e3,0x5ead67ae,0x0cd31387,0x54ef0bb4,0x1c73d228,0x74a5c8c7,0x4cb55131,0x7f69ad6a,0x01cd2970,0xe966f87e,0xa04d00dd,0x0b7b0321,0xd96fe447
-.long 0x88fbd381,0x342ac06e,0x5c35a493,0x02cd4a84,0x54f1bbcd,0xe8fa89de,0x2575ed4c,0x341d6367,0xd238202b,0xebe357fb,0xa984ead9,0x600b4d1a,0x52436ea0,0xc35c9f44,0xa370751b,0x96fe0a39
-.long 0x7f636a38,0x4c4f0736,0x0e76d5cb,0x9f943fb7,0xa8b68b8b,0xb03510ba,0x9ed07a1f,0xc246780a,0x6d549fc2,0x3c051415,0x607781ca,0xc2953f31,0xd8d95413,0x955e2c69,0x7bd282e3,0xb300fadc
-.long 0x87e9189f,0x81fe7b50,0xf42dda27,0xdb17375c,0xcf0a5904,0x22f7d896,0xebe348e6,0xa0e57c5a,0xf40e3c80,0xa61011d3,0x8db705c5,0xb1189321,0x50fedec3,0x4ed9309e,0x4d6d5c1d,0xdcf14a10
-.long 0x55691342,0x056c265b,0x91049dc7,0xe8e08504,0xc9bae20a,0x131329f5,0xd9dccdb4,0x96c8b3e8,0xfb4ee6b4,0x8c5ff838,0x41e8ccf0,0xfc5a9aeb,0xfae050c6,0x7417b764,0x00452080,0x0953c3d7
-.long 0x38dfe7e8,0x21372682,0x2bb79d4b,0xea417e15,0x76e7cf2d,0x59641f1c,0xea0bcfcc,0x271e3059,0x7253ecbd,0x624c7dfd,0x4fca6186,0x2f552e25,0x4d866e9c,0xcbf84ecd,0xf68d4610,0x73967709
-.long 0xc27901b4,0xa14b1163,0x899b8bf3,0xfd9236e0,0xcbc6da0a,0x42b091ec,0x5ad1d297,0xbb1dac6f,0xa91cf76e,0x80e61d53,0xd31f1ee7,0x4110a412,0x13efcf77,0x2d87c3ba,0xdf450d76,0x1f374bb4
-.long 0x0d188dab,0x5e78e2f2,0xf4b885ef,0xe3968ed0,0x7314570f,0x46c0568e,0x01170521,0x31616338,0x4f0c8afe,0x18e1e7e2,0xdeea78da,0x4caa75ff,0x7c5d8a51,0x82db67f2,0x6f505370,0x36a44d86
-.long 0x0333974f,0xd72c5bda,0x27a70146,0x5db516ae,0x210ef921,0x34705281,0x0c9c38e5,0xbff17a8f,0x12476da1,0x78f4814e,0x33c16980,0xc1e16613,0x424d4bca,0x9e5b386f,0xc85740de,0x4c274e87
-.long 0x6c2f5226,0xb6a9b88d,0x550d7ca8,0x14d1b944,0x1fc41709,0x580c85fc,0x54c6d519,0xc1da368b,0xd5113cf7,0x2b0785ce,0x5a34708f,0x0670f633,0x15cc3f88,0x46e23767,0x50c72c8f,0x1b480cfa
-.long 0x4147519a,0x20288602,0x26b372f0,0xd0981eac,0xa785ebc8,0xa9d4a7ca,0xdbdf58e9,0xd953c50d,0xfd590f8f,0x9d6361cc,0x44e6c917,0x72e9626b,0x22eb64cf,0x7fd96110,0x9eb288f3,0x863ebb7e
-.long 0x6aca8ee7,0x6e6ab761,0xd7b40358,0x97d10b39,0x1e5feb0d,0x1687d377,0x8265a27a,0xc83e50e4,0xc954b313,0x8f75a9fe,0x310d1f61,0xcc2e8f47,0x6557d0e0,0xf5ba81c5,0x3eaf6207,0x25f9680c
-.long 0x4354080b,0xf95c6609,0x7bf2fe1c,0x5225bfa5,0x5c7d98fa,0xc5c004e2,0x019aaf60,0x3561bf1c,0xba151474,0x5e6f9f17,0xb04f6eca,0xdec2f934,0x269acb1e,0x64e368a1,0x0cdda493,0x1332d9e4
-.long 0xdf23de05,0x60d6cf69,0x009339a0,0x66d17da2,0x0a693923,0x9fcac985,0xed7c6a6d,0xbcf057fc,0xf0b5662c,0xc3c5c8c5,0xdcba4f24,0x25318dd8,0x082b69ff,0x60e8cb75,0x1e728c01,0x7c23b3ee
-.long 0x097e4403,0x15e10a0a,0x19854665,0xcb3d0a86,0xd67d4826,0x88d8e211,0x0b9d2839,0xb39af66e,0xbd475ca8,0xa5f94588,0xc077b80b,0xe06b7966,0xda27c26c,0xfedb1485,0xfe0fd5e0,0xd290d33a
-.long 0xf34fb0fa,0xa40bcc47,0x1fb1ab09,0xb4760cc8,0xa273bfe3,0x8fca0993,0xf70b213c,0x13e4fe07,0xfdb05163,0x3bcdb992,0x0c2b19b6,0x8c484b11,0xaaf2e3e2,0x1acb815f,0xb89ff1b4,0xc6905935
-.long 0x586e74e1,0xb2ad6f9d,0x67b80484,0x488883ad,0x369c3ddb,0x758aa2c7,0x9f9afd31,0x8ab74e69,0x5e21beb1,0x10fc2d28,0x318c42f9,0x3484518a,0x53cf40c3,0x377427dc,0x391bc1d9,0x9de0781a
-.long 0x693807e1,0x8faee858,0x4e81ccc7,0xa3865327,0x6f835b84,0x02c30ff2,0x0d3d38d4,0xb604437b,0x5ca1823d,0xb3fc8a98,0x03be0324,0xb82f7ec9,0xcf684a33,0xee36d761,0x9f29bf7d,0x5a01df0e
-.long 0x1306583d,0x686202f3,0x437c622e,0x05b10da0,0x076a7bc8,0xbf9aaa0f,0x8f8f4e43,0x25e94efb,0xfa3dc26d,0x8a35c9b7,0x96ff03c5,0xe0e5fb93,0xebc394ce,0xa77e3843,0x8361de60,0xcede6595
-.long 0xa1993545,0xd27c22f6,0x24d671ba,0xab01cc36,0xa169c28e,0x63fa2877,0x2eb08376,0x925ef904,0x53aa0b32,0x3b2fa3cf,0x71c49d7a,0xb27beb5b,0xd105e27f,0xb60e1834,0x4f68570d,0xd6089788
-.long 0xd6fbc2ac,0x23094ce0,0x815ff551,0x738037a1,0x6bef119c,0xda73b1bb,0xeef506ba,0xdcf6c430,0xe3ef104a,0x00e4fe7b,0x0a065628,0xebdd9a2c,0x8792043e,0x853a81c3,0xb3b59108,0x22ad6ece
-.long 0x39cd297d,0x9fb813c0,0x05bda5d9,0x8ec7e16e,0x0d104b96,0x2834797c,0x7c511510,0xcc11a2e7,0x96ee6380,0x96ca5a53,0xcea38742,0x054c8655,0xd54dfa7d,0xb5946852,0x1f4ab207,0x97c422e7
-.long 0x0c22b540,0xbf907509,0xb7c267d4,0x2cde42aa,0x5ab0d693,0xba18f9ed,0x6e4660d9,0x3ba62aa6,0xab9ea96a,0xb24bf97b,0xe3b60e32,0x5d039642,0x7c4d9bd5,0x4e6a4506,0x7ed4a6a4,0x666c5b9e
-.long 0x8edbd7cc,0xfa3fdcd9,0xc6ccd753,0x4660bb87,0x21e6b64f,0x9ae90820,0xb36bfb3f,0x8a56a713,0x5726d47f,0xabfce096,0x0b1a9a7f,0x9eed01b2,0x4eb74a37,0x30e9cad4,0x53e9666d,0x7b2524cc
-.long 0x8f4b002f,0x6a29683b,0x41f4fc20,0xc2200d7a,0x3a338acc,0xcf3af47a,0xe7128975,0x6539a4fb,0xc33c7fcf,0xcec31c14,0xc7be322b,0x7eb6799b,0x6646f623,0x119ef4e9,0x54d7299b,0x7b7a26a5
-.long 0x403f46f2,0xcb37f08d,0x1a0ec0c7,0x94b8fc43,0xc332142f,0xbb8514e3,0xe80d2a7a,0xf3ed2c33,0xb639126c,0x8d2080af,0xe3553ade,0xf7b6be60,0x1c7e2b09,0x3950aa9f,0x6410f02b,0x847ff958
-.long 0x678a31b0,0x877b7cf5,0x3998b620,0xd50301ae,0xc00fb396,0x734257c5,0x04e672a6,0xf9fb18a0,0xe8758851,0xff8bd8eb,0x5d99ba44,0x1e64e4c6,0x7dfd93b7,0x4b8eaedf,0x04e76b8c,0xba2f2a98
-.long 0xe8053433,0x7d790cba,0x3d2c9585,0xc8e725a0,0xcdd8f5ed,0x58c5c476,0xefa9fe1d,0xd106b952,0x0eff13a9,0x3c5c775b,0xe057b930,0x242442ba,0xc9b70cbd,0xe9f458d4,0xa3cdb89a,0x69b71448
-.long 0x0e2ed742,0x41ee46f6,0x40067493,0x573f1045,0x9d54c304,0xb1e154ff,0x8d3a7502,0x2ad0436a,0x431a8121,0xee4aaa2d,0x886f11ed,0xcd38b3ab,0x034a0eb7,0x57d49ea6,0xf7e85e58,0xd2b773bd
-.long 0x9b5c1f14,0x4a559ac4,0x3e54df2b,0xc444be1a,0xeda41891,0x13aad704,0x5eb5c788,0xcd927bec,0xe48c8a34,0xeb3c8516,0x4b546669,0x1b7ac812,0x594df8ec,0x1815f896,0x79227865,0x87c6a79c
-.long 0x9b56ddbd,0xae02a2f0,0x8a2f1cf3,0x1339b5ac,0x839dff0d,0xf2b569c7,0xfee9a43d,0xb0b9e864,0x77bb064e,0x4ff8ca41,0xfd249f63,0x145a2812,0xf86f689a,0x3ab7beac,0x01d35f5e,0x9bafec27
-.long 0x4265aa91,0x28054c65,0x035efe42,0xa4b18304,0x9639dec7,0x6887b0e6,0x3d52aea5,0xf4b8f6ad,0x971a8a13,0xfb9293cc,0x4c934d07,0x3f159e5d,0x09acbc29,0x2c50e9b1,0x7154d129,0x08eb65e6
-.long 0x30b75c3e,0x4feff589,0x94491c93,0x0bb82fe2,0x89af62bb,0xd8ac377a,0x9685e49f,0xd7b51490,0x04497f19,0xabca9a7b,0x1a7ad13f,0x1b35ed0a,0x3ec86ed6,0x6b601e21,0xce0c76f1,0xda91fcb9
-.long 0xd7ab27e1,0x9e28507b,0x63945b7b,0x7c19a555,0xaafc9827,0x6b43f0a1,0x3aa55b91,0x443b4fbd,0x6962c88f,0x962b2e65,0xce0db0ca,0x139da8d4,0x1b8d6c4f,0xb93f05dd,0x180b9824,0x779cdff7
-.long 0xae57c7b7,0xbba23fdd,0x1b932522,0x345342f2,0x556d4aa3,0xfd9c80fe,0x6525bb61,0xa03907ba,0xff218933,0x38b010e1,0xaa52117b,0xc066b654,0x94f2e6ea,0x8e141920,0x0d32f2b2,0x66a27dca
-.long 0x048b3717,0x69c7f993,0xb178ae1c,0xbf5a989a,0x564f1d6b,0x49fa9058,0xd31fde4e,0x27ec6e15,0x7276e7fc,0x4cce0373,0x89d6bf02,0x64086d79,0x4ccdd979,0x5a72f046,0x47775631,0x909c3566
-.long 0x75dd7125,0x1c07bc6b,0x87a0428d,0xb4c6bc97,0xfdeb6b9d,0x507ece52,0xb2c95432,0xfca56512,0xd0e8bd06,0x15d97181,0xc6bb46ea,0x384dd317,0x3952b624,0x5441ea20,0x4e7dc2fb,0xbcf70dee
-.long 0x6628e8c3,0x372b016e,0xb60a7522,0x07a0d667,0x0a344ee2,0xcf05751b,0x118bdeec,0x0ec09a48,0xd83dce46,0x6e4b3d4e,0x99d2fc6e,0x43a6316d,0x56cf044c,0xa99d8989,0xae3e5fb7,0x7c7f4454
-.long 0xfbabbe92,0xb2e6b121,0xe1330076,0x281850fb,0x97890015,0x093581ec,0x75ff77f5,0x69b1dded,0xab105105,0x7cf0b18f,0xa89ccfef,0x953ced31,0xeb914009,0x3151f85f,0x88ed48ad,0x3c9f1b87
-.long 0x4a7eadcb,0xc9aba1a1,0x522e71cf,0x928e7501,0x3a2e4f83,0xeaede727,0x1ce3bbd3,0x467e10d1,0xb955dcf0,0xf3442ac3,0xd3d5e527,0xba96307d,0xfd77f474,0xf763a10e,0x6a6e1ff0,0x5d744bd0
-.long 0xa777899e,0xd287282a,0xd03f3cde,0xe20eda8f,0x50b07d31,0x6a7e75bb,0x6f379de4,0x0b7e2a94,0x19f593cf,0x31cb64ad,0x1e76ef1d,0x7b1a9e4f,0xb62d609c,0xe18c9c9d,0xe779a650,0x439bad6d
-.long 0xe032f144,0x219d9066,0xe8b2ec6a,0x1db632b8,0xfda12f78,0xff0d0fd4,0x2a25d265,0x56fb4c2d,0x255a03f1,0x5f4e2ee1,0xe96af176,0x61cd6af2,0xd068bc97,0xe0317ba8,0x264b988e,0x927d6bab
-.long 0xe90fb21e,0xa18f07e0,0xbba7fca1,0x00fd2b80,0x95cd67b5,0x20387f27,0xd39707f7,0x5b89a4e7,0x894407ce,0x8f83ad3f,0x6c226132,0xa0025b94,0xf906c13b,0xc79563c7,0x4e7bb025,0x5f548f31
-.long 0xeac6d113,0x2b4c6b8f,0x0e813c76,0xa67e3f9c,0x3fe1f4b9,0x3982717c,0x26d8050e,0x58865819,0xf7f06f20,0x99f3640c,0x2a66ebc2,0xdc610216,0x767a1e08,0x52f2c175,0x5999871b,0x05660e1a
-.long 0x6d3c4693,0x6b0f1762,0x37ed7bea,0xf0e7d627,0xb75b226d,0xc51758c7,0x1f91613b,0x40a88628,0xbbb38ce0,0x889dbaa7,0xbddcad81,0xe0404b65,0x8bc9671f,0xfebccd3a,0xee1f5375,0xfbf9a357
-.long 0x28f33398,0x5dc169b0,0x72e90f65,0xb07ec11d,0xfaab1eb1,0xae7f3b4a,0x5f17538a,0xd970195e,0x0181e640,0x52b05cbe,0x2643313d,0xf5debd62,0x5df31f82,0x76148154,0x3a9e13c5,0x23e03b33
-.long 0x4fde0c1f,0xff758949,0xe5b6ec20,0xbf8a1abe,0x87e1db6c,0x702278fb,0x35ed658f,0xc447ad7a,0x03d0ccf2,0x48d4aa38,0x819a7c03,0x80acb338,0x6e17cecc,0x9bc7c89e,0x03be1d82,0x46736b8b
-.long 0xc0432f96,0xd65d7b60,0xdeb5442f,0xddebe7a3,0x7dff69a2,0x79a25307,0x02cf3122,0x37a56d94,0xf2350d0a,0x8bab8aed,0x037b0d9a,0x13c3f276,0x44c65cae,0xc664957c,0xc2e71a88,0x88b44089
-.long 0x5cb02664,0xdb88e5a3,0x8686c72e,0x5d4c0bf1,0xa682d53e,0xea3d9b62,0x0b2ad431,0x9b605ef4,0xc69645d0,0x71bac202,0x6a1b66e7,0xa115f03a,0x158f4dc4,0xfe2c563a,0x4d12a78c,0xf715b3a0
-.long 0xd413213a,0x8f7f0a48,0xc04becdb,0x2035806d,0x5d8587f5,0xecd34a99,0x9f6d3a71,0x4d8c3079,0x8d95a8f6,0x1b2a2a67,0xf2110d0d,0xc58c9d7d,0xcf8fba3f,0xdeee81d5,0x0c7cdf68,0xa42be3c0
-.long 0xd43b5eaa,0x2126f742,0xdfa59b85,0x054a0766,0x126bfd45,0x9d0d5e36,0x384f8a8f,0xa1f8fbd7,0xd563fccc,0x317680f5,0xf280a928,0x48ca5055,0x27b578cf,0xe00b81b2,0x2994a514,0x10aad918
-.long 0xb7bdc953,0xd9e07b62,0x5bc086dd,0x9f0f6ff2,0x655eee77,0x09d1ccff,0x5bef7df1,0x45475f79,0x86f702cc,0x3faa28fa,0x0f021f07,0x92e60905,0x7f8fa8c6,0xe9e62968,0xf036ea2c,0xbd71419a
-.long 0x6028da9a,0x171ee1cc,0xc251f573,0x5352fe1a,0x3fa997f4,0xf8ff236e,0xa5749d5f,0xd831b6c9,0xe350e2c2,0x7c872e1d,0x1e0ce403,0xc56240d9,0x6974f5cb,0xf9deb077,0x961c3728,0x7d50ba87
-.long 0x5a3a2518,0xd6f89426,0xc6303d43,0xcf817799,0x619e5696,0x510a0471,0x3a5e307b,0xab049ff6,0xfeb13ec7,0xe4cdf9b0,0x9d8ff90c,0xd5e97117,0x9afa96af,0xf6f64d06,0x9d2012a2,0x00d0bf5e
-.long 0x358bcdc0,0xe63f301f,0x0a9d47f8,0x07689e99,0x4f43d43a,0x1f689e2f,0x90920904,0x4d542a16,0x9ca0a707,0xaea293d5,0x8ac68065,0xd061fe45,0x0090008c,0x1033bf1b,0xc08a6db6,0x29749558
-.long 0xc1d5d034,0x74b5fc59,0x67e215e0,0xf712e9f6,0x860200e6,0xfd520cbd,0x3ea22588,0x0229acb4,0xfff0c82e,0x9cd1e14c,0x59c69e73,0x87684b62,0x96ccb989,0xda85e61c,0xa3d06493,0x2d5dbb02
-.long 0xe86b173c,0xf22ad33a,0xa79ff0e3,0xe8e41ea5,0xdd0d0c10,0x01d2d725,0x032d28f9,0x31f39088,0x7829839e,0x7b3f71e1,0x4502ae58,0x0cf691b4,0xbefc6115,0xef658dbd,0xb3ab5314,0xa5cd6ee5
-.long 0x5f1d2347,0x206c8d7b,0x4cc2253a,0x794645ba,0x58389e08,0xd517d8ff,0x9f847288,0x4fa20dee,0xd797770a,0xeba072d8,0xbf429e26,0x7360c91d,0x80af8279,0x7200a3b3,0x82dadce3,0x6a1c9150
-.long 0xc35d8794,0x0ee6d3a7,0x0356bae5,0x042e6558,0x643322fd,0x9f59698d,0x50a61967,0x9379ae15,0xfcc9981e,0x64b9ae62,0x6d2934c6,0xaed3d631,0x5e4e65eb,0x2454b302,0xf9950428,0xab09f647
-.long 0x22248acc,0xb2083a12,0x3264e366,0x1f6ec0ef,0x5afdee28,0x5659b704,0xe6430bb5,0x7a823a40,0xe1900a79,0x24592a04,0xc9ee6576,0xcde09d4a,0x4b5ea54a,0x52b6463f,0xd3ca65a7,0x1efe9ed3
-.long 0x305406dd,0xe27a6dbe,0xdd5d1957,0x8eb7dc7f,0x387d4d8f,0xf54a6876,0xc7762de4,0x9c479409,0x99b30778,0xbe4d5b5d,0x6e793682,0x25380c56,0xdac740e3,0x602d37f3,0x1566e4ae,0x140deabe
-.long 0xafd32acf,0x4481d067,0xe1f71ccf,0xd8f0fcca,0xb596f2da,0xd208dd0c,0x9aad93f9,0xd049d730,0x42ab580e,0xc79f263d,0x23f707b4,0x09411bb1,0x835e0eda,0x8cfde1ff,0x90f03402,0x72707490
-.long 0xc49a861e,0xeaee6126,0xe14f0d06,0x024f3b65,0xc69bfc17,0x51a3f1e8,0xa7686381,0xc3c3a8e9,0xb103d4c8,0x3400752c,0x9218b36b,0x02bc4613,0x7651504a,0xc67f75eb,0xd02aebfa,0xd6848b56
-.long 0xc30fa92b,0xbd9802e6,0x9a552784,0x5a70d96d,0x3f83169b,0x9085c4ea,0x06908228,0xfa9423bb,0xfe97a5b9,0x2ffebe12,0x71b99118,0x85da6049,0x63178846,0x9cbc2f7f,0x9153218e,0xfd96bc70
-.long 0x1782269b,0x958381db,0x2597e550,0xae34bf79,0x5f385153,0xbb5c6064,0xe3088048,0x6f0e96af,0x77884456,0xbf6a0215,0x69310ea7,0xb3b5688c,0x04fad2de,0x17c94295,0x17896d4d,0xe020f0e5
-.long 0x0976505f,0x730ba0ab,0x095e2ec5,0x567f6813,0x6331ab71,0x47062010,0x41d22b9f,0x72cfa977,0x8a2373da,0x33e55ead,0x7ba45a68,0xa8d0d5f4,0x03029d15,0xba1d8f9c,0xfc55b9f3,0x8f34f1cc
-.long 0xbbe5a1a9,0xcca4428d,0x3126bd67,0x8187fd5f,0x48105826,0x0036973a,0xb8bd61a0,0xa39b6663,0x2d65a808,0x6d42deef,0x94636b19,0x4969044f,0xdd5d564c,0xf611ee47,0xd2873077,0x7b2f3a49
-.long 0x300eb294,0x94157d45,0x169c1494,0x2b2a656e,0xd3a47aa9,0xc000dd76,0xa6243ea4,0xa2864e4f,0xdb89842e,0x82716c47,0x61479fb7,0x12dfd7d7,0xe0b2f6dc,0x3b9a2c56,0xd7f85d67,0x46be862a
-.long 0x0f82b214,0x03b0d8dd,0xf103cbc6,0x460c34f9,0x18d79e19,0xf32e5c03,0xa84117f8,0x8b8888ba,0xc0722677,0x8f3c37dc,0x1c1c0f27,0x10d21be9,0xe0f7a0c6,0xd47c8468,0xadecc0e0,0x9bf02213
-.long 0x42b48b99,0x0baa7d12,0x48424096,0x1bcb665d,0xebfb5cfb,0x8b847cd6,0x9ad4d10d,0x87c2ae56,0x0de36726,0xf1cbb122,0x3fdfbd21,0xe7043c68,0x4e79d460,0x4bd0826a,0x4bd1a2cb,0x11f5e598
-.long 0xb7fe7b6e,0x97554160,0x400a3fb2,0x7d16189a,0xe328ca1e,0xd73e9bea,0xe793d8cc,0x0dd04b97,0x506db8cc,0xa9c83c9b,0xcf38814c,0x5cd47aae,0xb64b45e6,0x26fc430d,0xd818ea84,0x079b5499
-.long 0xc1c24a3b,0xebb01102,0x1c161c1a,0xca24e568,0x36f00a4a,0x103eea69,0x76176c7b,0x9ad76ee8,0x538e0ff7,0x97451fc2,0x6604b3b0,0x94f89809,0x3249cfd7,0x6311436e,0x41224f69,0x27b4a7bd
-.long 0xe0ac2941,0x03b5d21a,0xc2d31937,0x279b0254,0xcac992d0,0x3307c052,0xefa8b1f3,0x6aa7cb92,0x0d37c7a5,0x5a182580,0x342d5422,0x13380c37,0xd5d2ef92,0x92ac2d66,0x030c63c6,0x035a70c9
-.long 0x4ce4f152,0xc16025dd,0xf9df7c06,0x1f419a71,0x91e4bb14,0x6d5b2214,0x839fb4ce,0xfc43c6cc,0x925d6b2d,0x49f06591,0x62186598,0x4b37d9d3,0xd01b1629,0x8c54a971,0x51d50e05,0xe1a9c29f
-.long 0x71ba1861,0x5109b785,0xd0c8f93d,0x48b22d5c,0x8633bb93,0xe8fa84a7,0x5aebbd08,0x53fba6ba,0xe5eea7d8,0x7ff27df3,0x68ca7158,0x521c8796,0xce6f1a05,0xb9d5133b,0xfd0ebee4,0x2d50cd53
-.long 0xc5a3ef16,0xc82115d6,0xba079221,0x993eff9d,0x4b5da81c,0xe4da2c5e,0x8033fd85,0x9a89dbdb,0x2b892891,0x60819ebf,0x5d14a4d5,0x53902b21,0xd7fda421,0x6ac35051,0x61c83284,0xcc6ab885
-.long 0xf74cff17,0x14eba133,0xecb813f2,0x240aaa03,0x6f665bee,0xcfbb6540,0xa425ad73,0x084b1fe4,0xd081f6a6,0x009d5d16,0xeef82c90,0x35304fe8,0xaa9eaa22,0xf20346d5,0xac1c91e3,0x0ada9f07
-.long 0x968a6144,0xa6e21678,0x07b31a1e,0x54c1f77c,0x5781fbe1,0xd6bb787e,0xe31f1c4a,0x61bd2ee0,0x781105fc,0xf25aa1e9,0x7b2f8e80,0x9cf2971f,0xcdff919b,0x26d15412,0x34bc896e,0x01db4ebe
-.long 0xb40df1cf,0x7d9b3e23,0x94e971b4,0x59337373,0x669cf921,0xbf57bd14,0x0c1a1064,0x865daedf,0x83279125,0x3eb70bd3,0x34ecdaab,0xbc3d5b9f,0x5f755caf,0x91e3ed7e,0xd41e6f02,0x49699f54
-.long 0xd4a7a15b,0x185770e1,0xeaac87e7,0x08f3587a,0x473133ea,0x352018db,0x04fd30fc,0x674ce719,0x088b3e0e,0x7b8d9835,0x5d0d47a1,0x7a0356a9,0x6474a3c4,0x9d9e7659,0xff66966c,0x61ea48a7
-.long 0x0f3e4834,0x30417758,0x17a9afcb,0xfdbb21c2,0x2f9a67b3,0x756fa17f,0xa245c1a8,0x2a6b2421,0x4af02291,0x64be2794,0x2a5804fe,0xade465c6,0xa6f08fd7,0x8dffbd39,0xaa14403b,0xc4efa84c
-.long 0x442b0f5c,0xa1b91b2a,0xcf997736,0xb748e317,0xcee90e16,0x8d1b62bf,0x0b2078c0,0x907ae271,0x0c9bcddd,0xdf31534b,0x39adce83,0x043fb054,0xd826846a,0x99031043,0xb144f393,0x61a9c0d6
-.long 0x47718427,0xdab48046,0x6e830f8b,0xdf17ff9b,0xe49a1347,0x408d7ee8,0x91c1d4ae,0x6ac71e23,0x1defd73c,0xc8cbb9fd,0xbbbbfec5,0x19840657,0x9e7ef8ea,0x39db1cb5,0x64105f30,0x78aa8296
-.long 0xa3738c29,0xa3d9b7f0,0xbc3250a3,0x0a2f235a,0x445e4caf,0x55e506f6,0x33475f7a,0x0974f73d,0x5ba2f5a8,0xd37dbba3,0x6af40066,0x542c6e63,0xc5d73e2c,0x26d99b53,0x6c3ca33e,0x06060d7d
-.long 0x065fef4a,0xcdbef1c2,0xfd5b92e3,0x77e60f7d,0x26708350,0xd7c549f0,0x34f121bf,0x201b3ad0,0x0334fc14,0x5fcac2a1,0x344552f6,0x8a9a9e09,0x97653082,0x7dd8a1d3,0x79d4f289,0x5fc0738f
-.long 0x17d2d8c3,0x787d244d,0x70830684,0xeffc6345,0xe4f73ae5,0x5ddb96dd,0x172549a5,0x8efb14b1,0x2245ae7a,0x6eb73eee,0xea11f13e,0xbca4061e,0x30b01f5d,0xb577421d,0x782e152c,0xaa688b24
-.long 0xbd3502ba,0x67608e71,0xb4de75a0,0x4ef41f24,0xfd6125e5,0xb08dde5e,0xa409543f,0xde484825,0x65cc2295,0x1f198d98,0x6e0edfa2,0x428a3771,0xadf35fc7,0x4f9697a2,0xf7cac3c7,0x01a43c79
-.long 0x0fd3659a,0xb05d7059,0xbb7f2d9a,0x8927f30c,0x8cf984d3,0x4023d1ac,0x02897a45,0x32125ed3,0x3d414205,0xfb572dad,0xe3fa82a9,0x73000ef2,0xf10a5581,0x4c0868e9,0x6b0b3ca5,0x5b61fc67
-.long 0x7cae440c,0xc1258d5b,0x402b7531,0x21c08b41,0xde932321,0xf61a8955,0x2d1408af,0x3568faf8,0x9ecf965b,0x71b15e99,0xe917276f,0xf14ed248,0x820cf9e2,0xc6f4caa1,0x18d83c7e,0x681b20b2
-.long 0xc6c01120,0x6cde738d,0xae70e0db,0x71db0813,0x74afe18c,0x95fc0644,0x129e2be7,0x34619053,0xdb2a3b15,0x80615cea,0xdb4c7073,0x0a49a19e,0x8fd2d367,0x0e1b84c8,0x033fb8aa,0xd74bf462
-.long 0x533ef217,0x889f6d65,0xc3ca2e87,0x7158c7e4,0xdc2b4167,0xfb670dfb,0x844c257f,0x75910a01,0xcf88577d,0xf336bf07,0xe45e2ace,0x22245250,0x7ca23d85,0x2ed92e8d,0x2b812f58,0x29f8be4c
-.long 0x076fe12b,0xdd9ebaa7,0xae1537f9,0x3f2400cb,0x17bdfb46,0x1aa93528,0x67883b41,0xc0f98430,0x0170911d,0x5590ede1,0x34d4b17f,0x7562f5bb,0x1826b8d2,0xe1fa1df2,0x6bd80d59,0xb40b796a
-.long 0x3467ba92,0xd65bf197,0xf70954b0,0x8c9b46db,0x0e78f15d,0x97c8a0f3,0x85a4c961,0xa8f3a69a,0x61e4ce9b,0x4242660f,0x6ea6790c,0xbf06aab3,0xec986416,0xc6706f8e,0x9a9fc225,0x9e56dec1
-.long 0x9a9898d9,0x527c46f4,0x5633cdef,0xd799e77b,0x7d9e4297,0x24eacc16,0x6b1cb734,0xabb61cea,0xf778443c,0xbee2e8a7,0x29de2fe6,0x3bb42bf1,0x3003bb6f,0xcbed86a1,0xd781cdf6,0xd3918e6c
-.long 0x9a5103f1,0x4bee3271,0xf50eac06,0x5243efc6,0x6adcc119,0xb8e122cb,0xc0b80a08,0x1b7faa84,0x6dfcd08c,0x32c3d1bd,0x0be427de,0x129dec4e,0x1d263c83,0x98ab679c,0xcef64eff,0xafc83cb7
-.long 0x2fa6be76,0x85eb6088,0x1328cbfe,0x892585fb,0xcf618dda,0xc154d3ed,0x3abaf26e,0xc44f601b,0x2be1fdfd,0x7bf57d0b,0x21137fee,0xa833bd2d,0x2db591a8,0x9353af36,0x5562a056,0xc76f26dc
-.long 0x3fdf5a51,0x1d87e47d,0x55c9cab0,0x7afb5f93,0x89e0586e,0x91bbf58f,0x0d843709,0x7c72c018,0x99b5c3dc,0xa9a5aafb,0x3844aeb0,0xa48a0f1d,0xb667e482,0x7178b7dd,0x6e23a59a,0x453985e9
-.long 0x01b25dd8,0x4a54c860,0xfb897c8a,0x0dd37f48,0x0ea90cd9,0x5f8aa610,0x16d5830d,0xc8892c68,0xef514ca5,0xeb4befc0,0xe72c9ee6,0x478eb679,0xdbc40d5f,0x9bca20da,0xdde4f64a,0xf015de21
-.long 0xeaf4b8a5,0xaa6a4de0,0x4bc60e32,0x68cfd9ca,0x7fd15e70,0x668a4b01,0xf27dc09d,0xd9f0694a,0xba708bcd,0xf6c3cad5,0x5bb95c2a,0x5cd2ba69,0x33c0a58f,0xaa28c1d3,0xabc77870,0x23e274e3
-.long 0xdfd20a4a,0x44c3692d,0x81a66653,0x091c5fd3,0x09a0757d,0x6c0bb691,0x667343ea,0x9072e8b9,0x80848bec,0x31d40eb0,0x79fd36cc,0x95bd480a,0x65ed43f5,0x01a77c61,0x2e0d40bf,0xafccd127
-.long 0x1cc1884b,0xeccfc82d,0x5d4753b4,0xc85ac201,0x658e099f,0xc7a6caac,0x04b27390,0xcf46369e,0x506467ea,0xe2e7d049,0x37cdeccc,0x481b63a2,0xed80143a,0x4029abd8,0xbcb00b88,0x28bfe3c7
-.long 0x0643d84a,0x3bec1009,0xabd11041,0x885f3668,0xf83a34d6,0xdb02432c,0x719ceebe,0x32f7b360,0xdad1fe7a,0xf06c7837,0x5441a0b0,0x60a157a9,0xe2d47550,0x704970e9,0x271b9020,0xcd2bd553
-.long 0x33e24a0b,0xff57f82f,0xf2565079,0x9cbee23f,0xeb5f5825,0x16353427,0xe948d662,0x276feec4,0xda10032b,0xd1b62bc6,0xf0e72a53,0x718351dd,0x2420e7ba,0x93452076,0x3a00118d,0x96368fff
-.long 0x150a49e4,0x00ce2d26,0x3f04706b,0x0c28b636,0x58b196d0,0xbad65a46,0xec9f8b7c,0x6c8455fc,0x2d71867e,0xe90c895f,0xedf9f38c,0x5c0be31b,0xd8f6ec04,0x2a37a15e,0x8cd85251,0x239639e7
-.long 0x9c7c4c6b,0xd8975315,0xd7409af7,0x603aa3c0,0x007132fb,0xb8d53d0c,0xa6849238,0x68d12af7,0xbf5d9279,0xbe0607e7,0xaada74ce,0x9aa50055,0xba7e8ccb,0xe81079cb,0xa5f4ff5e,0x610c71d1
-.long 0x5aa07093,0x9e2ee1a7,0xa75da47c,0xca84004b,0x3de75401,0x074d3951,0xbb311592,0xf938f756,0x00a43421,0x96197618,0x07bc78c8,0x39a25362,0x0a171276,0x278f710a,0x8d1a8f08,0xb28446ea
-.long 0xe3b6a661,0x184781bf,0xe6d279f7,0x7751cb1d,0xc59eb662,0xf8ff95d6,0x58d3dea7,0x186d90b7,0xdfb4f754,0x0e4bb6c1,0x2b2801dc,0x5c5cf56b,0x1f54564d,0xc561e452,0xf0dd7f13,0xb4fb8c60
-.long 0x33ff98c7,0xf8849630,0xcf17769c,0x9619fffa,0x1bfdd80a,0xf8090bf6,0x422cfe63,0x14d9a149,0x6f6df9ea,0xb354c360,0x218f17ea,0xdbcf770d,0x79eb3480,0x207db7c8,0x559b6a26,0x213dbda8
-.long 0x29fc81b3,0xac4c200b,0x171d87c1,0xebc3e09f,0x1481aa9e,0x91799530,0x92e114fa,0x051b92e1,0xecb5537f,0xdf8f92e9,0x290c7483,0x44b1b2cc,0x2adeb016,0xa711455a,0x81a10c2c,0x964b6856
-.long 0xcec03623,0x4f159d99,0xef3271ea,0x05532225,0xc5ee4849,0xb231bea3,0x7094f103,0x57a54f50,0x9598b352,0x3e2d421d,0x67412ab4,0xe865a49c,0x1cc3a912,0xd2998a25,0x0c74d65d,0x5d092808
-.long 0x4088567a,0x73f45908,0x1f214a61,0xeb6b280e,0xcaf0c13d,0x8c9adc34,0xf561fb80,0x39d12938,0xbc6edfb4,0xb2dc3a5e,0xfe4d210e,0x7485b1b1,0xe186ae72,0x062e0400,0x6eeb3b88,0x91e32d5c
-.long 0x4be59224,0x6df574d7,0x716d55f3,0xebc88ccc,0xcad6ed33,0x26c2e6d0,0x0d3e8b10,0xc6e21e7d,0x5bcc36bb,0x2cc5840e,0x7da74f69,0x9292445e,0x4e5193a8,0x8be8d321,0x8df06413,0x3ec23629
-.long 0xb134defa,0xc7e9ae85,0x1bb2d475,0x6073b1d0,0x2863c00d,0xb9ad615e,0x525f4ac4,0x9e29493d,0x4e9acf4f,0xc32b1dea,0xa50db88d,0x3e1f01c8,0x04da916c,0xb05d70ea,0xd865803e,0x714b0d0a
-.long 0x9920cb5e,0x4bd493fc,0x92c7a3ac,0x5b44b1f7,0xbcec9235,0xa2a77293,0xcd378553,0x5ee06e87,0xda621607,0xceff8173,0x99f5d290,0x2bb03e4c,0xa6f734ac,0x2945106a,0xd25c4732,0xb5056604
-.long 0xe079afee,0x5945920c,0x6789831f,0x686e17a0,0xb74a5ae5,0x5966bee8,0x1e258d46,0x38a673a2,0x83141c95,0xbd1cc1f2,0x0e96e486,0x3b2ecf4f,0x74e5fc78,0xcd3aa896,0x2482fa7a,0x415ec10c
-.long 0x80503380,0x15234419,0xd314b392,0x513d917a,0x63caecae,0xb0b52f4e,0x2dc7780b,0x07bf22ad,0xe4306839,0xe761e8a1,0x5dd7feaa,0x1b3be962,0x74c778f1,0x4fe728de,0x5e0070f6,0xf1fa0bda
-.long 0x6ec3f510,0x85205a31,0xd2980475,0x2c7e4a14,0x6f30ebfd,0xde3c19c0,0xd4b7e644,0xdb1c1f38,0x5dce364a,0xfe291a75,0x058f5be3,0xb7b22a3c,0x37fea38c,0x2cd2c302,0x2e17be17,0x2930967a
-.long 0x0c061c65,0x87f009de,0xedc6ed44,0xcb014aac,0x3bafb1eb,0x49bd1cb4,0x282d3688,0x81bd8b5c,0xf01a17af,0x1cdab87e,0xe710063b,0x21f37ac4,0x42fc8193,0x5a6c5676,0x56a6015c,0xf4753e70
-.long 0xa15b0a44,0x020f795e,0x8958a958,0x8f37c8d7,0xa4b675b5,0x63b7e89b,0x0fc31aea,0xb4fb0c0c,0xa7ff1f2e,0xed95e639,0x619614fb,0x9880f5a3,0x947151ab,0xdeb6ff02,0xa868dcdb,0x5bc5118c
-.long 0x4c20cea5,0xd8da2055,0x14c4d69a,0xcac2776e,0x622d599b,0xcccb22c1,0x68a9bb50,0xa4ddb653,0x1b4941b4,0x2c4ff151,0x6efba588,0xe1ff19b4,0xc48345e0,0x35034363,0x1e29dfc4,0x45542e3d
-.long 0x349f7aed,0xf197cb91,0x8fca8420,0x3b2b5a00,0x23aaf6d8,0x7c175ee8,0x35af32b6,0x54dcf421,0x27d6561e,0x0ba14307,0xd175b1e2,0x879d5ee4,0x99807db5,0xc7c43673,0x9cd55bcd,0x77a54455
-.long 0x0105c072,0xe6c2ff13,0x8dda7da4,0x18f7a99f,0x0e2d35c1,0x4c301820,0xd9cc6c82,0x06a53ca0,0xf1aa1d9e,0xaa21cc1e,0x4a75b1e8,0x32414334,0x0ebe9fdc,0x2a6d1328,0x98a4755a,0x16bd173f
-.long 0x2133ffd9,0xfbb9b245,0x830f1a20,0x39a8b2f1,0xd5a1f52a,0x484bc97d,0xa40eddf8,0xd6aebf56,0x76ccdac6,0x32257acb,0x1586ff27,0xaf4d36ec,0xf8de7dd1,0x8eaa8863,0x88647c16,0x0045d5cf
-.long 0xc005979d,0xa6f3d574,0x6a40e350,0xc2072b42,0x8de2ecf9,0xfca5c156,0xa515344e,0xa8c8bf5b,0x114df14a,0x97aee555,0xfdc5ec6b,0xd4374a4d,0x2ca85418,0x754cc28f,0xd3c41f78,0x71cb9e27
-.long 0x03605c39,0x89105079,0xa142c96c,0xf0843d9e,0x16923684,0xf3744934,0xfa0a2893,0x732caa2f,0x61160170,0xb2e8c270,0x437fbaa3,0xc32788cc,0xa6eda3ac,0x39cd818e,0x9e2b2e07,0xe2e94239
-.long 0x0260e52a,0x6967d39b,0x90653325,0xd42585cc,0x21ca7954,0x0d9bd605,0x81ed57b3,0x4fa20877,0xe34a0bbe,0x60c1eff8,0x84f6ef64,0x56b0040c,0xb1af8483,0x28be2b24,0xf5531614,0xb2278163
-.long 0x5922ac1c,0x8df27545,0xa52b3f63,0xa7b3ef5c,0x71de57c4,0x8e77b214,0x834c008b,0x31682c10,0x4bd55d31,0xc76824f0,0x17b61c71,0xb6d1c086,0xc2a5089d,0x31db0903,0x184e5d3f,0x9c092172
-.long 0xc00cc638,0xdd7ced5b,0x61278fc2,0x1a2015eb,0x6a37f8d6,0x2e8e5288,0xe79933ad,0xc457786f,0x2c51211a,0xb3fe4cce,0x24c20498,0xad9b10b2,0xd28db5e5,0x90d87a4f,0x3aca2fc3,0x698cd105
-.long 0xe91b536d,0x4f112d07,0x9eba09d6,0xceb982f2,0x197c396f,0x3c157b2c,0x7b66eb24,0xe23c2d41,0x3f330d37,0x480c57d9,0x79108deb,0xb3a4c8a1,0xcb199ce5,0x702388de,0xb944a8d4,0x0b019211
-.long 0x840bb336,0x24f2a692,0xa669fa7b,0x7c353bdc,0xdec9c300,0xda20d6fc,0xa13a4f17,0x625fbe2f,0xdbc17328,0xa2b1b61a,0xa9515621,0x008965bf,0xc620ff46,0x49690939,0x8717e91c,0x182dd27d
-.long 0xea6c3997,0x5ace5035,0xc2610bef,0x54259aaa,0x3c80dd39,0xef18bb3f,0x5fc3fa39,0x6910b95b,0x43e09aee,0xfce2f510,0xa7675665,0xced56c9f,0xd872db61,0x10e265ac,0xae9fce69,0x6982812e
-.long 0xce800998,0x29be11c6,0xb90360d9,0x72bb1752,0x5a4ad590,0x2c193197,0x9fc1dbc0,0x2ba2f548,0xe490ebe0,0x7fe4eebb,0x7fae11c0,0x12a0a4cd,0xe903ba37,0x7197cf81,0xde1c6dd8,0xcf7d4aa8
-.long 0x3fd5684c,0x92af6bf4,0x80360aa1,0x2b26eecf,0x00546a82,0xbd960f30,0xf59ad8fe,0x407b3c43,0x249c82ba,0x86cae5fe,0x2463744c,0x9e0faec7,0x94916272,0x87f551e8,0x6ceb0615,0x033f9344
-.long 0x8be82e84,0x1e5eb0d1,0x7a582fef,0x89967f0e,0xa6e921fa,0xbcf687d5,0xd37a09ba,0xdfee4cf3,0xb493c465,0x94f06965,0x7635c030,0x638b9a1c,0x66f05e9f,0x76667864,0xc04da725,0xccaf6808
-.long 0x768fccfc,0xca2eb690,0xb835b362,0xf402d37d,0xe2fdfcce,0x0efac0d0,0xb638d990,0xefc9cdef,0xd1669a8b,0x2af12b72,0x5774ccbd,0x33c536bc,0xfb34870e,0x30b21909,0x7df25aca,0xc38fa2f7
-.long 0xbf81f3f5,0x74c5f02b,0xaf7e4581,0x0525a5ae,0x433c54ae,0x88d2aaba,0x806a56c5,0xed9775db,0xc0edb37d,0xd320738a,0x66cc1f51,0x25fdb6ee,0x10600d76,0xac661d17,0xbdd1ed76,0x931ec1f3
-.long 0x19ee43f1,0x65c11d62,0x60829d97,0x5cd57c3e,0x984be6e8,0xd26c91a3,0x8b0c53bd,0xf08d9309,0xc016e4ea,0x94bc9e5b,0x11d43d2b,0xd3916839,0x73701155,0x886c5ad7,0x20b00715,0xe0377626
-.long 0xaa80ba59,0x7f01c9ec,0x68538e51,0x3083411a,0xe88128af,0x970370f1,0x91dec14b,0x625cc3db,0x01ac3107,0xfef9666c,0xd5057ac3,0xb2a8d577,0x92be5df7,0xb0f26299,0x00353924,0xf579c8e5
-.long 0x1341ed7a,0xb8fa3d93,0xa7b59d49,0x4223272c,0x83b8c4a4,0x3dcb1947,0xed1302e4,0x4e413c01,0xe17e44ce,0x6d999127,0x33b3adfb,0xee86bf75,0x25aa96ca,0xf6902fe6,0xe5aae47d,0xb73540e4
-.long 0x1b4a158c,0x32801d7b,0x27e2a369,0xe571c99e,0x10d9f197,0x40cb76c0,0x3167c0ae,0xc308c289,0xeb7958f2,0xa6ef9dd3,0x300879b1,0xa7226dfc,0x7edf0636,0x6cd0b362,0x7bc37eed,0x4efbce6c
-.long 0x8d699021,0x75f92a05,0x772566e3,0x586d4c79,0x761ad23a,0x378ca5f1,0x1465a8ac,0x650d86fc,0x842ba251,0x7a4ed457,0x42234933,0x6b65e3e6,0x31aad657,0xaf1543b7,0xcbfec369,0xa4cefe98
-.long 0x9f47befb,0xb587da90,0x41312d13,0x6562e9fb,0xeff1cefe,0xa691ea59,0x05fc4cf6,0xcc30477a,0x0b0ffd3d,0xa1632461,0x5b355956,0xa1f16f3b,0x4224ec24,0x5b148d53,0xf977012a,0xdc834e7b
-.long 0xb2c69dbc,0x7bfc5e75,0x03c3da6c,0x3aa77a29,0xca910271,0xde0df03c,0x7806dc55,0xcbd5ca4a,0x6db476cb,0xe1ca5807,0x5f37a31e,0xfde15d62,0xf41af416,0xf49af520,0x7d342db5,0x96c5c5b1
-.long 0xeb4ceb9b,0x155c43b7,0x4e77371a,0x2e993010,0x675d43af,0x1d2987da,0x8599fd72,0xef2bc1c0,0x9342f6b2,0x96894b7b,0x7c8e71f0,0x201eadf2,0x4a1f3efc,0xf3479d9f,0x702a9704,0xe0f8a742
-.long 0xb3eba40c,0xeafd44b6,0xc1c1e0d0,0xf9739f29,0x619d505e,0x0091471a,0x9d7c263e,0xc15f9c96,0x83afbe33,0x5be47285,0x04f1e092,0xa3b6d6af,0x751a9d11,0xe76526b9,0x9a4ae4d2,0x2ec5b26d
-.long 0x02f6fb8d,0xeb66f4d9,0x96912164,0x4063c561,0x80ef3000,0xeb7050c1,0xeaa5b3f0,0x288d1c33,0x07806fd8,0xe87c68d6,0x4bbbf50f,0xb2f7f9d5,0xac8d6627,0x25972f3a,0x10e8c13b,0xf8547774
-.long 0x872b4a60,0xcc50ef6c,0x4613521b,0xab2a34a4,0x983e15d1,0x39c5c190,0x59905512,0x61dde5df,0x9f2275f3,0xe417f621,0x451d894b,0x0750c8b6,0x78b0bdaa,0x75b04ab9,0x458589bd,0x3bfd9fd4
-.long 0xee9120b6,0xf1013e30,0x23a4743e,0x2b51af93,0x48d14d9e,0xea96ffae,0x698a1d32,0x71dc0dbe,0x0180cca4,0x914962d2,0xc3568963,0x1ae60677,0x437bc444,0x8cf227b1,0xc9962c7a,0xc650c83b
-.long 0xfe7ccfc4,0x23c2c7dd,0x1b929d48,0xf925c89d,0x06783c33,0x4460f74b,0xa590475a,0xac2c8d49,0xb807bba0,0xfb40b407,0x69ff8f3a,0x9d1e362d,0xcbef64a4,0xa33e9681,0x332fb4b2,0x67ece5fa
-.long 0x739f10e3,0x6900a99b,0xff525925,0xc3341ca9,0xa9e2d041,0xee18a626,0x29580ddd,0xa5a83685,0x9d7de3cd,0xf3470c81,0x2062cf9c,0xedf02586,0xc010edb0,0xf43522fa,0x13a4b1ae,0x30314135
-.long 0xdb22b94b,0xc792e02a,0xa1eaa45b,0x993d8ae9,0xcd1e1c63,0x8aad6cd3,0xc5ce688a,0x89529ca7,0xe572a253,0x2ccee3aa,0x02a21efb,0xe02b6438,0xc9430358,0xa7091b6e,0x9d7db504,0x06d1b1fa
-.long 0xc4744733,0x58846d32,0x379f9e34,0x40517c71,0x130ef6ca,0x2f65655f,0xf1f3503f,0x526e4488,0x7ee4a976,0x8467bd17,0x921363d1,0x1d9dc913,0xb069e041,0xd8d24c33,0x2cdf7f51,0x5eb5da0a
-.long 0x197b994f,0x1c0f3cb1,0x2843eae9,0x3c95a6c5,0xa6097ea5,0x7766ffc9,0xd723b867,0x7bea4093,0x4db378f9,0xb48e1f73,0xe37b77ac,0x70025b00,0xaf24ad46,0x943dc8e7,0x16d00a85,0xb98a15ac
-.long 0x2743b004,0x3adc38ba,0x334415ee,0xb1c7f4f7,0x1e62d05a,0xea43df8f,0x9d76a3b6,0x32618905,0xa23a0f46,0x2fbd0bb5,0x6a01918c,0x5bc971db,0xb4743f94,0x7801d94a,0x676ae22b,0xb94df65e
-.long 0xaf95894c,0xaafcbfab,0x276b2241,0x7b9bdc07,0x5bdda48b,0xeaf98362,0xa3fcb4df,0x5977faf2,0x052c4b5b,0xbed042ef,0x067591f0,0x9fe87f71,0x22f24ec7,0xc89c73ca,0xe64a9f1b,0x7d37fa9e
-.long 0x15562627,0x2710841a,0xc243b034,0x2c01a613,0x2bc68609,0x1d135c56,0x8b03f1f6,0xc2ca1715,0x3eb81d82,0xc9966c2d,0x8f6df13e,0xc02abf4a,0x8f72b43b,0x77b34bd7,0x360c82b0,0xaff6218f
-.long 0x8d55b9d2,0x0aa5726c,0x99e9bffb,0xdc0adbe9,0xefb9e72a,0x9097549c,0x9dfb3111,0x16755712,0xf26847f9,0xdd8bf984,0xdfb30cb7,0xbcb8e387,0x5171ef9c,0xc1fd32a7,0x389b363f,0x977f3fc7
-.long 0xf4babda0,0x116eaf2b,0xf7113c8e,0xfeab68bd,0xb7def526,0xd1e3f064,0xe0b3fa02,0x1ac30885,0x40142d9d,0x1c5a6e7b,0x30921c0b,0x839b5603,0x36a116a3,0x48f301fa,0xcfd9ee6d,0x380e1107
-.long 0x58854be1,0x7945ead8,0xcbd4d49d,0x4111c12e,0x3a29c2ef,0xece3b1ec,0x8d3616f5,0x6356d404,0x594d320e,0x9f0d6a8f,0xf651ccd2,0x0989316d,0x0f8fdde4,0x6c32117a,0xa26a9bbc,0x9abe5cc5
-.long 0x9723f671,0xcff560fb,0x7f3d593c,0x21b2a12d,0x24ba0696,0xe4cb18da,0xc3543384,0x186e2220,0x88312c29,0x722f64e0,0x17dc7752,0x94282a99,0x5a85ee89,0x62467bbf,0xf10076a0,0xf435c650
-.long 0x43b3a50b,0xc9ff1539,0x1a53efbc,0x7132130c,0xf7b0c5b7,0x31bfe063,0x4ea994cc,0xb0179a7d,0xc85f455b,0x12d064b3,0x8f6e0062,0x47259328,0xb875d6d9,0xf64e590b,0xad92bcc7,0x22dd6225
-.long 0xb9c3bd6d,0xb658038e,0xfbba27c8,0x00cdb0d6,0x1062c45d,0x0c681337,0x2d33407d,0xd8515b8c,0x8cbb5ecf,0xcb8f699e,0xc608d7d8,0x8c4347f8,0xbb3e00db,0x2c11850a,0xecb49d19,0x20a8dafd
-.long 0x45ee2f40,0xbd781480,0x416b60cf,0x75e354af,0x8d49a8c4,0xde0b58a1,0xfa359536,0xe40e94e2,0x62accd76,0xbd4fa59f,0x8c762837,0x05cf466a,0x448c277b,0xb5abda99,0x48b13740,0x5a9e01bf
-.long 0x326aad8d,0x9d457798,0xc396f7e7,0xbdef4954,0xc253e292,0x6fb274a2,0x1cfe53e7,0x2800bf0a,0x44438fd4,0x22426d31,0x5e259f9a,0xef233923,0x03f66264,0x4188503c,0x7f9fdfab,0x9e5e7f13
-.long 0x5fcc1aba,0x565eb76c,0x59b5bff8,0xea632548,0xaab6d3fa,0x5587c087,0x6ce39c1b,0x92b639ea,0x953b135c,0x0706e782,0x425268ef,0x7308912e,0x090e7469,0x599e92c7,0x9bc35e75,0x83b90f52
-.long 0x244975b3,0x4750b3d0,0x11965d72,0xf3a44358,0x9c8dc751,0x179c6774,0xd23d9ff0,0xff18cdfe,0x2028e247,0xc4013833,0xf3bfbc79,0x96e280e2,0xd0880a84,0xf60417bd,0x2a568151,0x263c9f3d
-.long 0x2d2ce811,0x36be15b3,0xf8291d21,0x846dc0c2,0x789fcfdb,0x5cfa0ecb,0xd7535b9a,0x45a0beed,0x96d69af1,0xec8e9f07,0x599ab6dc,0x31a7c5b8,0xf9e2e09f,0xd36d45ef,0xdcee954b,0x3cf49ef1
-.long 0x086cff9b,0x6be34cf3,0x39a3360f,0x88dbd491,0x0dbfbd1d,0x1e96b8cc,0xcb7e2552,0xc1e5f7bf,0x28819d98,0x0547b214,0x7aea9dcb,0xc770dd9c,0x041d68c8,0xaef0d4c7,0x13cb9ba8,0xcc2b9818
-.long 0xfe86c607,0x7fc7bc76,0x502a9a95,0x6b7b9337,0xd14dab63,0x1948dc27,0xdae047be,0x249dd198,0xa981a202,0xe8356584,0x3a893387,0x3531dd18,0xc85c7209,0x1be11f90,0xe2a52b5a,0x93d2fe1e
-.long 0xec6d6b97,0x8225bfe2,0xbd0aa5de,0x9cf6d6f4,0x54779f5f,0x911459cb,0x86aeb1f3,0x5649cddb,0x3f26ce5a,0x32133579,0x550f431e,0xc289a102,0x73b84c6f,0x559dcfda,0xee3ac4d7,0x84973819
-.long 0xf2606a82,0xb51e55e6,0x90f2fb57,0xe25f7061,0xb1a4e37c,0xacef6c2a,0x5dcf2706,0x864e359d,0x7ce57316,0x479e6b18,0x3a96b23d,0x2cab2500,0x8ef16df7,0xed489862,0xef3758b5,0x2056538c
-.long 0xf15d3101,0xa7df865e,0x61b553d7,0x80c5533a,0x4ed14294,0x366e1997,0xb3c0bcd6,0x6620741f,0xedc45418,0x21d1d9c4,0xc1cc4a9d,0x005b859e,0xa1c462f0,0xdf01f630,0xf26820c7,0x15d06cf3
-.long 0x3484be47,0x9f7f24ee,0x4a0c902f,0x2ff33e96,0x5a0bc453,0x00bdf457,0x1aa238db,0x2378dfaf,0x856720f2,0x272420ec,0x96797291,0x2ad9d95b,0x768a1558,0xd1242cc6,0x5cc86aa8,0x2e287f8b
-.long 0x990cecaa,0x796873d0,0x675d4080,0xade55f81,0x21f0cd84,0x2645eea3,0xb4e17d02,0x7a1efa0f,0x037cc061,0xf6858420,0xd5d43e12,0x682e05f0,0x27218710,0x59c36994,0x3f7cd2fc,0x85cbba4d
-.long 0x7a3cd22a,0x726f9729,0x4a628397,0x9f8cd5dc,0xc23165ed,0x17b93ab9,0x122823d4,0xff5f5dbf,0x654a446d,0xc1e4e4b5,0x677257ba,0xd1a9496f,0xde766a56,0x6387ba94,0x521ec74a,0x23608bc8
-.long 0x6688c4d4,0x16a522d7,0x07373abd,0x9d6b4282,0xb42efaa3,0xa62f07ac,0xe3b90180,0xf73e00f7,0x49421c3e,0x36175fec,0x3dcf2678,0xc4e44f9b,0x7220f09f,0x76df436b,0x3aa8b6cf,0x172755fb
-.long 0x446139cc,0xbab89d57,0x5fe0208f,0x0a0a6e02,0x11e5d399,0xcdbb63e2,0xa8977f0b,0x33ecaa12,0xf7c42664,0x59598b21,0xab65d08a,0xb3e91b32,0xf4502526,0x035822ee,0x720a82a9,0x1dcf0176
-.long 0x3d589e02,0x50f8598f,0xb1d63d2c,0xdf0478ff,0x1571cd07,0x8b8068bd,0xd79670cd,0x30c3aa4f,0x941ade7f,0x25e8fd4b,0x32790011,0x3d1debdc,0x3a3f9ff0,0x65b6dcbd,0x793de69c,0x282736a4
-.long 0xd41d3bd3,0xef69a0c3,0x07a26bde,0xb533b8c9,0xdb2edf9f,0xe2801d97,0xe1877af0,0xdc4a8269,0x3d590dbe,0x6c1c5851,0xee4e9357,0x84632f6b,0x79b33374,0xd36d36b7,0x9bbca2e6,0xb46833e3
-.long 0xf7fc0586,0x37893913,0x66bf4719,0x385315f7,0xb31855dc,0x72c56293,0x849061fe,0xd1416d4e,0x51047213,0xbeb3ab78,0xf040c996,0x447f6e61,0x638b1d0c,0xd06d310d,0xbad1522e,0xe28a413f
-.long 0x82003f86,0x685a76cb,0x0bcdbca3,0x610d07f7,0x9ca4c455,0x6ff66021,0xcea10eec,0x7df39b87,0xe22db218,0xb9255f96,0x08a34c44,0x8cc6d9eb,0x859f9276,0xcd4ffb86,0x50d07335,0x8fa15eb2
-.long 0xcf2c24b5,0xdf553845,0x52f9c3ba,0x89f66a9f,0xe4a7ceb3,0x8f22b5b9,0x0e134686,0xaffef809,0x8eb8fac2,0x3e53e1c6,0x28aec98e,0x93c1e4eb,0x32a43bcb,0xb6b91ec5,0xb2d74a51,0x2dbfa947
-.long 0xca84bad7,0xe065d190,0xad58e65c,0xfb13919f,0xf1cb6e31,0x3c41718b,0x06d05c3f,0x688969f0,0x21264d45,0xd4f94ce7,0x7367532b,0xfdfb65e9,0x0945a39d,0x5b1be8b1,0x2b8baf3b,0x229f789c
-.long 0x6f49f15d,0xd8f41f3e,0x907f0792,0x678ce828,0xfca6e867,0xc69ace82,0xd01dcc89,0x106451ae,0x19fc32d2,0x1bb4f7f0,0xb00c52d2,0x64633dfc,0xad9ea445,0x8f13549a,0xfb323705,0x99a3bf50
-.long 0x534d4dbc,0x0c9625a2,0xc2a2fea3,0x45b8f1d1,0xa530fc1a,0x76ec21a1,0x9e5bd734,0x4bac9c2a,0x7b4e3587,0x5996d76a,0x1182d9e3,0x0045cdee,0x1207f13d,0x1aee24b9,0x97345a41,0x66452e97
-.long 0x9f950cd0,0x16e5b054,0xd7fdd075,0x9cc72fb1,0x66249663,0x6edd61e7,0xf043cccb,0xde4caa4d,0x55c7ac17,0x11b1f57a,0x1a85e24d,0x779cbd44,0xe46081e7,0x78030f86,0x8e20f643,0xfd4a6032
-.long 0x0a750c0f,0xcc7a6488,0x4e548e83,0x39bacfe3,0x0c110f05,0x3d418c76,0xb1f11588,0x3e4daa4c,0x5ffc69ff,0x2733e7b5,0x92053127,0x46f147bc,0xd722df94,0x885b2434,0xe6fc6b7c,0x6a444f65
-.long 0xc3f16ea8,0x7a1a465a,0xb2f1d11c,0x115a461d,0x6c68a172,0x4767dd95,0xd13a4698,0x3392f2eb,0xe526cdc7,0xc7a99ccd,0x22292b81,0x8e537fdc,0xa6d39198,0x76d8cf69,0x2446852d,0xffc5ff43
-.long 0xa90567e6,0x97b14f7e,0xb6ae5cb7,0x513257b7,0x9f10903d,0x85454a3c,0x69bc3724,0xd8d2c9ad,0x6b29cb44,0x38da9324,0x77c8cbac,0xb540a21d,0x01918e42,0x9bbfe435,0x56c3614e,0xfffa707a
-.long 0xd4e353b7,0x0ce4e3f1,0xef46b0a0,0x062d8a14,0x574b73fd,0x6408d5ab,0xd3273ffd,0xbc41d1c9,0x6be77800,0x3538e1e7,0xc5655031,0x71fe8b37,0x6b9b331a,0x1cd91621,0xbb388f73,0xad825d0b
-.long 0x1cb76219,0x56c2e05b,0x71567e7e,0x0ec0bf91,0x61c4c910,0xe7076f86,0xbabc04d9,0xd67b085b,0x5e93a96a,0x9fb90459,0xfbdc249a,0x7526c1ea,0xecdd0bb7,0x0d44d367,0x9dc0d695,0x95399917
-.long 0x9e240d18,0x61360ee9,0xb4b94466,0x057cdcac,0x2fe5325c,0xe7667cd1,0x21974e3b,0x1fa297b5,0xdb083d76,0xfa4081e7,0xf206bd15,0x31993be6,0x14c19f8c,0x8949269b,0xa9d92357,0x21468d72
-.long 0xa4c506ec,0x2ccbc583,0xd1acfe97,0x957ed188,0x12f1aea2,0x8baed833,0x8325362d,0xef2a6cb4,0x8e195c43,0x130dde42,0x0e6050c6,0xc842025a,0x08686a5d,0x2da972a7,0xe508b4a8,0xb52999a1
-.long 0x10a5a8bd,0xd9f090b9,0x096864da,0xca91d249,0x3f67dbc1,0x8e6a93be,0xf5f4764c,0xacae6fba,0xd21411a0,0x1563c6e0,0xda0a4ad8,0x28fa787f,0x908c8030,0xd524491c,0x4c795f07,0x1257ba0e
-.long 0xceca9754,0x83f49167,0x4b7939a0,0x426d2cf6,0x723fd0bf,0x2555e355,0xc4f144e2,0xa96e6d06,0x87880e61,0x4768a8dd,0xe508e4d5,0x15543815,0xb1b65e15,0x09d7e772,0xac302fa0,0x63439dd6
-.long 0xc14e35c2,0xb93f802f,0x4341333c,0x71735b7c,0x16d4f362,0x03a25104,0xbf433c8e,0x3f4d069b,0xf78f5a7c,0x0d83ae01,0x7c4eed07,0x50a8ffbe,0x76e10f83,0xc74f8906,0x9ddaf8e1,0x7d080966
-.long 0x698e04cc,0xb11df8e1,0x169005c8,0x877be203,0x4f3c6179,0x32749e8c,0x7853fc05,0x2dbc9d0a,0x9454d937,0x187d4f93,0xb4800e1b,0xe682ce9d,0x165e68e8,0xa9129ad8,0xbe7f785b,0x0fe29735
-.long 0x5b9e02b7,0x5303f40c,0x35ee04e8,0xa37c9692,0x34d6632b,0x5f46cc20,0x96ac545b,0x55ef72b2,0x7b91b062,0xabec5c1f,0xbb33e821,0x0a79e1c7,0x3a9f4117,0xbb04b428,0xfd2a475a,0x0de1f28f
-.long 0x3a4434b4,0x31019ccf,0x1a7954dc,0xa3458111,0xe34972a7,0xa9dac80d,0x74f6b8dd,0xb043d054,0x11137b1a,0x021c319e,0xed5cc03f,0x00a754ce,0xcbea5ad4,0x0aa2c794,0x70c015b6,0x093e67f4
-.long 0xc97e3f6b,0x72cdfee9,0xb6da7461,0xc10bcab4,0xb59806b9,0x3b02d2fc,0xa1de6f47,0x85185e89,0x0eb6c4d4,0x39e6931f,0xd4fa5b04,0x4d4440bd,0x34be7eb8,0x5418786e,0x9d7259bc,0x6380e521
-.long 0xd598d710,0x20ac0351,0xcb3a4da4,0x272c4166,0xca71de1f,0xdb82fe1a,0xd8f54b0f,0x746e79f2,0x4b573e9b,0x6e7fc736,0xfd4b5040,0x75d03f46,0x0b98d87b,0x5c1cc36d,0x1f472da1,0x513ba3f1
-.long 0xabb177dd,0x79d0af26,0x7891d564,0xf82ab568,0x72232173,0x2b6768a9,0x8c1f6619,0xefbb3bb0,0xa6d18358,0xb29c11db,0xb0916d3a,0x519e2797,0x9188e290,0xd4dc18f0,0x98b0ca7f,0x648e86e3
-.long 0x983c38b5,0x859d3145,0x637abc8b,0xb14f176c,0xcaff7be6,0x2793fb9d,0x35a66a5a,0xebe5a55f,0x9f87dc59,0x7cec1dcd,0xfbdbf560,0x7c595cd3,0x26eb3257,0x5b543b22,0xc4c935fd,0x69080646
-.long 0x81e9ede3,0x7f2e4403,0xcaf6df0a,0x243c3894,0x1c073b11,0x7c605bb1,0xba6a4a62,0xcd06a541,0x49d4e2e5,0x29168949,0x4af66880,0x33649d07,0xe9a85035,0xbfc0c885,0xfc410f4b,0xb4e52113
-.long 0x78a6513b,0xdca3b706,0x9edb1943,0x92ea4a2a,0xdb6e2dd8,0x02642216,0x9fd57894,0x9b45d0b4,0xc69d11ae,0x114e70db,0x4c57595f,0x1477dd19,0xec77c272,0xbc2208b4,0xdb68f59c,0x95c5b4d7
-.long 0x42e532b7,0xb8c4fc63,0x9ae35290,0x386ba422,0xd201ecbc,0xfb5dda42,0xa0e38fd6,0x2353dc8b,0x68f7e978,0x9a0b85ea,0x2ad6d11f,0x96ec5682,0xe5f6886d,0x5e279d6c,0x3cb1914d,0xd3fe03cd
-.long 0x7ea67c77,0xfe541fa4,0xe3ea810c,0x952bd2af,0x8d01d374,0x791fef56,0x0f11336e,0xa3a1c621,0xc7ec6d79,0x5ad0d5a9,0x3225c342,0xff7038af,0xbc69601b,0x003c6689,0x45e8747d,0x25059bc7
-.long 0xf2086fbf,0xfa4965b2,0x86916078,0xf6840ea6,0x70081d6c,0xd7ac7620,0xb5328645,0xe600da31,0x529b8a80,0x01916f63,0x2d7d6f3e,0xe80e4858,0xd664ca7c,0x29eb0fe8,0xe7b43b0c,0xf017637b
-.long 0x76cb2566,0x9a75c806,0xb24892d9,0x8f76acb1,0x1f08fe45,0x7ae7b9cc,0x6a4907d8,0x19ef7329,0x5f228bf0,0x2db4ab71,0x817032d7,0xf3cdea39,0xdcabe3c0,0x0b1f482e,0xbb86325c,0x3baf76b4
-.long 0x10089465,0xd49065e0,0x8e77c596,0x3bab5d29,0x193dbd95,0x7636c3a6,0xb246e499,0xdef5d294,0x286b2475,0xb22c58b9,0xcd80862b,0xa0b93939,0xf0992388,0x3002c83a,0xeacbe14c,0x6de01f9b
-.long 0xadd70482,0x6aac688e,0x7b4a4e8a,0x708de92a,0x758a6eef,0x75b6dd73,0x725b3c43,0xea4bf352,0x87912868,0x10041f2c,0xef09297a,0xb1b1be95,0xa9f3860a,0x19ae23c5,0x515dcf4b,0xc4f0f839
-.long 0x97f6306a,0x3c7ecca3,0x68a3a4b0,0x744c44ae,0xb3a1d8a2,0x69cd13a0,0x5256b578,0x7cad0a1e,0x33791d9e,0xea653fcd,0x74b2e05f,0x9cc2a05d,0xfd7affa2,0x73b391dc,0xb6b05442,0xddb7091e
-.long 0x8538a5c6,0xc71e27bf,0x89abff17,0x195c63dd,0x1b71e3da,0xfd315285,0xfa680fa0,0x9cbdfda7,0x849d7eab,0x9db876ca,0x3c273271,0xebe2764b,0xf208dcea,0x663357e3,0x565b1b70,0x8c5bd833
-.long 0x9837fc0d,0xccc3b4f5,0xa79cf00f,0x9b641ba8,0xdfdf3990,0x7428243d,0x020786b1,0x83a594c4,0x526c4502,0xb712451a,0x6adb3f93,0x9d39438e,0xe9ff0ccd,0xfdb261e3,0xe07af4c3,0x80344e3c
-.long 0x2fa4f126,0x75900d7c,0x5c99a232,0x08a3b865,0xdb25e0c3,0x2478b6bf,0x71db2edf,0x482cc2c2,0x5f321bb8,0x37df7e64,0x9a8005b4,0x8a93821b,0xcc8c1958,0x3fa2f10c,0x2c269d0a,0x0d332218
-.long 0xe246b0e6,0x20ab8119,0xd349fd17,0xb39781e4,0xb31aa100,0xd293231e,0xbb032168,0x4b779c97,0xc8470500,0x4b3f19e1,0x0c4c869d,0x45b7efe9,0xa1a6bbcc,0xdb84f38a,0xb2fddbc1,0x3b59cb15
-.long 0x3fd165e8,0xba5514df,0x061f8811,0x499fd6a9,0xbfef9f00,0x72cd1fe0,0x79ad7e8a,0x120a4bb9,0x5f4a5ac5,0xf2ffd095,0x95a7a2f0,0xcfd174f1,0x9d17baf1,0xd42301ba,0x77f22089,0xd2fa487a
-.long 0xb1dc77e1,0x9cb09efe,0x21c99682,0xe9566939,0x6c6067bb,0x8c546901,0x61c24456,0xfd378574,0x81796b33,0x2b6a6cbe,0x58e87f8b,0x62d550f6,0x7f1b01b4,0x1b763e1c,0x1b1b5e12,0x4b93cfea
-.long 0x1d531696,0xb9345238,0x88cdde69,0x57201c00,0x9a86afc7,0xdde92251,0xbd35cea8,0xe3043895,0x8555970d,0x7608c1e1,0x2535935e,0x8267dfa9,0x322ea38b,0xd4c60a57,0x804ef8b5,0xe0bf7977
-.long 0xc06fece4,0x1a0dab28,0x94e7b49d,0xd405991e,0x706dab28,0xc542b6d2,0xa91618fb,0xcb228da3,0x107d1cea,0x224e4164,0xd0f5d8f1,0xeb9fdab3,0x0d6e41cd,0xc02ba386,0x9b1f7146,0x676a72c5
-.long 0x4d6cb00b,0xffd6dd98,0xde2e8d7c,0xcef9c5ca,0x641c7936,0xa1bbf5d7,0xee8f772e,0x1b95b230,0xe8ac25b1,0xf765a92e,0x3a18b7c6,0xceb04cfc,0x0acc8966,0x27944cef,0x434c1004,0xcbb3c957
-.long 0xa43ff93c,0x9c9971a1,0xa1e358a9,0x5bc2db17,0xa8d9bc82,0x45b4862e,0x2201e052,0x70ebfbfb,0x92871591,0xafdf64c7,0xb42d0219,0xea5bcae6,0x2ad8f03c,0xde536c55,0xa76aa33c,0xcd6c3f4d
-.long 0x0bca6de3,0xbeb5f623,0xb1e706fd,0xdd20dd99,0xac9059d4,0x90b3ff9d,0x7ccccc4e,0x2d7b2902,0xce98840f,0x8a090a59,0x8410680a,0xa5d947e0,0x923379a5,0x49ae346a,0xb28a3156,0x7dbc84f9
-.long 0x54a1aff2,0xfd40d916,0x3a78fb9b,0xabf318ba,0x3029f95e,0x50152ed8,0xc58ad7fa,0x9fc1dd77,0x13595c17,0x5fa57915,0x8f62b3a9,0xb9504668,0xff3055b0,0x907b5b24,0x9a84f125,0x2e995e35
-.long 0x7e9bbcfb,0x87dacf69,0xe86d96e3,0x95d0c1d6,0x2d95a75c,0x65726e3c,0xacd27f21,0x2c3c9001,0x6c973f57,0x1deab561,0xa5221643,0x108b7e2c,0xc4ef79d4,0x5fee9859,0x40d4b8c6,0xbd62b88a
-.long 0x197c75d6,0xb4dd29c4,0xb7076feb,0x266a6df2,0x4bf2df11,0x9512d0ea,0x6b0cc9ec,0x1320c24f,0x01a59596,0x6bb1e0e1,0xeff9aaac,0x8317c5bb,0x385aa6c9,0x65bb405e,0x8f07988f,0x613439c1
-.long 0x16a66e91,0xd730049f,0xfa1b0e0d,0xe97f2820,0x304c28ea,0x4131e003,0x526bac62,0x820ab732,0x28714423,0xb2ac9ef9,0xadb10cb2,0x54ecfffa,0xf886a4cc,0x8781476e,0xdb2f8d49,0x4b2c87b5
-.long 0x0a44295d,0xe857cd20,0x58c6b044,0x707d7d21,0xf596757c,0xae8521f9,0x67b2b714,0x87448f03,0x5ebcd58d,0x13a9bc45,0x9122d3c1,0x79bcced9,0x9e076642,0x3c644247,0x2df4767d,0x0cf22778
-.long 0x71d444b6,0x5e61aee4,0xc5084a1d,0x211236bf,0x4fd3eaf6,0x7e15bc9a,0xab622bf5,0x68df2c34,0x59bf4f36,0x9e674f0f,0xd7f34d73,0xf883669b,0x31497b1d,0xc48ac1b8,0x5106703b,0x323b925d
-.long 0x74082008,0x22156f42,0xc8482bcb,0xeffc521a,0x12173479,0x5c6831bf,0xc4739490,0xcaa2528f,0x8f1b3c4d,0x84d2102a,0x2d9bec0d,0xcf64dfc1,0x78a546ef,0x433febad,0x7b73cef1,0x1f621ec3
-.long 0x37338615,0x6aecd627,0x01d8edf6,0x162082ab,0x19e86b66,0x833a8119,0xd299b5db,0x6023a251,0xbbf04b89,0xf5bb0c3a,0xae749a44,0x6735eb69,0x4713de3b,0xd0e058c5,0x2c3d4ccd,0xfdf2593e
-.long 0xfdd23667,0x1b8f414e,0xfa2015ee,0xdd52aaca,0xbd9625ff,0x3e31b517,0x8db5918c,0x5ec9322d,0xa96f5294,0xbc73ac85,0x61a0666a,0x82aa5bf3,0xbf08ac42,0x49755810,0x891cedfc,0xd21cdfd5
-.long 0x67f8be10,0x918cb57b,0x56ffa726,0x365d1a7c,0x6532de93,0x2435c504,0x2674cd02,0xc0fc5e10,0x9cbbb142,0x6e51fcf8,0xafc50692,0x1d436e5a,0x3fbcae22,0x766bffff,0xfd55d3b8,0x3148c2fd
-.long 0x233222fa,0x52c7fdc9,0xe419fb6b,0x89ff1092,0x25254977,0x3cd6db99,0x1cf12ca7,0x2e85a161,0xdc810bc9,0xadd2547c,0x9d257c22,0xea3f458f,0x27d6b19b,0x642c1fbe,0x140481a6,0xed07e6b5
-.long 0x86d2e0f8,0x6ada1d42,0x0e8a9fd5,0xe5920122,0x708c1b49,0x02c936af,0x2b4bfaff,0x60f30fee,0x858e6a61,0x6637ad06,0x3fd374d0,0xce4c7767,0x7188defb,0x39d54b2d,0xf56a6b66,0xa8c9d250
-.long 0xb24fe1dc,0x58fc0f5e,0x6b73f24c,0x9eaf9dee,0x33650705,0xa90d588b,0xaf2ec729,0xde5b62c5,0xd3c2b36e,0x5c72cfae,0x034435da,0x868c19d5,0xe17ee145,0x88605f93,0x77a5d5b1,0xaa60c4ee
-.long 0x3b60c472,0xbcf5bfd2,0xeb1d3049,0xaf4ef13c,0xe13895c9,0x373f44fc,0x0cbc9822,0xf29b382f,0x73efaef6,0x1bfcb853,0xa8c96f40,0xcf56ac9c,0x7a191e24,0xd7adf109,0xbf8a8dc2,0x98035f44
-.long 0x1e750c84,0xf40a71b9,0x5dc6c469,0xc57f7b0c,0x6fbc19c1,0x49a0e79c,0xa48ebdb8,0x6b0f5889,0xa07c4e9f,0x5d3fd084,0xab27de14,0xc3830111,0x33e08dcc,0x0e4929fe,0x40bb73a3,0xf4a5ad24
-.long 0x490f97ca,0xde86c2bf,0x67a1ce18,0x288f09c6,0x1844478d,0x364bb886,0xceedb040,0x7840fa42,0x5a631b37,0x1269fdd2,0xa47c8b7d,0x94761f1e,0x481c6266,0xfc0c2e17,0x3daa5fa7,0x85e16ea2
-.long 0x92491048,0xccd86033,0xf4d402d7,0x0c2f6963,0xdf6a865c,0x6336f7df,0xb5c02a87,0x0a2a463c,0xbf2f12ee,0xb0e29be7,0x66bad988,0xf0a22002,0x9123c1d7,0x27f87e03,0x328a8c98,0x21669c55
-.long 0x92f14529,0x186b9803,0x63954df3,0xd3d056cc,0x175a46f6,0x2f03fd58,0x11558558,0x63e34ebe,0x5b80cfa5,0xe13fedee,0xd401dbd1,0xe872a120,0xe8a9d667,0x52657616,0xe08d6693,0xbc8da4b6
-.long 0x1b703e75,0x370fb9bb,0xd4338363,0x6773b186,0xecef7bff,0x18dad378,0x995677da,0xaac787ed,0x0437164b,0x4801ea8b,0x73fe795e,0xf430ad20,0x8ee5eb73,0xb164154d,0x108f7c0e,0x0884ecd8
-.long 0x5f520698,0x0e6ec096,0x44f7b8d9,0x640631fe,0xa35a68b9,0x92fd34fc,0x4d40cf4e,0x9c5a4b66,0x80b6783d,0x949454bf,0x3a320a10,0x80e701fe,0x1a0a39b2,0x8d1a564a,0x320587db,0x1436d53d
-.long 0x6556c362,0xf5096e6d,0xe2455d7e,0xbc23a3c0,0x807230f9,0x3a7aee54,0x22ae82fd,0x9ba1cfa6,0x99c5d706,0x833a057a,0x842315c9,0x8be85f4b,0x66a72f12,0xd083179a,0xcdcc73cd,0x2fc77d5d
-.long 0x5616ee30,0x22b88a80,0xe7ab1083,0xfb09548f,0x511270cd,0x8ad6ab0d,0x6924d9ab,0x61f6c57a,0x90aecb08,0xa0f7bf72,0x0df784a4,0x849f87c9,0xcfaf1d03,0x27c79c15,0xc463face,0xbbf9f675
-.long 0x765ba543,0x91502c65,0x42ea60dd,0x18ce3cac,0x6e43ecb3,0xe5cee6ac,0x68f2aeeb,0x63e4e910,0xc85932ee,0x26234fa3,0x4c90c44d,0x96883e8b,0xa18a50f6,0x29b9e738,0x3f0420df,0xbfc62b2a
-.long 0x6d3e1fa9,0xd22a7d90,0xfe05b8a3,0x17115618,0xbb2b9c01,0x2a0c9926,0xe07e76a2,0xc739fcc6,0x165e439a,0x540e9157,0x6a9063d8,0x06353a62,0x61e927a3,0x84d95594,0xe2e0be7f,0x013b9b26
-.long 0x973497f1,0x4feaec3b,0x093ebc2d,0x15c0f94e,0x33af0583,0x6af5f227,0xc61f3340,0x0c2af206,0x4457397c,0xd25dbdf1,0xcabcbae0,0x2e8ed017,0xc2815306,0xe3010938,0xe8c6cd68,0xbaa99337
-.long 0x3b0ec7de,0x08513182,0x58df05df,0x1e1b822b,0xa5c3b683,0x5c14842f,0x3eba34ce,0x98fe977e,0x0d5e8873,0xfd2316c2,0xbd0d427d,0xe48d839a,0x623fc961,0x495b2218,0xb46fba5e,0x24ee56e7
-.long 0x91e4de58,0x9184a55b,0xdfdea288,0xa7488ca5,0xa8dcc943,0xa723862e,0x849dc0fc,0x92d762b2,0x091ff4a9,0x3c444a12,0x0cada274,0x581113fa,0x30d8eae2,0xb9de0a45,0xdf6b41ea,0x5e0fcd85
-.long 0xc094dbb5,0x6233ea68,0xd968d410,0xb77d062e,0x58b3002d,0x3e719bbc,0x3dc49d58,0x68e7dd3d,0x013a5e58,0x8d825740,0x3c9e3c1b,0x21311747,0x7c99b6ab,0x0cb0a2a7,0xc2f888f2,0x5c48a3b3
-.long 0x991724f3,0xc7913e91,0x39cbd686,0x5eda799c,0x63d4fc1e,0xddb595c7,0xac4fed54,0x6b63b80b,0x7e5fb516,0x6ea0fc69,0xd0f1c964,0x737708ba,0x11a92ca5,0x9628745f,0x9a86967a,0x61f37958
-.long 0xaa665072,0x9af39b2c,0xefd324ef,0x78322fa4,0xc327bd31,0x3d153394,0x3129dab0,0x81d5f271,0xf48027f5,0xc72e0c42,0x8536e717,0xaa40cdbc,0x2d369d0f,0xf45a657a,0xea7f74e6,0xb03bbfc4
-.long 0x0d738ded,0x46a8c418,0xe0de5729,0x6f1a5bb0,0x8ba81675,0xf10230b9,0x112b33d4,0x32c6f30c,0xd8fffb62,0x7559129d,0xb459bf05,0x6a281b47,0xfa3b6776,0x77c1bd3a,0x7829973a,0x0709b380
-.long 0xa3326505,0x8c26b232,0xee1d41bf,0x38d69272,0xffe32afa,0x0459453e,0x7cb3ea87,0xce8143ad,0x7e6ab666,0x932ec1fa,0x22286264,0x6cd2d230,0x6736f8ed,0x459a46fe,0x9eca85bb,0x50bf0d00
-.long 0x877a21ec,0x0b825852,0x0f537a94,0x300414a7,0x21a9a6a2,0x3f1cba40,0x76943c00,0x50824eee,0xf83cba5d,0xa0dbfcec,0x93b4f3c0,0xf9538148,0x48f24dd7,0x61744162,0xe4fb09dd,0x5322d64d
-.long 0x3d9325f3,0x57447384,0xf371cb84,0xa9bef2d0,0xa61e36c5,0x77d2188b,0xc602df72,0xbbd6a7d7,0x8f61bc0b,0xba3aa902,0x6ed0b6a1,0xf49085ed,0xae6e8298,0x8bc625d6,0xa2e9c01d,0x832b0b1d
-.long 0xf1f0ced1,0xa337c447,0x9492dd2b,0x800cc793,0xbea08efa,0x4b93151d,0xde0a741e,0x820cf3f8,0x1c0f7d13,0xff1982dc,0x84dde6ca,0xef921960,0x45f96ee3,0x1ad7d972,0x29dea0c7,0x319c8dbe
-.long 0x7b82b99b,0xd3ea3871,0x470eb624,0x75922d4d,0x3b95d466,0x8f66ec54,0xbee1e346,0x66e673cc,0xb5f2b89a,0x6afe67c4,0x290e5cd3,0x3de9c1e6,0x310a2ada,0x8c278bb6,0x0bdb323b,0x420fa384
-.long 0x0eb919b0,0x0ae1d63b,0xa74b9620,0xd74ee51d,0xa674290c,0x395458d0,0x4620a510,0x324c930f,0xfbac27d4,0x2d1f4d19,0x9bedeeac,0x4086e8ca,0x9b679ab8,0x0cdd211b,0x7090fec4,0x5970167d
-.long 0xfaf1fc63,0x3420f2c9,0x328c8bb4,0x616d333a,0x57f1fe4a,0x7d65364c,0x55e5c73a,0x9343e877,0xe970e78c,0x5795176b,0x60533627,0xa36ccebf,0x09cdfc1b,0xfc7c7380,0xb3fec326,0xb39a2afe
-.long 0x6224408a,0xb7ff1ba1,0x247cfc5e,0xcc856e92,0xc18bc493,0x01f102e7,0x2091c727,0x4613ab74,0xc420bf2b,0xaa25e89c,0x90337ec2,0x00a53176,0x7d025fc7,0xd2be9f43,0x6e6fe3dc,0x3316fb85
-.long 0x9ac50814,0x27520af5,0x9a8e4223,0xfdf95e78,0x56bec5a0,0xb7e7df2a,0xdf159e5d,0xf7022f7d,0xcac1fe8f,0x93eeeab1,0x37451168,0x8040188c,0xd967dce6,0x7ee8aa8a,0x3abc9299,0xfa0e79e7
-.long 0x2064cfd1,0x67332cfc,0xb0651934,0x339c31de,0x2a3bcbea,0x719b28d5,0x9d6ae5c6,0xee74c82b,0xbaf28ee6,0x0927d05e,0x9d719028,0x82cecf2c,0xddb30289,0x0b0d353e,0xfddb2e29,0xfe4bb977
-.long 0x640bfd9e,0xbb5bb990,0x82f62108,0xd226e277,0x02ffdd56,0x4bf00985,0x2ca1b1b5,0x7756758a,0x5285fe91,0xc32b62a3,0x8c9cd140,0xedbc546a,0xaf5cb008,0x1e47a013,0x073ce8f2,0xbca7e720
-.long 0x17a91cae,0xe10b2ab8,0x08e27f63,0xb89aab65,0xdba3ddf9,0x7b3074a7,0x330c2972,0x1c20ce09,0x5fcf7e33,0x6b9917b4,0x945ceb42,0xe6793743,0x5c633d19,0x18fc2215,0xc7485474,0xad1adb3c
-.long 0x6424c49b,0x646f9679,0x67c241c9,0xf888dfe8,0x24f68b49,0xe12d4b93,0xa571df20,0x9a6b62d8,0x179483cb,0x81b4b26d,0x9511fae2,0x666f9632,0xd53aa51f,0xd281b3e4,0x7f3dbd16,0x7f96a765
-.long 0x074a30ce,0xa7f8b5bf,0x005a32e6,0xd7f52107,0x50237ed4,0x6f9e0907,0x8096fa2b,0x2f21da47,0xeec863a0,0xf3e19cb4,0x9527620a,0xd18f77fd,0x407c1cf8,0x9505c81c,0x1b6ec284,0x9998db4e
-.long 0xc247d44d,0x7e3389e5,0x3f4f3d80,0x12507141,0x4a78a6c7,0xd4ba0110,0x767720be,0x312874a0,0x75944370,0xded059a6,0x3b2c0bdd,0xd6123d90,0x51c108e3,0xa56b717b,0x070623e9,0x9bb7940e
-.long 0x84ac066c,0x794e2d59,0xe68c69a0,0xf5954a92,0x4fd99dcc,0x28c52458,0xb1012517,0x60e639fc,0x7de79248,0xc2e60125,0xf12fc6d7,0xe9ef6404,0x2a3b5d32,0x4c4f2808,0xc768eb8a,0x865ad32e
-.long 0x13fb70b6,0xac02331b,0x95599b27,0x037b44c1,0x60bd082c,0x1a860fc4,0xc980cd01,0xa2e25745,0x1da0263e,0xee3387a8,0x2d10f3d6,0x931bfb95,0xa1f24a32,0x5b687270,0xca494b86,0xf140e65d
-.long 0xb2f1ac7a,0x4f4ddf91,0x760fee27,0xf99eaabb,0x49c228e5,0x57f4008a,0x1cf713bb,0x090be440,0x5004f022,0xac91fbe4,0x569e1af6,0xd838c2c2,0x0f1daaa5,0xd6c7d20b,0x1bbb02c0,0xaa063ac1
-.long 0x59558a78,0x0938a422,0x8435da2f,0x5343c669,0x034410dc,0x96f67b18,0x84510804,0x7cc1e424,0x16dfbb7d,0x86a1543f,0x5b5bd592,0x921fa942,0xb33dd03c,0x9dcccb6e,0xb843f51e,0x8581ddd9
-.long 0x81d73c9e,0x54935fcb,0x0a5e97ab,0x6d07e979,0xcf3a6bab,0x4dc7b30a,0x170bee11,0x147ab1f3,0x9fafdee4,0x0aaf8e3d,0x538a8b95,0xfab3dbcb,0x6ef13871,0x405df4b3,0x088d5a49,0xf1f4e9cb
-.long 0x66b33f1d,0x9bcd24d3,0x5ce445c0,0x3b97b820,0xba93ff61,0xe2926549,0x4dafe616,0xd9c341ce,0x16efb6f3,0xfb30a76e,0x605b953c,0xdf24b8ca,0xc2fffb9f,0x8bd52afe,0xe19d0b96,0xbbac5ff7
-.long 0x459afccd,0x43c01b87,0xb7432652,0x6bd45143,0x55b5d78e,0x84734530,0x1554ba7d,0x81088fdb,0x1e269375,0xada0a52c,0x2dc5ec10,0xf9f037c4,0x94bfbc11,0xc0660607,0xc9c40d2f,0xc0a630bb
-.long 0xab64c31e,0x5efc797e,0x74507144,0xffdb1dab,0x1ca6790c,0xf6124287,0xe69bf1bf,0xe9609d81,0x00d24fc9,0xdb898595,0xe51fb417,0x9c750333,0xfef7bbde,0x51830a91,0x945f585c,0x0ce67dc8
-.long 0x4763eb50,0x9a730ed4,0xc1ab0d66,0x24a0e221,0x648748f3,0x643b6393,0x6d3c6291,0x1982daa1,0x8bbc5549,0x6f00a9f7,0x7f36384e,0x7a1783e1,0xde977f50,0xe8346323,0xb245502a,0x91ab688d
-.long 0x6d0bdd66,0x331ab6b5,0x64b71229,0x0a6ef32e,0xfe7c352f,0x1028150e,0xce7b39d3,0x27e04350,0xc1070c82,0x2a3c8acd,0x80c9feef,0xfb2034d3,0x709f3729,0x2d729621,0x62cb4549,0x8df290bf
-.long 0xfc2e4326,0x02f99f33,0x5eddf032,0x3b30076d,0x0c652fb5,0xbb21f8cf,0xed91cf7b,0x314fb49e,0x2f700750,0xa013eca5,0x712a4575,0x2b9e3c23,0xaf30fbb0,0xe5355557,0x7c77e771,0x1ada3516
-.long 0x7b135670,0x45f6ecb2,0x7cfc202e,0xe85d19df,0x58d1be9f,0x0f1b50c7,0xead2e344,0x5ebf2c0a,0xabc199c9,0x1531fe4e,0x56bab0ae,0xc7032592,0x6c1fec54,0x16ab2e48,0x04280188,0x0f87fda8
-.long 0x609e4a74,0xdc9f46fc,0xba667f91,0x2a44a143,0xb4d83436,0xbc3d8b95,0xc7bd2958,0xa01e4bd0,0x73483c90,0x7b182932,0xa7c7b598,0xa79c6aa1,0xeaaac07e,0xbf3983c6,0x96e0d4e6,0x8f18181e
-.long 0x051af62b,0x8553d37c,0x0bf94496,0xe9a998eb,0xb0d59aa1,0xe0844f9f,0xe6afb813,0x983fd558,0x65d69804,0x9670c0ca,0x6ea5ff2d,0x732b22de,0x5fd8623b,0xd7640ba9,0xa6351782,0x9f619163
-.long 0xacee5043,0x0bfc27ee,0x2eb10f02,0xae419e73,0x8943fb05,0x19c028d1,0xff13aa2a,0x71f01cf7,0x8887a132,0x7790737e,0x66318410,0x67513309,0x7ddb795e,0x9819e8a3,0xdad100b2,0xfecb8ef5
-.long 0x3021926a,0x59f74a22,0x6f9b4c1c,0xb7c28a49,0x912ad0ab,0xed1a733f,0x01a5659c,0x42a910af,0x7bd68cab,0x3842c6e0,0x76d70ac8,0x2b57fa38,0x3c53aaeb,0x8a6707a8,0x65b4db18,0x62c1c510
-.long 0xb2d09dc7,0x8de2c1fb,0x266bd23b,0xc3dfed12,0xd5b27db6,0x927d039b,0x103243da,0x2fb2f0f1,0x80be7399,0xf855a07b,0x1f9f27a8,0xed9327ce,0x729bdef7,0xa0bd99c7,0x28250d88,0x2b67125e
-.long 0x8670ced7,0x784b26e8,0xc31bd3b4,0xe3dfe41f,0xbcc85cbc,0x9e353a06,0x60178a9d,0x302e2909,0xa6eac16e,0x860abf11,0xaa2b3aac,0x76447000,0x850afdab,0x46ff9d19,0xfdb2d4c1,0x35bdd6a5
-.long 0x7e5c9ce9,0xe82594b0,0x20af346e,0x0f379e53,0xbc65ad4a,0x608b31e3,0x267c4826,0x710c6b12,0x71954cf1,0x51c966f9,0x0d0aa215,0xb1cec793,0x86bd23a8,0x1f155989,0xf9452e86,0xae2ff99c
-.long 0x340ceaa2,0xd8dd953c,0x2e2e9333,0x26355275,0x8586f06d,0x15d4e5f9,0xf7cab546,0xd6bf94a8,0xb76a9af0,0x33c59a0a,0xba095af7,0x52740ab3,0x24389ca0,0xc444de8a,0x706da0cb,0xcc6f9863
-.long 0x6b2515cf,0xb5a741a7,0x9585c749,0x71c41601,0xe683de97,0x78350d4f,0x63d0b5f5,0x31d61524,0xfbce090b,0x7a0cc5e1,0xfbcb2a5b,0xaac927ed,0x20d84c35,0xe920de49,0x22b4de26,0x8c06a0b6
-.long 0xafe7ddf3,0xd34dd58b,0xc1e6e55b,0x55851fed,0x960696e7,0xd1395616,0x5f22705f,0x940304b2,0xb0a2a860,0x6f43f861,0x0e7cc981,0xcf121282,0x0ab64a96,0x12186212,0xb789383c,0x09215b9a
-.long 0x37387c09,0x311eb305,0xf03ee760,0xc5832fce,0x32f7ea19,0x30358f58,0x91d53551,0xe01d3c34,0xda48ea80,0x1ca5ee41,0xcf4fa4c1,0x34e71e8e,0x7af1e1c7,0x312abd25,0x2153f4a5,0xe3afcdeb
-.long 0x00235e9a,0x9d5c84d7,0x8c4c836f,0x0308d3f4,0x89332de5,0xc0a66b04,0x89e566ef,0x610dd399,0xd1ac1635,0xf8eea460,0x20a2c0df,0x84cbb3fb,0xe74a48c5,0x40afb488,0xd326b150,0x29738198
-.long 0xa6d74081,0x2a17747f,0x55a26214,0x60ea4c05,0x1f88c5fe,0x53514bb4,0x7e83426c,0xedd64567,0x96460b25,0xd5d6cbec,0x68dc115e,0xa12fd0ce,0x697840ea,0xc5bc3ed2,0xa6331e31,0x969876a8
-.long 0x472ff580,0x60c36217,0x4ad41393,0xf4229705,0xa03b8b92,0x4bd99ef0,0xc144f4f6,0x501c7317,0x18464945,0x159009b3,0x74c5c6be,0x6d5e594c,0x321a3660,0x2d587011,0x3898d022,0xd1e184b1
-.long 0x4c6a7e04,0x5ba04752,0x45550b65,0x47fa1e2b,0x48c0a9a5,0x9419daf0,0x7c243236,0x66362953,0x5cb12a88,0xcd0744b1,0x2b646188,0x561b6f9a,0x66c2c0c0,0x599415a5,0x0f83f09a,0xbe3f0859
-.long 0xb92041b8,0x9141c5be,0x26477d0d,0x01ae38c7,0xd12c7a94,0xca8b71f3,0x765c70db,0xfab5b31f,0x487443e9,0x76ae7492,0x990d1349,0x8595a310,0x7d460a37,0xf8dbeda8,0x1e45a38f,0x7f7ad082
-.long 0x1059705a,0xed1d4db6,0xe6b9c697,0xa3dd492a,0x6eb38bd5,0x4b92ee3a,0x67cc0bb7,0xbab2609d,0x6e70ee82,0x7fc4fe89,0x13e6b7e3,0xeff2c56e,0x34d26fca,0x9b18959e,0x889d6b45,0x2517ab66
-.long 0xbdefdd4f,0xf167b4e0,0xf366e401,0x69958465,0xa73bbec0,0x5aa368ab,0x7b240c21,0x12148709,0x18969006,0x378c3233,0xe1fe53d1,0xcb4d73ce,0x130c4361,0x5f50a80e,0x7ef5212b,0xd67f5951
-.long 0x9e70c72e,0xf145e21e,0x5566d2fb,0xb2e52e29,0x032397f5,0x44eaba4a,0x7e31a7de,0x5e56937b,0x456c61e1,0x68dcf517,0xa8b0a388,0xbc2e954a,0x60a8b755,0xe3552fa7,0x73ad0cde,0x03442dae
-.long 0xceb26210,0x37ffe747,0x787baef9,0x983545e8,0x86a3de31,0x8b8c8535,0xfacd46db,0xc621dbcb,0x59266fbb,0x82e442e9,0x339d471c,0xa3514c37,0x62cdad96,0x3a11b771,0xecf9bdf0,0xf0cb3b3c
-.long 0x478e2135,0x3fcbdbce,0xbda35342,0x7547b5cf,0x8a677af6,0xa97e81f1,0x28817987,0xc8c2bf83,0x45580985,0xdf07eaaf,0xc93b45cb,0xc68d1f05,0xc77b4cac,0x106aa2fe,0x04a7ae86,0x4c1d8afc
-.long 0x9eb45ab2,0xdb41c3fd,0xd4b22e74,0x5b234b5b,0xf215958a,0xda253dec,0xa04edfa0,0x67e0606e,0xef751b11,0xabbbf070,0xf6f06dce,0xf352f175,0x6839f6b4,0xdfc4b6af,0x9959848e,0x53ddf9a8
-.long 0xc21520b0,0xda49c379,0xdbd5d1b6,0x90864ff0,0x5f49c7f7,0x2f055d23,0xa796b2d8,0xe51e4e6a,0x5c9dc340,0xc361a67f,0xbca7c620,0x5ad53c37,0x32c756d0,0xda1d6588,0x8bb67e13,0xad60d911
-.long 0x0eeec8c6,0xd6c47bdf,0x078a1821,0x4a27fec1,0xc3099524,0x081f7415,0x82cd8060,0x8effdf0b,0x65842df8,0xdb70ec1c,0xd319a901,0x8821b358,0xde42b529,0x72ee56ee,0x236e4286,0x5bb39592
-.long 0xfd6f7140,0xd1183316,0xbd8e81f7,0xf9fadb5b,0x5a02d962,0x701d5e0c,0x1b601324,0xfdee4dbf,0x35d7620e,0xbed17407,0xf48c0012,0x04e3c2c3,0x3455449a,0x9ee29da7,0x91a836c4,0x562cdef4
-.long 0x47701097,0x8f682a5f,0xff88d0c2,0x617125d8,0x57bb86dd,0x948fda24,0x289f7286,0x348abb8f,0x99d94bbd,0xeb10eab5,0x4684d160,0xd51ba28e,0x30c8f41a,0xabe0e51c,0x13254f4a,0x66588b45
-.long 0xfad097a5,0x147ebf01,0x610e815d,0x49883ea8,0x8a11de56,0xe44d60ba,0x827a7a6d,0xa970de6e,0x5e17fc19,0x2be41424,0x01214057,0xd833c657,0x363e723f,0x1375813b,0xe6a52e9b,0x6820bb88
-.long 0xd875d56a,0x7e7f6970,0x51fbf6bf,0xd6a0a9ac,0xa3083c12,0x54ba8790,0x6ae7eb64,0xebaeb23d,0xb99a907a,0xa8685c3a,0x026bf40b,0xf1e74550,0xc802cd9e,0x7b73a027,0x4fef4635,0x9a8a927c
-.long 0x08191224,0xe1b6f60c,0xde4ec091,0xc4126ebb,0x4ae38d84,0xe1dff4dc,0x4f2ef985,0xde3f57db,0xd446a1dd,0x34964337,0x859e77f6,0x7bf217a0,0x8e1d13f5,0x8ff10527,0x74eeae27,0xa304ef03
-.long 0xd19dfa5a,0xfc6f5e47,0x7fad982b,0xdb007de3,0x613715f5,0x28205ad1,0x7889529e,0x251e6729,0x1ae98e78,0x72705184,0x271cac32,0xf818537d,0xb7f410f5,0xc8a15b7e,0x81f62393,0xc474356f
-.long 0xc242316b,0x92dbdc5a,0xdbf4aff5,0xabe060ac,0x909a8ec6,0x6e8c38fe,0x6116cb94,0x43e514e5,0x07d784f9,0x2078fa38,0xf4b5b357,0x1161a880,0x13adea3d,0x5283ce79,0xcc6a910b,0x0756c3e6
-.long 0xaaa79697,0x60bcfe01,0x56391db1,0x04a73b29,0x189b45a0,0xdd8dad47,0x48d5b8d9,0xbfac0dd0,0x7d3d2ec2,0x34ab3af5,0x207bd3af,0x6fa2fc2d,0x66550ded,0x9ff40092,0x1fd5b913,0x719b3e87
-.long 0x6d17fbc7,0xa573a496,0x73d2b24e,0x0cd1a70a,0xb2676937,0x34e2c5ca,0xbf669f21,0xe7050b06,0x1ede9046,0xfbe948b6,0x97662659,0xa0530051,0xf10124c5,0x58cbd4ed,0xdd6c06c8,0xde2646e4
-.long 0x8cad38c0,0x332f8108,0x6bd68ae2,0x471b7e90,0x0d8e27a3,0x56ac3fb2,0x136b4b0d,0xb54660db,0xa6fd8de4,0x123a1e11,0xa37799ef,0x44dbffea,0xce6ac17c,0x4540b977,0xaf60acef,0x495173a8
-.long 0x391c2a82,0x9ebb284d,0x158308e8,0xbcdd4863,0x83f1edca,0x006f16ec,0x695dc6c8,0xa13e2c37,0x4a057a87,0x2ab756f0,0xa6b48f98,0xa8765500,0x68651c44,0x4252face,0xe1765e02,0xa52b540b
-.long 0x16a0d2bb,0x4f922fc5,0x1a623499,0x0d5cc16c,0x57c62c8b,0x9241cf3a,0xfd1b667f,0x2f5e6961,0xf5a01797,0x5c15c70b,0x60956192,0x3d20b44d,0x071fdb52,0x04911b37,0x8d6f0f7b,0xf648f916
-.long 0xe60b7cf7,0x6dc1acaf,0x84a9d869,0x25860a50,0xe7ba8ac4,0x56fc6f09,0x6148d29e,0x828c5bd0,0xdc55ae5f,0xac6b435e,0xc0117411,0xa527f56c,0xfd24342c,0x94d5045e,0x70b67c0d,0x2c4c0a35
-.long 0xfac61d9a,0x027cc8b8,0xe3c6fe8a,0x7d25e062,0xe5bff503,0xe08805bf,0x6ff632f7,0x13271e6c,0x232f76a5,0x55dca6c0,0x701ef426,0x8957c32d,0xa10a5178,0xee728bcb,0xb62c5173,0x5ea60411
-.long 0xd0b8892b,0xfc4e964e,0x9301bb74,0x9ea17683,0xfcc48626,0x6265c5ae,0xbb3e9102,0xe60cf82e,0xd4df5531,0x57adf797,0x8deeefe2,0x235b59a1,0x3f306eb1,0x60adcf58,0x3d09492d,0x105c2753
-.long 0xb5def996,0x4090914b,0x233dd1e7,0x1cb69c83,0x9b3d5e76,0xc1e9c1d3,0xfccf6012,0x1f3338ed,0x2f5378a8,0xb1e95d0d,0x2f00cd21,0xacf4c2c7,0xeb5fe290,0x6e984240,0x248088ae,0xd66c038d
-.long 0xf94d70cf,0x804d264a,0x7314bf7e,0xbdb802ef,0x4333ed02,0x8fb54de2,0x285635d9,0x740461e0,0x365e9383,0x4113b2c8,0x3fdef652,0xea762c83,0x47b956c1,0x4eec6e2e,0x65620fa4,0xa3d814be
-.long 0xb4d8bc50,0x9ad5462b,0xa9195770,0x181c0b16,0x78412a68,0xebd4fe1c,0xc0dff48c,0xae0341bc,0x7003e866,0xb6bc45cf,0x8a24a41b,0xf11a6dea,0xd04c24c2,0x5407151a,0xda5b7b68,0x62c9d27d
-.long 0x88cceff6,0x2e964235,0x8b07ed69,0x8594c54f,0xc84d0d0d,0x1578e73c,0xff532868,0x7b4e1055,0xb5ec995a,0xa348c0d5,0x14289a54,0xbf4b9d55,0x58fbd777,0x9ba155a6,0x1a84491d,0x186ed7a8
-.long 0x614c0900,0xd4992b30,0xbd00c24b,0xda98d121,0x7ec4bfa1,0x7f534dc8,0x37dc34bc,0x4a5ff674,0x1d7ea1d7,0x68c196b8,0x80a6d208,0x38cf2893,0xe3cbbd6e,0xfd56cd09,0x4205a5b6,0xec72e27e
-.long 0xa44f77f7,0x15ea68f5,0xb43c52bc,0x7aa5f9fd,0x94f0e609,0x86ff676f,0x2e2d432b,0xa4cde963,0xeee470af,0x8cafa0c0,0x8a3f5ec8,0x84137d0e,0xfaa31231,0xebb40411,0x6f7f7ccf,0xa239c13f
-.long 0xa8afd30b,0x32865719,0x8a826dce,0x86798328,0xc4a8fbe0,0xdf04e891,0xebf56ad3,0xbb6b6e1b,0x471f1ff0,0x0a695b11,0xbe15baf0,0xd76c3389,0xbe96c43e,0x018edb95,0x90794158,0xf2beaaf4
-.long 0xc3076a27,0x152db09e,0xe416545d,0x5e82908e,0x356d6f2e,0xa2c41272,0x31fd74e1,0xdc9c9642,0x519bf615,0x66ceb88d,0x05a2274e,0xe29ecd76,0xbf5e2fa0,0x3a0473c4,0x64284e67,0x6b6eb671
-.long 0xb88756dd,0xe8b97932,0xf17e3e61,0xed4e8652,0x3ee1c4a4,0xc2dd1499,0x597f8c0e,0xc0aaee17,0x6c168af3,0x15c4edb9,0xb39ae875,0x6563c7bf,0x20adb436,0xadfadb6f,0x9a042ac0,0xad55e8c9
-.long 0xb76da1f5,0x975a1ed8,0xa58acb94,0x10dfa466,0xac060282,0x8dd7f7e3,0x572a051e,0x6813e66a,0x350cb901,0xb4ccae1e,0x50cb7822,0xb653d656,0xdfab3b87,0x42484710,0x9b670fd0,0xcd7ee537
-.long 0x523b8bf6,0x0a50b12e,0x8f910c1b,0x8009eb5b,0x4a167588,0xf535af82,0xfb2a2abd,0x0f835f9c,0x2afceb62,0xf59b2931,0x169d383f,0xc797df2a,0x66ac02b0,0xeb3f5fb0,0xdaa2d0ca,0x029d4c6f
-.long 0xafab4bc5,0xd4059bc1,0x56783247,0x833f5c6f,0x8d2d3605,0xb5346630,0xd34d8433,0x83387891,0xadd9419a,0xd973b30f,0xafe3fce8,0xbcca1099,0x0809aac6,0x08178315,0x540f0f11,0x01b7f21a
-.long 0x909523c8,0x65c29219,0xa3a1c741,0xa62f648f,0x60c9e55a,0x88598d4f,0x0e4f347a,0xbce9141b,0x35f9b988,0x9af97d84,0x320475b6,0x0210da62,0x9191476c,0x3c076e22,0x44fc7834,0x7520dbd9
-.long 0xc1ab1bbd,0x6a6b2cfe,0xdc650938,0xef8a65be,0x805d7bc4,0x72855540,0xed11fdfd,0xda389396,0x74660876,0xa9d5bd36,0xb45dff35,0x11d67c54,0xa4f5da94,0x6af7d148,0xc0bbeb31,0xbb8d4c3f
-.long 0xe0a1b12a,0x87a7ebd1,0x770ba95f,0x1e4ef88d,0xdc2ae9cb,0x8c33345c,0x01cc8403,0xcecf1276,0x1b39b80f,0x687c012e,0x35c33ba4,0xfd90d0ad,0x5c9661c2,0xa3ef5a67,0xe017429e,0x368fc88e
-.long 0x196a2fa2,0xd30c6761,0xbd5b312e,0x931b9817,0x72f54a31,0xba01000c,0x66eaa541,0xa203d2c8,0x98939db3,0xf2abdee0,0x3e606c02,0xe37d6c2c,0x521ff643,0xf2921574,0xd7e2fca3,0x2781b3c4
-.long 0x7850ec06,0x664300b0,0x7d3a10cf,0xac5a38b9,0xe34ab39d,0x9233188d,0x5072cbb9,0xe77057e4,0xb59e78df,0xbcf0c042,0x1d97de52,0x4cfc91e8,0x3ee0ca4a,0x4661a26c,0xfb8507bc,0x5620a4c1
-.long 0x049f842c,0x4b44d4aa,0x1540e82b,0xceabc5d5,0x15c6f156,0x306710fd,0x63db1d72,0xbe5ae52b,0x334957f1,0x06f1e7e6,0x31144a70,0x57e388f0,0xdf96447b,0xfb69bb2f,0x73e38a12,0x0f78ebd3
-.long 0x2b7ce542,0xb8222605,0x7472bde1,0xe6d4ce99,0x09d2f4da,0x53e16ebe,0x53b92b2e,0x180ff42e,0x2c34a1c6,0xc59bcc02,0x422c46c2,0x3803d6f9,0x5c14a8a2,0x18aff74f,0x10a08b28,0x55aebf80
-.long 0x7135593f,0x66097d58,0x2be570cd,0x32e6eff7,0x2a8c860d,0x584e6a10,0xa2eb4163,0xcd185890,0x6d97e134,0x7ceae99d,0xdd8447ce,0xd42c6b70,0xb8c50273,0x59ddbb4a,0x3cf34e1e,0x03c612df
-.long 0x04b6c5a0,0x84b9ca15,0x18f0e3a3,0x35216f39,0xbd986c00,0x3ec2d2bc,0xd19228fe,0x8bf546d9,0x4cd623c3,0xd1c655a4,0x502b8e5a,0x366ce718,0xeea0bfe7,0x2cfc84b4,0xcf443e8e,0xe01d5cee
-.long 0x036520f8,0x8ec045d9,0x92d40e98,0xdfb3c3d1,0xcc559a04,0x0bac4cce,0x240ea6b1,0x35eccae5,0xf8a5a0ac,0x180b32db,0xeb699700,0x547972a5,0xca26bca0,0xa3765801,0xa647f25a,0x57e09d0e
-.long 0x2fdd23cc,0xb956970e,0x5682e971,0xb80288bc,0x9ae86ebc,0xe6e6d91e,0x8c9f1939,0x0564c83f,0x39560368,0x551932a2,0x049c28e2,0xe893752b,0xa6a158c3,0x0b03cee5,0x04964263,0xe12d656b
-.long 0x63e3bc1d,0x4b47554e,0x45044ff7,0xc719b6a2,0xe48daa07,0x4f24d30a,0xc8c1edc3,0xa3f37556,0x0700d360,0x9a47bf76,0x822ae4e2,0xbb1a1824,0x89f1fb4c,0x22e275a3,0x9968c5f5,0x72b1aa23
-.long 0xbe063f64,0xa75feaca,0xbce47a09,0x9b392f43,0x1ad07aca,0xd4241509,0x8d26cd0f,0x4b0c591b,0x92f1169a,0x2d42ddfd,0x4cbf2392,0x63aeb1ac,0x0691a2af,0x1de9e877,0xd98021da,0xebe79af7
-.long 0x40e50acf,0xcfdf2a4e,0xaf01d665,0xf0a98ad7,0x1831be1f,0xefb640bf,0x80e9ada0,0x6fe8bd2f,0x6cafbc91,0x94c103a1,0x8308e08c,0x170f8759,0x9780ff4f,0x5de2d2ab,0x45b201f2,0x666466bc
-.long 0xf5b343bc,0x58af2010,0xf2f142fe,0x0f2e400a,0xa85f4bdf,0x3483bfde,0x03bfeaa9,0xf0b1d093,0xc7081603,0x2ea01b95,0x3dba1097,0xe943e4c9,0xb438f3a6,0x47be92ad,0xe5bf6636,0x00bb7742
-.long 0x824297b4,0x136b7083,0x5584455f,0x9d0e5580,0xf1c7d69e,0xab48cedc,0x2a256e76,0x53a9e481,0x65eb2413,0x0402b0e0,0x8fc407a7,0xdadbbb84,0x8d7f5492,0xa65cd5a4,0x74bae294,0x21d44293
-.long 0x3b5f1cc4,0x66917ce6,0xce872e62,0x37ae52ea,0x2905f244,0xbb087b72,0x1e6af74f,0x12077086,0x1058edea,0x4b644e49,0xb638ca1d,0x827510e3,0x6038591c,0x8cf2b704,0xfe635063,0xffc8b47a
-.long 0x1b4d5e63,0x3ae220e6,0x9d961b4b,0xbd864742,0x9bd16bed,0x610c107e,0x1127147b,0x4270352a,0x64cfc50e,0x7d17ffe6,0x1e36cb42,0x50dee01a,0x35dc5f9a,0x068a7622,0xdf53f62c,0x9a08d536
-.long 0x6be5f7de,0x4ed71457,0xc2263c9e,0xd93006f8,0xcacacb36,0xe073694c,0x3ae118ab,0x2ff7a5b4,0xcd871236,0x3cce53f1,0xc2aa6d52,0xf156a39d,0xb198d76d,0x9cc5f271,0x81383d39,0xbc615b6f
-.long 0xde3eee6b,0xa54538e8,0xab910d91,0x58c77538,0x58d278bd,0x31e5bdbc,0xb963acae,0x3cde4adf,0x5302169c,0xb1881fd2,0xa989ed8b,0x8ca60fa0,0xff96a0ee,0xa1999458,0xac6c283d,0xc1141f03
-.long 0x6dfafed3,0x7677408d,0x39661588,0x33a01653,0x0b726fa0,0x3c9c15ec,0x6c9b56da,0x090cfd93,0xa3c40af5,0xe34f4bae,0xd21129f1,0x3469eadb,0x1e207ce8,0xcc51674a,0xc83b1ef9,0x1e293b24
-.long 0x1e6c0bb4,0x17173d13,0x90776d35,0x19004695,0x6de6f922,0xe7980e34,0xf4dd9a22,0x873554cb,0xcbf18a51,0x0316c627,0x3032c081,0x4d93651b,0x3946834d,0x207f2771,0x30cdbf80,0x2c08d7b4
-.long 0x86df2a61,0x137a4fb4,0xecf7b4a2,0xa1ed9c07,0x7bd042ff,0xb2e460e2,0x5f62f5ec,0xb7f5e2fa,0xcc2423b7,0x7aa6ec6b,0xba63eea7,0x75ce0a7f,0xf250a6e1,0x67a45fb1,0xe53cdc9f,0x93bc919c
-.long 0x871942df,0x9271f56f,0x7859ad66,0x2372ff6f,0x33cb1a78,0x5f4c2b96,0x5838aa83,0xe3e29101,0xe4e8110c,0xa7ed1611,0x330198ce,0x2a2d70d5,0x6720efe0,0xbdf132e8,0x66a471bf,0xe61a8962
-.long 0x825808bd,0x796d3a85,0x3fd6e902,0x51dc3cb7,0x916219d1,0x643c768a,0xa2ad7d32,0x36cd7685,0xb22922a4,0xe3db9d05,0xdba29660,0x6494c87e,0xbcd2ebc7,0xf0ac91df,0x45107f8d,0x4deb57a0
-.long 0xc3d12a73,0x42271f59,0xa5c2c51d,0x5f71687c,0x05797bcb,0xcb1f50c6,0xd6d34eb0,0x29ed0ed9,0x4683c2eb,0xe5fe5b47,0x97447c46,0x4956eeb5,0x71207167,0x5b163a43,0x0248c5ef,0x93fa2fed
-.long 0x31f63950,0x67930af2,0x14caa2c9,0xa77797c1,0x27ac7e62,0x526e80ee,0x58b28aec,0xe1e6e626,0xb3c9fef0,0x636178b0,0x6d5f90be,0xaf7752e0,0xeece51cf,0x94ecaf18,0xca806e1f,0x2864d0ed
-.long 0x97c69134,0x6de2e383,0xeb291293,0x5a42c316,0x6a60bae0,0xc7779219,0x6b7599d1,0xa24de346,0xb75d4941,0x49d374aa,0x2d501ff0,0x98900586,0xeb7974cf,0x9f16d40e,0xcdd8c115,0x1033860b
-.long 0x2094cec3,0xb6c69ac8,0x403b770c,0x9976fb88,0x4859590d,0x1dea026c,0x8562d1fd,0xb6acbb46,0x44569d85,0x7cd6c461,0x97f0891d,0xc3190a36,0x48d5a17d,0xc6f53195,0xd749abc8,0x7d919966
-.long 0xdd1c8a20,0x65104837,0x2f683419,0x7e5410c8,0xbe94022e,0x958c3ca8,0x6145dac2,0x605c3197,0x01683d54,0x3fc07501,0x595b1234,0x1d7127c5,0x9481277f,0x10b8f87c,0xe65a1adb,0x677db2a8
-.long 0xddce3345,0xec2fccaa,0x012a4350,0x2a6811b7,0xac598bdc,0x96760ff1,0xd1bf4128,0x054d652a,0x92a21005,0x0a1151d4,0x33110fdf,0xad7f3971,0x1960100f,0x8c95928c,0x7bf03362,0x6c91c825
-.long 0xce309f06,0xc8c8b2a2,0xca27204b,0xfdb27b59,0x0848e32e,0xd223eaa5,0xe7bfaf1e,0xb93e4b2e,0x44aa3ded,0xc5308ae6,0xc015d573,0x317a666a,0x1a979707,0xc888ce23,0x0d5c4958,0xf141c1e6
-.long 0x61906373,0xb53b7de5,0xeb999595,0x858dbade,0xa59e5c36,0x8cbb47b2,0xdcf4e842,0x660318b3,0x12ba4b7a,0xbd161ccd,0xf8c8282a,0xf399daab,0xeeb2130d,0x1587633a,0xda38dd7d,0xa465311a
-.long 0x64d3779b,0x5f75eec8,0xad64c171,0x3c5d0476,0x2a914428,0x87410371,0x90e2fc29,0x8096a891,0x23b3ebc2,0xd3d2ae9d,0xa580cfd6,0x90bdd6db,0xc5b01f6c,0x52dbb7f3,0xe102a2dc,0xe68eded4
-.long 0x99eb6df0,0x17785b77,0x7386b779,0x26c3cc51,0x6417a48e,0x345ed988,0x07d6ef31,0xe990b4e4,0x2586abba,0x0f456b7e,0x59c96e9a,0x239ca6a5,0xe2eb4206,0xe327459c,0xa002b90a,0x3a4c3313
-.long 0xf6a3f6fb,0x2a114806,0x85c251dd,0xad5cad2f,0xf5a784d3,0x92c1f613,0x349766d5,0xec7bfacf,0x3e23cb3b,0x04b3cd33,0xc5a64b2d,0x3979fe84,0x7e589106,0x192e2720,0xa15b527f,0xa60c43d1
-.long 0xbe7cf3a6,0x2dae9082,0xbc967274,0xcc86ba92,0xaea0a8a9,0xf28a2ce8,0x6ee988b3,0x404ca6d9,0x005921b8,0xfd7e9c5d,0x44e79bf9,0xf56297f1,0x0d75ddc2,0xa163b460,0xa1f2be87,0x30b23616
-.long 0xbfe50e2b,0x4b070d21,0xe1bfede1,0x7ef8cfd0,0x2aac4ae0,0xadba0011,0xb9ebd033,0x2a3e7d01,0xe38d9d1c,0x995277ec,0x9c5d2de3,0xb500249e,0xf13ca8c9,0x8912b820,0x877793af,0xc8798114
-.long 0xec3f1dec,0x19e6125d,0x911178da,0x07b1f040,0x904a6738,0xd93ededa,0x0bebedcd,0x55187a5a,0xeb329d41,0xf7d04722,0xf170b391,0xf449099e,0xca99f828,0xfd317a69,0x34a4976d,0x50c3db2b
-.long 0x3757b392,0xe9ba7784,0xaa3ca05a,0x326caefd,0xf1e593d4,0x78e5293b,0x0d98fd13,0x7842a937,0x5f96b10d,0xe694bf96,0x06a8cd05,0x373a9df6,0xe8f0c7fc,0x997d1e51,0x63fd972e,0x1d019790
-.long 0x5499fb32,0x0064d858,0x77a8aeb7,0x7b67bad9,0x2d08eec5,0x1d3eb977,0xcbabae1d,0x5fc047a6,0xe54a64bb,0x0577d159,0xc43497e4,0x8862201b,0x2ce0608d,0xad6b4e28,0x0b167aac,0x8b687b7d
-.long 0x8b2ecfa9,0x6ed4d367,0xa90c3c38,0x24dfe62d,0x3fe5c42b,0xa1862e10,0xd5732a9f,0x1ca73dca,0x76bb87ad,0x35f038b7,0xf242b81f,0x674976ab,0xb0fd90cd,0x4f2bde7e,0xa7fdf092,0x6efc172e
-.long 0x92222f1f,0x3806b69b,0x6cf7ae70,0x5a2459ca,0xa85217ee,0x6789f69c,0xe3dc85ac,0x5f232b5e,0x48e9e516,0x660e3ec5,0x3197eb31,0x124b4e47,0xaafcca23,0x10a0cb13,0x8213224f,0x7bd63ba4
-.long 0x290a7f4f,0xaffad7cc,0x0286b461,0x6b409c9e,0xffa407af,0x58ab809f,0xc68ac073,0xc3122eed,0x4ef24d7e,0x17bf9e50,0x3e2a5811,0x5d929794,0x02902e01,0x519bc867,0x39c8a851,0x76bba5da
-.long 0xda94951e,0xe9f9669c,0x66b8d418,0x4b6af58d,0x17d426a4,0xfa321074,0x9dde6027,0xc78e66a9,0x4a53b964,0x0516c083,0xff602330,0xfc659d38,0x58c5c897,0x0ab55e5c,0x838bc5df,0x985099b2
-.long 0xc52fc238,0x061d9efc,0x6ac1da3f,0x712b2728,0x9283fe08,0xfb658149,0xb8aaa2f7,0x4954ac94,0x7fb2e74f,0x85c0ada4,0xb89926b0,0xee8ba98e,0x23d1af5b,0xe4f9d37d,0xba9b015e,0x14ccdbf9
-.long 0x7bfe7178,0xb674481b,0x65405868,0x4e1debae,0xc48c867d,0x061b2821,0x513b30ea,0x69c15b35,0x36871088,0x3b4a1666,0x1220b1ff,0xe5e29f5d,0x233d9f4d,0x4b82bb35,0x18cdc675,0x4e076333
-.long 0xa3e6fced,0x0d53f5c7,0xf45fbdeb,0xe8cbbdd5,0x13339a70,0xf85c01df,0x142ceb81,0x0ff71880,0xbd70437a,0x4c4e8774,0xba0bda6a,0x5fb32891,0xf18bd26e,0x1cdbebd2,0x03a9d522,0x2f9526f1
-.long 0x92c4d684,0x40ce3051,0x7612efcd,0x8b04d725,0x6f9cae20,0xb9dcda36,0xf058856c,0x0edc4d24,0x85427900,0x64f2e6bf,0xdc09dfea,0x3de81295,0x379bf26c,0xd41b4487,0x6df135a9,0x50b62c6d
-.long 0xc72dfe67,0xd4f8e3b4,0x90e19fdf,0xc416b0f6,0x4c13bd35,0x18b9098d,0x15b8cb9e,0xac11118a,0xf0062841,0xf598a318,0x89f356f4,0xbfe0602f,0x30177a0c,0x7ae3637e,0x61136537,0x34097747
-.long 0xd005832a,0x0db2fb5e,0x91042e4f,0x5f5efd3b,0xed70f8ca,0x8c4ffdc6,0xb52da9cc,0xe4645d0b,0xc9001d1f,0x9596f58b,0x4e117205,0x52c8f0bc,0xe398a084,0xfd4aa0d2,0x104f49de,0x815bfe3a
-.long 0x23885e5f,0x97e5443f,0xe8433aab,0xf72f8f99,0xe4d4e604,0xbd00b154,0xe5e173ff,0xd0b35e6a,0x9164722d,0x57b2a048,0x88761ec8,0x3e3c665b,0x3da83832,0x6bdd1397,0x73dafe3b,0x3c8b1a1e
-.long 0x54317cac,0x4497ace6,0x521771b3,0xbe600ab9,0xb0dfe8b8,0xb42e409e,0x3942310f,0x386a67d7,0x4431cc28,0x25548d8d,0x985dc524,0xa7cff142,0x93c4be32,0x4d60f5a1,0xd071c6e1,0x83ebd5c8
-.long 0xb1fd2b0b,0xba3a80a7,0x5bec33e8,0x9b3ad396,0x79743fb3,0xb3868d61,0xfdb462fa,0xcfd169fc,0x9ce0a6af,0xd3b499d7,0xe42d3ff8,0x55dc1cf1,0xc6c3e1b2,0x04fb9e6c,0x6f69a474,0x47e6961d
-.long 0xe548b37b,0x54eb3acc,0x84d40549,0xb38e7542,0x7b341b4f,0x8c3daa51,0x690bf7fa,0x2f6928ec,0x86ce6c41,0x0496b323,0x10adadcd,0x01be1c55,0x4bb5faf9,0xc04e67e7,0xe15c9985,0x3cbaf678
-.long 0x50ca4247,0x8cd12145,0xe7dd30aa,0xba1aa47a,0xe58fee24,0x2f81ddf1,0xeec9b0e8,0x03452936,0x243aea96,0x8bdc3b81,0x15c3d0e5,0x9a2919af,0x10948361,0x9ea640ec,0x6e0bcccf,0x5ac86d5b
-.long 0xc36cf440,0xf892d918,0xc939719c,0xaed3e837,0xc0218b64,0xb07b08d2,0xce9790dd,0x6f1bcbba,0x60919b8e,0x4a84d6ed,0x8ac1f9eb,0xd8900791,0x0dd5daef,0xf84941aa,0x67fd62c5,0xb22fe40a
-.long 0x157f2db3,0x97e15ba2,0x8e28ca9c,0xbda2fc8f,0x37b9f454,0x5d050da4,0x2379d72e,0x3d57eb57,0xfb5ee997,0xe9b5eba2,0xe11538ca,0x01648ca2,0xf6327974,0x32bb76f6,0xff3f4bb7,0x338f14b8
-.long 0xd7ab9a2d,0x524d226a,0x7dfae958,0x9c00090d,0x8751d8c2,0x0ba5f539,0x3ab8262d,0x8afcbcdd,0xe99d043b,0x57392729,0xaebc943a,0xef51263b,0x20862935,0x9feace93,0xb06c817b,0x639efc03
-.long 0x66b4be7a,0x1fe054b3,0x84a37a1e,0x3f25a9de,0x78d75cd9,0xf39ef1ad,0x5062c1b5,0xd7b58f49,0xff563436,0x6f74f9a9,0xe8af51e7,0xf718ff29,0x15e97fec,0x5234d313,0x292f1c0a,0xb6a8e2b1
-.long 0x327720c1,0xa7f53aa8,0xba092cc8,0x956ca322,0x28746c4d,0x8f03d64a,0x66d0d392,0x51fe1782,0x3c832c80,0xd19b34db,0x6da2e3b4,0x60dccc5c,0x0a104ccc,0x245dd62e,0x620b21fd,0xa7ab1de1
-.long 0x3893d123,0xb293ae0b,0xb15ee71c,0xf7b75783,0x42a9468b,0x5aa3c614,0xdb15d744,0xd686123c,0xa7ab4116,0x8c616891,0xa4e6a459,0x6fcd72c8,0x77e5fad7,0xac219110,0x704fa46b,0xfb6a20e7
-.long 0x341d81dc,0xe839be7d,0x32148379,0xcddb6889,0xf7026ead,0xda6211a1,0xf4d1cc5e,0xf3b2575f,0xa7a73ae6,0x40cfc8f6,0x61d5b483,0x83879a5e,0x41a50ebc,0xc5acb1ed,0x3c07d8fa,0x59a60cc8
-.long 0xb1876262,0x1b73bdce,0x12af4ee9,0x2b0d79f0,0xd46e1d07,0x8bcf3b0b,0xe45d152f,0x17d6af9d,0x6d736451,0x73520461,0x56b0bf5a,0x43cbbd97,0xd5999b9d,0xb0833a5b,0xeb72e398,0x702614f0
-.long 0x59c3e9f8,0x0aadf01a,0xce6b3d16,0x40200e77,0xdeddafad,0xda22bdd3,0x310d72e1,0x76dedaf4,0x4bc2e88f,0x49ef807c,0x146dd5a5,0x6ba81291,0x7d8d59e9,0xa1a4077a,0x802db349,0x87b6a2e7
-.long 0x1b4e598e,0xd5679997,0x06fe4b1d,0xf499ef1f,0xfcb267c5,0x3978d3ae,0x235786d0,0xb582b557,0x1715cb07,0x32b3b2ca,0x8480241d,0x4c3de6a2,0xcb571ecd,0x63b5ffed,0xed2fe9a9,0xeaf53900
-.long 0xc3b81990,0xdec98d4a,0x9e0cc8fe,0x1cb83722,0xd2b427b9,0xfe0b0491,0xe983a66c,0x0f2386ac,0xb3291213,0x930c4d1e,0x59a62ae4,0xa2f82b2e,0xf93e89e3,0x77233853,0x11777c7f,0x7f8063ac
-.long 0x59ad2877,0xff0eb567,0x9865c754,0x6f454642,0x236e9a84,0xe6fe701a,0x06e40fc3,0xc586ef16,0x24bafad9,0x3f62b6e0,0x64da906a,0xc8b42bd2,0xda3276a0,0xc98e1eb4,0x06cbf852,0x30d0e5fc
-.long 0xe8b4dfd4,0x1b6b2ae1,0x8301cbac,0xd754d5c7,0x112a39ac,0x66097629,0x93ba4ab9,0xf86b5999,0x99f9d581,0x26c9dea7,0xc2fafeaa,0x0473b1a8,0x3b2505a5,0x1469af55,0xd6a43323,0x227d16d7
-.long 0xad3d97f9,0x3316f73c,0x1f137455,0x52bf3bb5,0x09954e7c,0x953eafeb,0xdd732411,0xa721dfed,0x141d4579,0xb4929821,0xaa3bd435,0x3411321c,0x17fa6015,0xafb355aa,0x18e42f0e,0xb4e7ef4a
-.long 0x59371000,0x604ac97c,0x7f759c18,0xe1c48c70,0xa5db6b65,0x3f62ecc5,0x38a21495,0x0a78b173,0xbcc8ad94,0x6be1819d,0xd89c3400,0x70dc04f6,0xa6b4840a,0x462557b4,0x60bd21c0,0x544c6ade
-.long 0x907a544b,0x6a00f24e,0x313da210,0xa7520dcb,0x11e4994b,0xfe939b75,0xbc275d70,0x918b6ba6,0x644be892,0xd3e5e0fc,0xfdaf6c42,0x707a9816,0xf15c13fe,0x60145567,0xe130a54a,0x4818ebaa
-.long 0x58d2f767,0x28aad3ad,0xd7e7c773,0xdc5267fd,0xc3afcc98,0x4919cc88,0x2db8cd4b,0xaa2e6ab0,0xd0c63eaa,0xd46fec04,0x19ffa832,0xa1cb92c5,0xe43a631f,0x678dd178,0x3dc788b3,0xfb5ae1cd
-.long 0x6e77de04,0x68b4fb90,0xf06dbb97,0x7992bcf0,0xc417c01d,0x896e6a13,0xb956be01,0x8d96332c,0x413aa2b9,0x902fc93a,0xfc98c8a5,0x99a4d915,0x565f1137,0x52c29407,0x21e4f281,0x4072690f
-.long 0x02ff6072,0x36e607cf,0x8ad98cdc,0xa47d2ca9,0xf5f56609,0xbf471d1e,0xf264ada0,0xbcf86623,0xaa9e5cb6,0xb70c0687,0x17401c6c,0xc98124f2,0xd4a61435,0x8189635f,0xa9d98ea6,0xd28fb8af
-.long 0x40c251f8,0xb9a67c2a,0xa2da44be,0x88cd5d87,0xe09b5423,0x437deb96,0x64287dc1,0x150467db,0xcdabb839,0xe161debb,0xf1839a3e,0xa79e9742,0x652d202b,0xbb8dd3c2,0xe9f97d96,0x7b3e67f7
-.long 0xb1cb6ac9,0x5aa5d78f,0xca1d0d45,0xffa13e8e,0x2ba5bf95,0x369295dd,0x39aff05e,0xd68bd1f8,0x26d783f2,0xaf0d86f9,0xfc3aafc1,0x543a59b3,0x7b7da97c,0x3fcf81d2,0xd25dee46,0xc990a056
-.long 0x519cce2c,0x3e6775b8,0xae13d863,0xfc9af71f,0x47c1605c,0x774a4a6f,0x2fd205e8,0x46ba4245,0xd3fd524d,0xa06feea4,0x6de1acc2,0x1e724641,0x334e2b42,0xf53816f1,0x922f0024,0x49e5918e
-.long 0x65c7322d,0x439530b6,0xb3c1b3fb,0xcf12cc01,0x0172f685,0xc70b0186,0x1b58391d,0xb915ee22,0xa317db24,0x9afdf03b,0x17b8ffc4,0x87dec659,0xe4d3d050,0x7f46597b,0x006500e7,0x80a1c1ed
-.long 0x78bf030e,0x84902a96,0x50560148,0xfb5e9c9a,0x63362426,0x6dae0a92,0xa9e30c40,0xdcaeecf4,0x518d0c6b,0xc0d887bb,0xcb985b9d,0x99181152,0xef7bc381,0xad186898,0x9ee46201,0x18168ffb
-.long 0x2502753c,0x9a04cdaa,0x51407c41,0xbb279e26,0xf23564e5,0xeacb03aa,0x71e61016,0x18336582,0xeb809877,0x8684b8c4,0xea0e672e,0xb336e18d,0x34ee5867,0xefb601f0,0x1341cfd1,0x2733edbe
-.long 0x26025c3c,0xb15e809a,0x9350df88,0xe6e981a6,0x8502fd8e,0x92376237,0x0c12be9b,0x4791f216,0x25f02425,0xb7256789,0x7a974443,0xec863194,0xfb41cc52,0x7c0ce882,0xf25c07f2,0xc266ff7e
-.long 0x017025f3,0x3d4da8c3,0xfb9579b4,0xefcf628c,0x1f3716ec,0x5c4d0016,0x6801116e,0x9c27ebc4,0x1da1767e,0x5eba0ea1,0x47004c57,0xfe151452,0x8c2373b7,0x3ace6df6,0x5dbc37ac,0x75c3dffe
-.long 0xddc925fc,0x3dc32a73,0x2f65ee0b,0xb679c841,0x451cbfeb,0x715a3295,0xf76e9a29,0xd9889768,0xb28ad247,0xec20ce7f,0x00894d79,0xe99146c4,0x9f5e3ea7,0x71457d7c,0x38030031,0x097b2662
-.long 0xcf9f82a8,0xdb7f6ae6,0x438f473a,0x319decb9,0x283856c3,0xa63ab386,0xb06a361b,0x13e3172f,0x7d5a006c,0x2959f8dc,0x75fba752,0x2dbc27c6,0x87c22c9e,0xc1227ab2,0x71a268b2,0x06f61f75
-.long 0x04779ce2,0x1b6bb971,0x0aadcb1d,0xaca83812,0xaeaab2d5,0x297ae0bc,0x5bfb9f13,0xa5c14ee7,0xf17a62c7,0xaa00c583,0x173759f6,0x39eb962c,0x86c9a88f,0x1eeba1d4,0xdf016c5e,0x0ab6c37a
-.long 0xa28a0749,0xa2a147db,0xee519165,0x246c20d6,0xd3810715,0x5068d1b1,0x748160b9,0xb1e7018c,0xf380ff62,0x03f5b1fa,0xf3cb2c1e,0xef7fb1dd,0xfc91a7da,0xeab539a8,0xf3f9b561,0x83ddb707
-.long 0xfe7df7a4,0xc550e211,0x063f6f40,0xa7cd07f2,0x2976879c,0xb0de3635,0xe55741da,0xb5f83f85,0xf3d8ac3d,0x4ea9d25e,0x62819f02,0x6fe2066f,0xcef4a564,0x4ab2b9c2,0x5ffa2de3,0x1e155d96
-.long 0xc3a72d00,0x0eb0a19b,0x8513c31b,0x4037665b,0x04c64637,0x2fb2b6bf,0x08cdc639,0x45c34d6e,0xf01fd796,0x56f1e10f,0xfe3667b8,0x4dfb8101,0x9021d0c0,0xe0eda253,0x8a06c6ab,0x7a94e9ff
-.long 0xbb9aa882,0x2d3bb0d9,0xec05fd10,0xea20e4e5,0x1a1ca64e,0xed7eeb5f,0xc6327cbd,0x2fa6b43c,0x3aa91121,0xb577e3cf,0x3a34079b,0x8c6bd5ea,0x60e02fc0,0xd7e5ba39,0x90141bf8,0xf16dd2c3
-.long 0x80101b98,0xb57276d9,0xb82f0f66,0x760883fd,0x4bc3eff3,0x89d7de75,0x5dc2ab40,0x03b60643,0xe05beeac,0xcd6e53df,0xbc3325cd,0xf2f1e862,0x774f03c3,0xdd0f7921,0x4552cc1b,0x97ca7221
-.long 0x1cd19f72,0x5a0d6afe,0xf183fbeb,0xa20915dc,0x832c403c,0x9fda4b40,0xbe425442,0x32738edd,0xb5eccf1a,0x469a1df6,0x28bbe1f0,0x4b5aff42,0x570dfc93,0x31359d7f,0xf0088628,0xa18be235
-.long 0xb00ed3a9,0xa5b30fba,0x73cdf8be,0x34c61374,0xabc56797,0x2c5c5f46,0xb82a8ae2,0x5cecf93d,0xa968fbf0,0x7d3dbe41,0x1a5c7f3d,0xd23d4583,0xc087a9c7,0xf28f69a0,0x474471ca,0xc2d75471
-.long 0x4eb732ec,0x36ec9f4a,0xb1ca6bed,0x6c943bbd,0xf2457892,0xd64535e1,0xf7e2ac06,0x8b84a8ea,0x2499dd5f,0xe0936cd3,0x0ed04e57,0x12053d7e,0xe4305d9d,0x4bdd0076,0x1f67f0a2,0x34a527b9
-.long 0x9cec46ea,0xe79a4af0,0x658b9bc7,0xb15347a1,0x35af2f75,0x6bd2796f,0x4051c435,0xac957990,0xc33a655d,0x2669dda3,0x88514aa3,0x5d503c2e,0x3753dd41,0xdfa11337,0x0b754f78,0x3f054673
-.long 0x496125bd,0xbf185677,0x3775006c,0xfb0023c8,0x3a037899,0xfa0f072f,0x0e4aea57,0x4222b6eb,0x7866d25a,0x3dde5e76,0x4837aa6f,0xb6eb04f8,0x2cf1cdb8,0x5315591a,0x2d4e683c,0x6dfb4f41
-.long 0x48ee1f3a,0x7e923ea4,0x05a2afd5,0x9604d9f7,0x40ea4948,0xbe1d4a33,0xb44cbd2f,0x5b45f1f4,0x4acc757e,0x5faf8376,0x63d68ff7,0xa7cf9ab8,0xdf0e404b,0x8ad62f69,0x12bdafdf,0xd65f33c2
-.long 0xa377b14e,0xc365de15,0x8e39f60c,0x6bf5463b,0x2ce68148,0x62030d2d,0xe6f843a8,0xd95867ef,0xef5ab017,0xd39a0244,0x4ab55d12,0x0bd2d8c1,0x41639169,0xc9503db3,0xf7660c8a,0x2d4e25b0
-.long 0xe224c5d7,0x760cb3b5,0x68616919,0xfa3baf8c,0x8d142552,0x9fbca113,0x7669ebf5,0x1ab18bf1,0x9bdf25dd,0x55e6f53e,0xcb6cd154,0x04cc0bf3,0x95e89080,0x595bef49,0x104a9ac1,0xfe9459a8
-.long 0xcce9bb32,0xad2d89ca,0xf7de8285,0xddea65e1,0xb351bd4b,0x62ed8c35,0x0c0e19a7,0x4150ff36,0x345f4e47,0x86e3c801,0x203a266c,0x3bf21f71,0x855b1f13,0x7ae110d4,0x07262517,0x5d6aaf6a
-.long 0x813d28f1,0x1e0f12e1,0x7ad7a523,0x6000e11d,0xc744a17b,0xc7d8deef,0x14c05a00,0x1e990b48,0x93e976d5,0x68fddaee,0x46610d63,0x696241d1,0x893dda88,0xb204e7c3,0x6a3a6946,0x8bccfa65
-.long 0xc5cd1411,0xb59425b4,0xff3658b1,0x701b4042,0x4784cf93,0xe3e56bca,0x8fe68d60,0x27de5f15,0xf8d53f19,0x4ab9cfce,0xa40a730d,0xddb10311,0x4eee0a8a,0x6fa73cd1,0x5249719d,0xfd548748
-.long 0xa8123ef0,0x49d66316,0xe7f95438,0x73c32db4,0x0d9e7854,0x2e2ed209,0x9d9f0507,0xf98a9329,0x0c6aa20a,0xc5d33cf6,0x75279bb2,0x9a32ba14,0x774a7307,0x7e3202cb,0xe8c42dbd,0x64ed4bc4
-.long 0xd4caed0d,0xc20f1a06,0x171d22b3,0xb8021407,0xd13268d7,0xd426ca04,0x25f4d126,0x92377007,0x71f21a85,0x4204cbc3,0xf82369ba,0x18461b7a,0x3fc858f9,0xc0c07d31,0xe2bab569,0x5deb5a50
-.long 0xd5eea89e,0xd5959d46,0x08437f4b,0xfdff8424,0x3cfe254f,0xf21071e4,0x95468321,0x72417696,0x102cae3e,0x5d8288b9,0xf1965dff,0x2d143e3d,0xa078d847,0x00c9a376,0x26028731,0x6fc0da31
-.long 0xe45083a2,0xa2baeadf,0x5e5b4bcd,0x66bc7218,0xd04b8e7f,0x2c826442,0x6c4b586b,0xc19f5451,0x5b7eeed5,0x60182c49,0x7aa9dfa1,0xd9954ecd,0xc73884ad,0xa403a8ec,0x9bb39041,0x7fb17de2
-.long 0xabb020e8,0x694b64c5,0x19c4eec7,0x3d18c184,0x1c4793e5,0x9c4673ef,0x056092e6,0xc7b8aeb5,0xf0f8c16b,0x3aa1ca43,0xd679b2f6,0x224ed5ec,0x55a205c9,0x0d56eeaf,0x4b8e028b,0xbfe115ba
-.long 0x3927f4fe,0x97e60849,0x759aa7c5,0xf91fbf94,0x6be90a51,0x985af769,0x78ccb823,0xc1277b78,0xe7a75952,0x395b656e,0x928da5f5,0x00df7de0,0x4ca4454f,0x09c23175,0x7aa2d3c1,0x4ec971f4
-.long 0xe75d9ccc,0x45c3c507,0x3dc90306,0x63b7be8a,0x5db44bdc,0x37e09c66,0x6841c6a2,0x50d60da1,0x08df1b12,0x6f9b65ee,0x7ff089df,0x38734879,0x3fe8013d,0x9c331a66,0x5f42fcc8,0x017f5de9
-.long 0xe8e57567,0x43077866,0xf9fcdb18,0xc9f781ce,0x9b12e174,0x38131dda,0x8a03752a,0x25d84aa3,0x4d0c0ce2,0x45e09e09,0x92bebba5,0x1564008b,0xa87284c7,0xf7e8ad31,0x97e7bbaa,0xb7c4b46c
-.long 0x97acf4ec,0x3e22a7b3,0x5ea8b640,0x0426c400,0x4e969285,0x5e3295a6,0xa6a45670,0x22aabc59,0x5f5942bc,0xb929714c,0xfa3182ed,0x9a6168bd,0x104152ba,0x2216a665,0xb6926368,0x46908d03
-.long 0x5a1251fb,0xa9f5d874,0xc72725c7,0x967747a8,0x31ffe89e,0x195c33e5,0xe964935e,0x609d210f,0x2fe12227,0xcafd6ca8,0x0426469d,0xaf9b5b96,0x5693183c,0x2e9ee04c,0xc8146fef,0x1084a333
-.long 0xaed1d1f7,0x96649933,0x50563090,0x566eaff3,0xad2e39cf,0x345057f0,0x1f832124,0x148ff65b,0xcf94cf0d,0x042e89d4,0x520c58b3,0x319bec84,0x5361aa0d,0x2a267626,0x8fbc87ad,0xc86fa302
-.long 0x5c8b06d5,0xfc83d2ab,0xfe4eac46,0xb1a785a2,0x846f7779,0xb99315bc,0xef9ea505,0xcf31d816,0x15d7dc85,0x2391fe6a,0xb4016b33,0x2f132b04,0x181cb4c7,0x29547fe3,0x650155a1,0xdb66d8a6
-.long 0xadc1696f,0x6b66d7e1,0x0acd72d0,0x98ebe593,0xcc1b7435,0x65f24550,0xb4b9a5ec,0xce231393,0xdb067df9,0x234a22d4,0xcaff9b00,0x98dda095,0x6100c9c1,0x1bbc75a0,0x939cf695,0x1560a9c8
-.long 0x99e0925f,0xcf006d3e,0x6322375a,0x2dd74a96,0xb56af5ba,0xc58b446a,0xe0b9b4f1,0x50292683,0x1aeaffa3,0xe2c34cb4,0x9b9587c1,0x8b17203f,0xead1350c,0x6d559207,0xfb7f9604,0x2b66a215
-.long 0xfe51bf74,0x0850325e,0x5e460094,0x9c4f579e,0x76da2f25,0x5c87b92a,0x6febef33,0x889de4e0,0x646083ce,0x6900ec06,0xbfe12773,0xbe2a0335,0xc5344110,0xadd1da35,0xb802cd20,0x757568b7
-.long 0x00f7e6c8,0x75559779,0x0facd2f0,0x38e8b94f,0x03fde375,0xfea1f3af,0x75881dfc,0x5e11a1d8,0xc1e2f2ef,0xb3a6b02e,0xc605a6c5,0x193d2bbb,0x339a0b2d,0x325ffeee,0x9e0c8846,0x27b6a724
-.long 0xf1c367ca,0xe4050f1c,0xc90fbc7d,0x9bc85a9b,0xe1a11032,0xa373c4a2,0xad0393a9,0xb64232b7,0x167dad29,0xf5577eb0,0x94b78ab2,0x1604f301,0xe829348b,0x0baa94af,0x41654342,0x77fbd8dd
-.long 0xb964e39a,0xdab50ea5,0xd0d3c76e,0xd4c29e3c,0x56d11964,0x80dae67c,0xe5ffcc2f,0x7307a8bf,0x91708c3b,0x65bbc1aa,0x28bf0eeb,0xa151e62c,0x6fa34db7,0x6cb53381,0xa29403a8,0x5139e05c
-.long 0x94a7cd2e,0x6ff651b4,0x0699336c,0x5671ffd1,0x979a896a,0x6f5fd2cc,0xd8148cef,0x11e893a8,0x65cf7b10,0x988906a1,0xc50d8485,0x81b67178,0x8a35b3de,0x7c0deb35,0xc1d29799,0x423ac855
-.long 0xdac50b74,0xaf580d87,0x5869734c,0x28b2b89f,0x874e28fb,0x99a3b936,0x25f3f73a,0xbb2c9190,0x84a9d5b7,0x199f6918,0x7e770374,0x7ebe2325,0x0738efe2,0xf442e107,0xcf9082d2,0xcf9f3f56
-.long 0x09618708,0x719f69e1,0xc183f9b1,0xcc9e8364,0x366a21af,0xec203a95,0x068b141f,0x6aec5d6d,0x994f04e9,0xee2df78a,0x271245b0,0xb39ccae8,0x97e43f4f,0xb875a4a9,0xdb2cea98,0x507dfe11
-.long 0x489b03e9,0x4fbf81cb,0x6ec414fa,0xdb86ec5b,0xf51b3ae5,0xfad444f9,0x1914e3fe,0xca7d33d6,0x0ae6c4d0,0xa9c32f5c,0x73969568,0xa9ca1d1e,0x1aa7467e,0x98043c31,0xe21b5ac6,0xe832e75c
-.long 0x5232123d,0x314b7aea,0x65ae86db,0x08307c8c,0xaa4668ed,0x06e7165c,0xb4d3ec39,0xb170458b,0xc19bb986,0x4d2e3ec6,0xae0304ed,0xc5f34846,0x6c9f9722,0x917695a0,0x4cab1c0a,0x6c7f7317
-.long 0x9d6d2e8b,0x6295940e,0x549f7c97,0xd318b8c1,0x97713885,0x22453204,0xa8a440fe,0x468d834b,0xbfba796e,0xd81fe5b2,0x6d71f116,0x152364db,0xb5b66e53,0xbb8c7c59,0x2641a192,0x0b12c61b
-.long 0xfcf0a7fd,0x31f14802,0x5488b01e,0x42fd0789,0x9952b498,0x71d78d6d,0x07ac5201,0x8eb572d9,0x4d194a88,0xe0a2a44c,0xba017e66,0xd2b63fd9,0xf888aefc,0x78efc6c8,0x4a881a11,0xb76f6bda
-.long 0xb46c2397,0x187f314b,0x5ded2819,0x004cf566,0x38764d34,0xa9ea5704,0x78084709,0xbba45217,0x1171121e,0x06474571,0xe7c9b671,0xad7b7eb1,0x730f7507,0xdacfbc40,0xc7ad7bd1,0x178cd8c6
-.long 0xb2a67238,0xbf0be101,0xaf9c14f2,0x3556d367,0xa5662075,0x104b7831,0x79d9e60a,0x58ca59bb,0xa569a73b,0x4bc45392,0x5698f6c9,0x517a52e8,0xaeadd755,0x85643da5,0x2a581b84,0x1aed0cd5
-.long 0x80af1372,0xb9b4ff84,0xf1ba5d1f,0x244c3113,0xf5f98d31,0x2a5dacbe,0x4375bc2a,0x2c3323e8,0x5594b1dd,0x17a3ab4a,0xceb4797e,0xa1928bfb,0xe4886a19,0xe83af245,0x72b5a74a,0x8979d546
-.long 0x19f9e967,0xa0f726bc,0xe8fbbf4e,0xd9d03152,0xb7707d40,0xcfd6f51d,0x63f6e6e0,0x633084d9,0x55667eaf,0xedcd9cdc,0x2e44d56f,0x73b7f92b,0x4e962b14,0xfb2e39b6,0xf671fcbf,0x7d408f6e
-.long 0x164a89bb,0xcc634ddc,0x3ef3bd05,0x74a42bb2,0x428decbb,0x1280dbb2,0x402c8596,0x6103f6bb,0x355a5752,0xfa2bf581,0x00946674,0x562f96a8,0x6da0223b,0x4e4ca16d,0x28d3aa25,0xfe47819f
-.long 0xf8dfcf8a,0x9eea3075,0x95669825,0xa284f0aa,0x867d3fd8,0xb3fca250,0x269d691e,0x20757b5f,0x93b8a5de,0xf2c24020,0xebc06da6,0xd3f93359,0xb2739c33,0x1178293e,0xbcd686e5,0xd2a3e770
-.long 0xcd941534,0xa76f49f4,0xe3c71c0e,0x0d37406b,0x3b97f7e3,0x172d9397,0xbd7fd0de,0xec17e239,0x6f496ba2,0xe3290551,0x36ad50e7,0x6a693172,0x83e7eff5,0xc4e539a2,0x18e1b4cf,0x752737e7
-.long 0x68af43ee,0xa2f7932c,0x703d00bd,0x5502468e,0x2fb061f5,0xe5dc978f,0x28c815ad,0xc9a1904a,0x470c56a4,0xd3af538d,0x193d8ced,0x159abc5f,0x20108ef3,0x2a37245f,0x223f7178,0xfa17081e
-.long 0x10c8c0f5,0x27b0fb2b,0x40650547,0x2102c3ea,0x8ac3bfa7,0x594564df,0x509dad96,0x98102033,0xf1d18a13,0x6989643f,0xd7fc5af0,0x35eebd91,0xfaeaafd8,0x078d096a,0xdef3de98,0xb7a89341
-.long 0xecf2a73a,0x2a206e8d,0x8e551994,0x066a6397,0xb98d53a2,0x3a6a088a,0x2d1124aa,0x0ce7c67c,0x759a113c,0x48cec671,0x4f6f67fa,0xe3b373d3,0xfd36727b,0x5455d479,0xa13c0d81,0xe5a428ee
-.long 0x1c86682b,0xb853dbc8,0xb8d02b2a,0xb78d2727,0x8ebc329a,0xaaf69bed,0x293b2148,0xdb6b40b3,0xb8c4961f,0xe42ea77d,0x20e5e0ab,0xb1a12f7c,0x79e8b05e,0xa0ec5274,0xfab60a80,0x68027391
-.long 0x16b1bd5e,0x6bfeea5f,0x4de30ad3,0xf957e420,0x6a353b9e,0xcbaf664e,0x26d14feb,0x5c873312,0xb65f57cb,0x4e87f98c,0x5e0cdd41,0xdb60a621,0xa6881440,0x67c16865,0x46ab52aa,0x1093ef1a
-.long 0x3f4ece64,0xc095afb5,0x7604551a,0x6a6bb02e,0x0b26b8cd,0x55d44b4e,0xf971268a,0xe5f9a999,0x11a7de84,0xc08ec425,0xfda469dd,0x83568095,0x6c6c90a2,0x737bfba1,0xbe229831,0x1cb9c4a0
-.long 0xbb2eec64,0x93bccbba,0xda03adbe,0xa0c23b64,0xe0e86ac4,0x5f7aa00a,0xfc1401e6,0x470b941e,0x9df43574,0x5ad8d679,0x0f65d810,0x4ccfb8a9,0xaa7fbd81,0x1bce80e3,0x9508d20a,0x273291ad
-.long 0x42a92806,0xf5c4b46b,0xa86ab44a,0x810684ec,0xca0bc9f8,0x4591640b,0x5c4b6054,0xb5efcdfc,0x6e9edd12,0x16fc8907,0xd4d792f9,0xe29d0b50,0x9b03116d,0xa45fd01c,0xc81765a4,0x85035235
-.long 0xb4b4b67c,0x1fe2a9b2,0xe8020604,0xc1d10df0,0xbc8058d8,0x9d64abfc,0x712a0fbb,0x8943b9b2,0x3b3def04,0x90eed914,0x4ce775ff,0x85ab3aa2,0x7bbc9040,0x605fd4ca,0xe2c75dfb,0x8b34a564
-.long 0x10358560,0x41ffc94a,0x9e5c28aa,0x2d8a5072,0x4cc7eb15,0xe915a0fc,0x8f6d0f5d,0xe9efab05,0xd19e9b91,0xdbab47a9,0x0276154c,0x8cfed745,0x2cfede0d,0x154357ae,0x19f5a4ef,0x520630df
-.long 0xe382360f,0x25759f7c,0x88bf5857,0xb6db05c9,0x6c58d46c,0x2917d61d,0xfd20cb7a,0x14f8e491,0x11c20340,0xb68a727a,0xaf7ccbb6,0x0386f86f,0xfee09a20,0x5c8bc6cc,0xbb7eea35,0x7d76ff4a
-.long 0xdb15be7a,0xa7bdebe7,0xd89f0302,0x67a08054,0xc1193364,0x56bf0ea9,0x62837ebe,0xc8244467,0x20d841b8,0x32bd8e8b,0xdbb8a54f,0x127a0548,0x63b20236,0x83dd4ca6,0x203491fa,0x87714718
-.long 0xaa8a5288,0x4dabcaaa,0xaf23a1c9,0x91cc0c8a,0x3f220e0c,0x34c72c6a,0x1232144a,0xbcc20bdf,0xa20ede1b,0x6e2f42da,0x74a00515,0xc441f00c,0x734b8c4b,0xbf46a5b6,0x7b56c9a4,0x57409503
-.long 0xe4585d45,0x9f735261,0x6734e642,0x9231faed,0xbe70ee6c,0x1158a176,0x7c3501bf,0x35f1068d,0xa2d26115,0x6beef900,0xef0afee3,0x649406f2,0xbc2420a1,0x3f43a60a,0xd5aee4ac,0x509002a7
-.long 0x3ff3571b,0xb46836a5,0x837927c1,0x24f98b78,0x4533c716,0x6254256a,0xd07ee196,0xf27abb0b,0x5c6d5bfd,0xd7cf64fc,0xf0cd7a77,0x6915c751,0x8798f534,0xd9f59012,0xf81d8b5f,0x772b0da8
-.long 0x2e03fa69,0x1244260c,0x3be1a374,0x36cf0e3a,0xef06b960,0x6e7c1633,0x671f90f6,0xa71a4c55,0x33c673db,0x7a941251,0x73e8c131,0xc0bea510,0xd4f6c734,0x61a8a699,0x341ed001,0x25e78c88
-.long 0x8e2f7d90,0x5c18acf8,0x77be32cd,0xfdbf33d7,0xd2eb5ee9,0x0a085cd7,0xb3201115,0x2d702cfb,0x85c88ce8,0xb6e0ebdb,0x1e01d617,0x23a3ce3c,0x567333ac,0x3041618e,0x157edb6b,0x9dd0fd8f
-.long 0xb57872b8,0x27f74702,0x657d5fe1,0x2ef26b4f,0x57cf3d40,0x95426f0a,0x65a6067a,0x847e2ad1,0x09996a74,0xd474d9a0,0x2a26115c,0x16a56acd,0xd16f4d43,0x02a615c3,0xaadb85b7,0xcc3fc965
-.long 0xce07d1b0,0x386bda73,0x58ad4178,0xd82910c2,0xcd2617f4,0x124f82cf,0xef691770,0xcc2f5e8d,0xb8c30ccc,0x82702550,0x1a8e575a,0x7b856aea,0xb1ab9459,0xbb822fef,0xec24e38e,0x085928bc
-.long 0xba8f4b4d,0x5d0402ec,0x00b4d58b,0xc07cd4ba,0x29227e7a,0x5d8dffd5,0x31bf386f,0x61d44d0c,0x135e6f4d,0xe486dc2b,0xe79410ef,0x680962eb,0xf10088b5,0xa61bd343,0xe2e28686,0x6aa76076
-.long 0x8fb98871,0x80463d11,0xbbc76aff,0xcb26f5c3,0xfbe03614,0xd4ab8edd,0xc0cf2dee,0xc8eb579b,0xc93bae41,0xcc004c15,0x3aeca3b2,0x46fbae5d,0x0f1e9ab1,0x671235cf,0x9ec285c1,0xadfba934
-.long 0xf216c980,0x88ded013,0xf79e0bc1,0xc8ac4fb8,0xfb97a237,0xa29b89c6,0x9922d8e7,0xb697b780,0xddb945b5,0x3142c639,0xe094c3a9,0x447b06c7,0x72266c90,0xcdcb3642,0xa9385046,0x633aad08
-.long 0xb57c6477,0xa36c936b,0xe94dbcc6,0x871f8b64,0xa591a67b,0x28d0fb62,0xc1d926f5,0x9d40e081,0xf2d84b5a,0x3111eaf6,0xa565b644,0x228993f9,0x2c83188b,0x0ccbf592,0x3df3e197,0xf87b30ab
-.long 0x7642bca8,0xb8658b31,0x52800f17,0x1a032d7f,0x79bf9445,0x051dcae5,0x54a2e253,0xeba6b8ee,0xd4485692,0x5c8b9cad,0x8986e9be,0x84bda40e,0x2f0db448,0xd16d16a4,0xa14d4188,0x8ec80050
-.long 0x98fa7aaa,0xb2b26107,0xf073aa4e,0x41209ee4,0xf2d6b19b,0xf1570359,0xfc577caf,0xcbe6868c,0x32c04dd3,0x186c4bdc,0xcfeee397,0xa6c35fae,0xf086c0cf,0xb4a1b312,0xd9461fe2,0xe0a5ccc6
-.long 0x1536189f,0xc32278aa,0xba6df571,0x1126c55f,0xb194560e,0x0f71a602,0x324bd6e1,0x8b2d7405,0x3738be71,0x8481939e,0x1a4d97a9,0xb5090b1a,0xf05ba915,0x116c65a3,0xaae448aa,0x21863ad3
-.long 0xa7aae5d3,0xd24e2679,0x0de5c1c4,0x7076013d,0xbb05b629,0x2d50f8ba,0x6e66efbb,0x73c1abe2,0xf2488af7,0xefd4b422,0x663ba575,0xe4105d02,0x53a69457,0x7eb60a8b,0xc945973b,0x62210008
-.long 0x77a50ec6,0xfb255478,0x0a37a72c,0xbf0392f7,0x4be18e7a,0xa0a7a19c,0x25b1e0af,0x90d8ea16,0xef953f57,0x7582a293,0xbdc5465a,0x90a64d05,0xe2510717,0xca79c497,0x18cb641f,0x560dbb7c
-.long 0x4b66abfb,0x1d8e3286,0x59030900,0xd26f52e5,0x5584941a,0x1ee3f643,0x569f5958,0x6d3b3730,0x4789dba5,0x9ff2a62f,0x72b5c9b7,0x91fcb815,0x6c8f9a0e,0xf446cb7d,0x39b7ecb5,0x48f625c1
-.long 0x1c6219b8,0xbabae801,0x28ac2f23,0xe7a562d9,0x26e20588,0xe1b48732,0x775af051,0x06ee1cad,0xfaff79f7,0xda29ae43,0x652ee9e0,0xc141a412,0x195f4bd0,0x1e127f6f,0x072f34f8,0x29c6ab4f
-.long 0x30448112,0x7b7c1477,0xe4a38656,0x82b51af1,0x2f315010,0x2bf2028a,0x6ea88cd4,0xc9a4a01f,0x257e5818,0xf63e95d8,0xb4519b16,0xdd8efa10,0x0da910bf,0xed8973e0,0x5c0fe4a9,0xed49d077
-.long 0xb7caee1e,0xac3aac5e,0xa7f4da57,0x1033898d,0x5c6669b9,0x42145c0e,0xc1aa2aa0,0x42daa688,0x1a1d885a,0x629cc15c,0xf4b76817,0x25572ec0,0x9c8f8f28,0x8312e435,0x81965490,0x8107f8cd
-.long 0x6fa6110c,0x516ff3a3,0xfb93561f,0x74fb1eb1,0x8457522b,0x6c0c9047,0x6bb8bdc6,0xcfd32104,0xcc80ad57,0x2d6884a2,0x86a9b637,0x7c27fc35,0xadf4e8cd,0x3461baed,0x617242f0,0x1d56251a
-.long 0xc955bef4,0x0b80d209,0x06adb047,0xdf02cad2,0x5ec74fee,0xf0d7cb91,0x1111ba44,0xd2503375,0xdf53cb36,0x9671755e,0x3368551b,0x54dcb612,0xc8a025a4,0x66d69aac,0xe77ef445,0x6be946c6
-.long 0xa995e094,0x719946d1,0xe51e04d8,0x65e848f6,0x6a1e3113,0xe62f3300,0x501de503,0x1541c7c1,0xf4acfade,0x4daac9fa,0x44cd0b71,0x0e585897,0x0a51cd77,0x544fd869,0x0031016d,0x60fc20ed
-.long 0xa4276867,0x58b404ec,0x34f34993,0x46f6c3cc,0xc636e5bd,0x477ca007,0x7c458b47,0x8018f5e5,0xe47b668f,0xa1202270,0xee14f203,0xcef48ccd,0x62ff9b4d,0x23f98bae,0xc589eddd,0x55acc035
-.long 0x64db4444,0x3fe712af,0xbecdd480,0x19e9d634,0xa930978a,0xe08bc047,0xa1280733,0x2dbf24ec,0x2cd706b2,0x3c0ae38c,0x359017b9,0x5b012a5b,0x72e0f5ae,0x3943c38c,0x57176fa3,0x786167ea
-.long 0x594881dc,0xe5f9897d,0xcfb820c1,0x6b5efad8,0xd55018de,0xb2179093,0x0bac56ce,0x39ad7d32,0x2cfc0e81,0xb55122e0,0xf6d89daa,0x117c4661,0xcb64fa09,0x362d01e1,0x3e9c4ddd,0x6a309b4e
-.long 0xabea49b1,0xfa979fb7,0x10e2c6c5,0xb4b1d27d,0x23afde7a,0xbd61c2c4,0x9786d358,0xeb6614f8,0x7f6f7459,0x4a5d816b,0x09360e7b,0xe431a44f,0xc309914c,0x8c27a032,0xcaede3d8,0xcea5d68a
-.long 0x3a0a3f95,0x3668f665,0x7ceba27b,0x89369416,0xe4728fe9,0x89981fad,0x8a093562,0x7102c8a0,0x235d21c8,0xbb80310e,0xbefb7f7b,0x505e55d1,0x12958a67,0xa0a90811,0x4d851fef,0xd67e106a
-.long 0x431dd80e,0xb84011a9,0x73306cd9,0xeb7c7cca,0xd1b3b730,0x20fadd29,0xfe37b3d3,0x83858b5b,0xb6251d5c,0xbf4cd193,0x1352d952,0x1cca1fd3,0x90fbc051,0xc66157a4,0x89b98636,0x7990a638
-.long 0x87dec0e1,0xe5aa692a,0xf7b39d00,0x010ded8d,0x54cfa0b5,0x7b1b80c8,0xa0f8ea28,0x66beb876,0x3476cd0e,0x50d7f531,0xb08d3949,0xa63d0e65,0x53479fc6,0x1a09eea9,0xf499e742,0x82ae9891
-.long 0x5ca7d866,0xab58b910,0x3adb3b34,0x582967e2,0xcceac0bc,0x89ae4447,0x7bf56af5,0x919c667c,0x60f5dcd7,0x9aec17b1,0xddcaadbc,0xec697b9f,0x463467f5,0x0b98f341,0xa967132f,0xb187f1f7
-.long 0x214aeb18,0x90fe7a1d,0x741432f7,0x1506af3c,0xe591a0c4,0xbb5565f9,0xb44f1bc3,0x10d41a77,0xa84bde96,0xa09d65e4,0xf20a6a1c,0x42f060d8,0xf27f9ce7,0x652a3bfd,0x3b3d739f,0xb6bdb65c
-.long 0xec7fae9f,0xeb5ddcb6,0xefb66e5a,0x995f2714,0x69445d52,0xdee95d8e,0x09e27620,0x1b6c2d46,0x8129d716,0x32621c31,0x0958c1aa,0xb03909f1,0x1af4af63,0x8c468ef9,0xfba5cdf6,0x162c429f
-.long 0x753b9371,0x2f682343,0x5f1f9cd7,0x29cab45a,0xb245db96,0x571623ab,0x3fd79999,0xc507db09,0xaf036c32,0x4e2ef652,0x05018e5c,0x86f0cc78,0xab8be350,0xc10a73d4,0x7e826327,0x6519b397
-.long 0x9c053df7,0xe8cb5eef,0xb300ea6f,0x8de25b37,0xc849cffb,0xdb03fa92,0xe84169bb,0x242e43a7,0xdd6f958e,0xe4fa51f4,0xf4445a8d,0x6925a77f,0xe90d8949,0xe6e72a50,0x2b1f6390,0xc66648e3
-.long 0x173e460c,0xb2ab1957,0x30704590,0x1bbbce75,0xdb1c7162,0xc0a90dbd,0x15cdd65d,0x505e399e,0x57797ab7,0x68434dcb,0x6a2ca8e8,0x60ad35ba,0xde3336c1,0x4bfdb1e0,0xd8b39015,0xbbef99eb
-.long 0x1711ebec,0x6c3b96f3,0xce98fdc4,0x2da40f1f,0x57b4411f,0xb99774d3,0x15b65bb6,0x87c8bdf4,0xc2eef12d,0xda3a89e3,0x3c7471f3,0xde95bb9b,0xd812c594,0x600f225b,0x2b75a56b,0x54907c5d
-.long 0x8db60e35,0xa93cc5f0,0xfa833319,0x743e3cd6,0xf81683c9,0x7dad5c41,0x9c34107e,0x70c1e7d9,0xa6be0907,0x0edc4a39,0x86d0b7d3,0x36d47035,0x272bfa60,0x8c76da03,0x0f08a414,0x0b4a07ea
-.long 0x45c1dd53,0x699e4d29,0x231debb5,0xcadc5898,0xa77f00e0,0xdf49fcc7,0xa73e5a0e,0x93057bbf,0x027a4cd1,0x2f8b7ecd,0xc614011a,0x114734b3,0x67677c68,0xe7a01db7,0x7e273f4f,0x89d9be5e
-.long 0x089808ef,0xd225cb2e,0xd59e4107,0xf1f7a27d,0x8211b9c9,0x53afc761,0xe6819159,0x0361bc67,0x7f071426,0x2a865d0b,0xe7072567,0x6a3c1810,0x0d6bcabd,0x3e3bca1e,0x408591bc,0xa1b02bc1
-.long 0x31fba239,0xe0deee59,0x98bd91d1,0xf47424d3,0x071a3c1d,0x0f8886f4,0xa819233b,0x3f7d41e8,0xcf6eb998,0x708623c2,0x609a287f,0x86bb49af,0x63c90762,0x942bb249,0x55a9654b,0x0ef6eea5
-.long 0x36f5defe,0x5f6d2d72,0x56f99176,0xfa9922dc,0xf78ce0c7,0x6c8c5ece,0xbe09b55e,0x7b44589d,0x9ea83770,0xe11b3bca,0x2ab71547,0xd7fa2c7f,0x2a1ddcc0,0x2a3dd6fa,0x5a7b7707,0x09acb430
-.long 0x649d4e57,0x4add4a2e,0x1917526e,0xcd53a2b0,0x20b44ac4,0xc5262330,0xbaa2c31d,0x4028746a,0x64291d4c,0x51318390,0xee5ad909,0xbf48f151,0x7b185681,0xcce57f59,0x4854d442,0x7c3ac1b0
-.long 0xc093c171,0x65587dc3,0x24f42b65,0xae7acb24,0x955996cb,0x5a338adb,0x6051f91b,0xc8e65675,0x28b8d0b1,0x66711fba,0xb6c10a90,0x15d74137,0x3a232a80,0x70cdd7eb,0x6191ed24,0xc9e2f07f
-.long 0xf79588c0,0xa80d1db6,0xb55768cc,0xfa52fc69,0x7f54438a,0x0b4df1ae,0xf9b46a4f,0x0cadd1a7,0x1803dd6f,0xb40ea6b3,0x55eaae35,0x488e4fa5,0x382e4e16,0x9f047d55,0x2f6e0c98,0xc9b5b7e0
-.long 0x95762649,0x6b1bd2d3,0xc7aea3f6,0xa9604ee7,0x6dc6f896,0x3646ff27,0x2860bad1,0x9bf0e7f5,0x7cb44b92,0x2d92c821,0xaea9c182,0xa2f5ce63,0x9154a5fd,0xd0a2afb1,0x95801da6,0x482e474c
-.long 0xb611c24b,0xc19972d0,0x60a8f351,0x1d468e65,0x7bcf6421,0xeb758069,0x88fbc491,0xec9dd0ee,0x956c2e32,0x5b59d2bf,0xdcddf94e,0x73dc6864,0xbcee7665,0xfd5e2321,0x5e9a06c4,0xa7b4f8ef
-.long 0x7280f855,0xfba918dd,0x8baec688,0xbbaac260,0x33400f42,0xa3b3f00f,0x66f2e6e4,0x3d2dba29,0x98509375,0xb6f71a94,0xcea423cc,0x8f33031f,0x4807e6fb,0x009b8dd0,0x5cdb954c,0x5163cfe5
-.long 0xcf41c6e8,0x03cc8f17,0x037b925c,0xf1f03c2a,0x66d2427c,0xc39c19cc,0x7b6c18e4,0x823d24ba,0x901f0b4f,0x32ef9013,0xf8941c2e,0x684360f1,0x2c28092e,0x0ebaff52,0x256c932f,0x7891e4e3
-.long 0xac445e3d,0x51264319,0x8ea74381,0x553432e7,0x67e9c50a,0xe6eeaa69,0x62e628c7,0x27ced284,0x7a4afa57,0x3f96d375,0xe484c150,0xde0a14c3,0x38bd9923,0x364a24eb,0xe5177422,0x1df18da0
-.long 0xd8d38a9b,0x174e8f82,0xe7de1391,0x2e97c600,0xa1c175dd,0xc5709850,0x32ae5035,0x969041a0,0x76a2086b,0xcbfd533b,0xd7c2e8fe,0xd6bba71b,0x099dfb67,0xb2d58ee6,0x064a85d9,0x3a8b342d
-.long 0x522f9be3,0x3bc07649,0xdf1f49a8,0x690c075b,0x3854ec42,0x80e1aee8,0x17689dc7,0x2a7dbf44,0x3faf4078,0xc004fc0e,0xdf11862c,0xb2f02e9e,0xa0a1b7b3,0xf10a5e0f,0x8936ec80,0x30aca623
-.long 0x02f40d9a,0xf83cbf05,0x2c318a4d,0x4681c468,0x0e9c2674,0x98575618,0x1847092e,0xbe79d046,0x78bd01e0,0xaf1e480a,0x72a51db9,0x6dd359e4,0xe3afbab6,0x62ce3821,0x17733199,0xc5cee5b6
-.long 0x6ffd9fbb,0xe08b30d4,0x36c610b7,0x6e5bc699,0x9ce262cf,0xf343cff2,0x68b914c1,0xca2e4e35,0x16de36c5,0x011d64c0,0x42e2b829,0xe0b10fdd,0x6685aaf8,0x78942981,0x230ede97,0xe7511708
-.long 0x3b922bf8,0x671ed8fc,0x4c29b133,0xe4d8c0a0,0x3b6e99c4,0x87eb1239,0x8793beba,0xaff3974c,0x2c18df9b,0x03749405,0x91007139,0xc5c3a293,0xe37a0b95,0x6a77234f,0xb661c96b,0x02c29a21
-.long 0x141ecf61,0xc3aaf1d6,0x3bb22f53,0x9195509e,0x22d51357,0x29597404,0x537bed60,0x1b083822,0xe07289f0,0xcd7d6e35,0x6dd86eff,0x1f94c48c,0xeb0f9cfa,0xc8bb1f82,0x1b2eb97d,0x9ee0b7e6
-.long 0x34d74e31,0x5a52fe2e,0x3bf79ab6,0xa352c310,0xabfeeb8f,0x97ff6c5a,0xf5c97305,0xbfbe8fef,0xa7904608,0xd6081ce6,0xc4fca249,0x1f812f3a,0xb9e5e200,0x9b24bc9a,0x38012ee8,0x91022c67
-.long 0x30a713a1,0xe83d9c5d,0x84ef0f93,0x4876e3f0,0xc1fbf928,0xc9777029,0xbce7d2a4,0xef7a6bb3,0xdfa2a659,0xb8067228,0xd877a48f,0xd5cd3398,0x025d0f3f,0xbea4fd8f,0x2eae7c2b,0xd67d2e35
-.long 0xcc5f4394,0x184de7d7,0x4536e142,0xb5551b5c,0xd34aa60a,0x2e89b212,0xf50051d5,0x14a96fea,0x0d12bb0b,0x4e21ef74,0x60b9677e,0xc522f020,0x2df7731d,0x8b12e467,0x7b326d31,0x39f80382
-.long 0x39024a94,0xdfb8630c,0x97319452,0xaacb96a8,0xeda3867c,0xd68a3961,0x77c4ffca,0x0c58e2b0,0x4da919fa,0x3d545d63,0xf15e2289,0xef79b69a,0x808bab10,0x54bc3d3d,0x45f82c37,0xc8ab3007
-.long 0x7c4a658a,0xc12738b6,0x40e72182,0xb3c47639,0x8798e44f,0x3b77be46,0x17a7f85f,0xdc047df2,0x5e59d92d,0x2439d4c5,0xe8e64d8d,0xcedca475,0x87ca9b16,0xa724cd0d,0xa5540dfe,0x35e4fd59
-.long 0xe4bcf6b1,0xf8c1ff18,0x295018fa,0x856d6285,0x3263c949,0x433f665c,0xa1f21409,0xa6a76dd6,0xcc7b4f79,0x17d32334,0x06720e4a,0xa1d03122,0x81d9bed5,0xadb6661d,0x11db15d1,0xf0d6fb02
-.long 0x1fb747d2,0x7fd11ad5,0x3033762b,0xab50f959,0xfbefaf5a,0x2a7e711b,0x3fef2bbf,0xc7393278,0x0df6f9be,0xe29fa244,0x71efd215,0x9092757b,0x4f3d6fd9,0xee60e311,0x0acfb78b,0x338542d4
-.long 0x38961a0f,0x44a23f08,0x986987ca,0x1426eade,0x4a863cc6,0x36e6ee2e,0x628b8b79,0x48059420,0x7396e1de,0x30303ad8,0x38c5aad1,0x5c8bdc48,0x5c8f5066,0x3e40e11f,0x8d246bbd,0xabd6e768
-.long 0x23330a01,0x68aa40bb,0xc34eafa0,0xd23f5ee4,0x5de02c21,0x3bbee315,0xd1d8dd06,0x18dd4397,0x122d7b44,0x3ba1939a,0xa33870d6,0xe6d3b40a,0x1c4fe3f8,0x8e620f70,0xd3a50cbf,0xf6bba1a5
-.long 0xcfc0aee0,0x4a78bde5,0xc08c50bd,0x847edc46,0xad63c9b2,0xbaa2439c,0x10fc2acb,0xceb4a728,0x26da033d,0xa419e40e,0x03e02683,0x6cc3889d,0xfdccf725,0x1cd28559,0x8d13d208,0x0fd7e0f1
-.long 0x1f0df9d4,0x01b9733b,0xa2b5e4f3,0x8cc2c5f3,0x3a304fd4,0x43053bfa,0x0a9f1aa7,0x8e87665c,0xd73dc965,0x087f29ec,0x3e9023db,0x15ace455,0x2bce28b4,0x2370e309,0xb6b1e84a,0xf9723442
-.long 0xb72d9f26,0xbeee662e,0xf0e47109,0xb19396de,0xe13289d0,0x85b1fa73,0x54e58e32,0x436cf77e,0xe990ef77,0x0ec833b3,0x1b11fc25,0x7373e3ed,0x0fc332ce,0xbe0eda87,0x8d7ea856,0xced04970
-.long 0x7e977ca0,0xf85ff785,0xdfdd5d2b,0xb66ee8da,0x905af461,0xf5e37950,0x966d487c,0x587b9090,0x32ba0127,0x6a198a1b,0x141615ac,0xa7720e07,0x996ef2f2,0xa23f3499,0x470bcb3d,0xef5f64b4
-.long 0x92b8c559,0xa526a962,0x69740a0f,0x0c14aac0,0xa6bdc0a5,0x0d41a9e3,0x9c48aef4,0x97d52106,0x3e7c253b,0xcf16bd30,0x47fdedc1,0xcc834b1a,0x373aab2e,0x7362c6e5,0xc5f590ff,0x264ed85e
-.long 0x66d41870,0x7a46d9c0,0x4787ba09,0xa50c20b1,0xe3d44635,0x185e7e51,0x31e2d8dc,0xb3b3e080,0xa179e9d9,0xbed1e558,0x74a76781,0x2daa3f79,0x3a40864f,0x4372baf2,0x4fe75cb5,0x46900c54
-.long 0xf76765d0,0xb95f171e,0x95c87502,0x4ad726d2,0x4d7c99bd,0x2ec769da,0xc36cdfa8,0x5e2ddd19,0xa93e6dea,0xc22117fc,0x93771123,0xe8a2583b,0xfa08a3a2,0xbe2f6089,0x8f0e1112,0x4809d5ed
-.long 0xda7a095e,0x3b414aa3,0x26f5aadd,0x9049acf1,0x6be8b84a,0x78d46a4d,0xb732b9b3,0xd66b1963,0xde6e9555,0x5c2ac2a0,0xb5bd8770,0xcf52d098,0x0fd28921,0x15a15fa6,0x8b27536d,0x56ccb81e
-.long 0x9f4ccbb8,0x0f0d8ab8,0xdb221729,0xed5f44d2,0x00bed10c,0x43141988,0x1d735b8b,0xc94348a4,0x29ef8479,0x79f3e9c4,0x614c693f,0x4c13a4e3,0x8e143a14,0x32c9af56,0xe29ac5c4,0xbc517799
-.long 0x2774856f,0x05e17992,0x6c1bf55f,0x6e52fb05,0xe4f19e16,0xaeda4225,0xaf5ccb26,0x70f4728a,0xb2947f22,0x5d2118d1,0x281d6fb9,0xc827ea16,0x8cf0eabd,0x8412328d,0x03ef9dcf,0x45ee9fb2
-.long 0xbb937d63,0x8e700421,0xcc4b37a6,0xdf8ff2d5,0x5ced7b68,0xa4c0d5b2,0xc7308f59,0x6537c1ef,0x3b37f8e8,0x25ce6a26,0xdeebc6ce,0x170e9a9b,0x8728d72c,0xdd037952,0x850154bc,0x445b0e55
-.long 0x83a7337b,0x4b7d0e06,0xffecf249,0x1e3416d4,0x66a2b71f,0x24840eff,0xb37cc26d,0xd0d9a50a,0x6fe28ef7,0xe2198150,0x23324c7f,0x3cc5ef16,0x769b5263,0x220f3455,0xa10bf475,0xe2ade2f1
-.long 0x458d3671,0x28cd20fa,0x2dc4847b,0x1549722c,0x591941e3,0x6dd01e55,0x27128ccb,0x0e6fbcea,0x3bef0262,0xae1a1e6b,0x8f54e103,0xfa8c472c,0x72c052ec,0x7539c0a8,0x5a3490e9,0xd7b27369
-.long 0x71684349,0x143fe1f1,0x32e19b97,0x36b4722e,0x90980aff,0xdc059227,0x9e13d674,0x175c9c88,0x6e6bfdb1,0xa7de5b22,0xbedb4b46,0x5ea5b7b2,0xd34a6e44,0xd5570191,0xa24ff7e6,0xfcf60d2e
-.long 0x677819e1,0x614a392d,0xaa5a29e8,0x7be74c7e,0x63c85f3f,0xab50fece,0x46cab337,0xaca2e2a9,0x122a6fe3,0x7f700388,0x882a04a8,0xdb69f703,0xcf7aed57,0x9a77935d,0x8d91c86f,0xdf16207c
-.long 0x63ed9998,0x2fca49ab,0xa77ddf96,0xa3125c44,0x24344072,0x05dd8a86,0xfec3fb56,0xa023dda2,0x0c743032,0x421b41fc,0x5e438639,0x4f2120c1,0xc83c1b07,0xfb7cae51,0xcac2171a,0xb2370caa
-.long 0x6cc820fb,0x2eb2d962,0xb85a44bf,0x59feee5c,0x5b6598f0,0x94620fca,0x7e314051,0x6b922cae,0x106bed4e,0xff8745ad,0xdfa1e9ab,0x546e71f5,0x1ec29487,0x935c1e48,0x4d936530,0x9509216c
-.long 0x85c9a2db,0xc7ca3067,0x6be8606f,0xd6ae5152,0xe14c651d,0x09dbcae6,0x9bc32f96,0xc9536e23,0x34521b03,0xa90535a9,0x878756ff,0xf39c526c,0x8aedf03c,0x383172ec,0xefe0c034,0x20a8075e
-.long 0x64026422,0xf22f9c62,0x24b9d076,0x8dd10780,0x3bef2950,0x944c742a,0x88a2b00b,0x55b9502e,0x86a09817,0xa59e14b4,0x47bb4071,0xa39dd3ac,0x3be0592f,0x55137f66,0xc9e63f5b,0x07fcafd4
-.long 0x346eb226,0x963652ee,0xec2facb7,0x7dfab085,0x691add26,0x273bf2b8,0xf2b46c44,0x30d74540,0xf2c2d065,0x05e8e73e,0xd42eeac9,0xff9b8a00,0x97209d22,0x2fcbd205,0xde14ea2c,0xeb740ffa
-.long 0xa8aef518,0xc71ff913,0xfff4cfa2,0x7bfc74bb,0xb6b36048,0x1716680c,0x9ef79af1,0x121b2cce,0xa01eb3d3,0xbff3c836,0x5f79077b,0x50eb1c6a,0xa004bbcf,0xa48c32d6,0x7d64f61d,0x47a59316
-.long 0x93102016,0x6068147f,0x94d12576,0x12c5f654,0xc9bc6b91,0xefb071a7,0x6e23ea95,0x7c2da0c5,0xd4a1dd5d,0xf4fd45b6,0x9122b13c,0x3e7ad9b6,0xe6f57a48,0x342ca118,0x06f8288f,0x1c2e94a7
-.long 0x5a97d231,0x99e68f07,0x4d838758,0x7c80de97,0x05872727,0xbce0f5d0,0x19c4d016,0xbe5d95c2,0x9c2492ee,0x921d5cb1,0x404d6fb3,0x42192dc1,0x32f988d3,0x4c84dcd1,0xa17b8e85,0xde26d61f
-.long 0x137c7408,0xc466dcb6,0x36a266da,0x9a38d7b6,0x83bebf1b,0x7ef5cb06,0x0fd014e3,0xe5cdcbbf,0xf65965a0,0x30aa376d,0xebb3e95e,0x60fe88c2,0x66ee6f20,0x33fd0b61,0x3f41f0a0,0x8827dcdb
-.long 0x0c56c690,0xbf8a9d24,0xddb7641d,0x40265dad,0x3a6b662b,0x522b05bf,0xb1478c9b,0x466d1dfe,0x1484469b,0xaa616962,0x02df8f9f,0x0db60549,0x3cb8bf51,0xc37bca02,0x21371ce8,0x5effe346
-.long 0xff112c32,0xe8f65264,0x7b971fb2,0x8a9c736d,0x7b75080d,0xa4f19470,0x8839c59b,0xfc3f2c5a,0x5aeb49c2,0x1d6c777e,0xda1addfe,0xf3db034d,0x5535affc,0xd76fee5a,0xb92251fd,0x0853ac70
-.long 0x8b2a29d5,0x37e3d594,0x4de00ddb,0x28f1f457,0xf42c328b,0x8083c1b5,0xe493c73b,0xd8ef1d8f,0x41dc61bd,0x96fb6260,0x27ee2f8a,0xf74e8a9d,0x2c946a5d,0x7c605a80,0x3839ccfd,0xeed48d65
-.long 0x3a29467a,0x9894344f,0xc51eba6d,0xde81e949,0xa5e5c2f2,0xdaea066b,0x08c8c7b3,0x3fc8a614,0x06d0de9f,0x7adff88f,0x3b75ce0a,0xbbc11cf5,0xfbbc87d5,0x9fbb7acc,0x7badfde2,0xa1458e26
-.long 0xe039c256,0x1cb43668,0x7c17fd5d,0x5f26fb8b,0x79aa062b,0xeee426af,0xd78fbf04,0x072002d0,0xe84fb7e3,0x4c9ca237,0x0c82133d,0xb401d8a1,0x6d7e4181,0xaaa52592,0x73dbb152,0xe9430833
-.long 0xbe24319a,0xf92dda31,0xe095a8e7,0x03f7d28b,0x98782185,0xa52fe840,0x29c24dbc,0x276ddafe,0x1d7a64eb,0x80cd5496,0x7f1dbe42,0xe4360889,0x8438d2d5,0x2f81a877,0x85169036,0x7e4d52a8
-.long 0x1d59715d,0x19e3d5b1,0xd788983e,0xc7eaa762,0xabf1f248,0xe5a730b0,0xfae3fd83,0xfbab8084,0x53765b2f,0x65e50d21,0xfa127f3d,0xbdd4e083,0x397b1b10,0x9cf3c074,0xb1b59fd3,0x59f8090c
-.long 0x615faa8f,0x7b15fd9d,0x968554ed,0x8fa1eb40,0x7aa44882,0x7bb4447e,0x029fff32,0x2bb2d0d1,0x6caa6d2f,0x075e2a64,0x22e7351b,0x8eb879de,0x9a506c62,0xbcd5624e,0xa87e24dc,0x218eaef0
-.long 0x44ddfa35,0x37e56847,0xdab3f747,0x9ccfc5c5,0x1ee96cf4,0x9ac1df3f,0x3b480b8f,0x0c0571a1,0x4b3a7b3c,0x2fbeb3d5,0x5dcdbb99,0x35c03669,0xb2415b3a,0x52a0f5dc,0x4413ed9a,0xd57759b4
-.long 0x3d30a2c5,0x1fe647d8,0xf78a81dc,0x0857f77e,0x131a4a9b,0x11d5a334,0x29d393f5,0xc0a94af9,0xdaa6ec1a,0xbc3a5c0b,0x88d2d7ed,0xba9fe493,0xbb614797,0xbb4335b4,0x72f83533,0x991c4d68
-.long 0xd2f01cb3,0x53258c28,0xd75db0b1,0x93d6eaa3,0xe87d0db4,0x419a2b0d,0xd8fe8493,0xa1e48f03,0xc508b23a,0xf747faf6,0x35d53549,0xf137571a,0xfcf9b838,0x9f5e58e2,0xa7fd3cf5,0xc7186cee
-.long 0xe978a1d3,0x77b868ce,0x7ab92d04,0xe3a68b33,0x87a5b862,0x51029794,0x3a61d41d,0x5f0606c3,0x6f9326f1,0x2814be27,0xc6fe3c2e,0x2f521c14,0xacdf7351,0x17464d7d,0x777f7e44,0x10f5f9d3
-.long 0x269fb37d,0xce8e616b,0x7de62de5,0xaaf73804,0x4fdd4153,0xaba11175,0x3770b49b,0x515759ba,0xaa423a61,0x8b09ebf8,0xcd41fb92,0x592245a1,0x9b4c8936,0x1cba8ec1,0xaf36710e,0xa87e91e3
-.long 0x3d34a2e3,0x1fd84ce4,0xb43b5d61,0xee3759ce,0x619186c7,0x895bc78c,0xcbb9725a,0xf19c3809,0xde744b1f,0xc0be21aa,0x60f8056b,0xa7d222b0,0xb23efe11,0x74be6157,0x0cd68253,0x6fab2b4f
-.long 0x4bf1d725,0xad33ea5f,0x4f6c950f,0x9c1d8ee2,0xa377af06,0x544ee78a,0x94a113e1,0x54f489bb,0x992fb7e8,0x8f11d634,0xa2a44347,0x0169a7aa,0x95020e00,0x1d49d4af,0xe08e120b,0x95945722
-.long 0xa4d32282,0xb6e33878,0x48020ae7,0xe36e029d,0x37a9b750,0xe05847fb,0xb29e3819,0xf876812c,0xd23a17f0,0x84ad138e,0xf0b3950e,0x6d7b4480,0x2fd67ae0,0xdfa8aef4,0x52333af6,0x8d3eea24
-.long 0xb15d5acc,0x0d052075,0xbd815bc4,0xc6d9c79f,0xdfa36cf2,0x8dcafd88,0x38aa9070,0x908ccbe2,0xba35afce,0x638722c4,0xfd6abf0b,0x5a3da8b0,0xc9c335c1,0x2dce252c,0x65aa799b,0x84e7f0de
-.long 0xb99a72cb,0x2101a522,0x87618016,0x06de6e67,0xe6f3653e,0x5ff8c7cd,0xc7a6754a,0x0a821ab5,0x7cb0b5a2,0x7e3fa52b,0xc9048790,0xa7fb121c,0x06ce053a,0x1a725020,0x04e929b0,0xb490a31f
-.long 0x62dd61ad,0xe17be47d,0x6be01371,0x781a961c,0xdae3cbba,0x1063bfd3,0x7f73c9ba,0x35647406,0x2736a129,0xf50e957b,0xed13f256,0xa6313702,0x3a19fcc5,0x9436ee65,0xe7a4c8b6,0xcf2bdb29
-.long 0xc5f95cd8,0xb06b1244,0xf4ab95f4,0xda8c8af0,0xb9e5836d,0x1bae59c2,0x3acffffc,0x07d51e7e,0xc2ccbcda,0x01e15e6a,0x8528c3e0,0x3bc1923f,0xa49fead4,0x43324577,0x2aa7a711,0x61a1b884
-.long 0x700230ef,0xf9a86e08,0xbd19adf8,0x0af585a1,0xf55ad8f2,0x7645f361,0x46c3614c,0x6e676223,0x4e774d3f,0x23cb257c,0xac102d1b,0x82a38513,0x7b126aa5,0x9bcddd88,0xeefd3ee4,0xe716998b
-.long 0xfb167583,0x4239d571,0xd16c8f8a,0xdd011c78,0x69a27519,0x271c2895,0xd2d64b6a,0x9ce0a3b7,0xd5ec6738,0x8c977289,0x8840ef6b,0xa3b49f9a,0x9a453419,0x808c14c9,0x0cf0a2d5,0x5c00295b
-.long 0x1d4bcc76,0x524414fb,0x459a88f1,0xb07691d2,0xf70d110f,0x77f43263,0xb7abf9f3,0x64ada5e0,0x5b544cf5,0xafd0f94e,0xfd2713fe,0xb4a13a15,0x250c74f4,0xb99b7d6e,0x20324e45,0x097f2f73
-.long 0xaffa8208,0x994b37d8,0xdc29aafc,0xc3c31b0b,0x7a3a607f,0x3da74651,0xfe6955d6,0xd8e1b8c1,0xc8418682,0x716e1815,0x7dc91d97,0x541d487f,0xc6996982,0x48a04669,0x83a6502e,0xf39cab15
-.long 0xe68db055,0x025801a0,0xba3338d5,0xf3569758,0xee2afa84,0xb0c8c0aa,0xfb6562d1,0x4f6985d3,0x132ed17a,0x351f1f15,0xc04365fe,0x510ed0b4,0xe5b1f066,0xa3f98138,0x32df03dc,0xbc9d95d6
-.long 0x19abd09e,0xa83ccf6e,0x4ff17edb,0x0b4097c1,0xd64a06ce,0x58a5c478,0x544a58fd,0x2ddcc3fd,0x9e8153b8,0xd449503d,0x7774179b,0x3324fd02,0xdbd9120c,0xaf5d47c8,0x34fa94db,0xeb860162
-.long 0x972f07f4,0x5817bdd1,0xd27bbceb,0xe5579e2e,0x5f11e5a6,0x86847a1f,0x7c3cf048,0xb39ed255,0xa2f62e55,0xe1076417,0x1bcf82a2,0x6b9ab38f,0x7aeb29f9,0x4bb7c319,0x17227a46,0xf6d17da3
-.long 0x0f968c00,0xab53ddbd,0x000c880b,0xa03da7ec,0x6a9ad24d,0x7b239624,0x01ec60d0,0x612c0401,0x109f5df1,0x70d10493,0x80af7550,0xfbda4030,0xc6b9a9b3,0x30b93f95,0x007d9418,0x0c74ec71
-.long 0x6edb951f,0x94175564,0x7f22c282,0x5f4a9d78,0xb38d1196,0xb7870895,0xa228ce7c,0xbc593df3,0x6af3641a,0xc78c5bd4,0x3d9b3dcc,0x7802200b,0x8be33304,0x0dc73f32,0x61ffb79a,0x847ed87d
-.long 0x6d671192,0xf85c974e,0xde16f60f,0x1e14100a,0x95c38797,0x45cb0d5a,0x9b022da4,0x18923bba,0xbbe7e86e,0xef2be899,0x216067bf,0x4a1510ee,0x84d5ce3e,0xd98c8154,0xf92a2b90,0x1af777f0
-.long 0x4ef65724,0x9fbcb400,0x3c0ca6fe,0x3e04a4c9,0x55002994,0xfb3e2cb5,0x5363ecab,0x1f3a93c5,0x3923555b,0x1fe00efe,0x1e1751ea,0x744bedd9,0x6ab69357,0x3fb2db59,0xf5e6618b,0x8dbd7365
-.long 0xdf1ea40e,0x99d53099,0x57d61e64,0xb3f24a0b,0x596eb812,0xd088a198,0x5762940b,0x22c8361b,0xf9c0d95c,0x66f01f97,0x8e43cdae,0x88461172,0xb72b15c3,0x11599a7f,0x420d95cc,0x135a7536
-.long 0x5f7ae2f6,0x2dcdf0f7,0xd7fa6da2,0x15fc6e1d,0xd1d441b6,0x81ca829a,0x04a106b6,0x84c10cf8,0xa73fbbd0,0xa9b26c95,0x4d8f6ee8,0x7f24e0cb,0x1e25a043,0x48b45937,0x036f3dfe,0xf8a74fca
-.long 0xc9f84296,0x1ed46585,0x3bc278b0,0x7fbaa8fb,0x6c4fcbd0,0xa8e96cd4,0x73b60a5f,0x940a1202,0x55a4aec8,0x34aae120,0xdbd742f0,0x550e9a74,0x228c68ab,0x794456d7,0xa4e25ec6,0x492f8868
-.long 0xb2d8f398,0x682915ad,0x5b84c953,0xf13b51cc,0x5bb917d6,0xcda90ab8,0x4ea3dee1,0x4b615560,0x0a52c1c8,0x578b4e85,0x20b75fc4,0xeab1a695,0xaa0bb3c6,0x60c14f3c,0xb8216094,0x220f448a
-.long 0xb0e63d34,0x4fe7ee31,0xa9e54fab,0xf4600572,0xd5e7b5a4,0xc0493334,0x06d54831,0x8589fb92,0x6583553a,0xaa70f5cc,0xe25649e5,0x0879094a,0x10044652,0xcc904507,0x02541c4f,0xebb0696d
-.long 0xb9718710,0x5a171fde,0xf374a9f5,0x38f1bed8,0xba39bdc1,0xc8c582e1,0x908cc0ce,0xfc457b0a,0x883841e2,0x9a187fd4,0x38725381,0x8ec25b39,0x96f84395,0x2553ed05,0x6f6c6897,0x095c7661
-.long 0x4bdc5610,0x917ac85c,0x179eb301,0xb2885fe4,0x8b78bdcc,0x5fc65547,0xe59e4699,0x4a9fc893,0x3ce299af,0xbb7ff0cd,0xadf38b20,0x195be9b3,0xd38ddb8f,0x6a929c87,0xb21a51b9,0x55fcc99c
-.long 0x721a4593,0x2b695b4c,0x768eaac2,0xed1e9a15,0x7489f914,0xfb63d71c,0x78118910,0xf98ba31c,0x9b128eb4,0x80291373,0xd448af4a,0x7801214e,0x55418dd3,0xdbd2e22b,0xd3998242,0xeffb3c0d
-.long 0xc7bf3827,0xdfa6077c,0x47f8238f,0xf2165bcb,0x8564d554,0xfe37cf68,0x0a81fb98,0xe5f825c4,0xffed4d6f,0x43cc4f67,0xb50a34b0,0xbc609578,0x5041faf1,0x8aa8fcf9,0x651773b6,0x5659f053
-.long 0x6044d63b,0xe87582c3,0x0cdb0ca0,0xa6089409,0xbfb2bcf6,0x8c993e0f,0x45985cfc,0xfc64a719,0x83dbedba,0x15c4da80,0x2be67df7,0x804ae112,0xa23defde,0xda4c9658,0x5156e0d3,0x12002ddd
-.long 0x5dd21b96,0xe68eae89,0xcf44624d,0x8b99f28b,0x1ec8897a,0x0ae00808,0x6712f76e,0xdd0a9303,0x4e233de4,0x96237522,0x2b36a8a5,0x192445b1,0x023993d9,0xabf9ff74,0x2aad4a8f,0x21f37bf4
-.long 0xf8bd2bbd,0x340a4349,0x4868195d,0x1d902cd9,0xe5fdb6f1,0x3d27bbf1,0x124f9f1c,0x7a5ab088,0xf7a09e03,0xc466ab06,0x31f2c123,0x2f8a1977,0x041b6657,0xda355dc7,0x8ece2a7c,0xcb840d12
-.long 0x7db32675,0xb600ad9f,0x07a06f1b,0x78fea133,0xb31f6094,0x5d032269,0x83ec37aa,0x07753ef5,0x9c0bea78,0x03485aed,0xbc3f4524,0x41bb3989,0x697f726d,0x09403761,0xdf394820,0x6109beb3
-.long 0x3b6d1145,0x804111ea,0xa8582654,0xb6271ea9,0x24e66562,0x619615e6,0xd7b6ad9c,0xa2554945,0x99bfe35f,0xd9c4985e,0x7b51cdf6,0x9770ccc0,0x92881832,0x7c327013,0x286b26d1,0x8777d45f
-.long 0xd847999d,0x9bbeda22,0xc3525d32,0x03aa33b6,0x28a959a1,0x4b7b96d4,0x31e5d234,0xbb3786e5,0x6961f247,0xaeb5d3ce,0x02f93d3f,0x20aa85af,0xd7a7ae4f,0x9cd1ad3d,0x781adaa8,0xbf6688f0
-.long 0x7469cead,0xb1b40e86,0x309fca48,0x1904c524,0x4b54bbc7,0x9b7312af,0x593affa2,0xbe24bf8f,0xbd98764b,0xbe5e0790,0xa26e299e,0xa0f45f17,0x6b8fe4c7,0x4af0d2c2,0x8ae8a3e6,0xef170db1
-.long 0x29e0ccc1,0x0e8d61a0,0x60ad36ca,0xcd53e87e,0xc8173822,0x328c6623,0xa496be55,0x7ee1767d,0x648945af,0x89f13259,0x25c8009c,0x9e45a5fd,0x1f61ab8c,0xaf2febd9,0x8a275385,0x43f6bc86
-.long 0xf2142e79,0x87792348,0xc6e6238a,0x17d89259,0x4a839d9b,0x7536d2f6,0x76a1fbdc,0x1f428fce,0x0db06dfe,0x1c109601,0x50a3a3cc,0xbfc16bc1,0x9b30f41b,0xf9cbd9ec,0x00138cce,0x5b5da0d6
-.long 0x56ef96a7,0xec1d0a48,0x982bf842,0xb47eb848,0xec3f700d,0x66deae32,0xaa1181e0,0x4e43c42c,0xd1a4aa2a,0xa1d72a31,0xc004f3ce,0x440d4668,0x45fe8a7a,0x0d6a2d3b,0xfb128365,0x820e52e2
-.long 0x25e51b09,0x29ac5fcf,0x2023d159,0x180cd2bf,0xa1ebf90e,0xa9892171,0x7c132181,0xf97c4c87,0xc03dbb7e,0x9f1dc724,0x018cbbe4,0xae043765,0x0767d153,0xfb0b2a36,0x249cbaeb,0xa8e2f4d6
-.long 0xd95ea168,0x172a5247,0x2970764a,0x1758fada,0x1d978169,0xac803a51,0xde77e01b,0x299cfe2e,0xb0a98927,0x652a1e17,0x20014495,0x2e26e1d1,0x7175b56a,0x7ae0af9f,0xd64b9f95,0xc2e22a80
-.long 0xd90a060a,0x4d0ff9fb,0xbaf38085,0x496a27db,0xda776bcf,0x32305401,0x725f209e,0xb8cdcef6,0x436a0bba,0x61ba0f37,0x76860049,0x263fa108,0xda3542cf,0x92beb98e,0xd5849538,0xa2d4d14a
-.long 0x12e9a1bc,0x989b9d68,0x5f6e3268,0x61d9075c,0x99ace638,0x352c6aa9,0x920f43ff,0xde4e4a55,0xd673c017,0xe5e4144a,0x6f6e05ea,0x667417ae,0xdcd1bd56,0x613416ae,0x86693711,0x5eb36201
-.long 0x3a1aa914,0x2d7bc504,0x76dc5975,0x175a1299,0x3fc8125c,0xe900e0f2,0x11198875,0x569ef68c,0x63a113b4,0x9012db63,0x98835766,0xe3bd3f56,0x76412dea,0xa5c94a52,0xaa735e5c,0xad9e2a09
-.long 0x508b65e9,0x405a984c,0x6df1a0d1,0xbde4a1d1,0xdfba80da,0x1a9433a1,0x9440ad2e,0xe9192ff9,0x5099fe92,0x9f649696,0x0b27a54a,0x25ddb65c,0xc590da61,0x178279dd,0xfbde681a,0x5479a999
-.long 0x013fe162,0xd0e84e05,0x632d471b,0xbe11dc92,0xfc0e089f,0xdf0b0c45,0x4c144025,0x04fb15b0,0x13c99927,0xa61d5fc2,0x3de2eb35,0xa033e9e0,0xb8dacbb4,0xf8185d5c,0x8644549d,0x9a88e265
-.long 0x54671ff6,0xf717af62,0x5fa58603,0x4bd4241b,0xe67773c0,0x06fba40b,0x6a2847e9,0xc1d933d2,0x689e2c70,0xf4f5acf3,0x46bafd31,0x92aab0e7,0x3473f6e5,0x798d76aa,0x93141934,0xcc6641db
-.long 0xd31e535e,0xcae27757,0x87c2ee11,0x04cc43b6,0x2e029ffa,0x8d1f9675,0xe4cc7a2c,0xc2150672,0x8d68b013,0x3b03c1e0,0xedf298f3,0xa9d6816f,0xa2804464,0x1bfbb529,0x5db22125,0x95a52fae
-.long 0x0e1cb64e,0x55b32160,0x7e7fc9fe,0x004828f6,0x1bb0fb93,0x13394b82,0x35f1a920,0xb6293a2d,0xd145d2d9,0xde35ef21,0xbb8fa603,0xbe6225b3,0x32cf252d,0x00fc8f6b,0x117cf8c2,0xa28e52e6
-.long 0x4c371e6d,0x9d1dc89b,0x36ef0f28,0xcebe0675,0xa4292f81,0x5de05d09,0x353e3083,0xa8303593,0x7e37a9bb,0xa1715b0a,0x2b8faec3,0x8c56f61e,0x33c9b102,0x52507431,0xa44431f0,0x0130cefc
-.long 0xbd865cfb,0x56039fa0,0xbc5f1dd7,0x4b03e578,0xbabe7224,0x40edf2e4,0x3a1988f6,0xc752496d,0x564beb6b,0xd1572d3b,0x39a1c608,0x0db1d110,0x16f60126,0x568d1934,0xf354af33,0x05ae9668
-.long 0xc92544f2,0x19de6d37,0xa35837d5,0xcc084353,0x1a514ece,0xcbb6869c,0x2e1d1066,0xb633e728,0x936c581c,0xf15dd69f,0x7439c4f9,0x96e7b8ce,0x2e448a5b,0x5e676f48,0xfd916bbb,0xb2ca7d5b
-.long 0xf5024025,0xd55a2541,0xe4c2d937,0x47bc5769,0x0362189f,0x7d31b92a,0xef7816f9,0x83f3086e,0xb587579a,0xf9f46d94,0x30e76c5f,0xec2d22d8,0xb000ffcf,0x27d57461,0x364ffc2c,0xbb7e65f9
-.long 0x6652a220,0x7c7c9477,0xd696c981,0x61618f89,0x89effff3,0x5021701d,0x7c314163,0xf2c8ff8e,0x8efb4d3e,0x2da413ad,0xce176d95,0x937b5adf,0x2a67d51c,0x22867d34,0x18eb3ac9,0x262b9b10
-.long 0xc43ff28b,0x4e314fe4,0x6a664e7a,0x76476627,0xb7a565c2,0x3e90e40b,0xc1acf831,0x8588993a,0x8f938829,0xd7b501d6,0x3edd7d4c,0x996627ee,0x90cd34c7,0x37d44a62,0xf3833e8d,0xa8327499
-.long 0x4bf50353,0x2e18917d,0x556765fb,0x85dd726b,0x93d5ab66,0x54fe65d6,0x915c25fe,0x3ddbaced,0x12f22e85,0xa799d9a4,0x6d06f6bc,0xe2a24867,0x43ca1637,0xf4f1ee56,0x61ece30a,0xfda2828b
-.long 0xa2dee7a6,0x758c1a3e,0x734b2284,0xdcde2f3c,0x4eaba6ad,0xaba445d2,0x76cee0a7,0x35aaf668,0xe5aa049a,0x7e0b04a9,0x91103e84,0xe74083ad,0x40afecc3,0xbeb183ce,0xea043f7a,0x6b89de9f
-.long 0xfe67ba66,0x0e299d23,0x93cf2f34,0x91450760,0x97fcf913,0xf45b5ea9,0x8bd7ddda,0x5be00843,0xd53ff04d,0x358c3e05,0x5de91ef7,0xbf7ccdc3,0xb69ec1a0,0xad684dbf,0x801fd997,0x367e7cf2
-.long 0xb0dc8595,0x0ca1f3b7,0x9f1d9f2e,0x27de4608,0xbadd82a7,0x1af3bf39,0x65862448,0x79356a79,0xf5f9a052,0xc0602345,0x139a42f9,0x1a8b0f89,0x844d40fc,0xb53eee42,0x4e5b6368,0x93b0bfe5
-.long 0xc024789c,0x5434dd02,0x41b57bfc,0x90dca9ea,0x243398df,0x8aa898e2,0x894a94bb,0xf607c834,0xc2c99b76,0xbb07be97,0x18c29302,0x6576ba67,0xe703a88c,0x3d79efcc,0xb6a0d106,0xf259ced7
-.long 0xc8de610b,0x0f893a5d,0x67e223ce,0xe8c515fb,0x4ead6dc5,0x7774bfa6,0x925c728f,0x89d20f95,0x098583ce,0x7a1e0966,0x93f2a7d7,0xa2eedb94,0x4c304d4a,0x1b282097,0xc077282d,0x0842e3da
-.long 0x3b9e2d7b,0xe4d972a3,0xc48218ff,0x7cc60b27,0x84149d91,0x8fc70838,0x2f461ecc,0x5c04346f,0x614650a9,0xebe9fdf2,0xc1f666ac,0x5e35b537,0x88babc83,0x645613d1,0xc5e1c93e,0x88cace3a
-.long 0x3de92e23,0x209ca375,0x5fbbb6e3,0xccb03cc8,0xd7b1487e,0xccb90f03,0xc710941f,0xfa9c2a38,0x6724ceed,0x756c3823,0x192d0323,0x3a902258,0xea5e038e,0xb150e519,0xc7427591,0xdcba2865
-.long 0x78890732,0xe549237f,0x53fcb4d9,0xc443bef9,0xeb3480d6,0x9884d8a6,0x3048b186,0x8a35b6a1,0x65e9a90a,0xb4e44716,0x653006c0,0x45bf380d,0x4fe9ae3b,0x8f3f820d,0x979a3b71,0x244a35a0
-.long 0x74cd06ff,0xa1010e9d,0xaca3eeac,0x9c17c7df,0x8063aa2b,0x74c86cd3,0x734614ff,0x8595c4b3,0x990f62cc,0xa3de00ca,0xca0c3be5,0xd9bed213,0xdf8ce9f5,0x7886078a,0x5cd44444,0xddb27ce3
-.long 0x58926ddd,0xed374a66,0x908015b8,0x138b2d49,0xde1f7ab8,0x886c6579,0xc3020b7a,0x888b9aa0,0x3a96e355,0xd3ec034e,0xf30fbe9a,0xba65b0b8,0xff21367a,0x064c8e50,0x0b04b46e,0x1f508ea4
-.long 0x747c866c,0x98561a49,0x0518a062,0xbbb1e5fe,0xecdc3608,0x20ff4e8b,0x20184027,0x7f55cded,0xf38c85f0,0x8d73ec95,0x8bc3b8c3,0x5b589fdf,0x0f12b66f,0xbe95dd98,0x0e338e01,0xf5bd1a09
-.long 0x5e915918,0x65163ae5,0x86f8a46b,0x6158d6d9,0xeeebf99c,0x8466b538,0xbca477ef,0xca8761f6,0x9ebbc601,0xaf3449c2,0xe0c3ae2f,0xef3b0f41,0x5de63752,0xaa6c577d,0x64682a51,0xe9166601
-.long 0xfc15aa1e,0x5a3097be,0xb54b0745,0x40d12548,0x519a5f12,0x5bad4706,0xa439dee6,0xed03f717,0x4a02c499,0x0794bb6c,0xcffe71d2,0xf725083d,0x0f3adcaf,0x2cad7519,0x43729310,0x7f68ea1c
-.long 0xb7ffd977,0xe747c8c7,0x80761a22,0xec104c35,0x5a3ffb83,0x8395ebaf,0xe4b63db7,0xfb3261f4,0xd883e544,0x53544960,0x8cc2eeb8,0x13520d70,0xd3d65f99,0x08f6337b,0x781cf95b,0x83997db2
-.long 0x0dbd2c01,0xce6ff106,0x1f9ce934,0x4f8eea6b,0x0e993921,0x546f7c4b,0x5e753fc7,0x6236a324,0xa16022e9,0x65a41f84,0x43d1dbb2,0x0c18d878,0x2d4cef9c,0x73c55640,0x70444c74,0xa0428108
-.long 0x9afdfb3c,0x68e4f15e,0x5bdfb6df,0x49a56143,0x5f823d97,0xa9bc1bd4,0xea111c2a,0xbceb5970,0xb269bbc4,0x366b455f,0xe9bc5d62,0x7cd85e1e,0x4f18b086,0xc743c41c,0x95294fb9,0xa4b40990
-.long 0x26ee8382,0x9c7c581d,0x359d638e,0xcf17dcc5,0xb728ae3d,0xee8273ab,0xf821f047,0x1d112926,0x50491a74,0x11498477,0xfde0dfb9,0x687fa761,0x7ea435ab,0x2c258022,0x91ce7e3f,0x6b8bdb94
-.long 0x3bf834aa,0x4c5b5dc9,0x4f6c7e4b,0x04371819,0x3736bcad,0xc284e00a,0x21ae8f8d,0x0d881118,0xf48c8e33,0xf9cf0f82,0xa1bf40db,0xa11fd075,0xdc2733e5,0xdceab0de,0x8e986bd7,0xc560a8b5
-.long 0x3929d097,0x48dd1fe2,0x92f188f1,0x3885b290,0xda6fcdac,0x0f2ae613,0xb662a46c,0x9054303e,0x0738042a,0xb6871e44,0xbdaf6449,0x98e6a977,0xd1c9df1b,0xd8bc0650,0x36e098f9,0xef3d6451
-.long 0xb6d72d28,0x03fbae82,0xf5d84080,0x77ca9db1,0xa58efc1c,0x8a112cff,0xc564cb4a,0x518d761c,0xf0d1b5ce,0x69b5740e,0xe9eb1785,0x717039cc,0x22f53382,0x3fe29f90,0x6bc7c95c,0x8e54ba56
-.long 0xf7f91d0f,0x9c806d8a,0xa82a5728,0x3b61b0f1,0x94d76754,0x4640032d,0x47d834c6,0x273eb5de,0x7b4e4d53,0x2988abf7,0xde401777,0xb7ce66bf,0x715071b3,0x9fba6b32,0xad3a1a98,0x82413c24
-.long 0xe0e8ad93,0x5b7fc8c4,0x5fab868d,0xb5679aee,0x2b3946f3,0xb1f9d2fa,0x5685b50a,0x458897dc,0x89d0caf3,0x1e98c930,0x78642e92,0x39564c5f,0x0dbdaf18,0x1b77729a,0x579e82e6,0xf9170722
-.long 0xe4515fa5,0x680c0317,0xfb0c790f,0xf85cff84,0x6d2e0765,0xc7a82aab,0x35c82b32,0x7446bca9,0x6d63184f,0x5de607aa,0x262803a6,0x7c1a46a8,0xaebe8035,0xd218313d,0xc73c51f8,0x92113ffd
-.long 0x12e7e46c,0x4b38e083,0x56126bd5,0x69d0a37a,0x73c07e04,0xfb3f324b,0x8fda7267,0xa0c22f67,0x4d2c7d8f,0x8f2c0051,0xcbe2cae5,0xbc45ced3,0xa8f0f277,0xe1c6cf07,0x1eb99a98,0xbc392312
-.long 0x3cc8ac85,0x75537b7e,0xdd02753b,0x8d725f57,0xb737df2f,0xfd05ff64,0xf6d2531d,0x55fe8712,0x6ab6b01c,0x57ce04a9,0x7cd93724,0x69a02a89,0xcf86699b,0x4f82ac35,0x9cb4b232,0x8242d3ad
-.long 0xd62105e5,0x713d0f65,0x2d29be61,0xbb222bfa,0x6cfbef09,0xf2f9a79e,0xd5d6782f,0xfc24d8d3,0xd4129967,0x5db77085,0xdc3c2a43,0xdb81c3cc,0x05d8d9a3,0x9d655fc0,0x54298026,0x3f5d057a
-.long 0x88c54694,0x1157f56d,0x9b09573e,0xb26baba5,0x22adffd1,0x2cab03b0,0xdd69f383,0x60a412c8,0x54b25039,0xed76e98b,0x687e714d,0xd4ee67d3,0x7b00b594,0x87739648,0xc9ef709b,0xce419775
-.long 0x1c203a40,0x40f76f85,0xeafd8f91,0x30d352d6,0x95578dd2,0xaf196d3d,0x77cc3f3d,0xea4bb3d7,0xb98e782b,0x42a5bd03,0x0624920d,0xac958c40,0xfc56fcc8,0xb838134c,0x89572e5e,0x86ec4ccf
-.long 0x9be47be0,0x69c43526,0xcb28fea1,0x323b7dd8,0x3a6c67e5,0xfa5538ba,0x1d378e46,0xef921d70,0x3c4b880e,0xf92961fc,0x98940a67,0x3f6f914e,0xfef0ff39,0xa990eb0a,0xf0eeff9c,0xa6c2920f
-.long 0x51b8d9a3,0xca804166,0x0ffb0db1,0x42531bc9,0xaa82e7ce,0x72ce4718,0xdf574741,0x6e199913,0xd5d36946,0xd5f1b13d,0xf68f0194,0x8255dc65,0x8710d230,0xdc9df4cd,0x138c1988,0x3453c20f
-.long 0x89a6ef01,0x9af98dc0,0x9857df85,0x4dbcc3f0,0x5c1ad924,0x34805601,0xd0493046,0x40448da5,0x4ee343e2,0xf629926d,0x90e8a301,0x6343f1bd,0x40815b3f,0xefc93491,0xde8f66fb,0xf882a423
-.long 0xe7db9f57,0x3a12d5f4,0x3c384c27,0x7dfba38a,0x6fc660b1,0x7a904bfd,0x2773b21c,0xeb6c5db3,0x1cdfe049,0xc350ee66,0x44540f29,0x9baac0ce,0xa5ec6aad,0xbc57b6ab,0x0a7c1baa,0x167ce8c3
-.long 0x53fb2b56,0xb23a03a5,0x4e057f78,0x6ce141e7,0x89e490d9,0x796525c3,0xa31a7e75,0x0bc95725,0x1220fd06,0x1ec56791,0x408b0bd6,0x716e3a3c,0xe8ebeba9,0x31cd6bf7,0xbee6b670,0xa7326ca6
-.long 0xcd090c43,0x3d9f851c,0xf12c3988,0x561e8f13,0x904b7be4,0x50490b6a,0x0410737b,0x61690ce1,0x0f009052,0x299e9a37,0xf026092e,0x258758f0,0xfdfcdc0f,0x9fa255f3,0xc0e1bcd2,0xdbc9fb1f
-.long 0x24651840,0x35f9dd6e,0xa5c59abc,0xdca45a84,0xecca4938,0x103d396f,0xb97b3f29,0x4532da0a,0x1999a6bf,0xc4135ea5,0x5e6bf2ee,0x3aa9505a,0x3f5be093,0xf77cef06,0xa943152e,0x97d1a0f8
-.long 0x2e1c21dd,0x2cb0ebba,0x2c6797c4,0xf41b29fc,0xb300101f,0xc6e17321,0xd0d79a89,0x4422b0e9,0x92f1bfc4,0x49e4901c,0xe1e10ed9,0x06ab1f8f,0xdb2926b8,0x84d35577,0x356e8ec2,0xca349d39
-.long 0x343bf1a9,0x70b63d32,0x37d1a6b1,0x8fd3bd28,0x316865b4,0x0454879c,0xc458efa2,0xee959ff6,0x9706dc3f,0x0461dcf8,0x164e4b2e,0x737db0e2,0x2f8843c8,0x09262680,0x7745e6f6,0x54498bbc
-.long 0xa29e24af,0x359473fa,0x70aa87a1,0xfcc3c454,0x00573ace,0xfd2c4bf5,0x28dd1965,0xb65b514e,0x2193e393,0xe46ae7cf,0xf5444d97,0x60e9a4e1,0x00ff38ed,0xe7594e96,0x0a0e0f02,0x43d84d2f
-.long 0xee398a21,0x8b6db141,0xe3bcc5be,0xb88a56ae,0x373460ea,0x0a1aa52f,0x160bb19b,0x20da1a56,0x65bf0384,0xfb54999d,0x5d5a180e,0x71a14d24,0x21737b04,0xbc44db7b,0x01dd8e92,0xd84fcb18
-.long 0xfa44b479,0x80de937b,0x5c98fd4f,0x53505499,0x28f08727,0x1edb12ab,0xa5f3ef53,0x4c58b582,0x8327f246,0xbfb236d8,0x4d7df320,0xc3a3bfaa,0xb96024f2,0xecd96c59,0x7f4e0433,0xfc293a53
-.long 0x5acf6e10,0x5341352b,0xafe652c3,0xc50343fd,0x18577a7f,0x4af3792d,0xaf16823d,0xe1a4c617,0x33425d0a,0x9b26d0cd,0x9b7bc47f,0x306399ed,0x706bb20b,0x2a792f33,0x98111055,0x31219614
-.long 0x87f5d28b,0x864ec064,0x962277fd,0x11392d91,0xbb6aed5f,0xb5aa7942,0x47e799d9,0x080094dc,0x208ba19b,0x4afa588c,0x8512f284,0xd3e7570f,0x02f5799a,0xcbae64e6,0x514b9492,0xdeebe7ef
-.long 0xe5c298ff,0x30300f98,0x3678361f,0x17f561be,0x98cb9a16,0xf52ff312,0x5562d490,0x6233c3bc,0x92e3a2cb,0x7bfa15a1,0xe6365119,0x961bcfd1,0x2c8c53b1,0x3bdd29bf,0x822844ba,0x739704df
-.long 0x7e7b754b,0x7dacfb58,0xa806c9b9,0x23360791,0x23504452,0xe7eb88c9,0x852c1783,0x2983e996,0x958d881d,0xdd4ae529,0x262c7b3c,0x026bae03,0x960b52d1,0x3a6f9193,0x92696cfb,0xd0980f90
-.long 0xd5f30851,0x4c1f428c,0x2a4f6630,0x94dfed27,0xfc5d48a4,0x4df53772,0x933260ce,0xdd2d5a2f,0xd44cc7a5,0x574115bd,0xbd12533a,0x4ba6b20d,0x243057c9,0x30e93cb8,0x14de320e,0x794c486a
-.long 0xf21496e4,0xe925d4ce,0xec696331,0xf951d198,0x3e8d812f,0x9810e2de,0x389294ab,0xd0a47259,0x0e3bab66,0x513ba2b5,0xabad306f,0x462caff5,0xaf04c49e,0xe2dc6d59,0xe0b84b0b,0x1aeb8750
-.long 0x2f7d0ca2,0xc034f12f,0xe06acf2f,0x6d2e8128,0x21facc2f,0x801f4f83,0xf40ef607,0xa1170c03,0x7805a99c,0xfe0a1d4f,0xcc26aba5,0xbde56a36,0x35531f40,0x5b1629d0,0x9afa6108,0xac212c2b
-.long 0x15697be5,0x30a06bf3,0x2c63c7c1,0x6f0545dc,0x7ccdadaf,0x5d8cb842,0xac7015bb,0xd52e379b,0xf462c23e,0xc4f56147,0x46bc24b0,0xd44a4298,0xe2856d4f,0xbc73d23a,0x0832bcdf,0x61cedd8c
-.long 0x99f241d7,0x60953556,0x001a349d,0xee4adbd7,0xaa89e491,0x0b35bf6a,0x136f7546,0x7f0076f4,0x9264da3d,0xd19a18ba,0x62a7a28b,0x6eb2d2cd,0x8761c971,0xcdba941f,0xa3be4a5d,0x1550518b
-.long 0x57d0b70c,0xd0e8e2f0,0xcd133ba3,0xeea8612e,0x44416aec,0x814670f0,0x30775061,0x424db6c3,0x16213fd1,0xd96039d1,0x18a3478f,0xc61e7fa5,0xcb0c5021,0xa805bdcc,0x0cc616dd,0xbdd6f3a8
-.long 0x5d97f7e2,0x06009667,0xaf0bf4b6,0x31db0fc1,0x5491627a,0x23680ed4,0x7d741fb1,0xb99a3c66,0x36b1ff92,0xe9bb5f55,0x512b388d,0x29738577,0x50fcf263,0xdb8a2ce7,0x6c4f7b47,0x385346d4
-.long 0x31631f9e,0xbe86c5ef,0x03a57a29,0xbf91da21,0x7b23f821,0xc3b1f796,0x770db354,0x0f7d00d2,0xd8fe79da,0x8ffc6c3b,0xd525c996,0xcc5e8c40,0xcfff632a,0x4640991d,0x67112528,0x64d97e8c
-.long 0x02f1cd1e,0xc232d973,0x1dd212a4,0xce87eacb,0xe69802f7,0x6e4c8c73,0x1fffddbd,0x12ef0290,0x1bcea6e2,0x941ec74e,0x3cb92cbb,0xd0b54024,0x7e8f9d05,0x809fb9d4,0xf2992aae,0x3bf16159
-.long 0xf8a7a838,0xad40f279,0x05615660,0x11aea631,0xa01f6fa1,0xbf52e6f1,0x3dc2aec9,0xef046995,0xd8080711,0x785dbec9,0x9fdedf76,0xe1aec60a,0xfa21c126,0xece797b5,0x05e52732,0xc66e898f
-.long 0x08811fdb,0x39bb69c4,0x2fc7f082,0x8bfe1ef8,0x174f4138,0xc8e7a393,0xd58d1f98,0xfba8ad1d,0xbfd2fd5b,0xbc21d0ce,0x6ee60d61,0x0b839a82,0xafd22253,0xaacf7658,0xaae396b3,0xb526bed8
-.long 0x38564464,0xccc1bbc2,0x8c45bc73,0x9e3ff947,0x58188a78,0xcde9bca3,0xd73bf8f7,0x138b8ee0,0x4123c489,0x5c7e234c,0xfa643297,0x66e69368,0x39a15fa3,0x0629eeee,0xa9e2a927,0x95fab881
-.long 0xeafbb1e1,0xb2497007,0xe75b7a93,0xd75c9ce6,0xefb68d78,0x3558352d,0x223f6396,0xa2f26699,0xe469b17a,0xeb911ecf,0xe72d3ec2,0x62545779,0x82cb113f,0x8ea47de7,0x4e1fa98d,0xebe4b086
-.long 0x8cdfedb1,0xec2d5ed7,0xfe211a74,0xa535c077,0x11d244c5,0x9678109b,0xbe299a76,0xf17c8bfb,0xfb11fbc4,0xb651412e,0x94ab3f65,0xea0b5482,0x0cf78243,0xd8dffd95,0xce0361d4,0x2e719e57
-.long 0x304ddc5b,0x9007f085,0x4daba2ea,0x095e8c6d,0x3f9d28a9,0x5a33cdb4,0xe2283003,0x85b95cd8,0xb9744733,0xbcd6c819,0xfc7f5783,0x29c5f538,0xd59038e4,0x6c49b2fa,0x3bbe1018,0x68349cc1
-.long 0x21830ee5,0xcc490c1d,0xe9bfa297,0x36f9c4ee,0x48de1a94,0x58fd7294,0x4e8f2cdc,0xaadb13a8,0x81313dba,0x515eaaa0,0xc2152dd8,0xc76bb468,0xa653dbf8,0x357f8d75,0xb14ac143,0xe4d8c4d1
-.long 0xb055cb40,0xbdb8e675,0x977b5167,0x898f8e7b,0xb82fb863,0xecc65651,0x6d88f01f,0x56544814,0x263a75a9,0xb0928e95,0x1a22fcda,0xcfb6836f,0x3f3bd37c,0x651d14db,0xb6ad4664,0x1d3837fb
-.long 0xff4f94ab,0x7c5fb538,0x6d7fb8f2,0x7243c712,0xa85c5287,0xef13d60c,0x4bb8dd1b,0x18cfb7c7,0x72908219,0x82f9bfe6,0x9d5144ab,0x35c4592b,0x9cf4b42f,0x52734f37,0x8c60ddc4,0x6bac55e7
-.long 0x94dea0f6,0xb5cd811e,0xe18cc1a3,0x259ecae4,0x15e660f8,0x6a0e836e,0x0e02bff2,0x6c639ea6,0x7e1026fd,0x8721b8cb,0x63261942,0x9e73b50b,0x77f01da3,0xb8c70974,0x8268f57f,0x1839e6a6
-.long 0x5150b805,0x571b9415,0xf92c7097,0x1892389e,0x4a084b95,0x8d69c18e,0xbe5b495c,0x7014c512,0x1b07523c,0x4780db36,0x2c1c64fa,0x2f6219ce,0x602c105a,0xc38b81b0,0x5dc8e360,0xab4f4f20
-.long 0xcf7d62d2,0x20d3c982,0x23ba8150,0x1f36e29d,0x92763f9e,0x48ae0bf0,0x1d3a7007,0x7a527e6b,0x581a85e3,0xb4a89097,0xdc158be5,0x1f1a520f,0x167d726e,0xf98db37d,0x1113e862,0x8802786e
-.long 0x36f09ab0,0xefb2149e,0x4a10bb5b,0x03f163ca,0x06e20998,0xd0297045,0x1b5a3bab,0x56f0af00,0x70880e0d,0x7af4cfec,0xbe3d913f,0x7332a66f,0x7eceb4bd,0x32e6c84a,0x9c228f55,0xedc4a79a
-.long 0xc55c4496,0xc37c7dd0,0x25bbabd2,0xa6a96357,0xadd7f363,0x5b7e63f2,0x2e73f1df,0x9dce3782,0xb2b91f71,0xe1e5a16a,0x5ba0163c,0xe4489823,0xf6e515ad,0xf2759c32,0x8615eecf,0xa5e2f1f8
-.long 0xabded551,0x74519be7,0xc8b74410,0x03d358b8,0x0e10d9a9,0x4d00b10b,0x28da52b7,0x6392b0b1,0x0b75c904,0x6744a298,0xa8f7f96c,0xc305b0ae,0x182cf932,0x042e421d,0x9e4636ca,0xf6fc5d50
-.long 0xd64cc78c,0x795847c9,0x9b6cb27b,0x6c50621b,0xdf8022ab,0x07099bf8,0xc04eda1d,0x48f862eb,0xe1603c16,0xd12732ed,0x5c9a9450,0x19a80e0f,0xb429b4fc,0xe2257f54,0x45460515,0x66d3b2c6
-.long 0x822e37be,0x6ca4f87e,0x253bda4e,0x73f237b4,0x41190aeb,0xf747f3a2,0x804cf284,0xf06fa36f,0xfc621c12,0x0a6bbb6e,0x40b80ec6,0x5d624b64,0x7ba556f3,0x4b072425,0x3e2d20a8,0x7fa0c354
-.long 0xe3229d41,0xe921fa31,0x94531bd4,0xa929c652,0xa6d38209,0x84156027,0x6bdb97bd,0xf3d69f73,0x16833631,0x8906d19a,0x03d51be3,0x68a34c2e,0x0e511cd8,0xcb59583b,0xfdc132a8,0x99ce6bfd
-.long 0xffcdb463,0x3facdaaa,0x34a38b08,0x658bbc1a,0xf1a9078d,0x12a801f8,0x6ab855de,0x1567bcf9,0x3572359b,0xe08498e0,0x8659e68b,0xcf0353e5,0x7d23807c,0xbb86e9c8,0x2198e8a2,0xbc08728d
-.long 0x453cadd6,0x8de2b7bc,0xbc0bc1f8,0x203900a7,0xa6abd3af,0xbcd86e47,0x8502effb,0x911cac12,0xec965469,0x2d550242,0x29e0017e,0x0e9f7692,0x65979885,0x633f078f,0x4cf751ef,0xfb87d449
-.long 0xfc25419a,0xe1790e4b,0x4bff3cfd,0x36467203,0x25b6e83f,0xc8db6386,0x6cad6fd2,0x6cc69f23,0x6bc68bb9,0x0219e45a,0x297f7334,0xe43d79b6,0x465dc97c,0x7d445368,0x2a0b949a,0x4b9eea32
-.long 0x6102d021,0x1b96c6ba,0x2f4461ea,0xeaafac78,0xc49f19a8,0xd4b85c41,0xcf538875,0x275c28e4,0xdd2e54e0,0x35451a9d,0x0605618b,0x6991adb5,0x7b36cd24,0x5b8b4bcd,0x56f37216,0x372a4f8c
-.long 0xa6a5da60,0xc890bd73,0xdc4c9ff0,0x6f083da0,0xf0536e57,0xf4e14d94,0xaaec8243,0xf9ee1eda,0x8bdcf8e7,0x571241ec,0x0b041e26,0xa5db8271,0xe3fff040,0x9a0b9a99,0x7c271202,0xcaaf21dd
-.long 0x4f0dd2e8,0xb4e2b2e1,0x0a377ac7,0xe77e7c4f,0x0d7a2198,0x69202c3f,0x28200eb8,0xf759b7ff,0xdcfe314e,0xc87526ed,0x53d5cf99,0xeb84c524,0x515138b6,0xb1b52ace,0x23fca3f4,0x5aa7ff8c
-.long 0xb9791a26,0xff0b13c3,0xcdd58b16,0x960022da,0x57aad2de,0xdbd55c92,0xf30fe619,0x3baaaaa3,0x0d881efd,0x9a4b2346,0x46325e2a,0x506416c0,0x035c18d4,0x91381e76,0xf27817b0,0xb3bb68be
-.long 0x5116f937,0x15bfb8bf,0xc1268943,0x7c64a586,0x8419a2c8,0x71e25cc3,0x8335f463,0x9fd6b0c4,0xe8ee0e0e,0x4bf0ba3c,0x298c21fa,0x6f6fba60,0xae66bee0,0x57d57b39,0x22672544,0x292d5130
-.long 0xbab093b3,0xf451105d,0x02839986,0x012f59b9,0x3474a89c,0x8a915802,0x2de03e97,0x048c919c,0x91071cd5,0xc476a2b5,0x034970a5,0x791ed89a,0xe1b7994b,0x89bd9042,0xa1057ffd,0x8eaf5179
-.long 0xd551ee10,0x6066e2a2,0x727e09a6,0x87a8f1d8,0x2c01148d,0x00d08bab,0x424f33fe,0x6da8e4f1,0xcf9a4e71,0x466d17f0,0x3bf5cb19,0xff502010,0xd062ecc0,0xdccf97d8,0x81d80ac4,0x80c0d9af
-.long 0x033f2876,0xe87771d8,0x7d5cc3db,0xb0186ec6,0x3bc9bc1d,0x58e8bb80,0x6f6ef60e,0x4d1395cc,0x186244a0,0xa73c62d6,0x110a5b53,0x918e5f23,0x741b7eab,0xed4878ca,0xdbe03e51,0x3038d71a
-.long 0xa93c3246,0x840204b7,0xa0b9b4cd,0x21ab6069,0xb1d64218,0xf5fa6e2b,0xf3d56191,0x1de6ad0e,0xff1929c7,0x570aaa88,0x640e87b5,0xc6df4c6b,0xc65f0ccc,0xde8a74f2,0xe6f6cc01,0x8b972fd5
-.long 0x0b846531,0x3fff36b6,0x10a5e475,0xba7e45e6,0x4145b6c5,0x84a1d10e,0x5e046d9d,0xf1f7f91a,0x44de90d7,0x0317a692,0xf199c15e,0x951a1d4a,0xc9d73deb,0x91f78046,0xfab8224f,0x74c82828
-.long 0xe7560b90,0xaa6778fc,0xa7e824ce,0xb4073e61,0xd642eba8,0xff0d693c,0x5dccef38,0x7ce2e57a,0x1df1ad46,0x89c2c789,0x098346fd,0x83a06922,0xda2fc177,0x2d715d72,0x85b6cf1d,0x7b6dd71d
-.long 0x73fa9cb0,0xc60a6d0a,0x328bf5a9,0xedd3992e,0x832c8c82,0xc380ddd0,0xa2a0bf50,0xd182d410,0xd9a528db,0x7d9d7438,0xcaf53994,0xe8b1a0e9,0x0e19987c,0xddd6e5fe,0x190b059d,0xacb8df03
-.long 0x8300129f,0x53703a32,0x68c43bfd,0x1f637662,0x00e54051,0xbcbd1913,0x7bf5a8c5,0x812fcc62,0x29fb85da,0x3f969d5f,0x694759e8,0x72f4e00a,0x790726b7,0x426b6e52,0x3bdbb209,0x617bbc87
-.long 0x97aee317,0x511f8bb9,0xe81536a8,0x812a4096,0x3ac09b9b,0x137dfe59,0xba8c9a7a,0x0682238f,0xaeccb4bd,0x7072ead6,0x692ba633,0x6a34e9aa,0x6fff9d33,0xc82eaec2,0x1d4d2b62,0xfb753512
-.long 0x1d7aadab,0x1a0445ff,0xd5f6a67c,0x65d38260,0x91cfb26f,0x6e62fb08,0x5c7d91d6,0xef1e0fa5,0x33db72cd,0x47e7c7ba,0xfa7c74b2,0x017cbc09,0xf50a503c,0x3c931590,0x616baa42,0xcac54f60
-.long 0xb2369f0f,0x9b6cd380,0x23c76151,0x97d3a70d,0x9862a9c6,0x5f9dd6fc,0x12312f51,0x044c4ab2,0x834a2ddc,0x035ea0fd,0xcc7b826d,0x49e6b862,0x62fce490,0xb03d6883,0xb37e36e9,0x62f2497a
-.long 0xc6458293,0x04b005b6,0xe8d10af7,0x36bb5276,0x8ee617b8,0xacf2dc13,0xb004b3d4,0x470d2d35,0xfeeb1b77,0x06790832,0x85657f9c,0x2bb75c39,0xc0f60004,0xd70bd4ed,0x219b018b,0xfe797ecc
-.long 0x753aebcc,0x9b5bec2a,0xc939eca5,0xdaf9f3dc,0xd095ad09,0xd6bc6833,0xdaa4d2fc,0x98abdd51,0x8d168be5,0xd9840a31,0x2325a23c,0xcf7c10e0,0x7e6ecfaf,0xa5c02aa0,0xb5bfdf18,0x2462e7e6
-.long 0xa0cc3f12,0xab2d8a8b,0xbc672a29,0x68dd485d,0x596f2cd3,0x72039752,0xa0cf3d8d,0x5d3eea67,0xe6602671,0x810a1a81,0x14026c0c,0x8f144a40,0x76b50f85,0xbc753a6d,0x645cd4a4,0xc4dc21e8
-.long 0x521d0378,0xc5262dea,0x05011c6f,0x802b8e0e,0x0b4c19ea,0x1ba19cbb,0xebf0aaec,0x21db64b5,0x70342f9d,0x1f394ee9,0x1bc44a14,0x93a10aee,0x3efd0baa,0xa7eed31b,0x1d154e65,0x6e7c824e
-.long 0x9966e7ee,0xee23fa81,0x05b7920d,0x64ec4aa8,0x2d90aad4,0x2d44462d,0xdf277ad5,0xf44dd195,0xbb46b6a1,0x8d6471f1,0xfd885090,0x1e65d313,0x13a977b4,0x33a800f5,0x0797e1ef,0xaca9d721
-.long 0xfcff6a17,0x9a5a85a0,0x1eca7cee,0x9970a3f3,0xc9504be3,0xbb9f0d6b,0xadd24ee2,0xe0c504be,0x77fcc2f4,0x7e09d956,0x65bb5fc4,0xef1a5227,0x8b9286aa,0x145d4fb1,0x6649028b,0x66fd0c5d
-.long 0x1bf4581c,0x98857ceb,0xaca7b166,0xe635e186,0x659722ac,0x278ddd22,0x1db68007,0xa0903c4c,0x48f21402,0x366e4589,0xb96abda2,0x31b49c14,0xe0403190,0x329c4b09,0xd29f43fe,0x97197ca3
-.long 0x274983d8,0x8073dd1e,0x55717c8f,0xda1a3bde,0x0361f9d1,0xfd3d4da2,0x4c7de1ce,0x1332d081,0xaa6d0e10,0x9b7ef7a3,0xf54f1c4a,0x17db2e73,0x4cd35567,0xaf3dffae,0xe56f4e71,0xaaa2f406
-.long 0x7ace3fc7,0x8966759e,0x45a8d8c6,0x9594eacf,0x91834e0e,0x8de3bd8b,0x548c0421,0xafe4ca53,0xe6ee81c6,0xfdd7e856,0x6b891a3a,0x8f671beb,0xfae63829,0xf7a58f2b,0x9c11ac9f,0x9ab186fb
-.long 0x10b5be76,0x8d6eb369,0xfb040bcd,0x046b7739,0xcb73de88,0xccb4529f,0xcf26be03,0x1df0fefc,0xbcfcd027,0xad7757a6,0xbb3165ca,0xa8786c75,0x7e99a4d9,0xe9db1e34,0xb06c504b,0x99ee86df
-.long 0xc15c9f0a,0x5b7c2ddd,0x4295989e,0xdf87a734,0x03d08fda,0x59ece47c,0xad5fc702,0xb074d3dd,0x51a03776,0x20407903,0x2a608007,0x2bb1f77b,0xe1153185,0x25c58f4f,0x766e6447,0xe6df62f6
-.long 0xed51275a,0xefb3d1be,0x2f0f483f,0x5de47dc7,0x97c2bedf,0x7932d98e,0x0219f8a1,0xd5c11927,0xa73a294e,0x9d751200,0x9dc20172,0x5f88434a,0xa26f506a,0xd28d9fd3,0x9d1dcd48,0xa890cd31
-.long 0x70f4d3b4,0x0aebaec1,0x0ffc8d00,0xfd1a1369,0x57d57838,0xb9d9c240,0x68bac361,0x45929d26,0x25b15ca6,0x5a2cd060,0x6e474446,0x4b3c83e1,0xee1e5134,0x1aac7578,0xc91e2f41,0xa418f5d6
-.long 0x213ed68b,0x6936fc8a,0x510a5224,0x860ae7ed,0xdef09b53,0x63660335,0xcd79c98d,0x641b2897,0x01110f35,0x29bd38e1,0x648b1937,0x79c26f42,0x9d9164f4,0x64dae519,0x0265c273,0xd85a2310
-.long 0x4b07e2b1,0x7173dd5d,0x8d9ea221,0xd144c4cb,0x1105ab14,0xe8b04ea4,0xfe80d8f1,0x92dda542,0xcf03dce6,0xe9982fa8,0x1a22cffc,0x8b5ea965,0x3fad88c4,0xf7f4ea7f,0x6a5ba95c,0x62db773e
-.long 0x93f24567,0xd20f02fb,0x315257ca,0xfd46c69a,0x8bcab987,0x0ac74cc7,0x5ceca2f5,0x46f31c01,0x888b219e,0x40aedb59,0xe1fccd02,0xe50ecc37,0x911f816c,0x1bcd9dad,0x8db9b00c,0x583cc1ec
-.long 0xa483bf11,0xf3cd2e66,0xb1b2c169,0xfa08a6f5,0x4be9fa28,0xf375e245,0x5b6d011f,0x99a7ffec,0xc4ae62da,0x6a3ebddb,0x374aef5d,0x6cea00ae,0x9d4d05bc,0xab5fb98d,0xd560f252,0x7cba1423
-.long 0x208490de,0x49b2cc21,0xbcfb2879,0x1ca66ec3,0x1b6fb16f,0x7f1166b7,0x65fe5db3,0xfff63e08,0x8b2610be,0xb8345abe,0x39de3df4,0xb732ed80,0x211c32b4,0x0e24ed50,0x848ff27d,0xd10d8a69
-.long 0xed4de248,0xc1074398,0x10488927,0xd7cedace,0x85673e13,0xa4aa6bf8,0x6daf30af,0xb46bae91,0xfcef7ad8,0x07088472,0xd4b35e97,0x61151608,0xdde29986,0xbcfe8f26,0xd5a34c79,0xeb84c4c7
-.long 0x164e1214,0xc1eec55c,0xa147bb03,0x891be86d,0x0ba96835,0x9fab4d10,0xa5c1ae9f,0xbf01e9b8,0xb186ebc0,0x6b4de139,0x85b91bca,0xd5c74c26,0xc2d93854,0x5086a99c,0xa7a9dfbc,0xeed62a7b
-.long 0x76b7618a,0x8778ed6f,0x03b66062,0xbff750a5,0xb65186db,0x4cb7be22,0xcc3a6d13,0x369dfbf0,0x7191a321,0xc7dab26c,0x40ed718e,0x9edac3f9,0xd0cfd183,0xbc142b36,0x7c991693,0xc8af82f6
-.long 0x97ce0b2a,0xb3d1e4d8,0xc3a55cdf,0xe6d7c87f,0x68b81afe,0x35846b95,0xd3c239d8,0x018d12af,0x01206e15,0x2b2c6208,0xa3b882c6,0xe0e42453,0xa50162d5,0x854470a3,0x7017a62a,0x08157478
-.long 0x820357c7,0x18bd3fb4,0x6f1458ad,0x992039ae,0x25b44aa1,0x9a1df3c5,0xed3d5281,0x2d780357,0xc77ad4d4,0x58cf7e4d,0xf9df4fc4,0xd49a7998,0x1d71205e,0x4465a8b5,0x649254aa,0xa0ee0ea6
-.long 0xab7bd771,0x4b5eeecf,0x35c262b9,0x6c873073,0x3c9d61e7,0xdc5bd648,0x321460d2,0x233d6d54,0xfc195bcc,0xd20c5626,0x04d78b63,0x25445958,0x17ec8ef3,0xe03fcb3d,0x46b8f781,0x54b690d1
-.long 0x21230646,0x82fa2c8a,0x084f418c,0xf51aabb9,0x1a30ba43,0xff4fbec1,0x743c9df7,0x6a5acf73,0xd635b4d5,0x1da2b357,0xecd5c1da,0xc3de68dd,0xd61af0dd,0xa689080b,0xd665bf99,0xdea5938a
-.long 0xfe637294,0x0231d71a,0xa5a81cd8,0x01968aa6,0x048e63b5,0x11252d50,0x6ca007e9,0xc446bc52,0x96d6134b,0xef8c50a6,0x9e09a05c,0x9361fbf5,0xdca3291a,0xf17f85a6,0xff251a21,0xb178d548
-.long 0xa4df3915,0x87f6374b,0x2fd5d608,0x566ce1bf,0x7de35102,0x425cba4d,0x58c5d5e2,0x6b745f8f,0x63122edf,0x88402af6,0x3b989a89,0x3190f9ed,0xebba3156,0x4ad3d387,0xc7c469a5,0xef385ad9
-.long 0x3f642c29,0xb08281de,0x910ffb88,0x20be0888,0xd5292546,0xf353dd4a,0x8377a262,0x3f1627de,0xeefcd638,0xa5faa013,0x74cc77c3,0x8f3bf626,0xa348f55e,0x32618f65,0x9fefeb9e,0x5787c0dc
-.long 0xd9a23e44,0xf1673aa2,0x4e10690d,0x88dfa993,0x2bf91108,0x1ced1b36,0x3af48649,0x9193ceca,0x2d738fc5,0xfb34327d,0x975fee6c,0x6697b037,0xc04079a5,0x2f485da0,0x2feaa1ac,0x2cdf5735
-.long 0xbd55659e,0x76944420,0x4376090c,0x7973e32b,0x163b591a,0x86bb4fe1,0xc196f0ca,0x10441aed,0x045ad915,0x3b431f4a,0xa4afacb1,0x6c11b437,0x71fdbbd8,0x30b0c7db,0xeda65acd,0xb642931f
-.long 0x9c92b235,0x4baae6e8,0x6b3993a1,0xa73bbd0e,0x693dd031,0xd06d60ec,0x7156881c,0x03cab91b,0x1db3574b,0xd615862f,0x64bb061a,0x485b0185,0xa0181e06,0x27434988,0xc1c0c757,0x2cd61ad4
-.long 0x2ff9f403,0x3effed5a,0x62239029,0x8dc98d8b,0x1f17b70d,0x2206021e,0xbf510015,0xafbec0ca,0x80130dfa,0x9fed7164,0x8a02dcf5,0x306dc2b5,0xfeb10fc0,0x48f06620,0x5a57cf51,0x78d1e1d5
-.long 0x192ef710,0xadef8c5a,0x3b7431f9,0x88afbd4b,0x64250c9e,0x7e1f7407,0xb58bec07,0x6e31318d,0x24f89b4e,0xfd4fc4b8,0x48c36a2a,0x65a5dd88,0xf024baa7,0x4f1eccff,0xcba94650,0x22a21cf2
-.long 0x42a554f7,0x95d29dee,0x002ec4ba,0x828983a5,0x8badb73d,0x8112a1f7,0xa27c1839,0x79ea8897,0xd065fd83,0x8969a5a7,0xb262a0bc,0xf49af791,0xaf2b5127,0xfcdea8b6,0x564c2dbc,0x10e913e1
-.long 0xbc21ef51,0x51239d14,0x4ce57292,0xe51c3ceb,0x47bbcc3b,0x795ff068,0xbd7e11e6,0x86b46e1e,0x80041ef4,0x0ea6ba23,0x6262342e,0xd72fe505,0x31d294d4,0x8abc6dfd,0x1278c2c9,0xbbe017a2
-.long 0xb389328a,0xb1fcfa09,0xd01771b5,0x322fbc62,0x60b045bf,0x04c0d063,0x10e52d01,0xdb652edc,0x03ec6627,0x50ef932c,0xc1ee50e3,0xde1b3b2d,0xdc37a90d,0x5ab7bdc5,0x31e33a96,0xfea67213
-.long 0x4f2999aa,0x6482b5cb,0xb8cbf0dd,0x38476cc6,0x173405bb,0x93ebfacb,0xe52369ec,0x15cdafe7,0xd935b7db,0xd42d5ba4,0x1c99a4cd,0x648b6004,0xa3b5545b,0x785101bd,0x9dd67faf,0x4bf2c38a
-.long 0x4442449c,0xb1aadc63,0x33ad4fb8,0xe0e9921a,0xaa686d82,0x5c552313,0x465d866c,0xdee635fa,0x18ee6e8a,0xbc3c224a,0xed42e02f,0xeed748a6,0xd474cd08,0xe70f930a,0xfff24adf,0x774ea6ec
-.long 0xf3480d4a,0x03e2de1c,0xbc8acf1a,0xf0d8edc7,0x68295a9c,0xf23e3303,0xc546a97d,0xfadd5f68,0x96f8acb1,0x895597ad,0x671bdae2,0xbddd49d5,0x21dd43f4,0x16fcd528,0x6619141a,0xa5a45412
-.long 0xc360e25a,0x8ce9b6bf,0x075a1a78,0xe6425195,0x481732f4,0x9dc756a8,0x5432b57a,0x83c0440f,0xd720281f,0xc670b3f1,0xd135e051,0x2205910e,0xdb052be7,0xded14b0e,0xc568ea39,0x697b3d27
-.long 0xfb3ff9ed,0x2e599b9a,0x17f6515c,0x28c2e0ab,0x474da449,0x1cbee4fd,0x4f364452,0x071279a4,0x01fbe855,0x97abff66,0x5fda51c4,0x3ee394e8,0x67597c0b,0x190385f6,0xa27ee34b,0x6e9fccc6
-.long 0x14092ebb,0x0b89de93,0x428e240c,0xf17256bd,0x93d2f064,0xcf89a7f3,0xe1ed3b14,0x4f57841e,0xe708d855,0x4ee14405,0x03f1c3d0,0x856aae72,0xbdd7eed5,0xc8e5424f,0x73ab4270,0x3333e4ef
-.long 0xdda492f8,0x3bc77ade,0x78297205,0xc11a3aea,0x34931b4c,0x5e89a3e7,0x9f5694bb,0x17512e2e,0x177bf8b6,0x5dc349f3,0x08c7ff3e,0x232ea4ba,0xf511145d,0x9c4f9d16,0x33b379c3,0xccf109a3
-.long 0xa1f25897,0xe75e7a88,0xa1b5d4d8,0x7ac6961f,0x08f3ed5c,0xe3e10773,0x0a892dfb,0x208a54ec,0x78660710,0xbe826e19,0x237df2c8,0x0cf70a97,0xed704da5,0x418a7340,0x08ca33fd,0xa3eeb9a9
-.long 0x169bca96,0x49d96233,0x2da6aafb,0x04d286d4,0xa0c2fa94,0xc09606ec,0x23ff0fb3,0x8869d0d5,0xd0150d65,0xa99937e5,0x240c14c9,0xa92e2503,0x108e2d49,0x656bf945,0xa2f59e2b,0x152a733a
-.long 0x8434a920,0xb4323d58,0x622103c5,0xc0af8e93,0x938dbf9a,0x667518ef,0x83a9cdf2,0xa1843073,0x5447ab80,0x350a94aa,0xc75a3d61,0xe5e5a325,0x68411a9e,0x74ba507f,0x594f70c5,0x10581fc1
-.long 0x80eb24a9,0x60e28570,0x488e0cfd,0x7bedfb4d,0xc259cdb8,0x721ebbd7,0xbc6390a9,0x0b0da855,0xde314c70,0x2b4d04db,0x6c32e846,0xcdbf1fbc,0xb162fc9e,0x33833eab,0xb0dd3ab7,0x9939b48b
-.long 0xcb0c9c8c,0x5aaa98a7,0x81c4375c,0x75105f30,0x5ef1c90f,0xceee5057,0xc23a17bf,0xb31e065f,0xd4b6d45a,0x5364d275,0x62ec8996,0xd363f3ad,0x4391c65b,0xb5d21239,0xebb41b47,0x84564765
-.long 0x37107c78,0x20d18ecc,0x570c2a66,0xacff3b6b,0x9bd0d845,0x22f975d9,0xba178fa0,0xef0a0c46,0x76b6028e,0x1a419651,0x248612d4,0xc49ec674,0x7338af55,0x5b6ac4f2,0x7bee5a36,0x06145e62
-.long 0xe75746b5,0x33e95d07,0xc40c78be,0x1c1e1f6d,0x222ff8e2,0x967833ef,0xb49180ad,0x4bedcf6a,0x3d7a4c8a,0x6b37e9c1,0x6ddfe760,0x2748887c,0xaa3a5bbc,0xf7055123,0x7bbb8e74,0x954ff225
-.long 0x97c3dfb9,0xc42b8ab1,0xcf168154,0x55a549b0,0xc1b50692,0xad6748e7,0x6fc5cbcb,0x2775780f,0xe1c9d7c8,0x4eab80b8,0x3fdbcd56,0x8c69dae1,0x9969eace,0x47e6b4fb,0xa705cb5a,0x002f1085
-.long 0x6d3fea55,0x4e23ca44,0xf4810568,0xb4ae9c86,0x2a62f27d,0x47bfb91b,0xd9bac28c,0x60deb4c9,0x7de6c34c,0xa892d894,0x4494587d,0x4ee68259,0x1a3f8a5b,0x914ee14e,0x28700385,0xbb113eaa
-.long 0x2115b4c9,0x81ca03b9,0x8908cad1,0x7c163d38,0xaa18179a,0xc912a118,0x886e3081,0xe09ed750,0x26f516ca,0xa676e3fa,0x8e732f91,0x753cacf7,0x833da8b4,0x51592aea,0x4cbea8aa,0xc626f42f
-.long 0xa7b56eaf,0xef9dc899,0x34ef7316,0x00c0e52c,0xfe818a86,0x5b1e4e24,0xc538be47,0x9d31e20d,0x3ed68974,0x22eb932d,0x7c4e87c4,0xe44bbc08,0x0dde9aef,0x4121086e,0x134f4345,0x8e6b9cff
-.long 0x711b0eb9,0x96892c1f,0x780ab954,0xb905f2c8,0xa20792db,0xace26309,0x0684e126,0xec8ac9b3,0xb40a2447,0x486ad8b6,0x9fe3fb24,0x60121fc1,0x1a8e3b3f,0x5626fccf,0x6ad1f394,0x4e568622
-.long 0x196aa5a1,0xda7aae0d,0x1041b5fb,0xe0df8c77,0x26b318b7,0x451465d9,0x7ab136e9,0xc29b6e55,0x71148463,0x2c2ab48b,0x64454a76,0xb5738de3,0x5a03abe4,0x54ccf9a0,0x0427d58e,0x377c0296
-.long 0x2bb39c1f,0x73f5f0b9,0xe608d8c5,0x14373f2c,0x00fbb805,0xdcbfd314,0x83afdcfb,0xdf18fb20,0x42b3523f,0x81a57f42,0x87f650fb,0xe958532d,0x8b0a7d7c,0xaa8dc8b6,0x150166be,0x1b75dfb7
-.long 0x2d7d1413,0x90e4f7c9,0x9834f597,0x67e2d6b5,0xa808c3e8,0x4fd4f4f9,0xd5281ec1,0xaf8237e0,0x84687cee,0x25ab5fdc,0xa5b26c09,0xc5ded6b1,0xc8ea7650,0x8e4a5aec,0x14cc417f,0x23b73e5c
-.long 0x3037bf52,0x2bfb4318,0x78c725d7,0xb61e6db5,0xbbb3e5d7,0x8efd4060,0xdbac488e,0x2e014701,0x360aa449,0xac75cf9a,0x79634d08,0xb70cfd05,0xfffb15ef,0xa591536d,0xd07c106c,0xb2c37582
-.long 0xf50225f9,0xb4293fdc,0xb0e12b03,0xc52e175c,0xd0a8bf64,0xf649c3ba,0xeb8ae3c6,0x745a8fef,0x58321bc3,0x30d7e5a3,0x0bc4df48,0xb1732be7,0xe9ea5058,0x1f217993,0x3e4fd745,0xf7a71cde
-.long 0x894c5bbb,0x86cc533e,0x69d83082,0x6915c7d9,0x5815c244,0xa6aa2d05,0x49b22ce5,0xaeeee592,0x78135486,0x89e39d13,0x16b76f2f,0x3a275c1f,0xe036e8f5,0xdb6bcc1b,0x5e4709f5,0x4df69b21
-.long 0x2d0f39aa,0xa188b250,0x15a85947,0x622118bb,0xfde0f4fa,0x2ebf520f,0x4860e539,0xa40e9f29,0x22b57f0f,0x7b6a51eb,0x7e80644a,0x849a33b9,0x1cf095fe,0x50e5d16f,0xec55f002,0xd754b54e
-.long 0x236f4a98,0x5cfbbb22,0x066800bb,0x0b0c59e9,0x5a9a7774,0x4ac69a8f,0xd6bec948,0x2b33f804,0x32e6c466,0xb3729295,0x4e599c73,0x68956d0f,0x155c31cc,0xa47a249f,0xe1ce284e,0x24d80f0d
-.long 0x988baf01,0xcd821dfb,0xdbb16647,0xe6331a7d,0x094cb960,0x1eb8ad33,0xc91bbca5,0x593cca38,0x26567456,0x384aac8d,0xc04b6490,0x40fa0309,0xdab6c8f6,0x97834cd6,0x3f91e55f,0x68a7318d
-.long 0xfc4d3157,0xa00fd04e,0x2bf3bdea,0xb56f8ab2,0x4fa57172,0x014f5648,0x450abdb3,0x948c5860,0x0ebd4f08,0x342b5df0,0x0e82938e,0x3e5168cd,0xb0df5dd0,0x7aedc1ce,0xe5732516,0x6bbbc6d9
-.long 0x605daaa6,0xc7bfd486,0xbb9a6c9e,0x46fd72b7,0xa124fb89,0xe4847fb1,0xa2d8ffbc,0x75959cbd,0xc8a588ee,0x42579f65,0xb80b499d,0x368c92e6,0x999a5df1,0xea4ef6cd,0x936fe604,0xaa73bb7f
-.long 0x6457d188,0xf347a70d,0x8b7a388b,0x86eda86b,0x0ccd6013,0xb7cdff06,0xd0053fb2,0xbeb1b6c7,0x99240a9f,0x0b022387,0x776189b2,0x1bbb384f,0x9066193a,0x8695e71e,0x06ffac7e,0x2eb50097
-.long 0x4a7d2caa,0x0654a9c0,0xa5aaa290,0x6f3fb3d1,0xff476e8f,0x835db041,0xc42295e4,0x540b8b0b,0x05e214f5,0xa5c73ac9,0x56a0b638,0x9a74075a,0xce9e680b,0x2e4b1090,0x6b8d9afa,0x57a5b479
-.long 0x26bfe65c,0x0dca48e7,0x7290c307,0x097e391c,0x6669e72e,0x683c462e,0x062559ac,0xf505be1e,0xe3a3035a,0x5fbe3ea1,0x9cd50da8,0x6431ebf6,0x1f6407f2,0xfd169d5c,0x60fce6b8,0x8d838a95
-.long 0x650006f0,0x2a2bfa7f,0x50c0fbb2,0xdfd7dad3,0xccf9ad96,0x92452495,0xd95635f9,0x183bf494,0x4a7bd989,0x02d5df43,0xa5431095,0x505385cc,0xfd43f53e,0xdd98e67d,0x500c34a9,0xd61e1a6c
-.long 0x4a8a3d62,0x5a4b46c6,0x247743d2,0x8469c4d0,0x88f7e433,0x2bb3a13d,0x01be5849,0x62b23a10,0xa63d1a4c,0xe83596b4,0x7d183f3e,0x454e7fea,0x17afb01c,0x643fce61,0x1c4c3638,0x4e65e5e6
-.long 0xef74c45b,0x41d85ea1,0xae328506,0x2cfbfa66,0x3ada7da9,0x98b078f5,0xec752fbb,0xd985fe37,0x5a0148b4,0xeece68fe,0x2d78136d,0x6f9a55c7,0xd2b729ce,0x232dccc4,0x90aafbc4,0xa27e0dfd
-.long 0x12b4603e,0x96474452,0x6b706d14,0xa876c551,0x69a9d412,0xdf145fcf,0x2d479c34,0xe2ab75b7,0x1a23ff97,0x12df9a76,0x5d359d10,0xc6138992,0xfa835f22,0x6e51c7ae,0xc0fcc4d9,0x69a79cb1
-.long 0x594cc7e1,0xf57f350d,0x3350ab79,0x3079ca63,0x9aff594a,0x226fb614,0x6d59a62b,0x35afec02,0x06ed2c6e,0x9bee46f4,0x7d939a57,0x58da1735,0x8fd1797e,0x44c50402,0x5ccea6ca,0xd8853e7c
-.long 0xa35fcd5f,0x4065508d,0x495ccaeb,0x8965df8c,0x12e1a962,0x0f2da850,0xc1cf1cc4,0xee471b94,0x0a08fb75,0xcef19bc8,0x81de3591,0x704958f5,0x3aef4f88,0x2867f8b2,0xea9f9a5f,0x8d749384
-.long 0x8c9049f4,0x1b385537,0x7b92d8b6,0x5be948f3,0xb6e2bd6b,0xd96f725d,0x958c454d,0x37a222bc,0x8809bf61,0xe7c61abb,0x1346f18d,0x46f07fbc,0xe87c0d1c,0xfb567a7a,0x7ef3d07a,0x84a461c8
-.long 0xd9278d98,0x0a5adce6,0x9dfc73e1,0x24d94813,0x054321c3,0x4f3528b6,0x692ea706,0x2e03fdde,0x47b533c0,0x10e60619,0x2ca3c055,0x1a8bc73f,0x1bb62b8f,0xae58d4b2,0x584a24e3,0xb2045a73
-.long 0xbd76e195,0x3ab3d5af,0x6938a810,0x478dd1ad,0x6ee3d5cb,0x6ffab393,0x22b361e4,0xdfb693db,0x51dbf1a7,0xf9694496,0x08a2e762,0xcab4b4ef,0xd39bba9a,0xe8c92f25,0xf1464d96,0x850e61bc
-.long 0xdc09508b,0xb7e830e3,0x74317655,0xfaf6d2cf,0xdf690355,0x72606ceb,0xd0c3ded6,0x48bb92b3,0x5c7cf892,0x65b75484,0xd5d5f01f,0xf6cd7ac9,0x96401d69,0xc2c30a59,0xed921878,0x91268650
-.long 0xb78c558f,0x380bf913,0xc8afdaa9,0x43c0baeb,0x54f169d3,0x377f61d5,0xae5ff20b,0xf8da07e3,0xa8a90ea8,0xb676c49d,0x83a29b21,0x81c1ff2b,0x2ad8d276,0x383297ac,0xba89f982,0x3001122f
-.long 0x6718e448,0xe1d794be,0x7c3e6e13,0x246c1482,0x5d26b5ef,0x56646ef8,0x88069cdd,0x80f5091e,0x724bdd38,0xc5992e2f,0x8471e8c7,0x02e915b4,0x0d0ff2a9,0x96ff320a,0x4384d1a0,0xbf886487
-.long 0xc93f72d6,0xbbe1e6a6,0xcad800ea,0xd5f75d12,0xe7acf117,0xfa40a09f,0x7581a355,0x32c8cdd5,0x7023c499,0x74221992,0x38ec3901,0xa8afe5d7,0xa90e83f0,0x5691afcb,0x0b8f8eac,0x41bcaa03
-.long 0x8d2668d5,0xe38b5ff9,0x7ad81965,0x0715281a,0x03c6ce11,0x1bc8fc7c,0x8b650436,0xcbbee6e2,0x0cdb9808,0x06b00fe8,0xfe3ed315,0x17d6e066,0x4d0b5018,0x2e9d38c6,0x844dcaef,0xab8bfd56
-.long 0x513aed8b,0x42894a59,0x314bd07a,0xf77f3b6d,0x8e42b582,0xbbdecb8f,0xd2390fe6,0xf10e2fa8,0x62a2f201,0xefb95022,0x50ee32b0,0x4d59ea50,0x6da789a8,0xd87f7728,0xf79492c4,0xcf98a2cf
-.long 0x720943c2,0xf9577239,0x3990b9d0,0xba044cf5,0x95f2884a,0x5aa8e823,0x0278a0af,0x834de6ed,0x5f25bd12,0xc8e1ee9a,0x6f7ab271,0x9259ceaa,0x77d00b76,0x7e6d97a2,0xa437832a,0x5c0c6eea
-.long 0x5606b81d,0x5232c20f,0x0d991ee5,0xabd7b375,0x8632d951,0x4d2bfe35,0x98ed9364,0x78f85146,0xf30c3282,0x951873f0,0xa789230b,0x0da8ac80,0x5398967f,0x3ac7789c,0xbdda0fb5,0xa69b8f7f
-.long 0x6add8545,0xe5db7717,0x72c49b66,0x1b71cb66,0x68421d77,0xd8560739,0x83e3afea,0x03840fe8,0x1ec69977,0xb391dad5,0x307f6726,0xae243fb9,0xe8ca160c,0xc88ac87b,0x4ce355f4,0x5174cced
-.long 0xe58ba37d,0x98a35966,0x7817335d,0xfdcc8da2,0x83fbc7bf,0x5b752830,0xd9c96984,0x68e419d4,0x02a40380,0x409a39f4,0x1fe977bc,0x88940faf,0x8f8edea6,0xc640a94b,0xed11547d,0x1e22cd17
-.long 0x59ffc3e2,0xe28568ce,0xc1dee4e7,0x60aa1b55,0x837cb363,0xc67497c8,0x105a2bf2,0x06fb438a,0x500d8e20,0x30357ec4,0x0670db10,0x1ad9095d,0xc73b7cfd,0x7f589a05,0x880d6d28,0xf544607d
-.long 0xa20ef103,0x17ba93b1,0x6ba6577b,0xad859130,0x6fa214a0,0x65c91cf6,0x27990da5,0xd7d49c6c,0x20bb569d,0xecd9ec8d,0xeeffbc33,0xbd4b2502,0x6bed0467,0x2056ca5a,0x5b63728c,0x7916a1f7
-.long 0x53a4f566,0xd4f9497d,0x97b56810,0x89734664,0x0494a621,0xf8e1da74,0x8d011c68,0x82546a93,0xc61ac162,0x1f3acb19,0xabad0d3e,0x52f8fa9c,0xb4b7ea43,0x15356523,0xae608125,0x5a16ad61
-.long 0x4faed184,0xb0bcb87f,0x5029f45f,0x5f236b1d,0x0bc6b1fc,0xd42c7607,0x68aefce3,0xc644324e,0x5c5d8446,0x8e191d59,0x13ae1979,0xc0208077,0x3ba59cc7,0xadcaee55,0xa2cb81ba,0x20ed6d6b
-.long 0xb6efcffc,0x0952ba19,0x97c0b87c,0x60f12d68,0x9caa30bc,0x4ee2c7c4,0x97fbff4e,0x767238b7,0x501b5d92,0xebc73921,0xc2a37737,0x3279e3df,0x6d197543,0x9fc12bc8,0x0a40db4e,0xfa94dc6f
-.long 0x530ccbbd,0x7392b41a,0xea823525,0x87c82146,0x05d98d0c,0xa52f984c,0x5ef6974c,0x2ae57d73,0x3042a6dd,0x9377f7bf,0x19647a64,0xb1a007c0,0x0cca9767,0xfaa9079a,0xf68f72d5,0x3d81a25b
-.long 0xff81578e,0x752067f8,0x9045447d,0x78622150,0x0505aa6f,0xc0c22fcf,0x6bed1c77,0x1030f0a6,0x1f0bd739,0x31f29f15,0xe6debe85,0x2d7989c7,0x8e677e98,0x5c070e72,0x06e81fd5,0x0a817bd3
-.long 0xb0f2ac95,0xc110d830,0xab20e64e,0x48d0995a,0x7729cd9a,0x0f3e00e1,0xdd556946,0x2a570c20,0x4e86214d,0x912dbcfd,0xcf615498,0x2d014ee2,0x3530d76e,0x55e2b1e6,0xfd0fd6d1,0xc5135ae4
-.long 0xd4f3049f,0x0066273a,0xe7087477,0xbb8e9893,0x14c6e5fd,0x2dba1ddb,0x51f57e6c,0xdba37886,0x5a72f2cf,0x5aaee0a6,0x7bea5642,0x1208bfbf,0x67872c37,0xf5c6aa3b,0x43f93224,0xd726e083
-.long 0x061f1658,0x1854daa5,0xdf0cd2b3,0xc0016df1,0x833d50de,0xc2a3f23e,0xbbbd3017,0x73b681d2,0x3ac343c0,0x2f046dc4,0x85716421,0x9c847e7d,0x0917eed4,0xe1e13c91,0x63a1b9c6,0x3fc9eebd
-.long 0x7fe02299,0x0f816a72,0x294f3319,0x6335ccc2,0x4745c5be,0x3820179f,0x922f066e,0xe647b782,0x02cafb8a,0xc22e49de,0xfcc2eccc,0x299bc2ff,0x6e0e8282,0x9a8feea2,0xfe893205,0xa627278b
-.long 0x7933e47b,0xa7e19733,0x2e766402,0xf4ff6b13,0x98440d9f,0xa4d8be0a,0x38938808,0x658f5c2f,0xc95b3b3e,0x90b75677,0x3137b6ff,0xfa044269,0x43c47c29,0x077b039b,0x8a6445b2,0xcca95dd3
-.long 0x2333fc4c,0x0b498ba4,0xf736a1b1,0x274f8e68,0x5f1d4b2e,0x6ca348fd,0xa8f10199,0x24d3be78,0xca14f530,0x8535f858,0x5b982e51,0xa6e7f163,0x36e1bf62,0x847c8512,0x03448418,0xf6a7c58e
-.long 0xf9374ab6,0x583f3703,0x6e564145,0x864f9195,0x22526d50,0x33bc3f48,0x1262a496,0x9f323c80,0x3f046a9a,0xaa97a7ae,0xdf8a039a,0x70da183e,0x52aa0ba6,0x5b68f71c,0x21459c2d,0x9be0fe51
-.long 0xcbc613e5,0xc1e17eb6,0x497ea61c,0x33131d55,0xaf7eded5,0x2f69d39e,0xde6af11b,0x73c2f434,0xa4a375fa,0x4ca52493,0xb833c5c2,0x5f06787c,0x3e6e71cf,0x814e091f,0x8b746666,0x76451f57
-.long 0x694db7e0,0x80f9bdef,0xb9fcddc6,0xedca8787,0x03b8dce1,0x51981c34,0x70e10ba1,0x4274dcf1,0x6def6d1a,0xf72743b8,0xebdb1866,0xd25b1670,0x050c6f58,0xc4491e8c,0x87fbd7f5,0x2be2b2ab
-.long 0xd111f8ec,0x3e0e5c9d,0xb7c4e760,0xbcc33f8d,0xbd392a51,0x702f9a91,0xc132e92d,0x7da4a795,0x0bb1151b,0x1a0b0ae3,0x02e32251,0x54febac8,0x694e9e78,0xea3a5082,0xe4fe40b8,0xe58ffec1
-.long 0xd1e0cf9e,0xf85592fc,0xc0e7b2e8,0xdea75f0d,0xc135584e,0xc04215cf,0x2f57092a,0x174fc727,0xeb930bea,0xe7277877,0x5eb02a5a,0x504caccb,0xf5241b9b,0xf9fe08f7,0x8d5ca954,0xe7fb62f4
-.long 0x29c4120b,0xfbb8349d,0xc0d0d915,0x9f94391f,0x5410ba51,0xc4074fa7,0x150a5911,0xa66adbf6,0x34bfca38,0xc164543c,0xb9e1ccfc,0xe0f27560,0xe820219c,0x99da0f53,0xc6b4997a,0xe8234498
-.long 0x9d4c5423,0xcfb88b76,0xb0521c49,0x9e56eb10,0xbe8700a1,0x418e0b5e,0xf93cb58a,0x00cbaad6,0xd92a5e67,0xe923fbde,0x1f347f11,0xca4979ac,0x6bc0585b,0x89162d85,0xac3c70e3,0xdd6254af
-.long 0x516e19e4,0x7b23c513,0xc5c4d593,0x56e2e847,0x5ce71ef6,0x9f727d73,0xf79a44c5,0x5b6304a6,0x3ab7e433,0x6638a736,0xfe742f83,0x1adea470,0x5b7fc19f,0xe054b854,0xba1d0698,0xf935381a
-.long 0x799e9a74,0x546eab2d,0xa949f729,0x96239e0e,0x7090055a,0xca274c6b,0x9020c9b0,0x835142c3,0xa2e8807f,0xa405667a,0x1aa3d39e,0x29f2c085,0x42fc72f5,0xcc555d64,0xfbeacb3c,0xe856e0e7
-.long 0x918e4936,0xb5504f9d,0xb2513982,0x65035ef6,0x6f4d9cb9,0x0553a0c2,0xbea85509,0x6cb10d56,0xa242da11,0x48d957b7,0x672b7268,0x16a4d3dd,0x8502a96b,0x3d7e637c,0x730d463b,0x27c7032b
-.long 0xe4136a14,0xbdc02b18,0x678e32bf,0xbacf969d,0xdd9c3c03,0xc98d89a3,0x23becc4f,0x7b92420a,0xc64d565c,0xd4b41f78,0x10f28295,0x9f969d00,0xb13d051a,0xec7f7f76,0xa92da585,0x08945e1e
-.long 0x5846426f,0x55366b7d,0x247d441d,0xe7d09e89,0x736fbf48,0x510b404d,0xe784bd7d,0x7fa003d0,0x17fd9596,0x25f7614f,0x35cb98db,0x49e0e0a1,0x2e83a76a,0x2c65957b,0xcddbe0f8,0x5d40da8d
-.long 0x050bad24,0xf2b8c405,0xc2aa4823,0x8918426d,0xa38365a7,0x2aeab3dd,0x7c91b690,0x72031717,0x60a94120,0x8b00d699,0xe99eaeec,0x478a255d,0x6f60aafd,0xbf656a5f,0x5dee77b3,0xdfd7cb75
-.long 0xa595939d,0x37f68bb4,0x28740217,0x03556479,0x84ad7612,0x8e740e7c,0x9044695f,0xd89bc843,0x85a9184d,0xf7f3da5d,0x9fc0b074,0x562563bb,0xf88a888e,0x06d2e6aa,0x161fbe7c,0x612d8643
-.long 0xf64085e7,0x465edba7,0x29aa8511,0xb230f304,0xcda2d188,0x53388426,0x4b666649,0x90885735,0x652f54f6,0x6f02ff9a,0x5fae2bf0,0x65c82294,0x62f5eee3,0x7816ade0,0xfcc56d70,0xdcdbdf43
-.long 0x54530bb2,0x9fb3bba3,0xcb0869ea,0xbde3ef77,0x0b431163,0x89bc9046,0xe4819a35,0x4d03d7d2,0x43b6a782,0x33ae4f9e,0x9c88a686,0x216db307,0x00ffedd9,0x91dd88e0,0x12bd4840,0xb280da9f
-.long 0x1635e741,0x32a7cb8a,0x78be02a7,0xfe14008a,0x1b7ae030,0x3fafb334,0x5add0ce9,0x7fd508e7,0xd607ad51,0x72c83219,0x8d40964a,0x0f229c0a,0x1c878da2,0x1be2c336,0xeab2ab86,0xe0c96742
-.long 0x3e538cd7,0x458f8691,0x8e08ad53,0xa7001f6c,0xbf5d15ff,0x52b8c6e6,0x011215dd,0x548234a4,0x3d5b4045,0xff5a9d2d,0x4a904190,0xb0ffeeb6,0x48607f8b,0x55a3aca4,0x30a0672a,0x8cbd665c
-.long 0x42583068,0x87f834e0,0xf3f6e683,0x02da2aeb,0x05c12248,0x6b763e5d,0x65a8aefc,0x7230378f,0x71e8e5ca,0x93bd80b5,0xb3b62524,0x53ab041c,0x6c9c552e,0x1b860513,0xd5524e66,0xe84d402c
-.long 0xf37f5937,0xa37f3573,0xd1e4fca5,0xeb0f6c7d,0xac8ab0fc,0x2965a554,0x274676ac,0x17fbf56c,0xacf7d720,0x2e2f6bd9,0x10224766,0x41fc8f88,0x85d53bef,0x517a14b3,0x7d76a7d1,0xdae327a5
-.long 0xc4818267,0x6ad0a065,0x37c1bbc1,0x33aa189b,0x27392a92,0x64970b52,0x2d1535ea,0x21699a1c,0xc2d7a7fd,0xcd20779c,0x99c83cf2,0xe3186059,0x72c0b8c7,0x9b69440b,0x7b9e0e4d,0xa81497d7
-.long 0x1f5f82dc,0x515d5c89,0x6361079e,0x9a7f67d7,0x11a35330,0xa8da81e3,0x4b18be1b,0xe44990c4,0xaf103e59,0xc7d5ed95,0x8dac9261,0xece8aba7,0x9394b8d3,0xbe82b099,0x16adfe83,0x6830f09a
-.long 0x88172d01,0x250a29b4,0xcaff9e02,0x8b20bd65,0xe8a6329a,0xb8a7661e,0xd3fce920,0x4520304d,0x2b47f7ef,0xae45da1f,0x5bffc540,0xe07f5288,0x3464f874,0xf7997009,0xa6fa1f38,0x2244c2cd
-.long 0x94d7d9b1,0x43c41ac1,0xc82e7f17,0x5bafdd82,0x5fda0fca,0xdf0614c1,0xa8ae37ad,0x74b043a7,0x9e71734c,0x3ba6afa1,0x9c450f2e,0x15d5437e,0x67e242b1,0x4a5883fe,0x2c1953c2,0x5143bdc2
-.long 0xfc5e8920,0x542b8b53,0x9a9cee08,0x363bf9a8,0xc3486e08,0x02375f10,0x8c5e70d2,0x2037543b,0x625640b4,0x7109bccc,0x8bc62c3b,0xcbc1051e,0x803f26ea,0xf8455fed,0xeb372424,0x6badceab
-.long 0x6b53f5f9,0xa2a9ce7c,0x1b176d99,0x64246595,0xb95c081b,0xb1298d36,0x1d9a9ee6,0x53505bb8,0xf2ba70b0,0x3f6f9e61,0x8afad453,0xd07e16c9,0xe7eb4a6a,0x9f1694bb,0x3cb0bc8e,0xdfebced9
-.long 0x53868c8b,0x92d3dcdc,0x386107a6,0x174311a2,0x689b4e64,0x4109e07c,0x2df3dcb6,0x30e4587f,0x0811b3b2,0x841aea31,0x0cce43ea,0x6144d41d,0x2a9a7803,0x464c4581,0x3e158930,0xd03d371f
-.long 0xb1f3390b,0xc676d7f2,0xa5b61272,0x9f7a1b8c,0xc2e127a9,0x4ebebfc9,0x5dd997bf,0x4602500c,0x4711230f,0x7f09771c,0x020f09c1,0x058eb37c,0xfee5e38b,0xab693d4b,0x4653cbc0,0x9289eb1f
-.long 0xd51b9cf5,0xbecf46ab,0x9f0121af,0xd2aa9c02,0xe90dc274,0x36aaf7d2,0x48b95a3c,0x909e4ea0,0x6f32dbdb,0xe6b70496,0x8b030b3e,0x672188a0,0xcfb617e2,0xeeffe5b3,0x7c82709e,0x87e947de
-.long 0x1770f5a7,0xa44d2b39,0x0e44eb82,0xe4d4d791,0x3f69712a,0x42e69d1e,0xac6a820e,0xbf11c4d6,0x42c4224c,0xb5e7f3e5,0x449d941c,0xd6b4e81c,0x5450e878,0x5d72bd16,0xee25ac54,0x6a61e28a
-.long 0xe6f1cd95,0x33272094,0x0d18673f,0x7512f30d,0x5afc1464,0x32f7a4ca,0x6bbb977b,0x2f095656,0xa8226200,0x586f47ca,0x1ac07369,0x02c868ad,0xc613acbe,0x4ef2b845,0x0386054c,0x43d7563e
-.long 0xab952578,0x54da9dc7,0x26e84d0b,0xb5423df2,0x9b872042,0xa8b64eeb,0x5990f6df,0xac205782,0x21f4c77a,0x4ff696eb,0xaab273af,0x1a79c3e4,0x9436b3f1,0x29bc922e,0xd6d9a27a,0xff807ef8
-.long 0x778f22a0,0x82acea3d,0x5b5e7469,0xfb10b2e8,0x2818ee7d,0xc0b16980,0xc91c1a2f,0x011afff4,0xad124418,0x95a6d126,0xe72e295f,0x31c081a5,0xf2f4db75,0x36bb283a,0x7acef462,0xd115540f
-.long 0x33f6746c,0xc7f3a8f8,0xfea990ca,0x21e46f65,0xcaddb0a9,0x915fd5c5,0x78614555,0xbd41f016,0x426ffb58,0x346f4434,0x14dbc204,0x80559436,0x5a969b7f,0xf3dd20fe,0xe899a39a,0x9d59e956
-.long 0x8ad4cf4b,0xf1b0971c,0x2ffb8fb8,0x03448860,0x65340ba4,0xf071ac3c,0xb27fd758,0x408d0596,0x98c364b0,0xe7c78ea4,0x051e8ab5,0xa4aac4a5,0x485d9002,0xb9e1d560,0x88844455,0x9acd518a
-.long 0xd06f56c0,0xe4ca688f,0xdf027972,0xa48af70d,0x5e9a609d,0x691f0f04,0xee61270e,0xa9dd82cd,0xa0ef18d3,0x8903ca63,0x3d6ca3bd,0x9fb7ee35,0xabf47d03,0xa7b4a09c,0x1c67de8e,0x4cdada01
-.long 0x9355a244,0x52003749,0x4f2151a9,0xe77fd2b6,0x66b4efcb,0x695d6cf6,0xda2cfe25,0xc5a0cacf,0xef811865,0x104efe5c,0x9ea5cc3d,0xf52813e8,0x40b58dbc,0x855683dc,0x175fcb11,0x0338ecde
-.long 0x74921592,0xf9a05637,0xb9bb9d31,0xb4f1261d,0x4e9c5459,0x551429b7,0x6ea71f53,0xbe182e6f,0xdfc50573,0xd3a3b07c,0x62be8d44,0x9ba1afda,0x52ab65d3,0x9bcfd2cb,0xa9571802,0xdf11d547
-.long 0x02a2404a,0x099403ee,0x21088a71,0x497406f4,0x5004ae71,0x99479409,0xa812c362,0xbdb42078,0xd8828442,0x2b72a30f,0xfcb5ed1c,0x283add27,0x66a40015,0xf7c0e200,0x08b295ef,0x3e3be641
-.long 0xe038a675,0xac127dc1,0x8c5c6320,0x729deff3,0xa90d2c53,0xb7df8fd4,0x681e7cd3,0x9b74b0ec,0xdab407e5,0x5cb5a623,0x76b340c6,0xcdbd3615,0x7d28392c,0xa184415a,0xe96f7830,0xc184c1d8
-.long 0x81d3a80f,0xc3204f19,0xc8e02432,0xfde0c841,0x8149e0c1,0x78203b3e,0x08053a73,0x5904bdbb,0x101b6805,0x30fc1dd1,0x49aa6d49,0x43c223bc,0x7a174087,0x9ed67141,0xd5997008,0x311469a0
-.long 0x5e43fc61,0xb189b684,0xe0d3ab57,0xf3282375,0xb1181da8,0x4fa34b67,0x99ee52b8,0x621ed0b2,0xad990676,0x9b178de1,0x56d54065,0xd51de67b,0x7538c201,0x2a2c27c4,0x38a40f5c,0x33856ec8
-.long 0xbe6cdcde,0x2522fc15,0x9f0c6f89,0x1e603f33,0x103e30a6,0x7994edc3,0x220c853e,0x033a00db,0xf7bb7fd7,0xd3cfa409,0x462d18f6,0x70f8781e,0x687fe295,0xbbd82980,0x595669f3,0x6eef4c32
-.long 0x2f7e85c3,0x86a9303b,0x71988f9b,0x5fce4621,0xc138acb5,0x5b935bf6,0x25661212,0x30ea7d67,0xe51ab9a2,0xef1eb5f4,0xae067c78,0x0587c98a,0x77ca9ca6,0xb3ce1b3c,0x54b5f057,0x2a553d4d
-.long 0x4da29ec2,0xc7898236,0xb9c57316,0xdbdd5d13,0x2cd80d47,0xc57d6e6b,0xfe9e7391,0x80b460cf,0xf963c31e,0x98648cab,0xcc4d32fd,0x67f9f633,0xfdf7c687,0x0af42a9d,0x0b015ea7,0x55f292a3
-.long 0xcd21ab3d,0x89e468b2,0xc393d392,0xe504f022,0xa5013af9,0xab21e1d4,0xc2c28acb,0xe3283f78,0x226bf99f,0xf38b35f6,0x0e291e69,0xe8354274,0xb20c162d,0x61673a15,0xb04fbdbe,0xc101dc75
-.long 0x255bd617,0x8323b4c2,0x6c2a9154,0x6c969693,0x62679387,0xc6e65860,0xb8c88e23,0x8e01db0c,0x893a5559,0x33c42873,0x47a3e149,0x7630f04b,0xddcf35f8,0xb5d80805,0x77dfe732,0x582ca080
-.long 0x0b1894a0,0x2c7156e1,0xd81c68c0,0x92034001,0xc8b115b5,0xed225d00,0x83b907f2,0x237f9c22,0x4470e2c0,0x0ea2f32f,0x58be4e95,0xb725f7c1,0xb1ae5463,0x0f1dcafa,0x1ba2fc04,0x59ed5187
-.long 0xd0115d4d,0xf6e0f316,0xd3691599,0x5180b12f,0x527f0a41,0x157e32c9,0xa8e0ecc0,0x7b0b081d,0xbf4f0dd0,0x6dbaaa8a,0x4d252696,0x99b289c7,0xdbf864fe,0x79b7755e,0x76cad3ab,0x6974e2b1
-.long 0x06ddd657,0x35dbbee2,0x2ff3a96d,0xe7cbdd11,0x076be758,0x88381968,0x08c91f5d,0x2d737e72,0x86ec3776,0x5f83ab62,0x945fa7a1,0x98aa649d,0x72ef0933,0xf477ec37,0x098c17b1,0x66f52b1e
-.long 0xd803738b,0x9eec58fb,0xe4e86aa4,0x91aaade7,0xa5b51492,0x6b1ae617,0xbbc45974,0x63272121,0x862c5129,0x7e0e28f0,0x3321a4a0,0x0a8f79a9,0x5041c88f,0xe26d1664,0x53233e3a,0x0571b805
-.long 0xc9520711,0xd1b0ccde,0x3c8b84bf,0x55a9e4ed,0xa1fef314,0x9426bd39,0x6eb93f2b,0x4f5f638e,0x2bf9341b,0xba2a1ed3,0x4d42d5a9,0xd63c1321,0x316dc7c5,0xd2964a89,0xca511851,0xd1759606
-.long 0xf9e6ed35,0xd8a9201f,0x6736925a,0xb7b5ee45,0x99581af7,0x0a83fbbc,0x64eeb051,0x3076bc40,0x02dec312,0x5511c98c,0x238dcb78,0x270de898,0x539c08c9,0x2cf4cf9c,0x38d3b06e,0xa70cb65e
-.long 0xcfe57bbd,0xb12ec10e,0x35a0c2b5,0x82c7b656,0x161c67bd,0xddc7d5cd,0xae3a32cc,0xe32e8985,0xd11a5529,0x7aba9444,0x2427fa1a,0xe964ed02,0x24a1770a,0x1528392d,0x12c72fcd,0xa152ce2c
-.long 0x8ec07649,0x714553a4,0x459dd453,0x18b4c290,0x7b64b110,0xea32b714,0x2e6f07a2,0xb871bfa5,0x9e2e3c9b,0xb67112e5,0x44aa90f6,0xfbf250e5,0xbd539006,0xf77aedb8,0xd172a66f,0x3b0cdf9a
-.long 0xf8c51187,0xedf69fea,0x741e4da7,0x05bb67ec,0x08114345,0x47df0f32,0xbb9792b1,0x56facb07,0x8f6229e4,0xf3e007e9,0x526fba0f,0x62d103f4,0xb0339d79,0x4f33bef7,0xb59bfec1,0x9841357b
-.long 0xc34e6705,0xfa8dbb59,0x7fdaa84c,0xc3c7180b,0xa4108537,0xf95872fc,0x932a3e5a,0x8750cc3b,0xb7275d7d,0xb61cc69d,0x2e59b2e9,0xffa0168b,0x6ecbb493,0xca032abc,0x2c9082d8,0x1d86dbd3
-.long 0xe28ef5ba,0xae1e0b67,0xcb18e169,0x2c9a4699,0x1e6bbd20,0x0ecd0e33,0xaf5e81d2,0x571b360e,0x101c1d45,0xcd9fea58,0x18880452,0x6651788e,0x1f8dd446,0xa9972635,0xe37281d0,0x44bed022
-.long 0x33da525d,0x094b2b2d,0x13144fd8,0xf193678e,0xf4c1061d,0xb8ab5ba4,0xdccbe0f4,0x4343b5fa,0x63812713,0xa8702371,0xf7611d93,0x47bf6d2d,0xbd21e1d7,0x46729b8c,0xd629e77d,0x7484d4e0
-.long 0x60dbac1f,0x830e6eea,0xda06a2f7,0x23d8c484,0x50ca535b,0x896714b0,0xebd97a9b,0xdc8d3644,0xb12177b4,0x106ef9fa,0x534d5d9c,0xf79bf464,0xa6ab360b,0x2537a349,0xa00c744f,0xc7c54253
-.long 0xe5911a76,0xb3c7a047,0x647f1ee7,0x61ffa5c8,0x8f56ab42,0x15aed36f,0xa3ff9ac9,0x6a0d41b0,0xcc30d357,0x68f469f5,0x6b72be96,0xbe9adf81,0x903ad461,0x1cd926fe,0xcaca441b,0x7e89e38f
-.long 0xfacf69d4,0xf0f82de5,0x4775344c,0x363b7e76,0xb2e36d04,0x6894f312,0x11d1c9a5,0x3c6cb4fe,0x4008e1f2,0x85d9c339,0x249f326c,0x5e9a85ea,0x678c5e06,0xdc35c60a,0x9f86fba9,0xc08b944f
-.long 0x89f71f0f,0xde40c02c,0xff3da3c0,0xad8f3e31,0x42125ded,0x3ea5096b,0xa7379183,0x13879cbf,0x6b306a0b,0x6f4714a5,0x67646c5e,0x359c2ea6,0x07726368,0xfacf8943,0x65ff431e,0x07a58935
-.long 0x68754ab0,0x24d661d1,0x6f429a76,0x801fce1d,0xa58ce769,0xc068a85f,0x5d5eca2b,0xedc35c54,0xa3f660d1,0xea31276f,0xb8fc7167,0xa0184ebe,0x1d8db0ae,0x0f20f21a,0x56c35e12,0xd96d095f
-.long 0xf8c2a25b,0xedf402b5,0x059204b6,0x1bb772b9,0x19b4e34c,0x50cbeae2,0x3fa0845a,0x93109d80,0x8ef59fb5,0x54f7ccf7,0x88070963,0x3b438fe2,0x31f3ba9b,0x9e28c659,0xead9da92,0x9cc31b46
-.long 0xb733aa5f,0x3c2f0ba9,0xf05af235,0xdece47cb,0xa2ac82a5,0xf8e3f715,0x2203f18a,0xc97ba641,0x09c11060,0xc3af5504,0x46af512d,0x56ea2c05,0xf3f28146,0xfac28daf,0x959ef494,0x87fab43a
-.long 0xd4c5105f,0x09891641,0x6d7fbd65,0x1ae80f8e,0xbee6bdb0,0x9d67225f,0x7fc4d860,0x3b433b59,0x93e85638,0x44e66db6,0xe3e9862f,0xf7b59252,0x665c32ec,0xdb785157,0xae362f50,0x702fefd7
-.long 0x0fefb0c3,0x3754475d,0x46d7c35d,0xd48fb56b,0x363798a4,0xa070b633,0x8fdb98e6,0xae89f3d2,0x6363d14c,0x970b89c8,0x67abd27d,0x89817521,0x44d5a021,0x9bf7d474,0xcac72aee,0xb3083baf
-.long 0xbe949a44,0x389741de,0x546a4fa5,0x638e9388,0xa0047bdc,0x3fe6419c,0xaaea57ca,0x7047f648,0x41fbab17,0x54e48a90,0x576bdba2,0xda8e0b28,0xc72afddc,0xe807eebc,0xf42577bf,0x07d3336d
-.long 0xbfe20925,0x62a8c244,0x8fdce867,0x91c19ac3,0xdd387063,0x5a96a5d5,0x21d324f6,0x61d587d4,0xa37173ea,0xe87673a2,0x53778b65,0x23848008,0x05bab43e,0x10f8441e,0x4621efbe,0xfa11fe12
-.long 0x81685d7b,0x047b772e,0xbf34a976,0x23f27d81,0x915f48ef,0xc27608e2,0xa521d5c3,0x3b0b43fa,0x63ca7284,0x7613fb26,0x1d4db837,0x7f5729b4,0x583b526b,0x87b14898,0xbbadd3d1,0x00b732a6
-.long 0x2048e396,0x8e02f426,0x383d9de4,0x436b50b6,0x471e85ad,0xf78d3481,0xd005c8d6,0x8b01ea6a,0x97015c07,0xd3c7afee,0x4e3ba2ae,0x46cdf1a9,0x83d3a1d2,0x7a42e501,0xb541dff4,0xd54b5268
-.long 0x4e23e9bc,0x3f24cf30,0x126e3624,0x4387f816,0x3b0b6d61,0x26a46a03,0x8b2d777c,0xaf1bc845,0x527de79c,0x25c401ba,0x4261bbb6,0x0e1346d4,0x287b4bc7,0x4b96c44b,0x5254562f,0x658493c7
-.long 0xb8a24a20,0x23f949fe,0xf52ca53f,0x17ebfed1,0xbcfb4853,0x9b691bbe,0x6278a05d,0x5617ff6b,0xe3c99ebd,0x241b34c5,0x1784156a,0xfc64242e,0x695d67df,0x4206482f,0xee27c011,0xb967ce0e
-.long 0x21c80b5d,0x65db3751,0xa31ecca0,0x2e7a563c,0x5238a07e,0xe56ffc4e,0x32ced854,0x3d6c2966,0xaf70b885,0xe99d7d1a,0x2d686459,0xafc3bad9,0x0cc8ba5b,0x9c78bf46,0x18955aa3,0x5a439519
-.long 0x5fe4e314,0xf8b517a8,0xfcb8906f,0xe60234d0,0xf2061b23,0xffe542ac,0x6b4cb59c,0x287e191f,0x09d877d8,0x21857ddc,0x14678941,0x1c23478c,0xb6e05ea4,0xbbf0c056,0xb01594fe,0x82da4b53
-.long 0xfadb8608,0xf7526791,0x7b74cdf6,0x049e832d,0xc2b90a34,0xa43581cc,0x9360b10c,0x73639eb8,0xe1e4a71b,0x4fba331f,0x8072f919,0x6ffd6b93,0x65679032,0x6e53271c,0xf14272ce,0x67206444
-.long 0xb2335834,0xc0f734a3,0x90ef6860,0x9526205a,0x04e2bb0d,0xcb8be717,0x02f383fa,0x2418871e,0x4082c157,0xd7177681,0x29c20073,0xcc914ad0,0xe587e728,0xf186c1eb,0x61bcd5fd,0x6fdb3c22
-.long 0xf2f9f8e9,0x30d014a6,0x4fec49d2,0x963ece23,0x9605a8d9,0x862025c5,0x19f8929a,0x39874445,0x12bf476a,0x01b6ff65,0x09cf7d91,0x598a64d8,0x93be56ca,0xd7ec7749,0xcbb33615,0x10899785
-.long 0x02eee3ad,0xb8a092fd,0x30145270,0xa86b3d35,0x8512b675,0x323d98c6,0x62ebb40f,0x4b8bc785,0x413f9cde,0x7d301f54,0x2bab5664,0xa5e4fb4f,0x1cbfec23,0x1d2b252d,0xe177120d,0xfcd576bb
-.long 0x83731a34,0x04427d3e,0xed836e8e,0x2bb9028e,0xb612ca7c,0xb36acff8,0xd3d9c73a,0xb88fe5ef,0xedea4eb3,0xbe2a6bc6,0x488eec77,0x43b93133,0xb17106e1,0xf41ff566,0x654efa32,0x469e9172
-.long 0x41c23fa3,0xb4480f04,0xc1989a2e,0xb4712eb0,0x93a29ca7,0x3ccbba0f,0xd619428c,0x6e205c14,0xb3641686,0x90db7957,0x45ac8b4e,0x0432691d,0xf64e0350,0x07a759ac,0x9c972517,0x0514d89c
-.long 0xa8e67fc3,0x1701147f,0xab2085be,0x9e2e0b8b,0xac284e57,0xd5651824,0x74893664,0x890d4325,0xc55e68a3,0x8a7c5e6e,0x4339c85a,0xbf12e90b,0xf922b655,0x31846b85,0x0bf4d700,0x9a54ce4d
-.long 0xf1a14295,0xd7f4e83a,0xb285d4f9,0x916f955c,0x99ffdaba,0xe57bb0e0,0xeab0d152,0x28a43034,0xb8a9cef8,0x0a36ffa2,0xb9ec051a,0x5517407e,0xea68e672,0x9c796096,0xfb3c77fb,0x853db5fb
-.long 0xe864a51a,0x21474ba9,0x6e8a1b8b,0x6c267699,0x94120a28,0x7c823626,0x8383a5db,0xe61e9a48,0x9f84216d,0x7dd75003,0xad43cd85,0xab020d07,0xda12c659,0x9437ae48,0xe65452ad,0x6449c2eb
-.long 0x2cf9d7c1,0xcc7c4c1c,0xee95e5ab,0x1320886a,0xbeae170c,0xbb7b9056,0xdbc0d662,0xc8a5b250,0xc11d2303,0x4ed81432,0x1f03769f,0x7da66912,0x84539828,0x3ac7a5fd,0x3bccdd02,0x14dada94
-.long 0x7ef6b0d1,0x8b84c321,0x7c933f22,0x52a9477a,0xfd440b82,0x5ef6728a,0x6ce4bd5e,0x5c3bd859,0xf22c2d3e,0x918b80f5,0xb7bb6cc5,0x368d5040,0x2695a11c,0xb66142a1,0xeb19ea70,0x60ac583a
-.long 0x0eab2437,0x317cbb98,0x5e2654c8,0x8cc08c55,0xe6d8307f,0xfe2d6520,0x57428993,0xe9f147f3,0xd2fd6cf1,0x5f9c7d14,0x2d4fcbb0,0xa3ecd064,0x8e7341f7,0xad83fef0,0x3a63115c,0x643f23a0
-.long 0xe65ab743,0xd38a78ab,0x35edc89c,0xbf7c75b1,0x530df568,0x3dd8752e,0xe308c682,0xf85c4a76,0xe68acf37,0x4c9955b2,0xab32af85,0xa544df3d,0xa25cf493,0x4b8ec3f5,0x1a622feb,0x4d8f2764
-.long 0xf0dcbc49,0x7bb4f7aa,0x70bbb45b,0x7de551f9,0x9f2ca2e5,0xcfd0f3e4,0x1f5c76ef,0xece58709,0x167d79ae,0x32920edd,0xfa7d7ec1,0x039df8a2,0xbb30af91,0xf46206c0,0x22676b59,0x1ff5e2f5
-.long 0x6ea51d66,0x11f4a039,0x807d7a26,0x506c1445,0x755a9b24,0x60da5705,0x1f1a319e,0x8fc8cc32,0x9433d67d,0x83642d4d,0x6a7dd296,0x7fa5cb8f,0x9b7bde07,0x576591db,0x419716fb,0x13173d25
-.long 0xd5b340ff,0xea30599d,0xb0fe76c5,0xfc6b5297,0xab8f5adc,0x1c6968c8,0x901c928d,0xf723c7f5,0x9773d402,0x4203c321,0x1b51dd47,0xdf7c6aa3,0x552be23c,0x3d49e37a,0x0b5a6e87,0x57febee8
-.long 0x7bd8e739,0xc5ecbee4,0xae63bf75,0x79d44994,0x38fb8923,0x168bd00f,0xd0533130,0x75d48ee4,0xdb5cdf33,0x554f77aa,0x3c696769,0x3396e896,0xd3fd674e,0x2fdddbf2,0x99d0e3e5,0xbbb8f6ee
-.long 0xcbae2f70,0x51b90651,0x93aaa8eb,0xefc4bc05,0xdd1df499,0x8ecd8689,0x22f367a5,0x1aee99a8,0xae8274c5,0x95d485b9,0x7d30b39c,0x6c14d445,0xbcc1ef81,0xbafea90b,0xa459a2ed,0x7c5f317a
-.long 0x4ef44227,0x01211075,0xdc20f496,0xa17bed6e,0x819853cd,0x0cdfe424,0xf71e2ce7,0x13793298,0xdbbe307b,0x3c1f3078,0x76ee9936,0x6dd1c20e,0x423caa20,0x23ee4b57,0x8efb840e,0x4ac3793b
-.long 0xed1f8ca0,0x934438eb,0x4ebb25a2,0x3e546658,0xc069896f,0xc415af0e,0x9a5aa43d,0xc13eddb0,0xd49eb8f6,0x7a04204f,0xd74f1670,0xd0d5bdfc,0x56fc0558,0x3697e286,0x01cebade,0x10207371
-.long 0x0647a82b,0x5f87e690,0x8f40054f,0x908e0ed4,0x79853803,0xa9f633d4,0x4a28b252,0x8ed13c9a,0x1f460f64,0x3e2ef676,0x36d06336,0x53930b9b,0x8fc4979b,0x347073ac,0x5ecd5597,0x84380e0e
-.long 0xc4fe3c39,0xe3b22c6b,0x6c7bebdf,0xba4a8153,0x25693459,0xf23ab6b7,0x14922b11,0x53bc3770,0x5afc60db,0x4645c8ab,0x20b9f2a3,0xaa022355,0xce0fc507,0x52a2954c,0x7ce1c2e7,0x8c2731bb
-.long 0x18a0339d,0xf39608ab,0x3735436c,0xac7a658d,0xcd992b4f,0xb22c2b07,0xf40dcfd4,0x4e83daec,0x2f39ea3e,0x8a34c7be,0xb0a56d2e,0xef0c005f,0x6edd8038,0x62731f6a,0x4e3cb075,0x5721d740
-.long 0xfbeeee1b,0x1ea41511,0xef1d0c05,0xd1ef5e73,0x73c07d35,0x42feefd1,0x8a329493,0xe530a00a,0xf15ebfb0,0x5d55b7fe,0xd322491a,0x549de03c,0x745b3237,0xf7b5f602,0x1ab6e2b6,0x3632a3a2
-.long 0x0ef59f78,0x0d3bba89,0xc9e52b9a,0x0dfc6443,0x72631447,0x1dc79699,0xb3be20b1,0xef033917,0xb1383948,0x0c92735d,0xc0dd7d7d,0xc1fc29a2,0x403ed068,0x6485b697,0xaac93bdc,0x13bfaab3
-.long 0x0deeaf52,0x410dc6a9,0x4c641c15,0xb003fb02,0x5bc504c4,0x1384978c,0x864a6a77,0x37640487,0x222a77da,0x05991bc6,0x5e47eb11,0x62260a57,0xf21b432c,0xc7af6613,0xab4953e9,0x22f3acc9
-.long 0x8e41d155,0x52934922,0x3ac059ef,0x4d024568,0x4d884411,0xb0201755,0xa59a178f,0xce8055cf,0xf6204549,0xcd77d1af,0xc7066759,0xa0a00a3e,0x0272c229,0x471071ef,0xd3c4b6b0,0x009bcf6b
-.long 0x22305177,0x2a2638a8,0x41645bbf,0xd51d59df,0xc0a7a3c0,0xa81142fd,0x4c7063ee,0xa17eca6d,0x60d9dcec,0x0bb887ed,0x20ad2455,0xd6d28e51,0xa67102ba,0xebed6308,0x8bffa408,0x042c3114
-.long 0x8aa68e30,0xfd099ac5,0x1483513e,0x7a6a3d7c,0xba2d8f0c,0xffcc6b75,0x1e78b954,0x54dacf96,0xa4a9af89,0xf645696f,0x06ac98ec,0x3a411940,0x22a67a20,0x41b8b3f6,0x99dec626,0x2d0b1e0f
-.long 0x40be34e8,0x27c89192,0x91907f35,0xc7162b37,0xa956702b,0x90188ec1,0xdf93769c,0xca132f7d,0x0e2025b4,0x3ece44f9,0x0c62f14c,0x67aaec69,0x22e3cc11,0xad741418,0x7ff9a50e,0xcf9b75c3
-.long 0x4d348272,0x02fa2b16,0x9959d56d,0xbd99d61a,0x18762916,0xbc4f19db,0x49c1ac80,0xcc7cce50,0xd846bd83,0x4d59ebaa,0xa9202849,0x8775a9dc,0x6e1f4ca9,0x07ec4ae1,0xba893f11,0x27eb5875
-.long 0x662cc565,0x00284d51,0x0db4138d,0x82353a6b,0xaa32a594,0xd9c7aaaa,0xa5669c47,0xf5528b5e,0x2f23c5ff,0xf3220231,0x6affa3a1,0xe3e8147a,0x202ddda0,0xfb423d5c,0x6b871bd4,0x3d6414ac
-.long 0xa51a168a,0x586f82e1,0x48ae5448,0xb712c671,0x76233eb8,0x9a2e4bd1,0x78811ca9,0x0188223a,0xf7c18de1,0x553c5e21,0xb27bb286,0x7682e451,0x0e51e929,0x3ed036b3,0xec9cb34f,0xf487211b
-.long 0x0c24efc8,0x0d094277,0xbef737a4,0x0349fd04,0x514cdd28,0x6d1c9dd2,0x30da9521,0x29c135ff,0xf78b0b6f,0xea6e4508,0x678c143c,0x176f5dd2,0x4be21e65,0x08148418,0xe7df38c4,0x27f7525c
-.long 0x748ab1a4,0x1fb70e09,0x5efe4433,0x9cba50a0,0x15f75af2,0x7846c7a6,0x5ee73ea8,0x2a7c2c57,0x3f0a449a,0x42e566a4,0xad90fc3d,0x45474c3b,0x8b61d057,0x7447be3d,0x3a4ec092,0x3e9d1cf1
-.long 0xf380a6e6,0x1603e453,0x9b1437c2,0x0b86e431,0xef29610a,0x7a4173f2,0xf03d57f7,0x8fa729a7,0x6c9c217e,0x3e186f6e,0x91919524,0xbe1d3079,0x153d4fb1,0x92a62a70,0xd68c2f71,0x32ed3e34
-.long 0x9eb1a8b7,0xd785027f,0xc5b22fe8,0xbc37eb77,0xb9d6a191,0x466b34f0,0x9a05f816,0x008a89af,0x7d42c10a,0x19b028fb,0x49b3f6b8,0x7fe8c92f,0xa5a0ade3,0x58907cc0,0x559d1a7c,0xb3154f51
-.long 0xd9790ed6,0x5066efb6,0xa6aa793b,0xa77a0cbc,0x223e042e,0x1a915f3c,0x69c5874b,0x1c5def04,0x73b6c1da,0x0e830078,0xfcd8557a,0x55cf85d2,0x0460f3b1,0x0f7c7c76,0x46e58063,0x87052acb
-.long 0x907eae66,0x09212b80,0x4d721c89,0x3cb068e0,0xdd45ac1c,0xa87941ae,0x0daa0dbb,0xde8d5c0d,0xe3502e6e,0xda421fdc,0x4d89a084,0xc8944201,0xf0c24bfb,0x7307ba5e,0x20bde0ef,0xda212beb
-.long 0xf82ce682,0xea2da24b,0x07f71fe4,0x058d3816,0x5ffad8de,0x35a02462,0xaadcefab,0xcd7b05dc,0x1d9f54ec,0xd442f8ed,0xb2d3b5ca,0x8be3d618,0xe06b2ce2,0xe2220ed0,0x1b0da4c0,0x82699a5f
-.long 0x71c0c3a7,0x3ff106f5,0x0d34180c,0x8f580f5a,0x22d7d375,0x4ebb120e,0xe9513675,0x5e5782cc,0x99c82a70,0x2275580c,0x15ea8c4c,0xe8359fbf,0x7b415e70,0x53b48db8,0x100c6014,0xaacf2240
-.long 0xe4652f1d,0x9faaccf5,0xd56157b2,0xbd6fdd2a,0x6261ec50,0xa4f4fb1f,0x476bcd52,0x244e55ad,0x047d320b,0x881c9305,0x6181263f,0x1ca983d5,0x278fb8ee,0x354e9a44,0x396e4964,0xad2dbc0f
-.long 0x9268b3de,0x723f3aa2,0xe6e0609a,0x0d1ca29a,0x6cf44252,0x794866aa,0x01af87ed,0x0b59f3e3,0x7f4a6c51,0xe234e5ff,0x61dc2f7e,0xa8768fd2,0x0a94d81f,0xdafc7332,0x06938ce1,0xd7f84282
-.long 0x0546063e,0xae0b3c0e,0x5d61abc6,0x7fbadcb2,0x369ac400,0xd5d7a2c9,0xae67d10c,0xa5978d09,0x4f85eaac,0x290f211e,0xfacac681,0xe61e2ad1,0x388384cd,0xae125225,0xccfde30f,0xa7fb68e9
-.long 0x3daed4c2,0x7a59b936,0x2606f789,0x80a9aa40,0xf6a6d90a,0xb40c1ea5,0x514d5885,0x948364d3,0x70985182,0x062ebc60,0x33310895,0xa6db5b0e,0xe329c2f5,0x64a12175,0x90ea237e,0xc5f25bd2
-.long 0x2d0a4c23,0x7915c524,0x6bb3cc52,0xeb5d26e4,0xc09e2c92,0x369a9116,0xcf182cf8,0x0c527f92,0x2aede0ac,0x9e591938,0x6cc34939,0xb2922208,0x99a34361,0x3c9d8962,0xc1905fe6,0x3c81836d
-.long 0xa001ec5a,0x4bfeb57f,0xa0dc5dba,0xe993f5bb,0x724a1380,0x47884109,0x32fe9a04,0x8a0369ab,0x8c927db8,0xea068d60,0x94655741,0xbf5f37cf,0x04b6c7ea,0x47d402a2,0x6af259cb,0x4551c295
-.long 0xed77ee8b,0x698b71e7,0xf309d5c7,0xbddf7bd0,0x34e780ca,0x6201c22c,0x4c295ef4,0xab04f7d8,0x4313a8ce,0x1c947294,0x92ca4cfe,0xe532e4ac,0xd0a7a97a,0x89738f80,0xa580fd5b,0xec088c88
-.long 0x42ce9e51,0x612b1ecc,0xb25fdd2a,0x8f9840fd,0x01e7f839,0x3cda78c0,0xece05480,0x546b3d3a,0x80d30916,0x271719a9,0x584c20c4,0x45497107,0x5bc78608,0xaf8f9478,0x277e2a4c,0x28c7d484
-.long 0x88a2ffe4,0xfce01767,0x28e169a5,0xdc506a35,0x7af9c93a,0x0ea10861,0x03fa0e08,0x1ed24361,0xa3d694e7,0x96eaaa92,0xef50bc74,0xc0f43b4d,0x64114db4,0xce6aa58c,0x7c000fd4,0x8218e8ea
-.long 0x185f8844,0xac815dfb,0x1557abfb,0xcd7e90cb,0xafbfecdf,0x23d16655,0x085cac4a,0x80f3271f,0xd0e62f47,0x7fc39aa7,0x460a48e5,0x88d519d1,0xd28f101e,0x59559ac4,0xca9ae816,0x7981d9e9
-.long 0x9ac38203,0x5c38652c,0x57657fe5,0x86eaf87f,0xe21f5416,0x568fc472,0xe7e597b5,0x2afff39c,0x256d4eab,0x3adbbb07,0x8285ab89,0x22598692,0x041caefe,0x35f8112a,0xa5064c8b,0x95df02e3
-.long 0xc7004bf3,0x4d63356e,0xdb83c7de,0x230a08f4,0x8709a7b7,0xca27b270,0xcb9abd2d,0x0d1c4cc4,0x7550fee8,0x8a0bc66e,0x9cf7247e,0x369cd4c7,0x92b5b7e7,0x75562e84,0x5802af7b,0x8fed0da0
-.long 0xe48fb889,0x6a7091c2,0x7b8a9d06,0x26882c13,0x1b82a0e2,0xa2498663,0x3518152d,0x844ed736,0xd86e27c7,0x282f476f,0x04afefdc,0xa04edaca,0x6119e34d,0x8b256ebc,0x0787d78b,0x56a413e9
-.long 0x5a74be50,0x82ee061d,0xdea16ff5,0xe41781c4,0x99bfc8a2,0xe0b0c81e,0x0b547e2d,0x624f4d69,0xbdcc9ae4,0x3a83545d,0x409b1e8e,0x2573dbb6,0xa6c93539,0x482960c4,0x5ae18798,0xf01059ad
-.long 0x3112795f,0x715c9f97,0x984e6ee1,0xe8244437,0xecb66bcd,0x55cb4858,0xabaffbee,0x7c136735,0x5dbec38e,0x54661595,0x388ad153,0x51c0782c,0xc6e0952f,0x9ba4c53a,0x1b21dfa8,0x27e6782a
-.long 0x4ed2dbc2,0x682f903d,0x7c3b2d83,0x0eba59c8,0x9c7e9335,0x8e9dc84d,0x0eb226d7,0x5f9b21b0,0xaf267bae,0xe33bd394,0xbe2e15ae,0xaa86cc25,0x6a8ec500,0x4f0bf67d,0xf9630658,0x5846aa44
-.long 0xe2c2bf15,0xfeb09740,0xa9e99704,0x627a2205,0xc2fbc565,0xec8d73d0,0xc20c8de8,0x223eed8f,0xa8363b49,0x1ee32583,0xc9c2b0a6,0x1a0b6cb9,0x90dbc85c,0x49f7c3d2,0x1ef4c1ac,0xa8dfbb97
-.long 0x65c7c2ab,0xafb34d4c,0xe2c5ea84,0x1d4610e7,0x973c4ab5,0x893f6d1b,0x945ba5c4,0xa3cdd7e9,0x064417ee,0x60514983,0xad6bdf2b,0x1459b23c,0x5cf726c3,0x23b2c341,0x32d6354a,0x3a829635
-.long 0xab192c18,0x294f901f,0x7030164f,0xec5fcbfe,0xe2246ba6,0xe2e2fcb7,0x221a1a0c,0x1e7c88b3,0xc92d88c5,0x72c7dd93,0x1106fb59,0x41c2148e,0xa0f60f14,0x547dd4f5,0x63960f31,0xed9b52b2
-.long 0xb0a5b358,0x6c8349eb,0x9e7e2ed6,0xb154c5c2,0xeda462db,0xcad5eccf,0x2de66b69,0xf2d6dbe4,0x8665e5b2,0x426aedf3,0x7b7f5723,0x488a8513,0x8bcbb386,0x15cc43b3,0xd791d879,0x27ad0af3
-.long 0x846e364f,0xc16c236e,0xdea50ca0,0x7f33527c,0x0926b86d,0xc4810775,0x0598e70c,0x6c2a3609,0xf024e924,0xa6755e52,0x9db4afca,0xe0fa07a4,0x66831790,0x15c3ce7d,0xa6cbb0d6,0x5b4ef350
-.long 0xb6205969,0x2c4aafc4,0xf6c7854f,0x42563f02,0x1d983b48,0x016aced5,0x99949755,0xfeb356d8,0xd1a39bd7,0x8c2a2c81,0xe6934ae9,0x8f44340f,0x447904da,0x148cf91c,0x0f51a926,0x7340185f
-.long 0x7409ab46,0x2f8f00fb,0x80e289b2,0x057e78e6,0xa888e5d1,0x03e5022c,0x9dede4e2,0x3c87111a,0x7809460b,0x5b9b0e1c,0x71c9abc7,0xe751c852,0xc7cc1dc9,0x8b944e28,0x1d3cfa08,0x4f201ffa
-.long 0x3e6721ce,0x02fc905c,0xd0b3674c,0xd52d70da,0x18810da4,0x5dc2e5ca,0x5c69dd99,0xa984b273,0x84de5ca4,0x63b92527,0xc852dec4,0x2f1c9872,0xc2e3de09,0x18b03593,0x9813dc2f,0x19d70b01
-.long 0xa6dc1d29,0x42806b2d,0xf871e144,0xd3030009,0xaaf49276,0xa1feb333,0xc70bc04b,0xb5583b9e,0x95695f20,0x1db0be78,0x89d012b5,0xfc841811,0x05f61643,0x6409f272,0xd5883128,0x40d34174
-.long 0x67419833,0xd79196f5,0x863b7b08,0x6059e252,0x1c56700c,0x84da1817,0xb28d3ec4,0x5758ee56,0x013b0ea6,0x7da2771d,0x54c5e9b9,0xfddf524b,0x24305d80,0x7df4faf8,0x3a97763f,0x58f5c1bf
-.long 0x7c696042,0xa5af37f1,0x4a2538de,0xd4cba22c,0x9ea42600,0x211cb995,0x7b069889,0xcd105f41,0xddb81e74,0xb1e1cf19,0x5157b8ca,0x472f2d89,0xee9db885,0x086fb008,0x0f26d131,0x365cd570
-.long 0xa2be7053,0x284b02bb,0x7ab9a6d6,0xdcbbf7c6,0x20f7a530,0x4425559c,0x188767c8,0x961f2dfa,0x70dc80c4,0xe2fd9435,0xf0784120,0x104d6b63,0x53567122,0x7f592bc1,0xf688ad77,0xf6bc1246
-.long 0x0f15dde9,0x05214c05,0x0d5f2b82,0xa47a76a8,0x62e82b62,0xbb254d30,0x3ec955ee,0x11a05fe0,0x9d529b36,0x7eaff46e,0x8f9e3df6,0x55ab1301,0x99317698,0xc463e371,0xccda47ad,0xfd251438
-.long 0x23d695ea,0xca9c3547,0x16e589b5,0x48ce626e,0xb187d086,0x6b5b64c7,0xb2207948,0xd02e1794,0x7198111d,0x8b58e98f,0xdcf9c3cc,0x90ca6305,0xf34089b0,0x5691fe72,0xfc7c80ff,0x60941af1
-.long 0x22eb51e5,0xa09bc0a2,0xaa9cf09a,0xc0bb7244,0x80159f06,0x36a8077f,0xdddc560e,0x8b5c989e,0x512e1f43,0x19d2f316,0xad08ff62,0x02eac554,0x07d20b4e,0x012ab84c,0xd6d4e4e1,0x37d1e115
-.long 0xab7b19a8,0xb6443e1a,0xdef8cd45,0xf08d067e,0x685e03da,0x63adf3e9,0x4792b916,0xcf15a10e,0xb738a425,0xf44bcce5,0x9636b2fd,0xebe131d5,0x7850d605,0x94068841,0xb40d749d,0x09684eaa
-.long 0x72ba075b,0x8c3c669c,0xba469015,0x89f78b55,0x3e9f8ba8,0x5706aade,0xb32d7ed7,0x6d8bd565,0x805f08d6,0x25f4e63b,0xc3bcc1b5,0x7f48200d,0xb025d847,0x4e801968,0x87cbe0a8,0x74afac04
-.long 0x7e63d690,0x43ed2c2b,0x0223cdb8,0xefb6bbf0,0x2884d3fe,0x4fec3cae,0xd75e25a4,0x065ecce6,0x69f79071,0x6c2294ce,0x044b8666,0x0d9a8e5f,0x17b69d8f,0x5009f238,0xc5dfdaf7,0x3c29f8fe
-.long 0xebae68c4,0x9067528f,0x30c5ba21,0x5b385632,0x1fdd1aec,0x540df119,0xcfba4c78,0xcf37825b,0xbeb11454,0x77eff980,0x60c1b066,0x40a1a991,0xf889a1c7,0xe8018980,0x76c24be0,0xb9c52ae9
-.long 0x45650ef4,0x05fbbcce,0x8aa29ac7,0xae000f10,0x4f04c470,0x884b7172,0x19bb5c25,0x7cd4fde2,0xe8840869,0x6477b22a,0x5fbd0686,0xa8868859,0x1116dfba,0xf23cc02e,0xd87d7776,0x76cd563f
-.long 0xa9d82abf,0xe2a37598,0xe6c170f5,0x5f188ccb,0x5066b087,0x81682200,0xc7155ada,0xda22c212,0xfbddb479,0x151e5d3a,0x6d715b99,0x4b606b84,0xf997cb2e,0x4a73b54b,0x3ecd8b66,0x9a1bfe43
-.long 0x2a67d48a,0x1c312809,0x031fa9e2,0xcd6a671e,0x0e43a34a,0xbec3312a,0x55ef47d3,0x1d935639,0x8fea73ea,0x5ea02489,0xa035afb2,0x8247b364,0x5265b54c,0xb58300a6,0x722c7148,0x3286662f
-.long 0xb4ec4c20,0xb77fd76b,0x0f3fe3fd,0xf0a12fa7,0x41d8c7e8,0xf845bbf5,0x5ec10aa8,0xe4d969ca,0x43e232a3,0x4c0053b7,0x37f8a45a,0xdc7a3fac,0x20d81c8f,0x3c4261c5,0xb00eab00,0xfd4b3453
-.long 0xd36e3062,0x76d48f86,0xa143ff02,0x626c5277,0xaf76f42e,0x538174de,0x6407ceac,0x2267aa86,0x72e572d5,0xfad76351,0xba7330eb,0xab861af7,0x418d8657,0xa0a1c8c7,0x20289a52,0x988821cb
-.long 0xcccc18ad,0x79732522,0xf1a6e027,0xaadf3f8d,0x17c2354d,0xf7382c93,0xd818b689,0x5ce1680c,0xd9ecbee9,0x359ebbfc,0x1cae62ac,0x4330689c,0xc51ac38a,0xb55ce5b4,0xfe238ee8,0x7921dfea
-.long 0x271d1ca5,0x3972bef8,0xe8aabd18,0x3e423bc7,0x44a3e5e3,0x57b09f3f,0x7b444d66,0x5da886ae,0xa9964375,0x68206634,0x699cd0ff,0x356a2fa3,0xdba515e9,0xaf0faa24,0xb321d79a,0x536e1f5c
-.long 0x5c04e4ea,0xd3b9913a,0xd6f11513,0xd549dcfe,0x79fd1d94,0xee227bf5,0xb43f2c67,0x9f35afee,0xf1314f53,0xd2638d24,0xcabcd822,0x62baf948,0x4ef48db0,0x5542de29,0xfc5f6bb2,0xb3eb6a04
-.long 0x1208e16a,0x23c110ae,0xf8363e24,0x1a4d15b5,0x164be00b,0x30716844,0xf6f4690d,0xa8e24824,0x90b170cf,0x548773a2,0x42f191f4,0xa1bef331,0x9247aa97,0x70f418d0,0x48be9147,0xea06028e
-.long 0xdbfb894e,0xe13122f3,0xce274b18,0xbe9b79f6,0xca58aadf,0x85a49de5,0x11487351,0x24957758,0xbb939099,0x111def61,0x26d13694,0x1d6a974a,0xd3fc253b,0x4474b4ce,0x4c5db15e,0x3a1485e6
-.long 0x147c15b4,0xe79667b4,0x7bc61301,0xe34f553b,0x17094381,0x032b80f8,0x723eaa21,0x55d8bafd,0xf1c0e74e,0x5a987995,0xebba289c,0x5a9b292e,0xeb4c8251,0x413cd4b2,0xd162db0a,0x98b5d243
-.long 0x68342520,0xbb47bf66,0xbaa862d1,0x08d68949,0xe906abcd,0x11f349c7,0xed7bf00e,0x454ce985,0xb55b803b,0xacab5c9e,0x31e3c16d,0xb03468ea,0xd273bf12,0x5c24213d,0x71587887,0x211538eb
-.long 0x731dea2d,0x198e4a2f,0x74ed7b2a,0xd5856cf2,0x13a664fe,0x86a632eb,0xbda41291,0x932cd909,0xc0c4ddc0,0x850e95d4,0x347fc2c9,0xc0f422f8,0x86076bcb,0xe68cbec4,0xcd6cd286,0xf9e7c0c0
-.long 0x0f5f27ca,0x65994ddb,0xa80d59ff,0xe85461fb,0x66601023,0xff05481a,0xfc9ebbfb,0xc665427a,0x7587fd52,0xb0571a69,0x8d49efce,0x935289f8,0xea420688,0x61becc60,0x13a786af,0xb22639d9
-.long 0x361ecf90,0x1a8e6220,0x25506463,0x001f23e0,0x0a5c2b79,0xe4ae9b5d,0xd8149db5,0xebc9cdad,0x934aa728,0xb33164a1,0xae9b60f3,0x750eb00e,0x9b9cfbfd,0x5a91615b,0xef45f7f6,0x97015cbf
-.long 0xbf5151df,0xb462c4a5,0xb07118f2,0x21adcc41,0x043fa42c,0xd60c545b,0xe96be1ab,0xfc21aa54,0x4e51ea80,0xe84bc32f,0x259b5d8d,0x3dae45f0,0xc38f1b5e,0xbb73c7eb,0xe8ae617d,0xe405a74a
-.long 0x9f1c56bd,0xbb1ae9c6,0x49f196a4,0x8c176b98,0x6875092b,0xc448f311,0x9f976033,0xb5afe3de,0x145813e5,0xa8dafd49,0xe2b34226,0x687fc4d9,0x4c7ff57f,0xf2dfc92d,0x401f1b46,0x004e3fc1
-.long 0x1430c9ab,0x5afddab6,0x2238e997,0x0bdd41d3,0x418042ae,0xf0947430,0xcdddc4cb,0x71f9adda,0xc52dd907,0x7090c016,0x29e2047f,0xd9bdf44d,0x1b1011a6,0xe6f1fe80,0xd9acdc78,0xb63accbc
-.long 0x1272a95b,0xcfc7e235,0xa6276ac8,0x0c667717,0xe2d7eef7,0x3c0d3709,0x9a685b3e,0x5add2b06,0x14ea5d65,0x363ad32d,0x8d7dd506,0xf8e01f06,0x75b4aac6,0xc9ea2213,0x0d353466,0xed2a2bf9
-.long 0xe9d3a7c3,0x439d79b5,0x81b7f34b,0x8e0ee5a6,0x1dc4ba75,0xcf3dacf5,0xeb3310c7,0x1d3d1773,0x7747ae83,0xa8e67112,0x197d6b40,0x31f43160,0xcd961400,0x0521ccee,0xf6535768,0x67246f11
-.long 0xef0c3133,0x702fcc5a,0x7e16693b,0x247cc45d,0xc729b749,0xfd484e49,0xb218320f,0x522cef7d,0x59ab93b3,0xe56ef405,0x9f181071,0x225fba11,0x15330ed0,0x33bd6595,0x1ddb32f7,0xc4be69d5
-.long 0x0448087c,0x264c7668,0x71432dae,0xac30903f,0x00f9bf47,0x3851b266,0x6cdd6d03,0x400ed311,0xf8fd2424,0x045e79fe,0xfa6da98b,0xfdfd974a,0x0c1e673a,0x45c9f641,0x5b2c5168,0x76f2e733
-.long 0x2a601753,0x1adaebb5,0xc57c2d49,0xb286514c,0x1e0bfd24,0xd8769670,0x04478922,0x950c547e,0xe5d32bfe,0xd1d41969,0x750d6c3e,0x30bc1472,0xe0e27f3a,0x8f3679fe,0xa4a6ee0c,0x8f64a7dc
-.long 0x633dfb1f,0x2fe59937,0x977f2547,0xea82c395,0x661ea646,0xcbdfdf1a,0xb9085451,0xc7ccc591,0x81761e13,0x82177962,0x9196885c,0xda57596f,0x28ffbd70,0xbc17e849,0x2671d36f,0x1e6e0a41
-.long 0x4152fcf5,0x61ae872c,0x9e77e754,0x441c87b0,0xa34dff09,0xd0799dd5,0x88a6b171,0x766b4e44,0x11f1c792,0xdc06a512,0x4be35c3e,0xea02ae93,0xe90c469e,0xe5ca4d6d,0x56e4ff5c,0x4df4368e
-.long 0x4baef62e,0x7817acab,0xa85b91e8,0x9f5a2202,0x6ce57610,0x9666ebe6,0xf73bfe03,0x32ad31f3,0x25bcf4d6,0x628330a4,0x515056e6,0xea950593,0xe1332156,0x59811c89,0x8c11b2d7,0xc89cf1fe
-.long 0x04e60cc0,0x75b63913,0x4625d375,0xce811e8d,0x2d26e562,0x030e43fc,0x608d36a0,0xfbb30b4b,0x48528118,0x634ff82c,0xcd285911,0x7c6fe085,0x99358f28,0x7f2830c0,0x665e6c09,0x2e60a95e
-.long 0x9b785dbf,0x08407d3d,0xa759bce7,0x530889ab,0x52f61239,0xf228e0e6,0x6879be3c,0x2b6d1461,0x51a7bbf7,0xe6902c04,0x76f24a64,0x30ad99f0,0x98bc6da0,0x66d9317a,0xcb596ac0,0xf4f877f3
-.long 0x4c44f119,0xb05ff62d,0xe9b77416,0x4555f536,0x8caed63b,0xc7c0d059,0xc358b2a9,0x0cd2b7ce,0x46945fa3,0x3f33287b,0xd67c8791,0xf8785b20,0x9637bd08,0xc54a7a61,0x18be79d7,0x54d4598c
-.long 0xc46d7ce1,0x889e5acb,0x8b085877,0x9a515bb7,0x0b7a5050,0xfac1a03d,0xf2926035,0x7d3e738a,0x2a6cb0eb,0x861cc2ce,0x8f7adc79,0x6f2e2955,0x33016376,0x61c4d451,0x5ad59090,0xd9fd2c80
-.long 0xb2b836a1,0xe5a83738,0x7c0d6622,0x855b41a0,0x7cc19af1,0x186fe317,0xfdd99acb,0x6465c1ff,0x6974b99e,0x46e5c23f,0xa2717cbe,0x75a7cf8b,0x062be658,0x4d2ebc3f,0x5f209c98,0x094b4447
-.long 0xb940cb5a,0x4af285ed,0x7cc82f10,0x6706d792,0x030526fa,0xc8c8776c,0xa0da9140,0xfa8e6f76,0x591ee4f0,0x77ea9d34,0x40274166,0x5f46e337,0xea671457,0x1bdf98bb,0x862a1fe2,0xd7c08b46
-.long 0x1c08ad63,0x46cc303c,0x4c845e7b,0x99543440,0x48f36bf7,0x1b8fbdb5,0x8c8273a7,0x5b82c392,0x928435d5,0x08f712c4,0x79330380,0x071cf0f1,0xa8da054a,0xc74c2d24,0x43c46b5c,0xcb0e7201
-.long 0xc0b7eff3,0x0ad7337a,0xc5e48b3c,0x8552225e,0x73f13a5f,0xe6f78b0c,0x82349cbe,0x5e70062e,0xe7073969,0x6b8d5048,0xc33cb3d2,0x392d2a29,0x4ecaa20f,0xee4f727c,0x2ccde707,0xa068c99e
-.long 0xb87a2913,0xfcd5651f,0x3cc252f0,0xea3e3c15,0x3b6cd3e4,0x777d92df,0xc5a732e7,0x7a414143,0xa71ff493,0xa895951a,0xbbd37cf6,0xfe980c92,0xdecfeeff,0x45bd5e64,0xa44c43e9,0x910dc2a9
-.long 0xcca9f54d,0xcb403f26,0x9303f6db,0x928bbdfb,0xa9eee67c,0x3c37951e,0xf79961c3,0x3bd61a52,0x395c9a79,0x09a238e6,0x61eb352d,0x6940ca2d,0xc1875631,0x7d1e5c5e,0x1e1b20d1,0x1e19742c
-.long 0x23fc2e6e,0x4633d908,0x08959149,0xa76e29a9,0x84ed7da5,0x61069d9c,0x5dbcad51,0x0baa11cf,0x961849da,0xd01eec64,0xaf3d8c28,0x93b75f1f,0x1ca2ee44,0x57bc4f9f,0x00e00558,0x5a26322d
-.long 0x61a023ef,0x1888d658,0xb9e5246e,0x1d72aab4,0xe5563ec0,0xa9a26348,0xc3439a43,0xa0971963,0xadb9b5b7,0x567dd54b,0xc45a524b,0x73fac1a1,0xfe38e608,0x8fe97ef7,0x3f384f48,0x608748d2
-.long 0xc486094f,0xb0571794,0x8bf3a8d6,0x869254a3,0x310b0e25,0x148a8dd1,0x9aa3f7d8,0x99ab9f3f,0x6706c02e,0x0927c68a,0x69790e6c,0x22b5e76c,0x6c71376c,0x6c325260,0x09ef6657,0x53a57690
-.long 0xedffcf3a,0x8d63f852,0x3c0a6f55,0xb4d2ed04,0x12519b9e,0xdb3aa8de,0x1e0a569a,0x5d38e9c4,0x303747e2,0x871528bf,0xf5b5c18d,0xa208e77c,0xca6bf923,0x9d129c88,0xbf02839f,0xbcbf197f
-.long 0x27323194,0x9b9bf030,0x339ca59d,0x3b055a8b,0x0f669520,0xb46b2312,0x497e5f24,0x19789f1f,0xaaf01801,0x9c499468,0x8b69d59c,0x72ee1190,0xacf4c079,0x8bd39595,0x8e0cd048,0x3ee11ece
-.long 0x1ed66f18,0xebde86ec,0xd61fce43,0x225d906b,0xe8bed74d,0x5cab07d6,0x27855ab7,0x16e4617f,0xb2fbc3dd,0x6568aadd,0x8aeddf5b,0xedb5484f,0x6dcf2fad,0x878f20e8,0x615f5699,0x3516497c
-.long 0xfa181e69,0xef0a3fec,0x30d69a98,0x9ea02f81,0x66eab95d,0xb2e9cf8e,0x24720021,0x520f2beb,0x1df84361,0x621c540a,0x71fa6d5d,0x12037721,0x0ff5f6ff,0x6e3c7b51,0xabb2bef3,0x817a069b
-.long 0xb294cda6,0x83572fb6,0xb9039f34,0x6ce9bf75,0x095cbb21,0x20e012f0,0xd063f0da,0xa0aecc1b,0xf02909e5,0x57c21c3a,0x48ce9cdc,0xc7d59ecf,0x8ae336f8,0x2732b844,0x3f4f85f4,0x056e3723
-.long 0x89e800ca,0x8a10b531,0x145208fd,0x50fe0c17,0xb714ba37,0x9e43c0d3,0x34189acc,0x427d200e,0xe616e2c0,0x05dee24f,0xee1854c1,0x9c25f4c8,0x8f342a73,0x4d3222a5,0xa027c952,0x0807804f
-.long 0x4f0d56f3,0xc222653a,0xca28b805,0x961e4047,0x4a73434b,0x2c03f8b0,0xab712a19,0x4c966787,0x864fee42,0xcc196c42,0x5b0ece5c,0xc1be93da,0xc131c159,0xa87d9f22,0xdce45655,0x2bb6d593
-.long 0xb809b7ce,0x22c49ec9,0xe2c72c2c,0x8a41486b,0xfea0bf36,0x813b9420,0xa66dac69,0xb3d36ee9,0x328cc987,0x6fddc08a,0x3a326461,0x0a3bcd2c,0xd810dbba,0x7103c49d,0x4b78a4c4,0xf9d81a28
-.long 0xe4d55941,0x3de865ad,0x30384087,0xdedafa5e,0x4ef18b9b,0x6f414abb,0xfaee5268,0x9ee9ea42,0x37a55a4a,0x260faa16,0x015f93b9,0xeb19a514,0x9e9c3598,0x51d7ebd2,0x1932178e,0x523fc56d
-.long 0xb98fe684,0x501d070c,0x124a1458,0xd60fbe9a,0x92bc6b3f,0xa45761c8,0xfe6f27cb,0xf5384858,0xb59e763b,0x4b0271f7,0x5b5a8e5e,0x3d4606a9,0x05a48292,0x1eda5d9b,0xe6fec446,0xda7731d0
-.long 0x90d45871,0xa3e33693,0x06166d8d,0xe9764040,0x89a90403,0xb5c33682,0x72f1d637,0x4bd17983,0xd5d2c53a,0xa616679e,0xfdcf3b87,0x5ec4bcd8,0xb66a694e,0xae6d7613,0xe3fc27e5,0x7460fc76
-.long 0x95caabee,0x70469b82,0x889501e3,0xde024ca5,0x076ed265,0x6bdadc06,0x5a0ef8b2,0x0cb1236b,0x0972ebf9,0x4065ddbf,0x22aca432,0xf1dd3875,0x744aff76,0xa88b97cf,0xfe8e3d24,0xd1359afd
-.long 0x91502cf3,0x52a3ba2b,0x084db75d,0x2c3832a8,0xde30b1c9,0x04a12ddd,0xe31fd60c,0x7802eabc,0xa37fddab,0x33707327,0xfaafa973,0x65d6f2ab,0x11e6f91a,0x3525c5b8,0x5f46530b,0x76aeb0c9
-.long 0x2f93a675,0xe8815ff6,0x05f48679,0xa6ec9684,0x358ae884,0x6dcbb556,0xe19e3873,0x0af61472,0xa5f696be,0x72334372,0x6f22fb70,0xc65e57ea,0x946cea90,0x268da30c,0x65681b2a,0x136a8a87
-.long 0x0f9f44d4,0xad5e81dc,0x2c46585a,0xf09a6960,0xc447d1b1,0xd1649164,0x879dc8b1,0x3b4b36c8,0x3b6b234c,0x20d4177b,0x1730d9d0,0x096a2505,0xef80531d,0x0611b9b8,0x64bb495d,0xba904b3b
-.long 0x93a3147a,0x1192d9d4,0x9a565545,0x9f30a5dc,0x6ef07212,0x90b1f9cb,0x0d87fc13,0x29958546,0xc17db9ba,0xd3323eff,0xcb1644a8,0xcb18548c,0x4f49ffbc,0x18a306d4,0x4c2e8684,0x28d658f1
-.long 0xa99f8c71,0x44ba60cd,0x4bf742ff,0x67b7abdb,0x914b3f99,0x66310f9c,0xf412c161,0xae430a32,0x88ace52f,0x1e6776d3,0x52d7067d,0x4bc0fa24,0x8f07cd1b,0x03c286aa,0xa985b2c1,0x4cb8f38c
-.long 0x8c3bff36,0x83ccbe80,0x5263e575,0x005a0bd2,0x259bdcd1,0x460d7dda,0xfa5cab6b,0x4a1c5642,0x9fe4fc88,0x2b7bdbb9,0xcc97bbb5,0x09418e28,0xa12321ae,0xd8274fb4,0x5c87b64e,0xb137007d
-.long 0xc63c4962,0x80531fe1,0x981fdb25,0x50541e89,0xfd4c2b6b,0xdc1291a1,0xa6df4fca,0xc0693a17,0x0117f203,0xb2c4604e,0x0a99b8d0,0x245f1963,0xc6212c44,0xaedc20aa,0x520f52a8,0xb1ed4e56
-.long 0xf8547be3,0xfe48f575,0xa9e45f98,0x0a7033cd,0x18c50100,0x4b45d3a9,0xa61d41da,0xb2a6cd6a,0x57933c6b,0x60bbb4f5,0x2b0d7ffc,0xa7538ebd,0x8cd626b6,0x9ea3ab8d,0x3601625a,0x8273a484
-.long 0x0168e508,0x88859845,0x99a94abd,0x8cbc9bb2,0xfab0a671,0x713ac792,0x6c9ebffc,0xa3995b19,0x1239e152,0xe711668e,0xbbb8dff4,0x56892558,0xdbf17963,0x8bfc7dab,0xb3de1253,0x5b59fe5a
-.long 0x34a9f7ae,0x7e3320eb,0xd751efe4,0xe5e8cf72,0xd9be2f37,0x7ea003bc,0xb6c08ef7,0xc0f551a0,0x038f6725,0x56606268,0x6d92d3b6,0x1dd38e35,0xc3cbd686,0x07dfce7c,0x651c5da8,0x4e549e04
-.long 0x08b19340,0x4058f93b,0xcac6d89d,0xc2fae6f4,0x8f159cc7,0x4bad8a8c,0xcb0b601c,0x0ddba4b3,0x1dd95f8c,0xda4fc7b5,0xcea5c255,0x1d163cd7,0x274a8c4c,0x30707d06,0x2802e9ce,0x79d9e008
-.long 0xe6ddd505,0x02a29ebf,0xb50bed1a,0x37064e74,0xa7327d57,0x3f6bae65,0xf83920bc,0x3846f5f1,0x60df1b9b,0x87c37491,0x2d1da29f,0x4cfb2895,0x4ed1743c,0x10a478ca,0x3edd47c6,0x390c6030
-.long 0x8c0a78de,0x8f3e5312,0x1e85df70,0xccd02bda,0xa61b6582,0xd6c75c03,0xfc0eebd1,0x0762921c,0xd85010c0,0xd34d0823,0x0044cf1f,0xd73aaacb,0xa3b5e78a,0xfb4159bb,0xe5826f3f,0x2287c7f7
-.long 0x580b1a01,0x4aeaf742,0x60423b79,0xf080415d,0xa7dea144,0xe12622cd,0x59d62472,0x49ea4996,0x571f3913,0xb42991ef,0xf5b25a8a,0x0610f214,0x30b79e8f,0x47adc585,0x07a065a2,0xf90e3df6
-.long 0x43e2e034,0x5d0a5deb,0x444024aa,0x53fb5a34,0x6b0c9f7f,0xa8628c68,0xac563656,0x9c69c29c,0xbace47b6,0x5a231feb,0x9ea5a2ec,0xbdce0289,0x9463853e,0x05da1fac,0x509e78aa,0x96812c52
-.long 0x57151692,0xd3fb5771,0xd98e1c44,0xeb2721f8,0x32399be1,0xc0506087,0xd979d8b8,0xda5a5511,0xc6f56780,0x737ed55d,0x0dc7a7f4,0xe20d3004,0xf5941a03,0x02ce7301,0xed30f83a,0x91ef5215
-.long 0x4092d85f,0x28727fc1,0x5c49e41a,0x72d223c6,0xba6a4d81,0xa7cf30a2,0xb030d87d,0x7c086209,0xfc588b09,0x04844c7d,0x5874bbb0,0x728cd499,0xe84c0495,0xcc1281ee,0xec31958f,0x0769b5ba
-.long 0xf99c2471,0x665c228b,0x191eb110,0xf2d8a11b,0xd36d7024,0x4594f494,0xcdcb25a1,0x482ded8b,0xdadd4885,0xc958a9d8,0xf1d2b547,0x7004477e,0x2a0af550,0x0a45f6ef,0x2f8d6351,0x4fc739d6
-.long 0x786f08a9,0x75cdaf27,0x42c2737f,0x8700bb26,0x1c4e2670,0x855a7141,0x15076fef,0x810188c1,0xabcd3297,0xc251d0c9,0xf48108eb,0xae4c8967,0x18ceed30,0xbd146de7,0xc986bced,0xf9d4f07a
-.long 0x83fa1e08,0x5ad98ed5,0xbeabd1fb,0x7780d33e,0x903b1196,0xe330513c,0xa47bc8c4,0xba11de9e,0x02c2d064,0x684334da,0xa48de23b,0x7ecf360d,0x0a9089d8,0x57a1b474,0xff36734c,0xf28fa439
-.long 0xea4570b3,0xf2a482cb,0xa5ebcee9,0xee65d68b,0xb9694cd5,0x988d0036,0x37885d32,0x53edd0e9,0xbeb9bc6d,0xe37e3307,0x9f5c6768,0xe9abb907,0x51f2160f,0x4396ccd5,0x47336da6,0x2500888c
-.long 0x926fce43,0x383f9ed9,0x04da2930,0x809dd1c7,0x8a4cb227,0x30f6f596,0x73a56b38,0x0d700c7f,0xab64a065,0x1825ea33,0x1338df80,0xaab9b735,0x9b63f57f,0x1516100d,0x27a6a634,0x2574395a
-.long 0x700a1acd,0xb5560fb6,0xfd999681,0xe823fd73,0x6cb4e1ba,0xda915d1f,0x6ebe00a3,0x0d030118,0x89fca8cd,0x744fb0c9,0xf9da0e0b,0x970d01db,0x7931d76f,0x0ad8c564,0xf659b96a,0xb15737bf
-.long 0xa8b484e7,0xdc9933e8,0x7a26dec7,0xb2fdbdf9,0x9f1f0136,0x2349e9a4,0x70fddddb,0x7860368e,0xf9ad3e18,0xd93d2c1c,0x689f4e79,0x6d6c5f17,0xb24ff1b6,0x7a544d91,0xfe16cd8c,0x3e12a5eb
-.long 0xa56b872f,0x543574e9,0xfcf68ea2,0xa1ad550c,0x3f560ef7,0x689e37d2,0xc9d47a8b,0x8c54b9ca,0x088ac342,0x46d40a4a,0x1576c6d0,0xec450c7c,0x1f9689e9,0xb589e31c,0xb8781718,0xdacf2602
-.long 0xc8cb6b42,0xa89237c6,0xb96ef381,0x1326fc93,0xb5f07825,0x55d56c6d,0x7449e22d,0xacba2eea,0x633c3000,0x74e0887a,0xd7cbcf71,0xcb6cd172,0xc36cf1be,0x309e81de,0x60ae399b,0x07a18a6d
-.long 0x9edce57e,0xb36c2679,0xdf001d41,0x52b892f4,0x16a1f2c6,0xd884ae5d,0xefcc370a,0x9b329424,0xbd2e21df,0x3120daf2,0x02470a99,0x55298d2d,0xa05db32e,0x0b78af6c,0x601f5636,0x5c76a331
-.long 0xf8a4f29c,0xaae861ff,0xd68f8d49,0x70dc9240,0x81b1321c,0x960e649f,0x8792e4ce,0x3d2c801b,0x42521876,0xf479f772,0x416c79b1,0x0bed93bc,0x263e5bc9,0xa67fbc05,0x521db049,0x01e8e630
-.long 0xc6f3431e,0x76f26738,0xe3267541,0xe609cb02,0x818c877c,0xb10cff2d,0x786a13cb,0x1f0e75ce,0x1158544d,0xf4fdca64,0x6cb71ed0,0x5d777e89,0xa9aa4755,0x3c233737,0xe527ab40,0x7b453192
-.long 0x39f05ffe,0xdb59f688,0x6d82574e,0x8f4f4be0,0xee292d1b,0xcce3450c,0x61ccd086,0xaa448a12,0xf7914967,0xabce91b3,0x1908a5ed,0x4537f09b,0xf51042e7,0xa812421e,0xec0b3a34,0xfaf5cebc
-.long 0x4ca6b39a,0x730ffd87,0x02efd342,0x70fb72ed,0xd75c8edb,0xeb4735f9,0xc278aa51,0xc11f2157,0xbf3bfebf,0xc459f635,0x6bd9601f,0x3a1ff0b4,0xc420cb73,0xc9d12823,0x3c2915a3,0x3e9af3e2
-.long 0xb41c3440,0xe0c82c72,0xe3039a5f,0x175239e5,0x558795a3,0xe1084b8a,0xd01e5c60,0x328d0a1d,0xd3788a04,0x0a495f2e,0x66c11a9f,0x25d8ff16,0x9ed692d6,0xf5155f05,0x4f425fe4,0x954fa107
-.long 0xe98aaa99,0xd16aabf2,0x96b0f88a,0x90cd8ba0,0xc154026a,0x957f4782,0x52af56d2,0x54ee0734,0x45b4147a,0xbcf89e54,0x9a52816c,0x3d102f21,0x39b62e77,0x6808517e,0x69169ad8,0x92e25421
-.long 0xbb608558,0xd721d871,0xf6d4ff9b,0x60e4ebae,0x41f2763e,0x0ba10819,0x51ee3247,0xca2e45be,0x2bfd7a5f,0x66d172ec,0x74d0b12d,0x528a8f2f,0xdabe70dc,0xe17f1e38,0x9f93983c,0x1d5d7316
-.long 0xdf423e31,0x51b2184a,0xaedb1a10,0xcb417291,0x625bcab9,0x2054ca93,0xa98998f0,0x54396860,0xa54ae57e,0x4e53f6c4,0xee648e9d,0x0ffeb590,0x6afaf6bc,0xfbbdaadc,0xaa3bfb8a,0xf88ae796
-.long 0xd2359ed9,0x209f1d44,0xf3544ce2,0xac68dd03,0xfd51e569,0xf378da47,0x2cc80097,0xe1abd860,0x343b6e3a,0x23ca18d9,0xb40a1bae,0x480797e8,0x533f3e67,0xd1f0c717,0x06e6cdfc,0x44896970
-.long 0x52a82e8d,0x8ca21055,0x78460cdc,0xb2caf785,0xe9037178,0x4c1b7b62,0xdb514b58,0xefc09d2c,0x9113be5c,0x5f2df9ee,0xb3f9271c,0x2fbda78f,0x8f83fc54,0xe09a81af,0x8afb5141,0x06b13866
-.long 0x43e3865d,0x38f6480f,0x1ddf47d9,0x72dd77a8,0x4c205ff7,0xf2a8e971,0x9d088ad8,0x46d449d8,0x185d706f,0x926619ea,0xc7dd7f62,0xe47e02eb,0x8cbc2031,0xe7f120a7,0x998d4ac9,0xc18bef00
-.long 0x6bdf22da,0x18f37a9c,0x90dc82df,0xefbc432f,0x5d703651,0xc52cef8e,0xd99881a5,0x82887ba0,0xb920ec1d,0x7cec9dda,0xec3e8d3b,0xd0d7e8c3,0x4ca88747,0x445bc395,0x9fd53535,0xedeaa2e0
-.long 0x6cc87475,0x461b1d93,0x6d2383bd,0xd92a52e2,0xd7903546,0xfabccb59,0x3d14b112,0x6111a761,0xb3d5f612,0x0ae584fe,0x60e828ec,0x5ea69b8d,0x54087030,0x6c078985,0xac4821fe,0x649cab04
-.long 0x8bdce214,0x25ecedcf,0x86af7361,0xb5622f72,0x7038b9e2,0x0e1227aa,0xac20fa77,0xd0efb273,0x79df975b,0x817ff88b,0x1999503e,0x856bf286,0x5038ec46,0xb4d5351f,0xfc42af6e,0x740a52c5
-.long 0x2cbb1a3f,0x2e38bb15,0x17a83429,0xc3eb99fe,0xdd66bb74,0xca4fcbf1,0xcde5e8fc,0x880784d6,0xb4e7a0be,0xddc84c1c,0xbd15a72f,0x8780510d,0x81ec30e1,0x44bcf1af,0x0a61073e,0x141e50a8
-.long 0x47be87ae,0x0d955718,0xf76a4372,0x68a61417,0xc607c3d3,0xf57e7e87,0x5252f332,0x043afaf8,0x1552a4d2,0xcc14e121,0xbb4d4ab4,0xb6dee692,0xa03816a4,0xb6ab74c8,0x6f394a29,0x84001ae4
-.long 0xd795fb45,0x5bed8344,0xb79f55a5,0x57326e7d,0x4accdffc,0xc9533ce0,0x3993fa04,0x53473caf,0xa13df4c8,0x7906eb93,0x97cbe46f,0xa73e51f6,0x0ae4ccf8,0xd1ab3ae1,0x8a5b3dbc,0x25614508
-.long 0x11a71b27,0x61eff962,0x6bb7fa39,0xdf71412b,0x2bd7f3ef,0xb31ba6b8,0x69180d29,0xb0b9c415,0x014cdde5,0xeec14552,0x227b4bbb,0x702c624b,0xd3e988f3,0x2b15e8c2,0xa4f7fd04,0xee3bcc6d
-.long 0x42ac6c85,0x9d00822a,0x1df9f2b7,0x2db0cea6,0x42de1e58,0xd7cad2ab,0x2d6fbb61,0x346ed526,0x1a2faf09,0xb3962995,0x7c25612e,0x2fa8a580,0x7cf56490,0x30ae04da,0x0eea3961,0x75662908
-.long 0x3d080847,0x3609f5c5,0x5241d4f6,0xcb081d39,0x77961a63,0xb4fb3810,0x2abb66fc,0xc20c5984,0xf902f245,0x3d40aa7c,0x4e536b1e,0x9cb12736,0x99b3134f,0x5eda24da,0x5cd011af,0xafbd9c69
-.long 0xc7088c7d,0x9a16e30a,0x3207389f,0x5ab65710,0xe7407a53,0x1b09547f,0x4fdc6eab,0x2322f9d7,0x7430de4d,0xc0f2f22d,0xe68ca9a9,0x19382696,0x918e5868,0x17f1eff1,0x586f4204,0xe3b5b635
-.long 0x3fbc4341,0x146ef980,0x5b5eed4e,0x359f2c80,0x7482e41d,0x9f35744e,0xf3b224c2,0x9a9ac3ec,0x91fc50ae,0x9161a6fe,0xc613fa7c,0x89ccc66b,0xc732f15a,0x89268b14,0xb467ed03,0x7cd6f4e2
-.long 0xce56b40e,0xfbf79869,0xc02dde98,0xf93e094c,0xedee2cd7,0xefe0c3a8,0xb268fd42,0x90f3ffc0,0x08241aed,0x81a7fd56,0x00b1afe8,0x95ab7ad8,0x3e310d52,0x40127056,0x09d9fc43,0xd3ffdeb1
-.long 0xd11a8594,0xc8f85c91,0x31cf6db8,0x2e74d258,0x02b5dfd0,0x829c7ca3,0x69143c86,0xe389cfbe,0x941768d8,0xd01b6405,0x03bf825d,0x45103995,0x56cd17e2,0xcc4ee166,0xba037e79,0xbea3c283
-.long 0xd9a47520,0x4e1ac06e,0xaf852404,0xfbfe18aa,0x8087648a,0x5615f8e2,0xb9d150d9,0x7301e47e,0xb299b977,0x79f9f9dd,0xa5b78314,0x76697a7b,0x7d7c90e7,0x10d67468,0x937210b5,0x7afffe03
-.long 0x28c22cee,0x5aef3e4b,0x09fd55ae,0xefb0ecd8,0x0d2a5d6a,0x4cea7132,0x01db6357,0x9cfb5fa1,0xf36e1ac5,0x395e0b57,0x36cafb7d,0x008fa9ad,0x5308c4db,0x8f6cdf70,0x95ed2477,0x51527a37
-.long 0x5bd21311,0xba0dee30,0x909c90d7,0x6ed41b22,0x7c8696d3,0xc5f6b758,0x3ce83a80,0x0db8eaa8,0xb24b4b6f,0xd297fe37,0x522d1f0d,0xfe58afe8,0x8c98dbd9,0x97358736,0x9454a527,0x6bc226ca
-.long 0xce53c2d0,0xa12b384e,0x5e4606da,0x779d897d,0x73ec12b0,0xa53e47b0,0x5756f1ad,0x462dbbba,0xcafe37b6,0x69fe09f2,0xecce2e17,0x273d1ebf,0x3cf607fd,0x8ac1d538,0x12e10c25,0x8035f7ff
-.long 0x7e6c5520,0x854d34c7,0xdcb9ea58,0xc27df9ef,0xd686666d,0x405f2369,0x0417aa85,0x29d1febf,0x93470afe,0x9846819e,0xe2a27f9e,0x3e6a9669,0xe31e6504,0x24d008a2,0x9cb7680a,0xdba7cecf
-.long 0x338d6e43,0xecaff541,0x4541d5cc,0x56f7dd73,0x96bc88ca,0xb5d426de,0x9ed3a2c3,0x48d94f6b,0x2ef8279c,0x6354a3bb,0x0b1867f2,0xd575465b,0x95225151,0xef99b0ff,0xf94500d8,0xf3e19d88
-.long 0xe32dd620,0x92a83268,0x627849a2,0x913ec99f,0x2c378882,0xedd8fdfa,0xee6f8cfe,0xaf96f33e,0xdc3fa8a5,0xc06737e5,0xb0b03a1d,0x236bb531,0x89f037b0,0x33e59f29,0xd9a12a53,0x13f9b5a7
-.long 0x51efb310,0x0d0df6ce,0x958df5be,0xcb5b2eb4,0x36158e59,0xd6459e29,0x1466e336,0x82aae2b9,0x411aa636,0xfb658a39,0xd4c0a933,0x7152ecc5,0x49f026b7,0xf10c758a,0xcb09311f,0xf4837f97
-.long 0xc753c45f,0xddfb02c4,0xf9c840fe,0x18ca81b6,0xb0f8a3e6,0x846fd09a,0xe7733dbc,0xb1162add,0x236e3ab6,0x7070ad20,0xb2a56326,0xf88cdaf5,0x997cbc7a,0x05fc8719,0x4b665272,0x442cd452
-.long 0xb71698f5,0x7807f364,0x9f7b605e,0x6ba418d2,0xa03b2cbb,0xfd20b00f,0xda54386f,0x883eca37,0xf3437f24,0xff0be43f,0xa48bb33c,0xe910b432,0x329df765,0x4963a128,0xbe2fe6f7,0xac1dd556
-.long 0x24a0a3fc,0x557610f9,0xe881c3f9,0x38e17bf4,0xed0dac99,0x6ba84faf,0x59eeb918,0xd4a222c3,0x13f542b6,0xc79c1dbe,0xe425d457,0x1fc65e0d,0x1debb779,0xeffb754f,0x9e08af60,0x638d8fd0
-.long 0x626332d5,0x994f523a,0x5561bb44,0x7bc38833,0x3d845ea2,0x005ed4b0,0xc2a1f08a,0xd39d3ee1,0xe7676b0d,0x6561fdd3,0xfb706017,0x620e35ff,0xf264f9a8,0x36ce424f,0xda2681f7,0xc4c3419f
-.long 0x69beb6e8,0xfb6afd2f,0x6d700d03,0x3a50b993,0x0c83a14f,0xc840b2ad,0x54085bef,0x573207be,0x09fe7e5b,0x5af882e3,0x3b40a7e1,0x957678a4,0x543056e2,0x172d4bdd,0x0df13c0a,0x9c1b26b4
-.long 0xf405ff06,0x1c30861c,0x486e828b,0xebac86bd,0x636933fc,0xe791a971,0x7aeee947,0x50e7c2be,0xfa90d767,0xc3d4a095,0xe670ab7b,0xae60eb7b,0x397b056d,0x17633a64,0x105012aa,0x93a21f33
-.long 0xabb88643,0x663c370b,0x22e21599,0x91df36d7,0x8b761671,0x183ba835,0x728f3bf1,0x381eea1d,0x39966e6c,0xb9b2f1ba,0xe7295492,0x7c464a28,0x09b26b7f,0x0fd5f70a,0xfbe009df,0xa9aba1f9
-.long 0x369b87ad,0x857c1f22,0x32fca556,0x3c00e5d9,0x90b06466,0x1ad74cab,0x550faaf2,0xa7112386,0x6d9bd5f5,0x7435e198,0x59c3463f,0x2dcc7e38,0xca7bd4b2,0xdc7df748,0x9dec2f31,0x13cd4c08
-.long 0xe3237710,0x0d3b5df8,0xcbd2f7b0,0x0dadb26e,0xe4aa082b,0x9f5966ab,0x350e966e,0x666ec8de,0xee524216,0x1bfd1ed5,0x41dab0b6,0xcd93c59b,0xd186d6ba,0x658a8435,0x159d1195,0x1b7d34d2
-.long 0x22caf46b,0x5936e460,0x9a96fe4f,0x6a45dd8f,0xb98f474e,0xf7925434,0x0053ef15,0x41410412,0x41de97bf,0x71cf8d12,0xbd80bef4,0xb8547b61,0xc4db0037,0xb47d3970,0xfef20dff,0xf1bcd328
-.long 0x10caad67,0x31a92e09,0x5531a1e1,0x1f591960,0x5f4fc840,0x3bb852e0,0x93a72c6c,0x63e297ca,0x49abad67,0x3c2b0b2e,0xed3db0d9,0x6ec405fc,0x7fef1d40,0xdc14a530,0x280896fc,0xccd19846
-.long 0x9bb81648,0x00f83176,0x653120d0,0xd69eb485,0x4ccabc62,0xd17d75f4,0xb749fcb1,0x34a07f82,0xbbfb5554,0x2c3af787,0x62e283f8,0xb06ed4d0,0xa19213a0,0x5722889f,0xdcf3c7b4,0x162b085e
-.long 0xe0dd3eca,0xbcaecb31,0xe52f13a5,0xc6237fbc,0x27bac297,0xcc2b6b03,0xb917f54a,0x2ae1cac5,0x7845ae4f,0x474807d4,0xce5972e0,0xfec7dd92,0x1d7915bb,0xc3bd2541,0xd94907ca,0x66f85dc4
-.long 0xbdbcf0ca,0xd981b888,0xdf279e9f,0xd75f5da6,0x7054e934,0x128bbf24,0x81db134b,0x3c6ff6e5,0x047d26e4,0x795b7cf4,0x5049ec37,0xf370f7b8,0xced945af,0xc6712d4d,0x095642bc,0xdf30b5ec
-.long 0x4896246e,0x9b034c62,0xee90bbd1,0x5652c016,0x87fedb73,0xeb38636f,0x0135a613,0x5e32f847,0xcf933c83,0x0703b312,0x1a7f47e6,0xd05bb76e,0x949c2415,0x825e4f0c,0x7250d6f8,0x569e5622
-.long 0x6568013e,0xbbe9eb3a,0x22f243fc,0x8dbd203f,0xb342734a,0x9dbd7694,0x46afa984,0x8f6d12f8,0xc9eade29,0xb98610a2,0x47dd0f18,0xbab4f323,0x671c0d46,0x5779737b,0xd3e0a42a,0x10b6a7c6
-.long 0x3035b41c,0xfb19ddf3,0x99c45895,0xd336343f,0x54c857e5,0x61fe4938,0xae4e57d5,0xc4d506be,0xbbc33f75,0x3cd8c8cb,0x9262c77d,0x7281f08a,0xf11a2823,0x083f4ea6,0x9fba2e33,0x8895041e
-.long 0x9c438edf,0xfcdfea49,0x91edba44,0x7678dcc3,0xe2ba50f0,0xf07b3b87,0x43948c1b,0xc13888ef,0x1140af42,0xc2135ad4,0x926ed1a7,0x8e5104f3,0x88f6695f,0xf24430cb,0x6d73c120,0x0ce0637b
-.long 0xfe631e8f,0xb2db01e6,0xd7bdd24b,0x1c5563d7,0x369ad44f,0x8daea3ba,0x8187a9f9,0x000c81b6,0xaae1fd9a,0x5f48a951,0x8d5aed8a,0xe35626c7,0x0498c622,0x20952763,0x773aa504,0x76d17634
-.long 0xeb300f7a,0x36d90dda,0xedb5e801,0x9dcf7dfc,0x74d5244c,0x645cb268,0x348e3aa2,0xa127ee79,0x575f1dbb,0x488acc53,0x80e6161e,0x95037e85,0x292650d0,0x57e59283,0x14938216,0xabe67d99
-.long 0x3f8e1065,0x3c7f944b,0x330e8924,0xed908cb6,0x6f530136,0x08ee8fd5,0xd7ffc169,0x2227b7d5,0xb5cd6dd5,0x4f55c893,0xa62796e8,0x82225e11,0xcb18e12c,0x5c6cead1,0x84f5a51a,0x4381ae0c
-.long 0x7fafa4c8,0x345913d3,0x0491aac0,0x3d918082,0x3e69264c,0x9347871f,0xb4f4f0cd,0xbea9dd3c,0x3eadd3e7,0xbda5d067,0x0573bcd8,0x0033c1b8,0x5da2486c,0x25589379,0x86abbee7,0xcb89ee5b
-.long 0x22532e5d,0x8fe0a8f3,0x727dfc4c,0xb6410ff0,0x226726db,0x619b9d58,0x7a2b2dc7,0x5ec25669,0x4c3beb01,0xaf4d2e06,0x7acea556,0x852123d0,0xf783487a,0x0e9470fa,0x5664b3eb,0x75a7ea04
-.long 0x6798e4ba,0x4ad78f35,0xc7d0e091,0x9214e6e5,0xb1290403,0xc420b488,0xfc295749,0x64049e0a,0x3ae9841f,0x03ef5af1,0xb0b662a6,0xdbe4ca19,0xfa453458,0x46845c5f,0x10b66722,0xf8dabf19
-.long 0xcce2793b,0xb650f0aa,0xc5ec47c1,0x71db851e,0x3b234fa9,0x3eb78f3e,0xfc0106ce,0xb0c60f35,0x774eadbd,0x05427121,0xce323863,0x25367faf,0xcd086976,0x7541b5c9,0xdc507ad1,0x4ff069e2
-.long 0x8776e667,0x74145256,0xb23c6bb5,0x6e76142c,0x1b3a8a87,0xdbf30712,0x98450836,0x60e7363e,0xb7366d80,0x5741450e,0x4837dbdf,0xe4ee14ca,0x69d4316f,0xa765eb9b,0x8ef43825,0x04548dca
-.long 0x5ae888eb,0x9c9f4e4c,0x56e9ac99,0x733abb51,0xba6ac029,0xdaad3c20,0x2ba3e38e,0x9b8dd3d3,0x0bc5d11a,0xa9bb4c92,0x9c5f88a3,0xf20127a7,0x161d3cb8,0x4f52b06e,0x6afaf0a6,0x26c1ff09
-.long 0x7189e71f,0x32670d2f,0x5ecf91e7,0xc6438748,0xdb757a21,0x15758e57,0x290a9ce5,0x427d09f8,0x38384a7a,0x846a308f,0xb0732b99,0xaac3acb4,0x17845819,0x9e941009,0xa7ce5e03,0x95cba111
-.long 0xb00009c4,0x6f3d4f7f,0x8ff28b5f,0xb8396c27,0x1c97975d,0xb1a9ae43,0xe5d9fed5,0x9d7ba8af,0x34f485b6,0x338cf09f,0x64122516,0xbc0ddacc,0x05d471fe,0xa450da12,0x628dd8c9,0x4c3a6250
-.long 0xd1295837,0x69c7d103,0x3807eb2f,0xa2893e50,0xbdb41491,0xd6e1e1de,0x5e138235,0xc630745b,0x48661ae1,0xc892109e,0xea2b2674,0x8d17e7eb,0xc328d6b5,0x00ec0f87,0xf079ff9e,0x6d858645
-.long 0x19115ead,0x6cdf243e,0x4bac4fcf,0x1ce1393e,0x9c29f25b,0x2c960ed0,0x9d388a05,0x59be4d8e,0xd0def72b,0x0d46e06c,0xe0342748,0xb923db5d,0x936d4a3d,0xf7d3aacd,0x0b0b099e,0x558519cc
-.long 0x827097ef,0x3ea8ebf8,0xd054f55d,0x259353db,0x6d2ed089,0x84c89abc,0x8e096a7c,0x5c548b69,0x994b995d,0xd587f616,0xa5845601,0x4d1531f6,0x451fd9f0,0x792ab31e,0x65adf6ca,0xc8b57bb2
-.long 0x1cd5ad73,0x68440fcb,0x6144da4f,0xb9c860e6,0x8462beb8,0x2ab286aa,0xef46797f,0xcc6b8fff,0x20c8a471,0xac820da4,0x77ff7faf,0x69ae05a1,0xbfb5da77,0xb9163f39,0x2c73ab7a,0xbd03e590
-.long 0xb2940d9e,0x7e862b5e,0x4b9af564,0x3c663d86,0xbde3033d,0xd8309031,0xd42c5bc6,0x298231b2,0x552ad093,0x42090d2c,0xff854695,0xa4799d1c,0xd31f0d00,0x0a88b5d6,0xa2f26b46,0xf8b40825
-.long 0xf1bd7218,0xec29b1ed,0x4b24c86e,0xd491c53b,0x3395ea65,0xd2fe588f,0x4456ef15,0x6f3764f7,0xcdc34800,0xdb43116d,0xc1e33955,0xcdbcd456,0x74ab286b,0xefdb5540,0xd18c5d7c,0x948c7a51
-.long 0x7378058e,0xeb81aa37,0x04411154,0x41c746a1,0xfb828ac7,0xa10c73bc,0x9d972b29,0x6439be91,0x43a2fbad,0x4bf3b4b0,0x82b5e840,0x39e6dadf,0x6397bd4c,0x4f716408,0x7f1eeccb,0x0f7de568
-.long 0xd2ffbfc1,0x5865c5a1,0x4ccb6451,0xf74211fa,0xc0b32558,0x66368a88,0x9ad7812e,0x5b539dc2,0x2f3af6f6,0x579483d0,0x99934ece,0x52132078,0xdcc9e983,0x50b9650f,0xaee42b8a,0xca989ec9
-.long 0xd6f62f99,0x6a44c829,0x4c2a7c0c,0x8f06a309,0x98a0cb0a,0x4ea2b3a0,0xbeee8364,0x5c547b70,0x682afe11,0x461d40e1,0x7b41c0a8,0x9e0fc77a,0xe20d5d36,0x79e4aefd,0x32dd9f63,0x2916e520
-.long 0x3f883faf,0xf59e52e8,0x2b868d35,0x396f9639,0x4ca19881,0xc902a9df,0xdb2401a6,0x0fc96822,0x66f1c68d,0x41237587,0xfb476c0d,0x10fc6de3,0x841f5d90,0xf8b6b579,0xfa24f44a,0x2ba8446c
-.long 0xef4a9975,0xa237b920,0x2330435f,0x60bb6004,0xcfb7e7b5,0xd6f4ab5a,0x83435391,0xb2ac5097,0xb0d1ea67,0xf036ee2f,0x74c56230,0xae779a6a,0xab838ae6,0x59bff8c8,0x9b38e6f0,0xcd83ca99
-.long 0xe33deed3,0xbb27bef5,0x001892a8,0xe6356f6f,0x7adfbd3e,0xbf3be6cc,0x33d1ac9d,0xaecbc81c,0xe6e861dc,0xe4feb909,0x53f5f801,0x90a247a4,0x27346e57,0x01c50acb,0x461acc1b,0xce29242e
-.long 0x2f998a91,0x04dd214a,0xd4baf27b,0x271ee9b1,0xe8c26722,0x7e3027d1,0x1820dce5,0x21d1645c,0x7501779c,0x086f242c,0xfa0e8009,0xf0061407,0x60187129,0xf23ce477,0x0fde9bd0,0x05bbdedb
-.long 0x25d98473,0x682f4832,0x5c658427,0xf207fe85,0x4166ffa1,0xb6fdd7ba,0x9eed799d,0x0c314056,0x4107e28f,0x0db8048f,0x41216840,0x74ed3871,0x56a3c06e,0x74489f8f,0x12777134,0x1e1c005b
-.long 0xf37ec3c3,0xdb332a73,0xdd59eba0,0xc65259bd,0xdb4d3257,0x2291709c,0xbd389390,0x9a793b25,0xe43756f0,0xf39fe34b,0x9afb56c9,0x2f76bdce,0x61208b27,0x9f37867a,0x089972c3,0xea1d4307
-.long 0x8bdf623a,0x8c595330,0x8441fb7d,0x5f5accda,0x32ddfd95,0xfafa9418,0x0fde9be7,0x6ad40c5a,0xaeca8709,0x43faba89,0x2c248a9d,0xc64a7cf1,0x72637a76,0x16620252,0x22b8d1bb,0xaee1c791
-.long 0x21a843b2,0xf0f798fd,0x8d005cb1,0x56e4ed4d,0x1f0d8abe,0x355f7780,0x34522326,0x197b04cf,0xfd42c13f,0x41f9b31f,0xb40f933d,0x5ef7feb2,0x5d60bad4,0x27326f42,0x8c92cf89,0x027ecdb2
-.long 0x4e3352fe,0x04aae4d1,0x73591b90,0x08414d2f,0xb7da7d60,0x5ed6124e,0x4d13d4ec,0xb985b931,0x96bf36f9,0xa592d3ab,0xbbdf51df,0x012dbed5,0xdf6c177d,0xa57963c0,0x87ca29cf,0x010ec869
-.long 0xbf926dff,0xba1700f6,0xf4bf6bc2,0x7c9fdbd1,0x64da11f5,0xdc18dc8f,0xd938ae75,0xa6074b7a,0xe84f44a4,0x14270066,0xd27b954e,0x99998d38,0xb4f38e9a,0xc1be8ab2,0x15c01016,0x8bb55bbf
-.long 0x0ea2ab30,0xf73472b4,0xf73d68dd,0xd365a340,0x19c2e1eb,0xc01a7168,0x34061719,0x32f49e37,0x01d8b4d6,0xb73c57f1,0x26b47700,0x03c8423c,0xa4d8826a,0x321d0bc8,0x4bc0e638,0x6004213c
-.long 0xc1c06681,0xf78c64a1,0xef018e50,0x16e0a16f,0xdb42b2b3,0x31cbdf91,0xe0d36f58,0xf8f4ffce,0x4cc5e3e0,0xcdcc71cd,0xa129e3e0,0xd55c7cfa,0x0fb2cbf1,0xccdb6ba0,0xc4bce3cb,0x6aba0005
-.long 0xd232cfc4,0x501cdb30,0xd58a3cef,0x9ddcf12e,0x87e09149,0x02d2cf9c,0x2c976257,0xdc5d7ec7,0x0b50d7dd,0x6447986e,0x807f112a,0x88fdbaf7,0xb00ae9f6,0x58c9822a,0x6d3d27e0,0x6abfb950
-.long 0x8a429f4f,0xd0a74487,0xdb516609,0x0649712b,0xe769b5df,0xb826ba57,0x1fc7aaf2,0x82335df2,0x5c93d995,0x2389f067,0x68677be6,0x59ac367a,0x21d9951b,0xa77985ff,0x85011cce,0x038956fb
-.long 0xbb734e37,0x608e48cb,0x2be5b26f,0xc08c0bf2,0xf9b1a0d9,0x17bbdd3b,0x10483319,0xeac7d898,0xbc1a6dea,0xc95c4baf,0x172aafdb,0xfdd0e2bf,0x8235c41a,0x40373cbc,0xfb6f41d5,0x14303f21
-.long 0x0408f237,0xba063621,0xecd2d1ed,0xcad3b09a,0x52abb6a2,0x4667855a,0xaa8b417b,0xba9157dc,0x4f013efb,0xfe7f3507,0xaa38c4a2,0x1b112c4b,0x9ba64345,0xa1406a60,0x6993c80b,0xe53cba33
-.long 0xded40d23,0x45466063,0x54908e25,0x3d5f1f4d,0x403c3c31,0x9ebefe62,0x0672a624,0x274ea0b5,0x451d1b71,0xff818d99,0x8f79cf79,0x80e82643,0x73ce37f5,0xa165df13,0xfe3a21fd,0xa744ef4f
-.long 0xcf551396,0x73f1e7f5,0x868c676b,0xc616898e,0x8c442c36,0x671c28c7,0x5e0a317d,0xcfe5e558,0x7051f476,0x1242d818,0x14f03442,0x56fad2a6,0x0a44d0f6,0x262068bc,0xce6edf4e,0xdfa2cd6e
-.long 0xd15d1517,0x0f43813a,0x377d44f5,0x61214cb2,0xc639b35f,0xd399aa29,0x54c51c19,0x42136d71,0x08417221,0x9774711b,0x52545a57,0x0a5546b3,0x1150582d,0x80624c41,0xfbc555bc,0x9ec5c418
-.long 0x771849f1,0x2c87dcad,0x01d7bf6f,0xb0c932c5,0x89116eb2,0x6aa5cd3e,0x51ca7bd3,0xd378c25a,0x9e6e3e31,0xc612a0da,0xb68ad5d0,0x0417a54d,0x22c6edb8,0x00451e4a,0xb42827ce,0x9fbfe019
-.long 0xba9384a2,0x2fa92505,0x64ad69c1,0x21b8596e,0x983b35a6,0x8f4fcc49,0x72754672,0xde093760,0xf7bffe6d,0x2f14ccc8,0x5d94263d,0x27566bff,0x2df3ec30,0xb5b4e9c6,0x3e6ea6ba,0x94f1d7d5
-.long 0xaaca5e9b,0x97b7851a,0x56713b97,0x518aa521,0x150a61f6,0x3357e8c7,0xec2c2b69,0x7842e7e2,0x6868a548,0x8dffaf65,0xe068fc81,0xd963bd82,0x65917733,0x64da5c8b,0x7b247328,0x927090ff
-.long 0xd298c241,0x214bc9a7,0x56807cfd,0xe3b697ba,0x4564eadb,0xef1c7802,0xb48149c5,0xdde8cdcf,0x5a4d2604,0x946bf0a7,0x6c1538af,0x27154d7f,0xde5b1fcc,0x95cc9230,0x66864f82,0xd88519e9
-.long 0x7cb1282c,0xb828dd1a,0xbe46973a,0xa08d7626,0xe708d6b2,0x6baf8d40,0x4daeb3f3,0x72571fa1,0xf22dfd98,0x85b1732f,0x0087108d,0x87ab01a7,0x5988207a,0xaaaafea8,0x69f00755,0xccc832f8
-.long 0x36ff3bf0,0x964d950e,0xf0b34638,0x8ad20f6f,0xb5d7585f,0x4d9177b3,0xef3f019f,0xcf839760,0x8288c545,0x582fc5b3,0x13116bd1,0x2f8e4e9b,0x332120ef,0xf91e1b2f,0x2a17dd23,0xcf568724
-.long 0xca8d9d1a,0x488f1185,0xd987ded2,0xadf2c77d,0x60c46124,0x5f3039f0,0x71e095f4,0xe5d70b75,0x6260e70f,0x82d58650,0xf750d105,0x39d75ea7,0x75bac364,0x8cf3d0b1,0x21d01329,0xf3a7564d
-.long 0x2f52d2a7,0x182f04cd,0xe2df565a,0x4fde149a,0xa79fb2f7,0xb80c5eec,0x22ddc897,0xab491d7b,0xc6312c7f,0x99d76c18,0x6aa41a57,0xca0d5f3d,0xd15363a0,0x71207325,0xbeb252c2,0xe82aa265
-.long 0xec3128c2,0x94ab4700,0x8e383f49,0x6c76d862,0xc03024eb,0xdc36b150,0x53daac69,0xfb439477,0x8dc79623,0xfc68764a,0xb440fbb2,0x5b86995d,0xccc5ee0d,0xd66879bf,0x95aa8bd3,0x05228942
-.long 0x1e6a75c1,0xb51a40a5,0x0ea7d817,0x24327c76,0x07774597,0x06630182,0x97fa7164,0xd6fdbec3,0x13c90f48,0x20c99dfb,0x686ef263,0xd6ac5273,0xfef64eeb,0xc6a50bdc,0x86fdfc32,0xcd87b281
-.long 0x3fcd3efc,0xb24aa43e,0xb8088e9a,0xdd26c034,0xbd3d46ea,0xa5ef4dc9,0x8a4c6a6f,0xa2f99d58,0x2f1da46c,0xddabd355,0x1afacdd1,0x72c3f8ce,0x92d40578,0xd90c4eee,0xca623b94,0xd28bb41f
-.long 0x745edc11,0x50fc0711,0x3dc87558,0x9dd9ad7d,0xb49d1e64,0xce6931fb,0xc98bd0f9,0x6c77a0a2,0x6baf7cb1,0x62b9a629,0xccf72d22,0xcf065f91,0x79639071,0x7203cce9,0xf9cb732f,0x09ae4885
-.long 0xee8314f3,0x5e7c3bec,0xdbea298f,0x1c068aed,0x7c80acec,0x08d381f1,0xe330495b,0x03b56be8,0x9222882d,0xaeffb8f2,0xc4af8bf7,0x95ff38f6,0x1fc57d8c,0x50e32d35,0x17b444f0,0x6635be52
-.long 0xa5177900,0x04d15276,0xf6858752,0x4e1dbb47,0xc615796c,0x5b475622,0x691867bf,0xa6fa0387,0x2844c6d0,0xed7f5d56,0x03a2477d,0xc633cf9b,0x2d3721d6,0xf6be5c40,0xe9fd68e6,0xaf312eb7
-.long 0xe7417ce1,0x242792d2,0x970ee7f5,0xff42bc71,0x5c67a41e,0x1ff4dc6d,0x20882a58,0x77709b7b,0xbe217f2c,0x3554731d,0x5bb72177,0x2af2a8cd,0x591dd059,0x58eee769,0x4bba6477,0xbb2930c9
-.long 0x7d930cfc,0x863ee047,0x396fd1f4,0x4c262ad1,0x039af7e1,0xf4765bc8,0x5ba104f6,0x2519834b,0xd105f961,0x7cd61b4c,0xd63bca54,0xa5415da5,0x88a1f17c,0x778280a0,0x2329512c,0xc4968949
-.long 0xcecdaa7a,0x174a9126,0x0b13247b,0xfc8c7e0e,0x3484c1c4,0x29c110d2,0x831dfc3b,0xf8eb8757,0xc0067452,0x022f0212,0x7b9b926c,0x3f6f69ee,0xef42daf4,0x09032da0,0x83f80de4,0x79f00ade
-.long 0x81236c97,0x6210db71,0x3ee0781f,0x74f7685b,0xa3e41372,0x4df7da7b,0xb1a1553e,0x2aae38b1,0xf6dd9d1b,0x1688e222,0x5b8b6487,0x57695448,0x4b2edeaa,0x478d2127,0x1e85956a,0xb2818fa5
-.long 0xf176f2c0,0x1e6addda,0xe2572658,0x01ca4604,0x85342ffb,0x0a404ded,0x441838d6,0x8cf60f96,0xc9071c4a,0x9bbc691c,0x34442803,0xfd588744,0x809c0d81,0x97101c85,0x8c456f7f,0xa7fb754c
-.long 0xd51805e1,0xc95f3c5c,0xb299dca8,0xab4ccd39,0x47eaf500,0x3e03d20b,0xd7b80893,0xfa3165c1,0xe160e552,0x005e8b54,0x9019d11f,0xdc4972ba,0x0c9a4a7a,0x21a6972e,0x37840fd7,0xa52c258f
-.long 0xc1e99d81,0xf8559ff4,0xa3c617c0,0x08e1a7d6,0x248c6ba7,0xb398fd43,0xd1283794,0x6ffedd91,0xd629d208,0x8a6a59d2,0x3490530e,0xa9d141d5,0x38505989,0x42f6fc18,0x479d94ee,0x09bf250d
-.long 0xb3822790,0x223ad3b1,0x93b8971c,0x6c5926c0,0x75f7fa62,0x609efc7e,0x1ec2d989,0x45d66a6d,0x987d2792,0x4422d663,0x3eb31d2b,0x4a73caad,0xa32cb9e6,0xf06c2ac1,0x91aeba84,0xd9445c5f
-.long 0xaf71013f,0x6af7a1d5,0x0bedc946,0xe68216e5,0xd27370a0,0xf4cba30b,0x870421cc,0x7981afbf,0x9449f0e1,0x02496a67,0x0a47edae,0x86cfc4be,0xb1feca22,0x3073c936,0x03f8f8fb,0xf5694612
-.long 0x901515ea,0xd063b723,0x749cf038,0x4c6c77a5,0xab9e5059,0x6361e360,0xa76a37c0,0x596cf171,0x6530ae7a,0x800f53fa,0x0792a7a6,0x0f5e631e,0xefdb81c9,0x5cc29c24,0x3f9c40ba,0xa269e868
-.long 0x2cb7191e,0xec14f9e1,0xe5b08ea6,0x78ea1bd8,0x46332bb9,0x3c65aa9b,0xbf80ce25,0x84cc22b3,0xd49d5bf1,0x0098e9e9,0x19087da4,0xcd4ec1c6,0xaef6e357,0x3c9d07c5,0x9f8f64b8,0x839a0268
-.long 0xc6d8607f,0xc5e9eb62,0x6aa995e4,0x759689f5,0xbbb48317,0x70464669,0xe402417d,0x921474bf,0x2a354c8c,0xcabe135b,0x812fa4b5,0xd51e52d2,0x53311fe8,0xec741096,0xb864514b,0x4f774535
-.long 0x5bde48f8,0xbcadd671,0x2189bc7d,0xc9703873,0xc709ee8a,0x5d45299e,0x845aaff8,0xd1287ee2,0xdb1dbf1f,0x7d1f8874,0x990c88d6,0xea46588b,0x84368313,0x60ba649a,0x60d543ae,0xd5fdcbce
-.long 0x810d5ab0,0x90b46d43,0x04d7e5cc,0x6739d8f9,0x0d337c33,0x021c1a58,0x68e67c40,0x00a61162,0x379f0a1f,0x95ef413b,0xe9e2ab95,0xfe126605,0x2f5f199c,0x67578b85,0x2cb84913,0xf5c00329
-.long 0x37577dd8,0xf7956430,0x29c5fe88,0x83b82af4,0xcdbdc132,0x9c1bea26,0x9c04339e,0x589fa086,0xb13799df,0x033e9538,0xd295d034,0x85fa8b21,0xbd9ddcca,0xdf17f73f,0xddb66334,0xf32bd122
-.long 0x858b044c,0x55ef88a7,0x5aa9e397,0x1f0d69c2,0x40d85559,0x55fd9cc3,0x7785ddb2,0xc774df72,0xd3bd2e1c,0x5dcce9f6,0xa85dfed0,0xeb30da20,0xd3ed09c4,0x5ed7f5bb,0x82a9c1bd,0x7d42a35c
-.long 0x9890272d,0xcf3de995,0x3e713a10,0x75f3432a,0xe28227b8,0x5e13479f,0xfefacdc8,0xb8561ea9,0x8332aafd,0xa6a297a0,0x73809b62,0x9b0d8bb5,0x0c63036f,0xd2fa1cfd,0xbd64bda8,0x7a16eb55
-.long 0x78e62ddc,0x3f5cf5f6,0x07fd752b,0x2267c454,0x5e437bbe,0x5e361b6b,0x8354e075,0x95c59501,0xf2b254d9,0xec725f85,0x2cb52b4e,0x844b617d,0xcf425fb5,0xed8554f5,0x2af9f312,0xab67703e
-.long 0x3cf48283,0x4cc34ec1,0x9c8a705e,0xb09daa25,0x5b7d4f84,0xd1e9d0d0,0xdb38929d,0x4df6ef64,0xaa21ba46,0xe16b0763,0xa293f8fb,0xc6b1d178,0xd520aabf,0x0ff5b602,0xc339397a,0x94d671bd
-.long 0x4f5792fa,0x7c7d98cf,0x11215261,0x7c5e0d67,0xa7c5a6d4,0x9b19a631,0x7a45274d,0xc8511a62,0xa5a60d99,0x0c16621c,0xcf5e48cb,0xf7fbab88,0xf7ddee08,0xab1e6ca2,0xe7867f3c,0x83bd08ce
-.long 0x2ac13e27,0xf7e48e8a,0x4eb1a9f5,0x4494f6df,0x981f0a62,0xedbf84eb,0x536438f0,0x49badc32,0x004f7571,0x50bea541,0xdf1c94ee,0xbac67d10,0xb727bc31,0x253d73a1,0x30686e28,0xb3d01cf2
-.long 0x55fd0b8b,0x51b77b1b,0xfeec3173,0xa099d183,0x670e72b7,0x202b1fb7,0xa8e1635f,0xadc88b33,0xf989d905,0x34e8216a,0x29b58d01,0xc2e68d20,0x6fe55a93,0x11f81c92,0x8f296f40,0x15f1462a
-.long 0xea3d62f2,0x1915d375,0x01c8977d,0xa17765a3,0xe47b26f6,0x7559710a,0x535077a5,0xe0bd29c8,0x08d84858,0x615f976d,0x69ced5c1,0x370dfe85,0xa734fa56,0xbbc7503c,0x91ac4574,0xfbb9f1ec
-.long 0x060dd7ef,0x95d7ec53,0x6e657979,0xeef2dacd,0xe2a08235,0x54511af3,0x1f4aea3d,0x1e324aa4,0xe6e67671,0x550e7e71,0xbf52faf7,0xbccd5190,0x223cc62a,0xf880d316,0x2b32eb5d,0x0d402c7e
-.long 0x306a5a3b,0xa40bc039,0x96783a1b,0x4e0a41fd,0x0253cdd4,0xa1e8d39a,0xc7388638,0x6480be26,0x2285f382,0xee365e1d,0xec0b5c36,0x188d8d8f,0x1f0f4d82,0x34ef1a48,0xa487d29a,0x1a8f43e1
-.long 0x77aefb3a,0x8168226d,0x1e72c253,0xf69a751e,0xe9594df1,0x8e04359a,0xd14c0467,0x475ffd7d,0x3844e95c,0xb5a2c2b1,0xdd12ef94,0x85caf647,0xf1063d00,0x1ecd2a9f,0x23843311,0x1dd2e229
-.long 0x73d17244,0x38f0e09d,0x8fc653f1,0x3ede7746,0xdc20e21c,0xae4459f5,0x6a8599ea,0x00db2ffa,0x30cfd905,0x11682c39,0xa5c112a6,0x4934d074,0x568bfe95,0xbdf063c5,0x016c441a,0x779a440a
-.long 0x97d6fbdc,0x0c23f218,0xe0776aac,0xd3a5cd87,0xd712e8db,0xcee37f72,0x26f74e8d,0xfb28c70d,0xb61301a0,0xffe0c728,0xd3724354,0xa6282168,0x768ffedc,0x7ff4cb00,0x03b02de9,0xc51b3088
-.long 0x3902dda5,0xa5a8147c,0xfe6973b4,0x35d2f706,0xc257457e,0x5ac2efcf,0x8700611b,0x933f48d4,0x4912beb2,0xc365af88,0x162edf94,0x7f5a4de6,0x0c32f34b,0xc646ba7c,0xb2091074,0x632c6af3
-.long 0x753e43a9,0x58d4f2e3,0x24d4e23f,0x70e1d217,0xafede6a6,0xb24bf729,0x710c8b60,0x7f4a94d8,0x8d4faa6a,0xaad90a96,0xb066b690,0xd9ed0b32,0x78b6dbfd,0x52fcd37b,0x8bd2b431,0x0b64615e
-.long 0xcfb9fad5,0x228e2048,0x240b76bd,0xbeaa386d,0x90dad7bc,0x2d6681c8,0x06d38f5e,0x3e553fc3,0x9d5f9750,0xf27cdb9b,0xd28c5b0e,0x3e85c52a,0x5247c39b,0x190795af,0xbddd6828,0x547831eb
-.long 0x4a82f424,0xf327a227,0x7e47f89d,0x36919c78,0x43c7392c,0xe4783919,0x2316fefe,0xf101b9aa,0x1c5009d2,0xbcdc9e9c,0x9cd18345,0xfb55ea13,0xa3ce77c7,0xf5b5e231,0xd2f2cb3d,0xde6b4527
-.long 0x9bb26f5f,0x10f6a333,0x044d85b6,0x1e85db8e,0x94197e54,0xc3697a08,0xa7cb4ea8,0x65e18cc0,0xa471fe6e,0xa38c4f50,0x2f13439c,0xf031747a,0xc007318b,0x53c4a6ba,0x1deccb3d,0xa8da3ee5
-.long 0x558216b1,0x0555b31c,0x2f79e6c2,0x90c7810c,0xfe8eed3c,0x9b669f4d,0xe0fac126,0x70398ec8,0xf701b235,0xa96a449e,0xeb94f395,0x0ceecdb3,0xd0cb7431,0x285fc368,0x16a18c64,0x0d37bb52
-.long 0xb880d2dd,0x05110d38,0x65930d57,0xa60f177b,0xf36235f5,0x7da34a67,0x183816b9,0x47f5e17c,0xdb394af4,0xc7664b57,0x7036f789,0x39ba215d,0x2f27b472,0x46d2ca0e,0xf73a84b7,0xc42647ee
-.long 0x64488f1d,0x44bc7545,0xf4cf85d5,0xaa922708,0x53e4df63,0x721a01d5,0x5db46ced,0x649c0c51,0x3cffcb6c,0x6bf0d64e,0x50f71d96,0xe3bf93fe,0xbcc194a0,0x75044558,0x6afdc554,0x16ae3372
-.long 0x5ca48f3f,0xbfc01adf,0xe22a9b84,0x64352f06,0xc1099e4a,0xcee54da1,0xfa1b89c0,0xbbda54e8,0x6f6e55fb,0x166a3df5,0x20176f88,0x1ca44a24,0xdfb7b5ff,0x936afd88,0x8611d4a0,0xe34c2437
-.long 0x86142103,0x7effbb75,0x1f34fc4d,0x6704ba1b,0x10c1b122,0x7c2a468f,0x8c6aace9,0x36b3a610,0x75a0d050,0xabfcc0a7,0x3ce33e32,0x066f9197,0x29fe09be,0xce905ef4,0xa8376351,0x89ee25ba
-.long 0xfd29dc76,0x2a3ede22,0x36f17260,0x7fd32ed9,0x284b4126,0x0cadcf68,0xa7951fc8,0x63422f08,0x0807e199,0x562b24f4,0x22ad4490,0xfe9ce5d1,0x0db2b1b4,0xc2f51b10,0xe4541d0d,0xeb3613ff
-.long 0x2680813b,0xbd2c4a05,0x561b08d6,0x527aa55d,0xa7205558,0xa9f8a40e,0x243d0bec,0xe3eea56f,0xa0ff58b3,0x7b853817,0x1a69e627,0xb67d3f65,0xa869b5d6,0x0b76bbb9,0x546723ed,0xa3afeb82
-.long 0x3e554892,0x5f24416d,0x430e2a45,0x8413b53d,0x9032a2a0,0x99c56aee,0xeec367b1,0x09432bf6,0xdaf0ecc1,0x552850c6,0x5bc92048,0x49ebce55,0x54811307,0xdfb66ba6,0x6f298597,0x1b84f797
-.long 0x8d1d7a0d,0x79590481,0x3a6fa556,0xd9fabe03,0xba9e5d35,0xa40f9c59,0xf6247577,0xcb1771c1,0xe9a6312b,0x542a47ca,0x552dd8c5,0xa34b3560,0x0d794716,0xfdf94de0,0x9c623094,0xd46124a9
-.long 0x68afe8b4,0x56b7435d,0x6c0d8ea1,0x27f20540,0x73186898,0x12b77e14,0x7479490f,0xdbc3dd46,0xc03b0c05,0x951a9842,0x7921bc96,0x8b1b3bb3,0x2b202e0a,0xa573b346,0x47254d56,0x77e4665d
-.long 0xd23e3984,0x08b70dfc,0xebd14236,0xab86e8bc,0x57114ba7,0xaa3e07f8,0xab0ef4f2,0x5ac71689,0x0139d9af,0x88fca384,0x76644af0,0x72733f88,0x65d74f4a,0xf122f72a,0xa5626c7a,0x13931577
-.long 0x70f8d5a4,0xd5b5d9eb,0xd7bbb228,0x375adde7,0x0c1c0b32,0x31e88b86,0x173edbaa,0xd1f568c4,0x5459df02,0x1592fc83,0x0fcd9a7e,0x2beac0fb,0x1b473b0a,0xb0a6fdb8,0x0fe8fc48,0xe3224c6f
-.long 0xe87edf5b,0x680bd00e,0x20e77cf5,0x30385f02,0x4d42d1b2,0xe9ab98c0,0xd3816d77,0x72d191d2,0x0917d9e5,0x1564daca,0x1f8fed7f,0x394eab59,0x7fbb3896,0xa209aa8d,0xbe6ac98e,0x5564f3b9
-.long 0xd73654ef,0xead21d05,0x13d78d74,0x68d1a9c4,0x6d4973a0,0x61e01708,0x46e6d32a,0x83da3500,0x68ae0118,0x6a3dfca4,0xd02da069,0xa1b9a4c9,0xebab8302,0x0b2ff9c7,0x944ba436,0x98af07c3
-.long 0x995f0f9f,0x85997326,0x71b58bc6,0x467fade0,0xbd625a2b,0x47e4495a,0x33c3b8cd,0xfdd2d01d,0xc693f9fa,0x2c38ae28,0x348f7999,0x48622329,0x2161f583,0x97bf738e,0x565e8cc9,0x15ee2fa7
-.long 0x5777e189,0xa1a5c845,0x456f2829,0xcc10bee0,0xda762bd5,0x8ad95c56,0xe9d91da8,0x152e2214,0x7cb23c74,0x975b0e72,0xa90c66df,0xfd5d7670,0x225ffc53,0xb5b5b8ad,0xfaded2ae,0xab6dff73
-.long 0x6f4cbe9d,0xebd56781,0x6a574bd7,0x0ed8b249,0x81a881fa,0x41c246fe,0xc3db9c70,0x91564805,0x5b862809,0xd7c12b08,0x55858d7b,0x1facd1f1,0xaf09e92a,0x7693747c,0x189a425f,0x3b69dcba
-.long 0x967365ef,0x0be28e9f,0xe801f5c9,0x57300eb2,0xd583352f,0x93b8ac6a,0xcd05b2b7,0xa2cf1f89,0x4dcc40cc,0x7c0c9b74,0xada523fb,0xfee38c45,0x1099cc4d,0xb49a4dec,0x69f069c6,0x325c377f
-.long 0x476cc9ff,0xe12458ce,0xc6d4cb63,0x580e0b6c,0x9072289b,0xd561c8b7,0xa619e6da,0x0377f264,0x88e591a5,0x26685362,0x7523ca2b,0xa453a7bd,0xc1df4533,0x8a9536d2,0xbe972f79,0xc8e50f2f
-.long 0x6d3549cf,0xd433e50f,0xfacd665e,0x6f33696f,0xce11fcb4,0x695bfdac,0xaf7c9860,0x810ee252,0x7159bb2c,0x65450fe1,0x758b357b,0xf7dfbebe,0xd69fea72,0x2b057e74,0x92731745,0xd485717a
-.long 0xee36860c,0x896c42e8,0x4113c22d,0xdaf04dfd,0x44104213,0x1adbb7b7,0x1fd394ea,0xe5fd5fa1,0x1a4e0551,0x68235d94,0x18d10151,0x6772cfbe,0x09984523,0x276071e3,0x5a56ba98,0xe4e879de
-.long 0x285b9491,0xaaafafb0,0x1e4c705e,0x01a0be88,0x2ad9caab,0xff1d4f5d,0xc37a233f,0x6e349a4a,0x4a1c6a16,0xcf1c1246,0x29383260,0xd99e6b66,0x5f6d5471,0xea3d4366,0xff8cc89b,0x36974d04
-.long 0xcfe89d80,0xc26c49a1,0xda9c8371,0xb42c026d,0xdad066d2,0xca6c013a,0x56a4f3ee,0xfb8f7228,0xd850935b,0x08b579ec,0xd631e1b3,0x34c1a74c,0xac198534,0xcb5fe596,0xe1f24f25,0x39ff21f6
-.long 0x8f929057,0x27f29e14,0xc0c853df,0x7a64ae06,0x58e9c5ce,0x256cd183,0xded092a5,0x9d9cce82,0x6e93b7c7,0xcc6e5979,0x31bb9e27,0xe1e47092,0xaa9e29a0,0xb70b3083,0x3785e644,0xbf181a75
-.long 0x8ead09f7,0xf53f2c65,0x9780d14d,0x1335e1d5,0xcd1b66bc,0x69cc20e0,0xbbe0bfc8,0x9b670a37,0x28efbeed,0xce53dc81,0x8326a6e5,0x0c74e77c,0xb88e9a63,0x3604e0d2,0x13dc2248,0xbab38fca
-.long 0x5c0a3f1e,0x8ed6e8c8,0x7c87c37f,0xbcad2492,0x9ee3b78d,0xfdfb62bb,0xcbceba46,0xeba8e477,0xeeaede4b,0x37d38cb0,0x7976deb6,0x0bc498e8,0x6b6147fb,0xb2944c04,0xf71f9609,0x8b123f35
-.long 0xde79dc24,0xa155dcc7,0x558f69cd,0xf1168a32,0x0d1850df,0xbac21595,0xb204c848,0x15c8295b,0x7d8184ff,0xf661aa36,0x30447bdb,0xc396228e,0xbde4a59e,0x11cd5143,0x6beab5e6,0xe3a26e3b
-.long 0x1402b9d0,0xd3b3a13f,0x2c7bc863,0x573441c3,0x578c3e6e,0x4b301ec4,0x0adaf57e,0xc26fc9c4,0x7493cea3,0x96e71bfd,0x1af81456,0xd05d4b3f,0x6a8c608f,0xdaca2a8a,0x0725b276,0x53ef07f6
-.long 0x7824fc56,0x07a5fbd2,0x13289077,0x34675218,0xe0c48349,0x5bf69fd5,0xb6aa7875,0xa613ddd3,0x5450d866,0x7f78c19c,0x8f84a481,0x46f4409c,0x90fce239,0x9f1d1928,0xb2ce44b9,0x016c4168
-.long 0xc7435978,0xbae023f0,0x20e30e19,0xb152c888,0xe3fa6faf,0x9c241645,0x84823e60,0x735d95c1,0x03955317,0x03197573,0xf03b4995,0x0b4b02a9,0x70274600,0x076bf559,0xaaf57508,0x32c5cc53
-.long 0x60624129,0xe8af6d1f,0x9a5e2b5e,0xb7bc5d64,0x5f082d72,0x3814b048,0xce19677a,0x76f267f2,0xb36eed93,0x626c630f,0x3bf56803,0x55230cd7,0xce2736a0,0x78837949,0xaa6c55f1,0x0d792d60
-.long 0xd5c7c5d2,0x0318dbfd,0x072b342d,0xb38f8da7,0x7b8de38a,0x3569bddc,0xa1c94842,0xf25b5887,0x2946ad60,0xb2d5b284,0xe9d1707e,0x854f29ad,0x2c6a4509,0xaa5159dc,0x57189837,0x899f94c0
-.long 0xf4a55b03,0xcf6adc51,0x35e3b2d5,0x261762de,0x04827b51,0x4cc43012,0xc6021442,0xcd22a113,0x247c9569,0xce2fd61a,0xd152beca,0x59a50973,0x63a716d4,0x6c835a11,0x187dedcf,0xc26455ed
-.long 0x49ce89e7,0x27f536e0,0xcc890cb5,0x18908539,0xd83c2aa1,0x308909ab,0x1ab73bd3,0xecd3142b,0xb3f5ab84,0x6a85bf59,0xf2bea4c6,0x3c320a68,0x6da4541f,0xad8dc538,0xb7c41186,0xeaf34eb0
-.long 0x977c97c4,0x1c780129,0xc57eb9fa,0x5ff9beeb,0xc822c478,0xa24d0524,0x461cd415,0xfd8eec2a,0xf027458c,0xfbde194e,0x1d1be115,0xb4ff5319,0x4866d6f4,0x63f874d9,0xb21ad0c9,0x35c75015
-.long 0x46ac49d2,0xa6b5c9d6,0x83137aa9,0x42c77c0b,0x68225a38,0x24d000fc,0x2fe1e907,0x0f63cfc8,0xc6441f95,0x22d1b01b,0xec8e448f,0x7d38f719,0x787fb1ba,0x9b33fa5f,0x190158df,0x94dcfda1
-.long 0x5f6d4a09,0xc47cb339,0xee52b826,0x6b4f355c,0xf51b930a,0x3d100f5d,0x9f668f69,0xf4512fac,0x206c4c74,0x546781d5,0xcb4d2e48,0xd021d4d4,0xca085c2d,0x494a54c2,0x520850a8,0xf1dbaca4
-.long 0x490a1aca,0x63c79326,0x41526b02,0xcb64dd9c,0xa2979258,0xbb772591,0x48d97846,0x3f582970,0x7c213ba7,0xd66b70d1,0xe8a0ced4,0xc28febb5,0xc10338c1,0x6b911831,0xbf0126f3,0x0d54e389
-.long 0x4af206ee,0x7048d460,0x77e97cb9,0x786c88f6,0xac64802e,0xd4375ae1,0xd53ec11c,0x469bcfe1,0x47062230,0xfc9b340d,0xc5b4a3ac,0xe743bb57,0x59ef45ac,0xfe00b4aa,0x59edf188,0x29a4ef23
-.long 0xb483689b,0x40242efe,0x513ac262,0x2575d3f6,0x0ca6db72,0xf30037c8,0x98864be2,0xc9fcce82,0x0149362d,0x84a112ff,0x1c4ae971,0x95e57582,0x945cf86c,0x1fa4b1a8,0x0b024a2f,0x4525a734
-.long 0x8f338360,0xe76c8b62,0x28edf32b,0x483ff593,0x298b1aec,0x67e8e90a,0x736d9a21,0x9caab338,0x66892709,0x5c09d2fd,0xb55a1d41,0x2496b4dc,0xe24a4394,0x93f5fb1a,0x6fa8f6c1,0x08c75049
-.long 0xc905d85f,0xcaead1c2,0x0733ae57,0xe9d7f790,0xf07cdd94,0x24c9a65c,0xa4b55931,0x7389359c,0x367e45f7,0xf58709b7,0xcb7e7adc,0x1f203067,0xc7b72818,0x82444bff,0xbaac8033,0x07303b35
-.long 0xd13b7ea1,0x1e1ee4e4,0xe0e74180,0xe6489b24,0x7e70ef70,0xa5f2c610,0xbdd10894,0xa1655412,0x7af4194e,0x555ebefb,0x8e89bd9c,0x533c1c3c,0x89895856,0x735b9b57,0x567f5c15,0x15fb3cd2
-.long 0x526f09fd,0x057fed45,0x8128240a,0xe8a4f10c,0xff2bfd8d,0x9332efc4,0xbd35aa31,0x214e77a0,0x14faa40e,0x32896d73,0x01e5f186,0x767867ec,0x17a1813e,0xc9adf8f1,0x54741795,0xcb6cda78
-.long 0x349d51aa,0xb7521b6d,0xe3c7b8e9,0xf56b5a9e,0x32a096df,0xc6f1e5c9,0xa3635024,0x083667c4,0x18087f2f,0x365ea135,0xd136e45d,0xf1b8eaac,0x73aec989,0xc8a0e484,0x142c9259,0xd75a324b
-.long 0x01dae185,0xb7b4d001,0x9b7a94bc,0x45434e0b,0xfbd8cb0b,0xf54339af,0xe98ef49e,0xdcc4569e,0x09a51299,0x7789318a,0xb2b025d8,0x81b4d206,0xfae85792,0xf64aa418,0xacd7baf7,0x3e50258f
-.long 0x2996864b,0xdce84cdb,0x1f485fa4,0xa2e67089,0x534c6a5a,0xb28b2bb6,0xc94b9d39,0x31a7ec6b,0xd6bc20da,0x1d217766,0x86761190,0x4acdb5ec,0x73701063,0x68726328,0x2128c29b,0x4d24ee7c
-.long 0xa19fd868,0xc072ebd3,0xdb8ddd3b,0x612e481c,0x1a64d852,0xb4e1d754,0xc4c6c4ab,0x00ef95ac,0xaa0a6c46,0x1536d2ed,0x43774790,0x61294086,0x343fda10,0x54af25e8,0xfd25d6f2,0x9ff9d98d
-.long 0x468b8835,0x0746af7c,0x730ecea7,0x977a31cb,0xc2cf4a81,0xa5096b80,0x6458c37a,0xaa986833,0xa6bd9d34,0x6af29bf3,0x33c5d854,0x6a62fe9b,0xb7133b5e,0x50e6c304,0x7d6e6848,0x04b60159
-.long 0x5579bea4,0x4cd296df,0x5ceedaf1,0x10e35ac8,0xe3bcc5b1,0x04c4c5fd,0x89412cf9,0x95f9ee8a,0x82b6eb0f,0x2c9459ee,0x95c2aadd,0x2e845765,0xd327fcfe,0x774a84ae,0x0368d476,0xd8c93722
-.long 0xf83e8a3b,0x0dbd5748,0x8d2495f3,0xa579aa96,0xae496e9b,0x535996a0,0xb7f9bcc2,0x07afbfe9,0x5b7bd293,0x3ac1dc6d,0x7022323d,0x3b592cff,0x9c0a3e76,0xba0deb98,0x4b197acb,0x18e78e9f
-.long 0x296c36ef,0x211cde10,0x82c4da77,0x7ee89672,0xa57836da,0xb617d270,0x9cb7560b,0xf0cd9c31,0xe455fe90,0x01fdcbf7,0x7e7334f3,0x3fb53cbb,0x4e7de4ec,0x781e2ea4,0x0b384fd0,0x8adab3ad
-.long 0x53d64829,0x129eee2f,0xa261492b,0x7a471e17,0xe4cb4a2c,0xe4f9adb9,0x97ba2c2d,0x3d359f6f,0x0aacd697,0x346c6786,0x75c2f8a8,0x92b444c3,0xd85df44e,0xc79fa117,0x398ddf31,0x56782372
-.long 0xbbbab3b8,0x60e690f2,0x8b04816b,0x4851f8ae,0x9c92e4d2,0xc72046ab,0x7cf3136b,0x518c74a1,0xf9877d4c,0xff4eb50a,0xa919cabb,0x14578d90,0xac5eb2b6,0x8218f8c4,0x542016e4,0xa3ccc547
-.long 0x327f8349,0x025bf48e,0xf43cb641,0xf3e97346,0x500f1085,0xdc2bafdf,0x2f063055,0x57167876,0x411925a6,0x5bd914b9,0xa1123de5,0x7c078d48,0x182b165d,0xee6bf835,0xba519727,0xb11b5e5b
-.long 0x1eea7b85,0xe33ea76c,0x92d4f85e,0x2352b461,0xafe115bb,0xf101d334,0x889175a3,0xfabc1294,0x5233f925,0x7f6bcdc0,0xe77fec55,0xe0a802db,0x8069b659,0xbdb47b75,0xf98fbd74,0x1c5e12de
-.long 0x4b8457ee,0x869c58c6,0x4f7ea9f7,0xa5360f69,0xf460b38f,0xe576c09f,0x22b7fb36,0x6b70d548,0x3bfae315,0x3fd237f1,0xcbdff369,0x33797852,0x25b516f9,0x97df25f5,0xba38ad2d,0x46f388f2
-.long 0x89d8ddbb,0x656c4658,0x70f38ee8,0x8830b26e,0xde1212b0,0x4320fd5c,0xe4a2edb2,0xc34f30cf,0x56ab64b8,0xabb131a3,0xd99c5d26,0x7f77f0cc,0xbf981d94,0x66856a37,0x738bd76e,0x19e76d09
-.long 0x96238f39,0xe76c8ac3,0xa830b366,0xc0a482be,0x0b4eb499,0xb7b8eaff,0x4bfb4865,0x8ecd83bc,0xa2f3776f,0x971b2cb7,0xf4b88adf,0xb42176a4,0xbe1fa446,0xb9617df5,0xcd031bd2,0x8b32d508
-.long 0x53b618c0,0x1c6bd47d,0x6a227923,0xc424f46c,0xdd92d964,0x7303ffde,0x71b5abf2,0xe9712878,0xf815561d,0x8f48a632,0xd3c055d1,0x85f48ff5,0x7525684f,0x222a1427,0x67360cc3,0xd0d841a0
-.long 0x0b9267c6,0x4245a926,0xcf07f863,0xc78913f1,0x4d0d9e24,0xaa844c8e,0x3d5f9017,0xa42ad522,0xa2c989d5,0xbd371749,0xe1f5e78e,0x928292df,0x0a1ea6da,0x493b383e,0x13aee529,0x5136fd8d
-.long 0xf2c34a99,0x860c44b1,0xbf5855ac,0x3b00aca4,0xfaaf37be,0xabf6aaa0,0x2a53ec08,0x65f43682,0xa11b12e1,0x1d9a5801,0xe20ed475,0x78a7ab2c,0x9a41e0d5,0x0de1067e,0x305023ea,0x30473f5f
-.long 0x169c7d97,0xdd3ae09d,0xcfaef9cd,0x5cd5baa4,0x65a44803,0x5cd7440b,0x47f364de,0xdc13966a,0x2b8357c1,0x077b2be8,0xe9d57c2a,0x0cb1b4c5,0x05ff363e,0x7a4ceb32,0xca35a9ef,0xf310fa4d
-.long 0xf97f68c6,0xdbb7b352,0x0b02cf58,0x0c773b50,0x3c1f96d9,0xea2e4821,0xeee01815,0xffb357b0,0xe0f28039,0xb9c924cd,0x46a3fbe4,0x0b36c95a,0x5e46db6c,0x1faaaea4,0x1928aaff,0xcae575c3
-.long 0xa70dab86,0x7f671302,0x71c58cfc,0xfcbd12a9,0xbee0cb92,0xcbef9acf,0xf8c1b583,0x573da0b9,0x0d41d550,0x4752fcfe,0x2155cffe,0xe7eec0e3,0x545ae248,0x0fc39fcb,0x8065f44e,0x522cb8d1
-.long 0x70cbb96c,0x263c962a,0xbcd124a9,0xe034362a,0x3c2ae58d,0xf120db28,0xfef6d507,0xb9a38d49,0x1ff140fd,0xb1fd2a82,0x20aee7e0,0xbd162f30,0xcb251949,0x4e17a5d4,0x4f7e1c3d,0x2aebcb83
-.long 0x937b0527,0x608eb25f,0xeb7d9997,0xf42e1e47,0xb8a53a29,0xeba699c4,0xe091b536,0x1f921c71,0x5b26bbd5,0xcce29e7b,0x3b61a680,0x7a8ef5ed,0xba1f1c7e,0xe5ef8043,0x18158dda,0x16ea8217
-.long 0x599ff0f9,0x01778a2b,0x8104fc6b,0x68a923d7,0xda694ff3,0x5bfa44df,0xf7667f12,0x4f7199db,0xe46f2a79,0xc06d8ff6,0xe9f8131d,0x08b5dead,0xabb4ce7c,0x02519a59,0xb42aec3e,0xc4f710bc
-.long 0x78bde41a,0x3d77b057,0xb4186b5a,0x6474bf80,0x88c65741,0x048b3f67,0x03c7c154,0xc64519de,0x0edfcc4f,0xdf073846,0x48f1aa6b,0x319aa737,0xca909f77,0x8b9f8a02,0x7580bfef,0x90258139
-.long 0xc0c22719,0xd8bfd3ca,0xc9ca151e,0xc60209e4,0xd9a1a69c,0x7a744ab5,0x14937f8f,0x6de5048b,0xe115ac04,0x171938d8,0x1c6b16d2,0x7df70940,0x7f8e94e7,0xa6aeb663,0x2a2cf094,0xc130388e
-.long 0x77f54e6e,0x1850be84,0x65d60fe5,0x9f258a72,0x6c9146d6,0xff7ff0c0,0xe63a830b,0x039aaf90,0x9460342f,0x38f27a73,0x3f795f8a,0x4703148c,0x9681a97e,0x1bb5467b,0xecaeb594,0x00931ba5
-.long 0x786f337c,0xcdb6719d,0xe704397d,0xd9c01cd2,0x555c2fef,0x0f4a3f20,0x7c0af223,0x00452509,0x84db8e76,0x54a58047,0x93c8aa06,0x3bacf1aa,0xf7919422,0x11ca957c,0x78cdaa40,0x50641053
-.long 0x9f7144ae,0x7a303874,0x43d4acfd,0x170c963f,0x58ddd3ef,0x5e148149,0x9e72dba8,0xa7bde582,0x6fa68750,0x0769da8b,0x572e0249,0xfa64e532,0x2619ad31,0xfcaadf9d,0xa7b349cd,0x87882daa
-.long 0x6c67a775,0x9f6eb731,0xefc5d0b1,0xcb10471a,0xe1b806b2,0xb433750c,0x57b1ae7e,0x19c5714d,0xed03fd3f,0xc0dc8b7b,0x31bc194e,0xdd03344f,0x8c6320b5,0xa66c52a7,0xd0b6fd93,0x8bc82ce3
-.long 0xb35f1341,0xf8e13501,0x25a43e42,0xe53156dd,0x4daeb85c,0xd3adf27e,0xbbeddeb5,0xb81d8379,0x2e435867,0x1b0b546e,0xeba5dd60,0x9020eb94,0x8210cb9d,0x37d91161,0x5c91f1cf,0x4c596b31
-.long 0x0e0b040d,0xb228a90f,0x45ff897f,0xbaf02d82,0x00fa6122,0x2aac79e6,0x8e36f557,0x24828817,0x113ec356,0xb9521d31,0x15eff1f8,0x9e48861e,0xe0d41715,0x2aa1d412,0x53f131b8,0x71f86203
-.long 0x3fd19408,0xf60da8da,0x278d9d99,0x4aa716dc,0xa8c51c90,0x394531f7,0xf59db51c,0xb560b0e8,0xfa34bdad,0xa28fc992,0x9cd4f8bd,0xf024fa14,0x23a9d0d3,0x5cf530f7,0xe28c9b56,0x615ca193
-.long 0x6f73c51e,0x6d2a483d,0xea0dc2dd,0xa4cb2412,0x1eb917ff,0x50663c41,0xeade299e,0x3d3a74cf,0x4a7a9202,0x29b3990f,0xa7b15c3d,0xa9bccf59,0xa5df9208,0x66a3ccdc,0x43f2f929,0x48027c14
-.long 0x40b557f0,0xd385377c,0xcd684660,0xe001c366,0xe2183a27,0x1b18ed6b,0x63210329,0x879738d8,0xbda94882,0xa687c74b,0xa684b299,0xd1bbcc48,0x863b3724,0xaf6f1112,0x2c8ce9f8,0x6943d1b4
-.long 0x098cafb4,0xe044a3bb,0x60d48caf,0x27ed2310,0x3a31b84d,0x542b5675,0xfcddbed7,0xcbf3dd50,0x41b1d830,0x25031f16,0xcb0c1e27,0xa7ec851d,0xb5ae75db,0xac1c8fe0,0x08c52120,0xb24c7557
-.long 0x1d4636c3,0x57f811dc,0x681a9939,0xf8436526,0x9c81adb3,0x1f6bc6d9,0x5b7d80d4,0x840f8ac3,0xf4387f1a,0x731a9811,0xb5156880,0x7c501cd3,0xdfe68867,0xa5ca4a07,0x5fcea120,0xf123d8f0
-.long 0xd607039e,0x1fbb0e71,0xcd3a4546,0x2b70e215,0x53324091,0x32d2f01d,0x180ab19b,0xb796ff08,0x3c57c4aa,0x32d87a86,0xb7c49a27,0x2aed9caf,0x31630d98,0x9fb35eac,0x5c3e20a3,0x338e8cdf
-.long 0x66cde8db,0x80f16182,0x2d72fd36,0x4e159980,0x9b6e5072,0xd7b8f13b,0x3b7b5dc1,0xf5213907,0x8ce4396e,0x4d431f1d,0xa7ed2142,0x37a1a680,0xd01aaf6b,0xbf375696,0xe63aab66,0xaa1c0c54
-.long 0x4ed80940,0x3014368b,0x7a6fcedd,0x67e6d056,0xca97579f,0x7c208c49,0xa23597f6,0xfe3d7a81,0x7e096ae2,0x5e203202,0x24b39366,0xb1f3e1e7,0x2fdcdffc,0x26da26f3,0x6097be83,0x79422f1d
-.long 0x9db3b381,0x263a2cfb,0xd4df0a4b,0x9c3a2dee,0x7d04e61f,0x728d06e9,0x42449325,0x8b1adfbc,0x7e053a1b,0x6ec1d939,0x66daf707,0xee2be5c7,0x810ac7ab,0x80ba1e14,0xf530f174,0xdd2ae778
-.long 0x205b9d8b,0x0435d97a,0x056756d4,0x6eb8f064,0xb6f8210e,0xd5e88a8b,0xec9fd9ea,0x070ef12d,0x3bcc876a,0x4d849505,0xa7404ce3,0x12a75338,0xb8a1db5e,0xd22b49e1,0x14bfa5ad,0xec1f2051
-.long 0xb6828f36,0xadbaeb79,0x01bd5b9e,0x9d7a0258,0x1e844b0c,0xeda01e0d,0x887edfc9,0x4b625175,0x9669b621,0x14109fdd,0xf6f87b98,0x88a2ca56,0x170df6bc,0xfe2eb788,0xffa473f9,0x0cea06f4
-.long 0xc4e83d33,0x43ed81b5,0x5efd488b,0xd9f35879,0x9deb4d0f,0x164a620f,0xac6a7394,0xc6927bdb,0x9f9e0f03,0x45c28df7,0xfcd7e1a9,0x2868661e,0xffa348f1,0x7cf4e8d0,0x398538e0,0x6bd4c284
-.long 0x289a8619,0x2618a091,0x6671b173,0xef796e60,0x9090c632,0x664e46e5,0x1e66f8fb,0xa38062d4,0x0573274e,0x6c744a20,0xa9271394,0xd07b67e4,0x6bdc0e20,0x391223b2,0xeb0a05a7,0xbe2d93f1
-.long 0x3f36d141,0xf23e2e53,0x4dfca442,0xe84bb3d4,0x6b7c023a,0xb804a48d,0x76431c3b,0x1e16a8fa,0xddd472e0,0x1b5452ad,0x0d1ee127,0x7d405ee7,0xffa27599,0x50fc6f1d,0xbf391b35,0x351ac53c
-.long 0x4444896b,0x7efa14b8,0xf94027fb,0x64974d2f,0xde84487d,0xefdcd0e8,0x2b48989b,0x8c45b260,0xd8463487,0xa8fcbbc2,0x3fbc476c,0xd1b2b3f7,0xc8f443c0,0x21d005b7,0x40c0139c,0x518f2e67
-.long 0x06d75fc1,0x56036e8c,0x3249a89f,0x2dcf7bb7,0xe245e7dd,0x81dd1d3d,0xebd6e2a7,0xf578dc4b,0xdf2ce7a0,0x4c028903,0x9c39afac,0xaee36288,0x146404ab,0xdc847c31,0xa4e97818,0x6304c0d8
-.long 0xa91f6791,0xae51dca2,0x9baa9efc,0x2abe4190,0x559c7ac1,0xd9d2e2f4,0xfc9f773a,0xe82f4b51,0x4073e81c,0xa7713027,0xfbb596fc,0xc0276fac,0xa684f70c,0x1d819fc9,0xc9f7b1e0,0x29b47fdd
-.long 0x459b1940,0x358de103,0x5b013e93,0xec881c59,0x49532ad3,0x51574c93,0xb37b46de,0x2db1d445,0xdf239fd8,0xc6445b87,0x151d24ee,0xc718af75,0xf43c6259,0xaea1c4a4,0x70be02f7,0x40c0e5d7
-.long 0x721b33f2,0x6a4590f4,0xfedf04ea,0x2124f1fb,0x9745efe7,0xf8e53cde,0x65f046d9,0xe7e10432,0xe4d0c7e6,0xc3fca28e,0x87253b1b,0x847e339a,0x3743e643,0x9b595348,0x4fd12fc5,0xcb6a0a0b
-.long 0x27d02dcc,0xfb6836c3,0x7a68bcc2,0x5ad00982,0x005e912d,0x1b24b44c,0x811fdcfe,0xcc83d20f,0x666fba0c,0x36527ec1,0x14754635,0x69948197,0x556da9c2,0xfcdcb1a8,0x81a732b2,0xa5934267
-.long 0xa714181d,0xec1214ed,0x6067b341,0x609ac13b,0xa545df1f,0xff4b4c97,0x34d2076b,0xa1240501,0x1409ca97,0x6efa0c23,0x20638c43,0x254cc1a8,0xdcfb46cd,0xd4e363af,0x03942a27,0x62c2adc3
-.long 0x56e46483,0xc67b9df0,0x63736356,0xa55abb20,0xc551bc52,0xab93c098,0xb15fe64b,0x382b49f9,0x4dff8d47,0x9ec221ad,0x437df4d6,0x79caf615,0xbb456509,0x5f13dc64,0x191f0714,0xe4c589d9
-.long 0x3fd40e09,0x27b6a8ab,0x77313ea9,0xe455842e,0x1f55988b,0x8b51d1e2,0x062bbbfc,0x5716dd73,0x4e8bf3de,0x633c11e5,0x1b85be3b,0x9a0e77b6,0x0911cca6,0x56510729,0xefa6590f,0x27e76495
-.long 0x070d3aab,0xe4ac8b33,0x9a2cd5e5,0x2643672b,0x1cfc9173,0x52eff79b,0x90a7c13f,0x665ca49b,0xb3efb998,0x5a8dda59,0x052f1341,0x8a5b922d,0x3cf9a530,0xae9ebbab,0xf56da4d7,0x35986e7b
-.long 0xff3513cc,0x3a636b5c,0x3198f7dd,0xbb0cf8ba,0x41f16f86,0xb8d40522,0xde13a7bf,0x760575d8,0x9f7aa181,0x36f74e16,0xf509ed1c,0x163a3ecf,0x3c40a491,0x6aead61f,0xdfe8fcaa,0x158c95fc
-.long 0x13cda46f,0xa3991b6e,0x342faed0,0x79482415,0x666b5970,0xf3ba5bde,0xb26ab6dd,0x1d52e6bc,0x8608dd3d,0x768ba1e7,0xea076586,0x4930db2a,0xe7dc1afa,0xd9575714,0xf7c58817,0x1fc7bf7d
-.long 0xd9eee96c,0x6b47accd,0xe58cec37,0x0ca277fb,0xe702c42a,0x113fe413,0xc47cbe51,0xdd1764ee,0x7b3ed739,0x041e7cde,0x5ce9e1c0,0x50cb7459,0x2925b212,0x35568513,0x001b081c,0x7cff95c4
-.long 0x8088b454,0x63ee4cbd,0x9a9e0c8a,0xdb7f32f7,0x6b2447cb,0xb377d418,0xd370219b,0xe3e982aa,0xc2a2a593,0x06ccc1e4,0x0773f24f,0x72c36865,0x95859423,0xa13b4da7,0x75040c8f,0x8bbf1d33
-.long 0xda50c991,0x726f0973,0x822d6ee2,0x48afcd5b,0x20fd7771,0xe5fc718b,0xfd0807a1,0xb9e8e77d,0x99a7703d,0x7f5e0f44,0x618e36f3,0x6972930e,0x23807bbe,0x2b7c77b8,0xcb27ff50,0xe5b82405
-.long 0xbd379062,0xba8b8be3,0x2dce4a92,0xd64b7a1d,0xb2952e37,0x040a73c5,0xd438aeca,0x0a9e252e,0xc39d3bcb,0xdd43956b,0xb32b2d63,0x1a31ca00,0x5c417a18,0xd67133b8,0x2ef442c8,0xd08e4790
-.long 0x255c0980,0x98cb1ae9,0x2b4a739f,0x4bd86381,0x1e4a45a1,0x5a5c31e1,0x9cb0db2f,0x1e5d55fe,0x8ff5cc29,0x74661b06,0x0eb8a4f4,0x026b389f,0x58848c24,0x536b21a4,0x81dc72b0,0x2e5bf8ec
-.long 0xad886aac,0x03c187d0,0xb771b645,0x5c16878a,0xc74045ab,0xb07dfc6f,0x7800caed,0x2c6360bf,0xb9c972a3,0x24295bb5,0x7c9a6dba,0xc9e6f88e,0x92a79aa6,0x90ffbf24,0x41c26ac2,0xde29d50a
-.long 0xd309cbe6,0x9f0af483,0xe0bced4f,0x5b020d8a,0xb38023e3,0x606e986d,0x1abc6933,0xad8f2c9d,0xe7400e93,0x19292e1d,0x52be5e4d,0xfe3e18a9,0x2e0680bf,0xe8e9771d,0xc54db063,0x8c5bec98
-.long 0x74a55d1f,0x2af9662a,0x046f66d8,0xe3fbf28f,0xd4dc4794,0xa3a72ab4,0x5c7c2dd8,0x09779f45,0xc3d19d8d,0xd893bdaf,0x57d6a6df,0xd5a75094,0x952e6255,0x8cf8fef9,0xda9a8aff,0x3da67cfb
-.long 0x2c160dcd,0x4c23f62a,0x8f90eaef,0x34e6c5e3,0xa9a65d5a,0x35865519,0x8fd38a3d,0x07c48aae,0x50068527,0xb7e7aeda,0x1c90936a,0x2c09ef23,0xe879324c,0x31ecfeb6,0xfb0ec938,0xa0871f6b
-.long 0xd84d835d,0xb1f0fb68,0x861dc1e6,0xc90caf39,0x7594f8d7,0x12e5b046,0x65012b92,0x26897ae2,0xa4d6755d,0xbcf68a08,0x0991fbda,0x403ee41c,0x3bbf17e8,0x733e343e,0x679b3d65,0xd2c7980d
-.long 0xd2e11305,0x33056232,0xf3c07a6f,0x966be492,0xbb15509d,0x6a8878ff,0x0a9b59a4,0xff221101,0xabe30129,0x6c9f564a,0x336e64cf,0xc6f2c940,0x8b0c8022,0x0fe75262,0x6ae8db87,0xbe0267e9
-.long 0x93bc042b,0x22e192f1,0xb237c458,0xf085b534,0x832c4168,0xa0d192bd,0xbdf6271d,0x7a76e9e3,0xb88911b5,0x52a882fa,0xb4db0eb5,0xc85345e4,0x81a7c3ff,0xa3be02a6,0xf0ec0469,0x51889c8c
-.long 0xa5e829e5,0x9d031369,0x1607aa41,0xcbb4c6fc,0x241d84c1,0x75ac59a6,0x8829e0ee,0xc043f2bf,0x8ea5e185,0x82a38f75,0xd87cbd9f,0x8bda40b9,0x2d8fc601,0x9e65e75e,0xa35690b3,0x3d515f74
-.long 0xda79e5ac,0x534acf4f,0x8630215f,0x68b83b3a,0xd085756e,0x5c748b2e,0xe5d37cb2,0xb0317258,0xc5ccc2c4,0x6735841a,0x3d9d5069,0x7d7dc96b,0xfd1754bd,0xa147e410,0xd399ddd5,0x65296e94
-.long 0xbc8fa5bc,0xf6b5b2d0,0x500c277b,0x8a5ead67,0xdfa08a5d,0x214625e6,0x959cf047,0x51fdfedc,0x289fca32,0x6bc9430b,0x9d9bdc3f,0xe36ff0cf,0x58ea0ede,0x2fe187cb,0x5a900b3f,0xed66af20
-.long 0x5fa9f4d6,0x00e0968b,0x37a362e7,0x2d4066ce,0xbd07e772,0xa99a9748,0x06a4f1d0,0x710989c0,0xce40cbd8,0xd5dedf35,0x1743293d,0xab55c5f0,0x8aa24e2c,0x766f1144,0x605fbcb4,0x94d874f8
-.long 0xa518001b,0xa365f0e8,0x9d04ef0f,0xee605eb6,0xba8d4d25,0x5a3915cd,0xb5113472,0x44c0e1b8,0x8b6740dc,0xcbb024e8,0xee1d4f0c,0x89087a53,0x1fc4e372,0xa88fa05c,0xaf8b3af2,0x8bf395cb
-.long 0xdeb8568b,0x1e71c9a1,0x80fb3d32,0xa35daea0,0x2cf8fb81,0xe8b6f266,0x9490696a,0x6d51afe8,0x51803a19,0x81beac6e,0x86219080,0xe3d24b7f,0xdf6f463c,0x727cfd9d,0x72284ee8,0x8c6865ca
-.long 0xb743f4ef,0x32c88b7d,0xe7d11dce,0x3793909b,0x2ff2ebe8,0xd398f922,0xe5e49796,0x2c70ca44,0xcb1131b1,0xdf4d9929,0x25888e79,0x7826f298,0xf1d8740a,0x4d3a112c,0x270afa8b,0x00384cb6
-.long 0x3ab48095,0xcb64125b,0x62d05106,0x3451c256,0xa4955845,0xd73d577d,0xbf9f4433,0x39570c16,0xadecf263,0xd7dfaad3,0xdc76e102,0xf1c3d8d1,0x54c6a836,0x5e774a58,0x3e92d47b,0xdad4b672
-.long 0xf0d796a0,0xbe7e990f,0xdf0e8b02,0x5fc62478,0x030c00ad,0x8aae8bf4,0x9004ba0f,0x3d2db93b,0xd85d5ddc,0xe48c8a79,0x6bb07f34,0xe907caa7,0xa39eaed5,0x58db343a,0xadaf5724,0x0ea6e007
-.long 0xd23233f3,0xe00df169,0x77cb637f,0x3e322796,0x1da0cf6c,0x1f897c0e,0x31d6bbdd,0xa651f5d8,0x1a230c76,0xdd61af19,0xcdaa5e4a,0xbd527272,0xd0abcd7e,0xca753636,0x370bd8dc,0x78bdd37c
-.long 0x17cd93fe,0xc23916c2,0xdadce6e2,0x65b97a4d,0x174e42f8,0xe04ed4eb,0xbb21480a,0x1491ccaa,0x23196332,0x145a8280,0x587b479a,0x3c3862d7,0x01dcd0ed,0x9f4a88a3,0x3ea12f1f,0x4da2b7ef
-.long 0xb126e48e,0xf8e7ae33,0xf494e237,0x404a0b32,0xc55acadb,0x9beac474,0xcbec9fd9,0x4ee5cf3b,0x7df3c8c3,0x336b33b9,0xb76808fd,0xbd905fe3,0xaa45c16a,0x8f436981,0x3dd27b62,0x255c5bfa
-.long 0xc3dd9b4d,0x71965cbf,0xfc068a87,0xce23edbf,0x745b029b,0xb78d4725,0xcefdd9bd,0x74610713,0x1266bf52,0x7116f75f,0x18e49bb6,0x02046722,0x3d6f19e3,0xdf43df9f,0xe685cb2f,0xef1bc7d0
-.long 0x7078c432,0xcddb27c1,0xb77fedb7,0xe1961b9c,0xc2290570,0x1edc2f5c,0x19cbd886,0x2c3fefca,0xc2af389a,0xcf880a36,0xbda71cea,0x96c610fd,0x32aa8463,0xf03977a9,0x8586d90a,0x8eb7763f
-.long 0x2a296e77,0x3f342454,0x42837a35,0xc8718683,0x6a09c731,0x7dc71090,0x51b816db,0x54778ffb,0xaf06defd,0x6b33bfec,0x8592b70b,0xfe3c105f,0x61da6114,0xf937fda4,0x4c266ad7,0x3c13e651
-.long 0x855938e8,0xe363a829,0x9de54b72,0x2eeb5d9e,0x20ccfab9,0xbeb93b0e,0x25e61a25,0x3dffbb5f,0x1acc093d,0x7f655e43,0x3964ce61,0x0cb6cc3d,0xe5e9b460,0x6ab283a1,0xa1c7e72d,0x55d787c5
-.long 0xdeadbf02,0x4d2efd47,0xac459068,0x11e80219,0x71f311f0,0x810c7626,0x4ab6ef53,0xfa17ef8d,0x93e43bff,0xaf47fd25,0x0be40632,0x5cb5ff3f,0x8ee61da3,0x54687106,0xb08afd0f,0x7764196e
-.long 0xf0290a8f,0x831ab3ed,0xcb47c387,0xcae81966,0x184efb4f,0xaad7dece,0x4749110e,0xdcfc53b3,0x4cb632f9,0x6698f23c,0xb91f8067,0xc42a1ad6,0x6284180a,0xb116a81d,0xe901326f,0xebedf5f8
-.long 0x97e3e044,0xf2274c9f,0x11d09fc9,0x42018520,0xd18e6e23,0x56a65f17,0x352b683c,0x2ea61e2a,0x575eaa94,0x27d291bc,0xb8ff522d,0x9e7bc721,0xa7f04d6f,0x5f7268bf,0xaba41748,0x5868c73f
-.long 0x7be0eead,0x9f85c2db,0xff719135,0x511e7842,0xc5ea90d7,0x5a06b1e9,0x26fab631,0x0c19e283,0xe9206c55,0x8af8f0cf,0x3553c06a,0x89389cb4,0xf65f8004,0x39dbed97,0xc508991d,0x0621b037
-.long 0x96e78cc4,0x1c52e635,0x0c06b4a8,0x5385c8b2,0xb0e87d03,0xd84ddfdb,0x934bafad,0xc49dfb66,0x59f70772,0x7071e170,0x3a1db56b,0x3a073a84,0x3b8af190,0x03494903,0xd32920f0,0x7d882de3
-.long 0xb2cf8940,0x91633f0a,0x6f948f51,0x72b0b178,0x782653c8,0x2d28dc30,0xdb903a05,0x88829849,0x6a19d2bb,0xb8095d0c,0x86f782cb,0x4b9e7f0c,0x2d907064,0x7af73988,0x8b32643c,0xd12be0fe
-.long 0x0e165dc3,0x358ed23d,0x4e2378ce,0x3d47ce62,0xfeb8a087,0x7e2bb0b9,0xe29e10b9,0x3246e8ae,0x03ce2b4d,0x459f4ec7,0xbbc077cf,0xe9b4ca1b,0x0e9940c1,0x2613b4f2,0x047d1eb1,0xfc598bb9
-.long 0x45036099,0x9744c62b,0x167c65d8,0xa9dee742,0xdabe1943,0x0c511525,0x93c6c624,0xda110554,0x651a3be2,0xae00a52c,0x884449a6,0xcda5111d,0xff33bed1,0x063c06f4,0x0d3d76b4,0x73baaf9a
-.long 0x7fc63668,0x52fb0c9d,0x0c039cde,0x6886c9dd,0x55b22351,0x602bd599,0x360c7c13,0xb00cab02,0x81b69442,0x8cb616bc,0xb55c3cee,0x41486700,0xf49ba278,0x71093281,0x64a50710,0xad956d9c
-.long 0x638a7e81,0x9561f28b,0x5980ddc3,0x54155cdf,0xd26f247a,0xb2db4a96,0x4787d100,0x9d774e4e,0x078637d2,0x1a9e6e2e,0x5e0ae06a,0x1c363e2d,0xe9cfa354,0x7493483e,0x7f74b98d,0x76843cb3
-.long 0xd4b66947,0xbaca6591,0x04460a8c,0xb452ce98,0x43768f55,0x6830d246,0x7dff12df,0xf4197ed8,0x400dd0f7,0x6521b472,0x4b1e7093,0x59f5ca8f,0x080338ae,0x6feff11b,0xa29ca3c6,0x0ada31f6
-.long 0x94a2c215,0x24794eb6,0x05a57ab4,0xd83a43ab,0x2a6f89fe,0x264a543a,0xdd5ec7c2,0x2c2a3868,0x8439d9b2,0xd3373940,0x0acd1f11,0x715ea672,0xe7e6cc19,0x42c1d235,0xb990585c,0x81ce6e96
-.long 0xd809c7bd,0x04e5dfe0,0x8f1050ab,0xd7b2580c,0xd8a4176f,0x6d91ad78,0x4e2e897c,0x0af556ee,0x921de0ac,0x162a8b73,0x7ea78400,0x52ac9c22,0xefce2174,0xee2a4eea,0x6d637f79,0xbe61844e
-.long 0x789a283b,0x0491f1bc,0x880836f4,0x72d3ac3d,0x88e5402d,0xaa1c5ea3,0xd5cc473d,0x1b192421,0x9dc84cac,0x5c0b9998,0x9c6e75b8,0xb0a8482d,0x3a191ce2,0x639961d0,0x6d837930,0xda3bc865
-.long 0x056e6f8f,0xca990653,0x64d133a7,0x84861c41,0x746abe40,0x8b403276,0xebf8e303,0xb7b4d51a,0x220a255d,0x05b43211,0x02419e6e,0xc997152c,0x630c2fea,0x76ff47b6,0x281fdade,0x50518677
-.long 0xcf902b0b,0x3283b8ba,0x37db303b,0x8d4b4eb5,0x755011bc,0xcc89f42d,0xdd09d19b,0xb43d74bb,0x8adba350,0x65746bc9,0xb51c1927,0x364eaf8c,0x10ad72ec,0x13c76596,0xf8d40c20,0x30045121
-.long 0xea7b979b,0x6d2d99b7,0xe6fb3bcd,0xcd78cd74,0x86cffbfe,0x11e45a9e,0x637024f6,0x78a61cf4,0x3d502295,0xd06bc872,0x458cb288,0xf1376854,0x342f8586,0xb9db26a1,0x4beee09e,0xf33effcf
-.long 0xb30cfb3a,0xd7e0c4cd,0x6c9db4c8,0x6d09b8c1,0x07c8d9df,0x40ba1a42,0x1c52c66d,0x6fd495f7,0x275264da,0xfb0e169f,0xe57d8362,0x80c2b746,0x49ad7222,0xedd987f7,0x4398ec7b,0xfdc229af
-.long 0x52666a58,0xb0d1ed84,0xe6a9c3c2,0x4bcb6e00,0x26906408,0x3c57411c,0x13556400,0xcfc20755,0x5294dba3,0xa08b1c50,0x8b7dd31e,0xa30ba286,0x991eca74,0xd70ba90e,0xe762c2b9,0x094e142c
-.long 0x979f3925,0xb81d783e,0xaf4c89a7,0x1efd130a,0xfd1bf7fa,0x525c2144,0x1b265a9e,0x4b296904,0xb9db65b6,0xed8e9634,0x03599d8a,0x35c82e32,0x403563f3,0xdaa7a54f,0x022c38ab,0x9df088ad
-.long 0xbb3fd30a,0xe5cfb066,0xeff0354e,0x429169da,0x3524e36c,0x809cf852,0x0155be1d,0x136f4fb3,0x1fbba712,0x4826af01,0x506ba1a1,0x6ef0f0b4,0x77aea73e,0xd9928b31,0x5eaa244e,0xe2bf6af2
-.long 0x4237b64b,0x8d084f12,0xe3ecfd07,0x688ebe99,0xf6845dd8,0x57b8a70c,0x5da4a325,0x808fc59c,0xa3585862,0xa9032b2b,0xedf29386,0xb66825d5,0x431ec29b,0xb5a5a8db,0x3a1e8dc8,0xbb143a98
-.long 0x12ae381b,0x35ee94ce,0x86ccda90,0x3a7f176c,0x4606eaca,0xc63a657e,0x43cd04df,0x9ae5a380,0xed251b46,0x9bec8d15,0xcaca5e64,0x1f5d6d30,0x9ff20f07,0x347b3b35,0xf7e4b286,0x4d65f034
-.long 0xf111661e,0x9e93ba24,0xb105eb04,0xedced484,0xf424b578,0x96dc9ba1,0xe83e9069,0xbf8f66b7,0xd7ed8216,0x872d4df4,0x8e2cbecf,0xbf07f377,0x98e73754,0x4281d899,0x8aab8708,0xfec85fbb
-.long 0xa5ba5b0b,0x9a3c0dee,0x42d05299,0xe6a116ce,0xe9b02d42,0xae9775fe,0xa1545cb6,0x72b05200,0x31a3b4ea,0xbc506f7d,0x8bbd9b32,0xe5893078,0xe4b12a97,0xc8bc5f37,0x4a73b671,0x6b000c06
-.long 0x765fa7d0,0x13b5bf22,0x1d6a5370,0x59805bf0,0x4280db98,0x67a5e29d,0x776b1ce3,0x4f53916f,0x33ddf626,0x714ff61f,0xa085d103,0x4206238e,0xe5809ee3,0x1c50d4b7,0x85f8eb1d,0x999f450d
-.long 0xe4c79e9b,0x658a6051,0xc66a9fea,0x1394cb73,0xc6be7b23,0x27f31ed5,0x5aa6f8fe,0xf4c88f36,0x4aaa499e,0x0fb0721f,0xe3fb2a6b,0x68b3a7d5,0x3a92851d,0xa788097d,0xe96f4913,0x060e7f8a
-.long 0x1a3a93bc,0x82eebe73,0xa21adc1a,0x42bbf465,0xef030efd,0xc10b6fa4,0x87b097bb,0x247aa4c7,0xf60c77da,0x8b8dc632,0xc223523e,0x6ffbc26a,0x344579cf,0xa4f6ff11,0x980250f6,0x5825653c
-.long 0xbc1aa2b9,0xb2dd097e,0x37a0333a,0x07889393,0x37a0db38,0x1cf55e71,0x792c1613,0x2648487f,0x3fcef261,0xdad01336,0x0eabf129,0x6239c81d,0x9d276be2,0x8ee761de,0x1eda6ad3,0x406a7a34
-.long 0x4a493b31,0x4bf367ba,0x9bf7f026,0x54f20a52,0x9795914b,0xb696e062,0x8bf236ac,0xcddab96d,0xed25ea13,0x4ff2c70a,0x81cbbbe7,0xfa1d09eb,0x468544c5,0x88fc8c87,0x696b3317,0x847a670d
-.long 0x64bcb626,0xf133421e,0x26dee0b5,0xaea638c8,0xb310346c,0xd6e7680b,0xd5d4ced3,0xe06f4097,0x7512a30b,0x09961452,0xe589a59a,0xf3d867fd,0x52d0c180,0x2e73254f,0x333c74ac,0x9063d8a3
-.long 0xd314e7bc,0xeda6c595,0x467899ed,0x2ee7464b,0x0a1ed5d3,0x1cef423c,0x69cc7613,0x217e76ea,0xe7cda917,0x27ccce1f,0x8a893f16,0x12d8016b,0x9fc74f6b,0xbcd6de84,0xf3144e61,0xfa5817e2
-.long 0x0821ee4c,0x1f354164,0x0bc61992,0x1583eab4,0x1d72879f,0x7490caf6,0xf76ae7b2,0x998ad9f3,0xa41157f7,0x1e181950,0xe8da3a7e,0xa9d7e1e6,0x8426b95f,0x963784eb,0x542e2a10,0x0ee4ed6e
-.long 0xac751e7b,0xb79d4cc5,0xfd4211bd,0x93f96472,0xc8de4fc6,0x8c72d3d2,0xdf44f064,0x7b69cbf5,0xf4bf94e1,0x3da90ca2,0xf12894e2,0x1a5325f8,0x7917d60b,0x0a437f6c,0x96c9cb5d,0x9be70486
-.long 0xe1dc5c05,0xb4d880bf,0xeebeeb57,0xd738adda,0xdf0fe6a3,0x6f0119d3,0x66eaaf5a,0x5c686e55,0xdfd0b7ec,0x9cb10b50,0x6a497c21,0xbdd0264b,0x8c546c96,0xfc093514,0x79dbf42a,0x58a947fa
-.long 0x49ccd6d7,0xc0b48d4e,0x88bd5580,0xff8fb02c,0x07d473b2,0xc75235e9,0xa2188af3,0x4fab1ac5,0x97576ec0,0x030fa3bc,0x0b7e7d2f,0xe8c946e8,0x70305600,0x40a5c9cc,0xc8b013b4,0x6d8260a9
-.long 0x70bba85c,0x0368304f,0xa4a0d311,0xad090da1,0x2415eec1,0x7170e870,0x8461ea47,0xbfba35fe,0xc1e91938,0x6279019a,0x1afc415f,0xa47638f3,0xbcba0e0f,0x36c65cbb,0x034e2c48,0x02160efb
-.long 0x615cd9e4,0xe6c51073,0xf1243c06,0x498ec047,0xb17b3d8c,0x3e5a8809,0x0cc565f1,0x5cd99e61,0x7851dafe,0x81e312df,0xa79061e2,0xf156f5ba,0x880c590e,0x80d62b71,0x0a39faa1,0xbec9746f
-.long 0xc8ed1f7a,0x1d98a9c1,0xa81d5ff2,0x09e43bb5,0x0da0794a,0xd5f00f68,0x661aa836,0x412050d9,0x90747e40,0xa89f7c4e,0xb62a3686,0x6dc05ebb,0x308e3353,0xdf4de847,0x9fb53bb9,0x53868fbb
-.long 0xcfdcf7dd,0x2b09d2c3,0x723fcab4,0x41a9fce3,0x07f57ca3,0x73d905f7,0xac8e1555,0x080f9fb1,0x9ba7a531,0x7c088e84,0xed9a147f,0x07d35586,0xaf48c336,0x602846ab,0x0ccf0e79,0x7320fd32
-.long 0xb18bd1ff,0xaa780798,0xafdd2905,0x52c2e300,0x434267cd,0xf27ea3d6,0x15605b5f,0x8b96d16d,0x4b45706b,0x7bb31049,0x743d25f8,0xe7f58b8e,0x87f30076,0xe9b5e45b,0x5d053d5a,0xd19448d6
-.long 0xd3210a04,0x1ecc8cb9,0xdafb5269,0x6bc7d463,0x67c3489f,0x3e59b10a,0x65641e1b,0x1769788c,0xbd6cb838,0x8a53b82d,0x236d5f22,0x7066d6e6,0x6908536e,0x03aa1c61,0x66ae9809,0xc971da0d
-.long 0xc49a2fac,0x01b3a86b,0x3092e77a,0x3b8420c0,0x7d6fb556,0x02057300,0xbff40a87,0x6941b2a1,0x0658ff2a,0x140b6308,0x3424ab36,0x87804363,0x5751e299,0x0253bd51,0x449c3e3a,0xc75bcd76
-.long 0x7f8f875d,0x92eb4090,0x56c26bbf,0x9c9d754e,0x8110bbe7,0x158cea61,0x745f91ea,0x62a6b802,0xc6e7394b,0xa79c41aa,0xad57ef10,0x445b6a83,0x6ea6f40c,0x0c5277eb,0x88633365,0x319fe96b
-.long 0x385f63cb,0x0b0fc61f,0x22bdd127,0x41250c84,0x09e942c2,0x67d153f1,0xc021ad5d,0x60920d08,0x724d81a5,0x229f5746,0x5bba3299,0xb7ffb892,0xde413032,0x518c51a1,0x3c2fd94c,0x2a9bfe77
-.long 0x3191f4fd,0xcbcde239,0xd3d6ada1,0x43093e16,0x58769606,0x184579f3,0xd236625c,0x2c94a8b3,0x5c437d8e,0x6922b9c0,0xd8d9f3c8,0x3d4ae423,0x2e7090a2,0xf72c31c1,0xd76a55bd,0x4ac3f5f3
-.long 0x6b6af991,0x342508fc,0x1b5cebbd,0x0d527100,0xdd440dd7,0xb84740d0,0x780162fd,0x748ef841,0xdfc6fafb,0xa8dbfe0e,0xf7300f27,0xeadfdf05,0xfeba4ec9,0x7d06555f,0x9e25fa97,0x12c56f83
-.long 0xd39b8c34,0x77f84203,0x3125eddb,0xed8b1be6,0xf6e39dc5,0x5bbf2441,0x6a5d678a,0xb00f6ee6,0x57d0ea99,0xba456ecf,0x17e06c43,0xdcae0f58,0x0f5b4baa,0x01643de4,0xd161b9be,0x2c324341
-.long 0xe126d468,0x80177f55,0x76748e09,0xed325f1f,0xcfa9bdc2,0x6116004a,0x3a9fb468,0x2d8607e6,0x6009d660,0x0e573e27,0x8d10c5a1,0x3a525d2e,0x3b9009a0,0xd26cb45c,0xde9d7448,0xb6b0cdc0
-.long 0xe1337c26,0x949c9976,0xd73d68e5,0x6faadebd,0xf1b768d9,0x9e158614,0x9cc4f069,0x22dfa557,0xbe93c6d6,0xccd6da17,0xa504f5b9,0x24866c61,0x8d694da1,0x2121353c,0x0140b8c6,0x1c6ca580
-.long 0xe964021e,0xc245ad8c,0x032b82b3,0xb83bffba,0x47ef9898,0xfaa220c6,0x982c948a,0x7e8d3ac6,0xbc2d124a,0x1faa2091,0x05b15ff4,0xbd54c3dd,0xc87c6fb7,0x386bf3ab,0xfdeb6f66,0xfb2b0563
-.long 0x5b45afb4,0x4e77c557,0xefb8912d,0xe9ded649,0x42f6e557,0x7ec9bbf5,0x62671f00,0x2570dfff,0x88e084bd,0x2b3bfb78,0xf37fe5b4,0xa024b238,0x95649aee,0x44e7dc04,0x5e7ec1d8,0x498ca255
-.long 0xaaa07e86,0x3bc766ea,0xf3608586,0x0db6facb,0xbdc259c8,0xbadd2549,0x041c649f,0x95af3c6e,0x02e30afb,0xb36a928c,0x008a88b8,0x9b5356ad,0xcf1d9e9d,0x4b67a5f1,0xa5d8d8ce,0xc6542e47
-.long 0x7adfb6cc,0x73061fe8,0x98678141,0xcc826fd3,0x3c80515a,0x00e758b1,0x41485083,0x6afe3247,0xb6ae8a75,0x0fcb08b9,0x4acf51e1,0xb8cf388d,0x6961b9d6,0x344a5560,0x6a97fd0c,0x1a6778b8
-.long 0xecc4c7e3,0xd840fdc1,0x16db68cc,0xde9fe47d,0xa3e216aa,0xe95f89de,0x9594a8be,0x84f1a6a4,0x5a7b162b,0x7ddc7d72,0xadc817a3,0xc5cfda19,0x78b58d46,0x80a5d350,0x82978f19,0x93365b13
-.long 0x26a1fc90,0x2e44d225,0x4d70705d,0x0d6d10d2,0xd70c45f4,0xd94b6b10,0xb216c079,0x0f201022,0x658fde41,0xcec966c5,0x7e27601d,0xa8d2bc7d,0xff230be7,0xbfcce3e1,0x0033ffb5,0x3394ff6b
-.long 0x8132c9af,0xd890c509,0x361e7868,0xaac4b0eb,0xe82d15aa,0x5194ded3,0x23ae6b7d,0x4550bd2e,0xea5399d4,0x3fda318e,0x91638b80,0xd989bffa,0xa14aa12d,0x5ea124d0,0x3667b944,0x1fb1b899
-.long 0x44c44d6a,0x95ec7969,0x57e86137,0x91df144a,0x73adac44,0x915fd620,0x59a83801,0x8f01732d,0x3aa0a633,0xec579d25,0xc9d6d59c,0x06de5e7c,0xb1ef8010,0xc132f958,0xe65c1a02,0x29476f96
-.long 0xd34c3565,0x336a77c0,0x1b9f1e9e,0xef1105b2,0xf9e08002,0x63e6d08b,0xc613809e,0x9aff2f21,0x3a80e75d,0xb5754f85,0x6bbda681,0xde71853e,0x8197fd7a,0x86f041df,0x127817fa,0x8b332e08
-.long 0xb9c20cda,0x05d99be8,0xd5cd0c98,0x89f7aad5,0x5bb94183,0x7ef936fe,0xb05cd7f2,0x92ca0753,0x74a1e035,0x9d65db11,0x13eaea92,0x02628cc8,0x49e4fbf2,0xf2d9e242,0xe384f8b7,0x94fdfd9b
-.long 0x63428c6b,0x65f56054,0x90b409a5,0x2f7205b2,0xff45ae11,0xf778bb78,0xc5ee53b2,0xa13045be,0x03ef77fe,0xe00a14ff,0xffef8bef,0x689cd59f,0x1e9ade22,0x3578f0ed,0x6268b6a8,0xe99f3ec0
-.long 0xea1b3c3e,0xa2057d91,0xb8823a4a,0x2d1a7053,0x2cca451e,0xabbb336a,0x2218bb5d,0xcd2466e3,0xc8cb762d,0x3ac1f42f,0x7690211f,0x7e312aae,0x45d07450,0xebb9bd73,0x46c2213f,0x207c4b82
-.long 0x375913ec,0x99d425c1,0x67908220,0x94e45e96,0xcd67dbf6,0xc08f3087,0xc0887056,0xa5670fbe,0x66f5b8fc,0x6717b64a,0x786fec28,0xd5a56aea,0xc0ff4952,0xa8c3f55f,0x457ac49b,0xa77fefae
-.long 0x98379d44,0x29882d7c,0x509edc8a,0xd000bdfb,0xe66fe464,0xc6f95979,0xfa61bde0,0x504a6115,0xeffea31a,0x56b3b871,0xf0c21a54,0x2d3de26d,0x834753bf,0x21dbff31,0x69269d86,0xe67ecf49
-.long 0x151fe690,0x7a176952,0x7f2adb5f,0x03515804,0xd1b62a8d,0xee794b15,0xaae454e6,0xf004ceec,0xf0386fac,0x0897ea7c,0xd1fca751,0x3b62ff12,0x1b7a04ec,0x154181df,0xfb5847ec,0x2008e04a
-.long 0x41dbd772,0xd147148e,0x22942654,0x2b419f73,0xe9c544f7,0x669f30d3,0xc8540149,0x52a2c223,0x634dfb02,0x5da9ee14,0xf47869f3,0x5f074ff0,0xa3933acc,0x74ee878d,0x4fe35ed1,0xe6510651
-.long 0xf1012e7a,0xb3eb9482,0xa8a566ae,0x51013cc0,0x47c00d3b,0xdd5e9243,0x946bb0e5,0x7fde089d,0xc731b4b3,0x030754fe,0x99fda062,0x12a136a4,0x5a1a35bc,0x7c1064b8,0x446c84ef,0xbf1f5763
-.long 0xa16d4b34,0xed29a56d,0xdca21c4f,0x7fba9d09,0x6d8de486,0x66d7ac00,0x73a2a5e1,0x60061987,0x9da28ff0,0x8b400f86,0x43c4599c,0x3133f708,0xee28cb0d,0x9911c9b8,0x8e0af61d,0xcd7e2874
-.long 0x72ed91fc,0x5a85f0f2,0x9cd4a373,0x85214f31,0x1925253c,0x881fe5be,0x91e8bc76,0xd8dc98e0,0x585cc3a2,0x7120affe,0x735bf97a,0x724952ed,0x3eb34581,0x5581e7dc,0xe52ee57d,0x5cbff4f2
-.long 0x87d8cc7b,0x8d320a0e,0xf1d280d0,0x9beaa7f3,0x9beec704,0x7a0b9571,0x5b7f0057,0x9126332e,0x8ed3bd6d,0x01fbc1b4,0xd945eb24,0x35bb2c12,0x9a8ae255,0x6404694e,0x8d6abfb3,0xb6092eec
-.long 0xcc058865,0x4d76143f,0x6e249922,0x7b0a5af2,0x6a50d353,0x8aef9440,0x64f0e07a,0xe11e4bcc,0xa14a90fa,0x4472993a,0xba0c51d4,0x7706e20c,0x1532672d,0xf403292f,0x21829382,0x52573bfa
-.long 0x3b5bdb83,0x6a7bb6a9,0xa4a72318,0x08da65c0,0x63eb065f,0xc58d22aa,0x1b15d685,0x1717596c,0xb266d88b,0x112df0d0,0x5941945a,0xf688ae97,0x7c292cac,0x487386e3,0x57d6985c,0x42f3b50d
-.long 0x6a90fc34,0x6da4f998,0x65ca8a8d,0xc8f257d3,0x6951f762,0xc2feabca,0x74c323ac,0xe1bc81d0,0x251a2a12,0x1bc68f67,0xbe8a70dc,0x10d86587,0xf0f84d2e,0xd648af7f,0x6a43ac92,0xf0aa9ebc
-.long 0x27596893,0x69e3be04,0x45bf452b,0xb6bb02a6,0xf4c698c8,0x0875c11a,0xbece3794,0x6652b5c7,0x4f5c0499,0x7b3755fd,0xb5532b38,0x6ea16558,0xa2e96ef7,0xd1c69889,0x61ed8f48,0x9c773c3a
-.long 0x9b323abc,0x2b653a40,0xf0e1d791,0xe26605e1,0x4a87157a,0x45d41064,0xcbbce616,0x8f9a78b7,0xc407eddd,0xcf1e44aa,0xa35b964f,0x81ddd1d8,0xfd083999,0x473e339e,0x8e796802,0x6c94bdde
-.long 0x8545d185,0x5a304ada,0x738bb8cb,0x82ae44ea,0xdf87e10e,0x628a35e3,0xa15b9fe3,0xd3624f3d,0x14be4254,0xcc44209b,0xbdbc2ea5,0x7d0efcbc,0x04c37bbe,0x1f603362,0x56a5852c,0x21f363f5
-.long 0xa8501550,0xa1503d1c,0xd8ab10bb,0x2251e0e1,0x6961c51c,0xde129c96,0x81910f68,0x1f7246a4,0x5f2591f2,0x2eb744ee,0x5e627157,0x3c47d33f,0x22f3bd68,0x4d6d62c9,0xcb8df856,0x6120a64b
-.long 0x7b5d07df,0x3a9ac6c0,0x7ef39783,0xa92b9558,0xab3a9b4f,0xe128a134,0xb1252f05,0x41c18807,0x80ba9b1c,0xfc7ed089,0xc532a9dd,0xac8dc6de,0x55246809,0xbf829cef,0x5b4ee80f,0x101b784f
-.long 0xb6f11603,0xc09945bb,0x41d2801e,0x57b09dbe,0xa97534a8,0xfba5202f,0xc17b9614,0x7fd8ae5f,0x78308435,0xa50ba666,0xd3868c4d,0x9572f77c,0x2dd7aab0,0x0cef7bfd,0x2c7c79ff,0xe7958e08
-.long 0x25346689,0x81262e42,0xb07c7004,0x716da290,0xb7950ee3,0x35f911ea,0x261d21b5,0x6fd72969,0x08b640d3,0x52389803,0x887f12a1,0x5b0026ee,0x742e9311,0x20e21660,0x5ff77ff7,0x0ef6d541
-.long 0xf9c41135,0x969127f0,0x68a64993,0xf21d60c9,0xe541875c,0x656e5d0c,0xa1d3c233,0xf1e0f84e,0x06002d60,0x9bcca359,0x06191552,0xbe2da60c,0x61181ec3,0x5da8bbae,0x65806f19,0x9f04b823
-.long 0xd4b79bb8,0xf1604a7d,0x52c878c8,0xaee806fb,0x8d47b8e8,0x34144f11,0x949f9054,0x72edf52b,0x2127015a,0xebfca84e,0x9cb7cef3,0x9051d0c0,0x296deec8,0x86e8fe58,0x41010d74,0x33b28188
-.long 0x171b445f,0x01079383,0x8131ad4c,0x9bcf21e3,0xc93987e8,0x8cdfe205,0xc92e8c8f,0xe63f4152,0x30add43d,0x729462a9,0xc980f05a,0x62ebb143,0x3b06e968,0x4f3954e5,0x242cf6b1,0xfe1d75ad
-.long 0xaf8685c8,0x5f95c6c7,0x2f8f01aa,0xd4c1c8ce,0x2574692a,0xc44bbe32,0xd4a4a068,0xb8003478,0x2eca3cdb,0x7c8fc6e5,0xec04d399,0xea1db16b,0x8f2bc5cf,0xb05bc82e,0xf44793d2,0x763d517f
-.long 0x08bd98d0,0x4451c1b8,0x6575f240,0x644b1cd4,0x7375d270,0x6907eb33,0xfa2286bd,0x56c8bebd,0xc4632b46,0xc713d2ac,0xafd60242,0x17da427a,0xc95c7546,0x313065b7,0xbf17a3de,0xf8239898
-.long 0x4c830320,0xf3b7963f,0x903203e3,0x842c7aa0,0xe7327afb,0xaf22ca0a,0x967609b6,0x38e13092,0x757558f1,0x73b8fb62,0xf7eca8c1,0x3cc3e831,0xf6331627,0xe4174474,0xc3c40234,0xa77989ca
-.long 0x44a081e0,0xe5fd17a1,0xb70e296a,0xd797fb7d,0x481f719c,0x2b472b30,0xfe6f8c52,0x0e632a98,0xc5f0c284,0x89ccd116,0x2d987c62,0xf51088af,0x4c2de6cf,0x2a2bccda,0xf679f0f9,0x810f9efe
-.long 0x7ffe4b3e,0xb0f394b9,0xe5fa5d21,0x0b691d21,0x9dfbbc75,0xb0bd7747,0xfaf78b00,0xd2830fda,0x52434f57,0xf78c249c,0x98096dab,0x4b1f7545,0x8ff8c0b3,0x73bf6f94,0x454e134c,0x34aef03d
-.long 0xb7ac7ec5,0xf8d151f4,0xe50da7d5,0xd6ceb95a,0xdc3a0eb8,0xa1b492b0,0xb3dd2863,0x75157b69,0xc5413d62,0xe2c4c74e,0xbc5fc4c7,0xbe329ff7,0x60fa9dda,0x835a2aea,0x7445cb87,0xf117f5ad
-.long 0xb0166f7a,0xae8317f4,0xceec74e6,0xfbd3e3f7,0xe0874bfd,0xfdb516ac,0xc681f3a3,0x3d846019,0x7c1620b0,0x0b12ee5c,0x2b63c501,0xba68b4dd,0x6668c51e,0xac03cd32,0x4e0bcb5b,0x2a6279f7
-.long 0x6ae85c10,0x17bd69b0,0x1dfdd3a6,0x72946979,0x2c078bec,0xd9a03268,0xbfd68a52,0x41c6a658,0x0e023900,0xcdea1024,0xb10d144d,0xbaeec121,0x058ab8dc,0x5a600e74,0xbb89ccdd,0x1333af21
-.long 0x3aaba1f1,0xdf25eae0,0x3b7144cf,0x2cada16e,0x71ab98bc,0x657ee27d,0x7a6fc96e,0x99088b4c,0x3549dbd4,0x05d5c0a0,0xf158c3ac,0x42cbdf8f,0x87edd685,0x3fb6b3b0,0x86f064d0,0x22071cf6
-.long 0xff2811e5,0xd2d6721f,0xfe7fae8c,0xdb81b703,0xd3f1f7bb,0x3cfb74ef,0x16cdeb5d,0x0cdbcd76,0x566a808c,0x4f39642a,0x340064d6,0x02b74454,0x0528fa6f,0xfabbadca,0xd3fc0bb6,0xe4c3074c
-.long 0xb796d219,0xb32cb8b0,0x34741dd9,0xc3e95f4f,0x68edf6f5,0x87212125,0xa2b9cb8e,0x7a03aee4,0xf53a89aa,0x0cd3c376,0x948a28dc,0x0d8af9b1,0x902ab04f,0xcf86a3f4,0x7f42002d,0x8aacb62a
-.long 0xf62ffd52,0x106985eb,0x5797bf10,0xe670b54e,0xc5e30aef,0x4b405209,0x4365b5e9,0x12c97a20,0x1fe32093,0x104646ce,0x3907a8c9,0x13cb4ff6,0xd46e726b,0x8b9f30d1,0xaba0f499,0xe1985e21
-.long 0x10a230cd,0xc573dea9,0xcd30f947,0x24f46a93,0xabe2010a,0xf2623fcf,0x73f00e4f,0x3f278cb2,0x50b920eb,0xed55c67d,0x8e760571,0xf1cb9a2d,0x0895b709,0x7c50d109,0x190d4369,0x4207cf07
-.long 0xc4127fe1,0x3b027e81,0x3ae9c566,0xa9f8b9ad,0xacbfbba5,0x5ab10851,0x569556f5,0xa747d648,0x2ba97bf7,0xcc172b5c,0xbcfa3324,0x15e0f77d,0x7686279d,0xa345b797,0xe38003d3,0x5a723480
-.long 0x8f5fcda8,0xfd8e139f,0xbdee5bfd,0xf3e558c4,0xe33f9f77,0xd76cbaf4,0x71771969,0x3a4c97a4,0xf6dce6a7,0xda27e84b,0x13e6c2d1,0xff373d96,0xd759a6e9,0xf115193c,0x63d2262c,0x3f9b7025
-.long 0x317cd062,0xd9764a31,0x199f8332,0x30779d8e,0x16b11b0b,0xd8074106,0x78aeaed8,0x7917ab9f,0x28fb1d8e,0xb67a9cbe,0x136eda33,0x2e313563,0xa371a86c,0x010b7069,0x6744e6b7,0x44d90fa2
-.long 0xd6b3e243,0x68190867,0x59048c48,0x9fe6cd9d,0x95731538,0xb900b028,0x32cae04f,0xa012062f,0x9399d082,0x8107c8bc,0x41df12e2,0x47e8c54a,0xb6ef3f73,0x14ba5117,0x81362f0b,0x22260bea
-.long 0x1a18cc20,0x90ea261e,0x2321d636,0x2192999f,0xe311b6a0,0xef64d314,0x3b54a1f5,0xd7401e4c,0x6fbca2ba,0x19019983,0x8fbffc4b,0x46ad3293,0x3786bf40,0xa142d3f6,0xb67039fc,0xeb5cbc26
-.long 0x252bd479,0x9cb0ae6c,0x12b5848f,0x05e0f88a,0xa5c97663,0x78f6d2b2,0xc162225c,0x6f6e149b,0xde601a89,0xe602235c,0xf373be1f,0xd17bbe98,0xa8471827,0xcaf49a5b,0x18aaa116,0x7e1a0a85
-.long 0x270580c3,0x6c833196,0xf1c98a14,0x1e233839,0xae34e0a5,0x67b2f7b4,0xd8ce7289,0x47ac8745,0x100dd467,0x2b74779a,0x4ee50d09,0x274a4337,0x83608bc9,0x603dcf13,0xc89e8388,0xcd9da6c3
-.long 0x355116ac,0x2660199f,0xb6d18eed,0xcc38bb59,0x2f4bc071,0x3075f31f,0x265dc57e,0x9774457f,0xc6db88bb,0x06a6a9c8,0x4ec98e04,0x6429d07f,0x05ecaa8b,0x8d05e57b,0x7872ea7b,0x20f140b1
-.long 0xca494693,0xdf8c0f09,0xf252e909,0x48d3a020,0x57b14b12,0x4c5c29af,0xbf47ad1c,0x7e6fa37d,0x49a0c938,0x66e7b506,0x6be5f41f,0xb72c0d48,0xb2359412,0x6a6242b8,0x8e859480,0xcd35c774
-.long 0x87baa627,0x12536fea,0xf72aa680,0x58c1fec1,0x601e5dc9,0x6c29b637,0xde9e01b9,0x9e3c3c1c,0x2bcfe0b0,0xefc8127b,0x2a12f50d,0x35107102,0x4879b397,0x6ccd6cb1,0xf8a82f21,0xf792f804
-.long 0xa9b46402,0x509d4804,0xc10f0850,0xedddf85d,0x4b6208aa,0x928410dc,0x391012dc,0xf6229c46,0x7727b9b6,0xc5a7c41e,0xaa444842,0x289e4e4b,0xe9a947ea,0x049ba1d9,0x83c8debc,0x44f9e47f
-.long 0x611f8b8e,0xfa77a1fe,0xf518f427,0xfd2e416a,0x114ebac3,0xc5fffa70,0x5d89697b,0xfe57c4e9,0xb1aaf613,0xfdd053ac,0xea585a45,0x31df210f,0x24985034,0x318cc10e,0x5f1d6130,0x1a38efd1
-.long 0x0b1e9e21,0xbf86f237,0x1dbe88aa,0xb258514d,0x90c1baf9,0x1e38a588,0xbdb9b692,0x2936a01e,0x6dd5b20c,0xd576de98,0x70f98ecf,0xb586bf71,0xc42d2fd7,0xcccf0f12,0xfb35bd7b,0x8717e61c
-.long 0x35e6fc06,0x8b1e5722,0x0b3e13d5,0x3477728f,0xaa8a7372,0x150c294d,0x3bfa528a,0xc0291d43,0xcec5a196,0xc6c8bc67,0x5c2e8a7c,0xdeeb31e4,0xfb6e1c51,0xba93e244,0x2e28e156,0xb9f8b71b
-.long 0x968a2ab9,0xce65a287,0x46bbcb1f,0xe3c5ce69,0xe7ae3f30,0xf8c835b9,0xff72b82b,0x16bbee26,0xfd42cd22,0x665e2017,0xf8b1d2a0,0x1e139970,0x79204932,0x125cda29,0x49c3bee5,0x7aee94a5
-.long 0x89821a66,0x68c70160,0x8f981669,0xf7c37678,0x48cc3645,0xd90829fc,0xd70addfc,0x346af049,0x370bf29c,0x2057b232,0x42e650ee,0xf90c73ce,0xa126ab90,0xe03386ea,0x975a087b,0x0e266e7e
-.long 0x0fca65d9,0x80578eb9,0x16af45b8,0x7e2989ea,0xcac75a4e,0x7438212d,0x4fef36b8,0x38c7ca39,0xd402676a,0x8650c494,0xf72c7c48,0x26ab5a66,0xce3a464e,0x4e6cb426,0x2b72f841,0xf8f99896
-.long 0x1a335cc8,0x8c318491,0x6a5913e4,0x563459ba,0xc7b32919,0x1b920d61,0xa02425ad,0x805ab8b6,0x8d006086,0x2ac512da,0xbcf5c0fd,0x6ca4846a,0xac2138d7,0xafea51d8,0x344cd443,0xcb647545
-.long 0xbd7d9040,0x0429ee8f,0x819b9c96,0xee66a2de,0xdea7d744,0x54f9ec25,0x671721bb,0x2ffea642,0x114344ea,0x4f19dbd1,0xfd0dbc8b,0x04304536,0x29ec7f91,0x014b50aa,0xbb06014d,0xb5fc22fe
-.long 0x1ee682e0,0x60d963a9,0xfe85c727,0xdf48abc0,0x2e707c2d,0x0cadba13,0xa645aeff,0xde608d3a,0xedafd883,0x05f1c28b,0xbd94de1f,0x3c362ede,0x13593e41,0x8dd0629d,0x766d6eaf,0x0a5e736f
-.long 0xf68cf9d1,0xbfa92311,0xc1797556,0xa4f9ef87,0x5601c209,0x10d75a1f,0x09b07361,0x651c374c,0x88b5cead,0x49950b58,0x6fa9dbaa,0x0ef00058,0x4e15f33a,0xf51ddc26,0x2ef46140,0x1f8b5ca6
-.long 0xee9523f0,0x343ac0a3,0x975ea978,0xbb75eab2,0x107387f4,0x1bccf332,0x9ab0062e,0x790f9259,0x1e4f6a5f,0xf1a363ad,0x62519a50,0x06e08b84,0x7265f1ee,0x60915187,0x93ae985e,0x6a80ca34
-.long 0xaaba4864,0x81b29768,0x8d52a7d6,0xb13cabf2,0x8ead03f1,0xb5c36348,0x81c7c1c0,0xc932ad95,0xcae1e27b,0x5452708e,0x1b0df648,0x9dac4269,0xdfcdb8bc,0x233e3f0c,0xec540174,0xe6ceccdf
-.long 0x95081181,0xbd0d845e,0x699355d5,0xcc8a7920,0xc3b375a8,0x111c0f6d,0xfd51e0dc,0xfd95bc6b,0x6888523a,0x4a106a26,0xcb01a06d,0x4d142bd6,0xadb9b397,0x79bfd289,0xe9863914,0x0bdbfb94
-.long 0x1660f6a6,0x29d8a229,0x551c042d,0x7f6abcd6,0x0ac3ffe8,0x13039deb,0xec8523fb,0xa01be628,0x0ca1c328,0x6ea34103,0xb903928e,0xc74114bd,0x9e9144b0,0x8aa4ff4e,0x7f9a4b17,0x7064091f
-.long 0xe447f2c4,0xa3f4f521,0x604291f0,0x81b8da7a,0x7d5926de,0xd680bc46,0x34a1202f,0x84f21fd5,0x4e9df3d8,0x1d1e3181,0x39ab8d34,0x1ca4861a,0x5b19aa4a,0x809ddeec,0x4d329366,0x59f72f7e
-.long 0x386d5087,0xa2f93f41,0xdd67d64f,0x40bf739c,0x66702158,0xb4494205,0x73b1e178,0xc33c65be,0x38ca6153,0xcdcd657c,0xdc791976,0x97f4519a,0xcd6e1f39,0xcc7c7f29,0x7e3c3932,0x38de9cfb
-.long 0x7b793f85,0xe448eba3,0xf067e914,0xe9f8dbf9,0xf114ae87,0xc0390266,0xcd6a8e2a,0x39ed75a7,0x7ffba390,0xadb14848,0x6af9bc09,0x67f8cb8b,0x9c7476db,0x322c3848,0x52a538d6,0xa320fecf
-.long 0xb2aced2b,0xe0493002,0x616bd430,0xdfba1809,0xc331be70,0x531c4644,0x90d2e450,0xbc04d32e,0x0f9f142d,0x1805a0d1,0x47ee5a23,0x2c44a0c5,0x3989b4e3,0x31875a43,0x0c063481,0x6b1949fd
-.long 0xbe0f4492,0x2dfb9e08,0xe9d5e517,0x3ff0da03,0xf79466a8,0x03dbe9a1,0x15ea9932,0x0b87bcd0,0xab1f58ab,0xeb64fc83,0x817edc8a,0x6d9598da,0x1d3b67e5,0x699cff66,0x92635853,0x645c0f29
-.long 0xeabaf21c,0x253cdd82,0x2241659e,0x82b9602a,0x2d9f7091,0x2cae07ec,0x8b48cd9b,0xbe4c720c,0x6f08d6c9,0x6ce5bc03,0xaf10bf40,0x36e8a997,0x3e10ff12,0x83422d21,0xbcc12494,0x7b26d3eb
-.long 0xc9469ad6,0xb240d2d0,0x30afa05b,0xc4a11b4d,0xdd6ba286,0x4b604ace,0x3ee2864c,0x18486600,0x8d9ce5be,0x5869d6ba,0xff4bfb0d,0x0d8f68c5,0x5700cf73,0xb69f210b,0x6d37c135,0x61f6653a
-.long 0x5aff5a48,0xff3d432b,0x72ba3a69,0x0d81c4b9,0xfa1899ef,0xee879ae9,0x2d6acafd,0xbac7e2a0,0x1c664399,0xd6d93f6c,0x5bcb135d,0x4c288de1,0x9dab7cbf,0x83031dab,0x3abbf5f0,0xfe23feb0
-.long 0xcdedca85,0x9f1b2466,0x1a09538c,0x140bb710,0x5e11115d,0xac8ae851,0x6f03f59e,0x0d63ff67,0x7d234afb,0x755e5551,0x7e208fc1,0x61c2db4e,0xf28a4b5d,0xaa9859ce,0x34af030f,0xbdd6d4fc
-.long 0x3be01cb1,0xd1c4a26d,0x243aa07c,0x9ba14ffc,0xb2503502,0xf95cd3a9,0x7d2a93ab,0xe379bc06,0xd4ca8d68,0x3efc18e9,0x80bb412a,0x083558ec,0x9645a968,0xd903b940,0x9ba6054f,0xa499f0b6
-.long 0xb8349abe,0x208b573c,0x30b4fc1c,0x3baab3e5,0xcb524990,0x87e978ba,0xccdf0e80,0x3524194e,0x7d4bcc42,0x62711725,0xb90109ba,0xe90a3d9b,0x1323e1e0,0x3b1bdd57,0x5eae1599,0xb78e9bd5
-.long 0x9e03d278,0x0794b746,0xd70e6297,0x80178605,0x99c97855,0x171792f8,0xf5a86b5c,0x11b393ee,0xd8884f27,0x48ef6582,0xbf19ba5f,0xbd44737a,0xa42062c6,0x8698de4c,0x61ce9c54,0x8975eb80
-.long 0xd7fe71f3,0xd50e57c7,0xbc97ce38,0x15342190,0x4df07b63,0x51bda2de,0x200eb87d,0xba12aeae,0xa9b4f8f6,0xabe135d2,0xfad6d99c,0x04619d65,0x7994937c,0x4a6683a7,0x6f94f09a,0x7a778c8b
-.long 0x20a71b89,0x8c508623,0x1c229165,0x241a2aed,0xaaf83a99,0x352be595,0x1562bac8,0x9fbfee7f,0x5c4017e3,0xeaf658b9,0x15120b86,0x1dc7f9e0,0x4c034d6f,0xd84f13dd,0xeaea3038,0x283dd737
-.long 0xcd85d6a2,0x197f2609,0xfae60177,0x6ebbc345,0x4e12fede,0xb80f031b,0x07a2186b,0xde55d0c2,0x24dcdd5a,0x1fb3e37f,0x7ed191fb,0x8d602da5,0x76023e0d,0x108fb056,0x459c20c0,0x70178c71
-.long 0x3fe54cf0,0xfad5a386,0x02bbb475,0xa4a3ec4f,0x919d94d7,0x1aa5ec20,0xa81e4ab3,0x5d3b63b5,0x5ad3d2af,0x7fa733d8,0xd1ac7a37,0xfbc586dd,0x40779614,0x282925de,0xe74a242a,0xfe0ffffb
-.long 0x906151e5,0x3f39e67f,0x55e10649,0xcea27f5f,0xc17cf7b7,0xdca1d4e1,0x2fe2362d,0x0c326d12,0x7dd35df3,0x05f7ac33,0xc396dbdf,0x0c3b7639,0x03b7db1c,0x0912f5ac,0x5c9ed4a9,0x9dea4b70
-.long 0xaae3f639,0x475e6e53,0xfc278bac,0xfaba0e7c,0x9490375f,0x16f9e221,0xa5a7ed0a,0xaebf9746,0xf41ad5d6,0x45f9af3f,0xb2e99224,0x03c4623c,0xb3cf56aa,0x82c5bb5c,0x34567ed3,0x64311819
-.long 0x8be489ac,0xec57f211,0xb9a1104b,0x2821895d,0x6064e007,0x610dc875,0x5b20d0fe,0x8e526f3f,0x5b645aee,0x6e71ca77,0x800e10ff,0x3d1dcb9f,0x189cf6de,0x36b51162,0x6bb17353,0x2c5a3e30
-.long 0x2a6c6fbf,0xc186cd3e,0x4bf97906,0xa74516fa,0x279d6901,0x5b4b8f4b,0x2b573743,0x0c4e57b4,0xb6e386b6,0x75fdb229,0x99deac27,0xb46793fd,0xcf712629,0xeeec47ea,0xcbc3b2dd,0xe965f3c4
-.long 0x425c6559,0x8dd1fb83,0x0af06fda,0x7fc00ee6,0x33d956df,0xe98c9225,0x4fbdc8a2,0x0f1ef335,0xb79b8ea2,0x2abb5145,0xbdbff288,0x40fd2945,0xd7185db7,0x6a814ac4,0xc084609a,0xc4329d6f
-.long 0xed1be45d,0xc9ba7b52,0xe4cd2c74,0x891dd20d,0x824139b1,0x5a4d4a7f,0xb873c710,0x66c17716,0x2843c4e0,0x5e5bc141,0xb97eb5bf,0xd5ac4817,0x450c95c7,0xc0f8af54,0x318406c5,0xc91b3fa0
-.long 0xab9d97f8,0x360c340a,0x90a2d611,0xfb57bd07,0xa6a6f7e5,0x4339ae3c,0x2feb8a10,0x9c1fcd2a,0xc7ea7432,0x972bcca9,0x308076f6,0x1b0b924c,0x2a5b4ca5,0x80b2814a,0x61ef3b29,0x2f78f55b
-.long 0xc18a414f,0xf838744a,0x903d0a86,0xc611eaae,0x2a453f55,0x94dabc16,0x14efb279,0xe6f2e3da,0x9320dc3c,0x5b7a6017,0x8df6b5a4,0x692e382f,0x2d40fa90,0x3f5e15e0,0x643dd318,0xc87883ae
-.long 0x53544774,0x511053e4,0x3adba2bc,0x834d0ecc,0xbae371f5,0x4215d7f7,0x6c8663bc,0xfcfd57bf,0xd6901b1d,0xded2383d,0xb5587dc3,0x3b49fbb4,0x07625f62,0xfd44a08d,0x9de9b762,0x3ee4d65b
-.long 0x0d63d1fa,0x64e5137d,0x02a9d89f,0x658fc052,0x50436309,0x48894874,0xd598da61,0xe9ae30f8,0x818baf91,0x2ed710d1,0x8b6a0c20,0xe27e9e06,0x1c1a6b44,0x1e28dcfb,0xd6ac57dc,0x883acb64
-.long 0xc2c6ff70,0x8735728d,0xc5dc2235,0x79d6122f,0x19e277f9,0x23f5d003,0xdded8cc7,0x7ee84e25,0x63cd880a,0x91a8afb0,0x3574af60,0x3f3ea7c6,0x02de7f42,0x0cfcdc84,0xb31aa152,0x62d0792f
-.long 0x8a5807ce,0x8e1b4e43,0xe4109a7e,0xad283893,0xafd59dda,0xc30cc9cb,0x3d8d8093,0xf65f36c6,0xa60d32b2,0xdf31469e,0x3e8191c8,0xee93df4b,0x355bdeb5,0x9c1017c5,0x8616aa28,0xd2623185
-.long 0xdec31a21,0xb02c83f9,0x6ad9d573,0x988c8b23,0xa57be365,0x53e983ae,0x646f834e,0xe968734d,0x5da6309b,0x9137ea8f,0xc1f1ce16,0x10f3a624,0xca440921,0x782a9ea2,0x5b46f1b5,0xdf94739e
-.long 0xcce85c9b,0x9f9be006,0xa4c7c2d3,0x360e70d6,0xaefa1e60,0x2cd5beea,0x8c3d2b6d,0x64cf63c0,0xe1cf6f90,0xfb107fa3,0xd5e044e6,0xb7e937c6,0xce34db9f,0x74e8ca78,0x3e210bd0,0x4f8b36c1
-.long 0x34a35ea8,0x1df165a4,0x4d4412f6,0x3418e0f7,0x518836c3,0x5af1f8af,0x130e1965,0x42ceef4d,0x543a1957,0x5560ca0b,0x886cb123,0xc33761e5,0xfe98ed30,0x66624b1f,0x1090997d,0xf772f4bf
-.long 0x4885d410,0xf4e540bb,0x9ba5f8d7,0x7287f810,0xde98dfb1,0x22d0d865,0xbcfbb8a3,0x49ff51a1,0x6bc3012e,0xb6b6fa53,0x170d541d,0x3d31fd72,0x4b0f4966,0x8018724f,0x87dbde07,0x79e7399f
-.long 0xf4f8b16a,0x56f8410e,0xc47b266a,0x97241afe,0x6d9c87c1,0x0a406b8e,0xcd42ab1b,0x803f3e02,0x04dbec69,0x7f0309a8,0x3bbad05f,0xa83b85f7,0xad8e197f,0xc6097273,0x5067adc1,0xc097440e
-.long 0x3524ff16,0x730eafb6,0x823fc6ce,0xd7f9b51e,0x443e4ac0,0x27bd0d32,0x4d66f217,0x40c59ad9,0x17c387a4,0x6c33136f,0xeb86804d,0x5043b8d5,0x675a73c9,0x74970312,0xf16669b6,0x838fdb31
-.long 0x418e7ddd,0xc507b6dd,0x472f19d6,0x39888d93,0x0c27eb4d,0x7eae26be,0xfbabb884,0x17b53ed3,0x2b01ae4f,0xfc27021b,0xcf488682,0x88462e87,0x215e2d87,0xbee096ec,0xd242e29b,0xeb2fea9a
-.long 0xb821fc28,0x5d985b5f,0xdc1e2ad2,0x89d2e197,0x9030ba62,0x55b566b8,0x4f41b1c6,0xe3fd41b5,0xb9a96d61,0xb738ac2e,0x369443f4,0x7f8567ca,0xf803a440,0x8698622d,0x8fe2f4dc,0x2b586236
-.long 0x56b95bce,0xbbcc00c7,0x616da680,0x5ec03906,0x72214252,0x79162ee6,0x86a892d2,0x43132b63,0x2f3263bf,0x4bdd3ff2,0x9cd0a142,0xd5b3733c,0x44415ccb,0x592eaa82,0x8d5474ea,0x663e8924
-.long 0x5236344e,0x8058a25e,0xbda76ee6,0x82e8df9d,0x11cc3d22,0xdcf6efd8,0x3b4ab529,0x00089cda,0xbd38a3db,0x91d3a071,0xef72b925,0x4ea97fc0,0xea3edf75,0x0c9fc15b,0xa4348ed3,0x5a6297cd
-.long 0xce7c42d4,0x0d38ab35,0x82feab10,0x9fd493ef,0x82111b45,0x46056b6d,0x73efc5c3,0xda11dae1,0x5545a7fb,0xdc740278,0x40d507e6,0xbdb2601c,0x7066fa58,0x121dfeeb,0x39ae8c2a,0x214369a8
-.long 0x06e0956c,0x195709cb,0x010cd34b,0x4c9d254f,0x0471a532,0xf51e13f7,0x1e73054d,0xe19d6791,0xdb5c7be3,0xf702a628,0xb24dde05,0xc7141218,0xf29b2e2e,0xdc18233c,0x85342dba,0x3a6bd1e8
-.long 0xb311898c,0x3f747fa0,0xcd0eac65,0xe2a272e4,0xf914d0bc,0x4bba5851,0xc4a43ee3,0x7a1a9660,0xa1c8cde9,0xe5a367ce,0x7271abe3,0x9d958ba9,0x3d1615cd,0xf3ff7eb6,0xf5ae20b0,0xa2280dce
-.long 0xcf640147,0x56dba5c1,0x5e83d118,0xea5a2e3d,0xda24c511,0x04cd6b6d,0xe854d214,0x1c0f4671,0x69565381,0x91a6b7a9,0xdecf1f5b,0xdc966240,0xfcf5d009,0x1b22d21c,0x9021dbd5,0x2a05f641
-.long 0xd4312483,0x8c0ed566,0x643e216f,0x5179a95d,0x17044493,0xcc185fec,0x54991a21,0xb3063339,0x0081a726,0xd801ecdb,0x4fa89bbb,0x0149b0c6,0x4391b6b9,0xafe9065a,0xd633f3a3,0xedc92786
-.long 0xae6a8e13,0xe408c24a,0x9f3897ab,0x85833fde,0xd81a0715,0x43800e7e,0xb44ffc5f,0xde08e346,0xcdeff2e0,0x7094184c,0x165eaed1,0x49f9387b,0x777c468a,0x635d6129,0x538c2dd8,0x8c0dcfd1
-.long 0x7a6a308b,0xd6d9d9e3,0x4c2767d3,0x62375830,0xf38cbeb6,0x874a8bc6,0xccb6fd9e,0xd94d3f1a,0xba21f248,0x92a9735b,0x6cd1efb0,0x272ad0e5,0x05b03284,0x7437b69c,0x6948c225,0xe7f04702
-.long 0xcba2ecec,0x8a56c04a,0xe3a73e41,0x0c181270,0x03e93725,0x6cb34e9d,0x496521a9,0xf77c8713,0xfa7f9f90,0x94569183,0x8c9707ad,0xf2e7aa4c,0x26c1c9a3,0xced2c9ba,0x40197507,0x9109fe96
-.long 0xe9adfe1c,0x9ae868a9,0x314e39bb,0x3984403d,0xf2fe378f,0xb5875720,0xba44a628,0x33f901e0,0x3652438c,0xea1125fe,0x9dd1f20b,0xae9ec4e6,0xbebf7fbd,0x1e740d9e,0x42dbe79c,0x6dbd3ddc
-.long 0xedd36776,0x62082aec,0xe9859039,0xf612c478,0x032f7065,0xa493b201,0x4ff9b211,0xebd4d8f2,0xaac4cb32,0x3f23a0aa,0x15ed4005,0xea3aadb7,0xafa27e63,0xacf17ea4,0xc11fd66c,0x56125c1a
-.long 0x3794f8dc,0x266344a4,0x483c5c36,0xdcca923a,0x3f9d10a0,0x2d6b6bbf,0x81d9bdf3,0xb320c5ca,0x47b50a95,0x620e28ff,0xcef03371,0x933e3b01,0x99100153,0xf081bf85,0xc3a8c8d6,0x183be9a0
-.long 0xd6bbe24d,0x4e3ddc5a,0x53843795,0xc6c74630,0x65ec2d4c,0x78193dd7,0xcd3c89b2,0xb8df26cc,0x5a483f8d,0x98dbe399,0x7dd3313a,0x72d8a957,0xab0bd375,0x65087294,0x7c259d16,0xfcd89248
-.long 0x7613aa81,0x8a9443d7,0x85fe6584,0x80100800,0x7fb10288,0x70fc4dbc,0xe86beee8,0xf58280d3,0x7c978c38,0x14fdd82f,0x0de44d7b,0xdf1204c1,0x4160252f,0xa08a1c84,0xc17646a5,0x591554ca
-.long 0xa05bd525,0x214a37d6,0x07957b3c,0x48d5f09b,0xd7109bc9,0x0247cdcb,0x30599ce7,0x40f9e4bb,0xf46ad2ec,0xc325fa03,0xc3e3f9ee,0x00f766cf,0xd43a4577,0xab556668,0x3ee03b93,0x68d30a61
-.long 0x77b46a08,0x7ddc81ea,0xc7480699,0xcf5a6477,0x6633f683,0x43a8cb34,0x92363c60,0x1b867e6b,0x1f60558e,0x43921114,0x2f41450e,0xcdbcdd63,0xcc630e8b,0x7fc04601,0x97038b43,0xea7c66d5
-.long 0x04e99fd8,0x7259b8a5,0x4785549a,0x98a8dd12,0x840552e1,0x0e459a7c,0x4bb0909e,0xcdfcf4d0,0x53758da7,0x34a86db2,0xeac997e1,0xe643bb83,0x530c5b7e,0x96400bd7,0xb41c8b52,0x9f97af87
-.long 0xfbeee3f9,0x34fc8820,0x49091afd,0x93e53490,0x9a31f35c,0x764b9be5,0x57e3d924,0x71f37864,0x943aa75e,0x02fb34e0,0xab8ff6e4,0xa18c9c58,0x33cf0d19,0x080f31b1,0x083518a7,0x5c9682db
-.long 0xb709c3de,0x873d4ca6,0x3575b8f0,0x64a84262,0x020154bb,0x6275da1f,0xd17cf1ab,0x97678caa,0x951a95c3,0x8779795f,0x50fccc08,0xdd35b163,0x33d8f031,0x32709627,0x498dd85c,0x3c5ab10a
-.long 0x41dca566,0xb6c185c3,0xd8622aa3,0x7de7feda,0x901b6dfb,0x99e84d92,0x7c4ad288,0x30a02b0e,0x2fd3cf36,0xc7c81daa,0xdf89e59f,0xd1319547,0xcd496733,0xb2be8184,0x93d3412b,0xd5f449eb
-.long 0x25fe531d,0x7ea41b1b,0x6a1d5646,0xf9797432,0x2bde501a,0x86067f72,0x0c85e89c,0xf91481c0,0xf8b05bc6,0xca8ee465,0x02e83cda,0x1844e1cf,0xb4dbe33b,0xca82114a,0x4eabfde2,0x0f9f8769
-.long 0x38b27fe2,0x4936b1c0,0xaba402df,0x63b6359b,0x656bdbab,0x40c0ea2f,0x6580c39c,0x9c992a89,0x2a60aed1,0x600e8f15,0xe0bf49df,0xeb089ca4,0x2d42d99a,0x9c233d7d,0x4c6bc2fa,0x648d3f95
-.long 0xe1add3f3,0xdcc383a8,0x4f64a348,0xf42c0c6a,0x0030dbdb,0x2abd176f,0x7d6c215e,0x4de501a3,0x4b9a64bc,0x4a107c1f,0x2496cd59,0xa77f0ad3,0x7688dffb,0xfb78ac62,0x67937d8e,0x7025a2ca
-.long 0xd1a8f4e7,0xfde8b2d1,0x7354927c,0xf5b3da47,0xd9205735,0xe48606a3,0xe177b917,0xac477cc6,0xa883239a,0xfb1f73d2,0xcc8b8357,0xe12572f6,0xfb1f4f86,0x9d355e9c,0xd9f3ec6e,0x89b795f8
-.long 0xb54398dc,0x27be56f1,0x3fedeed5,0x1890efd7,0x9c6d0140,0x62f77f1f,0x596f0ee4,0x7ef0e314,0xcc61dab3,0x50ca6631,0xf4866e4f,0x4a39801d,0xae363b39,0x66c8d032,0x2ead66aa,0x22c591e5
-.long 0xde02a53e,0x954ba308,0xd389f357,0x2a6c060f,0xfbf40b66,0xe6cfcde8,0xc6340ce1,0x8e02fc56,0x73adb4ba,0xe4957795,0xa7b03805,0x7b86122c,0x0c8e6fa6,0x63f83512,0x057d7804,0x83660ea0
-.long 0x21ba473c,0xbad79105,0xded5389d,0xb6c50bee,0xaa7c9bc0,0xee2caf4d,0x8c4e98a7,0xd97b8de4,0xab3bbddb,0xa9f63e70,0x2597815a,0x3898aabf,0xac15b3d9,0x7659af89,0x703ce784,0xedf7725b
-.long 0xe085116b,0x25470fab,0x87285310,0x04a43375,0xe2bfd52f,0x4e39187e,0x7d9ebc74,0x36166b44,0xfd4b322c,0x92ad433c,0xba79ab51,0x726aa817,0xc1db15eb,0xf96eacd8,0x0476be63,0xfaf71e91
-.long 0x641fad98,0xdd69a640,0x29622559,0xb7995918,0xde4199dc,0x03c6daa5,0xad545eb4,0x92cadc97,0x256534e4,0x1028238b,0x8595409a,0x73e80ce6,0xd05dc59b,0x690d4c66,0x981dee80,0xc95f7b8f
-.long 0xd856ac25,0xf4337014,0xac524dca,0x441bd9dd,0x5f0499f5,0x640b3d85,0xd5fda182,0x39cf84a9,0xb2aa95a0,0x04e7b055,0x0ddf1860,0x29e33f0a,0x423f6b43,0x082e74b5,0x0aaa2b0f,0x217edeb9
-.long 0x83cbea55,0x58b83f35,0xbc185d70,0xc485ee4d,0x1e5f6992,0x833ff03b,0xcf0c0dd5,0xb5b9b9cc,0x4e9e8a50,0x7caaee8e,0x6269dafd,0x462e907b,0xfbe791c6,0x6ed5cee9,0xed430790,0x68ca3259
-.long 0x13b5ba88,0x2b72bdf2,0x35ef0ac4,0x60294c8a,0x19b99b08,0x9c3230ed,0x6c2589aa,0x560fff17,0xd6770374,0x552b8487,0x9a56f685,0xa373202d,0x45f175d9,0xd3e7f907,0xd080d810,0x3c2f315f
-.long 0x7b9520e8,0x1130e9dd,0x0af037b5,0xc078f9e2,0x1e9c104c,0x38cd2ec7,0xc472fe92,0x0f684368,0x6247e7ef,0xd3f1b5ed,0x396dfe21,0xb32d33a9,0x4a9aa2c2,0x46f59cf4,0xff0f7e41,0x69cd5168
-.long 0x4b3234da,0x3f59da0f,0xb4579ebe,0xcf0b0235,0x6d2476c7,0x6d1cbb25,0x9dc30f08,0x4f0837e6,0x906f6e98,0x9a4075bb,0xc761e7d1,0x253bb434,0x6e73af10,0xde2e645f,0x0c5f131c,0xb89a4060
-.long 0xb8cc037f,0xd12840c5,0x7405bb47,0x3d093a5b,0x206348b8,0x6202c253,0xc55a3ca7,0xbf5d57fc,0x8c3bef48,0x89f6c90c,0x5a0a960a,0x23ac7623,0x552b42ab,0xdfbd3d6b,0x132061f6,0x3ef22458
-.long 0xc97e6516,0xd74e9bda,0xc230f49e,0x88779360,0x1e74ea49,0xa6ec1de3,0x3fb645a2,0x581dcee5,0x8f483f14,0xbaef2391,0xd137d13b,0x6d2dddfc,0xd2743a42,0x54cde50e,0xe4d97e67,0x89a34fc5
-.long 0x12e08ce5,0x13f1f5b3,0xa7f0b2ca,0xa80540b8,0x01982805,0x854bcf77,0x233bea04,0xb8653ffd,0x02b0b4c9,0x8e7b8787,0x9acb170a,0x2675261f,0x930c14e5,0x061a9d90,0xdef0abea,0xb59b30e0
-.long 0x0200ec7d,0x1dc19ea6,0x0bce132b,0xb6f4a3f9,0xf13e27e0,0xb8d5de90,0x1fade16f,0xbaee5ef0,0xe4c6cf38,0x6f406aaa,0xd1369815,0xab4cfe06,0xefd550c6,0x0dcffe87,0x75ff7d39,0x9d4f59c7
-.long 0x51deb6ad,0xb02553b1,0xb1877749,0x812399a4,0xca6006e1,0xce90f71f,0xb02b6e77,0xc32363a6,0xdc36c64d,0x02284fbe,0xa7e1ae61,0x86c81e31,0xb909d94a,0x2576c7e5,0x818b2bb0,0x8b6f7d02
-.long 0x56faa38a,0xeca3ed07,0x9305bb54,0xa3790e6c,0x7bc73061,0xd784eeda,0x6dd50614,0xbd56d369,0x229a8aa9,0xd6575949,0x4595ec28,0xdcca8f47,0x06ab4fe6,0x814305c1,0x24f43f16,0xc8c39768
-.long 0x523f2b36,0xe2a45f36,0x920d93bb,0x995c6493,0x90f1632b,0xf8afdab7,0x1c295954,0x79ebbecd,0x79592f48,0xc7bb3ddb,0x5f88e998,0x67216a7b,0xbc01193e,0xd91f098b,0xb1db83fc,0xf7d928a5
-.long 0xe991f600,0x55e38417,0x2981a934,0x2a91113e,0x06b13bde,0xcbc9d648,0x0755ff44,0xb011b6ac,0x045ec613,0x6f4cb518,0xc2f5930a,0x522d2d31,0x382e65de,0x5acae1af,0x27bc966f,0x57643067
-.long 0x1c7193f0,0x5e12705d,0x3be8858e,0xf0f32f47,0x96c6dfc7,0x785c3d7d,0xbf31795d,0xd75b4a20,0x342659d4,0x91acf17b,0x44f0378f,0xe596ea34,0xce52129d,0x4515708f,0x79f2f585,0x17387e1e
-.long 0x49dee168,0x72cfd2e9,0x3e2af239,0x1ae05223,0x1d94066a,0x009e75be,0x38abf413,0x6cca31c7,0x9bc49908,0xb50bd61d,0xf5e2bc1e,0x4a9b4a8c,0x946f83ac,0xeb6cc5f7,0xebffab28,0x27da93fc
-.long 0x4821c8c5,0xea314c96,0xa83c15f4,0x8de49ded,0x7af33004,0x7a64cf20,0xc9627e10,0x45f1bfeb,0x54b9df60,0x878b0626,0xa95c0b33,0x5e4fdc3c,0xc2035d8e,0xe54a37ca,0x80f20b8c,0x9087cda9
-.long 0x8319ade4,0x36f61c23,0xde8cfdf8,0x766f287a,0x346f3705,0x48821948,0x16e4f4a2,0x49a7b853,0x5cedadfd,0xb9b3f8a7,0x8db2a815,0x8f562815,0x01f68f95,0xc0b7d554,0x688a208e,0x12971e27
-.long 0xd0ff34fc,0xc9f8b696,0x1222718c,0x20824de2,0x0c95284d,0x7213cf9f,0xdc158240,0xe2ad741b,0x54043ccf,0x0ee3a6df,0xd84412b3,0x16ff479b,0xdfc98af0,0xf6c74ee0,0x52fcd2fb,0xa78a169f
-.long 0x99c930e9,0xd8ae8746,0x49e117a5,0x1d33e858,0x6624759f,0x7581fcb4,0x5bedc01d,0xde50644f,0xcaf3155e,0xbeec5d00,0xbc73e75f,0x672d66ac,0x270b01db,0x86b9d8c6,0x50f55b79,0xd249ef83
-.long 0x73978fe3,0x6131d6d4,0x754b00a1,0xcc4e4542,0x57dfcfe9,0x4e05df05,0x51ef6bf0,0x94b29cdd,0x9bc7edf2,0xe4530cff,0xd3da65f3,0x8ac236fd,0xc8eb0b48,0x0faf7d5f,0x660eb039,0x4d2de14c
-.long 0x60430e54,0xc006bba7,0xda3289ab,0x10a2d0d6,0xd7979c59,0x9c037a5d,0xa116d944,0x04d1f3d3,0x8a0983cd,0x9ff22473,0xc883cabb,0x28e25b38,0x47a58995,0xe968dba5,0x774eebdf,0x2c80b505
-.long 0x4a953beb,0xee763b71,0x1642e7f6,0x502e223f,0x61d5e722,0x6fe4b641,0xdbef5316,0x9d37c5b0,0xf8330bc7,0x0115ed70,0x75a72789,0x139850e6,0xffceccc2,0x27d7faec,0x4fd9f7f6,0x3016a860
-.long 0x4cd8f64c,0xc492ec64,0x279d7b51,0x58a2d790,0x1fc75256,0x0ced1fc5,0x8f433017,0x3e658aed,0x05da59eb,0x0b61942e,0x0ddc3722,0xba3d60a3,0x742e7f87,0x7c311cd1,0xf6b01b6e,0x6473ffee
-.long 0x692ac542,0x8303604f,0x227b91d3,0xf079ffe1,0x15aaf9bd,0x19f63e63,0xf1f344fb,0xf99ee565,0xd6219199,0x8a1d661f,0xd48ce41c,0x8c883bc6,0x3c74d904,0x1065118f,0x0faf8b1b,0x713889ee
-.long 0x81a1b3be,0x972b3f8f,0xce2764a0,0x4f3ce145,0x28c4f5f7,0xe2d0f1cc,0xc7f3985b,0xdeee0c0d,0xd39e25c3,0x7df4adc0,0xc467a080,0x40619820,0x61cf5a58,0x440ebc93,0x422ad600,0x527729a6
-.long 0xb1b76ba6,0xca6c0937,0x4d2026dc,0x1a2eab85,0x19d9ae0a,0xb1715e15,0xbac4a026,0xf1ad9199,0x07ea7b0e,0x35b3dfb8,0x3ed9eb89,0xedf5496f,0x2d6d08ab,0x8932e5ff,0x25bd2731,0xf314874e
-.long 0x3f73f449,0xefb26a75,0x8d44fc79,0x1d1c94f8,0x3bc0dc4d,0x49f0fbc5,0x3698a0d0,0xb747ea0b,0x228d291e,0x5218c3fe,0x43c129d6,0x35b804b5,0xd1acc516,0xfac859b8,0x95d6e668,0x6c10697d
-.long 0x0876fd4e,0xc38e438f,0x83d2f383,0x45f0c307,0xb10934cb,0x203cc2ec,0x2c9d46ee,0x6a8f2439,0x65ccde7b,0xf16b431b,0x27e76a6f,0x41e2cd18,0x4e3484d7,0xb9c8cf8f,0x8315244a,0x64426efd
-.long 0xfc94dea3,0x1c0a8e44,0xdad6a0b0,0x34c8cdbf,0x04113cef,0x919c3840,0x15490ffa,0xfd32fba4,0x795dcfb7,0x58d190f6,0x83588baf,0xfef01b03,0xca1fc1c0,0x9e6d1d63,0xf0a41ac9,0x53173f96
-.long 0xba16f73b,0x2b1d402a,0x8cf9b9fc,0x2fb31014,0x446ef7bf,0x2d51e60e,0xb91e1745,0xc731021b,0x4fee99d4,0x9d3b4724,0xfac5c1ea,0x4bca48b6,0xbbea9af7,0x70f5f514,0x974c283a,0x751f55a5
-.long 0xcb452fdb,0x6e30251a,0x50f30650,0x31ee6965,0x933548d9,0xb0b3e508,0xf4b0ef5b,0xb8949a4f,0x3c88f3bd,0x208b8326,0xdb1d9989,0xab147c30,0x44d4df03,0xed6515fd,0xe72eb0c5,0x17a12f75
-.long 0x36cf69db,0x3b59796d,0x56670c18,0x1219eee9,0x7a070d8e,0xfe3341f7,0xa327f90c,0x9b70130b,0x0ae18e0e,0x36a32462,0x46c0a638,0x2021a623,0xc62eb0d4,0x251b5817,0x4c762293,0x87bfbcdf
-.long 0xcdd61d64,0xf78ab505,0xc8c18857,0x8c7a53fc,0x16147515,0xa653ce6f,0xea7d52d5,0x9c923aa5,0x5c18871f,0xc24709cb,0x73b3cc74,0x7d53bec8,0xfdd1d4c4,0x59264aff,0x240da582,0x5555917e
-.long 0x548f5a0e,0xcae8bbda,0x3bbfbbe1,0x1910eaba,0x7677afc3,0xae579685,0x73ff0b5c,0x49ea61f1,0x4f7c3922,0x78655478,0x20c68eef,0x95d337cd,0xdf779ab9,0x68f1e1e5,0xb5cf69a8,0x14b491b0
-.long 0x28e3fe89,0x7a6cbbe0,0xc5aac0eb,0xe7e1fee4,0x697e5140,0x7f47eda5,0xb454921f,0x4f450137,0x95cd8185,0xdb625f84,0xcdb2e583,0x74be0ba1,0xdd5e6de4,0xaee4fd7c,0xe8101739,0x4251437d
-.long 0xac620366,0x686d72a0,0xb6d59344,0x4be3fb9c,0xa1eb75b9,0x6e8b44e7,0x91a5c10c,0x84e39da3,0xb38f0409,0x37cc1490,0x2c2ade82,0x02951943,0x1190a2d8,0x9b688783,0x231182ba,0x25627d14
-.long 0x658a6d87,0x6eb550aa,0xcf9c7325,0x1405aaa7,0x5c8748c9,0xd147142e,0x53ede0e0,0x7f637e4f,0x14ffad2c,0xf8ca2776,0xbafb6791,0xe58fb1bd,0xbf8f93fc,0x17158c23,0x0a4a4655,0x7f15b373
-.long 0xd842ca72,0x39d4add2,0x3ed96305,0xa71e4391,0x6700be14,0x5bb09cbe,0xd8befcf6,0x68d69d54,0x37183bcf,0xa45f5367,0x3370dff7,0x7152b7bb,0xbf12525b,0xcf887baa,0xd6d1e3cd,0xe7ac7bdd
-.long 0x81fdad90,0x25914f78,0x0d2cf6ab,0xcf638f56,0xcc054de5,0xb90bc03f,0x18b06350,0x932811a7,0x9bbd11ff,0x2f00b330,0xb4044974,0x76108a6f,0xa851d266,0x801bb9e0,0xbf8990c1,0x0dd099be
-.long 0xabe32986,0x58c5aaaa,0x50d59c27,0x0fe9dd2a,0x8d307305,0x84951ff4,0x86529b78,0x6c23f829,0x0b136a79,0x50bb2218,0x77a20996,0x7e2174de,0xc0bb4da6,0x6f00a4b9,0xefdde8da,0x89a25a17
-.long 0xc11ee01d,0xf728a27e,0xe5f10dfb,0xf900553a,0x02ec893c,0x189a83c8,0x23f66d77,0x3ca5bdc1,0x97eada9f,0x98781537,0x10256230,0x59c50ab3,0x323c69b3,0x346042d9,0x2c460449,0x1b715a6d
-.long 0x6ae06e0b,0xa41dd476,0x9d42e25f,0xcdd7888e,0x56b25a20,0x0f395f74,0x8700e27e,0xeadfe0ae,0x69950093,0xb09d52a9,0x327f8d40,0x3525d9cb,0x67df886a,0xb8235a94,0x035faec2,0x77e4b0dd
-.long 0x517d7061,0x115eb20a,0x6c2df683,0x77fe3433,0xcdc6fc67,0x6870ddc7,0x0b87de83,0xb1610588,0xd9c4ddbe,0x343584ca,0x3d754be2,0xb3164f1c,0xc1e6c894,0x0731ed3a,0x4f6b904c,0x26327dec
-.long 0x97b5cd32,0x9d49c6de,0xb5eceecd,0x40835dae,0xd9ded7fe,0xc66350ed,0x7a678804,0x8aeebb5c,0x5b8ee9ec,0x51d42fb7,0x8e3ca118,0xd7a17bdd,0x2ef4400e,0x40d7511a,0x875a66f4,0xc48990ac
-.long 0x2199e347,0x8de07d2a,0x2a39e051,0xbee75556,0x916e51dc,0x56918786,0x4a2d89ec,0xeb191313,0x37d341ed,0x6679610d,0x56d51c2b,0x434fbb41,0xd7492dba,0xe54b7ee7,0x59021493,0xaa33a79a
-.long 0xe4bd6d3d,0x49fc5054,0x5ab551d0,0x09540f04,0x4942d3a6,0x8acc9085,0x2d28323b,0x231af02f,0x0992c163,0x93458cac,0x888e3bb4,0x1fef8e71,0xbe8c268c,0x27578da5,0xe805ec00,0xcc8be792
-.long 0xc61c3855,0x29267bae,0x58c1fd3b,0xebff429d,0x8c0b93b8,0x22d886c0,0x2ddb8953,0xca5e00b2,0xc3fed8b7,0xcf330117,0x819c01f6,0xd49ac6fa,0x3c0fbd54,0x6ddaa6bd,0x8049a2cf,0x91743068
-.long 0xaff2ef81,0xd67f981e,0x2818ae80,0xc3654d35,0x1b2aa892,0x81d05044,0x3d099328,0x2db067bf,0x703dcc97,0xe7c79e86,0xe133e215,0xe66f9b37,0xe39a7a5c,0xcdf119a6,0x876f1b61,0x47c60de3
-.long 0xd860f1b2,0x6e405939,0xf5ed4d4a,0x3e9a1dbc,0xc9b6bcbd,0x3f23619e,0x734e4497,0x5ee790cf,0x5bdaf9bb,0xf0a834b1,0x4ca295f0,0x02cedda7,0xcb8e378c,0x4619aa2b,0xcc987ea4,0xe5613244
-.long 0x76b23a50,0x0bc022cc,0x0a6c21ce,0x4a2793ad,0x89cac3f5,0x38328780,0xcba26d56,0x29176f1b,0x4f6f59eb,0x06296187,0x8bdc658e,0x86e9bca9,0x57e30402,0x2ca9c4d3,0x516a09bb,0x5438b216
-.long 0x7672765a,0x0a6a063c,0x0547b9bf,0x37a3ce64,0x98b1a633,0x42c099c8,0x05ee6961,0xb5ab800d,0x11a5acd6,0xf1963f59,0x46201063,0xbaee6157,0xa596210a,0x36d9a649,0x1ba7138c,0xaed04363
-.long 0xa4a82b76,0xcf817d1c,0xf3806be9,0x5586960e,0x09dc6bb5,0x7ab67c89,0x114fe7eb,0x52ace7a0,0xcbbc9b70,0xcd987618,0x604ca5e1,0x4f06fd5a,0x6dbde133,0x90af14ca,0x948a3264,0x1afe4322
-.long 0xc44b2c6c,0xa70d2ca6,0x0ef87dfe,0xab726799,0x2e696377,0x310f64dc,0x4c8126a0,0x49b42e68,0xcea0b176,0x0ea444c3,0xcb269182,0x53a8ddf7,0xbbba9dcb,0xf3e674eb,0xd8669d33,0x0d2878a8
-.long 0xd019b6a3,0x04b935d5,0x406f1e46,0xbb5cf88e,0x5b57c111,0xa1912d16,0x19ebfd78,0x9803fc21,0xc07764a9,0x4f231c9e,0xb75bd055,0xd93286ee,0x8ee6c9de,0x83a9457d,0x6087ec90,0x04695915
-.long 0x58d6cd46,0x14c6dd8a,0x8e6634d2,0x9cb633b5,0xf81bc328,0xc1305047,0x26a177e5,0x12ede0e2,0x065a6f4f,0x332cca62,0x67be487b,0xc3a47ecd,0x0f47ed1c,0x741eb187,0xe7598b14,0x99e66e58
-.long 0x63d0ff12,0x6f0544ca,0xb610a05f,0xe5efc784,0x7cad7b47,0xf72917b1,0xf2cac0c0,0x3ff6ea20,0xf21db8b7,0xcc23791b,0xd7d93565,0x7dac70b1,0x694bdaad,0x682cda1d,0x1023516d,0xeb88bb8c
-.long 0xdfdbeb1b,0xc4c634b4,0xb4ee4dea,0x22f5ca72,0xe6524821,0x1045a368,0x052b18b2,0xed9e8a3f,0xb961f49a,0x9b7f2cb1,0x7b009670,0x7fee2ec1,0x22507a6d,0x350d8754,0x4db55f1d,0x561bd711
-.long 0x320bbcaf,0x4c189ccc,0xdf1de48c,0x568434cf,0x0fa8f128,0x6af1b00e,0x8907583c,0xf0ba9d02,0x32ff9f60,0x735a4004,0xc25dcf33,0x3dd8e4b6,0x42c74cef,0xf2230f16,0x013fa8ad,0xd8117623
-.long 0xf51fe76e,0x36822876,0x11d62589,0x8a6811cc,0x46225718,0xc3fc7e65,0xc82fdbcd,0xb7df2c9f,0xdd7b205b,0x3b1d4e52,0x47a2e414,0xb6959478,0xefa91148,0x05e4d793,0xfd2e9675,0xb47ed446
-.long 0x04c9d9bf,0x1a7098b9,0x1b793048,0x661e2881,0xb01ee461,0xb1a16966,0x2954746f,0xbc521308,0x2477de50,0xc909a0fc,0x7dbd51ef,0xd80bb41c,0x53294905,0xa85be7ec,0x83958f97,0x6d465b18
-.long 0xfb6840fd,0x16f6f330,0x3401e6c8,0xfaaeb214,0xccb5b4f8,0xaf83d30f,0x266dec4b,0x22885739,0x7bc467df,0x51b4367c,0xd842d27a,0x926562e3,0x0fea14a6,0xdfcb6614,0xf2734cd9,0xeb394dae
-.long 0x11c0be98,0x3eeae5d2,0x814e8165,0xb1e6ed11,0xe52bce1c,0x191086bc,0xa75a04da,0x14b74cc6,0x8c060985,0x63cf1186,0x2dbd7f7c,0x071047de,0xce0942ca,0x4e433b8b,0xd8fec61d,0xecbac447
-.long 0xebf3232f,0x8f0ed0e2,0xc52a2edd,0xfff80f9e,0x75b55fdb,0xad9ab433,0xe42e0c11,0x73ca7820,0xe6251b46,0x6dace0a0,0x4c0d932d,0x89bc6b5c,0x095da19a,0x3438cd77,0x8d48bdfb,0x2f24a939
-.long 0x766561b7,0x99b47e46,0x0ed0322a,0x736600e6,0x638e1865,0x06a47cb1,0xcb136000,0x927c1c2d,0x0cc5df69,0x29542337,0x09d649a9,0x99b37c02,0x6aefdb27,0xc5f0043c,0x1be95c27,0x6cdd9987
-.long 0x390420d2,0x69850931,0x0983efa4,0x299c40ac,0xaf39aead,0x3a05e778,0x43a45193,0x84274408,0x91a711a0,0x6bcd0fb9,0x9f52ab17,0x461592c8,0xda3c6ed6,0xb49302b4,0x330d7067,0xc51fddc7
-.long 0xda50d531,0x94babeb6,0xa6a7b9da,0x521b840d,0x404bdc89,0x5305151e,0xd0d07449,0x1bcde201,0x3b76a59a,0xf427a78b,0x07791a1b,0xf84841ce,0xbf91ed1c,0xebd314be,0xbf172943,0x8e61d34c
-.long 0x5541b892,0x1d5dc451,0xfc9d9e54,0xb186ee41,0xd5bf610d,0x9d9f345e,0xf6acca9f,0x3e7ba65d,0xa8369486,0x9dda787a,0x8eb5ba53,0x09f9dab7,0xd6481bc3,0x5afb2033,0xafa62104,0x76f4ce30
-.long 0xf4f066b5,0xa8fa00cf,0x461dafc2,0x89ab5143,0xa3389998,0x44339ed7,0xbc214903,0x2ff862f1,0xb05556e3,0x2c88f985,0x3467081e,0xcd96058e,0xedc637ea,0x7d6a4176,0x36a5acdc,0xe1743d09
-.long 0x7eb37726,0x66fd72e2,0x1481a037,0xf7fa264e,0x45f4aa79,0x9fbd3bde,0x767c3e22,0xed1e0147,0x82e7abe2,0x7621f979,0x45f633f8,0x19eedc72,0x6137bf3a,0xe69b155e,0x414ee94e,0xa0ad13ce
-.long 0x1c0e651a,0x93e3d524,0x02ce227e,0xab1a6e2a,0x4ab27eca,0xe7af1797,0xbd444f39,0x245446de,0x56c07613,0x59e22a21,0xf4275498,0x43deafce,0x67fd0946,0x10834ccb,0x47406edf,0xa75841e5
-.long 0x7b0ac93d,0xebd6a677,0x78f5e0d7,0xa6e37b0d,0x76f5492b,0x2516c096,0x9ac05f3a,0x1e4bf888,0x4df0ba2b,0xcdb42ce0,0x5062341b,0x935d5cfd,0x82acac20,0x8a303333,0x5198b00e,0x429438c4
-.long 0x049d33fa,0x1d083bc9,0x946f67ff,0x58b82dda,0x67a1d6a3,0xac3e2db8,0x1798aac8,0x62e6bead,0xde46c58c,0xfc85980f,0x69c8d7be,0xa7f69379,0x837b35ec,0x23557927,0xe0790c0c,0x06a933d8
-.long 0x077ff55d,0x827c0e9b,0xbb26e680,0x53977798,0x1d9cb54f,0x59530874,0x4aac53ef,0xcca3f449,0xa07eda0f,0x11dc5c87,0xfd6400c8,0xc138bccf,0x13e5da72,0x549680d3,0x4540617e,0xc93eed82
-.long 0x4d0b75c0,0xfd3db157,0x6386075b,0x9716eb42,0x817b2c16,0x0639605c,0xf1e4f201,0x09915109,0x5cca6c3b,0x35c9a928,0x3505c900,0xb25f7d1a,0x630480c4,0xeb9f7d20,0x2a1a501c,0xc3c7b8c6
-.long 0x5a1f8e24,0x3f99183c,0x9dd255f0,0xfdb118fa,0xc27f62a6,0xb9b18b90,0x396ec191,0xe8f732f7,0x0be786ab,0x524a2d91,0x0ac5a0f5,0x5d32adef,0x9725f694,0x9b53d4d6,0x0510ba89,0x032a76c6
-.long 0xebeb1544,0x840391a3,0x3ed73ac3,0x44b7b88c,0x256cb8b3,0xd24bae7a,0xe394cb12,0x7ceb151a,0x5bc1e6a8,0xbd6b66d0,0x090f07bf,0xec70cecb,0x7d937589,0x270644ed,0x5f1dccfe,0xee9e1a3d
-.long 0x745b98d2,0xb0d40a84,0x2556ed40,0xda429a21,0x85148cb9,0xf676eced,0xded18936,0x5a22d40c,0x70e8a4ce,0x3bc4b9e5,0x9eae0379,0xbfd1445b,0x1a0bd47e,0xf23f2c0c,0xe1845531,0xa9c0bb31
-.long 0x0a4c3f6b,0x9ddc4d60,0x2c15ef44,0xbdfaad79,0x7f484acc,0xce55a236,0x055b1f15,0x08653ca7,0x538873a3,0x2efa8724,0xace1c7e7,0x09299e5d,0xade332ba,0x07afab66,0x92dd71b7,0x9be1fdf6
-.long 0x5758b11c,0xa49b5d59,0xc8654f40,0x0b852893,0x52379447,0xb63ef6f4,0x105e690c,0xd4957d29,0x646559b0,0x7d484363,0x49788a8e,0xf4a8273c,0x34ce54a9,0xee406cb8,0xf86fda9b,0x1e1c260f
-.long 0xcf6a4a81,0xe150e228,0x1b488772,0x1fa3b6a3,0xc5a9c15b,0x1e6ff110,0x8ad6aa47,0xc6133b91,0x9dffa978,0x8ac5d55c,0x5f3965f2,0xba1d1c1d,0x7732b52f,0xf969f4e0,0xa5172a07,0xfceecdb5
-.long 0x10f2b8f5,0xb0120a5f,0x5c4c2f63,0xc83a6cdf,0xf8f9c213,0x4d47a491,0xd3f1bbd5,0xd9e1cce5,0xaba7e372,0x0d91bc7c,0xdfd1a2db,0xfcdc74c8,0x374618e5,0x05efa800,0x15a7925e,0x11216969
-.long 0xf6021c5d,0xd4c89823,0xeff14423,0x880d5e84,0x6dcd1396,0x6523bc5a,0x113c978b,0xd1acfdfc,0xbbb66840,0xb0c164e8,0x72b58459,0xf7f4301e,0xa638e8ec,0xc29ad4a6,0x46b78699,0xf5ab8961
-.long 0x0e954750,0x9dbd7974,0x64f9d2c6,0x0121de88,0xd985232e,0x2e597b42,0x53451777,0x55b6c3c5,0x519cb9fb,0xbb53e547,0x8428600d,0xf134019f,0xe081791a,0x5a473176,0x35fb0c08,0x2f3e2263
-.long 0x73d273b0,0xb28c3017,0x7721ef9a,0xccd21076,0xb650dc39,0x054cc292,0x6188045e,0x662246de,0x6b83c0d1,0x904b52fa,0x97e9cd46,0xa72df267,0x899725e4,0x886b43cd,0xd849ff22,0x2b651688
-.long 0x02f34533,0x60479b79,0x0c77c148,0x5e354c14,0xa8537c78,0xb4bb7581,0xefe1495f,0x188043d7,0x8c1d5026,0x9ba12f42,0x93d4aaab,0x2e0c8a26,0xaa57c450,0xbdba7b8b,0x9bbdafef,0x140c9ad6
-.long 0x25ac0f18,0x2067aa42,0x04d1fbf3,0xf7b1295b,0xa4b04824,0x14829111,0x33bd5e91,0x2ce3f192,0x8f2e1b72,0x9c7a1d55,0x302aa243,0xfe932286,0xd4be9554,0x497ca7b4,0xe0547a6e,0xb8e821b8
-.long 0x67e573e0,0xfb2838be,0x4084c44b,0x05891db9,0x96c1c2c5,0x91311373,0xd958444b,0x6aebfa3f,0xe56e55c1,0xac9cdce9,0x2caa46d0,0x7148ced3,0xb61fe8eb,0x2e10c7ef,0xff97cf4d,0x9fd835da
-.long 0x081e9387,0xa36da109,0x8c935828,0xfb9780d7,0xe540b015,0xd5940332,0xe0f466fa,0xc9d7b51b,0xd6d9f671,0xfaadcd41,0xb1a2ac17,0xba6c1e28,0xed201e5f,0x066a7833,0xf90f462b,0x19d99719
-.long 0x060b5f61,0xf431f462,0x7bd057c2,0xa56f46b4,0x47e1bf65,0x348dca6c,0x41bcf1ff,0x9a38783e,0xda710718,0x7a5d33a9,0x2e0aeaf6,0x5a779987,0x2d29d187,0xca87314d,0xc687d733,0xfa0edc3e
-.long 0x6a31e09b,0x9df33621,0xc1350e35,0xde89e44d,0x4ca0cf52,0x29214871,0x0b88a538,0xdf379672,0x2591d61b,0xc92a510a,0x585b447b,0x79aa87d7,0xe5287f77,0xf67db604,0x5efe7a80,0x1697c8bf
-.long 0xcb198ac7,0x1c894849,0x0f264665,0xa884a93d,0x9b200678,0x2da964ef,0x009834e6,0x3c351b87,0xe2c4b44b,0xafb2ef9f,0x3326790c,0x580f6c47,0x0b02264a,0xb8480521,0x42a194e2,0x8ba6f9e2
-.long 0x8fb54738,0xfc87975f,0x27c3ead3,0x35160788,0xb74a085a,0x834116d2,0xa62fe996,0x53c99a73,0x5b81c51b,0x87585be0,0xbe0852b7,0x925bafa8,0xa84d19a7,0x76a4fafd,0x585206d4,0x39a45982
-.long 0x5eb03c0e,0x499b6ab6,0x72bc3fde,0xf19b7954,0x6e3a80d2,0xa86b5b9c,0x6d42819f,0xe4377508,0xbb3ee8a3,0xc1663650,0xb132075f,0x75eb14fc,0x7ad834f6,0xa8ccc906,0xe6e92ffd,0xea6a2474
-.long 0x0f8d6758,0x9d72fd95,0x408c07dd,0xcb84e101,0xa5e23221,0xb9114bfd,0xe94e742c,0x358b5fe2,0x95f40e75,0x1c0577ec,0x3d73f3d6,0xf0155451,0xbd1b9b66,0x9d55cd67,0xaf8d63c7,0x63e86e78
-.long 0xd3c095f1,0x39d934ab,0xe4b76d71,0x04b261be,0xe73e6984,0x1d2e6970,0x5e5fcb11,0x879fb23b,0xdfd75490,0x11506c72,0x61bcf1c1,0x3a97d085,0xbf5e7007,0x43201d82,0x798232a7,0x7f0ac52f
-.long 0x6eb564d4,0x2715cbc4,0x9e570e29,0x8d6c752c,0x9ef5fd5d,0xf80247c8,0xd53eb514,0xc3c66b46,0x0f87de56,0x9666b401,0xc6c603b5,0xce62c06f,0x7e4fc942,0xae7b4c60,0x663a9c19,0x38ac0b77
-.long 0x4b049136,0xcb4d20ee,0x356a4613,0x8b63bf12,0x70e08128,0x1221aef6,0x4acb6b16,0xe62d8c51,0x379e7896,0x71f64a67,0xcafd7fa5,0xb25237a2,0x3841ba6a,0xf077bd98,0x3cd16e7e,0xc4ac0244
-.long 0x21fea4ca,0x548ba869,0xf3dfdac1,0xd36d0817,0xf4685faf,0x09d8d71f,0xc52c459a,0x8eff66be,0x0b57235e,0x182faee7,0x0106712b,0xee3c39b1,0xc0fcdcb0,0x5107331f,0xa51054ba,0x669fb9dc
-.long 0x319d7682,0xb25101fb,0x0a982fee,0xb0293129,0x0261b344,0x51c1c9b9,0xbfd371fa,0x0e008c5b,0x0278ca33,0xd866dd1c,0xe5aa53b1,0x666f76a6,0x6013a2cf,0xe5cfb779,0xa3521836,0x1d3a1aad
-.long 0x73faa485,0xcedd2531,0xc0a76878,0xc8ee6c4f,0x2a11667d,0xddbccfc9,0x1c2f695a,0x1a418ea9,0x51f73971,0xdb11bd92,0xda2ed89f,0x3e4b3c82,0xe73e0319,0x9a44f3f4,0x303431af,0xd1e3de0f
-.long 0x50f75f9c,0x3c5604ff,0x7e752b22,0x1d8eddf3,0x3c9a1118,0x0ef074dd,0xccb86d7b,0xd0ffc172,0x037d90f2,0xabd1ece3,0x6055856c,0xe3f307d6,0x7e4c6daf,0x422f9328,0x334879a0,0x902aac66
-.long 0x94cdfade,0xb6a1e7bf,0x7fc6d634,0x6c97e1ed,0xa2fb63f8,0x662ad24d,0xa5928405,0xf81be1b9,0xd14b4206,0x86d765e4,0x8fa0db65,0xbecc2e0e,0xb17fc76c,0xa28838e0,0xe37cf24e,0xe49a602a
-.long 0x567193ec,0x76b4131a,0xe5f6e70b,0xaf3c305a,0x031eebdd,0x9587bd39,0x71bbe831,0x5709def8,0x0eb2b669,0x57059983,0x875b7029,0x4d80ce1b,0x0364ac16,0x838a7da8,0xbe1c83ab,0x2f431d23
-.long 0xf9294dd3,0xe56812a6,0x9b4b0d77,0xb448d01f,0x04e8305c,0xf3ae6061,0x94d8c63e,0x2bead645,0x84fd8b07,0x0a85434d,0xf7a9dee5,0x537b983f,0xef55bd85,0xedcc5f18,0x21c6cf8b,0x2041af62
-.long 0xb940c71e,0x8e52874c,0xdb5f4b3a,0x211935a9,0x301b1dc3,0x94350492,0x29958620,0x33d2646d,0xef911404,0x16b0d64b,0x9a3c5ef4,0x9d1f25ea,0x4a352c78,0x20f200eb,0x4bd0b428,0x43929f2c
-.long 0xc7196e29,0xa5656667,0x9391be48,0x7992c2f0,0x9ee0cd6e,0xaaa97cbd,0x3dc8c9bf,0x51b0310c,0xdd9f22cb,0x237f8acf,0xb585d584,0xbb1d81a1,0x8c416388,0x8d5d85f5,0x42fe474f,0x0d6e5a5a
-.long 0x38235d4e,0xe7812766,0x496e3298,0x1c62bd67,0x3f175bc8,0x8378660c,0x17afdd4d,0x4d04e189,0x85a8068c,0x32a81601,0x92b29a85,0xdb58e4e1,0xc70d8a3b,0xe8a65b86,0x98a0403b,0x5f0e6f4e
-.long 0x69ed2370,0x08129684,0x0871ee26,0x34dc30bd,0x7c9c5b05,0x3a5ce948,0x43a90c87,0x7d487b80,0xdd0e7179,0x4089ba37,0xb4041811,0x45f80191,0x98747ba5,0x1c3e1058,0x6e1ae592,0x98c4e13a
-.long 0xe82c9f9e,0xd44636e6,0xc33a1043,0x711db87c,0xaa8aec05,0x6f431263,0x2744a4aa,0x43ff120d,0xae77779b,0xd3bd892f,0x8cdc9f82,0xf0fe0cc9,0xf1c5b1bc,0xca5f7fe6,0x44929a72,0xcc63a682
-.long 0x09dbe19a,0xc7eaba0c,0x6b5c73c2,0x2f3585ad,0x0ae50c30,0x8ab8924b,0x638b30ba,0x17fcd27a,0x10b3d5a5,0xaf414d34,0x2a9accf1,0x09c107d2,0x946a6242,0x15dac49f,0xd707d642,0xaec3df2a
-.long 0x3f894ae0,0x2c2492b7,0xb75f18ce,0xf59df3e5,0x8f53cad0,0x7cb740d2,0xc4f01294,0x3eb585fb,0x32c7f717,0x17da0c86,0xaf943f4c,0xeb8c795b,0xf67c51d2,0x4ee23fb5,0x68889949,0xef187575
-.long 0x0389168b,0xa6b4bdb2,0xea577d03,0xc4ecd258,0x55743082,0x3a63782b,0xc72f08cd,0x6f678f4c,0x65e58dd8,0x553511cf,0xd402c0cd,0xd53b4e3e,0xa037c14c,0x37de3e29,0xc05712aa,0x86b6c516
-.long 0xb38dff6f,0x2834da3e,0xea636be8,0xbe012c52,0x61dd37f8,0x292d238c,0x8f8142db,0x0e54523f,0x036a05d8,0xe31eb436,0x1e93c0ff,0x83e3cdff,0x50821ddf,0x3fd2fe0f,0xff9eb33b,0xc8e19b0d
-.long 0xb569a5fe,0xc8cc943f,0xd4342d75,0xad0090d4,0xcaeca000,0x82090b4b,0x1bd410eb,0xca39687f,0x65959d77,0xe7bb0df7,0x9c964999,0x39d78218,0xb2415451,0xd87f62e8,0xbed76108,0xe5efb774
-.long 0xe822f0d0,0x3ea011a4,0x5a8704f8,0xbc647ad1,0x50c6820f,0xbb315b35,0xb7e76bec,0x863dec3d,0xf017bfc7,0x01ff5d3a,0x976b8229,0x20054439,0x0bbd0d3b,0x067fca37,0x7f5e3d0f,0xf63dde64
-.long 0x2a4c94e9,0x22dbefb3,0x96f8278a,0xafbff0fe,0x3503793d,0x80aea0b1,0x5f06cd29,0xb2238029,0x8ec3feca,0x65703e57,0x393e7053,0x06c38314,0x7c6734c4,0xa0b751eb,0xc59f0f1e,0xd2e8a435
-.long 0x5e9ca895,0x147d9052,0x972072df,0x2f4dd31e,0xe6c6755c,0xa16fda8e,0xcf196558,0xc66826ff,0x0cf43895,0x1f1a76a3,0x83c3097b,0xa9d604e0,0x66390e0e,0xe1908309,0xb3c85eff,0xa50bf753
-.long 0xf6a70251,0x0696bdde,0x3c6ab16a,0x548b801b,0xa4d08762,0x37fcf704,0xdff76c4e,0x090b3def,0x69cb9158,0x87e8cb89,0x995ece43,0x44a90744,0x0ad9fbf5,0xf85395f4,0x4fb0c82d,0x49b0f6c5
-.long 0xadf7cccf,0x75d9bc15,0xdfa1e1b0,0x81a3e5d6,0x249bc17e,0x8c39e444,0x8ea7fd43,0xf37dccb2,0x907fba12,0xda654873,0x4a372904,0x35daa6da,0x6283a6c5,0x0564cfc6,0x4a9395bf,0xd09fa4f6
-.long 0xaeb19a36,0x688e9ec9,0xc7bfbfb4,0xd913f1ce,0x61c2faa6,0x797b9a3c,0x6a0a9c12,0x2f979bec,0x359679ec,0xb5969d0f,0x079b0460,0xebcf523d,0x10fab870,0xfd6b0008,0x9373a39c,0x3f2edcda
-.long 0x6f568431,0x0d64f9a7,0x02f8898c,0xf848c27c,0x260b5bd5,0xf418ade1,0x6973dee8,0xc1f3e323,0x26c185dd,0x46e9319c,0x546f0ac4,0x6d85b7d8,0x247f9d57,0x427965f2,0xb0035f48,0xb519b636
-.long 0xab87d59c,0x6b6163a9,0x39caaa11,0xff9f58c3,0x3177387b,0x4ac39cde,0x873e77f9,0x5f6557c2,0x36a83041,0x67504006,0x75ef196c,0x9b1c96ca,0xb08c7940,0xf34283de,0x1128c316,0x7ea09644
-.long 0x6aa39dff,0xb510b3b5,0x9f8e4d8c,0x59b43da2,0x9e4c4b9f,0xa8ce31fd,0xc1303c01,0x0e20be26,0xe8ee47c9,0x18187182,0x7db98101,0xd9687cdb,0xa1e14ff6,0x7a520e4d,0x8836d572,0x429808ba
-.long 0x4944b663,0xa37ca60d,0xa3f91ae5,0xf901f7a9,0x9e36e3b1,0xe4e3e76e,0x29d93250,0x9aa219cf,0x056a2512,0x347fe275,0xde65d95c,0xa4d643d9,0x699fc3ed,0x9669d396,0xcf8c6bbe,0xb598dee2
-.long 0xdda9e5c6,0x682ac1e5,0xcaa9fc95,0x4e0d3c72,0x772bea44,0x17faaade,0xab0009c8,0x5ef8428c,0x460ff016,0xcc4ce47a,0x725281cb,0xda6d12bf,0x0223aad2,0x44c67848,0x36256e28,0x6e342afa
-.long 0x93a37c04,0x1400bb0b,0xdd10bd96,0x62b1bc9b,0x0dac46b7,0x7251adeb,0x7be4ef51,0x7d33b92e,0xe61fa29a,0x28b2a94b,0x06422233,0x4b2be13f,0x330d8d37,0x36d6d062,0xb28ca005,0x5ef80e1e
-.long 0x6d16768e,0x174d4699,0x628bf217,0x9fc4ff6a,0x154e490d,0x77705a94,0x8d2d997a,0x9d96dd28,0xce5d72c4,0x77e2d9d8,0xc11c714f,0x9d06c5a4,0x79e4a03e,0x02aa5136,0x030ff28b,0x1386b3c2
-.long 0xfb283f61,0xfe82e8a6,0xf3abc3fb,0x7df203e5,0x3a4d3622,0xeec7c351,0xdf762761,0xf7d17dbf,0x522055f0,0xc3956e44,0x8fa748db,0xde3012db,0xbf1dcc14,0xca9fcb63,0xbe4e2f3a,0xa56d9dcf
-.long 0x8bcec9c2,0xb86186b6,0x680b9f06,0x7cf24df9,0xc0d29281,0xc46b45ea,0x07b10e12,0xfff42bc5,0x4d289427,0x12263c40,0xb4848ec4,0x3d5f1899,0xd040800c,0x11f97010,0x300feb20,0xb4c5f529
-.long 0xde94fdcb,0xcc543f8f,0xc7c2f05e,0xe96af739,0x882692e1,0xaa5e0036,0x950d4ae9,0x09c75b68,0xb5932a7a,0x62f63df2,0xde0979ad,0x2658252e,0xb5e69631,0x2a19343f,0x525b666b,0x718c7501
-.long 0xea40dc3a,0x26a42d69,0xaecc018f,0xdc84ad22,0x3270f04a,0x25c36c7b,0x50fa72ed,0x46ba6d47,0x93e58a8e,0x6c37d1c5,0x120c088c,0xa2394731,0xcb6e86da,0xc3be4263,0x7126d038,0x2c417d36
-.long 0x8b6f8efa,0x5b70f9c5,0x37718536,0x671a2faa,0xb539c92b,0xd3ced3c6,0xa31203c2,0xe56f1bd9,0x9ff3c8eb,0x8b096ec4,0x43491cea,0x2deae432,0x17943794,0x2465c6eb,0x20586843,0x5d267e66
-.long 0xb07159d0,0x9d3d116d,0xc1896210,0xae07a67f,0xbb961579,0x8fc84d87,0x1c1f8dd6,0x30009e49,0xe3132819,0x8a8caf22,0xf23ab4ff,0xcffa197c,0x205dd687,0x58103a44,0x0ded67a2,0x57b796c3
-.long 0xa1779ad7,0x0b9c3a6c,0x357c09c5,0xa33cfe2e,0x3db4a57e,0x2ea29315,0x8ebeb52e,0x91959695,0xe546c879,0x118db9a6,0x6295c8d6,0x8e996df4,0x55ec806b,0xdd990484,0x165c1035,0x24f291ca
-.long 0x440e2229,0xcca523bb,0x73ef4d04,0x324673a2,0x3e11ec39,0xaf3adf34,0xdc5968d3,0x6136d7f1,0xb053a927,0x7a7b2899,0xae067ecd,0x3eaa2661,0x02779cd9,0x8549b9c8,0xc53385ea,0x061d7940
-.long 0xf06d18bd,0x3e0ba883,0xb2700843,0x4ba6de53,0x591a9e4d,0xb966b668,0x7f4fa0ed,0x93f67567,0x4347237b,0x5a02711b,0xe794608e,0xbc041e2f,0x70f73d8c,0x55af10f5,0xbb7564f7,0xd2d4d4f7
-.long 0xb3e93ce7,0xd7d27a89,0x5d3a2c1b,0xf7b5a875,0x255b218a,0xb29e68a0,0x8af76754,0xb533837e,0x579fab2e,0xd1b05a73,0xecd74385,0xb41055a1,0x445e9115,0xb2369274,0xf520274e,0x2972a7c4
-.long 0xf678e68a,0x6c08334e,0x99b057ed,0x4e4160f0,0x52ccb69a,0x3cfe11b8,0x21c8f772,0x2fd1823a,0x3298f055,0xdf7f072f,0xfec74a6e,0x8c0566f9,0x5bb4d041,0xe549e019,0x9208d850,0x7c3930ba
-.long 0xaaa2902b,0xe07141fc,0xe4f69ad3,0x539ad799,0x813f9ffd,0xa6453f94,0x375bc2f7,0xc58d3c48,0x5dc64e96,0xb3326fad,0xb240e354,0x3aafcaa9,0xaca1e7a9,0x1d1b0903,0x1211b8a0,0x4ceb9767
-.long 0xe32a858e,0xeca83e49,0xae907bad,0x4c32892e,0x2eb9b494,0xd5b42ab6,0x1eabae1b,0x7fde3ee2,0xcaf54957,0x13b5ab09,0xe5f5d5d5,0xbfb028be,0x2003e2c0,0x928a0650,0x67476843,0x90793aac
-.long 0xc81710a0,0x5e942e79,0x27ccadd4,0x557e4a36,0x4bcf6d0c,0x72a2bc56,0x26d7b80c,0x09ee5f43,0xd4292f19,0x6b70dbe9,0x63f16b18,0x56f74c26,0x35fbb42a,0xc23db0f7,0x6ae10040,0xb606bdf6
-.long 0x044573ac,0x1eb15d4d,0x556b0ba4,0x7dc3cf86,0xc60df6f7,0x97af9a33,0xa716ce8c,0x0b1ef85c,0xc96958be,0x2922f884,0x35690963,0x7c32fa94,0xeaa00061,0x2d7f667c,0x3547365c,0xeaaf7c17
-.long 0x87032d58,0x1eb4de46,0x5e2c79e0,0xc54f3d83,0x5d04ef23,0x07818df4,0x673d41b4,0x55faa9c8,0x89b95355,0xced64f6f,0xb7415c84,0x4860d2ea,0x050ebad3,0x5fdb9bd2,0x6685a5bf,0xdb53e0cc
-.long 0x9feb6593,0xb830c031,0x6accff17,0xdd87f310,0x9f555c10,0x2303ebab,0x287e7065,0x94603695,0x2e83358c,0xf88311c3,0xeefb0178,0x508dd9b4,0x2dba8652,0x7ca23706,0x0047abe5,0x62aac5a3
-.long 0x8b1ea7b3,0x9a61d2a0,0xae8b1485,0xd495ab63,0x87052f99,0x38740f84,0xb2974eea,0x178ebe5b,0x5b36d17f,0x030bbcca,0xaaf86eea,0xb5e4cce3,0x68f8e9e0,0xb51a0220,0x09eb3e75,0xa4348796
-.long 0xeef1a752,0xbe592309,0x6f2aa1ed,0x5d7162d7,0x0f007dd2,0xaebfb5ed,0xc89edd22,0x255e14b2,0x0303b697,0xba85e072,0xf05720ff,0xc5d17e25,0x5128ebb6,0x02b58d6e,0xd754e113,0x2c80242d
-.long 0xabfae1ca,0x919fca5f,0x1a21459b,0x937afaac,0x1f66a4d2,0x9e0ca91c,0x23ec1331,0x194cc7f3,0x8aa11690,0xad25143a,0x09b59e08,0xbe40ad8d,0xe750860a,0x37d60d9b,0xc6bf434c,0x6c53b008
-.long 0x1356eb80,0xb572415d,0x9578ded8,0xb8bf9da3,0x5e8fb38b,0x22658e36,0x5af8cb22,0x9b70ce22,0x829a8180,0x7c00018a,0xb81ed295,0x84329f93,0x5f3cea83,0x7c343ea2,0x67586536,0x38f8655f
-.long 0x1d3ec517,0xa661a0d0,0x512321ae,0x98744652,0xeca92598,0x084ca591,0x1dcb3feb,0xa9bb9dc9,0x78b4c240,0x14c54355,0x610cafdc,0x5ed62a3b,0x1b38846b,0x07512f37,0xb0e38161,0x571bb70a
-.long 0x2da705d2,0xb556b95b,0xb1a08f98,0x3ef8ada6,0xddecfbe5,0x85302ca7,0x943105cd,0x0e530573,0x21a9255d,0x60554d55,0xf2f3802a,0x63a32fa1,0xcd477875,0x35c8c5b0,0x6ad42da1,0x97f458ea
-.long 0xeb6b242d,0x832d7080,0x3b71e246,0xd30bd023,0xbe31139d,0x7027991b,0x462e4e53,0x68797e91,0x6b4e185a,0x423fe20a,0x42d9b707,0x82f2c67e,0x4cf7811b,0x25c81768,0x045bb95d,0xbd53005e
-.long 0x9d8e68fd,0xe5f649be,0x1b044320,0xdb0f0533,0xe0c33398,0xf6fde9b3,0x66c8cfae,0x92f4209b,0x1a739d4b,0xe9d1afcc,0xa28ab8de,0x09aea75f,0xeac6f1d0,0x14375fb5,0x708f7aa5,0x6420b560
-.long 0x6254dc41,0x9eae499c,0x7a837e7e,0x7e293924,0x090524a7,0x74aec08c,0x8d6f55f2,0xf82b9219,0x1402cec5,0x493c962e,0xfa2f30e7,0x9f17ca17,0xe9b879cb,0xbcd783e8,0x5a6f145f,0xea3d8c14
-.long 0x5e0dee6e,0xdede15e7,0xdc628aa2,0x74f24872,0x7861bb93,0xd3e9c4fe,0x6187b2e0,0x56d4822a,0xc59826f9,0xb66417cf,0x2408169e,0xca260969,0xc79ef885,0xedf69d06,0xdc7d138f,0x00031f8a
-.long 0x0ebcf726,0x103c46e6,0x6231470e,0x4482b831,0x487c2109,0x6f6dfaca,0x62e666ef,0x2e0ace97,0x1f8d1f42,0x3246a9d3,0x574944d2,0x1b1e83f1,0xa57f334b,0x13dfa63a,0x9f025d81,0x0cf8daed
-.long 0x00ee11c1,0x30d78ea8,0xb5e3dd75,0xeb053cd4,0xd58c43c5,0x9b65b13e,0xbd151663,0xc3ad49bd,0xb6427990,0x99fd8e41,0x707eae1e,0x12cf15bd,0x1aabb71e,0x29ad4f1b,0x07545d0e,0x5143e74d
-.long 0xc88bdee1,0x30266336,0x5876767c,0x25f29306,0xc6731996,0x9c078571,0xed552951,0xc88690b2,0x852705b4,0x274f2c2d,0x4e09552d,0xb0bf8d44,0x986575d1,0x7628beeb,0x7f864651,0x407be238
-.long 0xa639fc6b,0x0e5e3049,0x86003625,0xe75c35d9,0x5dcc1646,0x0cf35bd8,0x6c26273a,0x8bcaced2,0xb5536742,0xe22ecf1d,0x1a9e068b,0x013dd897,0x8a7909c5,0x17f411cb,0x861dd506,0x5757ac98
-.long 0x1e935abb,0x85de1f0d,0x154de37a,0xdefd10b4,0x369cebb5,0xb8d9e392,0x761324be,0x54d5ef9b,0x74f17e26,0x4d6341ba,0x78c1dde4,0xc0a0e3c8,0x87d918fd,0xa6d77581,0x02ca3a13,0x66876015
-.long 0xf36658f0,0xc7313e9c,0x71f8057e,0xc433ef1c,0x1b6a835a,0x85326246,0x7c86394c,0xc8f05398,0xe983c4a1,0xff398cdf,0x03b7b931,0xbf5e8162,0xb7b9045b,0x93193c46,0xa4a6e46b,0x1e4ebf5d
-.long 0x43a24fe7,0xf9942a60,0xffb3492b,0x29c1191e,0x902fde05,0x9f662449,0x6713c32d,0xc792a7ac,0xb737982c,0x2fd88ad8,0xa21e60e3,0x7e3a0319,0x7383591a,0x09b0de44,0x8310a456,0x6df141ee
-.long 0xe6d6f471,0xaec1a039,0x1198d12e,0x14b2ba0f,0x3aeee5ac,0xebc1a160,0xe0b964ce,0x401f4836,0x4fd03f66,0x2ee43796,0xdd8f3f12,0x3fdb4e49,0x29380f18,0x6ef267f6,0x8da64d16,0x3e8e9670
-.long 0x207674f1,0xbc19180c,0x33ae8fdb,0x112e09a7,0x6aaeb71e,0x99667554,0xe101b1c7,0x79432af1,0xde2ddec6,0xd5eb558f,0x5357753f,0x81392d1f,0x3ae1158a,0xa7a76b97,0x4a899991,0x416fbbff
-.long 0x0d4a9dcf,0x9e65fdfd,0x944ddf12,0x7bc29e48,0x3c856866,0xbc1a92d9,0x6e98dfe2,0x273c6905,0xcdfaa6b8,0x69fce418,0x5061c69f,0x606bd823,0x6af75e27,0x42d495a0,0x6d873a1f,0x8ed3d505
-.long 0x6ab25b6a,0xaf552841,0x2b1a4523,0xc6c0ffc7,0x21c99e03,0xab18827b,0x9034691b,0x060e8648,0x93c7f398,0x5207f90f,0x82f8d10b,0x9f4a96cb,0x3ad0f9e3,0xdd71cd79,0xfc3a54f5,0x84f435d2
-.long 0x8e33787f,0x4b03c55b,0xa6384673,0xef42f975,0x5051b9f0,0xff7304f7,0x741c87c2,0x18aca1dc,0x2d4bfe80,0x56f120a7,0x053e732c,0xfd823b3d,0x7537ca16,0x11bccfe4,0x1b5a996b,0xdf6c9c74
-.long 0x904fc3fa,0xee7332c7,0xc7e3636a,0x14a23f45,0xf091d9aa,0xc38659c3,0xb12d8540,0x4a995e5d,0xf3a5598a,0x20a53bec,0xb1eaa995,0x56534b17,0xbf04e03c,0x9ed3dca4,0xd8d56268,0x716c563a
-.long 0x1d6178e7,0x27ba77a4,0x68a1ff8e,0xe4c80c40,0x0a13f63d,0x75011099,0xa61d46f3,0x7bf33521,0x10b365bb,0x0aff218e,0x0fd7ea75,0x81021804,0xa4b3a925,0x05a3fd8a,0x9b3db4e6,0xb829e75f
-.long 0x4d53e5fb,0x6bdc75a5,0xd52717e3,0x04a5dc02,0xe9a42ec2,0x86af502f,0x2630e382,0x8867e8fb,0xbec9889b,0xbf845c6e,0xcb47c98d,0x54f491f2,0x790c2a12,0xa3091fba,0xc20f708b,0xd7f6fd78
-.long 0xacde5e17,0xa569ac30,0x6852b4d7,0xd0f996d0,0x4609ae54,0xe51d4bb5,0x0daed061,0x3fa37d17,0x34b8fb41,0x62a88684,0x9efb64f1,0x99a2acbd,0x6448e1f2,0xb75c1a5e,0x42b5a069,0xfa99951a
-.long 0x2f3b26e7,0x6d956e89,0xda875247,0xf4709860,0x2482dda3,0x3ad15179,0x017d82f0,0xd64110e3,0xfad414e4,0x14928d2c,0x2ed02b24,0x2b155f58,0xcb821bf1,0x481a141b,0x4f81f5da,0x12e3c770
-.long 0x9fff8381,0xe49c5de5,0x5bbec894,0x11053232,0x454d88c4,0xa0d051cc,0x1f8e531b,0x4f6db89c,0xca563a44,0x34fe3fd6,0x58da8ab9,0x7f5c2215,0x9474f0a1,0x8445016d,0xcb7d8a0a,0x17d34d61
-.long 0x1c474019,0x8e9d3910,0xd52ceefb,0xcaff2629,0xc1622c2b,0xf9cf3e32,0xe9071a05,0xd4b95e3c,0x1594438c,0xfbbca61f,0x04aadedf,0x1eb6e6a6,0x68e14940,0x853027f4,0xdfabda9c,0x221d322a
-.long 0xb7cb179a,0xed8ea9f6,0xb7934dcc,0xdc7b764d,0x5e09180d,0xfcb13940,0xb47dc2dd,0x6629a6bf,0x9f5a915e,0xbfc55e4e,0x6204441e,0xb1db9d37,0x930c5f53,0xf82d68cf,0xcbb605b1,0x17d3a142
-.long 0x308780f2,0xdd5944ea,0x3845f5e4,0xdc8de761,0x7624d7a3,0x6beaba7d,0x304df11e,0x1e709afd,0x02170456,0x95364376,0xc8f94b64,0xbf204b3a,0x5680ca68,0x4e53af7c,0xe0c67574,0x0526074a
-.long 0xecd92af6,0x95d8cef8,0x6cd1745a,0xe6b9fa7a,0xa325c3e4,0x3d546d3d,0x9ae93aae,0x1f57691d,0x9d2e1a33,0xe891f3fe,0xac063d35,0xd430093f,0x5513a327,0xeda59b12,0x5536f18f,0xdc2134f3
-.long 0x5c210286,0xaa51fe2c,0x1cab658c,0x3f68aaee,0xf9357292,0x5a23a00b,0x7efdabed,0x9a626f39,0x199d78e3,0xfe2b3bf3,0x71bbc345,0xb7a2af77,0x1e59802c,0x3d19827a,0xb487a51c,0x823bbc15
-.long 0x99d0a422,0x856139f2,0xf456c6fb,0x9ac3df65,0x701f8bd6,0xaddf65c6,0x3758df87,0x149f321e,0x721b7eba,0xb1ecf714,0x31a3312a,0xe17df098,0xd5c4d581,0xdb2fd6ec,0x8fcea1b3,0xfd02996f
-.long 0x7882f14f,0xe29fa63e,0x07c6cadc,0xc9f6dc35,0xb882bed0,0x46f22d6f,0xd118e52c,0x1a45755b,0x7c4608cf,0x9f2c7c27,0x568012c2,0x7ccbdf32,0x61729b0e,0xfcb0aedd,0xf7d75dbf,0x7ca2ca9e
-.long 0x6f640f62,0xf58fecb1,0x39f51946,0xe274b92b,0x6288af44,0x7f4dfc04,0xeac329e5,0x0a91f32a,0xd6aaba31,0x43ad274b,0x0f6884f9,0x719a1640,0xdaf91e20,0x685d29f6,0x27e49d52,0x5ec1cc33
-.long 0x3b54a059,0x38f4de96,0xefbcfdb3,0x0e0015e5,0x4dbb8da6,0x177d23d9,0x97a617ad,0x98724aa2,0xfdb6558e,0x30f0885b,0xc7899a96,0xf9f7a28a,0x872dc112,0xd2ae8ac8,0x73c3c459,0xfa0642ca
-.long 0xe7dfc8d6,0x15296981,0x1fb5b94a,0x67cd4450,0x0eddfd37,0x0ec71cf1,0x9a8eddc7,0xc7e5eeb3,0x81d95028,0x02ac8e3d,0x70b0e35d,0x0088f172,0xe1881fe3,0xec041fab,0xd99e7faa,0x62cf71b8
-.long 0xe0f222c2,0x5043dea7,0x72e65142,0x309d42ac,0x9216cd30,0x94fe9ddd,0x0f87feec,0xd6539c7d,0x432ac7d7,0x03c5a57c,0x327fda10,0x72692cf0,0x280698de,0xec28c85f,0x7ec283b1,0x2331fb46
-.long 0x2867e633,0xd34bfa32,0x0a9cc815,0x78709a82,0x875e2fa5,0xb7fe6964,0x9e98bfb5,0x25cc064f,0x493a65c5,0x9eb0151c,0x53182464,0x5fb5d941,0xf04618e2,0x69e6f130,0xf89c8ab6,0xa8ecec22
-.long 0xb96209bd,0xcd6ac88b,0xb3e1c9e0,0x65fa8cdb,0x4a8d8eac,0xa47d22f5,0x8d33f963,0x83895cdf,0xb56cd3d1,0xa8adca59,0xdaf38232,0x10c8350b,0xa5080a9f,0x2b161fb3,0x3af65b3a,0xbe7f5c64
-.long 0x97403a11,0x2c754039,0x121b96af,0x94626cf7,0x6a983ec2,0x431de7c4,0x52cc3df7,0x3780dd3a,0x2baf8e3b,0xe28a0e46,0x51d299ae,0xabe68aad,0x647a2408,0x603eb8f9,0x5c750981,0x14c61ed6
-.long 0xc53352e7,0x88b34414,0x1337d46e,0x5a34889c,0xf95f2bc8,0x612c1560,0xd4807a3a,0x8a3f8441,0x5224da68,0x680d9e97,0xc3eb00e9,0x60cd6e88,0x9a6bc375,0x3875a98e,0x4fd554c2,0xdc80f924
-.long 0x6ac77407,0x6c4b3415,0x25420681,0xa1e5ea8f,0x4607a458,0x541bfa14,0x96d7fbf9,0x5dbc7e7a,0x31590a47,0x646a851b,0x15ee6df8,0x039e85ba,0xd7b43fc0,0xd19fa231,0x299a0e04,0x84bc8be8
-.long 0xf20df03a,0x2b9d2936,0x8608d472,0x24054382,0x9149202a,0x76b6ba04,0x3670e7b7,0xb21c3831,0xd6fdee10,0xddd93059,0x78488e71,0x9da47ad3,0xa0fcfb25,0x99cc1dfd,0x64696954,0x42abde10
-.long 0x17eab9fe,0x14cc15fc,0xd3e70972,0xd6e863e4,0x6432112c,0x29a7765c,0x5b0774d8,0x88660001,0x2c088eae,0x3729175a,0x8230b8d4,0x13afbcae,0x915f4379,0x44768151,0xd8d22812,0xf086431a
-.long 0xc298b974,0x37461955,0xf8711e04,0x905fb5f0,0xfe969d18,0x787abf3a,0x6f6a494e,0x392167c2,0x28c511da,0xfc7a0d2d,0xb66a262d,0xf127c7dc,0xfd63fdf0,0xf9c4bb95,0x3913ef46,0x90016589
-.long 0x11aa600d,0x74d2a73c,0x9fb5ab52,0x2f5379bd,0x7fb70068,0xe49e53a4,0x404aa9a7,0x68dd39e5,0x2ecaa9c3,0xb9b0cf57,0xe824826b,0xba0e103b,0x4631a3c4,0x60c2198b,0xfa8966a2,0xc5ff84ab
-.long 0xac95aff8,0x2d6ebe22,0xb5a46d09,0x1c9bb6db,0x53ee4f8d,0x419062da,0xbb97efef,0x7b9042d0,0x830cf6bd,0x0f87f080,0x6ec8a6c6,0x4861d19a,0x202f01aa,0xd3a0daa1,0xf25afbd5,0xb0111674
-.long 0x1afb20d9,0x6d00d6cf,0x40671bc5,0x13695000,0x2485ea9b,0x913ab0dc,0x9eef61ac,0x1f2bed06,0x6d799e20,0x850c8217,0x3271c2de,0x93415f37,0x6c4f5910,0x5afb06e9,0xc4e9e421,0x688a52df
-.long 0xe2a9a6db,0x30495ba3,0x58f9268b,0x4601303d,0x7eb0f04f,0xbe3b0dad,0x4456936d,0x4ea47250,0xd33fd3e7,0x8caf8798,0xeb433708,0x1ccd8a89,0x87fd50ad,0x9effe3e8,0x6b29c4df,0xbe240a56
-.long 0xca0e7ebd,0xec4ffd98,0xe748616e,0xf586783a,0xc77baa99,0xa5b00d8f,0xb4f34c9c,0x0acada29,0x0fe723ac,0x36dad67d,0x39c36c1e,0x1d8e53a5,0x1f4bea41,0xe4dd342d,0xebc9e4e0,0x64fd5e35
-.long 0x57908805,0x96f01f90,0x5ed480dd,0xb5b9ea3d,0x3efd2dd0,0x366c5dc2,0x6e9dfa27,0xed2fe305,0x6e9197e2,0x4575e892,0xab502a5d,0x11719c09,0xe81f213f,0x264c7bec,0x55f5c457,0x741b9241
-.long 0x49a5f4f4,0x78ac7b68,0x9fc45b7d,0xf91d70a2,0xb0f5f355,0x39b05544,0xeef930d9,0x11f06bce,0x038d05e1,0xdb84d25d,0xbacc1d51,0x04838ee5,0x9e8ee00b,0x9da3ce86,0xc36eda1f,0xc3412057
-.long 0x64d9c2f4,0xae80b913,0xa010a8ff,0x7468bac3,0x37359d41,0xdfd20037,0x15efeacc,0x1a0f5ab8,0x659d0ce0,0x7c25ad2f,0x6785cff1,0x4011bcbb,0x7e2192c7,0x128b9912,0x13ccb0e8,0xa549d8e1
-.long 0xc85438b1,0x805588d8,0xbc25cb27,0x5680332d,0x1a4bfdf4,0xdcd1bc96,0x706f6566,0x779ff428,0xf059987a,0x8bbee998,0xcc686de7,0xf6ce8cf2,0x953cfdb2,0xf8ad3c4a,0x2205da36,0xd1d426d9
-.long 0xc781a241,0xb3c0f13f,0xd75362a8,0x3e89360e,0xc8a91184,0xccd05863,0xefa8a7f4,0x9bd0c9b7,0x8a912a4b,0x97ee4d53,0xbcf518fd,0xde5e15f8,0xc467e1e0,0x6a055bf8,0x1587e256,0x10be4b4b
-.long 0x668621c9,0xd90c14f2,0xab9c92c1,0xd5518f51,0xd6d47b3c,0x8e6a0100,0x66716175,0xcbe980dd,0xddd83683,0x500d3f10,0x99cac73c,0x3b6cb35d,0x6083d550,0x53730c8b,0xdf0a1987,0xcf159767
-.long 0x43ad73b3,0x84bfcf53,0x4f035a94,0x1b528c20,0x33eeac69,0x4294edf7,0x817f3240,0xb6283e83,0x0a5f25b1,0xc3fdc959,0x5844ee22,0xefaf8aa5,0xdbdde4de,0xde269ba5,0xc56133bf,0xe3347160
-.long 0x8d9ea9f8,0xc1184219,0xf3fc1ab5,0x090de5db,0x0bf22cda,0x404c37b1,0xf5618894,0x7de20ec8,0xecdaecab,0x754c588e,0x88342743,0x6ca4b0ed,0xf4a938ec,0x76f08bdd,0x91493ccb,0xd182de89
-.long 0xc8a4186a,0xd652c53e,0x946d8e33,0xb3e878db,0x5f37663c,0x088453c0,0xb407748b,0x5cd9daaa,0x586d5e72,0xa1f5197f,0xc443ca59,0x47500be8,0xe2652424,0x78ef35b2,0x6dd7767d,0x09c5d26f
-.long 0xa74d3f7b,0x7175a79a,0xcf5ea459,0x0428fd8d,0xa5d1746d,0x511cb97c,0xe71d1278,0x36363939,0x10350bf4,0xcf2df955,0x60aae782,0xb3817439,0x3e688809,0xa748c0e4,0xd7a5a006,0x98021fbf
-.long 0x0e367a98,0x9076a70c,0x0f62b7c2,0xbea1bc15,0x30fe0343,0x2645a68c,0x699dc14f,0xacaffa78,0x457bf9c4,0xf4469964,0x0d2ead83,0x0db6407b,0xb2c6f3eb,0x68d56cad,0xf376356c,0x3b512e73
-.long 0xfce10408,0xe43b0e1f,0x5a5e257d,0x89ddc003,0x0362e5b3,0xb0ae0d12,0xb0519161,0x07f983c7,0x5d5231e7,0xc2e94d15,0x0b4f9513,0xcff22aed,0x6ad0b0b5,0xb02588dd,0x11d0dcd5,0xb967d1ac
-.long 0xcf777b6c,0x8dac6bc6,0x4c6d1959,0x0062bdbd,0x0ef5cc85,0x53da71b5,0x4006f14f,0x07012c7d,0xac47800d,0x4617f962,0xc102ed75,0x53365f2b,0x4ab8c9d3,0xb422efcb,0x34af31c9,0x195cb26b
-.long 0x05f2c4ce,0x3a926e29,0x9856966c,0xbd2bdecb,0x85527015,0x5d16ab3a,0x4486c231,0x9f81609e,0xda350002,0xd8b96b2c,0xfa1b7d36,0xbd054690,0xe71d79bc,0xdc90ebf5,0x08964e4e,0xf241b6f9
-.long 0x2fe3cd4c,0x7c838643,0xb4bc633c,0xe0f33acb,0x3d139f1f,0xb4a9ecec,0xdc4a1f49,0x05ce69cd,0xf5f98aaf,0xa19d1b16,0x6f23e0ef,0x45bb71d6,0x46cdfdd3,0x33789fcd,0xcee040ca,0x9b8e2978
-.long 0xae0a6828,0x9c69b246,0x7078d5aa,0xba533d24,0x7bb4fbdb,0x7a2e42c0,0x7035385c,0xcfb4879a,0x3281705b,0x8c3dd30b,0x404fe081,0x7e361c6c,0x3f604edf,0x7b21649c,0xe52ffe47,0x5dbf6a3f
-.long 0x4b54d9bf,0xc41b7c23,0x3511c3d9,0x1374e681,0xc1b2b758,0x1863bf16,0x1e9e6a96,0x90e78507,0x5d86f174,0xab4bf98d,0x85e96fe4,0xd74e0bd3,0xcac5d344,0x8afde39f,0xbd91b847,0x90946dbc
-.long 0xfe1a838c,0xf5b42358,0x620ac9d8,0x05aae6c5,0xa1ce5a0b,0x8e193bd8,0x4dabfd72,0x8f710571,0x182caaac,0x8d8fdd48,0x040745cf,0x8c4aeefa,0xf3b93e6d,0x73c6c30a,0x16f42011,0x991241f3
-.long 0xe457a477,0xa0158eea,0xee6ddc05,0xd19857db,0x18c41671,0xb3265224,0x3c2c0d58,0x3ffdfc7e,0x26ee7cda,0x3a3a5254,0xdf02c3a8,0x341b0869,0x723bbfc8,0xa023bf42,0x14452691,0x3d15002a
-.long 0x85edfa30,0x5ef7324c,0x87d4f3da,0x25976554,0xdcb50c86,0x352f5bc0,0x4832a96c,0x8f6927b0,0x55f2f94c,0xd08ee1ba,0x344b45fa,0x6a996f99,0xa8aa455d,0xe133cb8d,0x758dc1f7,0x5d0721ec
-.long 0x79e5fb67,0x6ba7a920,0x70aa725e,0xe1331feb,0x7df5d837,0x5080ccf5,0x7ff72e21,0xe4cae01d,0x0412a77d,0xd9243ee6,0xdf449025,0x06ff7cac,0x23ef5a31,0xbe75f7cd,0x0ddef7a8,0xbc957822
-.long 0xb0ce1c55,0x8cf7230c,0x0bbfb607,0x5b534d05,0x0e16363b,0xee1ef113,0xb4999e82,0x27e0aa7a,0x79362c41,0xce1dac2d,0x91bb6cb0,0x67920c90,0x2223df24,0x1e648d63,0xe32e8f28,0x0f7d9eef
-.long 0xfa833834,0x6943f39a,0xa6328562,0x22951722,0x4170fc10,0x81d63dd5,0xaecc2e6d,0x9f5fa58f,0xe77d9a3b,0xb66c8725,0x6384ebe0,0x11235cea,0x5845e24a,0x06a8c118,0xebd093b1,0x0137b286
-.long 0x44ace150,0xc589e1ce,0x4381e97c,0xe0f8d3d9,0x62c5a4b8,0x59e99b11,0xfd0ec9f9,0x90d262f7,0x283e13c9,0xfbc854c9,0xaedc7085,0x2d04fde7,0x47dcbecb,0x057d7765,0x9a76fa5f,0x8dbdf591
-.long 0x0de1e578,0xd0150695,0xe9f72bc6,0x2e1463e7,0x1b39eca5,0xffa68441,0x7c037f2f,0x673c8530,0x747f91da,0xd0d6a600,0xc9cb78e9,0xb08d43e1,0x27b5cef5,0x0fc0c644,0xa60a2fd6,0x5c1d160a
-.long 0x28c8e13b,0xf98cae53,0xb2eddcd1,0x375f10c4,0x5cce06ad,0xd4eb8b7f,0x80a2e1ef,0xb4669f45,0x5bbd8699,0xd593f9d0,0xe7976d13,0x5528a4c9,0x1c7e28d3,0x3923e095,0x3f6bb577,0xb9293790
-.long 0xc42bd6d2,0xdb567d6a,0xbb1f96ae,0x6df86468,0x4843b28e,0x0efe5b1a,0x6379b240,0x961bbb05,0x70a6a26b,0xb6caf5f0,0x328e6e39,0x70686c0d,0x895fc8d3,0x80da06cf,0xb363fdc9,0x804d8810
-.long 0x207f1670,0xbe22877b,0x4e615291,0x9b0dd188,0x97a3c2bf,0x625ae8dc,0x439b86e8,0x08584ef7,0xdcd898ff,0xde7190a5,0x2058ee3d,0x26286c40,0x5f87b1c1,0x3db0b217,0x102a6db5,0xcc334771
-.long 0x2f770fb1,0xd99de954,0x4cd7535e,0x97c1c620,0x3f09cefc,0xd3b6c448,0x5a63b4f8,0xd725af15,0xc01e20ec,0x0c95d24f,0x9ae7121f,0xdfd37494,0xec77b7ec,0x7d6ddb72,0x0353a4ae,0xfe079d3b
-.long 0x2e6ac8d2,0x3066e70a,0x106e5c05,0x9c6b5a43,0xede59b8c,0x52d3c6f5,0xfccec9ae,0x30d6a5c3,0x4fc0a9ef,0xedec7c22,0x95c16ced,0x190ff083,0x94de0fde,0xbe12ec8f,0x852d3433,0x0d131ab8
-.long 0x85701291,0x42ace07e,0x194061a8,0x94793ed9,0xd7f4a485,0x30e83ed6,0xf9eeff4d,0x9eec7269,0x0c9d8005,0x90acba59,0x1e79b9d1,0x5feca458,0x1d506a1e,0x8fbe5427,0x2439cfa7,0xa32b2c8e
-.long 0x73dd0b4e,0x1671c173,0x44a054c6,0x37a28214,0x4e8b53f1,0x81760a1b,0xf9f93b9e,0xa6c04224,0xcf671e3c,0x18784b34,0xcda9b994,0x81bbecd2,0xb2ab3848,0x38831979,0xf2e03c2d,0xef54feb7
-.long 0xfb8088fa,0xcf197ca7,0x4ddc96c5,0x01427247,0x30777176,0xa2d2550a,0x4d0cf71d,0x53469898,0x3a2aaac6,0x6ce937b8,0x5af38d9b,0xe9f91dc3,0xc8bf2899,0x2598ad83,0xb5536c16,0x8e706ac9
-.long 0xf688dc98,0x40dc7495,0x124c4afc,0x26490cd7,0x1f18775c,0xe651ec84,0xb4fdaf4a,0x393ea6c3,0x7f338e0d,0x1e1f3343,0x6053e7b5,0x39fb832b,0x619e14d5,0x46e702da,0xcdeef6e0,0x859cacd1
-.long 0x4462007d,0x63b99ce7,0x4cb5f5b7,0xb8ab48a5,0xf55edde7,0x9ec673d2,0x8cfaefda,0xd1567f74,0x0887bcec,0x46381b6b,0xe178f3c2,0x694497ce,0x1e6266cb,0x5e6525e3,0x697d6413,0x5931de26
-.long 0x0e58d493,0x87f8df7c,0x58b73f12,0xb1ae5ed0,0xdea0c34d,0xc368f784,0x859a91a0,0x9bd0a120,0xcc863c68,0xb00d88b7,0x3d1f4d65,0x3a1cc11e,0x0aa85593,0xea38e0e7,0x7dc4aee8,0x37f13e98
-.long 0xbc947bad,0x10d38667,0x2a36ee2e,0x738e07ce,0xc577fcac,0xc93470cd,0x2782470d,0xdee1b616,0x2e793d12,0x36a25e67,0xe0f186da,0xd6aa6cae,0x80e07af7,0x474d0fd9,0xba8a5cd4,0xf7cdc47d
-.long 0xab15247f,0x28af6d9d,0x493a537f,0x7c789c10,0x23a334e7,0x7ac9b110,0x12c9c277,0x0236ac09,0x1d7a5144,0xa7e5bd25,0xf13ec4ec,0x098b9c2a,0xd3f0abca,0x3639daca,0xa23960f9,0x642da81a
-.long 0x4f7269b1,0x7d2e5c05,0xe287c385,0xfcf30777,0xf2a46f21,0x10edc84f,0x4f43fa36,0x35441757,0xfd703431,0xf1327899,0x16dd587a,0xa438d7a6,0xe9c8352d,0x65c34c57,0x5cc5a24e,0xa728edab
-.long 0x42531689,0xaed78abc,0x010963ef,0x0a51a0e8,0xd717d9b3,0x5776fa0a,0x7dd3428b,0xf356c239,0x8d3a3dac,0x29903fff,0x3d94491f,0x409597fa,0xbf4a56a4,0x4cd7a5ff,0x8adab462,0xe5096474
-.long 0x5c3427b0,0xa97b5126,0xd282c9bd,0x6401405c,0x222c5c45,0x3629f8d7,0xe8d50aed,0xb1c02c16,0xd9635bc9,0xbea2ed75,0x6e24552f,0x226790c7,0x65f1d066,0x3c33f2a3,0x6dfccc2e,0x2a43463e
-.long 0xdb483761,0x8cc3453a,0x65d5672b,0xe7cc6085,0xde3efc87,0x277ed6cb,0x69234eaf,0x19f2f368,0x5c0b800b,0x9aaf4317,0x8b6da6e2,0x1f1e7c89,0xb94ec75e,0x6cfb4715,0x453118c2,0xd590dd5f
-.long 0x1f17a34c,0x14e49da1,0x235a1456,0x5420ab39,0x2f50363b,0xb7637241,0xc3fabb6e,0x7b15d623,0xe274e49c,0xa0ef40b1,0x96b1860a,0x5cf50744,0x66afe5a4,0xd6583fbf,0xf47e3e9a,0x44240510
-.long 0x11b2d595,0x99254343,0xeec8df57,0xf1367499,0x3e73dd05,0x3cb12c61,0x7dac102a,0xd248c033,0xa77739f5,0xcf154f13,0x23d2af42,0xbf4288cb,0x32e4a1cf,0xaa64c9b6,0xc8a208f3,0xee8c07a8
-.long 0x6fe8393f,0xe10d4999,0xe91f3a32,0x0f809a3f,0x802f63c8,0x61096d1c,0x57750d3d,0x289e1462,0x9889feea,0xed06167e,0xe0993909,0xd5c9c0e2,0x56508ac6,0x46fca0d8,0x4f1b8e83,0x91826047
-.long 0x9a4a2751,0x4f2c877a,0xcae6fead,0x71bd0072,0x06aa1941,0x38df8dcc,0x63beeaa8,0x5a074b4c,0xc1cec8ed,0xd6d65934,0xaabc03bd,0xa6ecb49e,0xde8a8415,0xaade91c2,0x691136e0,0xcfb0efdf
-.long 0x23ab3495,0x11af45ee,0x0b77463d,0xa132df88,0x815d06f4,0x8923c15c,0x0d61a436,0xc3ceb3f5,0xe88fb1da,0xaf52291d,0x1da12179,0xea057974,0xd2fef720,0xb0d7218c,0x8e1d8845,0x6c0899c9
-.long 0x752ddad7,0x98157504,0xa1a68a97,0xd60bd74f,0xf658fb99,0x7047a3a9,0x5f8511e4,0x1f5d86d6,0x4b5a6d88,0xb8a4bc42,0x1abefa7d,0x69eb2c33,0x13c9c510,0x95bf39e8,0xd48aab43,0xf571960a
-.long 0x704e23c6,0x7e8cfbcf,0x28aaa65b,0xc71b7d22,0x245e3c83,0xa041b2bd,0xd21854ff,0x69b98834,0x963bfeec,0x89d227a3,0xde7da7cb,0x99947aaa,0xee68a9b1,0x1d9ee9db,0x698ec368,0x0a08f003
-.long 0x78ef2487,0xe9ea4094,0x02cfec26,0xc8d2d415,0xb7dcf328,0xc52f9a6e,0x85b6a937,0x0ed489e3,0xbef3366e,0x9b94986b,0xedddddb8,0x0de59c70,0xeadddbe2,0xffdb748c,0x8266ea40,0x9b9784bb
-.long 0x1a93507a,0x142b5502,0x8d3c06cf,0xb4cd1187,0x91ec3f40,0xdf70e76a,0x4e7553c2,0x484e81ad,0x272e9d6e,0x830f87b5,0xc6ff514a,0xea1c93e5,0xc4192a8e,0x67cc2adc,0x42f4535a,0xc77e27e2
-.long 0xd2b713c5,0x9cdbab36,0xcf7b0cd3,0x86274ea0,0x09af826b,0x784680f3,0x0c72dea3,0xbfcc837a,0xd6529b73,0xa8bdfe9d,0x63a88002,0x708aa228,0xc91d45b9,0x6c7a9a54,0xfd004f56,0xdf1a38bb
-.long 0xb8bad853,0x2e8c9a26,0x3723eae7,0x2d52cea3,0x56ca2830,0x054d6d81,0x9a8dc411,0xa3317d14,0xfd4ddeda,0xa08662fe,0xb55d792b,0xed2a153a,0xbfc6e944,0x7035c16a,0x00171cf3,0xb6bc5834
-.long 0x83d102b6,0xe27152b3,0x0646b848,0xfe695a47,0x916e6d37,0xa5bb09d8,0x0d17015e,0xb4269d64,0x0a1d2285,0x8d8156a1,0x46d26d72,0xfeef6c51,0x4c5434a7,0x9dac57c8,0x59d39e31,0x0282e5be
-.long 0x721c486d,0xedfff181,0xbc58824e,0x301baf10,0x00570031,0x8136a6aa,0x1cddde68,0x55aaf78c,0x59c63952,0x26829371,0x8bc25baf,0x3a3bd274,0xb7e52dc3,0xecdf8657,0xfd78e6c8,0x2dd8c087
-.long 0xf5531461,0x20553274,0x5d95499b,0x8b4a1281,0x1a80f9d2,0xe2c8763a,0x4ddec758,0xd1dbe32b,0x30c34169,0xaf12210d,0x78baa533,0xba74a953,0xa438f254,0x3d133c6e,0x201bef5b,0xa431531a
-.long 0xf669d7ec,0x15295e22,0x357fb515,0xca374f64,0xeaa3fdb3,0x8a8406ff,0xdf3f2da8,0x106ae448,0x33c8e9a1,0x8f9b0a90,0x71ad5885,0x234645e2,0x1c0aed14,0x3d083224,0x7a942d46,0xf10a7d3e
-.long 0x40d5c9be,0x7c11deee,0xba84ed98,0xb2bae7ff,0xaad58ddd,0x93e97139,0x3f6d1fa3,0x3d872796,0x8569ff13,0x483aca81,0x9a600f72,0x8b89a5fb,0xc06f2b86,0x4cbc27c3,0x63ad9c0b,0x22130713
-.long 0x48ac2840,0xb5358b1e,0xecba9477,0x18311294,0xa6946b43,0xda58f990,0x9ab41819,0x3098baf9,0x4198da52,0x66c4c158,0x146bfd1b,0xab4fc17c,0xbf36a908,0x2f0a4c3c,0x58cf7838,0x2ae9e34b
-.long 0x3fa11b1f,0xf411529e,0x974af2b4,0x21e43677,0xc230793b,0x7c20958e,0x16e840f3,0x710ea885,0xc5dc67cf,0xfc0b21fc,0x88405718,0x08d51647,0xcfe49eb7,0xd955c21f,0x56dd4a1f,0x9722a5d5
-.long 0xc861baa5,0xc9ef50e2,0x9505ac3e,0xc0c21a5d,0x8b7c063f,0xaf6b9a33,0x2f4779c1,0xc6370339,0x638167c3,0x22df99c7,0x795db30c,0xfe6ffe76,0xa4854989,0x2b822d33,0x30563aa5,0xfef031dd
-.long 0xd57c667f,0x16b09f82,0xcc0b76f1,0xc70312ce,0xc9118aec,0xbf04a9e6,0x3409d133,0x82fcb419,0xab45d44d,0x1a8ab385,0x617b83a3,0xfba07222,0x58e81b52,0xb05f50dd,0x21ce5aff,0x1d8db553
-.long 0xe344a873,0x3097b8d4,0xfe36d53e,0x7d8d116d,0x7875e750,0x6db22f58,0x43e144ea,0x2dc5e373,0xe799eb95,0xc05f32e6,0x6899e6ec,0xe9e5f4df,0x1fab23d5,0xbdc3bd68,0x73af60e6,0xb72b8ab7
-.long 0x2cecc84a,0x8db27ae0,0x7bdb871c,0x600016d8,0xd7c46f58,0x42a44b13,0xc3a77d39,0xb8919727,0xdafd6088,0xcfc6bbbd,0x6bd20d39,0x1a740146,0x98c41072,0x8c747abd,0xbdf68ea1,0x4c91e765
-.long 0x08819a78,0x7c95e5ca,0xc9587921,0xcf48b729,0xdebbcc7d,0x091c7c5f,0xf0e05149,0x6f287404,0x26cd44ec,0xf83b5ac2,0xcfea250e,0x88ae32a6,0x1d06ebc5,0x6ac5047a,0xd434f781,0xc7e550b4
-.long 0x5c727bd2,0x61ab1cf2,0x1cf915b0,0x2e4badb1,0xf69d3920,0x1b4dadec,0xf14c1dfe,0xe61b1ca6,0xbd6bd51f,0x90b479cc,0x8045ec30,0x8024e401,0x25ef0e62,0xcab29ca3,0x49e4ebc0,0x4f2e9416
-.long 0x0ccced58,0x45eb40ec,0x0da44f98,0x25cd4b9c,0x871812c6,0x43e06458,0x16cef651,0x99f80d55,0xce6dc153,0x571340c9,0xd8665521,0x138d5117,0x4e07014d,0xacdb45bc,0x84b60b91,0x2f34bb38
-.long 0x2ae8921e,0xf44a4fd2,0x892ba1e2,0xb039288e,0xb1c180b2,0x9da50174,0x1693dc87,0x6b70ab66,0xe7057481,0x7e9babc9,0x9c80dc41,0x4581ddef,0x51294682,0x0c890da9,0x3f4736e5,0x0b5629d3
-.long 0xb06f5b41,0x2340c79e,0x4e243469,0xa42e84ce,0x045a71a9,0xf9a20135,0xd27b6fb6,0xefbfb415,0x9d33cd6f,0x25ebea23,0xaa6c0af8,0x9caedb88,0xd9ce6f96,0x53dc7e9a,0x51e0b15a,0x3897f9fd
-.long 0x8e5d788e,0xf51cb1f8,0xe1d490ee,0x1aec7ba8,0xcc58cb3c,0x265991e0,0x9fc3ad31,0x9f306e8c,0x5040a0ac,0x5fed006e,0xfb476f2e,0xca9d5043,0xbeea7a23,0xa19c06e8,0x0edabb63,0xd2865801
-.long 0x6967469a,0xdb92293f,0x8d8a8ed8,0x2894d839,0xbbc77122,0x87c9e406,0x2ea3a26a,0x8671c6f1,0xd7de9853,0xe42df8d6,0xb1f2bcc7,0x2e3ce346,0x899d50cf,0xda601dfc,0xfb1b598f,0xbfc913de
-.long 0xe61f7908,0x81c4909f,0x9bbc7b29,0x192e304f,0xc104b338,0xc3ed8738,0x783f5d61,0xedbe9e47,0x2db30660,0x0c06e9be,0xc0eb7d8e,0xda3e613f,0x322e096e,0xd8fa3e97,0xd336e247,0xfebd91e8
-.long 0xdf655a49,0x8f13ccc4,0x5eb20210,0xa9e00dfc,0xc656b6ea,0x84631d0f,0xd8c0d947,0x93a058cd,0x67bd3448,0x6846904a,0xf394fd5c,0x4a3d4e1a,0xdb225f52,0xc102c1a5,0xfc4f5e9a,0xe3455bba
-.long 0x4b9ad1ce,0x6b36985b,0x5bb7f793,0xa9818536,0x48b1a416,0x6c25e1d0,0x3c81bee7,0x1381dd53,0x7a4a7620,0xd2a30d61,0x39b8944c,0xc8412926,0x7a97c33a,0x3c1c6fbe,0x938664e7,0x941e541d
-.long 0x4a34f239,0x417499e8,0xb90402d5,0x15fdb83c,0x433aa832,0xb75f46bf,0x63215db1,0xb61e15af,0xa127f89a,0xaabe59d4,0x07e816da,0x5d541e0c,0xa618b692,0xaaba0659,0x17266026,0x55327733
-.long 0x95f57552,0xaf53a0fc,0x6cacb0c9,0x32947650,0xc821be01,0x253ff58d,0xa06f1146,0xb0309531,0x05c2e54d,0x59bbbdf5,0x26e8dd22,0x158f27ad,0x397e1e53,0xcc5b7ffb,0x7fc1e50d,0xae03f65b
-.long 0x9c95f0f9,0xa9784ebd,0x24640771,0x5ed9deb2,0x035561c4,0x31244af7,0x7ee857de,0x87332f3a,0x2b9e0d88,0x09e16e9e,0x56a06049,0x52d910f4,0xa9592f48,0x507ed477,0x2365d678,0x85cb917b
-.long 0x4c8998d1,0xf8511c93,0x730ea58f,0x2186a3f1,0xb2029db0,0x50189626,0x02ceb75a,0x9137a6d9,0x748bc82c,0x2fe17f37,0x80469f8c,0x87c2e931,0xbf891aa2,0x850f71cd,0x75ec3d8d,0x0ca1b89b
-.long 0x5e1cd3cd,0x516c43aa,0x9a887c28,0x89397808,0xddea1f9f,0x0059c699,0x8e6868f7,0x7737d6fa,0x60f1524b,0x6d93746a,0xba052aa7,0x36985e55,0xed923ea5,0x41b1d322,0x25852a11,0x3429759f
-.long 0x092e9f41,0xbeca6ec3,0x62256bbd,0x3a238c66,0x70ad487d,0xd82958ea,0x65610d93,0x4ac8aaf9,0x5e4ccab0,0x3fa101b1,0x9de14bfb,0x9bf430f2,0x6531899d,0xa10f5cc6,0xea8ce17d,0x590005fb
-.long 0x24544cb6,0xc437912f,0xd79ac2e3,0x9987b71a,0xc058a212,0x13e3d9dd,0xd2de9606,0x00075aac,0x6cac8369,0x80ab508b,0xf54f6c89,0x87842be7,0x6bc532a4,0xa7ad663d,0x78a91bc8,0x67813de7
-.long 0xc3427239,0x5dcb61ce,0xc56934d9,0x5f3c7cf0,0xe3191591,0xc079e0fb,0xb01aada7,0xe40896bd,0x0492d25f,0x8d466791,0xe7408276,0x8aeb30c9,0x9287aacc,0xe9437495,0x79fe03d4,0x23d4708d
-.long 0xd0c05199,0x8cda9cf2,0xfae78454,0x502fbc22,0xf572a182,0xc0bda9df,0x6158b372,0x5f9b71b8,0x2b82dd07,0xe0f33a59,0x9523032e,0x76302735,0xc4505a32,0x7fe1a721,0xf796409f,0x7b6e3e82
-.long 0x35d0b34a,0xe3417bc0,0x8327c0a7,0x440b386b,0xac0362d1,0x8fb7262d,0xe0cdf943,0x2c41114c,0xad95a0b1,0x2ba5cef1,0x67d54362,0xc09b37a8,0x01e486c9,0x26d6cdd2,0x42ff9297,0x20477abf
-.long 0x292a9287,0xa004dcb3,0x77b092c7,0xddc15cf6,0x806c0605,0x083a8464,0x3db997b0,0x4a68df70,0x05bf7dd0,0x9c134e45,0x8ccf7f8c,0xa4e63d39,0x41b5f8af,0xa6e6517f,0xad7bc1cc,0xaa8b9342
-.long 0x1e706ad9,0x126f35b5,0xc3a9ebdf,0xb99cebb4,0xbf608d90,0xa75389af,0xc6c89858,0x76113c4f,0x97e2b5aa,0x80de8eb0,0x63b91304,0x7e1022cc,0x6ccc066c,0x3bdab605,0xb2edf900,0x33cbb144
-.long 0x7af715d2,0xc4176471,0xd0134a96,0xe2f7f594,0xa41ec956,0x2c1873ef,0x77821304,0xe4e7b4f6,0x88d5374a,0xe5c8ff97,0x80823d5b,0x2b915e63,0xb2ee8fe2,0xea6bc755,0xe7112651,0x6657624c
-.long 0xdace5aca,0x157af101,0x11a6a267,0xc4fdbcf2,0xc49c8609,0xdaddf340,0xe9604a65,0x97e49f52,0x937e2ad5,0x9be8e790,0x326e17f1,0x846e2508,0x0bbbc0dc,0x3f38007a,0xb11e16d6,0xcf03603f
-.long 0x7442f1d5,0xd6f800e0,0x66e0e3ab,0x475607d1,0xb7c64047,0x82807f16,0xa749883d,0x8858e1e3,0x8231ee10,0x5859120b,0x638a1ece,0x1b80e7eb,0xc6aa73a4,0xcb72525a,0x844423ac,0xa7cdea3d
-.long 0xf8ae7c38,0x5ed0c007,0x3d740192,0x6db07a5c,0x5fe36db3,0xbe5e9c2a,0x76e95046,0xd5b9d57a,0x8eba20f2,0x54ac32e7,0x71b9a352,0xef11ca8f,0xff98a658,0x305e373e,0x823eb667,0xffe5a100
-.long 0xe51732d2,0x57477b11,0x2538fc0e,0xdfd6eb28,0x3b39eec5,0x5c43b0cc,0xcb36cc57,0x6af12778,0x06c425ae,0x70b0852d,0x5c221b9b,0x6df92f8c,0xce826d9c,0x6c8d4f9e,0xb49359c3,0xf59aba7b
-.long 0xda64309d,0x5c8ed8d5,0x91b30704,0x61a6de56,0x2f9b5808,0xd6b52f6a,0x98c958a7,0x0eee4194,0x771e4caa,0xcddd9aab,0x78bc21be,0x83965dfd,0xb3b504f5,0x02affce3,0x561c8291,0x30847a21
-.long 0x52bfda05,0xd2eb2cf1,0x6197b98c,0xe0e4c4e9,0xf8a1726f,0x1d35076c,0x2db11e3d,0x6c06085b,0x4463ba14,0x15c0c4d7,0x0030238c,0x9d292f83,0x3727536d,0x1311ee8b,0xbeaedc1e,0xfeea86ef
-.long 0x66131e2e,0xb9d18cd3,0x80fe2682,0xf31d974f,0xe4160289,0xb6e49e0f,0x08e92799,0x7c48ec0b,0xd1989aa7,0x818111d8,0xebf926f9,0xb34fa0aa,0xa245474a,0xdb5fe2f5,0x3c7ca756,0xf80a6ebb
-.long 0xafa05dd8,0xa7f96054,0xfcaf119e,0x26dfcf21,0x0564bb59,0xe20ef2e3,0x61cb02b8,0xef4dca50,0x65d30672,0xcda7838a,0xfd657e86,0x8b08d534,0x46d595c8,0x4c5b4395,0x425cb836,0x39b58725
-.long 0x3de9abe3,0x8ea61059,0x9cdc03be,0x40434881,0xcfedce8c,0x9b261245,0xcf5234a1,0x78c318b4,0xfde24c99,0x510bcf16,0xa2c2ff5d,0x2a77cb75,0x27960fb4,0x9c895c2b,0xb0eda42b,0xd30ce975
-.long 0x1a62cc26,0xfda85393,0x50c0e052,0x23c69b96,0xbfc633f3,0xa227df15,0x1bae7d48,0x2ac78848,0x187d073d,0x487878f9,0x967f807d,0x6c2be919,0x336e6d8f,0x765861d8,0xce528a43,0x88b8974c
-.long 0xff57d051,0x09521177,0xfb6a1961,0x2ff38037,0xa3d76ad4,0xfc0aba74,0x25a7ec17,0x7c764803,0x48879bc8,0x7532d75f,0x58ce6bc1,0xea7eacc0,0x8e896c16,0xc82176b4,0x2c750fed,0x9a30e0b2
-.long 0x421d3aa4,0xc37e2c2e,0xe84fa840,0xf926407c,0x1454e41c,0x18abc03d,0x3f7af644,0x26605ecd,0xd6a5eabf,0x242341a6,0x216b668e,0x1edb84f4,0x04010102,0xd836edb8,0x945e1d8c,0x5b337ce7
-.long 0xc055dc14,0xd2075c77,0x81d89cdf,0x2a0ffa25,0x6ffdcbaf,0x8ce815ea,0xfb648867,0xa3428878,0x884655fb,0x277699cf,0x364d3e41,0xfa5b5bd6,0x441e1cb7,0x01f680c6,0xb70a7d67,0x3fd61e66
-.long 0xcc78cf66,0x666ba2dc,0x6fdbff77,0xb3018174,0x168d4668,0x8d4dd0db,0x1dab3a2a,0x259455d0,0xcde3acec,0xf58564c5,0x13adb276,0x77141925,0x8a303f65,0x527d725d,0xe6f38f7b,0x55deb6c9
-.long 0xb1fa70fb,0xfd5bb657,0xd8073a00,0xfa07f50f,0xbca02500,0xf72e3aa7,0x9975740d,0xf68f895d,0x5cae2a6a,0x30112060,0x02874842,0x01bd7218,0x7ce47bd3,0x3d423891,0x789544f6,0xa66663c1
-.long 0x3272d838,0x864d05d7,0xfa6295c5,0xe22924f9,0x6c2fda32,0x8189593f,0xb184b544,0x330d7189,0xbde1f714,0x79efa62c,0xe5cb1a63,0x35771c94,0x641c8332,0x2f4826b8,0xc8cee854,0x00a894fb
-.long 0x36194d40,0xb4b9a39b,0x77612601,0xe857a7c5,0x4ecf2f58,0xf4209dd2,0x5a033487,0x82b9e66d,0xe4e8b9dd,0xc1e36934,0xa42377d7,0xd2372c9d,0x0e3ae43b,0x51dc94c7,0x04474f6f,0x4c57761e
-.long 0x1058a318,0xdcdacd0a,0x78053a9a,0x369cf3f5,0x31c68de2,0xc6c3de50,0x3c4b6d9f,0x4653a576,0xaa4e5c97,0x1688dd5a,0xb7ab3c74,0x5be80aa1,0xbc65c283,0x70cefe7c,0x06867091,0x57f95f13
-.long 0x4415503b,0xa39114e2,0x4cbb17e9,0xc08ff7c6,0xd7dec966,0x1eff674d,0x53376f63,0x6d4690af,0xea74237b,0xff6fe32e,0xcd57508e,0xc436d17e,0xedcc40fe,0x15aa28e1,0x581bbb44,0x0d769c04
-.long 0x34eaacda,0xc240b6de,0x2ba0f1de,0xd9e116e8,0x79438e55,0xcbe45ec7,0x96f752d7,0x91787c9d,0xf129ac2f,0x897f532b,0x5a36e22c,0xd307b7c8,0x749fb8f3,0x91940675,0x157fdb28,0xd14f95d0
-.long 0x6ae55043,0xfe51d029,0x44a87de1,0x8931e98f,0x09e4fee2,0xe57f1cc6,0x4e072d92,0x0d063b67,0xed0e4316,0x70a998b9,0x306aca46,0xe74a736b,0x4fda97c7,0xecf0fbf2,0x3e178d93,0xa40f65cb
-.long 0x16df4285,0x16253604,0xd0c56ae2,0xb0c9babb,0xcfc5cfc3,0x73032b19,0x09752056,0xe497e5c3,0x164bda96,0x12096bb4,0xa0b74da1,0x1ee42419,0x403826ba,0x8fc36243,0xdc09e660,0x0c8f0069
-.long 0xc27253c9,0x8667e981,0x92b36a45,0x05a6aefb,0x9cb7bb46,0xa62c4b36,0x11f7027b,0x8394f375,0x5f109d0f,0x747bc79c,0x5b8cc60a,0xcad88a76,0x58f09e68,0x80c5a66b,0xf6127eac,0xe753d451
-.long 0x5b0ec6f5,0xc44b74a1,0x5289b2b8,0x47989fe4,0x58d6fc73,0x745f8484,0xf61c70ab,0xec362a6f,0xb3a8ad41,0x070c98a7,0x7b63db51,0x73a20fc0,0xf44c35f4,0xed2c2173,0x9acc9dca,0x8a56149d
-.long 0x9ac6e0f4,0x98f17881,0xa413b5ed,0x360fdeaf,0xa300b0fd,0x0625b8f4,0x5b3222d3,0xf1f4d76a,0x587f76b8,0x9d6f5109,0x2317fdb5,0x8b4ee08d,0x8c68b095,0x88089bb7,0x5808d9b9,0x95570e9a
-.long 0x35d33ae7,0xa395c36f,0x50bb5a94,0x200ea123,0x0bafe84b,0x20c789bd,0x0919276a,0x243ef52d,0xe23ae233,0x3934c577,0xa460d1ec,0xb93807af,0xf8fa76a4,0xb72a53b1,0xc3ca4491,0xd8914cb0
-.long 0x3fb42622,0x2e128494,0x500907d5,0x3b2700ac,0x1a95ec63,0xf370fb09,0x31b6dfbd,0xf8f30be2,0x69e55f15,0xf2b2f8d2,0xcc1323e9,0x1fead851,0xd9e5eef6,0xfa366010,0xe316107e,0x64d487b0
-.long 0xd23ddc82,0x4c076b86,0x7e0143f0,0x03fd344c,0x317af2c5,0xa95362ff,0xe18b7a4f,0x0add3db7,0x8260e01b,0x9c673e3f,0x54a1cc91,0xfbeb49e5,0x92f2e433,0x91351bf2,0x851141eb,0xc755e7ec
-.long 0x29607745,0xc9a95139,0xa26f2b28,0x0ca07420,0x4bc6f9dd,0xcb2790e7,0xadcaffc0,0x345bbb58,0xbe0f27a2,0xc65ea38c,0x641fcb56,0x67c24d7c,0xa9e2c757,0x2c25f0a7,0x16f16c49,0x93f5cdb0
-.long 0xc5ee30a1,0x2ca5a9d7,0xb909b729,0xd1593635,0xdadeff48,0x804ce9f3,0xb07c30c3,0xec464751,0x9e49af6a,0x89d65ff3,0x6f3d01bc,0xf2d6238a,0x0bced843,0x1095561e,0xc8a13fd8,0x51789e12
-.long 0x763231df,0xd633f929,0xe7cbddef,0x46df9f7d,0xcb265da8,0x01c889c0,0xaf4336d2,0xfce1ad10,0xfc6a0a7e,0x8d110df6,0x6da425dc,0xdd431b98,0x1834aabe,0xcdc4aeab,0x8439b7fc,0x84deb124
-.long 0x3c2a5998,0x8796f169,0x7947190d,0x9b9247b4,0x11597014,0x55b9d9a5,0x7b1566ee,0x7e9dd70d,0xcbcd5e64,0x94ad78f7,0x9bd4c032,0x0359ac17,0x7cc222ae,0x3b11baaf,0xba78e812,0xa6a6e284
-.long 0x24cea1a0,0x8392053f,0x33621491,0xc97bce4a,0x35399ee9,0x7eb1db34,0xece81ad1,0x473f78ef,0xf63d3d0d,0x41d72fe0,0xafab62fc,0xe620b880,0x93158383,0x92096bc9,0x8f896f6c,0x41a21357
-.long 0xc7dcfcab,0x1b5ee2fa,0x9546e007,0x650acfde,0xb1b02e07,0xc081b749,0xf9eca03d,0xda9e41a0,0x175a54ab,0x013ba727,0xea5d8d10,0xca0cd190,0x95fd96a9,0x85ea52c0,0xbc5c3940,0x2c591b9f
-.long 0x2bad4d5f,0x6fb4d4e4,0xfef0059b,0xfa4c3590,0xf5122294,0x6a10218a,0xa85751d1,0x9a78a81a,0xa98e84e7,0x04f20579,0x4997e5b5,0xfe1242c0,0xca21e1e4,0xe77a273b,0x9411939d,0xfcc8b1ef
-.long 0x92d0487a,0xe20ea302,0x294b91fe,0x1442dbec,0xbb6b0e8f,0x1f7a4afe,0x6889c318,0x1700ef74,0x70f1fc62,0xf5bbffc3,0x69c79cca,0x3b31d4b6,0xa7f6340d,0xe8bc2aab,0xa725e10a,0xb0b08ab4
-.long 0xae340050,0x44f05701,0x1cf0c569,0xba4b3016,0xfbe19a51,0x5aa29f83,0xb71d752e,0x1b9ed428,0xeb4819f5,0x1666e54e,0x9e18b75b,0x616cdfed,0x3ee27b0b,0x112ed5be,0x44c7de4d,0xfbf28319
-.long 0xe0e60d84,0xd685ec85,0x1db7ee78,0x68037e30,0x003c4d6e,0x5b65bdcd,0x93e29a6a,0x33e7363a,0x08d0756c,0x995b3a61,0x2faf134b,0xd727f85c,0x1d337823,0xfac6edf7,0x0439b8b4,0x99b9aa50
-.long 0xe2b4e075,0x722eb104,0x437c4926,0x49987295,0x46a9b82d,0xb1e4c0e4,0x57a006f5,0xd0cb3197,0xd7808c56,0xf3de0f7d,0x51f89772,0xb5c54d8f,0xadbd31aa,0x500a114a,0x295f6cab,0x9afaaaa6
-.long 0x04cf667a,0x94705e21,0x9d3935d7,0xfc2a811b,0x6d09267c,0x560b0280,0xf780e53b,0xf19ed119,0x067b6269,0xf0227c09,0x5caef599,0x967b8533,0x68efeebc,0x155b9243,0xc497bae6,0xcd6d34f5
-.long 0x6cceb370,0x1dd8d5d3,0xa78d7bf9,0x2aeac579,0x70b67a62,0x5d65017d,0x17c53f67,0x70c8e44f,0x86a34d09,0xd1fc0950,0xe7134907,0xe0fca256,0x80fdd315,0xe24fa29c,0xd87499ad,0x2c4acd03
-.long 0x3b5a9ba6,0xbaaf7517,0x12e51a51,0xb9cbe1f6,0x5e154897,0xd88edae3,0x77b66ca0,0xe4309c3c,0xf67f3746,0xf5555805,0xa36401ff,0x85fc37ba,0xd9499a53,0xdf86e2ca,0xecbc955b,0x6270b2a3
-.long 0x974ad33b,0xafae64f5,0xfe7b2df1,0x04d85977,0x4ab03f73,0x2a3db3ff,0x8702740a,0x0b87878a,0x5a061732,0x6d263f01,0xa32a1901,0xc25430ce,0xdb155018,0xf7ebab3d,0x63a9b78e,0x3a86f693
-.long 0xda9f3804,0x349ae368,0xa164349c,0x470f07fe,0x8562baa5,0xd52f4cc9,0x2b290df3,0xc74a9e86,0x43471a24,0xd3a1aa35,0xb8194511,0x239446be,0x81dcd44d,0xbec2dd00,0xc42ac82d,0xca3d7f0f
-.long 0xfdaf4520,0x1f3db085,0x4549daf2,0xbb6d3e80,0x19ad5c42,0xf5969d8a,0xdbfd1511,0x7052b13d,0x682b9060,0x11890d1b,0xac34452c,0xa71d3883,0x783805b4,0xa438055b,0x4725b23e,0x43241277
-.long 0x4901bbed,0xf20cf96e,0xf432a2bb,0x6419c710,0xdfa9cd7d,0x57a0fbb9,0x00daa249,0x589111e4,0x7b60554e,0x19809a33,0xede283a4,0xea5f8887,0x503bfd35,0x2d713802,0x585d2a53,0x151bb0af
-.long 0x43b30ca8,0x40b08f74,0xd9934583,0xe10b5bba,0xb51110ad,0xe8a546d6,0x28e0b6c5,0x1dd50e66,0xcff2b821,0x292e9d54,0x47281760,0x3882555d,0x3724d6e3,0x134838f8,0x22ddcda1,0xf2c679e0
-.long 0x6d2a5768,0x40ee8815,0x1c1e7e2d,0x7f227bd2,0xd04ff443,0x487ba134,0xc614e54b,0x76e2ff3d,0xa3177ec7,0x36b88d6f,0x2328fff5,0xbf731d51,0x49ba158e,0x758caea2,0x02938188,0x5ab8ff4c
-.long 0x35edc56d,0x33e16056,0x7e940d79,0x5a69d349,0x03866dcb,0x6c4fd001,0x4893cdef,0x20a38f57,0xfac3a15b,0xfbf3e790,0x7a4f8e6b,0x6ed7ea2e,0xbc3aca86,0xa663eb4f,0x080d53f7,0x22061ea5
-.long 0xf546783f,0x2480dfe6,0x5a0a641e,0xd38bc6da,0x2ede8965,0xfb093cd1,0xacb455cf,0x89654db4,0x26e1adee,0x413cbf9a,0x373294d4,0x291f3764,0x648083fe,0x00797257,0x208cc341,0x25f504d3
-.long 0xc3a0ee43,0x635a8e5e,0x679898ff,0x70aaebca,0x5dc63d56,0x9ee9f547,0xffb34d00,0xce987966,0x5e26310a,0xf9f86b19,0x382a8ca8,0x9e435484,0xc2352fe4,0x253bcb81,0x4474b571,0xa4eac8b0
-.long 0xc1ad8cf8,0xc1b97512,0x99e0b697,0x193b4e9e,0x01e85df0,0x939d2716,0xcd44eafd,0x4fb265b3,0xe51e1ae2,0x321e7dcd,0xe3d8b096,0x8e3a8ca6,0x52604998,0x8de46cb0,0x39072aa7,0x91099ad8
-.long 0x93aa96b8,0x2617f91c,0x7fca2e13,0x0fc8716b,0x95328723,0xa7106f5e,0x262e6522,0xd1c9c40b,0x42b7c094,0xb9bafe86,0x1543c021,0x1873439d,0x5cbefd5d,0xe1baa5de,0x521e8aff,0xa363fc5e
-.long 0xf862eaac,0xefe6320d,0x22c647dc,0x14419c63,0x4e46d428,0x0e06707c,0x4a178f8f,0xcb6c834f,0xd30f917c,0x0f993a45,0x9879afee,0xd4c4b049,0x70500063,0xb6142a1e,0xa5d9d605,0x7c9b41c3
-.long 0x2f8ba2c7,0xbc00fc2f,0x7c67aa28,0x0966eb2f,0x5a786972,0x13f7b516,0x8a2fbba0,0x3bfb7557,0x5a2b9620,0x131c4f23,0x6faf46be,0xbff3ed27,0x7e172323,0x9b4473d1,0x339f6246,0x421e8878
-.long 0x25a41632,0x0fa8587a,0xa35b6c93,0xc0814124,0x59ebb8db,0x2b18a9f5,0x76edb29c,0x264e3357,0xc87c51e2,0xaf245ccd,0x501e6214,0x16b3015b,0x0a3882ce,0xbb31c560,0xfec11e04,0x6961bb94
-.long 0xeff7a3a0,0x3b825b8d,0xb1df7326,0xbec33738,0x99604a1f,0x68ad747c,0x9a3bd499,0xd154c934,0x1cc7a906,0xac33506f,0x6c560e8f,0x73bb5392,0x263e3944,0x6428fcbe,0x1c387434,0xc11828d5
-.long 0x3e4b12ff,0x3cd04be1,0x2d88667c,0xc3aad9f9,0x248120cf,0xc52ddcf8,0x2a389532,0x985a892e,0x3bb85fa0,0xfbb4b21b,0x8dfc6269,0xf95375e0,0x7ee2acea,0xfb4fb06c,0x309c4d1f,0x6785426e
-.long 0xd8ceb147,0x659b17c8,0xb70a5554,0x9b649eee,0xac6bc634,0x6b7fa0b5,0x1d6e732f,0xd99fe2c7,0x8d3abba2,0x30e6e762,0xa797b799,0x18fee6e7,0xc696464d,0x5c9d360d,0x27bfde12,0xe3baeb48
-.long 0xf23206d5,0x2bf5db47,0x1d260152,0x2f6d3420,0x3f8ff89a,0x17b87653,0x378fa458,0x5157c30c,0x2d4fb936,0x7517c5c5,0xe6518cdc,0xef22f7ac,0xbf847a64,0xdeb483e6,0x92e0fa89,0xf5084558
-.long 0xdf7304d4,0xab9659d8,0xff210e8e,0xb71bcf1b,0xd73fbd60,0xa9a2438b,0x5d11b4de,0x4595cd1f,0x4835859d,0x9c0d329a,0x7dbb6e56,0x4a0f0d2d,0xdf928a4e,0xc6038e5e,0x8f5ad154,0xc9429621
-.long 0xf23f2d92,0x91213462,0x60b94078,0x6cab71bd,0x176cde20,0x6bdd0a63,0xee4d54bc,0x54c9b20c,0x9f2ac02f,0x3cd2d8aa,0x206eedb0,0x03f8e617,0x93086434,0xc7f68e16,0x92dd3db9,0x831469c5
-.long 0x8f981354,0x8521df24,0x3588a259,0x587e23ec,0xd7a0992c,0xcbedf281,0x38961407,0x06930a55,0xbe5bbe21,0x09320deb,0x2491817f,0xa7ffa5b5,0x09065160,0xe6c8b4d9,0xfff6d2a9,0xac4f3992
-.long 0x3ae9c1bd,0x7aa7a158,0xe37ce240,0xe0af6d98,0x28ab38b4,0xe54342d9,0x0a1c98ca,0xe8b75007,0xe02358f2,0xefce86af,0xea921228,0x31b8b856,0x0a1c67fc,0x052a1912,0xe3aead59,0xb4069ea4
-.long 0x7fa03cb3,0x3232d6e2,0x0fdd7d88,0xdb938e5b,0x2ccbfc5d,0x04c1d2cd,0xaf3a580f,0xd2f45c12,0x7883e614,0x592620b5,0xbe7c5f26,0x5fd27e68,0x1567e1e3,0x139e45a9,0x44d8aaaf,0x2cc71d2d
-.long 0xe36d0757,0x4a9090cd,0xd9a29382,0xf722d7b1,0x04b48ddf,0xfb7fb04c,0xebe16f43,0x628ad2a7,0x20226040,0xcd3fbfb5,0x5104b6c4,0x6c34ecb1,0xc903c188,0x30c0754e,0x2d23cab0,0xec336b08
-.long 0x1e206ee5,0x473d62a2,0x8c49a633,0xf1e27480,0xe9f6b2c3,0x87ab956c,0x62b606ea,0x61830b48,0xe78e815f,0x67cd6846,0x4c02082a,0xfe40139f,0x952ec365,0x52bbbfcb,0x6b9836ab,0x74c11642
-.long 0x558df019,0x9f51439e,0xac712b27,0x230da4ba,0x55185a24,0x518919e3,0x84b78f50,0x4dcefcdd,0xa47d4c5a,0xa7d90fb2,0xb30e009e,0x55ac9abf,0x74eed273,0xfd2fc359,0xdbea8faf,0xb72d824c
-.long 0x4513e2ca,0xce721a74,0x38240b2c,0x0b418612,0xd5baa450,0x05199968,0x2b0e8c25,0xeb1757ed,0x3dfac6d5,0x6ebc3e28,0x48a237f5,0xb2431e2e,0x52f61499,0x2acb5e23,0xe06c936b,0x5558a2a7
-.long 0xcbb13d1b,0xd213f923,0x5bfb9bfe,0x98799f42,0x701144a9,0x1ae8ddc9,0x4c5595ee,0x0b8b3bb6,0x3ecebb21,0x0ea9ef2e,0x3671f9a7,0x17cb6c4b,0x726f1d1f,0x47ef464f,0x6943a276,0x171b9484
-.long 0x7ef0329c,0x51a4ae2d,0x91c4402a,0x08509222,0xafd45bbc,0x64a61d35,0x3035a851,0x38f096fe,0xa1dec027,0xc7468b74,0x4fc7dcba,0xe8cf10e7,0xf4a06353,0xea35ff40,0x8b77dd66,0x0b4c0dfa
-.long 0xde7e5c19,0x779b8552,0xc1c0256c,0xfab28609,0xabd4743d,0x64f58eee,0x7b6cc93b,0x4e8ef838,0x4cb1bf3d,0xee650d26,0x73dedf61,0x4c1f9d09,0xbfb70ced,0xaef7c9d7,0x1641de1e,0x1ec0507e
-.long 0xcde45079,0xcd7e5cc7,0x516ac9e4,0xde173c9a,0xc170315c,0x517a8494,0x91d8e8fb,0x438fd905,0xc7d9630b,0x5145c506,0xf47d4d75,0x6457a87b,0x0d9a80e8,0xd31646bf,0xcef3aabe,0x453add2b
-.long 0xa607419d,0xc9941109,0xbb6bca80,0xfaa71e62,0x07c431f3,0x34158c13,0x992bc47a,0x594abebc,0xeb78399f,0x6dfea691,0x3f42cba4,0x48aafb35,0x077c04f0,0xedcd65af,0xe884491a,0x1a29a366
-.long 0x1c21f2bf,0x023a40e5,0xa5057aee,0xf99a513c,0xbcab072e,0xa3fe7e25,0x40e32bcf,0x8568d2e1,0xd3f69d9f,0x904594eb,0x07affab1,0x181a9733,0xb6e330f4,0xe4d68d76,0xc75a7fc1,0x87a6dafb
-.long 0xef7d9289,0x549db2b5,0x197f015a,0x2480d4a8,0xc40493b6,0x61d5590b,0x6f780331,0x3a55b52e,0x309eadb0,0x40eb8115,0x92e5c625,0xdea7de5a,0xcc6a3d5a,0x64d631f0,0x93e8dd61,0x9d5e9d7c
-.long 0x206d3ffc,0xf297bef5,0x7d808bd4,0x23d5e033,0xd24cf5ba,0x4a4f6912,0x09cdaa8a,0xe4d8163b,0xd3082e8e,0x0e0de9ef,0x0192f360,0x4fe1246c,0x4b8eee0a,0x1f900150,0xf1da391b,0x5219da81
-.long 0xf7ea25aa,0x7bf6a5c1,0xfbb07d5f,0xd165e6bf,0x89e78671,0xe3539361,0x2bac4219,0xa3fcac89,0xf0baa8ab,0xdfab6fd4,0xe2c1c2e5,0x5a4adac1,0x40d85849,0x6cd75e31,0x19b39181,0xce263fea
-.long 0x07032c72,0xcb6803d3,0x790968c8,0x7f40d5ce,0xdce978f0,0xa6de86bd,0x368f751c,0x25547c4f,0x65fb2a9e,0xb1e685fd,0x1eb9179c,0xce69336f,0x12504442,0xb15d1c27,0xb911a06b,0xb7df465c
-.long 0x315980cd,0xb8d804a3,0xfa3bebf7,0x693bc492,0x2253c504,0x3578aeee,0xcd2474a2,0x158de498,0xcfda8368,0x1331f5c7,0x78d7177e,0xd2d7bbb3,0xf3c1e46e,0xdf61133a,0xd30e7be8,0x5836ce7d
-.long 0x94f834cb,0x83084f19,0x429ed782,0xd35653d4,0x59e58243,0xa542f16f,0x0470a22d,0xc2b52f65,0x18f23d96,0xe3b6221b,0x3f5252b4,0xcb05abac,0x87d61402,0xca00938b,0x411933e4,0x2f186cdd
-.long 0x9a29a5c5,0xe042ece5,0x3b6c8402,0xb19b3c07,0x19d92684,0xc97667c7,0xebc66372,0xb5624622,0x3c04fa02,0x0cb96e65,0x8eaa39aa,0x83a7176c,0xeaa1633f,0x2033561d,0x4533df73,0x45a9d086
-.long 0x3dc090bc,0xe0542c1d,0xaa59c167,0x82c996ef,0x0ee7fc4d,0xe3f735e8,0x7c35db79,0x7b179393,0xf8c5dbfd,0xb6419e25,0x1f327b04,0x4d9d7a1e,0x298dfca8,0x979f6f9b,0x8de9366a,0xc7c5dff1
-.long 0x04c82bdd,0x1b7a588d,0xf8319dfd,0x68005534,0xd8eb9580,0xde8a55b5,0x8d5bca81,0x5ea886da,0x252a0b4d,0xe8530a01,0x35eaa0a1,0x1bffb4fe,0xd8e99563,0x2ad828b1,0x95f9cd87,0x7de96ef5
-.long 0xd77d970c,0x4abb2d0c,0xd33ef9cb,0x03cfb933,0x8b211fe9,0xb0547c01,0xa56ed1c6,0x2fe64809,0xc2ac98cc,0xcb7d5624,0x1a393e33,0x2a1372c0,0x29660521,0xc8d1ec1c,0xb37ac3e9,0xf3d31b04
-.long 0x5ece6e7c,0xa29ae9df,0x0facfb55,0x0603ac8f,0xdda233a5,0xcfe85b7a,0xbd75f0b8,0xe618919f,0x99bf1603,0xf555a3d2,0xf184255a,0x1f43afc9,0x319a3e02,0xdcdaf341,0x03903a39,0xd3b117ef
-.long 0x65d1d131,0xe095da13,0xc37ad03e,0x86f16367,0x462cd8dd,0x5f37389e,0xd67a60e6,0xc103fa04,0xf4b478f0,0x57c34344,0xe117c98d,0xce91edd8,0x231fc12e,0x001777b0,0xb207bccb,0x11ae47f2
-.long 0x20f8a242,0xd983cf8d,0xf22e1ad8,0x7aff5b1d,0x7fc4feb3,0x68fd11d0,0xb0f1c3e1,0x5d53ae90,0xec041803,0x50fb7905,0x14404888,0x85e3c977,0xac628d8f,0x0e67faed,0x6668532c,0x2e865150
-.long 0x6a67a6b0,0x15acaaa4,0xb25cec41,0xf4cdee25,0xe4c6701e,0x49ee565a,0xfc7d63d8,0x2a04ca66,0xef0543fb,0xeb105018,0xd1b0d81d,0xf709a4f5,0x2915d333,0x5b906ee6,0x96f1f0ab,0xf4a87412
-.long 0x4d82f4c2,0xb6b82fa7,0x6804efb3,0x90725a60,0xadc3425e,0xbc82ec46,0x2787843e,0xb7b80581,0xdd1fc74c,0xdf46d91c,0xe783a6c4,0xdc1c62cb,0x1a04cbba,0x59d1b9f3,0x95e40764,0xd87f6f72
-.long 0x317f4a76,0x02b4cfc1,0x91036bce,0x8d2703eb,0xa5e72a56,0x98206cc6,0xcf53fb0f,0x57be9ed1,0xef0b17ac,0x09374571,0xd9181b38,0x74b2655e,0x89935d0e,0xc8f80ea8,0x91529936,0xc0d9e942
-.long 0x1e84e0e5,0x19686041,0xaea34c93,0xa5db84d3,0x7073a732,0xf9d5bb19,0x6bcfd7c0,0xb8d2fe56,0xf3eb82fa,0x45775f36,0xfdff8b58,0x8cb20ccc,0x8374c110,0x1659b65f,0x330c789a,0xb8b4a422
-.long 0x6fe8208b,0x75e3c3ea,0x286e78fe,0xbd74b9e4,0xd7d93a1a,0x0be2e81b,0xdd0a5aae,0x7ed06e27,0x6be8b800,0x721f5a58,0xd846db28,0x428299d1,0x5be88ed3,0x95cb8e6b,0x1c034e11,0xc3186b23
-.long 0x8977d99b,0xa6312c9e,0x83f531e7,0xbe944331,0x18d3b1d4,0x8232c0c2,0xe1247b73,0x617aae8b,0x282aec3b,0x40153fc4,0xf7b8f823,0xc6063d2f,0x3304f94c,0x68f10e58,0xee676346,0x31efae74
-.long 0x40a9b97c,0xbadb6c6d,0x4f666256,0x14702c63,0x5184b2e3,0xdeb954f1,0x94b6ca40,0x5184a526,0x003c32ea,0xfff05337,0x205974c7,0x5aa374dd,0x4b0dd71a,0x9a763854,0xdeb947ec,0x459cd27f
-.long 0x459c2b92,0xa6e28161,0x75ee8ef5,0x2f020fa8,0x30b06310,0xb132ec2d,0xbc6a4530,0xc3e15899,0xaa3f451a,0xdc5f53fe,0xc2d9acac,0x3a3c7f23,0x6b27e58b,0x2ec2f892,0xd742799f,0x68466ee7
-.long 0x1fa26613,0x98324dd4,0xbdc29d63,0xa2dc6dab,0xd712d657,0xf9675faa,0x21fd8d15,0x813994be,0xfd4f7553,0x5ccbb722,0xf3a36b20,0x5135ff8b,0x69559df5,0x44be28af,0x9d41bf30,0x40b65bed
-.long 0x3734e520,0xd98bf2a4,0x209bdcba,0x5e3abbe3,0xbc945b35,0x77c76553,0xc6ef14aa,0x5331c093,0x76b60c80,0x518ffe29,0x7ace16f8,0x2285593b,0xbe2b9784,0xab1f64cc,0xab2421b6,0xe8f2c0d9
-.long 0xc1df065c,0x617d7174,0x5f6578fa,0xafeeb5ab,0x263b54a8,0x16ff1329,0xc990dce3,0x45c55808,0xecc8c177,0x42eab6c0,0x5982ecaa,0x799ea9b5,0xb607ef8e,0xf65da244,0x32a3fc2c,0x8ab226ce
-.long 0x7ea973dc,0x745741e5,0x20888f2e,0x5c00ca70,0x45fd9cf1,0x7cdce3cf,0x5507f872,0x8a741ef1,0x196b4cec,0x47c51c2f,0xc97ea618,0x70d08e43,0x15b18a2b,0x930da15c,0x2f610514,0x33b6c678
-.long 0x07ac9794,0xc662e4f8,0xba06cb79,0x1eccf050,0xe7d954e5,0x1ff08623,0x24cf71c3,0x6ef2c5fb,0x67978453,0xb2c063d2,0x1d654af8,0xa0cf3796,0x7ebdaa37,0x7cb242ea,0xb86747e0,0x206e0b10
-.long 0xd5ecfefc,0x481dae5f,0xc2bff8fc,0x07084fd8,0xea324596,0x8040a01a,0xd4de4036,0x4c646980,0xd65abfc3,0x9eb8ab4e,0x13541ec7,0xe01cb91f,0xfd695012,0x8f029adb,0x3c7569ec,0x9ae28483
-.long 0xa66d80a1,0xa5614c9e,0x75f5f911,0x680a3e44,0xceba4fc1,0x0c07b14d,0xa13071c1,0x891c285b,0x799ece3c,0xcac67ceb,0x41e07e27,0x29b910a9,0xf2e43123,0x66bdb409,0x7ac9ecbe,0x06f8b137
-.long 0x38547090,0x5981fafd,0x85e3415d,0x19ab8b9f,0xc7e31b27,0xfc28c194,0x6fbcbb42,0x843be0aa,0xa6db836c,0xf3b1ed43,0x01a45c05,0x2a1330e4,0x95c1a377,0x4f19f3c5,0x44b5ee33,0xa85f39d0
-.long 0x4ae52834,0x3da18e6d,0x7423dcb0,0x5a403b39,0xf2374aef,0xbb555e0a,0x1e8ca111,0x2ad599c4,0x014b3bf8,0x1b3a2fb9,0xf66d5007,0x73092684,0xc4340102,0x079f1426,0x8fddf4de,0x1827cf81
-.long 0xf10ff927,0xc83605f6,0x23739fc6,0xd3871451,0xcac1c2cc,0x6d163450,0xa2ec1ac5,0x6b521296,0x6e3cb4a5,0x0606c4f9,0x778abff7,0xe47d3f41,0xbe8e3a45,0x425a8d5e,0xa6102160,0x53ea9e97
-.long 0x39cbb688,0x477a106e,0xf3386d32,0x532401d2,0xb1b9b421,0x8e564f64,0x81dad33f,0xca9b8388,0x2093913e,0xb1422b4e,0x69bc8112,0x533d2f92,0xebe7b2c7,0x3fa017be,0xcaf197c6,0xb2767c4a
-.long 0xaedbae9f,0xc925ff87,0x36880a54,0x7daf0eb9,0x9c4d0e71,0x9284ddf5,0x316f8cf5,0x1581cf93,0x3ac1f452,0x3eeca887,0xfb6aeffe,0xb417fce9,0xeefb8dc3,0xa5918046,0x02209400,0x73d318ac
-.long 0x728693e5,0xe800400f,0x339927ed,0xe87d814b,0x57ea9910,0x93e94d3b,0x2245fb69,0xff8a35b6,0x7f200d34,0x043853d7,0x0f653ce1,0x470f1e68,0x59a06379,0x81ac05bd,0x03930c29,0xa14052c2
-.long 0x26bc2797,0x6b72fab5,0x99f16771,0x13670d16,0x1e3e48d1,0x00170052,0xb7adf678,0x978fe401,0xd41c5dd4,0x55ecfb92,0xc7b27da5,0x5ff8e247,0x013fb606,0xe7518272,0x2f547a3c,0x5768d7e5
-.long 0x60017a5f,0xbb24eaa3,0x9c64ce9b,0x6b18e6e4,0x103dde07,0xc225c655,0x7592f7ea,0xfc3672ae,0xd06283a1,0x9606ad77,0xe4d59d99,0x542fc650,0x2a40e7c2,0xabb57c49,0xa8db9f55,0xac948f13
-.long 0xb04465c3,0x6d4c9682,0x6468bd15,0xe3d062fa,0x5f318d7e,0xa51729ac,0x9eb6fc95,0x1fc87df6,0x0591f652,0x63d146a8,0x589621aa,0xa861b8f7,0xce31348c,0x59f5f15a,0x440da6da,0x8f663391
-.long 0xb591ffa3,0xcfa778ac,0x4cdfebce,0x027ca9c5,0x444ea6b3,0xbe8e05a5,0xa78d8254,0x8aab4e69,0xb474d6b8,0x2437f04f,0x045b3855,0x6597ffd4,0xca47ecaa,0xbb0aea4e,0x85c7ebfc,0x568aae83
-.long 0xc73b2383,0x0e966e64,0xd17d8762,0x49eb3447,0x8da05dab,0xde107821,0x016b7236,0x443d8baa,0xea7610d6,0x163b63a5,0xce1ca979,0xe47e4185,0x80baa132,0xae648b65,0x0e0d5b64,0xebf53de2
-.long 0xd3c8c1ca,0x8d3bfcb4,0x5d04b309,0x0d914ef3,0x3de7d395,0x55ef6415,0x26b850e8,0xbde1666f,0xd449ab19,0xdbe1ca6e,0xe89a2672,0x8902b322,0xdacb7a53,0xb1674b7e,0xf52523ff,0x8e9faf6e
-.long 0x9a85788b,0x6ba535da,0xbd0626d4,0xd21f03ae,0xe873dc64,0x099f8c47,0x018ec97e,0xcda8564d,0xde92c68c,0x3e8d7a5c,0x73323cc4,0x78e035a1,0xf880ff7c,0x3ef26275,0x273eedaa,0xa4ee3dff
-.long 0xaf4e18f8,0x58823507,0x0672f328,0x967ec9b5,0x559d3186,0x9ded19d9,0x6cdce39c,0x5e2ab3de,0x11c226df,0xabad6e4d,0x87723014,0xf9783f43,0x1a885719,0x9a49a0cf,0x90da9dbf,0xfc0c1a5a
-.long 0x571d92ac,0x8bbaec49,0x4692517f,0x569e85fe,0xa14ea4af,0x8333b014,0x12e5c5ad,0x32f2a62f,0x06d89b85,0x98c2ce3a,0x2ff77a08,0xb90741aa,0x01f795a2,0x2530defc,0x84b3c199,0xd6e5ba0b
-.long 0x12e4c936,0x7d8e8451,0xbd0be17b,0xae419f7d,0x22262bc9,0xa583fc8c,0x91bfe2bd,0x6b842ac7,0x440d6827,0x33cef4e9,0xef81fb14,0x5f69f4de,0x234fbb92,0xf16cf6f6,0xd9e7e158,0x76ae3fc3
-.long 0xe9740b33,0x4e89f6c2,0x4962d6a1,0x677bc85d,0x68d10d15,0x6c6d8a7f,0x0257b1cd,0x5f9a7224,0x4ad85961,0x7096b916,0xe657ab4a,0x5f8c47f7,0xf7461d7e,0xde57d7d0,0x80ce5ee2,0x7eb6094d
-.long 0x34190547,0x0b1e1dfd,0xf05dd150,0x8a394f43,0x97df44e6,0x0a9eb24d,0x87675719,0x78ca06bf,0x6ffeec22,0x6f0b3462,0x36cdd8fb,0x9d91bcea,0xa105be47,0xac83363c,0x069710e3,0x81ba76c1
-.long 0x28c682c6,0x3d1b24cb,0x8612575b,0x27f25228,0xe8e66e98,0xb587c779,0x405eb1fe,0x7b0c03e9,0x15b548e7,0xfdf0d030,0x38b36af7,0xa8be76e0,0x4f310c40,0x4cdab04a,0xf47ecaec,0x6287223e
-.long 0x8b399320,0x678e6055,0xc01e4646,0x61fe3fa6,0x03261a5e,0xc482866b,0x5c2f244a,0xdfcf45b8,0x2f684b43,0x8fab9a51,0xc7220a66,0xf796c654,0xf5afa58f,0x1d90707e,0x4fdbe0de,0x2c421d97
-.long 0xaf2ebc2f,0xc4f4cda3,0xcb4efe24,0xa0af843d,0x9ccd10b1,0x53b857c1,0x914d3e04,0xddc9d1eb,0x62771deb,0x7bdec8bb,0x91c5aa81,0x829277aa,0x832391ae,0x7af18dd6,0xc71a84ca,0x1740f316
-.long 0xeeaf8c49,0x8928e99a,0x6e24d728,0xee7aa73d,0xe72b156c,0x4c5007c2,0xed408a1d,0x5fcf57c5,0xb6057604,0x9f719e39,0xc2868bbf,0x7d343c01,0x7e103e2d,0x2cca254b,0xf131bea2,0xe6eb38a9
-.long 0x8be762b4,0xb33e624f,0x058e3413,0x2a9ee4d1,0x67d805fa,0x968e6369,0x7db8bfd7,0x9848949b,0xd23a8417,0x5308d7e5,0xf3e29da5,0x892f3b1d,0x3dee471f,0xc95c139e,0xd757e089,0x8631594d
-.long 0xde918dcc,0xe0c82a3c,0x26fdcf4b,0x2e7b5994,0x32cb1b2d,0x82c50249,0x7657ae07,0xea613a9d,0xf1fdc9f7,0xc2eb5f6c,0x879fe682,0xb6eae8b8,0x591cbc7f,0x253dfee0,0x3e1290e6,0x000da713
-.long 0x1f095615,0x1083e2ea,0x14e68c33,0x0a28ad77,0x3d8818be,0x6bfc0252,0xf35850cd,0xb585113a,0x30df8aa1,0x7d935f0b,0x4ab7e3ac,0xaddda07c,0x552f00cb,0x92c34299,0x2909df6c,0xc33ed1de
-.long 0x80e87766,0x22c2195d,0x9ddf4ac0,0x9e99e6d8,0x65e74934,0x09642e4e,0xff1ff241,0x2610ffa2,0x751c8159,0x4d1d47d4,0xaf3a9363,0x697b4985,0x87477c33,0x0318ca46,0x9441eff3,0xa90cb565
-.long 0x36f024cb,0x58bb3848,0x36016168,0x85be1f77,0xdc7e07f1,0x6c59587c,0xaf1d8f02,0x191be071,0xcca5e55c,0xbf169fa5,0xf7d04eac,0x3864ba3c,0x8d7d05db,0x915e367f,0xa6549e5d,0xb48a876d
-.long 0x580e40a2,0xef89c656,0x728068bc,0xf194ed8c,0xa47990c9,0x74528045,0x5e1a4649,0xf53fc7d7,0x78593e7d,0xbec5ae9b,0x41db65d7,0x2cac4ee3,0x04a3d39b,0xa8c1eb24,0x03f8f3ef,0x53b7d634
-.long 0x3e07113c,0x2dc40d48,0x7d8b63ae,0x6e4a5d39,0x79684c2b,0x5582a94b,0x622da26c,0x932b33d4,0x0dbbf08d,0xf534f651,0x64c23a52,0x211d07c9,0xee5bdc9b,0x0eeece0f,0xf7015558,0xdf178168
-.long 0x0a712229,0xd4294635,0x09273f8c,0x93cbe448,0x8f13bc83,0x00b095ef,0x8798978c,0xbb741972,0x56dbe6e7,0x9d7309a2,0x5a5d39ec,0xe578ec56,0x851f9a31,0x3961151b,0xe5709eb4,0x2da7715d
-.long 0x53dfabf0,0x867f3017,0xb8e39259,0x728d2078,0x815d9958,0x5c75a0cd,0x16603be1,0xf84867a6,0x70e35b1c,0xc865b13d,0x19b03e2c,0x02414468,0xac1f3121,0xe46041da,0x6f028a7c,0x7c9017ad
-.long 0x0a482873,0xabc96de9,0xb77e54d4,0x4265d6b1,0xa57d88e7,0x68c38e79,0x9ce82de3,0xd461d766,0x64a7e489,0x817a9ec5,0xa0def5f2,0xcc5675cd,0x985d494e,0x9a00e785,0x1b03514a,0xc626833f
-.long 0x83cdd60e,0xabe7905a,0xa1170184,0x50602fb5,0xb023642a,0x689886cd,0xa6e1fb00,0xd568d090,0x0259217f,0x5b1922c7,0xc43141e4,0x93831cd9,0x0c95f86e,0xdfca3587,0x568ae828,0xdec2057a
-.long 0xf98a759a,0xc44ea599,0xf7c23c1d,0x55a0a7a2,0x94c4f687,0xd5ffb6e6,0x12848478,0x3563cce2,0xe7b1fbe1,0x812b3517,0x4f7338e0,0x8a7dc979,0x52d048db,0x211ecee9,0xc86ea3b8,0x2eea4056
-.long 0xba772b34,0xd8cb68a7,0x5f4e2541,0xe16ed341,0x0fec14db,0x9b32f6a6,0x391698be,0xeee376f7,0x83674c02,0xe9a7aa17,0x5843022a,0x65832f97,0x5ba4990f,0x29f3a8da,0xfb8e3216,0x79a59c3a
-.long 0xbd19bb16,0x9cdc4d2e,0xb3262d86,0xc6c7cfd0,0x969c0b47,0xd4ce14d0,0x13e56128,0x1fa352b7,0x973db6d3,0x383d55b8,0xe8e5b7bf,0x71836850,0xe6bb571f,0xc7714596,0x2d5b2dd2,0x259df31f
-.long 0x913cc16d,0x568f8925,0xe1a26f5a,0x18bc5b6d,0xf5f499ae,0xdfa413be,0xc3f0ae84,0xf8835dec,0x65a40ab0,0xb6e60bd8,0x194b377e,0x65596439,0x92084a69,0xbcd85625,0x4f23ede0,0x5ce433b9
-.long 0x6ad65143,0xe8e8f04f,0xd6e14af6,0x11511827,0x8295c0c7,0x3d390a10,0x621eba16,0x71e29ee4,0x63717b46,0xa588fc09,0xe06ad4a2,0x02be02fe,0x04c22b22,0x931558c6,0x12f3c849,0xbb4d4bd6
-.long 0x20efd662,0x54a4f496,0xc5952d14,0x92ba6d20,0xcc9784c2,0x2db8ea1e,0x4b353644,0x81cc10ca,0x4b4d7f6c,0x40b570ad,0x84a1dcd2,0x5c9f1d96,0x3147e797,0x01379f81,0x2bd499f5,0xe5c6097b
-.long 0x328e5e20,0x40dcafa6,0x54815550,0xf7b5244a,0x47bfc978,0xb9a4f118,0xd25825b1,0x0ea0e79f,0x646c7ecf,0xa50f96eb,0x446dea9d,0xeb811493,0xdfabcf69,0x2af04677,0xc713f6e8,0xbe3a068f
-.long 0x42e06189,0x860d523d,0x4e3aff13,0xbf077941,0xc1b20650,0x0b616dca,0x2131300d,0xe66dd6d1,0xff99abde,0xd4a0fd67,0xc7aac50d,0xc9903550,0x7c46b2d7,0x022ecf8b,0x3abf92af,0x3333b1e8
-.long 0x6c491c14,0x11cc113c,0x80dd3f88,0x05976688,0x29d932ed,0xf5b4d9e7,0xa2c38b6d,0xe982aad8,0x8be0dcf0,0x6f925347,0x65ca53f2,0x700080ae,0x443ca77f,0xd8131156,0xec51f984,0xe92d6942
-.long 0x85dfe9ae,0xd2a08af8,0x4d2a86ca,0xd825d9a5,0x39dff020,0x2c53988d,0x430cdc40,0xf38b135a,0x62a7150b,0x0c918ae0,0x0c340e9b,0xf31fd8de,0x4dbbf02e,0xafa0e7ae,0x5eba6239,0x5847fb2a
-.long 0xdccbac8b,0x6b1647dc,0x06f485c8,0xb642aa78,0x7038ecdf,0x873f3765,0xfa49d3fe,0x2ce5e865,0xc98c4400,0xea223788,0xf1fa5279,0x8104a8cd,0x06becfd7,0xbcf7cc7a,0xc8f974ae,0x49424316
-.long 0x84d6365d,0xc0da65e7,0x8f759fb8,0xbcb7443f,0x7ae81930,0x35c712b1,0x4c6e08ab,0x80428dff,0xa4faf843,0xf19dafef,0xffa9855f,0xced8538d,0xbe3ac7ce,0x20ac409c,0x882da71e,0x358c1fb6
-.long 0xfd349961,0xafa9c0e5,0x8421c2fc,0x2b2cfa51,0xf3a28d38,0x2a80db17,0x5d138e7e,0xa8aba539,0x6e96eb8d,0x52012d1d,0xcbaf9622,0x65d8dea0,0xb264f56c,0x57735447,0x1b6c8da2,0xbeebef3f
-.long 0xce785254,0xfc346d98,0xbb64a161,0xd50e8d72,0x49794add,0xc03567c7,0x752c7ef6,0x15a76065,0x961f23d6,0x59f3a222,0x73ecc0b0,0x378e4438,0x5a82fde4,0xc74be434,0xd8b9cf34,0xae509af2
-.long 0x577f44a1,0x4a61ee46,0xb611deeb,0xe09b748c,0xf5f7b884,0xc0481b2c,0x61acfa6b,0x35626678,0xbf8d21e6,0x37f4c518,0xb205a76d,0x22d96531,0x954073c0,0x37fb85e1,0x65b3a567,0xbceafe4f
-.long 0xbe42a582,0xefecdef7,0x65046be6,0xd3fc6080,0x09e8dba9,0xc9af13c8,0x641491ff,0x1e6c9847,0xd30c31f7,0x3b574925,0xac2a2122,0xb7eb72ba,0xef0859e7,0x776a0dac,0x21900942,0x06fec314
-.long 0xf8c22049,0x2464bc10,0x875ebf69,0x9bfbcce7,0x4336326b,0xd7a88e2a,0x5bc2acfa,0xda05261c,0xeba7efc8,0xc29f5bdc,0x25dbbf2e,0x471237ca,0x2975f127,0xa72773f2,0x04d0b326,0xdc744e8e
-.long 0xa56edb73,0x38a7ed16,0x2c007e70,0x64357e37,0x5080b400,0xa167d15b,0x23de4be1,0x07b41164,0x74c89883,0xb2d91e32,0x2882e7ed,0x3c162821,0x7503e482,0xad6b36ba,0x0ea34331,0x48434e8e
-.long 0x2c7ae0b9,0x79f4f24f,0x1939b44a,0xc46fbf81,0x56595eb1,0x76fefae8,0xcd5f29c7,0x417b66ab,0xc5ceec20,0x5f2332b2,0xe1a1cae2,0xd69661ff,0x9b0286e6,0x5ede7e52,0xe276b993,0x9d062529
-.long 0x7e50122b,0x324794b0,0x4af07ca5,0xdd744f8b,0xd63fc97b,0x30a12f08,0x76626d9d,0x39650f1a,0x1fa38477,0x101b47f7,0xd4dc124f,0x3d815f19,0xb26eb58a,0x1569ae95,0x95fb1887,0xc3cde188
-.long 0xf9539a48,0x54e9f37b,0x7408c1a5,0xb0100e06,0xea580cbb,0x821d9811,0x86e50c56,0x8af52d35,0xdbbf698b,0xdfbd9d47,0x03dc1c73,0x2961a1ea,0xe76a5df8,0x203d38f8,0x6def707a,0x08a53a68
-.long 0x1bee45d4,0x26eefb48,0x3c688036,0xb3cee346,0xc42f2469,0x463c5315,0x81378162,0x19d84d2e,0x1c4d349f,0x22d7c3c5,0x163d59c5,0x65965844,0xb8abceae,0xcf198c56,0x628559d5,0x6fb1fb1b
-.long 0x07bf8fe3,0x8bbffd06,0x3467734b,0x46259c58,0x35f7f0d3,0xd8953cea,0xd65b0ff1,0x1f0bece2,0xf3c72914,0xf7d5b4b3,0x3cb53389,0x29e8ea95,0x836b6d46,0x4a365626,0xea174fde,0xe849f910
-.long 0xf4737f21,0x7ec62fbb,0x6209f5ac,0xd8dba5ab,0xa5f9adbe,0x24b5d7a9,0xa61dc768,0x707d28f7,0xcaa999ea,0x7711460b,0x1c92e4cc,0xba7b174d,0x18d4bf2d,0x3c4bab66,0xeb8bd279,0xb8f0c980
-.long 0x324b4737,0x024bea9a,0x32a83bca,0xfba9e423,0xa232dced,0x6e635643,0x2571c8ba,0x99619367,0x54b7032b,0xe8c9f357,0x2442d54a,0xf936b3ba,0x8290c65a,0x2263f0f0,0xee2c7fdb,0x48989780
-.long 0x13d4f95e,0xadc5d55a,0xad9b8500,0x737cff85,0x8a73f43d,0x271c557b,0xe18bc476,0xbed617a4,0x7dfd8ab2,0x66245401,0x3a2870aa,0xae7b89ae,0x23a7e545,0x1b555f53,0xbe057e4c,0x6791e247
-.long 0x324fa34d,0x860136ad,0x4cbeae28,0xea111447,0xbedd3299,0x023a4270,0xc1c35c34,0x3d5c3a7f,0x8d0412d2,0xb0f6db67,0xfcdc6b9a,0xd92625e2,0x4e28a982,0x92ae5ccc,0x47a3ce7e,0xea251c36
-.long 0x790691bf,0x9d658932,0x06b736ae,0xed610589,0xc0d63b6e,0x712c2f04,0xc63d488f,0x5cf06fd5,0xd9588e41,0x97363fac,0x2b93257e,0x1f9bf762,0x667acace,0xa9d1ffc4,0x0a061ecf,0x1cf4a1aa
-.long 0xdc1818d0,0x40e48a49,0xa3621ab0,0x0643ff39,0xe39ef639,0x5768640c,0x04d86854,0x1fc099ea,0xeccd28fd,0x9130b9c3,0x7eec54ab,0xd743cbd2,0xe5b475b6,0x052b146f,0x900a7d1f,0x058d9a82
-.long 0x91262b72,0x65e02292,0xbb0edf03,0x96f924f9,0xfe206842,0x5cfa59c8,0x5eafa720,0xf6037004,0x18d7dd96,0x5f30699e,0xcbab2495,0x381e8782,0xdd8be949,0x91669b46,0x26aae8ef,0xb40606f5
-.long 0xfc6751a4,0x2812b839,0xfba800ef,0x16196214,0x4c1a2875,0x4398d5ca,0x653d8349,0x720c00ee,0xd820007c,0xc2699eb0,0xa39b5825,0x880ee660,0x471f6984,0x70694694,0xe3dda99a,0xf7d16ea8
-.long 0xc0519a23,0x28d675b2,0x4f6952e3,0x9ebf94fe,0xa2294a8a,0xf28bb767,0xfe0af3f5,0x85512b4d,0x99b16a0d,0x18958ba8,0xba7548a7,0x95c2430c,0xa16be615,0xb30d1b10,0x85bfb74c,0xe3ebbb97
-.long 0x18549fdb,0xa3273cfe,0x4fcdb792,0xf6e200bf,0x83aba56c,0x54a76e18,0x89ef6aa2,0x73ec66f6,0xd1b9a305,0x8d17add7,0xb7ae1b9d,0xa959c5b9,0x6bcc094a,0x88643522,0xd7d429b9,0xcc5616c4
-.long 0xe6a33f7c,0xa6dada01,0x9d4e70ad,0xc6217a07,0x09c15b7c,0xd619a818,0x0e80c854,0xea06b329,0xa5f5e7b9,0x174811ce,0x787c65f4,0x66dfc310,0x3316ab54,0x4ea7bd69,0x1dcc0f70,0xc12c4acb
-.long 0x1e407dd9,0xe4308d1a,0x91afa997,0xe8a3587c,0xab77b7a5,0xea296c12,0x673c0d52,0xb5ad49e4,0x7006085a,0x40f9b2b2,0x87bf6ec2,0xa88ff340,0x4e3066a6,0x978603b1,0xb5e486e2,0xb3f99fc2
-.long 0xb2e63645,0x07b53f5e,0x84c84232,0xbe57e547,0x7214d5cf,0xd779c216,0x029a3aca,0x617969cd,0x8a7017a0,0xd17668cd,0xbe9b7ee8,0x77b4d19a,0x9c161776,0x58fd0e93,0xd5968a72,0xa8c4f4ef
-.long 0x67b3de77,0x296071cc,0x634f7905,0xae3c0b8e,0x8a7100c9,0x67e440c2,0xeb4b9b42,0xbb8c3c1b,0xc51b3583,0x6d71e8ea,0x9525e642,0x7591f5af,0x13f509f3,0xf73a2f7b,0x5619ac9b,0x618487aa
-.long 0x9d61718a,0x3a72e5f7,0x7592d28c,0x00413bcc,0x963c35cf,0x7d9b11d3,0xb90a46ed,0x77623bcf,0xdcdd2a50,0xdeef273b,0x0601846e,0x4a741f9b,0x0ec6e929,0x33b89e51,0x8b7f22cd,0xcb02319f
-.long 0x084bae24,0xbbe1500d,0x343d2693,0x2f0ae8d7,0x7cdef811,0xacffb5f2,0x263fb94f,0xaa0c030a,0xa0f442de,0x6eef0d61,0x27b139d3,0xf92e1817,0x0ad8bc28,0x1ae6deb7,0xc0514130,0xa89e38dc
-.long 0xd2fdca23,0x81eeb865,0xcc8ef895,0x5a15ee08,0x01905614,0x768fa10a,0x880ee19b,0xeff5b8ef,0xcb1c8a0e,0xf0c0cabb,0xb8c838f9,0x2e1ee9cd,0x8a4a14c0,0x0587d8b8,0x2ff698e5,0xf6f27896
-.long 0x89ee6256,0xed38ef1c,0x6b353b45,0xf44ee1fe,0x70e903b3,0x9115c0c7,0x818f31df,0xc78ec0a1,0xb7dccbc6,0x6c003324,0x163bbc25,0xd96dd1f3,0x5cedd805,0x33aa82dd,0x7f7eb2f1,0x123aae4f
-.long 0xa26262cd,0x1723fcf5,0x0060ebd5,0x1f7f4d5d,0xb2eaa3af,0xf19c5c01,0x9790accf,0x2ccb9b14,0x52324aa6,0x1f9c1cad,0x7247df54,0x63200526,0xbac96f82,0x5732fe42,0x01a1c384,0x52fe771f
-.long 0xb1001684,0x546ca13d,0xa1709f75,0xb56b4eee,0xd5db8672,0x266545a9,0x1e8f3cfb,0xed971c90,0xe3a07b29,0x4e7d8691,0xe4b696b9,0x7570d9ec,0x7bc7e9ae,0xdc5fa067,0xc82c4844,0x68b44caf
-.long 0xbf44da80,0x519d34b3,0x5ab32e66,0x283834f9,0x6278a000,0x6e608797,0x627312f6,0x1e62960e,0xe6901c55,0x9b87b27b,0x24fdbc1f,0x80e78538,0x2facc27d,0xbbbc0951,0xac143b5a,0x06394239
-.long 0x376c1944,0x35bb4a40,0x63da1511,0x7cb62694,0xb7148a3b,0xafd29161,0x4e2ea2ee,0xa6f9d9ed,0x880dd212,0x15dc2ca2,0xa61139a9,0x903c3813,0x6c0f8785,0x2aa7b46d,0x901c60ff,0x36ce2871
-.long 0xe10d9c12,0xc683b028,0x032f33d3,0x7573baa2,0x67a31b58,0x87a9b1f6,0xf4ffae12,0xfd3ed11a,0x0cb2748e,0x83dcaa9a,0x5d6fdf16,0x8239f018,0x72753941,0xba67b49c,0xc321cb36,0x2beec455
-.long 0x3f8b84ce,0x88015606,0x8d38c86f,0x76417083,0x598953dd,0x054f1ca7,0x4e8e7429,0xc939e110,0x5a914f2f,0x9b1ac2b3,0xe74b8f9c,0x39e35ed3,0x781b2fb0,0xd0debdb2,0x2d997ba2,0x1585638f
-.long 0x9e2fce99,0x9c4b646e,0x1e80857f,0x68a21081,0x3643b52a,0x06d54e44,0x0d8eb843,0xde8d6d63,0x42146a0a,0x70321563,0x5eaa3622,0x8ba826f2,0x86138787,0x227a58bd,0x10281d37,0x43b6c03c
-.long 0xb54dde39,0x6326afbb,0xdb6f2d5f,0x744e5e8a,0xcff158e1,0x48b2a99a,0xef87918f,0xa93c8fa0,0xde058c5c,0x2182f956,0x936f9e7a,0x216235d2,0xd2e31e67,0xace0c0db,0xf23ac3e7,0xc96449bf
-.long 0x170693bd,0x7e9a2874,0xa45e6335,0xa28e14fd,0x56427344,0x5757f6b3,0xacf8edf9,0x822e4556,0xe6a285cd,0x2b7a6ee2,0xa9df3af0,0x5866f211,0xf845b844,0x40dde2dd,0x110e5e49,0x986c3726
-.long 0xf7172277,0x73680c2a,0x0cccb244,0x57b94f0f,0x2d438ca7,0xbdff7267,0xcf4663fd,0xbad1ce11,0xd8f71cae,0x9813ed9d,0x961fdaa6,0xf43272a6,0xbd6d1637,0xbeff0119,0x30361978,0xfebc4f91
-.long 0x2f41deff,0x02b37a95,0xe63b89b7,0x0e44a59a,0x143ff951,0x673257dc,0xd752baf4,0x19c02205,0xc4b7d692,0x46c23069,0xfd1502ac,0x2e6392c3,0x1b220846,0x6057b1a2,0x0c1b5b63,0xe51ff946
-.long 0x566c5c43,0x6e85cb51,0x3597f046,0xcff9c919,0x4994d94a,0x9354e90c,0x2147927d,0xe0a39332,0x0dc1eb2b,0x8427fac1,0x2ff319fa,0x88cfd8c2,0x01965274,0xe2d4e684,0x67aaa746,0xfa2e067d
-.long 0x3e5f9f11,0xb6d92a7f,0xd6cb3b8e,0x9afe153a,0xddf800bd,0x4d1a6dd7,0xcaf17e19,0xf6c13cc0,0x325fc3ee,0x15f6c58e,0xa31dc3b2,0x71095400,0xafa3d3e7,0x168e7c07,0x94c7ae2d,0x3f8417a1
-.long 0x813b230d,0xec234772,0x17344427,0x634d0f5f,0xd77fc56a,0x11548ab1,0xce06af77,0x7fab1750,0x4f7c4f83,0xb62c10a7,0x220a67d9,0xa7d2edc4,0x921209a0,0x1c404170,0xface59f0,0x0b9815a0
-.long 0x319540c3,0x2842589b,0xa283d6f8,0x18490f59,0xdaae9fcb,0xa2731f84,0xc3683ba0,0x3db6d960,0x14611069,0xc85c63bb,0x0788bf05,0xb19436af,0x347460d2,0x905459df,0xe11a7db1,0x73f6e094
-.long 0xb6357f37,0xdc7f938e,0x2bd8aa62,0xc5d00f79,0x2ca979fc,0xc878dcb9,0xeb023a99,0x37e83ed9,0x1560bf3d,0x6b23e273,0x1d0fae61,0x1086e459,0x9a9414bd,0x78248316,0xf0ea9ea1,0x1b956bc0
-.long 0xc31b9c38,0x7b85bb91,0x48ef57b5,0x0c5aa90b,0xaf3bab6f,0xdedeb169,0x2d373685,0xe610ad73,0x02ba8e15,0xf13870df,0x8ca7f771,0x0337edb6,0xb62c036c,0xe4acf747,0xb6b94e81,0xd921d576
-.long 0x2c422f7a,0xdbc86439,0xed348898,0xfb635362,0xc45bfcd1,0x83084668,0x2b315e11,0xc357c9e3,0x5b2e5b8c,0xb173b540,0xe102b9a4,0x7e946931,0x7b0fb199,0x17c890eb,0xd61b662b,0xec225a83
-.long 0xee3c76cb,0xf306a3c8,0xd32a1f6e,0x3cf11623,0x6863e956,0xe6d5ab64,0x5c005c26,0x3b8a4cbe,0x9ce6bb27,0xdcd529a5,0x04d4b16f,0xc4afaa52,0x7923798d,0xb0624a26,0x6b307fab,0x85e56df6
-.long 0x2bf29698,0x0281893c,0xd7ce7603,0x91fc19a4,0xad9a558f,0x75a5dca3,0x4d50bf77,0x40ceb3fa,0xbc9ba369,0x1baf6060,0x597888c2,0x927e1037,0x86a34c07,0xd936bf19,0xc34ae980,0xd4cf10c1
-.long 0x859dd614,0x3a3e5334,0x18d0c8ee,0x9c475b5b,0x07cd51d5,0x63080d1f,0xb88b4326,0xc9c0d0a6,0xc234296f,0x1ac98691,0x94887fb6,0x2a0a83a4,0x0cea9cf2,0x56511427,0xa24802f5,0x5230a6e8
-.long 0x72e3d5c1,0xf7a2bf0f,0x4f21439e,0x37717446,0x9ce30334,0xfedcbf25,0x7ce202f9,0xe0030a78,0x1202e9ca,0x6f2d9ebf,0x75e6e591,0xe79dde6c,0xf1dac4f8,0xf52072af,0xbb9b404d,0x6c8d087e
-.long 0xbce913af,0xad0fc73d,0x458a07cb,0x909e587b,0xd4f00c8a,0x1300da84,0xb54466ac,0x425cd048,0x90e9d8bf,0xb59cb9be,0x3e431b0e,0x991616db,0x531aecff,0xd3aa117a,0x59f4dc3b,0x91af92d3
-.long 0xe93fda29,0x9b1ec292,0xe97d91bc,0x76bb6c17,0xaface1e6,0x7509d95f,0xbe855ae3,0x3653fe47,0x0f680e75,0x73180b28,0xeeb6c26c,0x75eefd1b,0xb66d4236,0xa4cdf29f,0x6b5821d8,0x2d70a997
-.long 0x20445c36,0x7a3ee207,0x59877174,0x71d1ac82,0x949f73e9,0x0fc539f7,0x982e3081,0xd05cf3d7,0x7b1c7129,0x8758e20b,0x569e61f2,0xffadcc20,0x59544c2d,0xb05d3a2f,0x9fff5e53,0xbe16f5c1
-.long 0xaad58135,0x73cf65b8,0x037aa5be,0x622c2119,0x646fd6a0,0x79373b3f,0x0d3978cf,0x0e029db5,0x94fba037,0x8bdfc437,0x620797a6,0xaefbd687,0xbd30d38e,0x3fa5382b,0x585d7464,0x7627cfbf
-.long 0x4e4ca463,0xb2330fef,0x3566cc63,0xbcef7287,0xcf780900,0xd161d2ca,0x5b54827d,0x135dc539,0x27bf1bc6,0x638f052e,0x07dfa06c,0x10a224f0,0x6d3321da,0xe973586d,0x26152c8f,0x8b0c5738
-.long 0x34606074,0x07ef4f2a,0xa0f7047a,0x80fe7fe8,0xe1a0e306,0x3d1a8152,0x88da5222,0x32cf43d8,0x5f02ffe6,0xbf89a95f,0x806ad3ea,0x3d9eb9a4,0x79c8e55e,0x012c17bb,0x99c81dac,0xfdcd1a74
-.long 0xb9556098,0x7043178b,0x801c3886,0x4090a1df,0x9b67b912,0x759800ff,0x232620c8,0x3e5c0304,0x70dceeca,0x4b9d3c4b,0x181f648e,0xbb2d3c15,0x6e33345c,0xf981d837,0x0cf2297a,0xb626289b
-.long 0x8baebdcf,0x766ac659,0x75df01e5,0x1a28ae09,0x375876d8,0xb71283da,0x607b9800,0x4865a96d,0x237936b2,0x25dd1bcd,0x60417494,0x332f4f4b,0x370a2147,0xd0923d68,0xdc842203,0x497f5dfb
-.long 0x32be5e0f,0x9dc74cbd,0x17a01375,0x7475bcb7,0x50d872b1,0x438477c9,0xffe1d63d,0xcec67879,0xd8578c70,0x9b006014,0x78bb6b8b,0xc9ad99a8,0x11fb3806,0x6799008e,0xcd44cab3,0xcfe81435
-.long 0x2f4fb344,0xa2ee1582,0x483fa6eb,0xb8823450,0x652c7749,0x622d323d,0xbeb0a15b,0xd8474a98,0x5d1c00d0,0xe43c154d,0x0e3e7aac,0x7fd581d9,0x2525ddf8,0x2b44c619,0xb8ae9739,0x67a033eb
-.long 0x9ef2d2e4,0x113ffec1,0xd5a0ea7f,0x1bf6767e,0x03714c0a,0x57fff75e,0x0a23e9ee,0xa23c422e,0x540f83af,0xdd5f6b2d,0x55ea46a7,0xc2c2c27e,0x672a1208,0xeb6b4246,0xae634f7a,0xd13599f7
-.long 0xd7b32c6e,0xcf914b5c,0xeaf61814,0x61a5a640,0x208a1bbb,0x8dc3df8b,0xb6d79aa5,0xef627fd6,0xc4c86bc8,0x44232ffc,0x061539fe,0xe6f9231b,0x958b9533,0x1d04f25a,0x49e8c885,0x180cf934
-.long 0x9884aaf7,0x89689595,0x07b348a6,0xb1959be3,0x3c147c87,0x96250e57,0xdd0c61f8,0xae0efb3a,0xca8c325e,0xed00745e,0xecff3f70,0x3c911696,0x319ad41d,0x73acbc65,0xf0b1c7ef,0x7b01a020
-.long 0x63a1483f,0xea32b293,0x7a248f96,0x89eabe71,0x343157e5,0x9c6231d3,0xdf3c546d,0x93a375e5,0x6a2afe69,0xe76e9343,0xe166c88e,0xc4f89100,0x4f872093,0x248efd0d,0x8fe0ea61,0xae0eb3ea
-.long 0x9d79046e,0xaf89790d,0x6cee0976,0x4d650f2d,0x43071eca,0xa3935d9a,0x283b0bfe,0x66fcd2c9,0x696605f1,0x0e665eb5,0xa54cd38d,0xe77e5d07,0x43d950cf,0x90ee050a,0xd32e69b5,0x86ddebda
-.long 0xfddf7415,0x6ad94a3d,0x3f6e8d5a,0xf7fa1309,0xe9957f75,0xc4831d1d,0xd5817447,0x7de28501,0x9e2aeb6b,0x6f1d7078,0xf67a53c2,0xba2b9ff4,0xdf9defc3,0x36963767,0x0d38022c,0x479deed3
-.long 0x3a8631e8,0xd2edb89b,0x7a213746,0x8de855de,0xb00c5f11,0xb2056cb7,0x2c9b85e4,0xdeaefbd0,0xd150892d,0x03f39a8d,0x218b7985,0x37b84686,0xb7375f1a,0x36296dd8,0xb78e898e,0x472cd4b1
-.long 0xe9f05de9,0x15dff651,0x2ce98ba9,0xd4045069,0x9b38024c,0x8466a7ae,0xe5a6b5ef,0xb910e700,0xb3aa8f0d,0xae1c56ea,0x7eee74a6,0xbab2a507,0x4b4c4620,0x0dca11e2,0x4c47d1f4,0xfd896e2e
-.long 0x308fbd93,0xeb45ae53,0x02c36fda,0x46cd5a2e,0xbaa48385,0x6a3d4e90,0x9dbe9960,0xdd55e62e,0x2a81ede7,0xa1406aa0,0xf9274ea7,0x6860dd14,0x80414f86,0xcfdcb0c2,0x22f94327,0xff410b10
-.long 0x49ad467b,0x5a33cc38,0x0a7335f1,0xefb48b6c,0xb153a360,0x14fb54a4,0xb52469cc,0x604aa9d2,0x754e48e9,0x5e9dc486,0x37471e8e,0x693cb455,0x8d3b37b6,0xfb2fd7cd,0xcf09ff07,0x63345e16
-.long 0x23a5d896,0x9910ba6b,0x7fe4364e,0x1fe19e35,0x9a33c677,0x6e1da8c3,0x29fd9fd0,0x15b4488b,0x1a1f22bf,0x1f439254,0xab8163e8,0x920a8a70,0x07e5658e,0x3fd1b249,0xb6ec839b,0xf2c4f79c
-.long 0x4aa38d1b,0x1abbc3d0,0xb5d9510e,0x3b0db35c,0x3e60dec0,0x1754ac78,0xea099b33,0x53272fd7,0x07a8e107,0x5fb0494f,0x6a8191fa,0x4a89e137,0x3c4ad544,0xa113b7f6,0x6cb9897b,0x88a2e909
-.long 0xb44a3f84,0x17d55de3,0x17c6c690,0xacb2f344,0x10232390,0x32088168,0x6c733bf7,0xf2e8a61f,0x9c2d7652,0xa774aab6,0xed95c5bc,0xfb5307e3,0x4981f110,0xa05c73c2,0xa39458c9,0x1baae31c
-.long 0xcbea62e7,0x1def185b,0xeaf63059,0xe8ac9eae,0x9921851c,0x098a8cfd,0x3abe2f5b,0xd959c3f1,0x20e40ae5,0xa4f19525,0x07a24aa1,0x320789e3,0x7392b2bc,0x259e6927,0x1918668b,0x58f6c667
-.long 0xc55d2d8b,0xce1db2bb,0xf4f6ca56,0x41d58bb7,0x8f877614,0x7650b680,0xf4c349ed,0x905e16ba,0xf661acac,0xed415140,0xcb2270af,0x3b8784f0,0x8a402cba,0x3bc280ac,0x0937921a,0xd53f7146
-.long 0xe5681e83,0xc03c8ee5,0xf6ac9e4a,0x62126105,0x936b1a38,0x9503a53f,0x782fecbd,0x3d45e2d4,0x76e8ae98,0x69a5c439,0xbfb4b00e,0xb53b2eeb,0x72386c89,0xf1674712,0x4268bce4,0x30ca34a2
-.long 0x78341730,0x7f1ed86c,0xb525e248,0x8ef5beb8,0xb74fbf38,0xbbc489fd,0x91a0b382,0x38a92a0e,0x22433ccf,0x7a77ba3f,0xa29f05a9,0xde8362d6,0x61189afc,0x7f6a30ea,0x59ef114f,0x693b5505
-.long 0xcd1797a1,0x50266bc0,0xf4b7af2d,0xea17b47e,0x3df9483e,0xd6c4025c,0xa37b18c9,0x8cbb9d9f,0x4d8424cf,0x91cbfd9c,0xab1c3506,0xdb7048f1,0x028206a3,0x9eaf641f,0x25bdf6ce,0xf986f3f9
-.long 0x224c08dc,0x262143b5,0x81b50c91,0x2bbb09b4,0xaca8c84f,0xc16ed709,0xb2850ca8,0xa6210d9d,0x09cb54d6,0x6d8df67a,0x500919a4,0x91eef6e0,0x0f132857,0x90f61381,0xf8d5028b,0x9acede47
-.long 0x90b771c3,0x844d1b71,0xba6426be,0x563b71e4,0xbdb802ff,0x2efa2e83,0xab5b4a41,0x3410cbab,0x30da84dd,0x555b2d26,0xee1cc29a,0xd0711ae9,0x2f547792,0xcf3e8c60,0xdc678b35,0x03d7d5de
-.long 0xced806b8,0x071a2fa8,0x697f1478,0x222e6134,0xabfcdbbf,0xdc16fd5d,0x121b53b8,0x44912ebf,0x2496c27c,0xac943674,0x1ffc26b0,0x8ea3176c,0x13debf2c,0xb6e224ac,0xf372a832,0x524cc235
-.long 0x9f6f1b18,0xd706e1d8,0x44cce35b,0x2552f005,0xa88e31fc,0x8c8326c2,0xf9552047,0xb5468b2c,0x3ff90f2b,0xce683e88,0x2f0a5423,0x77947bdf,0xed56e328,0xd0a1b28b,0xc20134ac,0xaee35253
-.long 0x3567962f,0x7e98367d,0x8188bffb,0x379ed61f,0xfaf130a1,0x73bba348,0x904ed734,0x6c1f75e1,0x3b4a79fc,0x18956642,0x54ef4493,0xf20bc83d,0x9111eca1,0x836d425d,0x009a8dcf,0xe5b5c318
-.long 0x13221bc5,0x3360b25d,0x6b3eeaf7,0x707baad2,0x743a95a1,0xd7279ed8,0x969e809f,0x7450a875,0xe5d0338f,0x32b6bd53,0x2b883bbc,0x1e77f7af,0x1063ecd0,0x90da12cc,0xc315be47,0xe2697b58
-.long 0xda85d534,0x2771a5bd,0xff980eea,0x53e78c1f,0x900385e7,0xadf1cf84,0xc9387b62,0x7d3b14f6,0xcb8f2bd2,0x170e74b0,0x827fa993,0x2d50b486,0xf6f32bab,0xcdbe8c9a,0xc3b93ab8,0x55e906b0
-.long 0x8fe280d1,0x747f22fc,0xb2e114ab,0xcd8e0de5,0xe10b68b0,0x5ab7dbeb,0xa480d4b2,0x9dc63a9c,0x4be1495f,0x78d4bc3b,0x9359122d,0x25eb3db8,0x0809cbdc,0x3f8ac05b,0xd37c702f,0xbf4187bb
-.long 0x1416a6a5,0x84cea069,0x43ef881c,0x8f860c79,0x38038a5d,0x41311f8a,0xfc612067,0xe78c2ec0,0x5ad73581,0x494d2e81,0x59604097,0xb4cc9e00,0xf3612cba,0xff558aec,0x9e36c39e,0x35beef7a
-.long 0xdbcf41b9,0x1845c7cf,0xaea997c0,0x5703662a,0xe402f6d8,0x8b925afe,0x4dd72162,0xd0a1b1ae,0x03c41c4b,0x9f47b375,0x0391d042,0xa023829b,0x503b8b0a,0x5f5045c3,0x98c010e5,0x123c2688
-.long 0x36ba06ee,0x324ec0cc,0x3dd2cc0c,0xface3115,0xf333e91f,0xb364f3be,0x28e832b0,0xef8aff73,0x2d05841b,0x1e9bad04,0x356a21e2,0x42f0e3df,0x4add627e,0xa3270bcb,0xd322e711,0xb09a8158
-.long 0x0fee104a,0x86e326a1,0x3703f65d,0xad7788f8,0x47bc4833,0x7e765430,0x2b9b893a,0x6cee582b,0xe8f55a7b,0x9cd2a167,0xd9e4190d,0xefbee3c6,0xd40c2e9d,0x33ee7185,0xa380b548,0x844cc9c5
-.long 0x66926e04,0x323f8ecd,0x8110c1ba,0x0001e38f,0xfc6a7f07,0x8dbcac12,0x0cec0827,0xd65e1d58,0xbe76ca2d,0xd2cd4141,0xe892f33a,0x7895cf5c,0x367139d2,0x956d230d,0xd012c4c1,0xa91abd3e
-.long 0x87eb36bf,0x34fa4883,0x914b8fb4,0xc5f07102,0xadb9c95f,0x90f0e579,0x28888195,0xfe6ea8cb,0xedfa9284,0x7b9b5065,0x2b8c8d65,0x6c510bd2,0xcbe8aafd,0xd7b8ebef,0x96b1da07,0xedb3af98
-.long 0x6295d426,0x28ff779d,0x3fa3ad7b,0x0c4f6ac7,0x8b8e2604,0xec44d054,0x8b0050e1,0x9b32a66d,0xf0476ce2,0x1f943366,0xa602c7b4,0x7554d953,0x524f2809,0xbe35aca6,0xfd4edbea,0xb6881229
-.long 0x508efb63,0xe8cd0c8f,0x6abcefc7,0x9eb5b5c8,0xb441ab4f,0xf5621f5f,0xb76a2b22,0x79e6c046,0xe37a1f69,0x74a4792c,0x03542b60,0xcbd252cb,0xb3c20bd3,0x785f65d5,0x4fabc60c,0x8dea6143
-.long 0xde673629,0x45e21446,0x703c2d21,0x57f7aa1e,0x98c868c7,0xa0e99b7f,0x8b641676,0x4e42f66d,0x91077896,0x602884dc,0xc2c9885b,0xa0d690cf,0x3b9a5187,0xfeb4da33,0x153c87ee,0x5f789598
-.long 0x52b16dba,0x2192dd47,0x3524c1b1,0xdeefc0e6,0xe4383693,0x465ea76e,0x361b8d98,0x79401711,0xf21a15cb,0xa5f9ace9,0xefee9aeb,0x73d26163,0xe677016c,0xcca844b3,0x57eaee06,0x6c122b07
-.long 0x15f09690,0xb782dce7,0x2dfc0fc9,0x508b9b12,0x65d89fc6,0x9015ab4b,0xd6d5bb0f,0x5e79dab7,0x6c775aa2,0x64f021f0,0x37c7eca1,0xdf09d8cc,0xef2fa506,0x9a761367,0x5b81eec6,0xed4ca476
-.long 0x10bbb8b5,0x262ede36,0x0641ada3,0x0737ce83,0xe9831ccc,0x4c94288a,0x8065e635,0x487fc1ce,0xb8bb3659,0xb13d7ab3,0x855e4120,0xdea5df3e,0x85eb0244,0xb9a18573,0xa7cfe0a3,0x1a1b8ea3
-.long 0x67b0867c,0x3b837119,0x9d364520,0x8d5e0d08,0xd930f0e3,0x52dccc1e,0xbf20bbaf,0xefbbcec7,0x0263ad10,0x99cffcab,0xfcd18f8a,0xd8199e6d,0xe9f10617,0x64e2773f,0x08704848,0x0079e8e1
-.long 0x8a342283,0x1169989f,0xa83012e6,0x8097799c,0x8a6a9001,0xece966cb,0x072ac7fc,0x93b3afef,0x2db3d5ba,0xe6893a2a,0x89bf4fdc,0x263dc462,0xe0396673,0x8852dfc9,0x3af362b6,0x7ac70895
-.long 0x5c2f342b,0xbb9cce4d,0xb52d7aae,0xbf80907a,0x2161bcd0,0x97f3d3cd,0x0962744d,0xb25b0834,0x6c3a1dda,0xc5b18ea5,0x06c92317,0xfe4ec7eb,0xad1c4afe,0xb787b890,0x0ede801a,0xdccd9a92
-.long 0xdb58da1f,0x9ac6ddda,0xb8cae6ee,0x22bbc12f,0x815c4a43,0xc6f8bced,0xf96480c7,0x8105a92c,0x7a859d51,0x0dc3dbf3,0x3041196b,0xe3ec7ce6,0x0d1067c9,0xd9f64b25,0x3d1f8dd8,0xf2321321
-.long 0x76497ee8,0x8b5c619c,0xc717370e,0x5d2b0ac6,0x4fcf68e1,0x98204cb6,0x62bc6792,0x0bdec211,0xa63b1011,0x6973ccef,0xe0de1ac5,0xf9e3fa97,0x3d0e0c8b,0x5efb693e,0xd2d4fcb4,0x037248e9
-.long 0x1ec34f9e,0x80802dc9,0x33810603,0xd8772d35,0x530cb4f3,0x3f06d66c,0xc475c129,0x7be5ed0d,0x31e82b10,0xcb9e3c19,0xc9ff6b4c,0xc63d2857,0x92a1b45e,0xb92118c6,0x7285bbca,0x0aec4414
-.long 0x1e29a3ef,0xfc189ae7,0x4c93302e,0xcbe906f0,0xceaae10e,0xd0107914,0xb68e19f8,0xb7a23f34,0xefd2119d,0xe9d875c2,0xfcadc9c8,0x03198c6e,0x4da17113,0x65591bf6,0x3d443038,0x3cf0bbf8
-.long 0x2b724759,0xae485bb7,0xb2d4c63a,0x945353e1,0xde7d6f2c,0x82159d07,0x4ec5b109,0x389caef3,0xdb65ef14,0x4a8ebb53,0xdd99de43,0x2dc2cb7e,0x83f2405f,0x816fa3ed,0xc14208a3,0x73429bb9
-.long 0xb01e6e27,0xb618d590,0xe180b2dc,0x047e2ccd,0x04aea4a9,0xd1b299b5,0x9fa403a4,0x412c9e1e,0x79407552,0x88d28a36,0xf332b8e3,0x49c50136,0xe668de19,0x3a1b6fcc,0x75122b97,0x178851bc
-.long 0xfb85fa4c,0xb1e13752,0x383c8ce9,0xd61257ce,0xd2f74dae,0xd43da670,0xbf846bbb,0xa35aa23f,0x4421fc83,0x5e74235d,0xc363473b,0xf6df8ee0,0x3c4aa158,0x34d7f52a,0x9bc6d22e,0x50d05aab
-.long 0xa64785f4,0x8c56e735,0x5f29cd07,0xbc56637b,0x3ee35067,0x53b2bb80,0xdc919270,0x50235a0f,0xf2c4aa65,0x191ab6d8,0x8396023b,0xc3475831,0xf0f805ba,0x80400ba5,0x5ec0f80f,0x8881065b
-.long 0xcc1b5e83,0xc370e522,0x860b8bfb,0xde2d4ad1,0x67b256df,0xad364df0,0xe0138997,0x8f12502e,0x7783920a,0x503fa0dc,0xc0bc866a,0xe80014ad,0xd3064ba6,0x3f89b744,0xcba5dba5,0x03511dcd
-.long 0x95a7b1a2,0x197dd46d,0x3c6341fb,0x9c4e7ad6,0x484c2ece,0x426eca29,0xde7f4f8a,0x9211e489,0xc78ef1f4,0x14997f6e,0x06574586,0x2b2c0910,0x1c3eede8,0x17286a6e,0x0f60e018,0x25f92e47
-.long 0x31890a36,0x805c5646,0x57feea5b,0x703ef600,0xaf3c3030,0x389f747c,0x54dd3739,0xe0e5daeb,0xc9c9f155,0xfe24a4c3,0xb5393962,0x7e4bf176,0xaf20bf29,0x37183de2,0xf95a8c3b,0x4a1bd7b5
-.long 0x46191d3d,0xa83b9699,0x7b87f257,0x281fc8dd,0x54107588,0xb18e2c13,0x9b2bafe8,0x6372def7,0x0d8972ca,0xdaf4bb48,0x56167a3f,0x3f2dd4b7,0x84310cf4,0x1eace32d,0xe42700aa,0xe3bcefaf
-.long 0xd785e73d,0x5fe5691e,0x2ea60467,0xa5db5ab6,0xdfc6514a,0x02e23d41,0xe03c3665,0x35e8048e,0x1adaa0f8,0x3f8b118f,0x84ce1a5a,0x28ec3b45,0x2c6646b8,0xe8cacc6e,0xdbd0e40f,0x1343d185
-.long 0xcaaa358c,0xe5d7f844,0x9924182a,0x1a1db7e4,0x9c875d9a,0xd64cd42d,0x042eeec8,0xb37b515f,0x7b165fbe,0x4d4dd409,0xe206eff3,0xfc322ed9,0x59b7e17e,0x7dee4102,0x8236ca00,0x55a481c0
-.long 0xc23fc975,0x8c885312,0x05d6297b,0x15715806,0xf78edd39,0xa078868e,0x03c45e52,0x956b31e0,0xff7b33a6,0x470275d5,0x0c7e673f,0xc8d5dc3a,0x7e2f2598,0x419227b4,0x4c14a975,0x8b37b634
-.long 0x8b11888c,0xd0667ed6,0x803e25dc,0x5e0e8c3e,0xb987a24a,0x34e5d0dc,0xae920323,0x9f40ac3b,0x34e0f63a,0x5463de95,0x6b6328f9,0xa128bf92,0xda64f1b7,0x491ccd7c,0xc47bde35,0x7ef1ec27
-.long 0xa36a2737,0xa857240f,0x63621bc1,0x35dc1366,0xd4fb6897,0x7a3a6453,0xc929319d,0x80f1a439,0xf8cb0ba0,0xfc18274b,0x8078c5eb,0xb0b53766,0x1e01d0ef,0xfb0d4924,0x372ab09c,0x50d7c67d
-.long 0x3aeac968,0xb4e370af,0xc4b63266,0xe4f7fee9,0xe3ac5664,0xb4acd4c2,0xceb38cbf,0xf8910bd2,0xc9c0726e,0x1c3ae50c,0xd97b40bf,0x15309569,0xfd5a5a1b,0x70884b7f,0xef8314cd,0x3890896a
-.long 0xa5618c93,0x58e1515c,0x77d942d1,0xe665432b,0xb6f767a8,0xb32181bf,0x3a604110,0x753794e8,0xe8c0dbcc,0x09afeb7c,0x598673a3,0x31e02613,0x7d46db00,0x5d98e557,0x9d985b28,0xfc21fb8c
-.long 0xb0843e0b,0xc9040116,0x69b04531,0x53b1b3a8,0x85d7d830,0xdd1649f0,0xcb7427e8,0xbb3bcc87,0xc93dce83,0x77261100,0xa1922a2a,0x7e79da61,0xf3149ce8,0x587a2b02,0xde92ec83,0x147e1384
-.long 0xaf077f30,0x484c83d3,0x0658b53a,0xea78f844,0x027aec53,0x912076c2,0x93c8177d,0xf34714e3,0xc2376c84,0x37ef5d15,0x3d1aa783,0x8315b659,0xef852a90,0x3a75c484,0x16086bd4,0x0ba0c58a
-.long 0x529a6d48,0x29688d7a,0xc2f19203,0x9c7f250d,0x682e2df9,0x123042fb,0xad8121bc,0x2b7587e7,0xe0182a65,0x30fc0233,0xe3e1128a,0xb82ecf87,0x93fb098f,0x71682861,0x85e9e6a7,0x043e21ae
-.long 0x66c834ea,0xab5b49d6,0x47414287,0x3be43e18,0x219a2a47,0xf40fb859,0xcc58df3c,0x0e6559e9,0x0c6615b4,0xfe1dfe8e,0x56459d70,0x14abc8fd,0x05de0386,0x7be0fa8e,0xe9035c7c,0x8e63ef68
-.long 0x53b31e91,0x116401b4,0x4436b4d8,0x0cba7ad4,0x107afd66,0x9151f9a0,0x1f0ee4c4,0xafaca8d0,0x9ee9761c,0x75fe5c1d,0xf0c0588f,0x3497a16b,0x0304804c,0x3ee2bebd,0xc2c990b9,0xa8fb9a60
-.long 0x39251114,0xd14d32fe,0xcac73366,0x36bf25bc,0xdba7495c,0xc9562c66,0x46ad348b,0x324d301b,0xd670407e,0x9f46620c,0xe3733a01,0x0ea8d4f1,0xb0c324e0,0xd396d532,0x03c317cd,0x5b211a0e
-.long 0x5ffe7b37,0x090d7d20,0x1747d2da,0x3b7f3efb,0xb54fc519,0xa2cb525f,0xf66a971e,0x6e220932,0xb486d440,0xddc160df,0x3fe13465,0x7fcfec46,0x76e4c151,0x83da7e4e,0xd8d302b5,0xd6fa48a1
-.long 0x5872cd88,0xc6304f26,0x278b90a1,0x806c1d3c,0xcaf0bc1c,0x3553e725,0xbb9d8d5c,0xff59e603,0x7a0b85dd,0xa4550f32,0x93ecc217,0xdec5720a,0x69d62213,0x0b88b741,0x5b365955,0x7212f245
-.long 0xb5cae787,0x20764111,0x1dfd3124,0x13cb7f58,0x1175aefb,0x2dca77da,0xffaae775,0xeb75466b,0xdb6cff32,0x74d76f3b,0x61fcda9a,0x7440f37a,0xb525028b,0x1bb3ac92,0xa1975f29,0x20fbf8f7
-.long 0xdf83097f,0x982692e1,0x554b0800,0x28738f6c,0xa2ce2f2f,0xdc703717,0x40814194,0x7913b93c,0x1fe89636,0x04924593,0xf78834a6,0x7b98443f,0x5114a5a1,0x11c6ab01,0xffba5f4c,0x60deb383
-.long 0x01a982e6,0x4caa54c6,0x3491cd26,0x1dd35e11,0x7cbd6b05,0x973c315f,0x52494724,0xcab00775,0x6565e15a,0x04659b1f,0x8c8fb026,0xbf30f529,0xa8a0de37,0xfc21641b,0xfa5e5114,0xe9c7a366
-.long 0x52f03ad8,0xdb849ca5,0x024e35c0,0xc7e8dbe9,0xcfc3c789,0xa1a2bbac,0x9c26f262,0xbf733e7d,0xb8444823,0x882ffbf5,0x6bf8483b,0xb7224e88,0x65bef640,0x53023b8b,0xd4d5f8cd,0xaabfec91
-.long 0x079ea1bd,0xa40e1510,0xd05d5d26,0x1ad9addc,0x13e68d4f,0xdb3f2eab,0x640f803f,0x1cff1ae2,0xd4cee117,0xe0e7b749,0x4036d909,0x8e9f275b,0x8f4d4c38,0xce34e31d,0xd75130fc,0x22b37f69
-.long 0xb4014604,0x83e0f1fd,0x89415078,0xa8ce9919,0x41792efe,0x82375b75,0x97d4515b,0x4f59bf5c,0x923a277d,0xac4f324f,0x650f3406,0xd9bc9b7d,0x8a39bc51,0xc6fa87d1,0x5ccc108f,0x82588530
-.long 0x82e4c634,0x5ced3c9f,0x3a4464f8,0x8efb8314,0x7a1dca25,0xe706381b,0x5a2a412b,0x6cd15a3c,0xbfcd8fb5,0x9347a8fd,0x6e54cd22,0x31db2eef,0xf8d8932f,0xc4aeb11e,0x344411af,0x11e7c1ed
-.long 0xdc9a151e,0x2653050c,0x3bb0a859,0x9edbfc08,0xfd5691e7,0x926c81c7,0x6f39019a,0x9c1b2342,0x7f8474b9,0x64a81c8b,0x01761819,0x90657c07,0x55e0375a,0x390b3331,0xb6ebc47d,0xc676c626
-.long 0xb7d6dee8,0x51623247,0x79659313,0x0948d927,0xe9ab35ed,0x99700161,0x8ddde408,0x06cc32b4,0x061ef338,0x6f2fd664,0xc202e9ed,0x1606fa02,0x929ba99b,0x55388bc1,0x1e81df69,0xc4428c5e
-.long 0xf91b0b2a,0xce2028ae,0xf03dfd3f,0xce870a23,0x0affe8ed,0x66ec2c87,0x284d0c00,0xb205fb46,0x44cefa48,0xbf5dffe7,0xa19876d7,0xb6fc37a8,0x08b72863,0xbecfa84c,0x2576374f,0xd7205ff5
-.long 0x8887de41,0x80330d32,0x869ea534,0x5de0df0c,0x3c56ea17,0x13f42753,0x452b1a78,0xeb1f6069,0xe30ea15c,0x50474396,0xc1494125,0x575816a1,0xfe6bb38f,0xbe1ce55b,0x96ae30f7,0xb901a948
-.long 0xd8fc3548,0xe5af0f08,0xd73bfd08,0x5010b5d0,0x53fe655a,0x993d2880,0x1c1309fd,0x99f2630b,0xb4e3b76f,0xd8677baf,0xb840784b,0x14e51ddc,0xbf0092ce,0x326c750c,0xf528320f,0xc83d306b
-.long 0x77d4715c,0xc4456715,0x6b703235,0xd30019f9,0xd669e986,0x207ccb2e,0xf6dbfc28,0x57c824af,0xd8f92a23,0xf0eb532f,0x9bb98fd2,0x4a557fd4,0xc1e6199a,0xa57acea7,0x8b94b1ed,0x0c663820
-.long 0xf83a9266,0x9b42be8f,0x0101bd45,0xc7741c97,0x07bd9ceb,0x95770c11,0x8b2e0744,0x1f50250a,0x1477b654,0xf762eec8,0x15efe59a,0xc65b900e,0x9546a897,0x88c96148,0xc30b4d7c,0x7e8025b3
-.long 0x12045cf9,0xae4065ef,0x9ccce8bd,0x6fcb2caf,0xf2cf6525,0x1fa0ba4e,0xcb72c312,0xf683125d,0xe312410e,0xa01da4ea,0x6cd8e830,0x67e28677,0x98fb3f07,0xabd95752,0xeef649a5,0x05f11e11
-.long 0x9d3472c2,0xba47faef,0xc77d1345,0x3adff697,0xdd15afee,0x4761fa04,0xb9e69462,0x64f1f61a,0x9bfb9093,0xfa691fab,0xa1133dfe,0x3df8ae8f,0x58cc710d,0xcd5f8967,0x16c7fe79,0xfbb88d50
-.long 0xe88c50d1,0x8e011b4c,0xa8771c4f,0x7532e807,0xe2278ee4,0x64c78a48,0x3845072a,0x0b283e83,0x49e69274,0x98a6f291,0x1868b21c,0xb96e9668,0xb1a8908e,0x38f0adc2,0x1feb829d,0x90afcff7
-.long 0x210b0856,0x9915a383,0xdef04889,0xa5a80602,0x7c64d509,0x800e9af9,0xb8996f6f,0x81382d0b,0x81927e27,0x490eba53,0x4af50182,0x46c63b32,0xd3ad62ce,0x784c5fd9,0xf8ae8736,0xe4fa1870
-.long 0xd7466b25,0x4ec9d0bc,0xdb235c65,0x84ddbe1a,0x163c1688,0x5e2645ee,0x00eba747,0x570bd00e,0x128bfa0f,0xfa51b629,0x6c1d3b68,0x92fce1bd,0xb66778b1,0x3e7361dc,0x5561d2bb,0x9c7d249d
-.long 0x0bbc6229,0xa40b28bf,0xdfd91497,0x1c83c05e,0xf083df05,0x5f9f5154,0xeee66c9d,0xbac38b3c,0xec0dfcfd,0xf71db7e3,0x8b0a8416,0xf2ecda8e,0x7812aa66,0x52fddd86,0x4e6f4272,0x2896ef10
-.long 0x0fe9a745,0xff27186a,0x49ca70db,0x08249fcd,0x441cac49,0x7425a2e6,0xece5ff57,0xf4a0885a,0x7d7ead58,0x6e2cb731,0x1898d104,0xf96cf7d6,0x4f2c9a89,0xafe67c9d,0x1c7bf5bc,0x89895a50
-.long 0x573cecfa,0xdc7cb8e5,0xd15f03e6,0x66497eae,0x3f084420,0x6bc0de69,0xacd532b0,0x323b9b36,0x0115a3c1,0xcfed390a,0x2d65ca0e,0x9414c40b,0x2f530c78,0x641406bd,0x833438f2,0x29369a44
-.long 0x903fa271,0x996884f5,0xb9da921e,0xe6da0fd2,0x5db01e54,0xa6f2f269,0x6876214e,0x1ee3e9bd,0xe27a9497,0xa26e181c,0x8e215e04,0x36d254e4,0x252cabca,0x42f32a6c,0x80b57614,0x99481487
-.long 0x40d9cae1,0x4c4dfe69,0x11a10f09,0x05869580,0x3491b64b,0xca287b57,0x3fd4a53b,0x77862d5d,0x50349126,0xbf94856e,0x71c5268f,0x2be30bd1,0xcbb650a6,0x10393f19,0x778cf9fd,0x639531fe
-.long 0xb2935359,0x02556a11,0xaf8c126e,0xda38aa96,0x0960167f,0x47dbe6c2,0x501901cd,0x37bbabb6,0x2c947778,0xb6e979e0,0x7a1a1dc6,0xd69a5175,0x9d9faf0c,0xc3ed5095,0x1d5fa5f0,0x4dd9c096
-.long 0x64f16ea8,0xa0c4304d,0x7e718623,0x8b1cac16,0x7c67f03e,0x0b576546,0xcbd88c01,0x559cf5ad,0x0e2af19a,0x074877bb,0xa1228c92,0x1f717ec1,0x326e8920,0x70bcb800,0x4f312804,0xec6e2c5c
-.long 0x3fca4752,0x426aea7d,0x2211f62a,0xf12c0949,0x7be7b6b5,0x24beecd8,0x36d7a27d,0xb77eaf4c,0xfda78fd3,0x154c2781,0x264eeabe,0x848a83b0,0x4ffe2bc4,0x81287ef0,0xb6b6fc2a,0x7b6d88c6
-.long 0xce417d99,0x805fb947,0x8b916cc4,0x4b93dcc3,0x21273323,0x72e65bb3,0x6ea9886e,0xbcc1badd,0x4bc5ee85,0x0e223011,0xc18ee1e4,0xa561be74,0xa6bcf1f1,0x762fd2d4,0x95231489,0x50e6a5a4
-.long 0xa00b500b,0xca96001f,0x5d7dcdf5,0x5c098cfc,0x8c446a85,0xa64e2d2e,0x971f3c62,0xbae9bcf1,0x8435a2c5,0x4ec22683,0x4bad4643,0x8ceaed6c,0xccccf4e3,0xe9f8fb47,0x1ce3b21e,0xbd4f3fa4
-.long 0xa3db3292,0xd79fb110,0xb536c66a,0xe28a37da,0x8e49e6a9,0x279ce87b,0xfdcec8e3,0x70ccfe8d,0x3ba464b2,0x2193e4e0,0xaca9a398,0x0f39d60e,0xf82c12ab,0x7d7932af,0x91e7e0f7,0xd8ff50ed
-.long 0xfa28a7e0,0xea961058,0x0bf5ec74,0xc726cf25,0xdb229666,0xe74d55c8,0xa57f5799,0x0bd9abbf,0x4dfc47b3,0x7479ef07,0x0c52f91d,0xd9c65fc3,0x36a8bde2,0x8e0283fe,0x7d4b7280,0xa32a8b5e
-.long 0x12e83233,0x6a677c61,0xdcc9bf28,0x0fbb3512,0x0d780f61,0x562e8ea5,0x1dc4e89c,0x0db8b22b,0x89be0144,0x0a6fd1fb,0xca57113b,0x8c77d246,0xff09c91c,0x4639075d,0x5060824c,0x5b47b17f
-.long 0x16287b52,0x58aea2b0,0xd0cd8eb0,0xa1343520,0xc5d58573,0x6148b4d0,0x291c68ae,0xdd2b6170,0x1da3b3b7,0xa61b3929,0x08c4ac10,0x5f946d79,0x7217d583,0x4105d4a5,0x25e6de5e,0x5061da3d
-.long 0xec1b4991,0x3113940d,0x36f485ae,0xf12195e1,0x731a2ee0,0xa7507fb2,0x6e9e196e,0x95057a8e,0x2e130136,0xa3c2c911,0x33c60d15,0x97dfbb36,0xb300ee2b,0xcaf3c581,0xf4bac8b8,0x77f25d90
-.long 0x6d840cd6,0xdb1c4f98,0xe634288c,0x471d62c0,0xcec8a161,0x8ec2f85e,0xfa6f4ae2,0x41f37cbc,0x4b709985,0x6793a20f,0xefa8985b,0x7a7bd33b,0x938e6446,0x2c6a3fbd,0x2a8d47c1,0x19042619
-.long 0xcc36975f,0x16848667,0x9d5f1dfb,0x02acf168,0x613baa94,0x62d41ad4,0x9f684670,0xb56fbb92,0xe9e40569,0xce610d0d,0x35489fef,0x7b99c65f,0x3df18b97,0x0c88ad1b,0x5d0e9edb,0x81b7d9be
-.long 0xc716cc0a,0xd85218c0,0x85691c49,0xf4b5ff90,0xce356ac6,0xa4fd666b,0x4b327a7a,0x17c72895,0xda6be7de,0xf93d5085,0x3301d34e,0xff71530e,0xd8f448e8,0x4cd96442,0x2ed18ffa,0x9283d331
-.long 0x2a849870,0x4d33dd99,0x41576335,0xa716964b,0x179be0e5,0xff5e3a9b,0x83b13632,0x5b9d6b1b,0xa52f313b,0x3b8bd7d4,0x637a4660,0xc9dd95a0,0x0b3e218f,0x30035962,0xc7b28a3c,0xce1481a3
-.long 0x43228d83,0xab41b43a,0x4ad63f99,0x24ae1c30,0x46a51229,0x8e525f1a,0xcd26d2b4,0x14af860f,0x3f714aa1,0xd6baef61,0xeb78795e,0xf51865ad,0xe6a9d694,0xd3e21fce,0x8a37b527,0x82ceb1dd
-.size ecp_nistz256_precomputed,.-ecp_nistz256_precomputed
-.text
-
-
-
-.align 64
-.Lpoly:
-.quad 0xffffffffffffffff, 0x00000000ffffffff, 0x0000000000000000, 0xffffffff00000001
-
-
-.LRR:
-.quad 0x0000000000000003, 0xfffffffbffffffff, 0xfffffffffffffffe, 0x00000004fffffffd
-
-.LOne:
-.long 1,1,1,1,1,1,1,1
-.LTwo:
-.long 2,2,2,2,2,2,2,2
-.LThree:
-.long 3,3,3,3,3,3,3,3
-.LONE_mont:
-.quad 0x0000000000000001, 0xffffffff00000000, 0xffffffffffffffff, 0x00000000fffffffe
-
-.globl ecp_nistz256_mul_by_2
-.type ecp_nistz256_mul_by_2,@function
-.align 64
-ecp_nistz256_mul_by_2:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lmul_by_2_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- addq %r8,%r8
- movq 16(%rsi),%r10
- adcq %r9,%r9
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
- movq %r8,%rax
- adcq %r10,%r10
- adcq %r11,%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq 0(%rsi),%r8
- movq %r10,%rcx
- sbbq 8(%rsi),%r9
- sbbq 16(%rsi),%r10
- movq %r11,%r12
- sbbq 24(%rsi),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- movq %r8,0(%rdi)
- cmovcq %rcx,%r10
- movq %r9,8(%rdi)
- cmovcq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lmul_by_2_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_mul_by_2,.-ecp_nistz256_mul_by_2
-
-
-
-.globl ecp_nistz256_div_by_2
-.type ecp_nistz256_div_by_2,@function
-.align 32
-ecp_nistz256_div_by_2:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Ldiv_by_2_body:
-
- movq 0(%rsi),%r8
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq %r8,%rax
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
-
- movq %r9,%rdx
- xorq %r13,%r13
- addq 0(%rsi),%r8
- movq %r10,%rcx
- adcq 8(%rsi),%r9
- adcq 16(%rsi),%r10
- movq %r11,%r12
- adcq 24(%rsi),%r11
- adcq $0,%r13
- xorq %rsi,%rsi
- testq $1,%rax
-
- cmovzq %rax,%r8
- cmovzq %rdx,%r9
- cmovzq %rcx,%r10
- cmovzq %r12,%r11
- cmovzq %rsi,%r13
-
- movq %r9,%rax
- shrq $1,%r8
- shlq $63,%rax
- movq %r10,%rdx
- shrq $1,%r9
- orq %rax,%r8
- shlq $63,%rdx
- movq %r11,%rcx
- shrq $1,%r10
- orq %rdx,%r9
- shlq $63,%rcx
- shrq $1,%r11
- shlq $63,%r13
- orq %rcx,%r10
- orq %r13,%r11
-
- movq %r8,0(%rdi)
- movq %r9,8(%rdi)
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Ldiv_by_2_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_div_by_2,.-ecp_nistz256_div_by_2
-
-
-
-.globl ecp_nistz256_mul_by_3
-.type ecp_nistz256_mul_by_3,@function
-.align 32
-ecp_nistz256_mul_by_3:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lmul_by_3_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- addq %r8,%r8
- movq 16(%rsi),%r10
- adcq %r9,%r9
- movq 24(%rsi),%r11
- movq %r8,%rax
- adcq %r10,%r10
- adcq %r11,%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq $-1,%r8
- movq %r10,%rcx
- sbbq .Lpoly+8(%rip),%r9
- sbbq $0,%r10
- movq %r11,%r12
- sbbq .Lpoly+24(%rip),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- cmovcq %rcx,%r10
- cmovcq %r12,%r11
-
- xorq %r13,%r13
- addq 0(%rsi),%r8
- adcq 8(%rsi),%r9
- movq %r8,%rax
- adcq 16(%rsi),%r10
- adcq 24(%rsi),%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq $-1,%r8
- movq %r10,%rcx
- sbbq .Lpoly+8(%rip),%r9
- sbbq $0,%r10
- movq %r11,%r12
- sbbq .Lpoly+24(%rip),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- movq %r8,0(%rdi)
- cmovcq %rcx,%r10
- movq %r9,8(%rdi)
- cmovcq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lmul_by_3_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_mul_by_3,.-ecp_nistz256_mul_by_3
-
-
-
-.globl ecp_nistz256_add
-.type ecp_nistz256_add,@function
-.align 32
-ecp_nistz256_add:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Ladd_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
-
- addq 0(%rdx),%r8
- adcq 8(%rdx),%r9
- movq %r8,%rax
- adcq 16(%rdx),%r10
- adcq 24(%rdx),%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq 0(%rsi),%r8
- movq %r10,%rcx
- sbbq 8(%rsi),%r9
- sbbq 16(%rsi),%r10
- movq %r11,%r12
- sbbq 24(%rsi),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- movq %r8,0(%rdi)
- cmovcq %rcx,%r10
- movq %r9,8(%rdi)
- cmovcq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Ladd_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_add,.-ecp_nistz256_add
-
-
-
-.globl ecp_nistz256_sub
-.type ecp_nistz256_sub,@function
-.align 32
-ecp_nistz256_sub:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lsub_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
-
- subq 0(%rdx),%r8
- sbbq 8(%rdx),%r9
- movq %r8,%rax
- sbbq 16(%rdx),%r10
- sbbq 24(%rdx),%r11
- movq %r9,%rdx
- sbbq $0,%r13
-
- addq 0(%rsi),%r8
- movq %r10,%rcx
- adcq 8(%rsi),%r9
- adcq 16(%rsi),%r10
- movq %r11,%r12
- adcq 24(%rsi),%r11
- testq %r13,%r13
-
- cmovzq %rax,%r8
- cmovzq %rdx,%r9
- movq %r8,0(%rdi)
- cmovzq %rcx,%r10
- movq %r9,8(%rdi)
- cmovzq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lsub_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_sub,.-ecp_nistz256_sub
-
-
-
-.globl ecp_nistz256_neg
-.type ecp_nistz256_neg,@function
-.align 32
-ecp_nistz256_neg:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lneg_body:
-
- xorq %r8,%r8
- xorq %r9,%r9
- xorq %r10,%r10
- xorq %r11,%r11
- xorq %r13,%r13
-
- subq 0(%rsi),%r8
- sbbq 8(%rsi),%r9
- sbbq 16(%rsi),%r10
- movq %r8,%rax
- sbbq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
- movq %r9,%rdx
- sbbq $0,%r13
-
- addq 0(%rsi),%r8
- movq %r10,%rcx
- adcq 8(%rsi),%r9
- adcq 16(%rsi),%r10
- movq %r11,%r12
- adcq 24(%rsi),%r11
- testq %r13,%r13
-
- cmovzq %rax,%r8
- cmovzq %rdx,%r9
- movq %r8,0(%rdi)
- cmovzq %rcx,%r10
- movq %r9,8(%rdi)
- cmovzq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lneg_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_neg,.-ecp_nistz256_neg
-
-
-
-
-.globl ecp_nistz256_to_mont
-.type ecp_nistz256_to_mont,@function
-.align 32
-ecp_nistz256_to_mont:
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- leaq .LRR(%rip),%rdx
- jmp .Lmul_mont
-.size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont
-
-
-
-
-
-
-
-.globl ecp_nistz256_mul_mont
-.type ecp_nistz256_mul_mont,@function
-.align 32
-ecp_nistz256_mul_mont:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
-.Lmul_mont:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
-.Lmul_body:
- cmpl $0x80100,%ecx
- je .Lmul_montx
- movq %rdx,%rbx
- movq 0(%rdx),%rax
- movq 0(%rsi),%r9
- movq 8(%rsi),%r10
- movq 16(%rsi),%r11
- movq 24(%rsi),%r12
-
- call __ecp_nistz256_mul_montq
- jmp .Lmul_mont_done
-
-.align 32
-.Lmul_montx:
- movq %rdx,%rbx
- movq 0(%rdx),%rdx
- movq 0(%rsi),%r9
- movq 8(%rsi),%r10
- movq 16(%rsi),%r11
- movq 24(%rsi),%r12
- leaq -128(%rsi),%rsi
-
- call __ecp_nistz256_mul_montx
-.Lmul_mont_done:
- movq 0(%rsp),%r15
-.cfi_restore %r15
- movq 8(%rsp),%r14
-.cfi_restore %r14
- movq 16(%rsp),%r13
-.cfi_restore %r13
- movq 24(%rsp),%r12
-.cfi_restore %r12
- movq 32(%rsp),%rbx
-.cfi_restore %rbx
- movq 40(%rsp),%rbp
-.cfi_restore %rbp
- leaq 48(%rsp),%rsp
-.cfi_adjust_cfa_offset -48
-.Lmul_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_mul_mont,.-ecp_nistz256_mul_mont
-
-.type __ecp_nistz256_mul_montq,@function
-.align 32
-__ecp_nistz256_mul_montq:
-
-
- movq %rax,%rbp
- mulq %r9
- movq .Lpoly+8(%rip),%r14
- movq %rax,%r8
- movq %rbp,%rax
- movq %rdx,%r9
-
- mulq %r10
- movq .Lpoly+24(%rip),%r15
- addq %rax,%r9
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%r10
-
- mulq %r11
- addq %rax,%r10
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%r11
-
- mulq %r12
- addq %rax,%r11
- movq %r8,%rax
- adcq $0,%rdx
- xorq %r13,%r13
- movq %rdx,%r12
-
-
-
-
-
-
-
-
-
-
- movq %r8,%rbp
- shlq $32,%r8
- mulq %r15
- shrq $32,%rbp
- addq %r8,%r9
- adcq %rbp,%r10
- adcq %rax,%r11
- movq 8(%rbx),%rax
- adcq %rdx,%r12
- adcq $0,%r13
- xorq %r8,%r8
-
-
-
- movq %rax,%rbp
- mulq 0(%rsi)
- addq %rax,%r9
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 8(%rsi)
- addq %rcx,%r10
- adcq $0,%rdx
- addq %rax,%r10
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 16(%rsi)
- addq %rcx,%r11
- adcq $0,%rdx
- addq %rax,%r11
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 24(%rsi)
- addq %rcx,%r12
- adcq $0,%rdx
- addq %rax,%r12
- movq %r9,%rax
- adcq %rdx,%r13
- adcq $0,%r8
-
-
-
- movq %r9,%rbp
- shlq $32,%r9
- mulq %r15
- shrq $32,%rbp
- addq %r9,%r10
- adcq %rbp,%r11
- adcq %rax,%r12
- movq 16(%rbx),%rax
- adcq %rdx,%r13
- adcq $0,%r8
- xorq %r9,%r9
-
-
-
- movq %rax,%rbp
- mulq 0(%rsi)
- addq %rax,%r10
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 8(%rsi)
- addq %rcx,%r11
- adcq $0,%rdx
- addq %rax,%r11
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 16(%rsi)
- addq %rcx,%r12
- adcq $0,%rdx
- addq %rax,%r12
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 24(%rsi)
- addq %rcx,%r13
- adcq $0,%rdx
- addq %rax,%r13
- movq %r10,%rax
- adcq %rdx,%r8
- adcq $0,%r9
-
-
-
- movq %r10,%rbp
- shlq $32,%r10
- mulq %r15
- shrq $32,%rbp
- addq %r10,%r11
- adcq %rbp,%r12
- adcq %rax,%r13
- movq 24(%rbx),%rax
- adcq %rdx,%r8
- adcq $0,%r9
- xorq %r10,%r10
-
-
-
- movq %rax,%rbp
- mulq 0(%rsi)
- addq %rax,%r11
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 8(%rsi)
- addq %rcx,%r12
- adcq $0,%rdx
- addq %rax,%r12
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 16(%rsi)
- addq %rcx,%r13
- adcq $0,%rdx
- addq %rax,%r13
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 24(%rsi)
- addq %rcx,%r8
- adcq $0,%rdx
- addq %rax,%r8
- movq %r11,%rax
- adcq %rdx,%r9
- adcq $0,%r10
-
-
-
- movq %r11,%rbp
- shlq $32,%r11
- mulq %r15
- shrq $32,%rbp
- addq %r11,%r12
- adcq %rbp,%r13
- movq %r12,%rcx
- adcq %rax,%r8
- adcq %rdx,%r9
- movq %r13,%rbp
- adcq $0,%r10
-
-
-
- subq $-1,%r12
- movq %r8,%rbx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%rdx
- sbbq %r15,%r9
- sbbq $0,%r10
-
- cmovcq %rcx,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rbx,%r8
- movq %r13,8(%rdi)
- cmovcq %rdx,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_montq,.-__ecp_nistz256_mul_montq
-
-
-
-
-
-
-
-
-.globl ecp_nistz256_sqr_mont
-.type ecp_nistz256_sqr_mont,@function
-.align 32
-ecp_nistz256_sqr_mont:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
-.Lsqr_body:
- cmpl $0x80100,%ecx
- je .Lsqr_montx
- movq 0(%rsi),%rax
- movq 8(%rsi),%r14
- movq 16(%rsi),%r15
- movq 24(%rsi),%r8
-
- call __ecp_nistz256_sqr_montq
- jmp .Lsqr_mont_done
-
-.align 32
-.Lsqr_montx:
- movq 0(%rsi),%rdx
- movq 8(%rsi),%r14
- movq 16(%rsi),%r15
- movq 24(%rsi),%r8
- leaq -128(%rsi),%rsi
-
- call __ecp_nistz256_sqr_montx
-.Lsqr_mont_done:
- movq 0(%rsp),%r15
-.cfi_restore %r15
- movq 8(%rsp),%r14
-.cfi_restore %r14
- movq 16(%rsp),%r13
-.cfi_restore %r13
- movq 24(%rsp),%r12
-.cfi_restore %r12
- movq 32(%rsp),%rbx
-.cfi_restore %rbx
- movq 40(%rsp),%rbp
-.cfi_restore %rbp
- leaq 48(%rsp),%rsp
-.cfi_adjust_cfa_offset -48
-.Lsqr_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_sqr_mont,.-ecp_nistz256_sqr_mont
-
-.type __ecp_nistz256_sqr_montq,@function
-.align 32
-__ecp_nistz256_sqr_montq:
- movq %rax,%r13
- mulq %r14
- movq %rax,%r9
- movq %r15,%rax
- movq %rdx,%r10
-
- mulq %r13
- addq %rax,%r10
- movq %r8,%rax
- adcq $0,%rdx
- movq %rdx,%r11
-
- mulq %r13
- addq %rax,%r11
- movq %r15,%rax
- adcq $0,%rdx
- movq %rdx,%r12
-
-
- mulq %r14
- addq %rax,%r11
- movq %r8,%rax
- adcq $0,%rdx
- movq %rdx,%rbp
-
- mulq %r14
- addq %rax,%r12
- movq %r8,%rax
- adcq $0,%rdx
- addq %rbp,%r12
- movq %rdx,%r13
- adcq $0,%r13
-
-
- mulq %r15
- xorq %r15,%r15
- addq %rax,%r13
- movq 0(%rsi),%rax
- movq %rdx,%r14
- adcq $0,%r14
-
- addq %r9,%r9
- adcq %r10,%r10
- adcq %r11,%r11
- adcq %r12,%r12
- adcq %r13,%r13
- adcq %r14,%r14
- adcq $0,%r15
-
- mulq %rax
- movq %rax,%r8
- movq 8(%rsi),%rax
- movq %rdx,%rcx
-
- mulq %rax
- addq %rcx,%r9
- adcq %rax,%r10
- movq 16(%rsi),%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq %rax
- addq %rcx,%r11
- adcq %rax,%r12
- movq 24(%rsi),%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq %rax
- addq %rcx,%r13
- adcq %rax,%r14
- movq %r8,%rax
- adcq %rdx,%r15
-
- movq .Lpoly+8(%rip),%rsi
- movq .Lpoly+24(%rip),%rbp
-
-
-
-
- movq %r8,%rcx
- shlq $32,%r8
- mulq %rbp
- shrq $32,%rcx
- addq %r8,%r9
- adcq %rcx,%r10
- adcq %rax,%r11
- movq %r9,%rax
- adcq $0,%rdx
-
-
-
- movq %r9,%rcx
- shlq $32,%r9
- movq %rdx,%r8
- mulq %rbp
- shrq $32,%rcx
- addq %r9,%r10
- adcq %rcx,%r11
- adcq %rax,%r8
- movq %r10,%rax
- adcq $0,%rdx
-
-
-
- movq %r10,%rcx
- shlq $32,%r10
- movq %rdx,%r9
- mulq %rbp
- shrq $32,%rcx
- addq %r10,%r11
- adcq %rcx,%r8
- adcq %rax,%r9
- movq %r11,%rax
- adcq $0,%rdx
-
-
-
- movq %r11,%rcx
- shlq $32,%r11
- movq %rdx,%r10
- mulq %rbp
- shrq $32,%rcx
- addq %r11,%r8
- adcq %rcx,%r9
- adcq %rax,%r10
- adcq $0,%rdx
- xorq %r11,%r11
-
-
-
- addq %r8,%r12
- adcq %r9,%r13
- movq %r12,%r8
- adcq %r10,%r14
- adcq %rdx,%r15
- movq %r13,%r9
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r14,%r10
- sbbq %rsi,%r13
- sbbq $0,%r14
- movq %r15,%rcx
- sbbq %rbp,%r15
- sbbq $0,%r11
-
- cmovcq %r8,%r12
- cmovcq %r9,%r13
- movq %r12,0(%rdi)
- cmovcq %r10,%r14
- movq %r13,8(%rdi)
- cmovcq %rcx,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sqr_montq,.-__ecp_nistz256_sqr_montq
-.type __ecp_nistz256_mul_montx,@function
-.align 32
-__ecp_nistz256_mul_montx:
-
-
- mulxq %r9,%r8,%r9
- mulxq %r10,%rcx,%r10
- movq $32,%r14
- xorq %r13,%r13
- mulxq %r11,%rbp,%r11
- movq .Lpoly+24(%rip),%r15
- adcq %rcx,%r9
- mulxq %r12,%rcx,%r12
- movq %r8,%rdx
- adcq %rbp,%r10
- shlxq %r14,%r8,%rbp
- adcq %rcx,%r11
- shrxq %r14,%r8,%rcx
- adcq $0,%r12
-
-
-
- addq %rbp,%r9
- adcq %rcx,%r10
-
- mulxq %r15,%rcx,%rbp
- movq 8(%rbx),%rdx
- adcq %rcx,%r11
- adcq %rbp,%r12
- adcq $0,%r13
- xorq %r8,%r8
-
-
-
- mulxq 0+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r9
- adoxq %rbp,%r10
-
- mulxq 8+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r10
- adoxq %rbp,%r11
-
- mulxq 16+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq 24+128(%rsi),%rcx,%rbp
- movq %r9,%rdx
- adcxq %rcx,%r12
- shlxq %r14,%r9,%rcx
- adoxq %rbp,%r13
- shrxq %r14,%r9,%rbp
-
- adcxq %r8,%r13
- adoxq %r8,%r8
- adcq $0,%r8
-
-
-
- addq %rcx,%r10
- adcq %rbp,%r11
-
- mulxq %r15,%rcx,%rbp
- movq 16(%rbx),%rdx
- adcq %rcx,%r12
- adcq %rbp,%r13
- adcq $0,%r8
- xorq %r9,%r9
-
-
-
- mulxq 0+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r10
- adoxq %rbp,%r11
-
- mulxq 8+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq 16+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r12
- adoxq %rbp,%r13
-
- mulxq 24+128(%rsi),%rcx,%rbp
- movq %r10,%rdx
- adcxq %rcx,%r13
- shlxq %r14,%r10,%rcx
- adoxq %rbp,%r8
- shrxq %r14,%r10,%rbp
-
- adcxq %r9,%r8
- adoxq %r9,%r9
- adcq $0,%r9
-
-
-
- addq %rcx,%r11
- adcq %rbp,%r12
-
- mulxq %r15,%rcx,%rbp
- movq 24(%rbx),%rdx
- adcq %rcx,%r13
- adcq %rbp,%r8
- adcq $0,%r9
- xorq %r10,%r10
-
-
-
- mulxq 0+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq 8+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r12
- adoxq %rbp,%r13
-
- mulxq 16+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r13
- adoxq %rbp,%r8
-
- mulxq 24+128(%rsi),%rcx,%rbp
- movq %r11,%rdx
- adcxq %rcx,%r8
- shlxq %r14,%r11,%rcx
- adoxq %rbp,%r9
- shrxq %r14,%r11,%rbp
-
- adcxq %r10,%r9
- adoxq %r10,%r10
- adcq $0,%r10
-
-
-
- addq %rcx,%r12
- adcq %rbp,%r13
-
- mulxq %r15,%rcx,%rbp
- movq %r12,%rbx
- movq .Lpoly+8(%rip),%r14
- adcq %rcx,%r8
- movq %r13,%rdx
- adcq %rbp,%r9
- adcq $0,%r10
-
-
-
- xorl %eax,%eax
- movq %r8,%rcx
- sbbq $-1,%r12
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%rbp
- sbbq %r15,%r9
- sbbq $0,%r10
-
- cmovcq %rbx,%r12
- cmovcq %rdx,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %rbp,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_montx,.-__ecp_nistz256_mul_montx
-
-.type __ecp_nistz256_sqr_montx,@function
-.align 32
-__ecp_nistz256_sqr_montx:
- mulxq %r14,%r9,%r10
- mulxq %r15,%rcx,%r11
- xorl %eax,%eax
- adcq %rcx,%r10
- mulxq %r8,%rbp,%r12
- movq %r14,%rdx
- adcq %rbp,%r11
- adcq $0,%r12
- xorq %r13,%r13
-
-
- mulxq %r15,%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq %r8,%rcx,%rbp
- movq %r15,%rdx
- adcxq %rcx,%r12
- adoxq %rbp,%r13
- adcq $0,%r13
-
-
- mulxq %r8,%rcx,%r14
- movq 0+128(%rsi),%rdx
- xorq %r15,%r15
- adcxq %r9,%r9
- adoxq %rcx,%r13
- adcxq %r10,%r10
- adoxq %r15,%r14
-
- mulxq %rdx,%r8,%rbp
- movq 8+128(%rsi),%rdx
- adcxq %r11,%r11
- adoxq %rbp,%r9
- adcxq %r12,%r12
- mulxq %rdx,%rcx,%rax
- movq 16+128(%rsi),%rdx
- adcxq %r13,%r13
- adoxq %rcx,%r10
- adcxq %r14,%r14
-.byte 0x67
- mulxq %rdx,%rcx,%rbp
- movq 24+128(%rsi),%rdx
- adoxq %rax,%r11
- adcxq %r15,%r15
- adoxq %rcx,%r12
- movq $32,%rsi
- adoxq %rbp,%r13
-.byte 0x67,0x67
- mulxq %rdx,%rcx,%rax
- movq .Lpoly+24(%rip),%rdx
- adoxq %rcx,%r14
- shlxq %rsi,%r8,%rcx
- adoxq %rax,%r15
- shrxq %rsi,%r8,%rax
- movq %rdx,%rbp
-
-
- addq %rcx,%r9
- adcq %rax,%r10
-
- mulxq %r8,%rcx,%r8
- adcq %rcx,%r11
- shlxq %rsi,%r9,%rcx
- adcq $0,%r8
- shrxq %rsi,%r9,%rax
-
-
- addq %rcx,%r10
- adcq %rax,%r11
-
- mulxq %r9,%rcx,%r9
- adcq %rcx,%r8
- shlxq %rsi,%r10,%rcx
- adcq $0,%r9
- shrxq %rsi,%r10,%rax
-
-
- addq %rcx,%r11
- adcq %rax,%r8
-
- mulxq %r10,%rcx,%r10
- adcq %rcx,%r9
- shlxq %rsi,%r11,%rcx
- adcq $0,%r10
- shrxq %rsi,%r11,%rax
-
-
- addq %rcx,%r8
- adcq %rax,%r9
-
- mulxq %r11,%rcx,%r11
- adcq %rcx,%r10
- adcq $0,%r11
-
- xorq %rdx,%rdx
- addq %r8,%r12
- movq .Lpoly+8(%rip),%rsi
- adcq %r9,%r13
- movq %r12,%r8
- adcq %r10,%r14
- adcq %r11,%r15
- movq %r13,%r9
- adcq $0,%rdx
-
- subq $-1,%r12
- movq %r14,%r10
- sbbq %rsi,%r13
- sbbq $0,%r14
- movq %r15,%r11
- sbbq %rbp,%r15
- sbbq $0,%rdx
-
- cmovcq %r8,%r12
- cmovcq %r9,%r13
- movq %r12,0(%rdi)
- cmovcq %r10,%r14
- movq %r13,8(%rdi)
- cmovcq %r11,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sqr_montx,.-__ecp_nistz256_sqr_montx
-
-
-
-
-
-
-.globl ecp_nistz256_from_mont
-.type ecp_nistz256_from_mont,@function
-.align 32
-ecp_nistz256_from_mont:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lfrom_body:
-
- movq 0(%rsi),%rax
- movq .Lpoly+24(%rip),%r13
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq 24(%rsi),%r11
- movq %rax,%r8
- movq .Lpoly+8(%rip),%r12
-
-
-
- movq %rax,%rcx
- shlq $32,%r8
- mulq %r13
- shrq $32,%rcx
- addq %r8,%r9
- adcq %rcx,%r10
- adcq %rax,%r11
- movq %r9,%rax
- adcq $0,%rdx
-
-
-
- movq %r9,%rcx
- shlq $32,%r9
- movq %rdx,%r8
- mulq %r13
- shrq $32,%rcx
- addq %r9,%r10
- adcq %rcx,%r11
- adcq %rax,%r8
- movq %r10,%rax
- adcq $0,%rdx
-
-
-
- movq %r10,%rcx
- shlq $32,%r10
- movq %rdx,%r9
- mulq %r13
- shrq $32,%rcx
- addq %r10,%r11
- adcq %rcx,%r8
- adcq %rax,%r9
- movq %r11,%rax
- adcq $0,%rdx
-
-
-
- movq %r11,%rcx
- shlq $32,%r11
- movq %rdx,%r10
- mulq %r13
- shrq $32,%rcx
- addq %r11,%r8
- adcq %rcx,%r9
- movq %r8,%rcx
- adcq %rax,%r10
- movq %r9,%rsi
- adcq $0,%rdx
-
-
-
- subq $-1,%r8
- movq %r10,%rax
- sbbq %r12,%r9
- sbbq $0,%r10
- movq %rdx,%r11
- sbbq %r13,%rdx
- sbbq %r13,%r13
-
- cmovnzq %rcx,%r8
- cmovnzq %rsi,%r9
- movq %r8,0(%rdi)
- cmovnzq %rax,%r10
- movq %r9,8(%rdi)
- cmovzq %rdx,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lfrom_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_from_mont,.-ecp_nistz256_from_mont
-
-
-.globl ecp_nistz256_scatter_w5
-.type ecp_nistz256_scatter_w5,@function
-.align 32
-ecp_nistz256_scatter_w5:
- leal -3(%rdx,%rdx,2),%edx
- movdqa 0(%rsi),%xmm0
- shll $5,%edx
- movdqa 16(%rsi),%xmm1
- movdqa 32(%rsi),%xmm2
- movdqa 48(%rsi),%xmm3
- movdqa 64(%rsi),%xmm4
- movdqa 80(%rsi),%xmm5
- movdqa %xmm0,0(%rdi,%rdx,1)
- movdqa %xmm1,16(%rdi,%rdx,1)
- movdqa %xmm2,32(%rdi,%rdx,1)
- movdqa %xmm3,48(%rdi,%rdx,1)
- movdqa %xmm4,64(%rdi,%rdx,1)
- movdqa %xmm5,80(%rdi,%rdx,1)
-
- .byte 0xf3,0xc3
-.size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5
-
-
-
-.globl ecp_nistz256_gather_w5
-.type ecp_nistz256_gather_w5,@function
-.align 32
-ecp_nistz256_gather_w5:
- movl OPENSSL_ia32cap_P+8(%rip),%eax
- testl $32,%eax
- jnz .Lavx2_gather_w5
- movdqa .LOne(%rip),%xmm0
- movd %edx,%xmm1
-
- pxor %xmm2,%xmm2
- pxor %xmm3,%xmm3
- pxor %xmm4,%xmm4
- pxor %xmm5,%xmm5
- pxor %xmm6,%xmm6
- pxor %xmm7,%xmm7
-
- movdqa %xmm0,%xmm8
- pshufd $0,%xmm1,%xmm1
-
- movq $16,%rax
-.Lselect_loop_sse_w5:
-
- movdqa %xmm8,%xmm15
- paddd %xmm0,%xmm8
- pcmpeqd %xmm1,%xmm15
-
- movdqa 0(%rsi),%xmm9
- movdqa 16(%rsi),%xmm10
- movdqa 32(%rsi),%xmm11
- movdqa 48(%rsi),%xmm12
- movdqa 64(%rsi),%xmm13
- movdqa 80(%rsi),%xmm14
- leaq 96(%rsi),%rsi
-
- pand %xmm15,%xmm9
- pand %xmm15,%xmm10
- por %xmm9,%xmm2
- pand %xmm15,%xmm11
- por %xmm10,%xmm3
- pand %xmm15,%xmm12
- por %xmm11,%xmm4
- pand %xmm15,%xmm13
- por %xmm12,%xmm5
- pand %xmm15,%xmm14
- por %xmm13,%xmm6
- por %xmm14,%xmm7
-
- decq %rax
- jnz .Lselect_loop_sse_w5
-
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
- movdqu %xmm4,32(%rdi)
- movdqu %xmm5,48(%rdi)
- movdqu %xmm6,64(%rdi)
- movdqu %xmm7,80(%rdi)
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_gather_w5:
-.size ecp_nistz256_gather_w5,.-ecp_nistz256_gather_w5
-
-
-
-.globl ecp_nistz256_scatter_w7
-.type ecp_nistz256_scatter_w7,@function
-.align 32
-ecp_nistz256_scatter_w7:
- movdqu 0(%rsi),%xmm0
- shll $6,%edx
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqa %xmm0,0(%rdi,%rdx,1)
- movdqa %xmm1,16(%rdi,%rdx,1)
- movdqa %xmm2,32(%rdi,%rdx,1)
- movdqa %xmm3,48(%rdi,%rdx,1)
-
- .byte 0xf3,0xc3
-.size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7
-
-
-
-.globl ecp_nistz256_gather_w7
-.type ecp_nistz256_gather_w7,@function
-.align 32
-ecp_nistz256_gather_w7:
- movl OPENSSL_ia32cap_P+8(%rip),%eax
- testl $32,%eax
- jnz .Lavx2_gather_w7
- movdqa .LOne(%rip),%xmm8
- movd %edx,%xmm1
-
- pxor %xmm2,%xmm2
- pxor %xmm3,%xmm3
- pxor %xmm4,%xmm4
- pxor %xmm5,%xmm5
-
- movdqa %xmm8,%xmm0
- pshufd $0,%xmm1,%xmm1
- movq $64,%rax
-
-.Lselect_loop_sse_w7:
- movdqa %xmm8,%xmm15
- paddd %xmm0,%xmm8
- movdqa 0(%rsi),%xmm9
- movdqa 16(%rsi),%xmm10
- pcmpeqd %xmm1,%xmm15
- movdqa 32(%rsi),%xmm11
- movdqa 48(%rsi),%xmm12
- leaq 64(%rsi),%rsi
-
- pand %xmm15,%xmm9
- pand %xmm15,%xmm10
- por %xmm9,%xmm2
- pand %xmm15,%xmm11
- por %xmm10,%xmm3
- pand %xmm15,%xmm12
- por %xmm11,%xmm4
- prefetcht0 255(%rsi)
- por %xmm12,%xmm5
-
- decq %rax
- jnz .Lselect_loop_sse_w7
-
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
- movdqu %xmm4,32(%rdi)
- movdqu %xmm5,48(%rdi)
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_gather_w7:
-.size ecp_nistz256_gather_w7,.-ecp_nistz256_gather_w7
-
-
-.type ecp_nistz256_avx2_gather_w5,@function
-.align 32
-ecp_nistz256_avx2_gather_w5:
-.Lavx2_gather_w5:
- vzeroupper
- vmovdqa .LTwo(%rip),%ymm0
-
- vpxor %ymm2,%ymm2,%ymm2
- vpxor %ymm3,%ymm3,%ymm3
- vpxor %ymm4,%ymm4,%ymm4
-
- vmovdqa .LOne(%rip),%ymm5
- vmovdqa .LTwo(%rip),%ymm10
-
- vmovd %edx,%xmm1
- vpermd %ymm1,%ymm2,%ymm1
-
- movq $8,%rax
-.Lselect_loop_avx2_w5:
-
- vmovdqa 0(%rsi),%ymm6
- vmovdqa 32(%rsi),%ymm7
- vmovdqa 64(%rsi),%ymm8
-
- vmovdqa 96(%rsi),%ymm11
- vmovdqa 128(%rsi),%ymm12
- vmovdqa 160(%rsi),%ymm13
-
- vpcmpeqd %ymm1,%ymm5,%ymm9
- vpcmpeqd %ymm1,%ymm10,%ymm14
-
- vpaddd %ymm0,%ymm5,%ymm5
- vpaddd %ymm0,%ymm10,%ymm10
- leaq 192(%rsi),%rsi
-
- vpand %ymm9,%ymm6,%ymm6
- vpand %ymm9,%ymm7,%ymm7
- vpand %ymm9,%ymm8,%ymm8
- vpand %ymm14,%ymm11,%ymm11
- vpand %ymm14,%ymm12,%ymm12
- vpand %ymm14,%ymm13,%ymm13
-
- vpxor %ymm6,%ymm2,%ymm2
- vpxor %ymm7,%ymm3,%ymm3
- vpxor %ymm8,%ymm4,%ymm4
- vpxor %ymm11,%ymm2,%ymm2
- vpxor %ymm12,%ymm3,%ymm3
- vpxor %ymm13,%ymm4,%ymm4
-
- decq %rax
- jnz .Lselect_loop_avx2_w5
-
- vmovdqu %ymm2,0(%rdi)
- vmovdqu %ymm3,32(%rdi)
- vmovdqu %ymm4,64(%rdi)
- vzeroupper
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_avx2_gather_w5:
-.size ecp_nistz256_avx2_gather_w5,.-ecp_nistz256_avx2_gather_w5
-
-
-
-.globl ecp_nistz256_avx2_gather_w7
-.type ecp_nistz256_avx2_gather_w7,@function
-.align 32
-ecp_nistz256_avx2_gather_w7:
-.Lavx2_gather_w7:
- vzeroupper
- vmovdqa .LThree(%rip),%ymm0
-
- vpxor %ymm2,%ymm2,%ymm2
- vpxor %ymm3,%ymm3,%ymm3
-
- vmovdqa .LOne(%rip),%ymm4
- vmovdqa .LTwo(%rip),%ymm8
- vmovdqa .LThree(%rip),%ymm12
-
- vmovd %edx,%xmm1
- vpermd %ymm1,%ymm2,%ymm1
-
-
- movq $21,%rax
-.Lselect_loop_avx2_w7:
-
- vmovdqa 0(%rsi),%ymm5
- vmovdqa 32(%rsi),%ymm6
-
- vmovdqa 64(%rsi),%ymm9
- vmovdqa 96(%rsi),%ymm10
-
- vmovdqa 128(%rsi),%ymm13
- vmovdqa 160(%rsi),%ymm14
-
- vpcmpeqd %ymm1,%ymm4,%ymm7
- vpcmpeqd %ymm1,%ymm8,%ymm11
- vpcmpeqd %ymm1,%ymm12,%ymm15
-
- vpaddd %ymm0,%ymm4,%ymm4
- vpaddd %ymm0,%ymm8,%ymm8
- vpaddd %ymm0,%ymm12,%ymm12
- leaq 192(%rsi),%rsi
-
- vpand %ymm7,%ymm5,%ymm5
- vpand %ymm7,%ymm6,%ymm6
- vpand %ymm11,%ymm9,%ymm9
- vpand %ymm11,%ymm10,%ymm10
- vpand %ymm15,%ymm13,%ymm13
- vpand %ymm15,%ymm14,%ymm14
-
- vpxor %ymm5,%ymm2,%ymm2
- vpxor %ymm6,%ymm3,%ymm3
- vpxor %ymm9,%ymm2,%ymm2
- vpxor %ymm10,%ymm3,%ymm3
- vpxor %ymm13,%ymm2,%ymm2
- vpxor %ymm14,%ymm3,%ymm3
-
- decq %rax
- jnz .Lselect_loop_avx2_w7
-
-
- vmovdqa 0(%rsi),%ymm5
- vmovdqa 32(%rsi),%ymm6
-
- vpcmpeqd %ymm1,%ymm4,%ymm7
-
- vpand %ymm7,%ymm5,%ymm5
- vpand %ymm7,%ymm6,%ymm6
-
- vpxor %ymm5,%ymm2,%ymm2
- vpxor %ymm6,%ymm3,%ymm3
-
- vmovdqu %ymm2,0(%rdi)
- vmovdqu %ymm3,32(%rdi)
- vzeroupper
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_avx2_gather_w7:
-.size ecp_nistz256_avx2_gather_w7,.-ecp_nistz256_avx2_gather_w7
-.type __ecp_nistz256_add_toq,@function
-.align 32
-__ecp_nistz256_add_toq:
- xorq %r11,%r11
- addq 0(%rbx),%r12
- adcq 8(%rbx),%r13
- movq %r12,%rax
- adcq 16(%rbx),%r8
- adcq 24(%rbx),%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_add_toq,.-__ecp_nistz256_add_toq
-
-.type __ecp_nistz256_sub_fromq,@function
-.align 32
-__ecp_nistz256_sub_fromq:
- subq 0(%rbx),%r12
- sbbq 8(%rbx),%r13
- movq %r12,%rax
- sbbq 16(%rbx),%r8
- sbbq 24(%rbx),%r9
- movq %r13,%rbp
- sbbq %r11,%r11
-
- addq $-1,%r12
- movq %r8,%rcx
- adcq %r14,%r13
- adcq $0,%r8
- movq %r9,%r10
- adcq %r15,%r9
- testq %r11,%r11
-
- cmovzq %rax,%r12
- cmovzq %rbp,%r13
- movq %r12,0(%rdi)
- cmovzq %rcx,%r8
- movq %r13,8(%rdi)
- cmovzq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sub_fromq,.-__ecp_nistz256_sub_fromq
-
-.type __ecp_nistz256_subq,@function
-.align 32
-__ecp_nistz256_subq:
- subq %r12,%rax
- sbbq %r13,%rbp
- movq %rax,%r12
- sbbq %r8,%rcx
- sbbq %r9,%r10
- movq %rbp,%r13
- sbbq %r11,%r11
-
- addq $-1,%rax
- movq %rcx,%r8
- adcq %r14,%rbp
- adcq $0,%rcx
- movq %r10,%r9
- adcq %r15,%r10
- testq %r11,%r11
-
- cmovnzq %rax,%r12
- cmovnzq %rbp,%r13
- cmovnzq %rcx,%r8
- cmovnzq %r10,%r9
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_subq,.-__ecp_nistz256_subq
-
-.type __ecp_nistz256_mul_by_2q,@function
-.align 32
-__ecp_nistz256_mul_by_2q:
- xorq %r11,%r11
- addq %r12,%r12
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_by_2q,.-__ecp_nistz256_mul_by_2q
-.globl ecp_nistz256_point_double
-.type ecp_nistz256_point_double,@function
-.align 32
-ecp_nistz256_point_double:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- cmpl $0x80100,%ecx
- je .Lpoint_doublex
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $160+8,%rsp
-.cfi_adjust_cfa_offset 32*5+8
-.Lpoint_doubleq_body:
-
-.Lpoint_double_shortcutq:
- movdqu 0(%rsi),%xmm0
- movq %rsi,%rbx
- movdqu 16(%rsi),%xmm1
- movq 32+0(%rsi),%r12
- movq 32+8(%rsi),%r13
- movq 32+16(%rsi),%r8
- movq 32+24(%rsi),%r9
- movq .Lpoly+8(%rip),%r14
- movq .Lpoly+24(%rip),%r15
- movdqa %xmm0,96(%rsp)
- movdqa %xmm1,96+16(%rsp)
- leaq 32(%rdi),%r10
- leaq 64(%rdi),%r11
-.byte 102,72,15,110,199
-.byte 102,73,15,110,202
-.byte 102,73,15,110,211
-
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_by_2q
-
- movq 64+0(%rsi),%rax
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- leaq 64-0(%rsi),%rsi
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 0+0(%rsp),%rax
- movq 8+0(%rsp),%r14
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 32(%rbx),%rax
- movq 64+0(%rbx),%r9
- movq 64+8(%rbx),%r10
- movq 64+16(%rbx),%r11
- movq 64+24(%rbx),%r12
- leaq 64-0(%rbx),%rsi
- leaq 32(%rbx),%rbx
-.byte 102,72,15,126,215
- call __ecp_nistz256_mul_montq
- call __ecp_nistz256_mul_by_2q
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_toq
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 0+0(%rsp),%rax
- movq 8+0(%rsp),%r14
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
-.byte 102,72,15,126,207
- call __ecp_nistz256_sqr_montq
- xorq %r9,%r9
- movq %r12,%rax
- addq $-1,%r12
- movq %r13,%r10
- adcq %rsi,%r13
- movq %r14,%rcx
- adcq $0,%r14
- movq %r15,%r8
- adcq %rbp,%r15
- adcq $0,%r9
- xorq %rsi,%rsi
- testq $1,%rax
-
- cmovzq %rax,%r12
- cmovzq %r10,%r13
- cmovzq %rcx,%r14
- cmovzq %r8,%r15
- cmovzq %rsi,%r9
-
- movq %r13,%rax
- shrq $1,%r12
- shlq $63,%rax
- movq %r14,%r10
- shrq $1,%r13
- orq %rax,%r12
- shlq $63,%r10
- movq %r15,%rcx
- shrq $1,%r14
- orq %r10,%r13
- shlq $63,%rcx
- movq %r12,0(%rdi)
- shrq $1,%r15
- movq %r13,8(%rdi)
- shlq $63,%r9
- orq %rcx,%r14
- orq %r9,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
- movq 64(%rsp),%rax
- leaq 64(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2q
-
- leaq 32(%rsp),%rbx
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_toq
-
- movq 96(%rsp),%rax
- leaq 96(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2q
-
- movq 0+32(%rsp),%rax
- movq 8+32(%rsp),%r14
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r15
- movq 24+32(%rsp),%r8
-.byte 102,72,15,126,199
- call __ecp_nistz256_sqr_montq
-
- leaq 128(%rsp),%rbx
- movq %r14,%r8
- movq %r15,%r9
- movq %rsi,%r14
- movq %rbp,%r15
- call __ecp_nistz256_sub_fromq
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_subq
-
- movq 32(%rsp),%rax
- leaq 32(%rsp),%rbx
- movq %r12,%r14
- xorl %ecx,%ecx
- movq %r12,0+0(%rsp)
- movq %r13,%r10
- movq %r13,0+8(%rsp)
- cmovzq %r8,%r11
- movq %r8,0+16(%rsp)
- leaq 0-0(%rsp),%rsi
- cmovzq %r9,%r12
- movq %r9,0+24(%rsp)
- movq %r14,%r9
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
-.byte 102,72,15,126,203
-.byte 102,72,15,126,207
- call __ecp_nistz256_sub_fromq
-
- leaq 160+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_doubleq_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_double,.-ecp_nistz256_point_double
-.globl ecp_nistz256_point_add
-.type ecp_nistz256_point_add,@function
-.align 32
-ecp_nistz256_point_add:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- cmpl $0x80100,%ecx
- je .Lpoint_addx
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $576+8,%rsp
-.cfi_adjust_cfa_offset 32*18+8
-.Lpoint_addq_body:
-
- movdqu 0(%rsi),%xmm0
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq %rsi,%rbx
- movq %rdx,%rsi
- movdqa %xmm0,384(%rsp)
- movdqa %xmm1,384+16(%rsp)
- movdqa %xmm2,416(%rsp)
- movdqa %xmm3,416+16(%rsp)
- movdqa %xmm4,448(%rsp)
- movdqa %xmm5,448+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rsi),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rsi),%xmm3
- movq 64+0(%rsi),%rax
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,480(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,480+16(%rsp)
- movdqu 64(%rsi),%xmm0
- movdqu 80(%rsi),%xmm1
- movdqa %xmm2,512(%rsp)
- movdqa %xmm3,512+16(%rsp)
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
-
- leaq 64-0(%rsi),%rsi
- movq %rax,544+0(%rsp)
- movq %r14,544+8(%rsp)
- movq %r15,544+16(%rsp)
- movq %r8,544+24(%rsp)
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm1,%xmm4
- por %xmm1,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
- movq 64+0(%rbx),%rax
- movq 64+8(%rbx),%r14
- movq 64+16(%rbx),%r15
- movq 64+24(%rbx),%r8
-.byte 102,72,15,110,203
-
- leaq 64-0(%rbx),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 544(%rsp),%rax
- leaq 544(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq 0+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 448(%rsp),%rax
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 416(%rsp),%rax
- leaq 416(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq 0+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 512(%rsp),%rax
- leaq 512(%rsp),%rbx
- movq 0+256(%rsp),%r9
- movq 8+256(%rsp),%r10
- leaq 0+256(%rsp),%rsi
- movq 16+256(%rsp),%r11
- movq 24+256(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 224(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- orq %r13,%r12
- movdqa %xmm4,%xmm2
- orq %r8,%r12
- orq %r9,%r12
- por %xmm5,%xmm2
-.byte 102,73,15,110,220
-
- movq 384(%rsp),%rax
- leaq 384(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq 0+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 480(%rsp),%rax
- leaq 480(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 160(%rsp),%rbx
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- orq %r13,%r12
- orq %r8,%r12
- orq %r9,%r12
-
-.byte 0x3e
- jnz .Ladd_proceedq
-.byte 102,73,15,126,208
-.byte 102,73,15,126,217
- testq %r8,%r8
- jnz .Ladd_proceedq
- testq %r9,%r9
- jz .Ladd_doubleq
-
-.byte 102,72,15,126,199
- pxor %xmm0,%xmm0
- movdqu %xmm0,0(%rdi)
- movdqu %xmm0,16(%rdi)
- movdqu %xmm0,32(%rdi)
- movdqu %xmm0,48(%rdi)
- movdqu %xmm0,64(%rdi)
- movdqu %xmm0,80(%rdi)
- jmp .Ladd_doneq
-
-.align 32
-.Ladd_doubleq:
-.byte 102,72,15,126,206
-.byte 102,72,15,126,199
- addq $416,%rsp
- jmp .Lpoint_double_shortcutq
-
-.align 32
-.Ladd_proceedq:
- movq 0+64(%rsp),%rax
- movq 8+64(%rsp),%r14
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 448(%rsp),%rax
- leaq 448(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 0+0(%rsp),%rax
- movq 8+0(%rsp),%r14
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 544(%rsp),%rax
- leaq 544(%rsp),%rbx
- movq 0+352(%rsp),%r9
- movq 8+352(%rsp),%r10
- leaq 0+352(%rsp),%rsi
- movq 16+352(%rsp),%r11
- movq 24+352(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 0(%rsp),%rax
- leaq 0(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 160(%rsp),%rax
- leaq 160(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 96(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subq
-
- leaq 128(%rsp),%rbx
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 192+0(%rsp),%rax
- movq 192+8(%rsp),%rbp
- movq 192+16(%rsp),%rcx
- movq 192+24(%rsp),%r10
- leaq 320(%rsp),%rdi
-
- call __ecp_nistz256_subq
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 128(%rsp),%rax
- leaq 128(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq 0+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 320(%rsp),%rax
- leaq 320(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 256(%rsp),%rbx
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 352(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 352+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 544(%rsp),%xmm2
- pand 544+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 480(%rsp),%xmm2
- pand 480+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 320(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 320+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 512(%rsp),%xmm2
- pand 512+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
-.Ladd_doneq:
- leaq 576+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_addq_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_add,.-ecp_nistz256_point_add
-.globl ecp_nistz256_point_add_affine
-.type ecp_nistz256_point_add_affine,@function
-.align 32
-ecp_nistz256_point_add_affine:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- cmpl $0x80100,%ecx
- je .Lpoint_add_affinex
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $480+8,%rsp
-.cfi_adjust_cfa_offset 32*15+8
-.Ladd_affineq_body:
-
- movdqu 0(%rsi),%xmm0
- movq %rdx,%rbx
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq 64+0(%rsi),%rax
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,320(%rsp)
- movdqa %xmm1,320+16(%rsp)
- movdqa %xmm2,352(%rsp)
- movdqa %xmm3,352+16(%rsp)
- movdqa %xmm4,384(%rsp)
- movdqa %xmm5,384+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rbx),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rbx),%xmm1
- movdqu 32(%rbx),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rbx),%xmm3
- movdqa %xmm0,416(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,416+16(%rsp)
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
- movdqa %xmm2,448(%rsp)
- movdqa %xmm3,448+16(%rsp)
- por %xmm2,%xmm3
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm1,%xmm3
-
- leaq 64-0(%rsi),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm3,%xmm4
- movq 0(%rbx),%rax
-
- movq %r12,%r9
- por %xmm3,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- movq %r13,%r10
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- movq %r14,%r11
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
-
- leaq 32-0(%rsp),%rsi
- movq %r15,%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 320(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 384(%rsp),%rax
- leaq 384(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 384(%rsp),%rax
- leaq 384(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 448(%rsp),%rax
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 352(%rsp),%rbx
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 0+64(%rsp),%rax
- movq 8+64(%rsp),%r14
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 0+96(%rsp),%rax
- movq 8+96(%rsp),%r14
- leaq 0+96(%rsp),%rsi
- movq 16+96(%rsp),%r15
- movq 24+96(%rsp),%r8
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 128(%rsp),%rax
- leaq 128(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 320(%rsp),%rax
- leaq 320(%rsp),%rbx
- movq 0+128(%rsp),%r9
- movq 8+128(%rsp),%r10
- leaq 0+128(%rsp),%rsi
- movq 16+128(%rsp),%r11
- movq 24+128(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 192(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subq
-
- leaq 160(%rsp),%rbx
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 64(%rsp),%rdi
-
- call __ecp_nistz256_subq
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 352(%rsp),%rax
- leaq 352(%rsp),%rbx
- movq 0+160(%rsp),%r9
- movq 8+160(%rsp),%r10
- leaq 0+160(%rsp),%rsi
- movq 16+160(%rsp),%r11
- movq 24+160(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 96(%rsp),%rax
- leaq 96(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 32(%rsp),%rbx
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand .LONE_mont(%rip),%xmm2
- pand .LONE_mont+16(%rip),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 224(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 224+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 320(%rsp),%xmm2
- pand 320+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 256(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 256+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 352(%rsp),%xmm2
- pand 352+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
- leaq 480+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Ladd_affineq_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_add_affine,.-ecp_nistz256_point_add_affine
-.type __ecp_nistz256_add_tox,@function
-.align 32
-__ecp_nistz256_add_tox:
- xorq %r11,%r11
- adcq 0(%rbx),%r12
- adcq 8(%rbx),%r13
- movq %r12,%rax
- adcq 16(%rbx),%r8
- adcq 24(%rbx),%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- xorq %r10,%r10
- sbbq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_add_tox,.-__ecp_nistz256_add_tox
-
-.type __ecp_nistz256_sub_fromx,@function
-.align 32
-__ecp_nistz256_sub_fromx:
- xorq %r11,%r11
- sbbq 0(%rbx),%r12
- sbbq 8(%rbx),%r13
- movq %r12,%rax
- sbbq 16(%rbx),%r8
- sbbq 24(%rbx),%r9
- movq %r13,%rbp
- sbbq $0,%r11
-
- xorq %r10,%r10
- adcq $-1,%r12
- movq %r8,%rcx
- adcq %r14,%r13
- adcq $0,%r8
- movq %r9,%r10
- adcq %r15,%r9
-
- btq $0,%r11
- cmovncq %rax,%r12
- cmovncq %rbp,%r13
- movq %r12,0(%rdi)
- cmovncq %rcx,%r8
- movq %r13,8(%rdi)
- cmovncq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sub_fromx,.-__ecp_nistz256_sub_fromx
-
-.type __ecp_nistz256_subx,@function
-.align 32
-__ecp_nistz256_subx:
- xorq %r11,%r11
- sbbq %r12,%rax
- sbbq %r13,%rbp
- movq %rax,%r12
- sbbq %r8,%rcx
- sbbq %r9,%r10
- movq %rbp,%r13
- sbbq $0,%r11
-
- xorq %r9,%r9
- adcq $-1,%rax
- movq %rcx,%r8
- adcq %r14,%rbp
- adcq $0,%rcx
- movq %r10,%r9
- adcq %r15,%r10
-
- btq $0,%r11
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- cmovcq %rcx,%r8
- cmovcq %r10,%r9
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_subx,.-__ecp_nistz256_subx
-
-.type __ecp_nistz256_mul_by_2x,@function
-.align 32
-__ecp_nistz256_mul_by_2x:
- xorq %r11,%r11
- adcq %r12,%r12
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- xorq %r10,%r10
- sbbq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_by_2x,.-__ecp_nistz256_mul_by_2x
-.type ecp_nistz256_point_doublex,@function
-.align 32
-ecp_nistz256_point_doublex:
-.cfi_startproc
-.Lpoint_doublex:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $160+8,%rsp
-.cfi_adjust_cfa_offset 32*5+8
-.Lpoint_doublex_body:
-
-.Lpoint_double_shortcutx:
- movdqu 0(%rsi),%xmm0
- movq %rsi,%rbx
- movdqu 16(%rsi),%xmm1
- movq 32+0(%rsi),%r12
- movq 32+8(%rsi),%r13
- movq 32+16(%rsi),%r8
- movq 32+24(%rsi),%r9
- movq .Lpoly+8(%rip),%r14
- movq .Lpoly+24(%rip),%r15
- movdqa %xmm0,96(%rsp)
- movdqa %xmm1,96+16(%rsp)
- leaq 32(%rdi),%r10
- leaq 64(%rdi),%r11
-.byte 102,72,15,110,199
-.byte 102,73,15,110,202
-.byte 102,73,15,110,211
-
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_by_2x
-
- movq 64+0(%rsi),%rdx
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- leaq 64-128(%rsi),%rsi
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 0+0(%rsp),%rdx
- movq 8+0(%rsp),%r14
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 32(%rbx),%rdx
- movq 64+0(%rbx),%r9
- movq 64+8(%rbx),%r10
- movq 64+16(%rbx),%r11
- movq 64+24(%rbx),%r12
- leaq 64-128(%rbx),%rsi
- leaq 32(%rbx),%rbx
-.byte 102,72,15,126,215
- call __ecp_nistz256_mul_montx
- call __ecp_nistz256_mul_by_2x
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_tox
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 0+0(%rsp),%rdx
- movq 8+0(%rsp),%r14
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
-.byte 102,72,15,126,207
- call __ecp_nistz256_sqr_montx
- xorq %r9,%r9
- movq %r12,%rax
- addq $-1,%r12
- movq %r13,%r10
- adcq %rsi,%r13
- movq %r14,%rcx
- adcq $0,%r14
- movq %r15,%r8
- adcq %rbp,%r15
- adcq $0,%r9
- xorq %rsi,%rsi
- testq $1,%rax
-
- cmovzq %rax,%r12
- cmovzq %r10,%r13
- cmovzq %rcx,%r14
- cmovzq %r8,%r15
- cmovzq %rsi,%r9
-
- movq %r13,%rax
- shrq $1,%r12
- shlq $63,%rax
- movq %r14,%r10
- shrq $1,%r13
- orq %rax,%r12
- shlq $63,%r10
- movq %r15,%rcx
- shrq $1,%r14
- orq %r10,%r13
- shlq $63,%rcx
- movq %r12,0(%rdi)
- shrq $1,%r15
- movq %r13,8(%rdi)
- shlq $63,%r9
- orq %rcx,%r14
- orq %r9,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
- movq 64(%rsp),%rdx
- leaq 64(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2x
-
- leaq 32(%rsp),%rbx
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_tox
-
- movq 96(%rsp),%rdx
- leaq 96(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2x
-
- movq 0+32(%rsp),%rdx
- movq 8+32(%rsp),%r14
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r15
- movq 24+32(%rsp),%r8
-.byte 102,72,15,126,199
- call __ecp_nistz256_sqr_montx
-
- leaq 128(%rsp),%rbx
- movq %r14,%r8
- movq %r15,%r9
- movq %rsi,%r14
- movq %rbp,%r15
- call __ecp_nistz256_sub_fromx
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_subx
-
- movq 32(%rsp),%rdx
- leaq 32(%rsp),%rbx
- movq %r12,%r14
- xorl %ecx,%ecx
- movq %r12,0+0(%rsp)
- movq %r13,%r10
- movq %r13,0+8(%rsp)
- cmovzq %r8,%r11
- movq %r8,0+16(%rsp)
- leaq 0-128(%rsp),%rsi
- cmovzq %r9,%r12
- movq %r9,0+24(%rsp)
- movq %r14,%r9
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
-.byte 102,72,15,126,203
-.byte 102,72,15,126,207
- call __ecp_nistz256_sub_fromx
-
- leaq 160+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_doublex_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_doublex,.-ecp_nistz256_point_doublex
-.type ecp_nistz256_point_addx,@function
-.align 32
-ecp_nistz256_point_addx:
-.cfi_startproc
-.Lpoint_addx:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $576+8,%rsp
-.cfi_adjust_cfa_offset 32*18+8
-.Lpoint_addx_body:
-
- movdqu 0(%rsi),%xmm0
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq %rsi,%rbx
- movq %rdx,%rsi
- movdqa %xmm0,384(%rsp)
- movdqa %xmm1,384+16(%rsp)
- movdqa %xmm2,416(%rsp)
- movdqa %xmm3,416+16(%rsp)
- movdqa %xmm4,448(%rsp)
- movdqa %xmm5,448+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rsi),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rsi),%xmm3
- movq 64+0(%rsi),%rdx
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,480(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,480+16(%rsp)
- movdqu 64(%rsi),%xmm0
- movdqu 80(%rsi),%xmm1
- movdqa %xmm2,512(%rsp)
- movdqa %xmm3,512+16(%rsp)
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
-
- leaq 64-128(%rsi),%rsi
- movq %rdx,544+0(%rsp)
- movq %r14,544+8(%rsp)
- movq %r15,544+16(%rsp)
- movq %r8,544+24(%rsp)
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm1,%xmm4
- por %xmm1,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
- movq 64+0(%rbx),%rdx
- movq 64+8(%rbx),%r14
- movq 64+16(%rbx),%r15
- movq 64+24(%rbx),%r8
-.byte 102,72,15,110,203
-
- leaq 64-128(%rbx),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 544(%rsp),%rdx
- leaq 544(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq -128+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 448(%rsp),%rdx
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 416(%rsp),%rdx
- leaq 416(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq -128+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 512(%rsp),%rdx
- leaq 512(%rsp),%rbx
- movq 0+256(%rsp),%r9
- movq 8+256(%rsp),%r10
- leaq -128+256(%rsp),%rsi
- movq 16+256(%rsp),%r11
- movq 24+256(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 224(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- orq %r13,%r12
- movdqa %xmm4,%xmm2
- orq %r8,%r12
- orq %r9,%r12
- por %xmm5,%xmm2
-.byte 102,73,15,110,220
-
- movq 384(%rsp),%rdx
- leaq 384(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq -128+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 480(%rsp),%rdx
- leaq 480(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 160(%rsp),%rbx
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- orq %r13,%r12
- orq %r8,%r12
- orq %r9,%r12
-
-.byte 0x3e
- jnz .Ladd_proceedx
-.byte 102,73,15,126,208
-.byte 102,73,15,126,217
- testq %r8,%r8
- jnz .Ladd_proceedx
- testq %r9,%r9
- jz .Ladd_doublex
-
-.byte 102,72,15,126,199
- pxor %xmm0,%xmm0
- movdqu %xmm0,0(%rdi)
- movdqu %xmm0,16(%rdi)
- movdqu %xmm0,32(%rdi)
- movdqu %xmm0,48(%rdi)
- movdqu %xmm0,64(%rdi)
- movdqu %xmm0,80(%rdi)
- jmp .Ladd_donex
-
-.align 32
-.Ladd_doublex:
-.byte 102,72,15,126,206
-.byte 102,72,15,126,199
- addq $416,%rsp
- jmp .Lpoint_double_shortcutx
-
-.align 32
-.Ladd_proceedx:
- movq 0+64(%rsp),%rdx
- movq 8+64(%rsp),%r14
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 448(%rsp),%rdx
- leaq 448(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 0+0(%rsp),%rdx
- movq 8+0(%rsp),%r14
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 544(%rsp),%rdx
- leaq 544(%rsp),%rbx
- movq 0+352(%rsp),%r9
- movq 8+352(%rsp),%r10
- leaq -128+352(%rsp),%rsi
- movq 16+352(%rsp),%r11
- movq 24+352(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 0(%rsp),%rdx
- leaq 0(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 160(%rsp),%rdx
- leaq 160(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 96(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subx
-
- leaq 128(%rsp),%rbx
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 192+0(%rsp),%rax
- movq 192+8(%rsp),%rbp
- movq 192+16(%rsp),%rcx
- movq 192+24(%rsp),%r10
- leaq 320(%rsp),%rdi
-
- call __ecp_nistz256_subx
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 128(%rsp),%rdx
- leaq 128(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq -128+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 320(%rsp),%rdx
- leaq 320(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 256(%rsp),%rbx
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 352(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 352+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 544(%rsp),%xmm2
- pand 544+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 480(%rsp),%xmm2
- pand 480+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 320(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 320+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 512(%rsp),%xmm2
- pand 512+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
-.Ladd_donex:
- leaq 576+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_addx_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_addx,.-ecp_nistz256_point_addx
-.type ecp_nistz256_point_add_affinex,@function
-.align 32
-ecp_nistz256_point_add_affinex:
-.cfi_startproc
-.Lpoint_add_affinex:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $480+8,%rsp
-.cfi_adjust_cfa_offset 32*15+8
-.Ladd_affinex_body:
-
- movdqu 0(%rsi),%xmm0
- movq %rdx,%rbx
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq 64+0(%rsi),%rdx
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,320(%rsp)
- movdqa %xmm1,320+16(%rsp)
- movdqa %xmm2,352(%rsp)
- movdqa %xmm3,352+16(%rsp)
- movdqa %xmm4,384(%rsp)
- movdqa %xmm5,384+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rbx),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rbx),%xmm1
- movdqu 32(%rbx),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rbx),%xmm3
- movdqa %xmm0,416(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,416+16(%rsp)
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
- movdqa %xmm2,448(%rsp)
- movdqa %xmm3,448+16(%rsp)
- por %xmm2,%xmm3
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm1,%xmm3
-
- leaq 64-128(%rsi),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm3,%xmm4
- movq 0(%rbx),%rdx
-
- movq %r12,%r9
- por %xmm3,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- movq %r13,%r10
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- movq %r14,%r11
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
-
- leaq 32-128(%rsp),%rsi
- movq %r15,%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 320(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 384(%rsp),%rdx
- leaq 384(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 384(%rsp),%rdx
- leaq 384(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 448(%rsp),%rdx
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 352(%rsp),%rbx
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 0+64(%rsp),%rdx
- movq 8+64(%rsp),%r14
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 0+96(%rsp),%rdx
- movq 8+96(%rsp),%r14
- leaq -128+96(%rsp),%rsi
- movq 16+96(%rsp),%r15
- movq 24+96(%rsp),%r8
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 128(%rsp),%rdx
- leaq 128(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 320(%rsp),%rdx
- leaq 320(%rsp),%rbx
- movq 0+128(%rsp),%r9
- movq 8+128(%rsp),%r10
- leaq -128+128(%rsp),%rsi
- movq 16+128(%rsp),%r11
- movq 24+128(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 192(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subx
-
- leaq 160(%rsp),%rbx
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 64(%rsp),%rdi
-
- call __ecp_nistz256_subx
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 352(%rsp),%rdx
- leaq 352(%rsp),%rbx
- movq 0+160(%rsp),%r9
- movq 8+160(%rsp),%r10
- leaq -128+160(%rsp),%rsi
- movq 16+160(%rsp),%r11
- movq 24+160(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 96(%rsp),%rdx
- leaq 96(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 32(%rsp),%rbx
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand .LONE_mont(%rip),%xmm2
- pand .LONE_mont+16(%rip),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 224(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 224+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 320(%rsp),%xmm2
- pand 320+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 256(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 256+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 352(%rsp),%xmm2
- pand 352+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
- leaq 480+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Ladd_affinex_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_add_affinex,.-ecp_nistz256_point_add_affinex
diff --git a/third_party/openssl-nistz256-adx/measurements.txt b/third_party/openssl-nistz256-adx/measurements.txt
deleted file mode 100644
index a2afe7246..000000000
--- a/third_party/openssl-nistz256-adx/measurements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
- JASONGROSS-X230-ht-tb-nops-core-avx-i 2.90ghz 4.8 c003b54
- JASONGROSS-X230-ht-tb-nops-ivybridge 2.90ghz 6.3.0 c003b54
- =*2.20/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 6888031+
- =*3.10/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 6888031+
-527 =442*3.10/2.60 ashryn-ht-tb-ac-broadwell 7.1.1 a7ce099b+
-544 =544*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
-564 ashryn-noht-notb-noac-broadwell 2.50ghz 7.1.1 fe5b5b3b
diff --git a/third_party/openssl-nistz256-adx/nistz256.h b/third_party/openssl-nistz256-adx/nistz256.h
deleted file mode 100644
index 623695747..000000000
--- a/third_party/openssl-nistz256-adx/nistz256.h
+++ /dev/null
@@ -1,14 +0,0 @@
-typedef struct {
- uint64_t X[4];
- uint64_t Y[4];
- uint64_t Z[4];
-} P256_POINT;
-
-typedef struct {
- uint64_t X[4];
- uint64_t Y[4];
-} P256_POINT_AFFINE;
-
-void ecp_nistz256_point_add_affine(P256_POINT *r,
- const P256_POINT *a,
- const P256_POINT_AFFINE *b);
diff --git a/third_party/openssl-nistz256-amd64/LICENSE b/third_party/openssl-nistz256-amd64/LICENSE
deleted file mode 100644
index 8fbabd8af..000000000
--- a/third_party/openssl-nistz256-amd64/LICENSE
+++ /dev/null
@@ -1,125 +0,0 @@
-
- LICENSE ISSUES
- ==============
-
- The OpenSSL toolkit stays under a double license, i.e. both the conditions of
- the OpenSSL License and the original SSLeay license apply to the toolkit.
- See below for the actual license texts.
-
- OpenSSL License
- ---------------
-
-/* ====================================================================
- * Copyright (c) 1998-2017 The OpenSSL Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@openssl.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
- Original SSLeay License
- -----------------------
-
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
diff --git a/third_party/openssl-nistz256-amd64/bench_madd.c b/third_party/openssl-nistz256-amd64/bench_madd.c
deleted file mode 100644
index 364663d22..000000000
--- a/third_party/openssl-nistz256-amd64/bench_madd.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdint.h>
-#include "nistz256.h"
-
-void bench_madd(unsigned char* buf) {
- P256_POINT* r = (P256_POINT*) buf;
- P256_POINT_AFFINE* b = (P256_POINT_AFFINE*) (buf + sizeof(P256_POINT));
- ecp_nistz256_point_add_affine(r, r, b);
-}
diff --git a/third_party/openssl-nistz256-amd64/compiler.sh b/third_party/openssl-nistz256-amd64/compiler.sh
deleted file mode 100755
index e199b5100..000000000
--- a/third_party/openssl-nistz256-amd64/compiler.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -eu
-
-gcc -march=native -mbmi2 -mtune=native -std=gnu11 -O3 -flto -fomit-frame-pointer -fwrapv -Wno-attributes $@
diff --git a/third_party/openssl-nistz256-amd64/cpu_intel.c b/third_party/openssl-nistz256-amd64/cpu_intel.c
deleted file mode 100644
index da31a65c4..000000000
--- a/third_party/openssl-nistz256-amd64/cpu_intel.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include<stdint.h>
-uint32_t OPENSSL_ia32cap_P[4] = {0,0,0,0};
diff --git a/third_party/openssl-nistz256-amd64/ecp_nistz256-x86_64.s b/third_party/openssl-nistz256-amd64/ecp_nistz256-x86_64.s
deleted file mode 100644
index adcf35249..000000000
--- a/third_party/openssl-nistz256-amd64/ecp_nistz256-x86_64.s
+++ /dev/null
@@ -1,6226 +0,0 @@
-.text
-.globl ecp_nistz256_precomputed
-.type ecp_nistz256_precomputed,@object
-.align 4096
-ecp_nistz256_precomputed:
-.long 0x18a9143c,0x79e730d4,0x5fedb601,0x75ba95fc,0x77622510,0x79fb732b,0xa53755c6,0x18905f76,0xce95560a,0xddf25357,0xba19e45c,0x8b4ab8e4,0xdd21f325,0xd2e88688,0x25885d85,0x8571ff18
-.long 0x10ddd64d,0x850046d4,0xa433827d,0xaa6ae3c1,0x8d1490d9,0x73220503,0x3dcf3a3b,0xf6bb32e4,0x61bee1a5,0x2f3648d3,0xeb236ff8,0x152cd7cb,0x92042dbe,0x19a8fb0e,0x0a5b8a3b,0x78c57751
-.long 0x4eebc127,0xffac3f90,0x087d81fb,0xb027f84a,0x87cbbc98,0x66ad77dd,0xb6ff747e,0x26936a3f,0xc983a7eb,0xb04c5c1f,0x0861fe1a,0x583e47ad,0x1a2ee98e,0x78820831,0xe587cc07,0xd5f06a29
-.long 0x46918dcc,0x74b0b50d,0xc623c173,0x4650a6ed,0xe8100af2,0x0cdaacac,0x41b0176b,0x577362f5,0xe4cbaba6,0x2d96f24c,0xfad6f447,0x17628471,0xe5ddd22e,0x6b6c36de,0x4c5ab863,0x84b14c39
-.long 0xc45c61f5,0xbe1b8aae,0x94b9537d,0x90ec649a,0xd076c20c,0x941cb5aa,0x890523c8,0xc9079605,0xe7ba4f10,0xeb309b4a,0xe5eb882b,0x73c568ef,0x7e7a1f68,0x3540a987,0x2dd1e916,0x73a076bb
-.long 0x3e77664a,0x40394737,0x346cee3e,0x55ae744f,0x5b17a3ad,0xd50a961a,0x54213673,0x13074b59,0xd377e44b,0x93d36220,0xadff14b5,0x299c2b53,0xef639f11,0xf424d44c,0x4a07f75f,0xa4c9916d
-.long 0xa0173b4f,0x0746354e,0xd23c00f7,0x2bd20213,0x0c23bb08,0xf43eaab5,0xc3123e03,0x13ba5119,0x3f5b9d4d,0x2847d030,0x5da67bdd,0x6742f2f2,0x77c94195,0xef933bdc,0x6e240867,0xeaedd915
-.long 0x9499a78f,0x27f14cd1,0x6f9b3455,0x462ab5c5,0xf02cfc6b,0x8f90f02a,0xb265230d,0xb763891e,0x532d4977,0xf59da3a9,0xcf9eba15,0x21e3327d,0xbe60bbf0,0x123c7b84,0x7706df76,0x56ec12f2
-.long 0x264e20e8,0x75c96e8f,0x59a7a841,0xabe6bfed,0x44c8eb00,0x2cc09c04,0xf0c4e16b,0xe05b3080,0xa45f3314,0x1eb7777a,0xce5d45e3,0x56af7bed,0x88b12f1a,0x2b6e019a,0xfd835f9b,0x086659cd
-.long 0x9dc21ec8,0x2c18dbd1,0x0fcf8139,0x98f9868a,0x48250b49,0x737d2cd6,0x24b3428f,0xcc61c947,0x80dd9e76,0x0c2b4078,0x383fbe08,0xc43a8991,0x779be5d2,0x5f7d2d65,0xeb3b4ab5,0x78719a54
-.long 0x6245e404,0xea7d260a,0x6e7fdfe0,0x9de40795,0x8dac1ab5,0x1ff3a415,0x649c9073,0x3e7090f1,0x2b944e88,0x1a768561,0xe57f61c8,0x250f939e,0x1ead643d,0x0c0daa89,0xe125b88e,0x68930023
-.long 0xd2697768,0x04b71aa7,0xca345a33,0xabdedef5,0xee37385e,0x2409d29d,0xcb83e156,0x4ee1df77,0x1cbb5b43,0x0cac12d9,0xca895637,0x170ed2f6,0x8ade6d66,0x28228cfa,0x53238aca,0x7ff57c95
-.long 0x4b2ed709,0xccc42563,0x856fd30d,0x0e356769,0x559e9811,0xbcbcd43f,0x5395b759,0x738477ac,0xc00ee17f,0x35752b90,0x742ed2e3,0x68748390,0xbd1f5bc1,0x7cd06422,0xc9e7b797,0xfbc08769
-.long 0xb0cf664a,0xa242a35b,0x7f9707e3,0x126e48f7,0xc6832660,0x1717bf54,0xfd12c72e,0xfaae7332,0x995d586b,0x27b52db7,0x832237c2,0xbe29569e,0x2a65e7db,0xe8e4193e,0x2eaa1bbb,0x152706dc
-.long 0xbc60055b,0x72bcd8b7,0x56e27e4b,0x03cc23ee,0xe4819370,0xee337424,0x0ad3da09,0xe2aa0e43,0x6383c45d,0x40b8524f,0x42a41b25,0xd7663554,0x778a4797,0x64efa6de,0x7079adf4,0x2042170a
-.long 0x0bc6fb80,0x808b0b65,0x3ffe2e6b,0x5882e075,0x2c83f549,0xd5ef2f7c,0x9103b723,0x54d63c80,0x52a23f9b,0xf2f11bd6,0x4b0b6587,0x3670c319,0xb1580e9e,0x55c4623b,0x01efe220,0x64edf7b2
-.long 0xd53c5c9d,0x97091dcb,0xac0a177b,0xf17624b6,0x2cfe2dff,0xb0f13975,0x6c7a574e,0xc1a35c0a,0x93e79987,0x227d3146,0xe89cb80e,0x0575bf30,0x0d1883bb,0x2f4e247f,0x3274c3d0,0xebd51226
-.long 0x56ada97a,0x5f3e51c8,0x8f8b403e,0x4afc964d,0x412e2979,0xa6f247ab,0x6f80ebda,0x675abd1b,0x5e485a1d,0x66a2bd72,0x8f4f0b3c,0x4b2a5caf,0x1b847bba,0x2626927f,0x0502394d,0x6c6fc7d9
-.long 0xa5659ae8,0xfea912ba,0x25e1a16e,0x68363aba,0x752c41ac,0xb8842277,0x2897c3fc,0xfe545c28,0xdc4c696b,0x2d36e9e7,0xfba977c5,0x5806244a,0xe39508c1,0x85665e9b,0x6d12597b,0xf720ee25
-.long 0xd2337a31,0x8a979129,0x0f862bdc,0x5916868f,0x5dd283ba,0x048099d9,0xfe5bfb4e,0xe2d1eeb6,0x7884005d,0x82ef1c41,0xffffcbae,0xa2d4ec17,0x8aa95e66,0x9161c53f,0xc5fee0d0,0x5ee104e1
-.long 0xc135b208,0x562e4cec,0x4783f47d,0x74e1b265,0x5a3f3b30,0x6d2a506c,0xc16762fc,0xecead9f4,0xe286e5b9,0xf29dd4b2,0x83bb3c61,0x1b0fadc0,0x7fac29a4,0x7a75023e,0xc9477fa3,0xc086d5f1
-.long 0x2f6f3076,0x0fc61135,0xe3912a9a,0xc99ffa23,0xd2f8ba3d,0x6a0b0685,0xe93358a4,0xfdc777e8,0x35415f04,0x94a787bb,0x4d23fea4,0x640c2d6a,0x153a35b5,0x9de917da,0x5d5cd074,0x793e8d07
-.long 0x2de45068,0xf4f87653,0x9e2e1f6e,0x37c7a7e8,0xa3584069,0xd0825fa2,0x1727bf42,0xaf2cea7c,0x9e4785a9,0x0360a4fb,0x27299f4a,0xe5fda49c,0x71ac2f71,0x48068e13,0x9077666f,0x83d0687b
-.long 0x15d02819,0x6d3883b2,0x40dd9a35,0x6d0d7550,0x1d2b469f,0x61d7cbf9,0x2efc3115,0xf97b232f,0xb24bcbc7,0xa551d750,0x88a1e356,0x11ea4949,0x93cb7501,0x7669f031,0xca737b8a,0x595dc55e
-.long 0xd837879f,0xa4a319ac,0xed6b67b0,0x6fc1b49e,0x32f1f3af,0xe3959933,0x65432a2e,0x966742eb,0xb4966228,0x4b8dc9fe,0x43f43950,0x96cc6312,0xc9b731ee,0x12068859,0x56f79968,0x7b948dc3
-.long 0xed1f8008,0x61e4ad32,0xd8b17538,0xe6c9267a,0x857ff6fb,0x1ac7c5eb,0x55f2fb10,0x994baaa8,0x1d248018,0x84cf14e1,0x628ac508,0x5a39898b,0x5fa944f5,0x14fde97b,0xd12e5ac7,0xed178030
-.long 0x97e2feb4,0x042c2af4,0xaebf7313,0xd36a42d7,0x084ffdd7,0x49d2c9eb,0x2ef7c76a,0x9f8aa54b,0x09895e70,0x9200b7ba,0xddb7fb58,0x3bd0c66f,0x78eb4cbb,0x2d97d108,0xd84bde31,0x2d431068
-.long 0x172ccd1f,0x4b523eb7,0x30a6a892,0x7323cb28,0xcfe153eb,0x97082ec0,0xf2aadb97,0xe97f6b6a,0xd1a83da1,0x1d3d393e,0x804b2a68,0xa6a7f9c7,0x2d0cb71e,0x4a688b48,0x40585278,0xa9b4cc5f
-.long 0xcb66e132,0x5e5db46a,0x0d925880,0xf1be963a,0x0317b9e2,0x944a7027,0x48603d48,0xe266f959,0x5c208899,0x98db6673,0xa2fb18a3,0x90472447,0x777c619f,0x8a966939,0x2a3be21b,0x3798142a
-.long 0x3298b343,0xb4241cb1,0xb44f65a1,0xa3a14e49,0x3ac77acd,0xc5f4d6cd,0x52b6fc3c,0xd0288cb5,0x1c040abc,0xd5cc8c2f,0x06bf9b4a,0xb675511e,0x9b3aa441,0xd667da37,0x51601f72,0x460d45ce
-.long 0x6755ff89,0xe2f73c69,0x473017e6,0xdd3cf7e7,0x3cf7600d,0x8ef5689d,0xb1fc87b4,0x948dc4f8,0x4ea53299,0xd9e9fe81,0x98eb6028,0x2d921ca2,0x0c9803fc,0xfaecedfd,0x4d7b4745,0xf38ae891
-.long 0xc5e3a3d8,0xd8c5fccf,0x4079dfbf,0xbefd904c,0xfead0197,0xbc6d6a58,0x695532a4,0x39227077,0xdbef42f5,0x09e23e6d,0x480a9908,0x7e449b64,0xad9a2e40,0x7b969c1a,0x9591c2a4,0x6231d792
-.long 0x0f664534,0x87151456,0x4b68f103,0x85ceae7c,0x65578ab9,0xac09c4ae,0xf044b10c,0x33ec6868,0x3a8ec1f1,0x6ac4832b,0x5847d5ef,0x5509d128,0x763f1574,0xf909604f,0xc32f63c4,0xb16c4303
-.long 0x7ca23cd3,0xb6ab2014,0xa391849d,0xcaa7a5c6,0x75678d94,0x5b0673a3,0xdd303e64,0xc982ddd4,0x5db6f971,0xfd7b000b,0x6f876f92,0xbba2cb1f,0x3c569426,0xc77332a3,0x570d74f8,0xa159100c
-.long 0xdec67ef5,0xfd16847f,0x233e76b7,0x742ee464,0xefc2b4c8,0x0b8e4134,0x42a3e521,0xca640b86,0x8ceb6aa9,0x653a0190,0x547852d5,0x313c300c,0x6b237af7,0x24e4ab12,0x8bb47af8,0x2ba90162
-.long 0xa8219bb7,0x3d5e58d6,0x1b06c57f,0xc691d0bd,0xd257576e,0x0ae4cb10,0xd54a3dc3,0x3569656c,0x94cda03a,0xe5ebaebd,0x162bfe13,0x934e82d3,0xe251a0c6,0x450ac0ba,0xdd6da526,0x480b9e11
-.long 0x8cce08b5,0x00467bc5,0x7f178d55,0xb636458c,0xa677d806,0xc5748bae,0xdfa394eb,0x2763a387,0x7d3cebb6,0xa12b448a,0x6f20d850,0xe7adda3e,0x1558462c,0xf63ebce5,0x620088a8,0x58b36143
-.long 0x4d63c0ee,0x8a2cc3ca,0x0fe948ce,0x51233117,0x222ef33b,0x7463fd85,0x7c603d6c,0xadf0c7dc,0xfe7765e5,0x0ec32d3b,0xbf380409,0xccaab359,0x8e59319c,0xbdaa84d6,0x9c80c34d,0xd9a4c280
-.long 0xa059c142,0xa9d89488,0xff0b9346,0x6f5ae714,0x16fb3664,0x068f237d,0x363186ac,0x5853e4c4,0x63c52f98,0xe2d87d23,0x81828876,0x2ec4a766,0xe14e7b1c,0x47b864fa,0x69192408,0x0c0bc0e5
-.long 0xb82e9f3e,0xe4d7681d,0xdf25e13c,0x83200f0b,0x66f27280,0x8909984c,0x75f73227,0x462d7b00,0xf2651798,0xd90ba188,0x36ab1c34,0x74c6e18c,0x5ef54359,0xab256ea3,0xd1aa702f,0x03466612
-.long 0x2ed22e91,0x624d6049,0x6f072822,0x6fdfe0b5,0x39ce2271,0xeeca1115,0xdb01614f,0x98100a4f,0xa35c628f,0xb6b0daa2,0xc87e9a47,0xb6f94d2e,0x1d57d9ce,0xc6773259,0x03884a7b,0xf70bfeec
-.long 0xed2bad01,0x5fb35ccf,0x1da6a5c7,0xa155cbe3,0x30a92f8f,0xc2e2594c,0x5bfafe43,0x649c89ce,0xe9ff257a,0xd158667d,0xf32c50ae,0x9b359611,0x906014cf,0x4b00b20b,0x89bc7d3d,0xf3a8cfe3
-.long 0x248a7d06,0x4ff23ffd,0x878873fa,0x80c5bfb4,0x05745981,0xb7d9ad90,0x3db01994,0x179c85db,0x61a6966c,0xba41b062,0xeadce5a8,0x4d82d052,0xa5e6a318,0x9e91cd3b,0x95b2dda0,0x47795f4f
-.long 0xd55a897c,0xecfd7c1f,0xb29110fb,0x009194ab,0xe381d3b0,0x5f0e2046,0xa98dd291,0x5f3425f6,0x730d50da,0xbfa06687,0x4b083b7f,0x0423446c,0xd69d3417,0x397a247d,0x387ba42a,0xeb629f90
-.long 0xd5cd79bf,0x1ee426cc,0x946c6e18,0x0032940b,0x57477f58,0x1b1e8ae0,0x6d823278,0xe94f7d34,0x782ba21a,0xc747cb96,0xf72b33a5,0xc5254469,0xc7f80c81,0x772ef6de,0x2cd9e6b5,0xd73acbfe
-.long 0x49ee90d9,0x4075b5b1,0xa06e9eba,0x785c339a,0xabf825e0,0xa1030d5b,0xa42931dc,0xcec684c3,0xc1586e63,0x42ab62c9,0x5ab43f2b,0x45431d66,0x55f7835d,0x57c8b2c0,0xc1b7f865,0x033da338
-.long 0xcaa76097,0x283c7513,0x36c83906,0x0a624fa9,0x715af2c7,0x6b20afec,0xeba78bfd,0x4b969974,0xd921d60e,0x220755cc,0x7baeca13,0x9b944e10,0x5ded93d4,0x04819d51,0x6dddfd27,0x9bbff86e
-.long 0x77adc612,0x6b344130,0xbbd803a0,0xa7496529,0x6d8805bd,0x1a1baaa7,0x470343ad,0xc8403902,0x175adff1,0x39f59f66,0xb7d8c5b7,0x0b26d7fb,0x529d75e3,0xa875f5ce,0x41325cc2,0x85efc7e9
-.long 0x1ff6acd3,0x21950b42,0x53dc6909,0xffe70484,0x28766127,0xff4cd0b2,0x4fb7db2b,0xabdbe608,0x5e1109e8,0x837c9228,0xf4645b5a,0x26147d27,0xf7818ed8,0x4d78f592,0xf247fa36,0xd394077e
-.long 0x488c171a,0x0fb9c2d0,0x13685278,0xa78bfbaa,0xd5b1fa6a,0xedfbe268,0x2b7eaba7,0x0dceb8db,0x9ae2b710,0xbf9e8089,0xa4449c96,0xefde7ae6,0xcc143a46,0x43b7716b,0xc3628c13,0xd7d34194
-.long 0x3b3f64c9,0x508cec1c,0x1e5edf3f,0xe20bc0ba,0x2f4318d4,0xda1deb85,0x5c3fa443,0xd20ebe0d,0x73241ea3,0x370b4ea7,0x5e1a5f65,0x61f1511c,0x82681c62,0x99a5e23d,0xa2f54c2d,0xd731e383
-.long 0x83445904,0x2692f36e,0xaf45f9c0,0x2e0ec469,0xc67528b7,0x905a3201,0xd0e5e542,0x88f77f34,0x5864687c,0xf67a8d29,0x22df3562,0x23b92eae,0x9bbec39e,0x5c27014b,0x9c0f0f8d,0x7ef2f226
-.long 0x546c4d8d,0x97359638,0x92f24679,0x5f9c3fc4,0xa8c8acd9,0x912e8bed,0x306634b0,0xec3a318d,0xc31cb264,0x80167f41,0x522113f2,0x3db82f6f,0xdcafe197,0xb155bcd2,0x43465283,0xfba1da59
-.long 0xb212cf53,0xa0425b8e,0xf8557c5f,0x4f2e512e,0x25c4d56c,0xc1286ff9,0xee26c851,0xbb8a0fea,0xe7d6107e,0xc28f70d2,0xe76265aa,0x7ee0c444,0x1d1936b1,0x3df277a4,0xea9595eb,0x1a556e3f
-.long 0xe7305683,0x258bbbf9,0x07ef5be6,0x31eea5bf,0x46c814c1,0x0deb0e4a,0xa7b730dd,0x5cee8449,0xa0182bde,0xeab495c5,0x9e27a6b4,0xee759f87,0x80e518ca,0xc2cf6a68,0xf14cf3f4,0x25e8013f
-.long 0x7e8d7a14,0x8fc44140,0x9556f36a,0xbb1ff3ca,0x14600044,0x6a844385,0x7451ae63,0xba3f0c4a,0x1f9af32a,0xdfcac25b,0xb1f2214b,0x01e0db86,0xa4b596ac,0x4e9a5bc2,0x026c2c08,0x83927681
-.long 0x7acaca28,0x3ec832e7,0xc7385b29,0x1bfeea57,0xfd1eaf38,0x068212e3,0x6acf8ccc,0xc1329830,0x2aac9e59,0xb909f2db,0xb661782a,0x5748060d,0xc79b7a01,0xc5ab2632,0x00017626,0xda44c6c6
-.long 0xa7ea82f0,0xf26c00e8,0xe4299aaf,0x99cac80d,0x7ed78be1,0xd66fe3b6,0x648d02cd,0x305f725f,0x623fb21b,0x33ed1bc4,0x7a6319ad,0xfa70533e,0xbe5ffb3e,0x17ab562d,0x56674741,0x06374994
-.long 0x5c46aa8e,0x69d44ed6,0xa8d063d1,0x2100d5d3,0xa2d17c36,0xcb9727ea,0x8add53b7,0x4c2bab1b,0x15426704,0xa084e90c,0xa837ebea,0x778afcd3,0x7ce477f8,0x6651f701,0x46fb7a8b,0xa0624998
-.long 0xed8a6e19,0xdc1e6828,0x4189d9c7,0x33fc2336,0x671c39bc,0x026f8fe2,0xbc6f9915,0xd40c4ccd,0xf80e75ca,0xafa135bb,0x22adff2c,0x12c651a0,0x4f51ad96,0xc40a04bd,0xbbe4e832,0x04820109
-.long 0x7f4c04cc,0x3667eb1a,0xa9404f84,0x59556621,0x7eceb50a,0x71cdf653,0x9b8335fa,0x994a44a6,0xdbeb9b69,0xd7faf819,0xeed4350d,0x473c5680,0xda44bba2,0xb6658466,0x872bdbf3,0x0d1bc780
-.long 0xa1962f91,0xe535f175,0xed58f5a7,0x6ed7e061,0x2089a233,0x177aa4c0,0xe539b413,0x0dbcb03a,0xbb32e38e,0xe3dc424e,0x6806701e,0x6472e5ef,0x814be9ee,0xdd47ff98,0x35ace009,0x6b60cfff
-.long 0x9ff91fe5,0xb8d3d931,0xf0518eed,0x039c4800,0x9182cb26,0x95c37632,0x82fc568d,0x0763a434,0x383e76ba,0x707c04d5,0x824e8197,0xac98b930,0x91230de0,0x92bf7c8f,0x40959b70,0x90876a01
-.long 0x05968b80,0xdb6d96f3,0x089f73b9,0x380a0913,0xc2c61e01,0x7da70b83,0x569b38c7,0x95fb8394,0x80edfe2f,0x9a3c6512,0x8faeaf82,0x8f726bb9,0x78424bf8,0x8010a4a0,0x0e844970,0x29672044
-.long 0x7a2ad62a,0x63c5cb81,0xac62ff54,0x7ef2b6b9,0xb3ad9db5,0x3749bba4,0x46d5a617,0xad311f2c,0xc2ff3b6d,0xb77a8087,0x367834ff,0xb46feaf3,0x75d6b138,0xf8aa266d,0xec008188,0xfa38d320
-.long 0x696946fc,0x486d8ffa,0xb9cba56d,0x50fbc6d8,0x90f35a15,0x7e3d423e,0xc0dd962c,0x7c3da195,0x3cfd5d8b,0xe673fdb0,0x889dfca5,0x0704b7c2,0xf52305aa,0xf6ce581f,0x914d5e53,0x399d49eb
-.long 0x6ec293cd,0x380a496d,0x8e7051f5,0x733dbda7,0xb849140a,0x037e388d,0x5946dbf6,0xee4b32b0,0xcae368d1,0xb1c4fda9,0xfdb0b2f3,0x5001a7b0,0x2e3ac46e,0x6df59374,0x39b3e656,0x4af675f2
-.long 0x39949296,0x44e38110,0x361db1b5,0x5b63827b,0x206eaff5,0x3e5323ed,0xc21f4290,0x942370d2,0xe0d985a1,0xf2caaf2e,0x7239846d,0x192cc64b,0xae6312f8,0x7c0b8f47,0x96620108,0x7dc61f91
-.long 0xc2da7de9,0xb830fb5b,0x0ff8d3be,0xd0e643df,0x188a9641,0x31ee77ba,0xbcf6d502,0x4e8aa3aa,0x9a49110f,0xf9fb6532,0x2dd6b220,0xd18317f6,0x52c3ea5a,0x7e3ced41,0x7d579c4a,0x0d296a14
-.long 0xed4c3717,0x35d6a53e,0x3d0ed2a3,0x9f8240cf,0xe5543aa5,0x8c0d4d05,0xdd33b4b4,0x45d5bbfb,0x137fd28e,0xfa04cc73,0xc73b3ffd,0x862ac6ef,0x31f51ef2,0x403ff9f5,0xbc73f5a2,0x34d5e0fc
-.long 0x08913f4f,0xf2526820,0xeac93d95,0xea20ed61,0x6ca6b26c,0x51ed38b4,0xea4327b0,0x8662dcbc,0x725d2aaa,0x6daf295c,0x8e52dcda,0xbad2752f,0x0b17dacc,0x2210e721,0xd51e8232,0xa37f7912
-.long 0x44cc3add,0x4f7081e1,0x87be82cf,0xd5ffa1d6,0x0edd6472,0x89890b6c,0x3ed17863,0xada26e1a,0x63483caa,0x276f2715,0x2f6077fd,0xe6924cd9,0x0a466e3c,0x05a7fe98,0xb1902d1f,0xf1c794b0
-.long 0x82a8042c,0xe5213688,0xcd278298,0xd931cfaf,0xf597a740,0x069a0ae0,0xeb59107c,0x0adbb3f3,0x5eaa8eb8,0x983e951e,0x11b48e78,0xe663a8b5,0x8a03f2c5,0x1631cc0d,0x11e271e2,0x7577c11e
-.long 0x08369a90,0x33b2385c,0x190eb4f8,0x2990c59b,0xc68eac80,0x819a6145,0x2ec4a014,0x7a786d62,0x20ac3a8d,0x33faadbe,0x5aba2d30,0x31a21781,0xdba4f565,0x209d2742,0x55aa0fbb,0xdb2ce9e3
-.long 0x168984df,0x8cef334b,0x33879638,0xe81dce17,0x263720f0,0xf6e6949c,0xf593cbec,0x5c56feaf,0xfde58c84,0x8bff5601,0x2eccb314,0x74e24117,0x4c9a8a78,0xbcf01b61,0x544c9868,0xa233e35e
-.long 0x8bd7aff1,0xb3156bf3,0x1d81b146,0x1b5ee4cb,0xd628a915,0x7ba1ac41,0xfd89699e,0x8f3a8f9c,0xa0748be7,0x7329b9c9,0xa92e621f,0x1d391c95,0x4d10a837,0xe51e6b21,0x4947b435,0xd255f53a
-.long 0xf1788ee3,0x07669e04,0xa86938a2,0xc14f27af,0xe93a01c0,0x8b47a334,0xd9366808,0xff627438,0xca2a5965,0x7a0985d8,0xd6e9b9b3,0x3d9a5542,0x4cf972e8,0xc23eb80b,0x4fdf72fd,0x5c1c33bb
-.long 0x74a86108,0x0c4a58d4,0xee4c5d90,0xf8048a8f,0xe86d4c80,0xe3c7c924,0x056a1e60,0x28c889de,0xb214a040,0x57e2662e,0x37e10347,0xe8c48e98,0x80ac748a,0x87742862,0x186b06f2,0xf1c24022
-.long 0x5f74040a,0xac2dd4c3,0xfceac957,0x409aeb71,0x55c4ec23,0x4fbad782,0x8a7b76ec,0xb359ed61,0xed6f4a60,0x12744926,0x4b912de3,0xe21e8d7f,0xfc705a59,0xe2575a59,0xed2dbc0e,0x72f1d4de
-.long 0xeb7926b8,0x3d2b24b9,0xcdbe5509,0xbff88cb3,0xe4dd640b,0xd0f399af,0x2f76ed45,0x3c5fe130,0x3764fb3d,0x6f3562f4,0x3151b62d,0x7b5af318,0xd79ce5f3,0xd5bd0bc7,0xec66890f,0xfdaf6b20
-.long 0x6063540c,0x735c67ec,0xe5f9cb8f,0x50b259c2,0x3f99c6ab,0xb8734f9a,0xa3a7bc85,0xf8cc13d5,0xc5217659,0x80c1b305,0x4ec12a54,0xfe5364d4,0x681345fe,0xbd87045e,0x582f897f,0x7f8efeb1
-.long 0xd5923359,0xe8cbf1e5,0x539b9fb0,0xdb0cea9d,0x49859b98,0x0c5b34cf,0xa4403cc6,0x5e583c56,0xd48185b7,0x11fc1a2d,0x6e521787,0xc93fbc7e,0x05105b8b,0x47e7a058,0xdb8260c8,0x7b4d4d58
-.long 0x46eb842a,0xe33930b0,0x7bdae56d,0x8e844a9a,0x13f7fdfc,0x34ef3a9e,0x636ca176,0xb3768f82,0x4e09e61c,0x2821f4e0,0xa0c7cddc,0x414dc3a1,0x54945fcd,0xd5379437,0xb3555ff1,0x151b6eef
-.long 0x6339c083,0xb31bd613,0xdfb64701,0x39ff8155,0xe29604ab,0x7c3388d2,0xa6b10442,0x1e19084b,0xeccd47ef,0x17cf54c0,0x4a5dfb30,0x89693385,0x47daf9f6,0x69d023fb,0x7d91d959,0x9222840b
-.long 0x803bac62,0x439108f5,0x379bd45f,0x0b7dd91d,0xca63c581,0xd651e827,0x509c104f,0x5c5d75f6,0x1f2dc308,0x7d5fc738,0xd98454be,0x20faa7bf,0xa517b031,0x95374bee,0x642692ac,0xf036b9b1
-.long 0x39842194,0xc5106109,0x49d05295,0xb7e2353e,0xefb42ee0,0xfc8c1d5c,0x08ce811c,0xe04884eb,0x7419f40e,0xf1f75d81,0xa995c241,0x5b0ac162,0xc4c55646,0x120921bb,0x8d33cf97,0x713520c2
-.long 0xe98c5100,0xb4a65a5c,0x2ddd0f5a,0x6cec871d,0x9ba2e78b,0x251f0b7f,0xce3a2a5f,0x224a8434,0x25f5c46f,0x26827f61,0x48545ec0,0x6a22bedc,0xb1bb5cdc,0x25ae5fa0,0xfcb9b98f,0xd693682f
-.long 0x91e5d7d3,0x32027fe8,0x73a07678,0xf14b7d17,0xc0dfdd61,0xf88497b3,0x2a8c4f48,0xf7c2eec0,0x3756e621,0xaa5573f4,0x1825b948,0xc013a240,0x63878572,0x1c03b345,0x653a4184,0xa0472bea
-.long 0x0ac69a80,0xf4222e27,0xf51e54f6,0x34096d25,0x8fffa591,0x00a648cb,0x69b6527f,0x4e87acdc,0xe285ccb4,0x0575e037,0x50ddcf52,0x188089e4,0x870ff719,0xaa96c9a8,0x1fc7e369,0x74a56cd8
-.long 0x1726931a,0x41d04ee2,0x3660ecfd,0x0bbbb2c8,0x24818e18,0xa6ef6de5,0xe7d57887,0xe421cc51,0xbea87be6,0xf127d208,0xb1cdd682,0x16a475d3,0x439b63f7,0x9db1b684,0xf0f113b6,0x5359b3db
-.long 0x8bf06e31,0xdfccf1de,0xdd383901,0x1fdf8f44,0x5017e7d2,0x10775cad,0x58d11eef,0xdfc3a597,0xb1ecff10,0x6ec9c8a0,0x28400549,0xee6ed6cc,0x1b4f8d73,0xb5ad7bae,0xe00aaab9,0x61b4f11d
-.long 0xd4eff2d7,0x7b32d69b,0x4288b60f,0x88ae6771,0x37a1e723,0x159461b4,0x570aae8c,0x1f3d4789,0x7f9871da,0x869118c0,0xf635e278,0x35fbda78,0xe1541dac,0x738f3641,0xc0dae45f,0x6794b13a
-.long 0x09cc0917,0x065064ac,0xc68540fd,0x27c53729,0xef227671,0x0d2d4c8e,0xa1785a04,0xd23a9f80,0x52650359,0x98c59528,0x74a1acad,0xfa09ad01,0x0b55bf5c,0x082d5a29,0x419b8084,0xa40f1c67
-.long 0xdcc18770,0x3a5c752e,0x8825c3a5,0x4baf1f2f,0x21b153ed,0xebd63f74,0xb2f64723,0xa2383e47,0x2646d19a,0xe7bf620a,0x03c83ffd,0x56cb44ec,0x4f6be9f1,0xaf7267c9,0xc06bb5e9,0x8b2dfd7b
-.long 0xa672c5c7,0xb87072f2,0x0d53c5e2,0xeacb11c8,0xff435932,0x22dac29d,0x4408693c,0x37bdb99d,0x2899c20f,0xf6e62fb6,0x447ece24,0x3535d512,0xff577ce3,0xfbdc6b88,0x190575f2,0x726693bd
-.long 0xab4b35a2,0x6772b0e5,0xf5eeaacf,0x1d8b6001,0x795b9580,0x728f7ce4,0x41fb81da,0x4a20ed2a,0x4fec01e6,0x9f685cd4,0xa7ff50ad,0x3ed7ddcc,0x0c2d97fd,0x460fd264,0xeb82f4f9,0x3a241426
-.long 0x6a8ea820,0x17d1df2c,0xf22cc254,0xb2b50d3b,0xb7291426,0x03856cba,0x04f5ee39,0x87fd26ae,0x02bee4ba,0x9cb696cc,0x06820fd6,0x53121804,0x0212e985,0xa5dfc269,0x160f9a09,0x666f7ffa
-.long 0xbccd9617,0xc503cd33,0xba7730a3,0x365dede4,0x5ddb0786,0x798c6355,0xfc9cd3bc,0xa6c3200e,0xe5e35efd,0x060ffb2c,0x5555a1c1,0x99a4e25b,0xf70b3751,0x11d95375,0x160e1bf6,0x0a57354a
-.long 0xf8e4b065,0xecb3ae4b,0x2e53022b,0x07a834c4,0x8692ed96,0x1cd300b3,0x61ee14ec,0x16a6f792,0x6a8649ed,0x8f1063c6,0x869f3e14,0xfbcdfcfe,0x00a7b3ec,0x2cfb97c1,0x7130c2f1,0xcea49b3c
-.long 0xe9d96488,0x462d044f,0x8182a0c1,0x4b53d52e,0x0391e9e9,0x84b6ddd3,0xb1741a09,0x80ab7b48,0x27d3317f,0xec0e15d4,0x1a64671e,0x8dfc1ddb,0xd49c5b92,0x93cc5d5f,0x3674a331,0xc995d53d
-.long 0x090090ae,0x302e41ec,0xedb06830,0x2278a0cc,0xfbc99690,0x1d025932,0xb80d68da,0x0c32fbd2,0xf341a6c1,0xd79146da,0x1bef68a0,0xae0ba139,0x8d774b3a,0xc6b8a563,0x880ba4d7,0x1cf307bd
-.long 0x19803511,0xc033bdc7,0x8888c3be,0xa9f97b3b,0x85c6d05e,0x3d68aebc,0x193919eb,0xc3b88a9d,0xc48b0ee3,0x2d300748,0x07a746c1,0x7506bc7c,0x6e6d57f3,0xfc48437c,0xcfeaa91a,0x5bd71587
-.long 0xc1bc5225,0xa4ed0408,0x2719226d,0xd0b946db,0x758d2d43,0x109ecd62,0x2751759b,0x75c8485a,0x9ce4177a,0xb0b75f49,0x79c10c3d,0x4fa61a1e,0xa167fcd7,0xc062d300,0x750f0fa8,0x4df3874c
-.long 0x83dfedc9,0x29ae2cf9,0x8d87631a,0xf8437134,0x7429c8d2,0xaf571711,0x146d9272,0x18d15867,0x69769bb7,0x83053ecf,0xc479ab82,0xc55eb856,0x21b0f4b2,0x5ef7791c,0x3d491525,0xaa5956ba
-.long 0x9fe20eba,0x407a96c2,0xe52a5ad3,0xf27168bb,0xbf1d9d89,0x43b60ab3,0x710e727a,0xe45c51ef,0x099b4221,0xdfca5276,0x2557a159,0x8dc6407c,0x91035895,0x0ead8335,0x9c55dc32,0x0a9db957
-.long 0xdf61bc76,0xe40736d3,0x3f778cdb,0x13a619c0,0xc56ea28f,0x6dd921a4,0x2fa647b4,0x76a52433,0xac5bdc5d,0x23591891,0xbac7dc01,0xff4a1a72,0x62df8453,0x9905e261,0xe63b265f,0x3ac045df
-.long 0xad53dba7,0x8a3f341b,0x837b625a,0x8ec269cc,0x3ae31189,0xd71a2782,0x55e96120,0x8fb4f9a3,0xff9875cf,0x804af823,0x5d442a9b,0x23224f57,0xecc62679,0x1c4d3b9e,0xa0e7ddb1,0x91da22fb
-.long 0x6c04a661,0xa370324d,0x5e376d17,0x9710d3b6,0x3044e357,0xed8c98f0,0x6422701c,0xc364ebbe,0x7733d61c,0x347f5d51,0xcea826c3,0xd55644b9,0x55a25548,0x80c6e0ad,0x844220a7,0x0aa7641d
-.long 0x31810660,0x1438ec81,0xde4b4043,0x9dfa6507,0xcc3e0273,0x10b515d8,0x28d8cfb2,0x1b6066dd,0x9c9efebd,0xd3b04591,0xa21c1ff4,0x425d4bdf,0xd57607d3,0x5fe5af19,0x54481084,0xbbf773f7
-.long 0x94b03ed1,0x8435bd69,0x634cc546,0xd9ad1de3,0x00e420ca,0x2cf423fc,0xa03096dd,0xeed26d80,0xa4db09d2,0xd7f60be7,0x960622f7,0xf47f569d,0x7296c729,0xe5925fd7,0x26ca2715,0xeff2db26
-.long 0xb913e759,0xa6fcd014,0x8ff4de93,0x53da4786,0xc32068e1,0x14616d79,0xccdf352e,0xb187d664,0x1dc90b59,0xf7afb650,0x7daa1b26,0x8170e943,0x700c0a84,0xc8e3bdd8,0x6482bdfa,0x6e8d345f
-.long 0xc5c5ea50,0x84cfbfa1,0x67960681,0xd3baf14c,0x0dd50942,0x26398403,0x4716a663,0xe4b7839c,0xe7de6dc0,0xd5f1f794,0x622aa7ce,0x5cd0f4d4,0x59acfeec,0x5295f3f1,0x953e0607,0x8d933552
-.long 0x776c5722,0xc7db8ec5,0x2b5f290c,0xdc467e62,0x4ff425a9,0xd4297e70,0x0cf7bb72,0x4be924c1,0xa1892131,0x0d5dc5ae,0xa705c992,0x8bf8a8e3,0x7a305ac5,0x73a0b064,0x9a8c77a8,0x00c9ca4e
-.long 0x83774bdd,0x5dfee80f,0x85734485,0x63131602,0x914a69a9,0xa1b524ae,0xd4e300d7,0xebc2ffaf,0x7cfa46a5,0x52c93db7,0x21653b50,0x71e6161f,0xa4bc580a,0x3574fc57,0xe1bc1253,0xc09015dd
-.long 0xd174d7aa,0x4b7b47b2,0xf3a15d04,0x4072d8e8,0xd6fa07ed,0xeeb7d47f,0xedbdafb1,0x6f2b9ff9,0x3760fe8a,0x18c51615,0xf06c6c13,0x7a96e6bf,0x0ea2d071,0x4d7a0410,0x0be2a5ce,0xa1914e9b
-.long 0xd8a3c5cf,0x5726e357,0x2abb2b13,0x1197ecc3,0x31ae88dd,0x6c0d7f7f,0xfdbb3efe,0x15b20d1a,0x70584039,0xcd06aa26,0xa7dc9747,0x2277c969,0x7855d815,0xbca69587,0x5188b32a,0x899ea238
-.long 0x760c1c9d,0x37d9228b,0x9b5c18da,0xc7efbb11,0x19f6dbc5,0x7f0d1bc8,0x07e6905b,0x4875384b,0x3ba8cd86,0xc7c50baa,0xc2905de0,0xb0ce40fb,0x7a231952,0x70840673,0xcf43de26,0xa912a262
-.long 0xeb5b76c1,0x9c38ddcc,0x26fc0ab4,0x746f5285,0xd62c269f,0x52a63a50,0x99458621,0x60049c55,0x3c2f7c9e,0xe7f48f82,0x917d5cf3,0x6bd99043,0x8701f469,0xeb1317a8,0x9a449fe0,0xbd3fe2ed
-.long 0x12ef3d36,0x421e79ca,0x3e7ea5de,0x9ee3c36c,0xcdff36f7,0xe48198b5,0xc6b82228,0xaff4f967,0xc47adb7e,0x15e19dd0,0x032e7dfa,0x45699b23,0x1fae026a,0x40680c8b,0x550dbf4d,0x5a347a48
-.long 0x3cef0d7d,0xe652533b,0x2bbb4381,0xd94f7b18,0x0e80f500,0x838752be,0x9e9c9bfb,0x8e6e2488,0x16caca6a,0xc9751697,0x38531ad9,0x866c49d8,0x7151ade1,0xc917e239,0x6037c407,0x2d016ec1
-.long 0x00eac3f9,0xa407ccc9,0xe2ed4748,0x835f6280,0x1cc98e0d,0xcc54c347,0xdcb572eb,0x0e969937,0x8f30c9cb,0x1b16c8e8,0x373c4661,0xa606ae75,0x35502cab,0x47aa689b,0x4d9bb64f,0xf89014ae
-.long 0x31c71f7b,0x202f6a9c,0x296ffe5c,0x01f95aa3,0x53cec3a3,0x5fc06014,0x5f498a45,0xeb991237,0x5d91ba87,0xae9a935e,0x0b564a19,0xc6ac6281,0x3bd44e69,0x8a8fe81c,0x9dd11d45,0x7c8b467f
-.long 0xea5b8e69,0xf772251f,0xc5b75fbc,0xaeecb3bd,0x887ff0e5,0x1aca3331,0x19f0a131,0xbe5d49ff,0xe5c8646f,0x582c13aa,0x20e19980,0xdbaa12e8,0xf7abbd94,0x8f40f31a,0x1dfc7663,0x1f13f5a8
-.long 0xaceb4fc0,0x5d81f1ee,0x5e6f0f42,0x36256002,0x751370c8,0x4b67d6d7,0x03e80589,0x2608b698,0x05268301,0xcfc0d2fc,0x40309212,0xa6943d39,0x1fd0e1c2,0x192a90c2,0x37f1dc76,0xb209f113
-.long 0x97bf1298,0xefcc5e06,0x219d639e,0xcbdb6730,0xb81e8c6f,0xd009c116,0x1a7ce2e5,0xa3ffdde3,0xa914d3ba,0xc53fbaaa,0x88df85ee,0x836d500f,0x66ee0751,0xd98dc71b,0x714516fd,0x5a3d7005
-.long 0x39eedbba,0x21d3634d,0x0455a46d,0x35cd2e68,0xf9d7eb0c,0xc8cafe65,0x00cefb3e,0xbda3ce9e,0x2c9cf7a4,0xddc17a60,0x7bcb8773,0x01572ee4,0x8c7548df,0xa92b2b01,0xa84600e3,0x732fd309
-.long 0x16543a40,0xe22109c7,0xfede3c6c,0x9acafd36,0x6824e614,0xfb206852,0xda25dca0,0x2a4544a9,0x91d60b06,0x25985262,0x28753545,0x281b7be9,0x90f13b27,0xec667b1a,0x940e2eb4,0x33a83aff
-.long 0xd5d721d5,0x80009862,0x5bd3a182,0x0c3357a3,0x7aa2cda4,0x27f3a83b,0xf6f83085,0xb58ae74e,0x2e6dad6b,0x2a911a81,0xf43d6c5b,0xde286051,0xf996c4d8,0x4bdccc41,0x0ae1e24e,0xe7312ec0
-.long 0x6e6485b3,0xf8d112e7,0x771c52f8,0x4d3e24db,0x684a2f6d,0x48e3ee41,0x21d95551,0x7161957d,0xcdb12a6c,0x19631283,0x2e50e164,0xbf3fa882,0x3166cc73,0xf6254b63,0xaee8cc38,0x3aefa7ae
-.long 0x3b36f9fd,0x79b0fe62,0xfde19fc0,0x26543b23,0x958482ef,0x136e64a0,0x9b095825,0x23f63771,0xb6a1142e,0x14cfd596,0x335aac0b,0x5ea6aac6,0xf3081dd5,0x86a0e8bd,0x003dc12a,0x5fb89d79
-.long 0xf72e34d4,0xf615c33a,0x110eec35,0x0bd9ea40,0xc1dea34e,0x1c12bc5b,0x49ae4699,0x686584c9,0x8c97b942,0x13ad95d3,0x4e5c7562,0x4609561a,0xf2737f89,0x9e94a4ae,0x371c78b6,0xf57594c6
-.long 0xe3779ee3,0x0f0165fc,0xbd495d9e,0xe00e7f9d,0x20284e7a,0x1fa4efa2,0x47ac6219,0x4564bade,0xc4708e8e,0x90e6312a,0xa71e9adf,0x4f5725fb,0x3d684b9f,0xe95f55ae,0x1e94b415,0x47f7ccb1
-.long 0x8d946581,0x7322851b,0xbdf4a012,0xf0d13133,0x6584dae0,0xa3510f69,0x3c9f6c6d,0x03a7c171,0xe475381a,0x5be97f38,0x85823334,0xca1ba422,0x0be17dda,0xf83cc5c7,0x0b918c0f,0x158b1494
-.long 0x522e6b69,0xda3a77e5,0xbbcd6c18,0x69c908c3,0xd924fd56,0x1f1b9e48,0xaa4bb3f7,0x37c64e36,0xee478d7d,0x5a4fdbdf,0x0193f7a0,0xba75c8bc,0x56cd16df,0x84bc1e84,0x46fad151,0x1fb08f08
-.long 0x842e9f30,0x8a7cabf9,0x5eab83af,0xa331d4bf,0x017f2a6a,0xd272cfba,0x83aba0e3,0x27560abc,0x0e3a6b75,0x94b83387,0x6b9f50f5,0x25c6aea2,0xb5fdf6d0,0x803d691d,0xe6333514,0x03b77509
-.long 0x61a341c1,0x36178903,0x0cfd6142,0x3604dc60,0x8533316c,0x022295eb,0x44af2922,0x3dbde4ac,0x1c7eef69,0x898afc5d,0xd14f4fa1,0x58896805,0x203c21ca,0x05002160,0x40ef730b,0x6f0d1f30
-.long 0x196224f8,0x8e8c44d4,0x374d079d,0x75a4ab95,0x7d48f123,0x79085ecc,0x1bf65ad8,0x56f04d31,0xbda602b2,0xe220bf1c,0xf9612c69,0x73ee1742,0x084fd06b,0x76008fc8,0xf11380d1,0x4000ef9f
-.long 0x12cfe297,0x48201b4b,0x292f74e5,0x3eee129c,0xc9e874e8,0xe1fe114e,0x92c5fc41,0x899b055c,0x3a39c8cf,0x4e477a64,0x78963cc9,0x82f09efe,0xd333f863,0x6fd3fd8f,0xdc949c63,0x85132b2a
-.long 0x516eb17b,0x7e06a3ab,0xd2c7372b,0x73bec06f,0xba896da6,0xe4f74f55,0x8e9eb40f,0xbb4afef8,0xe61d66b0,0x2d75bec8,0xef29300b,0x02bda4b4,0x026baa5a,0x8bbaa8de,0xa07f4440,0xff54befd
-.long 0xbe7a2af3,0xbd9b8b1d,0x4fb74a72,0xec51caa9,0x63879697,0xb9937a4b,0xec2687d5,0x7c9a9d20,0x6ef5f014,0x1773e44f,0xe90c6900,0x8abcf412,0x8142161e,0x387bd022,0xfcb6ff2a,0x50393755
-.long 0xed6def63,0x9813fd56,0x7d53106c,0x53cf6482,0x431f7ac1,0x991a35bd,0x63e65faf,0xf1e274dd,0x44cc7880,0xf63ffa3c,0x7c256981,0x411a426b,0x93a420e0,0xb698b9fd,0xae53f8fe,0x89fdddc0
-.long 0x32398baa,0x766e0722,0x5cfca031,0x205fee42,0x7a029cf2,0xa49f5341,0x4023890d,0xa88c68b8,0x7337aaa8,0xbc275041,0x0eb384f4,0x9ed364ad,0x29aba92f,0xe0816f85,0x04e38a88,0x2e9e1941
-.long 0x3dafd2d5,0x57eef44a,0x97ed98d8,0x35d1fae5,0x2307f9b1,0x50628c09,0xd6cba5c6,0x09d84aae,0x88aaa691,0x67071bc7,0xafe6cb03,0x2dea57a9,0x3d78ac01,0xdfe11bb4,0x7fd7aa51,0x7286418c
-.long 0x77f7195a,0xfabf7709,0xadeb838f,0x8ec86167,0xbb4f012d,0xea1285a8,0x9a3eab3f,0xd6883503,0x309004c2,0xee5d24f8,0x13ffe95e,0xa96e4b76,0xbd223ea4,0x0cdffe12,0xb6739a53,0x8f5c2ee5
-.long 0xdd968198,0x5cb4aaa5,0x72413a6c,0xfa131c52,0x9536d903,0x53d46a90,0x48606d8e,0xb270f0d3,0xa053a3bc,0x518c7564,0x1a86caef,0x088254b7,0x0ab5efd0,0xb3ba8cb4,0x4605945d,0x5c59900e
-.long 0xa1887395,0xecace1dd,0x932a65de,0x40960f36,0x3aa95529,0x9611ff5c,0x7c1e5a36,0xc58215b0,0xf0e1a524,0xd48c9b58,0xf590dfb8,0xb406856b,0x9cd95662,0xc7605e04,0xa33ecf82,0x0dd036ee
-.long 0xc33156b3,0xa50171ac,0x4a80172e,0xf09d24ea,0x76dc8eef,0x4e1f72c6,0x5e3d44ee,0xe60caadc,0x979b1d8f,0x006ef8a6,0x97788d26,0x60908a1c,0x266feec0,0x6e08f95b,0x22e8c94e,0x618427c2
-.long 0x59145a65,0x3d613339,0xfa406337,0xcd9bc368,0x2d8a52a0,0x82d11be3,0x97a1c590,0xf6877b27,0xf5cbdb25,0x837a819b,0xde090249,0x2a4fd1d8,0x74990e5f,0x622a7de7,0x7945511b,0x840fa5a0
-.long 0x6558842d,0x30b974be,0x17f3d0a6,0x70df8c64,0x7542e46d,0x7c803520,0xe4ecc823,0x7251fe7f,0x5e9aac9a,0xe59134cb,0xf0045d71,0x11bb0934,0xdbcb1d4e,0x53e5d9b5,0x92defc91,0x8d97a905
-.long 0x7946d3f9,0xfe289327,0x07472273,0xe132bd24,0x1eb6ae86,0xeeeb510c,0xf0595067,0x777708c5,0x1297029e,0x18e2c8cd,0xbbf9305e,0x2c61095c,0x6b85d6d9,0xe466c258,0xda1ea530,0x8ac06c36
-.long 0xa1304668,0xa365dc39,0x07f89606,0xe4a9c885,0xacc7228d,0x65a4898f,0x84ca8303,0x3e2347ff,0xea7d23a3,0xa5f6fb77,0x672a71cd,0x2fac257d,0x7e6a44d3,0x6908bef8,0x891d3d7a,0x8ff87566
-.long 0x6b0cf82e,0xe58e90b3,0x2615b5e7,0x6438d246,0x669c145a,0x07b1f8fc,0x36f1e1cb,0xb0d8b2da,0xd9184c4d,0x54d5dadb,0xf93d9976,0x3dbb18d5,0xd1147d47,0x0a3e0f56,0xa0a48609,0x2afa8c8d
-.long 0xbc36742c,0x275353e8,0xeea0ed90,0x898f427e,0x3e477b00,0x26f4947e,0x308741e3,0x8ad8848a,0xd74a2a46,0x6c703c38,0x9ba17ba2,0x5e3e05a9,0x4ab9a9e4,0xc1fa6f66,0x3841d6ec,0x474a2d9a
-.long 0x653ae326,0x871239ad,0xa74cbb43,0x14bcf72a,0x20d4c083,0x8737650e,0x110ed4af,0x3df86536,0xb53ca555,0xd2d86fe7,0xabd5d538,0x688cb00d,0x1ad38468,0xcf81bda3,0xf01167b6,0x7ccfe3cc
-.long 0x6c4c1fe6,0xcf4f47e0,0x298bbb79,0x557e1f1a,0x30d45a14,0xf93b974f,0x0baf97c4,0x174a1d2d,0xc51fbf53,0x7a003b30,0xee68b225,0xd8940991,0x1c0f4173,0x5b0aa7b7,0xa20a7153,0x975797c9
-.long 0xe3533d77,0x26e08c07,0x2e341c99,0xd7222e6a,0x8d2dc4ed,0x9d60ec3d,0x7c476cf8,0xbdfe0d8f,0x1d056605,0x1fe59ab6,0x86a8551f,0xa9ea9df6,0x47fb8d8c,0x8489941e,0x4a7f1b10,0xfeb874eb
-.long 0x7ee0d98f,0xfe5fea86,0xdbf61864,0x201ad34b,0x37c031d4,0x45d8fe47,0x795f0822,0xd5f49fae,0xc7f4a40c,0xdb0fb291,0x730ddd92,0x2e69d9c1,0x49d76987,0x754e1054,0x7662db87,0x8a24911d
-.long 0x60a71676,0x61fc1810,0xf66a8ad1,0xe852d1a8,0x6417231e,0x172bbd65,0x3babb11f,0x0d6de7bd,0xc8e347f8,0x6fde6f88,0x9bd99cc3,0x1c587547,0x34076950,0x78e54ed0,0x796e83ba,0x97f0f334
-.long 0x4924867a,0xe4dbe1ce,0x60b84917,0xbd5f51b0,0x3cb09a79,0x37530040,0xff1743d8,0xdb3fe0f8,0x556fa9db,0xed7894d8,0x23412fbf,0xfa262169,0xba7b9291,0x563be0db,0x0c9fb234,0x6ca8b8c0
-.long 0xbd763802,0xed406aa9,0x65303da1,0xc21486a0,0xc7e62ec4,0x61ae291e,0xdf99333e,0x622a0492,0xbb7a8ee0,0x7fd80c9d,0x6c01aedb,0xdc2ed3bc,0x08be74ec,0x35c35a12,0x469f671f,0xd540cb1a
-.long 0xcf84f6c7,0xd16ced4e,0x2d090f43,0x8561fb9c,0x6f239db4,0x7e693d79,0x77bd0d94,0xa736f928,0x2c1950ee,0x07b4d929,0x56dc11b3,0xda177543,0x7a6a878e,0xa5dfbbaa,0x4decb08a,0x1c70cb29
-.long 0x6f0f7c50,0xfba28c8b,0x854dcc6d,0xa8eba2b8,0x36b78642,0x5ff8e89a,0xf6873adf,0x070c1c8e,0x6484d2e4,0xbbd3c371,0x0d414129,0xfb78318f,0x6ad93b0b,0x2621a39c,0xa9e917f7,0x979d74c2
-.long 0x61fb0428,0xfc195647,0xbee624d4,0x4d78954a,0xb8ae86fd,0xb94896e0,0xc91c8b13,0x6667ac0c,0x43bcf832,0x9f180512,0xa0010137,0xfbadf8b7,0xb3ba8aa7,0xc69b4089,0xe687ce85,0xfac4bacd
-.long 0x977eab40,0x9164088d,0x2760b390,0x51f4c5b6,0x340dd553,0xd238238f,0xdb1d31c9,0x358566c3,0x5068f5ff,0x3a5ad69e,0xdaff6b06,0xf31435fc,0xd6debff0,0xae549a5b,0x75e01331,0x59e5f0b7
-.long 0x98559acf,0x5d492fb8,0x4db79b50,0x96018c2e,0x609f66aa,0x55f4a48f,0x4900a14f,0x1943b3af,0x15a40d39,0xc22496df,0x4c20f7c5,0xb2a44684,0x3b98404c,0x76a35afa,0xff5d1b77,0xbec75725
-.long 0xbea06444,0xb67aa163,0xf724b6f2,0x27e95bb2,0xd238c8ab,0x3c20e3e9,0xddd6ae17,0x1213754e,0x716e0f74,0x8c431020,0xffc095c2,0x6679c82e,0xd0ac2932,0x2eb3adf4,0x01bb7a76,0x2cc970d3
-.long 0x740f0e66,0x70c71f2f,0x2b6b23cc,0x545c616b,0xb40a8bd7,0x4528cfcb,0x2ab27722,0xff839633,0x025ac99a,0x049127d9,0x2b63e33b,0xd314d4a0,0x28d84519,0xc8c310e7,0xb3bc84ba,0x0fcb8983
-.long 0x38634818,0x2cc52261,0xb44c2e0b,0x501814f4,0x54dfdba3,0xf7e181aa,0xe759718c,0xcfd58ff0,0xd3b507a8,0xf90cdb14,0xc50bdad8,0x57bd478e,0x50e5f9aa,0x29c197e2,0xe40bc855,0x4db6eef8
-.long 0xd1fc0654,0x2cc8f21a,0x81269d73,0xc71cc963,0x077f49f9,0xecfbb204,0xca56b793,0xdde92571,0xf97ad8f7,0x9abed6a3,0x924de3bd,0xe6c19d3f,0xa140a800,0x8dce92f4,0x1337af07,0x85f44d1e
-.long 0x09d64c52,0x5953c08b,0xf5df9749,0xa1b5e49f,0x52735f7d,0x336a8fb8,0x9add676b,0xb332b6db,0xb4511aa4,0x558b88a0,0xdbd5cc55,0x09788752,0xd8cd52bd,0x16b43b9c,0xc2a2696b,0x7f0bc5a0
-.long 0xc11f61ef,0x146e12d4,0x3a83e79e,0x9ce10754,0x6cbfca15,0x08ec73d9,0x5b49653f,0x09ff29ad,0xe7da946e,0xe31b72bd,0xee80a4f2,0xebf9eb3b,0x17598ce4,0xd1aabd08,0x53f37e80,0x18b5fef4
-.long 0x5958cd79,0xd5d5cdd3,0x1d373114,0x3580a1b5,0xfa935726,0xa36e4c91,0xef20d760,0xa38c534d,0x2ff5845b,0x7088e40a,0xbd78177f,0xe5bb40bd,0x857f9920,0x4f06a7a8,0xe968f05d,0xe3cc3e50
-.long 0xe5682d26,0x1d68b7fe,0xaec7f87c,0x5206f76f,0x041951ab,0x41110530,0xd4b5a71a,0x58ec52c1,0x0f75cf9a,0xf3488f99,0xba82d0d5,0xf411951f,0x618895ab,0x27ee75be,0x6d8aab14,0xeae060d4
-.long 0x7fb54dc2,0x9ae1df73,0x25963649,0x1f3e391b,0xfe055081,0x242ec32a,0x8491c9bd,0x5bd450ef,0x981eb389,0x367efc67,0x3a0550d5,0xed7e1928,0xab3ce75c,0x362e776b,0x1f24c523,0xe890e308
-.long 0xfeccef76,0xb961b682,0x8bba6d92,0x8b8e11f5,0x2b2375c4,0x8f2ccc4c,0xe2f86cfa,0x0d7f7a52,0x9efe5633,0xfd94d30a,0x5451f934,0x2d8d246b,0x244e6a00,0x2234c6e3,0xddec8c50,0xde2b5b0d
-.long 0xbf776f5b,0x2ce53c5a,0x60357b05,0x6f724071,0x71bf3f7a,0xb2593717,0x440c4a9f,0x87d2501c,0x87b05340,0x440552e1,0x21624c32,0xb7bf7cc8,0x22facddb,0x4155a6ce,0x889837ef,0x5a4228cb
-.long 0xfd4fd671,0xef87d6d6,0xc2daa10e,0xa233687e,0x03c0eb96,0x75622244,0x8bf19be6,0x7632d184,0x40735ff4,0x05d0f8e9,0xc00931f1,0x3a3e6e13,0xdafe3f18,0x31ccde6a,0xcfe51207,0xf381366a
-.long 0x60167d92,0x24c222a9,0x7529f18c,0x62f9d6f8,0x0353b114,0x412397c0,0xef808043,0x334d89dc,0x2a4383ce,0xd9ec63ba,0x5cf92ba0,0xcec8e937,0xc8be74c0,0xfb8b4288,0x105d4391,0x67d6912f
-.long 0x1b913149,0x7b996c46,0x3a4e02da,0x36aae2ef,0x972de594,0xb68aa003,0x4ec6d545,0x284ec70d,0x61391d54,0xf3d2b2d0,0xfe114e92,0x69c5d5d6,0xb4482dff,0xbe0f00b5,0xf5bf33c5,0xe1596fa5
-.long 0x96a71cba,0x10595b56,0xfdcadeb7,0x944938b2,0xfccd8471,0xa282da4c,0x0d37bfe1,0x98ec05f3,0x0698304a,0xe171ce1b,0x21bdf79b,0x2d691444,0x1b21dec1,0xd0cd3b74,0x16a15f71,0x712ecd8b
-.long 0x00fd56e1,0x8d4c00a7,0xf9527c18,0x02ec9692,0x4a3e42e1,0x21c44937,0x1392ae0a,0x9176fbab,0x44b7b618,0x8726f1ba,0xf1de491c,0xb4d7aae9,0x07b582c0,0xf91df7b9,0xef60aa3a,0x7e116c30
-.long 0x466265d7,0x99270f81,0x4df7adf0,0xb15b6fe2,0xf9738f7f,0xfe33b2d3,0xd6d70f95,0x48553ab9,0xc21e94db,0x2cc72ac8,0xbdc0bbee,0x795ac38d,0x2e40478f,0x0a1be449,0x052bde55,0x81bd3394
-.long 0x56b3c4f2,0x63c8dbe9,0x904177cc,0x017a99cf,0x4d010fc1,0x947bbddb,0xbb2c9b21,0xacf9b00b,0x47173611,0x2970bc8d,0xac7d756f,0x1a4cbe08,0x67d541a2,0x06d9f4aa,0x59c2cf44,0xa3e8b689
-.long 0x4d88f1dd,0xaad066da,0x7ad35dea,0xc604f165,0x4478ca67,0x7edc0720,0xba02ce06,0xa10dfae0,0xaf36f4e4,0xeceb1c76,0xaf3f8f48,0x994b2292,0x77c8a68c,0xbf9ed77b,0x51744c9d,0x74f544ea
-.long 0x8113a757,0x82d05bb9,0x8a9885e4,0x4ef2d2b4,0x1aa7865f,0x1e332be5,0x290d1a52,0x22b76b18,0x44351683,0x308a2310,0xa3f22840,0x9d861896,0x841ed947,0x5959ddcd,0x154b73bf,0x0def0c94
-.long 0x4c7c15e0,0xf0105417,0x3a277c32,0x539bfb02,0xf9dccf5f,0xe699268e,0x0247a3bd,0x9f5796a5,0x4f157269,0x8b839de8,0x7a30196b,0xc825c1e5,0xdc8a5a91,0x6ef0aabc,0x498b7fe6,0xf4a8ce6c
-.long 0x70cbac78,0x1cce35a7,0xf6b23958,0x83488e9b,0xd76cb011,0x0341a070,0xae1b2658,0xda6c9d06,0xdd648c52,0xb701fb30,0x52fb9fd1,0x994ca02c,0x6f563086,0x06933117,0x17856bab,0x3d2b8100
-.long 0x5963a46e,0xe89f48c8,0xa99e61c7,0x658ab875,0x4b8517b4,0x6e296f87,0xfc1bc656,0x36c4fcdc,0xa3906def,0xde5227a1,0x62418945,0x9fe95f57,0xfdd96cde,0x20c91e81,0xda4480de,0x5adbe47e
-.long 0x396de2b6,0xa009370f,0xf0ecc7bd,0x98583d4b,0xe51d0672,0xf44f6b57,0x556b1984,0x03d6b078,0xb0b64912,0x27dbdd93,0x15687b09,0x9b3a3434,0x51ec20a9,0x0dba6461,0xff28187c,0xec93db7f
-.long 0x66e48bdd,0x00ff8c24,0x11ccd78e,0x2514f2f9,0xe1250603,0xeba11f4f,0x243fa156,0x8a22cd41,0xb283e4c6,0xa4e58df4,0x8b39783f,0x78c29859,0xa5259809,0x5235aee2,0x0e0227dd,0xc16284b5
-.long 0x1338830d,0xa5f57916,0xd2123fca,0x6d4b8a6b,0xf9c546f8,0x236ea68a,0xfa608d36,0xc1d36873,0x8d436d13,0xcd76e495,0x8fb080af,0xd4d9c221,0xe8ad3fb5,0x665c1728,0xb3d572e0,0xcf1ebe4d
-.long 0x584c5e20,0xa7a8746a,0xb9dc7035,0x267e4ea1,0xb9548c9b,0x593a15cf,0x4bd012f3,0x5e6e2135,0x8c8f936e,0xdf31cc6a,0xb5c241dc,0x8af84d04,0x345efb86,0x63990a6f,0xb9b962cb,0x6fef4e61
-.long 0x25722608,0xf6368f09,0x131cf5c6,0x131260db,0xfab4f7ac,0x40eb353b,0x37eee829,0x85c78880,0xc3bdf24e,0x4c1581ff,0xf5c3c5a8,0x5bff75cb,0xa14e6f40,0x35e8c83f,0x0295e0ca,0xb81d1c0f
-.long 0xf43a730f,0xfcde7cc8,0x33ab590e,0xe89b6f3c,0xad03240b,0xc823f529,0x98bea5db,0x82b79afe,0x962fe5de,0x568f2856,0x60c591f3,0x0c590adb,0x4a28a858,0x1fc74a14,0xb3203f4c,0x3b662498
-.long 0x6c39765a,0x91e3cf0d,0xac3cca0b,0xa2db3acd,0xcb953b50,0x288f2f08,0xcf43cf1a,0x2414582c,0x60eee9a8,0x8dec8bbc,0x729aa042,0x54c79f02,0x6532f5d5,0xd81cd5ec,0xcf82e15f,0xa672303a
-.long 0x719c0563,0x376aafa8,0xbc5fc79f,0xcd8ad2dc,0xcb750cd3,0x303fdb9f,0x4418b08e,0x14ff052f,0x3e2d6520,0xf75084cf,0x144ed509,0x7ebdf0f8,0xd3f25b98,0xf43bf0f2,0xa354d837,0x86ad71cf
-.long 0x26f43572,0xb827fe92,0x5d824758,0xdfd3ab5b,0x539094c1,0x315dd23a,0x66623d68,0x85c0e37a,0x7be19ae0,0x575c7972,0xdf0d36b5,0x616a3396,0x26b1ff7e,0xa1ebb3c8,0x140ad453,0x635b9485
-.long 0xda430c0b,0x92bf3cda,0x3a96dac6,0x4702850e,0x15ac326a,0xc91cf0a5,0xab8c25e4,0x95de4f49,0xe265c17c,0xb01bad09,0x087b3881,0x24e45464,0xe1fac5ca,0xd43e583c,0x6ead97a6,0xe17cb318
-.long 0x74dcec46,0x6cc39243,0x54c2b73f,0x33cfc02d,0xf26cd99c,0x82917844,0xd1773f89,0x8819dd95,0x0871f427,0x09572aa6,0xf6f01c34,0x8e0cf365,0xbff1f5af,0x7fa52988,0xe75e8e50,0x4eb357ea
-.long 0x868af75d,0xd9d0c8c4,0x45c8c7ea,0xd7325cff,0xcc81ecb0,0xab471996,0x611824ed,0xff5d55f3,0x1977a0ee,0xbe314541,0x722038c6,0x5085c4c5,0xf94bb495,0x2d5335bf,0xc8e2a082,0x894ad8a6
-.long 0xada35438,0x5c3e2341,0x049b8c4e,0xf4a9fc89,0x9f17cf34,0xbeeb355a,0x6c91fe10,0x3f311e0e,0x92ab9891,0xc2d20038,0x3e8ce9a9,0x257bdcc1,0x88c53bee,0x1b2d9789,0xcdba143a,0x927ce89a
-.long 0x523db280,0xb0a32cca,0x50d43783,0x5c889f8a,0x4897d16f,0x503e04b3,0x08f5f2e8,0x8cdb6e78,0x179c8e74,0x6ab91cf0,0x48211d60,0xd8874e52,0xea851200,0xf948d4d5,0xe6f9840a,0x4076d41e
-.long 0x47b517ea,0xc20e263c,0x30685e5e,0x79a448fd,0xf90631a0,0xe55f6f78,0xa79e6346,0x88a790b1,0x80969fe8,0x62160c7d,0x41491bb9,0x54f92fd4,0x5c957526,0xa6645c23,0xbea3ce7b,0xf44cc5ae
-.long 0x8b1e68b7,0xf7628327,0x303f29d3,0xc731ad7a,0x57d03ecb,0xfe5a9ca9,0x41bc97a7,0x96c0d50c,0x9b4f7f24,0xc4669fe7,0x3d9967ef,0xfdd781d8,0x5d2c208d,0x7892c7c3,0xae545cb3,0x8bf64f7c
-.long 0x467be912,0xc01f862c,0xc73d30cc,0xf4c85ee9,0x6ab83ec7,0x1fa6f4be,0x4e3e3cf9,0xa07a3c1c,0x0c00beb3,0x87f8ef45,0x000d4c3e,0x30e2c2b3,0xfe08bf5b,0x1aa00b94,0x9224ef52,0x32c133aa
-.long 0x32e5685d,0x38df16bb,0x58e6f544,0x68a9e069,0xcdc5ebc6,0x495aaff7,0x378b135f,0xf894a645,0x09e27ecf,0xf316350a,0x58f7179d,0xeced201e,0xe97861ba,0x2eec273c,0xd693be2e,0x47ec2cae
-.long 0xf68367ce,0xfa4c97c4,0xbe5a5755,0xe4f47d0b,0xb298a979,0x17de815d,0xc177dc7d,0xd7eca659,0x49ded0a3,0x20fdbb71,0xfb34d3c5,0x4cb2aad4,0x60858a33,0x2cf31d28,0xa24aa40f,0x3b6873ef
-.long 0x2c11bb37,0x540234b2,0xed4c74a3,0x2d0366dd,0xeec5f25d,0xf9a968da,0x67b63142,0x36601068,0x68d7b6d4,0x07cd6d2c,0x0c842942,0xa8f74f09,0x7768b1ee,0xe2751404,0xfe62aee4,0x4b5f7e89
-.long 0x89070d26,0xc6a77177,0xdd1c8bc7,0xa1f28e4e,0x469e1f17,0xea5f4f06,0xfbdb78e0,0x78fc242a,0x8b0588f1,0xc9c7c592,0x1535921e,0xb6b7a0fd,0xbde5ae35,0xcc5bdb91,0x12ff1864,0xb42c485e
-.long 0xdbab98aa,0xa1113e13,0xa17b1024,0xde9d469b,0xc0462d3a,0x23f48b37,0x7c5c078d,0x3752e537,0x15544eb9,0xe3a86add,0x80fba279,0xf013aea7,0xf22001b5,0x8b5bb76c,0xf02891ab,0xe617ba14
-.long 0x936219d3,0xd39182a6,0xae51cb19,0x5ce1f194,0xbf07a74c,0xc78f8598,0x22cbf1bc,0x6d7158f2,0xe300ce18,0x3b846b21,0x2d11275d,0x35fba630,0xa0239b9b,0x5fe25c36,0xdf05d940,0xd8beb35d
-.long 0x1f7e320d,0x4db02bb0,0x6da320ea,0x0641c364,0x821389a3,0x6d95fa5d,0x8fcd8e3d,0x92699748,0xceb6c143,0x316fef17,0xd933762b,0x67fcb841,0x118b17f8,0xbb837e35,0x9fd24821,0x4b92552f
-.long 0x46aca793,0xae6bc70e,0xe579311b,0x1cf0b0e4,0x5802f716,0x8dc631be,0xbddbee4d,0x099bdc6f,0x0caf8b05,0xcc352bb2,0x72d63df2,0xf74d505a,0x91c4f408,0xb9876d4b,0x9e229b2d,0x1ce18473
-.long 0x83abdb4a,0x49507597,0xdee84b18,0x850fbcb6,0x609e67dc,0x6325236e,0x9336c6d8,0x04d831d9,0xfa12d45d,0x8deaae3b,0x4746e246,0xe425f8ce,0x24f5f31e,0x8004c175,0xad62c3b7,0xaca16d8f
-.long 0x9152f934,0x0dc15a6a,0xed0e12c1,0xf1235e5d,0xda477dac,0xc33c06ec,0xb2ea0006,0x76be8732,0x0c0cd313,0xcf3f7831,0xa614260d,0x3c524553,0xcab22d15,0x31a756f8,0x77827a20,0x03ee10d1
-.long 0x1994ef20,0xd1e059b2,0x638ae318,0x2a653b69,0x2f699010,0x70d5eb58,0x09f5f84a,0x279739f7,0x8b799336,0x5da4663c,0x203c37eb,0xfdfdf14d,0xa1dbfb2d,0x32d8a9dc,0x77d48f9b,0xab40cff0
-.long 0xd20b42d5,0xc018b383,0x9f78845f,0xf9a810ef,0xbdba9df0,0x40af3753,0x131dfdf9,0xb90bdcfc,0xf01ab782,0x18720591,0x6af12a88,0xc823f211,0x0dc14401,0xa51b80f3,0xfb2dfbe3,0xde248f77
-.long 0x0cafe751,0xef5a44e5,0xd4dcd221,0x73997c9c,0xde854024,0x32fd86d1,0xa09b84bb,0xd5b53adc,0xdcedd8d1,0x008d7a11,0x74b32c84,0x406bd1c8,0x05dde8b1,0x5d4472ff,0xfce2b32f,0x2e25f2cd
-.long 0x29dfc254,0xbec0dd5e,0x2b98b267,0x4455fcf6,0xc72df2ad,0x0b4d43a5,0x48a75397,0xea70e6be,0x5820f3bf,0x2aad6169,0x9e37f68f,0xf410d2dd,0x7be5ac83,0x70fb7dba,0x36ec3eec,0x636bb645
-.long 0x9754e21c,0x27104ea3,0x8d63c373,0xbc87a3e6,0x4109db9a,0x483351d7,0x60134da7,0x0fa724e3,0xb0720b16,0x9ff44c29,0x06aceead,0x2dd0cf13,0xe26929a6,0x5942758c,0xb766a92b,0x96c5db92
-.long 0x5f18395e,0xcec7d4c0,0x1f80d032,0xd3f22744,0xcb86075b,0x7a68b37a,0xafef92db,0x074764dd,0x7bc7f389,0xded1e950,0xb9756460,0xc580c850,0x7da48157,0xaeeec2a4,0x82c587b3,0x3f0b4e7f
-.long 0xa9f19c53,0x231c6de8,0x6974e34e,0x5717bd73,0xf1508fa9,0xd9e1d216,0xdadaa124,0x9f112361,0x823b7348,0x80145e31,0xac634069,0x4dd8f0d5,0x2297c258,0xe3d82fc7,0x9cee7431,0x276fcfee
-.long 0x2bc0aea9,0x8eb61b5e,0xde329431,0x4f668fd5,0x38e4b87e,0x03a32ab1,0x73d0ef0b,0xe1374517,0x853ac983,0x1a46f7e6,0x68e78a57,0xc3bdf42e,0x2ea96dd1,0xacf20785,0xf1638460,0xa10649b9
-.long 0x879fbbed,0xf2369f0b,0xda9d1869,0x0ff0ae86,0x56766f45,0x5251d759,0x2be8d0fc,0x4984d8c0,0xd21008f0,0x7ecc95a6,0x3a1a1c49,0x29bd54a0,0xd26c50f3,0xab9828c5,0x51d0d251,0x32c0087c
-.long 0x0c1cdb26,0x9bac3ce6,0x557ca205,0xcd94d947,0x9db1fdcd,0x1b1bd598,0xa3d8b149,0x0eda0108,0x56152fcc,0x95066610,0xe7192b33,0xc2f037e6,0xc92e05a4,0xdeffb41a,0xc2f6c62e,0x1105f6c2
-.long 0x8733913c,0x68e73500,0x3f3adc40,0xcce86163,0x38a278e9,0xf407a942,0x2ab21292,0xd13c1b9d,0x1c74cf5c,0x93ed7ec7,0xf1a4c1b4,0x8887dc48,0x4b3a11f1,0x3830ff30,0x58937cb6,0x358c5a3c
-.long 0x89022829,0x027dc404,0x3b798f79,0x40e93977,0x38be6ead,0x90ad3337,0xf34c0a5d,0x9c23f6bc,0xfbffd8bb,0xd1711a35,0x1949d3dd,0x60fcfb49,0x7825d93a,0x09c8ef4b,0xa0a8c968,0x24233cff
-.long 0xe6d982af,0x67ade46c,0xe7544d7c,0xebb6bf3e,0x3d8bd087,0xd6b9ba76,0x4dc61280,0x46fe382d,0xb5bdbd75,0xbd39a7e8,0xb8f228fe,0xab381331,0xce1c4300,0x0709a77c,0xf337ceac,0x6a247e56
-.long 0x636288be,0x8f34f21b,0xc8a7c305,0x9dfdca74,0xea919e04,0x6decfd1b,0x8e1991f8,0xcdf2688d,0xd0f8a67e,0xe607df44,0x0b58d010,0xd985df4b,0x0c24f8f4,0x57f834c5,0xa0bf01ae,0xe976ef56
-.long 0xa1c32373,0x536395ac,0x734c0a13,0x351027aa,0x5e6bd5bc,0xd2f1b5d6,0x223debed,0x2b539e24,0x0eaa1d71,0xd4994cec,0x661dcf65,0x2a83381d,0x7b54c740,0x5f1aed2f,0xd6dda5ee,0x0bea3fa5
-.long 0x36cc6134,0x9d4fb684,0xc0a443dd,0x8eb9bbf3,0x383b7d2a,0xfc500e2e,0x5b775257,0x7aad621c,0x0a8f7cc0,0x69284d74,0x07562d65,0xe820c2ce,0x499758ee,0xbf9531b9,0x6ee0cc2d,0x73e95ca5
-.long 0xfbaf50a5,0xf61790ab,0x684e0750,0xdf55e76b,0xf176b005,0xec516da7,0x7a2dddc7,0x575553bb,0x553afa73,0x37c87ca3,0x4d55c251,0x315f3ffc,0xaf3e5d35,0xe846442a,0x6495ff28,0x61b91149
-.long 0xfa326dc3,0x23cc95d3,0x18fc2cea,0x1df4da1f,0xd0a37d59,0x24bf9adc,0x320d6e1e,0xb6710053,0x618344d1,0x96f9667e,0xa06445af,0xcc7ce042,0xd68dbc3a,0xa02d8514,0x280b5a5b,0x4ea109e4
-.long 0xb40961bf,0x5741a7ac,0x6aa56bfa,0x4ada5937,0x02b765d1,0x7feb9145,0xe6ad1582,0x561e97be,0xda3982f5,0xbbc4a5b6,0xb546f468,0x0c2659ed,0x59612d20,0xb8e7e6aa,0xac19e8e0,0xd83dfe20
-.long 0xb835398c,0x8530c45f,0xb38a41c2,0x6106a8bf,0x35f5dcdb,0x21e8f9a6,0xcae498ed,0x39707137,0xd8249f00,0x70c23834,0xab2537a0,0x9f14b58f,0x5f61c0c2,0xd043c365,0x09a194a7,0xdc5926d6
-.long 0x8e77738a,0xddec0339,0xfba46426,0xd07a63ef,0xee7f6e86,0x2e58e79c,0xff32d241,0xe59b0459,0x20fa0338,0xc5ec84e5,0xeaff5ace,0x97939ac8,0xb4a38313,0x0310a4e3,0x8f9d9885,0x9115fba2
-.long 0x5fadf8c3,0x8dd710c2,0xce19c0e2,0x66be38a2,0x4cfe5022,0xd42a279c,0x0e24e1b8,0x597bb530,0xc153ca7f,0x3cde86b7,0x707d63bd,0xa8d30fb3,0xbd60d21e,0xac905f92,0x7b9a54ab,0x98e7ffb6
-.long 0xe9726a30,0xd7147df8,0xafce3533,0xb5e216ff,0x2ff1ec40,0xb550b799,0xa1e953fd,0x6b613b87,0x792d5610,0x87b88dba,0xa190fbe1,0x2ee1270a,0x2ef581da,0x02f4e2dc,0xeff82a95,0x016530e4
-.long 0x8fd6ee89,0xcbb93dfd,0x46848fff,0x16d3d986,0x1da47adf,0x600eff24,0x0ad47a71,0x1b9754a0,0x70c33b98,0x8f9266df,0xdf34186e,0xaadc87ae,0x4ad24132,0x0d2ce8e1,0x19946eba,0x8a47cbfc
-.long 0x62b5f3af,0x47feeb66,0x0abb3734,0xcefab561,0x19f35cb1,0x449de60e,0x157f0eb9,0x39f8db14,0x3c61bfd6,0xffaecc5b,0x41216703,0xa5a4d41d,0x224e1cc2,0x7f8fabed,0x871ad953,0x0d5a8186
-.long 0xd22da9a9,0xf10774f7,0xcc8a9b0d,0x45b8a678,0xbdc32cff,0xd9c2e722,0x337202a5,0xbf71b5f5,0x69fc4db9,0x95c57f2f,0x765d01e1,0xb6dad34c,0xcb904635,0x7e0bd13f,0x763a588c,0x61751253
-.long 0x81af2c2d,0xd85c2997,0x81b9d7da,0xc0f7d9c4,0x08533e8d,0x838a34ae,0x311d8311,0x15c4cb08,0x8e121e14,0x97f83285,0x85000a5f,0xeea7dc1e,0x5d256274,0x0c6059b6,0xb95075c0,0xec9beace
-.long 0x1df97828,0x173daad7,0xa8937877,0xbf851cb5,0x01646f3c,0xb083c594,0x50c6d352,0x3bad30cf,0x496bbcea,0xfeb2b202,0x18a1e8ba,0x3cf9fd4f,0x1c066029,0xd26de7ff,0x4e9ed4f8,0x39c81e9e
-.long 0x7b390d35,0xd8be0cb9,0x964aab27,0x01df2bbd,0xc3ef64f8,0x3e8c1a65,0x716ed1dd,0x567291d1,0x5f5406d3,0x95499c6c,0x5ba8e23f,0x71fdda39,0xd5096ece,0xcfeb320e,0xca66dd16,0xbe7ba92b
-.long 0xc6fb5a7d,0x4608d36b,0x6d2dd0e0,0xe3eea15a,0x8f97a36a,0x75b0a3eb,0x1c83de1e,0xf59814cc,0x1c33c23f,0x56c9c5b0,0x6faa4136,0xa96c1da4,0xde316551,0x46bf2074,0x1f756c8f,0x3b866e7b
-.long 0x1495ed6b,0x727727d8,0xb682dce7,0xb2394243,0x758610f3,0x8ab8454e,0x857d72a4,0xc243ce84,0xdbbf370f,0x7b320d71,0x78e0f7ca,0xff9afa37,0xea7b523f,0x0119d1e0,0x058c7d42,0xb997f8cb
-.long 0x37bbb184,0x285bcd2a,0xa45d1fa6,0x51dcec49,0xe29634cb,0x6ade3b64,0x26b86ef1,0x080c94a7,0x2283fbe3,0xba583db1,0x5a9315ed,0x902bddc8,0x86964bec,0x07c1ccb3,0xb6258301,0x78f4eacf
-.long 0x56f90823,0x4bdf3a49,0x741d777b,0xba0f5080,0xf38bf760,0x091d71c3,0x9b625b02,0x9633d50f,0xb8c9de61,0x03ecb743,0x5de74720,0xb4751254,0x74ce1cb2,0x9f9defc9,0x00bd32ef,0x774a4f6a
-.long 0x73848f22,0xaca385f7,0xf3f8558e,0x53dad716,0x93c471f9,0xab7b34b0,0x19644bc7,0xf530e069,0xdd59d31a,0x3d9fb1ff,0x08daa795,0x4382e0df,0xd5cc88d7,0x165c6f4b,0x4a18c900,0xeaa392d5
-.long 0x648024ee,0x94203c67,0x8c2fabcd,0x188763f2,0xbbaec835,0xa80f87ac,0xf29d8d54,0x632c96e0,0x4c00a95e,0x29b0a60e,0xe011e9fa,0x2ef17f40,0x15b77223,0xf6c0e1d1,0x14b04e32,0xaaec2c62
-.long 0x3d84e58c,0xd35688d8,0x958571db,0x2af5094c,0x760682a6,0x4fff7e19,0xe39a407c,0x4cb27077,0x4ff0e321,0x0f59c547,0x1b34c8ff,0x169f34a6,0x52bc1ba7,0x2bff1096,0x83583544,0xa25423b7
-.long 0x0ac8b782,0x5d55d5d5,0x2db3c892,0xff6622ec,0x6b8bb642,0x48fce741,0x69d7e3dc,0x31d6998c,0xcadcaed0,0xdbaf8004,0xd81d053c,0x801b0142,0x59630ec6,0x94b189fc,0xaf762c8e,0x120e9934
-.long 0xfdc6a404,0x53a29aa4,0xa1909948,0x19d8e01e,0xd7e89681,0x3cfcabf1,0x4e132d37,0x3321a50d,0xe9a86111,0xd0496863,0x06a3bc65,0x8c0cde61,0xfc9f8eef,0xaf866c49,0xff7f5141,0x2066350e
-.long 0xe56ddfbd,0x4f8a4689,0xfe32983a,0xea1b0c07,0x873cb8cb,0x2b317462,0x2d93229f,0x658deddc,0x0f64ef58,0x65efaf4d,0x730cc7a8,0xfe43287d,0x3d047d70,0xaebc0c72,0xd92d26c9,0x92efa539
-.long 0x94b56526,0x06e78457,0x0961002d,0x415cb80f,0x76dcb10f,0x89e5c565,0xff9259fe,0x8bbb6982,0x9abc2668,0x4fe8795b,0x1e678fb1,0xb5d4f534,0x7b7da2b9,0x6601f3be,0xa13d6805,0x98da59e2
-.long 0x01799a52,0x190d8ea6,0xb86d2952,0xa20cec41,0x7fff2a7c,0x3062ffb2,0x79f19d37,0x741b32e5,0x4eb57d47,0xf80d8181,0x16aef06b,0x7a2d0ed4,0x1cecb588,0x09735fb0,0xc6061f5b,0x1641caaa
-.long 0x20151427,0x7f99824f,0x92430206,0x206828b6,0xe1112357,0xaa9097d7,0x09e414ec,0xacf9a2f2,0x27915356,0xdbdac9da,0x001efee3,0x7e0734b7,0xd2b288e2,0x54fab5bb,0xf62dd09c,0x4c630fc4
-.long 0x1ac2703b,0x8537107a,0x6bc857b5,0xb49258d8,0xbcdaccd1,0x57df14de,0xc4ae8529,0x24ab68d7,0x734e59d0,0x7ed8b5d4,0xc495cc80,0x5f8740c8,0x291db9b3,0x84aedd5a,0x4fb995be,0x80b360f8
-.long 0x5fa067d1,0xae915f5d,0x9668960c,0x4134b57f,0xa48edaac,0xbd3656d6,0xfc1d7436,0xdac1e3e4,0xd81fbb26,0x674ff869,0xb26c33d4,0x449ed3ec,0xd94203e8,0x85138705,0xbeeb6f4a,0xccde538b
-.long 0xa61a76fa,0x55d5c68d,0xca1554dc,0x598b441d,0x773b279c,0xd39923b9,0x36bf9efc,0x33331d3c,0x298de399,0x2d4c848e,0xa1a27f56,0xcfdb8e77,0x57b8ab70,0x94c855ea,0x6f7879ba,0xdcdb9dae
-.long 0x019f2a59,0x7bdff8c2,0xcb4fbc74,0xb3ce5bb3,0x8a9173dd,0xea907f68,0x95a75439,0x6cd3d0d3,0xefed021c,0x92ecc4d6,0x6a77339a,0x09a9f9b0,0x7188c64a,0x87ca6b15,0x44899158,0x10c29968
-.long 0xed6e82ef,0x5859a229,0x65ebaf4e,0x16f338e3,0x5ead67ae,0x0cd31387,0x54ef0bb4,0x1c73d228,0x74a5c8c7,0x4cb55131,0x7f69ad6a,0x01cd2970,0xe966f87e,0xa04d00dd,0x0b7b0321,0xd96fe447
-.long 0x88fbd381,0x342ac06e,0x5c35a493,0x02cd4a84,0x54f1bbcd,0xe8fa89de,0x2575ed4c,0x341d6367,0xd238202b,0xebe357fb,0xa984ead9,0x600b4d1a,0x52436ea0,0xc35c9f44,0xa370751b,0x96fe0a39
-.long 0x7f636a38,0x4c4f0736,0x0e76d5cb,0x9f943fb7,0xa8b68b8b,0xb03510ba,0x9ed07a1f,0xc246780a,0x6d549fc2,0x3c051415,0x607781ca,0xc2953f31,0xd8d95413,0x955e2c69,0x7bd282e3,0xb300fadc
-.long 0x87e9189f,0x81fe7b50,0xf42dda27,0xdb17375c,0xcf0a5904,0x22f7d896,0xebe348e6,0xa0e57c5a,0xf40e3c80,0xa61011d3,0x8db705c5,0xb1189321,0x50fedec3,0x4ed9309e,0x4d6d5c1d,0xdcf14a10
-.long 0x55691342,0x056c265b,0x91049dc7,0xe8e08504,0xc9bae20a,0x131329f5,0xd9dccdb4,0x96c8b3e8,0xfb4ee6b4,0x8c5ff838,0x41e8ccf0,0xfc5a9aeb,0xfae050c6,0x7417b764,0x00452080,0x0953c3d7
-.long 0x38dfe7e8,0x21372682,0x2bb79d4b,0xea417e15,0x76e7cf2d,0x59641f1c,0xea0bcfcc,0x271e3059,0x7253ecbd,0x624c7dfd,0x4fca6186,0x2f552e25,0x4d866e9c,0xcbf84ecd,0xf68d4610,0x73967709
-.long 0xc27901b4,0xa14b1163,0x899b8bf3,0xfd9236e0,0xcbc6da0a,0x42b091ec,0x5ad1d297,0xbb1dac6f,0xa91cf76e,0x80e61d53,0xd31f1ee7,0x4110a412,0x13efcf77,0x2d87c3ba,0xdf450d76,0x1f374bb4
-.long 0x0d188dab,0x5e78e2f2,0xf4b885ef,0xe3968ed0,0x7314570f,0x46c0568e,0x01170521,0x31616338,0x4f0c8afe,0x18e1e7e2,0xdeea78da,0x4caa75ff,0x7c5d8a51,0x82db67f2,0x6f505370,0x36a44d86
-.long 0x0333974f,0xd72c5bda,0x27a70146,0x5db516ae,0x210ef921,0x34705281,0x0c9c38e5,0xbff17a8f,0x12476da1,0x78f4814e,0x33c16980,0xc1e16613,0x424d4bca,0x9e5b386f,0xc85740de,0x4c274e87
-.long 0x6c2f5226,0xb6a9b88d,0x550d7ca8,0x14d1b944,0x1fc41709,0x580c85fc,0x54c6d519,0xc1da368b,0xd5113cf7,0x2b0785ce,0x5a34708f,0x0670f633,0x15cc3f88,0x46e23767,0x50c72c8f,0x1b480cfa
-.long 0x4147519a,0x20288602,0x26b372f0,0xd0981eac,0xa785ebc8,0xa9d4a7ca,0xdbdf58e9,0xd953c50d,0xfd590f8f,0x9d6361cc,0x44e6c917,0x72e9626b,0x22eb64cf,0x7fd96110,0x9eb288f3,0x863ebb7e
-.long 0x6aca8ee7,0x6e6ab761,0xd7b40358,0x97d10b39,0x1e5feb0d,0x1687d377,0x8265a27a,0xc83e50e4,0xc954b313,0x8f75a9fe,0x310d1f61,0xcc2e8f47,0x6557d0e0,0xf5ba81c5,0x3eaf6207,0x25f9680c
-.long 0x4354080b,0xf95c6609,0x7bf2fe1c,0x5225bfa5,0x5c7d98fa,0xc5c004e2,0x019aaf60,0x3561bf1c,0xba151474,0x5e6f9f17,0xb04f6eca,0xdec2f934,0x269acb1e,0x64e368a1,0x0cdda493,0x1332d9e4
-.long 0xdf23de05,0x60d6cf69,0x009339a0,0x66d17da2,0x0a693923,0x9fcac985,0xed7c6a6d,0xbcf057fc,0xf0b5662c,0xc3c5c8c5,0xdcba4f24,0x25318dd8,0x082b69ff,0x60e8cb75,0x1e728c01,0x7c23b3ee
-.long 0x097e4403,0x15e10a0a,0x19854665,0xcb3d0a86,0xd67d4826,0x88d8e211,0x0b9d2839,0xb39af66e,0xbd475ca8,0xa5f94588,0xc077b80b,0xe06b7966,0xda27c26c,0xfedb1485,0xfe0fd5e0,0xd290d33a
-.long 0xf34fb0fa,0xa40bcc47,0x1fb1ab09,0xb4760cc8,0xa273bfe3,0x8fca0993,0xf70b213c,0x13e4fe07,0xfdb05163,0x3bcdb992,0x0c2b19b6,0x8c484b11,0xaaf2e3e2,0x1acb815f,0xb89ff1b4,0xc6905935
-.long 0x586e74e1,0xb2ad6f9d,0x67b80484,0x488883ad,0x369c3ddb,0x758aa2c7,0x9f9afd31,0x8ab74e69,0x5e21beb1,0x10fc2d28,0x318c42f9,0x3484518a,0x53cf40c3,0x377427dc,0x391bc1d9,0x9de0781a
-.long 0x693807e1,0x8faee858,0x4e81ccc7,0xa3865327,0x6f835b84,0x02c30ff2,0x0d3d38d4,0xb604437b,0x5ca1823d,0xb3fc8a98,0x03be0324,0xb82f7ec9,0xcf684a33,0xee36d761,0x9f29bf7d,0x5a01df0e
-.long 0x1306583d,0x686202f3,0x437c622e,0x05b10da0,0x076a7bc8,0xbf9aaa0f,0x8f8f4e43,0x25e94efb,0xfa3dc26d,0x8a35c9b7,0x96ff03c5,0xe0e5fb93,0xebc394ce,0xa77e3843,0x8361de60,0xcede6595
-.long 0xa1993545,0xd27c22f6,0x24d671ba,0xab01cc36,0xa169c28e,0x63fa2877,0x2eb08376,0x925ef904,0x53aa0b32,0x3b2fa3cf,0x71c49d7a,0xb27beb5b,0xd105e27f,0xb60e1834,0x4f68570d,0xd6089788
-.long 0xd6fbc2ac,0x23094ce0,0x815ff551,0x738037a1,0x6bef119c,0xda73b1bb,0xeef506ba,0xdcf6c430,0xe3ef104a,0x00e4fe7b,0x0a065628,0xebdd9a2c,0x8792043e,0x853a81c3,0xb3b59108,0x22ad6ece
-.long 0x39cd297d,0x9fb813c0,0x05bda5d9,0x8ec7e16e,0x0d104b96,0x2834797c,0x7c511510,0xcc11a2e7,0x96ee6380,0x96ca5a53,0xcea38742,0x054c8655,0xd54dfa7d,0xb5946852,0x1f4ab207,0x97c422e7
-.long 0x0c22b540,0xbf907509,0xb7c267d4,0x2cde42aa,0x5ab0d693,0xba18f9ed,0x6e4660d9,0x3ba62aa6,0xab9ea96a,0xb24bf97b,0xe3b60e32,0x5d039642,0x7c4d9bd5,0x4e6a4506,0x7ed4a6a4,0x666c5b9e
-.long 0x8edbd7cc,0xfa3fdcd9,0xc6ccd753,0x4660bb87,0x21e6b64f,0x9ae90820,0xb36bfb3f,0x8a56a713,0x5726d47f,0xabfce096,0x0b1a9a7f,0x9eed01b2,0x4eb74a37,0x30e9cad4,0x53e9666d,0x7b2524cc
-.long 0x8f4b002f,0x6a29683b,0x41f4fc20,0xc2200d7a,0x3a338acc,0xcf3af47a,0xe7128975,0x6539a4fb,0xc33c7fcf,0xcec31c14,0xc7be322b,0x7eb6799b,0x6646f623,0x119ef4e9,0x54d7299b,0x7b7a26a5
-.long 0x403f46f2,0xcb37f08d,0x1a0ec0c7,0x94b8fc43,0xc332142f,0xbb8514e3,0xe80d2a7a,0xf3ed2c33,0xb639126c,0x8d2080af,0xe3553ade,0xf7b6be60,0x1c7e2b09,0x3950aa9f,0x6410f02b,0x847ff958
-.long 0x678a31b0,0x877b7cf5,0x3998b620,0xd50301ae,0xc00fb396,0x734257c5,0x04e672a6,0xf9fb18a0,0xe8758851,0xff8bd8eb,0x5d99ba44,0x1e64e4c6,0x7dfd93b7,0x4b8eaedf,0x04e76b8c,0xba2f2a98
-.long 0xe8053433,0x7d790cba,0x3d2c9585,0xc8e725a0,0xcdd8f5ed,0x58c5c476,0xefa9fe1d,0xd106b952,0x0eff13a9,0x3c5c775b,0xe057b930,0x242442ba,0xc9b70cbd,0xe9f458d4,0xa3cdb89a,0x69b71448
-.long 0x0e2ed742,0x41ee46f6,0x40067493,0x573f1045,0x9d54c304,0xb1e154ff,0x8d3a7502,0x2ad0436a,0x431a8121,0xee4aaa2d,0x886f11ed,0xcd38b3ab,0x034a0eb7,0x57d49ea6,0xf7e85e58,0xd2b773bd
-.long 0x9b5c1f14,0x4a559ac4,0x3e54df2b,0xc444be1a,0xeda41891,0x13aad704,0x5eb5c788,0xcd927bec,0xe48c8a34,0xeb3c8516,0x4b546669,0x1b7ac812,0x594df8ec,0x1815f896,0x79227865,0x87c6a79c
-.long 0x9b56ddbd,0xae02a2f0,0x8a2f1cf3,0x1339b5ac,0x839dff0d,0xf2b569c7,0xfee9a43d,0xb0b9e864,0x77bb064e,0x4ff8ca41,0xfd249f63,0x145a2812,0xf86f689a,0x3ab7beac,0x01d35f5e,0x9bafec27
-.long 0x4265aa91,0x28054c65,0x035efe42,0xa4b18304,0x9639dec7,0x6887b0e6,0x3d52aea5,0xf4b8f6ad,0x971a8a13,0xfb9293cc,0x4c934d07,0x3f159e5d,0x09acbc29,0x2c50e9b1,0x7154d129,0x08eb65e6
-.long 0x30b75c3e,0x4feff589,0x94491c93,0x0bb82fe2,0x89af62bb,0xd8ac377a,0x9685e49f,0xd7b51490,0x04497f19,0xabca9a7b,0x1a7ad13f,0x1b35ed0a,0x3ec86ed6,0x6b601e21,0xce0c76f1,0xda91fcb9
-.long 0xd7ab27e1,0x9e28507b,0x63945b7b,0x7c19a555,0xaafc9827,0x6b43f0a1,0x3aa55b91,0x443b4fbd,0x6962c88f,0x962b2e65,0xce0db0ca,0x139da8d4,0x1b8d6c4f,0xb93f05dd,0x180b9824,0x779cdff7
-.long 0xae57c7b7,0xbba23fdd,0x1b932522,0x345342f2,0x556d4aa3,0xfd9c80fe,0x6525bb61,0xa03907ba,0xff218933,0x38b010e1,0xaa52117b,0xc066b654,0x94f2e6ea,0x8e141920,0x0d32f2b2,0x66a27dca
-.long 0x048b3717,0x69c7f993,0xb178ae1c,0xbf5a989a,0x564f1d6b,0x49fa9058,0xd31fde4e,0x27ec6e15,0x7276e7fc,0x4cce0373,0x89d6bf02,0x64086d79,0x4ccdd979,0x5a72f046,0x47775631,0x909c3566
-.long 0x75dd7125,0x1c07bc6b,0x87a0428d,0xb4c6bc97,0xfdeb6b9d,0x507ece52,0xb2c95432,0xfca56512,0xd0e8bd06,0x15d97181,0xc6bb46ea,0x384dd317,0x3952b624,0x5441ea20,0x4e7dc2fb,0xbcf70dee
-.long 0x6628e8c3,0x372b016e,0xb60a7522,0x07a0d667,0x0a344ee2,0xcf05751b,0x118bdeec,0x0ec09a48,0xd83dce46,0x6e4b3d4e,0x99d2fc6e,0x43a6316d,0x56cf044c,0xa99d8989,0xae3e5fb7,0x7c7f4454
-.long 0xfbabbe92,0xb2e6b121,0xe1330076,0x281850fb,0x97890015,0x093581ec,0x75ff77f5,0x69b1dded,0xab105105,0x7cf0b18f,0xa89ccfef,0x953ced31,0xeb914009,0x3151f85f,0x88ed48ad,0x3c9f1b87
-.long 0x4a7eadcb,0xc9aba1a1,0x522e71cf,0x928e7501,0x3a2e4f83,0xeaede727,0x1ce3bbd3,0x467e10d1,0xb955dcf0,0xf3442ac3,0xd3d5e527,0xba96307d,0xfd77f474,0xf763a10e,0x6a6e1ff0,0x5d744bd0
-.long 0xa777899e,0xd287282a,0xd03f3cde,0xe20eda8f,0x50b07d31,0x6a7e75bb,0x6f379de4,0x0b7e2a94,0x19f593cf,0x31cb64ad,0x1e76ef1d,0x7b1a9e4f,0xb62d609c,0xe18c9c9d,0xe779a650,0x439bad6d
-.long 0xe032f144,0x219d9066,0xe8b2ec6a,0x1db632b8,0xfda12f78,0xff0d0fd4,0x2a25d265,0x56fb4c2d,0x255a03f1,0x5f4e2ee1,0xe96af176,0x61cd6af2,0xd068bc97,0xe0317ba8,0x264b988e,0x927d6bab
-.long 0xe90fb21e,0xa18f07e0,0xbba7fca1,0x00fd2b80,0x95cd67b5,0x20387f27,0xd39707f7,0x5b89a4e7,0x894407ce,0x8f83ad3f,0x6c226132,0xa0025b94,0xf906c13b,0xc79563c7,0x4e7bb025,0x5f548f31
-.long 0xeac6d113,0x2b4c6b8f,0x0e813c76,0xa67e3f9c,0x3fe1f4b9,0x3982717c,0x26d8050e,0x58865819,0xf7f06f20,0x99f3640c,0x2a66ebc2,0xdc610216,0x767a1e08,0x52f2c175,0x5999871b,0x05660e1a
-.long 0x6d3c4693,0x6b0f1762,0x37ed7bea,0xf0e7d627,0xb75b226d,0xc51758c7,0x1f91613b,0x40a88628,0xbbb38ce0,0x889dbaa7,0xbddcad81,0xe0404b65,0x8bc9671f,0xfebccd3a,0xee1f5375,0xfbf9a357
-.long 0x28f33398,0x5dc169b0,0x72e90f65,0xb07ec11d,0xfaab1eb1,0xae7f3b4a,0x5f17538a,0xd970195e,0x0181e640,0x52b05cbe,0x2643313d,0xf5debd62,0x5df31f82,0x76148154,0x3a9e13c5,0x23e03b33
-.long 0x4fde0c1f,0xff758949,0xe5b6ec20,0xbf8a1abe,0x87e1db6c,0x702278fb,0x35ed658f,0xc447ad7a,0x03d0ccf2,0x48d4aa38,0x819a7c03,0x80acb338,0x6e17cecc,0x9bc7c89e,0x03be1d82,0x46736b8b
-.long 0xc0432f96,0xd65d7b60,0xdeb5442f,0xddebe7a3,0x7dff69a2,0x79a25307,0x02cf3122,0x37a56d94,0xf2350d0a,0x8bab8aed,0x037b0d9a,0x13c3f276,0x44c65cae,0xc664957c,0xc2e71a88,0x88b44089
-.long 0x5cb02664,0xdb88e5a3,0x8686c72e,0x5d4c0bf1,0xa682d53e,0xea3d9b62,0x0b2ad431,0x9b605ef4,0xc69645d0,0x71bac202,0x6a1b66e7,0xa115f03a,0x158f4dc4,0xfe2c563a,0x4d12a78c,0xf715b3a0
-.long 0xd413213a,0x8f7f0a48,0xc04becdb,0x2035806d,0x5d8587f5,0xecd34a99,0x9f6d3a71,0x4d8c3079,0x8d95a8f6,0x1b2a2a67,0xf2110d0d,0xc58c9d7d,0xcf8fba3f,0xdeee81d5,0x0c7cdf68,0xa42be3c0
-.long 0xd43b5eaa,0x2126f742,0xdfa59b85,0x054a0766,0x126bfd45,0x9d0d5e36,0x384f8a8f,0xa1f8fbd7,0xd563fccc,0x317680f5,0xf280a928,0x48ca5055,0x27b578cf,0xe00b81b2,0x2994a514,0x10aad918
-.long 0xb7bdc953,0xd9e07b62,0x5bc086dd,0x9f0f6ff2,0x655eee77,0x09d1ccff,0x5bef7df1,0x45475f79,0x86f702cc,0x3faa28fa,0x0f021f07,0x92e60905,0x7f8fa8c6,0xe9e62968,0xf036ea2c,0xbd71419a
-.long 0x6028da9a,0x171ee1cc,0xc251f573,0x5352fe1a,0x3fa997f4,0xf8ff236e,0xa5749d5f,0xd831b6c9,0xe350e2c2,0x7c872e1d,0x1e0ce403,0xc56240d9,0x6974f5cb,0xf9deb077,0x961c3728,0x7d50ba87
-.long 0x5a3a2518,0xd6f89426,0xc6303d43,0xcf817799,0x619e5696,0x510a0471,0x3a5e307b,0xab049ff6,0xfeb13ec7,0xe4cdf9b0,0x9d8ff90c,0xd5e97117,0x9afa96af,0xf6f64d06,0x9d2012a2,0x00d0bf5e
-.long 0x358bcdc0,0xe63f301f,0x0a9d47f8,0x07689e99,0x4f43d43a,0x1f689e2f,0x90920904,0x4d542a16,0x9ca0a707,0xaea293d5,0x8ac68065,0xd061fe45,0x0090008c,0x1033bf1b,0xc08a6db6,0x29749558
-.long 0xc1d5d034,0x74b5fc59,0x67e215e0,0xf712e9f6,0x860200e6,0xfd520cbd,0x3ea22588,0x0229acb4,0xfff0c82e,0x9cd1e14c,0x59c69e73,0x87684b62,0x96ccb989,0xda85e61c,0xa3d06493,0x2d5dbb02
-.long 0xe86b173c,0xf22ad33a,0xa79ff0e3,0xe8e41ea5,0xdd0d0c10,0x01d2d725,0x032d28f9,0x31f39088,0x7829839e,0x7b3f71e1,0x4502ae58,0x0cf691b4,0xbefc6115,0xef658dbd,0xb3ab5314,0xa5cd6ee5
-.long 0x5f1d2347,0x206c8d7b,0x4cc2253a,0x794645ba,0x58389e08,0xd517d8ff,0x9f847288,0x4fa20dee,0xd797770a,0xeba072d8,0xbf429e26,0x7360c91d,0x80af8279,0x7200a3b3,0x82dadce3,0x6a1c9150
-.long 0xc35d8794,0x0ee6d3a7,0x0356bae5,0x042e6558,0x643322fd,0x9f59698d,0x50a61967,0x9379ae15,0xfcc9981e,0x64b9ae62,0x6d2934c6,0xaed3d631,0x5e4e65eb,0x2454b302,0xf9950428,0xab09f647
-.long 0x22248acc,0xb2083a12,0x3264e366,0x1f6ec0ef,0x5afdee28,0x5659b704,0xe6430bb5,0x7a823a40,0xe1900a79,0x24592a04,0xc9ee6576,0xcde09d4a,0x4b5ea54a,0x52b6463f,0xd3ca65a7,0x1efe9ed3
-.long 0x305406dd,0xe27a6dbe,0xdd5d1957,0x8eb7dc7f,0x387d4d8f,0xf54a6876,0xc7762de4,0x9c479409,0x99b30778,0xbe4d5b5d,0x6e793682,0x25380c56,0xdac740e3,0x602d37f3,0x1566e4ae,0x140deabe
-.long 0xafd32acf,0x4481d067,0xe1f71ccf,0xd8f0fcca,0xb596f2da,0xd208dd0c,0x9aad93f9,0xd049d730,0x42ab580e,0xc79f263d,0x23f707b4,0x09411bb1,0x835e0eda,0x8cfde1ff,0x90f03402,0x72707490
-.long 0xc49a861e,0xeaee6126,0xe14f0d06,0x024f3b65,0xc69bfc17,0x51a3f1e8,0xa7686381,0xc3c3a8e9,0xb103d4c8,0x3400752c,0x9218b36b,0x02bc4613,0x7651504a,0xc67f75eb,0xd02aebfa,0xd6848b56
-.long 0xc30fa92b,0xbd9802e6,0x9a552784,0x5a70d96d,0x3f83169b,0x9085c4ea,0x06908228,0xfa9423bb,0xfe97a5b9,0x2ffebe12,0x71b99118,0x85da6049,0x63178846,0x9cbc2f7f,0x9153218e,0xfd96bc70
-.long 0x1782269b,0x958381db,0x2597e550,0xae34bf79,0x5f385153,0xbb5c6064,0xe3088048,0x6f0e96af,0x77884456,0xbf6a0215,0x69310ea7,0xb3b5688c,0x04fad2de,0x17c94295,0x17896d4d,0xe020f0e5
-.long 0x0976505f,0x730ba0ab,0x095e2ec5,0x567f6813,0x6331ab71,0x47062010,0x41d22b9f,0x72cfa977,0x8a2373da,0x33e55ead,0x7ba45a68,0xa8d0d5f4,0x03029d15,0xba1d8f9c,0xfc55b9f3,0x8f34f1cc
-.long 0xbbe5a1a9,0xcca4428d,0x3126bd67,0x8187fd5f,0x48105826,0x0036973a,0xb8bd61a0,0xa39b6663,0x2d65a808,0x6d42deef,0x94636b19,0x4969044f,0xdd5d564c,0xf611ee47,0xd2873077,0x7b2f3a49
-.long 0x300eb294,0x94157d45,0x169c1494,0x2b2a656e,0xd3a47aa9,0xc000dd76,0xa6243ea4,0xa2864e4f,0xdb89842e,0x82716c47,0x61479fb7,0x12dfd7d7,0xe0b2f6dc,0x3b9a2c56,0xd7f85d67,0x46be862a
-.long 0x0f82b214,0x03b0d8dd,0xf103cbc6,0x460c34f9,0x18d79e19,0xf32e5c03,0xa84117f8,0x8b8888ba,0xc0722677,0x8f3c37dc,0x1c1c0f27,0x10d21be9,0xe0f7a0c6,0xd47c8468,0xadecc0e0,0x9bf02213
-.long 0x42b48b99,0x0baa7d12,0x48424096,0x1bcb665d,0xebfb5cfb,0x8b847cd6,0x9ad4d10d,0x87c2ae56,0x0de36726,0xf1cbb122,0x3fdfbd21,0xe7043c68,0x4e79d460,0x4bd0826a,0x4bd1a2cb,0x11f5e598
-.long 0xb7fe7b6e,0x97554160,0x400a3fb2,0x7d16189a,0xe328ca1e,0xd73e9bea,0xe793d8cc,0x0dd04b97,0x506db8cc,0xa9c83c9b,0xcf38814c,0x5cd47aae,0xb64b45e6,0x26fc430d,0xd818ea84,0x079b5499
-.long 0xc1c24a3b,0xebb01102,0x1c161c1a,0xca24e568,0x36f00a4a,0x103eea69,0x76176c7b,0x9ad76ee8,0x538e0ff7,0x97451fc2,0x6604b3b0,0x94f89809,0x3249cfd7,0x6311436e,0x41224f69,0x27b4a7bd
-.long 0xe0ac2941,0x03b5d21a,0xc2d31937,0x279b0254,0xcac992d0,0x3307c052,0xefa8b1f3,0x6aa7cb92,0x0d37c7a5,0x5a182580,0x342d5422,0x13380c37,0xd5d2ef92,0x92ac2d66,0x030c63c6,0x035a70c9
-.long 0x4ce4f152,0xc16025dd,0xf9df7c06,0x1f419a71,0x91e4bb14,0x6d5b2214,0x839fb4ce,0xfc43c6cc,0x925d6b2d,0x49f06591,0x62186598,0x4b37d9d3,0xd01b1629,0x8c54a971,0x51d50e05,0xe1a9c29f
-.long 0x71ba1861,0x5109b785,0xd0c8f93d,0x48b22d5c,0x8633bb93,0xe8fa84a7,0x5aebbd08,0x53fba6ba,0xe5eea7d8,0x7ff27df3,0x68ca7158,0x521c8796,0xce6f1a05,0xb9d5133b,0xfd0ebee4,0x2d50cd53
-.long 0xc5a3ef16,0xc82115d6,0xba079221,0x993eff9d,0x4b5da81c,0xe4da2c5e,0x8033fd85,0x9a89dbdb,0x2b892891,0x60819ebf,0x5d14a4d5,0x53902b21,0xd7fda421,0x6ac35051,0x61c83284,0xcc6ab885
-.long 0xf74cff17,0x14eba133,0xecb813f2,0x240aaa03,0x6f665bee,0xcfbb6540,0xa425ad73,0x084b1fe4,0xd081f6a6,0x009d5d16,0xeef82c90,0x35304fe8,0xaa9eaa22,0xf20346d5,0xac1c91e3,0x0ada9f07
-.long 0x968a6144,0xa6e21678,0x07b31a1e,0x54c1f77c,0x5781fbe1,0xd6bb787e,0xe31f1c4a,0x61bd2ee0,0x781105fc,0xf25aa1e9,0x7b2f8e80,0x9cf2971f,0xcdff919b,0x26d15412,0x34bc896e,0x01db4ebe
-.long 0xb40df1cf,0x7d9b3e23,0x94e971b4,0x59337373,0x669cf921,0xbf57bd14,0x0c1a1064,0x865daedf,0x83279125,0x3eb70bd3,0x34ecdaab,0xbc3d5b9f,0x5f755caf,0x91e3ed7e,0xd41e6f02,0x49699f54
-.long 0xd4a7a15b,0x185770e1,0xeaac87e7,0x08f3587a,0x473133ea,0x352018db,0x04fd30fc,0x674ce719,0x088b3e0e,0x7b8d9835,0x5d0d47a1,0x7a0356a9,0x6474a3c4,0x9d9e7659,0xff66966c,0x61ea48a7
-.long 0x0f3e4834,0x30417758,0x17a9afcb,0xfdbb21c2,0x2f9a67b3,0x756fa17f,0xa245c1a8,0x2a6b2421,0x4af02291,0x64be2794,0x2a5804fe,0xade465c6,0xa6f08fd7,0x8dffbd39,0xaa14403b,0xc4efa84c
-.long 0x442b0f5c,0xa1b91b2a,0xcf997736,0xb748e317,0xcee90e16,0x8d1b62bf,0x0b2078c0,0x907ae271,0x0c9bcddd,0xdf31534b,0x39adce83,0x043fb054,0xd826846a,0x99031043,0xb144f393,0x61a9c0d6
-.long 0x47718427,0xdab48046,0x6e830f8b,0xdf17ff9b,0xe49a1347,0x408d7ee8,0x91c1d4ae,0x6ac71e23,0x1defd73c,0xc8cbb9fd,0xbbbbfec5,0x19840657,0x9e7ef8ea,0x39db1cb5,0x64105f30,0x78aa8296
-.long 0xa3738c29,0xa3d9b7f0,0xbc3250a3,0x0a2f235a,0x445e4caf,0x55e506f6,0x33475f7a,0x0974f73d,0x5ba2f5a8,0xd37dbba3,0x6af40066,0x542c6e63,0xc5d73e2c,0x26d99b53,0x6c3ca33e,0x06060d7d
-.long 0x065fef4a,0xcdbef1c2,0xfd5b92e3,0x77e60f7d,0x26708350,0xd7c549f0,0x34f121bf,0x201b3ad0,0x0334fc14,0x5fcac2a1,0x344552f6,0x8a9a9e09,0x97653082,0x7dd8a1d3,0x79d4f289,0x5fc0738f
-.long 0x17d2d8c3,0x787d244d,0x70830684,0xeffc6345,0xe4f73ae5,0x5ddb96dd,0x172549a5,0x8efb14b1,0x2245ae7a,0x6eb73eee,0xea11f13e,0xbca4061e,0x30b01f5d,0xb577421d,0x782e152c,0xaa688b24
-.long 0xbd3502ba,0x67608e71,0xb4de75a0,0x4ef41f24,0xfd6125e5,0xb08dde5e,0xa409543f,0xde484825,0x65cc2295,0x1f198d98,0x6e0edfa2,0x428a3771,0xadf35fc7,0x4f9697a2,0xf7cac3c7,0x01a43c79
-.long 0x0fd3659a,0xb05d7059,0xbb7f2d9a,0x8927f30c,0x8cf984d3,0x4023d1ac,0x02897a45,0x32125ed3,0x3d414205,0xfb572dad,0xe3fa82a9,0x73000ef2,0xf10a5581,0x4c0868e9,0x6b0b3ca5,0x5b61fc67
-.long 0x7cae440c,0xc1258d5b,0x402b7531,0x21c08b41,0xde932321,0xf61a8955,0x2d1408af,0x3568faf8,0x9ecf965b,0x71b15e99,0xe917276f,0xf14ed248,0x820cf9e2,0xc6f4caa1,0x18d83c7e,0x681b20b2
-.long 0xc6c01120,0x6cde738d,0xae70e0db,0x71db0813,0x74afe18c,0x95fc0644,0x129e2be7,0x34619053,0xdb2a3b15,0x80615cea,0xdb4c7073,0x0a49a19e,0x8fd2d367,0x0e1b84c8,0x033fb8aa,0xd74bf462
-.long 0x533ef217,0x889f6d65,0xc3ca2e87,0x7158c7e4,0xdc2b4167,0xfb670dfb,0x844c257f,0x75910a01,0xcf88577d,0xf336bf07,0xe45e2ace,0x22245250,0x7ca23d85,0x2ed92e8d,0x2b812f58,0x29f8be4c
-.long 0x076fe12b,0xdd9ebaa7,0xae1537f9,0x3f2400cb,0x17bdfb46,0x1aa93528,0x67883b41,0xc0f98430,0x0170911d,0x5590ede1,0x34d4b17f,0x7562f5bb,0x1826b8d2,0xe1fa1df2,0x6bd80d59,0xb40b796a
-.long 0x3467ba92,0xd65bf197,0xf70954b0,0x8c9b46db,0x0e78f15d,0x97c8a0f3,0x85a4c961,0xa8f3a69a,0x61e4ce9b,0x4242660f,0x6ea6790c,0xbf06aab3,0xec986416,0xc6706f8e,0x9a9fc225,0x9e56dec1
-.long 0x9a9898d9,0x527c46f4,0x5633cdef,0xd799e77b,0x7d9e4297,0x24eacc16,0x6b1cb734,0xabb61cea,0xf778443c,0xbee2e8a7,0x29de2fe6,0x3bb42bf1,0x3003bb6f,0xcbed86a1,0xd781cdf6,0xd3918e6c
-.long 0x9a5103f1,0x4bee3271,0xf50eac06,0x5243efc6,0x6adcc119,0xb8e122cb,0xc0b80a08,0x1b7faa84,0x6dfcd08c,0x32c3d1bd,0x0be427de,0x129dec4e,0x1d263c83,0x98ab679c,0xcef64eff,0xafc83cb7
-.long 0x2fa6be76,0x85eb6088,0x1328cbfe,0x892585fb,0xcf618dda,0xc154d3ed,0x3abaf26e,0xc44f601b,0x2be1fdfd,0x7bf57d0b,0x21137fee,0xa833bd2d,0x2db591a8,0x9353af36,0x5562a056,0xc76f26dc
-.long 0x3fdf5a51,0x1d87e47d,0x55c9cab0,0x7afb5f93,0x89e0586e,0x91bbf58f,0x0d843709,0x7c72c018,0x99b5c3dc,0xa9a5aafb,0x3844aeb0,0xa48a0f1d,0xb667e482,0x7178b7dd,0x6e23a59a,0x453985e9
-.long 0x01b25dd8,0x4a54c860,0xfb897c8a,0x0dd37f48,0x0ea90cd9,0x5f8aa610,0x16d5830d,0xc8892c68,0xef514ca5,0xeb4befc0,0xe72c9ee6,0x478eb679,0xdbc40d5f,0x9bca20da,0xdde4f64a,0xf015de21
-.long 0xeaf4b8a5,0xaa6a4de0,0x4bc60e32,0x68cfd9ca,0x7fd15e70,0x668a4b01,0xf27dc09d,0xd9f0694a,0xba708bcd,0xf6c3cad5,0x5bb95c2a,0x5cd2ba69,0x33c0a58f,0xaa28c1d3,0xabc77870,0x23e274e3
-.long 0xdfd20a4a,0x44c3692d,0x81a66653,0x091c5fd3,0x09a0757d,0x6c0bb691,0x667343ea,0x9072e8b9,0x80848bec,0x31d40eb0,0x79fd36cc,0x95bd480a,0x65ed43f5,0x01a77c61,0x2e0d40bf,0xafccd127
-.long 0x1cc1884b,0xeccfc82d,0x5d4753b4,0xc85ac201,0x658e099f,0xc7a6caac,0x04b27390,0xcf46369e,0x506467ea,0xe2e7d049,0x37cdeccc,0x481b63a2,0xed80143a,0x4029abd8,0xbcb00b88,0x28bfe3c7
-.long 0x0643d84a,0x3bec1009,0xabd11041,0x885f3668,0xf83a34d6,0xdb02432c,0x719ceebe,0x32f7b360,0xdad1fe7a,0xf06c7837,0x5441a0b0,0x60a157a9,0xe2d47550,0x704970e9,0x271b9020,0xcd2bd553
-.long 0x33e24a0b,0xff57f82f,0xf2565079,0x9cbee23f,0xeb5f5825,0x16353427,0xe948d662,0x276feec4,0xda10032b,0xd1b62bc6,0xf0e72a53,0x718351dd,0x2420e7ba,0x93452076,0x3a00118d,0x96368fff
-.long 0x150a49e4,0x00ce2d26,0x3f04706b,0x0c28b636,0x58b196d0,0xbad65a46,0xec9f8b7c,0x6c8455fc,0x2d71867e,0xe90c895f,0xedf9f38c,0x5c0be31b,0xd8f6ec04,0x2a37a15e,0x8cd85251,0x239639e7
-.long 0x9c7c4c6b,0xd8975315,0xd7409af7,0x603aa3c0,0x007132fb,0xb8d53d0c,0xa6849238,0x68d12af7,0xbf5d9279,0xbe0607e7,0xaada74ce,0x9aa50055,0xba7e8ccb,0xe81079cb,0xa5f4ff5e,0x610c71d1
-.long 0x5aa07093,0x9e2ee1a7,0xa75da47c,0xca84004b,0x3de75401,0x074d3951,0xbb311592,0xf938f756,0x00a43421,0x96197618,0x07bc78c8,0x39a25362,0x0a171276,0x278f710a,0x8d1a8f08,0xb28446ea
-.long 0xe3b6a661,0x184781bf,0xe6d279f7,0x7751cb1d,0xc59eb662,0xf8ff95d6,0x58d3dea7,0x186d90b7,0xdfb4f754,0x0e4bb6c1,0x2b2801dc,0x5c5cf56b,0x1f54564d,0xc561e452,0xf0dd7f13,0xb4fb8c60
-.long 0x33ff98c7,0xf8849630,0xcf17769c,0x9619fffa,0x1bfdd80a,0xf8090bf6,0x422cfe63,0x14d9a149,0x6f6df9ea,0xb354c360,0x218f17ea,0xdbcf770d,0x79eb3480,0x207db7c8,0x559b6a26,0x213dbda8
-.long 0x29fc81b3,0xac4c200b,0x171d87c1,0xebc3e09f,0x1481aa9e,0x91799530,0x92e114fa,0x051b92e1,0xecb5537f,0xdf8f92e9,0x290c7483,0x44b1b2cc,0x2adeb016,0xa711455a,0x81a10c2c,0x964b6856
-.long 0xcec03623,0x4f159d99,0xef3271ea,0x05532225,0xc5ee4849,0xb231bea3,0x7094f103,0x57a54f50,0x9598b352,0x3e2d421d,0x67412ab4,0xe865a49c,0x1cc3a912,0xd2998a25,0x0c74d65d,0x5d092808
-.long 0x4088567a,0x73f45908,0x1f214a61,0xeb6b280e,0xcaf0c13d,0x8c9adc34,0xf561fb80,0x39d12938,0xbc6edfb4,0xb2dc3a5e,0xfe4d210e,0x7485b1b1,0xe186ae72,0x062e0400,0x6eeb3b88,0x91e32d5c
-.long 0x4be59224,0x6df574d7,0x716d55f3,0xebc88ccc,0xcad6ed33,0x26c2e6d0,0x0d3e8b10,0xc6e21e7d,0x5bcc36bb,0x2cc5840e,0x7da74f69,0x9292445e,0x4e5193a8,0x8be8d321,0x8df06413,0x3ec23629
-.long 0xb134defa,0xc7e9ae85,0x1bb2d475,0x6073b1d0,0x2863c00d,0xb9ad615e,0x525f4ac4,0x9e29493d,0x4e9acf4f,0xc32b1dea,0xa50db88d,0x3e1f01c8,0x04da916c,0xb05d70ea,0xd865803e,0x714b0d0a
-.long 0x9920cb5e,0x4bd493fc,0x92c7a3ac,0x5b44b1f7,0xbcec9235,0xa2a77293,0xcd378553,0x5ee06e87,0xda621607,0xceff8173,0x99f5d290,0x2bb03e4c,0xa6f734ac,0x2945106a,0xd25c4732,0xb5056604
-.long 0xe079afee,0x5945920c,0x6789831f,0x686e17a0,0xb74a5ae5,0x5966bee8,0x1e258d46,0x38a673a2,0x83141c95,0xbd1cc1f2,0x0e96e486,0x3b2ecf4f,0x74e5fc78,0xcd3aa896,0x2482fa7a,0x415ec10c
-.long 0x80503380,0x15234419,0xd314b392,0x513d917a,0x63caecae,0xb0b52f4e,0x2dc7780b,0x07bf22ad,0xe4306839,0xe761e8a1,0x5dd7feaa,0x1b3be962,0x74c778f1,0x4fe728de,0x5e0070f6,0xf1fa0bda
-.long 0x6ec3f510,0x85205a31,0xd2980475,0x2c7e4a14,0x6f30ebfd,0xde3c19c0,0xd4b7e644,0xdb1c1f38,0x5dce364a,0xfe291a75,0x058f5be3,0xb7b22a3c,0x37fea38c,0x2cd2c302,0x2e17be17,0x2930967a
-.long 0x0c061c65,0x87f009de,0xedc6ed44,0xcb014aac,0x3bafb1eb,0x49bd1cb4,0x282d3688,0x81bd8b5c,0xf01a17af,0x1cdab87e,0xe710063b,0x21f37ac4,0x42fc8193,0x5a6c5676,0x56a6015c,0xf4753e70
-.long 0xa15b0a44,0x020f795e,0x8958a958,0x8f37c8d7,0xa4b675b5,0x63b7e89b,0x0fc31aea,0xb4fb0c0c,0xa7ff1f2e,0xed95e639,0x619614fb,0x9880f5a3,0x947151ab,0xdeb6ff02,0xa868dcdb,0x5bc5118c
-.long 0x4c20cea5,0xd8da2055,0x14c4d69a,0xcac2776e,0x622d599b,0xcccb22c1,0x68a9bb50,0xa4ddb653,0x1b4941b4,0x2c4ff151,0x6efba588,0xe1ff19b4,0xc48345e0,0x35034363,0x1e29dfc4,0x45542e3d
-.long 0x349f7aed,0xf197cb91,0x8fca8420,0x3b2b5a00,0x23aaf6d8,0x7c175ee8,0x35af32b6,0x54dcf421,0x27d6561e,0x0ba14307,0xd175b1e2,0x879d5ee4,0x99807db5,0xc7c43673,0x9cd55bcd,0x77a54455
-.long 0x0105c072,0xe6c2ff13,0x8dda7da4,0x18f7a99f,0x0e2d35c1,0x4c301820,0xd9cc6c82,0x06a53ca0,0xf1aa1d9e,0xaa21cc1e,0x4a75b1e8,0x32414334,0x0ebe9fdc,0x2a6d1328,0x98a4755a,0x16bd173f
-.long 0x2133ffd9,0xfbb9b245,0x830f1a20,0x39a8b2f1,0xd5a1f52a,0x484bc97d,0xa40eddf8,0xd6aebf56,0x76ccdac6,0x32257acb,0x1586ff27,0xaf4d36ec,0xf8de7dd1,0x8eaa8863,0x88647c16,0x0045d5cf
-.long 0xc005979d,0xa6f3d574,0x6a40e350,0xc2072b42,0x8de2ecf9,0xfca5c156,0xa515344e,0xa8c8bf5b,0x114df14a,0x97aee555,0xfdc5ec6b,0xd4374a4d,0x2ca85418,0x754cc28f,0xd3c41f78,0x71cb9e27
-.long 0x03605c39,0x89105079,0xa142c96c,0xf0843d9e,0x16923684,0xf3744934,0xfa0a2893,0x732caa2f,0x61160170,0xb2e8c270,0x437fbaa3,0xc32788cc,0xa6eda3ac,0x39cd818e,0x9e2b2e07,0xe2e94239
-.long 0x0260e52a,0x6967d39b,0x90653325,0xd42585cc,0x21ca7954,0x0d9bd605,0x81ed57b3,0x4fa20877,0xe34a0bbe,0x60c1eff8,0x84f6ef64,0x56b0040c,0xb1af8483,0x28be2b24,0xf5531614,0xb2278163
-.long 0x5922ac1c,0x8df27545,0xa52b3f63,0xa7b3ef5c,0x71de57c4,0x8e77b214,0x834c008b,0x31682c10,0x4bd55d31,0xc76824f0,0x17b61c71,0xb6d1c086,0xc2a5089d,0x31db0903,0x184e5d3f,0x9c092172
-.long 0xc00cc638,0xdd7ced5b,0x61278fc2,0x1a2015eb,0x6a37f8d6,0x2e8e5288,0xe79933ad,0xc457786f,0x2c51211a,0xb3fe4cce,0x24c20498,0xad9b10b2,0xd28db5e5,0x90d87a4f,0x3aca2fc3,0x698cd105
-.long 0xe91b536d,0x4f112d07,0x9eba09d6,0xceb982f2,0x197c396f,0x3c157b2c,0x7b66eb24,0xe23c2d41,0x3f330d37,0x480c57d9,0x79108deb,0xb3a4c8a1,0xcb199ce5,0x702388de,0xb944a8d4,0x0b019211
-.long 0x840bb336,0x24f2a692,0xa669fa7b,0x7c353bdc,0xdec9c300,0xda20d6fc,0xa13a4f17,0x625fbe2f,0xdbc17328,0xa2b1b61a,0xa9515621,0x008965bf,0xc620ff46,0x49690939,0x8717e91c,0x182dd27d
-.long 0xea6c3997,0x5ace5035,0xc2610bef,0x54259aaa,0x3c80dd39,0xef18bb3f,0x5fc3fa39,0x6910b95b,0x43e09aee,0xfce2f510,0xa7675665,0xced56c9f,0xd872db61,0x10e265ac,0xae9fce69,0x6982812e
-.long 0xce800998,0x29be11c6,0xb90360d9,0x72bb1752,0x5a4ad590,0x2c193197,0x9fc1dbc0,0x2ba2f548,0xe490ebe0,0x7fe4eebb,0x7fae11c0,0x12a0a4cd,0xe903ba37,0x7197cf81,0xde1c6dd8,0xcf7d4aa8
-.long 0x3fd5684c,0x92af6bf4,0x80360aa1,0x2b26eecf,0x00546a82,0xbd960f30,0xf59ad8fe,0x407b3c43,0x249c82ba,0x86cae5fe,0x2463744c,0x9e0faec7,0x94916272,0x87f551e8,0x6ceb0615,0x033f9344
-.long 0x8be82e84,0x1e5eb0d1,0x7a582fef,0x89967f0e,0xa6e921fa,0xbcf687d5,0xd37a09ba,0xdfee4cf3,0xb493c465,0x94f06965,0x7635c030,0x638b9a1c,0x66f05e9f,0x76667864,0xc04da725,0xccaf6808
-.long 0x768fccfc,0xca2eb690,0xb835b362,0xf402d37d,0xe2fdfcce,0x0efac0d0,0xb638d990,0xefc9cdef,0xd1669a8b,0x2af12b72,0x5774ccbd,0x33c536bc,0xfb34870e,0x30b21909,0x7df25aca,0xc38fa2f7
-.long 0xbf81f3f5,0x74c5f02b,0xaf7e4581,0x0525a5ae,0x433c54ae,0x88d2aaba,0x806a56c5,0xed9775db,0xc0edb37d,0xd320738a,0x66cc1f51,0x25fdb6ee,0x10600d76,0xac661d17,0xbdd1ed76,0x931ec1f3
-.long 0x19ee43f1,0x65c11d62,0x60829d97,0x5cd57c3e,0x984be6e8,0xd26c91a3,0x8b0c53bd,0xf08d9309,0xc016e4ea,0x94bc9e5b,0x11d43d2b,0xd3916839,0x73701155,0x886c5ad7,0x20b00715,0xe0377626
-.long 0xaa80ba59,0x7f01c9ec,0x68538e51,0x3083411a,0xe88128af,0x970370f1,0x91dec14b,0x625cc3db,0x01ac3107,0xfef9666c,0xd5057ac3,0xb2a8d577,0x92be5df7,0xb0f26299,0x00353924,0xf579c8e5
-.long 0x1341ed7a,0xb8fa3d93,0xa7b59d49,0x4223272c,0x83b8c4a4,0x3dcb1947,0xed1302e4,0x4e413c01,0xe17e44ce,0x6d999127,0x33b3adfb,0xee86bf75,0x25aa96ca,0xf6902fe6,0xe5aae47d,0xb73540e4
-.long 0x1b4a158c,0x32801d7b,0x27e2a369,0xe571c99e,0x10d9f197,0x40cb76c0,0x3167c0ae,0xc308c289,0xeb7958f2,0xa6ef9dd3,0x300879b1,0xa7226dfc,0x7edf0636,0x6cd0b362,0x7bc37eed,0x4efbce6c
-.long 0x8d699021,0x75f92a05,0x772566e3,0x586d4c79,0x761ad23a,0x378ca5f1,0x1465a8ac,0x650d86fc,0x842ba251,0x7a4ed457,0x42234933,0x6b65e3e6,0x31aad657,0xaf1543b7,0xcbfec369,0xa4cefe98
-.long 0x9f47befb,0xb587da90,0x41312d13,0x6562e9fb,0xeff1cefe,0xa691ea59,0x05fc4cf6,0xcc30477a,0x0b0ffd3d,0xa1632461,0x5b355956,0xa1f16f3b,0x4224ec24,0x5b148d53,0xf977012a,0xdc834e7b
-.long 0xb2c69dbc,0x7bfc5e75,0x03c3da6c,0x3aa77a29,0xca910271,0xde0df03c,0x7806dc55,0xcbd5ca4a,0x6db476cb,0xe1ca5807,0x5f37a31e,0xfde15d62,0xf41af416,0xf49af520,0x7d342db5,0x96c5c5b1
-.long 0xeb4ceb9b,0x155c43b7,0x4e77371a,0x2e993010,0x675d43af,0x1d2987da,0x8599fd72,0xef2bc1c0,0x9342f6b2,0x96894b7b,0x7c8e71f0,0x201eadf2,0x4a1f3efc,0xf3479d9f,0x702a9704,0xe0f8a742
-.long 0xb3eba40c,0xeafd44b6,0xc1c1e0d0,0xf9739f29,0x619d505e,0x0091471a,0x9d7c263e,0xc15f9c96,0x83afbe33,0x5be47285,0x04f1e092,0xa3b6d6af,0x751a9d11,0xe76526b9,0x9a4ae4d2,0x2ec5b26d
-.long 0x02f6fb8d,0xeb66f4d9,0x96912164,0x4063c561,0x80ef3000,0xeb7050c1,0xeaa5b3f0,0x288d1c33,0x07806fd8,0xe87c68d6,0x4bbbf50f,0xb2f7f9d5,0xac8d6627,0x25972f3a,0x10e8c13b,0xf8547774
-.long 0x872b4a60,0xcc50ef6c,0x4613521b,0xab2a34a4,0x983e15d1,0x39c5c190,0x59905512,0x61dde5df,0x9f2275f3,0xe417f621,0x451d894b,0x0750c8b6,0x78b0bdaa,0x75b04ab9,0x458589bd,0x3bfd9fd4
-.long 0xee9120b6,0xf1013e30,0x23a4743e,0x2b51af93,0x48d14d9e,0xea96ffae,0x698a1d32,0x71dc0dbe,0x0180cca4,0x914962d2,0xc3568963,0x1ae60677,0x437bc444,0x8cf227b1,0xc9962c7a,0xc650c83b
-.long 0xfe7ccfc4,0x23c2c7dd,0x1b929d48,0xf925c89d,0x06783c33,0x4460f74b,0xa590475a,0xac2c8d49,0xb807bba0,0xfb40b407,0x69ff8f3a,0x9d1e362d,0xcbef64a4,0xa33e9681,0x332fb4b2,0x67ece5fa
-.long 0x739f10e3,0x6900a99b,0xff525925,0xc3341ca9,0xa9e2d041,0xee18a626,0x29580ddd,0xa5a83685,0x9d7de3cd,0xf3470c81,0x2062cf9c,0xedf02586,0xc010edb0,0xf43522fa,0x13a4b1ae,0x30314135
-.long 0xdb22b94b,0xc792e02a,0xa1eaa45b,0x993d8ae9,0xcd1e1c63,0x8aad6cd3,0xc5ce688a,0x89529ca7,0xe572a253,0x2ccee3aa,0x02a21efb,0xe02b6438,0xc9430358,0xa7091b6e,0x9d7db504,0x06d1b1fa
-.long 0xc4744733,0x58846d32,0x379f9e34,0x40517c71,0x130ef6ca,0x2f65655f,0xf1f3503f,0x526e4488,0x7ee4a976,0x8467bd17,0x921363d1,0x1d9dc913,0xb069e041,0xd8d24c33,0x2cdf7f51,0x5eb5da0a
-.long 0x197b994f,0x1c0f3cb1,0x2843eae9,0x3c95a6c5,0xa6097ea5,0x7766ffc9,0xd723b867,0x7bea4093,0x4db378f9,0xb48e1f73,0xe37b77ac,0x70025b00,0xaf24ad46,0x943dc8e7,0x16d00a85,0xb98a15ac
-.long 0x2743b004,0x3adc38ba,0x334415ee,0xb1c7f4f7,0x1e62d05a,0xea43df8f,0x9d76a3b6,0x32618905,0xa23a0f46,0x2fbd0bb5,0x6a01918c,0x5bc971db,0xb4743f94,0x7801d94a,0x676ae22b,0xb94df65e
-.long 0xaf95894c,0xaafcbfab,0x276b2241,0x7b9bdc07,0x5bdda48b,0xeaf98362,0xa3fcb4df,0x5977faf2,0x052c4b5b,0xbed042ef,0x067591f0,0x9fe87f71,0x22f24ec7,0xc89c73ca,0xe64a9f1b,0x7d37fa9e
-.long 0x15562627,0x2710841a,0xc243b034,0x2c01a613,0x2bc68609,0x1d135c56,0x8b03f1f6,0xc2ca1715,0x3eb81d82,0xc9966c2d,0x8f6df13e,0xc02abf4a,0x8f72b43b,0x77b34bd7,0x360c82b0,0xaff6218f
-.long 0x8d55b9d2,0x0aa5726c,0x99e9bffb,0xdc0adbe9,0xefb9e72a,0x9097549c,0x9dfb3111,0x16755712,0xf26847f9,0xdd8bf984,0xdfb30cb7,0xbcb8e387,0x5171ef9c,0xc1fd32a7,0x389b363f,0x977f3fc7
-.long 0xf4babda0,0x116eaf2b,0xf7113c8e,0xfeab68bd,0xb7def526,0xd1e3f064,0xe0b3fa02,0x1ac30885,0x40142d9d,0x1c5a6e7b,0x30921c0b,0x839b5603,0x36a116a3,0x48f301fa,0xcfd9ee6d,0x380e1107
-.long 0x58854be1,0x7945ead8,0xcbd4d49d,0x4111c12e,0x3a29c2ef,0xece3b1ec,0x8d3616f5,0x6356d404,0x594d320e,0x9f0d6a8f,0xf651ccd2,0x0989316d,0x0f8fdde4,0x6c32117a,0xa26a9bbc,0x9abe5cc5
-.long 0x9723f671,0xcff560fb,0x7f3d593c,0x21b2a12d,0x24ba0696,0xe4cb18da,0xc3543384,0x186e2220,0x88312c29,0x722f64e0,0x17dc7752,0x94282a99,0x5a85ee89,0x62467bbf,0xf10076a0,0xf435c650
-.long 0x43b3a50b,0xc9ff1539,0x1a53efbc,0x7132130c,0xf7b0c5b7,0x31bfe063,0x4ea994cc,0xb0179a7d,0xc85f455b,0x12d064b3,0x8f6e0062,0x47259328,0xb875d6d9,0xf64e590b,0xad92bcc7,0x22dd6225
-.long 0xb9c3bd6d,0xb658038e,0xfbba27c8,0x00cdb0d6,0x1062c45d,0x0c681337,0x2d33407d,0xd8515b8c,0x8cbb5ecf,0xcb8f699e,0xc608d7d8,0x8c4347f8,0xbb3e00db,0x2c11850a,0xecb49d19,0x20a8dafd
-.long 0x45ee2f40,0xbd781480,0x416b60cf,0x75e354af,0x8d49a8c4,0xde0b58a1,0xfa359536,0xe40e94e2,0x62accd76,0xbd4fa59f,0x8c762837,0x05cf466a,0x448c277b,0xb5abda99,0x48b13740,0x5a9e01bf
-.long 0x326aad8d,0x9d457798,0xc396f7e7,0xbdef4954,0xc253e292,0x6fb274a2,0x1cfe53e7,0x2800bf0a,0x44438fd4,0x22426d31,0x5e259f9a,0xef233923,0x03f66264,0x4188503c,0x7f9fdfab,0x9e5e7f13
-.long 0x5fcc1aba,0x565eb76c,0x59b5bff8,0xea632548,0xaab6d3fa,0x5587c087,0x6ce39c1b,0x92b639ea,0x953b135c,0x0706e782,0x425268ef,0x7308912e,0x090e7469,0x599e92c7,0x9bc35e75,0x83b90f52
-.long 0x244975b3,0x4750b3d0,0x11965d72,0xf3a44358,0x9c8dc751,0x179c6774,0xd23d9ff0,0xff18cdfe,0x2028e247,0xc4013833,0xf3bfbc79,0x96e280e2,0xd0880a84,0xf60417bd,0x2a568151,0x263c9f3d
-.long 0x2d2ce811,0x36be15b3,0xf8291d21,0x846dc0c2,0x789fcfdb,0x5cfa0ecb,0xd7535b9a,0x45a0beed,0x96d69af1,0xec8e9f07,0x599ab6dc,0x31a7c5b8,0xf9e2e09f,0xd36d45ef,0xdcee954b,0x3cf49ef1
-.long 0x086cff9b,0x6be34cf3,0x39a3360f,0x88dbd491,0x0dbfbd1d,0x1e96b8cc,0xcb7e2552,0xc1e5f7bf,0x28819d98,0x0547b214,0x7aea9dcb,0xc770dd9c,0x041d68c8,0xaef0d4c7,0x13cb9ba8,0xcc2b9818
-.long 0xfe86c607,0x7fc7bc76,0x502a9a95,0x6b7b9337,0xd14dab63,0x1948dc27,0xdae047be,0x249dd198,0xa981a202,0xe8356584,0x3a893387,0x3531dd18,0xc85c7209,0x1be11f90,0xe2a52b5a,0x93d2fe1e
-.long 0xec6d6b97,0x8225bfe2,0xbd0aa5de,0x9cf6d6f4,0x54779f5f,0x911459cb,0x86aeb1f3,0x5649cddb,0x3f26ce5a,0x32133579,0x550f431e,0xc289a102,0x73b84c6f,0x559dcfda,0xee3ac4d7,0x84973819
-.long 0xf2606a82,0xb51e55e6,0x90f2fb57,0xe25f7061,0xb1a4e37c,0xacef6c2a,0x5dcf2706,0x864e359d,0x7ce57316,0x479e6b18,0x3a96b23d,0x2cab2500,0x8ef16df7,0xed489862,0xef3758b5,0x2056538c
-.long 0xf15d3101,0xa7df865e,0x61b553d7,0x80c5533a,0x4ed14294,0x366e1997,0xb3c0bcd6,0x6620741f,0xedc45418,0x21d1d9c4,0xc1cc4a9d,0x005b859e,0xa1c462f0,0xdf01f630,0xf26820c7,0x15d06cf3
-.long 0x3484be47,0x9f7f24ee,0x4a0c902f,0x2ff33e96,0x5a0bc453,0x00bdf457,0x1aa238db,0x2378dfaf,0x856720f2,0x272420ec,0x96797291,0x2ad9d95b,0x768a1558,0xd1242cc6,0x5cc86aa8,0x2e287f8b
-.long 0x990cecaa,0x796873d0,0x675d4080,0xade55f81,0x21f0cd84,0x2645eea3,0xb4e17d02,0x7a1efa0f,0x037cc061,0xf6858420,0xd5d43e12,0x682e05f0,0x27218710,0x59c36994,0x3f7cd2fc,0x85cbba4d
-.long 0x7a3cd22a,0x726f9729,0x4a628397,0x9f8cd5dc,0xc23165ed,0x17b93ab9,0x122823d4,0xff5f5dbf,0x654a446d,0xc1e4e4b5,0x677257ba,0xd1a9496f,0xde766a56,0x6387ba94,0x521ec74a,0x23608bc8
-.long 0x6688c4d4,0x16a522d7,0x07373abd,0x9d6b4282,0xb42efaa3,0xa62f07ac,0xe3b90180,0xf73e00f7,0x49421c3e,0x36175fec,0x3dcf2678,0xc4e44f9b,0x7220f09f,0x76df436b,0x3aa8b6cf,0x172755fb
-.long 0x446139cc,0xbab89d57,0x5fe0208f,0x0a0a6e02,0x11e5d399,0xcdbb63e2,0xa8977f0b,0x33ecaa12,0xf7c42664,0x59598b21,0xab65d08a,0xb3e91b32,0xf4502526,0x035822ee,0x720a82a9,0x1dcf0176
-.long 0x3d589e02,0x50f8598f,0xb1d63d2c,0xdf0478ff,0x1571cd07,0x8b8068bd,0xd79670cd,0x30c3aa4f,0x941ade7f,0x25e8fd4b,0x32790011,0x3d1debdc,0x3a3f9ff0,0x65b6dcbd,0x793de69c,0x282736a4
-.long 0xd41d3bd3,0xef69a0c3,0x07a26bde,0xb533b8c9,0xdb2edf9f,0xe2801d97,0xe1877af0,0xdc4a8269,0x3d590dbe,0x6c1c5851,0xee4e9357,0x84632f6b,0x79b33374,0xd36d36b7,0x9bbca2e6,0xb46833e3
-.long 0xf7fc0586,0x37893913,0x66bf4719,0x385315f7,0xb31855dc,0x72c56293,0x849061fe,0xd1416d4e,0x51047213,0xbeb3ab78,0xf040c996,0x447f6e61,0x638b1d0c,0xd06d310d,0xbad1522e,0xe28a413f
-.long 0x82003f86,0x685a76cb,0x0bcdbca3,0x610d07f7,0x9ca4c455,0x6ff66021,0xcea10eec,0x7df39b87,0xe22db218,0xb9255f96,0x08a34c44,0x8cc6d9eb,0x859f9276,0xcd4ffb86,0x50d07335,0x8fa15eb2
-.long 0xcf2c24b5,0xdf553845,0x52f9c3ba,0x89f66a9f,0xe4a7ceb3,0x8f22b5b9,0x0e134686,0xaffef809,0x8eb8fac2,0x3e53e1c6,0x28aec98e,0x93c1e4eb,0x32a43bcb,0xb6b91ec5,0xb2d74a51,0x2dbfa947
-.long 0xca84bad7,0xe065d190,0xad58e65c,0xfb13919f,0xf1cb6e31,0x3c41718b,0x06d05c3f,0x688969f0,0x21264d45,0xd4f94ce7,0x7367532b,0xfdfb65e9,0x0945a39d,0x5b1be8b1,0x2b8baf3b,0x229f789c
-.long 0x6f49f15d,0xd8f41f3e,0x907f0792,0x678ce828,0xfca6e867,0xc69ace82,0xd01dcc89,0x106451ae,0x19fc32d2,0x1bb4f7f0,0xb00c52d2,0x64633dfc,0xad9ea445,0x8f13549a,0xfb323705,0x99a3bf50
-.long 0x534d4dbc,0x0c9625a2,0xc2a2fea3,0x45b8f1d1,0xa530fc1a,0x76ec21a1,0x9e5bd734,0x4bac9c2a,0x7b4e3587,0x5996d76a,0x1182d9e3,0x0045cdee,0x1207f13d,0x1aee24b9,0x97345a41,0x66452e97
-.long 0x9f950cd0,0x16e5b054,0xd7fdd075,0x9cc72fb1,0x66249663,0x6edd61e7,0xf043cccb,0xde4caa4d,0x55c7ac17,0x11b1f57a,0x1a85e24d,0x779cbd44,0xe46081e7,0x78030f86,0x8e20f643,0xfd4a6032
-.long 0x0a750c0f,0xcc7a6488,0x4e548e83,0x39bacfe3,0x0c110f05,0x3d418c76,0xb1f11588,0x3e4daa4c,0x5ffc69ff,0x2733e7b5,0x92053127,0x46f147bc,0xd722df94,0x885b2434,0xe6fc6b7c,0x6a444f65
-.long 0xc3f16ea8,0x7a1a465a,0xb2f1d11c,0x115a461d,0x6c68a172,0x4767dd95,0xd13a4698,0x3392f2eb,0xe526cdc7,0xc7a99ccd,0x22292b81,0x8e537fdc,0xa6d39198,0x76d8cf69,0x2446852d,0xffc5ff43
-.long 0xa90567e6,0x97b14f7e,0xb6ae5cb7,0x513257b7,0x9f10903d,0x85454a3c,0x69bc3724,0xd8d2c9ad,0x6b29cb44,0x38da9324,0x77c8cbac,0xb540a21d,0x01918e42,0x9bbfe435,0x56c3614e,0xfffa707a
-.long 0xd4e353b7,0x0ce4e3f1,0xef46b0a0,0x062d8a14,0x574b73fd,0x6408d5ab,0xd3273ffd,0xbc41d1c9,0x6be77800,0x3538e1e7,0xc5655031,0x71fe8b37,0x6b9b331a,0x1cd91621,0xbb388f73,0xad825d0b
-.long 0x1cb76219,0x56c2e05b,0x71567e7e,0x0ec0bf91,0x61c4c910,0xe7076f86,0xbabc04d9,0xd67b085b,0x5e93a96a,0x9fb90459,0xfbdc249a,0x7526c1ea,0xecdd0bb7,0x0d44d367,0x9dc0d695,0x95399917
-.long 0x9e240d18,0x61360ee9,0xb4b94466,0x057cdcac,0x2fe5325c,0xe7667cd1,0x21974e3b,0x1fa297b5,0xdb083d76,0xfa4081e7,0xf206bd15,0x31993be6,0x14c19f8c,0x8949269b,0xa9d92357,0x21468d72
-.long 0xa4c506ec,0x2ccbc583,0xd1acfe97,0x957ed188,0x12f1aea2,0x8baed833,0x8325362d,0xef2a6cb4,0x8e195c43,0x130dde42,0x0e6050c6,0xc842025a,0x08686a5d,0x2da972a7,0xe508b4a8,0xb52999a1
-.long 0x10a5a8bd,0xd9f090b9,0x096864da,0xca91d249,0x3f67dbc1,0x8e6a93be,0xf5f4764c,0xacae6fba,0xd21411a0,0x1563c6e0,0xda0a4ad8,0x28fa787f,0x908c8030,0xd524491c,0x4c795f07,0x1257ba0e
-.long 0xceca9754,0x83f49167,0x4b7939a0,0x426d2cf6,0x723fd0bf,0x2555e355,0xc4f144e2,0xa96e6d06,0x87880e61,0x4768a8dd,0xe508e4d5,0x15543815,0xb1b65e15,0x09d7e772,0xac302fa0,0x63439dd6
-.long 0xc14e35c2,0xb93f802f,0x4341333c,0x71735b7c,0x16d4f362,0x03a25104,0xbf433c8e,0x3f4d069b,0xf78f5a7c,0x0d83ae01,0x7c4eed07,0x50a8ffbe,0x76e10f83,0xc74f8906,0x9ddaf8e1,0x7d080966
-.long 0x698e04cc,0xb11df8e1,0x169005c8,0x877be203,0x4f3c6179,0x32749e8c,0x7853fc05,0x2dbc9d0a,0x9454d937,0x187d4f93,0xb4800e1b,0xe682ce9d,0x165e68e8,0xa9129ad8,0xbe7f785b,0x0fe29735
-.long 0x5b9e02b7,0x5303f40c,0x35ee04e8,0xa37c9692,0x34d6632b,0x5f46cc20,0x96ac545b,0x55ef72b2,0x7b91b062,0xabec5c1f,0xbb33e821,0x0a79e1c7,0x3a9f4117,0xbb04b428,0xfd2a475a,0x0de1f28f
-.long 0x3a4434b4,0x31019ccf,0x1a7954dc,0xa3458111,0xe34972a7,0xa9dac80d,0x74f6b8dd,0xb043d054,0x11137b1a,0x021c319e,0xed5cc03f,0x00a754ce,0xcbea5ad4,0x0aa2c794,0x70c015b6,0x093e67f4
-.long 0xc97e3f6b,0x72cdfee9,0xb6da7461,0xc10bcab4,0xb59806b9,0x3b02d2fc,0xa1de6f47,0x85185e89,0x0eb6c4d4,0x39e6931f,0xd4fa5b04,0x4d4440bd,0x34be7eb8,0x5418786e,0x9d7259bc,0x6380e521
-.long 0xd598d710,0x20ac0351,0xcb3a4da4,0x272c4166,0xca71de1f,0xdb82fe1a,0xd8f54b0f,0x746e79f2,0x4b573e9b,0x6e7fc736,0xfd4b5040,0x75d03f46,0x0b98d87b,0x5c1cc36d,0x1f472da1,0x513ba3f1
-.long 0xabb177dd,0x79d0af26,0x7891d564,0xf82ab568,0x72232173,0x2b6768a9,0x8c1f6619,0xefbb3bb0,0xa6d18358,0xb29c11db,0xb0916d3a,0x519e2797,0x9188e290,0xd4dc18f0,0x98b0ca7f,0x648e86e3
-.long 0x983c38b5,0x859d3145,0x637abc8b,0xb14f176c,0xcaff7be6,0x2793fb9d,0x35a66a5a,0xebe5a55f,0x9f87dc59,0x7cec1dcd,0xfbdbf560,0x7c595cd3,0x26eb3257,0x5b543b22,0xc4c935fd,0x69080646
-.long 0x81e9ede3,0x7f2e4403,0xcaf6df0a,0x243c3894,0x1c073b11,0x7c605bb1,0xba6a4a62,0xcd06a541,0x49d4e2e5,0x29168949,0x4af66880,0x33649d07,0xe9a85035,0xbfc0c885,0xfc410f4b,0xb4e52113
-.long 0x78a6513b,0xdca3b706,0x9edb1943,0x92ea4a2a,0xdb6e2dd8,0x02642216,0x9fd57894,0x9b45d0b4,0xc69d11ae,0x114e70db,0x4c57595f,0x1477dd19,0xec77c272,0xbc2208b4,0xdb68f59c,0x95c5b4d7
-.long 0x42e532b7,0xb8c4fc63,0x9ae35290,0x386ba422,0xd201ecbc,0xfb5dda42,0xa0e38fd6,0x2353dc8b,0x68f7e978,0x9a0b85ea,0x2ad6d11f,0x96ec5682,0xe5f6886d,0x5e279d6c,0x3cb1914d,0xd3fe03cd
-.long 0x7ea67c77,0xfe541fa4,0xe3ea810c,0x952bd2af,0x8d01d374,0x791fef56,0x0f11336e,0xa3a1c621,0xc7ec6d79,0x5ad0d5a9,0x3225c342,0xff7038af,0xbc69601b,0x003c6689,0x45e8747d,0x25059bc7
-.long 0xf2086fbf,0xfa4965b2,0x86916078,0xf6840ea6,0x70081d6c,0xd7ac7620,0xb5328645,0xe600da31,0x529b8a80,0x01916f63,0x2d7d6f3e,0xe80e4858,0xd664ca7c,0x29eb0fe8,0xe7b43b0c,0xf017637b
-.long 0x76cb2566,0x9a75c806,0xb24892d9,0x8f76acb1,0x1f08fe45,0x7ae7b9cc,0x6a4907d8,0x19ef7329,0x5f228bf0,0x2db4ab71,0x817032d7,0xf3cdea39,0xdcabe3c0,0x0b1f482e,0xbb86325c,0x3baf76b4
-.long 0x10089465,0xd49065e0,0x8e77c596,0x3bab5d29,0x193dbd95,0x7636c3a6,0xb246e499,0xdef5d294,0x286b2475,0xb22c58b9,0xcd80862b,0xa0b93939,0xf0992388,0x3002c83a,0xeacbe14c,0x6de01f9b
-.long 0xadd70482,0x6aac688e,0x7b4a4e8a,0x708de92a,0x758a6eef,0x75b6dd73,0x725b3c43,0xea4bf352,0x87912868,0x10041f2c,0xef09297a,0xb1b1be95,0xa9f3860a,0x19ae23c5,0x515dcf4b,0xc4f0f839
-.long 0x97f6306a,0x3c7ecca3,0x68a3a4b0,0x744c44ae,0xb3a1d8a2,0x69cd13a0,0x5256b578,0x7cad0a1e,0x33791d9e,0xea653fcd,0x74b2e05f,0x9cc2a05d,0xfd7affa2,0x73b391dc,0xb6b05442,0xddb7091e
-.long 0x8538a5c6,0xc71e27bf,0x89abff17,0x195c63dd,0x1b71e3da,0xfd315285,0xfa680fa0,0x9cbdfda7,0x849d7eab,0x9db876ca,0x3c273271,0xebe2764b,0xf208dcea,0x663357e3,0x565b1b70,0x8c5bd833
-.long 0x9837fc0d,0xccc3b4f5,0xa79cf00f,0x9b641ba8,0xdfdf3990,0x7428243d,0x020786b1,0x83a594c4,0x526c4502,0xb712451a,0x6adb3f93,0x9d39438e,0xe9ff0ccd,0xfdb261e3,0xe07af4c3,0x80344e3c
-.long 0x2fa4f126,0x75900d7c,0x5c99a232,0x08a3b865,0xdb25e0c3,0x2478b6bf,0x71db2edf,0x482cc2c2,0x5f321bb8,0x37df7e64,0x9a8005b4,0x8a93821b,0xcc8c1958,0x3fa2f10c,0x2c269d0a,0x0d332218
-.long 0xe246b0e6,0x20ab8119,0xd349fd17,0xb39781e4,0xb31aa100,0xd293231e,0xbb032168,0x4b779c97,0xc8470500,0x4b3f19e1,0x0c4c869d,0x45b7efe9,0xa1a6bbcc,0xdb84f38a,0xb2fddbc1,0x3b59cb15
-.long 0x3fd165e8,0xba5514df,0x061f8811,0x499fd6a9,0xbfef9f00,0x72cd1fe0,0x79ad7e8a,0x120a4bb9,0x5f4a5ac5,0xf2ffd095,0x95a7a2f0,0xcfd174f1,0x9d17baf1,0xd42301ba,0x77f22089,0xd2fa487a
-.long 0xb1dc77e1,0x9cb09efe,0x21c99682,0xe9566939,0x6c6067bb,0x8c546901,0x61c24456,0xfd378574,0x81796b33,0x2b6a6cbe,0x58e87f8b,0x62d550f6,0x7f1b01b4,0x1b763e1c,0x1b1b5e12,0x4b93cfea
-.long 0x1d531696,0xb9345238,0x88cdde69,0x57201c00,0x9a86afc7,0xdde92251,0xbd35cea8,0xe3043895,0x8555970d,0x7608c1e1,0x2535935e,0x8267dfa9,0x322ea38b,0xd4c60a57,0x804ef8b5,0xe0bf7977
-.long 0xc06fece4,0x1a0dab28,0x94e7b49d,0xd405991e,0x706dab28,0xc542b6d2,0xa91618fb,0xcb228da3,0x107d1cea,0x224e4164,0xd0f5d8f1,0xeb9fdab3,0x0d6e41cd,0xc02ba386,0x9b1f7146,0x676a72c5
-.long 0x4d6cb00b,0xffd6dd98,0xde2e8d7c,0xcef9c5ca,0x641c7936,0xa1bbf5d7,0xee8f772e,0x1b95b230,0xe8ac25b1,0xf765a92e,0x3a18b7c6,0xceb04cfc,0x0acc8966,0x27944cef,0x434c1004,0xcbb3c957
-.long 0xa43ff93c,0x9c9971a1,0xa1e358a9,0x5bc2db17,0xa8d9bc82,0x45b4862e,0x2201e052,0x70ebfbfb,0x92871591,0xafdf64c7,0xb42d0219,0xea5bcae6,0x2ad8f03c,0xde536c55,0xa76aa33c,0xcd6c3f4d
-.long 0x0bca6de3,0xbeb5f623,0xb1e706fd,0xdd20dd99,0xac9059d4,0x90b3ff9d,0x7ccccc4e,0x2d7b2902,0xce98840f,0x8a090a59,0x8410680a,0xa5d947e0,0x923379a5,0x49ae346a,0xb28a3156,0x7dbc84f9
-.long 0x54a1aff2,0xfd40d916,0x3a78fb9b,0xabf318ba,0x3029f95e,0x50152ed8,0xc58ad7fa,0x9fc1dd77,0x13595c17,0x5fa57915,0x8f62b3a9,0xb9504668,0xff3055b0,0x907b5b24,0x9a84f125,0x2e995e35
-.long 0x7e9bbcfb,0x87dacf69,0xe86d96e3,0x95d0c1d6,0x2d95a75c,0x65726e3c,0xacd27f21,0x2c3c9001,0x6c973f57,0x1deab561,0xa5221643,0x108b7e2c,0xc4ef79d4,0x5fee9859,0x40d4b8c6,0xbd62b88a
-.long 0x197c75d6,0xb4dd29c4,0xb7076feb,0x266a6df2,0x4bf2df11,0x9512d0ea,0x6b0cc9ec,0x1320c24f,0x01a59596,0x6bb1e0e1,0xeff9aaac,0x8317c5bb,0x385aa6c9,0x65bb405e,0x8f07988f,0x613439c1
-.long 0x16a66e91,0xd730049f,0xfa1b0e0d,0xe97f2820,0x304c28ea,0x4131e003,0x526bac62,0x820ab732,0x28714423,0xb2ac9ef9,0xadb10cb2,0x54ecfffa,0xf886a4cc,0x8781476e,0xdb2f8d49,0x4b2c87b5
-.long 0x0a44295d,0xe857cd20,0x58c6b044,0x707d7d21,0xf596757c,0xae8521f9,0x67b2b714,0x87448f03,0x5ebcd58d,0x13a9bc45,0x9122d3c1,0x79bcced9,0x9e076642,0x3c644247,0x2df4767d,0x0cf22778
-.long 0x71d444b6,0x5e61aee4,0xc5084a1d,0x211236bf,0x4fd3eaf6,0x7e15bc9a,0xab622bf5,0x68df2c34,0x59bf4f36,0x9e674f0f,0xd7f34d73,0xf883669b,0x31497b1d,0xc48ac1b8,0x5106703b,0x323b925d
-.long 0x74082008,0x22156f42,0xc8482bcb,0xeffc521a,0x12173479,0x5c6831bf,0xc4739490,0xcaa2528f,0x8f1b3c4d,0x84d2102a,0x2d9bec0d,0xcf64dfc1,0x78a546ef,0x433febad,0x7b73cef1,0x1f621ec3
-.long 0x37338615,0x6aecd627,0x01d8edf6,0x162082ab,0x19e86b66,0x833a8119,0xd299b5db,0x6023a251,0xbbf04b89,0xf5bb0c3a,0xae749a44,0x6735eb69,0x4713de3b,0xd0e058c5,0x2c3d4ccd,0xfdf2593e
-.long 0xfdd23667,0x1b8f414e,0xfa2015ee,0xdd52aaca,0xbd9625ff,0x3e31b517,0x8db5918c,0x5ec9322d,0xa96f5294,0xbc73ac85,0x61a0666a,0x82aa5bf3,0xbf08ac42,0x49755810,0x891cedfc,0xd21cdfd5
-.long 0x67f8be10,0x918cb57b,0x56ffa726,0x365d1a7c,0x6532de93,0x2435c504,0x2674cd02,0xc0fc5e10,0x9cbbb142,0x6e51fcf8,0xafc50692,0x1d436e5a,0x3fbcae22,0x766bffff,0xfd55d3b8,0x3148c2fd
-.long 0x233222fa,0x52c7fdc9,0xe419fb6b,0x89ff1092,0x25254977,0x3cd6db99,0x1cf12ca7,0x2e85a161,0xdc810bc9,0xadd2547c,0x9d257c22,0xea3f458f,0x27d6b19b,0x642c1fbe,0x140481a6,0xed07e6b5
-.long 0x86d2e0f8,0x6ada1d42,0x0e8a9fd5,0xe5920122,0x708c1b49,0x02c936af,0x2b4bfaff,0x60f30fee,0x858e6a61,0x6637ad06,0x3fd374d0,0xce4c7767,0x7188defb,0x39d54b2d,0xf56a6b66,0xa8c9d250
-.long 0xb24fe1dc,0x58fc0f5e,0x6b73f24c,0x9eaf9dee,0x33650705,0xa90d588b,0xaf2ec729,0xde5b62c5,0xd3c2b36e,0x5c72cfae,0x034435da,0x868c19d5,0xe17ee145,0x88605f93,0x77a5d5b1,0xaa60c4ee
-.long 0x3b60c472,0xbcf5bfd2,0xeb1d3049,0xaf4ef13c,0xe13895c9,0x373f44fc,0x0cbc9822,0xf29b382f,0x73efaef6,0x1bfcb853,0xa8c96f40,0xcf56ac9c,0x7a191e24,0xd7adf109,0xbf8a8dc2,0x98035f44
-.long 0x1e750c84,0xf40a71b9,0x5dc6c469,0xc57f7b0c,0x6fbc19c1,0x49a0e79c,0xa48ebdb8,0x6b0f5889,0xa07c4e9f,0x5d3fd084,0xab27de14,0xc3830111,0x33e08dcc,0x0e4929fe,0x40bb73a3,0xf4a5ad24
-.long 0x490f97ca,0xde86c2bf,0x67a1ce18,0x288f09c6,0x1844478d,0x364bb886,0xceedb040,0x7840fa42,0x5a631b37,0x1269fdd2,0xa47c8b7d,0x94761f1e,0x481c6266,0xfc0c2e17,0x3daa5fa7,0x85e16ea2
-.long 0x92491048,0xccd86033,0xf4d402d7,0x0c2f6963,0xdf6a865c,0x6336f7df,0xb5c02a87,0x0a2a463c,0xbf2f12ee,0xb0e29be7,0x66bad988,0xf0a22002,0x9123c1d7,0x27f87e03,0x328a8c98,0x21669c55
-.long 0x92f14529,0x186b9803,0x63954df3,0xd3d056cc,0x175a46f6,0x2f03fd58,0x11558558,0x63e34ebe,0x5b80cfa5,0xe13fedee,0xd401dbd1,0xe872a120,0xe8a9d667,0x52657616,0xe08d6693,0xbc8da4b6
-.long 0x1b703e75,0x370fb9bb,0xd4338363,0x6773b186,0xecef7bff,0x18dad378,0x995677da,0xaac787ed,0x0437164b,0x4801ea8b,0x73fe795e,0xf430ad20,0x8ee5eb73,0xb164154d,0x108f7c0e,0x0884ecd8
-.long 0x5f520698,0x0e6ec096,0x44f7b8d9,0x640631fe,0xa35a68b9,0x92fd34fc,0x4d40cf4e,0x9c5a4b66,0x80b6783d,0x949454bf,0x3a320a10,0x80e701fe,0x1a0a39b2,0x8d1a564a,0x320587db,0x1436d53d
-.long 0x6556c362,0xf5096e6d,0xe2455d7e,0xbc23a3c0,0x807230f9,0x3a7aee54,0x22ae82fd,0x9ba1cfa6,0x99c5d706,0x833a057a,0x842315c9,0x8be85f4b,0x66a72f12,0xd083179a,0xcdcc73cd,0x2fc77d5d
-.long 0x5616ee30,0x22b88a80,0xe7ab1083,0xfb09548f,0x511270cd,0x8ad6ab0d,0x6924d9ab,0x61f6c57a,0x90aecb08,0xa0f7bf72,0x0df784a4,0x849f87c9,0xcfaf1d03,0x27c79c15,0xc463face,0xbbf9f675
-.long 0x765ba543,0x91502c65,0x42ea60dd,0x18ce3cac,0x6e43ecb3,0xe5cee6ac,0x68f2aeeb,0x63e4e910,0xc85932ee,0x26234fa3,0x4c90c44d,0x96883e8b,0xa18a50f6,0x29b9e738,0x3f0420df,0xbfc62b2a
-.long 0x6d3e1fa9,0xd22a7d90,0xfe05b8a3,0x17115618,0xbb2b9c01,0x2a0c9926,0xe07e76a2,0xc739fcc6,0x165e439a,0x540e9157,0x6a9063d8,0x06353a62,0x61e927a3,0x84d95594,0xe2e0be7f,0x013b9b26
-.long 0x973497f1,0x4feaec3b,0x093ebc2d,0x15c0f94e,0x33af0583,0x6af5f227,0xc61f3340,0x0c2af206,0x4457397c,0xd25dbdf1,0xcabcbae0,0x2e8ed017,0xc2815306,0xe3010938,0xe8c6cd68,0xbaa99337
-.long 0x3b0ec7de,0x08513182,0x58df05df,0x1e1b822b,0xa5c3b683,0x5c14842f,0x3eba34ce,0x98fe977e,0x0d5e8873,0xfd2316c2,0xbd0d427d,0xe48d839a,0x623fc961,0x495b2218,0xb46fba5e,0x24ee56e7
-.long 0x91e4de58,0x9184a55b,0xdfdea288,0xa7488ca5,0xa8dcc943,0xa723862e,0x849dc0fc,0x92d762b2,0x091ff4a9,0x3c444a12,0x0cada274,0x581113fa,0x30d8eae2,0xb9de0a45,0xdf6b41ea,0x5e0fcd85
-.long 0xc094dbb5,0x6233ea68,0xd968d410,0xb77d062e,0x58b3002d,0x3e719bbc,0x3dc49d58,0x68e7dd3d,0x013a5e58,0x8d825740,0x3c9e3c1b,0x21311747,0x7c99b6ab,0x0cb0a2a7,0xc2f888f2,0x5c48a3b3
-.long 0x991724f3,0xc7913e91,0x39cbd686,0x5eda799c,0x63d4fc1e,0xddb595c7,0xac4fed54,0x6b63b80b,0x7e5fb516,0x6ea0fc69,0xd0f1c964,0x737708ba,0x11a92ca5,0x9628745f,0x9a86967a,0x61f37958
-.long 0xaa665072,0x9af39b2c,0xefd324ef,0x78322fa4,0xc327bd31,0x3d153394,0x3129dab0,0x81d5f271,0xf48027f5,0xc72e0c42,0x8536e717,0xaa40cdbc,0x2d369d0f,0xf45a657a,0xea7f74e6,0xb03bbfc4
-.long 0x0d738ded,0x46a8c418,0xe0de5729,0x6f1a5bb0,0x8ba81675,0xf10230b9,0x112b33d4,0x32c6f30c,0xd8fffb62,0x7559129d,0xb459bf05,0x6a281b47,0xfa3b6776,0x77c1bd3a,0x7829973a,0x0709b380
-.long 0xa3326505,0x8c26b232,0xee1d41bf,0x38d69272,0xffe32afa,0x0459453e,0x7cb3ea87,0xce8143ad,0x7e6ab666,0x932ec1fa,0x22286264,0x6cd2d230,0x6736f8ed,0x459a46fe,0x9eca85bb,0x50bf0d00
-.long 0x877a21ec,0x0b825852,0x0f537a94,0x300414a7,0x21a9a6a2,0x3f1cba40,0x76943c00,0x50824eee,0xf83cba5d,0xa0dbfcec,0x93b4f3c0,0xf9538148,0x48f24dd7,0x61744162,0xe4fb09dd,0x5322d64d
-.long 0x3d9325f3,0x57447384,0xf371cb84,0xa9bef2d0,0xa61e36c5,0x77d2188b,0xc602df72,0xbbd6a7d7,0x8f61bc0b,0xba3aa902,0x6ed0b6a1,0xf49085ed,0xae6e8298,0x8bc625d6,0xa2e9c01d,0x832b0b1d
-.long 0xf1f0ced1,0xa337c447,0x9492dd2b,0x800cc793,0xbea08efa,0x4b93151d,0xde0a741e,0x820cf3f8,0x1c0f7d13,0xff1982dc,0x84dde6ca,0xef921960,0x45f96ee3,0x1ad7d972,0x29dea0c7,0x319c8dbe
-.long 0x7b82b99b,0xd3ea3871,0x470eb624,0x75922d4d,0x3b95d466,0x8f66ec54,0xbee1e346,0x66e673cc,0xb5f2b89a,0x6afe67c4,0x290e5cd3,0x3de9c1e6,0x310a2ada,0x8c278bb6,0x0bdb323b,0x420fa384
-.long 0x0eb919b0,0x0ae1d63b,0xa74b9620,0xd74ee51d,0xa674290c,0x395458d0,0x4620a510,0x324c930f,0xfbac27d4,0x2d1f4d19,0x9bedeeac,0x4086e8ca,0x9b679ab8,0x0cdd211b,0x7090fec4,0x5970167d
-.long 0xfaf1fc63,0x3420f2c9,0x328c8bb4,0x616d333a,0x57f1fe4a,0x7d65364c,0x55e5c73a,0x9343e877,0xe970e78c,0x5795176b,0x60533627,0xa36ccebf,0x09cdfc1b,0xfc7c7380,0xb3fec326,0xb39a2afe
-.long 0x6224408a,0xb7ff1ba1,0x247cfc5e,0xcc856e92,0xc18bc493,0x01f102e7,0x2091c727,0x4613ab74,0xc420bf2b,0xaa25e89c,0x90337ec2,0x00a53176,0x7d025fc7,0xd2be9f43,0x6e6fe3dc,0x3316fb85
-.long 0x9ac50814,0x27520af5,0x9a8e4223,0xfdf95e78,0x56bec5a0,0xb7e7df2a,0xdf159e5d,0xf7022f7d,0xcac1fe8f,0x93eeeab1,0x37451168,0x8040188c,0xd967dce6,0x7ee8aa8a,0x3abc9299,0xfa0e79e7
-.long 0x2064cfd1,0x67332cfc,0xb0651934,0x339c31de,0x2a3bcbea,0x719b28d5,0x9d6ae5c6,0xee74c82b,0xbaf28ee6,0x0927d05e,0x9d719028,0x82cecf2c,0xddb30289,0x0b0d353e,0xfddb2e29,0xfe4bb977
-.long 0x640bfd9e,0xbb5bb990,0x82f62108,0xd226e277,0x02ffdd56,0x4bf00985,0x2ca1b1b5,0x7756758a,0x5285fe91,0xc32b62a3,0x8c9cd140,0xedbc546a,0xaf5cb008,0x1e47a013,0x073ce8f2,0xbca7e720
-.long 0x17a91cae,0xe10b2ab8,0x08e27f63,0xb89aab65,0xdba3ddf9,0x7b3074a7,0x330c2972,0x1c20ce09,0x5fcf7e33,0x6b9917b4,0x945ceb42,0xe6793743,0x5c633d19,0x18fc2215,0xc7485474,0xad1adb3c
-.long 0x6424c49b,0x646f9679,0x67c241c9,0xf888dfe8,0x24f68b49,0xe12d4b93,0xa571df20,0x9a6b62d8,0x179483cb,0x81b4b26d,0x9511fae2,0x666f9632,0xd53aa51f,0xd281b3e4,0x7f3dbd16,0x7f96a765
-.long 0x074a30ce,0xa7f8b5bf,0x005a32e6,0xd7f52107,0x50237ed4,0x6f9e0907,0x8096fa2b,0x2f21da47,0xeec863a0,0xf3e19cb4,0x9527620a,0xd18f77fd,0x407c1cf8,0x9505c81c,0x1b6ec284,0x9998db4e
-.long 0xc247d44d,0x7e3389e5,0x3f4f3d80,0x12507141,0x4a78a6c7,0xd4ba0110,0x767720be,0x312874a0,0x75944370,0xded059a6,0x3b2c0bdd,0xd6123d90,0x51c108e3,0xa56b717b,0x070623e9,0x9bb7940e
-.long 0x84ac066c,0x794e2d59,0xe68c69a0,0xf5954a92,0x4fd99dcc,0x28c52458,0xb1012517,0x60e639fc,0x7de79248,0xc2e60125,0xf12fc6d7,0xe9ef6404,0x2a3b5d32,0x4c4f2808,0xc768eb8a,0x865ad32e
-.long 0x13fb70b6,0xac02331b,0x95599b27,0x037b44c1,0x60bd082c,0x1a860fc4,0xc980cd01,0xa2e25745,0x1da0263e,0xee3387a8,0x2d10f3d6,0x931bfb95,0xa1f24a32,0x5b687270,0xca494b86,0xf140e65d
-.long 0xb2f1ac7a,0x4f4ddf91,0x760fee27,0xf99eaabb,0x49c228e5,0x57f4008a,0x1cf713bb,0x090be440,0x5004f022,0xac91fbe4,0x569e1af6,0xd838c2c2,0x0f1daaa5,0xd6c7d20b,0x1bbb02c0,0xaa063ac1
-.long 0x59558a78,0x0938a422,0x8435da2f,0x5343c669,0x034410dc,0x96f67b18,0x84510804,0x7cc1e424,0x16dfbb7d,0x86a1543f,0x5b5bd592,0x921fa942,0xb33dd03c,0x9dcccb6e,0xb843f51e,0x8581ddd9
-.long 0x81d73c9e,0x54935fcb,0x0a5e97ab,0x6d07e979,0xcf3a6bab,0x4dc7b30a,0x170bee11,0x147ab1f3,0x9fafdee4,0x0aaf8e3d,0x538a8b95,0xfab3dbcb,0x6ef13871,0x405df4b3,0x088d5a49,0xf1f4e9cb
-.long 0x66b33f1d,0x9bcd24d3,0x5ce445c0,0x3b97b820,0xba93ff61,0xe2926549,0x4dafe616,0xd9c341ce,0x16efb6f3,0xfb30a76e,0x605b953c,0xdf24b8ca,0xc2fffb9f,0x8bd52afe,0xe19d0b96,0xbbac5ff7
-.long 0x459afccd,0x43c01b87,0xb7432652,0x6bd45143,0x55b5d78e,0x84734530,0x1554ba7d,0x81088fdb,0x1e269375,0xada0a52c,0x2dc5ec10,0xf9f037c4,0x94bfbc11,0xc0660607,0xc9c40d2f,0xc0a630bb
-.long 0xab64c31e,0x5efc797e,0x74507144,0xffdb1dab,0x1ca6790c,0xf6124287,0xe69bf1bf,0xe9609d81,0x00d24fc9,0xdb898595,0xe51fb417,0x9c750333,0xfef7bbde,0x51830a91,0x945f585c,0x0ce67dc8
-.long 0x4763eb50,0x9a730ed4,0xc1ab0d66,0x24a0e221,0x648748f3,0x643b6393,0x6d3c6291,0x1982daa1,0x8bbc5549,0x6f00a9f7,0x7f36384e,0x7a1783e1,0xde977f50,0xe8346323,0xb245502a,0x91ab688d
-.long 0x6d0bdd66,0x331ab6b5,0x64b71229,0x0a6ef32e,0xfe7c352f,0x1028150e,0xce7b39d3,0x27e04350,0xc1070c82,0x2a3c8acd,0x80c9feef,0xfb2034d3,0x709f3729,0x2d729621,0x62cb4549,0x8df290bf
-.long 0xfc2e4326,0x02f99f33,0x5eddf032,0x3b30076d,0x0c652fb5,0xbb21f8cf,0xed91cf7b,0x314fb49e,0x2f700750,0xa013eca5,0x712a4575,0x2b9e3c23,0xaf30fbb0,0xe5355557,0x7c77e771,0x1ada3516
-.long 0x7b135670,0x45f6ecb2,0x7cfc202e,0xe85d19df,0x58d1be9f,0x0f1b50c7,0xead2e344,0x5ebf2c0a,0xabc199c9,0x1531fe4e,0x56bab0ae,0xc7032592,0x6c1fec54,0x16ab2e48,0x04280188,0x0f87fda8
-.long 0x609e4a74,0xdc9f46fc,0xba667f91,0x2a44a143,0xb4d83436,0xbc3d8b95,0xc7bd2958,0xa01e4bd0,0x73483c90,0x7b182932,0xa7c7b598,0xa79c6aa1,0xeaaac07e,0xbf3983c6,0x96e0d4e6,0x8f18181e
-.long 0x051af62b,0x8553d37c,0x0bf94496,0xe9a998eb,0xb0d59aa1,0xe0844f9f,0xe6afb813,0x983fd558,0x65d69804,0x9670c0ca,0x6ea5ff2d,0x732b22de,0x5fd8623b,0xd7640ba9,0xa6351782,0x9f619163
-.long 0xacee5043,0x0bfc27ee,0x2eb10f02,0xae419e73,0x8943fb05,0x19c028d1,0xff13aa2a,0x71f01cf7,0x8887a132,0x7790737e,0x66318410,0x67513309,0x7ddb795e,0x9819e8a3,0xdad100b2,0xfecb8ef5
-.long 0x3021926a,0x59f74a22,0x6f9b4c1c,0xb7c28a49,0x912ad0ab,0xed1a733f,0x01a5659c,0x42a910af,0x7bd68cab,0x3842c6e0,0x76d70ac8,0x2b57fa38,0x3c53aaeb,0x8a6707a8,0x65b4db18,0x62c1c510
-.long 0xb2d09dc7,0x8de2c1fb,0x266bd23b,0xc3dfed12,0xd5b27db6,0x927d039b,0x103243da,0x2fb2f0f1,0x80be7399,0xf855a07b,0x1f9f27a8,0xed9327ce,0x729bdef7,0xa0bd99c7,0x28250d88,0x2b67125e
-.long 0x8670ced7,0x784b26e8,0xc31bd3b4,0xe3dfe41f,0xbcc85cbc,0x9e353a06,0x60178a9d,0x302e2909,0xa6eac16e,0x860abf11,0xaa2b3aac,0x76447000,0x850afdab,0x46ff9d19,0xfdb2d4c1,0x35bdd6a5
-.long 0x7e5c9ce9,0xe82594b0,0x20af346e,0x0f379e53,0xbc65ad4a,0x608b31e3,0x267c4826,0x710c6b12,0x71954cf1,0x51c966f9,0x0d0aa215,0xb1cec793,0x86bd23a8,0x1f155989,0xf9452e86,0xae2ff99c
-.long 0x340ceaa2,0xd8dd953c,0x2e2e9333,0x26355275,0x8586f06d,0x15d4e5f9,0xf7cab546,0xd6bf94a8,0xb76a9af0,0x33c59a0a,0xba095af7,0x52740ab3,0x24389ca0,0xc444de8a,0x706da0cb,0xcc6f9863
-.long 0x6b2515cf,0xb5a741a7,0x9585c749,0x71c41601,0xe683de97,0x78350d4f,0x63d0b5f5,0x31d61524,0xfbce090b,0x7a0cc5e1,0xfbcb2a5b,0xaac927ed,0x20d84c35,0xe920de49,0x22b4de26,0x8c06a0b6
-.long 0xafe7ddf3,0xd34dd58b,0xc1e6e55b,0x55851fed,0x960696e7,0xd1395616,0x5f22705f,0x940304b2,0xb0a2a860,0x6f43f861,0x0e7cc981,0xcf121282,0x0ab64a96,0x12186212,0xb789383c,0x09215b9a
-.long 0x37387c09,0x311eb305,0xf03ee760,0xc5832fce,0x32f7ea19,0x30358f58,0x91d53551,0xe01d3c34,0xda48ea80,0x1ca5ee41,0xcf4fa4c1,0x34e71e8e,0x7af1e1c7,0x312abd25,0x2153f4a5,0xe3afcdeb
-.long 0x00235e9a,0x9d5c84d7,0x8c4c836f,0x0308d3f4,0x89332de5,0xc0a66b04,0x89e566ef,0x610dd399,0xd1ac1635,0xf8eea460,0x20a2c0df,0x84cbb3fb,0xe74a48c5,0x40afb488,0xd326b150,0x29738198
-.long 0xa6d74081,0x2a17747f,0x55a26214,0x60ea4c05,0x1f88c5fe,0x53514bb4,0x7e83426c,0xedd64567,0x96460b25,0xd5d6cbec,0x68dc115e,0xa12fd0ce,0x697840ea,0xc5bc3ed2,0xa6331e31,0x969876a8
-.long 0x472ff580,0x60c36217,0x4ad41393,0xf4229705,0xa03b8b92,0x4bd99ef0,0xc144f4f6,0x501c7317,0x18464945,0x159009b3,0x74c5c6be,0x6d5e594c,0x321a3660,0x2d587011,0x3898d022,0xd1e184b1
-.long 0x4c6a7e04,0x5ba04752,0x45550b65,0x47fa1e2b,0x48c0a9a5,0x9419daf0,0x7c243236,0x66362953,0x5cb12a88,0xcd0744b1,0x2b646188,0x561b6f9a,0x66c2c0c0,0x599415a5,0x0f83f09a,0xbe3f0859
-.long 0xb92041b8,0x9141c5be,0x26477d0d,0x01ae38c7,0xd12c7a94,0xca8b71f3,0x765c70db,0xfab5b31f,0x487443e9,0x76ae7492,0x990d1349,0x8595a310,0x7d460a37,0xf8dbeda8,0x1e45a38f,0x7f7ad082
-.long 0x1059705a,0xed1d4db6,0xe6b9c697,0xa3dd492a,0x6eb38bd5,0x4b92ee3a,0x67cc0bb7,0xbab2609d,0x6e70ee82,0x7fc4fe89,0x13e6b7e3,0xeff2c56e,0x34d26fca,0x9b18959e,0x889d6b45,0x2517ab66
-.long 0xbdefdd4f,0xf167b4e0,0xf366e401,0x69958465,0xa73bbec0,0x5aa368ab,0x7b240c21,0x12148709,0x18969006,0x378c3233,0xe1fe53d1,0xcb4d73ce,0x130c4361,0x5f50a80e,0x7ef5212b,0xd67f5951
-.long 0x9e70c72e,0xf145e21e,0x5566d2fb,0xb2e52e29,0x032397f5,0x44eaba4a,0x7e31a7de,0x5e56937b,0x456c61e1,0x68dcf517,0xa8b0a388,0xbc2e954a,0x60a8b755,0xe3552fa7,0x73ad0cde,0x03442dae
-.long 0xceb26210,0x37ffe747,0x787baef9,0x983545e8,0x86a3de31,0x8b8c8535,0xfacd46db,0xc621dbcb,0x59266fbb,0x82e442e9,0x339d471c,0xa3514c37,0x62cdad96,0x3a11b771,0xecf9bdf0,0xf0cb3b3c
-.long 0x478e2135,0x3fcbdbce,0xbda35342,0x7547b5cf,0x8a677af6,0xa97e81f1,0x28817987,0xc8c2bf83,0x45580985,0xdf07eaaf,0xc93b45cb,0xc68d1f05,0xc77b4cac,0x106aa2fe,0x04a7ae86,0x4c1d8afc
-.long 0x9eb45ab2,0xdb41c3fd,0xd4b22e74,0x5b234b5b,0xf215958a,0xda253dec,0xa04edfa0,0x67e0606e,0xef751b11,0xabbbf070,0xf6f06dce,0xf352f175,0x6839f6b4,0xdfc4b6af,0x9959848e,0x53ddf9a8
-.long 0xc21520b0,0xda49c379,0xdbd5d1b6,0x90864ff0,0x5f49c7f7,0x2f055d23,0xa796b2d8,0xe51e4e6a,0x5c9dc340,0xc361a67f,0xbca7c620,0x5ad53c37,0x32c756d0,0xda1d6588,0x8bb67e13,0xad60d911
-.long 0x0eeec8c6,0xd6c47bdf,0x078a1821,0x4a27fec1,0xc3099524,0x081f7415,0x82cd8060,0x8effdf0b,0x65842df8,0xdb70ec1c,0xd319a901,0x8821b358,0xde42b529,0x72ee56ee,0x236e4286,0x5bb39592
-.long 0xfd6f7140,0xd1183316,0xbd8e81f7,0xf9fadb5b,0x5a02d962,0x701d5e0c,0x1b601324,0xfdee4dbf,0x35d7620e,0xbed17407,0xf48c0012,0x04e3c2c3,0x3455449a,0x9ee29da7,0x91a836c4,0x562cdef4
-.long 0x47701097,0x8f682a5f,0xff88d0c2,0x617125d8,0x57bb86dd,0x948fda24,0x289f7286,0x348abb8f,0x99d94bbd,0xeb10eab5,0x4684d160,0xd51ba28e,0x30c8f41a,0xabe0e51c,0x13254f4a,0x66588b45
-.long 0xfad097a5,0x147ebf01,0x610e815d,0x49883ea8,0x8a11de56,0xe44d60ba,0x827a7a6d,0xa970de6e,0x5e17fc19,0x2be41424,0x01214057,0xd833c657,0x363e723f,0x1375813b,0xe6a52e9b,0x6820bb88
-.long 0xd875d56a,0x7e7f6970,0x51fbf6bf,0xd6a0a9ac,0xa3083c12,0x54ba8790,0x6ae7eb64,0xebaeb23d,0xb99a907a,0xa8685c3a,0x026bf40b,0xf1e74550,0xc802cd9e,0x7b73a027,0x4fef4635,0x9a8a927c
-.long 0x08191224,0xe1b6f60c,0xde4ec091,0xc4126ebb,0x4ae38d84,0xe1dff4dc,0x4f2ef985,0xde3f57db,0xd446a1dd,0x34964337,0x859e77f6,0x7bf217a0,0x8e1d13f5,0x8ff10527,0x74eeae27,0xa304ef03
-.long 0xd19dfa5a,0xfc6f5e47,0x7fad982b,0xdb007de3,0x613715f5,0x28205ad1,0x7889529e,0x251e6729,0x1ae98e78,0x72705184,0x271cac32,0xf818537d,0xb7f410f5,0xc8a15b7e,0x81f62393,0xc474356f
-.long 0xc242316b,0x92dbdc5a,0xdbf4aff5,0xabe060ac,0x909a8ec6,0x6e8c38fe,0x6116cb94,0x43e514e5,0x07d784f9,0x2078fa38,0xf4b5b357,0x1161a880,0x13adea3d,0x5283ce79,0xcc6a910b,0x0756c3e6
-.long 0xaaa79697,0x60bcfe01,0x56391db1,0x04a73b29,0x189b45a0,0xdd8dad47,0x48d5b8d9,0xbfac0dd0,0x7d3d2ec2,0x34ab3af5,0x207bd3af,0x6fa2fc2d,0x66550ded,0x9ff40092,0x1fd5b913,0x719b3e87
-.long 0x6d17fbc7,0xa573a496,0x73d2b24e,0x0cd1a70a,0xb2676937,0x34e2c5ca,0xbf669f21,0xe7050b06,0x1ede9046,0xfbe948b6,0x97662659,0xa0530051,0xf10124c5,0x58cbd4ed,0xdd6c06c8,0xde2646e4
-.long 0x8cad38c0,0x332f8108,0x6bd68ae2,0x471b7e90,0x0d8e27a3,0x56ac3fb2,0x136b4b0d,0xb54660db,0xa6fd8de4,0x123a1e11,0xa37799ef,0x44dbffea,0xce6ac17c,0x4540b977,0xaf60acef,0x495173a8
-.long 0x391c2a82,0x9ebb284d,0x158308e8,0xbcdd4863,0x83f1edca,0x006f16ec,0x695dc6c8,0xa13e2c37,0x4a057a87,0x2ab756f0,0xa6b48f98,0xa8765500,0x68651c44,0x4252face,0xe1765e02,0xa52b540b
-.long 0x16a0d2bb,0x4f922fc5,0x1a623499,0x0d5cc16c,0x57c62c8b,0x9241cf3a,0xfd1b667f,0x2f5e6961,0xf5a01797,0x5c15c70b,0x60956192,0x3d20b44d,0x071fdb52,0x04911b37,0x8d6f0f7b,0xf648f916
-.long 0xe60b7cf7,0x6dc1acaf,0x84a9d869,0x25860a50,0xe7ba8ac4,0x56fc6f09,0x6148d29e,0x828c5bd0,0xdc55ae5f,0xac6b435e,0xc0117411,0xa527f56c,0xfd24342c,0x94d5045e,0x70b67c0d,0x2c4c0a35
-.long 0xfac61d9a,0x027cc8b8,0xe3c6fe8a,0x7d25e062,0xe5bff503,0xe08805bf,0x6ff632f7,0x13271e6c,0x232f76a5,0x55dca6c0,0x701ef426,0x8957c32d,0xa10a5178,0xee728bcb,0xb62c5173,0x5ea60411
-.long 0xd0b8892b,0xfc4e964e,0x9301bb74,0x9ea17683,0xfcc48626,0x6265c5ae,0xbb3e9102,0xe60cf82e,0xd4df5531,0x57adf797,0x8deeefe2,0x235b59a1,0x3f306eb1,0x60adcf58,0x3d09492d,0x105c2753
-.long 0xb5def996,0x4090914b,0x233dd1e7,0x1cb69c83,0x9b3d5e76,0xc1e9c1d3,0xfccf6012,0x1f3338ed,0x2f5378a8,0xb1e95d0d,0x2f00cd21,0xacf4c2c7,0xeb5fe290,0x6e984240,0x248088ae,0xd66c038d
-.long 0xf94d70cf,0x804d264a,0x7314bf7e,0xbdb802ef,0x4333ed02,0x8fb54de2,0x285635d9,0x740461e0,0x365e9383,0x4113b2c8,0x3fdef652,0xea762c83,0x47b956c1,0x4eec6e2e,0x65620fa4,0xa3d814be
-.long 0xb4d8bc50,0x9ad5462b,0xa9195770,0x181c0b16,0x78412a68,0xebd4fe1c,0xc0dff48c,0xae0341bc,0x7003e866,0xb6bc45cf,0x8a24a41b,0xf11a6dea,0xd04c24c2,0x5407151a,0xda5b7b68,0x62c9d27d
-.long 0x88cceff6,0x2e964235,0x8b07ed69,0x8594c54f,0xc84d0d0d,0x1578e73c,0xff532868,0x7b4e1055,0xb5ec995a,0xa348c0d5,0x14289a54,0xbf4b9d55,0x58fbd777,0x9ba155a6,0x1a84491d,0x186ed7a8
-.long 0x614c0900,0xd4992b30,0xbd00c24b,0xda98d121,0x7ec4bfa1,0x7f534dc8,0x37dc34bc,0x4a5ff674,0x1d7ea1d7,0x68c196b8,0x80a6d208,0x38cf2893,0xe3cbbd6e,0xfd56cd09,0x4205a5b6,0xec72e27e
-.long 0xa44f77f7,0x15ea68f5,0xb43c52bc,0x7aa5f9fd,0x94f0e609,0x86ff676f,0x2e2d432b,0xa4cde963,0xeee470af,0x8cafa0c0,0x8a3f5ec8,0x84137d0e,0xfaa31231,0xebb40411,0x6f7f7ccf,0xa239c13f
-.long 0xa8afd30b,0x32865719,0x8a826dce,0x86798328,0xc4a8fbe0,0xdf04e891,0xebf56ad3,0xbb6b6e1b,0x471f1ff0,0x0a695b11,0xbe15baf0,0xd76c3389,0xbe96c43e,0x018edb95,0x90794158,0xf2beaaf4
-.long 0xc3076a27,0x152db09e,0xe416545d,0x5e82908e,0x356d6f2e,0xa2c41272,0x31fd74e1,0xdc9c9642,0x519bf615,0x66ceb88d,0x05a2274e,0xe29ecd76,0xbf5e2fa0,0x3a0473c4,0x64284e67,0x6b6eb671
-.long 0xb88756dd,0xe8b97932,0xf17e3e61,0xed4e8652,0x3ee1c4a4,0xc2dd1499,0x597f8c0e,0xc0aaee17,0x6c168af3,0x15c4edb9,0xb39ae875,0x6563c7bf,0x20adb436,0xadfadb6f,0x9a042ac0,0xad55e8c9
-.long 0xb76da1f5,0x975a1ed8,0xa58acb94,0x10dfa466,0xac060282,0x8dd7f7e3,0x572a051e,0x6813e66a,0x350cb901,0xb4ccae1e,0x50cb7822,0xb653d656,0xdfab3b87,0x42484710,0x9b670fd0,0xcd7ee537
-.long 0x523b8bf6,0x0a50b12e,0x8f910c1b,0x8009eb5b,0x4a167588,0xf535af82,0xfb2a2abd,0x0f835f9c,0x2afceb62,0xf59b2931,0x169d383f,0xc797df2a,0x66ac02b0,0xeb3f5fb0,0xdaa2d0ca,0x029d4c6f
-.long 0xafab4bc5,0xd4059bc1,0x56783247,0x833f5c6f,0x8d2d3605,0xb5346630,0xd34d8433,0x83387891,0xadd9419a,0xd973b30f,0xafe3fce8,0xbcca1099,0x0809aac6,0x08178315,0x540f0f11,0x01b7f21a
-.long 0x909523c8,0x65c29219,0xa3a1c741,0xa62f648f,0x60c9e55a,0x88598d4f,0x0e4f347a,0xbce9141b,0x35f9b988,0x9af97d84,0x320475b6,0x0210da62,0x9191476c,0x3c076e22,0x44fc7834,0x7520dbd9
-.long 0xc1ab1bbd,0x6a6b2cfe,0xdc650938,0xef8a65be,0x805d7bc4,0x72855540,0xed11fdfd,0xda389396,0x74660876,0xa9d5bd36,0xb45dff35,0x11d67c54,0xa4f5da94,0x6af7d148,0xc0bbeb31,0xbb8d4c3f
-.long 0xe0a1b12a,0x87a7ebd1,0x770ba95f,0x1e4ef88d,0xdc2ae9cb,0x8c33345c,0x01cc8403,0xcecf1276,0x1b39b80f,0x687c012e,0x35c33ba4,0xfd90d0ad,0x5c9661c2,0xa3ef5a67,0xe017429e,0x368fc88e
-.long 0x196a2fa2,0xd30c6761,0xbd5b312e,0x931b9817,0x72f54a31,0xba01000c,0x66eaa541,0xa203d2c8,0x98939db3,0xf2abdee0,0x3e606c02,0xe37d6c2c,0x521ff643,0xf2921574,0xd7e2fca3,0x2781b3c4
-.long 0x7850ec06,0x664300b0,0x7d3a10cf,0xac5a38b9,0xe34ab39d,0x9233188d,0x5072cbb9,0xe77057e4,0xb59e78df,0xbcf0c042,0x1d97de52,0x4cfc91e8,0x3ee0ca4a,0x4661a26c,0xfb8507bc,0x5620a4c1
-.long 0x049f842c,0x4b44d4aa,0x1540e82b,0xceabc5d5,0x15c6f156,0x306710fd,0x63db1d72,0xbe5ae52b,0x334957f1,0x06f1e7e6,0x31144a70,0x57e388f0,0xdf96447b,0xfb69bb2f,0x73e38a12,0x0f78ebd3
-.long 0x2b7ce542,0xb8222605,0x7472bde1,0xe6d4ce99,0x09d2f4da,0x53e16ebe,0x53b92b2e,0x180ff42e,0x2c34a1c6,0xc59bcc02,0x422c46c2,0x3803d6f9,0x5c14a8a2,0x18aff74f,0x10a08b28,0x55aebf80
-.long 0x7135593f,0x66097d58,0x2be570cd,0x32e6eff7,0x2a8c860d,0x584e6a10,0xa2eb4163,0xcd185890,0x6d97e134,0x7ceae99d,0xdd8447ce,0xd42c6b70,0xb8c50273,0x59ddbb4a,0x3cf34e1e,0x03c612df
-.long 0x04b6c5a0,0x84b9ca15,0x18f0e3a3,0x35216f39,0xbd986c00,0x3ec2d2bc,0xd19228fe,0x8bf546d9,0x4cd623c3,0xd1c655a4,0x502b8e5a,0x366ce718,0xeea0bfe7,0x2cfc84b4,0xcf443e8e,0xe01d5cee
-.long 0x036520f8,0x8ec045d9,0x92d40e98,0xdfb3c3d1,0xcc559a04,0x0bac4cce,0x240ea6b1,0x35eccae5,0xf8a5a0ac,0x180b32db,0xeb699700,0x547972a5,0xca26bca0,0xa3765801,0xa647f25a,0x57e09d0e
-.long 0x2fdd23cc,0xb956970e,0x5682e971,0xb80288bc,0x9ae86ebc,0xe6e6d91e,0x8c9f1939,0x0564c83f,0x39560368,0x551932a2,0x049c28e2,0xe893752b,0xa6a158c3,0x0b03cee5,0x04964263,0xe12d656b
-.long 0x63e3bc1d,0x4b47554e,0x45044ff7,0xc719b6a2,0xe48daa07,0x4f24d30a,0xc8c1edc3,0xa3f37556,0x0700d360,0x9a47bf76,0x822ae4e2,0xbb1a1824,0x89f1fb4c,0x22e275a3,0x9968c5f5,0x72b1aa23
-.long 0xbe063f64,0xa75feaca,0xbce47a09,0x9b392f43,0x1ad07aca,0xd4241509,0x8d26cd0f,0x4b0c591b,0x92f1169a,0x2d42ddfd,0x4cbf2392,0x63aeb1ac,0x0691a2af,0x1de9e877,0xd98021da,0xebe79af7
-.long 0x40e50acf,0xcfdf2a4e,0xaf01d665,0xf0a98ad7,0x1831be1f,0xefb640bf,0x80e9ada0,0x6fe8bd2f,0x6cafbc91,0x94c103a1,0x8308e08c,0x170f8759,0x9780ff4f,0x5de2d2ab,0x45b201f2,0x666466bc
-.long 0xf5b343bc,0x58af2010,0xf2f142fe,0x0f2e400a,0xa85f4bdf,0x3483bfde,0x03bfeaa9,0xf0b1d093,0xc7081603,0x2ea01b95,0x3dba1097,0xe943e4c9,0xb438f3a6,0x47be92ad,0xe5bf6636,0x00bb7742
-.long 0x824297b4,0x136b7083,0x5584455f,0x9d0e5580,0xf1c7d69e,0xab48cedc,0x2a256e76,0x53a9e481,0x65eb2413,0x0402b0e0,0x8fc407a7,0xdadbbb84,0x8d7f5492,0xa65cd5a4,0x74bae294,0x21d44293
-.long 0x3b5f1cc4,0x66917ce6,0xce872e62,0x37ae52ea,0x2905f244,0xbb087b72,0x1e6af74f,0x12077086,0x1058edea,0x4b644e49,0xb638ca1d,0x827510e3,0x6038591c,0x8cf2b704,0xfe635063,0xffc8b47a
-.long 0x1b4d5e63,0x3ae220e6,0x9d961b4b,0xbd864742,0x9bd16bed,0x610c107e,0x1127147b,0x4270352a,0x64cfc50e,0x7d17ffe6,0x1e36cb42,0x50dee01a,0x35dc5f9a,0x068a7622,0xdf53f62c,0x9a08d536
-.long 0x6be5f7de,0x4ed71457,0xc2263c9e,0xd93006f8,0xcacacb36,0xe073694c,0x3ae118ab,0x2ff7a5b4,0xcd871236,0x3cce53f1,0xc2aa6d52,0xf156a39d,0xb198d76d,0x9cc5f271,0x81383d39,0xbc615b6f
-.long 0xde3eee6b,0xa54538e8,0xab910d91,0x58c77538,0x58d278bd,0x31e5bdbc,0xb963acae,0x3cde4adf,0x5302169c,0xb1881fd2,0xa989ed8b,0x8ca60fa0,0xff96a0ee,0xa1999458,0xac6c283d,0xc1141f03
-.long 0x6dfafed3,0x7677408d,0x39661588,0x33a01653,0x0b726fa0,0x3c9c15ec,0x6c9b56da,0x090cfd93,0xa3c40af5,0xe34f4bae,0xd21129f1,0x3469eadb,0x1e207ce8,0xcc51674a,0xc83b1ef9,0x1e293b24
-.long 0x1e6c0bb4,0x17173d13,0x90776d35,0x19004695,0x6de6f922,0xe7980e34,0xf4dd9a22,0x873554cb,0xcbf18a51,0x0316c627,0x3032c081,0x4d93651b,0x3946834d,0x207f2771,0x30cdbf80,0x2c08d7b4
-.long 0x86df2a61,0x137a4fb4,0xecf7b4a2,0xa1ed9c07,0x7bd042ff,0xb2e460e2,0x5f62f5ec,0xb7f5e2fa,0xcc2423b7,0x7aa6ec6b,0xba63eea7,0x75ce0a7f,0xf250a6e1,0x67a45fb1,0xe53cdc9f,0x93bc919c
-.long 0x871942df,0x9271f56f,0x7859ad66,0x2372ff6f,0x33cb1a78,0x5f4c2b96,0x5838aa83,0xe3e29101,0xe4e8110c,0xa7ed1611,0x330198ce,0x2a2d70d5,0x6720efe0,0xbdf132e8,0x66a471bf,0xe61a8962
-.long 0x825808bd,0x796d3a85,0x3fd6e902,0x51dc3cb7,0x916219d1,0x643c768a,0xa2ad7d32,0x36cd7685,0xb22922a4,0xe3db9d05,0xdba29660,0x6494c87e,0xbcd2ebc7,0xf0ac91df,0x45107f8d,0x4deb57a0
-.long 0xc3d12a73,0x42271f59,0xa5c2c51d,0x5f71687c,0x05797bcb,0xcb1f50c6,0xd6d34eb0,0x29ed0ed9,0x4683c2eb,0xe5fe5b47,0x97447c46,0x4956eeb5,0x71207167,0x5b163a43,0x0248c5ef,0x93fa2fed
-.long 0x31f63950,0x67930af2,0x14caa2c9,0xa77797c1,0x27ac7e62,0x526e80ee,0x58b28aec,0xe1e6e626,0xb3c9fef0,0x636178b0,0x6d5f90be,0xaf7752e0,0xeece51cf,0x94ecaf18,0xca806e1f,0x2864d0ed
-.long 0x97c69134,0x6de2e383,0xeb291293,0x5a42c316,0x6a60bae0,0xc7779219,0x6b7599d1,0xa24de346,0xb75d4941,0x49d374aa,0x2d501ff0,0x98900586,0xeb7974cf,0x9f16d40e,0xcdd8c115,0x1033860b
-.long 0x2094cec3,0xb6c69ac8,0x403b770c,0x9976fb88,0x4859590d,0x1dea026c,0x8562d1fd,0xb6acbb46,0x44569d85,0x7cd6c461,0x97f0891d,0xc3190a36,0x48d5a17d,0xc6f53195,0xd749abc8,0x7d919966
-.long 0xdd1c8a20,0x65104837,0x2f683419,0x7e5410c8,0xbe94022e,0x958c3ca8,0x6145dac2,0x605c3197,0x01683d54,0x3fc07501,0x595b1234,0x1d7127c5,0x9481277f,0x10b8f87c,0xe65a1adb,0x677db2a8
-.long 0xddce3345,0xec2fccaa,0x012a4350,0x2a6811b7,0xac598bdc,0x96760ff1,0xd1bf4128,0x054d652a,0x92a21005,0x0a1151d4,0x33110fdf,0xad7f3971,0x1960100f,0x8c95928c,0x7bf03362,0x6c91c825
-.long 0xce309f06,0xc8c8b2a2,0xca27204b,0xfdb27b59,0x0848e32e,0xd223eaa5,0xe7bfaf1e,0xb93e4b2e,0x44aa3ded,0xc5308ae6,0xc015d573,0x317a666a,0x1a979707,0xc888ce23,0x0d5c4958,0xf141c1e6
-.long 0x61906373,0xb53b7de5,0xeb999595,0x858dbade,0xa59e5c36,0x8cbb47b2,0xdcf4e842,0x660318b3,0x12ba4b7a,0xbd161ccd,0xf8c8282a,0xf399daab,0xeeb2130d,0x1587633a,0xda38dd7d,0xa465311a
-.long 0x64d3779b,0x5f75eec8,0xad64c171,0x3c5d0476,0x2a914428,0x87410371,0x90e2fc29,0x8096a891,0x23b3ebc2,0xd3d2ae9d,0xa580cfd6,0x90bdd6db,0xc5b01f6c,0x52dbb7f3,0xe102a2dc,0xe68eded4
-.long 0x99eb6df0,0x17785b77,0x7386b779,0x26c3cc51,0x6417a48e,0x345ed988,0x07d6ef31,0xe990b4e4,0x2586abba,0x0f456b7e,0x59c96e9a,0x239ca6a5,0xe2eb4206,0xe327459c,0xa002b90a,0x3a4c3313
-.long 0xf6a3f6fb,0x2a114806,0x85c251dd,0xad5cad2f,0xf5a784d3,0x92c1f613,0x349766d5,0xec7bfacf,0x3e23cb3b,0x04b3cd33,0xc5a64b2d,0x3979fe84,0x7e589106,0x192e2720,0xa15b527f,0xa60c43d1
-.long 0xbe7cf3a6,0x2dae9082,0xbc967274,0xcc86ba92,0xaea0a8a9,0xf28a2ce8,0x6ee988b3,0x404ca6d9,0x005921b8,0xfd7e9c5d,0x44e79bf9,0xf56297f1,0x0d75ddc2,0xa163b460,0xa1f2be87,0x30b23616
-.long 0xbfe50e2b,0x4b070d21,0xe1bfede1,0x7ef8cfd0,0x2aac4ae0,0xadba0011,0xb9ebd033,0x2a3e7d01,0xe38d9d1c,0x995277ec,0x9c5d2de3,0xb500249e,0xf13ca8c9,0x8912b820,0x877793af,0xc8798114
-.long 0xec3f1dec,0x19e6125d,0x911178da,0x07b1f040,0x904a6738,0xd93ededa,0x0bebedcd,0x55187a5a,0xeb329d41,0xf7d04722,0xf170b391,0xf449099e,0xca99f828,0xfd317a69,0x34a4976d,0x50c3db2b
-.long 0x3757b392,0xe9ba7784,0xaa3ca05a,0x326caefd,0xf1e593d4,0x78e5293b,0x0d98fd13,0x7842a937,0x5f96b10d,0xe694bf96,0x06a8cd05,0x373a9df6,0xe8f0c7fc,0x997d1e51,0x63fd972e,0x1d019790
-.long 0x5499fb32,0x0064d858,0x77a8aeb7,0x7b67bad9,0x2d08eec5,0x1d3eb977,0xcbabae1d,0x5fc047a6,0xe54a64bb,0x0577d159,0xc43497e4,0x8862201b,0x2ce0608d,0xad6b4e28,0x0b167aac,0x8b687b7d
-.long 0x8b2ecfa9,0x6ed4d367,0xa90c3c38,0x24dfe62d,0x3fe5c42b,0xa1862e10,0xd5732a9f,0x1ca73dca,0x76bb87ad,0x35f038b7,0xf242b81f,0x674976ab,0xb0fd90cd,0x4f2bde7e,0xa7fdf092,0x6efc172e
-.long 0x92222f1f,0x3806b69b,0x6cf7ae70,0x5a2459ca,0xa85217ee,0x6789f69c,0xe3dc85ac,0x5f232b5e,0x48e9e516,0x660e3ec5,0x3197eb31,0x124b4e47,0xaafcca23,0x10a0cb13,0x8213224f,0x7bd63ba4
-.long 0x290a7f4f,0xaffad7cc,0x0286b461,0x6b409c9e,0xffa407af,0x58ab809f,0xc68ac073,0xc3122eed,0x4ef24d7e,0x17bf9e50,0x3e2a5811,0x5d929794,0x02902e01,0x519bc867,0x39c8a851,0x76bba5da
-.long 0xda94951e,0xe9f9669c,0x66b8d418,0x4b6af58d,0x17d426a4,0xfa321074,0x9dde6027,0xc78e66a9,0x4a53b964,0x0516c083,0xff602330,0xfc659d38,0x58c5c897,0x0ab55e5c,0x838bc5df,0x985099b2
-.long 0xc52fc238,0x061d9efc,0x6ac1da3f,0x712b2728,0x9283fe08,0xfb658149,0xb8aaa2f7,0x4954ac94,0x7fb2e74f,0x85c0ada4,0xb89926b0,0xee8ba98e,0x23d1af5b,0xe4f9d37d,0xba9b015e,0x14ccdbf9
-.long 0x7bfe7178,0xb674481b,0x65405868,0x4e1debae,0xc48c867d,0x061b2821,0x513b30ea,0x69c15b35,0x36871088,0x3b4a1666,0x1220b1ff,0xe5e29f5d,0x233d9f4d,0x4b82bb35,0x18cdc675,0x4e076333
-.long 0xa3e6fced,0x0d53f5c7,0xf45fbdeb,0xe8cbbdd5,0x13339a70,0xf85c01df,0x142ceb81,0x0ff71880,0xbd70437a,0x4c4e8774,0xba0bda6a,0x5fb32891,0xf18bd26e,0x1cdbebd2,0x03a9d522,0x2f9526f1
-.long 0x92c4d684,0x40ce3051,0x7612efcd,0x8b04d725,0x6f9cae20,0xb9dcda36,0xf058856c,0x0edc4d24,0x85427900,0x64f2e6bf,0xdc09dfea,0x3de81295,0x379bf26c,0xd41b4487,0x6df135a9,0x50b62c6d
-.long 0xc72dfe67,0xd4f8e3b4,0x90e19fdf,0xc416b0f6,0x4c13bd35,0x18b9098d,0x15b8cb9e,0xac11118a,0xf0062841,0xf598a318,0x89f356f4,0xbfe0602f,0x30177a0c,0x7ae3637e,0x61136537,0x34097747
-.long 0xd005832a,0x0db2fb5e,0x91042e4f,0x5f5efd3b,0xed70f8ca,0x8c4ffdc6,0xb52da9cc,0xe4645d0b,0xc9001d1f,0x9596f58b,0x4e117205,0x52c8f0bc,0xe398a084,0xfd4aa0d2,0x104f49de,0x815bfe3a
-.long 0x23885e5f,0x97e5443f,0xe8433aab,0xf72f8f99,0xe4d4e604,0xbd00b154,0xe5e173ff,0xd0b35e6a,0x9164722d,0x57b2a048,0x88761ec8,0x3e3c665b,0x3da83832,0x6bdd1397,0x73dafe3b,0x3c8b1a1e
-.long 0x54317cac,0x4497ace6,0x521771b3,0xbe600ab9,0xb0dfe8b8,0xb42e409e,0x3942310f,0x386a67d7,0x4431cc28,0x25548d8d,0x985dc524,0xa7cff142,0x93c4be32,0x4d60f5a1,0xd071c6e1,0x83ebd5c8
-.long 0xb1fd2b0b,0xba3a80a7,0x5bec33e8,0x9b3ad396,0x79743fb3,0xb3868d61,0xfdb462fa,0xcfd169fc,0x9ce0a6af,0xd3b499d7,0xe42d3ff8,0x55dc1cf1,0xc6c3e1b2,0x04fb9e6c,0x6f69a474,0x47e6961d
-.long 0xe548b37b,0x54eb3acc,0x84d40549,0xb38e7542,0x7b341b4f,0x8c3daa51,0x690bf7fa,0x2f6928ec,0x86ce6c41,0x0496b323,0x10adadcd,0x01be1c55,0x4bb5faf9,0xc04e67e7,0xe15c9985,0x3cbaf678
-.long 0x50ca4247,0x8cd12145,0xe7dd30aa,0xba1aa47a,0xe58fee24,0x2f81ddf1,0xeec9b0e8,0x03452936,0x243aea96,0x8bdc3b81,0x15c3d0e5,0x9a2919af,0x10948361,0x9ea640ec,0x6e0bcccf,0x5ac86d5b
-.long 0xc36cf440,0xf892d918,0xc939719c,0xaed3e837,0xc0218b64,0xb07b08d2,0xce9790dd,0x6f1bcbba,0x60919b8e,0x4a84d6ed,0x8ac1f9eb,0xd8900791,0x0dd5daef,0xf84941aa,0x67fd62c5,0xb22fe40a
-.long 0x157f2db3,0x97e15ba2,0x8e28ca9c,0xbda2fc8f,0x37b9f454,0x5d050da4,0x2379d72e,0x3d57eb57,0xfb5ee997,0xe9b5eba2,0xe11538ca,0x01648ca2,0xf6327974,0x32bb76f6,0xff3f4bb7,0x338f14b8
-.long 0xd7ab9a2d,0x524d226a,0x7dfae958,0x9c00090d,0x8751d8c2,0x0ba5f539,0x3ab8262d,0x8afcbcdd,0xe99d043b,0x57392729,0xaebc943a,0xef51263b,0x20862935,0x9feace93,0xb06c817b,0x639efc03
-.long 0x66b4be7a,0x1fe054b3,0x84a37a1e,0x3f25a9de,0x78d75cd9,0xf39ef1ad,0x5062c1b5,0xd7b58f49,0xff563436,0x6f74f9a9,0xe8af51e7,0xf718ff29,0x15e97fec,0x5234d313,0x292f1c0a,0xb6a8e2b1
-.long 0x327720c1,0xa7f53aa8,0xba092cc8,0x956ca322,0x28746c4d,0x8f03d64a,0x66d0d392,0x51fe1782,0x3c832c80,0xd19b34db,0x6da2e3b4,0x60dccc5c,0x0a104ccc,0x245dd62e,0x620b21fd,0xa7ab1de1
-.long 0x3893d123,0xb293ae0b,0xb15ee71c,0xf7b75783,0x42a9468b,0x5aa3c614,0xdb15d744,0xd686123c,0xa7ab4116,0x8c616891,0xa4e6a459,0x6fcd72c8,0x77e5fad7,0xac219110,0x704fa46b,0xfb6a20e7
-.long 0x341d81dc,0xe839be7d,0x32148379,0xcddb6889,0xf7026ead,0xda6211a1,0xf4d1cc5e,0xf3b2575f,0xa7a73ae6,0x40cfc8f6,0x61d5b483,0x83879a5e,0x41a50ebc,0xc5acb1ed,0x3c07d8fa,0x59a60cc8
-.long 0xb1876262,0x1b73bdce,0x12af4ee9,0x2b0d79f0,0xd46e1d07,0x8bcf3b0b,0xe45d152f,0x17d6af9d,0x6d736451,0x73520461,0x56b0bf5a,0x43cbbd97,0xd5999b9d,0xb0833a5b,0xeb72e398,0x702614f0
-.long 0x59c3e9f8,0x0aadf01a,0xce6b3d16,0x40200e77,0xdeddafad,0xda22bdd3,0x310d72e1,0x76dedaf4,0x4bc2e88f,0x49ef807c,0x146dd5a5,0x6ba81291,0x7d8d59e9,0xa1a4077a,0x802db349,0x87b6a2e7
-.long 0x1b4e598e,0xd5679997,0x06fe4b1d,0xf499ef1f,0xfcb267c5,0x3978d3ae,0x235786d0,0xb582b557,0x1715cb07,0x32b3b2ca,0x8480241d,0x4c3de6a2,0xcb571ecd,0x63b5ffed,0xed2fe9a9,0xeaf53900
-.long 0xc3b81990,0xdec98d4a,0x9e0cc8fe,0x1cb83722,0xd2b427b9,0xfe0b0491,0xe983a66c,0x0f2386ac,0xb3291213,0x930c4d1e,0x59a62ae4,0xa2f82b2e,0xf93e89e3,0x77233853,0x11777c7f,0x7f8063ac
-.long 0x59ad2877,0xff0eb567,0x9865c754,0x6f454642,0x236e9a84,0xe6fe701a,0x06e40fc3,0xc586ef16,0x24bafad9,0x3f62b6e0,0x64da906a,0xc8b42bd2,0xda3276a0,0xc98e1eb4,0x06cbf852,0x30d0e5fc
-.long 0xe8b4dfd4,0x1b6b2ae1,0x8301cbac,0xd754d5c7,0x112a39ac,0x66097629,0x93ba4ab9,0xf86b5999,0x99f9d581,0x26c9dea7,0xc2fafeaa,0x0473b1a8,0x3b2505a5,0x1469af55,0xd6a43323,0x227d16d7
-.long 0xad3d97f9,0x3316f73c,0x1f137455,0x52bf3bb5,0x09954e7c,0x953eafeb,0xdd732411,0xa721dfed,0x141d4579,0xb4929821,0xaa3bd435,0x3411321c,0x17fa6015,0xafb355aa,0x18e42f0e,0xb4e7ef4a
-.long 0x59371000,0x604ac97c,0x7f759c18,0xe1c48c70,0xa5db6b65,0x3f62ecc5,0x38a21495,0x0a78b173,0xbcc8ad94,0x6be1819d,0xd89c3400,0x70dc04f6,0xa6b4840a,0x462557b4,0x60bd21c0,0x544c6ade
-.long 0x907a544b,0x6a00f24e,0x313da210,0xa7520dcb,0x11e4994b,0xfe939b75,0xbc275d70,0x918b6ba6,0x644be892,0xd3e5e0fc,0xfdaf6c42,0x707a9816,0xf15c13fe,0x60145567,0xe130a54a,0x4818ebaa
-.long 0x58d2f767,0x28aad3ad,0xd7e7c773,0xdc5267fd,0xc3afcc98,0x4919cc88,0x2db8cd4b,0xaa2e6ab0,0xd0c63eaa,0xd46fec04,0x19ffa832,0xa1cb92c5,0xe43a631f,0x678dd178,0x3dc788b3,0xfb5ae1cd
-.long 0x6e77de04,0x68b4fb90,0xf06dbb97,0x7992bcf0,0xc417c01d,0x896e6a13,0xb956be01,0x8d96332c,0x413aa2b9,0x902fc93a,0xfc98c8a5,0x99a4d915,0x565f1137,0x52c29407,0x21e4f281,0x4072690f
-.long 0x02ff6072,0x36e607cf,0x8ad98cdc,0xa47d2ca9,0xf5f56609,0xbf471d1e,0xf264ada0,0xbcf86623,0xaa9e5cb6,0xb70c0687,0x17401c6c,0xc98124f2,0xd4a61435,0x8189635f,0xa9d98ea6,0xd28fb8af
-.long 0x40c251f8,0xb9a67c2a,0xa2da44be,0x88cd5d87,0xe09b5423,0x437deb96,0x64287dc1,0x150467db,0xcdabb839,0xe161debb,0xf1839a3e,0xa79e9742,0x652d202b,0xbb8dd3c2,0xe9f97d96,0x7b3e67f7
-.long 0xb1cb6ac9,0x5aa5d78f,0xca1d0d45,0xffa13e8e,0x2ba5bf95,0x369295dd,0x39aff05e,0xd68bd1f8,0x26d783f2,0xaf0d86f9,0xfc3aafc1,0x543a59b3,0x7b7da97c,0x3fcf81d2,0xd25dee46,0xc990a056
-.long 0x519cce2c,0x3e6775b8,0xae13d863,0xfc9af71f,0x47c1605c,0x774a4a6f,0x2fd205e8,0x46ba4245,0xd3fd524d,0xa06feea4,0x6de1acc2,0x1e724641,0x334e2b42,0xf53816f1,0x922f0024,0x49e5918e
-.long 0x65c7322d,0x439530b6,0xb3c1b3fb,0xcf12cc01,0x0172f685,0xc70b0186,0x1b58391d,0xb915ee22,0xa317db24,0x9afdf03b,0x17b8ffc4,0x87dec659,0xe4d3d050,0x7f46597b,0x006500e7,0x80a1c1ed
-.long 0x78bf030e,0x84902a96,0x50560148,0xfb5e9c9a,0x63362426,0x6dae0a92,0xa9e30c40,0xdcaeecf4,0x518d0c6b,0xc0d887bb,0xcb985b9d,0x99181152,0xef7bc381,0xad186898,0x9ee46201,0x18168ffb
-.long 0x2502753c,0x9a04cdaa,0x51407c41,0xbb279e26,0xf23564e5,0xeacb03aa,0x71e61016,0x18336582,0xeb809877,0x8684b8c4,0xea0e672e,0xb336e18d,0x34ee5867,0xefb601f0,0x1341cfd1,0x2733edbe
-.long 0x26025c3c,0xb15e809a,0x9350df88,0xe6e981a6,0x8502fd8e,0x92376237,0x0c12be9b,0x4791f216,0x25f02425,0xb7256789,0x7a974443,0xec863194,0xfb41cc52,0x7c0ce882,0xf25c07f2,0xc266ff7e
-.long 0x017025f3,0x3d4da8c3,0xfb9579b4,0xefcf628c,0x1f3716ec,0x5c4d0016,0x6801116e,0x9c27ebc4,0x1da1767e,0x5eba0ea1,0x47004c57,0xfe151452,0x8c2373b7,0x3ace6df6,0x5dbc37ac,0x75c3dffe
-.long 0xddc925fc,0x3dc32a73,0x2f65ee0b,0xb679c841,0x451cbfeb,0x715a3295,0xf76e9a29,0xd9889768,0xb28ad247,0xec20ce7f,0x00894d79,0xe99146c4,0x9f5e3ea7,0x71457d7c,0x38030031,0x097b2662
-.long 0xcf9f82a8,0xdb7f6ae6,0x438f473a,0x319decb9,0x283856c3,0xa63ab386,0xb06a361b,0x13e3172f,0x7d5a006c,0x2959f8dc,0x75fba752,0x2dbc27c6,0x87c22c9e,0xc1227ab2,0x71a268b2,0x06f61f75
-.long 0x04779ce2,0x1b6bb971,0x0aadcb1d,0xaca83812,0xaeaab2d5,0x297ae0bc,0x5bfb9f13,0xa5c14ee7,0xf17a62c7,0xaa00c583,0x173759f6,0x39eb962c,0x86c9a88f,0x1eeba1d4,0xdf016c5e,0x0ab6c37a
-.long 0xa28a0749,0xa2a147db,0xee519165,0x246c20d6,0xd3810715,0x5068d1b1,0x748160b9,0xb1e7018c,0xf380ff62,0x03f5b1fa,0xf3cb2c1e,0xef7fb1dd,0xfc91a7da,0xeab539a8,0xf3f9b561,0x83ddb707
-.long 0xfe7df7a4,0xc550e211,0x063f6f40,0xa7cd07f2,0x2976879c,0xb0de3635,0xe55741da,0xb5f83f85,0xf3d8ac3d,0x4ea9d25e,0x62819f02,0x6fe2066f,0xcef4a564,0x4ab2b9c2,0x5ffa2de3,0x1e155d96
-.long 0xc3a72d00,0x0eb0a19b,0x8513c31b,0x4037665b,0x04c64637,0x2fb2b6bf,0x08cdc639,0x45c34d6e,0xf01fd796,0x56f1e10f,0xfe3667b8,0x4dfb8101,0x9021d0c0,0xe0eda253,0x8a06c6ab,0x7a94e9ff
-.long 0xbb9aa882,0x2d3bb0d9,0xec05fd10,0xea20e4e5,0x1a1ca64e,0xed7eeb5f,0xc6327cbd,0x2fa6b43c,0x3aa91121,0xb577e3cf,0x3a34079b,0x8c6bd5ea,0x60e02fc0,0xd7e5ba39,0x90141bf8,0xf16dd2c3
-.long 0x80101b98,0xb57276d9,0xb82f0f66,0x760883fd,0x4bc3eff3,0x89d7de75,0x5dc2ab40,0x03b60643,0xe05beeac,0xcd6e53df,0xbc3325cd,0xf2f1e862,0x774f03c3,0xdd0f7921,0x4552cc1b,0x97ca7221
-.long 0x1cd19f72,0x5a0d6afe,0xf183fbeb,0xa20915dc,0x832c403c,0x9fda4b40,0xbe425442,0x32738edd,0xb5eccf1a,0x469a1df6,0x28bbe1f0,0x4b5aff42,0x570dfc93,0x31359d7f,0xf0088628,0xa18be235
-.long 0xb00ed3a9,0xa5b30fba,0x73cdf8be,0x34c61374,0xabc56797,0x2c5c5f46,0xb82a8ae2,0x5cecf93d,0xa968fbf0,0x7d3dbe41,0x1a5c7f3d,0xd23d4583,0xc087a9c7,0xf28f69a0,0x474471ca,0xc2d75471
-.long 0x4eb732ec,0x36ec9f4a,0xb1ca6bed,0x6c943bbd,0xf2457892,0xd64535e1,0xf7e2ac06,0x8b84a8ea,0x2499dd5f,0xe0936cd3,0x0ed04e57,0x12053d7e,0xe4305d9d,0x4bdd0076,0x1f67f0a2,0x34a527b9
-.long 0x9cec46ea,0xe79a4af0,0x658b9bc7,0xb15347a1,0x35af2f75,0x6bd2796f,0x4051c435,0xac957990,0xc33a655d,0x2669dda3,0x88514aa3,0x5d503c2e,0x3753dd41,0xdfa11337,0x0b754f78,0x3f054673
-.long 0x496125bd,0xbf185677,0x3775006c,0xfb0023c8,0x3a037899,0xfa0f072f,0x0e4aea57,0x4222b6eb,0x7866d25a,0x3dde5e76,0x4837aa6f,0xb6eb04f8,0x2cf1cdb8,0x5315591a,0x2d4e683c,0x6dfb4f41
-.long 0x48ee1f3a,0x7e923ea4,0x05a2afd5,0x9604d9f7,0x40ea4948,0xbe1d4a33,0xb44cbd2f,0x5b45f1f4,0x4acc757e,0x5faf8376,0x63d68ff7,0xa7cf9ab8,0xdf0e404b,0x8ad62f69,0x12bdafdf,0xd65f33c2
-.long 0xa377b14e,0xc365de15,0x8e39f60c,0x6bf5463b,0x2ce68148,0x62030d2d,0xe6f843a8,0xd95867ef,0xef5ab017,0xd39a0244,0x4ab55d12,0x0bd2d8c1,0x41639169,0xc9503db3,0xf7660c8a,0x2d4e25b0
-.long 0xe224c5d7,0x760cb3b5,0x68616919,0xfa3baf8c,0x8d142552,0x9fbca113,0x7669ebf5,0x1ab18bf1,0x9bdf25dd,0x55e6f53e,0xcb6cd154,0x04cc0bf3,0x95e89080,0x595bef49,0x104a9ac1,0xfe9459a8
-.long 0xcce9bb32,0xad2d89ca,0xf7de8285,0xddea65e1,0xb351bd4b,0x62ed8c35,0x0c0e19a7,0x4150ff36,0x345f4e47,0x86e3c801,0x203a266c,0x3bf21f71,0x855b1f13,0x7ae110d4,0x07262517,0x5d6aaf6a
-.long 0x813d28f1,0x1e0f12e1,0x7ad7a523,0x6000e11d,0xc744a17b,0xc7d8deef,0x14c05a00,0x1e990b48,0x93e976d5,0x68fddaee,0x46610d63,0x696241d1,0x893dda88,0xb204e7c3,0x6a3a6946,0x8bccfa65
-.long 0xc5cd1411,0xb59425b4,0xff3658b1,0x701b4042,0x4784cf93,0xe3e56bca,0x8fe68d60,0x27de5f15,0xf8d53f19,0x4ab9cfce,0xa40a730d,0xddb10311,0x4eee0a8a,0x6fa73cd1,0x5249719d,0xfd548748
-.long 0xa8123ef0,0x49d66316,0xe7f95438,0x73c32db4,0x0d9e7854,0x2e2ed209,0x9d9f0507,0xf98a9329,0x0c6aa20a,0xc5d33cf6,0x75279bb2,0x9a32ba14,0x774a7307,0x7e3202cb,0xe8c42dbd,0x64ed4bc4
-.long 0xd4caed0d,0xc20f1a06,0x171d22b3,0xb8021407,0xd13268d7,0xd426ca04,0x25f4d126,0x92377007,0x71f21a85,0x4204cbc3,0xf82369ba,0x18461b7a,0x3fc858f9,0xc0c07d31,0xe2bab569,0x5deb5a50
-.long 0xd5eea89e,0xd5959d46,0x08437f4b,0xfdff8424,0x3cfe254f,0xf21071e4,0x95468321,0x72417696,0x102cae3e,0x5d8288b9,0xf1965dff,0x2d143e3d,0xa078d847,0x00c9a376,0x26028731,0x6fc0da31
-.long 0xe45083a2,0xa2baeadf,0x5e5b4bcd,0x66bc7218,0xd04b8e7f,0x2c826442,0x6c4b586b,0xc19f5451,0x5b7eeed5,0x60182c49,0x7aa9dfa1,0xd9954ecd,0xc73884ad,0xa403a8ec,0x9bb39041,0x7fb17de2
-.long 0xabb020e8,0x694b64c5,0x19c4eec7,0x3d18c184,0x1c4793e5,0x9c4673ef,0x056092e6,0xc7b8aeb5,0xf0f8c16b,0x3aa1ca43,0xd679b2f6,0x224ed5ec,0x55a205c9,0x0d56eeaf,0x4b8e028b,0xbfe115ba
-.long 0x3927f4fe,0x97e60849,0x759aa7c5,0xf91fbf94,0x6be90a51,0x985af769,0x78ccb823,0xc1277b78,0xe7a75952,0x395b656e,0x928da5f5,0x00df7de0,0x4ca4454f,0x09c23175,0x7aa2d3c1,0x4ec971f4
-.long 0xe75d9ccc,0x45c3c507,0x3dc90306,0x63b7be8a,0x5db44bdc,0x37e09c66,0x6841c6a2,0x50d60da1,0x08df1b12,0x6f9b65ee,0x7ff089df,0x38734879,0x3fe8013d,0x9c331a66,0x5f42fcc8,0x017f5de9
-.long 0xe8e57567,0x43077866,0xf9fcdb18,0xc9f781ce,0x9b12e174,0x38131dda,0x8a03752a,0x25d84aa3,0x4d0c0ce2,0x45e09e09,0x92bebba5,0x1564008b,0xa87284c7,0xf7e8ad31,0x97e7bbaa,0xb7c4b46c
-.long 0x97acf4ec,0x3e22a7b3,0x5ea8b640,0x0426c400,0x4e969285,0x5e3295a6,0xa6a45670,0x22aabc59,0x5f5942bc,0xb929714c,0xfa3182ed,0x9a6168bd,0x104152ba,0x2216a665,0xb6926368,0x46908d03
-.long 0x5a1251fb,0xa9f5d874,0xc72725c7,0x967747a8,0x31ffe89e,0x195c33e5,0xe964935e,0x609d210f,0x2fe12227,0xcafd6ca8,0x0426469d,0xaf9b5b96,0x5693183c,0x2e9ee04c,0xc8146fef,0x1084a333
-.long 0xaed1d1f7,0x96649933,0x50563090,0x566eaff3,0xad2e39cf,0x345057f0,0x1f832124,0x148ff65b,0xcf94cf0d,0x042e89d4,0x520c58b3,0x319bec84,0x5361aa0d,0x2a267626,0x8fbc87ad,0xc86fa302
-.long 0x5c8b06d5,0xfc83d2ab,0xfe4eac46,0xb1a785a2,0x846f7779,0xb99315bc,0xef9ea505,0xcf31d816,0x15d7dc85,0x2391fe6a,0xb4016b33,0x2f132b04,0x181cb4c7,0x29547fe3,0x650155a1,0xdb66d8a6
-.long 0xadc1696f,0x6b66d7e1,0x0acd72d0,0x98ebe593,0xcc1b7435,0x65f24550,0xb4b9a5ec,0xce231393,0xdb067df9,0x234a22d4,0xcaff9b00,0x98dda095,0x6100c9c1,0x1bbc75a0,0x939cf695,0x1560a9c8
-.long 0x99e0925f,0xcf006d3e,0x6322375a,0x2dd74a96,0xb56af5ba,0xc58b446a,0xe0b9b4f1,0x50292683,0x1aeaffa3,0xe2c34cb4,0x9b9587c1,0x8b17203f,0xead1350c,0x6d559207,0xfb7f9604,0x2b66a215
-.long 0xfe51bf74,0x0850325e,0x5e460094,0x9c4f579e,0x76da2f25,0x5c87b92a,0x6febef33,0x889de4e0,0x646083ce,0x6900ec06,0xbfe12773,0xbe2a0335,0xc5344110,0xadd1da35,0xb802cd20,0x757568b7
-.long 0x00f7e6c8,0x75559779,0x0facd2f0,0x38e8b94f,0x03fde375,0xfea1f3af,0x75881dfc,0x5e11a1d8,0xc1e2f2ef,0xb3a6b02e,0xc605a6c5,0x193d2bbb,0x339a0b2d,0x325ffeee,0x9e0c8846,0x27b6a724
-.long 0xf1c367ca,0xe4050f1c,0xc90fbc7d,0x9bc85a9b,0xe1a11032,0xa373c4a2,0xad0393a9,0xb64232b7,0x167dad29,0xf5577eb0,0x94b78ab2,0x1604f301,0xe829348b,0x0baa94af,0x41654342,0x77fbd8dd
-.long 0xb964e39a,0xdab50ea5,0xd0d3c76e,0xd4c29e3c,0x56d11964,0x80dae67c,0xe5ffcc2f,0x7307a8bf,0x91708c3b,0x65bbc1aa,0x28bf0eeb,0xa151e62c,0x6fa34db7,0x6cb53381,0xa29403a8,0x5139e05c
-.long 0x94a7cd2e,0x6ff651b4,0x0699336c,0x5671ffd1,0x979a896a,0x6f5fd2cc,0xd8148cef,0x11e893a8,0x65cf7b10,0x988906a1,0xc50d8485,0x81b67178,0x8a35b3de,0x7c0deb35,0xc1d29799,0x423ac855
-.long 0xdac50b74,0xaf580d87,0x5869734c,0x28b2b89f,0x874e28fb,0x99a3b936,0x25f3f73a,0xbb2c9190,0x84a9d5b7,0x199f6918,0x7e770374,0x7ebe2325,0x0738efe2,0xf442e107,0xcf9082d2,0xcf9f3f56
-.long 0x09618708,0x719f69e1,0xc183f9b1,0xcc9e8364,0x366a21af,0xec203a95,0x068b141f,0x6aec5d6d,0x994f04e9,0xee2df78a,0x271245b0,0xb39ccae8,0x97e43f4f,0xb875a4a9,0xdb2cea98,0x507dfe11
-.long 0x489b03e9,0x4fbf81cb,0x6ec414fa,0xdb86ec5b,0xf51b3ae5,0xfad444f9,0x1914e3fe,0xca7d33d6,0x0ae6c4d0,0xa9c32f5c,0x73969568,0xa9ca1d1e,0x1aa7467e,0x98043c31,0xe21b5ac6,0xe832e75c
-.long 0x5232123d,0x314b7aea,0x65ae86db,0x08307c8c,0xaa4668ed,0x06e7165c,0xb4d3ec39,0xb170458b,0xc19bb986,0x4d2e3ec6,0xae0304ed,0xc5f34846,0x6c9f9722,0x917695a0,0x4cab1c0a,0x6c7f7317
-.long 0x9d6d2e8b,0x6295940e,0x549f7c97,0xd318b8c1,0x97713885,0x22453204,0xa8a440fe,0x468d834b,0xbfba796e,0xd81fe5b2,0x6d71f116,0x152364db,0xb5b66e53,0xbb8c7c59,0x2641a192,0x0b12c61b
-.long 0xfcf0a7fd,0x31f14802,0x5488b01e,0x42fd0789,0x9952b498,0x71d78d6d,0x07ac5201,0x8eb572d9,0x4d194a88,0xe0a2a44c,0xba017e66,0xd2b63fd9,0xf888aefc,0x78efc6c8,0x4a881a11,0xb76f6bda
-.long 0xb46c2397,0x187f314b,0x5ded2819,0x004cf566,0x38764d34,0xa9ea5704,0x78084709,0xbba45217,0x1171121e,0x06474571,0xe7c9b671,0xad7b7eb1,0x730f7507,0xdacfbc40,0xc7ad7bd1,0x178cd8c6
-.long 0xb2a67238,0xbf0be101,0xaf9c14f2,0x3556d367,0xa5662075,0x104b7831,0x79d9e60a,0x58ca59bb,0xa569a73b,0x4bc45392,0x5698f6c9,0x517a52e8,0xaeadd755,0x85643da5,0x2a581b84,0x1aed0cd5
-.long 0x80af1372,0xb9b4ff84,0xf1ba5d1f,0x244c3113,0xf5f98d31,0x2a5dacbe,0x4375bc2a,0x2c3323e8,0x5594b1dd,0x17a3ab4a,0xceb4797e,0xa1928bfb,0xe4886a19,0xe83af245,0x72b5a74a,0x8979d546
-.long 0x19f9e967,0xa0f726bc,0xe8fbbf4e,0xd9d03152,0xb7707d40,0xcfd6f51d,0x63f6e6e0,0x633084d9,0x55667eaf,0xedcd9cdc,0x2e44d56f,0x73b7f92b,0x4e962b14,0xfb2e39b6,0xf671fcbf,0x7d408f6e
-.long 0x164a89bb,0xcc634ddc,0x3ef3bd05,0x74a42bb2,0x428decbb,0x1280dbb2,0x402c8596,0x6103f6bb,0x355a5752,0xfa2bf581,0x00946674,0x562f96a8,0x6da0223b,0x4e4ca16d,0x28d3aa25,0xfe47819f
-.long 0xf8dfcf8a,0x9eea3075,0x95669825,0xa284f0aa,0x867d3fd8,0xb3fca250,0x269d691e,0x20757b5f,0x93b8a5de,0xf2c24020,0xebc06da6,0xd3f93359,0xb2739c33,0x1178293e,0xbcd686e5,0xd2a3e770
-.long 0xcd941534,0xa76f49f4,0xe3c71c0e,0x0d37406b,0x3b97f7e3,0x172d9397,0xbd7fd0de,0xec17e239,0x6f496ba2,0xe3290551,0x36ad50e7,0x6a693172,0x83e7eff5,0xc4e539a2,0x18e1b4cf,0x752737e7
-.long 0x68af43ee,0xa2f7932c,0x703d00bd,0x5502468e,0x2fb061f5,0xe5dc978f,0x28c815ad,0xc9a1904a,0x470c56a4,0xd3af538d,0x193d8ced,0x159abc5f,0x20108ef3,0x2a37245f,0x223f7178,0xfa17081e
-.long 0x10c8c0f5,0x27b0fb2b,0x40650547,0x2102c3ea,0x8ac3bfa7,0x594564df,0x509dad96,0x98102033,0xf1d18a13,0x6989643f,0xd7fc5af0,0x35eebd91,0xfaeaafd8,0x078d096a,0xdef3de98,0xb7a89341
-.long 0xecf2a73a,0x2a206e8d,0x8e551994,0x066a6397,0xb98d53a2,0x3a6a088a,0x2d1124aa,0x0ce7c67c,0x759a113c,0x48cec671,0x4f6f67fa,0xe3b373d3,0xfd36727b,0x5455d479,0xa13c0d81,0xe5a428ee
-.long 0x1c86682b,0xb853dbc8,0xb8d02b2a,0xb78d2727,0x8ebc329a,0xaaf69bed,0x293b2148,0xdb6b40b3,0xb8c4961f,0xe42ea77d,0x20e5e0ab,0xb1a12f7c,0x79e8b05e,0xa0ec5274,0xfab60a80,0x68027391
-.long 0x16b1bd5e,0x6bfeea5f,0x4de30ad3,0xf957e420,0x6a353b9e,0xcbaf664e,0x26d14feb,0x5c873312,0xb65f57cb,0x4e87f98c,0x5e0cdd41,0xdb60a621,0xa6881440,0x67c16865,0x46ab52aa,0x1093ef1a
-.long 0x3f4ece64,0xc095afb5,0x7604551a,0x6a6bb02e,0x0b26b8cd,0x55d44b4e,0xf971268a,0xe5f9a999,0x11a7de84,0xc08ec425,0xfda469dd,0x83568095,0x6c6c90a2,0x737bfba1,0xbe229831,0x1cb9c4a0
-.long 0xbb2eec64,0x93bccbba,0xda03adbe,0xa0c23b64,0xe0e86ac4,0x5f7aa00a,0xfc1401e6,0x470b941e,0x9df43574,0x5ad8d679,0x0f65d810,0x4ccfb8a9,0xaa7fbd81,0x1bce80e3,0x9508d20a,0x273291ad
-.long 0x42a92806,0xf5c4b46b,0xa86ab44a,0x810684ec,0xca0bc9f8,0x4591640b,0x5c4b6054,0xb5efcdfc,0x6e9edd12,0x16fc8907,0xd4d792f9,0xe29d0b50,0x9b03116d,0xa45fd01c,0xc81765a4,0x85035235
-.long 0xb4b4b67c,0x1fe2a9b2,0xe8020604,0xc1d10df0,0xbc8058d8,0x9d64abfc,0x712a0fbb,0x8943b9b2,0x3b3def04,0x90eed914,0x4ce775ff,0x85ab3aa2,0x7bbc9040,0x605fd4ca,0xe2c75dfb,0x8b34a564
-.long 0x10358560,0x41ffc94a,0x9e5c28aa,0x2d8a5072,0x4cc7eb15,0xe915a0fc,0x8f6d0f5d,0xe9efab05,0xd19e9b91,0xdbab47a9,0x0276154c,0x8cfed745,0x2cfede0d,0x154357ae,0x19f5a4ef,0x520630df
-.long 0xe382360f,0x25759f7c,0x88bf5857,0xb6db05c9,0x6c58d46c,0x2917d61d,0xfd20cb7a,0x14f8e491,0x11c20340,0xb68a727a,0xaf7ccbb6,0x0386f86f,0xfee09a20,0x5c8bc6cc,0xbb7eea35,0x7d76ff4a
-.long 0xdb15be7a,0xa7bdebe7,0xd89f0302,0x67a08054,0xc1193364,0x56bf0ea9,0x62837ebe,0xc8244467,0x20d841b8,0x32bd8e8b,0xdbb8a54f,0x127a0548,0x63b20236,0x83dd4ca6,0x203491fa,0x87714718
-.long 0xaa8a5288,0x4dabcaaa,0xaf23a1c9,0x91cc0c8a,0x3f220e0c,0x34c72c6a,0x1232144a,0xbcc20bdf,0xa20ede1b,0x6e2f42da,0x74a00515,0xc441f00c,0x734b8c4b,0xbf46a5b6,0x7b56c9a4,0x57409503
-.long 0xe4585d45,0x9f735261,0x6734e642,0x9231faed,0xbe70ee6c,0x1158a176,0x7c3501bf,0x35f1068d,0xa2d26115,0x6beef900,0xef0afee3,0x649406f2,0xbc2420a1,0x3f43a60a,0xd5aee4ac,0x509002a7
-.long 0x3ff3571b,0xb46836a5,0x837927c1,0x24f98b78,0x4533c716,0x6254256a,0xd07ee196,0xf27abb0b,0x5c6d5bfd,0xd7cf64fc,0xf0cd7a77,0x6915c751,0x8798f534,0xd9f59012,0xf81d8b5f,0x772b0da8
-.long 0x2e03fa69,0x1244260c,0x3be1a374,0x36cf0e3a,0xef06b960,0x6e7c1633,0x671f90f6,0xa71a4c55,0x33c673db,0x7a941251,0x73e8c131,0xc0bea510,0xd4f6c734,0x61a8a699,0x341ed001,0x25e78c88
-.long 0x8e2f7d90,0x5c18acf8,0x77be32cd,0xfdbf33d7,0xd2eb5ee9,0x0a085cd7,0xb3201115,0x2d702cfb,0x85c88ce8,0xb6e0ebdb,0x1e01d617,0x23a3ce3c,0x567333ac,0x3041618e,0x157edb6b,0x9dd0fd8f
-.long 0xb57872b8,0x27f74702,0x657d5fe1,0x2ef26b4f,0x57cf3d40,0x95426f0a,0x65a6067a,0x847e2ad1,0x09996a74,0xd474d9a0,0x2a26115c,0x16a56acd,0xd16f4d43,0x02a615c3,0xaadb85b7,0xcc3fc965
-.long 0xce07d1b0,0x386bda73,0x58ad4178,0xd82910c2,0xcd2617f4,0x124f82cf,0xef691770,0xcc2f5e8d,0xb8c30ccc,0x82702550,0x1a8e575a,0x7b856aea,0xb1ab9459,0xbb822fef,0xec24e38e,0x085928bc
-.long 0xba8f4b4d,0x5d0402ec,0x00b4d58b,0xc07cd4ba,0x29227e7a,0x5d8dffd5,0x31bf386f,0x61d44d0c,0x135e6f4d,0xe486dc2b,0xe79410ef,0x680962eb,0xf10088b5,0xa61bd343,0xe2e28686,0x6aa76076
-.long 0x8fb98871,0x80463d11,0xbbc76aff,0xcb26f5c3,0xfbe03614,0xd4ab8edd,0xc0cf2dee,0xc8eb579b,0xc93bae41,0xcc004c15,0x3aeca3b2,0x46fbae5d,0x0f1e9ab1,0x671235cf,0x9ec285c1,0xadfba934
-.long 0xf216c980,0x88ded013,0xf79e0bc1,0xc8ac4fb8,0xfb97a237,0xa29b89c6,0x9922d8e7,0xb697b780,0xddb945b5,0x3142c639,0xe094c3a9,0x447b06c7,0x72266c90,0xcdcb3642,0xa9385046,0x633aad08
-.long 0xb57c6477,0xa36c936b,0xe94dbcc6,0x871f8b64,0xa591a67b,0x28d0fb62,0xc1d926f5,0x9d40e081,0xf2d84b5a,0x3111eaf6,0xa565b644,0x228993f9,0x2c83188b,0x0ccbf592,0x3df3e197,0xf87b30ab
-.long 0x7642bca8,0xb8658b31,0x52800f17,0x1a032d7f,0x79bf9445,0x051dcae5,0x54a2e253,0xeba6b8ee,0xd4485692,0x5c8b9cad,0x8986e9be,0x84bda40e,0x2f0db448,0xd16d16a4,0xa14d4188,0x8ec80050
-.long 0x98fa7aaa,0xb2b26107,0xf073aa4e,0x41209ee4,0xf2d6b19b,0xf1570359,0xfc577caf,0xcbe6868c,0x32c04dd3,0x186c4bdc,0xcfeee397,0xa6c35fae,0xf086c0cf,0xb4a1b312,0xd9461fe2,0xe0a5ccc6
-.long 0x1536189f,0xc32278aa,0xba6df571,0x1126c55f,0xb194560e,0x0f71a602,0x324bd6e1,0x8b2d7405,0x3738be71,0x8481939e,0x1a4d97a9,0xb5090b1a,0xf05ba915,0x116c65a3,0xaae448aa,0x21863ad3
-.long 0xa7aae5d3,0xd24e2679,0x0de5c1c4,0x7076013d,0xbb05b629,0x2d50f8ba,0x6e66efbb,0x73c1abe2,0xf2488af7,0xefd4b422,0x663ba575,0xe4105d02,0x53a69457,0x7eb60a8b,0xc945973b,0x62210008
-.long 0x77a50ec6,0xfb255478,0x0a37a72c,0xbf0392f7,0x4be18e7a,0xa0a7a19c,0x25b1e0af,0x90d8ea16,0xef953f57,0x7582a293,0xbdc5465a,0x90a64d05,0xe2510717,0xca79c497,0x18cb641f,0x560dbb7c
-.long 0x4b66abfb,0x1d8e3286,0x59030900,0xd26f52e5,0x5584941a,0x1ee3f643,0x569f5958,0x6d3b3730,0x4789dba5,0x9ff2a62f,0x72b5c9b7,0x91fcb815,0x6c8f9a0e,0xf446cb7d,0x39b7ecb5,0x48f625c1
-.long 0x1c6219b8,0xbabae801,0x28ac2f23,0xe7a562d9,0x26e20588,0xe1b48732,0x775af051,0x06ee1cad,0xfaff79f7,0xda29ae43,0x652ee9e0,0xc141a412,0x195f4bd0,0x1e127f6f,0x072f34f8,0x29c6ab4f
-.long 0x30448112,0x7b7c1477,0xe4a38656,0x82b51af1,0x2f315010,0x2bf2028a,0x6ea88cd4,0xc9a4a01f,0x257e5818,0xf63e95d8,0xb4519b16,0xdd8efa10,0x0da910bf,0xed8973e0,0x5c0fe4a9,0xed49d077
-.long 0xb7caee1e,0xac3aac5e,0xa7f4da57,0x1033898d,0x5c6669b9,0x42145c0e,0xc1aa2aa0,0x42daa688,0x1a1d885a,0x629cc15c,0xf4b76817,0x25572ec0,0x9c8f8f28,0x8312e435,0x81965490,0x8107f8cd
-.long 0x6fa6110c,0x516ff3a3,0xfb93561f,0x74fb1eb1,0x8457522b,0x6c0c9047,0x6bb8bdc6,0xcfd32104,0xcc80ad57,0x2d6884a2,0x86a9b637,0x7c27fc35,0xadf4e8cd,0x3461baed,0x617242f0,0x1d56251a
-.long 0xc955bef4,0x0b80d209,0x06adb047,0xdf02cad2,0x5ec74fee,0xf0d7cb91,0x1111ba44,0xd2503375,0xdf53cb36,0x9671755e,0x3368551b,0x54dcb612,0xc8a025a4,0x66d69aac,0xe77ef445,0x6be946c6
-.long 0xa995e094,0x719946d1,0xe51e04d8,0x65e848f6,0x6a1e3113,0xe62f3300,0x501de503,0x1541c7c1,0xf4acfade,0x4daac9fa,0x44cd0b71,0x0e585897,0x0a51cd77,0x544fd869,0x0031016d,0x60fc20ed
-.long 0xa4276867,0x58b404ec,0x34f34993,0x46f6c3cc,0xc636e5bd,0x477ca007,0x7c458b47,0x8018f5e5,0xe47b668f,0xa1202270,0xee14f203,0xcef48ccd,0x62ff9b4d,0x23f98bae,0xc589eddd,0x55acc035
-.long 0x64db4444,0x3fe712af,0xbecdd480,0x19e9d634,0xa930978a,0xe08bc047,0xa1280733,0x2dbf24ec,0x2cd706b2,0x3c0ae38c,0x359017b9,0x5b012a5b,0x72e0f5ae,0x3943c38c,0x57176fa3,0x786167ea
-.long 0x594881dc,0xe5f9897d,0xcfb820c1,0x6b5efad8,0xd55018de,0xb2179093,0x0bac56ce,0x39ad7d32,0x2cfc0e81,0xb55122e0,0xf6d89daa,0x117c4661,0xcb64fa09,0x362d01e1,0x3e9c4ddd,0x6a309b4e
-.long 0xabea49b1,0xfa979fb7,0x10e2c6c5,0xb4b1d27d,0x23afde7a,0xbd61c2c4,0x9786d358,0xeb6614f8,0x7f6f7459,0x4a5d816b,0x09360e7b,0xe431a44f,0xc309914c,0x8c27a032,0xcaede3d8,0xcea5d68a
-.long 0x3a0a3f95,0x3668f665,0x7ceba27b,0x89369416,0xe4728fe9,0x89981fad,0x8a093562,0x7102c8a0,0x235d21c8,0xbb80310e,0xbefb7f7b,0x505e55d1,0x12958a67,0xa0a90811,0x4d851fef,0xd67e106a
-.long 0x431dd80e,0xb84011a9,0x73306cd9,0xeb7c7cca,0xd1b3b730,0x20fadd29,0xfe37b3d3,0x83858b5b,0xb6251d5c,0xbf4cd193,0x1352d952,0x1cca1fd3,0x90fbc051,0xc66157a4,0x89b98636,0x7990a638
-.long 0x87dec0e1,0xe5aa692a,0xf7b39d00,0x010ded8d,0x54cfa0b5,0x7b1b80c8,0xa0f8ea28,0x66beb876,0x3476cd0e,0x50d7f531,0xb08d3949,0xa63d0e65,0x53479fc6,0x1a09eea9,0xf499e742,0x82ae9891
-.long 0x5ca7d866,0xab58b910,0x3adb3b34,0x582967e2,0xcceac0bc,0x89ae4447,0x7bf56af5,0x919c667c,0x60f5dcd7,0x9aec17b1,0xddcaadbc,0xec697b9f,0x463467f5,0x0b98f341,0xa967132f,0xb187f1f7
-.long 0x214aeb18,0x90fe7a1d,0x741432f7,0x1506af3c,0xe591a0c4,0xbb5565f9,0xb44f1bc3,0x10d41a77,0xa84bde96,0xa09d65e4,0xf20a6a1c,0x42f060d8,0xf27f9ce7,0x652a3bfd,0x3b3d739f,0xb6bdb65c
-.long 0xec7fae9f,0xeb5ddcb6,0xefb66e5a,0x995f2714,0x69445d52,0xdee95d8e,0x09e27620,0x1b6c2d46,0x8129d716,0x32621c31,0x0958c1aa,0xb03909f1,0x1af4af63,0x8c468ef9,0xfba5cdf6,0x162c429f
-.long 0x753b9371,0x2f682343,0x5f1f9cd7,0x29cab45a,0xb245db96,0x571623ab,0x3fd79999,0xc507db09,0xaf036c32,0x4e2ef652,0x05018e5c,0x86f0cc78,0xab8be350,0xc10a73d4,0x7e826327,0x6519b397
-.long 0x9c053df7,0xe8cb5eef,0xb300ea6f,0x8de25b37,0xc849cffb,0xdb03fa92,0xe84169bb,0x242e43a7,0xdd6f958e,0xe4fa51f4,0xf4445a8d,0x6925a77f,0xe90d8949,0xe6e72a50,0x2b1f6390,0xc66648e3
-.long 0x173e460c,0xb2ab1957,0x30704590,0x1bbbce75,0xdb1c7162,0xc0a90dbd,0x15cdd65d,0x505e399e,0x57797ab7,0x68434dcb,0x6a2ca8e8,0x60ad35ba,0xde3336c1,0x4bfdb1e0,0xd8b39015,0xbbef99eb
-.long 0x1711ebec,0x6c3b96f3,0xce98fdc4,0x2da40f1f,0x57b4411f,0xb99774d3,0x15b65bb6,0x87c8bdf4,0xc2eef12d,0xda3a89e3,0x3c7471f3,0xde95bb9b,0xd812c594,0x600f225b,0x2b75a56b,0x54907c5d
-.long 0x8db60e35,0xa93cc5f0,0xfa833319,0x743e3cd6,0xf81683c9,0x7dad5c41,0x9c34107e,0x70c1e7d9,0xa6be0907,0x0edc4a39,0x86d0b7d3,0x36d47035,0x272bfa60,0x8c76da03,0x0f08a414,0x0b4a07ea
-.long 0x45c1dd53,0x699e4d29,0x231debb5,0xcadc5898,0xa77f00e0,0xdf49fcc7,0xa73e5a0e,0x93057bbf,0x027a4cd1,0x2f8b7ecd,0xc614011a,0x114734b3,0x67677c68,0xe7a01db7,0x7e273f4f,0x89d9be5e
-.long 0x089808ef,0xd225cb2e,0xd59e4107,0xf1f7a27d,0x8211b9c9,0x53afc761,0xe6819159,0x0361bc67,0x7f071426,0x2a865d0b,0xe7072567,0x6a3c1810,0x0d6bcabd,0x3e3bca1e,0x408591bc,0xa1b02bc1
-.long 0x31fba239,0xe0deee59,0x98bd91d1,0xf47424d3,0x071a3c1d,0x0f8886f4,0xa819233b,0x3f7d41e8,0xcf6eb998,0x708623c2,0x609a287f,0x86bb49af,0x63c90762,0x942bb249,0x55a9654b,0x0ef6eea5
-.long 0x36f5defe,0x5f6d2d72,0x56f99176,0xfa9922dc,0xf78ce0c7,0x6c8c5ece,0xbe09b55e,0x7b44589d,0x9ea83770,0xe11b3bca,0x2ab71547,0xd7fa2c7f,0x2a1ddcc0,0x2a3dd6fa,0x5a7b7707,0x09acb430
-.long 0x649d4e57,0x4add4a2e,0x1917526e,0xcd53a2b0,0x20b44ac4,0xc5262330,0xbaa2c31d,0x4028746a,0x64291d4c,0x51318390,0xee5ad909,0xbf48f151,0x7b185681,0xcce57f59,0x4854d442,0x7c3ac1b0
-.long 0xc093c171,0x65587dc3,0x24f42b65,0xae7acb24,0x955996cb,0x5a338adb,0x6051f91b,0xc8e65675,0x28b8d0b1,0x66711fba,0xb6c10a90,0x15d74137,0x3a232a80,0x70cdd7eb,0x6191ed24,0xc9e2f07f
-.long 0xf79588c0,0xa80d1db6,0xb55768cc,0xfa52fc69,0x7f54438a,0x0b4df1ae,0xf9b46a4f,0x0cadd1a7,0x1803dd6f,0xb40ea6b3,0x55eaae35,0x488e4fa5,0x382e4e16,0x9f047d55,0x2f6e0c98,0xc9b5b7e0
-.long 0x95762649,0x6b1bd2d3,0xc7aea3f6,0xa9604ee7,0x6dc6f896,0x3646ff27,0x2860bad1,0x9bf0e7f5,0x7cb44b92,0x2d92c821,0xaea9c182,0xa2f5ce63,0x9154a5fd,0xd0a2afb1,0x95801da6,0x482e474c
-.long 0xb611c24b,0xc19972d0,0x60a8f351,0x1d468e65,0x7bcf6421,0xeb758069,0x88fbc491,0xec9dd0ee,0x956c2e32,0x5b59d2bf,0xdcddf94e,0x73dc6864,0xbcee7665,0xfd5e2321,0x5e9a06c4,0xa7b4f8ef
-.long 0x7280f855,0xfba918dd,0x8baec688,0xbbaac260,0x33400f42,0xa3b3f00f,0x66f2e6e4,0x3d2dba29,0x98509375,0xb6f71a94,0xcea423cc,0x8f33031f,0x4807e6fb,0x009b8dd0,0x5cdb954c,0x5163cfe5
-.long 0xcf41c6e8,0x03cc8f17,0x037b925c,0xf1f03c2a,0x66d2427c,0xc39c19cc,0x7b6c18e4,0x823d24ba,0x901f0b4f,0x32ef9013,0xf8941c2e,0x684360f1,0x2c28092e,0x0ebaff52,0x256c932f,0x7891e4e3
-.long 0xac445e3d,0x51264319,0x8ea74381,0x553432e7,0x67e9c50a,0xe6eeaa69,0x62e628c7,0x27ced284,0x7a4afa57,0x3f96d375,0xe484c150,0xde0a14c3,0x38bd9923,0x364a24eb,0xe5177422,0x1df18da0
-.long 0xd8d38a9b,0x174e8f82,0xe7de1391,0x2e97c600,0xa1c175dd,0xc5709850,0x32ae5035,0x969041a0,0x76a2086b,0xcbfd533b,0xd7c2e8fe,0xd6bba71b,0x099dfb67,0xb2d58ee6,0x064a85d9,0x3a8b342d
-.long 0x522f9be3,0x3bc07649,0xdf1f49a8,0x690c075b,0x3854ec42,0x80e1aee8,0x17689dc7,0x2a7dbf44,0x3faf4078,0xc004fc0e,0xdf11862c,0xb2f02e9e,0xa0a1b7b3,0xf10a5e0f,0x8936ec80,0x30aca623
-.long 0x02f40d9a,0xf83cbf05,0x2c318a4d,0x4681c468,0x0e9c2674,0x98575618,0x1847092e,0xbe79d046,0x78bd01e0,0xaf1e480a,0x72a51db9,0x6dd359e4,0xe3afbab6,0x62ce3821,0x17733199,0xc5cee5b6
-.long 0x6ffd9fbb,0xe08b30d4,0x36c610b7,0x6e5bc699,0x9ce262cf,0xf343cff2,0x68b914c1,0xca2e4e35,0x16de36c5,0x011d64c0,0x42e2b829,0xe0b10fdd,0x6685aaf8,0x78942981,0x230ede97,0xe7511708
-.long 0x3b922bf8,0x671ed8fc,0x4c29b133,0xe4d8c0a0,0x3b6e99c4,0x87eb1239,0x8793beba,0xaff3974c,0x2c18df9b,0x03749405,0x91007139,0xc5c3a293,0xe37a0b95,0x6a77234f,0xb661c96b,0x02c29a21
-.long 0x141ecf61,0xc3aaf1d6,0x3bb22f53,0x9195509e,0x22d51357,0x29597404,0x537bed60,0x1b083822,0xe07289f0,0xcd7d6e35,0x6dd86eff,0x1f94c48c,0xeb0f9cfa,0xc8bb1f82,0x1b2eb97d,0x9ee0b7e6
-.long 0x34d74e31,0x5a52fe2e,0x3bf79ab6,0xa352c310,0xabfeeb8f,0x97ff6c5a,0xf5c97305,0xbfbe8fef,0xa7904608,0xd6081ce6,0xc4fca249,0x1f812f3a,0xb9e5e200,0x9b24bc9a,0x38012ee8,0x91022c67
-.long 0x30a713a1,0xe83d9c5d,0x84ef0f93,0x4876e3f0,0xc1fbf928,0xc9777029,0xbce7d2a4,0xef7a6bb3,0xdfa2a659,0xb8067228,0xd877a48f,0xd5cd3398,0x025d0f3f,0xbea4fd8f,0x2eae7c2b,0xd67d2e35
-.long 0xcc5f4394,0x184de7d7,0x4536e142,0xb5551b5c,0xd34aa60a,0x2e89b212,0xf50051d5,0x14a96fea,0x0d12bb0b,0x4e21ef74,0x60b9677e,0xc522f020,0x2df7731d,0x8b12e467,0x7b326d31,0x39f80382
-.long 0x39024a94,0xdfb8630c,0x97319452,0xaacb96a8,0xeda3867c,0xd68a3961,0x77c4ffca,0x0c58e2b0,0x4da919fa,0x3d545d63,0xf15e2289,0xef79b69a,0x808bab10,0x54bc3d3d,0x45f82c37,0xc8ab3007
-.long 0x7c4a658a,0xc12738b6,0x40e72182,0xb3c47639,0x8798e44f,0x3b77be46,0x17a7f85f,0xdc047df2,0x5e59d92d,0x2439d4c5,0xe8e64d8d,0xcedca475,0x87ca9b16,0xa724cd0d,0xa5540dfe,0x35e4fd59
-.long 0xe4bcf6b1,0xf8c1ff18,0x295018fa,0x856d6285,0x3263c949,0x433f665c,0xa1f21409,0xa6a76dd6,0xcc7b4f79,0x17d32334,0x06720e4a,0xa1d03122,0x81d9bed5,0xadb6661d,0x11db15d1,0xf0d6fb02
-.long 0x1fb747d2,0x7fd11ad5,0x3033762b,0xab50f959,0xfbefaf5a,0x2a7e711b,0x3fef2bbf,0xc7393278,0x0df6f9be,0xe29fa244,0x71efd215,0x9092757b,0x4f3d6fd9,0xee60e311,0x0acfb78b,0x338542d4
-.long 0x38961a0f,0x44a23f08,0x986987ca,0x1426eade,0x4a863cc6,0x36e6ee2e,0x628b8b79,0x48059420,0x7396e1de,0x30303ad8,0x38c5aad1,0x5c8bdc48,0x5c8f5066,0x3e40e11f,0x8d246bbd,0xabd6e768
-.long 0x23330a01,0x68aa40bb,0xc34eafa0,0xd23f5ee4,0x5de02c21,0x3bbee315,0xd1d8dd06,0x18dd4397,0x122d7b44,0x3ba1939a,0xa33870d6,0xe6d3b40a,0x1c4fe3f8,0x8e620f70,0xd3a50cbf,0xf6bba1a5
-.long 0xcfc0aee0,0x4a78bde5,0xc08c50bd,0x847edc46,0xad63c9b2,0xbaa2439c,0x10fc2acb,0xceb4a728,0x26da033d,0xa419e40e,0x03e02683,0x6cc3889d,0xfdccf725,0x1cd28559,0x8d13d208,0x0fd7e0f1
-.long 0x1f0df9d4,0x01b9733b,0xa2b5e4f3,0x8cc2c5f3,0x3a304fd4,0x43053bfa,0x0a9f1aa7,0x8e87665c,0xd73dc965,0x087f29ec,0x3e9023db,0x15ace455,0x2bce28b4,0x2370e309,0xb6b1e84a,0xf9723442
-.long 0xb72d9f26,0xbeee662e,0xf0e47109,0xb19396de,0xe13289d0,0x85b1fa73,0x54e58e32,0x436cf77e,0xe990ef77,0x0ec833b3,0x1b11fc25,0x7373e3ed,0x0fc332ce,0xbe0eda87,0x8d7ea856,0xced04970
-.long 0x7e977ca0,0xf85ff785,0xdfdd5d2b,0xb66ee8da,0x905af461,0xf5e37950,0x966d487c,0x587b9090,0x32ba0127,0x6a198a1b,0x141615ac,0xa7720e07,0x996ef2f2,0xa23f3499,0x470bcb3d,0xef5f64b4
-.long 0x92b8c559,0xa526a962,0x69740a0f,0x0c14aac0,0xa6bdc0a5,0x0d41a9e3,0x9c48aef4,0x97d52106,0x3e7c253b,0xcf16bd30,0x47fdedc1,0xcc834b1a,0x373aab2e,0x7362c6e5,0xc5f590ff,0x264ed85e
-.long 0x66d41870,0x7a46d9c0,0x4787ba09,0xa50c20b1,0xe3d44635,0x185e7e51,0x31e2d8dc,0xb3b3e080,0xa179e9d9,0xbed1e558,0x74a76781,0x2daa3f79,0x3a40864f,0x4372baf2,0x4fe75cb5,0x46900c54
-.long 0xf76765d0,0xb95f171e,0x95c87502,0x4ad726d2,0x4d7c99bd,0x2ec769da,0xc36cdfa8,0x5e2ddd19,0xa93e6dea,0xc22117fc,0x93771123,0xe8a2583b,0xfa08a3a2,0xbe2f6089,0x8f0e1112,0x4809d5ed
-.long 0xda7a095e,0x3b414aa3,0x26f5aadd,0x9049acf1,0x6be8b84a,0x78d46a4d,0xb732b9b3,0xd66b1963,0xde6e9555,0x5c2ac2a0,0xb5bd8770,0xcf52d098,0x0fd28921,0x15a15fa6,0x8b27536d,0x56ccb81e
-.long 0x9f4ccbb8,0x0f0d8ab8,0xdb221729,0xed5f44d2,0x00bed10c,0x43141988,0x1d735b8b,0xc94348a4,0x29ef8479,0x79f3e9c4,0x614c693f,0x4c13a4e3,0x8e143a14,0x32c9af56,0xe29ac5c4,0xbc517799
-.long 0x2774856f,0x05e17992,0x6c1bf55f,0x6e52fb05,0xe4f19e16,0xaeda4225,0xaf5ccb26,0x70f4728a,0xb2947f22,0x5d2118d1,0x281d6fb9,0xc827ea16,0x8cf0eabd,0x8412328d,0x03ef9dcf,0x45ee9fb2
-.long 0xbb937d63,0x8e700421,0xcc4b37a6,0xdf8ff2d5,0x5ced7b68,0xa4c0d5b2,0xc7308f59,0x6537c1ef,0x3b37f8e8,0x25ce6a26,0xdeebc6ce,0x170e9a9b,0x8728d72c,0xdd037952,0x850154bc,0x445b0e55
-.long 0x83a7337b,0x4b7d0e06,0xffecf249,0x1e3416d4,0x66a2b71f,0x24840eff,0xb37cc26d,0xd0d9a50a,0x6fe28ef7,0xe2198150,0x23324c7f,0x3cc5ef16,0x769b5263,0x220f3455,0xa10bf475,0xe2ade2f1
-.long 0x458d3671,0x28cd20fa,0x2dc4847b,0x1549722c,0x591941e3,0x6dd01e55,0x27128ccb,0x0e6fbcea,0x3bef0262,0xae1a1e6b,0x8f54e103,0xfa8c472c,0x72c052ec,0x7539c0a8,0x5a3490e9,0xd7b27369
-.long 0x71684349,0x143fe1f1,0x32e19b97,0x36b4722e,0x90980aff,0xdc059227,0x9e13d674,0x175c9c88,0x6e6bfdb1,0xa7de5b22,0xbedb4b46,0x5ea5b7b2,0xd34a6e44,0xd5570191,0xa24ff7e6,0xfcf60d2e
-.long 0x677819e1,0x614a392d,0xaa5a29e8,0x7be74c7e,0x63c85f3f,0xab50fece,0x46cab337,0xaca2e2a9,0x122a6fe3,0x7f700388,0x882a04a8,0xdb69f703,0xcf7aed57,0x9a77935d,0x8d91c86f,0xdf16207c
-.long 0x63ed9998,0x2fca49ab,0xa77ddf96,0xa3125c44,0x24344072,0x05dd8a86,0xfec3fb56,0xa023dda2,0x0c743032,0x421b41fc,0x5e438639,0x4f2120c1,0xc83c1b07,0xfb7cae51,0xcac2171a,0xb2370caa
-.long 0x6cc820fb,0x2eb2d962,0xb85a44bf,0x59feee5c,0x5b6598f0,0x94620fca,0x7e314051,0x6b922cae,0x106bed4e,0xff8745ad,0xdfa1e9ab,0x546e71f5,0x1ec29487,0x935c1e48,0x4d936530,0x9509216c
-.long 0x85c9a2db,0xc7ca3067,0x6be8606f,0xd6ae5152,0xe14c651d,0x09dbcae6,0x9bc32f96,0xc9536e23,0x34521b03,0xa90535a9,0x878756ff,0xf39c526c,0x8aedf03c,0x383172ec,0xefe0c034,0x20a8075e
-.long 0x64026422,0xf22f9c62,0x24b9d076,0x8dd10780,0x3bef2950,0x944c742a,0x88a2b00b,0x55b9502e,0x86a09817,0xa59e14b4,0x47bb4071,0xa39dd3ac,0x3be0592f,0x55137f66,0xc9e63f5b,0x07fcafd4
-.long 0x346eb226,0x963652ee,0xec2facb7,0x7dfab085,0x691add26,0x273bf2b8,0xf2b46c44,0x30d74540,0xf2c2d065,0x05e8e73e,0xd42eeac9,0xff9b8a00,0x97209d22,0x2fcbd205,0xde14ea2c,0xeb740ffa
-.long 0xa8aef518,0xc71ff913,0xfff4cfa2,0x7bfc74bb,0xb6b36048,0x1716680c,0x9ef79af1,0x121b2cce,0xa01eb3d3,0xbff3c836,0x5f79077b,0x50eb1c6a,0xa004bbcf,0xa48c32d6,0x7d64f61d,0x47a59316
-.long 0x93102016,0x6068147f,0x94d12576,0x12c5f654,0xc9bc6b91,0xefb071a7,0x6e23ea95,0x7c2da0c5,0xd4a1dd5d,0xf4fd45b6,0x9122b13c,0x3e7ad9b6,0xe6f57a48,0x342ca118,0x06f8288f,0x1c2e94a7
-.long 0x5a97d231,0x99e68f07,0x4d838758,0x7c80de97,0x05872727,0xbce0f5d0,0x19c4d016,0xbe5d95c2,0x9c2492ee,0x921d5cb1,0x404d6fb3,0x42192dc1,0x32f988d3,0x4c84dcd1,0xa17b8e85,0xde26d61f
-.long 0x137c7408,0xc466dcb6,0x36a266da,0x9a38d7b6,0x83bebf1b,0x7ef5cb06,0x0fd014e3,0xe5cdcbbf,0xf65965a0,0x30aa376d,0xebb3e95e,0x60fe88c2,0x66ee6f20,0x33fd0b61,0x3f41f0a0,0x8827dcdb
-.long 0x0c56c690,0xbf8a9d24,0xddb7641d,0x40265dad,0x3a6b662b,0x522b05bf,0xb1478c9b,0x466d1dfe,0x1484469b,0xaa616962,0x02df8f9f,0x0db60549,0x3cb8bf51,0xc37bca02,0x21371ce8,0x5effe346
-.long 0xff112c32,0xe8f65264,0x7b971fb2,0x8a9c736d,0x7b75080d,0xa4f19470,0x8839c59b,0xfc3f2c5a,0x5aeb49c2,0x1d6c777e,0xda1addfe,0xf3db034d,0x5535affc,0xd76fee5a,0xb92251fd,0x0853ac70
-.long 0x8b2a29d5,0x37e3d594,0x4de00ddb,0x28f1f457,0xf42c328b,0x8083c1b5,0xe493c73b,0xd8ef1d8f,0x41dc61bd,0x96fb6260,0x27ee2f8a,0xf74e8a9d,0x2c946a5d,0x7c605a80,0x3839ccfd,0xeed48d65
-.long 0x3a29467a,0x9894344f,0xc51eba6d,0xde81e949,0xa5e5c2f2,0xdaea066b,0x08c8c7b3,0x3fc8a614,0x06d0de9f,0x7adff88f,0x3b75ce0a,0xbbc11cf5,0xfbbc87d5,0x9fbb7acc,0x7badfde2,0xa1458e26
-.long 0xe039c256,0x1cb43668,0x7c17fd5d,0x5f26fb8b,0x79aa062b,0xeee426af,0xd78fbf04,0x072002d0,0xe84fb7e3,0x4c9ca237,0x0c82133d,0xb401d8a1,0x6d7e4181,0xaaa52592,0x73dbb152,0xe9430833
-.long 0xbe24319a,0xf92dda31,0xe095a8e7,0x03f7d28b,0x98782185,0xa52fe840,0x29c24dbc,0x276ddafe,0x1d7a64eb,0x80cd5496,0x7f1dbe42,0xe4360889,0x8438d2d5,0x2f81a877,0x85169036,0x7e4d52a8
-.long 0x1d59715d,0x19e3d5b1,0xd788983e,0xc7eaa762,0xabf1f248,0xe5a730b0,0xfae3fd83,0xfbab8084,0x53765b2f,0x65e50d21,0xfa127f3d,0xbdd4e083,0x397b1b10,0x9cf3c074,0xb1b59fd3,0x59f8090c
-.long 0x615faa8f,0x7b15fd9d,0x968554ed,0x8fa1eb40,0x7aa44882,0x7bb4447e,0x029fff32,0x2bb2d0d1,0x6caa6d2f,0x075e2a64,0x22e7351b,0x8eb879de,0x9a506c62,0xbcd5624e,0xa87e24dc,0x218eaef0
-.long 0x44ddfa35,0x37e56847,0xdab3f747,0x9ccfc5c5,0x1ee96cf4,0x9ac1df3f,0x3b480b8f,0x0c0571a1,0x4b3a7b3c,0x2fbeb3d5,0x5dcdbb99,0x35c03669,0xb2415b3a,0x52a0f5dc,0x4413ed9a,0xd57759b4
-.long 0x3d30a2c5,0x1fe647d8,0xf78a81dc,0x0857f77e,0x131a4a9b,0x11d5a334,0x29d393f5,0xc0a94af9,0xdaa6ec1a,0xbc3a5c0b,0x88d2d7ed,0xba9fe493,0xbb614797,0xbb4335b4,0x72f83533,0x991c4d68
-.long 0xd2f01cb3,0x53258c28,0xd75db0b1,0x93d6eaa3,0xe87d0db4,0x419a2b0d,0xd8fe8493,0xa1e48f03,0xc508b23a,0xf747faf6,0x35d53549,0xf137571a,0xfcf9b838,0x9f5e58e2,0xa7fd3cf5,0xc7186cee
-.long 0xe978a1d3,0x77b868ce,0x7ab92d04,0xe3a68b33,0x87a5b862,0x51029794,0x3a61d41d,0x5f0606c3,0x6f9326f1,0x2814be27,0xc6fe3c2e,0x2f521c14,0xacdf7351,0x17464d7d,0x777f7e44,0x10f5f9d3
-.long 0x269fb37d,0xce8e616b,0x7de62de5,0xaaf73804,0x4fdd4153,0xaba11175,0x3770b49b,0x515759ba,0xaa423a61,0x8b09ebf8,0xcd41fb92,0x592245a1,0x9b4c8936,0x1cba8ec1,0xaf36710e,0xa87e91e3
-.long 0x3d34a2e3,0x1fd84ce4,0xb43b5d61,0xee3759ce,0x619186c7,0x895bc78c,0xcbb9725a,0xf19c3809,0xde744b1f,0xc0be21aa,0x60f8056b,0xa7d222b0,0xb23efe11,0x74be6157,0x0cd68253,0x6fab2b4f
-.long 0x4bf1d725,0xad33ea5f,0x4f6c950f,0x9c1d8ee2,0xa377af06,0x544ee78a,0x94a113e1,0x54f489bb,0x992fb7e8,0x8f11d634,0xa2a44347,0x0169a7aa,0x95020e00,0x1d49d4af,0xe08e120b,0x95945722
-.long 0xa4d32282,0xb6e33878,0x48020ae7,0xe36e029d,0x37a9b750,0xe05847fb,0xb29e3819,0xf876812c,0xd23a17f0,0x84ad138e,0xf0b3950e,0x6d7b4480,0x2fd67ae0,0xdfa8aef4,0x52333af6,0x8d3eea24
-.long 0xb15d5acc,0x0d052075,0xbd815bc4,0xc6d9c79f,0xdfa36cf2,0x8dcafd88,0x38aa9070,0x908ccbe2,0xba35afce,0x638722c4,0xfd6abf0b,0x5a3da8b0,0xc9c335c1,0x2dce252c,0x65aa799b,0x84e7f0de
-.long 0xb99a72cb,0x2101a522,0x87618016,0x06de6e67,0xe6f3653e,0x5ff8c7cd,0xc7a6754a,0x0a821ab5,0x7cb0b5a2,0x7e3fa52b,0xc9048790,0xa7fb121c,0x06ce053a,0x1a725020,0x04e929b0,0xb490a31f
-.long 0x62dd61ad,0xe17be47d,0x6be01371,0x781a961c,0xdae3cbba,0x1063bfd3,0x7f73c9ba,0x35647406,0x2736a129,0xf50e957b,0xed13f256,0xa6313702,0x3a19fcc5,0x9436ee65,0xe7a4c8b6,0xcf2bdb29
-.long 0xc5f95cd8,0xb06b1244,0xf4ab95f4,0xda8c8af0,0xb9e5836d,0x1bae59c2,0x3acffffc,0x07d51e7e,0xc2ccbcda,0x01e15e6a,0x8528c3e0,0x3bc1923f,0xa49fead4,0x43324577,0x2aa7a711,0x61a1b884
-.long 0x700230ef,0xf9a86e08,0xbd19adf8,0x0af585a1,0xf55ad8f2,0x7645f361,0x46c3614c,0x6e676223,0x4e774d3f,0x23cb257c,0xac102d1b,0x82a38513,0x7b126aa5,0x9bcddd88,0xeefd3ee4,0xe716998b
-.long 0xfb167583,0x4239d571,0xd16c8f8a,0xdd011c78,0x69a27519,0x271c2895,0xd2d64b6a,0x9ce0a3b7,0xd5ec6738,0x8c977289,0x8840ef6b,0xa3b49f9a,0x9a453419,0x808c14c9,0x0cf0a2d5,0x5c00295b
-.long 0x1d4bcc76,0x524414fb,0x459a88f1,0xb07691d2,0xf70d110f,0x77f43263,0xb7abf9f3,0x64ada5e0,0x5b544cf5,0xafd0f94e,0xfd2713fe,0xb4a13a15,0x250c74f4,0xb99b7d6e,0x20324e45,0x097f2f73
-.long 0xaffa8208,0x994b37d8,0xdc29aafc,0xc3c31b0b,0x7a3a607f,0x3da74651,0xfe6955d6,0xd8e1b8c1,0xc8418682,0x716e1815,0x7dc91d97,0x541d487f,0xc6996982,0x48a04669,0x83a6502e,0xf39cab15
-.long 0xe68db055,0x025801a0,0xba3338d5,0xf3569758,0xee2afa84,0xb0c8c0aa,0xfb6562d1,0x4f6985d3,0x132ed17a,0x351f1f15,0xc04365fe,0x510ed0b4,0xe5b1f066,0xa3f98138,0x32df03dc,0xbc9d95d6
-.long 0x19abd09e,0xa83ccf6e,0x4ff17edb,0x0b4097c1,0xd64a06ce,0x58a5c478,0x544a58fd,0x2ddcc3fd,0x9e8153b8,0xd449503d,0x7774179b,0x3324fd02,0xdbd9120c,0xaf5d47c8,0x34fa94db,0xeb860162
-.long 0x972f07f4,0x5817bdd1,0xd27bbceb,0xe5579e2e,0x5f11e5a6,0x86847a1f,0x7c3cf048,0xb39ed255,0xa2f62e55,0xe1076417,0x1bcf82a2,0x6b9ab38f,0x7aeb29f9,0x4bb7c319,0x17227a46,0xf6d17da3
-.long 0x0f968c00,0xab53ddbd,0x000c880b,0xa03da7ec,0x6a9ad24d,0x7b239624,0x01ec60d0,0x612c0401,0x109f5df1,0x70d10493,0x80af7550,0xfbda4030,0xc6b9a9b3,0x30b93f95,0x007d9418,0x0c74ec71
-.long 0x6edb951f,0x94175564,0x7f22c282,0x5f4a9d78,0xb38d1196,0xb7870895,0xa228ce7c,0xbc593df3,0x6af3641a,0xc78c5bd4,0x3d9b3dcc,0x7802200b,0x8be33304,0x0dc73f32,0x61ffb79a,0x847ed87d
-.long 0x6d671192,0xf85c974e,0xde16f60f,0x1e14100a,0x95c38797,0x45cb0d5a,0x9b022da4,0x18923bba,0xbbe7e86e,0xef2be899,0x216067bf,0x4a1510ee,0x84d5ce3e,0xd98c8154,0xf92a2b90,0x1af777f0
-.long 0x4ef65724,0x9fbcb400,0x3c0ca6fe,0x3e04a4c9,0x55002994,0xfb3e2cb5,0x5363ecab,0x1f3a93c5,0x3923555b,0x1fe00efe,0x1e1751ea,0x744bedd9,0x6ab69357,0x3fb2db59,0xf5e6618b,0x8dbd7365
-.long 0xdf1ea40e,0x99d53099,0x57d61e64,0xb3f24a0b,0x596eb812,0xd088a198,0x5762940b,0x22c8361b,0xf9c0d95c,0x66f01f97,0x8e43cdae,0x88461172,0xb72b15c3,0x11599a7f,0x420d95cc,0x135a7536
-.long 0x5f7ae2f6,0x2dcdf0f7,0xd7fa6da2,0x15fc6e1d,0xd1d441b6,0x81ca829a,0x04a106b6,0x84c10cf8,0xa73fbbd0,0xa9b26c95,0x4d8f6ee8,0x7f24e0cb,0x1e25a043,0x48b45937,0x036f3dfe,0xf8a74fca
-.long 0xc9f84296,0x1ed46585,0x3bc278b0,0x7fbaa8fb,0x6c4fcbd0,0xa8e96cd4,0x73b60a5f,0x940a1202,0x55a4aec8,0x34aae120,0xdbd742f0,0x550e9a74,0x228c68ab,0x794456d7,0xa4e25ec6,0x492f8868
-.long 0xb2d8f398,0x682915ad,0x5b84c953,0xf13b51cc,0x5bb917d6,0xcda90ab8,0x4ea3dee1,0x4b615560,0x0a52c1c8,0x578b4e85,0x20b75fc4,0xeab1a695,0xaa0bb3c6,0x60c14f3c,0xb8216094,0x220f448a
-.long 0xb0e63d34,0x4fe7ee31,0xa9e54fab,0xf4600572,0xd5e7b5a4,0xc0493334,0x06d54831,0x8589fb92,0x6583553a,0xaa70f5cc,0xe25649e5,0x0879094a,0x10044652,0xcc904507,0x02541c4f,0xebb0696d
-.long 0xb9718710,0x5a171fde,0xf374a9f5,0x38f1bed8,0xba39bdc1,0xc8c582e1,0x908cc0ce,0xfc457b0a,0x883841e2,0x9a187fd4,0x38725381,0x8ec25b39,0x96f84395,0x2553ed05,0x6f6c6897,0x095c7661
-.long 0x4bdc5610,0x917ac85c,0x179eb301,0xb2885fe4,0x8b78bdcc,0x5fc65547,0xe59e4699,0x4a9fc893,0x3ce299af,0xbb7ff0cd,0xadf38b20,0x195be9b3,0xd38ddb8f,0x6a929c87,0xb21a51b9,0x55fcc99c
-.long 0x721a4593,0x2b695b4c,0x768eaac2,0xed1e9a15,0x7489f914,0xfb63d71c,0x78118910,0xf98ba31c,0x9b128eb4,0x80291373,0xd448af4a,0x7801214e,0x55418dd3,0xdbd2e22b,0xd3998242,0xeffb3c0d
-.long 0xc7bf3827,0xdfa6077c,0x47f8238f,0xf2165bcb,0x8564d554,0xfe37cf68,0x0a81fb98,0xe5f825c4,0xffed4d6f,0x43cc4f67,0xb50a34b0,0xbc609578,0x5041faf1,0x8aa8fcf9,0x651773b6,0x5659f053
-.long 0x6044d63b,0xe87582c3,0x0cdb0ca0,0xa6089409,0xbfb2bcf6,0x8c993e0f,0x45985cfc,0xfc64a719,0x83dbedba,0x15c4da80,0x2be67df7,0x804ae112,0xa23defde,0xda4c9658,0x5156e0d3,0x12002ddd
-.long 0x5dd21b96,0xe68eae89,0xcf44624d,0x8b99f28b,0x1ec8897a,0x0ae00808,0x6712f76e,0xdd0a9303,0x4e233de4,0x96237522,0x2b36a8a5,0x192445b1,0x023993d9,0xabf9ff74,0x2aad4a8f,0x21f37bf4
-.long 0xf8bd2bbd,0x340a4349,0x4868195d,0x1d902cd9,0xe5fdb6f1,0x3d27bbf1,0x124f9f1c,0x7a5ab088,0xf7a09e03,0xc466ab06,0x31f2c123,0x2f8a1977,0x041b6657,0xda355dc7,0x8ece2a7c,0xcb840d12
-.long 0x7db32675,0xb600ad9f,0x07a06f1b,0x78fea133,0xb31f6094,0x5d032269,0x83ec37aa,0x07753ef5,0x9c0bea78,0x03485aed,0xbc3f4524,0x41bb3989,0x697f726d,0x09403761,0xdf394820,0x6109beb3
-.long 0x3b6d1145,0x804111ea,0xa8582654,0xb6271ea9,0x24e66562,0x619615e6,0xd7b6ad9c,0xa2554945,0x99bfe35f,0xd9c4985e,0x7b51cdf6,0x9770ccc0,0x92881832,0x7c327013,0x286b26d1,0x8777d45f
-.long 0xd847999d,0x9bbeda22,0xc3525d32,0x03aa33b6,0x28a959a1,0x4b7b96d4,0x31e5d234,0xbb3786e5,0x6961f247,0xaeb5d3ce,0x02f93d3f,0x20aa85af,0xd7a7ae4f,0x9cd1ad3d,0x781adaa8,0xbf6688f0
-.long 0x7469cead,0xb1b40e86,0x309fca48,0x1904c524,0x4b54bbc7,0x9b7312af,0x593affa2,0xbe24bf8f,0xbd98764b,0xbe5e0790,0xa26e299e,0xa0f45f17,0x6b8fe4c7,0x4af0d2c2,0x8ae8a3e6,0xef170db1
-.long 0x29e0ccc1,0x0e8d61a0,0x60ad36ca,0xcd53e87e,0xc8173822,0x328c6623,0xa496be55,0x7ee1767d,0x648945af,0x89f13259,0x25c8009c,0x9e45a5fd,0x1f61ab8c,0xaf2febd9,0x8a275385,0x43f6bc86
-.long 0xf2142e79,0x87792348,0xc6e6238a,0x17d89259,0x4a839d9b,0x7536d2f6,0x76a1fbdc,0x1f428fce,0x0db06dfe,0x1c109601,0x50a3a3cc,0xbfc16bc1,0x9b30f41b,0xf9cbd9ec,0x00138cce,0x5b5da0d6
-.long 0x56ef96a7,0xec1d0a48,0x982bf842,0xb47eb848,0xec3f700d,0x66deae32,0xaa1181e0,0x4e43c42c,0xd1a4aa2a,0xa1d72a31,0xc004f3ce,0x440d4668,0x45fe8a7a,0x0d6a2d3b,0xfb128365,0x820e52e2
-.long 0x25e51b09,0x29ac5fcf,0x2023d159,0x180cd2bf,0xa1ebf90e,0xa9892171,0x7c132181,0xf97c4c87,0xc03dbb7e,0x9f1dc724,0x018cbbe4,0xae043765,0x0767d153,0xfb0b2a36,0x249cbaeb,0xa8e2f4d6
-.long 0xd95ea168,0x172a5247,0x2970764a,0x1758fada,0x1d978169,0xac803a51,0xde77e01b,0x299cfe2e,0xb0a98927,0x652a1e17,0x20014495,0x2e26e1d1,0x7175b56a,0x7ae0af9f,0xd64b9f95,0xc2e22a80
-.long 0xd90a060a,0x4d0ff9fb,0xbaf38085,0x496a27db,0xda776bcf,0x32305401,0x725f209e,0xb8cdcef6,0x436a0bba,0x61ba0f37,0x76860049,0x263fa108,0xda3542cf,0x92beb98e,0xd5849538,0xa2d4d14a
-.long 0x12e9a1bc,0x989b9d68,0x5f6e3268,0x61d9075c,0x99ace638,0x352c6aa9,0x920f43ff,0xde4e4a55,0xd673c017,0xe5e4144a,0x6f6e05ea,0x667417ae,0xdcd1bd56,0x613416ae,0x86693711,0x5eb36201
-.long 0x3a1aa914,0x2d7bc504,0x76dc5975,0x175a1299,0x3fc8125c,0xe900e0f2,0x11198875,0x569ef68c,0x63a113b4,0x9012db63,0x98835766,0xe3bd3f56,0x76412dea,0xa5c94a52,0xaa735e5c,0xad9e2a09
-.long 0x508b65e9,0x405a984c,0x6df1a0d1,0xbde4a1d1,0xdfba80da,0x1a9433a1,0x9440ad2e,0xe9192ff9,0x5099fe92,0x9f649696,0x0b27a54a,0x25ddb65c,0xc590da61,0x178279dd,0xfbde681a,0x5479a999
-.long 0x013fe162,0xd0e84e05,0x632d471b,0xbe11dc92,0xfc0e089f,0xdf0b0c45,0x4c144025,0x04fb15b0,0x13c99927,0xa61d5fc2,0x3de2eb35,0xa033e9e0,0xb8dacbb4,0xf8185d5c,0x8644549d,0x9a88e265
-.long 0x54671ff6,0xf717af62,0x5fa58603,0x4bd4241b,0xe67773c0,0x06fba40b,0x6a2847e9,0xc1d933d2,0x689e2c70,0xf4f5acf3,0x46bafd31,0x92aab0e7,0x3473f6e5,0x798d76aa,0x93141934,0xcc6641db
-.long 0xd31e535e,0xcae27757,0x87c2ee11,0x04cc43b6,0x2e029ffa,0x8d1f9675,0xe4cc7a2c,0xc2150672,0x8d68b013,0x3b03c1e0,0xedf298f3,0xa9d6816f,0xa2804464,0x1bfbb529,0x5db22125,0x95a52fae
-.long 0x0e1cb64e,0x55b32160,0x7e7fc9fe,0x004828f6,0x1bb0fb93,0x13394b82,0x35f1a920,0xb6293a2d,0xd145d2d9,0xde35ef21,0xbb8fa603,0xbe6225b3,0x32cf252d,0x00fc8f6b,0x117cf8c2,0xa28e52e6
-.long 0x4c371e6d,0x9d1dc89b,0x36ef0f28,0xcebe0675,0xa4292f81,0x5de05d09,0x353e3083,0xa8303593,0x7e37a9bb,0xa1715b0a,0x2b8faec3,0x8c56f61e,0x33c9b102,0x52507431,0xa44431f0,0x0130cefc
-.long 0xbd865cfb,0x56039fa0,0xbc5f1dd7,0x4b03e578,0xbabe7224,0x40edf2e4,0x3a1988f6,0xc752496d,0x564beb6b,0xd1572d3b,0x39a1c608,0x0db1d110,0x16f60126,0x568d1934,0xf354af33,0x05ae9668
-.long 0xc92544f2,0x19de6d37,0xa35837d5,0xcc084353,0x1a514ece,0xcbb6869c,0x2e1d1066,0xb633e728,0x936c581c,0xf15dd69f,0x7439c4f9,0x96e7b8ce,0x2e448a5b,0x5e676f48,0xfd916bbb,0xb2ca7d5b
-.long 0xf5024025,0xd55a2541,0xe4c2d937,0x47bc5769,0x0362189f,0x7d31b92a,0xef7816f9,0x83f3086e,0xb587579a,0xf9f46d94,0x30e76c5f,0xec2d22d8,0xb000ffcf,0x27d57461,0x364ffc2c,0xbb7e65f9
-.long 0x6652a220,0x7c7c9477,0xd696c981,0x61618f89,0x89effff3,0x5021701d,0x7c314163,0xf2c8ff8e,0x8efb4d3e,0x2da413ad,0xce176d95,0x937b5adf,0x2a67d51c,0x22867d34,0x18eb3ac9,0x262b9b10
-.long 0xc43ff28b,0x4e314fe4,0x6a664e7a,0x76476627,0xb7a565c2,0x3e90e40b,0xc1acf831,0x8588993a,0x8f938829,0xd7b501d6,0x3edd7d4c,0x996627ee,0x90cd34c7,0x37d44a62,0xf3833e8d,0xa8327499
-.long 0x4bf50353,0x2e18917d,0x556765fb,0x85dd726b,0x93d5ab66,0x54fe65d6,0x915c25fe,0x3ddbaced,0x12f22e85,0xa799d9a4,0x6d06f6bc,0xe2a24867,0x43ca1637,0xf4f1ee56,0x61ece30a,0xfda2828b
-.long 0xa2dee7a6,0x758c1a3e,0x734b2284,0xdcde2f3c,0x4eaba6ad,0xaba445d2,0x76cee0a7,0x35aaf668,0xe5aa049a,0x7e0b04a9,0x91103e84,0xe74083ad,0x40afecc3,0xbeb183ce,0xea043f7a,0x6b89de9f
-.long 0xfe67ba66,0x0e299d23,0x93cf2f34,0x91450760,0x97fcf913,0xf45b5ea9,0x8bd7ddda,0x5be00843,0xd53ff04d,0x358c3e05,0x5de91ef7,0xbf7ccdc3,0xb69ec1a0,0xad684dbf,0x801fd997,0x367e7cf2
-.long 0xb0dc8595,0x0ca1f3b7,0x9f1d9f2e,0x27de4608,0xbadd82a7,0x1af3bf39,0x65862448,0x79356a79,0xf5f9a052,0xc0602345,0x139a42f9,0x1a8b0f89,0x844d40fc,0xb53eee42,0x4e5b6368,0x93b0bfe5
-.long 0xc024789c,0x5434dd02,0x41b57bfc,0x90dca9ea,0x243398df,0x8aa898e2,0x894a94bb,0xf607c834,0xc2c99b76,0xbb07be97,0x18c29302,0x6576ba67,0xe703a88c,0x3d79efcc,0xb6a0d106,0xf259ced7
-.long 0xc8de610b,0x0f893a5d,0x67e223ce,0xe8c515fb,0x4ead6dc5,0x7774bfa6,0x925c728f,0x89d20f95,0x098583ce,0x7a1e0966,0x93f2a7d7,0xa2eedb94,0x4c304d4a,0x1b282097,0xc077282d,0x0842e3da
-.long 0x3b9e2d7b,0xe4d972a3,0xc48218ff,0x7cc60b27,0x84149d91,0x8fc70838,0x2f461ecc,0x5c04346f,0x614650a9,0xebe9fdf2,0xc1f666ac,0x5e35b537,0x88babc83,0x645613d1,0xc5e1c93e,0x88cace3a
-.long 0x3de92e23,0x209ca375,0x5fbbb6e3,0xccb03cc8,0xd7b1487e,0xccb90f03,0xc710941f,0xfa9c2a38,0x6724ceed,0x756c3823,0x192d0323,0x3a902258,0xea5e038e,0xb150e519,0xc7427591,0xdcba2865
-.long 0x78890732,0xe549237f,0x53fcb4d9,0xc443bef9,0xeb3480d6,0x9884d8a6,0x3048b186,0x8a35b6a1,0x65e9a90a,0xb4e44716,0x653006c0,0x45bf380d,0x4fe9ae3b,0x8f3f820d,0x979a3b71,0x244a35a0
-.long 0x74cd06ff,0xa1010e9d,0xaca3eeac,0x9c17c7df,0x8063aa2b,0x74c86cd3,0x734614ff,0x8595c4b3,0x990f62cc,0xa3de00ca,0xca0c3be5,0xd9bed213,0xdf8ce9f5,0x7886078a,0x5cd44444,0xddb27ce3
-.long 0x58926ddd,0xed374a66,0x908015b8,0x138b2d49,0xde1f7ab8,0x886c6579,0xc3020b7a,0x888b9aa0,0x3a96e355,0xd3ec034e,0xf30fbe9a,0xba65b0b8,0xff21367a,0x064c8e50,0x0b04b46e,0x1f508ea4
-.long 0x747c866c,0x98561a49,0x0518a062,0xbbb1e5fe,0xecdc3608,0x20ff4e8b,0x20184027,0x7f55cded,0xf38c85f0,0x8d73ec95,0x8bc3b8c3,0x5b589fdf,0x0f12b66f,0xbe95dd98,0x0e338e01,0xf5bd1a09
-.long 0x5e915918,0x65163ae5,0x86f8a46b,0x6158d6d9,0xeeebf99c,0x8466b538,0xbca477ef,0xca8761f6,0x9ebbc601,0xaf3449c2,0xe0c3ae2f,0xef3b0f41,0x5de63752,0xaa6c577d,0x64682a51,0xe9166601
-.long 0xfc15aa1e,0x5a3097be,0xb54b0745,0x40d12548,0x519a5f12,0x5bad4706,0xa439dee6,0xed03f717,0x4a02c499,0x0794bb6c,0xcffe71d2,0xf725083d,0x0f3adcaf,0x2cad7519,0x43729310,0x7f68ea1c
-.long 0xb7ffd977,0xe747c8c7,0x80761a22,0xec104c35,0x5a3ffb83,0x8395ebaf,0xe4b63db7,0xfb3261f4,0xd883e544,0x53544960,0x8cc2eeb8,0x13520d70,0xd3d65f99,0x08f6337b,0x781cf95b,0x83997db2
-.long 0x0dbd2c01,0xce6ff106,0x1f9ce934,0x4f8eea6b,0x0e993921,0x546f7c4b,0x5e753fc7,0x6236a324,0xa16022e9,0x65a41f84,0x43d1dbb2,0x0c18d878,0x2d4cef9c,0x73c55640,0x70444c74,0xa0428108
-.long 0x9afdfb3c,0x68e4f15e,0x5bdfb6df,0x49a56143,0x5f823d97,0xa9bc1bd4,0xea111c2a,0xbceb5970,0xb269bbc4,0x366b455f,0xe9bc5d62,0x7cd85e1e,0x4f18b086,0xc743c41c,0x95294fb9,0xa4b40990
-.long 0x26ee8382,0x9c7c581d,0x359d638e,0xcf17dcc5,0xb728ae3d,0xee8273ab,0xf821f047,0x1d112926,0x50491a74,0x11498477,0xfde0dfb9,0x687fa761,0x7ea435ab,0x2c258022,0x91ce7e3f,0x6b8bdb94
-.long 0x3bf834aa,0x4c5b5dc9,0x4f6c7e4b,0x04371819,0x3736bcad,0xc284e00a,0x21ae8f8d,0x0d881118,0xf48c8e33,0xf9cf0f82,0xa1bf40db,0xa11fd075,0xdc2733e5,0xdceab0de,0x8e986bd7,0xc560a8b5
-.long 0x3929d097,0x48dd1fe2,0x92f188f1,0x3885b290,0xda6fcdac,0x0f2ae613,0xb662a46c,0x9054303e,0x0738042a,0xb6871e44,0xbdaf6449,0x98e6a977,0xd1c9df1b,0xd8bc0650,0x36e098f9,0xef3d6451
-.long 0xb6d72d28,0x03fbae82,0xf5d84080,0x77ca9db1,0xa58efc1c,0x8a112cff,0xc564cb4a,0x518d761c,0xf0d1b5ce,0x69b5740e,0xe9eb1785,0x717039cc,0x22f53382,0x3fe29f90,0x6bc7c95c,0x8e54ba56
-.long 0xf7f91d0f,0x9c806d8a,0xa82a5728,0x3b61b0f1,0x94d76754,0x4640032d,0x47d834c6,0x273eb5de,0x7b4e4d53,0x2988abf7,0xde401777,0xb7ce66bf,0x715071b3,0x9fba6b32,0xad3a1a98,0x82413c24
-.long 0xe0e8ad93,0x5b7fc8c4,0x5fab868d,0xb5679aee,0x2b3946f3,0xb1f9d2fa,0x5685b50a,0x458897dc,0x89d0caf3,0x1e98c930,0x78642e92,0x39564c5f,0x0dbdaf18,0x1b77729a,0x579e82e6,0xf9170722
-.long 0xe4515fa5,0x680c0317,0xfb0c790f,0xf85cff84,0x6d2e0765,0xc7a82aab,0x35c82b32,0x7446bca9,0x6d63184f,0x5de607aa,0x262803a6,0x7c1a46a8,0xaebe8035,0xd218313d,0xc73c51f8,0x92113ffd
-.long 0x12e7e46c,0x4b38e083,0x56126bd5,0x69d0a37a,0x73c07e04,0xfb3f324b,0x8fda7267,0xa0c22f67,0x4d2c7d8f,0x8f2c0051,0xcbe2cae5,0xbc45ced3,0xa8f0f277,0xe1c6cf07,0x1eb99a98,0xbc392312
-.long 0x3cc8ac85,0x75537b7e,0xdd02753b,0x8d725f57,0xb737df2f,0xfd05ff64,0xf6d2531d,0x55fe8712,0x6ab6b01c,0x57ce04a9,0x7cd93724,0x69a02a89,0xcf86699b,0x4f82ac35,0x9cb4b232,0x8242d3ad
-.long 0xd62105e5,0x713d0f65,0x2d29be61,0xbb222bfa,0x6cfbef09,0xf2f9a79e,0xd5d6782f,0xfc24d8d3,0xd4129967,0x5db77085,0xdc3c2a43,0xdb81c3cc,0x05d8d9a3,0x9d655fc0,0x54298026,0x3f5d057a
-.long 0x88c54694,0x1157f56d,0x9b09573e,0xb26baba5,0x22adffd1,0x2cab03b0,0xdd69f383,0x60a412c8,0x54b25039,0xed76e98b,0x687e714d,0xd4ee67d3,0x7b00b594,0x87739648,0xc9ef709b,0xce419775
-.long 0x1c203a40,0x40f76f85,0xeafd8f91,0x30d352d6,0x95578dd2,0xaf196d3d,0x77cc3f3d,0xea4bb3d7,0xb98e782b,0x42a5bd03,0x0624920d,0xac958c40,0xfc56fcc8,0xb838134c,0x89572e5e,0x86ec4ccf
-.long 0x9be47be0,0x69c43526,0xcb28fea1,0x323b7dd8,0x3a6c67e5,0xfa5538ba,0x1d378e46,0xef921d70,0x3c4b880e,0xf92961fc,0x98940a67,0x3f6f914e,0xfef0ff39,0xa990eb0a,0xf0eeff9c,0xa6c2920f
-.long 0x51b8d9a3,0xca804166,0x0ffb0db1,0x42531bc9,0xaa82e7ce,0x72ce4718,0xdf574741,0x6e199913,0xd5d36946,0xd5f1b13d,0xf68f0194,0x8255dc65,0x8710d230,0xdc9df4cd,0x138c1988,0x3453c20f
-.long 0x89a6ef01,0x9af98dc0,0x9857df85,0x4dbcc3f0,0x5c1ad924,0x34805601,0xd0493046,0x40448da5,0x4ee343e2,0xf629926d,0x90e8a301,0x6343f1bd,0x40815b3f,0xefc93491,0xde8f66fb,0xf882a423
-.long 0xe7db9f57,0x3a12d5f4,0x3c384c27,0x7dfba38a,0x6fc660b1,0x7a904bfd,0x2773b21c,0xeb6c5db3,0x1cdfe049,0xc350ee66,0x44540f29,0x9baac0ce,0xa5ec6aad,0xbc57b6ab,0x0a7c1baa,0x167ce8c3
-.long 0x53fb2b56,0xb23a03a5,0x4e057f78,0x6ce141e7,0x89e490d9,0x796525c3,0xa31a7e75,0x0bc95725,0x1220fd06,0x1ec56791,0x408b0bd6,0x716e3a3c,0xe8ebeba9,0x31cd6bf7,0xbee6b670,0xa7326ca6
-.long 0xcd090c43,0x3d9f851c,0xf12c3988,0x561e8f13,0x904b7be4,0x50490b6a,0x0410737b,0x61690ce1,0x0f009052,0x299e9a37,0xf026092e,0x258758f0,0xfdfcdc0f,0x9fa255f3,0xc0e1bcd2,0xdbc9fb1f
-.long 0x24651840,0x35f9dd6e,0xa5c59abc,0xdca45a84,0xecca4938,0x103d396f,0xb97b3f29,0x4532da0a,0x1999a6bf,0xc4135ea5,0x5e6bf2ee,0x3aa9505a,0x3f5be093,0xf77cef06,0xa943152e,0x97d1a0f8
-.long 0x2e1c21dd,0x2cb0ebba,0x2c6797c4,0xf41b29fc,0xb300101f,0xc6e17321,0xd0d79a89,0x4422b0e9,0x92f1bfc4,0x49e4901c,0xe1e10ed9,0x06ab1f8f,0xdb2926b8,0x84d35577,0x356e8ec2,0xca349d39
-.long 0x343bf1a9,0x70b63d32,0x37d1a6b1,0x8fd3bd28,0x316865b4,0x0454879c,0xc458efa2,0xee959ff6,0x9706dc3f,0x0461dcf8,0x164e4b2e,0x737db0e2,0x2f8843c8,0x09262680,0x7745e6f6,0x54498bbc
-.long 0xa29e24af,0x359473fa,0x70aa87a1,0xfcc3c454,0x00573ace,0xfd2c4bf5,0x28dd1965,0xb65b514e,0x2193e393,0xe46ae7cf,0xf5444d97,0x60e9a4e1,0x00ff38ed,0xe7594e96,0x0a0e0f02,0x43d84d2f
-.long 0xee398a21,0x8b6db141,0xe3bcc5be,0xb88a56ae,0x373460ea,0x0a1aa52f,0x160bb19b,0x20da1a56,0x65bf0384,0xfb54999d,0x5d5a180e,0x71a14d24,0x21737b04,0xbc44db7b,0x01dd8e92,0xd84fcb18
-.long 0xfa44b479,0x80de937b,0x5c98fd4f,0x53505499,0x28f08727,0x1edb12ab,0xa5f3ef53,0x4c58b582,0x8327f246,0xbfb236d8,0x4d7df320,0xc3a3bfaa,0xb96024f2,0xecd96c59,0x7f4e0433,0xfc293a53
-.long 0x5acf6e10,0x5341352b,0xafe652c3,0xc50343fd,0x18577a7f,0x4af3792d,0xaf16823d,0xe1a4c617,0x33425d0a,0x9b26d0cd,0x9b7bc47f,0x306399ed,0x706bb20b,0x2a792f33,0x98111055,0x31219614
-.long 0x87f5d28b,0x864ec064,0x962277fd,0x11392d91,0xbb6aed5f,0xb5aa7942,0x47e799d9,0x080094dc,0x208ba19b,0x4afa588c,0x8512f284,0xd3e7570f,0x02f5799a,0xcbae64e6,0x514b9492,0xdeebe7ef
-.long 0xe5c298ff,0x30300f98,0x3678361f,0x17f561be,0x98cb9a16,0xf52ff312,0x5562d490,0x6233c3bc,0x92e3a2cb,0x7bfa15a1,0xe6365119,0x961bcfd1,0x2c8c53b1,0x3bdd29bf,0x822844ba,0x739704df
-.long 0x7e7b754b,0x7dacfb58,0xa806c9b9,0x23360791,0x23504452,0xe7eb88c9,0x852c1783,0x2983e996,0x958d881d,0xdd4ae529,0x262c7b3c,0x026bae03,0x960b52d1,0x3a6f9193,0x92696cfb,0xd0980f90
-.long 0xd5f30851,0x4c1f428c,0x2a4f6630,0x94dfed27,0xfc5d48a4,0x4df53772,0x933260ce,0xdd2d5a2f,0xd44cc7a5,0x574115bd,0xbd12533a,0x4ba6b20d,0x243057c9,0x30e93cb8,0x14de320e,0x794c486a
-.long 0xf21496e4,0xe925d4ce,0xec696331,0xf951d198,0x3e8d812f,0x9810e2de,0x389294ab,0xd0a47259,0x0e3bab66,0x513ba2b5,0xabad306f,0x462caff5,0xaf04c49e,0xe2dc6d59,0xe0b84b0b,0x1aeb8750
-.long 0x2f7d0ca2,0xc034f12f,0xe06acf2f,0x6d2e8128,0x21facc2f,0x801f4f83,0xf40ef607,0xa1170c03,0x7805a99c,0xfe0a1d4f,0xcc26aba5,0xbde56a36,0x35531f40,0x5b1629d0,0x9afa6108,0xac212c2b
-.long 0x15697be5,0x30a06bf3,0x2c63c7c1,0x6f0545dc,0x7ccdadaf,0x5d8cb842,0xac7015bb,0xd52e379b,0xf462c23e,0xc4f56147,0x46bc24b0,0xd44a4298,0xe2856d4f,0xbc73d23a,0x0832bcdf,0x61cedd8c
-.long 0x99f241d7,0x60953556,0x001a349d,0xee4adbd7,0xaa89e491,0x0b35bf6a,0x136f7546,0x7f0076f4,0x9264da3d,0xd19a18ba,0x62a7a28b,0x6eb2d2cd,0x8761c971,0xcdba941f,0xa3be4a5d,0x1550518b
-.long 0x57d0b70c,0xd0e8e2f0,0xcd133ba3,0xeea8612e,0x44416aec,0x814670f0,0x30775061,0x424db6c3,0x16213fd1,0xd96039d1,0x18a3478f,0xc61e7fa5,0xcb0c5021,0xa805bdcc,0x0cc616dd,0xbdd6f3a8
-.long 0x5d97f7e2,0x06009667,0xaf0bf4b6,0x31db0fc1,0x5491627a,0x23680ed4,0x7d741fb1,0xb99a3c66,0x36b1ff92,0xe9bb5f55,0x512b388d,0x29738577,0x50fcf263,0xdb8a2ce7,0x6c4f7b47,0x385346d4
-.long 0x31631f9e,0xbe86c5ef,0x03a57a29,0xbf91da21,0x7b23f821,0xc3b1f796,0x770db354,0x0f7d00d2,0xd8fe79da,0x8ffc6c3b,0xd525c996,0xcc5e8c40,0xcfff632a,0x4640991d,0x67112528,0x64d97e8c
-.long 0x02f1cd1e,0xc232d973,0x1dd212a4,0xce87eacb,0xe69802f7,0x6e4c8c73,0x1fffddbd,0x12ef0290,0x1bcea6e2,0x941ec74e,0x3cb92cbb,0xd0b54024,0x7e8f9d05,0x809fb9d4,0xf2992aae,0x3bf16159
-.long 0xf8a7a838,0xad40f279,0x05615660,0x11aea631,0xa01f6fa1,0xbf52e6f1,0x3dc2aec9,0xef046995,0xd8080711,0x785dbec9,0x9fdedf76,0xe1aec60a,0xfa21c126,0xece797b5,0x05e52732,0xc66e898f
-.long 0x08811fdb,0x39bb69c4,0x2fc7f082,0x8bfe1ef8,0x174f4138,0xc8e7a393,0xd58d1f98,0xfba8ad1d,0xbfd2fd5b,0xbc21d0ce,0x6ee60d61,0x0b839a82,0xafd22253,0xaacf7658,0xaae396b3,0xb526bed8
-.long 0x38564464,0xccc1bbc2,0x8c45bc73,0x9e3ff947,0x58188a78,0xcde9bca3,0xd73bf8f7,0x138b8ee0,0x4123c489,0x5c7e234c,0xfa643297,0x66e69368,0x39a15fa3,0x0629eeee,0xa9e2a927,0x95fab881
-.long 0xeafbb1e1,0xb2497007,0xe75b7a93,0xd75c9ce6,0xefb68d78,0x3558352d,0x223f6396,0xa2f26699,0xe469b17a,0xeb911ecf,0xe72d3ec2,0x62545779,0x82cb113f,0x8ea47de7,0x4e1fa98d,0xebe4b086
-.long 0x8cdfedb1,0xec2d5ed7,0xfe211a74,0xa535c077,0x11d244c5,0x9678109b,0xbe299a76,0xf17c8bfb,0xfb11fbc4,0xb651412e,0x94ab3f65,0xea0b5482,0x0cf78243,0xd8dffd95,0xce0361d4,0x2e719e57
-.long 0x304ddc5b,0x9007f085,0x4daba2ea,0x095e8c6d,0x3f9d28a9,0x5a33cdb4,0xe2283003,0x85b95cd8,0xb9744733,0xbcd6c819,0xfc7f5783,0x29c5f538,0xd59038e4,0x6c49b2fa,0x3bbe1018,0x68349cc1
-.long 0x21830ee5,0xcc490c1d,0xe9bfa297,0x36f9c4ee,0x48de1a94,0x58fd7294,0x4e8f2cdc,0xaadb13a8,0x81313dba,0x515eaaa0,0xc2152dd8,0xc76bb468,0xa653dbf8,0x357f8d75,0xb14ac143,0xe4d8c4d1
-.long 0xb055cb40,0xbdb8e675,0x977b5167,0x898f8e7b,0xb82fb863,0xecc65651,0x6d88f01f,0x56544814,0x263a75a9,0xb0928e95,0x1a22fcda,0xcfb6836f,0x3f3bd37c,0x651d14db,0xb6ad4664,0x1d3837fb
-.long 0xff4f94ab,0x7c5fb538,0x6d7fb8f2,0x7243c712,0xa85c5287,0xef13d60c,0x4bb8dd1b,0x18cfb7c7,0x72908219,0x82f9bfe6,0x9d5144ab,0x35c4592b,0x9cf4b42f,0x52734f37,0x8c60ddc4,0x6bac55e7
-.long 0x94dea0f6,0xb5cd811e,0xe18cc1a3,0x259ecae4,0x15e660f8,0x6a0e836e,0x0e02bff2,0x6c639ea6,0x7e1026fd,0x8721b8cb,0x63261942,0x9e73b50b,0x77f01da3,0xb8c70974,0x8268f57f,0x1839e6a6
-.long 0x5150b805,0x571b9415,0xf92c7097,0x1892389e,0x4a084b95,0x8d69c18e,0xbe5b495c,0x7014c512,0x1b07523c,0x4780db36,0x2c1c64fa,0x2f6219ce,0x602c105a,0xc38b81b0,0x5dc8e360,0xab4f4f20
-.long 0xcf7d62d2,0x20d3c982,0x23ba8150,0x1f36e29d,0x92763f9e,0x48ae0bf0,0x1d3a7007,0x7a527e6b,0x581a85e3,0xb4a89097,0xdc158be5,0x1f1a520f,0x167d726e,0xf98db37d,0x1113e862,0x8802786e
-.long 0x36f09ab0,0xefb2149e,0x4a10bb5b,0x03f163ca,0x06e20998,0xd0297045,0x1b5a3bab,0x56f0af00,0x70880e0d,0x7af4cfec,0xbe3d913f,0x7332a66f,0x7eceb4bd,0x32e6c84a,0x9c228f55,0xedc4a79a
-.long 0xc55c4496,0xc37c7dd0,0x25bbabd2,0xa6a96357,0xadd7f363,0x5b7e63f2,0x2e73f1df,0x9dce3782,0xb2b91f71,0xe1e5a16a,0x5ba0163c,0xe4489823,0xf6e515ad,0xf2759c32,0x8615eecf,0xa5e2f1f8
-.long 0xabded551,0x74519be7,0xc8b74410,0x03d358b8,0x0e10d9a9,0x4d00b10b,0x28da52b7,0x6392b0b1,0x0b75c904,0x6744a298,0xa8f7f96c,0xc305b0ae,0x182cf932,0x042e421d,0x9e4636ca,0xf6fc5d50
-.long 0xd64cc78c,0x795847c9,0x9b6cb27b,0x6c50621b,0xdf8022ab,0x07099bf8,0xc04eda1d,0x48f862eb,0xe1603c16,0xd12732ed,0x5c9a9450,0x19a80e0f,0xb429b4fc,0xe2257f54,0x45460515,0x66d3b2c6
-.long 0x822e37be,0x6ca4f87e,0x253bda4e,0x73f237b4,0x41190aeb,0xf747f3a2,0x804cf284,0xf06fa36f,0xfc621c12,0x0a6bbb6e,0x40b80ec6,0x5d624b64,0x7ba556f3,0x4b072425,0x3e2d20a8,0x7fa0c354
-.long 0xe3229d41,0xe921fa31,0x94531bd4,0xa929c652,0xa6d38209,0x84156027,0x6bdb97bd,0xf3d69f73,0x16833631,0x8906d19a,0x03d51be3,0x68a34c2e,0x0e511cd8,0xcb59583b,0xfdc132a8,0x99ce6bfd
-.long 0xffcdb463,0x3facdaaa,0x34a38b08,0x658bbc1a,0xf1a9078d,0x12a801f8,0x6ab855de,0x1567bcf9,0x3572359b,0xe08498e0,0x8659e68b,0xcf0353e5,0x7d23807c,0xbb86e9c8,0x2198e8a2,0xbc08728d
-.long 0x453cadd6,0x8de2b7bc,0xbc0bc1f8,0x203900a7,0xa6abd3af,0xbcd86e47,0x8502effb,0x911cac12,0xec965469,0x2d550242,0x29e0017e,0x0e9f7692,0x65979885,0x633f078f,0x4cf751ef,0xfb87d449
-.long 0xfc25419a,0xe1790e4b,0x4bff3cfd,0x36467203,0x25b6e83f,0xc8db6386,0x6cad6fd2,0x6cc69f23,0x6bc68bb9,0x0219e45a,0x297f7334,0xe43d79b6,0x465dc97c,0x7d445368,0x2a0b949a,0x4b9eea32
-.long 0x6102d021,0x1b96c6ba,0x2f4461ea,0xeaafac78,0xc49f19a8,0xd4b85c41,0xcf538875,0x275c28e4,0xdd2e54e0,0x35451a9d,0x0605618b,0x6991adb5,0x7b36cd24,0x5b8b4bcd,0x56f37216,0x372a4f8c
-.long 0xa6a5da60,0xc890bd73,0xdc4c9ff0,0x6f083da0,0xf0536e57,0xf4e14d94,0xaaec8243,0xf9ee1eda,0x8bdcf8e7,0x571241ec,0x0b041e26,0xa5db8271,0xe3fff040,0x9a0b9a99,0x7c271202,0xcaaf21dd
-.long 0x4f0dd2e8,0xb4e2b2e1,0x0a377ac7,0xe77e7c4f,0x0d7a2198,0x69202c3f,0x28200eb8,0xf759b7ff,0xdcfe314e,0xc87526ed,0x53d5cf99,0xeb84c524,0x515138b6,0xb1b52ace,0x23fca3f4,0x5aa7ff8c
-.long 0xb9791a26,0xff0b13c3,0xcdd58b16,0x960022da,0x57aad2de,0xdbd55c92,0xf30fe619,0x3baaaaa3,0x0d881efd,0x9a4b2346,0x46325e2a,0x506416c0,0x035c18d4,0x91381e76,0xf27817b0,0xb3bb68be
-.long 0x5116f937,0x15bfb8bf,0xc1268943,0x7c64a586,0x8419a2c8,0x71e25cc3,0x8335f463,0x9fd6b0c4,0xe8ee0e0e,0x4bf0ba3c,0x298c21fa,0x6f6fba60,0xae66bee0,0x57d57b39,0x22672544,0x292d5130
-.long 0xbab093b3,0xf451105d,0x02839986,0x012f59b9,0x3474a89c,0x8a915802,0x2de03e97,0x048c919c,0x91071cd5,0xc476a2b5,0x034970a5,0x791ed89a,0xe1b7994b,0x89bd9042,0xa1057ffd,0x8eaf5179
-.long 0xd551ee10,0x6066e2a2,0x727e09a6,0x87a8f1d8,0x2c01148d,0x00d08bab,0x424f33fe,0x6da8e4f1,0xcf9a4e71,0x466d17f0,0x3bf5cb19,0xff502010,0xd062ecc0,0xdccf97d8,0x81d80ac4,0x80c0d9af
-.long 0x033f2876,0xe87771d8,0x7d5cc3db,0xb0186ec6,0x3bc9bc1d,0x58e8bb80,0x6f6ef60e,0x4d1395cc,0x186244a0,0xa73c62d6,0x110a5b53,0x918e5f23,0x741b7eab,0xed4878ca,0xdbe03e51,0x3038d71a
-.long 0xa93c3246,0x840204b7,0xa0b9b4cd,0x21ab6069,0xb1d64218,0xf5fa6e2b,0xf3d56191,0x1de6ad0e,0xff1929c7,0x570aaa88,0x640e87b5,0xc6df4c6b,0xc65f0ccc,0xde8a74f2,0xe6f6cc01,0x8b972fd5
-.long 0x0b846531,0x3fff36b6,0x10a5e475,0xba7e45e6,0x4145b6c5,0x84a1d10e,0x5e046d9d,0xf1f7f91a,0x44de90d7,0x0317a692,0xf199c15e,0x951a1d4a,0xc9d73deb,0x91f78046,0xfab8224f,0x74c82828
-.long 0xe7560b90,0xaa6778fc,0xa7e824ce,0xb4073e61,0xd642eba8,0xff0d693c,0x5dccef38,0x7ce2e57a,0x1df1ad46,0x89c2c789,0x098346fd,0x83a06922,0xda2fc177,0x2d715d72,0x85b6cf1d,0x7b6dd71d
-.long 0x73fa9cb0,0xc60a6d0a,0x328bf5a9,0xedd3992e,0x832c8c82,0xc380ddd0,0xa2a0bf50,0xd182d410,0xd9a528db,0x7d9d7438,0xcaf53994,0xe8b1a0e9,0x0e19987c,0xddd6e5fe,0x190b059d,0xacb8df03
-.long 0x8300129f,0x53703a32,0x68c43bfd,0x1f637662,0x00e54051,0xbcbd1913,0x7bf5a8c5,0x812fcc62,0x29fb85da,0x3f969d5f,0x694759e8,0x72f4e00a,0x790726b7,0x426b6e52,0x3bdbb209,0x617bbc87
-.long 0x97aee317,0x511f8bb9,0xe81536a8,0x812a4096,0x3ac09b9b,0x137dfe59,0xba8c9a7a,0x0682238f,0xaeccb4bd,0x7072ead6,0x692ba633,0x6a34e9aa,0x6fff9d33,0xc82eaec2,0x1d4d2b62,0xfb753512
-.long 0x1d7aadab,0x1a0445ff,0xd5f6a67c,0x65d38260,0x91cfb26f,0x6e62fb08,0x5c7d91d6,0xef1e0fa5,0x33db72cd,0x47e7c7ba,0xfa7c74b2,0x017cbc09,0xf50a503c,0x3c931590,0x616baa42,0xcac54f60
-.long 0xb2369f0f,0x9b6cd380,0x23c76151,0x97d3a70d,0x9862a9c6,0x5f9dd6fc,0x12312f51,0x044c4ab2,0x834a2ddc,0x035ea0fd,0xcc7b826d,0x49e6b862,0x62fce490,0xb03d6883,0xb37e36e9,0x62f2497a
-.long 0xc6458293,0x04b005b6,0xe8d10af7,0x36bb5276,0x8ee617b8,0xacf2dc13,0xb004b3d4,0x470d2d35,0xfeeb1b77,0x06790832,0x85657f9c,0x2bb75c39,0xc0f60004,0xd70bd4ed,0x219b018b,0xfe797ecc
-.long 0x753aebcc,0x9b5bec2a,0xc939eca5,0xdaf9f3dc,0xd095ad09,0xd6bc6833,0xdaa4d2fc,0x98abdd51,0x8d168be5,0xd9840a31,0x2325a23c,0xcf7c10e0,0x7e6ecfaf,0xa5c02aa0,0xb5bfdf18,0x2462e7e6
-.long 0xa0cc3f12,0xab2d8a8b,0xbc672a29,0x68dd485d,0x596f2cd3,0x72039752,0xa0cf3d8d,0x5d3eea67,0xe6602671,0x810a1a81,0x14026c0c,0x8f144a40,0x76b50f85,0xbc753a6d,0x645cd4a4,0xc4dc21e8
-.long 0x521d0378,0xc5262dea,0x05011c6f,0x802b8e0e,0x0b4c19ea,0x1ba19cbb,0xebf0aaec,0x21db64b5,0x70342f9d,0x1f394ee9,0x1bc44a14,0x93a10aee,0x3efd0baa,0xa7eed31b,0x1d154e65,0x6e7c824e
-.long 0x9966e7ee,0xee23fa81,0x05b7920d,0x64ec4aa8,0x2d90aad4,0x2d44462d,0xdf277ad5,0xf44dd195,0xbb46b6a1,0x8d6471f1,0xfd885090,0x1e65d313,0x13a977b4,0x33a800f5,0x0797e1ef,0xaca9d721
-.long 0xfcff6a17,0x9a5a85a0,0x1eca7cee,0x9970a3f3,0xc9504be3,0xbb9f0d6b,0xadd24ee2,0xe0c504be,0x77fcc2f4,0x7e09d956,0x65bb5fc4,0xef1a5227,0x8b9286aa,0x145d4fb1,0x6649028b,0x66fd0c5d
-.long 0x1bf4581c,0x98857ceb,0xaca7b166,0xe635e186,0x659722ac,0x278ddd22,0x1db68007,0xa0903c4c,0x48f21402,0x366e4589,0xb96abda2,0x31b49c14,0xe0403190,0x329c4b09,0xd29f43fe,0x97197ca3
-.long 0x274983d8,0x8073dd1e,0x55717c8f,0xda1a3bde,0x0361f9d1,0xfd3d4da2,0x4c7de1ce,0x1332d081,0xaa6d0e10,0x9b7ef7a3,0xf54f1c4a,0x17db2e73,0x4cd35567,0xaf3dffae,0xe56f4e71,0xaaa2f406
-.long 0x7ace3fc7,0x8966759e,0x45a8d8c6,0x9594eacf,0x91834e0e,0x8de3bd8b,0x548c0421,0xafe4ca53,0xe6ee81c6,0xfdd7e856,0x6b891a3a,0x8f671beb,0xfae63829,0xf7a58f2b,0x9c11ac9f,0x9ab186fb
-.long 0x10b5be76,0x8d6eb369,0xfb040bcd,0x046b7739,0xcb73de88,0xccb4529f,0xcf26be03,0x1df0fefc,0xbcfcd027,0xad7757a6,0xbb3165ca,0xa8786c75,0x7e99a4d9,0xe9db1e34,0xb06c504b,0x99ee86df
-.long 0xc15c9f0a,0x5b7c2ddd,0x4295989e,0xdf87a734,0x03d08fda,0x59ece47c,0xad5fc702,0xb074d3dd,0x51a03776,0x20407903,0x2a608007,0x2bb1f77b,0xe1153185,0x25c58f4f,0x766e6447,0xe6df62f6
-.long 0xed51275a,0xefb3d1be,0x2f0f483f,0x5de47dc7,0x97c2bedf,0x7932d98e,0x0219f8a1,0xd5c11927,0xa73a294e,0x9d751200,0x9dc20172,0x5f88434a,0xa26f506a,0xd28d9fd3,0x9d1dcd48,0xa890cd31
-.long 0x70f4d3b4,0x0aebaec1,0x0ffc8d00,0xfd1a1369,0x57d57838,0xb9d9c240,0x68bac361,0x45929d26,0x25b15ca6,0x5a2cd060,0x6e474446,0x4b3c83e1,0xee1e5134,0x1aac7578,0xc91e2f41,0xa418f5d6
-.long 0x213ed68b,0x6936fc8a,0x510a5224,0x860ae7ed,0xdef09b53,0x63660335,0xcd79c98d,0x641b2897,0x01110f35,0x29bd38e1,0x648b1937,0x79c26f42,0x9d9164f4,0x64dae519,0x0265c273,0xd85a2310
-.long 0x4b07e2b1,0x7173dd5d,0x8d9ea221,0xd144c4cb,0x1105ab14,0xe8b04ea4,0xfe80d8f1,0x92dda542,0xcf03dce6,0xe9982fa8,0x1a22cffc,0x8b5ea965,0x3fad88c4,0xf7f4ea7f,0x6a5ba95c,0x62db773e
-.long 0x93f24567,0xd20f02fb,0x315257ca,0xfd46c69a,0x8bcab987,0x0ac74cc7,0x5ceca2f5,0x46f31c01,0x888b219e,0x40aedb59,0xe1fccd02,0xe50ecc37,0x911f816c,0x1bcd9dad,0x8db9b00c,0x583cc1ec
-.long 0xa483bf11,0xf3cd2e66,0xb1b2c169,0xfa08a6f5,0x4be9fa28,0xf375e245,0x5b6d011f,0x99a7ffec,0xc4ae62da,0x6a3ebddb,0x374aef5d,0x6cea00ae,0x9d4d05bc,0xab5fb98d,0xd560f252,0x7cba1423
-.long 0x208490de,0x49b2cc21,0xbcfb2879,0x1ca66ec3,0x1b6fb16f,0x7f1166b7,0x65fe5db3,0xfff63e08,0x8b2610be,0xb8345abe,0x39de3df4,0xb732ed80,0x211c32b4,0x0e24ed50,0x848ff27d,0xd10d8a69
-.long 0xed4de248,0xc1074398,0x10488927,0xd7cedace,0x85673e13,0xa4aa6bf8,0x6daf30af,0xb46bae91,0xfcef7ad8,0x07088472,0xd4b35e97,0x61151608,0xdde29986,0xbcfe8f26,0xd5a34c79,0xeb84c4c7
-.long 0x164e1214,0xc1eec55c,0xa147bb03,0x891be86d,0x0ba96835,0x9fab4d10,0xa5c1ae9f,0xbf01e9b8,0xb186ebc0,0x6b4de139,0x85b91bca,0xd5c74c26,0xc2d93854,0x5086a99c,0xa7a9dfbc,0xeed62a7b
-.long 0x76b7618a,0x8778ed6f,0x03b66062,0xbff750a5,0xb65186db,0x4cb7be22,0xcc3a6d13,0x369dfbf0,0x7191a321,0xc7dab26c,0x40ed718e,0x9edac3f9,0xd0cfd183,0xbc142b36,0x7c991693,0xc8af82f6
-.long 0x97ce0b2a,0xb3d1e4d8,0xc3a55cdf,0xe6d7c87f,0x68b81afe,0x35846b95,0xd3c239d8,0x018d12af,0x01206e15,0x2b2c6208,0xa3b882c6,0xe0e42453,0xa50162d5,0x854470a3,0x7017a62a,0x08157478
-.long 0x820357c7,0x18bd3fb4,0x6f1458ad,0x992039ae,0x25b44aa1,0x9a1df3c5,0xed3d5281,0x2d780357,0xc77ad4d4,0x58cf7e4d,0xf9df4fc4,0xd49a7998,0x1d71205e,0x4465a8b5,0x649254aa,0xa0ee0ea6
-.long 0xab7bd771,0x4b5eeecf,0x35c262b9,0x6c873073,0x3c9d61e7,0xdc5bd648,0x321460d2,0x233d6d54,0xfc195bcc,0xd20c5626,0x04d78b63,0x25445958,0x17ec8ef3,0xe03fcb3d,0x46b8f781,0x54b690d1
-.long 0x21230646,0x82fa2c8a,0x084f418c,0xf51aabb9,0x1a30ba43,0xff4fbec1,0x743c9df7,0x6a5acf73,0xd635b4d5,0x1da2b357,0xecd5c1da,0xc3de68dd,0xd61af0dd,0xa689080b,0xd665bf99,0xdea5938a
-.long 0xfe637294,0x0231d71a,0xa5a81cd8,0x01968aa6,0x048e63b5,0x11252d50,0x6ca007e9,0xc446bc52,0x96d6134b,0xef8c50a6,0x9e09a05c,0x9361fbf5,0xdca3291a,0xf17f85a6,0xff251a21,0xb178d548
-.long 0xa4df3915,0x87f6374b,0x2fd5d608,0x566ce1bf,0x7de35102,0x425cba4d,0x58c5d5e2,0x6b745f8f,0x63122edf,0x88402af6,0x3b989a89,0x3190f9ed,0xebba3156,0x4ad3d387,0xc7c469a5,0xef385ad9
-.long 0x3f642c29,0xb08281de,0x910ffb88,0x20be0888,0xd5292546,0xf353dd4a,0x8377a262,0x3f1627de,0xeefcd638,0xa5faa013,0x74cc77c3,0x8f3bf626,0xa348f55e,0x32618f65,0x9fefeb9e,0x5787c0dc
-.long 0xd9a23e44,0xf1673aa2,0x4e10690d,0x88dfa993,0x2bf91108,0x1ced1b36,0x3af48649,0x9193ceca,0x2d738fc5,0xfb34327d,0x975fee6c,0x6697b037,0xc04079a5,0x2f485da0,0x2feaa1ac,0x2cdf5735
-.long 0xbd55659e,0x76944420,0x4376090c,0x7973e32b,0x163b591a,0x86bb4fe1,0xc196f0ca,0x10441aed,0x045ad915,0x3b431f4a,0xa4afacb1,0x6c11b437,0x71fdbbd8,0x30b0c7db,0xeda65acd,0xb642931f
-.long 0x9c92b235,0x4baae6e8,0x6b3993a1,0xa73bbd0e,0x693dd031,0xd06d60ec,0x7156881c,0x03cab91b,0x1db3574b,0xd615862f,0x64bb061a,0x485b0185,0xa0181e06,0x27434988,0xc1c0c757,0x2cd61ad4
-.long 0x2ff9f403,0x3effed5a,0x62239029,0x8dc98d8b,0x1f17b70d,0x2206021e,0xbf510015,0xafbec0ca,0x80130dfa,0x9fed7164,0x8a02dcf5,0x306dc2b5,0xfeb10fc0,0x48f06620,0x5a57cf51,0x78d1e1d5
-.long 0x192ef710,0xadef8c5a,0x3b7431f9,0x88afbd4b,0x64250c9e,0x7e1f7407,0xb58bec07,0x6e31318d,0x24f89b4e,0xfd4fc4b8,0x48c36a2a,0x65a5dd88,0xf024baa7,0x4f1eccff,0xcba94650,0x22a21cf2
-.long 0x42a554f7,0x95d29dee,0x002ec4ba,0x828983a5,0x8badb73d,0x8112a1f7,0xa27c1839,0x79ea8897,0xd065fd83,0x8969a5a7,0xb262a0bc,0xf49af791,0xaf2b5127,0xfcdea8b6,0x564c2dbc,0x10e913e1
-.long 0xbc21ef51,0x51239d14,0x4ce57292,0xe51c3ceb,0x47bbcc3b,0x795ff068,0xbd7e11e6,0x86b46e1e,0x80041ef4,0x0ea6ba23,0x6262342e,0xd72fe505,0x31d294d4,0x8abc6dfd,0x1278c2c9,0xbbe017a2
-.long 0xb389328a,0xb1fcfa09,0xd01771b5,0x322fbc62,0x60b045bf,0x04c0d063,0x10e52d01,0xdb652edc,0x03ec6627,0x50ef932c,0xc1ee50e3,0xde1b3b2d,0xdc37a90d,0x5ab7bdc5,0x31e33a96,0xfea67213
-.long 0x4f2999aa,0x6482b5cb,0xb8cbf0dd,0x38476cc6,0x173405bb,0x93ebfacb,0xe52369ec,0x15cdafe7,0xd935b7db,0xd42d5ba4,0x1c99a4cd,0x648b6004,0xa3b5545b,0x785101bd,0x9dd67faf,0x4bf2c38a
-.long 0x4442449c,0xb1aadc63,0x33ad4fb8,0xe0e9921a,0xaa686d82,0x5c552313,0x465d866c,0xdee635fa,0x18ee6e8a,0xbc3c224a,0xed42e02f,0xeed748a6,0xd474cd08,0xe70f930a,0xfff24adf,0x774ea6ec
-.long 0xf3480d4a,0x03e2de1c,0xbc8acf1a,0xf0d8edc7,0x68295a9c,0xf23e3303,0xc546a97d,0xfadd5f68,0x96f8acb1,0x895597ad,0x671bdae2,0xbddd49d5,0x21dd43f4,0x16fcd528,0x6619141a,0xa5a45412
-.long 0xc360e25a,0x8ce9b6bf,0x075a1a78,0xe6425195,0x481732f4,0x9dc756a8,0x5432b57a,0x83c0440f,0xd720281f,0xc670b3f1,0xd135e051,0x2205910e,0xdb052be7,0xded14b0e,0xc568ea39,0x697b3d27
-.long 0xfb3ff9ed,0x2e599b9a,0x17f6515c,0x28c2e0ab,0x474da449,0x1cbee4fd,0x4f364452,0x071279a4,0x01fbe855,0x97abff66,0x5fda51c4,0x3ee394e8,0x67597c0b,0x190385f6,0xa27ee34b,0x6e9fccc6
-.long 0x14092ebb,0x0b89de93,0x428e240c,0xf17256bd,0x93d2f064,0xcf89a7f3,0xe1ed3b14,0x4f57841e,0xe708d855,0x4ee14405,0x03f1c3d0,0x856aae72,0xbdd7eed5,0xc8e5424f,0x73ab4270,0x3333e4ef
-.long 0xdda492f8,0x3bc77ade,0x78297205,0xc11a3aea,0x34931b4c,0x5e89a3e7,0x9f5694bb,0x17512e2e,0x177bf8b6,0x5dc349f3,0x08c7ff3e,0x232ea4ba,0xf511145d,0x9c4f9d16,0x33b379c3,0xccf109a3
-.long 0xa1f25897,0xe75e7a88,0xa1b5d4d8,0x7ac6961f,0x08f3ed5c,0xe3e10773,0x0a892dfb,0x208a54ec,0x78660710,0xbe826e19,0x237df2c8,0x0cf70a97,0xed704da5,0x418a7340,0x08ca33fd,0xa3eeb9a9
-.long 0x169bca96,0x49d96233,0x2da6aafb,0x04d286d4,0xa0c2fa94,0xc09606ec,0x23ff0fb3,0x8869d0d5,0xd0150d65,0xa99937e5,0x240c14c9,0xa92e2503,0x108e2d49,0x656bf945,0xa2f59e2b,0x152a733a
-.long 0x8434a920,0xb4323d58,0x622103c5,0xc0af8e93,0x938dbf9a,0x667518ef,0x83a9cdf2,0xa1843073,0x5447ab80,0x350a94aa,0xc75a3d61,0xe5e5a325,0x68411a9e,0x74ba507f,0x594f70c5,0x10581fc1
-.long 0x80eb24a9,0x60e28570,0x488e0cfd,0x7bedfb4d,0xc259cdb8,0x721ebbd7,0xbc6390a9,0x0b0da855,0xde314c70,0x2b4d04db,0x6c32e846,0xcdbf1fbc,0xb162fc9e,0x33833eab,0xb0dd3ab7,0x9939b48b
-.long 0xcb0c9c8c,0x5aaa98a7,0x81c4375c,0x75105f30,0x5ef1c90f,0xceee5057,0xc23a17bf,0xb31e065f,0xd4b6d45a,0x5364d275,0x62ec8996,0xd363f3ad,0x4391c65b,0xb5d21239,0xebb41b47,0x84564765
-.long 0x37107c78,0x20d18ecc,0x570c2a66,0xacff3b6b,0x9bd0d845,0x22f975d9,0xba178fa0,0xef0a0c46,0x76b6028e,0x1a419651,0x248612d4,0xc49ec674,0x7338af55,0x5b6ac4f2,0x7bee5a36,0x06145e62
-.long 0xe75746b5,0x33e95d07,0xc40c78be,0x1c1e1f6d,0x222ff8e2,0x967833ef,0xb49180ad,0x4bedcf6a,0x3d7a4c8a,0x6b37e9c1,0x6ddfe760,0x2748887c,0xaa3a5bbc,0xf7055123,0x7bbb8e74,0x954ff225
-.long 0x97c3dfb9,0xc42b8ab1,0xcf168154,0x55a549b0,0xc1b50692,0xad6748e7,0x6fc5cbcb,0x2775780f,0xe1c9d7c8,0x4eab80b8,0x3fdbcd56,0x8c69dae1,0x9969eace,0x47e6b4fb,0xa705cb5a,0x002f1085
-.long 0x6d3fea55,0x4e23ca44,0xf4810568,0xb4ae9c86,0x2a62f27d,0x47bfb91b,0xd9bac28c,0x60deb4c9,0x7de6c34c,0xa892d894,0x4494587d,0x4ee68259,0x1a3f8a5b,0x914ee14e,0x28700385,0xbb113eaa
-.long 0x2115b4c9,0x81ca03b9,0x8908cad1,0x7c163d38,0xaa18179a,0xc912a118,0x886e3081,0xe09ed750,0x26f516ca,0xa676e3fa,0x8e732f91,0x753cacf7,0x833da8b4,0x51592aea,0x4cbea8aa,0xc626f42f
-.long 0xa7b56eaf,0xef9dc899,0x34ef7316,0x00c0e52c,0xfe818a86,0x5b1e4e24,0xc538be47,0x9d31e20d,0x3ed68974,0x22eb932d,0x7c4e87c4,0xe44bbc08,0x0dde9aef,0x4121086e,0x134f4345,0x8e6b9cff
-.long 0x711b0eb9,0x96892c1f,0x780ab954,0xb905f2c8,0xa20792db,0xace26309,0x0684e126,0xec8ac9b3,0xb40a2447,0x486ad8b6,0x9fe3fb24,0x60121fc1,0x1a8e3b3f,0x5626fccf,0x6ad1f394,0x4e568622
-.long 0x196aa5a1,0xda7aae0d,0x1041b5fb,0xe0df8c77,0x26b318b7,0x451465d9,0x7ab136e9,0xc29b6e55,0x71148463,0x2c2ab48b,0x64454a76,0xb5738de3,0x5a03abe4,0x54ccf9a0,0x0427d58e,0x377c0296
-.long 0x2bb39c1f,0x73f5f0b9,0xe608d8c5,0x14373f2c,0x00fbb805,0xdcbfd314,0x83afdcfb,0xdf18fb20,0x42b3523f,0x81a57f42,0x87f650fb,0xe958532d,0x8b0a7d7c,0xaa8dc8b6,0x150166be,0x1b75dfb7
-.long 0x2d7d1413,0x90e4f7c9,0x9834f597,0x67e2d6b5,0xa808c3e8,0x4fd4f4f9,0xd5281ec1,0xaf8237e0,0x84687cee,0x25ab5fdc,0xa5b26c09,0xc5ded6b1,0xc8ea7650,0x8e4a5aec,0x14cc417f,0x23b73e5c
-.long 0x3037bf52,0x2bfb4318,0x78c725d7,0xb61e6db5,0xbbb3e5d7,0x8efd4060,0xdbac488e,0x2e014701,0x360aa449,0xac75cf9a,0x79634d08,0xb70cfd05,0xfffb15ef,0xa591536d,0xd07c106c,0xb2c37582
-.long 0xf50225f9,0xb4293fdc,0xb0e12b03,0xc52e175c,0xd0a8bf64,0xf649c3ba,0xeb8ae3c6,0x745a8fef,0x58321bc3,0x30d7e5a3,0x0bc4df48,0xb1732be7,0xe9ea5058,0x1f217993,0x3e4fd745,0xf7a71cde
-.long 0x894c5bbb,0x86cc533e,0x69d83082,0x6915c7d9,0x5815c244,0xa6aa2d05,0x49b22ce5,0xaeeee592,0x78135486,0x89e39d13,0x16b76f2f,0x3a275c1f,0xe036e8f5,0xdb6bcc1b,0x5e4709f5,0x4df69b21
-.long 0x2d0f39aa,0xa188b250,0x15a85947,0x622118bb,0xfde0f4fa,0x2ebf520f,0x4860e539,0xa40e9f29,0x22b57f0f,0x7b6a51eb,0x7e80644a,0x849a33b9,0x1cf095fe,0x50e5d16f,0xec55f002,0xd754b54e
-.long 0x236f4a98,0x5cfbbb22,0x066800bb,0x0b0c59e9,0x5a9a7774,0x4ac69a8f,0xd6bec948,0x2b33f804,0x32e6c466,0xb3729295,0x4e599c73,0x68956d0f,0x155c31cc,0xa47a249f,0xe1ce284e,0x24d80f0d
-.long 0x988baf01,0xcd821dfb,0xdbb16647,0xe6331a7d,0x094cb960,0x1eb8ad33,0xc91bbca5,0x593cca38,0x26567456,0x384aac8d,0xc04b6490,0x40fa0309,0xdab6c8f6,0x97834cd6,0x3f91e55f,0x68a7318d
-.long 0xfc4d3157,0xa00fd04e,0x2bf3bdea,0xb56f8ab2,0x4fa57172,0x014f5648,0x450abdb3,0x948c5860,0x0ebd4f08,0x342b5df0,0x0e82938e,0x3e5168cd,0xb0df5dd0,0x7aedc1ce,0xe5732516,0x6bbbc6d9
-.long 0x605daaa6,0xc7bfd486,0xbb9a6c9e,0x46fd72b7,0xa124fb89,0xe4847fb1,0xa2d8ffbc,0x75959cbd,0xc8a588ee,0x42579f65,0xb80b499d,0x368c92e6,0x999a5df1,0xea4ef6cd,0x936fe604,0xaa73bb7f
-.long 0x6457d188,0xf347a70d,0x8b7a388b,0x86eda86b,0x0ccd6013,0xb7cdff06,0xd0053fb2,0xbeb1b6c7,0x99240a9f,0x0b022387,0x776189b2,0x1bbb384f,0x9066193a,0x8695e71e,0x06ffac7e,0x2eb50097
-.long 0x4a7d2caa,0x0654a9c0,0xa5aaa290,0x6f3fb3d1,0xff476e8f,0x835db041,0xc42295e4,0x540b8b0b,0x05e214f5,0xa5c73ac9,0x56a0b638,0x9a74075a,0xce9e680b,0x2e4b1090,0x6b8d9afa,0x57a5b479
-.long 0x26bfe65c,0x0dca48e7,0x7290c307,0x097e391c,0x6669e72e,0x683c462e,0x062559ac,0xf505be1e,0xe3a3035a,0x5fbe3ea1,0x9cd50da8,0x6431ebf6,0x1f6407f2,0xfd169d5c,0x60fce6b8,0x8d838a95
-.long 0x650006f0,0x2a2bfa7f,0x50c0fbb2,0xdfd7dad3,0xccf9ad96,0x92452495,0xd95635f9,0x183bf494,0x4a7bd989,0x02d5df43,0xa5431095,0x505385cc,0xfd43f53e,0xdd98e67d,0x500c34a9,0xd61e1a6c
-.long 0x4a8a3d62,0x5a4b46c6,0x247743d2,0x8469c4d0,0x88f7e433,0x2bb3a13d,0x01be5849,0x62b23a10,0xa63d1a4c,0xe83596b4,0x7d183f3e,0x454e7fea,0x17afb01c,0x643fce61,0x1c4c3638,0x4e65e5e6
-.long 0xef74c45b,0x41d85ea1,0xae328506,0x2cfbfa66,0x3ada7da9,0x98b078f5,0xec752fbb,0xd985fe37,0x5a0148b4,0xeece68fe,0x2d78136d,0x6f9a55c7,0xd2b729ce,0x232dccc4,0x90aafbc4,0xa27e0dfd
-.long 0x12b4603e,0x96474452,0x6b706d14,0xa876c551,0x69a9d412,0xdf145fcf,0x2d479c34,0xe2ab75b7,0x1a23ff97,0x12df9a76,0x5d359d10,0xc6138992,0xfa835f22,0x6e51c7ae,0xc0fcc4d9,0x69a79cb1
-.long 0x594cc7e1,0xf57f350d,0x3350ab79,0x3079ca63,0x9aff594a,0x226fb614,0x6d59a62b,0x35afec02,0x06ed2c6e,0x9bee46f4,0x7d939a57,0x58da1735,0x8fd1797e,0x44c50402,0x5ccea6ca,0xd8853e7c
-.long 0xa35fcd5f,0x4065508d,0x495ccaeb,0x8965df8c,0x12e1a962,0x0f2da850,0xc1cf1cc4,0xee471b94,0x0a08fb75,0xcef19bc8,0x81de3591,0x704958f5,0x3aef4f88,0x2867f8b2,0xea9f9a5f,0x8d749384
-.long 0x8c9049f4,0x1b385537,0x7b92d8b6,0x5be948f3,0xb6e2bd6b,0xd96f725d,0x958c454d,0x37a222bc,0x8809bf61,0xe7c61abb,0x1346f18d,0x46f07fbc,0xe87c0d1c,0xfb567a7a,0x7ef3d07a,0x84a461c8
-.long 0xd9278d98,0x0a5adce6,0x9dfc73e1,0x24d94813,0x054321c3,0x4f3528b6,0x692ea706,0x2e03fdde,0x47b533c0,0x10e60619,0x2ca3c055,0x1a8bc73f,0x1bb62b8f,0xae58d4b2,0x584a24e3,0xb2045a73
-.long 0xbd76e195,0x3ab3d5af,0x6938a810,0x478dd1ad,0x6ee3d5cb,0x6ffab393,0x22b361e4,0xdfb693db,0x51dbf1a7,0xf9694496,0x08a2e762,0xcab4b4ef,0xd39bba9a,0xe8c92f25,0xf1464d96,0x850e61bc
-.long 0xdc09508b,0xb7e830e3,0x74317655,0xfaf6d2cf,0xdf690355,0x72606ceb,0xd0c3ded6,0x48bb92b3,0x5c7cf892,0x65b75484,0xd5d5f01f,0xf6cd7ac9,0x96401d69,0xc2c30a59,0xed921878,0x91268650
-.long 0xb78c558f,0x380bf913,0xc8afdaa9,0x43c0baeb,0x54f169d3,0x377f61d5,0xae5ff20b,0xf8da07e3,0xa8a90ea8,0xb676c49d,0x83a29b21,0x81c1ff2b,0x2ad8d276,0x383297ac,0xba89f982,0x3001122f
-.long 0x6718e448,0xe1d794be,0x7c3e6e13,0x246c1482,0x5d26b5ef,0x56646ef8,0x88069cdd,0x80f5091e,0x724bdd38,0xc5992e2f,0x8471e8c7,0x02e915b4,0x0d0ff2a9,0x96ff320a,0x4384d1a0,0xbf886487
-.long 0xc93f72d6,0xbbe1e6a6,0xcad800ea,0xd5f75d12,0xe7acf117,0xfa40a09f,0x7581a355,0x32c8cdd5,0x7023c499,0x74221992,0x38ec3901,0xa8afe5d7,0xa90e83f0,0x5691afcb,0x0b8f8eac,0x41bcaa03
-.long 0x8d2668d5,0xe38b5ff9,0x7ad81965,0x0715281a,0x03c6ce11,0x1bc8fc7c,0x8b650436,0xcbbee6e2,0x0cdb9808,0x06b00fe8,0xfe3ed315,0x17d6e066,0x4d0b5018,0x2e9d38c6,0x844dcaef,0xab8bfd56
-.long 0x513aed8b,0x42894a59,0x314bd07a,0xf77f3b6d,0x8e42b582,0xbbdecb8f,0xd2390fe6,0xf10e2fa8,0x62a2f201,0xefb95022,0x50ee32b0,0x4d59ea50,0x6da789a8,0xd87f7728,0xf79492c4,0xcf98a2cf
-.long 0x720943c2,0xf9577239,0x3990b9d0,0xba044cf5,0x95f2884a,0x5aa8e823,0x0278a0af,0x834de6ed,0x5f25bd12,0xc8e1ee9a,0x6f7ab271,0x9259ceaa,0x77d00b76,0x7e6d97a2,0xa437832a,0x5c0c6eea
-.long 0x5606b81d,0x5232c20f,0x0d991ee5,0xabd7b375,0x8632d951,0x4d2bfe35,0x98ed9364,0x78f85146,0xf30c3282,0x951873f0,0xa789230b,0x0da8ac80,0x5398967f,0x3ac7789c,0xbdda0fb5,0xa69b8f7f
-.long 0x6add8545,0xe5db7717,0x72c49b66,0x1b71cb66,0x68421d77,0xd8560739,0x83e3afea,0x03840fe8,0x1ec69977,0xb391dad5,0x307f6726,0xae243fb9,0xe8ca160c,0xc88ac87b,0x4ce355f4,0x5174cced
-.long 0xe58ba37d,0x98a35966,0x7817335d,0xfdcc8da2,0x83fbc7bf,0x5b752830,0xd9c96984,0x68e419d4,0x02a40380,0x409a39f4,0x1fe977bc,0x88940faf,0x8f8edea6,0xc640a94b,0xed11547d,0x1e22cd17
-.long 0x59ffc3e2,0xe28568ce,0xc1dee4e7,0x60aa1b55,0x837cb363,0xc67497c8,0x105a2bf2,0x06fb438a,0x500d8e20,0x30357ec4,0x0670db10,0x1ad9095d,0xc73b7cfd,0x7f589a05,0x880d6d28,0xf544607d
-.long 0xa20ef103,0x17ba93b1,0x6ba6577b,0xad859130,0x6fa214a0,0x65c91cf6,0x27990da5,0xd7d49c6c,0x20bb569d,0xecd9ec8d,0xeeffbc33,0xbd4b2502,0x6bed0467,0x2056ca5a,0x5b63728c,0x7916a1f7
-.long 0x53a4f566,0xd4f9497d,0x97b56810,0x89734664,0x0494a621,0xf8e1da74,0x8d011c68,0x82546a93,0xc61ac162,0x1f3acb19,0xabad0d3e,0x52f8fa9c,0xb4b7ea43,0x15356523,0xae608125,0x5a16ad61
-.long 0x4faed184,0xb0bcb87f,0x5029f45f,0x5f236b1d,0x0bc6b1fc,0xd42c7607,0x68aefce3,0xc644324e,0x5c5d8446,0x8e191d59,0x13ae1979,0xc0208077,0x3ba59cc7,0xadcaee55,0xa2cb81ba,0x20ed6d6b
-.long 0xb6efcffc,0x0952ba19,0x97c0b87c,0x60f12d68,0x9caa30bc,0x4ee2c7c4,0x97fbff4e,0x767238b7,0x501b5d92,0xebc73921,0xc2a37737,0x3279e3df,0x6d197543,0x9fc12bc8,0x0a40db4e,0xfa94dc6f
-.long 0x530ccbbd,0x7392b41a,0xea823525,0x87c82146,0x05d98d0c,0xa52f984c,0x5ef6974c,0x2ae57d73,0x3042a6dd,0x9377f7bf,0x19647a64,0xb1a007c0,0x0cca9767,0xfaa9079a,0xf68f72d5,0x3d81a25b
-.long 0xff81578e,0x752067f8,0x9045447d,0x78622150,0x0505aa6f,0xc0c22fcf,0x6bed1c77,0x1030f0a6,0x1f0bd739,0x31f29f15,0xe6debe85,0x2d7989c7,0x8e677e98,0x5c070e72,0x06e81fd5,0x0a817bd3
-.long 0xb0f2ac95,0xc110d830,0xab20e64e,0x48d0995a,0x7729cd9a,0x0f3e00e1,0xdd556946,0x2a570c20,0x4e86214d,0x912dbcfd,0xcf615498,0x2d014ee2,0x3530d76e,0x55e2b1e6,0xfd0fd6d1,0xc5135ae4
-.long 0xd4f3049f,0x0066273a,0xe7087477,0xbb8e9893,0x14c6e5fd,0x2dba1ddb,0x51f57e6c,0xdba37886,0x5a72f2cf,0x5aaee0a6,0x7bea5642,0x1208bfbf,0x67872c37,0xf5c6aa3b,0x43f93224,0xd726e083
-.long 0x061f1658,0x1854daa5,0xdf0cd2b3,0xc0016df1,0x833d50de,0xc2a3f23e,0xbbbd3017,0x73b681d2,0x3ac343c0,0x2f046dc4,0x85716421,0x9c847e7d,0x0917eed4,0xe1e13c91,0x63a1b9c6,0x3fc9eebd
-.long 0x7fe02299,0x0f816a72,0x294f3319,0x6335ccc2,0x4745c5be,0x3820179f,0x922f066e,0xe647b782,0x02cafb8a,0xc22e49de,0xfcc2eccc,0x299bc2ff,0x6e0e8282,0x9a8feea2,0xfe893205,0xa627278b
-.long 0x7933e47b,0xa7e19733,0x2e766402,0xf4ff6b13,0x98440d9f,0xa4d8be0a,0x38938808,0x658f5c2f,0xc95b3b3e,0x90b75677,0x3137b6ff,0xfa044269,0x43c47c29,0x077b039b,0x8a6445b2,0xcca95dd3
-.long 0x2333fc4c,0x0b498ba4,0xf736a1b1,0x274f8e68,0x5f1d4b2e,0x6ca348fd,0xa8f10199,0x24d3be78,0xca14f530,0x8535f858,0x5b982e51,0xa6e7f163,0x36e1bf62,0x847c8512,0x03448418,0xf6a7c58e
-.long 0xf9374ab6,0x583f3703,0x6e564145,0x864f9195,0x22526d50,0x33bc3f48,0x1262a496,0x9f323c80,0x3f046a9a,0xaa97a7ae,0xdf8a039a,0x70da183e,0x52aa0ba6,0x5b68f71c,0x21459c2d,0x9be0fe51
-.long 0xcbc613e5,0xc1e17eb6,0x497ea61c,0x33131d55,0xaf7eded5,0x2f69d39e,0xde6af11b,0x73c2f434,0xa4a375fa,0x4ca52493,0xb833c5c2,0x5f06787c,0x3e6e71cf,0x814e091f,0x8b746666,0x76451f57
-.long 0x694db7e0,0x80f9bdef,0xb9fcddc6,0xedca8787,0x03b8dce1,0x51981c34,0x70e10ba1,0x4274dcf1,0x6def6d1a,0xf72743b8,0xebdb1866,0xd25b1670,0x050c6f58,0xc4491e8c,0x87fbd7f5,0x2be2b2ab
-.long 0xd111f8ec,0x3e0e5c9d,0xb7c4e760,0xbcc33f8d,0xbd392a51,0x702f9a91,0xc132e92d,0x7da4a795,0x0bb1151b,0x1a0b0ae3,0x02e32251,0x54febac8,0x694e9e78,0xea3a5082,0xe4fe40b8,0xe58ffec1
-.long 0xd1e0cf9e,0xf85592fc,0xc0e7b2e8,0xdea75f0d,0xc135584e,0xc04215cf,0x2f57092a,0x174fc727,0xeb930bea,0xe7277877,0x5eb02a5a,0x504caccb,0xf5241b9b,0xf9fe08f7,0x8d5ca954,0xe7fb62f4
-.long 0x29c4120b,0xfbb8349d,0xc0d0d915,0x9f94391f,0x5410ba51,0xc4074fa7,0x150a5911,0xa66adbf6,0x34bfca38,0xc164543c,0xb9e1ccfc,0xe0f27560,0xe820219c,0x99da0f53,0xc6b4997a,0xe8234498
-.long 0x9d4c5423,0xcfb88b76,0xb0521c49,0x9e56eb10,0xbe8700a1,0x418e0b5e,0xf93cb58a,0x00cbaad6,0xd92a5e67,0xe923fbde,0x1f347f11,0xca4979ac,0x6bc0585b,0x89162d85,0xac3c70e3,0xdd6254af
-.long 0x516e19e4,0x7b23c513,0xc5c4d593,0x56e2e847,0x5ce71ef6,0x9f727d73,0xf79a44c5,0x5b6304a6,0x3ab7e433,0x6638a736,0xfe742f83,0x1adea470,0x5b7fc19f,0xe054b854,0xba1d0698,0xf935381a
-.long 0x799e9a74,0x546eab2d,0xa949f729,0x96239e0e,0x7090055a,0xca274c6b,0x9020c9b0,0x835142c3,0xa2e8807f,0xa405667a,0x1aa3d39e,0x29f2c085,0x42fc72f5,0xcc555d64,0xfbeacb3c,0xe856e0e7
-.long 0x918e4936,0xb5504f9d,0xb2513982,0x65035ef6,0x6f4d9cb9,0x0553a0c2,0xbea85509,0x6cb10d56,0xa242da11,0x48d957b7,0x672b7268,0x16a4d3dd,0x8502a96b,0x3d7e637c,0x730d463b,0x27c7032b
-.long 0xe4136a14,0xbdc02b18,0x678e32bf,0xbacf969d,0xdd9c3c03,0xc98d89a3,0x23becc4f,0x7b92420a,0xc64d565c,0xd4b41f78,0x10f28295,0x9f969d00,0xb13d051a,0xec7f7f76,0xa92da585,0x08945e1e
-.long 0x5846426f,0x55366b7d,0x247d441d,0xe7d09e89,0x736fbf48,0x510b404d,0xe784bd7d,0x7fa003d0,0x17fd9596,0x25f7614f,0x35cb98db,0x49e0e0a1,0x2e83a76a,0x2c65957b,0xcddbe0f8,0x5d40da8d
-.long 0x050bad24,0xf2b8c405,0xc2aa4823,0x8918426d,0xa38365a7,0x2aeab3dd,0x7c91b690,0x72031717,0x60a94120,0x8b00d699,0xe99eaeec,0x478a255d,0x6f60aafd,0xbf656a5f,0x5dee77b3,0xdfd7cb75
-.long 0xa595939d,0x37f68bb4,0x28740217,0x03556479,0x84ad7612,0x8e740e7c,0x9044695f,0xd89bc843,0x85a9184d,0xf7f3da5d,0x9fc0b074,0x562563bb,0xf88a888e,0x06d2e6aa,0x161fbe7c,0x612d8643
-.long 0xf64085e7,0x465edba7,0x29aa8511,0xb230f304,0xcda2d188,0x53388426,0x4b666649,0x90885735,0x652f54f6,0x6f02ff9a,0x5fae2bf0,0x65c82294,0x62f5eee3,0x7816ade0,0xfcc56d70,0xdcdbdf43
-.long 0x54530bb2,0x9fb3bba3,0xcb0869ea,0xbde3ef77,0x0b431163,0x89bc9046,0xe4819a35,0x4d03d7d2,0x43b6a782,0x33ae4f9e,0x9c88a686,0x216db307,0x00ffedd9,0x91dd88e0,0x12bd4840,0xb280da9f
-.long 0x1635e741,0x32a7cb8a,0x78be02a7,0xfe14008a,0x1b7ae030,0x3fafb334,0x5add0ce9,0x7fd508e7,0xd607ad51,0x72c83219,0x8d40964a,0x0f229c0a,0x1c878da2,0x1be2c336,0xeab2ab86,0xe0c96742
-.long 0x3e538cd7,0x458f8691,0x8e08ad53,0xa7001f6c,0xbf5d15ff,0x52b8c6e6,0x011215dd,0x548234a4,0x3d5b4045,0xff5a9d2d,0x4a904190,0xb0ffeeb6,0x48607f8b,0x55a3aca4,0x30a0672a,0x8cbd665c
-.long 0x42583068,0x87f834e0,0xf3f6e683,0x02da2aeb,0x05c12248,0x6b763e5d,0x65a8aefc,0x7230378f,0x71e8e5ca,0x93bd80b5,0xb3b62524,0x53ab041c,0x6c9c552e,0x1b860513,0xd5524e66,0xe84d402c
-.long 0xf37f5937,0xa37f3573,0xd1e4fca5,0xeb0f6c7d,0xac8ab0fc,0x2965a554,0x274676ac,0x17fbf56c,0xacf7d720,0x2e2f6bd9,0x10224766,0x41fc8f88,0x85d53bef,0x517a14b3,0x7d76a7d1,0xdae327a5
-.long 0xc4818267,0x6ad0a065,0x37c1bbc1,0x33aa189b,0x27392a92,0x64970b52,0x2d1535ea,0x21699a1c,0xc2d7a7fd,0xcd20779c,0x99c83cf2,0xe3186059,0x72c0b8c7,0x9b69440b,0x7b9e0e4d,0xa81497d7
-.long 0x1f5f82dc,0x515d5c89,0x6361079e,0x9a7f67d7,0x11a35330,0xa8da81e3,0x4b18be1b,0xe44990c4,0xaf103e59,0xc7d5ed95,0x8dac9261,0xece8aba7,0x9394b8d3,0xbe82b099,0x16adfe83,0x6830f09a
-.long 0x88172d01,0x250a29b4,0xcaff9e02,0x8b20bd65,0xe8a6329a,0xb8a7661e,0xd3fce920,0x4520304d,0x2b47f7ef,0xae45da1f,0x5bffc540,0xe07f5288,0x3464f874,0xf7997009,0xa6fa1f38,0x2244c2cd
-.long 0x94d7d9b1,0x43c41ac1,0xc82e7f17,0x5bafdd82,0x5fda0fca,0xdf0614c1,0xa8ae37ad,0x74b043a7,0x9e71734c,0x3ba6afa1,0x9c450f2e,0x15d5437e,0x67e242b1,0x4a5883fe,0x2c1953c2,0x5143bdc2
-.long 0xfc5e8920,0x542b8b53,0x9a9cee08,0x363bf9a8,0xc3486e08,0x02375f10,0x8c5e70d2,0x2037543b,0x625640b4,0x7109bccc,0x8bc62c3b,0xcbc1051e,0x803f26ea,0xf8455fed,0xeb372424,0x6badceab
-.long 0x6b53f5f9,0xa2a9ce7c,0x1b176d99,0x64246595,0xb95c081b,0xb1298d36,0x1d9a9ee6,0x53505bb8,0xf2ba70b0,0x3f6f9e61,0x8afad453,0xd07e16c9,0xe7eb4a6a,0x9f1694bb,0x3cb0bc8e,0xdfebced9
-.long 0x53868c8b,0x92d3dcdc,0x386107a6,0x174311a2,0x689b4e64,0x4109e07c,0x2df3dcb6,0x30e4587f,0x0811b3b2,0x841aea31,0x0cce43ea,0x6144d41d,0x2a9a7803,0x464c4581,0x3e158930,0xd03d371f
-.long 0xb1f3390b,0xc676d7f2,0xa5b61272,0x9f7a1b8c,0xc2e127a9,0x4ebebfc9,0x5dd997bf,0x4602500c,0x4711230f,0x7f09771c,0x020f09c1,0x058eb37c,0xfee5e38b,0xab693d4b,0x4653cbc0,0x9289eb1f
-.long 0xd51b9cf5,0xbecf46ab,0x9f0121af,0xd2aa9c02,0xe90dc274,0x36aaf7d2,0x48b95a3c,0x909e4ea0,0x6f32dbdb,0xe6b70496,0x8b030b3e,0x672188a0,0xcfb617e2,0xeeffe5b3,0x7c82709e,0x87e947de
-.long 0x1770f5a7,0xa44d2b39,0x0e44eb82,0xe4d4d791,0x3f69712a,0x42e69d1e,0xac6a820e,0xbf11c4d6,0x42c4224c,0xb5e7f3e5,0x449d941c,0xd6b4e81c,0x5450e878,0x5d72bd16,0xee25ac54,0x6a61e28a
-.long 0xe6f1cd95,0x33272094,0x0d18673f,0x7512f30d,0x5afc1464,0x32f7a4ca,0x6bbb977b,0x2f095656,0xa8226200,0x586f47ca,0x1ac07369,0x02c868ad,0xc613acbe,0x4ef2b845,0x0386054c,0x43d7563e
-.long 0xab952578,0x54da9dc7,0x26e84d0b,0xb5423df2,0x9b872042,0xa8b64eeb,0x5990f6df,0xac205782,0x21f4c77a,0x4ff696eb,0xaab273af,0x1a79c3e4,0x9436b3f1,0x29bc922e,0xd6d9a27a,0xff807ef8
-.long 0x778f22a0,0x82acea3d,0x5b5e7469,0xfb10b2e8,0x2818ee7d,0xc0b16980,0xc91c1a2f,0x011afff4,0xad124418,0x95a6d126,0xe72e295f,0x31c081a5,0xf2f4db75,0x36bb283a,0x7acef462,0xd115540f
-.long 0x33f6746c,0xc7f3a8f8,0xfea990ca,0x21e46f65,0xcaddb0a9,0x915fd5c5,0x78614555,0xbd41f016,0x426ffb58,0x346f4434,0x14dbc204,0x80559436,0x5a969b7f,0xf3dd20fe,0xe899a39a,0x9d59e956
-.long 0x8ad4cf4b,0xf1b0971c,0x2ffb8fb8,0x03448860,0x65340ba4,0xf071ac3c,0xb27fd758,0x408d0596,0x98c364b0,0xe7c78ea4,0x051e8ab5,0xa4aac4a5,0x485d9002,0xb9e1d560,0x88844455,0x9acd518a
-.long 0xd06f56c0,0xe4ca688f,0xdf027972,0xa48af70d,0x5e9a609d,0x691f0f04,0xee61270e,0xa9dd82cd,0xa0ef18d3,0x8903ca63,0x3d6ca3bd,0x9fb7ee35,0xabf47d03,0xa7b4a09c,0x1c67de8e,0x4cdada01
-.long 0x9355a244,0x52003749,0x4f2151a9,0xe77fd2b6,0x66b4efcb,0x695d6cf6,0xda2cfe25,0xc5a0cacf,0xef811865,0x104efe5c,0x9ea5cc3d,0xf52813e8,0x40b58dbc,0x855683dc,0x175fcb11,0x0338ecde
-.long 0x74921592,0xf9a05637,0xb9bb9d31,0xb4f1261d,0x4e9c5459,0x551429b7,0x6ea71f53,0xbe182e6f,0xdfc50573,0xd3a3b07c,0x62be8d44,0x9ba1afda,0x52ab65d3,0x9bcfd2cb,0xa9571802,0xdf11d547
-.long 0x02a2404a,0x099403ee,0x21088a71,0x497406f4,0x5004ae71,0x99479409,0xa812c362,0xbdb42078,0xd8828442,0x2b72a30f,0xfcb5ed1c,0x283add27,0x66a40015,0xf7c0e200,0x08b295ef,0x3e3be641
-.long 0xe038a675,0xac127dc1,0x8c5c6320,0x729deff3,0xa90d2c53,0xb7df8fd4,0x681e7cd3,0x9b74b0ec,0xdab407e5,0x5cb5a623,0x76b340c6,0xcdbd3615,0x7d28392c,0xa184415a,0xe96f7830,0xc184c1d8
-.long 0x81d3a80f,0xc3204f19,0xc8e02432,0xfde0c841,0x8149e0c1,0x78203b3e,0x08053a73,0x5904bdbb,0x101b6805,0x30fc1dd1,0x49aa6d49,0x43c223bc,0x7a174087,0x9ed67141,0xd5997008,0x311469a0
-.long 0x5e43fc61,0xb189b684,0xe0d3ab57,0xf3282375,0xb1181da8,0x4fa34b67,0x99ee52b8,0x621ed0b2,0xad990676,0x9b178de1,0x56d54065,0xd51de67b,0x7538c201,0x2a2c27c4,0x38a40f5c,0x33856ec8
-.long 0xbe6cdcde,0x2522fc15,0x9f0c6f89,0x1e603f33,0x103e30a6,0x7994edc3,0x220c853e,0x033a00db,0xf7bb7fd7,0xd3cfa409,0x462d18f6,0x70f8781e,0x687fe295,0xbbd82980,0x595669f3,0x6eef4c32
-.long 0x2f7e85c3,0x86a9303b,0x71988f9b,0x5fce4621,0xc138acb5,0x5b935bf6,0x25661212,0x30ea7d67,0xe51ab9a2,0xef1eb5f4,0xae067c78,0x0587c98a,0x77ca9ca6,0xb3ce1b3c,0x54b5f057,0x2a553d4d
-.long 0x4da29ec2,0xc7898236,0xb9c57316,0xdbdd5d13,0x2cd80d47,0xc57d6e6b,0xfe9e7391,0x80b460cf,0xf963c31e,0x98648cab,0xcc4d32fd,0x67f9f633,0xfdf7c687,0x0af42a9d,0x0b015ea7,0x55f292a3
-.long 0xcd21ab3d,0x89e468b2,0xc393d392,0xe504f022,0xa5013af9,0xab21e1d4,0xc2c28acb,0xe3283f78,0x226bf99f,0xf38b35f6,0x0e291e69,0xe8354274,0xb20c162d,0x61673a15,0xb04fbdbe,0xc101dc75
-.long 0x255bd617,0x8323b4c2,0x6c2a9154,0x6c969693,0x62679387,0xc6e65860,0xb8c88e23,0x8e01db0c,0x893a5559,0x33c42873,0x47a3e149,0x7630f04b,0xddcf35f8,0xb5d80805,0x77dfe732,0x582ca080
-.long 0x0b1894a0,0x2c7156e1,0xd81c68c0,0x92034001,0xc8b115b5,0xed225d00,0x83b907f2,0x237f9c22,0x4470e2c0,0x0ea2f32f,0x58be4e95,0xb725f7c1,0xb1ae5463,0x0f1dcafa,0x1ba2fc04,0x59ed5187
-.long 0xd0115d4d,0xf6e0f316,0xd3691599,0x5180b12f,0x527f0a41,0x157e32c9,0xa8e0ecc0,0x7b0b081d,0xbf4f0dd0,0x6dbaaa8a,0x4d252696,0x99b289c7,0xdbf864fe,0x79b7755e,0x76cad3ab,0x6974e2b1
-.long 0x06ddd657,0x35dbbee2,0x2ff3a96d,0xe7cbdd11,0x076be758,0x88381968,0x08c91f5d,0x2d737e72,0x86ec3776,0x5f83ab62,0x945fa7a1,0x98aa649d,0x72ef0933,0xf477ec37,0x098c17b1,0x66f52b1e
-.long 0xd803738b,0x9eec58fb,0xe4e86aa4,0x91aaade7,0xa5b51492,0x6b1ae617,0xbbc45974,0x63272121,0x862c5129,0x7e0e28f0,0x3321a4a0,0x0a8f79a9,0x5041c88f,0xe26d1664,0x53233e3a,0x0571b805
-.long 0xc9520711,0xd1b0ccde,0x3c8b84bf,0x55a9e4ed,0xa1fef314,0x9426bd39,0x6eb93f2b,0x4f5f638e,0x2bf9341b,0xba2a1ed3,0x4d42d5a9,0xd63c1321,0x316dc7c5,0xd2964a89,0xca511851,0xd1759606
-.long 0xf9e6ed35,0xd8a9201f,0x6736925a,0xb7b5ee45,0x99581af7,0x0a83fbbc,0x64eeb051,0x3076bc40,0x02dec312,0x5511c98c,0x238dcb78,0x270de898,0x539c08c9,0x2cf4cf9c,0x38d3b06e,0xa70cb65e
-.long 0xcfe57bbd,0xb12ec10e,0x35a0c2b5,0x82c7b656,0x161c67bd,0xddc7d5cd,0xae3a32cc,0xe32e8985,0xd11a5529,0x7aba9444,0x2427fa1a,0xe964ed02,0x24a1770a,0x1528392d,0x12c72fcd,0xa152ce2c
-.long 0x8ec07649,0x714553a4,0x459dd453,0x18b4c290,0x7b64b110,0xea32b714,0x2e6f07a2,0xb871bfa5,0x9e2e3c9b,0xb67112e5,0x44aa90f6,0xfbf250e5,0xbd539006,0xf77aedb8,0xd172a66f,0x3b0cdf9a
-.long 0xf8c51187,0xedf69fea,0x741e4da7,0x05bb67ec,0x08114345,0x47df0f32,0xbb9792b1,0x56facb07,0x8f6229e4,0xf3e007e9,0x526fba0f,0x62d103f4,0xb0339d79,0x4f33bef7,0xb59bfec1,0x9841357b
-.long 0xc34e6705,0xfa8dbb59,0x7fdaa84c,0xc3c7180b,0xa4108537,0xf95872fc,0x932a3e5a,0x8750cc3b,0xb7275d7d,0xb61cc69d,0x2e59b2e9,0xffa0168b,0x6ecbb493,0xca032abc,0x2c9082d8,0x1d86dbd3
-.long 0xe28ef5ba,0xae1e0b67,0xcb18e169,0x2c9a4699,0x1e6bbd20,0x0ecd0e33,0xaf5e81d2,0x571b360e,0x101c1d45,0xcd9fea58,0x18880452,0x6651788e,0x1f8dd446,0xa9972635,0xe37281d0,0x44bed022
-.long 0x33da525d,0x094b2b2d,0x13144fd8,0xf193678e,0xf4c1061d,0xb8ab5ba4,0xdccbe0f4,0x4343b5fa,0x63812713,0xa8702371,0xf7611d93,0x47bf6d2d,0xbd21e1d7,0x46729b8c,0xd629e77d,0x7484d4e0
-.long 0x60dbac1f,0x830e6eea,0xda06a2f7,0x23d8c484,0x50ca535b,0x896714b0,0xebd97a9b,0xdc8d3644,0xb12177b4,0x106ef9fa,0x534d5d9c,0xf79bf464,0xa6ab360b,0x2537a349,0xa00c744f,0xc7c54253
-.long 0xe5911a76,0xb3c7a047,0x647f1ee7,0x61ffa5c8,0x8f56ab42,0x15aed36f,0xa3ff9ac9,0x6a0d41b0,0xcc30d357,0x68f469f5,0x6b72be96,0xbe9adf81,0x903ad461,0x1cd926fe,0xcaca441b,0x7e89e38f
-.long 0xfacf69d4,0xf0f82de5,0x4775344c,0x363b7e76,0xb2e36d04,0x6894f312,0x11d1c9a5,0x3c6cb4fe,0x4008e1f2,0x85d9c339,0x249f326c,0x5e9a85ea,0x678c5e06,0xdc35c60a,0x9f86fba9,0xc08b944f
-.long 0x89f71f0f,0xde40c02c,0xff3da3c0,0xad8f3e31,0x42125ded,0x3ea5096b,0xa7379183,0x13879cbf,0x6b306a0b,0x6f4714a5,0x67646c5e,0x359c2ea6,0x07726368,0xfacf8943,0x65ff431e,0x07a58935
-.long 0x68754ab0,0x24d661d1,0x6f429a76,0x801fce1d,0xa58ce769,0xc068a85f,0x5d5eca2b,0xedc35c54,0xa3f660d1,0xea31276f,0xb8fc7167,0xa0184ebe,0x1d8db0ae,0x0f20f21a,0x56c35e12,0xd96d095f
-.long 0xf8c2a25b,0xedf402b5,0x059204b6,0x1bb772b9,0x19b4e34c,0x50cbeae2,0x3fa0845a,0x93109d80,0x8ef59fb5,0x54f7ccf7,0x88070963,0x3b438fe2,0x31f3ba9b,0x9e28c659,0xead9da92,0x9cc31b46
-.long 0xb733aa5f,0x3c2f0ba9,0xf05af235,0xdece47cb,0xa2ac82a5,0xf8e3f715,0x2203f18a,0xc97ba641,0x09c11060,0xc3af5504,0x46af512d,0x56ea2c05,0xf3f28146,0xfac28daf,0x959ef494,0x87fab43a
-.long 0xd4c5105f,0x09891641,0x6d7fbd65,0x1ae80f8e,0xbee6bdb0,0x9d67225f,0x7fc4d860,0x3b433b59,0x93e85638,0x44e66db6,0xe3e9862f,0xf7b59252,0x665c32ec,0xdb785157,0xae362f50,0x702fefd7
-.long 0x0fefb0c3,0x3754475d,0x46d7c35d,0xd48fb56b,0x363798a4,0xa070b633,0x8fdb98e6,0xae89f3d2,0x6363d14c,0x970b89c8,0x67abd27d,0x89817521,0x44d5a021,0x9bf7d474,0xcac72aee,0xb3083baf
-.long 0xbe949a44,0x389741de,0x546a4fa5,0x638e9388,0xa0047bdc,0x3fe6419c,0xaaea57ca,0x7047f648,0x41fbab17,0x54e48a90,0x576bdba2,0xda8e0b28,0xc72afddc,0xe807eebc,0xf42577bf,0x07d3336d
-.long 0xbfe20925,0x62a8c244,0x8fdce867,0x91c19ac3,0xdd387063,0x5a96a5d5,0x21d324f6,0x61d587d4,0xa37173ea,0xe87673a2,0x53778b65,0x23848008,0x05bab43e,0x10f8441e,0x4621efbe,0xfa11fe12
-.long 0x81685d7b,0x047b772e,0xbf34a976,0x23f27d81,0x915f48ef,0xc27608e2,0xa521d5c3,0x3b0b43fa,0x63ca7284,0x7613fb26,0x1d4db837,0x7f5729b4,0x583b526b,0x87b14898,0xbbadd3d1,0x00b732a6
-.long 0x2048e396,0x8e02f426,0x383d9de4,0x436b50b6,0x471e85ad,0xf78d3481,0xd005c8d6,0x8b01ea6a,0x97015c07,0xd3c7afee,0x4e3ba2ae,0x46cdf1a9,0x83d3a1d2,0x7a42e501,0xb541dff4,0xd54b5268
-.long 0x4e23e9bc,0x3f24cf30,0x126e3624,0x4387f816,0x3b0b6d61,0x26a46a03,0x8b2d777c,0xaf1bc845,0x527de79c,0x25c401ba,0x4261bbb6,0x0e1346d4,0x287b4bc7,0x4b96c44b,0x5254562f,0x658493c7
-.long 0xb8a24a20,0x23f949fe,0xf52ca53f,0x17ebfed1,0xbcfb4853,0x9b691bbe,0x6278a05d,0x5617ff6b,0xe3c99ebd,0x241b34c5,0x1784156a,0xfc64242e,0x695d67df,0x4206482f,0xee27c011,0xb967ce0e
-.long 0x21c80b5d,0x65db3751,0xa31ecca0,0x2e7a563c,0x5238a07e,0xe56ffc4e,0x32ced854,0x3d6c2966,0xaf70b885,0xe99d7d1a,0x2d686459,0xafc3bad9,0x0cc8ba5b,0x9c78bf46,0x18955aa3,0x5a439519
-.long 0x5fe4e314,0xf8b517a8,0xfcb8906f,0xe60234d0,0xf2061b23,0xffe542ac,0x6b4cb59c,0x287e191f,0x09d877d8,0x21857ddc,0x14678941,0x1c23478c,0xb6e05ea4,0xbbf0c056,0xb01594fe,0x82da4b53
-.long 0xfadb8608,0xf7526791,0x7b74cdf6,0x049e832d,0xc2b90a34,0xa43581cc,0x9360b10c,0x73639eb8,0xe1e4a71b,0x4fba331f,0x8072f919,0x6ffd6b93,0x65679032,0x6e53271c,0xf14272ce,0x67206444
-.long 0xb2335834,0xc0f734a3,0x90ef6860,0x9526205a,0x04e2bb0d,0xcb8be717,0x02f383fa,0x2418871e,0x4082c157,0xd7177681,0x29c20073,0xcc914ad0,0xe587e728,0xf186c1eb,0x61bcd5fd,0x6fdb3c22
-.long 0xf2f9f8e9,0x30d014a6,0x4fec49d2,0x963ece23,0x9605a8d9,0x862025c5,0x19f8929a,0x39874445,0x12bf476a,0x01b6ff65,0x09cf7d91,0x598a64d8,0x93be56ca,0xd7ec7749,0xcbb33615,0x10899785
-.long 0x02eee3ad,0xb8a092fd,0x30145270,0xa86b3d35,0x8512b675,0x323d98c6,0x62ebb40f,0x4b8bc785,0x413f9cde,0x7d301f54,0x2bab5664,0xa5e4fb4f,0x1cbfec23,0x1d2b252d,0xe177120d,0xfcd576bb
-.long 0x83731a34,0x04427d3e,0xed836e8e,0x2bb9028e,0xb612ca7c,0xb36acff8,0xd3d9c73a,0xb88fe5ef,0xedea4eb3,0xbe2a6bc6,0x488eec77,0x43b93133,0xb17106e1,0xf41ff566,0x654efa32,0x469e9172
-.long 0x41c23fa3,0xb4480f04,0xc1989a2e,0xb4712eb0,0x93a29ca7,0x3ccbba0f,0xd619428c,0x6e205c14,0xb3641686,0x90db7957,0x45ac8b4e,0x0432691d,0xf64e0350,0x07a759ac,0x9c972517,0x0514d89c
-.long 0xa8e67fc3,0x1701147f,0xab2085be,0x9e2e0b8b,0xac284e57,0xd5651824,0x74893664,0x890d4325,0xc55e68a3,0x8a7c5e6e,0x4339c85a,0xbf12e90b,0xf922b655,0x31846b85,0x0bf4d700,0x9a54ce4d
-.long 0xf1a14295,0xd7f4e83a,0xb285d4f9,0x916f955c,0x99ffdaba,0xe57bb0e0,0xeab0d152,0x28a43034,0xb8a9cef8,0x0a36ffa2,0xb9ec051a,0x5517407e,0xea68e672,0x9c796096,0xfb3c77fb,0x853db5fb
-.long 0xe864a51a,0x21474ba9,0x6e8a1b8b,0x6c267699,0x94120a28,0x7c823626,0x8383a5db,0xe61e9a48,0x9f84216d,0x7dd75003,0xad43cd85,0xab020d07,0xda12c659,0x9437ae48,0xe65452ad,0x6449c2eb
-.long 0x2cf9d7c1,0xcc7c4c1c,0xee95e5ab,0x1320886a,0xbeae170c,0xbb7b9056,0xdbc0d662,0xc8a5b250,0xc11d2303,0x4ed81432,0x1f03769f,0x7da66912,0x84539828,0x3ac7a5fd,0x3bccdd02,0x14dada94
-.long 0x7ef6b0d1,0x8b84c321,0x7c933f22,0x52a9477a,0xfd440b82,0x5ef6728a,0x6ce4bd5e,0x5c3bd859,0xf22c2d3e,0x918b80f5,0xb7bb6cc5,0x368d5040,0x2695a11c,0xb66142a1,0xeb19ea70,0x60ac583a
-.long 0x0eab2437,0x317cbb98,0x5e2654c8,0x8cc08c55,0xe6d8307f,0xfe2d6520,0x57428993,0xe9f147f3,0xd2fd6cf1,0x5f9c7d14,0x2d4fcbb0,0xa3ecd064,0x8e7341f7,0xad83fef0,0x3a63115c,0x643f23a0
-.long 0xe65ab743,0xd38a78ab,0x35edc89c,0xbf7c75b1,0x530df568,0x3dd8752e,0xe308c682,0xf85c4a76,0xe68acf37,0x4c9955b2,0xab32af85,0xa544df3d,0xa25cf493,0x4b8ec3f5,0x1a622feb,0x4d8f2764
-.long 0xf0dcbc49,0x7bb4f7aa,0x70bbb45b,0x7de551f9,0x9f2ca2e5,0xcfd0f3e4,0x1f5c76ef,0xece58709,0x167d79ae,0x32920edd,0xfa7d7ec1,0x039df8a2,0xbb30af91,0xf46206c0,0x22676b59,0x1ff5e2f5
-.long 0x6ea51d66,0x11f4a039,0x807d7a26,0x506c1445,0x755a9b24,0x60da5705,0x1f1a319e,0x8fc8cc32,0x9433d67d,0x83642d4d,0x6a7dd296,0x7fa5cb8f,0x9b7bde07,0x576591db,0x419716fb,0x13173d25
-.long 0xd5b340ff,0xea30599d,0xb0fe76c5,0xfc6b5297,0xab8f5adc,0x1c6968c8,0x901c928d,0xf723c7f5,0x9773d402,0x4203c321,0x1b51dd47,0xdf7c6aa3,0x552be23c,0x3d49e37a,0x0b5a6e87,0x57febee8
-.long 0x7bd8e739,0xc5ecbee4,0xae63bf75,0x79d44994,0x38fb8923,0x168bd00f,0xd0533130,0x75d48ee4,0xdb5cdf33,0x554f77aa,0x3c696769,0x3396e896,0xd3fd674e,0x2fdddbf2,0x99d0e3e5,0xbbb8f6ee
-.long 0xcbae2f70,0x51b90651,0x93aaa8eb,0xefc4bc05,0xdd1df499,0x8ecd8689,0x22f367a5,0x1aee99a8,0xae8274c5,0x95d485b9,0x7d30b39c,0x6c14d445,0xbcc1ef81,0xbafea90b,0xa459a2ed,0x7c5f317a
-.long 0x4ef44227,0x01211075,0xdc20f496,0xa17bed6e,0x819853cd,0x0cdfe424,0xf71e2ce7,0x13793298,0xdbbe307b,0x3c1f3078,0x76ee9936,0x6dd1c20e,0x423caa20,0x23ee4b57,0x8efb840e,0x4ac3793b
-.long 0xed1f8ca0,0x934438eb,0x4ebb25a2,0x3e546658,0xc069896f,0xc415af0e,0x9a5aa43d,0xc13eddb0,0xd49eb8f6,0x7a04204f,0xd74f1670,0xd0d5bdfc,0x56fc0558,0x3697e286,0x01cebade,0x10207371
-.long 0x0647a82b,0x5f87e690,0x8f40054f,0x908e0ed4,0x79853803,0xa9f633d4,0x4a28b252,0x8ed13c9a,0x1f460f64,0x3e2ef676,0x36d06336,0x53930b9b,0x8fc4979b,0x347073ac,0x5ecd5597,0x84380e0e
-.long 0xc4fe3c39,0xe3b22c6b,0x6c7bebdf,0xba4a8153,0x25693459,0xf23ab6b7,0x14922b11,0x53bc3770,0x5afc60db,0x4645c8ab,0x20b9f2a3,0xaa022355,0xce0fc507,0x52a2954c,0x7ce1c2e7,0x8c2731bb
-.long 0x18a0339d,0xf39608ab,0x3735436c,0xac7a658d,0xcd992b4f,0xb22c2b07,0xf40dcfd4,0x4e83daec,0x2f39ea3e,0x8a34c7be,0xb0a56d2e,0xef0c005f,0x6edd8038,0x62731f6a,0x4e3cb075,0x5721d740
-.long 0xfbeeee1b,0x1ea41511,0xef1d0c05,0xd1ef5e73,0x73c07d35,0x42feefd1,0x8a329493,0xe530a00a,0xf15ebfb0,0x5d55b7fe,0xd322491a,0x549de03c,0x745b3237,0xf7b5f602,0x1ab6e2b6,0x3632a3a2
-.long 0x0ef59f78,0x0d3bba89,0xc9e52b9a,0x0dfc6443,0x72631447,0x1dc79699,0xb3be20b1,0xef033917,0xb1383948,0x0c92735d,0xc0dd7d7d,0xc1fc29a2,0x403ed068,0x6485b697,0xaac93bdc,0x13bfaab3
-.long 0x0deeaf52,0x410dc6a9,0x4c641c15,0xb003fb02,0x5bc504c4,0x1384978c,0x864a6a77,0x37640487,0x222a77da,0x05991bc6,0x5e47eb11,0x62260a57,0xf21b432c,0xc7af6613,0xab4953e9,0x22f3acc9
-.long 0x8e41d155,0x52934922,0x3ac059ef,0x4d024568,0x4d884411,0xb0201755,0xa59a178f,0xce8055cf,0xf6204549,0xcd77d1af,0xc7066759,0xa0a00a3e,0x0272c229,0x471071ef,0xd3c4b6b0,0x009bcf6b
-.long 0x22305177,0x2a2638a8,0x41645bbf,0xd51d59df,0xc0a7a3c0,0xa81142fd,0x4c7063ee,0xa17eca6d,0x60d9dcec,0x0bb887ed,0x20ad2455,0xd6d28e51,0xa67102ba,0xebed6308,0x8bffa408,0x042c3114
-.long 0x8aa68e30,0xfd099ac5,0x1483513e,0x7a6a3d7c,0xba2d8f0c,0xffcc6b75,0x1e78b954,0x54dacf96,0xa4a9af89,0xf645696f,0x06ac98ec,0x3a411940,0x22a67a20,0x41b8b3f6,0x99dec626,0x2d0b1e0f
-.long 0x40be34e8,0x27c89192,0x91907f35,0xc7162b37,0xa956702b,0x90188ec1,0xdf93769c,0xca132f7d,0x0e2025b4,0x3ece44f9,0x0c62f14c,0x67aaec69,0x22e3cc11,0xad741418,0x7ff9a50e,0xcf9b75c3
-.long 0x4d348272,0x02fa2b16,0x9959d56d,0xbd99d61a,0x18762916,0xbc4f19db,0x49c1ac80,0xcc7cce50,0xd846bd83,0x4d59ebaa,0xa9202849,0x8775a9dc,0x6e1f4ca9,0x07ec4ae1,0xba893f11,0x27eb5875
-.long 0x662cc565,0x00284d51,0x0db4138d,0x82353a6b,0xaa32a594,0xd9c7aaaa,0xa5669c47,0xf5528b5e,0x2f23c5ff,0xf3220231,0x6affa3a1,0xe3e8147a,0x202ddda0,0xfb423d5c,0x6b871bd4,0x3d6414ac
-.long 0xa51a168a,0x586f82e1,0x48ae5448,0xb712c671,0x76233eb8,0x9a2e4bd1,0x78811ca9,0x0188223a,0xf7c18de1,0x553c5e21,0xb27bb286,0x7682e451,0x0e51e929,0x3ed036b3,0xec9cb34f,0xf487211b
-.long 0x0c24efc8,0x0d094277,0xbef737a4,0x0349fd04,0x514cdd28,0x6d1c9dd2,0x30da9521,0x29c135ff,0xf78b0b6f,0xea6e4508,0x678c143c,0x176f5dd2,0x4be21e65,0x08148418,0xe7df38c4,0x27f7525c
-.long 0x748ab1a4,0x1fb70e09,0x5efe4433,0x9cba50a0,0x15f75af2,0x7846c7a6,0x5ee73ea8,0x2a7c2c57,0x3f0a449a,0x42e566a4,0xad90fc3d,0x45474c3b,0x8b61d057,0x7447be3d,0x3a4ec092,0x3e9d1cf1
-.long 0xf380a6e6,0x1603e453,0x9b1437c2,0x0b86e431,0xef29610a,0x7a4173f2,0xf03d57f7,0x8fa729a7,0x6c9c217e,0x3e186f6e,0x91919524,0xbe1d3079,0x153d4fb1,0x92a62a70,0xd68c2f71,0x32ed3e34
-.long 0x9eb1a8b7,0xd785027f,0xc5b22fe8,0xbc37eb77,0xb9d6a191,0x466b34f0,0x9a05f816,0x008a89af,0x7d42c10a,0x19b028fb,0x49b3f6b8,0x7fe8c92f,0xa5a0ade3,0x58907cc0,0x559d1a7c,0xb3154f51
-.long 0xd9790ed6,0x5066efb6,0xa6aa793b,0xa77a0cbc,0x223e042e,0x1a915f3c,0x69c5874b,0x1c5def04,0x73b6c1da,0x0e830078,0xfcd8557a,0x55cf85d2,0x0460f3b1,0x0f7c7c76,0x46e58063,0x87052acb
-.long 0x907eae66,0x09212b80,0x4d721c89,0x3cb068e0,0xdd45ac1c,0xa87941ae,0x0daa0dbb,0xde8d5c0d,0xe3502e6e,0xda421fdc,0x4d89a084,0xc8944201,0xf0c24bfb,0x7307ba5e,0x20bde0ef,0xda212beb
-.long 0xf82ce682,0xea2da24b,0x07f71fe4,0x058d3816,0x5ffad8de,0x35a02462,0xaadcefab,0xcd7b05dc,0x1d9f54ec,0xd442f8ed,0xb2d3b5ca,0x8be3d618,0xe06b2ce2,0xe2220ed0,0x1b0da4c0,0x82699a5f
-.long 0x71c0c3a7,0x3ff106f5,0x0d34180c,0x8f580f5a,0x22d7d375,0x4ebb120e,0xe9513675,0x5e5782cc,0x99c82a70,0x2275580c,0x15ea8c4c,0xe8359fbf,0x7b415e70,0x53b48db8,0x100c6014,0xaacf2240
-.long 0xe4652f1d,0x9faaccf5,0xd56157b2,0xbd6fdd2a,0x6261ec50,0xa4f4fb1f,0x476bcd52,0x244e55ad,0x047d320b,0x881c9305,0x6181263f,0x1ca983d5,0x278fb8ee,0x354e9a44,0x396e4964,0xad2dbc0f
-.long 0x9268b3de,0x723f3aa2,0xe6e0609a,0x0d1ca29a,0x6cf44252,0x794866aa,0x01af87ed,0x0b59f3e3,0x7f4a6c51,0xe234e5ff,0x61dc2f7e,0xa8768fd2,0x0a94d81f,0xdafc7332,0x06938ce1,0xd7f84282
-.long 0x0546063e,0xae0b3c0e,0x5d61abc6,0x7fbadcb2,0x369ac400,0xd5d7a2c9,0xae67d10c,0xa5978d09,0x4f85eaac,0x290f211e,0xfacac681,0xe61e2ad1,0x388384cd,0xae125225,0xccfde30f,0xa7fb68e9
-.long 0x3daed4c2,0x7a59b936,0x2606f789,0x80a9aa40,0xf6a6d90a,0xb40c1ea5,0x514d5885,0x948364d3,0x70985182,0x062ebc60,0x33310895,0xa6db5b0e,0xe329c2f5,0x64a12175,0x90ea237e,0xc5f25bd2
-.long 0x2d0a4c23,0x7915c524,0x6bb3cc52,0xeb5d26e4,0xc09e2c92,0x369a9116,0xcf182cf8,0x0c527f92,0x2aede0ac,0x9e591938,0x6cc34939,0xb2922208,0x99a34361,0x3c9d8962,0xc1905fe6,0x3c81836d
-.long 0xa001ec5a,0x4bfeb57f,0xa0dc5dba,0xe993f5bb,0x724a1380,0x47884109,0x32fe9a04,0x8a0369ab,0x8c927db8,0xea068d60,0x94655741,0xbf5f37cf,0x04b6c7ea,0x47d402a2,0x6af259cb,0x4551c295
-.long 0xed77ee8b,0x698b71e7,0xf309d5c7,0xbddf7bd0,0x34e780ca,0x6201c22c,0x4c295ef4,0xab04f7d8,0x4313a8ce,0x1c947294,0x92ca4cfe,0xe532e4ac,0xd0a7a97a,0x89738f80,0xa580fd5b,0xec088c88
-.long 0x42ce9e51,0x612b1ecc,0xb25fdd2a,0x8f9840fd,0x01e7f839,0x3cda78c0,0xece05480,0x546b3d3a,0x80d30916,0x271719a9,0x584c20c4,0x45497107,0x5bc78608,0xaf8f9478,0x277e2a4c,0x28c7d484
-.long 0x88a2ffe4,0xfce01767,0x28e169a5,0xdc506a35,0x7af9c93a,0x0ea10861,0x03fa0e08,0x1ed24361,0xa3d694e7,0x96eaaa92,0xef50bc74,0xc0f43b4d,0x64114db4,0xce6aa58c,0x7c000fd4,0x8218e8ea
-.long 0x185f8844,0xac815dfb,0x1557abfb,0xcd7e90cb,0xafbfecdf,0x23d16655,0x085cac4a,0x80f3271f,0xd0e62f47,0x7fc39aa7,0x460a48e5,0x88d519d1,0xd28f101e,0x59559ac4,0xca9ae816,0x7981d9e9
-.long 0x9ac38203,0x5c38652c,0x57657fe5,0x86eaf87f,0xe21f5416,0x568fc472,0xe7e597b5,0x2afff39c,0x256d4eab,0x3adbbb07,0x8285ab89,0x22598692,0x041caefe,0x35f8112a,0xa5064c8b,0x95df02e3
-.long 0xc7004bf3,0x4d63356e,0xdb83c7de,0x230a08f4,0x8709a7b7,0xca27b270,0xcb9abd2d,0x0d1c4cc4,0x7550fee8,0x8a0bc66e,0x9cf7247e,0x369cd4c7,0x92b5b7e7,0x75562e84,0x5802af7b,0x8fed0da0
-.long 0xe48fb889,0x6a7091c2,0x7b8a9d06,0x26882c13,0x1b82a0e2,0xa2498663,0x3518152d,0x844ed736,0xd86e27c7,0x282f476f,0x04afefdc,0xa04edaca,0x6119e34d,0x8b256ebc,0x0787d78b,0x56a413e9
-.long 0x5a74be50,0x82ee061d,0xdea16ff5,0xe41781c4,0x99bfc8a2,0xe0b0c81e,0x0b547e2d,0x624f4d69,0xbdcc9ae4,0x3a83545d,0x409b1e8e,0x2573dbb6,0xa6c93539,0x482960c4,0x5ae18798,0xf01059ad
-.long 0x3112795f,0x715c9f97,0x984e6ee1,0xe8244437,0xecb66bcd,0x55cb4858,0xabaffbee,0x7c136735,0x5dbec38e,0x54661595,0x388ad153,0x51c0782c,0xc6e0952f,0x9ba4c53a,0x1b21dfa8,0x27e6782a
-.long 0x4ed2dbc2,0x682f903d,0x7c3b2d83,0x0eba59c8,0x9c7e9335,0x8e9dc84d,0x0eb226d7,0x5f9b21b0,0xaf267bae,0xe33bd394,0xbe2e15ae,0xaa86cc25,0x6a8ec500,0x4f0bf67d,0xf9630658,0x5846aa44
-.long 0xe2c2bf15,0xfeb09740,0xa9e99704,0x627a2205,0xc2fbc565,0xec8d73d0,0xc20c8de8,0x223eed8f,0xa8363b49,0x1ee32583,0xc9c2b0a6,0x1a0b6cb9,0x90dbc85c,0x49f7c3d2,0x1ef4c1ac,0xa8dfbb97
-.long 0x65c7c2ab,0xafb34d4c,0xe2c5ea84,0x1d4610e7,0x973c4ab5,0x893f6d1b,0x945ba5c4,0xa3cdd7e9,0x064417ee,0x60514983,0xad6bdf2b,0x1459b23c,0x5cf726c3,0x23b2c341,0x32d6354a,0x3a829635
-.long 0xab192c18,0x294f901f,0x7030164f,0xec5fcbfe,0xe2246ba6,0xe2e2fcb7,0x221a1a0c,0x1e7c88b3,0xc92d88c5,0x72c7dd93,0x1106fb59,0x41c2148e,0xa0f60f14,0x547dd4f5,0x63960f31,0xed9b52b2
-.long 0xb0a5b358,0x6c8349eb,0x9e7e2ed6,0xb154c5c2,0xeda462db,0xcad5eccf,0x2de66b69,0xf2d6dbe4,0x8665e5b2,0x426aedf3,0x7b7f5723,0x488a8513,0x8bcbb386,0x15cc43b3,0xd791d879,0x27ad0af3
-.long 0x846e364f,0xc16c236e,0xdea50ca0,0x7f33527c,0x0926b86d,0xc4810775,0x0598e70c,0x6c2a3609,0xf024e924,0xa6755e52,0x9db4afca,0xe0fa07a4,0x66831790,0x15c3ce7d,0xa6cbb0d6,0x5b4ef350
-.long 0xb6205969,0x2c4aafc4,0xf6c7854f,0x42563f02,0x1d983b48,0x016aced5,0x99949755,0xfeb356d8,0xd1a39bd7,0x8c2a2c81,0xe6934ae9,0x8f44340f,0x447904da,0x148cf91c,0x0f51a926,0x7340185f
-.long 0x7409ab46,0x2f8f00fb,0x80e289b2,0x057e78e6,0xa888e5d1,0x03e5022c,0x9dede4e2,0x3c87111a,0x7809460b,0x5b9b0e1c,0x71c9abc7,0xe751c852,0xc7cc1dc9,0x8b944e28,0x1d3cfa08,0x4f201ffa
-.long 0x3e6721ce,0x02fc905c,0xd0b3674c,0xd52d70da,0x18810da4,0x5dc2e5ca,0x5c69dd99,0xa984b273,0x84de5ca4,0x63b92527,0xc852dec4,0x2f1c9872,0xc2e3de09,0x18b03593,0x9813dc2f,0x19d70b01
-.long 0xa6dc1d29,0x42806b2d,0xf871e144,0xd3030009,0xaaf49276,0xa1feb333,0xc70bc04b,0xb5583b9e,0x95695f20,0x1db0be78,0x89d012b5,0xfc841811,0x05f61643,0x6409f272,0xd5883128,0x40d34174
-.long 0x67419833,0xd79196f5,0x863b7b08,0x6059e252,0x1c56700c,0x84da1817,0xb28d3ec4,0x5758ee56,0x013b0ea6,0x7da2771d,0x54c5e9b9,0xfddf524b,0x24305d80,0x7df4faf8,0x3a97763f,0x58f5c1bf
-.long 0x7c696042,0xa5af37f1,0x4a2538de,0xd4cba22c,0x9ea42600,0x211cb995,0x7b069889,0xcd105f41,0xddb81e74,0xb1e1cf19,0x5157b8ca,0x472f2d89,0xee9db885,0x086fb008,0x0f26d131,0x365cd570
-.long 0xa2be7053,0x284b02bb,0x7ab9a6d6,0xdcbbf7c6,0x20f7a530,0x4425559c,0x188767c8,0x961f2dfa,0x70dc80c4,0xe2fd9435,0xf0784120,0x104d6b63,0x53567122,0x7f592bc1,0xf688ad77,0xf6bc1246
-.long 0x0f15dde9,0x05214c05,0x0d5f2b82,0xa47a76a8,0x62e82b62,0xbb254d30,0x3ec955ee,0x11a05fe0,0x9d529b36,0x7eaff46e,0x8f9e3df6,0x55ab1301,0x99317698,0xc463e371,0xccda47ad,0xfd251438
-.long 0x23d695ea,0xca9c3547,0x16e589b5,0x48ce626e,0xb187d086,0x6b5b64c7,0xb2207948,0xd02e1794,0x7198111d,0x8b58e98f,0xdcf9c3cc,0x90ca6305,0xf34089b0,0x5691fe72,0xfc7c80ff,0x60941af1
-.long 0x22eb51e5,0xa09bc0a2,0xaa9cf09a,0xc0bb7244,0x80159f06,0x36a8077f,0xdddc560e,0x8b5c989e,0x512e1f43,0x19d2f316,0xad08ff62,0x02eac554,0x07d20b4e,0x012ab84c,0xd6d4e4e1,0x37d1e115
-.long 0xab7b19a8,0xb6443e1a,0xdef8cd45,0xf08d067e,0x685e03da,0x63adf3e9,0x4792b916,0xcf15a10e,0xb738a425,0xf44bcce5,0x9636b2fd,0xebe131d5,0x7850d605,0x94068841,0xb40d749d,0x09684eaa
-.long 0x72ba075b,0x8c3c669c,0xba469015,0x89f78b55,0x3e9f8ba8,0x5706aade,0xb32d7ed7,0x6d8bd565,0x805f08d6,0x25f4e63b,0xc3bcc1b5,0x7f48200d,0xb025d847,0x4e801968,0x87cbe0a8,0x74afac04
-.long 0x7e63d690,0x43ed2c2b,0x0223cdb8,0xefb6bbf0,0x2884d3fe,0x4fec3cae,0xd75e25a4,0x065ecce6,0x69f79071,0x6c2294ce,0x044b8666,0x0d9a8e5f,0x17b69d8f,0x5009f238,0xc5dfdaf7,0x3c29f8fe
-.long 0xebae68c4,0x9067528f,0x30c5ba21,0x5b385632,0x1fdd1aec,0x540df119,0xcfba4c78,0xcf37825b,0xbeb11454,0x77eff980,0x60c1b066,0x40a1a991,0xf889a1c7,0xe8018980,0x76c24be0,0xb9c52ae9
-.long 0x45650ef4,0x05fbbcce,0x8aa29ac7,0xae000f10,0x4f04c470,0x884b7172,0x19bb5c25,0x7cd4fde2,0xe8840869,0x6477b22a,0x5fbd0686,0xa8868859,0x1116dfba,0xf23cc02e,0xd87d7776,0x76cd563f
-.long 0xa9d82abf,0xe2a37598,0xe6c170f5,0x5f188ccb,0x5066b087,0x81682200,0xc7155ada,0xda22c212,0xfbddb479,0x151e5d3a,0x6d715b99,0x4b606b84,0xf997cb2e,0x4a73b54b,0x3ecd8b66,0x9a1bfe43
-.long 0x2a67d48a,0x1c312809,0x031fa9e2,0xcd6a671e,0x0e43a34a,0xbec3312a,0x55ef47d3,0x1d935639,0x8fea73ea,0x5ea02489,0xa035afb2,0x8247b364,0x5265b54c,0xb58300a6,0x722c7148,0x3286662f
-.long 0xb4ec4c20,0xb77fd76b,0x0f3fe3fd,0xf0a12fa7,0x41d8c7e8,0xf845bbf5,0x5ec10aa8,0xe4d969ca,0x43e232a3,0x4c0053b7,0x37f8a45a,0xdc7a3fac,0x20d81c8f,0x3c4261c5,0xb00eab00,0xfd4b3453
-.long 0xd36e3062,0x76d48f86,0xa143ff02,0x626c5277,0xaf76f42e,0x538174de,0x6407ceac,0x2267aa86,0x72e572d5,0xfad76351,0xba7330eb,0xab861af7,0x418d8657,0xa0a1c8c7,0x20289a52,0x988821cb
-.long 0xcccc18ad,0x79732522,0xf1a6e027,0xaadf3f8d,0x17c2354d,0xf7382c93,0xd818b689,0x5ce1680c,0xd9ecbee9,0x359ebbfc,0x1cae62ac,0x4330689c,0xc51ac38a,0xb55ce5b4,0xfe238ee8,0x7921dfea
-.long 0x271d1ca5,0x3972bef8,0xe8aabd18,0x3e423bc7,0x44a3e5e3,0x57b09f3f,0x7b444d66,0x5da886ae,0xa9964375,0x68206634,0x699cd0ff,0x356a2fa3,0xdba515e9,0xaf0faa24,0xb321d79a,0x536e1f5c
-.long 0x5c04e4ea,0xd3b9913a,0xd6f11513,0xd549dcfe,0x79fd1d94,0xee227bf5,0xb43f2c67,0x9f35afee,0xf1314f53,0xd2638d24,0xcabcd822,0x62baf948,0x4ef48db0,0x5542de29,0xfc5f6bb2,0xb3eb6a04
-.long 0x1208e16a,0x23c110ae,0xf8363e24,0x1a4d15b5,0x164be00b,0x30716844,0xf6f4690d,0xa8e24824,0x90b170cf,0x548773a2,0x42f191f4,0xa1bef331,0x9247aa97,0x70f418d0,0x48be9147,0xea06028e
-.long 0xdbfb894e,0xe13122f3,0xce274b18,0xbe9b79f6,0xca58aadf,0x85a49de5,0x11487351,0x24957758,0xbb939099,0x111def61,0x26d13694,0x1d6a974a,0xd3fc253b,0x4474b4ce,0x4c5db15e,0x3a1485e6
-.long 0x147c15b4,0xe79667b4,0x7bc61301,0xe34f553b,0x17094381,0x032b80f8,0x723eaa21,0x55d8bafd,0xf1c0e74e,0x5a987995,0xebba289c,0x5a9b292e,0xeb4c8251,0x413cd4b2,0xd162db0a,0x98b5d243
-.long 0x68342520,0xbb47bf66,0xbaa862d1,0x08d68949,0xe906abcd,0x11f349c7,0xed7bf00e,0x454ce985,0xb55b803b,0xacab5c9e,0x31e3c16d,0xb03468ea,0xd273bf12,0x5c24213d,0x71587887,0x211538eb
-.long 0x731dea2d,0x198e4a2f,0x74ed7b2a,0xd5856cf2,0x13a664fe,0x86a632eb,0xbda41291,0x932cd909,0xc0c4ddc0,0x850e95d4,0x347fc2c9,0xc0f422f8,0x86076bcb,0xe68cbec4,0xcd6cd286,0xf9e7c0c0
-.long 0x0f5f27ca,0x65994ddb,0xa80d59ff,0xe85461fb,0x66601023,0xff05481a,0xfc9ebbfb,0xc665427a,0x7587fd52,0xb0571a69,0x8d49efce,0x935289f8,0xea420688,0x61becc60,0x13a786af,0xb22639d9
-.long 0x361ecf90,0x1a8e6220,0x25506463,0x001f23e0,0x0a5c2b79,0xe4ae9b5d,0xd8149db5,0xebc9cdad,0x934aa728,0xb33164a1,0xae9b60f3,0x750eb00e,0x9b9cfbfd,0x5a91615b,0xef45f7f6,0x97015cbf
-.long 0xbf5151df,0xb462c4a5,0xb07118f2,0x21adcc41,0x043fa42c,0xd60c545b,0xe96be1ab,0xfc21aa54,0x4e51ea80,0xe84bc32f,0x259b5d8d,0x3dae45f0,0xc38f1b5e,0xbb73c7eb,0xe8ae617d,0xe405a74a
-.long 0x9f1c56bd,0xbb1ae9c6,0x49f196a4,0x8c176b98,0x6875092b,0xc448f311,0x9f976033,0xb5afe3de,0x145813e5,0xa8dafd49,0xe2b34226,0x687fc4d9,0x4c7ff57f,0xf2dfc92d,0x401f1b46,0x004e3fc1
-.long 0x1430c9ab,0x5afddab6,0x2238e997,0x0bdd41d3,0x418042ae,0xf0947430,0xcdddc4cb,0x71f9adda,0xc52dd907,0x7090c016,0x29e2047f,0xd9bdf44d,0x1b1011a6,0xe6f1fe80,0xd9acdc78,0xb63accbc
-.long 0x1272a95b,0xcfc7e235,0xa6276ac8,0x0c667717,0xe2d7eef7,0x3c0d3709,0x9a685b3e,0x5add2b06,0x14ea5d65,0x363ad32d,0x8d7dd506,0xf8e01f06,0x75b4aac6,0xc9ea2213,0x0d353466,0xed2a2bf9
-.long 0xe9d3a7c3,0x439d79b5,0x81b7f34b,0x8e0ee5a6,0x1dc4ba75,0xcf3dacf5,0xeb3310c7,0x1d3d1773,0x7747ae83,0xa8e67112,0x197d6b40,0x31f43160,0xcd961400,0x0521ccee,0xf6535768,0x67246f11
-.long 0xef0c3133,0x702fcc5a,0x7e16693b,0x247cc45d,0xc729b749,0xfd484e49,0xb218320f,0x522cef7d,0x59ab93b3,0xe56ef405,0x9f181071,0x225fba11,0x15330ed0,0x33bd6595,0x1ddb32f7,0xc4be69d5
-.long 0x0448087c,0x264c7668,0x71432dae,0xac30903f,0x00f9bf47,0x3851b266,0x6cdd6d03,0x400ed311,0xf8fd2424,0x045e79fe,0xfa6da98b,0xfdfd974a,0x0c1e673a,0x45c9f641,0x5b2c5168,0x76f2e733
-.long 0x2a601753,0x1adaebb5,0xc57c2d49,0xb286514c,0x1e0bfd24,0xd8769670,0x04478922,0x950c547e,0xe5d32bfe,0xd1d41969,0x750d6c3e,0x30bc1472,0xe0e27f3a,0x8f3679fe,0xa4a6ee0c,0x8f64a7dc
-.long 0x633dfb1f,0x2fe59937,0x977f2547,0xea82c395,0x661ea646,0xcbdfdf1a,0xb9085451,0xc7ccc591,0x81761e13,0x82177962,0x9196885c,0xda57596f,0x28ffbd70,0xbc17e849,0x2671d36f,0x1e6e0a41
-.long 0x4152fcf5,0x61ae872c,0x9e77e754,0x441c87b0,0xa34dff09,0xd0799dd5,0x88a6b171,0x766b4e44,0x11f1c792,0xdc06a512,0x4be35c3e,0xea02ae93,0xe90c469e,0xe5ca4d6d,0x56e4ff5c,0x4df4368e
-.long 0x4baef62e,0x7817acab,0xa85b91e8,0x9f5a2202,0x6ce57610,0x9666ebe6,0xf73bfe03,0x32ad31f3,0x25bcf4d6,0x628330a4,0x515056e6,0xea950593,0xe1332156,0x59811c89,0x8c11b2d7,0xc89cf1fe
-.long 0x04e60cc0,0x75b63913,0x4625d375,0xce811e8d,0x2d26e562,0x030e43fc,0x608d36a0,0xfbb30b4b,0x48528118,0x634ff82c,0xcd285911,0x7c6fe085,0x99358f28,0x7f2830c0,0x665e6c09,0x2e60a95e
-.long 0x9b785dbf,0x08407d3d,0xa759bce7,0x530889ab,0x52f61239,0xf228e0e6,0x6879be3c,0x2b6d1461,0x51a7bbf7,0xe6902c04,0x76f24a64,0x30ad99f0,0x98bc6da0,0x66d9317a,0xcb596ac0,0xf4f877f3
-.long 0x4c44f119,0xb05ff62d,0xe9b77416,0x4555f536,0x8caed63b,0xc7c0d059,0xc358b2a9,0x0cd2b7ce,0x46945fa3,0x3f33287b,0xd67c8791,0xf8785b20,0x9637bd08,0xc54a7a61,0x18be79d7,0x54d4598c
-.long 0xc46d7ce1,0x889e5acb,0x8b085877,0x9a515bb7,0x0b7a5050,0xfac1a03d,0xf2926035,0x7d3e738a,0x2a6cb0eb,0x861cc2ce,0x8f7adc79,0x6f2e2955,0x33016376,0x61c4d451,0x5ad59090,0xd9fd2c80
-.long 0xb2b836a1,0xe5a83738,0x7c0d6622,0x855b41a0,0x7cc19af1,0x186fe317,0xfdd99acb,0x6465c1ff,0x6974b99e,0x46e5c23f,0xa2717cbe,0x75a7cf8b,0x062be658,0x4d2ebc3f,0x5f209c98,0x094b4447
-.long 0xb940cb5a,0x4af285ed,0x7cc82f10,0x6706d792,0x030526fa,0xc8c8776c,0xa0da9140,0xfa8e6f76,0x591ee4f0,0x77ea9d34,0x40274166,0x5f46e337,0xea671457,0x1bdf98bb,0x862a1fe2,0xd7c08b46
-.long 0x1c08ad63,0x46cc303c,0x4c845e7b,0x99543440,0x48f36bf7,0x1b8fbdb5,0x8c8273a7,0x5b82c392,0x928435d5,0x08f712c4,0x79330380,0x071cf0f1,0xa8da054a,0xc74c2d24,0x43c46b5c,0xcb0e7201
-.long 0xc0b7eff3,0x0ad7337a,0xc5e48b3c,0x8552225e,0x73f13a5f,0xe6f78b0c,0x82349cbe,0x5e70062e,0xe7073969,0x6b8d5048,0xc33cb3d2,0x392d2a29,0x4ecaa20f,0xee4f727c,0x2ccde707,0xa068c99e
-.long 0xb87a2913,0xfcd5651f,0x3cc252f0,0xea3e3c15,0x3b6cd3e4,0x777d92df,0xc5a732e7,0x7a414143,0xa71ff493,0xa895951a,0xbbd37cf6,0xfe980c92,0xdecfeeff,0x45bd5e64,0xa44c43e9,0x910dc2a9
-.long 0xcca9f54d,0xcb403f26,0x9303f6db,0x928bbdfb,0xa9eee67c,0x3c37951e,0xf79961c3,0x3bd61a52,0x395c9a79,0x09a238e6,0x61eb352d,0x6940ca2d,0xc1875631,0x7d1e5c5e,0x1e1b20d1,0x1e19742c
-.long 0x23fc2e6e,0x4633d908,0x08959149,0xa76e29a9,0x84ed7da5,0x61069d9c,0x5dbcad51,0x0baa11cf,0x961849da,0xd01eec64,0xaf3d8c28,0x93b75f1f,0x1ca2ee44,0x57bc4f9f,0x00e00558,0x5a26322d
-.long 0x61a023ef,0x1888d658,0xb9e5246e,0x1d72aab4,0xe5563ec0,0xa9a26348,0xc3439a43,0xa0971963,0xadb9b5b7,0x567dd54b,0xc45a524b,0x73fac1a1,0xfe38e608,0x8fe97ef7,0x3f384f48,0x608748d2
-.long 0xc486094f,0xb0571794,0x8bf3a8d6,0x869254a3,0x310b0e25,0x148a8dd1,0x9aa3f7d8,0x99ab9f3f,0x6706c02e,0x0927c68a,0x69790e6c,0x22b5e76c,0x6c71376c,0x6c325260,0x09ef6657,0x53a57690
-.long 0xedffcf3a,0x8d63f852,0x3c0a6f55,0xb4d2ed04,0x12519b9e,0xdb3aa8de,0x1e0a569a,0x5d38e9c4,0x303747e2,0x871528bf,0xf5b5c18d,0xa208e77c,0xca6bf923,0x9d129c88,0xbf02839f,0xbcbf197f
-.long 0x27323194,0x9b9bf030,0x339ca59d,0x3b055a8b,0x0f669520,0xb46b2312,0x497e5f24,0x19789f1f,0xaaf01801,0x9c499468,0x8b69d59c,0x72ee1190,0xacf4c079,0x8bd39595,0x8e0cd048,0x3ee11ece
-.long 0x1ed66f18,0xebde86ec,0xd61fce43,0x225d906b,0xe8bed74d,0x5cab07d6,0x27855ab7,0x16e4617f,0xb2fbc3dd,0x6568aadd,0x8aeddf5b,0xedb5484f,0x6dcf2fad,0x878f20e8,0x615f5699,0x3516497c
-.long 0xfa181e69,0xef0a3fec,0x30d69a98,0x9ea02f81,0x66eab95d,0xb2e9cf8e,0x24720021,0x520f2beb,0x1df84361,0x621c540a,0x71fa6d5d,0x12037721,0x0ff5f6ff,0x6e3c7b51,0xabb2bef3,0x817a069b
-.long 0xb294cda6,0x83572fb6,0xb9039f34,0x6ce9bf75,0x095cbb21,0x20e012f0,0xd063f0da,0xa0aecc1b,0xf02909e5,0x57c21c3a,0x48ce9cdc,0xc7d59ecf,0x8ae336f8,0x2732b844,0x3f4f85f4,0x056e3723
-.long 0x89e800ca,0x8a10b531,0x145208fd,0x50fe0c17,0xb714ba37,0x9e43c0d3,0x34189acc,0x427d200e,0xe616e2c0,0x05dee24f,0xee1854c1,0x9c25f4c8,0x8f342a73,0x4d3222a5,0xa027c952,0x0807804f
-.long 0x4f0d56f3,0xc222653a,0xca28b805,0x961e4047,0x4a73434b,0x2c03f8b0,0xab712a19,0x4c966787,0x864fee42,0xcc196c42,0x5b0ece5c,0xc1be93da,0xc131c159,0xa87d9f22,0xdce45655,0x2bb6d593
-.long 0xb809b7ce,0x22c49ec9,0xe2c72c2c,0x8a41486b,0xfea0bf36,0x813b9420,0xa66dac69,0xb3d36ee9,0x328cc987,0x6fddc08a,0x3a326461,0x0a3bcd2c,0xd810dbba,0x7103c49d,0x4b78a4c4,0xf9d81a28
-.long 0xe4d55941,0x3de865ad,0x30384087,0xdedafa5e,0x4ef18b9b,0x6f414abb,0xfaee5268,0x9ee9ea42,0x37a55a4a,0x260faa16,0x015f93b9,0xeb19a514,0x9e9c3598,0x51d7ebd2,0x1932178e,0x523fc56d
-.long 0xb98fe684,0x501d070c,0x124a1458,0xd60fbe9a,0x92bc6b3f,0xa45761c8,0xfe6f27cb,0xf5384858,0xb59e763b,0x4b0271f7,0x5b5a8e5e,0x3d4606a9,0x05a48292,0x1eda5d9b,0xe6fec446,0xda7731d0
-.long 0x90d45871,0xa3e33693,0x06166d8d,0xe9764040,0x89a90403,0xb5c33682,0x72f1d637,0x4bd17983,0xd5d2c53a,0xa616679e,0xfdcf3b87,0x5ec4bcd8,0xb66a694e,0xae6d7613,0xe3fc27e5,0x7460fc76
-.long 0x95caabee,0x70469b82,0x889501e3,0xde024ca5,0x076ed265,0x6bdadc06,0x5a0ef8b2,0x0cb1236b,0x0972ebf9,0x4065ddbf,0x22aca432,0xf1dd3875,0x744aff76,0xa88b97cf,0xfe8e3d24,0xd1359afd
-.long 0x91502cf3,0x52a3ba2b,0x084db75d,0x2c3832a8,0xde30b1c9,0x04a12ddd,0xe31fd60c,0x7802eabc,0xa37fddab,0x33707327,0xfaafa973,0x65d6f2ab,0x11e6f91a,0x3525c5b8,0x5f46530b,0x76aeb0c9
-.long 0x2f93a675,0xe8815ff6,0x05f48679,0xa6ec9684,0x358ae884,0x6dcbb556,0xe19e3873,0x0af61472,0xa5f696be,0x72334372,0x6f22fb70,0xc65e57ea,0x946cea90,0x268da30c,0x65681b2a,0x136a8a87
-.long 0x0f9f44d4,0xad5e81dc,0x2c46585a,0xf09a6960,0xc447d1b1,0xd1649164,0x879dc8b1,0x3b4b36c8,0x3b6b234c,0x20d4177b,0x1730d9d0,0x096a2505,0xef80531d,0x0611b9b8,0x64bb495d,0xba904b3b
-.long 0x93a3147a,0x1192d9d4,0x9a565545,0x9f30a5dc,0x6ef07212,0x90b1f9cb,0x0d87fc13,0x29958546,0xc17db9ba,0xd3323eff,0xcb1644a8,0xcb18548c,0x4f49ffbc,0x18a306d4,0x4c2e8684,0x28d658f1
-.long 0xa99f8c71,0x44ba60cd,0x4bf742ff,0x67b7abdb,0x914b3f99,0x66310f9c,0xf412c161,0xae430a32,0x88ace52f,0x1e6776d3,0x52d7067d,0x4bc0fa24,0x8f07cd1b,0x03c286aa,0xa985b2c1,0x4cb8f38c
-.long 0x8c3bff36,0x83ccbe80,0x5263e575,0x005a0bd2,0x259bdcd1,0x460d7dda,0xfa5cab6b,0x4a1c5642,0x9fe4fc88,0x2b7bdbb9,0xcc97bbb5,0x09418e28,0xa12321ae,0xd8274fb4,0x5c87b64e,0xb137007d
-.long 0xc63c4962,0x80531fe1,0x981fdb25,0x50541e89,0xfd4c2b6b,0xdc1291a1,0xa6df4fca,0xc0693a17,0x0117f203,0xb2c4604e,0x0a99b8d0,0x245f1963,0xc6212c44,0xaedc20aa,0x520f52a8,0xb1ed4e56
-.long 0xf8547be3,0xfe48f575,0xa9e45f98,0x0a7033cd,0x18c50100,0x4b45d3a9,0xa61d41da,0xb2a6cd6a,0x57933c6b,0x60bbb4f5,0x2b0d7ffc,0xa7538ebd,0x8cd626b6,0x9ea3ab8d,0x3601625a,0x8273a484
-.long 0x0168e508,0x88859845,0x99a94abd,0x8cbc9bb2,0xfab0a671,0x713ac792,0x6c9ebffc,0xa3995b19,0x1239e152,0xe711668e,0xbbb8dff4,0x56892558,0xdbf17963,0x8bfc7dab,0xb3de1253,0x5b59fe5a
-.long 0x34a9f7ae,0x7e3320eb,0xd751efe4,0xe5e8cf72,0xd9be2f37,0x7ea003bc,0xb6c08ef7,0xc0f551a0,0x038f6725,0x56606268,0x6d92d3b6,0x1dd38e35,0xc3cbd686,0x07dfce7c,0x651c5da8,0x4e549e04
-.long 0x08b19340,0x4058f93b,0xcac6d89d,0xc2fae6f4,0x8f159cc7,0x4bad8a8c,0xcb0b601c,0x0ddba4b3,0x1dd95f8c,0xda4fc7b5,0xcea5c255,0x1d163cd7,0x274a8c4c,0x30707d06,0x2802e9ce,0x79d9e008
-.long 0xe6ddd505,0x02a29ebf,0xb50bed1a,0x37064e74,0xa7327d57,0x3f6bae65,0xf83920bc,0x3846f5f1,0x60df1b9b,0x87c37491,0x2d1da29f,0x4cfb2895,0x4ed1743c,0x10a478ca,0x3edd47c6,0x390c6030
-.long 0x8c0a78de,0x8f3e5312,0x1e85df70,0xccd02bda,0xa61b6582,0xd6c75c03,0xfc0eebd1,0x0762921c,0xd85010c0,0xd34d0823,0x0044cf1f,0xd73aaacb,0xa3b5e78a,0xfb4159bb,0xe5826f3f,0x2287c7f7
-.long 0x580b1a01,0x4aeaf742,0x60423b79,0xf080415d,0xa7dea144,0xe12622cd,0x59d62472,0x49ea4996,0x571f3913,0xb42991ef,0xf5b25a8a,0x0610f214,0x30b79e8f,0x47adc585,0x07a065a2,0xf90e3df6
-.long 0x43e2e034,0x5d0a5deb,0x444024aa,0x53fb5a34,0x6b0c9f7f,0xa8628c68,0xac563656,0x9c69c29c,0xbace47b6,0x5a231feb,0x9ea5a2ec,0xbdce0289,0x9463853e,0x05da1fac,0x509e78aa,0x96812c52
-.long 0x57151692,0xd3fb5771,0xd98e1c44,0xeb2721f8,0x32399be1,0xc0506087,0xd979d8b8,0xda5a5511,0xc6f56780,0x737ed55d,0x0dc7a7f4,0xe20d3004,0xf5941a03,0x02ce7301,0xed30f83a,0x91ef5215
-.long 0x4092d85f,0x28727fc1,0x5c49e41a,0x72d223c6,0xba6a4d81,0xa7cf30a2,0xb030d87d,0x7c086209,0xfc588b09,0x04844c7d,0x5874bbb0,0x728cd499,0xe84c0495,0xcc1281ee,0xec31958f,0x0769b5ba
-.long 0xf99c2471,0x665c228b,0x191eb110,0xf2d8a11b,0xd36d7024,0x4594f494,0xcdcb25a1,0x482ded8b,0xdadd4885,0xc958a9d8,0xf1d2b547,0x7004477e,0x2a0af550,0x0a45f6ef,0x2f8d6351,0x4fc739d6
-.long 0x786f08a9,0x75cdaf27,0x42c2737f,0x8700bb26,0x1c4e2670,0x855a7141,0x15076fef,0x810188c1,0xabcd3297,0xc251d0c9,0xf48108eb,0xae4c8967,0x18ceed30,0xbd146de7,0xc986bced,0xf9d4f07a
-.long 0x83fa1e08,0x5ad98ed5,0xbeabd1fb,0x7780d33e,0x903b1196,0xe330513c,0xa47bc8c4,0xba11de9e,0x02c2d064,0x684334da,0xa48de23b,0x7ecf360d,0x0a9089d8,0x57a1b474,0xff36734c,0xf28fa439
-.long 0xea4570b3,0xf2a482cb,0xa5ebcee9,0xee65d68b,0xb9694cd5,0x988d0036,0x37885d32,0x53edd0e9,0xbeb9bc6d,0xe37e3307,0x9f5c6768,0xe9abb907,0x51f2160f,0x4396ccd5,0x47336da6,0x2500888c
-.long 0x926fce43,0x383f9ed9,0x04da2930,0x809dd1c7,0x8a4cb227,0x30f6f596,0x73a56b38,0x0d700c7f,0xab64a065,0x1825ea33,0x1338df80,0xaab9b735,0x9b63f57f,0x1516100d,0x27a6a634,0x2574395a
-.long 0x700a1acd,0xb5560fb6,0xfd999681,0xe823fd73,0x6cb4e1ba,0xda915d1f,0x6ebe00a3,0x0d030118,0x89fca8cd,0x744fb0c9,0xf9da0e0b,0x970d01db,0x7931d76f,0x0ad8c564,0xf659b96a,0xb15737bf
-.long 0xa8b484e7,0xdc9933e8,0x7a26dec7,0xb2fdbdf9,0x9f1f0136,0x2349e9a4,0x70fddddb,0x7860368e,0xf9ad3e18,0xd93d2c1c,0x689f4e79,0x6d6c5f17,0xb24ff1b6,0x7a544d91,0xfe16cd8c,0x3e12a5eb
-.long 0xa56b872f,0x543574e9,0xfcf68ea2,0xa1ad550c,0x3f560ef7,0x689e37d2,0xc9d47a8b,0x8c54b9ca,0x088ac342,0x46d40a4a,0x1576c6d0,0xec450c7c,0x1f9689e9,0xb589e31c,0xb8781718,0xdacf2602
-.long 0xc8cb6b42,0xa89237c6,0xb96ef381,0x1326fc93,0xb5f07825,0x55d56c6d,0x7449e22d,0xacba2eea,0x633c3000,0x74e0887a,0xd7cbcf71,0xcb6cd172,0xc36cf1be,0x309e81de,0x60ae399b,0x07a18a6d
-.long 0x9edce57e,0xb36c2679,0xdf001d41,0x52b892f4,0x16a1f2c6,0xd884ae5d,0xefcc370a,0x9b329424,0xbd2e21df,0x3120daf2,0x02470a99,0x55298d2d,0xa05db32e,0x0b78af6c,0x601f5636,0x5c76a331
-.long 0xf8a4f29c,0xaae861ff,0xd68f8d49,0x70dc9240,0x81b1321c,0x960e649f,0x8792e4ce,0x3d2c801b,0x42521876,0xf479f772,0x416c79b1,0x0bed93bc,0x263e5bc9,0xa67fbc05,0x521db049,0x01e8e630
-.long 0xc6f3431e,0x76f26738,0xe3267541,0xe609cb02,0x818c877c,0xb10cff2d,0x786a13cb,0x1f0e75ce,0x1158544d,0xf4fdca64,0x6cb71ed0,0x5d777e89,0xa9aa4755,0x3c233737,0xe527ab40,0x7b453192
-.long 0x39f05ffe,0xdb59f688,0x6d82574e,0x8f4f4be0,0xee292d1b,0xcce3450c,0x61ccd086,0xaa448a12,0xf7914967,0xabce91b3,0x1908a5ed,0x4537f09b,0xf51042e7,0xa812421e,0xec0b3a34,0xfaf5cebc
-.long 0x4ca6b39a,0x730ffd87,0x02efd342,0x70fb72ed,0xd75c8edb,0xeb4735f9,0xc278aa51,0xc11f2157,0xbf3bfebf,0xc459f635,0x6bd9601f,0x3a1ff0b4,0xc420cb73,0xc9d12823,0x3c2915a3,0x3e9af3e2
-.long 0xb41c3440,0xe0c82c72,0xe3039a5f,0x175239e5,0x558795a3,0xe1084b8a,0xd01e5c60,0x328d0a1d,0xd3788a04,0x0a495f2e,0x66c11a9f,0x25d8ff16,0x9ed692d6,0xf5155f05,0x4f425fe4,0x954fa107
-.long 0xe98aaa99,0xd16aabf2,0x96b0f88a,0x90cd8ba0,0xc154026a,0x957f4782,0x52af56d2,0x54ee0734,0x45b4147a,0xbcf89e54,0x9a52816c,0x3d102f21,0x39b62e77,0x6808517e,0x69169ad8,0x92e25421
-.long 0xbb608558,0xd721d871,0xf6d4ff9b,0x60e4ebae,0x41f2763e,0x0ba10819,0x51ee3247,0xca2e45be,0x2bfd7a5f,0x66d172ec,0x74d0b12d,0x528a8f2f,0xdabe70dc,0xe17f1e38,0x9f93983c,0x1d5d7316
-.long 0xdf423e31,0x51b2184a,0xaedb1a10,0xcb417291,0x625bcab9,0x2054ca93,0xa98998f0,0x54396860,0xa54ae57e,0x4e53f6c4,0xee648e9d,0x0ffeb590,0x6afaf6bc,0xfbbdaadc,0xaa3bfb8a,0xf88ae796
-.long 0xd2359ed9,0x209f1d44,0xf3544ce2,0xac68dd03,0xfd51e569,0xf378da47,0x2cc80097,0xe1abd860,0x343b6e3a,0x23ca18d9,0xb40a1bae,0x480797e8,0x533f3e67,0xd1f0c717,0x06e6cdfc,0x44896970
-.long 0x52a82e8d,0x8ca21055,0x78460cdc,0xb2caf785,0xe9037178,0x4c1b7b62,0xdb514b58,0xefc09d2c,0x9113be5c,0x5f2df9ee,0xb3f9271c,0x2fbda78f,0x8f83fc54,0xe09a81af,0x8afb5141,0x06b13866
-.long 0x43e3865d,0x38f6480f,0x1ddf47d9,0x72dd77a8,0x4c205ff7,0xf2a8e971,0x9d088ad8,0x46d449d8,0x185d706f,0x926619ea,0xc7dd7f62,0xe47e02eb,0x8cbc2031,0xe7f120a7,0x998d4ac9,0xc18bef00
-.long 0x6bdf22da,0x18f37a9c,0x90dc82df,0xefbc432f,0x5d703651,0xc52cef8e,0xd99881a5,0x82887ba0,0xb920ec1d,0x7cec9dda,0xec3e8d3b,0xd0d7e8c3,0x4ca88747,0x445bc395,0x9fd53535,0xedeaa2e0
-.long 0x6cc87475,0x461b1d93,0x6d2383bd,0xd92a52e2,0xd7903546,0xfabccb59,0x3d14b112,0x6111a761,0xb3d5f612,0x0ae584fe,0x60e828ec,0x5ea69b8d,0x54087030,0x6c078985,0xac4821fe,0x649cab04
-.long 0x8bdce214,0x25ecedcf,0x86af7361,0xb5622f72,0x7038b9e2,0x0e1227aa,0xac20fa77,0xd0efb273,0x79df975b,0x817ff88b,0x1999503e,0x856bf286,0x5038ec46,0xb4d5351f,0xfc42af6e,0x740a52c5
-.long 0x2cbb1a3f,0x2e38bb15,0x17a83429,0xc3eb99fe,0xdd66bb74,0xca4fcbf1,0xcde5e8fc,0x880784d6,0xb4e7a0be,0xddc84c1c,0xbd15a72f,0x8780510d,0x81ec30e1,0x44bcf1af,0x0a61073e,0x141e50a8
-.long 0x47be87ae,0x0d955718,0xf76a4372,0x68a61417,0xc607c3d3,0xf57e7e87,0x5252f332,0x043afaf8,0x1552a4d2,0xcc14e121,0xbb4d4ab4,0xb6dee692,0xa03816a4,0xb6ab74c8,0x6f394a29,0x84001ae4
-.long 0xd795fb45,0x5bed8344,0xb79f55a5,0x57326e7d,0x4accdffc,0xc9533ce0,0x3993fa04,0x53473caf,0xa13df4c8,0x7906eb93,0x97cbe46f,0xa73e51f6,0x0ae4ccf8,0xd1ab3ae1,0x8a5b3dbc,0x25614508
-.long 0x11a71b27,0x61eff962,0x6bb7fa39,0xdf71412b,0x2bd7f3ef,0xb31ba6b8,0x69180d29,0xb0b9c415,0x014cdde5,0xeec14552,0x227b4bbb,0x702c624b,0xd3e988f3,0x2b15e8c2,0xa4f7fd04,0xee3bcc6d
-.long 0x42ac6c85,0x9d00822a,0x1df9f2b7,0x2db0cea6,0x42de1e58,0xd7cad2ab,0x2d6fbb61,0x346ed526,0x1a2faf09,0xb3962995,0x7c25612e,0x2fa8a580,0x7cf56490,0x30ae04da,0x0eea3961,0x75662908
-.long 0x3d080847,0x3609f5c5,0x5241d4f6,0xcb081d39,0x77961a63,0xb4fb3810,0x2abb66fc,0xc20c5984,0xf902f245,0x3d40aa7c,0x4e536b1e,0x9cb12736,0x99b3134f,0x5eda24da,0x5cd011af,0xafbd9c69
-.long 0xc7088c7d,0x9a16e30a,0x3207389f,0x5ab65710,0xe7407a53,0x1b09547f,0x4fdc6eab,0x2322f9d7,0x7430de4d,0xc0f2f22d,0xe68ca9a9,0x19382696,0x918e5868,0x17f1eff1,0x586f4204,0xe3b5b635
-.long 0x3fbc4341,0x146ef980,0x5b5eed4e,0x359f2c80,0x7482e41d,0x9f35744e,0xf3b224c2,0x9a9ac3ec,0x91fc50ae,0x9161a6fe,0xc613fa7c,0x89ccc66b,0xc732f15a,0x89268b14,0xb467ed03,0x7cd6f4e2
-.long 0xce56b40e,0xfbf79869,0xc02dde98,0xf93e094c,0xedee2cd7,0xefe0c3a8,0xb268fd42,0x90f3ffc0,0x08241aed,0x81a7fd56,0x00b1afe8,0x95ab7ad8,0x3e310d52,0x40127056,0x09d9fc43,0xd3ffdeb1
-.long 0xd11a8594,0xc8f85c91,0x31cf6db8,0x2e74d258,0x02b5dfd0,0x829c7ca3,0x69143c86,0xe389cfbe,0x941768d8,0xd01b6405,0x03bf825d,0x45103995,0x56cd17e2,0xcc4ee166,0xba037e79,0xbea3c283
-.long 0xd9a47520,0x4e1ac06e,0xaf852404,0xfbfe18aa,0x8087648a,0x5615f8e2,0xb9d150d9,0x7301e47e,0xb299b977,0x79f9f9dd,0xa5b78314,0x76697a7b,0x7d7c90e7,0x10d67468,0x937210b5,0x7afffe03
-.long 0x28c22cee,0x5aef3e4b,0x09fd55ae,0xefb0ecd8,0x0d2a5d6a,0x4cea7132,0x01db6357,0x9cfb5fa1,0xf36e1ac5,0x395e0b57,0x36cafb7d,0x008fa9ad,0x5308c4db,0x8f6cdf70,0x95ed2477,0x51527a37
-.long 0x5bd21311,0xba0dee30,0x909c90d7,0x6ed41b22,0x7c8696d3,0xc5f6b758,0x3ce83a80,0x0db8eaa8,0xb24b4b6f,0xd297fe37,0x522d1f0d,0xfe58afe8,0x8c98dbd9,0x97358736,0x9454a527,0x6bc226ca
-.long 0xce53c2d0,0xa12b384e,0x5e4606da,0x779d897d,0x73ec12b0,0xa53e47b0,0x5756f1ad,0x462dbbba,0xcafe37b6,0x69fe09f2,0xecce2e17,0x273d1ebf,0x3cf607fd,0x8ac1d538,0x12e10c25,0x8035f7ff
-.long 0x7e6c5520,0x854d34c7,0xdcb9ea58,0xc27df9ef,0xd686666d,0x405f2369,0x0417aa85,0x29d1febf,0x93470afe,0x9846819e,0xe2a27f9e,0x3e6a9669,0xe31e6504,0x24d008a2,0x9cb7680a,0xdba7cecf
-.long 0x338d6e43,0xecaff541,0x4541d5cc,0x56f7dd73,0x96bc88ca,0xb5d426de,0x9ed3a2c3,0x48d94f6b,0x2ef8279c,0x6354a3bb,0x0b1867f2,0xd575465b,0x95225151,0xef99b0ff,0xf94500d8,0xf3e19d88
-.long 0xe32dd620,0x92a83268,0x627849a2,0x913ec99f,0x2c378882,0xedd8fdfa,0xee6f8cfe,0xaf96f33e,0xdc3fa8a5,0xc06737e5,0xb0b03a1d,0x236bb531,0x89f037b0,0x33e59f29,0xd9a12a53,0x13f9b5a7
-.long 0x51efb310,0x0d0df6ce,0x958df5be,0xcb5b2eb4,0x36158e59,0xd6459e29,0x1466e336,0x82aae2b9,0x411aa636,0xfb658a39,0xd4c0a933,0x7152ecc5,0x49f026b7,0xf10c758a,0xcb09311f,0xf4837f97
-.long 0xc753c45f,0xddfb02c4,0xf9c840fe,0x18ca81b6,0xb0f8a3e6,0x846fd09a,0xe7733dbc,0xb1162add,0x236e3ab6,0x7070ad20,0xb2a56326,0xf88cdaf5,0x997cbc7a,0x05fc8719,0x4b665272,0x442cd452
-.long 0xb71698f5,0x7807f364,0x9f7b605e,0x6ba418d2,0xa03b2cbb,0xfd20b00f,0xda54386f,0x883eca37,0xf3437f24,0xff0be43f,0xa48bb33c,0xe910b432,0x329df765,0x4963a128,0xbe2fe6f7,0xac1dd556
-.long 0x24a0a3fc,0x557610f9,0xe881c3f9,0x38e17bf4,0xed0dac99,0x6ba84faf,0x59eeb918,0xd4a222c3,0x13f542b6,0xc79c1dbe,0xe425d457,0x1fc65e0d,0x1debb779,0xeffb754f,0x9e08af60,0x638d8fd0
-.long 0x626332d5,0x994f523a,0x5561bb44,0x7bc38833,0x3d845ea2,0x005ed4b0,0xc2a1f08a,0xd39d3ee1,0xe7676b0d,0x6561fdd3,0xfb706017,0x620e35ff,0xf264f9a8,0x36ce424f,0xda2681f7,0xc4c3419f
-.long 0x69beb6e8,0xfb6afd2f,0x6d700d03,0x3a50b993,0x0c83a14f,0xc840b2ad,0x54085bef,0x573207be,0x09fe7e5b,0x5af882e3,0x3b40a7e1,0x957678a4,0x543056e2,0x172d4bdd,0x0df13c0a,0x9c1b26b4
-.long 0xf405ff06,0x1c30861c,0x486e828b,0xebac86bd,0x636933fc,0xe791a971,0x7aeee947,0x50e7c2be,0xfa90d767,0xc3d4a095,0xe670ab7b,0xae60eb7b,0x397b056d,0x17633a64,0x105012aa,0x93a21f33
-.long 0xabb88643,0x663c370b,0x22e21599,0x91df36d7,0x8b761671,0x183ba835,0x728f3bf1,0x381eea1d,0x39966e6c,0xb9b2f1ba,0xe7295492,0x7c464a28,0x09b26b7f,0x0fd5f70a,0xfbe009df,0xa9aba1f9
-.long 0x369b87ad,0x857c1f22,0x32fca556,0x3c00e5d9,0x90b06466,0x1ad74cab,0x550faaf2,0xa7112386,0x6d9bd5f5,0x7435e198,0x59c3463f,0x2dcc7e38,0xca7bd4b2,0xdc7df748,0x9dec2f31,0x13cd4c08
-.long 0xe3237710,0x0d3b5df8,0xcbd2f7b0,0x0dadb26e,0xe4aa082b,0x9f5966ab,0x350e966e,0x666ec8de,0xee524216,0x1bfd1ed5,0x41dab0b6,0xcd93c59b,0xd186d6ba,0x658a8435,0x159d1195,0x1b7d34d2
-.long 0x22caf46b,0x5936e460,0x9a96fe4f,0x6a45dd8f,0xb98f474e,0xf7925434,0x0053ef15,0x41410412,0x41de97bf,0x71cf8d12,0xbd80bef4,0xb8547b61,0xc4db0037,0xb47d3970,0xfef20dff,0xf1bcd328
-.long 0x10caad67,0x31a92e09,0x5531a1e1,0x1f591960,0x5f4fc840,0x3bb852e0,0x93a72c6c,0x63e297ca,0x49abad67,0x3c2b0b2e,0xed3db0d9,0x6ec405fc,0x7fef1d40,0xdc14a530,0x280896fc,0xccd19846
-.long 0x9bb81648,0x00f83176,0x653120d0,0xd69eb485,0x4ccabc62,0xd17d75f4,0xb749fcb1,0x34a07f82,0xbbfb5554,0x2c3af787,0x62e283f8,0xb06ed4d0,0xa19213a0,0x5722889f,0xdcf3c7b4,0x162b085e
-.long 0xe0dd3eca,0xbcaecb31,0xe52f13a5,0xc6237fbc,0x27bac297,0xcc2b6b03,0xb917f54a,0x2ae1cac5,0x7845ae4f,0x474807d4,0xce5972e0,0xfec7dd92,0x1d7915bb,0xc3bd2541,0xd94907ca,0x66f85dc4
-.long 0xbdbcf0ca,0xd981b888,0xdf279e9f,0xd75f5da6,0x7054e934,0x128bbf24,0x81db134b,0x3c6ff6e5,0x047d26e4,0x795b7cf4,0x5049ec37,0xf370f7b8,0xced945af,0xc6712d4d,0x095642bc,0xdf30b5ec
-.long 0x4896246e,0x9b034c62,0xee90bbd1,0x5652c016,0x87fedb73,0xeb38636f,0x0135a613,0x5e32f847,0xcf933c83,0x0703b312,0x1a7f47e6,0xd05bb76e,0x949c2415,0x825e4f0c,0x7250d6f8,0x569e5622
-.long 0x6568013e,0xbbe9eb3a,0x22f243fc,0x8dbd203f,0xb342734a,0x9dbd7694,0x46afa984,0x8f6d12f8,0xc9eade29,0xb98610a2,0x47dd0f18,0xbab4f323,0x671c0d46,0x5779737b,0xd3e0a42a,0x10b6a7c6
-.long 0x3035b41c,0xfb19ddf3,0x99c45895,0xd336343f,0x54c857e5,0x61fe4938,0xae4e57d5,0xc4d506be,0xbbc33f75,0x3cd8c8cb,0x9262c77d,0x7281f08a,0xf11a2823,0x083f4ea6,0x9fba2e33,0x8895041e
-.long 0x9c438edf,0xfcdfea49,0x91edba44,0x7678dcc3,0xe2ba50f0,0xf07b3b87,0x43948c1b,0xc13888ef,0x1140af42,0xc2135ad4,0x926ed1a7,0x8e5104f3,0x88f6695f,0xf24430cb,0x6d73c120,0x0ce0637b
-.long 0xfe631e8f,0xb2db01e6,0xd7bdd24b,0x1c5563d7,0x369ad44f,0x8daea3ba,0x8187a9f9,0x000c81b6,0xaae1fd9a,0x5f48a951,0x8d5aed8a,0xe35626c7,0x0498c622,0x20952763,0x773aa504,0x76d17634
-.long 0xeb300f7a,0x36d90dda,0xedb5e801,0x9dcf7dfc,0x74d5244c,0x645cb268,0x348e3aa2,0xa127ee79,0x575f1dbb,0x488acc53,0x80e6161e,0x95037e85,0x292650d0,0x57e59283,0x14938216,0xabe67d99
-.long 0x3f8e1065,0x3c7f944b,0x330e8924,0xed908cb6,0x6f530136,0x08ee8fd5,0xd7ffc169,0x2227b7d5,0xb5cd6dd5,0x4f55c893,0xa62796e8,0x82225e11,0xcb18e12c,0x5c6cead1,0x84f5a51a,0x4381ae0c
-.long 0x7fafa4c8,0x345913d3,0x0491aac0,0x3d918082,0x3e69264c,0x9347871f,0xb4f4f0cd,0xbea9dd3c,0x3eadd3e7,0xbda5d067,0x0573bcd8,0x0033c1b8,0x5da2486c,0x25589379,0x86abbee7,0xcb89ee5b
-.long 0x22532e5d,0x8fe0a8f3,0x727dfc4c,0xb6410ff0,0x226726db,0x619b9d58,0x7a2b2dc7,0x5ec25669,0x4c3beb01,0xaf4d2e06,0x7acea556,0x852123d0,0xf783487a,0x0e9470fa,0x5664b3eb,0x75a7ea04
-.long 0x6798e4ba,0x4ad78f35,0xc7d0e091,0x9214e6e5,0xb1290403,0xc420b488,0xfc295749,0x64049e0a,0x3ae9841f,0x03ef5af1,0xb0b662a6,0xdbe4ca19,0xfa453458,0x46845c5f,0x10b66722,0xf8dabf19
-.long 0xcce2793b,0xb650f0aa,0xc5ec47c1,0x71db851e,0x3b234fa9,0x3eb78f3e,0xfc0106ce,0xb0c60f35,0x774eadbd,0x05427121,0xce323863,0x25367faf,0xcd086976,0x7541b5c9,0xdc507ad1,0x4ff069e2
-.long 0x8776e667,0x74145256,0xb23c6bb5,0x6e76142c,0x1b3a8a87,0xdbf30712,0x98450836,0x60e7363e,0xb7366d80,0x5741450e,0x4837dbdf,0xe4ee14ca,0x69d4316f,0xa765eb9b,0x8ef43825,0x04548dca
-.long 0x5ae888eb,0x9c9f4e4c,0x56e9ac99,0x733abb51,0xba6ac029,0xdaad3c20,0x2ba3e38e,0x9b8dd3d3,0x0bc5d11a,0xa9bb4c92,0x9c5f88a3,0xf20127a7,0x161d3cb8,0x4f52b06e,0x6afaf0a6,0x26c1ff09
-.long 0x7189e71f,0x32670d2f,0x5ecf91e7,0xc6438748,0xdb757a21,0x15758e57,0x290a9ce5,0x427d09f8,0x38384a7a,0x846a308f,0xb0732b99,0xaac3acb4,0x17845819,0x9e941009,0xa7ce5e03,0x95cba111
-.long 0xb00009c4,0x6f3d4f7f,0x8ff28b5f,0xb8396c27,0x1c97975d,0xb1a9ae43,0xe5d9fed5,0x9d7ba8af,0x34f485b6,0x338cf09f,0x64122516,0xbc0ddacc,0x05d471fe,0xa450da12,0x628dd8c9,0x4c3a6250
-.long 0xd1295837,0x69c7d103,0x3807eb2f,0xa2893e50,0xbdb41491,0xd6e1e1de,0x5e138235,0xc630745b,0x48661ae1,0xc892109e,0xea2b2674,0x8d17e7eb,0xc328d6b5,0x00ec0f87,0xf079ff9e,0x6d858645
-.long 0x19115ead,0x6cdf243e,0x4bac4fcf,0x1ce1393e,0x9c29f25b,0x2c960ed0,0x9d388a05,0x59be4d8e,0xd0def72b,0x0d46e06c,0xe0342748,0xb923db5d,0x936d4a3d,0xf7d3aacd,0x0b0b099e,0x558519cc
-.long 0x827097ef,0x3ea8ebf8,0xd054f55d,0x259353db,0x6d2ed089,0x84c89abc,0x8e096a7c,0x5c548b69,0x994b995d,0xd587f616,0xa5845601,0x4d1531f6,0x451fd9f0,0x792ab31e,0x65adf6ca,0xc8b57bb2
-.long 0x1cd5ad73,0x68440fcb,0x6144da4f,0xb9c860e6,0x8462beb8,0x2ab286aa,0xef46797f,0xcc6b8fff,0x20c8a471,0xac820da4,0x77ff7faf,0x69ae05a1,0xbfb5da77,0xb9163f39,0x2c73ab7a,0xbd03e590
-.long 0xb2940d9e,0x7e862b5e,0x4b9af564,0x3c663d86,0xbde3033d,0xd8309031,0xd42c5bc6,0x298231b2,0x552ad093,0x42090d2c,0xff854695,0xa4799d1c,0xd31f0d00,0x0a88b5d6,0xa2f26b46,0xf8b40825
-.long 0xf1bd7218,0xec29b1ed,0x4b24c86e,0xd491c53b,0x3395ea65,0xd2fe588f,0x4456ef15,0x6f3764f7,0xcdc34800,0xdb43116d,0xc1e33955,0xcdbcd456,0x74ab286b,0xefdb5540,0xd18c5d7c,0x948c7a51
-.long 0x7378058e,0xeb81aa37,0x04411154,0x41c746a1,0xfb828ac7,0xa10c73bc,0x9d972b29,0x6439be91,0x43a2fbad,0x4bf3b4b0,0x82b5e840,0x39e6dadf,0x6397bd4c,0x4f716408,0x7f1eeccb,0x0f7de568
-.long 0xd2ffbfc1,0x5865c5a1,0x4ccb6451,0xf74211fa,0xc0b32558,0x66368a88,0x9ad7812e,0x5b539dc2,0x2f3af6f6,0x579483d0,0x99934ece,0x52132078,0xdcc9e983,0x50b9650f,0xaee42b8a,0xca989ec9
-.long 0xd6f62f99,0x6a44c829,0x4c2a7c0c,0x8f06a309,0x98a0cb0a,0x4ea2b3a0,0xbeee8364,0x5c547b70,0x682afe11,0x461d40e1,0x7b41c0a8,0x9e0fc77a,0xe20d5d36,0x79e4aefd,0x32dd9f63,0x2916e520
-.long 0x3f883faf,0xf59e52e8,0x2b868d35,0x396f9639,0x4ca19881,0xc902a9df,0xdb2401a6,0x0fc96822,0x66f1c68d,0x41237587,0xfb476c0d,0x10fc6de3,0x841f5d90,0xf8b6b579,0xfa24f44a,0x2ba8446c
-.long 0xef4a9975,0xa237b920,0x2330435f,0x60bb6004,0xcfb7e7b5,0xd6f4ab5a,0x83435391,0xb2ac5097,0xb0d1ea67,0xf036ee2f,0x74c56230,0xae779a6a,0xab838ae6,0x59bff8c8,0x9b38e6f0,0xcd83ca99
-.long 0xe33deed3,0xbb27bef5,0x001892a8,0xe6356f6f,0x7adfbd3e,0xbf3be6cc,0x33d1ac9d,0xaecbc81c,0xe6e861dc,0xe4feb909,0x53f5f801,0x90a247a4,0x27346e57,0x01c50acb,0x461acc1b,0xce29242e
-.long 0x2f998a91,0x04dd214a,0xd4baf27b,0x271ee9b1,0xe8c26722,0x7e3027d1,0x1820dce5,0x21d1645c,0x7501779c,0x086f242c,0xfa0e8009,0xf0061407,0x60187129,0xf23ce477,0x0fde9bd0,0x05bbdedb
-.long 0x25d98473,0x682f4832,0x5c658427,0xf207fe85,0x4166ffa1,0xb6fdd7ba,0x9eed799d,0x0c314056,0x4107e28f,0x0db8048f,0x41216840,0x74ed3871,0x56a3c06e,0x74489f8f,0x12777134,0x1e1c005b
-.long 0xf37ec3c3,0xdb332a73,0xdd59eba0,0xc65259bd,0xdb4d3257,0x2291709c,0xbd389390,0x9a793b25,0xe43756f0,0xf39fe34b,0x9afb56c9,0x2f76bdce,0x61208b27,0x9f37867a,0x089972c3,0xea1d4307
-.long 0x8bdf623a,0x8c595330,0x8441fb7d,0x5f5accda,0x32ddfd95,0xfafa9418,0x0fde9be7,0x6ad40c5a,0xaeca8709,0x43faba89,0x2c248a9d,0xc64a7cf1,0x72637a76,0x16620252,0x22b8d1bb,0xaee1c791
-.long 0x21a843b2,0xf0f798fd,0x8d005cb1,0x56e4ed4d,0x1f0d8abe,0x355f7780,0x34522326,0x197b04cf,0xfd42c13f,0x41f9b31f,0xb40f933d,0x5ef7feb2,0x5d60bad4,0x27326f42,0x8c92cf89,0x027ecdb2
-.long 0x4e3352fe,0x04aae4d1,0x73591b90,0x08414d2f,0xb7da7d60,0x5ed6124e,0x4d13d4ec,0xb985b931,0x96bf36f9,0xa592d3ab,0xbbdf51df,0x012dbed5,0xdf6c177d,0xa57963c0,0x87ca29cf,0x010ec869
-.long 0xbf926dff,0xba1700f6,0xf4bf6bc2,0x7c9fdbd1,0x64da11f5,0xdc18dc8f,0xd938ae75,0xa6074b7a,0xe84f44a4,0x14270066,0xd27b954e,0x99998d38,0xb4f38e9a,0xc1be8ab2,0x15c01016,0x8bb55bbf
-.long 0x0ea2ab30,0xf73472b4,0xf73d68dd,0xd365a340,0x19c2e1eb,0xc01a7168,0x34061719,0x32f49e37,0x01d8b4d6,0xb73c57f1,0x26b47700,0x03c8423c,0xa4d8826a,0x321d0bc8,0x4bc0e638,0x6004213c
-.long 0xc1c06681,0xf78c64a1,0xef018e50,0x16e0a16f,0xdb42b2b3,0x31cbdf91,0xe0d36f58,0xf8f4ffce,0x4cc5e3e0,0xcdcc71cd,0xa129e3e0,0xd55c7cfa,0x0fb2cbf1,0xccdb6ba0,0xc4bce3cb,0x6aba0005
-.long 0xd232cfc4,0x501cdb30,0xd58a3cef,0x9ddcf12e,0x87e09149,0x02d2cf9c,0x2c976257,0xdc5d7ec7,0x0b50d7dd,0x6447986e,0x807f112a,0x88fdbaf7,0xb00ae9f6,0x58c9822a,0x6d3d27e0,0x6abfb950
-.long 0x8a429f4f,0xd0a74487,0xdb516609,0x0649712b,0xe769b5df,0xb826ba57,0x1fc7aaf2,0x82335df2,0x5c93d995,0x2389f067,0x68677be6,0x59ac367a,0x21d9951b,0xa77985ff,0x85011cce,0x038956fb
-.long 0xbb734e37,0x608e48cb,0x2be5b26f,0xc08c0bf2,0xf9b1a0d9,0x17bbdd3b,0x10483319,0xeac7d898,0xbc1a6dea,0xc95c4baf,0x172aafdb,0xfdd0e2bf,0x8235c41a,0x40373cbc,0xfb6f41d5,0x14303f21
-.long 0x0408f237,0xba063621,0xecd2d1ed,0xcad3b09a,0x52abb6a2,0x4667855a,0xaa8b417b,0xba9157dc,0x4f013efb,0xfe7f3507,0xaa38c4a2,0x1b112c4b,0x9ba64345,0xa1406a60,0x6993c80b,0xe53cba33
-.long 0xded40d23,0x45466063,0x54908e25,0x3d5f1f4d,0x403c3c31,0x9ebefe62,0x0672a624,0x274ea0b5,0x451d1b71,0xff818d99,0x8f79cf79,0x80e82643,0x73ce37f5,0xa165df13,0xfe3a21fd,0xa744ef4f
-.long 0xcf551396,0x73f1e7f5,0x868c676b,0xc616898e,0x8c442c36,0x671c28c7,0x5e0a317d,0xcfe5e558,0x7051f476,0x1242d818,0x14f03442,0x56fad2a6,0x0a44d0f6,0x262068bc,0xce6edf4e,0xdfa2cd6e
-.long 0xd15d1517,0x0f43813a,0x377d44f5,0x61214cb2,0xc639b35f,0xd399aa29,0x54c51c19,0x42136d71,0x08417221,0x9774711b,0x52545a57,0x0a5546b3,0x1150582d,0x80624c41,0xfbc555bc,0x9ec5c418
-.long 0x771849f1,0x2c87dcad,0x01d7bf6f,0xb0c932c5,0x89116eb2,0x6aa5cd3e,0x51ca7bd3,0xd378c25a,0x9e6e3e31,0xc612a0da,0xb68ad5d0,0x0417a54d,0x22c6edb8,0x00451e4a,0xb42827ce,0x9fbfe019
-.long 0xba9384a2,0x2fa92505,0x64ad69c1,0x21b8596e,0x983b35a6,0x8f4fcc49,0x72754672,0xde093760,0xf7bffe6d,0x2f14ccc8,0x5d94263d,0x27566bff,0x2df3ec30,0xb5b4e9c6,0x3e6ea6ba,0x94f1d7d5
-.long 0xaaca5e9b,0x97b7851a,0x56713b97,0x518aa521,0x150a61f6,0x3357e8c7,0xec2c2b69,0x7842e7e2,0x6868a548,0x8dffaf65,0xe068fc81,0xd963bd82,0x65917733,0x64da5c8b,0x7b247328,0x927090ff
-.long 0xd298c241,0x214bc9a7,0x56807cfd,0xe3b697ba,0x4564eadb,0xef1c7802,0xb48149c5,0xdde8cdcf,0x5a4d2604,0x946bf0a7,0x6c1538af,0x27154d7f,0xde5b1fcc,0x95cc9230,0x66864f82,0xd88519e9
-.long 0x7cb1282c,0xb828dd1a,0xbe46973a,0xa08d7626,0xe708d6b2,0x6baf8d40,0x4daeb3f3,0x72571fa1,0xf22dfd98,0x85b1732f,0x0087108d,0x87ab01a7,0x5988207a,0xaaaafea8,0x69f00755,0xccc832f8
-.long 0x36ff3bf0,0x964d950e,0xf0b34638,0x8ad20f6f,0xb5d7585f,0x4d9177b3,0xef3f019f,0xcf839760,0x8288c545,0x582fc5b3,0x13116bd1,0x2f8e4e9b,0x332120ef,0xf91e1b2f,0x2a17dd23,0xcf568724
-.long 0xca8d9d1a,0x488f1185,0xd987ded2,0xadf2c77d,0x60c46124,0x5f3039f0,0x71e095f4,0xe5d70b75,0x6260e70f,0x82d58650,0xf750d105,0x39d75ea7,0x75bac364,0x8cf3d0b1,0x21d01329,0xf3a7564d
-.long 0x2f52d2a7,0x182f04cd,0xe2df565a,0x4fde149a,0xa79fb2f7,0xb80c5eec,0x22ddc897,0xab491d7b,0xc6312c7f,0x99d76c18,0x6aa41a57,0xca0d5f3d,0xd15363a0,0x71207325,0xbeb252c2,0xe82aa265
-.long 0xec3128c2,0x94ab4700,0x8e383f49,0x6c76d862,0xc03024eb,0xdc36b150,0x53daac69,0xfb439477,0x8dc79623,0xfc68764a,0xb440fbb2,0x5b86995d,0xccc5ee0d,0xd66879bf,0x95aa8bd3,0x05228942
-.long 0x1e6a75c1,0xb51a40a5,0x0ea7d817,0x24327c76,0x07774597,0x06630182,0x97fa7164,0xd6fdbec3,0x13c90f48,0x20c99dfb,0x686ef263,0xd6ac5273,0xfef64eeb,0xc6a50bdc,0x86fdfc32,0xcd87b281
-.long 0x3fcd3efc,0xb24aa43e,0xb8088e9a,0xdd26c034,0xbd3d46ea,0xa5ef4dc9,0x8a4c6a6f,0xa2f99d58,0x2f1da46c,0xddabd355,0x1afacdd1,0x72c3f8ce,0x92d40578,0xd90c4eee,0xca623b94,0xd28bb41f
-.long 0x745edc11,0x50fc0711,0x3dc87558,0x9dd9ad7d,0xb49d1e64,0xce6931fb,0xc98bd0f9,0x6c77a0a2,0x6baf7cb1,0x62b9a629,0xccf72d22,0xcf065f91,0x79639071,0x7203cce9,0xf9cb732f,0x09ae4885
-.long 0xee8314f3,0x5e7c3bec,0xdbea298f,0x1c068aed,0x7c80acec,0x08d381f1,0xe330495b,0x03b56be8,0x9222882d,0xaeffb8f2,0xc4af8bf7,0x95ff38f6,0x1fc57d8c,0x50e32d35,0x17b444f0,0x6635be52
-.long 0xa5177900,0x04d15276,0xf6858752,0x4e1dbb47,0xc615796c,0x5b475622,0x691867bf,0xa6fa0387,0x2844c6d0,0xed7f5d56,0x03a2477d,0xc633cf9b,0x2d3721d6,0xf6be5c40,0xe9fd68e6,0xaf312eb7
-.long 0xe7417ce1,0x242792d2,0x970ee7f5,0xff42bc71,0x5c67a41e,0x1ff4dc6d,0x20882a58,0x77709b7b,0xbe217f2c,0x3554731d,0x5bb72177,0x2af2a8cd,0x591dd059,0x58eee769,0x4bba6477,0xbb2930c9
-.long 0x7d930cfc,0x863ee047,0x396fd1f4,0x4c262ad1,0x039af7e1,0xf4765bc8,0x5ba104f6,0x2519834b,0xd105f961,0x7cd61b4c,0xd63bca54,0xa5415da5,0x88a1f17c,0x778280a0,0x2329512c,0xc4968949
-.long 0xcecdaa7a,0x174a9126,0x0b13247b,0xfc8c7e0e,0x3484c1c4,0x29c110d2,0x831dfc3b,0xf8eb8757,0xc0067452,0x022f0212,0x7b9b926c,0x3f6f69ee,0xef42daf4,0x09032da0,0x83f80de4,0x79f00ade
-.long 0x81236c97,0x6210db71,0x3ee0781f,0x74f7685b,0xa3e41372,0x4df7da7b,0xb1a1553e,0x2aae38b1,0xf6dd9d1b,0x1688e222,0x5b8b6487,0x57695448,0x4b2edeaa,0x478d2127,0x1e85956a,0xb2818fa5
-.long 0xf176f2c0,0x1e6addda,0xe2572658,0x01ca4604,0x85342ffb,0x0a404ded,0x441838d6,0x8cf60f96,0xc9071c4a,0x9bbc691c,0x34442803,0xfd588744,0x809c0d81,0x97101c85,0x8c456f7f,0xa7fb754c
-.long 0xd51805e1,0xc95f3c5c,0xb299dca8,0xab4ccd39,0x47eaf500,0x3e03d20b,0xd7b80893,0xfa3165c1,0xe160e552,0x005e8b54,0x9019d11f,0xdc4972ba,0x0c9a4a7a,0x21a6972e,0x37840fd7,0xa52c258f
-.long 0xc1e99d81,0xf8559ff4,0xa3c617c0,0x08e1a7d6,0x248c6ba7,0xb398fd43,0xd1283794,0x6ffedd91,0xd629d208,0x8a6a59d2,0x3490530e,0xa9d141d5,0x38505989,0x42f6fc18,0x479d94ee,0x09bf250d
-.long 0xb3822790,0x223ad3b1,0x93b8971c,0x6c5926c0,0x75f7fa62,0x609efc7e,0x1ec2d989,0x45d66a6d,0x987d2792,0x4422d663,0x3eb31d2b,0x4a73caad,0xa32cb9e6,0xf06c2ac1,0x91aeba84,0xd9445c5f
-.long 0xaf71013f,0x6af7a1d5,0x0bedc946,0xe68216e5,0xd27370a0,0xf4cba30b,0x870421cc,0x7981afbf,0x9449f0e1,0x02496a67,0x0a47edae,0x86cfc4be,0xb1feca22,0x3073c936,0x03f8f8fb,0xf5694612
-.long 0x901515ea,0xd063b723,0x749cf038,0x4c6c77a5,0xab9e5059,0x6361e360,0xa76a37c0,0x596cf171,0x6530ae7a,0x800f53fa,0x0792a7a6,0x0f5e631e,0xefdb81c9,0x5cc29c24,0x3f9c40ba,0xa269e868
-.long 0x2cb7191e,0xec14f9e1,0xe5b08ea6,0x78ea1bd8,0x46332bb9,0x3c65aa9b,0xbf80ce25,0x84cc22b3,0xd49d5bf1,0x0098e9e9,0x19087da4,0xcd4ec1c6,0xaef6e357,0x3c9d07c5,0x9f8f64b8,0x839a0268
-.long 0xc6d8607f,0xc5e9eb62,0x6aa995e4,0x759689f5,0xbbb48317,0x70464669,0xe402417d,0x921474bf,0x2a354c8c,0xcabe135b,0x812fa4b5,0xd51e52d2,0x53311fe8,0xec741096,0xb864514b,0x4f774535
-.long 0x5bde48f8,0xbcadd671,0x2189bc7d,0xc9703873,0xc709ee8a,0x5d45299e,0x845aaff8,0xd1287ee2,0xdb1dbf1f,0x7d1f8874,0x990c88d6,0xea46588b,0x84368313,0x60ba649a,0x60d543ae,0xd5fdcbce
-.long 0x810d5ab0,0x90b46d43,0x04d7e5cc,0x6739d8f9,0x0d337c33,0x021c1a58,0x68e67c40,0x00a61162,0x379f0a1f,0x95ef413b,0xe9e2ab95,0xfe126605,0x2f5f199c,0x67578b85,0x2cb84913,0xf5c00329
-.long 0x37577dd8,0xf7956430,0x29c5fe88,0x83b82af4,0xcdbdc132,0x9c1bea26,0x9c04339e,0x589fa086,0xb13799df,0x033e9538,0xd295d034,0x85fa8b21,0xbd9ddcca,0xdf17f73f,0xddb66334,0xf32bd122
-.long 0x858b044c,0x55ef88a7,0x5aa9e397,0x1f0d69c2,0x40d85559,0x55fd9cc3,0x7785ddb2,0xc774df72,0xd3bd2e1c,0x5dcce9f6,0xa85dfed0,0xeb30da20,0xd3ed09c4,0x5ed7f5bb,0x82a9c1bd,0x7d42a35c
-.long 0x9890272d,0xcf3de995,0x3e713a10,0x75f3432a,0xe28227b8,0x5e13479f,0xfefacdc8,0xb8561ea9,0x8332aafd,0xa6a297a0,0x73809b62,0x9b0d8bb5,0x0c63036f,0xd2fa1cfd,0xbd64bda8,0x7a16eb55
-.long 0x78e62ddc,0x3f5cf5f6,0x07fd752b,0x2267c454,0x5e437bbe,0x5e361b6b,0x8354e075,0x95c59501,0xf2b254d9,0xec725f85,0x2cb52b4e,0x844b617d,0xcf425fb5,0xed8554f5,0x2af9f312,0xab67703e
-.long 0x3cf48283,0x4cc34ec1,0x9c8a705e,0xb09daa25,0x5b7d4f84,0xd1e9d0d0,0xdb38929d,0x4df6ef64,0xaa21ba46,0xe16b0763,0xa293f8fb,0xc6b1d178,0xd520aabf,0x0ff5b602,0xc339397a,0x94d671bd
-.long 0x4f5792fa,0x7c7d98cf,0x11215261,0x7c5e0d67,0xa7c5a6d4,0x9b19a631,0x7a45274d,0xc8511a62,0xa5a60d99,0x0c16621c,0xcf5e48cb,0xf7fbab88,0xf7ddee08,0xab1e6ca2,0xe7867f3c,0x83bd08ce
-.long 0x2ac13e27,0xf7e48e8a,0x4eb1a9f5,0x4494f6df,0x981f0a62,0xedbf84eb,0x536438f0,0x49badc32,0x004f7571,0x50bea541,0xdf1c94ee,0xbac67d10,0xb727bc31,0x253d73a1,0x30686e28,0xb3d01cf2
-.long 0x55fd0b8b,0x51b77b1b,0xfeec3173,0xa099d183,0x670e72b7,0x202b1fb7,0xa8e1635f,0xadc88b33,0xf989d905,0x34e8216a,0x29b58d01,0xc2e68d20,0x6fe55a93,0x11f81c92,0x8f296f40,0x15f1462a
-.long 0xea3d62f2,0x1915d375,0x01c8977d,0xa17765a3,0xe47b26f6,0x7559710a,0x535077a5,0xe0bd29c8,0x08d84858,0x615f976d,0x69ced5c1,0x370dfe85,0xa734fa56,0xbbc7503c,0x91ac4574,0xfbb9f1ec
-.long 0x060dd7ef,0x95d7ec53,0x6e657979,0xeef2dacd,0xe2a08235,0x54511af3,0x1f4aea3d,0x1e324aa4,0xe6e67671,0x550e7e71,0xbf52faf7,0xbccd5190,0x223cc62a,0xf880d316,0x2b32eb5d,0x0d402c7e
-.long 0x306a5a3b,0xa40bc039,0x96783a1b,0x4e0a41fd,0x0253cdd4,0xa1e8d39a,0xc7388638,0x6480be26,0x2285f382,0xee365e1d,0xec0b5c36,0x188d8d8f,0x1f0f4d82,0x34ef1a48,0xa487d29a,0x1a8f43e1
-.long 0x77aefb3a,0x8168226d,0x1e72c253,0xf69a751e,0xe9594df1,0x8e04359a,0xd14c0467,0x475ffd7d,0x3844e95c,0xb5a2c2b1,0xdd12ef94,0x85caf647,0xf1063d00,0x1ecd2a9f,0x23843311,0x1dd2e229
-.long 0x73d17244,0x38f0e09d,0x8fc653f1,0x3ede7746,0xdc20e21c,0xae4459f5,0x6a8599ea,0x00db2ffa,0x30cfd905,0x11682c39,0xa5c112a6,0x4934d074,0x568bfe95,0xbdf063c5,0x016c441a,0x779a440a
-.long 0x97d6fbdc,0x0c23f218,0xe0776aac,0xd3a5cd87,0xd712e8db,0xcee37f72,0x26f74e8d,0xfb28c70d,0xb61301a0,0xffe0c728,0xd3724354,0xa6282168,0x768ffedc,0x7ff4cb00,0x03b02de9,0xc51b3088
-.long 0x3902dda5,0xa5a8147c,0xfe6973b4,0x35d2f706,0xc257457e,0x5ac2efcf,0x8700611b,0x933f48d4,0x4912beb2,0xc365af88,0x162edf94,0x7f5a4de6,0x0c32f34b,0xc646ba7c,0xb2091074,0x632c6af3
-.long 0x753e43a9,0x58d4f2e3,0x24d4e23f,0x70e1d217,0xafede6a6,0xb24bf729,0x710c8b60,0x7f4a94d8,0x8d4faa6a,0xaad90a96,0xb066b690,0xd9ed0b32,0x78b6dbfd,0x52fcd37b,0x8bd2b431,0x0b64615e
-.long 0xcfb9fad5,0x228e2048,0x240b76bd,0xbeaa386d,0x90dad7bc,0x2d6681c8,0x06d38f5e,0x3e553fc3,0x9d5f9750,0xf27cdb9b,0xd28c5b0e,0x3e85c52a,0x5247c39b,0x190795af,0xbddd6828,0x547831eb
-.long 0x4a82f424,0xf327a227,0x7e47f89d,0x36919c78,0x43c7392c,0xe4783919,0x2316fefe,0xf101b9aa,0x1c5009d2,0xbcdc9e9c,0x9cd18345,0xfb55ea13,0xa3ce77c7,0xf5b5e231,0xd2f2cb3d,0xde6b4527
-.long 0x9bb26f5f,0x10f6a333,0x044d85b6,0x1e85db8e,0x94197e54,0xc3697a08,0xa7cb4ea8,0x65e18cc0,0xa471fe6e,0xa38c4f50,0x2f13439c,0xf031747a,0xc007318b,0x53c4a6ba,0x1deccb3d,0xa8da3ee5
-.long 0x558216b1,0x0555b31c,0x2f79e6c2,0x90c7810c,0xfe8eed3c,0x9b669f4d,0xe0fac126,0x70398ec8,0xf701b235,0xa96a449e,0xeb94f395,0x0ceecdb3,0xd0cb7431,0x285fc368,0x16a18c64,0x0d37bb52
-.long 0xb880d2dd,0x05110d38,0x65930d57,0xa60f177b,0xf36235f5,0x7da34a67,0x183816b9,0x47f5e17c,0xdb394af4,0xc7664b57,0x7036f789,0x39ba215d,0x2f27b472,0x46d2ca0e,0xf73a84b7,0xc42647ee
-.long 0x64488f1d,0x44bc7545,0xf4cf85d5,0xaa922708,0x53e4df63,0x721a01d5,0x5db46ced,0x649c0c51,0x3cffcb6c,0x6bf0d64e,0x50f71d96,0xe3bf93fe,0xbcc194a0,0x75044558,0x6afdc554,0x16ae3372
-.long 0x5ca48f3f,0xbfc01adf,0xe22a9b84,0x64352f06,0xc1099e4a,0xcee54da1,0xfa1b89c0,0xbbda54e8,0x6f6e55fb,0x166a3df5,0x20176f88,0x1ca44a24,0xdfb7b5ff,0x936afd88,0x8611d4a0,0xe34c2437
-.long 0x86142103,0x7effbb75,0x1f34fc4d,0x6704ba1b,0x10c1b122,0x7c2a468f,0x8c6aace9,0x36b3a610,0x75a0d050,0xabfcc0a7,0x3ce33e32,0x066f9197,0x29fe09be,0xce905ef4,0xa8376351,0x89ee25ba
-.long 0xfd29dc76,0x2a3ede22,0x36f17260,0x7fd32ed9,0x284b4126,0x0cadcf68,0xa7951fc8,0x63422f08,0x0807e199,0x562b24f4,0x22ad4490,0xfe9ce5d1,0x0db2b1b4,0xc2f51b10,0xe4541d0d,0xeb3613ff
-.long 0x2680813b,0xbd2c4a05,0x561b08d6,0x527aa55d,0xa7205558,0xa9f8a40e,0x243d0bec,0xe3eea56f,0xa0ff58b3,0x7b853817,0x1a69e627,0xb67d3f65,0xa869b5d6,0x0b76bbb9,0x546723ed,0xa3afeb82
-.long 0x3e554892,0x5f24416d,0x430e2a45,0x8413b53d,0x9032a2a0,0x99c56aee,0xeec367b1,0x09432bf6,0xdaf0ecc1,0x552850c6,0x5bc92048,0x49ebce55,0x54811307,0xdfb66ba6,0x6f298597,0x1b84f797
-.long 0x8d1d7a0d,0x79590481,0x3a6fa556,0xd9fabe03,0xba9e5d35,0xa40f9c59,0xf6247577,0xcb1771c1,0xe9a6312b,0x542a47ca,0x552dd8c5,0xa34b3560,0x0d794716,0xfdf94de0,0x9c623094,0xd46124a9
-.long 0x68afe8b4,0x56b7435d,0x6c0d8ea1,0x27f20540,0x73186898,0x12b77e14,0x7479490f,0xdbc3dd46,0xc03b0c05,0x951a9842,0x7921bc96,0x8b1b3bb3,0x2b202e0a,0xa573b346,0x47254d56,0x77e4665d
-.long 0xd23e3984,0x08b70dfc,0xebd14236,0xab86e8bc,0x57114ba7,0xaa3e07f8,0xab0ef4f2,0x5ac71689,0x0139d9af,0x88fca384,0x76644af0,0x72733f88,0x65d74f4a,0xf122f72a,0xa5626c7a,0x13931577
-.long 0x70f8d5a4,0xd5b5d9eb,0xd7bbb228,0x375adde7,0x0c1c0b32,0x31e88b86,0x173edbaa,0xd1f568c4,0x5459df02,0x1592fc83,0x0fcd9a7e,0x2beac0fb,0x1b473b0a,0xb0a6fdb8,0x0fe8fc48,0xe3224c6f
-.long 0xe87edf5b,0x680bd00e,0x20e77cf5,0x30385f02,0x4d42d1b2,0xe9ab98c0,0xd3816d77,0x72d191d2,0x0917d9e5,0x1564daca,0x1f8fed7f,0x394eab59,0x7fbb3896,0xa209aa8d,0xbe6ac98e,0x5564f3b9
-.long 0xd73654ef,0xead21d05,0x13d78d74,0x68d1a9c4,0x6d4973a0,0x61e01708,0x46e6d32a,0x83da3500,0x68ae0118,0x6a3dfca4,0xd02da069,0xa1b9a4c9,0xebab8302,0x0b2ff9c7,0x944ba436,0x98af07c3
-.long 0x995f0f9f,0x85997326,0x71b58bc6,0x467fade0,0xbd625a2b,0x47e4495a,0x33c3b8cd,0xfdd2d01d,0xc693f9fa,0x2c38ae28,0x348f7999,0x48622329,0x2161f583,0x97bf738e,0x565e8cc9,0x15ee2fa7
-.long 0x5777e189,0xa1a5c845,0x456f2829,0xcc10bee0,0xda762bd5,0x8ad95c56,0xe9d91da8,0x152e2214,0x7cb23c74,0x975b0e72,0xa90c66df,0xfd5d7670,0x225ffc53,0xb5b5b8ad,0xfaded2ae,0xab6dff73
-.long 0x6f4cbe9d,0xebd56781,0x6a574bd7,0x0ed8b249,0x81a881fa,0x41c246fe,0xc3db9c70,0x91564805,0x5b862809,0xd7c12b08,0x55858d7b,0x1facd1f1,0xaf09e92a,0x7693747c,0x189a425f,0x3b69dcba
-.long 0x967365ef,0x0be28e9f,0xe801f5c9,0x57300eb2,0xd583352f,0x93b8ac6a,0xcd05b2b7,0xa2cf1f89,0x4dcc40cc,0x7c0c9b74,0xada523fb,0xfee38c45,0x1099cc4d,0xb49a4dec,0x69f069c6,0x325c377f
-.long 0x476cc9ff,0xe12458ce,0xc6d4cb63,0x580e0b6c,0x9072289b,0xd561c8b7,0xa619e6da,0x0377f264,0x88e591a5,0x26685362,0x7523ca2b,0xa453a7bd,0xc1df4533,0x8a9536d2,0xbe972f79,0xc8e50f2f
-.long 0x6d3549cf,0xd433e50f,0xfacd665e,0x6f33696f,0xce11fcb4,0x695bfdac,0xaf7c9860,0x810ee252,0x7159bb2c,0x65450fe1,0x758b357b,0xf7dfbebe,0xd69fea72,0x2b057e74,0x92731745,0xd485717a
-.long 0xee36860c,0x896c42e8,0x4113c22d,0xdaf04dfd,0x44104213,0x1adbb7b7,0x1fd394ea,0xe5fd5fa1,0x1a4e0551,0x68235d94,0x18d10151,0x6772cfbe,0x09984523,0x276071e3,0x5a56ba98,0xe4e879de
-.long 0x285b9491,0xaaafafb0,0x1e4c705e,0x01a0be88,0x2ad9caab,0xff1d4f5d,0xc37a233f,0x6e349a4a,0x4a1c6a16,0xcf1c1246,0x29383260,0xd99e6b66,0x5f6d5471,0xea3d4366,0xff8cc89b,0x36974d04
-.long 0xcfe89d80,0xc26c49a1,0xda9c8371,0xb42c026d,0xdad066d2,0xca6c013a,0x56a4f3ee,0xfb8f7228,0xd850935b,0x08b579ec,0xd631e1b3,0x34c1a74c,0xac198534,0xcb5fe596,0xe1f24f25,0x39ff21f6
-.long 0x8f929057,0x27f29e14,0xc0c853df,0x7a64ae06,0x58e9c5ce,0x256cd183,0xded092a5,0x9d9cce82,0x6e93b7c7,0xcc6e5979,0x31bb9e27,0xe1e47092,0xaa9e29a0,0xb70b3083,0x3785e644,0xbf181a75
-.long 0x8ead09f7,0xf53f2c65,0x9780d14d,0x1335e1d5,0xcd1b66bc,0x69cc20e0,0xbbe0bfc8,0x9b670a37,0x28efbeed,0xce53dc81,0x8326a6e5,0x0c74e77c,0xb88e9a63,0x3604e0d2,0x13dc2248,0xbab38fca
-.long 0x5c0a3f1e,0x8ed6e8c8,0x7c87c37f,0xbcad2492,0x9ee3b78d,0xfdfb62bb,0xcbceba46,0xeba8e477,0xeeaede4b,0x37d38cb0,0x7976deb6,0x0bc498e8,0x6b6147fb,0xb2944c04,0xf71f9609,0x8b123f35
-.long 0xde79dc24,0xa155dcc7,0x558f69cd,0xf1168a32,0x0d1850df,0xbac21595,0xb204c848,0x15c8295b,0x7d8184ff,0xf661aa36,0x30447bdb,0xc396228e,0xbde4a59e,0x11cd5143,0x6beab5e6,0xe3a26e3b
-.long 0x1402b9d0,0xd3b3a13f,0x2c7bc863,0x573441c3,0x578c3e6e,0x4b301ec4,0x0adaf57e,0xc26fc9c4,0x7493cea3,0x96e71bfd,0x1af81456,0xd05d4b3f,0x6a8c608f,0xdaca2a8a,0x0725b276,0x53ef07f6
-.long 0x7824fc56,0x07a5fbd2,0x13289077,0x34675218,0xe0c48349,0x5bf69fd5,0xb6aa7875,0xa613ddd3,0x5450d866,0x7f78c19c,0x8f84a481,0x46f4409c,0x90fce239,0x9f1d1928,0xb2ce44b9,0x016c4168
-.long 0xc7435978,0xbae023f0,0x20e30e19,0xb152c888,0xe3fa6faf,0x9c241645,0x84823e60,0x735d95c1,0x03955317,0x03197573,0xf03b4995,0x0b4b02a9,0x70274600,0x076bf559,0xaaf57508,0x32c5cc53
-.long 0x60624129,0xe8af6d1f,0x9a5e2b5e,0xb7bc5d64,0x5f082d72,0x3814b048,0xce19677a,0x76f267f2,0xb36eed93,0x626c630f,0x3bf56803,0x55230cd7,0xce2736a0,0x78837949,0xaa6c55f1,0x0d792d60
-.long 0xd5c7c5d2,0x0318dbfd,0x072b342d,0xb38f8da7,0x7b8de38a,0x3569bddc,0xa1c94842,0xf25b5887,0x2946ad60,0xb2d5b284,0xe9d1707e,0x854f29ad,0x2c6a4509,0xaa5159dc,0x57189837,0x899f94c0
-.long 0xf4a55b03,0xcf6adc51,0x35e3b2d5,0x261762de,0x04827b51,0x4cc43012,0xc6021442,0xcd22a113,0x247c9569,0xce2fd61a,0xd152beca,0x59a50973,0x63a716d4,0x6c835a11,0x187dedcf,0xc26455ed
-.long 0x49ce89e7,0x27f536e0,0xcc890cb5,0x18908539,0xd83c2aa1,0x308909ab,0x1ab73bd3,0xecd3142b,0xb3f5ab84,0x6a85bf59,0xf2bea4c6,0x3c320a68,0x6da4541f,0xad8dc538,0xb7c41186,0xeaf34eb0
-.long 0x977c97c4,0x1c780129,0xc57eb9fa,0x5ff9beeb,0xc822c478,0xa24d0524,0x461cd415,0xfd8eec2a,0xf027458c,0xfbde194e,0x1d1be115,0xb4ff5319,0x4866d6f4,0x63f874d9,0xb21ad0c9,0x35c75015
-.long 0x46ac49d2,0xa6b5c9d6,0x83137aa9,0x42c77c0b,0x68225a38,0x24d000fc,0x2fe1e907,0x0f63cfc8,0xc6441f95,0x22d1b01b,0xec8e448f,0x7d38f719,0x787fb1ba,0x9b33fa5f,0x190158df,0x94dcfda1
-.long 0x5f6d4a09,0xc47cb339,0xee52b826,0x6b4f355c,0xf51b930a,0x3d100f5d,0x9f668f69,0xf4512fac,0x206c4c74,0x546781d5,0xcb4d2e48,0xd021d4d4,0xca085c2d,0x494a54c2,0x520850a8,0xf1dbaca4
-.long 0x490a1aca,0x63c79326,0x41526b02,0xcb64dd9c,0xa2979258,0xbb772591,0x48d97846,0x3f582970,0x7c213ba7,0xd66b70d1,0xe8a0ced4,0xc28febb5,0xc10338c1,0x6b911831,0xbf0126f3,0x0d54e389
-.long 0x4af206ee,0x7048d460,0x77e97cb9,0x786c88f6,0xac64802e,0xd4375ae1,0xd53ec11c,0x469bcfe1,0x47062230,0xfc9b340d,0xc5b4a3ac,0xe743bb57,0x59ef45ac,0xfe00b4aa,0x59edf188,0x29a4ef23
-.long 0xb483689b,0x40242efe,0x513ac262,0x2575d3f6,0x0ca6db72,0xf30037c8,0x98864be2,0xc9fcce82,0x0149362d,0x84a112ff,0x1c4ae971,0x95e57582,0x945cf86c,0x1fa4b1a8,0x0b024a2f,0x4525a734
-.long 0x8f338360,0xe76c8b62,0x28edf32b,0x483ff593,0x298b1aec,0x67e8e90a,0x736d9a21,0x9caab338,0x66892709,0x5c09d2fd,0xb55a1d41,0x2496b4dc,0xe24a4394,0x93f5fb1a,0x6fa8f6c1,0x08c75049
-.long 0xc905d85f,0xcaead1c2,0x0733ae57,0xe9d7f790,0xf07cdd94,0x24c9a65c,0xa4b55931,0x7389359c,0x367e45f7,0xf58709b7,0xcb7e7adc,0x1f203067,0xc7b72818,0x82444bff,0xbaac8033,0x07303b35
-.long 0xd13b7ea1,0x1e1ee4e4,0xe0e74180,0xe6489b24,0x7e70ef70,0xa5f2c610,0xbdd10894,0xa1655412,0x7af4194e,0x555ebefb,0x8e89bd9c,0x533c1c3c,0x89895856,0x735b9b57,0x567f5c15,0x15fb3cd2
-.long 0x526f09fd,0x057fed45,0x8128240a,0xe8a4f10c,0xff2bfd8d,0x9332efc4,0xbd35aa31,0x214e77a0,0x14faa40e,0x32896d73,0x01e5f186,0x767867ec,0x17a1813e,0xc9adf8f1,0x54741795,0xcb6cda78
-.long 0x349d51aa,0xb7521b6d,0xe3c7b8e9,0xf56b5a9e,0x32a096df,0xc6f1e5c9,0xa3635024,0x083667c4,0x18087f2f,0x365ea135,0xd136e45d,0xf1b8eaac,0x73aec989,0xc8a0e484,0x142c9259,0xd75a324b
-.long 0x01dae185,0xb7b4d001,0x9b7a94bc,0x45434e0b,0xfbd8cb0b,0xf54339af,0xe98ef49e,0xdcc4569e,0x09a51299,0x7789318a,0xb2b025d8,0x81b4d206,0xfae85792,0xf64aa418,0xacd7baf7,0x3e50258f
-.long 0x2996864b,0xdce84cdb,0x1f485fa4,0xa2e67089,0x534c6a5a,0xb28b2bb6,0xc94b9d39,0x31a7ec6b,0xd6bc20da,0x1d217766,0x86761190,0x4acdb5ec,0x73701063,0x68726328,0x2128c29b,0x4d24ee7c
-.long 0xa19fd868,0xc072ebd3,0xdb8ddd3b,0x612e481c,0x1a64d852,0xb4e1d754,0xc4c6c4ab,0x00ef95ac,0xaa0a6c46,0x1536d2ed,0x43774790,0x61294086,0x343fda10,0x54af25e8,0xfd25d6f2,0x9ff9d98d
-.long 0x468b8835,0x0746af7c,0x730ecea7,0x977a31cb,0xc2cf4a81,0xa5096b80,0x6458c37a,0xaa986833,0xa6bd9d34,0x6af29bf3,0x33c5d854,0x6a62fe9b,0xb7133b5e,0x50e6c304,0x7d6e6848,0x04b60159
-.long 0x5579bea4,0x4cd296df,0x5ceedaf1,0x10e35ac8,0xe3bcc5b1,0x04c4c5fd,0x89412cf9,0x95f9ee8a,0x82b6eb0f,0x2c9459ee,0x95c2aadd,0x2e845765,0xd327fcfe,0x774a84ae,0x0368d476,0xd8c93722
-.long 0xf83e8a3b,0x0dbd5748,0x8d2495f3,0xa579aa96,0xae496e9b,0x535996a0,0xb7f9bcc2,0x07afbfe9,0x5b7bd293,0x3ac1dc6d,0x7022323d,0x3b592cff,0x9c0a3e76,0xba0deb98,0x4b197acb,0x18e78e9f
-.long 0x296c36ef,0x211cde10,0x82c4da77,0x7ee89672,0xa57836da,0xb617d270,0x9cb7560b,0xf0cd9c31,0xe455fe90,0x01fdcbf7,0x7e7334f3,0x3fb53cbb,0x4e7de4ec,0x781e2ea4,0x0b384fd0,0x8adab3ad
-.long 0x53d64829,0x129eee2f,0xa261492b,0x7a471e17,0xe4cb4a2c,0xe4f9adb9,0x97ba2c2d,0x3d359f6f,0x0aacd697,0x346c6786,0x75c2f8a8,0x92b444c3,0xd85df44e,0xc79fa117,0x398ddf31,0x56782372
-.long 0xbbbab3b8,0x60e690f2,0x8b04816b,0x4851f8ae,0x9c92e4d2,0xc72046ab,0x7cf3136b,0x518c74a1,0xf9877d4c,0xff4eb50a,0xa919cabb,0x14578d90,0xac5eb2b6,0x8218f8c4,0x542016e4,0xa3ccc547
-.long 0x327f8349,0x025bf48e,0xf43cb641,0xf3e97346,0x500f1085,0xdc2bafdf,0x2f063055,0x57167876,0x411925a6,0x5bd914b9,0xa1123de5,0x7c078d48,0x182b165d,0xee6bf835,0xba519727,0xb11b5e5b
-.long 0x1eea7b85,0xe33ea76c,0x92d4f85e,0x2352b461,0xafe115bb,0xf101d334,0x889175a3,0xfabc1294,0x5233f925,0x7f6bcdc0,0xe77fec55,0xe0a802db,0x8069b659,0xbdb47b75,0xf98fbd74,0x1c5e12de
-.long 0x4b8457ee,0x869c58c6,0x4f7ea9f7,0xa5360f69,0xf460b38f,0xe576c09f,0x22b7fb36,0x6b70d548,0x3bfae315,0x3fd237f1,0xcbdff369,0x33797852,0x25b516f9,0x97df25f5,0xba38ad2d,0x46f388f2
-.long 0x89d8ddbb,0x656c4658,0x70f38ee8,0x8830b26e,0xde1212b0,0x4320fd5c,0xe4a2edb2,0xc34f30cf,0x56ab64b8,0xabb131a3,0xd99c5d26,0x7f77f0cc,0xbf981d94,0x66856a37,0x738bd76e,0x19e76d09
-.long 0x96238f39,0xe76c8ac3,0xa830b366,0xc0a482be,0x0b4eb499,0xb7b8eaff,0x4bfb4865,0x8ecd83bc,0xa2f3776f,0x971b2cb7,0xf4b88adf,0xb42176a4,0xbe1fa446,0xb9617df5,0xcd031bd2,0x8b32d508
-.long 0x53b618c0,0x1c6bd47d,0x6a227923,0xc424f46c,0xdd92d964,0x7303ffde,0x71b5abf2,0xe9712878,0xf815561d,0x8f48a632,0xd3c055d1,0x85f48ff5,0x7525684f,0x222a1427,0x67360cc3,0xd0d841a0
-.long 0x0b9267c6,0x4245a926,0xcf07f863,0xc78913f1,0x4d0d9e24,0xaa844c8e,0x3d5f9017,0xa42ad522,0xa2c989d5,0xbd371749,0xe1f5e78e,0x928292df,0x0a1ea6da,0x493b383e,0x13aee529,0x5136fd8d
-.long 0xf2c34a99,0x860c44b1,0xbf5855ac,0x3b00aca4,0xfaaf37be,0xabf6aaa0,0x2a53ec08,0x65f43682,0xa11b12e1,0x1d9a5801,0xe20ed475,0x78a7ab2c,0x9a41e0d5,0x0de1067e,0x305023ea,0x30473f5f
-.long 0x169c7d97,0xdd3ae09d,0xcfaef9cd,0x5cd5baa4,0x65a44803,0x5cd7440b,0x47f364de,0xdc13966a,0x2b8357c1,0x077b2be8,0xe9d57c2a,0x0cb1b4c5,0x05ff363e,0x7a4ceb32,0xca35a9ef,0xf310fa4d
-.long 0xf97f68c6,0xdbb7b352,0x0b02cf58,0x0c773b50,0x3c1f96d9,0xea2e4821,0xeee01815,0xffb357b0,0xe0f28039,0xb9c924cd,0x46a3fbe4,0x0b36c95a,0x5e46db6c,0x1faaaea4,0x1928aaff,0xcae575c3
-.long 0xa70dab86,0x7f671302,0x71c58cfc,0xfcbd12a9,0xbee0cb92,0xcbef9acf,0xf8c1b583,0x573da0b9,0x0d41d550,0x4752fcfe,0x2155cffe,0xe7eec0e3,0x545ae248,0x0fc39fcb,0x8065f44e,0x522cb8d1
-.long 0x70cbb96c,0x263c962a,0xbcd124a9,0xe034362a,0x3c2ae58d,0xf120db28,0xfef6d507,0xb9a38d49,0x1ff140fd,0xb1fd2a82,0x20aee7e0,0xbd162f30,0xcb251949,0x4e17a5d4,0x4f7e1c3d,0x2aebcb83
-.long 0x937b0527,0x608eb25f,0xeb7d9997,0xf42e1e47,0xb8a53a29,0xeba699c4,0xe091b536,0x1f921c71,0x5b26bbd5,0xcce29e7b,0x3b61a680,0x7a8ef5ed,0xba1f1c7e,0xe5ef8043,0x18158dda,0x16ea8217
-.long 0x599ff0f9,0x01778a2b,0x8104fc6b,0x68a923d7,0xda694ff3,0x5bfa44df,0xf7667f12,0x4f7199db,0xe46f2a79,0xc06d8ff6,0xe9f8131d,0x08b5dead,0xabb4ce7c,0x02519a59,0xb42aec3e,0xc4f710bc
-.long 0x78bde41a,0x3d77b057,0xb4186b5a,0x6474bf80,0x88c65741,0x048b3f67,0x03c7c154,0xc64519de,0x0edfcc4f,0xdf073846,0x48f1aa6b,0x319aa737,0xca909f77,0x8b9f8a02,0x7580bfef,0x90258139
-.long 0xc0c22719,0xd8bfd3ca,0xc9ca151e,0xc60209e4,0xd9a1a69c,0x7a744ab5,0x14937f8f,0x6de5048b,0xe115ac04,0x171938d8,0x1c6b16d2,0x7df70940,0x7f8e94e7,0xa6aeb663,0x2a2cf094,0xc130388e
-.long 0x77f54e6e,0x1850be84,0x65d60fe5,0x9f258a72,0x6c9146d6,0xff7ff0c0,0xe63a830b,0x039aaf90,0x9460342f,0x38f27a73,0x3f795f8a,0x4703148c,0x9681a97e,0x1bb5467b,0xecaeb594,0x00931ba5
-.long 0x786f337c,0xcdb6719d,0xe704397d,0xd9c01cd2,0x555c2fef,0x0f4a3f20,0x7c0af223,0x00452509,0x84db8e76,0x54a58047,0x93c8aa06,0x3bacf1aa,0xf7919422,0x11ca957c,0x78cdaa40,0x50641053
-.long 0x9f7144ae,0x7a303874,0x43d4acfd,0x170c963f,0x58ddd3ef,0x5e148149,0x9e72dba8,0xa7bde582,0x6fa68750,0x0769da8b,0x572e0249,0xfa64e532,0x2619ad31,0xfcaadf9d,0xa7b349cd,0x87882daa
-.long 0x6c67a775,0x9f6eb731,0xefc5d0b1,0xcb10471a,0xe1b806b2,0xb433750c,0x57b1ae7e,0x19c5714d,0xed03fd3f,0xc0dc8b7b,0x31bc194e,0xdd03344f,0x8c6320b5,0xa66c52a7,0xd0b6fd93,0x8bc82ce3
-.long 0xb35f1341,0xf8e13501,0x25a43e42,0xe53156dd,0x4daeb85c,0xd3adf27e,0xbbeddeb5,0xb81d8379,0x2e435867,0x1b0b546e,0xeba5dd60,0x9020eb94,0x8210cb9d,0x37d91161,0x5c91f1cf,0x4c596b31
-.long 0x0e0b040d,0xb228a90f,0x45ff897f,0xbaf02d82,0x00fa6122,0x2aac79e6,0x8e36f557,0x24828817,0x113ec356,0xb9521d31,0x15eff1f8,0x9e48861e,0xe0d41715,0x2aa1d412,0x53f131b8,0x71f86203
-.long 0x3fd19408,0xf60da8da,0x278d9d99,0x4aa716dc,0xa8c51c90,0x394531f7,0xf59db51c,0xb560b0e8,0xfa34bdad,0xa28fc992,0x9cd4f8bd,0xf024fa14,0x23a9d0d3,0x5cf530f7,0xe28c9b56,0x615ca193
-.long 0x6f73c51e,0x6d2a483d,0xea0dc2dd,0xa4cb2412,0x1eb917ff,0x50663c41,0xeade299e,0x3d3a74cf,0x4a7a9202,0x29b3990f,0xa7b15c3d,0xa9bccf59,0xa5df9208,0x66a3ccdc,0x43f2f929,0x48027c14
-.long 0x40b557f0,0xd385377c,0xcd684660,0xe001c366,0xe2183a27,0x1b18ed6b,0x63210329,0x879738d8,0xbda94882,0xa687c74b,0xa684b299,0xd1bbcc48,0x863b3724,0xaf6f1112,0x2c8ce9f8,0x6943d1b4
-.long 0x098cafb4,0xe044a3bb,0x60d48caf,0x27ed2310,0x3a31b84d,0x542b5675,0xfcddbed7,0xcbf3dd50,0x41b1d830,0x25031f16,0xcb0c1e27,0xa7ec851d,0xb5ae75db,0xac1c8fe0,0x08c52120,0xb24c7557
-.long 0x1d4636c3,0x57f811dc,0x681a9939,0xf8436526,0x9c81adb3,0x1f6bc6d9,0x5b7d80d4,0x840f8ac3,0xf4387f1a,0x731a9811,0xb5156880,0x7c501cd3,0xdfe68867,0xa5ca4a07,0x5fcea120,0xf123d8f0
-.long 0xd607039e,0x1fbb0e71,0xcd3a4546,0x2b70e215,0x53324091,0x32d2f01d,0x180ab19b,0xb796ff08,0x3c57c4aa,0x32d87a86,0xb7c49a27,0x2aed9caf,0x31630d98,0x9fb35eac,0x5c3e20a3,0x338e8cdf
-.long 0x66cde8db,0x80f16182,0x2d72fd36,0x4e159980,0x9b6e5072,0xd7b8f13b,0x3b7b5dc1,0xf5213907,0x8ce4396e,0x4d431f1d,0xa7ed2142,0x37a1a680,0xd01aaf6b,0xbf375696,0xe63aab66,0xaa1c0c54
-.long 0x4ed80940,0x3014368b,0x7a6fcedd,0x67e6d056,0xca97579f,0x7c208c49,0xa23597f6,0xfe3d7a81,0x7e096ae2,0x5e203202,0x24b39366,0xb1f3e1e7,0x2fdcdffc,0x26da26f3,0x6097be83,0x79422f1d
-.long 0x9db3b381,0x263a2cfb,0xd4df0a4b,0x9c3a2dee,0x7d04e61f,0x728d06e9,0x42449325,0x8b1adfbc,0x7e053a1b,0x6ec1d939,0x66daf707,0xee2be5c7,0x810ac7ab,0x80ba1e14,0xf530f174,0xdd2ae778
-.long 0x205b9d8b,0x0435d97a,0x056756d4,0x6eb8f064,0xb6f8210e,0xd5e88a8b,0xec9fd9ea,0x070ef12d,0x3bcc876a,0x4d849505,0xa7404ce3,0x12a75338,0xb8a1db5e,0xd22b49e1,0x14bfa5ad,0xec1f2051
-.long 0xb6828f36,0xadbaeb79,0x01bd5b9e,0x9d7a0258,0x1e844b0c,0xeda01e0d,0x887edfc9,0x4b625175,0x9669b621,0x14109fdd,0xf6f87b98,0x88a2ca56,0x170df6bc,0xfe2eb788,0xffa473f9,0x0cea06f4
-.long 0xc4e83d33,0x43ed81b5,0x5efd488b,0xd9f35879,0x9deb4d0f,0x164a620f,0xac6a7394,0xc6927bdb,0x9f9e0f03,0x45c28df7,0xfcd7e1a9,0x2868661e,0xffa348f1,0x7cf4e8d0,0x398538e0,0x6bd4c284
-.long 0x289a8619,0x2618a091,0x6671b173,0xef796e60,0x9090c632,0x664e46e5,0x1e66f8fb,0xa38062d4,0x0573274e,0x6c744a20,0xa9271394,0xd07b67e4,0x6bdc0e20,0x391223b2,0xeb0a05a7,0xbe2d93f1
-.long 0x3f36d141,0xf23e2e53,0x4dfca442,0xe84bb3d4,0x6b7c023a,0xb804a48d,0x76431c3b,0x1e16a8fa,0xddd472e0,0x1b5452ad,0x0d1ee127,0x7d405ee7,0xffa27599,0x50fc6f1d,0xbf391b35,0x351ac53c
-.long 0x4444896b,0x7efa14b8,0xf94027fb,0x64974d2f,0xde84487d,0xefdcd0e8,0x2b48989b,0x8c45b260,0xd8463487,0xa8fcbbc2,0x3fbc476c,0xd1b2b3f7,0xc8f443c0,0x21d005b7,0x40c0139c,0x518f2e67
-.long 0x06d75fc1,0x56036e8c,0x3249a89f,0x2dcf7bb7,0xe245e7dd,0x81dd1d3d,0xebd6e2a7,0xf578dc4b,0xdf2ce7a0,0x4c028903,0x9c39afac,0xaee36288,0x146404ab,0xdc847c31,0xa4e97818,0x6304c0d8
-.long 0xa91f6791,0xae51dca2,0x9baa9efc,0x2abe4190,0x559c7ac1,0xd9d2e2f4,0xfc9f773a,0xe82f4b51,0x4073e81c,0xa7713027,0xfbb596fc,0xc0276fac,0xa684f70c,0x1d819fc9,0xc9f7b1e0,0x29b47fdd
-.long 0x459b1940,0x358de103,0x5b013e93,0xec881c59,0x49532ad3,0x51574c93,0xb37b46de,0x2db1d445,0xdf239fd8,0xc6445b87,0x151d24ee,0xc718af75,0xf43c6259,0xaea1c4a4,0x70be02f7,0x40c0e5d7
-.long 0x721b33f2,0x6a4590f4,0xfedf04ea,0x2124f1fb,0x9745efe7,0xf8e53cde,0x65f046d9,0xe7e10432,0xe4d0c7e6,0xc3fca28e,0x87253b1b,0x847e339a,0x3743e643,0x9b595348,0x4fd12fc5,0xcb6a0a0b
-.long 0x27d02dcc,0xfb6836c3,0x7a68bcc2,0x5ad00982,0x005e912d,0x1b24b44c,0x811fdcfe,0xcc83d20f,0x666fba0c,0x36527ec1,0x14754635,0x69948197,0x556da9c2,0xfcdcb1a8,0x81a732b2,0xa5934267
-.long 0xa714181d,0xec1214ed,0x6067b341,0x609ac13b,0xa545df1f,0xff4b4c97,0x34d2076b,0xa1240501,0x1409ca97,0x6efa0c23,0x20638c43,0x254cc1a8,0xdcfb46cd,0xd4e363af,0x03942a27,0x62c2adc3
-.long 0x56e46483,0xc67b9df0,0x63736356,0xa55abb20,0xc551bc52,0xab93c098,0xb15fe64b,0x382b49f9,0x4dff8d47,0x9ec221ad,0x437df4d6,0x79caf615,0xbb456509,0x5f13dc64,0x191f0714,0xe4c589d9
-.long 0x3fd40e09,0x27b6a8ab,0x77313ea9,0xe455842e,0x1f55988b,0x8b51d1e2,0x062bbbfc,0x5716dd73,0x4e8bf3de,0x633c11e5,0x1b85be3b,0x9a0e77b6,0x0911cca6,0x56510729,0xefa6590f,0x27e76495
-.long 0x070d3aab,0xe4ac8b33,0x9a2cd5e5,0x2643672b,0x1cfc9173,0x52eff79b,0x90a7c13f,0x665ca49b,0xb3efb998,0x5a8dda59,0x052f1341,0x8a5b922d,0x3cf9a530,0xae9ebbab,0xf56da4d7,0x35986e7b
-.long 0xff3513cc,0x3a636b5c,0x3198f7dd,0xbb0cf8ba,0x41f16f86,0xb8d40522,0xde13a7bf,0x760575d8,0x9f7aa181,0x36f74e16,0xf509ed1c,0x163a3ecf,0x3c40a491,0x6aead61f,0xdfe8fcaa,0x158c95fc
-.long 0x13cda46f,0xa3991b6e,0x342faed0,0x79482415,0x666b5970,0xf3ba5bde,0xb26ab6dd,0x1d52e6bc,0x8608dd3d,0x768ba1e7,0xea076586,0x4930db2a,0xe7dc1afa,0xd9575714,0xf7c58817,0x1fc7bf7d
-.long 0xd9eee96c,0x6b47accd,0xe58cec37,0x0ca277fb,0xe702c42a,0x113fe413,0xc47cbe51,0xdd1764ee,0x7b3ed739,0x041e7cde,0x5ce9e1c0,0x50cb7459,0x2925b212,0x35568513,0x001b081c,0x7cff95c4
-.long 0x8088b454,0x63ee4cbd,0x9a9e0c8a,0xdb7f32f7,0x6b2447cb,0xb377d418,0xd370219b,0xe3e982aa,0xc2a2a593,0x06ccc1e4,0x0773f24f,0x72c36865,0x95859423,0xa13b4da7,0x75040c8f,0x8bbf1d33
-.long 0xda50c991,0x726f0973,0x822d6ee2,0x48afcd5b,0x20fd7771,0xe5fc718b,0xfd0807a1,0xb9e8e77d,0x99a7703d,0x7f5e0f44,0x618e36f3,0x6972930e,0x23807bbe,0x2b7c77b8,0xcb27ff50,0xe5b82405
-.long 0xbd379062,0xba8b8be3,0x2dce4a92,0xd64b7a1d,0xb2952e37,0x040a73c5,0xd438aeca,0x0a9e252e,0xc39d3bcb,0xdd43956b,0xb32b2d63,0x1a31ca00,0x5c417a18,0xd67133b8,0x2ef442c8,0xd08e4790
-.long 0x255c0980,0x98cb1ae9,0x2b4a739f,0x4bd86381,0x1e4a45a1,0x5a5c31e1,0x9cb0db2f,0x1e5d55fe,0x8ff5cc29,0x74661b06,0x0eb8a4f4,0x026b389f,0x58848c24,0x536b21a4,0x81dc72b0,0x2e5bf8ec
-.long 0xad886aac,0x03c187d0,0xb771b645,0x5c16878a,0xc74045ab,0xb07dfc6f,0x7800caed,0x2c6360bf,0xb9c972a3,0x24295bb5,0x7c9a6dba,0xc9e6f88e,0x92a79aa6,0x90ffbf24,0x41c26ac2,0xde29d50a
-.long 0xd309cbe6,0x9f0af483,0xe0bced4f,0x5b020d8a,0xb38023e3,0x606e986d,0x1abc6933,0xad8f2c9d,0xe7400e93,0x19292e1d,0x52be5e4d,0xfe3e18a9,0x2e0680bf,0xe8e9771d,0xc54db063,0x8c5bec98
-.long 0x74a55d1f,0x2af9662a,0x046f66d8,0xe3fbf28f,0xd4dc4794,0xa3a72ab4,0x5c7c2dd8,0x09779f45,0xc3d19d8d,0xd893bdaf,0x57d6a6df,0xd5a75094,0x952e6255,0x8cf8fef9,0xda9a8aff,0x3da67cfb
-.long 0x2c160dcd,0x4c23f62a,0x8f90eaef,0x34e6c5e3,0xa9a65d5a,0x35865519,0x8fd38a3d,0x07c48aae,0x50068527,0xb7e7aeda,0x1c90936a,0x2c09ef23,0xe879324c,0x31ecfeb6,0xfb0ec938,0xa0871f6b
-.long 0xd84d835d,0xb1f0fb68,0x861dc1e6,0xc90caf39,0x7594f8d7,0x12e5b046,0x65012b92,0x26897ae2,0xa4d6755d,0xbcf68a08,0x0991fbda,0x403ee41c,0x3bbf17e8,0x733e343e,0x679b3d65,0xd2c7980d
-.long 0xd2e11305,0x33056232,0xf3c07a6f,0x966be492,0xbb15509d,0x6a8878ff,0x0a9b59a4,0xff221101,0xabe30129,0x6c9f564a,0x336e64cf,0xc6f2c940,0x8b0c8022,0x0fe75262,0x6ae8db87,0xbe0267e9
-.long 0x93bc042b,0x22e192f1,0xb237c458,0xf085b534,0x832c4168,0xa0d192bd,0xbdf6271d,0x7a76e9e3,0xb88911b5,0x52a882fa,0xb4db0eb5,0xc85345e4,0x81a7c3ff,0xa3be02a6,0xf0ec0469,0x51889c8c
-.long 0xa5e829e5,0x9d031369,0x1607aa41,0xcbb4c6fc,0x241d84c1,0x75ac59a6,0x8829e0ee,0xc043f2bf,0x8ea5e185,0x82a38f75,0xd87cbd9f,0x8bda40b9,0x2d8fc601,0x9e65e75e,0xa35690b3,0x3d515f74
-.long 0xda79e5ac,0x534acf4f,0x8630215f,0x68b83b3a,0xd085756e,0x5c748b2e,0xe5d37cb2,0xb0317258,0xc5ccc2c4,0x6735841a,0x3d9d5069,0x7d7dc96b,0xfd1754bd,0xa147e410,0xd399ddd5,0x65296e94
-.long 0xbc8fa5bc,0xf6b5b2d0,0x500c277b,0x8a5ead67,0xdfa08a5d,0x214625e6,0x959cf047,0x51fdfedc,0x289fca32,0x6bc9430b,0x9d9bdc3f,0xe36ff0cf,0x58ea0ede,0x2fe187cb,0x5a900b3f,0xed66af20
-.long 0x5fa9f4d6,0x00e0968b,0x37a362e7,0x2d4066ce,0xbd07e772,0xa99a9748,0x06a4f1d0,0x710989c0,0xce40cbd8,0xd5dedf35,0x1743293d,0xab55c5f0,0x8aa24e2c,0x766f1144,0x605fbcb4,0x94d874f8
-.long 0xa518001b,0xa365f0e8,0x9d04ef0f,0xee605eb6,0xba8d4d25,0x5a3915cd,0xb5113472,0x44c0e1b8,0x8b6740dc,0xcbb024e8,0xee1d4f0c,0x89087a53,0x1fc4e372,0xa88fa05c,0xaf8b3af2,0x8bf395cb
-.long 0xdeb8568b,0x1e71c9a1,0x80fb3d32,0xa35daea0,0x2cf8fb81,0xe8b6f266,0x9490696a,0x6d51afe8,0x51803a19,0x81beac6e,0x86219080,0xe3d24b7f,0xdf6f463c,0x727cfd9d,0x72284ee8,0x8c6865ca
-.long 0xb743f4ef,0x32c88b7d,0xe7d11dce,0x3793909b,0x2ff2ebe8,0xd398f922,0xe5e49796,0x2c70ca44,0xcb1131b1,0xdf4d9929,0x25888e79,0x7826f298,0xf1d8740a,0x4d3a112c,0x270afa8b,0x00384cb6
-.long 0x3ab48095,0xcb64125b,0x62d05106,0x3451c256,0xa4955845,0xd73d577d,0xbf9f4433,0x39570c16,0xadecf263,0xd7dfaad3,0xdc76e102,0xf1c3d8d1,0x54c6a836,0x5e774a58,0x3e92d47b,0xdad4b672
-.long 0xf0d796a0,0xbe7e990f,0xdf0e8b02,0x5fc62478,0x030c00ad,0x8aae8bf4,0x9004ba0f,0x3d2db93b,0xd85d5ddc,0xe48c8a79,0x6bb07f34,0xe907caa7,0xa39eaed5,0x58db343a,0xadaf5724,0x0ea6e007
-.long 0xd23233f3,0xe00df169,0x77cb637f,0x3e322796,0x1da0cf6c,0x1f897c0e,0x31d6bbdd,0xa651f5d8,0x1a230c76,0xdd61af19,0xcdaa5e4a,0xbd527272,0xd0abcd7e,0xca753636,0x370bd8dc,0x78bdd37c
-.long 0x17cd93fe,0xc23916c2,0xdadce6e2,0x65b97a4d,0x174e42f8,0xe04ed4eb,0xbb21480a,0x1491ccaa,0x23196332,0x145a8280,0x587b479a,0x3c3862d7,0x01dcd0ed,0x9f4a88a3,0x3ea12f1f,0x4da2b7ef
-.long 0xb126e48e,0xf8e7ae33,0xf494e237,0x404a0b32,0xc55acadb,0x9beac474,0xcbec9fd9,0x4ee5cf3b,0x7df3c8c3,0x336b33b9,0xb76808fd,0xbd905fe3,0xaa45c16a,0x8f436981,0x3dd27b62,0x255c5bfa
-.long 0xc3dd9b4d,0x71965cbf,0xfc068a87,0xce23edbf,0x745b029b,0xb78d4725,0xcefdd9bd,0x74610713,0x1266bf52,0x7116f75f,0x18e49bb6,0x02046722,0x3d6f19e3,0xdf43df9f,0xe685cb2f,0xef1bc7d0
-.long 0x7078c432,0xcddb27c1,0xb77fedb7,0xe1961b9c,0xc2290570,0x1edc2f5c,0x19cbd886,0x2c3fefca,0xc2af389a,0xcf880a36,0xbda71cea,0x96c610fd,0x32aa8463,0xf03977a9,0x8586d90a,0x8eb7763f
-.long 0x2a296e77,0x3f342454,0x42837a35,0xc8718683,0x6a09c731,0x7dc71090,0x51b816db,0x54778ffb,0xaf06defd,0x6b33bfec,0x8592b70b,0xfe3c105f,0x61da6114,0xf937fda4,0x4c266ad7,0x3c13e651
-.long 0x855938e8,0xe363a829,0x9de54b72,0x2eeb5d9e,0x20ccfab9,0xbeb93b0e,0x25e61a25,0x3dffbb5f,0x1acc093d,0x7f655e43,0x3964ce61,0x0cb6cc3d,0xe5e9b460,0x6ab283a1,0xa1c7e72d,0x55d787c5
-.long 0xdeadbf02,0x4d2efd47,0xac459068,0x11e80219,0x71f311f0,0x810c7626,0x4ab6ef53,0xfa17ef8d,0x93e43bff,0xaf47fd25,0x0be40632,0x5cb5ff3f,0x8ee61da3,0x54687106,0xb08afd0f,0x7764196e
-.long 0xf0290a8f,0x831ab3ed,0xcb47c387,0xcae81966,0x184efb4f,0xaad7dece,0x4749110e,0xdcfc53b3,0x4cb632f9,0x6698f23c,0xb91f8067,0xc42a1ad6,0x6284180a,0xb116a81d,0xe901326f,0xebedf5f8
-.long 0x97e3e044,0xf2274c9f,0x11d09fc9,0x42018520,0xd18e6e23,0x56a65f17,0x352b683c,0x2ea61e2a,0x575eaa94,0x27d291bc,0xb8ff522d,0x9e7bc721,0xa7f04d6f,0x5f7268bf,0xaba41748,0x5868c73f
-.long 0x7be0eead,0x9f85c2db,0xff719135,0x511e7842,0xc5ea90d7,0x5a06b1e9,0x26fab631,0x0c19e283,0xe9206c55,0x8af8f0cf,0x3553c06a,0x89389cb4,0xf65f8004,0x39dbed97,0xc508991d,0x0621b037
-.long 0x96e78cc4,0x1c52e635,0x0c06b4a8,0x5385c8b2,0xb0e87d03,0xd84ddfdb,0x934bafad,0xc49dfb66,0x59f70772,0x7071e170,0x3a1db56b,0x3a073a84,0x3b8af190,0x03494903,0xd32920f0,0x7d882de3
-.long 0xb2cf8940,0x91633f0a,0x6f948f51,0x72b0b178,0x782653c8,0x2d28dc30,0xdb903a05,0x88829849,0x6a19d2bb,0xb8095d0c,0x86f782cb,0x4b9e7f0c,0x2d907064,0x7af73988,0x8b32643c,0xd12be0fe
-.long 0x0e165dc3,0x358ed23d,0x4e2378ce,0x3d47ce62,0xfeb8a087,0x7e2bb0b9,0xe29e10b9,0x3246e8ae,0x03ce2b4d,0x459f4ec7,0xbbc077cf,0xe9b4ca1b,0x0e9940c1,0x2613b4f2,0x047d1eb1,0xfc598bb9
-.long 0x45036099,0x9744c62b,0x167c65d8,0xa9dee742,0xdabe1943,0x0c511525,0x93c6c624,0xda110554,0x651a3be2,0xae00a52c,0x884449a6,0xcda5111d,0xff33bed1,0x063c06f4,0x0d3d76b4,0x73baaf9a
-.long 0x7fc63668,0x52fb0c9d,0x0c039cde,0x6886c9dd,0x55b22351,0x602bd599,0x360c7c13,0xb00cab02,0x81b69442,0x8cb616bc,0xb55c3cee,0x41486700,0xf49ba278,0x71093281,0x64a50710,0xad956d9c
-.long 0x638a7e81,0x9561f28b,0x5980ddc3,0x54155cdf,0xd26f247a,0xb2db4a96,0x4787d100,0x9d774e4e,0x078637d2,0x1a9e6e2e,0x5e0ae06a,0x1c363e2d,0xe9cfa354,0x7493483e,0x7f74b98d,0x76843cb3
-.long 0xd4b66947,0xbaca6591,0x04460a8c,0xb452ce98,0x43768f55,0x6830d246,0x7dff12df,0xf4197ed8,0x400dd0f7,0x6521b472,0x4b1e7093,0x59f5ca8f,0x080338ae,0x6feff11b,0xa29ca3c6,0x0ada31f6
-.long 0x94a2c215,0x24794eb6,0x05a57ab4,0xd83a43ab,0x2a6f89fe,0x264a543a,0xdd5ec7c2,0x2c2a3868,0x8439d9b2,0xd3373940,0x0acd1f11,0x715ea672,0xe7e6cc19,0x42c1d235,0xb990585c,0x81ce6e96
-.long 0xd809c7bd,0x04e5dfe0,0x8f1050ab,0xd7b2580c,0xd8a4176f,0x6d91ad78,0x4e2e897c,0x0af556ee,0x921de0ac,0x162a8b73,0x7ea78400,0x52ac9c22,0xefce2174,0xee2a4eea,0x6d637f79,0xbe61844e
-.long 0x789a283b,0x0491f1bc,0x880836f4,0x72d3ac3d,0x88e5402d,0xaa1c5ea3,0xd5cc473d,0x1b192421,0x9dc84cac,0x5c0b9998,0x9c6e75b8,0xb0a8482d,0x3a191ce2,0x639961d0,0x6d837930,0xda3bc865
-.long 0x056e6f8f,0xca990653,0x64d133a7,0x84861c41,0x746abe40,0x8b403276,0xebf8e303,0xb7b4d51a,0x220a255d,0x05b43211,0x02419e6e,0xc997152c,0x630c2fea,0x76ff47b6,0x281fdade,0x50518677
-.long 0xcf902b0b,0x3283b8ba,0x37db303b,0x8d4b4eb5,0x755011bc,0xcc89f42d,0xdd09d19b,0xb43d74bb,0x8adba350,0x65746bc9,0xb51c1927,0x364eaf8c,0x10ad72ec,0x13c76596,0xf8d40c20,0x30045121
-.long 0xea7b979b,0x6d2d99b7,0xe6fb3bcd,0xcd78cd74,0x86cffbfe,0x11e45a9e,0x637024f6,0x78a61cf4,0x3d502295,0xd06bc872,0x458cb288,0xf1376854,0x342f8586,0xb9db26a1,0x4beee09e,0xf33effcf
-.long 0xb30cfb3a,0xd7e0c4cd,0x6c9db4c8,0x6d09b8c1,0x07c8d9df,0x40ba1a42,0x1c52c66d,0x6fd495f7,0x275264da,0xfb0e169f,0xe57d8362,0x80c2b746,0x49ad7222,0xedd987f7,0x4398ec7b,0xfdc229af
-.long 0x52666a58,0xb0d1ed84,0xe6a9c3c2,0x4bcb6e00,0x26906408,0x3c57411c,0x13556400,0xcfc20755,0x5294dba3,0xa08b1c50,0x8b7dd31e,0xa30ba286,0x991eca74,0xd70ba90e,0xe762c2b9,0x094e142c
-.long 0x979f3925,0xb81d783e,0xaf4c89a7,0x1efd130a,0xfd1bf7fa,0x525c2144,0x1b265a9e,0x4b296904,0xb9db65b6,0xed8e9634,0x03599d8a,0x35c82e32,0x403563f3,0xdaa7a54f,0x022c38ab,0x9df088ad
-.long 0xbb3fd30a,0xe5cfb066,0xeff0354e,0x429169da,0x3524e36c,0x809cf852,0x0155be1d,0x136f4fb3,0x1fbba712,0x4826af01,0x506ba1a1,0x6ef0f0b4,0x77aea73e,0xd9928b31,0x5eaa244e,0xe2bf6af2
-.long 0x4237b64b,0x8d084f12,0xe3ecfd07,0x688ebe99,0xf6845dd8,0x57b8a70c,0x5da4a325,0x808fc59c,0xa3585862,0xa9032b2b,0xedf29386,0xb66825d5,0x431ec29b,0xb5a5a8db,0x3a1e8dc8,0xbb143a98
-.long 0x12ae381b,0x35ee94ce,0x86ccda90,0x3a7f176c,0x4606eaca,0xc63a657e,0x43cd04df,0x9ae5a380,0xed251b46,0x9bec8d15,0xcaca5e64,0x1f5d6d30,0x9ff20f07,0x347b3b35,0xf7e4b286,0x4d65f034
-.long 0xf111661e,0x9e93ba24,0xb105eb04,0xedced484,0xf424b578,0x96dc9ba1,0xe83e9069,0xbf8f66b7,0xd7ed8216,0x872d4df4,0x8e2cbecf,0xbf07f377,0x98e73754,0x4281d899,0x8aab8708,0xfec85fbb
-.long 0xa5ba5b0b,0x9a3c0dee,0x42d05299,0xe6a116ce,0xe9b02d42,0xae9775fe,0xa1545cb6,0x72b05200,0x31a3b4ea,0xbc506f7d,0x8bbd9b32,0xe5893078,0xe4b12a97,0xc8bc5f37,0x4a73b671,0x6b000c06
-.long 0x765fa7d0,0x13b5bf22,0x1d6a5370,0x59805bf0,0x4280db98,0x67a5e29d,0x776b1ce3,0x4f53916f,0x33ddf626,0x714ff61f,0xa085d103,0x4206238e,0xe5809ee3,0x1c50d4b7,0x85f8eb1d,0x999f450d
-.long 0xe4c79e9b,0x658a6051,0xc66a9fea,0x1394cb73,0xc6be7b23,0x27f31ed5,0x5aa6f8fe,0xf4c88f36,0x4aaa499e,0x0fb0721f,0xe3fb2a6b,0x68b3a7d5,0x3a92851d,0xa788097d,0xe96f4913,0x060e7f8a
-.long 0x1a3a93bc,0x82eebe73,0xa21adc1a,0x42bbf465,0xef030efd,0xc10b6fa4,0x87b097bb,0x247aa4c7,0xf60c77da,0x8b8dc632,0xc223523e,0x6ffbc26a,0x344579cf,0xa4f6ff11,0x980250f6,0x5825653c
-.long 0xbc1aa2b9,0xb2dd097e,0x37a0333a,0x07889393,0x37a0db38,0x1cf55e71,0x792c1613,0x2648487f,0x3fcef261,0xdad01336,0x0eabf129,0x6239c81d,0x9d276be2,0x8ee761de,0x1eda6ad3,0x406a7a34
-.long 0x4a493b31,0x4bf367ba,0x9bf7f026,0x54f20a52,0x9795914b,0xb696e062,0x8bf236ac,0xcddab96d,0xed25ea13,0x4ff2c70a,0x81cbbbe7,0xfa1d09eb,0x468544c5,0x88fc8c87,0x696b3317,0x847a670d
-.long 0x64bcb626,0xf133421e,0x26dee0b5,0xaea638c8,0xb310346c,0xd6e7680b,0xd5d4ced3,0xe06f4097,0x7512a30b,0x09961452,0xe589a59a,0xf3d867fd,0x52d0c180,0x2e73254f,0x333c74ac,0x9063d8a3
-.long 0xd314e7bc,0xeda6c595,0x467899ed,0x2ee7464b,0x0a1ed5d3,0x1cef423c,0x69cc7613,0x217e76ea,0xe7cda917,0x27ccce1f,0x8a893f16,0x12d8016b,0x9fc74f6b,0xbcd6de84,0xf3144e61,0xfa5817e2
-.long 0x0821ee4c,0x1f354164,0x0bc61992,0x1583eab4,0x1d72879f,0x7490caf6,0xf76ae7b2,0x998ad9f3,0xa41157f7,0x1e181950,0xe8da3a7e,0xa9d7e1e6,0x8426b95f,0x963784eb,0x542e2a10,0x0ee4ed6e
-.long 0xac751e7b,0xb79d4cc5,0xfd4211bd,0x93f96472,0xc8de4fc6,0x8c72d3d2,0xdf44f064,0x7b69cbf5,0xf4bf94e1,0x3da90ca2,0xf12894e2,0x1a5325f8,0x7917d60b,0x0a437f6c,0x96c9cb5d,0x9be70486
-.long 0xe1dc5c05,0xb4d880bf,0xeebeeb57,0xd738adda,0xdf0fe6a3,0x6f0119d3,0x66eaaf5a,0x5c686e55,0xdfd0b7ec,0x9cb10b50,0x6a497c21,0xbdd0264b,0x8c546c96,0xfc093514,0x79dbf42a,0x58a947fa
-.long 0x49ccd6d7,0xc0b48d4e,0x88bd5580,0xff8fb02c,0x07d473b2,0xc75235e9,0xa2188af3,0x4fab1ac5,0x97576ec0,0x030fa3bc,0x0b7e7d2f,0xe8c946e8,0x70305600,0x40a5c9cc,0xc8b013b4,0x6d8260a9
-.long 0x70bba85c,0x0368304f,0xa4a0d311,0xad090da1,0x2415eec1,0x7170e870,0x8461ea47,0xbfba35fe,0xc1e91938,0x6279019a,0x1afc415f,0xa47638f3,0xbcba0e0f,0x36c65cbb,0x034e2c48,0x02160efb
-.long 0x615cd9e4,0xe6c51073,0xf1243c06,0x498ec047,0xb17b3d8c,0x3e5a8809,0x0cc565f1,0x5cd99e61,0x7851dafe,0x81e312df,0xa79061e2,0xf156f5ba,0x880c590e,0x80d62b71,0x0a39faa1,0xbec9746f
-.long 0xc8ed1f7a,0x1d98a9c1,0xa81d5ff2,0x09e43bb5,0x0da0794a,0xd5f00f68,0x661aa836,0x412050d9,0x90747e40,0xa89f7c4e,0xb62a3686,0x6dc05ebb,0x308e3353,0xdf4de847,0x9fb53bb9,0x53868fbb
-.long 0xcfdcf7dd,0x2b09d2c3,0x723fcab4,0x41a9fce3,0x07f57ca3,0x73d905f7,0xac8e1555,0x080f9fb1,0x9ba7a531,0x7c088e84,0xed9a147f,0x07d35586,0xaf48c336,0x602846ab,0x0ccf0e79,0x7320fd32
-.long 0xb18bd1ff,0xaa780798,0xafdd2905,0x52c2e300,0x434267cd,0xf27ea3d6,0x15605b5f,0x8b96d16d,0x4b45706b,0x7bb31049,0x743d25f8,0xe7f58b8e,0x87f30076,0xe9b5e45b,0x5d053d5a,0xd19448d6
-.long 0xd3210a04,0x1ecc8cb9,0xdafb5269,0x6bc7d463,0x67c3489f,0x3e59b10a,0x65641e1b,0x1769788c,0xbd6cb838,0x8a53b82d,0x236d5f22,0x7066d6e6,0x6908536e,0x03aa1c61,0x66ae9809,0xc971da0d
-.long 0xc49a2fac,0x01b3a86b,0x3092e77a,0x3b8420c0,0x7d6fb556,0x02057300,0xbff40a87,0x6941b2a1,0x0658ff2a,0x140b6308,0x3424ab36,0x87804363,0x5751e299,0x0253bd51,0x449c3e3a,0xc75bcd76
-.long 0x7f8f875d,0x92eb4090,0x56c26bbf,0x9c9d754e,0x8110bbe7,0x158cea61,0x745f91ea,0x62a6b802,0xc6e7394b,0xa79c41aa,0xad57ef10,0x445b6a83,0x6ea6f40c,0x0c5277eb,0x88633365,0x319fe96b
-.long 0x385f63cb,0x0b0fc61f,0x22bdd127,0x41250c84,0x09e942c2,0x67d153f1,0xc021ad5d,0x60920d08,0x724d81a5,0x229f5746,0x5bba3299,0xb7ffb892,0xde413032,0x518c51a1,0x3c2fd94c,0x2a9bfe77
-.long 0x3191f4fd,0xcbcde239,0xd3d6ada1,0x43093e16,0x58769606,0x184579f3,0xd236625c,0x2c94a8b3,0x5c437d8e,0x6922b9c0,0xd8d9f3c8,0x3d4ae423,0x2e7090a2,0xf72c31c1,0xd76a55bd,0x4ac3f5f3
-.long 0x6b6af991,0x342508fc,0x1b5cebbd,0x0d527100,0xdd440dd7,0xb84740d0,0x780162fd,0x748ef841,0xdfc6fafb,0xa8dbfe0e,0xf7300f27,0xeadfdf05,0xfeba4ec9,0x7d06555f,0x9e25fa97,0x12c56f83
-.long 0xd39b8c34,0x77f84203,0x3125eddb,0xed8b1be6,0xf6e39dc5,0x5bbf2441,0x6a5d678a,0xb00f6ee6,0x57d0ea99,0xba456ecf,0x17e06c43,0xdcae0f58,0x0f5b4baa,0x01643de4,0xd161b9be,0x2c324341
-.long 0xe126d468,0x80177f55,0x76748e09,0xed325f1f,0xcfa9bdc2,0x6116004a,0x3a9fb468,0x2d8607e6,0x6009d660,0x0e573e27,0x8d10c5a1,0x3a525d2e,0x3b9009a0,0xd26cb45c,0xde9d7448,0xb6b0cdc0
-.long 0xe1337c26,0x949c9976,0xd73d68e5,0x6faadebd,0xf1b768d9,0x9e158614,0x9cc4f069,0x22dfa557,0xbe93c6d6,0xccd6da17,0xa504f5b9,0x24866c61,0x8d694da1,0x2121353c,0x0140b8c6,0x1c6ca580
-.long 0xe964021e,0xc245ad8c,0x032b82b3,0xb83bffba,0x47ef9898,0xfaa220c6,0x982c948a,0x7e8d3ac6,0xbc2d124a,0x1faa2091,0x05b15ff4,0xbd54c3dd,0xc87c6fb7,0x386bf3ab,0xfdeb6f66,0xfb2b0563
-.long 0x5b45afb4,0x4e77c557,0xefb8912d,0xe9ded649,0x42f6e557,0x7ec9bbf5,0x62671f00,0x2570dfff,0x88e084bd,0x2b3bfb78,0xf37fe5b4,0xa024b238,0x95649aee,0x44e7dc04,0x5e7ec1d8,0x498ca255
-.long 0xaaa07e86,0x3bc766ea,0xf3608586,0x0db6facb,0xbdc259c8,0xbadd2549,0x041c649f,0x95af3c6e,0x02e30afb,0xb36a928c,0x008a88b8,0x9b5356ad,0xcf1d9e9d,0x4b67a5f1,0xa5d8d8ce,0xc6542e47
-.long 0x7adfb6cc,0x73061fe8,0x98678141,0xcc826fd3,0x3c80515a,0x00e758b1,0x41485083,0x6afe3247,0xb6ae8a75,0x0fcb08b9,0x4acf51e1,0xb8cf388d,0x6961b9d6,0x344a5560,0x6a97fd0c,0x1a6778b8
-.long 0xecc4c7e3,0xd840fdc1,0x16db68cc,0xde9fe47d,0xa3e216aa,0xe95f89de,0x9594a8be,0x84f1a6a4,0x5a7b162b,0x7ddc7d72,0xadc817a3,0xc5cfda19,0x78b58d46,0x80a5d350,0x82978f19,0x93365b13
-.long 0x26a1fc90,0x2e44d225,0x4d70705d,0x0d6d10d2,0xd70c45f4,0xd94b6b10,0xb216c079,0x0f201022,0x658fde41,0xcec966c5,0x7e27601d,0xa8d2bc7d,0xff230be7,0xbfcce3e1,0x0033ffb5,0x3394ff6b
-.long 0x8132c9af,0xd890c509,0x361e7868,0xaac4b0eb,0xe82d15aa,0x5194ded3,0x23ae6b7d,0x4550bd2e,0xea5399d4,0x3fda318e,0x91638b80,0xd989bffa,0xa14aa12d,0x5ea124d0,0x3667b944,0x1fb1b899
-.long 0x44c44d6a,0x95ec7969,0x57e86137,0x91df144a,0x73adac44,0x915fd620,0x59a83801,0x8f01732d,0x3aa0a633,0xec579d25,0xc9d6d59c,0x06de5e7c,0xb1ef8010,0xc132f958,0xe65c1a02,0x29476f96
-.long 0xd34c3565,0x336a77c0,0x1b9f1e9e,0xef1105b2,0xf9e08002,0x63e6d08b,0xc613809e,0x9aff2f21,0x3a80e75d,0xb5754f85,0x6bbda681,0xde71853e,0x8197fd7a,0x86f041df,0x127817fa,0x8b332e08
-.long 0xb9c20cda,0x05d99be8,0xd5cd0c98,0x89f7aad5,0x5bb94183,0x7ef936fe,0xb05cd7f2,0x92ca0753,0x74a1e035,0x9d65db11,0x13eaea92,0x02628cc8,0x49e4fbf2,0xf2d9e242,0xe384f8b7,0x94fdfd9b
-.long 0x63428c6b,0x65f56054,0x90b409a5,0x2f7205b2,0xff45ae11,0xf778bb78,0xc5ee53b2,0xa13045be,0x03ef77fe,0xe00a14ff,0xffef8bef,0x689cd59f,0x1e9ade22,0x3578f0ed,0x6268b6a8,0xe99f3ec0
-.long 0xea1b3c3e,0xa2057d91,0xb8823a4a,0x2d1a7053,0x2cca451e,0xabbb336a,0x2218bb5d,0xcd2466e3,0xc8cb762d,0x3ac1f42f,0x7690211f,0x7e312aae,0x45d07450,0xebb9bd73,0x46c2213f,0x207c4b82
-.long 0x375913ec,0x99d425c1,0x67908220,0x94e45e96,0xcd67dbf6,0xc08f3087,0xc0887056,0xa5670fbe,0x66f5b8fc,0x6717b64a,0x786fec28,0xd5a56aea,0xc0ff4952,0xa8c3f55f,0x457ac49b,0xa77fefae
-.long 0x98379d44,0x29882d7c,0x509edc8a,0xd000bdfb,0xe66fe464,0xc6f95979,0xfa61bde0,0x504a6115,0xeffea31a,0x56b3b871,0xf0c21a54,0x2d3de26d,0x834753bf,0x21dbff31,0x69269d86,0xe67ecf49
-.long 0x151fe690,0x7a176952,0x7f2adb5f,0x03515804,0xd1b62a8d,0xee794b15,0xaae454e6,0xf004ceec,0xf0386fac,0x0897ea7c,0xd1fca751,0x3b62ff12,0x1b7a04ec,0x154181df,0xfb5847ec,0x2008e04a
-.long 0x41dbd772,0xd147148e,0x22942654,0x2b419f73,0xe9c544f7,0x669f30d3,0xc8540149,0x52a2c223,0x634dfb02,0x5da9ee14,0xf47869f3,0x5f074ff0,0xa3933acc,0x74ee878d,0x4fe35ed1,0xe6510651
-.long 0xf1012e7a,0xb3eb9482,0xa8a566ae,0x51013cc0,0x47c00d3b,0xdd5e9243,0x946bb0e5,0x7fde089d,0xc731b4b3,0x030754fe,0x99fda062,0x12a136a4,0x5a1a35bc,0x7c1064b8,0x446c84ef,0xbf1f5763
-.long 0xa16d4b34,0xed29a56d,0xdca21c4f,0x7fba9d09,0x6d8de486,0x66d7ac00,0x73a2a5e1,0x60061987,0x9da28ff0,0x8b400f86,0x43c4599c,0x3133f708,0xee28cb0d,0x9911c9b8,0x8e0af61d,0xcd7e2874
-.long 0x72ed91fc,0x5a85f0f2,0x9cd4a373,0x85214f31,0x1925253c,0x881fe5be,0x91e8bc76,0xd8dc98e0,0x585cc3a2,0x7120affe,0x735bf97a,0x724952ed,0x3eb34581,0x5581e7dc,0xe52ee57d,0x5cbff4f2
-.long 0x87d8cc7b,0x8d320a0e,0xf1d280d0,0x9beaa7f3,0x9beec704,0x7a0b9571,0x5b7f0057,0x9126332e,0x8ed3bd6d,0x01fbc1b4,0xd945eb24,0x35bb2c12,0x9a8ae255,0x6404694e,0x8d6abfb3,0xb6092eec
-.long 0xcc058865,0x4d76143f,0x6e249922,0x7b0a5af2,0x6a50d353,0x8aef9440,0x64f0e07a,0xe11e4bcc,0xa14a90fa,0x4472993a,0xba0c51d4,0x7706e20c,0x1532672d,0xf403292f,0x21829382,0x52573bfa
-.long 0x3b5bdb83,0x6a7bb6a9,0xa4a72318,0x08da65c0,0x63eb065f,0xc58d22aa,0x1b15d685,0x1717596c,0xb266d88b,0x112df0d0,0x5941945a,0xf688ae97,0x7c292cac,0x487386e3,0x57d6985c,0x42f3b50d
-.long 0x6a90fc34,0x6da4f998,0x65ca8a8d,0xc8f257d3,0x6951f762,0xc2feabca,0x74c323ac,0xe1bc81d0,0x251a2a12,0x1bc68f67,0xbe8a70dc,0x10d86587,0xf0f84d2e,0xd648af7f,0x6a43ac92,0xf0aa9ebc
-.long 0x27596893,0x69e3be04,0x45bf452b,0xb6bb02a6,0xf4c698c8,0x0875c11a,0xbece3794,0x6652b5c7,0x4f5c0499,0x7b3755fd,0xb5532b38,0x6ea16558,0xa2e96ef7,0xd1c69889,0x61ed8f48,0x9c773c3a
-.long 0x9b323abc,0x2b653a40,0xf0e1d791,0xe26605e1,0x4a87157a,0x45d41064,0xcbbce616,0x8f9a78b7,0xc407eddd,0xcf1e44aa,0xa35b964f,0x81ddd1d8,0xfd083999,0x473e339e,0x8e796802,0x6c94bdde
-.long 0x8545d185,0x5a304ada,0x738bb8cb,0x82ae44ea,0xdf87e10e,0x628a35e3,0xa15b9fe3,0xd3624f3d,0x14be4254,0xcc44209b,0xbdbc2ea5,0x7d0efcbc,0x04c37bbe,0x1f603362,0x56a5852c,0x21f363f5
-.long 0xa8501550,0xa1503d1c,0xd8ab10bb,0x2251e0e1,0x6961c51c,0xde129c96,0x81910f68,0x1f7246a4,0x5f2591f2,0x2eb744ee,0x5e627157,0x3c47d33f,0x22f3bd68,0x4d6d62c9,0xcb8df856,0x6120a64b
-.long 0x7b5d07df,0x3a9ac6c0,0x7ef39783,0xa92b9558,0xab3a9b4f,0xe128a134,0xb1252f05,0x41c18807,0x80ba9b1c,0xfc7ed089,0xc532a9dd,0xac8dc6de,0x55246809,0xbf829cef,0x5b4ee80f,0x101b784f
-.long 0xb6f11603,0xc09945bb,0x41d2801e,0x57b09dbe,0xa97534a8,0xfba5202f,0xc17b9614,0x7fd8ae5f,0x78308435,0xa50ba666,0xd3868c4d,0x9572f77c,0x2dd7aab0,0x0cef7bfd,0x2c7c79ff,0xe7958e08
-.long 0x25346689,0x81262e42,0xb07c7004,0x716da290,0xb7950ee3,0x35f911ea,0x261d21b5,0x6fd72969,0x08b640d3,0x52389803,0x887f12a1,0x5b0026ee,0x742e9311,0x20e21660,0x5ff77ff7,0x0ef6d541
-.long 0xf9c41135,0x969127f0,0x68a64993,0xf21d60c9,0xe541875c,0x656e5d0c,0xa1d3c233,0xf1e0f84e,0x06002d60,0x9bcca359,0x06191552,0xbe2da60c,0x61181ec3,0x5da8bbae,0x65806f19,0x9f04b823
-.long 0xd4b79bb8,0xf1604a7d,0x52c878c8,0xaee806fb,0x8d47b8e8,0x34144f11,0x949f9054,0x72edf52b,0x2127015a,0xebfca84e,0x9cb7cef3,0x9051d0c0,0x296deec8,0x86e8fe58,0x41010d74,0x33b28188
-.long 0x171b445f,0x01079383,0x8131ad4c,0x9bcf21e3,0xc93987e8,0x8cdfe205,0xc92e8c8f,0xe63f4152,0x30add43d,0x729462a9,0xc980f05a,0x62ebb143,0x3b06e968,0x4f3954e5,0x242cf6b1,0xfe1d75ad
-.long 0xaf8685c8,0x5f95c6c7,0x2f8f01aa,0xd4c1c8ce,0x2574692a,0xc44bbe32,0xd4a4a068,0xb8003478,0x2eca3cdb,0x7c8fc6e5,0xec04d399,0xea1db16b,0x8f2bc5cf,0xb05bc82e,0xf44793d2,0x763d517f
-.long 0x08bd98d0,0x4451c1b8,0x6575f240,0x644b1cd4,0x7375d270,0x6907eb33,0xfa2286bd,0x56c8bebd,0xc4632b46,0xc713d2ac,0xafd60242,0x17da427a,0xc95c7546,0x313065b7,0xbf17a3de,0xf8239898
-.long 0x4c830320,0xf3b7963f,0x903203e3,0x842c7aa0,0xe7327afb,0xaf22ca0a,0x967609b6,0x38e13092,0x757558f1,0x73b8fb62,0xf7eca8c1,0x3cc3e831,0xf6331627,0xe4174474,0xc3c40234,0xa77989ca
-.long 0x44a081e0,0xe5fd17a1,0xb70e296a,0xd797fb7d,0x481f719c,0x2b472b30,0xfe6f8c52,0x0e632a98,0xc5f0c284,0x89ccd116,0x2d987c62,0xf51088af,0x4c2de6cf,0x2a2bccda,0xf679f0f9,0x810f9efe
-.long 0x7ffe4b3e,0xb0f394b9,0xe5fa5d21,0x0b691d21,0x9dfbbc75,0xb0bd7747,0xfaf78b00,0xd2830fda,0x52434f57,0xf78c249c,0x98096dab,0x4b1f7545,0x8ff8c0b3,0x73bf6f94,0x454e134c,0x34aef03d
-.long 0xb7ac7ec5,0xf8d151f4,0xe50da7d5,0xd6ceb95a,0xdc3a0eb8,0xa1b492b0,0xb3dd2863,0x75157b69,0xc5413d62,0xe2c4c74e,0xbc5fc4c7,0xbe329ff7,0x60fa9dda,0x835a2aea,0x7445cb87,0xf117f5ad
-.long 0xb0166f7a,0xae8317f4,0xceec74e6,0xfbd3e3f7,0xe0874bfd,0xfdb516ac,0xc681f3a3,0x3d846019,0x7c1620b0,0x0b12ee5c,0x2b63c501,0xba68b4dd,0x6668c51e,0xac03cd32,0x4e0bcb5b,0x2a6279f7
-.long 0x6ae85c10,0x17bd69b0,0x1dfdd3a6,0x72946979,0x2c078bec,0xd9a03268,0xbfd68a52,0x41c6a658,0x0e023900,0xcdea1024,0xb10d144d,0xbaeec121,0x058ab8dc,0x5a600e74,0xbb89ccdd,0x1333af21
-.long 0x3aaba1f1,0xdf25eae0,0x3b7144cf,0x2cada16e,0x71ab98bc,0x657ee27d,0x7a6fc96e,0x99088b4c,0x3549dbd4,0x05d5c0a0,0xf158c3ac,0x42cbdf8f,0x87edd685,0x3fb6b3b0,0x86f064d0,0x22071cf6
-.long 0xff2811e5,0xd2d6721f,0xfe7fae8c,0xdb81b703,0xd3f1f7bb,0x3cfb74ef,0x16cdeb5d,0x0cdbcd76,0x566a808c,0x4f39642a,0x340064d6,0x02b74454,0x0528fa6f,0xfabbadca,0xd3fc0bb6,0xe4c3074c
-.long 0xb796d219,0xb32cb8b0,0x34741dd9,0xc3e95f4f,0x68edf6f5,0x87212125,0xa2b9cb8e,0x7a03aee4,0xf53a89aa,0x0cd3c376,0x948a28dc,0x0d8af9b1,0x902ab04f,0xcf86a3f4,0x7f42002d,0x8aacb62a
-.long 0xf62ffd52,0x106985eb,0x5797bf10,0xe670b54e,0xc5e30aef,0x4b405209,0x4365b5e9,0x12c97a20,0x1fe32093,0x104646ce,0x3907a8c9,0x13cb4ff6,0xd46e726b,0x8b9f30d1,0xaba0f499,0xe1985e21
-.long 0x10a230cd,0xc573dea9,0xcd30f947,0x24f46a93,0xabe2010a,0xf2623fcf,0x73f00e4f,0x3f278cb2,0x50b920eb,0xed55c67d,0x8e760571,0xf1cb9a2d,0x0895b709,0x7c50d109,0x190d4369,0x4207cf07
-.long 0xc4127fe1,0x3b027e81,0x3ae9c566,0xa9f8b9ad,0xacbfbba5,0x5ab10851,0x569556f5,0xa747d648,0x2ba97bf7,0xcc172b5c,0xbcfa3324,0x15e0f77d,0x7686279d,0xa345b797,0xe38003d3,0x5a723480
-.long 0x8f5fcda8,0xfd8e139f,0xbdee5bfd,0xf3e558c4,0xe33f9f77,0xd76cbaf4,0x71771969,0x3a4c97a4,0xf6dce6a7,0xda27e84b,0x13e6c2d1,0xff373d96,0xd759a6e9,0xf115193c,0x63d2262c,0x3f9b7025
-.long 0x317cd062,0xd9764a31,0x199f8332,0x30779d8e,0x16b11b0b,0xd8074106,0x78aeaed8,0x7917ab9f,0x28fb1d8e,0xb67a9cbe,0x136eda33,0x2e313563,0xa371a86c,0x010b7069,0x6744e6b7,0x44d90fa2
-.long 0xd6b3e243,0x68190867,0x59048c48,0x9fe6cd9d,0x95731538,0xb900b028,0x32cae04f,0xa012062f,0x9399d082,0x8107c8bc,0x41df12e2,0x47e8c54a,0xb6ef3f73,0x14ba5117,0x81362f0b,0x22260bea
-.long 0x1a18cc20,0x90ea261e,0x2321d636,0x2192999f,0xe311b6a0,0xef64d314,0x3b54a1f5,0xd7401e4c,0x6fbca2ba,0x19019983,0x8fbffc4b,0x46ad3293,0x3786bf40,0xa142d3f6,0xb67039fc,0xeb5cbc26
-.long 0x252bd479,0x9cb0ae6c,0x12b5848f,0x05e0f88a,0xa5c97663,0x78f6d2b2,0xc162225c,0x6f6e149b,0xde601a89,0xe602235c,0xf373be1f,0xd17bbe98,0xa8471827,0xcaf49a5b,0x18aaa116,0x7e1a0a85
-.long 0x270580c3,0x6c833196,0xf1c98a14,0x1e233839,0xae34e0a5,0x67b2f7b4,0xd8ce7289,0x47ac8745,0x100dd467,0x2b74779a,0x4ee50d09,0x274a4337,0x83608bc9,0x603dcf13,0xc89e8388,0xcd9da6c3
-.long 0x355116ac,0x2660199f,0xb6d18eed,0xcc38bb59,0x2f4bc071,0x3075f31f,0x265dc57e,0x9774457f,0xc6db88bb,0x06a6a9c8,0x4ec98e04,0x6429d07f,0x05ecaa8b,0x8d05e57b,0x7872ea7b,0x20f140b1
-.long 0xca494693,0xdf8c0f09,0xf252e909,0x48d3a020,0x57b14b12,0x4c5c29af,0xbf47ad1c,0x7e6fa37d,0x49a0c938,0x66e7b506,0x6be5f41f,0xb72c0d48,0xb2359412,0x6a6242b8,0x8e859480,0xcd35c774
-.long 0x87baa627,0x12536fea,0xf72aa680,0x58c1fec1,0x601e5dc9,0x6c29b637,0xde9e01b9,0x9e3c3c1c,0x2bcfe0b0,0xefc8127b,0x2a12f50d,0x35107102,0x4879b397,0x6ccd6cb1,0xf8a82f21,0xf792f804
-.long 0xa9b46402,0x509d4804,0xc10f0850,0xedddf85d,0x4b6208aa,0x928410dc,0x391012dc,0xf6229c46,0x7727b9b6,0xc5a7c41e,0xaa444842,0x289e4e4b,0xe9a947ea,0x049ba1d9,0x83c8debc,0x44f9e47f
-.long 0x611f8b8e,0xfa77a1fe,0xf518f427,0xfd2e416a,0x114ebac3,0xc5fffa70,0x5d89697b,0xfe57c4e9,0xb1aaf613,0xfdd053ac,0xea585a45,0x31df210f,0x24985034,0x318cc10e,0x5f1d6130,0x1a38efd1
-.long 0x0b1e9e21,0xbf86f237,0x1dbe88aa,0xb258514d,0x90c1baf9,0x1e38a588,0xbdb9b692,0x2936a01e,0x6dd5b20c,0xd576de98,0x70f98ecf,0xb586bf71,0xc42d2fd7,0xcccf0f12,0xfb35bd7b,0x8717e61c
-.long 0x35e6fc06,0x8b1e5722,0x0b3e13d5,0x3477728f,0xaa8a7372,0x150c294d,0x3bfa528a,0xc0291d43,0xcec5a196,0xc6c8bc67,0x5c2e8a7c,0xdeeb31e4,0xfb6e1c51,0xba93e244,0x2e28e156,0xb9f8b71b
-.long 0x968a2ab9,0xce65a287,0x46bbcb1f,0xe3c5ce69,0xe7ae3f30,0xf8c835b9,0xff72b82b,0x16bbee26,0xfd42cd22,0x665e2017,0xf8b1d2a0,0x1e139970,0x79204932,0x125cda29,0x49c3bee5,0x7aee94a5
-.long 0x89821a66,0x68c70160,0x8f981669,0xf7c37678,0x48cc3645,0xd90829fc,0xd70addfc,0x346af049,0x370bf29c,0x2057b232,0x42e650ee,0xf90c73ce,0xa126ab90,0xe03386ea,0x975a087b,0x0e266e7e
-.long 0x0fca65d9,0x80578eb9,0x16af45b8,0x7e2989ea,0xcac75a4e,0x7438212d,0x4fef36b8,0x38c7ca39,0xd402676a,0x8650c494,0xf72c7c48,0x26ab5a66,0xce3a464e,0x4e6cb426,0x2b72f841,0xf8f99896
-.long 0x1a335cc8,0x8c318491,0x6a5913e4,0x563459ba,0xc7b32919,0x1b920d61,0xa02425ad,0x805ab8b6,0x8d006086,0x2ac512da,0xbcf5c0fd,0x6ca4846a,0xac2138d7,0xafea51d8,0x344cd443,0xcb647545
-.long 0xbd7d9040,0x0429ee8f,0x819b9c96,0xee66a2de,0xdea7d744,0x54f9ec25,0x671721bb,0x2ffea642,0x114344ea,0x4f19dbd1,0xfd0dbc8b,0x04304536,0x29ec7f91,0x014b50aa,0xbb06014d,0xb5fc22fe
-.long 0x1ee682e0,0x60d963a9,0xfe85c727,0xdf48abc0,0x2e707c2d,0x0cadba13,0xa645aeff,0xde608d3a,0xedafd883,0x05f1c28b,0xbd94de1f,0x3c362ede,0x13593e41,0x8dd0629d,0x766d6eaf,0x0a5e736f
-.long 0xf68cf9d1,0xbfa92311,0xc1797556,0xa4f9ef87,0x5601c209,0x10d75a1f,0x09b07361,0x651c374c,0x88b5cead,0x49950b58,0x6fa9dbaa,0x0ef00058,0x4e15f33a,0xf51ddc26,0x2ef46140,0x1f8b5ca6
-.long 0xee9523f0,0x343ac0a3,0x975ea978,0xbb75eab2,0x107387f4,0x1bccf332,0x9ab0062e,0x790f9259,0x1e4f6a5f,0xf1a363ad,0x62519a50,0x06e08b84,0x7265f1ee,0x60915187,0x93ae985e,0x6a80ca34
-.long 0xaaba4864,0x81b29768,0x8d52a7d6,0xb13cabf2,0x8ead03f1,0xb5c36348,0x81c7c1c0,0xc932ad95,0xcae1e27b,0x5452708e,0x1b0df648,0x9dac4269,0xdfcdb8bc,0x233e3f0c,0xec540174,0xe6ceccdf
-.long 0x95081181,0xbd0d845e,0x699355d5,0xcc8a7920,0xc3b375a8,0x111c0f6d,0xfd51e0dc,0xfd95bc6b,0x6888523a,0x4a106a26,0xcb01a06d,0x4d142bd6,0xadb9b397,0x79bfd289,0xe9863914,0x0bdbfb94
-.long 0x1660f6a6,0x29d8a229,0x551c042d,0x7f6abcd6,0x0ac3ffe8,0x13039deb,0xec8523fb,0xa01be628,0x0ca1c328,0x6ea34103,0xb903928e,0xc74114bd,0x9e9144b0,0x8aa4ff4e,0x7f9a4b17,0x7064091f
-.long 0xe447f2c4,0xa3f4f521,0x604291f0,0x81b8da7a,0x7d5926de,0xd680bc46,0x34a1202f,0x84f21fd5,0x4e9df3d8,0x1d1e3181,0x39ab8d34,0x1ca4861a,0x5b19aa4a,0x809ddeec,0x4d329366,0x59f72f7e
-.long 0x386d5087,0xa2f93f41,0xdd67d64f,0x40bf739c,0x66702158,0xb4494205,0x73b1e178,0xc33c65be,0x38ca6153,0xcdcd657c,0xdc791976,0x97f4519a,0xcd6e1f39,0xcc7c7f29,0x7e3c3932,0x38de9cfb
-.long 0x7b793f85,0xe448eba3,0xf067e914,0xe9f8dbf9,0xf114ae87,0xc0390266,0xcd6a8e2a,0x39ed75a7,0x7ffba390,0xadb14848,0x6af9bc09,0x67f8cb8b,0x9c7476db,0x322c3848,0x52a538d6,0xa320fecf
-.long 0xb2aced2b,0xe0493002,0x616bd430,0xdfba1809,0xc331be70,0x531c4644,0x90d2e450,0xbc04d32e,0x0f9f142d,0x1805a0d1,0x47ee5a23,0x2c44a0c5,0x3989b4e3,0x31875a43,0x0c063481,0x6b1949fd
-.long 0xbe0f4492,0x2dfb9e08,0xe9d5e517,0x3ff0da03,0xf79466a8,0x03dbe9a1,0x15ea9932,0x0b87bcd0,0xab1f58ab,0xeb64fc83,0x817edc8a,0x6d9598da,0x1d3b67e5,0x699cff66,0x92635853,0x645c0f29
-.long 0xeabaf21c,0x253cdd82,0x2241659e,0x82b9602a,0x2d9f7091,0x2cae07ec,0x8b48cd9b,0xbe4c720c,0x6f08d6c9,0x6ce5bc03,0xaf10bf40,0x36e8a997,0x3e10ff12,0x83422d21,0xbcc12494,0x7b26d3eb
-.long 0xc9469ad6,0xb240d2d0,0x30afa05b,0xc4a11b4d,0xdd6ba286,0x4b604ace,0x3ee2864c,0x18486600,0x8d9ce5be,0x5869d6ba,0xff4bfb0d,0x0d8f68c5,0x5700cf73,0xb69f210b,0x6d37c135,0x61f6653a
-.long 0x5aff5a48,0xff3d432b,0x72ba3a69,0x0d81c4b9,0xfa1899ef,0xee879ae9,0x2d6acafd,0xbac7e2a0,0x1c664399,0xd6d93f6c,0x5bcb135d,0x4c288de1,0x9dab7cbf,0x83031dab,0x3abbf5f0,0xfe23feb0
-.long 0xcdedca85,0x9f1b2466,0x1a09538c,0x140bb710,0x5e11115d,0xac8ae851,0x6f03f59e,0x0d63ff67,0x7d234afb,0x755e5551,0x7e208fc1,0x61c2db4e,0xf28a4b5d,0xaa9859ce,0x34af030f,0xbdd6d4fc
-.long 0x3be01cb1,0xd1c4a26d,0x243aa07c,0x9ba14ffc,0xb2503502,0xf95cd3a9,0x7d2a93ab,0xe379bc06,0xd4ca8d68,0x3efc18e9,0x80bb412a,0x083558ec,0x9645a968,0xd903b940,0x9ba6054f,0xa499f0b6
-.long 0xb8349abe,0x208b573c,0x30b4fc1c,0x3baab3e5,0xcb524990,0x87e978ba,0xccdf0e80,0x3524194e,0x7d4bcc42,0x62711725,0xb90109ba,0xe90a3d9b,0x1323e1e0,0x3b1bdd57,0x5eae1599,0xb78e9bd5
-.long 0x9e03d278,0x0794b746,0xd70e6297,0x80178605,0x99c97855,0x171792f8,0xf5a86b5c,0x11b393ee,0xd8884f27,0x48ef6582,0xbf19ba5f,0xbd44737a,0xa42062c6,0x8698de4c,0x61ce9c54,0x8975eb80
-.long 0xd7fe71f3,0xd50e57c7,0xbc97ce38,0x15342190,0x4df07b63,0x51bda2de,0x200eb87d,0xba12aeae,0xa9b4f8f6,0xabe135d2,0xfad6d99c,0x04619d65,0x7994937c,0x4a6683a7,0x6f94f09a,0x7a778c8b
-.long 0x20a71b89,0x8c508623,0x1c229165,0x241a2aed,0xaaf83a99,0x352be595,0x1562bac8,0x9fbfee7f,0x5c4017e3,0xeaf658b9,0x15120b86,0x1dc7f9e0,0x4c034d6f,0xd84f13dd,0xeaea3038,0x283dd737
-.long 0xcd85d6a2,0x197f2609,0xfae60177,0x6ebbc345,0x4e12fede,0xb80f031b,0x07a2186b,0xde55d0c2,0x24dcdd5a,0x1fb3e37f,0x7ed191fb,0x8d602da5,0x76023e0d,0x108fb056,0x459c20c0,0x70178c71
-.long 0x3fe54cf0,0xfad5a386,0x02bbb475,0xa4a3ec4f,0x919d94d7,0x1aa5ec20,0xa81e4ab3,0x5d3b63b5,0x5ad3d2af,0x7fa733d8,0xd1ac7a37,0xfbc586dd,0x40779614,0x282925de,0xe74a242a,0xfe0ffffb
-.long 0x906151e5,0x3f39e67f,0x55e10649,0xcea27f5f,0xc17cf7b7,0xdca1d4e1,0x2fe2362d,0x0c326d12,0x7dd35df3,0x05f7ac33,0xc396dbdf,0x0c3b7639,0x03b7db1c,0x0912f5ac,0x5c9ed4a9,0x9dea4b70
-.long 0xaae3f639,0x475e6e53,0xfc278bac,0xfaba0e7c,0x9490375f,0x16f9e221,0xa5a7ed0a,0xaebf9746,0xf41ad5d6,0x45f9af3f,0xb2e99224,0x03c4623c,0xb3cf56aa,0x82c5bb5c,0x34567ed3,0x64311819
-.long 0x8be489ac,0xec57f211,0xb9a1104b,0x2821895d,0x6064e007,0x610dc875,0x5b20d0fe,0x8e526f3f,0x5b645aee,0x6e71ca77,0x800e10ff,0x3d1dcb9f,0x189cf6de,0x36b51162,0x6bb17353,0x2c5a3e30
-.long 0x2a6c6fbf,0xc186cd3e,0x4bf97906,0xa74516fa,0x279d6901,0x5b4b8f4b,0x2b573743,0x0c4e57b4,0xb6e386b6,0x75fdb229,0x99deac27,0xb46793fd,0xcf712629,0xeeec47ea,0xcbc3b2dd,0xe965f3c4
-.long 0x425c6559,0x8dd1fb83,0x0af06fda,0x7fc00ee6,0x33d956df,0xe98c9225,0x4fbdc8a2,0x0f1ef335,0xb79b8ea2,0x2abb5145,0xbdbff288,0x40fd2945,0xd7185db7,0x6a814ac4,0xc084609a,0xc4329d6f
-.long 0xed1be45d,0xc9ba7b52,0xe4cd2c74,0x891dd20d,0x824139b1,0x5a4d4a7f,0xb873c710,0x66c17716,0x2843c4e0,0x5e5bc141,0xb97eb5bf,0xd5ac4817,0x450c95c7,0xc0f8af54,0x318406c5,0xc91b3fa0
-.long 0xab9d97f8,0x360c340a,0x90a2d611,0xfb57bd07,0xa6a6f7e5,0x4339ae3c,0x2feb8a10,0x9c1fcd2a,0xc7ea7432,0x972bcca9,0x308076f6,0x1b0b924c,0x2a5b4ca5,0x80b2814a,0x61ef3b29,0x2f78f55b
-.long 0xc18a414f,0xf838744a,0x903d0a86,0xc611eaae,0x2a453f55,0x94dabc16,0x14efb279,0xe6f2e3da,0x9320dc3c,0x5b7a6017,0x8df6b5a4,0x692e382f,0x2d40fa90,0x3f5e15e0,0x643dd318,0xc87883ae
-.long 0x53544774,0x511053e4,0x3adba2bc,0x834d0ecc,0xbae371f5,0x4215d7f7,0x6c8663bc,0xfcfd57bf,0xd6901b1d,0xded2383d,0xb5587dc3,0x3b49fbb4,0x07625f62,0xfd44a08d,0x9de9b762,0x3ee4d65b
-.long 0x0d63d1fa,0x64e5137d,0x02a9d89f,0x658fc052,0x50436309,0x48894874,0xd598da61,0xe9ae30f8,0x818baf91,0x2ed710d1,0x8b6a0c20,0xe27e9e06,0x1c1a6b44,0x1e28dcfb,0xd6ac57dc,0x883acb64
-.long 0xc2c6ff70,0x8735728d,0xc5dc2235,0x79d6122f,0x19e277f9,0x23f5d003,0xdded8cc7,0x7ee84e25,0x63cd880a,0x91a8afb0,0x3574af60,0x3f3ea7c6,0x02de7f42,0x0cfcdc84,0xb31aa152,0x62d0792f
-.long 0x8a5807ce,0x8e1b4e43,0xe4109a7e,0xad283893,0xafd59dda,0xc30cc9cb,0x3d8d8093,0xf65f36c6,0xa60d32b2,0xdf31469e,0x3e8191c8,0xee93df4b,0x355bdeb5,0x9c1017c5,0x8616aa28,0xd2623185
-.long 0xdec31a21,0xb02c83f9,0x6ad9d573,0x988c8b23,0xa57be365,0x53e983ae,0x646f834e,0xe968734d,0x5da6309b,0x9137ea8f,0xc1f1ce16,0x10f3a624,0xca440921,0x782a9ea2,0x5b46f1b5,0xdf94739e
-.long 0xcce85c9b,0x9f9be006,0xa4c7c2d3,0x360e70d6,0xaefa1e60,0x2cd5beea,0x8c3d2b6d,0x64cf63c0,0xe1cf6f90,0xfb107fa3,0xd5e044e6,0xb7e937c6,0xce34db9f,0x74e8ca78,0x3e210bd0,0x4f8b36c1
-.long 0x34a35ea8,0x1df165a4,0x4d4412f6,0x3418e0f7,0x518836c3,0x5af1f8af,0x130e1965,0x42ceef4d,0x543a1957,0x5560ca0b,0x886cb123,0xc33761e5,0xfe98ed30,0x66624b1f,0x1090997d,0xf772f4bf
-.long 0x4885d410,0xf4e540bb,0x9ba5f8d7,0x7287f810,0xde98dfb1,0x22d0d865,0xbcfbb8a3,0x49ff51a1,0x6bc3012e,0xb6b6fa53,0x170d541d,0x3d31fd72,0x4b0f4966,0x8018724f,0x87dbde07,0x79e7399f
-.long 0xf4f8b16a,0x56f8410e,0xc47b266a,0x97241afe,0x6d9c87c1,0x0a406b8e,0xcd42ab1b,0x803f3e02,0x04dbec69,0x7f0309a8,0x3bbad05f,0xa83b85f7,0xad8e197f,0xc6097273,0x5067adc1,0xc097440e
-.long 0x3524ff16,0x730eafb6,0x823fc6ce,0xd7f9b51e,0x443e4ac0,0x27bd0d32,0x4d66f217,0x40c59ad9,0x17c387a4,0x6c33136f,0xeb86804d,0x5043b8d5,0x675a73c9,0x74970312,0xf16669b6,0x838fdb31
-.long 0x418e7ddd,0xc507b6dd,0x472f19d6,0x39888d93,0x0c27eb4d,0x7eae26be,0xfbabb884,0x17b53ed3,0x2b01ae4f,0xfc27021b,0xcf488682,0x88462e87,0x215e2d87,0xbee096ec,0xd242e29b,0xeb2fea9a
-.long 0xb821fc28,0x5d985b5f,0xdc1e2ad2,0x89d2e197,0x9030ba62,0x55b566b8,0x4f41b1c6,0xe3fd41b5,0xb9a96d61,0xb738ac2e,0x369443f4,0x7f8567ca,0xf803a440,0x8698622d,0x8fe2f4dc,0x2b586236
-.long 0x56b95bce,0xbbcc00c7,0x616da680,0x5ec03906,0x72214252,0x79162ee6,0x86a892d2,0x43132b63,0x2f3263bf,0x4bdd3ff2,0x9cd0a142,0xd5b3733c,0x44415ccb,0x592eaa82,0x8d5474ea,0x663e8924
-.long 0x5236344e,0x8058a25e,0xbda76ee6,0x82e8df9d,0x11cc3d22,0xdcf6efd8,0x3b4ab529,0x00089cda,0xbd38a3db,0x91d3a071,0xef72b925,0x4ea97fc0,0xea3edf75,0x0c9fc15b,0xa4348ed3,0x5a6297cd
-.long 0xce7c42d4,0x0d38ab35,0x82feab10,0x9fd493ef,0x82111b45,0x46056b6d,0x73efc5c3,0xda11dae1,0x5545a7fb,0xdc740278,0x40d507e6,0xbdb2601c,0x7066fa58,0x121dfeeb,0x39ae8c2a,0x214369a8
-.long 0x06e0956c,0x195709cb,0x010cd34b,0x4c9d254f,0x0471a532,0xf51e13f7,0x1e73054d,0xe19d6791,0xdb5c7be3,0xf702a628,0xb24dde05,0xc7141218,0xf29b2e2e,0xdc18233c,0x85342dba,0x3a6bd1e8
-.long 0xb311898c,0x3f747fa0,0xcd0eac65,0xe2a272e4,0xf914d0bc,0x4bba5851,0xc4a43ee3,0x7a1a9660,0xa1c8cde9,0xe5a367ce,0x7271abe3,0x9d958ba9,0x3d1615cd,0xf3ff7eb6,0xf5ae20b0,0xa2280dce
-.long 0xcf640147,0x56dba5c1,0x5e83d118,0xea5a2e3d,0xda24c511,0x04cd6b6d,0xe854d214,0x1c0f4671,0x69565381,0x91a6b7a9,0xdecf1f5b,0xdc966240,0xfcf5d009,0x1b22d21c,0x9021dbd5,0x2a05f641
-.long 0xd4312483,0x8c0ed566,0x643e216f,0x5179a95d,0x17044493,0xcc185fec,0x54991a21,0xb3063339,0x0081a726,0xd801ecdb,0x4fa89bbb,0x0149b0c6,0x4391b6b9,0xafe9065a,0xd633f3a3,0xedc92786
-.long 0xae6a8e13,0xe408c24a,0x9f3897ab,0x85833fde,0xd81a0715,0x43800e7e,0xb44ffc5f,0xde08e346,0xcdeff2e0,0x7094184c,0x165eaed1,0x49f9387b,0x777c468a,0x635d6129,0x538c2dd8,0x8c0dcfd1
-.long 0x7a6a308b,0xd6d9d9e3,0x4c2767d3,0x62375830,0xf38cbeb6,0x874a8bc6,0xccb6fd9e,0xd94d3f1a,0xba21f248,0x92a9735b,0x6cd1efb0,0x272ad0e5,0x05b03284,0x7437b69c,0x6948c225,0xe7f04702
-.long 0xcba2ecec,0x8a56c04a,0xe3a73e41,0x0c181270,0x03e93725,0x6cb34e9d,0x496521a9,0xf77c8713,0xfa7f9f90,0x94569183,0x8c9707ad,0xf2e7aa4c,0x26c1c9a3,0xced2c9ba,0x40197507,0x9109fe96
-.long 0xe9adfe1c,0x9ae868a9,0x314e39bb,0x3984403d,0xf2fe378f,0xb5875720,0xba44a628,0x33f901e0,0x3652438c,0xea1125fe,0x9dd1f20b,0xae9ec4e6,0xbebf7fbd,0x1e740d9e,0x42dbe79c,0x6dbd3ddc
-.long 0xedd36776,0x62082aec,0xe9859039,0xf612c478,0x032f7065,0xa493b201,0x4ff9b211,0xebd4d8f2,0xaac4cb32,0x3f23a0aa,0x15ed4005,0xea3aadb7,0xafa27e63,0xacf17ea4,0xc11fd66c,0x56125c1a
-.long 0x3794f8dc,0x266344a4,0x483c5c36,0xdcca923a,0x3f9d10a0,0x2d6b6bbf,0x81d9bdf3,0xb320c5ca,0x47b50a95,0x620e28ff,0xcef03371,0x933e3b01,0x99100153,0xf081bf85,0xc3a8c8d6,0x183be9a0
-.long 0xd6bbe24d,0x4e3ddc5a,0x53843795,0xc6c74630,0x65ec2d4c,0x78193dd7,0xcd3c89b2,0xb8df26cc,0x5a483f8d,0x98dbe399,0x7dd3313a,0x72d8a957,0xab0bd375,0x65087294,0x7c259d16,0xfcd89248
-.long 0x7613aa81,0x8a9443d7,0x85fe6584,0x80100800,0x7fb10288,0x70fc4dbc,0xe86beee8,0xf58280d3,0x7c978c38,0x14fdd82f,0x0de44d7b,0xdf1204c1,0x4160252f,0xa08a1c84,0xc17646a5,0x591554ca
-.long 0xa05bd525,0x214a37d6,0x07957b3c,0x48d5f09b,0xd7109bc9,0x0247cdcb,0x30599ce7,0x40f9e4bb,0xf46ad2ec,0xc325fa03,0xc3e3f9ee,0x00f766cf,0xd43a4577,0xab556668,0x3ee03b93,0x68d30a61
-.long 0x77b46a08,0x7ddc81ea,0xc7480699,0xcf5a6477,0x6633f683,0x43a8cb34,0x92363c60,0x1b867e6b,0x1f60558e,0x43921114,0x2f41450e,0xcdbcdd63,0xcc630e8b,0x7fc04601,0x97038b43,0xea7c66d5
-.long 0x04e99fd8,0x7259b8a5,0x4785549a,0x98a8dd12,0x840552e1,0x0e459a7c,0x4bb0909e,0xcdfcf4d0,0x53758da7,0x34a86db2,0xeac997e1,0xe643bb83,0x530c5b7e,0x96400bd7,0xb41c8b52,0x9f97af87
-.long 0xfbeee3f9,0x34fc8820,0x49091afd,0x93e53490,0x9a31f35c,0x764b9be5,0x57e3d924,0x71f37864,0x943aa75e,0x02fb34e0,0xab8ff6e4,0xa18c9c58,0x33cf0d19,0x080f31b1,0x083518a7,0x5c9682db
-.long 0xb709c3de,0x873d4ca6,0x3575b8f0,0x64a84262,0x020154bb,0x6275da1f,0xd17cf1ab,0x97678caa,0x951a95c3,0x8779795f,0x50fccc08,0xdd35b163,0x33d8f031,0x32709627,0x498dd85c,0x3c5ab10a
-.long 0x41dca566,0xb6c185c3,0xd8622aa3,0x7de7feda,0x901b6dfb,0x99e84d92,0x7c4ad288,0x30a02b0e,0x2fd3cf36,0xc7c81daa,0xdf89e59f,0xd1319547,0xcd496733,0xb2be8184,0x93d3412b,0xd5f449eb
-.long 0x25fe531d,0x7ea41b1b,0x6a1d5646,0xf9797432,0x2bde501a,0x86067f72,0x0c85e89c,0xf91481c0,0xf8b05bc6,0xca8ee465,0x02e83cda,0x1844e1cf,0xb4dbe33b,0xca82114a,0x4eabfde2,0x0f9f8769
-.long 0x38b27fe2,0x4936b1c0,0xaba402df,0x63b6359b,0x656bdbab,0x40c0ea2f,0x6580c39c,0x9c992a89,0x2a60aed1,0x600e8f15,0xe0bf49df,0xeb089ca4,0x2d42d99a,0x9c233d7d,0x4c6bc2fa,0x648d3f95
-.long 0xe1add3f3,0xdcc383a8,0x4f64a348,0xf42c0c6a,0x0030dbdb,0x2abd176f,0x7d6c215e,0x4de501a3,0x4b9a64bc,0x4a107c1f,0x2496cd59,0xa77f0ad3,0x7688dffb,0xfb78ac62,0x67937d8e,0x7025a2ca
-.long 0xd1a8f4e7,0xfde8b2d1,0x7354927c,0xf5b3da47,0xd9205735,0xe48606a3,0xe177b917,0xac477cc6,0xa883239a,0xfb1f73d2,0xcc8b8357,0xe12572f6,0xfb1f4f86,0x9d355e9c,0xd9f3ec6e,0x89b795f8
-.long 0xb54398dc,0x27be56f1,0x3fedeed5,0x1890efd7,0x9c6d0140,0x62f77f1f,0x596f0ee4,0x7ef0e314,0xcc61dab3,0x50ca6631,0xf4866e4f,0x4a39801d,0xae363b39,0x66c8d032,0x2ead66aa,0x22c591e5
-.long 0xde02a53e,0x954ba308,0xd389f357,0x2a6c060f,0xfbf40b66,0xe6cfcde8,0xc6340ce1,0x8e02fc56,0x73adb4ba,0xe4957795,0xa7b03805,0x7b86122c,0x0c8e6fa6,0x63f83512,0x057d7804,0x83660ea0
-.long 0x21ba473c,0xbad79105,0xded5389d,0xb6c50bee,0xaa7c9bc0,0xee2caf4d,0x8c4e98a7,0xd97b8de4,0xab3bbddb,0xa9f63e70,0x2597815a,0x3898aabf,0xac15b3d9,0x7659af89,0x703ce784,0xedf7725b
-.long 0xe085116b,0x25470fab,0x87285310,0x04a43375,0xe2bfd52f,0x4e39187e,0x7d9ebc74,0x36166b44,0xfd4b322c,0x92ad433c,0xba79ab51,0x726aa817,0xc1db15eb,0xf96eacd8,0x0476be63,0xfaf71e91
-.long 0x641fad98,0xdd69a640,0x29622559,0xb7995918,0xde4199dc,0x03c6daa5,0xad545eb4,0x92cadc97,0x256534e4,0x1028238b,0x8595409a,0x73e80ce6,0xd05dc59b,0x690d4c66,0x981dee80,0xc95f7b8f
-.long 0xd856ac25,0xf4337014,0xac524dca,0x441bd9dd,0x5f0499f5,0x640b3d85,0xd5fda182,0x39cf84a9,0xb2aa95a0,0x04e7b055,0x0ddf1860,0x29e33f0a,0x423f6b43,0x082e74b5,0x0aaa2b0f,0x217edeb9
-.long 0x83cbea55,0x58b83f35,0xbc185d70,0xc485ee4d,0x1e5f6992,0x833ff03b,0xcf0c0dd5,0xb5b9b9cc,0x4e9e8a50,0x7caaee8e,0x6269dafd,0x462e907b,0xfbe791c6,0x6ed5cee9,0xed430790,0x68ca3259
-.long 0x13b5ba88,0x2b72bdf2,0x35ef0ac4,0x60294c8a,0x19b99b08,0x9c3230ed,0x6c2589aa,0x560fff17,0xd6770374,0x552b8487,0x9a56f685,0xa373202d,0x45f175d9,0xd3e7f907,0xd080d810,0x3c2f315f
-.long 0x7b9520e8,0x1130e9dd,0x0af037b5,0xc078f9e2,0x1e9c104c,0x38cd2ec7,0xc472fe92,0x0f684368,0x6247e7ef,0xd3f1b5ed,0x396dfe21,0xb32d33a9,0x4a9aa2c2,0x46f59cf4,0xff0f7e41,0x69cd5168
-.long 0x4b3234da,0x3f59da0f,0xb4579ebe,0xcf0b0235,0x6d2476c7,0x6d1cbb25,0x9dc30f08,0x4f0837e6,0x906f6e98,0x9a4075bb,0xc761e7d1,0x253bb434,0x6e73af10,0xde2e645f,0x0c5f131c,0xb89a4060
-.long 0xb8cc037f,0xd12840c5,0x7405bb47,0x3d093a5b,0x206348b8,0x6202c253,0xc55a3ca7,0xbf5d57fc,0x8c3bef48,0x89f6c90c,0x5a0a960a,0x23ac7623,0x552b42ab,0xdfbd3d6b,0x132061f6,0x3ef22458
-.long 0xc97e6516,0xd74e9bda,0xc230f49e,0x88779360,0x1e74ea49,0xa6ec1de3,0x3fb645a2,0x581dcee5,0x8f483f14,0xbaef2391,0xd137d13b,0x6d2dddfc,0xd2743a42,0x54cde50e,0xe4d97e67,0x89a34fc5
-.long 0x12e08ce5,0x13f1f5b3,0xa7f0b2ca,0xa80540b8,0x01982805,0x854bcf77,0x233bea04,0xb8653ffd,0x02b0b4c9,0x8e7b8787,0x9acb170a,0x2675261f,0x930c14e5,0x061a9d90,0xdef0abea,0xb59b30e0
-.long 0x0200ec7d,0x1dc19ea6,0x0bce132b,0xb6f4a3f9,0xf13e27e0,0xb8d5de90,0x1fade16f,0xbaee5ef0,0xe4c6cf38,0x6f406aaa,0xd1369815,0xab4cfe06,0xefd550c6,0x0dcffe87,0x75ff7d39,0x9d4f59c7
-.long 0x51deb6ad,0xb02553b1,0xb1877749,0x812399a4,0xca6006e1,0xce90f71f,0xb02b6e77,0xc32363a6,0xdc36c64d,0x02284fbe,0xa7e1ae61,0x86c81e31,0xb909d94a,0x2576c7e5,0x818b2bb0,0x8b6f7d02
-.long 0x56faa38a,0xeca3ed07,0x9305bb54,0xa3790e6c,0x7bc73061,0xd784eeda,0x6dd50614,0xbd56d369,0x229a8aa9,0xd6575949,0x4595ec28,0xdcca8f47,0x06ab4fe6,0x814305c1,0x24f43f16,0xc8c39768
-.long 0x523f2b36,0xe2a45f36,0x920d93bb,0x995c6493,0x90f1632b,0xf8afdab7,0x1c295954,0x79ebbecd,0x79592f48,0xc7bb3ddb,0x5f88e998,0x67216a7b,0xbc01193e,0xd91f098b,0xb1db83fc,0xf7d928a5
-.long 0xe991f600,0x55e38417,0x2981a934,0x2a91113e,0x06b13bde,0xcbc9d648,0x0755ff44,0xb011b6ac,0x045ec613,0x6f4cb518,0xc2f5930a,0x522d2d31,0x382e65de,0x5acae1af,0x27bc966f,0x57643067
-.long 0x1c7193f0,0x5e12705d,0x3be8858e,0xf0f32f47,0x96c6dfc7,0x785c3d7d,0xbf31795d,0xd75b4a20,0x342659d4,0x91acf17b,0x44f0378f,0xe596ea34,0xce52129d,0x4515708f,0x79f2f585,0x17387e1e
-.long 0x49dee168,0x72cfd2e9,0x3e2af239,0x1ae05223,0x1d94066a,0x009e75be,0x38abf413,0x6cca31c7,0x9bc49908,0xb50bd61d,0xf5e2bc1e,0x4a9b4a8c,0x946f83ac,0xeb6cc5f7,0xebffab28,0x27da93fc
-.long 0x4821c8c5,0xea314c96,0xa83c15f4,0x8de49ded,0x7af33004,0x7a64cf20,0xc9627e10,0x45f1bfeb,0x54b9df60,0x878b0626,0xa95c0b33,0x5e4fdc3c,0xc2035d8e,0xe54a37ca,0x80f20b8c,0x9087cda9
-.long 0x8319ade4,0x36f61c23,0xde8cfdf8,0x766f287a,0x346f3705,0x48821948,0x16e4f4a2,0x49a7b853,0x5cedadfd,0xb9b3f8a7,0x8db2a815,0x8f562815,0x01f68f95,0xc0b7d554,0x688a208e,0x12971e27
-.long 0xd0ff34fc,0xc9f8b696,0x1222718c,0x20824de2,0x0c95284d,0x7213cf9f,0xdc158240,0xe2ad741b,0x54043ccf,0x0ee3a6df,0xd84412b3,0x16ff479b,0xdfc98af0,0xf6c74ee0,0x52fcd2fb,0xa78a169f
-.long 0x99c930e9,0xd8ae8746,0x49e117a5,0x1d33e858,0x6624759f,0x7581fcb4,0x5bedc01d,0xde50644f,0xcaf3155e,0xbeec5d00,0xbc73e75f,0x672d66ac,0x270b01db,0x86b9d8c6,0x50f55b79,0xd249ef83
-.long 0x73978fe3,0x6131d6d4,0x754b00a1,0xcc4e4542,0x57dfcfe9,0x4e05df05,0x51ef6bf0,0x94b29cdd,0x9bc7edf2,0xe4530cff,0xd3da65f3,0x8ac236fd,0xc8eb0b48,0x0faf7d5f,0x660eb039,0x4d2de14c
-.long 0x60430e54,0xc006bba7,0xda3289ab,0x10a2d0d6,0xd7979c59,0x9c037a5d,0xa116d944,0x04d1f3d3,0x8a0983cd,0x9ff22473,0xc883cabb,0x28e25b38,0x47a58995,0xe968dba5,0x774eebdf,0x2c80b505
-.long 0x4a953beb,0xee763b71,0x1642e7f6,0x502e223f,0x61d5e722,0x6fe4b641,0xdbef5316,0x9d37c5b0,0xf8330bc7,0x0115ed70,0x75a72789,0x139850e6,0xffceccc2,0x27d7faec,0x4fd9f7f6,0x3016a860
-.long 0x4cd8f64c,0xc492ec64,0x279d7b51,0x58a2d790,0x1fc75256,0x0ced1fc5,0x8f433017,0x3e658aed,0x05da59eb,0x0b61942e,0x0ddc3722,0xba3d60a3,0x742e7f87,0x7c311cd1,0xf6b01b6e,0x6473ffee
-.long 0x692ac542,0x8303604f,0x227b91d3,0xf079ffe1,0x15aaf9bd,0x19f63e63,0xf1f344fb,0xf99ee565,0xd6219199,0x8a1d661f,0xd48ce41c,0x8c883bc6,0x3c74d904,0x1065118f,0x0faf8b1b,0x713889ee
-.long 0x81a1b3be,0x972b3f8f,0xce2764a0,0x4f3ce145,0x28c4f5f7,0xe2d0f1cc,0xc7f3985b,0xdeee0c0d,0xd39e25c3,0x7df4adc0,0xc467a080,0x40619820,0x61cf5a58,0x440ebc93,0x422ad600,0x527729a6
-.long 0xb1b76ba6,0xca6c0937,0x4d2026dc,0x1a2eab85,0x19d9ae0a,0xb1715e15,0xbac4a026,0xf1ad9199,0x07ea7b0e,0x35b3dfb8,0x3ed9eb89,0xedf5496f,0x2d6d08ab,0x8932e5ff,0x25bd2731,0xf314874e
-.long 0x3f73f449,0xefb26a75,0x8d44fc79,0x1d1c94f8,0x3bc0dc4d,0x49f0fbc5,0x3698a0d0,0xb747ea0b,0x228d291e,0x5218c3fe,0x43c129d6,0x35b804b5,0xd1acc516,0xfac859b8,0x95d6e668,0x6c10697d
-.long 0x0876fd4e,0xc38e438f,0x83d2f383,0x45f0c307,0xb10934cb,0x203cc2ec,0x2c9d46ee,0x6a8f2439,0x65ccde7b,0xf16b431b,0x27e76a6f,0x41e2cd18,0x4e3484d7,0xb9c8cf8f,0x8315244a,0x64426efd
-.long 0xfc94dea3,0x1c0a8e44,0xdad6a0b0,0x34c8cdbf,0x04113cef,0x919c3840,0x15490ffa,0xfd32fba4,0x795dcfb7,0x58d190f6,0x83588baf,0xfef01b03,0xca1fc1c0,0x9e6d1d63,0xf0a41ac9,0x53173f96
-.long 0xba16f73b,0x2b1d402a,0x8cf9b9fc,0x2fb31014,0x446ef7bf,0x2d51e60e,0xb91e1745,0xc731021b,0x4fee99d4,0x9d3b4724,0xfac5c1ea,0x4bca48b6,0xbbea9af7,0x70f5f514,0x974c283a,0x751f55a5
-.long 0xcb452fdb,0x6e30251a,0x50f30650,0x31ee6965,0x933548d9,0xb0b3e508,0xf4b0ef5b,0xb8949a4f,0x3c88f3bd,0x208b8326,0xdb1d9989,0xab147c30,0x44d4df03,0xed6515fd,0xe72eb0c5,0x17a12f75
-.long 0x36cf69db,0x3b59796d,0x56670c18,0x1219eee9,0x7a070d8e,0xfe3341f7,0xa327f90c,0x9b70130b,0x0ae18e0e,0x36a32462,0x46c0a638,0x2021a623,0xc62eb0d4,0x251b5817,0x4c762293,0x87bfbcdf
-.long 0xcdd61d64,0xf78ab505,0xc8c18857,0x8c7a53fc,0x16147515,0xa653ce6f,0xea7d52d5,0x9c923aa5,0x5c18871f,0xc24709cb,0x73b3cc74,0x7d53bec8,0xfdd1d4c4,0x59264aff,0x240da582,0x5555917e
-.long 0x548f5a0e,0xcae8bbda,0x3bbfbbe1,0x1910eaba,0x7677afc3,0xae579685,0x73ff0b5c,0x49ea61f1,0x4f7c3922,0x78655478,0x20c68eef,0x95d337cd,0xdf779ab9,0x68f1e1e5,0xb5cf69a8,0x14b491b0
-.long 0x28e3fe89,0x7a6cbbe0,0xc5aac0eb,0xe7e1fee4,0x697e5140,0x7f47eda5,0xb454921f,0x4f450137,0x95cd8185,0xdb625f84,0xcdb2e583,0x74be0ba1,0xdd5e6de4,0xaee4fd7c,0xe8101739,0x4251437d
-.long 0xac620366,0x686d72a0,0xb6d59344,0x4be3fb9c,0xa1eb75b9,0x6e8b44e7,0x91a5c10c,0x84e39da3,0xb38f0409,0x37cc1490,0x2c2ade82,0x02951943,0x1190a2d8,0x9b688783,0x231182ba,0x25627d14
-.long 0x658a6d87,0x6eb550aa,0xcf9c7325,0x1405aaa7,0x5c8748c9,0xd147142e,0x53ede0e0,0x7f637e4f,0x14ffad2c,0xf8ca2776,0xbafb6791,0xe58fb1bd,0xbf8f93fc,0x17158c23,0x0a4a4655,0x7f15b373
-.long 0xd842ca72,0x39d4add2,0x3ed96305,0xa71e4391,0x6700be14,0x5bb09cbe,0xd8befcf6,0x68d69d54,0x37183bcf,0xa45f5367,0x3370dff7,0x7152b7bb,0xbf12525b,0xcf887baa,0xd6d1e3cd,0xe7ac7bdd
-.long 0x81fdad90,0x25914f78,0x0d2cf6ab,0xcf638f56,0xcc054de5,0xb90bc03f,0x18b06350,0x932811a7,0x9bbd11ff,0x2f00b330,0xb4044974,0x76108a6f,0xa851d266,0x801bb9e0,0xbf8990c1,0x0dd099be
-.long 0xabe32986,0x58c5aaaa,0x50d59c27,0x0fe9dd2a,0x8d307305,0x84951ff4,0x86529b78,0x6c23f829,0x0b136a79,0x50bb2218,0x77a20996,0x7e2174de,0xc0bb4da6,0x6f00a4b9,0xefdde8da,0x89a25a17
-.long 0xc11ee01d,0xf728a27e,0xe5f10dfb,0xf900553a,0x02ec893c,0x189a83c8,0x23f66d77,0x3ca5bdc1,0x97eada9f,0x98781537,0x10256230,0x59c50ab3,0x323c69b3,0x346042d9,0x2c460449,0x1b715a6d
-.long 0x6ae06e0b,0xa41dd476,0x9d42e25f,0xcdd7888e,0x56b25a20,0x0f395f74,0x8700e27e,0xeadfe0ae,0x69950093,0xb09d52a9,0x327f8d40,0x3525d9cb,0x67df886a,0xb8235a94,0x035faec2,0x77e4b0dd
-.long 0x517d7061,0x115eb20a,0x6c2df683,0x77fe3433,0xcdc6fc67,0x6870ddc7,0x0b87de83,0xb1610588,0xd9c4ddbe,0x343584ca,0x3d754be2,0xb3164f1c,0xc1e6c894,0x0731ed3a,0x4f6b904c,0x26327dec
-.long 0x97b5cd32,0x9d49c6de,0xb5eceecd,0x40835dae,0xd9ded7fe,0xc66350ed,0x7a678804,0x8aeebb5c,0x5b8ee9ec,0x51d42fb7,0x8e3ca118,0xd7a17bdd,0x2ef4400e,0x40d7511a,0x875a66f4,0xc48990ac
-.long 0x2199e347,0x8de07d2a,0x2a39e051,0xbee75556,0x916e51dc,0x56918786,0x4a2d89ec,0xeb191313,0x37d341ed,0x6679610d,0x56d51c2b,0x434fbb41,0xd7492dba,0xe54b7ee7,0x59021493,0xaa33a79a
-.long 0xe4bd6d3d,0x49fc5054,0x5ab551d0,0x09540f04,0x4942d3a6,0x8acc9085,0x2d28323b,0x231af02f,0x0992c163,0x93458cac,0x888e3bb4,0x1fef8e71,0xbe8c268c,0x27578da5,0xe805ec00,0xcc8be792
-.long 0xc61c3855,0x29267bae,0x58c1fd3b,0xebff429d,0x8c0b93b8,0x22d886c0,0x2ddb8953,0xca5e00b2,0xc3fed8b7,0xcf330117,0x819c01f6,0xd49ac6fa,0x3c0fbd54,0x6ddaa6bd,0x8049a2cf,0x91743068
-.long 0xaff2ef81,0xd67f981e,0x2818ae80,0xc3654d35,0x1b2aa892,0x81d05044,0x3d099328,0x2db067bf,0x703dcc97,0xe7c79e86,0xe133e215,0xe66f9b37,0xe39a7a5c,0xcdf119a6,0x876f1b61,0x47c60de3
-.long 0xd860f1b2,0x6e405939,0xf5ed4d4a,0x3e9a1dbc,0xc9b6bcbd,0x3f23619e,0x734e4497,0x5ee790cf,0x5bdaf9bb,0xf0a834b1,0x4ca295f0,0x02cedda7,0xcb8e378c,0x4619aa2b,0xcc987ea4,0xe5613244
-.long 0x76b23a50,0x0bc022cc,0x0a6c21ce,0x4a2793ad,0x89cac3f5,0x38328780,0xcba26d56,0x29176f1b,0x4f6f59eb,0x06296187,0x8bdc658e,0x86e9bca9,0x57e30402,0x2ca9c4d3,0x516a09bb,0x5438b216
-.long 0x7672765a,0x0a6a063c,0x0547b9bf,0x37a3ce64,0x98b1a633,0x42c099c8,0x05ee6961,0xb5ab800d,0x11a5acd6,0xf1963f59,0x46201063,0xbaee6157,0xa596210a,0x36d9a649,0x1ba7138c,0xaed04363
-.long 0xa4a82b76,0xcf817d1c,0xf3806be9,0x5586960e,0x09dc6bb5,0x7ab67c89,0x114fe7eb,0x52ace7a0,0xcbbc9b70,0xcd987618,0x604ca5e1,0x4f06fd5a,0x6dbde133,0x90af14ca,0x948a3264,0x1afe4322
-.long 0xc44b2c6c,0xa70d2ca6,0x0ef87dfe,0xab726799,0x2e696377,0x310f64dc,0x4c8126a0,0x49b42e68,0xcea0b176,0x0ea444c3,0xcb269182,0x53a8ddf7,0xbbba9dcb,0xf3e674eb,0xd8669d33,0x0d2878a8
-.long 0xd019b6a3,0x04b935d5,0x406f1e46,0xbb5cf88e,0x5b57c111,0xa1912d16,0x19ebfd78,0x9803fc21,0xc07764a9,0x4f231c9e,0xb75bd055,0xd93286ee,0x8ee6c9de,0x83a9457d,0x6087ec90,0x04695915
-.long 0x58d6cd46,0x14c6dd8a,0x8e6634d2,0x9cb633b5,0xf81bc328,0xc1305047,0x26a177e5,0x12ede0e2,0x065a6f4f,0x332cca62,0x67be487b,0xc3a47ecd,0x0f47ed1c,0x741eb187,0xe7598b14,0x99e66e58
-.long 0x63d0ff12,0x6f0544ca,0xb610a05f,0xe5efc784,0x7cad7b47,0xf72917b1,0xf2cac0c0,0x3ff6ea20,0xf21db8b7,0xcc23791b,0xd7d93565,0x7dac70b1,0x694bdaad,0x682cda1d,0x1023516d,0xeb88bb8c
-.long 0xdfdbeb1b,0xc4c634b4,0xb4ee4dea,0x22f5ca72,0xe6524821,0x1045a368,0x052b18b2,0xed9e8a3f,0xb961f49a,0x9b7f2cb1,0x7b009670,0x7fee2ec1,0x22507a6d,0x350d8754,0x4db55f1d,0x561bd711
-.long 0x320bbcaf,0x4c189ccc,0xdf1de48c,0x568434cf,0x0fa8f128,0x6af1b00e,0x8907583c,0xf0ba9d02,0x32ff9f60,0x735a4004,0xc25dcf33,0x3dd8e4b6,0x42c74cef,0xf2230f16,0x013fa8ad,0xd8117623
-.long 0xf51fe76e,0x36822876,0x11d62589,0x8a6811cc,0x46225718,0xc3fc7e65,0xc82fdbcd,0xb7df2c9f,0xdd7b205b,0x3b1d4e52,0x47a2e414,0xb6959478,0xefa91148,0x05e4d793,0xfd2e9675,0xb47ed446
-.long 0x04c9d9bf,0x1a7098b9,0x1b793048,0x661e2881,0xb01ee461,0xb1a16966,0x2954746f,0xbc521308,0x2477de50,0xc909a0fc,0x7dbd51ef,0xd80bb41c,0x53294905,0xa85be7ec,0x83958f97,0x6d465b18
-.long 0xfb6840fd,0x16f6f330,0x3401e6c8,0xfaaeb214,0xccb5b4f8,0xaf83d30f,0x266dec4b,0x22885739,0x7bc467df,0x51b4367c,0xd842d27a,0x926562e3,0x0fea14a6,0xdfcb6614,0xf2734cd9,0xeb394dae
-.long 0x11c0be98,0x3eeae5d2,0x814e8165,0xb1e6ed11,0xe52bce1c,0x191086bc,0xa75a04da,0x14b74cc6,0x8c060985,0x63cf1186,0x2dbd7f7c,0x071047de,0xce0942ca,0x4e433b8b,0xd8fec61d,0xecbac447
-.long 0xebf3232f,0x8f0ed0e2,0xc52a2edd,0xfff80f9e,0x75b55fdb,0xad9ab433,0xe42e0c11,0x73ca7820,0xe6251b46,0x6dace0a0,0x4c0d932d,0x89bc6b5c,0x095da19a,0x3438cd77,0x8d48bdfb,0x2f24a939
-.long 0x766561b7,0x99b47e46,0x0ed0322a,0x736600e6,0x638e1865,0x06a47cb1,0xcb136000,0x927c1c2d,0x0cc5df69,0x29542337,0x09d649a9,0x99b37c02,0x6aefdb27,0xc5f0043c,0x1be95c27,0x6cdd9987
-.long 0x390420d2,0x69850931,0x0983efa4,0x299c40ac,0xaf39aead,0x3a05e778,0x43a45193,0x84274408,0x91a711a0,0x6bcd0fb9,0x9f52ab17,0x461592c8,0xda3c6ed6,0xb49302b4,0x330d7067,0xc51fddc7
-.long 0xda50d531,0x94babeb6,0xa6a7b9da,0x521b840d,0x404bdc89,0x5305151e,0xd0d07449,0x1bcde201,0x3b76a59a,0xf427a78b,0x07791a1b,0xf84841ce,0xbf91ed1c,0xebd314be,0xbf172943,0x8e61d34c
-.long 0x5541b892,0x1d5dc451,0xfc9d9e54,0xb186ee41,0xd5bf610d,0x9d9f345e,0xf6acca9f,0x3e7ba65d,0xa8369486,0x9dda787a,0x8eb5ba53,0x09f9dab7,0xd6481bc3,0x5afb2033,0xafa62104,0x76f4ce30
-.long 0xf4f066b5,0xa8fa00cf,0x461dafc2,0x89ab5143,0xa3389998,0x44339ed7,0xbc214903,0x2ff862f1,0xb05556e3,0x2c88f985,0x3467081e,0xcd96058e,0xedc637ea,0x7d6a4176,0x36a5acdc,0xe1743d09
-.long 0x7eb37726,0x66fd72e2,0x1481a037,0xf7fa264e,0x45f4aa79,0x9fbd3bde,0x767c3e22,0xed1e0147,0x82e7abe2,0x7621f979,0x45f633f8,0x19eedc72,0x6137bf3a,0xe69b155e,0x414ee94e,0xa0ad13ce
-.long 0x1c0e651a,0x93e3d524,0x02ce227e,0xab1a6e2a,0x4ab27eca,0xe7af1797,0xbd444f39,0x245446de,0x56c07613,0x59e22a21,0xf4275498,0x43deafce,0x67fd0946,0x10834ccb,0x47406edf,0xa75841e5
-.long 0x7b0ac93d,0xebd6a677,0x78f5e0d7,0xa6e37b0d,0x76f5492b,0x2516c096,0x9ac05f3a,0x1e4bf888,0x4df0ba2b,0xcdb42ce0,0x5062341b,0x935d5cfd,0x82acac20,0x8a303333,0x5198b00e,0x429438c4
-.long 0x049d33fa,0x1d083bc9,0x946f67ff,0x58b82dda,0x67a1d6a3,0xac3e2db8,0x1798aac8,0x62e6bead,0xde46c58c,0xfc85980f,0x69c8d7be,0xa7f69379,0x837b35ec,0x23557927,0xe0790c0c,0x06a933d8
-.long 0x077ff55d,0x827c0e9b,0xbb26e680,0x53977798,0x1d9cb54f,0x59530874,0x4aac53ef,0xcca3f449,0xa07eda0f,0x11dc5c87,0xfd6400c8,0xc138bccf,0x13e5da72,0x549680d3,0x4540617e,0xc93eed82
-.long 0x4d0b75c0,0xfd3db157,0x6386075b,0x9716eb42,0x817b2c16,0x0639605c,0xf1e4f201,0x09915109,0x5cca6c3b,0x35c9a928,0x3505c900,0xb25f7d1a,0x630480c4,0xeb9f7d20,0x2a1a501c,0xc3c7b8c6
-.long 0x5a1f8e24,0x3f99183c,0x9dd255f0,0xfdb118fa,0xc27f62a6,0xb9b18b90,0x396ec191,0xe8f732f7,0x0be786ab,0x524a2d91,0x0ac5a0f5,0x5d32adef,0x9725f694,0x9b53d4d6,0x0510ba89,0x032a76c6
-.long 0xebeb1544,0x840391a3,0x3ed73ac3,0x44b7b88c,0x256cb8b3,0xd24bae7a,0xe394cb12,0x7ceb151a,0x5bc1e6a8,0xbd6b66d0,0x090f07bf,0xec70cecb,0x7d937589,0x270644ed,0x5f1dccfe,0xee9e1a3d
-.long 0x745b98d2,0xb0d40a84,0x2556ed40,0xda429a21,0x85148cb9,0xf676eced,0xded18936,0x5a22d40c,0x70e8a4ce,0x3bc4b9e5,0x9eae0379,0xbfd1445b,0x1a0bd47e,0xf23f2c0c,0xe1845531,0xa9c0bb31
-.long 0x0a4c3f6b,0x9ddc4d60,0x2c15ef44,0xbdfaad79,0x7f484acc,0xce55a236,0x055b1f15,0x08653ca7,0x538873a3,0x2efa8724,0xace1c7e7,0x09299e5d,0xade332ba,0x07afab66,0x92dd71b7,0x9be1fdf6
-.long 0x5758b11c,0xa49b5d59,0xc8654f40,0x0b852893,0x52379447,0xb63ef6f4,0x105e690c,0xd4957d29,0x646559b0,0x7d484363,0x49788a8e,0xf4a8273c,0x34ce54a9,0xee406cb8,0xf86fda9b,0x1e1c260f
-.long 0xcf6a4a81,0xe150e228,0x1b488772,0x1fa3b6a3,0xc5a9c15b,0x1e6ff110,0x8ad6aa47,0xc6133b91,0x9dffa978,0x8ac5d55c,0x5f3965f2,0xba1d1c1d,0x7732b52f,0xf969f4e0,0xa5172a07,0xfceecdb5
-.long 0x10f2b8f5,0xb0120a5f,0x5c4c2f63,0xc83a6cdf,0xf8f9c213,0x4d47a491,0xd3f1bbd5,0xd9e1cce5,0xaba7e372,0x0d91bc7c,0xdfd1a2db,0xfcdc74c8,0x374618e5,0x05efa800,0x15a7925e,0x11216969
-.long 0xf6021c5d,0xd4c89823,0xeff14423,0x880d5e84,0x6dcd1396,0x6523bc5a,0x113c978b,0xd1acfdfc,0xbbb66840,0xb0c164e8,0x72b58459,0xf7f4301e,0xa638e8ec,0xc29ad4a6,0x46b78699,0xf5ab8961
-.long 0x0e954750,0x9dbd7974,0x64f9d2c6,0x0121de88,0xd985232e,0x2e597b42,0x53451777,0x55b6c3c5,0x519cb9fb,0xbb53e547,0x8428600d,0xf134019f,0xe081791a,0x5a473176,0x35fb0c08,0x2f3e2263
-.long 0x73d273b0,0xb28c3017,0x7721ef9a,0xccd21076,0xb650dc39,0x054cc292,0x6188045e,0x662246de,0x6b83c0d1,0x904b52fa,0x97e9cd46,0xa72df267,0x899725e4,0x886b43cd,0xd849ff22,0x2b651688
-.long 0x02f34533,0x60479b79,0x0c77c148,0x5e354c14,0xa8537c78,0xb4bb7581,0xefe1495f,0x188043d7,0x8c1d5026,0x9ba12f42,0x93d4aaab,0x2e0c8a26,0xaa57c450,0xbdba7b8b,0x9bbdafef,0x140c9ad6
-.long 0x25ac0f18,0x2067aa42,0x04d1fbf3,0xf7b1295b,0xa4b04824,0x14829111,0x33bd5e91,0x2ce3f192,0x8f2e1b72,0x9c7a1d55,0x302aa243,0xfe932286,0xd4be9554,0x497ca7b4,0xe0547a6e,0xb8e821b8
-.long 0x67e573e0,0xfb2838be,0x4084c44b,0x05891db9,0x96c1c2c5,0x91311373,0xd958444b,0x6aebfa3f,0xe56e55c1,0xac9cdce9,0x2caa46d0,0x7148ced3,0xb61fe8eb,0x2e10c7ef,0xff97cf4d,0x9fd835da
-.long 0x081e9387,0xa36da109,0x8c935828,0xfb9780d7,0xe540b015,0xd5940332,0xe0f466fa,0xc9d7b51b,0xd6d9f671,0xfaadcd41,0xb1a2ac17,0xba6c1e28,0xed201e5f,0x066a7833,0xf90f462b,0x19d99719
-.long 0x060b5f61,0xf431f462,0x7bd057c2,0xa56f46b4,0x47e1bf65,0x348dca6c,0x41bcf1ff,0x9a38783e,0xda710718,0x7a5d33a9,0x2e0aeaf6,0x5a779987,0x2d29d187,0xca87314d,0xc687d733,0xfa0edc3e
-.long 0x6a31e09b,0x9df33621,0xc1350e35,0xde89e44d,0x4ca0cf52,0x29214871,0x0b88a538,0xdf379672,0x2591d61b,0xc92a510a,0x585b447b,0x79aa87d7,0xe5287f77,0xf67db604,0x5efe7a80,0x1697c8bf
-.long 0xcb198ac7,0x1c894849,0x0f264665,0xa884a93d,0x9b200678,0x2da964ef,0x009834e6,0x3c351b87,0xe2c4b44b,0xafb2ef9f,0x3326790c,0x580f6c47,0x0b02264a,0xb8480521,0x42a194e2,0x8ba6f9e2
-.long 0x8fb54738,0xfc87975f,0x27c3ead3,0x35160788,0xb74a085a,0x834116d2,0xa62fe996,0x53c99a73,0x5b81c51b,0x87585be0,0xbe0852b7,0x925bafa8,0xa84d19a7,0x76a4fafd,0x585206d4,0x39a45982
-.long 0x5eb03c0e,0x499b6ab6,0x72bc3fde,0xf19b7954,0x6e3a80d2,0xa86b5b9c,0x6d42819f,0xe4377508,0xbb3ee8a3,0xc1663650,0xb132075f,0x75eb14fc,0x7ad834f6,0xa8ccc906,0xe6e92ffd,0xea6a2474
-.long 0x0f8d6758,0x9d72fd95,0x408c07dd,0xcb84e101,0xa5e23221,0xb9114bfd,0xe94e742c,0x358b5fe2,0x95f40e75,0x1c0577ec,0x3d73f3d6,0xf0155451,0xbd1b9b66,0x9d55cd67,0xaf8d63c7,0x63e86e78
-.long 0xd3c095f1,0x39d934ab,0xe4b76d71,0x04b261be,0xe73e6984,0x1d2e6970,0x5e5fcb11,0x879fb23b,0xdfd75490,0x11506c72,0x61bcf1c1,0x3a97d085,0xbf5e7007,0x43201d82,0x798232a7,0x7f0ac52f
-.long 0x6eb564d4,0x2715cbc4,0x9e570e29,0x8d6c752c,0x9ef5fd5d,0xf80247c8,0xd53eb514,0xc3c66b46,0x0f87de56,0x9666b401,0xc6c603b5,0xce62c06f,0x7e4fc942,0xae7b4c60,0x663a9c19,0x38ac0b77
-.long 0x4b049136,0xcb4d20ee,0x356a4613,0x8b63bf12,0x70e08128,0x1221aef6,0x4acb6b16,0xe62d8c51,0x379e7896,0x71f64a67,0xcafd7fa5,0xb25237a2,0x3841ba6a,0xf077bd98,0x3cd16e7e,0xc4ac0244
-.long 0x21fea4ca,0x548ba869,0xf3dfdac1,0xd36d0817,0xf4685faf,0x09d8d71f,0xc52c459a,0x8eff66be,0x0b57235e,0x182faee7,0x0106712b,0xee3c39b1,0xc0fcdcb0,0x5107331f,0xa51054ba,0x669fb9dc
-.long 0x319d7682,0xb25101fb,0x0a982fee,0xb0293129,0x0261b344,0x51c1c9b9,0xbfd371fa,0x0e008c5b,0x0278ca33,0xd866dd1c,0xe5aa53b1,0x666f76a6,0x6013a2cf,0xe5cfb779,0xa3521836,0x1d3a1aad
-.long 0x73faa485,0xcedd2531,0xc0a76878,0xc8ee6c4f,0x2a11667d,0xddbccfc9,0x1c2f695a,0x1a418ea9,0x51f73971,0xdb11bd92,0xda2ed89f,0x3e4b3c82,0xe73e0319,0x9a44f3f4,0x303431af,0xd1e3de0f
-.long 0x50f75f9c,0x3c5604ff,0x7e752b22,0x1d8eddf3,0x3c9a1118,0x0ef074dd,0xccb86d7b,0xd0ffc172,0x037d90f2,0xabd1ece3,0x6055856c,0xe3f307d6,0x7e4c6daf,0x422f9328,0x334879a0,0x902aac66
-.long 0x94cdfade,0xb6a1e7bf,0x7fc6d634,0x6c97e1ed,0xa2fb63f8,0x662ad24d,0xa5928405,0xf81be1b9,0xd14b4206,0x86d765e4,0x8fa0db65,0xbecc2e0e,0xb17fc76c,0xa28838e0,0xe37cf24e,0xe49a602a
-.long 0x567193ec,0x76b4131a,0xe5f6e70b,0xaf3c305a,0x031eebdd,0x9587bd39,0x71bbe831,0x5709def8,0x0eb2b669,0x57059983,0x875b7029,0x4d80ce1b,0x0364ac16,0x838a7da8,0xbe1c83ab,0x2f431d23
-.long 0xf9294dd3,0xe56812a6,0x9b4b0d77,0xb448d01f,0x04e8305c,0xf3ae6061,0x94d8c63e,0x2bead645,0x84fd8b07,0x0a85434d,0xf7a9dee5,0x537b983f,0xef55bd85,0xedcc5f18,0x21c6cf8b,0x2041af62
-.long 0xb940c71e,0x8e52874c,0xdb5f4b3a,0x211935a9,0x301b1dc3,0x94350492,0x29958620,0x33d2646d,0xef911404,0x16b0d64b,0x9a3c5ef4,0x9d1f25ea,0x4a352c78,0x20f200eb,0x4bd0b428,0x43929f2c
-.long 0xc7196e29,0xa5656667,0x9391be48,0x7992c2f0,0x9ee0cd6e,0xaaa97cbd,0x3dc8c9bf,0x51b0310c,0xdd9f22cb,0x237f8acf,0xb585d584,0xbb1d81a1,0x8c416388,0x8d5d85f5,0x42fe474f,0x0d6e5a5a
-.long 0x38235d4e,0xe7812766,0x496e3298,0x1c62bd67,0x3f175bc8,0x8378660c,0x17afdd4d,0x4d04e189,0x85a8068c,0x32a81601,0x92b29a85,0xdb58e4e1,0xc70d8a3b,0xe8a65b86,0x98a0403b,0x5f0e6f4e
-.long 0x69ed2370,0x08129684,0x0871ee26,0x34dc30bd,0x7c9c5b05,0x3a5ce948,0x43a90c87,0x7d487b80,0xdd0e7179,0x4089ba37,0xb4041811,0x45f80191,0x98747ba5,0x1c3e1058,0x6e1ae592,0x98c4e13a
-.long 0xe82c9f9e,0xd44636e6,0xc33a1043,0x711db87c,0xaa8aec05,0x6f431263,0x2744a4aa,0x43ff120d,0xae77779b,0xd3bd892f,0x8cdc9f82,0xf0fe0cc9,0xf1c5b1bc,0xca5f7fe6,0x44929a72,0xcc63a682
-.long 0x09dbe19a,0xc7eaba0c,0x6b5c73c2,0x2f3585ad,0x0ae50c30,0x8ab8924b,0x638b30ba,0x17fcd27a,0x10b3d5a5,0xaf414d34,0x2a9accf1,0x09c107d2,0x946a6242,0x15dac49f,0xd707d642,0xaec3df2a
-.long 0x3f894ae0,0x2c2492b7,0xb75f18ce,0xf59df3e5,0x8f53cad0,0x7cb740d2,0xc4f01294,0x3eb585fb,0x32c7f717,0x17da0c86,0xaf943f4c,0xeb8c795b,0xf67c51d2,0x4ee23fb5,0x68889949,0xef187575
-.long 0x0389168b,0xa6b4bdb2,0xea577d03,0xc4ecd258,0x55743082,0x3a63782b,0xc72f08cd,0x6f678f4c,0x65e58dd8,0x553511cf,0xd402c0cd,0xd53b4e3e,0xa037c14c,0x37de3e29,0xc05712aa,0x86b6c516
-.long 0xb38dff6f,0x2834da3e,0xea636be8,0xbe012c52,0x61dd37f8,0x292d238c,0x8f8142db,0x0e54523f,0x036a05d8,0xe31eb436,0x1e93c0ff,0x83e3cdff,0x50821ddf,0x3fd2fe0f,0xff9eb33b,0xc8e19b0d
-.long 0xb569a5fe,0xc8cc943f,0xd4342d75,0xad0090d4,0xcaeca000,0x82090b4b,0x1bd410eb,0xca39687f,0x65959d77,0xe7bb0df7,0x9c964999,0x39d78218,0xb2415451,0xd87f62e8,0xbed76108,0xe5efb774
-.long 0xe822f0d0,0x3ea011a4,0x5a8704f8,0xbc647ad1,0x50c6820f,0xbb315b35,0xb7e76bec,0x863dec3d,0xf017bfc7,0x01ff5d3a,0x976b8229,0x20054439,0x0bbd0d3b,0x067fca37,0x7f5e3d0f,0xf63dde64
-.long 0x2a4c94e9,0x22dbefb3,0x96f8278a,0xafbff0fe,0x3503793d,0x80aea0b1,0x5f06cd29,0xb2238029,0x8ec3feca,0x65703e57,0x393e7053,0x06c38314,0x7c6734c4,0xa0b751eb,0xc59f0f1e,0xd2e8a435
-.long 0x5e9ca895,0x147d9052,0x972072df,0x2f4dd31e,0xe6c6755c,0xa16fda8e,0xcf196558,0xc66826ff,0x0cf43895,0x1f1a76a3,0x83c3097b,0xa9d604e0,0x66390e0e,0xe1908309,0xb3c85eff,0xa50bf753
-.long 0xf6a70251,0x0696bdde,0x3c6ab16a,0x548b801b,0xa4d08762,0x37fcf704,0xdff76c4e,0x090b3def,0x69cb9158,0x87e8cb89,0x995ece43,0x44a90744,0x0ad9fbf5,0xf85395f4,0x4fb0c82d,0x49b0f6c5
-.long 0xadf7cccf,0x75d9bc15,0xdfa1e1b0,0x81a3e5d6,0x249bc17e,0x8c39e444,0x8ea7fd43,0xf37dccb2,0x907fba12,0xda654873,0x4a372904,0x35daa6da,0x6283a6c5,0x0564cfc6,0x4a9395bf,0xd09fa4f6
-.long 0xaeb19a36,0x688e9ec9,0xc7bfbfb4,0xd913f1ce,0x61c2faa6,0x797b9a3c,0x6a0a9c12,0x2f979bec,0x359679ec,0xb5969d0f,0x079b0460,0xebcf523d,0x10fab870,0xfd6b0008,0x9373a39c,0x3f2edcda
-.long 0x6f568431,0x0d64f9a7,0x02f8898c,0xf848c27c,0x260b5bd5,0xf418ade1,0x6973dee8,0xc1f3e323,0x26c185dd,0x46e9319c,0x546f0ac4,0x6d85b7d8,0x247f9d57,0x427965f2,0xb0035f48,0xb519b636
-.long 0xab87d59c,0x6b6163a9,0x39caaa11,0xff9f58c3,0x3177387b,0x4ac39cde,0x873e77f9,0x5f6557c2,0x36a83041,0x67504006,0x75ef196c,0x9b1c96ca,0xb08c7940,0xf34283de,0x1128c316,0x7ea09644
-.long 0x6aa39dff,0xb510b3b5,0x9f8e4d8c,0x59b43da2,0x9e4c4b9f,0xa8ce31fd,0xc1303c01,0x0e20be26,0xe8ee47c9,0x18187182,0x7db98101,0xd9687cdb,0xa1e14ff6,0x7a520e4d,0x8836d572,0x429808ba
-.long 0x4944b663,0xa37ca60d,0xa3f91ae5,0xf901f7a9,0x9e36e3b1,0xe4e3e76e,0x29d93250,0x9aa219cf,0x056a2512,0x347fe275,0xde65d95c,0xa4d643d9,0x699fc3ed,0x9669d396,0xcf8c6bbe,0xb598dee2
-.long 0xdda9e5c6,0x682ac1e5,0xcaa9fc95,0x4e0d3c72,0x772bea44,0x17faaade,0xab0009c8,0x5ef8428c,0x460ff016,0xcc4ce47a,0x725281cb,0xda6d12bf,0x0223aad2,0x44c67848,0x36256e28,0x6e342afa
-.long 0x93a37c04,0x1400bb0b,0xdd10bd96,0x62b1bc9b,0x0dac46b7,0x7251adeb,0x7be4ef51,0x7d33b92e,0xe61fa29a,0x28b2a94b,0x06422233,0x4b2be13f,0x330d8d37,0x36d6d062,0xb28ca005,0x5ef80e1e
-.long 0x6d16768e,0x174d4699,0x628bf217,0x9fc4ff6a,0x154e490d,0x77705a94,0x8d2d997a,0x9d96dd28,0xce5d72c4,0x77e2d9d8,0xc11c714f,0x9d06c5a4,0x79e4a03e,0x02aa5136,0x030ff28b,0x1386b3c2
-.long 0xfb283f61,0xfe82e8a6,0xf3abc3fb,0x7df203e5,0x3a4d3622,0xeec7c351,0xdf762761,0xf7d17dbf,0x522055f0,0xc3956e44,0x8fa748db,0xde3012db,0xbf1dcc14,0xca9fcb63,0xbe4e2f3a,0xa56d9dcf
-.long 0x8bcec9c2,0xb86186b6,0x680b9f06,0x7cf24df9,0xc0d29281,0xc46b45ea,0x07b10e12,0xfff42bc5,0x4d289427,0x12263c40,0xb4848ec4,0x3d5f1899,0xd040800c,0x11f97010,0x300feb20,0xb4c5f529
-.long 0xde94fdcb,0xcc543f8f,0xc7c2f05e,0xe96af739,0x882692e1,0xaa5e0036,0x950d4ae9,0x09c75b68,0xb5932a7a,0x62f63df2,0xde0979ad,0x2658252e,0xb5e69631,0x2a19343f,0x525b666b,0x718c7501
-.long 0xea40dc3a,0x26a42d69,0xaecc018f,0xdc84ad22,0x3270f04a,0x25c36c7b,0x50fa72ed,0x46ba6d47,0x93e58a8e,0x6c37d1c5,0x120c088c,0xa2394731,0xcb6e86da,0xc3be4263,0x7126d038,0x2c417d36
-.long 0x8b6f8efa,0x5b70f9c5,0x37718536,0x671a2faa,0xb539c92b,0xd3ced3c6,0xa31203c2,0xe56f1bd9,0x9ff3c8eb,0x8b096ec4,0x43491cea,0x2deae432,0x17943794,0x2465c6eb,0x20586843,0x5d267e66
-.long 0xb07159d0,0x9d3d116d,0xc1896210,0xae07a67f,0xbb961579,0x8fc84d87,0x1c1f8dd6,0x30009e49,0xe3132819,0x8a8caf22,0xf23ab4ff,0xcffa197c,0x205dd687,0x58103a44,0x0ded67a2,0x57b796c3
-.long 0xa1779ad7,0x0b9c3a6c,0x357c09c5,0xa33cfe2e,0x3db4a57e,0x2ea29315,0x8ebeb52e,0x91959695,0xe546c879,0x118db9a6,0x6295c8d6,0x8e996df4,0x55ec806b,0xdd990484,0x165c1035,0x24f291ca
-.long 0x440e2229,0xcca523bb,0x73ef4d04,0x324673a2,0x3e11ec39,0xaf3adf34,0xdc5968d3,0x6136d7f1,0xb053a927,0x7a7b2899,0xae067ecd,0x3eaa2661,0x02779cd9,0x8549b9c8,0xc53385ea,0x061d7940
-.long 0xf06d18bd,0x3e0ba883,0xb2700843,0x4ba6de53,0x591a9e4d,0xb966b668,0x7f4fa0ed,0x93f67567,0x4347237b,0x5a02711b,0xe794608e,0xbc041e2f,0x70f73d8c,0x55af10f5,0xbb7564f7,0xd2d4d4f7
-.long 0xb3e93ce7,0xd7d27a89,0x5d3a2c1b,0xf7b5a875,0x255b218a,0xb29e68a0,0x8af76754,0xb533837e,0x579fab2e,0xd1b05a73,0xecd74385,0xb41055a1,0x445e9115,0xb2369274,0xf520274e,0x2972a7c4
-.long 0xf678e68a,0x6c08334e,0x99b057ed,0x4e4160f0,0x52ccb69a,0x3cfe11b8,0x21c8f772,0x2fd1823a,0x3298f055,0xdf7f072f,0xfec74a6e,0x8c0566f9,0x5bb4d041,0xe549e019,0x9208d850,0x7c3930ba
-.long 0xaaa2902b,0xe07141fc,0xe4f69ad3,0x539ad799,0x813f9ffd,0xa6453f94,0x375bc2f7,0xc58d3c48,0x5dc64e96,0xb3326fad,0xb240e354,0x3aafcaa9,0xaca1e7a9,0x1d1b0903,0x1211b8a0,0x4ceb9767
-.long 0xe32a858e,0xeca83e49,0xae907bad,0x4c32892e,0x2eb9b494,0xd5b42ab6,0x1eabae1b,0x7fde3ee2,0xcaf54957,0x13b5ab09,0xe5f5d5d5,0xbfb028be,0x2003e2c0,0x928a0650,0x67476843,0x90793aac
-.long 0xc81710a0,0x5e942e79,0x27ccadd4,0x557e4a36,0x4bcf6d0c,0x72a2bc56,0x26d7b80c,0x09ee5f43,0xd4292f19,0x6b70dbe9,0x63f16b18,0x56f74c26,0x35fbb42a,0xc23db0f7,0x6ae10040,0xb606bdf6
-.long 0x044573ac,0x1eb15d4d,0x556b0ba4,0x7dc3cf86,0xc60df6f7,0x97af9a33,0xa716ce8c,0x0b1ef85c,0xc96958be,0x2922f884,0x35690963,0x7c32fa94,0xeaa00061,0x2d7f667c,0x3547365c,0xeaaf7c17
-.long 0x87032d58,0x1eb4de46,0x5e2c79e0,0xc54f3d83,0x5d04ef23,0x07818df4,0x673d41b4,0x55faa9c8,0x89b95355,0xced64f6f,0xb7415c84,0x4860d2ea,0x050ebad3,0x5fdb9bd2,0x6685a5bf,0xdb53e0cc
-.long 0x9feb6593,0xb830c031,0x6accff17,0xdd87f310,0x9f555c10,0x2303ebab,0x287e7065,0x94603695,0x2e83358c,0xf88311c3,0xeefb0178,0x508dd9b4,0x2dba8652,0x7ca23706,0x0047abe5,0x62aac5a3
-.long 0x8b1ea7b3,0x9a61d2a0,0xae8b1485,0xd495ab63,0x87052f99,0x38740f84,0xb2974eea,0x178ebe5b,0x5b36d17f,0x030bbcca,0xaaf86eea,0xb5e4cce3,0x68f8e9e0,0xb51a0220,0x09eb3e75,0xa4348796
-.long 0xeef1a752,0xbe592309,0x6f2aa1ed,0x5d7162d7,0x0f007dd2,0xaebfb5ed,0xc89edd22,0x255e14b2,0x0303b697,0xba85e072,0xf05720ff,0xc5d17e25,0x5128ebb6,0x02b58d6e,0xd754e113,0x2c80242d
-.long 0xabfae1ca,0x919fca5f,0x1a21459b,0x937afaac,0x1f66a4d2,0x9e0ca91c,0x23ec1331,0x194cc7f3,0x8aa11690,0xad25143a,0x09b59e08,0xbe40ad8d,0xe750860a,0x37d60d9b,0xc6bf434c,0x6c53b008
-.long 0x1356eb80,0xb572415d,0x9578ded8,0xb8bf9da3,0x5e8fb38b,0x22658e36,0x5af8cb22,0x9b70ce22,0x829a8180,0x7c00018a,0xb81ed295,0x84329f93,0x5f3cea83,0x7c343ea2,0x67586536,0x38f8655f
-.long 0x1d3ec517,0xa661a0d0,0x512321ae,0x98744652,0xeca92598,0x084ca591,0x1dcb3feb,0xa9bb9dc9,0x78b4c240,0x14c54355,0x610cafdc,0x5ed62a3b,0x1b38846b,0x07512f37,0xb0e38161,0x571bb70a
-.long 0x2da705d2,0xb556b95b,0xb1a08f98,0x3ef8ada6,0xddecfbe5,0x85302ca7,0x943105cd,0x0e530573,0x21a9255d,0x60554d55,0xf2f3802a,0x63a32fa1,0xcd477875,0x35c8c5b0,0x6ad42da1,0x97f458ea
-.long 0xeb6b242d,0x832d7080,0x3b71e246,0xd30bd023,0xbe31139d,0x7027991b,0x462e4e53,0x68797e91,0x6b4e185a,0x423fe20a,0x42d9b707,0x82f2c67e,0x4cf7811b,0x25c81768,0x045bb95d,0xbd53005e
-.long 0x9d8e68fd,0xe5f649be,0x1b044320,0xdb0f0533,0xe0c33398,0xf6fde9b3,0x66c8cfae,0x92f4209b,0x1a739d4b,0xe9d1afcc,0xa28ab8de,0x09aea75f,0xeac6f1d0,0x14375fb5,0x708f7aa5,0x6420b560
-.long 0x6254dc41,0x9eae499c,0x7a837e7e,0x7e293924,0x090524a7,0x74aec08c,0x8d6f55f2,0xf82b9219,0x1402cec5,0x493c962e,0xfa2f30e7,0x9f17ca17,0xe9b879cb,0xbcd783e8,0x5a6f145f,0xea3d8c14
-.long 0x5e0dee6e,0xdede15e7,0xdc628aa2,0x74f24872,0x7861bb93,0xd3e9c4fe,0x6187b2e0,0x56d4822a,0xc59826f9,0xb66417cf,0x2408169e,0xca260969,0xc79ef885,0xedf69d06,0xdc7d138f,0x00031f8a
-.long 0x0ebcf726,0x103c46e6,0x6231470e,0x4482b831,0x487c2109,0x6f6dfaca,0x62e666ef,0x2e0ace97,0x1f8d1f42,0x3246a9d3,0x574944d2,0x1b1e83f1,0xa57f334b,0x13dfa63a,0x9f025d81,0x0cf8daed
-.long 0x00ee11c1,0x30d78ea8,0xb5e3dd75,0xeb053cd4,0xd58c43c5,0x9b65b13e,0xbd151663,0xc3ad49bd,0xb6427990,0x99fd8e41,0x707eae1e,0x12cf15bd,0x1aabb71e,0x29ad4f1b,0x07545d0e,0x5143e74d
-.long 0xc88bdee1,0x30266336,0x5876767c,0x25f29306,0xc6731996,0x9c078571,0xed552951,0xc88690b2,0x852705b4,0x274f2c2d,0x4e09552d,0xb0bf8d44,0x986575d1,0x7628beeb,0x7f864651,0x407be238
-.long 0xa639fc6b,0x0e5e3049,0x86003625,0xe75c35d9,0x5dcc1646,0x0cf35bd8,0x6c26273a,0x8bcaced2,0xb5536742,0xe22ecf1d,0x1a9e068b,0x013dd897,0x8a7909c5,0x17f411cb,0x861dd506,0x5757ac98
-.long 0x1e935abb,0x85de1f0d,0x154de37a,0xdefd10b4,0x369cebb5,0xb8d9e392,0x761324be,0x54d5ef9b,0x74f17e26,0x4d6341ba,0x78c1dde4,0xc0a0e3c8,0x87d918fd,0xa6d77581,0x02ca3a13,0x66876015
-.long 0xf36658f0,0xc7313e9c,0x71f8057e,0xc433ef1c,0x1b6a835a,0x85326246,0x7c86394c,0xc8f05398,0xe983c4a1,0xff398cdf,0x03b7b931,0xbf5e8162,0xb7b9045b,0x93193c46,0xa4a6e46b,0x1e4ebf5d
-.long 0x43a24fe7,0xf9942a60,0xffb3492b,0x29c1191e,0x902fde05,0x9f662449,0x6713c32d,0xc792a7ac,0xb737982c,0x2fd88ad8,0xa21e60e3,0x7e3a0319,0x7383591a,0x09b0de44,0x8310a456,0x6df141ee
-.long 0xe6d6f471,0xaec1a039,0x1198d12e,0x14b2ba0f,0x3aeee5ac,0xebc1a160,0xe0b964ce,0x401f4836,0x4fd03f66,0x2ee43796,0xdd8f3f12,0x3fdb4e49,0x29380f18,0x6ef267f6,0x8da64d16,0x3e8e9670
-.long 0x207674f1,0xbc19180c,0x33ae8fdb,0x112e09a7,0x6aaeb71e,0x99667554,0xe101b1c7,0x79432af1,0xde2ddec6,0xd5eb558f,0x5357753f,0x81392d1f,0x3ae1158a,0xa7a76b97,0x4a899991,0x416fbbff
-.long 0x0d4a9dcf,0x9e65fdfd,0x944ddf12,0x7bc29e48,0x3c856866,0xbc1a92d9,0x6e98dfe2,0x273c6905,0xcdfaa6b8,0x69fce418,0x5061c69f,0x606bd823,0x6af75e27,0x42d495a0,0x6d873a1f,0x8ed3d505
-.long 0x6ab25b6a,0xaf552841,0x2b1a4523,0xc6c0ffc7,0x21c99e03,0xab18827b,0x9034691b,0x060e8648,0x93c7f398,0x5207f90f,0x82f8d10b,0x9f4a96cb,0x3ad0f9e3,0xdd71cd79,0xfc3a54f5,0x84f435d2
-.long 0x8e33787f,0x4b03c55b,0xa6384673,0xef42f975,0x5051b9f0,0xff7304f7,0x741c87c2,0x18aca1dc,0x2d4bfe80,0x56f120a7,0x053e732c,0xfd823b3d,0x7537ca16,0x11bccfe4,0x1b5a996b,0xdf6c9c74
-.long 0x904fc3fa,0xee7332c7,0xc7e3636a,0x14a23f45,0xf091d9aa,0xc38659c3,0xb12d8540,0x4a995e5d,0xf3a5598a,0x20a53bec,0xb1eaa995,0x56534b17,0xbf04e03c,0x9ed3dca4,0xd8d56268,0x716c563a
-.long 0x1d6178e7,0x27ba77a4,0x68a1ff8e,0xe4c80c40,0x0a13f63d,0x75011099,0xa61d46f3,0x7bf33521,0x10b365bb,0x0aff218e,0x0fd7ea75,0x81021804,0xa4b3a925,0x05a3fd8a,0x9b3db4e6,0xb829e75f
-.long 0x4d53e5fb,0x6bdc75a5,0xd52717e3,0x04a5dc02,0xe9a42ec2,0x86af502f,0x2630e382,0x8867e8fb,0xbec9889b,0xbf845c6e,0xcb47c98d,0x54f491f2,0x790c2a12,0xa3091fba,0xc20f708b,0xd7f6fd78
-.long 0xacde5e17,0xa569ac30,0x6852b4d7,0xd0f996d0,0x4609ae54,0xe51d4bb5,0x0daed061,0x3fa37d17,0x34b8fb41,0x62a88684,0x9efb64f1,0x99a2acbd,0x6448e1f2,0xb75c1a5e,0x42b5a069,0xfa99951a
-.long 0x2f3b26e7,0x6d956e89,0xda875247,0xf4709860,0x2482dda3,0x3ad15179,0x017d82f0,0xd64110e3,0xfad414e4,0x14928d2c,0x2ed02b24,0x2b155f58,0xcb821bf1,0x481a141b,0x4f81f5da,0x12e3c770
-.long 0x9fff8381,0xe49c5de5,0x5bbec894,0x11053232,0x454d88c4,0xa0d051cc,0x1f8e531b,0x4f6db89c,0xca563a44,0x34fe3fd6,0x58da8ab9,0x7f5c2215,0x9474f0a1,0x8445016d,0xcb7d8a0a,0x17d34d61
-.long 0x1c474019,0x8e9d3910,0xd52ceefb,0xcaff2629,0xc1622c2b,0xf9cf3e32,0xe9071a05,0xd4b95e3c,0x1594438c,0xfbbca61f,0x04aadedf,0x1eb6e6a6,0x68e14940,0x853027f4,0xdfabda9c,0x221d322a
-.long 0xb7cb179a,0xed8ea9f6,0xb7934dcc,0xdc7b764d,0x5e09180d,0xfcb13940,0xb47dc2dd,0x6629a6bf,0x9f5a915e,0xbfc55e4e,0x6204441e,0xb1db9d37,0x930c5f53,0xf82d68cf,0xcbb605b1,0x17d3a142
-.long 0x308780f2,0xdd5944ea,0x3845f5e4,0xdc8de761,0x7624d7a3,0x6beaba7d,0x304df11e,0x1e709afd,0x02170456,0x95364376,0xc8f94b64,0xbf204b3a,0x5680ca68,0x4e53af7c,0xe0c67574,0x0526074a
-.long 0xecd92af6,0x95d8cef8,0x6cd1745a,0xe6b9fa7a,0xa325c3e4,0x3d546d3d,0x9ae93aae,0x1f57691d,0x9d2e1a33,0xe891f3fe,0xac063d35,0xd430093f,0x5513a327,0xeda59b12,0x5536f18f,0xdc2134f3
-.long 0x5c210286,0xaa51fe2c,0x1cab658c,0x3f68aaee,0xf9357292,0x5a23a00b,0x7efdabed,0x9a626f39,0x199d78e3,0xfe2b3bf3,0x71bbc345,0xb7a2af77,0x1e59802c,0x3d19827a,0xb487a51c,0x823bbc15
-.long 0x99d0a422,0x856139f2,0xf456c6fb,0x9ac3df65,0x701f8bd6,0xaddf65c6,0x3758df87,0x149f321e,0x721b7eba,0xb1ecf714,0x31a3312a,0xe17df098,0xd5c4d581,0xdb2fd6ec,0x8fcea1b3,0xfd02996f
-.long 0x7882f14f,0xe29fa63e,0x07c6cadc,0xc9f6dc35,0xb882bed0,0x46f22d6f,0xd118e52c,0x1a45755b,0x7c4608cf,0x9f2c7c27,0x568012c2,0x7ccbdf32,0x61729b0e,0xfcb0aedd,0xf7d75dbf,0x7ca2ca9e
-.long 0x6f640f62,0xf58fecb1,0x39f51946,0xe274b92b,0x6288af44,0x7f4dfc04,0xeac329e5,0x0a91f32a,0xd6aaba31,0x43ad274b,0x0f6884f9,0x719a1640,0xdaf91e20,0x685d29f6,0x27e49d52,0x5ec1cc33
-.long 0x3b54a059,0x38f4de96,0xefbcfdb3,0x0e0015e5,0x4dbb8da6,0x177d23d9,0x97a617ad,0x98724aa2,0xfdb6558e,0x30f0885b,0xc7899a96,0xf9f7a28a,0x872dc112,0xd2ae8ac8,0x73c3c459,0xfa0642ca
-.long 0xe7dfc8d6,0x15296981,0x1fb5b94a,0x67cd4450,0x0eddfd37,0x0ec71cf1,0x9a8eddc7,0xc7e5eeb3,0x81d95028,0x02ac8e3d,0x70b0e35d,0x0088f172,0xe1881fe3,0xec041fab,0xd99e7faa,0x62cf71b8
-.long 0xe0f222c2,0x5043dea7,0x72e65142,0x309d42ac,0x9216cd30,0x94fe9ddd,0x0f87feec,0xd6539c7d,0x432ac7d7,0x03c5a57c,0x327fda10,0x72692cf0,0x280698de,0xec28c85f,0x7ec283b1,0x2331fb46
-.long 0x2867e633,0xd34bfa32,0x0a9cc815,0x78709a82,0x875e2fa5,0xb7fe6964,0x9e98bfb5,0x25cc064f,0x493a65c5,0x9eb0151c,0x53182464,0x5fb5d941,0xf04618e2,0x69e6f130,0xf89c8ab6,0xa8ecec22
-.long 0xb96209bd,0xcd6ac88b,0xb3e1c9e0,0x65fa8cdb,0x4a8d8eac,0xa47d22f5,0x8d33f963,0x83895cdf,0xb56cd3d1,0xa8adca59,0xdaf38232,0x10c8350b,0xa5080a9f,0x2b161fb3,0x3af65b3a,0xbe7f5c64
-.long 0x97403a11,0x2c754039,0x121b96af,0x94626cf7,0x6a983ec2,0x431de7c4,0x52cc3df7,0x3780dd3a,0x2baf8e3b,0xe28a0e46,0x51d299ae,0xabe68aad,0x647a2408,0x603eb8f9,0x5c750981,0x14c61ed6
-.long 0xc53352e7,0x88b34414,0x1337d46e,0x5a34889c,0xf95f2bc8,0x612c1560,0xd4807a3a,0x8a3f8441,0x5224da68,0x680d9e97,0xc3eb00e9,0x60cd6e88,0x9a6bc375,0x3875a98e,0x4fd554c2,0xdc80f924
-.long 0x6ac77407,0x6c4b3415,0x25420681,0xa1e5ea8f,0x4607a458,0x541bfa14,0x96d7fbf9,0x5dbc7e7a,0x31590a47,0x646a851b,0x15ee6df8,0x039e85ba,0xd7b43fc0,0xd19fa231,0x299a0e04,0x84bc8be8
-.long 0xf20df03a,0x2b9d2936,0x8608d472,0x24054382,0x9149202a,0x76b6ba04,0x3670e7b7,0xb21c3831,0xd6fdee10,0xddd93059,0x78488e71,0x9da47ad3,0xa0fcfb25,0x99cc1dfd,0x64696954,0x42abde10
-.long 0x17eab9fe,0x14cc15fc,0xd3e70972,0xd6e863e4,0x6432112c,0x29a7765c,0x5b0774d8,0x88660001,0x2c088eae,0x3729175a,0x8230b8d4,0x13afbcae,0x915f4379,0x44768151,0xd8d22812,0xf086431a
-.long 0xc298b974,0x37461955,0xf8711e04,0x905fb5f0,0xfe969d18,0x787abf3a,0x6f6a494e,0x392167c2,0x28c511da,0xfc7a0d2d,0xb66a262d,0xf127c7dc,0xfd63fdf0,0xf9c4bb95,0x3913ef46,0x90016589
-.long 0x11aa600d,0x74d2a73c,0x9fb5ab52,0x2f5379bd,0x7fb70068,0xe49e53a4,0x404aa9a7,0x68dd39e5,0x2ecaa9c3,0xb9b0cf57,0xe824826b,0xba0e103b,0x4631a3c4,0x60c2198b,0xfa8966a2,0xc5ff84ab
-.long 0xac95aff8,0x2d6ebe22,0xb5a46d09,0x1c9bb6db,0x53ee4f8d,0x419062da,0xbb97efef,0x7b9042d0,0x830cf6bd,0x0f87f080,0x6ec8a6c6,0x4861d19a,0x202f01aa,0xd3a0daa1,0xf25afbd5,0xb0111674
-.long 0x1afb20d9,0x6d00d6cf,0x40671bc5,0x13695000,0x2485ea9b,0x913ab0dc,0x9eef61ac,0x1f2bed06,0x6d799e20,0x850c8217,0x3271c2de,0x93415f37,0x6c4f5910,0x5afb06e9,0xc4e9e421,0x688a52df
-.long 0xe2a9a6db,0x30495ba3,0x58f9268b,0x4601303d,0x7eb0f04f,0xbe3b0dad,0x4456936d,0x4ea47250,0xd33fd3e7,0x8caf8798,0xeb433708,0x1ccd8a89,0x87fd50ad,0x9effe3e8,0x6b29c4df,0xbe240a56
-.long 0xca0e7ebd,0xec4ffd98,0xe748616e,0xf586783a,0xc77baa99,0xa5b00d8f,0xb4f34c9c,0x0acada29,0x0fe723ac,0x36dad67d,0x39c36c1e,0x1d8e53a5,0x1f4bea41,0xe4dd342d,0xebc9e4e0,0x64fd5e35
-.long 0x57908805,0x96f01f90,0x5ed480dd,0xb5b9ea3d,0x3efd2dd0,0x366c5dc2,0x6e9dfa27,0xed2fe305,0x6e9197e2,0x4575e892,0xab502a5d,0x11719c09,0xe81f213f,0x264c7bec,0x55f5c457,0x741b9241
-.long 0x49a5f4f4,0x78ac7b68,0x9fc45b7d,0xf91d70a2,0xb0f5f355,0x39b05544,0xeef930d9,0x11f06bce,0x038d05e1,0xdb84d25d,0xbacc1d51,0x04838ee5,0x9e8ee00b,0x9da3ce86,0xc36eda1f,0xc3412057
-.long 0x64d9c2f4,0xae80b913,0xa010a8ff,0x7468bac3,0x37359d41,0xdfd20037,0x15efeacc,0x1a0f5ab8,0x659d0ce0,0x7c25ad2f,0x6785cff1,0x4011bcbb,0x7e2192c7,0x128b9912,0x13ccb0e8,0xa549d8e1
-.long 0xc85438b1,0x805588d8,0xbc25cb27,0x5680332d,0x1a4bfdf4,0xdcd1bc96,0x706f6566,0x779ff428,0xf059987a,0x8bbee998,0xcc686de7,0xf6ce8cf2,0x953cfdb2,0xf8ad3c4a,0x2205da36,0xd1d426d9
-.long 0xc781a241,0xb3c0f13f,0xd75362a8,0x3e89360e,0xc8a91184,0xccd05863,0xefa8a7f4,0x9bd0c9b7,0x8a912a4b,0x97ee4d53,0xbcf518fd,0xde5e15f8,0xc467e1e0,0x6a055bf8,0x1587e256,0x10be4b4b
-.long 0x668621c9,0xd90c14f2,0xab9c92c1,0xd5518f51,0xd6d47b3c,0x8e6a0100,0x66716175,0xcbe980dd,0xddd83683,0x500d3f10,0x99cac73c,0x3b6cb35d,0x6083d550,0x53730c8b,0xdf0a1987,0xcf159767
-.long 0x43ad73b3,0x84bfcf53,0x4f035a94,0x1b528c20,0x33eeac69,0x4294edf7,0x817f3240,0xb6283e83,0x0a5f25b1,0xc3fdc959,0x5844ee22,0xefaf8aa5,0xdbdde4de,0xde269ba5,0xc56133bf,0xe3347160
-.long 0x8d9ea9f8,0xc1184219,0xf3fc1ab5,0x090de5db,0x0bf22cda,0x404c37b1,0xf5618894,0x7de20ec8,0xecdaecab,0x754c588e,0x88342743,0x6ca4b0ed,0xf4a938ec,0x76f08bdd,0x91493ccb,0xd182de89
-.long 0xc8a4186a,0xd652c53e,0x946d8e33,0xb3e878db,0x5f37663c,0x088453c0,0xb407748b,0x5cd9daaa,0x586d5e72,0xa1f5197f,0xc443ca59,0x47500be8,0xe2652424,0x78ef35b2,0x6dd7767d,0x09c5d26f
-.long 0xa74d3f7b,0x7175a79a,0xcf5ea459,0x0428fd8d,0xa5d1746d,0x511cb97c,0xe71d1278,0x36363939,0x10350bf4,0xcf2df955,0x60aae782,0xb3817439,0x3e688809,0xa748c0e4,0xd7a5a006,0x98021fbf
-.long 0x0e367a98,0x9076a70c,0x0f62b7c2,0xbea1bc15,0x30fe0343,0x2645a68c,0x699dc14f,0xacaffa78,0x457bf9c4,0xf4469964,0x0d2ead83,0x0db6407b,0xb2c6f3eb,0x68d56cad,0xf376356c,0x3b512e73
-.long 0xfce10408,0xe43b0e1f,0x5a5e257d,0x89ddc003,0x0362e5b3,0xb0ae0d12,0xb0519161,0x07f983c7,0x5d5231e7,0xc2e94d15,0x0b4f9513,0xcff22aed,0x6ad0b0b5,0xb02588dd,0x11d0dcd5,0xb967d1ac
-.long 0xcf777b6c,0x8dac6bc6,0x4c6d1959,0x0062bdbd,0x0ef5cc85,0x53da71b5,0x4006f14f,0x07012c7d,0xac47800d,0x4617f962,0xc102ed75,0x53365f2b,0x4ab8c9d3,0xb422efcb,0x34af31c9,0x195cb26b
-.long 0x05f2c4ce,0x3a926e29,0x9856966c,0xbd2bdecb,0x85527015,0x5d16ab3a,0x4486c231,0x9f81609e,0xda350002,0xd8b96b2c,0xfa1b7d36,0xbd054690,0xe71d79bc,0xdc90ebf5,0x08964e4e,0xf241b6f9
-.long 0x2fe3cd4c,0x7c838643,0xb4bc633c,0xe0f33acb,0x3d139f1f,0xb4a9ecec,0xdc4a1f49,0x05ce69cd,0xf5f98aaf,0xa19d1b16,0x6f23e0ef,0x45bb71d6,0x46cdfdd3,0x33789fcd,0xcee040ca,0x9b8e2978
-.long 0xae0a6828,0x9c69b246,0x7078d5aa,0xba533d24,0x7bb4fbdb,0x7a2e42c0,0x7035385c,0xcfb4879a,0x3281705b,0x8c3dd30b,0x404fe081,0x7e361c6c,0x3f604edf,0x7b21649c,0xe52ffe47,0x5dbf6a3f
-.long 0x4b54d9bf,0xc41b7c23,0x3511c3d9,0x1374e681,0xc1b2b758,0x1863bf16,0x1e9e6a96,0x90e78507,0x5d86f174,0xab4bf98d,0x85e96fe4,0xd74e0bd3,0xcac5d344,0x8afde39f,0xbd91b847,0x90946dbc
-.long 0xfe1a838c,0xf5b42358,0x620ac9d8,0x05aae6c5,0xa1ce5a0b,0x8e193bd8,0x4dabfd72,0x8f710571,0x182caaac,0x8d8fdd48,0x040745cf,0x8c4aeefa,0xf3b93e6d,0x73c6c30a,0x16f42011,0x991241f3
-.long 0xe457a477,0xa0158eea,0xee6ddc05,0xd19857db,0x18c41671,0xb3265224,0x3c2c0d58,0x3ffdfc7e,0x26ee7cda,0x3a3a5254,0xdf02c3a8,0x341b0869,0x723bbfc8,0xa023bf42,0x14452691,0x3d15002a
-.long 0x85edfa30,0x5ef7324c,0x87d4f3da,0x25976554,0xdcb50c86,0x352f5bc0,0x4832a96c,0x8f6927b0,0x55f2f94c,0xd08ee1ba,0x344b45fa,0x6a996f99,0xa8aa455d,0xe133cb8d,0x758dc1f7,0x5d0721ec
-.long 0x79e5fb67,0x6ba7a920,0x70aa725e,0xe1331feb,0x7df5d837,0x5080ccf5,0x7ff72e21,0xe4cae01d,0x0412a77d,0xd9243ee6,0xdf449025,0x06ff7cac,0x23ef5a31,0xbe75f7cd,0x0ddef7a8,0xbc957822
-.long 0xb0ce1c55,0x8cf7230c,0x0bbfb607,0x5b534d05,0x0e16363b,0xee1ef113,0xb4999e82,0x27e0aa7a,0x79362c41,0xce1dac2d,0x91bb6cb0,0x67920c90,0x2223df24,0x1e648d63,0xe32e8f28,0x0f7d9eef
-.long 0xfa833834,0x6943f39a,0xa6328562,0x22951722,0x4170fc10,0x81d63dd5,0xaecc2e6d,0x9f5fa58f,0xe77d9a3b,0xb66c8725,0x6384ebe0,0x11235cea,0x5845e24a,0x06a8c118,0xebd093b1,0x0137b286
-.long 0x44ace150,0xc589e1ce,0x4381e97c,0xe0f8d3d9,0x62c5a4b8,0x59e99b11,0xfd0ec9f9,0x90d262f7,0x283e13c9,0xfbc854c9,0xaedc7085,0x2d04fde7,0x47dcbecb,0x057d7765,0x9a76fa5f,0x8dbdf591
-.long 0x0de1e578,0xd0150695,0xe9f72bc6,0x2e1463e7,0x1b39eca5,0xffa68441,0x7c037f2f,0x673c8530,0x747f91da,0xd0d6a600,0xc9cb78e9,0xb08d43e1,0x27b5cef5,0x0fc0c644,0xa60a2fd6,0x5c1d160a
-.long 0x28c8e13b,0xf98cae53,0xb2eddcd1,0x375f10c4,0x5cce06ad,0xd4eb8b7f,0x80a2e1ef,0xb4669f45,0x5bbd8699,0xd593f9d0,0xe7976d13,0x5528a4c9,0x1c7e28d3,0x3923e095,0x3f6bb577,0xb9293790
-.long 0xc42bd6d2,0xdb567d6a,0xbb1f96ae,0x6df86468,0x4843b28e,0x0efe5b1a,0x6379b240,0x961bbb05,0x70a6a26b,0xb6caf5f0,0x328e6e39,0x70686c0d,0x895fc8d3,0x80da06cf,0xb363fdc9,0x804d8810
-.long 0x207f1670,0xbe22877b,0x4e615291,0x9b0dd188,0x97a3c2bf,0x625ae8dc,0x439b86e8,0x08584ef7,0xdcd898ff,0xde7190a5,0x2058ee3d,0x26286c40,0x5f87b1c1,0x3db0b217,0x102a6db5,0xcc334771
-.long 0x2f770fb1,0xd99de954,0x4cd7535e,0x97c1c620,0x3f09cefc,0xd3b6c448,0x5a63b4f8,0xd725af15,0xc01e20ec,0x0c95d24f,0x9ae7121f,0xdfd37494,0xec77b7ec,0x7d6ddb72,0x0353a4ae,0xfe079d3b
-.long 0x2e6ac8d2,0x3066e70a,0x106e5c05,0x9c6b5a43,0xede59b8c,0x52d3c6f5,0xfccec9ae,0x30d6a5c3,0x4fc0a9ef,0xedec7c22,0x95c16ced,0x190ff083,0x94de0fde,0xbe12ec8f,0x852d3433,0x0d131ab8
-.long 0x85701291,0x42ace07e,0x194061a8,0x94793ed9,0xd7f4a485,0x30e83ed6,0xf9eeff4d,0x9eec7269,0x0c9d8005,0x90acba59,0x1e79b9d1,0x5feca458,0x1d506a1e,0x8fbe5427,0x2439cfa7,0xa32b2c8e
-.long 0x73dd0b4e,0x1671c173,0x44a054c6,0x37a28214,0x4e8b53f1,0x81760a1b,0xf9f93b9e,0xa6c04224,0xcf671e3c,0x18784b34,0xcda9b994,0x81bbecd2,0xb2ab3848,0x38831979,0xf2e03c2d,0xef54feb7
-.long 0xfb8088fa,0xcf197ca7,0x4ddc96c5,0x01427247,0x30777176,0xa2d2550a,0x4d0cf71d,0x53469898,0x3a2aaac6,0x6ce937b8,0x5af38d9b,0xe9f91dc3,0xc8bf2899,0x2598ad83,0xb5536c16,0x8e706ac9
-.long 0xf688dc98,0x40dc7495,0x124c4afc,0x26490cd7,0x1f18775c,0xe651ec84,0xb4fdaf4a,0x393ea6c3,0x7f338e0d,0x1e1f3343,0x6053e7b5,0x39fb832b,0x619e14d5,0x46e702da,0xcdeef6e0,0x859cacd1
-.long 0x4462007d,0x63b99ce7,0x4cb5f5b7,0xb8ab48a5,0xf55edde7,0x9ec673d2,0x8cfaefda,0xd1567f74,0x0887bcec,0x46381b6b,0xe178f3c2,0x694497ce,0x1e6266cb,0x5e6525e3,0x697d6413,0x5931de26
-.long 0x0e58d493,0x87f8df7c,0x58b73f12,0xb1ae5ed0,0xdea0c34d,0xc368f784,0x859a91a0,0x9bd0a120,0xcc863c68,0xb00d88b7,0x3d1f4d65,0x3a1cc11e,0x0aa85593,0xea38e0e7,0x7dc4aee8,0x37f13e98
-.long 0xbc947bad,0x10d38667,0x2a36ee2e,0x738e07ce,0xc577fcac,0xc93470cd,0x2782470d,0xdee1b616,0x2e793d12,0x36a25e67,0xe0f186da,0xd6aa6cae,0x80e07af7,0x474d0fd9,0xba8a5cd4,0xf7cdc47d
-.long 0xab15247f,0x28af6d9d,0x493a537f,0x7c789c10,0x23a334e7,0x7ac9b110,0x12c9c277,0x0236ac09,0x1d7a5144,0xa7e5bd25,0xf13ec4ec,0x098b9c2a,0xd3f0abca,0x3639daca,0xa23960f9,0x642da81a
-.long 0x4f7269b1,0x7d2e5c05,0xe287c385,0xfcf30777,0xf2a46f21,0x10edc84f,0x4f43fa36,0x35441757,0xfd703431,0xf1327899,0x16dd587a,0xa438d7a6,0xe9c8352d,0x65c34c57,0x5cc5a24e,0xa728edab
-.long 0x42531689,0xaed78abc,0x010963ef,0x0a51a0e8,0xd717d9b3,0x5776fa0a,0x7dd3428b,0xf356c239,0x8d3a3dac,0x29903fff,0x3d94491f,0x409597fa,0xbf4a56a4,0x4cd7a5ff,0x8adab462,0xe5096474
-.long 0x5c3427b0,0xa97b5126,0xd282c9bd,0x6401405c,0x222c5c45,0x3629f8d7,0xe8d50aed,0xb1c02c16,0xd9635bc9,0xbea2ed75,0x6e24552f,0x226790c7,0x65f1d066,0x3c33f2a3,0x6dfccc2e,0x2a43463e
-.long 0xdb483761,0x8cc3453a,0x65d5672b,0xe7cc6085,0xde3efc87,0x277ed6cb,0x69234eaf,0x19f2f368,0x5c0b800b,0x9aaf4317,0x8b6da6e2,0x1f1e7c89,0xb94ec75e,0x6cfb4715,0x453118c2,0xd590dd5f
-.long 0x1f17a34c,0x14e49da1,0x235a1456,0x5420ab39,0x2f50363b,0xb7637241,0xc3fabb6e,0x7b15d623,0xe274e49c,0xa0ef40b1,0x96b1860a,0x5cf50744,0x66afe5a4,0xd6583fbf,0xf47e3e9a,0x44240510
-.long 0x11b2d595,0x99254343,0xeec8df57,0xf1367499,0x3e73dd05,0x3cb12c61,0x7dac102a,0xd248c033,0xa77739f5,0xcf154f13,0x23d2af42,0xbf4288cb,0x32e4a1cf,0xaa64c9b6,0xc8a208f3,0xee8c07a8
-.long 0x6fe8393f,0xe10d4999,0xe91f3a32,0x0f809a3f,0x802f63c8,0x61096d1c,0x57750d3d,0x289e1462,0x9889feea,0xed06167e,0xe0993909,0xd5c9c0e2,0x56508ac6,0x46fca0d8,0x4f1b8e83,0x91826047
-.long 0x9a4a2751,0x4f2c877a,0xcae6fead,0x71bd0072,0x06aa1941,0x38df8dcc,0x63beeaa8,0x5a074b4c,0xc1cec8ed,0xd6d65934,0xaabc03bd,0xa6ecb49e,0xde8a8415,0xaade91c2,0x691136e0,0xcfb0efdf
-.long 0x23ab3495,0x11af45ee,0x0b77463d,0xa132df88,0x815d06f4,0x8923c15c,0x0d61a436,0xc3ceb3f5,0xe88fb1da,0xaf52291d,0x1da12179,0xea057974,0xd2fef720,0xb0d7218c,0x8e1d8845,0x6c0899c9
-.long 0x752ddad7,0x98157504,0xa1a68a97,0xd60bd74f,0xf658fb99,0x7047a3a9,0x5f8511e4,0x1f5d86d6,0x4b5a6d88,0xb8a4bc42,0x1abefa7d,0x69eb2c33,0x13c9c510,0x95bf39e8,0xd48aab43,0xf571960a
-.long 0x704e23c6,0x7e8cfbcf,0x28aaa65b,0xc71b7d22,0x245e3c83,0xa041b2bd,0xd21854ff,0x69b98834,0x963bfeec,0x89d227a3,0xde7da7cb,0x99947aaa,0xee68a9b1,0x1d9ee9db,0x698ec368,0x0a08f003
-.long 0x78ef2487,0xe9ea4094,0x02cfec26,0xc8d2d415,0xb7dcf328,0xc52f9a6e,0x85b6a937,0x0ed489e3,0xbef3366e,0x9b94986b,0xedddddb8,0x0de59c70,0xeadddbe2,0xffdb748c,0x8266ea40,0x9b9784bb
-.long 0x1a93507a,0x142b5502,0x8d3c06cf,0xb4cd1187,0x91ec3f40,0xdf70e76a,0x4e7553c2,0x484e81ad,0x272e9d6e,0x830f87b5,0xc6ff514a,0xea1c93e5,0xc4192a8e,0x67cc2adc,0x42f4535a,0xc77e27e2
-.long 0xd2b713c5,0x9cdbab36,0xcf7b0cd3,0x86274ea0,0x09af826b,0x784680f3,0x0c72dea3,0xbfcc837a,0xd6529b73,0xa8bdfe9d,0x63a88002,0x708aa228,0xc91d45b9,0x6c7a9a54,0xfd004f56,0xdf1a38bb
-.long 0xb8bad853,0x2e8c9a26,0x3723eae7,0x2d52cea3,0x56ca2830,0x054d6d81,0x9a8dc411,0xa3317d14,0xfd4ddeda,0xa08662fe,0xb55d792b,0xed2a153a,0xbfc6e944,0x7035c16a,0x00171cf3,0xb6bc5834
-.long 0x83d102b6,0xe27152b3,0x0646b848,0xfe695a47,0x916e6d37,0xa5bb09d8,0x0d17015e,0xb4269d64,0x0a1d2285,0x8d8156a1,0x46d26d72,0xfeef6c51,0x4c5434a7,0x9dac57c8,0x59d39e31,0x0282e5be
-.long 0x721c486d,0xedfff181,0xbc58824e,0x301baf10,0x00570031,0x8136a6aa,0x1cddde68,0x55aaf78c,0x59c63952,0x26829371,0x8bc25baf,0x3a3bd274,0xb7e52dc3,0xecdf8657,0xfd78e6c8,0x2dd8c087
-.long 0xf5531461,0x20553274,0x5d95499b,0x8b4a1281,0x1a80f9d2,0xe2c8763a,0x4ddec758,0xd1dbe32b,0x30c34169,0xaf12210d,0x78baa533,0xba74a953,0xa438f254,0x3d133c6e,0x201bef5b,0xa431531a
-.long 0xf669d7ec,0x15295e22,0x357fb515,0xca374f64,0xeaa3fdb3,0x8a8406ff,0xdf3f2da8,0x106ae448,0x33c8e9a1,0x8f9b0a90,0x71ad5885,0x234645e2,0x1c0aed14,0x3d083224,0x7a942d46,0xf10a7d3e
-.long 0x40d5c9be,0x7c11deee,0xba84ed98,0xb2bae7ff,0xaad58ddd,0x93e97139,0x3f6d1fa3,0x3d872796,0x8569ff13,0x483aca81,0x9a600f72,0x8b89a5fb,0xc06f2b86,0x4cbc27c3,0x63ad9c0b,0x22130713
-.long 0x48ac2840,0xb5358b1e,0xecba9477,0x18311294,0xa6946b43,0xda58f990,0x9ab41819,0x3098baf9,0x4198da52,0x66c4c158,0x146bfd1b,0xab4fc17c,0xbf36a908,0x2f0a4c3c,0x58cf7838,0x2ae9e34b
-.long 0x3fa11b1f,0xf411529e,0x974af2b4,0x21e43677,0xc230793b,0x7c20958e,0x16e840f3,0x710ea885,0xc5dc67cf,0xfc0b21fc,0x88405718,0x08d51647,0xcfe49eb7,0xd955c21f,0x56dd4a1f,0x9722a5d5
-.long 0xc861baa5,0xc9ef50e2,0x9505ac3e,0xc0c21a5d,0x8b7c063f,0xaf6b9a33,0x2f4779c1,0xc6370339,0x638167c3,0x22df99c7,0x795db30c,0xfe6ffe76,0xa4854989,0x2b822d33,0x30563aa5,0xfef031dd
-.long 0xd57c667f,0x16b09f82,0xcc0b76f1,0xc70312ce,0xc9118aec,0xbf04a9e6,0x3409d133,0x82fcb419,0xab45d44d,0x1a8ab385,0x617b83a3,0xfba07222,0x58e81b52,0xb05f50dd,0x21ce5aff,0x1d8db553
-.long 0xe344a873,0x3097b8d4,0xfe36d53e,0x7d8d116d,0x7875e750,0x6db22f58,0x43e144ea,0x2dc5e373,0xe799eb95,0xc05f32e6,0x6899e6ec,0xe9e5f4df,0x1fab23d5,0xbdc3bd68,0x73af60e6,0xb72b8ab7
-.long 0x2cecc84a,0x8db27ae0,0x7bdb871c,0x600016d8,0xd7c46f58,0x42a44b13,0xc3a77d39,0xb8919727,0xdafd6088,0xcfc6bbbd,0x6bd20d39,0x1a740146,0x98c41072,0x8c747abd,0xbdf68ea1,0x4c91e765
-.long 0x08819a78,0x7c95e5ca,0xc9587921,0xcf48b729,0xdebbcc7d,0x091c7c5f,0xf0e05149,0x6f287404,0x26cd44ec,0xf83b5ac2,0xcfea250e,0x88ae32a6,0x1d06ebc5,0x6ac5047a,0xd434f781,0xc7e550b4
-.long 0x5c727bd2,0x61ab1cf2,0x1cf915b0,0x2e4badb1,0xf69d3920,0x1b4dadec,0xf14c1dfe,0xe61b1ca6,0xbd6bd51f,0x90b479cc,0x8045ec30,0x8024e401,0x25ef0e62,0xcab29ca3,0x49e4ebc0,0x4f2e9416
-.long 0x0ccced58,0x45eb40ec,0x0da44f98,0x25cd4b9c,0x871812c6,0x43e06458,0x16cef651,0x99f80d55,0xce6dc153,0x571340c9,0xd8665521,0x138d5117,0x4e07014d,0xacdb45bc,0x84b60b91,0x2f34bb38
-.long 0x2ae8921e,0xf44a4fd2,0x892ba1e2,0xb039288e,0xb1c180b2,0x9da50174,0x1693dc87,0x6b70ab66,0xe7057481,0x7e9babc9,0x9c80dc41,0x4581ddef,0x51294682,0x0c890da9,0x3f4736e5,0x0b5629d3
-.long 0xb06f5b41,0x2340c79e,0x4e243469,0xa42e84ce,0x045a71a9,0xf9a20135,0xd27b6fb6,0xefbfb415,0x9d33cd6f,0x25ebea23,0xaa6c0af8,0x9caedb88,0xd9ce6f96,0x53dc7e9a,0x51e0b15a,0x3897f9fd
-.long 0x8e5d788e,0xf51cb1f8,0xe1d490ee,0x1aec7ba8,0xcc58cb3c,0x265991e0,0x9fc3ad31,0x9f306e8c,0x5040a0ac,0x5fed006e,0xfb476f2e,0xca9d5043,0xbeea7a23,0xa19c06e8,0x0edabb63,0xd2865801
-.long 0x6967469a,0xdb92293f,0x8d8a8ed8,0x2894d839,0xbbc77122,0x87c9e406,0x2ea3a26a,0x8671c6f1,0xd7de9853,0xe42df8d6,0xb1f2bcc7,0x2e3ce346,0x899d50cf,0xda601dfc,0xfb1b598f,0xbfc913de
-.long 0xe61f7908,0x81c4909f,0x9bbc7b29,0x192e304f,0xc104b338,0xc3ed8738,0x783f5d61,0xedbe9e47,0x2db30660,0x0c06e9be,0xc0eb7d8e,0xda3e613f,0x322e096e,0xd8fa3e97,0xd336e247,0xfebd91e8
-.long 0xdf655a49,0x8f13ccc4,0x5eb20210,0xa9e00dfc,0xc656b6ea,0x84631d0f,0xd8c0d947,0x93a058cd,0x67bd3448,0x6846904a,0xf394fd5c,0x4a3d4e1a,0xdb225f52,0xc102c1a5,0xfc4f5e9a,0xe3455bba
-.long 0x4b9ad1ce,0x6b36985b,0x5bb7f793,0xa9818536,0x48b1a416,0x6c25e1d0,0x3c81bee7,0x1381dd53,0x7a4a7620,0xd2a30d61,0x39b8944c,0xc8412926,0x7a97c33a,0x3c1c6fbe,0x938664e7,0x941e541d
-.long 0x4a34f239,0x417499e8,0xb90402d5,0x15fdb83c,0x433aa832,0xb75f46bf,0x63215db1,0xb61e15af,0xa127f89a,0xaabe59d4,0x07e816da,0x5d541e0c,0xa618b692,0xaaba0659,0x17266026,0x55327733
-.long 0x95f57552,0xaf53a0fc,0x6cacb0c9,0x32947650,0xc821be01,0x253ff58d,0xa06f1146,0xb0309531,0x05c2e54d,0x59bbbdf5,0x26e8dd22,0x158f27ad,0x397e1e53,0xcc5b7ffb,0x7fc1e50d,0xae03f65b
-.long 0x9c95f0f9,0xa9784ebd,0x24640771,0x5ed9deb2,0x035561c4,0x31244af7,0x7ee857de,0x87332f3a,0x2b9e0d88,0x09e16e9e,0x56a06049,0x52d910f4,0xa9592f48,0x507ed477,0x2365d678,0x85cb917b
-.long 0x4c8998d1,0xf8511c93,0x730ea58f,0x2186a3f1,0xb2029db0,0x50189626,0x02ceb75a,0x9137a6d9,0x748bc82c,0x2fe17f37,0x80469f8c,0x87c2e931,0xbf891aa2,0x850f71cd,0x75ec3d8d,0x0ca1b89b
-.long 0x5e1cd3cd,0x516c43aa,0x9a887c28,0x89397808,0xddea1f9f,0x0059c699,0x8e6868f7,0x7737d6fa,0x60f1524b,0x6d93746a,0xba052aa7,0x36985e55,0xed923ea5,0x41b1d322,0x25852a11,0x3429759f
-.long 0x092e9f41,0xbeca6ec3,0x62256bbd,0x3a238c66,0x70ad487d,0xd82958ea,0x65610d93,0x4ac8aaf9,0x5e4ccab0,0x3fa101b1,0x9de14bfb,0x9bf430f2,0x6531899d,0xa10f5cc6,0xea8ce17d,0x590005fb
-.long 0x24544cb6,0xc437912f,0xd79ac2e3,0x9987b71a,0xc058a212,0x13e3d9dd,0xd2de9606,0x00075aac,0x6cac8369,0x80ab508b,0xf54f6c89,0x87842be7,0x6bc532a4,0xa7ad663d,0x78a91bc8,0x67813de7
-.long 0xc3427239,0x5dcb61ce,0xc56934d9,0x5f3c7cf0,0xe3191591,0xc079e0fb,0xb01aada7,0xe40896bd,0x0492d25f,0x8d466791,0xe7408276,0x8aeb30c9,0x9287aacc,0xe9437495,0x79fe03d4,0x23d4708d
-.long 0xd0c05199,0x8cda9cf2,0xfae78454,0x502fbc22,0xf572a182,0xc0bda9df,0x6158b372,0x5f9b71b8,0x2b82dd07,0xe0f33a59,0x9523032e,0x76302735,0xc4505a32,0x7fe1a721,0xf796409f,0x7b6e3e82
-.long 0x35d0b34a,0xe3417bc0,0x8327c0a7,0x440b386b,0xac0362d1,0x8fb7262d,0xe0cdf943,0x2c41114c,0xad95a0b1,0x2ba5cef1,0x67d54362,0xc09b37a8,0x01e486c9,0x26d6cdd2,0x42ff9297,0x20477abf
-.long 0x292a9287,0xa004dcb3,0x77b092c7,0xddc15cf6,0x806c0605,0x083a8464,0x3db997b0,0x4a68df70,0x05bf7dd0,0x9c134e45,0x8ccf7f8c,0xa4e63d39,0x41b5f8af,0xa6e6517f,0xad7bc1cc,0xaa8b9342
-.long 0x1e706ad9,0x126f35b5,0xc3a9ebdf,0xb99cebb4,0xbf608d90,0xa75389af,0xc6c89858,0x76113c4f,0x97e2b5aa,0x80de8eb0,0x63b91304,0x7e1022cc,0x6ccc066c,0x3bdab605,0xb2edf900,0x33cbb144
-.long 0x7af715d2,0xc4176471,0xd0134a96,0xe2f7f594,0xa41ec956,0x2c1873ef,0x77821304,0xe4e7b4f6,0x88d5374a,0xe5c8ff97,0x80823d5b,0x2b915e63,0xb2ee8fe2,0xea6bc755,0xe7112651,0x6657624c
-.long 0xdace5aca,0x157af101,0x11a6a267,0xc4fdbcf2,0xc49c8609,0xdaddf340,0xe9604a65,0x97e49f52,0x937e2ad5,0x9be8e790,0x326e17f1,0x846e2508,0x0bbbc0dc,0x3f38007a,0xb11e16d6,0xcf03603f
-.long 0x7442f1d5,0xd6f800e0,0x66e0e3ab,0x475607d1,0xb7c64047,0x82807f16,0xa749883d,0x8858e1e3,0x8231ee10,0x5859120b,0x638a1ece,0x1b80e7eb,0xc6aa73a4,0xcb72525a,0x844423ac,0xa7cdea3d
-.long 0xf8ae7c38,0x5ed0c007,0x3d740192,0x6db07a5c,0x5fe36db3,0xbe5e9c2a,0x76e95046,0xd5b9d57a,0x8eba20f2,0x54ac32e7,0x71b9a352,0xef11ca8f,0xff98a658,0x305e373e,0x823eb667,0xffe5a100
-.long 0xe51732d2,0x57477b11,0x2538fc0e,0xdfd6eb28,0x3b39eec5,0x5c43b0cc,0xcb36cc57,0x6af12778,0x06c425ae,0x70b0852d,0x5c221b9b,0x6df92f8c,0xce826d9c,0x6c8d4f9e,0xb49359c3,0xf59aba7b
-.long 0xda64309d,0x5c8ed8d5,0x91b30704,0x61a6de56,0x2f9b5808,0xd6b52f6a,0x98c958a7,0x0eee4194,0x771e4caa,0xcddd9aab,0x78bc21be,0x83965dfd,0xb3b504f5,0x02affce3,0x561c8291,0x30847a21
-.long 0x52bfda05,0xd2eb2cf1,0x6197b98c,0xe0e4c4e9,0xf8a1726f,0x1d35076c,0x2db11e3d,0x6c06085b,0x4463ba14,0x15c0c4d7,0x0030238c,0x9d292f83,0x3727536d,0x1311ee8b,0xbeaedc1e,0xfeea86ef
-.long 0x66131e2e,0xb9d18cd3,0x80fe2682,0xf31d974f,0xe4160289,0xb6e49e0f,0x08e92799,0x7c48ec0b,0xd1989aa7,0x818111d8,0xebf926f9,0xb34fa0aa,0xa245474a,0xdb5fe2f5,0x3c7ca756,0xf80a6ebb
-.long 0xafa05dd8,0xa7f96054,0xfcaf119e,0x26dfcf21,0x0564bb59,0xe20ef2e3,0x61cb02b8,0xef4dca50,0x65d30672,0xcda7838a,0xfd657e86,0x8b08d534,0x46d595c8,0x4c5b4395,0x425cb836,0x39b58725
-.long 0x3de9abe3,0x8ea61059,0x9cdc03be,0x40434881,0xcfedce8c,0x9b261245,0xcf5234a1,0x78c318b4,0xfde24c99,0x510bcf16,0xa2c2ff5d,0x2a77cb75,0x27960fb4,0x9c895c2b,0xb0eda42b,0xd30ce975
-.long 0x1a62cc26,0xfda85393,0x50c0e052,0x23c69b96,0xbfc633f3,0xa227df15,0x1bae7d48,0x2ac78848,0x187d073d,0x487878f9,0x967f807d,0x6c2be919,0x336e6d8f,0x765861d8,0xce528a43,0x88b8974c
-.long 0xff57d051,0x09521177,0xfb6a1961,0x2ff38037,0xa3d76ad4,0xfc0aba74,0x25a7ec17,0x7c764803,0x48879bc8,0x7532d75f,0x58ce6bc1,0xea7eacc0,0x8e896c16,0xc82176b4,0x2c750fed,0x9a30e0b2
-.long 0x421d3aa4,0xc37e2c2e,0xe84fa840,0xf926407c,0x1454e41c,0x18abc03d,0x3f7af644,0x26605ecd,0xd6a5eabf,0x242341a6,0x216b668e,0x1edb84f4,0x04010102,0xd836edb8,0x945e1d8c,0x5b337ce7
-.long 0xc055dc14,0xd2075c77,0x81d89cdf,0x2a0ffa25,0x6ffdcbaf,0x8ce815ea,0xfb648867,0xa3428878,0x884655fb,0x277699cf,0x364d3e41,0xfa5b5bd6,0x441e1cb7,0x01f680c6,0xb70a7d67,0x3fd61e66
-.long 0xcc78cf66,0x666ba2dc,0x6fdbff77,0xb3018174,0x168d4668,0x8d4dd0db,0x1dab3a2a,0x259455d0,0xcde3acec,0xf58564c5,0x13adb276,0x77141925,0x8a303f65,0x527d725d,0xe6f38f7b,0x55deb6c9
-.long 0xb1fa70fb,0xfd5bb657,0xd8073a00,0xfa07f50f,0xbca02500,0xf72e3aa7,0x9975740d,0xf68f895d,0x5cae2a6a,0x30112060,0x02874842,0x01bd7218,0x7ce47bd3,0x3d423891,0x789544f6,0xa66663c1
-.long 0x3272d838,0x864d05d7,0xfa6295c5,0xe22924f9,0x6c2fda32,0x8189593f,0xb184b544,0x330d7189,0xbde1f714,0x79efa62c,0xe5cb1a63,0x35771c94,0x641c8332,0x2f4826b8,0xc8cee854,0x00a894fb
-.long 0x36194d40,0xb4b9a39b,0x77612601,0xe857a7c5,0x4ecf2f58,0xf4209dd2,0x5a033487,0x82b9e66d,0xe4e8b9dd,0xc1e36934,0xa42377d7,0xd2372c9d,0x0e3ae43b,0x51dc94c7,0x04474f6f,0x4c57761e
-.long 0x1058a318,0xdcdacd0a,0x78053a9a,0x369cf3f5,0x31c68de2,0xc6c3de50,0x3c4b6d9f,0x4653a576,0xaa4e5c97,0x1688dd5a,0xb7ab3c74,0x5be80aa1,0xbc65c283,0x70cefe7c,0x06867091,0x57f95f13
-.long 0x4415503b,0xa39114e2,0x4cbb17e9,0xc08ff7c6,0xd7dec966,0x1eff674d,0x53376f63,0x6d4690af,0xea74237b,0xff6fe32e,0xcd57508e,0xc436d17e,0xedcc40fe,0x15aa28e1,0x581bbb44,0x0d769c04
-.long 0x34eaacda,0xc240b6de,0x2ba0f1de,0xd9e116e8,0x79438e55,0xcbe45ec7,0x96f752d7,0x91787c9d,0xf129ac2f,0x897f532b,0x5a36e22c,0xd307b7c8,0x749fb8f3,0x91940675,0x157fdb28,0xd14f95d0
-.long 0x6ae55043,0xfe51d029,0x44a87de1,0x8931e98f,0x09e4fee2,0xe57f1cc6,0x4e072d92,0x0d063b67,0xed0e4316,0x70a998b9,0x306aca46,0xe74a736b,0x4fda97c7,0xecf0fbf2,0x3e178d93,0xa40f65cb
-.long 0x16df4285,0x16253604,0xd0c56ae2,0xb0c9babb,0xcfc5cfc3,0x73032b19,0x09752056,0xe497e5c3,0x164bda96,0x12096bb4,0xa0b74da1,0x1ee42419,0x403826ba,0x8fc36243,0xdc09e660,0x0c8f0069
-.long 0xc27253c9,0x8667e981,0x92b36a45,0x05a6aefb,0x9cb7bb46,0xa62c4b36,0x11f7027b,0x8394f375,0x5f109d0f,0x747bc79c,0x5b8cc60a,0xcad88a76,0x58f09e68,0x80c5a66b,0xf6127eac,0xe753d451
-.long 0x5b0ec6f5,0xc44b74a1,0x5289b2b8,0x47989fe4,0x58d6fc73,0x745f8484,0xf61c70ab,0xec362a6f,0xb3a8ad41,0x070c98a7,0x7b63db51,0x73a20fc0,0xf44c35f4,0xed2c2173,0x9acc9dca,0x8a56149d
-.long 0x9ac6e0f4,0x98f17881,0xa413b5ed,0x360fdeaf,0xa300b0fd,0x0625b8f4,0x5b3222d3,0xf1f4d76a,0x587f76b8,0x9d6f5109,0x2317fdb5,0x8b4ee08d,0x8c68b095,0x88089bb7,0x5808d9b9,0x95570e9a
-.long 0x35d33ae7,0xa395c36f,0x50bb5a94,0x200ea123,0x0bafe84b,0x20c789bd,0x0919276a,0x243ef52d,0xe23ae233,0x3934c577,0xa460d1ec,0xb93807af,0xf8fa76a4,0xb72a53b1,0xc3ca4491,0xd8914cb0
-.long 0x3fb42622,0x2e128494,0x500907d5,0x3b2700ac,0x1a95ec63,0xf370fb09,0x31b6dfbd,0xf8f30be2,0x69e55f15,0xf2b2f8d2,0xcc1323e9,0x1fead851,0xd9e5eef6,0xfa366010,0xe316107e,0x64d487b0
-.long 0xd23ddc82,0x4c076b86,0x7e0143f0,0x03fd344c,0x317af2c5,0xa95362ff,0xe18b7a4f,0x0add3db7,0x8260e01b,0x9c673e3f,0x54a1cc91,0xfbeb49e5,0x92f2e433,0x91351bf2,0x851141eb,0xc755e7ec
-.long 0x29607745,0xc9a95139,0xa26f2b28,0x0ca07420,0x4bc6f9dd,0xcb2790e7,0xadcaffc0,0x345bbb58,0xbe0f27a2,0xc65ea38c,0x641fcb56,0x67c24d7c,0xa9e2c757,0x2c25f0a7,0x16f16c49,0x93f5cdb0
-.long 0xc5ee30a1,0x2ca5a9d7,0xb909b729,0xd1593635,0xdadeff48,0x804ce9f3,0xb07c30c3,0xec464751,0x9e49af6a,0x89d65ff3,0x6f3d01bc,0xf2d6238a,0x0bced843,0x1095561e,0xc8a13fd8,0x51789e12
-.long 0x763231df,0xd633f929,0xe7cbddef,0x46df9f7d,0xcb265da8,0x01c889c0,0xaf4336d2,0xfce1ad10,0xfc6a0a7e,0x8d110df6,0x6da425dc,0xdd431b98,0x1834aabe,0xcdc4aeab,0x8439b7fc,0x84deb124
-.long 0x3c2a5998,0x8796f169,0x7947190d,0x9b9247b4,0x11597014,0x55b9d9a5,0x7b1566ee,0x7e9dd70d,0xcbcd5e64,0x94ad78f7,0x9bd4c032,0x0359ac17,0x7cc222ae,0x3b11baaf,0xba78e812,0xa6a6e284
-.long 0x24cea1a0,0x8392053f,0x33621491,0xc97bce4a,0x35399ee9,0x7eb1db34,0xece81ad1,0x473f78ef,0xf63d3d0d,0x41d72fe0,0xafab62fc,0xe620b880,0x93158383,0x92096bc9,0x8f896f6c,0x41a21357
-.long 0xc7dcfcab,0x1b5ee2fa,0x9546e007,0x650acfde,0xb1b02e07,0xc081b749,0xf9eca03d,0xda9e41a0,0x175a54ab,0x013ba727,0xea5d8d10,0xca0cd190,0x95fd96a9,0x85ea52c0,0xbc5c3940,0x2c591b9f
-.long 0x2bad4d5f,0x6fb4d4e4,0xfef0059b,0xfa4c3590,0xf5122294,0x6a10218a,0xa85751d1,0x9a78a81a,0xa98e84e7,0x04f20579,0x4997e5b5,0xfe1242c0,0xca21e1e4,0xe77a273b,0x9411939d,0xfcc8b1ef
-.long 0x92d0487a,0xe20ea302,0x294b91fe,0x1442dbec,0xbb6b0e8f,0x1f7a4afe,0x6889c318,0x1700ef74,0x70f1fc62,0xf5bbffc3,0x69c79cca,0x3b31d4b6,0xa7f6340d,0xe8bc2aab,0xa725e10a,0xb0b08ab4
-.long 0xae340050,0x44f05701,0x1cf0c569,0xba4b3016,0xfbe19a51,0x5aa29f83,0xb71d752e,0x1b9ed428,0xeb4819f5,0x1666e54e,0x9e18b75b,0x616cdfed,0x3ee27b0b,0x112ed5be,0x44c7de4d,0xfbf28319
-.long 0xe0e60d84,0xd685ec85,0x1db7ee78,0x68037e30,0x003c4d6e,0x5b65bdcd,0x93e29a6a,0x33e7363a,0x08d0756c,0x995b3a61,0x2faf134b,0xd727f85c,0x1d337823,0xfac6edf7,0x0439b8b4,0x99b9aa50
-.long 0xe2b4e075,0x722eb104,0x437c4926,0x49987295,0x46a9b82d,0xb1e4c0e4,0x57a006f5,0xd0cb3197,0xd7808c56,0xf3de0f7d,0x51f89772,0xb5c54d8f,0xadbd31aa,0x500a114a,0x295f6cab,0x9afaaaa6
-.long 0x04cf667a,0x94705e21,0x9d3935d7,0xfc2a811b,0x6d09267c,0x560b0280,0xf780e53b,0xf19ed119,0x067b6269,0xf0227c09,0x5caef599,0x967b8533,0x68efeebc,0x155b9243,0xc497bae6,0xcd6d34f5
-.long 0x6cceb370,0x1dd8d5d3,0xa78d7bf9,0x2aeac579,0x70b67a62,0x5d65017d,0x17c53f67,0x70c8e44f,0x86a34d09,0xd1fc0950,0xe7134907,0xe0fca256,0x80fdd315,0xe24fa29c,0xd87499ad,0x2c4acd03
-.long 0x3b5a9ba6,0xbaaf7517,0x12e51a51,0xb9cbe1f6,0x5e154897,0xd88edae3,0x77b66ca0,0xe4309c3c,0xf67f3746,0xf5555805,0xa36401ff,0x85fc37ba,0xd9499a53,0xdf86e2ca,0xecbc955b,0x6270b2a3
-.long 0x974ad33b,0xafae64f5,0xfe7b2df1,0x04d85977,0x4ab03f73,0x2a3db3ff,0x8702740a,0x0b87878a,0x5a061732,0x6d263f01,0xa32a1901,0xc25430ce,0xdb155018,0xf7ebab3d,0x63a9b78e,0x3a86f693
-.long 0xda9f3804,0x349ae368,0xa164349c,0x470f07fe,0x8562baa5,0xd52f4cc9,0x2b290df3,0xc74a9e86,0x43471a24,0xd3a1aa35,0xb8194511,0x239446be,0x81dcd44d,0xbec2dd00,0xc42ac82d,0xca3d7f0f
-.long 0xfdaf4520,0x1f3db085,0x4549daf2,0xbb6d3e80,0x19ad5c42,0xf5969d8a,0xdbfd1511,0x7052b13d,0x682b9060,0x11890d1b,0xac34452c,0xa71d3883,0x783805b4,0xa438055b,0x4725b23e,0x43241277
-.long 0x4901bbed,0xf20cf96e,0xf432a2bb,0x6419c710,0xdfa9cd7d,0x57a0fbb9,0x00daa249,0x589111e4,0x7b60554e,0x19809a33,0xede283a4,0xea5f8887,0x503bfd35,0x2d713802,0x585d2a53,0x151bb0af
-.long 0x43b30ca8,0x40b08f74,0xd9934583,0xe10b5bba,0xb51110ad,0xe8a546d6,0x28e0b6c5,0x1dd50e66,0xcff2b821,0x292e9d54,0x47281760,0x3882555d,0x3724d6e3,0x134838f8,0x22ddcda1,0xf2c679e0
-.long 0x6d2a5768,0x40ee8815,0x1c1e7e2d,0x7f227bd2,0xd04ff443,0x487ba134,0xc614e54b,0x76e2ff3d,0xa3177ec7,0x36b88d6f,0x2328fff5,0xbf731d51,0x49ba158e,0x758caea2,0x02938188,0x5ab8ff4c
-.long 0x35edc56d,0x33e16056,0x7e940d79,0x5a69d349,0x03866dcb,0x6c4fd001,0x4893cdef,0x20a38f57,0xfac3a15b,0xfbf3e790,0x7a4f8e6b,0x6ed7ea2e,0xbc3aca86,0xa663eb4f,0x080d53f7,0x22061ea5
-.long 0xf546783f,0x2480dfe6,0x5a0a641e,0xd38bc6da,0x2ede8965,0xfb093cd1,0xacb455cf,0x89654db4,0x26e1adee,0x413cbf9a,0x373294d4,0x291f3764,0x648083fe,0x00797257,0x208cc341,0x25f504d3
-.long 0xc3a0ee43,0x635a8e5e,0x679898ff,0x70aaebca,0x5dc63d56,0x9ee9f547,0xffb34d00,0xce987966,0x5e26310a,0xf9f86b19,0x382a8ca8,0x9e435484,0xc2352fe4,0x253bcb81,0x4474b571,0xa4eac8b0
-.long 0xc1ad8cf8,0xc1b97512,0x99e0b697,0x193b4e9e,0x01e85df0,0x939d2716,0xcd44eafd,0x4fb265b3,0xe51e1ae2,0x321e7dcd,0xe3d8b096,0x8e3a8ca6,0x52604998,0x8de46cb0,0x39072aa7,0x91099ad8
-.long 0x93aa96b8,0x2617f91c,0x7fca2e13,0x0fc8716b,0x95328723,0xa7106f5e,0x262e6522,0xd1c9c40b,0x42b7c094,0xb9bafe86,0x1543c021,0x1873439d,0x5cbefd5d,0xe1baa5de,0x521e8aff,0xa363fc5e
-.long 0xf862eaac,0xefe6320d,0x22c647dc,0x14419c63,0x4e46d428,0x0e06707c,0x4a178f8f,0xcb6c834f,0xd30f917c,0x0f993a45,0x9879afee,0xd4c4b049,0x70500063,0xb6142a1e,0xa5d9d605,0x7c9b41c3
-.long 0x2f8ba2c7,0xbc00fc2f,0x7c67aa28,0x0966eb2f,0x5a786972,0x13f7b516,0x8a2fbba0,0x3bfb7557,0x5a2b9620,0x131c4f23,0x6faf46be,0xbff3ed27,0x7e172323,0x9b4473d1,0x339f6246,0x421e8878
-.long 0x25a41632,0x0fa8587a,0xa35b6c93,0xc0814124,0x59ebb8db,0x2b18a9f5,0x76edb29c,0x264e3357,0xc87c51e2,0xaf245ccd,0x501e6214,0x16b3015b,0x0a3882ce,0xbb31c560,0xfec11e04,0x6961bb94
-.long 0xeff7a3a0,0x3b825b8d,0xb1df7326,0xbec33738,0x99604a1f,0x68ad747c,0x9a3bd499,0xd154c934,0x1cc7a906,0xac33506f,0x6c560e8f,0x73bb5392,0x263e3944,0x6428fcbe,0x1c387434,0xc11828d5
-.long 0x3e4b12ff,0x3cd04be1,0x2d88667c,0xc3aad9f9,0x248120cf,0xc52ddcf8,0x2a389532,0x985a892e,0x3bb85fa0,0xfbb4b21b,0x8dfc6269,0xf95375e0,0x7ee2acea,0xfb4fb06c,0x309c4d1f,0x6785426e
-.long 0xd8ceb147,0x659b17c8,0xb70a5554,0x9b649eee,0xac6bc634,0x6b7fa0b5,0x1d6e732f,0xd99fe2c7,0x8d3abba2,0x30e6e762,0xa797b799,0x18fee6e7,0xc696464d,0x5c9d360d,0x27bfde12,0xe3baeb48
-.long 0xf23206d5,0x2bf5db47,0x1d260152,0x2f6d3420,0x3f8ff89a,0x17b87653,0x378fa458,0x5157c30c,0x2d4fb936,0x7517c5c5,0xe6518cdc,0xef22f7ac,0xbf847a64,0xdeb483e6,0x92e0fa89,0xf5084558
-.long 0xdf7304d4,0xab9659d8,0xff210e8e,0xb71bcf1b,0xd73fbd60,0xa9a2438b,0x5d11b4de,0x4595cd1f,0x4835859d,0x9c0d329a,0x7dbb6e56,0x4a0f0d2d,0xdf928a4e,0xc6038e5e,0x8f5ad154,0xc9429621
-.long 0xf23f2d92,0x91213462,0x60b94078,0x6cab71bd,0x176cde20,0x6bdd0a63,0xee4d54bc,0x54c9b20c,0x9f2ac02f,0x3cd2d8aa,0x206eedb0,0x03f8e617,0x93086434,0xc7f68e16,0x92dd3db9,0x831469c5
-.long 0x8f981354,0x8521df24,0x3588a259,0x587e23ec,0xd7a0992c,0xcbedf281,0x38961407,0x06930a55,0xbe5bbe21,0x09320deb,0x2491817f,0xa7ffa5b5,0x09065160,0xe6c8b4d9,0xfff6d2a9,0xac4f3992
-.long 0x3ae9c1bd,0x7aa7a158,0xe37ce240,0xe0af6d98,0x28ab38b4,0xe54342d9,0x0a1c98ca,0xe8b75007,0xe02358f2,0xefce86af,0xea921228,0x31b8b856,0x0a1c67fc,0x052a1912,0xe3aead59,0xb4069ea4
-.long 0x7fa03cb3,0x3232d6e2,0x0fdd7d88,0xdb938e5b,0x2ccbfc5d,0x04c1d2cd,0xaf3a580f,0xd2f45c12,0x7883e614,0x592620b5,0xbe7c5f26,0x5fd27e68,0x1567e1e3,0x139e45a9,0x44d8aaaf,0x2cc71d2d
-.long 0xe36d0757,0x4a9090cd,0xd9a29382,0xf722d7b1,0x04b48ddf,0xfb7fb04c,0xebe16f43,0x628ad2a7,0x20226040,0xcd3fbfb5,0x5104b6c4,0x6c34ecb1,0xc903c188,0x30c0754e,0x2d23cab0,0xec336b08
-.long 0x1e206ee5,0x473d62a2,0x8c49a633,0xf1e27480,0xe9f6b2c3,0x87ab956c,0x62b606ea,0x61830b48,0xe78e815f,0x67cd6846,0x4c02082a,0xfe40139f,0x952ec365,0x52bbbfcb,0x6b9836ab,0x74c11642
-.long 0x558df019,0x9f51439e,0xac712b27,0x230da4ba,0x55185a24,0x518919e3,0x84b78f50,0x4dcefcdd,0xa47d4c5a,0xa7d90fb2,0xb30e009e,0x55ac9abf,0x74eed273,0xfd2fc359,0xdbea8faf,0xb72d824c
-.long 0x4513e2ca,0xce721a74,0x38240b2c,0x0b418612,0xd5baa450,0x05199968,0x2b0e8c25,0xeb1757ed,0x3dfac6d5,0x6ebc3e28,0x48a237f5,0xb2431e2e,0x52f61499,0x2acb5e23,0xe06c936b,0x5558a2a7
-.long 0xcbb13d1b,0xd213f923,0x5bfb9bfe,0x98799f42,0x701144a9,0x1ae8ddc9,0x4c5595ee,0x0b8b3bb6,0x3ecebb21,0x0ea9ef2e,0x3671f9a7,0x17cb6c4b,0x726f1d1f,0x47ef464f,0x6943a276,0x171b9484
-.long 0x7ef0329c,0x51a4ae2d,0x91c4402a,0x08509222,0xafd45bbc,0x64a61d35,0x3035a851,0x38f096fe,0xa1dec027,0xc7468b74,0x4fc7dcba,0xe8cf10e7,0xf4a06353,0xea35ff40,0x8b77dd66,0x0b4c0dfa
-.long 0xde7e5c19,0x779b8552,0xc1c0256c,0xfab28609,0xabd4743d,0x64f58eee,0x7b6cc93b,0x4e8ef838,0x4cb1bf3d,0xee650d26,0x73dedf61,0x4c1f9d09,0xbfb70ced,0xaef7c9d7,0x1641de1e,0x1ec0507e
-.long 0xcde45079,0xcd7e5cc7,0x516ac9e4,0xde173c9a,0xc170315c,0x517a8494,0x91d8e8fb,0x438fd905,0xc7d9630b,0x5145c506,0xf47d4d75,0x6457a87b,0x0d9a80e8,0xd31646bf,0xcef3aabe,0x453add2b
-.long 0xa607419d,0xc9941109,0xbb6bca80,0xfaa71e62,0x07c431f3,0x34158c13,0x992bc47a,0x594abebc,0xeb78399f,0x6dfea691,0x3f42cba4,0x48aafb35,0x077c04f0,0xedcd65af,0xe884491a,0x1a29a366
-.long 0x1c21f2bf,0x023a40e5,0xa5057aee,0xf99a513c,0xbcab072e,0xa3fe7e25,0x40e32bcf,0x8568d2e1,0xd3f69d9f,0x904594eb,0x07affab1,0x181a9733,0xb6e330f4,0xe4d68d76,0xc75a7fc1,0x87a6dafb
-.long 0xef7d9289,0x549db2b5,0x197f015a,0x2480d4a8,0xc40493b6,0x61d5590b,0x6f780331,0x3a55b52e,0x309eadb0,0x40eb8115,0x92e5c625,0xdea7de5a,0xcc6a3d5a,0x64d631f0,0x93e8dd61,0x9d5e9d7c
-.long 0x206d3ffc,0xf297bef5,0x7d808bd4,0x23d5e033,0xd24cf5ba,0x4a4f6912,0x09cdaa8a,0xe4d8163b,0xd3082e8e,0x0e0de9ef,0x0192f360,0x4fe1246c,0x4b8eee0a,0x1f900150,0xf1da391b,0x5219da81
-.long 0xf7ea25aa,0x7bf6a5c1,0xfbb07d5f,0xd165e6bf,0x89e78671,0xe3539361,0x2bac4219,0xa3fcac89,0xf0baa8ab,0xdfab6fd4,0xe2c1c2e5,0x5a4adac1,0x40d85849,0x6cd75e31,0x19b39181,0xce263fea
-.long 0x07032c72,0xcb6803d3,0x790968c8,0x7f40d5ce,0xdce978f0,0xa6de86bd,0x368f751c,0x25547c4f,0x65fb2a9e,0xb1e685fd,0x1eb9179c,0xce69336f,0x12504442,0xb15d1c27,0xb911a06b,0xb7df465c
-.long 0x315980cd,0xb8d804a3,0xfa3bebf7,0x693bc492,0x2253c504,0x3578aeee,0xcd2474a2,0x158de498,0xcfda8368,0x1331f5c7,0x78d7177e,0xd2d7bbb3,0xf3c1e46e,0xdf61133a,0xd30e7be8,0x5836ce7d
-.long 0x94f834cb,0x83084f19,0x429ed782,0xd35653d4,0x59e58243,0xa542f16f,0x0470a22d,0xc2b52f65,0x18f23d96,0xe3b6221b,0x3f5252b4,0xcb05abac,0x87d61402,0xca00938b,0x411933e4,0x2f186cdd
-.long 0x9a29a5c5,0xe042ece5,0x3b6c8402,0xb19b3c07,0x19d92684,0xc97667c7,0xebc66372,0xb5624622,0x3c04fa02,0x0cb96e65,0x8eaa39aa,0x83a7176c,0xeaa1633f,0x2033561d,0x4533df73,0x45a9d086
-.long 0x3dc090bc,0xe0542c1d,0xaa59c167,0x82c996ef,0x0ee7fc4d,0xe3f735e8,0x7c35db79,0x7b179393,0xf8c5dbfd,0xb6419e25,0x1f327b04,0x4d9d7a1e,0x298dfca8,0x979f6f9b,0x8de9366a,0xc7c5dff1
-.long 0x04c82bdd,0x1b7a588d,0xf8319dfd,0x68005534,0xd8eb9580,0xde8a55b5,0x8d5bca81,0x5ea886da,0x252a0b4d,0xe8530a01,0x35eaa0a1,0x1bffb4fe,0xd8e99563,0x2ad828b1,0x95f9cd87,0x7de96ef5
-.long 0xd77d970c,0x4abb2d0c,0xd33ef9cb,0x03cfb933,0x8b211fe9,0xb0547c01,0xa56ed1c6,0x2fe64809,0xc2ac98cc,0xcb7d5624,0x1a393e33,0x2a1372c0,0x29660521,0xc8d1ec1c,0xb37ac3e9,0xf3d31b04
-.long 0x5ece6e7c,0xa29ae9df,0x0facfb55,0x0603ac8f,0xdda233a5,0xcfe85b7a,0xbd75f0b8,0xe618919f,0x99bf1603,0xf555a3d2,0xf184255a,0x1f43afc9,0x319a3e02,0xdcdaf341,0x03903a39,0xd3b117ef
-.long 0x65d1d131,0xe095da13,0xc37ad03e,0x86f16367,0x462cd8dd,0x5f37389e,0xd67a60e6,0xc103fa04,0xf4b478f0,0x57c34344,0xe117c98d,0xce91edd8,0x231fc12e,0x001777b0,0xb207bccb,0x11ae47f2
-.long 0x20f8a242,0xd983cf8d,0xf22e1ad8,0x7aff5b1d,0x7fc4feb3,0x68fd11d0,0xb0f1c3e1,0x5d53ae90,0xec041803,0x50fb7905,0x14404888,0x85e3c977,0xac628d8f,0x0e67faed,0x6668532c,0x2e865150
-.long 0x6a67a6b0,0x15acaaa4,0xb25cec41,0xf4cdee25,0xe4c6701e,0x49ee565a,0xfc7d63d8,0x2a04ca66,0xef0543fb,0xeb105018,0xd1b0d81d,0xf709a4f5,0x2915d333,0x5b906ee6,0x96f1f0ab,0xf4a87412
-.long 0x4d82f4c2,0xb6b82fa7,0x6804efb3,0x90725a60,0xadc3425e,0xbc82ec46,0x2787843e,0xb7b80581,0xdd1fc74c,0xdf46d91c,0xe783a6c4,0xdc1c62cb,0x1a04cbba,0x59d1b9f3,0x95e40764,0xd87f6f72
-.long 0x317f4a76,0x02b4cfc1,0x91036bce,0x8d2703eb,0xa5e72a56,0x98206cc6,0xcf53fb0f,0x57be9ed1,0xef0b17ac,0x09374571,0xd9181b38,0x74b2655e,0x89935d0e,0xc8f80ea8,0x91529936,0xc0d9e942
-.long 0x1e84e0e5,0x19686041,0xaea34c93,0xa5db84d3,0x7073a732,0xf9d5bb19,0x6bcfd7c0,0xb8d2fe56,0xf3eb82fa,0x45775f36,0xfdff8b58,0x8cb20ccc,0x8374c110,0x1659b65f,0x330c789a,0xb8b4a422
-.long 0x6fe8208b,0x75e3c3ea,0x286e78fe,0xbd74b9e4,0xd7d93a1a,0x0be2e81b,0xdd0a5aae,0x7ed06e27,0x6be8b800,0x721f5a58,0xd846db28,0x428299d1,0x5be88ed3,0x95cb8e6b,0x1c034e11,0xc3186b23
-.long 0x8977d99b,0xa6312c9e,0x83f531e7,0xbe944331,0x18d3b1d4,0x8232c0c2,0xe1247b73,0x617aae8b,0x282aec3b,0x40153fc4,0xf7b8f823,0xc6063d2f,0x3304f94c,0x68f10e58,0xee676346,0x31efae74
-.long 0x40a9b97c,0xbadb6c6d,0x4f666256,0x14702c63,0x5184b2e3,0xdeb954f1,0x94b6ca40,0x5184a526,0x003c32ea,0xfff05337,0x205974c7,0x5aa374dd,0x4b0dd71a,0x9a763854,0xdeb947ec,0x459cd27f
-.long 0x459c2b92,0xa6e28161,0x75ee8ef5,0x2f020fa8,0x30b06310,0xb132ec2d,0xbc6a4530,0xc3e15899,0xaa3f451a,0xdc5f53fe,0xc2d9acac,0x3a3c7f23,0x6b27e58b,0x2ec2f892,0xd742799f,0x68466ee7
-.long 0x1fa26613,0x98324dd4,0xbdc29d63,0xa2dc6dab,0xd712d657,0xf9675faa,0x21fd8d15,0x813994be,0xfd4f7553,0x5ccbb722,0xf3a36b20,0x5135ff8b,0x69559df5,0x44be28af,0x9d41bf30,0x40b65bed
-.long 0x3734e520,0xd98bf2a4,0x209bdcba,0x5e3abbe3,0xbc945b35,0x77c76553,0xc6ef14aa,0x5331c093,0x76b60c80,0x518ffe29,0x7ace16f8,0x2285593b,0xbe2b9784,0xab1f64cc,0xab2421b6,0xe8f2c0d9
-.long 0xc1df065c,0x617d7174,0x5f6578fa,0xafeeb5ab,0x263b54a8,0x16ff1329,0xc990dce3,0x45c55808,0xecc8c177,0x42eab6c0,0x5982ecaa,0x799ea9b5,0xb607ef8e,0xf65da244,0x32a3fc2c,0x8ab226ce
-.long 0x7ea973dc,0x745741e5,0x20888f2e,0x5c00ca70,0x45fd9cf1,0x7cdce3cf,0x5507f872,0x8a741ef1,0x196b4cec,0x47c51c2f,0xc97ea618,0x70d08e43,0x15b18a2b,0x930da15c,0x2f610514,0x33b6c678
-.long 0x07ac9794,0xc662e4f8,0xba06cb79,0x1eccf050,0xe7d954e5,0x1ff08623,0x24cf71c3,0x6ef2c5fb,0x67978453,0xb2c063d2,0x1d654af8,0xa0cf3796,0x7ebdaa37,0x7cb242ea,0xb86747e0,0x206e0b10
-.long 0xd5ecfefc,0x481dae5f,0xc2bff8fc,0x07084fd8,0xea324596,0x8040a01a,0xd4de4036,0x4c646980,0xd65abfc3,0x9eb8ab4e,0x13541ec7,0xe01cb91f,0xfd695012,0x8f029adb,0x3c7569ec,0x9ae28483
-.long 0xa66d80a1,0xa5614c9e,0x75f5f911,0x680a3e44,0xceba4fc1,0x0c07b14d,0xa13071c1,0x891c285b,0x799ece3c,0xcac67ceb,0x41e07e27,0x29b910a9,0xf2e43123,0x66bdb409,0x7ac9ecbe,0x06f8b137
-.long 0x38547090,0x5981fafd,0x85e3415d,0x19ab8b9f,0xc7e31b27,0xfc28c194,0x6fbcbb42,0x843be0aa,0xa6db836c,0xf3b1ed43,0x01a45c05,0x2a1330e4,0x95c1a377,0x4f19f3c5,0x44b5ee33,0xa85f39d0
-.long 0x4ae52834,0x3da18e6d,0x7423dcb0,0x5a403b39,0xf2374aef,0xbb555e0a,0x1e8ca111,0x2ad599c4,0x014b3bf8,0x1b3a2fb9,0xf66d5007,0x73092684,0xc4340102,0x079f1426,0x8fddf4de,0x1827cf81
-.long 0xf10ff927,0xc83605f6,0x23739fc6,0xd3871451,0xcac1c2cc,0x6d163450,0xa2ec1ac5,0x6b521296,0x6e3cb4a5,0x0606c4f9,0x778abff7,0xe47d3f41,0xbe8e3a45,0x425a8d5e,0xa6102160,0x53ea9e97
-.long 0x39cbb688,0x477a106e,0xf3386d32,0x532401d2,0xb1b9b421,0x8e564f64,0x81dad33f,0xca9b8388,0x2093913e,0xb1422b4e,0x69bc8112,0x533d2f92,0xebe7b2c7,0x3fa017be,0xcaf197c6,0xb2767c4a
-.long 0xaedbae9f,0xc925ff87,0x36880a54,0x7daf0eb9,0x9c4d0e71,0x9284ddf5,0x316f8cf5,0x1581cf93,0x3ac1f452,0x3eeca887,0xfb6aeffe,0xb417fce9,0xeefb8dc3,0xa5918046,0x02209400,0x73d318ac
-.long 0x728693e5,0xe800400f,0x339927ed,0xe87d814b,0x57ea9910,0x93e94d3b,0x2245fb69,0xff8a35b6,0x7f200d34,0x043853d7,0x0f653ce1,0x470f1e68,0x59a06379,0x81ac05bd,0x03930c29,0xa14052c2
-.long 0x26bc2797,0x6b72fab5,0x99f16771,0x13670d16,0x1e3e48d1,0x00170052,0xb7adf678,0x978fe401,0xd41c5dd4,0x55ecfb92,0xc7b27da5,0x5ff8e247,0x013fb606,0xe7518272,0x2f547a3c,0x5768d7e5
-.long 0x60017a5f,0xbb24eaa3,0x9c64ce9b,0x6b18e6e4,0x103dde07,0xc225c655,0x7592f7ea,0xfc3672ae,0xd06283a1,0x9606ad77,0xe4d59d99,0x542fc650,0x2a40e7c2,0xabb57c49,0xa8db9f55,0xac948f13
-.long 0xb04465c3,0x6d4c9682,0x6468bd15,0xe3d062fa,0x5f318d7e,0xa51729ac,0x9eb6fc95,0x1fc87df6,0x0591f652,0x63d146a8,0x589621aa,0xa861b8f7,0xce31348c,0x59f5f15a,0x440da6da,0x8f663391
-.long 0xb591ffa3,0xcfa778ac,0x4cdfebce,0x027ca9c5,0x444ea6b3,0xbe8e05a5,0xa78d8254,0x8aab4e69,0xb474d6b8,0x2437f04f,0x045b3855,0x6597ffd4,0xca47ecaa,0xbb0aea4e,0x85c7ebfc,0x568aae83
-.long 0xc73b2383,0x0e966e64,0xd17d8762,0x49eb3447,0x8da05dab,0xde107821,0x016b7236,0x443d8baa,0xea7610d6,0x163b63a5,0xce1ca979,0xe47e4185,0x80baa132,0xae648b65,0x0e0d5b64,0xebf53de2
-.long 0xd3c8c1ca,0x8d3bfcb4,0x5d04b309,0x0d914ef3,0x3de7d395,0x55ef6415,0x26b850e8,0xbde1666f,0xd449ab19,0xdbe1ca6e,0xe89a2672,0x8902b322,0xdacb7a53,0xb1674b7e,0xf52523ff,0x8e9faf6e
-.long 0x9a85788b,0x6ba535da,0xbd0626d4,0xd21f03ae,0xe873dc64,0x099f8c47,0x018ec97e,0xcda8564d,0xde92c68c,0x3e8d7a5c,0x73323cc4,0x78e035a1,0xf880ff7c,0x3ef26275,0x273eedaa,0xa4ee3dff
-.long 0xaf4e18f8,0x58823507,0x0672f328,0x967ec9b5,0x559d3186,0x9ded19d9,0x6cdce39c,0x5e2ab3de,0x11c226df,0xabad6e4d,0x87723014,0xf9783f43,0x1a885719,0x9a49a0cf,0x90da9dbf,0xfc0c1a5a
-.long 0x571d92ac,0x8bbaec49,0x4692517f,0x569e85fe,0xa14ea4af,0x8333b014,0x12e5c5ad,0x32f2a62f,0x06d89b85,0x98c2ce3a,0x2ff77a08,0xb90741aa,0x01f795a2,0x2530defc,0x84b3c199,0xd6e5ba0b
-.long 0x12e4c936,0x7d8e8451,0xbd0be17b,0xae419f7d,0x22262bc9,0xa583fc8c,0x91bfe2bd,0x6b842ac7,0x440d6827,0x33cef4e9,0xef81fb14,0x5f69f4de,0x234fbb92,0xf16cf6f6,0xd9e7e158,0x76ae3fc3
-.long 0xe9740b33,0x4e89f6c2,0x4962d6a1,0x677bc85d,0x68d10d15,0x6c6d8a7f,0x0257b1cd,0x5f9a7224,0x4ad85961,0x7096b916,0xe657ab4a,0x5f8c47f7,0xf7461d7e,0xde57d7d0,0x80ce5ee2,0x7eb6094d
-.long 0x34190547,0x0b1e1dfd,0xf05dd150,0x8a394f43,0x97df44e6,0x0a9eb24d,0x87675719,0x78ca06bf,0x6ffeec22,0x6f0b3462,0x36cdd8fb,0x9d91bcea,0xa105be47,0xac83363c,0x069710e3,0x81ba76c1
-.long 0x28c682c6,0x3d1b24cb,0x8612575b,0x27f25228,0xe8e66e98,0xb587c779,0x405eb1fe,0x7b0c03e9,0x15b548e7,0xfdf0d030,0x38b36af7,0xa8be76e0,0x4f310c40,0x4cdab04a,0xf47ecaec,0x6287223e
-.long 0x8b399320,0x678e6055,0xc01e4646,0x61fe3fa6,0x03261a5e,0xc482866b,0x5c2f244a,0xdfcf45b8,0x2f684b43,0x8fab9a51,0xc7220a66,0xf796c654,0xf5afa58f,0x1d90707e,0x4fdbe0de,0x2c421d97
-.long 0xaf2ebc2f,0xc4f4cda3,0xcb4efe24,0xa0af843d,0x9ccd10b1,0x53b857c1,0x914d3e04,0xddc9d1eb,0x62771deb,0x7bdec8bb,0x91c5aa81,0x829277aa,0x832391ae,0x7af18dd6,0xc71a84ca,0x1740f316
-.long 0xeeaf8c49,0x8928e99a,0x6e24d728,0xee7aa73d,0xe72b156c,0x4c5007c2,0xed408a1d,0x5fcf57c5,0xb6057604,0x9f719e39,0xc2868bbf,0x7d343c01,0x7e103e2d,0x2cca254b,0xf131bea2,0xe6eb38a9
-.long 0x8be762b4,0xb33e624f,0x058e3413,0x2a9ee4d1,0x67d805fa,0x968e6369,0x7db8bfd7,0x9848949b,0xd23a8417,0x5308d7e5,0xf3e29da5,0x892f3b1d,0x3dee471f,0xc95c139e,0xd757e089,0x8631594d
-.long 0xde918dcc,0xe0c82a3c,0x26fdcf4b,0x2e7b5994,0x32cb1b2d,0x82c50249,0x7657ae07,0xea613a9d,0xf1fdc9f7,0xc2eb5f6c,0x879fe682,0xb6eae8b8,0x591cbc7f,0x253dfee0,0x3e1290e6,0x000da713
-.long 0x1f095615,0x1083e2ea,0x14e68c33,0x0a28ad77,0x3d8818be,0x6bfc0252,0xf35850cd,0xb585113a,0x30df8aa1,0x7d935f0b,0x4ab7e3ac,0xaddda07c,0x552f00cb,0x92c34299,0x2909df6c,0xc33ed1de
-.long 0x80e87766,0x22c2195d,0x9ddf4ac0,0x9e99e6d8,0x65e74934,0x09642e4e,0xff1ff241,0x2610ffa2,0x751c8159,0x4d1d47d4,0xaf3a9363,0x697b4985,0x87477c33,0x0318ca46,0x9441eff3,0xa90cb565
-.long 0x36f024cb,0x58bb3848,0x36016168,0x85be1f77,0xdc7e07f1,0x6c59587c,0xaf1d8f02,0x191be071,0xcca5e55c,0xbf169fa5,0xf7d04eac,0x3864ba3c,0x8d7d05db,0x915e367f,0xa6549e5d,0xb48a876d
-.long 0x580e40a2,0xef89c656,0x728068bc,0xf194ed8c,0xa47990c9,0x74528045,0x5e1a4649,0xf53fc7d7,0x78593e7d,0xbec5ae9b,0x41db65d7,0x2cac4ee3,0x04a3d39b,0xa8c1eb24,0x03f8f3ef,0x53b7d634
-.long 0x3e07113c,0x2dc40d48,0x7d8b63ae,0x6e4a5d39,0x79684c2b,0x5582a94b,0x622da26c,0x932b33d4,0x0dbbf08d,0xf534f651,0x64c23a52,0x211d07c9,0xee5bdc9b,0x0eeece0f,0xf7015558,0xdf178168
-.long 0x0a712229,0xd4294635,0x09273f8c,0x93cbe448,0x8f13bc83,0x00b095ef,0x8798978c,0xbb741972,0x56dbe6e7,0x9d7309a2,0x5a5d39ec,0xe578ec56,0x851f9a31,0x3961151b,0xe5709eb4,0x2da7715d
-.long 0x53dfabf0,0x867f3017,0xb8e39259,0x728d2078,0x815d9958,0x5c75a0cd,0x16603be1,0xf84867a6,0x70e35b1c,0xc865b13d,0x19b03e2c,0x02414468,0xac1f3121,0xe46041da,0x6f028a7c,0x7c9017ad
-.long 0x0a482873,0xabc96de9,0xb77e54d4,0x4265d6b1,0xa57d88e7,0x68c38e79,0x9ce82de3,0xd461d766,0x64a7e489,0x817a9ec5,0xa0def5f2,0xcc5675cd,0x985d494e,0x9a00e785,0x1b03514a,0xc626833f
-.long 0x83cdd60e,0xabe7905a,0xa1170184,0x50602fb5,0xb023642a,0x689886cd,0xa6e1fb00,0xd568d090,0x0259217f,0x5b1922c7,0xc43141e4,0x93831cd9,0x0c95f86e,0xdfca3587,0x568ae828,0xdec2057a
-.long 0xf98a759a,0xc44ea599,0xf7c23c1d,0x55a0a7a2,0x94c4f687,0xd5ffb6e6,0x12848478,0x3563cce2,0xe7b1fbe1,0x812b3517,0x4f7338e0,0x8a7dc979,0x52d048db,0x211ecee9,0xc86ea3b8,0x2eea4056
-.long 0xba772b34,0xd8cb68a7,0x5f4e2541,0xe16ed341,0x0fec14db,0x9b32f6a6,0x391698be,0xeee376f7,0x83674c02,0xe9a7aa17,0x5843022a,0x65832f97,0x5ba4990f,0x29f3a8da,0xfb8e3216,0x79a59c3a
-.long 0xbd19bb16,0x9cdc4d2e,0xb3262d86,0xc6c7cfd0,0x969c0b47,0xd4ce14d0,0x13e56128,0x1fa352b7,0x973db6d3,0x383d55b8,0xe8e5b7bf,0x71836850,0xe6bb571f,0xc7714596,0x2d5b2dd2,0x259df31f
-.long 0x913cc16d,0x568f8925,0xe1a26f5a,0x18bc5b6d,0xf5f499ae,0xdfa413be,0xc3f0ae84,0xf8835dec,0x65a40ab0,0xb6e60bd8,0x194b377e,0x65596439,0x92084a69,0xbcd85625,0x4f23ede0,0x5ce433b9
-.long 0x6ad65143,0xe8e8f04f,0xd6e14af6,0x11511827,0x8295c0c7,0x3d390a10,0x621eba16,0x71e29ee4,0x63717b46,0xa588fc09,0xe06ad4a2,0x02be02fe,0x04c22b22,0x931558c6,0x12f3c849,0xbb4d4bd6
-.long 0x20efd662,0x54a4f496,0xc5952d14,0x92ba6d20,0xcc9784c2,0x2db8ea1e,0x4b353644,0x81cc10ca,0x4b4d7f6c,0x40b570ad,0x84a1dcd2,0x5c9f1d96,0x3147e797,0x01379f81,0x2bd499f5,0xe5c6097b
-.long 0x328e5e20,0x40dcafa6,0x54815550,0xf7b5244a,0x47bfc978,0xb9a4f118,0xd25825b1,0x0ea0e79f,0x646c7ecf,0xa50f96eb,0x446dea9d,0xeb811493,0xdfabcf69,0x2af04677,0xc713f6e8,0xbe3a068f
-.long 0x42e06189,0x860d523d,0x4e3aff13,0xbf077941,0xc1b20650,0x0b616dca,0x2131300d,0xe66dd6d1,0xff99abde,0xd4a0fd67,0xc7aac50d,0xc9903550,0x7c46b2d7,0x022ecf8b,0x3abf92af,0x3333b1e8
-.long 0x6c491c14,0x11cc113c,0x80dd3f88,0x05976688,0x29d932ed,0xf5b4d9e7,0xa2c38b6d,0xe982aad8,0x8be0dcf0,0x6f925347,0x65ca53f2,0x700080ae,0x443ca77f,0xd8131156,0xec51f984,0xe92d6942
-.long 0x85dfe9ae,0xd2a08af8,0x4d2a86ca,0xd825d9a5,0x39dff020,0x2c53988d,0x430cdc40,0xf38b135a,0x62a7150b,0x0c918ae0,0x0c340e9b,0xf31fd8de,0x4dbbf02e,0xafa0e7ae,0x5eba6239,0x5847fb2a
-.long 0xdccbac8b,0x6b1647dc,0x06f485c8,0xb642aa78,0x7038ecdf,0x873f3765,0xfa49d3fe,0x2ce5e865,0xc98c4400,0xea223788,0xf1fa5279,0x8104a8cd,0x06becfd7,0xbcf7cc7a,0xc8f974ae,0x49424316
-.long 0x84d6365d,0xc0da65e7,0x8f759fb8,0xbcb7443f,0x7ae81930,0x35c712b1,0x4c6e08ab,0x80428dff,0xa4faf843,0xf19dafef,0xffa9855f,0xced8538d,0xbe3ac7ce,0x20ac409c,0x882da71e,0x358c1fb6
-.long 0xfd349961,0xafa9c0e5,0x8421c2fc,0x2b2cfa51,0xf3a28d38,0x2a80db17,0x5d138e7e,0xa8aba539,0x6e96eb8d,0x52012d1d,0xcbaf9622,0x65d8dea0,0xb264f56c,0x57735447,0x1b6c8da2,0xbeebef3f
-.long 0xce785254,0xfc346d98,0xbb64a161,0xd50e8d72,0x49794add,0xc03567c7,0x752c7ef6,0x15a76065,0x961f23d6,0x59f3a222,0x73ecc0b0,0x378e4438,0x5a82fde4,0xc74be434,0xd8b9cf34,0xae509af2
-.long 0x577f44a1,0x4a61ee46,0xb611deeb,0xe09b748c,0xf5f7b884,0xc0481b2c,0x61acfa6b,0x35626678,0xbf8d21e6,0x37f4c518,0xb205a76d,0x22d96531,0x954073c0,0x37fb85e1,0x65b3a567,0xbceafe4f
-.long 0xbe42a582,0xefecdef7,0x65046be6,0xd3fc6080,0x09e8dba9,0xc9af13c8,0x641491ff,0x1e6c9847,0xd30c31f7,0x3b574925,0xac2a2122,0xb7eb72ba,0xef0859e7,0x776a0dac,0x21900942,0x06fec314
-.long 0xf8c22049,0x2464bc10,0x875ebf69,0x9bfbcce7,0x4336326b,0xd7a88e2a,0x5bc2acfa,0xda05261c,0xeba7efc8,0xc29f5bdc,0x25dbbf2e,0x471237ca,0x2975f127,0xa72773f2,0x04d0b326,0xdc744e8e
-.long 0xa56edb73,0x38a7ed16,0x2c007e70,0x64357e37,0x5080b400,0xa167d15b,0x23de4be1,0x07b41164,0x74c89883,0xb2d91e32,0x2882e7ed,0x3c162821,0x7503e482,0xad6b36ba,0x0ea34331,0x48434e8e
-.long 0x2c7ae0b9,0x79f4f24f,0x1939b44a,0xc46fbf81,0x56595eb1,0x76fefae8,0xcd5f29c7,0x417b66ab,0xc5ceec20,0x5f2332b2,0xe1a1cae2,0xd69661ff,0x9b0286e6,0x5ede7e52,0xe276b993,0x9d062529
-.long 0x7e50122b,0x324794b0,0x4af07ca5,0xdd744f8b,0xd63fc97b,0x30a12f08,0x76626d9d,0x39650f1a,0x1fa38477,0x101b47f7,0xd4dc124f,0x3d815f19,0xb26eb58a,0x1569ae95,0x95fb1887,0xc3cde188
-.long 0xf9539a48,0x54e9f37b,0x7408c1a5,0xb0100e06,0xea580cbb,0x821d9811,0x86e50c56,0x8af52d35,0xdbbf698b,0xdfbd9d47,0x03dc1c73,0x2961a1ea,0xe76a5df8,0x203d38f8,0x6def707a,0x08a53a68
-.long 0x1bee45d4,0x26eefb48,0x3c688036,0xb3cee346,0xc42f2469,0x463c5315,0x81378162,0x19d84d2e,0x1c4d349f,0x22d7c3c5,0x163d59c5,0x65965844,0xb8abceae,0xcf198c56,0x628559d5,0x6fb1fb1b
-.long 0x07bf8fe3,0x8bbffd06,0x3467734b,0x46259c58,0x35f7f0d3,0xd8953cea,0xd65b0ff1,0x1f0bece2,0xf3c72914,0xf7d5b4b3,0x3cb53389,0x29e8ea95,0x836b6d46,0x4a365626,0xea174fde,0xe849f910
-.long 0xf4737f21,0x7ec62fbb,0x6209f5ac,0xd8dba5ab,0xa5f9adbe,0x24b5d7a9,0xa61dc768,0x707d28f7,0xcaa999ea,0x7711460b,0x1c92e4cc,0xba7b174d,0x18d4bf2d,0x3c4bab66,0xeb8bd279,0xb8f0c980
-.long 0x324b4737,0x024bea9a,0x32a83bca,0xfba9e423,0xa232dced,0x6e635643,0x2571c8ba,0x99619367,0x54b7032b,0xe8c9f357,0x2442d54a,0xf936b3ba,0x8290c65a,0x2263f0f0,0xee2c7fdb,0x48989780
-.long 0x13d4f95e,0xadc5d55a,0xad9b8500,0x737cff85,0x8a73f43d,0x271c557b,0xe18bc476,0xbed617a4,0x7dfd8ab2,0x66245401,0x3a2870aa,0xae7b89ae,0x23a7e545,0x1b555f53,0xbe057e4c,0x6791e247
-.long 0x324fa34d,0x860136ad,0x4cbeae28,0xea111447,0xbedd3299,0x023a4270,0xc1c35c34,0x3d5c3a7f,0x8d0412d2,0xb0f6db67,0xfcdc6b9a,0xd92625e2,0x4e28a982,0x92ae5ccc,0x47a3ce7e,0xea251c36
-.long 0x790691bf,0x9d658932,0x06b736ae,0xed610589,0xc0d63b6e,0x712c2f04,0xc63d488f,0x5cf06fd5,0xd9588e41,0x97363fac,0x2b93257e,0x1f9bf762,0x667acace,0xa9d1ffc4,0x0a061ecf,0x1cf4a1aa
-.long 0xdc1818d0,0x40e48a49,0xa3621ab0,0x0643ff39,0xe39ef639,0x5768640c,0x04d86854,0x1fc099ea,0xeccd28fd,0x9130b9c3,0x7eec54ab,0xd743cbd2,0xe5b475b6,0x052b146f,0x900a7d1f,0x058d9a82
-.long 0x91262b72,0x65e02292,0xbb0edf03,0x96f924f9,0xfe206842,0x5cfa59c8,0x5eafa720,0xf6037004,0x18d7dd96,0x5f30699e,0xcbab2495,0x381e8782,0xdd8be949,0x91669b46,0x26aae8ef,0xb40606f5
-.long 0xfc6751a4,0x2812b839,0xfba800ef,0x16196214,0x4c1a2875,0x4398d5ca,0x653d8349,0x720c00ee,0xd820007c,0xc2699eb0,0xa39b5825,0x880ee660,0x471f6984,0x70694694,0xe3dda99a,0xf7d16ea8
-.long 0xc0519a23,0x28d675b2,0x4f6952e3,0x9ebf94fe,0xa2294a8a,0xf28bb767,0xfe0af3f5,0x85512b4d,0x99b16a0d,0x18958ba8,0xba7548a7,0x95c2430c,0xa16be615,0xb30d1b10,0x85bfb74c,0xe3ebbb97
-.long 0x18549fdb,0xa3273cfe,0x4fcdb792,0xf6e200bf,0x83aba56c,0x54a76e18,0x89ef6aa2,0x73ec66f6,0xd1b9a305,0x8d17add7,0xb7ae1b9d,0xa959c5b9,0x6bcc094a,0x88643522,0xd7d429b9,0xcc5616c4
-.long 0xe6a33f7c,0xa6dada01,0x9d4e70ad,0xc6217a07,0x09c15b7c,0xd619a818,0x0e80c854,0xea06b329,0xa5f5e7b9,0x174811ce,0x787c65f4,0x66dfc310,0x3316ab54,0x4ea7bd69,0x1dcc0f70,0xc12c4acb
-.long 0x1e407dd9,0xe4308d1a,0x91afa997,0xe8a3587c,0xab77b7a5,0xea296c12,0x673c0d52,0xb5ad49e4,0x7006085a,0x40f9b2b2,0x87bf6ec2,0xa88ff340,0x4e3066a6,0x978603b1,0xb5e486e2,0xb3f99fc2
-.long 0xb2e63645,0x07b53f5e,0x84c84232,0xbe57e547,0x7214d5cf,0xd779c216,0x029a3aca,0x617969cd,0x8a7017a0,0xd17668cd,0xbe9b7ee8,0x77b4d19a,0x9c161776,0x58fd0e93,0xd5968a72,0xa8c4f4ef
-.long 0x67b3de77,0x296071cc,0x634f7905,0xae3c0b8e,0x8a7100c9,0x67e440c2,0xeb4b9b42,0xbb8c3c1b,0xc51b3583,0x6d71e8ea,0x9525e642,0x7591f5af,0x13f509f3,0xf73a2f7b,0x5619ac9b,0x618487aa
-.long 0x9d61718a,0x3a72e5f7,0x7592d28c,0x00413bcc,0x963c35cf,0x7d9b11d3,0xb90a46ed,0x77623bcf,0xdcdd2a50,0xdeef273b,0x0601846e,0x4a741f9b,0x0ec6e929,0x33b89e51,0x8b7f22cd,0xcb02319f
-.long 0x084bae24,0xbbe1500d,0x343d2693,0x2f0ae8d7,0x7cdef811,0xacffb5f2,0x263fb94f,0xaa0c030a,0xa0f442de,0x6eef0d61,0x27b139d3,0xf92e1817,0x0ad8bc28,0x1ae6deb7,0xc0514130,0xa89e38dc
-.long 0xd2fdca23,0x81eeb865,0xcc8ef895,0x5a15ee08,0x01905614,0x768fa10a,0x880ee19b,0xeff5b8ef,0xcb1c8a0e,0xf0c0cabb,0xb8c838f9,0x2e1ee9cd,0x8a4a14c0,0x0587d8b8,0x2ff698e5,0xf6f27896
-.long 0x89ee6256,0xed38ef1c,0x6b353b45,0xf44ee1fe,0x70e903b3,0x9115c0c7,0x818f31df,0xc78ec0a1,0xb7dccbc6,0x6c003324,0x163bbc25,0xd96dd1f3,0x5cedd805,0x33aa82dd,0x7f7eb2f1,0x123aae4f
-.long 0xa26262cd,0x1723fcf5,0x0060ebd5,0x1f7f4d5d,0xb2eaa3af,0xf19c5c01,0x9790accf,0x2ccb9b14,0x52324aa6,0x1f9c1cad,0x7247df54,0x63200526,0xbac96f82,0x5732fe42,0x01a1c384,0x52fe771f
-.long 0xb1001684,0x546ca13d,0xa1709f75,0xb56b4eee,0xd5db8672,0x266545a9,0x1e8f3cfb,0xed971c90,0xe3a07b29,0x4e7d8691,0xe4b696b9,0x7570d9ec,0x7bc7e9ae,0xdc5fa067,0xc82c4844,0x68b44caf
-.long 0xbf44da80,0x519d34b3,0x5ab32e66,0x283834f9,0x6278a000,0x6e608797,0x627312f6,0x1e62960e,0xe6901c55,0x9b87b27b,0x24fdbc1f,0x80e78538,0x2facc27d,0xbbbc0951,0xac143b5a,0x06394239
-.long 0x376c1944,0x35bb4a40,0x63da1511,0x7cb62694,0xb7148a3b,0xafd29161,0x4e2ea2ee,0xa6f9d9ed,0x880dd212,0x15dc2ca2,0xa61139a9,0x903c3813,0x6c0f8785,0x2aa7b46d,0x901c60ff,0x36ce2871
-.long 0xe10d9c12,0xc683b028,0x032f33d3,0x7573baa2,0x67a31b58,0x87a9b1f6,0xf4ffae12,0xfd3ed11a,0x0cb2748e,0x83dcaa9a,0x5d6fdf16,0x8239f018,0x72753941,0xba67b49c,0xc321cb36,0x2beec455
-.long 0x3f8b84ce,0x88015606,0x8d38c86f,0x76417083,0x598953dd,0x054f1ca7,0x4e8e7429,0xc939e110,0x5a914f2f,0x9b1ac2b3,0xe74b8f9c,0x39e35ed3,0x781b2fb0,0xd0debdb2,0x2d997ba2,0x1585638f
-.long 0x9e2fce99,0x9c4b646e,0x1e80857f,0x68a21081,0x3643b52a,0x06d54e44,0x0d8eb843,0xde8d6d63,0x42146a0a,0x70321563,0x5eaa3622,0x8ba826f2,0x86138787,0x227a58bd,0x10281d37,0x43b6c03c
-.long 0xb54dde39,0x6326afbb,0xdb6f2d5f,0x744e5e8a,0xcff158e1,0x48b2a99a,0xef87918f,0xa93c8fa0,0xde058c5c,0x2182f956,0x936f9e7a,0x216235d2,0xd2e31e67,0xace0c0db,0xf23ac3e7,0xc96449bf
-.long 0x170693bd,0x7e9a2874,0xa45e6335,0xa28e14fd,0x56427344,0x5757f6b3,0xacf8edf9,0x822e4556,0xe6a285cd,0x2b7a6ee2,0xa9df3af0,0x5866f211,0xf845b844,0x40dde2dd,0x110e5e49,0x986c3726
-.long 0xf7172277,0x73680c2a,0x0cccb244,0x57b94f0f,0x2d438ca7,0xbdff7267,0xcf4663fd,0xbad1ce11,0xd8f71cae,0x9813ed9d,0x961fdaa6,0xf43272a6,0xbd6d1637,0xbeff0119,0x30361978,0xfebc4f91
-.long 0x2f41deff,0x02b37a95,0xe63b89b7,0x0e44a59a,0x143ff951,0x673257dc,0xd752baf4,0x19c02205,0xc4b7d692,0x46c23069,0xfd1502ac,0x2e6392c3,0x1b220846,0x6057b1a2,0x0c1b5b63,0xe51ff946
-.long 0x566c5c43,0x6e85cb51,0x3597f046,0xcff9c919,0x4994d94a,0x9354e90c,0x2147927d,0xe0a39332,0x0dc1eb2b,0x8427fac1,0x2ff319fa,0x88cfd8c2,0x01965274,0xe2d4e684,0x67aaa746,0xfa2e067d
-.long 0x3e5f9f11,0xb6d92a7f,0xd6cb3b8e,0x9afe153a,0xddf800bd,0x4d1a6dd7,0xcaf17e19,0xf6c13cc0,0x325fc3ee,0x15f6c58e,0xa31dc3b2,0x71095400,0xafa3d3e7,0x168e7c07,0x94c7ae2d,0x3f8417a1
-.long 0x813b230d,0xec234772,0x17344427,0x634d0f5f,0xd77fc56a,0x11548ab1,0xce06af77,0x7fab1750,0x4f7c4f83,0xb62c10a7,0x220a67d9,0xa7d2edc4,0x921209a0,0x1c404170,0xface59f0,0x0b9815a0
-.long 0x319540c3,0x2842589b,0xa283d6f8,0x18490f59,0xdaae9fcb,0xa2731f84,0xc3683ba0,0x3db6d960,0x14611069,0xc85c63bb,0x0788bf05,0xb19436af,0x347460d2,0x905459df,0xe11a7db1,0x73f6e094
-.long 0xb6357f37,0xdc7f938e,0x2bd8aa62,0xc5d00f79,0x2ca979fc,0xc878dcb9,0xeb023a99,0x37e83ed9,0x1560bf3d,0x6b23e273,0x1d0fae61,0x1086e459,0x9a9414bd,0x78248316,0xf0ea9ea1,0x1b956bc0
-.long 0xc31b9c38,0x7b85bb91,0x48ef57b5,0x0c5aa90b,0xaf3bab6f,0xdedeb169,0x2d373685,0xe610ad73,0x02ba8e15,0xf13870df,0x8ca7f771,0x0337edb6,0xb62c036c,0xe4acf747,0xb6b94e81,0xd921d576
-.long 0x2c422f7a,0xdbc86439,0xed348898,0xfb635362,0xc45bfcd1,0x83084668,0x2b315e11,0xc357c9e3,0x5b2e5b8c,0xb173b540,0xe102b9a4,0x7e946931,0x7b0fb199,0x17c890eb,0xd61b662b,0xec225a83
-.long 0xee3c76cb,0xf306a3c8,0xd32a1f6e,0x3cf11623,0x6863e956,0xe6d5ab64,0x5c005c26,0x3b8a4cbe,0x9ce6bb27,0xdcd529a5,0x04d4b16f,0xc4afaa52,0x7923798d,0xb0624a26,0x6b307fab,0x85e56df6
-.long 0x2bf29698,0x0281893c,0xd7ce7603,0x91fc19a4,0xad9a558f,0x75a5dca3,0x4d50bf77,0x40ceb3fa,0xbc9ba369,0x1baf6060,0x597888c2,0x927e1037,0x86a34c07,0xd936bf19,0xc34ae980,0xd4cf10c1
-.long 0x859dd614,0x3a3e5334,0x18d0c8ee,0x9c475b5b,0x07cd51d5,0x63080d1f,0xb88b4326,0xc9c0d0a6,0xc234296f,0x1ac98691,0x94887fb6,0x2a0a83a4,0x0cea9cf2,0x56511427,0xa24802f5,0x5230a6e8
-.long 0x72e3d5c1,0xf7a2bf0f,0x4f21439e,0x37717446,0x9ce30334,0xfedcbf25,0x7ce202f9,0xe0030a78,0x1202e9ca,0x6f2d9ebf,0x75e6e591,0xe79dde6c,0xf1dac4f8,0xf52072af,0xbb9b404d,0x6c8d087e
-.long 0xbce913af,0xad0fc73d,0x458a07cb,0x909e587b,0xd4f00c8a,0x1300da84,0xb54466ac,0x425cd048,0x90e9d8bf,0xb59cb9be,0x3e431b0e,0x991616db,0x531aecff,0xd3aa117a,0x59f4dc3b,0x91af92d3
-.long 0xe93fda29,0x9b1ec292,0xe97d91bc,0x76bb6c17,0xaface1e6,0x7509d95f,0xbe855ae3,0x3653fe47,0x0f680e75,0x73180b28,0xeeb6c26c,0x75eefd1b,0xb66d4236,0xa4cdf29f,0x6b5821d8,0x2d70a997
-.long 0x20445c36,0x7a3ee207,0x59877174,0x71d1ac82,0x949f73e9,0x0fc539f7,0x982e3081,0xd05cf3d7,0x7b1c7129,0x8758e20b,0x569e61f2,0xffadcc20,0x59544c2d,0xb05d3a2f,0x9fff5e53,0xbe16f5c1
-.long 0xaad58135,0x73cf65b8,0x037aa5be,0x622c2119,0x646fd6a0,0x79373b3f,0x0d3978cf,0x0e029db5,0x94fba037,0x8bdfc437,0x620797a6,0xaefbd687,0xbd30d38e,0x3fa5382b,0x585d7464,0x7627cfbf
-.long 0x4e4ca463,0xb2330fef,0x3566cc63,0xbcef7287,0xcf780900,0xd161d2ca,0x5b54827d,0x135dc539,0x27bf1bc6,0x638f052e,0x07dfa06c,0x10a224f0,0x6d3321da,0xe973586d,0x26152c8f,0x8b0c5738
-.long 0x34606074,0x07ef4f2a,0xa0f7047a,0x80fe7fe8,0xe1a0e306,0x3d1a8152,0x88da5222,0x32cf43d8,0x5f02ffe6,0xbf89a95f,0x806ad3ea,0x3d9eb9a4,0x79c8e55e,0x012c17bb,0x99c81dac,0xfdcd1a74
-.long 0xb9556098,0x7043178b,0x801c3886,0x4090a1df,0x9b67b912,0x759800ff,0x232620c8,0x3e5c0304,0x70dceeca,0x4b9d3c4b,0x181f648e,0xbb2d3c15,0x6e33345c,0xf981d837,0x0cf2297a,0xb626289b
-.long 0x8baebdcf,0x766ac659,0x75df01e5,0x1a28ae09,0x375876d8,0xb71283da,0x607b9800,0x4865a96d,0x237936b2,0x25dd1bcd,0x60417494,0x332f4f4b,0x370a2147,0xd0923d68,0xdc842203,0x497f5dfb
-.long 0x32be5e0f,0x9dc74cbd,0x17a01375,0x7475bcb7,0x50d872b1,0x438477c9,0xffe1d63d,0xcec67879,0xd8578c70,0x9b006014,0x78bb6b8b,0xc9ad99a8,0x11fb3806,0x6799008e,0xcd44cab3,0xcfe81435
-.long 0x2f4fb344,0xa2ee1582,0x483fa6eb,0xb8823450,0x652c7749,0x622d323d,0xbeb0a15b,0xd8474a98,0x5d1c00d0,0xe43c154d,0x0e3e7aac,0x7fd581d9,0x2525ddf8,0x2b44c619,0xb8ae9739,0x67a033eb
-.long 0x9ef2d2e4,0x113ffec1,0xd5a0ea7f,0x1bf6767e,0x03714c0a,0x57fff75e,0x0a23e9ee,0xa23c422e,0x540f83af,0xdd5f6b2d,0x55ea46a7,0xc2c2c27e,0x672a1208,0xeb6b4246,0xae634f7a,0xd13599f7
-.long 0xd7b32c6e,0xcf914b5c,0xeaf61814,0x61a5a640,0x208a1bbb,0x8dc3df8b,0xb6d79aa5,0xef627fd6,0xc4c86bc8,0x44232ffc,0x061539fe,0xe6f9231b,0x958b9533,0x1d04f25a,0x49e8c885,0x180cf934
-.long 0x9884aaf7,0x89689595,0x07b348a6,0xb1959be3,0x3c147c87,0x96250e57,0xdd0c61f8,0xae0efb3a,0xca8c325e,0xed00745e,0xecff3f70,0x3c911696,0x319ad41d,0x73acbc65,0xf0b1c7ef,0x7b01a020
-.long 0x63a1483f,0xea32b293,0x7a248f96,0x89eabe71,0x343157e5,0x9c6231d3,0xdf3c546d,0x93a375e5,0x6a2afe69,0xe76e9343,0xe166c88e,0xc4f89100,0x4f872093,0x248efd0d,0x8fe0ea61,0xae0eb3ea
-.long 0x9d79046e,0xaf89790d,0x6cee0976,0x4d650f2d,0x43071eca,0xa3935d9a,0x283b0bfe,0x66fcd2c9,0x696605f1,0x0e665eb5,0xa54cd38d,0xe77e5d07,0x43d950cf,0x90ee050a,0xd32e69b5,0x86ddebda
-.long 0xfddf7415,0x6ad94a3d,0x3f6e8d5a,0xf7fa1309,0xe9957f75,0xc4831d1d,0xd5817447,0x7de28501,0x9e2aeb6b,0x6f1d7078,0xf67a53c2,0xba2b9ff4,0xdf9defc3,0x36963767,0x0d38022c,0x479deed3
-.long 0x3a8631e8,0xd2edb89b,0x7a213746,0x8de855de,0xb00c5f11,0xb2056cb7,0x2c9b85e4,0xdeaefbd0,0xd150892d,0x03f39a8d,0x218b7985,0x37b84686,0xb7375f1a,0x36296dd8,0xb78e898e,0x472cd4b1
-.long 0xe9f05de9,0x15dff651,0x2ce98ba9,0xd4045069,0x9b38024c,0x8466a7ae,0xe5a6b5ef,0xb910e700,0xb3aa8f0d,0xae1c56ea,0x7eee74a6,0xbab2a507,0x4b4c4620,0x0dca11e2,0x4c47d1f4,0xfd896e2e
-.long 0x308fbd93,0xeb45ae53,0x02c36fda,0x46cd5a2e,0xbaa48385,0x6a3d4e90,0x9dbe9960,0xdd55e62e,0x2a81ede7,0xa1406aa0,0xf9274ea7,0x6860dd14,0x80414f86,0xcfdcb0c2,0x22f94327,0xff410b10
-.long 0x49ad467b,0x5a33cc38,0x0a7335f1,0xefb48b6c,0xb153a360,0x14fb54a4,0xb52469cc,0x604aa9d2,0x754e48e9,0x5e9dc486,0x37471e8e,0x693cb455,0x8d3b37b6,0xfb2fd7cd,0xcf09ff07,0x63345e16
-.long 0x23a5d896,0x9910ba6b,0x7fe4364e,0x1fe19e35,0x9a33c677,0x6e1da8c3,0x29fd9fd0,0x15b4488b,0x1a1f22bf,0x1f439254,0xab8163e8,0x920a8a70,0x07e5658e,0x3fd1b249,0xb6ec839b,0xf2c4f79c
-.long 0x4aa38d1b,0x1abbc3d0,0xb5d9510e,0x3b0db35c,0x3e60dec0,0x1754ac78,0xea099b33,0x53272fd7,0x07a8e107,0x5fb0494f,0x6a8191fa,0x4a89e137,0x3c4ad544,0xa113b7f6,0x6cb9897b,0x88a2e909
-.long 0xb44a3f84,0x17d55de3,0x17c6c690,0xacb2f344,0x10232390,0x32088168,0x6c733bf7,0xf2e8a61f,0x9c2d7652,0xa774aab6,0xed95c5bc,0xfb5307e3,0x4981f110,0xa05c73c2,0xa39458c9,0x1baae31c
-.long 0xcbea62e7,0x1def185b,0xeaf63059,0xe8ac9eae,0x9921851c,0x098a8cfd,0x3abe2f5b,0xd959c3f1,0x20e40ae5,0xa4f19525,0x07a24aa1,0x320789e3,0x7392b2bc,0x259e6927,0x1918668b,0x58f6c667
-.long 0xc55d2d8b,0xce1db2bb,0xf4f6ca56,0x41d58bb7,0x8f877614,0x7650b680,0xf4c349ed,0x905e16ba,0xf661acac,0xed415140,0xcb2270af,0x3b8784f0,0x8a402cba,0x3bc280ac,0x0937921a,0xd53f7146
-.long 0xe5681e83,0xc03c8ee5,0xf6ac9e4a,0x62126105,0x936b1a38,0x9503a53f,0x782fecbd,0x3d45e2d4,0x76e8ae98,0x69a5c439,0xbfb4b00e,0xb53b2eeb,0x72386c89,0xf1674712,0x4268bce4,0x30ca34a2
-.long 0x78341730,0x7f1ed86c,0xb525e248,0x8ef5beb8,0xb74fbf38,0xbbc489fd,0x91a0b382,0x38a92a0e,0x22433ccf,0x7a77ba3f,0xa29f05a9,0xde8362d6,0x61189afc,0x7f6a30ea,0x59ef114f,0x693b5505
-.long 0xcd1797a1,0x50266bc0,0xf4b7af2d,0xea17b47e,0x3df9483e,0xd6c4025c,0xa37b18c9,0x8cbb9d9f,0x4d8424cf,0x91cbfd9c,0xab1c3506,0xdb7048f1,0x028206a3,0x9eaf641f,0x25bdf6ce,0xf986f3f9
-.long 0x224c08dc,0x262143b5,0x81b50c91,0x2bbb09b4,0xaca8c84f,0xc16ed709,0xb2850ca8,0xa6210d9d,0x09cb54d6,0x6d8df67a,0x500919a4,0x91eef6e0,0x0f132857,0x90f61381,0xf8d5028b,0x9acede47
-.long 0x90b771c3,0x844d1b71,0xba6426be,0x563b71e4,0xbdb802ff,0x2efa2e83,0xab5b4a41,0x3410cbab,0x30da84dd,0x555b2d26,0xee1cc29a,0xd0711ae9,0x2f547792,0xcf3e8c60,0xdc678b35,0x03d7d5de
-.long 0xced806b8,0x071a2fa8,0x697f1478,0x222e6134,0xabfcdbbf,0xdc16fd5d,0x121b53b8,0x44912ebf,0x2496c27c,0xac943674,0x1ffc26b0,0x8ea3176c,0x13debf2c,0xb6e224ac,0xf372a832,0x524cc235
-.long 0x9f6f1b18,0xd706e1d8,0x44cce35b,0x2552f005,0xa88e31fc,0x8c8326c2,0xf9552047,0xb5468b2c,0x3ff90f2b,0xce683e88,0x2f0a5423,0x77947bdf,0xed56e328,0xd0a1b28b,0xc20134ac,0xaee35253
-.long 0x3567962f,0x7e98367d,0x8188bffb,0x379ed61f,0xfaf130a1,0x73bba348,0x904ed734,0x6c1f75e1,0x3b4a79fc,0x18956642,0x54ef4493,0xf20bc83d,0x9111eca1,0x836d425d,0x009a8dcf,0xe5b5c318
-.long 0x13221bc5,0x3360b25d,0x6b3eeaf7,0x707baad2,0x743a95a1,0xd7279ed8,0x969e809f,0x7450a875,0xe5d0338f,0x32b6bd53,0x2b883bbc,0x1e77f7af,0x1063ecd0,0x90da12cc,0xc315be47,0xe2697b58
-.long 0xda85d534,0x2771a5bd,0xff980eea,0x53e78c1f,0x900385e7,0xadf1cf84,0xc9387b62,0x7d3b14f6,0xcb8f2bd2,0x170e74b0,0x827fa993,0x2d50b486,0xf6f32bab,0xcdbe8c9a,0xc3b93ab8,0x55e906b0
-.long 0x8fe280d1,0x747f22fc,0xb2e114ab,0xcd8e0de5,0xe10b68b0,0x5ab7dbeb,0xa480d4b2,0x9dc63a9c,0x4be1495f,0x78d4bc3b,0x9359122d,0x25eb3db8,0x0809cbdc,0x3f8ac05b,0xd37c702f,0xbf4187bb
-.long 0x1416a6a5,0x84cea069,0x43ef881c,0x8f860c79,0x38038a5d,0x41311f8a,0xfc612067,0xe78c2ec0,0x5ad73581,0x494d2e81,0x59604097,0xb4cc9e00,0xf3612cba,0xff558aec,0x9e36c39e,0x35beef7a
-.long 0xdbcf41b9,0x1845c7cf,0xaea997c0,0x5703662a,0xe402f6d8,0x8b925afe,0x4dd72162,0xd0a1b1ae,0x03c41c4b,0x9f47b375,0x0391d042,0xa023829b,0x503b8b0a,0x5f5045c3,0x98c010e5,0x123c2688
-.long 0x36ba06ee,0x324ec0cc,0x3dd2cc0c,0xface3115,0xf333e91f,0xb364f3be,0x28e832b0,0xef8aff73,0x2d05841b,0x1e9bad04,0x356a21e2,0x42f0e3df,0x4add627e,0xa3270bcb,0xd322e711,0xb09a8158
-.long 0x0fee104a,0x86e326a1,0x3703f65d,0xad7788f8,0x47bc4833,0x7e765430,0x2b9b893a,0x6cee582b,0xe8f55a7b,0x9cd2a167,0xd9e4190d,0xefbee3c6,0xd40c2e9d,0x33ee7185,0xa380b548,0x844cc9c5
-.long 0x66926e04,0x323f8ecd,0x8110c1ba,0x0001e38f,0xfc6a7f07,0x8dbcac12,0x0cec0827,0xd65e1d58,0xbe76ca2d,0xd2cd4141,0xe892f33a,0x7895cf5c,0x367139d2,0x956d230d,0xd012c4c1,0xa91abd3e
-.long 0x87eb36bf,0x34fa4883,0x914b8fb4,0xc5f07102,0xadb9c95f,0x90f0e579,0x28888195,0xfe6ea8cb,0xedfa9284,0x7b9b5065,0x2b8c8d65,0x6c510bd2,0xcbe8aafd,0xd7b8ebef,0x96b1da07,0xedb3af98
-.long 0x6295d426,0x28ff779d,0x3fa3ad7b,0x0c4f6ac7,0x8b8e2604,0xec44d054,0x8b0050e1,0x9b32a66d,0xf0476ce2,0x1f943366,0xa602c7b4,0x7554d953,0x524f2809,0xbe35aca6,0xfd4edbea,0xb6881229
-.long 0x508efb63,0xe8cd0c8f,0x6abcefc7,0x9eb5b5c8,0xb441ab4f,0xf5621f5f,0xb76a2b22,0x79e6c046,0xe37a1f69,0x74a4792c,0x03542b60,0xcbd252cb,0xb3c20bd3,0x785f65d5,0x4fabc60c,0x8dea6143
-.long 0xde673629,0x45e21446,0x703c2d21,0x57f7aa1e,0x98c868c7,0xa0e99b7f,0x8b641676,0x4e42f66d,0x91077896,0x602884dc,0xc2c9885b,0xa0d690cf,0x3b9a5187,0xfeb4da33,0x153c87ee,0x5f789598
-.long 0x52b16dba,0x2192dd47,0x3524c1b1,0xdeefc0e6,0xe4383693,0x465ea76e,0x361b8d98,0x79401711,0xf21a15cb,0xa5f9ace9,0xefee9aeb,0x73d26163,0xe677016c,0xcca844b3,0x57eaee06,0x6c122b07
-.long 0x15f09690,0xb782dce7,0x2dfc0fc9,0x508b9b12,0x65d89fc6,0x9015ab4b,0xd6d5bb0f,0x5e79dab7,0x6c775aa2,0x64f021f0,0x37c7eca1,0xdf09d8cc,0xef2fa506,0x9a761367,0x5b81eec6,0xed4ca476
-.long 0x10bbb8b5,0x262ede36,0x0641ada3,0x0737ce83,0xe9831ccc,0x4c94288a,0x8065e635,0x487fc1ce,0xb8bb3659,0xb13d7ab3,0x855e4120,0xdea5df3e,0x85eb0244,0xb9a18573,0xa7cfe0a3,0x1a1b8ea3
-.long 0x67b0867c,0x3b837119,0x9d364520,0x8d5e0d08,0xd930f0e3,0x52dccc1e,0xbf20bbaf,0xefbbcec7,0x0263ad10,0x99cffcab,0xfcd18f8a,0xd8199e6d,0xe9f10617,0x64e2773f,0x08704848,0x0079e8e1
-.long 0x8a342283,0x1169989f,0xa83012e6,0x8097799c,0x8a6a9001,0xece966cb,0x072ac7fc,0x93b3afef,0x2db3d5ba,0xe6893a2a,0x89bf4fdc,0x263dc462,0xe0396673,0x8852dfc9,0x3af362b6,0x7ac70895
-.long 0x5c2f342b,0xbb9cce4d,0xb52d7aae,0xbf80907a,0x2161bcd0,0x97f3d3cd,0x0962744d,0xb25b0834,0x6c3a1dda,0xc5b18ea5,0x06c92317,0xfe4ec7eb,0xad1c4afe,0xb787b890,0x0ede801a,0xdccd9a92
-.long 0xdb58da1f,0x9ac6ddda,0xb8cae6ee,0x22bbc12f,0x815c4a43,0xc6f8bced,0xf96480c7,0x8105a92c,0x7a859d51,0x0dc3dbf3,0x3041196b,0xe3ec7ce6,0x0d1067c9,0xd9f64b25,0x3d1f8dd8,0xf2321321
-.long 0x76497ee8,0x8b5c619c,0xc717370e,0x5d2b0ac6,0x4fcf68e1,0x98204cb6,0x62bc6792,0x0bdec211,0xa63b1011,0x6973ccef,0xe0de1ac5,0xf9e3fa97,0x3d0e0c8b,0x5efb693e,0xd2d4fcb4,0x037248e9
-.long 0x1ec34f9e,0x80802dc9,0x33810603,0xd8772d35,0x530cb4f3,0x3f06d66c,0xc475c129,0x7be5ed0d,0x31e82b10,0xcb9e3c19,0xc9ff6b4c,0xc63d2857,0x92a1b45e,0xb92118c6,0x7285bbca,0x0aec4414
-.long 0x1e29a3ef,0xfc189ae7,0x4c93302e,0xcbe906f0,0xceaae10e,0xd0107914,0xb68e19f8,0xb7a23f34,0xefd2119d,0xe9d875c2,0xfcadc9c8,0x03198c6e,0x4da17113,0x65591bf6,0x3d443038,0x3cf0bbf8
-.long 0x2b724759,0xae485bb7,0xb2d4c63a,0x945353e1,0xde7d6f2c,0x82159d07,0x4ec5b109,0x389caef3,0xdb65ef14,0x4a8ebb53,0xdd99de43,0x2dc2cb7e,0x83f2405f,0x816fa3ed,0xc14208a3,0x73429bb9
-.long 0xb01e6e27,0xb618d590,0xe180b2dc,0x047e2ccd,0x04aea4a9,0xd1b299b5,0x9fa403a4,0x412c9e1e,0x79407552,0x88d28a36,0xf332b8e3,0x49c50136,0xe668de19,0x3a1b6fcc,0x75122b97,0x178851bc
-.long 0xfb85fa4c,0xb1e13752,0x383c8ce9,0xd61257ce,0xd2f74dae,0xd43da670,0xbf846bbb,0xa35aa23f,0x4421fc83,0x5e74235d,0xc363473b,0xf6df8ee0,0x3c4aa158,0x34d7f52a,0x9bc6d22e,0x50d05aab
-.long 0xa64785f4,0x8c56e735,0x5f29cd07,0xbc56637b,0x3ee35067,0x53b2bb80,0xdc919270,0x50235a0f,0xf2c4aa65,0x191ab6d8,0x8396023b,0xc3475831,0xf0f805ba,0x80400ba5,0x5ec0f80f,0x8881065b
-.long 0xcc1b5e83,0xc370e522,0x860b8bfb,0xde2d4ad1,0x67b256df,0xad364df0,0xe0138997,0x8f12502e,0x7783920a,0x503fa0dc,0xc0bc866a,0xe80014ad,0xd3064ba6,0x3f89b744,0xcba5dba5,0x03511dcd
-.long 0x95a7b1a2,0x197dd46d,0x3c6341fb,0x9c4e7ad6,0x484c2ece,0x426eca29,0xde7f4f8a,0x9211e489,0xc78ef1f4,0x14997f6e,0x06574586,0x2b2c0910,0x1c3eede8,0x17286a6e,0x0f60e018,0x25f92e47
-.long 0x31890a36,0x805c5646,0x57feea5b,0x703ef600,0xaf3c3030,0x389f747c,0x54dd3739,0xe0e5daeb,0xc9c9f155,0xfe24a4c3,0xb5393962,0x7e4bf176,0xaf20bf29,0x37183de2,0xf95a8c3b,0x4a1bd7b5
-.long 0x46191d3d,0xa83b9699,0x7b87f257,0x281fc8dd,0x54107588,0xb18e2c13,0x9b2bafe8,0x6372def7,0x0d8972ca,0xdaf4bb48,0x56167a3f,0x3f2dd4b7,0x84310cf4,0x1eace32d,0xe42700aa,0xe3bcefaf
-.long 0xd785e73d,0x5fe5691e,0x2ea60467,0xa5db5ab6,0xdfc6514a,0x02e23d41,0xe03c3665,0x35e8048e,0x1adaa0f8,0x3f8b118f,0x84ce1a5a,0x28ec3b45,0x2c6646b8,0xe8cacc6e,0xdbd0e40f,0x1343d185
-.long 0xcaaa358c,0xe5d7f844,0x9924182a,0x1a1db7e4,0x9c875d9a,0xd64cd42d,0x042eeec8,0xb37b515f,0x7b165fbe,0x4d4dd409,0xe206eff3,0xfc322ed9,0x59b7e17e,0x7dee4102,0x8236ca00,0x55a481c0
-.long 0xc23fc975,0x8c885312,0x05d6297b,0x15715806,0xf78edd39,0xa078868e,0x03c45e52,0x956b31e0,0xff7b33a6,0x470275d5,0x0c7e673f,0xc8d5dc3a,0x7e2f2598,0x419227b4,0x4c14a975,0x8b37b634
-.long 0x8b11888c,0xd0667ed6,0x803e25dc,0x5e0e8c3e,0xb987a24a,0x34e5d0dc,0xae920323,0x9f40ac3b,0x34e0f63a,0x5463de95,0x6b6328f9,0xa128bf92,0xda64f1b7,0x491ccd7c,0xc47bde35,0x7ef1ec27
-.long 0xa36a2737,0xa857240f,0x63621bc1,0x35dc1366,0xd4fb6897,0x7a3a6453,0xc929319d,0x80f1a439,0xf8cb0ba0,0xfc18274b,0x8078c5eb,0xb0b53766,0x1e01d0ef,0xfb0d4924,0x372ab09c,0x50d7c67d
-.long 0x3aeac968,0xb4e370af,0xc4b63266,0xe4f7fee9,0xe3ac5664,0xb4acd4c2,0xceb38cbf,0xf8910bd2,0xc9c0726e,0x1c3ae50c,0xd97b40bf,0x15309569,0xfd5a5a1b,0x70884b7f,0xef8314cd,0x3890896a
-.long 0xa5618c93,0x58e1515c,0x77d942d1,0xe665432b,0xb6f767a8,0xb32181bf,0x3a604110,0x753794e8,0xe8c0dbcc,0x09afeb7c,0x598673a3,0x31e02613,0x7d46db00,0x5d98e557,0x9d985b28,0xfc21fb8c
-.long 0xb0843e0b,0xc9040116,0x69b04531,0x53b1b3a8,0x85d7d830,0xdd1649f0,0xcb7427e8,0xbb3bcc87,0xc93dce83,0x77261100,0xa1922a2a,0x7e79da61,0xf3149ce8,0x587a2b02,0xde92ec83,0x147e1384
-.long 0xaf077f30,0x484c83d3,0x0658b53a,0xea78f844,0x027aec53,0x912076c2,0x93c8177d,0xf34714e3,0xc2376c84,0x37ef5d15,0x3d1aa783,0x8315b659,0xef852a90,0x3a75c484,0x16086bd4,0x0ba0c58a
-.long 0x529a6d48,0x29688d7a,0xc2f19203,0x9c7f250d,0x682e2df9,0x123042fb,0xad8121bc,0x2b7587e7,0xe0182a65,0x30fc0233,0xe3e1128a,0xb82ecf87,0x93fb098f,0x71682861,0x85e9e6a7,0x043e21ae
-.long 0x66c834ea,0xab5b49d6,0x47414287,0x3be43e18,0x219a2a47,0xf40fb859,0xcc58df3c,0x0e6559e9,0x0c6615b4,0xfe1dfe8e,0x56459d70,0x14abc8fd,0x05de0386,0x7be0fa8e,0xe9035c7c,0x8e63ef68
-.long 0x53b31e91,0x116401b4,0x4436b4d8,0x0cba7ad4,0x107afd66,0x9151f9a0,0x1f0ee4c4,0xafaca8d0,0x9ee9761c,0x75fe5c1d,0xf0c0588f,0x3497a16b,0x0304804c,0x3ee2bebd,0xc2c990b9,0xa8fb9a60
-.long 0x39251114,0xd14d32fe,0xcac73366,0x36bf25bc,0xdba7495c,0xc9562c66,0x46ad348b,0x324d301b,0xd670407e,0x9f46620c,0xe3733a01,0x0ea8d4f1,0xb0c324e0,0xd396d532,0x03c317cd,0x5b211a0e
-.long 0x5ffe7b37,0x090d7d20,0x1747d2da,0x3b7f3efb,0xb54fc519,0xa2cb525f,0xf66a971e,0x6e220932,0xb486d440,0xddc160df,0x3fe13465,0x7fcfec46,0x76e4c151,0x83da7e4e,0xd8d302b5,0xd6fa48a1
-.long 0x5872cd88,0xc6304f26,0x278b90a1,0x806c1d3c,0xcaf0bc1c,0x3553e725,0xbb9d8d5c,0xff59e603,0x7a0b85dd,0xa4550f32,0x93ecc217,0xdec5720a,0x69d62213,0x0b88b741,0x5b365955,0x7212f245
-.long 0xb5cae787,0x20764111,0x1dfd3124,0x13cb7f58,0x1175aefb,0x2dca77da,0xffaae775,0xeb75466b,0xdb6cff32,0x74d76f3b,0x61fcda9a,0x7440f37a,0xb525028b,0x1bb3ac92,0xa1975f29,0x20fbf8f7
-.long 0xdf83097f,0x982692e1,0x554b0800,0x28738f6c,0xa2ce2f2f,0xdc703717,0x40814194,0x7913b93c,0x1fe89636,0x04924593,0xf78834a6,0x7b98443f,0x5114a5a1,0x11c6ab01,0xffba5f4c,0x60deb383
-.long 0x01a982e6,0x4caa54c6,0x3491cd26,0x1dd35e11,0x7cbd6b05,0x973c315f,0x52494724,0xcab00775,0x6565e15a,0x04659b1f,0x8c8fb026,0xbf30f529,0xa8a0de37,0xfc21641b,0xfa5e5114,0xe9c7a366
-.long 0x52f03ad8,0xdb849ca5,0x024e35c0,0xc7e8dbe9,0xcfc3c789,0xa1a2bbac,0x9c26f262,0xbf733e7d,0xb8444823,0x882ffbf5,0x6bf8483b,0xb7224e88,0x65bef640,0x53023b8b,0xd4d5f8cd,0xaabfec91
-.long 0x079ea1bd,0xa40e1510,0xd05d5d26,0x1ad9addc,0x13e68d4f,0xdb3f2eab,0x640f803f,0x1cff1ae2,0xd4cee117,0xe0e7b749,0x4036d909,0x8e9f275b,0x8f4d4c38,0xce34e31d,0xd75130fc,0x22b37f69
-.long 0xb4014604,0x83e0f1fd,0x89415078,0xa8ce9919,0x41792efe,0x82375b75,0x97d4515b,0x4f59bf5c,0x923a277d,0xac4f324f,0x650f3406,0xd9bc9b7d,0x8a39bc51,0xc6fa87d1,0x5ccc108f,0x82588530
-.long 0x82e4c634,0x5ced3c9f,0x3a4464f8,0x8efb8314,0x7a1dca25,0xe706381b,0x5a2a412b,0x6cd15a3c,0xbfcd8fb5,0x9347a8fd,0x6e54cd22,0x31db2eef,0xf8d8932f,0xc4aeb11e,0x344411af,0x11e7c1ed
-.long 0xdc9a151e,0x2653050c,0x3bb0a859,0x9edbfc08,0xfd5691e7,0x926c81c7,0x6f39019a,0x9c1b2342,0x7f8474b9,0x64a81c8b,0x01761819,0x90657c07,0x55e0375a,0x390b3331,0xb6ebc47d,0xc676c626
-.long 0xb7d6dee8,0x51623247,0x79659313,0x0948d927,0xe9ab35ed,0x99700161,0x8ddde408,0x06cc32b4,0x061ef338,0x6f2fd664,0xc202e9ed,0x1606fa02,0x929ba99b,0x55388bc1,0x1e81df69,0xc4428c5e
-.long 0xf91b0b2a,0xce2028ae,0xf03dfd3f,0xce870a23,0x0affe8ed,0x66ec2c87,0x284d0c00,0xb205fb46,0x44cefa48,0xbf5dffe7,0xa19876d7,0xb6fc37a8,0x08b72863,0xbecfa84c,0x2576374f,0xd7205ff5
-.long 0x8887de41,0x80330d32,0x869ea534,0x5de0df0c,0x3c56ea17,0x13f42753,0x452b1a78,0xeb1f6069,0xe30ea15c,0x50474396,0xc1494125,0x575816a1,0xfe6bb38f,0xbe1ce55b,0x96ae30f7,0xb901a948
-.long 0xd8fc3548,0xe5af0f08,0xd73bfd08,0x5010b5d0,0x53fe655a,0x993d2880,0x1c1309fd,0x99f2630b,0xb4e3b76f,0xd8677baf,0xb840784b,0x14e51ddc,0xbf0092ce,0x326c750c,0xf528320f,0xc83d306b
-.long 0x77d4715c,0xc4456715,0x6b703235,0xd30019f9,0xd669e986,0x207ccb2e,0xf6dbfc28,0x57c824af,0xd8f92a23,0xf0eb532f,0x9bb98fd2,0x4a557fd4,0xc1e6199a,0xa57acea7,0x8b94b1ed,0x0c663820
-.long 0xf83a9266,0x9b42be8f,0x0101bd45,0xc7741c97,0x07bd9ceb,0x95770c11,0x8b2e0744,0x1f50250a,0x1477b654,0xf762eec8,0x15efe59a,0xc65b900e,0x9546a897,0x88c96148,0xc30b4d7c,0x7e8025b3
-.long 0x12045cf9,0xae4065ef,0x9ccce8bd,0x6fcb2caf,0xf2cf6525,0x1fa0ba4e,0xcb72c312,0xf683125d,0xe312410e,0xa01da4ea,0x6cd8e830,0x67e28677,0x98fb3f07,0xabd95752,0xeef649a5,0x05f11e11
-.long 0x9d3472c2,0xba47faef,0xc77d1345,0x3adff697,0xdd15afee,0x4761fa04,0xb9e69462,0x64f1f61a,0x9bfb9093,0xfa691fab,0xa1133dfe,0x3df8ae8f,0x58cc710d,0xcd5f8967,0x16c7fe79,0xfbb88d50
-.long 0xe88c50d1,0x8e011b4c,0xa8771c4f,0x7532e807,0xe2278ee4,0x64c78a48,0x3845072a,0x0b283e83,0x49e69274,0x98a6f291,0x1868b21c,0xb96e9668,0xb1a8908e,0x38f0adc2,0x1feb829d,0x90afcff7
-.long 0x210b0856,0x9915a383,0xdef04889,0xa5a80602,0x7c64d509,0x800e9af9,0xb8996f6f,0x81382d0b,0x81927e27,0x490eba53,0x4af50182,0x46c63b32,0xd3ad62ce,0x784c5fd9,0xf8ae8736,0xe4fa1870
-.long 0xd7466b25,0x4ec9d0bc,0xdb235c65,0x84ddbe1a,0x163c1688,0x5e2645ee,0x00eba747,0x570bd00e,0x128bfa0f,0xfa51b629,0x6c1d3b68,0x92fce1bd,0xb66778b1,0x3e7361dc,0x5561d2bb,0x9c7d249d
-.long 0x0bbc6229,0xa40b28bf,0xdfd91497,0x1c83c05e,0xf083df05,0x5f9f5154,0xeee66c9d,0xbac38b3c,0xec0dfcfd,0xf71db7e3,0x8b0a8416,0xf2ecda8e,0x7812aa66,0x52fddd86,0x4e6f4272,0x2896ef10
-.long 0x0fe9a745,0xff27186a,0x49ca70db,0x08249fcd,0x441cac49,0x7425a2e6,0xece5ff57,0xf4a0885a,0x7d7ead58,0x6e2cb731,0x1898d104,0xf96cf7d6,0x4f2c9a89,0xafe67c9d,0x1c7bf5bc,0x89895a50
-.long 0x573cecfa,0xdc7cb8e5,0xd15f03e6,0x66497eae,0x3f084420,0x6bc0de69,0xacd532b0,0x323b9b36,0x0115a3c1,0xcfed390a,0x2d65ca0e,0x9414c40b,0x2f530c78,0x641406bd,0x833438f2,0x29369a44
-.long 0x903fa271,0x996884f5,0xb9da921e,0xe6da0fd2,0x5db01e54,0xa6f2f269,0x6876214e,0x1ee3e9bd,0xe27a9497,0xa26e181c,0x8e215e04,0x36d254e4,0x252cabca,0x42f32a6c,0x80b57614,0x99481487
-.long 0x40d9cae1,0x4c4dfe69,0x11a10f09,0x05869580,0x3491b64b,0xca287b57,0x3fd4a53b,0x77862d5d,0x50349126,0xbf94856e,0x71c5268f,0x2be30bd1,0xcbb650a6,0x10393f19,0x778cf9fd,0x639531fe
-.long 0xb2935359,0x02556a11,0xaf8c126e,0xda38aa96,0x0960167f,0x47dbe6c2,0x501901cd,0x37bbabb6,0x2c947778,0xb6e979e0,0x7a1a1dc6,0xd69a5175,0x9d9faf0c,0xc3ed5095,0x1d5fa5f0,0x4dd9c096
-.long 0x64f16ea8,0xa0c4304d,0x7e718623,0x8b1cac16,0x7c67f03e,0x0b576546,0xcbd88c01,0x559cf5ad,0x0e2af19a,0x074877bb,0xa1228c92,0x1f717ec1,0x326e8920,0x70bcb800,0x4f312804,0xec6e2c5c
-.long 0x3fca4752,0x426aea7d,0x2211f62a,0xf12c0949,0x7be7b6b5,0x24beecd8,0x36d7a27d,0xb77eaf4c,0xfda78fd3,0x154c2781,0x264eeabe,0x848a83b0,0x4ffe2bc4,0x81287ef0,0xb6b6fc2a,0x7b6d88c6
-.long 0xce417d99,0x805fb947,0x8b916cc4,0x4b93dcc3,0x21273323,0x72e65bb3,0x6ea9886e,0xbcc1badd,0x4bc5ee85,0x0e223011,0xc18ee1e4,0xa561be74,0xa6bcf1f1,0x762fd2d4,0x95231489,0x50e6a5a4
-.long 0xa00b500b,0xca96001f,0x5d7dcdf5,0x5c098cfc,0x8c446a85,0xa64e2d2e,0x971f3c62,0xbae9bcf1,0x8435a2c5,0x4ec22683,0x4bad4643,0x8ceaed6c,0xccccf4e3,0xe9f8fb47,0x1ce3b21e,0xbd4f3fa4
-.long 0xa3db3292,0xd79fb110,0xb536c66a,0xe28a37da,0x8e49e6a9,0x279ce87b,0xfdcec8e3,0x70ccfe8d,0x3ba464b2,0x2193e4e0,0xaca9a398,0x0f39d60e,0xf82c12ab,0x7d7932af,0x91e7e0f7,0xd8ff50ed
-.long 0xfa28a7e0,0xea961058,0x0bf5ec74,0xc726cf25,0xdb229666,0xe74d55c8,0xa57f5799,0x0bd9abbf,0x4dfc47b3,0x7479ef07,0x0c52f91d,0xd9c65fc3,0x36a8bde2,0x8e0283fe,0x7d4b7280,0xa32a8b5e
-.long 0x12e83233,0x6a677c61,0xdcc9bf28,0x0fbb3512,0x0d780f61,0x562e8ea5,0x1dc4e89c,0x0db8b22b,0x89be0144,0x0a6fd1fb,0xca57113b,0x8c77d246,0xff09c91c,0x4639075d,0x5060824c,0x5b47b17f
-.long 0x16287b52,0x58aea2b0,0xd0cd8eb0,0xa1343520,0xc5d58573,0x6148b4d0,0x291c68ae,0xdd2b6170,0x1da3b3b7,0xa61b3929,0x08c4ac10,0x5f946d79,0x7217d583,0x4105d4a5,0x25e6de5e,0x5061da3d
-.long 0xec1b4991,0x3113940d,0x36f485ae,0xf12195e1,0x731a2ee0,0xa7507fb2,0x6e9e196e,0x95057a8e,0x2e130136,0xa3c2c911,0x33c60d15,0x97dfbb36,0xb300ee2b,0xcaf3c581,0xf4bac8b8,0x77f25d90
-.long 0x6d840cd6,0xdb1c4f98,0xe634288c,0x471d62c0,0xcec8a161,0x8ec2f85e,0xfa6f4ae2,0x41f37cbc,0x4b709985,0x6793a20f,0xefa8985b,0x7a7bd33b,0x938e6446,0x2c6a3fbd,0x2a8d47c1,0x19042619
-.long 0xcc36975f,0x16848667,0x9d5f1dfb,0x02acf168,0x613baa94,0x62d41ad4,0x9f684670,0xb56fbb92,0xe9e40569,0xce610d0d,0x35489fef,0x7b99c65f,0x3df18b97,0x0c88ad1b,0x5d0e9edb,0x81b7d9be
-.long 0xc716cc0a,0xd85218c0,0x85691c49,0xf4b5ff90,0xce356ac6,0xa4fd666b,0x4b327a7a,0x17c72895,0xda6be7de,0xf93d5085,0x3301d34e,0xff71530e,0xd8f448e8,0x4cd96442,0x2ed18ffa,0x9283d331
-.long 0x2a849870,0x4d33dd99,0x41576335,0xa716964b,0x179be0e5,0xff5e3a9b,0x83b13632,0x5b9d6b1b,0xa52f313b,0x3b8bd7d4,0x637a4660,0xc9dd95a0,0x0b3e218f,0x30035962,0xc7b28a3c,0xce1481a3
-.long 0x43228d83,0xab41b43a,0x4ad63f99,0x24ae1c30,0x46a51229,0x8e525f1a,0xcd26d2b4,0x14af860f,0x3f714aa1,0xd6baef61,0xeb78795e,0xf51865ad,0xe6a9d694,0xd3e21fce,0x8a37b527,0x82ceb1dd
-.size ecp_nistz256_precomputed,.-ecp_nistz256_precomputed
-.text
-
-
-
-.align 64
-.Lpoly:
-.quad 0xffffffffffffffff, 0x00000000ffffffff, 0x0000000000000000, 0xffffffff00000001
-
-
-.LRR:
-.quad 0x0000000000000003, 0xfffffffbffffffff, 0xfffffffffffffffe, 0x00000004fffffffd
-
-.LOne:
-.long 1,1,1,1,1,1,1,1
-.LTwo:
-.long 2,2,2,2,2,2,2,2
-.LThree:
-.long 3,3,3,3,3,3,3,3
-.LONE_mont:
-.quad 0x0000000000000001, 0xffffffff00000000, 0xffffffffffffffff, 0x00000000fffffffe
-
-.globl ecp_nistz256_mul_by_2
-.type ecp_nistz256_mul_by_2,@function
-.align 64
-ecp_nistz256_mul_by_2:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lmul_by_2_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- addq %r8,%r8
- movq 16(%rsi),%r10
- adcq %r9,%r9
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
- movq %r8,%rax
- adcq %r10,%r10
- adcq %r11,%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq 0(%rsi),%r8
- movq %r10,%rcx
- sbbq 8(%rsi),%r9
- sbbq 16(%rsi),%r10
- movq %r11,%r12
- sbbq 24(%rsi),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- movq %r8,0(%rdi)
- cmovcq %rcx,%r10
- movq %r9,8(%rdi)
- cmovcq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lmul_by_2_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_mul_by_2,.-ecp_nistz256_mul_by_2
-
-
-
-.globl ecp_nistz256_div_by_2
-.type ecp_nistz256_div_by_2,@function
-.align 32
-ecp_nistz256_div_by_2:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Ldiv_by_2_body:
-
- movq 0(%rsi),%r8
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq %r8,%rax
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
-
- movq %r9,%rdx
- xorq %r13,%r13
- addq 0(%rsi),%r8
- movq %r10,%rcx
- adcq 8(%rsi),%r9
- adcq 16(%rsi),%r10
- movq %r11,%r12
- adcq 24(%rsi),%r11
- adcq $0,%r13
- xorq %rsi,%rsi
- testq $1,%rax
-
- cmovzq %rax,%r8
- cmovzq %rdx,%r9
- cmovzq %rcx,%r10
- cmovzq %r12,%r11
- cmovzq %rsi,%r13
-
- movq %r9,%rax
- shrq $1,%r8
- shlq $63,%rax
- movq %r10,%rdx
- shrq $1,%r9
- orq %rax,%r8
- shlq $63,%rdx
- movq %r11,%rcx
- shrq $1,%r10
- orq %rdx,%r9
- shlq $63,%rcx
- shrq $1,%r11
- shlq $63,%r13
- orq %rcx,%r10
- orq %r13,%r11
-
- movq %r8,0(%rdi)
- movq %r9,8(%rdi)
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Ldiv_by_2_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_div_by_2,.-ecp_nistz256_div_by_2
-
-
-
-.globl ecp_nistz256_mul_by_3
-.type ecp_nistz256_mul_by_3,@function
-.align 32
-ecp_nistz256_mul_by_3:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lmul_by_3_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- addq %r8,%r8
- movq 16(%rsi),%r10
- adcq %r9,%r9
- movq 24(%rsi),%r11
- movq %r8,%rax
- adcq %r10,%r10
- adcq %r11,%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq $-1,%r8
- movq %r10,%rcx
- sbbq .Lpoly+8(%rip),%r9
- sbbq $0,%r10
- movq %r11,%r12
- sbbq .Lpoly+24(%rip),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- cmovcq %rcx,%r10
- cmovcq %r12,%r11
-
- xorq %r13,%r13
- addq 0(%rsi),%r8
- adcq 8(%rsi),%r9
- movq %r8,%rax
- adcq 16(%rsi),%r10
- adcq 24(%rsi),%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq $-1,%r8
- movq %r10,%rcx
- sbbq .Lpoly+8(%rip),%r9
- sbbq $0,%r10
- movq %r11,%r12
- sbbq .Lpoly+24(%rip),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- movq %r8,0(%rdi)
- cmovcq %rcx,%r10
- movq %r9,8(%rdi)
- cmovcq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lmul_by_3_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_mul_by_3,.-ecp_nistz256_mul_by_3
-
-
-
-.globl ecp_nistz256_add
-.type ecp_nistz256_add,@function
-.align 32
-ecp_nistz256_add:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Ladd_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
-
- addq 0(%rdx),%r8
- adcq 8(%rdx),%r9
- movq %r8,%rax
- adcq 16(%rdx),%r10
- adcq 24(%rdx),%r11
- movq %r9,%rdx
- adcq $0,%r13
-
- subq 0(%rsi),%r8
- movq %r10,%rcx
- sbbq 8(%rsi),%r9
- sbbq 16(%rsi),%r10
- movq %r11,%r12
- sbbq 24(%rsi),%r11
- sbbq $0,%r13
-
- cmovcq %rax,%r8
- cmovcq %rdx,%r9
- movq %r8,0(%rdi)
- cmovcq %rcx,%r10
- movq %r9,8(%rdi)
- cmovcq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Ladd_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_add,.-ecp_nistz256_add
-
-
-
-.globl ecp_nistz256_sub
-.type ecp_nistz256_sub,@function
-.align 32
-ecp_nistz256_sub:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lsub_body:
-
- movq 0(%rsi),%r8
- xorq %r13,%r13
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
-
- subq 0(%rdx),%r8
- sbbq 8(%rdx),%r9
- movq %r8,%rax
- sbbq 16(%rdx),%r10
- sbbq 24(%rdx),%r11
- movq %r9,%rdx
- sbbq $0,%r13
-
- addq 0(%rsi),%r8
- movq %r10,%rcx
- adcq 8(%rsi),%r9
- adcq 16(%rsi),%r10
- movq %r11,%r12
- adcq 24(%rsi),%r11
- testq %r13,%r13
-
- cmovzq %rax,%r8
- cmovzq %rdx,%r9
- movq %r8,0(%rdi)
- cmovzq %rcx,%r10
- movq %r9,8(%rdi)
- cmovzq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lsub_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_sub,.-ecp_nistz256_sub
-
-
-
-.globl ecp_nistz256_neg
-.type ecp_nistz256_neg,@function
-.align 32
-ecp_nistz256_neg:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lneg_body:
-
- xorq %r8,%r8
- xorq %r9,%r9
- xorq %r10,%r10
- xorq %r11,%r11
- xorq %r13,%r13
-
- subq 0(%rsi),%r8
- sbbq 8(%rsi),%r9
- sbbq 16(%rsi),%r10
- movq %r8,%rax
- sbbq 24(%rsi),%r11
- leaq .Lpoly(%rip),%rsi
- movq %r9,%rdx
- sbbq $0,%r13
-
- addq 0(%rsi),%r8
- movq %r10,%rcx
- adcq 8(%rsi),%r9
- adcq 16(%rsi),%r10
- movq %r11,%r12
- adcq 24(%rsi),%r11
- testq %r13,%r13
-
- cmovzq %rax,%r8
- cmovzq %rdx,%r9
- movq %r8,0(%rdi)
- cmovzq %rcx,%r10
- movq %r9,8(%rdi)
- cmovzq %r12,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lneg_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_neg,.-ecp_nistz256_neg
-
-
-
-
-.globl ecp_nistz256_to_mont
-.type ecp_nistz256_to_mont,@function
-.align 32
-ecp_nistz256_to_mont:
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- leaq .LRR(%rip),%rdx
- jmp .Lmul_mont
-.size ecp_nistz256_to_mont,.-ecp_nistz256_to_mont
-
-
-
-
-
-
-
-.globl ecp_nistz256_mul_mont
-.type ecp_nistz256_mul_mont,@function
-.align 32
-ecp_nistz256_mul_mont:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
-.Lmul_mont:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
-.Lmul_body:
- cmpl $0x80100,%ecx
- je .Lmul_montx
- movq %rdx,%rbx
- movq 0(%rdx),%rax
- movq 0(%rsi),%r9
- movq 8(%rsi),%r10
- movq 16(%rsi),%r11
- movq 24(%rsi),%r12
-
- call __ecp_nistz256_mul_montq
- jmp .Lmul_mont_done
-
-.align 32
-.Lmul_montx:
- movq %rdx,%rbx
- movq 0(%rdx),%rdx
- movq 0(%rsi),%r9
- movq 8(%rsi),%r10
- movq 16(%rsi),%r11
- movq 24(%rsi),%r12
- leaq -128(%rsi),%rsi
-
- call __ecp_nistz256_mul_montx
-.Lmul_mont_done:
- movq 0(%rsp),%r15
-.cfi_restore %r15
- movq 8(%rsp),%r14
-.cfi_restore %r14
- movq 16(%rsp),%r13
-.cfi_restore %r13
- movq 24(%rsp),%r12
-.cfi_restore %r12
- movq 32(%rsp),%rbx
-.cfi_restore %rbx
- movq 40(%rsp),%rbp
-.cfi_restore %rbp
- leaq 48(%rsp),%rsp
-.cfi_adjust_cfa_offset -48
-.Lmul_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_mul_mont,.-ecp_nistz256_mul_mont
-
-.type __ecp_nistz256_mul_montq,@function
-.align 32
-__ecp_nistz256_mul_montq:
-
-
- movq %rax,%rbp
- mulq %r9
- movq .Lpoly+8(%rip),%r14
- movq %rax,%r8
- movq %rbp,%rax
- movq %rdx,%r9
-
- mulq %r10
- movq .Lpoly+24(%rip),%r15
- addq %rax,%r9
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%r10
-
- mulq %r11
- addq %rax,%r10
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%r11
-
- mulq %r12
- addq %rax,%r11
- movq %r8,%rax
- adcq $0,%rdx
- xorq %r13,%r13
- movq %rdx,%r12
-
-
-
-
-
-
-
-
-
-
- movq %r8,%rbp
- shlq $32,%r8
- mulq %r15
- shrq $32,%rbp
- addq %r8,%r9
- adcq %rbp,%r10
- adcq %rax,%r11
- movq 8(%rbx),%rax
- adcq %rdx,%r12
- adcq $0,%r13
- xorq %r8,%r8
-
-
-
- movq %rax,%rbp
- mulq 0(%rsi)
- addq %rax,%r9
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 8(%rsi)
- addq %rcx,%r10
- adcq $0,%rdx
- addq %rax,%r10
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 16(%rsi)
- addq %rcx,%r11
- adcq $0,%rdx
- addq %rax,%r11
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 24(%rsi)
- addq %rcx,%r12
- adcq $0,%rdx
- addq %rax,%r12
- movq %r9,%rax
- adcq %rdx,%r13
- adcq $0,%r8
-
-
-
- movq %r9,%rbp
- shlq $32,%r9
- mulq %r15
- shrq $32,%rbp
- addq %r9,%r10
- adcq %rbp,%r11
- adcq %rax,%r12
- movq 16(%rbx),%rax
- adcq %rdx,%r13
- adcq $0,%r8
- xorq %r9,%r9
-
-
-
- movq %rax,%rbp
- mulq 0(%rsi)
- addq %rax,%r10
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 8(%rsi)
- addq %rcx,%r11
- adcq $0,%rdx
- addq %rax,%r11
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 16(%rsi)
- addq %rcx,%r12
- adcq $0,%rdx
- addq %rax,%r12
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 24(%rsi)
- addq %rcx,%r13
- adcq $0,%rdx
- addq %rax,%r13
- movq %r10,%rax
- adcq %rdx,%r8
- adcq $0,%r9
-
-
-
- movq %r10,%rbp
- shlq $32,%r10
- mulq %r15
- shrq $32,%rbp
- addq %r10,%r11
- adcq %rbp,%r12
- adcq %rax,%r13
- movq 24(%rbx),%rax
- adcq %rdx,%r8
- adcq $0,%r9
- xorq %r10,%r10
-
-
-
- movq %rax,%rbp
- mulq 0(%rsi)
- addq %rax,%r11
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 8(%rsi)
- addq %rcx,%r12
- adcq $0,%rdx
- addq %rax,%r12
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 16(%rsi)
- addq %rcx,%r13
- adcq $0,%rdx
- addq %rax,%r13
- movq %rbp,%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq 24(%rsi)
- addq %rcx,%r8
- adcq $0,%rdx
- addq %rax,%r8
- movq %r11,%rax
- adcq %rdx,%r9
- adcq $0,%r10
-
-
-
- movq %r11,%rbp
- shlq $32,%r11
- mulq %r15
- shrq $32,%rbp
- addq %r11,%r12
- adcq %rbp,%r13
- movq %r12,%rcx
- adcq %rax,%r8
- adcq %rdx,%r9
- movq %r13,%rbp
- adcq $0,%r10
-
-
-
- subq $-1,%r12
- movq %r8,%rbx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%rdx
- sbbq %r15,%r9
- sbbq $0,%r10
-
- cmovcq %rcx,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rbx,%r8
- movq %r13,8(%rdi)
- cmovcq %rdx,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_montq,.-__ecp_nistz256_mul_montq
-
-
-
-
-
-
-
-
-.globl ecp_nistz256_sqr_mont
-.type ecp_nistz256_sqr_mont,@function
-.align 32
-ecp_nistz256_sqr_mont:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
-.Lsqr_body:
- cmpl $0x80100,%ecx
- je .Lsqr_montx
- movq 0(%rsi),%rax
- movq 8(%rsi),%r14
- movq 16(%rsi),%r15
- movq 24(%rsi),%r8
-
- call __ecp_nistz256_sqr_montq
- jmp .Lsqr_mont_done
-
-.align 32
-.Lsqr_montx:
- movq 0(%rsi),%rdx
- movq 8(%rsi),%r14
- movq 16(%rsi),%r15
- movq 24(%rsi),%r8
- leaq -128(%rsi),%rsi
-
- call __ecp_nistz256_sqr_montx
-.Lsqr_mont_done:
- movq 0(%rsp),%r15
-.cfi_restore %r15
- movq 8(%rsp),%r14
-.cfi_restore %r14
- movq 16(%rsp),%r13
-.cfi_restore %r13
- movq 24(%rsp),%r12
-.cfi_restore %r12
- movq 32(%rsp),%rbx
-.cfi_restore %rbx
- movq 40(%rsp),%rbp
-.cfi_restore %rbp
- leaq 48(%rsp),%rsp
-.cfi_adjust_cfa_offset -48
-.Lsqr_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_sqr_mont,.-ecp_nistz256_sqr_mont
-
-.type __ecp_nistz256_sqr_montq,@function
-.align 32
-__ecp_nistz256_sqr_montq:
- movq %rax,%r13
- mulq %r14
- movq %rax,%r9
- movq %r15,%rax
- movq %rdx,%r10
-
- mulq %r13
- addq %rax,%r10
- movq %r8,%rax
- adcq $0,%rdx
- movq %rdx,%r11
-
- mulq %r13
- addq %rax,%r11
- movq %r15,%rax
- adcq $0,%rdx
- movq %rdx,%r12
-
-
- mulq %r14
- addq %rax,%r11
- movq %r8,%rax
- adcq $0,%rdx
- movq %rdx,%rbp
-
- mulq %r14
- addq %rax,%r12
- movq %r8,%rax
- adcq $0,%rdx
- addq %rbp,%r12
- movq %rdx,%r13
- adcq $0,%r13
-
-
- mulq %r15
- xorq %r15,%r15
- addq %rax,%r13
- movq 0(%rsi),%rax
- movq %rdx,%r14
- adcq $0,%r14
-
- addq %r9,%r9
- adcq %r10,%r10
- adcq %r11,%r11
- adcq %r12,%r12
- adcq %r13,%r13
- adcq %r14,%r14
- adcq $0,%r15
-
- mulq %rax
- movq %rax,%r8
- movq 8(%rsi),%rax
- movq %rdx,%rcx
-
- mulq %rax
- addq %rcx,%r9
- adcq %rax,%r10
- movq 16(%rsi),%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq %rax
- addq %rcx,%r11
- adcq %rax,%r12
- movq 24(%rsi),%rax
- adcq $0,%rdx
- movq %rdx,%rcx
-
- mulq %rax
- addq %rcx,%r13
- adcq %rax,%r14
- movq %r8,%rax
- adcq %rdx,%r15
-
- movq .Lpoly+8(%rip),%rsi
- movq .Lpoly+24(%rip),%rbp
-
-
-
-
- movq %r8,%rcx
- shlq $32,%r8
- mulq %rbp
- shrq $32,%rcx
- addq %r8,%r9
- adcq %rcx,%r10
- adcq %rax,%r11
- movq %r9,%rax
- adcq $0,%rdx
-
-
-
- movq %r9,%rcx
- shlq $32,%r9
- movq %rdx,%r8
- mulq %rbp
- shrq $32,%rcx
- addq %r9,%r10
- adcq %rcx,%r11
- adcq %rax,%r8
- movq %r10,%rax
- adcq $0,%rdx
-
-
-
- movq %r10,%rcx
- shlq $32,%r10
- movq %rdx,%r9
- mulq %rbp
- shrq $32,%rcx
- addq %r10,%r11
- adcq %rcx,%r8
- adcq %rax,%r9
- movq %r11,%rax
- adcq $0,%rdx
-
-
-
- movq %r11,%rcx
- shlq $32,%r11
- movq %rdx,%r10
- mulq %rbp
- shrq $32,%rcx
- addq %r11,%r8
- adcq %rcx,%r9
- adcq %rax,%r10
- adcq $0,%rdx
- xorq %r11,%r11
-
-
-
- addq %r8,%r12
- adcq %r9,%r13
- movq %r12,%r8
- adcq %r10,%r14
- adcq %rdx,%r15
- movq %r13,%r9
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r14,%r10
- sbbq %rsi,%r13
- sbbq $0,%r14
- movq %r15,%rcx
- sbbq %rbp,%r15
- sbbq $0,%r11
-
- cmovcq %r8,%r12
- cmovcq %r9,%r13
- movq %r12,0(%rdi)
- cmovcq %r10,%r14
- movq %r13,8(%rdi)
- cmovcq %rcx,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sqr_montq,.-__ecp_nistz256_sqr_montq
-.type __ecp_nistz256_mul_montx,@function
-.align 32
-__ecp_nistz256_mul_montx:
-
-
- mulxq %r9,%r8,%r9
- mulxq %r10,%rcx,%r10
- movq $32,%r14
- xorq %r13,%r13
- mulxq %r11,%rbp,%r11
- movq .Lpoly+24(%rip),%r15
- adcq %rcx,%r9
- mulxq %r12,%rcx,%r12
- movq %r8,%rdx
- adcq %rbp,%r10
- shlxq %r14,%r8,%rbp
- adcq %rcx,%r11
- shrxq %r14,%r8,%rcx
- adcq $0,%r12
-
-
-
- addq %rbp,%r9
- adcq %rcx,%r10
-
- mulxq %r15,%rcx,%rbp
- movq 8(%rbx),%rdx
- adcq %rcx,%r11
- adcq %rbp,%r12
- adcq $0,%r13
- xorq %r8,%r8
-
-
-
- mulxq 0+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r9
- adoxq %rbp,%r10
-
- mulxq 8+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r10
- adoxq %rbp,%r11
-
- mulxq 16+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq 24+128(%rsi),%rcx,%rbp
- movq %r9,%rdx
- adcxq %rcx,%r12
- shlxq %r14,%r9,%rcx
- adoxq %rbp,%r13
- shrxq %r14,%r9,%rbp
-
- adcxq %r8,%r13
- adoxq %r8,%r8
- adcq $0,%r8
-
-
-
- addq %rcx,%r10
- adcq %rbp,%r11
-
- mulxq %r15,%rcx,%rbp
- movq 16(%rbx),%rdx
- adcq %rcx,%r12
- adcq %rbp,%r13
- adcq $0,%r8
- xorq %r9,%r9
-
-
-
- mulxq 0+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r10
- adoxq %rbp,%r11
-
- mulxq 8+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq 16+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r12
- adoxq %rbp,%r13
-
- mulxq 24+128(%rsi),%rcx,%rbp
- movq %r10,%rdx
- adcxq %rcx,%r13
- shlxq %r14,%r10,%rcx
- adoxq %rbp,%r8
- shrxq %r14,%r10,%rbp
-
- adcxq %r9,%r8
- adoxq %r9,%r9
- adcq $0,%r9
-
-
-
- addq %rcx,%r11
- adcq %rbp,%r12
-
- mulxq %r15,%rcx,%rbp
- movq 24(%rbx),%rdx
- adcq %rcx,%r13
- adcq %rbp,%r8
- adcq $0,%r9
- xorq %r10,%r10
-
-
-
- mulxq 0+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq 8+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r12
- adoxq %rbp,%r13
-
- mulxq 16+128(%rsi),%rcx,%rbp
- adcxq %rcx,%r13
- adoxq %rbp,%r8
-
- mulxq 24+128(%rsi),%rcx,%rbp
- movq %r11,%rdx
- adcxq %rcx,%r8
- shlxq %r14,%r11,%rcx
- adoxq %rbp,%r9
- shrxq %r14,%r11,%rbp
-
- adcxq %r10,%r9
- adoxq %r10,%r10
- adcq $0,%r10
-
-
-
- addq %rcx,%r12
- adcq %rbp,%r13
-
- mulxq %r15,%rcx,%rbp
- movq %r12,%rbx
- movq .Lpoly+8(%rip),%r14
- adcq %rcx,%r8
- movq %r13,%rdx
- adcq %rbp,%r9
- adcq $0,%r10
-
-
-
- xorl %eax,%eax
- movq %r8,%rcx
- sbbq $-1,%r12
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%rbp
- sbbq %r15,%r9
- sbbq $0,%r10
-
- cmovcq %rbx,%r12
- cmovcq %rdx,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %rbp,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_montx,.-__ecp_nistz256_mul_montx
-
-.type __ecp_nistz256_sqr_montx,@function
-.align 32
-__ecp_nistz256_sqr_montx:
- mulxq %r14,%r9,%r10
- mulxq %r15,%rcx,%r11
- xorl %eax,%eax
- adcq %rcx,%r10
- mulxq %r8,%rbp,%r12
- movq %r14,%rdx
- adcq %rbp,%r11
- adcq $0,%r12
- xorq %r13,%r13
-
-
- mulxq %r15,%rcx,%rbp
- adcxq %rcx,%r11
- adoxq %rbp,%r12
-
- mulxq %r8,%rcx,%rbp
- movq %r15,%rdx
- adcxq %rcx,%r12
- adoxq %rbp,%r13
- adcq $0,%r13
-
-
- mulxq %r8,%rcx,%r14
- movq 0+128(%rsi),%rdx
- xorq %r15,%r15
- adcxq %r9,%r9
- adoxq %rcx,%r13
- adcxq %r10,%r10
- adoxq %r15,%r14
-
- mulxq %rdx,%r8,%rbp
- movq 8+128(%rsi),%rdx
- adcxq %r11,%r11
- adoxq %rbp,%r9
- adcxq %r12,%r12
- mulxq %rdx,%rcx,%rax
- movq 16+128(%rsi),%rdx
- adcxq %r13,%r13
- adoxq %rcx,%r10
- adcxq %r14,%r14
-.byte 0x67
- mulxq %rdx,%rcx,%rbp
- movq 24+128(%rsi),%rdx
- adoxq %rax,%r11
- adcxq %r15,%r15
- adoxq %rcx,%r12
- movq $32,%rsi
- adoxq %rbp,%r13
-.byte 0x67,0x67
- mulxq %rdx,%rcx,%rax
- movq .Lpoly+24(%rip),%rdx
- adoxq %rcx,%r14
- shlxq %rsi,%r8,%rcx
- adoxq %rax,%r15
- shrxq %rsi,%r8,%rax
- movq %rdx,%rbp
-
-
- addq %rcx,%r9
- adcq %rax,%r10
-
- mulxq %r8,%rcx,%r8
- adcq %rcx,%r11
- shlxq %rsi,%r9,%rcx
- adcq $0,%r8
- shrxq %rsi,%r9,%rax
-
-
- addq %rcx,%r10
- adcq %rax,%r11
-
- mulxq %r9,%rcx,%r9
- adcq %rcx,%r8
- shlxq %rsi,%r10,%rcx
- adcq $0,%r9
- shrxq %rsi,%r10,%rax
-
-
- addq %rcx,%r11
- adcq %rax,%r8
-
- mulxq %r10,%rcx,%r10
- adcq %rcx,%r9
- shlxq %rsi,%r11,%rcx
- adcq $0,%r10
- shrxq %rsi,%r11,%rax
-
-
- addq %rcx,%r8
- adcq %rax,%r9
-
- mulxq %r11,%rcx,%r11
- adcq %rcx,%r10
- adcq $0,%r11
-
- xorq %rdx,%rdx
- addq %r8,%r12
- movq .Lpoly+8(%rip),%rsi
- adcq %r9,%r13
- movq %r12,%r8
- adcq %r10,%r14
- adcq %r11,%r15
- movq %r13,%r9
- adcq $0,%rdx
-
- subq $-1,%r12
- movq %r14,%r10
- sbbq %rsi,%r13
- sbbq $0,%r14
- movq %r15,%r11
- sbbq %rbp,%r15
- sbbq $0,%rdx
-
- cmovcq %r8,%r12
- cmovcq %r9,%r13
- movq %r12,0(%rdi)
- cmovcq %r10,%r14
- movq %r13,8(%rdi)
- cmovcq %r11,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sqr_montx,.-__ecp_nistz256_sqr_montx
-
-
-
-
-
-
-.globl ecp_nistz256_from_mont
-.type ecp_nistz256_from_mont,@function
-.align 32
-ecp_nistz256_from_mont:
-.cfi_startproc
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-16
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-24
-.Lfrom_body:
-
- movq 0(%rsi),%rax
- movq .Lpoly+24(%rip),%r13
- movq 8(%rsi),%r9
- movq 16(%rsi),%r10
- movq 24(%rsi),%r11
- movq %rax,%r8
- movq .Lpoly+8(%rip),%r12
-
-
-
- movq %rax,%rcx
- shlq $32,%r8
- mulq %r13
- shrq $32,%rcx
- addq %r8,%r9
- adcq %rcx,%r10
- adcq %rax,%r11
- movq %r9,%rax
- adcq $0,%rdx
-
-
-
- movq %r9,%rcx
- shlq $32,%r9
- movq %rdx,%r8
- mulq %r13
- shrq $32,%rcx
- addq %r9,%r10
- adcq %rcx,%r11
- adcq %rax,%r8
- movq %r10,%rax
- adcq $0,%rdx
-
-
-
- movq %r10,%rcx
- shlq $32,%r10
- movq %rdx,%r9
- mulq %r13
- shrq $32,%rcx
- addq %r10,%r11
- adcq %rcx,%r8
- adcq %rax,%r9
- movq %r11,%rax
- adcq $0,%rdx
-
-
-
- movq %r11,%rcx
- shlq $32,%r11
- movq %rdx,%r10
- mulq %r13
- shrq $32,%rcx
- addq %r11,%r8
- adcq %rcx,%r9
- movq %r8,%rcx
- adcq %rax,%r10
- movq %r9,%rsi
- adcq $0,%rdx
-
-
-
- subq $-1,%r8
- movq %r10,%rax
- sbbq %r12,%r9
- sbbq $0,%r10
- movq %rdx,%r11
- sbbq %r13,%rdx
- sbbq %r13,%r13
-
- cmovnzq %rcx,%r8
- cmovnzq %rsi,%r9
- movq %r8,0(%rdi)
- cmovnzq %rax,%r10
- movq %r9,8(%rdi)
- cmovzq %rdx,%r11
- movq %r10,16(%rdi)
- movq %r11,24(%rdi)
-
- movq 0(%rsp),%r13
-.cfi_restore %r13
- movq 8(%rsp),%r12
-.cfi_restore %r12
- leaq 16(%rsp),%rsp
-.cfi_adjust_cfa_offset -16
-.Lfrom_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_from_mont,.-ecp_nistz256_from_mont
-
-
-.globl ecp_nistz256_scatter_w5
-.type ecp_nistz256_scatter_w5,@function
-.align 32
-ecp_nistz256_scatter_w5:
- leal -3(%rdx,%rdx,2),%edx
- movdqa 0(%rsi),%xmm0
- shll $5,%edx
- movdqa 16(%rsi),%xmm1
- movdqa 32(%rsi),%xmm2
- movdqa 48(%rsi),%xmm3
- movdqa 64(%rsi),%xmm4
- movdqa 80(%rsi),%xmm5
- movdqa %xmm0,0(%rdi,%rdx,1)
- movdqa %xmm1,16(%rdi,%rdx,1)
- movdqa %xmm2,32(%rdi,%rdx,1)
- movdqa %xmm3,48(%rdi,%rdx,1)
- movdqa %xmm4,64(%rdi,%rdx,1)
- movdqa %xmm5,80(%rdi,%rdx,1)
-
- .byte 0xf3,0xc3
-.size ecp_nistz256_scatter_w5,.-ecp_nistz256_scatter_w5
-
-
-
-.globl ecp_nistz256_gather_w5
-.type ecp_nistz256_gather_w5,@function
-.align 32
-ecp_nistz256_gather_w5:
- movl OPENSSL_ia32cap_P+8(%rip),%eax
- testl $32,%eax
- jnz .Lavx2_gather_w5
- movdqa .LOne(%rip),%xmm0
- movd %edx,%xmm1
-
- pxor %xmm2,%xmm2
- pxor %xmm3,%xmm3
- pxor %xmm4,%xmm4
- pxor %xmm5,%xmm5
- pxor %xmm6,%xmm6
- pxor %xmm7,%xmm7
-
- movdqa %xmm0,%xmm8
- pshufd $0,%xmm1,%xmm1
-
- movq $16,%rax
-.Lselect_loop_sse_w5:
-
- movdqa %xmm8,%xmm15
- paddd %xmm0,%xmm8
- pcmpeqd %xmm1,%xmm15
-
- movdqa 0(%rsi),%xmm9
- movdqa 16(%rsi),%xmm10
- movdqa 32(%rsi),%xmm11
- movdqa 48(%rsi),%xmm12
- movdqa 64(%rsi),%xmm13
- movdqa 80(%rsi),%xmm14
- leaq 96(%rsi),%rsi
-
- pand %xmm15,%xmm9
- pand %xmm15,%xmm10
- por %xmm9,%xmm2
- pand %xmm15,%xmm11
- por %xmm10,%xmm3
- pand %xmm15,%xmm12
- por %xmm11,%xmm4
- pand %xmm15,%xmm13
- por %xmm12,%xmm5
- pand %xmm15,%xmm14
- por %xmm13,%xmm6
- por %xmm14,%xmm7
-
- decq %rax
- jnz .Lselect_loop_sse_w5
-
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
- movdqu %xmm4,32(%rdi)
- movdqu %xmm5,48(%rdi)
- movdqu %xmm6,64(%rdi)
- movdqu %xmm7,80(%rdi)
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_gather_w5:
-.size ecp_nistz256_gather_w5,.-ecp_nistz256_gather_w5
-
-
-
-.globl ecp_nistz256_scatter_w7
-.type ecp_nistz256_scatter_w7,@function
-.align 32
-ecp_nistz256_scatter_w7:
- movdqu 0(%rsi),%xmm0
- shll $6,%edx
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqa %xmm0,0(%rdi,%rdx,1)
- movdqa %xmm1,16(%rdi,%rdx,1)
- movdqa %xmm2,32(%rdi,%rdx,1)
- movdqa %xmm3,48(%rdi,%rdx,1)
-
- .byte 0xf3,0xc3
-.size ecp_nistz256_scatter_w7,.-ecp_nistz256_scatter_w7
-
-
-
-.globl ecp_nistz256_gather_w7
-.type ecp_nistz256_gather_w7,@function
-.align 32
-ecp_nistz256_gather_w7:
- movl OPENSSL_ia32cap_P+8(%rip),%eax
- testl $32,%eax
- jnz .Lavx2_gather_w7
- movdqa .LOne(%rip),%xmm8
- movd %edx,%xmm1
-
- pxor %xmm2,%xmm2
- pxor %xmm3,%xmm3
- pxor %xmm4,%xmm4
- pxor %xmm5,%xmm5
-
- movdqa %xmm8,%xmm0
- pshufd $0,%xmm1,%xmm1
- movq $64,%rax
-
-.Lselect_loop_sse_w7:
- movdqa %xmm8,%xmm15
- paddd %xmm0,%xmm8
- movdqa 0(%rsi),%xmm9
- movdqa 16(%rsi),%xmm10
- pcmpeqd %xmm1,%xmm15
- movdqa 32(%rsi),%xmm11
- movdqa 48(%rsi),%xmm12
- leaq 64(%rsi),%rsi
-
- pand %xmm15,%xmm9
- pand %xmm15,%xmm10
- por %xmm9,%xmm2
- pand %xmm15,%xmm11
- por %xmm10,%xmm3
- pand %xmm15,%xmm12
- por %xmm11,%xmm4
- prefetcht0 255(%rsi)
- por %xmm12,%xmm5
-
- decq %rax
- jnz .Lselect_loop_sse_w7
-
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
- movdqu %xmm4,32(%rdi)
- movdqu %xmm5,48(%rdi)
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_gather_w7:
-.size ecp_nistz256_gather_w7,.-ecp_nistz256_gather_w7
-
-
-.type ecp_nistz256_avx2_gather_w5,@function
-.align 32
-ecp_nistz256_avx2_gather_w5:
-.Lavx2_gather_w5:
- vzeroupper
- vmovdqa .LTwo(%rip),%ymm0
-
- vpxor %ymm2,%ymm2,%ymm2
- vpxor %ymm3,%ymm3,%ymm3
- vpxor %ymm4,%ymm4,%ymm4
-
- vmovdqa .LOne(%rip),%ymm5
- vmovdqa .LTwo(%rip),%ymm10
-
- vmovd %edx,%xmm1
- vpermd %ymm1,%ymm2,%ymm1
-
- movq $8,%rax
-.Lselect_loop_avx2_w5:
-
- vmovdqa 0(%rsi),%ymm6
- vmovdqa 32(%rsi),%ymm7
- vmovdqa 64(%rsi),%ymm8
-
- vmovdqa 96(%rsi),%ymm11
- vmovdqa 128(%rsi),%ymm12
- vmovdqa 160(%rsi),%ymm13
-
- vpcmpeqd %ymm1,%ymm5,%ymm9
- vpcmpeqd %ymm1,%ymm10,%ymm14
-
- vpaddd %ymm0,%ymm5,%ymm5
- vpaddd %ymm0,%ymm10,%ymm10
- leaq 192(%rsi),%rsi
-
- vpand %ymm9,%ymm6,%ymm6
- vpand %ymm9,%ymm7,%ymm7
- vpand %ymm9,%ymm8,%ymm8
- vpand %ymm14,%ymm11,%ymm11
- vpand %ymm14,%ymm12,%ymm12
- vpand %ymm14,%ymm13,%ymm13
-
- vpxor %ymm6,%ymm2,%ymm2
- vpxor %ymm7,%ymm3,%ymm3
- vpxor %ymm8,%ymm4,%ymm4
- vpxor %ymm11,%ymm2,%ymm2
- vpxor %ymm12,%ymm3,%ymm3
- vpxor %ymm13,%ymm4,%ymm4
-
- decq %rax
- jnz .Lselect_loop_avx2_w5
-
- vmovdqu %ymm2,0(%rdi)
- vmovdqu %ymm3,32(%rdi)
- vmovdqu %ymm4,64(%rdi)
- vzeroupper
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_avx2_gather_w5:
-.size ecp_nistz256_avx2_gather_w5,.-ecp_nistz256_avx2_gather_w5
-
-
-
-.globl ecp_nistz256_avx2_gather_w7
-.type ecp_nistz256_avx2_gather_w7,@function
-.align 32
-ecp_nistz256_avx2_gather_w7:
-.Lavx2_gather_w7:
- vzeroupper
- vmovdqa .LThree(%rip),%ymm0
-
- vpxor %ymm2,%ymm2,%ymm2
- vpxor %ymm3,%ymm3,%ymm3
-
- vmovdqa .LOne(%rip),%ymm4
- vmovdqa .LTwo(%rip),%ymm8
- vmovdqa .LThree(%rip),%ymm12
-
- vmovd %edx,%xmm1
- vpermd %ymm1,%ymm2,%ymm1
-
-
- movq $21,%rax
-.Lselect_loop_avx2_w7:
-
- vmovdqa 0(%rsi),%ymm5
- vmovdqa 32(%rsi),%ymm6
-
- vmovdqa 64(%rsi),%ymm9
- vmovdqa 96(%rsi),%ymm10
-
- vmovdqa 128(%rsi),%ymm13
- vmovdqa 160(%rsi),%ymm14
-
- vpcmpeqd %ymm1,%ymm4,%ymm7
- vpcmpeqd %ymm1,%ymm8,%ymm11
- vpcmpeqd %ymm1,%ymm12,%ymm15
-
- vpaddd %ymm0,%ymm4,%ymm4
- vpaddd %ymm0,%ymm8,%ymm8
- vpaddd %ymm0,%ymm12,%ymm12
- leaq 192(%rsi),%rsi
-
- vpand %ymm7,%ymm5,%ymm5
- vpand %ymm7,%ymm6,%ymm6
- vpand %ymm11,%ymm9,%ymm9
- vpand %ymm11,%ymm10,%ymm10
- vpand %ymm15,%ymm13,%ymm13
- vpand %ymm15,%ymm14,%ymm14
-
- vpxor %ymm5,%ymm2,%ymm2
- vpxor %ymm6,%ymm3,%ymm3
- vpxor %ymm9,%ymm2,%ymm2
- vpxor %ymm10,%ymm3,%ymm3
- vpxor %ymm13,%ymm2,%ymm2
- vpxor %ymm14,%ymm3,%ymm3
-
- decq %rax
- jnz .Lselect_loop_avx2_w7
-
-
- vmovdqa 0(%rsi),%ymm5
- vmovdqa 32(%rsi),%ymm6
-
- vpcmpeqd %ymm1,%ymm4,%ymm7
-
- vpand %ymm7,%ymm5,%ymm5
- vpand %ymm7,%ymm6,%ymm6
-
- vpxor %ymm5,%ymm2,%ymm2
- vpxor %ymm6,%ymm3,%ymm3
-
- vmovdqu %ymm2,0(%rdi)
- vmovdqu %ymm3,32(%rdi)
- vzeroupper
- .byte 0xf3,0xc3
-.LSEH_end_ecp_nistz256_avx2_gather_w7:
-.size ecp_nistz256_avx2_gather_w7,.-ecp_nistz256_avx2_gather_w7
-.type __ecp_nistz256_add_toq,@function
-.align 32
-__ecp_nistz256_add_toq:
- xorq %r11,%r11
- addq 0(%rbx),%r12
- adcq 8(%rbx),%r13
- movq %r12,%rax
- adcq 16(%rbx),%r8
- adcq 24(%rbx),%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_add_toq,.-__ecp_nistz256_add_toq
-
-.type __ecp_nistz256_sub_fromq,@function
-.align 32
-__ecp_nistz256_sub_fromq:
- subq 0(%rbx),%r12
- sbbq 8(%rbx),%r13
- movq %r12,%rax
- sbbq 16(%rbx),%r8
- sbbq 24(%rbx),%r9
- movq %r13,%rbp
- sbbq %r11,%r11
-
- addq $-1,%r12
- movq %r8,%rcx
- adcq %r14,%r13
- adcq $0,%r8
- movq %r9,%r10
- adcq %r15,%r9
- testq %r11,%r11
-
- cmovzq %rax,%r12
- cmovzq %rbp,%r13
- movq %r12,0(%rdi)
- cmovzq %rcx,%r8
- movq %r13,8(%rdi)
- cmovzq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sub_fromq,.-__ecp_nistz256_sub_fromq
-
-.type __ecp_nistz256_subq,@function
-.align 32
-__ecp_nistz256_subq:
- subq %r12,%rax
- sbbq %r13,%rbp
- movq %rax,%r12
- sbbq %r8,%rcx
- sbbq %r9,%r10
- movq %rbp,%r13
- sbbq %r11,%r11
-
- addq $-1,%rax
- movq %rcx,%r8
- adcq %r14,%rbp
- adcq $0,%rcx
- movq %r10,%r9
- adcq %r15,%r10
- testq %r11,%r11
-
- cmovnzq %rax,%r12
- cmovnzq %rbp,%r13
- cmovnzq %rcx,%r8
- cmovnzq %r10,%r9
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_subq,.-__ecp_nistz256_subq
-
-.type __ecp_nistz256_mul_by_2q,@function
-.align 32
-__ecp_nistz256_mul_by_2q:
- xorq %r11,%r11
- addq %r12,%r12
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_by_2q,.-__ecp_nistz256_mul_by_2q
-.globl ecp_nistz256_point_double
-.type ecp_nistz256_point_double,@function
-.align 32
-ecp_nistz256_point_double:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- cmpl $0x80100,%ecx
- je .Lpoint_doublex
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $160+8,%rsp
-.cfi_adjust_cfa_offset 32*5+8
-.Lpoint_doubleq_body:
-
-.Lpoint_double_shortcutq:
- movdqu 0(%rsi),%xmm0
- movq %rsi,%rbx
- movdqu 16(%rsi),%xmm1
- movq 32+0(%rsi),%r12
- movq 32+8(%rsi),%r13
- movq 32+16(%rsi),%r8
- movq 32+24(%rsi),%r9
- movq .Lpoly+8(%rip),%r14
- movq .Lpoly+24(%rip),%r15
- movdqa %xmm0,96(%rsp)
- movdqa %xmm1,96+16(%rsp)
- leaq 32(%rdi),%r10
- leaq 64(%rdi),%r11
-.byte 102,72,15,110,199
-.byte 102,73,15,110,202
-.byte 102,73,15,110,211
-
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_by_2q
-
- movq 64+0(%rsi),%rax
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- leaq 64-0(%rsi),%rsi
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 0+0(%rsp),%rax
- movq 8+0(%rsp),%r14
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 32(%rbx),%rax
- movq 64+0(%rbx),%r9
- movq 64+8(%rbx),%r10
- movq 64+16(%rbx),%r11
- movq 64+24(%rbx),%r12
- leaq 64-0(%rbx),%rsi
- leaq 32(%rbx),%rbx
-.byte 102,72,15,126,215
- call __ecp_nistz256_mul_montq
- call __ecp_nistz256_mul_by_2q
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_toq
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 0+0(%rsp),%rax
- movq 8+0(%rsp),%r14
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
-.byte 102,72,15,126,207
- call __ecp_nistz256_sqr_montq
- xorq %r9,%r9
- movq %r12,%rax
- addq $-1,%r12
- movq %r13,%r10
- adcq %rsi,%r13
- movq %r14,%rcx
- adcq $0,%r14
- movq %r15,%r8
- adcq %rbp,%r15
- adcq $0,%r9
- xorq %rsi,%rsi
- testq $1,%rax
-
- cmovzq %rax,%r12
- cmovzq %r10,%r13
- cmovzq %rcx,%r14
- cmovzq %r8,%r15
- cmovzq %rsi,%r9
-
- movq %r13,%rax
- shrq $1,%r12
- shlq $63,%rax
- movq %r14,%r10
- shrq $1,%r13
- orq %rax,%r12
- shlq $63,%r10
- movq %r15,%rcx
- shrq $1,%r14
- orq %r10,%r13
- shlq $63,%rcx
- movq %r12,0(%rdi)
- shrq $1,%r15
- movq %r13,8(%rdi)
- shlq $63,%r9
- orq %rcx,%r14
- orq %r9,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
- movq 64(%rsp),%rax
- leaq 64(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2q
-
- leaq 32(%rsp),%rbx
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_toq
-
- movq 96(%rsp),%rax
- leaq 96(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2q
-
- movq 0+32(%rsp),%rax
- movq 8+32(%rsp),%r14
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r15
- movq 24+32(%rsp),%r8
-.byte 102,72,15,126,199
- call __ecp_nistz256_sqr_montq
-
- leaq 128(%rsp),%rbx
- movq %r14,%r8
- movq %r15,%r9
- movq %rsi,%r14
- movq %rbp,%r15
- call __ecp_nistz256_sub_fromq
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_subq
-
- movq 32(%rsp),%rax
- leaq 32(%rsp),%rbx
- movq %r12,%r14
- xorl %ecx,%ecx
- movq %r12,0+0(%rsp)
- movq %r13,%r10
- movq %r13,0+8(%rsp)
- cmovzq %r8,%r11
- movq %r8,0+16(%rsp)
- leaq 0-0(%rsp),%rsi
- cmovzq %r9,%r12
- movq %r9,0+24(%rsp)
- movq %r14,%r9
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
-.byte 102,72,15,126,203
-.byte 102,72,15,126,207
- call __ecp_nistz256_sub_fromq
-
- leaq 160+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_doubleq_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_double,.-ecp_nistz256_point_double
-.globl ecp_nistz256_point_add
-.type ecp_nistz256_point_add,@function
-.align 32
-ecp_nistz256_point_add:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- cmpl $0x80100,%ecx
- je .Lpoint_addx
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $576+8,%rsp
-.cfi_adjust_cfa_offset 32*18+8
-.Lpoint_addq_body:
-
- movdqu 0(%rsi),%xmm0
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq %rsi,%rbx
- movq %rdx,%rsi
- movdqa %xmm0,384(%rsp)
- movdqa %xmm1,384+16(%rsp)
- movdqa %xmm2,416(%rsp)
- movdqa %xmm3,416+16(%rsp)
- movdqa %xmm4,448(%rsp)
- movdqa %xmm5,448+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rsi),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rsi),%xmm3
- movq 64+0(%rsi),%rax
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,480(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,480+16(%rsp)
- movdqu 64(%rsi),%xmm0
- movdqu 80(%rsi),%xmm1
- movdqa %xmm2,512(%rsp)
- movdqa %xmm3,512+16(%rsp)
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
-
- leaq 64-0(%rsi),%rsi
- movq %rax,544+0(%rsp)
- movq %r14,544+8(%rsp)
- movq %r15,544+16(%rsp)
- movq %r8,544+24(%rsp)
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm1,%xmm4
- por %xmm1,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
- movq 64+0(%rbx),%rax
- movq 64+8(%rbx),%r14
- movq 64+16(%rbx),%r15
- movq 64+24(%rbx),%r8
-.byte 102,72,15,110,203
-
- leaq 64-0(%rbx),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 544(%rsp),%rax
- leaq 544(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq 0+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 448(%rsp),%rax
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 416(%rsp),%rax
- leaq 416(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq 0+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 512(%rsp),%rax
- leaq 512(%rsp),%rbx
- movq 0+256(%rsp),%r9
- movq 8+256(%rsp),%r10
- leaq 0+256(%rsp),%rsi
- movq 16+256(%rsp),%r11
- movq 24+256(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 224(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- orq %r13,%r12
- movdqa %xmm4,%xmm2
- orq %r8,%r12
- orq %r9,%r12
- por %xmm5,%xmm2
-.byte 102,73,15,110,220
-
- movq 384(%rsp),%rax
- leaq 384(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq 0+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 480(%rsp),%rax
- leaq 480(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 160(%rsp),%rbx
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- orq %r13,%r12
- orq %r8,%r12
- orq %r9,%r12
-
-.byte 0x3e
- jnz .Ladd_proceedq
-.byte 102,73,15,126,208
-.byte 102,73,15,126,217
- testq %r8,%r8
- jnz .Ladd_proceedq
- testq %r9,%r9
- jz .Ladd_doubleq
-
-.byte 102,72,15,126,199
- pxor %xmm0,%xmm0
- movdqu %xmm0,0(%rdi)
- movdqu %xmm0,16(%rdi)
- movdqu %xmm0,32(%rdi)
- movdqu %xmm0,48(%rdi)
- movdqu %xmm0,64(%rdi)
- movdqu %xmm0,80(%rdi)
- jmp .Ladd_doneq
-
-.align 32
-.Ladd_doubleq:
-.byte 102,72,15,126,206
-.byte 102,72,15,126,199
- addq $416,%rsp
- jmp .Lpoint_double_shortcutq
-
-.align 32
-.Ladd_proceedq:
- movq 0+64(%rsp),%rax
- movq 8+64(%rsp),%r14
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 448(%rsp),%rax
- leaq 448(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 0+0(%rsp),%rax
- movq 8+0(%rsp),%r14
- leaq 0+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 544(%rsp),%rax
- leaq 544(%rsp),%rbx
- movq 0+352(%rsp),%r9
- movq 8+352(%rsp),%r10
- leaq 0+352(%rsp),%rsi
- movq 16+352(%rsp),%r11
- movq 24+352(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 0(%rsp),%rax
- leaq 0(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 160(%rsp),%rax
- leaq 160(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 96(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subq
-
- leaq 128(%rsp),%rbx
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 192+0(%rsp),%rax
- movq 192+8(%rsp),%rbp
- movq 192+16(%rsp),%rcx
- movq 192+24(%rsp),%r10
- leaq 320(%rsp),%rdi
-
- call __ecp_nistz256_subq
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 128(%rsp),%rax
- leaq 128(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq 0+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 320(%rsp),%rax
- leaq 320(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 256(%rsp),%rbx
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 352(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 352+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 544(%rsp),%xmm2
- pand 544+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 480(%rsp),%xmm2
- pand 480+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 320(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 320+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 512(%rsp),%xmm2
- pand 512+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
-.Ladd_doneq:
- leaq 576+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_addq_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_add,.-ecp_nistz256_point_add
-.globl ecp_nistz256_point_add_affine
-.type ecp_nistz256_point_add_affine,@function
-.align 32
-ecp_nistz256_point_add_affine:
-.cfi_startproc
- movl $0x80100,%ecx
- andl OPENSSL_ia32cap_P+8(%rip),%ecx
- cmpl $0x80100,%ecx
- je .Lpoint_add_affinex
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $480+8,%rsp
-.cfi_adjust_cfa_offset 32*15+8
-.Ladd_affineq_body:
-
- movdqu 0(%rsi),%xmm0
- movq %rdx,%rbx
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq 64+0(%rsi),%rax
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,320(%rsp)
- movdqa %xmm1,320+16(%rsp)
- movdqa %xmm2,352(%rsp)
- movdqa %xmm3,352+16(%rsp)
- movdqa %xmm4,384(%rsp)
- movdqa %xmm5,384+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rbx),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rbx),%xmm1
- movdqu 32(%rbx),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rbx),%xmm3
- movdqa %xmm0,416(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,416+16(%rsp)
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
- movdqa %xmm2,448(%rsp)
- movdqa %xmm3,448+16(%rsp)
- por %xmm2,%xmm3
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm1,%xmm3
-
- leaq 64-0(%rsi),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm3,%xmm4
- movq 0(%rbx),%rax
-
- movq %r12,%r9
- por %xmm3,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- movq %r13,%r10
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- movq %r14,%r11
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
-
- leaq 32-0(%rsp),%rsi
- movq %r15,%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 320(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 384(%rsp),%rax
- leaq 384(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 384(%rsp),%rax
- leaq 384(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 448(%rsp),%rax
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq 0+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 352(%rsp),%rbx
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 0+64(%rsp),%rax
- movq 8+64(%rsp),%r14
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 0+96(%rsp),%rax
- movq 8+96(%rsp),%r14
- leaq 0+96(%rsp),%rsi
- movq 16+96(%rsp),%r15
- movq 24+96(%rsp),%r8
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_sqr_montq
-
- movq 128(%rsp),%rax
- leaq 128(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 320(%rsp),%rax
- leaq 320(%rsp),%rbx
- movq 0+128(%rsp),%r9
- movq 8+128(%rsp),%r10
- leaq 0+128(%rsp),%rsi
- movq 16+128(%rsp),%r11
- movq 24+128(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 192(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subq
-
- leaq 160(%rsp),%rbx
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 64(%rsp),%rdi
-
- call __ecp_nistz256_subq
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 352(%rsp),%rax
- leaq 352(%rsp),%rbx
- movq 0+160(%rsp),%r9
- movq 8+160(%rsp),%r10
- leaq 0+160(%rsp),%rsi
- movq 16+160(%rsp),%r11
- movq 24+160(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- movq 96(%rsp),%rax
- leaq 96(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq 0+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_mul_montq
-
- leaq 32(%rsp),%rbx
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_sub_fromq
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand .LONE_mont(%rip),%xmm2
- pand .LONE_mont+16(%rip),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 224(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 224+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 320(%rsp),%xmm2
- pand 320+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 256(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 256+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 352(%rsp),%xmm2
- pand 352+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
- leaq 480+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Ladd_affineq_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_add_affine,.-ecp_nistz256_point_add_affine
-.type __ecp_nistz256_add_tox,@function
-.align 32
-__ecp_nistz256_add_tox:
- xorq %r11,%r11
- adcq 0(%rbx),%r12
- adcq 8(%rbx),%r13
- movq %r12,%rax
- adcq 16(%rbx),%r8
- adcq 24(%rbx),%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- xorq %r10,%r10
- sbbq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_add_tox,.-__ecp_nistz256_add_tox
-
-.type __ecp_nistz256_sub_fromx,@function
-.align 32
-__ecp_nistz256_sub_fromx:
- xorq %r11,%r11
- sbbq 0(%rbx),%r12
- sbbq 8(%rbx),%r13
- movq %r12,%rax
- sbbq 16(%rbx),%r8
- sbbq 24(%rbx),%r9
- movq %r13,%rbp
- sbbq $0,%r11
-
- xorq %r10,%r10
- adcq $-1,%r12
- movq %r8,%rcx
- adcq %r14,%r13
- adcq $0,%r8
- movq %r9,%r10
- adcq %r15,%r9
-
- btq $0,%r11
- cmovncq %rax,%r12
- cmovncq %rbp,%r13
- movq %r12,0(%rdi)
- cmovncq %rcx,%r8
- movq %r13,8(%rdi)
- cmovncq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_sub_fromx,.-__ecp_nistz256_sub_fromx
-
-.type __ecp_nistz256_subx,@function
-.align 32
-__ecp_nistz256_subx:
- xorq %r11,%r11
- sbbq %r12,%rax
- sbbq %r13,%rbp
- movq %rax,%r12
- sbbq %r8,%rcx
- sbbq %r9,%r10
- movq %rbp,%r13
- sbbq $0,%r11
-
- xorq %r9,%r9
- adcq $-1,%rax
- movq %rcx,%r8
- adcq %r14,%rbp
- adcq $0,%rcx
- movq %r10,%r9
- adcq %r15,%r10
-
- btq $0,%r11
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- cmovcq %rcx,%r8
- cmovcq %r10,%r9
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_subx,.-__ecp_nistz256_subx
-
-.type __ecp_nistz256_mul_by_2x,@function
-.align 32
-__ecp_nistz256_mul_by_2x:
- xorq %r11,%r11
- adcq %r12,%r12
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- xorq %r10,%r10
- sbbq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- cmovcq %rbp,%r13
- movq %r12,0(%rdi)
- cmovcq %rcx,%r8
- movq %r13,8(%rdi)
- cmovcq %r10,%r9
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
-
- .byte 0xf3,0xc3
-.size __ecp_nistz256_mul_by_2x,.-__ecp_nistz256_mul_by_2x
-.type ecp_nistz256_point_doublex,@function
-.align 32
-ecp_nistz256_point_doublex:
-.cfi_startproc
-.Lpoint_doublex:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $160+8,%rsp
-.cfi_adjust_cfa_offset 32*5+8
-.Lpoint_doublex_body:
-
-.Lpoint_double_shortcutx:
- movdqu 0(%rsi),%xmm0
- movq %rsi,%rbx
- movdqu 16(%rsi),%xmm1
- movq 32+0(%rsi),%r12
- movq 32+8(%rsi),%r13
- movq 32+16(%rsi),%r8
- movq 32+24(%rsi),%r9
- movq .Lpoly+8(%rip),%r14
- movq .Lpoly+24(%rip),%r15
- movdqa %xmm0,96(%rsp)
- movdqa %xmm1,96+16(%rsp)
- leaq 32(%rdi),%r10
- leaq 64(%rdi),%r11
-.byte 102,72,15,110,199
-.byte 102,73,15,110,202
-.byte 102,73,15,110,211
-
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_by_2x
-
- movq 64+0(%rsi),%rdx
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- leaq 64-128(%rsi),%rsi
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 0+0(%rsp),%rdx
- movq 8+0(%rsp),%r14
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 32(%rbx),%rdx
- movq 64+0(%rbx),%r9
- movq 64+8(%rbx),%r10
- movq 64+16(%rbx),%r11
- movq 64+24(%rbx),%r12
- leaq 64-128(%rbx),%rsi
- leaq 32(%rbx),%rbx
-.byte 102,72,15,126,215
- call __ecp_nistz256_mul_montx
- call __ecp_nistz256_mul_by_2x
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_tox
-
- movq 96+0(%rsp),%r12
- movq 96+8(%rsp),%r13
- leaq 64(%rsp),%rbx
- movq 96+16(%rsp),%r8
- movq 96+24(%rsp),%r9
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 0+0(%rsp),%rdx
- movq 8+0(%rsp),%r14
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
-.byte 102,72,15,126,207
- call __ecp_nistz256_sqr_montx
- xorq %r9,%r9
- movq %r12,%rax
- addq $-1,%r12
- movq %r13,%r10
- adcq %rsi,%r13
- movq %r14,%rcx
- adcq $0,%r14
- movq %r15,%r8
- adcq %rbp,%r15
- adcq $0,%r9
- xorq %rsi,%rsi
- testq $1,%rax
-
- cmovzq %rax,%r12
- cmovzq %r10,%r13
- cmovzq %rcx,%r14
- cmovzq %r8,%r15
- cmovzq %rsi,%r9
-
- movq %r13,%rax
- shrq $1,%r12
- shlq $63,%rax
- movq %r14,%r10
- shrq $1,%r13
- orq %rax,%r12
- shlq $63,%r10
- movq %r15,%rcx
- shrq $1,%r14
- orq %r10,%r13
- shlq $63,%rcx
- movq %r12,0(%rdi)
- shrq $1,%r15
- movq %r13,8(%rdi)
- shlq $63,%r9
- orq %rcx,%r14
- orq %r9,%r15
- movq %r14,16(%rdi)
- movq %r15,24(%rdi)
- movq 64(%rsp),%rdx
- leaq 64(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2x
-
- leaq 32(%rsp),%rbx
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_add_tox
-
- movq 96(%rsp),%rdx
- leaq 96(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_by_2x
-
- movq 0+32(%rsp),%rdx
- movq 8+32(%rsp),%r14
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r15
- movq 24+32(%rsp),%r8
-.byte 102,72,15,126,199
- call __ecp_nistz256_sqr_montx
-
- leaq 128(%rsp),%rbx
- movq %r14,%r8
- movq %r15,%r9
- movq %rsi,%r14
- movq %rbp,%r15
- call __ecp_nistz256_sub_fromx
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_subx
-
- movq 32(%rsp),%rdx
- leaq 32(%rsp),%rbx
- movq %r12,%r14
- xorl %ecx,%ecx
- movq %r12,0+0(%rsp)
- movq %r13,%r10
- movq %r13,0+8(%rsp)
- cmovzq %r8,%r11
- movq %r8,0+16(%rsp)
- leaq 0-128(%rsp),%rsi
- cmovzq %r9,%r12
- movq %r9,0+24(%rsp)
- movq %r14,%r9
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
-.byte 102,72,15,126,203
-.byte 102,72,15,126,207
- call __ecp_nistz256_sub_fromx
-
- leaq 160+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_doublex_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_doublex,.-ecp_nistz256_point_doublex
-.type ecp_nistz256_point_addx,@function
-.align 32
-ecp_nistz256_point_addx:
-.cfi_startproc
-.Lpoint_addx:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $576+8,%rsp
-.cfi_adjust_cfa_offset 32*18+8
-.Lpoint_addx_body:
-
- movdqu 0(%rsi),%xmm0
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq %rsi,%rbx
- movq %rdx,%rsi
- movdqa %xmm0,384(%rsp)
- movdqa %xmm1,384+16(%rsp)
- movdqa %xmm2,416(%rsp)
- movdqa %xmm3,416+16(%rsp)
- movdqa %xmm4,448(%rsp)
- movdqa %xmm5,448+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rsi),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rsi),%xmm3
- movq 64+0(%rsi),%rdx
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,480(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,480+16(%rsp)
- movdqu 64(%rsi),%xmm0
- movdqu 80(%rsi),%xmm1
- movdqa %xmm2,512(%rsp)
- movdqa %xmm3,512+16(%rsp)
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
-
- leaq 64-128(%rsi),%rsi
- movq %rdx,544+0(%rsp)
- movq %r14,544+8(%rsp)
- movq %r15,544+16(%rsp)
- movq %r8,544+24(%rsp)
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm1,%xmm4
- por %xmm1,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
- movq 64+0(%rbx),%rdx
- movq 64+8(%rbx),%r14
- movq 64+16(%rbx),%r15
- movq 64+24(%rbx),%r8
-.byte 102,72,15,110,203
-
- leaq 64-128(%rbx),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 544(%rsp),%rdx
- leaq 544(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq -128+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 448(%rsp),%rdx
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 416(%rsp),%rdx
- leaq 416(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq -128+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 512(%rsp),%rdx
- leaq 512(%rsp),%rbx
- movq 0+256(%rsp),%r9
- movq 8+256(%rsp),%r10
- leaq -128+256(%rsp),%rsi
- movq 16+256(%rsp),%r11
- movq 24+256(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 224(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- orq %r13,%r12
- movdqa %xmm4,%xmm2
- orq %r8,%r12
- orq %r9,%r12
- por %xmm5,%xmm2
-.byte 102,73,15,110,220
-
- movq 384(%rsp),%rdx
- leaq 384(%rsp),%rbx
- movq 0+96(%rsp),%r9
- movq 8+96(%rsp),%r10
- leaq -128+96(%rsp),%rsi
- movq 16+96(%rsp),%r11
- movq 24+96(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 480(%rsp),%rdx
- leaq 480(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 160(%rsp),%rbx
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- orq %r13,%r12
- orq %r8,%r12
- orq %r9,%r12
-
-.byte 0x3e
- jnz .Ladd_proceedx
-.byte 102,73,15,126,208
-.byte 102,73,15,126,217
- testq %r8,%r8
- jnz .Ladd_proceedx
- testq %r9,%r9
- jz .Ladd_doublex
-
-.byte 102,72,15,126,199
- pxor %xmm0,%xmm0
- movdqu %xmm0,0(%rdi)
- movdqu %xmm0,16(%rdi)
- movdqu %xmm0,32(%rdi)
- movdqu %xmm0,48(%rdi)
- movdqu %xmm0,64(%rdi)
- movdqu %xmm0,80(%rdi)
- jmp .Ladd_donex
-
-.align 32
-.Ladd_doublex:
-.byte 102,72,15,126,206
-.byte 102,72,15,126,199
- addq $416,%rsp
- jmp .Lpoint_double_shortcutx
-
-.align 32
-.Ladd_proceedx:
- movq 0+64(%rsp),%rdx
- movq 8+64(%rsp),%r14
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 448(%rsp),%rdx
- leaq 448(%rsp),%rbx
- movq 0+0(%rsp),%r9
- movq 8+0(%rsp),%r10
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r11
- movq 24+0(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 0+0(%rsp),%rdx
- movq 8+0(%rsp),%r14
- leaq -128+0(%rsp),%rsi
- movq 16+0(%rsp),%r15
- movq 24+0(%rsp),%r8
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 544(%rsp),%rdx
- leaq 544(%rsp),%rbx
- movq 0+352(%rsp),%r9
- movq 8+352(%rsp),%r10
- leaq -128+352(%rsp),%rsi
- movq 16+352(%rsp),%r11
- movq 24+352(%rsp),%r12
- leaq 352(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 0(%rsp),%rdx
- leaq 0(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 160(%rsp),%rdx
- leaq 160(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 96(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subx
-
- leaq 128(%rsp),%rbx
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 192+0(%rsp),%rax
- movq 192+8(%rsp),%rbp
- movq 192+16(%rsp),%rcx
- movq 192+24(%rsp),%r10
- leaq 320(%rsp),%rdi
-
- call __ecp_nistz256_subx
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 128(%rsp),%rdx
- leaq 128(%rsp),%rbx
- movq 0+224(%rsp),%r9
- movq 8+224(%rsp),%r10
- leaq -128+224(%rsp),%rsi
- movq 16+224(%rsp),%r11
- movq 24+224(%rsp),%r12
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 320(%rsp),%rdx
- leaq 320(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 256(%rsp),%rbx
- leaq 320(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 352(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 352+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 544(%rsp),%xmm2
- pand 544+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 480(%rsp),%xmm2
- pand 480+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 320(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 320+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 512(%rsp),%xmm2
- pand 512+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
-.Ladd_donex:
- leaq 576+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Lpoint_addx_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_addx,.-ecp_nistz256_point_addx
-.type ecp_nistz256_point_add_affinex,@function
-.align 32
-ecp_nistz256_point_add_affinex:
-.cfi_startproc
-.Lpoint_add_affinex:
- pushq %rbp
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbp,-16
- pushq %rbx
-.cfi_adjust_cfa_offset 8
-.cfi_offset %rbx,-24
- pushq %r12
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r12,-32
- pushq %r13
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r13,-40
- pushq %r14
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r14,-48
- pushq %r15
-.cfi_adjust_cfa_offset 8
-.cfi_offset %r15,-56
- subq $480+8,%rsp
-.cfi_adjust_cfa_offset 32*15+8
-.Ladd_affinex_body:
-
- movdqu 0(%rsi),%xmm0
- movq %rdx,%rbx
- movdqu 16(%rsi),%xmm1
- movdqu 32(%rsi),%xmm2
- movdqu 48(%rsi),%xmm3
- movdqu 64(%rsi),%xmm4
- movdqu 80(%rsi),%xmm5
- movq 64+0(%rsi),%rdx
- movq 64+8(%rsi),%r14
- movq 64+16(%rsi),%r15
- movq 64+24(%rsi),%r8
- movdqa %xmm0,320(%rsp)
- movdqa %xmm1,320+16(%rsp)
- movdqa %xmm2,352(%rsp)
- movdqa %xmm3,352+16(%rsp)
- movdqa %xmm4,384(%rsp)
- movdqa %xmm5,384+16(%rsp)
- por %xmm4,%xmm5
-
- movdqu 0(%rbx),%xmm0
- pshufd $0xb1,%xmm5,%xmm3
- movdqu 16(%rbx),%xmm1
- movdqu 32(%rbx),%xmm2
- por %xmm3,%xmm5
- movdqu 48(%rbx),%xmm3
- movdqa %xmm0,416(%rsp)
- pshufd $0x1e,%xmm5,%xmm4
- movdqa %xmm1,416+16(%rsp)
- por %xmm0,%xmm1
-.byte 102,72,15,110,199
- movdqa %xmm2,448(%rsp)
- movdqa %xmm3,448+16(%rsp)
- por %xmm2,%xmm3
- por %xmm4,%xmm5
- pxor %xmm4,%xmm4
- por %xmm1,%xmm3
-
- leaq 64-128(%rsi),%rsi
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- pcmpeqd %xmm4,%xmm5
- pshufd $0xb1,%xmm3,%xmm4
- movq 0(%rbx),%rdx
-
- movq %r12,%r9
- por %xmm3,%xmm4
- pshufd $0,%xmm5,%xmm5
- pshufd $0x1e,%xmm4,%xmm3
- movq %r13,%r10
- por %xmm3,%xmm4
- pxor %xmm3,%xmm3
- movq %r14,%r11
- pcmpeqd %xmm3,%xmm4
- pshufd $0,%xmm4,%xmm4
-
- leaq 32-128(%rsp),%rsi
- movq %r15,%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 320(%rsp),%rbx
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 384(%rsp),%rdx
- leaq 384(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 384(%rsp),%rdx
- leaq 384(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 288(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 448(%rsp),%rdx
- leaq 448(%rsp),%rbx
- movq 0+32(%rsp),%r9
- movq 8+32(%rsp),%r10
- leaq -128+32(%rsp),%rsi
- movq 16+32(%rsp),%r11
- movq 24+32(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 352(%rsp),%rbx
- leaq 96(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 0+64(%rsp),%rdx
- movq 8+64(%rsp),%r14
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r15
- movq 24+64(%rsp),%r8
- leaq 128(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 0+96(%rsp),%rdx
- movq 8+96(%rsp),%r14
- leaq -128+96(%rsp),%rsi
- movq 16+96(%rsp),%r15
- movq 24+96(%rsp),%r8
- leaq 192(%rsp),%rdi
- call __ecp_nistz256_sqr_montx
-
- movq 128(%rsp),%rdx
- leaq 128(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 160(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 320(%rsp),%rdx
- leaq 320(%rsp),%rbx
- movq 0+128(%rsp),%r9
- movq 8+128(%rsp),%r10
- leaq -128+128(%rsp),%rsi
- movq 16+128(%rsp),%r11
- movq 24+128(%rsp),%r12
- leaq 0(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
-
-
-
- xorq %r11,%r11
- addq %r12,%r12
- leaq 192(%rsp),%rsi
- adcq %r13,%r13
- movq %r12,%rax
- adcq %r8,%r8
- adcq %r9,%r9
- movq %r13,%rbp
- adcq $0,%r11
-
- subq $-1,%r12
- movq %r8,%rcx
- sbbq %r14,%r13
- sbbq $0,%r8
- movq %r9,%r10
- sbbq %r15,%r9
- sbbq $0,%r11
-
- cmovcq %rax,%r12
- movq 0(%rsi),%rax
- cmovcq %rbp,%r13
- movq 8(%rsi),%rbp
- cmovcq %rcx,%r8
- movq 16(%rsi),%rcx
- cmovcq %r10,%r9
- movq 24(%rsi),%r10
-
- call __ecp_nistz256_subx
-
- leaq 160(%rsp),%rbx
- leaq 224(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
- movq 0+0(%rsp),%rax
- movq 0+8(%rsp),%rbp
- movq 0+16(%rsp),%rcx
- movq 0+24(%rsp),%r10
- leaq 64(%rsp),%rdi
-
- call __ecp_nistz256_subx
-
- movq %r12,0(%rdi)
- movq %r13,8(%rdi)
- movq %r8,16(%rdi)
- movq %r9,24(%rdi)
- movq 352(%rsp),%rdx
- leaq 352(%rsp),%rbx
- movq 0+160(%rsp),%r9
- movq 8+160(%rsp),%r10
- leaq -128+160(%rsp),%rsi
- movq 16+160(%rsp),%r11
- movq 24+160(%rsp),%r12
- leaq 32(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- movq 96(%rsp),%rdx
- leaq 96(%rsp),%rbx
- movq 0+64(%rsp),%r9
- movq 8+64(%rsp),%r10
- leaq -128+64(%rsp),%rsi
- movq 16+64(%rsp),%r11
- movq 24+64(%rsp),%r12
- leaq 64(%rsp),%rdi
- call __ecp_nistz256_mul_montx
-
- leaq 32(%rsp),%rbx
- leaq 256(%rsp),%rdi
- call __ecp_nistz256_sub_fromx
-
-.byte 102,72,15,126,199
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 288(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 288+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand .LONE_mont(%rip),%xmm2
- pand .LONE_mont+16(%rip),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 384(%rsp),%xmm2
- pand 384+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,64(%rdi)
- movdqu %xmm3,80(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 224(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 224+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 416(%rsp),%xmm2
- pand 416+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 320(%rsp),%xmm2
- pand 320+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,0(%rdi)
- movdqu %xmm3,16(%rdi)
-
- movdqa %xmm5,%xmm0
- movdqa %xmm5,%xmm1
- pandn 256(%rsp),%xmm0
- movdqa %xmm5,%xmm2
- pandn 256+16(%rsp),%xmm1
- movdqa %xmm5,%xmm3
- pand 448(%rsp),%xmm2
- pand 448+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
-
- movdqa %xmm4,%xmm0
- movdqa %xmm4,%xmm1
- pandn %xmm2,%xmm0
- movdqa %xmm4,%xmm2
- pandn %xmm3,%xmm1
- movdqa %xmm4,%xmm3
- pand 352(%rsp),%xmm2
- pand 352+16(%rsp),%xmm3
- por %xmm0,%xmm2
- por %xmm1,%xmm3
- movdqu %xmm2,32(%rdi)
- movdqu %xmm3,48(%rdi)
-
- leaq 480+56(%rsp),%rsi
-.cfi_def_cfa %rsi,8
- movq -48(%rsi),%r15
-.cfi_restore %r15
- movq -40(%rsi),%r14
-.cfi_restore %r14
- movq -32(%rsi),%r13
-.cfi_restore %r13
- movq -24(%rsi),%r12
-.cfi_restore %r12
- movq -16(%rsi),%rbx
-.cfi_restore %rbx
- movq -8(%rsi),%rbp
-.cfi_restore %rbp
- leaq (%rsi),%rsp
-.cfi_def_cfa_register %rsp
-.Ladd_affinex_epilogue:
- .byte 0xf3,0xc3
-.cfi_endproc
-.size ecp_nistz256_point_add_affinex,.-ecp_nistz256_point_add_affinex
diff --git a/third_party/openssl-nistz256-amd64/measurements.txt b/third_party/openssl-nistz256-amd64/measurements.txt
deleted file mode 100644
index 95c93a18e..000000000
--- a/third_party/openssl-nistz256-amd64/measurements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-644 =644*2.60/2.60 ashryn-noht-notb-ac-broadwell 7.1.1 e014b3ac+
-1241 =1980*2.20/3.51 jgross-Leopard-WS-noht-notb-nops-haswell 5.4.0 6888031+
-1734 =1739*3.50/3.51 jgross-Leopard-WS-ht-tb-nops-haswell 5.4.0 6888031+
diff --git a/third_party/openssl-nistz256-amd64/nistz256.h b/third_party/openssl-nistz256-amd64/nistz256.h
deleted file mode 100644
index 623695747..000000000
--- a/third_party/openssl-nistz256-amd64/nistz256.h
+++ /dev/null
@@ -1,14 +0,0 @@
-typedef struct {
- uint64_t X[4];
- uint64_t Y[4];
- uint64_t Z[4];
-} P256_POINT;
-
-typedef struct {
- uint64_t X[4];
- uint64_t Y[4];
-} P256_POINT_AFFINE;
-
-void ecp_nistz256_point_add_affine(P256_POINT *r,
- const P256_POINT *a,
- const P256_POINT_AFFINE *b);